lepton-eda-1.9.10/0000755000175000017500000000000013634704612010641 500000000000000lepton-eda-1.9.10/CONTRIBUTING.md0000644000175000017500000001244313634703632013017 00000000000000# Contributing to Lepton Thank you for your interest in helping to make Lepton better! There are many ways that you can make a difference. If you have any questions, you can jump into the Lepton [Gitter channel](https://gitter.im/Lepton-EDA/Lobby) or get in touch via the [geda-user mailing list](http://www.delorie.com/listserv/). Please remember that all contributors are expected to follow our [Code of Conduct](CODE_OF_CONDUCT.md). ## Bug reports Bugs are unfortunate, but they happen sometimes. We can't fix a bug if we don't know about it, so please report any bug you come across. Please feel free to file bug even if you're not sure if the behaviour you're seeing is actually a bug or not. If you have the chance, before reporting a bug, please [search existing issues](https://github.com/lepton-eda/lepton-eda/search?utf8=%E2%9C%93&q=&type=Issues), because someone else may have already reported your error. Sometimes it's hard to know exactly what to search for, and sometimes the search doesn't show relevant results, so we don't mind if you accidentally file a duplicate report. You can open a new issue by following [this link](https://github.com/lepton-eda/lepton-eda/issues/new) and filling in the fields. A bug report might look something like the following template, but it's okay not to follow it exactly: I was trying to do this: I expected to see this happen: Instead, this happened: I am running this version of Lepton: Here is the related log output: ... The most important things to include are: 1) what you did, 2) what you expected, and 3) what happened instead. Please include the output of `lepton-cli --version`, which includes important information about exactly what version of Lepton you are using. Sometimes, there are log messages that are related to the problem; including them in your report is very helpful! ## Pull Requests Pull requests are the main way that changes to Lepton are accepted. GitHub has some [detailed documentation](https://help.github.com/articles/about-pull-requests) on the use of Pull Requests. Please make pull requests against the `master` branch. Before opening a pull request, please make sure that `make distcheck` is successful with your changes. This `make` target will create release tarball, compile Lepton from the release tarball, run all tests, and make sure that Lepton can be cleanly installed and uninstalled. It takes a long time to run; during normal development, `make check` will run almost all of the tests. All pull requests are reviewed by another person. Most proposed changes Lepton will require some revisions before they're accepted. The feedback left by reviewers is intended to make sure that Lepton continues to be high quality, stable and reliable software for all its users. ## Tips for successful pull requests Some general suggestions: - If your changes are extensive, try to split them up into a series of small, logical steps, and use a separate git commit for each - Write [clear, explanatory commit messages](https://chris.beams.io/posts/git-commit/) - Provide updated tests and documentation - Do not leave trailing spaces in edited files When writing C code: - Do not use C++-style comments `// ...`; use C-style `/* ... */` comments instead. - This set of options to GNU `indent` approximates the lepton-eda C indentation style: (note the `-nut` option, which disables the use of tab characters: please use spaces for code indentation) -br -blf -bls -cdw -ce -cs -ts2 -sc -nut -bap -pcs -psl -lp l80 -bbo When writing Scheme code: - When you need to iterate over a list, it's often clearer to use [`map`, `for-each`](http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_idx_558) or [SRFI-1 `fold`](http://www.gnu.org/software/guile/manual/html_node/SRFI_002d1-Fold-and-Map.html#index-fold-3609) than to use a recursive function. - Predicate functions, i.e. functions that test something, should have names ending in `?`, e.g. `object?`; destructive functions, that modify one of their arguments or global state, should have names ending in `!`, e.g. `set-config!`. When implementing such a functions in `C`, please follow the naming convention: for Scheme names with `?`, corresponding C functions' names should have `_p` suffix (e.g. `object_p`), for Scheme names with `!` - `_x` suffix (e.g. `set_config_x`). - When defining a function please use the ["implicit `define`" form](http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-8.html#%_sec_5.2): (define ( ) ) - Code that uses `format` to format strings is usually a lot clearer than a `string-append`, `display` and `newline`. You can always use the [Guile `(ice-9 format)` library](http://www.gnu.org/software/guile/manual/html_node/Writing.html#index-simple_002dformat-2052). When writing Makefile code: - Do not use `$<` ("implied source") variable in explicit rules. In implementations of `make` other than GNU, it may be defined only in implicit (i.e. suffix-transformation) rules. - When defining a makefile variable that contain a long list of files, put each file name on its own line. lepton-eda-1.9.10/COPYING0000644000175000017500000004310313634703632011616 00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 Lesser 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 Lesser General Public License instead of this License. lepton-eda-1.9.10/build-tools/0000755000175000017500000000000013634704612013076 500000000000000lepton-eda-1.9.10/build-tools/test-driver0000755000175000017500000001104213634703712015212 00000000000000#! /bin/sh # test-driver - basic testsuite driver script. scriptversion=2018-03-07.03; # UTC # Copyright (C) 2011-2018 Free Software Foundation, Inc. # # 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, 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 . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . # Make unconditional expansion of undefined variables an error. This # helps a lot in preventing typo-related bugs. set -u usage_error () { echo "$0: $*" >&2 print_usage >&2 exit 2 } print_usage () { cat <$log_file 2>&1 estatus=$? if test $enable_hard_errors = no && test $estatus -eq 99; then tweaked_estatus=1 else tweaked_estatus=$estatus fi case $tweaked_estatus:$expect_failure in 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; 0:*) col=$grn res=PASS recheck=no gcopy=no;; 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; *:*) col=$red res=FAIL recheck=yes gcopy=yes;; esac # Report the test outcome and exit status in the logs, so that one can # know whether the test passed or failed simply by looking at the '.log' # file, without the need of also peaking into the corresponding '.trs' # file (automake bug#11814). echo "$res $test_name (exit status: $estatus)" >>$log_file # Report outcome to console. echo "${col}${res}${std}: $test_name" # Register the test result, and other relevant metadata. echo ":test-result: $res" > $trs_file echo ":global-test-result: $res" >> $trs_file echo ":recheck: $recheck" >> $trs_file echo ":copy-in-global-log: $gcopy" >> $trs_file # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: lepton-eda-1.9.10/build-tools/missing0000755000175000017500000001533613634703703014425 00000000000000#! /bin/sh # Common wrapper for a few potentially missing GNU programs. scriptversion=2018-03-07.03; # UTC # Copyright (C) 1996-2018 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # 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, 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 . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try '$0 --help' for more information" exit 1 fi case $1 in --is-lightweight) # Used by our autoconf macros to check whether the available missing # script is modern enough. exit 0 ;; --run) # Back-compat with the calling convention used by older automake. shift ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit Supported PROGRAM values: aclocal autoconf autoheader autom4te automake makeinfo bison yacc flex lex help2man Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: unknown '$1' option" echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac # Run the given program, remember its exit status. "$@"; st=$? # If it succeeded, we are done. test $st -eq 0 && exit 0 # Also exit now if we it failed (or wasn't found), and '--version' was # passed; such an option is passed most likely to detect whether the # program is present and works. case $2 in --version|--help) exit $st;; esac # Exit code 63 means version mismatch. This often happens when the user # tries to use an ancient version of a tool on a file that requires a # minimum version. if test $st -eq 63; then msg="probably too old" elif test $st -eq 127; then # Program was missing. msg="missing on your system" else # Program was found and executed, but failed. Give up. exit $st fi perl_URL=https://www.perl.org/ flex_URL=https://github.com/westes/flex gnu_software_URL=https://www.gnu.org/software program_details () { case $1 in aclocal|automake) echo "The '$1' program is part of the GNU Automake package:" echo "<$gnu_software_URL/automake>" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/autoconf>" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; autoconf|autom4te|autoheader) echo "The '$1' program is part of the GNU Autoconf package:" echo "<$gnu_software_URL/autoconf/>" echo "It also requires GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; esac } give_advice () { # Normalize program name to check for. normalized_program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` printf '%s\n' "'$1' is $msg." configure_deps="'configure.ac' or m4 files included by 'configure.ac'" case $normalized_program in autoconf*) echo "You should only need it if you modified 'configure.ac'," echo "or m4 files included by it." program_details 'autoconf' ;; autoheader*) echo "You should only need it if you modified 'acconfig.h' or" echo "$configure_deps." program_details 'autoheader' ;; automake*) echo "You should only need it if you modified 'Makefile.am' or" echo "$configure_deps." program_details 'automake' ;; aclocal*) echo "You should only need it if you modified 'acinclude.m4' or" echo "$configure_deps." program_details 'aclocal' ;; autom4te*) echo "You might have modified some maintainer files that require" echo "the 'autom4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) echo "You should only need it if you modified a '.y' file." echo "You may want to install the GNU Bison package:" echo "<$gnu_software_URL/bison/>" ;; lex*|flex*) echo "You should only need it if you modified a '.l' file." echo "You may want to install the Fast Lexical Analyzer package:" echo "<$flex_URL>" ;; help2man*) echo "You should only need it if you modified a dependency" \ "of a man page." echo "You may want to install the GNU Help2man package:" echo "<$gnu_software_URL/help2man/>" ;; makeinfo*) echo "You should only need it if you modified a '.texi' file, or" echo "any other file indirectly affecting the aspect of the manual." echo "You might want to install the Texinfo package:" echo "<$gnu_software_URL/texinfo/>" echo "The spurious makeinfo call might also be the consequence of" echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" echo "want to install GNU make:" echo "<$gnu_software_URL/make/>" ;; *) echo "You might have modified some files without having the proper" echo "tools for further handling them. Check the 'README' file, it" echo "often tells you about the needed prerequisites for installing" echo "this package. You may also peek at any GNU archive site, in" echo "case some other package contains this missing '$1' program." ;; esac } give_advice "$1" | sed -e '1s/^/WARNING: /' \ -e '2,$s/^/ /' >&2 # Propagate the correct exit status (expected to be 127 for a program # not found, 63 for a program that failed due to version mismatch). exit $st # Local variables: # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: lepton-eda-1.9.10/build-tools/compile0000755000175000017500000001632713634703703014405 00000000000000#! /bin/sh # Wrapper for compilers which do not understand '-c -o'. scriptversion=2018-03-07.03; # UTC # Copyright (C) 1999-2018 Free Software Foundation, Inc. # Written by Tom Tromey . # # 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, 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 . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' # We need space, tab and new line, in precisely that order. Quoting is # there to prevent tools from complaining about whitespace usage. IFS=" "" $nl" file_conv= # func_file_conv build_file lazy # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion # type is listed in (the comma separated) LAZY, no conversion will # take place. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv/,$2, in *,$file_conv,*) ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_cl_dashL linkdir # Make cl look for libraries in LINKDIR func_cl_dashL () { func_file_conv "$1" if test -z "$lib_path"; then lib_path=$file else lib_path="$lib_path;$file" fi linker_opts="$linker_opts -LIBPATH:$file" } # func_cl_dashl library # Do a library search-path lookup for cl func_cl_dashl () { lib=$1 found=no save_IFS=$IFS IFS=';' for dir in $lib_path $LIB do IFS=$save_IFS if $shared && test -f "$dir/$lib.dll.lib"; then found=yes lib=$dir/$lib.dll.lib break fi if test -f "$dir/$lib.lib"; then found=yes lib=$dir/$lib.lib break fi if test -f "$dir/lib$lib.a"; then found=yes lib=$dir/lib$lib.a break fi done IFS=$save_IFS if test "$found" != yes; then lib=$lib.lib fi } # func_cl_wrapper cl arg... # Adjust compile command to suit cl func_cl_wrapper () { # Assume a capable shell lib_path= shared=: linker_opts= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in *.o | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift ;; *) func_file_conv "$2" set x "$@" -Fe"$file" shift ;; esac ;; -I) eat=1 func_file_conv "$2" mingw set x "$@" -I"$file" shift ;; -I*) func_file_conv "${1#-I}" mingw set x "$@" -I"$file" shift ;; -l) eat=1 func_cl_dashl "$2" set x "$@" "$lib" shift ;; -l*) func_cl_dashl "${1#-l}" set x "$@" "$lib" shift ;; -L) eat=1 func_cl_dashL "$2" ;; -L*) func_cl_dashL "${1#-L}" ;; -static) shared=false ;; -Wl,*) arg=${1#-Wl,} save_ifs="$IFS"; IFS=',' for flag in $arg; do IFS="$save_ifs" linker_opts="$linker_opts $flag" done IFS="$save_ifs" ;; -Xlinker) eat=1 linker_opts="$linker_opts $2" ;; -*) set x "$@" "$1" shift ;; *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) func_file_conv "$1" set x "$@" -Tp"$file" shift ;; *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) func_file_conv "$1" mingw set x "$@" "$file" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -n "$linker_opts"; then linker_opts="-link$linker_opts" fi exec "$@" $linker_opts exit 1 } eat= case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand '-c -o'. Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file 'INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac ofile= cfile= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: lepton-eda-1.9.10/build-tools/mdate-sh0000755000175000017500000001373213634703705014456 00000000000000#!/bin/sh # Get modification time of a file or directory and pretty-print it. scriptversion=2018-03-07.03; # UTC # Copyright (C) 1995-2018 Free Software Foundation, Inc. # written by Ulrich Drepper , June 1995 # # 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, 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 . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST fi case $1 in '') echo "$0: No file. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: mdate-sh [--help] [--version] FILE Pretty-print the modification day of FILE, in the format: 1 January 1970 Report bugs to . EOF exit $? ;; -v | --v*) echo "mdate-sh $scriptversion" exit $? ;; esac error () { echo "$0: $1" >&2 exit 1 } # Prevent date giving response in another language. LANG=C export LANG LC_ALL=C export LC_ALL LC_TIME=C export LC_TIME # Use UTC to get reproducible result. TZ=UTC0 export TZ # GNU ls changes its time format in response to the TIME_STYLE # variable. Since we cannot assume 'unset' works, revert this # variable to its documented default. if test "${TIME_STYLE+set}" = set; then TIME_STYLE=posix-long-iso export TIME_STYLE fi save_arg1=$1 # Find out how to get the extended ls output of a file or directory. if ls -L /dev/null 1>/dev/null 2>&1; then ls_command='ls -L -l -d' else ls_command='ls -l -d' fi # Avoid user/group names that might have spaces, when possible. if ls -n /dev/null 1>/dev/null 2>&1; then ls_command="$ls_command -n" fi # A 'ls -l' line looks as follows on OS/2. # drwxrwx--- 0 Aug 11 2001 foo # This differs from Unix, which adds ownership information. # drwxrwx--- 2 root root 4096 Aug 11 2001 foo # # To find the date, we split the line on spaces and iterate on words # until we find a month. This cannot work with files whose owner is a # user named "Jan", or "Feb", etc. However, it's unlikely that '/' # will be owned by a user whose name is a month. So we first look at # the extended ls output of the root directory to decide how many # words should be skipped to get the date. # On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below. set x`$ls_command /` # Find which argument is the month. month= command= until test $month do test $# -gt 0 || error "failed parsing '$ls_command /' output" shift # Add another shift to the command. command="$command shift;" case $1 in Jan) month=January; nummonth=1;; Feb) month=February; nummonth=2;; Mar) month=March; nummonth=3;; Apr) month=April; nummonth=4;; May) month=May; nummonth=5;; Jun) month=June; nummonth=6;; Jul) month=July; nummonth=7;; Aug) month=August; nummonth=8;; Sep) month=September; nummonth=9;; Oct) month=October; nummonth=10;; Nov) month=November; nummonth=11;; Dec) month=December; nummonth=12;; esac done test -n "$month" || error "failed parsing '$ls_command /' output" # Get the extended ls output of the file or directory. set dummy x`eval "$ls_command \"\\\$save_arg1\""` # Remove all preceding arguments eval $command # Because of the dummy argument above, month is in $2. # # On a POSIX system, we should have # # $# = 5 # $1 = file size # $2 = month # $3 = day # $4 = year or time # $5 = filename # # On Darwin 7.7.0 and 7.6.0, we have # # $# = 4 # $1 = day # $2 = month # $3 = year or time # $4 = filename # Get the month. case $2 in Jan) month=January; nummonth=1;; Feb) month=February; nummonth=2;; Mar) month=March; nummonth=3;; Apr) month=April; nummonth=4;; May) month=May; nummonth=5;; Jun) month=June; nummonth=6;; Jul) month=July; nummonth=7;; Aug) month=August; nummonth=8;; Sep) month=September; nummonth=9;; Oct) month=October; nummonth=10;; Nov) month=November; nummonth=11;; Dec) month=December; nummonth=12;; esac case $3 in ???*) day=$1;; *) day=$3; shift;; esac # Here we have to deal with the problem that the ls output gives either # the time of day or the year. case $3 in *:*) set `date`; eval year=\$$# case $2 in Jan) nummonthtod=1;; Feb) nummonthtod=2;; Mar) nummonthtod=3;; Apr) nummonthtod=4;; May) nummonthtod=5;; Jun) nummonthtod=6;; Jul) nummonthtod=7;; Aug) nummonthtod=8;; Sep) nummonthtod=9;; Oct) nummonthtod=10;; Nov) nummonthtod=11;; Dec) nummonthtod=12;; esac # For the first six month of the year the time notation can also # be used for files modified in the last year. if (expr $nummonth \> $nummonthtod) > /dev/null; then year=`expr $year - 1` fi;; *) year=$3;; esac # The result. echo $day $month $year # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: lepton-eda-1.9.10/build-tools/icon-theme-installer0000755000175000017500000001243213634703632016772 00000000000000#!/bin/sh # icon-theme-installer # Copyright (C) 2006 Novell, Inc. # Copyright (C) 2007-2015 gEDA Contributors # Copyright (C) 2019-2020 Lepton EDA Contributors # # Written by Aaron Bockover # Licensed under the MIT/X11 license # # Modified by Peter Clifton to allow icons with numerals in the filename # # This script is meant to be invoked from within a Makefile/Makefile.am # in the install-data-local and uninstall-data sections. It handles the # task of properly installing icons into the icon theme. It requires a # few arguments to set up its environment, and a list of files to be # installed. The format of the file list is critical: # # , # # apps,music-player-banshee.svg # apps,music-player-banshee-16.png # apps,music-player-banshee-22.png # # is the icon theme category, for instance, apps, devices, # actions, emblems... # # must have a basename in the form of: # # proper-theme-name[-]. # # Where should be either nothing, which will default to scalable # or \-[0-9]{2}, which will expand to x. For example: # # music-player-banshee-16.png # # The here is -16 and will expand to 16x16 per the icon theme spec # # What follows is an example Makefile.am for icon theme installation: # # --------------- # theme=hicolor # themedir=$(datadir)/icons/$(theme) # theme_icons = \ # apps,music-player-banshee.svg \ # apps,music-player-banshee-16.png \ # apps,music-player-banshee-22.png \ # apps,music-player-banshee-24.png \ # apps,music-player-banshee-32.png # # install_icon_exec = $(top_srcdir)/build/icon-theme-installer -t $(theme) -s $(srcdir) -d "x$(DESTDIR)" -b $(themedir) -m "$(mkinstalldirs)" -x "$(INSTALL_DATA)" # install-data-local: # $(install_icon_exec) -i $(theme_icons) # # uninstall-hook: # $(install_icon_exec) -u $(theme_icons) # # EXTRA_DIST = $(wildcard *.svg *.png) # --------------- # # Arguments to this program: # # -i : Install # -u : Uninstall # -t : Theme name (hicolor) # -b : Theme installation dest directory [x$(DESTDIR)] - Always prefix # this argument with x; it will be stripped but will act as a # placeholder for zero $DESTDIRs (only set by packagers) # -d : Theme installation directory [$(hicolordir)] # -s : Source directory [$(srcdir)] # -m : Command to exec for directory creation [$(mkinstalldirs)] # -x : Command to exec for single file installation [$(INSTALL_DATA)] # : All remainging should be category,filename pairs while getopts "iut:b:d:s:m:x:" flag; do case "$flag" in i) INSTALL=yes ;; u) UNINSTALL=yes ;; t) THEME_NAME=$OPTARG ;; d) INSTALL_DEST_DIR="`echo $OPTARG | sed 's;^x;;'`" ;; b) INSTALL_BASE_DIR=$OPTARG ;; s) SRC_DIR=$OPTARG ;; m) MKINSTALLDIRS_EXEC=$OPTARG ;; x) INSTALL_DATA_EXEC=$OPTARG ;; esac done shift `expr $OPTIND - 1` if test "x$INSTALL" = "xyes" -a "x$UNINSTALL" = "xyes"; then echo "Cannot pass both -i and -u" exit 1 elif test "x$INSTALL" = "x" -a "x$UNINSTALL" = "x"; then echo "Must path either -i or -u" exit 1 fi if test -z "$THEME_NAME"; then echo "Theme name required (-t hicolor)" exit 1 fi if test -z "$INSTALL_BASE_DIR"; then echo "Base theme directory required [-d \$(hicolordir)]" exit 1 fi if test -z "$MKINSTALLDIRS_EXEC"; then echo "\$MKINSTALLDIRS_EXEC is not set. Pass it with the -m command line option" exit 1 fi if test -z "$INSTALL_DATA_EXEC"; then echo "\$INSTALL_DATA_EXEC' is not set. Pass it with the -x command line option" exit 1 fi if test -z "$SRC_DIR"; then SRC_DIR=. fi for icon in $@; do size=`echo $icon | sed -n 's/.*-\([0-9]*\).*/\1/p'` category=`echo $icon | cut -d, -f1` build_name=`echo $icon | cut -d, -f2` install_name=`echo $build_name | sed 's/-[0-9][0-9]*//g'` install_name=`basename $install_name` if test -z $size; then size=scalable; else size=${size}x${size}; fi install_dir=${INSTALL_DEST_DIR}${INSTALL_BASE_DIR}/$size/$category install_path=$install_dir/$install_name if test "x$INSTALL" = "xyes"; then echo "Installing $size $install_name into $THEME_NAME icon theme" $MKINSTALLDIRS_EXEC $install_dir || { echo "Failed to create directory $install_dir" exit 1 } $INSTALL_DATA_EXEC $SRC_DIR/$build_name $install_path || { echo "Failed to install $SRC_DIR/$build_name into $install_path" exit 1 } if test ! -e $install_path; then echo "Failed to install $SRC_DIR/$build_name into $install_path" exit 1 fi else if test -e $install_path; then echo "Removing $size $install_name from $THEME_NAME icon theme" rm $install_path || { echo "Failed to remove $install_path" exit 1 } fi fi done gtk_update_icon_cache_bin="`(which gtk-update-icon-cache || echo /opt/gnome/bin/gtk-update-icon-cache)2>/dev/null`" gtk_update_icon_cache_bin="${GTK_UPDATE_ICON_CACHE_BIN:-$gtk_update_icon_cache_bin}" gtk_update_icon_cache="$gtk_update_icon_cache_bin -f -t $INSTALL_BASE_DIR" if test -z "$INSTALL_DEST_DIR"; then if test -x $gtk_update_icon_cache_bin; then echo "Updating GTK icon cache" $gtk_update_icon_cache else echo "*** Icon cache not updated. Could not execute $gtk_update_icon_cache_bin" fi else echo "*** Icon cache not updated. After install, run this:" echo "*** $gtk_update_icon_cache" fi lepton-eda-1.9.10/build-tools/ar-lib0000755000175000017500000001330313634703703014112 00000000000000#! /bin/sh # Wrapper for Microsoft lib.exe me=ar-lib scriptversion=2012-03-01.08; # UTC # Copyright (C) 2010-2018 Free Software Foundation, Inc. # Written by Peter Rosin . # # 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, 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 . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . # func_error message func_error () { echo "$me: $1" 1>&2 exit 1 } file_conv= # func_file_conv build_file # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv in mingw) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin) file=`cygpath -m "$file" || echo "$file"` ;; wine) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_at_file at_file operation archive # Iterate over all members in AT_FILE performing OPERATION on ARCHIVE # for each of them. # When interpreting the content of the @FILE, do NOT use func_file_conv, # since the user would need to supply preconverted file names to # binutils ar, at least for MinGW. func_at_file () { operation=$2 archive=$3 at_file_contents=`cat "$1"` eval set x "$at_file_contents" shift for member do $AR -NOLOGO $operation:"$member" "$archive" || exit $? done } case $1 in '') func_error "no command. Try '$0 --help' for more information." ;; -h | --h*) cat <. # # 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, 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 . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . get_dirname () { case $1 in */*|*\\*) printf '%s\n' "$1" | sed -e 's|\([\\/]\)[^\\/]*$|\1|';; # Otherwise, we want the empty string (not "."). esac } # guard FILE # ---------- # The CPP macro used to guard inclusion of FILE. guard () { printf '%s\n' "$1" \ | sed \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g' \ -e 's/__*/_/g' } # quote_for_sed [STRING] # ---------------------- # Return STRING (or stdin) quoted to be used as a sed pattern. quote_for_sed () { case $# in 0) cat;; 1) printf '%s\n' "$1";; esac \ | sed -e 's|[][\\.*]|\\&|g' } case "$1" in '') echo "$0: No files given. Try '$0 --help' for more information." 1>&2 exit 1 ;; --basedir) basedir=$2 shift 2 ;; -h|--h*) cat <<\EOF Usage: ylwrap [--help|--version] INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]... Wrapper for lex/yacc invocations, renaming files as desired. INPUT is the input file OUTPUT is one file PROG generates DESIRED is the file we actually want instead of OUTPUT PROGRAM is program to run ARGS are passed to PROG Any number of OUTPUT,DESIRED pairs may be used. Report bugs to . EOF exit $? ;; -v|--v*) echo "ylwrap $scriptversion" exit $? ;; esac # The input. input=$1 shift # We'll later need for a correct munging of "#line" directives. input_sub_rx=`get_dirname "$input" | quote_for_sed` case $input in [\\/]* | ?:[\\/]*) # Absolute path; do nothing. ;; *) # Relative path. Make it absolute. input=`pwd`/$input ;; esac input_rx=`get_dirname "$input" | quote_for_sed` # Since DOS filename conventions don't allow two dots, # the DOS version of Bison writes out y_tab.c instead of y.tab.c # and y_tab.h instead of y.tab.h. Test to see if this is the case. y_tab_nodot=false if test -f y_tab.c || test -f y_tab.h; then y_tab_nodot=true fi # The parser itself, the first file, is the destination of the .y.c # rule in the Makefile. parser=$1 # A sed program to s/FROM/TO/g for all the FROM/TO so that, for # instance, we rename #include "y.tab.h" into #include "parse.h" # during the conversion from y.tab.c to parse.c. sed_fix_filenames= # Also rename header guards, as Bison 2.7 for instance uses its header # guard in its implementation file. sed_fix_header_guards= while test $# -ne 0; do if test x"$1" = x"--"; then shift break fi from=$1 # Handle y_tab.c and y_tab.h output by DOS if $y_tab_nodot; then case $from in "y.tab.c") from=y_tab.c;; "y.tab.h") from=y_tab.h;; esac fi shift to=$1 shift sed_fix_filenames="${sed_fix_filenames}s|"`quote_for_sed "$from"`"|$to|g;" sed_fix_header_guards="${sed_fix_header_guards}s|"`guard "$from"`"|"`guard "$to"`"|g;" done # The program to run. prog=$1 shift # Make any relative path in $prog absolute. case $prog in [\\/]* | ?:[\\/]*) ;; *[\\/]*) prog=`pwd`/$prog ;; esac dirname=ylwrap$$ do_exit="cd '`pwd`' && rm -rf $dirname > /dev/null 2>&1;"' (exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 mkdir $dirname || exit 1 cd $dirname case $# in 0) "$prog" "$input" ;; *) "$prog" "$@" "$input" ;; esac ret=$? if test $ret -eq 0; then for from in * do to=`printf '%s\n' "$from" | sed "$sed_fix_filenames"` if test -f "$from"; then # If $2 is an absolute path name, then just use that, # otherwise prepend '../'. case $to in [\\/]* | ?:[\\/]*) target=$to;; *) target=../$to;; esac # Do not overwrite unchanged header files to avoid useless # recompilations. Always update the parser itself: it is the # destination of the .y.c rule in the Makefile. Divert the # output of all other files to a temporary file so we can # compare them to existing versions. if test $from != $parser; then realtarget=$target target=tmp-`printf '%s\n' "$target" | sed 's|.*[\\/]||g'` fi # Munge "#line" or "#" directives. Don't let the resulting # debug information point at an absolute srcdir. Use the real # output file name, not yy.lex.c for instance. Adjust the # include guards too. sed -e "/^#/!b" \ -e "s|$input_rx|$input_sub_rx|" \ -e "$sed_fix_filenames" \ -e "$sed_fix_header_guards" \ "$from" >"$target" || ret=$? # Check whether files must be updated. if test "$from" != "$parser"; then if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then echo "$to is unchanged" rm -f "$target" else echo "updating $to" mv -f "$target" "$realtarget" fi fi else # A missing file is only an error for the parser. This is a # blatant hack to let us support using "yacc -d". If -d is not # specified, don't fail when the header file is "missing". if test "$from" = "$parser"; then ret=1 fi fi done fi # Remove the directory. cd .. rm -rf $dirname exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: lepton-eda-1.9.10/build-tools/config.guess0000755000175000017500000012637313634703703015352 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright 1992-2018 Free Software Foundation, Inc. timestamp='2018-02-24' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # # Please send patches to . me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright 1992-2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > "$dummy.c" ; for c in cc gcc c89 c99 ; do if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case "$UNAME_SYSTEM" in Linux|GNU|GNU/*) # If the system lacks a compiler, then just pick glibc. # We could probably try harder. LIBC=gnu eval "$set_cc_for_build" cat <<-EOF > "$dummy.c" #include #if defined(__UCLIBC__) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc #else LIBC=gnu #endif EOF eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" # If ldd exists, use it to detect musl libc. if command -v ldd >/dev/null && \ ldd --version 2>&1 | grep -q ^musl then LIBC=musl fi ;; esac # Note: order is significant - the case branches are not exclusive. case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ "/sbin/$sysctl" 2>/dev/null || \ "/usr/sbin/$sysctl" 2>/dev/null || \ echo unknown)` case "$UNAME_MACHINE_ARCH" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; earmv*) arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` machine="${arch}${endian}"-unknown ;; *) machine="$UNAME_MACHINE_ARCH"-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently (or will in the future) and ABI. case "$UNAME_MACHINE_ARCH" in earm*) os=netbsdelf ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval "$set_cc_for_build" if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # Determine ABI tags. case "$UNAME_MACHINE_ARCH" in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "$UNAME_VERSION" in Debian*) release='-gnu' ;; *) release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "$machine-${os}${release}${abi}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" exit ;; *:LibertyBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" exit ;; *:MidnightBSD:*:*) echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" exit ;; *:ekkoBSD:*:*) echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" exit ;; *:SolidBSD:*:*) echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:MirBSD:*:*) echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:Sortix:*:*) echo "$UNAME_MACHINE"-unknown-sortix exit ;; *:Redox:*:*) echo "$UNAME_MACHINE"-unknown-redox exit ;; mips:OSF1:*.*) echo mips-dec-osf1 exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE=alpha ;; "EV4.5 (21064)") UNAME_MACHINE=alpha ;; "LCA4 (21066/21068)") UNAME_MACHINE=alpha ;; "EV5 (21164)") UNAME_MACHINE=alphaev5 ;; "EV5.6 (21164A)") UNAME_MACHINE=alphaev56 ;; "EV5.6 (21164PC)") UNAME_MACHINE=alphapca56 ;; "EV5.7 (21164PC)") UNAME_MACHINE=alphapca57 ;; "EV6 (21264)") UNAME_MACHINE=alphaev6 ;; "EV6.7 (21264A)") UNAME_MACHINE=alphaev67 ;; "EV6.8CB (21264C)") UNAME_MACHINE=alphaev68 ;; "EV6.8AL (21264B)") UNAME_MACHINE=alphaev68 ;; "EV6.8CX (21264D)") UNAME_MACHINE=alphaev68 ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE=alphaev69 ;; "EV7 (21364)") UNAME_MACHINE=alphaev7 ;; "EV7.9 (21364A)") UNAME_MACHINE=alphaev79 ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo "$UNAME_MACHINE"-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo "$UNAME_MACHINE"-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix"$UNAME_RELEASE" exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux"$UNAME_RELEASE" exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval "$set_cc_for_build" SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH=x86_64 fi fi echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos"$UNAME_RELEASE" exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos"$UNAME_RELEASE" ;; sun4) echo sparc-sun-sunos"$UNAME_RELEASE" ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos"$UNAME_RELEASE" exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint"$UNAME_RELEASE" exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint"$UNAME_RELEASE" exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint"$UNAME_RELEASE" exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint"$UNAME_RELEASE" exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint"$UNAME_RELEASE" exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint"$UNAME_RELEASE" exit ;; m68k:machten:*:*) echo m68k-apple-machten"$UNAME_RELEASE" exit ;; powerpc:machten:*:*) echo powerpc-apple-machten"$UNAME_RELEASE" exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix"$UNAME_RELEASE" exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix"$UNAME_RELEASE" exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix"$UNAME_RELEASE" exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`"$dummy" "$dummyarg"` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos"$UNAME_RELEASE" exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] then if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ [ "$TARGET_BINARY_INTERFACE"x = x ] then echo m88k-dg-dgux"$UNAME_RELEASE" else echo m88k-dg-dguxbcs"$UNAME_RELEASE" fi else echo i586-dg-dgux"$UNAME_RELEASE" fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/lslpp ] ; then IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi echo "$IBM_ARCH"-ibm-aix"$IBM_REV" exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` case "$UNAME_MACHINE" in 9000/31?) HP_ARCH=m68000 ;; 9000/[34]??) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "$sc_cpu_version" in 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "$sc_kernel_bits" in 32) HP_ARCH=hppa2.0n ;; 64) HP_ARCH=hppa2.0w ;; '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi if [ "$HP_ARCH" = "" ]; then eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ "$HP_ARCH" = hppa2.0w ] then eval "$set_cc_for_build" # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH=hppa2.0w else HP_ARCH=hppa64 fi fi echo "$HP_ARCH"-hp-hpux"$HPUX_REV" exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux"$HPUX_REV" exit ;; 3050*:HI-UX:*:*) eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo "$UNAME_MACHINE"-unknown-osf1mk else echo "$UNAME_MACHINE"-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi"$UNAME_RELEASE" exit ;; *:BSD/OS:*:*) echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case "$UNAME_PROCESSOR" in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; i*:CYGWIN*:*) echo "$UNAME_MACHINE"-pc-cygwin exit ;; *:MINGW64*:*) echo "$UNAME_MACHINE"-pc-mingw64 exit ;; *:MINGW*:*) echo "$UNAME_MACHINE"-pc-mingw32 exit ;; *:MSYS*:*) echo "$UNAME_MACHINE"-pc-msys exit ;; i*:PW*:*) echo "$UNAME_MACHINE"-pc-pw32 exit ;; *:Interix*:*) case "$UNAME_MACHINE" in x86) echo i586-pc-interix"$UNAME_RELEASE" exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix"$UNAME_RELEASE" exit ;; IA64) echo ia64-unknown-interix"$UNAME_RELEASE" exit ;; esac ;; i*:UWIN*:*) echo "$UNAME_MACHINE"-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; *:GNU:*:*) # the GNU system echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" exit ;; i*86:Minix:*:*) echo "$UNAME_MACHINE"-pc-minix exit ;; aarch64:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arc:Linux:*:* | arceb:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arm*:Linux:*:*) eval "$set_cc_for_build" if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi else echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf fi fi exit ;; avr32*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; cris:Linux:*:*) echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; crisv32:Linux:*:*) echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; e2k:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; frv:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; hexagon:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:Linux:*:*) echo "$UNAME_MACHINE"-pc-linux-"$LIBC" exit ;; ia64:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; k1om:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m32r*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m68*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`" test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; } ;; mips64el:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; openrisc*:Linux:*:*) echo or1k-unknown-linux-"$LIBC" exit ;; or32:Linux:*:* | or1k*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; padre:Linux:*:*) echo sparc-unknown-linux-"$LIBC" exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-"$LIBC" exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; *) echo hppa-unknown-linux-"$LIBC" ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-"$LIBC" exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-"$LIBC" exit ;; ppc64le:Linux:*:*) echo powerpc64le-unknown-linux-"$LIBC" exit ;; ppcle:Linux:*:*) echo powerpcle-unknown-linux-"$LIBC" exit ;; riscv32:Linux:*:* | riscv64:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" exit ;; sh64*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sh*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; tile*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; vax:Linux:*:*) echo "$UNAME_MACHINE"-dec-linux-"$LIBC" exit ;; x86_64:Linux:*:*) if objdump -f /bin/sh | grep -q elf32-x86-64; then echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32 else echo "$UNAME_MACHINE"-pc-linux-"$LIBC" fi exit ;; xtensa*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo "$UNAME_MACHINE"-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo "$UNAME_MACHINE"-unknown-stop exit ;; i*86:atheos:*:*) echo "$UNAME_MACHINE"-unknown-atheos exit ;; i*86:syllable:*:*) echo "$UNAME_MACHINE"-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos"$UNAME_RELEASE" exit ;; i*86:*DOS:*:*) echo "$UNAME_MACHINE"-pc-msdosdjgpp exit ;; i*86:*:4.*:*) UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" else echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}" exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" else echo "$UNAME_MACHINE"-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos"$UNAME_RELEASE" exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos"$UNAME_RELEASE" exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos"$UNAME_RELEASE" exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos"$UNAME_RELEASE" exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv"$UNAME_RELEASE" exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo "$UNAME_MACHINE"-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo "$UNAME_MACHINE"-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux"$UNAME_RELEASE" exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv"$UNAME_RELEASE" else echo mips-unknown-sysv"$UNAME_RELEASE" fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; x86_64:Haiku:*:*) echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux"$UNAME_RELEASE" exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux"$UNAME_RELEASE" exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux"$UNAME_RELEASE" exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux"$UNAME_RELEASE" exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux"$UNAME_RELEASE" exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux"$UNAME_RELEASE" exit ;; SX-ACE:SUPER-UX:*:*) echo sxace-nec-superux"$UNAME_RELEASE" exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Rhapsody:*:*) echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown eval "$set_cc_for_build" if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in i386) UNAME_PROCESSOR=x86_64 ;; powerpc) UNAME_PROCESSOR=powerpc64 ;; esac fi # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_PPC >/dev/null then UNAME_PROCESSOR=powerpc fi fi elif test "$UNAME_PROCESSOR" = i386 ; then # Avoid executing cc on OS X 10.9, as it ships with a stub # that puts up a graphical alert prompting to install # developer tools. Any system running Mac OS X 10.7 or # later (Darwin 11 and later) is required to have a 64-bit # processor. This is not true of the ARM version of Darwin # that Apple uses in portable devices. UNAME_PROCESSOR=x86_64 fi echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-*:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk"$UNAME_RELEASE" exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk"$UNAME_RELEASE" exit ;; NSR-*:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk"$UNAME_RELEASE" exit ;; NSV-*:NONSTOP_KERNEL:*:*) echo nsv-tandem-nsk"$UNAME_RELEASE" exit ;; NSX-*:NONSTOP_KERNEL:*:*) echo nsx-tandem-nsk"$UNAME_RELEASE" exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = 386; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo "$UNAME_MACHINE"-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux"$UNAME_RELEASE" exit ;; *:DragonFly:*:*) echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "$UNAME_MACHINE" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" exit ;; i*86:rdos:*:*) echo "$UNAME_MACHINE"-pc-rdos exit ;; i*86:AROS:*:*) echo "$UNAME_MACHINE"-pc-aros exit ;; x86_64:VMkernel:*:*) echo "$UNAME_MACHINE"-unknown-esx exit ;; amd64:Isilon\ OneFS:*:*) echo x86_64-unknown-onefs exit ;; esac echo "$0: unable to guess system type" >&2 case "$UNAME_MACHINE:$UNAME_SYSTEM" in mips:Linux | mips64:Linux) # If we got here on MIPS GNU/Linux, output extra information. cat >&2 <&2 </dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = "$UNAME_MACHINE" UNAME_RELEASE = "$UNAME_RELEASE" UNAME_SYSTEM = "$UNAME_SYSTEM" UNAME_VERSION = "$UNAME_VERSION" EOF exit 1 # Local variables: # eval: (add-hook 'write-file-functions 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: lepton-eda-1.9.10/build-tools/desktop-i18n0000755000175000017500000004213113634703632015174 00000000000000#!/bin/sh # -*-Shell-script-*- # Helper script for translating desktop integration data # Copyright (C) 2009-2010, 2016 Peter Brett # Copyright (C) 2010 Dan McMahill # Copyright (C) 2009-2016 gEDA Contributors # Copyright (C) 2019 Lepton EDA Contributors # # 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # usage [EXITSTATUS] # ------------------ # Print a simple help message, then exit with EXITSTATUS usage() { cat < -- desktop-i18n --create INFILE OUTFILE desktop-i18n --setup Operating modes: --extract Extract strings by calling xgettext --create Substitute translated strings --setup Setup a source tree to use desktop-i18n --help Print this message Options for --extract mode: --xgettext=XGETTEXT Specify xgettext executable to use Options for --create mode: --gettext=GETTEXT Specify gettext executable to use --domain=TEXTDOMAIN Retrieve translated bmessages from TEXTDOMAIN --localedir=TEXTDOMAINDIR Retrieve message catalog from TEXTDOMAINDIR --lang=LANG Add a language to translate messages into In order for this to work, all strings to be matched must be on a single line. In a .desktop file, a translatable name-value pair must have the desired name prefixed by an underscore. For example: _Comment=gEDA Schematic Editor In a MIME info file, XML tag pairs where the tagname begins with an underscore are recognized. Both tags must be on the same line, and the tag must be the only XML content on the line. Whitespace at the start of the line before the opening tag is preserved. For example: <_comment>gEDA circuit schematic Do not include double-quotes (") or slashes (\) in translatable strings. EOF exit $1 } # extract_desktop INFILE # ---------------------- # Parse desktop file data from standard input and generate C on # standard output. If an error occurs, a message is printed blaming # INFILE. extract_desktop() { # First argument is name of file being processed echo "/* Generated from $1 by desktop-i18n */" echo # Loop over each line of standard input n=0 while read REPLY; do n=`expr $n + 1` regexp='^_\([^=]*\)=\(.*\)$' if ! (echo $REPLY | grep $regexp > /dev/null); then continue fi name=`echo $REPLY | sed -e "s:$regexp:\1:"` msgid=`echo $REPLY | sed -e "s:$regexp:\2:"` # Test for bad characters if (echo $msgid | grep '["\\]' > /dev/null); then echo "$1:$n: msgid contains invalid character" >&2 exit 2 fi # Generate output line if test "x$name" != x -a "x$msgid" != x; then echo "_(\"$msgid\");" else echo "$1:$n: name or msgid is empty" >&2 exit 2 fi done } # extract_xml INFILE # ------------------ # Parse XML mimeinfo data from standard input and generate C on # standard output. If an error occurs, a message is printed blaming # INFILE. extract_xml() { echo "/* Generated from $1 by desktop-i18n */" echo # Loop over each line of standard input n=0 while read REPLY; do n=`expr $n + 1` regexp='<_\([a-zA-Z][a-zA-Z]*\)>\(.*\)' if ! (echo $REPLY | grep $regexp > /dev/null); then continue fi name=`echo $REPLY | sed -e "s:$regexp:\1:"` msgid=`echo $REPLY | sed -e "s:$regexp:\2:"` # Test for bad characters if (echo $msgid | grep '["\\]' > /dev/null); then echo "$1:$n: msgid contains invalid character" >&2 exit 2 fi # Generate output line if test "x$name" != x -a "x$msgid" != x; then echo "_(\"$msgid\");" else echo "$1:$n: name or msgid is empty" >&2 exit 2 fi done } # do_extract [OPTION]... -- [XGETTEXT_OPTION]... # ---------------------------------------------- # A wrapper around xgettext. It identifies the file lists and search # directories being used by xgettext, and from them any desktop or # mimeinfo files to be processed. # # It then creates a new private directory, and adds it to the xgettext # search path. It creates a new file list and set of preprocessed # files in that directory, and then calls xgettext (preserving all # other original arguments). do_extract() { XGETTEXT=xgettext # First we have to process the command-line arguments for arg; do # Split into name=value name=`echo $arg | sed -e's:=.*::'` value=`echo $arg | sed -e's:^[^=]*=*::'` if test "X$in_xg_args" = X; then # This is an argument only for this script case $name in --xgettext) XGETTEXT="$value";; --help) usage;; --) in_xg_args=1;; *) usage 1;; esac else # This is an argument to xgettext. Luckily the Makefile only # uses full-length arguments, and we only really care about the # ones from there! case $name in --version) # We need to invoke xgettext with --version and do nothing else exec $XGETTEXT --version;; --directory) search_dirs="$search_dirs $value";; --files-from) file_lists="$file_lists $value";; --default-domain) domain="$value"; set x "$@" "$arg"; shift;; *) # We just want to pass this arg straight to xgettext, so # stick it back on the end of the positional parameters set x "$@" "$arg"; shift;; esac fi # Discard processed arg from positional parameters shift done # If our private data directory exists, die. Otherwise, create it. priv_dir=.po-input if test -d $priv_dir; then echo "desktop-i18n: $PWD/$priv_dir already exists" exit 3 fi mkdir $priv_dir # Process file lists if necessary if test "X$file_lists" != X; then # Extract names of files we need to preprocess desktop_in=`cat $file_lists | grep ".desktop.in$"` xml_in=`cat $file_lists | grep ".xml.in$"` # Create a new POTFILES file which uses the postprocessed # filenames instead of the original ones. cat $file_lists | \ sed -e "s:.desktop.in$:.desktop.in.h:" -e "s:.xml.in$:.xml.in.h:" \ > $priv_dir/POTFILES fi # Preprocess .desktop files for f in $desktop_in; do src=`_search_file $f $search_dirs` || { rm -rf $priv_dir; exit 3; } mkdir -p $priv_dir/`dirname $f` extract_desktop $f < $src > $priv_dir/$f.h done # Preprocess .xml files for f in $xml_in; do src=`_search_file $f $search_dirs` || { rm -rf $priv_dir; exit 3; } mkdir -p $priv_dir/`dirname $f` extract_xml $f < $src > $priv_dir/$f.h done # Call xgettext (recall we saved some args in $@) gen_args="--files-from=$priv_dir/POTFILES --directory=$priv_dir" for d in $search_dirs; do gen_args="$gen_args --directory=$d" done $XGETTEXT $gen_args "$@" # Fix up file suffixes. Recall that we added .h to the ends of some # filenames -- now we need to remove them from the generated .pot # files. echo "Fixing up $domain.po" sed -e "s/.desktop.in.h/.desktop.in/" -e "s/.xml.in.h/.xml.in/" \ $domain.po > $domain.po.tmp mv $domain.po.tmp $domain.po # Clean up private directory rm -rf $priv_dir } _search_file() { f=$1 shift for d in $@; do if test -f "$d/$f"; then echo "$d/$f"; exit; fi done echo "desktop-i18n: Cannot find $f in xgettext search directories" } # create_desktop INFILE # --------------------- # Parse desktop file data from standard input and generate a # translated desktop file on standard output. If an error occurs, a # message is printed blaming INFILE. create_desktop() { # Loop over each line of standard input n=0 while read REPLY; do n=`expr $n + 1` regexp='^_\([^=]*\)=\(.*\)$' if ! (echo $REPLY | grep $regexp > /dev/null); then echo $REPLY continue fi name=`echo $REPLY | sed -e "s:$regexp:\1:"` msgid=`echo $REPLY | sed -e "s:$regexp:\2:"` # Test for bad characters if (echo $msgid | grep '["\\]' > /dev/null); then echo "$1:$n: msgid contains invalid character" >&2 exit 2 fi # Generate first output line echo "$name=$msgid" # Generate language-specific output lines for lang in $LINGUAS; do msg=`LANGUAGE=$lang $GETTEXT "$msgid"` # If translated message is unmodified, don't write an output # line if test "x$msg" = x -o "$msg" = "$msgid"; then continue; fi echo "$name[$lang]=$msg" done done } # create_xml INFILE # ----------------- # Parse XML mimeinfo data from standard input and generate a # translated mimeinfo file on standard output. If an error occurs, a # message is printed blaming INFILE. create_xml() { # Loop over each line of standard input n=0 while : ; do # We have to do an ugly hack to avoid stripping whitespace. saveIFS="$IFS" IFS= read REPLY || { IFS="$saveIFS" ; break; } IFS="$saveIFS" n=`expr $n + 1` regexp='<_\([a-zA-Z][a-zA-Z]*\)>\(.*\)' if ! (echo $REPLY | grep $regexp > /dev/null); then echo "$REPLY" continue fi name=`echo $REPLY | sed -e "s:$regexp:\1:"` msgid=`echo $REPLY | sed -e "s:$regexp:\2:"` prefix=`echo $REPLY | sed -e "s:^\(.*\)<_$name>.*:\1:"` suffix=`echo $REPLY | sed -e "s:.*\(.*\):\1:"` # Test for bad characters if (echo $msgid | grep '["\\]' > /dev/null); then echo "$1:$n: msgid contains invalid character" >&2 exit 2 fi # Test for non-empty prefix/suffix if test "x$prefix" != x -o "x$suffix" != x; then echo "$1:$n: translatable tag must be alone on line" >&2 exit 2 fi # Generate first output line echo "$REPLY" | sed -e "s:<_\($name\)>\(.*\):<\1>\2:" # Generate language-specific output lines for lang in $LINGUAS; do msg=`LANGUAGE=$lang $GETTEXT "$msgid"` # If translated message is unmodified, don't write an output # line if test "x$msg" = x -o "$msg" = "$msgid"; then continue; fi echo "$REPLY" | sed -e "s,<_\($name\)>\(.*\),<\1 xml:lang=\"$lang\">$msg," done done } # do_create [OPTION]... INFILE OUTFILE # ------------------------------------ # Substitutes translations into .desktop or mimeinfo files. do_create() { GETTEXT=gettext # First process command-line arguments for arg; do # Split into name=value name=`echo $arg | sed -e's:=.*::'` value=`echo $arg | sed -e's:^[^=]*=*::'` case $name in --gettext) GETTEXT=$value;; --domain) TEXTDOMAIN=$value;; --localedir) TEXTDOMAINDIR=$value;; --lang) LINGUAS="$LINGUAS $value";; *) # Arg might be a filename, so save it at the end of the # positional parameters set x "$@" "$arg"; shift esac # Discard processed arg from positional parameters shift done if test $# != 2; then usage 1; fi # Should only have 2 args left INFILE=$1; OUTFILE=$2 if ! test -r $INFILE; then echo "desktop-i18n: Cannot open $INFILE for reading." exit 3 fi export TEXTDOMAIN export GETTEXT export TEXTDOMAINDIR export LINGUAS if (echo "$INFILE" | grep ".desktop.in$" > /dev/null); then create_desktop $INFILE < $INFILE > $OUTFILE exit 0 fi if (echo "$INFILE" | grep ".xml.in$" > /dev/null); then create_xml $INFILE < $INFILE > $OUTFILE exit 0 fi echo "desktop-i18n: $INFILE: Unrecognized extension" exit 1 } # do_setup [DIR] # -------------- # Try to set up a source tree to use desktop-i18n. # # This is a nasty bit of hackery. We need to insert some rules into # the Makefile.in.in installed by gettextize/autopoint so that make # knows how to generate input for xgettext. # # Unfortunately, there's no nice way to do this, so we do it by # appending some rules onto each Makefile.in.in, using the following # procedure: # # 1. Look for configure.ac in DIR, or in cwd if DIR wasn't # specified. If we can't find it, whinge. # 2. If configure.ac doesn't have AX_DESKTOP_I18N, quit successfully. # 3. Find anywhere where AC_CONFIG_FILES is called. For each # Makefile.in found in the list of files to create: # (a) Check for Makefile.in.in. If it doesn't exist, skip with a warning. # (b) If Makefile.in.in contains the string DESKTOP_I18N_RULES, # skip silently. # (c) Append a chunk of rules onto Makefile.in.in # # Note that we can't use a po/Rules-* file because substitution is not # carried out on these files. do_setup() { # Was DIR specified? if test "x$1" = x; then srcdir=.; else srcdir=$1; fi # Can we find configure.ac or configure.in? for f in configure.ac configure.in; do if test -r $srcdir/$f; then ac_file=$srcdir/$f break fi done if test "x$ac_file" = x; then echo "Cannot find configure.ac or configure.in!" exit 4 fi # Check that configure.ac is readable if ! test -r $ac_file; then echo "Cannot open $ac_file for reading." exit 3 fi # Is the AX_DESKTOP_I18N macro present? if ! grep AX_DESKTOP_I18N $ac_file > /dev/null; then exit fi # Now we use a piece of m4 code to try and discover all of the # configuration files. This is UGLY AND BAD, because it only detects # when AC_CONFIG_FILES is called in the main configure script (if # AC_CONFIG_FILES is called by another macro somewhere, it won't be # detected). cat - $ac_file > conftest < /dev/null; then continue fi # Append our rules echo "desktop-i18n: modifying $f.in" cat >> $f.in < # Copyright (C) 2010 Dan McMahill # # 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA top_builddir = @top_builddir@ MKDIR_P = @MKDIR_P@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ # We need to temporarily install the localisation files somewhere so # that desktop-i18n --create can look up messages in them. We recreate # the timestamp before *and* after running 'make install' so that the # make doesn't go into an infinite loop! all: stamp-i18n stamp-i18n: \$(DESKTOP_I18N_LOCALE_DIR) stamp-po Makefile @echo timestamp > stamp-i18nT && mv -f stamp-i18nT stamp-i18n \$(MAKE) \ prefix=\$(DESKTOP_I18N_LOCALE_DIR) \ localedir=\$(DESKTOP_I18N_LOCALE_DIR)/share/locale \ DESTDIR= install && \ cp \$(srcdir)/LINGUAS \$(DESKTOP_I18N_LOCALE_DIR)/\$(DOMAIN).LINGUAS \ || rm stamp-i18n @echo timestamp > stamp-i18nT && mv -f stamp-i18nT stamp-i18n \$(DESKTOP_I18N_LOCALE_DIR): \$(MKDIR_P) \$(DESKTOP_I18N_LOCALE_DIR) clean: clean-i18n clean-i18n: -rm -rf \$(DESKTOP_I18N_LOCALE_DIR) stamp-i18n # End of desktop-i18n rules ##################################################################### EOF done } # First argument has to be the mode of operation. Then call the # appropriate function to process the rest of the arguments and do the # work. if test -z $1; then usage 1; fi MODE=$1; shift case $MODE in --extract) do_extract "$@";; --create) do_create "$@";; --setup) do_setup "$@";; --help) usage;; *) usage 1;; esac lepton-eda-1.9.10/build-tools/config.sub0000755000175000017500000010645013634703703015007 00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright 1992-2018 Free Software Foundation, Inc. timestamp='2018-02-22' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # Please send patches to . # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright 1992-2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo "$1" exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ kopensolaris*-gnu* | cloudabi*-eabi* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; android-linux) os=-linux-android basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ;; *) basic_machine=`echo "$1" | sed 's/-[^-]*$//'` if [ "$basic_machine" != "$1" ] then os=`echo "$1" | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -lynx*178) os=-lynxos178 ;; -lynx*5) os=-lynxos5 ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ | ba \ | be32 | be64 \ | bfin \ | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ | e2k | epiphany \ | fido | fr30 | frv | ft32 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia16 | ia64 \ | ip2k | iq2000 \ | k1om \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa32r6 | mipsisa32r6el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64r6 | mipsisa64r6el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 | or1k | or1knd | or32 \ | pdp10 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pru \ | pyramid \ | riscv32 | riscv64 \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | visium \ | wasm32 \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; c54x) basic_machine=tic54x-unknown ;; c55x) basic_machine=tic55x-unknown ;; c6x) basic_machine=tic6x-unknown ;; leon|leon[3-9]) basic_machine=sparc-$basic_machine ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) ;; ms1) basic_machine=mt-unknown ;; strongarm | thumb | xscale) basic_machine=arm-unknown ;; xgate) basic_machine=$basic_machine-unknown os=-none ;; xscaleeb) basic_machine=armeb-unknown ;; xscaleel) basic_machine=armel-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | ba-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | e2k-* | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ | ip2k-* | iq2000-* \ | k1om-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa32r6-* | mipsisa32r6el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64r6-* | mipsisa64r6el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | or1k*-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pru-* \ | pyramid-* \ | riscv32-* | riscv64-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | visium-* \ | wasm32-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-pc os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; asmjs) basic_machine=asmjs-unknown ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c54x-*) basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; c55x-*) basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; c6x-*) basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16 | cr16-*) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2*) basic_machine=m68k-bull os=-sysv3 ;; e500v[12]) basic_machine=powerpc-unknown os=$os"spe" ;; e500v[12]-*) basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=$os"spe" ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; i*86v32) basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; leon-*|leon[3-9]-*) basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=-linux ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze*) basic_machine=microblaze-xilinx ;; mingw64) basic_machine=x86_64-pc os=-mingw64 ;; mingw32) basic_machine=i686-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; moxiebox) basic_machine=moxie-unknown os=-moxiebox ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` ;; msys) basic_machine=i686-pc os=-msys ;; mvs) basic_machine=i370-ibm os=-mvs ;; nacl) basic_machine=le32-unknown os=-nacl ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; neo-tandem) basic_machine=neo-tandem ;; nse-tandem) basic_machine=nse-tandem ;; nsr-tandem) basic_machine=nsr-tandem ;; nsv-tandem) basic_machine=nsv-tandem ;; nsx-tandem) basic_machine=nsx-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos | rdos64) basic_machine=x86_64-pc os=-rdos ;; rdos32) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh5el) basic_machine=sh5le-unknown ;; simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; strongarm-* | thumb-*) basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tile*) basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; x64) basic_machine=x86_64-pc ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; xscale-* | xscalee[bl]-*) basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` ;; ymp) basic_machine=ymp-cray os=-unicos ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases that might get confused # with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # es1800 is here to avoid being matched by es* (a different OS) -es1800*) os=-ose ;; # Now accept the basic system types. # The portable systems comes first. # Each alternative MUST end in a * to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* | -cloudabi* | -sortix* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ | -midnightbsd*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -xray | -os68k* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo "$os" | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo "$os" | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo "$os" | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4*) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -pikeos*) # Until real need of OS specific support for # particular features comes up, bare metal # configurations are quite functional. case $basic_machine in arm*) os=-eabi ;; *) os=-elf ;; esac ;; -nacl*) ;; -ios) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; c8051-*) os=-elf ;; hexagon-*) os=-elf ;; tic54x-*) os=-coff ;; tic55x-*) os=-coff ;; tic6x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; pru-*) os=-elf ;; *-be) os=-beos ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` ;; esac echo "$basic_machine$os" exit # Local variables: # eval: (add-hook 'write-file-functions 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: lepton-eda-1.9.10/build-tools/install-sh0000755000175000017500000003601013634703703015022 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2018-03-11.20; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # 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 # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. tab=' ' nl=' ' IFS=" $tab$nl" # Set DOITPROG to "echo" to test this script. doit=${DOITPROG-} doit_exec=${doit:-exec} # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false is_target_a_directory=possibly usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) is_target_a_directory=always dst_arg=$2 # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; -T) is_target_a_directory=never;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done # We allow the use of options -d and -T together, by making -d # take the precedence; this is for compatibility with GNU install. if test -n "$dir_arg"; then if test -n "$dst_arg"; then echo "$0: target directory not allowed when installing a directory." >&2 exit 1 fi fi if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then if test $# -gt 1 || test "$is_target_a_directory" = always; then if test ! -d "$dst_arg"; then echo "$0: $dst_arg: Is not a directory." >&2 exit 1 fi fi fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names problematic for 'test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # If destination is a directory, append the input filename. if test -d "$dst"; then if test "$is_target_a_directory" = never; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dstbase=`basename "$src"` case $dst in */) dst=$dst$dstbase;; *) dst=$dst/$dstbase;; esac dstdir_status=0 else dstdir=`dirname "$dst"` test -d "$dstdir" dstdir_status=$? fi fi case $dstdir in */) dstdirslash=$dstdir;; *) dstdirslash=$dstdir/;; esac obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) # Note that $RANDOM variable is not portable (e.g. dash); Use it # here however when possible just to lower collision chance. tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 # Because "mkdir -p" follows existing symlinks and we likely work # directly in world-writeable /tmp, make sure that the '$tmpdir' # directory is successfully created first before we actually test # 'mkdir -p' feature. if (umask $mkdir_umask && $mkdirprog $mkdir_mode "$tmpdir" && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. test_tmpdir="$tmpdir/a" ls_ld_tmpdir=`ls -ld "$test_tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; [-=\(\)!]*) prefix='./';; *) prefix='';; esac oIFS=$IFS IFS=/ set -f set fnord $dstdir shift set +f IFS=$oIFS prefixes= for d do test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=${dstdirslash}_inst.$$_ rmtmp=${dstdirslash}_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: lepton-eda-1.9.10/build-tools/ltmain.sh0000644000175000017500000117671213634703661014660 00000000000000#! /bin/sh ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in ## by inline-source v2014-01-03.01 # libtool (GNU libtool) 2.4.6 # Provide generalized library-building support services. # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996-2015 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool 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. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool 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 . PROGRAM=libtool PACKAGE=libtool VERSION="2.4.6 Debian-2.4.6-9" package_revision=2.4.6 ## ------ ## ## Usage. ## ## ------ ## # Run './libtool --help' for help with using this script from the # command line. ## ------------------------------- ## ## User overridable command paths. ## ## ------------------------------- ## # After configure completes, it has a better idea of some of the # shell tools we need than the defaults used by the functions shared # with bootstrap, so set those here where they can still be over- # ridden by the user, but otherwise take precedence. : ${AUTOCONF="autoconf"} : ${AUTOMAKE="automake"} ## -------------------------- ## ## Source external libraries. ## ## -------------------------- ## # Much of our low-level functionality needs to be sourced from external # libraries, which are installed to $pkgauxdir. # Set a version string for this script. scriptversion=2015-01-20.17; # UTC # General shell script boiler plate, and helper functions. # Written by Gary V. Vaughan, 2004 # Copyright (C) 2004-2015 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # As a special exception to the GNU General Public License, if you distribute # this file as part of a program or library that is built using GNU Libtool, # you may include this file under the same distribution terms that you use # for the rest of that program. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNES 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 . # Please report bugs or propose patches to gary@gnu.org. ## ------ ## ## Usage. ## ## ------ ## # Evaluate this file near the top of your script to gain access to # the functions and variables defined here: # # . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh # # If you need to override any of the default environment variable # settings, do that before evaluating this file. ## -------------------- ## ## Shell normalisation. ## ## -------------------- ## # Some shells need a little help to be as Bourne compatible as possible. # Before doing anything else, make sure all that help has been provided! DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # NLS nuisances: We save the old values in case they are required later. _G_user_locale= _G_safe_locale= for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test set = \"\${$_G_var+set}\"; then save_$_G_var=\$$_G_var $_G_var=C export $_G_var _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" fi" done # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Make sure IFS has a sensible default sp=' ' nl=' ' IFS="$sp $nl" # There are apparently some retarded systems that use ';' as a PATH separator! if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi ## ------------------------- ## ## Locate command utilities. ## ## ------------------------- ## # func_executable_p FILE # ---------------------- # Check that FILE is an executable regular file. func_executable_p () { test -f "$1" && test -x "$1" } # func_path_progs PROGS_LIST CHECK_FUNC [PATH] # -------------------------------------------- # Search for either a program that responds to --version with output # containing "GNU", or else returned by CHECK_FUNC otherwise, by # trying all the directories in PATH with each of the elements of # PROGS_LIST. # # CHECK_FUNC should accept the path to a candidate program, and # set $func_check_prog_result if it truncates its output less than # $_G_path_prog_max characters. func_path_progs () { _G_progs_list=$1 _G_check_func=$2 _G_PATH=${3-"$PATH"} _G_path_prog_max=0 _G_path_prog_found=false _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} for _G_dir in $_G_PATH; do IFS=$_G_save_IFS test -z "$_G_dir" && _G_dir=. for _G_prog_name in $_G_progs_list; do for _exeext in '' .EXE; do _G_path_prog=$_G_dir/$_G_prog_name$_exeext func_executable_p "$_G_path_prog" || continue case `"$_G_path_prog" --version 2>&1` in *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; *) $_G_check_func $_G_path_prog func_path_progs_result=$func_check_prog_result ;; esac $_G_path_prog_found && break 3 done done done IFS=$_G_save_IFS test -z "$func_path_progs_result" && { echo "no acceptable sed could be found in \$PATH" >&2 exit 1 } } # We want to be able to use the functions in this file before configure # has figured out where the best binaries are kept, which means we have # to search for them ourselves - except when the results are already set # where we skip the searches. # Unless the user overrides by setting SED, search the path for either GNU # sed, or the sed that truncates its output the least. test -z "$SED" && { _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for _G_i in 1 2 3 4 5 6 7; do _G_sed_script=$_G_sed_script$nl$_G_sed_script done echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed _G_sed_script= func_check_prog_sed () { _G_path_prog=$1 _G_count=0 printf 0123456789 >conftest.in while : do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo '' >> conftest.nl "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break diff conftest.out conftest.nl >/dev/null 2>&1 || break _G_count=`expr $_G_count + 1` if test "$_G_count" -gt "$_G_path_prog_max"; then # Best one so far, save it but keep looking for a better one func_check_prog_result=$_G_path_prog _G_path_prog_max=$_G_count fi # 10*(2^10) chars as input seems more than enough test 10 -lt "$_G_count" && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out } func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin rm -f conftest.sed SED=$func_path_progs_result } # Unless the user overrides by setting GREP, search the path for either GNU # grep, or the grep that truncates its output the least. test -z "$GREP" && { func_check_prog_grep () { _G_path_prog=$1 _G_count=0 _G_path_prog_max=0 printf 0123456789 >conftest.in while : do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo 'GREP' >> conftest.nl "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break diff conftest.out conftest.nl >/dev/null 2>&1 || break _G_count=`expr $_G_count + 1` if test "$_G_count" -gt "$_G_path_prog_max"; then # Best one so far, save it but keep looking for a better one func_check_prog_result=$_G_path_prog _G_path_prog_max=$_G_count fi # 10*(2^10) chars as input seems more than enough test 10 -lt "$_G_count" && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out } func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin GREP=$func_path_progs_result } ## ------------------------------- ## ## User overridable command paths. ## ## ------------------------------- ## # All uppercase variable names are used for environment variables. These # variables can be overridden by the user before calling a script that # uses them if a suitable command of that name is not already available # in the command search PATH. : ${CP="cp -f"} : ${ECHO="printf %s\n"} : ${EGREP="$GREP -E"} : ${FGREP="$GREP -F"} : ${LN_S="ln -s"} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} ## -------------------- ## ## Useful sed snippets. ## ## -------------------- ## sed_dirname='s|/[^/]*$||' sed_basename='s|^.*/||' # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='s|\([`"$\\]\)|\\\1|g' # Same as above, but do not quote variable references. sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution that turns a string into a regex matching for the # string literally. sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' # Sed substitution that converts a w32 file name or path # that contains forward slashes, into one that contains # (escaped) backslashes. A very naive implementation. sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' # Re-'\' parameter expansions in output of sed_double_quote_subst that # were '\'-ed in input to the same. If an odd number of '\' preceded a # '$' in input to sed_double_quote_subst, that '$' was protected from # expansion. Since each input '\' is now two '\'s, look for any number # of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. _G_bs='\\' _G_bs2='\\\\' _G_bs4='\\\\\\\\' _G_dollar='\$' sed_double_backslash="\ s/$_G_bs4/&\\ /g s/^$_G_bs2$_G_dollar/$_G_bs&/ s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g s/\n//g" ## ----------------- ## ## Global variables. ## ## ----------------- ## # Except for the global variables explicitly listed below, the following # functions in the '^func_' namespace, and the '^require_' namespace # variables initialised in the 'Resource management' section, sourcing # this file will not pollute your global namespace with anything # else. There's no portable way to scope variables in Bourne shell # though, so actually running these functions will sometimes place # results into a variable named after the function, and often use # temporary variables in the '^_G_' namespace. If you are careful to # avoid using those namespaces casually in your sourcing script, things # should continue to work as you expect. And, of course, you can freely # overwrite any of the functions or variables defined here before # calling anything to customize them. EXIT_SUCCESS=0 EXIT_FAILURE=1 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. # Allow overriding, eg assuming that you follow the convention of # putting '$debug_cmd' at the start of all your functions, you can get # bash to show function call trace with: # # debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name debug_cmd=${debug_cmd-":"} exit_cmd=: # By convention, finish your script with: # # exit $exit_status # # so that you can set exit_status to non-zero if you want to indicate # something went wrong during execution without actually bailing out at # the point of failure. exit_status=$EXIT_SUCCESS # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath=$0 # The name of this program. progname=`$ECHO "$progpath" |$SED "$sed_basename"` # Make sure we have an absolute progpath for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` progdir=`cd "$progdir" && pwd` progpath=$progdir/$progname ;; *) _G_IFS=$IFS IFS=${PATH_SEPARATOR-:} for progdir in $PATH; do IFS=$_G_IFS test -x "$progdir/$progname" && break done IFS=$_G_IFS test -n "$progdir" || progdir=`pwd` progpath=$progdir/$progname ;; esac ## ----------------- ## ## Standard options. ## ## ----------------- ## # The following options affect the operation of the functions defined # below, and should be set appropriately depending on run-time para- # meters passed on the command line. opt_dry_run=false opt_quiet=false opt_verbose=false # Categories 'all' and 'none' are always available. Append any others # you will pass as the first argument to func_warning from your own # code. warning_categories= # By default, display warnings according to 'opt_warning_types'. Set # 'warning_func' to ':' to elide all warnings, or func_fatal_error to # treat the next displayed warning as a fatal error. warning_func=func_warn_and_continue # Set to 'all' to display all warnings, 'none' to suppress all # warnings, or a space delimited list of some subset of # 'warning_categories' to display only the listed warnings. opt_warning_types=all ## -------------------- ## ## Resource management. ## ## -------------------- ## # This section contains definitions for functions that each ensure a # particular resource (a file, or a non-empty configuration variable for # example) is available, and if appropriate to extract default values # from pertinent package files. Call them using their associated # 'require_*' variable to ensure that they are executed, at most, once. # # It's entirely deliberate that calling these functions can set # variables that don't obey the namespace limitations obeyed by the rest # of this file, in order that that they be as useful as possible to # callers. # require_term_colors # ------------------- # Allow display of bold text on terminals that support it. require_term_colors=func_require_term_colors func_require_term_colors () { $debug_cmd test -t 1 && { # COLORTERM and USE_ANSI_COLORS environment variables take # precedence, because most terminfo databases neglect to describe # whether color sequences are supported. test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} if test 1 = "$USE_ANSI_COLORS"; then # Standard ANSI escape sequences tc_reset='' tc_bold=''; tc_standout='' tc_red=''; tc_green='' tc_blue=''; tc_cyan='' else # Otherwise trust the terminfo database after all. test -n "`tput sgr0 2>/dev/null`" && { tc_reset=`tput sgr0` test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` tc_standout=$tc_bold test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` } fi } require_term_colors=: } ## ----------------- ## ## Function library. ## ## ----------------- ## # This section contains a variety of useful functions to call in your # scripts. Take note of the portable wrappers for features provided by # some modern shells, which will fall back to slower equivalents on # less featureful shells. # func_append VAR VALUE # --------------------- # Append VALUE onto the existing contents of VAR. # We should try to minimise forks, especially on Windows where they are # unreasonably slow, so skip the feature probes when bash or zsh are # being used: if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then : ${_G_HAVE_ARITH_OP="yes"} : ${_G_HAVE_XSI_OPS="yes"} # The += operator was introduced in bash 3.1 case $BASH_VERSION in [12].* | 3.0 | 3.0*) ;; *) : ${_G_HAVE_PLUSEQ_OP="yes"} ;; esac fi # _G_HAVE_PLUSEQ_OP # Can be empty, in which case the shell is probed, "yes" if += is # useable or anything else if it does not work. test -z "$_G_HAVE_PLUSEQ_OP" \ && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ && _G_HAVE_PLUSEQ_OP=yes if test yes = "$_G_HAVE_PLUSEQ_OP" then # This is an XSI compatible shell, allowing a faster implementation... eval 'func_append () { $debug_cmd eval "$1+=\$2" }' else # ...otherwise fall back to using expr, which is often a shell builtin. func_append () { $debug_cmd eval "$1=\$$1\$2" } fi # func_append_quoted VAR VALUE # ---------------------------- # Quote VALUE and append to the end of shell variable VAR, separated # by a space. if test yes = "$_G_HAVE_PLUSEQ_OP"; then eval 'func_append_quoted () { $debug_cmd func_quote_for_eval "$2" eval "$1+=\\ \$func_quote_for_eval_result" }' else func_append_quoted () { $debug_cmd func_quote_for_eval "$2" eval "$1=\$$1\\ \$func_quote_for_eval_result" } fi # func_append_uniq VAR VALUE # -------------------------- # Append unique VALUE onto the existing contents of VAR, assuming # entries are delimited by the first character of VALUE. For example: # # func_append_uniq options " --another-option option-argument" # # will only append to $options if " --another-option option-argument " # is not already present somewhere in $options already (note spaces at # each end implied by leading space in second argument). func_append_uniq () { $debug_cmd eval _G_current_value='`$ECHO $'$1'`' _G_delim=`expr "$2" : '\(.\)'` case $_G_delim$_G_current_value$_G_delim in *"$2$_G_delim"*) ;; *) func_append "$@" ;; esac } # func_arith TERM... # ------------------ # Set func_arith_result to the result of evaluating TERMs. test -z "$_G_HAVE_ARITH_OP" \ && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ && _G_HAVE_ARITH_OP=yes if test yes = "$_G_HAVE_ARITH_OP"; then eval 'func_arith () { $debug_cmd func_arith_result=$(( $* )) }' else func_arith () { $debug_cmd func_arith_result=`expr "$@"` } fi # func_basename FILE # ------------------ # Set func_basename_result to FILE with everything up to and including # the last / stripped. if test yes = "$_G_HAVE_XSI_OPS"; then # If this shell supports suffix pattern removal, then use it to avoid # forking. Hide the definitions single quotes in case the shell chokes # on unsupported syntax... _b='func_basename_result=${1##*/}' _d='case $1 in */*) func_dirname_result=${1%/*}$2 ;; * ) func_dirname_result=$3 ;; esac' else # ...otherwise fall back to using sed. _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` if test "X$func_dirname_result" = "X$1"; then func_dirname_result=$3 else func_append func_dirname_result "$2" fi' fi eval 'func_basename () { $debug_cmd '"$_b"' }' # func_dirname FILE APPEND NONDIR_REPLACEMENT # ------------------------------------------- # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. eval 'func_dirname () { $debug_cmd '"$_d"' }' # func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT # -------------------------------------------------------- # Perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # For efficiency, we do not delegate to the functions above but instead # duplicate the functionality here. eval 'func_dirname_and_basename () { $debug_cmd '"$_b"' '"$_d"' }' # func_echo ARG... # ---------------- # Echo program name prefixed message. func_echo () { $debug_cmd _G_message=$* func_echo_IFS=$IFS IFS=$nl for _G_line in $_G_message; do IFS=$func_echo_IFS $ECHO "$progname: $_G_line" done IFS=$func_echo_IFS } # func_echo_all ARG... # -------------------- # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } # func_echo_infix_1 INFIX ARG... # ------------------------------ # Echo program name, followed by INFIX on the first line, with any # additional lines not showing INFIX. func_echo_infix_1 () { $debug_cmd $require_term_colors _G_infix=$1; shift _G_indent=$_G_infix _G_prefix="$progname: $_G_infix: " _G_message=$* # Strip color escape sequences before counting printable length for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" do test -n "$_G_tc" && { _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` } done _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes func_echo_infix_1_IFS=$IFS IFS=$nl for _G_line in $_G_message; do IFS=$func_echo_infix_1_IFS $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 _G_prefix=$_G_indent done IFS=$func_echo_infix_1_IFS } # func_error ARG... # ----------------- # Echo program name prefixed message to standard error. func_error () { $debug_cmd $require_term_colors func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 } # func_fatal_error ARG... # ----------------------- # Echo program name prefixed message to standard error, and exit. func_fatal_error () { $debug_cmd func_error "$*" exit $EXIT_FAILURE } # func_grep EXPRESSION FILENAME # ----------------------------- # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { $debug_cmd $GREP "$1" "$2" >/dev/null 2>&1 } # func_len STRING # --------------- # Set func_len_result to the length of STRING. STRING may not # start with a hyphen. test -z "$_G_HAVE_XSI_OPS" \ && (eval 'x=a/b/c; test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ && _G_HAVE_XSI_OPS=yes if test yes = "$_G_HAVE_XSI_OPS"; then eval 'func_len () { $debug_cmd func_len_result=${#1} }' else func_len () { $debug_cmd func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` } fi # func_mkdir_p DIRECTORY-PATH # --------------------------- # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { $debug_cmd _G_directory_path=$1 _G_dir_list= if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then # Protect directory names starting with '-' case $_G_directory_path in -*) _G_directory_path=./$_G_directory_path ;; esac # While some portion of DIR does not yet exist... while test ! -d "$_G_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. _G_dir_list=$_G_directory_path:$_G_dir_list # If the last portion added has no slash in it, the list is done case $_G_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` done _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` func_mkdir_p_IFS=$IFS; IFS=: for _G_dir in $_G_dir_list; do IFS=$func_mkdir_p_IFS # mkdir can fail with a 'File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! $MKDIR "$_G_dir" 2>/dev/null || : done IFS=$func_mkdir_p_IFS # Bail out if we (or some other process) failed to create a directory. test -d "$_G_directory_path" || \ func_fatal_error "Failed to create '$1'" fi } # func_mktempdir [BASENAME] # ------------------------- # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, BASENAME is the basename for that directory. func_mktempdir () { $debug_cmd _G_template=${TMPDIR-/tmp}/${1-$progname} if test : = "$opt_dry_run"; then # Return a directory name, but don't create it in dry-run mode _G_tmpdir=$_G_template-$$ else # If mktemp works, use that first and foremost _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` if test ! -d "$_G_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race _G_tmpdir=$_G_template-${RANDOM-0}$$ func_mktempdir_umask=`umask` umask 0077 $MKDIR "$_G_tmpdir" umask $func_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$_G_tmpdir" || \ func_fatal_error "cannot create temporary directory '$_G_tmpdir'" fi $ECHO "$_G_tmpdir" } # func_normal_abspath PATH # ------------------------ # Remove doubled-up and trailing slashes, "." path components, # and cancel out any ".." path components in PATH after making # it an absolute path. func_normal_abspath () { $debug_cmd # These SED scripts presuppose an absolute path with a trailing slash. _G_pathcar='s|^/\([^/]*\).*$|\1|' _G_pathcdr='s|^/[^/]*||' _G_removedotparts=':dotsl s|/\./|/|g t dotsl s|/\.$|/|' _G_collapseslashes='s|/\{1,\}|/|g' _G_finalslash='s|/*$|/|' # Start from root dir and reassemble the path. func_normal_abspath_result= func_normal_abspath_tpath=$1 func_normal_abspath_altnamespace= case $func_normal_abspath_tpath in "") # Empty path, that just means $cwd. func_stripname '' '/' "`pwd`" func_normal_abspath_result=$func_stripname_result return ;; # The next three entries are used to spot a run of precisely # two leading slashes without using negated character classes; # we take advantage of case's first-match behaviour. ///*) # Unusual form of absolute path, do nothing. ;; //*) # Not necessarily an ordinary path; POSIX reserves leading '//' # and for example Cygwin uses it to access remote file shares # over CIFS/SMB, so we conserve a leading double slash if found. func_normal_abspath_altnamespace=/ ;; /*) # Absolute path, do nothing. ;; *) # Relative path, prepend $cwd. func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath ;; esac # Cancel out all the simple stuff to save iterations. We also want # the path to end with a slash for ease of parsing, so make sure # there is one (and only one) here. func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` while :; do # Processed it all yet? if test / = "$func_normal_abspath_tpath"; then # If we ascended to the root using ".." the result may be empty now. if test -z "$func_normal_abspath_result"; then func_normal_abspath_result=/ fi break fi func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$_G_pathcar"` func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$_G_pathcdr"` # Figure out what to do with it case $func_normal_abspath_tcomponent in "") # Trailing empty path component, ignore it. ;; ..) # Parent dir; strip last assembled component from result. func_dirname "$func_normal_abspath_result" func_normal_abspath_result=$func_dirname_result ;; *) # Actual path component, append it. func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" ;; esac done # Restore leading double-slash if one was found on entry. func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result } # func_notquiet ARG... # -------------------- # Echo program name prefixed message only when not in quiet mode. func_notquiet () { $debug_cmd $opt_quiet || func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: : } # func_relative_path SRCDIR DSTDIR # -------------------------------- # Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. func_relative_path () { $debug_cmd func_relative_path_result= func_normal_abspath "$1" func_relative_path_tlibdir=$func_normal_abspath_result func_normal_abspath "$2" func_relative_path_tbindir=$func_normal_abspath_result # Ascend the tree starting from libdir while :; do # check if we have found a prefix of bindir case $func_relative_path_tbindir in $func_relative_path_tlibdir) # found an exact match func_relative_path_tcancelled= break ;; $func_relative_path_tlibdir*) # found a matching prefix func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" func_relative_path_tcancelled=$func_stripname_result if test -z "$func_relative_path_result"; then func_relative_path_result=. fi break ;; *) func_dirname $func_relative_path_tlibdir func_relative_path_tlibdir=$func_dirname_result if test -z "$func_relative_path_tlibdir"; then # Have to descend all the way to the root! func_relative_path_result=../$func_relative_path_result func_relative_path_tcancelled=$func_relative_path_tbindir break fi func_relative_path_result=../$func_relative_path_result ;; esac done # Now calculate path; take care to avoid doubling-up slashes. func_stripname '' '/' "$func_relative_path_result" func_relative_path_result=$func_stripname_result func_stripname '/' '/' "$func_relative_path_tcancelled" if test -n "$func_stripname_result"; then func_append func_relative_path_result "/$func_stripname_result" fi # Normalisation. If bindir is libdir, return '.' else relative path. if test -n "$func_relative_path_result"; then func_stripname './' '' "$func_relative_path_result" func_relative_path_result=$func_stripname_result fi test -n "$func_relative_path_result" || func_relative_path_result=. : } # func_quote_for_eval ARG... # -------------------------- # Aesthetically quote ARGs to be evaled later. # This function returns two values: # i) func_quote_for_eval_result # double-quoted, suitable for a subsequent eval # ii) func_quote_for_eval_unquoted_result # has all characters that are still active within double # quotes backslashified. func_quote_for_eval () { $debug_cmd func_quote_for_eval_unquoted_result= func_quote_for_eval_result= while test 0 -lt $#; do case $1 in *[\\\`\"\$]*) _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; *) _G_unquoted_arg=$1 ;; esac if test -n "$func_quote_for_eval_unquoted_result"; then func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" else func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" fi case $_G_unquoted_arg in # Double-quote args containing shell metacharacters to delay # word splitting, command substitution and variable expansion # for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") _G_quoted_arg=\"$_G_unquoted_arg\" ;; *) _G_quoted_arg=$_G_unquoted_arg ;; esac if test -n "$func_quote_for_eval_result"; then func_append func_quote_for_eval_result " $_G_quoted_arg" else func_append func_quote_for_eval_result "$_G_quoted_arg" fi shift done } # func_quote_for_expand ARG # ------------------------- # Aesthetically quote ARG to be evaled later; same as above, # but do not quote variable references. func_quote_for_expand () { $debug_cmd case $1 in *[\\\`\"]*) _G_arg=`$ECHO "$1" | $SED \ -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; *) _G_arg=$1 ;; esac case $_G_arg in # Double-quote args containing shell metacharacters to delay # word splitting and command substitution for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") _G_arg=\"$_G_arg\" ;; esac func_quote_for_expand_result=$_G_arg } # func_stripname PREFIX SUFFIX NAME # --------------------------------- # strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). if test yes = "$_G_HAVE_XSI_OPS"; then eval 'func_stripname () { $debug_cmd # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary variable first. func_stripname_result=$3 func_stripname_result=${func_stripname_result#"$1"} func_stripname_result=${func_stripname_result%"$2"} }' else func_stripname () { $debug_cmd case $2 in .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; esac } fi # func_show_eval CMD [FAIL_EXP] # ----------------------------- # Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. func_show_eval () { $debug_cmd _G_cmd=$1 _G_fail_exp=${2-':'} func_quote_for_expand "$_G_cmd" eval "func_notquiet $func_quote_for_expand_result" $opt_dry_run || { eval "$_G_cmd" _G_status=$? if test 0 -ne "$_G_status"; then eval "(exit $_G_status); $_G_fail_exp" fi } } # func_show_eval_locale CMD [FAIL_EXP] # ------------------------------------ # Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. Use the saved locale for evaluation. func_show_eval_locale () { $debug_cmd _G_cmd=$1 _G_fail_exp=${2-':'} $opt_quiet || { func_quote_for_expand "$_G_cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || { eval "$_G_user_locale $_G_cmd" _G_status=$? eval "$_G_safe_locale" if test 0 -ne "$_G_status"; then eval "(exit $_G_status); $_G_fail_exp" fi } } # func_tr_sh # ---------- # Turn $1 into a string suitable for a shell variable name. # Result is stored in $func_tr_sh_result. All characters # not in the set a-zA-Z0-9_ are replaced with '_'. Further, # if $1 begins with a digit, a '_' is prepended as well. func_tr_sh () { $debug_cmd case $1 in [0-9]* | *[!a-zA-Z0-9_]*) func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` ;; * ) func_tr_sh_result=$1 ;; esac } # func_verbose ARG... # ------------------- # Echo program name prefixed message in verbose mode only. func_verbose () { $debug_cmd $opt_verbose && func_echo "$*" : } # func_warn_and_continue ARG... # ----------------------------- # Echo program name prefixed warning message to standard error. func_warn_and_continue () { $debug_cmd $require_term_colors func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 } # func_warning CATEGORY ARG... # ---------------------------- # Echo program name prefixed warning message to standard error. Warning # messages can be filtered according to CATEGORY, where this function # elides messages where CATEGORY is not listed in the global variable # 'opt_warning_types'. func_warning () { $debug_cmd # CATEGORY must be in the warning_categories list! case " $warning_categories " in *" $1 "*) ;; *) func_internal_error "invalid warning category '$1'" ;; esac _G_category=$1 shift case " $opt_warning_types " in *" $_G_category "*) $warning_func ${1+"$@"} ;; esac } # func_sort_ver VER1 VER2 # ----------------------- # 'sort -V' is not generally available. # Note this deviates from the version comparison in automake # in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a # but this should suffice as we won't be specifying old # version formats or redundant trailing .0 in bootstrap.conf. # If we did want full compatibility then we should probably # use m4_version_compare from autoconf. func_sort_ver () { $debug_cmd printf '%s\n%s\n' "$1" "$2" \ | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n } # func_lt_ver PREV CURR # --------------------- # Return true if PREV and CURR are in the correct order according to # func_sort_ver, otherwise false. Use it like this: # # func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." func_lt_ver () { $debug_cmd test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` } # Local variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: #! /bin/sh # Set a version string for this script. scriptversion=2015-10-07.11; # UTC # A portable, pluggable option parser for Bourne shell. # Written by Gary V. Vaughan, 2010 # Copyright (C) 2010-2015 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Please report bugs or propose patches to gary@gnu.org. ## ------ ## ## Usage. ## ## ------ ## # This file is a library for parsing options in your shell scripts along # with assorted other useful supporting features that you can make use # of too. # # For the simplest scripts you might need only: # # #!/bin/sh # . relative/path/to/funclib.sh # . relative/path/to/options-parser # scriptversion=1.0 # func_options ${1+"$@"} # eval set dummy "$func_options_result"; shift # ...rest of your script... # # In order for the '--version' option to work, you will need to have a # suitably formatted comment like the one at the top of this file # starting with '# Written by ' and ending with '# warranty; '. # # For '-h' and '--help' to work, you will also need a one line # description of your script's purpose in a comment directly above the # '# Written by ' line, like the one at the top of this file. # # The default options also support '--debug', which will turn on shell # execution tracing (see the comment above debug_cmd below for another # use), and '--verbose' and the func_verbose function to allow your script # to display verbose messages only when your user has specified # '--verbose'. # # After sourcing this file, you can plug processing for additional # options by amending the variables from the 'Configuration' section # below, and following the instructions in the 'Option parsing' # section further down. ## -------------- ## ## Configuration. ## ## -------------- ## # You should override these variables in your script after sourcing this # file so that they reflect the customisations you have added to the # option parser. # The usage line for option parsing errors and the start of '-h' and # '--help' output messages. You can embed shell variables for delayed # expansion at the time the message is displayed, but you will need to # quote other shell meta-characters carefully to prevent them being # expanded when the contents are evaled. usage='$progpath [OPTION]...' # Short help message in response to '-h' and '--help'. Add to this or # override it after sourcing this library to reflect the full set of # options your script accepts. usage_message="\ --debug enable verbose shell tracing -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] -v, --verbose verbosely report processing --version print version information and exit -h, --help print short or long help message and exit " # Additional text appended to 'usage_message' in response to '--help'. long_help_message=" Warning categories include: 'all' show all warnings 'none' turn off all the warnings 'error' warnings are treated as fatal errors" # Help message printed before fatal option parsing errors. fatal_help="Try '\$progname --help' for more information." ## ------------------------- ## ## Hook function management. ## ## ------------------------- ## # This section contains functions for adding, removing, and running hooks # to the main code. A hook is just a named list of of function, that can # be run in order later on. # func_hookable FUNC_NAME # ----------------------- # Declare that FUNC_NAME will run hooks added with # 'func_add_hook FUNC_NAME ...'. func_hookable () { $debug_cmd func_append hookable_fns " $1" } # func_add_hook FUNC_NAME HOOK_FUNC # --------------------------------- # Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must # first have been declared "hookable" by a call to 'func_hookable'. func_add_hook () { $debug_cmd case " $hookable_fns " in *" $1 "*) ;; *) func_fatal_error "'$1' does not accept hook functions." ;; esac eval func_append ${1}_hooks '" $2"' } # func_remove_hook FUNC_NAME HOOK_FUNC # ------------------------------------ # Remove HOOK_FUNC from the list of functions called by FUNC_NAME. func_remove_hook () { $debug_cmd eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' } # func_run_hooks FUNC_NAME [ARG]... # --------------------------------- # Run all hook functions registered to FUNC_NAME. # It is assumed that the list of hook functions contains nothing more # than a whitespace-delimited list of legal shell function names, and # no effort is wasted trying to catch shell meta-characters or preserve # whitespace. func_run_hooks () { $debug_cmd _G_rc_run_hooks=false case " $hookable_fns " in *" $1 "*) ;; *) func_fatal_error "'$1' does not support hook funcions.n" ;; esac eval _G_hook_fns=\$$1_hooks; shift for _G_hook in $_G_hook_fns; do if eval $_G_hook '"$@"'; then # store returned options list back into positional # parameters for next 'cmd' execution. eval _G_hook_result=\$${_G_hook}_result eval set dummy "$_G_hook_result"; shift _G_rc_run_hooks=: fi done $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result } ## --------------- ## ## Option parsing. ## ## --------------- ## # In order to add your own option parsing hooks, you must accept the # full positional parameter list in your hook function, you may remove/edit # any options that you action, and then pass back the remaining unprocessed # options in '_result', escaped suitably for # 'eval'. In this case you also must return $EXIT_SUCCESS to let the # hook's caller know that it should pay attention to # '_result'. Returning $EXIT_FAILURE signalizes that # arguments are left untouched by the hook and therefore caller will ignore the # result variable. # # Like this: # # my_options_prep () # { # $debug_cmd # # # Extend the existing usage message. # usage_message=$usage_message' # -s, --silent don'\''t print informational messages # ' # # No change in '$@' (ignored completely by this hook). There is # # no need to do the equivalent (but slower) action: # # func_quote_for_eval ${1+"$@"} # # my_options_prep_result=$func_quote_for_eval_result # false # } # func_add_hook func_options_prep my_options_prep # # # my_silent_option () # { # $debug_cmd # # args_changed=false # # # Note that for efficiency, we parse as many options as we can # # recognise in a loop before passing the remainder back to the # # caller on the first unrecognised argument we encounter. # while test $# -gt 0; do # opt=$1; shift # case $opt in # --silent|-s) opt_silent=: # args_changed=: # ;; # # Separate non-argument short options: # -s*) func_split_short_opt "$_G_opt" # set dummy "$func_split_short_opt_name" \ # "-$func_split_short_opt_arg" ${1+"$@"} # shift # args_changed=: # ;; # *) # Make sure the first unrecognised option "$_G_opt" # # is added back to "$@", we could need that later # # if $args_changed is true. # set dummy "$_G_opt" ${1+"$@"}; shift; break ;; # esac # done # # if $args_changed; then # func_quote_for_eval ${1+"$@"} # my_silent_option_result=$func_quote_for_eval_result # fi # # $args_changed # } # func_add_hook func_parse_options my_silent_option # # # my_option_validation () # { # $debug_cmd # # $opt_silent && $opt_verbose && func_fatal_help "\ # '--silent' and '--verbose' options are mutually exclusive." # # false # } # func_add_hook func_validate_options my_option_validation # # You'll also need to manually amend $usage_message to reflect the extra # options you parse. It's preferable to append if you can, so that # multiple option parsing hooks can be added safely. # func_options_finish [ARG]... # ---------------------------- # Finishing the option parse loop (call 'func_options' hooks ATM). func_options_finish () { $debug_cmd _G_func_options_finish_exit=false if func_run_hooks func_options ${1+"$@"}; then func_options_finish_result=$func_run_hooks_result _G_func_options_finish_exit=: fi $_G_func_options_finish_exit } # func_options [ARG]... # --------------------- # All the functions called inside func_options are hookable. See the # individual implementations for details. func_hookable func_options func_options () { $debug_cmd _G_rc_options=false for my_func in options_prep parse_options validate_options options_finish do if eval func_$my_func '${1+"$@"}'; then eval _G_res_var='$'"func_${my_func}_result" eval set dummy "$_G_res_var" ; shift _G_rc_options=: fi done # Save modified positional parameters for caller. As a top-level # options-parser function we always need to set the 'func_options_result' # variable (regardless the $_G_rc_options value). if $_G_rc_options; then func_options_result=$_G_res_var else func_quote_for_eval ${1+"$@"} func_options_result=$func_quote_for_eval_result fi $_G_rc_options } # func_options_prep [ARG]... # -------------------------- # All initialisations required before starting the option parse loop. # Note that when calling hook functions, we pass through the list of # positional parameters. If a hook function modifies that list, and # needs to propagate that back to rest of this script, then the complete # modified list must be put in 'func_run_hooks_result' before # returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned). func_hookable func_options_prep func_options_prep () { $debug_cmd # Option defaults: opt_verbose=false opt_warning_types= _G_rc_options_prep=false if func_run_hooks func_options_prep ${1+"$@"}; then _G_rc_options_prep=: # save modified positional parameters for caller func_options_prep_result=$func_run_hooks_result fi $_G_rc_options_prep } # func_parse_options [ARG]... # --------------------------- # The main option parsing loop. func_hookable func_parse_options func_parse_options () { $debug_cmd func_parse_options_result= _G_rc_parse_options=false # this just eases exit handling while test $# -gt 0; do # Defer to hook functions for initial option parsing, so they # get priority in the event of reusing an option name. if func_run_hooks func_parse_options ${1+"$@"}; then eval set dummy "$func_run_hooks_result"; shift _G_rc_parse_options=: fi # Break out of the loop if we already parsed every option. test $# -gt 0 || break _G_match_parse_options=: _G_opt=$1 shift case $_G_opt in --debug|-x) debug_cmd='set -x' func_echo "enabling shell trace mode" $debug_cmd ;; --no-warnings|--no-warning|--no-warn) set dummy --warnings none ${1+"$@"} shift ;; --warnings|--warning|-W) if test $# = 0 && func_missing_arg $_G_opt; then _G_rc_parse_options=: break fi case " $warning_categories $1" in *" $1 "*) # trailing space prevents matching last $1 above func_append_uniq opt_warning_types " $1" ;; *all) opt_warning_types=$warning_categories ;; *none) opt_warning_types=none warning_func=: ;; *error) opt_warning_types=$warning_categories warning_func=func_fatal_error ;; *) func_fatal_error \ "unsupported warning category: '$1'" ;; esac shift ;; --verbose|-v) opt_verbose=: ;; --version) func_version ;; -\?|-h) func_usage ;; --help) func_help ;; # Separate optargs to long options (plugins may need this): --*=*) func_split_equals "$_G_opt" set dummy "$func_split_equals_lhs" \ "$func_split_equals_rhs" ${1+"$@"} shift ;; # Separate optargs to short options: -W*) func_split_short_opt "$_G_opt" set dummy "$func_split_short_opt_name" \ "$func_split_short_opt_arg" ${1+"$@"} shift ;; # Separate non-argument short options: -\?*|-h*|-v*|-x*) func_split_short_opt "$_G_opt" set dummy "$func_split_short_opt_name" \ "-$func_split_short_opt_arg" ${1+"$@"} shift ;; --) _G_rc_parse_options=: ; break ;; -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; *) set dummy "$_G_opt" ${1+"$@"}; shift _G_match_parse_options=false break ;; esac $_G_match_parse_options && _G_rc_parse_options=: done if $_G_rc_parse_options; then # save modified positional parameters for caller func_quote_for_eval ${1+"$@"} func_parse_options_result=$func_quote_for_eval_result fi $_G_rc_parse_options } # func_validate_options [ARG]... # ------------------------------ # Perform any sanity checks on option settings and/or unconsumed # arguments. func_hookable func_validate_options func_validate_options () { $debug_cmd _G_rc_validate_options=false # Display all warnings if -W was not given. test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" if func_run_hooks func_validate_options ${1+"$@"}; then # save modified positional parameters for caller func_validate_options_result=$func_run_hooks_result _G_rc_validate_options=: fi # Bail if the options were screwed! $exit_cmd $EXIT_FAILURE $_G_rc_validate_options } ## ----------------- ## ## Helper functions. ## ## ----------------- ## # This section contains the helper functions used by the rest of the # hookable option parser framework in ascii-betical order. # func_fatal_help ARG... # ---------------------- # Echo program name prefixed message to standard error, followed by # a help hint, and exit. func_fatal_help () { $debug_cmd eval \$ECHO \""Usage: $usage"\" eval \$ECHO \""$fatal_help"\" func_error ${1+"$@"} exit $EXIT_FAILURE } # func_help # --------- # Echo long help message to standard output and exit. func_help () { $debug_cmd func_usage_message $ECHO "$long_help_message" exit 0 } # func_missing_arg ARGNAME # ------------------------ # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { $debug_cmd func_error "Missing argument for '$1'." exit_cmd=exit } # func_split_equals STRING # ------------------------ # Set func_split_equals_lhs and func_split_equals_rhs shell variables after # splitting STRING at the '=' sign. test -z "$_G_HAVE_XSI_OPS" \ && (eval 'x=a/b/c; test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ && _G_HAVE_XSI_OPS=yes if test yes = "$_G_HAVE_XSI_OPS" then # This is an XSI compatible shell, allowing a faster implementation... eval 'func_split_equals () { $debug_cmd func_split_equals_lhs=${1%%=*} func_split_equals_rhs=${1#*=} test "x$func_split_equals_lhs" = "x$1" \ && func_split_equals_rhs= }' else # ...otherwise fall back to using expr, which is often a shell builtin. func_split_equals () { $debug_cmd func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` func_split_equals_rhs= test "x$func_split_equals_lhs" = "x$1" \ || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` } fi #func_split_equals # func_split_short_opt SHORTOPT # ----------------------------- # Set func_split_short_opt_name and func_split_short_opt_arg shell # variables after splitting SHORTOPT after the 2nd character. if test yes = "$_G_HAVE_XSI_OPS" then # This is an XSI compatible shell, allowing a faster implementation... eval 'func_split_short_opt () { $debug_cmd func_split_short_opt_arg=${1#??} func_split_short_opt_name=${1%"$func_split_short_opt_arg"} }' else # ...otherwise fall back to using expr, which is often a shell builtin. func_split_short_opt () { $debug_cmd func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` } fi #func_split_short_opt # func_usage # ---------- # Echo short help message to standard output and exit. func_usage () { $debug_cmd func_usage_message $ECHO "Run '$progname --help |${PAGER-more}' for full usage" exit 0 } # func_usage_message # ------------------ # Echo short help message to standard output. func_usage_message () { $debug_cmd eval \$ECHO \""Usage: $usage"\" echo $SED -n 's|^# || /^Written by/{ x;p;x } h /^Written by/q' < "$progpath" echo eval \$ECHO \""$usage_message"\" } # func_version # ------------ # Echo version message to standard output and exit. func_version () { $debug_cmd printf '%s\n' "$progname $scriptversion" $SED -n ' /(C)/!b go :more /\./!{ N s|\n# | | b more } :go /^# Written by /,/# warranty; / { s|^# || s|^# *$|| s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| p } /^# Written by / { s|^# || p } /^warranty; /q' < "$progpath" exit $? } # Local variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: # Set a version string. scriptversion='(GNU libtool) 2.4.6' # func_echo ARG... # ---------------- # Libtool also displays the current mode in messages, so override # funclib.sh func_echo with this custom definition. func_echo () { $debug_cmd _G_message=$* func_echo_IFS=$IFS IFS=$nl for _G_line in $_G_message; do IFS=$func_echo_IFS $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" done IFS=$func_echo_IFS } # func_warning ARG... # ------------------- # Libtool warnings are not categorized, so override funclib.sh # func_warning with this simpler definition. func_warning () { $debug_cmd $warning_func ${1+"$@"} } ## ---------------- ## ## Options parsing. ## ## ---------------- ## # Hook in the functions to make sure our own options are parsed during # the option parsing loop. usage='$progpath [OPTION]... [MODE-ARG]...' # Short help message in response to '-h'. usage_message="Options: --config show all configuration variables --debug enable verbose shell tracing -n, --dry-run display commands without modifying any files --features display basic configuration information and exit --mode=MODE use operation mode MODE --no-warnings equivalent to '-Wnone' --preserve-dup-deps don't remove duplicate dependency libraries --quiet, --silent don't print informational messages --tag=TAG use configuration variables from tag TAG -v, --verbose print more informational messages than default --version print version information -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] -h, --help, --help-all print short, long, or detailed help message " # Additional text appended to 'usage_message' in response to '--help'. func_help () { $debug_cmd func_usage_message $ECHO "$long_help_message MODE must be one of the following: clean remove files from the build directory compile compile a source file into a libtool object execute automatically set library path, then run a program finish complete the installation of libtool libraries install install libraries or executables link create a library or an executable uninstall remove libraries from an installed directory MODE-ARGS vary depending on the MODE. When passed as first option, '--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. Try '$progname --help --mode=MODE' for a more detailed description of MODE. When reporting a bug, please describe a test case to reproduce it and include the following information: host-triplet: $host shell: $SHELL compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) version: $progname $scriptversion Debian-2.4.6-9 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` Report bugs to . GNU libtool home page: . General help using GNU software: ." exit 0 } # func_lo2o OBJECT-NAME # --------------------- # Transform OBJECT-NAME from a '.lo' suffix to the platform specific # object suffix. lo2o=s/\\.lo\$/.$objext/ o2lo=s/\\.$objext\$/.lo/ if test yes = "$_G_HAVE_XSI_OPS"; then eval 'func_lo2o () { case $1 in *.lo) func_lo2o_result=${1%.lo}.$objext ;; * ) func_lo2o_result=$1 ;; esac }' # func_xform LIBOBJ-OR-SOURCE # --------------------------- # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) # suffix to a '.lo' libtool-object suffix. eval 'func_xform () { func_xform_result=${1%.*}.lo }' else # ...otherwise fall back to using sed. func_lo2o () { func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` } func_xform () { func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` } fi # func_fatal_configuration ARG... # ------------------------------- # Echo program name prefixed message to standard error, followed by # a configuration failure hint, and exit. func_fatal_configuration () { func__fatal_error ${1+"$@"} \ "See the $PACKAGE documentation for more information." \ "Fatal configuration error." } # func_config # ----------- # Display the configuration for all the tags in this script. func_config () { re_begincf='^# ### BEGIN LIBTOOL' re_endcf='^# ### END LIBTOOL' # Default configuration. $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" # Now print the configurations for the tags. for tagname in $taglist; do $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" done exit $? } # func_features # ------------- # Display the features supported by this script. func_features () { echo "host: $host" if test yes = "$build_libtool_libs"; then echo "enable shared libraries" else echo "disable shared libraries" fi if test yes = "$build_old_libs"; then echo "enable static libraries" else echo "disable static libraries" fi exit $? } # func_enable_tag TAGNAME # ----------------------- # Verify that TAGNAME is valid, and either flag an error and exit, or # enable the TAGNAME tag. We also add TAGNAME to the global $taglist # variable here. func_enable_tag () { # Global variable: tagname=$1 re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" sed_extractcf=/$re_begincf/,/$re_endcf/p # Validate tagname. case $tagname in *[!-_A-Za-z0-9,/]*) func_fatal_error "invalid tag name: $tagname" ;; esac # Don't test for the "default" C tag, as we know it's # there but not specially marked. case $tagname in CC) ;; *) if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then taglist="$taglist $tagname" # Evaluate the configuration. Be careful to quote the path # and the sed script, to avoid splitting on whitespace, but # also don't use non-portable quotes within backquotes within # quotes we have to do it in 2 steps: extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` eval "$extractedcf" else func_error "ignoring unknown tag $tagname" fi ;; esac } # func_check_version_match # ------------------------ # Ensure that we are using m4 macros, and libtool script from the same # release of libtool. func_check_version_match () { if test "$package_revision" != "$macro_revision"; then if test "$VERSION" != "$macro_version"; then if test -z "$macro_version"; then cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from an older release. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from $PACKAGE $macro_version. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF fi else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, $progname: but the definition of this LT_INIT comes from revision $macro_revision. $progname: You should recreate aclocal.m4 with macros from revision $package_revision $progname: of $PACKAGE $VERSION and run autoconf again. _LT_EOF fi exit $EXIT_MISMATCH fi } # libtool_options_prep [ARG]... # ----------------------------- # Preparation for options parsed by libtool. libtool_options_prep () { $debug_mode # Option defaults: opt_config=false opt_dlopen= opt_dry_run=false opt_help=false opt_mode= opt_preserve_dup_deps=false opt_quiet=false nonopt= preserve_args= _G_rc_lt_options_prep=: # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) shift; set dummy --mode clean ${1+"$@"}; shift ;; compile|compil|compi|comp|com|co|c) shift; set dummy --mode compile ${1+"$@"}; shift ;; execute|execut|execu|exec|exe|ex|e) shift; set dummy --mode execute ${1+"$@"}; shift ;; finish|finis|fini|fin|fi|f) shift; set dummy --mode finish ${1+"$@"}; shift ;; install|instal|insta|inst|ins|in|i) shift; set dummy --mode install ${1+"$@"}; shift ;; link|lin|li|l) shift; set dummy --mode link ${1+"$@"}; shift ;; uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; *) _G_rc_lt_options_prep=false ;; esac if $_G_rc_lt_options_prep; then # Pass back the list of options. func_quote_for_eval ${1+"$@"} libtool_options_prep_result=$func_quote_for_eval_result fi $_G_rc_lt_options_prep } func_add_hook func_options_prep libtool_options_prep # libtool_parse_options [ARG]... # --------------------------------- # Provide handling for libtool specific options. libtool_parse_options () { $debug_cmd _G_rc_lt_parse_options=false # Perform our own loop to consume as many options as possible in # each iteration. while test $# -gt 0; do _G_match_lt_parse_options=: _G_opt=$1 shift case $_G_opt in --dry-run|--dryrun|-n) opt_dry_run=: ;; --config) func_config ;; --dlopen|-dlopen) opt_dlopen="${opt_dlopen+$opt_dlopen }$1" shift ;; --preserve-dup-deps) opt_preserve_dup_deps=: ;; --features) func_features ;; --finish) set dummy --mode finish ${1+"$@"}; shift ;; --help) opt_help=: ;; --help-all) opt_help=': help-all' ;; --mode) test $# = 0 && func_missing_arg $_G_opt && break opt_mode=$1 case $1 in # Valid mode arguments: clean|compile|execute|finish|install|link|relink|uninstall) ;; # Catch anything else as an error *) func_error "invalid argument for $_G_opt" exit_cmd=exit break ;; esac shift ;; --no-silent|--no-quiet) opt_quiet=false func_append preserve_args " $_G_opt" ;; --no-warnings|--no-warning|--no-warn) opt_warning=false func_append preserve_args " $_G_opt" ;; --no-verbose) opt_verbose=false func_append preserve_args " $_G_opt" ;; --silent|--quiet) opt_quiet=: opt_verbose=false func_append preserve_args " $_G_opt" ;; --tag) test $# = 0 && func_missing_arg $_G_opt && break opt_tag=$1 func_append preserve_args " $_G_opt $1" func_enable_tag "$1" shift ;; --verbose|-v) opt_quiet=false opt_verbose=: func_append preserve_args " $_G_opt" ;; # An option not handled by this hook function: *) set dummy "$_G_opt" ${1+"$@"} ; shift _G_match_lt_parse_options=false break ;; esac $_G_match_lt_parse_options && _G_rc_lt_parse_options=: done if $_G_rc_lt_parse_options; then # save modified positional parameters for caller func_quote_for_eval ${1+"$@"} libtool_parse_options_result=$func_quote_for_eval_result fi $_G_rc_lt_parse_options } func_add_hook func_parse_options libtool_parse_options # libtool_validate_options [ARG]... # --------------------------------- # Perform any sanity checks on option settings and/or unconsumed # arguments. libtool_validate_options () { # save first non-option argument if test 0 -lt $#; then nonopt=$1 shift fi # preserve --debug test : = "$debug_cmd" || func_append preserve_args " --debug" case $host in # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) # don't eliminate duplications in $postdeps and $predeps opt_duplicate_compiler_generated_deps=: ;; *) opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps ;; esac $opt_help || { # Sanity checks first: func_check_version_match test yes != "$build_libtool_libs" \ && test yes != "$build_old_libs" \ && func_fatal_configuration "not configured to build any kind of library" # Darwin sucks eval std_shrext=\"$shrext_cmds\" # Only execute mode is allowed to have -dlopen flags. if test -n "$opt_dlopen" && test execute != "$opt_mode"; then func_error "unrecognized option '-dlopen'" $ECHO "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help=$help help="Try '$progname --help --mode=$opt_mode' for more information." } # Pass back the unparsed argument list func_quote_for_eval ${1+"$@"} libtool_validate_options_result=$func_quote_for_eval_result } func_add_hook func_validate_options libtool_validate_options # Process options as early as possible so that --help and --version # can return quickly. func_options ${1+"$@"} eval set dummy "$func_options_result"; shift ## ----------- ## ## Main. ## ## ----------- ## magic='%%%MAGIC variable%%%' magic_exe='%%%MAGIC EXE variable%%%' # Global variables. extracted_archives= extracted_serial=0 # If this variable is set in any of the actions, the command in it # will be execed at the end. This prevents here-documents from being # left over by shells. exec_cmd= # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } # func_generated_by_libtool # True iff stdin has been generated by Libtool. This function is only # a basic sanity check; it will hardly flush out determined imposters. func_generated_by_libtool_p () { $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 } # func_lalib_p file # True iff FILE is a libtool '.la' library or '.lo' object file. # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_lalib_p () { test -f "$1" && $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p } # func_lalib_unsafe_p file # True iff FILE is a libtool '.la' library or '.lo' object file. # This function implements the same check as func_lalib_p without # resorting to external programs. To this end, it redirects stdin and # closes it afterwards, without saving the original file descriptor. # As a safety measure, use it only where a negative result would be # fatal anyway. Works if 'file' does not exist. func_lalib_unsafe_p () { lalib_p=no if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then for lalib_p_l in 1 2 3 4 do read lalib_p_line case $lalib_p_line in \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; esac done exec 0<&5 5<&- fi test yes = "$lalib_p" } # func_ltwrapper_script_p file # True iff FILE is a libtool wrapper script # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_script_p () { test -f "$1" && $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p } # func_ltwrapper_executable_p file # True iff FILE is a libtool wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_executable_p () { func_ltwrapper_exec_suffix= case $1 in *.exe) ;; *) func_ltwrapper_exec_suffix=.exe ;; esac $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 } # func_ltwrapper_scriptname file # Assumes file is an ltwrapper_executable # uses $file to determine the appropriate filename for a # temporary ltwrapper_script. func_ltwrapper_scriptname () { func_dirname_and_basename "$1" "" "." func_stripname '' '.exe' "$func_basename_result" func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper } # func_ltwrapper_p file # True iff FILE is a libtool wrapper script or wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_p () { func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" } # func_execute_cmds commands fail_cmd # Execute tilde-delimited COMMANDS. # If FAIL_CMD is given, eval that upon failure. # FAIL_CMD may read-access the current command in variable CMD! func_execute_cmds () { $debug_cmd save_ifs=$IFS; IFS='~' for cmd in $1; do IFS=$sp$nl eval cmd=\"$cmd\" IFS=$save_ifs func_show_eval "$cmd" "${2-:}" done IFS=$save_ifs } # func_source file # Source FILE, adding directory component if necessary. # Note that it is not necessary on cygwin/mingw to append a dot to # FILE even if both FILE and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # 'FILE.' does not work on cygwin managed mounts. func_source () { $debug_cmd case $1 in */* | *\\*) . "$1" ;; *) . "./$1" ;; esac } # func_resolve_sysroot PATH # Replace a leading = in PATH with a sysroot. Store the result into # func_resolve_sysroot_result func_resolve_sysroot () { func_resolve_sysroot_result=$1 case $func_resolve_sysroot_result in =*) func_stripname '=' '' "$func_resolve_sysroot_result" func_resolve_sysroot_result=$lt_sysroot$func_stripname_result ;; esac } # func_replace_sysroot PATH # If PATH begins with the sysroot, replace it with = and # store the result into func_replace_sysroot_result. func_replace_sysroot () { case $lt_sysroot:$1 in ?*:"$lt_sysroot"*) func_stripname "$lt_sysroot" '' "$1" func_replace_sysroot_result='='$func_stripname_result ;; *) # Including no sysroot. func_replace_sysroot_result=$1 ;; esac } # func_infer_tag arg # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. # arg is usually of the form 'gcc ...' func_infer_tag () { $debug_cmd if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case $@ in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case "$@ " in " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then func_echo "unable to infer tagged configuration" func_fatal_error "specify a tag with '--tag'" # else # func_verbose "using $tagname tagged configuration" fi ;; esac fi } # func_write_libtool_object output_name pic_name nonpic_name # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. func_write_libtool_object () { write_libobj=$1 if test yes = "$build_libtool_libs"; then write_lobj=\'$2\' else write_lobj=none fi if test yes = "$build_old_libs"; then write_oldobj=\'$3\' else write_oldobj=none fi $opt_dry_run || { cat >${write_libobj}T </dev/null` if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | $SED -e "$sed_naive_backslashify"` else func_convert_core_file_wine_to_w32_result= fi fi } # end: func_convert_core_file_wine_to_w32 # func_convert_core_path_wine_to_w32 ARG # Helper function used by path conversion functions when $build is *nix, and # $host is mingw, cygwin, or some other w32 environment. Relies on a correctly # configured wine environment available, with the winepath program in $build's # $PATH. Assumes ARG has no leading or trailing path separator characters. # # ARG is path to be converted from $build format to win32. # Result is available in $func_convert_core_path_wine_to_w32_result. # Unconvertible file (directory) names in ARG are skipped; if no directory names # are convertible, then the result may be empty. func_convert_core_path_wine_to_w32 () { $debug_cmd # unfortunately, winepath doesn't convert paths, only file names func_convert_core_path_wine_to_w32_result= if test -n "$1"; then oldIFS=$IFS IFS=: for func_convert_core_path_wine_to_w32_f in $1; do IFS=$oldIFS func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" if test -n "$func_convert_core_file_wine_to_w32_result"; then if test -z "$func_convert_core_path_wine_to_w32_result"; then func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result else func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" fi fi done IFS=$oldIFS fi } # end: func_convert_core_path_wine_to_w32 # func_cygpath ARGS... # Wrapper around calling the cygpath program via LT_CYGPATH. This is used when # when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) # $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or # (2), returns the Cygwin file name or path in func_cygpath_result (input # file name or path is assumed to be in w32 format, as previously converted # from $build's *nix or MSYS format). In case (3), returns the w32 file name # or path in func_cygpath_result (input file name or path is assumed to be in # Cygwin format). Returns an empty string on error. # # ARGS are passed to cygpath, with the last one being the file name or path to # be converted. # # Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH # environment variable; do not put it in $PATH. func_cygpath () { $debug_cmd if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` if test "$?" -ne 0; then # on failure, ensure result is empty func_cygpath_result= fi else func_cygpath_result= func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" fi } #end: func_cygpath # func_convert_core_msys_to_w32 ARG # Convert file name or path ARG from MSYS format to w32 format. Return # result in func_convert_core_msys_to_w32_result. func_convert_core_msys_to_w32 () { $debug_cmd # awkward: cmd appends spaces to result func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` } #end: func_convert_core_msys_to_w32 # func_convert_file_check ARG1 ARG2 # Verify that ARG1 (a file name in $build format) was converted to $host # format in ARG2. Otherwise, emit an error message, but continue (resetting # func_to_host_file_result to ARG1). func_convert_file_check () { $debug_cmd if test -z "$2" && test -n "$1"; then func_error "Could not determine host file name corresponding to" func_error " '$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback: func_to_host_file_result=$1 fi } # end func_convert_file_check # func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH # Verify that FROM_PATH (a path in $build format) was converted to $host # format in TO_PATH. Otherwise, emit an error message, but continue, resetting # func_to_host_file_result to a simplistic fallback value (see below). func_convert_path_check () { $debug_cmd if test -z "$4" && test -n "$3"; then func_error "Could not determine the host path corresponding to" func_error " '$3'" func_error "Continuing, but uninstalled executables may not work." # Fallback. This is a deliberately simplistic "conversion" and # should not be "improved". See libtool.info. if test "x$1" != "x$2"; then lt_replace_pathsep_chars="s|$1|$2|g" func_to_host_path_result=`echo "$3" | $SED -e "$lt_replace_pathsep_chars"` else func_to_host_path_result=$3 fi fi } # end func_convert_path_check # func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG # Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT # and appending REPL if ORIG matches BACKPAT. func_convert_path_front_back_pathsep () { $debug_cmd case $4 in $1 ) func_to_host_path_result=$3$func_to_host_path_result ;; esac case $4 in $2 ) func_append func_to_host_path_result "$3" ;; esac } # end func_convert_path_front_back_pathsep ################################################## # $build to $host FILE NAME CONVERSION FUNCTIONS # ################################################## # invoked via '$to_host_file_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # Result will be available in $func_to_host_file_result. # func_to_host_file ARG # Converts the file name ARG from $build format to $host format. Return result # in func_to_host_file_result. func_to_host_file () { $debug_cmd $to_host_file_cmd "$1" } # end func_to_host_file # func_to_tool_file ARG LAZY # converts the file name ARG from $build format to toolchain format. Return # result in func_to_tool_file_result. If the conversion in use is listed # in (the comma separated) LAZY, no conversion takes place. func_to_tool_file () { $debug_cmd case ,$2, in *,"$to_tool_file_cmd",*) func_to_tool_file_result=$1 ;; *) $to_tool_file_cmd "$1" func_to_tool_file_result=$func_to_host_file_result ;; esac } # end func_to_tool_file # func_convert_file_noop ARG # Copy ARG to func_to_host_file_result. func_convert_file_noop () { func_to_host_file_result=$1 } # end func_convert_file_noop # func_convert_file_msys_to_w32 ARG # Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_file_result. func_convert_file_msys_to_w32 () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_to_host_file_result=$func_convert_core_msys_to_w32_result fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_w32 # func_convert_file_cygwin_to_w32 ARG # Convert file name ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_file_cygwin_to_w32 () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then # because $build is cygwin, we call "the" cygpath in $PATH; no need to use # LT_CYGPATH in this case. func_to_host_file_result=`cygpath -m "$1"` fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_cygwin_to_w32 # func_convert_file_nix_to_w32 ARG # Convert file name ARG from *nix to w32 format. Requires a wine environment # and a working winepath. Returns result in func_to_host_file_result. func_convert_file_nix_to_w32 () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then func_convert_core_file_wine_to_w32 "$1" func_to_host_file_result=$func_convert_core_file_wine_to_w32_result fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_w32 # func_convert_file_msys_to_cygwin ARG # Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_file_msys_to_cygwin () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_cygpath -u "$func_convert_core_msys_to_w32_result" func_to_host_file_result=$func_cygpath_result fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_cygwin # func_convert_file_nix_to_cygwin ARG # Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed # in a wine environment, working winepath, and LT_CYGPATH set. Returns result # in func_to_host_file_result. func_convert_file_nix_to_cygwin () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. func_convert_core_file_wine_to_w32 "$1" func_cygpath -u "$func_convert_core_file_wine_to_w32_result" func_to_host_file_result=$func_cygpath_result fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_cygwin ############################################# # $build to $host PATH CONVERSION FUNCTIONS # ############################################# # invoked via '$to_host_path_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # The result will be available in $func_to_host_path_result. # # Path separators are also converted from $build format to $host format. If # ARG begins or ends with a path separator character, it is preserved (but # converted to $host format) on output. # # All path conversion functions are named using the following convention: # file name conversion function : func_convert_file_X_to_Y () # path conversion function : func_convert_path_X_to_Y () # where, for any given $build/$host combination the 'X_to_Y' value is the # same. If conversion functions are added for new $build/$host combinations, # the two new functions must follow this pattern, or func_init_to_host_path_cmd # will break. # func_init_to_host_path_cmd # Ensures that function "pointer" variable $to_host_path_cmd is set to the # appropriate value, based on the value of $to_host_file_cmd. to_host_path_cmd= func_init_to_host_path_cmd () { $debug_cmd if test -z "$to_host_path_cmd"; then func_stripname 'func_convert_file_' '' "$to_host_file_cmd" to_host_path_cmd=func_convert_path_$func_stripname_result fi } # func_to_host_path ARG # Converts the path ARG from $build format to $host format. Return result # in func_to_host_path_result. func_to_host_path () { $debug_cmd func_init_to_host_path_cmd $to_host_path_cmd "$1" } # end func_to_host_path # func_convert_path_noop ARG # Copy ARG to func_to_host_path_result. func_convert_path_noop () { func_to_host_path_result=$1 } # end func_convert_path_noop # func_convert_path_msys_to_w32 ARG # Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_path_result. func_convert_path_msys_to_w32 () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # Remove leading and trailing path separator characters from ARG. MSYS # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; # and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result=$func_convert_core_msys_to_w32_result func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_msys_to_w32 # func_convert_path_cygwin_to_w32 ARG # Convert path ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_path_cygwin_to_w32 () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_cygwin_to_w32 # func_convert_path_nix_to_w32 ARG # Convert path ARG from *nix to w32 format. Requires a wine environment and # a working winepath. Returns result in func_to_host_file_result. func_convert_path_nix_to_w32 () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result=$func_convert_core_path_wine_to_w32_result func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_nix_to_w32 # func_convert_path_msys_to_cygwin ARG # Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_path_msys_to_cygwin () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_msys_to_w32_result" func_to_host_path_result=$func_cygpath_result func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_msys_to_cygwin # func_convert_path_nix_to_cygwin ARG # Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a # a wine environment, working winepath, and LT_CYGPATH set. Returns result in # func_to_host_file_result. func_convert_path_nix_to_cygwin () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # Remove leading and trailing path separator characters from # ARG. msys behavior is inconsistent here, cygpath turns them # into '.;' and ';.', and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" func_to_host_path_result=$func_cygpath_result func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_nix_to_cygwin # func_dll_def_p FILE # True iff FILE is a Windows DLL '.def' file. # Keep in sync with _LT_DLL_DEF_P in libtool.m4 func_dll_def_p () { $debug_cmd func_dll_def_p_tmp=`$SED -n \ -e 's/^[ ]*//' \ -e '/^\(;.*\)*$/d' \ -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ -e q \ "$1"` test DEF = "$func_dll_def_p_tmp" } # func_mode_compile arg... func_mode_compile () { $debug_cmd # Get the compilation command and the source file. base_compile= srcfile=$nonopt # always keep a non-empty value in "srcfile" suppress_opt=yes suppress_output= arg_mode=normal libobj= later= pie_flag= for arg do case $arg_mode in arg ) # do not "continue". Instead, add this to base_compile lastarg=$arg arg_mode=normal ;; target ) libobj=$arg arg_mode=normal continue ;; normal ) # Accept any command-line options. case $arg in -o) test -n "$libobj" && \ func_fatal_error "you cannot specify '-o' more than once" arg_mode=target continue ;; -pie | -fpie | -fPIE) func_append pie_flag " $arg" continue ;; -shared | -static | -prefer-pic | -prefer-non-pic) func_append later " $arg" continue ;; -no-suppress) suppress_opt=no continue ;; -Xcompiler) arg_mode=arg # the next one goes into the "base_compile" arg list continue # The current "srcfile" will either be retained or ;; # replaced later. I would guess that would be a bug. -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result lastarg= save_ifs=$IFS; IFS=, for arg in $args; do IFS=$save_ifs func_append_quoted lastarg "$arg" done IFS=$save_ifs func_stripname ' ' '' "$lastarg" lastarg=$func_stripname_result # Add the arguments to base_compile. func_append base_compile " $lastarg" continue ;; *) # Accept the current argument as the source file. # The previous "srcfile" becomes the current argument. # lastarg=$srcfile srcfile=$arg ;; esac # case $arg ;; esac # case $arg_mode # Aesthetically quote the previous argument. func_append_quoted base_compile "$lastarg" done # for arg case $arg_mode in arg) func_fatal_error "you must specify an argument for -Xcompile" ;; target) func_fatal_error "you must specify a target with '-o'" ;; *) # Get the name of the library object. test -z "$libobj" && { func_basename "$srcfile" libobj=$func_basename_result } ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo case $libobj in *.[cCFSifmso] | \ *.ada | *.adb | *.ads | *.asm | \ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) func_xform "$libobj" libobj=$func_xform_result ;; esac case $libobj in *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; *) func_fatal_error "cannot determine name of library object from '$libobj'" ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -shared) test yes = "$build_libtool_libs" \ || func_fatal_configuration "cannot build a shared library" build_old_libs=no continue ;; -static) build_libtool_libs=no build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done func_quote_for_eval "$libobj" test "X$libobj" != "X$func_quote_for_eval_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ && func_warning "libobj name '$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" objname=$func_basename_result xdir=$func_dirname_result lobj=$xdir$objdir/$objname test -z "$base_compile" && \ func_fatal_help "you must specify a compilation command" # Delete any leftover library objects. if test yes = "$build_old_libs"; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2* | cegcc*) pic_mode=default ;; esac if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test no = "$compiler_c_o"; then output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext lockfile=$output_obj.lock else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test yes = "$need_locks"; then until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done elif test warn = "$need_locks"; then if test -f "$lockfile"; then $ECHO "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support '-c' and '-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi func_append removelist " $output_obj" $ECHO "$srcfile" > "$lockfile" fi $opt_dry_run || $RM $removelist func_append removelist " $lockfile" trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result func_quote_for_eval "$srcfile" qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. if test yes = "$build_libtool_libs"; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test no != "$pic_mode"; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code command="$base_compile $qsrcfile" fi func_mkdir_p "$xdir$objdir" if test -z "$output_obj"; then # Place PIC objects in $objdir func_append command " -o $lobj" fi func_show_eval_locale "$command" \ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' if test warn = "$need_locks" && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support '-c' and '-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then func_show_eval '$MV "$output_obj" "$lobj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi # Allow error messages only from the first compilation. if test yes = "$suppress_opt"; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. if test yes = "$build_old_libs"; then if test yes != "$pic_mode"; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi if test yes = "$compiler_c_o"; then func_append command " -o $obj" fi # Suppress compiler output if we already did a PIC compilation. func_append command "$suppress_output" func_show_eval_locale "$command" \ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' if test warn = "$need_locks" && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support '-c' and '-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then func_show_eval '$MV "$output_obj" "$obj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi fi $opt_dry_run || { func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" # Unlock the critical section if it was locked if test no != "$need_locks"; then removelist=$lockfile $RM "$lockfile" fi } exit $EXIT_SUCCESS } $opt_help || { test compile = "$opt_mode" && func_mode_compile ${1+"$@"} } func_mode_help () { # We need to display help for each of the modes. case $opt_mode in "") # Generic help is extracted from the usage comments # at the start of this file. func_help ;; clean) $ECHO \ "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $ECHO \ "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -no-suppress do not suppress compiler output for multiple passes -prefer-pic try to build PIC objects only -prefer-non-pic try to build non-PIC objects only -shared do not build a '.o' file suitable for static linking -static only build a '.o' file suitable for static linking -Wc,FLAG pass FLAG directly to the compiler COMPILE-COMMAND is a command to be used in creating a 'standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix '.c' with the library object suffix, '.lo'." ;; execute) $ECHO \ "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to '-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $ECHO \ "Usage: $progname [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the '--dry-run' option if you just want to see what would be executed." ;; install) $ECHO \ "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the 'install' or 'cp' program. The following components of INSTALL-COMMAND are treated specially: -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $ECHO \ "Usage: $progname [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -bindir BINDIR specify path to binaries directory (for systems where libraries must be found in the PATH setting at runtime) -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE use a list of object files found in FILE to specify objects -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -shared only do dynamic linking of libtool libraries -shrext SUFFIX override the standard shared library file extension -static do not do any dynamic linking of uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] -weak LIBNAME declare that the target provides the LIBNAME interface -Wc,FLAG -Xcompiler FLAG pass linker-specific FLAG directly to the compiler -Wl,FLAG -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) All other options (arguments beginning with '-') are ignored. Every other argument is treated as a filename. Files ending in '.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in '.la', then a libtool library is created, only library objects ('.lo' files) may be specified, and '-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created using 'ar' and 'ranlib', or on Windows using 'lib'. If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $ECHO \ "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) func_fatal_help "invalid operation mode '$opt_mode'" ;; esac echo $ECHO "Try '$progname --help' for more information about other modes." } # Now that we've collected a possible --mode arg, show help if necessary if $opt_help; then if test : = "$opt_help"; then func_mode_help else { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do func_mode_help done } | $SED -n '1p; 2,$s/^Usage:/ or: /p' { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do echo func_mode_help done } | $SED '1d /^When reporting/,/^Report/{ H d } $x /information about other modes/d /more detailed .*MODE/d s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' fi exit $? fi # func_mode_execute arg... func_mode_execute () { $debug_cmd # The first argument is the command name. cmd=$nonopt test -z "$cmd" && \ func_fatal_help "you must specify a COMMAND" # Handle -dlopen flags immediately. for file in $opt_dlopen; do test -f "$file" \ || func_fatal_help "'$file' is not a file" dir= case $file in *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "'$lib' is not a valid libtool archive" # Read the libtool library. dlname= library_names= func_source "$file" # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && \ func_warning "'$file' was not linked with '-export-dynamic'" continue fi func_dirname "$file" "" "." dir=$func_dirname_result if test -f "$dir/$objdir/$dlname"; then func_append dir "/$objdir" else if test ! -f "$dir/$dlname"; then func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" fi fi ;; *.lo) # Just add the directory containing the .lo file. func_dirname "$file" "" "." dir=$func_dirname_result ;; *) func_warning "'-dlopen' is ignored for non-libtool libraries and objects" continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir=$absdir # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic=$magic # Check if any of the arguments is a wrapper script. args= for file do case $file in -* | *.la | *.lo ) ;; *) # Do a test to see if this is really a libtool program. if func_ltwrapper_script_p "$file"; then func_source "$file" # Transform arg to wrapped name. file=$progdir/$program elif func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" func_source "$func_ltwrapper_scriptname_result" # Transform arg to wrapped name. file=$progdir/$program fi ;; esac # Quote arguments (to preserve shell metacharacters). func_append_quoted args "$file" done if $opt_dry_run; then # Display what would be done. if test -n "$shlibpath_var"; then eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" echo "export $shlibpath_var" fi $ECHO "$cmd$args" exit $EXIT_SUCCESS else if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var else $lt_unset $lt_var fi" done # Now prepare to actually exec the command. exec_cmd=\$cmd$args fi } test execute = "$opt_mode" && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { $debug_cmd libs= libdirs= admincmds= for opt in "$nonopt" ${1+"$@"} do if test -d "$opt"; then func_append libdirs " $opt" elif test -f "$opt"; then if func_lalib_unsafe_p "$opt"; then func_append libs " $opt" else func_warning "'$opt' is not a valid libtool archive" fi else func_fatal_error "invalid argument '$opt'" fi done if test -n "$libs"; then if test -n "$lt_sysroot"; then sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" else sysroot_cmd= fi # Remove sysroot references if $opt_dry_run; then for lib in $libs; do echo "removing references to $lt_sysroot and '=' prefixes from $lib" done else tmpdir=`func_mktempdir` for lib in $libs; do $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ > $tmpdir/tmp-la mv -f $tmpdir/tmp-la $lib done ${RM}r "$tmpdir" fi fi if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. func_execute_cmds "$finish_cmds" 'admincmds="$admincmds '"$cmd"'"' fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $opt_dry_run || eval "$cmds" || func_append admincmds " $cmds" fi done fi # Exit here if they wanted silent mode. $opt_quiet && exit $EXIT_SUCCESS if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then echo "----------------------------------------------------------------------" echo "Libraries have been installed in:" for libdir in $libdirs; do $ECHO " $libdir" done echo echo "If you ever happen to want to link against installed libraries" echo "in a given directory, LIBDIR, you must either use libtool, and" echo "specify the full pathname of the library, or use the '-LLIBDIR'" echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then echo " - add LIBDIR to the '$shlibpath_var' environment variable" echo " during execution" fi if test -n "$runpath_var"; then echo " - add LIBDIR to the '$runpath_var' environment variable" echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" $ECHO " - use the '$flag' linker flag" fi if test -n "$admincmds"; then $ECHO " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" fi echo echo "See any operating system documentation about shared libraries for" case $host in solaris2.[6789]|solaris2.1[0-9]) echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" echo "pages." ;; *) echo "more information, such as the ld(1) and ld.so(8) manual pages." ;; esac echo "----------------------------------------------------------------------" fi exit $EXIT_SUCCESS } test finish = "$opt_mode" && func_mode_finish ${1+"$@"} # func_mode_install arg... func_mode_install () { $debug_cmd # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || # Allow the use of GNU shtool's install command. case $nonopt in *shtool*) :;; *) false;; esac then # Aesthetically quote it. func_quote_for_eval "$nonopt" install_prog="$func_quote_for_eval_result " arg=$1 shift else install_prog= arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. func_quote_for_eval "$arg" func_append install_prog "$func_quote_for_eval_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; *) install_cp=false ;; esac # We need to accept at least all the BSD install flags. dest= files= opts= prev= install_type= isdir=false stripme= no_mode=: for arg do arg2= if test -n "$dest"; then func_append files " $dest" dest=$arg continue fi case $arg in -d) isdir=: ;; -f) if $install_cp; then :; else prev=$arg fi ;; -g | -m | -o) prev=$arg ;; -s) stripme=" -s" continue ;; -*) ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then if test X-m = "X$prev" && test -n "$install_override_mode"; then arg2=$install_override_mode no_mode=false fi prev= else dest=$arg continue fi ;; esac # Aesthetically quote the argument. func_quote_for_eval "$arg" func_append install_prog " $func_quote_for_eval_result" if test -n "$arg2"; then func_quote_for_eval "$arg2" fi func_append install_shared_prog " $func_quote_for_eval_result" done test -z "$install_prog" && \ func_fatal_help "you must specify an install program" test -n "$prev" && \ func_fatal_help "the '$prev' option requires an argument" if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else func_quote_for_eval "$install_override_mode" func_append install_shared_prog " -m $func_quote_for_eval_result" fi fi if test -z "$files"; then if test -z "$dest"; then func_fatal_help "no file or destination specified" else func_fatal_help "you must specify a destination" fi fi # Strip any trailing slash from the destination. func_stripname '' '/' "$dest" dest=$func_stripname_result # Check to see that the destination is a directory. test -d "$dest" && isdir=: if $isdir; then destdir=$dest destname= else func_dirname_and_basename "$dest" "" "." destdir=$func_dirname_result destname=$func_basename_result # Not a directory, so check to see that there is only one file specified. set dummy $files; shift test "$#" -gt 1 && \ func_fatal_help "'$dest' is not a directory" fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) func_fatal_help "'$destdir' must be an absolute directory name" ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic=$magic staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. func_append staticlibs " $file" ;; *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "'$file' is not a valid libtool archive" library_names= old_library= relink_command= func_source "$file" # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) func_append current_libdirs " $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) func_append future_libdirs " $libdir" ;; esac fi func_dirname "$file" "/" "" dir=$func_dirname_result func_append dir "$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. test "$inst_prefix_dir" = "$destdir" && \ func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi func_warning "relinking '$file'" func_show_eval "$relink_command" \ 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' fi # See the names of the shared library. set dummy $library_names; shift if test -n "$1"; then realname=$1 shift srcname=$realname test -n "$relink_command" && srcname=${realname}T # Install the shared library and build the symlinks. func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ 'exit $?' tstripme=$stripme case $host_os in cygwin* | mingw* | pw32* | cegcc*) case $realname in *.dll.a) tstripme= ;; esac ;; os2*) case $realname in *_dll.a) tstripme= ;; esac ;; esac if test -n "$tstripme" && test -n "$striplib"; then func_show_eval "$striplib $destdir/$realname" 'exit $?' fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. # Try 'ln -sf' first, because the 'ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do test "$linkname" != "$realname" \ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" done fi # Do each command in the postinstall commands. lib=$destdir/$realname func_execute_cmds "$postinstall_cmds" 'exit $?' fi # Install the pseudo-library for information purposes. func_basename "$file" name=$func_basename_result instname=$dir/${name}i func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' # Maybe install the static library, too. test -n "$old_library" && func_append staticlibs " $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile=$destdir/$destname else func_basename "$file" destfile=$func_basename_result destfile=$destdir/$destfile fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) func_lo2o "$destfile" staticdest=$func_lo2o_result ;; *.$objext) staticdest=$destfile destfile= ;; *) func_fatal_help "cannot copy a libtool object to '$destfile'" ;; esac # Install the libtool object if requested. test -n "$destfile" && \ func_show_eval "$install_prog $file $destfile" 'exit $?' # Install the old object if enabled. if test yes = "$build_old_libs"; then # Deduce the name of the old-style object file. func_lo2o "$file" staticobj=$func_lo2o_result func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' fi exit $EXIT_SUCCESS ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile=$destdir/$destname else func_basename "$file" destfile=$func_basename_result destfile=$destdir/$destfile fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext= case $file in *.exe) if test ! -f "$file"; then func_stripname '' '.exe' "$file" file=$func_stripname_result stripped_ext=.exe fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin* | *mingw*) if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" wrapper=$func_ltwrapper_scriptname_result else func_stripname '' '.exe' "$file" wrapper=$func_stripname_result fi ;; *) wrapper=$file ;; esac if func_ltwrapper_script_p "$wrapper"; then notinst_deplibs= relink_command= func_source "$wrapper" # Check the variables that should have been set. test -z "$generated_by_libtool_version" && \ func_fatal_error "invalid libtool wrapper script '$wrapper'" finalize=: for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then func_source "$lib" fi libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` if test -n "$libdir" && test ! -f "$libfile"; then func_warning "'$lib' has not been installed in '$libdir'" finalize=false fi done relink_command= func_source "$wrapper" outputname= if test no = "$fast_install" && test -n "$relink_command"; then $opt_dry_run || { if $finalize; then tmpdir=`func_mktempdir` func_basename "$file$stripped_ext" file=$func_basename_result outputname=$tmpdir/$file # Replace the output file specification. relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_quiet || { func_quote_for_expand "$relink_command" eval "func_echo $func_quote_for_expand_result" } if eval "$relink_command"; then : else func_error "error: relink '$file' with the above command before installing it" $opt_dry_run || ${RM}r "$tmpdir" continue fi file=$outputname else func_warning "cannot relink '$file'" fi } else # Install the binary that we compiled earlier. file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyway case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok ;; *.exe:*) destfile=$destfile.exe ;; *:*.exe) func_stripname '' '.exe' "$destfile" destfile=$func_stripname_result ;; esac ;; esac func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' $opt_dry_run || if test -n "$outputname"; then ${RM}r "$tmpdir" fi ;; esac done for file in $staticlibs; do func_basename "$file" name=$func_basename_result # Set up the ranlib parameters. oldlib=$destdir/$name func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result func_show_eval "$install_prog \$file \$oldlib" 'exit $?' if test -n "$stripme" && test -n "$old_striplib"; then func_show_eval "$old_striplib $tool_oldlib" 'exit $?' fi # Do each command in the postinstall commands. func_execute_cmds "$old_postinstall_cmds" 'exit $?' done test -n "$future_libdirs" && \ func_warning "remember to run '$progname --finish$future_libdirs'" if test -n "$current_libdirs"; then # Maybe just do a dry run. $opt_dry_run && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi } test install = "$opt_mode" && func_mode_install ${1+"$@"} # func_generate_dlsyms outputname originator pic_p # Extract symbols from dlprefiles and create ${outputname}S.o with # a dlpreopen symbol table. func_generate_dlsyms () { $debug_cmd my_outputname=$1 my_originator=$2 my_pic_p=${3-false} my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` my_dlsyms= if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then if test -n "$NM" && test -n "$global_symbol_pipe"; then my_dlsyms=${my_outputname}S.c else func_error "not configured to extract global symbols from dlpreopened files" fi fi if test -n "$my_dlsyms"; then case $my_dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist=$output_objdir/$my_outputname.nm func_show_eval "$RM $nlist ${nlist}S ${nlist}T" # Parse the name list into a source file. func_verbose "creating $output_objdir/$my_dlsyms" $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ /* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ /* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ #ifdef __cplusplus extern \"C\" { #endif #if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) #pragma GCC diagnostic ignored \"-Wstrict-prototypes\" #endif /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif #define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) /* External symbol declarations for the compiler. */\ " if test yes = "$dlself"; then func_verbose "generating symbol list for '$output'" $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` for progfile in $progfiles; do func_to_tool_file "$progfile" func_convert_file_msys_to_w32 func_verbose "extracting global C symbols from '$func_to_tool_file_result'" $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $opt_dry_run || { eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi if test -n "$export_symbols_regex"; then $opt_dry_run || { eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols=$output_objdir/$outputname.exp $opt_dry_run || { $RM $export_symbols eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac } else $opt_dry_run || { eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac } fi fi for dlprefile in $dlprefiles; do func_verbose "extracting global C symbols from '$dlprefile'" func_basename "$dlprefile" name=$func_basename_result case $host in *cygwin* | *mingw* | *cegcc* ) # if an import library, we need to obtain dlname if func_win32_import_lib_p "$dlprefile"; then func_tr_sh "$dlprefile" eval "curr_lafile=\$libfile_$func_tr_sh_result" dlprefile_dlbasename= if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then # Use subshell, to avoid clobbering current variable values dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` if test -n "$dlprefile_dlname"; then func_basename "$dlprefile_dlname" dlprefile_dlbasename=$func_basename_result else # no lafile. user explicitly requested -dlpreopen . $sharedlib_from_linklib_cmd "$dlprefile" dlprefile_dlbasename=$sharedlib_from_linklib_result fi fi $opt_dry_run || { if test -n "$dlprefile_dlbasename"; then eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' else func_warning "Could not compute DLL name from $name" eval '$ECHO ": $name " >> "$nlist"' fi func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" } else # not an import lib $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } fi ;; *) $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } ;; esac done $opt_dry_run || { # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $MV "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if $GREP -v "^: " < "$nlist" | if sort -k 3 /dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else $GREP -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' else echo '/* NONE */' >> "$output_objdir/$my_dlsyms" fi func_show_eval '$RM "${nlist}I"' if test -n "$global_symbol_to_import"; then eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' fi echo >> "$output_objdir/$my_dlsyms" "\ /* The mapping between symbol names and symbols. */ typedef struct { const char *name; void *address; } lt_dlsymlist; extern LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[];\ " if test -s "$nlist"I; then echo >> "$output_objdir/$my_dlsyms" "\ static void lt_syminit(void) { LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; for (; symbol->name; ++symbol) {" $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" echo >> "$output_objdir/$my_dlsyms" "\ } }" fi echo >> "$output_objdir/$my_dlsyms" "\ LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[] = { {\"$my_originator\", (void *) 0}," if test -s "$nlist"I; then echo >> "$output_objdir/$my_dlsyms" "\ {\"@INIT@\", (void *) <_syminit}," fi case $need_lib_prefix in no) eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; *) eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; esac echo >> "$output_objdir/$my_dlsyms" "\ {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_${my_prefix}_LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " } # !$opt_dry_run pic_flag_for_symtable= case "$compile_command " in *" -static "*) ;; *) case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; *) $my_pic_p && pic_flag_for_symtable=" $pic_flag" ;; esac ;; esac symtab_cflags= for arg in $LTCFLAGS; do case $arg in -pie | -fpie | -fPIE) ;; *) func_append symtab_cflags " $arg" ;; esac done # Now compile the dynamic symbol file. func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' # Clean up the generated files. func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' # Transform the symbol file into the correct name. symfileobj=$output_objdir/${my_outputname}S.$objext case $host in *cygwin* | *mingw* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` else compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` fi ;; *) compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` ;; esac ;; *) func_fatal_error "unknown suffix for '$my_dlsyms'" ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` fi } # func_cygming_gnu_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is a GNU/binutils-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_gnu_implib_p () { $debug_cmd func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` test -n "$func_cygming_gnu_implib_tmp" } # func_cygming_ms_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is an MS-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_ms_implib_p () { $debug_cmd func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` test -n "$func_cygming_ms_implib_tmp" } # func_win32_libid arg # return the library type of file 'arg' # # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. # Despite the name, also deal with 64 bit binaries. func_win32_libid () { $debug_cmd win32_libid_type=unknown win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then case $nm_interface in "MS dumpbin") if func_cygming_ms_implib_p "$1" || func_cygming_gnu_implib_p "$1" then win32_nmres=import else win32_nmres= fi ;; *) func_to_tool_file "$1" func_convert_file_msys_to_w32 win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | $SED -n -e ' 1,100{ / I /{ s|.*|import| p q } }'` ;; esac case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac fi ;; *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... case $win32_fileres in *MS\ Windows\ PE\ Intel*) win32_libid_type="x86 DLL" ;; esac ;; esac $ECHO "$win32_libid_type" } # func_cygming_dll_for_implib ARG # # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib () { $debug_cmd sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` } # func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs # # The is the core of a fallback implementation of a # platform-specific function to extract the name of the # DLL associated with the specified import library LIBNAME. # # SECTION_NAME is either .idata$6 or .idata$7, depending # on the platform and compiler that created the implib. # # Echos the name of the DLL associated with the # specified import library. func_cygming_dll_for_implib_fallback_core () { $debug_cmd match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` $OBJDUMP -s --section "$1" "$2" 2>/dev/null | $SED '/^Contents of section '"$match_literal"':/{ # Place marker at beginning of archive member dllname section s/.*/====MARK====/ p d } # These lines can sometimes be longer than 43 characters, but # are always uninteresting /:[ ]*file format pe[i]\{,1\}-/d /^In archive [^:]*:/d # Ensure marker is printed /^====MARK====/p # Remove all lines with less than 43 characters /^.\{43\}/!d # From remaining lines, remove first 43 characters s/^.\{43\}//' | $SED -n ' # Join marker and all lines until next marker into a single line /^====MARK====/ b para H $ b para b :para x s/\n//g # Remove the marker s/^====MARK====// # Remove trailing dots and whitespace s/[\. \t]*$// # Print /./p' | # we now have a list, one entry per line, of the stringified # contents of the appropriate section of all members of the # archive that possess that section. Heuristic: eliminate # all those that have a first or second character that is # a '.' (that is, objdump's representation of an unprintable # character.) This should work for all archives with less than # 0x302f exports -- but will fail for DLLs whose name actually # begins with a literal '.' or a single character followed by # a '.'. # # Of those that remain, print the first one. $SED -e '/^\./d;/^.\./d;q' } # func_cygming_dll_for_implib_fallback ARG # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # # This fallback implementation is for use when $DLLTOOL # does not support the --identify-strict option. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib_fallback () { $debug_cmd if func_cygming_gnu_implib_p "$1"; then # binutils import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` elif func_cygming_ms_implib_p "$1"; then # ms-generated import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` else # unknown sharedlib_from_linklib_result= fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { $debug_cmd f_ex_an_ar_dir=$1; shift f_ex_an_ar_oldlib=$1 if test yes = "$lock_old_archive_extraction"; then lockfile=$f_ex_an_ar_oldlib.lock until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done fi func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ 'stat=$?; rm -f "$lockfile"; exit $stat' if test yes = "$lock_old_archive_extraction"; then $opt_dry_run || rm -f "$lockfile" fi if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" fi } # func_extract_archives gentop oldlib ... func_extract_archives () { $debug_cmd my_gentop=$1; shift my_oldlibs=${1+"$@"} my_oldobjs= my_xlib= my_xabs= my_xdir= for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac func_basename "$my_xlib" my_xlib=$func_basename_result my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) func_arith $extracted_serial + 1 extracted_serial=$func_arith_result my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir=$my_gentop/$my_xlib_u func_mkdir_p "$my_xdir" case $host in *-darwin*) func_verbose "Extracting $my_xabs" # Do not bother doing anything if just a dry run $opt_dry_run || { darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` func_basename "$darwin_archive" darwin_base_archive=$func_basename_result darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` if test -n "$darwin_arches"; then darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches; do func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" cd "unfat-$$/$darwin_base_archive-$darwin_arch" func_extract_an_archive "`pwd`" "$darwin_base_archive" cd "$darwin_curdir" $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` $LIPO -create -output "$darwin_file" $darwin_files done # $darwin_filelist $RM -rf unfat-$$ cd "$darwin_orig_dir" else cd $darwin_orig_dir func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches } # !$opt_dry_run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` done func_extract_archives_result=$my_oldobjs } # func_emit_wrapper [arg=no] # # Emit a libtool wrapper script on stdout. # Don't directly open a file because we may want to # incorporate the script contents within a cygwin/mingw # wrapper executable. Must ONLY be called from within # func_mode_link because it depends on a number of variables # set therein. # # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # variable will take. If 'yes', then the emitted script # will assume that the directory where it is stored is # the $objdir directory. This is a cygwin/mingw-specific # behavior. func_emit_wrapper () { func_emit_wrapper_arg1=${1-no} $ECHO "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM (GNU $PACKAGE) $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='$sed_quote_subst' # Be Bourne compatible if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variables: generated_by_libtool_version='$macro_version' notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$ECHO are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` $ECHO "\ # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } ECHO=\"$qECHO\" fi # Very basic option parsing. These options are (a) specific to # the libtool wrapper, (b) are identical between the wrapper # /script/ and the wrapper /executable/ that is used only on # windows platforms, and (c) all begin with the string "--lt-" # (application programs are unlikely to have options that match # this pattern). # # There are only two supported options: --lt-debug and # --lt-dump-script. There is, deliberately, no --lt-help. # # The first argument to this parsing function should be the # script's $0 value, followed by "$@". lt_option_debug= func_parse_lt_options () { lt_script_arg0=\$0 shift for lt_opt do case \"\$lt_opt\" in --lt-debug) lt_option_debug=1 ;; --lt-dump-script) lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` cat \"\$lt_dump_D/\$lt_dump_F\" exit 0 ;; --lt-*) \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 exit 1 ;; esac done # Print the debug banner immediately: if test -n \"\$lt_option_debug\"; then echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 fi } # Used when --lt-debug. Prints its arguments to stdout # (redirection is the responsibility of the caller) func_lt_dump_args () { lt_dump_args_N=1; for lt_arg do \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` done } # Core function for launching the target application func_exec_program_core () { " case $host in # Backslashes separate directories on plain windows *-*-mingw | *-*-os2* | *-cegcc*) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $ECHO "\ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 exit 1 } # A function to encapsulate launching the target application # Strips options in the --lt-* namespace from \$@ and # launches target application with the remaining arguments. func_exec_program () { case \" \$* \" in *\\ --lt-*) for lt_wr_arg do case \$lt_wr_arg in --lt-*) ;; *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; esac shift done ;; esac func_exec_program_core \${1+\"\$@\"} } # Parse options func_parse_lt_options \"\$0\" \${1+\"\$@\"} # Find the directory that this script lives in. thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then # special case for '.' if test \"\$thisdir\" = \".\"; then thisdir=\`pwd\` fi # remove .libs from thisdir case \"\$thisdir\" in *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; $objdir ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test yes = "$fast_install"; then $ECHO "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $MKDIR \"\$progdir\" else $RM \"\$progdir/\$file\" fi" $ECHO "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else \$ECHO \"\$relink_command_output\" >&2 $RM \"\$progdir/\$file\" exit 1 fi fi $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $RM \"\$progdir/\$program\"; $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } $RM \"\$progdir/\$file\" fi" else $ECHO "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $ECHO "\ if test -f \"\$progdir/\$program\"; then" # fixup the dll searchpath if we need to. # # Fix the DLL searchpath if we need to. Do this before prepending # to shlibpath, because on Windows, both are PATH and uninstalled # libraries must come first. if test -n "$dllsearchpath"; then $ECHO "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi # Export our shlibpath_var if we have one. if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $ECHO "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` export $shlibpath_var " fi $ECHO "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. func_exec_program \${1+\"\$@\"} fi else # The program doesn't exist. \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ " } # func_emit_cwrapperexe_src # emit the source code for a wrapper executable on stdout # Must ONLY be called from within func_mode_link because # it depends on a number of variable set therein. func_emit_cwrapperexe_src () { cat < #include #ifdef _MSC_VER # include # include # include #else # include # include # ifdef __CYGWIN__ # include # endif #endif #include #include #include #include #include #include #include #include #define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) /* declarations of non-ANSI functions */ #if defined __MINGW32__ # ifdef __STRICT_ANSI__ int _putenv (const char *); # endif #elif defined __CYGWIN__ # ifdef __STRICT_ANSI__ char *realpath (const char *, char *); int putenv (char *); int setenv (const char *, const char *, int); # endif /* #elif defined other_platform || defined ... */ #endif /* portability defines, excluding path handling macros */ #if defined _MSC_VER # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv # define S_IXUSR _S_IEXEC #elif defined __MINGW32__ # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv #elif defined __CYGWIN__ # define HAVE_SETENV # define FOPEN_WB "wb" /* #elif defined other platforms ... */ #endif #if defined PATH_MAX # define LT_PATHMAX PATH_MAX #elif defined MAXPATHLEN # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 #endif #ifndef S_IXOTH # define S_IXOTH 0 #endif #ifndef S_IXGRP # define S_IXGRP 0 #endif /* path handling portability macros */ #ifndef DIR_SEPARATOR # define DIR_SEPARATOR '/' # define PATH_SEPARATOR ':' #endif #if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ defined __OS2__ # define HAVE_DOS_BASED_FILE_SYSTEM # define FOPEN_WB "wb" # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' # endif # ifndef PATH_SEPARATOR_2 # define PATH_SEPARATOR_2 ';' # endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #ifndef FOPEN_WB # define FOPEN_WB "w" #endif #ifndef _O_BINARY # define _O_BINARY 0 #endif #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free (stale); stale = 0; } \ } while (0) #if defined LT_DEBUGWRAPPER static int lt_debug = 1; #else static int lt_debug = 0; #endif const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ void *xmalloc (size_t num); char *xstrdup (const char *string); const char *base_name (const char *name); char *find_executable (const char *wrapper); char *chase_symlinks (const char *pathspec); int make_executable (const char *path); int check_executable (const char *path); char *strendzap (char *str, const char *pat); void lt_debugprintf (const char *file, int line, const char *fmt, ...); void lt_fatal (const char *file, int line, const char *message, ...); static const char *nonnull (const char *s); static const char *nonempty (const char *s); void lt_setenv (const char *name, const char *value); char *lt_extend_str (const char *orig_value, const char *add, int to_end); void lt_update_exe_path (const char *name, const char *value); void lt_update_lib_path (const char *name, const char *value); char **prepare_spawn (char **argv); void lt_dump_script (FILE *f); EOF cat <= 0) && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) return 1; else return 0; } int make_executable (const char *path) { int rval = 0; struct stat st; lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", nonempty (path)); if ((!path) || (!*path)) return 0; if (stat (path, &st) >= 0) { rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); } return rval; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise Does not chase symlinks, even on platforms that support them. */ char * find_executable (const char *wrapper) { int has_slash = 0; const char *p; const char *p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; size_t tmp_len; char *concat_name; lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", nonempty (wrapper)); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined HAVE_DOS_BASED_FILE_SYSTEM if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } #if defined HAVE_DOS_BASED_FILE_SYSTEM } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char *path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char *q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR (*q)) break; p_len = (size_t) (q - p); p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); return NULL; } char * chase_symlinks (const char *pathspec) { #ifndef S_ISLNK return xstrdup (pathspec); #else char buf[LT_PATHMAX]; struct stat s; char *tmp_pathspec = xstrdup (pathspec); char *p; int has_symlinks = 0; while (strlen (tmp_pathspec) && !has_symlinks) { lt_debugprintf (__FILE__, __LINE__, "checking path component for symlinks: %s\n", tmp_pathspec); if (lstat (tmp_pathspec, &s) == 0) { if (S_ISLNK (s.st_mode) != 0) { has_symlinks = 1; break; } /* search backwards for last DIR_SEPARATOR */ p = tmp_pathspec + strlen (tmp_pathspec) - 1; while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) p--; if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) { /* no more DIR_SEPARATORS left */ break; } *p = '\0'; } else { lt_fatal (__FILE__, __LINE__, "error accessing file \"%s\": %s", tmp_pathspec, nonnull (strerror (errno))); } } XFREE (tmp_pathspec); if (!has_symlinks) { return xstrdup (pathspec); } tmp_pathspec = realpath (pathspec, buf); if (tmp_pathspec == 0) { lt_fatal (__FILE__, __LINE__, "could not follow symlinks for %s", pathspec); } return xstrdup (tmp_pathspec); #endif } char * strendzap (char *str, const char *pat) { size_t len, patlen; assert (str != NULL); assert (pat != NULL); len = strlen (str); patlen = strlen (pat); if (patlen <= len) { str += len - patlen; if (STREQ (str, pat)) *str = '\0'; } return str; } void lt_debugprintf (const char *file, int line, const char *fmt, ...) { va_list args; if (lt_debug) { (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); va_start (args, fmt); (void) vfprintf (stderr, fmt, args); va_end (args); } } static void lt_error_core (int exit_status, const char *file, int line, const char *mode, const char *message, va_list ap) { fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); vfprintf (stderr, message, ap); fprintf (stderr, ".\n"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *file, int line, const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); va_end (ap); } static const char * nonnull (const char *s) { return s ? s : "(null)"; } static const char * nonempty (const char *s) { return (s && !*s) ? "(empty)" : nonnull (s); } void lt_setenv (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_setenv) setting '%s' to '%s'\n", nonnull (name), nonnull (value)); { #ifdef HAVE_SETENV /* always make a copy, for consistency with !HAVE_SETENV */ char *str = xstrdup (value); setenv (name, str, 1); #else size_t len = strlen (name) + 1 + strlen (value) + 1; char *str = XMALLOC (char, len); sprintf (str, "%s=%s", name, value); if (putenv (str) != EXIT_SUCCESS) { XFREE (str); } #endif } } char * lt_extend_str (const char *orig_value, const char *add, int to_end) { char *new_value; if (orig_value && *orig_value) { size_t orig_value_len = strlen (orig_value); size_t add_len = strlen (add); new_value = XMALLOC (char, add_len + orig_value_len + 1); if (to_end) { strcpy (new_value, orig_value); strcpy (new_value + orig_value_len, add); } else { strcpy (new_value, add); strcpy (new_value + add_len, orig_value); } } else { new_value = xstrdup (add); } return new_value; } void lt_update_exe_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); /* some systems can't cope with a ':'-terminated path #' */ size_t len = strlen (new_value); while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) { new_value[--len] = '\0'; } lt_setenv (name, new_value); XFREE (new_value); } } void lt_update_lib_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); } } EOF case $host_os in mingw*) cat <<"EOF" /* Prepares an argument vector before calling spawn(). Note that spawn() does not by itself call the command interpreter (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&v); v.dwPlatformId == VER_PLATFORM_WIN32_NT; }) ? "cmd.exe" : "command.com"). Instead it simply concatenates the arguments, separated by ' ', and calls CreateProcess(). We must quote the arguments since Win32 CreateProcess() interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a special way: - Space and tab are interpreted as delimiters. They are not treated as delimiters if they are surrounded by double quotes: "...". - Unescaped double quotes are removed from the input. Their only effect is that within double quotes, space and tab are treated like normal characters. - Backslashes not followed by double quotes are not special. - But 2*n+1 backslashes followed by a double quote become n backslashes followed by a double quote (n >= 0): \" -> " \\\" -> \" \\\\\" -> \\" */ #define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" #define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" char ** prepare_spawn (char **argv) { size_t argc; char **new_argv; size_t i; /* Count number of arguments. */ for (argc = 0; argv[argc] != NULL; argc++) ; /* Allocate new argument vector. */ new_argv = XMALLOC (char *, argc + 1); /* Put quoted arguments into the new argument vector. */ for (i = 0; i < argc; i++) { const char *string = argv[i]; if (string[0] == '\0') new_argv[i] = xstrdup ("\"\""); else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) { int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); size_t length; unsigned int backslashes; const char *s; char *quoted_string; char *p; length = 0; backslashes = 0; if (quote_around) length++; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') length += backslashes + 1; length++; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) length += backslashes + 1; quoted_string = XMALLOC (char, length + 1); p = quoted_string; backslashes = 0; if (quote_around) *p++ = '"'; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') { unsigned int j; for (j = backslashes + 1; j > 0; j--) *p++ = '\\'; } *p++ = c; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) { unsigned int j; for (j = backslashes; j > 0; j--) *p++ = '\\'; *p++ = '"'; } *p = '\0'; new_argv[i] = quoted_string; } else new_argv[i] = (char *) string; } new_argv[argc] = NULL; return new_argv; } EOF ;; esac cat <<"EOF" void lt_dump_script (FILE* f) { EOF func_emit_wrapper yes | $SED -n -e ' s/^\(.\{79\}\)\(..*\)/\1\ \2/ h s/\([\\"]\)/\\\1/g s/$/\\n/ s/\([^\n]*\).*/ fputs ("\1", f);/p g D' cat <<"EOF" } EOF } # end: func_emit_cwrapperexe_src # func_win32_import_lib_p ARG # True if ARG is an import lib, as indicated by $file_magic_cmd func_win32_import_lib_p () { $debug_cmd case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in *import*) : ;; *) false ;; esac } # func_suncc_cstd_abi # !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! # Several compiler flags select an ABI that is incompatible with the # Cstd library. Avoid specifying it if any are in CXXFLAGS. func_suncc_cstd_abi () { $debug_cmd case " $compile_command " in *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) suncc_use_cstd_abi=no ;; *) suncc_use_cstd_abi=yes ;; esac } # func_mode_link arg... func_mode_link () { $debug_cmd case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # what system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying # to make a dll that has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. allow_undefined=yes ;; *) allow_undefined=yes ;; esac libtool_args=$nonopt base_compile="$nonopt $@" compile_command=$nonopt finalize_command=$nonopt compile_rpath= finalize_rpath= compile_shlibpath= finalize_shlibpath= convenience= old_convenience= deplibs= old_deplibs= compiler_flags= linker_flags= dllsearchpath= lib_search_path=`pwd` inst_prefix_dir= new_inherited_linker_flags= avoid_version=no bindir= dlfiles= dlprefiles= dlself=no export_dynamic=no export_symbols= export_symbols_regex= generated= libobjs= ltlibs= module=no no_install=no objs= os2dllname= non_pic_objects= precious_files_regex= prefer_static_libs=no preload=false prev= prevarg= release= rpath= xrpath= perm_rpath= temp_rpath= thread_safe=no vinfo= vinfo_number=no weak_libs= single_module=$wl-single_module func_infer_tag $base_compile # We need to know -static, to get the right output filenames. for arg do case $arg in -shared) test yes != "$build_libtool_libs" \ && func_fatal_configuration "cannot build a shared library" build_old_libs=no break ;; -all-static | -static | -static-libtool-libs) case $arg in -all-static) if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then func_warning "complete static linking is impossible in this configuration" fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg=$1 shift func_quote_for_eval "$arg" qarg=$func_quote_for_eval_unquoted_result func_append libtool_args " $func_quote_for_eval_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) func_append compile_command " @OUTPUT@" func_append finalize_command " @OUTPUT@" ;; esac case $prev in bindir) bindir=$arg prev= continue ;; dlfiles|dlprefiles) $preload || { # Add the symbol object into the linking commands. func_append compile_command " @SYMFILE@" func_append finalize_command " @SYMFILE@" preload=: } case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test no = "$dlself"; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test dlprefiles = "$prev"; then dlself=yes elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test dlfiles = "$prev"; then func_append dlfiles " $arg" else func_append dlprefiles " $arg" fi prev= continue ;; esac ;; expsyms) export_symbols=$arg test -f "$arg" \ || func_fatal_error "symbol file '$arg' does not exist" prev= continue ;; expsyms_regex) export_symbols_regex=$arg prev= continue ;; framework) case $host in *-*-darwin*) case "$deplibs " in *" $qarg.ltframework "*) ;; *) func_append deplibs " $qarg.ltframework" # this is fixed later ;; esac ;; esac prev= continue ;; inst_prefix) inst_prefix_dir=$arg prev= continue ;; mllvm) # Clang does not use LLVM to link, so we can simply discard any # '-mllvm $arg' options when doing the link step. prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat "$save_arg"` do # func_append moreargs " $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test none = "$pic_object" && test none = "$non_pic_object"; then func_fatal_error "cannot find name of object for '$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir=$func_dirname_result if test none != "$pic_object"; then # Prepend the subdirectory the object is found in. pic_object=$xdir$pic_object if test dlfiles = "$prev"; then if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test dlprefiles = "$prev"; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg=$pic_object fi # Non-PIC object. if test none != "$non_pic_object"; then # Prepend the subdirectory the object is found in. non_pic_object=$xdir$non_pic_object # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test none = "$pic_object"; then arg=$non_pic_object fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object=$pic_object func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir=$func_dirname_result func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "'$arg' is not a valid libtool object" fi fi done else func_fatal_error "link input file '$arg' does not exist" fi arg=$save_arg prev= continue ;; os2dllname) os2dllname=$arg prev= continue ;; precious_regex) precious_files_regex=$arg prev= continue ;; release) release=-$arg prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac if test rpath = "$prev"; then case "$rpath " in *" $arg "*) ;; *) func_append rpath " $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) func_append xrpath " $arg" ;; esac fi prev= continue ;; shrext) shrext_cmds=$arg prev= continue ;; weak) func_append weak_libs " $arg" prev= continue ;; xcclinker) func_append linker_flags " $qarg" func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xcompiler) func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xlinker) func_append linker_flags " $qarg" func_append compiler_flags " $wl$qarg" prev= func_append compile_command " $wl$qarg" func_append finalize_command " $wl$qarg" continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg=$arg case $arg in -all-static) if test -n "$link_static_flag"; then # See comment for -static flag below, for more details. func_append compile_command " $link_static_flag" func_append finalize_command " $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. func_fatal_error "'-allow-undefined' must not be used because it is the default" ;; -avoid-version) avoid_version=yes continue ;; -bindir) prev=bindir continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then func_fatal_error "more than one -exported-symbols argument is not allowed" fi if test X-export-symbols = "X$arg"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework) prev=framework continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) func_append compile_command " $arg" func_append finalize_command " $arg" ;; esac continue ;; -L*) func_stripname "-L" '' "$arg" if test -z "$func_stripname_result"; then if test "$#" -gt 0; then func_fatal_error "require no space between '-L' and '$1'" else func_fatal_error "need path for '-L' option" fi fi func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` test -z "$absdir" && \ func_fatal_error "cannot determine absolute directory name of '$dir'" dir=$absdir ;; esac case "$deplibs " in *" -L$dir "* | *" $arg "*) # Will only happen for absolute or sysroot arguments ;; *) # Preserve sysroot, but never include relative directories case $dir in [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; *) func_append deplibs " -L$dir" ;; esac func_append lib_search_path " $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; ::) dllsearchpath=$dir;; *) func_append dllsearchpath ":$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac continue ;; -l*) if test X-lc = "X$arg" || test X-lm = "X$arg"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test X-lc = "X$arg" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) # Do not include libc due to us having libc/libc_r. test X-lc = "X$arg" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework func_append deplibs " System.ltframework" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test X-lc = "X$arg" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test X-lc = "X$arg" && continue ;; esac elif test X-lc_r = "X$arg"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi func_append deplibs " $arg" continue ;; -mllvm) prev=mllvm continue ;; -module) module=yes continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. # Darwin uses the -arch flag to determine output architecture. -model|-arch|-isysroot|--sysroot) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case "$new_inherited_linker_flags " in *" $arg "*) ;; * ) func_append new_inherited_linker_flags " $arg" ;; esac continue ;; -multi_module) single_module=$wl-multi_module continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. func_warning "'-no-install' is ignored for $host" func_warning "assuming '-no-fast-install' instead" fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -os2dllname) prev=os2dllname continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) func_stripname '-R' '' "$arg" dir=$func_stripname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; =*) func_stripname '=' '' "$dir" dir=$lt_sysroot$func_stripname_result ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac continue ;; -shared) # The effects of -shared are defined in a previous loop. continue ;; -shrext) prev=shrext continue ;; -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -weak) prev=weak continue ;; -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result arg= save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs func_quote_for_eval "$flag" func_append arg " $func_quote_for_eval_result" func_append compiler_flags " $func_quote_for_eval_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Wl,*) func_stripname '-Wl,' '' "$arg" args=$func_stripname_result arg= save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs func_quote_for_eval "$flag" func_append arg " $wl$func_quote_for_eval_result" func_append compiler_flags " $wl$func_quote_for_eval_result" func_append linker_flags " $func_quote_for_eval_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # -msg_* for osf cc -msg_*) func_quote_for_eval "$arg" arg=$func_quote_for_eval_result ;; # Flags to be passed through unchanged, with rationale: # -64, -mips[0-9] enable 64-bit mode for the SGI compiler # -r[0-9][0-9]* specify processor for the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler # +DA*, +DD* enable 64-bit mode for the HP compiler # -q* compiler args for the IBM compiler # -m*, -t[45]*, -txscale* architecture-specific flags for GCC # -F/path path to uninstalled frameworks, gcc on darwin # -p, -pg, --coverage, -fprofile-* profiling flags for GCC # -fstack-protector* stack protector flags for GCC # @file GCC response files # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization # -specs=* GCC specs files # -stdlib=* select c++ std lib with clang # -fsanitize=* Clang/GCC memory and address sanitizer # -fuse-ld=* Linker select flags for GCC -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ -specs=*|-fsanitize=*|-fuse-ld=*) func_quote_for_eval "$arg" arg=$func_quote_for_eval_result func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" continue ;; -Z*) if test os2 = "`expr $host : '.*\(os2\)'`"; then # OS/2 uses -Zxxx to specify OS/2-specific options compiler_flags="$compiler_flags $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case $arg in -Zlinker | -Zstack) prev=xcompiler ;; esac continue else # Otherwise treat like 'Some other compiler flag' below func_quote_for_eval "$arg" arg=$func_quote_for_eval_result fi ;; # Some other compiler flag. -* | +*) func_quote_for_eval "$arg" arg=$func_quote_for_eval_result ;; *.$objext) # A standard object. func_append objs " $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test none = "$pic_object" && test none = "$non_pic_object"; then func_fatal_error "cannot find name of object for '$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir=$func_dirname_result test none = "$pic_object" || { # Prepend the subdirectory the object is found in. pic_object=$xdir$pic_object if test dlfiles = "$prev"; then if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test dlprefiles = "$prev"; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg=$pic_object } # Non-PIC object. if test none != "$non_pic_object"; then # Prepend the subdirectory the object is found in. non_pic_object=$xdir$non_pic_object # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test none = "$pic_object"; then arg=$non_pic_object fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object=$pic_object func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir=$func_dirname_result func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "'$arg' is not a valid libtool object" fi fi ;; *.$libext) # An archive. func_append deplibs " $arg" func_append old_deplibs " $arg" continue ;; *.la) # A libtool-controlled library. func_resolve_sysroot "$arg" if test dlfiles = "$prev"; then # This library was specified with -dlopen. func_append dlfiles " $func_resolve_sysroot_result" prev= elif test dlprefiles = "$prev"; then # The library was specified with -dlpreopen. func_append dlprefiles " $func_resolve_sysroot_result" prev= else func_append deplibs " $func_resolve_sysroot_result" fi continue ;; # Some other compiler argument. *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. func_quote_for_eval "$arg" arg=$func_quote_for_eval_result ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then func_append compile_command " $arg" func_append finalize_command " $arg" fi done # argument parsing loop test -n "$prev" && \ func_fatal_help "the '$prevarg' option requires an argument" if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" func_append compile_command " $arg" func_append finalize_command " $arg" fi oldlibs= # calculate the name of the file, without its directory func_basename "$output" outputname=$func_basename_result libobjs_save=$libobjs if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" # Definition is injected by LT_CONFIG during libtool generation. func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" func_dirname "$output" "/" "" output_objdir=$func_dirname_result$objdir func_to_tool_file "$output_objdir/" tool_output_objdir=$func_to_tool_file_result # Create the object directory. func_mkdir_p "$output_objdir" # Determine the type of output case $output in "") func_fatal_help "you must specify an output file" ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if $opt_preserve_dup_deps; then case "$libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append libs " $deplib" done if test lib = "$linkmode"; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= if $opt_duplicate_compiler_generated_deps; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; esac func_append pre_post_deps " $pre_post_dep" done fi pre_post_deps= fi deplibs= newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries notinst_deplibs= # not-installed libtool libraries notinst_path= # paths that contain not-installed libtool libraries case $linkmode in lib) passes="conv dlpreopen link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=false newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do # The preopen pass in lib mode reverses $deplibs; put it back here # so that -L comes before libs that need it for instance... if test lib,link = "$linkmode,$pass"; then ## FIXME: Find the place where the list is rebuilt in the wrong ## order, and fix it there properly tmp_deplibs= for deplib in $deplibs; do tmp_deplibs="$deplib $tmp_deplibs" done deplibs=$tmp_deplibs fi if test lib,link = "$linkmode,$pass" || test prog,scan = "$linkmode,$pass"; then libs=$deplibs deplibs= fi if test prog = "$linkmode"; then case $pass in dlopen) libs=$dlfiles ;; dlpreopen) libs=$dlprefiles ;; link) libs="$deplibs %DEPLIBS%" test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" ;; esac fi if test lib,dlpreopen = "$linkmode,$pass"; then # Collect and forward deplibs of preopened libtool libs for lib in $dlprefiles; do # Ignore non-libtool-libs dependency_libs= func_resolve_sysroot "$lib" case $lib in *.la) func_source "$func_resolve_sysroot_result" ;; esac # Collect preopened libtool deplibs, except any this library # has declared as weak libs for deplib in $dependency_libs; do func_basename "$deplib" deplib_base=$func_basename_result case " $weak_libs " in *" $deplib_base "*) ;; *) func_append deplibs " $deplib" ;; esac done done libs=$dlprefiles fi if test dlopen = "$pass"; then # Collect dlpreopened libraries save_deplibs=$deplibs deplibs= fi for deplib in $libs; do lib= found=false case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append compiler_flags " $deplib" if test lib = "$linkmode"; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -l*) if test lib != "$linkmode" && test prog != "$linkmode"; then func_warning "'-l' is ignored for archives/objects" continue fi func_stripname '-l' '' "$deplib" name=$func_stripname_result if test lib = "$linkmode"; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" fi for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib=$searchdir/lib$name$search_ext if test -f "$lib"; then if test .la = "$search_ext"; then found=: else found=false fi break 2 fi done done if $found; then # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test yes = "$allow_libtool_libs_with_static_runtimes"; then case " $predeps $postdeps " in *" $deplib "*) if func_lalib_p "$lib"; then library_names= old_library= func_source "$lib" for l in $old_library $library_names; do ll=$l done if test "X$ll" = "X$old_library"; then # only static version available found=false func_dirname "$lib" "" "." ladir=$func_dirname_result lib=$ladir/$old_library if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi else # deplib doesn't seem to be a libtool library if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" fi continue fi ;; # -l *.ltframework) if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" if test lib = "$linkmode"; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test conv = "$pass" && continue newdependency_libs="$deplib $newdependency_libs" func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; prog) if test conv = "$pass"; then deplibs="$deplib $deplibs" continue fi if test scan = "$pass"; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; *) func_warning "'-L' is ignored for archives/objects" ;; esac # linkmode continue ;; # -L -R*) if test link = "$pass"; then func_stripname '-R' '' "$deplib" func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # Make sure the xrpath contains only unique directories. case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac fi deplibs="$deplib $deplibs" continue ;; *.la) func_resolve_sysroot "$deplib" lib=$func_resolve_sysroot_result ;; *.$libext) if test conv = "$pass"; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) # Linking convenience modules into shared libraries is allowed, # but linking other static libraries is non-portable. case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) valid_a_lib=false case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=: fi ;; pass_all) valid_a_lib=: ;; esac if $valid_a_lib; then echo $ECHO "*** Warning: Linking the shared library $output against the" $ECHO "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" else echo $ECHO "*** Warning: Trying to link with static lib archive $deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because the file extensions .$libext of this argument makes me believe" echo "*** that it is just a static archive that I should not use here." fi ;; esac continue ;; prog) if test link != "$pass"; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test conv = "$pass"; then deplibs="$deplib $deplibs" elif test prog = "$linkmode"; then if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then # If there is no dlopen support or we're linking statically, # we need to preload. func_append newdlprefiles " $deplib" compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append newdlfiles " $deplib" fi fi continue ;; %DEPLIBS%) alldeplibs=: continue ;; esac # case $deplib $found || test -f "$lib" \ || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$lib" \ || func_fatal_error "'$lib' is not a valid libtool archive" func_dirname "$lib" "" "." ladir=$func_dirname_result dlname= dlopen= dlpreopen= libdir= library_names= old_library= inherited_linker_flags= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no avoidtemprpath= # Read the .la file func_source "$lib" # Convert "-framework foo" to "foo.ltframework" if test -n "$inherited_linker_flags"; then tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do case " $new_inherited_linker_flags " in *" $tmp_inherited_linker_flag "*) ;; *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; esac done fi dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` if test lib,link = "$linkmode,$pass" || test prog,scan = "$linkmode,$pass" || { test prog != "$linkmode" && test lib != "$linkmode"; }; then test -n "$dlopen" && func_append dlfiles " $dlopen" test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" fi if test conv = "$pass"; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then func_fatal_error "cannot find name of link library for '$lib'" fi # It is a libtool convenience library, so add in its objects. func_append convenience " $ladir/$objdir/$old_library" func_append old_convenience " $ladir/$objdir/$old_library" tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if $opt_preserve_dup_deps; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done elif test prog != "$linkmode" && test lib != "$linkmode"; then func_fatal_error "'$lib' is not a convenience library" fi continue fi # $pass = conv # Get the name of the library we link against. linklib= if test -n "$old_library" && { test yes = "$prefer_static_libs" || test built,no = "$prefer_static_libs,$installed"; }; then linklib=$old_library else for l in $old_library $library_names; do linklib=$l done fi if test -z "$linklib"; then func_fatal_error "cannot find name of link library for '$lib'" fi # This library was specified with -dlopen. if test dlopen = "$pass"; then test -z "$libdir" \ && func_fatal_error "cannot -dlopen a convenience library: '$lib'" if test -z "$dlname" || test yes != "$dlopen_support" || test no = "$build_libtool_libs" then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. func_append dlprefiles " $lib $dependency_libs" else func_append newdlfiles " $lib" fi continue fi # $pass = dlopen # We need an absolute path. case $ladir in [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then func_warning "cannot determine absolute directory name of '$ladir'" func_warning "passing it literally to the linker, although it might fail" abs_ladir=$ladir fi ;; esac func_basename "$lib" laname=$func_basename_result # Find the relevant object directory and library name. if test yes = "$installed"; then if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then func_warning "library '$lib' was moved." dir=$ladir absdir=$abs_ladir libdir=$abs_ladir else dir=$lt_sysroot$libdir absdir=$lt_sysroot$libdir fi test yes = "$hardcode_automatic" && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir=$ladir absdir=$abs_ladir # Remove this search path later func_append notinst_path " $abs_ladir" else dir=$ladir/$objdir absdir=$abs_ladir/$objdir # Remove this search path later func_append notinst_path " $abs_ladir" fi fi # $installed = yes func_stripname 'lib' '.la' "$laname" name=$func_stripname_result # This library was specified with -dlpreopen. if test dlpreopen = "$pass"; then if test -z "$libdir" && test prog = "$linkmode"; then func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" fi case $host in # special handling for platforms with PE-DLLs. *cygwin* | *mingw* | *cegcc* ) # Linker will automatically link against shared library if both # static and shared are present. Therefore, ensure we extract # symbols from the import library if a shared library is present # (otherwise, the dlopen module name will be incorrect). We do # this by putting the import library name into $newdlprefiles. # We recover the dlopen module name by 'saving' the la file # name in a special purpose variable, and (later) extracting the # dlname from the la file. if test -n "$dlname"; then func_tr_sh "$dir/$linklib" eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" func_append newdlprefiles " $dir/$linklib" else func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" fi ;; * ) # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). if test -n "$old_library"; then func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" # Otherwise, use the dlname, so that lt_dlopen finds it. elif test -n "$dlname"; then func_append newdlprefiles " $dir/$dlname" else func_append newdlprefiles " $dir/$linklib" fi ;; esac fi # $pass = dlpreopen if test -z "$libdir"; then # Link the convenience library if test lib = "$linkmode"; then deplibs="$dir/$old_library $deplibs" elif test prog,link = "$linkmode,$pass"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi if test prog = "$linkmode" && test link != "$pass"; then func_append newlib_search_path " $ladir" deplibs="$lib $deplibs" linkalldeplibs=false if test no != "$link_all_deplibs" || test -z "$library_names" || test no = "$build_libtool_libs"; then linkalldeplibs=: fi tmp_libs= for deplib in $dependency_libs; do case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; esac # Need to link against all dependency_libs? if $linkalldeplibs; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if $opt_preserve_dup_deps; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done # for deplib continue fi # $linkmode = prog... if test prog,link = "$linkmode,$pass"; then if test -n "$library_names" && { { test no = "$prefer_static_libs" || test built,yes = "$prefer_static_libs,$installed"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then # Make sure the rpath contains only unique directories. case $temp_rpath: in *"$absdir:"*) ;; *) func_append temp_rpath "$absdir:" ;; esac fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi # $linkmode,$pass = prog,link... if $alldeplibs && { test pass_all = "$deplibs_check_method" || { test yes = "$build_libtool_libs" && test -n "$library_names"; }; }; then # We only need to search for static libraries continue fi fi link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs if test built = "$use_static_libs" && test yes = "$installed"; then use_static_libs=no fi if test -n "$library_names" && { test no = "$use_static_libs" || test -z "$old_library"; }; then case $host in *cygwin* | *mingw* | *cegcc* | *os2*) # No point in relinking DLLs because paths are not encoded func_append notinst_deplibs " $lib" need_relink=no ;; *) if test no = "$installed"; then func_append notinst_deplibs " $lib" need_relink=yes fi ;; esac # This is a shared library # Warn about portability, can't link against -module's on some # systems (darwin). Don't bleat about dlopened modules though! dlopenmodule= for dlpremoduletest in $dlprefiles; do if test "X$dlpremoduletest" = "X$lib"; then dlopenmodule=$dlpremoduletest break fi done if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then echo if test prog = "$linkmode"; then $ECHO "*** Warning: Linking the executable $output against the loadable module" else $ECHO "*** Warning: Linking the shared library $output against the loadable module" fi $ECHO "*** $linklib is not portable!" fi if test lib = "$linkmode" && test yes = "$hardcode_into_libs"; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname set dummy $library_names shift realname=$1 shift libname=`eval "\\$ECHO \"$libname_spec\""` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname=$dlname elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw* | *cegcc* | *os2*) func_arith $current - $age major=$func_arith_result versuffix=-$major ;; esac eval soname=\"$soname_spec\" else soname=$realname fi # Make a new name for the extract_expsyms_cmds to use soroot=$soname func_basename "$soroot" soname=$func_basename_result func_stripname 'lib' '.dll' "$soname" newlib=libimp-$func_stripname_result.a # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else func_verbose "extracting exported symbol list from '$soname'" func_execute_cmds "$extract_expsyms_cmds" 'exit $?' fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else func_verbose "generating import library for '$soname'" func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test prog = "$linkmode" || test relink != "$opt_mode"; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test no = "$hardcode_direct"; then add=$dir/$linklib case $host in *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; *-*-sysv4*uw2*) add_dir=-L$dir ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir=-L$dir ;; *-*-darwin* ) # if the lib is a (non-dlopened) module then we cannot # link against it, someone is ignoring the earlier warnings if /usr/bin/file -L $add 2> /dev/null | $GREP ": [^:]* bundle" >/dev/null; then if test "X$dlopenmodule" != "X$lib"; then $ECHO "*** Warning: lib $linklib is a module, not a shared library" if test -z "$old_library"; then echo echo "*** And there doesn't seem to be a static archive available" echo "*** The link will probably fail, sorry" else add=$dir/$old_library fi elif test -n "$old_library"; then add=$dir/$old_library fi fi esac elif test no = "$hardcode_minus_L"; then case $host in *-*-sunos*) add_shlibpath=$dir ;; esac add_dir=-L$dir add=-l$name elif test no = "$hardcode_shlibpath_var"; then add_shlibpath=$dir add=-l$name else lib_linked=no fi ;; relink) if test yes = "$hardcode_direct" && test no = "$hardcode_direct_absolute"; then add=$dir/$linklib elif test yes = "$hardcode_minus_L"; then add_dir=-L$absdir # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add=-l$name elif test yes = "$hardcode_shlibpath_var"; then add_shlibpath=$dir add=-l$name else lib_linked=no fi ;; *) lib_linked=no ;; esac if test yes != "$lib_linked"; then func_fatal_configuration "unsupported hardcode properties" fi if test -n "$add_shlibpath"; then case :$compile_shlibpath: in *":$add_shlibpath:"*) ;; *) func_append compile_shlibpath "$add_shlibpath:" ;; esac fi if test prog = "$linkmode"; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" if test yes != "$hardcode_direct" && test yes != "$hardcode_minus_L" && test yes = "$hardcode_shlibpath_var"; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac fi fi fi if test prog = "$linkmode" || test relink = "$opt_mode"; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test yes = "$hardcode_direct" && test no = "$hardcode_direct_absolute"; then add=$libdir/$linklib elif test yes = "$hardcode_minus_L"; then add_dir=-L$libdir add=-l$name elif test yes = "$hardcode_shlibpath_var"; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac add=-l$name elif test yes = "$hardcode_automatic"; then if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib"; then add=$inst_prefix_dir$libdir/$linklib else add=$libdir/$linklib fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir=-L$libdir # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add=-l$name fi if test prog = "$linkmode"; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test prog = "$linkmode"; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. if test unsupported != "$hardcode_direct"; then test -n "$old_library" && linklib=$old_library compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi elif test yes = "$build_libtool_libs"; then # Not a shared library if test pass_all != "$deplibs_check_method"; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. echo $ECHO "*** Warning: This system cannot link to static lib archive $lib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have." if test yes = "$module"; then echo "*** But as you try to build a module library, libtool will still create " echo "*** a static module, that should work as long as the dlopening application" echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using 'nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** 'nm' from GNU binutils and a full rebuild may help." fi if test no = "$build_old_libs"; then build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi else deplibs="$dir/$old_library $deplibs" link_static=yes fi fi # link shared/static library? if test lib = "$linkmode"; then if test -n "$dependency_libs" && { test yes != "$hardcode_into_libs" || test yes = "$build_old_libs" || test yes = "$link_static"; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do case $libdir in -R*) func_stripname '-R' '' "$libdir" temp_xrpath=$func_stripname_result case " $xrpath " in *" $temp_xrpath "*) ;; *) func_append xrpath " $temp_xrpath";; esac;; *) func_append temp_deplibs " $libdir";; esac done dependency_libs=$temp_deplibs fi func_append newlib_search_path " $absdir" # Link against this library test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result";; *) func_resolve_sysroot "$deplib" ;; esac if $opt_preserve_dup_deps; then case "$tmp_libs " in *" $func_resolve_sysroot_result "*) func_append specialdeplibs " $func_resolve_sysroot_result" ;; esac fi func_append tmp_libs " $func_resolve_sysroot_result" done if test no != "$link_all_deplibs"; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do path= case $deplib in -L*) path=$deplib ;; *.la) func_resolve_sysroot "$deplib" deplib=$func_resolve_sysroot_result func_dirname "$deplib" "" "." dir=$func_dirname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then func_warning "cannot determine absolute directory name of '$dir'" absdir=$dir fi ;; esac if $GREP "^installed=no" $deplib > /dev/null; then case $host in *-*-darwin*) depdepl= eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names"; then for tmp in $deplibrary_names; do depdepl=$tmp done if test -f "$absdir/$objdir/$depdepl"; then depdepl=$absdir/$objdir/$depdepl darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` if test -z "$darwin_install_name"; then darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` fi func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" path= fi fi ;; *) path=-L$absdir/$objdir ;; esac else eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "'$deplib' is not a valid libtool archive" test "$absdir" != "$libdir" && \ func_warning "'$deplib' seems to be moved" path=-L$absdir fi ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs if test link = "$pass"; then if test prog = "$linkmode"; then compile_deplibs="$new_inherited_linker_flags $compile_deplibs" finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" else compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` fi fi dependency_libs=$newdependency_libs if test dlpreopen = "$pass"; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test dlopen != "$pass"; then test conv = "$pass" || { # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) func_append lib_search_path " $dir" ;; esac done newlib_search_path= } if test prog,link = "$linkmode,$pass"; then vars="compile_deplibs finalize_deplibs" else vars=deplibs fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do # FIXME: Pedantically, this is the right thing to do, so # that some nasty dependency loop isn't accidentally # broken: #new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or # is implicitly linked in more than once by the # compiler, it is considered special, and multiple # occurrences thereof are not removed. Compare this # with having the same library being listed as a # dependency of multiple other libraries: in this case, # we know (pedantically, we assume) the library does not # need to be listed more than once, so we keep only the # last copy. This is not always right, but it is rare # enough that we require users that really mean to play # such unportable linking tricks to link the library # using -Wl,-lname, so that libtool does not consider it # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$deplib $new_libs" ;; esac ;; esac ;; esac done tmp_libs= for deplib in $new_libs; do case $deplib in -L*) case " $tmp_libs " in *" $deplib "*) ;; *) func_append tmp_libs " $deplib" ;; esac ;; *) func_append tmp_libs " $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi # Add Sun CC postdeps if required: test CXX = "$tagname" && { case $host_os in linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 func_suncc_cstd_abi if test no != "$suncc_use_cstd_abi"; then func_append postdeps ' -library=Cstd -library=Crun' fi ;; esac ;; solaris*) func_cc_basename "$CC" case $func_cc_basename_result in CC* | sunCC*) func_suncc_cstd_abi if test no != "$suncc_use_cstd_abi"; then func_append postdeps ' -library=Cstd -library=Crun' fi ;; esac ;; esac } # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= for i in $dependency_libs; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) i= ;; esac if test -n "$i"; then func_append tmp_libs " $i" fi done dependency_libs=$tmp_libs done # for pass if test prog = "$linkmode"; then dlfiles=$newdlfiles fi if test prog = "$linkmode" || test lib = "$linkmode"; then dlprefiles=$newdlprefiles fi case $linkmode in oldlib) if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then func_warning "'-dlopen' is ignored for archives" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "'-l' and '-L' are ignored for archives" ;; esac test -n "$rpath" && \ func_warning "'-rpath' is ignored for archives" test -n "$xrpath" && \ func_warning "'-R' is ignored for archives" test -n "$vinfo" && \ func_warning "'-version-info/-version-number' is ignored for archives" test -n "$release" && \ func_warning "'-release' is ignored for archives" test -n "$export_symbols$export_symbols_regex" && \ func_warning "'-export-symbols' is ignored for archives" # Now set the variables for building old libraries. build_libtool_libs=no oldlibs=$output func_append objs "$old_deplibs" ;; lib) # Make sure we only generate libraries of the form 'libNAME.la'. case $outputname in lib*) func_stripname 'lib' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) test no = "$module" \ && func_fatal_help "libtool library '$output' must begin with 'lib'" if test no != "$need_lib_prefix"; then # Add the "lib" prefix for modules if required func_stripname '' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else func_stripname '' '.la' "$outputname" libname=$func_stripname_result fi ;; esac if test -n "$objs"; then if test pass_all != "$deplibs_check_method"; then func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" else echo $ECHO "*** Warning: Linking the shared library $output against the non-libtool" $ECHO "*** objects $objs is not portable!" func_append libobjs " $objs" fi fi test no = "$dlself" \ || func_warning "'-dlopen self' is ignored for libtool libraries" set dummy $rpath shift test 1 -lt "$#" \ && func_warning "ignoring multiple '-rpath's for a libtool library" install_libdir=$1 oldlibs= if test -z "$rpath"; then if test yes = "$build_libtool_libs"; then # Building a libtool convenience library. # Some compilers have problems with a '.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi test -n "$vinfo" && \ func_warning "'-version-info/-version-number' is ignored for convenience libraries" test -n "$release" && \ func_warning "'-release' is ignored for convenience libraries" else # Parse the version information argument. save_ifs=$IFS; IFS=: set dummy $vinfo 0 0 0 shift IFS=$save_ifs test -n "$7" && \ func_fatal_help "too many parameters to '-version-info'" # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major=$1 number_minor=$2 number_revision=$3 # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # that has an extra 1 added just for fun # case $version_type in # correct linux to gnu/linux during the next big refactor darwin|freebsd-elf|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age=$number_minor revision=$number_revision ;; freebsd-aout|qnx|sunos) current=$number_major revision=$number_minor age=0 ;; irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result age=$number_minor revision=$number_minor lt_irix_increment=no ;; *) func_fatal_configuration "$modename: unknown library version type '$version_type'" ;; esac ;; no) current=$1 revision=$2 age=$3 ;; esac # Check that each of the things are valid numbers. case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "CURRENT '$current' must be a nonnegative integer" func_fatal_error "'$vinfo' is not valid version information" ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "REVISION '$revision' must be a nonnegative integer" func_fatal_error "'$vinfo' is not valid version information" ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "AGE '$age' must be a nonnegative integer" func_fatal_error "'$vinfo' is not valid version information" ;; esac if test "$age" -gt "$current"; then func_error "AGE '$age' is greater than the current interface number '$current'" func_fatal_error "'$vinfo' is not valid version information" fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision # Darwin ld doesn't like 0 for these options... func_arith $current + 1 minor_current=$func_arith_result xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" # On Darwin other compilers case $CC in nagfor*) verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" ;; *) verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; esac ;; freebsd-aout) major=.$current versuffix=.$current.$revision ;; freebsd-elf) func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision ;; irix | nonstopux) if test no = "$lt_irix_increment"; then func_arith $current - $age else func_arith $current - $age + 1 fi major=$func_arith_result case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring=$verstring_prefix$major.$revision # Add in all the interfaces that we are compatible with. loop=$revision while test 0 -ne "$loop"; do func_arith $revision - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring=$verstring_prefix$major.$iface:$verstring done # Before this point, $major must not contain '.'. major=.$major versuffix=$major.$revision ;; linux) # correct to gnu/linux during the next big refactor func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision ;; osf) func_arith $current - $age major=.$func_arith_result versuffix=.$current.$age.$revision verstring=$current.$age.$revision # Add in all the interfaces that we are compatible with. loop=$age while test 0 -ne "$loop"; do func_arith $current - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring=$verstring:$iface.0 done # Make executables depend on our current version. func_append verstring ":$current.0" ;; qnx) major=.$current versuffix=.$current ;; sco) major=.$current versuffix=.$current ;; sunos) major=.$current versuffix=.$current.$revision ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 file systems. func_arith $current - $age major=$func_arith_result versuffix=-$major ;; *) func_fatal_configuration "unknown library version type '$version_type'" ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring=0.0 ;; esac if test no = "$need_version"; then versuffix= else versuffix=.0.0 fi fi # Remove version info from name if versioning should be avoided if test yes,no = "$avoid_version,$need_version"; then major= versuffix= verstring= fi # Check to see if the archive will have undefined symbols. if test yes = "$allow_undefined"; then if test unsupported = "$allow_undefined_flag"; then if test yes = "$build_old_libs"; then func_warning "undefined symbols not allowed in $host shared libraries; building static only" build_libtool_libs=no else func_fatal_error "can't build $host shared library unless -no-undefined is specified" fi fi else # Don't allow undefined symbols. allow_undefined_flag=$no_undefined_flag fi fi func_generate_dlsyms "$libname" "$libname" : func_append libobjs " $symfileobj" test " " = "$libobjs" && libobjs= if test relink != "$opt_mode"; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= tempremovelist=`$ECHO "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext | *.gcno) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) if test -n "$precious_files_regex"; then if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi func_append removelist " $p" ;; *) ;; esac done test -n "$removelist" && \ func_show_eval "${RM}r \$removelist" fi # Now set the variables for building old libraries. if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then func_append oldlibs " $output_objdir/$libname.$libext" # Transform .lo files to .o files. oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` fi # Eliminate all temporary directories. #for path in $notinst_path; do # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` #done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. temp_xrpath= for libdir in $xrpath; do func_replace_sysroot "$libdir" func_append temp_xrpath " -R$func_replace_sysroot_result" case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened old_dlfiles=$dlfiles dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in *" $lib "*) ;; *) func_append dlfiles " $lib" ;; esac done # Make sure dlprefiles contains only unique files old_dlprefiles=$dlprefiles dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in *" $lib "*) ;; *) func_append dlprefiles " $lib" ;; esac done if test yes = "$build_libtool_libs"; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework func_append deplibs " System.ltframework" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # Add libc to deplibs on all other systems if necessary. if test yes = "$build_libtool_need_lc"; then func_append deplibs " -lc" fi ;; esac fi # Transform deplibs into only deplibs that can be linked in shared. name_save=$name libname_save=$libname release_save=$release versuffix_save=$versuffix major_save=$major # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? release= versuffix= major= newdeplibs= droppeddeps=no case $deplibs_check_method in pass_all) # Don't check for shared/static. Everything works. # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) # This code stresses the "libraries are programs" paradigm to its # limits. Maybe even breaks it. We compile a program, linking it # against the deplibs as a proxy for the library. Then we can check # whether they linked in statically or dynamically with ldd. $opt_dry_run || $RM conftest.c cat > conftest.c </dev/null` $nocaseglob else potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` fi for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null | $GREP " -> " >/dev/null; then continue fi # The statement above tries to avoid entering an # endless loop below, in case of cyclic links. # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? potlib=$potent_lib while test -h "$potlib" 2>/dev/null; do potliblink=`ls -ld $potlib | $SED 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | $SED -e 10q | $EGREP "$file_magic_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib= break 2 fi done done fi if test -n "$a_deplib"; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib"; then $ECHO "*** with $libname but no candidates were found. (...for file magic test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a file magic. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` for a_deplib in $deplibs; do case $a_deplib in -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result if test yes = "$allow_libtool_libs_with_static_runtimes"; then case " $predeps $postdeps " in *" $a_deplib "*) func_append newdeplibs " $a_deplib" a_deplib= ;; esac fi if test -n "$a_deplib"; then libname=`eval "\\$ECHO \"$libname_spec\""` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do potlib=$potent_lib # see symlink-check above in file_magic test if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ $EGREP "$match_pattern_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib= break 2 fi done done fi if test -n "$a_deplib"; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib"; then $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a regex pattern. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; none | unknown | *) newdeplibs= tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` if test yes = "$allow_libtool_libs_with_static_runtimes"; then for i in $predeps $postdeps; do # can't use Xsed below, because $i might contain '/' tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` done fi case $tmp_deplibs in *[!\ \ ]*) echo if test none = "$deplibs_check_method"; then echo "*** Warning: inter-library dependencies are not supported in this platform." else echo "*** Warning: inter-library dependencies are not known to be supported." fi echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes ;; esac ;; esac versuffix=$versuffix_save major=$major_save release=$release_save libname=$libname_save name=$name_save case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library with the System framework newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac if test yes = "$droppeddeps"; then if test yes = "$module"; then echo echo "*** Warning: libtool could not satisfy all declared inter-library" $ECHO "*** dependencies of module $libname. Therefore, libtool will create" echo "*** a static module, that should work as long as the dlopening" echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using 'nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** 'nm' from GNU binutils and a full rebuild may help." fi if test no = "$build_old_libs"; then oldlibs=$output_objdir/$libname.$libext build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else echo "*** The inter-library dependencies that have been dropped here will be" echo "*** automatically added whenever a program is linked with this library" echo "*** or is declared to -dlopen it." if test no = "$allow_undefined"; then echo echo "*** Since this library must not contain undefined symbols," echo "*** because either the platform does not support them or" echo "*** it was explicitly requested with -no-undefined," echo "*** libtool will only create a static version of it." if test no = "$build_old_libs"; then oldlibs=$output_objdir/$libname.$libext build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" case $host in *-*-darwin*) newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done deplibs=$new_libs # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test yes = "$build_libtool_libs"; then # Remove $wl instances when linking with ld. # FIXME: should test the right _cmds variable. case $archive_cmds in *\$LD\ *) wl= ;; esac if test yes = "$hardcode_into_libs"; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath=$finalize_rpath test relink = "$opt_mode" || rpath=$compile_rpath$rpath for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then func_replace_sysroot "$libdir" libdir=$func_replace_sysroot_result if test -z "$hardcode_libdirs"; then hardcode_libdirs=$libdir else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append dep_rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir=$hardcode_libdirs eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath=$finalize_shlibpath test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names shift realname=$1 shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname=$realname fi if test -z "$dlname"; then dlname=$soname fi lib=$output_objdir/$realname linknames= for link do func_append linknames " $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` test "X$libobjs" = "X " && libobjs= delfiles= if test -n "$export_symbols" && test -n "$include_expsyms"; then $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" export_symbols=$output_objdir/$libname.uexp func_append delfiles " $export_symbols" fi orig_export_symbols= case $host_os in cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile func_dll_def_p "$export_symbols" || { # and it's NOT already a .def file. Must figure out # which of the given symbols are data symbols and tag # them as such. So, trigger use of export_symbols_cmds. # export_symbols gets reassigned inside the "prepare # the list of exported symbols" if statement, so the # include_expsyms logic still works. orig_export_symbols=$export_symbols export_symbols= always_export_symbols=yes } fi ;; esac # Prepare the list of exported symbols if test -z "$export_symbols"; then if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then func_verbose "generating symbol list for '$libname.la'" export_symbols=$output_objdir/$libname.exp $opt_dry_run || $RM $export_symbols cmds=$export_symbols_cmds save_ifs=$IFS; IFS='~' for cmd1 in $cmds; do IFS=$save_ifs # Take the normal branch if the nm_file_list_spec branch # doesn't work or if tool conversion is not needed. case $nm_file_list_spec~$to_tool_file_cmd in *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) try_normal_branch=yes eval cmd=\"$cmd1\" func_len " $cmd" len=$func_len_result ;; *) try_normal_branch=no ;; esac if test yes = "$try_normal_branch" \ && { test "$len" -lt "$max_cmd_len" \ || test "$max_cmd_len" -le -1; } then func_show_eval "$cmd" 'exit $?' skipped_export=false elif test -n "$nm_file_list_spec"; then func_basename "$output" output_la=$func_basename_result save_libobjs=$libobjs save_output=$output output=$output_objdir/$output_la.nm func_to_tool_file "$output" libobjs=$nm_file_list_spec$func_to_tool_file_result func_append delfiles " $output" func_verbose "creating $NM input file list: $output" for obj in $save_libobjs; do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > "$output" eval cmd=\"$cmd1\" func_show_eval "$cmd" 'exit $?' output=$save_output libobjs=$save_libobjs skipped_export=false else # The command line is too long to execute in one step. func_verbose "using reloadable object file for export list..." skipped_export=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break fi done IFS=$save_ifs if test -n "$export_symbols_regex" && test : != "$skipped_export"; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols=$export_symbols test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test : != "$skipped_export" && test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for '$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands, which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) func_append tmp_deplibs " $test_deplib" ;; esac done deplibs=$tmp_deplibs if test -n "$convenience"; then if test -n "$whole_archive_flag_spec" && test yes = "$compiler_needs_object" && test -z "$libobjs"; then # extract the archives, so we have objects to list. # TODO: could optimize this to just extract one archive. whole_archive_flag_spec= fi if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= else gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $convenience func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi fi if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" func_append linker_flags " $flag" fi # Make a backup of the uninstalled library when relinking if test relink = "$opt_mode"; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test yes = "$module" && test -n "$module_cmds"; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test : != "$skipped_export" && func_len " $test_cmds" && len=$func_len_result && test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise # or, if using GNU ld and skipped_export is not :, use a linker # script. # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output func_basename "$output" output_la=$func_basename_result # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= last_robj= k=1 if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then output=$output_objdir/$output_la.lnkscript func_verbose "creating GNU ld script: $output" echo 'INPUT (' > $output for obj in $save_libobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done echo ')' >> $output func_append delfiles " $output" func_to_tool_file "$output" output=$func_to_tool_file_result elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then output=$output_objdir/$output_la.lnk func_verbose "creating linker input file list: $output" : > $output set x $save_libobjs shift firstobj= if test yes = "$compiler_needs_object"; then firstobj="$1 " shift fi for obj do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done func_append delfiles " $output" func_to_tool_file "$output" output=$firstobj\"$file_list_spec$func_to_tool_file_result\" else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." output=$output_objdir/$output_la-$k.$objext eval test_cmds=\"$reload_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 # Loop over the list of objects to be linked. for obj in $save_libobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result if test -z "$objlist" || test "$len" -lt "$max_cmd_len"; then func_append objlist " $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test 1 -eq "$k"; then # The first file doesn't have a previous command to add. reload_objs=$objlist eval concat_cmds=\"$reload_cmds\" else # All subsequent reloadable object files will link in # the last one created. reload_objs="$objlist $last_robj" eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" fi last_robj=$output_objdir/$output_la-$k.$objext func_arith $k + 1 k=$func_arith_result output=$output_objdir/$output_la-$k.$objext objlist=" $obj" func_len " $last_robj" func_arith $len0 + $func_len_result len=$func_arith_result fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ reload_objs="$objlist $last_robj" eval concat_cmds=\"\$concat_cmds$reload_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi func_append delfiles " $output" else output= fi ${skipped_export-false} && { func_verbose "generating symbol list for '$libname.la'" export_symbols=$output_objdir/$libname.exp $opt_dry_run || $RM $export_symbols libobjs=$output # Append the command to create the export file. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi } test -n "$save_libobjs" && func_verbose "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs=$IFS; IFS='~' for cmd in $concat_cmds; do IFS=$save_ifs $opt_quiet || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test relink = "$opt_mode"; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS=$save_ifs if test -n "$export_symbols_regex" && ${skipped_export-false}; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi ${skipped_export-false} && { if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols=$export_symbols test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for '$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands, which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi } libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test yes = "$module" && test -n "$module_cmds"; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi fi fi if test -n "$delfiles"; then # Append the command to remove temporary files to $cmds. eval cmds=\"\$cmds~\$RM $delfiles\" fi # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi save_ifs=$IFS; IFS='~' for cmd in $cmds; do IFS=$sp$nl eval cmd=\"$cmd\" IFS=$save_ifs $opt_quiet || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test relink = "$opt_mode"; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS=$save_ifs # Restore the uninstalled library and exit if test relink = "$opt_mode"; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then func_show_eval '${RM}r "$gentop"' fi fi exit $EXIT_SUCCESS fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done # If -module or -export-dynamic was specified, set the dlname. if test yes = "$module" || test yes = "$export_dynamic"; then # On all known operating systems, these are identical. dlname=$soname fi fi ;; obj) if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then func_warning "'-dlopen' is ignored for objects" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "'-l' and '-L' are ignored for objects" ;; esac test -n "$rpath" && \ func_warning "'-rpath' is ignored for objects" test -n "$xrpath" && \ func_warning "'-R' is ignored for objects" test -n "$vinfo" && \ func_warning "'-version-info' is ignored for objects" test -n "$release" && \ func_warning "'-release' is ignored for objects" case $output in *.lo) test -n "$objs$old_deplibs" && \ func_fatal_error "cannot build library object '$output' from non-libtool objects" libobj=$output func_lo2o "$libobj" obj=$func_lo2o_result ;; *) libobj= obj=$output ;; esac # Delete the old objects. $opt_dry_run || $RM $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # if reload_cmds runs $LD directly, get rid of -Wl from # whole_archive_flag_spec and hope we can get by with turning comma # into space. case $reload_cmds in *\$LD[\ \$]*) wl= ;; esac if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags else gentop=$output_objdir/${obj}x func_append generated " $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" fi fi # If we're not building shared, we need to use non_pic_objs test yes = "$build_libtool_libs" || libobjs=$non_pic_objects # Create the old-style object. reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs output=$obj func_execute_cmds "$reload_cmds" 'exit $?' # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS fi test yes = "$build_libtool_libs" || { if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS } if test -n "$pic_flag" || test default != "$pic_mode"; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output=$libobj func_execute_cmds "$reload_cmds" 'exit $?' fi if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS ;; prog) case $host in *cygwin*) func_stripname '' '.exe' "$output" output=$func_stripname_result.exe;; esac test -n "$vinfo" && \ func_warning "'-version-info' is ignored for programs" test -n "$release" && \ func_warning "'-release' is ignored for programs" $preload \ && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac case $host in *-*-darwin*) # Don't allow lazy linking, it breaks C++ global constructors # But is supposedly fixed on 10.4 or later (yay!). if test CXX = "$tagname"; then case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 10.[0123]) func_append compile_command " $wl-bind_at_load" func_append finalize_command " $wl-bind_at_load" ;; esac fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done compile_deplibs=$new_libs func_append compile_command " $compile_deplibs" func_append finalize_command " $finalize_deplibs" if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. for libdir in $rpath $xrpath; do # This is the magic to use -rpath. case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done fi # Now hardcode the library paths rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs=$libdir else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; ::) dllsearchpath=$libdir;; *) func_append dllsearchpath ":$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir=$hardcode_libdirs eval rpath=\" $hardcode_libdir_flag_spec\" fi compile_rpath=$rpath rpath= hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs=$libdir else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in *" $libdir "*) ;; *) func_append finalize_perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir=$hardcode_libdirs eval rpath=\" $hardcode_libdir_flag_spec\" fi finalize_rpath=$rpath if test -n "$libobjs" && test yes = "$build_old_libs"; then # Transform all the library objects into standard objects. compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` fi func_generate_dlsyms "$outputname" "@PROGRAM@" false # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' fi wrappers_required=: case $host in *cegcc* | *mingw32ce*) # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. wrappers_required=false ;; *cygwin* | *mingw* ) test yes = "$build_libtool_libs" || wrappers_required=false ;; *) if test no = "$need_relink" || test yes != "$build_libtool_libs"; then wrappers_required=false fi ;; esac $wrappers_required || { # Replace the output file specification. compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` link_command=$compile_command$compile_rpath # We have no uninstalled library dependencies, so finalize right now. exit_status=0 func_show_eval "$link_command" 'exit_status=$?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Delete the generated files. if test -f "$output_objdir/${outputname}S.$objext"; then func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' fi exit $exit_status } if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi if test -n "$finalize_perm_rpath"; then # We should set the runpath_var. rpath= for dir in $finalize_perm_rpath; do func_append rpath "$dir:" done finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi fi if test yes = "$no_install"; then # We don't need to create a wrapper script. link_command=$compile_var$compile_command$compile_rpath # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. $opt_dry_run || $RM $output # Link the executable and exit func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi exit $EXIT_SUCCESS fi case $hardcode_action,$fast_install in relink,*) # Fast installation is not supported link_command=$compile_var$compile_command$compile_rpath relink_command=$finalize_var$finalize_command$finalize_rpath func_warning "this platform does not like uninstalled shared libraries" func_warning "'$output' will be relinked during installation" ;; *,yes) link_command=$finalize_var$compile_command$finalize_rpath relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` ;; *,no) link_command=$compile_var$compile_command$compile_rpath relink_command=$finalize_var$finalize_command$finalize_rpath ;; *,needless) link_command=$finalize_var$compile_command$finalize_rpath relink_command= ;; esac # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output_objdir/$outputname" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Now create the wrapper script. func_verbose "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` fi # Only actually do things if not in dry run mode. $opt_dry_run || { # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) func_stripname '' '.exe' "$output" output=$func_stripname_result ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe func_stripname '' '.exe' "$outputname" outputname=$func_stripname_result ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) func_dirname_and_basename "$output" "" "." output_name=$func_basename_result output_path=$func_dirname_result cwrappersource=$output_path/$objdir/lt-$output_name.c cwrapper=$output_path/$output_name.exe $RM $cwrappersource $cwrapper trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 func_emit_cwrapperexe_src > $cwrappersource # The wrapper executable is built using the $host compiler, # because it contains $host paths and files. If cross- # compiling, it, like the target executable, must be # executed on the $host or under an emulation environment. $opt_dry_run || { $LTCC $LTCFLAGS -o $cwrapper $cwrappersource $STRIP $cwrapper } # Now, create the wrapper script for func_source use: func_ltwrapper_scriptname $cwrapper $RM $func_ltwrapper_scriptname_result trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 $opt_dry_run || { # note: this script will not be executed, so do not chmod. if test "x$build" = "x$host"; then $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result else func_emit_wrapper no > $func_ltwrapper_scriptname_result fi } ;; * ) $RM $output trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 func_emit_wrapper no > $output chmod +x $output ;; esac } exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do case $build_libtool_libs in convenience) oldobjs="$libobjs_save $symfileobj" addlibs=$convenience build_libtool_libs=no ;; module) oldobjs=$libobjs_save addlibs=$old_convenience build_libtool_libs=no ;; *) oldobjs="$old_deplibs $non_pic_objects" $preload && test -f "$symfileobj" \ && func_append oldobjs " $symfileobj" addlibs=$old_convenience ;; esac if test -n "$addlibs"; then gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $addlibs func_append oldobjs " $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then cmds=$old_archive_from_new_cmds else # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append oldobjs " $func_extract_archives_result" fi # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do func_basename "$obj" $ECHO "$func_basename_result" done | sort | sort -uc >/dev/null 2>&1); then : else echo "copying selected object files to avoid basename conflicts..." gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_mkdir_p "$gentop" save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do func_basename "$obj" objbase=$func_basename_result case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase func_arith $counter + 1 counter=$func_arith_result case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" func_append oldobjs " $gentop/$newobj" ;; *) func_append oldobjs " $obj" ;; esac done fi func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result eval cmds=\"$old_archive_cmds\" func_len " $cmds" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds elif test -n "$archiver_list_spec"; then func_verbose "using command file archive linking..." for obj in $oldobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > $output_objdir/$libname.libcmd func_to_tool_file "$output_objdir/$libname.libcmd" oldobjs=" $archiver_list_spec$func_to_tool_file_result" cmds=$old_archive_cmds else # the command line is too long to link in one step, link in parts func_verbose "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs oldobjs= # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done eval test_cmds=\"$old_archive_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 for obj in $save_oldobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result func_append objlist " $obj" if test "$len" -lt "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj"; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" objlist= len=$len0 fi done RANLIB=$save_RANLIB oldobjs=$objlist if test -z "$oldobjs"; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi fi func_execute_cmds "$cmds" 'exit $?' done test -n "$generated" && \ func_show_eval "${RM}r$generated" # Now create the libtool archive. case $output in *.la) old_library= test yes = "$build_old_libs" && old_library=$libname.$libext func_verbose "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` if test yes = "$hardcode_automatic"; then relink_command= fi # Only create the output if not a dry run. $opt_dry_run || { for installed in no yes; do if test yes = "$installed"; then if test -z "$install_libdir"; then break fi output=$output_objdir/${outputname}i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) func_basename "$deplib" name=$func_basename_result func_resolve_sysroot "$deplib" eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` test -z "$libdir" && \ func_fatal_error "'$deplib' is not a valid libtool archive" func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" ;; -L*) func_stripname -L '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -L$func_replace_sysroot_result" ;; -R*) func_stripname -R '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -R$func_replace_sysroot_result" ;; *) func_append newdependency_libs " $deplib" ;; esac done dependency_libs=$newdependency_libs newdlfiles= for lib in $dlfiles; do case $lib in *.la) func_basename "$lib" name=$func_basename_result eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "'$lib' is not a valid libtool archive" func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" ;; *) func_append newdlfiles " $lib" ;; esac done dlfiles=$newdlfiles newdlprefiles= for lib in $dlprefiles; do case $lib in *.la) # Only pass preopened files to the pseudo-archive (for # eventual linking with the app. that links it) if we # didn't already link the preopened objects directly into # the library: func_basename "$lib" name=$func_basename_result eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "'$lib' is not a valid libtool archive" func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" ;; esac done dlprefiles=$newdlprefiles else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlfiles " $abs" done dlfiles=$newdlfiles newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlprefiles " $abs" done dlprefiles=$newdlprefiles fi $RM $output # place dlname in correct position for cygwin # In fact, it would be nice if we could use this code for all target # systems that can't hard-code library paths into their executables # and that have no shared library path variable independent of PATH, # but it turns out we can't easily determine that from inspecting # libtool variables, so we have to hard-code the OSs to which it # applies here; at the moment, that means platforms that use the PE # object format with DLL files. See the long comment at the top of # tests/bindir.at for full details. tdlname=$dlname case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) # If a -bindir argument was supplied, place the dll there. if test -n "$bindir"; then func_relative_path "$install_libdir" "$bindir" tdlname=$func_relative_path_result/$dlname else # Otherwise fall back on heuristic. tdlname=../bin/$dlname fi ;; esac $ECHO > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM (GNU $PACKAGE) $VERSION # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Linker flags that cannot go in dependency_libs. inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Names of additional weak libraries provided by this library weak_library_names='$weak_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test no,yes = "$installed,$need_relink"; then $ECHO >> $output "\ relink_command=\"$relink_command\"" fi done } # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' ;; esac exit $EXIT_SUCCESS } if test link = "$opt_mode" || test relink = "$opt_mode"; then func_mode_link ${1+"$@"} fi # func_mode_uninstall arg... func_mode_uninstall () { $debug_cmd RM=$nonopt files= rmforce=false exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic=$magic for arg do case $arg in -f) func_append RM " $arg"; rmforce=: ;; -*) func_append RM " $arg" ;; *) func_append files " $arg" ;; esac done test -z "$RM" && \ func_fatal_help "you must specify an RM program" rmdirs= for file in $files; do func_dirname "$file" "" "." dir=$func_dirname_result if test . = "$dir"; then odir=$objdir else odir=$dir/$objdir fi func_basename "$file" name=$func_basename_result test uninstall = "$opt_mode" && odir=$dir # Remember odir for removal later, being careful to avoid duplicates if test clean = "$opt_mode"; then case " $rmdirs " in *" $odir "*) ;; *) func_append rmdirs " $odir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. if { test -L "$file"; } >/dev/null 2>&1 || { test -h "$file"; } >/dev/null 2>&1 || test -f "$file"; then : elif test -d "$file"; then exit_status=1 continue elif $rmforce; then continue fi rmfiles=$file case $name in *.la) # Possibly a libtool archive, so verify it. if func_lalib_p "$file"; then func_source $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do func_append rmfiles " $odir/$n" done test -n "$old_library" && func_append rmfiles " $odir/$old_library" case $opt_mode in clean) case " $library_names " in *" $dlname "*) ;; *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; esac test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if func_lalib_p "$file"; then # Read the .lo file func_source $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" && test none != "$pic_object"; then func_append rmfiles " $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. if test -n "$non_pic_object" && test none != "$non_pic_object"; then func_append rmfiles " $dir/$non_pic_object" fi fi ;; *) if test clean = "$opt_mode"; then noexename=$name case $file in *.exe) func_stripname '' '.exe' "$file" file=$func_stripname_result func_stripname '' '.exe' "$name" noexename=$func_stripname_result # $file with .exe has already been added to rmfiles, # add $file without .exe func_append rmfiles " $file" ;; esac # Do a test to see if this is a libtool program. if func_ltwrapper_p "$file"; then if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" relink_command= func_source $func_ltwrapper_scriptname_result func_append rmfiles " $func_ltwrapper_scriptname_result" else relink_command= func_source $dir/$noexename fi # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles func_append rmfiles " $odir/$name $odir/${name}S.$objext" if test yes = "$fast_install" && test -n "$relink_command"; then func_append rmfiles " $odir/lt-$name" fi if test "X$noexename" != "X$name"; then func_append rmfiles " $odir/lt-$noexename.c" fi fi fi ;; esac func_show_eval "$RM $rmfiles" 'exit_status=1' done # Try to remove the $objdir's in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then func_show_eval "rmdir $dir >/dev/null 2>&1" fi done exit $exit_status } if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then func_mode_uninstall ${1+"$@"} fi test -z "$opt_mode" && { help=$generic_help func_fatal_help "you must specify a MODE" } test -z "$exec_cmd" && \ func_fatal_help "invalid operation mode '$opt_mode'" if test -n "$exec_cmd"; then eval exec "$exec_cmd" exit $EXIT_FAILURE fi exit $exit_status # The TAGs below are defined such that we never get into a situation # where we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared build_libtool_libs=no build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: lepton-eda-1.9.10/build-tools/depcomp0000755000175000017500000005602013634703715014401 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2018-03-07.03; # UTC # Copyright (C) 1999-2018 Free Software Foundation, Inc. # 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, 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 . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by 'PROGRAMS ARGS'. object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac # Get the directory component of the given path, and save it in the # global variables '$dir'. Note that this directory component will # be either empty or ending with a '/' character. This is deliberate. set_dir_from () { case $1 in */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; *) dir=;; esac } # Get the suffix-stripped basename of the given path, and save it the # global variable '$base'. set_base_from () { base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` } # If no dependency file was actually created by the compiler invocation, # we still have to create a dummy depfile, to avoid errors with the # Makefile "include basename.Plo" scheme. make_dummy_depfile () { echo "#dummy" > "$depfile" } # Factor out some common post-processing of the generated depfile. # Requires the auxiliary global variable '$tmpdepfile' to be set. aix_post_process_depfile () { # If the compiler actually managed to produce a dependency file, # post-process it. if test -f "$tmpdepfile"; then # Each line is of the form 'foo.o: dependency.h'. # Do two passes, one to just change these to # $object: dependency.h # and one to simply output # dependency.h: # which is needed to avoid the deleted-header problem. { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" } > "$depfile" rm -f "$tmpdepfile" else make_dummy_depfile fi } # A tabulation character. tab=' ' # A newline character. nl=' ' # Character ranges might be problematic outside the C locale. # These definitions help. upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ lower=abcdefghijklmnopqrstuvwxyz digits=0123456789 alpha=${upper}${lower} if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Avoid interferences from the environment. gccflag= dashmflag= # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi if test "$depmode" = msvc7msys; then # This is just like msvc7 but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvc7 fi if test "$depmode" = xlc; then # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. gccflag=-qmakedep=gcc,-MF depmode=gcc fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. ## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). Also, it might not be ## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The second -e expression handles DOS-style file names with drive # letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. ## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as ## well. hp depmode also adds that space, but also prefixes the VPATH ## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like '#:fec' to the end of the # dependency line. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ | tr "$nl" ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" ;; xlc) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done aix_post_process_depfile ;; tcc) # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 # FIXME: That version still under development at the moment of writing. # Make that this statement remains true also for stable, released # versions. # It will wrap lines (doesn't matter whether long or short) with a # trailing '\', as in: # # foo.o : \ # foo.c \ # foo.h \ # # It will put a trailing '\' even on the last line, and will use leading # spaces rather than leading tabs (at least since its commit 0394caf7 # "Emit spaces for -MD"). "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. # We have to change lines of the first kind to '$object: \'. sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" # And for each line of the second kind, we have to emit a 'dep.h:' # dummy dependency, to avoid the deleted-header problem. sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; ## The order of this option in the case statement is important, since the ## shell code in configure will try each of these formats in the order ## listed in this file. A plain '-MD' option would be understood by many ## compilers, so we must ensure this comes after the gcc and icc options. pgcc) # Portland's C compiler understands '-MD'. # Will always output deps to 'file.d' where file is the root name of the # source file under compilation, even if file resides in a subdirectory. # The object file name does not affect the name of the '.d' file. # pgcc 10.2 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using '\' : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... set_dir_from "$object" # Use the source, not the object, to determine the base name, since # that's sadly what pgcc will do too. set_base_from "$source" tmpdepfile=$base.d # For projects that build the same source file twice into different object # files, the pgcc approach of using the *source* file root name can cause # problems in parallel builds. Use a locking strategy to avoid stomping on # the same $tmpdepfile. lockdir=$base.d-lock trap " echo '$0: caught signal, cleaning up...' >&2 rmdir '$lockdir' exit 1 " 1 2 13 15 numtries=100 i=$numtries while test $i -gt 0; do # mkdir is a portable test-and-set. if mkdir "$lockdir" 2>/dev/null; then # This process acquired the lock. "$@" -MD stat=$? # Release the lock. rmdir "$lockdir" break else # If the lock is being held by a different process, wait # until the winning process is done or we timeout. while test -d "$lockdir" && test $i -gt 0; do sleep 1 i=`expr $i - 1` done fi i=`expr $i - 1` done trap - 1 2 13 15 if test $i -le 0; then echo "$0: failed to acquire lock after $numtries attempts" >&2 echo "$0: check lockdir '$lockdir'" >&2 exit 1 fi if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" # Add 'dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in 'foo.d' instead, so we check for that too. # Subdirectories are respected. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then # Libtool generates 2 separate objects for the 2 libraries. These # two compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir$base.o.d # libtool 1.5 tmpdepfile2=$dir.libs/$base.o.d # Likewise. tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d "$@" -MD fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done # Same post-processing that is required for AIX mode. aix_post_process_depfile ;; msvc7) if test "$libtool" = yes; then showIncludes=-Wc,-showIncludes else showIncludes=-showIncludes fi "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The first sed program below extracts the file names and escapes # backslashes for cygpath. The second sed program outputs the file # name when reading, but also accumulates all include files in the # hold buffer in order to output them again at the end. This only # works with sed implementations that can handle large buffers. sed < "$tmpdepfile" -n ' /^Note: including file: *\(.*\)/ { s//\1/ s/\\/\\\\/g p }' | $cygpath_u | sort -u | sed -n ' s/ /\\ /g s/\(.*\)/'"$tab"'\1 \\/p s/.\(.*\) \\/\1:/ H $ { s/.*/'"$tab"'/ G p }' >> "$depfile" echo >> "$depfile" # make sure the fragment doesn't end with a backslash rm -f "$tmpdepfile" ;; msvc7msys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this sed invocation # correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" # makedepend may prepend the VPATH from the source file name to the object. # No need to regex-escape $object, excess matching of '.' is harmless. sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process the last invocation # correctly. Breaking it into two sed invocations is a workaround. sed '1,2d' "$tmpdepfile" \ | tr ' ' "$nl" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E \ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: lepton-eda-1.9.10/build-tools/texinfo.tex0000644000175000017500000135240313634703705015226 00000000000000% texinfo.tex -- TeX macros to handle Texinfo files. % % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % \def\texinfoversion{2018-02-12.17} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, % 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 % Free Software Foundation, Inc. % % This texinfo.tex file is free software: you can redistribute it and/or % modify it under the terms of the GNU General Public License as % published by the Free Software Foundation, either version 3 of the % License, or (at your option) any later version. % % This texinfo.tex file 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 . % % As a special exception, when this file is read by TeX when processing % a Texinfo source document, you may use the result without % restriction. This Exception is an additional permission under section 7 % of the GNU General Public License, version 3 ("GPLv3"). % % Please try the latest version of texinfo.tex before submitting bug % reports; you can get the latest version from: % https://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or % https://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or % https://www.gnu.org/software/texinfo/ (the Texinfo home page) % The texinfo.tex in any given distribution could well be out % of date, so if that's what you're using, please check. % % Send bug reports to bug-texinfo@gnu.org. Please include including a % complete document in each bug report with which we can reproduce the % problem. Patches are, of course, greatly appreciated. % % To process a Texinfo manual with TeX, it's most reliable to use the % texi2dvi shell script that comes with the distribution. For a simple % manual foo.texi, however, you can get away with this: % tex foo.texi % texindex foo.?? % tex foo.texi % tex foo.texi % dvips foo.dvi -o # or whatever; this makes foo.ps. % The extra TeX runs get the cross-reference information correct. % Sometimes one run after texindex suffices, and sometimes you need more % than two; texi2dvi does it as many times as necessary. % % It is possible to adapt texinfo.tex for other languages, to some % extent. You can get the existing language-specific files from the % full Texinfo distribution. % % The GNU Texinfo home page is https://www.gnu.org/software/texinfo. \message{Loading texinfo [version \texinfoversion]:} % If in a .fmt file, print the version number % and turn on active characters that we couldn't do earlier because % they might have appeared in the input file name. \everyjob{\message{[Texinfo version \texinfoversion]}% \catcode`+=\active \catcode`\_=\active} % LaTeX's \typeout. This ensures that the messages it is used for % are identical in format to the corresponding ones from latex/pdflatex. \def\typeout{\immediate\write17}% \chardef\other=12 % We never want plain's \outer definition of \+ in Texinfo. % For @tex, we can use \tabalign. \let\+ = \relax % Save some plain tex macros whose names we will redefine. \let\ptexb=\b \let\ptexbullet=\bullet \let\ptexc=\c \let\ptexcomma=\, \let\ptexdot=\. \let\ptexdots=\dots \let\ptexend=\end \let\ptexequiv=\equiv \let\ptexexclam=\! \let\ptexfootnote=\footnote \let\ptexgtr=> \let\ptexhat=^ \let\ptexi=\i \let\ptexindent=\indent \let\ptexinsert=\insert \let\ptexlbrace=\{ \let\ptexless=< \let\ptexnewwrite\newwrite \let\ptexnoindent=\noindent \let\ptexplus=+ \let\ptexraggedright=\raggedright \let\ptexrbrace=\} \let\ptexslash=\/ \let\ptexsp=\sp \let\ptexstar=\* \let\ptexsup=\sup \let\ptext=\t \let\ptextop=\top {\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode % If this character appears in an error message or help string, it % starts a new line in the output. \newlinechar = `^^J % Use TeX 3.0's \inputlineno to get the line number, for better error % messages, but if we're using an old version of TeX, don't do anything. % \ifx\inputlineno\thisisundefined \let\linenumber = \empty % Pre-3.0. \else \def\linenumber{l.\the\inputlineno:\space} \fi % Set up fixed words for English if not already set. \ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi \ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi \ifx\putworderror\undefined \gdef\putworderror{error}\fi \ifx\putwordfile\undefined \gdef\putwordfile{file}\fi \ifx\putwordin\undefined \gdef\putwordin{in}\fi \ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi \ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi \ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi \ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi \ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi \ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi \ifx\putwordof\undefined \gdef\putwordof{of}\fi \ifx\putwordon\undefined \gdef\putwordon{on}\fi \ifx\putwordpage\undefined \gdef\putwordpage{page}\fi \ifx\putwordsection\undefined \gdef\putwordsection{section}\fi \ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi \ifx\putwordsee\undefined \gdef\putwordsee{see}\fi \ifx\putwordSee\undefined \gdef\putwordSee{See}\fi \ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi \ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi % \ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi \ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi \ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi \ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi \ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi \ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi \ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi \ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi \ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi \ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi \ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi \ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi % \ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi \ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi \ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi \ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi \ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi % Give the space character the catcode for a space. \def\spaceisspace{\catcode`\ =10\relax} % Likewise for ^^M, the end of line character. \def\endlineisspace{\catcode13=10\relax} \chardef\dashChar = `\- \chardef\slashChar = `\/ \chardef\underChar = `\_ % Ignore a token. % \def\gobble#1{} % The following is used inside several \edef's. \def\makecsname#1{\expandafter\noexpand\csname#1\endcsname} % Hyphenation fixes. \hyphenation{ Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script auto-ma-ti-cal-ly ap-pen-dix bit-map bit-maps data-base data-bases eshell fall-ing half-way long-est man-u-script man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces spell-ing spell-ings stand-alone strong-est time-stamp time-stamps which-ever white-space wide-spread wrap-around } % Sometimes it is convenient to have everything in the transcript file % and nothing on the terminal. We don't just call \tracingall here, % since that produces some useless output on the terminal. We also make % some effort to order the tracing commands to reduce output in the log % file; cf. trace.sty in LaTeX. % \def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}% \def\loggingall{% \tracingstats2 \tracingpages1 \tracinglostchars2 % 2 gives us more in etex \tracingparagraphs1 \tracingoutput1 \tracingmacros2 \tracingrestores1 \showboxbreadth\maxdimen \showboxdepth\maxdimen \ifx\eTeXversion\thisisundefined\else % etex gives us more logging \tracingscantokens1 \tracingifs1 \tracinggroups1 \tracingnesting2 \tracingassigns1 \fi \tracingcommands3 % 3 gives us more in etex \errorcontextlines16 }% % @errormsg{MSG}. Do the index-like expansions on MSG, but if things % aren't perfect, it's not the end of the world, being an error message, % after all. % \def\errormsg{\begingroup \indexnofonts \doerrormsg} \def\doerrormsg#1{\errmessage{#1}} % add check for \lastpenalty to plain's definitions. If the last thing % we did was a \nobreak, we don't want to insert more space. % \def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount \removelastskip\penalty-50\smallskip\fi\fi} \def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount \removelastskip\penalty-100\medskip\fi\fi} \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount \removelastskip\penalty-200\bigskip\fi\fi} % Output routine % % For a final copy, take out the rectangles % that mark overfull boxes (in case you have decided % that the text looks ok even though it passes the margin). % \def\finalout{\overfullrule=0pt } % Do @cropmarks to get crop marks. % \newif\ifcropmarks \let\cropmarks = \cropmarkstrue % % Dimensions to add cropmarks at corners. % Added by P. A. MacKay, 12 Nov. 1986 % \newdimen\outerhsize \newdimen\outervsize % set by the paper size routines \newdimen\cornerlong \cornerlong=1pc \newdimen\cornerthick \cornerthick=.3pt \newdimen\topandbottommargin \topandbottommargin=.75in % Output a mark which sets \thischapter, \thissection and \thiscolor. % We dump everything together because we only have one kind of mark. % This works because we only use \botmark / \topmark, not \firstmark. % % A mark contains a subexpression of the \ifcase ... \fi construct. % \get*marks macros below extract the needed part using \ifcase. % % Another complication is to let the user choose whether \thischapter % (\thissection) refers to the chapter (section) in effect at the top % of a page, or that at the bottom of a page. % \domark is called twice inside \chapmacro, to add one % mark before the section break, and one after. % In the second call \prevchapterdefs is the same as \lastchapterdefs, % and \prevsectiondefs is the same as \lastsectiondefs. % Then if the page is not broken at the mark, some of the previous % section appears on the page, and we can get the name of this section % from \firstmark for @everyheadingmarks top. % @everyheadingmarks bottom uses \botmark. % % See page 260 of The TeXbook. \def\domark{% \toks0=\expandafter{\lastchapterdefs}% \toks2=\expandafter{\lastsectiondefs}% \toks4=\expandafter{\prevchapterdefs}% \toks6=\expandafter{\prevsectiondefs}% \toks8=\expandafter{\lastcolordefs}% \mark{% \the\toks0 \the\toks2 % 0: marks for @everyheadingmarks top \noexpand\or \the\toks4 \the\toks6 % 1: for @everyheadingmarks bottom \noexpand\else \the\toks8 % 2: color marks }% } % \gettopheadingmarks, \getbottomheadingmarks, % \getcolormarks - extract needed part of mark. % % \topmark doesn't work for the very first chapter (after the title % page or the contents), so we use \firstmark there -- this gets us % the mark with the chapter defs, unless the user sneaks in, e.g., % @setcolor (or @url, or @link, etc.) between @contents and the very % first @chapter. \def\gettopheadingmarks{% \ifcase0\topmark\fi \ifx\thischapter\empty \ifcase0\firstmark\fi \fi } \def\getbottomheadingmarks{\ifcase1\botmark\fi} \def\getcolormarks{\ifcase2\topmark\fi} % Avoid "undefined control sequence" errors. \def\lastchapterdefs{} \def\lastsectiondefs{} \def\lastsection{} \def\prevchapterdefs{} \def\prevsectiondefs{} \def\lastcolordefs{} % Margin to add to right of even pages, to left of odd pages. \newdimen\bindingoffset \newdimen\normaloffset \newdimen\txipagewidth \newdimen\txipageheight % Main output routine. % \chardef\PAGE = 255 \output = {\onepageout{\pagecontents\PAGE}} \newbox\headlinebox \newbox\footlinebox % \onepageout takes a vbox as an argument. % \shipout a vbox for a single page, adding an optional header, footer, % cropmarks, and footnote. This also causes index entries for this page % to be written to the auxiliary files. % \def\onepageout#1{% \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi % \ifodd\pageno \advance\hoffset by \bindingoffset \else \advance\hoffset by -\bindingoffset\fi % % Common context changes for both heading and footing. % Do this outside of the \shipout so @code etc. will be expanded in % the headline as they should be, not taken literally (outputting ''code). \def\commmonheadfootline{\let\hsize=\txipagewidth \texinfochars} % % Retrieve the information for the headings from the marks in the page, % and call Plain TeX's \makeheadline and \makefootline, which use the % values in \headline and \footline. % % This is used to check if we are on the first page of a chapter. \ifcase1\topmark\fi \let\prevchaptername\thischaptername \ifcase0\firstmark\fi \let\curchaptername\thischaptername % \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi % \ifx\curchaptername\prevchaptername \let\thischapterheading\thischapter \else % \thischapterheading is the same as \thischapter except it is blank % for the first page of a chapter. This is to prevent the chapter name % being shown twice. \def\thischapterheading{}% \fi % \global\setbox\headlinebox = \vbox{\commmonheadfootline \makeheadline}% \global\setbox\footlinebox = \vbox{\commmonheadfootline \makefootline}% % {% % Set context for writing to auxiliary files like index files. % Have to do this stuff outside the \shipout because we want it to % take effect in \write's, yet the group defined by the \vbox ends % before the \shipout runs. % \indexdummies % don't expand commands in the output. \normalturnoffactive % \ in index entries must not stay \, e.g., if % the page break happens to be in the middle of an example. % We don't want .vr (or whatever) entries like this: % \entry{{\indexbackslash }acronym}{32}{\code {\acronym}} % "\acronym" won't work when it's read back in; % it needs to be % {\code {{\backslashcurfont }acronym} \shipout\vbox{% % Do this early so pdf references go to the beginning of the page. \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi % \ifcropmarks \vbox to \outervsize\bgroup \hsize = \outerhsize \vskip-\topandbottommargin \vtop to0pt{% \line{\ewtop\hfil\ewtop}% \nointerlineskip \line{% \vbox{\moveleft\cornerthick\nstop}% \hfill \vbox{\moveright\cornerthick\nstop}% }% \vss}% \vskip\topandbottommargin \line\bgroup \hfil % center the page within the outer (page) hsize. \ifodd\pageno\hskip\bindingoffset\fi \vbox\bgroup \fi % \unvbox\headlinebox \pagebody{#1}% \ifdim\ht\footlinebox > 0pt % Only leave this space if the footline is nonempty. % (We lessened \vsize for it in \oddfootingyyy.) % The \baselineskip=24pt in plain's \makefootline has no effect. \vskip 24pt \unvbox\footlinebox \fi % \ifcropmarks \egroup % end of \vbox\bgroup \hfil\egroup % end of (centering) \line\bgroup \vskip\topandbottommargin plus1fill minus1fill \boxmaxdepth = \cornerthick \vbox to0pt{\vss \line{% \vbox{\moveleft\cornerthick\nsbot}% \hfill \vbox{\moveright\cornerthick\nsbot}% }% \nointerlineskip \line{\ewbot\hfil\ewbot}% }% \egroup % \vbox from first cropmarks clause \fi }% end of \shipout\vbox }% end of group with \indexdummies \advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi } \newinsert\margin \dimen\margin=\maxdimen % Main part of page, including any footnotes \def\pagebody#1{\vbox to\txipageheight{\boxmaxdepth=\maxdepth #1}} {\catcode`\@ =11 \gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi % marginal hacks, juha@viisa.uucp (Juha Takala) \ifvoid\margin\else % marginal info is present \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi \dimen@=\dp#1\relax \unvbox#1\relax \ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi \ifr@ggedbottom \kern-\dimen@ \vfil \fi} } % Here are the rules for the cropmarks. Note that they are % offset so that the space between them is truly \outerhsize or \outervsize % (P. A. MacKay, 12 November, 1986) % \def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong} \def\nstop{\vbox {\hrule height\cornerthick depth\cornerlong width\cornerthick}} \def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong} \def\nsbot{\vbox {\hrule height\cornerlong depth\cornerthick width\cornerthick}} % Argument parsing % Parse an argument, then pass it to #1. The argument is the rest of % the input line (except we remove a trailing comment). #1 should be a % macro which expects an ordinary undelimited TeX argument. % For example, \def\foo{\parsearg\fooxxx}. % \def\parsearg{\parseargusing{}} \def\parseargusing#1#2{% \def\argtorun{#2}% \begingroup \obeylines \spaceisspace #1% \parseargline\empty% Insert the \empty token, see \finishparsearg below. } {\obeylines % \gdef\parseargline#1^^M{% \endgroup % End of the group started in \parsearg. \argremovecomment #1\comment\ArgTerm% }% } % First remove any @comment, then any @c comment. Also remove a @texinfoc % comment (see \scanmacro for details). Pass the result on to \argcheckspaces. \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} \def\argremovec#1\c#2\ArgTerm{\argremovetexinfoc #1\texinfoc\ArgTerm} \def\argremovetexinfoc#1\texinfoc#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} % Each occurrence of `\^^M' or `\^^M' is replaced by a single space. % % \argremovec might leave us with trailing space, e.g., % @end itemize @c foo % This space token undergoes the same procedure and is eventually removed % by \finishparsearg. % \def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M} \def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M} \def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{% \def\temp{#3}% \ifx\temp\empty % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp: \let\temp\finishparsearg \else \let\temp\argcheckspaces \fi % Put the space token in: \temp#1 #3\ArgTerm } % If a _delimited_ argument is enclosed in braces, they get stripped; so % to get _exactly_ the rest of the line, we had to prevent such situation. % We prepended an \empty token at the very beginning and we expand it now, % just before passing the control to \argtorun. % (Similarly, we have to think about #3 of \argcheckspacesY above: it is % either the null string, or it ends with \^^M---thus there is no danger % that a pair of braces would be stripped. % % But first, we have to remove the trailing space token. % \def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}} % \parseargdef - define a command taking an argument on the line % % \parseargdef\foo{...} % is roughly equivalent to % \def\foo{\parsearg\Xfoo} % \def\Xfoo#1{...} \def\parseargdef#1{% \expandafter \doparseargdef \csname\string#1\endcsname #1% } \def\doparseargdef#1#2{% \def#2{\parsearg#1}% \def#1##1% } % Several utility definitions with active space: { \obeyspaces \gdef\obeyedspace{ } % Make each space character in the input produce a normal interword % space in the output. Don't allow a line break at this space, as this % is used only in environments like @example, where each line of input % should produce a line of output anyway. % \gdef\sepspaces{\obeyspaces\let =\tie} % If an index command is used in an @example environment, any spaces % therein should become regular spaces in the raw index file, not the % expansion of \tie (\leavevmode \penalty \@M \ ). \gdef\unsepspaces{\let =\space} } \def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next} % Define the framework for environments in texinfo.tex. It's used like this: % % \envdef\foo{...} % \def\Efoo{...} % % It's the responsibility of \envdef to insert \begingroup before the % actual body; @end closes the group after calling \Efoo. \envdef also % defines \thisenv, so the current environment is known; @end checks % whether the environment name matches. The \checkenv macro can also be % used to check whether the current environment is the one expected. % % Non-false conditionals (@iftex, @ifset) don't fit into this, so they % are not treated as environments; they don't open a group. (The % implementation of @end takes care not to call \endgroup in this % special case.) % At run-time, environments start with this: \def\startenvironment#1{\begingroup\def\thisenv{#1}} % initialize \let\thisenv\empty % ... but they get defined via ``\envdef\foo{...}'': \long\def\envdef#1#2{\def#1{\startenvironment#1#2}} \def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}} % Check whether we're in the right environment: \def\checkenv#1{% \def\temp{#1}% \ifx\thisenv\temp \else \badenverr \fi } % Environment mismatch, #1 expected: \def\badenverr{% \errhelp = \EMsimple \errmessage{This command can appear only \inenvironment\temp, not \inenvironment\thisenv}% } \def\inenvironment#1{% \ifx#1\empty outside of any environment% \else in environment \expandafter\string#1% \fi } % @end foo executes the definition of \Efoo. % But first, it executes a specialized version of \checkenv % \parseargdef\end{% \if 1\csname iscond.#1\endcsname \else % The general wording of \badenverr may not be ideal. \expandafter\checkenv\csname#1\endcsname \csname E#1\endcsname \endgroup \fi } \newhelp\EMsimple{Press RETURN to continue.} % Be sure we're in horizontal mode when doing a tie, since we make space % equivalent to this in @example-like environments. Otherwise, a space % at the beginning of a line will start with \penalty -- and % since \penalty is valid in vertical mode, we'd end up putting the % penalty on the vertical list instead of in the new paragraph. {\catcode`@ = 11 % Avoid using \@M directly, because that causes trouble % if the definition is written into an index file. \global\let\tiepenalty = \@M \gdef\tie{\leavevmode\penalty\tiepenalty\ } } % @: forces normal size whitespace following. \def\:{\spacefactor=1000 } % @* forces a line break. \def\*{\unskip\hfil\break\hbox{}\ignorespaces} % @/ allows a line break. \let\/=\allowbreak % @. is an end-of-sentence period. \def\.{.\spacefactor=\endofsentencespacefactor\space} % @! is an end-of-sentence bang. \def\!{!\spacefactor=\endofsentencespacefactor\space} % @? is an end-of-sentence query. \def\?{?\spacefactor=\endofsentencespacefactor\space} % @frenchspacing on|off says whether to put extra space after punctuation. % \def\onword{on} \def\offword{off} % \parseargdef\frenchspacing{% \def\temp{#1}% \ifx\temp\onword \plainfrenchspacing \else\ifx\temp\offword \plainnonfrenchspacing \else \errhelp = \EMsimple \errmessage{Unknown @frenchspacing option `\temp', must be on|off}% \fi\fi } % @w prevents a word break. Without the \leavevmode, @w at the % beginning of a paragraph, when TeX is still in vertical mode, would % produce a whole line of output instead of starting the paragraph. \def\w#1{\leavevmode\hbox{#1}} % @group ... @end group forces ... to be all on one page, by enclosing % it in a TeX vbox. We use \vtop instead of \vbox to construct the box % to keep its height that of a normal line. According to the rules for % \topskip (p.114 of the TeXbook), the glue inserted is % max (\topskip - \ht (first item), 0). If that height is large, % therefore, no glue is inserted, and the space between the headline and % the text is small, which looks bad. % % Another complication is that the group might be very large. This can % cause the glue on the previous page to be unduly stretched, because it % does not have much material. In this case, it's better to add an % explicit \vfill so that the extra space is at the bottom. The % threshold for doing this is if the group is more than \vfilllimit % percent of a page (\vfilllimit can be changed inside of @tex). % \newbox\groupbox \def\vfilllimit{0.7} % \envdef\group{% \ifnum\catcode`\^^M=\active \else \errhelp = \groupinvalidhelp \errmessage{@group invalid in context where filling is enabled}% \fi \startsavinginserts % \setbox\groupbox = \vtop\bgroup % Do @comment since we are called inside an environment such as % @example, where each end-of-line in the input causes an % end-of-line in the output. We don't want the end-of-line after % the `@group' to put extra space in the output. Since @group % should appear on a line by itself (according to the Texinfo % manual), we don't worry about eating any user text. \comment } % % The \vtop produces a box with normal height and large depth; thus, TeX puts % \baselineskip glue before it, and (when the next line of text is done) % \lineskip glue after it. Thus, space below is not quite equal to space % above. But it's pretty close. \def\Egroup{% % To get correct interline space between the last line of the group % and the first line afterwards, we have to propagate \prevdepth. \endgraf % Not \par, as it may have been set to \lisppar. \global\dimen1 = \prevdepth \egroup % End the \vtop. \addgroupbox \prevdepth = \dimen1 \checkinserts } \def\addgroupbox{ % \dimen0 is the vertical size of the group's box. \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox % \dimen2 is how much space is left on the page (more or less). \dimen2 = \txipageheight \advance\dimen2 by -\pagetotal % if the group doesn't fit on the current page, and it's a big big % group, force a page break. \ifdim \dimen0 > \dimen2 \ifdim \pagetotal < \vfilllimit\txipageheight \page \fi \fi \box\groupbox } % % TeX puts in an \escapechar (i.e., `@') at the beginning of the help % message, so this ends up printing `@group can only ...'. % \newhelp\groupinvalidhelp{% group can only be used in environments such as @example,^^J% where each line of input produces a line of output.} % @need space-in-mils % forces a page break if there is not space-in-mils remaining. \newdimen\mil \mil=0.001in \parseargdef\need{% % Ensure vertical mode, so we don't make a big box in the middle of a % paragraph. \par % % If the @need value is less than one line space, it's useless. \dimen0 = #1\mil \dimen2 = \ht\strutbox \advance\dimen2 by \dp\strutbox \ifdim\dimen0 > \dimen2 % % Do a \strut just to make the height of this box be normal, so the % normal leading is inserted relative to the preceding line. % And a page break here is fine. \vtop to #1\mil{\strut\vfil}% % % TeX does not even consider page breaks if a penalty added to the % main vertical list is 10000 or more. But in order to see if the % empty box we just added fits on the page, we must make it consider % page breaks. On the other hand, we don't want to actually break the % page after the empty box. So we use a penalty of 9999. % % There is an extremely small chance that TeX will actually break the % page at this \penalty, if there are no other feasible breakpoints in % sight. (If the user is using lots of big @group commands, which % almost-but-not-quite fill up a page, TeX will have a hard time doing % good page breaking, for example.) However, I could not construct an % example where a page broke at this \penalty; if it happens in a real % document, then we can reconsider our strategy. \penalty9999 % % Back up by the size of the box, whether we did a page break or not. \kern -#1\mil % % Do not allow a page break right after this kern. \nobreak \fi } % @br forces paragraph break (and is undocumented). \let\br = \par % @page forces the start of a new page. % \def\page{\par\vfill\supereject} % @exdent text.... % outputs text on separate line in roman font, starting at standard page margin % This records the amount of indent in the innermost environment. % That's how much \exdent should take out. \newskip\exdentamount % This defn is used inside fill environments such as @defun. \parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break} % This defn is used inside nofill environments such as @example. \parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount \leftline{\hskip\leftskip{\rm#1}}}} % @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current % paragraph. For more general purposes, use the \margin insertion % class. WHICH is `l' or `r'. Not documented, written for gawk manual. % \newskip\inmarginspacing \inmarginspacing=1cm \def\strutdepth{\dp\strutbox} % \def\doinmargin#1#2{\strut\vadjust{% \nobreak \kern-\strutdepth \vtop to \strutdepth{% \baselineskip=\strutdepth \vss % if you have multiple lines of stuff to put here, you'll need to % make the vbox yourself of the appropriate size. \ifx#1l% \llap{\ignorespaces #2\hskip\inmarginspacing}% \else \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}% \fi \null }% }} \def\inleftmargin{\doinmargin l} \def\inrightmargin{\doinmargin r} % % @inmargin{TEXT [, RIGHT-TEXT]} % (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right; % else use TEXT for both). % \def\inmargin#1{\parseinmargin #1,,\finish} \def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing. \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0 > 0pt \def\lefttext{#1}% have both texts \def\righttext{#2}% \else \def\lefttext{#1}% have only one text \def\righttext{#1}% \fi % \ifodd\pageno \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin \else \def\temp{\inleftmargin\lefttext}% \fi \temp } % @include FILE -- \input text of FILE. % \def\include{\parseargusing\filenamecatcodes\includezzz} \def\includezzz#1{% \pushthisfilestack \def\thisfile{#1}% {% \makevalueexpandable % we want to expand any @value in FILE. \turnoffactive % and allow special characters in the expansion \indexnofonts % Allow `@@' and other weird things in file names. \wlog{texinfo.tex: doing @include of #1^^J}% \edef\temp{\noexpand\input #1 }% % % This trickery is to read FILE outside of a group, in case it makes % definitions, etc. \expandafter }\temp \popthisfilestack } \def\filenamecatcodes{% \catcode`\\=\other \catcode`~=\other \catcode`^=\other \catcode`_=\other \catcode`|=\other \catcode`<=\other \catcode`>=\other \catcode`+=\other \catcode`-=\other \catcode`\`=\other \catcode`\'=\other } \def\pushthisfilestack{% \expandafter\pushthisfilestackX\popthisfilestack\StackTerm } \def\pushthisfilestackX{% \expandafter\pushthisfilestackY\thisfile\StackTerm } \def\pushthisfilestackY #1\StackTerm #2\StackTerm {% \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}% } \def\popthisfilestack{\errthisfilestackempty} \def\errthisfilestackempty{\errmessage{Internal error: the stack of filenames is empty.}} % \def\thisfile{} % @center line % outputs that line, centered. % \parseargdef\center{% \ifhmode \let\centersub\centerH \else \let\centersub\centerV \fi \centersub{\hfil \ignorespaces#1\unskip \hfil}% \let\centersub\relax % don't let the definition persist, just in case } \def\centerH#1{{% \hfil\break \advance\hsize by -\leftskip \advance\hsize by -\rightskip \line{#1}% \break }} % \newcount\centerpenalty \def\centerV#1{% % The idea here is the same as in \startdefun, \cartouche, etc.: if % @center is the first thing after a section heading, we need to wipe % out the negative parskip inserted by \sectionheading, but still % prevent a page break here. \centerpenalty = \lastpenalty \ifnum\centerpenalty>10000 \vskip\parskip \fi \ifnum\centerpenalty>9999 \penalty\centerpenalty \fi \line{\kern\leftskip #1\kern\rightskip}% } % @sp n outputs n lines of vertical space % \parseargdef\sp{\vskip #1\baselineskip} % @comment ...line which is ignored... % @c is the same as @comment % @ignore ... @end ignore is another way to write a comment \def\c{\begingroup \catcode`\^^M=\active% \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other% \cxxx} {\catcode`\^^M=\active \gdef\cxxx#1^^M{\endgroup}} % \let\comment\c % @paragraphindent NCHARS % We'll use ems for NCHARS, close enough. % NCHARS can also be the word `asis' or `none'. % We cannot feasibly implement @paragraphindent asis, though. % \def\asisword{asis} % no translation, these are keywords \def\noneword{none} % \parseargdef\paragraphindent{% \def\temp{#1}% \ifx\temp\asisword \else \ifx\temp\noneword \defaultparindent = 0pt \else \defaultparindent = #1em \fi \fi \parindent = \defaultparindent } % @exampleindent NCHARS % We'll use ems for NCHARS like @paragraphindent. % It seems @exampleindent asis isn't necessary, but % I preserve it to make it similar to @paragraphindent. \parseargdef\exampleindent{% \def\temp{#1}% \ifx\temp\asisword \else \ifx\temp\noneword \lispnarrowing = 0pt \else \lispnarrowing = #1em \fi \fi } % @firstparagraphindent WORD % If WORD is `none', then suppress indentation of the first paragraph % after a section heading. If WORD is `insert', then do indent at such % paragraphs. % % The paragraph indentation is suppressed or not by calling % \suppressfirstparagraphindent, which the sectioning commands do. % We switch the definition of this back and forth according to WORD. % By default, we suppress indentation. % \def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent} \def\insertword{insert} % \parseargdef\firstparagraphindent{% \def\temp{#1}% \ifx\temp\noneword \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent \else\ifx\temp\insertword \let\suppressfirstparagraphindent = \relax \else \errhelp = \EMsimple \errmessage{Unknown @firstparagraphindent option `\temp'}% \fi\fi } % Here is how we actually suppress indentation. Redefine \everypar to % \kern backwards by \parindent, and then reset itself to empty. % % We also make \indent itself not actually do anything until the next % paragraph. % \gdef\dosuppressfirstparagraphindent{% \gdef\indent {\restorefirstparagraphindent \indent}% \gdef\noindent{\restorefirstparagraphindent \noindent}% \global\everypar = {\kern -\parindent \restorefirstparagraphindent}% } % \gdef\restorefirstparagraphindent{% \global\let\indent = \ptexindent \global\let\noindent = \ptexnoindent \global\everypar = {}% } % @refill is a no-op. \let\refill=\relax % @setfilename INFO-FILENAME - ignored \let\setfilename=\comment % @bye. \outer\def\bye{\pagealignmacro\tracingstats=1\ptexend} \message{pdf,} % adobe `portable' document format \newcount\tempnum \newcount\lnkcount \newtoks\filename \newcount\filenamelength \newcount\pgn \newtoks\toksA \newtoks\toksB \newtoks\toksC \newtoks\toksD \newbox\boxA \newbox\boxB \newcount\countA \newif\ifpdf \newif\ifpdfmakepagedest % % For LuaTeX % \newif\iftxiuseunicodedestname \txiuseunicodedestnamefalse % For pdfTeX etc. \ifx\luatexversion\thisisundefined \else % Use Unicode destination names \txiuseunicodedestnametrue % Escape PDF strings with converting UTF-16 from UTF-8 \begingroup \catcode`\%=12 \directlua{ function UTF16oct(str) tex.sprint(string.char(0x5c) .. '376' .. string.char(0x5c) .. '377') for c in string.utfvalues(str) do if c < 0x10000 then tex.sprint( string.format(string.char(0x5c) .. string.char(0x25) .. '03o' .. string.char(0x5c) .. string.char(0x25) .. '03o', (c / 256), (c % 256))) else c = c - 0x10000 local c_hi = c / 1024 + 0xd800 local c_lo = c % 1024 + 0xdc00 tex.sprint( string.format(string.char(0x5c) .. string.char(0x25) .. '03o' .. string.char(0x5c) .. string.char(0x25) .. '03o' .. string.char(0x5c) .. string.char(0x25) .. '03o' .. string.char(0x5c) .. string.char(0x25) .. '03o', (c_hi / 256), (c_hi % 256), (c_lo / 256), (c_lo % 256))) end end end } \endgroup \def\pdfescapestrutfsixteen#1{\directlua{UTF16oct('\luaescapestring{#1}')}} % Escape PDF strings without converting \begingroup \directlua{ function PDFescstr(str) for c in string.bytes(str) do if c <= 0x20 or c >= 0x80 or c == 0x28 or c == 0x29 or c == 0x5c then tex.sprint( string.format(string.char(0x5c) .. string.char(0x25) .. '03o', c)) else tex.sprint(string.char(c)) end end end } \endgroup \def\pdfescapestring#1{\directlua{PDFescstr('\luaescapestring{#1}')}} \ifnum\luatexversion>84 % For LuaTeX >= 0.85 \def\pdfdest{\pdfextension dest} \let\pdfoutput\outputmode \def\pdfliteral{\pdfextension literal} \def\pdfcatalog{\pdfextension catalog} \def\pdftexversion{\numexpr\pdffeedback version\relax} \let\pdfximage\saveimageresource \let\pdfrefximage\useimageresource \let\pdflastximage\lastsavedimageresourceindex \def\pdfendlink{\pdfextension endlink\relax} \def\pdfoutline{\pdfextension outline} \def\pdfstartlink{\pdfextension startlink} \def\pdffontattr{\pdfextension fontattr} \def\pdfobj{\pdfextension obj} \def\pdflastobj{\numexpr\pdffeedback lastobj\relax} \let\pdfpagewidth\pagewidth \let\pdfpageheight\pageheight \edef\pdfhorigin{\pdfvariable horigin} \edef\pdfvorigin{\pdfvariable vorigin} \fi \fi % when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 % can be set). So we test for \relax and 0 as well as being undefined. \ifx\pdfoutput\thisisundefined \else \ifx\pdfoutput\relax \else \ifcase\pdfoutput \else \pdftrue \fi \fi \fi % PDF uses PostScript string constants for the names of xref targets, % for display in the outlines, and in other places. Thus, we have to % double any backslashes. Otherwise, a name like "\node" will be % interpreted as a newline (\n), followed by o, d, e. Not good. % % See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and % related messages. The final outcome is that it is up to the TeX user % to double the backslashes and otherwise make the string valid, so % that's what we do. pdftex 1.30.0 (ca.2005) introduced a primitive to % do this reliably, so we use it. % #1 is a control sequence in which to do the replacements, % which we \xdef. \def\txiescapepdf#1{% \ifx\pdfescapestring\thisisundefined % No primitive available; should we give a warning or log? % Many times it won't matter. \xdef#1{#1}% \else % The expandable \pdfescapestring primitive escapes parentheses, % backslashes, and other special chars. \xdef#1{\pdfescapestring{#1}}% \fi } \def\txiescapepdfutfsixteen#1{% \ifx\pdfescapestrutfsixteen\thisisundefined % No UTF-16 converting macro available. \txiescapepdf{#1}% \else \xdef#1{\pdfescapestrutfsixteen{#1}}% \fi } \newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images with PDF output, and none of those formats could be found. (.eps cannot be supported due to the design of the PDF format; use regular TeX (DVI output) for that.)} \ifpdf % % Color manipulation macros using ideas from pdfcolor.tex, % except using rgb instead of cmyk; the latter is said to render as a % very dark gray on-screen and a very dark halftone in print, instead % of actual black. The dark red here is dark enough to print on paper as % nearly black, but still distinguishable for online viewing. We use % black by default, though. \def\rgbDarkRed{0.50 0.09 0.12} \def\rgbBlack{0 0 0} % % rg sets the color for filling (usual text, etc.); % RG sets the color for stroking (thin rules, e.g., normal _'s). \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}} % % Set color, and create a mark which defines \thiscolor accordingly, % so that \makeheadline knows which color to restore. \def\setcolor#1{% \xdef\lastcolordefs{\gdef\noexpand\thiscolor{#1}}% \domark \pdfsetcolor{#1}% } % \def\maincolor{\rgbBlack} \pdfsetcolor{\maincolor} \edef\thiscolor{\maincolor} \def\lastcolordefs{} % \def\makefootline{% \baselineskip24pt \line{\pdfsetcolor{\maincolor}\the\footline}% } % \def\makeheadline{% \vbox to 0pt{% \vskip-22.5pt \line{% \vbox to8.5pt{}% % Extract \thiscolor definition from the marks. \getcolormarks % Typeset the headline with \maincolor, then restore the color. \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}% }% \vss }% \nointerlineskip } % % \pdfcatalog{/PageMode /UseOutlines} % % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). \def\dopdfimage#1#2#3{% \def\pdfimagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% \def\pdfimageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% % % pdftex (and the PDF format) support .pdf, .png, .jpg (among % others). Let's try in that order, PDF first since if % someone has a scalable image, presumably better to use that than a % bitmap. \let\pdfimgext=\empty \begingroup \openin 1 #1.pdf \ifeof 1 \openin 1 #1.PDF \ifeof 1 \openin 1 #1.png \ifeof 1 \openin 1 #1.jpg \ifeof 1 \openin 1 #1.jpeg \ifeof 1 \openin 1 #1.JPG \ifeof 1 \errhelp = \nopdfimagehelp \errmessage{Could not find image file #1 for pdf}% \else \gdef\pdfimgext{JPG}% \fi \else \gdef\pdfimgext{jpeg}% \fi \else \gdef\pdfimgext{jpg}% \fi \else \gdef\pdfimgext{png}% \fi \else \gdef\pdfimgext{PDF}% \fi \else \gdef\pdfimgext{pdf}% \fi \closein 1 \endgroup % % without \immediate, ancient pdftex seg faults when the same image is % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) \ifnum\pdftexversion < 14 \immediate\pdfimage \else \immediate\pdfximage \fi \ifdim \wd0 >0pt width \pdfimagewidth \fi \ifdim \wd2 >0pt height \pdfimageheight \fi \ifnum\pdftexversion<13 #1.\pdfimgext \else {#1.\pdfimgext}% \fi \ifnum\pdftexversion < 14 \else \pdfrefximage \pdflastximage \fi} % \def\setpdfdestname#1{{% % We have to set dummies so commands such as @code, and characters % such as \, aren't expanded when present in a section title. \indexnofonts \makevalueexpandable \turnoffactive \iftxiuseunicodedestname \ifx \declaredencoding \latone % Pass through Latin-1 characters. % LuaTeX with byte wise I/O converts Latin-1 characters to Unicode. \else \ifx \declaredencoding \utfeight % Pass through Unicode characters. \else % Use ASCII approximations in destination names. \passthroughcharsfalse \fi \fi \else % Use ASCII approximations in destination names. \passthroughcharsfalse \fi \def\pdfdestname{#1}% \txiescapepdf\pdfdestname }} % \def\setpdfoutlinetext#1{{% \indexnofonts \makevalueexpandable \turnoffactive \ifx \declaredencoding \latone % The PDF format can use an extended form of Latin-1 in bookmark % strings. See Appendix D of the PDF Reference, Sixth Edition, for % the "PDFDocEncoding". \passthroughcharstrue % Pass through Latin-1 characters. % LuaTeX: Convert to Unicode % pdfTeX: Use Latin-1 as PDFDocEncoding \def\pdfoutlinetext{#1}% \else \ifx \declaredencoding \utfeight \ifx\luatexversion\thisisundefined % For pdfTeX with UTF-8. % TODO: the PDF format can use UTF-16 in bookmark strings, % but the code for this isn't done yet. % Use ASCII approximations. \passthroughcharsfalse \def\pdfoutlinetext{#1}% \else % For LuaTeX with UTF-8. % Pass through Unicode characters for title texts. \passthroughcharstrue \def\pdfoutlinetext{#1}% \fi \else % For non-Latin-1 or non-UTF-8 encodings. % Use ASCII approximations. \passthroughcharsfalse \def\pdfoutlinetext{#1}% \fi \fi % LuaTeX: Convert to UTF-16 % pdfTeX: Use Latin-1 as PDFDocEncoding \txiescapepdfutfsixteen\pdfoutlinetext }} % \def\pdfmkdest#1{% \setpdfdestname{#1}% \safewhatsit{\pdfdest name{\pdfdestname} xyz}% } % % used to mark target names; must be expandable. \def\pdfmkpgn#1{#1} % % by default, use black for everything. \def\urlcolor{\rgbBlack} \def\linkcolor{\rgbBlack} \def\endlink{\setcolor{\maincolor}\pdfendlink} % % Adding outlines to PDF; macros for calculating structure of outlines % come from Petr Olsak \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% \else \csname#1\endcsname \fi} \def\advancenumber#1{\tempnum=\expnumber{#1}\relax \advance\tempnum by 1 \expandafter\xdef\csname#1\endcsname{\the\tempnum}} % % #1 is the section text, which is what will be displayed in the % outline by the pdf viewer. #2 is the pdf expression for the number % of subentries (or empty, for subsubsections). #3 is the node text, % which might be empty if this toc entry had no corresponding node. % #4 is the page number % \def\dopdfoutline#1#2#3#4{% % Generate a link to the node text if that exists; else, use the % page number. We could generate a destination for the section % text in the case where a section has no node, but it doesn't % seem worth the trouble, since most documents are normally structured. \setpdfoutlinetext{#1} \setpdfdestname{#3} \ifx\pdfdestname\empty \def\pdfdestname{#4}% \fi % \pdfoutline goto name{\pdfmkpgn{\pdfdestname}}#2{\pdfoutlinetext}% } % \def\pdfmakeoutlines{% \begingroup % Read toc silently, to get counts of subentries for \pdfoutline. \def\partentry##1##2##3##4{}% ignore parts in the outlines \def\numchapentry##1##2##3##4{% \def\thischapnum{##2}% \def\thissecnum{0}% \def\thissubsecnum{0}% }% \def\numsecentry##1##2##3##4{% \advancenumber{chap\thischapnum}% \def\thissecnum{##2}% \def\thissubsecnum{0}% }% \def\numsubsecentry##1##2##3##4{% \advancenumber{sec\thissecnum}% \def\thissubsecnum{##2}% }% \def\numsubsubsecentry##1##2##3##4{% \advancenumber{subsec\thissubsecnum}% }% \def\thischapnum{0}% \def\thissecnum{0}% \def\thissubsecnum{0}% % % use \def rather than \let here because we redefine \chapentry et % al. a second time, below. \def\appentry{\numchapentry}% \def\appsecentry{\numsecentry}% \def\appsubsecentry{\numsubsecentry}% \def\appsubsubsecentry{\numsubsubsecentry}% \def\unnchapentry{\numchapentry}% \def\unnsecentry{\numsecentry}% \def\unnsubsecentry{\numsubsecentry}% \def\unnsubsubsecentry{\numsubsubsecentry}% \readdatafile{toc}% % % Read toc second time, this time actually producing the outlines. % The `-' means take the \expnumber as the absolute number of % subentries, which we calculated on our first read of the .toc above. % % We use the node names as the destinations. \def\numchapentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}% \def\numsecentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}% \def\numsubsecentry##1##2##3##4{% \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}% \def\numsubsubsecentry##1##2##3##4{% count is always zero \dopdfoutline{##1}{}{##3}{##4}}% % % PDF outlines are displayed using system fonts, instead of % document fonts. Therefore we cannot use special characters, % since the encoding is unknown. For example, the eogonek from % Latin 2 (0xea) gets translated to a | character. Info from % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. % % TODO this right, we have to translate 8-bit characters to % their "best" equivalent, based on the @documentencoding. Too % much work for too little return. Just use the ASCII equivalents % we use for the index sort strings. % \indexnofonts \setupdatafile % We can have normal brace characters in the PDF outlines, unlike % Texinfo index files. So set that up. \def\{{\lbracecharliteral}% \def\}{\rbracecharliteral}% \catcode`\\=\active \otherbackslash \input \tocreadfilename \endgroup } {\catcode`[=1 \catcode`]=2 \catcode`{=\other \catcode`}=\other \gdef\lbracecharliteral[{]% \gdef\rbracecharliteral[}]% ] % \def\skipspaces#1{\def\PP{#1}\def\D{|}% \ifx\PP\D\let\nextsp\relax \else\let\nextsp\skipspaces \addtokens{\filename}{\PP}% \advance\filenamelength by 1 \fi \nextsp} \def\getfilename#1{% \filenamelength=0 % If we don't expand the argument now, \skipspaces will get % snagged on things like "@value{foo}". \edef\temp{#1}% \expandafter\skipspaces\temp|\relax } \ifnum\pdftexversion < 14 \let \startlink \pdfannotlink \else \let \startlink \pdfstartlink \fi % make a live url in pdf output. \def\pdfurl#1{% \begingroup % it seems we really need yet another set of dummies; have not % tried to figure out what each command should do in the context % of @url. for now, just make @/ a no-op, that's the only one % people have actually reported a problem with. % \normalturnoffactive \def\@{@}% \let\/=\empty \makevalueexpandable % do we want to go so far as to use \indexnofonts instead of just % special-casing \var here? \def\var##1{##1}% % \leavevmode\setcolor{\urlcolor}% \startlink attr{/Border [0 0 0]}% user{/Subtype /Link /A << /S /URI /URI (#1) >>}% \endgroup} \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} \def\maketoks{% \expandafter\poptoks\the\toksA|ENDTOKS|\relax \ifx\first0\adn0 \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 \else \ifnum0=\countA\else\makelink\fi \ifx\first.\let\next=\done\else \let\next=\maketoks \addtokens{\toksB}{\the\toksD} \ifx\first,\addtokens{\toksB}{\space}\fi \fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \next} \def\makelink{\addtokens{\toksB}% {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} \def\pdflink#1{% \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}} \setcolor{\linkcolor}#1\endlink} \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} \else % non-pdf mode \let\pdfmkdest = \gobble \let\pdfurl = \gobble \let\endlink = \relax \let\setcolor = \gobble \let\pdfsetcolor = \gobble \let\pdfmakeoutlines = \relax \fi % \ifx\pdfoutput % % For XeTeX % \ifx\XeTeXrevision\thisisundefined \else % % XeTeX version check % \ifnum\strcmp{\the\XeTeXversion\XeTeXrevision}{0.99996}>-1 % TeX Live 2016 contains XeTeX 0.99996 and xdvipdfmx 20160307. % It can use the `dvipdfmx:config' special (from TeX Live SVN r40941). % For avoiding PDF destination name replacement, we use this special % instead of xdvipdfmx's command line option `-C 0x0010'. \special{dvipdfmx:config C 0x0010} % XeTeX 0.99995+ comes with xdvipdfmx 20160307+. % It can handle Unicode destination names for PDF. \txiuseunicodedestnametrue \else % XeTeX < 0.99996 (TeX Live < 2016) cannot use the % `dvipdfmx:config' special. % So for avoiding PDF destination name replacement, % xdvipdfmx's command line option `-C 0x0010' is necessary. % % XeTeX < 0.99995 can not handle Unicode destination names for PDF % because xdvipdfmx 20150315 has a UTF-16 conversion issue. % It is fixed by xdvipdfmx 20160106 (TeX Live SVN r39753). \txiuseunicodedestnamefalse \fi % % Color support % \def\rgbDarkRed{0.50 0.09 0.12} \def\rgbBlack{0 0 0} % \def\pdfsetcolor#1{\special{pdf:scolor [#1]}} % % Set color, and create a mark which defines \thiscolor accordingly, % so that \makeheadline knows which color to restore. \def\setcolor#1{% \xdef\lastcolordefs{\gdef\noexpand\thiscolor{#1}}% \domark \pdfsetcolor{#1}% } % \def\maincolor{\rgbBlack} \pdfsetcolor{\maincolor} \edef\thiscolor{\maincolor} \def\lastcolordefs{} % \def\makefootline{% \baselineskip24pt \line{\pdfsetcolor{\maincolor}\the\footline}% } % \def\makeheadline{% \vbox to 0pt{% \vskip-22.5pt \line{% \vbox to8.5pt{}% % Extract \thiscolor definition from the marks. \getcolormarks % Typeset the headline with \maincolor, then restore the color. \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}% }% \vss }% \nointerlineskip } % % PDF outline support % % Emulate pdfTeX primitive \def\pdfdest name#1 xyz{% \special{pdf:dest (#1) [@thispage /XYZ @xpos @ypos null]}% } % \def\setpdfdestname#1{{% % We have to set dummies so commands such as @code, and characters % such as \, aren't expanded when present in a section title. \indexnofonts \makevalueexpandable \turnoffactive \iftxiuseunicodedestname % Pass through Unicode characters. \else % Use ASCII approximations in destination names. \passthroughcharsfalse \fi \def\pdfdestname{#1}% \txiescapepdf\pdfdestname }} % \def\setpdfoutlinetext#1{{% \turnoffactive % Always use Unicode characters in title texts. \def\pdfoutlinetext{#1}% % For XeTeX, xdvipdfmx converts to UTF-16. % So we do not convert. \txiescapepdf\pdfoutlinetext }} % \def\pdfmkdest#1{% \setpdfdestname{#1}% \safewhatsit{\pdfdest name{\pdfdestname} xyz}% } % % by default, use black for everything. \def\urlcolor{\rgbBlack} \def\linkcolor{\rgbBlack} \def\endlink{\setcolor{\maincolor}\pdfendlink} % \def\dopdfoutline#1#2#3#4{% \setpdfoutlinetext{#1} \setpdfdestname{#3} \ifx\pdfdestname\empty \def\pdfdestname{#4}% \fi % \special{pdf:out [-] #2 << /Title (\pdfoutlinetext) /A << /S /GoTo /D (\pdfdestname) >> >> }% } % \def\pdfmakeoutlines{% \begingroup % % For XeTeX, counts of subentries are not necessary. % Therefore, we read toc only once. % % We use node names as destinations. \def\partentry##1##2##3##4{}% ignore parts in the outlines \def\numchapentry##1##2##3##4{% \dopdfoutline{##1}{1}{##3}{##4}}% \def\numsecentry##1##2##3##4{% \dopdfoutline{##1}{2}{##3}{##4}}% \def\numsubsecentry##1##2##3##4{% \dopdfoutline{##1}{3}{##3}{##4}}% \def\numsubsubsecentry##1##2##3##4{% \dopdfoutline{##1}{4}{##3}{##4}}% % \let\appentry\numchapentry% \let\appsecentry\numsecentry% \let\appsubsecentry\numsubsecentry% \let\appsubsubsecentry\numsubsubsecentry% \let\unnchapentry\numchapentry% \let\unnsecentry\numsecentry% \let\unnsubsecentry\numsubsecentry% \let\unnsubsubsecentry\numsubsubsecentry% % % For XeTeX, xdvipdfmx converts strings to UTF-16. % Therefore, the encoding and the language may not be considered. % \indexnofonts \setupdatafile % We can have normal brace characters in the PDF outlines, unlike % Texinfo index files. So set that up. \def\{{\lbracecharliteral}% \def\}{\rbracecharliteral}% \catcode`\\=\active \otherbackslash \input \tocreadfilename \endgroup } {\catcode`[=1 \catcode`]=2 \catcode`{=\other \catcode`}=\other \gdef\lbracecharliteral[{]% \gdef\rbracecharliteral[}]% ] \special{pdf:docview << /PageMode /UseOutlines >> } % ``\special{pdf:tounicode ...}'' is not necessary % because xdvipdfmx converts strings from UTF-8 to UTF-16 without it. % However, due to a UTF-16 conversion issue of xdvipdfmx 20150315, % ``\special{pdf:dest ...}'' cannot handle non-ASCII strings. % It is fixed by xdvipdfmx 20160106 (TeX Live SVN r39753). % \def\skipspaces#1{\def\PP{#1}\def\D{|}% \ifx\PP\D\let\nextsp\relax \else\let\nextsp\skipspaces \addtokens{\filename}{\PP}% \advance\filenamelength by 1 \fi \nextsp} \def\getfilename#1{% \filenamelength=0 % If we don't expand the argument now, \skipspaces will get % snagged on things like "@value{foo}". \edef\temp{#1}% \expandafter\skipspaces\temp|\relax } % make a live url in pdf output. \def\pdfurl#1{% \begingroup % it seems we really need yet another set of dummies; have not % tried to figure out what each command should do in the context % of @url. for now, just make @/ a no-op, that's the only one % people have actually reported a problem with. % \normalturnoffactive \def\@{@}% \let\/=\empty \makevalueexpandable % do we want to go so far as to use \indexnofonts instead of just % special-casing \var here? \def\var##1{##1}% % \leavevmode\setcolor{\urlcolor}% \special{pdf:bann << /Border [0 0 0] /Subtype /Link /A << /S /URI /URI (#1) >> >>}% \endgroup} \def\endlink{\setcolor{\maincolor}\special{pdf:eann}} \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} \def\maketoks{% \expandafter\poptoks\the\toksA|ENDTOKS|\relax \ifx\first0\adn0 \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 \else \ifnum0=\countA\else\makelink\fi \ifx\first.\let\next=\done\else \let\next=\maketoks \addtokens{\toksB}{\the\toksD} \ifx\first,\addtokens{\toksB}{\space}\fi \fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \next} \def\makelink{\addtokens{\toksB}% {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} \def\pdflink#1{% \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A << /S /GoTo /D (#1) >> >>}% \setcolor{\linkcolor}#1\endlink} \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} % % % @image support % % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). \def\doxeteximage#1#2#3{% \def\xeteximagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% \def\xeteximageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% % % XeTeX (and the PDF format) supports .pdf, .png, .jpg (among % others). Let's try in that order, PDF first since if % someone has a scalable image, presumably better to use that than a % bitmap. \let\xeteximgext=\empty \begingroup \openin 1 #1.pdf \ifeof 1 \openin 1 #1.PDF \ifeof 1 \openin 1 #1.png \ifeof 1 \openin 1 #1.jpg \ifeof 1 \openin 1 #1.jpeg \ifeof 1 \openin 1 #1.JPG \ifeof 1 \errmessage{Could not find image file #1 for XeTeX}% \else \gdef\xeteximgext{JPG}% \fi \else \gdef\xeteximgext{jpeg}% \fi \else \gdef\xeteximgext{jpg}% \fi \else \gdef\xeteximgext{png}% \fi \else \gdef\xeteximgext{PDF}% \fi \else \gdef\xeteximgext{pdf}% \fi \closein 1 \endgroup % \def\xetexpdfext{pdf}% \ifx\xeteximgext\xetexpdfext \XeTeXpdffile "#1".\xeteximgext "" \else \def\xetexpdfext{PDF}% \ifx\xeteximgext\xetexpdfext \XeTeXpdffile "#1".\xeteximgext "" \else \XeTeXpicfile "#1".\xeteximgext "" \fi \fi \ifdim \wd0 >0pt width \xeteximagewidth \fi \ifdim \wd2 >0pt height \xeteximageheight \fi \relax } \fi % \message{fonts,} % Set the baselineskip to #1, and the lineskip and strut size % correspondingly. There is no deep meaning behind these magic numbers % used as factors; they just match (closely enough) what Knuth defined. % \def\lineskipfactor{.08333} \def\strutheightpercent{.70833} \def\strutdepthpercent {.29167} % % can get a sort of poor man's double spacing by redefining this. \def\baselinefactor{1} % \newdimen\textleading \def\setleading#1{% \dimen0 = #1\relax \normalbaselineskip = \baselinefactor\dimen0 \normallineskip = \lineskipfactor\normalbaselineskip \normalbaselines \setbox\strutbox =\hbox{% \vrule width0pt height\strutheightpercent\baselineskip depth \strutdepthpercent \baselineskip }% } % PDF CMaps. See also LaTeX's t1.cmap. % % do nothing with this by default. \expandafter\let\csname cmapOT1\endcsname\gobble \expandafter\let\csname cmapOT1IT\endcsname\gobble \expandafter\let\csname cmapOT1TT\endcsname\gobble % if we are producing pdf, and we have \pdffontattr, then define cmaps. % (\pdffontattr was introduced many years ago, but people still run % older pdftex's; it's easy to conditionalize, so we do.) \ifpdf \ifx\pdffontattr\thisisundefined \else \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap %%DocumentNeededResources: ProcSet (CIDInit) %%IncludeResource: ProcSet (CIDInit) %%BeginResource: CMap (TeX-OT1-0) %%Title: (TeX-OT1-0 TeX OT1 0) %%Version: 1.000 %%EndComments /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (TeX) /Ordering (OT1) /Supplement 0 >> def /CMapName /TeX-OT1-0 def /CMapType 2 def 1 begincodespacerange <00> <7F> endcodespacerange 8 beginbfrange <00> <01> <0393> <09> <0A> <03A8> <23> <26> <0023> <28> <3B> <0028> <3F> <5B> <003F> <5D> <5E> <005D> <61> <7A> <0061> <7B> <7C> <2013> endbfrange 40 beginbfchar <02> <0398> <03> <039B> <04> <039E> <05> <03A0> <06> <03A3> <07> <03D2> <08> <03A6> <0B> <00660066> <0C> <00660069> <0D> <0066006C> <0E> <006600660069> <0F> <00660066006C> <10> <0131> <11> <0237> <12> <0060> <13> <00B4> <14> <02C7> <15> <02D8> <16> <00AF> <17> <02DA> <18> <00B8> <19> <00DF> <1A> <00E6> <1B> <0153> <1C> <00F8> <1D> <00C6> <1E> <0152> <1F> <00D8> <21> <0021> <22> <201D> <27> <2019> <3C> <00A1> <3D> <003D> <3E> <00BF> <5C> <201C> <5F> <02D9> <60> <2018> <7D> <02DD> <7E> <007E> <7F> <00A8> endbfchar endcmap CMapName currentdict /CMap defineresource pop end end %%EndResource %%EOF }\endgroup \expandafter\edef\csname cmapOT1\endcsname#1{% \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% }% % % \cmapOT1IT \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap %%DocumentNeededResources: ProcSet (CIDInit) %%IncludeResource: ProcSet (CIDInit) %%BeginResource: CMap (TeX-OT1IT-0) %%Title: (TeX-OT1IT-0 TeX OT1IT 0) %%Version: 1.000 %%EndComments /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (TeX) /Ordering (OT1IT) /Supplement 0 >> def /CMapName /TeX-OT1IT-0 def /CMapType 2 def 1 begincodespacerange <00> <7F> endcodespacerange 8 beginbfrange <00> <01> <0393> <09> <0A> <03A8> <25> <26> <0025> <28> <3B> <0028> <3F> <5B> <003F> <5D> <5E> <005D> <61> <7A> <0061> <7B> <7C> <2013> endbfrange 42 beginbfchar <02> <0398> <03> <039B> <04> <039E> <05> <03A0> <06> <03A3> <07> <03D2> <08> <03A6> <0B> <00660066> <0C> <00660069> <0D> <0066006C> <0E> <006600660069> <0F> <00660066006C> <10> <0131> <11> <0237> <12> <0060> <13> <00B4> <14> <02C7> <15> <02D8> <16> <00AF> <17> <02DA> <18> <00B8> <19> <00DF> <1A> <00E6> <1B> <0153> <1C> <00F8> <1D> <00C6> <1E> <0152> <1F> <00D8> <21> <0021> <22> <201D> <23> <0023> <24> <00A3> <27> <2019> <3C> <00A1> <3D> <003D> <3E> <00BF> <5C> <201C> <5F> <02D9> <60> <2018> <7D> <02DD> <7E> <007E> <7F> <00A8> endbfchar endcmap CMapName currentdict /CMap defineresource pop end end %%EndResource %%EOF }\endgroup \expandafter\edef\csname cmapOT1IT\endcsname#1{% \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% }% % % \cmapOT1TT \begingroup \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap %%DocumentNeededResources: ProcSet (CIDInit) %%IncludeResource: ProcSet (CIDInit) %%BeginResource: CMap (TeX-OT1TT-0) %%Title: (TeX-OT1TT-0 TeX OT1TT 0) %%Version: 1.000 %%EndComments /CIDInit /ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo << /Registry (TeX) /Ordering (OT1TT) /Supplement 0 >> def /CMapName /TeX-OT1TT-0 def /CMapType 2 def 1 begincodespacerange <00> <7F> endcodespacerange 5 beginbfrange <00> <01> <0393> <09> <0A> <03A8> <21> <26> <0021> <28> <5F> <0028> <61> <7E> <0061> endbfrange 32 beginbfchar <02> <0398> <03> <039B> <04> <039E> <05> <03A0> <06> <03A3> <07> <03D2> <08> <03A6> <0B> <2191> <0C> <2193> <0D> <0027> <0E> <00A1> <0F> <00BF> <10> <0131> <11> <0237> <12> <0060> <13> <00B4> <14> <02C7> <15> <02D8> <16> <00AF> <17> <02DA> <18> <00B8> <19> <00DF> <1A> <00E6> <1B> <0153> <1C> <00F8> <1D> <00C6> <1E> <0152> <1F> <00D8> <20> <2423> <27> <2019> <60> <2018> <7F> <00A8> endbfchar endcmap CMapName currentdict /CMap defineresource pop end end %%EndResource %%EOF }\endgroup \expandafter\edef\csname cmapOT1TT\endcsname#1{% \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% }% \fi\fi % Set the font macro #1 to the font named \fontprefix#2. % #3 is the font's design size, #4 is a scale factor, #5 is the CMap % encoding (only OT1, OT1IT and OT1TT are allowed, or empty to omit). % Example: % #1 = \textrm % #2 = \rmshape % #3 = 10 % #4 = \mainmagstep % #5 = OT1 % \def\setfont#1#2#3#4#5{% \font#1=\fontprefix#2#3 scaled #4 \csname cmap#5\endcsname#1% } % This is what gets called when #5 of \setfont is empty. \let\cmap\gobble % % (end of cmaps) % Use cm as the default font prefix. % To specify the font prefix, you must define \fontprefix % before you read in texinfo.tex. \ifx\fontprefix\thisisundefined \def\fontprefix{cm} \fi % Support font families that don't use the same naming scheme as CM. \def\rmshape{r} \def\rmbshape{bx} % where the normal face is bold \def\bfshape{b} \def\bxshape{bx} \def\ttshape{tt} \def\ttbshape{tt} \def\ttslshape{sltt} \def\itshape{ti} \def\itbshape{bxti} \def\slshape{sl} \def\slbshape{bxsl} \def\sfshape{ss} \def\sfbshape{ss} \def\scshape{csc} \def\scbshape{csc} % Definitions for a main text size of 11pt. (The default in Texinfo.) % \def\definetextfontsizexi{% % Text fonts (11.2pt, magstep1). \def\textnominalsize{11pt} \edef\mainmagstep{\magstephalf} \setfont\textrm\rmshape{10}{\mainmagstep}{OT1} \setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} \setfont\textbf\bfshape{10}{\mainmagstep}{OT1} \setfont\textit\itshape{10}{\mainmagstep}{OT1IT} \setfont\textsl\slshape{10}{\mainmagstep}{OT1} \setfont\textsf\sfshape{10}{\mainmagstep}{OT1} \setfont\textsc\scshape{10}{\mainmagstep}{OT1} \setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} \font\texti=cmmi10 scaled \mainmagstep \font\textsy=cmsy10 scaled \mainmagstep \def\textecsize{1095} % A few fonts for @defun names and args. \setfont\defbf\bfshape{10}{\magstep1}{OT1} \setfont\deftt\ttshape{10}{\magstep1}{OT1TT} \setfont\defsl\slshape{10}{\magstep1}{OT1TT} \setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT} \def\df{\let\ttfont=\deftt \let\bffont = \defbf \let\ttslfont=\defttsl \let\slfont=\defsl \bf} % Fonts for indices, footnotes, small examples (9pt). \def\smallnominalsize{9pt} \setfont\smallrm\rmshape{9}{1000}{OT1} \setfont\smalltt\ttshape{9}{1000}{OT1TT} \setfont\smallbf\bfshape{10}{900}{OT1} \setfont\smallit\itshape{9}{1000}{OT1IT} \setfont\smallsl\slshape{9}{1000}{OT1} \setfont\smallsf\sfshape{9}{1000}{OT1} \setfont\smallsc\scshape{10}{900}{OT1} \setfont\smallttsl\ttslshape{10}{900}{OT1TT} \font\smalli=cmmi9 \font\smallsy=cmsy9 \def\smallecsize{0900} % Fonts for small examples (8pt). \def\smallernominalsize{8pt} \setfont\smallerrm\rmshape{8}{1000}{OT1} \setfont\smallertt\ttshape{8}{1000}{OT1TT} \setfont\smallerbf\bfshape{10}{800}{OT1} \setfont\smallerit\itshape{8}{1000}{OT1IT} \setfont\smallersl\slshape{8}{1000}{OT1} \setfont\smallersf\sfshape{8}{1000}{OT1} \setfont\smallersc\scshape{10}{800}{OT1} \setfont\smallerttsl\ttslshape{10}{800}{OT1TT} \font\smalleri=cmmi8 \font\smallersy=cmsy8 \def\smallerecsize{0800} % Fonts for math mode superscripts (7pt). \def\sevennominalsize{7pt} \setfont\sevenrm\rmshape{7}{1000}{OT1} \setfont\seventt\ttshape{10}{700}{OT1TT} \setfont\sevenbf\bfshape{10}{700}{OT1} \setfont\sevenit\itshape{7}{1000}{OT1IT} \setfont\sevensl\slshape{10}{700}{OT1} \setfont\sevensf\sfshape{10}{700}{OT1} \setfont\sevensc\scshape{10}{700}{OT1} \setfont\seventtsl\ttslshape{10}{700}{OT1TT} \font\seveni=cmmi7 \font\sevensy=cmsy7 \def\sevenecsize{0700} % Fonts for title page (20.4pt): \def\titlenominalsize{20pt} \setfont\titlerm\rmbshape{12}{\magstep3}{OT1} \setfont\titleit\itbshape{10}{\magstep4}{OT1IT} \setfont\titlesl\slbshape{10}{\magstep4}{OT1} \setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} \setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} \setfont\titlesf\sfbshape{17}{\magstep1}{OT1} \let\titlebf=\titlerm \setfont\titlesc\scbshape{10}{\magstep4}{OT1} \font\titlei=cmmi12 scaled \magstep3 \font\titlesy=cmsy10 scaled \magstep4 \def\titleecsize{2074} % Chapter (and unnumbered) fonts (17.28pt). \def\chapnominalsize{17pt} \setfont\chaprm\rmbshape{12}{\magstep2}{OT1} \setfont\chapit\itbshape{10}{\magstep3}{OT1IT} \setfont\chapsl\slbshape{10}{\magstep3}{OT1} \setfont\chaptt\ttbshape{12}{\magstep2}{OT1TT} \setfont\chapttsl\ttslshape{10}{\magstep3}{OT1TT} \setfont\chapsf\sfbshape{17}{1000}{OT1} \let\chapbf=\chaprm \setfont\chapsc\scbshape{10}{\magstep3}{OT1} \font\chapi=cmmi12 scaled \magstep2 \font\chapsy=cmsy10 scaled \magstep3 \def\chapecsize{1728} % Section fonts (14.4pt). \def\secnominalsize{14pt} \setfont\secrm\rmbshape{12}{\magstep1}{OT1} \setfont\secrmnotbold\rmshape{12}{\magstep1}{OT1} \setfont\secit\itbshape{10}{\magstep2}{OT1IT} \setfont\secsl\slbshape{10}{\magstep2}{OT1} \setfont\sectt\ttbshape{12}{\magstep1}{OT1TT} \setfont\secttsl\ttslshape{10}{\magstep2}{OT1TT} \setfont\secsf\sfbshape{12}{\magstep1}{OT1} \let\secbf\secrm \setfont\secsc\scbshape{10}{\magstep2}{OT1} \font\seci=cmmi12 scaled \magstep1 \font\secsy=cmsy10 scaled \magstep2 \def\sececsize{1440} % Subsection fonts (13.15pt). \def\ssecnominalsize{13pt} \setfont\ssecrm\rmbshape{12}{\magstephalf}{OT1} \setfont\ssecit\itbshape{10}{1315}{OT1IT} \setfont\ssecsl\slbshape{10}{1315}{OT1} \setfont\ssectt\ttbshape{12}{\magstephalf}{OT1TT} \setfont\ssecttsl\ttslshape{10}{1315}{OT1TT} \setfont\ssecsf\sfbshape{12}{\magstephalf}{OT1} \let\ssecbf\ssecrm \setfont\ssecsc\scbshape{10}{1315}{OT1} \font\sseci=cmmi12 scaled \magstephalf \font\ssecsy=cmsy10 scaled 1315 \def\ssececsize{1200} % Reduced fonts for @acronym in text (10pt). \def\reducednominalsize{10pt} \setfont\reducedrm\rmshape{10}{1000}{OT1} \setfont\reducedtt\ttshape{10}{1000}{OT1TT} \setfont\reducedbf\bfshape{10}{1000}{OT1} \setfont\reducedit\itshape{10}{1000}{OT1IT} \setfont\reducedsl\slshape{10}{1000}{OT1} \setfont\reducedsf\sfshape{10}{1000}{OT1} \setfont\reducedsc\scshape{10}{1000}{OT1} \setfont\reducedttsl\ttslshape{10}{1000}{OT1TT} \font\reducedi=cmmi10 \font\reducedsy=cmsy10 \def\reducedecsize{1000} \textleading = 13.2pt % line spacing for 11pt CM \textfonts % reset the current fonts \rm } % end of 11pt text font size definitions, \definetextfontsizexi % Definitions to make the main text be 10pt Computer Modern, with % section, chapter, etc., sizes following suit. This is for the GNU % Press printing of the Emacs 22 manual. Maybe other manuals in the % future. Used with @smallbook, which sets the leading to 12pt. % \def\definetextfontsizex{% % Text fonts (10pt). \def\textnominalsize{10pt} \edef\mainmagstep{1000} \setfont\textrm\rmshape{10}{\mainmagstep}{OT1} \setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} \setfont\textbf\bfshape{10}{\mainmagstep}{OT1} \setfont\textit\itshape{10}{\mainmagstep}{OT1IT} \setfont\textsl\slshape{10}{\mainmagstep}{OT1} \setfont\textsf\sfshape{10}{\mainmagstep}{OT1} \setfont\textsc\scshape{10}{\mainmagstep}{OT1} \setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} \font\texti=cmmi10 scaled \mainmagstep \font\textsy=cmsy10 scaled \mainmagstep \def\textecsize{1000} % A few fonts for @defun names and args. \setfont\defbf\bfshape{10}{\magstephalf}{OT1} \setfont\deftt\ttshape{10}{\magstephalf}{OT1TT} \setfont\defsl\slshape{10}{\magstephalf}{OT1TT} \setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT} \def\df{\let\ttfont=\deftt \let\bffont = \defbf \let\slfont=\defsl \let\ttslfont=\defttsl \bf} % Fonts for indices, footnotes, small examples (9pt). \def\smallnominalsize{9pt} \setfont\smallrm\rmshape{9}{1000}{OT1} \setfont\smalltt\ttshape{9}{1000}{OT1TT} \setfont\smallbf\bfshape{10}{900}{OT1} \setfont\smallit\itshape{9}{1000}{OT1IT} \setfont\smallsl\slshape{9}{1000}{OT1} \setfont\smallsf\sfshape{9}{1000}{OT1} \setfont\smallsc\scshape{10}{900}{OT1} \setfont\smallttsl\ttslshape{10}{900}{OT1TT} \font\smalli=cmmi9 \font\smallsy=cmsy9 \def\smallecsize{0900} % Fonts for small examples (8pt). \def\smallernominalsize{8pt} \setfont\smallerrm\rmshape{8}{1000}{OT1} \setfont\smallertt\ttshape{8}{1000}{OT1TT} \setfont\smallerbf\bfshape{10}{800}{OT1} \setfont\smallerit\itshape{8}{1000}{OT1IT} \setfont\smallersl\slshape{8}{1000}{OT1} \setfont\smallersf\sfshape{8}{1000}{OT1} \setfont\smallersc\scshape{10}{800}{OT1} \setfont\smallerttsl\ttslshape{10}{800}{OT1TT} \font\smalleri=cmmi8 \font\smallersy=cmsy8 \def\smallerecsize{0800} % Fonts for math mode superscripts (7pt). \def\sevennominalsize{7pt} \setfont\sevenrm\rmshape{7}{1000}{OT1} \setfont\seventt\ttshape{10}{700}{OT1TT} \setfont\sevenbf\bfshape{10}{700}{OT1} \setfont\sevenit\itshape{7}{1000}{OT1IT} \setfont\sevensl\slshape{10}{700}{OT1} \setfont\sevensf\sfshape{10}{700}{OT1} \setfont\sevensc\scshape{10}{700}{OT1} \setfont\seventtsl\ttslshape{10}{700}{OT1TT} \font\seveni=cmmi7 \font\sevensy=cmsy7 \def\sevenecsize{0700} % Fonts for title page (20.4pt): \def\titlenominalsize{20pt} \setfont\titlerm\rmbshape{12}{\magstep3}{OT1} \setfont\titleit\itbshape{10}{\magstep4}{OT1IT} \setfont\titlesl\slbshape{10}{\magstep4}{OT1} \setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} \setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} \setfont\titlesf\sfbshape{17}{\magstep1}{OT1} \let\titlebf=\titlerm \setfont\titlesc\scbshape{10}{\magstep4}{OT1} \font\titlei=cmmi12 scaled \magstep3 \font\titlesy=cmsy10 scaled \magstep4 \def\titleecsize{2074} % Chapter fonts (14.4pt). \def\chapnominalsize{14pt} \setfont\chaprm\rmbshape{12}{\magstep1}{OT1} \setfont\chapit\itbshape{10}{\magstep2}{OT1IT} \setfont\chapsl\slbshape{10}{\magstep2}{OT1} \setfont\chaptt\ttbshape{12}{\magstep1}{OT1TT} \setfont\chapttsl\ttslshape{10}{\magstep2}{OT1TT} \setfont\chapsf\sfbshape{12}{\magstep1}{OT1} \let\chapbf\chaprm \setfont\chapsc\scbshape{10}{\magstep2}{OT1} \font\chapi=cmmi12 scaled \magstep1 \font\chapsy=cmsy10 scaled \magstep2 \def\chapecsize{1440} % Section fonts (12pt). \def\secnominalsize{12pt} \setfont\secrm\rmbshape{12}{1000}{OT1} \setfont\secit\itbshape{10}{\magstep1}{OT1IT} \setfont\secsl\slbshape{10}{\magstep1}{OT1} \setfont\sectt\ttbshape{12}{1000}{OT1TT} \setfont\secttsl\ttslshape{10}{\magstep1}{OT1TT} \setfont\secsf\sfbshape{12}{1000}{OT1} \let\secbf\secrm \setfont\secsc\scbshape{10}{\magstep1}{OT1} \font\seci=cmmi12 \font\secsy=cmsy10 scaled \magstep1 \def\sececsize{1200} % Subsection fonts (10pt). \def\ssecnominalsize{10pt} \setfont\ssecrm\rmbshape{10}{1000}{OT1} \setfont\ssecit\itbshape{10}{1000}{OT1IT} \setfont\ssecsl\slbshape{10}{1000}{OT1} \setfont\ssectt\ttbshape{10}{1000}{OT1TT} \setfont\ssecttsl\ttslshape{10}{1000}{OT1TT} \setfont\ssecsf\sfbshape{10}{1000}{OT1} \let\ssecbf\ssecrm \setfont\ssecsc\scbshape{10}{1000}{OT1} \font\sseci=cmmi10 \font\ssecsy=cmsy10 \def\ssececsize{1000} % Reduced fonts for @acronym in text (9pt). \def\reducednominalsize{9pt} \setfont\reducedrm\rmshape{9}{1000}{OT1} \setfont\reducedtt\ttshape{9}{1000}{OT1TT} \setfont\reducedbf\bfshape{10}{900}{OT1} \setfont\reducedit\itshape{9}{1000}{OT1IT} \setfont\reducedsl\slshape{9}{1000}{OT1} \setfont\reducedsf\sfshape{9}{1000}{OT1} \setfont\reducedsc\scshape{10}{900}{OT1} \setfont\reducedttsl\ttslshape{10}{900}{OT1TT} \font\reducedi=cmmi9 \font\reducedsy=cmsy9 \def\reducedecsize{0900} \divide\parskip by 2 % reduce space between paragraphs \textleading = 12pt % line spacing for 10pt CM \textfonts % reset the current fonts \rm } % end of 10pt text font size definitions, \definetextfontsizex % Fonts for short table of contents. \setfont\shortcontrm\rmshape{12}{1000}{OT1} \setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12 \setfont\shortcontsl\slshape{12}{1000}{OT1} \setfont\shortconttt\ttshape{12}{1000}{OT1TT} % We provide the user-level command % @fonttextsize 10 % (or 11) to redefine the text font size. pt is assumed. % \def\xiword{11} \def\xword{10} \def\xwordpt{10pt} % \parseargdef\fonttextsize{% \def\textsizearg{#1}% %\wlog{doing @fonttextsize \textsizearg}% % % Set \globaldefs so that documents can use this inside @tex, since % makeinfo 4.8 does not support it, but we need it nonetheless. % \begingroup \globaldefs=1 \ifx\textsizearg\xword \definetextfontsizex \else \ifx\textsizearg\xiword \definetextfontsizexi \else \errhelp=\EMsimple \errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'} \fi\fi \endgroup } % % Change the current font style to #1, remembering it in \curfontstyle. % For now, we do not accumulate font styles: @b{@i{foo}} prints foo in % italics, not bold italics. % \def\setfontstyle#1{% \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd. \csname #1font\endcsname % change the current font } \def\rm{\fam=0 \setfontstyle{rm}} \def\it{\fam=\itfam \setfontstyle{it}} \def\sl{\fam=\slfam \setfontstyle{sl}} \def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} \def\tt{\fam=\ttfam \setfontstyle{tt}} % Texinfo sort of supports the sans serif font style, which plain TeX does not. % So we set up a \sf. \newfam\sffam \def\sf{\fam=\sffam \setfontstyle{sf}} % We don't need math for this font style. \def\ttsl{\setfontstyle{ttsl}} % In order for the font changes to affect most math symbols and letters, % we have to define the \textfont of the standard families. % We don't bother to reset \scriptscriptfont; awaiting user need. % \def\resetmathfonts{% \textfont0=\rmfont \textfont1=\ifont \textfont2=\syfont \textfont\itfam=\itfont \textfont\slfam=\slfont \textfont\bffam=\bffont \textfont\ttfam=\ttfont \textfont\sffam=\sffont % % Fonts for superscript. Note that the 7pt fonts are used regardless % of the current font size. \scriptfont0=\sevenrm \scriptfont1=\seveni \scriptfont2=\sevensy \scriptfont\itfam=\sevenit \scriptfont\slfam=\sevensl \scriptfont\bffam=\sevenbf \scriptfont\ttfam=\seventt \scriptfont\sffam=\sevensf } % % The font-changing commands (all called \...fonts) redefine the meanings % of \STYLEfont, instead of just \STYLE. We do this because \STYLE needs % to also set the current \fam for math mode. Our \STYLE (e.g., \rm) % commands hardwire \STYLEfont to set the current font. % % The fonts used for \ifont are for "math italics" (\itfont is for italics % in regular text). \syfont is also used in math mode only. % % Each font-changing command also sets the names \lsize (one size lower) % and \lllsize (three sizes lower). These relative commands are used % in, e.g., the LaTeX logo and acronyms. % % This all needs generalizing, badly. % \def\assignfonts#1{% \expandafter\let\expandafter\rmfont\csname #1rm\endcsname \expandafter\let\expandafter\itfont\csname #1it\endcsname \expandafter\let\expandafter\slfont\csname #1sl\endcsname \expandafter\let\expandafter\bffont\csname #1bf\endcsname \expandafter\let\expandafter\ttfont\csname #1tt\endcsname \expandafter\let\expandafter\smallcaps\csname #1sc\endcsname \expandafter\let\expandafter\sffont \csname #1sf\endcsname \expandafter\let\expandafter\ifont \csname #1i\endcsname \expandafter\let\expandafter\syfont \csname #1sy\endcsname \expandafter\let\expandafter\ttslfont\csname #1ttsl\endcsname } \newif\ifrmisbold % Select smaller font size with the current style. Used to change font size % in, e.g., the LaTeX logo and acronyms. If we are using bold fonts for % normal roman text, also use bold fonts for roman text in the smaller size. \def\switchtolllsize{% \expandafter\assignfonts\expandafter{\lllsize}% \ifrmisbold \let\rmfont\bffont \fi \csname\curfontstyle\endcsname }% \def\switchtolsize{% \expandafter\assignfonts\expandafter{\lsize}% \ifrmisbold \let\rmfont\bffont \fi \csname\curfontstyle\endcsname }% \def\definefontsetatsize#1#2#3#4#5{% \expandafter\def\csname #1fonts\endcsname{% \def\curfontsize{#1}% \def\lsize{#2}\def\lllsize{#3}% \csname rmisbold#5\endcsname \assignfonts{#1}% \resetmathfonts \setleading{#4}% }} \definefontsetatsize{text} {reduced}{smaller}{\textleading}{false} \definefontsetatsize{title} {chap} {subsec} {27pt} {true} \definefontsetatsize{chap} {sec} {text} {19pt} {true} \definefontsetatsize{sec} {subsec} {reduced}{17pt} {true} \definefontsetatsize{ssec} {text} {small} {15pt} {true} \definefontsetatsize{reduced}{small} {smaller}{10.5pt}{false} \definefontsetatsize{small} {smaller}{smaller}{10.5pt}{false} \definefontsetatsize{smaller}{smaller}{smaller}{9.5pt} {false} \def\titlefont#1{{\titlefonts\rm #1}} \let\subsecfonts = \ssecfonts \let\subsubsecfonts = \ssecfonts % Define these just so they can be easily changed for other fonts. \def\angleleft{$\langle$} \def\angleright{$\rangle$} % Set the fonts to use with the @small... environments. \let\smallexamplefonts = \smallfonts % About \smallexamplefonts. If we use \smallfonts (9pt), @smallexample % can fit this many characters: % 8.5x11=86 smallbook=72 a4=90 a5=69 % If we use \scriptfonts (8pt), then we can fit this many characters: % 8.5x11=90+ smallbook=80 a4=90+ a5=77 % For me, subjectively, the few extra characters that fit aren't worth % the additional smallness of 8pt. So I'm making the default 9pt. % % By the way, for comparison, here's what fits with @example (10pt): % 8.5x11=71 smallbook=60 a4=75 a5=58 % --karl, 24jan03. % Set up the default fonts, so we can use them for creating boxes. % \definetextfontsizexi \message{markup,} % Check if we are currently using a typewriter font. Since all the % Computer Modern typewriter fonts have zero interword stretch (and % shrink), and it is reasonable to expect all typewriter fonts to have % this property, we can check that font parameter. % \def\ifmonospace{\ifdim\fontdimen3\font=0pt } % Markup style infrastructure. \defmarkupstylesetup\INITMACRO will % define and register \INITMACRO to be called on markup style changes. % \INITMACRO can check \currentmarkupstyle for the innermost % style. \let\currentmarkupstyle\empty \def\setupmarkupstyle#1{% \def\currentmarkupstyle{#1}% \markupstylesetup } \let\markupstylesetup\empty \def\defmarkupstylesetup#1{% \expandafter\def\expandafter\markupstylesetup \expandafter{\markupstylesetup #1}% \def#1% } % Markup style setup for left and right quotes. \defmarkupstylesetup\markupsetuplq{% \expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname \ifx\temp\relax \markupsetuplqdefault \else \temp \fi } \defmarkupstylesetup\markupsetuprq{% \expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname \ifx\temp\relax \markupsetuprqdefault \else \temp \fi } { \catcode`\'=\active \catcode`\`=\active \gdef\markupsetuplqdefault{\let`\lq} \gdef\markupsetuprqdefault{\let'\rq} \gdef\markupsetcodequoteleft{\let`\codequoteleft} \gdef\markupsetcodequoteright{\let'\codequoteright} } \let\markupsetuplqcode \markupsetcodequoteleft \let\markupsetuprqcode \markupsetcodequoteright % \let\markupsetuplqexample \markupsetcodequoteleft \let\markupsetuprqexample \markupsetcodequoteright % \let\markupsetuplqkbd \markupsetcodequoteleft \let\markupsetuprqkbd \markupsetcodequoteright % \let\markupsetuplqsamp \markupsetcodequoteleft \let\markupsetuprqsamp \markupsetcodequoteright % \let\markupsetuplqverb \markupsetcodequoteleft \let\markupsetuprqverb \markupsetcodequoteright % \let\markupsetuplqverbatim \markupsetcodequoteleft \let\markupsetuprqverbatim \markupsetcodequoteright % Allow an option to not use regular directed right quote/apostrophe % (char 0x27), but instead the undirected quote from cmtt (char 0x0d). % The undirected quote is ugly, so don't make it the default, but it % works for pasting with more pdf viewers (at least evince), the % lilypond developers report. xpdf does work with the regular 0x27. % \def\codequoteright{% \ifmonospace \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax '% \else \char'15 \fi \else \char'15 \fi \else '% \fi } % % and a similar option for the left quote char vs. a grave accent. % Modern fonts display ASCII 0x60 as a grave accent, so some people like % the code environments to do likewise. % \def\codequoteleft{% \ifmonospace \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax % [Knuth] pp. 380,381,391 % \relax disables Spanish ligatures ?` and !` of \tt font. \relax`% \else \char'22 \fi \else \char'22 \fi \else \relax`% \fi } % Commands to set the quote options. % \parseargdef\codequoteundirected{% \def\temp{#1}% \ifx\temp\onword \expandafter\let\csname SETtxicodequoteundirected\endcsname = t% \else\ifx\temp\offword \expandafter\let\csname SETtxicodequoteundirected\endcsname = \relax \else \errhelp = \EMsimple \errmessage{Unknown @codequoteundirected value `\temp', must be on|off}% \fi\fi } % \parseargdef\codequotebacktick{% \def\temp{#1}% \ifx\temp\onword \expandafter\let\csname SETtxicodequotebacktick\endcsname = t% \else\ifx\temp\offword \expandafter\let\csname SETtxicodequotebacktick\endcsname = \relax \else \errhelp = \EMsimple \errmessage{Unknown @codequotebacktick value `\temp', must be on|off}% \fi\fi } % [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font. \def\noligaturesquoteleft{\relax\lq} % Count depth in font-changes, for error checks \newcount\fontdepth \fontdepth=0 % Font commands. % #1 is the font command (\sl or \it), #2 is the text to slant. % If we are in a monospaced environment, however, 1) always use \ttsl, % and 2) do not add an italic correction. \def\dosmartslant#1#2{% \ifusingtt {{\ttsl #2}\let\next=\relax}% {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}% \next } \def\smartslanted{\dosmartslant\sl} \def\smartitalic{\dosmartslant\it} % Output an italic correction unless \next (presumed to be the following % character) is such as not to need one. \def\smartitaliccorrection{% \ifx\next,% \else\ifx\next-% \else\ifx\next.% \else\ifx\next\.% \else\ifx\next\comma% \else\ptexslash \fi\fi\fi\fi\fi \aftersmartic } % Unconditional use \ttsl, and no ic. @var is set to this for defuns. \def\ttslanted#1{{\ttsl #1}} % @cite is like \smartslanted except unconditionally use \sl. We never want % ttsl for book titles, do we? \def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection} \def\aftersmartic{} \def\var#1{% \let\saveaftersmartic = \aftersmartic \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}% \smartslanted{#1}% } \let\i=\smartitalic \let\slanted=\smartslanted \let\dfn=\smartslanted \let\emph=\smartitalic % Explicit font changes: @r, @sc, undocumented @ii. \def\r#1{{\rm #1}} % roman font \def\sc#1{{\smallcaps#1}} % smallcaps font \def\ii#1{{\it #1}} % italic font % @b, explicit bold. Also @strong. \def\b#1{{\bf #1}} \let\strong=\b % @sansserif, explicit sans. \def\sansserif#1{{\sf #1}} % We can't just use \exhyphenpenalty, because that only has effect at % the end of a paragraph. Restore normal hyphenation at the end of the % group within which \nohyphenation is presumably called. % \def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation} \def\restorehyphenation{\hyphenchar\font = `- } % Set sfcode to normal for the chars that usually have another value. % Can't use plain's \frenchspacing because it uses the `\x notation, and % sometimes \x has an active definition that messes things up. % \catcode`@=11 \def\plainfrenchspacing{% \sfcode`\.=\@m \sfcode`\?=\@m \sfcode`\!=\@m \sfcode`\:=\@m \sfcode`\;=\@m \sfcode`\,=\@m \def\endofsentencespacefactor{1000}% for @. and friends } \def\plainnonfrenchspacing{% \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000 \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 \def\endofsentencespacefactor{3000}% for @. and friends } \catcode`@=\other \def\endofsentencespacefactor{3000}% default % @t, explicit typewriter. \def\t#1{% {\tt \rawbackslash \plainfrenchspacing #1}% \null } % @samp. \def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}} % @indicateurl is \samp, that is, with quotes. \let\indicateurl=\samp % @code (and similar) prints in typewriter, but with spaces the same % size as normal in the surrounding text, without hyphenation, etc. % This is a subroutine for that. \def\tclose#1{% {% % Change normal interword space to be same as for the current font. \spaceskip = \fontdimen2\font % % Switch to typewriter. \tt % % But `\ ' produces the large typewriter interword space. \def\ {{\spaceskip = 0pt{} }}% % % Turn off hyphenation. \nohyphenation % \rawbackslash \plainfrenchspacing #1% }% \null % reset spacefactor to 1000 } % We *must* turn on hyphenation at `-' and `_' in @code. % (But see \codedashfinish below.) % Otherwise, it is too hard to avoid overfull hboxes % in the Emacs manual, the Library manual, etc. % % Unfortunately, TeX uses one parameter (\hyphenchar) to control % both hyphenation at - and hyphenation within words. % We must therefore turn them both off (\tclose does that) % and arrange explicitly to hyphenate at a dash. -- rms. { \catcode`\-=\active \catcode`\_=\active \catcode`\'=\active \catcode`\`=\active \global\let'=\rq \global\let`=\lq % default definitions % \global\def\code{\begingroup \setupmarkupstyle{code}% % The following should really be moved into \setupmarkupstyle handlers. \catcode\dashChar=\active \catcode\underChar=\active \ifallowcodebreaks \let-\codedash \let_\codeunder \else \let-\normaldash \let_\realunder \fi % Given -foo (with a single dash), we do not want to allow a break % after the hyphen. \global\let\codedashprev=\codedash % \codex } % \gdef\codedash{\futurelet\next\codedashfinish} \gdef\codedashfinish{% \normaldash % always output the dash character itself. % % Now, output a discretionary to allow a line break, unless % (a) the next character is a -, or % (b) the preceding character is a -. % E.g., given --posix, we do not want to allow a break after either -. % Given --foo-bar, we do want to allow a break between the - and the b. \ifx\next\codedash \else \ifx\codedashprev\codedash \else \discretionary{}{}{}\fi \fi % we need the space after the = for the case when \next itself is a % space token; it would get swallowed otherwise. As in @code{- a}. \global\let\codedashprev= \next } } \def\normaldash{-} % \def\codex #1{\tclose{#1}\endgroup} \def\codeunder{% % this is all so @math{@code{var_name}+1} can work. In math mode, _ % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.) % will therefore expand the active definition of _, which is us % (inside @code that is), therefore an endless loop. \ifusingtt{\ifmmode \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_. \else\normalunderscore \fi \discretionary{}{}{}}% {\_}% } % An additional complication: the above will allow breaks after, e.g., % each of the four underscores in __typeof__. This is bad. % @allowcodebreaks provides a document-level way to turn breaking at - % and _ on and off. % \newif\ifallowcodebreaks \allowcodebreakstrue \def\keywordtrue{true} \def\keywordfalse{false} \parseargdef\allowcodebreaks{% \def\txiarg{#1}% \ifx\txiarg\keywordtrue \allowcodebreakstrue \else\ifx\txiarg\keywordfalse \allowcodebreaksfalse \else \errhelp = \EMsimple \errmessage{Unknown @allowcodebreaks option `\txiarg', must be true|false}% \fi\fi } % For @command, @env, @file, @option quotes seem unnecessary, % so use \code rather than \samp. \let\command=\code \let\env=\code \let\file=\code \let\option=\code % @uref (abbreviation for `urlref') aka @url takes an optional % (comma-separated) second argument specifying the text to display and % an optional third arg as text to display instead of (rather than in % addition to) the url itself. First (mandatory) arg is the url. % TeX-only option to allow changing PDF output to show only the second % arg (if given), and not the url (which is then just the link target). \newif\ifurefurlonlylink % The main macro is \urefbreak, which allows breaking at expected % places within the url. (There used to be another version, which % didn't support automatic breaking.) \def\urefbreak{\begingroup \urefcatcodes \dourefbreak} \let\uref=\urefbreak % \def\dourefbreak#1{\urefbreakfinish #1,,,\finish} \def\urefbreakfinish#1,#2,#3,#4\finish{% doesn't work in @example \unsepspaces \pdfurl{#1}% \setbox0 = \hbox{\ignorespaces #3}% \ifdim\wd0 > 0pt \unhbox0 % third arg given, show only that \else \setbox0 = \hbox{\ignorespaces #2}% look for second arg \ifdim\wd0 > 0pt \ifpdf % For pdfTeX and LuaTeX \ifurefurlonlylink % PDF plus option to not display url, show just arg \unhbox0 \else % PDF, normally display both arg and url for consistency, % visibility, if the pdf is eventually used to print, etc. \unhbox0\ (\urefcode{#1})% \fi \else \ifx\XeTeXrevision\thisisundefined \unhbox0\ (\urefcode{#1})% DVI, always show arg and url \else % For XeTeX \ifurefurlonlylink % PDF plus option to not display url, show just arg \unhbox0 \else % PDF, normally display both arg and url for consistency, % visibility, if the pdf is eventually used to print, etc. \unhbox0\ (\urefcode{#1})% \fi \fi \fi \else \urefcode{#1}% only url given, so show it \fi \fi \endlink \endgroup} % Allow line breaks around only a few characters (only). \def\urefcatcodes{% \catcode`\&=\active \catcode`\.=\active \catcode`\#=\active \catcode`\?=\active \catcode`\/=\active } { \urefcatcodes % \global\def\urefcode{\begingroup \setupmarkupstyle{code}% \urefcatcodes \let&\urefcodeamp \let.\urefcodedot \let#\urefcodehash \let?\urefcodequest \let/\urefcodeslash \codex } % % By default, they are just regular characters. \global\def&{\normalamp} \global\def.{\normaldot} \global\def#{\normalhash} \global\def?{\normalquest} \global\def/{\normalslash} } % we put a little stretch before and after the breakable chars, to help % line breaking of long url's. The unequal skips make look better in % cmtt at least, especially for dots. \def\urefprestretchamount{.13em} \def\urefpoststretchamount{.1em} \def\urefprestretch{\urefprebreak \hskip0pt plus\urefprestretchamount\relax} \def\urefpoststretch{\urefpostbreak \hskip0pt plus\urefprestretchamount\relax} % \def\urefcodeamp{\urefprestretch \&\urefpoststretch} \def\urefcodedot{\urefprestretch .\urefpoststretch} \def\urefcodehash{\urefprestretch \#\urefpoststretch} \def\urefcodequest{\urefprestretch ?\urefpoststretch} \def\urefcodeslash{\futurelet\next\urefcodeslashfinish} { \catcode`\/=\active \global\def\urefcodeslashfinish{% \urefprestretch \slashChar % Allow line break only after the final / in a sequence of % slashes, to avoid line break between the slashes in http://. \ifx\next/\else \urefpoststretch \fi } } % One more complication: by default we'll break after the special % characters, but some people like to break before the special chars, so % allow that. Also allow no breaking at all, for manual control. % \parseargdef\urefbreakstyle{% \def\txiarg{#1}% \ifx\txiarg\wordnone \def\urefprebreak{\nobreak}\def\urefpostbreak{\nobreak} \else\ifx\txiarg\wordbefore \def\urefprebreak{\allowbreak}\def\urefpostbreak{\nobreak} \else\ifx\txiarg\wordafter \def\urefprebreak{\nobreak}\def\urefpostbreak{\allowbreak} \else \errhelp = \EMsimple \errmessage{Unknown @urefbreakstyle setting `\txiarg'}% \fi\fi\fi } \def\wordafter{after} \def\wordbefore{before} \def\wordnone{none} \urefbreakstyle after % @url synonym for @uref, since that's how everyone uses it. % \let\url=\uref % rms does not like angle brackets --karl, 17may97. % So now @email is just like @uref, unless we are pdf. % %\def\email#1{\angleleft{\tt #1}\angleright} \ifpdf \def\email#1{\doemail#1,,\finish} \def\doemail#1,#2,#3\finish{\begingroup \unsepspaces \pdfurl{mailto:#1}% \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi \endlink \endgroup} \else \ifx\XeTeXrevision\thisisundefined \let\email=\uref \else \def\email#1{\doemail#1,,\finish} \def\doemail#1,#2,#3\finish{\begingroup \unsepspaces \pdfurl{mailto:#1}% \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi \endlink \endgroup} \fi \fi % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), % `example' (@kbd uses ttsl only inside of @example and friends), % or `code' (@kbd uses normal tty font always). \parseargdef\kbdinputstyle{% \def\txiarg{#1}% \ifx\txiarg\worddistinct \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% \else\ifx\txiarg\wordexample \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% \else\ifx\txiarg\wordcode \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% \else \errhelp = \EMsimple \errmessage{Unknown @kbdinputstyle setting `\txiarg'}% \fi\fi\fi } \def\worddistinct{distinct} \def\wordexample{example} \def\wordcode{code} % Default is `distinct'. \kbdinputstyle distinct % @kbd is like @code, except that if the argument is just one @key command, % then @kbd has no effect. \def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}} \def\xkey{\key} \def\kbdsub#1#2#3\par{% \def\one{#1}\def\three{#3}\def\threex{??}% \ifx\one\xkey\ifx\threex\three \key{#2}% \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi } % definition of @key that produces a lozenge. Doesn't adjust to text size. %\setfont\keyrm\rmshape{8}{1000}{OT1} %\font\keysy=cmsy9 %\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% % \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% % \vbox{\hrule\kern-0.4pt % \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% % \kern-0.4pt\hrule}% % \kern-.06em\raise0.4pt\hbox{\angleright}}}} % definition of @key with no lozenge. If the current font is already % monospace, don't change it; that way, we respect @kbdinputstyle. But % if it isn't monospace, then use \tt. % \def\key#1{{\setupmarkupstyle{key}% \nohyphenation \ifmonospace\else\tt\fi #1}\null} % @clicksequence{File @click{} Open ...} \def\clicksequence#1{\begingroup #1\endgroup} % @clickstyle @arrow (by default) \parseargdef\clickstyle{\def\click{#1}} \def\click{\arrow} % Typeset a dimension, e.g., `in' or `pt'. The only reason for the % argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. % \def\dmn#1{\thinspace #1} % @acronym for "FBI", "NATO", and the like. % We print this one point size smaller, since it's intended for % all-uppercase. % \def\acronym#1{\doacronym #1,,\finish} \def\doacronym#1,#2,#3\finish{% {\switchtolsize #1}% \def\temp{#2}% \ifx\temp\empty \else \space ({\unsepspaces \ignorespaces \temp \unskip})% \fi \null % reset \spacefactor=1000 } % @abbr for "Comput. J." and the like. % No font change, but don't do end-of-sentence spacing. % \def\abbr#1{\doabbr #1,,\finish} \def\doabbr#1,#2,#3\finish{% {\plainfrenchspacing #1}% \def\temp{#2}% \ifx\temp\empty \else \space ({\unsepspaces \ignorespaces \temp \unskip})% \fi \null % reset \spacefactor=1000 } % @asis just yields its argument. Used with @table, for example. % \def\asis#1{#1} % @math outputs its argument in math mode. % % One complication: _ usually means subscripts, but it could also mean % an actual _ character, as in @math{@var{some_variable} + 1}. So make % _ active, and distinguish by seeing if the current family is \slfam, % which is what @var uses. { \catcode`\_ = \active \gdef\mathunderscore{% \catcode`\_=\active \def_{\ifnum\fam=\slfam \_\else\sb\fi}% } } % Another complication: we want \\ (and @\) to output a math (or tt) \. % FYI, plain.tex uses \\ as a temporary control sequence (for no % particular reason), but this is not advertised and we don't care. % % The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} % \def\math{% \ifmmode\else % only go into math if not in math mode already \tex \mathunderscore \let\\ = \mathbackslash \mathactive % make the texinfo accent commands work in math mode \let\"=\ddot \let\'=\acute \let\==\bar \let\^=\hat \let\`=\grave \let\u=\breve \let\v=\check \let\~=\tilde \let\dotaccent=\dot % have to provide another name for sup operator \let\mathopsup=\sup $\expandafter\finishmath\fi } \def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. % Some active characters (such as <) are spaced differently in math. % We have to reset their definitions in case the @math was an argument % to a command which sets the catcodes (such as @item or @section). % { \catcode`^ = \active \catcode`< = \active \catcode`> = \active \catcode`+ = \active \catcode`' = \active \gdef\mathactive{% \let^ = \ptexhat \let< = \ptexless \let> = \ptexgtr \let+ = \ptexplus \let' = \ptexquoteright } } % for @sub and @sup, if in math mode, just do a normal sub/superscript. % If in text, use math to place as sub/superscript, but switch % into text mode, with smaller fonts. This is a different font than the % one used for real math sub/superscripts (8pt vs. 7pt), but let's not % fix it (significant additions to font machinery) until someone notices. % \def\sub{\ifmmode \expandafter\sb \else \expandafter\finishsub\fi} \def\finishsub#1{$\sb{\hbox{\switchtolllsize #1}}$}% % \def\sup{\ifmmode \expandafter\ptexsp \else \expandafter\finishsup\fi} \def\finishsup#1{$\ptexsp{\hbox{\switchtolllsize #1}}$}% % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}. % Ignore unless FMTNAME == tex; then it is like @iftex and @tex, % except specified as a normal braced arg, so no newlines to worry about. % \def\outfmtnametex{tex} % \long\def\inlinefmt#1{\doinlinefmt #1,\finish} \long\def\doinlinefmt#1,#2,\finish{% \def\inlinefmtname{#1}% \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi } % % @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if % FMTNAME is tex, else ELSE-TEXT. \long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish} \long\def\doinlinefmtifelse#1,#2,#3,#4,\finish{% \def\inlinefmtname{#1}% \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\else \ignorespaces #3\fi } % % For raw, must switch into @tex before parsing the argument, to avoid % setting catcodes prematurely. Doing it this way means that, for % example, @inlineraw{html, foo{bar} gets a parse error instead of being % ignored. But this isn't important because if people want a literal % *right* brace they would have to use a command anyway, so they may as % well use a command to get a left brace too. We could re-use the % delimiter character idea from \verb, but it seems like overkill. % \long\def\inlineraw{\tex \doinlineraw} \long\def\doinlineraw#1{\doinlinerawtwo #1,\finish} \def\doinlinerawtwo#1,#2,\finish{% \def\inlinerawname{#1}% \ifx\inlinerawname\outfmtnametex \ignorespaces #2\fi \endgroup % close group opened by \tex. } % @inlineifset{VAR, TEXT} expands TEXT if VAR is @set. % \long\def\inlineifset#1{\doinlineifset #1,\finish} \long\def\doinlineifset#1,#2,\finish{% \def\inlinevarname{#1}% \expandafter\ifx\csname SET\inlinevarname\endcsname\relax \else\ignorespaces#2\fi } % @inlineifclear{VAR, TEXT} expands TEXT if VAR is not @set. % \long\def\inlineifclear#1{\doinlineifclear #1,\finish} \long\def\doinlineifclear#1,#2,\finish{% \def\inlinevarname{#1}% \expandafter\ifx\csname SET\inlinevarname\endcsname\relax \ignorespaces#2\fi } \message{glyphs,} % and logos. % @@ prints an @, as does @atchar{}. \def\@{\char64 } \let\atchar=\@ % @{ @} @lbracechar{} @rbracechar{} all generate brace characters. \def\lbracechar{{\ifmonospace\char123\else\ensuremath\lbrace\fi}} \def\rbracechar{{\ifmonospace\char125\else\ensuremath\rbrace\fi}} \let\{=\lbracechar \let\}=\rbracechar % @comma{} to avoid , parsing problems. \let\comma = , % Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent % Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. \let\, = \ptexc \let\dotaccent = \ptexdot \def\ringaccent#1{{\accent23 #1}} \let\tieaccent = \ptext \let\ubaraccent = \ptexb \let\udotaccent = \d % Other special characters: @questiondown @exclamdown @ordf @ordm % Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. \def\questiondown{?`} \def\exclamdown{!`} \def\ordf{\leavevmode\raise1ex\hbox{\switchtolllsize \underbar{a}}} \def\ordm{\leavevmode\raise1ex\hbox{\switchtolllsize \underbar{o}}} % Dotless i and dotless j, used for accents. \def\imacro{i} \def\jmacro{j} \def\dotless#1{% \def\temp{#1}% \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi \else \errmessage{@dotless can be used only with i or j}% \fi\fi } % The \TeX{} logo, as in plain, but resetting the spacing so that a % period following counts as ending a sentence. (Idea found in latex.) % \edef\TeX{\TeX \spacefactor=1000 } % @LaTeX{} logo. Not quite the same results as the definition in % latex.ltx, since we use a different font for the raised A; it's most % convenient for us to use an explicitly smaller font, rather than using % the \scriptstyle font (since we don't reset \scriptstyle and % \scriptscriptstyle). % \def\LaTeX{% L\kern-.36em {\setbox0=\hbox{T}% \vbox to \ht0{\hbox{% \ifx\textnominalsize\xwordpt % for 10pt running text, lllsize (8pt) is too small for the A in LaTeX. % Revert to plain's \scriptsize, which is 7pt. \count255=\the\fam $\fam\count255 \scriptstyle A$% \else % For 11pt, we can use our lllsize. \switchtolllsize A% \fi }% \vss }}% \kern-.15em \TeX } % Some math mode symbols. Define \ensuremath to switch into math mode % unless we are already there. Expansion tricks may not be needed here, % but safer, and can't hurt. \def\ensuremath{\ifmmode \expandafter\asis \else\expandafter\ensuredmath \fi} \def\ensuredmath#1{$\relax#1$} % \def\bullet{\ensuremath\ptexbullet} \def\geq{\ensuremath\ge} \def\leq{\ensuremath\le} \def\minus{\ensuremath-} % @dots{} outputs an ellipsis using the current font. % We do .5em per period so that it has the same spacing in the cm % typewriter fonts as three actual period characters; on the other hand, % in other typewriter fonts three periods are wider than 1.5em. So do % whichever is larger. % \def\dots{% \leavevmode \setbox0=\hbox{...}% get width of three periods \ifdim\wd0 > 1.5em \dimen0 = \wd0 \else \dimen0 = 1.5em \fi \hbox to \dimen0{% \hskip 0pt plus.25fil .\hskip 0pt plus1fil .\hskip 0pt plus1fil .\hskip 0pt plus.5fil }% } % @enddots{} is an end-of-sentence ellipsis. % \def\enddots{% \dots \spacefactor=\endofsentencespacefactor } % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. % % Since these characters are used in examples, they should be an even number of % \tt widths. Each \tt character is 1en, so two makes it 1em. % \def\point{$\star$} \def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}} \def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} \def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}} \def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} \def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}} % The @error{} command. % Adapted from the TeXbook's \boxit. % \newbox\errorbox % {\ttfont \global\dimen0 = 3em}% Width of the box. \dimen2 = .55pt % Thickness of rules % The text. (`r' is open on the right, `e' somewhat less so on the left.) \setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt} % \setbox\errorbox=\hbox to \dimen0{\hfil \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. \advance\hsize by -2\dimen2 % Rules. \vbox{% \hrule height\dimen2 \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. \kern3pt\vrule width\dimen2}% Space to right. \hrule height\dimen2} \hfil} % \def\error{\leavevmode\lower.7ex\copy\errorbox} % @pounds{} is a sterling sign, which Knuth put in the CM italic font. % \def\pounds{{\it\$}} % @euro{} comes from a separate font, depending on the current style. % We use the free feym* fonts from the eurosym package by Henrik % Theiling, which support regular, slanted, bold and bold slanted (and % "outlined" (blackboard board, sort of) versions, which we don't need). % It is available from http://www.ctan.org/tex-archive/fonts/eurosym. % % Although only regular is the truly official Euro symbol, we ignore % that. The Euro is designed to be slightly taller than the regular % font height. % % feymr - regular % feymo - slanted % feybr - bold % feybo - bold slanted % % There is no good (free) typewriter version, to my knowledge. % A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. % Hmm. % % Also doesn't work in math. Do we need to do math with euro symbols? % Hope not. % % \def\euro{{\eurofont e}} \def\eurofont{% % We set the font at each command, rather than predefining it in % \textfonts and the other font-switching commands, so that % installations which never need the symbol don't have to have the % font installed. % % There is only one designed size (nominal 10pt), so we always scale % that to the current nominal size. % % By the way, simply using "at 1em" works for cmr10 and the like, but % does not work for cmbx10 and other extended/shrunken fonts. % \def\eurosize{\csname\curfontsize nominalsize\endcsname}% % \ifx\curfontstyle\bfstylename % bold: \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize \else % regular: \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize \fi \thiseurofont } % Glyphs from the EC fonts. We don't use \let for the aliases, because % sometimes we redefine the original macro, and the alias should reflect % the redefinition. % % Use LaTeX names for the Icelandic letters. \def\DH{{\ecfont \char"D0}} % Eth \def\dh{{\ecfont \char"F0}} % eth \def\TH{{\ecfont \char"DE}} % Thorn \def\th{{\ecfont \char"FE}} % thorn % \def\guillemetleft{{\ecfont \char"13}} \def\guillemotleft{\guillemetleft} \def\guillemetright{{\ecfont \char"14}} \def\guillemotright{\guillemetright} \def\guilsinglleft{{\ecfont \char"0E}} \def\guilsinglright{{\ecfont \char"0F}} \def\quotedblbase{{\ecfont \char"12}} \def\quotesinglbase{{\ecfont \char"0D}} % % This positioning is not perfect (see the ogonek LaTeX package), but % we have the precomposed glyphs for the most common cases. We put the % tests to use those glyphs in the single \ogonek macro so we have fewer % dummy definitions to worry about for index entries, etc. % % ogonek is also used with other letters in Lithuanian (IOU), but using % the precomposed glyphs for those is not so easy since they aren't in % the same EC font. \def\ogonek#1{{% \def\temp{#1}% \ifx\temp\macrocharA\Aogonek \else\ifx\temp\macrochara\aogonek \else\ifx\temp\macrocharE\Eogonek \else\ifx\temp\macrochare\eogonek \else \ecfont \setbox0=\hbox{#1}% \ifdim\ht0=1ex\accent"0C #1% \else\ooalign{\unhbox0\crcr\hidewidth\char"0C \hidewidth}% \fi \fi\fi\fi\fi }% } \def\Aogonek{{\ecfont \char"81}}\def\macrocharA{A} \def\aogonek{{\ecfont \char"A1}}\def\macrochara{a} \def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E} \def\eogonek{{\ecfont \char"A6}}\def\macrochare{e} % % Use the European Computer Modern fonts (cm-super in outline format) % for non-CM glyphs. That is ec* for regular text and tc* for the text % companion symbols (LaTeX TS1 encoding). Both are part of the ec % package and follow the same conventions. % \def\ecfont{\etcfont{e}} \def\tcfont{\etcfont{t}} % \def\etcfont#1{% % We can't distinguish serif/sans and italic/slanted, but this % is used for crude hacks anyway (like adding French and German % quotes to documents typeset with CM, where we lose kerning), so % hopefully nobody will notice/care. \edef\ecsize{\csname\curfontsize ecsize\endcsname}% \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}% \ifmonospace % typewriter: \font\thisecfont = #1ctt\ecsize \space at \nominalsize \else \ifx\curfontstyle\bfstylename % bold: \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize \else % regular: \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space at \nominalsize \fi \fi \thisecfont } % @registeredsymbol - R in a circle. The font for the R should really % be smaller yet, but lllsize is the best we can do for now. % Adapted from the plain.tex definition of \copyright. % \def\registeredsymbol{% $^{{\ooalign{\hfil\raise.07ex\hbox{\switchtolllsize R}% \hfil\crcr\Orb}}% }$% } % @textdegree - the normal degrees sign. % \def\textdegree{$^\circ$} % Laurent Siebenmann reports \Orb undefined with: % Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 % so we'll define it if necessary. % \ifx\Orb\thisisundefined \def\Orb{\mathhexbox20D} \fi % Quotes. \chardef\quotedblleft="5C \chardef\quotedblright=`\" \chardef\quoteleft=`\` \chardef\quoteright=`\' \message{page headings,} \newskip\titlepagetopglue \titlepagetopglue = 1.5in \newskip\titlepagebottomglue \titlepagebottomglue = 2pc % First the title page. Must do @settitle before @titlepage. \newif\ifseenauthor \newif\iffinishedtitlepage % @setcontentsaftertitlepage used to do an implicit @contents or % @shortcontents after @end titlepage, but it is now obsolete. \def\setcontentsaftertitlepage{% \errmessage{@setcontentsaftertitlepage has been removed as a Texinfo command; move your @contents command if you want the contents after the title page.}}% \def\setshortcontentsaftertitlepage{% \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo command; move your @shortcontents and @contents commands if you want the contents after the title page.}}% \parseargdef\shorttitlepage{% \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}% \endgroup\page\hbox{}\page} \envdef\titlepage{% % Open one extra group, as we want to close it in the middle of \Etitlepage. \begingroup \parindent=0pt \textfonts % Leave some space at the very top of the page. \vglue\titlepagetopglue % No rule at page bottom unless we print one at the top with @title. \finishedtitlepagetrue % % Most title ``pages'' are actually two pages long, with space % at the top of the second. We don't want the ragged left on the second. \let\oldpage = \page \def\page{% \iffinishedtitlepage\else \finishtitlepage \fi \let\page = \oldpage \page \null }% } \def\Etitlepage{% \iffinishedtitlepage\else \finishtitlepage \fi % It is important to do the page break before ending the group, % because the headline and footline are only empty inside the group. % If we use the new definition of \page, we always get a blank page % after the title page, which we certainly don't want. \oldpage \endgroup % % Need this before the \...aftertitlepage checks so that if they are % in effect the toc pages will come out with page numbers. \HEADINGSon } \def\finishtitlepage{% \vskip4pt \hrule height 2pt width \hsize \vskip\titlepagebottomglue \finishedtitlepagetrue } % Settings used for typesetting titles: no hyphenation, no indentation, % don't worry much about spacing, ragged right. This should be used % inside a \vbox, and fonts need to be set appropriately first. \par should % be specified before the end of the \vbox, since a vbox is a group. % \def\raggedtitlesettings{% \rm \hyphenpenalty=10000 \parindent=0pt \tolerance=5000 \ptexraggedright } % Macros to be used within @titlepage: \let\subtitlerm=\rmfont \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} \parseargdef\title{% \checkenv\titlepage \vbox{\titlefonts \raggedtitlesettings #1\par}% % print a rule at the page bottom also. \finishedtitlepagefalse \vskip4pt \hrule height 4pt width \hsize \vskip4pt } \parseargdef\subtitle{% \checkenv\titlepage {\subtitlefont \rightline{#1}}% } % @author should come last, but may come many times. % It can also be used inside @quotation. % \parseargdef\author{% \def\temp{\quotation}% \ifx\thisenv\temp \def\quotationauthor{#1}% printed in \Equotation. \else \checkenv\titlepage \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi {\secfonts\rm \leftline{#1}}% \fi } % Set up page headings and footings. \let\thispage=\folio \newtoks\evenheadline % headline on even pages \newtoks\oddheadline % headline on odd pages \newtoks\evenfootline % footline on even pages \newtoks\oddfootline % footline on odd pages % Now make \makeheadline and \makefootline in Plain TeX use those variables \headline={{\textfonts\rm \ifodd\pageno \the\oddheadline \else \the\evenheadline \fi}} \footline={{\textfonts\rm \ifodd\pageno \the\oddfootline \else \the\evenfootline \fi}\HEADINGShook} \let\HEADINGShook=\relax % Commands to set those variables. % For example, this is what @headings on does % @evenheading @thistitle|@thispage|@thischapter % @oddheading @thischapter|@thispage|@thistitle % @evenfooting @thisfile|| % @oddfooting ||@thisfile \def\evenheading{\parsearg\evenheadingxxx} \def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish} \def\evenheadingyyy #1\|#2\|#3\|#4\finish{% \global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \def\oddheading{\parsearg\oddheadingxxx} \def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish} \def\oddheadingyyy #1\|#2\|#3\|#4\finish{% \global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}% \def\evenfooting{\parsearg\evenfootingxxx} \def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish} \def\evenfootingyyy #1\|#2\|#3\|#4\finish{% \global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \def\oddfooting{\parsearg\oddfootingxxx} \def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish} \def\oddfootingyyy #1\|#2\|#3\|#4\finish{% \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}% % % Leave some space for the footline. Hopefully ok to assume % @evenfooting will not be used by itself. \global\advance\txipageheight by -12pt \global\advance\vsize by -12pt } \parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}} % @evenheadingmarks top \thischapter <- chapter at the top of a page % @evenheadingmarks bottom \thischapter <- chapter at the bottom of a page % % The same set of arguments for: % % @oddheadingmarks % @evenfootingmarks % @oddfootingmarks % @everyheadingmarks % @everyfootingmarks % These define \getoddheadingmarks, \getevenheadingmarks, % \getoddfootingmarks, and \getevenfootingmarks, each to one of % \gettopheadingmarks, \getbottomheadingmarks. % \def\evenheadingmarks{\headingmarks{even}{heading}} \def\oddheadingmarks{\headingmarks{odd}{heading}} \def\evenfootingmarks{\headingmarks{even}{footing}} \def\oddfootingmarks{\headingmarks{odd}{footing}} \parseargdef\everyheadingmarks{\headingmarks{even}{heading}{#1} \headingmarks{odd}{heading}{#1} } \parseargdef\everyfootingmarks{\headingmarks{even}{footing}{#1} \headingmarks{odd}{footing}{#1} } % #1 = even/odd, #2 = heading/footing, #3 = top/bottom. \def\headingmarks#1#2#3 {% \expandafter\let\expandafter\temp \csname get#3headingmarks\endcsname \global\expandafter\let\csname get#1#2marks\endcsname \temp } \everyheadingmarks bottom \everyfootingmarks bottom % @headings double turns headings on for double-sided printing. % @headings single turns headings on for single-sided printing. % @headings off turns them off. % @headings on same as @headings double, retained for compatibility. % @headings after turns on double-sided headings after this page. % @headings doubleafter turns on double-sided headings after this page. % @headings singleafter turns on single-sided headings after this page. % By default, they are off at the start of a document, % and turned `on' after @end titlepage. \parseargdef\headings{\csname HEADINGS#1\endcsname} \def\headingsoff{% non-global headings elimination \evenheadline={\hfil}\evenfootline={\hfil}% \oddheadline={\hfil}\oddfootline={\hfil}% } \def\HEADINGSoff{{\globaldefs=1 \headingsoff}} % global setting \HEADINGSoff % it's the default % When we turn headings on, set the page number to 1. % For double-sided printing, put current file name in lower left corner, % chapter name on inside top of right hand pages, document % title on inside top of left hand pages, and page numbers on outside top % edge of all pages. \def\HEADINGSdouble{% \global\pageno=1 \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\folio\hfil\thistitle}} \global\oddheadline={\line{\thischapterheading\hfil\folio}} \global\let\contentsalignmacro = \chapoddpage } \let\contentsalignmacro = \chappager % For single-sided printing, chapter title goes across top left of page, % page number on top right. \def\HEADINGSsingle{% \global\pageno=1 \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\thischapterheading\hfil\folio}} \global\oddheadline={\line{\thischapterheading\hfil\folio}} \global\let\contentsalignmacro = \chappager } \def\HEADINGSon{\HEADINGSdouble} \def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex} \let\HEADINGSdoubleafter=\HEADINGSafter \def\HEADINGSdoublex{% \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\folio\hfil\thistitle}} \global\oddheadline={\line{\thischapterheading\hfil\folio}} \global\let\contentsalignmacro = \chapoddpage } \def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex} \def\HEADINGSsinglex{% \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\thischapterheading\hfil\folio}} \global\oddheadline={\line{\thischapterheading\hfil\folio}} \global\let\contentsalignmacro = \chappager } % Subroutines used in generating headings % This produces Day Month Year style of output. % Only define if not already defined, in case a txi-??.tex file has set % up a different format (e.g., txi-cs.tex does this). \ifx\today\thisisundefined \def\today{% \number\day\space \ifcase\month \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec \fi \space\number\year} \fi % @settitle line... specifies the title of the document, for headings. % It generates no output of its own. \def\thistitle{\putwordNoTitle} \def\settitle{\parsearg{\gdef\thistitle}} \message{tables,} % Tables -- @table, @ftable, @vtable, @item(x). % default indentation of table text \newdimen\tableindent \tableindent=.8in % default indentation of @itemize and @enumerate text \newdimen\itemindent \itemindent=.3in % margin between end of table item and start of table text. \newdimen\itemmargin \itemmargin=.1in % used internally for \itemindent minus \itemmargin \newdimen\itemmax % Note @table, @ftable, and @vtable define @item, @itemx, etc., with % these defs. % They also define \itemindex % to index the item name in whatever manner is desired (perhaps none). \newif\ifitemxneedsnegativevskip \def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi} \def\internalBitem{\smallbreak \parsearg\itemzzz} \def\internalBitemx{\itemxpar \parsearg\itemzzz} \def\itemzzz #1{\begingroup % \advance\hsize by -\rightskip \advance\hsize by -\tableindent \setbox0=\hbox{\itemindicate{#1}}% \itemindex{#1}% \nobreak % This prevents a break before @itemx. % % If the item text does not fit in the space we have, put it on a line % by itself, and do not allow a page break either before or after that % line. We do not start a paragraph here because then if the next % command is, e.g., @kindex, the whatsit would get put into the % horizontal list on a line by itself, resulting in extra blank space. \ifdim \wd0>\itemmax % % Make this a paragraph so we get the \parskip glue and wrapping, % but leave it ragged-right. \begingroup \advance\leftskip by-\tableindent \advance\hsize by\tableindent \advance\rightskip by0pt plus1fil\relax \leavevmode\unhbox0\par \endgroup % % We're going to be starting a paragraph, but we don't want the % \parskip glue -- logically it's part of the @item we just started. \nobreak \vskip-\parskip % % Stop a page break at the \parskip glue coming up. However, if % what follows is an environment such as @example, there will be no % \parskip glue; then the negative vskip we just inserted would % cause the example and the item to crash together. So we use this % bizarre value of 10001 as a signal to \aboveenvbreak to insert % \parskip glue after all. Section titles are handled this way also. % \penalty 10001 \endgroup \itemxneedsnegativevskipfalse \else % The item text fits into the space. Start a paragraph, so that the % following text (if any) will end up on the same line. \noindent % Do this with kerns and \unhbox so that if there is a footnote in % the item text, it can migrate to the main vertical list and % eventually be printed. \nobreak\kern-\tableindent \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0 \unhbox0 \nobreak\kern\dimen0 \endgroup \itemxneedsnegativevskiptrue \fi } \def\item{\errmessage{@item while not in a list environment}} \def\itemx{\errmessage{@itemx while not in a list environment}} % @table, @ftable, @vtable. \envdef\table{% \let\itemindex\gobble \tablecheck{table}% } \envdef\ftable{% \def\itemindex ##1{\doind {fn}{\code{##1}}}% \tablecheck{ftable}% } \envdef\vtable{% \def\itemindex ##1{\doind {vr}{\code{##1}}}% \tablecheck{vtable}% } \def\tablecheck#1{% \ifnum \the\catcode`\^^M=\active \endgroup \errmessage{This command won't work in this context; perhaps the problem is that we are \inenvironment\thisenv}% \def\next{\doignore{#1}}% \else \let\next\tablex \fi \next } \def\tablex#1{% \def\itemindicate{#1}% \parsearg\tabley } \def\tabley#1{% {% \makevalueexpandable \edef\temp{\noexpand\tablez #1\space\space\space}% \expandafter }\temp \endtablez } \def\tablez #1 #2 #3 #4\endtablez{% \aboveenvbreak \ifnum 0#1>0 \advance \leftskip by #1\mil \fi \ifnum 0#2>0 \tableindent=#2\mil \fi \ifnum 0#3>0 \advance \rightskip by #3\mil \fi \itemmax=\tableindent \advance \itemmax by -\itemmargin \advance \leftskip by \tableindent \exdentamount=\tableindent \parindent = 0pt \parskip = \smallskipamount \ifdim \parskip=0pt \parskip=2pt \fi \let\item = \internalBitem \let\itemx = \internalBitemx } \def\Etable{\endgraf\afterenvbreak} \let\Eftable\Etable \let\Evtable\Etable \let\Eitemize\Etable \let\Eenumerate\Etable % This is the counter used by @enumerate, which is really @itemize \newcount \itemno \envdef\itemize{\parsearg\doitemize} \def\doitemize#1{% \aboveenvbreak \itemmax=\itemindent \advance\itemmax by -\itemmargin \advance\leftskip by \itemindent \exdentamount=\itemindent \parindent=0pt \parskip=\smallskipamount \ifdim\parskip=0pt \parskip=2pt \fi % % Try typesetting the item mark so that if the document erroneously says % something like @itemize @samp (intending @table), there's an error % right away at the @itemize. It's not the best error message in the % world, but it's better than leaving it to the @item. This means if % the user wants an empty mark, they have to say @w{} not just @w. \def\itemcontents{#1}% \setbox0 = \hbox{\itemcontents}% % % @itemize with no arg is equivalent to @itemize @bullet. \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi % \let\item=\itemizeitem } % Definition of @item while inside @itemize and @enumerate. % \def\itemizeitem{% \advance\itemno by 1 % for enumerations {\let\par=\endgraf \smallbreak}% reasonable place to break {% % If the document has an @itemize directly after a section title, a % \nobreak will be last on the list, and \sectionheading will have % done a \vskip-\parskip. In that case, we don't want to zero % parskip, or the item text will crash with the heading. On the % other hand, when there is normal text preceding the item (as there % usually is), we do want to zero parskip, or there would be too much % space. In that case, we won't have a \nobreak before. At least % that's the theory. \ifnum\lastpenalty<10000 \parskip=0in \fi \noindent \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% % \ifinner\else \vadjust{\penalty 1200}% not good to break after first line of item. \fi % We can be in inner vertical mode in a footnote, although an % @itemize looks awful there. }% \flushcr } % \splitoff TOKENS\endmark defines \first to be the first token in % TOKENS, and \rest to be the remainder. % \def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}% % Allow an optional argument of an uppercase letter, lowercase letter, % or number, to specify the first label in the enumerated list. No % argument is the same as `1'. % \envparseargdef\enumerate{\enumeratey #1 \endenumeratey} \def\enumeratey #1 #2\endenumeratey{% % If we were given no argument, pretend we were given `1'. \def\thearg{#1}% \ifx\thearg\empty \def\thearg{1}\fi % % Detect if the argument is a single token. If so, it might be a % letter. Otherwise, the only valid thing it can be is a number. % (We will always have one token, because of the test we just made. % This is a good thing, since \splitoff doesn't work given nothing at % all -- the first parameter is undelimited.) \expandafter\splitoff\thearg\endmark \ifx\rest\empty % Only one token in the argument. It could still be anything. % A ``lowercase letter'' is one whose \lccode is nonzero. % An ``uppercase letter'' is one whose \lccode is both nonzero, and % not equal to itself. % Otherwise, we assume it's a number. % % We need the \relax at the end of the \ifnum lines to stop TeX from % continuing to look for a . % \ifnum\lccode\expandafter`\thearg=0\relax \numericenumerate % a number (we hope) \else % It's a letter. \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax \lowercaseenumerate % lowercase letter \else \uppercaseenumerate % uppercase letter \fi \fi \else % Multiple tokens in the argument. We hope it's a number. \numericenumerate \fi } % An @enumerate whose labels are integers. The starting integer is % given in \thearg. % \def\numericenumerate{% \itemno = \thearg \startenumeration{\the\itemno}% } % The starting (lowercase) letter is in \thearg. \def\lowercaseenumerate{% \itemno = \expandafter`\thearg \startenumeration{% % Be sure we're not beyond the end of the alphabet. \ifnum\itemno=0 \errmessage{No more lowercase letters in @enumerate; get a bigger alphabet}% \fi \char\lccode\itemno }% } % The starting (uppercase) letter is in \thearg. \def\uppercaseenumerate{% \itemno = \expandafter`\thearg \startenumeration{% % Be sure we're not beyond the end of the alphabet. \ifnum\itemno=0 \errmessage{No more uppercase letters in @enumerate; get a bigger alphabet} \fi \char\uccode\itemno }% } % Call \doitemize, adding a period to the first argument and supplying the % common last two arguments. Also subtract one from the initial value in % \itemno, since @item increments \itemno. % \def\startenumeration#1{% \advance\itemno by -1 \doitemize{#1.}\flushcr } % @alphaenumerate and @capsenumerate are abbreviations for giving an arg % to @enumerate. % \def\alphaenumerate{\enumerate{a}} \def\capsenumerate{\enumerate{A}} \def\Ealphaenumerate{\Eenumerate} \def\Ecapsenumerate{\Eenumerate} % @multitable macros % Amy Hendrickson, 8/18/94, 3/6/96 % % @multitable ... @end multitable will make as many columns as desired. % Contents of each column will wrap at width given in preamble. Width % can be specified either with sample text given in a template line, % or in percent of \hsize, the current width of text on page. % Table can continue over pages but will only break between lines. % To make preamble: % % Either define widths of columns in terms of percent of \hsize: % @multitable @columnfractions .25 .3 .45 % @item ... % % Numbers following @columnfractions are the percent of the total % current hsize to be used for each column. You may use as many % columns as desired. % Or use a template: % @multitable {Column 1 template} {Column 2 template} {Column 3 template} % @item ... % using the widest term desired in each column. % Each new table line starts with @item, each subsequent new column % starts with @tab. Empty columns may be produced by supplying @tab's % with nothing between them for as many times as empty columns are needed, % ie, @tab@tab@tab will produce two empty columns. % @item, @tab do not need to be on their own lines, but it will not hurt % if they are. % Sample multitable: % @multitable {Column 1 template} {Column 2 template} {Column 3 template} % @item first col stuff @tab second col stuff @tab third col % @item % first col stuff % @tab % second col stuff % @tab % third col % @item first col stuff @tab second col stuff % @tab Many paragraphs of text may be used in any column. % % They will wrap at the width determined by the template. % @item@tab@tab This will be in third column. % @end multitable % Default dimensions may be reset by user. % @multitableparskip is vertical space between paragraphs in table. % @multitableparindent is paragraph indent in table. % @multitablecolmargin is horizontal space to be left between columns. % @multitablelinespace is space to leave between table items, baseline % to baseline. % 0pt means it depends on current normal line spacing. % \newskip\multitableparskip \newskip\multitableparindent \newdimen\multitablecolspace \newskip\multitablelinespace \multitableparskip=0pt \multitableparindent=6pt \multitablecolspace=12pt \multitablelinespace=0pt % Macros used to set up halign preamble: % \let\endsetuptable\relax \def\xendsetuptable{\endsetuptable} \let\columnfractions\relax \def\xcolumnfractions{\columnfractions} \newif\ifsetpercent % #1 is the @columnfraction, usually a decimal number like .5, but might % be just 1. We just use it, whatever it is. % \def\pickupwholefraction#1 {% \global\advance\colcount by 1 \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}% \setuptable } \newcount\colcount \def\setuptable#1{% \def\firstarg{#1}% \ifx\firstarg\xendsetuptable \let\go = \relax \else \ifx\firstarg\xcolumnfractions \global\setpercenttrue \else \ifsetpercent \let\go\pickupwholefraction \else \global\advance\colcount by 1 \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a % separator; typically that is always in the input, anyway. \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}% \fi \fi \ifx\go\pickupwholefraction % Put the argument back for the \pickupwholefraction call, so % we'll always have a period there to be parsed. \def\go{\pickupwholefraction#1}% \else \let\go = \setuptable \fi% \fi \go } % multitable-only commands. % % @headitem starts a heading row, which we typeset in bold. Assignments % have to be global since we are inside the implicit group of an % alignment entry. \everycr below resets \everytab so we don't have to % undo it ourselves. \def\headitemfont{\b}% for people to use in the template row; not changeable \def\headitem{% \checkenv\multitable \crcr \gdef\headitemcrhook{\nobreak}% attempt to avoid page break after headings \global\everytab={\bf}% can't use \headitemfont since the parsing differs \the\everytab % for the first item }% % % default for tables with no headings. \let\headitemcrhook=\relax % % A \tab used to include \hskip1sp. But then the space in a template % line is not enough. That is bad. So let's go back to just `&' until % we again encounter the problem the 1sp was intended to solve. % --karl, nathan@acm.org, 20apr99. \def\tab{\checkenv\multitable &\the\everytab}% % @multitable ... @end multitable definitions: % \newtoks\everytab % insert after every tab. % \envdef\multitable{% \vskip\parskip \startsavinginserts % % @item within a multitable starts a normal row. % We use \def instead of \let so that if one of the multitable entries % contains an @itemize, we don't choke on the \item (seen as \crcr aka % \endtemplate) expanding \doitemize. \def\item{\crcr}% % \tolerance=9500 \hbadness=9500 \setmultitablespacing \parskip=\multitableparskip \parindent=\multitableparindent \overfullrule=0pt \global\colcount=0 % \everycr = {% \noalign{% \global\everytab={}% Reset from possible headitem. \global\colcount=0 % Reset the column counter. % % Check for saved footnotes, etc.: \checkinserts % % Perhaps a \nobreak, then reset: \headitemcrhook \global\let\headitemcrhook=\relax }% }% % \parsearg\domultitable } \def\domultitable#1{% % To parse everything between @multitable and @item: \setuptable#1 \endsetuptable % % This preamble sets up a generic column definition, which will % be used as many times as user calls for columns. % \vtop will set a single line and will also let text wrap and % continue for many paragraphs if desired. \halign\bgroup &% \global\advance\colcount by 1 \multistrut \vtop{% % Use the current \colcount to find the correct column width: \hsize=\expandafter\csname col\the\colcount\endcsname % % In order to keep entries from bumping into each other % we will add a \leftskip of \multitablecolspace to all columns after % the first one. % % If a template has been used, we will add \multitablecolspace % to the width of each template entry. % % If the user has set preamble in terms of percent of \hsize we will % use that dimension as the width of the column, and the \leftskip % will keep entries from bumping into each other. Table will start at % left margin and final column will justify at right margin. % % Make sure we don't inherit \rightskip from the outer environment. \rightskip=0pt \ifnum\colcount=1 % The first column will be indented with the surrounding text. \advance\hsize by\leftskip \else \ifsetpercent \else % If user has not set preamble in terms of percent of \hsize % we will advance \hsize by \multitablecolspace. \advance\hsize by \multitablecolspace \fi % In either case we will make \leftskip=\multitablecolspace: \leftskip=\multitablecolspace \fi % Ignoring space at the beginning and end avoids an occasional spurious % blank line, when TeX decides to break the line at the space before the % box from the multistrut, so the strut ends up on a line by itself. % For example: % @multitable @columnfractions .11 .89 % @item @code{#} % @tab Legal holiday which is valid in major parts of the whole country. % Is automatically provided with highlighting sequences respectively % marking characters. \noindent\ignorespaces##\unskip\multistrut }\cr } \def\Emultitable{% \crcr \egroup % end the \halign \global\setpercentfalse } \def\setmultitablespacing{% \def\multistrut{\strut}% just use the standard line spacing % % Compute \multitablelinespace (if not defined by user) for use in % \multitableparskip calculation. We used define \multistrut based on % this, but (ironically) that caused the spacing to be off. % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100. \ifdim\multitablelinespace=0pt \setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip \global\advance\multitablelinespace by-\ht0 \fi % Test to see if parskip is larger than space between lines of % table. If not, do nothing. % If so, set to same dimension as multitablelinespace. \ifdim\multitableparskip>\multitablelinespace \global\multitableparskip=\multitablelinespace \global\advance\multitableparskip-7pt % to keep parskip somewhat smaller % than skip between lines in the table. \fi% \ifdim\multitableparskip=0pt \global\multitableparskip=\multitablelinespace \global\advance\multitableparskip-7pt % to keep parskip somewhat smaller % than skip between lines in the table. \fi} \message{conditionals,} % @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext, % @ifnotxml always succeed. They currently do nothing; we don't % attempt to check whether the conditionals are properly nested. But we % have to remember that they are conditionals, so that @end doesn't % attempt to close an environment group. % \def\makecond#1{% \expandafter\let\csname #1\endcsname = \relax \expandafter\let\csname iscond.#1\endcsname = 1 } \makecond{iftex} \makecond{ifnotdocbook} \makecond{ifnothtml} \makecond{ifnotinfo} \makecond{ifnotplaintext} \makecond{ifnotxml} % Ignore @ignore, @ifhtml, @ifinfo, and the like. % \def\direntry{\doignore{direntry}} \def\documentdescription{\doignore{documentdescription}} \def\docbook{\doignore{docbook}} \def\html{\doignore{html}} \def\ifdocbook{\doignore{ifdocbook}} \def\ifhtml{\doignore{ifhtml}} \def\ifinfo{\doignore{ifinfo}} \def\ifnottex{\doignore{ifnottex}} \def\ifplaintext{\doignore{ifplaintext}} \def\ifxml{\doignore{ifxml}} \def\ignore{\doignore{ignore}} \def\menu{\doignore{menu}} \def\xml{\doignore{xml}} % Ignore text until a line `@end #1', keeping track of nested conditionals. % % A count to remember the depth of nesting. \newcount\doignorecount \def\doignore#1{\begingroup % Scan in ``verbatim'' mode: \obeylines \catcode`\@ = \other \catcode`\{ = \other \catcode`\} = \other % % Make sure that spaces turn into tokens that match what \doignoretext wants. \spaceisspace % % Count number of #1's that we've seen. \doignorecount = 0 % % Swallow text until we reach the matching `@end #1'. \dodoignore{#1}% } { \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source. \obeylines % % \gdef\dodoignore#1{% % #1 contains the command name as a string, e.g., `ifinfo'. % % Define a command to find the next `@end #1'. \long\def\doignoretext##1^^M@end #1{% \doignoretextyyy##1^^M@#1\_STOP_}% % % And this command to find another #1 command, at the beginning of a % line. (Otherwise, we would consider a line `@c @ifset', for % example, to count as an @ifset for nesting.) \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}% % % And now expand that command. \doignoretext ^^M% }% } \def\doignoreyyy#1{% \def\temp{#1}% \ifx\temp\empty % Nothing found. \let\next\doignoretextzzz \else % Found a nested condition, ... \advance\doignorecount by 1 \let\next\doignoretextyyy % ..., look for another. % If we're here, #1 ends with ^^M\ifinfo (for example). \fi \next #1% the token \_STOP_ is present just after this macro. } % We have to swallow the remaining "\_STOP_". % \def\doignoretextzzz#1{% \ifnum\doignorecount = 0 % We have just found the outermost @end. \let\next\enddoignore \else % Still inside a nested condition. \advance\doignorecount by -1 \let\next\doignoretext % Look for the next @end. \fi \next } % Finish off ignored text. { \obeylines% % Ignore anything after the last `@end #1'; this matters in verbatim % environments, where otherwise the newline after an ignored conditional % would result in a blank line in the output. \gdef\enddoignore#1^^M{\endgroup\ignorespaces}% } % @set VAR sets the variable VAR to an empty value. % @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE. % % Since we want to separate VAR from REST-OF-LINE (which might be % empty), we can't just use \parsearg; we have to insert a space of our % own to delimit the rest of the line, and then take it out again if we % didn't need it. % We rely on the fact that \parsearg sets \catcode`\ =10. % \parseargdef\set{\setyyy#1 \endsetyyy} \def\setyyy#1 #2\endsetyyy{% {% \makevalueexpandable \def\temp{#2}% \edef\next{\gdef\makecsname{SET#1}}% \ifx\temp\empty \next{}% \else \setzzz#2\endsetzzz \fi }% } % Remove the trailing space \setxxx inserted. \def\setzzz#1 \endsetzzz{\next{#1}} % @clear VAR clears (i.e., unsets) the variable VAR. % \parseargdef\clear{% {% \makevalueexpandable \global\expandafter\let\csname SET#1\endcsname=\relax }% } % @value{foo} gets the text saved in variable foo. \def\value{\begingroup\makevalueexpandable\valuexxx} \def\valuexxx#1{\expandablevalue{#1}\endgroup} { \catcode`\-=\active \catcode`\_=\active % \gdef\makevalueexpandable{% \let\value = \expandablevalue % We don't want these characters active, ... \catcode`\-=\other \catcode`\_=\other % ..., but we might end up with active ones in the argument if % we're called from @code, as @code{@value{foo-bar_}}, though. % So \let them to their normal equivalents. \let-\normaldash \let_\normalunderscore } } % We have this subroutine so that we can handle at least some @value's % properly in indexes (we call \makevalueexpandable in \indexdummies). % The command has to be fully expandable (if the variable is set), since % the result winds up in the index file. This means that if the % variable's value contains other Texinfo commands, it's almost certain % it will fail (although perhaps we could fix that with sufficient work % to do a one-level expansion on the result, instead of complete). % % Unfortunately, this has the consequence that when _ is in the *value* % of an @set, it does not print properly in the roman fonts (get the cmr % dot accent at position 126 instead). No fix comes to mind, and it's % been this way since 2003 or earlier, so just ignore it. % \def\expandablevalue#1{% \expandafter\ifx\csname SET#1\endcsname\relax {[No value for ``#1'']}% \message{Variable `#1', used in @value, is not set.}% \else \csname SET#1\endcsname \fi } % Like \expandablevalue, but completely expandable (the \message in the % definition above operates at the execution level of TeX). Used when % writing to auxiliary files, due to the expansion that \write does. % If flag is undefined, pass through an unexpanded @value command: maybe it % will be set by the time it is read back in. % % NB flag names containing - or _ may not work here. \def\dummyvalue#1{% \expandafter\ifx\csname SET#1\endcsname\relax \noexpand\value{#1}% \else \csname SET#1\endcsname \fi } % Used for @value's in index entries to form the sort key: expand the @value % if possible, otherwise sort late. \def\indexnofontsvalue#1{% \expandafter\ifx\csname SET#1\endcsname\relax ZZZZZZZ \else \csname SET#1\endcsname \fi } % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined % with @set. % % To get the special treatment we need for `@end ifset,' we call % \makecond and then redefine. % \makecond{ifset} \def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}} \def\doifset#1#2{% {% \makevalueexpandable \let\next=\empty \expandafter\ifx\csname SET#2\endcsname\relax #1% If not set, redefine \next. \fi \expandafter }\next } \def\ifsetfail{\doignore{ifset}} % @ifclear VAR ... @end executes the `...' iff VAR has never been % defined with @set, or has been undefined with @clear. % % The `\else' inside the `\doifset' parameter is a trick to reuse the % above code: if the variable is not set, do nothing, if it is set, % then redefine \next to \ifclearfail. % \makecond{ifclear} \def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} \def\ifclearfail{\doignore{ifclear}} % @ifcommandisdefined CMD ... @end executes the `...' if CMD (written % without the @) is in fact defined. We can only feasibly check at the % TeX level, so something like `mathcode' is going to considered % defined even though it is not a Texinfo command. % \makecond{ifcommanddefined} \def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}} % \def\doifcmddefined#1#2{{% \makevalueexpandable \let\next=\empty \expandafter\ifx\csname #2\endcsname\relax #1% If not defined, \let\next as above. \fi \expandafter }\next } \def\ifcmddefinedfail{\doignore{ifcommanddefined}} % @ifcommandnotdefined CMD ... handled similar to @ifclear above. \makecond{ifcommandnotdefined} \def\ifcommandnotdefined{% \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}} \def\ifcmdnotdefinedfail{\doignore{ifcommandnotdefined}} % Set the `txicommandconditionals' variable, so documents have a way to % test if the @ifcommand...defined conditionals are available. \set txicommandconditionals % @dircategory CATEGORY -- specify a category of the dir file % which this file should belong to. Ignore this in TeX. \let\dircategory=\comment % @defininfoenclose. \let\definfoenclose=\comment \message{indexing,} % Index generation facilities % Define \newwrite to be identical to plain tex's \newwrite % except not \outer, so it can be used within macros and \if's. \edef\newwrite{\makecsname{ptexnewwrite}} % \newindex {foo} defines an index named IX. % It automatically defines \IXindex such that % \IXindex ...rest of line... puts an entry in the index IX. % It also defines \IXindfile to be the number of the output channel for % the file that accumulates this index. The file's extension is IX. % The name of an index should be no more than 2 characters long % for the sake of vms. % \def\newindex#1{% \expandafter\chardef\csname#1indfile\endcsname=0 \expandafter\xdef\csname#1index\endcsname{% % Define @#1index \noexpand\doindex{#1}} } % @defindex foo == \newindex{foo} % \def\defindex{\parsearg\newindex} % Define @defcodeindex, like @defindex except put all entries in @code. % \def\defcodeindex{\parsearg\newcodeindex} % \def\newcodeindex#1{% \expandafter\chardef\csname#1indfile\endcsname=0 \expandafter\xdef\csname#1index\endcsname{% \noexpand\docodeindex{#1}}% } % The default indices: \newindex{cp}% concepts, \newcodeindex{fn}% functions, \newcodeindex{vr}% variables, \newcodeindex{tp}% types, \newcodeindex{ky}% keys \newcodeindex{pg}% and programs. % @synindex foo bar makes index foo feed into index bar. % Do this instead of @defindex foo if you don't want it as a separate index. % % @syncodeindex foo bar similar, but put all entries made for index foo % inside @code. % \def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}} \def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}} % #1 is \doindex or \docodeindex, #2 the index getting redefined (foo), % #3 the target index (bar). \def\dosynindex#1#2#3{% \requireopenindexfile{#3}% % redefine \fooindfile: \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname \expandafter\let\csname#2indfile\endcsname=\temp % redefine \fooindex: \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}% } % Define \doindex, the driver for all index macros. % Argument #1 is generated by the calling \fooindex macro, % and it is the two-letter name of the index. \def\doindex#1{\edef\indexname{#1}\parsearg\doindexxxx} \def\doindexxxx #1{\doind{\indexname}{#1}} % like the previous two, but they put @code around the argument. \def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx} \def\docodeindexxxx #1{\doind{\indexname}{\code{#1}}} % Used when writing an index entry out to an index file to prevent % expansion of Texinfo commands that can appear in an index entry. % \def\indexdummies{% \escapechar = `\\ % use backslash in output files. \definedummyletter\@% \definedummyletter\ % % % For texindex which always views { and } as separators. \def\{{\lbracechar{}}% \def\}{\rbracechar{}}% % % Do the redefinitions. \definedummies } % Used for the aux and toc files, where @ is the escape character. % \def\atdummies{% \definedummyletter\@% \definedummyletter\ % \definedummyletter\{% \definedummyletter\}% % % Do the redefinitions. \definedummies \otherbackslash } % \definedummyword defines \#1 as \string\#1\space, thus effectively % preventing its expansion. This is used only for control words, % not control letters, because the \space would be incorrect for % control characters, but is needed to separate the control word % from whatever follows. % % These can be used both for control words that take an argument and % those that do not. If it is followed by {arg} in the input, then % that will dutifully get written to the index (or wherever). % % For control letters, we have \definedummyletter, which omits the % space. % \def\definedummyword #1{\def#1{\string#1\space}}% \def\definedummyletter#1{\def#1{\string#1}}% \let\definedummyaccent\definedummyletter % Called from \indexdummies and \atdummies, to effectively prevent % the expansion of commands. % \def\definedummies{% % \let\commondummyword\definedummyword \let\commondummyletter\definedummyletter \let\commondummyaccent\definedummyaccent \commondummiesnofonts % \definedummyletter\_% \definedummyletter\-% % % Non-English letters. \definedummyword\AA \definedummyword\AE \definedummyword\DH \definedummyword\L \definedummyword\O \definedummyword\OE \definedummyword\TH \definedummyword\aa \definedummyword\ae \definedummyword\dh \definedummyword\exclamdown \definedummyword\l \definedummyword\o \definedummyword\oe \definedummyword\ordf \definedummyword\ordm \definedummyword\questiondown \definedummyword\ss \definedummyword\th % % Although these internal commands shouldn't show up, sometimes they do. \definedummyword\bf \definedummyword\gtr \definedummyword\hat \definedummyword\less \definedummyword\sf \definedummyword\sl \definedummyword\tclose \definedummyword\tt % \definedummyword\LaTeX \definedummyword\TeX % % Assorted special characters. \definedummyword\atchar \definedummyword\arrow \definedummyword\bullet \definedummyword\comma \definedummyword\copyright \definedummyword\registeredsymbol \definedummyword\dots \definedummyword\enddots \definedummyword\entrybreak \definedummyword\equiv \definedummyword\error \definedummyword\euro \definedummyword\expansion \definedummyword\geq \definedummyword\guillemetleft \definedummyword\guillemetright \definedummyword\guilsinglleft \definedummyword\guilsinglright \definedummyword\lbracechar \definedummyword\leq \definedummyword\mathopsup \definedummyword\minus \definedummyword\ogonek \definedummyword\pounds \definedummyword\point \definedummyword\print \definedummyword\quotedblbase \definedummyword\quotedblleft \definedummyword\quotedblright \definedummyword\quoteleft \definedummyword\quoteright \definedummyword\quotesinglbase \definedummyword\rbracechar \definedummyword\result \definedummyword\sub \definedummyword\sup \definedummyword\textdegree % % We want to disable all macros so that they are not expanded by \write. \macrolist \let\value\dummyvalue % \normalturnoffactive } % \commondummiesnofonts: common to \definedummies and \indexnofonts. % Define \commondummyletter, \commondummyaccent and \commondummyword before % using. Used for accents, font commands, and various control letters. % \def\commondummiesnofonts{% % Control letters and accents. \commondummyletter\!% \commondummyaccent\"% \commondummyaccent\'% \commondummyletter\*% \commondummyaccent\,% \commondummyletter\.% \commondummyletter\/% \commondummyletter\:% \commondummyaccent\=% \commondummyletter\?% \commondummyaccent\^% \commondummyaccent\`% \commondummyaccent\~% \commondummyword\u \commondummyword\v \commondummyword\H \commondummyword\dotaccent \commondummyword\ogonek \commondummyword\ringaccent \commondummyword\tieaccent \commondummyword\ubaraccent \commondummyword\udotaccent \commondummyword\dotless % % Texinfo font commands. \commondummyword\b \commondummyword\i \commondummyword\r \commondummyword\sansserif \commondummyword\sc \commondummyword\slanted \commondummyword\t % % Commands that take arguments. \commondummyword\abbr \commondummyword\acronym \commondummyword\anchor \commondummyword\cite \commondummyword\code \commondummyword\command \commondummyword\dfn \commondummyword\dmn \commondummyword\email \commondummyword\emph \commondummyword\env \commondummyword\file \commondummyword\image \commondummyword\indicateurl \commondummyword\inforef \commondummyword\kbd \commondummyword\key \commondummyword\math \commondummyword\option \commondummyword\pxref \commondummyword\ref \commondummyword\samp \commondummyword\strong \commondummyword\tie \commondummyword\U \commondummyword\uref \commondummyword\url \commondummyword\var \commondummyword\verb \commondummyword\w \commondummyword\xref } % For testing: output @{ and @} in index sort strings as \{ and \}. \newif\ifusebracesinindexes \let\indexlbrace\relax \let\indexrbrace\relax {\catcode`\@=0 \catcode`\\=13 @gdef@backslashdisappear{@def\{}} } { \catcode`\<=13 \catcode`\-=13 \catcode`\`=13 \gdef\indexnonalnumdisappear{% \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax\else % @set txiindexlquoteignore makes us ignore left quotes in the sort term. % (Introduced for FSFS 2nd ed.) \let`=\empty \fi % \expandafter\ifx\csname SETtxiindexbackslashignore\endcsname\relax\else \backslashdisappear \fi % \expandafter\ifx\csname SETtxiindexhyphenignore\endcsname\relax\else \def-{}% \fi \expandafter\ifx\csname SETtxiindexlessthanignore\endcsname\relax\else \def<{}% \fi \expandafter\ifx\csname SETtxiindexatsignignore\endcsname\relax\else \def\@{}% \fi } \gdef\indexnonalnumreappear{% \useindexbackslash \let-\normaldash \let<\normalless \def\@{@}% } } % \indexnofonts is used when outputting the strings to sort the index % by, and when constructing control sequence names. It eliminates all % control sequences and just writes whatever the best ASCII sort string % would be for a given command (usually its argument). % \def\indexnofonts{% % Accent commands should become @asis. \def\commondummyaccent##1{\let##1\asis}% % We can just ignore other control letters. \def\commondummyletter##1{\let##1\empty}% % All control words become @asis by default; overrides below. \let\commondummyword\commondummyaccent \commondummiesnofonts % % Don't no-op \tt, since it isn't a user-level command % and is used in the definitions of the active chars like <, >, |, etc. % Likewise with the other plain tex font commands. %\let\tt=\asis % \def\ { }% \def\@{@}% \def\_{\normalunderscore}% \def\-{}% @- shouldn't affect sorting % \uccode`\1=`\{ \uppercase{\def\{{1}}% \uccode`\1=`\} \uppercase{\def\}{1}}% \let\lbracechar\{% \let\rbracechar\}% % % Non-English letters. \def\AA{AA}% \def\AE{AE}% \def\DH{DZZ}% \def\L{L}% \def\OE{OE}% \def\O{O}% \def\TH{TH}% \def\aa{aa}% \def\ae{ae}% \def\dh{dzz}% \def\exclamdown{!}% \def\l{l}% \def\oe{oe}% \def\ordf{a}% \def\ordm{o}% \def\o{o}% \def\questiondown{?}% \def\ss{ss}% \def\th{th}% % \def\LaTeX{LaTeX}% \def\TeX{TeX}% % % Assorted special characters. \defglyph gives the control sequence a % definition that removes the {} that follows its use. \defglyph\atchar{@}% \defglyph\arrow{->}% \defglyph\bullet{bullet}% \defglyph\comma{,}% \defglyph\copyright{copyright}% \defglyph\dots{...}% \defglyph\enddots{...}% \defglyph\equiv{==}% \defglyph\error{error}% \defglyph\euro{euro}% \defglyph\expansion{==>}% \defglyph\geq{>=}% \defglyph\guillemetleft{<<}% \defglyph\guillemetright{>>}% \defglyph\guilsinglleft{<}% \defglyph\guilsinglright{>}% \defglyph\leq{<=}% \defglyph\lbracechar{\{}% \defglyph\minus{-}% \defglyph\point{.}% \defglyph\pounds{pounds}% \defglyph\print{-|}% \defglyph\quotedblbase{"}% \defglyph\quotedblleft{"}% \defglyph\quotedblright{"}% \defglyph\quoteleft{`}% \defglyph\quoteright{'}% \defglyph\quotesinglbase{,}% \defglyph\rbracechar{\}}% \defglyph\registeredsymbol{R}% \defglyph\result{=>}% \defglyph\textdegree{o}% % % We need to get rid of all macros, leaving only the arguments (if present). % Of course this is not nearly correct, but it is the best we can do for now. % makeinfo does not expand macros in the argument to @deffn, which ends up % writing an index entry, and texindex isn't prepared for an index sort entry % that starts with \. % % Since macro invocations are followed by braces, we can just redefine them % to take a single TeX argument. The case of a macro invocation that % goes to end-of-line is not handled. % \macrolist \let\value\indexnofontsvalue } \def\defglyph#1#2{\def#1##1{#2}} % see above \let\SETmarginindex=\relax % put index entries in margin (undocumented)? % Most index entries go through here, but \dosubind is the general case. % #1 is the index name, #2 is the entry text. \def\doind#1#2{\dosubind{#1}{#2}{}} % There is also \dosubind {index}{topic}{subtopic} % which makes an entry in a two-level index such as the operation index. % TODO: Two-level index? Operation index? % Workhorse for all indexes. % #1 is name of index, #2 is stuff to put there, #3 is subentry -- % empty if called from \doind, as we usually are (the main exception % is with most defuns, which call us directly). % \def\dosubind#1#2#3{% \iflinks {% \requireopenindexfile{#1}% % Store the main index entry text (including the third arg). \toks0 = {#2}% % If third arg is present, precede it with a space. \def\thirdarg{#3}% \ifx\thirdarg\empty \else \toks0 = \expandafter{\the\toks0 \space #3}% \fi % \edef\writeto{\csname#1indfile\endcsname}% % \safewhatsit\dosubindwrite }% \fi } % Check if an index file has been opened, and if not, open it. \def\requireopenindexfile#1{% \ifnum\csname #1indfile\endcsname=0 \expandafter\newwrite \csname#1indfile\endcsname \edef\suffix{#1}% % A .fls suffix would conflict with the file extension for the output % of -recorder, so use .f1s instead. \ifx\suffix\indexisfl\def\suffix{f1}\fi % Open the file \immediate\openout\csname#1indfile\endcsname \jobname.\suffix % Using \immediate above here prevents an object entering into the current % box, which could confound checks such as those in \safewhatsit for % preceding skips. \typeout{Writing index file \jobname.\suffix}% \fi} \def\indexisfl{fl} % Output \ as {\indexbackslash}, because \ is an escape character in % the index files. \let\indexbackslash=\relax {\catcode`\@=0 \catcode`\\=\active @gdef@useindexbackslash{@def\{{@indexbackslash}}} } % Definition for writing index entry text. \def\sortas#1{\ignorespaces}% % Definition for writing index entry sort key. Should occur at the at % the beginning of the index entry, like % @cindex @sortas{september} \september % The \ignorespaces takes care of following space, but there's no way % to remove space before it. { \catcode`\-=13 \gdef\indexwritesortas{% \begingroup \indexnonalnumreappear \indexwritesortasxxx} \gdef\indexwritesortasxxx#1{% \xdef\indexsortkey{#1}\endgroup} } % Write the entry in \toks0 to the index file. % \def\dosubindwrite{% % Put the index entry in the margin if desired. \ifx\SETmarginindex\relax\else \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}% \fi % % Remember, we are within a group. \indexdummies % Must do this here, since \bf, etc expand at this stage \useindexbackslash % \indexbackslash isn't defined now so it will be output % as is; and it will print as backslash. % The braces around \indexbrace are recognized by texindex. % % Get the string to sort by, by processing the index entry with all % font commands turned off. {\indexnofonts \def\lbracechar{{\indexlbrace}}% \def\rbracechar{{\indexrbrace}}% \let\{=\lbracechar \let\}=\rbracechar \indexnonalnumdisappear \xdef\indexsortkey{}% \let\sortas=\indexwritesortas \edef\temp{\the\toks0}% \setbox\dummybox = \hbox{\temp}% Make sure to execute any \sortas \ifx\indexsortkey\empty \xdef\indexsortkey{\temp}% \ifx\indexsortkey\empty\xdef\indexsortkey{ }\fi \fi }% % % Set up the complete index entry, with both the sort key and % the original text, including any font commands. We write % three arguments to \entry to the .?? file (four in the % subentry case), texindex reduces to two when writing the .??s % sorted result. \edef\temp{% \write\writeto{% \string\entry{\indexsortkey}{\noexpand\folio}{\the\toks0}}% }% \temp } \newbox\dummybox % used above % Take care of unwanted page breaks/skips around a whatsit: % % If a skip is the last thing on the list now, preserve it % by backing up by \lastskip, doing the \write, then inserting % the skip again. Otherwise, the whatsit generated by the % \write or \pdfdest will make \lastskip zero. The result is that % sequences like this: % @end defun % @tindex whatever % @defun ... % will have extra space inserted, because the \medbreak in the % start of the @defun won't see the skip inserted by the @end of % the previous defun. % % But don't do any of this if we're not in vertical mode. We % don't want to do a \vskip and prematurely end a paragraph. % % Avoid page breaks due to these extra skips, too. % % But wait, there is a catch there: % We'll have to check whether \lastskip is zero skip. \ifdim is not % sufficient for this purpose, as it ignores stretch and shrink parts % of the skip. The only way seems to be to check the textual % representation of the skip. % % The following is almost like \def\zeroskipmacro{0.0pt} except that % the ``p'' and ``t'' characters have catcode \other, not 11 (letter). % \edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname} % \newskip\whatsitskip \newcount\whatsitpenalty % % ..., ready, GO: % \def\safewhatsit#1{\ifhmode #1% \else % \lastskip and \lastpenalty cannot both be nonzero simultaneously. \whatsitskip = \lastskip \edef\lastskipmacro{\the\lastskip}% \whatsitpenalty = \lastpenalty % % If \lastskip is nonzero, that means the last item was a % skip. And since a skip is discardable, that means this % -\whatsitskip glue we're inserting is preceded by a % non-discardable item, therefore it is not a potential % breakpoint, therefore no \nobreak needed. \ifx\lastskipmacro\zeroskipmacro \else \vskip-\whatsitskip \fi % #1% % \ifx\lastskipmacro\zeroskipmacro % If \lastskip was zero, perhaps the last item was a penalty, and % perhaps it was >=10000, e.g., a \nobreak. In that case, we want % to re-insert the same penalty (values >10000 are used for various % signals); since we just inserted a non-discardable item, any % following glue (such as a \parskip) would be a breakpoint. For example: % @deffn deffn-whatever % @vindex index-whatever % Description. % would allow a break between the index-whatever whatsit % and the "Description." paragraph. \ifnum\whatsitpenalty>9999 \penalty\whatsitpenalty \fi \else % On the other hand, if we had a nonzero \lastskip, % this make-up glue would be preceded by a non-discardable item % (the whatsit from the \write), so we must insert a \nobreak. \nobreak\vskip\whatsitskip \fi \fi} % The index entry written in the file actually looks like % \entry {sortstring}{page}{topic} % or % \entry {sortstring}{page}{topic}{subtopic} % The texindex program reads in these files and writes files % containing these kinds of lines: % \initial {c} % before the first topic whose initial is c % \entry {topic}{pagelist} % for a topic that is used without subtopics % \primary {topic} % for the beginning of a topic that is used with subtopics % \secondary {subtopic}{pagelist} % for each subtopic. % Define the user-accessible indexing commands % @findex, @vindex, @kindex, @cindex. \def\findex {\fnindex} \def\kindex {\kyindex} \def\cindex {\cpindex} \def\vindex {\vrindex} \def\tindex {\tpindex} \def\pindex {\pgindex} \def\cindexsub {\begingroup\obeylines\cindexsub} {\obeylines % \gdef\cindexsub "#1" #2^^M{\endgroup % \dosubind{cp}{#2}{#1}}} % Define the macros used in formatting output of the sorted index material. % @printindex causes a particular index (the ??s file) to get printed. % It does not print any chapter heading (usually an @unnumbered). % \parseargdef\printindex{\begingroup \dobreak \chapheadingskip{10000}% % \smallfonts \rm \tolerance = 9500 \plainfrenchspacing \everypar = {}% don't want the \kern\-parindent from indentation suppression. % % See if the index file exists and is nonempty. % Change catcode of @ here so that if the index file contains % \initial {@} % as its first line, TeX doesn't complain about mismatched braces % (because it thinks @} is a control sequence). \catcode`\@ = 12 % See comment in \requireopenindexfile. \def\indexname{#1}\ifx\indexname\indexisfl\def\indexname{f1}\fi \openin 1 \jobname.\indexname s \ifeof 1 % \enddoublecolumns gets confused if there is no text in the index, % and it loses the chapter title and the aux file entries for the % index. The easiest way to prevent this problem is to make sure % there is some text. \putwordIndexNonexistent \typeout{No file \jobname.\indexname s.}% \else \catcode`\\ = 0 % % If the index file exists but is empty, then \openin leaves \ifeof % false. We have to make TeX try to read something from the file, so % it can discover if there is anything in it. \read 1 to \thisline \ifeof 1 \putwordIndexIsEmpty \else % Index files are almost Texinfo source, but we use \ as the escape % character. It would be better to use @, but that's too big a change % to make right now. \def\indexbackslash{\ttbackslash}% \let\indexlbrace\{ % Likewise, set these sequences for braces \let\indexrbrace\} % used in the sort key. \begindoublecolumns \let\dotheinsertentrybox\dotheinsertentryboxwithpenalty % % Read input from the index file line by line. \loopdo \ifeof1 \else \read 1 to \nextline \fi % \indexinputprocessing \thisline % \ifeof1\else \let\thisline\nextline \repeat %% \enddoublecolumns \fi \fi \closein 1 \endgroup} \def\loopdo#1\repeat{\def\body{#1}\loopdoxxx} \def\loopdoxxx{\let\next=\relax\body\let\next=\loopdoxxx\fi\next} \def\indexinputprocessing{% \ifeof1 \let\firsttoken\relax \else \edef\act{\gdef\noexpand\firsttoken{\getfirsttoken\nextline}}% \act \fi } \def\getfirsttoken#1{\expandafter\getfirsttokenx#1\endfirsttoken} \long\def\getfirsttokenx#1#2\endfirsttoken{\noexpand#1} % These macros are used by the sorted index file itself. % Change them to control the appearance of the index. {\catcode`\/=13 \catcode`\-=13 \catcode`\^=13 \catcode`\~=13 \catcode`\_=13 \catcode`\|=13 \catcode`\<=13 \catcode`\>=13 \catcode`\+=13 \catcode`\"=13 \catcode`\$=3 \gdef\initialglyphs{% % Some changes for non-alphabetic characters. Using the glyphs from the % math fonts looks more consistent than the typewriter font used elsewhere % for these characters. \def\indexbackslash{\math{\backslash}}% \let\\=\indexbackslash % % Can't get bold backslash so don't use bold forward slash \catcode`\/=13 \def/{{\secrmnotbold \normalslash}}% \def-{{\normaldash\normaldash}}% en dash `--' \def^{{\chapbf \normalcaret}}% \def~{{\chapbf \normaltilde}}% \def\_{% \leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }% \def|{$\vert$}% \def<{$\less$}% \def>{$\gtr$}% \def+{$\normalplus$}% }} \def\initial{% \bgroup \initialglyphs \initialx } \def\initialx#1{% % Remove any glue we may have, we'll be inserting our own. \removelastskip % % We like breaks before the index initials, so insert a bonus. % The glue before the bonus allows a little bit of space at the % bottom of a column to reduce an increase in inter-line spacing. \nobreak \vskip 0pt plus 5\baselineskip \penalty -300 \vskip 0pt plus -5\baselineskip % % Typeset the initial. Making this add up to a whole number of % baselineskips increases the chance of the dots lining up from column % to column. It still won't often be perfect, because of the stretch % we need before each entry, but it's better. % % No shrink because it confuses \balancecolumns. \vskip 1.67\baselineskip plus 1\baselineskip \leftline{\secfonts \kern-0.05em \secbf #1}% % \secfonts is inside the argument of \leftline so that the change of % \baselineskip will not affect any glue inserted before the vbox that % \leftline creates. % Do our best not to break after the initial. \nobreak \vskip .33\baselineskip plus .1\baselineskip \egroup % \initialglyphs } \newdimen\entryrightmargin \entryrightmargin=0pt % \entry typesets a paragraph consisting of the text (#1), dot leaders, and % then page number (#2) flushed to the right margin. It is used for index % and table of contents entries. The paragraph is indented by \leftskip. % \def\entry{% \begingroup % % For pdfTeX and XeTeX. % The redefinition of \domark stops marks being added in \pdflink to % preserve coloured links across page boundaries. Otherwise the marks % would get in the way of \lastbox in \insertentrybox. \let\domark\relax % % Start a new paragraph if necessary, so our assignments below can't % affect previous text. \par % % No extra space above this paragraph. \parskip = 0in % % When reading the text of entry, convert explicit line breaks % from @* into spaces. The user might give these in long section % titles, for instance. \def\*{\unskip\space\ignorespaces}% \def\entrybreak{\hfil\break}% An undocumented command % % Swallow the left brace of the text (first parameter): \afterassignment\doentry \let\temp = } \def\entrybreak{\unskip\space\ignorespaces}% \def\doentry{% % Save the text of the entry \global\setbox\boxA=\hbox\bgroup \bgroup % Instead of the swallowed brace. \noindent \aftergroup\finishentry % And now comes the text of the entry. % Not absorbing as a macro argument reduces the chance of problems % with catcodes occurring. } {\catcode`\@=11 \gdef\finishentry#1{% \egroup % end box A \dimen@ = \wd\boxA % Length of text of entry \global\setbox\boxA=\hbox\bgroup\unhbox\boxA % #1 is the page number. % % Get the width of the page numbers, and only use % leaders if they are present. \global\setbox\boxB = \hbox{#1}% \ifdim\wd\boxB = 0pt \null\nobreak\hfill\ % \else % \null\nobreak\indexdotfill % Have leaders before the page number. % \ifpdf \pdfgettoks#1.% \hskip\skip\thinshrinkable\the\toksA \else \ifx\XeTeXrevision\thisisundefined \hskip\skip\thinshrinkable #1% \else \pdfgettoks#1.% \hskip\skip\thinshrinkable\the\toksA \fi \fi \fi \egroup % end \boxA \ifdim\wd\boxB = 0pt \global\setbox\entrybox=\vbox{\unhbox\boxA}% \else \global\setbox\entrybox=\vbox\bgroup % We want the text of the entries to be aligned to the left, and the % page numbers to be aligned to the right. % \parindent = 0pt \advance\leftskip by 0pt plus 1fil \advance\leftskip by 0pt plus -1fill \rightskip = 0pt plus -1fil \advance\rightskip by 0pt plus 1fill % Cause last line, which could consist of page numbers on their own % if the list of page numbers is long, to be aligned to the right. \parfillskip=0pt plus -1fill % \advance\rightskip by \entryrightmargin % Determine how far we can stretch into the margin. % This allows, e.g., "Appendix H GNU Free Documentation License" to % fit on one line in @letterpaper format. \ifdim\entryrightmargin>2.1em \dimen@i=2.1em \else \dimen@i=0em \fi \advance \parfillskip by 0pt minus 1\dimen@i % \dimen@ii = \hsize \advance\dimen@ii by -1\leftskip \advance\dimen@ii by -1\entryrightmargin \advance\dimen@ii by 1\dimen@i \ifdim\wd\boxA > \dimen@ii % If the entry doesn't fit in one line \ifdim\dimen@ > 0.8\dimen@ii % due to long index text % Try to split the text roughly evenly. \dimen@ will be the length of % the first line. \dimen@ = 0.7\dimen@ \dimen@ii = \hsize \ifnum\dimen@>\dimen@ii % If the entry is too long (for example, if it needs more than % two lines), use all the space in the first line. \dimen@ = \dimen@ii \fi \advance\leftskip by 0pt plus 1fill % ragged right \advance \dimen@ by 1\rightskip \parshape = 2 0pt \dimen@ 0em \dimen@ii % Ideally we'd add a finite glue at the end of the first line only, % instead of using \parshape with explicit line lengths, but TeX % doesn't seem to provide a way to do such a thing. % % Indent all lines but the first one. \advance\leftskip by 1em \advance\parindent by -1em \fi\fi \indent % start paragraph \unhbox\boxA % % Do not prefer a separate line ending with a hyphen to fewer lines. \finalhyphendemerits = 0 % % Word spacing - no stretch \spaceskip=\fontdimen2\font minus \fontdimen4\font % \linepenalty=1000 % Discourage line breaks. \hyphenpenalty=5000 % Discourage hyphenation. % \par % format the paragraph \egroup % The \vbox \fi \endgroup \dotheinsertentrybox }} \newskip\thinshrinkable \skip\thinshrinkable=.15em minus .15em \newbox\entrybox \def\insertentrybox{% \ourunvbox\entrybox } % default definition \let\dotheinsertentrybox\insertentrybox % Use \lastbox to take apart vbox box by box, and add each sub-box % to the current vertical list. \def\ourunvbox#1{% \bgroup % for local binding of \delayedbox % Remove the last box from box #1 \global\setbox#1=\vbox{% \unvbox#1% \unskip % remove any glue \unpenalty \global\setbox\interbox=\lastbox }% \setbox\delayedbox=\box\interbox \ifdim\ht#1=0pt\else \ourunvbox#1 % Repeat on what's left of the box \nobreak \fi \box\delayedbox \egroup } \newbox\delayedbox \newbox\interbox % Used from \printindex. \firsttoken should be the first token % after the \entry. If it's not another \entry, we are at the last % line of a group of index entries, so insert a penalty to discourage % widowed index entries. \def\dotheinsertentryboxwithpenalty{% \ifx\firsttoken\isentry \else \penalty 9000 \fi \insertentrybox } \def\isentry{\entry}% % Like plain.tex's \dotfill, except uses up at least 1 em. % The filll stretch here overpowers both the fil and fill stretch to push % the page number to the right. \def\indexdotfill{\cleaders \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1filll} \def\primary #1{\line{#1\hfil}} \newskip\secondaryindent \secondaryindent=0.5cm \def\secondary#1#2{{% \parfillskip=0in \parskip=0in \hangindent=1in \hangafter=1 \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill \ifpdf \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. \else \ifx\XeTeXrevision\thisisundefined #2 \else \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. \fi \fi \par }} % Define two-column mode, which we use to typeset indexes. % Adapted from the TeXbook, page 416, which is to say, % the manmac.tex format used to print the TeXbook itself. \catcode`\@=11 % private names \newbox\partialpage \newdimen\doublecolumnhsize % Use inside an output routine to save \topmark and \firstmark \def\savemarks{% \global\savedtopmark=\expandafter{\topmark }% \global\savedfirstmark=\expandafter{\firstmark }% } \newtoks\savedtopmark \newtoks\savedfirstmark % Set \topmark and \firstmark for next time \output runs. % Can't be run from withinside \output (because any material % added while an output routine is active, including % penalties, is saved for after it finishes). The page so far % should be empty, otherwise what's on it will be thrown away. \def\restoremarks{% \mark{\the\savedtopmark}% \bgroup\output = {% \setbox\dummybox=\box\PAGE }abc\eject\egroup % "abc" because output routine doesn't fire for a completely empty page. \mark{\the\savedfirstmark}% } \def\begindoublecolumns{\begingroup % ended by \enddoublecolumns % If not much space left on page, start a new page. \ifdim\pagetotal>0.8\vsize\vfill\eject\fi % % Grab any single-column material above us. \output = {% % % Here is a possibility not foreseen in manmac: if we accumulate a % whole lot of material, we might end up calling this \output % routine twice in a row (see the doublecol-lose test, which is % essentially a couple of indexes with @setchapternewpage off). In % that case we just ship out what is in \partialpage with the normal % output routine. Generally, \partialpage will be empty when this % runs and this will be a no-op. See the indexspread.tex test case. \ifvoid\partialpage \else \onepageout{\pagecontents\partialpage}% \fi % \global\setbox\partialpage = \vbox{% % Unvbox the main output page. \unvbox\PAGE \kern-\topskip \kern\baselineskip }% \savemarks }% \eject % run that output routine to set \partialpage \restoremarks % % We recover the two marks that the last output routine saved in order % to propagate the information in marks added around a chapter heading, % which could be otherwise be lost by the time the final page is output. % % % Use the double-column output routine for subsequent pages. \output = {\doublecolumnout}% % % Change the page size parameters. We could do this once outside this % routine, in each of @smallbook, @afourpaper, and the default 8.5x11 % format, but then we repeat the same computation. Repeating a couple % of assignments once per index is clearly meaningless for the % execution time, so we may as well do it in one place. % % First we halve the line length, less a little for the gutter between % the columns. We compute the gutter based on the line length, so it % changes automatically with the paper format. The magic constant % below is chosen so that the gutter has the same value (well, +-<1pt) % as it did when we hard-coded it. % % We put the result in a separate register, \doublecolumhsize, so we % can restore it in \pagesofar, after \hsize itself has (potentially) % been clobbered. % \doublecolumnhsize = \hsize \advance\doublecolumnhsize by -.04154\hsize \divide\doublecolumnhsize by 2 \hsize = \doublecolumnhsize % % Double the \vsize as well. \advance\vsize by -\ht\partialpage \vsize = 2\vsize % % For the benefit of balancing columns \advance\baselineskip by 0pt plus 0.5pt } % The double-column output routine for all double-column pages except % the last, which is done by \balancecolumns. % \def\doublecolumnout{% % \splittopskip=\topskip \splitmaxdepth=\maxdepth % Get the available space for the double columns -- the normal % (undoubled) page height minus any material left over from the % previous page. \dimen@ = \vsize \divide\dimen@ by 2 % % box0 will be the left-hand column, box2 the right. \setbox0=\vsplit\PAGE to\dimen@ \setbox2=\vsplit\PAGE to\dimen@ \global\advance\vsize by 2\ht\partialpage \onepageout\pagesofar \unvbox\PAGE \penalty\outputpenalty } % % Re-output the contents of the output page -- any previous material, % followed by the two boxes we just split, in box0 and box2. \def\pagesofar{% \unvbox\partialpage % \hsize = \doublecolumnhsize \wd0=\hsize \wd2=\hsize \hbox to\txipagewidth{\box0\hfil\box2}% } % Finished with with double columns. \def\enddoublecolumns{% % The following penalty ensures that the page builder is exercised % _before_ we change the output routine. This is necessary in the % following situation: % % The last section of the index consists only of a single entry. % Before this section, \pagetotal is less than \pagegoal, so no % break occurs before the last section starts. However, the last % section, consisting of \initial and the single \entry, does not % fit on the page and has to be broken off. Without the following % penalty the page builder will not be exercised until \eject % below, and by that time we'll already have changed the output % routine to the \balancecolumns version, so the next-to-last % double-column page will be processed with \balancecolumns, which % is wrong: The two columns will go to the main vertical list, with % the broken-off section in the recent contributions. As soon as % the output routine finishes, TeX starts reconsidering the page % break. The two columns and the broken-off section both fit on the % page, because the two columns now take up only half of the page % goal. When TeX sees \eject from below which follows the final % section, it invokes the new output routine that we've set after % \balancecolumns below; \onepageout will try to fit the two columns % and the final section into the vbox of \txipageheight (see % \pagebody), causing an overfull box. % % Note that glue won't work here, because glue does not exercise the % page builder, unlike penalties (see The TeXbook, pp. 280-281). \penalty0 % \output = {% % Split the last of the double-column material. \savemarks \balancecolumns }% \eject % call the \output just set \ifdim\pagetotal=0pt % Having called \balancecolumns once, we do not % want to call it again. Therefore, reset \output to its normal % definition right away. \global\output = {\onepageout{\pagecontents\PAGE}}% % \endgroup % started in \begindoublecolumns \restoremarks % Leave the double-column material on the current page, no automatic % page break. \box\balancedcolumns % % \pagegoal was set to the doubled \vsize above, since we restarted % the current page. We're now back to normal single-column % typesetting, so reset \pagegoal to the normal \vsize. \global\vsize = \txipageheight % \pagegoal = \txipageheight % \else % We had some left-over material. This might happen when \doublecolumnout % is called in \balancecolumns. Try again. \expandafter\enddoublecolumns \fi } \newbox\balancedcolumns \setbox\balancedcolumns=\vbox{shouldnt see this}% % % Only called for the last of the double column material. \doublecolumnout % does the others. \def\balancecolumns{% \setbox0 = \vbox{\unvbox\PAGE}% like \box255 but more efficient, see p.120. \dimen@ = \ht0 \advance\dimen@ by \topskip \advance\dimen@ by-\baselineskip \ifdim\dimen@<5\baselineskip % Don't split a short final column in two. \setbox2=\vbox{}% \global\setbox\balancedcolumns=\vbox{\pagesofar}% \else \divide\dimen@ by 2 % target to split to \dimen@ii = \dimen@ \splittopskip = \topskip % Loop until left column is at least as high as the right column. {% \vbadness = 10000 \loop \global\setbox3 = \copy0 \global\setbox1 = \vsplit3 to \dimen@ \ifdim\ht1<\ht3 \global\advance\dimen@ by 1pt \repeat }% % Now the left column is in box 1, and the right column in box 3. % % Check whether the left column has come out higher than the page itself. % (Note that we have doubled \vsize for the double columns, so % the actual height of the page is 0.5\vsize). \ifdim2\ht1>\vsize % It appears that we have been called upon to balance too much material. % Output some of it with \doublecolumnout, leaving the rest on the page. \setbox\PAGE=\box0 \doublecolumnout \else % Compare the heights of the two columns. \ifdim4\ht1>5\ht3 % Column heights are too different, so don't make their bottoms % flush with each other. \setbox2=\vbox to \ht1 {\unvbox3\vfill}% \setbox0=\vbox to \ht1 {\unvbox1\vfill}% \else % Make column bottoms flush with each other. \setbox2=\vbox to\ht1{\unvbox3\unskip}% \setbox0=\vbox to\ht1{\unvbox1\unskip}% \fi \global\setbox\balancedcolumns=\vbox{\pagesofar}% \fi \fi % } \catcode`\@ = \other \message{sectioning,} % Chapters, sections, etc. % Let's start with @part. \outer\parseargdef\part{\partzzz{#1}} \def\partzzz#1{% \chapoddpage \null \vskip.3\vsize % move it down on the page a bit \begingroup \noindent \titlefonts\rm #1\par % the text \let\lastnode=\empty % no node to associate with \writetocentry{part}{#1}{}% but put it in the toc \headingsoff % no headline or footline on the part page % This outputs a mark at the end of the page that clears \thischapter % and \thissection, as is done in \startcontents. \let\pchapsepmacro\relax \chapmacro{}{Yomitfromtoc}{}% \chapoddpage \endgroup } % \unnumberedno is an oxymoron. But we count the unnumbered % sections so that we can refer to them unambiguously in the pdf % outlines by their "section number". We avoid collisions with chapter % numbers by starting them at 10000. (If a document ever has 10000 % chapters, we're in trouble anyway, I'm sure.) \newcount\unnumberedno \unnumberedno = 10000 \newcount\chapno \newcount\secno \secno=0 \newcount\subsecno \subsecno=0 \newcount\subsubsecno \subsubsecno=0 % This counter is funny since it counts through charcodes of letters A, B, ... \newcount\appendixno \appendixno = `\@ % % \def\appendixletter{\char\the\appendixno} % We do the following ugly conditional instead of the above simple % construct for the sake of pdftex, which needs the actual % letter in the expansion, not just typeset. % \def\appendixletter{% \ifnum\appendixno=`A A% \else\ifnum\appendixno=`B B% \else\ifnum\appendixno=`C C% \else\ifnum\appendixno=`D D% \else\ifnum\appendixno=`E E% \else\ifnum\appendixno=`F F% \else\ifnum\appendixno=`G G% \else\ifnum\appendixno=`H H% \else\ifnum\appendixno=`I I% \else\ifnum\appendixno=`J J% \else\ifnum\appendixno=`K K% \else\ifnum\appendixno=`L L% \else\ifnum\appendixno=`M M% \else\ifnum\appendixno=`N N% \else\ifnum\appendixno=`O O% \else\ifnum\appendixno=`P P% \else\ifnum\appendixno=`Q Q% \else\ifnum\appendixno=`R R% \else\ifnum\appendixno=`S S% \else\ifnum\appendixno=`T T% \else\ifnum\appendixno=`U U% \else\ifnum\appendixno=`V V% \else\ifnum\appendixno=`W W% \else\ifnum\appendixno=`X X% \else\ifnum\appendixno=`Y Y% \else\ifnum\appendixno=`Z Z% % The \the is necessary, despite appearances, because \appendixletter is % expanded while writing the .toc file. \char\appendixno is not % expandable, thus it is written literally, thus all appendixes come out % with the same letter (or @) in the toc without it. \else\char\the\appendixno \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} % Each @chapter defines these (using marks) as the number+name, number % and name of the chapter. Page headings and footings can use % these. @section does likewise. \def\thischapter{} \def\thischapternum{} \def\thischaptername{} \def\thissection{} \def\thissectionnum{} \def\thissectionname{} \newcount\absseclevel % used to calculate proper heading level \newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count % @raisesections: treat @section as chapter, @subsection as section, etc. \def\raisesections{\global\advance\secbase by -1} \let\up=\raisesections % original BFox name % @lowersections: treat @chapter as section, @section as subsection, etc. \def\lowersections{\global\advance\secbase by 1} \let\down=\lowersections % original BFox name % we only have subsub. \chardef\maxseclevel = 3 % % A numbered section within an unnumbered changes to unnumbered too. % To achieve this, remember the "biggest" unnum. sec. we are currently in: \chardef\unnlevel = \maxseclevel % % Trace whether the current chapter is an appendix or not: % \chapheadtype is "N" or "A", unnumbered chapters are ignored. \def\chapheadtype{N} % Choose a heading macro % #1 is heading type % #2 is heading level % #3 is text for heading \def\genhead#1#2#3{% % Compute the abs. sec. level: \absseclevel=#2 \advance\absseclevel by \secbase % Make sure \absseclevel doesn't fall outside the range: \ifnum \absseclevel < 0 \absseclevel = 0 \else \ifnum \absseclevel > 3 \absseclevel = 3 \fi \fi % The heading type: \def\headtype{#1}% \if \headtype U% \ifnum \absseclevel < \unnlevel \chardef\unnlevel = \absseclevel \fi \else % Check for appendix sections: \ifnum \absseclevel = 0 \edef\chapheadtype{\headtype}% \else \if \headtype A\if \chapheadtype N% \errmessage{@appendix... within a non-appendix chapter}% \fi\fi \fi % Check for numbered within unnumbered: \ifnum \absseclevel > \unnlevel \def\headtype{U}% \else \chardef\unnlevel = 3 \fi \fi % Now print the heading: \if \headtype U% \ifcase\absseclevel \unnumberedzzz{#3}% \or \unnumberedseczzz{#3}% \or \unnumberedsubseczzz{#3}% \or \unnumberedsubsubseczzz{#3}% \fi \else \if \headtype A% \ifcase\absseclevel \appendixzzz{#3}% \or \appendixsectionzzz{#3}% \or \appendixsubseczzz{#3}% \or \appendixsubsubseczzz{#3}% \fi \else \ifcase\absseclevel \chapterzzz{#3}% \or \seczzz{#3}% \or \numberedsubseczzz{#3}% \or \numberedsubsubseczzz{#3}% \fi \fi \fi \suppressfirstparagraphindent } % an interface: \def\numhead{\genhead N} \def\apphead{\genhead A} \def\unnmhead{\genhead U} % @chapter, @appendix, @unnumbered. Increment top-level counter, reset % all lower-level sectioning counters to zero. % % Also set \chaplevelprefix, which we prepend to @float sequence numbers % (e.g., figures), q.v. By default (before any chapter), that is empty. \let\chaplevelprefix = \empty % \outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz \def\chapterzzz#1{% % section resetting is \global in case the chapter is in a group, such % as an @include file. \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\chapno by 1 % % Used for \float. \gdef\chaplevelprefix{\the\chapno.}% \resetallfloatnos % % \putwordChapter can contain complex things in translations. \toks0=\expandafter{\putwordChapter}% \message{\the\toks0 \space \the\chapno}% % % Write the actual heading. \chapmacro{#1}{Ynumbered}{\the\chapno}% % % So @section and the like are numbered underneath this chapter. \global\let\section = \numberedsec \global\let\subsection = \numberedsubsec \global\let\subsubsection = \numberedsubsubsec } \outer\parseargdef\appendix{\apphead0{#1}} % normally calls appendixzzz % \def\appendixzzz#1{% \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\appendixno by 1 \gdef\chaplevelprefix{\appendixletter.}% \resetallfloatnos % % \putwordAppendix can contain complex things in translations. \toks0=\expandafter{\putwordAppendix}% \message{\the\toks0 \space \appendixletter}% % \chapmacro{#1}{Yappendix}{\appendixletter}% % \global\let\section = \appendixsec \global\let\subsection = \appendixsubsec \global\let\subsubsection = \appendixsubsubsec } % normally unnmhead0 calls unnumberedzzz: \outer\parseargdef\unnumbered{\unnmhead0{#1}} \def\unnumberedzzz#1{% \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\unnumberedno by 1 % % Since an unnumbered has no number, no prefix for figures. \global\let\chaplevelprefix = \empty \resetallfloatnos % % This used to be simply \message{#1}, but TeX fully expands the % argument to \message. Therefore, if #1 contained @-commands, TeX % expanded them. For example, in `@unnumbered The @cite{Book}', TeX % expanded @cite (which turns out to cause errors because \cite is meant % to be executed, not expanded). % % Anyway, we don't want the fully-expanded definition of @cite to appear % as a result of the \message, we just want `@cite' itself. We use % \the to achieve this: TeX expands \the only once, % simply yielding the contents of . (We also do this for % the toc entries.) \toks0 = {#1}% \message{(\the\toks0)}% % \chapmacro{#1}{Ynothing}{\the\unnumberedno}% % \global\let\section = \unnumberedsec \global\let\subsection = \unnumberedsubsec \global\let\subsubsection = \unnumberedsubsubsec } % @centerchap is like @unnumbered, but the heading is centered. \outer\parseargdef\centerchap{% \let\centerparametersmaybe = \centerparameters \unnmhead0{#1}% \let\centerparametersmaybe = \relax } % @top is like @unnumbered. \let\top\unnumbered % Sections. % \outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz \def\seczzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}% } % normally calls appendixsectionzzz: \outer\parseargdef\appendixsection{\apphead1{#1}} \def\appendixsectionzzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}% } \let\appendixsec\appendixsection % normally calls unnumberedseczzz: \outer\parseargdef\unnumberedsec{\unnmhead1{#1}} \def\unnumberedseczzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}% } % Subsections. % % normally calls numberedsubseczzz: \outer\parseargdef\numberedsubsec{\numhead2{#1}} \def\numberedsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}% } % normally calls appendixsubseczzz: \outer\parseargdef\appendixsubsec{\apphead2{#1}} \def\appendixsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Yappendix}% {\appendixletter.\the\secno.\the\subsecno}% } % normally calls unnumberedsubseczzz: \outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} \def\unnumberedsubseczzz#1{% \global\subsubsecno=0 \global\advance\subsecno by 1 \sectionheading{#1}{subsec}{Ynothing}% {\the\unnumberedno.\the\secno.\the\subsecno}% } % Subsubsections. % % normally numberedsubsubseczzz: \outer\parseargdef\numberedsubsubsec{\numhead3{#1}} \def\numberedsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Ynumbered}% {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}% } % normally appendixsubsubseczzz: \outer\parseargdef\appendixsubsubsec{\apphead3{#1}} \def\appendixsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Yappendix}% {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}% } % normally unnumberedsubsubseczzz: \outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} \def\unnumberedsubsubseczzz#1{% \global\advance\subsubsecno by 1 \sectionheading{#1}{subsubsec}{Ynothing}% {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}% } % These macros control what the section commands do, according % to what kind of chapter we are in (ordinary, appendix, or unnumbered). % Define them by default for a numbered chapter. \let\section = \numberedsec \let\subsection = \numberedsubsec \let\subsubsection = \numberedsubsubsec % Define @majorheading, @heading and @subheading \def\majorheading{% {\advance\chapheadingskip by 10pt \chapbreak }% \parsearg\chapheadingzzz } \def\chapheading{\chapbreak \parsearg\chapheadingzzz} \def\chapheadingzzz#1{% \vbox{\chapfonts \raggedtitlesettings #1\par}% \nobreak\bigskip \nobreak \suppressfirstparagraphindent } % @heading, @subheading, @subsubheading. \parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{} \suppressfirstparagraphindent} \parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{} \suppressfirstparagraphindent} \parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{} \suppressfirstparagraphindent} % These macros generate a chapter, section, etc. heading only % (including whitespace, linebreaking, etc. around it), % given all the information in convenient, parsed form. % Args are the skip and penalty (usually negative) \def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} % Parameter controlling skip before chapter headings (if needed) \newskip\chapheadingskip % Define plain chapter starts, and page on/off switching for it. \def\chapbreak{\dobreak \chapheadingskip {-4000}} % Start a new page \def\chappager{\par\vfill\supereject} % \chapoddpage - start on an odd page for a new chapter % Because \domark is called before \chapoddpage, the filler page will % get the headings for the next chapter, which is wrong. But we don't % care -- we just disable all headings on the filler page. \def\chapoddpage{% \chappager \ifodd\pageno \else \begingroup \headingsoff \null \chappager \endgroup \fi } \parseargdef\setchapternewpage{\csname CHAPPAG#1\endcsname} \def\CHAPPAGoff{% \global\let\contentsalignmacro = \chappager \global\let\pchapsepmacro=\chapbreak \global\let\pagealignmacro=\chappager} \def\CHAPPAGon{% \global\let\contentsalignmacro = \chappager \global\let\pchapsepmacro=\chappager \global\let\pagealignmacro=\chappager \global\def\HEADINGSon{\HEADINGSsingle}} \def\CHAPPAGodd{% \global\let\contentsalignmacro = \chapoddpage \global\let\pchapsepmacro=\chapoddpage \global\let\pagealignmacro=\chapoddpage \global\def\HEADINGSon{\HEADINGSdouble}} \CHAPPAGon % \chapmacro - Chapter opening. % % #1 is the text, #2 is the section type (Ynumbered, Ynothing, % Yappendix, Yomitfromtoc), #3 the chapter number. % Not used for @heading series. % % To test against our argument. \def\Ynothingkeyword{Ynothing} \def\Yappendixkeyword{Yappendix} \def\Yomitfromtockeyword{Yomitfromtoc} % \def\chapmacro#1#2#3{% \expandafter\ifx\thisenv\titlepage\else \checkenv{}% chapters, etc., should not start inside an environment. \fi % FIXME: \chapmacro is currently called from inside \titlepage when % \setcontentsaftertitlepage to print the "Table of Contents" heading, but % this should probably be done by \sectionheading with an option to print % in chapter size. % % Insert the first mark before the heading break (see notes for \domark). \let\prevchapterdefs=\lastchapterdefs \let\prevsectiondefs=\lastsectiondefs \gdef\lastsectiondefs{\gdef\thissectionname{}\gdef\thissectionnum{}% \gdef\thissection{}}% % \def\temptype{#2}% \ifx\temptype\Ynothingkeyword \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% \gdef\thischapter{\thischaptername}}% \else\ifx\temptype\Yomitfromtockeyword \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% \gdef\thischapter{}}% \else\ifx\temptype\Yappendixkeyword \toks0={#1}% \xdef\lastchapterdefs{% \gdef\noexpand\thischaptername{\the\toks0}% \gdef\noexpand\thischapternum{\appendixletter}% % \noexpand\putwordAppendix avoids expanding indigestible % commands in some of the translations. \gdef\noexpand\thischapter{\noexpand\putwordAppendix{} \noexpand\thischapternum: \noexpand\thischaptername}% }% \else \toks0={#1}% \xdef\lastchapterdefs{% \gdef\noexpand\thischaptername{\the\toks0}% \gdef\noexpand\thischapternum{\the\chapno}% % \noexpand\putwordChapter avoids expanding indigestible % commands in some of the translations. \gdef\noexpand\thischapter{\noexpand\putwordChapter{} \noexpand\thischapternum: \noexpand\thischaptername}% }% \fi\fi\fi % % Output the mark. Pass it through \safewhatsit, to take care of % the preceding space. \safewhatsit\domark % % Insert the chapter heading break. \pchapsepmacro % % Now the second mark, after the heading break. No break points % between here and the heading. \let\prevchapterdefs=\lastchapterdefs \let\prevsectiondefs=\lastsectiondefs \domark % {% \chapfonts \rm \let\footnote=\errfootnoteheading % give better error message % % Have to define \lastsection before calling \donoderef, because the % xref code eventually uses it. On the other hand, it has to be called % after \pchapsepmacro, or the headline will change too soon. \gdef\lastsection{#1}% % % Only insert the separating space if we have a chapter/appendix % number, and don't print the unnumbered ``number''. \ifx\temptype\Ynothingkeyword \setbox0 = \hbox{}% \def\toctype{unnchap}% \else\ifx\temptype\Yomitfromtockeyword \setbox0 = \hbox{}% contents like unnumbered, but no toc entry \def\toctype{omit}% \else\ifx\temptype\Yappendixkeyword \setbox0 = \hbox{\putwordAppendix{} #3\enspace}% \def\toctype{app}% \else \setbox0 = \hbox{#3\enspace}% \def\toctype{numchap}% \fi\fi\fi % % Write the toc entry for this chapter. Must come before the % \donoderef, because we include the current node name in the toc % entry, and \donoderef resets it to empty. \writetocentry{\toctype}{#1}{#3}% % % For pdftex, we have to write out the node definition (aka, make % the pdfdest) after any page break, but before the actual text has % been typeset. If the destination for the pdf outline is after the % text, then jumping from the outline may wind up with the text not % being visible, for instance under high magnification. \donoderef{#2}% % % Typeset the actual heading. \nobreak % Avoid page breaks at the interline glue. \vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe \unhbox0 #1\par}% }% \nobreak\bigskip % no page break after a chapter title \nobreak } % @centerchap -- centered and unnumbered. \let\centerparametersmaybe = \relax \def\centerparameters{% \advance\rightskip by 3\rightskip \leftskip = \rightskip \parfillskip = 0pt } % Section titles. These macros combine the section number parts and % call the generic \sectionheading to do the printing. % \newskip\secheadingskip \def\secheadingbreak{\dobreak \secheadingskip{-1000}} % Subsection titles. \newskip\subsecheadingskip \def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}} % Subsubsection titles. \def\subsubsecheadingskip{\subsecheadingskip} \def\subsubsecheadingbreak{\subsecheadingbreak} % Print any size, any type, section title. % % #1 is the text of the title, % #2 is the section level (sec/subsec/subsubsec), % #3 is the section type (Ynumbered, Ynothing, Yappendix, Yomitfromtoc), % #4 is the section number. % \def\seckeyword{sec} % \def\sectionheading#1#2#3#4{% {% \def\sectionlevel{#2}% \def\temptype{#3}% % % It is ok for the @heading series commands to appear inside an % environment (it's been historically allowed, though the logic is % dubious), but not the others. \ifx\temptype\Yomitfromtockeyword\else \checkenv{}% non-@*heading should not be in an environment. \fi \let\footnote=\errfootnoteheading % % Switch to the right set of fonts. \csname #2fonts\endcsname \rm % % Insert first mark before the heading break (see notes for \domark). \let\prevsectiondefs=\lastsectiondefs \ifx\temptype\Ynothingkeyword \ifx\sectionlevel\seckeyword \gdef\lastsectiondefs{\gdef\thissectionname{#1}\gdef\thissectionnum{}% \gdef\thissection{\thissectionname}}% \fi \else\ifx\temptype\Yomitfromtockeyword % Don't redefine \thissection. \else\ifx\temptype\Yappendixkeyword \ifx\sectionlevel\seckeyword \toks0={#1}% \xdef\lastsectiondefs{% \gdef\noexpand\thissectionname{\the\toks0}% \gdef\noexpand\thissectionnum{#4}% % \noexpand\putwordSection avoids expanding indigestible % commands in some of the translations. \gdef\noexpand\thissection{\noexpand\putwordSection{} \noexpand\thissectionnum: \noexpand\thissectionname}% }% \fi \else \ifx\sectionlevel\seckeyword \toks0={#1}% \xdef\lastsectiondefs{% \gdef\noexpand\thissectionname{\the\toks0}% \gdef\noexpand\thissectionnum{#4}% % \noexpand\putwordSection avoids expanding indigestible % commands in some of the translations. \gdef\noexpand\thissection{\noexpand\putwordSection{} \noexpand\thissectionnum: \noexpand\thissectionname}% }% \fi \fi\fi\fi % % Go into vertical mode. Usually we'll already be there, but we % don't want the following whatsit to end up in a preceding paragraph % if the document didn't happen to have a blank line. \par % % Output the mark. Pass it through \safewhatsit, to take care of % the preceding space. \safewhatsit\domark % % Insert space above the heading. \csname #2headingbreak\endcsname % % Now the second mark, after the heading break. No break points % between here and the heading. \global\let\prevsectiondefs=\lastsectiondefs \domark % % Only insert the space after the number if we have a section number. \ifx\temptype\Ynothingkeyword \setbox0 = \hbox{}% \def\toctype{unn}% \gdef\lastsection{#1}% \else\ifx\temptype\Yomitfromtockeyword % for @headings -- no section number, don't include in toc, % and don't redefine \lastsection. \setbox0 = \hbox{}% \def\toctype{omit}% \let\sectionlevel=\empty \else\ifx\temptype\Yappendixkeyword \setbox0 = \hbox{#4\enspace}% \def\toctype{app}% \gdef\lastsection{#1}% \else \setbox0 = \hbox{#4\enspace}% \def\toctype{num}% \gdef\lastsection{#1}% \fi\fi\fi % % Write the toc entry (before \donoderef). See comments in \chapmacro. \writetocentry{\toctype\sectionlevel}{#1}{#4}% % % Write the node reference (= pdf destination for pdftex). % Again, see comments in \chapmacro. \donoderef{#3}% % % Interline glue will be inserted when the vbox is completed. % That glue will be a valid breakpoint for the page, since it'll be % preceded by a whatsit (usually from the \donoderef, or from the % \writetocentry if there was no node). We don't want to allow that % break, since then the whatsits could end up on page n while the % section is on page n+1, thus toc/etc. are wrong. Debian bug 276000. \nobreak % % Output the actual section heading. \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright \hangindent=\wd0 % zero if no section number \unhbox0 #1}% }% % Add extra space after the heading -- half of whatever came above it. % Don't allow stretch, though. \kern .5 \csname #2headingskip\endcsname % % Do not let the kern be a potential breakpoint, as it would be if it % was followed by glue. \nobreak % % We'll almost certainly start a paragraph next, so don't let that % glue accumulate. (Not a breakpoint because it's preceded by a % discardable item.) However, when a paragraph is not started next % (\startdefun, \cartouche, \center, etc.), this needs to be wiped out % or the negative glue will cause weirdly wrong output, typically % obscuring the section heading with something else. \vskip-\parskip % % This is so the last item on the main vertical list is a known % \penalty > 10000, so \startdefun, etc., can recognize the situation % and do the needful. \penalty 10001 } \message{toc,} % Table of contents. \newwrite\tocfile % Write an entry to the toc file, opening it if necessary. % Called from @chapter, etc. % % Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno} % We append the current node name (if any) and page number as additional % arguments for the \{chap,sec,...}entry macros which will eventually % read this. The node name is used in the pdf outlines as the % destination to jump to. % % We open the .toc file for writing here instead of at @setfilename (or % any other fixed time) so that @contents can be anywhere in the document. % But if #1 is `omit', then we don't do anything. This is used for the % table of contents chapter openings themselves. % \newif\iftocfileopened \def\omitkeyword{omit}% % \def\writetocentry#1#2#3{% \edef\writetoctype{#1}% \ifx\writetoctype\omitkeyword \else \iftocfileopened\else \immediate\openout\tocfile = \jobname.toc \global\tocfileopenedtrue \fi % \iflinks {\atdummies \edef\temp{% \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}% \temp }% \fi \fi % % Tell \shipout to create a pdf destination on each page, if we're % writing pdf. These are used in the table of contents. We can't % just write one on every page because the title pages are numbered % 1 and 2 (the page numbers aren't printed), and so are the first % two pages of the document. Thus, we'd have two destinations named % `1', and two named `2'. \ifpdf \global\pdfmakepagedesttrue \else \ifx\XeTeXrevision\thisisundefined \else \global\pdfmakepagedesttrue \fi \fi } % These characters do not print properly in the Computer Modern roman % fonts, so we must take special care. This is more or less redundant % with the Texinfo input format setup at the end of this file. % \def\activecatcodes{% \catcode`\"=\active \catcode`\$=\active \catcode`\<=\active \catcode`\>=\active \catcode`\\=\active \catcode`\^=\active \catcode`\_=\active \catcode`\|=\active \catcode`\~=\active } % Read the toc file, which is essentially Texinfo input. \def\readtocfile{% \setupdatafile \activecatcodes \input \tocreadfilename } \newskip\contentsrightmargin \contentsrightmargin=1in \newcount\savepageno \newcount\lastnegativepageno \lastnegativepageno = -1 % Prepare to read what we've written to \tocfile. % \def\startcontents#1{% % If @setchapternewpage on, and @headings double, the contents should % start on an odd page, unlike chapters. Thus, we maintain % \contentsalignmacro in parallel with \pagealignmacro. % From: Torbjorn Granlund \contentsalignmacro \immediate\closeout\tocfile % % Don't need to put `Contents' or `Short Contents' in the headline. % It is abundantly clear what they are. \chapmacro{#1}{Yomitfromtoc}{}% % \savepageno = \pageno \begingroup % Set up to handle contents files properly. \raggedbottom % Worry more about breakpoints than the bottom. \entryrightmargin=\contentsrightmargin % Don't use the full line length. % % Roman numerals for page numbers. \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi } % redefined for the two-volume lispref. We always output on % \jobname.toc even if this is redefined. % \def\tocreadfilename{\jobname.toc} % Normal (long) toc. % \def\contents{% \startcontents{\putwordTOC}% \openin 1 \tocreadfilename\space \ifeof 1 \else \readtocfile \fi \vfill \eject \contentsalignmacro % in case @setchapternewpage odd is in effect \ifeof 1 \else \pdfmakeoutlines \fi \closein 1 \endgroup \lastnegativepageno = \pageno \global\pageno = \savepageno } % And just the chapters. \def\summarycontents{% \startcontents{\putwordShortTOC}% % \let\partentry = \shortpartentry \let\numchapentry = \shortchapentry \let\appentry = \shortchapentry \let\unnchapentry = \shortunnchapentry % We want a true roman here for the page numbers. \secfonts \let\rm=\shortcontrm \let\bf=\shortcontbf \let\sl=\shortcontsl \let\tt=\shortconttt \rm \hyphenpenalty = 10000 \advance\baselineskip by 1pt % Open it up a little. \def\numsecentry##1##2##3##4{} \let\appsecentry = \numsecentry \let\unnsecentry = \numsecentry \let\numsubsecentry = \numsecentry \let\appsubsecentry = \numsecentry \let\unnsubsecentry = \numsecentry \let\numsubsubsecentry = \numsecentry \let\appsubsubsecentry = \numsecentry \let\unnsubsubsecentry = \numsecentry \openin 1 \tocreadfilename\space \ifeof 1 \else \readtocfile \fi \closein 1 \vfill \eject \contentsalignmacro % in case @setchapternewpage odd is in effect \endgroup \lastnegativepageno = \pageno \global\pageno = \savepageno } \let\shortcontents = \summarycontents % Typeset the label for a chapter or appendix for the short contents. % The arg is, e.g., `A' for an appendix, or `3' for a chapter. % \def\shortchaplabel#1{% % This space should be enough, since a single number is .5em, and the % widest letter (M) is 1em, at least in the Computer Modern fonts. % But use \hss just in case. % (This space doesn't include the extra space that gets added after % the label; that gets put in by \shortchapentry above.) % % We'd like to right-justify chapter numbers, but that looks strange % with appendix letters. And right-justifying numbers and % left-justifying letters looks strange when there is less than 10 % chapters. Have to read the whole toc once to know how many chapters % there are before deciding ... \hbox to 1em{#1\hss}% } % These macros generate individual entries in the table of contents. % The first argument is the chapter or section name. % The last argument is the page number. % The arguments in between are the chapter number, section number, ... % Parts, in the main contents. Replace the part number, which doesn't % exist, with an empty box. Let's hope all the numbers have the same width. % Also ignore the page number, which is conventionally not printed. \def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}} \def\partentry#1#2#3#4{% % Add stretch and a bonus for breaking the page before the part heading. % This reduces the chance of the page being broken immediately after the % part heading, before a following chapter heading. \vskip 0pt plus 5\baselineskip \penalty-300 \vskip 0pt plus -5\baselineskip \dochapentry{\numeralbox\labelspace#1}{}% } % % Parts, in the short toc. \def\shortpartentry#1#2#3#4{% \penalty-300 \vskip.5\baselineskip plus.15\baselineskip minus.1\baselineskip \shortchapentry{{\bf #1}}{\numeralbox}{}{}% } % Chapters, in the main contents. \def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} % Chapters, in the short toc. % See comments in \dochapentry re vbox and related settings. \def\shortchapentry#1#2#3#4{% \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}% } % Appendices, in the main contents. % Need the word Appendix, and a fixed-size box. % \def\appendixbox#1{% % We use M since it's probably the widest letter. \setbox0 = \hbox{\putwordAppendix{} M}% \hbox to \wd0{\putwordAppendix{} #1\hss}} % \def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\hskip.7em#1}{#4}} % Unnumbered chapters. \def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}} \def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}} % Sections. \def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}} \let\appsecentry=\numsecentry \def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}} % Subsections. \def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}} \let\appsubsecentry=\numsubsecentry \def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}} % And subsubsections. \def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}} \let\appsubsubsecentry=\numsubsubsecentry \def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}} % This parameter controls the indentation of the various levels. % Same as \defaultparindent. \newdimen\tocindent \tocindent = 15pt % Now for the actual typesetting. In all these, #1 is the text and #2 is the % page number. % % If the toc has to be broken over pages, we want it to be at chapters % if at all possible; hence the \penalty. \def\dochapentry#1#2{% \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip \begingroup % Move the page numbers slightly to the right \advance\entryrightmargin by -0.05em \chapentryfonts \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup \nobreak\vskip .25\baselineskip plus.1\baselineskip } \def\dosecentry#1#2{\begingroup \secentryfonts \leftskip=\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} \def\dosubsecentry#1#2{\begingroup \subsecentryfonts \leftskip=2\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} \def\dosubsubsecentry#1#2{\begingroup \subsubsecentryfonts \leftskip=3\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} % We use the same \entry macro as for the index entries. \let\tocentry = \entry % Space between chapter (or whatever) number and the title. \def\labelspace{\hskip1em \relax} \def\dopageno#1{{\rm #1}} \def\doshortpageno#1{{\rm #1}} \def\chapentryfonts{\secfonts \rm} \def\secentryfonts{\textfonts} \def\subsecentryfonts{\textfonts} \def\subsubsecentryfonts{\textfonts} \message{environments,} % @foo ... @end foo. % @tex ... @end tex escapes into raw TeX temporarily. % One exception: @ is still an escape character, so that @end tex works. % But \@ or @@ will get a plain @ character. \envdef\tex{% \setupmarkupstyle{tex}% \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie \catcode `\%=14 \catcode `\+=\other \catcode `\"=\other \catcode `\|=\other \catcode `\<=\other \catcode `\>=\other \catcode `\`=\other \catcode `\'=\other % % ' is active in math mode (mathcode"8000). So reset it, and all our % other math active characters (just in case), to plain's definitions. \mathactive % % Inverse of the list at the beginning of the file. \let\b=\ptexb \let\bullet=\ptexbullet \let\c=\ptexc \let\,=\ptexcomma \let\.=\ptexdot \let\dots=\ptexdots \let\equiv=\ptexequiv \let\!=\ptexexclam \let\i=\ptexi \let\indent=\ptexindent \let\noindent=\ptexnoindent \let\{=\ptexlbrace \let\+=\tabalign \let\}=\ptexrbrace \let\/=\ptexslash \let\sp=\ptexsp \let\*=\ptexstar %\let\sup=\ptexsup % do not redefine, we want @sup to work in math mode \let\t=\ptext \expandafter \let\csname top\endcsname=\ptextop % we've made it outer \let\frenchspacing=\plainfrenchspacing % \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% \def\@{@}% } % There is no need to define \Etex. % Define @lisp ... @end lisp. % @lisp environment forms a group so it can rebind things, % including the definition of @end lisp (which normally is erroneous). % Amount to narrow the margins by for @lisp. \newskip\lispnarrowing \lispnarrowing=0.4in % This is the definition that ^^M gets inside @lisp, @example, and other % such environments. \null is better than a space, since it doesn't % have any width. \def\lisppar{\null\endgraf} % This space is always present above and below environments. \newskip\envskipamount \envskipamount = 0pt % Make spacing and below environment symmetrical. We use \parskip here % to help in doing that, since in @example-like environments \parskip % is reset to zero; thus the \afterenvbreak inserts no space -- but the % start of the next paragraph will insert \parskip. % \def\aboveenvbreak{{% % =10000 instead of <10000 because of a special case in \itemzzz and % \sectionheading, q.v. \ifnum \lastpenalty=10000 \else \advance\envskipamount by \parskip \endgraf \ifdim\lastskip<\envskipamount \removelastskip \ifnum\lastpenalty<10000 % Penalize breaking before the environment, because preceding text % often leads into it. \penalty100 \fi \vskip\envskipamount \fi \fi }} \def\afterenvbreak{{% % =10000 instead of <10000 because of a special case in \itemzzz and % \sectionheading, q.v. \ifnum \lastpenalty=10000 \else \advance\envskipamount by \parskip \endgraf \ifdim\lastskip<\envskipamount \removelastskip % it's not a good place to break if the last penalty was \nobreak % or better ... \ifnum\lastpenalty<10000 \penalty-50 \fi \vskip\envskipamount \fi \fi }} % \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will % also clear it, so that its embedded environments do the narrowing again. \let\nonarrowing=\relax % @cartouche ... @end cartouche: draw rectangle w/rounded corners around % environment contents. \font\circle=lcircle10 \newdimen\circthick \newdimen\cartouter\newdimen\cartinner \newskip\normbskip\newskip\normpskip\newskip\normlskip \circthick=\fontdimen8\circle % \def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth \def\ctr{{\hskip 6pt\circle\char'010}} \def\cbl{{\circle\char'012\hskip -6pt}} \def\cbr{{\hskip 6pt\circle\char'011}} \def\carttop{\hbox to \cartouter{\hskip\lskip \ctl\leaders\hrule height\circthick\hfil\ctr \hskip\rskip}} \def\cartbot{\hbox to \cartouter{\hskip\lskip \cbl\leaders\hrule height\circthick\hfil\cbr \hskip\rskip}} % \newskip\lskip\newskip\rskip \envdef\cartouche{% \ifhmode\par\fi % can't be in the midst of a paragraph. \startsavinginserts \lskip=\leftskip \rskip=\rightskip \leftskip=0pt\rightskip=0pt % we want these *outside*. \cartinner=\hsize \advance\cartinner by-\lskip \advance\cartinner by-\rskip \cartouter=\hsize \advance\cartouter by 18.4pt % allow for 3pt kerns on either % side, and for 6pt waste from % each corner char, and rule thickness \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip % % If this cartouche directly follows a sectioning command, we need the % \parskip glue (backspaced over by default) or the cartouche can % collide with the section heading. \ifnum\lastpenalty>10000 \vskip\parskip \penalty\lastpenalty \fi % \setbox\groupbox=\vbox\bgroup \baselineskip=0pt\parskip=0pt\lineskip=0pt \carttop \hbox\bgroup \hskip\lskip \vrule\kern3pt \vbox\bgroup \kern3pt \hsize=\cartinner \baselineskip=\normbskip \lineskip=\normlskip \parskip=\normpskip \vskip -\parskip \comment % For explanation, see the end of def\group. } \def\Ecartouche{% \ifhmode\par\fi \kern3pt \egroup \kern3pt\vrule \hskip\rskip \egroup \cartbot \egroup \addgroupbox \checkinserts } % This macro is called at the beginning of all the @example variants, % inside a group. \newdimen\nonfillparindent \def\nonfillstart{% \aboveenvbreak \ifdim\hfuzz < 12pt \hfuzz = 12pt \fi % Don't be fussy \sepspaces % Make spaces be word-separators rather than space tokens. \let\par = \lisppar % don't ignore blank lines \obeylines % each line of input is a line of output \parskip = 0pt % Turn off paragraph indentation but redefine \indent to emulate % the normal \indent. \nonfillparindent=\parindent \parindent = 0pt \let\indent\nonfillindent % \emergencystretch = 0pt % don't try to avoid overfull boxes \ifx\nonarrowing\relax \advance \leftskip by \lispnarrowing \exdentamount=\lispnarrowing \else \let\nonarrowing = \relax \fi \let\exdent=\nofillexdent } \begingroup \obeyspaces % We want to swallow spaces (but not other tokens) after the fake % @indent in our nonfill-environments, where spaces are normally % active and set to @tie, resulting in them not being ignored after % @indent. \gdef\nonfillindent{\futurelet\temp\nonfillindentcheck}% \gdef\nonfillindentcheck{% \ifx\temp % \expandafter\nonfillindentgobble% \else% \leavevmode\nonfillindentbox% \fi% }% \endgroup \def\nonfillindentgobble#1{\nonfillindent} \def\nonfillindentbox{\hbox to \nonfillparindent{\hss}} % If you want all examples etc. small: @set dispenvsize small. % If you want even small examples the full size: @set dispenvsize nosmall. % This affects the following displayed environments: % @example, @display, @format, @lisp % \def\smallword{small} \def\nosmallword{nosmall} \let\SETdispenvsize\relax \def\setnormaldispenv{% \ifx\SETdispenvsize\smallword % end paragraph for sake of leading, in case document has no blank % line. This is redundant with what happens in \aboveenvbreak, but % we need to do it before changing the fonts, and it's inconvenient % to change the fonts afterward. \ifnum \lastpenalty=10000 \else \endgraf \fi \smallexamplefonts \rm \fi } \def\setsmalldispenv{% \ifx\SETdispenvsize\nosmallword \else \ifnum \lastpenalty=10000 \else \endgraf \fi \smallexamplefonts \rm \fi } % We often define two environments, @foo and @smallfoo. % Let's do it in one command. #1 is the env name, #2 the definition. \def\makedispenvdef#1#2{% \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}% \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}% \expandafter\let\csname E#1\endcsname \afterenvbreak \expandafter\let\csname Esmall#1\endcsname \afterenvbreak } % Define two environment synonyms (#1 and #2) for an environment. \def\maketwodispenvdef#1#2#3{% \makedispenvdef{#1}{#3}% \makedispenvdef{#2}{#3}% } % % @lisp: indented, narrowed, typewriter font; % @example: same as @lisp. % % @smallexample and @smalllisp: use smaller fonts. % Originally contributed by Pavel@xerox. % \maketwodispenvdef{lisp}{example}{% \nonfillstart \tt\setupmarkupstyle{example}% \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. \gobble % eat return } % @display/@smalldisplay: same as @lisp except keep current font. % \makedispenvdef{display}{% \nonfillstart \gobble } % @format/@smallformat: same as @display except don't narrow margins. % \makedispenvdef{format}{% \let\nonarrowing = t% \nonfillstart \gobble } % @flushleft: same as @format, but doesn't obey \SETdispenvsize. \envdef\flushleft{% \let\nonarrowing = t% \nonfillstart \gobble } \let\Eflushleft = \afterenvbreak % @flushright. % \envdef\flushright{% \let\nonarrowing = t% \nonfillstart \advance\leftskip by 0pt plus 1fill\relax \gobble } \let\Eflushright = \afterenvbreak % @raggedright does more-or-less normal line breaking but no right % justification. From plain.tex. Don't stretch around special % characters in urls in this environment, since the stretch at the right % should be enough. \envdef\raggedright{% \rightskip0pt plus2.4em \spaceskip.3333em \xspaceskip.5em\relax \def\urefprestretchamount{0pt}% \def\urefpoststretchamount{0pt}% } \let\Eraggedright\par \envdef\raggedleft{% \parindent=0pt \leftskip0pt plus2em \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt \hbadness=10000 % Last line will usually be underfull, so turn off % badness reporting. } \let\Eraggedleft\par \envdef\raggedcenter{% \parindent=0pt \rightskip0pt plus1em \leftskip0pt plus1em \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt \hbadness=10000 % Last line will usually be underfull, so turn off % badness reporting. } \let\Eraggedcenter\par % @quotation does normal linebreaking (hence we can't use \nonfillstart) % and narrows the margins. We keep \parskip nonzero in general, since % we're doing normal filling. So, when using \aboveenvbreak and % \afterenvbreak, temporarily make \parskip 0. % \makedispenvdef{quotation}{\quotationstart} % \def\quotationstart{% \indentedblockstart % same as \indentedblock, but increase right margin too. \ifx\nonarrowing\relax \advance\rightskip by \lispnarrowing \fi \parsearg\quotationlabel } % We have retained a nonzero parskip for the environment, since we're % doing normal filling. % \def\Equotation{% \par \ifx\quotationauthor\thisisundefined\else % indent a bit. \leftline{\kern 2\leftskip \sl ---\quotationauthor}% \fi {\parskip=0pt \afterenvbreak}% } \def\Esmallquotation{\Equotation} % If we're given an argument, typeset it in bold with a colon after. \def\quotationlabel#1{% \def\temp{#1}% \ifx\temp\empty \else {\bf #1: }% \fi } % @indentedblock is like @quotation, but indents only on the left and % has no optional argument. % \makedispenvdef{indentedblock}{\indentedblockstart} % \def\indentedblockstart{% {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip \parindent=0pt % % @cartouche defines \nonarrowing to inhibit narrowing at next level down. \ifx\nonarrowing\relax \advance\leftskip by \lispnarrowing \exdentamount = \lispnarrowing \else \let\nonarrowing = \relax \fi } % Keep a nonzero parskip for the environment, since we're doing normal filling. % \def\Eindentedblock{% \par {\parskip=0pt \afterenvbreak}% } \def\Esmallindentedblock{\Eindentedblock} % LaTeX-like @verbatim...@end verbatim and @verb{...} % If we want to allow any as delimiter, % we need the curly braces so that makeinfo sees the @verb command, eg: % `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org % % [Knuth]: Donald Ervin Knuth, 1996. The TeXbook. % % [Knuth] p.344; only we need to do the other characters Texinfo sets % active too. Otherwise, they get lost as the first character on a % verbatim line. \def\dospecials{% \do\ \do\\\do\{\do\}\do\$\do\&% \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% \do\<\do\>\do\|\do\@\do+\do\"% % Don't do the quotes -- if we do, @set txicodequoteundirected and % @set txicodequotebacktick will not have effect on @verb and % @verbatim, and ?` and !` ligatures won't get disabled. %\do\`\do\'% } % % [Knuth] p. 380 \def\uncatcodespecials{% \def\do##1{\catcode`##1=\other}\dospecials} % % Setup for the @verb command. % % Eight spaces for a tab \begingroup \catcode`\^^I=\active \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }} \endgroup % \def\setupverb{% \tt % easiest (and conventionally used) font for verbatim \def\par{\leavevmode\endgraf}% \setupmarkupstyle{verb}% \tabeightspaces % Respect line breaks, % print special symbols as themselves, and % make each space count % must do in this order: \obeylines \uncatcodespecials \sepspaces } % Setup for the @verbatim environment % % Real tab expansion. \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount % % We typeset each line of the verbatim in an \hbox, so we can handle % tabs. The \global is in case the verbatim line starts with an accent, % or some other command that starts with a begin-group. Otherwise, the % entire \verbbox would disappear at the corresponding end-group, before % it is typeset. Meanwhile, we can't have nested verbatim commands % (can we?), so the \global won't be overwriting itself. \newbox\verbbox \def\starttabbox{\global\setbox\verbbox=\hbox\bgroup} % \begingroup \catcode`\^^I=\active \gdef\tabexpand{% \catcode`\^^I=\active \def^^I{\leavevmode\egroup \dimen\verbbox=\wd\verbbox % the width so far, or since the previous tab \divide\dimen\verbbox by\tabw \multiply\dimen\verbbox by\tabw % compute previous multiple of \tabw \advance\dimen\verbbox by\tabw % advance to next multiple of \tabw \wd\verbbox=\dimen\verbbox \box\verbbox \starttabbox }% } \endgroup % start the verbatim environment. \def\setupverbatim{% \let\nonarrowing = t% \nonfillstart \tt % easiest (and conventionally used) font for verbatim % The \leavevmode here is for blank lines. Otherwise, we would % never \starttabox and the \egroup would end verbatim mode. \def\par{\leavevmode\egroup\box\verbbox\endgraf}% \tabexpand \setupmarkupstyle{verbatim}% % Respect line breaks, % print special symbols as themselves, and % make each space count. % Must do in this order: \obeylines \uncatcodespecials \sepspaces \everypar{\starttabbox}% } % Do the @verb magic: verbatim text is quoted by unique % delimiter characters. Before first delimiter expect a % right brace, after last delimiter expect closing brace: % % \def\doverb'{'#1'}'{#1} % % [Knuth] p. 382; only eat outer {} \begingroup \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next] \endgroup % \def\verb{\begingroup\setupverb\doverb} % % % Do the @verbatim magic: define the macro \doverbatim so that % the (first) argument ends when '@end verbatim' is reached, ie: % % \def\doverbatim#1@end verbatim{#1} % % For Texinfo it's a lot easier than for LaTeX, % because texinfo's \verbatim doesn't stop at '\end{verbatim}': % we need not redefine '\', '{' and '}'. % % Inspired by LaTeX's verbatim command set [latex.ltx] % \begingroup \catcode`\ =\active \obeylines % % ignore everything up to the first ^^M, that's the newline at the end % of the @verbatim input line itself. Otherwise we get an extra blank % line in the output. \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}% % We really want {...\end verbatim} in the body of the macro, but % without the active space; thus we have to use \xdef and \gobble. \endgroup % \envdef\verbatim{% \setupverbatim\doverbatim } \let\Everbatim = \afterenvbreak % @verbatiminclude FILE - insert text of file in verbatim environment. % \def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude} % \def\doverbatiminclude#1{% {% \makevalueexpandable \setupverbatim \indexnofonts % Allow `@@' and other weird things in file names. \wlog{texinfo.tex: doing @verbatiminclude of #1^^J}% \input #1 \afterenvbreak }% } % @copying ... @end copying. % Save the text away for @insertcopying later. % % We save the uninterpreted tokens, rather than creating a box. % Saving the text in a box would be much easier, but then all the % typesetting commands (@smallbook, font changes, etc.) have to be done % beforehand -- and a) we want @copying to be done first in the source % file; b) letting users define the frontmatter in as flexible order as % possible is desirable. % \def\copying{\checkenv{}\begingroup\scanargctxt\docopying} \def\docopying#1@end copying{\endgroup\def\copyingtext{#1}} % \def\insertcopying{% \begingroup \parindent = 0pt % paragraph indentation looks wrong on title page \scanexp\copyingtext \endgroup } \message{defuns,} % @defun etc. \newskip\defbodyindent \defbodyindent=.4in \newskip\defargsindent \defargsindent=50pt \newskip\deflastargmargin \deflastargmargin=18pt \newcount\defunpenalty % Start the processing of @deffn: \def\startdefun{% \ifnum\lastpenalty<10000 \medbreak \defunpenalty=10003 % Will keep this @deffn together with the % following @def command, see below. \else % If there are two @def commands in a row, we'll have a \nobreak, % which is there to keep the function description together with its % header. But if there's nothing but headers, we need to allow a % break somewhere. Check specifically for penalty 10002, inserted % by \printdefunline, instead of 10000, since the sectioning % commands also insert a nobreak penalty, and we don't want to allow % a break between a section heading and a defun. % % As a further refinement, we avoid "club" headers by signalling % with penalty of 10003 after the very first @deffn in the % sequence (see above), and penalty of 10002 after any following % @def command. \ifnum\lastpenalty=10002 \penalty2000 \else \defunpenalty=10002 \fi % % Similarly, after a section heading, do not allow a break. % But do insert the glue. \medskip % preceded by discardable penalty, so not a breakpoint \fi % \parindent=0in \advance\leftskip by \defbodyindent \exdentamount=\defbodyindent } \def\dodefunx#1{% % First, check whether we are in the right environment: \checkenv#1% % % As above, allow line break if we have multiple x headers in a row. % It's not a great place, though. \ifnum\lastpenalty=10002 \penalty3000 \else \defunpenalty=10002 \fi % % And now, it's time to reuse the body of the original defun: \expandafter\gobbledefun#1% } \def\gobbledefun#1\startdefun{} % \printdefunline \deffnheader{text} % \def\printdefunline#1#2{% \begingroup % call \deffnheader: #1#2 \endheader % common ending: \interlinepenalty = 10000 \advance\rightskip by 0pt plus 1fil\relax \endgraf \nobreak\vskip -\parskip \penalty\defunpenalty % signal to \startdefun and \dodefunx % Some of the @defun-type tags do not enable magic parentheses, % rendering the following check redundant. But we don't optimize. \checkparencounts \endgroup } \def\Edefun{\endgraf\medbreak} % \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; % the only thing remaining is to define \deffnheader. % \def\makedefun#1{% \expandafter\let\csname E#1\endcsname = \Edefun \edef\temp{\noexpand\domakedefun \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}% \temp } % \domakedefun \deffn \deffnx \deffnheader { (defn. of \deffnheader) } % % Define \deffn and \deffnx, without parameters. % \deffnheader has to be defined explicitly. % \def\domakedefun#1#2#3{% \envdef#1{% \startdefun \doingtypefnfalse % distinguish typed functions from all else \parseargusing\activeparens{\printdefunline#3}% }% \def#2{\dodefunx#1}% \def#3% } \newif\ifdoingtypefn % doing typed function? \newif\ifrettypeownline % typeset return type on its own line? % @deftypefnnewline on|off says whether the return type of typed functions % are printed on their own line. This affects @deftypefn, @deftypefun, % @deftypeop, and @deftypemethod. % \parseargdef\deftypefnnewline{% \def\temp{#1}% \ifx\temp\onword \expandafter\let\csname SETtxideftypefnnl\endcsname = \empty \else\ifx\temp\offword \expandafter\let\csname SETtxideftypefnnl\endcsname = \relax \else \errhelp = \EMsimple \errmessage{Unknown @txideftypefnnl value `\temp', must be on|off}% \fi\fi } % Untyped functions: % @deffn category name args \makedefun{deffn}{\deffngeneral{}} % @deffn category class name args \makedefun{defop}#1 {\defopon{#1\ \putwordon}} % \defopon {category on}class name args \def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } % \deffngeneral {subind}category name args % \def\deffngeneral#1#2 #3 #4\endheader{% % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}. \dosubind{fn}{\code{#3}}{#1}% \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% } % Typed functions: % @deftypefn category type name args \makedefun{deftypefn}{\deftypefngeneral{}} % @deftypeop category class type name args \makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}} % \deftypeopon {category on}class type name args \def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } % \deftypefngeneral {subind}category type name args % \def\deftypefngeneral#1#2 #3 #4 #5\endheader{% \dosubind{fn}{\code{#4}}{#1}% \doingtypefntrue \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } % Typed variables: % @deftypevr category type var args \makedefun{deftypevr}{\deftypecvgeneral{}} % @deftypecv category class type var args \makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}} % \deftypecvof {category of}class type var args \def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} } % \deftypecvgeneral {subind}category type var args % \def\deftypecvgeneral#1#2 #3 #4 #5\endheader{% \dosubind{vr}{\code{#4}}{#1}% \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } % Untyped variables: % @defvr category var args \makedefun{defvr}#1 {\deftypevrheader{#1} {} } % @defcv category class var args \makedefun{defcv}#1 {\defcvof{#1\ \putwordof}} % \defcvof {category of}class var args \def\defcvof#1#2 {\deftypecvof{#1}#2 {} } % Types: % @deftp category name args \makedefun{deftp}#1 #2 #3\endheader{% \doind{tp}{\code{#2}}% \defname{#1}{}{#2}\defunargs{#3\unskip}% } % Remaining @defun-like shortcuts: \makedefun{defun}{\deffnheader{\putwordDeffunc} } \makedefun{defmac}{\deffnheader{\putwordDefmac} } \makedefun{defspec}{\deffnheader{\putwordDefspec} } \makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} } \makedefun{defvar}{\defvrheader{\putwordDefvar} } \makedefun{defopt}{\defvrheader{\putwordDefopt} } \makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} } \makedefun{defmethod}{\defopon\putwordMethodon} \makedefun{deftypemethod}{\deftypeopon\putwordMethodon} \makedefun{defivar}{\defcvof\putwordInstanceVariableof} \makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof} % \defname, which formats the name of the @def (not the args). % #1 is the category, such as "Function". % #2 is the return type, if any. % #3 is the function name. % % We are followed by (but not passed) the arguments, if any. % \def\defname#1#2#3{% \par % Get the values of \leftskip and \rightskip as they were outside the @def... \advance\leftskip by -\defbodyindent % % Determine if we are typesetting the return type of a typed function % on a line by itself. \rettypeownlinefalse \ifdoingtypefn % doing a typed function specifically? % then check user option for putting return type on its own line: \expandafter\ifx\csname SETtxideftypefnnl\endcsname\relax \else \rettypeownlinetrue \fi \fi % % How we'll format the category name. Putting it in brackets helps % distinguish it from the body text that may end up on the next line % just below it. \def\temp{#1}% \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi} % % Figure out line sizes for the paragraph shape. We'll always have at % least two. \tempnum = 2 % % The first line needs space for \box0; but if \rightskip is nonzero, % we need only space for the part of \box0 which exceeds it: \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip % % If doing a return type on its own line, we'll have another line. \ifrettypeownline \advance\tempnum by 1 \def\maybeshapeline{0in \hsize}% \else \def\maybeshapeline{}% \fi % % The continuations: \dimen2=\hsize \advance\dimen2 by -\defargsindent % % The final paragraph shape: \parshape \tempnum 0in \dimen0 \maybeshapeline \defargsindent \dimen2 % % Put the category name at the right margin. \noindent \hbox to 0pt{% \hfil\box0 \kern-\hsize % \hsize has to be shortened this way: \kern\leftskip % Intentionally do not respect \rightskip, since we need the space. }% % % Allow all lines to be underfull without complaint: \tolerance=10000 \hbadness=10000 \exdentamount=\defbodyindent {% % defun fonts. We use typewriter by default (used to be bold) because: % . we're printing identifiers, they should be in tt in principle. % . in languages with many accents, such as Czech or French, it's % common to leave accents off identifiers. The result looks ok in % tt, but exceedingly strange in rm. % . we don't want -- and --- to be treated as ligatures. % . this still does not fix the ?` and !` ligatures, but so far no % one has made identifiers using them :). \df \tt \def\temp{#2}% text of the return type \ifx\temp\empty\else \tclose{\temp}% typeset the return type \ifrettypeownline % put return type on its own line; prohibit line break following: \hfil\vadjust{\nobreak}\break \else \space % type on same line, so just followed by a space \fi \fi % no return type #3% output function name }% {\rm\enskip}% hskip 0.5 em of \rmfont % \boldbrax % arguments will be output next, if any. } % Print arguments in slanted roman (not ttsl), inconsistently with using % tt for the name. This is because literal text is sometimes needed in % the argument list (groff manual), and ttsl and tt are not very % distinguishable. Prevent hyphenation at `-' chars. % \def\defunargs#1{% % use sl by default (not ttsl), % tt for the names. \df \sl \hyphenchar\font=0 % % On the other hand, if an argument has two dashes (for instance), we % want a way to get ttsl. We used to recommend @var for that, so % leave the code in, but it's strange for @var to lead to typewriter. % Nowadays we recommend @code, since the difference between a ttsl hyphen % and a tt hyphen is pretty tiny. @code also disables ?` !`. \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}% #1% \sl\hyphenchar\font=45 } % We want ()&[] to print specially on the defun line. % \def\activeparens{% \catcode`\(=\active \catcode`\)=\active \catcode`\[=\active \catcode`\]=\active \catcode`\&=\active } % Make control sequences which act like normal parenthesis chars. \let\lparen = ( \let\rparen = ) % Be sure that we always have a definition for `(', etc. For example, % if the fn name has parens in it, \boldbrax will not be in effect yet, % so TeX would otherwise complain about undefined control sequence. { \activeparens \global\let(=\lparen \global\let)=\rparen \global\let[=\lbrack \global\let]=\rbrack \global\let& = \& \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} \gdef\magicamp{\let&=\amprm} } \newcount\parencount % If we encounter &foo, then turn on ()-hacking afterwards \newif\ifampseen \def\amprm#1 {\ampseentrue{\bf\ }} \def\parenfont{% \ifampseen % At the first level, print parens in roman, % otherwise use the default font. \ifnum \parencount=1 \rm \fi \else % The \sf parens (in \boldbrax) actually are a little bolder than % the contained text. This is especially needed for [ and ] . \sf \fi } \def\infirstlevel#1{% \ifampseen \ifnum\parencount=1 #1% \fi \fi } \def\bfafterword#1 {#1 \bf} \def\opnr{% \global\advance\parencount by 1 {\parenfont(}% \infirstlevel \bfafterword } \def\clnr{% {\parenfont)}% \infirstlevel \sl \global\advance\parencount by -1 } \newcount\brackcount \def\lbrb{% \global\advance\brackcount by 1 {\bf[}% } \def\rbrb{% {\bf]}% \global\advance\brackcount by -1 } \def\checkparencounts{% \ifnum\parencount=0 \else \badparencount \fi \ifnum\brackcount=0 \else \badbrackcount \fi } % these should not use \errmessage; the glibc manual, at least, actually % has such constructs (when documenting function pointers). \def\badparencount{% \message{Warning: unbalanced parentheses in @def...}% \global\parencount=0 } \def\badbrackcount{% \message{Warning: unbalanced square brackets in @def...}% \global\brackcount=0 } \message{macros,} % @macro. % To do this right we need a feature of e-TeX, \scantokens, % which we arrange to emulate with a temporary file in ordinary TeX. \ifx\eTeXversion\thisisundefined \newwrite\macscribble \def\scantokens#1{% \toks0={#1}% \immediate\openout\macscribble=\jobname.tmp \immediate\write\macscribble{\the\toks0}% \immediate\closeout\macscribble \input \jobname.tmp } \fi % alias because \c means cedilla in @tex or @math \let\texinfoc=\c \newcount\savedcatcodeone \newcount\savedcatcodetwo % Used at the time of macro expansion. % Argument is macro body with arguments substituted \def\scanmacro#1{% \newlinechar`\^^M \def\xeatspaces{\eatspaces}% % % Temporarily undo catcode changes of \printindex. Set catcode of @ to % 0 so that @-commands in macro expansions aren't printed literally when % formatting an index file, where \ is used as the escape character. \savedcatcodeone=\catcode`\@ \savedcatcodetwo=\catcode`\\ \catcode`\@=0 \catcode`\\=\active % % Process the macro body under the current catcode regime. \scantokens{#1@texinfoc}% % \catcode`\@=\savedcatcodeone \catcode`\\=\savedcatcodetwo % % The \texinfoc is to remove the \newlinechar added by \scantokens, and % can be noticed by \parsearg. % We avoid surrounding the call to \scantokens with \bgroup and \egroup % to allow macros to open or close groups themselves. } % Used for copying and captions \def\scanexp#1{% \expandafter\scanmacro\expandafter{#1}% } \newcount\paramno % Count of parameters \newtoks\macname % Macro name \newif\ifrecursive % Is it recursive? % List of all defined macros in the form % \commondummyword\macro1\commondummyword\macro2... % Currently is also contains all @aliases; the list can be split % if there is a need. \def\macrolist{} % Add the macro to \macrolist \def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname} \def\addtomacrolistxxx#1{% \toks0 = \expandafter{\macrolist\commondummyword#1}% \xdef\macrolist{\the\toks0}% } % Utility routines. % This does \let #1 = #2, with \csnames; that is, % \let \csname#1\endcsname = \csname#2\endcsname % (except of course we have to play expansion games). % \def\cslet#1#2{% \expandafter\let \csname#1\expandafter\endcsname \csname#2\endcsname } % Trim leading and trailing spaces off a string. % Concepts from aro-bend problem 15 (see CTAN). {\catcode`\@=11 \gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }} \gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@} \gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @} \def\unbrace#1{#1} \unbrace{\gdef\trim@@@ #1 } #2@{#1} } % Trim a single trailing ^^M off a string. {\catcode`\^^M=\other \catcode`\Q=3% \gdef\eatcr #1{\eatcra #1Q^^MQ}% \gdef\eatcra#1^^MQ{\eatcrb#1Q}% \gdef\eatcrb#1Q#2Q{#1}% } % Macro bodies are absorbed as an argument in a context where % all characters are catcode 10, 11 or 12, except \ which is active % (as in normal texinfo). It is necessary to change the definition of \ % to recognize macro arguments; this is the job of \mbodybackslash. % % Non-ASCII encodings make 8-bit characters active, so un-activate % them to avoid their expansion. Must do this non-globally, to % confine the change to the current group. % % It's necessary to have hard CRs when the macro is executed. This is % done by making ^^M (\endlinechar) catcode 12 when reading the macro % body, and then making it the \newlinechar in \scanmacro. % \def\scanctxt{% used as subroutine \catcode`\"=\other \catcode`\+=\other \catcode`\<=\other \catcode`\>=\other \catcode`\^=\other \catcode`\_=\other \catcode`\|=\other \catcode`\~=\other \passthroughcharstrue } \def\scanargctxt{% used for copying and captions, not macros. \scanctxt \catcode`\@=\other \catcode`\\=\other \catcode`\^^M=\other } \def\macrobodyctxt{% used for @macro definitions \scanctxt \catcode`\ =\other \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other \catcode`\^^M=\other \usembodybackslash } % Used when scanning braced macro arguments. Note, however, that catcode % changes here are ineffectual if the macro invocation was nested inside % an argument to another Texinfo command. \def\macroargctxt{% \scanctxt \catcode`\ =\active \catcode`\^^M=\other \catcode`\\=\active } \def\macrolineargctxt{% used for whole-line arguments without braces \scanctxt \catcode`\{=\other \catcode`\}=\other } % \mbodybackslash is the definition of \ in @macro bodies. % It maps \foo\ => \csname macarg.foo\endcsname => #N % where N is the macro parameter number. % We define \csname macarg.\endcsname to be \realbackslash, so % \\ in macro replacement text gets you a backslash. % {\catcode`@=0 @catcode`@\=@active @gdef@usembodybackslash{@let\=@mbodybackslash} @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname} } \expandafter\def\csname macarg.\endcsname{\realbackslash} \def\margbackslash#1{\char`\#1 } \def\macro{\recursivefalse\parsearg\macroxxx} \def\rmacro{\recursivetrue\parsearg\macroxxx} \def\macroxxx#1{% \getargs{#1}% now \macname is the macname and \argl the arglist \ifx\argl\empty % no arguments \paramno=0\relax \else \expandafter\parsemargdef \argl;% \if\paramno>256\relax \ifx\eTeXversion\thisisundefined \errhelp = \EMsimple \errmessage{You need eTeX to compile a file with macros with more than 256 arguments} \fi \fi \fi \if1\csname ismacro.\the\macname\endcsname \message{Warning: redefining \the\macname}% \else \expandafter\ifx\csname \the\macname\endcsname \relax \else \errmessage{Macro name \the\macname\space already defined}\fi \global\cslet{macsave.\the\macname}{\the\macname}% \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% \addtomacrolist{\the\macname}% \fi \begingroup \macrobodyctxt \ifrecursive \expandafter\parsermacbody \else \expandafter\parsemacbody \fi} \parseargdef\unmacro{% \if1\csname ismacro.#1\endcsname \global\cslet{#1}{macsave.#1}% \global\expandafter\let \csname ismacro.#1\endcsname=0% % Remove the macro name from \macrolist: \begingroup \expandafter\let\csname#1\endcsname \relax \let\commondummyword\unmacrodo \xdef\macrolist{\macrolist}% \endgroup \else \errmessage{Macro #1 not defined}% \fi } % Called by \do from \dounmacro on each macro. The idea is to omit any % macro definitions that have been changed to \relax. % \def\unmacrodo#1{% \ifx #1\relax % remove this \else \noexpand\commondummyword \noexpand#1% \fi } % \getargs -- Parse the arguments to a @macro line. Set \macname to % the name of the macro, and \argl to the braced argument list. \def\getargs#1{\getargsxxx#1{}} \def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} \def\getmacname#1 #2\relax{\macname={#1}} \def\getmacargs#1{\def\argl{#1}} % This made use of the feature that if the last token of a % is #, then the preceding argument is delimited by % an opening brace, and that opening brace is not consumed. % Parse the optional {params} list to @macro or @rmacro. % Set \paramno to the number of arguments, % and \paramlist to a parameter text for the macro (e.g. #1,#2,#3 for a % three-param macro.) Define \macarg.BLAH for each BLAH in the params % list to some hook where the argument is to be expanded. If there are % less than 10 arguments that hook is to be replaced by ##N where N % is the position in that list, that is to say the macro arguments are to be % defined `a la TeX in the macro body. % % That gets used by \mbodybackslash (above). % % If there are 10 or more arguments, a different technique is used: see % \parsemmanyargdef. % \def\parsemargdef#1;{% \paramno=0\def\paramlist{}% \let\hash\relax % \hash is redefined to `#' later to get it into definitions \let\xeatspaces\relax \parsemargdefxxx#1,;,% \ifnum\paramno<10\relax\else \paramno0\relax \parsemmanyargdef@@#1,;,% 10 or more arguments \fi } \def\parsemargdefxxx#1,{% \if#1;\let\next=\relax \else \let\next=\parsemargdefxxx \advance\paramno by 1 \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname {\xeatspaces{\hash\the\paramno}}% \edef\paramlist{\paramlist\hash\the\paramno,}% \fi\next} % \parsemacbody, \parsermacbody % % Read recursive and nonrecursive macro bodies. (They're different since % rec and nonrec macros end differently.) % % We are in \macrobodyctxt, and the \xdef causes backslashshes in the macro % body to be transformed. % Set \macrobody to the body of the macro, and call \defmacro. % {\catcode`\ =\other\long\gdef\parsemacbody#1@end macro{% \xdef\macrobody{\eatcr{#1}}\endgroup\defmacro}}% {\catcode`\ =\other\long\gdef\parsermacbody#1@end rmacro{% \xdef\macrobody{\eatcr{#1}}\endgroup\defmacro}}% % Make @ a letter, so that we can make private-to-Texinfo macro names. \edef\texiatcatcode{\the\catcode`\@} \catcode `@=11\relax %%%%%%%%%%%%%% Code for > 10 arguments only %%%%%%%%%%%%%%%%%% % If there are 10 or more arguments, a different technique is used, where the % hook remains in the body, and when macro is to be expanded the body is % processed again to replace the arguments. % % In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the % argument N value and then \edef the body (nothing else will expand because of % the catcode regime under which the body was input). % % If you compile with TeX (not eTeX), and you have macros with 10 or more % arguments, no macro can have more than 256 arguments (else error). % % In case that there are 10 or more arguments we parse again the arguments % list to set new definitions for the \macarg.BLAH macros corresponding to % each BLAH argument. It was anyhow needed to parse already once this list % in order to count the arguments, and as macros with at most 9 arguments % are by far more frequent than macro with 10 or more arguments, defining % twice the \macarg.BLAH macros does not cost too much processing power. \def\parsemmanyargdef@@#1,{% \if#1;\let\next=\relax \else \let\next=\parsemmanyargdef@@ \edef\tempb{\eatspaces{#1}}% \expandafter\def\expandafter\tempa \expandafter{\csname macarg.\tempb\endcsname}% % Note that we need some extra \noexpand\noexpand, this is because we % don't want \the to be expanded in the \parsermacbody as it uses an % \xdef . \expandafter\edef\tempa {\noexpand\noexpand\noexpand\the\toks\the\paramno}% \advance\paramno by 1\relax \fi\next} \let\endargs@\relax \let\nil@\relax \def\nilm@{\nil@}% \long\def\nillm@{\nil@}% % This macro is expanded during the Texinfo macro expansion, not during its % definition. It gets all the arguments' values and assigns them to macros % macarg.ARGNAME % % #1 is the macro name % #2 is the list of argument names % #3 is the list of argument values \def\getargvals@#1#2#3{% \def\macargdeflist@{}% \def\saveparamlist@{#2}% Need to keep a copy for parameter expansion. \def\paramlist{#2,\nil@}% \def\macroname{#1}% \begingroup \macroargctxt \def\argvaluelist{#3,\nil@}% \def\@tempa{#3}% \ifx\@tempa\empty \setemptyargvalues@ \else \getargvals@@ \fi } \def\getargvals@@{% \ifx\paramlist\nilm@ % Some sanity check needed here that \argvaluelist is also empty. \ifx\argvaluelist\nillm@ \else \errhelp = \EMsimple \errmessage{Too many arguments in macro `\macroname'!}% \fi \let\next\macargexpandinbody@ \else \ifx\argvaluelist\nillm@ % No more arguments values passed to macro. Set remaining named-arg % macros to empty. \let\next\setemptyargvalues@ \else % pop current arg name into \@tempb \def\@tempa##1{\pop@{\@tempb}{\paramlist}##1\endargs@}% \expandafter\@tempa\expandafter{\paramlist}% % pop current argument value into \@tempc \def\@tempa##1{\longpop@{\@tempc}{\argvaluelist}##1\endargs@}% \expandafter\@tempa\expandafter{\argvaluelist}% % Here \@tempb is the current arg name and \@tempc is the current arg value. % First place the new argument macro definition into \@tempd \expandafter\macname\expandafter{\@tempc}% \expandafter\let\csname macarg.\@tempb\endcsname\relax \expandafter\def\expandafter\@tempe\expandafter{% \csname macarg.\@tempb\endcsname}% \edef\@tempd{\long\def\@tempe{\the\macname}}% \push@\@tempd\macargdeflist@ \let\next\getargvals@@ \fi \fi \next } \def\push@#1#2{% \expandafter\expandafter\expandafter\def \expandafter\expandafter\expandafter#2% \expandafter\expandafter\expandafter{% \expandafter#1#2}% } % Replace arguments by their values in the macro body, and place the result % in macro \@tempa. % \def\macvalstoargs@{% % To do this we use the property that token registers that are \the'ed % within an \edef expand only once. So we are going to place all argument % values into respective token registers. % % First we save the token context, and initialize argument numbering. \begingroup \paramno0\relax % Then, for each argument number #N, we place the corresponding argument % value into a new token list register \toks#N \expandafter\putargsintokens@\saveparamlist@,;,% % Then, we expand the body so that argument are replaced by their % values. The trick for values not to be expanded themselves is that they % are within tokens and that tokens expand only once in an \edef . \edef\@tempc{\csname mac.\macroname .body\endcsname}% % Now we restore the token stack pointer to free the token list registers % which we have used, but we make sure that expanded body is saved after % group. \expandafter \endgroup \expandafter\def\expandafter\@tempa\expandafter{\@tempc}% } % Define the named-macro outside of this group and then close this group. % \def\macargexpandinbody@{% \expandafter \endgroup \macargdeflist@ % First the replace in body the macro arguments by their values, the result % is in \@tempa . \macvalstoargs@ % Then we point at the \norecurse or \gobble (for recursive) macro value % with \@tempb . \expandafter\let\expandafter\@tempb\csname mac.\macroname .recurse\endcsname % Depending on whether it is recursive or not, we need some tailing % \egroup . \ifx\@tempb\gobble \let\@tempc\relax \else \let\@tempc\egroup \fi % And now we do the real job: \edef\@tempd{\noexpand\@tempb{\macroname}\noexpand\scanmacro{\@tempa}\@tempc}% \@tempd } \def\putargsintokens@#1,{% \if#1;\let\next\relax \else \let\next\putargsintokens@ % First we allocate the new token list register, and give it a temporary % alias \@tempb . \toksdef\@tempb\the\paramno % Then we place the argument value into that token list register. \expandafter\let\expandafter\@tempa\csname macarg.#1\endcsname \expandafter\@tempb\expandafter{\@tempa}% \advance\paramno by 1\relax \fi \next } % Trailing missing arguments are set to empty. % \def\setemptyargvalues@{% \ifx\paramlist\nilm@ \let\next\macargexpandinbody@ \else \expandafter\setemptyargvaluesparser@\paramlist\endargs@ \let\next\setemptyargvalues@ \fi \next } \def\setemptyargvaluesparser@#1,#2\endargs@{% \expandafter\def\expandafter\@tempa\expandafter{% \expandafter\def\csname macarg.#1\endcsname{}}% \push@\@tempa\macargdeflist@ \def\paramlist{#2}% } % #1 is the element target macro % #2 is the list macro % #3,#4\endargs@ is the list value \def\pop@#1#2#3,#4\endargs@{% \def#1{#3}% \def#2{#4}% } \long\def\longpop@#1#2#3,#4\endargs@{% \long\def#1{#3}% \long\def#2{#4}% } %%%%%%%%%%%%%% End of code for > 10 arguments %%%%%%%%%%%%%%%%%% % This defines a Texinfo @macro or @rmacro, called by \parsemacbody. % \macrobody has the body of the macro in it, with placeholders for % its parameters, looking like "\xeatspaces{\hash 1}". % \paramno is the number of parameters % \paramlist is a TeX parameter text, e.g. "#1,#2,#3," % There are four cases: macros of zero, one, up to nine, and many arguments. % \xdef is used so that macro definitions will survive the file % they're defined in: @include reads the file inside a group. % \def\defmacro{% \let\hash=##% convert placeholders to macro parameter chars \ifnum\paramno=1 \def\xeatspaces##1{##1}% % This removes the pair of braces around the argument. We don't % use \eatspaces, because this can cause ends of lines to be lost % when the argument to \eatspaces is read, leading to line-based % commands like "@itemize" not being read correctly. \else \let\xeatspaces\relax % suppress expansion \fi \ifcase\paramno % 0 \expandafter\xdef\csname\the\macname\endcsname{% \bgroup \noexpand\spaceisspace \noexpand\endlineisspace \noexpand\expandafter % skip any whitespace after the macro name. \expandafter\noexpand\csname\the\macname @@@\endcsname}% \expandafter\xdef\csname\the\macname @@@\endcsname{% \egroup \noexpand\scanmacro{\macrobody}}% \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% \bgroup \noexpand\braceorline \expandafter\noexpand\csname\the\macname @@@\endcsname}% \expandafter\xdef\csname\the\macname @@@\endcsname##1{% \egroup \noexpand\scanmacro{\macrobody}% }% \else % at most 9 \ifnum\paramno<10\relax % @MACNAME sets the context for reading the macro argument % @MACNAME@@ gets the argument, processes backslashes and appends a % comma. % @MACNAME@@@ removes braces surrounding the argument list. % @MACNAME@@@@ scans the macro body with arguments substituted. \expandafter\xdef\csname\the\macname\endcsname{% \bgroup \noexpand\expandafter % This \expandafter skip any spaces after the \noexpand\macroargctxt % macro before we change the catcode of space. \noexpand\expandafter \expandafter\noexpand\csname\the\macname @@\endcsname}% \expandafter\xdef\csname\the\macname @@\endcsname##1{% \noexpand\passargtomacro \expandafter\noexpand\csname\the\macname @@@\endcsname{##1,}}% \expandafter\xdef\csname\the\macname @@@\endcsname##1{% \expandafter\noexpand\csname\the\macname @@@@\endcsname ##1}% \expandafter\expandafter \expandafter\xdef \expandafter\expandafter \csname\the\macname @@@@\endcsname\paramlist{% \egroup\noexpand\scanmacro{\macrobody}}% \else % 10 or more: \expandafter\xdef\csname\the\macname\endcsname{% \noexpand\getargvals@{\the\macname}{\argl}% }% \global\expandafter\let\csname mac.\the\macname .body\endcsname\macrobody \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble \fi \fi} \catcode `\@\texiatcatcode\relax % end private-to-Texinfo catcodes \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % {\catcode`\@=0 \catcode`\\=13 % We need to manipulate \ so use @ as escape @catcode`@_=11 % private names @catcode`@!=11 % used as argument separator % \passargtomacro#1#2 - % Call #1 with a list of tokens #2, with any doubled backslashes in #2 % compressed to one. % % This implementation works by expansion, and not execution (so we cannot use % \def or similar). This reduces the risk of this failing in contexts where % complete expansion is done with no execution (for example, in writing out to % an auxiliary file for an index entry). % % State is kept in the input stream: the argument passed to % @look_ahead, @gobble_and_check_finish and @add_segment is % % THE_MACRO ARG_RESULT ! {PENDING_BS} NEXT_TOKEN (... rest of input) % % where: % THE_MACRO - name of the macro we want to call % ARG_RESULT - argument list we build to pass to that macro % PENDING_BS - either a backslash or nothing % NEXT_TOKEN - used to look ahead in the input stream to see what's coming next @gdef@passargtomacro#1#2{% @add_segment #1!{}@relax#2\@_finish\% } @gdef@_finish{@_finishx} @global@let@_finishx@relax % #1 - THE_MACRO ARG_RESULT % #2 - PENDING_BS % #3 - NEXT_TOKEN % #4 used to look ahead % % If the next token is not a backslash, process the rest of the argument; % otherwise, remove the next token. @gdef@look_ahead#1!#2#3#4{% @ifx#4\% @expandafter@gobble_and_check_finish @else @expandafter@add_segment @fi#1!{#2}#4#4% } % #1 - THE_MACRO ARG_RESULT % #2 - PENDING_BS % #3 - NEXT_TOKEN % #4 should be a backslash, which is gobbled. % #5 looks ahead % % Double backslash found. Add a single backslash, and look ahead. @gdef@gobble_and_check_finish#1!#2#3#4#5{% @add_segment#1\!{}#5#5% } @gdef@is_fi{@fi} % #1 - THE_MACRO ARG_RESULT % #2 - PENDING_BS % #3 - NEXT_TOKEN % #4 is input stream until next backslash % % Input stream is either at the start of the argument, or just after a % backslash sequence, either a lone backslash, or a doubled backslash. % NEXT_TOKEN contains the first token in the input stream: if it is \finish, % finish; otherwise, append to ARG_RESULT the segment of the argument up until % the next backslash. PENDING_BACKSLASH contains a backslash to represent % a backslash just before the start of the input stream that has not been % added to ARG_RESULT. @gdef@add_segment#1!#2#3#4\{% @ifx#3@_finish @call_the_macro#1!% @else % append the pending backslash to the result, followed by the next segment @expandafter@is_fi@look_ahead#1#2#4!{\}@fi % this @fi is discarded by @look_ahead. % we can't get rid of it with \expandafter because we don't know how % long #4 is. } % #1 - THE_MACRO % #2 - ARG_RESULT % #3 discards the res of the conditional in @add_segment, and @is_fi ends the % conditional. @gdef@call_the_macro#1#2!#3@fi{@is_fi #1{#2}} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \braceorline MAC is used for a one-argument macro MAC. It checks % whether the next non-whitespace character is a {. It sets the context % for reading the argument (slightly different in the two cases). Then, % to read the argument, in the whole-line case, it then calls the regular % \parsearg MAC; in the lbrace case, it calls \passargtomacro MAC. % \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} \def\braceorlinexxx{% \ifx\nchar\bgroup \macroargctxt \expandafter\passargtomacro \else \macrolineargctxt\expandafter\parsearg \fi \macnamexxx} % @alias. % We need some trickery to remove the optional spaces around the equal % sign. Make them active and then expand them all to nothing. % \def\alias{\parseargusing\obeyspaces\aliasxxx} \def\aliasxxx #1{\aliasyyy#1\relax} \def\aliasyyy #1=#2\relax{% {% \expandafter\let\obeyedspace=\empty \addtomacrolist{#1}% \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}% }% \next } \message{cross references,} \newwrite\auxfile \newif\ifhavexrefs % True if xref values are known. \newif\ifwarnedxrefs % True if we warned once that they aren't known. % @inforef is relatively simple. \def\inforef #1{\inforefzzz #1,,,,**} \def\inforefzzz #1,#2,#3,#4**{% \putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, node \samp{\ignorespaces#1{}}} % @node's only job in TeX is to define \lastnode, which is used in % cross-references. The @node line might or might not have commas, and % might or might not have spaces before the first comma, like: % @node foo , bar , ... % We don't want such trailing spaces in the node name. % \parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse} % % also remove a trailing comma, in case of something like this: % @node Help-Cross, , , Cross-refs \def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse} \def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}} \let\nwnode=\node \let\lastnode=\empty % Write a cross-reference definition for the current node. #1 is the % type (Ynumbered, Yappendix, Ynothing). % \def\donoderef#1{% \ifx\lastnode\empty\else \setref{\lastnode}{#1}% \global\let\lastnode=\empty \fi } % @anchor{NAME} -- define xref target at arbitrary point. % \newcount\savesfregister % \def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} \def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} \def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} % \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an % anchor), which consists of three parts: % 1) NAME-title - the current sectioning name taken from \lastsection, % or the anchor name. % 2) NAME-snt - section number and type, passed as the SNT arg, or % empty for anchors. % 3) NAME-pg - the page number. % % This is called from \donoderef, \anchor, and \dofloat. In the case of % floats, there is an additional part, which is not written here: % 4) NAME-lof - the text as it should appear in a @listoffloats. % \def\setref#1#2{% \pdfmkdest{#1}% \iflinks {% \requireauxfile \atdummies % preserve commands, but don't expand them % match definition in \xrdef, \refx, \xrefX. \def\value##1{##1}% \edef\writexrdef##1##2{% \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef ##1}{##2}}% these are parameters of \writexrdef }% \toks0 = \expandafter{\lastsection}% \immediate \writexrdef{title}{\the\toks0 }% \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, at \shipout }% \fi } % @xrefautosectiontitle on|off says whether @section(ing) names are used % automatically in xrefs, if the third arg is not explicitly specified. % This was provided as a "secret" @set xref-automatic-section-title % variable, now it's official. % \parseargdef\xrefautomaticsectiontitle{% \def\temp{#1}% \ifx\temp\onword \expandafter\let\csname SETxref-automatic-section-title\endcsname = \empty \else\ifx\temp\offword \expandafter\let\csname SETxref-automatic-section-title\endcsname = \relax \else \errhelp = \EMsimple \errmessage{Unknown @xrefautomaticsectiontitle value `\temp', must be on|off}% \fi\fi } % % @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is % the node name, #2 the name of the Info cross-reference, #3 the printed % node name, #4 the name of the Info file, #5 the name of the printed % manual. All but the node name can be omitted. % \def\pxref{\putwordsee{} \xrefXX} \def\xref{\putwordSee{} \xrefXX} \def\ref{\xrefXX} \def\xrefXX#1{\def\xrefXXarg{#1}\futurelet\tokenafterxref\xrefXXX} \def\xrefXXX{\expandafter\xrefX\expandafter[\xrefXXarg,,,,,,,]} % \newbox\toprefbox \newbox\printedrefnamebox \newbox\infofilenamebox \newbox\printedmanualbox % \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup \unsepspaces % % Get args without leading/trailing spaces. \def\printedrefname{\ignorespaces #3}% \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}% % \def\infofilename{\ignorespaces #4}% \setbox\infofilenamebox = \hbox{\infofilename\unskip}% % \def\printedmanual{\ignorespaces #5}% \setbox\printedmanualbox = \hbox{\printedmanual\unskip}% % % If the printed reference name (arg #3) was not explicitly given in % the @xref, figure out what we want to use. \ifdim \wd\printedrefnamebox = 0pt % No printed node name was explicitly given. \expandafter\ifx\csname SETxref-automatic-section-title\endcsname \relax % Not auto section-title: use node name inside the square brackets. \def\printedrefname{\ignorespaces #1}% \else % Auto section-title: use chapter/section title inside % the square brackets if we have it. \ifdim \wd\printedmanualbox > 0pt % It is in another manual, so we don't have it; use node name. \def\printedrefname{\ignorespaces #1}% \else \ifhavexrefs % We (should) know the real title if we have the xref values. \def\printedrefname{\refx{#1-title}{}}% \else % Otherwise just copy the Info node name. \def\printedrefname{\ignorespaces #1}% \fi% \fi \fi \fi % % Make link in pdf output. \ifpdf % For pdfTeX and LuaTeX {\indexnofonts \makevalueexpandable \turnoffactive % This expands tokens, so do it after making catcode changes, so _ % etc. don't get their TeX definitions. This ignores all spaces in % #4, including (wrongly) those in the middle of the filename. \getfilename{#4}% % % This (wrongly) does not take account of leading or trailing % spaces in #1, which should be ignored. \setpdfdestname{#1}% % \ifx\pdfdestname\empty \def\pdfdestname{Top}% no empty targets \fi % \leavevmode \startlink attr{/Border [0 0 0]}% \ifnum\filenamelength>0 goto file{\the\filename.pdf} name{\pdfdestname}% \else goto name{\pdfmkpgn{\pdfdestname}}% \fi }% \setcolor{\linkcolor}% \else \ifx\XeTeXrevision\thisisundefined \else % For XeTeX {\indexnofonts \makevalueexpandable \turnoffactive % This expands tokens, so do it after making catcode changes, so _ % etc. don't get their TeX definitions. This ignores all spaces in % #4, including (wrongly) those in the middle of the filename. \getfilename{#4}% % % This (wrongly) does not take account of leading or trailing % spaces in #1, which should be ignored. \setpdfdestname{#1}% % \ifx\pdfdestname\empty \def\pdfdestname{Top}% no empty targets \fi % \leavevmode \ifnum\filenamelength>0 % With default settings, % XeTeX (xdvipdfmx) replaces link destination names with integers. % In this case, the replaced destination names of % remote PDFs are no longer known. In order to avoid a replacement, % you can use xdvipdfmx's command line option `-C 0x0010'. % If you use XeTeX 0.99996+ (TeX Live 2016+), % this command line option is no longer necessary % because we can use the `dvipdfmx:config' special. \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A << /S /GoToR /F (\the\filename.pdf) /D (\pdfdestname) >> >>}% \else \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A << /S /GoTo /D (\pdfdestname) >> >>}% \fi }% \setcolor{\linkcolor}% \fi \fi {% % Have to otherify everything special to allow the \csname to % include an _ in the xref name, etc. \indexnofonts \turnoffactive \def\value##1{##1}% \expandafter\global\expandafter\let\expandafter\Xthisreftitle \csname XR#1-title\endcsname }% % % Float references are printed completely differently: "Figure 1.2" % instead of "[somenode], p.3". \iffloat distinguishes them by % \Xthisreftitle being set to a magic string. \iffloat\Xthisreftitle % If the user specified the print name (third arg) to the ref, % print it instead of our usual "Figure 1.2". \ifdim\wd\printedrefnamebox = 0pt \refx{#1-snt}{}% \else \printedrefname \fi % % If the user also gave the printed manual name (fifth arg), append % "in MANUALNAME". \ifdim \wd\printedmanualbox > 0pt \space \putwordin{} \cite{\printedmanual}% \fi \else % node/anchor (non-float) references. % % If we use \unhbox to print the node names, TeX does not insert % empty discretionaries after hyphens, which means that it will not % find a line break at a hyphen in a node names. Since some manuals % are best written with fairly long node names, containing hyphens, % this is a loss. Therefore, we give the text of the node name % again, so it is as if TeX is seeing it for the first time. % \ifdim \wd\printedmanualbox > 0pt % Cross-manual reference with a printed manual name. % \crossmanualxref{\cite{\printedmanual\unskip}}% % \else\ifdim \wd\infofilenamebox > 0pt % Cross-manual reference with only an info filename (arg 4), no % printed manual name (arg 5). This is essentially the same as % the case above; we output the filename, since we have nothing else. % \crossmanualxref{\code{\infofilename\unskip}}% % \else % Reference within this manual. % % _ (for example) has to be the character _ for the purposes of the % control sequence corresponding to the node, but it has to expand % into the usual \leavevmode...\vrule stuff for purposes of % printing. So we \turnoffactive for the \refx-snt, back on for the % printing, back off for the \refx-pg. {\turnoffactive % Only output a following space if the -snt ref is nonempty; for % @unnumbered and @anchor, it won't be. \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi }% % output the `[mynode]' via the macro below so it can be overridden. \xrefprintnodename\printedrefname % % But we always want a comma and a space: ,\space % % output the `page 3'. \turnoffactive \putwordpage\tie\refx{#1-pg}{}% % Add a , if xref followed by a space \if\space\noexpand\tokenafterxref ,% \else\ifx\ \tokenafterxref ,% @TAB \else\ifx\*\tokenafterxref ,% @* \else\ifx\ \tokenafterxref ,% @SPACE \else\ifx\ \tokenafterxref ,% @NL \else\ifx\tie\tokenafterxref ,% @tie \fi\fi\fi\fi\fi\fi \fi\fi \fi \endlink \endgroup} % Output a cross-manual xref to #1. Used just above (twice). % % Only include the text "Section ``foo'' in" if the foo is neither % missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply % "see The Foo Manual", the idea being to refer to the whole manual. % % But, this being TeX, we can't easily compare our node name against the % string "Top" while ignoring the possible spaces before and after in % the input. By adding the arbitrary 7sp below, we make it much less % likely that a real node name would have the same width as "Top" (e.g., % in a monospaced font). Hopefully it will never happen in practice. % % For the same basic reason, we retypeset the "Top" at every % reference, since the current font is indeterminate. % \def\crossmanualxref#1{% \setbox\toprefbox = \hbox{Top\kern7sp}% \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}% \ifdim \wd2 > 7sp % nonempty? \ifdim \wd2 = \wd\toprefbox \else % same as Top? \putwordSection{} ``\printedrefname'' \putwordin{}\space \fi \fi #1% } % This macro is called from \xrefX for the `[nodename]' part of xref % output. It's a separate macro only so it can be changed more easily, % since square brackets don't work well in some documents. Particularly % one that Bob is working on :). % \def\xrefprintnodename#1{[#1]} % Things referred to by \setref. % \def\Ynothing{} \def\Yomitfromtoc{} \def\Ynumbered{% \ifnum\secno=0 \putwordChapter@tie \the\chapno \else \ifnum\subsecno=0 \putwordSection@tie \the\chapno.\the\secno \else \ifnum\subsubsecno=0 \putwordSection@tie \the\chapno.\the\secno.\the\subsecno \else \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno \fi\fi\fi } \def\Yappendix{% \ifnum\secno=0 \putwordAppendix@tie @char\the\appendixno{}% \else \ifnum\subsecno=0 \putwordSection@tie @char\the\appendixno.\the\secno \else \ifnum\subsubsecno=0 \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno \else \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno \fi\fi\fi } % \refx{NAME}{SUFFIX} - reference a cross-reference string named NAME. SUFFIX % is output afterwards if non-empty. \def\refx#1#2{% \requireauxfile {% \indexnofonts \otherbackslash \def\value##1{##1}% \expandafter\global\expandafter\let\expandafter\thisrefX \csname XR#1\endcsname }% \ifx\thisrefX\relax % If not defined, say something at least. \angleleft un\-de\-fined\angleright \iflinks \ifhavexrefs {\toks0 = {#1}% avoid expansion of possibly-complex value \message{\linenumber Undefined cross reference `\the\toks0'.}}% \else \ifwarnedxrefs\else \global\warnedxrefstrue \message{Cross reference values unknown; you must run TeX again.}% \fi \fi \fi \else % It's defined, so just use it. \thisrefX \fi #2% Output the suffix in any case. } % This is the macro invoked by entries in the aux file. Define a control % sequence for a cross-reference target (we prepend XR to the control sequence % name to avoid collisions). The value is the page number. If this is a float % type, we have more work to do. % \def\xrdef#1#2{% {% Expand the node or anchor name to remove control sequences. % \turnoffactive stops 8-bit characters being changed to commands % like @'e. \refx does the same to retrieve the value in the definition. \indexnofonts \turnoffactive \def\value##1{##1}% \xdef\safexrefname{#1}% }% % \bgroup \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% \egroup % We put the \gdef inside a group to avoid the definitions building up on % TeX's save stack, which can cause it to run out of space for aux files with % thousands of lines. \gdef doesn't use the save stack, but \csname does % when it defines an unknown control sequence as \relax. % % Was that xref control sequence that we just defined for a float? \expandafter\iffloat\csname XR\safexrefname\endcsname % it was a float, and we have the (safe) float type in \iffloattype. \expandafter\let\expandafter\floatlist \csname floatlist\iffloattype\endcsname % % Is this the first time we've seen this float type? \expandafter\ifx\floatlist\relax \toks0 = {\do}% yes, so just \do \else % had it before, so preserve previous elements in list. \toks0 = \expandafter{\floatlist\do}% \fi % % Remember this xref in the control sequence \floatlistFLOATTYPE, % for later use in \listoffloats. \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0 {\safexrefname}}% \fi } % If working on a large document in chapters, it is convenient to % be able to disable indexing, cross-referencing, and contents, for test runs. % This is done with @novalidate at the beginning of the file. % \newif\iflinks \linkstrue % by default we want the aux files. \let\novalidate = \linksfalse % Used when writing to the aux file, or when using data from it. \def\requireauxfile{% \iflinks \tryauxfile % Open the new aux file. TeX will close it automatically at exit. \immediate\openout\auxfile=\jobname.aux \fi \global\let\requireauxfile=\relax % Only do this once. } % Read the last existing aux file, if any. No error if none exists. % \def\tryauxfile{% \openin 1 \jobname.aux \ifeof 1 \else \readdatafile{aux}% \global\havexrefstrue \fi \closein 1 } \def\setupdatafile{% \catcode`\^^@=\other \catcode`\^^A=\other \catcode`\^^B=\other \catcode`\^^C=\other \catcode`\^^D=\other \catcode`\^^E=\other \catcode`\^^F=\other \catcode`\^^G=\other \catcode`\^^H=\other \catcode`\^^K=\other \catcode`\^^L=\other \catcode`\^^N=\other \catcode`\^^P=\other \catcode`\^^Q=\other \catcode`\^^R=\other \catcode`\^^S=\other \catcode`\^^T=\other \catcode`\^^U=\other \catcode`\^^V=\other \catcode`\^^W=\other \catcode`\^^X=\other \catcode`\^^Z=\other \catcode`\^^[=\other \catcode`\^^\=\other \catcode`\^^]=\other \catcode`\^^^=\other \catcode`\^^_=\other % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc. % in xref tags, i.e., node names. But since ^^e4 notation isn't % supported in the main text, it doesn't seem desirable. Furthermore, % that is not enough: for node names that actually contain a ^ % character, we would end up writing a line like this: 'xrdef {'hat % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first % argument, and \hat is not an expandable control sequence. It could % all be worked out, but why? Either we support ^^ or we don't. % % The other change necessary for this was to define \auxhat: % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter % and then to call \auxhat in \setq. % \catcode`\^=\other % % Special characters. Should be turned off anyway, but... \catcode`\~=\other \catcode`\[=\other \catcode`\]=\other \catcode`\"=\other \catcode`\_=\other \catcode`\|=\other \catcode`\<=\other \catcode`\>=\other \catcode`\$=\other \catcode`\#=\other \catcode`\&=\other \catcode`\%=\other \catcode`+=\other % avoid \+ for paranoia even though we've turned it off % % This is to support \ in node names and titles, since the \ % characters end up in a \csname. It's easier than % leaving it active and making its active definition an actual \ % character. What I don't understand is why it works in the *value* % of the xrdef. Seems like it should be a catcode12 \, and that % should not typeset properly. But it works, so I'm moving on for % now. --karl, 15jan04. \catcode`\\=\other % % @ is our escape character in .aux files, and we need braces. \catcode`\{=1 \catcode`\}=2 \catcode`\@=0 } \def\readdatafile#1{% \begingroup \setupdatafile \input\jobname.#1 \endgroup} \message{insertions,} % including footnotes. \newcount \footnoteno % The trailing space in the following definition for supereject is % vital for proper filling; pages come out unaligned when you do a % pagealignmacro call if that space before the closing brace is % removed. (Generally, numeric constants should always be followed by a % space to prevent strange expansion errors.) \def\supereject{\par\penalty -20000\footnoteno =0 } % @footnotestyle is meaningful for Info output only. \let\footnotestyle=\comment {\catcode `\@=11 % % Auto-number footnotes. Otherwise like plain. \gdef\footnote{% \global\advance\footnoteno by \@ne \edef\thisfootno{$^{\the\footnoteno}$}% % % In case the footnote comes at the end of a sentence, preserve the % extra spacing after we do the footnote number. \let\@sf\empty \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi % % Remove inadvertent blank space before typesetting the footnote number. \unskip \thisfootno\@sf \dofootnote }% % Don't bother with the trickery in plain.tex to not require the % footnote text as a parameter. Our footnotes don't need to be so general. % % Oh yes, they do; otherwise, @ifset (and anything else that uses % \parseargline) fails inside footnotes because the tokens are fixed when % the footnote is read. --karl, 16nov96. % \gdef\dofootnote{% \insert\footins\bgroup % % Nested footnotes are not supported in TeX, that would take a lot % more work. (\startsavinginserts does not suffice.) \let\footnote=\errfootnotenest % % We want to typeset this text as a normal paragraph, even if the % footnote reference occurs in (for example) a display environment. % So reset some parameters. \hsize=\txipagewidth \interlinepenalty\interfootnotelinepenalty \splittopskip\ht\strutbox % top baseline for broken footnotes \splitmaxdepth\dp\strutbox \floatingpenalty\@MM \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip \parindent\defaultparindent % \smallfonts \rm % % Because we use hanging indentation in footnotes, a @noindent appears % to exdent this text, so make it be a no-op. makeinfo does not use % hanging indentation so @noindent can still be needed within footnote % text after an @example or the like (not that this is good style). \let\noindent = \relax % % Hang the footnote text off the number. Use \everypar in case the % footnote extends for more than one paragraph. \everypar = {\hang}% \textindent{\thisfootno}% % % Don't crash into the line above the footnote text. Since this % expands into a box, it must come within the paragraph, lest it % provide a place where TeX can split the footnote. \footstrut % % Invoke rest of plain TeX footnote routine. \futurelet\next\fo@t } }%end \catcode `\@=11 \def\errfootnotenest{% \errhelp=\EMsimple \errmessage{Nested footnotes not supported in texinfo.tex, even though they work in makeinfo; sorry} } \def\errfootnoteheading{% \errhelp=\EMsimple \errmessage{Footnotes in chapters, sections, etc., are not supported} } % In case a @footnote appears in a vbox, save the footnote text and create % the real \insert just after the vbox finished. Otherwise, the insertion % would be lost. % Similarly, if a @footnote appears inside an alignment, save the footnote % text to a box and make the \insert when a row of the table is finished. % And the same can be done for other insert classes. --kasal, 16nov03. % % Replace the \insert primitive by a cheating macro. % Deeper inside, just make sure that the saved insertions are not spilled % out prematurely. % \def\startsavinginserts{% \ifx \insert\ptexinsert \let\insert\saveinsert \else \let\checkinserts\relax \fi } % This \insert replacement works for both \insert\footins{foo} and % \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}. % \def\saveinsert#1{% \edef\next{\noexpand\savetobox \makeSAVEname#1}% \afterassignment\next % swallow the left brace \let\temp = } \def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}} \def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1} \def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi} \def\placesaveins#1{% \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname {\box#1}% } % eat @SAVE -- beware, all of them have catcode \other: { \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-) \gdef\gobblesave @SAVE{} } % initialization: \def\newsaveins #1{% \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}% \next } \def\newsaveinsX #1{% \csname newbox\endcsname #1% \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts \checksaveins #1}% } % initialize: \let\checkinserts\empty \newsaveins\footins \newsaveins\margin % @image. We use the macros from epsf.tex to support this. % If epsf.tex is not installed and @image is used, we complain. % % Check for and read epsf.tex up front. If we read it only at @image % time, we might be inside a group, and then its definitions would get % undone and the next image would fail. \openin 1 = epsf.tex \ifeof 1 \else % Do not bother showing banner with epsf.tex v2.7k (available in % doc/epsf.tex and on ctan). \def\epsfannounce{\toks0 = }% \input epsf.tex \fi \closein 1 % % We will only complain once about lack of epsf.tex. \newif\ifwarnednoepsf \newhelp\noepsfhelp{epsf.tex must be installed for images to work. It is also included in the Texinfo distribution, or you can get it from https://ctan.org/texarchive/macros/texinfo/texinfo/doc/epsf.tex.} % \def\image#1{% \ifx\epsfbox\thisisundefined \ifwarnednoepsf \else \errhelp = \noepsfhelp \errmessage{epsf.tex not found, images will be ignored}% \global\warnednoepsftrue \fi \else \imagexxx #1,,,,,\finish \fi } % % Arguments to @image: % #1 is (mandatory) image filename; we tack on .eps extension. % #2 is (optional) width, #3 is (optional) height. % #4 is (ignored optional) html alt text. % #5 is (ignored optional) extension. % #6 is just the usual extra ignored arg for parsing stuff. \newif\ifimagevmode \def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup \catcode`\^^M = 5 % in case we're inside an example \normalturnoffactive % allow _ et al. in names \def\xprocessmacroarg{\eatspaces}% in case we are being used via a macro % If the image is by itself, center it. \ifvmode \imagevmodetrue \else \ifx\centersub\centerV % for @center @image, we need a vbox so we can have our vertical space \imagevmodetrue \vbox\bgroup % vbox has better behavior than vtop herev \fi\fi % \ifimagevmode \nobreak\medskip % Usually we'll have text after the image which will insert % \parskip glue, so insert it here too to equalize the space % above and below. \nobreak\vskip\parskip \nobreak \fi % % Leave vertical mode so that indentation from an enclosing % environment such as @quotation is respected. % However, if we're at the top level, we don't want the % normal paragraph indentation. % On the other hand, if we are in the case of @center @image, we don't % want to start a paragraph, which will create a hsize-width box and % eradicate the centering. \ifx\centersub\centerV\else \noindent \fi % % Output the image. \ifpdf % For pdfTeX and LuaTeX <= 0.80 \dopdfimage{#1}{#2}{#3}% \else \ifx\XeTeXrevision\thisisundefined % For epsf.tex % \epsfbox itself resets \epsf?size at each figure. \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi \setbox0 = \hbox{\ignorespaces #3}% \ifdim\wd0 > 0pt \epsfysize=#3\relax \fi \epsfbox{#1.eps}% \else % For XeTeX \doxeteximage{#1}{#2}{#3}% \fi \fi % \ifimagevmode \medskip % space after a standalone image \fi \ifx\centersub\centerV \egroup \fi \endgroup} % @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables, % etc. We don't actually implement floating yet, we always include the % float "here". But it seemed the best name for the future. % \envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish} % There may be a space before second and/or third parameter; delete it. \def\eatcommaspace#1, {#1,} % #1 is the optional FLOATTYPE, the text label for this float, typically % "Figure", "Table", "Example", etc. Can't contain commas. If omitted, % this float will not be numbered and cannot be referred to. % % #2 is the optional xref label. Also must be present for the float to % be referable. % % #3 is the optional positioning argument; for now, it is ignored. It % will somehow specify the positions allowed to float to (here, top, bottom). % % We keep a separate counter for each FLOATTYPE, which we reset at each % chapter-level command. \let\resetallfloatnos=\empty % \def\dofloat#1,#2,#3,#4\finish{% \let\thiscaption=\empty \let\thisshortcaption=\empty % % don't lose footnotes inside @float. % % BEWARE: when the floats start float, we have to issue warning whenever an % insert appears inside a float which could possibly float. --kasal, 26may04 % \startsavinginserts % % We can't be used inside a paragraph. \par % \vtop\bgroup \def\floattype{#1}% \def\floatlabel{#2}% \def\floatloc{#3}% we do nothing with this yet. % \ifx\floattype\empty \let\safefloattype=\empty \else {% % the floattype might have accents or other special characters, % but we need to use it in a control sequence name. \indexnofonts \turnoffactive \xdef\safefloattype{\floattype}% }% \fi % % If label is given but no type, we handle that as the empty type. \ifx\floatlabel\empty \else % We want each FLOATTYPE to be numbered separately (Figure 1, % Table 1, Figure 2, ...). (And if no label, no number.) % \expandafter\getfloatno\csname\safefloattype floatno\endcsname \global\advance\floatno by 1 % {% % This magic value for \lastsection is output by \setref as the % XREFLABEL-title value. \xrefX uses it to distinguish float % labels (which have a completely different output format) from % node and anchor labels. And \xrdef uses it to construct the % lists of floats. % \edef\lastsection{\floatmagic=\safefloattype}% \setref{\floatlabel}{Yfloat}% }% \fi % % start with \parskip glue, I guess. \vskip\parskip % % Don't suppress indentation if a float happens to start a section. \restorefirstparagraphindent } % we have these possibilities: % @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap % @float Foo,lbl & no caption: Foo 1.1 % @float Foo & @caption{Cap}: Foo: Cap % @float Foo & no caption: Foo % @float ,lbl & Caption{Cap}: 1.1: Cap % @float ,lbl & no caption: 1.1 % @float & @caption{Cap}: Cap % @float & no caption: % \def\Efloat{% \let\floatident = \empty % % In all cases, if we have a float type, it comes first. \ifx\floattype\empty \else \def\floatident{\floattype}\fi % % If we have an xref label, the number comes next. \ifx\floatlabel\empty \else \ifx\floattype\empty \else % if also had float type, need tie first. \appendtomacro\floatident{\tie}% \fi % the number. \appendtomacro\floatident{\chaplevelprefix\the\floatno}% \fi % % Start the printed caption with what we've constructed in % \floatident, but keep it separate; we need \floatident again. \let\captionline = \floatident % \ifx\thiscaption\empty \else \ifx\floatident\empty \else \appendtomacro\captionline{: }% had ident, so need a colon between \fi % % caption text. \appendtomacro\captionline{\scanexp\thiscaption}% \fi % % If we have anything to print, print it, with space before. % Eventually this needs to become an \insert. \ifx\captionline\empty \else \vskip.5\parskip \captionline % % Space below caption. \vskip\parskip \fi % % If have an xref label, write the list of floats info. Do this % after the caption, to avoid chance of it being a breakpoint. \ifx\floatlabel\empty \else % Write the text that goes in the lof to the aux file as % \floatlabel-lof. Besides \floatident, we include the short % caption if specified, else the full caption if specified, else nothing. {% \requireauxfile \atdummies % \ifx\thisshortcaption\empty \def\gtemp{\thiscaption}% \else \def\gtemp{\thisshortcaption}% \fi \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident \ifx\gtemp\empty \else : \gtemp \fi}}% }% \fi \egroup % end of \vtop % \checkinserts } % Append the tokens #2 to the definition of macro #1, not expanding either. % \def\appendtomacro#1#2{% \expandafter\def\expandafter#1\expandafter{#1#2}% } % @caption, @shortcaption % \def\caption{\docaption\thiscaption} \def\shortcaption{\docaption\thisshortcaption} \def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption} \def\defcaption#1#2{\egroup \def#1{#2}} % The parameter is the control sequence identifying the counter we are % going to use. Create it if it doesn't exist and assign it to \floatno. \def\getfloatno#1{% \ifx#1\relax % Haven't seen this figure type before. \csname newcount\endcsname #1% % % Remember to reset this floatno at the next chap. \expandafter\gdef\expandafter\resetallfloatnos \expandafter{\resetallfloatnos #1=0 }% \fi \let\floatno#1% } % \setref calls this to get the XREFLABEL-snt value. We want an @xref % to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we % first read the @float command. % \def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}% % Magic string used for the XREFLABEL-title value, so \xrefX can % distinguish floats from other xref types. \def\floatmagic{!!float!!} % #1 is the control sequence we are passed; we expand into a conditional % which is true if #1 represents a float ref. That is, the magic % \lastsection value which we \setref above. % \def\iffloat#1{\expandafter\doiffloat#1==\finish} % % #1 is (maybe) the \floatmagic string. If so, #2 will be the % (safe) float type for this float. We set \iffloattype to #2. % \def\doiffloat#1=#2=#3\finish{% \def\temp{#1}% \def\iffloattype{#2}% \ifx\temp\floatmagic } % @listoffloats FLOATTYPE - print a list of floats like a table of contents. % \parseargdef\listoffloats{% \def\floattype{#1}% floattype {% % the floattype might have accents or other special characters, % but we need to use it in a control sequence name. \indexnofonts \turnoffactive \xdef\safefloattype{\floattype}% }% % % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE. \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax \ifhavexrefs % if the user said @listoffloats foo but never @float foo. \message{\linenumber No `\safefloattype' floats to list.}% \fi \else \begingroup \leftskip=\tocindent % indent these entries like a toc \let\do=\listoffloatsdo \csname floatlist\safefloattype\endcsname \endgroup \fi } % This is called on each entry in a list of floats. We're passed the % xref label, in the form LABEL-title, which is how we save it in the % aux file. We strip off the -title and look up \XRLABEL-lof, which % has the text we're supposed to typeset here. % % Figures without xref labels will not be included in the list (since % they won't appear in the aux file). % \def\listoffloatsdo#1{\listoffloatsdoentry#1\finish} \def\listoffloatsdoentry#1-title\finish{{% % Can't fully expand XR#1-lof because it can contain anything. Just % pass the control sequence. On the other hand, XR#1-pg is just the % page number, and we want to fully expand that so we can get a link % in pdf output. \toksA = \expandafter{\csname XR#1-lof\endcsname}% % % use the same \entry macro we use to generate the TOC and index. \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}% \writeentry }} \message{localization,} % For single-language documents, @documentlanguage is usually given very % early, just after @documentencoding. Single argument is the language % (de) or locale (de_DE) abbreviation. % { \catcode`\_ = \active \globaldefs=1 \parseargdef\documentlanguage{% \tex % read txi-??.tex file in plain TeX. % Read the file by the name they passed if it exists. \let_ = \normalunderscore % normal _ character for filename test \openin 1 txi-#1.tex \ifeof 1 \documentlanguagetrywithoutunderscore #1_\finish \else \globaldefs = 1 % everything in the txi-LL files needs to persist \input txi-#1.tex \fi \closein 1 \endgroup % end raw TeX } % % If they passed de_DE, and txi-de_DE.tex doesn't exist, % try txi-de.tex. % \gdef\documentlanguagetrywithoutunderscore#1_#2\finish{% \openin 1 txi-#1.tex \ifeof 1 \errhelp = \nolanghelp \errmessage{Cannot read language file txi-#1.tex}% \else \globaldefs = 1 % everything in the txi-LL files needs to persist \input txi-#1.tex \fi \closein 1 } }% end of special _ catcode % \newhelp\nolanghelp{The given language definition file cannot be found or is empty. Maybe you need to install it? Putting it in the current directory should work if nowhere else does.} % This macro is called from txi-??.tex files; the first argument is the % \language name to set (without the "\lang@" prefix), the second and % third args are \{left,right}hyphenmin. % % The language names to pass are determined when the format is built. % See the etex.log file created at that time, e.g., % /usr/local/texlive/2008/texmf-var/web2c/pdftex/etex.log. % % With TeX Live 2008, etex now includes hyphenation patterns for all % available languages. This means we can support hyphenation in % Texinfo, at least to some extent. (This still doesn't solve the % accented characters problem.) % \catcode`@=11 \def\txisetlanguage#1#2#3{% % do not set the language if the name is undefined in the current TeX. \expandafter\ifx\csname lang@#1\endcsname \relax \message{no patterns for #1}% \else \global\language = \csname lang@#1\endcsname \fi % but there is no harm in adjusting the hyphenmin values regardless. \global\lefthyphenmin = #2\relax \global\righthyphenmin = #3\relax } % XeTeX and LuaTeX can handle Unicode natively. % Their default I/O uses UTF-8 sequences instead of a byte-wise operation. % Other TeX engines' I/O (pdfTeX, etc.) is byte-wise. % \newif\iftxinativeunicodecapable \newif\iftxiusebytewiseio \ifx\XeTeXrevision\thisisundefined \ifx\luatexversion\thisisundefined \txinativeunicodecapablefalse \txiusebytewiseiotrue \else \txinativeunicodecapabletrue \txiusebytewiseiofalse \fi \else \txinativeunicodecapabletrue \txiusebytewiseiofalse \fi % Set I/O by bytes instead of UTF-8 sequence for XeTeX and LuaTex % for non-UTF-8 (byte-wise) encodings. % \def\setbytewiseio{% \ifx\XeTeXrevision\thisisundefined \else \XeTeXdefaultencoding "bytes" % For subsequent files to be read \XeTeXinputencoding "bytes" % For document root file % Unfortunately, there seems to be no corresponding XeTeX command for % output encoding. This is a problem for auxiliary index and TOC files. % The only solution would be perhaps to write out @U{...} sequences in % place of non-ASCII characters. \fi \ifx\luatexversion\thisisundefined \else \directlua{ local utf8_char, byte, gsub = unicode.utf8.char, string.byte, string.gsub local function convert_char (char) return utf8_char(byte(char)) end local function convert_line (line) return gsub(line, ".", convert_char) end callback.register("process_input_buffer", convert_line) local function convert_line_out (line) local line_out = "" for c in string.utfvalues(line) do line_out = line_out .. string.char(c) end return line_out end callback.register("process_output_buffer", convert_line_out) } \fi \txiusebytewiseiotrue } % Helpers for encodings. % Set the catcode of characters 128 through 255 to the specified number. % \def\setnonasciicharscatcode#1{% \count255=128 \loop\ifnum\count255<256 \global\catcode\count255=#1\relax \advance\count255 by 1 \repeat } \def\setnonasciicharscatcodenonglobal#1{% \count255=128 \loop\ifnum\count255<256 \catcode\count255=#1\relax \advance\count255 by 1 \repeat } % @documentencoding sets the definition of non-ASCII characters % according to the specified encoding. % \def\documentencoding{\parseargusing\filenamecatcodes\documentencodingzzz} \def\documentencodingzzz#1{% % % Encoding being declared for the document. \def\declaredencoding{\csname #1.enc\endcsname}% % % Supported encodings: names converted to tokens in order to be able % to compare them with \ifx. \def\ascii{\csname US-ASCII.enc\endcsname}% \def\latnine{\csname ISO-8859-15.enc\endcsname}% \def\latone{\csname ISO-8859-1.enc\endcsname}% \def\lattwo{\csname ISO-8859-2.enc\endcsname}% \def\utfeight{\csname UTF-8.enc\endcsname}% % \ifx \declaredencoding \ascii \asciichardefs % \else \ifx \declaredencoding \lattwo \iftxinativeunicodecapable \setbytewiseio \fi \setnonasciicharscatcode\active \lattwochardefs % \else \ifx \declaredencoding \latone \iftxinativeunicodecapable \setbytewiseio \fi \setnonasciicharscatcode\active \latonechardefs % \else \ifx \declaredencoding \latnine \iftxinativeunicodecapable \setbytewiseio \fi \setnonasciicharscatcode\active \latninechardefs % \else \ifx \declaredencoding \utfeight \iftxinativeunicodecapable % For native Unicode handling (XeTeX and LuaTeX) \nativeunicodechardefs \else % For treating UTF-8 as byte sequences (TeX, eTeX and pdfTeX) \setnonasciicharscatcode\active % since we already invoked \utfeightchardefs at the top level % (below), do not re-invoke it, otherwise our check for duplicated % definitions gets triggered. Making non-ascii chars active is % sufficient. \fi % \else \message{Ignoring unknown document encoding: #1.}% % \fi % utfeight \fi % latnine \fi % latone \fi % lattwo \fi % ascii % \ifx\XeTeXrevision\thisisundefined \else \ifx \declaredencoding \utfeight \else \ifx \declaredencoding \ascii \else \message{Warning: XeTeX with non-UTF-8 encodings cannot handle % non-ASCII characters in auxiliary files.}% \fi \fi \fi } % emacs-page % A message to be logged when using a character that isn't available % the default font encoding (OT1). % \def\missingcharmsg#1{\message{Character missing, sorry: #1.}} % Take account of \c (plain) vs. \, (Texinfo) difference. \def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi} % First, make active non-ASCII characters in order for them to be % correctly categorized when TeX reads the replacement text of % macros containing the character definitions. \setnonasciicharscatcode\active % \def\gdefchar#1#2{% \gdef#1{% \ifpassthroughchars \string#1% \else #2% \fi }} % Latin1 (ISO-8859-1) character definitions. \def\latonechardefs{% \gdefchar^^a0{\tie} \gdefchar^^a1{\exclamdown} \gdefchar^^a2{{\tcfont \char162}} % cent \gdefchar^^a3{\pounds{}} \gdefchar^^a4{{\tcfont \char164}} % currency \gdefchar^^a5{{\tcfont \char165}} % yen \gdefchar^^a6{{\tcfont \char166}} % broken bar \gdefchar^^a7{\S} \gdefchar^^a8{\"{}} \gdefchar^^a9{\copyright{}} \gdefchar^^aa{\ordf} \gdefchar^^ab{\guillemetleft{}} \gdefchar^^ac{\ensuremath\lnot} \gdefchar^^ad{\-} \gdefchar^^ae{\registeredsymbol{}} \gdefchar^^af{\={}} % \gdefchar^^b0{\textdegree} \gdefchar^^b1{$\pm$} \gdefchar^^b2{$^2$} \gdefchar^^b3{$^3$} \gdefchar^^b4{\'{}} \gdefchar^^b5{$\mu$} \gdefchar^^b6{\P} \gdefchar^^b7{\ensuremath\cdot} \gdefchar^^b8{\cedilla\ } \gdefchar^^b9{$^1$} \gdefchar^^ba{\ordm} \gdefchar^^bb{\guillemetright{}} \gdefchar^^bc{$1\over4$} \gdefchar^^bd{$1\over2$} \gdefchar^^be{$3\over4$} \gdefchar^^bf{\questiondown} % \gdefchar^^c0{\`A} \gdefchar^^c1{\'A} \gdefchar^^c2{\^A} \gdefchar^^c3{\~A} \gdefchar^^c4{\"A} \gdefchar^^c5{\ringaccent A} \gdefchar^^c6{\AE} \gdefchar^^c7{\cedilla C} \gdefchar^^c8{\`E} \gdefchar^^c9{\'E} \gdefchar^^ca{\^E} \gdefchar^^cb{\"E} \gdefchar^^cc{\`I} \gdefchar^^cd{\'I} \gdefchar^^ce{\^I} \gdefchar^^cf{\"I} % \gdefchar^^d0{\DH} \gdefchar^^d1{\~N} \gdefchar^^d2{\`O} \gdefchar^^d3{\'O} \gdefchar^^d4{\^O} \gdefchar^^d5{\~O} \gdefchar^^d6{\"O} \gdefchar^^d7{$\times$} \gdefchar^^d8{\O} \gdefchar^^d9{\`U} \gdefchar^^da{\'U} \gdefchar^^db{\^U} \gdefchar^^dc{\"U} \gdefchar^^dd{\'Y} \gdefchar^^de{\TH} \gdefchar^^df{\ss} % \gdefchar^^e0{\`a} \gdefchar^^e1{\'a} \gdefchar^^e2{\^a} \gdefchar^^e3{\~a} \gdefchar^^e4{\"a} \gdefchar^^e5{\ringaccent a} \gdefchar^^e6{\ae} \gdefchar^^e7{\cedilla c} \gdefchar^^e8{\`e} \gdefchar^^e9{\'e} \gdefchar^^ea{\^e} \gdefchar^^eb{\"e} \gdefchar^^ec{\`{\dotless i}} \gdefchar^^ed{\'{\dotless i}} \gdefchar^^ee{\^{\dotless i}} \gdefchar^^ef{\"{\dotless i}} % \gdefchar^^f0{\dh} \gdefchar^^f1{\~n} \gdefchar^^f2{\`o} \gdefchar^^f3{\'o} \gdefchar^^f4{\^o} \gdefchar^^f5{\~o} \gdefchar^^f6{\"o} \gdefchar^^f7{$\div$} \gdefchar^^f8{\o} \gdefchar^^f9{\`u} \gdefchar^^fa{\'u} \gdefchar^^fb{\^u} \gdefchar^^fc{\"u} \gdefchar^^fd{\'y} \gdefchar^^fe{\th} \gdefchar^^ff{\"y} } % Latin9 (ISO-8859-15) encoding character definitions. \def\latninechardefs{% % Encoding is almost identical to Latin1. \latonechardefs % \gdefchar^^a4{\euro{}} \gdefchar^^a6{\v S} \gdefchar^^a8{\v s} \gdefchar^^b4{\v Z} \gdefchar^^b8{\v z} \gdefchar^^bc{\OE} \gdefchar^^bd{\oe} \gdefchar^^be{\"Y} } % Latin2 (ISO-8859-2) character definitions. \def\lattwochardefs{% \gdefchar^^a0{\tie} \gdefchar^^a1{\ogonek{A}} \gdefchar^^a2{\u{}} \gdefchar^^a3{\L} \gdefchar^^a4{\missingcharmsg{CURRENCY SIGN}} \gdefchar^^a5{\v L} \gdefchar^^a6{\'S} \gdefchar^^a7{\S} \gdefchar^^a8{\"{}} \gdefchar^^a9{\v S} \gdefchar^^aa{\cedilla S} \gdefchar^^ab{\v T} \gdefchar^^ac{\'Z} \gdefchar^^ad{\-} \gdefchar^^ae{\v Z} \gdefchar^^af{\dotaccent Z} % \gdefchar^^b0{\textdegree{}} \gdefchar^^b1{\ogonek{a}} \gdefchar^^b2{\ogonek{ }} \gdefchar^^b3{\l} \gdefchar^^b4{\'{}} \gdefchar^^b5{\v l} \gdefchar^^b6{\'s} \gdefchar^^b7{\v{}} \gdefchar^^b8{\cedilla\ } \gdefchar^^b9{\v s} \gdefchar^^ba{\cedilla s} \gdefchar^^bb{\v t} \gdefchar^^bc{\'z} \gdefchar^^bd{\H{}} \gdefchar^^be{\v z} \gdefchar^^bf{\dotaccent z} % \gdefchar^^c0{\'R} \gdefchar^^c1{\'A} \gdefchar^^c2{\^A} \gdefchar^^c3{\u A} \gdefchar^^c4{\"A} \gdefchar^^c5{\'L} \gdefchar^^c6{\'C} \gdefchar^^c7{\cedilla C} \gdefchar^^c8{\v C} \gdefchar^^c9{\'E} \gdefchar^^ca{\ogonek{E}} \gdefchar^^cb{\"E} \gdefchar^^cc{\v E} \gdefchar^^cd{\'I} \gdefchar^^ce{\^I} \gdefchar^^cf{\v D} % \gdefchar^^d0{\DH} \gdefchar^^d1{\'N} \gdefchar^^d2{\v N} \gdefchar^^d3{\'O} \gdefchar^^d4{\^O} \gdefchar^^d5{\H O} \gdefchar^^d6{\"O} \gdefchar^^d7{$\times$} \gdefchar^^d8{\v R} \gdefchar^^d9{\ringaccent U} \gdefchar^^da{\'U} \gdefchar^^db{\H U} \gdefchar^^dc{\"U} \gdefchar^^dd{\'Y} \gdefchar^^de{\cedilla T} \gdefchar^^df{\ss} % \gdefchar^^e0{\'r} \gdefchar^^e1{\'a} \gdefchar^^e2{\^a} \gdefchar^^e3{\u a} \gdefchar^^e4{\"a} \gdefchar^^e5{\'l} \gdefchar^^e6{\'c} \gdefchar^^e7{\cedilla c} \gdefchar^^e8{\v c} \gdefchar^^e9{\'e} \gdefchar^^ea{\ogonek{e}} \gdefchar^^eb{\"e} \gdefchar^^ec{\v e} \gdefchar^^ed{\'{\dotless{i}}} \gdefchar^^ee{\^{\dotless{i}}} \gdefchar^^ef{\v d} % \gdefchar^^f0{\dh} \gdefchar^^f1{\'n} \gdefchar^^f2{\v n} \gdefchar^^f3{\'o} \gdefchar^^f4{\^o} \gdefchar^^f5{\H o} \gdefchar^^f6{\"o} \gdefchar^^f7{$\div$} \gdefchar^^f8{\v r} \gdefchar^^f9{\ringaccent u} \gdefchar^^fa{\'u} \gdefchar^^fb{\H u} \gdefchar^^fc{\"u} \gdefchar^^fd{\'y} \gdefchar^^fe{\cedilla t} \gdefchar^^ff{\dotaccent{}} } % UTF-8 character definitions. % % This code to support UTF-8 is based on LaTeX's utf8.def, with some % changes for Texinfo conventions. It is included here under the GPL by % permission from Frank Mittelbach and the LaTeX team. % \newcount\countUTFx \newcount\countUTFy \newcount\countUTFz \gdef\UTFviiiTwoOctets#1#2{\expandafter \UTFviiiDefined\csname u8:#1\string #2\endcsname} % \gdef\UTFviiiThreeOctets#1#2#3{\expandafter \UTFviiiDefined\csname u8:#1\string #2\string #3\endcsname} % \gdef\UTFviiiFourOctets#1#2#3#4{\expandafter \UTFviiiDefined\csname u8:#1\string #2\string #3\string #4\endcsname} \gdef\UTFviiiDefined#1{% \ifx #1\relax \message{\linenumber Unicode char \string #1 not defined for Texinfo}% \else \expandafter #1% \fi } % Give non-ASCII bytes the active definitions for processing UTF-8 sequences \begingroup \catcode`\~13 \catcode`\$12 \catcode`\"12 % Loop from \countUTFx to \countUTFy, performing \UTFviiiTmp % substituting ~ and $ with a character token of that value. \def\UTFviiiLoop{% \global\catcode\countUTFx\active \uccode`\~\countUTFx \uccode`\$\countUTFx \uppercase\expandafter{\UTFviiiTmp}% \advance\countUTFx by 1 \ifnum\countUTFx < \countUTFy \expandafter\UTFviiiLoop \fi} % For bytes other than the first in a UTF-8 sequence. Not expected to % be expanded except when writing to auxiliary files. \countUTFx = "80 \countUTFy = "C2 \def\UTFviiiTmp{% \gdef~{% \ifpassthroughchars $\fi}}% \UTFviiiLoop \countUTFx = "C2 \countUTFy = "E0 \def\UTFviiiTmp{% \gdef~{% \ifpassthroughchars $% \else\expandafter\UTFviiiTwoOctets\expandafter$\fi}}% \UTFviiiLoop \countUTFx = "E0 \countUTFy = "F0 \def\UTFviiiTmp{% \gdef~{% \ifpassthroughchars $% \else\expandafter\UTFviiiThreeOctets\expandafter$\fi}}% \UTFviiiLoop \countUTFx = "F0 \countUTFy = "F4 \def\UTFviiiTmp{% \gdef~{% \ifpassthroughchars $% \else\expandafter\UTFviiiFourOctets\expandafter$\fi }}% \UTFviiiLoop \endgroup \def\globallet{\global\let} % save some \expandafter's below % @U{xxxx} to produce U+xxxx, if we support it. \def\U#1{% \expandafter\ifx\csname uni:#1\endcsname \relax \iftxinativeunicodecapable % All Unicode characters can be used if native Unicode handling is % active. However, if the font does not have the glyph, % letters are missing. \begingroup \uccode`\.="#1\relax \uppercase{.} \endgroup \else \errhelp = \EMsimple \errmessage{Unicode character U+#1 not supported, sorry}% \fi \else \csname uni:#1\endcsname \fi } % These macros are used here to construct the name of a control % sequence to be defined. \def\UTFviiiTwoOctetsName#1#2{% \csname u8:#1\string #2\endcsname}% \def\UTFviiiThreeOctetsName#1#2#3{% \csname u8:#1\string #2\string #3\endcsname}% \def\UTFviiiFourOctetsName#1#2#3#4{% \csname u8:#1\string #2\string #3\string #4\endcsname}% % For UTF-8 byte sequences (TeX, e-TeX and pdfTeX), % provide a definition macro to replace a Unicode character; % this gets used by the @U command % \begingroup \catcode`\"=12 \catcode`\<=12 \catcode`\.=12 \catcode`\,=12 \catcode`\;=12 \catcode`\!=12 \catcode`\~=13 \gdef\DeclareUnicodeCharacterUTFviii#1#2{% \countUTFz = "#1\relax \begingroup \parseXMLCharref % Give \u8:... its definition. The sequence of seven \expandafter's % expands after the \gdef three times, e.g. % % 1. \UTFviiTwoOctetsName B1 B2 % 2. \csname u8:B1 \string B2 \endcsname % 3. \u8: B1 B2 (a single control sequence token) % \expandafter\expandafter \expandafter\expandafter \expandafter\expandafter \expandafter\gdef \UTFviiiTmp{#2}% % \expandafter\ifx\csname uni:#1\endcsname \relax \else \message{Internal error, already defined: #1}% \fi % % define an additional control sequence for this code point. \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp \endgroup} % % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp % to the corresponding UTF-8 sequence. \gdef\parseXMLCharref{% \ifnum\countUTFz < "A0\relax \errhelp = \EMsimple \errmessage{Cannot define Unicode char value < 00A0}% \else\ifnum\countUTFz < "800\relax \parseUTFviiiA,% \parseUTFviiiB C\UTFviiiTwoOctetsName.,% \else\ifnum\countUTFz < "10000\relax \parseUTFviiiA;% \parseUTFviiiA,% \parseUTFviiiB E\UTFviiiThreeOctetsName.{,;}% \else \parseUTFviiiA;% \parseUTFviiiA,% \parseUTFviiiA!% \parseUTFviiiB F\UTFviiiFourOctetsName.{!,;}% \fi\fi\fi } % Extract a byte from the end of the UTF-8 representation of \countUTFx. % It must be a non-initial byte in the sequence. % Change \uccode of #1 for it to be used in \parseUTFviiiB as one % of the bytes. \gdef\parseUTFviiiA#1{% \countUTFx = \countUTFz \divide\countUTFz by 64 \countUTFy = \countUTFz % Save to be the future value of \countUTFz. \multiply\countUTFz by 64 % \countUTFz is now \countUTFx with the last 5 bits cleared. Subtract % in order to get the last five bits. \advance\countUTFx by -\countUTFz % Convert this to the byte in the UTF-8 sequence. \advance\countUTFx by 128 \uccode `#1\countUTFx \countUTFz = \countUTFy} % Used to put a UTF-8 byte sequence into \UTFviiiTmp % #1 is the increment for \countUTFz to yield a the first byte of the UTF-8 % sequence. % #2 is one of the \UTFviii*OctetsName macros. % #3 is always a full stop (.) % #4 is a template for the other bytes in the sequence. The values for these % bytes is substituted in here with \uppercase using the \uccode's. \gdef\parseUTFviiiB#1#2#3#4{% \advance\countUTFz by "#10\relax \uccode `#3\countUTFz \uppercase{\gdef\UTFviiiTmp{#2#3#4}}} \endgroup % For native Unicode handling (XeTeX and LuaTeX), % provide a definition macro that sets a catcode to `other' non-globally % \def\DeclareUnicodeCharacterNativeOther#1#2{% \catcode"#1=\other } % https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_M % U+0000..U+007F = https://en.wikipedia.org/wiki/Basic_Latin_(Unicode_block) % U+0080..U+00FF = https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block) % U+0100..U+017F = https://en.wikipedia.org/wiki/Latin_Extended-A % U+0180..U+024F = https://en.wikipedia.org/wiki/Latin_Extended-B % % Many of our renditions are less than wonderful, and all the missing % characters are available somewhere. Loading the necessary fonts % awaits user request. We can't truly support Unicode without % reimplementing everything that's been done in LaTeX for many years, % plus probably using luatex or xetex, and who knows what else. % We won't be doing that here in this simple file. But we can try to at % least make most of the characters not bomb out. % \def\unicodechardefs{% \DeclareUnicodeCharacter{00A0}{\tie}% \DeclareUnicodeCharacter{00A1}{\exclamdown}% \DeclareUnicodeCharacter{00A2}{{\tcfont \char162}}% 0242=cent \DeclareUnicodeCharacter{00A3}{\pounds{}}% \DeclareUnicodeCharacter{00A4}{{\tcfont \char164}}% 0244=currency \DeclareUnicodeCharacter{00A5}{{\tcfont \char165}}% 0245=yen \DeclareUnicodeCharacter{00A6}{{\tcfont \char166}}% 0246=brokenbar \DeclareUnicodeCharacter{00A7}{\S}% \DeclareUnicodeCharacter{00A8}{\"{ }}% \DeclareUnicodeCharacter{00A9}{\copyright{}}% \DeclareUnicodeCharacter{00AA}{\ordf}% \DeclareUnicodeCharacter{00AB}{\guillemetleft{}}% \DeclareUnicodeCharacter{00AC}{\ensuremath\lnot}% \DeclareUnicodeCharacter{00AD}{\-}% \DeclareUnicodeCharacter{00AE}{\registeredsymbol{}}% \DeclareUnicodeCharacter{00AF}{\={ }}% % \DeclareUnicodeCharacter{00B0}{\ringaccent{ }}% \DeclareUnicodeCharacter{00B1}{\ensuremath\pm}% \DeclareUnicodeCharacter{00B2}{$^2$}% \DeclareUnicodeCharacter{00B3}{$^3$}% \DeclareUnicodeCharacter{00B4}{\'{ }}% \DeclareUnicodeCharacter{00B5}{$\mu$}% \DeclareUnicodeCharacter{00B6}{\P}% \DeclareUnicodeCharacter{00B7}{\ensuremath\cdot}% \DeclareUnicodeCharacter{00B8}{\cedilla{ }}% \DeclareUnicodeCharacter{00B9}{$^1$}% \DeclareUnicodeCharacter{00BA}{\ordm}% \DeclareUnicodeCharacter{00BB}{\guillemetright{}}% \DeclareUnicodeCharacter{00BC}{$1\over4$}% \DeclareUnicodeCharacter{00BD}{$1\over2$}% \DeclareUnicodeCharacter{00BE}{$3\over4$}% \DeclareUnicodeCharacter{00BF}{\questiondown}% % \DeclareUnicodeCharacter{00C0}{\`A}% \DeclareUnicodeCharacter{00C1}{\'A}% \DeclareUnicodeCharacter{00C2}{\^A}% \DeclareUnicodeCharacter{00C3}{\~A}% \DeclareUnicodeCharacter{00C4}{\"A}% \DeclareUnicodeCharacter{00C5}{\AA}% \DeclareUnicodeCharacter{00C6}{\AE}% \DeclareUnicodeCharacter{00C7}{\cedilla{C}}% \DeclareUnicodeCharacter{00C8}{\`E}% \DeclareUnicodeCharacter{00C9}{\'E}% \DeclareUnicodeCharacter{00CA}{\^E}% \DeclareUnicodeCharacter{00CB}{\"E}% \DeclareUnicodeCharacter{00CC}{\`I}% \DeclareUnicodeCharacter{00CD}{\'I}% \DeclareUnicodeCharacter{00CE}{\^I}% \DeclareUnicodeCharacter{00CF}{\"I}% % \DeclareUnicodeCharacter{00D0}{\DH}% \DeclareUnicodeCharacter{00D1}{\~N}% \DeclareUnicodeCharacter{00D2}{\`O}% \DeclareUnicodeCharacter{00D3}{\'O}% \DeclareUnicodeCharacter{00D4}{\^O}% \DeclareUnicodeCharacter{00D5}{\~O}% \DeclareUnicodeCharacter{00D6}{\"O}% \DeclareUnicodeCharacter{00D7}{\ensuremath\times}% \DeclareUnicodeCharacter{00D8}{\O}% \DeclareUnicodeCharacter{00D9}{\`U}% \DeclareUnicodeCharacter{00DA}{\'U}% \DeclareUnicodeCharacter{00DB}{\^U}% \DeclareUnicodeCharacter{00DC}{\"U}% \DeclareUnicodeCharacter{00DD}{\'Y}% \DeclareUnicodeCharacter{00DE}{\TH}% \DeclareUnicodeCharacter{00DF}{\ss}% % \DeclareUnicodeCharacter{00E0}{\`a}% \DeclareUnicodeCharacter{00E1}{\'a}% \DeclareUnicodeCharacter{00E2}{\^a}% \DeclareUnicodeCharacter{00E3}{\~a}% \DeclareUnicodeCharacter{00E4}{\"a}% \DeclareUnicodeCharacter{00E5}{\aa}% \DeclareUnicodeCharacter{00E6}{\ae}% \DeclareUnicodeCharacter{00E7}{\cedilla{c}}% \DeclareUnicodeCharacter{00E8}{\`e}% \DeclareUnicodeCharacter{00E9}{\'e}% \DeclareUnicodeCharacter{00EA}{\^e}% \DeclareUnicodeCharacter{00EB}{\"e}% \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}}% \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}}% \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}}% \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}}% % \DeclareUnicodeCharacter{00F0}{\dh}% \DeclareUnicodeCharacter{00F1}{\~n}% \DeclareUnicodeCharacter{00F2}{\`o}% \DeclareUnicodeCharacter{00F3}{\'o}% \DeclareUnicodeCharacter{00F4}{\^o}% \DeclareUnicodeCharacter{00F5}{\~o}% \DeclareUnicodeCharacter{00F6}{\"o}% \DeclareUnicodeCharacter{00F7}{\ensuremath\div}% \DeclareUnicodeCharacter{00F8}{\o}% \DeclareUnicodeCharacter{00F9}{\`u}% \DeclareUnicodeCharacter{00FA}{\'u}% \DeclareUnicodeCharacter{00FB}{\^u}% \DeclareUnicodeCharacter{00FC}{\"u}% \DeclareUnicodeCharacter{00FD}{\'y}% \DeclareUnicodeCharacter{00FE}{\th}% \DeclareUnicodeCharacter{00FF}{\"y}% % \DeclareUnicodeCharacter{0100}{\=A}% \DeclareUnicodeCharacter{0101}{\=a}% \DeclareUnicodeCharacter{0102}{\u{A}}% \DeclareUnicodeCharacter{0103}{\u{a}}% \DeclareUnicodeCharacter{0104}{\ogonek{A}}% \DeclareUnicodeCharacter{0105}{\ogonek{a}}% \DeclareUnicodeCharacter{0106}{\'C}% \DeclareUnicodeCharacter{0107}{\'c}% \DeclareUnicodeCharacter{0108}{\^C}% \DeclareUnicodeCharacter{0109}{\^c}% \DeclareUnicodeCharacter{010A}{\dotaccent{C}}% \DeclareUnicodeCharacter{010B}{\dotaccent{c}}% \DeclareUnicodeCharacter{010C}{\v{C}}% \DeclareUnicodeCharacter{010D}{\v{c}}% \DeclareUnicodeCharacter{010E}{\v{D}}% \DeclareUnicodeCharacter{010F}{d'}% % \DeclareUnicodeCharacter{0110}{\DH}% \DeclareUnicodeCharacter{0111}{\dh}% \DeclareUnicodeCharacter{0112}{\=E}% \DeclareUnicodeCharacter{0113}{\=e}% \DeclareUnicodeCharacter{0114}{\u{E}}% \DeclareUnicodeCharacter{0115}{\u{e}}% \DeclareUnicodeCharacter{0116}{\dotaccent{E}}% \DeclareUnicodeCharacter{0117}{\dotaccent{e}}% \DeclareUnicodeCharacter{0118}{\ogonek{E}}% \DeclareUnicodeCharacter{0119}{\ogonek{e}}% \DeclareUnicodeCharacter{011A}{\v{E}}% \DeclareUnicodeCharacter{011B}{\v{e}}% \DeclareUnicodeCharacter{011C}{\^G}% \DeclareUnicodeCharacter{011D}{\^g}% \DeclareUnicodeCharacter{011E}{\u{G}}% \DeclareUnicodeCharacter{011F}{\u{g}}% % \DeclareUnicodeCharacter{0120}{\dotaccent{G}}% \DeclareUnicodeCharacter{0121}{\dotaccent{g}}% \DeclareUnicodeCharacter{0122}{\cedilla{G}}% \DeclareUnicodeCharacter{0123}{\cedilla{g}}% \DeclareUnicodeCharacter{0124}{\^H}% \DeclareUnicodeCharacter{0125}{\^h}% \DeclareUnicodeCharacter{0126}{\missingcharmsg{H WITH STROKE}}% \DeclareUnicodeCharacter{0127}{\missingcharmsg{h WITH STROKE}}% \DeclareUnicodeCharacter{0128}{\~I}% \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}}% \DeclareUnicodeCharacter{012A}{\=I}% \DeclareUnicodeCharacter{012B}{\={\dotless{i}}}% \DeclareUnicodeCharacter{012C}{\u{I}}% \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}}% \DeclareUnicodeCharacter{012E}{\ogonek{I}}% \DeclareUnicodeCharacter{012F}{\ogonek{i}}% % \DeclareUnicodeCharacter{0130}{\dotaccent{I}}% \DeclareUnicodeCharacter{0131}{\dotless{i}}% \DeclareUnicodeCharacter{0132}{IJ}% \DeclareUnicodeCharacter{0133}{ij}% \DeclareUnicodeCharacter{0134}{\^J}% \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}}% \DeclareUnicodeCharacter{0136}{\cedilla{K}}% \DeclareUnicodeCharacter{0137}{\cedilla{k}}% \DeclareUnicodeCharacter{0138}{\ensuremath\kappa}% \DeclareUnicodeCharacter{0139}{\'L}% \DeclareUnicodeCharacter{013A}{\'l}% \DeclareUnicodeCharacter{013B}{\cedilla{L}}% \DeclareUnicodeCharacter{013C}{\cedilla{l}}% \DeclareUnicodeCharacter{013D}{L'}% should kern \DeclareUnicodeCharacter{013E}{l'}% should kern \DeclareUnicodeCharacter{013F}{L\U{00B7}}% % \DeclareUnicodeCharacter{0140}{l\U{00B7}}% \DeclareUnicodeCharacter{0141}{\L}% \DeclareUnicodeCharacter{0142}{\l}% \DeclareUnicodeCharacter{0143}{\'N}% \DeclareUnicodeCharacter{0144}{\'n}% \DeclareUnicodeCharacter{0145}{\cedilla{N}}% \DeclareUnicodeCharacter{0146}{\cedilla{n}}% \DeclareUnicodeCharacter{0147}{\v{N}}% \DeclareUnicodeCharacter{0148}{\v{n}}% \DeclareUnicodeCharacter{0149}{'n}% \DeclareUnicodeCharacter{014A}{\missingcharmsg{ENG}}% \DeclareUnicodeCharacter{014B}{\missingcharmsg{eng}}% \DeclareUnicodeCharacter{014C}{\=O}% \DeclareUnicodeCharacter{014D}{\=o}% \DeclareUnicodeCharacter{014E}{\u{O}}% \DeclareUnicodeCharacter{014F}{\u{o}}% % \DeclareUnicodeCharacter{0150}{\H{O}}% \DeclareUnicodeCharacter{0151}{\H{o}}% \DeclareUnicodeCharacter{0152}{\OE}% \DeclareUnicodeCharacter{0153}{\oe}% \DeclareUnicodeCharacter{0154}{\'R}% \DeclareUnicodeCharacter{0155}{\'r}% \DeclareUnicodeCharacter{0156}{\cedilla{R}}% \DeclareUnicodeCharacter{0157}{\cedilla{r}}% \DeclareUnicodeCharacter{0158}{\v{R}}% \DeclareUnicodeCharacter{0159}{\v{r}}% \DeclareUnicodeCharacter{015A}{\'S}% \DeclareUnicodeCharacter{015B}{\'s}% \DeclareUnicodeCharacter{015C}{\^S}% \DeclareUnicodeCharacter{015D}{\^s}% \DeclareUnicodeCharacter{015E}{\cedilla{S}}% \DeclareUnicodeCharacter{015F}{\cedilla{s}}% % \DeclareUnicodeCharacter{0160}{\v{S}}% \DeclareUnicodeCharacter{0161}{\v{s}}% \DeclareUnicodeCharacter{0162}{\cedilla{T}}% \DeclareUnicodeCharacter{0163}{\cedilla{t}}% \DeclareUnicodeCharacter{0164}{\v{T}}% \DeclareUnicodeCharacter{0165}{\v{t}}% \DeclareUnicodeCharacter{0166}{\missingcharmsg{H WITH STROKE}}% \DeclareUnicodeCharacter{0167}{\missingcharmsg{h WITH STROKE}}% \DeclareUnicodeCharacter{0168}{\~U}% \DeclareUnicodeCharacter{0169}{\~u}% \DeclareUnicodeCharacter{016A}{\=U}% \DeclareUnicodeCharacter{016B}{\=u}% \DeclareUnicodeCharacter{016C}{\u{U}}% \DeclareUnicodeCharacter{016D}{\u{u}}% \DeclareUnicodeCharacter{016E}{\ringaccent{U}}% \DeclareUnicodeCharacter{016F}{\ringaccent{u}}% % \DeclareUnicodeCharacter{0170}{\H{U}}% \DeclareUnicodeCharacter{0171}{\H{u}}% \DeclareUnicodeCharacter{0172}{\ogonek{U}}% \DeclareUnicodeCharacter{0173}{\ogonek{u}}% \DeclareUnicodeCharacter{0174}{\^W}% \DeclareUnicodeCharacter{0175}{\^w}% \DeclareUnicodeCharacter{0176}{\^Y}% \DeclareUnicodeCharacter{0177}{\^y}% \DeclareUnicodeCharacter{0178}{\"Y}% \DeclareUnicodeCharacter{0179}{\'Z}% \DeclareUnicodeCharacter{017A}{\'z}% \DeclareUnicodeCharacter{017B}{\dotaccent{Z}}% \DeclareUnicodeCharacter{017C}{\dotaccent{z}}% \DeclareUnicodeCharacter{017D}{\v{Z}}% \DeclareUnicodeCharacter{017E}{\v{z}}% \DeclareUnicodeCharacter{017F}{\missingcharmsg{LONG S}}% % \DeclareUnicodeCharacter{01C4}{D\v{Z}}% \DeclareUnicodeCharacter{01C5}{D\v{z}}% \DeclareUnicodeCharacter{01C6}{d\v{z}}% \DeclareUnicodeCharacter{01C7}{LJ}% \DeclareUnicodeCharacter{01C8}{Lj}% \DeclareUnicodeCharacter{01C9}{lj}% \DeclareUnicodeCharacter{01CA}{NJ}% \DeclareUnicodeCharacter{01CB}{Nj}% \DeclareUnicodeCharacter{01CC}{nj}% \DeclareUnicodeCharacter{01CD}{\v{A}}% \DeclareUnicodeCharacter{01CE}{\v{a}}% \DeclareUnicodeCharacter{01CF}{\v{I}}% % \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}}% \DeclareUnicodeCharacter{01D1}{\v{O}}% \DeclareUnicodeCharacter{01D2}{\v{o}}% \DeclareUnicodeCharacter{01D3}{\v{U}}% \DeclareUnicodeCharacter{01D4}{\v{u}}% % \DeclareUnicodeCharacter{01E2}{\={\AE}}% \DeclareUnicodeCharacter{01E3}{\={\ae}}% \DeclareUnicodeCharacter{01E6}{\v{G}}% \DeclareUnicodeCharacter{01E7}{\v{g}}% \DeclareUnicodeCharacter{01E8}{\v{K}}% \DeclareUnicodeCharacter{01E9}{\v{k}}% % \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}}% \DeclareUnicodeCharacter{01F1}{DZ}% \DeclareUnicodeCharacter{01F2}{Dz}% \DeclareUnicodeCharacter{01F3}{dz}% \DeclareUnicodeCharacter{01F4}{\'G}% \DeclareUnicodeCharacter{01F5}{\'g}% \DeclareUnicodeCharacter{01F8}{\`N}% \DeclareUnicodeCharacter{01F9}{\`n}% \DeclareUnicodeCharacter{01FC}{\'{\AE}}% \DeclareUnicodeCharacter{01FD}{\'{\ae}}% \DeclareUnicodeCharacter{01FE}{\'{\O}}% \DeclareUnicodeCharacter{01FF}{\'{\o}}% % \DeclareUnicodeCharacter{021E}{\v{H}}% \DeclareUnicodeCharacter{021F}{\v{h}}% % \DeclareUnicodeCharacter{0226}{\dotaccent{A}}% \DeclareUnicodeCharacter{0227}{\dotaccent{a}}% \DeclareUnicodeCharacter{0228}{\cedilla{E}}% \DeclareUnicodeCharacter{0229}{\cedilla{e}}% \DeclareUnicodeCharacter{022E}{\dotaccent{O}}% \DeclareUnicodeCharacter{022F}{\dotaccent{o}}% % \DeclareUnicodeCharacter{0232}{\=Y}% \DeclareUnicodeCharacter{0233}{\=y}% \DeclareUnicodeCharacter{0237}{\dotless{j}}% % \DeclareUnicodeCharacter{02DB}{\ogonek{ }}% % % Greek letters upper case \DeclareUnicodeCharacter{0391}{{\it A}}% \DeclareUnicodeCharacter{0392}{{\it B}}% \DeclareUnicodeCharacter{0393}{\ensuremath{\mit\Gamma}}% \DeclareUnicodeCharacter{0394}{\ensuremath{\mit\Delta}}% \DeclareUnicodeCharacter{0395}{{\it E}}% \DeclareUnicodeCharacter{0396}{{\it Z}}% \DeclareUnicodeCharacter{0397}{{\it H}}% \DeclareUnicodeCharacter{0398}{\ensuremath{\mit\Theta}}% \DeclareUnicodeCharacter{0399}{{\it I}}% \DeclareUnicodeCharacter{039A}{{\it K}}% \DeclareUnicodeCharacter{039B}{\ensuremath{\mit\Lambda}}% \DeclareUnicodeCharacter{039C}{{\it M}}% \DeclareUnicodeCharacter{039D}{{\it N}}% \DeclareUnicodeCharacter{039E}{\ensuremath{\mit\Xi}}% \DeclareUnicodeCharacter{039F}{{\it O}}% \DeclareUnicodeCharacter{03A0}{\ensuremath{\mit\Pi}}% \DeclareUnicodeCharacter{03A1}{{\it P}}% %\DeclareUnicodeCharacter{03A2}{} % none - corresponds to final sigma \DeclareUnicodeCharacter{03A3}{\ensuremath{\mit\Sigma}}% \DeclareUnicodeCharacter{03A4}{{\it T}}% \DeclareUnicodeCharacter{03A5}{\ensuremath{\mit\Upsilon}}% \DeclareUnicodeCharacter{03A6}{\ensuremath{\mit\Phi}}% \DeclareUnicodeCharacter{03A7}{{\it X}}% \DeclareUnicodeCharacter{03A8}{\ensuremath{\mit\Psi}}% \DeclareUnicodeCharacter{03A9}{\ensuremath{\mit\Omega}}% % % Vowels with accents \DeclareUnicodeCharacter{0390}{\ensuremath{\ddot{\acute\iota}}}% \DeclareUnicodeCharacter{03AC}{\ensuremath{\acute\alpha}}% \DeclareUnicodeCharacter{03AD}{\ensuremath{\acute\epsilon}}% \DeclareUnicodeCharacter{03AE}{\ensuremath{\acute\eta}}% \DeclareUnicodeCharacter{03AF}{\ensuremath{\acute\iota}}% \DeclareUnicodeCharacter{03B0}{\ensuremath{\acute{\ddot\upsilon}}}% % % Standalone accent \DeclareUnicodeCharacter{0384}{\ensuremath{\acute{\ }}}% % % Greek letters lower case \DeclareUnicodeCharacter{03B1}{\ensuremath\alpha}% \DeclareUnicodeCharacter{03B2}{\ensuremath\beta}% \DeclareUnicodeCharacter{03B3}{\ensuremath\gamma}% \DeclareUnicodeCharacter{03B4}{\ensuremath\delta}% \DeclareUnicodeCharacter{03B5}{\ensuremath\epsilon}% \DeclareUnicodeCharacter{03B6}{\ensuremath\zeta}% \DeclareUnicodeCharacter{03B7}{\ensuremath\eta}% \DeclareUnicodeCharacter{03B8}{\ensuremath\theta}% \DeclareUnicodeCharacter{03B9}{\ensuremath\iota}% \DeclareUnicodeCharacter{03BA}{\ensuremath\kappa}% \DeclareUnicodeCharacter{03BB}{\ensuremath\lambda}% \DeclareUnicodeCharacter{03BC}{\ensuremath\mu}% \DeclareUnicodeCharacter{03BD}{\ensuremath\nu}% \DeclareUnicodeCharacter{03BE}{\ensuremath\xi}% \DeclareUnicodeCharacter{03BF}{{\it o}}% omicron \DeclareUnicodeCharacter{03C0}{\ensuremath\pi}% \DeclareUnicodeCharacter{03C1}{\ensuremath\rho}% \DeclareUnicodeCharacter{03C2}{\ensuremath\varsigma}% \DeclareUnicodeCharacter{03C3}{\ensuremath\sigma}% \DeclareUnicodeCharacter{03C4}{\ensuremath\tau}% \DeclareUnicodeCharacter{03C5}{\ensuremath\upsilon}% \DeclareUnicodeCharacter{03C6}{\ensuremath\phi}% \DeclareUnicodeCharacter{03C7}{\ensuremath\chi}% \DeclareUnicodeCharacter{03C8}{\ensuremath\psi}% \DeclareUnicodeCharacter{03C9}{\ensuremath\omega}% % % More Greek vowels with accents \DeclareUnicodeCharacter{03CA}{\ensuremath{\ddot\iota}}% \DeclareUnicodeCharacter{03CB}{\ensuremath{\ddot\upsilon}}% \DeclareUnicodeCharacter{03CC}{\ensuremath{\acute o}}% \DeclareUnicodeCharacter{03CD}{\ensuremath{\acute\upsilon}}% \DeclareUnicodeCharacter{03CE}{\ensuremath{\acute\omega}}% % % Variant Greek letters \DeclareUnicodeCharacter{03D1}{\ensuremath\vartheta}% \DeclareUnicodeCharacter{03D6}{\ensuremath\varpi}% \DeclareUnicodeCharacter{03F1}{\ensuremath\varrho}% % \DeclareUnicodeCharacter{1E02}{\dotaccent{B}}% \DeclareUnicodeCharacter{1E03}{\dotaccent{b}}% \DeclareUnicodeCharacter{1E04}{\udotaccent{B}}% \DeclareUnicodeCharacter{1E05}{\udotaccent{b}}% \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}}% \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}}% \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}}% \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}}% \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}}% \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}}% \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}}% \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}}% % \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}}% \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}}% % \DeclareUnicodeCharacter{1E20}{\=G}% \DeclareUnicodeCharacter{1E21}{\=g}% \DeclareUnicodeCharacter{1E22}{\dotaccent{H}}% \DeclareUnicodeCharacter{1E23}{\dotaccent{h}}% \DeclareUnicodeCharacter{1E24}{\udotaccent{H}}% \DeclareUnicodeCharacter{1E25}{\udotaccent{h}}% \DeclareUnicodeCharacter{1E26}{\"H}% \DeclareUnicodeCharacter{1E27}{\"h}% % \DeclareUnicodeCharacter{1E30}{\'K}% \DeclareUnicodeCharacter{1E31}{\'k}% \DeclareUnicodeCharacter{1E32}{\udotaccent{K}}% \DeclareUnicodeCharacter{1E33}{\udotaccent{k}}% \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}}% \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}}% \DeclareUnicodeCharacter{1E36}{\udotaccent{L}}% \DeclareUnicodeCharacter{1E37}{\udotaccent{l}}% \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}}% \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}}% \DeclareUnicodeCharacter{1E3E}{\'M}% \DeclareUnicodeCharacter{1E3F}{\'m}% % \DeclareUnicodeCharacter{1E40}{\dotaccent{M}}% \DeclareUnicodeCharacter{1E41}{\dotaccent{m}}% \DeclareUnicodeCharacter{1E42}{\udotaccent{M}}% \DeclareUnicodeCharacter{1E43}{\udotaccent{m}}% \DeclareUnicodeCharacter{1E44}{\dotaccent{N}}% \DeclareUnicodeCharacter{1E45}{\dotaccent{n}}% \DeclareUnicodeCharacter{1E46}{\udotaccent{N}}% \DeclareUnicodeCharacter{1E47}{\udotaccent{n}}% \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}}% \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}}% % \DeclareUnicodeCharacter{1E54}{\'P}% \DeclareUnicodeCharacter{1E55}{\'p}% \DeclareUnicodeCharacter{1E56}{\dotaccent{P}}% \DeclareUnicodeCharacter{1E57}{\dotaccent{p}}% \DeclareUnicodeCharacter{1E58}{\dotaccent{R}}% \DeclareUnicodeCharacter{1E59}{\dotaccent{r}}% \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}}% \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}}% \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}}% \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}}% % \DeclareUnicodeCharacter{1E60}{\dotaccent{S}}% \DeclareUnicodeCharacter{1E61}{\dotaccent{s}}% \DeclareUnicodeCharacter{1E62}{\udotaccent{S}}% \DeclareUnicodeCharacter{1E63}{\udotaccent{s}}% \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}}% \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}}% \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}}% \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}}% \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}}% \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}}% % \DeclareUnicodeCharacter{1E7C}{\~V}% \DeclareUnicodeCharacter{1E7D}{\~v}% \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}}% \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}}% % \DeclareUnicodeCharacter{1E80}{\`W}% \DeclareUnicodeCharacter{1E81}{\`w}% \DeclareUnicodeCharacter{1E82}{\'W}% \DeclareUnicodeCharacter{1E83}{\'w}% \DeclareUnicodeCharacter{1E84}{\"W}% \DeclareUnicodeCharacter{1E85}{\"w}% \DeclareUnicodeCharacter{1E86}{\dotaccent{W}}% \DeclareUnicodeCharacter{1E87}{\dotaccent{w}}% \DeclareUnicodeCharacter{1E88}{\udotaccent{W}}% \DeclareUnicodeCharacter{1E89}{\udotaccent{w}}% \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}}% \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}}% \DeclareUnicodeCharacter{1E8C}{\"X}% \DeclareUnicodeCharacter{1E8D}{\"x}% \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}}% \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}}% % \DeclareUnicodeCharacter{1E90}{\^Z}% \DeclareUnicodeCharacter{1E91}{\^z}% \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}}% \DeclareUnicodeCharacter{1E93}{\udotaccent{z}}% \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}}% \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}}% \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}}% \DeclareUnicodeCharacter{1E97}{\"t}% \DeclareUnicodeCharacter{1E98}{\ringaccent{w}}% \DeclareUnicodeCharacter{1E99}{\ringaccent{y}}% % \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}}% \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}}% % \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}}% \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}}% \DeclareUnicodeCharacter{1EBC}{\~E}% \DeclareUnicodeCharacter{1EBD}{\~e}% % \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}}% \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}}% \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}}% \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}}% % \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}}% \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}}% % \DeclareUnicodeCharacter{1EF2}{\`Y}% \DeclareUnicodeCharacter{1EF3}{\`y}% \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}}% % \DeclareUnicodeCharacter{1EF8}{\~Y}% \DeclareUnicodeCharacter{1EF9}{\~y}% % % Punctuation \DeclareUnicodeCharacter{2013}{--}% \DeclareUnicodeCharacter{2014}{---}% \DeclareUnicodeCharacter{2018}{\quoteleft{}}% \DeclareUnicodeCharacter{2019}{\quoteright{}}% \DeclareUnicodeCharacter{201A}{\quotesinglbase{}}% \DeclareUnicodeCharacter{201C}{\quotedblleft{}}% \DeclareUnicodeCharacter{201D}{\quotedblright{}}% \DeclareUnicodeCharacter{201E}{\quotedblbase{}}% \DeclareUnicodeCharacter{2020}{\ensuremath\dagger}% \DeclareUnicodeCharacter{2021}{\ensuremath\ddagger}% \DeclareUnicodeCharacter{2022}{\bullet{}}% \DeclareUnicodeCharacter{202F}{\thinspace}% \DeclareUnicodeCharacter{2026}{\dots{}}% \DeclareUnicodeCharacter{2039}{\guilsinglleft{}}% \DeclareUnicodeCharacter{203A}{\guilsinglright{}}% % \DeclareUnicodeCharacter{20AC}{\euro{}}% % \DeclareUnicodeCharacter{2192}{\expansion{}}% \DeclareUnicodeCharacter{21D2}{\result{}}% % % Mathematical symbols \DeclareUnicodeCharacter{2200}{\ensuremath\forall}% \DeclareUnicodeCharacter{2203}{\ensuremath\exists}% \DeclareUnicodeCharacter{2208}{\ensuremath\in}% \DeclareUnicodeCharacter{2212}{\minus{}}% \DeclareUnicodeCharacter{2217}{\ast}% \DeclareUnicodeCharacter{221E}{\ensuremath\infty}% \DeclareUnicodeCharacter{2225}{\ensuremath\parallel}% \DeclareUnicodeCharacter{2227}{\ensuremath\wedge}% \DeclareUnicodeCharacter{2229}{\ensuremath\cap}% \DeclareUnicodeCharacter{2261}{\equiv{}}% \DeclareUnicodeCharacter{2264}{\ensuremath\leq}% \DeclareUnicodeCharacter{2265}{\ensuremath\geq}% \DeclareUnicodeCharacter{2282}{\ensuremath\subset}% \DeclareUnicodeCharacter{2287}{\ensuremath\supseteq}% % \DeclareUnicodeCharacter{2016}{\ensuremath\Vert}% \DeclareUnicodeCharacter{2032}{\ensuremath\prime}% \DeclareUnicodeCharacter{210F}{\ensuremath\hbar}% \DeclareUnicodeCharacter{2111}{\ensuremath\Im}% \DeclareUnicodeCharacter{2113}{\ensuremath\ell}% \DeclareUnicodeCharacter{2118}{\ensuremath\wp}% \DeclareUnicodeCharacter{211C}{\ensuremath\Re}% \DeclareUnicodeCharacter{2135}{\ensuremath\aleph}% \DeclareUnicodeCharacter{2190}{\ensuremath\leftarrow}% \DeclareUnicodeCharacter{2191}{\ensuremath\uparrow}% \DeclareUnicodeCharacter{2193}{\ensuremath\downarrow}% \DeclareUnicodeCharacter{2194}{\ensuremath\leftrightarrow}% \DeclareUnicodeCharacter{2195}{\ensuremath\updownarrow}% \DeclareUnicodeCharacter{2196}{\ensuremath\nwarrow}% \DeclareUnicodeCharacter{2197}{\ensuremath\nearrow}% \DeclareUnicodeCharacter{2198}{\ensuremath\searrow}% \DeclareUnicodeCharacter{2199}{\ensuremath\swarrow}% \DeclareUnicodeCharacter{21A6}{\ensuremath\mapsto}% \DeclareUnicodeCharacter{21A9}{\ensuremath\hookleftarrow}% \DeclareUnicodeCharacter{21AA}{\ensuremath\hookrightarrow}% \DeclareUnicodeCharacter{21BC}{\ensuremath\leftharpoonup}% \DeclareUnicodeCharacter{21BD}{\ensuremath\leftharpoondown}% \DeclareUnicodeCharacter{21C0}{\ensuremath\rightharpoonup}% \DeclareUnicodeCharacter{21C1}{\ensuremath\rightharpoondown}% \DeclareUnicodeCharacter{21CC}{\ensuremath\rightleftharpoons}% \DeclareUnicodeCharacter{21D0}{\ensuremath\Leftarrow}% \DeclareUnicodeCharacter{21D1}{\ensuremath\Uparrow}% \DeclareUnicodeCharacter{21D3}{\ensuremath\Downarrow}% \DeclareUnicodeCharacter{21D4}{\ensuremath\Leftrightarrow}% \DeclareUnicodeCharacter{21D5}{\ensuremath\Updownarrow}% \DeclareUnicodeCharacter{2202}{\ensuremath\partial}% \DeclareUnicodeCharacter{2205}{\ensuremath\emptyset}% \DeclareUnicodeCharacter{2207}{\ensuremath\nabla}% \DeclareUnicodeCharacter{2209}{\ensuremath\notin}% \DeclareUnicodeCharacter{220B}{\ensuremath\owns}% \DeclareUnicodeCharacter{220F}{\ensuremath\prod}% \DeclareUnicodeCharacter{2210}{\ensuremath\coprod}% \DeclareUnicodeCharacter{2211}{\ensuremath\sum}% \DeclareUnicodeCharacter{2213}{\ensuremath\mp}% \DeclareUnicodeCharacter{2218}{\ensuremath\circ}% \DeclareUnicodeCharacter{221A}{\ensuremath\surd}% \DeclareUnicodeCharacter{221D}{\ensuremath\propto}% \DeclareUnicodeCharacter{2220}{\ensuremath\angle}% \DeclareUnicodeCharacter{2223}{\ensuremath\mid}% \DeclareUnicodeCharacter{2228}{\ensuremath\vee}% \DeclareUnicodeCharacter{222A}{\ensuremath\cup}% \DeclareUnicodeCharacter{222B}{\ensuremath\smallint}% \DeclareUnicodeCharacter{222E}{\ensuremath\oint}% \DeclareUnicodeCharacter{223C}{\ensuremath\sim}% \DeclareUnicodeCharacter{2240}{\ensuremath\wr}% \DeclareUnicodeCharacter{2243}{\ensuremath\simeq}% \DeclareUnicodeCharacter{2245}{\ensuremath\cong}% \DeclareUnicodeCharacter{2248}{\ensuremath\approx}% \DeclareUnicodeCharacter{224D}{\ensuremath\asymp}% \DeclareUnicodeCharacter{2250}{\ensuremath\doteq}% \DeclareUnicodeCharacter{2260}{\ensuremath\neq}% \DeclareUnicodeCharacter{226A}{\ensuremath\ll}% \DeclareUnicodeCharacter{226B}{\ensuremath\gg}% \DeclareUnicodeCharacter{227A}{\ensuremath\prec}% \DeclareUnicodeCharacter{227B}{\ensuremath\succ}% \DeclareUnicodeCharacter{2283}{\ensuremath\supset}% \DeclareUnicodeCharacter{2286}{\ensuremath\subseteq}% \DeclareUnicodeCharacter{228E}{\ensuremath\uplus}% \DeclareUnicodeCharacter{2291}{\ensuremath\sqsubseteq}% \DeclareUnicodeCharacter{2292}{\ensuremath\sqsupseteq}% \DeclareUnicodeCharacter{2293}{\ensuremath\sqcap}% \DeclareUnicodeCharacter{2294}{\ensuremath\sqcup}% \DeclareUnicodeCharacter{2295}{\ensuremath\oplus}% \DeclareUnicodeCharacter{2296}{\ensuremath\ominus}% \DeclareUnicodeCharacter{2297}{\ensuremath\otimes}% \DeclareUnicodeCharacter{2298}{\ensuremath\oslash}% \DeclareUnicodeCharacter{2299}{\ensuremath\odot}% \DeclareUnicodeCharacter{22A2}{\ensuremath\vdash}% \DeclareUnicodeCharacter{22A3}{\ensuremath\dashv}% \DeclareUnicodeCharacter{22A4}{\ensuremath\ptextop}% \DeclareUnicodeCharacter{22A5}{\ensuremath\bot}% \DeclareUnicodeCharacter{22A8}{\ensuremath\models}% \DeclareUnicodeCharacter{22C0}{\ensuremath\bigwedge}% \DeclareUnicodeCharacter{22C1}{\ensuremath\bigvee}% \DeclareUnicodeCharacter{22C2}{\ensuremath\bigcap}% \DeclareUnicodeCharacter{22C3}{\ensuremath\bigcup}% \DeclareUnicodeCharacter{22C4}{\ensuremath\diamond}% \DeclareUnicodeCharacter{22C5}{\ensuremath\cdot}% \DeclareUnicodeCharacter{22C6}{\ensuremath\star}% \DeclareUnicodeCharacter{22C8}{\ensuremath\bowtie}% \DeclareUnicodeCharacter{2308}{\ensuremath\lceil}% \DeclareUnicodeCharacter{2309}{\ensuremath\rceil}% \DeclareUnicodeCharacter{230A}{\ensuremath\lfloor}% \DeclareUnicodeCharacter{230B}{\ensuremath\rfloor}% \DeclareUnicodeCharacter{2322}{\ensuremath\frown}% \DeclareUnicodeCharacter{2323}{\ensuremath\smile}% % \DeclareUnicodeCharacter{25B3}{\ensuremath\triangle}% \DeclareUnicodeCharacter{25B7}{\ensuremath\triangleright}% \DeclareUnicodeCharacter{25BD}{\ensuremath\bigtriangledown}% \DeclareUnicodeCharacter{25C1}{\ensuremath\triangleleft}% \DeclareUnicodeCharacter{25C7}{\ensuremath\diamond}% \DeclareUnicodeCharacter{2660}{\ensuremath\spadesuit}% \DeclareUnicodeCharacter{2661}{\ensuremath\heartsuit}% \DeclareUnicodeCharacter{2662}{\ensuremath\diamondsuit}% \DeclareUnicodeCharacter{2663}{\ensuremath\clubsuit}% \DeclareUnicodeCharacter{266D}{\ensuremath\flat}% \DeclareUnicodeCharacter{266E}{\ensuremath\natural}% \DeclareUnicodeCharacter{266F}{\ensuremath\sharp}% \DeclareUnicodeCharacter{26AA}{\ensuremath\bigcirc}% \DeclareUnicodeCharacter{27B9}{\ensuremath\rangle}% \DeclareUnicodeCharacter{27C2}{\ensuremath\perp}% \DeclareUnicodeCharacter{27E8}{\ensuremath\langle}% \DeclareUnicodeCharacter{27F5}{\ensuremath\longleftarrow}% \DeclareUnicodeCharacter{27F6}{\ensuremath\longrightarrow}% \DeclareUnicodeCharacter{27F7}{\ensuremath\longleftrightarrow}% \DeclareUnicodeCharacter{27FC}{\ensuremath\longmapsto}% \DeclareUnicodeCharacter{29F5}{\ensuremath\setminus}% \DeclareUnicodeCharacter{2A00}{\ensuremath\bigodot}% \DeclareUnicodeCharacter{2A01}{\ensuremath\bigoplus}% \DeclareUnicodeCharacter{2A02}{\ensuremath\bigotimes}% \DeclareUnicodeCharacter{2A04}{\ensuremath\biguplus}% \DeclareUnicodeCharacter{2A06}{\ensuremath\bigsqcup}% \DeclareUnicodeCharacter{2A3F}{\ensuremath\amalg}% \DeclareUnicodeCharacter{2AAF}{\ensuremath\preceq}% \DeclareUnicodeCharacter{2AB0}{\ensuremath\succeq}% % \global\mathchardef\checkmark="1370% actually the square root sign \DeclareUnicodeCharacter{2713}{\ensuremath\checkmark}% }% end of \unicodechardefs % UTF-8 byte sequence (pdfTeX) definitions (replacing and @U command) % It makes the setting that replace UTF-8 byte sequence. \def\utfeightchardefs{% \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterUTFviii \unicodechardefs } % Whether the active definitions of non-ASCII characters expand to % non-active tokens with the same character code. This is used to % write characters literally, instead of using active definitions for % printing the correct glyphs. \newif\ifpassthroughchars \passthroughcharsfalse % For native Unicode handling (XeTeX and LuaTeX), % provide a definition macro to replace/pass-through a Unicode character % \def\DeclareUnicodeCharacterNative#1#2{% \catcode"#1=\active \def\dodeclareunicodecharacternative##1##2##3{% \begingroup \uccode`\~="##2\relax \uppercase{\gdef~}{% \ifpassthroughchars ##1% \else ##3% \fi } \endgroup } \begingroup \uccode`\.="#1\relax \uppercase{\def\UTFNativeTmp{.}}% \expandafter\dodeclareunicodecharacternative\UTFNativeTmp{#1}{#2}% \endgroup } % Native Unicode handling (XeTeX and LuaTeX) character replacing definition. % It activates the setting that replaces Unicode characters. \def\nativeunicodechardefs{% \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterNative \unicodechardefs } % For native Unicode handling (XeTeX and LuaTeX), % make the character token expand % to the sequences given in \unicodechardefs for printing. \def\DeclareUnicodeCharacterNativeAtU#1#2{% \def\UTFAtUTmp{#2} \expandafter\globallet\csname uni:#1\endcsname \UTFAtUTmp } % @U command definitions for native Unicode handling (XeTeX and LuaTeX). \def\nativeunicodechardefsatu{% \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterNativeAtU \unicodechardefs } % US-ASCII character definitions. \def\asciichardefs{% nothing need be done \relax } % define all Unicode characters we know about, for the sake of @U. \iftxinativeunicodecapable \nativeunicodechardefsatu \else \utfeightchardefs \fi % Make non-ASCII characters printable again for compatibility with % existing Texinfo documents that may use them, even without declaring a % document encoding. % \setnonasciicharscatcode \other \message{formatting,} \newdimen\defaultparindent \defaultparindent = 15pt \chapheadingskip = 15pt plus 4pt minus 2pt \secheadingskip = 12pt plus 3pt minus 2pt \subsecheadingskip = 9pt plus 2pt minus 2pt % Prevent underfull vbox error messages. \vbadness = 10000 % Don't be very finicky about underfull hboxes, either. \hbadness = 6666 % Following George Bush, get rid of widows and orphans. \widowpenalty=10000 \clubpenalty=10000 % Use TeX 3.0's \emergencystretch to help line breaking, but if we're % using an old version of TeX, don't do anything. We want the amount of % stretch added to depend on the line length, hence the dependence on % \hsize. We call this whenever the paper size is set. % \def\setemergencystretch{% \ifx\emergencystretch\thisisundefined % Allow us to assign to \emergencystretch anyway. \def\emergencystretch{\dimen0}% \else \emergencystretch = .15\hsize \fi } % Parameters in order: 1) textheight; 2) textwidth; % 3) voffset; 4) hoffset; 5) binding offset; 6) topskip; % 7) physical page height; 8) physical page width. % % We also call \setleading{\textleading}, so the caller should define % \textleading. The caller should also set \parskip. % \def\internalpagesizes#1#2#3#4#5#6#7#8{% \voffset = #3\relax \topskip = #6\relax \splittopskip = \topskip % \vsize = #1\relax \advance\vsize by \topskip \outervsize = \vsize \advance\outervsize by 2\topandbottommargin \txipageheight = \vsize % \hsize = #2\relax \outerhsize = \hsize \advance\outerhsize by 0.5in \txipagewidth = \hsize % \normaloffset = #4\relax \bindingoffset = #5\relax % \ifpdf \pdfpageheight #7\relax \pdfpagewidth #8\relax % if we don't reset these, they will remain at "1 true in" of % whatever layout pdftex was dumped with. \pdfhorigin = 1 true in \pdfvorigin = 1 true in \else \ifx\XeTeXrevision\thisisundefined \special{papersize=#8,#7}% \else \pdfpageheight #7\relax \pdfpagewidth #8\relax % XeTeX does not have \pdfhorigin and \pdfvorigin. \fi \fi % \setleading{\textleading} % \parindent = \defaultparindent \setemergencystretch } % @letterpaper (the default). \def\letterpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt \textleading = 13.2pt % % If page is nothing but text, make it come out even. \internalpagesizes{607.2pt}{6in}% that's 46 lines {\voffset}{.25in}% {\bindingoffset}{36pt}% {11in}{8.5in}% }} % Use @smallbook to reset parameters for 7x9.25 trim size. \def\smallbook{{\globaldefs = 1 \parskip = 2pt plus 1pt \textleading = 12pt % \internalpagesizes{7.5in}{5in}% {-.2in}{0in}% {\bindingoffset}{16pt}% {9.25in}{7in}% % \lispnarrowing = 0.3in \tolerance = 700 \contentsrightmargin = 0pt \defbodyindent = .5cm }} % Use @smallerbook to reset parameters for 6x9 trim size. % (Just testing, parameters still in flux.) \def\smallerbook{{\globaldefs = 1 \parskip = 1.5pt plus 1pt \textleading = 12pt % \internalpagesizes{7.4in}{4.8in}% {-.2in}{-.4in}% {0pt}{14pt}% {9in}{6in}% % \lispnarrowing = 0.25in \tolerance = 700 \contentsrightmargin = 0pt \defbodyindent = .4cm }} % Use @afourpaper to print on European A4 paper. \def\afourpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt \textleading = 13.2pt % % Double-side printing via postscript on Laserjet 4050 % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm. % To change the settings for a different printer or situation, adjust % \normaloffset until the front-side and back-side texts align. Then % do the same for \bindingoffset. You can set these for testing in % your texinfo source file like this: % @tex % \global\normaloffset = -6mm % \global\bindingoffset = 10mm % @end tex \internalpagesizes{673.2pt}{160mm}% that's 51 lines {\voffset}{\hoffset}% {\bindingoffset}{44pt}% {297mm}{210mm}% % \tolerance = 700 \contentsrightmargin = 0pt \defbodyindent = 5mm }} % Use @afivepaper to print on European A5 paper. % From romildo@urano.iceb.ufop.br, 2 July 2000. % He also recommends making @example and @lisp be small. \def\afivepaper{{\globaldefs = 1 \parskip = 2pt plus 1pt minus 0.1pt \textleading = 12.5pt % \internalpagesizes{160mm}{120mm}% {\voffset}{\hoffset}% {\bindingoffset}{8pt}% {210mm}{148mm}% % \lispnarrowing = 0.2in \tolerance = 800 \contentsrightmargin = 0pt \defbodyindent = 2mm \tableindent = 12mm }} % A specific text layout, 24x15cm overall, intended for A4 paper. \def\afourlatex{{\globaldefs = 1 \afourpaper \internalpagesizes{237mm}{150mm}% {\voffset}{4.6mm}% {\bindingoffset}{7mm}% {297mm}{210mm}% % % Must explicitly reset to 0 because we call \afourpaper. \globaldefs = 0 }} % Use @afourwide to print on A4 paper in landscape format. \def\afourwide{{\globaldefs = 1 \afourpaper \internalpagesizes{241mm}{165mm}% {\voffset}{-2.95mm}% {\bindingoffset}{7mm}% {297mm}{210mm}% \globaldefs = 0 }} % @pagesizes TEXTHEIGHT[,TEXTWIDTH] % Perhaps we should allow setting the margins, \topskip, \parskip, % and/or leading, also. Or perhaps we should compute them somehow. % \parseargdef\pagesizes{\pagesizesyyy #1,,\finish} \def\pagesizesyyy#1,#2,#3\finish{{% \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi \globaldefs = 1 % \parskip = 3pt plus 2pt minus 1pt \setleading{\textleading}% % \dimen0 = #1\relax \advance\dimen0 by \voffset \advance\dimen0 by 1in % reference point for DVI is 1 inch from top of page % \dimen2 = \hsize \advance\dimen2 by \normaloffset \advance\dimen2 by 1in % reference point is 1 inch from left edge of page % \internalpagesizes{#1}{\hsize}% {\voffset}{\normaloffset}% {\bindingoffset}{44pt}% {\dimen0}{\dimen2}% }} % Set default to letter. % \letterpaper % Default value of \hfuzz, for suppressing warnings about overfull hboxes. \hfuzz = 1pt \message{and turning on texinfo input format.} \def^^L{\par} % remove \outer, so ^L can appear in an @comment % DEL is a comment character, in case @c does not suffice. \catcode`\^^? = 14 % Define macros to output various characters with catcode for normal text. \catcode`\"=\other \def\normaldoublequote{"} \catcode`\$=\other \def\normaldollar{$}%$ font-lock fix \catcode`\+=\other \def\normalplus{+} \catcode`\<=\other \def\normalless{<} \catcode`\>=\other \def\normalgreater{>} \catcode`\^=\other \def\normalcaret{^} \catcode`\_=\other \def\normalunderscore{_} \catcode`\|=\other \def\normalverticalbar{|} \catcode`\~=\other \def\normaltilde{~} % This macro is used to make a character print one way in \tt % (where it can probably be output as-is), and another way in other fonts, % where something hairier probably needs to be done. % % #1 is what to print if we are indeed using \tt; #2 is what to print % otherwise. Since all the Computer Modern typewriter fonts have zero % interword stretch (and shrink), and it is reasonable to expect all % typewriter fonts to have this, we can check that font parameter. % \def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi} % Same as above, but check for italic font. Actually this also catches % non-italic slanted fonts since it is impossible to distinguish them from % italic fonts. But since this is only used by $ and it uses \sl anyway % this is not a problem. \def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi} % Set catcodes for Texinfo file % Active characters for printing the wanted glyph. % Most of these we simply print from the \tt font, but for some, we can % use math or other variants that look better in normal text. % \catcode`\"=\active \def\activedoublequote{{\tt\char34}} \let"=\activedoublequote \catcode`\~=\active \def\activetilde{{\tt\char126}} \let~ = \activetilde \chardef\hatchar=`\^ \catcode`\^=\active \def\activehat{{\tt \hatchar}} \let^ = \activehat \catcode`\_=\active \def_{\ifusingtt\normalunderscore\_} \def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } \let\realunder=_ \catcode`\|=\active \def|{{\tt\char124}} \chardef \less=`\< \catcode`\<=\active \def\activeless{{\tt \less}}\let< = \activeless \chardef \gtr=`\> \catcode`\>=\active \def\activegtr{{\tt \gtr}}\let> = \activegtr \catcode`\+=\active \def+{{\tt \char 43}} \catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix \catcode`\-=\active \let-=\normaldash % used for headline/footline in the output routine, in case the page % breaks in the middle of an @tex block. \def\texinfochars{% \let< = \activeless \let> = \activegtr \let~ = \activetilde \let^ = \activehat \markupsetuplqdefault \markupsetuprqdefault \let\b = \strong \let\i = \smartitalic % in principle, all other definitions in \tex have to be undone too. } % Used sometimes to turn off (effectively) the active characters even after % parsing them. \def\turnoffactive{% \normalturnoffactive \otherbackslash } \catcode`\@=0 % \backslashcurfont outputs one backslash character in current font, % as in \char`\\. \global\chardef\backslashcurfont=`\\ \global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work % \realbackslash is an actual character `\' with catcode other, and % \doublebackslash is two of them (for the pdf outlines). {\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}} % In Texinfo, backslash is an active character; it prints the backslash % in fixed width font. \catcode`\\=\active % @ for escape char from now on. % Print a typewriter backslash. For math mode, we can't simply use % \backslashcurfont: the story here is that in math mode, the \char % of \backslashcurfont ends up printing the roman \ from the math symbol % font (because \char in math mode uses the \mathcode, and plain.tex % sets \mathcode`\\="026E). Hence we use an explicit \mathchar, % which is the decimal equivalent of "715c (class 7, e.g., use \fam; % ignored family value; char position "5C). We can't use " for the % usual hex value because it has already been made active. @def@ttbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}} @let@backslashchar = @ttbackslash % @backslashchar{} is for user documents. % \rawbackslash defines an active \ to do \backslashcurfont. % \otherbackslash defines an active \ to be a literal `\' character with % catcode other. We switch back and forth between these. @gdef@rawbackslash{@let\=@backslashcurfont} @gdef@otherbackslash{@let\=@realbackslash} % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of % the literal character `\'. % {@catcode`- = @active @gdef@normalturnoffactive{% @passthroughcharstrue @let-=@normaldash @let"=@normaldoublequote @let$=@normaldollar %$ font-lock fix @let+=@normalplus @let<=@normalless @let>=@normalgreater @let^=@normalcaret @let_=@normalunderscore @let|=@normalverticalbar @let~=@normaltilde @let\=@ttbackslash @markupsetuplqdefault @markupsetuprqdefault @unsepspaces } } % If a .fmt file is being used, characters that might appear in a file % name cannot be active until we have parsed the command line. % So turn them off again, and have @fixbackslash turn them back on. @catcode`+=@other @catcode`@_=@other % \enablebackslashhack - allow file to begin `\input texinfo' % % If a .fmt file is being used, we don't want the `\input texinfo' to show up. % That is what \eatinput is for; after that, the `\' should revert to printing % a backslash. % If the file did not have a `\input texinfo', then it is turned off after % the first line; otherwise the first `\' in the file would cause an error. % This is used on the very last line of this file, texinfo.tex. % We also use @c to call @fixbackslash, in case ends of lines are hidden. { @catcode`@^=7 @catcode`@^^M=13@gdef@enablebackslashhack{% @global@let\ = @eatinput% @catcode`@^^M=13% @def@c{@fixbackslash@c}% % Definition for the newline at the end of this file. @def ^^M{@let^^M@secondlinenl}% % Definition for a newline in the main Texinfo file. @gdef @secondlinenl{@fixbackslash}% % In case the first line has a whole-line command on it @let@originalparsearg@parsearg @def@parsearg{@fixbackslash@originalparsearg} }} {@catcode`@^=7 @catcode`@^^M=13% @gdef@eatinput input texinfo#1^^M{@fixbackslash}} % Emergency active definition of newline, in case an active newline token % appears by mistake. {@catcode`@^=7 @catcode13=13% @gdef@enableemergencynewline{% @gdef^^M{% @par% %@par% }}} @gdef@fixbackslash{% @ifx\@eatinput @let\ = @ttbackslash @fi @catcode13=5 % regular end of line @enableemergencynewline @let@c=@texinfoc @let@parsearg@originalparsearg % Also turn back on active characters that might appear in the input % file name, in case not using a pre-dumped format. @catcode`+=@active @catcode`@_=@active % % If texinfo.cnf is present on the system, read it. % Useful for site-wide @afourpaper, etc. This macro, @fixbackslash, gets % called at the beginning of every Texinfo file. Not opening texinfo.cnf % directly in this file, texinfo.tex, makes it possible to make a format % file for Texinfo. % @openin 1 texinfo.cnf @ifeof 1 @else @input texinfo.cnf @fi @closein 1 } % Say @foo, not \foo, in error messages. @escapechar = `@@ % These (along with & and #) are made active for url-breaking, so need % active definitions as the normal characters. @def@normaldot{.} @def@normalquest{?} @def@normalslash{/} % These look ok in all fonts, so just make them not special. % @hashchar{} gets its own user-level command, because of #line. @catcode`@& = @other @def@normalamp{&} @catcode`@# = @other @def@normalhash{#} @catcode`@% = @other @def@normalpercent{%} @let @hashchar = @normalhash @c Finally, make ` and ' active, so that txicodequoteundirected and @c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we @c don't make ` and ' active, @code will not get them as active chars. @c Do this last of all since we use ` in the previous @catcode assignments. @catcode`@'=@active @catcode`@`=@active @markupsetuplqdefault @markupsetuprqdefault @c Local variables: @c eval: (add-hook 'write-file-hooks 'time-stamp) @c page-delimiter: "^\\\\message\\|emacs-page" @c time-stamp-start: "def\\\\texinfoversion{" @c time-stamp-format: "%:y-%02m-%02d.%02H" @c time-stamp-end: "}" @c End: @c vim:sw=2: @enablebackslashhack lepton-eda-1.9.10/build-tools/config.rpath0000755000175000017500000004401213634703641015330 00000000000000#! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2010 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's _LT_CC_BASENAME. for cc_temp in $CC""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` # Code taken from libtool.m4's _LT_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; darwin*) case $cc_basename in xlc*) wl='-Wl,' ;; esac ;; mingw* | cygwin* | pw32* | os2* | cegcc*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; newsos6) ;; linux* | k*bsd*-gnu) case $cc_basename in ecc*) wl='-Wl,' ;; icc* | ifort*) wl='-Wl,' ;; lf95*) wl='-Wl,' ;; pgcc | pgf77 | pgf90) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) wl='-Wl,' ;; esac ;; esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; rdos*) ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3*) wl='-Wl,' ;; sysv4*MP*) ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) wl='-Wl,' ;; unicos*) wl='-Wl,' ;; uts4*) ;; esac fi # Code taken from libtool.m4's _LT_LINKER_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' case "$host_os" in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we cannot use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' else ld_shlibs=no fi ;; esac ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then hardcode_libdir_flag_spec= fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` fi if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib" fi rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) hardcode_direct=no if test "$GCC" = yes ; then : else case $cc_basename in xlc*) ;; *) ld_shlibs=no ;; esac fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd* | dragonfly*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; hpux10*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no ;; *) hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) ;; sysv5* | sco3.2v5* | sco5v6*) hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. # Unlike libtool.m4, here we don't care about _all_ names of the library, but # only about the one the linker finds when passed -lNAME. This is the last # element of library_names_spec in libtool.m4, or possibly two of them if the # linker has special search rules. library_names_spec= # the last element of library_names_spec in libtool.m4 libname_spec='lib$name' case "$host_os" in aix3*) library_names_spec='$libname.a' ;; aix[4-9]*) library_names_spec='$libname$shrext' ;; amigaos*) library_names_spec='$libname.a' ;; beos*) library_names_spec='$libname$shrext' ;; bsdi[45]*) library_names_spec='$libname$shrext' ;; cygwin* | mingw* | pw32* | cegcc*) shrext=.dll library_names_spec='$libname.dll.a $libname.lib' ;; darwin* | rhapsody*) shrext=.dylib library_names_spec='$libname$shrext' ;; dgux*) library_names_spec='$libname$shrext' ;; freebsd1*) ;; freebsd* | dragonfly*) case "$host_os" in freebsd[123]*) library_names_spec='$libname$shrext$versuffix' ;; *) library_names_spec='$libname$shrext' ;; esac ;; gnu*) library_names_spec='$libname$shrext' ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac library_names_spec='$libname$shrext' ;; interix[3-9]*) library_names_spec='$libname$shrext' ;; irix5* | irix6* | nonstopux*) library_names_spec='$libname$shrext' case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux* | k*bsd*-gnu) library_names_spec='$libname$shrext' ;; knetbsd*-gnu) library_names_spec='$libname$shrext' ;; netbsd*) library_names_spec='$libname$shrext' ;; newsos6) library_names_spec='$libname$shrext' ;; nto-qnx*) library_names_spec='$libname$shrext' ;; openbsd*) library_names_spec='$libname$shrext$versuffix' ;; os2*) libname_spec='$name' shrext=.dll library_names_spec='$libname.a' ;; osf3* | osf4* | osf5*) library_names_spec='$libname$shrext' ;; rdos*) ;; solaris*) library_names_spec='$libname$shrext' ;; sunos4*) library_names_spec='$libname$shrext$versuffix' ;; sysv4 | sysv4.3*) library_names_spec='$libname$shrext' ;; sysv4*MP*) library_names_spec='$libname$shrext' ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) library_names_spec='$libname$shrext' ;; uts4*) library_names_spec='$libname$shrext' ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = docs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/geda-assert.m4 \ $(top_srcdir)/m4/geda-awk.m4 $(top_srcdir)/m4/geda-cairo.m4 \ $(top_srcdir)/m4/geda-contrib.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-liblepton.m4 \ $(top_srcdir)/m4/geda-libleptonrenderer.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lepton-data-dirs.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pcb-data-dirs.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir distdir-am am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in ChangeLog DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITMAP_DIRECTORY = @BITMAP_DIRECTORY@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CAIRO_PDF_CFLAGS = @CAIRO_PDF_CFLAGS@ CAIRO_PDF_LIBS = @CAIRO_PDF_LIBS@ CAIRO_PNG_CFLAGS = @CAIRO_PNG_CFLAGS@ CAIRO_PNG_LIBS = @CAIRO_PNG_LIBS@ CAIRO_PS_CFLAGS = @CAIRO_PS_CFLAGS@ CAIRO_PS_LIBS = @CAIRO_PS_LIBS@ CAIRO_SVG_CFLAGS = @CAIRO_SVG_CFLAGS@ CAIRO_SVG_LIBS = @CAIRO_SVG_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOT = @DOT@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LIBS = @GDK_LIBS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GETTEXT = @GETTEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIT = @GIT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILD = @GUILD@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_EFFECTIVE_VERSION = @GUILE_EFFECTIVE_VERSION@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_LTLIBS = @GUILE_LTLIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEPTONDATADIR = @LEPTONDATADIR@ LEPTON_SCM_PRECOMPILE_DIR = @LEPTON_SCM_PRECOMPILE_DIR@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBLEPTONRENDERER_SHLIB_VERSION = @LIBLEPTONRENDERER_SHLIB_VERSION@ LIBLEPTON_GETTEXT_DOMAIN = @LIBLEPTON_GETTEXT_DOMAIN@ LIBLEPTON_SHLIB_VERSION = @LIBLEPTON_SHLIB_VERSION@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGOCAIRO_CFLAGS = @PANGOCAIRO_CFLAGS@ PANGOCAIRO_LIBS = @PANGOCAIRO_LIBS@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = toplevel wiki scheme-api EXTRA_DIST = ChangeLog-1.0 ChangeLog all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign docs/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am .PRECIOUS: Makefile @HAVE_GIT_REPO_TRUE@ChangeLog: $(top_builddir)/stamp-git @HAVE_GIT_REPO_TRUE@ ( \ @HAVE_GIT_REPO_TRUE@ cd $(srcdir) && \ @HAVE_GIT_REPO_TRUE@ $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- . || \ @HAVE_GIT_REPO_TRUE@ echo "WARNING: ChangeLog information not available from git" >&2 ; \ @HAVE_GIT_REPO_TRUE@ ) > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: lepton-eda-1.9.10/docs/wiki/0000755000175000017500000000000013634704607012540 500000000000000lepton-eda-1.9.10/docs/wiki/geda-icarus_vpi_within_vvp.html0000644000175000017500000001677013634703632020675 00000000000000

VPI_within_VVP

/*
 * Copyright (c) 2001 Stephen Williams (steve@icarus.com)
 *
 *  $Id: vpi.txt,v 1.7 2003/02/09 23:33:26 steve Exp $
 */


VPI WITHIN VVP

System tasks and functions in Verilog are implemented in Icarus
Verilog by C routines written with VPI. This implies that the vvp
engine must provide at least a subset of the Verilog VPI
interface. The minimalist concepts of vvp, however, make the method
less then obvious.

Within a Verilog design, there is a more or less fixed web of
vpiHandles that is the design database as is available to VPI
functions. The Verilog standard defines quite a lot of types, but the
vvp only implements the ones it needs. The VPI web is added into the
design using special pseudo-ops that create the needed objects.


LOADING VPI MODULES

The vvp runtime loads VPI modules at runtime before the parser reads
in the source files. This gives the modules a chance to register tasks
and functions before the source is compiled. This allows the compiler
to resolve references to system tasks and system functions to a
vpiHandle at compile time. References to missing tasks/function can
thus be caught before the simulation is run.

     NOTE: This also, miraculously, allows for some minimal support of
     the compiletf call. From the perspective of VPI code, compilation
     of the VVP source is not unlike compilation of the original
     Verilog.

The handle that the vvp threads have to the VPI are the vpiHandles of
the system tasks and functions. The %vpi_call instruction, once compiled,
carries the vpiHandle of the system task.


SYSTEM TASK CALLS

A system task call invokes a VPI routine, and makes available to that
routine the arguments to the system task. The called routine gets
access to the system task call by calling back the VPI requesting the
handle. It uses the handle, in turn, to get hold of the operands for
the task.

All that vvp needs to know about a system task call is the handle of
the system task definitions (created by the vpi_register_systf
function) and the arguments of the actual call. The arguments are
tricky because the list has no bound, even though each particular call
in the Verilog source has a specific set of parameters.

Since each call takes a fixed number of parameters, the input source
can include in the statement the list of arguments. The argument list
will not fit in a single generated instruction, but a vpiHandle that
refers to a vpiSysTfCall does. Therefore, the compiler can take the
long argument list and form a vpiSysTaskCall object. The generated
instruction then only needs to be a %vpi_call with the single parameter
that is the vpiHandle for the call.


SYSTEM FUNCTION CALLS

System function calls are similar to system tasks. The only
differences are that all the arguments are input only, and there is a
single magic output that is the return value. The same %vpi_call can
even be used to call a function.

System functions, like system tasks, can only be called from thread
code. However, they can appear in expressions, even when that
expression is entirely structural. The desired effect is achieved by
writing a wrapper thread that calls the function when inputs change,
and that writes the output into the containing expression.


SYSTEM TASK/FUNCTION ARGUMENTS

The arguments to each system task or call are not stored in the
instruction op-code, but in the vpiSysTfCall object that the compiler
creates and that the %vpi_call instruction ultimately refers to. All
the arguments must be some sort of object that can be represented by a
vpiHandle at compile time.

Arguments are handled at compile time by the parser, which uses the
argument_list rule to build a list of vpiHandle objects. Each argument
in the argument_list invokes whatever function is appropriate for the
token in order to make a vpiHandle object for the argument_list. When
all this is done, an array of vpiHandles is passed to code to create a
vpiSysTfCall object that has all that is needed to make the call.


SCOPES

VPI can access scopes as objects of type vpiScope. Scopes have names
and can also contain other sub-scopes, all of which the VPI function
can access by the vpiInternalScope reference. Therefore, the run-time
needs to form a tree of scopes into which other scoped VPI objects are
placed.

A scope is created with a .scope directive, like so:

	<label> .scope "name" [, <parent>];
		.timescale <units>;

The scope takes a string name as the first parameter. If there is an
additional parameter, it is a label of the directive for the parent
scope. Scopes that have no parent are root scopes. It is an error to
declare a scope with the same name more then once in a parent scope.

The name string given when creating the scope is the basename for the
scope. The vvp automatically constructs full names from the scope
hierarchy, and runtime VPI code can access that full name with the
vpiFullname reference.

The .timescale directive changes the scope units from the simulation
precision to the specified precision. The .timescale directive affects
the current scope.

Objects that place themselves in a scope place themselves in the
current scope. The current scope is the one that was last mentioned by
a .scope directive. If the wrong scope is current, the label on a
scope directive can be used to resume a scope. The syntax works like
this:

		.scope <symbol>;

In this case, the <symbol> is the label of a previous scope directive,
and is used to identify the scope to be resumed. A scope resume
directive cannot have a label.


VARIABLES

Reg vectors (scalars are vectors of length 1) are created by .var
statements in the source. The .var statement includes the declared
name of the variable, and the indices of the MSB and LSB of the
vector. The vpiHandle is then created with this information, and the
vpi_ipoint_t pointer to the LSB functor of the variable. VPI programs
access the vector through the vpiHandle and related functions. The VPI
code gets access to the declared indices.

The VPI interface to variable (vpiReg objects) uses the MSB and LSB
values that the user defined to describe the dimensions of the
object.

/*
 * Copyright (c) 2001 Stephen Williams (steve@icarus.com)
 *
 *    This source code is free software; you can redistribute it
 *    and/or modify it in source code form 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 */
lepton-eda-1.9.10/docs/wiki/geda-tasks.html0000644000175000017500000001663513634703632015401 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

How to contribute

gEDA is run by volunteers, so these are volunteer (read: unpaid) tasks. Please consider helping out. Thank you.

  • Contribute parts
    Have you created your own symbols, footprints or tools for use with gEDA? Maybe you want to upload them to gedasymbols.org and share them with the community.
  • Test UNIX Ports
    People are always needed to test gEDA on different and new UNIX like operating systems. This person would basically download a new release and make sure it works on their platform of choice. Any problems found would be then submitted to the appropriate gEDA author.

Website and documentation

This wiki section of the gEDA website is dedicated to documentation that is contributed by a multitude of authors, including users. In particular, it should grow into a resource of information for those who just started to work with the tools.

  • Documentation Writers/Editors
    Somebody is needed to act as an editor for the gEDA documentation effort. Basically this person would take whatever documentation already exists and/or is currently being written and formats it into something presentable. This individual does not write the actual documentation, but would instead perform editorial work. People who want to write the actual documentation are also needed. (See below how to get started editing the documentation on the wiki).
  • Website/Mirror Hacker
    Somebody to watch over the mirrors and maybe do some HTML hacking is needed. There are currently three websites which need to be monitored and occasionally fixed. The person would also have influence in the changing/expansion of the gEDA website. Duties would be split among the current webmasters.

Anyone is welcome to contribute to the website. Unlike Wikipedia there is no button to create a login by yourself. This is because nobody at the gEDA site has the nerves to deal with anonymous vandalism. Consequently, you have to write an email to the site admin (dj AT delorie.com) to gain access. In your e-mail to the wiki site admin, please indicate that you have read and agree to follow the gEDA Project's Code of Conduct. You should subscribe to and participate in some discussion on the geda-user mailing list before requesting a wiki account.

lepton-eda-1.9.10/docs/wiki/gsoc2008_projects.html0000644000175000017500000000714213634703632016525 00000000000000

gEDA GSoC 2008 Project Ideas

This page contains various ideas for projects, organized by the tool. You can use these as fodder for creating your application to Google. Also, if you have your own idea, feel free to share it with the gEDA developers – they might like it more than any project on this list!

General, "glue" and related gaf projects

Projects that make the tools work together are on this webpage

Gnucap circuit simulation/analysis program

Project ideas for Gnucap are on this webpage

PCB Layout Editor

Project ideas for PCB are on this webpage

Gwave -- analog waveform viewer

Project ideas for Gwave are on this webpage

Gschem schematic capture tool

Project ideas for Gschem are on this webpage

Icarus Verilog

Project ideas for Icarus Verilog are on this webpage

Gerbv

Project ideas for gerbv are on this webpage

lepton-eda-1.9.10/docs/wiki/geda-faq-pcb.html0000644000175000017500000001636713634703632015567 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

pcb FAQ

What is pcb ?

“pcb†is software to help you draw (“lay outâ€) the wires for a custom “printed wire board†(“PCBâ€).

How do I install pcb?

How do I learn more about PCB?

How many layers does PCB support?

“Out-of-the-boxâ€, pcb supports 16 copper layers. It has been patched by some users to support more, however.

Is it true that pcb has no way to make a "mechanical layer" to show the physical outline of the board and its dimensions ?

No. Lines on a layer with layer name outline will be interpreted as physical edges of the board. Also see this note in the more comprehensive PCB tips

How do I design a PCB?

This is well beyond the scope of this FAQ. There are a few tips at

Yes, but how do I design a PCB with pcb?

Generally, you start with a schematic, run gsch2pcb to generate the netlist. See FAQ-gsch2pcb. Then you might go through the gsch2pcb tutorial

Then you … Hey, did you know about the PCB manual, the PCB tips, and the PCB-quick reference?

What about footprints?

See PCB footprints.

There are also some unofficial gEDA footprints at Open Circuits http://opencircuits.com/PCB_Footprints.

I had a hard time to find info on pcb due its ambigous name. Why don't you rename the app?

The application is a fairly old project, with roots way back in the era of Atari home computers. Its name has always been “pcbâ€. The current developers have no intention to break that tradition.

Is there any relation between the gEDA PCB and the opencircuitdesign PCB?

gEDA PCB and opencircuitdesign PCB ?

Same thing, different generations.

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-exporting.html0000644000175000017500000000403713634703632020223 00000000000000

Exporting images

gschem can export a schematic or symbol page to an image file. To create an image file, use File→Write image… to show the “Write image…†window. This window allows you to select the file to output to, the type of image to create, and (if necessary) the size of the image.

If you select Portable Document Format to output, the “Width x Height†value will not be used. Instead, the file will be sized to fit the visible contents of your schematic or symbol page.

If you wish to display the symbol schematic in a printed document, PDF is recommended. For use on web pages or for presentations, consider PNG.

lepton-eda-1.9.10/docs/wiki/geda-pcb_tips.html0000644000175000017500000027464313634703632016064 00000000000000

Translations of this page are also available in the following languages: Français, РуÑÑкий.

Footprint issues

I have a question relating to footprints

See the PCB footprints page.

About PCB layout and routing

  • This page contains gEDA/PCB Specific information about laying out circuit boards.
  • Also see the gEDA/PCB Glossary of Terms.

More PCB FAQ:

Where can I read about the basics of using pcb?

The pcb manual contains a concise description of the user interface in the section "Getting Started".

Is there a way to save the file as an older version?

As new features are added to the file format, older versions of pcb might choke on portions of the layout using the bright new features. To prevent this kind of misbehavior, the pcb file contains a note on the minimum version string for the binary. Older versions of pcb refuse to load a layout saved by a newer pcb binary. This was the case for the addition of holes in polygons in 2010. You need a pcb that was compiled from source later than June 2010 to open these layouts.

Unfortunately, there is no way to save the layout in a way that allows older versions of pcb to read the file. However, if don't use the holes in polygon features, you can just hand-edit the file version header back to 20070407 and open the file with the older pcb binary.

I found a bug! What can I do about it?

  1. Start by reading the pcb bug reporting page.
  2. Check, what it needs to reproduce the bug.
  3. Ask on the geda-user mailing list if there is a work around, or has been dealt with in the bleeding edge version of pcb. Note that you must subscribe to the geda-user e-mail list before you can post to this list.
  4. Check, weather the issue is already in the bug tracking system of pcb. If not, file a bug report. Make sure to give every information necessary to reproduce the bug and add the version of pcb that contains the bug.
  5. Finally, as with all open source projects, you may flex your programming muscles and try to squish the bug yourself. Please file a patch of the changes you had to make to the bug tracking system. The patch will be gladly accepted to improve the next release of pcb.

How can I set the manufacturing rules to use (i.e. drill diameters, trace width/space specs)?

This topic is covered in the manual.

Non-obvious aspects of the GUI

Auto-pan bugs me. What can I do about it?

The auto pan feature was removed in September 2011. So install of a more current version might help.

If you use an older version of PCB, you can do this:

  • You can tell, whether the screen will auto-pan by looking for little squares at the end of the cross hair cursor.
  • Auto-pan can be toggled during move with a right mouse button click.
  • Auto-pan speed can be set in $HOME/.pcb/preferences

The delete key sometimes refuses to delete

Probably you try to delete a selected object. In pcb the Delete button does not act on the selection, but on the object currently under the mouse. Consequently nothing will be deleted if an object is selected and the mouse hovers at some other place. Bottom line: Just position the mouse over an object and press the Delete button. No need to select the object.

However, you can delete the current selection with the Backspace key.

I try to move an object, but pcb won't let me!

Most probably the object is locked. Locked objects won't highlight. To see, whether it indeed is, Select all connected objects from the Select menu. Locked footprints are shown with a little L at their diamond shaped insertion mark. Use the lock tool to unlock the object in question. Note, that the lock tool always toggles the lock state of the object you click at. Afterward, an object report pops up that contains the lock state in the last line.

If you want to remove all locks, you may consider to remove all instances of the string lock in the *.pcb file with your favorite ascii editor.

A different reason for numb objects is “Only Names†in the settings menu. When checked, the selection tool will exclusively act on text. This is useful with crammed layouts. There is a complementary setting “Lock Namesâ€, too.

Component placement

How do I rotate a selection (i.e. of more than one item)?

  1. Select the items
  2. Buffer → Cut selection to buffer
  3. Buffer → Rotate buffer 90 deg CCW (or CW)
  4. Click anywhere on the board and the selection is pasted on the design again.

Note: Square pads may not clear polygons correctly. Rectangular pads are ok, though. This is a known issue caused by the difficulty to know the reference direction of a square pad.

How do I rotate objects by an arbitrary angle?

  1. Cut the object into the paste buffer.
  2. Type â€:FreeRotateBuffer(45)â€. The : key will open the command line. Replace “45†with the angle you want to rotate by.
  3. Paste the object back to your board.

Note: For internal reasons, FreeRotateBuffer does not work with exact squares. As workaround use two or more polygons that add to give a square.

How do I move objects by an arbitrary distance?

  1. Let the mouse hover over the object to be moved.
  2. Type â€:MoveObject(x,y,unit)â€. The : key will open the command line. Replace “x†and “y†with the desired coordinates and “unit†with either “mmâ€, or “milâ€.
  3. Type Enter.

If both coordinates are prefixed with a â€+â€, or â€-†the move is relative to the current position. Else the object is moved to absolute coordinates.

How do I move objects to an absolute location?

Use the command “MoveObject()†as described above.

How do I change the size of a graphical object (such as text, silkscreen lines, etc)?

  • Mouse over the object and hit S. This will increase the size of the object you are mousing over.
  • Mouse over the object and hit Shift+S. This will decrease the size of the object you are mousing over.

You can alter the increase/decrease quantum using the File → Preferences… → Increments menu. (Note, this setting is currently broken)

How do I put components on both faces in PCB?

There are two ways to do it:

  • Pressing the Tab key will alternate the active side between the component and solder sides. When you place components, they will go on the active side.
  • If you are viewing one side of the board, place a component there and (with the cursor over it) press the B key (which means, send the component to the Back side) the component go to the other side of the board.

I can't move the components on the other side of the board!

The mouse is only sensitive to components on the active side of the board. This prevents ambiguities with components placed on both, top and bottom. By default, top side is active and the bottom side is the “far side†whose components are ignored by the mouse. You can swap the roles of the sides to make components on the far side accessible. The key-accels Tab, Shift+Tab, Ctrl+Tab and Ctrl+Shift+Tab will do the trick. These accels combine the swap with different vertical and horizontal flips. Specifically:

  • Tab : swap sides and mirror along horizontal axis. This is like flipping a real board upside-down.
  • Shift+Tab: swap sides and mirror along vertical axis. This mimics flipping a real board like a page in a book.
  • Ctrl+Tab: swap sides and mirror along both axis. That is, do an inversion. This cannot be done with a real board …
  • Ctrl+Shift+Tab : No mirroring, just swap front side and far side. This is like an x-ray view.

How do I know, which side a component sits on?

If the component is on the currently far side of the layout, its silk layer is drawn in grey. If unsure, deactivate the far side with the “far side†button, at the bottom of the layer button row. This should remove the silk of all far side components from the view.

How do I define a silkscreen layer for the other side of the board?

Although only one silk layer button is visible in the GUI, silkscreen for both sides is automatically configured. In default view the silk layer button refers to silkscreen on the component side of the board. To place text or lines on solder silk you have to flip the board with the Tab key (or Shift+Tab if you prefer a left-right flip). This is like physically turning the board to the other side. It turns the solder layer on top, and component layer on bottom. Objects on component silk layer will be greyed out. If you draw to silk, lines will always go to the current top silk layer, which is solder now. The same happens to components and their silk screen. Flip the board again to return to default view.

Why text I add to the solder side not reversed?

Add it while the board is flipped (Tab). Just selecting the solder side is insufficient. New text always reads correctly from the side you're looking at.

Is it possible to use an arbitrary grid spacing?

Yes. You can use the command setvalue(grid,value,unit). To do this:

  1. Type â€:SetValue(grid,=x,unit)â€. The : key will open the command line. Replace “x†with the desired grid spacing and “unit†with either “mmâ€, or “milâ€.
  2. Type Enter.

How do I set the origin in pcb?

The absolute origin is always in the upper left corner of the accessible area. This cannot be set to some other place. However, coordinates of objects can also be given relative to the current grid. In the GTK2 version of pcb coordinates are shown in the upper right corner of the main window. The right pair is the absolute position, while the left pair reflects the position relative to an arbitrary marker. This marker is set to the current position of the mouse by the key sequence Ctrl+M. You may want to set the marker to a grid point or a specific pin.

How do I measure distances and dimensions of components?

Use Ctrl+M to set the origin and read the distance of the mouse pointer relative to this point on the upper right of the pcb window. Some objects like vias and tracks yield useful information in object reports. Access the report of the object currently under the mouse pointer with Ctrl+R.

How do I hide rats of specific nets?

In the netlist window, doubleclick on the specific rat name, then press O on your board window. Your rats are hidden for that net. In the Netlist window an asterisk appears in from of the rat name. To reverse: follow the same procedure.

Routing

How do I route a connection from solder to component side and back?

While using the line tool, use the number keys on top of the keyboard to switch layers. A via will be placed automatically at the endpoint of the last complete segment.

How do I change the routing style?

There is a set of predefined sizes for routing. The sets bear suggestive names (Signal, Power, Fat and Skinny). Hit the button “Route Style†to configure the sizes of the current set to your needs. You can set the names and the default values of these parameter sets in a config file ( ~/.pcb/settings for the GTK-HID, or ~/.Xdefaults for the Lesstif-HID). Example for such a setting:

route-styles = Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600

Be sure, to remove any route-style line in ~/.pcb/preferences . Else, the line in settings will be ignored.

The line tool knows about different modes to deal with transversal connections. The status line on the bottom of the page tells, which mode is in effect:

  1. 45° plus vertical/horizontal (status line: “\_â€)
  2. vertical plus 45° (status line: “_/â€)
  3. either vertical or 45° (status line: “45â€)
  4. arbitrary angle (status line: “allâ€)

The way to access these modes differs among the GUI versions. The current GTK snapshot (v20060288) defaults to “_/†but can be temporarily turned to “\_†with the Shift key. You can switch to 45° mode with the slash key /. For arbitrary angles, press the period key ., or choose 'All-direction' lines in the Setting menu.

Routing Issues

I got stuck! How do I go back?

The universal undo key U works even while in the middle of track layout actions. It will remove the last segment but keep the line tool attached to the mouse. So you can immediately go on routing and find a better way.

How do I move one set of layer tracks to a different layer?

  1. Select the tracks. It’s easiest to do this if you shut off everything but that layer first (i.e. silk, pins, other layers, etc).
  2. Now set the current layer to be the new layer. Yes, the layer might get displayed; not a problem as you’ve already selected the tracks you want.
  3. Press Shift+M to move all the selected tracks to the current layer.

How do I achieve open vias clear of soldermask

In pcb vias are covered by soldermask by default. You can achieve open vias by setting their clearance value to a proper value. This can be done individually for every object, or collectively for selections of objects.

For individual vias:

  1. Turn on the soldermask layer. This will make the K key refer to the soldermask clearance instead of polygon clearance.
  2. Position the mouse above the via (mouse cursor will change in recent versions of pcb)
  3. Type K several times until soldermask clearance exceeds the diameter of the via pad. Every strike of the key will increase the clearance by 2 mil. The first strike will let the pad of the via pop through the soldermask color. Yet, the actual clearance is only 2 mil at this point. You can decrease the clearance by using the Shift+K key.

For groups of vias:

  1. Turn on the solder mask layer.
  2. select the all the vias you want to clear from soldermask. You may switch off all the other layers to conveniently collect exclusively the vias.
  3. Type Ctrl+K key several times. Shift+Ctrl+K will decrease the clearance of all selected objects.

The command interface provides more control over the actual size of the clearance. Type : to get the command line window, then type:

ChangeClearSize(SelectedVias, <delta>)

where <delta> is a size given in 1/100 of a mil. Thus the number 3000 corresponds to 30 mil. Simple integers for <delta> will set the clearance to this value. If the value is preceded by a minus â€-†or a plus â€+†the clearance will be decreased or increased. This also works with SelectedPins, SelectedPads, SelectedLines, SelectedArcs or even SelectedObjects.

How do I change the soldermask clearance around a hole/pad?

By default holes and pads will be cleared by an amount given in the corresponding footprint file. Sometimes this clearance might not be what your design needs. You can change the clearance on the fly for individual holes and pads just like vias. See the paragraph above for the details. If pad clearance is not compatible with the demands of your pcb-fab you may consider to make local copies of the footprint files and change the clearance accordingly.

How do I change the size of my tracks?

There are a number of ways to change the size of already laid down tracks:

  1. Use S and Shift+S to increase and decrease the size of the track currently under the mouse cursor.
  2. Choose Select → Change size of selected objects → Lines -10 mil from the Select menu. The actual amount of change can be set in File → Preferences… → Sizes. This only acts on the tracks. So the selection may contain components, text, vias and the like.
  3. Select the tracks to be changed and type :ChangeSize(SelectedLines,+4,mils). The : key gets you to the command line and ChangeSize() is the command version of the previously described action. Replace “+4†by the amount you want to increase the track size. Use the minus sign to decrease the track size. If you omit the sign the command sets the track size to the value given.

How do I drive a via to connect a track to a ground plane on a different layer?

  1. Set the GND plane layer as the active layer.
  2. Select the “via†tool.
  3. Place the via where you want it to live (left click to place).
  4. Now select the “thermal†tool.
  5. Left click on the via you just placed.
  6. Now change the active layer to your desired routing layer.
  7. Select the “line†tool.
  8. Route the track on the active layer to or from the via as usual.

What is the easiest way to create a "thermal via"?

A “thermal via†is not a via with a thermal relief. Rather, it's a via with no thermal relief punched into polygons on both sides of the board. These vias get filled with solder to help create a large thermal mass to be used as a heat sink. For more info, see Freescale App-Note AN4005.

Here are some suggestions:

  • Draw a rectangle to comfortably surround the vias. Then, mouse over the rectangle and hit S. This will flood the thermal reliefs on the vias. If you want to ever de-solder the part from the back, make sure the pad on the opposite side has the solder resist cleared.
  • Just put a normal thermal relief on the via and then shift click on it to cycle through to the one with no relief.

I want to draw a track between two segments on the same net, but PCB won't let me! Why?

You are likely drawing tracks with auto-DRC on. To connect the two segments, here are some suggestions:

  • DRC enforcement uses the ratsnest to determine where a track is allowed to go. Thus, you must have the ratsnest drawn in order to make connections in auto-DRC mode. Otherwise you will not be allowed to connect (or approach) any copper that is not already connected to your net. (If the rat visibility bothers you, you can hide the rats layer – but the rats must exist).
  • You should also refresh the rats regularly when drawing. Hit O to redraw/re-optimize the rats. Make sure a rat is visibly connecting the two pieces of metal you want to connect.
  • It is also possible that you will experience this situation when drawing tracks between pins in a connector. In this case, it is possible that your track width violates the clearance requirements of the pin field. Try decreasing the pin-to-metal clearance, or use a narrower track width.
  • Sometimes this route-blocking behaviour can come about from an error in your netlist. Don't end refdes's with lower case letters - they're reserved for gates within devices. End with upper case or a digit; the lowercase letters are simply ignored.

PCB won't let me connect to copper that is not connected to anything!

This is a known weakness of the Auto-enforce-DRC mode. In this mode, the line tool will only allow you to connect to copper with the same net as the place where the track started.

There are two ways to connect to unconnected copper, anyway: Obviously, you can temporarily deactivate Auto enforce DRC clearance in the Settings menu. A second way uses the fact that auto-DRC relies on the found flag:

  1. enter the “line†mode (F2).
  2. hover the mouse cursor over the unconnected copper.
  3. press F to mark it as “foundâ€.
  4. start the line from somewhere else. Both should now be marked with the “found†color and should be connectable.

I want to draw two vias very close to each other, but PCB won't let me!

Unfortunately, older versions of PCB not only prevent you from placing overlapping vias but drop them on load. In December 2010 this overly cautious behavior was fixed. If you really need overlapping vias, you have to install a version of pcb younger than that.

The 2011 version of PCB still won't allow you to place vias so close that their holes overlap. However, it won't complain if you managed to work-around this restriction. E.g. place tiny vias and increase their size afterwards.

PCB seems to munge my components names and complains that it can't find proper nets for the pins! How come?

Most likely you named them such that PCB believes they are one part. Lower case letters at the end of a refdes are ignored. Thus, the components U2foo and U2bar both look like U2 to pcb. When building the rat nests pcb is will look for nets to U2 that, of course don't exist. Lower case letters are meant to differentiate slots of a multi-component. E.g. the four opamp symbols of a quad operational amplifier.
Bottom line: Don't use lower case letters at the end of a refdes, unless you know what you are doing.

How can I set color and thickness of the rats nests?

You can set the color of the rats in File → Preferences… → Colors → Main colors

There is currently no GUI way to set the rat width, but you can edit your $HOME/.pcb/preferences file manually. Close all instances of pcb and look for the line that starts with rat-thickness.

Values 0..19 are fixed width in screen pixels. Anything larger means PCB units (i.e. 100 means “1 milâ€). On zoom, PCB unit rats will scale accordingly.

Where is that last remaining rat?

Sometimes remaining rats are hard to see, because they have zero length. This will be the case if a via is missing for some reason. You can make them pop into your eye by setting the rat thickness to some big value e.g. 3000 mil. Rat thickness is set in $HOME/.pcb/preferences.

Beyond tracks and footprints

How do I trace a drawing, a print, or another PCB?

See the page http://www.delorie.com/pcb/bg-image.html at DJ Delorie's PCB HID website.

This is a great way to trace hand-drawn artwork or another PCB, say one you made in software with a proprietary format, which you'd now like to 'unlock'. Furthermore, you can use the background image as tool for making board revisions or redesigns.

If you don't like to use PCB confined to the area of the board, i.e. if you want margins around your board, then add them in the GIMP. I like to make a 1.00000 inch margin around the board. When you set your PCB size in PCB, you'll want to add the margin area. CTRL-M will help you verify the scaling. Also, the time to correct distortions from your scanner, or from your drawing is before you load it, in the GIMP or the like.

I can't copy component pads in a layout. What gives?

Question: I want to copy a section of my existing layout to another spot.

I can select the existing area. Everything turns pretty blue.

“Buffer†→ “Copy Selection To Buffer†seems to succeed (no complaints).

Then I go to paste the copied area… and all that moves are a couple of traces and some vias. The pads I've painstakingly created aren't copied. What gives!?!?!?

Answer: If the silk layer is off, you can't copy elements through the paste buffer. Weird, but that's how it works. Therefore, turn on the silk layer before trying to copy a section of a layout.

How do I fill areas with copper?

Use rectangles and polygon planes. These items will always avoid vias, pads and pins. Tracks are also avoided, if they have the clear polygons flag set (menu: Settings → New lines, arcs clear polygons). Since version 20070208 of pcb the resulting polygon will be one contiguous piece. Isolated snippets are removed.

How can I assign my polygon to a net?

Polygons are not “assigned†to nets, they're connected to them. Pads are the only carriers of netnames in pcb. This means, you need to design some copper to connect the polygon with a pad. The net of the pad automatically transfers to the polygon.

How can I connect tracks, pads, or vias to my polygon?

There are different ways to adequately connect different types of objects to a polygon:

  • tracks: Set the join flag of the track. You can do this with the J key, while the mouse hovers above the track. Alternatively you can select the lines and apply the command “SetFlag(selected,join)â€. For new lines, you can uncheck the New lines, arcs clear polygons in the Settings menu. The polygon will immediately flow into the track.
  • pads: Currently, there is no way to directly connect a polygon to a pad. Draw a track without the join flag from the pad to the polygon. (see above)
  • pins and vias: Choose the thermal tool (“THRMâ€). Select the layer the polygon sits on. Shift-Click on the via to circle through the available styles of the connection.
  • polygons: Just define them geometrically overlapping.

The polygons are shorting my tracks! What can I do about it?

You didn't have New lines, arcs clear polygons checked in the Settings menu when you layed down the tracks. Enter changejoin(selected) in the command window to toggle this flag for all tracks that are currently selected. The keyboard shortcut to this action is Shift+J. If you want to set or clear the join flag rather than toggle it, you can use the commands SetFlag(selected, join) and ClrFlag(selected, join). See the SetFlag description in the pcb manual for more details on these commands.

How do I change polygon clearance?

In pcb, the polygon itself has no built-in clearance. It is the tracks, pads and pins that bear this property. This means, you can adjust the clearance individually:

Make sure, the soldermask layer is not active. Else the following will apply to the soldermask rather than to the polygon. Press K to increase the clearance of the object under the cursor. Use Ctrl+K to increase the clearance of selected objects. Add the Shift modifier to decrease the clearance. To change a whole track press F to find all segments that are connected to the object under the cursor and apply the action select(connection).

The amount of the increment can be configured in the dialog File → Preferences… → Increments. (Note, this setting is currently ignored)

The above only applies to one object at a time. You can manipulate the clearance of all selected objects with the action ChangeClearSize(Selected,<amount>,<unit>). The parameter <amount> should be a number. A prefixed sign means increment, or decrement. A prefixed = sets the clearance to the following value. The parameter can be mil or mm. If not specified the units will default to the internal unit of 0.01 mil.

In addition, there is a special action that acts only on objects with clearance below a given minimum: MinClearGap(Selected,<amount>,<unit>).

How do I hide the polygons while I edit the layout?

Put the polygons (and rectangles) on a separate layer. Use the Preferences… dialog to make sure, this layer is not in the same group as the tracks. Disable the layer by a click on the corresponding layer button in the main window. After you are finished with the changes, use the Preferences… dialog to let the polygon layer join the layer of the tracks. You will have to save and reload the layout to trigger recalculation of polygons so they are adapted to your edits. Alternatively a restart will recalculate the polygons too.

Polygons are making the GUI sluggish. What I can do about it?

Parts of the polygon that are not connected to some net are automatically eliminated. This effectively removes dead copper. While this is desirable for the actual board, it requires calculation of quite extensive algorithms. So it is not necessarily a bug, but a price to be paid for a powerful feature. Still, there is a couple of things you can do to improve the situation:

  • Temporarily hide the polygons. (see above)
  • Choose Thin draw poly from the Settings menu to display only the outlines of the polygons and disable dead copper removal. In recent versions of gschem, i.e. later than September 2007, you can select through the polygons.
  • Make sure, you don't have redundant polygons defined, which multiply overlay the same area. These polygons won't display because they shade each other. But they demand calculation resources. The best way to check for redundant polygons is to edit the source of your layout with an ascii editor.

After I defined those ground planes, pcb takes ages to load. How come?

Polygon calculation is potentially an expensive operation in terms of processor cycles. Unless your layout is pretty complex, you most likely have redundant polygons defined. Look into the source of your layout to find and delete unnecessary polygons. If this does not apply, see above for possible measures to ameliorate the situation.

How do I edit polygons?

There are four basic ways to edit polygon outlines. You can move and delete vertices and you can insert vertices using two techniques. Polygons can be edited equally well in “thin line draw†mode (Settings → Thin draw poly) or in normal mode. Moving a vertex is easily accomplished by un-selecting your polygon and then clicking and dragging that vertex to a new location. To delete a vertex, a corner in your polygon, put your crosshairs over the point and hit Delete on the keyboard. To insert a vertex, you’ll use the insert tool (Insert keystroke). Start by clicking the edge you want to split with a new point. Click and drag a new point into the polygon. A variation on this technique is 1) click to select, followed by 2) click to place new vertex.

(NOTE: Inserting points into polygon will generally work ONLY with “all direction lines†enabled (Settings → 'All direction' lines). This is because PCB has a powerful 45/90 degree constraints system. If you try to insert new vertices into a polygon that don’t fall onto lines of proper 45 and 90 degree constraints, PCB disallows the action!)

How do I place vias that connect to a polygon for full thermal dissipation or full shielding integrity?

Often it’s useful to have vias connect completely to a polygon (a field of copper) for heat transfer – the apparent problem is that PCB polygons have only a single “clear pins/vias†flag for the entire polygon (toggled by the S key). Our goal is to only connect some of the pins/vias to the polygon, but to connect them better than a thermal does. Here are a few ways to do this:

One way, you’ll make an object that’s almost just like a thermal in that it goes between your via and the polygon – the difference is that you’ll actually create an annulus to completely fill the space between the hole and polygon (which because it’s clearance is turned on, is not connected to the pin). This annulus is four arc segments. You can copy these four items to the buffer to create a “zero-clearance thermal toolâ€. The drawback of this trick is that when you change via size, you’ll also have to modify the size of these filler parts.

The arcs allow you to use this fill trick in tight places by only placing, say two of the four arcs.

Another trick is to make a zero-length line. Take a single line segment and move the end-point on top of the start-point. Now you have a “single point line†(a circle) with the diameter equal to the line thickness. Move to different layers (M key) as you see fit. Place this object centered on your via to connect it to a polygon.

Power-users may want to keep a small custom library of these parts by saving them as elements. It’s also handy to put these “parts†in one of your PCB buffers so they’re at your fingertips.

You can also add another polygon on-top of the polygon to which you want to connect you vias. You’ll un-set the “clear pins/vias†flag and the vias will be connected to the larger polygon underneath.

Can polygons be un-masked? (Can a polygon be made bare-copper with no solder mask?)

Currently, there is no way to directly make polygons clear solder mask. The usual workaround is to work with pads.

  1. Draw a track in the middle of the desired no solder mask area. Every track will become a pad.
  2. Select the tracks
  3. Do Convert selection to element from the Select menu
  4. Activate the solder mask layer. The solder mask should keep clear of the tracks
  5. Increase the clearance of the pads to match the desired bare copper area. To do this, press K while the mouse cursor hovers above the pads.
  6. Optionally press Q to set the square flag of the pads.

While the pad width is limited to 250 mil, clearance can be arbitrary.

How can I increase the size of all pins?

This is a two step process. First select the objects you want to manipulate. Then act on the selection:

  1. select all components. You may shut off all layers except silk so the select tool doesn't catch tracks.
  2. from the menu choose Select → Change size of selected objects → Pins +10 mil

You may rip off the sub menu at the dashed line to make it stay on the screen for convenient repeated application.

Alternatively, issue the ChangeSize action with the command tool:

  • Type : to open the command line.
  • In the command line type:
ChangeSize(SelectedPins, SIZE)

Replace SIZE with the desired size, given in 1/100 mil. 1mm = 3937. If SIZE is prefixed by â€-†the size is decreased. If the prefix is â€+â€, the size is increased. If there is no sign, it is interpreted as an absolute value. Refer to the pcb manual for the syntax of the ChangeSize action.

How do I place mounting holes?

Use a footprint for the mounting hole or place a via.

If the pads surrounding the mounting hole need to be electrically connected then you should show the connection in your schematic. Add a symbol for the mounting hole and change its footprint attribute.

My preference is to create PCB footprints for the various types of mounting hardware. I have a variety of silkscreens for various hardware combinations (hex nut, hex nut with washer, etc.) The silkscreen provides a convenient placement reference during PCB layout.

For footprint examples see http://www.luciani.org/geda/pcb/pcb-footprint-list.html#Hardware.

Why is it possible to make a thermal for pin, but not for a pad?

The reason is that pins usually have sufficient spacing that the plane surrounding them remains intact on all sides and pads usually are so tightly spaced that they do not. Because of this you must manually draw the thermal “fingers†to connect the pad to the ground plane. Be sure that you have the settings such that new lines connect to planes when you draw them. If you need to make several such thermals, spend a little time making the first one just the way you want then copy the fingers to the buffer and paste it where you want the others.

Can PCB be used to make single layer boards?

It's all just names when you're doing single sided. There's no such thing as a single sided board in pcb - just a double sided board with nothing on one side.

Design for two-sided, but with all the traces on the solder side. If you use the autorouter, turn off all but the bottom layer. This will make the autorouter stick to that layer. If you need wire jumpers, you have two options to let pcb know there is a valid connection: You can draw tracks on top layer similar to a two layer layout. Alternatively you can Create a “jumper†symbol in the schematic and put that in places where you need a jumper. This is likely to be a major pain, but you can enforce dimensions of the jumpers this way if you care.

Single sided boards do not have plated holes, so pad diameter for pins must be greater, usually two to three times the drill size. Some footprints in the default library have very small pads which will be too weak if used for single sided board. Tweak them to your needs and place them in a local library.

When you dump your gerbers, delete the component side one and rename the plated-holes one to unplated-holes. Voila! A single sided board.

What resources exist to process PCB files using scripts?

One of PCB's great features is that it uses an easily understood ASCII file format. Therefore, many people use scripts (commonly Perl) to process their boards in various ways. You can use these scripts either as they are, or modify them to suit your own goals. Here are some links to available scripts:

  1. John Luciani has a large number of scripts available on his website. Included in his collection are scripts for generating footprints, as well as
  2. David Rowe has scripts for updating elements as well as adding/subtracting PCB files from each other on his website.
  3. Stuart Brorson wrote a simple script which generates footprints for two terminal SMT passives. A gzipped tarball is available here .
  4. The website gedasymbols.org has gathered a collection of footprints, symbols, scripts, and other materials from many different gEDA contributors. The website is organized by contributor, so if you take the time to browse around there, you may find exactly what you are looking for!

How do I import external vector graphics?

There is a third party open source utility called pstoedit that converts postscript data to pcb format. It is included in most major Linux distributions. You can use your favorite vector graphics utility to produce a logo or any kind of fancy layout. Export as eps if you can and make sure that your logo fits into the bounding box (check with a postscript viewer such as ggv). If there is no eps export available, you can produce postscript by printing to a file. In this case you may add a bounding box with ps2epsi. Call pstoedit with the option â€-f pcb†to produce a valid pcb file that contains the graphics as tracks on layer 1. Load this file to pcb. The graphics will sit somewhere on the lower left of the view port. You may have to zoom out to get it on the screen.

Import of external vector graphics is useful if an irregular shape of the pcb is required. Use the cut buffer to copy the shape to your actual design.

Is there a way to import a DXF drawing from mechanical CAD applications?

There is no import filter to directly load a DXF file to pcb. However, the open source application qcad can open DXF files and export them as postscript. The tool pstoedit can turn this postscript file into a format readable by pcb (see above).

What is the best way to do weird footprints?

Sometimes footprints call for shapes that are difficult to achieve with the restricted graphics GUI of pcb. It may be easier to start with the vector drawing application inkscape and convert to pcb. In inkscape:

  • draw the weird shape with lines. Lines don't have to be straight.
  • save as eps (uncheck “make bounding box around pageâ€)

Convert to pcb format:

  • pstoedit -f pcb > footprint.pcb

In pcb do:

  • File → Load layout data to paste-buffer
  • edit to your needs (lines only, no polygons)
  • select the bunch of lines
  • copy to buffer ( ctrl-c )
  • Buffer → Convert buffer to element
  • Buffer → Save buffer elements to file

In a text editor:

  • add the same pin number to all the lines with search and replace
  • save as *.fp at a place where pcb is looking for footprint libraries

How Do I attach a name to my layout?

You can set the name of the current pcb with menu Edit → Edit name of → layout. This sets the title attribute of the layout. This attribute is used for the export actions. It does not interfere with the file name.

Is there a way to do multiple instances of a subcircuits?

The GUI provides no way to do similar subcircuits automatically. You can copy groups of tracks and vias. However, you have to place the footprints manually. Deactivate Auto enforce DRC clearance in the Settings menu during placement. Else pcb won't let you connect the footprints with the copied tracks and vias.

John Luciani wrote a pair of perl scripts that can do better than that. The script sch-matrix places multiple copies of a basic block on the sheet. It increments the numbers and positions of the symbols as needed. The layout script pcb-matrix arranges multiple copies of a sample layout in a matrix way. The result is a matching pair of schematic and layout with a subcircuit repeated multiple times. See Johns website for the details and a download of the scripts.

The pair of scripts was written a few years ago and is not used regularly. They may need to be updated when used with recent versions of pcb. Contribution of bug reports and/or patches are welcome.

Can I overlay a bitmap in the background?

There is a special option to put a bitmap graphic in the background of the canvas. The image can be in jpg, png, or ppm format. Use gimp, or any other image manipulation program to make the image look hazy so it does not interfere too much with the actual layout colors. Call PCB like this:

$ pcb --bg-image background.png layout.pcb

The image will be scaled to the size of the canvas. See the howto page by DJ Delorie for a screenshot of pcb with background image.

Auto Router

How do I make the most of the auto router?

  1. Turn off visibility of any layers you don't want the router using.
  2. Turn off via visibility if you don't want it to introduce any new vias.
  3. Use only plain rectangles for power/ground planes that you want the router to use. (Use the rectangle tool rather than the polygon tool!)
  4. Make at least one connection from any plane you want the router to use to the net you want it to connect to.
  5. Draw continuous lines on all routing layers to outline keep-out zones.
  6. Use routing styles in the netlist to have per-net routing styles.
  7. Set the current routing style for any nets not having a defined route style in the netlist.
  8. Disable any nets that you don't want the autorouter to route – double-click them in the netlist window to add/remove the “*â€.
  9. Create a fresh rat's nest. (press the O key)
  10. Select Show autorouter trials in the Settings menu if you want to watch what's happening.
  11. Choose Auto-route all rats in the Connects menu.

Note on disabled nets: If you will be manually routing these later not using planes, it is usually better to let the autorouter route them then rip them up yourself afterwards. If you plan to use a ground/power plane manually, consider making it from one or more pure rectangles and letting the autorouter have a go at it.

If you really want to muck with the router because you have a special design, e.g. all through-hole components you can mess with layer directional costs by editing the autoroute.c source file and changing the directional costs in lines 929-940 and try again. Even more mucking about with costs is possible in lines 4540-4569, but it's probably not such a good idea unless you really just want to experiment.

How do I force the autorouter to only put traces on a particular layer?

Just unselect the layers you don’t want (usually green and blue) by clicking on the name of the layer, then press autoroute.

How do I make autorouter leave particular nets alone?

Open up the netlist window. It has options for including or excluding nets from the ratlist. If you use the GTK-HID double-click a route to disable it. Make sure, only the nets you want are enabled. Optimize the rats with key O. Do Auto-route all rats.

How do I force the autorouter to route only within my pcb outline?

You can have the autorouter work only within a given area by drawing a copper polygon conforming to your board’s boundary and placing it in each layer you’re trying to autoroute. You can also use this trick to autoroute only with small areas. Of course, if you accidentally have a net touching the polygon, all routes will get shorted to that net.

How do I route power and ground planes with the autorouter?

Connect the polygon that will become your power planes to a net and the autorouter will figure it all out. You may need some trick polygon clearances to get power routing and routing within a board outline.

The layout produced by the autorouter is inefficient!

This is a technological limitation of the current auto router. It is gridless and uses geometric rectangles only.

The layout produced by the autorouter is ugly!

Have you tried the various clean-up tools under Connects → Optimize routed tracks?

Gerber files, prints and other I/O issues

Is is possible to produce output without GUI intervention?

Yes, you can tell pcb on the command line to do an export. All the parameters set in the print dialog can be used in the command line too. Some simple examples:

Gerber files:

pcb -x gerber --gerberfile BOARD BOARD.pcb

Encapsulated Postscript:

pcb -x eps --eps-file BOARD.eps

Multi page formated Postscript print:

pcb -x ps --psfile BOARD.ps BOARD.pcb

PNG format:

pcb -x png --dpi 300 --only-visible --outfile BOARD.png BOARD.pcb

Different output procedures allow for different options. See the output of pcb --help for details.

How can I print specific layers only?

In the GUI:

  • deactivate all layers you don't want to print
  • choose File → Export layout… → eps
  • check as-shown

From the command line:

pcb -x eps \
  --layer-stack "outline,top,silk" \
  --as-shown \
  --eps-file "foobar.eps" BOARD.pcb

The layer-stack string can contain a comma separated list of the layers used in the GUI. You have to give the option â€--as-shownâ€. Else, a default layer stack file will be used. In addition there are a number of tokens that are technically no layers like “pinsâ€, or “invisibleâ€. If you put an unknown token in the layer-stack string, pcb responds with a list of known layer names.

How can I print the bottom side of the board?

From the command line: Add “solderside†to the layer-stack string of the print command. Example:

  pcb -x eps --layer-stack "silk,solderside" \
     --as-shown \
     --eps-file "/tmp/foobar.eps" BOARD.pcb

How do I make a board outline to go with my gerbers to the board maker?

PCB interprets the lines in a layer called ‘outline’ as the absolute edge of the pcb. If no such layer is present, you can either rename a layer (Edit → Edit name of → active layer). Or you can add a layer from scratch (File → Preferences… → Layers → Add) and rename it accordingly. Note, that the name of this layer is case sensitive.

You can enter your outline thru PCB’s GUI. You just draw the desired outline with the line tool or the arc too. Most fabs will cut the board at the center of the lines. You can generate boards of any shape this way. Arcs, polygons and text in the outline layer also enter the gerber file.

It’s also possible to edit the native .pcb file format of your layout. I usually use layer 8 for outlines:

Layer(8 "outline")
(
	Line[x1 y1 x2 y2 1000 2000 0x00000000]
	Line[x2 y2 x3 y3 1000 2000 0x00000000]
	Line[x3 y3 x4 y4 1000 2000 0x00000000]
	Line[x4 y4 x1 y1 1000 2000 0x00000000]
	Line[<more points go here for non-square boards> 1000 2000 0x00000000]
)

PCB will produce a gerber file called $NAME.outline.gbr that exclusively contains the objects in the outline layer.

How do I make sure, that the design contains only certain hole sizes?

Some fabs provide lists of standard drill sizes and charge extra if the design contains additional sizes. You can put this list in a “vendor resource fileâ€. This file may also exceptions and specify if the nearest diameter should be chosen, or rounded up to the next size in the list. See the section Vendor-drill-mapping in the pcb manual for the syntax of this file.

Load the file to pcb with File → Load vendor resource file. Alternatively, you can use with the command :LoadVendor(drillfile). Substitute “drillfile†with the name of your file.

On load, pcb will substitute drill sizes so that the layout conforms to the list. If you want to apply an already loaded vendor resource file again, you can do Apply vendor drill mapping from the Connects menu.

How many pads are in my layout?

Some board houses ask for the number of SMD pads to help them with their quote. You can use gerbv to extract this pad count from your layout.

  1. export the layout to gerbers
  2. open the file $NAME.frontpaste.gbr with gerbv
  3. choose Gerber codes report from the Analyze menu
  4. The tab “Aperture usage†gives the number of SMD pads.

I'm done with my layout. How should I check my design?

  • Run a check of design rules either through the command interface (“DRC()â€) or from the menu (Connects → Design Rule Checker). You can set the rules in the Sizes section of the Preferences… dialog. Results of the check are shown in the log window.

Besides running the DRC checker, it is essential to check your Gerber files. The gEDA Suite includes the program “gerbv†for this task. Here are some things to check/verify:

  • Check that all trace widths are the correct size. Also make sure your trace widths and metal-metal separations are above the minimum specified by your PCB vendor.
  • Check that all hole diameters are called out at the correct size.
  • Check that metal annular rings around holes/vias are large enough. The annular ring is the distance between the hole’s edge and the outer diameter of the metallization. The annular ring must be large enough to accommodate drill location + layer registration + other manufacturing inaccuracy. This information should be available from your PCB fabrication house; they normally publish the minimum annular ring requirements in their manufacturing rules document.
  • Check that your antipads (clearance around holes/vias) are large enough. This information should be available from your PCB fabrication house; ask them for their manufacturing rules document.
  • Verify that no soldermask or silkscreen overlays a copper pad or through-hole.
  • On plane layers, verify that at least some vias connect to it (yes, I have seen a board where the entire ground plane was floating – not done in pcb btw)
  • On plane layers, verify that at least some vias don’t connect to it.
  • Do a visual sanity check of all layers. Nothing detailed, just does it look approximately like you think it should.
  • Sign it and date it. At least put a version number on it, so if you have to rev the board, you can tell the good from the bad.
  • Are all layers negative/positive as they should be? Note that some fab houses want positive layers only. PCB will automatically create negative Gerbers on outer layer planes with no tracks. If you want an all-plane layer to be output as a positive layer, draw a single track somewhere in an unused part of the plane. This will trigger PCB to render that layer as a positive layer.

Exporting Other Formats: Raster and PS Files

What is xy-max in the PNG export dialog box?

It limits the size of the image to NxN pixels, but maintains the aspect ratio. For example, if you set it to 400, a 6000×8000 mil board would yield a 300×400 image, but a 6000×4500 board yields a 400×300 image.

Customization

I don't like that old-style black background. How can I get a light canvas?

In GTK-HID there is a Preferences… dialog in the File menu. The Colors tab presents a convenient way to set all the colors pcb uses via the standard GTK color chooser. The colors are saved to $HOME/.pcb/preferences on shut down of the application. With Lesstif-HID there is no preference dialog. Colors can be set in $HOME/.pcb/settings

How do I set the default values of the postscript dialog?

You can set the default options of the postscript printing dialog as command line parameters when invoking pcb. Type pcb --help for a list of available options. These options can also be set in a file $HOME/.pcb/settings. A settings file for a4 paper, no alignment marks, multi page output would contain:

media = A4
align-marks = 0
multi-file = 1

How do I customize the mouse behavior?

There is no GUI way to modify the mouse behavior. However, you can adapt it to your needs without recompiling. This is how:

  1. locate the file gpcb-menu.res on your box. For lesstif there is a similar file called pcb-menu.res
  2. copy the file to $HOME/.pcb
  3. edit to your needs, save
  4. on start-up, pcb will read this localised copy. This will overwrite whatever settings were made by the system gpcb-menu.res

How do I temporarily change keyboard shortcuts?

The GTK version of pcb includes a neat way to change shortcuts on the fly:

  • go to the menu and let the mouse hover over the item to be configured. Don't press any mouse button.
  • type whatever shortcut you'd like to assign to the item under the mouse.
  • the shortcut will be working immediately. Conflicts with other shortcuts will be resolved by removing the shortcut of the conflicting definition.

This setting will be reset at the next session of pcb.

How do I permanently change keyboard shortcuts?

Default keyboard shortcuts are defined in files called gpcb-menu.res if you use the default GTK interface. On start-up pcb reads the configuration from a system path, e.g. /usr/local/share or /usr/share/. For permanent change of keyboard shortcuts you can copy the system file to $HOME/.pcb/gpcb-menu.res and edit to your needs. Settings in this file will overwrite the system configuration.

The lesstif interface reads pcb-menu.res files instead.

Can I customize the menu?

The menu is defined in gpcb-menu.res for the GTK-UI. You can place a localized copy in $HOME/.pcb/. See the notes above on configuration of keyboard shortcuts and mouse behavior.

You didn't answer my question. What other resources exist for PCB information?

You can get fast responses from the geda-user email list. If you haven’t found an answer to your question about PCB on this page, or in the other documentation, then post to the list! Note that you must subscribe to the geda-user e-mail list before you can post to the list. The gEDA e-mail lists, and their archives, are at: http://wiki.geda-project.org/geda:mailinglists.

lepton-eda-1.9.10/docs/wiki/geda-todos.ru.html0000644000175000017500000006604613634703632016032 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

Что Ñделать

Эти ÑпиÑки задумывалиÑÑŒ как напоминание разработчикам о незавершённых проектах. Кроме того, здеÑÑŒ ещё еÑть ÑпиÑок Ñ Ð¿Ð¾Ð¶ÐµÐ»Ð°Ð½Ð¸Ñми пользователей наÑчёт новой функциональноÑти. Ðовые разработчики также могут поиÑкать здеÑÑŒ проекты, над которыми им было бы интереÑно поработать.

Задачи Ð´Ð»Ñ Ð½Ðµ-программиÑтов Ñм. в ÑпиÑке задач.

ÐžÑ‚Ð´ÐµÐ»ÑŒÐ½Ð°Ñ Ñтраница выделена Ð´Ð»Ñ Ñтратегии Ñ€Ð°Ð·Ð²Ð¸Ñ‚Ð¸Ñ pcb.

Задачи Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñтов

  • ПрограммиÑÑ‚ ÑпиÑков Ñоединений
    Ðужен человек, знакомый Ñ Ñозданием/управлением ÑпиÑками Ñоединений, готовый помочь в работе над программой gnetlist и в её улучшении. Будет ли иÑпользоватьÑÑ ÑущеÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° gnetlist, или нужно вÑÑ‘ перепиÑывать заново — выбор за ним. Должен очень хорошо владеть программированием в UNIX/C/C++.
  • ПрограммиÑÑ‚ библиотеки Ñимволов
    Ðужен человек Ð´Ð»Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰Ð¸ в работе по приведению библиотеки Ñимволов к их Ñовременной Ñпецификации. Этот человек мог бы также помогать в интеграции новых Ñимволов и обеÑпечении их ÑоответÑÑ‚Ð²Ð¸Ñ Ñпецификации. Задача поддержки библиотеки Ñимволов в ÑоответÑтвии Ñо Ñпецификацией ÑоÑтоит из ручной работы и Ð°Ð²Ñ‚Ð¾Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ (такого рода автообновление очень хорошо подходит Ð´Ð»Ñ Ð»Ð¸Ñ†, знакомых Ñ Ð½Ð°Ð¿Ð¸Ñанием Ñкриптов на shell/perl).
  • ПрограммиÑÑ‚/менеджер Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² Windows
    Ðужен человек, компетентный в Ñборке и теÑтировании gEDA на UNIX-ÑиÑтемах и знакомый Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð¾Ð¹ MS Windows 95/98/NT, Ð´Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ gEDA в Windows. Этот человек был бы в оÑновном ответÑтвенен за теÑтирование, уÑтранение ошибок, Ñборку пакетов и выпуÑк gEDA Ð´Ð»Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ñ‹ Windows. Эта задача требует Ð·Ð½Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ C, gtk+, UNIX и MS Windows. ВерÑÐ¸Ñ Ð´Ð»Ñ Windows ÐЕ будет развиватьÑÑ, еÑли Ñта задача не выполнÑетÑÑ.
  • Менеджер Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² MacOS: ВопроÑÑ‹, упомÑнутые в «Разводка печатных плат ÑредÑтвами open-source») уже решены?
  • ПрограммиÑÑ‚ выпуÑков
    Ðужен человек, желающий заниматьÑÑ Ð¿Ð¾Ð´Ð³Ð¾Ñ‚Ð¾Ð²ÐºÐ¾Ð¹ и управлением выпуÑками. ÐÐ¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð²Ñ‹Ð¿ÑƒÑкаетÑÑ Ð² тот момент, когда Ð´Ð»Ñ Ð½ÐµÑ‘ готов код, поÑтому Ð´Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ€Ñ‹Ð½ÐºÐ° здеÑÑŒ нет. Эта задача требует знакомÑтва Ñо Ñборкой/теÑтированием gEDA и может быть немного программированиÑ.

Ð¡Ñ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ð²Ñ‹Ð¿ÑƒÑков Ñледующих верÑий

Ð’ данном разделе должен быть перечень только тех вопроÑов, которые ÑчитаютÑÑ Ð½Ð°Ñтолько важными, что выпуÑк не будет производитьÑÑ Ð´Ð¾ тех пор, пока они не будут решены. ЕÑли ошибка или Ð½Ð¾Ð²Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть будет перенеÑена, или её важноÑть уменьшитÑÑ, удалите, пожалуйÑта, её из ÑпиÑка или перемеÑтите в ÑпиÑок Ñледующего подходÑщего выпуÑка.

СпиÑок пожеланий Ð´Ð»Ñ Ñледующих выпуÑков

ОпиÑание Сообщение об ошибке на Launchpad Разработчик(и) СоÑтоÑние
Общие задачи выпуÑка
Снимки Ñкрана выпуÑкаемой верÑии Ð´Ð»Ñ Ñ€ÐµÐºÐ»Ð°Ð¼Ð½Ð¾Ð¹ модернизации веб-Ñайта gEDA. — Peter C
СлиÑние переводов Ñ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼Ð¸ переводами на Launchpad — Peter C
Проверка, что заголовки Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ñкими правами ÑоответÑтвуют текущей дате 1086316
Общие задачи
ОбеÑпечить, где возможно, что gEDA будет компилироватьÑÑ Ð±ÐµÐ· ошибок Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸ÐµÐ¼ нерекомендуемого («deprecated») API GTK / GLib
gschem
Вылечить вÑе “warning : ignoring return value of ‘…’, declared with attribute warn_unused_result†при компилировании Ñ Ð¿Ð¾Ñледними верÑиÑми GCC
ИзбавитьÑÑ Ð¾Ñ‚ прÑмого иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ /tmp/ Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ñ‹ изменений в Ñхеме
ГрафичеÑкий Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð½Ð°Ñтройки gschem (и gattrib?) Peter B
Больше немодальных диалоговых окон в gschem Edward H
Переработка конечного автомата Ð´Ð»Ñ Ð´ÐµÐ¹Ñтвий gschem и кода диÑпетчеризации Ñобытий Edward H
Редактирование внедрённых Ñимволов
Сохранение Ñимволов в проектах Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð½ÐµÐ·Ð°Ð²Ð¸ÑимоÑти Ñхем от библиотеки Ñимволов
Поддержка буфера обмена Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ/вÑтавки текÑтового предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… Ñхем gEDA
Поддержка буфера обмена Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ/вÑтавки графичеÑкого предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… Ñхем gEDA
Переработка кода отриÑовки Ð´Ð»Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñти его иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð½Ðµ gschem Peter C
Переработка виджета предпроÑмотра Ð´Ð»Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñти его иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð½Ðµ gschem Peter C
gschem: Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ð¾Ð² и вÑтавки/ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¸Ñ… узлов —
libgeda
Ошибки, отноÑÑщиеÑÑ Ðº кодировкам, ÑвÑзанные Ñ UTF-8, ÑиÑтемными данными или данными из файловой ÑиÑтемы 1868072
TinyScheme вмеÑто Guile Peter B
Ðовый механизм наÑтроек Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¸ не тьюринг-полной ÑиÑтемы наÑтроек Peter B Ðачато!
gnetlist
ПоÑтраничное Ñоздание ÑпиÑков Ñоединений в libgeda Peter C
Переработка / улучшение gnetlist Peter C
Поддержка шин в gnetlist Peter C Ðачато!
Символы
ИÑпользование контуров Ð´Ð»Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ñимволов (например, логичеÑких) —

Желательные ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ñ… программ Ñ Ñ€Ð°Ñчётом на более длительный Ñрок

  • libgeda:
    • Добавить поддержку файлов .sch Ñ Ñимволами, некоторые (но не вÑе) выводы которых вынеÑены в файл .sch. Это позволит оÑущеÑтвлÑть переÑтановку выводов при обратном аннотировании из pcb. (Ðрхитектурное изменение)
    • СлиÑние поÑтраничных ÑпиÑков Ñоединений, Ñозданных программой gnetlist (или перезапиÑÑŒ, еÑли надо).
  • gschem:
    • Сделать в gschem кнопку вызова gsch2pcb Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° ÑпиÑка Ñоединений, готового Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹ pcb.
    • Добавить поддержку иерархичеÑких шин. (Ðрхитектурное изменение)
    • Сделать, чтобы переменные gschemrc уÑтанавливалиÑÑŒ ÑобÑтвенно из gschem Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ (нового) пункта меню «ÐаÑтройки» («Settings»). Ð˜Ð´ÐµÑ ÑоÑтоит в запуÑке из меню Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñодержимого файлов gschemrc или gafrc и запиÑи изменений в нужный rc-файл.
    • Улучшить библиотеку Ñимволов Ð´Ð»Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð¼Ð¸ наборами Ñимволов.
    • Теперь тип SELECTION предÑтавлÑет Ñобой GedaList, и мы можем получить «изменённые» Ñигналы, Ñделать больше диалоговых окон немодальными:
      • редактор одного атрибута;
      • окно правки ÑвойÑтв текÑта;
      • окно правки типа и толщины линии;
      • окно правки типа заполнениÑ;
      • окно правки номера Ñекции;
      • окно правки цвета;
      • окно Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° текÑта (задаёт размер Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ текÑта, поÑтому никак не полагаетÑÑ Ð½Ð° SELECTION)
    • Поддержка отриÑовки внедренной в текÑÑ‚ математики LaTeX.
      • Можно было бы поддерживать либо только вывод, либо генерировать и кешировать раÑтровые картинки Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ вызова LaTeX, dvips и ps2epsi.
      • Стоит ли добавлÑть Ð´Ð»Ñ Ñтого новый тип объекта, или разрешить прикрепление атрибута «latex=1» к Ñамому текÑтовому объекту?
  • gattrib:
    • ЗаÑтавить работать печать.
    • Разрешить прикрепление атрибутов к ÑоединениÑм. (Ðрхитектурное изменение)
  • garchive:
    • Подключить Guile, чтобы rc-файлы читалиÑÑŒ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ такого же механизма, как и в оÑтальных программах gEDA/gaf.
  • refdes_renum:
    • Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð½Ðµ работает должным образом Ñ Ð¼Ð½Ð¾Ð³Ð¾Ñекционными компонентами (задаёт новые номера позиционных обозначений Ð´Ð»Ñ Ð¼Ð½Ð¾Ð³Ð¾Ñекционных компонентов). ИÑправить Ñкрипт, чтобы он раÑпознавал многоÑекционные компоненты и ÑоответÑтвующим образом назначал позиционные обозначениÑ.
  • pcb
    • Добавить в оÑновное меню разные команды, которые доÑтупны ÑÐµÐ¹Ñ‡Ð°Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ через :command(foo). Ðовички хотÑÑ‚ видеть, какие дейÑÑ‚Ð²Ð¸Ñ ÐµÑть в меню, так как таким образом они могут узнать, что можно делать в pcb.
    • Добавить панель инÑтрументов Ñ ÐºÐ½Ð¾Ð¿ÐºÐ°Ð¼Ð¸ Ð´Ð»Ñ Ð¾Ð±Ñ‰Ð¸Ñ… дейÑтвий.
    • Более очевидно обозначить различие между редактированием поÑадочного меÑта и топологии платы. Может быть изменÑть цвет фона в режиме Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñадочных меÑÑ‚. (Ðрхитектурное изменение)
    • Создать диалоговое окно «Файл → Сохранить» («File → Save»). Ð’ данном диалоговом окне предуÑмотреть меню Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð¾Ð¼ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð»Ð¸Ð±Ð¾ как топологии платы (по умолчанию), либо как поÑадочного меÑта.

Идеи, каÑающиеÑÑ Ð½Ð¾Ð²Ñ‹Ñ… утилит или общих улучшений в gEDA Suite

  • Разработать Ñхему обратного Ð°Ð½Ð½Ð¾Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ из pcb в gschem. Это потребует изменений в libgeda Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¸, например, выноÑа выводов из файла .sym в .sch (возможноÑти переÑтановки выводов). (Ðрхитектурное изменение)
  • ÐапиÑать ÑредÑтво Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Gerber → .pcb. Ð’ результате должен получатьÑÑ Ñлой металлизации или поÑадочное меÑто, которое можно будет редактировать в pcb. Это может быть Ñкрипт на Perl.
  • Реализовать файлы блокировок между gattrib и gschem.

Ð ÐµÐ¾Ñ€Ð³Ð°Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¸ чиÑтка кода

  • Убрать иÑпользование ÑвÑзанных ÑпиÑков, не отноÑÑщихÑÑ Ðº типу GList. Это очень агреÑÑÐ¸Ð²Ð½Ð°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð°, но она позволит хорошо почиÑтить код там, где перемешаны Ñтарые и новые методы на оÑнове GList.
  • Удалить из различных Ñтруктур неиÑпользуемые переменные и функции. К «неиÑпользуемым» можно отнеÑти также иÑпользуемые, но малоÑффективные.
  • Удалить из gschem и других «клиентов» библиотеки libgeda обратный ÑкÑпорт указателей глобальных функций в Ñту библиотеку. Они не ÑвлÑÑŽÑ‚ÑÑ Ð¿ÐµÑ€ÐµÐ½Ð¾Ñимыми.
  • ПочиÑтить/Ñоздать базовые программные интерфейÑÑ‹ (API) Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð¼Ð¸ любого типа или Ñо ÑпиÑками объектов.
  • Преобразовать функции, иÑпользуемые внутри одного файла «.c» и непригодные Ð´Ð»Ñ Ð¾Ð±Ñ‰ÐµÐ´Ð¾Ñтупного API, в ÑтатичеÑкие, и удалить их из prototype.h.
lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-running_gschem.ru.html0000644000175000017500000000641013634703632021634 00000000000000

ЗапуÑк gschem

Вам нужна Ñправка по уÑтановке gEDA?

gschem можно запуÑтить прÑмо из меню приложений, поищите пункт «gEDA Schematic Editor», который на большинÑтве Linux-ÑиÑтем можно найти в подменю «Engineering» или «Electronics». Программу также можно запуÑтить из менеджера файлов, открыв в нём файл Ñхемы (Ñ Ñ€Ð°Ñширением .sch).

Кроме того, gschem можно запуÑтить и из командной Ñтроки, набрав команду gschem. Чтобы открыть новую Ñхему, без названиÑ, команду можно задать без аргументов:

gschem

Можно открыть и неÑколько файлов Ñхем или Ñимволов, указав в команде их имена:

gschem mydesign.sch symbols/resistor-1.sym

ЕÑли какой-то из заданных файлов ещё не ÑущеÑтвует, gschem ÑоздаÑÑ‚ новый файл Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ именем.

Программа gschem принимает неÑколько дополнительных аргументов, которые можно задать в Ñтроке команды Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐµÑ‘ поведениÑ. Они подробно опиÑаны в Ñправочной Ñтранице gschem(1) (которую можно поÑмотреть, запуÑтив man gschem).

lepton-eda-1.9.10/docs/wiki/geda-ngspice_and_gschem.html0000644000175000017500000002265013634703632020046 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

Overview

It is possible to use gschem to make circuit diagrams which can then be simulated with ngspice. The advantage is that you can iteratively design and simulate before you commit to fabrication. The purpose of this tutorial is not to teach the details of SPICE but rather to work a very simple example so that the required steps are made clear. More detailed documents on both Spice and gEDA can be found at:

There is a FAQ in the wiki that may be of help: faq-simulation

This tutorial is based on the example 'TwoStageAmp.sch' in the examples which ship in gEDA's documentation and constructs the first half of that example step by step.

Setup

It is assumed that you are able to construct schematics with gschem. If you are unsure how to do this please visit gsch2pcb_tutorial. So let's start by making a project directory 'simpleSPICE' and creating a schematic file named 'simplespice.sch' in that directory.

Use gschem to build up a schematic that looks like:

Note that three named nets have been created, “Vinâ€, “Voutâ€, and “Vbaseâ€. Although this is not necessary, it is an easy way to keep track of important points in the circuit. Naming nets is done by editing either by right-clicking or by hitting EE while a net is selected; then just add the attribute 'netname' and give it an appropriate name. Although we now have a circuit to simulate, we need to add some SPICE specific information before we can get any results.

Adding some SPICE stuff

There are four things that we will need to add to the schematic to make it suitable for simulation. We must include an input signal, describe the properties of the transistor, explicitly define Vcc, and add some lines to the SPICE file. When all these things are done the schematic will look like:

The input signal is added by choosing 'SPICE simulation elements→vac-1.sym' from the components menu and, after placing the device, editing its properties to read:

Notice that the 'value' is a string that will be read by SPICE. You learn about SPICE syntax in the links given above.

Vcc is set in basically the same way except we choose 'SPICE simulation elements→vdc-1.sym' from the components menu. Its properties should be edited to read:

The transistor setup is a bit more complicated. We must first have access to a SPICE model for the transistor of interest. This can usually be found on the manufacturer's website or the part's datasheet, but it may need to be modified to work with your favorite simulator. The easiest way to get the model is from spicelib. For this example we will consider the ubiquitous 2N3904. Which has the following model:

.model 2N3904   NPN(Is=6.734f Xti=3 Eg=1.11 Vaf=74.03 Bf=416.4 Ne=1.259
+               Ise=6.734f Ikf=66.78m Xtb=1.5 Br=.7371 Nc=2 Isc=0 Ikr=0 Rc=1
+               Cjc=3.638p Mjc=.3085 Vjc=.75 Fc=.5 Cje=4.493p Mje=.2593 Vje=.75
+               Tr=239.5n Tf=301.2p Itf=.4 Vtf=4 Xtf=2 Rb=10)
*               Fairchild        pid=23          case=TO92
*               88-09-08 bam    creation

Make a sub-folder named 'models' in our project folder 'simpleSPICE' and make a file named '2N3904.mod' in that folder and fill it with the model text given above. Make sure that there is a newline at the end of the file, this is important so that when the final SPICE file is created everything will be on its own line. Okay, now that we have a model for the transistor we have to apply it. Edit the transistor properties to read:

Now we also need to inform gschem of the model file we created. This is done by adding a 'spice-model-1.sym' symbol to the schematic. Edit its properties to read:

Okay, there are two more symbols to add. The first is 'spice-include-1.sym' which will include a text file which describes the SPICE simulation you may want to run and the other is 'spice-directive-1.sym' which allows additional lines to be added to the SPICE file. The properties of these symbols can be set as:

Congratulations! We now have a schematic that is ready for simulation.

Simulation

Although the schematic is in place, we still need to write out what the simulation will do. This information will be written in the './Simulation.cmd' that was referenced in the include symbol added in the last section. For now, create a file './Simulation.cmd' and make it read:

.OP
.AC DEC 20 1Hz 100MegHz
* .DC VINPUT 0 5 .01
* .DC VINPUT 1 2 .01
.plot ac v(Vout) v(Vin)
.print ac v(Vout) v(Vin)

Which does one AC analysis while two lines for DC analysis are commented out. Then both Vout and Vin are plotted as well as having their numerical values printed. As mentioned previously, SPICE can be learned from the links given above.

Now that we have described the simulation we want done, open a terminal, move to the 'simpleSPICE' directory and type the command:

gnetlist -g spice-sdb -o spice.net simplespice.sch

to produce the SPICE file 'spice.net'. Now the simulation can be run in batch mode by typing:

ngspice -b spice.net > result.txt

which will spew a great deal of text to 'result.txt'. The file should include the numerical output we requested as well as a crude ascii plot of the results. Note that the 10mV input signal has been amplified to about -280mV over a wide frequency range. If you want to view graphical plots ngspice can be operated in interactive mode by removing the -b option. The ngspice website describes this in more detail. In any event, we now have the simulation results in a nice text format suitable for reading with a script, perhaps something written in python or octave, for further graphing or analysis.

lepton-eda-1.9.10/docs/wiki/geda-howto_report_bugs.html0000644000175000017500000000624313634703632020021 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

Howto report bugs

I found a bug! What can I do about it?

  1. See if you can reproduce the bug.
  2. Ask on the geda-user mailing list if there is a work around, or has been dealt with in the bleeding edge version of gEDA/gaf. Note, that you must subscribe to the geda-user e-mail list before you can post to this list.
  3. See whether the issue is already in the bug tracking system of the component (see below). If not, file a bug report. Make sure to give all information necessary to reproduce the bug and add the version of gEDA/gaf that contains the bug.
  4. Finally, as with all open source projects, you may flex your programming muscles and try to fix the bug yourself. Please file a patch of the changes you had to make to the BTS of geda/gaf. The patch will be gladly accepted to improve the next release of gEDA/gaf.

Bug trackers

lepton-eda-1.9.10/docs/wiki/geda-gschem_symbol_creation.ru.html0000644000175000017500000015126013634703632021412 00000000000000

Это руководÑтво доÑтупно также на Ñледующих Ñзыках: English

РуководÑтво по Ñозданию Ñимволов gEDA/gaf

ПоÑледнÑÑ Ð²ÐµÑ€ÑÐ¸Ñ Ð¾Ñ€Ð¸Ð³Ð¸Ð½Ð°Ð»Ð° наÑтоÑщего документа находитÑÑ Ð¿Ð¾ адреÑу http://www.geda-project.org/wiki/geda:gschem_symbol_creation.
ÐаÑтоÑщий документ выпущен под лицензией GNU Free Documentation License (GFDL).

Обзор

Ð’ наÑтоÑщем документе опиÑываетÑÑ Ñоздание Ñимволов компонентов, в том чиÑле ÑÐ¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾ Ñтилю, Ñоветы/подÑказки и то, чего Ñтоит оÑтерегатьÑÑ Ð¿Ñ€Ð¸ вычерчивании Ñимволов Ð´Ð»Ñ ÑиÑтемы gEDA/gaf.

Создание Ñимвола компонента

Символы компонентов (называемые далее проÑто «Ñимволами») вычерчиваютÑÑ Ð² gschem. Можно начать Ñ Ð¿ÑƒÑтой Ñтраницы или Ñ Ð·Ð°Ð²ÐµÐ´Ð¾Ð¼Ð¾ хорошего Ñимвола, похожего на Ñоздаваемый вами.

Подготовка

Прежде, чем открыть gschem и начать чертить Ñимвол, задайте Ñебе неÑколько вопроÑов, ответы на которые повлиÑÑŽÑ‚ на то, как Ñто делать:

  1. СоздаётÑÑ Ð»Ð¸ Ñимвол чиÑто из ÑÑтетичеÑких Ñоображений (проÑто как риÑунок)? ЕÑли так, неÑколько шагов упрощаютÑÑ.
  2. Ðужно ли будет потом иÑпользовать Ñтот компонент Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ, например в SPICE?
  3. Ðужно ли будет иÑпользовать Ñтот Ñимвол в Ñхеме, где производитÑÑ Ñ€Ð°Ð·Ð²Ð¾Ð´ÐºÐ° питаниÑ? Это будет важно при решении вопроÑа о том, какие выводы нужно чертить.
  4. ПредÑтавлÑет ли Ñтот Ñимвол компонент, которых по неÑколько штук в одном корпуÑе? Это на Ñзыке gEDA называетÑÑ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸ÐµÐ¼ логичеÑких Ñекций и на Ñтот Ñчёт имеютÑÑ Ð¾Ñобые правила.

Когда вы Ñами Ð´Ð»Ñ ÑÐµÐ±Ñ Ð¾Ñ‚Ð²ÐµÑ‚Ð¸Ñ‚Ðµ на Ñти вопроÑÑ‹, Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐ°Ñ Ñ‡Ð°Ñть руководÑтва Ñтанет Ð´Ð»Ñ Ð²Ð°Ñ Ð³Ð¾Ñ€Ð°Ð·Ð´Ð¾ полезней.

Итак, приÑтупим к Ñозданию Ñимвола:

  1. Откройте gschem.
  2. По умолчанию на новых пуÑтых Ñтраницах выводÑÑ‚ÑÑ Ñ€Ð°Ð¼ÐºÐ¸. Выберите инÑтрумент Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ (в виде чёрной Ñтрелки мыши на панели инÑтрументов) и выделите вÑÑ‘ на Ñтранице. Ðажмите клавишу Delete, чтобы вÑÑ‘ удалить.
  3. Увеличьте Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ раз маÑштаб (Вид → Увеличить [View → Zoom In], или нажмите клавишу Z).
  4. УдоÑтоверьтеÑÑŒ, что привÑзка к Ñетке ВКЛЮЧЕÐÐ (ÐаÑтройки → Переключить Ñетку привÑзки [Options → Toggle Snap On/Off] или O S).
  5. УбедитеÑÑŒ, что шаг Ñетки привÑзки уÑтановлен в 100 (ÐаÑтройки → Шаг Ñетки привÑзки… [Options → Snap Grid Spacing…] или O Shift+S).

Черчение Ñимвола

С помощью инÑтрументов ЛиниÑ, ПрÑмоугольник, ОкружноÑть, Дуга (которые можно выбрать в меню Добавить [Add]) Ñоздайте уÑловное графичеÑкое обозначение Ñвоего уÑтройÑтва. УбедитеÑÑŒ, что единÑтвенный цвет, который вы иÑпользовали, Ñто 'Graphic' (зелёный). Ðе помещайте никаких выводов уÑтройÑтва до Ñледующего шага.

Ð”Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ того, какой цвет иÑпользуетÑÑ Ð´Ð»Ñ Ñ‡ÐµÑ€Ñ‡ÐµÐ½Ð¸Ñ, откройте меню Правка → Цвет… [Edit → Color…] (или нажмите E O).

Размещение выводов

ЕÑли вы решили, что ваш Ñимвол будет графичеÑким (Ñ‚. е. не будет ни к чему подключатьÑÑ, а будет проÑто картинкой), то Ñтот шаг можно пропуÑтить.

Добавьте Ñвой первый вывод.

  1. Выберите Добавить → Вывод [Add → Pin], или нажмите A P. ПоÑле Ñтого щёлкните в том меÑте, где должен быть конец вывода, и перемеÑтите мышь к краю Ñвоего Ñимвола. Около вашего нового вывода должны поÑвитьÑÑ '0' и Ñлово 'unknown'. Обратите внимание, что направление Ð²Ñ‹Ñ‡ÐµÑ€Ñ‡Ð¸Ð²Ð°Ð½Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² важно. ЕÑли их чертить от ÐºÑ€Ð°Ñ Ñимвола наружу, то текÑÑ‚ окажетÑÑ Ñнаружи Ñимвола!
  2. Щёлкните по инÑтрументу Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸ выделите им вывод, который вы только что нариÑовали. Цвет Ñамого вывода и отноÑÑщегоÑÑ Ðº нему текÑта должен изменитьÑÑ, а на концах вывода должны поÑвитьÑÑ ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚Ð¸ÐºÐ¸.
  3. Выберите Правка → Правка… [Edit → Edit…] или нажмите E E (или щёлкните правой кнопкой и выберите Правка… [Edit…]). Тогда Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° поÑвитÑÑ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ðµ окно редактированиÑ.

Ð’ диалоговом окне Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñвоего нового вывода вы должны увидеть четыре атрибута (четыре пары имÑ=значение), уже прикреплённых к нему. Эти атрибуты можно отредактировать, Ñ‰Ñ‘Ð»ÐºÐ°Ñ Ñначала по атрибуту в ÑпиÑке вверху окна редактированиÑ, затем по полю, которое вы хотите изменить. Учтите, что когда что-то выделено, Ñто не отражаетÑÑ Ð² разделе диалогового окна Добавить атрибут, так как Ñтот раздел предназначен только Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ, а не Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑƒÐ¶Ðµ имеющихÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð².

Давайте взглÑнем на каждый из атрибутов, уже прикреплённых к вашему выводу, и изменим некоторые значениÑ. Я предлагаю увеличить размер окна Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚Ð°Ðº, чтобы было видно вÑе атрибуты.

  • У каждого вывода должен быть атрибут pinseq. Это чиÑло, определÑющее порÑдок работы программы gnetlist Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¼Ð¸. Ð”Ð»Ñ Ð½Ð°ÑˆÐµÐ³Ð¾ первого вывода начнём Ñту поÑледовательноÑть Ñ '1' и будем поÑледовательно увеличивать Ñтот номер по мере Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð².
  • У каждого вывода должен быть атрибут pinnumber. Это номер вывода на корпуÑе компонента, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ ÑоздаётÑÑ Ñтот Ñимвол. Ðомер вывода может быть буквенным или цифровым (то еÑть можно иÑпользовать, например, E или C).
  • У каждого вывода должен быть также атрибут pinlabel. Данный атрибут ÑвлÑетÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ или меткой вывода (а не номером вывода).
  • У каждого вывода должен быть также атрибут pintype. Данный атрибут определÑет тип вывода.
  • Ðтрибуты pinseq и pinnumber неÑкольких выводов Ñразу можно пронумеровать автоматичеÑки Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ðтрибуты → ÐвтонумерациÑ… [Attributes → Autonumber Text…].

ДопуÑтимыми значениÑми pintype ÑвлÑÑŽÑ‚ÑÑ: in, out, io, oc, oe, pas, tp, tri, clk, pwr. Более подробную информацию о нём Ñм. в Перечне оÑновных атрибутов.

Добавление атрибутов к Ñимволу

Чтобы иÑпользовать Ñимвол Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð¹ в gschem и других программах, он должен Ñодержать неÑколько атрибутов (в виде пар имÑ=значение).

Сначала мы добавим вÑе нужные нам атрибуты, а затем отключим видимоÑть тех из них, которые должны быть невидимыми.

  1. Ð’ Ñимвол нужно добавить атрибут device=ÐÐЗВÐÐИЕ_УСТРОЙСТВÐ. Ðазвание уÑтройÑтва не должно Ñодержать ничего, кроме пропиÑных букв, дефиÑов, чиÑел и Ñимволов подчёркиваниÑ. ЕÑли Ñимвол определÑет чиÑто графичеÑкий объект, то значение атрибута device= должно быть none (device=none).
  2. Ð’ чиÑто графичеÑкий Ñимвол (такой как, например, рамка формата оÑновной надпиÑи или Ñимвол decon) Ñледует добавить атрибут graphical=1. Этот атрибут показывает, что Ñодержащий его Ñимвол не имеет ÑлектричеÑкого или ÑхемотехничеÑкого назначениÑ. Ðе забывайте ÑоглаÑно предыдущему требованию уÑтанавливать вмеÑте Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼ атрибутом device=none.
  3. Ð’ Ñимволе должен быть атрибут description=ТЕКСТ. ТЕКСТ должен предÑтавлÑть Ñобой одноÑтрочное опиÑание Ñимвола.
  4. Ð’ Ñимволе должен быть атрибут footprint=ИМЯ_КОРПУСÐ, он может иÑпользоватьÑÑ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ ÑпиÑка Ñоединений Ð´Ð»Ñ pcb. ИМЯ_КОРПУСРпредÑтавлÑет Ñобой поÑадочное меÑто Ð´Ð»Ñ pcb или тип корпуÑа, такой как DIP14 или DIP40. ПодробноÑти Ñм. в СоглашениÑÑ… по именованию поÑадочных меÑÑ‚. ЕÑли вы иÑпользуете gEDA в ÑвÑзке Ñ pcb, то более подробную информацию по данному атрибуту и о том, как его иÑпользовать, вы найдёте в документации по pcb и в gnetlist/docs/README.pcb.
  5. Ðтрибут refdes= должен помещатьÑÑ Ð²Ð¾ вÑе Ñимволы, не ÑвлÑющиеÑÑ Ñ‡Ð¸Ñто графичеÑкими. Значение данного атрибута по умолчанию Ð´Ð»Ñ Ð¼Ð¸ÐºÑ€Ð¾Ñхем должно быть U?, а Ð´Ð»Ñ Ñ‚Ñ€Ð°Ð½Ð·Ð¸Ñторов T?. Видимым Ñледует Ñделать только его значение и, когда Ñимвол будет помещён в Ñхему, данный атрибут будет вынеÑен (прикреплён вне Ñимвола Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñти его редактированиÑ).
  6. Ðтрибут numslots= нужно добавлÑть во вÑе Ñимволы, чтобы предотвратить предупреждениÑ, выдаваемые программой gsymcheck при их проверке. Вполне доÑтаточно добавить numslots=1.

Теперь, когда вÑе Ñти атрибуты добавлены, Ñделайте numslots, footprint, description, graphical и device невидимыми. ОÑтавьте видимым только значение атрибута refdes и раÑположите его где-нибудь над Ñимволом.

Завершение

  1. Добавьте к Ñвоему Ñимволу обозначение, выбрав Добавить → ТекÑт… [Add → Text…] или нажав A T. Ðаберите Ñвоё обозначение и перемеÑтите его в верхнюю чаÑть Ñимвола.
  2. СмеÑтите Ñимвол в начало координат из меню Правка → Смещение Ñимвола…
    [Edit → Symbol Translate…] или нажмите E T.
  3. Введите 0 в поле ввода и нажмите OK.
  4. Сохраните Ñимвол Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Файл → Сохранить [File → Save] или Файл → Сохранить как… [File → Save As…].
  5. ПомеÑтите Ñимвол в один из каталогов, заданных как библиотека Ñимволов в файле наÑтроек gEDA suite (в одном из файлов gafrc). ОбъÑÑнение того, как наÑтроить библиотеки Ñимволов Ñм. в РуководÑтве Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ gEDA gschem. Как только Ñто Ñделано, Ñимвол должен немедленно Ñтать видимым и может быть выбран и помещён в Ñхему из меню Добавить → Компонент… [Add → Select Component…]. Ð’ Debian помещение файлов в /usr/share/gEDA/sym/local/ работать будет, но потребует наÑтройки привилегий.

Примечание

Смещение Ñимвола в начало координат — шаг необходимый. Ð”Ð»Ñ ÑÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ñимвола в другое меÑто введите величину ÑÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ (в милах), кратную 100. УбедитеÑÑŒ, что вÑе выводы привÑзаны к точкам Ñетки.

Общие ÑÐ¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¾Ð± именовании Ñимволов

  1. Символы именуютÑÑ Ñледующим образом: symbolname-#.sym
  2. Имена Ñимволов имеют раÑширение .sym.
  3. ÐÐ°Ð·Ð²Ð°Ð½Ð¸Ñ Ñимволов Ñодержат чиÑло, обозначенное выше знаком #. Обычно оно равно 1, но еÑли Ð´Ð»Ñ ÑƒÑтройÑтва имеетÑÑ Ð½ÐµÑколько Ñимволов, данное чиÑло проÑто увеличиваетÑÑ.
  4. Обычно имена Ñимволов задаютÑÑ Ð² нижнем региÑтре, но буквы, ÑоÑтавлÑющие чаÑть типа прибора, указываютÑÑ Ð² верхнем региÑтре.
  5. ПоÑледнее правило может быть нарушено, еÑли Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° выглÑдит некорректно или ошибочно.

Ð¢Ñ€ÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ðº Ñимволам

Ð’ данном разделе опиÑываютÑÑ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ðµ требованиÑ, которые необходимо Ñоблюдать Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñимвола в плане Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ на Ñкране и ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ ÑпиÑков Ñоединений в ÑиÑтеме gEDA/gaf.

Выводы

  1. К каждому выводу должен быть прикреплён атрибут pinseq. Это чиÑло, определÑющее порÑдок работы программы gnetlist Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¼Ð¸. Это проÑто порÑдковый номер, поÑледовательно увеличивающийÑÑ, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ 1.
  2. К каждому выводу должен быть прикреплён атрибут pinnumber. Это номер вывода на корпуÑе компонента, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ ÑоздаётÑÑ Ñтот Ñимвол. Ðомер вывода может быть буквенным или цифровым (то еÑть можно иÑпользовать, например, E или C).
  3. К каждому выводу должен быть также прикреплён атрибут pinlabel. Данный атрибут ÑвлÑетÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ или меткой вывода (а не номером вывода). Данный атрибут применÑетÑÑ Ñ‚Ð°ÐºÐ¶Ðµ при иÑпользовании Ñимвола в иерархичеÑкой Ñхеме.
  4. К каждому выводу должен быть также прикреплён атрибут pintype. Данный атрибут определÑет тип вывода. ДопуÑтимыми значениÑми ÑвлÑÑŽÑ‚ÑÑ: in, out, io, oc, oe, pas, tp, tri, clk, pwr. Более подробную информацию о нём Ñм. в Перечне оÑновных атрибутов.

Ðтрибуты

Более подробную информацию о предÑтавленных здеÑÑŒ атрибутах можно найти в Перечне оÑновных атрибутов.

  1. Ð’ Ñимволе должен находитьÑÑ Ð½ÐµÐ²Ð¸Ð´Ð¸Ð¼Ñ‹Ð¹ атрибут device=ÐÐЗВÐÐИЕ_УСТРОЙСТВÐ. Обычно название уÑтройÑтва задаётÑÑ Ð² верхнем региÑтре (пропиÑными буквами). Данный атрибут не должен иÑпользоватьÑÑ Ð² качеÑтве обозначениÑ. Ð”Ð»Ñ Ñтого Ñледует иÑпользовать отдельный текÑтовый объект. ЕÑли Ñимвол определÑет чиÑто графичеÑкий объект, то device= должен иметь значение none (device=none).
  2. ЕÑли Ñимвол ÑвлÑетÑÑ Ð¿Ð¾Ð»Ð½Ð¾Ñтью графичеÑким (как, например, рамка формата оÑновной надпиÑи или Ñимвол decon) в нём должен быть атрибут graphical=1. Символы Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼ атрибутом не имеют ÑлектричеÑкого или ÑхемотехничеÑкого назначениÑ. Ðе забывайте ÑоглаÑно предыдущему требованию уÑтанавливать вмеÑте Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼ атрибутом device=none.
  3. Ð’ Ñимволе должен быть атрибут description=ТЕКСТ. ТЕКСТ должен предÑтавлÑть Ñобой одноÑтрочное опиÑание Ñимвола.
  4. Ð’ Ñимволе должен быть атрибут footprint=ИМЯ_КОРПУСÐ, он может иÑпользоватьÑÑ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ ÑпиÑка Ñоединений Ð´Ð»Ñ pcb. ИМЯ_КОРПУСРпредÑтавлÑет Ñобой поÑадочное меÑто Ð´Ð»Ñ pcb или тип корпуÑа, такой как DIP14 или DIP40. ПодробноÑти Ñм. в СоглашениÑÑ… по именованию поÑадочных меÑÑ‚. ЕÑли вы иÑпользуете gEDA в ÑвÑзке Ñ pcb, то более подробную информацию по данному атрибуту и о том, как его иÑпользовать, вы найдёте в документации по pcb и в gnetlist/docs/README.pcb.
  5. Ðтрибут refdes=U? должен помещатьÑÑ Ð²Ð¾ вÑе Ñимволы, не ÑвлÑющиеÑÑ Ñ‡Ð¸Ñто графичеÑкими. Видимым Ñледует Ñделать только его значение и, когда Ñимвол будет помещён в Ñхему, данный атрибут будет вынеÑен (прикреплён вне Ñимвола Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñти его редактированиÑ).
  6. Ðтрибуты label= и name= не должны иÑпользоватьÑÑ Ð² Ñимволах, так как Ñто уÑтаревшие атрибуты.
  7. Ðтрибут netname= не должен иÑпользоватьÑÑ Ð² Ñимволах. Он иÑпользуетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в Ñхемах.

МногоÑекционные компоненты

  1. ЕÑли компонент Ñодержит неÑколько Ñлементов (Ñекций) в одном физичеÑком корпуÑе (как, например, 7400, имеющий 4 Ñлемента 2И-ÐЕ в одном корпуÑе), то необходим атрибут numslots=#. ЧиÑло # задаёт количеÑтво Ñлементов в физичеÑком уÑтройÑтве. Ð’ Ñтом Ñлучае в Ñимволе должен быть атрибут numslots= и его Ñледует Ñделать невидимым. Другие обÑзательные атрибуты, отноÑÑщиеÑÑ Ðº многоÑекционным компонентам, опиÑываютÑÑ Ð½Ð¸Ð¶Ðµ.
  2. ЕÑли компонент Ñодержит неÑколько Ñлементов (Ñекций) в одном физичеÑком корпуÑе, то Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ Ñекции необходимо также задать атрибут slotdef=#:#,#,#… Первое чиÑло # ÑоответÑтвует номеру Ñекции. ЕÑли уÑтройÑтво Ñодержит 4 Ñлемента, то в Ñимволе должны быть атрибуты slotdef=1:…, slotdef=2:…, slotdef=3:… и slotdef=4:…, их Ñледует Ñделать невидимыми. ПоÑледующие чиÑла # один к одному ÑоответÑтвуют атрибутам pinseq=# и определÑÑŽÑ‚ номер вывода pinnumber=#, который должен уÑтанавливатьÑÑ Ð¿Ñ€Ð¸ назначении данной Ñекции. Ð’ качеÑтве примера того, как вÑÑ‘ Ñто должно работать, Ñм. приведённый ниже Ñимвол 7400-1.sym.
  3. Ð’ Ñимволы многоÑекционных компонентов рекомендуетÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»Ñть атрибут slot=1.

Проверка Ñимвола

СоответÑтвие вÑем указанным требованиÑм проверÑетÑÑ Ð·Ð°Ð¿ÑƒÑком gsymcheck. gsymcheck выдаÑÑ‚ фатальные ошибки, довольно Ñерьёзные и требующие иÑправлениÑ. gsymcheck также выдаÑÑ‚ Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¾ требующих иÑправлениÑ, но не фатальных ошибках.

Стиль

Ð’ данном разделе опиÑываетÑÑ Ñтиль, иÑпользуемый в Ñтандартной библиотеке Ñимволов gEDA/gaf.

ТекÑтовые объекты

  • Ð’Ñе текÑтовые Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ быть размером 10 пунктов.
  • ТекÑÑ‚ (текÑтовые обозначениÑ, но не атрибуты) должен иметь цветовой Ð¸Ð½Ð´ÐµÐºÑ 9 (text | зелёный).
  • Ð”Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¸Ð½Ð²ÐµÑ€Ñных логичеÑких уровней иÑпользуйте Ñпециальное кодирование черты над текÑтом (например, pinlabel=\_Reset\_).

Ðтрибуты

  • Ð’ качеÑтве номеров выводов должны отображатьÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹ pinnumber (не pinseq), и их размер должен ÑоÑтавлÑть 8 пунктов.
  • Цветовой Ð¸Ð½Ð´ÐµÐºÑ Ð¿Ñ€Ð¸ÐºÑ€ÐµÐ¿Ð»Ñ‘Ð½Ð½Ñ‹Ñ… атрибутов должен быть равен 5 (attributes | жёлтый). Цвет автоматичеÑки уÑтанавливаетÑÑ Ð² жёлтый при прикреплении текÑтового Ñлемента.
  • ЕдинÑтвенным иÑключением из данного правила ÑвлÑÑŽÑ‚ÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹ pinlabel=, цветовой Ð¸Ð½Ð´ÐµÐºÑ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… должен быть равен 9 (text | зелёный). ЕÑли каждый текÑтовый Ñлемент внутри Ñимвола будет жёлтым, Ñимвол выглÑдит череÑчур жёлтым.
  • Ðтрибуты могут прикреплÑтьÑÑ Ðº некоторой чаÑти Ñимвола. Раньше, Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾ чтобы атрибуты верхнего ÑƒÑ€Ð¾Ð²Ð½Ñ (такие как device= или net=) ÑчиталиÑÑŒ атрибутами, их требовалоÑÑŒ к чему-либо прикреплÑть, но ÑÐµÐ¹Ñ‡Ð°Ñ Ð´Ð¾Ñтаточно, чтобы они находилиÑÑŒ в файле Ñимвола в виде имÑ_атрибута=значение.
  • РаÑÐºÑ€Ñ‹Ð²Ð°Ñ Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¾ поÑледнее предложение, добавим, что атрибутом ÑчитаетÑÑ Ð»ÑŽÐ±Ð¾Ð¹ текÑтовый Ñлемент вида имÑ_атрибута=значение. Ðтрибуты внутри Ñимвола не обÑзательно прикреплÑть к чему-либо. Чтобы увидеть Ñкрытые атрибуты в gschem, выберите Правка → Показать/Скрыть невидимый текÑÑ‚ [Edit → Show/Hide Inv Text].
  • Ð’ библиотеке libgeda еÑть ÑиÑтема работы Ñ Ð²ÐµÑ€ÑиÑми Ñодержимого Ñимвола на оÑнове оценки атрибута symversion=. ПодробноÑти иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтой Ñхемы работы Ñ Ð²ÐµÑ€ÑиÑми Ñм. в Перечне оÑновных атрибутов.

ГрафичеÑкие примитивы

  • Цветовой Ð¸Ð½Ð´ÐµÐºÑ Ð»Ð¸Ð½Ð¸Ð¹, прÑмоугольников, дуг и других графичеÑких объектов должен быть равен 3 (graphic | зелёный).
  • Цветовой Ð¸Ð½Ð´ÐµÐºÑ Ð·Ð½Ð°ÐºÐ¾Ð² логичеÑкой инверÑии в виде окружноÑтей должен быть равен 6 (logic bubble | голубой).
  • ЕÑли вы не уверены в том, как должен выглÑдеть новый Ñимвол или какой он должен быть величины, то, чтобы получить предÑтавление о подходÑщем виде и размере, взглÑните на ÑущеÑтвующие Ñимволы.

Выводы

  • Длина выводов должна ÑоÑтавлÑть 300 милов (3 интервала Ñетки).
  • Длина выводов, раÑполагаемых Ñ€Ñдом Ñо знаком логичеÑкой инверÑии, должна ÑоÑтавлÑть 200 милов (2 интервала Ñетки), окружноÑть знака логичеÑкой инверÑии должна иметь диаметр 100 милов. Чтобы начертить окружноÑть диаметром 100 милов, нужно изменить размер Ñетки на 50.
  • Вывод имеет два конца: один помечен краÑной точкой, другой — нет. КраÑÐ½Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ° означает меÑто Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñоединений. Ð”Ð»Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¾Ð³Ð¾ конца можно либо поворачивать Ñам вывод, либо вручную отредактировать файл Ñимвола, изменив параметр «whichend» нужного вывода. ПодробноÑти Ñм. в документации по Формату файлов.
  • Ð’Ñе концы выводов, предназначенные Ð´Ð»Ñ Ñоединений, должны размещатьÑÑ Ð¿Ð¾ Ñетке размером 100 милов. Другие, неактивные концы могут быть при необходимоÑти раÑположены не по Ñетке.
  • Цветовой Ð¸Ð½Ð´ÐµÐºÑ Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² должен быть равен 1 (pins | белый).
  • Выводы (по вертикали) Ñледует размещать на раÑÑтоÑнии 400 милов (4 интервала Ñетки) за иÑключением Ð²Ñ‹Ñ‡ÐµÑ€Ñ‡Ð¸Ð²Ð°Ð½Ð¸Ñ Ñпециальных Ñимволов, в таких ÑлучаÑÑ… проÑто ÑтарайтеÑÑŒ, чтобы Ñимвол хорошо выглÑдел.
  • Ðомера выводов должны раÑполагатьÑÑ Ð½Ð° 50 милов выше вывода, к которому они прикреплены (или ниже; то еÑть более подходÑщим по ÑмыÑлу образом).
  • Входные выводы размещаютÑÑ Ñ Ð»ÐµÐ²Ð¾Ð¹ Ñтороны Ñимвола, выходные — Ñ Ð¿Ñ€Ð°Ð²Ð¾Ð¹.
  • ПожалуйÑта, не помещайте входы и выходы на одну и ту же Ñторону Ñимвола, еÑли в Ñтом нет абÑолютной необходимоÑти.
  • Можно раÑполагать выводы Ñверху или Ñнизу Ñимвола.
  • ПорÑдок поÑледовательноÑти выводов (Ð´Ð»Ñ ÑˆÐ¸Ð½) должен быть от младшего значащего разрÑда (МЗР) к Ñтаршему (СЗР). При вычерчивании выводов, ÑвлÑющихÑÑ Ñ‡Ð°Ñтью шины, обеÑпечьте, чтобы МЗР на шине был раÑположен наверху (или Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð², которые раÑполагаютÑÑ Ð²Ð²ÐµÑ€Ñ…Ñƒ или внизу Ñимвола, Ñлева от других выводов). Пример правильного порÑдка вы найдёте в Ñимволе 74/74181-1.sym (Ñверху вниз от A0 до A3 и от B0 до B3). Ðарушение данного правила Ñильно затруднит подключение к шинам.
  • При размещении выводов логичеÑких Ñлементов обÑзательно раÑполагайте выводы Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð½Ð°Ð¸Ð¼ÐµÐ½ÑŒÑˆÐ¸Ñ… порÑдковых номеров Ñверху вниз (или Ñлева направо) в порÑдке их увеличениÑ.

Схемотехника

  • Ðе чертите выводы питаниÑ. Ð¢Ð°ÐºÐ°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾ передаётÑÑ Ð¿Ð¾ÑредÑтвом атрибутов (Ñмотрите Мини-HOWTO по атрибуту net=).
  • Вышеуказанное правило при необходимоÑти может быть нарушено, но имейте в виду, что в большинÑтве Ñимволов Ñтандартной библиотеки выводы Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð½Ðµ показаны.
  • Имейте в виду, что Ñимволы должны быть ÑимволичеÑкими, они не изображают физичеÑкий ÐºÐ¾Ñ€Ð¿ÑƒÑ ÑƒÑтройÑтва.
  • По вышеуказанным вопроÑам еÑть некоторые разноглаÑиÑ, поÑтому Ñледующее тоже будет нормально: раÑполагайте выводы Ñимвола логичеÑки, так, чтобы они ÑпоÑобÑтвовали Ñозданию понÑтных, незапутанных Ñхем. Заметьте, что чаÑто Ñто не тождеÑтвенно физичеÑкому раÑположению выводов уÑтройÑтва.

Советы и подÑказки

Ð’ данном разделе приводитÑÑ Ð½ÐµÑколько Ñоветов и подÑказок, чтобы облегчить вам труд по Ñозданию Ñимволов.

  • Выводы ДОЛЖÐЫ быть выровнены по Ñетке размером 100.
  • Избегайте Ñ‡ÐµÑ€Ñ‡ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² вне Ñетки. Ð’ противном Ñлучае вы не Ñможете перемещать их командой Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ (еÑли Ñетка включена), так как объекты будут прилипать к Ñетке. [Это ÑÑ‚Ð°Ñ€Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°, котораÑ, думаю, уже иÑправлена, но вÑÑ‘ равно оÑтерегайтеÑÑŒ так делать.] ВмеÑто Ñтого иÑпользуйте команду ÑÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ñимвола (или перемещайте объект, отключив Ñетку).
  • При Ñоздании Ñимволов нормально уÑтанавливать размер Ñетки меньше 100 (Ñкажем, 10 или 25), только надо помнить, что его надо вернуть обратно в 100, когда вы будете готовы к Ñмещению Ñимвола в начало координат.
  • ЕÑли вы хотите ÑмеÑтить Ñимвол куда-то из начала координат, иÑпользуйте команду Правка → Смещение Ñимвола… [Edit→Symbol Translate…] и введите чиÑло, не равное нулю. Это чиÑло должно быть кратным 100 (например, 1000 или 1100).
  • Помните, что выводы ÑвлÑÑŽÑ‚ÑÑ Ñпециальными объектами; еÑли вы хотите добавить вывод, убедитеÑÑŒ, что вводите именно вывод, а не линию или Ñоединение. ИÑпользуйте команду Добавить → Вывод [Add → Pin] Ð´Ð»Ñ Ñ‡ÐµÑ€Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°.
  • Ðе иÑпользуйте внутри Ñимвола Ñоединений и шин. Это не поддерживаетÑÑ Ð¸ не имеет оÑобого ÑмыÑла.
  • Ð”Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² должен быть видимым атрибут pinnumber, может быть вмеÑте Ñ pinlabel, еÑли таковой имеетÑÑ.

Пример

Ð’ данном разделе приведён проÑтой пример, в котором мы ÑтараемÑÑ Ñледовать вÑем вышеуказанным правилам. Это Ñимвол 7400 (И-ÐЕ).

7400-1.sym
v 20031231 1
L 300 200 300 800 3 0 0 0 -1 -1
T 300 0 9 8 1 0 0 0 1
7400
L 300 800 700 800 3 0 0 0 -1 -1
T 500 900 5 10 0 0 0 0 1
device=7400
T 500 1100 5 10 0 0 0 0 1
slot=1
T 500 1300 5 10 0 0 0 0 1
numslots=4
T 500 1500 5 10 0 0 0 0 1
slotdef=1:1,2,3
T 500 1700 5 10 0 0 0 0 1
slotdef=2:4,5,6
T 500 1900 5 10 0 0 0 0 1
slotdef=3:9,10,8
T 500 2100 5 10 0 0 0 0 1
slotdef=4:12,13,11
L 300 200 700 200 3 0 0 0 -1 -1
A 700 500 300 270 180 3 0 0 0 -1 -1
V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
P 1100 500 1300 500 1 0 1
{
T 1100 550 5 8 1 1 0 0 1
pinnumber=3
T 1100 450 5 8 0 1 0 2 1
pinseq=3
T 950 500 9 8 0 1 0 6 1
pinlabel=Y
T 950 500 5 8 0 1 0 8 1
pintype=out
}
P 300 300 0 300 1 0 1
{
T 200 350 5 8 1 1 0 6 1
pinnumber=2
T 200 250 5 8 0 1 0 8 1
pinseq=2
T 350 300 9 8 0 1 0 0 1
pinlabel=B
T 350 300 5 8 0 1 0 2 1
pintype=in
}
P 300 700 0 700 1 0 1
{
T 200 750 5 8 1 1 0 6 1
pinnumber=1
T 200 650 5 8 0 1 0 8 1
pinseq=1
T 350 700 9 8 0 1 0 0 1
pinlabel=A
T 350 700 5 8 0 1 0 2 1
pintype=in
}
T 300 900 8 10 1 1 0 0 1
refdes=U?
T 500 2250 5 10 0 0 0 0 1
footprint=DIP14
T 500 2450 5 10 0 0 0 0 1
description=4 NAND gates with 2 inputs
T 500 2850 5 10 0 0 0 0 1
net=Vcc:14
T 500 3050 5 10 0 0 0 0 1
net=GND:7
T 500 2650 5 10 0 0 0 0 1
documentation=http://www-s.ti.com/sc/ds/sn74hc00.pdf

Результат, полученный в данном примере, выглÑдит в gschem Ñледующим образом:

:geda:symbol_7400-1_hidden.png

Вот тот же Ñамый Ñимвол, веÑÑŒ Ñкрытый текÑÑ‚ которого видим (меню Правка → Показать/Скрыть невидимый текÑÑ‚ [Edit → Show/Hide Inv Text]):

:geda:symbol_7400-1.png

lepton-eda-1.9.10/docs/wiki/geda-faq-gnetlist.fr.html0000644000175000017500000001217513634703632017253 00000000000000

Autres langues: English РуÑÑкий

Problèmes avec gnetlist lors de l'installation/exécution

la bom de gnetlist ne fonctionne pas. D'où vient le problème?

Si, lorsque vous lancez gnetlist comme ceci:

gnetlist -g bom filename.sch

gnetlist vous sort un message d'erreur tel que:

Loading schematic [filename.sch]
ERROR: In procedure open-file:
ERROR: No such file or directory: “attribsâ€

alors vous avez besoin de créer un fichier appelé «·attribs·» dans le répertoire courant qui contient les attributss que vous voulez dans le fichier de bom. Un exemple de ce fichier ressemblerait à: <xterm>refdes device value</xterm>

Quelques unes des commandes de gnetlist débordent la pile. Comment je résoud ce problème?

Si vous avez un message tel que:

ERROR: Stack overflow

lorsque vous faites passer des schémas de grande taille par une des commandes, ajoutez alors ce qui suit à ~/.gEDA/gnetlistrc ou un gnetlistrc local (dans le répertoire de travail courant):

(debug-options (list 'stack 200000))
(eval-options (list 'stack 200000))

Si cela ne fonctionne pas, éditez alors la commande appropriée (habituellement appelée: gnet-backend_name.scm) et insérez les lignes précédentes en haut de ce fichier. Les commandes gnetlist peuvent être trouvées dans ${prefix}/share/gEDA/scheme. Envoyez aussi un courriel à geda-dev rappelant aux développeurs de corriger ceci. Rappelez-vous que vous devez être inscrits sur geda-dev avant d'y envoyer des courriels.

gnetlist a créé une netlist qui duplique les broches!?

Il y a eu au moins un rapport sur le message suivant venant de PCB après avoir chargé une netlist créée par gnetlist:

28: Error! Element R117 pin 2 appears multiple times in the netlist file.
29: Error! Element C167 pin 2 appears multiple times in the netlist file.

Ce qui s'est produit est que gnetlist (libgeda en fait) a créé deux nets au lieu d'un seul. Ceci se produit lorsque vous dessinez deux nets l'un sur l'autre avec une broche connectant une intersection de deux nets se chevauchants. Notez que les nets chevauchés ne sont pas connectés ensemble. Un schéma pour la démonstration ressemble à ceci:

Les développeurs débattent pour savoir si c'est un bogue ou non de gnetlist mais jusqu'à maintenant, assurez-vous de vos connexions de nets, spécialement celles qui impliquent des broches connectant des milieu de nets, sont correctement dessinées. Vous avez ici la manière dont la connexion ci-dessus devrait être correctement dessinée pour que netlist fasse son travail proprement:

lepton-eda-1.9.10/docs/wiki/geda-vhdl_netlister_readme.html0000644000175000017500000000244713634703632020613 00000000000000

VHDL netlister README

The VHDL backend

Written by Magnus Danielson and improved by Thomas Heidel 


A few things you have to care about:

1. In order to generate valid component declarations, you
   have to add an additional attribute to each pin.
   "type=IN" or "type=OUT" or "type=INOUT"

2. The "device" attribute must be unique to a symbol!
   The verilog symbols of the same type for example, have all
   the same device attribute and will therefore not work.

3. Make sure your component-library picks up the vhdl symbols instead
   of the verilog symbols  Library paths that show up last are searched
   first!
lepton-eda-1.9.10/docs/wiki/geda-guile_scripting.html0000644000175000017500000010256513634703632017441 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

Guile scripting

gEDA/gaf uses Guile Scheme to provide Scheme scripting capabilities, and all of the features of Guile are available to use. The Guile Reference Manual is available as an Info manual (info guile on most systems), or on the Guile website.

A collection of modules is provided for accessing and modifying gEDA objects and pages, called the gEDA Scheme API. The gEDA Scheme Reference Manual is also available as an Info manual (info geda-scheme).

Tutorials

Reference documents

Scripting examples

You can download each script example and load it in gschem:

  • just hit : and enter
    (load "filename.scm")
  • then hit Enter

Removing objects with specific properties

For instance, let's remove all objects which are circles or arcs with zero radius:

remove-objects.scm
(use-modules (geda page))
 
; Checks if the OBJECT is a circle or an arc with zero radius
(define (zero-radius-object? object)
  (or
    (and (circle? object) (= (circle-radius object) 0))
    (and (arc?    object) (= (arc-radius    object) 0))))
 
(apply page-remove! (active-page)
       (filter
         zero-radius-object?
         (page-contents (active-page))))

Let's suppose we have a component with a known attribute to remove, then we have to detach and remove all its attributes, too. The function below does exactly this.

remove-components-with-attribs.scm
(use-modules (geda page))
(use-modules (geda object))
(use-modules (geda attrib))
 
; Removes all components having the attrib NAME=VALUE from PAGE
(define (delete-components-by-attrib! page name value)
  (for-each
    (lambda (obj)
      (if (component? obj)
        (for-each
          (lambda (attr)
            (and
              (string=? (attrib-name attr) name)
              (string=? (attrib-value attr) value)
              (let ((attached-attribs (object-attribs obj)))
                (apply detach-attribs! obj attached-attribs)
                (apply page-remove! page obj attached-attribs))))
          (object-attribs obj))))
    (page-contents page)))

After loading the file, hit : and enter, for example,

(delete-components-by-attrib! (active-page) "refdes" "R1")

Procedures for input-output

The following script defines two procedures that can be used in gaf shell batch scripts:

  • schematic-file→page
  • page→schematic-file
geda-io.scm
(use-modules (ice-9 lineio))
(use-modules (geda page))
 
; Input/output procedures
; reads FILE and outputs string
(define (file->string file)
  (let* ((port (make-line-buffering-input-port (open-file file "r"))))
    (do ((line "" (read-string port))
         (s "" (string-append s line)))
      ((eof-object? line) ; test
       (close-port port)  ; expression(s) to evaluate in the end
       s)                 ; return value
      ; empty body
      )))
 
; reads schematic FILE and outputs PAGE object
(define (schematic-file->page file)
    (string->page file (file->string file)))
 
; saves schematic PAGE to FILE
(define (page->schematic-file page file)
  (with-output-to-file file
    (lambda () (display (page->string page)))))

Copy, move, and rotate objects

move-and-rotate.scm
; Scripting example by vzh per request of Kai-Martin Knaak :-)
; Use at your own risk.
 
; The main procedure here is
; multiple-copy-move-and-rotate-selection which can be abbreviated
; as mcmars.
; Usage:
;   launch gschem so it can use this script, e.g.
;     gschem -s move-and-rotate.scm
;   select objects in gschem, then hit ':' (semicolon) and type
;     (mcmars '(1000 . 500) 90 10)
;   hit <Enter>
; Enjoy!
 
 
(use-modules (gschem selection))
 
; align coords by ALIGN
(define (ceiling-coords vector align)
  (cons
    (* (ceiling-quotient (car vector) align) align)
    (* (ceiling-quotient (cdr vector) align) align)
    ))
 
; Get minimum X and minimum Y of two pairs of coords
(define (min-coords coord1 coord2)
  (let ((x (min (car coord1) (car coord2)))
        (y (min (cdr coord1) (cdr coord2))))
    ; return value
    (cons x y)))
 
; Copy, move and rotate current selection. The selected objects
; are first copied, then translated by VECTOR and finally rotated
; by ANGLE about center which is calculated as rounded by 100
; lower left coordinate of all objects in selection.
; If no objects are selected, opens gschem message dialog with
; warning.
; Returns the copied objects.
(define (copy-move-and-rotate-selection vector angle)
  (let ((objects (page-selection (active-page))))
    (if (null? objects)
      (gschem-msg "Select something first!")
      ; else
      (let* ((copied-objects (map copy-object objects))
             (translated-objects (apply translate-objects! vector copied-objects))
             (bounds (apply object-bounds translated-objects))
             (rotation-center (ceiling-coords (min-coords (car bounds) (cdr bounds)) 100))
             (rotated-objects (apply rotate-objects! rotation-center angle translated-objects)))
        (apply page-append! (active-page) rotated-objects)
        rotated-objects)
      )))
 
; Multiply VECTOR which must be a pair by NUMBER
(define (multiply-vector-by vector number)
  (cons (* number (car vector)) (* number (cdr vector))))
 
; Copy, move and rotate current selection NUMBER times. Applies
; the copy-move-and-rotate-selection procedure multiple times
; increasing every time vector and angle by given values of VECTOR
; and ANGLE.
; If no objects are selected, opens gschem message dialog with
; warning.
; Return value is unspecified.
(define (multiple-copy-move-and-rotate-selection vector angle num)
  (if (null? (page-selection (active-page)))
    (gschem-msg "Select something first!")
    ; else
    (do ((i num (1- i)))
      ((= i 0))
      (copy-move-and-rotate-selection
        (multiply-vector-by vector i) (* angle i)))
    ))
 
; Abbreviated name for the multiple-copy-move-and-rotate-selection
; procedure
(define mcmars multiple-copy-move-and-rotate-selection)

Group attribute editing

Let's suppose you have selected several resistors' refdeses and want to rename them at once, e.g., if they were copy from another place.

set-selected-attribs-value
(use-modules (gschem selection))
 
(define (set-selected-attribs-value! value)
  (for-each
    (lambda (attrib)
      (set-attrib-value! attrib value))
    (page-selection (active-page))))

Usage of the procedure in gschem:

(set-selected-attribs-value! "R100.?")

Now, after renumbering them using T U, you copy them all and want to rename those copied resistors appending a suffix:

append-selected-attribs-suffix.scm
(use-modules (gschem selection))
 
(define (append-selected-attribs-suffix! suffix)
  (for-each
    (lambda (attrib)
      (set-attrib-value!
        attrib
        (string-append (attrib-value attrib) suffix)))
    (page-selection (active-page))))

Usage of the procedure in gschem:

(append-selected-attribs-suffix! "-top")

Now, let's rename some other attributes by adding a prefix:

append-selected-attribs-prefix.scm
(use-modules (gschem selection))
 
(define (append-selected-attribs-prefix! prefix)
  (for-each
    (lambda (object)
      (and (attribute? object)
           (set-attrib-value!
             object
             (string-append prefix (attrib-value object)))))
    (page-selection (active-page))))

Usage of the procedure in gschem:

(append-selected-attribs-prefix! "A1.")

Let's replace first letters of selected attribs with prefix:

append-selected-attribs-prefix.scm
(use-modules (gschem selection))
 
(define (replace-selected-attribs-prefix! prefix)
  (for-each
    (lambda (object)
      (and (attribute? object)
           (set-attrib-value!
             object
             (string-append
               prefix
               (string-copy (attrib-value object) 1)))))
    (page-selection (active-page))))

Usage of the procedure in gschem:

(replace-selected-attribs-prefix! "C")

Let's rename selected netname= attributes increasing them by a fixed number:

add-selected-attribs-number.scm
(use-modules (gschem selection))
 
(define (add-selected-attribs-number! number)
  (for-each
    (lambda (object)
      (and (attribute? object)
           (set-attrib-value!
             object
             (number->string
               (+ (string->number (attrib-value object)) number)))))
    (page-selection (active-page))))

Usage of the procedure in gschem:

(add-selected-attribs-number! 100)

We could set any function instead of â€+†on the net number in this procedure. For instance:

use-another-func.scm
(use-modules (gschem selection))
 
(define (use-another-func! func)
  (for-each
    (lambda (object)
      (and (attribute? object)
           (set-attrib-value!
             object
             (number->string
               (func (string->number (attrib-value object)))))))
    (page-selection (active-page))))

Usage of the procedure in gschem:

(use-another-func! -)
(define (multiply-by-2 x)
  (* 2 x))
(use-another-func! multiply-by-2)
lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-config.ru.html0000644000175000017500000002343413634703632020463 00000000000000

ÐаÑтройка gnetlist

При запуÑке gnetlist загружает целый Ñ€Ñд файлов наÑтроек, еÑли они имеютÑÑ:

  1. $PREFIX/share/gEDA/system-gafrc — файл ÑиÑтемных наÑтроек комплекта программ gEDA/gaf;
  2. $HOME/.gEDA/gafrc — файл пользовательÑких наÑтроек комплекта программ gEDA/gaf;
  3. gafrc — файл наÑтроек комплекта программ gEDA/gaf Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ рабочего каталога;
  4. $PREFIX/share/gEDA/system-gnetlistrc — файл ÑиÑтемных наÑтроек gnetlist;
  5. $HOME/.gEDA/gnetlistrc — файл пользовательÑких наÑтроек gnetlist;
  6. gnetlistrc — файл наÑтроек gnetlist Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ рабочего каталога.

$PREFIX — Ñто оÑновной каталог уÑтановки gnetlist (на большинÑтве ÑиÑтем — /usr), а $HOME — ваш домашний каталог.

Эти файлы предÑтавлÑÑŽÑ‚ Ñобой Ñкрипты на Ñзыке Scheme, выполнÑемые интерпретатором Ñтого Ñзыка. Это значит, что файлы наÑтроек можно иÑпользовать и Ð´Ð»Ñ Ð½Ð°Ñтройки gnetlist под ÑебÑ, и Ð´Ð»Ñ Ñ€Ð°ÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ñти программы.

Ð’ файлах наÑтроек очень много различных параметров, влиÑющих на работу gschem, и здеÑÑŒ приводÑÑ‚ÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñамые общеупотребительные из них. Полный их ÑпиÑок можно найти в файле system-gnetlistrc, который входит в комплект уÑтановки gEDA/gaf.

Библиотеки Ñимволов и иÑходных данных

При иÑпользовании gnetlist очень важно, чтобы библиотеки ваших Ñимволов и иÑходных данных были наÑтроены корректно. Ð”Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы и gschem, и gnetlist иÑпользовали одни и те же библиотеки, Ñти наÑтройки почти вÑегда нужно добавлÑть в файл наÑтроек вÑего комплекта gaf (в один из файлов «gafrc»). ÐаÑтройка библиотек Ñимволов и иÑходных данных объÑÑнÑетÑÑ Ð² РуководÑтве Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ gEDA gschem.

ÐаÑтройки обработки иерархичеÑких Ñхем

При работе Ñ Ð¸ÐµÑ€Ð°Ñ€Ñ…Ð¸Ñ‡ÐµÑкими Ñхемами gnetlist переименовывает ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸ компоненты на оÑнове того, где в иерархичеÑкой Ñтруктуре они раÑполагаютÑÑ. Ð’Ñ‹ можете наÑтроить, как выполнÑетÑÑ Ñта «модификациÑ», и, при необходимоÑти, отключить её ÑовÑем.

По умолчанию gnetlist добавлÑет друг к другу имена на каждом уровне иерархии, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð² качеÑтве Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»Ñ Ñимвол «/» (так что компонент «U1» в подÑхеме «A3» ÑтановитÑÑ Â«A3/U1»). Ð”Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñтого Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ñ… обозначений компонентов («refdes») могут иÑпользоватьÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ hierarchy-uref-order и hierarchy-uref-separator. Ðапример, Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ «refdes» таким образом, чтобы к именам на каждом уровне добавлÑлÑÑ Ð² качеÑтве Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»Ñ Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Â«:», можно иÑпользовать:

(hierarchy-uref-order "prepend")
(hierarchy-uref-separator ":")

Теперь «U1» в подÑхеме «A3» будет переименован программой gnetlist в «U1:A3».

Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ hierarchy-uref-mangle может иÑпользоватьÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð³Ð¾ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ «refdes»:

(hierarchy-uref-mangle "disabled")

ЕÑли Ñто и может быть полезно, то очень редко.

Похожие наÑтройки еÑть Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ имён Ñоединений, уÑтановленных Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ атрибутов «netname=» и Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ имён Ñоединений, иÑпользующих ÐеÑвные выводы и атрибуты «net=».

  • Функции hierarchy-netname-order, hierarchy-netname-separator и hierarchy-netname-mangle управлÑÑŽÑ‚ модификацией «netname=».
  • Функции hierarchy-netattrib-order, hierarchy-netattrib-separator и hierarchy-netattrib-mangle управлÑÑŽÑ‚ модификацией «net=».

Иногда желательно полноÑтью отключить обработку иерархичеÑкой Ñтруктуры. Это можно Ñделать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ключа hierarchy-traversal:

(hierarchy-traversal "disabled")

ÐвтоматичеÑкое именование Ñоединений

ÐаÑтраивать производимое программой gnetlist автоматичеÑкое именование Ñоединений, не имеющих имён в файлах Ñхем, можно Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ функции unnamed-netname. К концу заданной вами Ñтроки gnetlist будет добавлÑть уникальные номера. Ðапример:

(unnamed-netname "unnamed_net")

Это приведёт к тому, что “безымÑнным†ÑоединениÑм gnetlist будет автоматичеÑки назначать имена вида “unnamed_net12345â€.

lepton-eda-1.9.10/docs/wiki/geda-bom_readme.ru.html0000644000175000017500000000462013634703632016762 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

README по генератору Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ Ñлементов (BOM)

README по генератору Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ Ñлементов BOM Ð´Ð»Ñ gnetlist.

--------------------------------------------------------------------------

Я (Matt) Ñобрал быÑтрый генератор Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ Ñлементов Ð´Ð»Ñ gnetlist.  Он
иÑпользует файл конфигурации, в котором задаётÑÑ, какие атрибуты должны
выводитьÑÑ Ð² перечень (то еÑть поÑтавщик, тип прибора).

Вот пример файла конфигурации:

device
label
name

Вызов такой:
        gnetlist  -g bom -o test.bom test.sch

Файл конфигурации должен называтьÑÑ Â«attribs» и находитьÑÑ Ð² текущем
каталоге, так как ÑпоÑоба задать аргументы Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° нет (Ñ, по крайней
мере, найти не Ñмог).

Ð’ конце концов Ñ Ð±Ñ‹ хотел объединить Ñто Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ рода базой данных длÑ
производÑтвенных целей. ЕÑли вам интереÑно и вы хотите помочь или у Ð²Ð°Ñ ÐµÑть
какие-то идеи, дайте мне знать.

Matt
matt@ettus.com
lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-slots.html0000644000175000017500000000527113634703632017351 00000000000000

Slots and slotting

The Symbol Creation Guide explains how to create symbols for slotted components.

Some integrated circuits provide several identical and interchangeable devices in a single package. gschem and gnetlist provide support for working with these by using components with slots.

To use a slotted component in a schematic, create multiple copies of the component, and give them all the same refdes attribute. Next, select one of the components and use Edit→Edit to display the “Edit Attributes†window. If you select “Show inherited attributesâ€, you should see a numslots attribute, which shows the number of slots in the package.

Select each of the copies in turn, and use Edit→Slot… to display the “Edit Slot Number†window. This can be used to set which component uses which slot in the package. When the slot is changed, gschem will automatically update the pin numbers displayed by the component.

lepton-eda-1.9.10/docs/wiki/geda-cygwin.html0000644000175000017500000000760013634703632015544 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

Installing gEDA/gaf on Windows - the Cygwin way

This guide describes one way to build gEDA/gaf (gschem and friends) on the Windows operating system. It uses Cygwin as the layer between Windows and the *nix world (ie gcc, make, bash etc…).

Instructions

1. Download and run setup.exe from cygwin website: http://www.cygwin.com.

In the package selection dialog, select the following packages:

(Hint: press the “view†button once to arrange the list in alphabetical order)

atk-devel
crypt
file
gcc
gtk2-x11-devel
guile-devel
libgmp-devel
libtool1.5
make
pango-devel
patchutils
pcre-devel
pcre-doc
pkg-config
xorg-x11-devel
xorg-x11-fscl
xterm

2. Append these lines to your .bash_profile:

export LD_LIBRARY_PATH=$HOME/geda/lib:$LD_LIBRARY_PATH
export PATH=$HOME/geda/bin:$PATH
export PKG_CONFIG_PATH=$HOME/geda/lib/pkgconfig:$PKG_CONFIG_PATH

Update your environment:

$ source .bash_profile

3. Go to the gEDA sources download page.

From the gEDA/gaf group, download only the packages which have a date as its version. The necessary dependencies were already installed in step 1. However, if you haven't installed or built the libstroke package, be sure to add

--disable-stroke

to the opts= line. Add the following options to the opts= line in the Makefile

--disable-update-mime-database --disable-update-desktop-database --disable-nls

4. Go to the download directory and type:

$ make open
$ make install
( ...patience... )

5. Now, to properly view the documentation from the help menu of gschem:

Locate the executables of your browser and PDF reader and create links from /usr/bin. Examples:

$ ln -s "c:\Program Files\Internet Explorer\iexplore.exe" /usr/bin/iexplore
$ ln -s "c:\Program Files\Firefox\firefox.exe" /usr/bin/firefox
$ ln -s "c:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe" /usr/bin/acroread

Try:

$ iexplore
( Microsoft Internet Explorer appears )
$ firefox
( Firefox appears - if installed )
$ acroread
( Adobe Acrobat Reader appears )
$ gschemdoc -m
( gEDA documentation appears )

6. Finally, start the X server:

$ startx

Have fun!

lepton-eda-1.9.10/docs/wiki/projects.html0000644000175000017500000004121113634703632015173 00000000000000

Projects created using gEDA

Ronja (Reasonable Optical Near Joint Access) is an Open-Source project of optical point-to-point data link.

The Open Automaton Project aims to develop an intelligent PC-based mobile robot

Darrell Harmon's Single Board Computer Project

Darrell Harmon's high speed digital signal processing board

MINT : A Jung multiloop type amp circuit

A Linux Car Project (SONE Takeshi)

DJ Delorie's House Furnace project

Audio Digital Subscriber Line

The Universal Software Radio Peripheral (USRP)

David Carr's simple software radio peripheral (SSRP)

Werner Hoch's AVR 7-segment clock

Werner Hoch's AVR LCD terminal for the serial port

David Koski's "H-bridge" motor driver power booster

Leon Kos' SmartMedia logging

Leon Kos' Three door opener

Simple evaluation board and Linux programmer for C8051F320

vdr actuator plugin

Jan Wagemakers' 16F84 IR Receiver

Jan Wagemakers' PIC18F452 and 3COM 3C509B Ethernet ISA card

Make a Glowing, Wearable, EL-Wire, Blinky Light Using Open Source Tools

A digital DC powersupply

WRAP-Powercontrol -- PC power reset/control circuit

DS1624 parallel port thermometer

GPL Telephony Hardware

SlugTerm - A Terminal for my Slug

Homemade Strobe Photography

Paintball Shot Counter

Willeprom

Kovacs Levente's How to turn your toaster into an IR reflow oven

Kovacs Levente's Three way, two channel active crossover

Open PIC Lab

BlackfinOne is a new BF532 based board

The Gadgetboard is a free, low cost, user friendly microcontroller experimentation board on steroids

CPLD LED blinker based on XAPP078

Craig's Robot Blog

Using a Garmin GPS 18 LVC as NTP stratum-0 on Linux 2.6

Atmel AVR Projects

128 chan derivative of Hill's 320 design w/ PCB and Linux driver

Experimentation board for the AT90USB

Digital Storage Oscilloscope (DSO)

CycleRecorder project

Peter Todd's Open Source Hardware

DJ's Streaming MP3 Alarm Clock

Timer Project

Tiny portable AVR projects: Business card breakout boards

Ethernet and I/O board

"Peggy," A Light Emitting Pegboard Display

A Nixie tube clock

Digital DC Power Supply (in Czech)

GPS Interface and Time Synchronization

The Mars Science Lab (NASA mission) with the Radiation Assessment Detector instrument on board.

An open source USB programmer

Open hardware and software designs for high powered model rocketry

GPS to SD-Card Data Logger

A twilight switch designed using the gEDA suite

Meggy Jr RGB from the Evil Mad Scientist Laboratories

AT90USB162 Mini Development Board

Terminal Keyboard

Vanessa's projects

Let's make a timer

A small Free Software and Free Hardware USB dongle for various purposes

Open source keyboard protocol translator project

32-character serial led display

Termometro Digital com PIC16F818 e LM35

An automated, self-regulated and autonomous (computer-free) system for driving vehicle

Lots of PIC projects

IV-18 VFD vacuum Russian Clock

An altimeter is based on an Atmel AVR microcontroller

An altimeter based Texas on a Instruments MSP430F1232 microcontroller

FM Software Radio Receiver

An AVR microcontroller based Ethernet device

MSF Radio Receiver

PulsTeller

Lots of projects created using the gEDA

A signal generator based upon an AD5932 DDS and a AtMega8515 microcontroller

An I2C bus and a Real-Time Clock to the Linksys WRT54GL router

An embedded car computer system, based on ATMega32 MCU

Digilent-Compatible I2S Audio DAC

MMA2260 Accelerometer Demo

Monitor power usage in common residential circuit breaker boxes

Arduino compatible shield board overlays text on analog video

lepton-eda-1.9.10/docs/wiki/geda-debian.fr.html0000644000175000017500000000441013634703632016070 00000000000000

Autres langues: English РуÑÑкий

Notes d'installation Debian de la version 20060825

Voici un rapport d'utilisateur qui fournit quelques éléments aux personnes installant avec le CDROM 20060825 sur une Debian. Notez que l'utilisateur avec pré-ajouté les paquets -dev sur son système au lieu de laisser l'installateur les trouver. C'est une manière parfaitement acceptable – et souvent préférable – de traiter les dépendances de gEDA.

Just completed an install on my main desktop box which is Debian
etch/testing with patches of sid/unstable.

Lib packages I had to add to my system:
        * libreadline5-dev
        * libgd1-xpm-dev
        * libwxgtk2.6-dev
        * libgtk1.2-dev (compile failed because of missing gtk-config.
          Configure did not seem to check for it.)
        * I needed to install guile-1.6-dev rather than libguile-dev.
          Else the installer fails to find scm_make_smob_type.

On my system /usr/lib/libqthreads.so pointed to a non existing
/usr/lib/libqthreads.so.12.3.1 This may be a bug in Debians packaging
rules. Thus the installer failed with:
        gcc: /usr/lib/libqthreads.so: No such file or directory make[2]:*** [libgeda.la] Error 1
I resolved the issue by faking a link:
        sudo ln -s libqthreads.so.12.3.0 libqthreads.so.12.3.1
lepton-eda-1.9.10/docs/wiki/geda-suse_rpm_installation.html0000644000175000017500000002260113634703632020660 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

Installing gEDA rpm packages on SuSE

Available rpm packages

  • geda (1.6.1)
  • gerbv (2.3.0)
  • pcb (20091103)
  • ng-spice-rework (20)
  • gnucap (0.35)
  • gspiceui (0.9.98)
  • gwave (20090213)
  • gtkwave (3.3.3)
  • dinotrace (9.4a)
  • verilog (0.9.1)
  • wcalc (1.1)
  • xgsch2pcb (0.1.3)
  • electronics-menu (1.0)

Installing Packages from the SuSE Build Service

  1. Start Yast and go to “Change Installation Sourceâ€
  2. Add a HTTP source with the following properties:
    • Servername: software.opensuse.org
    • Directory: /download/repositories/science/openSUSE_11.0/ (Choose the directory for your distribution)
  3. Start “Install Software†in Yast, goto “Search†and look for gEDA. All packages appear.
  4. Install the packages as usual.

For more informations read the generic installation notes of the OpenSuSE Build Service

You can also browse through repositories first: openSUSE_11.0 repo, openSUSE_11.1 repo. openSUSE_11.2 repo.

Distribution specific notes

Each distribution version has it's own issues. Please read the notes below.

openSUSE 11.0

  • …

openSUSE 11.1

  • currently no electronics menu, all programs show up in the Education→Science menu
  • …

openSUSE 11.2

  • currently no electronics menu, all programs show up in the Education→Science menu
  • …

Desktop Integration

This is a summary how the gEDA and other electronic packages are integrated into the desktop of openSUSE.

Electronics Menu

Unfortunately the openSUSE distribution does not provide a electronics menu entry for all the nice gEDA programs. Peter Clifton has created a menu entry for electronics. This menu package is available in the electronics-menu rpm. It contains the menu item and some icons for it. The menu category is called Edutainment→Electronics in openSUSE.

If it is installed, it looks like this in KDE (manually combined with gimp):

Notes about rpm spec file

openSUSE calls it's SuSEconfig program after every installation of rpm packages with YaST. Thus it's not necessary to integrate all configuration calls into the post and postun rpm sections.

The only additions in the spec files are for the Shared MIME Info. It is described in this openSUSE SUSE_Package_Conventions/Specific_Packages article.

PreReq:       shared-mime-info
[...]
%post
if test -f %{_bindir}/update-mime-database ; then
    %{_bindir}/update-mime-database %{_datadir}/mime >/dev/null
fi
%postun
if test -f %{_bindir}/update-mime-database ; then
    %{_bindir}/update-mime-database %{_datadir}/mime >/dev/null
fi

Another addition is required to install the mimelnks properly in the KDE environment. KDE does not take care of the mimelnks installed in /usr/share/mimelnk/, thus they have to be copied to the KDE directory /opt/kde3/mimelnk/. This is done in the rpm spec file inside the %install section

%install
%makeinstall
kdemimedir=$(kde-config --install mime)
if test %{_datadir} != $kdemimedir ; then
    mkdir -p $RPM_BUILD_ROOT$kdemimedir
    mv $RPM_BUILD_ROOT%{_datadir}/mimelnk/* $RPM_BUILD_ROOT$kdemimedir
    rmdir $RPM_BUILD_ROOT%{_datadir}/mimelnk
fi

Installing rpm packages manually

For those who don't use YaST for installation the SuSEconfig command has to be executed manually after installing or removing any rpm package. You can either call the toplevel SuSEconfig command

/sbin/SuSEconfig

or call only the two required subconfiguration tools

/sbin/conf.d/SuSEconfig.desktop-file-utils

which calls

/usr/bin/update-desktop-database

and

/sbin/conf.d/SuSEconfig.gtk2

which calls

/usr/bin/gtk-update-icon-cache --quiet --ignore-theme-index --remove-empty-cache "$SUBDIR"
lepton-eda-1.9.10/docs/wiki/geda-pcb_funding_sow-fwdann_ideas.html0000644000175000017500000000602713634703632022034 00000000000000

PCB SoW: Forward Annotation: Ideas, commentary, and examples from users

Anyone with any ideas or commentary about how this task should be completed may add them here. Ideas about the details behind the implementation, too. Please refrain from deleting or significantly changing the meaning of someone else's entry.

DJ's Implementation Ideas

This is what I'm thinking for the forward annotation (gsch2pcb) design:

The PCB has a list of schematics that it gets info from. Do we need path support, or is full-paths (or relative to the pcb) ok? Wildcards? Anyway, the list of schematics is stored in the .pcb file somehow. The GUI needs a way to manage these, too.

When the user asks, PCB uses the list of schematics to run a gnetlist command with my new backend, passing the list of schematics. The gnetlist spits out a list of actions, which pcb runs. These actions update the netlist, add any missing elements, and remove any appropriate elements. Elements which need new footprints are updated (magically! in place! we hope ;).

Also, some additional attributes will be propogated to elements, like vendor, vendor_part_number, etc.

If the import is part of a “new board†step, we place the parts and disperse them, optimize the rats nest, etc. No problem there.

What do we do with new elements if it's just an update? Eventually, I'd like to have some separate container for “unplaced elements†but I mean, what do we do for now? I'm wondering if disperse or autoplace is smart enough to do something useful if we place the parts and select them, on a partially laid out board.

I think this is enough information in the .pcb file that we can get rid of gsch2pcb and the “project†file it uses.

It does mean that the pcb cares which schematics go with it, but the schematics don't care which pcb they go with. Schematics can be reused/shared, boards generally can't.

lepton-eda-1.9.10/docs/wiki/geda-bug_triage_guide.ru.html0000644000175000017500000002310613634703632020155 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

РуководÑтво по Ñортировке/клаÑÑификации ошибок/запроÑов новых возможноÑтей Ð´Ð»Ñ gEDA/gaf и pcb

Ð’ проекте gEDA/gaf Ð´Ð»Ñ Ð¾Ñ‚ÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº и запроÑов новых возможноÑтей иÑпользуетÑÑ Launchpad. МеÑто диÑлокации gEDA находитÑÑ Ð·Ð´ÐµÑÑŒ.

Ðедавно зарегиÑтрированные ошибки и запроÑÑ‹ новых возможноÑтей должны периодичеÑки клаÑÑифицироватьÑÑ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ°Ð¼Ð¸ и другими членами проекта, чтобы их обработка поÑтепенно продвигалаÑÑŒ вперёд и не заÑтревала на долгое времÑ.

Каждый, кто хочет помочь ÑообщеÑтву Ñортировать ошибки, может приÑоединитьÑÑ Ðº команде geda-bugs Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ над gEDA/gaf и/или pcb.

КлаÑÑÐ¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº

  1. Выберите ошибку («bug») на одной из Ñтраниц:
  2. ВытÑните «git HEAD» того пакета, в котором Ñта ошибка приÑутÑтвует (еÑли вы ещё Ñтого не Ñделали) и попробуйте проверить, ÑущеÑтвует ли вÑÑ‘ ещё Ñта ошибка или нет. (http://git.geda-project.org)
  3. ЕÑли ошибка до Ñих пор ÑущеÑтвует, Ñмените ÑÑ‚Ð°Ñ‚ÑƒÑ Ñ Â«New» («новаÑ») на «Confirmed» («подтверждена»).
    • Ð’ том и только в том Ñлучае, когда в дополнение к ошибке загружен хороший контрольный пример её воÑÐ¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ (или вы Ñами Ñоздали и загрузили его в процеÑÑе Ñортировки), можете изменить ÑÑ‚Ð°Ñ‚ÑƒÑ Ð½Ð° «Triaged» («подтверждена примером»).
    • Примечание: отметка Ñвоих ÑобÑтвенных ошибок как подтверждённых («Confirmed») — дурной тон.
  4. ЕÑли Ñта ошибка отÑутÑтвует, напишите комментарий об Ñтом и уÑтановите ÑÑ‚Ð°Ñ‚ÑƒÑ Ð² один из Ñледующих вариантов:
    • «Invalid» («ошибочнаÑ»), еÑли вы уверены, что Ñта ошибка Ð»Ð¾Ð¶Ð½Ð°Ñ Ð¸Ð»Ð¸ внеÑена ошибочно.
      • ЕÑли ошибка отмечена тегом «sf-patches» (Ñодержит заплату), она не должна закрыватьÑÑ ÐºÐ°Ðº «Invalid». ЕÑли заплата в ней не может быть или не будет принÑта, отметьте её как «WontFix» («не будет иÑправлÑтьÑÑ»).
    • «Fix Committed» («иÑправление зафикÑировано»), еÑли вы Ñчитаете, что иÑправление было зафикÑировано в git уже поÑле выпуÑка поÑледней верÑии;
    • «Fix Released», («иÑправление выпущено»), еÑли вы Ñчитаете, что иÑправление зафикÑировано и уже выпущено в какой-то верÑии;
    • «Incomplete» («неполнаÑ»), еÑли вы задаёте поÑлавшему отчёт об ошибке вопроÑ, на который надо ответить Ð´Ð»Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑущеÑтва Ñтой ошибки.
  5. ЕÑли ошибка каÑаетÑÑ Ð²Ð°Ñ Ð»Ð¸Ñ‡Ð½Ð¾, нажмите на ÑÑылку под заголовком ошибки, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ‚ вам Ñто конÑтатировать.
  6. ЕÑли вы хотите получать ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾Ð± изменениÑÑ… Ð´Ð»Ñ Ñтой ошибки по Ñлектронной почте, щёлкните «Subscribe» («ПодпиÑатьÑÑ») на правой панели.

КлаÑÑÐ¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñов новых возможноÑтей

  1. Выберите Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð¾Ð²Ð¾Ð¹ возможноÑти («feature») на одной из Ñтраниц:
  2. ЕÑли Importance (важноÑть) ещё не уÑтановлена, уÑтановите её в «Wishlist» («ÑпиÑок пожеланий»).
  3. ЕÑли Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть на ваш взглÑд полезна, щёлкните «Bug affects me» («ошибка каÑаетÑÑ Ð¸ менÑ»). Это позволит нам отÑлеживать популÑрноÑть запроÑа.
  4. Разработчик, который довольно хорошо знает проблемы разработки может изменить Status (ÑоÑтоÑние) Ñ Â«New» («новаÑ») в «Confirmed» («подтверждена»), «WontFix» («не будет иÑправлÑтьÑÑ») или «Opinion» («Ñпорный вопроÑ»).
lepton-eda-1.9.10/docs/wiki/geda-file_format_spec.ru.html0000644000175000017500000027723513634703632020207 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

Формат файлов gEDA/gaf

Ðвтор: Ales V. Hvezda, ahvezda@geda.seul.org

ÐаÑтоÑщий документ раÑпроÑтранÑетÑÑ Ð¿Ð¾Ð´ лицензией GFDL

31 Ð´ÐµÐºÐ°Ð±Ñ€Ñ 2003 г.

Обзор

ЗдеÑÑŒ предÑтавлена Ð¾Ñ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° файлов gEDA/gaf (gschem and friends). ОÑновным форматом в gEDA/gaf ÑвлÑетÑÑ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ файлов ÑлектричеÑких принципиальных Ñхем и Ñимволов Ð´Ð»Ñ Ð½Ð¸Ñ…. Файлы Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸, заканчивающимиÑÑ Ð½Ð° .sch и .sym, ÑвлÑÑŽÑ‚ÑÑ ÑоответÑтвенно файлами Ñхем и Ñимволов. Пока в gEDA/gaf нет других типов файлов, наÑтоÑщий документ будет отноÑитьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ к формату файлов Ñхем/Ñимволов.
ÐаÑтоÑщий документ находитÑÑ Ð² обращении Ñ Ð²ÐµÑ€Ñии gEDA/gaf 20040111. Он охватывает верÑии формата 1 и 2.
Обратите внимание, что данный формат и любые другие форматы файлов, отноÑÑщиеÑÑ Ðº gEDA, находÑÑ‚ÑÑ Ð¿Ð¾Ð´ лицензией General Public License (GPL) верÑии 2.0. ÐвторÑкие права на формат файлов Ñхем/Ñимволов gEDA/gaf принадлежат Ales Hvezda (Copyright (C) 1998-2004 Ales Hvezda).

СиÑтема координат

Ð’Ñе координаты задаютÑÑ Ð² милах (1/1000 дюйма). Это произвольное решение. Запомните, что в Ñхемах и Ñимволах нет понÑÑ‚Ð¸Ñ Ñ„Ð¸Ð·Ð¸Ñ‡ÐµÑких длин/размеров (только при разработке принципиальных Ñхем).

  • Ðачало координат находитÑÑ Ð² левом нижнем углу.
  • Размеры координатного проÑтранÑтва неограничены, но рекомендуетÑÑ Ñ€Ð°Ð·Ð¼ÐµÑ‰Ð°Ñ‚ÑŒ объекты в пределах (120.0, 90.0) (x, y, дюймов).
  • Ð’ большинÑтве Ñлучаев желательно иÑпользовать положительные координаты x и y, отрицательные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð¶Ðµ работают, но их иÑпользование не рекомендуетÑÑ.

Следующий риÑунок показывает наÑтройку координатной ÑиÑтемы:

:geda:coordinatespace.ru.png

Значение по оÑи X возраÑтает Ñлева направо, по оÑи Y — Ñнизу вверх. ÐšÐ¾Ð¾Ñ€Ð´Ð¸Ð½Ð°Ñ‚Ð½Ð°Ñ ÑиÑтема раÑполагаетÑÑ Ð² «пейзажной» ориентации и ÑоответÑтвует лиÑту, повёрнутому длинной Ñтороной вниз.

Имена файлов

Имена файлов Ñимволов заканчиваютÑÑ Ð½Ð° .sym. Ð”Ð»Ñ Ð¸Ð¼Ñ‘Ð½ файлов Ñимволов в gEDA/gaf иÑпользуетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ одно Ñоглашение: еÑли еÑть неÑколько ÑкземплÑров Ñимволов Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼Ð¸ именами (как, например, 7400), то к концу оÑновы имени файла добавлÑетÑÑ ÑÑƒÑ„Ñ„Ð¸ÐºÑ -1, -2, -3, … -N . Пример: 7400-1.sym, 7400-2.sym, 7400-3.sym…

Имена файлов Ñхем заканчиваютÑÑ Ð½Ð° .sch. Раньше ÑущеÑтвовало Ñоглашение об именах файлов Ñхем (о добавлении -1 .. -N к оÑнове имени файла), но ÑÐµÐ¹Ñ‡Ð°Ñ Ð¾Ð½Ð¾ уÑтарело. Ð”Ð»Ñ Ñхем их Ñоздатель может выбирать любые оÑмыÑленные имена.

Типы объектов

Файл Ñхемы/Ñимвола Ð´Ð»Ñ gEDA/gaf ÑоÑтоит из Ñледующих чаÑтей:

  • ВерÑÐ¸Ñ (v) как первый Ñлемент в файле. Это обÑзательно.
  • Любое количеÑтво объектов Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ данными. Объекты указываютÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «типа объекта».
  • БольшинÑтво объектов опиÑываютÑÑ Ð¾Ð´Ð½Ð¾Ð¹ Ñтрокой, но текÑтовые — Ð´Ð²ÑƒÐ¼Ñ Ð¸ более.
  • Ðе должно быть пуÑтых Ñтрок в конце файла (они игнорируютÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°Ð¼Ð¸).
  • Ð”Ð»Ñ Ð²Ñех перечиÑлимых типов в форматах файлов gEDA/gaf поле принимает чиÑловое значение.

Идентификатор типа объекта обозначаетÑÑ Ð¾Ð´Ð½Ð¾Ð¹ буквой, он должен находитьÑÑ Ð² первом Ñтолбце. Идентификатор типа объекта ÑвлÑетÑÑ Ñ€ÐµÐ³Ð¸ÑтрозавиÑимым.

Файлы Ñхем и Ñимволов имеют общий формат. Символ — Ñто не что иное, как ÑовокупноÑть примитивных объектов (линий, прÑмоугольников, окружноÑтей, дуг, текÑта и выводов). Схема предÑтавлÑет Ñобой набор Ñимволов (компонентов), Ñоединений и шин.

Ð’ Ñледующих разделах приводитÑÑ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ð¾Ðµ опиÑание каждого из раÑпознаваемых типов объектов. Каждый раздел Ñодержит название объекта, опиÑание того, в каком типе файла (sch/sym) объект может приÑутÑтвовать, формат данных, опиÑание каждого отдельного полÑ, подробноÑти и предоÑÑ‚ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… полей и, наконец, пример Ñ Ð¿Ð¾ÑÑнением.

Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ð± индекÑе цвета (который иÑпользуетÑÑ Ð¿Ñ€Ð°ÐºÑ‚Ð¸Ñ‡ÐµÑки Ð´Ð»Ñ Ð²Ñех объектов) находитÑÑ Ð² разделе Цвета.

ВерÑиÑ

ДопуÑкаетÑÑ: в файлах Ñхем и Ñимволов

type version fileformat_version

Поз.ПолеТип/единицаОпиÑание
# typecharv
1 versionintВерÑÐ¸Ñ gEDA/gaf, в которой был Ñохранён данный файл
2 fileformat_versionintÐомер верÑии формата файла gEDA/gaf
  • Тип обозначаетÑÑ Ð±ÑƒÐºÐ²Ð¾Ð¹ «v» в нижнем региÑтре (как в Ñлове Victor).
  • Данный объект должен находитьÑÑ Ð² каждом файле, иÑпользуемом или Ñоздаваемом программными ÑредÑтвами gEDA/gaf.
  • Формат первого Ð¿Ð¾Ð»Ñ Ð²ÐµÑ€Ñии — ГГГГММДД.
  • Ðомер верÑии не ÑвлÑетÑÑ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¼ временным штампом. Ðе выдумывайте номер верÑии, а в противном Ñлучае не ожидайте, что программы будут работать правильно.
  • «ВерÑÐ¸Ñ gEDA/gaf, в которой был Ñохранён данный файл» иÑпользовалаÑÑŒ во вÑех верÑиÑÑ… gEDA/gaf до 20030921 как верÑÐ¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° файла. Это поле не должно больше иÑпользоватьÑÑ Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° файла. Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð¾Ð½Ð¾ иÑпользуетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ñ… целей.
  • ÐÐ°Ñ‡Ð¸Ð½Ð°Ñ Ñ gEDA/gaf верÑии 20031004 и позже, поле fileformat_version иÑпользуетÑÑ Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð²ÐµÑ€Ñии формата файла. ВеÑÑŒ код формата файла должен отталкиватьÑÑ Ð¾Ñ‚ Ñтого полÑ.
  • fileformat_version возраÑтает при изменении формата файла.
  • ИÑходной точкой Ð´Ð»Ñ fileformat_version было значение 1. Текущее значение — 2.
  • fileformat_version — Ñто проÑто целое, без младшего номера.
  • Рабочие (неÑтабильные) верÑии: 19990601, 19990610, 19990705, 19990829, 19990919, 19991011, 20000220, 20000704, 20001006, 20001217, 20010304, 20010708, 20010722, 20020209, 20020414, 20020527, 20020825, 20021103, 20030223, 20030525, 20030901, 20040111, 20040710, 20041228, 20050313, 20050820, 20060123, 20060824, 20060906, 20061020, 20070216, 20070705, 20070708, 20070818, 20071229, 20080110, 20080127, 20080706, 20081220, 20081221, 20090328, 20090829, 20090830, 20110116, 20110619, 20111231
  • Стабильные верÑии: 20070526, 20070626, 20070902, 20071231, 20080127, 20080929, 20081220, 20081231, 20091004, 20100214, 20110115
  • CVS или теÑтовые верÑии (не должны иÑпользоватьÑÑ): 20030921, 20031004, 20031019, 20031231, 20050814
  • Имейте в виду, что ÐºÐ°Ð¶Ð´Ð°Ñ Ð¸Ð· вышеперечиÑленных верÑий могла иметь Ñвою вариацию формата файла. ÐаÑтоÑщий документ опиÑывает только поÑледнюю верÑию формата.

Пример:

v 20040111 1

ЛиниÑ

ДопуÑкаетÑÑ: в файлах Ñхем и Ñимволов

type x1 y1 x2 y2 color width capstyle dashstyle dashlength dashspace

Поз.ПолеТип/единицаОпиÑание
# typecharL
1 x1int/милыКоордината X первой точки
2 y1int/милыКоордината Y первой точки
3 x2int/милыКоордината X второй точки
4 y2int/милыКоордината Y второй точки
5 colorintЦветовой индекÑ
6 widthint/милыТолщина линии
7 capstyleintСтиль концов линии
8 dashstyleintТип линии
9 dashlengthint/милыДлина штриха
10 dashspaceint/милыИнтервал между штрихами
  • Параметр capstyle перечиÑлимого типа:
    • END NONE = 0 (без ÑтилÑ)
    • END SQUARE = 1 (квадратные концы)
    • END ROUND = 2 (круглые концы)
  • Параметр dashstyle перечиÑлимого типа:
    • TYPE SOLID = 0 (ÑÐ¿Ð»Ð¾ÑˆÐ½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ)
    • TYPE DOTTED = 1 (пунктир)
    • TYPE DASHED = 2 (штрих)
    • TYPE CENTER = 3 (штрих-пунктир)
    • TYPE PHANTOM = 4 (двойной штрих-пунктир)
  • Параметр dashlength не иÑпользуетÑÑ Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð¾Ð² SOLID и DOTTED. Ð’ Ñлучае иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… типов он должен принимать значение -1.
  • Параметр dashspace не иÑпользуетÑÑ Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° SOLID. Ð’ Ñлучае иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ типа он должен принимать значение -1.

Пример:

L 23000 69000 28000 69000 3 40 0 1 -1 75

Сегмент линии от (23000, 69000) до (28000, 69000) Ñ Ñ†Ð²ÐµÑ‚Ð¾Ð²Ñ‹Ð¼ индекÑом 3, толщиной 40 милов, без ÑÑ‚Ð¸Ð»Ñ ÐºÐ¾Ð½Ñ†Ð¾Ð², пунктир, интервал между точками 75 милов.

Изображение

ДопуÑкаетÑÑ: в файлах Ñхем и Ñимволов

type x1 y1 width height angle mirrored embedded
filename
[encoded picture data
encoded picture end]

Поз.ПолеТип/единицаОпиÑание
# typecharG
1 xint/милыКоордината X левого нижнего угла
2 yint/милыКоордината Y левого нижнего угла
3 widthint/милыШирина изображениÑ
4 heightint/милыВыÑота изображениÑ
5 angleint/градуÑыУгол поворота изображениÑ
6 mirroredcharЗеркально отражённое или нормальное изображение
7 embeddedcharВнедрённое или ÑÑылка на файл изображениÑ
8 filenamestringПуть доÑтупа и Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ Ð½ÐµÐ²Ð½ÐµÐ´Ñ€Ñ‘Ð½Ð½Ð¾Ð³Ð¾ изображениÑ
9 encoded picture datastringИзображение, преобразованное в поÑледовательную форму, перекодированное в base64
10 encoded picture endstringСтрока, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñимвол точки
  • Данный объект ÑвлÑетÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð¼ изображениÑ. ÐŸÐµÑ€Ð²Ð°Ñ Ñтрока Ñодержит вÑе параметры изображениÑ, Ð²Ñ‚Ð¾Ñ€Ð°Ñ Ñтрока предÑтавлÑет Ñобой путь доÑтупа и Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° изображениÑ. Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° не иÑпользуетÑÑ, еÑли изображение внедрено.
  • Параметр угла поворота Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ angle может принимать только одно из Ñледующих значений: 0, 90, 180, 270.
  • Параметр mirrored перечиÑлимого типа:
    • NOT MIRRORED = 0 (без отражениÑ)
    • MIRRORED = 1 (Ñ Ð¾Ñ‚Ñ€Ð°Ð¶ÐµÐ½Ð¸ÐµÐ¼)
  • Параметр embedded перечиÑлимого типа:
    • NOT EMBEDDED = 0 (не внедрённое)
    • EMBEDDED = 1 (внедрённое — пока не поддерживаетÑÑ)
  • ÐŸÐ¾Ð»Ñ encoded picture data и encoded picture end находÑÑ‚ÑÑ Ð² файле только в Ñлучае, еÑли изображение внедрено в Ñхему:
    • encoded picture data: Это многоÑтрочное поле. Изображение преобразуетÑÑ Ð² поÑледовательную форму и затем кодируетÑÑ Ð² base64. Таким образом в закодированных данных иÑпользуютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ печатные Ñимволы. Поле Ñодержит результат двух данных операций.
    • encoded picture end: Строка, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ один Ñимвол точки '.' отмечает конец закодированных данных изображениÑ.

Пример 1:

G 16900 35800 1400 2175 0 0 0
../bitmaps/logo.jpg

Объект Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ Ð»ÐµÐ²Ñ‹Ð¼ нижним углом в (16900, 35800). Ширина Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ 1400 милов, выÑота 2175 милов.
Поворот Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ 0 градуÑов и оно ни отражённое, ни внедрённое.
Путь доÑтупа и Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶Ð°ÐµÑ‚ÑÑ Ð²Ð¾ второй Ñтроке.

Пример 2:

G 16900 35800 1400 2175 0 0 1
../bitmaps/logo.jpg
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
.

Объект Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ Ð»ÐµÐ²Ñ‹Ð¼ нижним углом в (16900, 35800). Ширина Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ 1400 милов, выÑота 2175 милов.
Поворот Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ 0 градуÑов, оно не отражённое, но внедрённое.
Путь доÑтупа и Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶Ð°ÐµÑ‚ÑÑ Ð²Ð¾ второй Ñтроке. Так как Ñто изображение внедрённое, путь доÑтупа и Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° не иÑпользуютÑÑ.
Закодированные данные Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÑвлÑÑŽÑ‚ÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ примером (Ñто не наÑтоÑщие данные). ПоÑледнÑÑ Ñтрока, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ð¾Ð´Ð¸Ð½ Ñимвол точки '.' указывает конец закодированных данных.

ПрÑмоугольник

ДопуÑкаетÑÑ: в файлах Ñхем и Ñимволов

type x y width height color width capstyle dashstyle dashlength dashspace filltype fillwidth angle1 pitch1 angle2 pitch2

Поз.ПолеТип/единицаОпиÑание
# typecharB
1 xint/милыКоордината X левого нижнего угла
2 yint/милыКоордината Y левого нижнего угла
3 widthint/милыШирина прÑмоугольника (в направлении x)
4 heightint/милыВыÑота прÑмоугольника (в направлении y)
5 colorintЦветовой индекÑ
6 widthint/милыТолщина линий
7 capstyleint/милыСтиль концов линий
8 dashstyleintТип линий
9 dashlengthint/милыДлина штриха
10 dashspaceint/милыИнтервал между штрихами
11 filltypeintТип заполнениÑ
12 fillwidthint/милыТолщина линий заполнениÑ
13 angle1int/градуÑыПервый угол заполнениÑ
14 pitch1int/милыПервый шаг/интервал заполнениÑ
15 angle2int/градуÑыВторой угол заполнениÑ
16 pitch2int/милыВторой шаг/интервал заполнениÑ
  • Параметр capstyle перечиÑлимого типа:
    • END NONE = 0 (без ÑтилÑ)
    • END SQUARE = 1 (квадратные концы)
    • END ROUND = 2 (круглые концы)
  • Параметр dashstyle перечиÑлимого типа:
    • TYPE SOLID = 0 (ÑÐ¿Ð»Ð¾ÑˆÐ½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ)
    • TYPE DOTTED = 1 (пунктир)
    • TYPE DASHED = 2 (штрих)
    • TYPE CENTER = 3 (штрих-пунктир)
    • TYPE PHANTOM = 4 (двойной штрих-пунктир)
  • Параметр dashlength не иÑпользуетÑÑ Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð¾Ð² SOLID и DOTTED. Ð’ Ñлучае иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… типов он должен принимать значение -1.
  • Параметр dashspace не иÑпользуетÑÑ Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° SOLID. Ð’ Ñлучае иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ типа он должен принимать значение -1.
  • Параметр filltype перечиÑлимого типа:
    • FILLING HOLLOW = 0 (без заполнениÑ)
    • FILLING FILL = 1 (Ñплошное заполнение)
    • FILLING MESH = 2 (Ñетка)
    • FILLING HATCH = 3 (штриховка)
    • FILLING VOID = 4 (не иÑпользуетÑÑ)
  • ЕÑли значение filltype равно 0 (FILLING HOLLOW), то вÑе оÑтальные параметры Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ иметь значение -1.
  • Тип Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ FILLING FILL иÑпользуетÑÑ Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñплошным цветом.
  • Ð”Ð»Ñ Ñ‚Ð¸Ð¿Ð° Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ FILLING MESH заполнением или штриховкой управлÑÑŽÑ‚ две пары наклон/интервал.
  • Ð”Ð»Ñ Ñ‚Ð¸Ð¿Ð° Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ FILLING HATCH иÑпользуетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð¿ÐµÑ€Ð²Ð°Ñ Ð¿Ð°Ñ€Ð° наклон/интервал.

Пример:

B 33000 67300 2000 2000 3 60 0 2 75 50 0 -1 -1 -1 -1 -1

ПрÑмоугольник Ñ Ð½Ð¸Ð¶Ð½Ð¸Ð¼ левым углом в (33000, 67300) шириной и выÑотой (2000, 2000), цветовой Ð¸Ð½Ð´ÐµÐºÑ 3, толщина линий 60 милов, без ÑÑ‚Ð¸Ð»Ñ ÐºÐ¾Ð½Ñ†Ð¾Ð², штриховые линии, длина штриха 75 милов, интервал между штрихами 50 милов, без заполнениÑ, оÑтальные параметры не уÑтановлены.

ОкружноÑть

ДопуÑкаетÑÑ: в файлах Ñхем и Ñимволов

type x y radius color width capstyle dashstyle dashlength dashspace filltype fillwidth angle1 pitch1 angle2 pitch2

Поз.ПолеТип/единицаОпиÑание
# typecharV
1 xint/милыКоордината X центра
2 yint/милыКоордината Y центра
3 radiusint/Ð¼Ð¸Ð»Ñ‹Ð Ð°Ð´Ð¸ÑƒÑ Ð¾ÐºÑ€ÑƒÐ¶Ð½Ð¾Ñти
4 colorintЦветовой индекÑ
5 widthint/милыТолщина линии окружноÑти
6 capstyleint/милы0 (не иÑпользуетÑÑ)
7 dashstyleintТип линии
8 dashlengthint/милыДлина штриха
9 dashspaceint/милыИнтервал между штрихами
10 filltypeintТип заполнениÑ
11 fillwidthint/милыТолщина линий заполнениÑ
12 angle1int/градуÑыПервый угол заполнениÑ
13 pitch1int/милыПервый шаг/интервал заполнениÑ
14 angle2int/градуÑыВторой угол заполнениÑ
15 pitch2int/милыВторой шаг/интервал заполнениÑ
  • Параметр dashstyle перечиÑлимого типа:
    • TYPE SOLID = 0 (ÑÐ¿Ð»Ð¾ÑˆÐ½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ)
    • TYPE DOTTED = 1 (пунктир)
    • TYPE DASHED = 2 (штрих)
    • TYPE CENTER = 3 (штрих-пунктир)
    • TYPE PHANTOM = 4 (двойной штрих-пунктир)
  • Параметр dashlength не иÑпользуетÑÑ Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð¾Ð² SOLID и DOTTED. Ð’ Ñлучае иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… типов он должен принимать значение -1.
  • Параметр dashspace не иÑпользуетÑÑ Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° SOLID. Ð’ Ñлучае иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ типа он должен принимать значение -1.
  • Параметр filltype перечиÑлимого типа:
    • FILLING HOLLOW = 0 (без заполнениÑ)
    • FILLING FILL = 1 (Ñплошное заполнение)
    • FILLING MESH = 2 (Ñетка)
    • FILLING HATCH = 3 (штриховка)
    • FILLING VOID = 4 (не иÑпользуетÑÑ)
  • ЕÑли значение filltype равно 0 (FILLING HOLLOW), то вÑе оÑтальные параметры Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ иметь значение -1.
  • Тип Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ FILLING FILL иÑпользуетÑÑ Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñплошным цветом.
  • Ð”Ð»Ñ Ñ‚Ð¸Ð¿Ð° Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ FILLING MESH заполнением или штриховкой управлÑÑŽÑ‚ две пары наклон/интервал.
  • Ð”Ð»Ñ Ñ‚Ð¸Ð¿Ð° Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ FILLING HATCH иÑпользуетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð¿ÐµÑ€Ð²Ð°Ñ Ð¿Ð°Ñ€Ð° наклон/интервал.

Пример:

V 38000 67000 900 3 0 0 2 75 50 2 10 20 30 90 50

ОкружноÑть Ñ Ñ†ÐµÐ½Ñ‚Ñ€Ð¾Ð¼ в (38000, 67000) и радиуÑом 900 милов, цветовой Ð¸Ð½Ð´ÐµÐºÑ 3, толщина линии 0 милов (наименьший размер), без ÑÑ‚Ð¸Ð»Ñ ÐºÐ¾Ð½Ñ†Ð¾Ð², ÑˆÑ‚Ñ€Ð¸Ñ…Ð¾Ð²Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ, длина штриха 75 милов, интервал между штрихами 50 милов, заполнение Ñеткой, линии Ñетки толщиной 10 милов, Ð¿ÐµÑ€Ð²Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ Ñетки под углом 20 градуÑов Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð²Ð°Ð»Ð¾Ð¼ в 30 милов, Ð²Ñ‚Ð¾Ñ€Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ Ñетки под углом 90 градуÑов Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð²Ð°Ð»Ð¾Ð¼ в 50 милов.

Дуга

ДопуÑкаетÑÑ: в файлах Ñхем и Ñимволов

type x y radius startangle sweepangle color width capstyle dashstyle dashlength dashspace

Поз.ПолеТип/единицаОпиÑание
# typecharA
1 xint/милыКоордината X центра
2 yint/милыКоордината Y центра
3 radiusint/Ð¼Ð¸Ð»Ñ‹Ð Ð°Ð´Ð¸ÑƒÑ Ð´ÑƒÐ³Ð¸
4 startangleint/градуÑÑ‹Ðачальный угол дуги
5 sweepangleint/градуÑыУгол разворота дуги
6 colorintЦветовой индекÑ
7 widthint/милыТолщина линии окружноÑти
8 capstyleintСтиль концов линии
9 dashstyleintТип линии
10 dashlengthint/милыДлина штриха
11 dashspaceint/милыИнтервал между штрихами
  • Угол startangle может быть отрицательным, но Ñто не рекомендуетÑÑ.
  • Угол sweepangle может быть отрицательным, но Ñто не рекомендуетÑÑ.
  • Параметр capstyle перечиÑлимого типа:
    • END NONE = 0 (без ÑтилÑ)
    • END SQUARE = 1 (квадратные концы)
    • END ROUND = 2 (круглые концы)
  • Параметр dashstyle перечиÑлимого типа:
    • TYPE SOLID = 0 (ÑÐ¿Ð»Ð¾ÑˆÐ½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ)
    • TYPE DOTTED = 1 (пунктир)
    • TYPE DASHED = 2 (штрих)
    • TYPE CENTER = 3 (штрих-пунктир)
    • TYPE PHANTOM = 4 (двойной штрих-пунктир)
  • Параметр dashlength не иÑпользуетÑÑ Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð¾Ð² SOLID и DOTTED. Ð’ Ñлучае иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… типов он должен принимать значение -1.
  • Параметр dashspace не иÑпользуетÑÑ Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° SOLID. Ð’ Ñлучае иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ типа он должен принимать значение -1.

Пример:

A 30600 75000 2000 0 45 3 0 0 3 75 50

Дуга Ñ Ñ†ÐµÐ½Ñ‚Ñ€Ð¾Ð¼ в (30600, 75000) и радиуÑом 2000 милов, начальный угол 0 градуÑов, угол разворота дуги 45 градуÑов, цветовой Ð¸Ð½Ð´ÐµÐºÑ 3, толщина линии 0 милов (наименьший размер), без ÑÑ‚Ð¸Ð»Ñ ÐºÐ¾Ð½Ñ†Ð¾Ð², штрих-пунктир, длина штриха 75 милов, интервал между штрихами 50 милов.

ТекÑÑ‚ и атрибуты

Ð’ завиÑимоÑти от контекÑта текÑтовые объекты могут играть разные роли. Вне какого-либо Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð¾Ð½Ð¸ предÑтавлÑÑŽÑ‚ Ñобой Ñтроки текÑта, Ñодержащие какую-либо информацию. Заключённые в фигурные Ñкобки, они интерпретируютÑÑ ÐºÐ°Ðº атрибуты. См. раздел Ðтрибуты.

ДопуÑкаетÑÑ: в файлах Ñхем и Ñимволов

type x y color size visibility show_name_value angle alignment num_lines
string line 1
string line 2
string line 3
…
string line N

Поз.ПолеТип/единицаОпиÑание
# typecharT
1 xint/милыКоордината X первой точки
2 yint/милыКоордината Y первой точки
3 colorintЦветовой индекÑ
4 sizeint/пунктыРазмер текÑта
5 visibilityintВидимоÑть текÑта
6 show_name_valueintУправление видимоÑтью атрибута
7 angleint/градуÑыУгол поворота текÑта
8 alignmentintВыравнивание/точка привÑзки текÑта
9 num_linesintКоличеÑтво Ñтрок текÑта (начальное значение 1)
10 string line 1 … NstringСобÑтвенно отдельные Ñтроки текÑта
  • Данный объект ÑвлÑетÑÑ Ð¼Ð½Ð¾Ð³Ð¾Ñтрочным. ÐŸÐµÑ€Ð²Ð°Ñ Ñтрока Ñодержит вÑе параметры текÑта, а поÑледующие Ñодержат ÑобÑтвенно текÑÑ‚.
  • Должно быть точно num_lines Ñтрок текÑта, Ñледующих за Ñтрокой T … .
  • МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° отдельных Ñтрок текÑта ÑоÑтавлÑет 1024, но ограничений на количеÑтво Ñтрок нет.
  • Минимальный размер ÑоÑтавлÑет 2 пункта (пункт=1/72 дюйма).
  • МакÑимального размера нет.
  • Пара координат ÑвлÑетÑÑ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ привÑзки текÑтового Ñлемента.
  • Параметр visibility перечиÑлимого типа:
    • INVISIBLE = 0 (невидимый)
    • VISIBLE = 1 (видимый)
  • Параметр show_name_value перечиÑлимого типа:
    • SHOW NAME VALUE = 0 (показывать Ð¸Ð¼Ñ Ð¸ значение атрибута)
    • SHOW VALUE = 1 (показывать только значение атрибута)
    • SHOW NAME = 2 (показывать только Ð¸Ð¼Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°)
  • Параметр show_name_value дейÑтвителен только в Ñлучае, еÑли Ñтрока ÑвлÑетÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ (чтобы Ñтрока ÑчиталаÑÑŒ атрибутом, она должна иметь вид: имÑ_атрибута=значение).
  • Параметр угла поворота текÑта angle может принимать только одно из Ñледующих значений: 0, 90, 180, 270. При значении 270 вÑегда будет производитьÑÑ Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ текÑÑ‚.
  • Параметр выравниваниÑ/привÑзки alignment управлÑет отноÑительным положением точки привÑзки.
  • Параметр alignment может принимать Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‚ 0 до 8.
    Ðа Ñледующем риÑунке показано дейÑтвие значений параметра alignment.

fileformat_textgraphic.jpg

  • ИÑходное значение параметра num_lines вÑегда равно 1.
    Поле num_lines было добавлено Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð²ÐµÑ€Ñии 1 формата файла. Предыдущие верÑии (0 и ранее) поддерживали только одноÑтрочные текÑтовые объекты.
  • Ð“Ð¾Ñ€Ð¸Ð·Ð¾Ð½Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ñ‡ÐµÑ€Ñ‚Ð° над текÑтовыми Ñтроками задаётÑÑ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡Ð¸Ð²Ð°ÑŽÑ‰Ð¸Ð¼Ð¸ текÑÑ‚ Ñ Ð´Ð²ÑƒÑ… Ñторон маркерами Ð½Ð°Ð´Ñ‡Ñ‘Ñ€ÐºÐ¸Ð²Ð°Ð½Ð¸Ñ Ð²Ð¸Ð´Ð° «\_». Символ обратной коÑой черты запиÑываетÑÑ Ð² виде «\\».

Пример 1:

T 16900 35800 3 10 1 0 0 0 1
Text string!

ТекÑтовый объект Ñ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ привÑзки в (16900, 35800), цветовой Ð¸Ð½Ð´ÐµÐºÑ 3, размером 10 пунктов, видимый, флаги атрибута не дейÑтвуют (объект не ÑвлÑетÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼), точка привÑзки в левом нижнем углу, без поворота, Ñтрока: Text string!

Пример 2:

T 16900 35800 3 10 1 0 0 0 5
Text string line 1
Text string line 2
Text string line 3
Text string line 4
Text string line 5

Данный текÑтовый объект подобен указанному в примере выше, но здеÑÑŒ пÑть Ñтрок текÑта.

Пример 3:

T 10000 20000 3 10 1 1 8 90 1
pinlabel=R/\_W\_

ТекÑтовый объект Ñ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ привÑзки (10000, 20000), цветовой Ð¸Ð½Ð´ÐµÐºÑ 3, размером 10 пунктов, видимый, видимо только значение атрибута, точка привÑзки находитÑÑ Ð² верхнем правом углу, текÑÑ‚ повёрнут на 90 градуÑов, Ñтрока: «R/W», над буквой «W» Ð³Ð¾Ñ€Ð¸Ð·Ð¾Ð½Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ñ‡ÐµÑ€Ñ‚Ð°.

Соединение

ДопуÑкаетÑÑ: ТОЛЬКО в файлах Ñхем

type x1 y1 x2 y2 color

Поз.ПолеТип/единицаОпиÑание
# typecharN
1 x1int/милыКоордината X первой точки
2 y1int/милыКоордината Y первой точки
3 x2int/милыКоордината X второй точки
4 y2int/милыКоордината Y второй точки
5 colorintЦветовой индекÑ
  • Ð¡Ð¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ иÑпользоватьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в файлах Ñхем.
  • ÐÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½ÑƒÐ»ÐµÐ²Ð¾Ð¹ длины (они отбраÑываютÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°Ð¼Ð¸).

Пример:

N 12700 29400 32900 29400 4

Сегмент ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¾Ñ‚ (12700, 29400) до (32900, 29400) Ñ Ñ†Ð²ÐµÑ‚Ð¾Ð²Ñ‹Ð¼ индекÑом 4.

Шина

ДопуÑкаетÑÑ: ТОЛЬКО в файлах Ñхем

type x1 y1 x2 y2 color ripperdir

Поз.ПолеТип/единицаОпиÑание
# typecharU
1 x1int/милыКоордината X первой точки
2 y1int/милыКоордината Y первой точки
3 x2int/милыКоордината X второй точки
4 y2int/милыКоордината Y второй точки
5 colorintЦветовой индекÑ
6 ripperdirintÐаправление ответвлений от шины
  • Значение параметра ripperdir Ð´Ð»Ñ ÑвежеÑозданной шины уÑтанавливаетÑÑ Ð² 0.
  • При первом подключении ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ðº шине параметр ripperdir принимает значение 1 или -1. Это значение определÑет направление Ñимвола Ð¾Ñ‚Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ (ripper). Ðаправление Ð¾Ñ‚Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° шины оÑтаётÑÑ Ð¾Ð´Ð½Ð¸Ð¼ и тем же на вÑÑ‘ Ð²Ñ€ÐµÐ¼Ñ ÑущеÑÑ‚Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ объекта.
  • Шины могут иÑпользоватьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в файлах Ñхем.
  • ÐÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать шины нулевой длины (они отбраÑываютÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°Ð¼Ð¸).

Пример:

U 27300 37400 27300 35300 3 0

Сегмент шины от (27300, 37400) до (27300, 35300) Ñ Ñ†Ð²ÐµÑ‚Ð¾Ð²Ñ‹Ð¼ индекÑом 3 и без Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñоединений к данному Ñегменту.

Вывод

ДопуÑкаетÑÑ: ТОЛЬКО в файлах Ñимволов

type x1 y1 x2 y2 color pintype whichend

Поз.ПолеТип/единицаОпиÑание
# typecharP
1 x1int/милыКоордината X первой точки
2 y1int/милыКоордината Y первой точки
3 x2int/милыКоордината X второй точки
4 y2int/милыКоордината Y второй точки
5 colorintЦветовой индекÑ
6 pintypeintТип вывода
7 whichendintУказывает активный конец
  • Параметр pintype перечиÑлимого типа:
    • NORMAL PIN = 0
    • BUS PIN = 1 (не иÑпользуетÑÑ)
  • whichend определÑет какой конец вывода ÑвлÑетÑÑ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ ÑоединениÑ. Другие выводы или ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ подключатьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ к данной точке.
  • Значение 0 параметра whichend определÑет Ð´Ð»Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€Ð²ÑƒÑŽ точку вывода, значение 1 — вторую.
  • Выводы могут иÑпользоватьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в файлах Ñимволов.
  • ДопуÑкаетÑÑ Ð¸Ñпользовать выводы нулевой длины.

Пример:

P 0 200 200 200 1 0 0

Вывод от (0, 200) до (200, 200) Ñ Ñ†Ð²ÐµÑ‚Ð¾Ð²Ñ‹Ð¼ индекÑом 1, обычный вывод, Ð´Ð»Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸ÑпользуетÑÑ Ð¿ÐµÑ€Ð²Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ°.

Компонент

ДопуÑкаетÑÑ: ТОЛЬКО в файлах Ñхем

type x y selectable angle mirror basename

Поз.ПолеТип/единицаОпиÑание
# typecharC
1 xint/милыКоордината X точки привÑзки
2 yint/милыКоордината Y точки привÑзки
3 selectableintФлаг выделениÑ
4 angleint/градуÑыУгол поворота компонента
5 mirrorintОтражение отноÑительно оÑи Y
6 basenamestringÐ˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° компонента
  • Параметр selectable принимает значение 1 Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»Ñемых, и 0 Ð´Ð»Ñ Ð½ÐµÐ²Ñ‹Ð´ÐµÐ»Ñемых компонентов.
  • Параметр угла поворота компонента angle может принимать только одно из Ñледующих значений: 0, 90, 180, 270.
  • Параметр угла поворота angle может принимать только положительные значениÑ.
  • Значение флага mirror равно 0, еÑли компонент не отражён (отноÑительно оÑи Y).
  • Значение флага mirror равно 1, еÑли компонент зеркально отражён (отноÑительно оÑи Y).
  • basename определÑет Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° компонента. Это Ð¸Ð¼Ñ Ð¾Ñ‚Ð½Ð¾Ñительное, то еÑть не Ñодержит полного пути доÑтупа к данному файлу.

Пример:

C 18600 19900 1 0 0 7400-1.sym

Компонент Ñ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ привÑзки в (18600,19900), выделÑемый, без поворота, без отражениÑ, Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° компонента 7400-1.sym.

Контур

ДопуÑкаетÑÑ: в файлах Ñхем и Ñимволов

ДейÑтвителен: Ñ Ð²ÐµÑ€Ñии 2 формата файла (выпуÑк 1.5.1)

type color width capstyle dashstyle dashlength dashspace filltype fillwidth angle1 pitch1 angle2 pitch2 numlines
path data line 1
path data line 2
path data line 3
…
path data line N

Поз.ПолеТип/единицаОпиÑание
# typecharH
1 colorintЦветовой индекÑ
2 widthint/милыТолщина линий
3 capstyleintСтиль концов линий
4 dashstyleintТип линий
5 dashlengthint/милыДлина штриха
6 dashspaceint/милыИнтервал между штрихами
7 filltypeintТип заполнениÑ
8 fillwidthint/милыТолщина линий заполнениÑ
9 angle1int/градуÑыПервый угол заполнениÑ
10 pitch1int/милыПервый шаг/интервал заполнениÑ
11 angle2int/градуÑыВторой угол заполнениÑ
12 pitch2int/милыВторой шаг/интервал заполнениÑ
13 num_linesintКоличеÑтво Ñтрок данных контура (начальное значение 1)
14 path data line 1 … Npath dataОтдельные Ñтроки данных контура
  • Параметр capstyle перечиÑлимого типа:
    • END NONE = 0 (без ÑтилÑ)
    • END SQUARE = 1 (квадратные концы)
    • END ROUND = 2 (круглые концы)
  • Параметр dashstyle перечиÑлимого типа:
    • TYPE SOLID = 0 (ÑÐ¿Ð»Ð¾ÑˆÐ½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ)
    • TYPE DOTTED = 1 (пунктир)
    • TYPE DASHED = 2 (штрих)
    • TYPE CENTER = 3 (штрих-пунктир)
    • TYPE PHANTOM = 4 (двойной штрих-пунктир)
  • Параметр dashlength не иÑпользуетÑÑ Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð¾Ð² SOLID и DOTTED. Ð’ Ñлучае иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… типов он должен принимать значение -1.
  • Параметр dashspace не иÑпользуетÑÑ Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° SOLID. Ð’ Ñлучае иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ типа он должен принимать значение -1.
  • Параметр filltype перечиÑлимого типа:
    • FILLING HOLLOW = 0 (без заполнениÑ)
    • FILLING FILL = 1 (Ñплошное заполнение)
    • FILLING MESH = 2 (Ñетка)
    • FILLING HATCH = 3 (штриховка)
    • FILLING VOID = 4 (не иÑпользуетÑÑ)
  • ЕÑли значение filltype равно 0 (FILLING HOLLOW), то вÑе оÑтальные параметры Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ иметь значение -1.
  • Тип Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ FILLING FILL иÑпользуетÑÑ Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñплошным цветом.
  • Ð”Ð»Ñ Ñ‚Ð¸Ð¿Ð° Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ FILLING MESH заполнением или штриховкой управлÑÑŽÑ‚ две пары наклон/интервал.
  • Ð”Ð»Ñ Ñ‚Ð¸Ð¿Ð° Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ FILLING HATCH иÑпользуетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð¿ÐµÑ€Ð²Ð°Ñ Ð¿Ð°Ñ€Ð° наклон/интервал.
  • Формат данных контура умышленно выбран подобным формату контуров в Ñтандарте W3C SVG.
  • Выпущенное в gEDA подмножеÑтво ÑинтакÑиÑа контуров SVG документировано ниже в разделе Данные контура.
  • Детали реализации; код libgeda взÑÑ‚ из librsvg, библиотеки ÑинтакÑичеÑкого анализа SVG. Ð’ результате Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ Ñ‡Ð°Ñть ÑинтакÑиÑа контуров SVG читаетÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾, однако ÑинтакÑÐ¸Ñ Ð²Ñегда внутренне нормализуетÑÑ Ð² абÑолютные команды move, line, bezier curve и close-path (и ÑохранÑетÑÑ Ð² таком виде).
  • Координаты вÑего контура указываютÑÑ Ð² Ñтандартной координатной ÑиÑтеме gschem.

Пример:

H 3 10 0 0 -1 -1 0 -1 -1 -1 -1 -1 5
M 410,240
L 501,200
L 455,295
L 435,265
z

Контур, начинающийÑÑ Ð² (410,240), Ñ Ð»Ð¸Ð½Ð¸Ñми, начинающимиÑÑ Ð¾Ñ‚Ñ‚ÑƒÐ´Ð° и ÑоединÑющими точки (501,200), (455,295), (435,265), замыкающийÑÑ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾ в иÑходную точку. Цветовой Ð¸Ð½Ð´ÐµÐºÑ 3, толщина линий 10 милов, без ÑÑ‚Ð¸Ð»Ñ ÐºÐ¾Ð½Ñ†Ð¾Ð², ÑплошнаÑ. Данные контура Ñодержат 5 Ñтрок.

Шрифт

ДопуÑкаетÑÑ: ТОЛЬКО в Ñпециальных файлах шрифтов

type character width flag

Поз.ПолеТип/единицаОпиÑание
# typecharF
1 charactercharОпределÑемый Ñимвол
2 widthint/милыШирина Ñимвола (в милах)
3 flagintСпециальный флаг пробела
  • Это Ñпециальный объект, который должен иÑпользоватьÑÑ Ð¢ÐžÐ›Ð¬ÐšÐž в файлах Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑˆÑ€Ð¸Ñ„Ñ‚Ð¾Ð².
  • ЕÑли определÑемый Ñимвол шрифта ÑвлÑетÑÑ Ñимволом пробела (Ñ ÐºÐ¾Ð´Ð¾Ð¼ 32), то значение флага flag должно быть 1, иначе 0.

Пример:

F 11 1

Выше приведено определение Ñимвола пробела в шрифте.

Цвета

Ð’ формате файлов Ñимволов и Ñхем gEDA/gaf цвета определÑÑŽÑ‚ÑÑ Ð¿Ð¾ÑредÑтвом целочиÑленного индекÑа. СоответÑтвие между чиÑлом и цветом оÑновываетÑÑ Ð½Ð° типе объекта. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ типа объекта обычно иÑпользуетÑÑ Ð¾Ð´Ð¸Ð½ или более цветов. ЗдеÑÑŒ приведена таблица ÑоответÑÑ‚Ð²Ð¸Ñ Ñ†Ð²ÐµÑ‚Ð¾Ð²Ñ‹Ñ… индекÑов типам объектов:

ИндекÑТип объектаПримечание
0BACKGROUND_COLORФон
1PIN_COLORВывод
2NET_ENDPOINT_COLORÐšÐ¾Ð½ÐµÑ‡Ð½Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ° ÑоединениÑ
3GRAPHIC_COLORГрафичеÑкий объект
4NET_COLORСоединение
5ATTRIBUTE_COLORÐтрибут
6LOGIC_BUBBLE_COLORЛогичеÑÐºÐ°Ñ Ð¸Ð½Ð²ÐµÑ€ÑиÑ
7DOTS_GRID_COLORСетка
8DETACHED_ATTRIBUTE_COLORÐеприкреплённый атрибут
9TEXT_COLORТекÑÑ‚
10BUS_COLORШина
11SELECT_COLORВыделение
12BOUNDINGBOX_COLORКонтур объекта
13ZOOM_BOX_COLORКонтур облаÑти маÑштабированиÑ
14STROKE_COLORЖеÑты
15LOCK_COLORЗаблокированный объект
16OUTPUT_BACKGROUND_COLORВыходной фон
17FREESTYLE1_COLORСвободный Ñтиль 1
18FREESTYLE2_COLORСвободный Ñтиль 2
19FREESTYLE3_COLORСвободный Ñтиль 3
20FREESTYLE4_COLORСвободный Ñтиль 4
21JUNCTION_COLORТочка ÑоединениÑ
22MESH_GRID_MAJOR_COLORÐ“Ð»Ð°Ð²Ð½Ð°Ñ ÑˆÑ‚Ñ€Ð¸Ñ…Ð¾Ð²ÐºÐ° Ñетки
23MESH_GRID_MINOR_COLORВтороÑÑ‚ÐµÐ¿ÐµÐ½Ð½Ð°Ñ ÑˆÑ‚Ñ€Ð¸Ñ…Ð¾Ð²ÐºÐ° Ñетки

ФактичеÑкий цвет, ÑвÑзанный Ñ Ñ†Ð²ÐµÑ‚Ð¾Ð²Ñ‹Ð¼ индекÑом, определÑетÑÑ Ð½Ð° оÑнове иÑпользуемых инÑтрументов. Объектам обычно назначаетÑÑ ÑоответÑтвующий им цветовой индекÑ, но допуÑтимо (иногда) назначать цвет, отличный от приÑущего данному типу объектов.

Ðтрибуты

Ðтрибуты заключаютÑÑ Ð² фигурные Ñкобки {} и могут быть только текÑтовыми объектами. Ðтрибуты предÑтавлÑÑŽÑ‚ Ñобой текÑтовые Ñлементы вида имÑ_атрибута=значение. ЕÑли текÑÑ‚ не Ñодержит пары имÑ_атрибута=значение, он не ÑвлÑетÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼. Ðтрибуты прикреплÑÑŽÑ‚ÑÑ Ðº предшеÑтвующему объекту. Вот пример:

P 988 500 1300 500 1
{
T 1000 570 5 8 1 1 0
pinseq=3
T 1000 550 5 8 1 1 0
pinnumber=3
}

Данный объект ÑвлÑетÑÑ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð¼, имеющим атрибуты pinnumber=3 и pinseq=3 (имÑ_атрибута=значение). Внутри фигурных Ñкобок {} может находитьÑÑ Ð½ÐµÑколько текÑтовых объектов (T … и текÑÑ‚Ð¾Ð²Ð°Ñ Ñтрока обÑзательны). С верÑии 20021103 в качеÑтве атрибутов можно иÑпользовать только текÑтовые Ñлементы. Прикрепление других типов объектов в качеÑтве атрибутов не поддерживаетÑÑ.

Можно иÑпользовать также атрибуты «верхнего уровнÑ». Эти атрибуты не прикреплÑÑŽÑ‚ÑÑ Ð½Ð¸ к какому объекту, а проÑто предÑтавлÑÑŽÑ‚ Ñобой текÑтовые объекты вида имÑ_атрибута=значение.

Данные атрибуты полезны в ÑлучаÑÑ…, когда необходимо передать некоторую информацию о Ñтранице Ñхемы или о Ñимволе и нужно, чтобы генератор ÑпиÑка Ñоединений имел доÑтуп к данной информации.

Внедрённые компоненты

Внедрённые компоненты — Ñто компоненты, определение которых полноÑтью ÑодержитÑÑ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ файла Ñхемы. Когда пользователи помещают компоненты на Ñтраницы Ñхемы, еÑть возможноÑть делать компоненты внедрёнными. Это отличаетÑÑ Ð¾Ñ‚ проÑтого ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð²Ñей информации Ñимвола непоÑредÑтвенно в Ñхеме, внедрённый компонент — Ñто проÑто неÑколько иной компонент. Внедрённые компоненты указываютÑÑ Ñледующим образом:

C 18600 21500 1 0 0 EMBEDDED555-1.sym
[
...
... Embedded primitive objects
...
]

Ð’ примере выше, 555-1.sym — Ñто компонент. Тег EMBEDDED и [ ] — отличительные характериÑтики внедрённого компонента. ЕÑли требуетÑÑ Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ внедрение компонента, Ñимвол имÑ_компонента.sym должен приÑутÑтвовать в одной из иÑпользуемых библиотек.

Данные контура

Формат данных контуров gEDA/gaf умышленно определён таким образом, чтобы он ÑоответÑтвовал подмножеÑтву таковых в Ñтандарте W3C SVG.

  • Детали реализации; код libgeda взÑÑ‚ из librsvg, библиотеки ÑинтакÑичеÑкого анализа SVG. Ð’ результате Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ Ñ‡Ð°Ñть ÑинтакÑиÑа контуров SVG читаетÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾, однако ÑинтакÑÐ¸Ñ Ð²Ñегда внутренне нормализуетÑÑ Ð² абÑолютные команды move, line, bezier curve и close-path (и ÑохранÑетÑÑ Ð² таком виде).
  • Координаты вÑего контура указываютÑÑ Ð² Ñтандартной координатной ÑиÑтеме gschem.
  • Команды Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ð¾Ð², выводимые и гарантированно обрабатываемые в gEDA, перечиÑлены в нижеÑледующей таблице.
    (ТекÑÑ‚ взÑÑ‚ из вышеуказанной Ñпецификации SVG).
  • Ð’ приведённой ниже таблице иÑпользуютÑÑ Ñледующие уÑловные обозначениÑ:
    • (): группировка параметров
    • +: требуетÑÑ 1 заданный параметр или более
КомандаÐазваниеПараметрыОпиÑание
M (абÑолютнаÑ)moveto(x,y)+Ðачало нового подконтура в заданной координате (x,y). M (в верхнем региÑтре) указывает, что далее Ñледуют абÑолютные координаты; m (в нижнем региÑтре) указывает, что далее Ñледуют отноÑительные координаты. ЕÑли команда moveto в отноÑительных координатах (m) ÑвлÑетÑÑ Ð¿ÐµÑ€Ð²Ñ‹Ð¼ Ñлементом контура, её координаты раÑÑматриваютÑÑ ÐºÐ°Ðº абÑолютные. ЕÑли поÑле moveto указано неÑколько пар координат, поÑледующие пары раÑÑматриваютÑÑ ÐºÐ°Ðº неÑвные команды lineto.
L (абÑолютнаÑ)lineto(x,y)+ВычерчиваетÑÑ Ð»Ð¸Ð½Ð¸Ñ Ð¸Ð· текущей точки в точку, заданную координатами (x,y), ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ ÑтановитÑÑ Ð½Ð¾Ð²Ð¾Ð¹ текущей. L (в верхнем региÑтре) указывает, что далее Ñледуют абÑолютные координаты; l (в нижнем региÑтре) указывает, что далее Ñледуют отноÑительные координаты. Ð”Ð»Ñ Ð²Ñ‹Ñ‡ÐµÑ€Ñ‡Ð¸Ð²Ð°Ð½Ð¸Ñ Ð»Ð¾Ð¼Ð°Ð½Ð¾Ð¹ линии может указыватьÑÑ Ð½ÐµÑколько пар координат. Ð’ конце команды новой текущей точкой Ñтанет поÑледнÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ð°Ñ Ð¿Ð°Ñ€Ð° координат.
C (абÑолютнаÑ)curveto(x1,y1 x2,y2 x,y)+ВычерчиваетÑÑ ÐºÑ€Ð¸Ð²Ð°Ñ Ð‘ÐµÐ·ÑŒÐµ Ñ ÐºÑƒÐ±Ð¸Ñ‡ÐµÑкой интерполÑцией из текущей точки в точку (x,y), иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ (x1,y1) как контрольную точку в начале кривой и (x2,y2) как контрольную точку в конце кривой. C (в верхнем региÑтре) указывает, что далее Ñледуют абÑолютные координаты; c (в нижнем региÑтре) указывает, что далее Ñледуют отноÑительные координаты. Ð”Ð»Ñ Ð²Ñ‹Ñ‡ÐµÑ€Ñ‡Ð¸Ð²Ð°Ð½Ð¸Ñ Ñложной кривой Безье может указыватьÑÑ Ð½ÐµÑколько наборов координат. Ð’ конце команды новой текущей точкой Ñтанет поÑледнÑÑ Ð¿Ð°Ñ€Ð° координат (x,y) Ñложной кривой.
Z или zclosepath(нет)Закрывает текущий подконтур вычерчиванием прÑмой линии из текущей точки в иÑходную точку данного подконтура.
  • Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð²Ð¾Ð´ вышеуказанных команд в gEDA производитÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в виде верÑий Ñ Ð°Ð±Ñолютными координатами.
  • Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð²Ð¾Ð´ команд M, L, C в gEDA производитÑÑ Ð¿ÐµÑ€ÐµÐ´ каждым набором координат, даже в ÑлучаÑÑ…, еÑли они могли бы быть опущены в ÑоответÑтвии Ñо Ñпецификацией SVG.
  • Ð’ выводе gEDA между координатами x,y помещаютÑÑ Ð·Ð°Ð¿Ñтые. Ð’ ÑоответÑтвии Ñо Ñпецификацией SVG они могут замещатьÑÑ Ð¿Ñ€Ð¾Ð±ÐµÐ»ÑŒÐ½Ñ‹Ð¼Ð¸ Ñимволами.
  • Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ gEDA не поддерживает более одного подконтура.
  • Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ gEDA выводит по одной Ñтроке данных контура на команду + набор координат.

Ð”Ð»Ñ Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ð° начертим внешний контур Ñимвола AND по американÑкому Ñтандарту. Данные контура:

M 100,100 L 500,100 C 700,100 800,275 800,400
C 800,525 700,700 500,700 L 100,700 z

И Ð¿Ð¾Ð»Ð½Ð°Ñ Ñхема:

v 20080706 1
H 3 0 0 0 -1 -1 0 2 20 100 -1 -1 6
M 100,100
L 500,100
C 700,100 800,275 800,400
C 800,525 700,700 500,700
L 100,700
z

ЗдеÑÑŒ показан итоговый контур (Ñ Ð½Ð°Ñ‡ÐµÑ€Ñ‡ÐµÐ½Ð½Ñ‹Ð¼Ð¸ Ð´Ð»Ñ Ð¸Ð»Ð»ÑŽÑтрации их Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ точками):

ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ документа

30 ноÑÐ±Ñ€Ñ 2002 г. Создан fileformats.tex из fileformats.html.
1 Ð´ÐµÐºÐ°Ð±Ñ€Ñ 2002 г. Продолжена работа над данным документом.
4 октÑÐ±Ñ€Ñ 2003 г. Добавлена Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ новом флаге верÑии формата файла.
19 октÑÐ±Ñ€Ñ 2003 г.Добавлено поле num_lines Ð´Ð»Ñ Ñ‚ÐµÐºÑтового объекта.
2 ноÑÐ±Ñ€Ñ 2008 г. Добавлен объект контура, верÑÐ¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° файла изменена на 2.
26 маÑ, 2011 г. Ð’ таблицы параметров добавлены Ñтолбцы позиции.
lepton-eda-1.9.10/docs/wiki/geda-icarus_xnf.html0000644000175000017500000002775513634703632016422 00000000000000

Xilinx Netlist Format

WHAT IS XNF

XNF is the Xilinx Netlist Format. This is somewhat specific to the
Xilinx tool chain, but it is sufficiently ubiquitous that it's still
worth it. This format can be fed to place and route tools and
simulators. Since some third party simulators accept XNF, the format
may be useful even independent of Xilinx parts.

Icarus Verilog supports XNF as specified by the Xilinx Netlist Format
Specification, Version 6.1.

GENERATE XNF OUTPUT -- THE SHORT STORY

The easiest way to compile for XNF output is with the "verilog"
command (man verilog) and the -X switch:

	% iverilog -fpart=4010e -fncf=prog.ncf -txnf prog.v

This generates from the prog.v Verilog source file the prog.xnf output
and the prog.ncf netlist constraints file. The verilog program
arranges to call the preprocessor and the ivl compiler with all the
correct switches for generating XNF.

GENERATING XNF MACROS

Icarus Verilog can be used to generate XNF implementations of devices
that are written in Verilog and used by schematic editors such as
OrCAD. The trick here is that the code generator automatically notices
ports to the root module and generates the PIN= attributes needed so
that external tools can link to the generated XNF.

Icarus Verilog chooses a name for the pin. The name it chooses is the
port name of the module. If the port is a vector, a pin is generated
for all the bits of the vector with the bit number appended. For
example:

	module foo(in);
	input [3:0] in;

causes the single bit ports ``in0'' through ``in3'' be
generated. Internally, the XNF file uses the bussed names instead of
the pin name.

The implication of this is that there is a chance of name collision
with the generated XNF macro if the port names are chosen badly. It is
best to not end a port name with decimal digits, as that can cause
trouble at link time. Also, XNF is not case sensitive and that should
be accounted for as well.

XNF PADS IN VERILOG SOURCE

You can assign wires to pads using the Icarus Verilog $attribute
extension. Attach to a scalar signal (wire or register) the PAD
attribute with the value that specifies the direction and pin
number. For example:

	wire foo, bar, bid;
	$attribute(foo, "PAD", "i1"); // Input pad on pin 1
	$attribute(bar, "PAD", "o2"); // Output pad on pin 2
	$attribute(bid, "PAD", "b3"); // Bi-directional pad on pin 3

The XNFIO function uses these attributes to locate signals that are
connected to pads, and generates XNF I/O block devices to connect to
the pad to do the FPGA pin buffering that is needed. So the Verilog
programmer need not in general specify the IBUF/OBUF buffers.

If the programmer does connect buffers to pads, the compiler will
notice them and convert them to I/OBUFs automatically. For example:

	buf b1 (sig, foo);

connects to pad foo, so will be converted into an XNF IBUF
device. Also:

	bufif1 bt (bar, value, en);

connects to pad bar so will automatically be converted into an OBUFT
device. Icarus Verilog understands OBUF, IBUF and OBUFT (with optionally
inverted enable) devices and will convert Verilog devices from the
source, or generate missing devices.

In addition, the Verilog programmer may explicitly declare a device as
an I/OBUF by attaching an attribute to the device, like so:

	buf b1 (sig, foo);
	$attribute(b1, "XNF-LCA", "OBUF:O,I");

This latter feature is not entirely recommended as it expects that the
programmer really knows how the pins of the XNF device are to be
connected. It also bypasses the efforts of the compiler, so is not
checked for correctness.

XNF STORAGE ELEMENTS

Storage elements in XNF include flip-flops, latches and CLB
rams. These devices are generated from the LPM equivalents that the
-Fsynth functor synthesizes from behavioral descriptions.

Flip-flops, or more specifically DFF devices, are generated to
implement behavioral code like this:

	reg Q;
	always @(posedge clk) Q <= <expr>;

The edge can be positive or negative, and the expression can be any
synthesizable expression. Furthermore, the register "Q" can have
width, which will cause the appropriate number of flip-flops to be
created. A clock enable expression can also be added like so:

	reg Q;
	always @(posedge clk) if (<ce>) Q <= <expr>;

The <ce> expression can be any synthesizable expression.

With or without the CE, the generated DFF devices are written into the
XNF output one bit at a time, with the clock input inverted if necessary.

Xilinx parts also support CLB circuitry as synchronous RAMS. These
devices are created from Verilog memories if the properties are
right. The behavioral description that the -Fsynth functor matches to
get a synchronous RAM looks very similar to that for a DFF:

	reg [15:0] M;
	always @(posedge clk) if (<we>) M[<addr>] <= <expr>;

Note that in this case the l-value of the assignment is an addressed
memory. This statement models writes into the memory. Reads from the
device can be modeled with ordinary structural code, i.e.:

	assign foo <= M[<addr>];

For the memory to be synthesizable in the XNF target, the address
lines for writes and reads must be connected. This corresponds to the
limitations of the real hardware.

OTHER XNF SPECIAL DEVICES

There are certain special devices in XNF that Verilog does not
naturally represent, although there are similar more generic Verilog
devices. The most obvious and useful example is the clock driver,
otherwise known as the global buffer BUFG. As with pads, Icarus
Verilog uses the $attribute extension to allow you to specify special
devices.

The $attribute statement can be applied to devices much the same way
one applies them to wires. For example, to turn a buffer into a clock
buffer:

	wire iclk, clk;
	buf BUFG (clk, iclk);
	$attribute(iclk, "PAD", "i1");
	$attribute(BUFG, "XNF-LCA", "BUFG:O,I");

The above statements cause the buffer BUFG to be emitted in the XNF
output as a BUFG device with the first signal called "O" and the
second called "I". The rest of this example connects the input of the
BUFG to a signal from the input pin #1 and connects the output to the
internal wire "clk". Incidentally, this example will cause an IBUF to
be generated to connect the iclk signal to input pin #1.

SUMMARY OF IVL SUPPORT FOR XNF

Icarus Verilog has a code generator and synthesis functions that
support generation of XNF netlists. The XNF modules also allow the
programmer to use $attributes to control certain aspects of code
generation.

XNF code generation is enabled with the ``-t xnf'' flag on the command
line. The code generator needs to know the type of part to generate
code for, so the ``-fpart=<type>'' flag is also needed. For example,
to generate code for the 4010E the command line might start out as:

	 ivl -txnf -fpart=4010e -Fsynth -Fnodangle -Fxnfio [...]

Icarus Verilog includes the functions ``synth'' and ``xnfio'' to
perform transformations and optimizations on the design before code is
generated. The ``synth'' function matches certain behavioral constructs
to structural components, and the xnfio function generates pads and
fills the IOBs.

SUPPORTED FLAGS

    -fpart=<part>
        Specify the type of part to target. This string is written
        literally into the PART, record of the XNF, and may also be
        used to control synthesis and placement.

    -fncf=<path>
        Cause the code generator to write into <path> the netlist
        constraints needed for controlling placement and timing. This
        switch is required if pin assignments are assigned in the
        Verilog source.

THE SYNTH FUNCTION

This function does synthesis transformations on the entered design,
making it possible to generate XNF netlist components from certain
behavioral constructs. This is needed in Verilog for example to model
some of the synchronous components of the XNF library.

It is a bit much to expect a Verilog compiler in general to generate
components from arbitrary behavioral descriptions, so the synth
function works by matching statements that have some documented
structure, and substituting them for the equivalent XNF component. A
fully synthesize-able design, then, is one where the behavioral
statements can all be matched and substituted by the synth function.

THE XNFIO FUNCTION

The "xnfio" function transforms the netlist where the IOBs are
concerned. The signals with PAD attributes are checked, and
surrounding circuitry generated to conform to the logic available in
the IOB.

If the pad is an OPAD, the function will look for an existing buf or
not gate connected to the PAD signal. If the gate is appropriately
connected, the buf or not gate will be turned into an OBUF. This pulls
the buf or inverter into the IOB, freeing a CLB and providing the
required pin circuitry.

If the pad is an IPAD, the function will look for a buf, and convert
that to an IBUF. Since Xilinx IOBs cannot invert the output from an
IBUF, NOT gates cannot be absorbed as in the OPAD case.


/*
 * Copyright (c) 1998-1999 Stephen Williams (steve@icarus.com)
 *
 *    This source code is free software; you can redistribute it
 *    and/or modify it in source code form 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 */


 $Log: xnf.txt,v $
 Revision 1.16  2003/07/15 03:49:22  steve
  Spelling fixes.

 Revision 1.15  2003/01/30 16:23:08  steve
  Spelling fixes.

 Revision 1.14  2000/08/01 21:32:40  steve
  Use the iverilog command in documentation.

 Revision 1.13  2000/08/01 02:48:42  steve
  Support <= in synthesis of DFF and ram devices.

 Revision 1.12  2000/07/25 22:49:32  steve
  memory is not a data type in verilog.

 Revision 1.11  2000/04/23 23:03:13  steve
  automatically generate macro interface code.

 Revision 1.10  1999/12/05 19:30:43  steve
  Generate XNF RAMS from synthesized memories.

 Revision 1.9  1999/11/18 03:52:20  steve
  Turn NetTmp objects into normal local NetNet objects,
  and add the nodangle functor to clean up the local
  symbols generated by elaboration and other steps.

 Revision 1.8  1999/11/06 04:51:42  steve
  Support writing some XNF things into an NCF file.

 Revision 1.7  1999/11/03 05:18:18  steve
  XNF synthesis now uses the synth functor.

 Revision 1.6  1999/11/02 01:43:55  steve
  Fix iobuf and iobufif handling.

 Revision 1.5  1999/10/09 17:52:27  steve
  support XNF OBUFT devices.

 Revision 1.4  1999/08/14 22:48:21  steve
  Mention the sigfold function.

 Revision 1.3  1999/07/22 02:05:20  steve
  is_constant method for PEConcat.

 Revision 1.2  1999/07/18 21:17:51  steve
  Add support for CE input to XNF DFF, and do
  complete cleanup of replaced design nodes.

 Revision 1.1  1999/05/01 02:57:11  steve
  XNF target documentation.
lepton-eda-1.9.10/docs/wiki/geda-gschem_symbol_generators.html0000644000175000017500000000510513634703632021326 00000000000000

Gschem Symbol Generators

Here you can find various scripts for creating symbols written by many people using their own favorite languages:

  • tragesym — the most known symbol generator by Werner Hoch.
  • djboxsym — the symbol generator by DJ Delorie
  • gmk_sym improved — an improved gmk_sym utility which predecessor originally written by Jerry O'Keefe is included in the gEDA suite.
  • pintosym.pl — the symbol generator by Karl Hammar.

References

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-attributes.html0000644000175000017500000001500513634703632020367 00000000000000

Attributes

Both components and pins, nets and buses can have attributes attached to them. Attributes are text in the format â€name=valueâ€. For example, nets can be named using a â€netname=†attribute, and components can be named using a â€refdes=†attribute.

Attributes can also be added to a page without being attached to another object. These are called floating attributes, and are most commonly used in symbols. When a symbol is placed into a schematic page as a component, any floating attributes in the symbol become inherited attributes in the schematic.

Much of the power and flexibility of the gEDA suite is accessed through the use of attributes. For a full list of standard attributes and their meanings, see the Master Attributes List.

In addition to the name and value, attributes have two visibility settings. The first controls whether the attribute as a whole is visible, and the second controls which parts of the attribute are shown (just the name, just the value, or both).

There are two ways to add/edit attributes: editing them individually, or using the “Edit Attributes†window.

Editing individual attributes

To add a single attribute to a component, pin, net or bus, select the target object and use Add→Attribute…. This will display the “Single Attribute Editor†window. Enter a name and value, and set the desired visibility settings, then click OK to add the attribute. If you use Add→Attribute… without selecting any object, the created attribute will be floating.

To edit an individual attribute, select the attribute (not the object it's attached to) and use Edit→Edit… to display the “Single Attribute Editor†window again. To update the attribute after making your changes, click OK.

Editing multiple attributes

A more powerful alternative is to use the “Edit Attributes†window. To display the window, select a component, net, pin or bus, and use Edit→Edit….

The “Edit Attributes†window is divided into two parts. The upper part shows all of the attributes that are currently attached to the object, and the lower part allows you to add attributes in a similar fashion to the “Single Attribute Editorâ€. The window automatically updates when the selected object changes.

In the top part of the window, each row in the attribute list shows the name and value of an attribute, and its visibility settings (“Vis?†for overall visibility, and “N†and “V†for name and value visibility respectively). Left-click the name or value of an attribute to edit it, and press Enter or move the focus to another field to save your changes. To cancel your changes while editing the name or value of an attribute, press Escape.

To delete an attribute, right click on it and select Delete from the context menu.

If the Show inherited attributes checkbox is enabled, and a component is selected, any attributes inherited by the component from the symbol it was created from are also displayed, but cannot be edited. To add an editable copy of the inherited attribute to the component, right click on the attribute and select Promote from the context menu.

Bulk attribute visibility changes

To change the visibility settings for several selected attributes at a time, use Attributes→Toggle Visibility, Attributes→Show Name, Attributes→Show Value, and Attributes→Show Both (which sets selected attributes to show both name and value).

You can also change the visibility of all attributes that begin with a particular prefix using Attributes→Hide Specific Text… and Attributes→Show Specific Text…. For example, you could enter “refdes=R†to hide all refdes attributes with values beginning with R.

lepton-eda-1.9.10/docs/wiki/geda-ngnutmeg_mp.html0000644000175000017500000011545113634703632016570 00000000000000

ngnutmeg man-page

NUTMEG(1)							     NUTMEG(1)



NAME
       nutmeg - spice post-processor

SYNOPSIS
       nutmeg [ - ] [ -n ] [ -t term ] [ datafile ... ]

DESCRIPTION
       Nutmeg  is  a  post  processor for SPICE - it takes the raw output file
       created by spice -r and plots the data on  a  graphics  terminal	 or  a
       workstation  display.   Note that the raw output file is different from
       the data that SPICE writes to the standard output.

       Arguments are:

       -      Don’t try to load the default data file ("rawspice") if no other
	      files are given.

       -n (or --no-spiceinit)
	      Don’t try to source the file ".spiceinit" upon startup. Normally
	      nutmeg tries to find the file in the current directory,  and  if
	      it is not found then in the user’s home directory.

       -t term (or --term=term)
	      The program is being run on a terminal with mfb name term.

       -h (or --help)
	      Display  a  verbose  help on the arguments available to the pro-
	      gram.

       -v (or --version)
	      Display a version number and copyright information of  the  pro-
	      gram.

       Further	arguments are taken to be data files in binary or ascii format
       (see sconvert(1)) which are loaded into	nutmeg.	 If  the  file	is  in
       binary format, it may be only partially completed (useful for examining
       SPICE ouput before the simulation is finished). One  file  may  contain
       any number of data sets from different analyses.

       Nutmeg  data is in the form of vectors: time, voltage, etc. Each vector
       has a type, and vectors can be operated on and combined algebraicly  in
       ways  consistent	 with their types. Vectors are normally created when a
       data file is read in (see the load command below), and when the initial
       datafile is loaded. They can also be created with the let command.

       An  expression is an algebraic formula involving vectors and scalars (a
       scalar is a vector of length 1), and the following operations:

	      +, -, *, %, /, ^, and ,.

       % is the modulo operator, and the comma operator has two	 meanings:  if
       it  is  present	in  the argument list of a user-definable function, it
       serves to seperate the arguments. Otherwise, the term x , y is  synony-
       mous with x + j(y).

       Also available are the logical operations & (and), | (or), ! (not), and
       the relational operations <, >, >=, <=, =, and <> (not equal).  If used
       in  an  algebraic  expression they work like they would in C, producing
       values of 0 or 1.  The relational operators  have  the  following  syn-
       onyms:  "gt"  is >, "lt" is <, "ge" is >=, "le" is <=, "ne" is <>, "eq"
       is =, "and" is &, "or" is |, and "not" is !.  These are useful  when  <
       and > might be confused with IO redirection (which is almost always).

       The following functions are available:

	      mag(vector) - The magnitude of vector.

	      ph(vector) - The phase of vector.

	      j(vector) - i (sqrt(-1)) times vector.

	      real(vector) - The real component of vector.

	      imag(vector) - The imaginary part of vector.

	      db(vector) - 20 * log10(mag(vector)).

	      log(vector) - The logarithm (base 10) of the vector.

	      ln(vector) - The natural logarithm (base e) of vector.

	      exp(vector) - e to the vector power.

	      abs(vector) - The absolute value of vector.

	      sqrt(vector) - The square root of vector.

	      sin(vector) - The sin of vector.

	      cos(vector) - The cosine of vector.

	      tan(vector) - The tangent of vector.

	      atan(vector) - The inverse tangent of vector.

	      norm(vector) - The vector normalized to 1 (i.e, the largest mag-
	      nitude of any component will be 1).

	      rnd(vector) - A vector with  each	 component  a  random  integer
	      between  0 and the absolute value of the vectors’s corresponding
	      component.

	      mean(vector) - The result is a scalar (a length 1	 vector)  that
	      is the mean of the elements of vector.

	      vector(number)  -	 The result is a vector of length number, with
	      elements 0, 1, ...  number - 1. If number is a vector then  just
	      the  first element is taken, and if it isn’t an integer then the
	      floor of the magnitude is used.

	      length(vector) - The length of vector.

	      interpolate(plot.vector) - The result of interpolating the named
	      vector  onto  the scale of the current plot.  This function uses
	      the variable polydegree to determine the	degree	of  interpola-
	      tion.

       A  vector  may be either the name of a vector already defined, a float-
       ing- point number (a scalar), or a list	like  [elt1  elt2  ...	eltn],
       which  is  a vector of length n.	 A number may be written in any format
       acceptable to SPICE, such as 14.6MEG or -1.231E-4. Note	that  you  can
       either  use scientific notation or one of the abbreviations like MEG or
       G, but not both.	 As with SPICE, a number may have trailing  alphabetic
       characters after it.

       The  notation  expr  [lower  upper], where lower and upper are numbers,
       denotes the range of elements from expr between lower and  upper.   The
       notation	 expr  [num]  denotes the num’th element of expr.  If upper is
       lower than lower, the order of the elements in the vector is  reversed.
       In  all	other  cases,  [  and  ]  serve to surround literal vectors as
       described above.	 (You may have to use a lot  of	 parentheses  to  make
       sure  that you get what you want.  For instance, you have to type print
       (foo) ([1 2]) to print the two vectors.	Otherwise it  will  be	inter-
       preted  as  a  function call or a vector with an index.)	 Note that the
       expression foo[10 20][5] will not yield the 15th element	 of  foo,  but
       rather the 5th.	In general only the last index suffix on an expression
       will take effect.

       To reference vectors in a plot that is not the current  plot  (see  the
       setplot command, below), the notation plotname.vecname can be used.

       Either  a  plotname  or	a vector name may be the wildcard all.	If the
       plotname is all, matching vectors from all plots are specified, and  if
       the  vector  name is all, all vectors in the specified plots are refer-
       enced.  Note that you may not  use  binary  operations  on  expressions
       involving  wildcards  - it is not obvious what all + all should denote,
       for instance.

       Thus some (contrived) examples of expressions are:

	      cos(TIME) + db(v(3))

	      sin(cos(log([1 2 3 4 5 6 7 8 9 10])))

	      TIME * rnd(v(9)) - 15 * cos(vin#branch) ^ [7.9e5 8]

	      not ((ac3.FREQ[32] & tran1.TIME[10]) gt 3)

       Nutmeg commands are as follows:

       plot exprs [ylimit ylo yhi] [xlimit xlo xhi] [xindices xilo xihi]
	      [xcompress comp] [xdelta xdel] [ydelta ydel] [xlog] [ylog] [vs xname]
		      [xlabel word] [ylabel word] [title word] [samep]
	      Plot the given exprs on the screen (if you  are  on  a  graphics
	      terminal).  The  xlimit  and ylimit arguments determine the high
	      and low x- and y-limits of the axes, respectively. The  xindices
	      arguments	 determine  what  range	 of points are to be plotted -
	      everything between the xilo’th point and the  xihi’th  point  is
	      plotted.	 The xcompress argument specifies that only one out of
	      every comp points should be plotted. If an xdelta	 or  a	ydelta
	      parameter	 is  present,  it  specifies  the spacing between grid
	      lines on the X- and Y-axis.  These parameter names may be abbre-
	      viated to xl, yl, xind, xcomp, xdel, and ydel respectively.  The
	      xname argument is an expression to use as the scale  on  the  x-
	      axis.   If  xlog	or  ylog are present, the X or Y scale respec-
	      tively will be logarithmic.  The	xlabel	and  ylabel  arguments
	      cause  the  specified  labels  to	 be used for the X and Y axes,
	      respectively.  If samep is given, the values of the other param-
	      eters  (other  than  xname) from the previous plot, hardcopy, or
	      asciiplot command will be used unless re-defined on the  command
	      line.   Finally, the title argument will be used in the place of
	      the plot name at the bottom of the graph.

       hardcopy file plotargs
	      Just like plot, except creates a file called file containing the
	      plot.   The  file	 is  an	 image	in  plot(5) format, and can be
	      printed by either the plot(1) program or lpr with the -g flag.

       asciiplot plotargs
	      Produce a line printer plot of the vectors.  The plot is sent to
	      the  standard  output,  so you can put it into a file with asci-
	      iplot args ... > file.   The  set	 options  width,  height,  and
	      nobreak  determine the width and height of the plot, and whether
	      there are page breaks, respectively. Note	 that  you  will  have
	      problems	if you try to asciiplot something with an X-scale that
	      isn’t monotonic (i.e, something like sin(TIME) ), because	 asci-
	      iplot uses a simple-minded sort of linear interpolation.

       define function(arg1, arg2, ...) expression
	      Define  the  user-definable  function with the name function and
	      arguments arg1, arg2, ... to be expression,  which  may  involve
	      the arguments. When the function is later used, the arguments it
	      is given are substituted for the formal  arguments  when	it  is
	      parsed.	If expression is not present, any definition for func-
	      tion is printed, and if there are no arguments  to  define  then
	      all  currently active definitions are printed. Note that you may
	      have different functions defined with the same name but  differ-
	      ent arities.  Some useful definitions are:

	      define max(x,y) (x > y) * x + (x <= y) * y
	      define min(x,y) (x < y) * x + (x >= y) * y

       undefine function ...
	      Definitions for the named user-defined functions are deleted.

       let name = expr
	      Creates  a  new  vector  called name with the value specified by
	      expr, an expression as described above. If expr is []  (a	 zero-
	      length  vector) then the vector becomes undefined.  If there are
	      no arguments, let is the same as display.

       print [col] [line] expr ...
	      Prints the vector described by the expression expr.  If the  col
	      argument	is  present,  print the vectors named side by side. If
	      line is given, the vectors are printed horizontally.  col is the
	      default,	unless	all the vectors named have a length of one, in
	      which case line is the default.  The options width, length,  and
	      nobreak  are  effective for this command (see asciiplot). If the
	      expression is all, all of the  vectors  available	 are  printed.
	      Thus  print  col all > file will print everything in the file in
	      SPICE2 format.  The scale vector (time, frequency)  will	always
	      be in the first column unless the variable noprintscale is true.

       load [filename] ...
	      Loads the raw data in either binary or  ascii  format  from  the
	      files  named.  The default filename is rawspice, or the argument
	      to the -r flag if there was one.

       source filename
	      Reads commands from the file filename.  Lines beginning with the
	      character * are considered comments and ignored.

       help [all] [command ...]
	      Prints  help.  If the argument all is given, a short description
	      of everything you could possibly type is printed.	  If  commands
	      are  given,  descriptions of those commands are printed.	Other-
	      wise help for only a few major commands is printed.

       display [varname ...]
	      Prints a summary of currently defined vectors, or of  the	 names
	      specified.   The	vectors are sorted by name unless the variable
	      nosort is set.  The information given is the name of the vector,
	      the  length,  the	 type of the vector, and whether it is real or
	      complex data. Additionally, one vector will be labeled  [scale].
	      When a command such as plot is given without a vs argument, this
	      scale is used for the X-axis. It is always the first vector in a
	      rawfile, or the first vector defined in a new plot. If you unde-
	      fine the scale (i.e, let TIME = []), a random  remaining	vector
	      will become the scale.

       setplot [plotname]
	      Set  the	current plot to the plot with the given name, or if no
	      name is given, prompt the user with  a  menu.   (Note  that  the
	      plots  are  named	 as  they are loaded, with names like tran1 or
	      op2. These names are shown by the setplot and  display  commands
	      and  are	used  by  diff,	 below.)   If  the  "New plot" item is
	      selected, the current plot  will	become	one  with  no  vectors
	      defined.	 Note  that  here the word "plot" refers to a group of
	      vectors that are the result of one SPICE run.   When  more  than
	      one  file	 is loaded in, or more than one plot is present in one
	      file, nutmeg keeps them seperate and only shows you the  vectors
	      in the current plot.

       settype type vector ...
	      Change the type of the named vectors to type.  Type names can be
	      found in the manual page for sconvert.

       diff plot1 plot2 [vec ...]
	      Compare all the vectors in the  specified	 plots,	 or  only  the
	      named  vectors  if any are given. There are different vectors in
	      the two plots, or any values in the vectors differ significantly
	      the  difference  is  reported. The variables abstol, reltol, and
	      vntol are used to determine what "significantly" means (see  the
	      SPICE3 User’s Manual).

       quit   Quit nutmeg.

       bug    Send  a  bug report. (If you have defined BUGADDR, the mail will
	      go there.)

       write [file] [exprs]
	      Writes out the  expr’s  to  file.	  First	 vectors  are  grouped
	      together	by  plots,  and	 written  out  as  such.  (I.e, if the
	      expression list contained three vectors from one	plot  and  two
	      from  another,  then  two	 plots will be written, one with three
	      vectors and one with two.)  Additionally, if  the	 scale	for  a
	      vector  isn’t  present, it is automatically written out as well.
	      The default format is ascii, but this can be  changed  with  the
	      set  filetype command.  The default filename is rawspice, or the
	      argument to the -r flag on the command line, if there  was  one,
	      and the default expression list is all.

       shell [args ...]
	      Fork  a  shell,  or  execute  the	 arguments as a command to the
	      shell.

       alias [word] [text ...]
	      Causes word to be aliased to text.  History substitutions may be
	      used, as in C-shell aliases.

       unalias [word ...]
	      Removes any aliases present for the words.

       history [number]
	      Print  out the history, or the last number commands typed at the
	      keyboard.	 Note: in   version  3a7  and  earlier,	 all  commands
	      (including ones read from files) were saved.

       set [word] [word = value] ...
	      Set  the	value  of word to be value, if it is present.  You can
	      set any word to be any value, numeric or string.	If no value is
	      given  then the value is the boolean ’true’.   The value of word
	      may be inserted into a command by writing $word.	If a  variable
	      is  set  to  a  list  of values that are enclosed in parentheses
	      (which must be seperated from their values by white space),  the
	      value  of the variable is the list.  The variables meaningful to
	      nutmeg (of which there are too many) are:

		       abstol
		       The absolute tolerance used by the diff command.

		       appendwrite
		       Append to the file when a write command is  issued,  if
		       one already exists.

		       colorN
		       These  variables	 determine  the	 colors	 used, if X is
		       being run on a color display.  N may be between	0  and
		       15.  Color 0 is the background, color 1 is the grid and
		       text color, and colors 2 through 15 are used  in	 order
		       for  vectors plotted.  The value of the color variables
		       should be names of colors, which may be	found  in  the
		       file /usr/lib/rgb.txt.

		       combplot
		       Plot vectors by drawing a vertical line from each point
		       to the X-axis, as opposed to joining the points.	  Note
		       that  this  option  is subsumed in the plottype option,
		       below.

		       cpdebug
		       Print cshpar debugging information. (Must  be  complied
		       with the -DCPDEBUG flag.)

		       debug
		       If  set then a lot of debugging information is printed.
		       (Must be compiled with the -DFTEDEBUG flag.)

		       device
		       The name (/dev/tty??) of the graphics device.  If  this
		       variable isn’t set then the user’s terminal is used. To
		       do plotting on another monitor you will	probably  have
		       to  set both the device and term variables.  (If device
		       is set to the name of a	file,  nutmeg  will  dump  the
		       graphics control codes into this file -- this is useful
		       for saving plots.)

		       echo
		       Print out each command before it is executed.

		       filetype
		       This can be either ascii or binary, and determines what
		       the format of rawfiles will be. The default is ascii.

		       fourgridsize
		       How  many  points  to  use  for interpolating into when
		       doing fourier analysis.

		       gridsize
		       If this variable is set to an integer, this number will
		       be  used	 as the number of equally spaced points to use
		       for the Y-axis when plotting.   Otherwise  the  current
		       scale  will  be used (which may not have equally spaced
		       points).	 If the current	 scale	isn’t  strictly	 mono-
		       tonic, then this option will have no effect.

		       hcopydev
		       If  this	 is  set, when the hardcopy command is run the
		       resulting file is automatically printed on the  printer
		       named hcopydev with the command lpr -Phcopydev -g file.

		       hcopydevtype
		       This variable specifies the type of the printer	output
		       to use in the hardcopy command.	If hcopydevtype is not
		       set, plot (5) format is assumed.	 The standard  distri-
		       bution  currently  recognizes postscript as an alterna-
		       tive output format.   When  used	 in  conjunction  with
		       hcopydev,  hcopydevtype	should	specify	 a format sup-
		       ported by the printer.

		       height
		       The length of the page for asciiplot and print col.

		       history
		       The number of events to save in the history list.

		       nfreqs
		       The number of frequencies to  compute  in  the  fourier
		       command. (Defaults to 10.)

		       nobreak
		       Don’t have asciiplot and print col break between pages.

		       noasciiplotvalue
		       Don’t print the first vector plotted to the  left  when
		       doing an asciiplot.

		       noclobber
		       Don’t  overwrite	 existing files when doing IO redirec-
		       tion.

		       noglob
		       Don’t expand the global characters ‘*’, ‘?’,  ‘[’,  and
		       ‘]’. This is the default.

		       nogrid
		       Don’t  plot  a  grid when graphing curves (but do label
		       the axes).

		       nomoremode
		       If nomoremode is not set, whenever a  large  amount  of
		       data  is being printed to the screen (e.g, the print or
		       asciiplot commands), the output will be	stopped	 every
		       screenful  and  will continue when a carriage return is
		       typed. If nomoremode is set then data will  scroll  off
		       the screen without hesitation.

		       nonomatch
		       If  noglob  is  unset and a global expression cannot be
		       matched, use the global characters literally instead of
		       complaining.

		       nosort
		       Don’t have display sort the variable names.

		       noprintscale
		       Don’t  print  the  scale	 in the leftmost column when a
		       print col command is given.

		       numdgt
		       The number of digits to print when printing  tables  of
		       data  (fourier, print col).  The default precision is 6
		       digits.	On the VAX, approximately  16  decimal	digits
		       are  available using double precision, so numdgt should
		       not be more than 16.  If the number  is	negative,  one
		       fewer  digit  is	 printed  to ensure constant widths in
		       tables.

		       plottype
		       This should be one of  normal,  comb,  or  point:chars.
		       normal,	the   default,	causes points to be plotted as
		       parts of connected lines.  comb causes a comb  plot  to
		       be  done	 (see the description of the combplot variable
		       above).	point causes each point to be  plotted	seper-
		       ately - the chars are a list of characters that will be
		       used for each vector plotted.  If they are omitted then
		       a default set is used.

		       polydegree
		       The  degree  of	the  polynomial	 that the plot command
		       should fit to the data. If polydegree is N, then nutmeg
		       will fit a degree N polynomial to every set of N points
		       and draw 10 intermediate points in  between  each  end-
		       point. If the points aren’t monotonic, then it will try
		       rotating the curve and reducing the degree until a  fit
		       is achieved.

		       polysteps
		       The  number of points to interpolate between every pair
		       of points  available  when  doing  curve	 fitting.  The
		       default	is  10.	 (This should really be done automati-
		       cally.)

		       program
		       The name of the current program (argv[0]).

		       prompt
		       The prompt, with the character ‘!’ replaced by the cur-
		       rent event number.

		       rawfile
		       The default name for rawfiles created.

		       reltol
		       The relative tolerance used by the diff command.

		       rhost
		       The  machine to use for remote SPICE-3 runs, instead of
		       the default one. (See the  description  of  the	rspice
		       command, below.)

		       rprogram
		       The  name  of  the  remote program to use in the rspice
		       command.

		       slowplot
		       Stop between each graph plotted and wait for  the  user
		       to type return before continuing.

		       sourcepath
		       A  list of the directories to search when a source com-
		       mand is given.  The default is  the  current  directory
		       and  the	 standard spice library (/usr/local/lib/spice,
		       or whatever LIBPATH is #defined to in the  source.

		       spicepath
		       The program to use for the aspice command. The  default
		       is /cad/bin/spice.

		       term
		       The mfb name of the current terminal.

		       units
		       If  this	 is  degrees, then all the trig functions will
		       use degrees instead of radians.

		       unixcom
		       If a command isn’t defined, try to execute it as a UNIX
		       command.	  Setting this option has the effect of giving
		       a rehash command, below.	 This is useful for people who
		       want to use nutmeg as a login shell.

		       verbose
		       Be  verbose.  This  is  midway between echo and debug /
		       cpdebug.

		       vntol
		       The absolute voltage tolerance used by  the  diff  com-
		       mand.

		       width
		       The width of the page for asciiplot and print col.

		       xbrushheight
		       The height of the brush to use if X is being run.

		       xbrushwidth
		       The width of the brush to use if X is being run.

		       xfont
		       The  name  of  the X font to use when plotting data and
		       entering labels.	 The plot may not look entirely	 great
		       if this is a variable-width font.


       unset [word] ...
	      Unset the variables word.

       shift [varname] [number]
	      If  varname is the name of a list variable, it is shifted to the
	      left by number elements. (I.e, the number leftmost elements  are
	      removed.)	  The  default varname is argv, and the default number
	      is 1.

       rusage [resource ...]
	      Print resource usage statistics.	If any	resources  are	given,
	      just   print  the	 usage	of  that  resource.   Currently	 valid
	      resources are:

		       elapsed
		       The amount of time elapsed since the last rusage elaped
		       call.

		       faults
		       Number  of page faults and context switches (BSD only).

		       space
		       Data space used.

		       time
		       CPU time used so far.

		       everything
		       All of the above.

       cd [directory]  Change the current working directory to	directory,  or
		       to the user’s home directory if none is given.

       aspice [output-file]
		       Start  a	 SPICE-3 run, and when it is finished load the
		       data. The raw data is kept in a temporary file. If out-
		       put-file	 is  specified	then  the diagnostic output is
		       directed into that file, otherwise it is thrown away.

       jobs	       Report on the asynchronous SPICE-3 jobs currently  run-
		       ning.   Nutmeg  checks  to see if the jobs are finished
		       every time you execute a command.  If it is  done  then
		       the data is loaded and becomes available.

       rspice [input file]
		       Runs  a	SPICE-3	 remotely  taking  the input file as a
		       SPICE-3 input deck, or the current circuit if no	 argu-
		       ment  is	 given.	 Nutmeg waits for the job to complete,
		       and passes output from the remote  job  to  the	user’s
		       standard	 output.  When the job is finished the data is
		       loaded in as with aspice. If the variable rhost is set,
		       nutmeg will connect to this host instead of the default
		       remote SPICE-3 server machine. Note that	 this  command
		       will  only work if your system administrator is running
		       a SPICE-3 daemon on the remote host.  If	 the  variable
		       rprogram is set, then rspice will use this as the path-
		       name to the program to run.

       echo [stuff...] Echos the arguments.

       fourier fundamental_frequency [value ...]
		       Does a fourier analysis of each of  the	given  values,
		       using  the  first  10 multiples of the fundamental fre-
		       quency (or the first nfreqs, if that variable is set  -
		       see below). The output is like that of the .four	 card.
		       The values may be any valid expression.	The values are
		       interpolated onto a fixed-space grid with the number of
		       points given by the fourgridsize variable, or 200 if it
		       is  not set.  The interpolation will be of degree poly-
		       degree if that variable is set, or 1.  If polydegree is
		       0,  then no interpolation will be done.	This is likely
		       to give erroneous results if  the  time	scale  is  not
		       monotonic, though.

       version [version id]
		       Print  out  the	version of nutmeg that is running.  If
		       there are arguments, it checks to make  sure  that  the
		       arguments  match the current version of SPICE. (This is
		       mainly used as a Command: line in rawfiles.)

       rehash	       Recalculate the internal hash tables used when  looking
		       up  UNIX	 commands,  and	 make all UNIX commands in the
		       user’s PATH available for command completion.  This  is
		       useless	unless you have set unixcom first (see above).

       The following control structures are available:

	      while condition
		   statement
		   ...
	      end

       While condition, an arbitrary algebraic expression,  is	true,  execute
       the statements.

	      repeat [number]
		   statement
		   ...
	      end

       Execute	the  statements	 number	 times,	 or  forever if no argument is
       given.

	      dowhile condition
		   statement
		   ...
	      end

       The same as while, except  that	the  condition	is  tested  after  the
       statements are executed.

	      foreach var value ...
		   statement
		   ...
	      end

       The statements are executed once for each of the values, each time with
       the variable var set to the current one.	 (var can be accessed  by  the
       $var notation - see below).

	      if condition
		   statement
		   ...
	      else
		   statement
		   ...
	      end

       If  the condition is non-zero then the first set of statements are exe-
       cuted, otherwise the second set.	 The else and the second set of state-
       ments may be omitted.

	      label word

       If  a statement of the form goto word is encountered, control is trans-
       fered to this point, otherwise this is a no-op.

	      goto word

       If a statement of the form label word is present in  the	 block	or  an
       enclosing  block,  control is transfered there.	Note that if the label
       is at the top level, it must be before the goto statement (i.e, a  for-
       ward goto may occur only within a block).

	      continue

       If  there  is  a while, dowhile, or foreach block enclosing this state-
       ment, control passes to the test, or in the case of foreach,  the  next
       value is taken.	Otherwise an error results.

	      break

       If  there  is  a while, dowhile, or foreach block enclosing this state-
       ment, control passes out of the block. Otherwise an error results.

       Of course, control structures may be nested.  When a block  is  entered
       and  the	 input	is  the	 terminal,  the prompt becomes a number of >’s
       equalling the number of blocks the user has entered. The	 current  con-
       trol structures may be examined with the debugging command cdump.

       If  a word is typed as a command, and there is no built-in command with
       that name, the directories in the sourcepath list are searched in order
       for  the	 file.	If it is found, it is read in as a command file (as if
       it were sourced).  Before it is read, however, the variables  argc  and
       argv  are set to the number of words following the filename on the com-
       mand line, and a list of those words respectively.  After the  file  is
       finished, these variables are unset.  Note that if a command file calls
       another, it must save its argv and argc since they  will	 get  altered.
       Also,  command  files  may  not	be re-entrant since there are no local
       variables.  (Of course, the  procedures	may  explicitly	 manipulate  a
       stack...)   This	 way  one can write scripts analogous to shell scripts
       for nutmeg and .	 Note that for the script to work with , it must begin
       with  a blank line (or whatever you like, since it will be thrown away)
       and then a line with .control on it.  This is an unfortunate result  of
       the  source  command being used for both circuit input and command file
       execution.  Note also that this allows the user to merely type the name
       of a circuit file as a command, and it will be automatically run.

       There	  are	  various     command	  scripts     installed	    in
       /usr/local/lib/spice/scripts (or whatever the path is on your machine),
       and  the	 default  sourcepath  includes	this directory, so you can use
       these command files (almost) like builtin commands.

       Nutmeg will use either X or MFB, depending  on  whether	it  finds  the
       variable	 DISPLAY in the environment.  If you are using X on a worksta-
       tion, it should already be present, but if you want to display graphics
       on  a different machine than the one you are running nutmeg on, DISPLAY
       should be of the form machine:0.

       If X is being used, the cursor may be positioned at any	point  on  the
       screen  when the window is up and characters typed at the keyboard will
       be added to the window at that point.  The window may then be sent to a
       printer using the xpr(1) program.

       There are a number of pre-defined constants in nutmeg. They are:
	    pi	      pi
	    e	      The base of natural logarithms
	    c	      The speed of light
	    i	      The square root of -1
	    kelvin	   Absolute 0 in Centigrade
	    echarge	   The charge on an electron
	    boltz	   Boltzman’s constant
	    planck	   Planck’s constant (h)


       These  are  all	in MKS units. If you have another variable with a name
       that conflicts with one of these then it takes precedence.

       Nutmeg occasionally checks to see if it is getting close to running out
       of  space, and warns the user if this is the case. (This is more likely
       to be useful with the SPICE front end.)

       C-shell type quoting with "" and ’’, and backquote substitution may  be
       used.  Within single quotes, no further substitution (like history sub-
       stitution) is done, and	within	double	quotes,	 the  words  are  kept
       together	 but further substitution is done. Any text between backquotes
       is replaced by the result of executing the text as  a  command  to  the
       shell.

       Tenex-style  (’set  filec’  in  the 4.3 C-shell) command, filename, and
       keyword completion is possible: If EOF (control-D) is typed  after  the
       first  character	 on the line, a list of the commands or possible argu-
       ments is printed. (If it is alone on the line it will exit nutmeg.)  If
       escape  is  typed,  then	 nutmeg will try to complete what the user has
       already typed.  To get a list of all commands,  the  user  should  type
       <space> ^D.

       The  values  of	variables  may be used in commands by writing $varname
       where the value of the variable is to appear.  The special variables $$
       and $< refer to the process ID of the program and a line of input which
       is read from the terminal when the variable is evaluated, respectively.
       If  a variable has a name of the form $&word, then word is considered a
       vector (see above), and its value is taken to be the value of the vari-
       able.   If  $foo	 is  a	valid  variable, and is of type list, then the
       expression $foo[low-high] represents a range of elements.   Either  the
       upper index or the lower may be left out, and the reverse of a list may
       be obtained with $foo[len-0].  Also, the notation $?foo evaluates to  1
       if the variable foo is defined, 0 otherwise, and $#foo evaluates to the
       number of elements in foo if it is a list, 1  if	 it  is	 a  number  or
       string, and 0 if it is a boolean variable.

       History	substitutions,	similar	 to C-shell history substitutions, are
       also available - see the C-shell manual page for all of the details.

       The characters ~, {, and } have the same effects as they do in  the  C-
       Shell,  i.e.,  home directory and alternative expansion. It is possible
       to use the wildcard characters *, ?, [, and ] also,  but	 only  if  you
       unset noglob first. This makes them rather useless for typing algebraic
       expressions, so you should set noglob again after  you  are  done  with
       wildcard expansion. Note that the pattern [^abc] will match all charac-
       ters except a, b, and c.

       IO redirection is available - the symbols >, >>, >&, >>&,  and  <  have
       the same effects as in the C-shell.

       You may type multiple commands on one line, seperated by semicolons.

       If  you	want  to use a different mfbcap file than the default (usually
       ~cad/lib/mfbcap), you have  to  set  the	 environment  variable	MFBCAP
       before  you  start  nutmeg.   The  -m option and the mfbcap variable no
       longer work.

VMS NOTES
       Nutmeg can be run under VAX/VMS. Some features like command,  etc  com-
       pletion,	 expansion  of *, ?, and [], backquote substitution, the shell
       command, and so forth do not work. (In  fact  command  completion  only
       works on 4.2 or 4.3 BSD.)

       Nutmeg will look for start-up commands in the file spice.rc in the cur-
       rent directory.

       The standard suffix for rawspice files in VMS is ".raw".

       You will have to respond to the -more- prompt during plot with  a  car-
       riage return instead of any key as you can do on UNIX.

SEE ALSO
       sconvert(1), spice(1), mfb(3), writedata(3)

AUTHOR
       Wayne Christopher (faustus@cad.berkeley.edu)

BUGS
       The label entry facilities are very primitive - after all, nutmeg isn’t
       a graphics editor (yet).	 You must be careful to type very slowly  when
       entering	 labels	 -- nutmeg checks the X event queue once every second,
       and can get very confused if characters arrive faster than that.

       If you redefine colors after creating a plot window with	 X,  and  then
       cause the window to be redrawn, it will not to the right thing.

       When defining aliases like

	      alias pdb plot db( ’!:1’ - ’!:2’ )

       you  must  be  careful to quote the argument list substitutions in this
       manner. If you quote the whole argument it might not work properly.

       In a user-defined function, the arguments cannot be part of a name that
       uses the plot.vec syntax.  I.e,

	      define poke(duck) cos(tran1.duck)

       won’t do the right thing.

       If you type plot all all, or otherwise use a wildcard reference for one
       plot twice in a command, bad things will happen.

       The asciiplot command doesn’t deal with log scales or  the  delta  key-
       words.

       There are probably some features that nutmeg doesn’t have yet.

CAVEATS
       Often the names of terminals recognised by MFB are different from those
       in /etc/termcap. Thus you may have to reset your terminal type with the
       command

	      set term = termname

       where termname is the name in the mfbcap file.

       The  hardcopy  command  is useless on VMS and other systems without the
       plot command, unless the user has a program  that  understands  plot(5)
       format.




4th Berkeley Distribution	 27 April 1987			     NUTMEG(1)
lepton-eda-1.9.10/docs/wiki/geda-tasks.ru.html0000644000175000017500000002522413634703632016020 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

Как помочь проекту

Проект gEDA развиваетÑÑ Ð´Ð¾Ð±Ñ€Ð¾Ð²Ð¾Ð»ÑŒÑ†Ð°Ð¼Ð¸, так что здеÑÑŒ добровольчеÑкие (читай «беÑплатные») задачи. ПожалуйÑта, раÑÑмотрите возможноÑть помощи. СпаÑибо заранее.

  • ВнеÑите Ñвою лепту
    Ð’Ñ‹ Ñоздали Ñимвол, поÑадочное меÑто или утилиту Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ gEDA? Ð’Ñ‹ можете загрузить их на gedasymbols.org и поделитьÑÑ Ð¸Ð¼Ð¸ Ñ ÑообщеÑтвом.
  • РаÑÑкажите о gEDA другим людÑм, которым Ñто может быть интереÑно
    РаÑÑказывайте о gEDA и поÑылайте Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð¿ÑƒÑков на разные веб-Ñайты по разработке печатных плат (такие как http://CircuitCalculator.com/ , Olimex, Advanced Circuits, Open Circuits, http://www.ePanorama.net/ , gumstix, RepRap и Ñ‚. д.) и на веб-Ñайты по Linux/Unix (такие как Freshmeat, LWN или http://LinuxRobots.org/)
  • ТеÑтируйте переноÑÑ‹ на другие UNIX-платформы
    Ðам вÑегда нужны люди, которые могли бы теÑтировать gEDA на разных UNIX-подобных операционных ÑиÑтемах, Ñтарых и новых. Ð’ оÑновном их задача ÑоÑтоит в загрузке новых выпуÑков и обеÑпечении их работы на выбранной ими платформе, а затем в предоÑтавлении информации о любых найденных проблемах на раÑÑмотрение авторам ÑоответÑтвующих программ gEDA.

Веб-Ñайт и документациÑ

Данный раздел Wiki веб-Ñайта gEDA предназначен Ð´Ð»Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ð¸, Ñозданием которой проекту ÑпоÑобÑтвовало множеÑтво авторов, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹. Ð’ чаÑтноÑти он должен превратитьÑÑ Ð² информационный реÑÑƒÑ€Ñ Ð´Ð»Ñ Ñ‚ÐµÑ…, кто только начинает работать Ñ Ñтими программами.

  • Ðвторы/редакторы документации
    Ðужен человек, который бы выполнÑл функции редактора в движении по разработке документации Ð´Ð»Ñ gEDA. ОÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð·Ð°Ð´Ð°Ñ‡Ð° ÑоÑтоит в том, чтобы переформатировать ÑущеÑтвующую и/или находÑщуюÑÑ Ð² разработке документацию в нечто презентабельное. Этому человеку не нужно пиÑать текущую документацию, его задача — редактировать. Желающие пиÑать текущую документацию нам тоже нужны. (Как приÑтупить к редактированию Wiki, Ñм. ниже).
  • ПрограммиÑты веб-Ñтраниц/зеркал
    Ðужен человек, который бы Ñледил за зеркалами и может быть немного занималÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ HTML. Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ ÐµÑть три веб-Ñтраницы, нуждающиеÑÑ Ð² том, чтобы за ними Ñледили и Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñ‚ времени подправлÑли. Этот человек также мог бы влиÑть на изменение/раÑширение веб-Ñайта gEDA. ОбÑзанноÑти могли бы раÑпределÑтьÑÑ Ð¼ÐµÐ¶Ð´Ñƒ текущими веб-маÑтерами.

Ð›ÑŽÐ±Ð°Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒ данному веб-Ñайту приветÑтвуетÑÑ. Ð’ отличие от википедии здеÑÑŒ нет кнопки, чтобы Ñоздать учётную запиÑÑŒ Ñамому. Это оттого, что ни у кого на Ñайте gEDA не хватит нервов разбиратьÑÑ Ñ Ð²Ð°Ð½Ð´Ð°Ð»Ð¸Ð·Ð¼Ð¾Ð¼ анонимов. ПоÑтому, еÑли вы хотите редактировать оригинальную английÑкую верÑию Wiki, Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ñтупа вам нужно напиÑать Ñлектронное пиÑьмо админиÑтратору Ñайта (dj AT delorie.com). Ð’ Ñвоём пиÑьме админиÑтратору Wiki укажите, пожалуйÑта, что вы прочли ÐšÐ¾Ð´ÐµÐºÑ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° gEDA и ÑоглаÑны ему Ñледовать. Прежде чем проÑить учётную запиÑÑŒ в Wiki, вам нужно подпиÑатьÑÑ Ð½Ð° ÑпиÑок раÑÑылки geda-user и принимать учаÑтие в диÑкуÑÑиÑÑ….

lepton-eda-1.9.10/docs/wiki/geda-master_attributes_list.ru.html0000644000175000017500000014125513634703632021472 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

Перечень оÑновных атрибутов gEDA/gaf

Ales Hvezda, ahvezda@geda.seul.org

ÐаÑтоÑщий документ раÑпроÑтранÑетÑÑ Ð¿Ð¾Ð´ лицензией GFDL

10 Ð¸ÑŽÐ»Ñ 2007 г.

Обзор

Ð’ наÑтоÑщем документе приводитÑÑ Ð¾Ð¿Ð¸Ñание вÑех атрибутов, иÑпользуемых в gEDA/gaf (GPL'd Electronic Design Automation / gschem and friends)1). Документ разбит на неÑколько разделов: Ð´Ð°Ð½Ð½Ð°Ñ Ð¾Ð±Ð·Ð¾Ñ€Ð½Ð°Ñ Ñ‡Ð°Ñть, атрибуты только Ð´Ð»Ñ Ñимволов, атрибуты только Ð´Ð»Ñ Ñхем, атрибуты Ð´Ð»Ñ Ñимволов и Ñхем, опиÑание уÑтаревших атрибутов или атрибутов, иÑпользовать которые больше не рекомендуетÑÑ.
Далее в наÑтоÑщем документе имена атрибутов выделены жирным шрифтом, примеры — машинопиÑным.

Что такое атрибуты?

Ðтрибуты в gEDA/gaf — Ñто не что иное, как текÑтовые Ñлементы вида: имÑ_атрибута=значение. Ð˜Ð¼Ñ Ð¼Ð¾Ð¶ÐµÑ‚ Ñодержать что угодно, за иÑключением знака равенÑтва. Значение может также Ñодержать что угодно, но не может быть пуÑтой Ñтрокой. имÑ_атрибута= (без значениÑ) не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым атрибутом. Также не должно быть пробелов непоÑредÑтвенно до или поÑле знака равенÑтва.
Ðтрибуты могут быть прикреплены к некоторой чаÑти Ñимвола. ЕÑли атрибут неÑёт информацию, ÑпецифичеÑкую Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°, он должен быть прикреплён непоÑредÑтвенно к Ñтому объекту, в противном Ñлучае он может быть Ñвободным (плавающим, неприкреплённым). Свободные атрибуты проÑто находÑÑ‚ÑÑ Ð² файле Ñимвола как текÑтовые Ñлементы вида имÑ_атрибута=значение.

Ðтрибуты только Ð´Ð»Ñ Ñимволов

device

Ðтрибутом device= задаётÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ уÑтройÑтва в Ñимволе. Его нужно раÑположить где-нибудь в Ñимволе и Ñделать невидимым. Данный атрибут ÑвлÑетÑÑ Ñвободным. ЕÑли объект ÑвлÑетÑÑ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑким, то атрибут device= должен иметь значение none (device=none), и в Ñимволе должен быть атрибут graphical=. Ðе Ñледует путать данный атрибут Ñ Ð¿Ñ€Ð¾Ñтым текÑтовым обозначением уÑтройÑтва. Ðе Ñледует в названии уÑтройÑтва иÑпользовать пробелы, некоторым программам Ñто не нравитÑÑ. Как правило, название уÑтройÑтва указываетÑÑ Ð¿Ð¾Ð»Ð½Ð¾Ñтью пропиÑными буквами.
Примеры:
device=7400
device=CONNECTOR_10
device=NPN_TRANSISTOR

graphical

Ðаличие атрибута graphical=1 обÑзательно Ð´Ð»Ñ Ñимволов, не предназначенных Ð´Ð»Ñ ÑлектричеÑких или ÑхемотехничеÑких целей. Такие Ñимволы, как рамка оÑновной надпиÑи Ð´Ð»Ñ Ñ‡ÐµÑ€Ñ‚ÐµÐ¶ÐµÐ¹, ÑвлÑÑŽÑ‚ÑÑ Ñ‡Ð¸Ñто графичеÑкими. Любой Ñимвол, имеющий graphical=1, игнорируетÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹ gnetlist.
ЧиÑто графичеÑкий Ñимвол должен Ñодержать невидимый атрибут graphical=1. Данный атрибут ÑвлÑетÑÑ Ñвободным. При его наличии не забудьте уÑтановить device=none.
Пример:
graphical=1

description

Ðтрибут description= задаёт проÑтое одноÑтрочное опиÑание того, какой Ñимвол намеревалÑÑ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð·Ð¸Ñ‚ÑŒ автор.
Примеры:
description=4 NAND gates with 2 inputs
description=4×2И-ÐЕ

author

Ðтрибут author= определÑет Ð¸Ð¼Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð° данного Ñимвола и его Ñлектронный адреÑ. Данный атрибут ÑвлÑетÑÑ Ð½ÐµÐ¾Ð±Ñзательным, но порой проÑто приÑтно иметь предÑтавление о том, кто какой Ñимвол Ñделал. Ещё он Ñлужит Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы узнать, Ñ ÐºÐµÐ¼ можно ÑвÑзатьÑÑ, еÑли еÑть вопроÑÑ‹ о назначении Ñимвола. Данный атрибут имеет Ñвободную форму и поÑтому может также Ñодержать и имена изменÑвших Ñимвол людей, и множеÑтво Ñлектронных адреÑов. Ещё может быть было бы неплохо как-то изменить адреÑ, чтобы он не Ñтал жертвой Ñпама.
Пример:
author=Ales Hvezda ahvezdaATgeda.seul.org

comment

Ðтрибут comment= может Ñодержать вÑÑ‘ что угодно. С его помощью может передаватьÑÑ Ð»ÑŽÐ±Ð°Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ, которую Ð½ÐµÐ»ÑŒÐ·Ñ Ð²ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ в другие атрибуты. Ð’ Ñимволе может быть неÑколько ÑкземплÑров данного атрибута.
Пример:
comment=Это комментарий внутри Ñимвола

pinseq

Данный атрибут иÑпользуетÑÑ Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¼Ñƒ выводу уникального порÑдкового номера. Ðтрибуты pinseq=# должны быть прикреплены к каждому из выводов. Их Ñледует Ñделать невидимыми. Данные атрибуты широко иÑпользуютÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°Ð¼Ð¸ gschem и gnetlist.
При работе некоторых драйверов (оÑобенно драйвера SPICE) gnetlist выдаёт выводы в порÑдке возраÑÑ‚Ð°Ð½Ð¸Ñ Ð¸Ñ… порÑдковых номеров. ПорÑдковые номера должны начинатьÑÑ Ñ 1 и поÑледовательно увеличиватьÑÑ, причём пропуÑкать их не допуÑкаетÑÑ. Данный атрибут не ÑвлÑетÑÑ Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ вывода (Ñ‚. е. номером вывода компонента, как, например, вывод GND имеет номер 7 Ð´Ð»Ñ Ð¼Ð½Ð¾Ð³Ð¸Ñ… TTL-микроÑхем). Ð”Ð»Ñ Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ð¸ выводов Ñлужит атрибут pinnumber=.
Примеры:
pinseq=1
pinseq=2
pinseq=3

Данный атрибут замещает уÑтаревший pin#=#.

pinnumber

Ðтрибут pinnumber=# определÑет номер вывода компонента (как, например, вывод GND имеет номер 7 Ð´Ð»Ñ TTL Ñерии 74). Он должен быть прикреплён к каждому выводу.
Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ задаватьÑÑ Ñ†Ð¸Ñ„Ñ€Ð°Ð¼Ð¸ или буквами. Ðтрибут должен быть видимым, причём видимым должно быть только значение. Также необходим атрибут pinseq=.
Примеры:
pinnumber=1
pinnumber=13
pinnumber=A0

Данный атрибут замещает уÑтаревший pin#=#.

pintype

Ðтрибут pintype=значение должен быть прикреплён к каждому выводу. Его Ñледует Ñделать невидимым. Ð’ таблице 1 приведены допуÑтимые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ атрибута.
Ðтрибут pintype= не очень широко применÑетÑÑ Ð² библиотеке Ñимволов, но он иÑпользуетÑÑ Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ ÑоответÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ð¼ нормам (DRC) и Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑков Ñоединений. ЕÑли никакой другой тип Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° не подходит, иÑпользуйте «паÑÑивный» («pas»).
Примеры:
pintype=clk
pintype=in
pintype=pas

Таблица 1: Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° pintype

in Input Вход
out Output Выход
io Input/Output Вход/выход
oc Open collector Открытый коллектор
oe Open emitter Открытый Ñмиттер
pas Passive ПаÑÑивный
tp Totem pole ИдольÑкий Ñтолб2)
tri Tristate (high impedance) ТрёхÑтабильный, третье ÑоÑтоÑние — выÑокоимпеданÑное
clk Clock Тактовый
pwr Power/Ground Питание/общий

pinlabel

Ðтрибут pinlabel= уÑтанавливает метку вывода. Главным образом он нужен программе gnetlist Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¸ иерархичеÑких проектов.
Данный атрибут нужно прикрепить к выводу и Ñделать видимым. Он должен быть зелёного цвета (вмеÑто жёлтого, Ñтандартного цвета атрибутов).
Примеры:
pinlabel=A0
pinlabel=DATA1
pinlabel=CLK

numslots

ЕÑли компонент Ñодержит неÑколько Ñекций (Ñлементов) в одном физичеÑком корпуÑе (как, например, 7400, имеющий 4 логичеÑких Ñлемента 2И-ÐЕ в одном корпуÑе), то необходим атрибут numslots=#. ЧиÑло # задаёт количеÑтво Ñлементов в физичеÑком уÑтройÑтве. Ðтрибут numslots= нужно раÑположить где-нибудь в Ñимволе и Ñделать невидимым. Данный атрибут ÑвлÑетÑÑ Ñвободным. ЕÑли Ñимволу не нужно назначать Ñекции, в файл Ñимвола Ñледует помеÑтить numslots=0.
Пример:
numslots=4

slotdef

ЕÑли компонент Ñлужит Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð½Ð¾Ð³Ð¾Ñекционного прибора, Ñодержащего неÑколько Ñекций в одном физичеÑком корпуÑе, то Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ из Ñтих Ñекций необходимо задать атрибут slotdef=номер_Ñекции:#,#,#…
ЧиÑло номер_Ñекции ÑоответÑтвует номеру Ñекции. Двоеточие поÑле номера Ñекции обÑзательно. Ðапример, Ð´Ð»Ñ ÑƒÑтройÑтва, Ñодержащего 4 Ñекции, в Ñимвол нужно было бы добавить атрибуты slotdef=1:…, slotdef=2:…, slotdef=3:… и slotdef=4:… и Ñделать их невидимыми. Данный атрибут ÑвлÑетÑÑ Ñвободным.
ЧиÑла # однозначно ÑоответÑтвуют значениÑм атрибутов pinseq= и определÑÑŽÑ‚ номера выводов pinnumber=#, иÑпользуемые Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð½Ð° Ñкране (в gschem) и Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑка Ñоединений (Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gnetlist).
Ð”Ð»Ñ Ð²Ñех Ñимволов, определÑющих неÑколько Ñекций, рекомендуетÑÑ Ð·Ð°Ð´Ð°Ð²Ð°Ñ‚ÑŒ атрибут slot=1, прикреплÑемый таким же образом, как и device=.
См. Ñимвол 7400-1.sym как пример реального Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ slotdef=.
Примеры:
slotdef=1:1,2,3
slotdef=2:4,5,6
slotdef=3:7,8,9

Данный атрибут замещает уÑтаревший slot#=#.

footprint

Ðтрибут footprint=название_корпуÑа нужно раÑположить где-нибудь в Ñимволе и Ñделать невидимым. Он иÑпользуетÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹ gnetlist и главным образом Ð´Ð»Ñ Ð¿Ð°ÐºÐµÑ‚Ð° pcb.
Ðтрибут прикреплÑетÑÑ Ñ‚Ð°ÐºÐ¸Ð¼ же образом, как и device=. Он ÑвлÑетÑÑ Ñвободным.
название_корпуÑа определÑет поÑадочное меÑто Ð´Ð»Ñ pcb или типоразмер корпуÑа, как, например, DIP14 или DIP40. Ð¥Ð¾Ñ‚Ñ Ð² принципе Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ атрибута завиÑÑÑ‚ от пакета pcb, в gEDA/gaf ÑущеÑтвуют ÑÐ¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¾ том, чтобы делать их как можно лучше переноÑимыми Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñм возможноÑтей удобного ÑотрудничеÑтва и ÑовмеÑтного иÑпользованиÑ. См. Ð¡Ð¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾ именованию поÑадочных меÑÑ‚.
ЕÑли Ð´Ð»Ñ Ñимвола поÑадочное меÑто не нужно или еÑли оно должно переопределÑтьÑÑ Ð² Ñхеме, Ñледует уÑтановить footprint=none. ЕÑли название поÑадочного меÑта неизвеÑтно, Ñледует уÑтановить footprint=unknown.

documentation

Ðтрибут documentation=ÑÑылка_на_документацию можно раÑположить где-нибудь в Ñимволе и Ñделать невидимым. Данный атрибут иÑпользуетÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹ gschemdoc Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка подходÑщей документации по Ñимволу, или, вернее, по уÑтройÑтву или компоненту, определÑемому данным Ñимволом.
Ðтрибут прикреплÑетÑÑ Ñ‚Ð°ÐºÐ¸Ð¼ же образом, как и device=. Он ÑвлÑетÑÑ Ñвободным.
ÑÑылка_на_документацию определÑет либо Ð¸Ð¼Ñ Ð¾Ñновного файла документации, либо полный интернет-адреÑ. ЕÑли в атрибуте задано Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°, программа попытаетÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ его в локальном каталоге documentation пакета gEDA.
Пример имени файла:
documentation=sn74ls00.pdf
Пример интернет-адреÑа:
documentation=http://www-s.ti.com/sc/ds/sn74ls00.pdf

Ðтрибуты только Ð´Ð»Ñ Ñхем

netname

Ðтрибут netname= должен прикреплÑтьÑÑ Ðº объекту «Ñоединение» Ð´Ð»Ñ ÑƒÑтановки его имени. Крайне не рекомендуетÑÑ Ð¸Ñпользовать разные имена Ð´Ð»Ñ ÑвÑзанных Ñегментов Ñоединений. Одинаково названные ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑчитаютÑÑ ÑлектричеÑки замкнутыми между Ñобой. ÐедопуÑтимо иÑпользовать данный атрибут внутри Ñимволов (так как внутри Ñимволов ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸Ñпользовать нельзÑ).
Примеры:
netname=DATA0 H
netname=CLK L

source

Ðтрибут source= указывает, что Ñимвол ÑвлÑетÑÑ Ð¿Ñ€ÐµÐ´Ñтавлением подÑхемы. Он прикреплÑетÑÑ Ð½ÐµÐ¿Ð¾ÑредÑтвенно к Ñимволу компонента.
Данный атрибут должен прикреплÑтьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ к ÑкземплÑрам Ñимволов компонентов в Ñхеме. Ðтрибут Ñледует прикрепить к Ñимволу и задать значение в виде имени файла подÑхемы (например, block.sch), но не полного пути доÑтупа. Указанный файл подÑхемы должен находитьÑÑ Ð² одном из каталогов, перечиÑленных Ñреди путей доÑтупа к библиотекам иÑходных данных. Можно прикреплÑть неÑколько таких атрибутов Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ значениÑми, что, по ÑущеÑтву, означает, что подÑхема предÑтавлÑет Ñобой набор из неÑкольких ÑвÑзанных между Ñобой Ñхем.
Примеры:
source=underlying.sch
source=memory.sch

Ðтрибуты Ð´Ð»Ñ Ñимволов и Ñхем

refdes

Ðтрибут refdes= определÑет позиционное обозначение конкретного ÑкземплÑра компонента в Ñхеме. Данный атрибут должен быть у КÐЖДОГО компонента, имеющего какой-либо ÑлектричеÑкий ÑмыÑл. Ð”Ð»Ñ ÑƒÑтановки позиционного обозначениÑ, иÑпользуемого Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð° по умолчанию (такого как 'U?', например), данный атрибут может задаватьÑÑ Ð½ÐµÐ¿Ð¾ÑредÑтвенно в Ñимволе (и еÑли он видим, то при помещении Ñимвола в Ñхему будет вынеÑен, то еÑть прикреплён вне Ñимвола).
Примеры:
refdes=U1
refdes=R10
refdes=CONN1

ÐžÐ³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ñ… обозначений

Ð’ качеÑтве Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° refdes= gschem принимает любые Ñтроки. Ðо некоторые драйверы gnetlist накладывают Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð° допуÑтимый ÑинтакÑиÑ.

Ð’ чаÑтноÑти gsch2pcb требует:

  • Ðе должно быть пробелов.
  • Ðе должно быть дефиÑов. Это может привеÑти к Ñбою интерпретатора макроÑзыка M4, потенциально иÑпользуемого Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñадочных меÑÑ‚. Символ Ð¿Ð¾Ð´Ñ‡Ñ‘Ñ€ÐºÐ¸Ð²Ð°Ð½Ð¸Ñ Â«_» допуÑтим.
  • Любой ÑÑƒÑ„Ñ„Ð¸ÐºÑ Ð¸Ð· Ñтрочных букв игнорируетÑÑ. Таким образом в Ñхему можно добавить 4 диÑкретных Ñлемента И-ÐЕ Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñми U1a, U1b, U1c и U1d. При Ñоздании ÑпиÑка Ñоединений они будут отноÑитьÑÑ Ðº одному поÑадочному меÑту Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ U1.
  • Символы, не входÑщие в ASCII, такие как, например, üöäß, не выводÑÑ‚ÑÑ Ð² pcb.

Ð¡Ð¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾ позиционным обозначениÑм

СущеÑтвует Ñоглашение о применÑемых позиционных обозначениÑÑ… Ð´Ð»Ñ Ñ€Ð°Ð·Ð½Ñ‹Ñ… типов компонентов. ЗдеÑÑŒ приведены некоторые из них3) (? заменÑетÑÑ Ñ‡Ð¸Ñлом):

Обозначение Тип компонента
R? РезиÑтор
RN? Ðабор резиÑторов
FB? Ферритовый фильтр
L? Катушка индуктивноÑти, дроÑÑель
C? КонденÑатор
B? БатареÑ
F? Предохранитель
J? Соединитель, разъём
P? Соединитель, разъём (обычно ÑопрÑгаемый Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ‹Ð¼ как J?)
K? Реле
S? Выключатель, переключатель
T? ТранÑформатор
TP? ÐšÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ°
M? Двигатель
D? Диод
Q? ТранзиÑтор
U? ИС (Ð¸Ð½Ñ‚ÐµÐ³Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ñхема)
X? Кварцевый оÑциллÑтор

slot

Ðтрибут slot= иÑпользуетÑÑ Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° конкретного уÑтройÑтва (Ñекции) в многоÑекционном приборе. Ð’ Ñхеме он должен прикреплÑтьÑÑ Ðº ÑкземплÑру Ñимвола компонента. Ð”Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° Ñекции по умолчанию данный атрибут может задаватьÑÑ Ð² Ñимволе (и еÑли он видим, то при помещении Ñимвола в Ñхему будет вынеÑен, то еÑть прикреплён вне Ñимвола).

net

Ðтрибут net= иÑпользуетÑÑ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñоединений Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¸ Ñпециальных целей. ПодробноÑти Ñм. в Мини-HOWTO по атрибуту net=. ЕÑли данный атрибут находитÑÑ Ð² Ñимволе, он иÑпользуетÑÑ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñоединений. ЕÑли же он прикреплÑетÑÑ Ðº ÑкземплÑру компонента в Ñхеме, то может иÑпользоватьÑÑ Ñ‚Ð°ÐºÐ¶Ðµ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ñ‹Ñ… Ñоединений и Ð¿ÐµÑ€ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑƒÐ¶Ðµ ÑущеÑтвующих.

value

Ðтрибут value= в оÑновном иÑпользуетÑÑ Ð² драйвере генератора ÑпиÑка Ñоединений Ð´Ð»Ñ SPICE Ñ Ñ†ÐµÐ»ÑŒÑŽ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ различных Ñлементов. Он не переводитÑÑ Ð¸ помещаетÑÑ Ð² ÑпиÑок Ñоединений как еÑть.
Примеры:
value=1K
value=10V

symversion

Ðтрибут symversion= иÑпользуетÑÑ Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð²ÐµÑ€Ñии Ñодержимого Ñимвола. Так как по умолчанию Ñимволы в Ñхему не внедрÑÑŽÑ‚ÑÑ, а приводитÑÑ Ð»Ð¸ÑˆÑŒ ÑÑылка на них, то в Ñхеме, иÑпользующей какой-либо конкретный Ñимвол, при изменении файла Ñтого Ñимвола могут возникнуть проблемы. Ðапример, изменение раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² в Ñимволе приведёт к тому, что линии Ñоединений в Ñхеме уже не будут подключены к надлежащим выводам. Ðтрибут symversion= позволÑет отÑлеживать такие разрушительные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² Ñимволах и уведомлÑть Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¾ потенциальных проблемах при загрузке Ñхемы.

Данный атрибут необÑзателен, но при наличии в Ñимволе он должен принимать Ñледующую форму:
Ñтарший_номер.младший_номер,

где Ñтарший_номер и младший_номер — целые чиÑла. Старший номер при вводе новой верÑии инкрементируетÑÑ4) в Ñлучае таких изменений в Ñимволе, которые могут привеÑти к порче ÑущеÑтвующих Ñхем, иÑпользующих предыдущие верÑии Ñимвола. Младший номер инкрементируетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в Ñлучае небольших изменений (изменений, не приводÑщих к порче ÑущеÑтвующих Ñхем, таких как коÑметичеÑкие Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ Ñохранении Ñтруктуры, то еÑть Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð²).

ЕÑли Ñимвол, Ñодержащий данный атрибут, помещаетÑÑ Ð² Ñхему, атрибут symversion= автоматичеÑки «выноÑитÑÑ», то еÑть Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑкземплÑра Ñимвола ÐºÐ¾Ð¿Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° symversion=M.N ÑохранÑетÑÑ Ð½ÐµÐ¿Ð¾ÑредÑтвенно в файле Ñхемы. При загрузке Ñимвола Ñ Ð´Ð¸Ñка значение атрибута symversion= в файле Ñимвола (при его наличии) ÑравниваетÑÑ Ñо значением атрибута, прикреплённого к ÑкземплÑру Ñимвола в Ñхеме. ЕÑли Ñти Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð°ÑŽÑ‚ÑÑ, то libgeda выдаÑÑ‚ предупреждение (при изменении младшего номера верÑии) или ошибку (при изменении Ñтаршего номера верÑии).

Обычно при помещении данного атрибута в файл Ñимвола его лучше Ñделать невидимым. ЕÑли при добавлении Ñимвола в Ñхему в нём найден Ñтот атрибут, то он вÑегда выноÑитÑÑ. Ðе Ñледует прикреплÑть данный атрибут к имеющимÑÑ Ð² Ñхеме ÑкземплÑрам Ñимволов вручную.
Примеры:
symversion=1.1
symversion=2.0

dist-license

Ðтрибут dist-license= иÑпользуетÑÑ Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ð¸, под которой раÑпроÑтранÑетÑÑ Ñимвол или Ñхема. Ð’ нём должна задаватьÑÑ Ð¸Ð·Ð²ÐµÑÑ‚Ð½Ð°Ñ Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ. Вот неÑколько примеров его возможных значений: GPL, GPL version 2 only, GPL version 3 only, public domain, Apache version 2, Modified BSD, X11 и Ñ‚. д.

Перечни ÑущеÑтвующих лицензий можно найти по Ñледующим адреÑам: Перечень лицензий FSF и Перечень лицензий OSI.

use-license

Ðтрибут use-license= иÑпользуетÑÑ Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ð¸, определÑющей, как другие пользователи могут иÑпользовать данный Ñимвол или данную Ñхему в Ñвоих Ñхемах и платах. Вот примеры его значений: unlimited (неограниченнаÑ), personal use only (только Ð´Ð»Ñ Ð»Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ пользованиÑ), not for sale (не Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð°Ð¶Ð¸) и Ñ‚. д.

FIXME: добавить Ñюда набор примеров получше.

УÑтаревшие атрибуты

uref

Ðтрибут uref= уÑтарел и иÑпользоватьÑÑ Ð½Ðµ должен. Он применÑлÑÑ Ð´Ð»Ñ Ñ‚ÐµÑ… же целей, что и refdes=.

name

Ðтрибут name= не должен ни иÑпользоватьÑÑ Ð² Ñимволе, ни прикреплÑтьÑÑ Ð² Ñхеме. СчитаетÑÑ, что такое название атрибута неоднозначно. Данный атрибут никогда не иÑпользовалÑÑ Ð² gEDA/gaf.

label

Ðтрибут label= уÑтарел и иÑпользоватьÑÑ Ð½Ðµ должен. Он применÑлÑÑ Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ð¹/меток Ñоединений и меток выводов. Теперь Ñти функции выполнÑÑŽÑ‚ ÑоответÑтвенно атрибуты netname= и pinlabel=.

pin#

Ðтрибут pin#=# уÑтарел и иÑпользоватьÑÑ Ð½Ðµ должен. Он применÑлÑÑ Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñ€Ñдковых номеров выводов в Ñимволе и номеров выводов Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð°. Теперь Ñти функции выполнÑÑŽÑ‚ ÑоответÑтвенно pinseq= и pinnumber=.

slot#

Ðтрибут slot#=# уÑтарел и иÑпользоватьÑÑ Ð½Ðµ должен. Ранее в нём предоÑтавлÑлаÑÑŒ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ назначении Ñекций компонентов. Теперь Ñту функцию выполнÑет атрибут slotdef=.

type

Ðтрибут type= уÑтарел и иÑпользоватьÑÑ Ð½Ðµ должен. Он применÑлÑÑ Ð´Ð»Ñ ÑƒÑтановки типа выводов. Теперь Ñту функцию выполнÑет атрибут pintype=.

email

Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸Ð· данного атрибута вынеÑена в атрибут author=.

ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ документа

14 Ð¸ÑŽÐ»Ñ 2002 г. Создан attributes.tex из attributes.txt.
14 Ð¸ÑŽÐ»Ñ 2002 г. Документ обновлён Ð´Ð»Ñ Ñинхронизации Ñ post-20020527.
25 авгуÑта 2002 г. Добавлен уÑтаревший атрибут type=.
14 ÑентÑÐ±Ñ€Ñ 2002 г. Добавлен атрибут description=. Ðебольшие иÑправлениÑ
7 октÑÐ±Ñ€Ñ 2002 г. Добавлен атрибут doc=; Egil Kvaleberg.
11 Ñ„ÐµÐ²Ñ€Ð°Ð»Ñ 2003 г. Добавлена ÑÑылка на ÑÐ¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾ поÑадочным меÑтам.
23 Ñ„ÐµÐ²Ñ€Ð°Ð»Ñ 2003 г. Добавлены атрибуты author=, email=, и comment=.
6 Ð¸ÑŽÐ»Ñ 2004 г. Добавлен атрибут symversion=.
10 Ð¸ÑŽÐ»Ñ 2007 г. Добавлены атрибуты dist-license= и use-license=.
1) СÐПР Ñлектроники под лицензией GPL / gschem и друзьÑ. — Прим. перев.
2) Ð¨ÑƒÑ‚Ð¾Ñ‡Ð½Ð°Ñ Ñ€Ð°Ñшифровка. Ðа Ñамом деле раÑшифровываетÑÑ ÐºÐ°Ðº «test pin/point» (ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ°/контрольный вывод). — Прим. перев.
3) Данные ÑÐ¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð² Ñ€Ñде Ñлучаев не ÑоответÑтвуют отечеÑтвенным Ñтандартам, Ñм. ГОСТ 2.710-81. — Прим. перев.
4) УвеличиваетÑÑ Ð½Ð° 1. — Прим. перев.
lepton-eda-1.9.10/docs/wiki/geda-gschem_warmup.html0000644000175000017500000002470513634703632017112 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

gschem Warmup for Beginners

You need to become familiar with doing a few things in gschem, so just run gschem and start playing around:

You get an initial page with menus and a toolbar at the top. As you select operations from the menus, notice that there are usually keyboard shortcuts which can alternatively be used to access the menu functions.

Look at the page and you will see that it contains a title-block. When drawing a schematic, it's a good idea to always start by setting some schematic boundaries to draw within. This is why the title-block is added every time you start gschem to create a new schematic.

Try to zoom in and out the page:

  • Use keyboard shortcut Z to zoom in and Shift+Z to zoom out (or select from menu View→Zoom In or View→Zoom Out). Notice that as you press a key or a key sequence it is displayed in the status bar at the bottom. Notice also that as you zoom in or zoom out the viewable area centers around the mouse cursor.
  • Roll the mouse wheel first without and then with pressing one of the keys Shift or Control to see how to zoom or pan the page.
  • With the mouse in the gschem drawing area, hit the keys VE (or select from menu View→Zoom Extents) to zoom the view to the title-block symbol extents.

I find that using the default B sized title-block lets my schematics print at a nice size on letter sized paper, but let's suppose you don't like it, so you need to remove the old title-block and replace it with another one:

  • Zoom the page to see the whole title-block.
  • Position the mouse pointer at the bottom left of the title-block, then press the left mouse button and drag the mouse to select it.
  • Hit the E Shift+L shortcut (or select Edit→Unlock from menu) to unlock and D or Delete to delete the title-block.
  • Bring up the Select Component window by selecting from the menu Add→Component or hit keyboard shortcut I. Or you could click the add component icon on the toolbar ().
  • In the Libraries list, select Titleblocks (generic).
  • Left click on the little triangle at the left or just double click the library name to open its component list.
  • Select title-A.sym.
  • Move the mouse onto the gschem drawing area and place the title-block symbol by clicking the left mouse button. Then click the right mouse button to abort adding more title-block symbols.

Let's add some components on the page and try to move them around:

  • Back in the select components window, (bring it up again if you closed it), select the Basic devices library and then select the component resistor-1.sym and place a couple of resistors on the schematic with the left mouse button.
  • Right click to abort adding more resistors.
  • Left click on one of the resistors to select it. Notice that it is now an orange color and that indicates it is selected.
  • Left click again anywhere to deselect it.
  • Alternate left clicking on both resistors to select them, but notice that if you don't hit the resistor just right, the title-block is selected instead. We really don't want to ever select the title-block again, so we can lock it to prevent its irritating selection: click so the title-block IS selected, then select Edit→Lock or hit keyboard shortcut EL. Now it's easier to select the resistors as we like.
  • Move the resistors around with the left mouse button.
  • Select a resistor and then rotate with the ER keys or the Edit→Rotate 90 Mode. Notice that it is rotated around the mouse pointer position. If you rotate from menu you have to define the rotation center position by clicking on it. If you don't see where the rotated component is, hit again VE to zoom to the schematic extents.
  • Hit U or Ctrl+Z to undo the last action and Ctrl+Y to redo it again.
  • Move the resistors relatively close together and then zoom in on them.

Now we can add some nets:

  • Place the mouse on one of the resistor pins and hit the N key or click the add net icon on the toolbar () to start adding a net.
  • Move the mouse to a pin on the other resistor and you will see a small circle indicating the place the net will snap. The circle is visible only in magnetic mode which is enabled by default.

  • Left click to attach the net to the pin.
  • Move the mouse slightly and you will see a new net following the mouse cursor. Right click to abort adding new nets.

Look at the toolbar and see that your mode has switched to adding nets. Before you can change resistor selections again, you will have to re-enter select mode with the S key or by clicking the select toolbar icon () or by using the menu Edit→Select Mode. You will have to play with doing things to get used to the gschem modes.

If when you added the net between the resistors you get something that looks like this: it means you missed the pin on the right resistor. The square cue on the end of the pin shows its connectible point and you must start and stop nets with the mouse on this red spot to make a connection to the pin. To correct this:

  • Select the net between the resistors and delete it with the Delete key.
  • Switch again to net mode and try to connect the resistors once more.

Now let's play with attributes:

  • Select a resistor and hit the EE keys. This will pop up the attribute editing window for the resistor. Here you can change existing attribute values or add new attributes with values to the resistor. Practice well with adding attributes and changing attribute values because you will need to be very familiar with managing attributes when using gschem.

Now go back to the tutorial and try working through the simple example there. If you encounter steps that aren't clear, look through the gschem user documentation and attributes documentation. Other gschem documentation can be found on the gEDA Documentation page.


tutorial by Bill Wilson (billw–at–gkrellm.net)

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-components.html0000644000175000017500000002106313634703632020367 00000000000000

Components

A component in a schematic is an instance of a symbol from a symbol library. They can represent subcircuits to be included in the design, or discrete parts or devices to be used.

To add a component to a schematic page, press I or select Add→Component… to bring up the “Select Component…†window. The window has three main areas:

  • The library area is on the left side of the window, and allows you to choose a symbol to place on the schematic page.
  • The preview area is on the right side of the window. This shows a picture of the chosen symbol, and its attributes.
  • The insertion mode menu at the bottom of the window controls how components are inserted.

Components should only be added to schematics, and not to symbols.

Selecting a component you have already used

By switching to the In Use tab of the component selector, you can view a list of the symbols that have already been used in the schematic. To select a symbol from the list, left-click on it.

If the list needs to be updated, click the Refresh button at the bottom of the “In Use†page.

Selecting a component from a symbol library

See Configuring gschem for information on controlling which symbol libraries appear in the component selector.

To select a symbol from a symbol library, switch to the Libraries tab of the component selector. This shows a list of available libraries. To view the symbols in a library, double-click on the library's name, or left-click the arrow next to it. To select a symbol from the list, left-click on it.

Alternatively, you can search all available symbols by typing into the Filter box at the bottom of the Libraries page.

The list of libraries and symbols may need to be updated (for example, if you modified a symbol library while gschem was running). To update it, click the Refresh button at the bottom of the Libraries page.

Placing a component

When you have selected a component, left-click in the schematic view area of the main window to add it to the page. You can continue to click to place copies of the same component, or right-click to finish placing.

To hide the “Select Component…†window while you place components, click OK. When you right-click to finish placing components, the window will re-appear.

Symbol insertion modes and embedding

There are three ways that gschem can insert a symbol into a schematic:

  1. As a component linked to a symbol in the symbol library (Default behavior - reference component). This is the default method, which ensures that when you update a library symbol, all the places it was used are updated too.
  2. As a component with the symbol data copied into the schematic (Embed component in schematic). If you embed the symbol, it is easier to share your schematic with other users without having to set up the same symbol libraries.
  3. As individual objects obtained by breaking the symbol apart (Include component as individual objects).

You can make a linked component embedded by selecting it and using Edit→Embed Component/Picture. To make an embedded component linked, use Edit→Unembed Component/Picture.

If an embedded component cannot be matched up with a symbol from the available symbol libraries, Edit→Unembed Component/Picture will not modify it.

If you wish to update an embedded component after making changes to the original symbol file in the library, use Edit→Update Component.

Editing symbols

To edit a component's symbol file, select the component and use Hierarchy→Down Symbol. gschem will open and display the symbol page for editing. When you are finished editing, save the file and use Hierarchy→Up to return to the schematic. You may need to use Edit→Update Component for your changes to be reflected in the schematic view.

Missing symbols

If, when loading a schematic, one of the symbols it needs cannot be found in the available symbol libraries, a warning graphic will be displayed in its place.

Viewing component documentation

When designing symbols, specify the location of component documentation using a documentation attribute. See also Attributes.

A component may have a datasheet or other documentation associated with it. To view a component's documentation, select it and use Help→Component Documentation.

lepton-eda-1.9.10/docs/wiki/geda-vams_netlister_readme.html0000644000175000017500000005521613634703632020626 00000000000000

VAMS netlister README

VAMS netlister

date: 10 october 2000
gEDA: gnetlist vams mode
first unrevised vams mode documentation


Written by: Martin Lehmann
-------------------------------------------------------------------------


VHDL-AMS support for the gEDA gnetlist tool
-------------------------------------------

CONTENT:

   1. functionality
      1. ARCHITECTURE generation   
      2. ENTITY generation
      3. automatisate gnetlist calls

   2. implementation
      1. the vams mode of gEDA gnetlist
	 1. scheme
	    1. settings and new definition
	    2. gnet-vams.scm
	       1. routines main structure
	    3. helpfully setting in gEDA gschem environment

	 2. new c-code
	    1. routines
	    2. code-adaptation
      
      2. automatic generating gnetlist calls in gEDA gschem
	 1. generated gEDA gnetlist calls
	 2. scheme
	    1. generate_netlist.scm
	    2. settings
	 
	 3. new c-code
	    1. routines
	    2. code-adaptation
   

   The purpose of our endevour, is that gEDA gnelist completly
   supportted VHDL-AMS (VHDL Analog and Mixed-Signal) netlist
   generation. 

   The VHDL-AMS netlist support mode is called vams.


   1. FUNCTIONALITY

   gEDA gnetlist in vams mode allow it to generate a VHDL-AMS
   ARCHITECTURE or an ENTIY declaration. Which of both tasks is
   performed, dependends on the generate-mode variable. This variable
   is defined in the gnetlist command or will be set default.

   If generate-mode=1 (default) gnetlist creates a netlist as an
   VHDL-AMS ARCHITECTURE of the current schematic. Otherwise
   (generate-mode=2), it creates an VHDL-AMS ENTITY declaration of the
   selected component (this task needs information from gEDA gschem,
   see below).

   Now follows a stepwise discription of the program run in both
   submodes.

   We presuppose that you are familiar with the structure of gEDA
   gnetlist usage (otherwise try gnetlist -help) and that you have
   ever seen an VHDL-AMS ARCHITECTURE with its belonging ENTITY. If
   you does not then the following distription will be seems very
   strange to you. Maybe the syntax files (syntax_entity.txt,
   syntax_architeture.txt) can helps you further.
   
   ==================================================================
     
   1.1. ARCHITECTURE GENERATION

   
   We suppose generate-mode is equal to 1, from this it follows that
   vams creates a netlist as an ARCHITECTURE (saved to
   <value-of-toplevel-attribute-entity>_arc.<output-fileextension>).


     ARCHITECTURE <architecture-identifier> OF <entity-identifier> IS 

   The architecture-identifier we are getting from the toplevel
   attribute architecture, which we have introduced. If it is not
   defined, we are setting architecture-identifier default
   (default_architecture).  The same have we doing with the
   entity-identifier (toplevel attribute entity, default_entity).


     {<subnet-object> <subnet-name> : subnet-kind;}
  
   In the signal declaration part all subnets of the schematic will be
   declarated. A subnet declaration consists of an net-object, a
   net-name and a net-kind. All subnets are connected to various
   components pins. If this pins have all the same port-object and the
   same port-kind it is ok, but if one of them different, the net is
   faulty, and will be not declarated. Moreover, if the subnet-object
   a quantity, then it will be checked, whether the subnet consists
   exactly one output pin (port-mode), else the subnet is faulty too.
   The three net attributes (object, kind, mode) we are getting from
   the pin attribs, port_kind, port_object and port_mode (which we
   have introduced newly) of a component pin.

     
     BEGIN
	
   Ok. it's only marks the start of the architecture body.


     {<label> : ENTITY <entity> [(<architecture>)]
	    [GENERIC MAP (<set generic> => <generic-value>
			 {; <set-generic=> <generic-value>})]
            PORT MAP ( <pin-name> => <subnet-name>{; <.. => ..>});}
 
   We only support component instantiation statements, like this
   above, because we generate simple VHDL-AMS netlists. The label of
   an instance is defined from the uref of the instanciated
   component. Watch out, this label must be unique,it is not checked
   anywhere. The entity variable is not the same as the
   entity-identifier, it is the value of the device attribute which on
   its part identifies the precompiled ENTITY of this special
   component. Similar is the architecture variable belonging to the
   instanciated components ARCHITECTURE (note: one ENTITY can have more
   ARCHITECTURES), hence we are getting it from the component
   attribute ARCHITECTURE (newly introduced).

   All generics of the generic-list are component parameters, which
   are different from its default values (set in its ENTITY
   declaration). How can we distinguish them?  All defined generics
   are attached to the component and looks like :

	   <attribute-name>=?<default-value> <- default, not in
					        generic-list 
     
   And if you want to change a parameter, you only must delete the
   ?-character and replace the default-value with your wanted value,
   like this :

           <attribute-name>=<new-value> <- element of generic list 
	   
   If you do it this way, the new assigned value and its attribute-name
   will be appear in the GENERIC MAP (set-generic=attribute-name and
   generic-value=new-value).

   The PORT MAP consists of all pins of a component and which nets
   them connected to. The pin-name is getting from the pin# attribute
   of the pin and the subnet-name means the value of the label
   attribute of a net (mostly default named), which the pin is
   connected to. If the pin directly wired to a PORT component (=
   component, which device attribute =PORT), then we assign the uref
   of this component to subnet-name.


     END ARCHITECTURE <architecture-identifier>;

   I think, this line needs no more explanation. The
   architecture-identifier is the same like in the first line of
   ARCHITECTURE declaration. Hence, the ARCHITECTURE part ends here.

   ==================================================================
     
   1.2. ENTITY GENERATION


   Now, we suppose generate-mode is equal to 2, from this it follows
   that vams creates an ENTITY declaration of a component (save to
   <component-device>.vhdl). If there no component selected (empty
   top-attribs list) then it will be created an toplevel ENTITY of the
   current schematic (save to
   <value-of-toplevel-attribute-entity>.vhdl).


     LIBRARY <library-identifier>{,<library-identifier>};
     USE     <package-identidier>{,<package-identifier>};
 
   Well, the context clause part is not very ingenious. All libraries
   and packages you needs for your simulation you must insert staticly
   (a library contents precompiled ENTITIES, ARCHITECTURES and
   PACKAGES, which are needed from base components [base of the
   hierachical netlist] of your schematic. a package contents
   predefined types, constants, ...).  We are searching for a better
   usability of this part.

     
     ENTITY <entity-identifier> IS 
	 [genric_clause]
	 [port_clause]
     END ENTITY;

   If you want generate a toplevel ENTITY of your current schematic
   then the entity-identifier is defined from the toplevel attribute
   entity of the schematic-file. Moreover, there are no generic_clause
   and no port_clause.

   In case of an component based ENTITY declaration, the
   entity-identifier is getting from the device attribute of the
   selected component (this attribute is included in top-attribs list,
   which is defined in the automatic generated gnetlist command .. more
   about this, later).


     generic_clause :=
	       GENERIC ( <generic-identifier> : REAL := <default-value>
	                {;<generic-identifier> : REAL := <default-value>});

   All needed generic-identifiers and it default-values are getting
   from the top-attribs list. Note: all attached attributes of a
   component appears in the generic_clause, only special attributes,
   like uref, source and architecture, are taked out. The values of
   this attributes are taked from the top-attribs list, too, but it
   does not matter whether the value starts with a ?-character or not
   (?-character always will be deleted, if it exist in front of a
   value).


     port_clause :=
            PORT (<port-kind> <port-identifier> : [<port-mode>] <port-type>
	          {;<port-kind> <port-identifier> : [<port-mode>] <port-type>});

   All variables of this clause are grabbed from the symbol of the
   selected component. Port-kind corresponds with the value of the
   port_kind attribute of the pin, which pin# attribute value is equal
   to port-identifier. Just as corresponds port-type with the the
   value of the pin attribute port_type and port-mode with the value
   of port_mode.
	
   ===================================================================

   1.3. AUTOMATISATING gnetlist CALLS

   Because it is very arduous to type the whole gnetlist command,
   which all its parameters, per hand into the terminal, we are
   implement an automatisation of this process in gEDA gschem. This
   makes it possible to create a VHDL-AMS ARCHITECTURE or ENTITY
   whitout any commandline actions. The only thing you must do, is to
   use one of the following hotkeys:
      
	    <g e> for generating an ENTITY 
	    <g n> for genarating an ARCHITECTURE.
     
	NOTE to <g e> - hotkey : If one component of the schematic
				 selected then the ENTITY generation 
				 will be applied to this component !!

   ===================================================================			

   2. IMPLEMENTATION
     
   At this section it will be explained the basic concept of the
   implementation, which is splited in two sections. The first one
   aimed to the gnelist implementation and the second to the gschem
   implementation. 

     
   2.1. THE VAMS MODE OF gEDA gnetlist

   To realize gnetlist VHDL-AMS support, it was necessary to create
   new scheme and c stuff.


   2.1.1. SCHEME 

   The scheme implementation contents two parts. On one hand the new
   file gnet-vams.scm, which realize the VHDL-AMS-code generation, and
   on the other hand some settings in rc-files.

     
   2.1.1.1. SETTINGS AND NEW DEFINITIONS

   The following lines insert in your gschemrc, or wherever you want,
   but it must be loaded at gnetlist startup.
	 		
	   - load two modules, which we needs in our new implementation.

	     (define-module (ice-9 ls) :use-module (ice-9 common-list)
		                       :use-module (ice-9 string-fun))	   

           - load main file for VHDL-AMS support, which contents the 
	     startup procedure vams.

	     (load "<path_of_gnet-vams.scm>/gnet-vams.scm")


   2.1.1.2. gnet-vams.scm

   This file contents all necessary scheme-functions to generate
   VHDL-AMS-code. Especially, the main procedure vams, which can be
   execute from the gnetlist command.
	 
	 For example : 
	     
		gnetlist -g vams schematic_filename.sch

      ...

      
   2.1.2.1. ROUTINES MAIN STRUCTURE

   the mainly functions structure looks like:

   - (vams output-filename)
 
     ARCHITECTURE generation

	- (vams:write-secondary-unit architecture entity  output-port)

	    - (vams:write-architecture-declarative-part output-port)
		  - (vams:write-signal-declarations output-port)

	    - (vams:write-architecture-statement-part packages output-port)
	          - (vams:write-generic-map output-port package)
		  - (vams:write-port-map package output-port)

     ENTITY declaraction

	 - (vams:write-primary-unit entity port-list generic-list output-port)     
	    
	     - (vams:write-context-clause output-port)

	     - (vams:write-generic-clause generic-list output-port)
		  - (vams:write-generic-list generic-list output-port)

	     - (vams:write-port-clause port-list output-port)
		  - (vams:write-port-list port-list output-port)


   2.1.1.3 HELPFULLY SETTING IN THE gEDA gschem ENVIRONMENT   

   This settings are not absolutly necessary, but they makes work
   easier.

	- set in .gEDA/gschemrc or wherever you want, but place it
	  right.

	   	(attribute-promotion "enable") 	   
		(promote-invisible "enable")
		(enforce-hierarchy "disabled")
         
		(attribute-name "port_object")
		(attribute-name "port_type")
		(attribute-name "port_mode")
		(attribute-name "entity")
		(attribute-name "architecture")


   2.1.2. NEW C - CODE 
      
   To got all informations, which we needed for currently netlist 
   generation, we must implemented two new c - functions.

   
   2.1.2.1 NEW ROUTINES (saved in vams_misc.c)


     SCM vams_get_package_attributes(SCM scm_uref)

   The first function gets all attribute names (not its values) of a
   component. This routine requires the name a component (package),
   especially the uref of it, and returns a list of all attribute
   names which are attached to this package. 

   We needs this functionality to produce a currectly 
   VHDL-AMS GENERIC MAP.
 

     char* vams_get_attribs_list 
	   (OBJECT *object, SCM *list, OBJECT **return_found)

   It exists only for the support of the first function.
	   

   2.1.2.2. CODE ADAPTATION
	 
   To place this new functions at gnetlist scheme's disposal, you must
   perform the following actions.
	 
     (1) gnetlist/src/g_register.c
	 
	   gh_new_procedure1_0 
	       ("gnetlist:vams-get-package-attributes", 
	         vams_get_package_attributes);
	 

     (2) gnetlist/include/prototype.h
	     
	   SCM vams_get_package_attributes(SCM scm_uref);
	     

     (3) edit gnetlist/src/Makefile.in or directly in Makefile
	     
	 (if you have edited Makefile.in you must run make config of
	 course)
	     
	  - add "vams_misc.c" to gnetlist_SOURCES - variable
	  - add "vams_misc.o" to gnetlist_OBJECTS - variable
	     
     (4) copy vams_misc.c to gEDA/gnetlist/src/

     (5) compile your code newly

   ===================================================================	

   2.2. AUTOMATIC GENERATING gnetlist CALLS IN gEDA gschem

   To realize this new feature it was necessary to put more
   information from the schematic to the scheme world of gEDA gschem.
   Concretly, we needs the filename of the current schematic, because
   gEDA gnetlist required it, and the attached attributes of a
   selected component for creating an VHDL-AMS ENTITY.  Hence, the
   gnetlist command is mutated to an unidirectional interface between
   the world of gschem scheme and the world of gnetlist scheme.
   
   There are three important things, which transfer through this
   interface:
   
	(1) the source-file, which contents the complett filename
	    (with path) of the current schematic.

	(2) the top-attribs list, which contents all attached
            attributes of the selected component.

	(3) the generate-mode, which is defined by the users actions.


   2.2.1. STRUCTURE OF gEDA gnetlist CALLS FROM COMMANDLINE OR FROM gEDA
	  gschem.

     typical commandline call :
     
		gnetlist [-o <output-filename>] 
			 -g vams
			 <schematic-file>

   There are nothing to explain. The top-attribs list and the
   generate-mode variable are default defined ('() and 1).


   calls from gEDA gschem (3 possible variations) :


   Note: vhdl-path is a predefined variable, which is set in
	 generate_netlist.scm first times. You can it simple redefine
	 in your local gschemrc file, which is loading everytimes you
	 starts gEDA gschem.

     
     (1) hot-key-stroke: - g n  (generate netlist)
	 
	 --> generates a netlist of the current schematic. 
	     
	 
	     gnetlist -o <vhdl-path>/<target-file>
		      -g vams
		      <source-file>

          The source-file variable is equate to the complett
          path+filename of the current schematic, which we get with
          help of a self coded c function. If you cut out the filename
          of the source-file variable (source-file without path) then
          you are getting the target-file.generate-mode and
          top-attribs are default again.

      (2) hot-key-stroke: - g e (generate-entity) 
	  and no component is selected.  
	  
	  --> generates an toplevel ENTITY of the current
	      schematic.


	      gnetlist -c <scheme-comm>
		       -o <vhdl-path>/<target-file>
		       -g vams
		       <source-file>

		  scheme-comm="(define top-attribs '<top-attribs>)
			       (define generate-mode '2)"

	   
	   Source-file needs no comment, because it is the same as in
	   (1). To get all attributes of a selected component, we are 
	   must write a new c function again. The values, which we get 
	   from this new function are saved in top-attribs. The sense
	   of the scheme-comm command is to put top-attribs and 
	   generate-mode from the gschem to the gnetlist environment.
	   At last, the target-file consists of the pure basefilename
	   of the source-file and an .vhdl extention.

       (3) hot-key-stroke: - g e (generate-entity)
	   and only one component is selected.

	   --> generates an ENTITY of the selected schematic.


	       commandline is the same as in (2).

	   
	   Differences: The target-file is different, but it does not
	   matter, because gnetlist generate an new output-filename in
	   in this case (<device-name-of-selected-component>.vhdl,
	   normally).But one fact is very important: the top-attribs
	   variable includes all attached attributes of the selected
	   component now.

   2.2.2. SCHEME

   The gnetlist command is generating from two scheme functions, which
   are saved in generate_netlist.scm. This functions starts if the
   gschem user is typing one of the specified hot-keys ([g e] starts
   generate-entity and [g n] starts generate-netlis). Both routines
   puts the whole gnetlist command together and execute it. The syntax
   you see above.


   2.2.2.1. generate_netlist.scm


   2.2.2.2. SETTINGS

   If you want use the new feature then you must do some entries in one
   of your gEDA gschem rc-files

     necessary defines:

	 - in system-gschemrc 
	 	   
		    ("g" . gnetlist-keymap)

	   Edit your global-keymap and if "g" always defined then find
	   out an other free hot-key-stroke.
 
	   Note: the documentation supports the "g" - key only.
	 

         - in one of the gschem startup files
		    
 	     (define gnetlist-keymap
	       '(("n" . generate-netlist)
		 ("e" . generate-entity)))


     loads :

	    (load "/home/fliser3/.gEDA/generate_netlist.scm")
	    
	    
   2.2.3. NEW C-CODE
   
   The c-code makes it possible to get directly informations from the
   gschem tool, which is necessary for the online execution of
   gnetlist.


   2.2.3.1. ROUTINES

   It exists two new c-functions. Both are put down in
   misc_for_gnetlist.c.

   
     SCM get_selected_filename(gpointer data,		
			  guint callback_action,	
			  GtkWidget *widget)

   This function returns the whole filename of the current schematic,
   which is picked from the w_current->page_current->page_filename
   string.


     SCM get_selected_component_attributes(gpointer data,		
				      guint callback_action,	
				      GtkWidget *widget)

   How the name is saying, this functions returns all attributes of
   the selected component. It is realized with a simple while loop
   over all objects of the schematic, which picked out all elements
   where the selected flag is set.


   2.2.3.2. CODE-ADAPTATION

   Here are some actions you must conclude to makes the software
   runable.

   (1) new lines in /gschem/src/g_register.c

	gh_new_procedure0_0 ("get-selected-filename",g_get_selected_filename);


   (2) new lines in /gschem/include/prototype.h

	SCM g_get_selected_filename();


   (3) copy the file misc_for_gnetlist.c to gschem/src 

   (4) add in file /gschem/src/Makefile.in or directly in Makefile.

       (if you have edited Makefile.in you must run make config of
       course)

	- add "misc_for_gnetlist.c" to gschem_SOURCES - variable
	- add "misc_for_gnetlist.o" to gschem_OBJECTS - variable

   (5) add new lines in /gschem/src/g_key.c
	
	 SCM g_get_selected_filename(void)			
	 {							
	   return (get_selected_filename(window_current, 0, NULL));
	 }


   (6) compile your changed c-code newly

VAMS netlister syntax architecture

ARCHITECTURE <architecture-identifier> OF <entity-identifier> IS 
 
      {<subnet-object> <subnet-name> : subnet-kind;}

BEGIN

  {<label> : ENTITY <entity> [(<architecture>)]
	    [GENERIC MAP (<set-generic> => <generic-value> 
			 {; <set-generic=> <generic-value>})]
            PORT MAP ( <pin-name> => <subnet-name>{; <.. => ..>});} 

END ARCHITECTURE <architecture-identifier>;

VAMS netlister syntax entity

LIBRARY <library-identifier>{,<library-identifier>};
USE     <package-identidier>{,<package-identifier>};

ENTITY <entity-identifier> IS 
   [GENERIC ( <generic-identifier> : REAL := <default-value>
	    {;<generic-identifier> : REAL := <default-value>}); ]
   [PORT (<port-kind> <port-identifier> : [<port-mode>] <port-type>
	{;<port-kind> <port-identifier> : [<port-mode>] <port-type>});]
END ENTITY;
lepton-eda-1.9.10/docs/wiki/geda-faq-gschem.html0000644000175000017500000015774113634703632016273 00000000000000

Translations of this page are also available in the following languages: Français, РуÑÑкий.

General

I found a bug! What can I do about it?

  1. See if you can reproduce the bug.
  2. Ask on the geda-user mailing list if there is a work around, or has been dealt with in the bleeding edge version of gEDA/gaf. Note, that you must subscribe to the geda-user e-mail list before you can post to this list.
  3. See whether the issue is already in the bug tracking system of geda/gaf. If not, file a bug report. Make sure to give all information necessary to reproduce the bug and add the version of gEDA/gaf that contains the bug.
  4. Finally, as with all open source projects, you may flex your programming muscles and try to fix the bug yourself. Please file a patch of the changes you had to make to the BTS of geda/gaf. The patch will be gladly accepted to improve the next release of gEDA/gaf.

Gschem usage

There is no symbol in the chooser dialog!

The chooser dialog presents a list of captions of the library sections. Click on the right-pointing triangle to the left of caption. This will expand the list. Scroll down to the symbol you want to add to the schematics.

How do I move a component?

  1. Select the component by clicking it with the left mouse button. The component will highlight.
  2. Drag the component (using the left mouse button) to the place you want it.

How do I move components without dragging a tail of connected nets?

Type [or] to toggle this behaviour. That is, the “o†key followed by the “r†key. The status window will report if the toggle command was performed. The command can also be accessed via the Options menu.

How do I change the size of the text on a symbol?

  1. Select the symbol.
  2. Right click → down symbol (or do Hierarchy → down symbol). This takes you to the symbol editor.
  3. Select the pinnumber you want to change.
  4. Do Edit → Edit Text (or type keyboard shortcut “exâ€).
  5. Change the font size in the pop-up box.
  6. Repeat for all desired text elements.
  7. File → save
  8. Right click → up (or Hierarchy → Up). Now you are back in the schematic editor.
  9. With the symbol still selected do Edit → Update component (or use the keyboard shortcut “epâ€). If this doesn’t work, just delete the symbol and reload it.

More generally, you can use this procedure to edit anything on a symbol. (Substitute “Edit Text†for your desired edit, of course.)

Is it possible to overline text in gschem?

Yes, overbars are possible. A backslash followed by an underscore will start an overlined section of text. A second backslash-underscore combo will return to normal text. Example: Double click on an attribute and type “\_this\_â€.

Note, on transfer to pcb, there will be no overline on the layout.The backslash is ignored, which leaves an underscore at the edges of the overlined text.

How do I unlock a locked component

When a component is locked it cannot be selected with the middle mouse button; however it is selectable using a window select. To window select a component, click and hold the left mouse button and drag the mouse to create a rectangular region containing the component to be unlocked. Execute the command Edit → unLock to unlock the component.

How can I get refdes automatically numbered when I draw a schematic?

Edit the system-gschemrc file or place the following into a gschemrc file (either ~/.gEDA/gschemrc or a gschemrc file in the local directory where you invoke gschem):

(load (string-append geda-data-path "/scheme/auto-uref.scm")) ; load the autonumbering script
(add-hook! add-component-hook auto-uref)       ; autonumber when adding a component
(add-hook! copy-component-hook auto-uref)      ; autonumber when copying a component

What is a Bus and how do I use it?

A 'bus' is purely decoration. The netlister ignores it. The netname= attribute does actual work of connecting points together–this is what gnetlist reads and transforms into your netlist. It is not possible to connect to a discrete line or 'bit' on a bus because, again, the bus is merely a graphical entity.

Some users have found it helpful to organize their nets by incorporating a bus name into the net name. For example “net=busA:1†may be added to each busripper to aid in sorting out the nets.

What are the mouse bindings in gschem?

By default you get:

  • Left mouse button is used for picking and drawing.
  • Middle mouse button is either move object (just hold down the middle button over an object and move the mouse) or copy object (ALT key held down while holding down the middle button over object and move the mouse).
  • Right mouse button is a popup menu.

You can change the middle button by adding the following to a gschemrc file:

(middle-button "action")   ;default binding, move or copy an object

or:

(middle-button "stroke")   ;draw mouse gestures/strokes (must install libstroke to enable

or:

(middle-button "repeat")   ;repeat the last command executed

You can change the right button by adding the following to a gschemrc file:

(third-button "popup")     ;default binding, show a popup menu

or:

(third-button "mousepan")  ;use the mouse to pan around the schematic

For more information on these options, please see the ${install_prefix}/share/gEDA/system-gschemrc file.

Can gschem do hierarchical designs with sub sheets?

Yes. Sub sheets are represented by special symbols on the top level schematic. You can find an example for a hierarchical design in the doc section of gschem (geda-doc/examples/gTAG/gTAG.sch). Currently, there is no way to automatically build a sub sheet symbol from an actual sub sheet. The sub sheet symbol has to be drawn manually. Any patches or external scripts that get the job done would be greatly appreciated.

A source= attribute attached to the sub sheet symbol gives the path to the sub sheet file. The pins of the symbol correspond to ports from top sheet to sub sheet. These ports should correspond to a refdes of a port symbol on the sub sheet. The port symbols in the default library of geda are in-1.sym and out-1.sym. Use the hierarchy menu to navigate within the hierarchy of sub sheets. Alternatively, you can navigate with the page manager.

To convert a hierarchy to a netlist just call gsch2pcb on the top level schematic. By default, net names and refdes's of components are strictly local to the subsheet. They get the sub sheet symbol refdes as a prefix when inserted into the net list. You can even use multiple instances of a sub sheet symbol without undue short cuts. Whether or not net names and refdes's are mangled and thus local to the sub sheet can be configured in the config file gnetlistrc. Copy the corresponding lines from system-gnetlistrc to gnetlistrc in the current working directory or to $HOME/.gEDA/gnetlistrc. A convenient configuration is to make nets delivered by power symbols global while ordinary nets remain local to the sub sheet. This can be achieved with “hierarchy-netattrib-mangle†enabled.

Can gschem do a hierarchy where the top-level symbol points to a multi-page schematic?

Yes. Just attach the source= attribute multiple times with different values. Drill down into the schematic from the symbol, then use [page-up] / [page-down] to navigate through the pages on that level.

Can the hierarchy be setup in multiple directories?

Yes. Make sure, the (source-library â€â€¦â€) and (component-library â€â€¦â€) declarations in your gafrc file list the appropriate paths.

How do I declare a global net

All netnames are global with regard to the current sheet. Whether or not netnames are global in a hierarchical stack of schematics, depends on the settings in gnetlistrc. This file can reside in $HOME/.gEDA or locally next to the schematics. Defaults are set in system-gschemrc. Copy the respective lines to your local gnetlistrc, if you want a different behavior.

There is no way to make individual netnames global. However, you can differentiate between netnames granted to nets the netname attribute and netnames defined by the net attribute. This aims at power symbols, which set their net with the net attribute. That way, you don't need to hand the power nets in the sub sheet symbols.

How can options and libraries be specific on subsheet level?

When opening schematics, libgeda changes directory. So it should load any gafrc in the sub-dirs too, as and when the schematics are processed.

Are there limitations to hierarchy design?

Although support for subsheets covers many aspects of hierarchical design, there are some limitations:

  • Buses cannot connect into subsheets.
  • There is no GUI way to start subsheets. You need to manually create a separate symbol for each subsheet.

Feel free to fix these issues. Contributions are welcome.

gschem symbols

Where do I find symbols beyond the default library?

There is a website gedasymbols.org dedicated to user contributed resources for gEDA. You can search the site, preview symbols and download them individually. If you have configured your gafrc files accordingly you can put the symbols right next to the schematics file of your project. You might want to build a local library of symbols, so all projects can access the new symbols. See below for the details.

You can even download all user contributed content from gedasymbols. See the instructions on how to access gedasymbols using CVS.

What's this business about heavy vs. light symbols?

This nomenclature arose from a discussion which frequently appears on the geda-user and geda-dev mailing lists. A light symbol is one which contains very few built-in attributes in the symbol itself. It requires that the user attach almost all attributes at the schematic level (e.g. using either gschem or gattrib). A heavy symbol is one which contains many attributes (such as package footprints, SPICE model names, etc.) built into the symbol file itself. A heavy symbol therefore requires very little attribute attachment at the schematic level – you just place it and you’re done.

The debate between proponents of heavy and light symbols is very detailed and involved. Briefly, proponents of heavy symbols believe that they provide better integration between gschem and PCB since the important layout attributes (such as footprint name) are already built into the symbol. This is considered a good thing for new users (noobs) who just want to design a simple board and don’t appreciate or don’t care about the zillions of variations that even a simple resistor might have (e.g. different footprint, TCR, precision, material composition, etc). Proponents of light symbols prefer to deal with attributes at the schematic level because they believe it to be more flexible. They are quick to point out that a library of heavy symbols will quickly grow into the thousands of parts with grotesquely long names trying to distinguish between the different variations of the part. They also point out that the utility “gattrib†is the preferred tool for dealing with attributes at the schematic level (i.e. in the .sch file).

GEDA/gaf, as default configured, uses light symbols, although it can be configured to use heavy symbols. For further information, you may read these discussions from the geda-user mailing list:

http://archives.seul.org/geda/user/Jun-2005/msg00001.html

http://archives.seul.org/geda/dev/Oct-2005/msg00043.html

http://archives.seul.org/geda/user/Dec-2007/msg00146.html

I am loaded a symbol from the library. How come it is not aligned to the grid?

The vast majority of symbols in the library is designed for 100 units grid. Make sure, your grid is set to 100 units. Choose “Snap_Grid_Spacing†in the options menu for a dialog to check and change the grid.

The symbols in the symbol library, were contributed by users just like you. Some people use different grid settings than other people (e.g. 50 units rather than 100). If you discover a symbol which seems to be off the grid, try to reduce your grid spacing and move the hot spots of the pins so that they sit on the grid. Then revert to your preferred grid settings. In addition, you may send the corrected symbol to the mailinglist geda-user

The symbols at gedasymbols.org are even more adapted to the specific preference of their author. Yes, the gEDA docs strongly suggest that symbols use 100 units grid spacing. But everybody likes to do things their own way, and there is no overall symbol dictator to enforce the rules on contributed symbols. That said, the vast majority of symbols out there conform to the recommendation. You just need to be aware of this possibility.

Is there an explicit "no connect" symbol that I can/should place in the schematic to prevent gnetlist from thinking I've forgotten a connection?

Answer: misc → nc-left, nc-right, nc-top, nc-bottom.

Caution: occasionally this may create a net called “no_connect†(or “NC??â€) which may lead to no-connect pins being connected together in gnetlist – which you probably don’t want to happen.

If you want an entire symbol to be graphical (no elec. connections) , add a “graphical=1†attribute. The netlister will ignore these symbols entirely.

How do I promote an invisible symbol attribute into the schematic?

Most attributes living in the symbol do not get promoted to the schematic unless they are visible. To promote invisible symbol attributes, look for the following keywords in the system-gafrc file:

(attribute-promotion "enabled");
(promote-invisible "disabled") ; ⇠This one
(keep-invisible "enabled")

Add to your gafrc file:

(promote-invisible "enabled")

and you will get all the attributes promoted. The “keep-invisible†keyword will keep hidden those attributes that are hidden in the symbol file.

What should I do about power pins on my symbols: Make them visible (explicit) or invisible (implicit)?

In the past, digital logic circuits often hid the power pin, and attached power nets using an attribute inside the symbol. Modern thought is that this is a bad practice (although religious wars still occasionally rage about this topic).

It’s marginally OK for an old logic circuit which is all 5V TTL to have hidden power and GND pins. If you only have +5V on your board, then hiding the power pin can simplify your schematic somewhat. However, few designers design such circuits nowadays; 5V TTL (and 5V CMOS) are rapidly becoming antique technologies.

It’s always been unacceptable to hide the power pins on analog chips. First, analog often has multiple power connections (VCC, VEE) which need to be explicitly drawn out. Second, good design practice is to place decoupling caps on each and every power pin. Sometimes one places an inductor in series with power also. Since these should be drawn into the schematic, it is best done by attaching them to an explicit power pin. Therefore, one should never use hidden power pins for analog symbols.

New logic circuits often use multiple supplies for different chip sections (OVDD, DVDD, etc). It is also typical to have several logic families on a single board (5V, 3.3V etc.). Therefore, it’s best to explicitly place and wire the power pins on the symbol. Hidden power pins are a recipe for disaster since you can all too easily misconnect a 5V part to a 3.3V power net, for example.

To paraphrase Nancy Reagan: Just say “no†to hidden power pins.

That said, it may still be useful to detach the power pins from the functional part of the symbol. To do so, define a separate power symbol and give it the same refdes as the functional part. A run of gsch2pcb will treat the siblings properly as one single component. As neither gschem nor gsch2pcb explicitly know that the component is only complete with both symbols defined, you have to check yourself. With this workaround, you can draw all power related circuitry in one corner of the schematic where it does not interfere with the signal nets. In many cases this is advantageous with analog circuits.

Is it possible to have zero length pins?

You can set both ends of the pin to the same coordinate. This will give you a pure red marker without a pin extending from it. Currently, the GUI won't let you draw such a pin. Append the following line to a symbol file in a file editor:

P 100 100 100 100 1 0 0

This is a zero size pin at the bottom left of the canvas. You can move it around, attach attributes, or copy it like any other pin. Unattached, it looks like a little red flag, while with a net attached it disappears. Gnetlist has no trouble treating it as a pin.

Is there a specification or manual for creating gschem symbols? Where is it?

Yes. It is the Symbol Creation Guide.

Is there a symbol wizard in gschem?

There is no wizard included in the gschem-GUI. But there are scripts which automatically create symbols from parameters given in a config file. One of these scripts is tragesym. It is part of the default installation of geda. A short tutorial will get you started with this tool.

One of the major contributors to the project wrote his own symbol creation script: djboxsym

Additionally, there is a tool (ibs2symdef.py) for generating symdef files for use with djboxsym from IBIS models. It is distributed with the PyBIS project: PyBIS wiki

Check the gschem symbol generators page for others generators available.

Where can I find information on gschem's file format?

Unlike many other EDA software, the format of gschem is strictly human readable ASCII. This is deliberate, to facilitate scripting. It also allows for quick fixes with the text editor. The format of gschem files is described here.

Why are symbols so big?

There is nothing in gschem that defines the absolute size of objects. The only connection to real world units is the file name of the various title blocks. For some long forgotten reason, the frame of the title block symbols named “title-A4.symâ€, or “title-B.sym†can contain only relatively simple circuits made of the symbols in the default library. If you'd like to put a frame around more complex circuits just choose a title page symbol that fits.

When printing, gschem scales the output so that everything fits within the desired paper format. This paper format is completely independent of the title page symbol used in the schematic. So there is no need to scale the symbols themselves to make them fit a particular paper size. Most people prefer to use title-A2.sym or title-A3.sym when printing to A4 sized paper. Some use title block symbols with no frame at all and draw a rectangle as needed (e.g. title-block.sym by Kai-Martin Knaak).

That said, there may be circumstances where you actually want scaled symbols. There is a number of options to achieve this:

  • DJ Delorie contributed a Perl script called scale-schematic on his pages in gedasymbols.org.
  • Build your own library of symbols. This is not that far off, since many people end-up using exclusively their own symbols anyway.

Gschem configuration/customization

Gschem is configurable in more ways than can be described here. Look at “system-gschemrc†for suggestions what else can be done.

How do I configure my local gafrc to find my local symbol directory?

  1. Create a project directory, for example ${HOME}/myproj.
  2. Place the symbols you want to use into ${HOME}/myproj/symbols.
  3. Create a gafrc file in ${HOME}/myproj.
  4. In gafrc, put this line:
     (component-library "./symbols") 
  5. Run gschem from your project directory ${HOME}/myproj. That is, do this to run gschem:
    cd ${HOME}/myproj
    gschem myschematic.sch

Points to remember:

  • The guile stuff which processes your RC file doesn't understand or expand shell wildcards like â€~†or ${HOME}. It does understand â€.†as the current working directory, and it does understand absolute file paths. If you want to do something tricky, you can try to use Scheme functions to get directory information.
  • Make sure gafrc lives in your main project directory.
  • Run all gEDA programs from your main project directory.
  • Run the programs from the command line in a terminal shell – don't use any whizzy, shiny desktop icons to run gschem (if you have them) since you won't know what directory gschem is starting in, and gschem might not find gafrc.
  • The key is: start gschem in the same directory as where your gafrc lives.

How can I set the root of my library?

There are two approaches. If you want each of your library to have a unique name, you have to set it individually for each and every directory of your local lib in your gafrc file. However, you don't have to repeat the absolute base path over and over. You can use the function 'build-path' to concatenate the path on the fly:

(define gedasymbols "/path/to/local/library")
(component-library (build-path gedasymbols "analog"))
(component-library (build-path gedasymbols "block"))
(component-library (build-path gedasymbols "connector"))

If you don't want to list separate subdirectories, you can only set the name of a root directory using:

(component-library-search "/path/to/local/library" "library:")

Can the library path contain environment variables?

Use getenv “ENV†to refer to the environment variable ENV inside the scheme stanzas of gafrc lines:

; Define a path to the local repository:
(define symbolspath (build-path (getenv "HOME") "geda" "symbols"))
; Use the path to point to a specific component-library:
(component-library (build-path symbolspath "analog"))

An alternative syntax is ${ENV}:

(component-library "${HOME}/geda/symbols/analog")

Is there a way to give a library a name that differs from its directory?

Add a third argument to the component-library stanza in gafrc, e.g.:

(component-library "/home/comp/sch_symbols/AutoGen/Panasonic/0603/1P" "Panasonic 0603 1P")

Can my local library cover frequently needed sub circuits?

Yes, symbols can contain symbols and nets.

  1. Copy the subcircuit to a fresh sheet. (unlock and remove the default title block as you won't need it)
  2. The values of refdes attributes should end with â€?â€, to allow to auto number them later.
  3. Move the sub circuit to the lower left of the available space. (You can use symbol-translate from the edit menu)
  4. Save the sub circuit as a *.sym file in your local library.
  5. Choose “Include component as individual objects†when selecting this complex symbol for your actual schematic. The whole sub circuit will be pasted to your sheet. Be sure to switch back to the default mode for inclusion of ordinary symbols.

The library window is cluttered with default symbols. Can I restrict to my local lib?

Put a localized version of the following lines in a gafrc.

; empty the library path and populate it with local paths
(reset-component-library)
(component-library "/foo/localgedalib1")
(component-library "/bar/foo/localgedalib2")

You can either add directories of your local library separately or add a whole tree with subdirs. See above on how to do this. It's a good idea to place this gafrc in your project's dir. That way, if you start gschem from some other place, you still get the system symbols shown. This also allows to configure special symbol libs for specific projects.

How can I change the default size of floating text?

Put

(text-size 10)

into your gschemrc and replace “10†with your favorite size.

Can I have light background color, please?

Put this line in a gschemrc file at a place where gschem looks at start-up:

(load (build-path geda-rc-path "gschem-colormap-lightbg"))

How can I tweak colors in gschem?

Currently, there is no GUI to tweak the colors of gschem interactively. However, you can set them in a RC file.

  1. Copy the file gschem-colormap-lightbg or gschem-colormap-darkbg to $HOME/.gEDA/mycolors.
  2. Edit the settings in .gEDA/mycolors to please your taste.
  3. Add this line to your gschemrc:
(load (build-path (getenv "HOME") ".gEDA" "mycolors"))

Each time I start gschem, the log message window is shown. Can I disable it?

In the system-gschemrc file, you will find the following section:

; log-window string
;
; Controls if the log message window is mapped when gschem is started up
; Possible options:
;       startup - opened up when gschem starts
;       later   - NOT opened up when gschem starts
;                 (can be opened by Options/Show Log Window)
;
(log-window "startup")
;(log-window "later")

Comment out the startup line (with a ;) and comment in the later line, or add the following line to your gschemrc file:

(log-window "later")

If you want to see the logging messages on stdout instead of the log window, put this line in your gschemrc file:

(logging-destination "tty")

Is there a way to disable logging to $HOME/.gEDA/logs/ ?

Put this line in your gschemrc file:

(logging "disabled")

Can I get a customized title block with new schematics?

Put the following line into your gschemrc file:

(define default-titleblock "title-A3.sym")

Replace “title-A3.sym†with the file name of your favorite title block symbol.

Printing/Output

How do I print schematics from the command line?

PostScript or PDF files of schematics can be created from the command line using the gaf export tool.

The command line below creates a PDF file from a schematic file (replace MY_SCH with the name of your schematic):

gaf export -o MY_SCH.pdf MY_SCH.sch

The bash script below, which I name gschem-print, creates a Postscript file for each schematic file that is specified on the command line and then outputs each Postscript file to the default printer:

#!/bin/bash

# 'gaf export' options
# -oPS_FILENAME output to Postscript file PS_FILENAME

for name in $*
do
    base="${name%.*}"
    gaf export --output=$base.ps -- $base.sch
    lpr -P$PRINTER $base.ps
done

The paper size can be adjusted using the -p option. To set the paper size to A4 use something like:

gaf export --paper=iso_a4 -o MY_SCH.pdf MY_SCH.sch

To set the preferred paper size to “US Letter†for all schematics you open, run:

gaf config --user export paper na_letter

How can I get color PDF/PNG output?

Edit the system-gschemrc file or place the following into a gschemrc file (either ~/.gEDA/gschemrc or a gschemrc file in the local directory where you invoke gschem):

(print-color "enabled")      ; for color PDF output
(image-color "enabled")       ; for color PNG output (enabled by default)

How can I get black and white postscript/PNG output?

For black and white PS output, place the following into a gschemrc file:

(output-color "disabled")      ; for monochrome postscript output

For black and white PNG images, place the following into a gschemrc file:

(image-color "disabled")       ; for monochrome PNG output

How can I produce PDF output?

Use File→Write image… to show the “Write image…†window. This gives the option to export to PDF.

Alternatively, run:

gaf export --output=foo.pdf bar.sch

How can I insert schematics into my LaTeX document?

For use with normal the latex command, you will need an EPS (Encapsulated PostScript) file. For pdflatex, you will need a PDF file. To generate an appropriate file, run:

gaf export --size=auto --output=foo.eps foo.sch

or:

gaf export --size=auto --output=foo.pdf foo.sch

Add usepackage{graphicx} to the preamble of your LaTeX document. Use the command includegraphics to place your schematic.

A simple example:

\documentclass{article}
\usepackage{graphicx}
\begin{document}
  \begin{figure}
  \includegraphics[width=100mm]{foo}
  \end{figure}
\end{document}

How can I split Postscript output over multiple pages?

gschem does not provide this functionality internally, however there is a program called “poster†which does exactly this. It can be downloaded from either here (GNU) or here (KDE Print).

Gschem installation/run-time problems

After installation gschem does not work!? What could be wrong?

If you run gschem and you get a window without a menu bar, no colors, and the program terminates when you press a key with the following message:

ERROR: Unbound variable: current-keymap

Or you get errors like this:

Gtk-CRITICAL : file gtkpixmap.c: line 97 (gtk_pixmap_new): assertion `val != NULL’ failed.
Gtk-CRITICAL : file gtkpixmap.c: line 97 (gtk_pixmap_new): assertion `val != NULL’ failed.
Tried to get an invalid color: 0
Tried to get an invalid color: 7
Tried to get an invalid color: 0
Tried to get an invalid color: 7

then gschem is not finding an rc file. There are two required rc files. The first is system-gschemrc and the second is system-gafrc.

  • The system-gschemrc rc file should be installed when you install gschem and typically resides in ${prefix}/share/gEDA/system-gschemrc. ${prefix} is where you installed gschem (usually /usr or /usr/local or $HOME/geda). This file can also be installed in /etc/gEDA (the .debs packages do this).
  • The system-gafrc rc file should be installed when you install the libgeda shared library gEDA/gaf. It resides in ${prefix}/share/gEDA/system-gafrc. This file can also be installed in /etc/gEDA (the .debs packages do this). This file is not loaded directly by gschem.

Make sure these file are installed. The gschem.log file (which is created everytime you run gschem) holds valuable debugging information which should help in determining what is wrong. Check this file for where gschem is looking for the rc files.

Also, some older releases of gEDA/gaf had some bugs when the rc files were installed in other locations (other that ${prefix}/share/gEDA), so please upgrade to a more current release.

"Add Components" offers no symbols! What can I do about it?

Make sure that at least one of your config files contains a valid path to a symbol library. At startup, gschem checks for the following config files (on a Debian system):

  1. distributed system-wide gafrc file: /etc/gEDA/system-gafrc (will be overwritten on update)
  2. local system-wide gafrc file /usr/share/gEDA/gafrc.d/gafrc (with geda versions after summer 2009)
  3. user gafrc file: ~/.gEDA/gafrc
  4. local gafrc file: $PWD/gafrc
  5. system gschemrc file: /etc/gEDA/system-gschemrc
  6. user gschemrc file: ~/.gEDA/gschemrc
  7. local gschemrc file: $PWD/gschemrc

All of these config files may or may not append paths to the library search list. If a config file contains the command

(reset-component-library)

the library search path will be emptied. Order is obviously important, as this command will erase any previously appended paths.

I'm using gschem/gaf through a SSH connection and I get an error like: 'Xlib: extension "RENDER" missing on display "localhost:10.0".'

If you are getting into the remote machine by doing:

$ ssh -X your_username@your_remote_machine

and afterwards you get the Xlib RENDER message, then try using:

$ ssh -Y your_username@your_remote_machine

The latter enables trusted X11 forwarding.

lepton-eda-1.9.10/docs/wiki/geda-scm.ru.html0000644000175000017500000010371313634703632015455 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

gEDA/gaf и git

Ð’ gEDA Ð´Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ñходными текÑтами программ иÑпользуетÑÑ git. git — Ñто раÑÐ¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ ÑиÑтема ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²ÐµÑ€ÑиÑми, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñет каждому пользователю иметь Ñвою ÑобÑтвенную полную копию иÑтории изменений проекта.

УÑтановка git и других вÑпомогательных программ

Конечно, в первую очередь Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ñ‹ оÑновные инÑтрументы git, и вÑегда полезна документациÑ. Ðо чаÑто Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ git удобно пользоватьÑÑ Ð¸ другими ÑредÑтвами:

  • gitk, программа проÑмотра иÑтории репозиториÑ
  • Stacked Git, Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ð½Ð°Ð±Ð¾Ñ€Ð°Ð¼Ð¸ заплат

Ð”Ð»Ñ Ð´Ð¸Ñтрибутивов на оÑнове Debian:

apt-get install git-core git-doc gitk stgit

Ещё может пригодитьÑÑ Ñледующее:

apt-get install git-email git-completion

Fedora Linux:

yum install git stgit

Изучение git

Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ñтраница документации git:

РуководÑтво Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ git:

Текущее руководÑтво можно найти по ÑÑылке:

Другие замечательные руководÑтва/веб-Ñтраницы:

Имейте в виду, что некоторые из Ñтих руководÑтв немного уÑтарели и могут не ÑовÑем полно отражать текущий ÑинтакÑÐ¸Ñ git.

Ðнонимный доÑтуп к репозиторию

Клонирование (Ñоздание точной локальной копии) Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ geda-gaf.git (или любого другого репозиториÑ, поддерживаемого на git.geda-project.org) Ñ Ð¸Ñпользованием анонимного доÑтупа git производитÑÑ Ñ‚Ð°Ðº:

git clone git://git.geda-project.org/geda-gaf.git

или

git clone git://git.geda-project.org/pcb.git

Ð”Ð»Ñ ÐºÐ»Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… репозиториев, поддерживаемых на git.geda-project.org, доÑтаточно поправить поÑледнюю чаÑть вышеуказанной ÑÑылки.

Ð”Ð»Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸ÐµÐ² различных проектов ÑущеÑтвует cgit-интерфейÑ. Открыть его можно, проÑто набрав в Ñтроке адреÑа браузера http://git.geda-project.org/.

ДоÑтуп к репозиторию Ñ Ð¿Ñ€Ð°Ð²Ð°Ð¼Ð¸ на запиÑÑŒ

Ð”Ð»Ñ Ð´Ð¾Ñтупа в git Ñ Ð¿Ñ€Ð°Ð²Ð°Ð¼Ð¸ разработчика вам нужно ÑвÑзатьÑÑ Ñ DJ Delorie, чтобы он уÑтановил ваш открытый ключ SSH на Ñервере, поÑле Ñтого Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ Ñвоих изменений можно иÑпользовать Ñледующие адреÑа:

ssh://git@git.geda-project.org/geda-gaf.git

или

ssh://git@git.geda-project.org/pcb.git

Вам также будет нужно отредактировать у ÑÐµÐ±Ñ Ñ„Ð°Ð¹Ð» ~/.ssh/config (Ñоздать, еÑли он ещё не ÑущеÑтвует) и вÑтавить туда Ñледующий текÑÑ‚:

Host git.geda-project.org
Port 65

Примечание: еÑли у Ð²Ð°Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ñ‹ Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¾Ð¹ изменений в оÑновной репозиторий проекта, убедитеÑÑŒ, что у Ð²Ð°Ñ Ð¸ÑпользуетÑÑ git верÑии 1.5 или выше.

ЕÑли Ð´Ð»Ñ Ð´Ð¾Ñтупа к git вы отдали админиÑтратору ключ, Ñпециально Ñозданный Ð´Ð»Ñ gEDA, вам может быть также нужно добавить к Ñвоим наÑтройкам ещё одну Ñтроку, где указать Ñтот дополнительный ключ:

Host git.geda-project.org
Port 65
IdentityFile ~/.ssh/gedaproject_dsa

Учтите, что файл, на который вы ÑÑылаетеÑÑŒ здеÑÑŒ, Ñто ваш закрытый ключ («private key»), а файл, который нужно поÑлать на Ñервер, Ñто ÑоответÑтвующий ему открытый ключ («public key»).

Создание и внеÑение изменений

ÐаÑтройка информации о пользователе

Сначала вам нужно обеÑпечить, чтобы в файле наÑтроек git у Ð²Ð°Ñ Ð±Ñ‹Ð»Ð¸ заданы ваше Ð¸Ð¼Ñ Ð¸ ваш Ð°Ð´Ñ€ÐµÑ Ñлектронной почты.

$ git config --global user.name "ЗдеÑÑŒ должно быть ваше имÑ"
$ git config --global user.email вы@ваш_домен.example.com

ВнеÑение заплат других учаÑтников проекта

При наложении чужой заплаты (например, из запиÑи о заплате в launchpad), Ñледует иметь в виду некоторые моменты. Ð”Ð»Ñ Ð²Ð½Ð¾Ñимых изменений git ÑохранÑет по два имени и по два адреÑа Ñлектронной почты: «автора» заплаты («author») и «вноÑÑщего» заплату («committer»), и при внеÑении изменений Ñти данные должны быть правильными.

Прежде вÑего, убедитеÑÑŒ, что:

  • ваша верÑÐ¸Ñ Ð·Ð°Ð¿Ð»Ð°Ñ‚Ñ‹ — поÑледнÑÑ;
  • автор заплаты будет рад, что его заплату внеÑут в репозиторий (и вÑÑ‘ ещё не работает над ней);
  • вы довольны заплатой и возьмёте на ÑÐµÐ±Ñ Ð¾Ñ‚Ð²ÐµÑ‚ÑтвенноÑть за вноÑимые изменениÑ.

Ð”Ð»Ñ Ð¿Ñ€Ð¾Ñтоты начать можно Ñ Ð½ÐµÐ¸Ð·Ð¼ÐµÐ½Ñ‘Ð½Ð½Ð¾Ð³Ð¾ дерева Ñамой поÑледней верÑии (git status не должен показывать никаких изменений).

Заплата накладываетÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼ ÑпоÑобом (как Ñтом в примере):

$ patch -p1 < example_changes.patch

Можно также иÑпользовать команду git apply:

$ git apply example_changes.patch

ЕÑли перед внеÑением в репозиторий заплату нужно чуть подкорректировать (например, поправить пробелы), проинформируйте об Ñтом автора. Может быть на оÑнове Ñтой заплаты он делает что-то другое, и тогда он должен знать, какие Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑвилиÑÑŒ в наложенной верÑии.

Примечание: очень легко допуÑтить Ñлучайную ошибку, еÑли ваш редактор заменÑет пробелы знаками табулÑции. Ðе разрешайте ему Ñтого!

Прежде чем вноÑить изменениÑ, git нужно проинформировать о вÑех изменённых, добавленных или, наоборот, удалённых файлах. Чтобы поÑмотреть, какие файлы изменены, можно запуÑтить:

$ git status

Ð”Ð»Ñ ÑкороÑти, командой

$ git add -u

можно обновить вÑе файлы, отÑлеживаемые git, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ñ‹Ðµ.

Добавление новых файлов, вводимых в репозиторий Ñ Ñтой заплатой, производитÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹

$ git add new_file.c

Примечание: параметры git add могут также задаватьÑÑ Ð¸ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ метаÑимволов.

При внеÑении заплаты обÑзательно Ñледует указать Ð¸Ð¼Ñ Ð¸ Ð°Ð´Ñ€ÐµÑ Ñлектронной почты автора:

$ git commit --author "ЗдеÑÑŒ должно быть Ð¸Ð¼Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð° <author@example.com>"

Как вариант, еÑли заранее наÑтроить переменные Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ GIT_AUTHOR_NAME и GIT_AUTHOR_EMAIL, команду git commit можно запуÑкать как обычно.

ÐапиÑание хороших Ñообщений о вноÑимых изменениÑÑ…

Формат ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾ вноÑимых изменениÑÑ… [“commit messageâ€] Ñледующий: Ñтрого одноÑтрочное изложение Ñути заплаты, за которым Ñледует пуÑÑ‚Ð°Ñ Ñтрока, а затем длинное опиÑание. ЕÑли можно умеÑтить полное опиÑание заплаты в одной Ñтроке, — прекраÑно, — тогда и не Ñтоит забивать голову наÑчёт длинного опиÑаниÑ.

ОдноÑтрочные опиÑÐ°Ð½Ð¸Ñ Ð¸ÑпользуютÑÑ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ‚ÐµÐ¼Ñ‹ Ñлектронного пиÑьма и Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð² журналах gitk и gitweb. Очень удобно, когда они напиÑаны хорошо, потому что Ñто значит, что пользователь Ñтих программ Ñможет быÑтро находить интереÑные изменениÑ.

Ðе добавлÑйте в ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾ вноÑимых изменениÑÑ… перечни изменённых файлов. Эту информацию очень проÑто извлечь Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ инÑÑ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ñ git.

Пример:

Added new GedaList class derived from GObject

This abstracts a GList with API for write access. Its main use is in list
change notification, as it emits a "changed" g_signal when modified.  Read
only access to the underlying GList is provided by an accessor, currenly
implemented as a macro.  

ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ push - разрушительна

Предупреждение: добавление изменений Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ push в удалённый репозиторий разрушительно

Ð’ отличие от CVS, командой git-push Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ проÑто добавлÑÑŽÑ‚ÑÑ Ð² оÑновной репозиторий, но «продвигаетÑÑ» Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð²ÐµÑ€ÑиÑ. Ð’Ñегда нужно дважды (или даже трижды) проверить, что «продвигаемые» вами Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² Ñамом деле предназначены Ð´Ð»Ñ Ð¾Ñновного репозиториÑ.

Как мне ... ?

Более подробную информацию можно найти в РуководÑтве по Git.

... получить копию Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ git проекта gEDA/gaf?

При анонимном доÑтупе только на чтение:

$ git clone git://git.geda-project.org/geda-gaf

Ð”Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð² Ñ Ð´Ð¾Ñтупом на чтение и запиÑÑŒ:

$ git clone ssh://git@git.geda-project.org/geda-gaf

... поддерживать ÑоответÑтвие Ñвоей локальной копии текущей верÑии?

Те, кто не ÑобираетÑÑ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»Ñть Ñвои Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² центральный репозиторий git, могут запуÑтить:

$ git pull

Однако тем из ваÑ, кто ÑобираетÑÑ Â«Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð³Ð°Ñ‚ÑŒÂ» Ñвои Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² центральный репозиторий git, иÑпользование git pull иÑпортит иÑторию ÑообщениÑми об объединении веток («Merge branch 'master'»). Чтобы избежать Ñтого, нужно запуÑтить:

$ git fetch
$ git rebase origin

... внеÑти Ñвои Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² локальный репозиторий git?

$ git commit -a

Эта команда найдёт вÑе изменённые файлы, о которых знает git (добавленные Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ git-add) и запроÑит у Ð²Ð°Ñ Ñообщение о вноÑимых изменениÑÑ…. Ðепременно Ñледуйте указанному выше Ñоглашению по напиÑанию таких Ñообщений, еÑли планируете отправлÑть Ñвои Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² центральный репозиторий.

ЕÑли вы хотите внеÑти файлы из текущего каталога, или хотите внеÑти только Ñвно определённые файлы, не указывайте флаг -a и (или) укажите имена выбранных файлов в командной Ñтроке, например:

$ git commit filename1 filename2

... отменить вÑе локальные изменениÑ, ещё не внеÑённые в репозиторий?

$ git checkout -f

Учтите, что при Ñтом вÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² любых файлах, отÑлеживаемых в git-репозитории, будут отвергнуты.

ЕÑли нужно отменить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в одном файле, доÑтаточно запуÑтить:

$ git checkout путь/к/нужному/файлу

ЕÑли нужно отменить вÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² текущем каталоге и рекурÑивно во вÑех его подкаталогах, доÑтаточно запуÑтить:

$ git checkout .

... иÑправить/отредактировать изменениÑ, внеÑённые поÑледний раз?

$ ... изменение каких-то файлов ...
$ git commit --amend filename1..filenameN

Этой командой вÑе новые Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÑÑŽÑ‚ÑÑ Ñ Ð²Ð½ÐµÑёнными в поÑледний раз и заново вноÑÑÑ‚ÑÑ Ð² репозиторий Ñо Ñтарым Ñообщением.

... отÑлеживать ветку?

$ git checkout --track -b <локальнаÑ_ветка> origin/<удалённаÑ_ветка>

Этой командой ÑоздаётÑÑ Ð²ÐµÑ‚ÐºÐ° <локальнаÑ_ветка>, в которой отÑлеживаетÑÑ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð°Ñ Ð²ÐµÑ‚ÐºÐ° <удалённаÑ_ветка>.

... Ñоздать ветку (Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ тега)?

Ðужно запуÑтить Ñледующие команды (Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ð° иÑпользуетÑÑ Ð²ÐµÑ‚ÐºÐ° stable-1.4):

 $ git branch stable-1.4 1.4.0-20080127
 $ git checkout stable-1.4
 <что-то редактируем>
 $ git commit -a

Чтобы опубликовать Ñту ветку в центральном репозитории (требуетÑÑ Ð´Ð¾Ñтуп в него на запиÑÑŒ):

 $ git push origin stable-1.4

... получить ветку разработки другого разработчика?

Кроме Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ http://git.geda-project.org/, у Ð½Ð°Ñ ÐµÑть его зеркало на http://repo.or.cz/w/geda-gaf.git. Ðекоторые разработчики имеют Ñвои Ð¾Ñ‚Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ («fork») данного Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ñ Ð²ÐµÑ‚ÐºÐ°Ð¼Ð¸ («branch») разработки новых возможноÑтей.

ЕÑли вы хотите попробовать одну из веток Ñ Ð½Ð¾Ð²Ñ‹Ð¼Ð¸ возможноÑÑ‚Ñми, нужно получить её из Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ°. Самый лёгкий ÑпоÑоб Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð²ÐµÑ‚ÐºÐ¸ — иÑпользовать команду git fetch.

  $ git fetch ÑÑылка_на_репозиторий название_удалённой_ветки:название_локальной_ветки

Примеры: Получение ветки cairo_experiment от Peter C. выглÑдело бы так:

  $ git fetch git://repo.or.cz/geda-gaf/pcjc2.git cairo_experiment:peters_cairo_experiment

Теперь вы можете переключитьÑÑ Ð½Ð° локальную копию ветки peters_cairo_experiment и поигратьÑÑ Ñ Ð½ÐµÐ¹.

Более того, в локальный репозиторий можно добавить неÑколько удалённых ответвлений:

  $ git remote add <название> <url>
  $ git fetch <название>

При уÑловии, что <название> уникально, у Ð²Ð°Ñ Ð¿Ð¾ÑвитÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть Ñледить за их развитием, не ÑÐ¾Ð·Ð´Ð°Ð²Ð°Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… веток. С помощью таких программ, как gitk, можно Ñледить за прогреÑÑом в ветках разработки различных возможноÑтей в разных ответвлениÑÑ…:

  $ gitk --all

Примеры:

  $ git remote add peter-b https://github.com/peter-b/geda-gaf.git
  $ git fetch peter-b
  $ git remote add gareth8118 https://github.com/gareth8118/geda-gaf.git
  $ git fetch gareth8118
  $ git remote add bert https://github.com/bert/geda-gaf.git
  $ git fetch bert
  $ gitk --all

Теперь gitk будет забит до отказа, но Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Файл → СпиÑок ÑÑылок [File → List references] (F2) можно открыть диалоговое окно Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ лёгкой навигации.

Обновление любимых веток ÑократитÑÑ Ñ‚Ð¾Ð³Ð´Ð° до:

  $ git fetch --all

... Ñделать заплату, чтобы отправить её разработчикам?

Самый проÑтой ÑпоÑоб, в котором в заплату включаютÑÑ Ð²Ñе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ Ñ‚ÐµÑ… пор, как локальный репозиторий ÑинхронизировалÑÑ Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸ÐµÐ¼ на geda-project.org:

$ git diff > имÑ_файла_заплаты

Более Ñложный ÑпоÑоб Ñ Ð±Ã³Ð»ÑŒÑˆÐ¸Ð¼ контролем над Ñодержимым заплаты:

$ git add -i           # выбрать файлы Ð´Ð»Ñ Ð²Ð½ÐµÑÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹
$ git status           # проверить, что будут внеÑены именно те изменениÑ,
                       # которые вы намеревалиÑÑŒ внеÑти
$ git commit           # внеÑти изменениÑ
$ git format-patch -1  # Ñделать файл заплаты, оÑнованный на данных изменениÑÑ…

ПоÑледнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° выведет Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°, Ñодержащего заплату. Чтобы больше узнать об Ñтой команде, обÑзательно взглÑните на документацию по git-format-patch. Полученный файл можно отправить по Ñлектронной почте разработчикам, имеющим доÑтуп на запиÑÑŒ, и они Ñмогут наложить заплату Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ git apply.

... воÑÑтановить на Ñамом деле иÑпорченный локальный репозиторий?

Прежде вÑего, не вздумайте никуда «продвигать» командой git push никаких изменений из локального репозиториÑ, еÑли вы думаете, что в нём что-то иÑпорчено. СпроÑите Ñначала кого-нибудь более опытного в git.

Во-вторых, команда, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð² Ñамом деле ÑпаÑёт вашу шкуру — Ñто git-reflog. Она иÑпользуетÑÑ Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ð½Ð¾ так:

 $ git reflog
 086908e... HEAD@{0}: cherry-pick: Last minute updates to the READMEs for all pro
 2a79a23... HEAD@{1}: checkout: moving to master
 2a79a23... HEAD@{2}: checkout: moving to master
 ...
 $ git reset --hard HEAD@{1}

ПоÑледнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° (git reset --hard ...) откатит вÑе ваши Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ðº шагу «checkout: moving to master». Помните: не паникуйте! С помощью git можно многое починить.

lepton-eda-1.9.10/docs/wiki/wiki-dokuvimki.html0000644000175000017500000001114213634703632016305 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий

Using Vim to edit gEDA wiki pages

To easy edit gEDA wiki pages in Vim you may use DokuVimKi.

You can install DokuVimKi as follows:

  1. Download the latest version of DokuVimKi and copy all its files into appropriate directories in ~/.vim:
      git clone git://github.com/chimeric/dokuvimki.git
      cd dokuvimki
      for i in doc plugin syntax; do cp "$i"/* ~/.vim/"$i"/; done 
  2. To use :h dokuvimki to open DokuVimKi help you can generate Vim help tags for it using :helptags ~/.vim/doc/ in Vim.
  3. You can optionally use another dokuwiki syntax file. I use one from http://github.com/nblock/vim-dokuwiki.git.
  4. To install DokuVimKi you need to have xmlrpclib installed on your system. It has probably been already installed as part of python installation. You can check this using:
      locate xmlrpclib 

    See https://www.dokuwiki.org/devel:xmlrpc for more information on this.

  5. You also need to install dokuwikixmlrpc. Download and install the latest version:
      git clone git://github.com/chimeric/dokuwikixmlrpc
      cd dokuwikixmlrpc
      sudo python setup.py install

    See the Python documentation for more information about installing python modules.

  6. Then to set up DokuVimKi for gEDA you need to add some strings into your ~/.vimrc file:
    let g:DokuVimKi_USER = "your_wiki_login_name"
    let g:DokuVimKi_PASS = "YOUR_WIKI_PASSWORD"
    let g:DokuVimKi_URL = "http://wiki.geda-project.org/lib/exe/xmlrpc.php"
    " Optional settings. See ':DWhelp' for details.
    ""let g:DokuVimKi_INDEX_WINWIDTH = 30
    ""let g:DokuVimKi_DEFAULT_SUM = "[xmlrpc dokuvimki edit]"
  7. To invoke Vim with DokuVimKi features available you have to use:
     vim +DokuVimKi 

    To quickly invoke this command you could add the following aliases into your ~/.bashrc file:

    # Vim aliases for gEDA
    alias vimgeda="vim +DokuVimKi"
    alias gvimgeda="gvim +DokuVimKi"

That's all. Type gvimgeda, wait a bit and enjoy the online Dokuwiki editing in Vim!

lepton-eda-1.9.10/docs/wiki/geda-circuit_simulation_improvements.html0000644000175000017500000003142013634703632022757 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

Circuit simulation improvements in gschem

Rationale

Using gschem as a circuit simulation (ngspice or gnucap) frontend is not easy for novice users. A new user would like to do the following things inside gschem:

  • specify what kinds of simulations should be run
  • specify which voltages and currents should be plotted
  • start the simulation

The simulation runs and the postprocessing may be in an external program that is triggered by IPC.

There are some graphical frontends around but they can't solve all of the above problems

All frontends have the problem that you can not point to the net you'd like to see. You need to know the netname of the node.

Draft

Let's assume we only want to make tiny changes to gschem and libgeda so that we can at least set some probes and ran a simulation.

The probes

Current probes can be ordinary dc voltage sources with 0V. The easy way to insert that probe would be a symbol with two pins like an normal ampere meter. If we'd like to set a current probe to an end of a pin we need a netlister that detects that current probe and replaces it with our “ampere meterâ€. If we use a voltage source as an ampere meter the netlister does not need to know the netnames inside the schematic. All 0V voltage sources with a special device name are current probes.

Voltage probes may be current sources with 0A. The second pin of the current source is tied to GND with a net attribute. Thus again the netlister does not need to know the netnames as it can use that net that is connected with that special current sources. Like above a voltage source could be a special (graphical) symbol that is detected by a netlister.

Voltage and current sources

Specifying the parameters of sources is not that easy. Currently they are stored inside the “value†attribute of the symbol. e.g. “value=pulse 0 1 10n 10n 100n 1u 2uâ€. These settings needs to match the spice attributes “pulse(V1 V2 TD TR TF PW PER)â€.

A dialog would be nice that prompts the user for the named attributes and not only for the value string.

A modified edit attribute (EE) command could take care of voltage and current source devices and trigger a different property dialog for that sources. Currently the multiattrib edit dialog is triggered.

The simulations

How can we store a simulation inside gschem.

To store one simulation we can use a symbol with the device name “SIMULATIONâ€. All options that define one simulation are stored as attributes attached to that object.

  • kind of simulation (dc, ac, tran, …)
  • simulator options
  • the simulator? (can we run the same circuit with two simulators in one step?)
  • simulation parameters (global parameters, temperature, …)
v 20061020 1
C 41500 49200 1 0 0 spice-directive-1.sym
{
device=spice_simulation_block
refdes=A1
simulation_name=random name
simulation_active=1
simulation_type=DC 0V 1V 0.1V
parametric_simulation1=V1 lin 0 5 0.1
parametric_simulation2=R1.value lin 10k 100k 10k
option_TNOM=100 Deg
option_ABSTOL=1e-3
global_param1=???
global_param2=???
}

There may be many simulation objects inside a single schematic.

To store additional libraries we can either use an include card or using a “LIBRARY†symbol that contains all libraries either as:

  • a multiline attribute
  • multiple attached library attributes to the LIBRARY symbol

There should be a distinction between global, user and local libs. global and user libs may be specified by a gafrc or a new spicerc configuration file.

Creating a simulation dialog inside gschem

Lets assume anything we need to add simulation support to gschem is a single dialog.

  • It would have a list of simulations (listview with enable/disable buttons and simulation names)
  • It would have some icons to add the probes.
  • It may have buttons for the most common symbols: resistor, capacitor, inductor, diode, … [R,C,L,D,M,E,F,G,H..]
  • It would have some dialog elements to do the spice settings
  • It would have a simulate and a close button
  • Some additional buttons like: Copy simulation, Remove simulation, general options…

When creating that dialog all simulation objects are collected into the simulation list (listview with enable/disable checkbutton)

When changing the settings the attributes of the associated simulation object are changed.

The option dialog

What kind of options do we need for that dialog? And Why?

The probes that we have placed can be used to tell the simulator the variables that we like to save or tell the plotting application which plots we'd like to see. This is something completely different, we need an option for that:

  • plot all marks and only save the corresponding node voltages
  • plot all marks but save all node voltages and currents (through voltage sources)
  • only save voltage nodes of the current schematic level or store subcircuit node voltages, too.

Invoking the simulation

The simulation button of the dialog should lead to the following actions:

  • save the schematic (ask the user or use a temporary file?)
  • create a netlist using gnetlist
  • create simulation files and include the netlist (can this be done with gnetlist too?)
  • execute the simulation startup script (guile, sh, …)

That startup script may even call a scheduler that can take lots of large simulations.

Appendix

A voltage probe symbol (draft)

voltage_probe.sym
v 20061020 1
P 0 0 200 200 1 0 0
{
T 100 0 5 10 0 1 0 0 1
pintype=pas
T 0 100 5 10 0 1 0 0 1
pinseq=1
T 0 100 5 10 0 1 0 0 1
pinnumber=1
T 0 100 5 10 0 1 0 0 1
pinlabel=1
}
V 300 300 150 3 10 0 0 -1 -1 0 -1 -1 -1 -1 -1
L 300 200 240 360 3 10 0 0 -1 -1
L 300 200 360 360 3 10 0 0 -1 -1
T 0 500 9 10 0 0 0 0 1
device=VOLTAGE_PROBE
T 200 50 9 6 1 1 0 0 1
refdes=I_VP?
T 0 700 9 10 0 0 0 0 1
net=GND:2
T 0 900 9 10 0 0 0 0 1
value=DC 0A

A current probe symbol (draft)

current_probe.sym
v 20061020 1
P 0 200 150 200 1 0 0
{
T -150 50 5 10 0 1 0 0 1
pintype=pas
T 50 250 5 10 0 1 0 0 1
pinseq=1
T 50 250 5 10 0 1 0 0 1
pinnumber=1
T 50 250 5 10 0 1 0 0 1
pinlabel=1
}
V 300 200 150 3 10 0 0 -1 -1 0 -1 -1 -1 -1 -1
L 300 300 380 140 3 10 0 0 -1 -1
L 300 300 220 140 3 10 0 0 -1 -1
T 0 500 9 10 0 0 0 0 1
device=CURRENT_PROBE
T 200 370 9 6 1 1 0 0 1
refdes=V_IP?
P 600 200 450 200 1 0 0
{
T 500 50 5 10 0 1 0 0 1
pintype=pas
T 500 250 5 10 0 1 0 0 1
pinseq=2
T 500 250 5 10 0 1 0 0 1
pinnumber=2
T 500 250 5 10 0 1 0 0 1
pinlabel=2
}
L 240 180 360 180 3 10 0 0 -1 -1
T 0 700 9 10 0 0 0 0 1
value=DC 0V

Another current probe symbol used by Kurt Peters

ammeter.sym
v 20061020 1
T 700 650 8 10 1 1 0 0 1
refdes=VAM?
T 700 850 5 10 1 1 0 0 1
device=Ammeter
T 700 1050 5 10 0 0 0 0 1
footprint=none
T 700 1250 5 10 0 0 0 0 1
numslots=0
T 700 1450 5 10 0 0 0 0 1
description=ammeter for spice
P 300 1200 300 900 1 0 0
{
T 350 1000 5 8 1 1 0 0 1
pinnumber=1
T 350 1000 5 8 0 1 0 2 1
pinseq=1
T 400 850 9 8 1 1 0 5 1
pinlabel=+
T 300 700 5 8 0 1 0 5 1
pintype=pwr
}
P 300 0 300 300 1 0 0
{
T 350 100 5 8 1 1 0 0 1
pinnumber=2
T 350 100 5 8 0 1 0 2 1
pinseq=2
T 300 500 5 8 0 1 0 3 1
pintype=pwr
T 300 300 5 10 1 1 0 0 1
pinlabel=-
}
L 300 400 400 500 3 0 0 0 -1 -1
L 200 500 300 400 3 0 0 0 -1 -1
T 700 450 5 10 0 1 0 0 1
value=DC 0V
L 300 400 300 800 3 0 0 0 -1 -1
L 100 800 500 400 3 0 0 0 -1 -1
B 0 300 600 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
L 200 800 100 800 3 0 0 0 -1 -1
L 100 700 100 800 3 0 0 0 -1 -1
lepton-eda-1.9.10/docs/wiki/geda-download.ru.html0000644000175000017500000004261213634703632016502 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

Загрузка

ЕÑть неÑколько разных ÑпоÑобов уÑтановки gEDA. Ð’Ñ‹ можете выбрать Ñвой, в завиÑимоÑти от Ñвоего диÑтрибутива Linux и компетенции. ЕÑли какой-то ÑпоÑоб у Ð²Ð°Ñ Ð½Ðµ работает, попробуйте другой.

Ð—Ð°Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð¿Ð¾ уÑтановке Ð´Ð»Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ñ… ÑиÑтем Ñм. здеÑÑŒ.

ИмеютÑÑ Ñ‚Ð°ÐºÐ¶Ðµ ÑкÑпериментальные выпуÑки gEDA Ð´Ð»Ñ Microsoft Windows. См. Ð—Ð°Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð¿Ð¾ уÑтановке.

УÑтановка gEDA Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ пакетного менеджера иÑпользуемого диÑтрибутива

ЕÑли вы пользуетеÑÑŒ Ñовременным диÑтрибутивом GNU/Linux, такой ÑпоÑоб уÑтановки gEDA ÑвлÑетÑÑ Ð¿Ñ€ÐµÐ´Ð¿Ð¾Ñ‡Ñ‚Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¼. Ðапример, в Debian нужно набрать (Ñ Ð¿Ñ€Ð°Ð²Ð°Ð¼Ð¸ root):

apt-get update && apt-get install geda pcb gerbv

ЗдеÑÑŒ предполагаетÑÑ, что вы хотите уÑтановить gschem, gnetlist, pcb и gerbv. Или воÑпользуйтеÑÑŒ интерактивным пакетным менеджером Ñвоего диÑтрибутива и выберите нужные пакеты в нём.

Загрузка Ñкомпилированных пакетов gEDA Ð´Ð»Ñ Ñвоего диÑтрибутива

(ЗдеÑÑŒ раÑÑматриваетÑÑ Ñлучай, когда вы пользуетеÑÑŒ более Ñтарым диÑтрибутивом)

Двоичные пакеты Ð´Ð»Ñ Ð´Ð¸Ñтрибутивов

ДиÑтрибутив Linux СпоÑоб уÑтановки УÑтанавливаемые файлы Ðвтор/Сопровождающий Комментарий
SuSE yast пакеты RPM Werner Hoch
Debian apt-get install geda пакеты .deb Hamish Moffatt Загрузите пакеты .deb, подходÑщие Ð´Ð»Ñ Ñвоего диÑтрибутива (stable, testing, и Ñ‚. д.)
Mac OS X пакеты fink Charles Lepple ИнÑтрукции приводÑÑ‚ÑÑ Ð·Ð´ÐµÑÑŒ

Загрузка иÑходного кода и ÑамоÑтоÑÑ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ñборка gEDA

ЕÑли вам нужно наложить Ñвои ÑобÑтвенные заплаты Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼ gEDA или проÑто хочетÑÑ Ð¸Ñпользовать верÑии новее тех, что входÑÑ‚ в ваш диÑтрибутив, то иÑходный код gEDA придётÑÑ Ñкомпилировать ÑамоÑтоÑтельно.

  • Программы gEDA иÑпользуют пакет программ Ð´Ð»Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑкого интерфейÑа GTK+. ЕÑли вы работаете в KDE, то у Ð²Ð°Ñ Ð½Ðµ должно быть никаких проблем Ñ Ð¸Ñ… Ñборкой и уÑтановкой, еÑли библиотеки и заголовки GTK+ уже уÑтановлены в вашей ÑиÑтеме.
  • gEDA/gaf, а также ÑродÑтвенные Ð´Ð»Ñ gEDA программы, имеют определённые завиÑимоÑти. Это библиотеки и другие программы, которые должны быть в ÑиÑтеме Ð´Ð»Ñ ÑƒÑпешной Ñборки и запуÑка gEDA. При попытке уÑтановки gEDA вы можете обнаружить, что Ñначала нужно уÑтановить и другие программы, казалоÑÑŒ бы не отноÑÑщиеÑÑ Ðº данному набору. ЕÑли в процеÑÑе уÑтановки вы обнаружили отÑутÑтвующие завиÑимоÑти, не отчаивайтеÑÑŒ! Преодоление любых проблем Ñ Ð·Ð°Ð²Ð¸ÑимоÑÑ‚Ñми — Ñто лишь Ð²Ð¾Ð¿Ñ€Ð¾Ñ ÑƒÑтановки требуемой программы или библиотеки.
Ðазвание ÐŸÑ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ tar-архив ОпиÑание
gEDA/gaf
(ÑÑ‚Ð°Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ð²ÐµÑ€ÑиÑ)
README 1.8.2-20130925 Редактор Ñхем, генератор ÑпиÑка Ñоединений, Ñимволы, программа проверки Ñимволов и утилиты
gEDA/gaf
(неÑÑ‚Ð°Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ð²ÐµÑ€ÑиÑ)
README 1.9.1-20140308 Редактор Ñхем, генератор ÑпиÑка Ñоединений, Ñимволы, программа проверки Ñимволов и утилиты
pcb ÐÐ½Ð¾Ð½Ñ 20140316 СредÑтво разработки топологии печатных плат
gerbv ÐÐ½Ð¾Ð½Ñ 2.6.0 Программа проÑмотра Gerber-файлов
xgsch2pcb ÐÐ½Ð¾Ð½Ñ 0.1.3 ГрафичеÑÐºÐ°Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ° Ð´Ð»Ñ Ð¼Ð°Ñ€ÑˆÑ€ÑƒÑ‚Ð° Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ gschem → pcb
gnucap Разработка Программа ÑхемотехничеÑкого Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² Ñмешанном режиме под лицензией GPL
Icarus Verilog Ð¡Ñ‚Ð°Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ð²ÐµÑ€ÑиÑ
Срезы разработки
СредÑтво Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ñинтеза Verilog
GSpiceUI ДомашнÑÑ Ñтраница ГрафичеÑÐºÐ°Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ° Ð´Ð»Ñ SPICE
GTKWave ДомашнÑÑ Ñтраница Программа визуализации Ñигналов в Ñлектронных Ñхемах
gwave ДомашнÑÑ Ñтраница Программа визуализации аналоговых Ñигналов
ngspice Загрузка Программа улучшенного SPICE-моделированиÑ

Сборка из поÑледней рабочей верÑии иÑходного кода

Ð”Ð»Ñ Ñ‚ÐµÑ…, кто уже хорошо знаком Ñ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñми gEDA/gaf, а также Ð´Ð»Ñ Ñ‚ÐµÑ…, кому нужно вÑÑ‘ Ñамое Ñвежее, доÑтупен рабочий репозиторий иÑходного кода программ. Ð’ нём находитÑÑ Ð¿Ð¾ÑледнÑÑ Ñ€Ð°Ð±Ð¾Ñ‡Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¸Ñходного кода приложений.

УÑтановка из неÑтабильного/теÑтируемого Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð¿Ð¾Ð´Ñ…Ð¾Ð´Ð¸Ñ‚ Ð´Ð»Ñ Ñ‚ÐµÑ…, кто:

  • ищет Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÑпецифичеÑкой проблемы, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð±Ñ‹Ð»Ð° предÑтавлена на раÑÑмотрение команде разработчиков, например, хочет протеÑтировать «иÑправление», чтобы проинформировать затем разработчиков о том, что оно работает;
  • имеет ÑущеÑтвенные Ð¿Ð¾Ð·Ð½Ð°Ð½Ð¸Ñ Ð² облаÑти работы программных ÑредÑтв gEDA и Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ небольшое предÑтавление об иÑпользовании программы git и уÑтановке Ñ ÐµÑ‘ помощью программ.

Обычно Ð´Ð»Ñ Ñтого необходимо иметь доÑтуп к неÑкольким заведомо рабочим в текущей Ñтабильной верÑии gEDA Suite проектам уÑтройÑтв, Ñ Ñ‚ÐµÐ¼ чтобы можно было производить ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¸ доводить проблемы до ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ ÑообщеÑтва разработчиков и пользователей (через ÑпиÑки раÑÑылки или ÑиÑтему отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº).

Ð”Ð»Ñ ÐºÐ»Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸ÐµÐ² gEDA/gaf и pcb Ñ Ð¸Ñпользованием анонимного доÑтупа, наберите:

git clone git://git.geda-project.org/geda-gaf.git
git clone git://git.geda-project.org/pcb.git

Ð”Ð»Ñ Ñ€Ð°Ð·Ð½Ñ‹Ñ… проектов на git.geda-project.org еÑть Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ cgit. Чтобы клонировать другой репозиторий, размещённый на git.geda-project.org, нужно проÑто заменить поÑледнюю чаÑть URL.

Как Ñобрать gEDA из git-Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ñм. здеÑÑŒ.

lepton-eda-1.9.10/docs/wiki/geda-pcb_footprints.html0000644000175000017500000010002213634703632017267 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

PCB Footprint Guides

Footprint basics

  • There are two types of footprints: M4 and NEWLIB.
  • The best tools for creating footprints are PCB (wysiwyg), TEXT EDITOR (fast, accurate), SCRIPTING (powerful).
  • For drawing footprints in PCB, refer to the section about library creation in the PCB manual, look at the part “Creating Newlib Footprints†in the “New Style Libraries†subsection.
  • For writing footprints in text, refer to Footprint Creation for the Open-Source Layout Program "PCB" written and maintained by Stuart Brorson.
  • For Scripting footprints see the footprint generators page.
  • Other things you may find helpful: calculator, paper+pencil, datasheets, calipers, spreadsheet.

Manufacturer references for laying out footprints

Sharing PCB Footprints

PCB Footprint FAQ

How do PCB's footprints work?

PCB supports two entirely separate footprint library mechanisms:

  1. The first is referred to as the “oldlibâ€, “pcblibâ€, or the “M4 libraryâ€. This system uses the macro language M4 to generate footprints on the fly. The M4 library is fairly large. A powerful feature of the m4 library is that an entire family of footprints can quickly be defined by defining an appropriate base macro. Several standard families of footprints exist in pcblib. Starting with the pcb-20070208 snapshot, the entire m4 library is available as “newlib†footprints (see the following paragraph) under the name “pcblib-newlibâ€.
  2. The second footprint library for PCB is called the “newlibâ€. Newlib footprints are defined using ASCII text files which call out each graphical primitive which makes up an entire footprint. Newlib footprints can either be created graphically using PCB or via any other method which can produce a text file (text editor, awk/perl/ruby script, etc.). The use of a scripting or programming language is especially powerful because you can generate large footprints or families of footprints.

Therefore, during layout, you can use footprints which are distributed with PCB, you can find footprints via a web search, or you can create your own, and put them in a dedicated directory. The pcb manual has complete and up to date documentation for the element file format. Gedasymbols.org has a number of user contributed footprints. A somewhat incomplete but useful tutorial is available on the web at: http://www.brorson.com/gEDA/ (search for the term “newlibâ€).

Where can I get pre-drawn footprints for PCB?

  • Check your hard disk for newlib and pcblib-newlib. These directories contain the default footprint library of PCB.
  • The best place to get additional footprints is the gEDA Symbols website. If you have you are welcome to contribute to the project and share your footprints.
  • John Luciani's website has a large number of footprints and tools.
  • Darrell Harmon provides a nice footprint generating script on his website.
  • Finally, you can ask on the geda-user mailing list, and somebody might take pity on you and send you a footprint.

I want to use PCB to do layout. How do I know what value to use for the footprint attribute?

This question is a common one amongst new gEDA users. Indeed, helping newbies determine the appropriate footprint names lies at the core of the ongoing light vs. heavy symbol debate. In the current, light symbol gEDA/gaf distribution, you need to attach the footprint attribute at the schematic level (i.e. using either gschem or gattrib). The name of the footprint to use depends upon whether you are using the newlib or the M4 library (pcblib).

Newlib

The newlib stores one footprint per file, and the footprint names used by the newlib are the file names of the footprint files.

There are several ways to determine the newlib footprint names to use:

  • You can browse the available footprints by running pcb and opening the footprint library window (available from the menu bar via Window → Library). Click on the “newlib†library group, and then select a sublibrary to browse its symbols. The name of each footprint appears in the Elements window on the right hand side of the footprint library browser. Use the name exactly as it appears in the browser for the footprint attribute in gschem or gattrib.
  • The newlib footprints distributed with PCB are stored in the directories under ${PREFIX}/share/pcb/newlib. (${PREFIX} is the install directory you specified when configuring/building PCB.) The name to stick in the “footprint†attribute is the filename of the footprint you wish to use.
    For example, on my machine I installed gEDA with the prefix /usr/local/geda/. The 0805 package (for SMT resistors or caps) lives in a file with absolute path
    /usr/local/geda/share/pcb/newlib/generic_SMD_packages/0805_reflow_solder
    Therefore, to use this footprint on a component I set its “footprint†attribute to 0805_reflow_solder using gschem or gattrib.
    Note that if the newlib symbol you want to use lives in a non-standard directory, gsch2pcb needs you to specify a path to that directory, either within your project.rc file (if you use one) or using the --elements-dir flag (from the command line).
  • Finally, since each new design typically requires you to draw at least a couple of new footprints, it’s likely you will have a local “footprints†directory. As previously, the footprint name to use is the filename you assign to each of your new footprints. Again, don’t forget to add a line to your project.rc file telling gsch2pcb where to find your local footprints. Alternately, you can run gsch2pcb with the --elements-dir flag set to point to your local footprint directory.

M4 library

The M4 library stores the footprints as M4 macros; there are usually several (many) footprints contained in each footprint file. The different footprints in a single file are generally variations on a single pattern (e.g. DIP-8, DIP-14, DIP-16, etc.) The easiest way to find the correct footprint attribute name is by browsing through the “pcblib†library in the PCB library window. The footprint attribute is given in square brackets in the description. Also you can view the list of footprints from pcblib at the gEDA Symbols webpage.

The following m4 libraries have received more attention and improvements than the others:

  • ~amp for Amp connectors
  • ~amphenol for Amphenol connectors
  • ~geda for many diverse parts used in basic design using gEDA (resistors, caps, etc).
  • ~bourns for products like trim pots from Bourns
  • ~cts for products like resistor packs from CTS
  • ~johnstech for Johnstech sockets
  • ~minicircuits for Minicircuits specific footprints
  • ~panasonic for some Panasonic specific footprints

Finally, for both the newlib and the M4 lib, it is extremely important that you verify that the footprint name you use instantiates *exactly* the footprint you want when you place it in PCB. Therefore, it is critical to inspect the footprint before you use it. You can verify the footprint you want to use by clicking on it in the “footprint library†window, and then placing it onto an empty spot in PCB’s drawing area. Manually inspect the footprint to ensure that it has the correct number of pins/pads, correct dimensions, etc.

Also, once you generate Gerber files, make sure you inspect all footprints instantiated in your Gerbers using gerbv (or an equivalent Gerber viewer) before you send your design out for fabrication.

What is the recommended way to deal with different footprints for the same sort of device?

For example, an opamp may be DIP8 or SO8. A resistor may be 0603, 0805, 1208, or through-hole. How do I know what package and footprint to use, and how do I manage the choices?

First off, the footprint you should use is a decision for you to make, not your CAD tool. It is up to you to choose your preferred package type/footprint, and then attach the correct footprint attribute to the component in the schematic. Once you have chosen which package (and footprint) you wish to use, then either find an appropriate footprint, or draw one yourself and save it in a local directory.

As far as managing the footprint choices (and indeed the large number of component attributes you are likely to have): Use gattrib. That’s what it’s for.

How do I draw a new footprint?

Everybody does this a little differently. Some people draw the footprint entirely using PCB. Some people first draw a preliminary footprint in PCB, and then finish it off by hand editing it (e.g. using emacs). Some people write Perl or Python scripts to autogenerate footprints.

  • use a text editor. See the manual on footprint creation by Stuart Brorson for the details.
  • draw the part in PCB and save as a footprint. See the howto by Karel Kulhavy
  • or use a python script by Darrel Harmon for “two padâ€, “SOxxâ€, “tabbed†and QFP†style
  • or use a perl script by Stuart Brorson for two pad SMT components
  • or use a perl script from John Luciani – can be adapted to DIL, SOxx-Style, QFP, or even circular arrangement of pads.
  • or use the web based application dilpad written by DJ Delorie for “SOxx†style footprints.

How do I edit/change an existing footprint?

You can convert a footprint into an ordinary layout, edit the parts and convert them back to footprint. In the following list the parts in bold italic font are actions from the Buffer menu.

  1. Select element
  2. Copy selection to buffer (Ctrl+C).
  3. Break buffer elements to pieces. Pins become vias and pads become tracks. Unfortunately, some information is lost during the process. Namely, the square flag names of pins and pads. You have to regenerate this information later.
  4. Paste buffer to layout
  5. Do the desired changes. Note, that only vias, tracks and rectangles are allowed. No text, no arcs, no general polygons.
  6. Select all objects that belong to the footprint
  7. Copy selection to buffer (Ctrl+C). The position of the crosshair will determine the origin of the resulting footprint. The origin will be marked with a little diamond.
  8. Convert buffer to element. This converts vias to pins. Tracks and rectangles get SMD pads.
  9. Paste buffer to layout
  10. Place the mouse over the pads that got rounded during step 4 and press Q. This squares off the rounded pad edges.
  11. Go over every pad, press N and give a name to the pad.
  12. Place the mouse somewhere where there is no pad or pin and give a name to the symbol.
  13. Move the name to the place where you want the refdes or the value to appear.
  14. Select everything and copy selection to buffer (Ctrl+C)
  15. Save buffer elements to file.

Alternatively, you can use your favorite text editor and edit the source code of the footprint.

How do I move the diamond of a footprint

The origin of a footprint is marked with a little diamond. To move it to some other position relative to the footprint you have to modify all coordinates. This can be done manually with a text editor. If you want to do it from within the GUI, you need to break the footprint into pieces and assemble it again. See above for a detailed checklist. Note, that the position of the diamond is determined by the position of cross hair when copying to the buffer.

Yes, this is tedious. The reason for it is the lack of a real footprint editing mode in pcb. You are invited to write one.

pcb does not save silk when I try to make a footprint

The silk of footprints can only deal with lines and arcs. All the other objects like polygons, rectangles and text are silently omitted during Convert buffer to element. If you need text in footprints you have to literary draw the letters with the line tool.

What is the proper way to make a double-sided footprint?

You can use the “onsolder†flag to place pads on the opposite side of the board. You would have something like this for a connector on both sides of the board:

Pad[-40000 -7000 -40000 7000 2700 2400 3000 "B1" "B1" "square"]
Pad[-40000 -7000 -40000 3000 2700 2400 3000 "A1" "A1" "square,onsolder"]

If you draw the footprint with pcb-GUI and do Buffer → Convert buffer to element, the lines on the second layer become pads with the onsolder flag. Yes, it is the second layer, regardless its name.

How can I achieve pads without paste?

Sometimes, exposed copper should not receive solder paste. A common example is the pads of an edge connector. This can be achieved with the nopaste flag. Currently, there is no GUI way to set the flag. Use a text editor to add this flag to the pads of a footprint.

How do I add a footprint library to PCB?

Adding footprint libraries can be done from the GUI:
File → Preferences… → Library → FOOTPRINTDIRECTORY
Alternatively you can edit the file $HOME/.pcb/preferences. Make sure, no instance of pcb is currently running. Look for the line that starts with “library-newlibâ€. Don’t forget to include the new directory into either your gsch2pcbrc, or your local gafrc file (if you are using gsch2pcb, that is).

How do I update a footprint in my layout?

There is no way to automatically replace all instances of a footprint with the new version, yet. But there is a special mode of the buffer-paste tool, that will reduce the amount of clicks for manual replacement.
Use the Window → Library dialog box to manually choose the new footprint. The tool becomes the buffer-paste tool, with the new footprint preloaded. Rotate it if needed with Buffer → Rotate Buffer. Position the new footprint over the old one, and shift-left-mouse-click to replace the old footprint with the new one. Watch out for being 180 degrees off, use O to check the rats nest after each placement, and undo if it appears you placed it backwards.

PCB is not finding my footprints. Why?

The footprint path that PCB uses is defined using the Pcb.elementPath variable in the app-defaults file named PCB. The path for the PCB file is set using the XAPPLRESDIR environment variable which is typically set from within the wrapper script named pcb.

Now that I have all of these footprints where do I put them?

I prefer to place all “production-ready†footprints in a single directory that is not in the gEDA/PCB install tree. When a new version of gEDA/PCB comes out I do not make any changes to project files or libraries. If there are newlib footprints in the PCB library that I want to use I copy them to the “production-ready†footprint directory.

Rather than change configuration files to get gsch2pcb to find the footprints I create a wrapper script called sch2pcb that contains the footprint path. All users use the same script and access the same production footprints.

To use the sch2pcb script that is listed below replace the string FOOTPRINT_DIR with your footprint directory:

#!/bin/bash
gsch2pcb --elements-dir FOOTPRINT_DIR $@

Or another user's version:

#!/bin/bash
#this script was written by John Luciani
gsch2pcb --elements-dir /home/user/pcb/footprints/user --use-files $@

Alternatively you can make use of a project file which gsch2pcb reads for its options. For example the file myproject could look like this:

schematics myschematic.sch myschematic2.sch
elements-dir /myfootprintdir
output-name mypcb
skip-m4

The example file searches through myfootprintdir for footprints used in myschematic.sch and myschematic2.sch and creates mypcb.pcb skipping m4 style footprints. gsch2pcb is then called with the project file as an option.

gsch2pcb myproject

Can I have two pads/pins with the same pin-number?

“Yes, totally. This is how you create oval shaped copper around pins, or funny shaped pads (e.g. square at one end and round at the other) by overlapping two or more pads.â€

How do I make an oval shaped pad around a footprint pin?

Simply add a pad on top of your pin and give them the same pin-number. If the soldermask is kept off both pins, and they overlap, they should appear as one pin on your board.

How do I make a 2-sided pad?

“Odd as it sounds, this can be necessary for some edge connectors. … but how do you do it???â€

You can do it by making two pads at the same position and same pin number, but the second one with the flag “onsolderâ€. Like in:

Pad[ 10mm -3mm  10mm 3mm  2.0mm 0.5mm 0.2mm "1" "1" "square" ]
Pad[ 10mm -3mm  10mm 3mm  2.0mm 0.5mm 0.2mm "1" "1" "square,onsolder" ]

Edge Connectors

Do a 2-sided pad as above. If you want the shape of the connector pad to be square at the edge end and half-round at the pcb-interior end, use two overlapping pads per side, like in:

Pad[  0   -3mm   0   3mm  2.0mm 0.5mm 0.2mm "1" "1" "square" ]
Pad[  0   -3mm   0   5mm  2.0mm 0.5mm 0.2mm "1" "1" "" ]
Pad[  0   -3mm   0   3mm  2.0mm 0.5mm 0.2mm "1" "1" "square,onsolder" ]
Pad[  0   -3mm   0   5mm  2.0mm 0.5mm 0.2mm "1" "1" "onsolder" ]
lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-schematic_pages.ru.html0000644000175000017500000001643713634703632021757 00000000000000

Страницы Ñхем и Ñимволов

Ð’ gschem одновременно может быть открыто неÑколько Ñтраниц Ñхем или Ñимволов. Каждой Ñтранице ÑоответÑтвует определённый файл на диÑке. Страницы Ñхем ÑохранÑÑŽÑ‚ÑÑ Ð² файлах Ñ Ñ€Ð°Ñширением .sch, а Ñтраницы Ñимволов — Ñ Ñ€Ð°Ñширением .sym.

Создание новых Ñтраниц и открытие Ñтарых

ЕÑли вы запуÑтили gschem, не выбрав, какую Ñхему или Ñимвол нужно открыть (Ñм. ЗапуÑк gschem), gschem ÑоздаÑÑ‚ и отобразит новую Ñтраницу Ñхемы Ñ Ñ€Ð°Ð¼ÐºÐ¾Ð¹ оÑновной надпиÑи Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° «B». Далее новые Ñтраницы можно Ñоздавать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Файл→Ðовый [File→New] или Страница→ÐÐ¾Ð²Ð°Ñ [Page→New].

Чтобы открыть Ñтраницу Ñ Ð´Ð¸Ñка, выберите Файл→Открыть… [File→Open…], в результате чего откроетÑÑ Ð¾ÐºÐ½Ð¾ выбора файла, где можно будет выбрать нужный файл. Ð’ меню, находÑщемÑÑ Ð² нижней правой чаÑти Ñтого окна, можно также выбрать, какие файлы должны быть показаны — Ñхемы, Ñимволы, или и те, и другие.

ÐÐ°Ð²Ð¸Ð³Ð°Ñ†Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ Ñтраницами

Чтобы перейти на Ñледующую открытую Ñтраницу, выберите Ð¡Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð°â†’Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ [Page→Next] или нажмите Page Down. Чтобы перейти на предыдущую, выберите Ð¡Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð°â†’ÐŸÑ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ [Page→Previous] или нажмите Page Up.

Сохранение Ñтраниц

Чтобы Ñохранить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² Ñвоей Ñхеме или Ñимволе на диÑк, выберите Файл→Сохранить [File→Save]. ЕÑли вы работали Ñ Ð½Ð¾Ð²Ð¾Ð¹ Ñтраницей и ещё не ÑохранÑли её, gschem откроет окно выбора файла и предложит вам выбрать меÑто ÑохранениÑ.

ЕÑли вы работали над ранее Ñохранённой Ñхемой, но хотели бы Ñохранить её в другой файл, выберите Файл→Сохранить как… [File→Save As…].

Закрытие и возврат ранее Ñохранённых Ñтраниц

Чтобы закрыть текущую Ñтраницу, выберите Страница→Закрыть [Page→Close]. ЕÑли Ñтраница была изменена Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñ‚Ð° поÑледнего ÑохранениÑ, gschem ÑпроÑит ваÑ, Ñохранить ли её перед закрытием. ЕÑли вÑе открытые прежде Ñхемы и Ñимволы закрыть, будет Ñоздана Ð½Ð¾Ð²Ð°Ñ Ñтраница точно так же, как еÑли бы вы выбрали Файл→Ðовый [File→New].

ЕÑли поÑле Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñтраницы вы решите вернуть Ñтарую, ранее Ñохранённую верÑию, выберите Файл→Возвратить [File→Revert] или Страница→Возвратить [Page→Revert]. gschem запроÑит у Ð²Ð°Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ðµ того, что вы хотите отказатьÑÑ Ð¾Ñ‚ Ñделанных изменений.

ЕÑли вы решите выйти из gschem, в то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº неÑколько Ñтраниц ещё не Ñохранено, откроетÑÑ Ð¾ÐºÐ½Ð¾ Ñ Ð¸Ñ… ÑпиÑком, где можно будет выбрать, ÑохранÑть ли какие-нибудь Ñтраницы, и какие именно, или вернутьÑÑ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾ к редактированию.

lepton-eda-1.9.10/docs/wiki/geda-todos.html0000644000175000017500000004555113634703632015403 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

Todos

These lists are meant to provide the developers a reminder of undone projects. It is also a wish list capturing user’s desires for new features. New developers can also look here for projects which they might be interested in working on.

See tasks for non-programmer tasks.

The PCB Roadmap is on a separate page.

Tasks for programmers

  • Netlist Hacker
    Somebody who is familiar with the generation/management of netlists is needed to help work on and improve gnetlist. Whether the existing gnetlist is used or if a total rewrite is needed is always an open option. Must be extremely familiar with UNIX/C/C++ programming.
  • Symbol Library Hacker
    Somebody is needed to help get the symbol library up to the current symbol spec. This individual would also help in the integration of new symbols and making sure that they meet the current symbol spec. The task of getting the symbol library up to spec is a combination of manual effort and automated updating (this sort of automated updating lends itself very well to a person with shell/perl scripting familiarity).
  • Windows Port Hacker/Manager
    Somebody with expertise building and testing gEDA on UNIX systems and familiarity with the MS Windows 95/98/NT platform is needed to manage the gEDA Windows port. Testing, bug fixing, packaging, and releasing of gEDA on the Windows platform would be the primary responsibility of this person. This task requires a person who knows C, GTK+, UNIX, and MS Windows programming. The Windows port will NOT move forward if this task is not filled.
  • MacOS port manager
    Have the issues mentioned in "Laying out printed circuit boards with open-source tools" been fixed already?
  • Release Hacker
    Somebody who wants to create and manage releases is needed. Releases occur when the code is ready to be released, so there's no marketing pressure. This task requires gEDA building/testing familiarity as well perhaps some minor code hacking.

Release roadmap

This section should contain a list of only those issues that are considered as being important enough to block release until they are resolved. If a feature or bug gets bumped or has its importance reduced, please remove it from the list or move it to the appropriate later release.

Wishlist for next releases

Description Launchpad bug Developer(s) Status
Common release tasks
Screenshots of release version for a publicity revamp of gEDA website. n/a Peter C
Merge translations from Launchpad upstream n/a Peter C
Check copyright headers are up-to-date 1086316
Common tasks
Where possible, ensure gEDA compiles with deprecated GTK / GLib APIs disabled
gschem
Cure all: “warning : ignoring return value of ‘…’, declared with attribute warn_unused_result†compiling with recent GCC versions
Avoid direct use of /tmp/ for undo schematics
Config GUI for gschem (and gattrib?) Peter B
More non-modal dialog boxes in gschem Edward H
Refactor gschem's action state machine and event dispatching code Edward H
Edit embedded symbols
Per project symbol storage to make the schematics independent from the symbol library
Clipboard support for copy / paste with text representations of gEDA schematic data
Clipboard support for copy / paste with graphic representation of gEDA schematic data
Refactor rendering code to allow its use outside of gschem Peter C
Refactor preview widget to make it available outside gschem Peter C
gschem: interface for editing paths and inserting / deleting nodes n/a
libgeda
UTF-8 / system / filesystem encoding bugs 1868072
TinyScheme instead of Guile Peter B
New config mechanism to support non-turing complete config Peter B Started!
gnetlist
Per-page netlisting in libgeda Peter C
Refactor / improve gnetlist Peter C
gnetlist support for buses Peter C Started!
symbols
Prettify symbols (e.g. gates) using paths n/a

Longer term upgrades desired for specific tools

  • Libgeda:
    • Enable handling of .sch files with symbols having some (but not all) pins promoted onto the .sch file. This will enable pin-swapping via backannotation from PCB. (Architectural change)
    • Merge per-page netlisting from gnetlist (or re-write if necessary).
  • Gschem:
    • Create a button in gschem which will invoke gsch2pcb to create a netlist file ready for PCB to read in.
    • Enable hierarchical bus support. (Architectural change)
    • Make gschemrc variables settable from within gschem using a “settings†pull-down menu item (new). The idea is to update the contents of the gschemrc or gafrc files using pull-down menus, and write the changes out to the correct RC files.
    • Improve symbol library to handle very large symbol collections better.
    • Now the SELECTION is a GedaList and we can get “changed†signals, make more dialogs non-modal:
      • Single attribute editor
      • Text properties
      • Line width and type
      • Fill type
      • Edit slot
      • Edit color
      • Text size (Sets size for new text, so doesn't rely on the selection anyway)
    • Support for embedding LaTeX maths to be rendered in text.
      • This could be output only, or preview bitmaps could be generated and cached by calling LaTeX, dvips and ps2epsi.
      • Would we add a new type of object for this, or allow attaching a “latex=1†attribute to the text object its self?
  • Gattrib:
    • Get printing working.
    • Enable attachment of attributes to nets. (Architectural)
  • Garchive:
    • Incorporate guile so that it reads RC files using the same mechanism as the rest of gEDA/gaf.
  • Refdes_renum:
    • Doesn’t currently work properly with slotted parts (it gives new refdes numbers to slotted parts). Fix it so it recognizes slotted parts and assigns refdes appropriately.
  • PCB
    • Put various commands which are only accessible via a :command(foo) into the top menu. Newbies want to see what actions are in the menus since that way they know what PCB can do.
    • Provide a toolbar of buttons for common actions.
    • Make the difference between editing footprints and PCBs much more obvious. If you're in footprint editing mode, then perhaps make the background color change. (Architectural)
    • Create a “file → save†dialog window. In the dialog window, provide a pull-down giving the option to save as a PCB (default) or as a footprint.

Ideas for new tools or gEDA Suite-wide enhancements

  • Develop scheme for backward annotation of changes from PCB to gschem. Requires modifications to libgeda to support, e.g. pin promotion from .sym file to .sch file (enabling pin swapping). (Architectural)
  • Create a Gerber → .pcb conversion tool. Result is metal layer or footprint editable by PCB. This might be a Perl script.
  • Implement lockfiles between gattrib and gschem.

Code cleanup and refactoring

  • Remove use of non GList linked lists. This is very invasive work, but allows much code cleanup where mixtures of the old and GList methods were available.
  • Remove unused variables and functions from various structures. Unused may also include “usedâ€, but ineffective.
  • Remove back-exports to libgeda of global function pointers from gschem and other libgeda “clientsâ€. These aren't portable.
  • Clean up / produce generic API interfaces to act on an object of any type, or lists of objects.
  • Convert functions used within one â€.c†file, and not useful for public API into static functions, removing from prototype.h.
lepton-eda-1.9.10/docs/wiki/geda-installation.html0000644000175000017500000002477413634703632016760 00000000000000

Translations of this page are also available in the following languages: Français, РуÑÑкий.

Installation help

This section provides some information useful to people who want to install gEDA onto their computers.

See the download page for more general information.

Debian distributions

The repository of the Debian distribution contains binary packages of the core geda/gaf tools including gschem, pcb, gnucap and gerbv. Due to license specifics some tools like ngspice might not be distributed by Debian (or might be in Debian “nonfreeâ€). However, the geda suite will work nicely on Debian, if you have prepared your box by installing some development packages and built it yourself or installed it from somewhere else. For more detailed information, see the debian installation notes.

Fedora and RedHat distributions

For RedHat distributions you may wish to download the RPM binaries prepared by Wojciech Kazubski.

Since Fedora Core 5, major parts of gEDA are available from Fedora Core Extra.

For more informations read the fedora rpm installation notes.

SuSE and OpenSuSE distributions

For SuSE and OpenSuSE distributions there are rpm packages for several gEDA related programms. They've been prepared by Werner Hoch using the OpenSuSE Build Service.

You can install the rpm packages with YaST, yum or any other installation tool. The packages are located in a yum repository at OpenSuSE or OpenSuSE mirror.

For more informations read the SuSE rpm installation notes.

Ubuntu distributions

Mac OSX distributions

For Mac OSX distributions you may wish to download the latest Fink binaries prepared by Charles Lepple. See also notes on using gEDA on Mac.

Windows

gEDA is a set of GNU/Linux or Unix-native programs. There is no supported Windows version. However, since most programs are based on the cross-platform GTK+ libraries, it is possible to build a Windows version. Therefore, if you want a Windows version, please feel free to grab the sources and try to build one yourself.

Experimental releases of gEDA for Microsoft Windowsâ„¢. Still a work in progress.

MinGW hooks are built into many of the gEDA applications. Therefore, knowledgeable individuals have been able to build, install, and run many of the tools on Windows systems. Also, the tools do run on Windows under the Cygwin environment. However, binary executables for most of the gEDA Suite are not currently distributed by the gEDA Project. If you are a developer and wish to provide ongoing support for Windows, please contact the project via the geda-user e-mailing list.

Please see the cygwin page on this wiki for more information on building gEDA using cygwin.

This worked to install geda on Windows XP on 3/9/2012:

  1. Get the snapshot file “build-20120307.zip†from http://www.delorie.com/pcb/geda-windows/ into a new folder gEDA on the C:/ hard drive.
  2. Extract the zipped files into the same folder (C:/gEDA).
  3. Run the geda-runtime.exe file to install runtime.
  4. Run the pcb-20110918.exe file to install pcb.
  5. Set environment variables under control panel → system → Advanced tab
    1. Click on “Environment Variables†(at bottom)
    2. Create the following User Variables (click on “New†to create):
      1. Name: PATH Value: \gEDA\bin
      2. Name: GUILE_LOAD_PATH Value: \gEDA\share\guile\1.8
      3. Name: GEDADATA Value: \gEDA\share\gEDA
  6. Copy the file “loaders.cache†from C:/Program Files/gEDA/bin and paste it into the existing folder C:/gEDA/lib/gdk-pixbuf-2.0/2.10.0
  7. The gschem program now should work properly. To run it, go to folder C:/gEDA/bin/ and double-click on the file “gschem.exeâ€/
  8. Create a subfolder C:/gEDA/Schematics, and save all of the files you create with gschem within this folder (or in further subfolders).
lepton-eda-1.9.10/docs/wiki/geda-devmacosx.ru.html0000644000175000017500000003412013634703632016657 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

См. также: Сборка пакета pcb на OS X, Jon Schneider

gEDA на платформе Mac

ЕÑть неÑколько вариантов запуÑка gEDA на Mac'е. Можно либо уÑтановить пакет Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ пакетных менеджеров fink или macports, либо Ñобрать из иÑходных текÑтов, либо иÑпользовать комбинацию Ñтих двух ÑпоÑобов. И fink, и macports уÑтановÑÑ‚ программное обеÑпечение в отдельном корневом каталоге или в «пеÑочницу» (/sw Ð´Ð»Ñ fink, /opt Ð´Ð»Ñ macports), так что они не будут Ñмешивать Ñто программное обеÑпечение Ñ ÑобÑтвенным программным обеÑпечением Mac'а. Больше о плюÑах и минуÑах Ñтих пакетных менеджеров можно узнать из онлайн-документации.

Я уÑтановил оба пакетных менеджера — и fink, и macports, — и поÑледнее Ð²Ñ€ÐµÐ¼Ñ Ð¸Ñпользую macports. Ð’ Ñвой .bash_profile Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸Ð» неÑколько Ñтрок, позволÑющих уÑтановкой переменной пути при запуÑке оболочки выбирать нужный мне пакетный менеджер. Эти Ñтроки показаны ниже.

Лично Ñ Ð´Ð»Ñ ÑƒÑтановки завиÑимоÑтей и Ñборки и уÑтановки программ gEDA из иÑходных текÑтов иÑпользую macports. Он облегчает мне получение поÑледнего кода из Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ git.

PS3="Какой порт?:"
echo "Выберите из нижеÑледующего ÑпиÑка."
select NAME in macports fink mac
do
  break
done
echo "УÑтановка пути в предпочитаемое Ð´Ð»Ñ $NAME значение."
case $NAME in
macports) export PATH=/opt/local/bin:${PATH} PS1="opt-\A-[\w]\$" ;;
fink) test -r /sw/bin/init.sh && . /sw/bin/init.sh PS1="sw-\A-[\w\\$" ;;
*) PS1="osx-\A-[\w]\$" ;;
esac

echo "Путь уÑтановлен в " $PATH

УÑтановка gEDA Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ fink

ИнÑтрукции по уÑтановке gEDA Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ fink можно найти на Ñтранице загрузки gEDA или же Ñразу перейти на http://www.ghz.cc/charles/fink/. С помощью fink можно уÑтановить gEDA в бинарном виде или Ñкомпилировать из Ñвежего Ñреза разработки, еÑли разрешена неÑÑ‚Ð°Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ð²ÐµÑ‚ÐºÐ° fink. (Чтобы узнать, как разрешить неÑтабильную ветку, обратитеÑÑŒ к документации по fink).

Как только fink уÑтановлен, gEDA (и другие программы) можно уÑтановить из командной Ñтроки или Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ графичеÑкого интерфейÑа программы fink commander. Из командной Ñтроки оÑновные программы gEDA Suite можно уÑтановить командой:

fink install geda-bundle

УÑтановка gEDA Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ macports

Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð°ÑŽ над Ñборкой выпуÑка gEDA Ð´Ð»Ñ macports. macports можно загрузить Ñо Ñтраницы http://www.macports.org/. Ð”Ð»Ñ macports Ñ Ð¸Ñпользую графичеÑкий Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Porticus. Его можно загрузить Ñо Ñтраницы http://porticus.alittledrop.com/.

Пока выпуÑк Ð´Ð»Ñ macports не готов, можно иÑпользовать Porticus (или macports из командной Ñтроки), чтобы уÑтановить Ñледующие завиÑимоÑти, затем загрузить архивы иÑходных текÑтов программ Ñо Ñтраницы загрузки gEDA и Ñкомпилировать их.

  • gettext
  • guile
  • gtk2
  • groff

Я уÑтановил также python25 и python_select. python_select позволÑет выбрать, какую верÑию python ваш Mac будет запуÑкать по умолчанию.

Как опиÑано здеÑÑŒ: Building gEDA/gaf, Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка программ необходимо уÑтановить переменную окружениÑ, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ‚ Guile загружать Ñвои ÑовмеÑтно иÑпользуемые библиотеки:

 $ export LTDL_LIBRARY_PATH=/opt/local/lib 

Сборка проекта

ПоÑле уÑтановки вÑех завиÑимоÑтей (Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ fink или macports) проÑто Ñледуйте инÑтрукциÑм по Ñборке и уÑтановке в разделе Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð². У Ð¼ÐµÐ½Ñ Ð½Ðµ было проблем (была проблема Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÐµÐ¹ strnlen, не ÑвлÑющейÑÑ Ñ‡Ð°Ñтью Ñтандартных библиотек gcc, но как только она была иÑправлена, Ñ Ñмог без проблем Ñобирать программы и работать Ñ Ð½Ð¸Ð¼Ð¸). Также Ñ Ð½Ð°Ñтроил проект XCode Ð´Ð»Ñ Ð¾Ñ‚Ð»Ð°Ð´ÐºÐ¸ в нём кода gEDA. Я напишу об Ñтом на данном Ñайте, как только вÑÑ‘ будет готово.

Работа Ñ Python

Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð°ÑŽ в myEclipse Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð¾Ð¼ PyDev Ð´Ð»Ñ python. Eclipse можно загрузить Ñо Ñтраницы http://www.eclipse.org/, myEclipse — Ñо Ñтраницы http://www.eclipse.org/, myEclipse — Ñто пакет Eclipse Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð°Ð¼Ð¸, подпиÑка на который в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ñтоит $31.75 в год. PyDev можно загрузить Ñо Ñтраницы http://pydev.sourceforge.net/. КажетÑÑ, пока вы не купите лицензию, он будет выдавать надоедливое вÑплывающее окно, но в оÑтальном, кажетÑÑ, при работе Ñ python-кодом в Eclipse ведёт ÑÐµÐ±Ñ Ñ…Ð¾Ñ€Ð¾ÑˆÐ¾.

Текущие проблемы в Mac

  • Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð½Ðµ запуÑкаетÑÑ gEDA Manager, так как ему нужен пакет pyinotify, оÑнованный на инфраÑтруктуре Ñдра Linux. ЕÑли кто-нибудь знает ÑпоÑоб заÑтавить gEDA Manager запуÑтитьÑÑ Ð½Ð° Mac'е, Ñ Ð±ÑƒÐ´Ñƒ очень признателен. Ð’ противном Ñлучае Ñ Ð¿Ð»Ð°Ð½Ð¸Ñ€ÑƒÑŽ глÑнуть на кроÑÑплатформенный ÑпоÑоб Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ gEDA Manager.

УÑтановка gEDA Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ VirtualBox

Ðльтернативным ÑпоÑобом запуÑка программ gEDA на Mac ÑвлÑетÑÑ Ð¸Ñ… уÑтановка в Linux в виртуальном окружении. VirtualBox ÑвлÑетÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹ виртуализации профеÑÑионального ÑƒÑ€Ð¾Ð²Ð½Ñ Ð´Ð»Ñ x86, доÑтупной под лицензией GPL. ПоÑле уÑтановки Ñтой программы внутри данного Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ загрузить и уÑтановить Linux-диÑтрибутив. ПреимущеÑтво Ñтого метода — иÑпользование бинарных пакетов, уже Ñкомпилированных Ð´Ð»Ñ Linux, а уÑтановка, даже ÑƒÑ‡Ð¸Ñ‚Ñ‹Ð²Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÑƒ и уÑтановку операционной ÑиÑтемы, может очень быÑтро оказатьÑÑ Ñравнимой Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñцией и Ñборкой gEDA Suite в fink.

Программы gEDA Suite протеÑтированы и, кажетÑÑ, работают должным образом в Ubuntu, запущенном в VirtualBox на Mac. ПоÑле загрузки и уÑтановки VirtualBox, загрузите Ubuntu и запуÑтите программу уÑтановки данного диÑтрибутива, ÑÐ»ÐµÐ´ÑƒÑ Ð¸Ð½ÑтрукциÑм VirtualBox. Как только Ubuntu уÑтановитÑÑ, можно уÑтановить gEDA, ÑÐ»ÐµÐ´ÑƒÑ (упрощённым, Ñтандартным) процедурам уÑтановки gEDA в Linux. Ðаберите в командной Ñтроке:

sudo apt-get install geda

Этой командой уÑтанавливаютÑÑ gschem, gnetlist и gattrib. Затем, Ð´Ð»Ñ ÑƒÑтановки дополнительных приложений, наберите:

sudo apt-get install geda-utils
sudo apt-get install pcb-gtk
sudo apt-get install gerbv
sudo apt-get install geda-xgsch2pcb
lepton-eda-1.9.10/docs/wiki/geda-cygwin.ru.html0000644000175000017500000001225313634703632016171 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

УÑтановка gEDA/gaf в Windows Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Cygwin

Ð’ наÑтоÑщем руководÑтве опиÑываетÑÑ ÑпоÑоб Ñборки gEDA/gaf (gschem and friends) в операционной ÑиÑтеме Windows. Ð’ нём иÑпользуетÑÑ Cygwin как проÑлойка между Windows и миром *nix (Ñ‚. е. gcc, make, bash и Ñ‚. д.).

ИнÑтрукции

1. Загрузите и запуÑтите setup.exe Ñ Ð²ÐµÐ±-Ñтраницы cygwin: http://www.cygwin.com.

Ð’ диалоговом окне выбора пакетов выберите Ñледующие пакеты:

(ПодÑказка: нажмите один раз кнопку View, чтобы вывеÑти ÑпиÑок в алфавитном порÑдке)

atk-devel
crypt
file
gcc
gtk2-x11-devel
guile-devel
libgmp-devel
libtool1.5
make
pango-devel
patchutils
pcre-devel
pcre-doc
pkg-config
xorg-x11-devel
xorg-x11-fscl
xterm

2. Добавьте Ñледующие Ñтроки в Ñвой .bash_profile:

export LD_LIBRARY_PATH=$HOME/geda/lib:$LD_LIBRARY_PATH
export PATH=$HOME/geda/bin:$PATH
export PKG_CONFIG_PATH=$HOME/geda/lib/pkgconfig:$PKG_CONFIG_PATH

Обновите Ñвоё окружение:

$ source .bash_profile

3. Перейдите на Ñтраницу загрузки иÑходных текÑтов программ gEDA.

Из группы gEDA/gaf загрузите только те пакеты, верÑии которых обозначены в виде дат. Ðеобходимые завиÑимоÑти уже были уÑтановлены в шаге 1. Однако, еÑли вы не уÑтановили или не Ñобрали пакет libstroke, не забудьте добавить в Ñтроку opts= ключ

--disable-stroke

Добавьте в Ñтроку opts= в Makefile Ñледующие ключи:

--disable-update-mime-database --disable-update-desktop-database --disable-nls

4. Перейдите к каталогу загрузки и введите:

$ make open
$ make install
( ...терпение... )

5. Теперь, чтобы Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾ отображалаÑÑŒ из меню Ñправки gschem:

УÑтановите меÑтоположение иÑполнÑемых файлов вашего браузера и программы проÑмотра PDF и Ñделайте на них ÑÑылки в /usr/bin. Ðапример:

$ ln -s "c:\Program Files\Internet Explorer\iexplore.exe" /usr/bin/iexplore
$ ln -s "c:\Program Files\Firefox\firefox.exe" /usr/bin/firefox
$ ln -s "c:\Program Files\Adobe\Acrobat 7.0\Reader\AcroRd32.exe" /usr/bin/acroread

Попробуйте:

$ iexplore
( поÑвлÑетÑÑ Microsoft Internet Explorer )
$ firefox
( поÑвлÑетÑÑ Firefox, еÑли он уÑтановлен )
$ acroread
( поÑвлÑетÑÑ Adobe Acrobat Reader )
$ gschemdoc -m
( поÑвлÑетÑÑ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ gEDA )

6. Ðаконец, запуÑтите X-Ñервер

$ startx

ÐаÑлаждайтеÑÑŒ!

lepton-eda-1.9.10/docs/wiki/sitemap.html0000644000175000017500000013427113634703632015015 00000000000000

Sitemap

General

Documentation

Utilities

gnetlist backends

Icarus Verilog

Development

Improvements/planned features/ideas

Wishlist

Google Summer of Code

Placeholder and redirection pages

Related projects

lepton-eda-1.9.10/docs/wiki/geda-example_usbjtag.ru.html0000644000175000017500000001035113634703632020040 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

Пример JTAG интерфейÑа на базе USB

Пример интерфейÑа JTAG на базе USB в каталоге:
${prefix}/share/doc/geda-gaf/examples/gTAG,
где ${prefix} — уÑтановочный Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð´Ð»Ñ gEDA в вашей ÑиÑтеме (обычно /usr или /usr/local).

gTAG - уÑтройÑтво ÑопрÑÐ¶ÐµÐ½Ð¸Ñ USB и JTAG
=======================================

Это файл README Ð´Ð»Ñ Ñхемы gTAG.

Краткое опиÑание
----------------
gTAG -- Ñто уÑтройÑтво ÑопрÑÐ¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ USB-порта вашего компьютера,
предназначенное Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° информации Ñо Ñхемами, поддерживающими JTAG.

ÐвторÑкое право
---------------
Владелец авторÑкого права (C) на Ñти Ñхемы -- Stefan Petersen
(spe@stacken.kth.se), Ñхемы выпущены под лицензией GPL (Ñм. прикреплённый
файл COPYING). GPL напиÑана главным образом Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ обеÑпечениÑ, то
еÑть Ð´Ð»Ñ Ð¸Ð½Ñ‚ÐµÐ»Ð»ÐµÐºÑ‚ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð¹ ÑобÑтвенноÑти в Ñлектронном виде. Определение
Ñхемы gTAG как интеллектуальной ÑобÑтвенноÑти в Ñлектронном виде позволÑет
выпуÑкать её под лицензией GPL.

Как?
----
Эти Ñхемы Ñозданы Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gschem, а ÑпиÑки Ñоединений Ñгенерированы затем
Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gnetlist. И gschem, и gnetlist -- Ñто чаÑти gEDA
(http://www.geda-project.org).

Файлы
-----
ДиÑтрибутив Ñхем gTAG должен ÑоÑтоÑть из Ñледующих файлов:
* README - данный файл;
* COPYING - уведомление об авторÑком праве GPL;
* crdist.sh - Ñкрипт shell, иÑпользуемый Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ tar.gz;
* ChangeLog - попытка нацарапать, что изменилоÑÑŒ между верÑиÑми;
* Четыре Ñимвола компонентов:
  - 7414-1.sym - оригинальный Ñимвол gschem 7414 без атрибутов питаниÑ;
  - max882.sym - преобразователь 5 В в 3.3 В;
  - cy7c64603-52nc.sym - USB-микроконтроллер от Cypress;
  - sn75240pw.sym - ограничитель перенапрÑжений Ð´Ð»Ñ USB;
  - copyleft.sym - Ñимвол Ñ Ñ‚ÐµÐºÑтом GPL Ð´Ð»Ñ Ð²Ñех Ñхем.
* ПÑть Ñхем Ñ Ñ‡ÐµÑ‚Ñ‹Ñ€ÑŒÐ¼Ñ Ñимволами:
  - gTAG.sch.sch - оÑÐ½Ð¾Ð²Ð½Ð°Ñ Ñхема Ð´Ð»Ñ gTAG;
  - gTAG-jtagio.[sym/sch];
  - gTAG-ucont.[sym/sch];
  - gTAG-consio.[sym/sch];
  - gTAG-psu.[sym/sch];
* rc-файлы gEDA Ð´Ð»Ñ Ñтого проекта:
  - commonrc   - Ñодержит общие Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸ Ð´Ð»Ñ gschem, и Ð´Ð»Ñ gnetlist;
  - gnetlistrc - Ñпецифичен Ð´Ð»Ñ gnetlist, вызывает commonrc;
  - gschemrc   - Ñпецифичен Ð´Ð»Ñ gschem, вызывает commonrc;
lepton-eda-1.9.10/docs/wiki/geda-usage.html0000644000175000017500000004520613634703632015354 00000000000000

Translations of this page are also available in the following languages: Français, РуÑÑкий.

What's the best way to learn to use gEDA?

The first thing to do is to read and understand Bill Wilson’s excellent gschem -> gsch2pcb -> PCB tutorial and/or the DJ Delorie’s pcb tutorial. This should get you started.

Also be sure to check out the other gEDA documentation available on this website.

However, the best way to learn the gEDA Suite is to download it and try it out yourself! If you consult Bill Wilson’s tutorial while trying the suite for yourself, you will become an expert in no time!

What does the design flow in gEDA look like?

Here is a quick graphic for simple PCB design flow using the gEDA Suite:

design_flow.jpg

In words, the design flow for a simple PCB proceeds as follows:

  1. Create your schematic using “gschemâ€.
  2. Check your schematics with the DRC checker. Learn about it here.
  3. Assign reference designators to your components using “grenum†or “refdes_renum†(or just attach them manually from within “gschemâ€).
  4. Assign other component attributes (such as component footprints) using “gattrib†(or just attach them manually using “gschemâ€).
  5. Create a preliminary layout file and netlist using “gsch2pcbâ€.
  6. Lay out and route your board using “pcbâ€.
  7. Output Gerbers from within “pcb†using “File → print layoutâ€, and select “Gerber/RS274X†as the output file type.

If you make changes, or add to your schematic or attributes while in layout, update your board file like this:

  1. Edit your schematic and/or attributes (â€gschem†or “gattribâ€).
  2. Check your schematics with the DRC checker. Learn about it here.
  3. Forward annotate your changes using “gsch2pcbâ€.
  4. From within “pcbâ€, update your components using “File → load layout data to paste bufferâ€, and then click on the drawing area to place the components.
  5. From within “pcbâ€, update your netlist using “File → load netlist fileâ€.

Usually, users invoke the individual tools from the command line. A project manager (â€gedaâ€) exists, but needs improvement.

What limitations exist for the gEDA tools?

The most important thing to keep in mind about gEDA’s limitations is this: GEDA is an open-source software project. It has some limitations, but unlike many instances of commercial software, its limitations are not artificial, arbitrary, or driven by marketeering. That is, gEDA is neither nagware, crippleware, demoware, nor “limited student editionâ€-ware. Any limitations to the gEDA tools exist because the programmers haven’t yet implemented that particular feature. Since the code is open for all to see and modify, anybody is welcome to implement a new feature or remove a limitation, and then submit their patches to the project. If you are a hacker and are interested in making a contribution to the gEDA project, consider tackling one of the limitations listed below! You will make a lot of friends, and earn international exposure!

  • Hierarchical bus support: Support for hierarchical buses doesn’t exist yet.
  • Net and pin attributes in gattrib: Attaching routing attributes for nets and pins in gattrib remains TBD. (Net attributes are useful for high-speed design. For example, it’s often important that all tracks in a bus have the same electrical length. Unfortunately, it’s not clear that PCB will support these routing attributes right now.)
  • Backannotation from PCB to gschem. Support for pinswapping and modification of the design file in pcb with subsequent backanno to gschem is TBD.
  • The project manager “geda†is out of date, and needs an update.
  • Layer count in PCB: Currently, the layer count in PCB is limited to 16 layers plus two silk layers by default. This is more than adequate for small- and mid-sized projects. If necessary, the number of layers can be increased arbitrarily at compile time.

What local configuration files are used for a project?

A typical PCB design requires the following config files in your local directory:

  • gafrc: This holds configuration info for the gEDA/gaf programs (i.e. gschem, gattrib, gnetlist, etc.). It should hold pointers to your local symbol directory (if any).
  • attribs: If you use “gnetlist -g bom2†to create a project BOM, then you need this file in order to specify which attributes are written into the BOM.
  • projectrc: When going to layout, “gsch2pcb projectrc†is a convenient way to specify paths to local footprint directories, as well as hold other configuration information for “gsch2pcbâ€. Note that this file may have any name you choose; I like to use projectrc since its name is suggestive of its function.

Further detailed information about each configuration file is provided in the documentation for each facility.

What are the names and locations of the RC files used with gEDA/gaf applications?

The various gEDA/gaf applications (gschem, gattrib, gnetlist, etc.) use a set of RC files to set various configurable options in the tools themselves. These RC files are read in by each application upon start-up. Philosophically, there are three places where a gEDA/gaf application looks for RC files:

  • In the system installation directory: ${prefix}/share/gEDA/. This location holds RC files which are global to the entire system, and are common to all users. These RC files must be found and successfully loaded for the gEDA application to work properly. ${prefix} is set to the path where you installed gEDA/gaf.
  • In the user’s home directory: $HOME/.gEDA/. This location holds RC files which apply to all of this user’s projects. .gEDA is a directory. These files are optional. Do not just place a copy of the system-gschemrc (or whatever) into this directory; this will not work properly. The right thing to do is to override specific things you want to change.
  • In the local project directory. This location holds RC files which apply to the local project (which also lives in this directory). These RC files provide specific overrides, such as component or source libraries. This file is also optional. Do not just place a copy of the system-gschemrc (or whatever) into this directory; this will not work properly.

The RC file system has evolved over time. Originally, each gEDA/gaf application used its own RC file (for example, gschem used gschemrc, gnetlist used gnetlistrc, and so on). However, as the number of gEDA/gaf applications grew, it became clear that the individual RC files held a lot of redundant information, and that new users were confused by all the different RC files. Therefore, the different RC files were consolidated into a single file, called “gafrcâ€. However, because gschem needs all kind of special customizations, we decided to keep the system gschemrc in addition to all the gafrc files. Also, in order to preserve backwards compatibility, the old RC file system is still maintained in the system directory. Accordingly, the current RC file configuration looks like this:

  • In the system installation directory:
    • system-gafrc – This contains most of the global gaf settings.
    • system-gattribrc
    • system-gnetlistrc
    • system-gschemrc – This contains lots of settings specific to gschem
    • system-gschlasrc
    • system-gsymcheckrc
  • In the user’s ${HOME} directory:
    • .gEDA/gafrc
  • In the local project directory:
    • gafrc – This should contain your local overrides, such as pointers to locally defined symbols.

Also loaded by the system-gschemrc is the gschem-darkbg or gschem-lightbg color definitions.

Finally, note that gEDA/gaf applications will look for up to six configuration files upon startup:

  1. system-gafrc
  2. system-gschemrc (or whatever)
  3. ${HOME}/.gEDA/gafrc
  4. ${HOME}/.gEDA/gschemrc (or whatever)
  5. ./gafrc
  6. ./gschemrc (or whatever)

If you get a warning that your app can’t find one or another of these files, don’t worry. Most of them are optional. The only required files are the system RC files.

What about a project manager?

The individual components in the gEDA design suite do not have the concept of an end-to-end project. Rather, they deal with their own files (e.g. “gschem†→ .sch, “pcb†→ .pcb). However, there is a project manager, called “gedaâ€, which you can invoke from the command line. It’s goal is to help manage your design as a whole as you take it from concept, through schematic capture, attribute attachment, layout, BOM generation, and so on.

Unfortunately, development of “geda†has not kept up with the rest of gEDA/gaf. In particular, “geda†does not use the latest tools or methods to accomplish the individual design tasks. Therefore, we recommend that user simply invoke the individual tools (e.g. gschem, gattrib, gnetlist, gsch2pcb, etc) from the command line. Meanwhile, if your are a hacker are looking for a smallish project to adopt, polishing up “geda†would make a nice introduction to the gEDA Suite, and you would make a lot of friends by doing so!

Can we change gEDA to use an XML file format?

We have a recurrent debate about XML file formats on geda-user every two or three years. I think it has to do with how long it takes us to lose our institutional memory due to churn on the mailing list.

It's unlikely the gEDA Project will ever switch to an XML file format for schematics or symbols, so get used to it. Some reasons against XML are:

  1. GEDA/gaf already has a fixed, well documented, ASCII file format. It's over 8 years old as of 2007. It's well used and well tested.
  2. We already have a parser for our file format. It's lightweight & thoroughly debugged.
  3. There are lots of legacy designs using the file format out there already. People would scream if we switched file formats since their old designs would become obsolete. And supporting two file formats – old and new – would be a major PITA.
  4. XML is a generalized file format. Therefore, XML files tend to become bloated pigs. The gEDA file format is light & well adapted to its purpose: representing graphical information pertinent to schematic diagrams in electronics.
  5. One purported benefit for XML files is that there are lots of open-source parsers for them available, making integration into libgeda trivial. That's the theory, but in reality the job of a parser is to analyze and parse the input, and then stick it into datastructures suitable for use with the rest of gschem's code. An open-source parser does about 1/3 of the job we need (i.e. reading & analyzing the file, and creating some kind of parse tree). The rest of the job involves putting the stuff in the parse tree into libgeda's data structures. That's lots of work. Therefore, the purported advantage of the freely-available XML parser is a chimera. Yes, XML may be of interest for a new program written from the ground up, but not for an existing program like gEDA.
  6. GEDA developer time is better used on implementing new features like backannotation. Using developer time on porting our file format to XML is a sideways move which doesn't provide the end user any more utility, but soaks up valuable developer time.
  7. The other benefit of XML is that it is more-or-less human readable. I'll grant that this is a valid assertion. Our current file format is not readable by a human who has never read the documentation. However, our current file format *is* ASCII, and is completely documented, so an essential reason for readability – the ability to write scripts against the file – is already taken care of. Also, a human can certainly read the file format once he has taken the time to RTFM. Human readability – without knowing the file format – is a “nice to have†which isn't high on my priority list.
lepton-eda-1.9.10/docs/wiki/Makefile.in0000644000175000017500000004303513634703705014530 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = docs/wiki ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/geda-assert.m4 \ $(top_srcdir)/m4/geda-awk.m4 $(top_srcdir)/m4/geda-cairo.m4 \ $(top_srcdir)/m4/geda-contrib.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-liblepton.m4 \ $(top_srcdir)/m4/geda-libleptonrenderer.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lepton-data-dirs.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pcb-data-dirs.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITMAP_DIRECTORY = @BITMAP_DIRECTORY@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CAIRO_PDF_CFLAGS = @CAIRO_PDF_CFLAGS@ CAIRO_PDF_LIBS = @CAIRO_PDF_LIBS@ CAIRO_PNG_CFLAGS = @CAIRO_PNG_CFLAGS@ CAIRO_PNG_LIBS = @CAIRO_PNG_LIBS@ CAIRO_PS_CFLAGS = @CAIRO_PS_CFLAGS@ CAIRO_PS_LIBS = @CAIRO_PS_LIBS@ CAIRO_SVG_CFLAGS = @CAIRO_SVG_CFLAGS@ CAIRO_SVG_LIBS = @CAIRO_SVG_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOT = @DOT@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LIBS = @GDK_LIBS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GETTEXT = @GETTEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIT = @GIT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILD = @GUILD@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_EFFECTIVE_VERSION = @GUILE_EFFECTIVE_VERSION@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_LTLIBS = @GUILE_LTLIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEPTONDATADIR = @LEPTONDATADIR@ LEPTON_SCM_PRECOMPILE_DIR = @LEPTON_SCM_PRECOMPILE_DIR@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBLEPTONRENDERER_SHLIB_VERSION = @LIBLEPTONRENDERER_SHLIB_VERSION@ LIBLEPTON_GETTEXT_DOMAIN = @LIBLEPTON_GETTEXT_DOMAIN@ LIBLEPTON_SHLIB_VERSION = @LIBLEPTON_SHLIB_VERSION@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGOCAIRO_CFLAGS = @PANGOCAIRO_CFLAGS@ PANGOCAIRO_LIBS = @PANGOCAIRO_LIBS@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ wikidir = $(docdir)/wiki all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/wiki/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign docs/wiki/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-data-local install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-local .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am dist-hook distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-data-local install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-local .PRECIOUS: Makefile # # NOTE: While constructing the list of files to install, # we search for symbolic links (-type l) as well as # regular files (-type f). This is done to facilitate # out-of-source builds using a tree of symbolic links, # created, for example, with lndir(1). # # Copy wiki into distribution dist-hook: @for dir in $$(cd $(srcdir) && find . -type d -print | sed -e's:^\./::' ); do \ $(MKDIR_P) $(distdir)/$$dir; \ list=`(cd $(srcdir)/$$dir && find . -maxdepth 1 \( -type f -o -type l \) \! -name 'Makefile*' \! -name '.gitignore' -print | sed -e 's:^\./::')`; \ for file in $$list; do \ cp -p $(srcdir)/$$dir/$$file $(distdir)/$$dir || exit $$?; \ done; \ done # Install wiki install-data-local: @for dir in $$(cd $(srcdir) && find . -type d -print | sed -e's:^\./::' ); do \ d="$(DESTDIR)$(wikidir)/$$dir"; \ $(MKDIR_P) $$d; \ list=`(cd $(srcdir)/$$dir && find . -maxdepth 1 \( -type f -o -type l \) \! -name 'Makefile*' \! -name '.gitignore' -print | sed -e 's:^\./::')`; \ if test -n "$$list"; then \ echo " ( cd $(srcdir)/$$dir && $(INSTALL_DATA)" $$list "'$$d' )"; \ (cd $(srcdir)/$$dir && $(INSTALL_DATA) $$list "$$d") || exit $$?; \ fi; \ done # Uninstall wiki uninstall-local: @for dir in $$(cd $(srcdir) && find . -type d -print | sed -e's:^\./::' ); do \ d="$(DESTDIR)$(wikidir)/$$dir"; \ list=`(cd $(srcdir)/$$dir && find . -maxdepth 1 \( -type f -o -type l \) \! -name 'Makefile*' \! -name '.gitignore' -print | sed -e 's:^\./::')`; \ if test -n "$$list"; then \ echo " ( cd '$$d' && rm -f" $$list ")"; \ (cd "$$d" && rm -f $$list) || exit $$?; \ fi; \ done # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-graphics.html0000644000175000017500000001566213634703632020012 00000000000000

Graphics

There are a variety of purely graphical elements that can be used in gschem. For example, these are useful for drawing symbol graphics, marginal notes or diagrams in schematics, or for highlighting particular functional sections within a larger design. They are ignored by gnetlist.

When selected, a graphical element displays one or more control point handles. These can be used to edit the element by clicking on them with the left mouse button and dragging them to a new position.

If you use the keybinding for creating a graphical element, the first control point to place is determined by the current position of the mouse pointer.

Lines

Basic straight lines can be added to a page using Add→Line.

Boxes

A rectangular box can be added to a page using Add→Box. A box is created by choosing two points at opposite corners.

Arcs

Circular arcs can be added using Add→Arc. Left-click to select a midpoint for the circular arc; this will cause the “Arc Params†window to appear. You can then specify the radius, start angle and sweep angle for the new arc. Click OK to create the arc.

Arcs have three control points for editing. To alter the radius of the arc, use the central control handle, and use the outer two handles to adjust the start and sweep angles of the arc. You can also display the “Arc Params†window again by selecting an arc and using Edit→Edit.

Circles

Circles can be added to a page with Add→Circle. Left-click once to select the location to centre the circle, and again to set the radius. A circle has only one control point, which controls its radius.

Text

Text can be added to a page using Add→Text. This displays the “Text Entry…†dialog box, where you can enter multiline text. Click Apply to begin placing the text, and left-click on the schematic view area to add it to the page.

You can add an overbar to text by using the control sequence â€\_â€, which will not appear on the page. For example, the “B†in â€CS/\_B\_†will be displayed with an overbar. If a text object is in the form â€<name>=<value>â€, then it is an attribute.

To edit text, select it and use Edit→Edit Text… to display the Edit Text Properties window. You can use this to edit the text itself, and also the color index, font size and alignment of the text.

The alignment setting affects the location of the text object's anchor point relative to the text itself. To see where the anchor point of a text object is, select it and zoom in. You will then be able to see a small “X†which shows the anchor point.

Pictures

Pictures display an external image on a schematic or symbol page. To add a picture, use Add→Picture. This will display a file selection window, where you can select an image file to insert. If gschem cannot load the chosen file, an error message will be displayed.

When you have chosen an image file, left click to start placing the image, and again to choose what size to draw it.

To resize an image, select it and drag its control handles. It will automatically be kept at the correct aspect ratio. You can change the image to be displayed using Edit→Edit, which will display a file selection window to select a replacement image file.

Like components, a picture can either link to the image file it displays, or the image file can be copied (“embeddedâ€) into the schematic or symbol file. By default, a picture links to an image file. You can embed an image using Edit→Embed Component/Picture, and reverse the process with Edit→Unembed Component/Picture.

If an embedded picture cannot be matched up with an available image file, Edit→Unembed Component/Picture will not modify it.

lepton-eda-1.9.10/docs/wiki/index.html0000644000175000017500000001735113634703632014461 00000000000000

gEDA Project Wiki

What is gEDA?

Translations: Français, Español, РуÑÑкий

The gEDA project is developing a full GPL'd suite and toolkit of Electronic Design Automation tools. These tools are used for electrical circuit design, schematic capture, simulation, prototyping, and production. Currently, the gEDA project offers a mature suite of free software applications for electronics design, including schematic capture, attribute management, bill of materials (BOM) generation, netlisting into over 20 netlist formats, analog and digital simulation, and printed circuit board (PCB) layout.

The tools involved in the suite enable you to professional-quality design of low- to mid-level complexity. Using the gEDA tools, you can create PCB of up to 8 layers (soon more) with an unlimited number of components and nets. The tools are suitable for use by students, educators, hobbyists, consultants, small businesses, and even in large corporations where an engineer might need to crank out a quick PC board (e.g. for a test stand) in a hurry.

Please see the people page for a list of all active and inactive gEDA developers.

gschem (click for full size) pcb (click for full size) gerbv (click for full size)

Frequently asked questions

Community

Users may discuss development, help, installation, and working tips through the mailinglists.

How to report bugs

There is also a gEDA IRC channel at irc.oftc.net/6667 on the #geda channel. This is the official IRC channel for all things gEDA. Sometimes this channel is full of activity and sometimes it is quite silent. Please be patient when asking questions in the IRC channel.

There is also a low-traffic IRC channel on irc.freenode.net called ##pcb. This channel is dedicated to pcb design and prototyping, gEDA pcb included.

How to get started editing the documentation on the wiki

lepton-eda-1.9.10/docs/wiki/geda-icarus_xilinx_hints.html0000644000175000017500000001102013634703632020321 00000000000000

Xilinx Hints

For those of you who wish to use Icarus Verilog, in combination with
the Xilinx back end (Foundation or Alliance), it can be done.  I have
run some admittedly simple (2300 equivalent gates) designs through this
setup, targeting a Spartan XCS10.

Verilog:

   Older versions of Icarus Verilog (like 19990814) couldn't synthesize
   logic buried in procedural (flip-flop) assignment.  Newer versions
   (like 20000120) don't have this limitation.

   Procedural assignments have to be given one at a time, to be
   "found" by xnfsyn.  Say
       always @ (posedge Clk) Y = newY;
       always @ (posedge Clk) Z = newZ;
   rather than
       always @ (posedge Clk) begin
           Y = newY;
           Z = newZ;
       end

   Steve's xnf.txt covers most buffer and pin constructs, but I had reason
   to use a global clock net not connected to an input pin.  The standard
   Verilog for a buffer, combined with a declaration to turn that into a
   BUFG, is:
       buf BUFG( your_output_here, your_input_here );
       $attribute(BUFG,"XNF-LCA","BUFG:O,I")

   I use post-processing on my .xnf files to add "FAST" attributes to
   output pins.

Running ivl:

   The -F switches are important.  The following order seems to robustly
   generate valid XNF files, and is used by "verilog -X":
      -Fsynth -Fnodangle -Fxnfio

Generating .pcf files:

   The ngdbuild step seems to lose pin placement information that ivl
   puts in the XNF file.  Use xnf2pcf to extract this information to
   a .pcf file, which the Xilinx place-and-route software _will_ pay
   attention to.  Steve says he now makes that information available
   in an NCF file, with -fncf=<path>, but I haven't tested that.

Running the Xilinx back end:

   You can presumably use the GUI, but that doesn't fit in Makefiles :-).
   Here is the command sequence in pseudo-shell-script:
      ngdbuild -p $part $1.xnf $1.ngd
      map -p $part -o map.ncd $1.ngd
      xnf2pcf <$1.xnf >$1.pcf    # see above
      par -w -ol 2 -d 0 map.ncd $1.ncd $1.pcf
      bitgen_flags = -g ConfigRate:SLOW -g TdoPin:PULLNONE -g DonePin:PULLUP \
                     -g CRC:enable -g StartUpClk:CCLK -g SyncToDone:no \
                     -g DoneActive:C1 -g OutputsActive:C3 -g GSRInactive:C4 \
                     -g ReadClk:CCLK -g ReadCapture:enable -g ReadAbort:disable
      bitgen $1.ncd -l -w $bitgen_flags

   The Xilinx software has diarrhea of the temp files (14, not including
   .xnf, .pcf, .ngd, .ncd, and .bit), so this sequence is best done in a
   dedicated directory.  Note in particular that map.ncd is a generic name.

   I had reason to run this remotely (and transparently within a Makefile)
   via ssh.  I use the gmake rule
%.bit : %.xnf
        ssh -x -a -o 'BatchMode yes' ${ALLIANCE_HOST} \
               remote_alliance ${REMOTE_DIR} $(basename $@) 2>&1 < $<
	scp ${ALLIANCE_HOST}:${REMOTE_DIR}/$@ .
    and the remote_alliance script (on ${ALLIANCE_HOST})
/bin/csh
cd $1
cat >! $2.xnf
xnf2pcf <$2.xnf >! $2.pcf
./backend $2

   There is now a "Xilinx on Linux HOWTO" at
         http://www.polybus.com/xilinx_on_linux.html
   I haven't tried this yet, it looks interesting.

Downloading:

   I use the XESS (http://www.xess.com/) XSP-10 development board, which
   uses the PC parallel (printer) port for downloading and interaction
   with the host.  They made an old version of their download program
   public domain, posted it at
      http://www.xess.com/FPGA/xstools.zip ,
   and now there is a Linux port at
      ftp://ftp.microux.com/pub/pilotscope/xstools.tar.gz .

The above hints are based on my experience with Foundation 1.5 on NT
(gack) and Alliance 2.1i on Solaris.  Your mileage may vary.  Good luck!

     - Larry Doolittle   <LRDoolittle@lbl.gov>   August 19, 1999
                                        updated February 1, 2000
lepton-eda-1.9.10/docs/wiki/geda-pcb_developer_introduction.html0000644000175000017500000017227513634703632021671 00000000000000

PCB Development Introduction

I started this document to get an insight in the structure/architecture of the PCB program. The main objective is to get up to speed so we are able to start contributing to the PCB program.

This document is work in progress.

Get Information

root Directory structure

This is the ~/pcb directory

dataPCB layout and gerber icons and mime registration data
docAll files used to generate the documentation
exampleSpeaks for it self, examples how to use PCB
gtsThis directory/library is only used by the toporouter (toporouter.h includes gts.h)
* intlInternationalization - it handles conversions to non-English languages. It is for i18n, l10n and related stuff. See the ABOUT-NLS text file in the root directory for more information.
libThe M4 library stores the footprints as M4 macros
m4Some additional m4 scripts used by configure
newlibFile to make newlib library components
poTranslation files
README_FILESInformation in this directory is obsolete and/or very old. Just ignore it.
srcThe source code
testsFile to test the build during make
toolsBuild tools
tutorial
utilsBuild tools
w32File needed to build for Windows
*This directory is no part of the git repository it is added by the ./autogen.sh script

src Directory structure

This is the ~/pcb/src directory

src/hid Human Interface Device layer. The basic idea is that every action outside the core is treated as a separate human interface device.
src/hid/batch Batch mode
src/hid/bom Export a bill of materials
src/hid/common
src/hid/gcode Export to G-Code
src/hid/gerber Export RS-274X (Gerber)
src/hid/gtk Graphical User Interface based on GTK2
src/hid/lesstif Graphical User Interface based on lessif
src/hid/lpr Printer driver
src/hid/nelma Numerical analysis package export
src/hid/png export GIF/JPEG/PNG
src/hid/ps export postscript /encapsulated postscript
src/hid/hidint.h HID internal interfaces. These may ONLY be called from the HID modules, not from the common PCB code.
src/icons

src Directory file list

These are the files in the ~/pcb/src directory

_*_ File Short description Comment / Explanation
Haction.*action routines for output window This is one of the top files. A lot of the functionality will start here. This is a good place to start your digging work when learning the PCB code.
This file also contains a lot of documentation generating code.
This means two things:
- Look at the PCB manual for a description of all actions (manual is in doc directory after make)
- Take this as an example how to add documentation to the code.
Hautoplace.*functions used to autoplace elements.
Hautoroute.*functions used to autoroute nets.
Cbox.hrandom box-related utilities.
Cbuffer.*functions used by paste- and move/copy buffer
Dchange.*functions used to change object properties
check_icon.data
clip.*Clip the line to the clipBox
Ccommand.*executes commands from user That is, some commands, only the short-hand vi compatible commands like l, le, m, q, w, s and rn.
See pcb manual for the explanation.
See action.c for the other commands.
Ccompat.* This file is for compatibility across operating systems; we can define functions there that might be missing elsewhere (like linux-specific things) or broken elsewhere. Mostly it's for unix-vs-windows.
const.hglobal source constants
Dcopy.*functions used to copy pins, elements …
Dcreate.*functions used to create vias, pins …
Hcrosshair.*crosshair stuff is for the board's crosshair; this handles (for example) grid snapping. This is *not* the same as the GUI's mouse cursor. For the GKT GUI the crosshair will follow the mouse if its over the board-space/canvas.
Cdata.*just defines common identifiers
Cdbus.*Interprocess communication (IPC) D-Bus is a system for interprocess communication (IPC). D-Bus code originally derived from example-service.c in the dbus-glib bindings.
The dbus was added to provide some communications between gschem and pcb, and to provide some remote-control options for pcb. Not sure if anything uses it at the moment.
If you're not interested in connecting to other programs just ignore the files.
Cdbus-pcbmain.*PCB HID main loop integration.
Cdefault_font From the PCB documentation: A number of user defined Symbols are called a font. There is only one per layout. All symbols are made of lines. See the file 'default_font' as an example.
Fontmode.c is linked with this file.
Ddjopt.*optimize functionsis for the “Connects→Optimize Routed Tracks†functions.
Cdolists.h REGISTER_*(a) macro in dolists.h will be expanded by the preprocessor to the actual calling of these functions.
Hdraw.*drawing routines
Hdrill.*functions to generate drill information is for generating drill report information.
Hedif.*EDIF stands for Electronic Design Interchange Format. These files are associated with only one action “LoadFrom(Netlist)â€. This will call the function ImportNetlist() in file.c. If the first line of the netlist file contains “edif†it will use these files to parse the EDIF 2.0.0 formatted file. A little googling learns that the EDIF 2.0.0 file format was approved in March 1988. File format EDIF 4.0.0 was released in August 1996. The PCB documentation doesn't say anything about EDIF.
The files are here to be backwards compatible, so we are able to read files generated many year ago. It doesn't hurt so just ignore it.
edif_parse.hThis file defines the interface to the outside world.
edif.yfile says: A Bison parser, used in with edif.c. EDIF stands for Electronic Design Interchange Format.
Cerror.*error and debug functions
Cfile.*file save, load, merge … routines
Dfind.*routines to find connections between pins, vias, lines…
Cflags.*routines to initialize and use flags flags.c functions are used by some of the HIDs to mark menu entries as “checked†vs “unchecked†when they refer to flags. That's why they're registered, too, there's a list with ASCII names that hids can refer to.
Hfontmode.croutines to edit the font in PCB There are two actions:
FontEdit() and FontSave()
Font editing draws one of each character on the screen as a PCB. You edit the PCB. Then it reads the traces from the PCB and turns it back into a font. You can then cut/paste the font section out of that pcb to default_font.
default_font is linked with this file.
Cfree_atexit.*some routines to free memory
gather-actionsshell script used during build. Probably a leftover from an old build script, I can't find where it is called. Think the script isn't used.
Just ignore it.
gettext.h Used if –enable-nls option is configured. Takes care of internationalization.
Cglobal.h The big include just about everything include file
Hgpcb-menu.res
Cheap.* The heap functions seem to be associated mainly with the two autorouters. Additionally the file polygon1.c makes use of a heap in one of its functions
Hhid_draw.hLow level drawing API.
Hhid.hHuman Interface Device layer. This is one of the top files.
This is a good place to start looking if you want to know what's-what.
icon.data
Dinsert.*functions used to insert points into objects
Dintersect.*rectangle intersection/union routines.
Dline.*line routines
lrealpath.*Libiberty realpath. Like realpath, but more consistent behaviour
Cmacro.hsome commonly used macros not related to a special C-file the file is included by global.h after const.h
Cmain.c It all starts here
main-test.c
Dmirror.*functions used to change the mirror flag of an object
Cmisc.*
mode_icon.data Icons used in the GUI
Dmove.*functions used to move pins, elements …
Cmtspace.*implementation for “empty space†routines (needed for via-space tracking in the auto-router.
Cmymem.*memory management functions
Hnetlist.c
Cparse_l.*lexical definitions to parse ASCII input of PCB and Element description Parse an element file or layout file. This is either a footprint file or our PCB layout file
parse_y.*grammar to parse ASCII input of PCB description
Hpcb-menu.res
Cpcb-printf.*Implementation of printf wrapper to output pcb coords and angles.
pcbtest.sh.inUsed during the build to test the program
Dpolyarea.hfile says: poly_Boolean: a polygon clip library. Used in polygon.c, polygon1.c and thermal.c
polygon1.cpolygon clipping functions
polygon.*special polygon editing routines
Hprint.*printing routines Looks like it is used to “print†the fabrication layer. print.c generates a layer to be used as a fabrication drawing. Whether the HID uses that or not (and what it does with it) is a Separate question. At least, both ps and gerber need that layer. Since the layer is created in “pcb unit space†it's in the core. HID things tend to happen in “hid unit space†instead.
Hpuller.cPCB HID Project - Puller See http://www.delorie.com/pcb/puller for more information.
Hrats.*rats nest routines
Dremove.*functions used to remove vias, pins …
Hreport.*Tell the user what he/she must know See PCB manual for the options.
Hres_lex.* These files are used to parse the pcb-menu.res and gpcb-menu.res files. This defines the menu structure of PCB. res_* is a generic resource parser. Both gtk and lesstif hids use them.
res_parse.*A parser, to read the resource (menu items etc) form PCB
Hresource.h
Drotate.*functions used to rotate pins, elements …
Crtree.*r-tree functions a way to quickly find 2-D objects in a 2-D space
rubberband.*functions used by 'rubberband moves'
Csearch.*search routines some of the functions use dummy parameters
Cselect.*select routines
Cset.*routines to update widgets and global settings (except output window and dialogs)
Cstrflags.*Some flags routines
Cthermal.*negative thermal finger polygons
toporouter.*This file implements a topological autorouter. Please take a look inside the file for some literature references on the toporouter.
Cundo.*functions used to undo operations
Cvector.*operations on vectors.
Hvendor.*routines to generate vendor specific output vendor.c is used to load vendor-specific DRC rules and apply them.

D = These files have there focus on the Data Functionality. They manipulate the PCBType or DataType structure.

C = These files have there focus on the Core Functionality. They support the overall working of the program.

H = These files have there focus on the HID Functionality. They support the HID actions and requests.

Build system

You must have a working build system before you even can think about hacking the source code. Make sure you can build a git clone.
Try building the sources from git before you try anything else.
The wiki page http://wiki.geda-project.org/geda:developer shows the git command to get the geda-gaf repository. We are talking about pcb here.
For pcb we need to do:

git clone git://git.geda-project.org/pcb.git

For the other repositories take a look at http://git.geda-project.org/

Next get your build system working. http://wiki.geda-project.org/geda:gaf_building_git_version

While working on the pcb sources remember that PCB uses The AutoTools as there build system.
This isn't as daunting as it sounds, for the newbie developer.
The PCB development team has made it easy for us.

Generally just run:

./autogen.sh

and the scary part is over ;-)

Then do the usual:

./configure
make

The autogen.sh script is usually only needed once, after a git clone or if a file is added to be build into PCB. See Example on when to use the autogen.sh script.

For more information on the AutoTools take a look at: https://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html

If you want to know more about git take a look at: https://git-scm.com/docs/gittutorial

Dependencies

PCB is a open source program and it uses open source libraries and tools to do what it does. Doing a repoquery –requires pcb on my Fedora 20 system show the following dependencies:

perl libdl.so.2() libm.so.6(GLIBC_2.2.5)
wish libdl.so.2(GLIBC_2.2.5) libpango-1.0.so.0()
libGL.so.1() libfontconfig.so.1() libpangocairo-1.0.so.0()
libGLU.so.1() libfreetype.so.6() libpangoft2-1.0.so.0()
libICE.so.6() libgd.so.3() libpangox-1.0.so.0()
libSM.so.6() libgdk-x11-2.0.so.0() libpng16.so.16()
libX11.so.6() libgdk_pixbuf-2.0.so.0() libpthread.so.0()
libXinerama.so.1() libgdkglext-x11-1.0.so.0() libpthread.so.0(GLIBC_2.2.5)
libXmu.so.6() libgio-2.0.so.0() libtiff.so.5()
libXpm.so.4() libglib-2.0.so.0() libvpx.so.1()
libXrender.so.1() libgmodule-2.0.so.0() libz.so.1()
libXt.so.6() libgobject-2.0.so.0() m4
libatk-1.0.so.0() libgtk-x11-2.0.so.0() perl(File::Basename)
libc.so.6(GLIBC_2.14) libgtkglext-x11-1.0.so.0() perl(File::Copy)
libcairo.so.2() libjpeg.so.62() rtld(GNU_HASH)
libdbus-1.so.3() libm.so.6()

Trace an action

Here is a short introduction where to start if you want to trace an action down into the source code: Lets draw a line in the (GTK) GUI.

If we start pcb the default mode is the select mode, in order to draw a trace we need to switch to the LINE mode. We do that by pressing F2. Next we use the mouse to select a starting point and do a left click of the mouse button. Now we can start drawing a trace.

So what happens in the source code? PCB uses a flexible way of implementing menu structures and it uses a flexible way to implement actions the program should do. All this flexibility made it a bit difficult for me to see where to start.

F2 key

First let's trace the LINE mode selecting by pressing F2.

In the file gpcb-menu.res we look for our F2 key and we find

{"Line" checked=linemode,1 Mode(Line) a={"F2" "<Key>F2"}}

In the file action.c we find

HID_Action action_action_list[] {"Mode", 0, ActionMode, mode_help, mode_syntax}

The action_action_list defines that the Mode event is translated into the ActionMode function. So the function called when we press F2 is ActionMode(Line).

ActionMode is a generic function and therefore it will need to find what to do.

ActionMode (int argc, char **argv, Coord x, Coord y)

It will do that by calling GetFunctionID (AGV[0]) in this example AGV[0] = Line. The function ID will tell it to do the function SetMode (LINE_MODE);

That function will set the variable Settings.Mode to LINE_MODE

Mouse click

Next we trace down what will happen if we left click the mouse button to start drawing a track.
Please note this is a very simplified call graph.

In the file gpcb-menu.res Left mouse click Mouse = Left ⇒ points to Mode(Notify)

[*1] Mode(Notify)

Mode translates in the action_action_list into _ActionMode_

[*2] Left mouse click translates into calling function ActionMode(Notify)

[*3] The program will go back and forth between NotifyMode and NotifyLine until [*4].
In the function NotifyLine all the dynamic processing is done, meaning that here the limitations and restrictions are check realtime. e.g. if the Auto force DRC check flag is checked, this function checks if we try to draw over existing copper.

[*4]if two points are selected we can create a line

[*5] We need to free memory-space and add our new Line into the linked list. This is done through the GLIB Library. Next our newly created LINE object is filled with the relevant data. Basically we are done, the line is added to the data structure. However there is one more thing to do.

[*6] Our new line is stored into the main PCBType data structure (actually in the DataType sub structure). Now there is one more administrative task to do, the newly created line must be add to the rtree data structure. Every item that is added to the data structure is also added to the rtree data structure. The R-TREE data structure makes it easy to search for free or occupied areas on a layer.

This is in a very simplified description on what happens and the path the software takes to draw a line.

Crosshair

From: http://www.delorie.com/pcb/docs/gs/gs.html#Terminology

crosshair

This is the actual location on the board which is used when you perform an action. If grid snap is active, the crosshair reflects the grid point closest to the cursor, else the crosshair reflects the cursor itself.

So the crosshair is the X Y position on the PCB canvas. When grid is enabled the crosshair is automatically snapped to the grid.
Let's see how that works:

Open the file crosshair.c with your favourite text editor and look for the function FitCrosshairIntoGrid. In my version its around line 920.

Add the debug code into the function:

/* ---------------------------------------------------------------------------
 * recalculates the passed coordinates to fit the current grid setting
 */
void
FitCrosshairIntoGrid (Coord X, Coord Y)
{
  Coord nearest_grid_x, nearest_grid_y;
  void *ptr1, *ptr2, *ptr3;
  struct snap_data snap_data;
  int ans;
 
  /* Add the next two lines */
  /* RZE: Debug code please remove if I forget */
  pcb_printf("X=%d, Y=%d\n", Crosshair.X, Crosshair.Y);
 
  Crosshair.X = CLAMP (X, Crosshair.MinX, Crosshair.MaxX);''
  Crosshair.Y = CLAMP (Y, Crosshair.MinY, Crosshair.MaxY);''

Try! From the command-line terminal do:

cd <to_pcb_source_directory>
./configure
make
src/pcb

In your terminal you will see the X and Y coordinates of the crosshair.
Please note that they are rounded numbers.
Turn off grid snapping and watch the numbers.

Congratulations, you just hacked into the PCB source code ;-)

Example

As an exercise let's do something easy, like adding an action to PCB.

Before you start coding take a look at: Build system It is essential that you have a working build system.

When working on the source code of PCB then please make use of lots and lots of comments (preferably doxygen style). In trying to understand the code I was very grateful for every piece of comment the developer had written.

First make a file called example.c and add:

/*!
 * =====================================================================================
 *
 *                                      COPYRIGHT
 *  Example action implementation for PCB.
 *  Copyright (C) 2015 Robert Zeegers
 *
 *  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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 *
 *  \File:   example.c
 *  \Brief:  Example on how to implement a action in the PCB program.
 *  \par Description
 *   Example action implementation for PCB, interactive printed circuit board design
 *  \copyright (C) 2015 Robert Zeegers
 *
 *  \Version:  1.0
 *  Created:  24/07/15
 *
 *  \Todo:     nothing
 *  \Bug:      not that I know of
 *
 * =====================================================================================
 */
 
/* First thing todo is include global.h  */
/* This will automatically also include const.h and macro.h */
#include "global.h"
 
/* Second we include hid.h because we want to register our action to the HID */
#include "hid.h"
 
/* We are going to add an action and therefore we want it to show-up in the PCB manual, */
/* so we add some documentation comments */
/* For the documentation style see the "extract-docs" perl script in the doc directory */
 
/* %start-doc actions DoSilly
   This function doesn't do anything useful.
 
   @example
   DoSilly()
   @end example
 
   %end-doc */
 
/* All action entry functions must have the same syntax as defined in */
/* typedef struct HID_Action (hid.h)  */
static int
ExampleDo (int argc, char **argv, int x, int y)
{
    /* It should do something, so let's do something silly */
    /* Let's write a Dutch songtext to the Message Log window */
    /* The struct HID is defined in hid.h */
    /* and the variable gui is made available there by "extern HID *gui;" */
    /* First we check if we have a gui. */
    if( 1 == gui->gui )
    {
        /*  if we have one let's write the songtext */
        gui->log (_("Iedereen is van de wereld en de wereld is van iedereen!\n"));
    }
}
 
/* Now we have to make an action list. */
/* Here we make the connection between our command "DoSilly()" and */
/* the actual function which should be executed ExampleDo().*/
static HID_Action exampledo_action_list[] = {
  {"DoSilly", "Example action", ExampleDo, "Always provide some help", "DoSilly()"}
};
 
/* Next a macro to register the action in the HID */
/* Note the missing ; at the end, that's correct ;-) */
REGISTER_ACTIONS (exampledo_action_list)

For an explanation on the REGISTER_ACTION macro see paragraph REGISTER.

Next we need to add our file to the build system.
We do that in the file MakeFile.am.
Open MakeFile.am and look for the variable PCB_SRCS and add the file example.c there like the others.

Clean your build directory by doing:

make distclean

Then do:

./autogen.sh

Now our file is in MakeFile.in

Next do:

./configure
make

Run:

src/pcb

In the PCB program type â€:DoSilly()†and watch the message log window.

And do check out the pcb manual in doc/pcb.pdf search for “DoSillyâ€

REGISTER

REGISTER_ACTIONS - REGISTER_FLAGS - REGISTER_ATTRIBUTES

Every action file must register its actions in the HID. The action file will have an

#include "hid.h"

which define the REGISTER_* macros. Then somewhere in the file you add:

REGISTER_ACTIONS(exampledo_action_list)

This will be expanded by the preprocessor into:

void register_exampledo_action_list()
{ hid_register_actions(exampledo_action_list,1); }

During the build process the files core_lists.h and gtk_lists.h are created. These files contain nothing more than a collection of REGISTER_* instructions it found in its source files.
So core_lists.h and gtk_lists.h will contain:

REGISTER_ACTION(exampledo_action_list)

In the file main.c around the main functions we find the instruction:

#include "dolists.h"

And soon after that we find

#include "core_lists.h"

Because dolists.h redefines the REGISTER_* macros, the macros in core_lists.h

REGISTER_ACTIONS(exampledo_action_list)

will be expanded by the preprocessor into:

external void register_exampledo_action_list();
register_exampledo_action_list();

And therefore it will call all functions to register the actions at the beginning of the main function.

Options

REGISTER_ACTIONSThese actions can be called though the user command window (start with â€:†in the PCB program.
REGISTER_FLAGSThese flags initiate a functions when set or unset.
E.g. in file flags.c we find
HID_Flag flags_flag_list[] = {
  {"style",                FlagCurrentStyle, NULL},
  {"grid",                 FlagGrid,         NULL},

The “grid†flags is associated with the menu flag: View→enable visible grid and makes the connection to the FlagGrid() function.
If you select View→enable visible grid the function FlagGrid will be called.

REGISTER_ATTRIBUTESIn main.c there is a call to this macro: REGISTER_ATTRIBUTES (main_attribute_list)
The main_attribute_list defines the command-line options.
Most of the HID also use this macro, to add their command line options as well.

PCBType

PCBType is the main data structure

PCBType contain all the general information used in the program and it contains a pointer to the DataType

DataType

The DataType contains the actual data that defines our printed circuit board.

DataType is what's stored in the Buffers when you do cut/paste.

Data Fields
CardinalViaN
CardinalElementN
CardinalRatN
intLayerN
GList *ViaLayer independent via's
GList *ElementLayer independent elements
GList *RatLayer independent rat-lines
rtree_t *via_tree
rtree_t *element_tree
rtree_t *pin_tree
rtree_t *pad_tree
rtree_t *name_tree [3]
rtree_t *rat_tree
struct PCBType *pcbA pointer back to the main data structure
LayerTypeLayer [MAX_LAYER+2]All layer dependent items
intpolyClip

The actual data is stored in the GList data elements. The rest is there for administrative purposes, to keep track of it all. Here I like to specially mention the rtree_t* data members. Although they have an administrative character the R-TREE data structure is heavily used in the PCB program.

GList

struct GList {
  gpointer data;
  GList *next;
  GList *prev;
}; 

The GList struct is used for each element in a doubly-linked list.

Members:

gpointer dataholds the element's data , which can be a pointer to any kind of data.
GList *nextcontains the link to the next element in the list
GList *prev;contains the link to the previous element in the list

gpointer ⇒

typedef void* gpointer;

An untyped pointer. gpointer looks better and is easier to use than void*.

R-TREE

From Wikipedia: The key idea of the r-tree data structure is to group nearby objects and represent them with their minimum bounding rectangle in the next higher level of the tree; the “R†in R-tree is for rectangle. Since all objects lie within this bounding rectangle, a query that does not intersect the bounding rectangle also cannot intersect any of the contained objects. At the leaf level, each rectangle describes a single object; at higher levels the aggregation of an increasing number of objects. This can also be seen as an increasingly coarse approximation of the data set.

A general r-tree will look like this:

The bottom row of records are called leafs.

The rtree data structure PCB uses is:

The r-tree data structure hold a copy of the where's what data. Meaning that it holds a list of every item on our canvas arranged in successively smaller boxes.

More in-depth explanations:

  1. DRC
  2. ?
lepton-eda-1.9.10/docs/wiki/wiki-dokuvimki.ru.html0000644000175000017500000001354613634703632016744 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

ИÑпользование Vim Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтраниц gEDA wiki

Ð”Ð»Ñ ÑƒÐ´Ð¾Ð±Ð½Ð¾Ð³Ð¾ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтраниц gEDA wiki в vim можно воÑпользоватьÑÑ DokuVimKi.

DokuVimKi можно уÑтановить Ñледующим образом:

  1. Загрузить поÑледнюю верÑию DokuVimKi и Ñкопировать вÑе файлы плагина в ÑоответÑтвующие каталоги в ~/.vim:
      git clone git://github.com/chimeric/dokuvimki.git
      cd dokuvimki
      for i in doc plugin syntax; do cp "$i"/* ~/.vim/"$i"/; done 
  2. Чтобы открывать Ñправку по DokuVimKi Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ :h dokuvimki, можно Ñгенерировать Ð´Ð»Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð° теги Ñправки vim командой :helptags ~/.vim/doc/ из vim.
  3. Дополнительно можно иÑпользовать другой файл ÑинтакÑиÑа Dokuwiki. Я иÑпользую файл Ñ http://github.com/nblock/vim-dokuwiki.git.
  4. Ð”Ð»Ñ ÑƒÑтановки DokuVimKi на вашей ÑиÑтеме должна быть уÑтановлена библиотека xmlrpclib. Она, Ñкорее вÑего, уже уÑтановлена как чаÑть пакета python. Это можно проверить так:
      locate xmlrpclib 

    Более подробную информацию об Ñтом можно найти на Ñтранице https://www.dokuwiki.org/devel:xmlrpc.

  5. Также вам нужно уÑтановить dokuwikixmlrpc. Загрузите и уÑтановите поÑледнюю верÑию::
      git clone git://github.com/chimeric/dokuwikixmlrpc
      cd dokuwikixmlrpc
      sudo python setup.py install

    Более подробную информацию об уÑтановке модулей python Ñм. в документации по Python.

  6. Затем Ð´Ð»Ñ Ð½Ð°Ñтройки DokuVimKi Ð´Ð»Ñ gEDA нужно добавить неÑколько Ñтрок в Ñвой файл ~/.vimrc:
    let g:DokuVimKi_USER = "your_wiki_login_name"
    let g:DokuVimKi_PASS = "YOUR_WIKI_PASSWORD"
    let g:DokuVimKi_URL = "http://wiki.geda-project.org/lib/exe/xmlrpc.php"
    " ÐеобÑзательные наÑтройки. ПодробноÑти Ñм. в Ñправке по ':DWhelp'.
    ""let g:DokuVimKi_INDEX_WINWIDTH = 30
    ""let g:DokuVimKi_DEFAULT_SUM = "[xmlrpc dokuvimki edit]"
  7. Ð”Ð»Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð° Vim Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ‹Ð¼Ð¸ возможноÑÑ‚Ñми DokuVimKi нужно иÑпользовать:
     vim +DokuVimKi 

    Ð”Ð»Ñ Ð±Ñ‹Ñтрого ввода Ñтой команды можно добавить Ñледующие пÑевдонимы в Ñвой файл ~/.bashrc:

    # Vim aliases for gEDA
    alias vimgeda="vim +DokuVimKi"
    alias gvimgeda="gvim +DokuVimKi"

Вот и вÑÑ‘. Ðаберите gvimgeda, чуть подождите и наÑлаждайтеÑÑŒ интерактивным редактированием Dokuwiki в vim!

lepton-eda-1.9.10/docs/wiki/start_fr.html0000644000175000017500000002020513634703632015166 00000000000000

Wiki du Projet gEDA

Qu'est ce que gEDA?

Le projet gEDA est de développer une suite complète d'outils GPL de « Electronic Design Automation ». Ces outils sont utilisés pour la conception de circuits électriques, de saisie de schémas, de simulation, de prototypage et de produciton. Le projet gEDA offre actuellement une suite mature d'applications de logiciels libres pour la conception électronique, incluant le la saisie de schémas, la gestion d'attributs, la génération de bill of materials (BOM), le netlisting dans plus de 20 formats de netlist, la simulation analogique et numérique et le placement sur circuit imprimé « printed circuit board (PCB) ».

Les outils placés dans la Suite vous permettent de concevoir des systèmes de complexité basse à moyenne, de qualité professionnelle. En utilisant les outils gEDA, vous pouvez créer des PCB jusqu'à 8 couches (bientôt plus) avec un nombre illimité de composants et de pistes. Les outils sont adaptés à une utilisation par les étudiants, les éducateurs, les passionnés, les consultants, les petites séries et même les grandes corporations où un ingénieur peut avoir besoin de réaliser une carte rapidement (i.e. pour un test manuel), dans l'urgence.

Tous les logiciels de la suite gEDA peuvent être trouvés sur la page de téléchargement.

Documentation du Projet Officiel

Ce sont les docs officielles du projet. Elles ont été converties depuis des documents LaTeX et HTML en des pages Wiki de telle manière que la communauté gEDA puisse les maintenir plus facilement.

  • Documentation : Les dernières versions de la documentation de la Suite d'Outils de gEDA.

FAQ et Documentations officielles du Projet

Ce sont les FAQ, les HOWTO et les trucs/astuces pour vous aider avec les détails pratiques de l'utilisation de la Suite gEDA. Si vous avez un problème, naviguez d'abord sur ces pages.

  • FAQ.fr : Questions les plus fréquement posées sur le projet gEDA lui-même.
  • Installation.fr : HOWTO et FAQ de l'installation de gEDA.
  • Glossaire.fr : Glossaire de termes qui sont spécifiques à la Suite gEDA
  • Usage.fr : Questions sur la manière d'effectuer de la conception électronique en utilisant le jeu d'outils – informations qui s'appliquent à plusieurs ou à tous les outils de la Suite de gEDA.
  • FAQ-gschem.fr : Questions sur l'installation, la configuration et l'utilisation de gschem. De même, les questions sur la création et l'utilisation de symboles avec gschem.
  • FAQ-attribs.fr : De l'utilisation des BOM, des DRC, de la gestion des attributs et ainsi de suite.
  • FAQ-gnetlist.fr : Questions sur l'installation, la configuration et l'utilisation de gnetlist.
  • FAQ-simulation.fr : Questions sur la simulation de votre schéma en utilisant les outils gEDA.
  • FAQ-gsch2pcb.fr : Comment transformer votre schéma en un circuit avec PCB.
  • PCB tips.fr : Trucs et astuces pour l'utilisation de PCB.
  • PCB-quick reference.fr : PCB Quick Reference Sheet.
  • devel-tips : Pour les développeurs seulement: divers trucs et astuces pour le développement de gEDA.

Présentations

Ce sont les transparents de présentations effectués sur gEDA. Ils fournissent un bon survol pointu du projet pour ceux qui sont intéressés.

À propos du Wiki

Cette section du site gEDA est dédiée à la documentation fournie par plusieurs auteurs, y compris des utilisateurs. En particulier, il doit devenir une source d'information pour ceux qui débutent juste avec les outils.

Toutes les contributions sont les bienvenues. Mais contrairement à wikipedia, il n'y a pas de bouton pour créer un login seul. La raison est que personne de gEDA n'a les nerfs suffisamment solides pour traiter le vandalisme anonyme. Par conséquent, vous devez écrire un courriel à l'admin du site (ahvezda AT geda.seul.org) pour obtenir un accès. Il vous enverra un accès avec plaisir.

lepton-eda-1.9.10/docs/wiki/geda-example_usbjtag.html0000644000175000017500000000571313634703632017421 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

Example USB-based JTAG interface

Example of a USB-based JTAG interface in the:
${prefix}/share/doc/geda-gaf/examples/gTAG
directory, where ${prefix} is the installation prefix for gEDA on your system (usually /usr or /usr/local).

		gTAG - 	USB to JTAG interface
		============================

This is the README file for the schematic of gTAG.

Short description
-----------------
gTAG is an interface to connect your USB port of computer to talk
to your circuits which talks JTAG.

Copyright
---------
These schematics is (C) by Stefan Petersen (spe@stacken.kth.se) and
released under GPL (see the attached file COPYING). GPL is mainly
written for software, ie intellectual property in electronic form.
By making this schematic an intellectual property in electronic
form gTAG schematics can be covered by GPL.

How?
----
These schematics are made with gschem and netlists are then generated
with gnetlist. Both gschem and gnetlist are part of gEDA
(http://www.geda-project.org).

Files
-----
The distribution of the schematics of gTAG should consist of:
* README - this file.
* COPYING - GPL copyright notice.
* crdist.sh - shell script used to generate the tar.gz.
* ChangeLog - tries to scribble down what has changed between versions.
* Four component symbols:
  - 7414-1.sym - Original 7414 from gschem without power attributes.
  - max882.sym - 5-to-3.3 V converter.
  - cy7c64603-52nc.sym - USB microcontroller from Cypress.
  - sn75240pw.sym - Surge supressor for USB
  - copyleft.sym - Symbol with GPL text for all schematics.
* Five schematics with four symbols:
  - gTAG.sch.sch - Toplevel schematic for gTAG
  - gTAG-jtagio.[sym/sch]
  - gTAG-ucont.[sym/sch]
  - gTAG-consio.[sym/sch]
  - gTAG-psu.[sym/sch]
* gEDA rc-files for this project:
  - commonrc - contains common declarations for both gschem and gnetlist
  - gnetlistrc - gnetlist specific and and calls commonrc
  - gschemrc   - gschem specific and and calls commonrc
lepton-eda-1.9.10/docs/wiki/geda-hse_howto.html0000644000175000017500000001204313634703632016240 00000000000000

Hooks/Scheme Extension HOWTO

gEDA - GPL Electronic Design Automation

HOOKS AND SCHEME EXTENSION IN GSCHEM
==================================== 

Copyright (C) 2000 Stefan Petersen

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., 675 Mass Ave, Cambridge, MA 02139, USA.


Introduction
------------
gschem has a scheme interpreter (called Guile) built in. Though not 
complete, there are extensions to this interpreter to get access to 
different parts of the schematic.

There are a couple of other scheme extensions available that will not be 
described here. They belong mainly to rc-files (resource files in 
gEDA programs are really scheme scripts) and to the keymapping system 
(described in separate keymapping documentation).

The rest I will try to describe here. 


Scheme functions
----------------
There are two function available for handling attributes in the schematic.

* get-attribute-name-value
Inparameter  : an attribute
Outparameter : a pair with the name of the attribute as string in the 
	       car element and the value of the attribute in the cdr 
	       element.
Description  : Simply an accessor to the information hidden in the type
	       attribute. The functionality of this is placed in libgeda
	       since the C-type ATTRIBUTE is defined there.

* set-attribute-value!
Inparameter  : an attribute and a string.
Outparameter : undefined.
Description  : Sets a new value to an attribute. The attribute must 
               be defined, the function can't create a new attribute. 
	       Defined both in gschem and libgeda, mainly because 
	       where different variables and information are available.


Hooks
-----
Hooks are a way to define functions that will be called during different
part of a programs execution. In gschem there are (currently) three 
different hooks available:
* add-component-hook
* copy-component-hook
* move-component-hook

As their name indicate, they are called at different occasions. When 
you add a component add-component-hook is called, etc.

To add a function to be called you simply use the Guile funtion add-hook!.
An example; to run the function auto-uref when you add a component you
simply add the following line, preferrably in ${HOME}/.gEDA/gschemrc:
(add-hook! add-component-hook auto-uref)

The function to be called from a hook (for example auto-uref above) has 
to accept one parameter, a list of attributes.

A small example that prints all attributes on a component to be placed:

(define (print-all-attributes attribute-list)
  (foreach (lambda (attribute) (display attribute)) attribute-list))


How to use this
---------------
The most complete example utilizing all of the above functions are in fact
the auto-uref scheme script that currently is part of the gschem distribution.
You can find it <where gschem is installed>/share/gEDA/scheme/auto-uref.scm.
Uninstalled it's available at gschem/scheme/auto-uref.scm

All components have a reference designator that must be unique so 
gnetlist can handle it properly. By automatically assigning a number
to each instance of a component when you place and copy it, you can 
simplify the naming operation.

All components has, per default, an uref attribute, for example uref=R?. 
The letter varies with component type. The auto-uref script enumerates 
uref based on what prefix the component has and assigns a number. 

For example, the first component you place has per default uref=U? gets 
the attribute uref=U1. Next component with uref=U? gets uref=U2 and so on.

To be able to use the auto-uref script you simply add two lines in
${HOME}/.gEDA/gschemrc. They are:
(load "<where gschem is installed>/share/gEDA/scheme/auto-uref.scm")
(add-hook! add-component-hook auto-uref)

If you want auto enumeration to work when you copy the component too, you 
simply add the following line:
(add-hook! copy-component-hook auto-uref)

Good luck!
lepton-eda-1.9.10/docs/wiki/geda-faq.fr.html0000644000175000017500000007265313634703632015433 00000000000000

Autres langues: English РуÑÑкий

FAQ gEDA

Qu'est ce que le projet gEDA?

Le projet gEDA travaille à produire une suite GPL complète d'outils EDA (Electronic Design Automation). Ces outils sont utilisés pour la conception de circuits électriques, la saisie de schémas, la simulation, le prototypage et la production. Le projet gEDA offre actuellement une suite mature d’applications de logiciels libres pour la conception électronique, incluant le la saisie de schémas, la gestion d’attributs, la génération de bill of materials (BOM), le netlisting dans plus de 20 formats de netlist, la simulation analogique et numérique et le placement sur circuit imprimé « printed circuit board (PCB) ».

Ales Hvezda est à l'origine du projet gEDA. Le projet gEDA a quelque peu grossi, depuis le printemps 1998. Ces outils ne sont plus l'oeuvre d'une seule personne. De nombreuses personnes s'y sont impliquées. Quelques personnes contribuent aux outils originaux, alors que les autres développent leurs propres outils. C'est la raison pour laquelle gEDA ne se réfère plus aux outils originels (ils ont maintenant leurs propres vies) mais à tous les projets qui sont libres et qui sont associés quelque part dans ces pages web ou les listes de diffusion geda-dev/geda-user. En association avec gEDA, les auteurs de logiciels libres ne laissent pas le contrôle sur leurs outils mais ils sont aidés par la communauté pour maintenir la qualité et la liberté des outils EDA.

gEDA peut être prononcé « gee-daahhh » (rhymes with cheetah) ou “g-dahhh (short g).

qu'est ce que gEDA/gaf et quelle est sa relation avec gEDA?

gaf signifie « gschem and friends » (gschem et ses amis). C'est un sous-jeu de la suite d'outils complète groupée sous le nom de gEDA. gEDA/gaf est une collection d'outils qui inclut actuellement:

  • gschem: un programme de capture de schémas
  • gnetlist: un programme de génération de netlist
  • gsymcheck: un vérificateur de syntaxe pour les symboles de schémas
  • gattrib: une feuille de calcul qui manipule les propriétés des symboles d'un schéma
  • libgeda: les bibliothèques pour gnetlist de gschem et gsymcheck
  • gsch2pcb: Annotation directe depuis votre schéma vers le circuit en utilisant PCB.
  • quelques utilitaires mineurs

Les outils gEDA/gaf partagent un format de fichier commun (.sch) et partagent aussi une bibliothèque commune (libgeda.so). Les sources de la distribution gEDA/gaf peuvent être trouvées sur ce site web (geda.seul.org).

Bien que gaf se réfère surtout à gEDA, le nom gEDA ne s'applique pas obligatoirement à gaf – les outils rassemblés sous la bannière de « gEDA » comprennent beaucoup d'autres programmes. En fait, gEDA fait référence à tout outil d'EDA sous GPL qui décide de s'associer avec le site web/liste de diffusion. Des exemples importants d'outils gEDA incluent le programme de création de circuit imprimé PCB, le compilateur Verilog Icarus Verilog, le simulateur de circuits analogiques gnucap et le simulateur open-source SPICE ngspice. Il existe plusieurs autres programmes gEDA.

Pour des raisons historiques, sur freshmeat, gaf est connu comme le paquet ‘gEDA’.

Qu'est ce que la suite gEDA?

La suite gEDA est une image CDROM (.iso) crée par Stuart Brorson pour faciliter l'installation des divers outils qui forment, sont associés oiu fonctionnent totalement avec le projet gEDA. L'objectif est que les outils rassemblés sur la suite gEDA en CDROM constitue un environnement de conception cohérent, complet, open-source en un seul téléchargement. La suite gEDA sur CDROM inclut actuellement:

  • gEDA/gaf – saisie de schématic et netlisting
  • ngspice – simulation SPICE
  • gnucap – simulation analogique
  • gspiceui – GUI front end for ngspice/gnucap
  • pcb – placement avec PCB
  • gerbv – visualisation Gerber
  • Icarus Verilog – simulateur Verilog
  • GTKWave – visualisation de forme d'onde numérique
  • wcalc – analyse de ligne de transmission et structure électromagnetique

Au centre de la suite gEDA en CDROM est la facilité d'utiliser l'installateur qui automatise la construction et l'installation des divers paquets depuis les sources - facilitant l'installation la suite complète pour les novices. La suite gEDA en CDROM est disponible sur la page de téléchargement. Note: L'installateur ne fonctionne qu'avec Linux!

Pourquoi? Qu'est ce qui rend gEDA si différent des autres outils d'EDA ?

Les outils de la suite gEDA et leurs associés ont les caractéristiques suivantes:

  • Gratuit.
  • Tous les formats de fichiers et tous les codes sources sont disponibles en licence GPL. Cette licence vous garantit des droits spécifiques aux auteurs et aux utilisateurs de logiciels GPL.
  • L'indépendence vis à vis de toute entreprise. Tous les outils gEDA sont fournis avec les sources complètes. Vous pouvez les changer, les améliorer, les porter (sur d'autres systèmes) et même les distribuer (si vous respectez les termes de la GPL).
  • Aucun mécanisme n'est utilisé pour restreindre l'utilisation de ces outils (comme l'utilisation de numéros de série du disque dur ou des adresses ethernet pour forcer le logiciel à ne fonctionner que sur un machine).
  • Aucunes limitations arbitraires, imposées par les marketing ou les ingénieurs. Les versions gratuites des outils commerciaux incluent des limitations capricieuses (i.e. une taille de carte limité, l'impossibilité d'imprimer, l'impossibilité d'exporter des netlists, etc.) qui verrouille le programme et force les utilisateurs sérieux à acheter les outils complets. Par contraste, les outils gEDA sont pleinement fonctionnels et n'imposent aucune limitation arbitraire sur la conception pour vous soutirer de l'argent.
  • Garanties de protection de conception. Comme le logiciel fonctionnera pour toujours (pour les raisons citées ci-dessus), les fichiers de conception de gEDA sera toujours visualisable/éditable (avec les bonnes versions du logiciel).
  • Flux de conception ouverts. Cela signifie que les outils correspondent les uns avec les autres par des moyens connus et documentés (fichiers / API). Il est facile de remplacer un outil ou de l'améliorer avec quelque chose d'autre si vous le désirez.
  • Stabilité - Les bogues qui plantent sont étudiés immediatement et réparés dès que possible.
  • Minimise les fonctionnalités gourmandes et inutiles.
  • Fonctionne sur autant de plates-formes que possible. Pour gEDA/gaf: GNU/Linux et d'autres systèmes Unix.
  • Dévelopé d'une manière ouverte (pas de secrets).
  • Les programmes sont documentées.

gEDA n'aura peut être pas les dernières fonctionnalités les plus pointues que l'on pourrait trouver dans d'autres paquets et peut, quelques fois, être vu comme à la traîne de la technique EDA mais les outils sont devenus utiles à beaucoup de personnes à cause des raisons mentionnées ci-dessus.

Pourquoi la Suite gEDA ressemble-t-elle à une collection de programmes épars et pas une seule application intégrée?

La Suite gEDA est un rassemblement de programmes independants. Cela s'est produit pour des raisons historiques: Ales Hvezda a débuté le programme gEDA plus ou moins seul. La vision originelle était de produire une suite intégrée complète pour créer des circuits imprimés de telle manière que les passionnés de robots puissent concevoir leurs propres cartes. Néanmoins, au fur et à mesure de la progression du projet gEDA, l'ampleur de la tâche est devenu claire - et le codage des nombreuses applications proposées n'avait pas encore commencé!

Pendant ce temps, d'autres développeurs de logiciels -avec leurs propres applications écrites indépendament - ont trouvé que la vision du projet permettait de les compléter. Les auteurs de ces applications se sont joints à Ales et ont fait contribuer leur programme au projet gEDA. Parmi des projets, on trouve « pcb », un programme de création de circuits imprimés vieux de 10 ans (à ce moment). Avec cette contribution de « pcb », l'outil originel pour circuits imprimés de gEDA, « gpcb » a été abandonné. Au même moment, d'autres développeurs ont ajouté des simulateurs analogiques et numériques, des visualiseurs de formes de signal, ainsi de suite.

C'est de cette manière que s'est agglomérée la suite gEDA. Ce n'est pas un code partagé ou une interface utilisateur commune qui distingue la suite gEDA. C'est plutôt la vision partagée d'un environnement EDA open-source qui maintient la cohérence du projet. Aujourd'hui, la Suite gEDA est un ensemble de différents programmes réalisés par plusieurs auteurs. Les applications tentent de fonctionner ensemble et réussissent généralement. Mais les démarrages séparés de chaque programme de la suite sont encore observables. Néanmoins, avec un peu de travail, les divers composants de la Suite sont intéropérables et plusieurs personnes ont achevé des circuits imprimés assez compliqués en utilisant la Suite gEDA.

Qu'est ce qui est mieux, une suite (i.e. confédérée) de programmes ou une application intégrée?

C'est plus une question de religion. Je vais résumer quelques pour et contre (tel que je les vois) de chaque approche ici.

Pour la Suite (l'association):

  • Vous pouvez utiliser les « meilleures des espèces » d'applications pour chaque partie de la conception. Ceci étant, vous pouvez utiliser le flux standard de gEDA gschem →gsch2pcb →pcb pour créer un circuit imprimé. Néanmoins, si vous pensez que l'application open-source « PCB » craint, vous pouvez utiliser le flux gschem →gnetlist →Protel (par exemple). Rappelez-vous que gnetlist peut sortir plus de vingt différents formats de netlist! De plus, si vous n'aimez pas un des composants du flux, vous pouvez écrire un autre outil qui le remplacera. Maintenant, il est vrai, qu'en ce moment, en général, qu'il n'existe qu'une seule application pour effectuer une tâche particulière. Cette situation devrait néanmoins changer avec le temps – comme en témoigne la nouvelle branche du projet « pcb », le netlister supplémentaire gnetman, de même que le projet HEC. En règle générale, l'approche de la suite offre la plus grande liberté à l'utilisateur.
  • Le flux de la conception possède quelques points d'arrêts naturels. Cela se produit lorsqu'un des outils achève son travail et l'écrit dans un dans un fichier (i.e. gschem écrit un fichier .sch ou gnetlist écrit une netlist SPICE). A ce point, vous pouvez facilement casser le flux et écrire des scripts qui traite totalement et/ou partiellement les données de l'étude. Pour les grands développements, c'est un avantage réel d'avoir une approche de « suite de conception ». Cet avantage peut peut ne parler qu'aux « utilisateurs intensifs » mais notez son importance: toutes les suites d'EDA de rang professionnel (Synopsys, Xilinx) travaillent de la même manière.
  • L'utilisation d'une suite d'applications peut être automatisé en utilisant un Makefile ou même un script Perl. Les concepteur d'ASIC le font en permanence avec leurs outils de schémas et de synthèse. Quelques utilisateurs gEDA ont publiquement annoncé (sur la liste de diffusion) qu'ils le faisaient aussi et soulignent que c'est une fonctionnalité importante de la suite gEDA.
  • Extensibilité: une application monolithique est presque toujours développée un seul développeur qui a une vision unique de son programme. Ce développeur peut assurer un standard de style et d'interface utilisateur pour tous ses outils. Le problème avec ceci est qu'un développeur seul ne peut écrire - même s'il est particulièrement doué - qu'un (ou quelques) partie d'une application EDA. C'est la raison pour laquelle toute application EDA monolithique, open-source, sera toujours limitée dans son champ et ses fonctionnalités par les aptitudes d'un développeur seul. (J'aimerais que l'on me prouve que j'ai tord sur ce point. Les contres-exemples sont les bienvenus mais aucun n'a attiré mon attention lors de l'écriture de cette partie.) D'un autre côté, une assemblée de développeurs travaillant indépendamment sur leurs propres applications - tout en contribuant à l'oeuvre dans son ensemble – peuvent donc créer un environnement EDA très grand et très capable.

Contre la Suite (l'association):

  • C'est plus difficile pour les nouveaux car ils ne connaissent pas le flux d'avance. Ceci étant, ils ont réellement besoin de RTFM pour savoir quel est l'outil qu'ils devront faire ensuite fonctionner. Une bonne documentation aide (c'est la raison pour laquelle vous lisez ceci) mais elle reste toujours un second choix après le développement d'une interface intuitive.
  • Les différents programmes peuvent avoir diverses conventions d'interfaces utilisateur (i.e. l'organisation du menu est différente, la fonctionnalité des touches ou de la souris sont différents). Ceci peut être désagréable pour ceux qui ne sont pas familiers avec les programmes.
  • Comme aucune supposition n'est faite dans le flux de la conception, les symboles légers de schémas sont nécessaires. Cela impose à l'utilisateur de passer plus de temps à ajouter, par exemple, des attributs d'empreintes de composants à son schéma. De plus, l'utilisateur doit passer réellement plus de temps à trouver quelle empreinte utiliser. Néanmoins, une bonne suite (comme la suite gEDA) offrira de multiples méthodes pour effectuer cette tâche (i.e. gattrib, des scripts Perl pour faciliter les empreintes, etc.).
  • Quelques développeurs sont plus énergiques que d'autres ou ont plus de temps libre. C'est la raison pour laquelle quelques programmes de la suite seront plus développés (et moins bogués) que d'autres. Malheureusement, un seul programme bogué dans une suite peut entacher la perception d'un nouvel utilisateur sur la suite complète.

Pour les applications monolithiques:

  • Un environnement unique, unifié est plus facile à apréhender pour les utilisateurs. Les conventions d'interfaces utilisateur peuvent être harmonisées. L'outil peut être suffisamment intuitif de telle manière qu'il puisse être utilisé sans RTFM.
  • Les symboles de schémas peuvent être complets, avec moins de travail nécessaire pour l'attachement des attributs à chaque symbole dans un schéma.

Contre les applications monolithiques:

  • Elles ne sont pas ajustables indéfiniment. Un développeur ne peut pas tout faire, quelque soit sa force. C'est la raison pour laquelle une application monolithique n'aura jamais la puissance d'une suite développée par une confédération de programmeurs.
  • Manque de choix. Si le développeur n'aime pas votre manière de faire les choses, vous n'auvez aucun autre choix. Même si vous soumettez des patches pour permettre pour pouvoir travailler à votre manière, il est possible que le développeur principal ignore ou rejette vos modifications. Ce n'est probablement pas grave pour les nouveaux mais çà l'est pour les « utilisateurs intensifs ».
  • Risque. Si le développeur de l'application abandonne, le code est abandoné et les utilisateurs en patissent. C'est ce qui s'est produit avec le programme XTrkCAD, un programme de CAO pour concevoir des voies ferrées. L'auteur du programme a cessé de le développer mais l'a heureusement placé sur Sourceforge pour l'empêcher de disparaître. Malheureusement, sans l'implication du développeur originel, le code a stagné. Les patches des contributeurs sont allés dans /dev/null. Une coalition d'utilisateurs/développeurs ont fini par créer un fork du code pour permettre un développement ultérieur. Néanmoins, le travail sur le code forké a été parcimonieux et sporadique. (J'espère que cela changera un jour.) pendant ce temps, pour l'utilisateur normal, l'abandon du développeur a représenté une catastrophe.

Quelle est la licence utilisée par gEDA?

Tous les outils et fichiers associés de gEDA sont sous GNU General Public License version 2 (GPL), de la Free Software Foundation

La licence:

Lorsque nous parlons de logiciels libre, nous nous référons à la liberté, pas au prix. Nos « General Public Licenses » sont conçues pour s'assurer que vous avez la liberté de distribuer des copies des logiciels libres (et de faire payer pour ce service si vous le souhaitez), que vous recevez le code source ou que vous puissiez l'obtenir si vous le souhaitez, que vous pouvez modifier le logiciel ou en utiliser des morceaux dans de nouveaux programmes libres; et que vous sachiez comment le faire.

Ce n'est jamais assez répété: « gEDA est un logiciel GPL ». C'est la raison pour laquelle rien de propriétaire ne peut être distribué avec gEDA, tel que les bibliothèques de composants depuis les produits d'EDA propriétaires. Le programme de conversion pour les bibliothèques propriétaires sera disponible mais les fichiers de conversion qui font partie du produit propriétaire ne doivent jamais être mis dans gEDA. Les fichiers contribués doivent pouvoir être GPL (ou être placé sous une autre licence libre). Veuillez garder ceci en mémoire si vous souhaitez y contribuer.

Bien que l'ojectif de gEDA soit les logiciels GPL, les logiciels avec d'autres licences sont plus que les bienvenus, tant qu'ils restent compatibles avec la GPL.

Où puis-je avoir plus d'informations à propos de gEDA et sur son téléchargement?

Le site officiel est gEDA Project, hébergé par le projet SEUL. Le miroir européen est sur miroir du projet Européen de gEDA hébergé par le réseau des universités suédoises.

Il existe plusieurs listes de diffusion. Veuillez aller voir la page d'info sur les listes de diffusion pour savoir comment souscrire et poster.

Vous pouvez télécharger tous les logiciels, incluant la suite gEDA sur CDROM depuis la page download.

Vous pouvez trouver le dernier jeu de documentation sur la page de sommaire documentation.

OK, comment je comence à utiliser gEDA?

La chose la plus importante à faire est de lire et de comprendre l'excellent tutoriel de Bill Wilson gschem -> gsch2pcb -> PCB. Cela vous permettra de débuter.

Assurez-vous aussi de visionner les autres documentations gEDA. Un guide d'installation est contenu dans ce Wiki, ainsi que des informations générales sur l'utilisation de ces outils. Prenez un peu de temps à naviguer, télécharger la Suite gEDA Suite et essayez-le par vous même!

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-config.ru.html0000644000175000017500000003136113634703632020076 00000000000000

ÐаÑтройка gschem

При запуÑке gschem загружает целый Ñ€Ñд файлов наÑтроек, еÑли они ÑущеÑтвуют:

  1. $PREFIX/share/gEDA/system-gafrc — файл ÑиÑтемных наÑтроек комплекта программ gEDA/gaf;
  2. $HOME/.gEDA/gafrc — файл пользовательÑких наÑтроек комплекта программ gEDA/gaf;
  3. gafrc — файл наÑтроек комплекта программ gEDA/gaf Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ рабочего каталога;
  4. $PREFIX/share/gEDA/system-gschemrc — файл ÑиÑтемных наÑтроек gschem;
  5. $HOME/.gEDA/gschemrc — файл пользовательÑких наÑтроек gschem;
  6. gschemrc — файл наÑтроек gschem Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ³Ð¾ рабочего каталога.

$PREFIX — Ñто оÑновной каталог уÑтановки gschem (на большинÑтве ÑиÑтем — /usr), а $HOME — ваш домашний каталог.

Эти файлы предÑтавлÑÑŽÑ‚ Ñобой Ñкрипты на Ñзыке Scheme, выполнÑемые интерпретатором Ñтого Ñзыка. Это значит, что файлы наÑтроек можно иÑпользовать и Ð´Ð»Ñ Ð½Ð°Ñтройки gschem под ÑебÑ, и Ð´Ð»Ñ Ñ€Ð°ÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ñти программы (Ñм. также раздел РаÑширение функциональноÑти gschem).

Ð’ файлах наÑтроек очень много различных параметров, влиÑющих на работу gschem, и здеÑÑŒ приводÑÑ‚ÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñамые общеупотребительные из них. Полный их ÑпиÑок можно найти в файле system-gschemrc, который входит в комплект уÑтановки gEDA/gaf.

ÐаÑтройка цветов

Ð’ gschem Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² иÑпользуетÑÑ Ñ‚Ñ€Ð¸ различных цветовых Ñхемы. Это:

  1. Ð¦Ð²ÐµÑ‚Ð¾Ð²Ð°Ñ Ñхема Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ [display color map] — Ð¾Ð±Ñ‹Ñ‡Ð½Ð°Ñ Ñ†Ð²ÐµÑ‚Ð¾Ð²Ð°Ñ Ñхема, Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñхем в нормальном режиме.
  2. Ð¦Ð²ÐµÑ‚Ð¾Ð²Ð°Ñ Ñхема Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ð½Ñ‹Ñ… линий [display outline color map] — Ñта Ñ†Ð²ÐµÑ‚Ð¾Ð²Ð°Ñ Ñхема иÑпользуетÑÑ Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² при их изменении (например, во Ð²Ñ€ÐµÐ¼Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² или при их размещении на Ñтранице поÑле вÑтавки из буфера).
  3. Ð¦Ð²ÐµÑ‚Ð¾Ð²Ð°Ñ Ñхема печати [print color map] — иÑпользуетÑÑ Ð´Ð»Ñ ÑкÑпорта в PostScript.

Ð’ диÑтрибутив gschem входит неÑколько полноÑтью определённых цветовых Ñхем в виде Ñкриптов на Scheme. Загрузить любую из них можно Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ команды load; например, Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ Ñтандартной тёмной цветовой Ñхемы, добавьте в файл наÑтроек Ñледующий код:

(load (build-path geda-rc-path "gschem-colormap-darkbg"))

С помощью функций display-color-map, display-outline-color-map и print-color-map можно менÑть цвета и по отдельноÑти. Ðапример, чтобы ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð² обычном режиме отображалиÑÑŒ Ñветло-Ñиним цветом, в файл наÑтройки можно добавить Ñледующее:

(display-color-map '((net "#00ffff")))

ÐаÑтройки цветов должны задаватьÑÑ Ð² файле наÑтроек gschem.

ПривÑзки клавиш

ДейÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð°Ð²ÐºÐ¸ в gschem можно привÑзать к одному или неÑкольким ÑочетаниÑм клавиш (к так называемой клавишной поÑледовательноÑти). Ð”Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð²Ñзок клавиш иÑпользуетÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ global-set-key.

Каждое Ñочетание клавиш задаётÑÑ Ð² виде Ñтроки, ÑоÑтоÑщей из Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ¸, не ÑвлÑющейÑÑ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼, перед которой в угловых Ñкобках (â€<†и â€>â€) могут быть указаны Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ñˆ-модификаторов. ПоддерживаютÑÑ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ñ‹ <Control>, <Shift>, <Alt>, <Super>, <Hyper> и <Meta> (не вÑе из них доÑтупны на разных клавиатурах).

Ð¥Ð¾Ñ‚Ñ Ð² gschem и отображаютÑÑ Ð¸Ð½Ñ‚ÐµÑ€Ð½Ð°Ñ†Ð¸Ð¾Ð½Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ðµ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ñˆ, в файлах наÑтроек Ð´Ð»Ñ ÐºÐ»Ð°Ð²Ð¸Ñˆ привÑзок необходимо иÑпользовать английÑкие названиÑ.

ÐšÐ»Ð°Ð²Ð¸ÑˆÐ½Ð°Ñ Ð¿Ð¾ÑледовательноÑть — Ñто Ñтрока, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ð¾Ð¿Ð¸Ñание двух или более Ñочетаний клавиш, разделённых пробелами.

ÐеÑколько примеров:

  • привÑзка команды “Ðовое окно†[“New Windowâ€] к поÑледовательному нажатию F и N:
    (global-set-key "F N" 'file-new-window)
  • запуÑк команды “СнÑть выделение†[“Deselect Allâ€] по нажатию клавиши A Ñ Ð½Ð°Ð¶Ð°Ñ‚Ñ‹Ð¼Ð¸ Ctrl и Shift:
    (global-set-key "<Control><Shift>A" 'edit-deselect)
  • вызов диалогового окна «Шаг привÑзки» [«Snap Size»] по нажатию O, а затем S Ñ Ð½Ð°Ð¶Ð°Ñ‚Ð¾Ð¹ Shift:
    (global-set-key "O <Shift>S" 'options-snapsize)

ÐаÑтройки клавиш должны задаватьÑÑ Ð² файле наÑтроек gschem.

Библиотеки Ñимволов и иÑходных данных

Чтобы библиотека Ñимволов отображалаÑÑŒ в окне «Выбор компонента» [«Select Component…»], нужно вызвать функцию component-library. Библиотека Ñимволов — Ñто, в ÑущноÑти, каталог, Ñодержащий файлы Ñимволов (Ñ Ñ€Ð°Ñширением «.sym»). Чтобы добавить какой-либо каталог как библиотеку Ñимволов, добавьте в Ñвой файл наÑтроек Ñледующее:

(component-library "/каталог/Ñ/моими_Ñимволами")

Кроме того, название библиотеки можно изменить, указав новое название как дополнительный аргумент Ð´Ð»Ñ component-library:

(component-library "/каталог/Ñ/моими_Ñимволами" "Мои Ñимволы")

Ð”Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐº изо вÑех подкаталогов какого-нибудь каталога, иÑпользуетÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ component-library-search:

(component-library-search "/каталог/Ñ/моими_библиотеками_Ñимволов/")

Эта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð² указанном каталоге производит рекурÑивный поиÑк вÑех подкаталогов Ñ Ñимволами, и добавлÑет каждый из них в ÑпиÑок, отображаемый в окне «Выбор компонента».

Ð”Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°, в котором будет производитьÑÑ Ð¿Ð¾Ð¸Ñк подÑхем, иÑпользуетÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ source-library. Эта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸Ñ‡Ð½Ð° component-library. ЕдинÑтвенное отличие в том, что она не принимает дополнительного аргумента, определÑющего название библиотеки.

Чтобы библиотеки Ñимволов были доÑтупны Ð´Ð»Ñ Ñ€Ð°Ð·Ð½Ñ‹Ñ… утилит gEDA (оÑобенно Ð´Ð»Ñ gnetlist, наÑтройки библиотек должны задаватьÑÑ Ð² файле наÑтроек набора gEDA/gaf.

lepton-eda-1.9.10/docs/wiki/geda-eagle_pcb_netlister_readme.ru.html0000644000175000017500000000571713634703632022207 00000000000000

Это руководÑтво доÑтупно также на Ñледующих Ñзыках: English

README по генератору ÑпиÑка Ñоединений Eagle PCB

ОÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ драйвере Eagle PCB и sch2eaglepos.sh

gnet-eagle.scm

Скрипт иÑпользует атрибуты footprint, value и (еÑли нет value) device длÑ
компонента, а также ÑпиÑок Ñоединений, чтобы Ñоздать Ñкрипт Ð´Ð»Ñ Eagle,
который добавит и Ñоединит вÑе компоненты. Также в нём вводитÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚
"lib", определÑющий библиотеку Eagle, в которой можно найти конкретный
компонент... ЕÑли атрибут "lib" Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð° не уÑтановлен, то по
умолчанию принимаетÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ° "smd-ipc" (иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ð°Ñ Ð¿Ð¾ умолчанию в
Eagle Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² Ñ Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ð¾Ñтным монтажом).

sch2eaglepos.sh

Я добавил также напиÑанный мною проÑтой Ñкрипт оболочки, который ÑÑкономил
мне много времени. Он извлекает отноÑительные Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² из Ñхемы
Ð´Ð»Ñ gschem и генерирует Ñкрипт Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² Ð´Ð»Ñ Eagle, который
раÑполагает их таким же образом друг отноÑительно друга на чертеже платы. По
умолчанию вÑе поÑадочные меÑта ÑкладываютÑÑ Ð´Ñ€ÑƒÐ³ на друга в кучу и длÑ
большого проекта приходитÑÑ Ð¾Ñ‡ÐµÐ½ÑŒ долго Ñортировать, какой конденÑатор к
какой микроÑхеме отноÑитÑÑ.
lepton-eda-1.9.10/docs/wiki/geda-gattrib_readme.html0000644000175000017500000001355113634703632017217 00000000000000

gattrib README

******************************************************************
*************  DANGER!!  Read the entirety of this  **************
************  README before you try runing gattrib!  *************
******************************************************************


INTRODUCTION

Gattrib is gEDA's attribute editor.  It reads a set of gschem .sch
files (schematic files), and creates a spreadsheet showing all
components in rows, with the associated component attributes listed in
the columns.  It allows the user to add, modify, or delete component
attributes outside of gschem, and then save the .sch files back
out.  When it is completed, it will allow the user to edit attributes
attached to components, nets, and pins.  (Currently, only component
attribute editing is implemented; pin attributes are displayed only,
and net attributes are TBD.) 

Gattrib is useful in situations where you need to view, add, modify,
or delete a number of attributes all at once.  It saves you the pain
of clicking on each component and repeatedly using gschem's attribute 
editor to modify component attributes.  For example, if you create a
large design with generic components, and then later want to attach
"footprint" attributes to your components, it is a real hassle to do
so using gschem.  In this situation, you can run gattrib on your
design files to attach the "footprint" attributes all at once using an
easy-to-use spreadsheet. 

WARNING NOTE:  Gattrib is currently PRE-ALPHA SOFTWARE!
It has been tested on several designs, but is not garuanteed to work.
It may even trash your design!  Therefore, if you wish to try gattrib
out, please create a backup copy of your design before you run it!

------------------------------------------------------------------
USAGE

You can invoke gattrib on your design from the command line in the
following way:

gattrib my_design_*.sch

(This assumes you have a multi-page design with file names
"my_design_1.sch", "my_design_2.sch", etc.)  Gattrib will then read in
your design, and present you with a spreadsheet showing all components
and associated attributes. 

You can also just run gattrib, and specify the input files using the
file->open dialog box.

To edit your attributes, just edit the cells in the spreadsheet.  

To save your design, just select "save" from the command menu.  Note
that no checks are currently done when you select save.  Be careful!

To quit, just select "quit" from the command menu.  Note that
currently no checks thet you have saved your design are done when you
quit.  

If you want to add an entirely new attribute to your design (i.e. one
which doesn't exist on any component), you must first attach at least
one instance of that attribute to a component using gschem.  Then you
can use gattrib to attach the attribute to the remaining components.
(The reason for this is that gattrib creates its spreadsheet columns
based upon all attributes it finds when reading in the design.
Therefore, to create a column for a new attribute, you need to make
sure that that new attribute pre-exists in the design.)  In the future,
you will be able to add new attribute columns directly from gattrib,
but this feature is currently unimplemented.

------------------------------------------------------------------
FEATURES

The following features are currently implemented:

*  .sch file read in from command line.
*  .sch file read in from menu.
*  .sch file save out from menu.
*  Component attribute editing (of course).
*  Pin attribute viewing.
*  Quit from menu.

The following features are currently unimplemented, but will be
incorporated at some future date:

*  Throw up "Are you sure" dialog boxes upon selecting "save" and
   "quit" from menu.
*  Alphabetic sort of rows.  (Should happen automatically upon read-in
   of design.)
*  Editing of net attributes (important for setting routing
   attributes). 
*  Adding/deleting attribute columns (to add/delete entire sets of
   attributes from a design.)
*  Search/replace of individual attributes.
*  Search for component refdeses & netnames.
*  Set/view component & net visibility (through options pull-down
   menu).  Currently, visibility is "invisible", and both name & value
   are displayed (if you turn on the visibility).

Note that if you select unimplemented features from the menu, nothing
will happen.

------------------------------------------------------------------
INSTALLATION

To install gattrib, place the tarball in the directory where your gEDA
sources live.  Then do:

tar -zxvf geda-gattrib-20040806.tar.gz
cd geda-gattrib-20040806
./configure --prefix=/path/to/your/geda/stuff
make
make install

Note that you may need to set some environment variables first.  If
your compilation barfs, try setting these (for csh):

setenv LD_LIBRARY_PATH /usr/local/geda/lib:$LD_LIBRARY_PATH
setenv PATH /usr/local/geda/bin:$PATH
setenv PKG_CONFIG_PATH /usr/local/geda/lib/pkgconfig:$PKG_CONFIG_PATH

------------------------------------------------------------------
CREDITS/CONTACT:

Gattrib was cobbled together by Stuart Brorson starting in December
2003 from parts culled from GtkSheet (GTK+Extra) and gEDA.  Please
mail bug reports to: sdb@cloud9.net


lepton-eda-1.9.10/docs/wiki/geda-grenum_mp.html0000644000175000017500000000325413634703632016236 00000000000000

grenum man-page

grenum(1)							     grenum(1)



NAME
       grenum - An advanced refdes renumber utility


SYNOPSIS
       grenum  [-v|--version  -h|--help -p|--pagejump] infile1.sch infile2.sch
       ...



DESCRIPTION
       The grenum program will	renumber  the  refdes  definitions  read  from
       infile.


OPTIONS
       -p, --pagejump
	      This  will  switch on the page jump mode. It means that refdes’s
	      from each inputfile gets renumbered from 100,200... etc.

       -v, --version
	      prints version information

       -h, --help
	      prints help message


RETURN VALUE
       grenum will return 0 if all files processed successfully, -1  if	 there
       was  no	input file specified, -2 if I/O files can’t be opened/written,
       -3 if there is parse error in input file, -4 if	there  is  not	enough
       memory to store refdes prefixes.

BUGS
       If you find one, please report it to:


AUTHOR
       Levente Kovacs

       Levente.Kovacs@interware.hu


SEE ALSO
       gschem(1)



								     grenum(1)
lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-running_gnetlist.ru.html0000644000175000017500000000670713634703632022613 00000000000000

ЗапуÑк gnetlist

Вам нужна Ñправка по уÑтановке gEDA?

У программы gnetlist проÑтой Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ Ñтроки, и её можно запуÑтить, набрав команду gnetlist в окне терминала. Ðапример, Ð¾Ð±Ñ‹Ñ‡Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° запуÑка gnetlist Ñ Ñ†ÐµÐ»ÑŒÑŽ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ Ð¸Ñпользуемых в проекте компонентов может выглÑдеть так:

gnetlist -g bom2 -o stepper.bom power-supply.sch motor-drive.sch

При запуÑке gnetlist обычно нужно указать перечень файлов Ñхем Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸, выбрать драйвер ÑпиÑка Ñоединений, которым будет определÑтьÑÑ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð¹ формат данных, и указать Ð¸Ð¼Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла, в котором Ñтот ÑпиÑок Ñоединений будет Ñохранён.

gnetlist принимает множеÑтво дополнительных аргументов, которые могут иÑпользоватьÑÑ Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ поведениÑ. Они подробно опиÑаны в Ñправочной Ñтранице gnetlist(1) (которую можно поÑмотреть, запуÑтив man gnetlist).

lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-hierarchy.html0000644000175000017500000000772113634703632020550 00000000000000

Hierarchy

gnetlist has support for hierarchical schematics. These are schematic diagrams that include other schematic diagrams as subcircuits. This can be very useful for designs that use the same circuit multiple times, or for re-using a circuit in multiple designs. Subcircuits can in turn contain other subcircuits!

Each subcircuit schematic diagram needs to have a subcircuit symbol associated with it. The â€device=†attribute on a subcircuit symbol is ignored. The â€source=†attribute should be used to specify the name of the subcircuit's schematic file.

Subcircuit symbols are loaded from the symbol library as normal. Subcircuit schematics are loaded from the source library.

See Configuring gnetlist for details of how to control where gnetlist looks for subcircuit schematic files.

Hierarchical ports

The pins on a subcircuit symbol define the ports where designs that include the circuit can connect to it. Each port should be named using a â€pinlabel=†attribute. To define the points where a port attaches to the subcircuit's nets, gnetlist will look for the first pin on a component which has a â€refdes=†attribute that matches the port's name. You can normally use the “in-1.sym†and “out-1.sym†symbols from the generic “Input/Output†symbol library for this.

Renaming components and nets

Each subcircuit symbol placed into a schematic must have a â€refdes=†attribute attached to it. This is the name of the subcircuit instance. In order to uniquely identify components and nets in each instance of a hierarchical subcircuit, gnetlist will rename them using the subcircuit's name as a prefix.

For example, consider a subcircuit that contains a component with â€refdes=U1†and a net with â€netname=FEEDBACKâ€. Now, suppose the subcircuit symbol is placed in a schematic and an attribute â€refdes=A1†is attached to it. When the schematic is processed using gnetlist, gnetlist will rename the component to “A1/U1†and rename the net to “A1/FEEDBACKâ€.

lepton-eda-1.9.10/docs/wiki/geda-faq-simulation.html0000644000175000017500000003125013634703632017173 00000000000000

Translations of this page are also available in the following languages: Français, РуÑÑкий.

Simulation

I want to simulate my analog circuit design. What are my options?

Within the canonical gEDA Suite apps there are two analog circuit simulators: ngspice and gnucap. In (slightly) more detail:

  • Ngspice is a port/clean-up of classical SPICE 3f5 to the GNU/Linux platform. It is fully functional, includes the XSpice extensions (such as SPICE 2 POLY constructs), and the CIDER framework.
  • Gnucap is a new circuit simulator written from the ground up. It offers the ability to perform event-driven – as well as continuous time – simulations. It is the work of Al Davis. If you wish to download it, make sure you grab the latest version, available through the “development releases†link on the gnucap website.

Both are CLI (command line interface) programs, meaning that you interact with the simulator by typing commands at a command line. It also means that you need to learn the simulator-specific command set.

If you prefer a graphical interface, the new gEDA app GSpiceUI provides a nice GUI front-end to drive the simulation programs. However, GSpiceUI is not a complete schematic-to-simulation-output simulator like LTSpice or PSpice. Rather, it just provides a GUI menu which helps you navigate the commands you need to perform your ngspice/gnucap simulation.

What about tclspice? What is it? Should I use it?

Tclspice was a fork off the ngspice development path. It was begun in the 2002 timeframe. In principle, tclspice would export the SPICE command set to a TCL API, allowing you to embed SPICE analyses into a TCL program. This vision is certainly very attractive since TCL is a powerful scripting language – much more powerful than the scripting constructs available from within SPICE itself. Using TCL, one could imagine writing complex circuit optimizers, adding behavioral elements to a simulation, and finally gaining control over SPICE's graphical output.

As it turns out, this goal was partially met – with tclspice you can indeed do something like this:

#! tclsh
package require spice
spice::codemodel /usr/local/src/tclspice-0.2.12/src/xspice/icm/spice2poly.cm

spice::source netlistname.cir
spice::tran 0.1ns 40ns
spice::run
spice::plot Vout
puts "All done now!"

Unfortunately, tclspice lacks certain important features, like providing you a return code which tells you whether your simulation actually worked or errored out instead. Also, the graphics functionality never seemed to work (at least for me … and the developers admit that the graphics stink). Converting TCL variables to and from SPICE vectors never seemed to work – again at least for me. Finally, ngspice (at least) has a lot of memory leaks, making long simulation runs difficult. Therefore, tclspice doesn't meet the promise it originally held out: a convenient, scriptable way to drive SPICE simulations.

Development on tclspice effectively stopped in 2004. Perhaps some day somebody will pick it up again. In the meantime, the main ngspice development branch has picked up the tclspice features if you want them (they require separate configuration options), and the code is fresher.

Where are the models?

There are only very few open source models made available by enthusiasts. This is why there is no extensive library of models included in the gnucap or ngspice package. If you rolled your own and feel like contributing to the project, this would be an excellent opportunity (hint, hint…).

Although many manufacturers provide SPICE models free of charge, they keep the license proprietary. This means, that the models can't be distributed with the gEDA suite. In addition, different implementations of SPICE have slightly different ideas about the correct syntax. As a consequence, some models as supplied by the manufacturer need to be tweaked to work with specific implementation.

Spicelib provides a way to receive models tweaked for gnucap and ngspice. It is a set of scripts that will fetch vendors' models directly from the source, solving the redistribution problem. Then it will patch them for compatibility with gnucap and ngspice. You can download spicelib from http://www.h-renrew.de/h/spicelib/doc/index.html.

Isn't there a nice graphical (schematic capture) front end so I can just place components and press a "simulate" button?

No. The best you can do is use GSpiceUI.

How do I create my schematic to facilitate analog simulation?

The usual design path is “gschem†→ “gnetlist -g spice-sdb†→ [“ngspice†| “gnucapâ€]. You need to attach attributes to the components in your schematic to provide attributes needed by SPICE/Gnucap. You can also attach attributes using gattrib.

The Circuit Simulation using gEDA and SPICE - HOWTO describes all this in great detail.

Some SPICE resources will help you understand how to use spice-sdb.

Which spice netlister backend to gnetlist should I use? There are several of them. . . .

Use spice-sdb. It is by far the most advanced and feature rich. The others are there only for reasons of history. Note that spice-sdb is an extension of one of the other SPICE backends, so you aren't missing anything by using spice-sdb.

How about if I want to use gnucap, can I use spice-sdb to create my gnucap netlists?

Yes. Also, you can draw your schematic using gnucap directives available in the “spice†symbol directory.

It is better to just draw the circuit, without directives, and run the simulator interactively.

Why not reuse my simulation schematic for layout?

Newbies commonly want to create a single schematic for both design simulation/validation as well as layout. This vision seems very attractive at first, since your layout will have been tested & validated before committing it to FR-4. However, the devil is in the details; using a single schematic for simulation and layout usually doesn't work for the following reasons:

  • Components required for simulation and layout are normally very different. For example, simulation often requires a schematic holding a bunch of SPICE-related devices such as voltage sources, dependent sources, SPICE directives, and so on. On the other hand, layout requires non-SPICEable components such as connectors, logic devices, and even things like voltage regulators which might have no SPICE models available, but will pollute your SPICE netlist, possibly making the netlister and the simulator unhappy.
  • Some real electronic components don't have built-in SPICE models. There are plenty of components which don't have native SPICE models like potentiometers, transformers, thermistors, EMI filters, logic gates, crystals, vacuum tubes, and on and on. Therefore, if your design uses any of these components, you must mock up the device using an equivalent circuit for simulation. This makes it very difficult to reuse the simulation schematic for layout.
  • Usually, you only really need to simulate a subset of your design. For example, you might want to simulate the behavior of a filter or oscillator circuit, but don't care about (or can't simulate) your power supply, glue logic, or other part of your design. If you insist upon creating a SPICE model for these circuit subsections, you might need to jump through a lot of hoops – and do a lot of unnecessary hard work – in order to find or create SPICE models for parts of your design which aren't important.

Therefore, I (SDB) normally recommend that you shouldn't try too hard to use the same schematic for simulation and for layout. If you can do it, great! But usually you can't.

Personally, I tend to create SPICE models of only the critical analog sections of my design. A larger project might therefore have a couple of simulation schematics validating a couple of analog subcircuits. Besides the simulation schematics, I'll have a main schematic which is used for layout.

lepton-eda-1.9.10/docs/wiki/geda-pcb-quick_reference.ru.html0000644000175000017500000014527513634703632020600 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English, Français.

pcb: ÐºÑ€Ð°Ñ‚ÐºÐ°Ñ Ñправка

Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ

Дополнительную информацию по pcb можно найти в «Справке по командам pcb» («PCB Command reference», refcard.pdf), Ñодержащей опиÑание вÑех привÑзок клавиш pcb, и в «РуководÑтве по pcb» («PCB Manual», pcb.pdf или pcb.html), которые находÑÑ‚ÑÑ Ð² подкаталоге doc/ каталога уÑтановки pcb в вашей ÑиÑтеме (на разных ÑиÑтемах путь к нему может различатьÑÑ).

Стандартные привÑзки клавиш

Ð’Ñе ÑÐ¾Ñ‡ÐµÑ‚Ð°Ð½Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ñˆ

Клавиша Мнемоника ОпиÑание
Esc select включить режим Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ (то же, что и Space или F11)
Esc end of action завершить текущее дейÑтвие, например оÑтановить вычерчивание дорожек
Insert insert point включить режим Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ñ‡ÐµÐº излома; Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ñ‡ÐºÐ¸ щёлкните мышью по дорожке и потÑните в Ñторону
Return click то же, что и щелчок левой кнопкой мыши
Space select включить режим Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ (то же, что и Esc или F11)
Tab flip up/down вид: вертикальный переворот
Shift+Tab flip left/right вид: горизонтальный переворот
Ctrl+Shift+Tab far side вид: Ñмена ролей передней и обратной Ñторон
Del delete удалить объект под курÑором мыши
Shift+Del del-sel удалить выделенные объекты
Backspace del-sel удалить выделенные объекты
Shift+Backspace del-copper удалить Ñоединённые проводники под курÑором; линии ÑвÑзи раÑÑматриваютÑÑ ÐºÐ°Ðº Ñоединение
| thin-draw переключить контурный вид
A set same Ñчитать параметры объекта под курÑором Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ðº новым объектам
Alt+A select-all выделить вÑе объекты на активных ÑлоÑÑ…; неактивные Ñлои игнорируютÑÑ
Shift+Alt+A unselect ÑнÑть выделение
B to other side перенеÑти объект на другую Ñторону платы
C center вид: задать центр облаÑти проÑмотра в координатах позиции курÑора
Ctrl+C copy to buffer копировать выделенное в буфер и ÑнÑть выделение
D display name отобразить название вывода или контактной площадки
Shift+D pinout dialog открыть окно цоколёвки Ñлемента под курÑором мыши
E eliminate rats удалить вÑе линии ÑвÑзи
Shift+E eliminate some rats удалить выделенные линии ÑвÑзи
F find подÑветка найденных Ñоединений объекта, находÑщегоÑÑ Ð¿Ð¾Ð´ курÑором мыши. Сюда также входит подÑветка приÑоединённых линий ÑвÑзи и объектов на видимых ÑлоÑÑ…
Ctrl+F add to found добавить ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° под курÑором к набору найденных объектов
Shift+F un-find убрать подÑветку найденных Ñоединений
G incr grid mil увеличить шаг Ñетки на наÑтроенное приращение в милах
Shift+G decr grid mil уменьшить шаг Ñетки на наÑтроенное приращение в милах
Ctrl+G incr grid mm увеличить шаг Ñетки на наÑтроенное приращение в миллиметрах
Ctrl+Shift+G decr grid mm уменьшить шаг Ñетки на наÑтроенное приращение в миллиметрах
H hide переключить видимоÑть позиционного Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ значениÑ, прикреплённого к компоненту под курÑором
Shift+H hide sel переключить видимоÑть позиционных обозначений или значений, прикреплённых к выделенным компонентам
Ctrl+H holeplate переключить металлизацию перехода; иÑпользуетÑÑ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½ÐµÐ¼ÐµÑ‚Ð°Ð»Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… крепёжных отверÑтий
J lineclear переключить флаг очиÑтки полигонов Ð´Ð»Ñ Ð»Ð¸Ð½Ð¸Ð¸ под курÑором мыши
Shift+J lineclear sel переключить флаг очиÑтки полигонов Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ñ‹Ñ… линий
K klear увеличить зазор (между паÑльной маÑкой и краем контактной площадки)
Shift+K klear (-) уменьшить зазор (между паÑльной маÑкой и краем контактной площадки (Ð’ÐИМÐÐИЕ: может Ñтать отрицательным)
Ctrl+K klear sel увеличить зазор выделенных объектов (между паÑльной маÑкой и краем контактной площадки)
Shift+Ctrl+K klear sel (-) уменьшить зазор выделенных объектов (между паÑльной маÑкой и краем контактной площадки)
L increase line увеличить ширину новых линий, добавлÑетÑÑ Ðº наÑтройке текущего ÑÑ‚Ð¸Ð»Ñ Ð»Ð¸Ð½Ð¸Ð¸
Shift+L decrease line уменьшить ширину новых линий
M move to layer перемеÑтить объект, находÑщийÑÑ Ð¿Ð¾Ð´ курÑором мыши, на текущий Ñлой
Shift+M move selection to layer перемеÑтить выделенные объекты на текущий рабочий Ñлой (Ñм. Советы по pcb)
Ctrl+M move origin уÑтановить отноÑительное начало координат в текущую позицию курÑора мыши
N name показать позиционное обозначение/номер вывода объекта под курÑором мыши
Shift+N next выделить кратчайшую невыделенную линию ÑвÑзи на плате
O optimize rats оптимизировать и перериÑовать вÑе линии ÑвÑзи
Shift+O optimize some rats оптимизировать и перериÑовать линии ÑвÑзи только Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ñ‹Ñ… Ñоединений
Ctrl+O octagon переключить флаг воÑьмиугольной формы Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° под курÑором мыши
Shift+P polygon close Ñоединить первую точку полигона Ñ Ð¿Ð¾Ñледней
Q square toggle переключить прÑмую/Ñкруглённую форму углов контактной площадки
Shift+R redo повторить поÑледнее отменённое изменение
Ctrl+R report показать отчёт об объекте
S size увеличить размер объекта под курÑором мыши
Shift+S size (-) уменьшить размер объекта под курÑором мыши
Alt+S sizehole увеличить отверÑтие объекта под курÑором мыши
Alt+Shift+S sizehole (-) уменьшить отверÑтие объекта под курÑором мыши
Ctrl+S sizehole увеличить отверÑтие объекта под курÑором мыши
Ctrl+Shift+S sizehole (-) уменьшить отверÑтие объекта под курÑором мыши
T text tool size увеличить размер нового текÑта на 10 милов
Shift+T text tool size (-) уменьшить размер нового текÑта на 10 милов
V view extents показать вÑÑŽ рабочую облаÑть
Shift+V via tool dia увеличить диаметр новых переходов на 5 милов
Ctrl+V paste buffer вÑтавить из буфера
Ctrl+Shift+V via tool dia (-) уменьшить диаметр новых переходов на 5 милов
Alt+V via tool drill увеличить диаметр отверÑтий новых переходов на 5 милов
Shift+Alt+V via tool drill (-) уменьшить диаметр отверÑтий новых переходов на 5 милов
Ctrl+X cut to buffer вырезать выделенное в буфер
Z zoom вид: увеличить маÑштаб
Shift+Z un-zoom вид: уменьшить маÑштаб
F1 via выбрать инÑтрумент Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð¾Ð² VIA
F2 line выбрать инÑтрумент Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð»Ð¸Ð½Ð¸Ð¹ LINE
F3 arc выбрать инÑтрумент Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´ÑƒÐ³ ARC
F4 text выбрать инÑтрумент ввода текÑта TEXT
F5 rectangle выбрать инÑтрумент Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ñмоугольников RECT
F6 polygon выбрать инÑтрумент Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ð¸Ð³Ð¾Ð½Ð¾Ð² POLY
F7 buffer включить режим работы Ñ Ð±ÑƒÑ„ÐµÑ€Ð¾Ð¼ BUF
F8 delete включить режим ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ DEL
F9 rotate включить режим поворота ROT
F10 file menu меню «Файл»
F11 select включить режим Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ (то же, что и Space или Esc)
F12 lock включить режим блокировки

Ð¡Ð¾Ñ‡ÐµÑ‚Ð°Ð½Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ñˆ Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¾Ð±Ð»Ð°Ñти проÑмотра

Клавиша Мнемоника ОпиÑание
V view extents показать вÑÑŽ рабочую облаÑть
C center центрировать вид по координатам курÑора
Z zoom увеличить маÑштаб
Shift+Z un-zoom уменьшить маÑштаб
| thin-draw переключить контурный вид
Tab flip up/down вертикальный переворот
Shift+Tab flip left/right горизонтальный переворот
Ctrl+Shift+Tab far side Ñмена ролей передней и обратной Ñторон

Слои

Клавиша Мнемоника ОпиÑание
1 … 9 - выбор ÑÐ»Ð¾Ñ 1 … 9
0 - выбор ÑÐ»Ð¾Ñ 10*
Alt+1 … Alt+9 - выбор ÑÐ»Ð¾Ñ 11 … 19*
Alt+0 - выбор ÑÐ»Ð¾Ñ 20*
Ctrl+1 … Ctrl+9 - переключение видимоÑти ÑÐ»Ð¾Ñ 1 … 9*
Ctrl+0 - переключение видимоÑти ÑÐ»Ð¾Ñ 10*
Ctrl+Alt+1 … Ctrl+Alt+9 - переключение видимоÑти ÑÐ»Ð¾Ñ 11 … 19*
Ctrl+Alt+0 - переключение видимоÑти ÑÐ»Ð¾Ñ 20*

* Эти ÑÐ¾Ñ‡ÐµÑ‚Ð°Ð½Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ñˆ доÑтупны в GTK-HID программы pcb в верÑиÑÑ… поÑле авгуÑта 2011 г.

ÐšÑ€Ð°Ñ‚ÐºÐ°Ñ Ñправка по поÑадочным меÑтам

ОÑновным документом по Ñозданию поÑадочных меÑÑ‚ компонентов ÑвлÑетÑÑ Ð ÑƒÐºÐ¾Ð²Ð¾Ð´Ñтво Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ pcb. Кроме того, еÑть ещё Footprint Creation for the Open-Source Layout Program PCB от Stuart Brorson.

Общий ÑинтакÑиÑ

Файл поÑадочного меÑта pcb может Ñодержать любые из Ñледующих команд:

  • Element [element_flags, description, pcb_name, value, mark_x, mark_y, text_x, text_y, text_direction, text_scale, text_flags]
  • Pad [x1 y1 x2 y2 thickness clearance mask name pad_number flags]
  • Pin [x y thickness clearance mask drillholedia name number flags]
  • ElementArc [x y r1 r2 startangle sweepangle thickness]
  • ElementLine [x1 y1 x2 y2 thickness] → thickness != 1000 = 10 милов почти Ð´Ð»Ñ Ð²Ñех поÑадочных меÑÑ‚
  • Строки комментариев начинаютÑÑ Ñо знака #.

Единицы Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ pcb

Ð’ pcb могут иÑпользоватьÑÑ ÐºÐ°Ðº метричеÑкие, так и английÑкие единицы измерениÑ. pcb работает Ñ Ð½Ð¸Ð¼Ð¸ Ñледующим образом:

  • ОÑновной английÑкой единицей Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ ÑвлÑетÑÑ Â«Ñантимил» (0.01 мила или 0.00001 дюйма).
  • ДопуÑтимый диапазон значений в английÑких единицах: “0.04†(0.0000004 дюйма) … приблизительно “78740000â€.
  • Базовой метричеÑкой единицей ÑвлÑетÑÑ 1 нм (один нанометр). pcb обрабатывает значение как метричеÑкое, еÑли чиÑло Ñодержит в конце ÑÑƒÑ„Ñ„Ð¸ÐºÑ â€œmmâ€.
  • ДопуÑтимый диапазон значений в метричеÑких единицах: “0.000001mm†… “2000mmâ€
  • ПРИМЕЧÐÐИЯ:
    • Ð”Ð»Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚Ñ€Ð¸Ñ‡ÐµÑких единиц иÑпользуйте Ð´Ð»Ñ Ñ‡Ð¸Ñел ÑÑƒÑ„Ñ„Ð¸ÐºÑ â€œmmâ€.
    • ÐнглийÑкие и метричеÑкие единицы могут иÑпользоватьÑÑ Ð² поÑадочных меÑтах одновременно. (!)

Элементы

Element [element_flags, description, pcb_name, value, mark_x, mark_y, text_x, text_y, text_direction, text_scale, text_flags]

Поле ДопуÑтимые
значениÑ,
0.01 мила
(10-5 дюйма)
ДопуÑтимые
значениÑ, мм
ОпиÑание Комментарии
element_flags шеÑтнадцатеричное
без знака
флажки Ñлемента
description Ñтрока текÑтовое опиÑание поÑадочного меÑта определÑетÑÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¼
pcb_name Ñтрока позиционное обозначение (R?, U? и Ñ‚. д.) определÑетÑÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¼
value Ñтрока значение компонента (завиÑит от топологии) определÑетÑÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¼
mark_x «1» … ~ «78740000» «0.000001mm» … «2000mm» координаты (x,y) центра маÑки
mark_y «1» … ~ «78740000» «0.000001mm» … «2000mm»
text_x «1» … ~ «78740000» «0.000001mm» … «2000mm» координаты (x,y) текÑта обозначениÑ
text_y «1» … ~ «78740000» «0.000001mm» … «2000mm»
text_direction деÑÑтичное целое направление текÑта 0=0°
1=-90°
2=180°
3=+90°
text_scale деÑÑтичное целое маÑштаб текÑта обычно 100
text_flags шеÑтнадцатеричное
без знака
флажки текÑта

Контактные площадки

Pad[x1 y1 x2 y2 thickness clearance mask name pad_number flags]

Поле Принимаемое значение ОпиÑание Комментарии
x1 Ñотые доли мила координаты (x,y) первой точки
y1 Ñотые доли мила
x2 Ñотые доли мила координаты (x,y) второй точки
y2 Ñотые доли мила
thickness Ñотые доли мила ширина металла, окружающего Ñегмент линии Ñм. .pdf от Brorson
clearance Ñотые доли мила раÑÑтоÑние до любого другого проводника на любом Ñлое фактичеÑки иÑпользуетÑÑ Ð¿Ð¾Ð»Ð¾Ð²Ð¸Ð½Ð° Ñтого значениÑ!
mask Ñотые доли мила ширина выреза маÑки фактичеÑÐºÐ°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° выреза в маÑке Ñ Ñ†ÐµÐ½Ñ‚Ñ€Ð¾Ð¼ на контактной площадке
name Ñтрока название контактной площадки (Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ Ñтрока) например, "1" или "e" или любое другое
pad_number Ñтрока номер контактной площадки иÑпользуетÑÑ Ð´Ð»Ñ Ñоединений; ДОЛЖЕРбыть ÑоглаÑован Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸ ÑпиÑка Ñоединений
flags шеÑтнадцатеричное xxx

Выводы

Pin[x y thickness clearance mask drillholedia name number flags]

Поле Принимаемое значение ОпиÑание Комментарии
x Ñотые доли мила координата вывода x
y Ñотые доли мила координата вывода y
thickness Ñотые доли мила диаметр контактной площадки
clearance Ñотые доли мила 2*(зазор между проводниками) еÑли вам нужен зазор 10 милов, задайте здеÑÑŒ 2000 (20 милов)
mask Ñотые доли мила диаметр апертуры маÑки фактичеÑкий диаметр отверÑÑ‚Ð¸Ñ Ð² маÑке
drillholedia Ñотые доли мила диаметр отверÑтиÑ
name Ñтрока произвольное название вывода
number деÑÑтичное целое номер вывода, иÑпользуемый Ð´Ð»Ñ Ñоединений/линий ÑвÑзи
flags шеÑтнадцатеричное xxx

Примеры

  • Pad[-24606 14760 -19538 14760 1181 2000 3181 "" "16" "square"]
  • Pad[-14760 19538 -14760 24606 1181 2000 3181 "" "17" "square,edge2"]
  • Pin[0 0 12000 2000 12500 6400 "" "1" 0×00000001]
  • ElementArc [0 0 6800 6800 0 360 1000]
  • ElementLine [-26696 -26696 26696 -26696 1000]
  • # комментарии внутри поÑадочных меÑÑ‚ pcb идут поÑле Ñимвола фунта ("решётки")

Справка по функциÑм командной Ñтроки pcb (в Ñокращении)

:FreeRotateBuffer(<угол_в_градуÑах>)Произвольный поворот буфера
:MoveObject(<x>,<y>,<единица_измерениÑ>)ПеремеÑтить в абÑолютные координаты (x,y,единица_измерениÑ) или отноÑительно на (+x,-y,единица_измерениÑ)
:ChangeClearSize(Selected,<величина>,<единица_измерениÑ>) Размер зазора
:ChangeSize(SelectedPins, <размер> ) Размер вывода
:ChangeSize(SelectedLines,<+N>,<единица_измерениÑ>) Размер линии
:MinClearGap(Selected,<величина>,<единица_измерениÑ>) Минимальный зазор

Справка по физичеÑким ÑлоÑм pcb

  • Справка по Ñлою контуров платы outline
  • HOWTO по физичеÑким ÑлоÑм (outline, помещение поÑадочных меÑÑ‚ в абÑолютные координаты (x,y), вÑтавка компонентов)
lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-colors_styles.html0000644000175000017500000001172213634703632021107 00000000000000

Colors and Styles

You can control the appearance of graphical elements in schematics and symbols in a number of ways.

Object color

Colors of objects in a schematic or symbol are set using a limited color palette, with the various colors having particular meanings. To change which color an object is drawn in, select it and select Edit→Color. This will display the “Color Edit†window, where you can choose the color to use from a drop down menu which shows a preview of each color and color name.

Remember that other users may view your schematics and symbols using a different color map to the one you used to create them, so they may not appear in the same way that they do to you. See also Viewing schematics.

Line width and dashing

Lines, arcs and the outlines of boxes, circles and polygons have an adjustable line width and dash pattern. Select the items to be modified, and use Edit→Line Width & Type to show the “Edit Line Width & Type†window. There are several supported dashing patterns:

  • “Solidâ€. Continuous solid line (this is the default).
  • “Dottedâ€. In this case, the line is drawn with a series of dots spaced by the “Dash Spaceâ€, and the diameter of the dots is controlled by the line width.
  • “Dashedâ€. The line is drawn with a series of dashes; the length of the dashes is controlled by the “Dash Lengthâ€, and the space between dashes by the “Dash Spaceâ€.
  • “Centerâ€. The line is drawn with alternating dashes (of length “Dash Lengthâ€) and dots. The spacing between the dashes and dots is the “Dash Spaceâ€.
  • “Phantomâ€. The same as “Centerâ€, except with two dots between each pair of dashes (i.e. “dash-dot-dot-dash†instead of “dash-dot-dashâ€).

Fill patterns for shapes

Boxes, circles and polygons can have their interiors filled with a variety of patterns. Use Edit→Fill Type… to show the “Edit Fill Type†window. The available patterns are:

  • “Hollowâ€. The shape is unfilled (this is the default).
  • “Filledâ€. Fill the shape with a solid color.
  • “Hatchâ€. Fill the shape with hatching. You must specify the angle for the hatching lines (“Angle 1â€) and the spacing between them (“Pitch 1â€).
  • “Meshâ€. Fill the shape with hatching in two directions. Like “Hatchâ€, you must specify angle and spacing, but once for each hatching direction.

For both the “Hatch†and “Mesh†fill patterns, you must provide the “Line Width†for the hatching lines.

lepton-eda-1.9.10/docs/wiki/geda-links.html0000644000175000017500000001516013634703632015364 00000000000000

gEDA Links

Please e-mail me (ahvezda AT seul.org) if you want your link/project added here.

See also: Projects created using gEDA

Directly related links

Related projects

  • Icarus Verilog, a Verilog simulation and synthesis tool
  • GTKWave, a wave viewer
  • Fritzing, “essentially an Electronic Design Automation software with a low entry barrier, suited for the needs of designers and artists. It uses the metaphor of the breadboard, so that it is easy to transfer your hardware sketch to the software. From there it is possible to create PCB layouts for turning it into a robust PCB yourself or by help of a manufacturer.â€
  • KiCad, an EDA software suite similar to gEDA
  • Qucs, “an integrated circuit simulator which means you are able to setup a circuit with a graphical user interface (GUI) and simulate the large-signal, small-signal and noise behaviour of the circuit. After that simulation has finished you can view the simulation results on a presentation page or window. â€
  • XCircuit, “UNIX/X11 (and Windows, if you have an X-Server running, or Windows API, if not) program for drawing publishable-quality electrical circuit schematic diagrams and related figures, and produce circuit netlists through schematic capture. XCircuit regards circuits as inherently hierarchical, and writes both hierarchical PostScript output and hierarchical SPICE netlists. Circuit components are saved in and retrieved from libraries which are fully editable. XCircuit does not separate artistic expression from circuit drawing; it maintains flexiblity in style without compromising the power of schematic capture.â€

Various press that gEDA has received

lepton-eda-1.9.10/docs/wiki/geda-ngspice_and_gschem.ru.html0000644000175000017500000003436113634703632020475 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

Обзор

gschem можно иÑпользовать Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ‚Ð°ÐºÐ¸Ñ… ÑлектричеÑких Ñхем, работу которых можно затем промоделировать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ngspice. Это удобно тем, что прежде чем отдать Ñвой проект в производÑтво, его можно шаг за шагом улучшать и каждый раз проверÑть моделированием. Цель наÑтоÑщего руководÑтва не в том, чтобы научить Ð²Ð°Ñ Ð¿Ñ€ÐµÐ¼ÑƒÐ´Ñ€Ð¾ÑÑ‚Ñм SPICE, а в том, чтобы на очень проÑтом примере объÑÑнить нужные Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ шаги. Более подробную документацию по SPICE и gEDA можно найти на Ñтраницах:

Может быть полезен и FAQ по моделированию в Wiki.

Этот учебник оÑновываетÑÑ Ð½Ð° TwoStageAmp.sch, одном из примеров в документации gEDA, и в нём шаг за шагом воÑпроизводитÑÑ Ð¿ÐµÑ€Ð²Ð°Ñ Ð¿Ð¾Ð»Ð¾Ð²Ð¸Ð½Ð° Ñтого примера.

ÐаÑтройка

ДопуÑтим, вы уже умеете Ñоздавать Ñхемы в gschem. ЕÑли вы не знаете, как Ñто делаетÑÑ, поÑмотрите Учебник по gsch2pcb. Итак, начнём Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° проекта simpleSPICE и файла Ñхемы simplespice.sch в Ñтом каталоге.

Сделайте в gschem примерно такую Ñхему:

Заметьте, что здеÑÑŒ Ñозданы три именованных ÑоединениÑ: Vin, Vout и Vbase. Ð¥Ð¾Ñ‚Ñ Ñ‚Ð°Ðº делать и не обÑзательно, но таким образом легче отÑлеживать важные точки Ñхемы. Чтобы Ñоздать именованное Ñоединение, надо либо щёлкнуть правой кнопкой, либо нажать EE, когда Ñоединение выделено, а затем в окне Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð² добавить атрибут netname и в качеÑтве Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ задать нужное Ð¸Ð¼Ñ ÑоединениÑ. Ð¥Ð¾Ñ‚Ñ Ñ‚ÐµÐ¿ÐµÑ€ÑŒ у Ð½Ð°Ñ ÑƒÐ¶Ðµ еÑть Ñхема Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ, чтобы получить какие-либо результаты, нам надо ещё добавить некоторую информацию Ñпециально Ð´Ð»Ñ SPICE.

Добавим кое-что Ð´Ð»Ñ SPICE

Чтобы Ñхема была пригодна Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ, нам нужно Ñделать четыре вещи. Ðужно подключить входной Ñигнал, опиÑать ÑвойÑтва транзиÑтора, Ñвно определить Vcc и добавить неÑколько Ñтрок в файл SPICE. Когда вÑÑ‘ Ñто будет Ñделано, Ñхема будет выглÑдеть так:

Чтобы добавить входной Ñигнал, нужно выбрать его Ñимвол в меню компонентов SPICE simulation elements → vac-1.sym, и поÑле вÑтавки в Ñхему отредактировать его ÑвойÑтва вот так:

Отметьте Ñебе, что в атрибуте value — Ñтрока Ð´Ð»Ñ SPICE. Больше о ÑинтакÑиÑе SPICE можно узнать, Ð¿ÐµÑ€ÐµÐ¹Ð´Ñ Ð¿Ð¾ вышеприведённым ÑÑылкам.

Vcc наÑтраиваетÑÑ Ð² целом так же, только в меню компонентов нужно выбрать SPICE simulation elements → vdc-1.sym. СвойÑтва Ñтого Ñимвола нужно отредактировать вот так:

ÐаÑтройка транзиÑтора немного Ñложнее. Сначала нам нужна SPICE-модель Ð´Ð»Ñ Ð¸Ð½Ñ‚ÐµÑ€ÐµÑующего Ð½Ð°Ñ Ñ‚Ñ€Ð°Ð½Ð·Ð¸Ñтора. Обычно модели можно найти на веб-Ñайтах производителей или в Ñпецификации компонента, но Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñо Ñвоей любимой программой Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ñ… может быть придётÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ. Самый лёгкий путь — взÑть модель из библиотеки spicelib. Ð’ данном примере мы раÑÑмотрим вездеÑущий 2N3904. Вот его модель:

.model 2N3904   NPN(Is=6.734f Xti=3 Eg=1.11 Vaf=74.03 Bf=416.4 Ne=1.259
+               Ise=6.734f Ikf=66.78m Xtb=1.5 Br=.7371 Nc=2 Isc=0 Ikr=0 Rc=1
+               Cjc=3.638p Mjc=.3085 Vjc=.75 Fc=.5 Cje=4.493p Mje=.2593 Vje=.75
+               Tr=239.5n Tf=301.2p Itf=.4 Vtf=4 Xtf=2 Rb=10)
*               Fairchild        pid=23          case=TO92
*               88-09-08 bam    creation

Ð’ каталоге проекта simpleSPICE Ñоздайте подкаталог models, а в нём файл 2N3904.mod, Ñодержащий вышеуказанный текÑÑ‚. ОбÑзательно добавьте пуÑтую Ñтроку в конце файла, так как очень важно, чтобы в итоговом файле SPICE вÑÑ‘ задавалоÑÑŒ в виде отдельных Ñтрок. Хорошо, теперь, когда у Ð½Ð°Ñ ÐµÑть модель транзиÑтора, нам надо её подключить. Отредактируйте ÑвойÑтва транзиÑтора вот так:

Теперь нам нужно ещё Ñообщить о Ñозданной нами модели программе gschem. Это производитÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ в Ñхему Ñимвола spice-model-1.sym. Отредактируйте его ÑвойÑтва так:

Хорошо, нужно добавить ещё два Ñимвола. Первый — Ñто spice-include-1.sym, подключающий текÑтовый файл Ñ Ð¾Ð¿Ð¸Ñанием нужного вам вида SPICE-моделированиÑ, а второй — spice-directive-1.sym, позволÑющий добавлÑть дополнительные Ñтроки к Ñтому файлу SPICE. СвойÑтва Ñтих Ñимволов можно наÑтроить Ñледующим образом:

ПоздравлÑем! Теперь наша Ñхема готова Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ.

Моделирование

Ð¥Ð¾Ñ‚Ñ Ñхема уже на меÑте, нам вÑÑ‘ же надо опиÑать, как будет производитьÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ. Эта Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° быть запиÑана в ./Simulation.cmd, на который ÑÑылаетÑÑ Ñимвол включениÑ, добавленный нами в предыдущем разделе. Итак, Ñоздайте файл ./Simulation.cmd вот Ñ Ñ‚Ð°ÐºÐ¸Ð¼ Ñодержимым:

.OP
.AC DEC 20 1Hz 100MegHz
* .DC VINPUT 0 5 .01
* .DC VINPUT 1 2 .01
.plot ac v(Vout) v(Vin)
.print ac v(Vout) v(Vin)

ЗдеÑÑŒ задаётÑÑ Ñ‡Ð°Ñтотный анализ (.AC), в то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº Ñтроки Ð´Ð»Ñ Ñ€Ð°Ñчёта режима по поÑтоÑнному току (.DC) закомментированы. Затем идёт вывод графиков Vout и Vin, а также печать их чиÑловых значений. Как отмечено ранее, узнать о SPICE можно, Ð¿ÐµÑ€ÐµÐ¹Ð´Ñ Ð¿Ð¾ вышеприведённым ÑÑылкам.

Теперь, когда мы опиÑали желаемый вид моделированиÑ, откройте терминал, перейдите в каталог simpleSPICE и наберите команду:

gnetlist -g spice-sdb -o spice.net simplespice.sch

ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð²Ñ‹Ð´Ð°ÑÑ‚ файл spice.net Ð´Ð»Ñ SPICE. Теперь моделирование можно запуÑтить в режиме пакетной обработки, набрав:

ngspice -b spice.net > result.txt

что выдаÑÑ‚ в result.txt большое количеÑтво текÑта. Ð’ Ñтом файле должен быть как запрошенный нами чиÑловой вывод, так и грубый график результатов в текÑтовом виде. Заметьте, что входной Ñигнал 10 мВ уÑилилÑÑ Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ð½Ð¾ до -280 мВ в широком диапазоне чаÑтот. ЕÑли вы хотите увидеть графичеÑкое предÑтавление графиков, ngspice можно заÑтавить работать в интерактивном режиме, удалив ключ -b. Более подробно Ñто опиÑано на веб-Ñайте ngspice. Так или иначе, теперь Ð´Ð»Ñ Ð¿Ð¾ÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð² и анализа у Ð½Ð°Ñ ÐµÑть результаты Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² замечательном текÑтовом формате, который хорошо подходит Ð´Ð»Ñ Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐµÐ¹ обработки Ñкриптами на чём-то вроде python или octave.

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-attributes.ru.html0000644000175000017500000002564713634703632021031 00000000000000

Ðтрибуты

И к компонентам, и к выводам, ÑоединениÑм и шинам могут прикреплÑтьÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹. Ðтрибуты предÑтавлÑÑŽÑ‚ Ñобой текÑтовые Ñлементы вида «имÑ=значение». СоединениÑ, к примеру, именуютÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ атрибута «netname=», а компоненты — Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «refdes=».

Ðтрибуты можно добавлÑть на Ñтраницу и не прикреплÑÑ Ð¸Ñ… к другим объектам. Такие атрибуты называютÑÑ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð¸Ð¼Ð¸ или Ñвободными и в оÑновном иÑпользуютÑÑ Ð² Ñимволах. Когда Ñимвол помещаетÑÑ Ð½Ð° Ñтраницу как компонент, вÑе плавающие атрибуты Ñимвола ÑтановÑÑ‚ÑÑ ÑƒÐ½Ð°Ñледованными атрибутами компонента в Ñхеме.

Своей мощи и гибкоÑти программы gEDA обÑзаны, главным образом, иÑпользованию атрибутов. Полный перечень Ñтандартных атрибутов и значение каждого из них можно найти в Перечне оÑновных атрибутов.

Кроме ÑобÑтвенно имени и значениÑ, атрибуты имеют наÑтройки видимоÑти. ÐŸÐµÑ€Ð²Ð°Ñ Ð¸Ð· них управлÑет видимоÑтью атрибута как целого, Ð²Ñ‚Ð¾Ñ€Ð°Ñ Ð·Ð°Ð´Ð°Ñ‘Ñ‚, какие его чаÑти должны отображатьÑÑ (только имÑ, только значение, или и то, и другое).

ДобавлÑть и редактировать атрибуты можно Ð´Ð²ÑƒÐ¼Ñ ÑпоÑобами: либо поодиночке, либо Ñразу по неÑколько в окне «Правка атрибутов» [«Edit Attributes»].

Редактирование отдельных атрибутов

Ð”Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ атрибута к компоненту, выводу, Ñоединению или шине, выделите нужный объект и выберите в меню Добавить→Ðтрибут… [Add→Attribute…]. При Ñтом откроетÑÑ Ð¾ÐºÐ½Ð¾ «Редактор атрибута» [«Single Attribute Editor»]. Введите Ð´Ð»Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° Ð¸Ð¼Ñ Ð¸ значение и уÑтановите нужные параметры видимоÑти, а затем Ð´Ð»Ñ ÐµÐ³Ð¾ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‰Ñ‘Ð»ÐºÐ½Ð¸Ñ‚Ðµ OK. ЕÑли выбрать пункт Добавить→Ðтрибут… [Add→Attribute…], когда ни один объект не выделен, Ñозданный атрибут будет плавающим.

Ð”Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ð¾Ð³Ð¾ атрибута, выделите его (но не объект, к которому он прикреплён) и Ñнова откройте окно «Редактор атрибута» [«Single Attribute Editor»], выбрав Правка→Правка… [Edit→Edit…]. Ð”Ð»Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ щёлкните OK.

Редактирование групп атрибутов

Более мощной альтернативой ÑвлÑетÑÑ Ð¸Ñпользование окна «Правка атрибутов» [«Edit Attributes»]. Чтобы открыть Ñто окно, выделите компонент, Ñоединение, вывод или шину и выберите в меню Правка→Правка… [Edit→Edit…].

Окно «Правка атрибутов» ÑоÑтоит из двух чаÑтей. Ð’ верхней чаÑти отображаютÑÑ Ð²Ñе атрибуты, прикреплённые к объекту, а в нижней можно добавлÑть атрибуты примерно таким же образом, как и в окне «Правка атрибута» [«Single Attribute Editor»]. При Ñмене выделенного объекта окно обновлÑетÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки.

Ð’ верхней чаÑти окна находитÑÑ ÑпиÑок атрибутов, ÐºÐ°Ð¶Ð´Ð°Ñ Ñтрока которого Ñодержит Ð¸Ð¼Ñ Ð¸ значение атрибута и наÑтройки его Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ («Видимый» [«Vis?»] определÑет общую видимоÑть, а «И» [«N»] и «З» [«V»] ÑоответÑтвенно видимоÑть имени и значениÑ). Ð”Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ или Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° нужно щелкнуть по ÑоответÑтвующему полю левой кнопкой мыши, а затем, чтобы Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑохранилиÑÑŒ, нажать Enter или перемеÑтить мышью Ñ„Ð¾ÐºÑƒÑ Ð½Ð° другое поле. Ð”Ð»Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ñ‹ изменений в процеÑÑе правки имени или Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½ÑƒÐ¶Ð½Ð¾ нажать Escape.

Чтобы удалить атрибут, щёлкните по нему правой кнопкой мыши и выберите в контекÑтном меню пункт Удалить [Delete].

ЕÑли уÑтановлен флажок Показать унаÑледованные атрибуты [Show inherited attributes] и редактируетÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚, то кроме атрибутов, прикреплённых к нему извне, будут показаны и вÑе атрибуты, унаÑледованные компонентом от Ñимвола, из которого он Ñоздан, но менÑть их будет нельзÑ. Ð”Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑƒÐ½Ð°Ñледованного атрибута нужно добавить его копию, значение которой можно будет затем изменить. Ð”Ð»Ñ Ñтого щёлкните по атрибуту правой кнопкой и выберите в контекÑтном меню пункт ВынеÑти [Promote].

Изменение видимоÑти группы атрибутов

Изменить наÑтройки видимоÑти неÑкольких выделенных атрибутов одновременно можно Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ðтрибуты→Переключить видимоÑть [Attributes→Toggle Visibility], Ðтрибуты→Показать Ð¸Ð¼Ñ [Attributes→Show Name], Ðтрибуты→Показать значение [Attributes→Show Value] и Ðтрибуты→Показать Ð¸Ð¼Ñ Ð¸ значение [Attributes→Show Both].

Кроме того, можно изменить видимоÑть вÑех атрибутов, начинающихÑÑ Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð¾Ð³Ð¾ префикÑа, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ðтрибуты→Скрыть текÑт… [Attributes→Hide Specific Text…] и Ðтрибуты→Показать текÑт… [Attributes→Show Specific Text…]. Ðапример, чтобы Ñкрыть вÑе атрибуты refdes, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… начинаютÑÑ Ñ R, можно ввеÑти «refdes=R».

lepton-eda-1.9.10/docs/wiki/geda-gschem_warmup.ru.html0000644000175000017500000004126313634703632017535 00000000000000

Это руководÑтво доÑтупно также на Ñледующих Ñзыках: English

Разминка в gschem Ð´Ð»Ñ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÑŽÑ‰Ð¸Ñ…

Вам нужно узнать, что и как делаетÑÑ Ð² gschem, поÑтому Ð´Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° проÑто запуÑтите Ñту программу и поиграйтеÑÑŒ в ней немного.

Сначала откроетÑÑ Ð¸ÑÑ…Ð¾Ð´Ð½Ð°Ñ Ñтраница Ñ Ð¼ÐµÐ½ÑŽ и панелью инÑтрументов наверху. При выборе дейÑтвий в меню обратите внимание, что обычно Ð´Ð»Ñ Ð¿ÑƒÐ½ÐºÑ‚Ð¾Ð² меню еÑть ещё и “горÑчие клавиши†— привÑзки, которые позволÑÑŽÑ‚ быÑтро вызывать ÑоответÑтвующие функции.

ПоÑмотрите на Ñтраницу и вы увидите, что она Ñодержит рамку оÑновной надпиÑи. При вводе Ñхемы удобно Ñначала определить её внешние границы. Вот почему рамка добавлÑетÑÑ ÐºÐ°Ð¶Ð´Ñ‹Ð¹ раз при Ñоздании новой Ñхемы в процеÑÑе запуÑка gschem .

Давайте поизменÑем маÑштаб Ñтраницы.

  • Попробуйте увеличить (клавиша Z) и уменьшить (Shift+Z) маÑштаб (или выберите в меню Вид → Увеличить или Вид → Уменьшить). Обратите внимание, что когда вы нажимаете клавишу или поÑледовательноÑть клавиш, они отображаютÑÑ Ð²Ð½Ð¸Ð·Ñƒ, в Ñтроке ÑоÑтоÑниÑ. Обратите также внимание, что при маÑштабировании центр облаÑти проÑмотра находитÑÑ Ð¿Ð¾Ð´ курÑором мыши.
  • Покрутите колёÑико мыши Ñначала проÑто так, а затем Ð½Ð°Ð¶Ð¸Ð¼Ð°Ñ Ð¾Ð´Ð½Ñƒ из клавиш Shift или Control, чтобы увидеть, как можно изменÑть маÑштаб Ñтраницы или перемещатьÑÑ Ð¿Ð¾ ней.
  • Ð”Ð»Ñ Ñ‚Ð¾Ð³Ð¾ чтобы маÑштаб ÑоответÑтвовал размеру Ñимвола рамки оÑновной надпиÑи, нажмите клавиши VE (или выберите в меню Вид → УмеÑтить в окне [View → Zoom Extents]), мышь при Ñтом должна находитьÑÑ Ð² облаÑти чертежа.

Мне кажетÑÑ, что при печати на бумаге формата letter Ñхема выглÑдит довольно неплохо Ñ Ð´Ð¾Ð±Ð°Ð²Ð»Ñемой по умолчанию рамкой размера B, но допуÑтим, что она вам не нравитÑÑ, и надо удалить Ñтарую рамку и заменить её другой.

  • Измените маÑштаб Ñтраницы, чтобы рамка оÑновной надпиÑи была видна целиком.
  • РаÑположите указатель мыши Ñлева Ñнизу от рамки, нажмите левую кнопку и перемеÑтите мышь, чтобы выделить её.
  • Ðажмите Ñочетание E Shift+L (или выберите в меню Правка → Разблокировка [Edit → Unlock]) Ð´Ð»Ñ Ñ€Ð°Ð·Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²ÐºÐ¸ и D или Delete Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñ€Ð°Ð¼ÐºÐ¸.
  • Откройте окно Выбор компонента [Select Component], выбрав в меню Добавить → Компонент… [Add → Component…] или нажав клавишу I. Или можно щёлкнуть иконку Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð° на панели инÑтрументов ().
  • Ð’ ÑпиÑке вкладки Библиотечные [Libraries] выберите пункт Titleblocks (generic).
  • Щёлкните левой кнопкой по маленькому треугольнику Ñлева или проÑто дважды щёлкните по имени библиотеки, чтобы открыть ÑпиÑок её компонентов.
  • Выберите title-A.sym.
  • Перейдите в облаÑть чертежа gschem и щелчком левой кнопки мыши добавьте Ñимвол рамки. Затем щёлкните правой кнопкой, чтобы больше рамок не вÑтавлÑть.

Добавим неÑколько компонентов на Ñтраницу и попробуем их подвигать.

  • ВернитеÑÑŒ в окно выбора компонентов (откройте его Ñнова, еÑли уже закрыли), выберите библиотеку Basic devices и затем компонент resistor-1.sym и помеÑтите пару резиÑторов в Ñхему левой кнопкой мыши.
  • Щелкните правой кнопкой, чтобы закончить добавление резиÑторов.
  • Щёлкните левой кнопкой по одному из резиÑторов. Обратите внимание, что теперь он подÑвечен оранжевым цветом. Это показывает, что он выделен.
  • Ещё раз щёлкните где-нибудь, чтобы ÑнÑть Ñ Ð½ÐµÐ³Ð¾ выделение.
  • Попробуйте повыделÑть резиÑторы, пощёлкав по ним по очереди левой кнопкой мыши, и заметьте, что еÑли вы не попадаете точно по резиÑтору, вмеÑто него выделÑетÑÑ Ñ€Ð°Ð¼ÐºÐ° оÑновной надпиÑи. Ðа Ñамом деле рамку мы больше выделÑть не хотим, так что давайте её заблокируем, чтобы её поÑтоÑнное выделение Ð½Ð°Ñ Ð±Ð¾Ð»ÑŒÑˆÐµ не раздражало: щёлкните, чтобы ВЫДЕЛИТЬ рамку, затем выберите Правка → Блокировка [Edit → Lock] или нажмите Ñочетание EL. Теперь выбирать резиÑторы Ñтанет легче.
  • Поперемещайте резиÑторы левой кнопкой мыши.
  • Выделите резиÑтор и затем поверните его клавишами ER или Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Правка → Поворот на 90° [Edit → Rotate 90 mode]. Обратите внимание, что он вращаетÑÑ Ð¾Ñ‚Ð½Ð¾Ñительно Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð¼Ñ‹ÑˆÐ¸. ЕÑли выбирать команду поворота в меню, необходимо указать центр вращениÑ, щёлкнув в нужной точке. ЕÑли вы не видите, куда делÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚ поÑле поворота, Ñнова нажмите VE Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð²Ñей Ñхемы целиком.
  • Ðажмите U или Ctrl+Z Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ñ‹ поÑледнего дейÑÑ‚Ð²Ð¸Ñ Ð¸ Ctrl+Y Ð´Ð»Ñ ÐµÐ³Ð¾ повтора.
  • Подвиньте резиÑторы поближе друг к другу и, Ð¿Ð¾Ð´Ð²ÐµÐ´Ñ Ðº ним курÑор мыши, увеличьте маÑштаб.

Теперь добавим неÑколько Ñоединений.

  • Ðаведите курÑор мыши на один из выводов резиÑтора и нажмите клавишу N или щёлкните по иконке Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñоединений на панели инÑтрументов (), чтобы добавить Ñоединение.
  • ПеремеÑтите мышь к выводу другого резиÑтора и вы увидите небольшой кружок, указывающий то меÑто, куда будет подключено Ñоединение. Этот кружок видим только в режиме магнитных Ñоединений, включенном по умолчанию.

  • Щёлкните левой кнопкой, чтобы подключить Ñоединение к выводу.
  • Ðемного Ñдвиньте мышь и вы увидите новое Ñоединение, Ñледующее за курÑором мыши. Щёлкните правой кнопкой, чтобы прекратить добавление новых Ñоединений.

ВзглÑните на панель инÑтрументов и вы увидите, что режим работы переключилÑÑ Ð½Ð° добавление Ñоединений. Прежде чем Ñнова переходить к выделению резиÑторов, нужно опÑть войти в режим Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ â€” или нажать клавишу S, или щёлкнуть по иконке Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½Ð° панели инÑтрументов (), или Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ меню Правка → Выделение [Edit → Select Mode]. ПридётÑÑ Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¾ поигратьÑÑ, чтобы привыкнуть к режимам работы gschem.

ЕÑли поÑле Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ резиÑторами получилоÑÑŒ нечто вроде Ñтого: значит вы промахнулиÑÑŒ и не попали на вывод правого резиÑтора. Квадратик на кончике вывода показывает точку Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº нему, и Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñоединений к выводам их нужно начинать и заканчивать именно на Ñтих краÑных метках. ИÑправим Ñто.

  • Выделите Ñоединение между резиÑторами и удалите его клавишей Delete key.
  • Снова переключитеÑÑŒ в режим Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñоединений и попробуйте Ñоединить резиÑторы ещё раз.

Теперь поиграемÑÑ Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¼Ð¸.

  • Выделите резиÑтор и нажмите клавиши EE. Это вызовет окно Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐµÐ³Ð¾ атрибутов. ЗдеÑÑŒ можно изменÑть Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑущеÑтвующих атрибутов или добавлÑть новые Ñ Ð½ÑƒÐ¶Ð½Ñ‹Ð¼Ð¸ Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ резиÑтора значениÑми. Хорошенько потренируйтеÑÑŒ Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ атрибутов и изменением их значений, так как Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ в gschem вам будет нужно очень хорошо Ñ Ð½Ð¸Ð¼Ð¸ познакомитьÑÑ.

Теперь вернитеÑÑŒ к руководÑтву и попробуйте поработать Ñ Ð¿Ñ€Ð¾Ñтыми предÑтавленными там примерами. ЕÑли вы наткнётеÑÑŒ на не очень понÑтные шаги, проÑмотрите документацию Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ gschem и документацию по атрибутам. Другую документацию по gschem можно найти на Ñтранице документации gEDA.


Ðвтор: Bill Wilson (billw–at–gkrellm.net)

lepton-eda-1.9.10/docs/wiki/geda-eagle_pcb_netlister_readme.html0000644000175000017500000000364013634703632021553 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

Eagle PCB netlister README

Basic information about the Eagle PCB backend and sch2eaglepos.sh

gnet-eagle.scm

The script uses the component's package, footprint, value, and (if no
value) device attributes, as well as the netlist, to generate an Eagle
script that will add and connect all components.  It also introduces a
"lib" attribute, which specifies the Eagle library where the footprint
can be found...if a "lib" attribute is not set for a component, then
the library defaults to "smd-ipc" (the default Eagle surface mount library).

sch2eaglepos.sh

I am also including a simple shell script that I wrote which has saved
me hours by extracting the relative locations of the parts from a
gschem schematic, and generating an Eagle script to place the
components in the same relative locations on the layout.  By default
all packages are piled on top of each other, and with a large design
it takes a long time to sort out which cap bypasses which IC, etc.
lepton-eda-1.9.10/docs/wiki/geda-gaf_utility.ru.html0000644000175000017500000014672113634703632017221 00000000000000

Ðа других Ñзыках: English

gaf - утилита командной Ñтроки gEDA/gaf

Программа gaf предоÑтавлÑет в раÑпорÑжение Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½ÐµÑколько маленьких утилит командной Ñтроки Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ñхем и Ñимволов. Её назначение — Ð¿Ð°ÐºÐµÑ‚Ð½Ð°Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° данных проектов, Ñозданных Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ редактора Ñхем gschem. Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° поддерживает три вÑтроенных команды:

  • gaf export иÑпользуетÑÑ Ð´Ð»Ñ ÐºÐ¾Ð½Ð²ÐµÑ€Ñ‚Ð°Ñ†Ð¸Ð¸ файлов Ñхем и Ñимволов в форматы SVG, PDF, PNG, PS и EPS Ñ Ñ†ÐµÐ»ÑŒÑŽ раÑпечатки или Ð²Ð½ÐµÐ´Ñ€ÐµÐ½Ð¸Ñ Ð² другую документацию.
  • gaf config предназначена Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ… и запиÑи новых параметров наÑтройки в файлы наÑтроек проектов, пользовательÑкие и ÑиÑтемные файлы наÑтроек gEDA.
  • gaf shell предоÑтавлÑет Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ Ñтроки Ñ Â«Ñ†Ð¸ÐºÐ»Ð¾Ð¼ чтениÑ-вычиÑлениÑ-вывода» Scheme (REPL) Ð´Ð»Ñ Ð¿Ð°ÐºÐµÑ‚Ð½Ð¾Ð¹ обработки данных принципиальных Ñхем.

Подробное опиÑание опций утилиты Ñм. в Ñправочной Ñтранице gaf(1).

gaf export

Подробное опиÑание команды gaf export можно найти в Ñправочной Ñтранице gaf(1).

gaf config

Ð’ данном разделе приводитÑÑ Ð¾Ð¿Ð¸Ñание наÑтройки gschem и gnetlist Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ команды gaf config.

Подробное опиÑание опций утилиты Ñм. в Ñправочной Ñтранице gaf(1).

Файлы наÑтроек

Параметры наÑтройки запиÑываютÑÑ Ð² файлы наÑтроек gEDA. Это Ñледующие файлы:

  • geda-system.conf Ð´Ð»Ñ ÑиÑтемных наÑтроек. Файл ÑиÑтемных наÑтроек поÑледовательно ищетÑÑ Ð² трёх меÑтах:
    • в ${XDG_CONFIG_DIRS}/gEDA, подробноÑти об Ñтой переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ñм. в XDG Base Directory Specification;
    • еÑли ÑиÑтемных наÑтроек там не найдено, то в традиционном меÑтоположении rc-файлов gEDA, то еÑть в каталоге ${PREFIX}/share/gEDA, где ${PREFIX} ÑвлÑетÑÑ Ñкомпилированным умолчанием, обычно /usr или /usr/local (но в диÑтрибутивах на оÑнове Debian вмеÑто Ñтого иÑпользуетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ /etc/gEDA),
    • и наконец, еÑли файл наÑтроек так и не был пока найден, в каталоге по умолчанию XDG или, еÑли таковой не определён, в каталоге /etc/xdg/gEDA.
  • $HOME/.gEDA/geda-user.conf Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑких наÑтроек.
  • путь/к/проекту/geda.conf Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… наÑтроек проекта.

Примечание: Ñти файлы можно также редактировать вручную в текÑтовом редакторе.

Формат файла наÑтроек приводитÑÑ Ð² Ñтом Ñтандарте freedesktop.org.

Ð’Ñе файлы наÑтроек ÑоÑтоÑÑ‚ из разделов, называемых группами, Ñодержащих пары ключ-значение.

ЗначениÑми ключей в файлах наÑтроек gEDA могут быть отдельные чиÑла или ÑпиÑки. Обратите внимание, что в отличие от команды gaf export, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¹ можно иÑпользовать неÑколько разделителей ÑпиÑка, единÑтвенным разделителем между значениÑми ÑпиÑка в файлах наÑтроек ÑвлÑетÑÑ Ñ‚Ð¾Ñ‡ÐºÐ° Ñ Ð·Ð°Ð¿Ñтой ';'. Другое отличие заключаетÑÑ Ð² том, что при иÑпользовании команды gaf config вÑегда необходимо указывать вÑе параметры иÑпользуемого ÑпиÑка. Таким образом, например, ÑÐ»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° не будет работать должным образом:

gaf config --project export size 1000

ÐŸÑ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° будет выглÑдеть так:

gaf config --project export size "1000;1000"

Ð’Ñе размеры должны задаватьÑÑ Ð² пунктах Adobe (72 пункта = 1 дюйму). СуффикÑÑ‹, такие как “ptâ€, “mm†и другие, которые могут иÑпользоватьÑÑ Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ gaf export, в файлах наÑтроек не работают.

Ð’ Ñледующих разделах приводÑÑ‚ÑÑ Ð²Ñе ÑущеÑтвующие группы.

Группа export

Таблица 1. Параметры группы export

Ключ Формат По умолчанию
align Ñтрока «auto» или ÑпиÑок из двух целых вида ГОРИЗ_ВЫРÐÐ’ÐИВÐÐИЕ;ВЕРТ_ВЫРÐÐ’ÐИВÐÐИЕ auto
dpi целое 96
font Ñтрока Arial
layout Ð¿Ñ€ÐµÐ´Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ Ñтрока: «portrait», «landscape» или «auto» auto
margins ÑпиÑок из четырёх целых вида TOP;LEFT;BOTTOM;RIGHT 18;18;18;18
monochrome логичеÑкое значение true
paper Ñтрока, определÑÑŽÑ‰Ð°Ñ Ð¿Ñ€ÐµÐ´Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ð¹ формат завиÑит от текущей локали
size Ñтрока «auto» или ÑпиÑок из двух целых вида ВЫСОТÐ;ШИРИÐÐ auto

align

ÐаÑтройка Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð½Ð° Ñтранице. ГОРИЗ_ВЫРÐÐ’ÐИВÐÐИЕ управлÑет горизонтальным выравниванием, а ВЕРТ_ВЫРÐÐ’ÐИВÐÐИЕ — вертикальным. Оба Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ быть в диапазоне 0.0 — 1.0. Значение Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ auto Ñквивалентно значению 0.5:0.5, Ñ‚. е. изображение будет центрировано.

Ð”Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ gaf export при отÑутÑтвии кавычек можно иÑпользовать разделитель Ñвоей локали. Ð’ Ñтом Ñлучае чиÑла будут интерпретироватьÑÑ Ð²Ð°ÑˆÐµÐ¹ оболочкой. Ð”Ð»Ñ gaf config так делать нельзÑ, поÑкольку значение ключа align ÑвлÑетÑÑ Ñтрокой. При запиÑи в файл наÑтроек чиÑел Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ запÑтой в качеÑтве Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»Ñ Ð¸ÑпользуетÑÑ Ñ‚Ð¾Ñ‡ÐºÐ°, и точка также должна иÑпользоватьÑÑ Ð´Ð»Ñ Ñ‡Ð¸Ñел, ÑодержащихÑÑ Ð² Ñтроках. См. примеры ниже.

dpi

КоличеÑтво пикÑелов на дюйм Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° в формате PNG.

font

ÐаÑтройка шрифта Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° текÑта.

Подробную информацию о выборе шрифтов Ñм. ниже в разделе Шрифты.

layout

ÐаÑтройка ориентации вывода при задании размера бумаги. При задании «auto» иÑпользуетÑÑ Ñ‚Ð° ориентациÑ, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð»ÑƒÑ‡ÑˆÐµ ÑоответÑтвует размерам изображениÑ.

margins

УÑтановка ширины полей.

ФактичеÑкие размеры полей могут быть больше значений, запиÑанных в файлах наÑтроек, так как Ñти Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÑÑŽÑ‚ только минимальные раÑÑтоÑÐ½Ð¸Ñ Ð¾Ñ‚ краёв лиÑта, а размеры выбранной бумаги могут не ÑоответÑтвовать размерам печатаемой Ñхемы Ñ Ð¿Ð¾Ð»Ñми. ЕÑли значение не определено, размер полей по умолчанию ÑоÑтавлÑет 18pt Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ полÑ.

Примечание: задание менее четырёх чиÑел Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ключа или иÑпользование каких-либо ÑуффикÑов Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ† Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ не будет.

monochrome

Переключение монохромного/цветного вывода.

paper

Задание размера вывода в виде конкретного формата лиÑта.

Легальные размеры бумаги опиÑаны в Ñтандарте PWG 5101.1-2002 (iso_a4, iso_a3, na_letter, na_legal и Ñ‚. д.). Формат бумаги по умолчанию завиÑит от текущей локали. Ðапример, Ñто A4, когда иÑпользуетÑÑ ru_RU.UTF-8, в то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸ en_US.UTF-8 Ñто letter.

size

Задание определённых размеров Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° изображениÑ. При задании «auto», выбираетÑÑ Ñ‚Ð¾Ñ‚ размер, при котором изображение размещаетÑÑ Ð½Ð°Ð¸Ð»ÑƒÑ‡ÑˆÐ¸Ð¼ образом.

Размер бумаги, заданный ключом size, переопределит размер, заданный ключом paper. Примечание: задание только одного чиÑла Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ключа или иÑпользование каких-либо ÑуффикÑов Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ† Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ не будет.

Группа gnetlist

Таблица 2. Параметры группы gnetlist

Ключ Формат По умолчанию
default-bus-name Ñтрока unnamed_bus
default-net-name Ñтрока unnamed_net
net-naming-priority Ð¿Ñ€ÐµÐ´Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ Ñтрока: «net-attribute» или «netname-attribute» net-attribute
traverse-hierarchy логичеÑкое значение true

default-bus-name

Ð˜Ð¼Ñ ÑˆÐ¸Ð½Ñ‹ по умолчанию Ð´Ð»Ñ Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ ÑˆÐ¸Ð½, не имеющих имён в Ñхеме.

Шины пока ещё не иÑпользуютÑÑ Ð½Ð¸ в одном из низкоуровневых драйверов gnetlist, поÑтому данный параметр пока беÑполезен.

default-net-name

Ð˜Ð¼Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию Ð´Ð»Ñ Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ Ñоединений, не имеющих имён в Ñхеме.

Оно иÑпользуетÑÑ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¸Ð¼Ñ‘Ð½ Ñоединений вида «unnamed_netN», где N ÑвлÑетÑÑ Ñ‡Ð¸Ñлом.

net-naming-priority

ÐаÑтройка приоритета одного из атрибутов net или netname Ð´Ð»Ñ Ñлучаев, когда обнаруживаютÑÑ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ Ð´Ð²ÑƒÐ¼Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸. Ð’Ñе конфликты имён Ñоединений будут разрешатьÑÑ Ñ Ð¸Ñпользованием указанного атрибута.

Этот параметр иÑпользуетÑÑ, когда какие-нибудь ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñхемы имеют и атрибут net, и атрибут netname, и нужно указать, какой из них должен определÑть имена Ñоединений, которые gnetlist будет иÑпользовать Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑка Ñоединений. ПодробноÑти иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтих атрибутов Ñм. в Мини-HOWTO по атрибуту net= и в Перечне оÑновных атрибутов.

traverse-hierarchy

ÐаÑтройка Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¾Ð±Ñ…Ð¾Ð´Ð° иерархии. При отключении gnetlist не будет ÑпуÑкатьÑÑ Ð²Ð½Ð¸Ð· по иерархии Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка низлежащих иÑточников данных.

Группа gschem

Таблица 3. Параметры группы gschem

Ключ Формат По умолчанию
default-filename Ñтрока untitled

default-filename

Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° по умолчанию Ð´Ð»Ñ Ð½Ð¾Ð²Ñ‹Ñ… файлов Ñхем, Ñоздаваемых в gschem.

Оно иÑпользуетÑÑ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¸Ð¼Ñ‘Ð½ файлов вида «untitled_N.sch», где N ÑвлÑетÑÑ Ñ‡Ð¸Ñлом.

Группа gschem.library

Таблица 4. Параметры группы gschem.library

Ключ Формат По умолчанию
component-attributes ÑпиÑок имён атрибутов, разделённых запÑтыми *
sort логичеÑкое значение false

component-attributes

СпиÑок имён атрибутов, отображаемых в диалоговом окне выбора компонентов.

Ðтрибуты Ñимволов в диалоговом окне ÑортируютÑÑ Ð² том же порÑдке, в каком они поÑвлÑÑŽÑ‚ÑÑ Ð² ÑпиÑке. ЕÑли первым Ñлементом ÑпиÑка будет звёздочка “*â€, вÑе атрибуты будут отображатьÑÑ Ð² алфавитном порÑдке. При задании пуÑтого ÑпиÑка показ атрибутов в диалоговом окне будет отключен.

sort

ÐаÑтройка Ñортировки библиотеки компонентов.

ЕÑли значение Ñтого параметра равно «true», библиотеки компонентов ÑортируютÑÑ Ð² алфавитном порÑдке. Ð’ противном Ñлучае они ÑортируютÑÑ Ð² порÑдке, обратном порÑдку их добавлениÑ.

Группа gschem.printing

Таблица 5. Параметры группы gschem.printing

Ключ Формат По умолчанию
layout Ð¿Ñ€ÐµÐ´Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ Ñтрока: «portrait», «landscape» или «auto» auto
monochrome логичеÑкое значение false
paper Ð¿Ñ€ÐµÐ´Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ Ñтрока размера завиÑит от локали

layout

ÐаÑтройка ориентации вывода при задании размера бумаги. При задании «auto» иÑпользуетÑÑ Ñ‚Ð° ориентациÑ, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð»ÑƒÑ‡ÑˆÐµ ÑоответÑтвует размерам изображениÑ.

ÐžÑ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ñтраницы в gschem раÑÑчитана на вывод Ñтраниц на принтер, а не в PDF, поÑтому значение «auto» означает, что еÑли вы выводите Ñтраницы в PDF, вы получите перевёрнутую пейзажную ориентацию вмеÑто обычной. Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð³Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ PDF Ñо Ñтраницами в пейзажной ориентации иÑпользуйте вмеÑто Ñтого команду gaf export и задайте значение «auto» Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ð° layout в группе export.

Примечание: в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¸ печати Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñкрипта print.scm наÑтройка ключа layout не иÑпользуетÑÑ.

paper

Задание размера вывода в виде конкретного формата лиÑта.

Значение по умолчанию ключа paper завиÑит от текущей локали. См. Ð¿Ñ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð¾ размере бумаги выше в опиÑании ключа paper Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ export.

monochrome

Переключение монохромного/цветного вывода.

Значение по умолчанию ключа monochrome в данной группе в отличие от Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñтого ключа в группе export задано равным false умышленно.

Группы gschem.dialog-geometry.*

Сюда входÑÑ‚ группы:

  • gschem.dialog-geometry.arc-angle
  • gschem.dialog-geometry.autonumber
  • gschem.dialog-geometry.color-edit
  • gschem.dialog-geometry.compselect
  • gschem.dialog-geometry.coord
  • gschem.dialog-geometry.fill-type
  • gschem.dialog-geometry.find-text
  • gschem.dialog-geometry.hide-text
  • gschem.dialog-geometry.hotkeys
  • gschem.dialog-geometry.line-type
  • gschem.dialog-geometry.log
  • gschem.dialog-geometry.multiattrib
  • gschem.dialog-geometry.pin-type-edit
  • gschem.dialog-geometry.show-text
  • gschem.dialog-geometry.singleattrib
  • gschem.dialog-geometry.slot-edit
  • gschem.dialog-geometry.snap-size
  • gschem.dialog-geometry.text-edit
  • gschem.dialog-geometry.text-entry
  • gschem.dialog-geometry.text-size
  • gschem.dialog-geometry.translate

ЕÑть две оÑобые группы, имеющие дополнительные наÑтройки:

  • gschem.dialog-geometry.compselect
  • gschem.dialog-geometry.multiattrib

Таблица 5. Параметры группы gschem.dialog-geometry.*

Ð’Ñе диалоговые окна
Ключ Формат По умолчанию
x целое -
y целое -
width целое -
height целое -
gschem.dialog-geometry.compselect
Ключ Формат По умолчанию
hpaned целое -
vpaned целое -
source-tab 0 или 1 1
gschem.dialog-geometry.multiattrib
Ключ Формат По умолчанию
show_inherited логичеÑкое значение true

Примечание: вÑе указанные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки ÑохранÑÑŽÑ‚ÑÑ Ð² файлах наÑтроек пользователÑ. Их можно изменить вручную, но Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ перезапиÑаны в Ñледующий раз, когда изменитÑÑ Ñ€Ð°Ð·Ð¼ÐµÑ€ или Ð´Ñ€ÑƒÐ³Ð°Ñ ÑƒÐ¿Ð¾Ð¼ÑÐ½ÑƒÑ‚Ð°Ñ Ð² Ñтой таблице величина ÑоответÑтвующего диалогового окна. ЕÑли вы отредактируете Ñти Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² то времÑ, когда программа gschem запущена, они будут молча перезапиÑаны при завершении её работы.

x

ÐŸÐ¾Ð·Ð¸Ñ†Ð¸Ñ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ð³Ð¾ окна по оÑи X.

y

ÐŸÐ¾Ð·Ð¸Ñ†Ð¸Ñ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ð³Ð¾ окна по оÑи Y.

width

Ширина диалогового окна.

height

Ð’Ñ‹Ñота диалогового окна.

hpaned

Ширина горизонтального фрейма, где выбираютÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ñ‹ в диалоговом окне выбора компонентов.

vpaned

Ð’Ñ‹Ñота вертикального фрейма Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ проÑмотра компонента в диалоговом окне выбора компонентов.

source-tab

Значение, определÑющее то, ÐºÐ°ÐºÐ°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° будет открыватьÑÑ Ð¿Ñ€Ð¸ открытии диалогового окна выбора компонента. 0 означает, что будет выбрана вкладка «ИÑпользуемые» («In use»), 1 означает, что будет выбрана вкладка «Библиотечные» («Libraries»).

show_inherited

ÐаÑтройка видимоÑти унаÑледованных атрибутов в диалоговом окне Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð².

gaf shell

gaf shell предоÑтавлÑет цикл чтениÑ-вычиÑлениÑ-вывода Scheme («Read-Eval-Print Loop» — REPL) Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкой обработки файлов Ñхем и Ñимволов. Эта утилита разработана Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¸ работы Ñ API Ñзыка Scheme в gEDA. Информацию об опциÑÑ… утилиты Ñм. в Ñправочной Ñтранице gaf(1), а Ð´Ð»Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ о поддерживаемых Scheme-процедурах gEDA Ñм. info geda-scheme.

Шрифты

Ð’ Linux за наÑтройку шрифтов отвечает пакет Fontconfig, и Ñовременные ÑиÑтемы (в чаÑтноÑти pango и cairo) полагаютÑÑ Ð½Ð° его библиотеку в поиÑке любого заданного шрифта. Ð’Ñ‹ можете задать команде gaf шаблон, Ñодержащий Ð¸Ð¼Ñ Ð½ÑƒÐ¶Ð½Ð¾Ð³Ð¾ шрифта и, при желании, некоторые наÑтройки Ð´Ð»Ñ Ñтого шрифта. Fontconfig ищет ÑоответÑтвие шаблону Ñреди вÑех шрифтов, доÑтупных в вашей ÑиÑтеме, и выбирает Ñамое близкое ÑоответÑтвие. Это обеÑпечивает то, что библиотека вÑегда возвращает какой-то шрифт, но не гарантирует, что он будет похож на запрошенный в шаблоне.

ЕÑли вы хотите узнать, какие шрифты доÑтупны в вашей ÑиÑтеме, вы можете иÑпользовать утилиту fc-list(1) из пакета fontconfig. Ð”Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸, Ñмог ли fontconfig найти подходÑщий шрифт по указанному шаблону (или поÑмотреть какой шрифт будет ÑоответÑтвовать вашему шаблону), иÑпользуйте утилиту fc-match(1).

Больше информации о том, как задать Ð¸Ð¼Ñ ÑˆÑ€Ð¸Ñ„Ñ‚Ð°, который хотелоÑÑŒ бы иÑпользовать, Ñм. в документации пакета fontconfig.

Ð’ некоторых ÑлучаÑÑ… ÑиÑтема шрифтов может даже внедрить в ваш документ более одного шрифта. Это может произойти, например, тогда, когда наиболее подходÑщий шрифт, выбранный библиотекой fontconfig не Ñодержит некоторых глифов Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ из Ñзыков, иÑпользуемых в документе. Ð’ Ñтом Ñлучае она добавит какой-то другой шрифт, в котором еÑть необходимые глифы.

Ð’ Ñледующей таблице приводитÑÑ ÑпиÑок возможных значений наÑтроек (полученный из документации по Pango), которые вы можете иÑпользовать в Ñвоих шаблонах имён шрифтов. См. также раздел Примеры ниже.

Table 6. Возможные параметры наÑтройки шрифта

Параметр Значение
Style Normal
Oblique
Italic
Weight Thin
Ultralight
Light
Book
Normal
Medium
Semibold
Bold
Ultrabold
Heavy
Ultraheavy
Variant Normal
SmallCaps
Stretch UltraCondensed
ExtraCondensed
Condensed
SemiCondensed
Normal
SemiExpanded
Expanded
ExtraExpanded
UltraExpanded

Примеры

ÐаÑтройка ÑкÑпорта

ИÑпользовать пейзажную ориентацию («landscape») по умолчанию Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ проекта:

gaf config --project export layout landscape

ИÑпользовать размер бумаги «letter» по умолчанию Ð´Ð»Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð¸ чего-угодно:

gaf config --user export paper na_letter

Задать Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ проекта определённое значение размера бумаги, равное 1×2 дюйма:

gaf config --project export size "72;144"

Задать Ð¿Ð¾Ð»Ñ ÐºÐ°Ðº полдюйма Ð´Ð»Ñ Ð»ÐµÐ²Ð¾Ð¹ и правой Ñторон и как четверть дюйма Ð´Ð»Ñ Ð²ÐµÑ€Ñ…Ð° и низа Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ проекта:

gaf config --project export margins "18;36;18;36"

Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° выровнÑет Ñхемы вашего проекта вправо:

gaf config --project export align "1.0;0.5"

Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° — неправильнаÑ, она не будет работать, даже еÑли в вашей локали в качеÑтве Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»Ñ Ð² чиÑлах Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ запÑтой иÑпользуетÑÑ Ð·Ð°Ð¿ÑтаÑ, а не точка:

gaf config --project export align "1,0;0,0"

Эта команда, однако, работает в данном Ñлучае (например, в локали ru_RU.UTF-8):

gaf export -a 0,0:1.0 -o file.pdf file.sch

Обратите внимание, что здеÑÑŒ Ñ Ð¸Ñпользую gaf export, а не gaf config.

Чтобы печатать вÑе Ñвои Ñхемы в цвете (обратите внимание: “False†или “FALSE†работать не будут):

gaf config --project export monochrome false

ÐаÑтроить неÑтандартный пользовательÑкий шрифт:

gaf config --user export font "OpenGost Type B TT Italic"

Выбрать другой шрифт Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ проекта:

gaf config --project export font "Arial Bold"

ÐаÑтройка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑков Ñоединений

ИÑпользовать более короткие имена Ñоединений и шин во вÑех ÑпиÑках Ñоединений Ñозданных пользователем:

gaf config --user gnetlist default-net-name net
gaf config --user gnetlist default-bus-name bus

ОбеÑпечить, что в локальном проекте будут иÑпользоватьÑÑ Ð¸ÐµÑ€Ð°Ñ€Ñ…Ð¸Ñ‡ÐµÑкие имена Ñоединений, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° наÑтройки в geda-user.conf:

gaf config --project gnetlist traverse-hierarchy true

Переименовывать ÑоединениÑ, подключенные к gnd-1.sym (и другим Ñимволам имеющим атрибут net), еÑли они имеют атрибут netname:

gaf config --project gnetlist net-naming-priority netname-attribute

ÐаÑтройка gschem

ИÑпользовать более короткие имена Ð´Ð»Ñ Ð½Ð¾Ð²Ñ‹Ñ… файлов:

gaf config --user gschem default-filename empty

ÐаÑтройка вида библиотеки gschem

Эта команда Ñвно говорит, что вы хотите, чтобы вÑегда показывалиÑÑŒ вÑе атрибуты:

gaf config --project gschem.library component-attributes "*"

Будьте оÑторожны при иÑпользовании Ñтой команды в командной Ñтроке. ЕÑли вы забудете кавычки, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð°Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ° подÑтавит вмеÑто имени атрибута первое Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° в рабочем каталоге. Скорее вÑего, Ñто не то, что вам надо.

Ограничить ÑпиÑок отображаемых атрибутов указанным фильтром:

gaf config --project gschem.library component-attributes "refdes;device;description"

Ðе показывать никаких атрибутов в диалоговом окне выбора атрибутов:

gaf config --project gschem.library component-attributes ""

То же Ñамое, что и выше, но Ñта команда работать не будет, потому что в указанной Ñтроке Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ñ‹ запÑтыми, а не точками Ñ Ð·Ð°Ð¿Ñтыми, поÑтому Ñтрока целиком будет ÑчитатьÑÑ Ð¸Ð¼ÐµÐ½ÐµÐ¼ одного атрибута:

gaf config --project gschem.library component-attributes "refdes,device,description"

Сортировать библиотеку компонентов в gschem в алфавитном порÑдке:

gaf config --user gschem.library sort true

ÐаÑтройка печати из gschem

Выбрать пейзажную ориентацию (landscape) как ориентацию по умолчанию Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ проекта при печати из gschem:

gaf config --project gschem.printing layout landscape

ИÑпользовать формат A5 при печати из gschem:

gaf config --project gschem.printing paper iso_a5

Ð’Ñегда иÑпользовать чёрно-белую печать в gschem:

gaf config --user gschem.printing monochrome true

ÐаÑтройка диалоговых окон gschem

Ðе отображать никаких унаÑледованных атрибутов в диалоговом окне Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð²:

gaf config --user gschem.dialog-geometry.multiattrib show_inherited false

Учтите, что в команде выше Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать ключ --project (-p). Эта команда работает только в пользовательÑком контекÑте и не имеет ÑмыÑла Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… проектов.

ИÑпользование оболочки gaf (gaf shell)

Ð”Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ каталога пользовательÑких наÑтроек gEDA, наберите:

gaf shell -c "(display (user-config-dir))"

То же Ñамое Ð´Ð»Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð² ÑиÑтемных наÑтроек:

gaf shell -c "(display (sys-config-dirs))"
lepton-eda-1.9.10/docs/wiki/geda-na_howto.ru.html0000644000175000017500000004100113634703632016500 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

Мини-HOWTO по атрибуту net=

Ðвтор: Ales Hvezda

ÐаÑтоÑщий документ раÑпроÑтранÑетÑÑ Ð¿Ð¾Ð´ лицензией GFDL

2 октÑÐ±Ñ€Ñ 2003 г.

Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð² данном документе актуальна по ÑоÑтоÑнию на 11.10.1999 г.

Зачем нужен атрибут net=?

Ðтрибут net= иÑпользуетÑÑ Ð² ÑиÑтеме gEDA Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ñоединений Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¸ Ñпециальных Ñоединений.
Он иÑпользуетÑÑ Ð²Ð¼ÐµÑто иных ÑпоÑобов Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ (таких как наличие выводов Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð½Ð° Ñимволах компонентов или блоков питаниÑ). Ð’ некоторых уÑтройÑтвах выводов Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¾Ñ‡ÐµÐ½ÑŒ много, и их вычерчивание увеличило бы размер Ñимвола и Ñделало бы его трудно поддающимÑÑ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐµ. Ðтрибут net= выбран в ÑиÑтеме gEDA Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñоединений Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¸Ð·-за Ñвоей проÑтоты и универÑальноÑти. ПоÑле вÑего вышеÑказанного добавим, что выводы Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ изображать и на Ñимволе, но gnetlist, Ñкорее вÑего, не Ñможет понÑть, что ÑоединениÑ, подключенные к Ñтим выводам, Ñто оÑÐ¾Ð±Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° питающих Ñоединений. Имейте Ñто в виду, когда чертите Ñимволы.

Каков формат атрибута net=?

Ðтрибуты в gEDA — Ñто проÑтые текÑтовые Ñлементы вида имÑ_атрибута=значение. Каждый атрибут должен иметь такую форму. Ð”Ð»Ñ Ð¸Ð¼Ñ‘Ð½ атрибутов вÑегда иÑпользуетÑÑ Ð½Ð¸Ð¶Ð½Ð¸Ð¹ региÑтр. gnetlist Ñотоварищи — региÑтрозавиÑимы. Ð”Ð»Ñ Ð¸Ð¼Ñ‘Ð½ Ñоединений/Ñигналов обычно иÑпользуетÑÑ Ð²ÐµÑ€Ñ…Ð½Ð¸Ð¹ региÑтр.
Ðтрибут может быть прикреплён к объекту или, в некоторых ÑлучаÑÑ… (как в Ñлучае атрибута net=), может быть Ñвободным (не прикреплённым к чему-либо). Свободные атрибуты также называютÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¼Ð¸ верхнего уровнÑ.
Ðтрибут net= — Ñто текÑтовый Ñлемент Ñледующего вида:

net=signalname:pinname,pinname,pinname,...

где:

net= Ð¸Ð¼Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ атрибута (неизменÑемое, в нижнем региÑтре)
signalname Ð¸Ð¼Ñ Ñигнала или ÑоединениÑ, уÑтанавливаемое в нём (например, +5V, GND, и Ñ‚. д.)
pinname название (или номер) вывода, уÑтановленное Ð´Ð»Ñ Ñтого Ñигнала/ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ (или неÑколько названий/номеров выводов)

signalname не должно Ñодержать Ñимвола «:» (поÑкольку он ÑвлÑетÑÑ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»ÐµÐ¼). pinname — Ñто название вывода (A1, P2, D1, и Ñ‚. д.) или его номер (1, 2, 5, 13, и Ñ‚. д.). pinname не должно Ñодержать Ñимвола «,» (так как Ñто тоже разделитель). ÐÐ°Ð·Ð²Ð°Ð½Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² обычно предÑтавлены номерами/названиÑми в том же роде, что и Ð´Ð»Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° pin#=# (еÑли вам извеÑтен Ñтот атрибут).
Ð’ одном атрибуте net= может быть указано только ОДÐО Ð¸Ð¼Ñ Ñигнала signalname, но названий/номеров выводов может быть Ñколько угодно.

Как на Ñамом деле иÑпользуетÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ net=?

Ðтрибут net= может раÑполагатьÑÑ Ð² разных меÑтах. Вот варианты:

  • Внутри Ñимвола как прикреплённый атрибут или как неприкреплённый атрибут (атрибут верхнего уровнÑ). Вот примеры ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñоединений питаниÑ: net=GND:7 или net=+5V:14
  • Вне Ñимвола (ÑкземплÑÑ€ которого имеетÑÑ Ð² Ñхеме) атрибут может прикреплÑтьÑÑ Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑущеÑтвующего ÑоединениÑ/Ñигнала, Ñозданного Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ net=. Предположим, что внутри Ñимвола уже еÑть net=GND:7; прикрепление к Ñимволу атрибута net=AGND:7 переопределит Ñоединение GND (на выводе 7), назвав его AGND, и Ñоединит/аÑÑоциирует его Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð¼ 7.
  • Вне или внутри Ñимвола Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкого Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ðº видимому выводу. Это пока ещё не проверено и может иметь какие-нибудь нежелательные (отрицательные) побочные Ñффекты. ИÑпользуйте Ñ Ð¾ÑторожноÑтью.
  • ЕÑли прикрепить атрибут к одному из Ñпециальных Ñимволов питаниÑ/земли (как, например, vcc/gnd/vdd), то можно изменить назначение Ñимвола. Можно изменить Ñимвол Ð·Ð°Ð·ÐµÐ¼Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ DIGITAL GND, не Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€ÑƒÑ Ð´Ð°Ð½Ð½Ñ‹Ð¹ Ñимвол (проÑто прикрепить net=DIGITAL_GND:1).
    Ð’ текущей библиотеке (19991011) имеютÑÑ Ñимволы Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñми vdd-1.sym, vcc-1.sym, vee-1.sym и прочие, в которых нет внутри атрибута net=, так что вам придётÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»Ñть его ÑамоÑтоÑтельно (в Ñхеме).
    Также там еÑть Ñимволы Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñми 5V-minus-1.sym, 12V-plus-1.sym, 9V-plus-1.sym, и Ñ‚. д., уже Ñодержащие ÑоответÑтвующий атрибут net= (Ñ…Ð¾Ñ‚Ñ ÐµÐ³Ð¾ можно переопределить). Можете иÑпользовать Ñти Ñимволы как примеры Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° net=.

Ðтрибутов net= может быть Ñколько угодно. ПроÑто запомните, что атрибуты net=, прикреплённые вне Ñимвола замещают любые Ñквивалентные внутренние атрибуты net= (внутри Ñтого же Ñимвола). ЕÑли вы наткнётеÑÑŒ на Ñлучай, когда Ñто не работает, пожалуйÑта, Ñообщите об ошибке.

ПредоÑÑ‚ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ñ / Ошибки

Ðтрибут/механизм net= безуÑловно нов, поÑтому непременно должны быть ошибки (много ошибок). ЗдеÑÑŒ приводÑÑ‚ÑÑ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ðµ из найденных проблем:

  • Ðа 11.10.1999 г. почти вÑе Ñимволы Ñтандартной библиотеки не имеют ни атрибута net=, ни любого другого признака питаниÑ. ÐадеюÑÑŒ, когда-нибудь Ñто будет иÑправлено (еÑть добровольцы?).
  • Прикрепление Ñпециального питающего Ñимвола (vcc/gnd) к Ñоединению, уже имеющему имÑ, задаÑÑ‚ Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ пÑевдоним Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ Ñигнала, указанным в атрибуте net= (который находитÑÑ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ Ñтого Ñимвола vcc/gnd или прикреплён к нему), то еÑть фактичеÑки переименует Ñто Ñоединение. Такое поведение можно изменить (так что Ñтанет верным обратное), еÑли поигратьÑÑ Ñ Â«net-naming-priority». Будьте оÑторожны Ñ Ñтим. Могут быть и другие, пока ещё не обнаруженные, проблемы именованиÑ.
  • Создание атрибута net=, ÑвÑзывающего Ð¸Ð¼Ñ Ñигнала Ñ ÑƒÐ¶Ðµ видимым на Ñимволе выводом, — Ñто, Ñкорее вÑего, Ð¿Ð»Ð¾Ñ…Ð°Ñ Ð¸Ð´ÐµÑ. Работать Ñто будет, но вÑе возможные поÑледÑÑ‚Ð²Ð¸Ñ ÐµÑ‰Ñ‘ не иÑÑледованы.
  • Плохой идеей будет, вероÑтно, и прикрепление одного и того же атрибута net= неÑколько раз. Ales не формализовал, что должно проиÑходить в таком Ñлучае. ПроÑто запомните, что атрибут net= вне Ñимвола замещает внутренний.

Пример

ЗдеÑÑŒ приводитÑÑ Ñхема, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‰Ð°Ñ Ñтандартные Ñимволы (примечание: Ñимвол Ð´Ð»Ñ 7400 вÑÑ‘ ещё не Ñодержит атрибута net= внутри). Ð”Ð°Ð½Ð½Ð°Ñ Ñхема Ñодержит компонент 7400 Ñ Ð¿Ñ€Ð¸ÐºÑ€ÐµÐ¿Ð»Ñ‘Ð½Ð½Ñ‹Ð¼Ð¸ атрибутами net= Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² питаниÑ. Один из входных выводов подключен к общему проводу Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñимвола GND, а другой уÑтановлен в логичеÑкую единицу Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñимвола Vcc (Ñ Ð¿Ñ€Ð¸ÐºÑ€ÐµÐ¿Ð»Ñ‘Ð½Ð½Ñ‹Ð¼ атрибутом net=). Одно из входных Ñоединений имеет имÑ, но, как вы увидите, Ð¸Ð¼Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¼ÐµÑ‰Ð°ÐµÑ‚ÑÑ Ð¸Ð¼ÐµÐ½ÐµÐ¼ Ñигнала, указанным в net= Ñимвола Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ (Ñм. выше подробную информацию по Ñтому поводу). Выход подключен к подтÑгивающему резиÑтору, питание которого задаётÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñимвола +5V.

net.jpg
v 19991011
C 38700 58100 1 0 0 7400-1.sym
{
T 39000 59000 5 10 1 1 0
uref=U100
T 38900 59500 5 10 1 1 0
net=GND:7
T 38900 59300 5 10 1 1 0
net=+5V:14
}
N 38700 58800 37400 58800 4
{
T 37600 58900 5 10 1 1 0
netname=NETLABEL
}
N 37400 58800 37400 59200 4
N 38700 58400 37400 58400 4
N 37400 58000 37400 58400 4
C 37300 57700 1 0 0 gnd-1.sym
C 37200 59200 1 0 0 vcc-1.sym
{
T 36800 59200 5 10 1 1 0
net=+5V:1
}
N 40000 58600 41600 58600 4
{
T 41200 58700 5 10 1 1 0
netname=OUTPUT
}
C 40700 58800 1 90 0 resistor-1.sym
{
T 40800 59200 5 10 1 1 0
uref=R1
}
N 40600 58800 40600 58600 4
N 40600 59900 40600 59700 4
C 40400 59900 1 0 0 5V-plus-1.sym

ЗапуÑк gnetlist Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ примера (в котором в качеÑтве формата ÑпиÑка Ñоединений задаётÑÑ geda) выдаÑÑ‚ Ñледующее:

START header

gEDA's netlist format
Created specifically for testing of gnetlist

END header

START components

R1 device=RESISTOR
U100 device=7400

END components

START renamed-nets

NETLABEL -> +5V

END renamed-nets

START nets

+5V : R1 2, U100 14, U100 1
GND : U100 7, U100 2
OUTPUT : R1 1, U100 3

END nets

Заметьте, как переименовано Ñоединение NETLABEL (получило пÑевдоним +5V).

Заключение

ЕÑли вы нашли какую-либо ошибку, дайте нам знать.

lepton-eda-1.9.10/docs/wiki/geda-gnetlist_scheme_tutorial.ru.html0000644000175000017500000005461613634703632022002 00000000000000

Это руководÑтво доÑтупно также на Ñледующих Ñзыках: English

ÐапиÑание Ñкриптов драйверов gnetlist на Scheme

Ðвтор: John Doty

(первоначально Ñто было отправлено в ÑпиÑок раÑÑылки gEDA-user в июле 2009 г.)

Ðе паникуй!

ЕÑли ты никогда не пиÑал программы на Lisp, Ñто выглÑдит Ñтрашновато. Ðо Ñто намного легче, чем кажетÑÑ. Добавь в Lisp чуть-чуть ÑинтакÑичеÑкого Ñахара1) и он превращаетÑÑ Ð² Logo, который могут изучить даже дети из начальной школы.

И проÑто Ð´Ð»Ñ Ð¾Ð±ÑŠÑÑÐ½ÐµÐ½Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… из Ñтих Ñтранных Ñлов: Lisp — компьютерный Ñзык, Scheme — диалект Lisp'а, и Guile — Ñ€ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Scheme. Guile в gEDA иÑпользуетÑÑ Ð´Ð»Ñ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ñкриптов. Ð’ чаÑтноÑти, оболочка gnetlist, напиÑÐ°Ð½Ð½Ð°Ñ Ð½Ð° C, выделÑет из Ñхем информацию о топологии и атрибутах, а затем отдаёт данные низкоуровневым Ñкриптам (драйверам) на Guile Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ и вывода.

Это руководÑтво именно по программированию драйверов gnetlist на Scheme. ЕÑли ты ещё не знаешь Scheme, тебе, наверно, Ñтоит взглÑнуть и на другие материалы, такие как:

http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html

Или поищи «Учебник по Scheme» в Ñвоём любимом поиÑковике: их много.

Также может пригодитьÑÑ Ñправочный документ по адреÑу:

http://www.gnu.org/software/guile/manual/html_node/index.html

Итак, начнём. Вот очень проÑтой драйвер:

;; gnetlist development playground
 
(use-modules (ice-9 readline))
(activate-readline)
 
(define (devel output-filename)
	(scm-style-repl)
)

Чтобы Ñто применить, Ñохрани вÑÑ‘ в файле gnet-devel.scm. Скопируй Ñтот файл туда, где в твоей ÑиÑтеме хранÑÑ‚ÑÑ Ñ„Ð°Ð¹Ð»Ñ‹ Scheme. Ðа машине, на которой Ñ ÑÐµÐ¹Ñ‡Ð°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð°ÑŽ, команда такова:

$ sudo cp gnet-devel.scm /sw/share/gEDA/scheme/

/sw/ Ð´Ð»Ñ Ð¼Ð½Ð¾Ð³Ð¸Ñ… уÑтанавливаемых в Linux пакетов надо заменить на /usr/, может быть на /usr/local, или — при уÑтановке из tar-архива — на ~/mygeda/. Это нужно выÑÑнить. ЕÑли ты можешь запиÑывать в целевой каталог без прав ÑуперпользователÑ, sudo не нужно.

Теперь, изменив нужным образом /sw/, набери:

$ gnetlist -g devel /sw/share/gEDA/examples/lightning_detector/lightning.sch

Ты должен увидеть обычный текÑÑ‚ Ñтандартного приглашениÑ, за которым Ñледует:

guile>

Попробуй:

guile> packages

Ты должен увидеть:

("Q3" "R5" "Q2" "R4" "Q1" "C6" "R3" "L2" "A1" "bat(+3v)" "lamp(1)" "R2" "C5" "L1" "R1" "C4" "lamp(2)" "C3" "C2" "C1" "D1" "bat(0v)" "R7" "Q4" "R6")

packages — ÑƒÐ´Ð¾Ð±Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ ÑпиÑок вÑех уникальных значений атрибутов refdes=. Ðабрав её, ты Ñкормил её «REPL» — циклу чтениÑ, вычиÑлениÑ, вывода (Read, Evaluate, Print Loop). Итак, REPL Ñчитал её, вычиÑлил (получив ÑпиÑок) и вывел.

Теперь попробуй:

guile> (length packages)
25

Что здеÑÑŒ произошло? ЗдеÑÑŒ REPL вычиÑлил ÑпиÑок.

(length packages)

Ð’ большинÑтве Ñзыков Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚Ñ‹ бы напиÑал Ñто выражение в более традиционной функциональной запиÑи: length(packages). length — Ñто функциÑ, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñообщит тебе длину ÑпиÑка.

Ð¢Ð°ÐºÐ°Ñ Ð¶Ðµ запиÑÑŒ иÑпользуетÑÑ Ð´Ð»Ñ Ð°Ñ€Ð¸Ñ„Ð¼ÐµÑ‚Ð¸Ñ‡ÐµÑких вычиÑлений. Ðапример, «2+3» вычиÑлÑетÑÑ Ñ‚Ð°Ðº:

guile> (+ 2 3)
5

Учти, что процедура "+" может иÑпользоватьÑÑ Ð´Ð»Ñ ÑÐ»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð»ÑŽÐ±Ð¾Ð³Ð¾ количеÑтва величин, в том чиÑле и ÑовÑем ни одной:

guile> (+)
0
guile> (+ 1 2 3)
6

Это мы иÑпользуем позже.

Строки про readline в нашем драйвере gnet-devel.scm позволÑÑ‚ тебе пользоватьÑÑ Ñтрелками на клавиатуре Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾ иÑтории и Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð²Ð¾Ð´Ð¸Ð¼Ñ‹Ñ… Ñтрок. Очень удобно в интерактивном режиме. Попробуй.

Ð”Ñ€ÑƒÐ³Ð°Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ, Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ Ð² gnetlist, Ñто all-unique-nets (набери Ñто). Точно так же как (length packages) говорит тебе, Ñколько у Ñ‚ÐµÐ±Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð², (length all-unique-nets) подÑкажет, Ñколько у Ñ‚ÐµÐ±Ñ Ñоединений.

Ещё еÑть all-pins:

guile> all-pins
(("1" "2" "3") ("2" "3" "1") ("2" "1") ("1" "2") ("1" "2") ("1" "2") ("1" "2") ("1" "2") ("1" "2") ("2" "1") ("2" "1") ("2" "1") ("1" "2") ("2" "1") ("1") ("1") ("2" "1") ("2" "3" "1") ("2" "3" "1") ("1") ("2" "1") ("2" "3" "1") ("1" "2") ("1") ("1"))

Заметь, Ñто немного Ñложнее, чем в предыдущих примерах: Ñто ÑпиÑок ÑпиÑков, а не проÑто ÑпиÑок Ñтрок. Каждый из ÑпиÑков ÑоответÑтвует выводам компонента. ЕÑть одна штука, которую мы могли бы вытащить отÑюда, — Ñто подÑчёт количеÑтва выводов. Мы не можем проÑто взÑть длину all-pins, чтобы получить его: Ñто даÑÑ‚ нам только количеÑтво ÑпиÑков, ÑодержащихÑÑ Ñ‚Ð°Ð¼, равное количеÑтву компонентов:

guile> (length all-pins)
25

Чтобы поÑчитать количеÑтво выводов, Ñначала поÑчитаем их количеÑтво Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из компонентов в отдельноÑти:

guile> (map length all-pins)
(3 3 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 3 3 1 2 3 2 1 1)

Это один из проÑтых ÑпоÑобов Ñделать «цикл» на Scheme; (map p x) выдаёт ÑпиÑок результатов вызываемой процедуры p отдельно Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ñлемента из x. Затем мы можем их Ñложить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ «цикла» неÑколько иного типа:

guile> (apply + (map length all-pins))
50

(apply p x) вызывает процедуру p один раз, Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸ из вÑех Ñлементов из x. ПоÑтому вышеуказанное выражение в конце концов поÑчитает Ñледующее:

(+ 3 3 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 3 3 1 2 3 2 1 1)

До Ñих пор мы иÑпользовали предопределённые переменные и процедуры. Ðо мы бы хотели иметь возможноÑть определÑть Ñвои. Это проÑто:

guile> (define the-answer 42)
guile> the-answer
42

Это определÑет переменную the-answer и задаёт ей значение 42.

Можно также определÑть процедуры:

guile> (define add1 (lambda (x) (+ x 1)))
guile> (add1 100)
101

Когда видишь lambda, думай — «процедура». Сразу Ñледом за lambda идёт первый Ñлемент (техничеÑкий термин — «выражение»2)) — ÑпиÑок аргументов процедуры, в данном Ñлучае (x). Когда вызываетÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð°, Guile вычиÑлÑет оÑтавшиеÑÑ Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ, в данном Ñлучае только одно, (+ x 1), Ñ Ð¿Ð¾Ð´Ñтановкой текущих аргументов. Результат процедуры — Ñто результат вычиÑÐ»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñледнего выражениÑ. Так, (add1 100) ÑтановитÑÑ (+ 100 1), что даёт 101.

Теперь мы можем объединить наш Ñбор ÑтатиÑтики в драйвер. Сначала определим процедуру Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи выходной Ñтроки:

(define format-line
     (lambda (name value)
         (display name)
         (display value)
         (newline)
     )
)

ЗдеÑÑŒ мы иÑпользуем две новых вÑтроенных процедуры, display и newline, Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… говорÑÑ‚ Ñами за ÑебÑ. Теперь:

(define display-stats
     (lambda ()                  ; без аргументов
         (format-line "pins:     " (apply + (map length all-pins)))
         (format-line "packages: " (length packages))
         (format-line "nets:     " (length all-unique-nets))
     )
)
guile> (display-stats)
pins:     50
packages: 25
nets:     13

Чтобы завершить драйвер, нам нужна «оÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°Â». По Ñоглашению она называетÑÑ Ñ‚Ð°Ðº же, как и Ñам драйвер. Также она отвечает за открывание выходного файла. Итак, целиком файл драйвера Ñбора ÑтатиÑтики «stats» будет выглÑдеть примерно так:

;; драйвер gnetlist Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ ÑтатиÑтики по проекту
;;
;; Стандартный текÑÑ‚ лицензии, как положено
 
(define stats
     (lambda (filename)
         (set-current-output-port (open-output-file filename))
	(display-stats)
     )
)
 
;; Сбор и вывод ÑтатиÑтики
 
(define display-stats
     (lambda ()                  ; без аргументов
         (format-line "pins:     " (apply + (map length all-pins)))
         (format-line "packages: " (length packages))
         (format-line "nets:     " (length all-unique-nets))
     )
)
 
;; ПроÑтой формат вывода
 
(define format-line
     (lambda (name value)
         (display name)
         (display value)
         (newline)
     )
)

Сохрани Ñто в файле Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ gnet-stats.scm, Ñкопируй его в надлежащее меÑто, например так:

$ sudo cp gnet-stats.scm /sw/share/gEDA/scheme/

и затем gnetlist -g stats Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ обычными аргументами и именами Ñхем выдаÑÑ‚ ÑтатиÑтику твоего проекта в выходной файл (по умолчанию output.net).

Довольно проÑто, а? Ртакже полезно. Ðедавно Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð» ÑиÑтемы, ÑоÑтоÑщие из множеÑтва плат: ÑтатиÑтика, Ð¿Ð¾Ð´Ð¾Ð±Ð½Ð°Ñ Ñтой, помогает мне выÑÑнить, какие подÑиÑтемы лучше Ñкомбинировать на каждой из плат.

1) «СинтакÑичеÑкий Ñахар» — конÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ñзыка программированиÑ, полноÑтью ÑÐºÐ²Ð¸Ð²Ð°Ð»ÐµÐ½Ñ‚Ð½Ð°Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ его конÑтрукции, но Ð¸Ð¼ÐµÑŽÑ‰Ð°Ñ Ð±Ð¾Ð»ÐµÐµ еÑтеÑтвенную запиÑÑŒ (Компьютерный Ñловарь). — Прим. перев.
2) ÐнглоÑзычный термин — «form». — Прим. перев.
lepton-eda-1.9.10/docs/wiki/geda-glossary.fr.html0000644000175000017500000002161413634703632016516 00000000000000

Autres langues: English РуÑÑкий

Glossaire des termes de gEDA (et des EDA)

La conception en électronique implique beaucoup de termes spécifiques. Quelques termes ont une signification qui ne ressemble que vaguement à leur utilisation dans la vie de tous les jours. Ce glossaire est destiné à devenir un dictionaire de termes spécifiques à la suite gEDA, de même que monde plus grand des CAO pour l'électronique. Malheureusement, il n'existe pas de méthode universelle de nommage des concepts dans le champ de la conception électronique. Le glossaire donnera des éléments sur la manière dont les choses sont appelées dans les autres suites de conception.

!!(Aux auteurs du Wiki:Veuillez insérer les nouveaux termes dans l'ordre de l'alphabet)!!

  • anneau annulaire (annular ring): L'anneau annulaire, quelque fois aussi appelé annulus, est un diamètre de cuivre qui doit être placé autour des trous métallisés comme les pastilles et les vias. La taille minimum de l'anneau annulaire est spécifié par les fabricants de pcb. Une spécification habituelle est de 16 mil plus large que le trou.
  • empreinte (footprint): Le dessin de métal et de silkscreen qui définit où vous placez un composant sur un circuit. Les empreintes sont disposées par l'utilisateur sur le circuit imprimé lors de la phase de « placement » (en utilisant i.e. l'outil open-source PCB). Une empreinte est aussi quelque fois appelée un « decal » (PADS) ou un « land-pattern ».
  • flux de conception (design flow): L'ordre des étapes dans lequel vous faites progresser votre étude depuis le concept initial, par la saisie de schéma, l'ajout d'attribut, le netlisting et le circuit imprimé. On utilisera typiquement plusieurs outils pour accomplir différentes tâches pendant la réalisation. La Suite gEDA utilise des programmes entièrement séparés pour les différents étapes du cheminement; chaque outil de la suite lit le fichier de sortie produit par l'outil précédent et écrit un fichier pouvant être lu par l'outil suivant dans la chaîne. Le flux de conception de gEDA pour réaliser un PCB est illustré ici. Notez que le flux du cheminement pour des tâches différentes peut varier. Par exemple, si votre but est de simuler votre circuit, vous utiliserez un flux différent de celui montré dans le lien ci-dessus. Finalement, les autres outils de conception de PCB – habituellement plus simples – utilisent une approche monolithique dans laquelle un seul programme (albeit avec différents modes d'édition) est utilisé pour réaliser le montage complet. Déterminer la meilleure approche est plus une affaire de croyance personnelle.
  • net: Un net est la représentation d'un fil ou d'une connexion électrique dans un schéma. C'est, basiquement, une ligne connectant deux broches de symbole. Le terme « net » est aussi quelque fois utilisé pour parler d'une connexion électrique (via une fil ou une piste de PCB) dans un circuit réel. Quelques outils de saisie de schéma appellent un net un « fil ».
  • netlist: Une netlist est une représentation en fichier texte de votre circuit qui souligne les connexions entre les différents éléments du circuit, peut être indépendants des boîtiers physiques constituants les composants réels du circuit.
  • pad: Une pastille est une zone de cuivre sur lequel un SMD sera soudé. Bien que les pastilles soient habituellement carrées, elles peuvent aussi être rondes.
  • pin: Une patte/broche est un trou dans un circuit imprimé qui permet de connecter un composant câblé. Dans plusieurs cas, le trou est rempli de cuivre par le fabricant.
  • pcb: Dans le contexte de gEDA, cet acronyme a deux significations distinctes:
    1. Un abbréviation de « printed circuit board ». C'est la partie qui est utilisée pour connecter les composants électroniques. Elle est aussi quelque fois appelée une « carte de câblage imprimée » (PWB), bien que cette utilisation ait été abandonné.
    2. Un puissant outil open-source, utilisé pour concevoir la disposition d'un circuit imprimé. La sortie des outils de gaf peut être utilisée comme entrée à pcb. (page d'accueil de pcb)
  • rats nest: Les lignes dessinées sur la zone de travail du circuit, qui relient les pastilles devant encore être connectées avec des pistes. Contrairement aux pistes réelles, les rats nest sont des lignes droites. Si plusieurs pastilles sont impliquées dans un net, pcb tente de dessiner les rats nests avec les longueurs les plus courtes possibles.
  • refdes: Raccourci pour « reference designator » (numéro de référence). Le numéro de référence (ou nom) d'un composant. Les outils gEDA se réfèrent aux refdes pour organiser les composants en internes. C'est la raison pour laquelle, pour une création réussie de circuit imprimé, chaque composant doit être lié avec un refdes. Habituellement, le refdes consiste quelques majuscules et un chiffre. Exemples: R1, R2, U115, CONN3. (Protel: « Designator »)
  • slot: Quelques composants contiennent de multiples parties identiques à l'intérieur d'un boîtier. Les IO (Input/output, entrées/sorties) pour chaque partie sont disposées pour différents jeux de broches sur le boîtier. Un exemple classique est la quadruple porte NAND TTL 7400. Gschem (comme d'autres paquets de saisie de schéma) traite ce type de composant en vous permettant de dessiner quatre symboles NAND séparés et de sélectionner ensuite quel « slot » devrait avoir chaque symbole en attachant un attribut de slot au symbole. Dans l'exemple du quadruple NAND 7400, vous sélectionneriez « slot=1 » pour la première apparition du symbole, slot=2 pour la seconde et ainsi de suite. Notez que dans gschem, vous n'avez besoin d'attacher les liaisons d'alimentation à un composant en slot qu'une seule fois. (Les autres programme de saisie de schéma comme Orcad vous demandent d'attacher les liaisons communes – comme l'alimentation – sur chaque instantiation du symbole en slot.)
  • symbole: Un symbole est la représentation d'un composant particulier dans votre schéma. Les exemples classiques sont les lignes en zig-zag pour les résistances (dans l'utilisation US néanmoins) ou un triangle pour un ampli opérationnel. En utilisant un programme de saisie de schémas (i.e. gschem), vous placez les symboles sur votre carte et alors les câbler pour créer une représentation de votre circuit.
  • via: Un via est un trou métallisé qui qui est destiné à connecter électriquement des différentes couches du circuit imprimé. Habituellement, les vias sont aussi petits que possible pour sauvegarder de la place sur le le pcb.
lepton-eda-1.9.10/docs/wiki/geda-gaf_building_git_version.html0000644000175000017500000002713413634703632021272 00000000000000

Building the gEDA/gaf git repository version

General Instructions

To build the git repository version of gEDA/gaf, follow these instructions:

  • It is pretty important to have all of the above programs (especially automake, autoconf, libtool, gtk, and guile) installed in the same prefix (like /usr or /usr/local). If you do not have them all installed in the same prefix, then building and installing gEDA/gaf is much harder.
  • Clone the source from the official git repository. For information on how to do this, read the gEDA SCM page
  • Build the software by executing the following commands inside of the newly cloned git repository:
    $ ./autogen.sh
    $ ./configure --prefix=$HOME/geda
    $ make
    $ make install
  • If the above commands execute without any error messages, then you have successfully built and installed gEDA/gaf. If you encounter any errors, be sure to read the README and INSTALL files contained within the tarball.
  • You can now run the various programs in the gEDA suite. Please read the toplevel README file which describes what is available.
  • gschem is the schematic capture program and can be run by executing: PATH_WHERE_gEDA_GAF_IS_INSTALLED/bin/gschem
  • It is recommended that you add PATH_WHERE_gEDA_GAF_IS_INSTALLED/bin to your PATH environment variable (typically done by modifying one of the following files: $HOME/.bashrc, $HOME/.bash_profile, or $HOME/.profile).
  • It is highly recommended that you read the gEDA documentation at this point. You can access the gEDA documentation by running gschem and select Help/gEDA Documentation… from the top menu.
  • If you want to get gEDA/gaf repository commit log e-mail messages, please subscribe to the geda-cvs mailing list. Please see the mailing lists page for info on how to do this.

Distro-specific information

Debian-based

This is tested on Crunchbang Linux but should work on Debian Wheezy and possibly Ubuntu also.

  1. Install the build dependencies for the packaged version of gEDA:
    $ sudo apt-get build-dep geda
  2. Install the packages that don't get pulled in by the above command:
    $ sudo apt-get install texinfo
    $ sudo apt-get install autopoint
    $ sudo apt-get install libtool
  3. If you want to generate doxygen output, install it and the other prerequisites:
    $ sudo apt-get install doxygen
    $ sudo apt-get install imagemagick
    $ sudo apt-get install graphviz
  4. Clone the source from the official git repository. For information on how to do this, read the gEDA SCM topic .
  5. From inside the newly cloned repository, build gEDA/gaf:
    $ ./autogen.sh
    $ ./configure --prefix=$HOME/geda [--enable-doxygen]
    $ make
    $ make install

MacPorts

MacPorts is an open-source community initiative to design an easy-to-use system for compiling, installing, and upgrading open-source software on the Mac OS X operating system. MacPorts has a packaged installation of gEDA/gaf but occasionally one needs a more up-to-date version (such as that from git). The easiest way to build from git HEAD on MacPorts is to install the packaged version (at time of writing, 1.6.2) as a way of bringing most of the dependencies into the MacPorts tree.

  1. Install the MacPorts-packaged version of gEDA/gaf. As a happy side-effect, this brings in most of the build prerequisites. Also install autoconf and automake:
    $ sudo port install geda-gaf
    $ sudo port install autoconf
    $ sudo port install automake
  2. If you want to generate doxygen output, install doxygen:
    $ sudo port install doxygen
  3. Clone the source from the official git repository. For information on how to do this, read the gEDA SCM topic .
  4. From inside the newly cloned repository, build gEDA/gaf:
    $ ./autogen.sh
    $ ./configure --prefix=$HOME/geda --disable-update-xdg-database [--enable-doxygen]
    $ make
    $ make install
  5. If you are running a recent release of OS X, X server is not included by default so you might need to install XQuartz
  6. To run the software, you need to set an environment variable to allow Guile to load its shared libraries:
    $ export LTDL_LIBRARY_PATH=/opt/local/lib
    $ gschem
lepton-eda-1.9.10/docs/wiki/geda-gerbv_mp.html0000644000175000017500000002440113634703632016043 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

gerbv man-page

gerbv(1)			 cvs-20051023			      gerbv(1)



NAME
       gerbv - Gerber Viewer

SYNOPSIS
       gerbv [OPTIONS] [gerberfile[s]]

DESCRIPTION
       gerbv is a viewer for Gerber files. Gerber files is generated from dif-
       ferent PCB CAD programs and are sent to subcontractors to actually make
       the PCB. gerbv also supports Excellon/NC drill files.


OPTIONS
       Warning!	  On  some platforms, which hasn’t long option available, only
       short options are available.


   gerbv Options
       -V|--version Prints the version number of gerbv and exits.

       -h|--help
	      Prints a brief usage guide.

       -l <filename>|--log=<filename>
	      All error messages etc are stored in a file with filename <file-
	      name>.

       -t <filename>|--tools=<filename>
	      Read Excellon tools from the file <filename>.

       --geometry=<width>x<height>[<+->x-position[<+->y-position]]
	      Sets  the	 the size of the window. X-position and y-position are
	      currently ignored by gerbv.

       -p <project filename>|--project=<project filename>
	      Load a stored project. Please note that the project file must be
	      stored in the same directory as the gerber files.


   GTK Options
       --gtk-module=MODULE Load an additional GTK module

       --g-fatal-warnings
	      Make all warnings fatal

       --gtk-debug=FLAGS
	      GTK debugging flags to set

       --gtk-no-debug=FLAGS
	      GTK debugging flags to unset

       --gdk-debug=FLAGS
	      GDK debugging flags to set

       --gdk-no-debug=FLAGS
	      GDK debugging flags to unset

       --display=DISPLAY
	      X display to use

       --sync Make X call synchronous

       --no-xshm
	      Don’t use X shared memory extension

       --name=NAME
	      Program name as used by the window manager

       --class=CLASS
	      Program class as used by the window manager


GENERAL
       When you start gerbv you can give the files to be loaded on the command
       line, either as each file separated with a space or by using wildcards.

       The user interface is graphical. Simply press left mouse button and the
       image will pan as you move the mouse. To	 manipulate  a	layer,	right-
       click on one of the rightmost buttons. That will bring up a pop-up menu
       where you can select what you want to do with that  layer  (load	 file,
       change color, etc).

       If  you	hold the mouse button over one the rightmost button a tooltips
       will show you the name of the file loaded on that layer.

       Default of concurrently loaded files are 20 layers. You can change this
       during configure with:

	./configure with-maxfiles=<number>


ACTIVATION AND DEACTIVATION OF LAYERS
       You can load several files at one time. You can then turn displaying of
       the layers on and off by clicking on one of the rightmost buttons.

       You can also control this from the keyboard. Press Alt, enter the  num-
       ber  on	the layer you want activate/deactivate on the numerical keypad
       and then release the Alt key.


ZOOMING
       Zooming can be handled by  either  menu	choices,  keypressing,	middle
       mouse  button  or scroll wheel. If you press Alt+I you will zoom in and
       if you press Alt+O you will zoom out.If you press middle	 mouse	button
       you  will  zoom out, and if you press Shift and middle mouse button you
       will zoom in.  Scroll wheel works if you enabled that in your X	server
       and mapped it to button 4 and 5. You can also zoom in by pressing z and
       zoom out by pressing shift+z (ie Z). You can  make  the	image  fit  by
       pressing f (there is also a menu alternativ for this).

       You  can	 also  do  zooming by outline. Press right mouse button, draw,
       release.	 The dashed line shows how the zooming will  be	 dependent  on
       the resolution of the window. The non-dashed outline will show what you
       actually selected. If you change your mind when started	to  mark  out-
       line,  you  can	always	abort  by pressing escape. By holding down the
       shift key when you press the right mouse button,	 you  will  select  an
       area  where  the point you started at will be the center of your selec-
       tion.


MEASUREMENTS
       You can do measurement on the image displayed. By pressing  shift,  the
       cursor  changes	to a plus. By using left mouse button you can draw the
       lines that you want to measure.	The result of the last measurement  is
       also  displayed	on the statusbar.  All measurements are in the drawing
       until you either zoom, pan or press the escape key.

       The statusbar shows the current mouse position on the layer in the same
       coordinates  as	in the file. Ie if you have (0,0) in the middle of the
       image in the gerber files, the statusbar will show (0,0)	 at  the  same
       place.


SUPERIMPOSING
       When  you  load	several	 Gerber files, you can display them "on top of
       each other", ie superimposing. The general way to display them are that
       upper  layers  cover  the  layers  beneath,  which is called copy (GTK+
       terms).

       The other ways selectable  are  and,  or,  xor  and  invert.  They  map
       directly	 to  corresponding functions in GTK. In GTK they are described
       as: "For colored images, only GDK_COPY, GDK_XOR and GDK_INVERT are gen-
       erally useful. For bitmaps, GDK_AND and GDK_OR are also useful."


PROJECTS
       gerbv  can  also	 handle projects. A project consist of bunch of loaded
       layers with their resp. color and the background color. The easiest way
       to  create  a  project is to load all files you want into the layer you
       want, set all the colors etc and do a "Save Project As...".

       You load a project either from the menu bar or by using the commandline
       switches -p or --project.

       Currently there is a limit in that the project file must be in the same
       directory as the gerber files to be loaded.


SCHEME
       The project files are simple Scheme programs that is interpreted	 by  a
       built  in  Scheme interpreter. The Scheme interpreter is TinyScheme and
       needs a Scheme program called init.scm to initialize itself. The search
       path	for	init.scm     is	    (in	    the	   following	order)
       /usr/local/gEDA-20060124/share/gerbv/scheme/share/gerbv/scheme/,	   the
       directory  with	the  executable gerbv, the directory gerbv was invoked
       from   and   finally   according	  to	the    environment    variable
       GERBV_SCHEMEINIT.


TOOLS FILE
       Not  every  Excellon  drill  file is self-sufficient. Some CADs produce
       .drd files where tools are only referenced, but never defined (such  as
       what diameter of the tool is.) Eagle CAD is one of such CADs, and there
       are more since many board houses require Tools files.

       A Tools file is a plain text file which you create in an	 editor.  Each
       line  of	 the  file  describes  one tool (the name and the diameter, in
       inches):

	    T01 0.024
	    T02 0.040
	    ...

       These are the same tools (T01 etc.) that are used in the Drill file.  A
       standard	 practice with Eagle is to create an empty Tools file, run the
       CAM processor, and the error report tells you which tools you "forgot".
       Then you put these tools into the file and rerun the CAM processor.

       You  load  a tool file by using the commandline switches -t or --tools.
       The file can have any name you wish, but Eagle expects the file type to
       be ".drl", so it makes sense to keep it this way. Some board houses are
       still using CAM software from DOS era, so you  may  want	 to  excercise
       caution before going beyond the 8.3 naming convention.

       When gerbv reads the Tools file it also checks that there are no dupli-
       cate definitions of tools. This does happen from time to	 time  as  you
       edit  the file by hand, especially if you, during design, add or remove
       parts from the board and then have to add  new  tools  into  the	 Tools
       file.  The  duplicate  tools  are  a very serious error which will stop
       (HOLD) your board until you fix the Tools file and maybe	 the  Excellon
       file.  gerbv  will detect duplicate tools if they are present, and will
       exit immediately to indicate such a fatal error in a very obvious  way.
       A message will also be printed to standard error.

       If your Excellon file does not contain tool definitions then gerbv will
       preconfigure the tools by deriving the diameter of the drill  bit  from
       the  tool  number. This is probably not what you want, and you will see
       warnings printed on the console.


ENVIRONMENT
       GERBV_SCHEMEINIT
	      Defines where the init.scm file is stored. Used by scheme inter-
	      preter, which is used by the project reader.


AUTHOR
       Stefan Petersen (spetm at users.sourceforge.net): Overall hacker and project leader
       Andreas Andersson (e92_aan at e.kth.se): Drill file support and general hacking
       Anders Eriksson (aenfaldor at users.sourceforge.net) : X and GTK+ ideas and hacking


COPYRIGHT
       Copyright ©  2001-2004 Stefan Petersen

       This document can be freely redistributed according to the terms of the
       GNU General Public License version 2.0



Version				 Feb 8th, 2004			      gerbv(1)
lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-pins_nets_buses.ru.html0000644000175000017500000002346313634703632022040 00000000000000

Выводы, ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸ шины

ЭлектричеÑкие ÑвÑзи в Ñхемах и Ñимволах gEDA отображаютÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ выводов, Ñоединений и шин.

  • Выводы иÑпользуютÑÑ Ð² Ñимволах и ÑвлÑÑŽÑ‚ÑÑ Ð¿Ñ€ÐµÐ´Ñтавлением либо физичеÑких выводов Ñлектронных компонентов, либо логичеÑких Ñоединений Ñ Ð¿Ð¾Ð´Ñхемой.
  • Ð¡Ð¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸ÑпользуютÑÑ Ð² Ñхемах. Они ÑвлÑÑŽÑ‚ÑÑ Ð¿Ñ€ÐµÐ´Ñтавлением отдельных проводников, и иÑпользуютÑÑ Ð´Ð»Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ Ñобой выводов компонентов.
  • Шины также иÑпользуютÑÑ Ð² Ñхемах, и ÑвлÑÑŽÑ‚ÑÑ Ð¿Ñ€ÐµÐ´Ñтавлением неÑкольких объединённых в группу Ñоединений.

К ÑоединениÑм, выводам и шинам могут прикреплÑтьÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹, определÑющие, как они будут интерпретироватьÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹ gnetlist.

Добавление и редактирование выводов

У каждого вывода еÑть подключаемый конец, отмеченный цветной меткой, и неподключаемый. Ð¡Ð¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ подключатьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ к концу Ñ Ð¼ÐµÑ‚ÐºÐ¾Ð¹.

ЕÑли вы разрабатываете Ñимвол, прочтите также РуководÑтво по Ñозданию Ñимволов.

Ð”Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² выберите в меню Добавить→Вывод [Add→Pin]. Ð©Ñ‘Ð»ÐºÐ°Ñ Ð»ÐµÐ²Ð¾Ð¹ кнопкой, определите позиции Ñначала Ð´Ð»Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾, подключаемого конца вывода, а затем Ð´Ð»Ñ Ð²Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾. Ð”Ð»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² щёлкните правой кнопкой.

ЕÑли вывод выделить, на обоих его концах поÑвÑÑ‚ÑÑ Ñ€ÑƒÑ‡ÐºÐ¸. Щёлкнув и потÑнув ручку левой кнопкой мыши, можно изменить положение ÑоответÑтвующего конца вывода.

Добавление и редактирование Ñоединений

Ð¡Ð¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑоÑтоÑÑ‚ из прÑмых Ñегментов Ñоединений, а Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸Ñ… друг к другу оÑущеÑтвлÑÑŽÑ‚ÑÑ Ð»Ð¸Ð±Ð¾ в точках ÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ð¸Ñ… концов, либо в тех точках, где конец одного Ñегмента находитÑÑ Ð½Ð° линии другого. ЕÑли два Ñегмента Ñоединений проÑто переÑекаютÑÑ, Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ ними не формируетÑÑ. Точка Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñоединений друг к другу отмечаетÑÑ Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¸Ð¼ кружком, а неподключенный («виÑÑщий») конец ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ â€” квадратиком.

Ð”Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñегмента ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð±ÐµÑ€Ð¸Ñ‚Ðµ в меню Добавить→Соединение [Add→Net]. Ð”Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñоединений можно иÑпользовать один из Ñледующих режимов: обычный режим и режим магнитных Ñоединений (уÑтанавливаемый по умолчанию). ПереключатьÑÑ Ð¼ÐµÐ¶Ð´Ñƒ ними можно Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ÐаÑтройки→Магнитное Ñоединение вкл/откл [Options→Toggle Magnetic Net].

  • Ð’ режиме магнитных Ñоединений новые ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Â«Ð¿Ñ€Ð¸Ð¼Ð°Ð³Ð½Ð¸Ñ‡Ð¸Ð²Ð°ÑŽÑ‚ÑÑ» к близлежащим подключаемым точкам выводов и Ñоединений. Точка назначениÑ, к которой должна прилипнуть ÑÐ»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ° ÑоединениÑ, отмечаетÑÑ ÐºÑ€ÑƒÐ¶ÐºÐ¾Ð¼.
  • Ð’ обычном режиме новые ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð»Ð¸Ð¿Ð°ÑŽÑ‚ к Ñетке таким же образом, как и другие добавлÑемые объекты.

При добавлении Ñоединений вÑегда иÑпользуютÑÑ ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ð¸ только горизонтальных и вертикальных Ñегментов, но еÑли удерживать при Ñтом нажатой клавишу Ctrl, могут иÑпользоватьÑÑ Ñегменты под любым углом.

Выделенные ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ изменÑтьÑÑ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸ÐµÐ¼ ручек на их концах таким же образом, как и выводы.

Добавление и редактирование шин

Так как шины в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹ gnetlist в полной мере не поддерживаютÑÑ, они иÑпользуютÑÑ Ð² оÑновном Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ‚ÐµÑ…Ð½Ð¸Ñ‡ÐµÑкой документации.

Как и ÑоединениÑ, шины ÑоÑтоÑÑ‚ из Ñегментов шины, Ð´Ð»Ñ Ð½Ð¸Ñ… иÑпользуютÑÑ Ñ‚Ðµ же правила Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð´Ñ€ÑƒÐ³ к другу, и редактируютÑÑ Ð¾Ð½Ð¸ точно также.

Ð”Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑˆÐ¸Ð½ выберите в меню Добавить→Шину [Add→Bus]. При добавлении шины каждый новый её Ñегмент будет либо горизонтальным, либо вертикальным, еÑли только не удерживать при Ñтом нажатой клавишу Ctrl. «Магнитный» режим Ð´Ð»Ñ ÑˆÐ¸Ð½ не поддерживаетÑÑ

При подключении Ñоединений к шине автоматичеÑки добавлÑетÑÑ Ñимвол Ð¾Ñ‚Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ ÑˆÐ¸Ð½Ñ‹ («bus ripper»). Это позволÑет подключать по два ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ Ð¿Ñ€Ð¾Ñ‚Ð¸Ð²Ð¾Ð¿Ð¾Ð»Ð¾Ð¶Ð½Ñ‹Ñ… Ñторон шины к одной и той же точке, не Ð·Ð°Ð¼Ñ‹ÐºÐ°Ñ Ð¸Ñ… друг на друга.

lepton-eda-1.9.10/docs/wiki/print.css0000644000175000017500000000665513634703632014337 00000000000000 body { font: 12pt "Lucida Grande", Verdana, Lucida, Helvetica, Arial, sans-serif; background-color: White; color: Black; } table { font-size: 100%; padding:0; margin:0; } tr,td,th {padding:0; margin:0;} img {border:0} a { color:#000000; text-decoration:none; } div.meta { clear:both; margin-top: 1em; font-size:70%; text-align:right; } div.breadcrumbs{ display:none; } div.secedit{ display:none; } /* --------------------- Text formating -------------------------------- */ /* external link */ a.urlextern:after { content: " [" attr(href) "]"; font-size: 90%; } /* interwiki link */ a.interwiki:after { content: " [" attr(href) "]"; font-size: 90%; } /* email link */ a.mail:after { content: " [" attr(href) "]"; font-size: 90%; } /* existing wikilink */ a.wikilink1 {text-decoration:underline } /* the document */ div.page { text-align: justify; } /* general headline setup */ h1, h2, h3, h4, h5 { color: Black; background-color: transparent; font-family: "Lucida Grande", Verdana, Lucida, Helvetica, Arial, sans-serif; font-size: 100%; font-weight: normal; margin-left: 0; margin-right: 0; margin-top: 0; margin-bottom: 1em; padding-left: 0; padding-right: 0; padding-top: 0.5em; padding-bottom: 0; border-bottom: 1px solid #000000; clear:left; } /* special headlines */ h1 {font-size: 160%; font-weight: bold;} h2 {font-size: 150%; } h3 {font-size: 140%; border-bottom: none; font-weight: bold;} h4 {font-size: 120%; border-bottom: none; font-weight: bold;} h5 {font-size: 100%; border-bottom: none; font-weight: bold;} /* embedded images */ img.media { margin: 3px; } img.medialeft { border: 0; float: left; margin: 0 1.5em 0 0; } img.mediaright { border: 0; float: right; margin: 0 0 0 1.5em; } /* unordered lists */ ul { line-height: 1.5em; list-style-type: square; margin: 0 0 1.0em 1.5em; padding: 0; } /* ordered lists */ ol { line-height: 1.5em; margin: 0 0 1.0em 1.5em; padding: 0; font-weight: bold; } /* the list items overriding the ol definition */ span.li { font-weight: normal; } /* code blocks by indention */ pre.pre { font-size: 8pt; padding: 0.5em; border: 1px dashed #000000; color: Black; overflow: visible; } /* code blocks by code tag */ pre.code { font-size: 8pt; padding: 0.5em; border: 1px dashed #000000; color: Black; overflow: visible; } /* inline code words */ code { font-size: 120%; } /* code blocks by file tag */ pre.file { font-size: 8pt; padding: 0.5em; border: 1px dotted #000000; color: Black; overflow: visible; } /* footnotes */ div.footnotes{ clear:both; border-top: 1px solid #000000; padding-left: 1em; margin-top: 1em; } div.fn{ font-size:90%; } a.fn_top{ vertical-align:super; font-size:80%; } a.fn_bot{ vertical-align:super; font-size:80%; font-weight:bold; } acronym{ border: 0; } /* ---------- inline tables ------------------- */ table.inline { font-size: 80%; background-color: #ffffff; border-spacing: 0px; border-collapse: collapse; } table.inline th { padding: 3px; border: 1px solid #000000; border-bottom: 2px solid #000000; } table.inline td { padding: 3px; border: 1px solid #000000; } .leftalign{ text-align: left; } .centeralign{ text-align: center; } .rightalign{ text-align: right; } .toc, .footerinc, .header, .bar, .user {display:none} lepton-eda-1.9.10/docs/wiki/libgeda3_object_based_design.html0000644000175000017500000003312313634703632021034 00000000000000

Overview

As stated in libgeda3, libgeda has some design problems that needs to be addressed. The structure described in this page is very different from the current libgeda structure and design, while hopefully can be flexible enough to be the basement of future developments.

Description of the needs in an Electrical CAD system

Schematics and PCB (or IC) designs are, by nature, a graphical representation of objects, with interconnections between them.

The basic primitives used in the graphical artwork are:

  • Lines
  • Arcs
  • Rectangles
  • Circles
  • Text
  • Images (not very often)

These basic shapes can have attributes modifying how they are drawn in the screen: dashed or dotted lines, filled or unfilled shapes,… , and can be grouped into a composed object (this object is drawn as a combination of one or more basic primitives). The graphical representation of a composed object is a symbol.

An electrical or electronic CAD must be able to draw components (composed objects) and interconnections between them. The interconnections is the key difference from other CAD packages, and are the basis of further engineering work, such as simulations or layouts. They are drawn as lines, but they are not only lines and therefore should be handled differently. The interconnection primitives are:

  • Pin or ports: points of a composed object which can be used for interconnection, or connection points between pages.
  • Nets: define the interconnections between pin or ports. It is usually drawn as a line.
  • Junction: define the connection between crossing nets. It is usually drawn as a dot at the intersection of two crossing nets.
  • Buses: group of nets. Trying to make things simple, they are drawn as a line, usually thicker than nets.
  • Bus ripper: connects a net to a bus. It is needed because there should be a way to specify which net of the bus should be connected.

An electric circuit can be drawn in a page, but, as designs grow in complexity, it is usually divided into several interconnected pages, or is drawn as a hierarchy. One common way is to draw a circuit defining some ports (where it is going to connect to other circuits), make a symbol for it, and include the symbol in other pages as it was a common composed object. So a design is composed of one or several pages, which can also include other page's symbols, and so on. Therefore, a design can be drawn as a hiearchy tree.

Finally, but not less important, every object described can have properties attached, describing the nature of the component, its attributes, or other representations (simulation models, graphical representation for PCB design,…).

Object based design

Despite its title, this is not a section talking about Object Oriented Programming. :-)

It is a known fact that all schematics are graphical representations of components, interconnections and properties, organized as a plain or hierarchical tree.

One of the current issues with libgeda is that the schematic program itself, and hence the developers, should take care of all the drawing stuff associated with schematics. Plus, there are drawing transforms, like moving, rotating, mirroring, etc… This is very time consuming for the developer, and the results are not always the best.

This was fine at the moment when it was born, but technology is continuously evolving. Today there are more advanced widgets that take care of all the object drawing, and lets the applications concentrate on what they should do. This kind of widgets are called “canvasâ€.

Let's take a look at one of them: goocanvas. There are no screenshots, no official webpage, but don't be scared and look further. Download it and take a look at the documentation into the “doc†directory. You can also compile a demo, but you will need GTK 2.10 (for goocanvas version greater than 0.4), or GTK2.8 (goocanvas 0.4). I can tell you that the demo of the last version (0.8 at this moment) is quite impressive. If you have time, try it!. It is worth!.

Basically what it provides is:

  • Already defined primitives: ellipse, image, path, polyline, rectangle, text, and even support for other GTK widges.
  • Takes care of all the drawing stuff.
  • Model/view implementation: several views of the same page is easily supported.
  • Full hierarchy/nesting capability: there are no nesting limits.
  • Uses cairo, already in GTK. This can be a drawback for some people, but if you have problems with cairo, it's likely you are going to have problems with the current gschem when GTK complete the transition into cairo.
  • Built-in drawing transforms (rotating, scaling, moving,…).
  • Full international text support without creating a new font. This is something true with some programs using a custom font: if you want it to support your language, you have to create the font for your special characters. (This is the case of the current gschem).
  • Built-in object visibility and clipping handling.
  • Built-in object events: it can detect clicks on objects, for example.
  • Written in C using GObject.

The advantage is clear: all the basic drawing primitives and operations are already done.

So the proposal is to base all the geda objects on the objects supplied by the canvas (note that every canvas you find is going to provide its own object classes, so this is a canvas based generic design.

geda objects

The geda object definition could be something as simple as:

struct GedaObject {
  int GedaType;
  GList *views; /* List of pointers to GooCanvasItems 
                   This could solve the problem about heterogeneus parts: 
                   We can store as many graphical representations of they object as we want */
                /* Still not sure about this, though */
  GooCanvasItem *current_view;
};
 
struct GedaObjectGroup {
  int GedaType;
  GooCanvasItem group; /* There is also an item for groups of objects */
};

There is no need to store graphic attributes in GedaObject. If the position is needed, since the canvas item can be queried. Some special definition for properties is needed (they shouldn't be handled as just text):

struct GedaObjectProperty {
  GedaType;
  GooCanvasItem *name;
  GooCanvasItem *value;
};

and another one for connectivity items:

struct GedaObjectPort {
  int GedaType;
  GooCanvasItem *graphic;
  GedaObject *connected_object;
};
 
struct GedaObjectDotConnection {
  int GedaType;
  GooCanvasItem *graphic;
  GList *connected_objects;
};
 
struct GedaObjectNet { /* or bus, or bus ripper */
  int GedaType;
  GooCanvasItem *graphic;
  GList *connected_objects;
};

Everything else can be done attaching properties to the defined objects. For example, a page is just as any other GedaObject, where the view item points to a GedaObjectGroup. Notice that having multiple views for a page could be just like a page having multiple pages (at the same hierarchy level).

No object naming is required, although it is already supported by default: you can add a GedaProperty to any other object (it will become part of the object).

Example: a 7400 symbol, with a footprint attribute “DIP-16â€, and reference designator “U1†would look as:

GedaObject
 |- views
 |    |- GedaObjectGroup 
 |    |     |- GedaObjectGroup    /* the graphic representation */
 |    |     |- GedaObjectProperty /* name = "refdes",    value="U1" */
 |    |     |- GedaObjectProperty /* name = "footprint", value="DIP-16" */
 v    v     

Integration with current code

There is no easy and direct way to get this structure into the current codebase. However, the current codebase can be adapted progressively to use this structure.

All canvas specific code can be hidden by a common interface or a runtime plugin, so a possible change of the used canvas could be easy.

Comments?

Leave your comment here!

[Peter C] {

Hi. I think a canvas could be the right way to go with gschem, however we should design libgeda structures to represent the underlying circuit, design, and CAD / graphics concepts involved. I'd hope we can avoid linking any canvas or UI specific structures into libgeda. In a sense, part of what libgeda's does is define canvas independent data-structures and manipulation functions for for the graphic objects on a schematic page.

We can write a wrapper between libgeda and the canvas for actual rendering. It looks (superficially) that this is possible with goocanvas. The two basic cases are “compound†gEDA objects which map to groups of other objects (like complex objects, the current font implementation etc.), and gEDA objects which map to primitives like lines and arcs.

I think some of the important design decisions to make now involve defining the API for object / design database manipulation, and what signals and hooks we might expose to other code. I'd start by considering starting with basic “translate, rotate, mirror, ….†operations like libgeda has now, and then explore signals notifying that an object has changed.

}

lepton-eda-1.9.10/docs/wiki/pcb-footprint_generators.html0000644000175000017500000001022513634703632020362 00000000000000

Footprint generators/importers for PCB

lepton-eda-1.9.10/docs/wiki/geda-pcb_tips.fr.html0000644000175000017500000021470713634703632016465 00000000000000

Autres langues: English РуÑÑкий

Outils PCB

Où puis-je lire les bases sur l'utilisation de pcb?

Le manuel de pcb contient une description concise de l'interface utilisateur dans la section «·Getting Started·» .

J'ai trouvé un bogue·! Que puis-je y faire·?

  1. Débutez en lisant the pcb bug reporting page.
  2. Contrôlez, de quoi avons-nous besoin pour reproduire le bogue.
  3. Demandez sur la liste de diffusion de geda-user s'il est en cours de correction ou s'il a été réglé avec la version la plus à jour de pcb. Notez que vous devez être inscrits sur la liste de diffusion de geda-user avant de pouvoir poster.
  4. Vérifiez si le problème est déjà répertorié dans le bug tracking system de pcb. Si ce n'est pas le cas; émettez un rapport de bogue. Assurez-vous de donner toutes les informations nécessaires pour reproduire le bogue et ajoutez la version de pcb qui contient le bogue.
  5. Finallement, avec tous les projets open source ouverts, vous pourriez muscler vos muscles de phrogrammation et tenter de régler le bogue par vous même. Veuillez envoyer un correctif sur les changements que vous avez effectués sur le BTS de pcb. Le correctif sera accepté avec reconnaissance pour améliorer la prochaine version de pcb.

Comment configurer les règles du fabricant à utiliser (i.e. diamètres de perçage, spécification des largeurs/espacements des pistes)?

Ce sujet est couvert dans la documentation disponible sur le site PCBe.

À propos des empreintes

Comment fonctionne le système d'empreintes de PCB?

PCB supporte deux mécanismes de bibliothèque entièrement séparés:

  1. Le premier est appelé «·oldlib·», «·pcblib·» ou «·bibliothèque M4·». Ce système est historique·; il dépend du langage macro M4 pour générer des empreintes à la volée. La bibliothèque M4 est assez grande et a quelques bogues. Néanmoins, elle est très maniable et est distribuée avec PCB. Un fonctionnalité puissante de la bibliothèque m4 est qu'une famille complète d'empreintes peut être définie rapidement avec une macro de base appropriée.
  2. La seconde bibliothèque d'empreintes pour PCB est appelée «·newlib·». Les empreintes de newlib sont définies en utilisant des fichiers de texte ASCII qui appelent des primitives graphiques réalisant une empreinte complète. Les empreintes newlib peuvent aussi être créées graphiquement en utilisant PCB ou par toute autre méthode qui peut produire un fichier texte (éditeur de texte, script awk/perl/ruby, etc.).

C'est pourquoi, pendant le placement, vous pouvez utiliser des empreintes qui sont distribuées avec PCB, vous pouvez trouver des empreintes par une recherche web ou vous pouvez vous créer la votre et la placer dans un répertoire dédié. Le manuel pcb est complet et mise à jour pour le format de fichier élément. Un tutoriel assez incomplet mais utile est disponible sur le web comme: http://www.brorson.com/gEDA/ (recherche des termes «·newlib·»).

Où puis-je obtenir des empreintes pré-dessinées pour PCB?

Actuellement, le meilleur endroit pour avoir de empreintes (en plus de la distribution PCB) est le site web des symboles gEDA. Le site web de John Luciani possède une grand nombre d'empreintes et d'outils. De même, Darrell Harmon fournit un chouette script de génération d'empreintes sur son site web. Votre contribution au projet est la bienvenue, ainsi que le partage des empreintes. Finallement, vous pouvez demander sur la liste geda-user car quelqu'un pourrait avoir pitié et vous envoyer un symbole. Notez que vous devez souscrire à la liste de diffusion geda-user avant de pouvoir poster.

Je veux utiliser PCB pour faire le placement. Comment connaitre la valeur à utiliser pour l'attribut d'empreinte?

Cette question est une des plus habituelle parmi les nouveaux utilisateurs de gEDA. De fait, aider les nouveaux à déterminer les noms d'empreintes appropriés est au coeur d'un débat en cours sur les symboles légers vs. lourds. Dans la distribution courante gEDA/gaf, les symboles sont légers, vous devez attacher l'attribut footprint au niveau du schéma (i.e. en utilisant soit gschem, soit gattrib). Le nom des empreintes à utiliser dépend de si vous utilisez la bibliothèque newlib ou M4 (pcblib).

Newlib

Newlib stocke une empreinte par fichier et les noms utilisés par newlib sont des noms de fichier des fichiers d'empreinte.

Il y a plusieurs manières de trouver les noms d'empreintes newlib à utiliser·:

  • Vous pouvez naviguer dans les empreintes disponibles enlançant pcb et en ouvrant la fenêtre de bibliothèque d'empreintes (disponibles depuis la barre de menu par «·Window → library·»). Clickez sur le groupe de bibliothèques «·newlib·» et sélectionnez une sous-bibliothèque pour chercher ses symboles. Le nom de chaque empreinte apparaît dans la fenêtre «·Elements·» sur le côté droit du navigateur de bibliothèque. Utilisez le nom exactement tel qu'il apparaît dans le navigateur pour l'attribut d'empreinte dans gschem ou gattrib.
  • Les empreintes newlib distribuées avec PCB sont stockées dans les répertoires sous ${PREFIX}/share/pcb/newlib. (${PREFIX} est le répertoire d'installation spécifié lors de la configuration/compilation de PCB.) Le nom à coller avec l'attribut «·footprint·» est le nom de fichier de l'empreinte que vous souhaitez utiliser.
    Par exemple, sur ma machine, j'ai installé gEDA avec le préfix /usr/local/geda/. Le boîtier 0805 (pour les résistances ou capas SMT) est dans un fichier avec un chemin absolu
    /usr/local/geda/share/pcb/newlib/generic_SMD_packages/0805_reflow_solder
    Donc, pour utiliser cette empreinte avec un composant, je met son attribut «·footprint·» à 0805_reflow_solder en utilisant gschem ou gattrib.
    Notez que si le symbole newlib que vous voulez utiliser est dans un répertoire non-standard, gsch2pcb aura besoin que vous lui spécifiez un chemin vers ce répertoire, siot dans votre fichier project.rc (si vous en utilisez un) ou en utilisant le drapeau –elements-dir (depuis la ligne de commande).
  • Finalement, comme chaque nouveau schéma vous imposera de dessiner au moins une ou deux nouvelles empreintes, il serait bien d'avoir un répertoire d'«·empreintes·» local. Comme précédement, le nom d'empreinte à utiliser est le nom de fichier que vous assignez à chacune de vos nouvelles empreintes. Encore une fois, n'oubliez pas d'ajouter une ligne à votre fichier project.rc indiquant à gsch2pcb où trouver vos empreintes locales. Alternativement, vous pouvez lancer gsch2pcb avec le drapeau –elements-dir pour pointer vers votre répertoire d'empreintes local.

Bibliothèque M4

La bibliothèque M4 stocke les empreintes comme des macros M4·; Il y a habituellement plusieurs (beaucoup) d'empreintes contenues dans chaque fichier d'empreinte. Les différentes empreintes dans un simple fichier sont généralement des variations d'un même motif (e.g. DIP-8, DIP-14, DIP-16, etc.). La manière la plus facile de trouver le nom d'attribut correct est de naviguer dans la bibliothèque «·pcblib·» par la fenêtre de bibliothèque de PCB. Les attributs d'empreinte sont données entre crochets dans la description. Vous pouvez aussi voir la liste des empreintes de pcblib sur la page web des symboles gEDA.

Les bibliothèques m4 suivantes ont reçu plus d'attention et d'amélioration que les autres·:

  • ~amp pour les connecteurs Amp
  • ~amphenol pour les connecteurs Amphenol
  • ~geda pour plusieurs éléments utilisés dans les circuits basiques utilisés par gEDA (résistances, capacités, etc).
  • ~bourns pour les produits comme des potentiomètres de Bourns
  • ~cts pour les produits comme les réseaux de résistances de CTS
  • ~johnstech pour les sockets Johnstech
  • ~minicircuits pour les empreintes spécifiques Minicircuits
  • ~panasonic pour quelques empreintes spécifiques Panasonic

Finalement, pour les bibliothèques newlib et M4, il est extrêmement important que vous vérifiez que les noms d'empreintes utilisées épelent *exactement* celui de l'empreinte que vous voulez placer dans PCB. C'es la raison pour laquelle il est critique d'inspecter l'empreinte avant de l'utiliser. Vous pouvez vérifier l'empreinte que vous voulez utiliser en cliquant dessus dans la «·bibliothèque d'empreinte·» puis le placer dans une zone vide de la zone de dessin de PCB. Inspectez manuellement l'empreinte pour vous assurer que le nombre correct de broches/pastilles, que les dimensions sont correctes, etc.

Aussi, une fois que vous avez généré les fichiers Gerber, assurez-vous d'avoir inspecté toutes les empreintes instantiées dans vos Gerbers en utilisant gerbv (ou un visualiseur Gerber équivalent) avant que vous n'envoyiez votre circuit à la fabrication.

Quelle est la manière recommandée pour traiter les différentes empreintes pour le même type de composant?

Par exemple, un ampli op peut être DIP8 ou SO8. Une résistance peut être 0603, 0805, 1208 ou passante. Comment je sais quel boîtier et empreinte utiliser et comment je gère les choix?

D'abord, l'empreinte que vous devez utiliser est votre décision, pas celui de votre outil conception. C'est à vous de choisir votre boîtier préféré puis attacher l'attribut d'empreinte correct dans le composant du schéma. Une fois que vous avez choisi le boîtier (et l'empreinte), vous voudrez utiliser soit trouver une empreinte appropriée ou en dessiner une vous même et la sauvegarder dans un répertoire local.

Pour la gestion des choix d'empreintes (et donc le grand nombre d'attributs de composants que vous êtes susceptibles d'avoir): Utilisez gattrib. C'est fait pour.

Comment je dessine une nouvelle une empreinte?

Tout le monde le fait à sa manière. Quelques personnes dessinent les empreintes en utilisant seulement PCB. Quelques personnes dessinent d'abord une empreinte préliminaire dans PCB et puis la terminent ensuite à la main et l'éditant (e.g. en utilisant emacs). Quelques personnes écrivent des scripts Perl pour générer automatiquement des empreintes.

Karel Kulhavy préfère dessiner l'empreinte entièrement en utilisant PCB, qui peut être la manière la moins dangereuse à utiliser pour les nouveaux. Il maintient un HOWTO de procédure de création d'empreintes sur son site web Ronja.

Si vous voulez éditer le fichier empreinte à la main, le manuel sur la création d'empreintes par Stephen Meier et Stuart Brorson fournissent les détails de la syntaxe. Le document donne aussi des conseils sur la manière de faire des conceptions élégantes qui s'appliquent aussi à l'interface graphique de la création d'empreintes.

Comment j'édite/change une empreinte existante?

Vous pouvez convertir une empreinte de circuit, éditer les éléments et les reconvertir en empreinte. DAns la liste suivante, les éléments en polices mono space sont des actions depuis le menu buffer.

  1. Selectionner l'élément
  2. Copier la sélection vers le tampon
  3. Séparez le tampon en morceaux
  4. Copiez le tampon dans le placement
  5. Effectuez les changement souhaités
  6. Sélectionnez tous les objets qui appartiennent aux empreintes
  7. Copiez la sélection dans le tampon
  8. Convertissez le tampon en élément
  9. Copiez le tampon dans le placement
  10. Placez la souris sur les pastilles qui ont été arrondis pendant l'étape 4 et pressez q. Cela arrondit les bords des pastilles.
  11. Allez sur chaque pastille, pressez n et donnez un nom à la pastille
  12. Sélectionnez tout puis copy selection to buffer
  13. Save buffer as elements to file. Le fichier empreinte sera créé à l'endroit d'où pcb a été appelé.

Alternativement, vous pouvez utiliser votre éditeur de texte favori et éditez le code source de l'empreinte.

Comment j'ajoute une bibliothèque d'empreintes à PCB?

L'ajoût d'une bibliothèque d'empreintes peut être réalisée depuis l'interface graphique:
File –> Preferences –> Library –> FOOTPRINTDIRECTORY
Alternativement, vous pouvez éditer le fichier $HOME/.pcb/preferences. Cherchez la ligne qui débute par «·library-newlib·». N'oubliez pas d'inclure le nouveau répertorie dans votre fichier de ressource gsch2pcb (si vous utilisez gsch2pcb, bien sûr).

PCB ne trouve par mes empreintes. Pourquoi?

Le chemin des empreintes utilisé par PCB est défini en utilisant la variable Pcb.elementPath dans le fichier des applications par défaut appelé PCB. Le chemin pour le fichier PCB est configuré en utilisant la variable d'environnement XAPPLRESDIR qui est typiquement fait avec un script nommé pcb.

Maintenant que j'ai toutes ces empreintes, où dois-je les placer?

Je préfère placer toutes les empreintes «·prêtes pour la production·» dans un seul répertoire qui n'est pas dans l'arbre d'installation de gEDA/PCB. Lorsqu'une nouvelle version de gEDA/PCB sort, je ne fais aucun changement aux fichier de projet ou aux bibliothèques. S'il y a des empreintes newlib dans la bibliothèque PCB que je veux utiliser, je les copie dans le répertoire d'empreintes «·prêtes pour la production·».

Plutôt que changer les fichiers de configuration permettant à gsch2pcb de trouver les empreintes, j'ai créé un script appelé sch2pcb qui contient le chemin des empreitnes. Tous les utilisateurs utilisent le même script et accèdent aux même empreintes de production.

Pour utiliser le script sch2pcb qui est listé ci-dessus, remplacez la chaîne FOOTPRINT_DIR avec votre répertoire d'empreintes:

#!/bin/bash
gsch2pcb --elements-dir FOOTPRINT_DIR $@

Ou une autre version utilisateur:

#!/bin/bash
#this script was written by John Luciani
gsch2pcb --elements-dir /home/user/pcb/footprints/user --use-files $@

Placement de composants

Comment je pivote une sélection (i.e. pour plus d'un élément)?

  1. Sélectionnez les éléments
  2. Buffer → Coupez la sélection vers le tampon
  3. Buffer → Pivotez le tampon de 90 deg CCW (ou CW)
  4. Clickez partout sur la carte et la sélection est à nouveau collée sur le circuit.

Comment je change la taille de l'objet graphique (comme du texte, des lignes de masque texte, etc)?

  • La souris sur l'objet et frappez [s]. Cela augmentera la taille de l'objet sur lequel est la souris.
  • La souris sur l'objet et grappez [<shift>-S]. Cela diminuera la taille de l'objet sur lequel est la souris.

Vous pouvez modifier la valeur d'augmentation/diminution en utilisant le menu file → preferences → increments.

Comment placer les composants sur les deux faces de PCB?

Il y a deux manières de le faire:

  • Presser la touche de tabulation alternera le côté actif entre le côté composants et et soudure. Lorsque vous placez des composants, il iront sur le côté actif.
  • Si vous visualisez un côté de la carte, placez y un composant et (avec le pointeur dessus), pressez la touche [b] (ce qui signifie, envoyer le composant de l'autre côté), le composant va vers l'autre côté de la carte.

Comment je place l'origine dans pcb?

L'origine absolue est toujours dans le coin haut gauche de la zone accessible. Ceci ne peut être configuré ailleurs. Néanmoins, les coordonnées des objets peuvent aussi être donnés en relation de la grile courante. Dans la version GTK2 de pcb, les coordonnées sont montrées dans le coin haut droit de la fenêtre principale. La bonne valeur est la position absolue, alors que la valeur de gauche reflète la position relative d'un marqueur arbitraire. Ce marqueur est configuré à la position courante de la souris par la séquence de touche [ctrl-m]. Vous pouvez vouloir configurer le marqueur sur un point de grille ou de broche spécifique.

Comment je mesure les distances et les dimensions des composants?

Utilisez [ctrl-m] pour configurer l'origine et lisez la distance de ce point par rapport au pointeur de souris sur le bord haut gauche de la fenêtre de pcb. Quelques objets comme les vias et les pistes donnent des informations utiles dans les rapports d'objets. Accédez au rapport de l'objet sous le pointeur de souris avec [ctrl-r].

Routage

Comment router une connexion depuis le côté soudure vers le côté composant et inversement?

Lors de l'utilistion de l'outil line tool, utilisez les touches de chiffres en haut du clavier pour changer de couche. Un via sera placé automatiquement à la fin du dernier segment complet.

Comment je change le style de routage?

Il existe un jeu de tailles de routage prédéfinies. Le jeu porte des noms suggestifs (Signal, Power, Fat et Skinny). Touchez le bouton «·Route Style·» pour configurer les tailles du jeu courant à vos besoins. L'outil line connaît différents modes pour traiter les connexions transversales. La status line sur le bas de la page indique quel mode est en cours:

  1. 45° plus vertical/horizontal (status line: “\_â€)
  2. vertical plus 45° (status line: “_/â€)
  3. either vertical or 45° (status line: “45â€)
  4. arbitrary angle (status line: “allâ€)

La manière d'accéder à ces modes diffère en fonction des version de l'interface. La version GTK courante (v20060288) a par défaut “_/†mais peut être modifiée temporairement en “\_†avec la touche shift. Vous pouvez passer au mode 45° avec la touche slash “/â€. Pour les angles arbitraires, pressez la touche point «·.·» ou choisissez «·enable all line directions·» dans le setting menu.

J'ai merdé! Comment je reviens en arrière?

La touche universelle undo [U] fonctionne même en pleine action de placement de piste. IIl enlèvera le dernier segment mais gardera l'outil line attaché à la souris. Vous pouvez donc immediatement aller sur le routage et trouver un meilleur placement.

Comment je déplace un jeu de piste d'une couche à l'autre?

  1. Sélectionnez les pistes. C'est plus facile à faire sur vous fermez d'abord tout le reste sur cette couche (i.e. silk, broches, autres couches, etc).
  2. Configurez la nouvelle couche de réception. Oui, la nouvelle couche doit être affichée·; ce qui n'est pas un problème si vous avez déjà sélectionné les pistes à déplacer.
  3. Pressez [shift-M] pour déplacer toutes les pistes sélectionnées vers la couche courante.

Comment je change les soldermask clearance autour d'un trou/via?

Vous pouvez augmenter la soldermask clearance depuis tout trou/via en positionnant le curseur sur l'objet et tapez la touche [k]. Vous pouvez diminuer la clearance en utilisant la touche [<shift>-K].

Comment changer la taille des pistes?

Il existe plusieurs manières de changer la taille de piste déjà placées:

  1. Utilisez [s] et [shift-s] pour augmenter ou diminuer la taille de la piste sous le curseur de la souris.
  2. choisissez Select/Change_size_of_selected_objects/Decrement_lines_by_4mil depuis le menu Select. La valeur de changement peut être configurée dans File/Preferences/Sizes. Cela n'agit que sur les pistes. Donc la sélection peut contenir des composants, des textes, vias et ainsi de suite.
  3. Sélectionnez les pistes devant être changées et tapez :ChangeSize(SelectedLines,+4,mils). La virgule vous offre la ligne de commande et ChangeSize() est la version commandée de l'action précédemment décrite. Remplacez “+4†par la valeur à laquelle vous voulez augmenter la taille de la piste. Utilisez le signe moins pour diminuer la taille de la piste. Si vous omettez le signe, la commande configure la taille de la piste à la valeur donnée.

Comment je pilote un via pour connecter une piste à un plan de masse sur une couche différente?

  1. Configurez la couche de plan de masse comme la couche active.
  2. Sélectionnez l'outil «·via·».
  3. Placez le via où vous voulez qu'il aille (clic gauche pour le placer).
  4. Sélectionnez maintenant l'outil «·thermal·».
  5. Clic gauche sur le via que vous venez juste de placer.
  6. Changer maintenant la couche active en celle de la couche de routage souhaitée.
  7. Sélectionnez l'outil «·line·».
  8. Routez la piste sur la couche active vers ou depuis le via comme d'habitude.

Je veux dessiner une piste entre deux segments sur le même net mais PCB ne me laisse pas faire! Pourquoi?

Vous pouvez dessiner des pistes avec auto-DRC à on. Pour connecter les deux segments, vous avez ici quelques suggestions:

  • DRC enforcement utilise le ratsnest pour déterminer où les pistes sont permises. Donc, vous devez avoir des ratsnest dessinés de manière à réaliser des connexions dans le mode auto-DRC. Sinon, vous ne serez pas authorisés) à connecter (ou approcher) toute zone de cuivre qui n'est pas connectée à notre net. (Si la visibilité du rat vous embête, vous pouvez cacher les couches de rat – mais les rats doivent exister).
  • Vous devrez aussi rafraîchir les rats régulièrement lors du dessin. Tapez [o] pour redessiner/re-optimiser les rats. Assurez-vous qu'un rat connecte visiblement deux pièces de métal que vous souhaitez réunir.
  • Il est aussi possible que vous expérimentiez cette situation lors du dessin de pistes entre les broches d'un connecteur. Dans ce cas, il est possible que la largeur de piste viole les règles de clearance du champ de broche. Tentez de diminuer la clearance broche-vers-métal ou utilisez une épaisseur de piste plus étroite.
  • Quelques fois, ce comportement de blocage du routage peut provenir d'une erreur dans votre netlist. Ne terminez pas les refdes avec des minuscules - elles sont réservées pour els portes à l'intérieur des composants. Finissez avec un majuscule ou un chiffre·; les minuscules sont simplement ignorées.

PCB semble manger mes noms de composants et se plaint qu'il ne peut pas trouver des nets adaptés aux broches! De quoi cela vient?

Plus raisonnablement, vous les nommez de telle manière que pcb croie qu'ils ne forment qu'un élément. Les minuscules à la fin d'un refdes sont ignorés. Donc, les composants U2foo et U2bar ressemblent tous les deux à U2 pour pcb. Lors de la construction des rat nests, pcb cherchera des nets pour U2 qui, bien sûr, n'existe pas. Les minuscules sont destinées pour différentier les slots d'un multi-composant. E.g., les quatres symboles opamp d'un amplificateur opérationnel quadruple.
Ligne de fin: N'utilisez pas les minuscules à la fin d'un refdes, à moins que vous ne sachiez ce que vous faites.

Comment je peux configurer la couleur et l'épaisseur des rats nests?

Vous pouvez configurer la couleur des rats dans File - Preference - Colors - Main colors

Il n'existe actuellement pas d'interface graphique pour changer les épaisseurs de rat mais vous pouvez éditer votre fichier $HOME/.pcb/preference manuellement. Fermez toutes les instances de pcb et cherchez la ligne qui débute avec rat-thickness.

Au delà des pistes et des empreintes

Comment je trace un dessin, une impression ou un autre PCB?

Voyez la page http://www.delorie.com/pcb/bg-image.html sur le site web PCB HID de DJ Delorie.

C'est un bonne manière pour tracer des images à la main ou un autre PCB, disons un de ceux que vous en avez un au format propriétaire, que vous voudriez «·déverrouiller·» maintenant. De plus, vous pouvez utiliser des images comme outils pour faire des révisions de cartes ou des reconceptions.

Si vous n'aimez pas utiliser PCB confiné à la zone de la carte, i.e. si vous voulez des marges autour de la carte, alors ajoutez-les dans GIMP. J'aime faire des marges de 1.00000 autour de la carte. Lorsque vous configurez votre taille de PCB, vous voudrez ajouter votre zone de marge. CTRL-M vous aidera à vérifier la taille. Aussi, le temps de corriger les distorsions de votre scanner ou depuis votre dessin est à faire avant de le charger, dans GIMP ou un des équivalent.

Je ne peux pas copier des pastilles dans un circuit. Comment je fais?

Question: Je veux copier une section de mon placement en un autre endroit.

Je peux sélectionner une zone existante. Tout semble virer au au bleu.

“Bufferâ€â€“>“Copy Selection To Buffer†semble réussir (pas de complaintes).

Lorsque je veux copier la zone copiée… et tout ce que j'arrive à bouger sont un couple de pistes et quelques vias. Les pastilles qu j'ai créé avec difficulté ne sont pas copiées. Pourquoi!?!?!?

Réponse: Si la couche du dessus (silk layer) est désactivée, vous ne pouvez copier les éléments par le tampon copier. Bizarre, mais c'est comme cela que cela fonctionne. Donc, validez la couche du dessus avant de copier une section de placement.

Comment je remplis les zones avec cuivre?

Utilisez les plans rectangle et polygone. Ces objets éviteront toujours les vias, pastilles et broches. Les pistes sont aussi évitées, si elles ont le drapeau clear polygons de configuré. (menu: Settings/Enable_new_lines_clear_polygons)

Les polygones mettent mes pistes à la masse! Que puis-je y faire?

Vous n'avez pas contrôlé le «·Enable_new_lines_clear_polygons·» dans le menu settings lorsque vous avez placé les pistes. Entrez «·changejoin(selection)·» dans la fenêtre de commande pour basculer ce drapeau pour toutes les pistes qui sont actuellement sélectionnées. Le raccourci clavier pour cette action est [shift-j].

Comment je change le polygon clearance?

Pressez [k] pour augmenter la clearence de l'objet sous le curseur. Utilisez [ctrl-k] pour augmenter la clearence des objets sélectionnés. Ajoutez le modificateur [shift] pour diminuer la clearence. Pour changer une piste complète, pressez [f] pour trouver tous les segments qui sont connectés à l'objet sous le curseur et appliquez l'action «·select(connection)·».

La valeur de l'incrément peut être configurée dans le dialogue File/Preference/Increments.

Comment je cache les polygones lorsque j'édite le placement?

Placez les polygones (et les rectangles) sur une couce séparée. Utilisez la préférence pour vous assurer que cette couche n'est pas dans le même groupe que les pistes. Désactivez la piste en clickant sur le bouton de couche correspondant dans la fenêtre principale. Après que vous ayiez terminé avec les changements, utilisez le dialogue preference pour permettre à la couche des polygones de joindre la couche des pistes.

Comment éditer les polygones?

Il y a quatre manières de base pour éditer les contours des polygones. Vous pouvez déplacer et effacer les verticales et vous pouvez insérer les verticales en utilisant deux techniques. Les polygones peuvent être éditées de manière équivalente dans le mode «·thin line draw·» (settings –> enable thin line draw) ou dans le mode normal. Déplacer un sommet est facilement accompli en utilisant un-selecting your polygon puis en cliquant et tirant ce sommet dans le nouvel emplacement. Pour effacer un sommet, un coin de votre polygone, placez votre pointeur sur le point et tapez «·delete·» avec le clavier. Pour insérer un sommet, vous devez utiliser l'outil insert (’insert’ keystroke). Démarrez en cliquant sur le bord que vous voulez séparer avec un nouveau point. Cliquez et tirez le nouveau point dans le polygone. Une variation de cette technique est 1) cliquer pour sélectionner, suivi par 2) cliquer pour placer le nouveau sommet.

(NOTE: Insérer des points dans un polygone ne fonctionnera généralement QUE avec «·all direction lines·» de validé («·settings –> enable all direction lines·»). C'est parce PCB possède un système de contrainte de 45/90 degrés puissante. Si vous tentez d'insérer des nouveaux sommets, dans un polygone, qui ne tombent pas sur des lignes à contraintes de 45 et 90 degrés, PCB ne permet pas cette action!)

Comment je place des vias qui connectent un polygone pour une dissipation thermique complète ou pour une intégrité de protection complète?

Il est souvent utile d'avoir des vias connectés complètement à un polygone (une zone de cuivre) pour les transferts de chaleur – le problème apparent est que les polygones de PCB ont un seul drapeau «·clear pins/vias·» pour le polygone complet (basculé avec la touche [s]). Notre objectif est de seulement connecter quelques uns des broches/vias au polygone mais pour mieux les connecter que ne le font un des connexions thermiques. Vous avez ici quelques manières de le faire·:

Une manière est de faire un objet qui est presque comme une connexion thermique en ce sens quelle est entre le via et le polygone – la différence est que vous créez réellement un anneau pour remplir complètement l'espace entre le trou et le polygone (qui, à cause de sa clearance validée, n'est pas connecté à la broche). Cet anneau est un arc à quatre segments. Vous pouvez copier ces quatre objets dans le tampon pour créer un «·zero-clearance thermal tool·». Le contre-coup de cette astuce est que lorsque vous changez la taille de via, vous aurez aussi à modifier la taille de ces éléments de remplissage.

Les arcs vous permettront d'utiliser cette astuce de remplissage dans les zones étroites en ne plaçant que deux des quatre arcs.

Une autre astuce est de réaliser une ligne sans longueur. Prenez un seul segment de ligne et déplacez le point de fin au point de début. Vous avez maintenant une «·ligne à un seul point·» (un cercle) avec le diamètre égal à l'épaisseur de la ligne. Faites autant de couches (touche [m]) que vous jugez nécessaire. Placez cet objet centré sur votre via pour le connecter à un polygone.

Les utilisateurs intensifs peuvent vouloir garder une petite bibliothèque personnalisée des ces éléments en les sauvegardant comme des éléments. Il est aussi pratique de placer des «·éléments·» dans un de vos tampons PCB de telle manière qu'ils soient à portée de main.

Vous pouvez aussi ajouter un autre polygone par dessus le polygone sur lequel vous connecter vos vias. Vous devez désactiver le drapeau «·clear pins/vias·» et les vias seront connectés au polygon le plus grand en dessous.

Les polygones peuvent-ils être un-masqués? (Un polygone peut-il être de cuivre sans masque de soudure?)

Ce n'est actuellement pas possible dans PCB. La manière habituelle (par exemple si vous voulez qu'une zone nue s'attache à une zone de dissipation ou un shielding) est de réaliser un élément qui est une pastille simple. Cette pastille doit être aussi petite que possible (0 x 0) mais avec une grand clearance. C'est la clearance du masque de soudure de cet élément que vous allez utiliser pour dé-masquer le polygone. PCB limite en interne la taille de la pastille à 250 mils. Pour les zones plus grandes, vous aurez besoin d'utiliser plusieurs pastilles.

Comment je place des trous de montage (mounting hole)?

Utilisez une empreinte pour les pour trou de montage ou placez un via.

Si la pastille entourant le trou de montage doit être conneté électriquement, alors vous devez montrer la connexion dans votre schéma. Ajoutez un symbole pour le pour le trou de montage et changez son attribut d'empreinte.

Ma préférence est de créer des empreintes PCB pour les divers types d'éléments à monter. J'ai une variété de silkscreens pour diverses combinaisons de de matériel (hex nut, hex nut with washer, etc.). Le silkscreen fournit une référence de placement pendant le placement avec PCB.

Pour les exemples d'empreintes, voyez http://www.luciani.org/geda/pcb/pcb-footprint-list.html#Hardware.

Pourquoi est-il possible de réaliser des ponts thermiques pour les broches mais pas pour une pastille?

La raison est que les broches ont habituellement suffisamment d'espace avec le plan les entourant qui reste intact sur toutes les faces et ce n'est pas le cas des pastilles qui sont habituellement trop serrées. À cause de ceci, vous devez dessiner manuellement les «·doigts·» de liaison thermique pour connecter la pastille au plan de masse. Assurez-vous que vous avez configuré la connexion de telles nouvelles lignes aux plans lorsque vous les dessinez. Si vous avez besoin de faire plusieurs de ces ponts thermiques, passez un peu de temps à faire le premier de la manière dont vous souhaitez puis copiez les doigts dans le tampon et collez-le si vous voulez les autres.

PCB peut-il être utilisé pour réaliser des cartes à simple couche?

Oui. Tracez vos gerbers et et enlevez toutes les couches qui ne sont pas nécessaires. Vous pouvez juste dessiner le placement comme vous le souhaitez (style libre). Si vous voulez vérifier la connectivité, vous avez deux choix:

  1. Supposer que votre cuivre est sur le côté oppposé, utilisez le côté supérieur du placement pour y placer les pistes où seront les jumpers. C'est probablement le plus facile. Puis, traitez le côté opposé et placez les jumpers où vous avez le côté supérieur du cuivre.
  2. Créez un symbole «·jumper·» dans le schéma et placez-le dans les endroits où vous avez besoin d'un jumper. Cela peut être pénible mais vous pouvez forcer les dimensions des jumpers de cette manière si vous en avez besoin.

Si vous tentez d'utliser l'autorouter, désactivez toutes les couches arrière lorsque vous routez et il collera à cette couche.

Quelles ressources existent pour traiter les fichiers PCB en utilisant les scripts?

Une des plus grande fonctionnalité de PCB est qu'il utilise un format de fichier ASCII facilement compréhensible. C'est la raison pour laquelle de nombreues personnes utilisent les scripts (habituellement Perl) pour traiter leurs cartes de différentes manières. Vous pouvez utiliser ces scripts soit comme ils sont, soit en les modifiant pour les adapter à nos propres buts. Vous avez ici quelques liens vers les scripts disponibles:

  1. John Luciani possède une large éventail de scripts disponible sur son site web. Dans cette collection, des scripts sont inclus pour générer des empreintes, de même que
  2. David Rowe possède des scripts pour mettre à jour des éléments de même qu'ajouter/suprimer des fichiers PCB les uns des autres sur son site web.
  3. Stuart Brorson a écrit un script simple qui génère des empreintes pour deux ponts thermiques passifs en SMD. Un tarball gzippé est disponible ici .

Comment j'importe des graphiques vectoriels externe?

Il existe un utilitaire open source provenant d'une tierce personne appelé pstoedit qui convertit des données postscript au format pcb. Il est inclus dans la plupart des distributions majeures de Linux. Vous pouvez utiliser votre graphique vectoriel préféré pour produire un logo ou toute autre type de marque amusante. Exportez-le comme eps si vous pouvez et assurez-vous que votre logo correspond à la à la boîte de remplissage (contrôlez-le avec un visualiseur postscript tel que ggv). S'il n'y a pas d'export d'eps de disponible, vous pouvez produire du postscript en l'imprimant dans un fichier. Dans ce cas, vous pouvez ajouter une boîte de remplissage avec ps2epsi. Appelez pstoedit avec l'option «·-f pcb·» pour produire un fichier pcb valide qui contient les graphiques comme piste sur une couche 1. Chargez ce fichier dans pcb. Les graphiques seront alors quelque part dans le bord bas gauche de la visualisation. Vous avoir à zommer pour l'avoir sur l'écran.

L'import de graphiques vectoriels externes est utile si un si une forme irrégulière de pcb est nécessaire. Utilisez le tampon couper pour copier la forme de votre circuit réel.

Comment j'attache un nom à mon circuit?

Vous pouvez configurer le nom du pcb courant avec Menu Edit - Edit name of - layout. Cela configure l'attribut de titre sur le circuit. Cet attribut est utilisé pour els actions d'export. Il n'interfère pas avec le nom de fichier.

Autorouteur

Comment je force l'autorouteur à ne placer des pistes que sur une couche particulière?

Désactivez juste les couches dont vous ne voulez pas (habituellement vertes et bleues) en cliquant sur le nom de la couche puis pressez autoroute.

Commennt forcer l'autorouteur à router seulement dans les limites des contours du pcb?

Vous pouvez faire fonctionner l'autorouteur seulement dans une zone donnée en dessinant un polygone de cuivre se conformant à votre emboîtement de circuit et placez-le dans chaque couche que vous tentez d'autorouter. Vous pouvez aussi utiliser cette astuce pour ne seulement autorouter qu'une petite zone. Bien sûr, si vous avez un net qui touche accidentellement le polygone, toutes les routes seront court-circuitées à ce net.

Comment je route les plans d'alimentation et de masse avec l'autorouteur?

Connectez les polygones qui deviendront vos plans d'alimantation (et de masse) à un net et l'autorouteur s'occupera du reste. Vous pouvez avoir besoin de quelques astuces de clearances de polygone pour avoir le routage de l'alimentation _et_ le routage dans les limites de la carte.

Le circuit produit par l'autorouteur est inefficace!

Ce une limitation technologique de l'autorouteur actuel. Il est sans grille et utilise seulement les rectangles géométriques.

Le circuit produit par l'autorouteur est moche!

Vous êtes plus que bienvenu pour contribuer à un autorouteur topologique.

Génération Gerber et production de fichiers I/O

Comment je réalise des contours de carte pour proposer mes gerbers vers le fabricant de carte?

Vous pouvez ajouter une couche de contour pour vos projets pcb. PCB interprète toute couche appelée «·outline·» (edit –> edit name of –> active layer) comme étant le bord absolu du pcb. PCB imprime des fichiers gerber qui représente rigidement ceci.

Vous pouvez entrer voter couche de contour par l'interface graphique de PCB. Vous dessinez simplement les lignes de contour de la carte. Vous pouvez générer des cartes de toute forme de cette manière.

Il est aussi possible d'éditer le format de fichier natif .pcb de votre circuit. J'utilise habituellement la Couche 8 pour les contours:

Layer(8 "outline")
(
	Line[x1 y1 x2 y2 1000 2000 0x00000000]
	Line[x2 y2 x3 y3 1000 2000 0x00000000]
	Line[x3 y3 x4 y4 1000 2000 0x00000000]
	Line[x4 y4 x1 y1 1000 2000 0x00000000]
	Line[<more points go here for non-square boards> 1000 2000 0x00000000]
)

J'ai fini mon placement. Comment je le contrôle?

  • Lancez un contrôle des règles de dessin soit par l'interface de commande (“DRC()â€) ou depuis le menu (Connects - Design Rule Checker). Vous pouvez configurer les règles avec la section des tailles dans le dialogue preference. Les résultats du contrôle sont montrés dans la fenêtre de journal (log).

avant de lancer le contrôleur de DRC, il est essentiel de contrôler vos fichiers Gerber. La Suite gEDA inclut le programme «·gerbv·» pour cette tâche. Vous avez ici quelques éléments à contrôler/vérifier:

  • Contrôlez que toutes les largeurs de pistes ont la taille correcte. Assurez-vous aussi que les largeurs de pistes et les séparations métal-métal sont au-dessus du minimum spécifié par votre fabricant de PCB.
  • Contrôlez que tous les diamètres de trous sont à la bonne taille.
  • Contrôlez que les anneaux de métal autour des trous/vias sont suffisamment larges. L'anneau annulaire est la distance entre les bords du trou et le diamètre extérieur de la métallisation. L'anneau annulaire doit être suffisamment large pour permettre la zone de perçage + connexion entre couches + autres anomalies de fabrication. Cette information devrait être disponible chez votre fabricant de PCB·; ils publient normalement les tailles minimum d'anneau annulaire dans leurs documents de règles de fabrication.
  • Contrôlez que vos antipads (clearance autour des trous/vias) soient suffisamment larges. Cette information doit être disponible chez votre fabricant de PCB·; demandez-leur leurs documents de règles de fabrication.
  • Vérifiez qu'aucun soldermask ou silkscreen ne se superpose avec une pastille de cuivre ou un trou passant.
  • Sur les couches de plan, vérifiez qu'au moins quelques vias s'y connectent (oui, j'ai vu une carte ou le plan de masse complet était flottant – il n'avait pas été réalisé avec pcb, soit dit en passant)
  • Sur les couches de plan, vérifiez qu'au moins quelques vias _n'y sont pas_ connecté.
  • Effectuez une contrôle visuel d'anomalie sur toutes les couches. Rien de détaillé, jetez juste une regard approximatif sur la manière dont cela evrait être.
  • Toutes les couches sont-elles négatives/positives telles qu'elles devraient l'être? Notez que certains fabricants veulent seulement des couches positives. PCB en créera automatiquement des Gerbers négatives sur les couches de plans sans pistes. Si vous voulez une couche avec tous les plans en sortie comme couche positive, dessinez une piste simple quelque part dans une zone inutilisée du plan. Cela obligera PCB à faire de cette couche une couche positive.

Vous n'avez pas répondu à mes questions. Où puis-je trouver d'autres informations sur PCB?

http://www.luciani.org/geda/pcb/faq-pcb-footprint.html
faq-pcb
http://pcb.geda-project.org/manual.html

Vous pouvez avoir des réponses plus rapides avec la liste des geda-user. Si vous n'avez trouvé une réponse à votre question à propos de PCB sur cette page ou dans les autres documentations, postez alors sur la liste! Notez que vous devez y souscrire avant de pouvoir y écrire. Les listes de gEDA et leurs archives sont sur: http://wiki.geda-project.org/geda:mailinglists

lepton-eda-1.9.10/docs/wiki/geda-icarus_vvp_runtime.html0000644000175000017500000001532413634703632020172 00000000000000

Icarus Verilog vvp runtime engine man-page

vvp(1)			 $Date: 2005/01/29 06:28:19 $			vvp(1)



NAME
       vvp - Icarus Verilog vvp runtime engine


SYNOPSIS
       vvp  [-sv] [-Mpath] [-mmodule] [-llogfile] inputfile [extended-args...]


DESCRIPTION
       vvp is the run time engine that executes the default compiled form gen-
       erated  by  Icarus Verilog. The output from the iverilog command is not
       by itself executable on any  platform.  Instead,	 the  vvp  program  is
       invoked to execute the generated output file.


OPTIONS
       vvp accepts the following options:

       -llogfile
	       This  flag  specifies  a	 logfile where all MCI <stdlog> output
	       goes.  Specify logfile as ’-’ to send log output	 to  <stderr>.
	       $display	 and  friends  send  their output both to <stdout> and
	       <stdlog>.

       -Mpath  This flag adds a directory to the path list used to locate  VPI
	       modules.	 The  default path includes only the install directory
	       for the system.vpi module, but this flag can add other directo-
	       ries.  Multiple paths are allowed, and modules will be searched
	       in order.

       -mmodule
	       Tell the vvp run time to load the named module before executing
	       the simulation. The system.vpi module is loaded by default, but
	       additional  modules,  including	modules	 that	you   compiled
	       locally, can be specified with this flag. Any number of modules
	       can be loaded, and they will be linked in the  order  they  are
	       listed on the command line.

	       Normally,  you  only  need  to  specify the name of the module,
	       without any directory path or .vpi suffix and the  search  path
	       is scanned to find the module. However, if the name includes at
	       least one directory character, then  the	 search	 path  is  not
	       scanned and the name is assumed to be a complete file name.

       -s      Stop.  This will cause the simulation to stop in the beginning,
	       before any events are scheduled. This  allows  the  interactive
	       user to get hold of the simulation just before it starts.

       -v      Turn on verbose messages. This will cause information about run
	       time progress to be printed to standard out.


EXTENDED ARGUMENTS
       The vvp options described above must come before the design file	 name.
       After the design file name, however, there may be any number of unspec-
       ified arguments. These arguments are not interpreted  by	 vvp  but  are
       instead	passed	on  to	the executed design, and are available via the
       $test$plusargs and $value$plusargs system functions.

       Arguments that do not start with the plus(+) character are  not	avail-
       able  to	 the $plusargs system tasks, but can still be accessed via PLI
       code via the vpi_get_vlog_info function. This means  that  vpi  modules
       may  use arguments that do not start with + and be assured that they do
       not interfere with user defined plus-args.

       There are a few extended arguments that are interpreted by the standard
       system.vpi module, which implements the standard system tasks and so is
       always included. These arguments are described here.

       -vcd|-vcd-none
	       This extended argument sets the wave dump format to  VCD.  This
	       is  the	default in the absence of any IVERILOG_DUMPER environ-
	       ment variable. The VCD dump files are large and ponderous,  but
	       are  also maximally compatible with third party tools that read
	       waveform dumps.

       The -vcd-none variant actually suppresses all waveform output. This can
       make long simulations run faster.


       -lxt|-lxt-speed|-lxt-space|-lxt-none
	       These  extended arguments set the wave dump format to lxt, pos-
	       sibly with format optimizations. The -lxt-space flag  sets  the
	       output format to lxt with full compression enabled. The result-
	       ing files are quite small. The -lxt-speed chooses the lxt  com-
	       pression	 mode  that  leads  to the best execution time and the
	       fastest read time, at the expense of some file size.

       The -lxt-none variant actually suppresses all waveform output. This can
       make long simulations run faster.


       -lxt2   The  LXT2 format is slower then LXT (faster then VCD) but takes
	       less space, and is written out  incrementally.  Thus,  you  can
	       view lxt2 files while a simulation is still running (or paused)
	       or if your simulation crashes or is killed, you	still  have  a
	       useful dump.


ENVIRONMENT
       The  vvp	 command  also accepts some environment variables that control
       its behavior. These can be used to make semi-permanent changes.


       IVERILOG_DUMPER=lxt|lxt2|vcd|none
	       This selects the output format for the  waveform	 output.  Nor-
	       mally,  waveforms  are  dumped in vcd format, but this variable
	       can be used to select lxt format, which is  far	more  compact,
	       though limited to gtkwave or compatible viewers. It can also be
	       used to suppress VCD output, a time-saver for regression tests.


INTERACTIVE MODE
       The simulation engine supports an interactive mode. The user may inter-
       rupt the simulation (typically by typing Ctrl-C) to get to the interac-
       tive  prompt. From that prompt, the help command prints a brief summary
       of the available commands.

       The interactive mode may also be entered by a call to the $stop	system
       task  from  within  the simulation, or by a call to the vpi_control VPI
       function with the vpiStop control argument.  These  means  of  entering
       interactive mode are equivalent.


AUTHOR
       Steve Williams (steve@icarus.com)


SEE ALSO
       iverilog(1), iverilog-vpi(1), <http://www.icarus.com/eda/verilog/>


COPYRIGHT
       Copyright ©  2001-2003 Stephen Williams

       This document can be freely redistributed according to the terms of the
       GNU General Public License version 2.0



Version			 $Date: 2005/01/29 06:28:19 $			vvp(1)
lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-netlist_backends.ru.html0000644000175000017500000001537613634703632022540 00000000000000

Драйверы ÑпиÑков Ñоединений

Обычно ÑпиÑок Ñоединений в gnetlist ÑоздаётÑÑ Ð² два Ñтапа.

  1. Ð’ÐµÑ€Ñ…Ð½ÐµÑƒÑ€Ð¾Ð²Ð½ÐµÐ²Ð°Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ° gnetlist иÑпользует файлы Ñхем в удобочитаемом формате Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ¶ÑƒÑ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… проекта.
  2. Ð”Ð»Ñ Ð¸Ð·Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ из Ñтого промежуточного предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ запиÑи её на диÑк иÑпользуетÑÑ Ð½Ð¸Ð·ÐºÐ¾ÑƒÑ€Ð¾Ð²Ð½ÐµÐ²Ñ‹Ð¹ драйвер ÑпиÑка Ñоединений.

БольшинÑтво драйверов иÑпользуютÑÑ Ð´Ð»Ñ Ð²Ñ‹Ð´Ð°Ñ‡Ð¸ информации об ÑлектричеÑких цепÑÑ… в машиночитаемом формате Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ утилитами. Ðапример, драйвер «liquidpcb» применÑетÑÑ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑка Ñоединений, иÑпользуемого при проектировании печатной платы Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ LiquidPCB, а драйвер «spice-sdb» чаÑто иÑпользуетÑÑ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑков Ñоединений Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ SPICE.

Ðо драйверы могут применÑтьÑÑ Ð¸ Ð´Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… целей. Ðапример, драйвер «bom2» иÑпользуетÑÑ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ Ð¸Ñпользуемых компонентов («Перечень Ñлементов» [«Bill of Materials»]), а драйвер «drc2» выполнÑет «проверку ÑоответÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ð¼ нормам» [«design rule checking»] (то еÑть проверку проекта на общие ошибки и потенциальные проблемы).

Полный перечень вÑех раÑпроÑтранÑемых Ñ gnetlist драйверов приведён в Ñправочной Ñтранице gnetlist(1) (которую можно поÑмотреть, запуÑтив man gnetlist).

ЕÑли ни один из поÑтавлÑемых драйверов не делает то, что вам нужно, вы можете напиÑать и уÑтановить Ñвой ÑобÑтвенный! Более подробную информацию об Ñтом вы найдёте в руководÑтве ÐапиÑание Ñкриптов драйверов gnetlist на Scheme.

Выбор драйвера

Ð”Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ñ‚Ð¾Ð³Ð¾, какой драйвер Ñледует запуÑтить, иÑпользуетÑÑ ÐºÐ»ÑŽÑ‡ -g. Ðапример, Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка драйвера «bom2» надо набрать:

gnetlist -g bom2

ПроÑмотр имеющихÑÑ Ð´Ñ€Ð°Ð¹Ð²ÐµÑ€Ð¾Ð²

Ð”Ð»Ñ Ð¿Ñ€Ð¾Ñмотра Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ ÑƒÑтановленных драйверов иÑпользуетÑÑ ÐºÐ»ÑŽÑ‡ командной Ñтроки --list-backends:

gnetlist --list-backends

По Ñтой команде будет выведен перечень вÑех драйверов, которые gnetlist может найти.

Интерактивный режим

Ðльтернативой запуÑку драйвера ÑвлÑетÑÑ Ð¸Ñпользование интерактивного режима. При задании ключа -i gnetlist Ñоздаёт промежуточное предÑтавление данных файлов Ñхем, а затем входит в цикл REPL (Read-Eval-Print Loop) Scheme. Это позволÑет запуÑкать команды Scheme и проÑматривать их вывод, что может быть полезно при уÑтранении неполадок и Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñти Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð½Ñ‹Ñ… методов обработки ÑпиÑков Ñоединений.

lepton-eda-1.9.10/docs/wiki/geda-guile_scripting.ru.html0000644000175000017500000011310613634703632020057 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

Скрипты Guile

Ð’ gEDA/gaf Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñти напиÑÐ°Ð½Ð¸Ñ Ñкриптов на Scheme иÑпользуетÑÑ Guile Scheme, и в раÑпорÑжении разработчика оказываютÑÑ Ð²Ñе возможноÑти Ñзыка Guile. Справочное руководÑтво по Guile [Guile Reference Manual] можно найти либо в формате Info (info guile на большинÑтве ÑиÑтем), либо в формате HTML на веб-Ñтранице Guile.

Ð”Ð»Ñ Ð´Ð¾Ñтупа к объектам и Ñтраницам gEDA и Ð´Ð»Ñ Ð¸Ñ… Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐµÑ‚ÑÑ Ð½Ð°Ð±Ð¾Ñ€ модулей, называемый gEDA Scheme API. ЕÑть и Справочное руководÑтво по Scheme в gEDA [gEDA Scheme Reference Manual] в формате Info (info geda-scheme).

Учебники

Ð¡Ð¿Ñ€Ð°Ð²Ð¾Ñ‡Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ

Примеры Ñкриптов

Каждый Ñкрипт можно Ñкачать и загрузить в gschem:

  • нажмите : и введите
    (load "filename.scm")
  • затем нажмите Enter

Удаление объектов Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸ ÑвойÑтвами

Ðапример, удалим вÑе объекты, ÑвлÑющиеÑÑ Ð¾ÐºÑ€ÑƒÐ¶Ð½Ð¾ÑÑ‚Ñми или дугами Ñ Ð½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ радиуÑом

remove-objects.scm
(use-modules (geda page))
 
; ПроверÑет, ÑвлÑетÑÑ Ð»Ð¸ объект OBJECT окружноÑтью (circle)
; или дугой (arc) Ñ Ð½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ радиуÑом
(define (zero-radius-object? object)
  (or
    (and (circle? object) (= (circle-radius object) 0))
    (and (arc?    object) (= (arc-radius    object) 0))))
 
(apply page-remove! (active-page)
       (filter
         zero-radius-object?
         (page-contents (active-page))))

Предположим, нам необходимо удалить компонент Ñ Ð¸Ð·Ð²ÐµÑтным атрибутом, тогда нам нужно также отделить и удалить вÑе его атрибуты. ФункциÑ, Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ Ð½Ð¸Ð¶Ðµ делает именно Ñто.

remove-components-with-attribs.scm
(use-modules (geda page))
(use-modules (geda object))
(use-modules (geda attrib))
 
; УдалÑет вÑе компоненты, имеющие атрибут NAME=VALUE, Ñо Ñтраницы PAGE
(define (delete-components-by-attrib! page name value)
  (for-each
    (lambda (obj)
      (if (component? obj)
        (for-each
          (lambda (attr)
            (and
              (string=? (attrib-name attr) name)
              (string=? (attrib-value attr) value)
              (let ((attached-attribs (object-attribs obj)))
                (apply detach-attribs! obj attached-attribs)
                (apply page-remove! page obj attached-attribs))))
          (object-attribs obj))))
    (page-contents page)))

ПоÑле загрузки файла, нажмите : и введите, например,

(delete-components-by-attrib! (active-page) "refdes" "R1")  

Процедуры Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð°/вывода

Следующий Ñкрипт определÑет две процедуры, которые могут иÑпользоватьÑÑ Ð² режиме пакетной обработки Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñкриптов Ð´Ð»Ñ gaf shell:

  • schematic-file→page
  • page→schematic-file
geda-io.scm
(use-modules (ice-9 lineio))
(use-modules (geda page))
 
; Процедуры ввода/вывода
; Читает файл FILE и выводит Ñтроку
(define (file->string file)
  (let* ((port (make-line-buffering-input-port (open-file file "r"))))
    (do ((line "" (read-string port))
         (s "" (string-append s line)))
      ((eof-object? line) ; теÑÑ‚
       (close-port port)  ; выражение(Ñ) Ð´Ð»Ñ Ð²Ñ‹Ñ‡Ð¸ÑÐ»ÐµÐ½Ð¸Ñ Ð² конце
       s)                 ; возвращаемое значение
      ; empty body
      )))
 
; читает файл Ñхемы FILE и возвращает объект Ñтраницы PAGE
(define (schematic-file->page file)
    (string->page file (file->string file)))
 
; ÑохранÑет Ñтраницу Ñхемы PAGE в файл FILE
(define (page->schematic-file page file)
  (with-output-to-file file
    (lambda () (display (page->string page)))))

Копирование, перемещение и вращение объектов

move-and-rotate.scm
 ; Scripting example by vzh per request of
; Kai-Martin Knaak :-)
; Use at your own risk.
 
; ОÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð° здеÑÑŒ
; multiple-copy-move-and-rotate-selection, что можно Ñократить до
; mcmars.
; ИÑпользование:
;   запуÑтите gschem, чтобы там можно было иÑпользовать Ñтот Ñкрипт, например
;     gschem -s move-and-rotate.scm
;   выделите объекты в gschem, нажмите ':' (двоеточие) и наберите
;     (mcmars '(1000 . 500) 90 10)
;   нажмите <Enter>
; ÐаÑлаждайтеÑÑŒ!
 
 
(use-modules (gschem selection))
 
; округление координат по ALIGN
(define (ceiling-coords vector align)
  (cons
    (* (ceiling-quotient (car vector) align) align)
    (* (ceiling-quotient (cdr vector) align) align)
    ))
 
; Получение минимума X и минимума Y двух пар координат
(define (min-coords coord1 coord2)
  (let ((x (min (car coord1) (car coord2)))
        (y (min (cdr coord1) (cdr coord2))))
    ; возвращаемое значение
    (cons x y)))
 
; Копирование, перемещение и вращение текущего выделениÑ. Выделенные объекты
; Ñначала копируютÑÑ, затем перемещаютÑÑ Ð½Ð° вектор VECTOR и, наконец, вращаютÑÑ
; на угол ANGLE вокруг центра, который раÑÑчитываетÑÑ ÐºÐ°Ðº Ð¾ÐºÑ€ÑƒÐ³Ð»Ñ‘Ð½Ð½Ð°Ñ Ð´Ð¾
; множителей 100 Ð»ÐµÐ²Ð°Ñ Ð½Ð¸Ð¶Ð½ÑÑ ÐºÐ¾Ð¾Ñ€Ð´Ð¸Ð½Ð°Ñ‚Ð° вÑех объектов в выделении.
; ЕÑли никакие объекты не выделены, открывает диалоговое окно Ñообщений gschem
; Ñ Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸ÐµÐ¼.
; Возвращает Ñкопированные объекты.
(define (copy-move-and-rotate-selection vector angle)
  (let ((objects (page-selection (active-page))))
    (if (null? objects)
      (gschem-msg "Select something first!")
      ; else
      (let* ((copied-objects (map copy-object objects))
             (translated-objects (apply translate-objects! vector copied-objects))
             (bounds (apply object-bounds translated-objects))
             (rotation-center (ceiling-coords (min-coords (car bounds) (cdr bounds)) 100))
             (rotated-objects (apply rotate-objects! rotation-center angle translated-objects)))
        (apply page-append! (active-page) rotated-objects)
        rotated-objects)
      )))
 
; Умножает VECTOR, который должен быть парой, на чиÑло NUMBER
(define (multiply-vector-by vector number)
  (cons (* number (car vector)) (* number (cdr vector))))
 
; Копирование, перемещение и вращение текущего Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтво
; раз, указанное аргументом NUMBER. ПрименÑет процедуру
; copy-move-and-rotate-selection неÑколько раз, каждый раз увеличиваÑ
; вектор и угол на заданные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ VECTOR и ANGLE.
; ЕÑли никакие объекты не выделены, открывает gschem message dialog with
; warning.
; ЕÑли никакие объекты не выделены, открывает диалоговое окно Ñообщений gschem
; Ñ Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸ÐµÐ¼.
; Возвращаемое значение не определено.
(define (multiple-copy-move-and-rotate-selection vector angle num)
  (if (null? (page-selection (active-page)))
    (gschem-msg "Select something first!")
    ; else
    (do ((i num (1- i)))
      ((= i 0))
      (copy-move-and-rotate-selection
        (multiply-vector-by vector i) (* angle i)))
    ))
 
; Сокращение Ð´Ð»Ñ Ð¸Ð¼ÐµÐ½Ð¸ процедуры multiple-copy-move-and-rotate-selection
(define mcmars multiple-copy-move-and-rotate-selection)  

Редактирование группы атрибутов

ДопуÑтим, вы выделили неÑколько позиционных обозначений (атрибут refdes) резиÑторов и хотите переименовать их вÑе Ñразу, например, еÑли они были Ñкопированы из другого меÑта.

set-selected-attribs-value
(use-modules (gschem selection))
 
(define (set-selected-attribs-value! value)
  (for-each
    (lambda (attrib)
      (set-attrib-value! attrib value))
    (page-selection (active-page))))

ИÑпользование процедуры в gschem:

(set-selected-attribs-value! "R100.?")  

Теперь, поÑле Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ñ… номеров Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ T U, вы копируете их вÑе и хотите переименовать Ñти Ñкопированные резиÑторы, добавив ÑуффикÑ:

append-selected-attribs-suffix.scm
(use-modules (gschem selection))
 
(define (append-selected-attribs-suffix! suffix)
  (for-each
    (lambda (attrib)
      (set-attrib-value!
        attrib
        (string-append (attrib-value attrib) suffix)))
    (page-selection (active-page))))

ИÑпользование процедуры в gschem:

(append-selected-attribs-suffix! "-top")  

Теперь переименуем неÑколько других атрибутов, добавив префикÑ:

append-selected-attribs-prefix.scm
(use-modules (gschem selection))
 
(define (append-selected-attribs-prefix! prefix)
  (for-each
    (lambda (object)
      (and (attribute? object)
           (set-attrib-value!
             object
             (string-append prefix (attrib-value object)))))
    (page-selection (active-page))))

ИÑпользование процедуры в gschem:

(append-selected-attribs-prefix! "A1.")  

Давайте заменим первые буквы выделенных атрибутов префикÑом:

append-selected-attribs-prefix.scm
(use-modules (gschem selection))
 
(define (replace-selected-attribs-prefix! prefix)
  (for-each
    (lambda (object)
      (and (attribute? object)
           (set-attrib-value!
             object
             (string-append
               prefix
               (string-copy (attrib-value object) 1)))))
    (page-selection (active-page))))

ИÑпользование процедуры в gschem:

(replace-selected-attribs-prefix! "C")  

Давайте переименуем выделенные атрибуты netname=, увеличив их Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð° определённое чиÑло:

add-selected-attribs-number.scm
(use-modules (gschem selection))
 
(define (add-selected-attribs-number! number)
  (for-each
    (lambda (object)
      (and (attribute? object)
           (set-attrib-value!
             object
             (number->string
               (+ (string->number (attrib-value object)) number)))))
    (page-selection (active-page))))

ИÑпользование процедуры в gschem:

(add-selected-attribs-number! 100)  

Мы могли бы задать любую функцию вмеÑто â€+â€ Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑ€Ð° ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð² Ñтой процедуре. Ðапример:

use-another-func.scm
(use-modules (gschem selection))
 
(define (use-another-func! func)
  (for-each
    (lambda (object)
      (and (attribute? object)
           (set-attrib-value!
             object
             (number->string
               (func (string->number (attrib-value object)))))))
    (page-selection (active-page))))

ИÑпользование процедуры в gschem:

(use-another-func! -)
(define (multiply-by-2 x)
  (* 2 x))
(use-another-func! multiply-by-2)
lepton-eda-1.9.10/docs/wiki/geda-suse_10.1.html0000644000175000017500000000347113634703632015664 00000000000000

Suse 10.1 install notes

These notes pertain to the latest gEDA CD install (20060825).

Prerequisites:

If you are installing gEDA onto a pre-existing SuSE system, make sure your system runs the Gnome desktop, or at least has the Gnome libraries installed. If you have a KDE desktop system, unpredictable things may happen with the installer.

When installing SuSE-10.1, click on the “change†button when YaST shows you your configuration. Select “software†→ “detailsâ€. Then add the following packages to your installation list:

  • C/C++ tools
  • Gnome development

Once these packages are installed, the installer should run to completion. You will need to let the installer become root to install gd-devel as well as WxGTK. If you don't want to do this, then install gd-devel and WxGTK manually before running the installer.

lepton-eda-1.9.10/docs/wiki/geda-csygas.ru.html0000644000175000017500000051620413634703632016167 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

СхемотехничеÑкое моделирование Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gEDA и SPICE

Stuart Brorson
Electroniscript, inc.
sdb@electroniscript.com

5 ÑÐ½Ð²Ð°Ñ€Ñ 2006 г.

ПредиÑловие
Linux ÑтановитÑÑ Ð²ÑÑ‘ более и более популÑрной платформой Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ. Ð‘Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñтам ÑообщеÑтва Ñвободного программного обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑлектричеÑких Ñхем ÑтановÑÑ‚ÑÑ Ð´Ð¾Ñтупны Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¡ÐПР профеÑÑионального качеÑтва. Предпочтительным инÑтрументарием Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñлектронных Ñхем ÑвлÑетÑÑ gEDA Suite. Теперь и в Linux доÑтупно моделирование аналоговых процеÑÑов в ÑлектричеÑких Ñхемах Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ SPICE. Ð’ наÑтоÑщем документе опиÑываетÑÑ Ð¼Ð°Ñ€ÑˆÑ€ÑƒÑ‚ проектированиÑ, иÑпользуемый Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ð¸ SPICE-Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ñ‹Ð¼Ð¸ ÑредÑтвами gEDA в Linux.

ÐаÑтоÑщий документ разрешаетÑÑ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ, раÑпроÑтранÑть и/или изменÑть под уÑловиÑми Лицензии Свободной Документации GNU1) верÑии 2 или любой более поздней, опубликованной организацией Free Software Foundation, без неизменÑемых разделов, без текÑтов передней и задней обложки. Ð’Ñ‹ можете получить копию Лицензии Свободной Документации GNU от Free Software Foundation, поÑетив её веб-Ñтраницу (http://www.fsf.org/) или напиÑав пиÑьмо по адреÑу: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.2)

Введение

Современное проектирование ÑвлÑетÑÑ Ð´Ð¸Ñциплиной, интенÑивно иÑпользующей вычиÑлительную технику. Как и ÑпециалиÑты, работающие в других Ñферах проектированиÑ, инженеры-Ñлектротехники и проектировщики Ñлектроники активно иÑпользуют вÑе виды программного обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð¡ÐПР, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ ÐºÐ°Ðº программы Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑлектричеÑких Ñхем и Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ñ… работы, так и Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ñтва печатных плат и интегральных Ñхем. СÐПР, иÑпользуемые инженерами-Ñлектротехниками, имеют оÑобое название — СÐПР Ñлектроники. Это название объединÑет разные виды программ СÐПР. Ðапример, на Ñтапе работы Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑкими ÑредÑтвами инженер Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð° проекта в компьютер иÑпользует программу ÑхемотехничеÑкого Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ â€” редактор Ñхем. Редактор Ñхем — Ñто, по ÑущеÑтву, ÑÐ¿ÐµÑ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ñ‡ÐµÑ€Ñ‚Ñ‘Ð¶Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°, Ð²ÐºÐ»ÑŽÑ‡Ð°ÑŽÑ‰Ð°Ñ Ð½Ð°Ð±Ð¾Ñ€ Ñимволов, иÑпользуемых Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñхем. ПоÑле ввода Ñхемы инженеру может быть нужно промоделировать процеÑÑÑ‹ в её цепÑÑ…, чтобы проверить, что Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð°Ñ Ð¸Ð¼ Ñхема будет работать именно так, как нужно. Ðаиболее популÑÑ€Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° Ð´Ð»Ñ Ñтих целей — SPICE (Simulation Program with Integrated Circuit Emphasis), её разрабатывали в Беркли3) Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ 70-Ñ… годов и ÑÐµÐ³Ð¾Ð´Ð½Ñ Ð¾Ð½Ð° широко доÑтупна в разных формах. Ð¡ÐµÐ¹Ñ‡Ð°Ñ SPICE ÑчитаетÑÑ Ñ„ÑƒÐ½Ð´Ð°Ð¼ÐµÐ½Ñ‚Ð°Ð»ÑŒÐ½Ñ‹Ð¼ ÑредÑтвом Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ ÑвлÑетÑÑ ÑущеÑтвенной чаÑтью занÑтий большинÑтва обучающихÑÑ Ð¸Ð½Ð¶ÐµÐ½ÐµÑ€Ð¾Ð².

Проект gEDA — работа по Ñозданию в рамках программного обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом набора программ СÐПР Ñлектроники Ð´Ð»Ñ Linux под лицензией GPL. Проект gEDA уже наÑтолько развит, что мощь и качеÑтво его программ веÑьма выÑоки; ÑÐµÐ³Ð¾Ð´Ð½Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ gEDA Suite можно Ñоздавать Ñложные ÑпиÑки Ñоединений (файлы) SPICE, включающие в ÑÐµÐ±Ñ Ñ„Ð°Ð¹Ð»Ñ‹ моделей поÑтавщиков компонентов. Затем Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñтих файлов можно производить SPICE-моделирование, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ðµ программы моделированиÑ, работающие в Linux. Цель наÑтоÑщего документа — объÑÑнить, как иÑпользовать программные ÑредÑтва gEDA (обычно работающие в Linux) Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ SPICE-моделированиÑ. Ð’ чаÑтноÑти здеÑÑŒ опиÑываетÑÑ Ð¸Ñпользование spice-sdb, продвинутого драйвера генератора ÑпиÑка Ñоединений gEDA (gnetlist), применÑемого Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑков Ñоединений SPICE. spice-sdb входит в набор программ gEDA; еÑли вы уÑтановили gEDA, то Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑков Ñоединений SPICE вÑÑ‘ уже готово. Также в наÑтоÑщем HOWTO приводÑÑ‚ÑÑ Ñоветы по иÑпользованию ngspice/tclspice и/или LTSpice Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñхем, ÑпиÑки Ñоединений Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… Ñозданы Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ spice-sdb.

Ð¦ÐµÐ»ÐµÐ²Ð°Ñ Ð°ÑƒÐ´Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ HOWTO

ÐаÑтоÑщий HOWTO не ÑвлÑетÑÑ ÑƒÑ‡ÐµÐ±Ð½Ð¸ÐºÐ¾Ð¼ по проектированию ÑлектричеÑких Ñхем или по SPICE-моделированию. Он, Ñкорее, Ñоздан Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы помочь обучающимÑÑ Ð¸Ð½Ð¶ÐµÐ½ÐµÑ€Ð°Ð¼ начать иÑпользовать gEDA Ð´Ð»Ñ SPICE-Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð° платформе Linux. ПоÑтому Ñ Ð¿Ñ€ÐµÐ´Ð¿Ð¾Ð»Ð°Ð³Ð°ÑŽ, что вы в общих чертах уже знакомы Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¾Ð¹ Ñлектронных Ñхем, механикой ввода Ñхем в программах СÐПР и SPICE-моделированием. Я также предполагаю, что вы доÑтаточно знакомы Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¾Ð¹ ÑиÑтемой GNU/Linux и Ñ ÐµÑ‘ рабочим окружением. Ðаконец, Ñ Ð¿Ñ€ÐµÐ´Ð¿Ð¾Ð»Ð°Ð³Ð°ÑŽ, что вы уже уÑтановили программы gEDA и знаете как ими пользоватьÑÑ. ЕÑли вам нужно быÑтрее набратьÑÑ Ð¾Ð¿Ñ‹Ñ‚Ð° в каком-то из указанных вопроÑов, дополнительную информацию можно найти на Ñледующих веб-Ñтраницах:

ПризнательноÑть

ÐаÑтоÑщий документ не живёт в изолÑции. Ð’ Ñоздании данного HOWTO мне помогало неÑколько активных членов ÑообщеÑтва Ñвободных СÐПР Ñлектроники. Во-первых и прежде вÑего, Paolo Nenzi, автор ngspice, взÑл мой иÑходный HOWTO и перевёл его в документ Lyx, который Ñ Ð¼Ð¾Ð³ затем перевеÑти в DocBook. СпаÑибо тебе, Paolo, за помощь в работе над Ñтим HOWTO и, что более важно, ÑпаÑибо за твою великолепную работу над ngspice! Также во главе ÑпиÑка значитÑÑ Ales Hvezda, Ð´Ð²Ð¸Ð¶ÑƒÑ‰Ð°Ñ Ñила проекта gEDA. Без него ничего из Ñтого не было бы теперь возможным; его вклад в виде программы gschem неоценим. СпаÑибо, Ales, за Ñоздание gEDA и раÑпроÑтранение по миру под лицензией GPL — ты начал революцию! Stefan Jones заÑлуживает огромной благодарноÑти за его работу над tclspice, любезную поддержку и уÑÐ¸Ð»Ð¸Ñ Ð¿Ð¾ интеграции, когда Ñ Ð¿Ñ€ÐµÐ´Ð»Ð°Ð³Ð°Ð» иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° tclspice. Я также должен поблагодарить W. Kazubski и S. Gieltjes — они напиÑали иÑходные верÑии генераторов ÑпиÑков Ñоединений SPICE, на которых оÑновываетÑÑ Ð¼Ð¾Ð¹ gnet-spice-sdb.scm. Я также хочу поблагодарить Ken Healy за добавление иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñортировки ÑпиÑка Ñоединений, и Peter Kaiser за то, что побудил Ð¼ÐµÐ½Ñ Ð²ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒ некоторые возможноÑти, полезные Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÐ³Ñ€Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ñхем. Peter заÑлуживает также благодарноÑти за напиÑание некоторых разделов данного документа, отноÑÑщихÑÑ Ðº уÑтройÑтвам. Ðаконец, Ñ Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‚ÐµÐ»ÐµÐ½ за помощь и предложениÑ, полученные от читателей ÑпиÑка раÑÑылки geda-user. ПрелеÑть Ñвободного программного обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð² том, что оно побуждает к ÑотрудничеÑтву, а Ñто значит, что конечный результат вÑегда будет лучше того, которого можно было бы доÑтичь в одиночку.

Общий обзор: маршрут Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² gEDA

Ð’ СÐПР Ñлектроники важна ÐºÐ¾Ð½Ñ†ÐµÐ¿Ñ†Ð¸Ñ Â«Ð¼Ð°Ñ€ÑˆÑ€ÑƒÑ‚Ð° проектированиÑ». gEDA — Ñто набор программных ÑредÑтв Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñлектроники, а не одно приложение. И «маршрут проектированиÑ» определÑет порÑдок иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтих ÑредÑтв Ð´Ð»Ñ Ð´Ð¾ÑÑ‚Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñ†ÐµÐ»Ð¸. Ð’ завиÑимоÑти от того, проектируете ли вы аналоговую или цифровую Ñхему, разрабатываете ли платы или интегральные Ñхемы, от того, какой тип файлов требуетÑÑ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŽ ваших плат, и от Ñ€Ñда других факторов, Ð´Ð»Ñ Ð´Ð¾ÑÑ‚Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñ†ÐµÐ»Ð¸ будут иÑпользоватьÑÑ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ðµ ÑредÑтва gEDA Suite.

Блок-Ñхема, на которой предÑтавлен маршрут Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² gEDA, показана на риÑунке ниже. Ðа блок-Ñхеме показана проÑÑ‚Ð°Ñ Ð¿Ð¾ÑледовательноÑть, Ð¿Ñ€Ð¸Ð³Ð¾Ð´Ð½Ð°Ñ Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ, Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ разводки печатных плат. Как можно увидеть, моделирование (голубые блоки) цикличеÑки повторÑетÑÑ. Это значит, что поÑле ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñхемы её моделирование производитÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ до тех пор, пока её поведение не будет ÑоответÑтвовать требуемым ÑпецификациÑм. Маршрут Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² gEDA. Ð’ блоке «Моделирование» в Ñкобках указано неÑколько разных программ, пригодных Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ. Ð’ рамках наÑтоÑщего документа Ð½Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€ÐµÑуют только SPICE-варианты (например, ngspice, tclspice).

Обзор иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ SPICE в gEDA

Концептуально SPICE-моделирование в gEDA включает Ñледующие Ñтапы:

  1. Создание и подбор Ñимволов Ñхем и файлов моделей SPICE. ЧаÑто файлы SPICE-моделей можно получить у поÑтавщика компонентов. Как правило, многие модели можно найти на веб-Ñтранице поÑтавщика.
  2. Разработка Ñхемы Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñимволов и моделей SPICE, Ñозданных на первом Ñтапе.
  3. Создание ÑпиÑка Ñоединений из Ñхемы, Ñозданной на втором Ñтапе.
  4. SPICE-моделирование Ñхемы, предÑтавленной в виде ÑпиÑка Ñоединений, Ñозданного на третьем Ñтапе.

Ðа приведённой выше блок-Ñхеме Ñти Ñтапы отмечены голубым цветом.

Чтобы Ñоздать ÑпиÑок Ñоединений SPICE, генератор ÑпиÑка Ñоединений (gnetlist) цикличеÑки проходитÑÑ Ð¿Ð¾ вÑей Ñхеме и проверÑет оÑобые чаÑти Ñимволов каждого из компонентов Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‡Ð°Ñтей кода. Как правило, Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ компонента может генерироватьÑÑ Ð¾Ð´Ð½Ð° или более Ñтрок кода SPICE. Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ компоненте, Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð°Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ñƒ ÑпиÑка Ñоединений, ÑодержитÑÑ Ð² двух меÑтах:

  1. Ð’ Ñамом Ñимволе, в атрибуте device, который прикреплÑетÑÑ Ð¿Ñ€Ð¸ Ñоздании Ñимвола и обычно редактируетÑÑ Ð² редакторе Ñимволов.
  2. Ð’ атрибутах, прикреплённых к компоненту вручную в gschem при разработке Ñхемы.

Так как генератор ÑпиÑка Ñоединений ищет информацию в двух меÑтах, необходимо обеÑпечить, чтобы Ñ‚Ñ€ÐµÐ±ÑƒÐµÐ¼Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸Ð¼ÐµÐ»Ð°ÑÑŒ в каждом из них.

Подробное изложение процеÑÑа разработки/моделированиÑ

Вот более подробный перечень шагов, необходимых Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ и Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñхем в gEDA:

  1. Создание Ñимволов Ð´Ð»Ñ Ñхемы Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ атрибутами device. (Обычно правильные атрибуты device уÑтанавливаютÑÑ Ð² процеÑÑе ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñимволов и поÑтому чаще вÑего уже заданы, но еÑли у Ð²Ð°Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ñ‹, не помешает их проверить.)
  2. Разработка Ñхемы в gschem.
  3. УÑтановка Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² SPICE-атрибутов (value, model, file, type и др.) в gschem или gattrib.
  4. УÑтановка атрибутов refdes, например Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ refdes_renum.
  5. Создание ÑпиÑка Ñоединений Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ: gnetlist -g spice-sdb.
  6. Проверка отÑутÑÑ‚Ð²Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº в ÑпиÑке Ñоединений (производитÑÑ Ð²Ñ€ÑƒÑ‡Ð½ÑƒÑŽ, нужно открыть и внимательно проÑмотреть Ñодержимое файла).
  7. ЗапуÑк программы SPICE-моделированиÑ, такой как, например, LTSpice, ngspice или tclspice.
  8. ПоÑтроение графиков и анализ результатов (чаÑто ÑредÑтва поÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð² и анализа вÑтроены в программу моделированиÑ).
  9. ЕÑли вы недовольны характериÑтиками Ñвоей Ñхемы, выÑвленными при моделировании, можете вернутьÑÑ Ðº шагу 2, подправить Ñхему в gschem и далее цикличеÑки повторÑть Ñтот процеÑÑ Ð´Ð¾ доÑÑ‚Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð½ÑƒÐ¶Ð½Ð¾Ð³Ð¾ результата.

Цель наÑтоÑщего документа ÑоÑтоит в том, чтобы дать вам чёткое понимание деталей данного процеÑÑа, необходимое Ð´Ð»Ñ ÐµÐ³Ð¾ уÑпешного направлениÑ.

ÐŸÐ¾Ð´Ð³Ð¾Ñ‚Ð¾Ð²Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð°: подготовка Ñимволов и файлов SPICE

При Ñоздании Ñимволов Ð´Ð»Ñ Ñхемы нужно обеÑпечить, чтобы некоторые вÑтроенные атрибуты были заданы правильно. Приводимые ниже Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ‚Ð°ÐºÐ¾Ð³Ð¾ рода оÑущеÑтвлÑÑŽÑ‚ÑÑ Ð»Ð¸Ð±Ð¾ редактированием нужного Ñимвола в графичеÑком интерфейÑе редактора Ñимволов gschem, либо редактированием файла Ñимвола в текÑтовом редакторе.

ÐаÑтройка Ñимволов

Ð˜Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð° генератором ÑпиÑков Ñоединений

Генератор ÑпиÑка Ñоединений SPICE может идентифицировать любой конкретный Ñимвол по одному из двух атрибутов:

  1. device или
  2. refdes.

Каждый из них прикреплÑетÑÑ Ðº Ñимволу во Ð²Ñ€ÐµÐ¼Ñ ÐµÐ³Ð¾ ÑозданиÑ.

К каждому Ñимволу прикреплён атрибут device. Этот атрибут генератор ÑпиÑка Ñоединений проверÑет при обработке Ñимвола первым. ЕÑть неÑколько поддерживаемых генератором ÑпиÑка Ñоединений уÑтройÑтв («родных» Ð´Ð»Ñ Ð½ÐµÐ³Ð¾), имеетÑÑ Ð² виду, что генератор точно знает, как обходитьÑÑ Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸ типами уÑтройÑтв. ÐепоÑредÑтвенно поддерживаютÑÑ RESISTOR, CAPACITOR, NPN_TRANSISTOR и Ñ‚. д. Полный ÑпиÑок поддерживаемых уÑтройÑтв предÑтавлен в Приложении A.

Обычно при работе в gschem атрибуты device оÑтаютÑÑ Ñкрытыми. Чаще вÑего правильные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñтих атрибутов уже заданы в Ñимволах их авторами. Ðо поÑкольку атрибут device Ñкрыт от обычного пользователÑ, он может иногда ÑвлÑтьÑÑ Ð¿Ñ€Ð¸Ñ‡Ð¸Ð½Ð¾Ð¹ проблем при Ñоздании ÑпиÑка Ñоединений SPICE, еÑли уÑтановлен в непредвиденное значение. Чтобы увидеть атрибуты device, нужно перейти в редактор Ñимволов (выделить Ñимвол Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ из меню выбрать Ð˜ÐµÑ€Ð°Ñ€Ñ…Ð¸Ñ â†’ Внутрь Ñимвола, а затем переключить видимоÑть атрибутов (Правка → Показать/Скрыть невидимый текÑÑ‚). Можно также открыть файл Ñтого Ñимвола в текÑтовом редакторе и, еÑли атрибут device неправилен, изменить его там.

ЕÑли Ñимвол не поддерживаетÑÑ (то еÑть генератор ÑпиÑка Ñоединений не находит ÑоответÑтвующего вÑтроенного типа), то чтобы определить, как его обрабатывать, генератор опираетÑÑ Ð½Ð° первую букву Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° refdes. ÐŸÑ€ÐµÑ„Ð¸ÐºÑ (Ð¿ÐµÑ€Ð²Ð°Ñ Ñ‡Ð°Ñть) Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ refdes также вÑтраиваетÑÑ Ð² Ñимвол при его Ñоздании. Примерами префикÑов refdes ÑвлÑÑŽÑ‚ÑÑ R Ð´Ð»Ñ Ñ€ÐµÐ·Ð¸Ñторов, C Ð´Ð»Ñ ÐºÐ¾Ð½Ð´ÐµÐ½Ñаторов, Q Ð´Ð»Ñ Ñ‚Ñ€Ð°Ð½Ð·Ð¸Ñторов и Ñ‚. д. Правильные префикÑÑ‹ Ð´Ð»Ñ SPICE перечиÑлены в Приложении A. Заметьте, что опиратьÑÑ Ð½Ð° refdes Ð´Ð»Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ компонента в SPICE небезопаÑно, — по его значению генератор ÑпиÑка Ñоединений не Ñможет, например, различить транзиÑторы Ñтруктуры NPN и PNP. ПоÑтому в Ñвоих Ñимволах лучше вÑего вÑегда иÑпользовать атрибут device, Ð·Ð°Ð´Ð°Ð²Ð°Ñ Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ значение, поддерживаемое генератором.

ÐаÑтройка очерёдноÑти выводов

Выводы компонента выдаютÑÑ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ ÑпиÑка Ñоединений в порÑдке, заданном поÑредÑтвом атрибутов pinseq. Заметьте, что он не тождеÑтвенен порÑдку физичеÑкого раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð². Ð”Ð»Ñ ÑƒÑтановки атрибутов pinseq Ñначала Ñледует определить нужный вам порÑдок выводов. Ð’ SPICE Ð´Ð»Ñ Ð¼Ð½Ð¾Ð³Ð¸Ñ… компонентов, в том чиÑле Ð´Ð»Ñ Ð´Ð¸Ð¾Ð´Ð¾Ð² и транзиÑторов, иÑпользуетÑÑ Ð¾Ñобый порÑдок выводов. Ðапример, выводы биполÑрного транзиÑтора перечиÑлÑÑŽÑ‚ÑÑ Ð² порÑдке CBE (коллектор-база-Ñмиттер). Другой пример: еÑли ваш Ñимвол должен предÑтавлÑть интегральную Ñхему (ИС) Ñ Ð¼Ð¾Ð´ÐµÐ»ÑŒÑŽ в виде файла .subckt поÑтавщика, то порÑдок Ñоединений Ð´Ð»Ñ Ñтой подÑхемы уÑтанавливаетÑÑ Ð² файле Ñтрокой .subckt.

Как только вы узнали порÑдок выдачи выводов Ð´Ð»Ñ Ñлектронного компонента, проÑто задайте правильную поÑледовательноÑть в их атрибутах pinseq. Таким образом и будет обеÑпечен правильный порÑдок.

ÐаÑтройка файлов SPICE

Файлы, Ñодержащие Ñложные модели или другой код SPICE, могут быть вÑтроены в результирующий ÑпиÑок Ñоединений при добавлении в Ñхему ÑоответÑтвующих Ñимволов. Файлы моделей SPICE обычно можно найти у поÑтавщиков компонентов. Работа Ñ Ð½Ð¸Ð¼Ð¸ проÑта. Тем не менее при подготовке моделей Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð½Ñ†Ð¸Ð¿Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð¹ Ñхемы некоторые моменты вÑÑ‘ же Ñтоит иметь в виду:

  • Обычно целеÑообразно помещать Ñти файлы в Ñпециально отведённый Ð´Ð»Ñ Ð½Ð¸Ñ… каталог, отличный от каталогов Ñимволов.
  • УдоÑтоверьтеÑÑŒ, что выводы в файлах SPICE и в Ñимволах компонентов имеют одинаковое назначение! ВажноÑть Ñтого правила трудно переоценить. ПорÑдок, в котором выводы перечиÑлены в файле .subckt необÑзательно ÑоответÑтвует порÑдку их физичеÑкого раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð°. Как опиÑано выше, выводы выдаютÑÑ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ ÑпиÑка Ñоединений в порÑдке, заданном атрибутами pinseq.
  • УдоÑтоверьтеÑÑŒ, что поÑледним Ñимволом в файле SPICE-модели ÑвлÑетÑÑ Ð¿ÐµÑ€ÐµÐ²Ð¾Ð´ Ñтроки. ЕÑли перевода Ñтроки нет, то Ñтрока Ñледующего компонента ÑпиÑка Ñоединений может оказатьÑÑ Ð² той же Ñтроке, что была поÑледней в файле SPICE-модели.

Создание Ñхемы Ñвоего уÑтройÑтва: ÑхемотехничеÑкое проектирование

СхемотехничеÑкое проектирование — Ñто процеÑÑ, в котором иÑпользуетÑÑ ÑÐ¿ÐµÑ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ñ‡ÐµÑ€Ñ‚Ñ‘Ð¶Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°-редактор Ð´Ð»Ñ Ð²Ñ‹Ñ‡ÐµÑ€Ñ‡Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€ÑƒÐµÐ¼Ð¾Ð¹ Ñхемы. Ð’ окружении gEDA Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ принципиальных Ñхем иÑпользуетÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° gschem. Я предполагаю, что вы уже знаете, как иÑпользовать gschem. ЕÑли нет, обратитеÑÑŒ к документации, доÑтупной на веб-Ñайте gEDA: http://www.geda-project.org/. Чтобы Ñоздать ÑпиÑок Ñоединений SPICE, вам будет нужно прикрепить к компонентам необходимые атрибуты в gschem и, возможно, включить в Ñвой ÑпиÑок Ñоединений ещё и дополнительные директивы SPICE. ПоÑле Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñхемы вам будет нужно Ñоздать ÑпиÑок Ñоединений SPICE, запуÑтив Ð´Ð»Ñ Ð½ÐµÑ‘ генератор ÑпиÑка Ñоединений gEDA gnetlist.

Ðтрибуты gschem Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑков Ñоединений SPICE

Ð’ gschem еÑть неÑколько вариантов привÑзки атрибутов SPICE к компонентам. Вариант, который выберете вы, завиÑит от многих факторов, в том чиÑле от типа компонента, размера и формата SPICE-модели.

Ðтрибуты компонентов и их значение

ЗдеÑÑŒ приведены те атрибуты, что имеют значение при Ñоздании ÑпиÑков Ñоединений SPICE и могут быть прикреплены к Ñимволам компонентов в gschem:

  • refdes: позиционное обозначение компонента. ДопуÑтимые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð·Ð°Ð²Ð¸ÑÑÑ‚ от типа компонента и приведены в Приложении A;
  • value: Ð´Ð»Ñ Ð¿Ð°ÑÑивных компонентов — Ñто значение физичеÑкой величины компонента (ÑопротивлениÑ, индуктивноÑти, ёмкоÑти), Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð½Ñ‹Ñ… — Ñто тип (номер модели) компонента (например, 2N3904, uA741). ЕÑли модель активного компонента добавлÑетÑÑ Ð² Ñхему как отдельный объект, в атрибуте value Ñимвола компонента должно быть указано её название;
  • model: одноÑÑ‚Ñ€Ð¾Ñ‡Ð½Ð°Ñ SPICE-модель компонента;
  • file: Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°. Обычно Ñто файл, Ñодержащий, например, .MODEL, .SUBCKT, или другой код SPICE;
  • model-name: название SPICE-модели, вызываемой из оператора .MODEL или .SUBCKT. model-name иÑпользуетÑÑ Ð³Ð»Ð°Ð²Ð½Ñ‹Ð¼ образом Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ SPICE-модели в Ñимволе spice-model-1.sym. При привÑзке активного компонента к конкретной модели или к подÑхеме её название должно вызыватьÑÑ Ð¸Ð· атрибута device, а не из model-name;
  • type: ОпределÑет тип компонента и иÑпользуетÑÑ Ð² SPICE при интерпретации параметров модели. ДопуÑтимые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð·Ð°Ð²Ð¸ÑÑÑ‚ от моделируемого уÑтройÑтва.

Ð¡Ð¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾ позиционным обозначениÑм

Ð”Ð»Ñ Ñ‚Ñ€Ð°ÐºÑ‚Ð¾Ð²ÐºÐ¸ отноÑÑщихÑÑ Ðº SPICE атрибутов генератору ÑпиÑка Ñоединений нужно, чтобы к каждому компоненту Ñхемы был прикреплён атрибут refdes. Этот атрибут может уÑтанавливатьÑÑ Ð»Ð¸Ð±Ð¾ вручную (что утомительно), либо Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ входÑщей в диÑтрибутив gEDA программы refdes_renum.

Учтите, что первые буквы refdes должны ÑоответÑтвовать буквам, указанным в Ñоглашении по позиционным обозначениÑм Ð´Ð»Ñ SPICE-моделированиÑ. Это Ñоглашение приведено в таблице 1 Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ A.

ПаÑÑивные компоненты

Базовые паÑÑивные компоненты

Ðаиболее чаÑто в SPICE приходитÑÑ Ð¸Ð¼ÐµÑ‚ÑŒ дело Ñ Ð±Ð°Ð·Ð¾Ð²Ñ‹Ð¼Ð¸ паÑÑивными компонентами, такими как резиÑторы и конденÑаторы, которым кроме чиÑловых значений никаких дополнительных атрибутов Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ задаётÑÑ. Ð”Ð»Ñ Ð½Ð¸Ñ… должны быть заданы Ñледующие атрибуты:

  • refdes: точное позиционное обозначение компонента;
  • value: Ð´Ð»Ñ Ð¿Ð°ÑÑивных Ñлементов Ñто чиÑловое значение физичеÑкой величины компонента, а именно ÑопротивлениÑ, ёмкоÑти или индуктивноÑти (например, 100pF). Этот атрибут может задаватьÑÑ Ð¸ Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð½Ñ‹Ñ… компонентов, но еÑли где-то в Ñхеме нет атрибута model, атрибут value не иÑпользуетÑÑ (во вÑÑком Ñлучае Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑков Ñоединений SPICE).

ЕÑли у компонента кроме refdes и value других атрибутов нет, генератор ÑпиÑка Ñоединений запишет в выходной файл только одну Ñтроку.

Пример: резиÑтор
  • refdes = R2
  • value = 220

Ð ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð¸Ñ€ÑƒÑŽÑ‰Ð°Ñ Ñтрока SPICE: R2 0 4 220
(обратите внимание, что «0» и «4» — Ñто имена узлов подключенных к компоненту Ñоединений, генерируемые программой gnetlist автоматичеÑки.)

Пример: конденÑатор
  • refdes = C22
  • value = 1UF

Ð ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð¸Ñ€ÑƒÑŽÑ‰Ð°Ñ Ñтрока SPICE: C22 4 23 1UF

ПаÑÑивные компоненты Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¼Ð¸ атрибутами

ЧаÑто при SPICE-моделировании Ð´Ð»Ñ Ð¿Ð°ÑÑивных компонентов задаютÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ðµ атрибуты. Ð’ качеÑтве примера можно назвать атрибуты Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ñ‚ÐµÐ¼Ð¿ÐµÑ€Ð°Ñ‚ÑƒÑ€Ð½Ñ‹Ñ… коÑффициентов Ñопротивлений резиÑторов и иÑходного ÑоÑтоÑÐ½Ð¸Ñ Ð´Ð»Ñ Ñ€ÐµÐ°ÐºÑ‚Ð¸Ð²Ð½Ñ‹Ñ… компонентов. Чтобы включить Ñти атрибуты в результирующий файл SPICE, их нужно проÑто пропиÑать как значение атрибута model компонента. Вот, ÑобÑтвенно, перечень необходимых атрибутов:

  • refdes: точное позиционное обозначение компонента;
  • value: как вÑегда чиÑловое значение физичеÑкой величины компонента;
  • model: одна Ñтрока дополнительных параметров в допуÑтимом Ð´Ð»Ñ SPICE формате.

Эта Ñтрока включаетÑÑ Ð² генерируемую программой gnetlist Ñтроку Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð° поÑле Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ величины. ПоÑтому важно, чтобы Ñтрока Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° model задавалаÑÑŒ в виде допуÑтимого кода SPICE. Иначе вы риÑкуете вызвать ругань программы моделированиÑ.

Пример: резиÑтор
  • refdes = R5
  • value = 1MEG
  • model = TC=0.001,0.015

Ð ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð¸Ñ€ÑƒÑŽÑ‰Ð°Ñ Ñтрока SPICE: R5 0 2 1MEG TC=0.001,0.015

ПаÑÑивные компоненты Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑƒÐ¿Ñ€Ð¾Ð²Ð¾Ð´Ð½Ð¸ÐºÐ¾Ð²

При разработке ASIC Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² резиÑторов и конденÑаторов чаÑто иÑпользуютÑÑ Ð¸Ñ… размеры. Программа SPICE берёт из технологичеÑкой библиотеки типичное удельное значение физичеÑкой величины и Ñама раÑÑчитывает фактичеÑкое значение ÑÐ¾Ð¿Ñ€Ð¾Ñ‚Ð¸Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ ёмкоÑти ÑоответÑтвенно в омах или фарадах. ПоÑтому в Ñтом Ñлучае требуютÑÑ Ñледующие атрибуты:

  • refdes: точное позиционное обозначение компонента;
  • model-name: ÑоответÑтвует модели в технологичеÑкой библиотеке;
  • w, l: размеры уÑтройÑтва.

ТехнологичеÑÐºÐ°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ° должна быть подключена во входном файле SPICE Ñтрокой .include.

Пример: полупроводниковый резиÑтор
  • refdes = R6
  • model-name = rpoly
  • w = 3u
  • l = 100u

Ð ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð¸Ñ€ÑƒÑŽÑ‰Ð°Ñ Ñтрока SPICE: R6 0 5 rpoly w=3u l=100u

Пример: модель полупроводникового резиÑтора
  • model rpoly R rsh=300

Это должно быть чаÑтью технологичеÑкой библиотеки вашего поÑтавщика ASIC.

ТранзиÑторы и диоды

С транзиÑторами и диодами обычно идёт модель, ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸Ñ‡Ð½Ð°Ñ Ð´Ð»Ñ ÑƒÑтройÑтва. ÐšÐ°Ð¶Ð´Ð°Ñ Ð¼Ð¾Ð´ÐµÐ»ÑŒ должна предÑтавлÑть детальную нелинейную динамику конкретного уÑтройÑтва, иначе моделирование терÑет ÑмыÑл. SPICE-модель может быть или в виде краткого, одноÑтрочного опиÑаниÑ, или в виде многоÑтрочного набора параметров. Типичным одноÑтрочным опиÑанием ÑвлÑетÑÑ Ð¿ÐµÑ€ÐµÑ‡ÐµÐ½ÑŒ параметров Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð¸Ñтик малоÑигнального диода. Типичные многоÑтрочные модели поÑтавлÑÑŽÑ‚ÑÑ Ð¿Ð¾Ñтавщиками компонентов, которые Ð´Ð»Ñ Ñвоих компонентов чаÑто предлагают текÑтовые файлы моделей. Так как Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ в SPICE ÑущеÑтвует два широко раÑпроÑтранённых формата, то имеетÑÑ Ð¸ два подхода Ð´Ð»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñтих параметров в Ñхему:

ОдноÑтрочное опиÑание параметров SPICE

Чтобы в ÑпиÑок Ñоединений включить одноÑтрочное опиÑание параметров SPICE, к компоненту должны быть прикреплены Ñледующие атрибуты:

  • refdes: точное позиционное обозначение компонента;
  • value: номер модели или тип (номер) прибора Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð°.
  • model-name: желаемое название Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ SPICE-модели. Ð”Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð° Ñто обычно номер модели или тип (номер) прибора. ЕÑли вы уже прикрепили к компоненту атрибут value, Ñтот параметр необÑзателен.
  • model: одна Ñтрока, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ðµ параметры. Ðе помещайте параметры модели в Ñкобки — gnetlist Ñам Ñто Ñделает за ваÑ.
Пример: диод
  • refdes = D5
  • model-name = 1N1004
  • model = IS=0.5UA RS=6 BV=5.20

Ð ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð¸Ñ€ÑƒÑŽÑ‰Ð°Ñ Ñтрока SPICE: D5 2 6 1N1004 MODEL 1N1004 D (IS=0.5UA RS=6 BV=5.20)

Файл SPICE-модели

Чтобы включить в ÑпиÑок Ñоединений файл Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸ SPICE, к компоненту должны быть прикреплены Ñледующие атрибуты:

  • refdes: точное позиционное обозначение компонента;
  • value: номер модели или тип (номер) прибора Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð°.
  • model-name: желаемое название Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ SPICE-модели. Ð”Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð° Ñто обычно номер модели или тип (номер) прибора. ЕÑли вы уже прикрепили к компоненту атрибут value, Ñтот параметр необÑзателен.
  • file: Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° той SPICE-модели, которую нужно включить в ÑпиÑок Ñоединений. Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° может быть задано в виде отноÑительного или абÑолютного пути, но во избежание проблем при возможном перемещении Ñвоего каталога Ñо Ñхемами лучше, вероÑтно, иÑпользовать абÑолютный путь.

Учтите, вам Ñледует убедитьÑÑ, что в файле вашей SPICE-модели указано то же Ñамое название модели, что и в прикреплённых к компоненту атрибутах value или model-name. К тому же неплохо бы проверить, что выводы в файле SPICE-модели и в Ñимволе компонента имеют одинаковое назначение.

Ðктивные компоненты - интегрированные Ñхемы

Интегрированные Ñхемы включаютÑÑ Ð² ÑпиÑок Ñоединений подобно транзиÑторам и диодам. ФактичеÑки код SPICE можно включать или как одноÑтрочное опиÑание параметров или в виде файла модели.

ОдноÑтрочное опиÑание параметров SPICE

Ð”Ð»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð² ÑпиÑок Ñоединений одноÑтрочного опиÑÐ°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² SPICE к компоненту должны быть прикреплены Ñледующие атрибуты:

  • refdes: точное позиционное обозначение компонента;
  • value: номер модели или тип (номер) прибора Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð°.
  • model-name: желаемое название Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ SPICE-модели. Ð”Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð° Ñто обычно номер модели или тип (номер) прибора. ЕÑли вы уже прикрепили к компоненту атрибут value, Ñтот параметр необÑзателен.
  • model: одна Ñтрока, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ðµ параметры. Ðе помещайте параметры модели в Ñкобки — gnetlist Ñам Ñто Ñделает за ваÑ.

SPICE-модель .MODEL или файл .SUBCKT

Ð”Ð»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð² ÑпиÑок Ñоединений файла опиÑÐ°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² SPICE к компоненту должны быть прикреплены Ñледующие атрибуты:

  • refdes: точное позиционное обозначение компонента; обратите внимание, что еÑли файл Ñодержит .MODEL, refdes должно начинатьÑÑ Ñ U; еÑли файл Ñодержит .SUBCKT, refdes должно начинатьÑÑ Ñ X. Генератор ÑпиÑка Ñоединений проверÑет тип файла и пытаетÑÑ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ его правильно, но еÑли вы не Ñледуете Ñтому правилу, могут возникнуть проблемы.
  • value: номер модели или тип (номер) прибора Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð°.
  • model-name: желаемое название Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ SPICE-модели. Ð”Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð° Ñто обычно номер модели или тип (номер) прибора. ЕÑли вы уже прикрепили к компоненту атрибут value, Ñтот параметр необÑзателен.
  • file: Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° Ñодержащего .MODEL или .SUBCKT, который нужно включить в ÑпиÑок Ñоединений. Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° может быть задано в виде отноÑительного или абÑолютного пути, но во избежание проблем при возможном перемещении Ñвоего каталога Ñо Ñхемами, вероÑтно, лучше иÑпользовать абÑолютный путь.

Учтите, вам Ñледует убедитьÑÑ, что в файле вашей SPICE-модели указано то же Ñамое название модели, что и в прикреплённых к компоненту атрибутах value или model-name. К тому же неплохо бы проверить, что выводы в файле SPICE-модели и в Ñимволе компонента имеют одинаковое назначение.

ÐезавиÑимые иÑточники

ЕÑть два вида незавиÑимых иÑточников: иÑточники напрÑÐ¶ÐµÐ½Ð¸Ñ Ð¸ иÑточники тока. Оба типа включаютÑÑ Ð² ÑпиÑок Ñоединений SPICE одинаково. Ð”Ð»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð² Ñвой ÑпиÑок Ñоединений незавиÑимого иÑточника нужно Ñделать Ñледующее:

  1. ПомеÑтить незавиÑимый иÑточник в Ñвою Ñхему. (Выберите Добавить → Компонент → spice → <Ð¸Ð¼Ñ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимого иÑточника>.sym)
  2. Дважды щёлкнуть по блоку и добавить/отредактировать Ñледующие атрибуты:
    • refdes: V? или I?;
    • value: одноÑтрочное опиÑание иÑточника в формате SPICE.

ЗавиÑимые иÑточники

ЕÑть четыре завиÑимых иÑточника:

  • иÑточник напрÑжениÑ, управлÑемый током («current controlled voltage source», CCVS);
  • иÑточник тока, управлÑемый током («current controlled current source», CCCS);
  • иÑточник напрÑжениÑ, управлÑемый напрÑжением («voltage controlled voltage source», VCVS);
  • иÑточник тока, управлÑемый напрÑжением («voltage controlled current source», VCCS).

Ð’Ñе они включаютÑÑ Ð² ÑпиÑок Ñоединений SPICE одинаково. Ð”Ð»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸Ñточника в ÑпиÑок Ñоединений SPICE нужно Ñделать Ñледующее:

  1. ПомеÑтить завиÑимый иÑточник в Ñвою Ñхему. (Выберите Добавить → Компонент → spice → <Ð¸Ð¼Ñ Ð·Ð°Ð²Ð¸Ñимого иÑточника>.sym). Ð”Ð»Ñ Ñтого подойдут Ñимволы Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸, ÑвлÑющимиÑÑ ÑокращениÑми типа иÑточника (то еÑть ccvs-1.sym, cccs-1.sym, vcvs-1.sym и vccs-1.sym).
  2. Дважды щёлкнуть по блоку и добавить/отредактировать Ñледующие атрибуты:
    • refdes: H?, F?, E? или G?. Правильные префикÑÑ‹ refdes, ÑоответÑтвующие данным типам иÑточников, перечиÑлены в приложении A;
    • value: одноÑтрочное опиÑание иÑточника в формате SPICE. Обычно атрибут value предÑтавлÑет Ñобой коÑффициент уÑÐ¸Ð»ÐµÐ½Ð¸Ñ Ð¸Ñточника в ÑоответÑтвующих его типу единицах измерениÑ.

Ðуллор

Ðуллор - Ñто идеальный Ñлемент, ÑоÑтоÑщий из нуллатора и норатора, имеющий нулевое входное и беÑконечное выходное Ñопротивление, беÑконечные коÑффициенты уÑÐ¸Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ току и напрÑжению, беÑконечные проходную проводимоÑть и передаточное Ñопротивление и параметры передачи равные нулю. Ðуллор ÑвлÑетÑÑ ÑƒÐ½Ð¸Ð²ÐµÑ€Ñальным активным Ñлементом, то еÑть в идеале Ñ ÐµÐ³Ð¾ помощью можно реализовать любые линейные или нелинейные функции при наличии подходÑщего набора линейных и нелинейных паÑÑивных Ñлементов. Ð’ чаÑтноÑти Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ нуллора, резиÑторов и конденÑаторов формируетÑÑ Ð¿Ð¾Ð»Ð½Ñ‹Ð¹ набор линейных Ñхем.

Ðуллор в завиÑимоÑти от Ñхемы Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚ иÑпользоватьÑÑ Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° или Ñинтеза реальных Ñхем, что доÑтигаетÑÑ Ð·Ð°Ð¼ÐµÐ½Ð¾Ð¹ реальных операционных уÑилителей, токовых конвейеров, уÑилительных триодов (ламп или транзиÑторов) нуллорами и небольшим набором паÑÑивных Ñлементов, отражающих их параметры. Идеальные транзиÑторы на оÑнове нуллора уÑпешно иÑпользуютÑÑ Ð² моделировании по переменному току Ð´Ð»Ñ Ñинтеза различных ÑоÑтавных транзиÑторных Ñхем и ÑоÑтавных транзиÑторов. Схемы Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ð¼Ð¸ уÑилителÑми на базе нуллора иÑпользуютÑÑ Ð´Ð»Ñ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¹ фильтров. СущеÑтвуют также методики Ð´Ð»Ñ Ð²ÐµÑ€Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸, автоматичеÑкой диагноÑтики ошибок, автоматичеÑкой наÑтройки ÑÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² аналоговых Ñхемах и Ñ‚. д.

Ðуллор в SPICE

При отÑутÑтвии модели нуллора в программе Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½ÑƒÐ»Ð»Ð¾Ñ€ можно Ñмоделировать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ завиÑимого иÑточника Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð¼ значением коÑффициента уÑилениÑ, например 109. Тип завиÑимого иÑточника (ИÐУÐ, ИТУÐ, ИÐУТ или ИТУТ) выбираетÑÑ Ð² завиÑимоÑти от оцениваемого входного Ñигнала, напрÑÐ¶ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ тока и нужного выходного Ñигнала. УправлÑемый иÑточник Ñ Ð±ÐµÑконечным уÑилением любого из указанных четырёх типов завиÑимых иÑточников предÑтавлÑет Ñобой Ñквивалент нуллора.

Трёх-выводной нуллор может иÑпользоватьÑÑ Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ переменному току идеальных транзиÑторов и других триодов. Идеальный операционный уÑилитель реализуетÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ иÑточника напрÑжениÑ, управлÑемого напрÑжением, Ñ Ð±ÐµÑконечным (фактичеÑки, доÑтаточно большим) коÑффициентом уÑилениÑ. Токовый конвейер (CCII) ÑвлÑетÑÑ Ñквивалентом трёх-выводного нуллора.

Обычно нуллор иÑпользуетÑÑ Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² малоÑигнальном чаÑтотном анализе (в чаÑтотном домене). При наличии отрицательной обратной ÑвÑзи нуллор может иÑпользоватьÑÑ ÐºÐ°Ðº идеальный операционный уÑилитель даже Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð³Ð¾ анализа (Ñм. пример ниже).

Ðуллор в gEDA

Ð’ ngspice и gnucap Ñпециальной модели Ð´Ð»Ñ Ð½ÑƒÐ»Ð»Ð¾Ñ€Ð° нет. ПоÑтому в качеÑтве нуллора в spice-sdb иÑпользуетÑÑ Ð˜ÐÐ£Ð Ñ Ð²Ñ‹Ñоким коÑффициентом уÑилениÑ.

Ð”Ð»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð½ÑƒÐ»Ð»Ð¾Ñ€Ð° в ÑпиÑок Ñоединений SPICE нужно Ñделать Ñледующее:

  1. ПомеÑтить нуллор в Ñвою Ñхему. (Выберите Добавить → Компонент → spice → nullor-1.sym).
  2. Дважды щёлкнуть по блоку и добавить/отредактировать Ñледующие атрибуты:
    • refdes: N?
    • value: задаётÑÑ ÐºÐ¾Ñффициент уÑÐ¸Ð»ÐµÐ½Ð¸Ñ Ð½ÑƒÐ»Ð»Ð¾Ñ€Ð° по напрÑжению, обычно 1000Meg (необÑзателен Ñ Ð²ÐµÑ€Ñии geda-gaf 1.9.2).
Пример: нуллор
  • refdes=N1
  • value=1000Meg

Результирующие Ñтроки SPICE:

E_N1 1 2 3 4 1000Meg
IMeasure_N1 3 4 dc 0
IOut_N1 1 2 dc 0

Этот код Ñодержит:

  • управлÑемый иÑточник напрÑÐ¶ÐµÐ½Ð¸Ñ E_N1;
  • иÑточник тока, измерÑющий напрÑжение IMeasure_N1;
  • выходной иÑточник тока IOut_N1.

Таким образом код нуллора в gnet-spice-sdb — Ñто проÑто завиÑимый от напрÑÐ¶ÐµÐ½Ð¸Ñ Ð¸Ñточник напрÑжениÑ, на входе и на выходе которого ÑтоÑÑ‚ нулевые иÑточники тока Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾Ñ‚Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ñ‚ÐºÐ°Ð·Ð° в работе программы моделированиÑ, когда вход или выход нуллора ни к чему не подключены.

Примечание: в результате ÑкÑпериментов Ñ (vzh) обнаружил, что наличие или отÑутÑтвие Ñтих иÑточников никак не влиÑет на моделирование и не решает поÑтавленной задачи Ð´Ð»Ñ Ñовременной верÑии ngspice. Ð’ Ñлучае, когда вход или выход нуллора ÑвлÑетÑÑ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð¸Ð¼, то еÑть не имеет какого-либо ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ Ð·ÐµÐ¼Ð»Ñ‘Ð¹, ngspice вÑÑ‘ же выдаÑÑ‚ ошибку. Ð”Ð»Ñ ÑƒÑÑ‚Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¸ можно подключить одну из Ñтих входных или выходных точек к земле через выÑокоомный резиÑтор. gnucap вÑегда правильно обÑчитывает нуллор, но в таком Ñлучае на не ÑвÑзанных Ñ Ð·ÐµÐ¼Ð»Ñ‘Ð¹ узлах будет произвольно менÑющееÑÑ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ðµ напрÑжение, так что измерÑть необходимо не потенциал отдельных узлов отноÑительно земли, а именно напрÑжение на входе или выходе нуллора.

ЕÑли нужен нуллор Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼ типом чувÑтвительноÑти, его можно Ñделать на оÑнове Ñимвола любого из управлÑемых иÑточников (одного из vcvs-1.sym, vccs-1.sym, cccs-1.sym, ccvs-1.sym), проÑто уÑтановив доÑтаточно большое значение атрибута value, Ñкажем, «1000Meg».

Пример Ñхемы - Ñумматор

Ð’ данном примере нуллор иÑпользуетÑÑ Ð² качеÑтве модели идеального операционного уÑилителÑ.

Файл Ñхемы Ð´Ð»Ñ gschem: summing.sch

Командный файл Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² gnucap и/или ngspice:

summing.cmd
.print tran v(nodes)
.tran .0001 1 0 >summing.dat

Обратите внимание на чаÑть Ñтроки >summing.dat в командном файле. Она игнорируетÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹ ngspice, в то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº gnucap иÑпользует её Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° данных в указанный файл в пакетном режиме (при иÑпользовании Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ оболочки выходные данные были бы выведены вмеÑте Ñо Ñтроками Ð¿Ñ€Ð¸Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ gnucap, что нам не нужно.

Команда Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑка Ñоединений (обратите внимание на ключ sort_mode, он необходим, чтобы программа gnucap работала правильно):

gnetlist -g spice-sdb -O sort_mode -o summing.net summing.sch

Команда Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ngspice:

ngspice -b -r summing.dat summing.net

Команда Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gnucap:

gnucap -b summing.net

Команда Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра полученных Ñигналов:

gwave summing.dat

Компоненты SPICE

Блок SPICE-модели

Ð’ некоторых ÑлучаÑÑ… может быть желательно внедрить блок SPICE-модели непоÑредÑтвенно в Ñхему. Это можно Ñделать, когда у Ð²Ð°Ñ ÐµÑть неÑколько уÑтройÑтв Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¼Ð¸ value, в которых вызываетÑÑ Ð¾Ð´Ð½Ð° и та же SPICE-модель. Ð’ завиÑимоÑти от того, ÑвлÑетÑÑ Ð»Ð¸ блок SPICE одноÑтрочным или многоÑтрочным, код можно вÑтроить одним из двух ÑпоÑобов:

ОдноÑÑ‚Ñ€Ð¾Ñ‡Ð½Ð°Ñ SPICE-модель
  1. ПомеÑтите блок SPICE-модели в Ñвою Ñхему. (Выберите Добавить → Компонент → spice → spice-model-1.sym)
  2. Дважды щёлкните по блоку и добавьте/отредактируйте Ñледующие атрибуты:
    • refdes: A?
    • model-name: название модели (Ñ‚. е. название, задаваемое в компонентах, работа которых будет моделироватьÑÑ)
    • type: один из допуÑтимых типов компонентов, определённых в Ñпецификации SPICE.
    • model: ÑоответÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ð¾Ð´Ð½Ð¾ÑÑ‚Ñ€Ð¾Ñ‡Ð½Ð°Ñ SPICE-модель.
МногоÑÑ‚Ñ€Ð¾Ñ‡Ð½Ð°Ñ SPICE-модель
  1. ПомеÑтите блок SPICE-модели в Ñвою Ñхему. (Выберите Добавить → Компонент → spice → spice-model-1.sym)
  2. Дважды щёлкните по блоку и добавьте/отредактируйте Ñледующие атрибуты:
    • refdes: A?
    • model-name: название модели
    • file: Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°, Ñодержащего код SPICE-модели (Ñ‚. е. .MODEL или .SUBCKT).

Блок включениÑ

Блок Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð±Ð°Ð²Ð»Ñет в ÑпиÑок Ñоединений директиву .INCLUDE.

  1. ПомеÑтите блок SPICE-модели в Ñвою Ñхему. (Выберите Добавить → Компонент → spice → spice-include-1.sym)
  2. Дважды щёлкните по блоку и добавьте/отредактируйте Ñледующие атрибуты:
    • refdes: A?
    • file: Ð¸Ð¼Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð°ÐµÐ¼Ð¾Ð³Ð¾ файла.

Блок директивы SPICE

При наличии в Ñхеме блока директивы, в ÑпиÑке Ñоединений ÑоздаётÑÑ Ñпециальный блок кода SPICE. Директивой может подключатьÑÑ Ð»Ð¸Ð±Ð¾ файл Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð°Ð¼Ð¸, либо Ñтрока, ÑодержащаÑÑÑ Ð² атрибуте value. Генератор ÑпиÑка Ñоединений выводит Ñодержимое Ñтроки или файла в ÑпиÑок Ñоединений доÑловно. ПодходÑщими примерами иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ñ‹ ÑвлÑетÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ðµ Ñледующих операторов:

  • .TEMP
  • .IC
  • и других операторов SPICE, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… в gschem нет Ñимволов.

Ð”Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² Ñхему директивы SPICE, Ñделайте Ñледующее:

  1. ПомеÑтите блок директивы в Ñвою Ñхему. (Выберите Добавить → Компонент → spice → spice-directive-1.sym)
  2. Дважды щёлкните по блоку и добавьте/отредактируйте Ñледующие атрибуты:
    • refdes: A?
    • file: Ð¸Ð¼Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð°ÐµÐ¼Ð¾Ð³Ð¾ файла.

Работа Ñ Ð¸ÐµÑ€Ð°Ñ€Ñ…Ð¸Ñ‡ÐµÑкими моделÑми

При SPICE-моделировании чаÑто возникают Ñитуации, когда хочетÑÑ Ð¿Ñ€ÐµÐ´Ñтавить Ñхему какого-либо конкретного компонента в виде .SUBCKT, а затем внедрить модель Ñтого компонента в оÑновную Ñхему. Приведём довольно раÑпроÑтранённый пример. ДопуÑтим, при моделировании СВЧ-Ñхемы вы решили иÑпользовать такую модель конденÑатора, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñодержит не только ёмкоÑть, но и паразитные индуктивноÑти и ÑопротивлениÑ. Производители конденÑаторов чаÑто поÑтавлÑÑŽÑ‚ Ñхемы, отражающие Ñхемную топологию имеющихÑÑ Ð¿Ð°Ñ€Ð°Ð·Ð¸Ñ‚Ð½Ñ‹Ñ… Ñлементов, и указывают Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑоответÑтвующих Ñопротивлений и индуктивноÑтей. И вам бы хотелоÑÑŒ начертить модель такого конденÑатора в gschem, Ñоздать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ генератора ÑпиÑка Ñоединений файл .SUBCKT, а затем иÑпользовать Ñтот файл Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑов в оÑновной Ñхеме.

ПоÑкольку такого рода задачи при SPICE-моделировании ÑвлÑÑŽÑ‚ÑÑ Ð´Ð¾Ð²Ð¾Ð»ÑŒÐ½Ð¾ обычными, то теперь их можно выполнÑть и Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gnet-spice-sdb (Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð²ÐµÑ€Ñии 20030331). Ð”Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° .SUBCKT подÑхемы и иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐµÐ³Ð¾ в оÑновной Ñхеме нужно Ñделать Ñледующее:

  1. Ðачертите в gschem подÑхему компонента (например, конденÑатор + паразитные Ñлементы).
  2. Добавьте в неё блок spice-subcircuit-LL (spice-subcircuit-LL-1.sym). Этим Ñамым генератору ÑпиÑка Ñоединений указываетÑÑ, что Ñта Ñхема ÑвлÑетÑÑ Ð¿Ð¾Ð´Ñхемой Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ .SUBCKT. Прикрепите к Ñимволу блока атрибут:
    • model-name = cap_with_parasitics
      (Конечно, cap_with_parasitics — Ñто проÑто пример. Ð’ Ñвоей Ñхеме задайте название Ñвоей модели.) Тогда при Ñоздании файла ÑпиÑка Ñоединений Ñимвол блока заÑтавит генератор первой Ñтрокой туда вÑтавить: .SUBCKT cap_with_parasitics.
  3. Ð’ подÑхеме к каждому из Ñоединений ввода/вывода (Ñ‚. е. к ÑоединениÑм Ñ Ð¾Ñновной Ñхемой) подключите Ñимвол spice-subcircuit-IO (spice-subcircuit-IO-1.sym). Пронумеруйте позиционные Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñимволов ввода/вывода в таком порÑдке, в каком ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð²Ð²Ð¾Ð´Ð°/вывода должны перечиÑлÑтьÑÑ Ð² Ñтроке .SUBCKT выходного файла (Ñ‚. е. P1 — Ð´Ð»Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾, P2 — Ð´Ð»Ñ Ð²Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ и Ñ‚. д.).
  4. Когда вы закончите Ñ Ð¿Ð¾Ð´Ñхемой, нужно будет обычным ÑпоÑобом Ñоздать ÑпиÑок Ñоединений. Ðапример, еÑли ваша Ñхема называетÑÑ cap_with_parasitics.sch, ÑпиÑок Ñоединений Ð´Ð»Ñ Ð½ÐµÑ‘ ÑоздаётÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹:
    gnetlist -g spice-sdb -o cap_with_parasitics.cir cap_with_parasitics.sch

    При Ñтом ÑпиÑок Ñоединений SPICE будет запиÑан в файл cap_with_parasitics.cir. Внимательно проÑмотрите Ñтот файл и убедитеÑÑŒ, что ÑпиÑок Ñоединений Ñоздан правильно.

  5. Затем Ð´Ð»Ñ Ð¾Ñновной Ñхемы Ñоздайте Ñимвол, который будет указывать на .SUBCKT. Обратите внимание, что позиционное обозначение данного Ñимвола должно начинатьÑÑ Ñ Ð±ÑƒÐºÐ²Ñ‹ X. Чтобы обеÑпечить Ñто, Ñделайте Ñледующее:
    • Ðачертите Ñимвол в gschem. Обычно, чтобы Ñимвол модели отличалÑÑ Ð¾Ñ‚ обычных компонентов, Ñ Ñ‡ÐµÑ€Ñ‡Ñƒ вокруг него прÑмоугольник. ЕÑли хотите, можете отметить его по-другому.
    • ОбеÑпечьте, чтобы выводы в Ñтом Ñимволе и в .SUBCKT были перечиÑлены в одинаковом порÑдке. Это делаетÑÑ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ Ñимвола в текÑтовом редакторе и уÑтановкой атрибутов pinseq. Генератор ÑпиÑка Ñоединений выведет выводы в порÑдке, заданном в Ñтих атрибутах.
    • Ð’ текÑтовом редакторе уÑтановите Ð´Ð»Ñ Ñимвола атрибут device, например, capacitor-model. Ðе задавайте в Ñтом атрибуте ни один из тех типов компонентов, что поддерживаютÑÑ Ð² SPICE и перечиÑлены в приложении! Ваша цель — Ñделать оÑобый Ñимвол, позиционное обозначение refdes которого начинаетÑÑ Ñ X, а еÑли же в device указан тип, раÑпознаваемый в SPICE, Ñтой цели не доÑтичь.
    • Ð’ текÑтовом редакторе уÑтановите значение атрибута позиционного Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñимвола refdes в X?.
  6. Создайте оÑновную Ñхему. Добавьте Ñвой новый Ñимвол в Ñхему Ñтолько раз, Ñколько нужно, и разведите ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼ ÑпоÑобом.
  7. Чтобы Ñимвол указывал на подÑхему .SUBCKT, дважды щёлкните по нему и уÑтановите Ñледующие атрибуты:
    • file = cap_with_parasitics.cir
    • model-name = cap_with_parasitics
      а также другие необходимые атрибуты (например, refdes).
  8. Теперь Ñоздайте ÑпиÑок Ñоединений Ð´Ð»Ñ Ñвоей оÑновной Ñхемы обычным ÑпоÑобом. Содержимое каждого файла .SUBCKT будет запиÑано в оÑновной ÑпиÑок Ñоединений. Откройте полученный файл в текÑтовом редакторе и внимательно проверьте, что ÑпиÑок Ñоединений Ñоздан правильно. ОÑобое внимание обратите на Ñледующее:
    • Проверьте, что ÑоединениÑ, подключающие .SUBCKT подÑхемы к оÑновному ÑпиÑку Ñоединений, перечиÑлены в правильном порÑдке.
    • УбедитеÑÑŒ, что и в оÑновной Ñхеме, и в подÑхеме (в Ñтроке объÑÐ²Ð»ÐµÐ½Ð¸Ñ .SUBCKT) иÑпользуетÑÑ Ð¾Ð´Ð½Ð¾ и то же название модели.

Как только ÑпиÑок Ñоединений готов, вы Ñ‚Ð¾Ñ‚Ñ‡Ð°Ñ Ð¶Ðµ можете начать моделирование Ñвоего проекта любой предпочитаемой программой SPICE-моделированиÑ. Ðекоторые из работающих в Linux программ опиÑаны ниже.

Создание ÑпиÑка Ñоединений SPICE

ИÑпользование gnetlist

Когда Ñхема начерчена, ÑпиÑок Ñоединений SPICE можно Ñоздать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ программы gEDA gnetlist, запуÑтив её из командной Ñтроки и задав в качеÑтве аргументов имена файлов Ñхем. gnetlist ÑконÑтруирована из двух чаÑтей: оболочки — процеÑÑора, напиÑанного на C, читающего файл .sch и Ñоздающего из него внутреннее, общее предÑтавление проекта, и драйверов на Scheme — генераторов ÑпиÑков Ñоединений. С такой архитектурой gnetlist ÑвлÑетÑÑ Ð¾Ñ‡ÐµÐ½ÑŒ гибко наÑтраиваемой программой — Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ разных драйверов на Scheme производÑÑ‚ÑÑ ÑпиÑки Ñоединений в разных форматах. КраÑота Ñтой Ñхемы (намеренный каламбур) в том, что пользователи gEDA легко могут и Ñами напиÑать подходÑщие генераторы ÑпиÑков Ñоединений Ð´Ð»Ñ Ñвоих ÑобÑтвенных нужд. Файл драйвера на Scheme, Ñ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸ÐµÐ¹ уÑовершенÑтвованного ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑков Ñоединений SPICE, называетÑÑ gnet-spice-sdb.scm и находитÑÑ Ð² каталоге ${PREFIX}/geda/share/gEDA/scheme.

Из командной Ñтроки вызов драйвера spice-sdb Ð´Ð»Ñ gnetlist производитÑÑ Ñледующим образом:

gnetlist [OPTIONS] -g spice-sdb filename1 ... filenameN

Помимо прочих ключей, опиÑанных в РуководÑтве Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ gnetlist, в gnetlist поддерживаютÑÑ ÑпецифичеÑкие, драйверо-завиÑимые ключи. СпецифичеÑкий ключ драйвера может быть включен Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ð·Ð°Ð´Ð°Ð½Ð¸Ñ -O КЛЮЧ. Драйвером spice-sdb поддерживаютÑÑ Ñледующие дополнительные ключи:

  • include_mode: запиÑывать в выходной файл .INCLUDE <filename> вмеÑто Ñодержимого файла модели;
  • embedd_mode: внедрÑть Ñодержимое указанных в .include файлов в ÑпиÑок Ñоединений;
  • nomunge_mode: не производить автоматичеÑкую корректировку позиционных обозначений компонентов;
  • sort_mode: Ñортировать выходной ÑпиÑок Ñоединений.

Создание ÑпиÑка Ñоединений при помощи gnetlist и spice-sdb

Создать ÑпиÑок Ñоединений SPICE из Ñхемы довольно проÑто. Ð”Ð»Ñ Ñтого Ñделайте Ñледующее:

  • Сохраните Ñвою Ñхему в filename.sch.
  • Создайте ÑпиÑок Ñоединений SPICE, запуÑтив gnetlist -g spice-sdb filename.sch. СпиÑок Ñоединений будет выведен в файл output.net. Кроме того, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ключа -o можно задать другое Ð¸Ð¼Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла. Ðапример, при задании такой команды:
    gnetlist -g spice-sdb -o amplifier.cir amplifier.sch

    Ñхема будет взÑта из файла amplifier.sch, а ÑпиÑок Ñоединений SPICE будет запиÑан в файл amplifier.cir.

  • Откройте Ñвой ÑпиÑок Ñоединений в текÑтовом редакторе и внимательно проÑмотрите. Проверьте, не отÑутÑтвуют ли какие-либо атрибуты и нет ли каких-либо других проблем.

Обычные проблемы при Ñоздании ÑпиÑков Ñоединений

ЗдеÑÑŒ мы попытаемÑÑ Ð¿ÐµÑ€ÐµÑ‡Ð¸Ñлить наиболее общие проблемы, возникающие при Ñоздании ÑпиÑков Ñоединений и ÑоответÑтвующие решениÑ:

  • ERROR_INVALID_PIN:
    Эта ошибка может поÑвитьÑÑ, еÑли поÑледовательноÑть номеров, заданных в атрибутах pinseq Ñимвола, не начинаетÑÑ Ñ 1 или в ней имеютÑÑ Ð¿Ñ€Ð¾Ð¿ÑƒÑки. Это можно починить, отредактировав такой Ñимвол в текÑтовом редакторе.
  • ERROR: In procedure caddr:
    Это веÑьма раÑпроÑÑ‚Ñ€Ð°Ð½Ñ‘Ð½Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°. Обычно она поÑвлÑетÑÑ Ð² том Ñлучае, когда вы забыли добавить один из обÑзательных атрибутов. Чтобы локализовать проблему, попробуйте запуÑтить gnetlist в режиме подробного вывода (gnetlist -v -g spice-sdb filename.sch). Тогда генератор ÑпиÑка Ñоединений оÑтановит обработку на компоненте Ñ Ð¿Ñ€Ð¾Ð¿ÑƒÑ‰ÐµÐ½Ð½Ñ‹Ð¼ атрибутом и выдаÑÑ‚ ошибку. Определив таким образом компонент-нарушитель, вы можете заново открыть Ñхему в gschem и поправить атрибуты.

Ðаконец, помните, что прежде, чем иÑпользовать Ñвой ÑпиÑок Ñоединений SPICE Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ, важно внимательно его проверить. Имейте в виду, что данный генератор ÑпиÑка Ñоединений вÑÑ‘ ещё находитÑÑ Ð² Ñтадии «бета-верÑии» и какие-то проблемы Ñ Ñозданием ÑпиÑков Ñоединений возможно ещё имеютÑÑ.

SPICE-моделирование

Ð”Ð»Ñ SPICE-Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² GNU/Linux еÑть неÑколько вариантов, Ñ Ð¾Ñ‚Ð¼ÐµÑ‡Ñƒ три:

  • LTSpice — ÑÐ²Ð¾Ð±Ð¾Ð´Ð½Ð°Ñ (freeware) программа SPICE-моделированиÑ, изначально Ð²Ñ‹Ð¿ÑƒÑ‰ÐµÐ½Ð½Ð°Ñ Ð² Linear Technologies как инÑтрумент Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð°/Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² Ð´Ð»Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ñ‹ Windows. Ð‘Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€Ñ Ð¾Ñ‡ÐµÐ½ÑŒ быÑтрому и мощному SPICE-процеÑÑору она Ñтала популÑрной в Ñреде любителей и инженеров-проектировщиков, предпочитающих иÑпользовать Ñвободные ÑредÑтва. ИÑходно LTSpice была напиÑана Ð´Ð»Ñ Windows, но затем немного изменена Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка в GNU/Linux Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ wine; еÑли вам нужна Ð¼Ð¾Ñ‰Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° SPICE-Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ñ„ÐµÑÑионального качеÑтва, рекомендую пользоватьÑÑ ÐµÑŽ.
  • ngspice — «официальнаÑ» программа SPICE-Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² gEDA Suite. Программа ngspice — Ñто возрождение кода SPICE 3 в Linux. Она предоÑтавлÑет SPICE-процеÑÑор Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ, оболочку, управлÑемую из командной Ñтроки, и возможноÑть графичеÑкого вывода результатов Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² X Window System. ngspice — Ñто программа Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом, напиÑÐ°Ð½Ð½Ð°Ñ Ð´Ð»Ñ Linux. Это программа SPICE Ð´Ð»Ñ Ñ‚ÐµÑ…, кто хочет без труда заниматьÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ в Linux или программированием и улучшением кода SPICE.
  • tclspice — ответвление разработки ngspice. tclspice предÑтавлÑет Ñобой раÑширенный вариант ngspice, в котором (в теории) набор команд SPICE ÑкÑпортируетÑÑ Ð² API Ñзыка Tcl, позволÑÑ Ð²Ñтраивать SPICE-анализ в программы на Tcl. Среди прочего Ñто полезно Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ð·Ð°Ñ†Ð¸Ð¸ задач оптимизации разработки. tclspice — программа Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ñ‚ÐµÑ…, кто интереÑуетÑÑ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð½ÑƒÑ‚Ð¾Ð¹, Ñкриптовой разработкой.

ЕÑть ещё программа Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ gnucap под лицензией GPL, оÑÐ½Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð½Ð° (или ÑвлÑющаÑÑÑ Ð¿Ð¾Ñ‚Ð¾Ð¼ÐºÐ¾Ð¼) Al's Circuit Simulator (ACS). Я её оÑобо не иÑпользовал, поÑтому Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ gnucap здеÑÑŒ отÑутÑтвует и её нужно добавить (FIXME).

LTSpice

Программа LTSpice была напиÑана в Linear Technologies, её авторы — Mike Englehardt и другие. Затем LinearTech отдала её в Ñвободное пользование как вÑпомогательное ÑредÑтво Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½Ð¶ÐµÐ½ÐµÑ€Ð°Ð¼, желающим моделировать характериÑтики её контроллеров блоков питаниÑ, работающих в ключевом режиме. Пакет предоÑтавлÑет оболочку Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸Ð½Ñ†Ð¸Ð¿Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ñхем, проÑтой и мощный SPICE-процеÑÑор и возможноÑть поÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð² результатов различных видов раÑчётов SPICE. Лично мне оболочка Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ Ñхем кажетÑÑ Ð½ÐµÑƒÐºÐ»ÑŽÐ¶ÐµÐ¹ и неудобной Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹; gschem разбивает её наголову по проÑтоте иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ возможноÑÑ‚Ñм. Однако SPICE-процеÑÑор и ÑредÑтва анализа в LTSpice проÑто превоÑходны.

Программа LTSpice иÑходно предназначалаÑÑŒ Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ в Windows, но Mike немного изменил её, так что она довольно хорошо работает и в GNU/Linux из-под wine. (Только ÑиÑтема меню Ñправки Ñломана — оÑÑ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ñ‡Ð°Ñть пакета работает хорошо). Ещё одной приÑтной Ñтороной LTSpice ÑвлÑетÑÑ Ñ…Ð¾Ñ€Ð¾ÑˆÐ°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ°, — Mike регулÑрно читает новоÑтные группы sci.electronics.cad и, как правило, вÑегда рад помочь тем, кто иÑпытывает Ñ Ð½ÐµÐ¹ проблемы. ПоÑтому, неÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° её Windoze-наÑледие, Ñ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÑŽ LTSpice как мощный, профеÑÑионального качеÑтва драйвер Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ анализа Ð´Ð»Ñ gEDA.

УÑтановка и наÑтройка LTSpice

УÑтановка и наÑтройка LTSpice производитÑÑ Ñледующим образом:

  1. Загрузите и уÑтановите wine. Мне удалоÑÑŒ поÑтавить Wine-20030219. Более поздние верÑии навернÑка тоже будут работать.
  2. Загрузите LTSpice. Программа доÑтупна по адреÑу http://www.linear.com/software под названием SwitcherCAD-III.
  3. ЗапуÑтите программу уÑтановки LTSpice в wine.

ЗапуÑк LTSpice Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð°Ð¼Ð¸ gEDA

LTSpice умеет читать файлы ÑпиÑков Ñоединений SPICE, Ñделанные в gEDA. Моделирование в LTSpice мне удавалоÑÑŒ производить Ñледующим образом:

  1. Прежде вÑего региÑтрируйтеÑÑŒ в ÑиÑтеме как обычный пользователь — wine не любит работать из-под ÑуперпользователÑ.
  2. Ð’ каталоге Ñвоего проекта Ñоздайте файл Simulation.cmd и пропишите в нём команды Ñвоего SPICE-анализа (например, .OP, .AC, .DC и Ñ‚. д.).
  3. Добавьте в Ñвою Ñхему Ñимвол блока Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ SPICE. Ðтрибут file уÑтановите в Simulation.cmd.
  4. Создайте Ð´Ð»Ñ Ñвоего проекта ÑпиÑок Ñоединений.
  5. Сделайте ÑÑылку на Ñвой ÑпиÑок Ñоединений output.net в каталоге уÑтановки SwCADIII. Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° ÑÑылки должно Ñодержать ÑÑƒÑ„Ñ„Ð¸ÐºÑ .cir. Ðапример:
    ln -s ${DESIGN_HOME}/output.net ${WINE_HOME}/.wine/fake_windows/Program Files/LTC/SwCADIII/MyDesign.cir
  6. ЗапуÑтите LTSpice: перейдите в каталог уÑтановки SwCADIII командой cd и запуÑтите
    wine scad3.exe
  7. Ð’ окне SwCADIII выберите Файл → Открыть → (файлы типа ÑпиÑков Ñоединений [.cir]) и выберите Ñвой файл.
  8. ЗапуÑтите моделирование щелчком по кнопке запуÑка (Run) или Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Моделирование → ЗапуÑк.
  9. Выберите Ð´Ð»Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ° переменные и щёлкните OK. Дальше программа SwCADIII вÑÑ‘ Ñделает Ñама.

Конечно, чтобы понÑть, как пользоватьÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹ LTSpice Ñффективно, очень важно Ñ Ð½ÐµÐ¹ позаниматьÑÑ, но Ð´Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° вам должно быть доÑтаточно вышеизложенного опиÑаниÑ.

Ngspice

ngspice начал Paolo Nenzi в УниверÑитете Рима «La Sapienza», ÑтремÑÑÑŒ Ñоздать верÑию Ñтандартного Berkeley SPICE верÑии 3 под лицензией GPL, полноÑтью перепиÑав Ñтот пакет. Ð’ его планы также входило Ñоздание лучших, более ÑÑных алгоритмов раÑчётов Ð´Ð»Ñ SPICE-процеÑÑора. Больше информации можно найти на веб-Ñтранице ngspice: http://ngspice.sourceforge.net/. Ðо в Ñвете Ñтих возвышенных планов Paolo Ñтал заниматьÑÑ Ð½ÐµÑколько другим: он взÑл код SPICE 3, много лет гулÑющий по интернету, переработал его, и напиÑал ÑиÑтему Ñборки, чтобы его можно было бы Ñкомпилировать обычным ÑпоÑобом Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ GNU make. Это было главное доÑтижение, за которое Paolo заÑлуживает огромной похвалы. К Ñожалению, ÑÑƒÐ´Ñ Ð¿Ð¾ виду веб-Ñтраницы, разработка ngspice похоже оÑтановилаÑÑŒ в конце 2001 г. Ðа Ñамом деле поÑле 2001 г. разработка значительно замедлилаÑÑŒ, но в поÑледнее Ð²Ñ€ÐµÐ¼Ñ Paolo Ñнова занÑлÑÑ ngspice. ПоÑледнюю верÑию, ngspice-rework-15, он выпуÑтил в феврале 2004 года. Эта верÑÐ¸Ñ Ð´Ð¾Ñтупна только на Ñтранице загрузки Ñайта sourceforge; Paolo пока не обновил оÑтальную чаÑть веб-Ñтраницы проекта.

УÑтановка и конфигурирование ngspice

Вообще, Ñ Ð¿Ñ€Ð¸ÑˆÑ‘Ð» к тому, что лучше загрузить, Ñконфигурировать и Ñкомпилировать иÑходный код ngspice, вмеÑто того чтобы пытатьÑÑ ÑƒÑтановить двоичный пакет. Это решение Ñ Ð¸ опишу здеÑÑŒ в общих чертах.

Загрузка иÑходного кода

Скачайте Ñамую поÑледнюю верÑию диÑтрибутива Ñо Ñтраницы http://sourceforge.net/projetcs/ngspice. ОбÑзательно Ñамую поÑледнюю, так как у неё ÑÐ°Ð¼Ð°Ñ Ð²Ñ‹ÑÐ¾ÐºÐ°Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñть и наибольшее количеÑтво возможноÑтей. Ðа май 2004 года, поÑледний выпуÑк — Ñто ngspice-rework-15. УÑтановите иÑходники туда, где вы их обычно храните. Мне нравитÑÑ Ð´ÐµÑ€Ð¶Ð°Ñ‚ÑŒ Ñвои иÑходники gEDA в отдельном каталоге, например, /usr/local/geda/sources/ngspice. Можете перенÑть такую Ñхему.

Извлечение иÑходных текÑтов

ИÑходные текÑты программы раÑпроÑтранÑÑŽÑ‚ÑÑ Ð² виде «тарбола» — Ñжатого архива. Вам нужно извлечь из него файлы, Ñделав Ñледующее:

user@host:~$ cd <каталог, куда Ñледует извлечь иÑходные файлы>
user@host:~sources$ tar -xvzf </путь/к/пакету.tar.gz>
user@host:~sources$ cd <извлечённый каталог>

Ð’ Ñтот момент вы находитеÑÑŒ в корневом каталоге ngspice. Чтобы познакомитьÑÑ Ñ Ñтой программой и процеÑÑом её уÑтановки поближе, прочитайте общеизвеÑтные файлы, такие как README и INSTALL. Также неплохо бы почитать файл NOTES, в нём ÑодержитÑÑ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ, Ð¿Ð¾Ð»ÐµÐ·Ð½Ð°Ñ Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ или отладки возможноÑтей ngspice.

Конфигурирование и компилÑÑ†Ð¸Ñ ngspice

Ð”Ð»Ñ Ñборки ngspice иÑпользуетÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ð°Ñ Ð¿Ð¾ÑледовательноÑть configure && make && make install, применÑÐµÐ¼Ð°Ñ Ð¸ Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ… GNU-тых программ. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ngspice имеетÑÑ Ð´Ð¾Ñтаточно много ключей. FIXME: Полный их перечень и ÑÐ¾Ð¿Ñ€Ð¾Ð²Ð¾Ð¶Ð´Ð°ÑŽÑ‰Ð°Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð½ÑƒÐ¶Ð´Ð°ÑŽÑ‚ÑÑ Ð² доработке; чтобы увидеть их вÑе, лучше вÑего поÑмотреть файл configure.ac. Многие из ключей, доÑтупных на Ñтапе конфигурированиÑ, предназначены Ð´Ð»Ñ Ð¾Ñ‚Ð»Ð°Ð´ÐºÐ¸ программы Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ Ð´Ð»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñтей ÑкÑпериментальных видов анализа. Ðовичкам Ñтоит обратить внимание на три ключа:

  • --enable-xspice: Ñтим ключом добавлÑетÑÑ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° раÑширений XSpice. Эти раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÑŽÑ‚ вам определить уÑтройÑтва, чьё поведение задаётÑÑ Ñпециальными «моделÑми кода». Возможно наиболее важной моделью кода ÑвлÑетÑÑ spice2poly, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñ‚Ñ€Ð°Ð½Ñлирует конÑтрукции POLY в Ñтиле SPICE 2 в модели XSpice, пригодные Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² SPICE 3.
  • --with-readline: при задании Ñтого ключа в ngspice вÑтраиваетÑÑ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° GNU readline. Это значит, что вы Ñможете иÑпользовать как клавиатурные команды в Ñтиле emacs, так и клавиши Ñо Ñтрелками Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² Ñтроке ввода команд. Без Ñтой возможноÑти Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ Ñтроки будет враждебным, то еÑть, еÑли вы ошибётеÑÑŒ при вводе длинной команды, у Ð²Ð°Ñ Ð½Ðµ оÑтанетÑÑ Ð´Ñ€ÑƒÐ³Ð¸Ñ… вариантов, кроме как Ñнова ввеÑти её целиком. Paolo не Ñоветует иÑпользовать возможноÑть readline, поÑкольку при Ñтом код GPL (readline) ÑмешиваетÑÑ Ñ ÐºÐ¾Ð´Ð¾Ð¼ BSD (ngspice), но Ð´Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… он Ñтот ключ оÑтавил, чтобы люди Ñами могли решить, наÑколько быть целомудренными в Ñтом вопроÑе.
  • --prefix: Ñтим ключом задаётÑÑ Ð±Ð°Ð·Ð¾Ð²Ñ‹Ð¹ каталог уÑтановки двоичных файлов программ.

Прежде чем запуÑкать configure нужно проверить ключи, которые вы хотите задать. Краткое опиÑание приведено в приложении (FIXME: требуетÑÑ Ð´Ð¾Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ°). Как только будете готовы, наберите:

user@host:~sources/<tld>$ ./configure --enable-xspice --with-readline --prefix=/usr/local/geda <другие ключи конфигурации>

Конечно, --prefix= должен указывать на тот каталог, где находÑÑ‚ÑÑ Ð²Ð°ÑˆÐ¸ файлы, отноÑÑщиеÑÑ Ðº gEDA. ПоÑле Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñтой команды программа Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ Ñконфигурирована и готова Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñции. КомпилÑÑ†Ð¸Ñ Ð¿Ñ€Ð¾Ñта:

user@host:~sources/<tld>$ make && make install

Как обычно Ð´Ð»Ñ ÑƒÑтановки пакетов в общедоÑтупный каталог Ñкорее вÑего вам понадобÑÑ‚ÑÑ Ð¿Ñ€Ð°Ð²Ð° ÑуперпользователÑ, в таком Ñлучае нужно Ñделать так:

user@host:~sources/<tld>$ make
user@host:~sources/<tld>$ su -c make install

Проверка уÑтановки

Ð’ Ñтот момент вы должны быть ÑпоÑобны запуÑтить ngspice. Свою уÑтановку можно проверить, попробовав обработать одну из теÑтовых Ñхем из каталога Ñ Ñ‚ÐµÑтами. Я рекомендую запуÑтить теÑÑ‚ TransImpedanceAmp, так как в нём проверÑетÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ñть SPICE 2 POLY.

ИÑпользование ngspice

ЗапуÑк ngspice очень проÑÑ‚. Ð’ приглашении командной Ñтроки Unix введите команду:

user@host:~$ ngspice filename.net

и ngspice загрузит ÑпиÑок Ñоединений SPICE filename.net в Ñвоё рабочее проÑтранÑтво и выведет Ñвоё приглашение командной Ñтроки. Ð’Ñ‹ можете запуÑтить моделирование, Ñказав «run» (запуÑк). Результаты будут Ñохранены в маÑÑиве SPICE Ð´Ð»Ñ Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐµÐ¹ печати на принтере или Ñ‡ÐµÑ€Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð° плоттере. Ðабор имеющихÑÑ Ð² раÑпорÑжении команд приведён на Ñтранице http://newton.ex.ac.uk/teaching/CDHW/Electronics2/userguide/sec5.html#5.

Ð”Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð´Ð¾Ð²Ð¾Ð¹ модели SPICE 2 POLY её нужно загрузить в ngspice до загрузки ÑпиÑка Ñоединений. (ЕÑли вы загрузите её поÑле загрузки ÑпиÑка Ñоединений, Ñлементы POLY в ней транÑлироватьÑÑ Ð½Ðµ будут и потому не будут и правильно Ñмоделированы.) Чтобы загрузить кодовую модель, в Ñтроке Ð¿Ñ€Ð¸Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ ngspice нужно проÑто Ñказать:

codemodel /usr/local/geda/lib/spice/spice2poly.cm

(укажите здеÑÑŒ меÑтоположение Ñвоих кодовых моделей). Учтите, что Ð´Ð»Ñ ÐºÐ¾Ð´Ð¾Ð²Ð¾Ð¹ модели Ñледует указать абÑолютное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°; программа ngspice не наÑтолько Ñообразительна, чтобы иÑкать её в Ñтандартных каталогах. (Также обратите внимание, что нужно указать путь к spice2poly.cm на Ñвоей машине; путь, указанный выше, — мой.)

Лучшим ÑпоÑобом Ð´Ð»Ñ ÑÑ‡Ð¸Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð´Ð¾Ð²Ð¾Ð¹ модели spice2poly будет включение её в файл инициализации ngspice — spinit. Файл инициализации находитÑÑ Ð² каталоге /usr/local/geda/share/ng-spice-rework/scripts (или где-то ещё, где у Ð²Ð°Ñ ÑƒÑтановлены файлы gEDA). Ð’ файле spinit можно задать и другие наÑтройки Ð´Ð»Ñ ngspice.

Tclspice

Когда в 2002-м году оÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð²ÐµÑ‚ÐºÐ° разработки ngspice впала в ÑпÑчку, неÑколько товарищей из MultiGig Ltd. (http://www.multigig.com/) занÑлиÑÑŒ разработкой ветки ngspice, которую они назвали tclspice. tclspice — Ñто раÑширенный вариант ngspice, в котором множеÑтво команд SPICE ÑкÑпортируетÑÑ ÐºÐ°Ðº API к Tcl. При Ñтом преÑледуетÑÑ Ñ†ÐµÐ»ÑŒ облегчить напиÑание Ñкриптов Ð´Ð»Ñ Ñ€Ð°Ñчётов SPICE. Это очень мощное ÑредÑтво: Ð´Ð»Ñ tclspice можно напиÑать Ñкрипт на Tcl, который запуÑтит цикл, подÑтроит Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð², запуÑтит анализ, а затем раÑÑчитает характериÑтики Ñхемы Ñ Ð¿Ð¾Ð´Ñтроенными компонентами, прежде чем запуÑкать новый цикл. Очевидно, Ñту возможноÑть можно иÑпользовать Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑких, многомерных оптимизаций Ñхемы. ЕÑли проект будет завершён, tclspice возможно Ñтанет «приложением-убийцей» Ð´Ð»Ñ Ð¡ÐПР Ñлектроники Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом.

Загрузка, уÑтановка и Ñборка tclspice

ДомашнÑÑ Ñтраница проекта tclspice находитÑÑ Ð¿Ð¾ адреÑу http://tclspice.sourceforge.net/. ИÑходные коды tclspice проживают по адреÑу http://sourceforge.net/projects/tclspice. Ð”Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ и уÑтановки tclspice иÑпользуютÑÑ Ñ‚Ðµ же Ñамые шаги, что подробно раÑпиÑаны Ð´Ð»Ñ ngspice выше. Так как tclspice ÑвлÑетÑÑ Ñ€Ð°Ñширенным вариантом ngspice, то еÑли нужно, из иÑходных текÑтов tclspice можно уÑтановить только ngspice. Сборка целого пакета потребует пары дополнительных шагов. ЗдеÑÑŒ Ñ Ð¿Ñ€ÐµÐ´Ñтавлю поÑледовательноÑть шагов Ð´Ð»Ñ Ñборки и ngspice (автономной программы Ñ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñом командной Ñтроки), и API Ð´Ð»Ñ Tcl из иÑходных текÑтов tclspice.

Перед Ñборкой tclspice у Ð²Ð°Ñ ÑƒÐ¶Ðµ должны быть уÑтановлены Ñледующие пакеты:

  • TclX (у Ð¼ÐµÐ½Ñ ÑобираетÑÑ Ñ tclx8.3.5)
  • tclreadline (у Ð¼ÐµÐ½Ñ ÑобираетÑÑ Ñ tclreadline-2.1.0)
  • BLT for Tcl (у Ð¼ÐµÐ½Ñ ÑобираетÑÑ Ñ blt2.4z)
  • Tcl/Tk (у Ð¼ÐµÐ½Ñ ÑобираетÑÑ Ñ 8.4.3.)

ЕÑли на вашей Linux-машине Ñти пакеты ещё не уÑтановлены, их нужно найти и Ñобрать. Обратите внимание, что Ñборка TclX требует Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ñ Ð¸Ñходных текÑтов Ð´Ð»Ñ Tcl и Tk, так что вам придётÑÑ Ñ‚Ð°ÐºÐ¶Ðµ загрузить иÑходные текÑты и Ñтих пакетов, еÑли они у Ð²Ð°Ñ ÐµÑ‰Ñ‘ не уÑтановлены. У Ð¼ÐµÐ½Ñ ÑƒÑпешно работает Tcl/Tk 8.4.3, Ñ…Ð¾Ñ‚Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ будут работать и верÑии 8.3.X. Также, еÑли вы хотите запуÑкать SPICE в фоновом режиме, вам придётÑÑ Ð¿ÐµÑ€ÐµÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Tcl и Tk Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸ÐµÐ¼ поддержки нитей (thread), еÑли она уже не была разрешена (в пакетах Ð´Ð»Ñ RedHat — нет).

Будем Ñчитать, что вы уже загрузили и уÑтановили указанные выше дополнительные пакеты. Тогда Ð´Ð»Ñ Ñборки на Ñвоей машине и ngspice, и API Ð´Ð»Ñ Tcl, вам нужно предпринÑть Ñледующее:

user@host:~sources/<tld>$ ./configure --enable-xspice --with-readline  --prefix=/usr/local/geda
user@host:~sources/<tld>$ make && make install (Ñтими командами ÑобираетÑÑ Ð¸ уÑтанавливаетÑÑ Ñтарый добрый ngspice)
user@host:~sources/<tld>$ ./configure --enable-xspice --prefix=/usr/local/geda --enable-tcl --enable-experimental --disable-shared
user@host:~sources/<tld>$ make tcl && make install-tcl

Как обычно Ð´Ð»Ñ ÑƒÑтановки пакетов в общедоÑтупный каталог Ñкорее вÑего вам понадобÑÑ‚ÑÑ Ð¿Ñ€Ð°Ð²Ð° ÑуперпользователÑ, в таком Ñлучае нужно Ñделать так:

user@host:~sources/<tld>$ su -c make install
user@host:~sources/<tld>$ su -c make install-tcl

Теперь вÑÑ‘ готово Ð´Ð»Ñ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ñкриптов на Tcl, включающих команды SPICE. Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ð± иÑпользовании tclspice приведена ниже. Ðаконец, еÑли вам интереÑно попрограммировать tclspice (и даже еÑли нет), будет неплохо прочитать файл NOTES, находÑщийÑÑ Ð² корневом каталоге иÑходников, в котором можно найти пару полезных Ñоветов.

ИÑпользование tclspice

tclspice разработан Ð´Ð»Ñ ÑкÑпорта команд SPICE в программы на Tcl. Чтобы иÑпользовать tclspice, в начале Ñвоей программы на Tcl нужно проÑто Ñказать package require spice. ПоÑле Ñтого, чтобы запуÑтить команду SPICE, при её вызове надо проÑто задать проÑтранÑтво имён spice. Как пример приведём программу на Tcl, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°ÐµÑ‚ ÑпиÑок Ñоединений SPICE, прикажет Ñделать временной анализ, запуÑтит моделирование, а затем начертит график напрÑÐ¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Vout за указанное времÑ:

#! tclsh
package require spice
spice::codemodel /usr/local/src/tclspice-0.2.12/src/xspice/icm/spice2poly.cm
spice::source netlistname.cir
spice::tran 0.1ns 40ns
spice::run
spice::plot Vout
puts "Ð’ÑÑ‘ готово!"

Обратите внимание, что поÑкольку tclspice не читает инициализационный файл ngspice spinit, любые команды инициализации вам придётÑÑ Ð·Ð°Ð´Ð°Ð²Ð°Ñ‚ÑŒ непоÑредÑтвенно в программе на Tcl. Ðапример, в вышеприведённом примере мы читаем кодовую модель spice2poly непоÑредÑтвенно в рабочее проÑтранÑтво. ДоÑтупно и много других команд; полный набор команд tclspice приводитÑÑ Ð½Ð° Ñтранице http://tclspice.sourceforge.net/docs/tclspice_com.html.

Проблемы в tclspice

Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð° tclspice (унаÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¾Ñ‚ ngspice) — утечки памÑти. ПоÑтому Ð²Ñ€ÐµÐ¼Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² ней ограничено. Это значит, что еÑли вы хотите Ñделать оптимизацию, многократно повторив цикл Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ñхемы, памÑть может быть иÑчерпана прежде, чем программа закончит оптимизацию. Это извеÑÑ‚Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð° в tclspice и ÑÐµÐ¹Ñ‡Ð°Ñ Ð·Ð°Ñ‚Ñ€Ð°Ñ‡Ð¸Ð²Ð°ÑŽÑ‚ÑÑ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ðµ уÑÐ¸Ð»Ð¸Ñ Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы утечки заткнуть.

Между тем Ð´Ð»Ñ Ð¾ÑущеÑÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ оптимизации ÑущеÑтвуют кое-какие обходные пути, которые можно иÑпользовать Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¾Ð² Ñреднего размера. Я применÑл один ÑпоÑоб, ÑоÑтоÑщий в том, что поÑле каждого анализа Ñхемы оптимизатор запиÑывает данные Ñвоего текущего ÑоÑтоÑÐ½Ð¸Ñ Ð² файл и из Ñтого же файла читает данные Ñвоего иÑходного ÑоÑтоÑниÑ. Оптимизатор также ÑохранÑет текущий перечень лучших вариантов компонентов в другой файл и читает Ñтот файл при каждом запуÑке оптимизации. К тому же у Ð¼ÐµÐ½Ñ ÐµÑть программа на Tcl под названием TaskMgr.tcl, Ñ€Ð°Ð±Ð¾Ñ‚Ð°ÑŽÑ‰Ð°Ñ Ñ†Ð¸ÐºÐ»Ð¸Ñ‡ÐµÑки; при каждой итерации цикла она порождает дочерний процеÑÑ Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка оптимизатора. Между тем родительÑкий процеÑÑ Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ‚ 5 минут (ÑвриÑтичеÑки найденное времÑ), а затем, прежде чем повторÑть цикл и запуÑкать оптимизатор Ñнова, выдаёт дочернему процеÑÑу Ñигнал «KILL». Таким образом оптимизатор никогда не работает наÑтолько долго, чтобы ÑъеÑть вÑÑŽ памÑть на моей машине. Вот ÑобÑтвенно Ñама программа TaskMgr.tcl:

#! tclsh
package require Tclx
while {1} {
  set PID [fork]
  if {$PID} {
    # РодительÑкий процеÑÑ
    after 300000
    puts "СобираюÑÑŒ убить дочерний процеÑÑ PID = $PID . . . ."
    kill $PID
    wait $PID
  } else {
    # Дочерний процеÑÑ
    source Optimize.tcl
    # ЕÑли мы вдруг когда-нибудь пройдём через вÑÑ‘ Ñто, можем выдать Ñледующее:
    error "Мы закончили!!!!!!"
  }
}

Заметьте, что Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка tclspice программе TaskMgr.tcl требуетÑÑ, чтобы пакет TclX уже был уÑтановлен. Может быть вам Ñледует также задать другое Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð² завиÑимоÑти от объёма памÑти и ÑкороÑти вашей машины. Ðаконец, родительÑкому процеÑÑу придётÑÑ Ñледить и за $PID (Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ wait), так как когда дочерний процеÑÑ ÑƒÐ¼Ñ€Ñ‘Ñ‚, нужно чтобы и его труп был выкинут из ÑпиÑка задач Ñдра. Иначе работа оптимизатора приведёт к порождению целой толпы процеÑÑов-зомби, подÑтерегающих Ð²Ð°Ñ Ð½Ð° вашей машине за каждым углом, — Ð´Ð»Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚ превратить вашу ÑиÑтему в «ночь живой Ñмерти»!

Такой метод Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ Ð´Ð»Ñ Ð´Ð¾Ñ‡ÐµÑ€Ð½ÐµÐ³Ð¾ процеÑÑа предпочтителен в том Ñлучае, когда одиночный анализ занимает отноÑительно немного времени по Ñравнению Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½ÐµÐ¼, требуемым Ð´Ð»Ñ ÑÑŠÐµÐ´Ð°Ð½Ð¸Ñ Ð²Ñей памÑти машины. ЕÑли же Ð²Ñ€ÐµÐ¼Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° ÑопоÑтавимо Ñо временем ÑÑŠÐµÐ´Ð°Ð½Ð¸Ñ Ð²Ñей памÑти, то лучше заÑтавить родительÑкий процеÑÑ Ñледить за ÑоÑтоÑнием анализа, запуÑтить одиночный анализ, а затем заÑтавить Ñтот анализ завершатьÑÑ Ð¿Ð¾Ñле каждой итерации. Предпочтителен ли такой вариант, завиÑит от размера и ÑложноÑти вашего проекта; может быть вам Ñледует поÑкÑпериментировать Ñо Ñвоим анализом, чтобы узнать, как долго он длитÑÑ Ð¸ Ñколько потреблÑет памÑти. Я нашёл, что анализ Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° из шеÑти операционных уÑилителей (Ñ ÑоответÑтвующими моделÑми поÑтавщиков) и пÑтидеÑÑти или около того паÑÑивных Ñлементов на PIII 333MHz c 128MB RAM будет длитьÑÑ Ð¼ÐµÐ½ÐµÐµ 10 Ñекунд. ПоÑтому, чтобы одиночный анализ Ñъел значительное количеÑтво памÑти, ваш проект должен быть довольно большим.

Приложение A. Поддерживаемые компоненты и их атрибуты

Ð’ таблице 1 предÑтавлены уÑтройÑтва и ÑвÑзанные Ñ Ð½Ð¸Ð¼Ð¸ атрибуты, иÑпользуемые драйвером spice-sdb. Ðеобходимые атрибуты выделены жирным шрифтом, прочие указаны обычным. Заметьте, что атрибут device невидим и обычно прикреплÑетÑÑ Ðº Ñимволу при его Ñоздании. Другие атрибуты прикреплÑÑŽÑ‚ÑÑ Ðº Ñимволу в gschem при разработке Ñхемы.

ЕÑли вы имеете дело только Ñ Ð¿Ñ€Ð¾Ñтыми активными компонентами (диодами, транзиÑторами) при наличии их моделей SPICE в виде файлов, то нужно задать только атрибуты model-name и file; атрибут model задавать не нужно. Ðо еÑли Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ проÑтого активного компонента еÑть одноÑÑ‚Ñ€Ð¾Ñ‡Ð½Ð°Ñ SPICE-модель, которую хотелоÑÑŒ бы ввеÑти непоÑредÑтвенно в Ñхеме, тогда задайте атрибуты model и model-name; атрибут file задавать не нужно.

Таблица 1. Ðтрибуты, необходимые Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑка Ñоединений SPICE

device refdes value model file model-name type Комментарий
RESISTOR R? (4) (2) - Ðазвание модели - (11)
CAPACITOR C? (4) (3) - Ðазвание модели - (11)
POLARIZED_CAPACITOR C? (4) (3) - Ðазвание модели - (11)
INDUCTOR L? (4) (3) - Ðазвание модели - (11)
SPICE-ccvs H? (5) - - - - ИÑточник напрÑжениÑ,
управлÑемый током
SPICE-cccs F? (5) - - - - ИÑточник тока,
управлÑемый током
SPICE-vcvs E? (5) - - - - ИÑточник напрÑжениÑ,
управлÑемый напрÑжением
SPICE-vccs G? (5) - - - - ИÑточник тока,
управлÑемый напрÑжением
SPICE-nullor N? (15) - - - -
DIODE D? Тип прибора ОдноÑÑ‚Ñ€Ð¾Ñ‡Ð½Ð°Ñ SPICE-модель Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° модели Ðазвание модели - (12)
PMOS_TRANSISTOR M? Тип прибора ОдноÑÑ‚Ñ€Ð¾Ñ‡Ð½Ð°Ñ SPICE-модель Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° модели Ðазвание модели - (12)
NMOS_TRANSISTOR M? Тип прибора ОдноÑÑ‚Ñ€Ð¾Ñ‡Ð½Ð°Ñ SPICE-модель Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° модели Ðазвание модели - (12)
PNP_TRANSISTOR Q? Тип прибора ОдноÑÑ‚Ñ€Ð¾Ñ‡Ð½Ð°Ñ SPICE-модель Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° модели Ðазвание модели - (12)
NPN_TRANSISTOR Q? Тип прибора ОдноÑÑ‚Ñ€Ð¾Ñ‡Ð½Ð°Ñ SPICE-модель Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° модели Ðазвание модели - (12)
PFET_TRANSISTOR J? Тип прибора ОдноÑÑ‚Ñ€Ð¾Ñ‡Ð½Ð°Ñ SPICE-модель Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° модели Ðазвание модели - (12)
NFET_TRANSISTOR J? Тип прибора ОдноÑÑ‚Ñ€Ð¾Ñ‡Ð½Ð°Ñ SPICE-модель Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° модели Ðазвание модели - (12)
MESFET_TRANSISTOR B? Тип прибора ОдноÑÑ‚Ñ€Ð¾Ñ‡Ð½Ð°Ñ SPICE-модель Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° модели Ðазвание модели - (12)
IC U? Тип прибора Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° .model Ðазвание модели - Ð”Ð»Ñ Ð˜Ð¡ Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð¼
.model
IC X? Тип прибора Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° .subckt Ðазвание .subckt - Ð”Ð»Ñ Ð˜Ð¡ Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð¼
.subckt
model A? - ОдноÑÑ‚Ñ€Ð¾Ñ‡Ð½Ð°Ñ SPICE-модель Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° .model (9) (10) (12)
include A? - - Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° .include - - (13)
options A? (8) - - - - (14)
directive A? (1) - - - - (12)
VOLTAGE_SOURCE V? (6) - - - - ÐезавиÑимый
иÑточник напрÑжениÑ
CURRENT_SOURCE I? (7) - - - - ÐезавиÑимый
иÑточник тока

(1) Одна Ñтрока, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ñ‹ SPICE Ð´Ð»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð² ÑпиÑок Ñоединений
(2) Одна Ñтрока параметров SPICE-модели (например, TC и Ñ‚. д.)
(3) Одна Ñтрока параметров SPICE-модели (например, IC, POLY и Ñ‚. д.)
(4) ЧиÑловое значение компонента
(5) Строка, опиÑÑ‹Ð²Ð°ÑŽÑ‰Ð°Ñ Ñ€ÐµÐ¶Ð¸Ð¼ иÑточника
(6) ОдноÑтрочное опиÑание, Ñодержащее режим иÑточника напрÑжениÑ
(7) ОдноÑтрочное опиÑание, Ñодержащее режим иÑточника тока
(8) Строка подключаемых ключей
(9) Ðазвание модели, на которую указывают компоненты
(10) СоответÑтвующий тип SPICE-модели (допуÑтимые типы приведены ниже)
(11) Параметры модели помещаютÑÑ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ Ñкобок поÑле Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð°
(12) Ð”Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½ÑƒÐ¶Ð½Ð¾ включить или модель, или файл
(13) Помещает директиву .INCLUDE в ÑпиÑок Ñоединений SPICE
(14) Помещает директиву .OPTIONS в ÑпиÑок Ñоединений SPICE
(15) ДоÑтаточно выÑокий коÑффициент уÑилениÑ, например, 1000Meg; не обÑзательно задавать в поÑледних верÑиÑÑ… geda-gaf (Ñ Ð²ÐµÑ€Ñии 1.9.2)

Выражение «поддерживаемый генератором ÑпиÑка Ñоединений» означает, что ÑущеÑтвует ÑоответÑтвующий куÑок кода на Scheme, который точно знает как Ñти компоненты обрабатывать и (почти) навернÑка Ñгенерирует правильный код SPICE. Символы Ñ Ñ‚Ð°ÐºÐ¸Ð¼Ð¸ атрибутами device, которых нет в вышеприведённом ÑпиÑке, обрабатываютÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÐµÐ¹ Scheme spice-sdb:write-default-component, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð½ÑÑ‚Ð¸Ñ Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¾ том, как обрабатывать данный компонент, Ñмотрит на его позиционное обозначение. Как правило, при Ñоздании кода SPICE Ñта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ñделает «то, что надо», но твёрдой гарантии нет. Ð’ чаÑтноÑти, Ñта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð½Ðµ увидит Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ транзиÑторами типов N и P и Ð´Ð»Ñ Ñтроки .MODEL в ÑпиÑке Ñоединений будет генерировать тип <unknown> (неизвеÑтный). ВероÑтно Ñто вызовет ругань программы моделированиÑ. ПоÑтому лучше вÑего убедитьÑÑ, что Ð´Ð»Ñ Ð²Ñех иÑпользуемых уÑтройÑтв задан надлежащий атрибут device.

Приложение B. ДопуÑтимые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Â«type»

Ðтрибут type указывает SPICE-процеÑÑору тип компонента и подготавливает его Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð½ÑÑ‚Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² модели, Ñпецифичных Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ типа. ДопуÑтимые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° type указаны в таблице 2.

Таблица 2. ДопуÑтимые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° type компонентов.

Компонент type Комментарий
RESISTOR RES РезиÑтор
CAPACITOR CAP КонденÑатор
POLARIZED_CAPACITOR CAP ПолÑрный конденÑатор
INDUCTOR IND Катушка индуктивноÑти
DIODE D Диод
PMOS_TRANSISTOR PMOS pМОП-транзиÑтор
NMOS_TRANSISTOR NMOS nМОП-транзиÑтор
PNP_TRANSISTOR PNP БиполÑрный транзиÑтор типа pnp
NPN_TRANSISTOR NPN БиполÑрный транзиÑтор типа npn
PFET_TRANSISTOR PJF Полевой транзиÑтор Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñющим pn-переходом Ñ ÐºÐ°Ð½Ð°Ð»Ð¾Ð¼ p-типа
NFET_TRANSISTOR NJF Полевой транзиÑтор Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñющим pn-переходом Ñ ÐºÐ°Ð½Ð°Ð»Ð¾Ð¼ n-типа
MESFET_TRANSISTOR - Полевой транзиÑтор Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð¾Ð¼ металл – полупроводник
1) GNU Free Documentation License
2) ÐаÑтоÑщий документ выпущен под Лицензией Свободной Документации GNU Ð±Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€Ñ Ñ‰ÐµÐ´Ñ€Ð¾Ñти Electroniscript, inc. Его поÑледнюю верÑию вÑегда можно найти на Ñтранице http://www.brorson.com/gEDA/HOWTO/.
3) УниверÑитет в Калифорнии, родина одной из ветвей Unix. — Прим. перев.
lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-exporting.ru.html0000644000175000017500000000564313634703632020654 00000000000000

ЭкÑпорт изображений

Ð’ gschem Ñтраницы Ñхем и Ñимволов можно ÑкÑпортировать в файлы изображений. Ð”Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð±ÐµÑ€Ð¸Ñ‚Ðµ Файл→Сохранить изображение… [File→Write image…], при Ñтом откроетÑÑ Ð¾ÐºÐ½Ð¾ выбора файла изображениÑ. Ð’ Ñтом окне можно выбрать файл, в который Ñледует Ñохранить изображение, формат данного файла и, еÑли необходимо, его размер.

ЕÑли в качеÑтве выходного формата выбрать PDF («Portable Document Format»), значение Ð¿Ð¾Ð»Ñ Â«Ð¨Ð¸Ñ€Ð¸Ð½Ð° x Ð’Ñ‹Ñота» [«Width x Height»] при Ñохранении иÑпользоватьÑÑ Ð½Ðµ будет. ВмеÑто Ñтого изображение будет подогнано под размеры Ñхемы или Ñимвола.

Формат PDF лучше вÑего подходит Ð´Ð»Ñ Ð²Ñтавки Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñимвола в документ, предназначенный Ð´Ð»Ñ Ñ€Ð°Ñпечатки. Ð”Ð»Ñ Ð²ÐµÐ±-Ñтраниц или презентаций лучше подойдёт PNG.

lepton-eda-1.9.10/docs/wiki/geda-developer.ru.html0000644000175000017500000004215413634703632016661 00000000000000

gEDA » Разработчикам

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

Ð”Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð²

Репозиторий иÑходных кодов

Клонирование (Ñоздание точной локальной копии) Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ gEDA/gaf Ñ Ð¸Ñпользованием анонимного доÑтупа:

git clone git://git.geda-project.org/geda-gaf.git

СиÑтемы отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº

СпиÑок раÑÑылки разработчиков

  • СпиÑок раÑÑылки geda-developer — Ñто ÑпиÑок Â«Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñкой только по приглашению».
  • Ð’Ñе диÑкуÑÑии публично открыты и архивируютÑÑ. Ð¢Ð°ÐºÐ°Ñ Ð¿Ð¾Ð»Ð¸Ñ‚Ð¸ÐºÐ° будет дейÑтвовать вÑегда.
  • Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð´Ð»Ñ Ð²Ñех пользователей и новых разработчиков: пожалуйÑта, Ð´Ð»Ñ Ð¾Ð±ÑÑƒÐ¶Ð´ÐµÐ½Ð¸Ñ Ð»ÑŽÐ±Ñ‹Ñ… вопроÑов подпиÑывайтеÑÑŒ на ÑпиÑок раÑÑылки geda-user, так как вÑе разработчики околачиваютÑÑ Ð¸ там тоже.
  • Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð´Ð»Ñ Ð½Ð¾Ð²Ñ‹Ñ… разработчиков: по мере вашего взаимодейÑÑ‚Ð²Ð¸Ñ Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¾Ð¼ (и разными лицами) вы можете быть приглашены приÑоединитьÑÑ Ðº ÑпиÑку раÑÑылки geda-developer.

Старый ÑпиÑок раÑÑылки разработчиков

СпиÑок задач, дел и проектов

  • Что Ñделать: ÑпиÑки виÑÑщих улучшений проекта и того, что надо ещё Ñделать.

Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð° и/или плодотворные идеи

Лето Кода Google

Проект gEDA принимал учаÑтие в Лете Кода Google (Google Summer of Code).

ЗдеÑÑŒ находÑÑ‚ÑÑ Ð°Ñ€Ñ…Ð¸Ð²Ñ‹ поручений и идей предыдущих лет:2007, 2008, 2009, 2010 (проект gEDA не принимал учаÑтие в 2009 и 2010 годах)

Ðаш опыт научил Ð½Ð°Ñ ÐºÐ¾Ðµ-чему, что каÑаетÑÑ ÑƒÑпешной работы над программами.

lepton-eda-1.9.10/docs/wiki/geda-icarus_ieee1364.html0000644000175000017500000005325513634703632017046 00000000000000

Icarus Verilog vs. IEEE1364

                Icarus Verilog vs. IEEE1364
                Copyright 2000 Stephen Williams

The IEEE1364 standard is the bible that defines the correctness of the
Icarus Verilog implementation and behavior of the compiled
program. The IEEE1364.1 is also referenced for matters of
synthesis. So the ultimate definition of right and wrong comes from
those documents.

That does not mean that a Verilog implementation is fully
constrained. The standard document allows for implementation specific
behavior that, when properly accounted for, does not effect the
intended semantics of the specified language. It is therefore possible
and common to write programs that produce different results when run
by different Verilog implementations.


STANDARDIZATION ISSUES

These are some issues where the IEEE1364 left unclear, unspecified or
simply wrong. I'll try to be precise as I can, and reference the
standard as needed. I've made implementation decisions for Icarus
Verilog, and I will make clear what those decisions are and how they
affect the language.

* OBJECTS CAN BE DECLARED ANYWHERE IN THE MODULE

Consider this module:

    module sample1;
        initial foo = 1;
	reg foo;
	wire tmp = bar;
	initial #1 $display("foo = %b, bar = %b", foo, tmp);
    endmodule

Notice that the ``reg foo;'' declaration is placed after the first
initial statement. It turns out that this is a perfectly legal module
according to the -1995 and -2000 versions of the standard. The
statement ``reg foo;'' is a module_item_declaration which is in turn a
module_item. The BNF in the appendix of IEEE1364-1995 treats all
module_item statements equally, so no order is imposed.

Furthermore, there is no text (that I can find) elsewhere in the
standard that imposes any ordering restriction. The sorts of
restrictions I would look for are "module_item_declarations must
appear before all other module_items" or "variables must be declared
textually before they are referenced." Such statements simply do not
exist. (Personally, I think it is fine that they don't.)

The closest is the rules for implicit declarations of variables that
are otherwise undeclared. In the above example, ``bar'' is implicitly
declared and is therefore a wire. However, although ``initial foo = 1;''
is written before foo is declared, foo *is* declared within the
module, and declared legally by the BNF of the standard.

Here is another example:

    module sample2;
	initial x.foo = 1;
        test x;
	initial #1 $display("foo = %b", x.foo);
    endmodule

    module test;
        reg foo;
    endmodule;

From this example one can clearly see that foo is once again declared
after its use in behavioral code. One also sees a forward reference of
an entire module. Once again, the standard places no restriction on
the order of module declarations in a source file, so this program is,
according to the standard, perfectly well formed.

Icarus Verilog interprets both of these examples according to "The
Standard As I Understand It." However, commercial tools in general
break down with these programs. In particular, the first example
may generate different errors depending on the tool. The most common
error is to claim that ``foo'' is declared twice, once (implicitly) as
a wire and once as a reg.

So the question now becomes, "Is the standard broken, or are the tools
limited?" Coverage of the standard seems to vary widely from tool to
tool so it is not clear that the standard really is at fault. It is
clear, however, that somebody goofed somewhere.

My personal opinion is that there is no logical need to require that
all module_item_declarations precede any other module items. I
personally would oppose such a restriction. It may make sense to
require that declarations of variables within a module be preceded by
their use, although even that is not necessary for the implementation
of efficient compilers.

However, the existence hierarchical naming syntax as demonstrated in
sample2 can have implications that affect any declaration order
rules. When reaching into a module with a hierarchical name, the
module being referenced is already completely declared (or not
declared at all, as in sample2) so module_item order is completely
irrelevant. But a "declare before use" rule would infect module
ordering, by requiring that modules that are used be first defined.


* TASK AND FUNCTION PARAMETERS CANNOT HAVE EXPLICIT TYPES

Consider a function negate that wants to take a signed integer value
and return its negative:

	function integer negate;
	    input [15:0] val;
	    negate = -val;
	endfunction

This is not quite right, because the input is implicitly a reg type,
which is unsigned. The result, then, will always be a negative value,
even if a negative val is passed in.

It is possible to fix up this specific example to work properly with
the bit pattern of a 16bit number, but that is not the point. What's
needed is clarification on whether an input can be declared in the
port declaration as well as in the contained block declaration.

As I understand the situation, this should be allowed:

	function integer negate;
	    input [15:0] val;
	    reg signed [15:0] val;
	    negate = -val;
	endfunction

In the -1995 standard, the variable is already implicitly a reg if
declared within a function or task. However, in the -2000 standard
there is now (as in this example) a reason why one might want to
actually declare the type explicitly.

I think that a port *cannot* be declared as an integer or time type
(though the result can) because the range of the port declaration must
match the range of the integer/time declaration, but the range of
integers is unspecified. This, by the way, also applies to module
ports.

With the above in mind, I have decided to *allow* function and task
ports to be declared with types, as long as the types are variable
types, such as reg or integer. Without this, there would be no
portable way to pass integers into functions/tasks. The standard does
not say it is allowed, but it doesn't *disallow* it, and other
commercial tools seem to work similarly.


* ROUNDING OF TIME

When the `timescale directive is present, the compiler is supposed to
round fractional times (after scaling) to the nearest integer. The
confusing bit here is that it is apparently conventional that if the
`timescale directive is *not* present, times are rounded towards zero
always.


* VALUE OF X IN PRIMITIVE OUTPUTS

The IEEE1364-1995 standard clearly states in Table 8-1 that the x
symbols is allowed in input columns, but is not allowed in
outputs. Furthermore, none of the examples have an x in the output of
a primitive. Table 8-1 in the IEEE1364-2000 also says the same thing.

However, the BNF clearly states that 0, 1, x and X are valid
output_symbol characters. The standard is self contradictory. So I
take it that x is allowed, as that is what Verilog-XL does.


* REPEAT LOOPS vs. REPEAT EVENT CONTROL

There seems to be ambiguity in how code like this should be parsed:

	repeat (5) @(posedge clk) <statement>;

There are two valid interpretations of this code, from the
IEEE1364-1995 standard. One looks like this:

    procedural_timing_control_statement ::=
          delay_or_event_control  statement_or_null

    delay_or_event_control ::=
          event_control
          | repeat ( expression ) event_control

If this interpretation is used, then the statement <statement> should
be executed after the 5th posedge of clk. However, there is also this
interpretation:

    loop_statement ::=
         repeat ( expression ) statement

If *this* interpretation is used, then <statement> should be executed
5 times on the posedge of clk. The way the -1995 standard is written,
these are both equally valid interpretations of the example, yet they
produce very different results. The standard offers no guidance on how
to resolve this conflict, and the IEEE1364-2000 DRAFT does not improve
the situation.

Practice suggests that a repeat followed by an event control should be
interpreted as a loop head, and this is what Icarus Verilog does, as
well as all the other major Verilog tools, but the standard does not
say this.

* UNSIZED NUMERIC CONSTANTS ARE NOT LIMITED TO 32 BITS

The Verilog standard allows Verilog implementations to limit the size
of unsized constants to a bit width of at least 32. That means that a
constant 17179869183 (36'h3_ffff_ffff) may overflow some compilers. In
fact, it is common to limit these values to 32bits. However, a
compiler may just as easily choose another width limit, for example
64bits. That value is equally good.

However, it is not *required* that an implementation truncate at 32
bits, and in fact Icarus Verilog does not truncate at all. It will
make the unsized constant as big as it needs to be to hold the value
accurately. This is especially useful in situations like this;

	    reg [width-1:0] foo = 17179869183;

The programmer wants the constant to take on the width of the reg,
which in this example is parameterized. Since constant sizes cannot be
parameterized, the programmer ideally gives an unsized constant, which
the compiler then expands/contracts to match the l-value.

Also, by choosing to not ever truncate, Icarus Verilog can handle code
written for a 64bit compiler as easily as for a 32bit compiler. In
particular, any constants that the user does not expect to be
arbitrarily truncated by his compiler will also not be truncated by
Icarus Verilog, no matter what that other compiler chooses as a
truncation point.


* UNSIZED EXPRESSIONS AS PARAMETERS TO CONCATENATION {}

The Verilog standard clearly states in 4.1.14:

	"Unsized constant numbers shall not be allowed in
	concatenations. This is because the size of each
	operand in the concatenation is needed to calculate
	the complete size of the concatenation."

So for example the expression {1'b0, 16} is clearly illegal. It
also stands to reason that {1'b0, 15+1} is illegal, for exactly the
same justification. What is the size of the expression (15+1)?
Furthermore, it is reasonable to expect that (16) and (15+1) are
exactly the same so far as the compiler is concerned.

Unfortunately, Cadence seems to feel otherwise. In particular, it has
been reported that although {1'b0, 16} causes an error, {1'b0, 15+1}
is accepted. Further testing shows that any expression other then a
simple unsized constant is accepted there, even if all the operands of
all the operators that make up the expression are unsized integers.

This is a semantic problem. Icarus Verilog doesn't limit the size of
integer constants. This is valid as stated in 2.5.1 Note 3:

	"The number of bits that make up an unsized number
	(which is a simple decimal number or a number without
	the size specification) shall be *at*least* 32."
	[emphasis added]

Icarus Verilog will hold any integer constant, so the size will be as
large as it needs to be, whether that is 64bits, 128bits, or
more. With this in mind, what is the value of these expressions?

	{'h1_00_00_00_00}
	{'h1 << 32}
	{'h0_00_00_00_01 << 32}
	{'h5_00_00_00_00 + 1}

These examples show that the standard is justified in requiring that
the operands of concatenation have size. The dispute is what it takes
to cause an expression to have a size, and what that size is.
Verilog-XL claims that (16) does not have a size, but (15+1) does. The
size of the expression (15+1) is the size of the adder that is
created, but how wide is the adder when adding unsized constants?

One might note that the quote from section 4.1.14 says "Unsized
*constant*numbers* shall not be allowed." It does not say "Unsized
expressions...", so arguably accepting (15+1) or even (16+0) as an
operand to a concatenation is not a violation of the letter of the
law. However, the very next sentence of the quote expresses the
intent, and accepting (15+1) as having a more defined size then (16)
seems to be a violation of that intent.

Whatever a compiler decides the size is, the user has no way to
predict it, and the compiler should not have the right to treat (15+1)
any differently then (16). Therefore, Icarus Verilog takes the
position that such expressions are *unsized* and are not allowed as
operands to concatenations. Icarus Verilog will in general assume that
operations on unsized numbers produce unsized results. There are
exceptions when the operator itself does define a size, such as the
comparison operators or the reduction operators. Icarus Verilog will
generate appropriate error messages.


* MODULE INSTANCE WITH WRONG SIZE PORT LIST

A module declaration like this declares a module that takes three ports:

	module three (a, b, c);
	  input a, b, c;
	  reg x;
	endmodule

This is fine and obvious. It is also clear from the standard that
these are legal instantiations of this module:

	three u1 (x,y,z);
	three u2 ( ,y, );
	three u3 ( , , );
	three u4 (.b(y));

In some of the above examples, there are unconnected ports. In the
case of u4, the pass by name connects only port b, and leaves a and c
unconnected. u2 and u4 are the same thing, in fact, but using
positional or by-name syntax. The next example is a little less
obvious:

	three u4 ();

The trick here is that strictly speaking, the parser cannot tell
whether this is a list of no pass by name ports (that is, all
unconnected) or an empty positional list. If this were an empty
positional list, then the wrong number of ports is given, but if it is
an empty by-name list, it is an obviously valid instantiation. So it
is fine to accept this case as valid.

These are more doubtful:

	three u5(x,y);
	three u6(,);

These are definitely positional port lists, and they are definitely
the wrong length. In this case, the standard is not explicit about
what to do about positional port lists in module instantiations,
except that the first is connected to the first, second to second,
etc. It does not say that the list must be the right length, but every
example of unconnected ports used by-name syntax, and every example of
ordered list has the right size list.

Icarus Verilog takes the (very weak) hint that ordered lists should be
the right length, and will therefore flag instances u5 and u6 as
errors. The IEEE1364 standard should be more specific one way or the
other.

* UNKNOWN VALUES IN L-VALUE BIT SELECTS

Consider this example:

	reg [7:0] vec;
	wire [4:0] idx = <expr>;
	[...]
	vec[idx] = 1;

So long as the value of idx is a valid bit select address, the
behavior of this assignment is obvious. However, there is no explicit
word in the standard as to what happens if the value is out of
range. The standard clearly states the value of an expression when the
bit-select or part select is out of range (the value is x) but does
not address the behavior when the expression is an l-value.

Icarus Verilog will take the position that bit select expressions in
the l-value will select oblivion if it is out of range. That is, if
idx has a value that is not a valid bit select of vec, then the
assignment will have no effect.


* SCHEDULING VALUES IN LOGIC

The interaction between blocking assignments in procedural code and
logic gates in gate-level code and expressions is poorly defined in
Verilog. Consider this example:

   reg a;
   reg b;
   wire q = a & b;

   initial begin
      a = 1;
      b = 0;
      #1 b = 1;
      if (q !== 0) begin
	 $display("FAILED -- q changed too soon? %b", q);
	 $finish;
      end
   end

This is a confusing situation. It is clear from the Verilog standard
that an assignment to a variable using a blocking assign causes the
l-value to receive the value before the assignment completes. This
means that a subsequent read of the assigned variable *must* read back
what was blocking-assigned.

However, in the example above, the "wire q = a & b" expresses some
gate logic between a/b and q. The standard does not say whether a read
out of logic should read the value computed from previous assigns to
the input from the same thread. Specifically, when "a" and "b" are
assigned by blocking assignments, will a read of "q" get the computed
value or the existing value?

In fact, existing commercial tools do it both ways. Some tools print
the FAILED message in the above example, and some do not. Icarus
Verilog does not print the FAILED message in the above example,
because the gate value change is *scheduled* when inputs are assigned,
but not propagated until the thread gives up the processor.

Icarus Verilog chooses this behavior in order to filter out zero-width
pulses as early as possible. The implication of this is that a read of
the output of combinational logic will most likely *not* reflect the
changes in inputs until the thread that changed the inputs yields
execution.


* BIT AND PART SELECTS OF PARAMETERS

Bit and part selects are supposed to only be supported on vector nets
and variables (wires, regs, etc.) However, it is common for Verilog
compilers to also support bit and part select on parameters. Icarus
Verilog also chooses to support bit and part selects on parameter
names, but we need to define what that means.

A bit or a part select on a parameter expression returns an unsigned
value with a defined size. The parameter value is considered be a
constant vector of bits foo[X:0]. That is, zero based. The bit and
part selects operate from that assumption.

Verilog 2001 adds syntax to allow the user to explicitly declare the
parameter range (i.e. parameter [5:0] foo = 9;) so Icarus Verilog will
(or should) use the explicitly declared vector dimensions to interpret
bit and part selects.


* EDGES OF VECTORS

Consider this example:

   reg [ 5:0] clock;
   always @(posedge clock) [do stuff]

The IEEE1364 standard clearly states that the @(posedge clock) looks
only at the bit clock[0] (the least significant bit) to search for
edges. It has been pointed out by some that Verilog XL instead
implements it as "@(posedge |clock)": it looks for a rise in the
reduction or of the vector. Cadence Design Systems technical support
has been rumored to claim that the IEEE1364 specification is wrong,
but NC-Verilog behaves according to the specification, and thus
different from XL.

Icarus Verilog, therefore, takes the position that the specification
is clear and correct, and it behaves as does NC-Verilog in this
matter.


* REAL VARIABLES IN $dumpoff DEAD-ZONES

The IEEE1364 standard clearly states that in VCD files, the $dumpoff
section checkpoints all the dumped variables as X values. For reg and
wire bits/vectors, this obviously means 'bx values. Icarus Verilog
does this, for example:

    $dumpoff
    x!
    x"
    $end

Real variables can also be included in VCD dumps, but it is not at
all obvious what is supposed to be dumped into the $dumpoff-$end
section of the VCD file. Verilog-XL dumps "r0 !" to set the real
variables to the dead-zone value of 0.0, whereas other tools, such as
ModelTech, ignore real variables in this section.

For example (from XL):

    $dumpoff
    r0 !
    r0 "
    $end

Icarus Verilog dumps NaN values for real variables in the
$dumpoff-$end section of the VCD file. The NaN value is the IEEE754
equivalent of an unknown value, and so better reflects the unknown
(during the dead zone) status of the variable, like this:

    $dumpoff
    rNaN !
    rNaN "
    $end

It turns out that NaN is conventionally accepted by scanf functions,
and viewers that support real variables support NaN values. So while
the IEEE1364 doesn't require this behavior, and given the variety that
already seems to exist amongst VCD viewers in the wild, this behavior
seems to be acceptable according to the standard, is a better mirror
of 4-value behavior in the dead zone, and appears more user friendly
when viewed by reasonable viewers.


$Id: ieee1364-notes.txt,v 1.17 2003/07/15 03:49:22 steve Exp $
$Log: ieee1364-notes.txt,v $
Revision 1.17  2003/07/15 03:49:22  steve
 Spelling fixes.

Revision 1.16  2003/04/14 03:40:21  steve
 Make some effort to preserve bits while
 operating on constant values.

Revision 1.15  2003/02/16 23:39:08  steve
 NaN in dead zones of VCD dumps.

Revision 1.14  2003/02/06 17:51:36  steve
 Edge of vectors notes.

Revision 1.13  2002/08/20 04:11:53  steve
 Support parameters with defined ranges.

Revision 1.12  2002/06/11 03:34:33  steve
 Spelling patch (Larry Doolittle)

Revision 1.11  2002/04/27 02:38:04  steve
 Support selecting bits from parameters.

Revision 1.10  2002/03/31 01:54:13  steve
 Notes about scheduling

Revision 1.9  2002/01/26 02:08:07  steve
 Handle x in l-value of set/x

Revision 1.8  2001/08/01 05:17:31  steve
 Accept empty port lists to module instantiation.

Revision 1.7  2001/02/17 05:27:31  steve
 I allow function ports to have types.

Revision 1.6  2001/02/12 16:48:04  steve
 Rant about bit widths.

Revision 1.5  2001/01/02 17:28:08  steve
 Resolve repeat ambiguity in favor of loop.

Revision 1.4  2001/01/01 19:12:35  steve
 repeat loops ambiguity.

Revision 1.3  2000/12/15 00:21:46  steve
 rounding of time and x in primitives.

Revision 1.2  2000/11/19 22:03:04  steve
 Integer parameter comments.

Revision 1.1  2000/07/23 18:06:31  steve
 Document ieee1364 issues.
lepton-eda-1.9.10/docs/wiki/geda-icarus_readme.html0000644000175000017500000006252513634703632017056 00000000000000

gEDA » Documentation » Icarus Verilog » The Icarus Verilog Compilation System

The Icarus Verilog Compilation System

Copyright 2000-2004 Stephen Williams

What is ICARUS Verilog?

Icarus Verilog is intended to compile ALL of the Verilog HDL as described in the IEEE-1364 standard. Of course, it's not quite there yet. It does currently handle a mix of structural and behavioral constructs. For a view of the current state of Icarus Verilog, see its home page at http://www.icarus.com/eda/verilog.

Icarus Verilog is not aimed at being a simulator in the traditional sense, but a compiler that generates code employed by back-end tools.

For instructions on how to run Icarus Verilog, see the iverilog(1) man page.

Building/Installing Icarus Verilog From Source

If you are starting from source, the build process is designed to be as simple as practical. Someone basically familiar with the target system and C/C++ compilation should be able to build the source distribution with little effort. Some actual programming skills are not required, but helpful in case of problems.

If you are building for Windows, see the mingw.txt file.

Compile Time Prerequisites

You need the following software to compile Icarus Verilog from source on a UNIX-like system:

  • GNU Make
    The Makefiles use some GNU extensions, so a basic POSIX make will not work. Linux systems typically come with a satisfactory make. BSD based systems (i.e., NetBSD, FreeBSD) typically have GNU make as the gmake program.
  • ISO C++ Compiler
    The ivl and ivlpp programs are written in C++ and make use of templates and some of the standard C++ library. egcs and recent gcc compilers with the associated libstdc++ are known to work. MSVC++ 5 and 6 are known to definitely *not* work.
  • bison and flex
  • gperf 2.7
    The lexical analyzer doesn't recognize keywords directly, but instead matches symbols and looks them up in a hash table in order to get the proper lexical code. The gperf program generates the lookup table.
    A version problem with this program is the most common cause of difficulty. See the Icarus Verilog FAQ.
  • readline 4.2
    On Linux systems, this usually means the readline-devel rpm. In any case, it is the development headers of readline that are needed.
  • termcap
    The readline library in turn uses termcap.

If you are building from git, you will also need software to generate the configure scripts.

  • autoconf 2.53
    This generates configure scripts from configure.in. The 2.53 or later versions are known to work, autoconf 2.13 is reported to *not* work.

Compilation

Unpack the tar-ball and cd into the verilog-######### directory and compile the source with the commands:

./configure
make

Normally, this command automatically figures out everything it needs to know. It generally works pretty well. There are a few flags to the configure script that modify its behavior:

	--prefix=<root>
	    The default is /usr/local, which causes the tool suite to
	    be compiled for install in /usr/local/bin,
	    /usr/local/share/ivl, etc.

	    I recommend that if you are configuring for precompiled
	    binaries, use --prefix=/usr.  On Solaris systems, it is
	    common to use --prefix=/opt.  You can configure for a non-root
	    install with --prefix=$HOME.

	--enable-suffix
	--enable-suffix=<your-suffix>
	--disable-suffix
	    Enable/disable changing the names of install files to use
	    a suffix string so that this version or install can co-
	    exist with other versions. This renames the installed
	    commands (iverilog, iverilog-vpi, vvp) and the installed
	    library files and include directory so that installations
	    with the same prefix but different suffix are guaranteed
	    to not interfere with each other.

(Optional) Testing

To run a simple test before installation, execute

make check

The commands printed by this run might help you in running Icarus Verilog on your own Verilog sources before the package is installed by root.

Installation

Now install the files in an appropriate place. (The makefiles by default install in /usr/local unless you specify a different prefix with the –prefix=<path> flag to the configure command.) You may need to do this as root to gain access to installation directories.

make install

Uninstallation

The generated Makefiles also include the uninstall target. This should remove all the files that make install creates.

How Icarus Verilog Works

This tool includes a parser which reads in Verilog (plus extensions) and generates an internal netlist. The netlist is passed to various processing steps that transform the design to more optimal/practical forms, then is passed to a code generator for final output. The processing steps and the code generator are selected by command line switches.

Preprocessing

There is a separate program, ivlpp, that does the preprocessing. This program implements the `include and `define directives producing output that is equivalent but without the directives. The output is a single file with line number directives, so that the actual compiler only sees a single input file. See ivlpp/ivlpp.txt for details.

Parse

The Verilog compiler starts by parsing the Verilog source file. The output of the parse is a list of Module objects in “pformâ€. The pform (see pform.h) is mostly a direct reflection of the compilation step. There may be dangling references, and it is not yet clear which module is the root.

One can see a human readable version of the final pform by using the -P <path> flag to the ivl subcommand. This will cause ivl to dump the pform into the file named <path>. (Note that this is not normally done, unless debugging the ivl subcommand.)

Elaboration

This phase takes the pform and generates a netlist. The driver selects (by user request or lucky guess) the root module to elaborate, resolves references and expands the instantiations to form the design netlist. (See netlist.txt.) Final semantic checks are performed during elaboration, and some simple optimizations are performed. The netlist includes all the behavioral descriptions, as well as gates and wires.

The elaborate() function performs the elaboration.

One can see a human readable version of the final, elaborated and optimized netlist by using the -N <path> flag to the compiler. If elaboration succeeds, the final netlist (i.e., after optimizations but before code generation) will be dumped into the file named <path>.

Elaboration is actually performed in two steps: scopes and parameters first, followed by the structural and behavioral elaboration.

Scope Elaboration

This pass scans through the pform looking for scopes and parameters. A tree of NetScope objects is built up and placed in the Design object, with the root module represented by the root NetScope object. The elab_scope.cc file contains most of the code for handling this phase.

The tail of the elaborate_scope behavior (after the pform is traversed) includes a scan of the NetScope tree to locate defparam assignments that were collected during scope elaboration. This is when the defparam overrides are applied to the parameters.

Netlist Elaboration

After the scopes and parameters are generated and the NetScope tree fully formed, the elaboration runs through the pform again, this time generating the structural and behavioral netlist. Parameters are elaborated and evaluated by now so all the constants of code generation are now known locally, so the netlist can be generated by simply passing through the pform.

Optimization

This is actually a collection of processing steps that perform optimizations that do not depend on the target technology. Examples of some useful transformations are

  • eliminate null effect circuitry
  • combinational reduction
  • constant propagation

The actual functions performed are specified on the ivl command line by the -F flags (see below).

Code Generation

This step takes the design netlist and uses it to drive the code generator (see target.h). This may require transforming the design to suit the technology.

The emit() method of the Design class performs this step. It runs through the design elements, calling target functions as need arises to generate actual output.

The user selects the target code generator with the -t flag on the command line.

Attributes

The $attribute syntax will soon be deprecated in favor of the Verilog-2001 attribute syntax, which is cleaner and standardized.

The parser accepts, as an extension to Verilog, the $attribute module item. The syntax of the $attribute item is:

$attribute (<identifier>, <key>, <value>);

The $attribute keyword looks like a system task invocation. The difference here is that the parameters are more restricted than those of a system task. The <identifier> must be an identifier. This will be the item to get an attribute. The <key> and <value> are strings, not expressions, that give the key and the value of the attribute to be attached to the identified object.

Attributes are [<key> <value>] pairs and are used to communicate with the various processing steps. See the documentation for the processing step for a list of the pertinent attributes.

Attributes can also be applied to gate types. When this is done, the attribute is given to every instantiation of the primitive. The syntax for the attribute statement is the same, except that the <identifier> names a primitive earlier in the compilation unit and the statement is placed in global scope, instead of within a module. The semicolon is not part of a type attribute.

Note that attributes are also occasionally used for communication between processing steps. Processing steps that are aware of others may place attributes on netlist objects to communicate information to later steps.

Icarus Verilog also accepts the Verilog 2001 syntax for attributes. They have the same general meaning as with the $attribute syntax, but they are attached to objects by position instead of by name. Also, the key is a Verilog identifier instead of a string.

Running iverilog

The preferred way to invoke the compiler is with the iverilog(1) command. This program invokes the preprocessor (ivlpp) and the compiler (ivl) with the proper command line options to get the job done in a friendly way. See the iverilog(1) man page for usage details.

Examples

Example: Compiling hello.vl

"hello.vl"
module main();
 
initial
  begin
    $display("Hi there");
    $finish ;
  end
 
endmodule

Ensure that iverilog is on your search path, and the vpi library is available.

To compile the program:

iverilog hello.vl

(The above presumes that /usr/local/include and /usr/local/lib are part of the compiler search path, which is usually the case for gcc.)

To run the program:

./a.out

You can use the -o switch to name the output command to be generated by the compiler. See the iverilog(1) man page.

Unsupported Constructs

Icarus Verilog is in development—as such it still only supports a (growing) subset of Verilog. Below is a description of some of the currently unsupported Verilog features. This list is not exhaustive, and does not account for errors in the compiler. See the Icarus Verilog web page for the current state of support for Verilog, and in particular, browse the bug report database for reported unsupported constructs.

  • System functions are supported, but the return value is a little tricky. See SYSTEM FUNCTION TABLE FILES in the iverilog man page.
  • Specify blocks are parsed but ignored in general.
  • trireg is not supported. tri0 and tri1 are supported.
  • tran primitives, i.e. tran, tranif1, tranif0, rtran, rtranif1 and rtranif0 are not supported.
  • Net delays, of the form wire #N foo; do not work. Delays in every other context do work properly, including the V2001 form wire #5 foo = bar;
  • Event controls inside non-blocking assignments are not supported. i.e.: a ⇠@(posedge clk) b;
  • Macro arguments are not supported. `define macros are supported, but they cannot take arguments.

Nonstandard Constructs or Behaviors

Icarus Verilog includes some features that are not part of the IEEE1364 standard, but have well defined meaning, and also sometimes gives nonstandard (but extended) meanings to some features of the language that are defined. See the extensions.txt documentation for more details.

    $is_signed(<expr>)
	This system function returns 1 if the expression contained is
	signed, or 0 otherwise. This is mostly of use for compiler
	regression tests.

    $sizeof(<expr>)
    $bits(<expr>)
	The $bits system function returns the size in bits of the
	expression that is its argument. The result of this
	function is undefined if the argument doesn't have a
	self-determined size.

	The $sizeof function is deprecated in favor of $bits, which is
	the same thing, but included in the SystemVerilog definition.

    $simtime
	The $simtime system function returns as a 64bit value the
	simulation time, unscaled by the time units of local
	scope. This is different from the $time and $stime functions
	which return the scaled times. This function is added for
	regression testing of the compiler and run time, but can be
	used by applications who really want the simulation time.

	Note that the simulation time can be confusing if there are
	lots of different `timescales within a design. It is not in
	general possible to predict what the simulation precision will
	turn out to be.

    $mti_random()
    $mti_dist_uniform
	These functions are similar to the IEEE1364 standard $random
	functions, but they use the Mersenne Twister (MT19937)
	algorithm. This is considered an excellent random number
	generator, but does not generate the same sequence as the
	standardized $random.

    Builtin system functions

	Certain of the system functions have well defined meanings, so
	can theoretically be evaluated at compile time, instead of
	using runtime VPI code. Doing so means that VPI cannot
	override the definitions of functions handled in this
	manner. On the other hand, this makes them synthesizable, and
	also allows for more aggressive constant propagation. The
	functions handled in this manner are:

		$bits
		$signed
		$sizeof
		$unsigned

	Implementations of these system functions in VPI modules will
	be ignored.

    Preprocessing Library Modules

	Icarus Verilog does preprocess modules that are loaded from
	libraries via the -y mechanism. However, the only macros
	defined during compilation of that file are those that it
	defines itself (or includes) or that are defined on the
	command line or command file.

	Specifically, macros defined in the non-library source files
	are not remembered when the library module is loaded. This is
	intentional. If it were otherwise, then compilation results
	might vary depending on the order that libraries are loaded,
	and that is too unpredictable.

	It is said that some commercial compilers do allow macro
	definitions to span library modules. That's just plain weird.

    Width in %t Time Formats

	Standard Verilog does not allow width fields in the %t formats
	of display strings. For example, this is illegal:

		$display("Time is %0t", %time);

	Standard Verilog instead relies on the $timeformat to
	completely specify the format.

	Icarus Verilog allows the programmer to specify the field
	width. The "%t" format in Icarus Verilog works exactly as it
	does in standard Verilog. However, if the programmer chooses
	to specify a minimum width (i.e., "%5t"), then for that display
	Icarus Verilog will override the $timeformat minimum width and
	use the explicit minimum width.

    vpiScope iterator on vpiScope objects.

	In the VPI, the normal way to iterate over vpiScope objects
	contained within a vpiScope object, is the vpiInternalScope
	iterator. Icarus Verilog adds support for the vpiScope
	iterator of a vpiScope object, that iterates over *everything*
	the is contained in the current scope. This is useful in cases
	where one wants to iterate over all the objects in a scope
	without iterating over all the contained types explicitly.

    time 0 race resolution.

	Combinational logic is routinely modeled using always
	blocks. However, this can lead to race conditions if the
	inputs to the combinational block are initialized in initial
	statements. Icarus Verilog slightly modifies time 0 scheduling
	by arranging for always statements with ANYEDGE sensitivity
	lists to be scheduled before any other threads. This causes
	combinational always blocks to be triggered when the values in
	the sensitivity list are initialized by initial threads.

    Nets with Types

	Icarus Verilog support an extension syntax that allows nets
	and regs to be explicitly typed. The currently supported types
	are logic, bool and real. This implies that "logic" and "bool"
	are new keywords. Typical syntax is:

	wire real foo = 1.0;
	reg logic bar, bat;

	... and so forth. The syntax can be turned off by using the
	-g2 flag to iverilog, and turned on explicitly with the -g2x
	flag to iverilog.

Credits

Except where otherwise noted, Icarus Verilog, ivl and ivlpp are Copyright Stephen Williams. The proper notices are in the head of each file. However, I have early on received aid in the form of fixes, Verilog guidance, and especially testing from many people. Testers in particular include a larger community of people interested in a GPL Verilog for Linux.

lepton-eda-1.9.10/docs/wiki/images/0000755000175000017500000000000013634704607014005 500000000000000lepton-eda-1.9.10/docs/wiki/images/windows.gif0000644000175000017500000000033713634703632016106 00000000000000GIF89aĆ„†„ÄÆÄìîì4bÌ´¶´ÎÌžœ„‚„”–”ìÖÄüþôÔÖÔtrt42ÌdžÌœžœüþü!ù ,\ "ŽdižhZ>lë¶âcÌt=?À3í|¿K¸‡c@, ‡€aK8F©&ج@6-xFA –8ˆ:`0X€\®x&ˆv1Íûxy|}(„*ˆ‰"!;lepton-eda-1.9.10/docs/wiki/images/tocdot2.gif0000644000175000017500000000145213634703632015771 00000000000000GIF89a÷,FLDbtÇ‚K|Wÿöÿç€ÿ|ÿ [æçâNÀ÷8b>ç‚|¸¾ï>N‚|Ä¿çOãÿÿ¤æç¸_¾?>‚‚||¸_æä ®NG!ù, ;lepton-eda-1.9.10/docs/wiki/images/link_icon.gif0000644000175000017500000000165613634703632016366 00000000000000GIF89a÷6p:xNNN=€?„J“!Qš$U›&V'ZŸ(^¡,d§1g§3lª6p­:u±?~¶HV¤ù`¬ùl±ùp³ù{»ùÿ’„¹N‹¾V—Äf›ÅjÆm£Éu‹‹‹†¾ù¬Ì‚ŠÂú›ÉúŸËúªÑú¶Öú¹ÖúÈÞûÙçËÓãýØèýêêêäîþèïþðõþöùþ!ù,‹-H° ÁƒvX( ¡…… ˜(! ¡Á '0'+,),,!-9>_'7G%=S=AC/Uu nætú€Õªqktv³YªÈ¾`0Á†RN3D‚}Ðí#{ÏŸóål[ l [~€y>p‰t?@7xzz{ŸŸŒg{|°P;’“ ¼ —©¢©„†™‹ ³˜ÄŸÈl²°ØØ9´Ž?࿵\[°˜gÕ×µŒÒИFÖôØÕÙùÛqlÚßùì±ÃFï*WÙ¸g¯!¹…Øȧo@~Ž®ˆ£H"E{pê@áûˆíSŽ(9ª4ÀÒE?Q| P™ò#Db –!$1›=œËðéÑ€-o#üx°‘¦=›¶8aC@Ìh@• Y³¦-–QF„BpÜLšhÓª]»Ö¨›ŒZ`Ëq Ý»jÁ†µñ¡¯ß¿ED;lepton-eda-1.9.10/docs/wiki/images/smileys/icon_wink.gif0000644000175000017500000000025213634703632020055 00000000000000GIF89aó ÿêEEEÿÎÿÉþÿ´ÿþ“ÿýÿÿÇÿåÿÿë!ù ,WIj˜Õ•ÎpœCLA'œ0®ÚñÆ0¨%&pû/‚*pèý`Cå€Ã%+½fP4O…pUõÅ‚:Í` ˜³„kLh·Õ¢€anfXÚ$;lepton-eda-1.9.10/docs/wiki/images/smileys/icon_neutral.gif0000644000175000017500000000025313634703632020560 00000000000000GIF89aó ÿêEEEÿÎÿÉþÿ´ÿþ“ÿýÿÿÇÿåÿÿë!ù ,XIj˜Õ•ÎpœCLA'œ§ ¤«v¼pj‰ à¿A8ø€8‚¡rÈ9ÊŠï)\Ô“b¸ºþd`a§ ¹-e&¸ÝkQÀ@73,Km;lepton-eda-1.9.10/docs/wiki/images/smileys/delete.gif0000644000175000017500000000070013634703632017335 00000000000000GIF89aPó*&cVEEE“å®þÕÿèÿï8çÍ1ÿòd§Žþö“ÎÎÌ™™™ÿÿÿ!ù,PþðI9ª½8ëÍ»¿SøT cžhª®lë¾fR‰CÉ(Ê­XxïÿÀ ,ˆda0©™p‹ãá°$¯Ãa@¸z¿Ã¯8,.“è%夈:FÃA¯¢ÑCô0Üÿy€‚ƒƒ†~LlwwC—x“hY~Y‚™›wK7hSqsv©†‚ —•œ½À ÄÆh«Š®ÏO5o 5Σ“®CÛ~¼ÜßÞá‚ßÝéâáÍÏÐm©Ô×õïì~|®¤YýæÄùøÎߺUø\UH Ï=kÖî hAmóáËól]Âgn^P3@A*ím ¸'@HSÃ^eʘLfU^Â$`³#Å‘()$8YK‚:}jò”¥ 8ÕÀžtR5=õ r$ ÐÀÃð±¬Ù³hÓŠT¢‚Îg Ô>Ã(·.ZX"š|ØË·o_;lepton-eda-1.9.10/docs/wiki/images/smileys/icon_question.gif0000644000175000017500000000026613634703632020761 00000000000000GIF89aó /+|s_WEEE´¡þÒ»ýµßÍüÏÿíÿþ“ÿÿÇÿÿë!ù,cðIIjøU×SFpKY*1Ý’C¡,¨ª1%ЪQIàs´W:4w ¢Â4™bJ0™°37\* ¦š†|üh Šb¾ æjùüP¸çWRRJ€;lepton-eda-1.9.10/docs/wiki/images/smileys/icon_eek.gif0000644000175000017500000000025213634703632017651 00000000000000GIF89aó ÿÿÿÿêEEEÿÎÿÉÿ´þÿåÿýÿþ“ÿÿëÿÿÇ!ù ,W°I9j¸ÕÅ”"ŒI"œc0@œë6r ¼µ+ﱫۮ00¨½P6â ‘‚¡F† ÁIEÍôy,€(Âi%`'ƒpa½6g1ƒÜ€}g4»$;lepton-eda-1.9.10/docs/wiki/images/smileys/icon_fun.gif0000644000175000017500000000026313634703632017677 00000000000000GIF89aóEEEð´ç›þÐÿçÿî0éÊ0ÿñRÿôpêÍFÿ÷‘÷ñ°èß¾ÿÿø!ù,`ðIjøÕ¶ú¹XÐ0‚†L"¹œF!« À2PkÀ07]® Sù^1aGhV‰“LÙt‰$³jUœà0 9è}h4@@Óré± ÌZÁäU( `–õ€;lepton-eda-1.9.10/docs/wiki/images/smileys/icon_lol.gif0000644000175000017500000000053013634703632017672 00000000000000GIF89aó ÿêÿÿÿEEEÿÎÿÉþÿýÿþ“ÿÿÇÿÿëÿ´ÿå!ÿ NETSCAPE2.0!ù ,Z°I9j¸U•"6(pAi Ó˜hœ®r1€Zrë)\a5°ÉŽ…E<¦”ƒCiJ-A )v+ Y,€Û-ð4£j¦QÒ…xœàn ø1c·d"!ùÿ, p(pN¸ÀŒD¯b£ ’…úa@üƱ Ðõ!ù ÿ,„-™!ù ÿ,Œ ™!ù ÿ,„-™!ùÿ,Œ ™;lepton-eda-1.9.10/docs/wiki/images/smileys/icon_confused.gif0000644000175000017500000000025313634703632020714 00000000000000GIF89aó ÿêEEEÿÎÿÉþÿ´ÿþ“ÿýÿÿÇÿåÿÿë!ù ,XIj˜Õ•ÎpœCLA''ð¦«v˜qj Ÿ?‚*pÆ‚†Ê!Ç’\óô¬ ¦'…p¸þd/ÂN3(^0-U&¸ÝkQÀ@7 3,Km;lepton-eda-1.9.10/docs/wiki/images/smileys/icon_silenced.gif0000644000175000017500000000026113634703632020673 00000000000000GIF89aó ÿêEEEÿÎÿÉÿýÿ´þÿþ“ÿÿÇÿåÿÿërpX!ù ,^°Ij¸Õ…Îpœ‚LA§œ°’®ÚñÂ1¨!& ¼¿Ó@8ôp°A¡r81°'@Y11 è5K œØ-#1\yÁYè@§|ŸáµŠ%‡ç¢À³ð e44;lepton-eda-1.9.10/docs/wiki/images/smileys/icon_sad.gif0000644000175000017500000000025313634703632017655 00000000000000GIF89aó ÿêEEEÿÎÿÉþÿ´ÿþ“ÿýÿÿÇÿåÿÿë!ù ,XIj˜Õ•ÎpœCLA'œ°®ÚñÂ1¨%&pû'‚*pèýnCå€k’•ž3¨ ¦'…pe= ¾ß§N3ü ™ŠU&¸Ý³LÅ@7 3, m;lepton-eda-1.9.10/docs/wiki/images/smileys/icon_doubt2.gif0000644000175000017500000000026413634703632020307 00000000000000GIF89aóEEEç›ð´þÑÿçéÊ0ÿî/êÍFÿòSÿôqÿ÷èß¾÷ñ°ÿûÀ!ù,aðIjøUÖ–B0Ž—$Ç1ÓèÊy@±R¯’Å ¬@£«ñjÂJè9 Èd…ˆâñ’ØŠBg-`³DÕ‹(Á±À6³4†#;iF·ײ]Ño;lepton-eda-1.9.10/docs/wiki/images/smileys/icon_smile.gif0000644000175000017500000000025613634703632020222 00000000000000GIF89aóÿêEEEÿÎÿÉÿ´þÿþ“ÿýÿÿÿÿÿÇ333ÿÿëÿå!ù,[ÐIjØU¦ÎpœƒLA''ð¦«v˜qj Ÿ?‚*pÆ‚…Ê!Ç’Ó¢ X<+Ùk»®YAb<všÁ Á5ÓXj‚\þ øÂ0òÔ&;lepton-eda-1.9.10/docs/wiki/images/smileys/icon_surprised.gif0000644000175000017500000000025613634703632021131 00000000000000GIF89aó ÿêEEEÿÿÿÿÎÿÉþÿ´ÿþ“ÿýÿÿÇÿåÿÿë!ù ,[°Ij¸U¦"pIœ„LA''𦫆˜qj Ÿ¿‚*pÆ‚‡ "Ç’œìõ:=+à`»,„«@VÀívaA6ÓXêõ¬ÊTøÃ0òÔ&;lepton-eda-1.9.10/docs/wiki/images/smileys/icon_exclaim.gif0000644000175000017500000000025313634703632020530 00000000000000GIF89aó///ldEEEpnV¼¬þÿ´ÅµþÍÿìÒÁÿþ“ÿÿÇÿÿë!ù,XðI9jøU×K6pJY&Æ0 ])Å™RŒùÆJjŽ©Ü&T¥fB|‰ÃЇ •Ÿ BRr6À–Âi§ÑXÝŒ¢k·×«Áa~H©2Ë};lepton-eda-1.9.10/docs/wiki/images/open.gif0000644000175000017500000000006613634703632015354 00000000000000GIF89a €cŒœ!ù ,  Œ©Ë£”až˜€+;lepton-eda-1.9.10/docs/wiki/geda-icarus_opcodes.html0000644000175000017500000006167513634703632017262 00000000000000

Executable Instruction Opcodes

/*
 * Copyright (c) 2001-2003 Stephen Williams (steve@icarus.com)
 *
 *  $Id: opcodes.txt,v 1.69 2005/11/26 17:16:05 steve Exp $
 */



EXECUTABLE INSTRUCTION OPCODES

Instruction opcodes all start with a % character and have 0 or more
operands. In no case are there more then 3 operands. This chapter
describes the specific behavior of each opcode, in enough detail
(I hope) that its complete effect can be predicted.

General principles of Arithmetic:

The binary arithmetic instruction in general take three parameters,
the left operand, the right operand, and the base. The left operand is
replaced with the result, which is the same width as the left and
right operands.


* %add <bit-l>, <bit-r>, <wid>

This instruction adds the right vector into the left vector, the
vectors having the width <wid>. If any of the bits of either vector
are x or z, the result is x. Otherwise, the result is the arithmetic
sum.

See also the %sub instruction.


* %add/wr <bit-l>, <bit-r>

This is the real valued version of the %add instruction. The arguments
are word indices of the operands. The right operand is added into the
left operand.

See also the %sub/wr instruction.


* %addi <bit-l>, <imm>, <wid>

This instruction adds the immediate value (no x or z bits) into the
left vector. The imm value is limited to 16 significant bits, but it
is zero extended to match any width.

* %and <bit-l>, <bit-r>, <wid>

Perform the bitwise AND of the two vectors, and store the result in
the left vector. Each bit is calculated independent of other bits. AND
means the following:

	0 and ? --> 0
	? and 0 --> 0
	1 and 1 --> 1
	otherwise   x

* %assign/m <memory-label>, <delay>, <bit> (OBSOLETE)

This instruction does a non-blocking assignment to a bit in a memory
from the specified thread register <bit>.  The memory bit is addressed
by index register 3.  Bit address zero is the LSB of the first memory
word.

* %assign/mv <memory-label>, <delay>, <bit>

the %assign/mv instruction assigns a vector value to a word in the
labeled memory. The <delay> is the delay in simulation time to the
assignment (0 for non-blocking assignment) and the <bit> is the base
of the vector to write.

The width of the word is retrieved from index register 0.

The address of the word in the memory is from index register 3. The
address is canonical form.

* %assign/v0 <var-label>, <delay>, <bit>
* %assign/v0/d <var-label>, <delayx>, <bit>

The %assign/v0 instruction is a vector version of non-blocking
assignment. The <delay> is the number of clock ticks in the future
where the assignment should be schedule, and the <bit> is the base of
the vector to be assigned to the destination. The vector width is in
index register 0.

The %assign/v0/d variation puts the delay instead into an integer
register that is given by the <delayx> value. This should not be 0, of
course, because integer 0 is taken with the vector width.

The <var-label> references a .var object that can receive non-blocking
assignments. For blocking assignments, see %set/v.

* %assign/v0x1 <var-label>, <delay>, <bit>

This is similar to the %assign/v0 instruction, but adds the index-1
index register with the canonical index of the destination where the
vector is to be written. This allows for part writes into the vector.

* %assign/wr <vpi-label>, <delay>, <index>

This instruction causes a non-blocking assign of the indexed value to
the real object addressed by the <vpi-label> label.

* %assign/x0 <var-label>, <delay>, <bit> (OBSOLETE -- See %assign/v0x)

This does a non-blocking assignment to a functor, similar to the
%assign instruction. The <var-label> identifies the base functor of
the affected variable, and the <delay> gives the delay when the
assignment takes place. The delay may be 0. The actual functor used is
calculated by using <var-label> as a base, and indexing with the
index[0] index register. This supports indexed assignment.

The <bit> is the address of the thread register that contains the bit
value to assign.


* %blend <bit-l>, <bit-r>, <wid>

This instruction blends the bits of a vector into the destination in a
manner like the expression (x ? <a> : <b>). The truth table is:

	1  1 --> 1
	0  0 --> 0
	z  z --> z
	x  x --> x
	.... --> x

In other words, if the bits are identical, then take that
value. Otherwise, the value is x.

* %breakpoint

This instruction unconditionally breaks the simulator into the
interactive debugger. The idea is to stop the simulator here and give
the user a chance to display the state of the simulation using
debugger commands.

This may not work on all platforms. If run-time debugging is compiled
out, then this function is a no-op.

* %cassign/v <var-label>, <bit>, <wid>

Perform a continuous assign of a constant value to the target
variable. This is similar to %set, but it uses the cassign port
(port-1) of the signal functor instead of the normal assign, so the
signal responds differently. See "VARIABLE STATEMENTS" in the
README.txt file.


* %cmp/u <bit-l>, <bit-r>, <wid>
* %cmp/s <bit-l>, <bit-r>, <wid>

These instructions perform a generic comparison of two vectors of equal
size. The <bit-l> and <bit-r> numbers address the least-significant
bit of each vector, and <wid> is the width. If either operand is 0,
1, 2 or 3 then it is taken to be a constant replicated to the selected
width.

The results of the comparison go into bits 4, 5, 6 and 7:

	4: eq  (equal)
	5: lt  (less than)
	6: eeq (case equal)

The eeq bit is set to 1 if all the bits in the vectors are exactly the
same, or 0 otherwise. The eq bit is true if the values are logically
the same. That is, x and z are considered equal. In other words the eq
bit is the same as ``=='' and the eeq bit ``===''.

The lt bit is 1 if the left vector is less then the right vector, or 0
if greater then or equal to the right vector. It is the equivalent of
the Verilog < operator. Combinations of these three bits can be used
to implement all the Verilog comparison operators.

The %cmp/u and %cmp/s differ only in the handling of the lt bit. The
%cmp/u does an unsigned compare, whereas the %cmp/s does a signed
compare. In either case, if either operand contains x or z, then lt
bit gets the x value.


* %cmp/wr <bit-l>, <bit-r>

[compare real values.]

* %cmp/ws <bit-l>, <bit-r>
* %cmp/wu <bit-l>, <bit-r>

[compare signed/unsigned integer words.]

* %cmp/z <bit-l>, <bit-r>, <wid>
* %cmp/x <bit-l>, <bit-r>, <wid>

These instructions are for implementing the casez and casex
comparisons. These work similar to the %cmp/u instructions, except
only an eq bit is calculated. These comparisons both treat z values in
the left or right operand as don't care positions. The %cmp/x
instruction will also treat x values in either operand as don't care.

Only bit 4 is set by these instructions.


* %cvt/ir <bit-l>, <bit-r>
* %cvt/ri <bit-l>, <bit-r>
* %cvt/vr <bit-l>, <bit-r>, <wid>

Copy a word from r to l, converting it from real to integer (ir) or
integer to real (ri) in the process. The source and destination may
be the same word address, leading to a convert in place.

The %cvt/vr opcode converts a real word <bit-r> to a thread vector
starting at <bit-l> and with the width <wid>. Non-integer precision is
lost in the conversion.

* %deassign <var-label>

Deactivate and disconnect a procedural continuous assignment to a
variable. The <var-label> identifies the affected variable.

* %delay <delay>

This opcode pauses the thread, and causes it to be rescheduled for a
time in the future. The <amount> is the number of the ticks in the
future to reschedule, and is >= 0. If the %delay is zero, then the
thread yields the processor for another thread, but will be resumed in
the current time step.

* %delayx <idx>

This is similar to the %delay opcode, except that the parameter
selects an index register, which contains the actual delay. This
supports run-time calculated delays.

* %disable <scope-label>

This instruction terminates threads that are part of a specific
scope. The label identifies the scope in question, and the threads are
the threads that are currently within that scope.


* %div <bit-l>, <bit-r>, <wid>
* %div/s <bit-l>, <bit-r>, <wid>

This instruction arithmetically divides the <bit-l> vector by the
<bit-r> vector, and leaves the result in the <bit-l> vector. IF any of
the bits in either vector are x or z, the entire result is x.

The %div/s instruction is the same as %div, but does signed division.


* %div/wr <bit-l>, <bit-r>

This opcode divides the left operand by the right operand. If the
right operand is 0, then the result is NaN.


* %force/v <label>, <bit>, <wid>

Force a constant value to the target variable. This is similar to %set
and %cassign/v, but it uses the force port (port-2) of the signal
functor instead of the normal assign port (port-0), so the signal
responds differently. See "VARIABLE STATEMENTS" and "NET STATEMENTS"
in the README.txt file.

* %force/x0 <label>, <bit>, <wid>

Force a constant value to part target variable. This is similar to
%set/x instruction, but it uses the force port (port-2) of the signal
functor instead of the normal assign port (port-0), so the signal
responds differently. See "VARIABLE STATEMENTS" and "NET STATEMENTS"
in the README.txt file.

* %fork <code-label>, <scope-label>

This instruction is similar to %jmp, except that it creates a new
thread to start executing at the specified address. The new thread is
created and pushed onto the child stack.  It is also marked runnable,
but is not necessarily started until the current thread yields.

The %fork instruction has no effect other then to push a child thread.

See also %join.


* %inv <bit>, <wid>

Perform a bitwise invert of the vector starting at <bit>. The result
replaces the input. Invert means the following, independently for each
bit:

	0  --> 1
	1  --> 0
	x  --> x
	z  --> x


* %ix/get <idx>, <bit>, <wid>

This instruction loads a thread vector starting at <bit>, size <wid>,
into the index register <idx>. The <bit> is the lsb of the value in
thread bit space, and <wid> is the width of the vector.

The function converts the 4-value bits into a binary number, without
sign extension. If any of the bits of the vector is x or z, then the
index register gets the value 0.

The function also writes into bit 4 a 1 if any of the bits of the
input vector are x or z. This is a flag that the 0 value written into
the index register is really the result of calculating from unknown
bits.

	4: unknown value
	5: (reserved)
	6: (reserved)


* %ix/load <idx>, <value>

This instruction loads an immediate value into the addressed index
register. The index register holds numeric values, so the <value> is a
number. The idx value selects the index register, and may be 0, 1, 2
or 3. This is different from %ix/get, which loads the index register
from a value in the thread bit vector.


* %ix/add <idx>, <value>
* %ix/sub <idx>, <value>
* %ix/mul <idx>, <value>

This instruction adds, subtracts, or multiplies an immediate value to
the addressed index register. The index register holds numeric values,
so the <value> is a number. The <idx> value selects the index register,
and may be 0, 1, 2 or 3.


* %jmp <code-label>

The %jmp instruction performs an unconditional branch to a given
location. The parameter is the label of the destination instruction.

* %jmp/[01xz] <code-label>, <bit>

This is a conditional version of the %jmp instruction. In this case,
a single bit (addressed by <bit>) is tested. If it is one of the
values in the part after the /, the jump is taken. For example:

	%jmp/xz T_label, 8;

will jump to T_label if bit 8 is x or z.

* %join

This is the partner to %fork. This instruction causes the thread to
wait for the top thread in the child stack to terminate, then
continues. It has no effect in the current thread other then to wait
until the top child is cleared.

It is an error to execute %join if there are no children in the child
stack. Every %join in the thread must have a matching %fork that
spawned off a child thread.

If the matching child instruction is still running, a %join suspends
the calling thread until the child ends. If the child is already
ended, then the %join does not block or yield the thread.

* %load/m <bit>, <memory-label> (OBSOLETE)

This instruction loads a value from a memory bit into the specified
thread register bit. The memory bit is addressed by index register 3.
Bit address zero is the LSB of the first memory word.  This
instruction loads only a single bit.

* %load/mv <bit>, <memory-label>, <wid>

this instruction loads a word from the specified memory. The word
address is in index register 3. The width should match the width of
the memory word.

* %load/nx <bit>, <vpi-label>, <idx>

This instruction load a value from a .net object bit. Since .net
objects don't really exist (they are only named indirection into the
netlist) this instruction indexes into the .net list of bits.

* %load/v <bit>, <functor-label>, <wid>

This instruction loads a vector value from the given functor node into
the specified thread register bit. The functor-label can refer to a
.net, a .var or a .functor with a vector output. The entire vector,
from the least significant up to <wid> bits, is loaded starting at
thread bit <bit>. It is an error for the width to not match the vector
width at the functor.

* %load/wr <bit>, <vpi-label>

This instruction reads a real value from the vpi-like object to a word
register.

* %load/x <bit>, <functor-label>, <idx>
* %load/x.p <bit>, <functor-label>, <idx>

This is an indexed load. It uses the contents of the specified index
register to select a bit from a vector functor at <functor-label>. The
bit is pulled from the indexed bit of the addressed functor and loaded
into the destination thread bit. If the indexed value is beyond the
width of the vector, then the result is X.

The %load/x.p is the same, but when the operation is done, it
increments the specified index register. This provides a basic
auto-increment feature.

* %loadi/wr <bit>, <mant>, <exp>

This opcode loads an immediate value, floating point, into the word
register selected by <bit>. The mantissa is an unsigned integer value,
up to 32 bits, that multiplied by 2**(<exp>-0x1000) to make a real
value. The sign bit is OR-ed into the <exp> value at bit 0x2000, and
is removed from the <exp> before calculating the real value.


* %mod   <bit-l>, <bit-r>, <wid>
* %mod/s <bit-l>, <bit-r>, <wid>

This instruction calculates the modulus %r of the left operand, and
replaces the left operand with the result. The <wid> gives the width
of the left and the right vectors, and the left vector is completely
replaced with the result.

The /s form does signed %.

* %mov <dst>, <src>, <wid>

This instruction copies a vector from one place in register space to
another. The destination and source vectors are assumed to be the same
width and non-overlapping. The <dst> may not be 0-3, but if the <src>
is one of the 4 constant bits, the effect is to replicate the value
into the destination vector. This is useful for filling a vector.


* %mul <bit-l>, <bit-r>, <wid>

This instruction multiplies the left vector by the right vector, the
vectors having the width <wid>. If any of the bits of either vector
are x or z, the result is x. Otherwise, the result is the arithmetic
product.


* %mul/wr <bit-l>, <bit-r>

This opcode multiplies two real words together. The result replaces
the left operand.


* %muli <bit-l>, <imm>, <wid>

This instruction is the same as %mul, but the second operand is an
immediate value that is padded to the width of the result.


* %nand <dst>, <src>, <wid>

Perform the bitwise NAND of the two vectors, and store the result in
the left vector. Each bit is calculated independent of other bits. NAND
means the following:

	0 and ? --> 1
	? and 0 --> 1
	1 and 1 --> 0
	otherwise   x


* %nor <dst>, <src>, <wid>

Perform the bitwise nor of the vectors. Each bit in the <dst> is
combined with the corresponding bit in the source, according to the
truth table:

	1 nor ? --> 0
	? nor 1 --> 0
	0 nor 0 --> 1
	otherwise  x


* %nor/r <dst>, <src>, <wid>

The %nor/r instruction is a reduction nor. That is, the <src> is a
vector with width, but the result is a single bit. The <src> vector is
not affected by the operation unless the <dst> bit is within the
vector. The result is calculated before the <dst> bit is written, so
it is valid to place the <dst> within the <src>.

The actual operation performed is the inverted or of all the bits in
the vector.


* %or <dst>, <src>, <wid>

Perform the bitwise or of the vectors. Each bit in the <dst> is
combined with the corresponding bit in the source, according to the
truth table:

	1 or ? --> 1
	? or 1 --> 1
	0 or 0 --> 0
	otherwise  x


* %or/r <dst>, <src>, <wid>

This is a reduction version of the %or opcode. The <src> is a vector,
and the <dst> is a writable scalar. The <dst> gets the value of the
or of all the bits of the src vector.


* %release/net <functor-label>
* %release/reg <functor-label>

Release the force on the signal that is represented by the functor
<functor-label>.  The force was previously activated with a %force/v
statement.  If no force was active on this functor the statement does
nothing. The %release/net sends to the labeled functor the release
command with net semantics: the unforced value is propagated to the
output of the signal after the release is complete. The %release/reg
sends the release command with reg semantics: the signal holds its
forced value until another value propagates through.

* %set/v <var-label>, <bit>, <wid>

This sets a vector to a variable, and is used to implement blocking
assignments. The <var-label> identifies the variable to receive the
new value. Once the set completes, the value is immediately available
to be read out of the variable. The <bit> is the address of the thread
register that contains the LSB of the vector, and the <wid> is the
size of the vector. The width must exactly match the width of the
signal.

* %set/mv <memory-label>, <bit>, <wid>

This sets a thread vector to a memory word. The <memory-label>
addresses a memory device, and the <bit>,<wid> describe a vector to be
written. Index register 3 contains the address of the word within the
memory. The address (in canonical form) is precalculated and loaded
into index register 3.


* %set/wr <vpi-label>, <bit>

This instruction writes a real word to the specified VPI-like object.

* %set/x0 <var-label>, <bit>, <wid>

This sets the part of a signal vector, the address calculated by
using the index register 0 to index the base within the vector of
<var-label>. The destination must be a signal of some sort. Otherwise,
the instruction will fail.

The addressing is canonical (0-based) so the compiler must figure out
non-zero offsets, if any. The width is the width of the part being
written. The other bits of the vector are not touched.

The index may be signed, and if less then 0, the beginning bits are
not assigned. Also, if the bits go beyond the end of the signal, those
bits are not written anywhere.


* %shiftl/i0 <bit>, <wid>

This instruction shifts the vector left (towards more significant
bits) by the amount in index register 0. The <bit> is the address of
the lsb of the vector, and <wid> the width of the vector. The shift is
done in place. Zero values are shifted in.

* %shiftr/i0 <bit>, <wid>
* %shiftr/s/i0 <bit>, <wid>

This instruction shifts the vector right (towards the less significant
bits) by the amount in the index register 0. The <bit> is the address
of the lsb of the vector, and <wid> is the width of the vector. The
shift is done in place.

%shiftr/i0 is an unsigned down shift, so zeros are shifted into the
top bits. %shiftr/s/i0 is a signed shift, so the value is sign-extended.

* %sub <bit-l>, <bit-r>, <wid>

This instruction arithmetically subtracts the right vector out of the
left vector. It accomplishes this by adding to the left vector 1 plus
the 1s complement of the right vector. The carry value is dropped, and
the result, placed in <bit-l>, is the subtraction of <bit-r> from the
input <bit-l>. Both vectors have the same width. If any bits in either
operand are x, then the entire result is x.

See also the %add instruction.

* %subi <bit-l>, <imm>, <wid>

This instruction arithmetically subtracts the immediate value from the
left vector. The <imm> value is a 16bit unsigned value zero-extended to
the <wid> of the left vector. The result replaces the left vector.

See also the %addi instruction.


* %sub/wr <bit-l>, <bit-r>

This instruction operates on real values in word registers. The right
indexed value is subtracted from the left indexed value, and the
result placed in the left index.


* %vpi_call <name> [, ...]

This instruction makes a call to a system task that was declared using
VPI. The operands are compiled down to a vpiHandle for the call. The
instruction contains only the vpiHandle for the call. See the vpi.txt
file for more on system task/function calls.


* %vpi_func <name>, <dst>, <wid> [, ...]

This instruction is similar to %vpi_call, except that it is for
calling system functions. The difference here is the <dst> and <wid>
parameters that specify where the return value is to go. The normal
means that the VPI code uses to write the return value causes those
bits to go here.


* %wait <functor-label>

When a thread executes this instruction, it places itself in the
sensitive list for the addressed functor. The functor holds all the
threads that await the functor. When the defined sort of event occurs
on the functor, a thread schedule event is created for all the threads
in its list and the list is cleared.

* %xnor <dst>, <src>, <wid>

This does a bitwise exclusive nor (~^) of the <src> and <dst> vector,
and leaves the result in the <dst> vector. xnor is this:

	0 xnor 0 --> 1
	0 xnor 1 --> 0
	1 xnor 0 --> 0
	1 xnor 1 --> 1
	otherwise    x


* %xor <dst>, <src>, <wid>

This does a bitwise exclusive or (^) of the <src> and <dst> vector,
and leaves the result in the <dst> vector. xor is this:

	0 xnor 0 --> 0
	0 xnor 1 --> 1
	1 xnor 0 --> 1
	1 xnor 1 --> 0
	otherwise    x


/*
 * Copyright (c) 2001-2003 Stephen Williams (steve@icarus.com)
 *
 *    This source code is free software; you can redistribute it
 *    and/or modify it in source code form 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 */
lepton-eda-1.9.10/docs/wiki/geda-pcb_layers.html0000644000175000017500000002224013634703632016364 00000000000000

Improvements not contained in the new concept

“New layout†templates and wizards. (instead of defaulting to 4×4 8-layer)

Ability to hook into layer exporters (i.e. thindraw as a HID)

Also, trim polygons against “outline†layer. Fix polygons in general.

New concept proposal

Old concept

There are “Layer groups†which contain “conductive layersâ€. One “Layer group†is actually one “physical layerâ€. There is max 10 layer groups. Number of layers is 16 + 2 silk screen layers. Layers have no “typeâ€.

Layer group:
Number
Numbers of layers contained

Layer:
Name
Contained lines, arcs, polygons,…
Rtree of contained ^^^^
Visibility flag
Color
Selected color
Attributes

New concept

In the next part terms “physical layer†and “layer†are used. It can be changed to better names. Having just “layer†for “physical layer†and something else for “layer†will be great. Would “surface†go? Layer for one layer on PCB and surface for one drawing surface.

Layers are contained in a linked list, so there is no bounds on the number of them. “Physical layers†should probably be also in a linked list.

The Z-order of “physical layers†and “layers†is determined by the order in linked list and in layout file.

Active “layer†of each type is represented as pointer in “physical layerâ€. There is an array of size “number of layer typesâ€, pointer on right place is the active layer. There is no need to have an active layer of each type.

One “physical layer†can be marked as “top†and one as “bottomâ€, so new footprints have some default layers assignment. This marks are useful just for footprint importing, there is no other use for them.

When adding anything (components, lines, polygons), all parts goes to the active layer of the right type for current “physical layerâ€. So line is added to active “conductive layerâ€, its mask to active “mask layerâ€,…. If there is no such layer, nothing happens. If the current layer is not conductive, something else can happen. Like adding polygon to “mask layer†will just mask/unmask that part….

There are two types of colors. The ones defined in application preferences and the ones defined in layout file. User can select to see any of the sets.

Colors in preferences are assigned to layer names, not layer numbers.

There is no concept of “layer number†everything is referred by name or pointer.

Each “physical layer†has Dimension property and can also have an Outline layer. The difference is, that NOTHING can be drawn out of dimension. The Outline is just hint how to manufactor the board. The Dimension is just one rectangle, Outline can have any shape. This Dimension property should replace the “Board dimension†currently defined in preferences.

Gerber output names will contain “physical layer†name.

The “Show Pin/Pads/Vias†flags in “Physical layer†is just inspecting and printing use. It doesn't hurt to have and can aid documentation generation.

Physical layer:
Name ↠this will be used in gerber export
Dimentions ↠layer doesn't have to be across whole board
Attributes ↠we can come up with a list of “expected attributes†like “permittivity, thickness,..â€
Flags ↠some “physical layer†wide flags
Layers ↠linked list of layers in this “physical layerâ€
Pointer to layers ↠linked list of all layers in this physical layer
Array of pointers to “active layersâ€

Layer:
Name
Placement list ↠Contained lines, arcs, polygons,…
Rtree of contained ^^^^
Flag ↠flags described below
Type ↠type list below
Color
Attributes
Pointer for linked list of “layersâ€
Pointer for linked list contained in “physical layerâ€

Layer types:
Conductive ↠the only conductive layer
Mechanical ↠some additional non-conductive stuff
Outline ↠outline of board
Silk ↠Texts, component oulines,…
Mask ↠mask on the board
Paste ↠solder paste definition
Countryard ↠component spacing definition
Rat

Physical layer flags:
Show Pin/Via/Pads ↠Show/Hide Pin/Via/Pads, 3 separate flags – NOT SAVED, the one in “Layer†is saved

Layer flags:
Visible ↠Show/Hide this layer – just temporal use, NOT SAVED
Show Pin/Via/Pads ↠3 separate flags, On some layers for special purpose it make sense to not include Via/Pin/Pads
Negativness ↠Layer is negative layer

Object & Placements

Each object is composed of 2 parts. One is 'description of the object'. This is specific for the type of the object.

The other is 'placement of the object'. This is common to all object.

It is possible to have more than one placement of single object.

There are 'shared copy' and 'copy on write' possibilities.

Placement object:
Coordinates
Layer
Flags
ReferenceCounter
Pointer to the object
Pointer to composite ↠when I am at some composite
Pointer to next object ↠next object in the composite

Placement flags:
Orientation
CopyOnWrite

Composite objects

Composite is an object composed of multiple other object. Composite can be an element of another composite.

Footprints, sub-layouts and vias are just composite objects.

All elements of composite object has placement relative to the origin of the composite.

Composite object:
Type ↠type list below
Attributes
Linked list of placement objects

Composite types:
Footprint
Via
SubCircut
Other

Via

Via is a composite object of type 'via'.

There is a copper object around the hole on each 'physical layer' it intersects.

The hole is represented as an object on 'outline' layer on each 'physical layer' it intersects.

Footprint

Footprint is a composite object of type 'footprint'.

It has attributes Name and Sourcefile.

Expected properties:

  1. Footprint contains layers with predefined names: Conductive, Silkscreen, Paste, Mask, Countryard
  2. Footprint can contain more conductive layers, each grouped with Paste and Mask layers ↠useful for 2 sides mounting connectors
  3. Any connected element on conductive layer can be marked as Pin/Pad
  4. Footprint can contain Outline layer

Named attributes

This is just my personal “To look at†section. – Martin Kupec
Refdefs should be distinguishable from the rest of Silk so they can be put on different Silk Layer.

lepton-eda-1.9.10/docs/wiki/geda-igarus_fpga_lcg.html0000644000175000017500000002016213634703632017356 00000000000000

FPGA Loadable Code Generator for Icarus Verilog

FPGA LOADABLE CODE GENERATOR FOR Icarus Verilog

  Copyright 2001 Stephen Williams
  $Id: fpga.txt,v 1.12 2005/09/19 21:45:36 steve Exp $

The FPGA code generator supports a variety of FPGA devices, writing
XNF or EDIF depending on the target. You can select the architecture
of the device, and the detailed part name. The architecture is used to
select library primitives, and the detailed part name is written into
the generated file for the use of downstream tools.

INVOKING THE FPGA TARGET

The code generator is invoked with the -tfpga flag to iverilog. It
understands the part= and the arch= parameters, which can be set with
the -p flag of iverilog:

	iverilog -parch=virtex -ppart=v50-pq240-6 -tfpga foo.vl

This example selects the Virtex architecture, and give the detailed
part number as v50-pq240-6. The output is written into a.out unless a
different output file is specified with the -o flag.

The following is a list of architecture types that this code generator
supports.

* arch=lpm

This is a device independent format, where the gates are device types
as defined by the LPM 2 1 0 specification. Some backend tools may take
this format, or users may write interface libraries to connect these
netlists to the device in question.

* arch=generic-edif (obsolete)

This is generic EDIF code. It doesn't necessarily work because the
external library is not available to the code generator. But, what it
does is generate generic style gates that a portability library can
map to target gates if desired.

* arch=generic-xnf (obsolete)

If this is selected, then the output is formatted as an XNF file,
suitable for most any type of device. The devices that it emits
are generic devices from the unified library. Some devices are macros,
you may need to further resolve the generated XNF to get working
code for your part.

* arch=virtex

If this is selected, then the output is formatted as an EDIF 200 file,
suitable for Virtex class devices. This is supposed to know that you
are targeting a Virtex part, so can generate primitives instead of
using external macros. It includes the VIRTEX internal library, and
should work properly for any Virtex part.

* arch=virtex2

If this is selected, then the output is EDIF 2 0 0 suitable for
Virtex-II and Virtex-II Pro devices. It uses the VIRTEX2 library, but
is very similar to the Virtex target.

XNF ROOT PORTS

  NOTE: As parts are moved over to EDIF format, XNF support will be
  phased out. Current Xilinx implementation tools will accept EDIF
  format files even for the older parts, and non-Xilinx implementation
  tools accept nothing else.

When the output format is XNF, the code generator will generate "SIG"
records for the signals that are ports of the root module. The name is
declared as an external pin that this macro makes available.

The name given to the macro pin is generated from the base name of the
signal. If the signal is one bit wide, then the pin name is exactly
the module port name. If the port is a vector, then the pin number is
given as a vector. For example, the module:

	module main(out, in);
	    output out;
	    input [2:0] in;
	    [...]
	endmodule

leads to these SIG, records:

	SIG, main/out, PIN=out
	SIG, main/in<2>, PIN=in2
	SIG, main/in<1>, PIN=in1
	SIG, main/in<0>, PIN=in0


EDIF ROOT PORTS

The EDIF format is more explicit about the interface into an EDIF
file. The code generator uses that control to generate an explicit
interface definition into the design. (This is *not* the same as the
PADS of a part.) The generated EDIF interface section contains port
definitions, including the proper direction marks.

With the (rename ...) s-exp in EDIF, it is possible to assign
arbitrary text to port names. The EDIF code generator therefore does
not resort to the mangling that is needed for the XNF target. The base
name of the signal that is an input or output is used as the name of
the port, complete with the proper case.

However, since the ports are single bit ports, the name of vectors
includes the string "[0]" where the number is the bit number. For
example, the module:


	module main(out, in);
	    output out;
	    input [2:0] in;
	    [...]
	endmodule

creates these ports:

	out   OUTPUT
	in[0] INPUT
	in[1] INPUT
	in[2] INPUT

Target tools, including Xilinx Foundation tools, understand the []
characters in the name and recollect the signals into a proper bus
when presenting the vector to the user.


PADS AND PIN ASSIGNMENT

The ports of a root module may be assigned to specific pins, or to a
generic pad. If a signal (that is a port) has a PAD attribute, then
the value of that attribute is a list of locations, one for each bit
of the signal, that specifies the pin for each bit of the signal. For
example:

	module main( (* PAD = "P10" *)         output out,
		     (* PAD = "P20,P21,P22" *) input [2:0] in);

	    [...]

	endmodule

In this example, port ``out'' is assigned to pin 10, and port ``in''
is assigned to pins 20-22. If the architecture supports it, a pin
number of 0 means let the back end tools choose a pin. The format of
the pin number depends on the architecture family being targeted, so
for example Xilinx family devices take the name that is associated
with the "LOC" attribute.

NOTE: If a module port is assigned to a pin (and therefore attached to
a PAD) then it is *not* connected to a port of the EDIF file. This is
because the PAD (and possibly IBUF or OBUF) would become an extra
driver to the port. An error.


SPECIAL DEVICES

The code generator supports the "cellref" attribute attached to logic
devices to cause specific device types be generated, instead of the
usual device that the code generator might generate. For example, to
get a clock buffer out of a Verilog buf:

	buf my_gbuf(out, in);
	$attribute(my_buf, "cellref", "GBUF:O,I");

The "cellref" attribute tells the code generator to use the given
cell. The syntax of the value is:

	<cell type>:<pin name>,...

The cell type is the name of the library part to use. The pin names
are the names of the type in the library, in the order that the logic
device pins are connected.


COMPILING WITH XILINX FOUNDATION

Compile a single-file design with command line tools like so:

	% iverilog -parch=virtex -o foo.edf foo.vl
	% edif2ngd foo.edf foo.ngo
	% ngdbuild -p v50-pq240 foo.ngo foo.ngd
	% map -o map.ncd foo.ngd
	% par -w map.ncd foo.ncd

---
$Log: fpga.txt,v $
Revision 1.12  2005/09/19 21:45:36  steve
 Spelling patches from Larry.

Revision 1.11  2003/08/07 05:17:34  steve
 Add arch=lpm to the documentation.

Revision 1.10  2003/07/04 03:57:19  steve
 Allow attributes on Verilog 2001 port declarations.

Revision 1.9  2003/07/04 01:08:03  steve
 PAD attribute can be used to assign pins.

Revision 1.8  2003/07/02 00:26:49  steve
 Fix spelling of part= flag.

Revision 1.7  2003/03/24 02:28:38  steve
 Document the virtex2 architecture.

Revision 1.6  2003/03/24 00:47:54  steve
 Add new virtex2 architecture family, and
 also the new edif.h EDIF management functions.

Revision 1.5  2002/04/30 04:26:42  steve
 Spelling errors.

Revision 1.4  2001/09/16 22:26:47  steve
 Support the cellref attribute.

Revision 1.3  2001/09/16 01:48:16  steve
 Suppor the PAD attribute on signals.

Revision 1.2  2001/09/06 04:28:40  steve
 Separate the virtex and generic-edif code generators.

Revision 1.1  2001/09/02 23:58:49  steve
 Add documentation for the code generator.
lepton-eda-1.9.10/docs/wiki/media/0000755000175000017500000000000013634704610013611 500000000000000lepton-eda-1.9.10/docs/wiki/media/wiki/0000755000175000017500000000000013634704607014562 500000000000000lepton-eda-1.9.10/docs/wiki/media/wiki/dokuwiki-128.png0000644000175000017500000010151713634703632017350 00000000000000‰PNG  IHDR€€Ã>aËgAMAÖØÔOX2tEXtSoftwareAdobe ImageReadyqÉe<‚áIDATxÚb”Óg@ÿÿ31pr~`ààxf²(ð8˜ëÿÿÿ@Ì¥yÿèÿùAüÿþK±>»;;ó, XfœüGÊb»_¿ÿ]`d`xÄÄÌø„‰‘ñ ##ÃK øGb@,£qD2`ƒF(02@ÊÅ`ö?p¤þF°,/÷ïß?9&&FAvvVVv6v666V.NvN æfàæâfàååbàçça8áÃí»¥XYXðE>ó?†ÆßÿÿWs231h« ÿñ‡áÍ» Ÿ¿ýúþãç¿OÌLŒ§€vžeceº ¤WõüÁå€M ŒH¹™ ššK9ö(r%‘«“òåØXYX‘ÊÂÁÁ¤Ù™xx8€‘ÉÉÀÍ ŠT.^›‹ Èàedb1`„ó1#†ÑÌÌ,@𙋇¡¥¥Ÿáò•;¼¬¼,¸"Ÿç7ÃDnF†$c ž[ÌŒ •™Æ Rb< ¯Þ~c¸~ççÝGŸ8ß~øá L¾×î¼cøñó¯933c>.Ïà®\n†a0ì$ꃒ´-ÍXˆM{pçR1gf`„* ¿]ĉ bE>ä!þ’m€„¡¢vŽ¢ŒòüNvÂR†,`ãFL…¥x:[šÁÐ4K¬rs†8£ -‚Mec­-¨[Öä}°5MKI˜Ú¨ €k0+¥)„Qb"~àN— œC뺪9]àÛ妌2èÛþéì4íöeNÖܱ_år‚é´ò–¶ëg)† óåú¤c;(møN¿ õ@C) åRxÑË‹¡ ¾-ŒPyPNeaaââ`g½l,ììlÌ\\ÐH„äTnh.ådàçƒäR11!p.åçãF&8Ba¹œcY | }ÀˆƒF*ÿ‡Å(#ıþüâ_ ÿ`+p`LF¸Ø  ÷ÍVúó‡ (ö•™ù'L‰êÿ ‹Ä™-²‘oÎÆÌ°ÿÛo°@‚Ðß¿ÿ~í„Ë,aþ3ø»*1<}ù…aÁÚÝ\œ¬·Â;Ñ]@™˜A ÄÜІ4w‹ßÿ`9TË@êÒÿ² ŒÿÅñ ŠLp]Ê Ì¥ÜàHä» \·‚ÙÜÀœÉË )! Ì­Â â¢b ¬l¬\ ŽXH¤2ƒs*0—21#˜¨¹”^ÿú ¬JøÿÿŸ¨ ãó-#fDã‰xFXƨMt“Äß¿,ÖÀÜÅÈø$i ŒüÕŠ¬LŠÙ¼ì Ê@÷~ºå?ÖÊ h¤Ñþh&(¦Fè0<}ñ…cϱ§ó¹8YÜ€RWµµR ¹qć”SEÜP5ä™™˜x88€ $P¤²²±ps³ƒ‹Xä\ ŠT.NN`îåfƒ½¢¢" ‚üüH¹”‘KÁ‘ËÎÿþ…½ÿ¡%*,ŽþÅAøÇÿ_à\ƒYŒÐ’˜™FLF”%>âÑIPNæææùéçOO&¦?»€Ñìôó?ã*=6fá,>6a`Íð˜R8€æüLj{F†À¢ÿûÁ _c`Q``×càà`(M3bxóþ‡äÅï–rr0ƒÁK˜>€Â™ Ý?t£#`.qøõ뤅ԧ@’ /(§[½ìlL¢–œKAÅ-¨ÁªS9‘*n "U„ALD¬† © \É ŒDP³@"˜ XÇþƒÖ¥á¹ô?<—‚Üùû÷? þÍ¥h‹€ÿ¨‡ùŒH^fD')âÿ£E>fÄØÀrœðA ˜óµ™~†#;3w0ò¹€ú@U8°2€‰ j ßÛï>¯» LÙÀâäà#6ua†ÿÚ B  UY& ¥Gõž¼ø:Xuüi ì%É?†Ÿ?y¡ão±&`à»ñòr¶kkh3€r-¸5”€žE¨¨(°Õ Ê¥ÀT¨KÁ9©,àH7‚þþ‡æÒðV/Œüó„õÝÿߨ›ðH‹¥¯Œñ˜%&Ž\¡Ø"þ?¹žkq©œ˜A%¨cdþiô±«' C<¸®ü‰h^€mþóû70­ƒ<°ÛÇðâF`X3… {Ý|Ëðaöy†ÿi† ÊÊB éÆ ÝÇ=ÝÆ‰À8É™@xª€ÿÀDÀÎ]œœï)íRN5rþ¼µ„;›³ÁE5("@Žgb†æRXéß?”/€+¿A $HË 4¨9K.ÂñŒø{xX"wq;âQêy,%1õ2ÌÝt†ÁPC”A˜eù~ß~ÏðïÝ`"º† âN i†ÿ@wr²33‚ {=e ’º Æáïß\ÀËl¼~üó×ß/_½eÖÕaFnÆ–ãÑL$D<ázžO#‘Ìz!ÆŽhD)òû°½ÌF Æéw`Lý6Â~+é¯?þ1ðq11È «L`d¾þ‰áõ§? ¿ýax÷ù8dxˆ3p±1‚ ;;;Ãׯߪ›û¶mØÎìÞÚp±0|ÿ÷Q™0²9$Dd¼Ý¸¤¤þ~ÿu¸‹ËÄÀÊPâËðøõ{†Ú‰Ç¦Ö;2ÈË 00¦{7~]ÃðïË/f1.H‰m}ùúèŽïˆ”À ¬Ï¥þýû#ûû7“Üüºœ\Ÿ™_¾únÙãÊŒX»V #•^œâÂg ª‘‹¼ÿhQ #¸+³é0‚ÿþG˜óØü~ Œ@pD#\AŒA”•áôݯ ÷¿ß öýç?-^†DpÝ}àê'†Ów¾1ðq£ðÀˆÿøõ/¨d`gøøáCQmÃÑÝòÄŒ¹òÛ_h¬C[ôÿm)>`—ñte`áåeøóý´$*:»½ÿ~Ífch‰ bHŸ¼¡~Ò † Õv ¼’< L©† ¿o¼aøuç»–0#ÐŽÿQ†¡ÿ ŽáaQÐ hô X´ñ_= mÍÂÊ*ÅÏÇÅ)*,È(.ÆÇpýö†×o>"µâÑ#žŒˆgÀSÏCs"¼5ØŽš£G<¨hfFðo §A (f&Ôåê“ o>þaøù”›ÿ3˜©q3ˆñ±€‹m6&†ƒÀˆ\}ì¸`v¯Ê%Àö°‹xÙl@‰Oßÿs5(€ºà å¬ÇÏ -ËÍðþ놓·>ƒGúÞùà"'ÀðìÉK†üÊV†KGO1I2hÍú†œ2Áuö_!] ipÝÿïçHã›ñ Ì¿?rR| ñÀD0e1CÇÌ3 -…–ÀŽP¶;°ø˜€ÿÿþ‹žŠl`jS¶Ü們¬ôçï?{ ±êÀ>)—ˆ0/³„˜ƒ¤h|\€AYQ†ÁÈ@•AZRÜ8ŒÏ¼ÍðñÓ'pQÅñ¸#Ÿ‰:~ÍÉ Ïý†¦T 3#4â€9ô/82ÁC¶@%¬@9VXD3€‹fHä31¼æÜC׿2¼ÿü—á°8–acˆ²„'´ŸÀ[qøÃó÷¿À.ûLÌ@óüM€Åû?pªúø Ô»ù.)ø˜ø¸Y~íWç`h“»câ–— ^ÿ›÷÷?¤[k®ÊËÀÁÉÌpæægpøjÿgexþì9CVi3Ãí“g Ä…Ô‘"„À”r›¸•ƒ˜… $qÿú m@3ÆFx"€”À’êû9i†æX†ÂÙ+fH\fÈ7&ì¿ Aþ½; €-«çi†‚ËQèÇ@ÔJT•©•@ª˜:¢.H¬üÄŸ@Ýø ì¬ì°uF°¡T ¦jÚî=·ˆ9ƒm=ûÎ÷î9–àOj{Á•€ë~Y†èup>ì£Òa®òi|mEê î¾pEH2­KˆVÿ‚¯&Éx;ÿ%Ÿ¢€%#ÁX»œšsã¥o¯mÕ4¥y…Ù ßY‰/ž´ÁLÒÙòWÇ‹ÄvBK@ âqèë\[ûð<³o¥ÑÉ /ø¾D멬çË%ÚWñ¼'+MBD™'!q¬«¨6­[7SZQ‘êý&¥õ“ëà©þ‰÷{ô¬”tý• ðʺ}òp·—)nŽZ8&Ùæ’B6„,9Þ°$Œ/FhOI†rs¹å\”'2⧯[ƒº#óz¾Àøl€ÛëKÜ=>!jÕ1uѨY4ê¾^À aÅ Ñåù€,«WiŒ¢§ØÄ&­´¶«RQ¡ÔMA‡ê"n.:ûn} é / >€‹ƒS'qé ‚Tt±¤±Ò˜æGSï½¶tKÂÍGøÎùιç&éûáýúju÷ôè:eO•ÀV‰•OšÂßù9¿ôéú± Š~ºü 5ßÚ2ÉKŒF:垥ÓêG0ì/7Ýñ†X™WP™Dç#ÂÉõ»4Qìì¹ õý<ÒäY·Ï.š}ˆe9žæ ›ˆÑî„h>z({Sج¦¥‹.elÑõMË!RûdX[Ò„ÄL¢h^ø±ÒÝ€¾!¯öˆŒf/”ç hNŸÉ—÷%Iëæ‰<že`Œ0êö¹F#ïWS)¸æ WgÈZ¯¨“‚©ÆÊoÚ5££¼SC®²L÷Á¿Fx8ö»ðq20Yž‡ƒí ËÆñù—˜›Ñ%"–K§5,RÐí díø°‚]‚(XÓ3cw5fÌ"AdC"qpq ‘¸¹ò޾ɸúgN.‘،DÈn²d³³dÚë~£$Nô¥_êU׫zï‹»ÞË+ÂÐgÖS,QJÿo¶ÌÖ‰Œ_’$h§×(IÞý"]ê?Ro¤óêáGg¹Ò€š‘ÚÛŠ°ºÐ ;m7—5‹Óô’À-?Bcø©Ôd¼n¢Œgçv6`sfÞ1r}x’¡Ow»ëœ•ù:Norž•D¾Û'…µ¥†%O¡4“Êc…25†¯ÝùÀƲD¿Þ‡¥3±ôxO£‡K®×Œ †àW ãh ÅóÎ0—÷°?¡)xµëšOfo´£µ½ 9;C’­æZx.Bÿ˜íð•2Td0@òN;*GkRâžjí>¦o¸$v©^MÊõÅ1¶ö-[f³Ò0EᓤNkZEZ+Š º+Ý‹.|ÁçñA\¸×î ºÔ…BUTÄŠi%4tꑃÕEe¬è»ˆѪyØÛš5x#ÅÏÓÄUŽÝ«;ÝÛU8y«Ïöp|>ÄÅÝgž,4ì(þ@{ÁÅú’ÏV¢x¿cµ)ÞóÀ~/‰ãsÀKH1íðèfMáö)¥=—L’^'`@3SåºP J¼I©Ä>ϵQ±,“`ÒÆ(åY œMHÉëø §‡ûhŽØ‹J"N~~5±6æ±¼Ùƒ ?ý]ù:ßo˜-ü·(-Ú xfK\ÝàžÊ"Kt|…5‰•¬“‹AYž>¦8á\@Ä_ÿL>Cÿì…;À⟅@ä# æC‚—‡—á'ÐÁ@C”ŒØûë°bTº€Š[ 5†8{>m9v`ƒî?¸*BA ª"@í Ø 8pÙ Õxá/¤nÏ œŠp5`Ïôb°Òà÷ÑAjA¼ÿÊ0_”Ÿ…Á@‰ "´ë9°*úôí¸‘jo€r=¨TQ•äçnP:~öîØ®o?þÈ\ÀêH^ŒÚÈDõ°ô™²ãý—ß`6hbìÈñ3 ¹%u ÀÈOäaàªþk'=÷ÔÒW•cPr³f`ãVKÀÒ\‡€‡ÏÿAð?P‹„Á-\Ð,¸¤ 1€‡†ÿBÇÀþ3¼>sáÁ¦ ¿¾‹.`Ï”Ð@ÓÇßæª|ÞóóÃ`ÕÌTs® PÐ>ùõû׫;÷£ö×±ä!•@ðð‹·ï¿þüþ‡§{ÇL \ jÁÿcx lÀW Àb„¶â¸˜Àu0¨þ÷Rƒš`èà~ùHWë85CªPïÁÓ˜ÓÁ=`ÂxlÌ}úþœ˜@Õ¸tÂÀjâò£ïàÜ*þBGè4¤9!c@³ž¿ÿ ŒÈ¿àDðZíòën`ÂCG'RVÐl'8A¿&.6>`»cÿ†äœJ‰OÁ‘Ï ý™I¯O×SaP°3Oÿýý:Öÿ©ú$ÂÁ ć&„°„ðœaþKá'ûŽ2<9pÜŽ9¶˜ \é@·Íþü“aÍ×_ßA_Œ­ ð€%€oÀÜpøÅË÷ ?~þ†æ>ÂC¸ÀÚ\€&Þxníbß‚¬¯Y™ Ý;Ȉ´<ËIy™Áf‚ª„Hƒ0 e`½ÐÄ©ùû59‚êˆsº¶x¦”Ò?#Ô{Ù)¬@ø™€Æ_À¢úí§?`{A½9vINpâÕû—~²ÿC"ë?¸žgaBV†Õ ñ&pØøËʰ׆œÒF5`÷-Q€‡T}ÁŠ`Ðò1`PI›j3ÈšêBrûŸßàE8¨ÉÝÿà¥,1@J…¿àÞ(0=úó݆ûÛö3¼:ñ ÔüŸ1Ì? w1> ùÇ~þ}䇭@c™™ùü‹—Ø?‹°÷ë!K˜@ÓÀ 1€/_2 ŽÛ#†ÙÙ mFhW Öðb€6®ÀˆT‡"ª`= ,=˜µ8‘üCË7! ìÂÉ ®ÜëªI˜X (rs4(A-{PÃóý7Èø(gƒÚšÀR€ š«Ÿ¼û ,!þ‚#”@=°)qF´*Ü-äàdØ´yCNq#ƒ&0GÇ pƒW§þ†F¬›§`©Ç ©«äÿV‘ýï?"׃0¨Íí •e`Æùôð ÃíM{>ÞÂÀÄÆn«Àf\™Ák¹?ýdxøçßNFW »7#gT€lš½ Â0…¯bŠED'qëìà8ø>˜îNNnâÞWpÝÄÁLZ¬ˆýóž$·õ¯K‡¤„æÞœóÝ$.êdzF$ådÀFí÷† JŽ6¶'yÉà[lÿ;­C?ßA ÚQógo¬h%Ôz/’¡ֆ4“ ,ªˆ<ÿSô…‡ <…¡ Ô-Gé(¡³À%ÎLÀÁxú]Ï+¯¯‰Q‘|Ôú2É©*½`qMEÊk’Þ…´^ÎhÈ›v|cq©\ààà«–OÁxD½`@)û½H¾•øÌ¼Il w«_,Àõ‘¡õvG‡MHèÆÁW•ä“݇ÀÒêþ¤EÌÐKÅœstÂMûoƒ~ &è²¢Goß}þwçÞ ðZ:ÔéZì#y Ê*€ àÙ‹àÅ–Xÿ!]AP.‡óÿP—I䘡- .Ǫ̀îu¿þý‡Dæwðpëøl3@“`9”xXà3qòÀ"žÑ ÆÝÙ»_Áö ÔvI!V>HCT=€J ˜ûA=€ÿˆ H½c`7—›áÙÕ} WöÍg°†t /dáté(çóñ2¨90H 3üù‰|Xq/ò¡‰à?4Ò!mÿ ÐbÜVÍ >>vŽáÁ¡3à°g-ÀA‚cm &ü9_~1ìüñçÐgY [†ðmí8At–  Š…¥6Ö p9 `‡g ·Ä_bŒ6&F ‰;³ J¢–vCæóæÍ¼]Ê& Ï·ÉtÍ3@Í |~éà˜Ùº¦eY…ÉÁì«V.ê<:ƒ LlIY42}î0¬@‡(Éæõ¢Ïf¿h¤¸>IòƒŸ#\lïŸ'ÂzG²v\Û¨x7`Ð3føjw#I·-413K*ØmƒZ¿Ó5†ùæBÈD@Sv6¡#nj†ž?GWÁ54òY,ƒ?æ¥ÚªC×±¡\3)óSç…Ó»ÎÁ!ÊÕûckû`Iœ‹)oÈgò2ĘG{/ºÃìñœê \þ¾ÿO{y @¨ùë Eaü”ú7Ù«Äh .桽PÛ€á?dxøü½ï Ë¿ƒ›ƒÌ±Òàn‚Ô32@æÀÕ0!~¶3˜¡ãç êGZ˜ ²¹h–´;8Çû U|\,бs/=R÷„™ Óg.bðäæ`päbcøÛË®¢þ3H©Ë2Èé)A—lÿÆbPT­1"´Bgú m˜¿à^ÈÄ×î1<:s wï|‚ Ô“pÒãäz°j Tú€ªP¿ûÂG Û!‰‡ X:‰ÅÿBÙ"@¶’ñŸÀmPnå6ò€u¨ÍÀ ^Âõ¡½wÃÜyK|y¸l€@x7金‘×Q`R•×óÿ -XÈ-td‰6ï]¶õŸ ZðB<ÏL¼ ±'n3¼¼ñ¶ úVj‚Ò#¨±wèßuß3¼úûÿ01…v’²È €À“—¯ß1|þòƒAT„}‰#–… †/7/ß?À­\6`— y¤Y¸¡Gf„ßþ1ðƒÇÏ! Tä‚0´‘‡^ǃtò QŒ +¿'Ï?![¢@æ‚Ø\@u^Æ ~f‚y‰ÿ¨UÈPMY.`ä~W- ;%-Äd ÈÍ@\ˆò±K.q6°ù *éš;&1,[º†ÁŸ‡ÁXïÿ‚Gþ?`o€…AY_A\^ ÜøCÎÝÿ‘zT°ñ{p‚ûö/xøܶFþ_œ¹ÉðáÉk`—Úã@l|U&û€E>¨ØÚ²X߃z¯HÝÉ@ðlT<þøñËŸËW²x¸#1ì£ 5Ðv&ÐÒ çÙàKœ±–1A&R@Ý/%qPBúÕ a]A`#ñŇ?àáYP`af„wk@‘õÚ6ä?¤•Æ ª@ˆ—™Aa6Z| ZÀîxÄô?æòkP‰ò-’çnøz>&FøLæ/ FU)N-9npbûÿ²7X*þøñ‹¡ª±‹aÓº- ¡| FÀÈþ ÍР9;ƒš‘"ƒ ¸ °¥]‚\Ô3þGLßÂúµŒˆqðš`äxöšáÞéÀ.°ÊÊ ë`‚켺që·? —~“^䣀bAÊ­¿|ùöéêµ»B>¦8s=JÄBç¾;÷°F ¶]6 Àçb&H$€ûßHêX`3jÿB‡v!]/ÐÐ*(â…€rêÀ(Ð@ ”8¸€% °Z× HMƒÌ„uí0wöÀº¤Làþ>|Je©0~ÿe€.H$4Ц?1”Õµ3ìß¾—!JA”K¡¥h6”W›AÝ@‘GØÓ¶£àöÿQo€×M@‹hñÿ:°Ïn;xÇÌïÈf@mÜ¡.öW ­o€ñðê†wžƒ»|ŒÐ!]pßÚ‰ßõí'ÃaPÉȸ–ƒáÖ”"Ÿ‘¬@È à°»qì(S0(€1×ú#¦$amð`Ðß? ¯^¿b–’„Th«oÁ»‹Ø E.¨_ÿàÕ/†]g?{FÊ\à"˜‡“¬´n®Ó+ðœA„­ ƒ—?¸][n_ƒCÂFúqî¶ùÿ}_TŽ y„çN$Pä?~òŒ¡ ¼‰áÚ‰3 ñ Š@÷‡ôóÀ >IaUmð¾Å?¿ÿ@i@×íÁ| W2ýGZLjè)1K´¯Ÿ¾0Ü»pŸáýKØ[hßþ?¤•ÿÈYìþ=fç&tÖÿŒÿ™þaüý º{ÜPe·%þ1š eé÷@“B@›°­çcdÂÒàׯ^½F Öiáÿ!£}¡Kž/ÜÿÆ0mçk†õ§>€s:H=7°Šà6Æø€ A˜—Øc÷°aßP ïm†ÃŒ|FŒ Áx;†ßÖ.Ô‰ÐtîÍÛwRr*îœ<Ë l2A6hþýi¨Ê+Š1¨iIƒWèÂÇôÿý…îA†w!ã÷±ýàU¹àuÿ S×ïž½e¸|øÃ;Pä³0C'Ú ®µ‹ÏÆò_½g`R×d˜>qƒš²ã=ÿþ¶uþpñïßÜà;ÿrÀÞÀƒê?äbT@(«‚ Á§¯ß¼ÿÿêÍ'FE91èfì{ì!Ûƒø€ ´t Ô…dõÍ`î¢ù^ØÁÈ .ÅY_ÎÆ^‡'ÄÇ™Öûú \Àzžœ@]Bfè/hxsg-êx®%ãLŒ xŽK@»@¥Ú™srKê~?~Â,öAc ˆõ:”UĤ儡Ӵ (u:rcÔʇ¯X†Šƒ†tA‰âñ­ ®?›ÁÂ…ù ÕÿÛ¿‹|`Ã38$Œ¡¦¼œAHJŽáôék gÎ^Ògï:AÙ~ ÞÆ‡á 0ü Þ× )%þBK xÖd ôðèãǯ¿Ï]¸Í¦®"Íðë÷_œëî¡%'7;;Û·qn­4i®"àÈe‚îªüü†¥<LàŸ ˆî<·30blÑbddÀ2ZɈ¶z ×6o,[ºþCFÝ@ç7ÛHŸûø6Muq!!n¤n#ÜÏÿ™àþîÂW²@ü*â¿~üÊpûÚS†o>C¶ÇÃì‡uØþÚlì±»™*â á!¡àÈÿ l\‚Â_EUÔ66ºý€%Ñ âšzÿq4†9}ëÍWæc/퀟ðÅ!¨¹ž)€Áƒ8lì ’b Ÿ@ûþüEÌ#bÙM‹Ø!̈X؈¾›©¨Æ<’K†iƒ/®z×þ@ظ>3xŸÞ‚E« ÊÔ~ÿbäáw½~C—¢ p2hK1ñs‚#ÿ?òJH 7þÁVñü‡Nä@ä@Y¯Ÿ¿g¸pêÃû7_Àƒ;ÿ¡]@Ðàî7 ^ûé+Ã&`‘Ÿ–ÄP[VÞsñõÛ7Hcœ‘<%//௯¬óÙ0P þ3ÆÞ+`CðÜ `ƒîç¯ßHEö-^ âš˜$%>S6d8˜‘ÀnZ¬»iQÙdɈÜë`Ä“ë1¬0â‰xDŽ…‰€F÷@3k¦Ìehjëg0Zç ZÕ ^HùœóÅE¹ 4Å8ØA-}è(Óè¬Ïÿÿ(>Ä\>d!#d*÷þ½W W.ÐŽ™o>2<aèéhf¨¬®dv­¿3Ögøj+PUÉÉËËàà`:!E”®(M„%0?5è~üüés£5¸ÎY~*Ö€´ ׯßÀE###¢9÷1bæu¸2&Œ^z=¼0{äcF<2Mfº­Íí&LšÉ`ìª:K‚¿Ð%\ n®¼/ƒ®ŠØË Eœÿá­üÿˆ„[nû91@rý/`Izãú3†»·^BtC§«™¡%3¨‘7÷ý'5+† g| ÿ~~¶­8ÀáùüÅsði*HÇ1¨©(ª5`)£Ai Œ½ÀbÿñÛwÿÝ»ÿ’ÉÌH¼N¾¼t÷Ã7`áÿ¿ÿ`ø+%ÍÀÇ ê†üQ,¬¬¸wß’xj®ˆ'·žG–î½ÿ‘¡¦¹›aû¦í ^|< º H7”øÕd]?I>è|=¬çƒh̓Æ#`û¸˸!u>¨§ðéów†›·^1|øð¼}VƒZù &óv`‘—…•!;'ƒ!ˆYYÙ¾}ù ,•ØxÁÝë? ÏŸƒ†XÀÍP .ºŠŠ"ƒ?/û»w™˜X®R’ˆå42˜‡‡\¸t‹ËÚR›áxÃ0X>~aöþ?ÉÀðþhÃ`îÿ+ÿ–AôýgÖ/? !ŒXU’DTÄÿG2—`{ăx ƒª>|ÌPRÝÊpþèI†A>U`7öþýkÉ 0H s«5؆íÿÐ.#Ì1LŒp7ý‡–B ÕL ¶ÓË—ŸnÞy lKýæ`&x®Õ÷·fnøð™A@QaJE1ƒ‡‡xy=°mO‚FXùÁ'®€Ö[‚“°6¨Ä’”–d°²4eX»n« e½‹Ðÿ?À>'Ã;&èLó‹_ÿÿß~øø¥>8B_#ýÁ#†ÿýU`ŽVöÀNê†ÿ   ÖéÓç ¢Ÿß3ðúÉðç;PŒcÈg®g$4j…–ë±ìÀHtăûØll —.]cÈ+­cx{÷>C„?ƒô®¿àî( ƒ®?ƒÒÁ‹ (¦ýÇ(€ ý{pwîÃÝ'î?zYœÉ é €"ÿ/#¤È?ô탋‡+CSM%ƒ´¬ Ãw`Cï?ÒÚp÷š t,'ûwo‘jëÿ`9V`»ËÒÒ„aý†íº@>;PßOr@±l{s“á)3+Ã!†û,ìÀFÉÿßW<òBÿÇ©s ÿoÜaø÷èˆïß‘,þ?/L`Ö•Œü ŒÀ ‹¨Ã‹“^+ l¼ü%:â©QÜc+i0yAéÆÎœ¿”áÍÍÛ á‚ | È‡îóæaeЗågàagnÁ{;à*²ÈÞÏÿÏïÛƒ(#þvÕn=úÀðìåð‚P”„@MÊ÷ÀˆùO98JJ ÒSÀÃÇß¾~…6OP×Z€ײr’Ààþ 9º ,̘*ªJ œ\œòÿþþµêÝGn n`kU hÞ—§À®°æa˜Á&|ë0€~9ÉÀ jÐ|ý:R2X"!ÆÀ,'ÃÀÂR Ì"" ¬î3¼Z1—áåÛ· :àáà?˜KÊ)®ç ßâ‰x¤ÃÛ·ïNž½Ì Äà ަõë?d…’´;ƒ°ÁRó>Έ¨{@SÃLˆº>Š|`‘ÿéË/†«Þ3|øô\ßÿ‡v±@37æm¶æÅTUfU—38890ü¶ðAç¢LºÁ&¨  T I`ûá#¸-¬/ß%eq1æ'OžùK²@±€r+ÿ„2ÀÞ¿€Ñßï_ß½Oó‚÷Ù‚6+Š 30k¨20ª«‚°™ n¥ÿ&}^a!†¿ÀóâÅ[ðÚ7†ŸŒÖóØô[Ïãîv‚êË{÷Ÿëç7 ÒÌà%\ ª$ÄÉ .Î ™«ûónÊÆËÿ¨ƒ:ÿ¡ðú·ß®s>h5 ´‹ÑeƒÃÀêò8°!íãçËP[UìÞI0|æzŒ}”Œ¨ë'˜Ù¸¤$eÕÕuÈö{&D×<)*ÂàähÃ0{Î=VpÛ<@È- ×UŽ6üÿOàןÿ^>~Ť*#Äð_M…Ù˜Q^T‰"u}þ‚Gð@'hƒ’Ï«× kû¨RÏ3]Ï㲃P·ï>bø ,Ñ~sð€#P[„‹A˜ûE)Ø/Œ°©[&ØèÞ( ä‚´?!ó .ÿ]`cï΋/àn´‹jå¿òw~þÊð Øš¯,ÌgHNŒçöïß¾bvO±–hLÀîµÃ`IJ¬LÌ(CߌÀ’ÖÈP´Ôšýœ@°:‰Ûˆ ÀÉóÿï'®ïß~½õ–ƒÙÆÁÜXˆ0@ @u0ôÀ#1ðaŸÀ£VŒ°£L žgÀ— €zõÚ†OŸ~3pJ23ˆq1ˆó°‚{þÃ×À#2Âw/Á½ ]ÍËÄü¼°åÆó/ OÞ}‡L\AÏEÓ yÛ€E¾”†Ãl`‘oko ,ò¿#­•ÀñpËþƒ»‚ˆåv¨½¨ÿÀêCUMÔûýû·Э+ÈIÄM6PÌZ½Åûÿ+çß?¯oñ 10ØZ20‚"¶j}¦4­¯>}ú©¯˜ð ß2?|Ëm]VpÂÆÍч¤ñ‡:ÀÅðéý'†í»‚s·7+ƒ '+¸¥Øi‹4¬û6} ›Ê… ô€¦h¿|ÿÍpöÁ†‡ÀÈì@Úˆàà9 l(¯æ|G_o†‹æ#ß\äÃ×V0âj× . TÏÇÇ^hó÷ï_Œ¤JŠŠr ÊÀ¶0¸[(ªd€XŸQÃqr1ü»ñ…‘ùà&N†ß¼¼ ŒÿpÖ¿ ϳC÷|¦ú?Ð3nðNÚ0àš¦EŠ8P÷æÃßÓWþ]¿ì…ü„ô~Æpóæ=%†¿þ1|ÖÙŒÐx‡n7FÛ–Åàùû Ì@±0œ|ð‘á °ÑÛç~âÀˆ?,ªËÊŠ&õu1ÛFß¿~Ç:†+â‘Ï"æåå6¿~ñÄð84€Žâå`pssΪCî’ €å~ihj³ðñc`ÐoøÂÊöïÖË1 Í ¬lX‡ÀçzØ€ Ú!ôàñMp}Å®¯þ‘_܃ê_`À"þ0Çþ»ýIM‘ÅÆÙ@ƒQ\ ´¾_wÄ#×ÿ, ·€æ03ýað4—`Ø}ö=Ã`$š«ð†eØÄt &|Ý⼂{o0Ü|ó03A–žßx÷ƒáÁÇ_àͤLH«ÊÎÿúÃp˜XíZkdä~‹üÿÿ‰¨çQj>TµÓÃyÁ àÅ‹ ŒÆÌ©I¤ð­BRUUÍ ð~ûö-î“HMÄm´‚oÂâo@üT|gb}üé×ßgÏ߆nAD>z ûº<T\ƪIªç±ÕûÀÅ$ÈÏÀâfÍÀ$!‡–_0ü9p’áç´e ?k'0üš¸ˆáïÑóàÒ‚X=€Ú ࢭ¨•H¿€jöõJJp1ððr0XjK,`L®xût¶ß_¤mÙТŸºOáì‹o wßÿ„ú1ƒOú``ØóíÃa`"#+aöôI ÒRR ß¿À"Ÿp=ψ1I…zô=èr)Px¾|ùÒB 9Y9i}Ð\Œ9U@±€w$@0¨*øòŸñ+° À õÿ÷ÓG¿þ½ºyû¾ ü´c¤ã‰P:Эâßõôß?ÿ°Ÿ+@âð-h*UI†5ÔØxÏð÷òmо1†ÿ …¯Þ1üýô•á/°HgÜ*ÔX<ìX¬]U!~È Uh¾ÿɳ— ‡žav‘``çá`cafð´”dX³ïƒ°ðæeeøª[ÁcüÿÁ+Žß|ÿËp˜ó?ýú >_`@éw }x_¾0ü6Ž»*JBB~ýø K]£¸Ç{Ùl8˜<0õêõk¬áÊxܼ ¶¶V »vuY€‰ÿ) €@ àtÅ(†U€AgÍ÷ÿï³ì//?^c=ôôå»(Ð'¬ß‹}à²8´<ü °ŸË/À‡tˆQëð°vë@;yE˜Mu€U0g¾z Qûzа}òïÙk†ÿÏß0ü9zŽÅX›5ȘŒ€noCåd`î¹yçë¯ Z?ýÐ0-°]ccì¹|ûÍ0õÄs†w8‚A7s€ÎàFðC ø¥?Ák`+’Au˜0w{ªúz -õ zF ?À¹þ?qOp(é|$v))1ðšèT;ê^ vÀouuP5À© tƒPÍ9R@ütˆAG†+Aێߘ¤ƒ~¾_yñ/ÓÍï?0ü†;3 0`þ0`Û5 ©x=)`qõꃼ¬ t³(©Ó´Xr¨ÛL\ÌZÊ ÿ@õ=( øxþøY—j,>yÁðØû³ïßs×X-XÃ}˜õ4À]HPïáö½Gszî¼gxqø ƒ´‡2Ãß¿\•€¥;Ú#O.=ÿÍ)Äî²=úúœ#À“Ûÿ!ãg ê°šóñ÷ehn¨fµò¿|aÀ}ô<)¹õ`.ðp0°wZlóéãGH©†nŒ°v€ƒ  ë›7oý™˜˜HJÄš^*þØêg `·ÀîßwÑWwn1ü¼v“ X×0pr€¶ú"ÖºA×xY&Pðå Ð^6pî¤høVBíåXfC-†ÿo?€«F^ð&EiðÏŸcçþÝy^«ð{ó>†¿×î0°ú93°z;2üWUd8}þ?ø|ý—Çž0ðÊð1HšË€ÍñRc0ÑgØŸ L ß>ÿfª…v‹@k™/«·;Àª$??›!7'\É}­‹ 8â±a€¹`ãd”’axòø¸ßÏÞYüÅHPFvÁAÕÀŠkŒH ˜jP嵕r„H kƒæ”þÿ¶{þ€áóô… \zj ÿÄD]0 vùyyþƒ^@üt™"xíÀã—ï˜ØÙASc H+|Cߌ“®‰ÅE<°mÊÉÎðÿçF`g•ÅT—áÿ» .\/Nù ÌñLZ* ¬n føsòëo`iðóûð2¬k>1Üfƒ:Ø4Ù# ìzv×U2Cêû?ÿ íÀUÏãö+#´·òi^urÔ½g¸qý¸7^òï?J÷”L¬l & «V­µ¸€f|#6`ì V‚èÛ„5šŠV(J¯B©žé¡¿Ðoô'ú^TB‹ ¦ö´6˜èöÍD µRzÈ-„ìÌÛ7of–ÙS¸D(&HõøÝ>ÍÞõ³Ìn¦‘±9S<þ€ › >~ä~äaßýô¾^Èg Mãp,Ü*ƒCµ^êž½Áë—¡ä}ÍpBõ*“5œÛkjƒSà ½Ugf "5<Ȉ[ŒŠŽ1Š—ˆçoh– â÷¬Œ‹$Ùc7xTtÐ…œ*•븼ºÁS»JF ¸Ìµ0@«¢Û¹ã.{@*mqkñçmbg‹>§éY 2ŠnÇðêkÅþ¸¢®0NHÛ¦égQv½ïC×α%­Z)Ó0@ “Ý €çÿàKa+/@ý1 sN²þÿ¯¶“•Çü'¿ˆª²¬4Ãß節‘ðØèz9Š‹ X¿²UÌà-Íþ¿™N_eø¶t3Ã_Ð hÆXt3K:Pqª€ ÊÙŒÀ€g‰C·?ëðÁ>ÀÝ?Pï0òþ«–ÿ Æ° øl 2#T%ýüÙ /ß@¦«Af³³A‚’r¶èì¯Üon- i`ÏBSQŠAAF|Á$ìø½ƒÌ̈kê@9Ž2 ó´ÿz„+##eõ< 0ì¾ýûÍpã㆟Àœ­È+ÎÀÏÆ žðAâævþü.q8@ë þ22¼úùáûŸ_ 2\"@=,à‰,Ð21)) ¦û÷y±±1ˆûà°[4ö2 ×õm¬¼»~K*¨§Ä1°¾zÍðïùK`d»÷ÀÖÃ'`ãëxm #è¨W`ËŸéÉk†ßÇ.€§‰A‘@fÈáà¾:0a€o®-u T¿3À¦4ÿCî·ùªB@­}`= Ž|`Ÿûß‡Ï Œ « }‹ Æ!P/h„ð0a2¼ÿ]f t?70Êu€]C=uFIQ%!†ty%†?ÀR¤Ú¶`fc:rÚdË9ƒæÛƒ×ýÿ€ogDé£#ïY æAD‘ʹÿ|g8þú&ÃõO‘(ÌðíïOnVNn1qN~èµ3u×¼<| ߀a¾˜p>õ>ùú†áÑ—× ¯|dçea`àepqq`˜2e¶èÀob@a$ ¥Àèd˜Ë)ÊÐÇ#Z}íÙ«÷ ¿€}^viIF½¿àÞP„éóv`n}²h!ë»7tÌõ¹õ 0ƒŽþ„äæ_@$öûdävjè†OЖ‹ÁUd;/(Kp1,þÁm9°¦·R ÿ>»‰QH€YQ†ÅÒ˜ÙÁœ¾¿ýÊðáË/¦Ÿ¿`£×Àå'Ãë߸ÙYx9x8YE,3êÞØrx¤ÑA”Ìÿ‘¶|ÈõŒÐ"þ0òN¼¹Åpïó p„Þøôìu~iynQè%zˆC”x€%hSȇ„ 4iýhÆÏÏî}yÎ óE”ÁTXAƒ[€ÁÀ@41§ LÄÂ@ûÞ“0r-+ Qôd41õC U* *±.]¹ôô?Ë¿R\ºìª.•X° 섌çNbiÕ…&É=÷̹wîùìÐM°Xôƒ×Db%BKL”}“^ßó ÂNüíÜTSyÏ~J¸¶Ž—á·z„«Ë ø2iìµb3/T.Ùì9…ø´ÕÌñF@H Ý€df¤ [k`Ç¢7ìj4F%tÏò¯"°–¸7Š‘òOµøg§ðº[£†·³ o¯ Ëà[™ôUjA¢Í›šN).?Œv~BÑj€VÀ¥—›€Í^6­]ûCîÙ?®°üESõ­§AþÈÌ"7÷Œ¦®š–ŸØg¢$è„1Úˆœ(ËY–á0íaÓ§&¡V¹{½gy^P?xÐÏHË]¥¢ÚƘs¾ÿÍð%cWÓB@Eï B˜Y)””¬LVн_ëLYY( ë)e’Œóœû™4Êjvóê½sï9÷öî;ñ4VÙè ²ðãQ2GÃTž< 3¨ºSÄôånôí…”;HGºÿ Ÿ[¨T'pS€ÓÁ¯r öÖæ½âx æoej²`Œ) €*4€ÁŸÎIXc¤û”‚o%¯¡x‚§k"âMXŸïÏáDQ¡$^·g„tüд(/¡O”óXÛÕÀõ?, '.Ã/•è"jù‡eìûózòÎÞ;d¹3ºÊ€óx¿H:hêÔ+µýÅ/M¬IÅoªìº+¹'LW%g”á=nRC0ˆÎ× Ukj64™Lû¶à)€X¶± 2tòJ2<¦¤ß %Óÿÿ2ð ùf˜¾~ûúéòåB¾^@ŸXû÷ Áð„è´ßа ^ÀŠvHçD(Bí A¯¼O½10ÉH00ƒr5°eÿ´Š™ùyÀ9ŸÔ5ää‚”. 9 «–@&€–yƒ§¨±9_ï?xOìÚ¹_€ÝÁoÀe&^`ÕÀ ,`ç20bÞ¨Œ2ˆ¼Œ|B73óïïÀ9ÿ°áÇl´}úù…•‹ÁRLƒÁTD…A€rN Šÿ!“l<Ü|àx>Üw`W êƒ‡…œ À˜øùÅÀí€cÇNéÛ׸¯]EÄRÂ/ ^ Å´Œ»š·LLŒž>ã99„ éŽ^Ô•¬¼Àâú°?ýØOæååAUó1ïÿÿÇ€¹áR‚ÆäÿýUA¬àa`&Y)Æ7Fy† ³qE˜”€XŽá?°ùiäñÿD6ýÞÔñ%âPã‰~ù¤´‚vUAg »“ï~Cî åç–ÿƒïê´ 7Ê"ö9"z  h½ÿù0ÇÏ$~æ|>6.gI}ae`€<·º‚‘°@ç1‹ýú´jÞS`tD? ;ü̈µ444@³ƒ Únx@(ÓhÏø°e>öâÅðv1Œ»ü` (ÿÿƒŒ‹«W¯^@‹À±8û1ÒÍ@57>=g8üê°¾üö,¨Á(,ÀÀjmÌÀæïÂÀêlÍÀ¤©c€-µbÄœu_ë=ªŽ‘^ ïaütð4ü@hFÈ `?€ ÿ+hC(4aýý¸ô?<þ‘¶»1"n78ÿ@.}ÕÙ ¬Á'Ã`¬óÁ‘ÍÈ+)Á‡E11ƒs9èjÐŒßÛïÞ}{ÃpôÕ5†sïî€#Ÿ…²žÈf–àày5ePæã&üPbª€ba"fΘ™ùþóoÁÝ#äÅ!Hi0¢ŒhÃm~‹j!v`·yÿÿÃLðmðŒ`ÿ&šïÀý CVq†+_^2l|x”áÉç×à1vfV†ÏÀ°‘v#Õ€ Šƒ‰sþ&›ºº,xÏúà'hhy8¨èzýú=t?ŽU½Ø†F™À›2O¾¹Ëpýó3pÑöØ=û¬äÀ#^¬!–µÿÑ+!_sÿvê$ô¤NøªF,ƒ¹°™8FF&F¤)  ê2‚ºˆl¬ˆ3xÕÂîôƒU3 qVÐiâlÜàÆ (â@ýxPDøùèß¿à¶Á«ÞüüöëG°Ÿ¿‚{ ?‰Ø cxÇþ‹á;û_†ÀÆ#/°ý Î-È Â#Å #¨È  Ìý Ñ@Äô |zX ˜ î8…/nˆ¨4äÉÏŸ¿^Þ¼yO–ûÎ^Øê`qq †ÏŸ?A篑#w_™Úª½öé Ãa`ÿö%0@@Å%(Çð³ñ‚G»D9x¡‡‡0aŸXaD¬RF.~ÁG·2"‚„ŸÚ/#БBnŠA{® ?€ÌUß~üœ):îºúˆ Z’@r3d ÙŸÿÀ–ùÿ?àDûXªFð@½÷ÀHá Q9„ Ò²F[ÁJ’àÓÃ?g¯×§áè+ë&†7¿¿0~}“áÑ··  *@XÿƒªN,‘Žcغ 6­€|‰ìTŒÿèç1¢ßÅ;rL-#tôèhÌâûVð%ÐÿÀŠè_@üóÏopD‚r5(’üûÎÅ ~ÿóK†çßÞÅ‚Â﯀]An`Ãðƒï1æd.VE^  ¿…E¼0ÂeN?á`˜}ýƒ‡¤ƒ°€äœÈ6v”KÈ¢ v ,6`eåÁ±»‚ :†F’byɺvêø-ý ÐGô:wˆIFRZ»YóV©•Š: ¬°ˆøØ·3³;óþ>V¿ÊéËdA‹ÝŠ–é†WF¦âZ0‚Çt7všxÍ•÷à¯-¡j0eÔ!`ë¹Eºc¦1^o€ß GL2E e‚r¶ó-§SY8H²Ðì §yü­HÈì+ƒ}©Ÿ‘ ‘<Æ;pÌ ƒÞ`ŽRöp°Â¶. ì¾ÊðlŸ÷˜ùàé·m—RMò˜“,D}QªY`ÒóRº …ᔢhY`—qȾáú@D'ÐÉ!Ï߀çÍÙùX =/ÔqÐùù"¢b wï_o°dFÛ΄²L´V© Q¬íÏ.1ìâ÷Àâð×?È¢R^]9;q `KWqð#î%eèiº¤ZT3ÀWêþ‡3@`àâXüþ6°@‘÷õï†/ÀÈþþïxðæÇ?`‹ñßì_`þo`r]¨‰"ú?l¨<áÄ NÜ R ¹ À†Úc`74޲_†[„ÁJT‹ÁF\˜Ðy¸˜9€¹Ÿ&ðJ2×ËÀÍà ž |ú샸” tÂ3ò‘š sÉ»åŽÀ°Þ„+^ˆè:LúíÛÿîÜ}ÆdfªtÐo, !Ó— íL î æ52Ö2(wƒŠý·??3l~zžaËÓ àR! ¢“:² .: Z@´©´®d&ä(VäÄÇãáýsÆÿàÑ1Ð!Ö å:Ь(gþ¨hE4ƒä@¹áàHªE2HÝ_hÃí'8’!Õ ¤ÍÂLð\,làF¨ŠâaãöV¸ø@l`¯$Êá¼@Tš½¶î·<>Ípýãc°zðÍk@õÒ\¢à„ë) Dè?Èê`Èòðç!rœ‘mÕ*«(2ÈÊÊ0ܾ}Ç g 㣟?ÿ8wá:—µ.äè”FâäPÐNÐáìl¨¹”’A9໇ €}ý3ïîCÆÇ”øØ¹œ¥t‚Í4„ä~~ùìV¾dxðàƒ¤¤4ƒŠª87€Ž¤ù÷2ZºýÖ€ú-†þŒ‘?û laûŒØŸÀŒà¿?áE6DÏoxëäPDƒz ŒŒF+0's0±1ˆ± @#”6»Bì ¥`h‹;!U¨¾W/ž1¨¨¨‚ç²A94ž¾ûÎy†iG¶0<¹ÿŒáËý÷ o/>eøñúèrGn~Af}YV†ÏŸ€Å·Ão 6†§&Ü _eÙ!w¤hr30Y 0|¹ú•áÃùK ¼=¸¤Å¸ì4Dt}_I)Q`^dÿ¬›A9ŒÙÁEøÿ_Ì ÜŒÐHF8 hŽ\€Šy&&”&#üÄÓÿ*á?$ÂOû: zp4è`ð2è&p¦gB¬!@Ùò:zÙ ¹€—ß?€ÇΫA`ä»J‡xÿ"ÍÆ‚Û¬ Ã8Õß§ ×Ç¢ô¤0žÀÚ²òr ºº: G³ãääÄšˆ´ÀÄôôå«7 Ÿ¿|cà¶lÿ¡]Ë Ÿ,þ_¼xl%CníâæábX¼`5CV~5ÃÎÿMh ;ÔØB¤ÜD %^&ð!Šû½a8*ÏÁp?Z’á7'PÍ`[ãëoðùð …¬L oLxÞò0ð=øÉ |ú#Ïš ·^f÷qe°qtf0Ô1dàÖÏ¿@ë þüOºüüùáÓ·_àô´½ic1Âþ#/_†Ó£ eÃÎ`„.Õñ œý hh®à?l<º—r~#ü”z]lŒÀnšˆ:°ðžáØ«kàîáîççÀÝ>`ÃTòüEº@™‘™›AJJžáþý‡õ°ñ‘›žgcçcpusf8tè°.TÆùÿDb ÀôøÝ»O._¾Ïâé!½VÕR>ð¦¿À.Ëx‹t8²‚²2§ ×X`ŽSæcøÅüAƒƒ! Xç2|ùÉðõëO†{Þ1üö—áaº Ã_^ȱZ@𛔀]PP„‚ÅFRæcö7¿ áÓÍ+¯ÜÀààèÊàîÀ oh ,^UËÄlüÝõûbÑ×èŒãl»P·´1¢cûm”X˜ÿC#’Ș óh·*ƒ/¶`ãcð’1ùž{{Ü&Øðø¸ ±Ó—PˆQM`÷ZDŒáÒ¥Ëà°­ý‡É112C5¶m[ÿÔÁ»‡¹4€q£4ûzœ) ²8äÛ§K—o ž^‰4 Z^-$(ÄðñãGð¤ øÈ÷_À­÷ŒÈd†ÿÛß1ü6J™þ02øüãd`ÿÅ^¨yñúg†“¾1¼Œcø º½ó×?ÄIœ Ë¨„8ØÄ€!>ð% `9šßÀ"X˜•á™—0Ã=`¹éÆÉ°øÊf†ìüD†´è†¥óg2<¸—‹››ADH¼ô rë#ü8FFÄFVä5°ÀdB.Fàÿÿ‘ºÿA¥À_¸“±- E^b꞊s 3D(:0è«ðZŸ_6>:ÎpâÍup„"_«ÃËÇÞ³¹Ë1€õîç'`÷ò-|>…eŠ4,¬ ZUÄt_6W3/·)iàûïßÜ”d]],î€wÁuáž}» …ÁÅÙ¼Ø4ªöúý7i9Y†#kŽ2¼e}Ë «&ÄÍ.îÿ¾{ÿ“aæ§ OM¹Þ9 [VÿQF ‘J .v`Šf‡ÆºÙvr hÖ˜0¾Û Ÿ ù¾)q2¼|óŠáèŽ û×mdxþø1øds>A`•Ä®ÇÁ³sH+x`g#r=øfF¤­Á-}Dk~"<Œ_DÅŒTb@ÕÁG‘VÅ|À6‰¯$ÃËÀö°Wêº>úú ÜV‘á¶h€Õ#°]p÷ö5†cG3DFÆýÁ.µ@]ÞÓoo2~yœý8ÁÝP6èÙ 8ÜÀ.䥋ÝÁkŸ=‰•è @¤&н÷ª""‚v>^vðžrîaöý?ÂðåÛGO/È*oÐy“¾2ð ð3ðqð2왵ÁÇJœÁZˆ˜‰ÿ1\»öáØýÏ Ï¢€¹Ÿ ²û±¬ QÃnĵº99Ø€í NH½ ]ö…¸¶X0²2|Ñâeø¬ÏÇð…í7Ãå³§®ÞÀpáÈ`îûÍÀì­«Ðñ¬ÿáÙšÛ‘s=ò´3,Ò·Ÿ31 E.ôlcPÏ2uÀïÚÁ¡ é…M\ƒ¯8ÃóooÁƒc ±‚ÛŸž1ð€0²OŸ<`عsCTt<0pƒ]øôû†íON1\~wáÆÇ‡ Ï¿¿›%Î!¿“‘Ø»ùøá=Ãî]»YXYYf20 œ2Á@$Ÿ3ÊÄÄ|ÖàädCYl > 4#(ÉpñòcpTGýûYMóãû{í¥ú §&Ýbˆëseø,ÃÆðSz›#ÖõI9~èÝàÖ4(7‚NÑàæ¯EüðõÃ׿À%À“õ =ƒ<, oì­Þ?øÁðæÌ†‹3ëÄÿ Œ^ fvÎ *ZÀ.«0x˨+É€±Óz6 Ú} ÈÅ-<  ‰‘ X‡3!¯?@¼\Â7AÿeâaˆTrbXrw/ÃÁkßÙ+ðR´aÿ¯_¿f¶@ýZÐ("Ȉ‡_^€W?úú7t˜›K ™Àa/°`—ȹ4 #ìmðspÂÏÖWÿmß_ÀöYR*|– 7.e8±y3ÃÅ#ÁËj¿ˆˆƒ‹XðEÎHÓ¬àþ=òÒ-Ø1úLŒ¨·˜Ãª FÈp1#ÊMãŒðˆgD¯€XØjWw A3‡ îç•÷÷>þýÂÀý‹‘açú ÖÖöÀµ&Ð}¿Áó o€jo}~¬BÞƒÚ¸€9^Ž[ؾVÉ YW¸~ýF&`»ì=°ŠÞ…™Dr:œ ØbO3Ð×d60Pƒî A,©×o\c8ñChp°J`/¤uÁÀ‡#FN^–áöí‡ {öœcp°c8râ5ÃsS.†ï h µ5ž…VÌH 9&¤ äWô°¸(Ï€JXBÕÀöÉ7e.††ü _•8Þ¼{Épöà†›61<}p¼ ™X"€JFèù¿(yz‡x»#ü>hR„ÝÀm/0! Ì_LŒÈ R˜×ð1€ç „•ÁÃÓ÷¿<'¢ûŸŸ3ÜùüŒáÊ©s æš& ºzfÀ~þ/p[ãýï/ €%Àk`4s šX’&Ð^ðdÐí\ü ïßg8uò°À¶9>ˆœðýÛ·oI*ʲ|NŽæà€¼œ™˜ïñ0W……†‚ϼýúý7Ãçï¿  3 6ËÈJ3,˜¿™?Á—F=1âdø)Î9«yi5R1 / 9Œ™±–Ž™Q"€xlÀ^Š0'7ƒxFÔM!ŽÛ„˜ù ؃ø¬ËËðÑ€Ÿá÷_†Û×/1œÚº™áì¾=àCY€%š0°Tààà†ÜþÅð> ¾ïÙÈ M!‰Ú%D.9 %#Ò$Fø…ŒÐ¾ÿà¹`Ï@”ƒ<_š¯øòÿ'ùW7$Õ«£ x¥¨ôùñç8<6ACÜ R4ç Å-ÂÀÏÎi£Íû lìØ±‹ X̺á,ƈœ*à7°n·—“Òöp³†ŽwC×à¶ReOž=eصkCPxnàÓ7`?tSt¨m #+>¯Ýú“ BÀŒÿ Øõû¬À‰@f&ԭ׌Èëè {û`U¬`†ö¿aþŒà!h!v.)`ËŸT´ƒº2 W¾Àv߀Wþ°11|Säö ¾¨r1¼ÿò–áÜ‘ý '6nd¸ý xv‘‡_€AHX <Ë ¯ —C¢'X·r|<JzFœc„¾Jš¾# ävy>i=ApñþúÛ{†§/3¼çøÃ ,& î!pÛ ÒéÑ——àý‚?Á\ …§¼@ÌÏ Ç# `üН]³ŽXŸÚq f@‘“@õ¾??¯K€¿¸köi,Ô |ýæ5ÃÖ­œm$$e>|ùÁðý×?x­ [!¯(˰iã¦?ߘ¥Ø>I°20~‡Éú´^™™ ¥€Ü¥ÍýPÓ˜ãóˆ6|™,xAê€íYn~ N°~‚¦—‘7¯@ï0ü-ìAhó€Ãw!F†û÷®1œÜ¾áÔŽm ŸÞ¿c`–` RhÖèôv¬4`„UЪùixâA¿3 ÒÀDË^ø š¥<~ýxäò;°è6AŨq‚s$8üø©·Y˜ ¹¨‡· ÷ 2C¯¶•Lh¥|õ.„æee6”䏸Àã ¿ ‹AàË}ÿ2 +p0|2`ø J¿?1\tü¹$@ªЇ}™Ñz š|‘æäcÐàaÝÏ ZœZ3ðï/¢-òZE?%Ù>Ÿ@ƒLŒß®ž?ÁpdÝ:†‹GƒWJqž¢¢Àî$'tMâ”*éÂjF$1äÃ!@mÐúÁ§ßÞ€ûølÀÄzíÒi†——ï2%2Üÿö¼Lü+0‚¯½ŽlNÐH hä4õÍ ¬Ä8„¥(!‚¦¬W®\Åþû×ï»Àé4È6€"+€¢äçÏŸ!**òâ.NH‡C"8vìܬ'ùìììÞú†´›¥ZÅ*%#Çpÿîu†n2°¿ýÁð˜ã €Î `DÜÐJÀ†äßo¿!G¿«‡À,è 4°Ö9ò#¢ÇÀˆÜ{`@4a×à‚[ÐÀ–³&0!(q €­ü ŒÐß¡öL Í†œÌ _5€Uƒ© ÃWyv†/1œØµáðÚµ ÏŸÐÍ{ NN®à^r¹‡<.îö°³1Y82ˆ‰K1ü»õ†áßÁû ̯¿ƒÂoÐl 3RBY,q~~û>ÁÔmÔ@T亟­=À í`¨cDlò`á`ÐäbðêŸïÐ5…°bîÞ/q6†ÏúÀRÁˆŸá+Ç/†«gO2\³šáì}Àô|ˆ–˜˜¸› W@ÛHÊO¤êÿƒÀÝ/Ïn|ÌpíÃ#`ÎÎð_”|L xp è®7@6¨;øë/dOÁ§?_À+’A{*@;ªd€½кÐjaаðžÝ» `ÐÞÿDnóŠÜÜ\^!ÁnàÜø¶kXÜqpp1œ6ÆØÁ ›[²Øä?ò!¢ ÀÊÌ ^&Z¹Z/Z‘üùë'†‡O2ˆHK‚—Ã"Á E¥¢‚à"4øZpÊ ÔJ° ýJ|RÀ®¶8Ü@cáúmÐÞWDöcÀHüüùkðâÐöåðSM@w䂎7e¸yóø|}Ðþú_@ZÆ @bBJ°¦#h æÇpbrpd°tð`8~`ÃÞM«n,ºÈðFØM4†¬iùýžx>þl“|gàábìÅÎïnþÇèÁàêÙ@1#êFP} ò¨`) Ï`Æ/ËpçÛ[†3ÀÜy÷û{`$ü‚¬{`Dj'ü…,ù¢Á Ƭïÿ0|<õáÞáÙ «×Îe0Ð4eŠNb0µt&v%pêùóû'b- #d\¡†" êr ïÿ~c8öï0ùۙJASK¼ðÔÀã¯Wäd-mW‚'–@nRº´Ì zƒšº:¿?û»·ï‚í€ËDv ŒLîïß&[Z3©iÈwÊwP1wéÒE†+WÏ1ƒïåýþóü8UFä+iu"ìÜaP›”’U5tlA%‚”<ÃËOþî»ËÀòØFà‡V Lж4ç€6­|ø 9P‰\"°‚K”ºË J aÅ1#ÒÙ¼ qI`ÛO’Aƒ[¼–á x¡é/Ô Š Œˆ¡g`© ÆÍðÙBá;°­ðäñ=†ƒÖ3\·–áÓÇ÷ \ÀF£„” 0q€{ ˆ+ä ³… ­ß|lü <ÀD¿zú†PÇ Wc7% 9 –võ„AGÜ{Êür æbš *|2 Ê|Ò –â: ‚@÷ .n†ëW¯»”>±±±­ JÀ`O ]]MÃÖÞ\àuü·oÝb8ì3‡„„«NðP,hÕ ¤€4ÜPzH]&èÖkÐZxÐx¶Š†ƒ 0!ˆ‰J1ü¹òœá÷þ; ,Ÿ~3üdgøÃÏÝ‚üoÀ„ðöëW`½ø|ð°Î›¤Á¨{ ˆêÖp„U)Œ°•=Lð{„ýl}^InIp;á+xSÉwØÙ0¨g_@Û ?%€=`;4!õñ÷'†Sv3ìYºŒáε+ lœàêƒ~!¼3 êNÿþÍ0{Öd]=##KÈ-'Œÿ‘öDþ‡Ÿ³šX’V] ÙAäÑF@GÏîÚ±‹ ؘ@d'P†æzwEwW+Ä} Fà£GöíßÍ^%^ôr;ÒSä!òÊ[F¤F"(!°s–®10!x3ð 3üºø„áÏþ{ ÌÀ’å0!€WÁC‹ºïÃkPBhn€›… :A€Z ÀnÐK”™=FøÜ?##Ê7°¥Å-Î`Ê'Ë ¬“A›JÞÿù¹@m¨vºÄ_`‚ÍLšK`7þúÅs {—­`8µw°ÀÌ ("ÂÀË+ ¾ 4’Û|ºdÑLE%U;`ØüA[ˆ¶ûŠý|wˆ?A%ìúuëøí¸ƒDIøì ¨‹ŠÚúú:BV¡@Sh¹ØË—϶mßÈàééìJ@‡KA=¹ˆÆ ##ür&D»y trÚõ±Y€¹YÏÈ‚ÁÆÉ›˜S~žzÀðûðfÐæa6`Ïq«4P¾þv“¾Bvå‚J^p‰Y¯J†®hB©–Œ¡Ì:‹LðªT=€vóªqŠ1˜ñÉ3ȳó3ü­vúºþý7|†i”rÙ4°aû]˜¾©s1¼xöa?°Áx`ÍZ {¿1ð 2 ‰‚íí¡Ø¾u¿(ƒ‹«7Øl‡_10â>¤4?³iã&Æwoß¾ J(wʳ±²ûGFx»bÌÐAÈ|è\» V3ØØZ0()©, þÌ0uŒè-`Fø1°qqø`*t™¸D¦`POÃÈÌ–ÁÊуó?+ÃÃwþžx¶ã·;¸5Ž8bÆg`BxúØWþý |ú90!°BFýmÍ Ò¸ÒÔ.2 "™Ëq 3Xð)0hr‰;Ãÿ>€¶ÿýzA#Rõüaeøl ìJÇŸÎ.߯°aÅBð|Ц–!8“<¸¼?ÓÇ7i Îeâˆ*›žP@³± ]FGù@%Ðâß Å!n BB|ÐÍqïoß¾1,_¾ÁÀPˆMÀK´a“3à¶"Pàûë‘‚^H0Á#Ÿyihž˜@§h™Û83X8»£_1|?p›áÿùg Œœ, ¿€%Âv&Äbh¨¡Ÿ~}¶–?2|&`iÅÇÊ?‡¹e#Z#©.ed@MLH·•À¬6Þ@ ÁˆWØ`Ö¿ M§ I!·˜ ó@¯UÞ£ß üÿ2üþùƒØ6p÷ûÿü¹3 Ož¸ˆ1|•ã€uîQÂÏïî~ûÈ Ê#È Í'Æ ÃÉ Þ+Ë]ÿ±Œ! o&ùÏ€ïœPˆ1¿A½tÐ~`Ï!ZÌœÁ_XŸáÀ§Û GÞßfxuú1ßž÷ â/þ2è© 08g*3ØYJ»l ÇϽ`X²ñÃÍ—ôôÍÄÄDÁû@ÝnføÁ :Túîí» 7nÜ`8þ<Ãî»@kÿKã;À8¹ÌÁÁqgxxyî‚GR€î Ê.ŸÂÌtìù‹7¡¿ü‚D2tÕ ¨ë'--Ëðùä¶ ØaJ Èfca÷@ǺÃ6¹üÿ‡4£‡¾Q~¢'Ò ¤šÿ¡;|@éç'è,`«_ÇÀ‚¡o†у;ÍžÄpfö1†·ú\ ŸlE¾K±ClàEØŒ[Ÿß2ÜþúžAƒGˆAØÇæ€$„¿ÐΈ¼<´'€ ý~$ìƒNÈ4hïßwÐi*Ll ¡2V ò76-:Ã`i Æà›(Ç` - žìúùë/ׯäexø¹ÿ3Lè«g02¶e8~ì°zýÊÀÁÉ 6ñþý{ ·oÞf¸rå î;îݹÇðíû·gÀ*÷'Çe`{l3°ŠøïØÜ@”&Pƒïìóg¯BëxÐ]~ÿ ^e&II)†_‚'|àçòAS8ÙXÀU|‹âô®Œ(SGÐA,äÈG¿9u·¨- †¿¬, öÀÞ‚¥ ÃÖËV.œÅpiÚe†6ü M~‰²AªØ0&4!\ÿô†áÆ—w Ú¼"  „ÀÉÞGø¾ØšÇQW ¥Â¬åd ô°ä9²ê ƒ¡®CC¥ä,ÁŸÿ@K®à MD€ƒÁÁRŠaåÖà _¾üï¼æáa˜:i2°X?ÊpîÜ _¿øþýûu`ãî"°o¿Hïï_ˆ‰?€¢FxüìÙ+Èé lÜð©SЪÐu²ŸÜ¶~ÿ¡4¦@]BVð$3xl²×r"xÊ—õ@?F&,÷Â7i 6kb¬]–<_QÐdQhd2ƒ«g ÊÅ36®\Äpóä†OÎ"ീx™!{PK„+Ÿ^3\ýò–A˜ ù¥8àçûa®:`@JyÈ|?tti‰X Þ8~™áõÝ' ÅU&Èÿñ¼QÔhûþzt,¯®ÌÏ "üˆN;ÁðåÛ·Ÿ­n0s ^bþõû$°ÜÝìÚ=g@”iD€¢´rÿÏŸ¿\]íeeÅ€õ0¤!šô¸táÃõë—€-ÖP`: †´ÙDýv`-U”¾2|`¹ç„4€‹¼¬ º4;Ƚt­:C¶xsr 2˜˜;ŠQ œÿ˜¾î¹ÎÀ|é5Ã?`Oá§0°Jâ`F½ºüå/ —¾¼føðû7°¯/ÄÊ^k©-ä.$|= êxäæq&ðy‡[§mfçûǦÞô Jü‡€vÜøó“Až™ ÞÌùió®[ ç¯<¼òOHg*›‚E‰€OŠåvqõÓÿ¾¾ùô÷ó«ÿ°QVR@Q\€ÎüôéóÏÓ§/sšYé20þüÏ Ë@ PãŒØÕb„ÁŽ fÏé3€÷ÔA¯ëïç``@ìˆXHéÎ0Cï`‚Ž7€ÙL£UA* :¡ä÷/`—ØÂÿúí Ãw`)ðõËW vý€b?‚Ž~öH„%~ž~ |û+Ã{`Cñ³*ôU¤Tì Ÿ^0\üòŠÁWœÁT@ŽA‘Cœþa›qbd@)¥XØY^¸Íð膄|}N` |øþ›¡hö¢ŸÀ¥hG§ °ËøŸARŒ“AAšá+‡äYN£à&°{þü›Æ" ÍÀcÍðóái†_/0üù𔑅q” @'P÷òß¿¿w>|¬Ë? Òåã]$õýdƒ(â`EÐ~6H7°d`ÝñÛh [F >ØáÃ/`÷t ¨ôý("?#ñË û3þú™á ˆþü…áÕË' ¯_=cxþâ9ÃÛ×ïÀ9 ´“–˜kY€%°? ºˆØ>]s'+£Æ ¯o lms1ܽ~‘áÈ¢= ¯U™>:‰cö¹OÏ.€‚ƒ90!(q ƒ’ø=ñû?Ê9 Hç C Pî?µíƒºƒ™°¯ÿ—¡õ놅ß?Àsð±ßß’8€U+#ó—?^¾úL8œOÁµÏŸŸð"þÿýÍÀÈÌöŸKÝ…M\“áçã³ ¿_ÜdøL¬à„Àˆÿ–2€¢Fø̉Gž?­ûëÇ/ÄÞuÈXè,!ÐAK,ì@ϰƒ.rF&°Tø첫2ð¡’oß¿6?Ù_>s)$B¿Å>0¼zñ˜áã§÷@ú5ëWoÀ »ã‡ØÎàäà÷8@´QDTŽAYE‡Ÿ_AL\œARB |v¡¨˜°kÊ^¶:è„A»–˜™AWÓ³2üýõaÏîM ‹gMb87ãÃ;c†ÀÃIvH"ø‹tJ)(×Yg?=c8÷僷ƒ "ƒ §°uÏŒ¸´¶¬í?âþPîzó!ÃõCWJR´ü­Ÿ>1Ìúþ¥ø†E ¨ÇtøÔs†WYžqÚôƒÕüû¶-û0X¿20‡\º¾ d ¾_ßÍðûÍ=hÁ}… @Q#€"ã¨!šdç`… õ‚.”æåæÞ Îfcxóæ0%?cxöì ÃÓ'O^¼x Yë:y“ rIhü”CAÛ³@W§ 1<}|¨Ž!)5‡A©"¢âà&(ÂAz@‰‚ šÓlVV iXþƒ`È’/f&Fxo´4DýŸá;x­¡»w0ƒ½½Ãúµ‹V-šÅpeòu†¶‚ ŸÌÁHÀkþc–‰àÒ·W Üâ v‚Ê j\bàãÞþüC„TÑÿÎï:Ç (ÁÁàj+ÍðXÍå|´Kd€~á6’¾þưiÇQ½µŒÂzoþþÄ™¥AkÿA—o0óŠ1ðšÇ2ü~u‹áëå- Àö°4àÀZµdqÈ×oÀ†–øLЬ???xî† Û¸¹yÀ¹”˜däuÀò°È‘dO$R,8—˜_@€aêÄI [¶l`HJÉ7ˆ@CÀ eåð#j!½tPëT]€"–z83ôÌbp•Ãô|Ò,¨j`‚6ò`#‹ ÛM~Û  ÄŸÃàî ì1LcذjÃí÷>¹ˆ€—‡ÿác†œKð³pþ3°jøúX"ˆ3Ø‚&—$xqæŸÿåâ Òçå= šç2"”¸ØNù°˜{‘s?;Ð}Þl ëòŽŸ}Éðô Ó;NCû‰°%+Ö¶€§‰A[ÏY%4x¹„¾ßÜÃðëÅ ¬¥@Q)0=~ÿþßK—î°¸{Z#Toÿf•U`X·f¸ñò<¸ø×É,[Ä@÷Òïí6þöãüö.0 LD?üdP×Ð`˜3ûÃå‹—´õ´Áó (·“#ïßË mÄÿG*ŠÿƒW÷0ÁW3b»-&ùûý 8áe51øÇ2,ž3‰a϶µ ON?bxç$Êð^““ábh½D&„‹ß^0è{X΂jÀ„ >Š Xœ_ÞwA‚Ÿ™ÁÓQŽá°ëyç°Bn(ÝhŒ|cvN†çï¿3lØ~‡YH} £°î]`9ç–Mô K~ÿ``æbà16Ÿ0|»º\-0‚–‰CK€¢¸ˆ¼8DC]‰ÃÚÎ XŸBö €Š\ЈhÑ'(â™ ·d‚ºŠ 1üßÀˆE&(€–`ƒgú@4´1Åméóòr3¬Z±¼³ØÚÖØÂÿr5=#Ú. poiµb??#b b^¾> u72h­½$ƒ­“7ƒž±ÃÃçþî»Ã ðØËàbfø%ÌMlŒh'ï0Âç>^ýüÄpâó#†;ß_3ð‚¶¥½üư{ÊvG)k`ã X¥œ6övýü ¿e”›‘™¡ØPçædجû7î|üMÉ+‘Wáÿ?L$GxˆXýKf6)`†ûÉð؈"Ú2@T)€à-Ðý?~î: 2Øó¼rv·Àÿÿ(© Œ°){&È.ÐDøü݈©ßÏ_¾3¼{ûžáåË RÒr 7¯ß—àíhÿ‘ÎE¿–%þ3Á‡ÿÿGS÷ÿ?ê xÝ<°-¾s™á'°¸uïÃí›·®\¾ÌpàÀ!†‡>0üe‘{Èóøû+•O?ªs1½rfø¤À iµýB+•™ “37€íƒ/2HžøÉìñ3ø»ËƒÏ*Y-;Nt:8Ð <¢ 6ìÜ /¿ü`ظã.°+%¿›IÜô<žÜOÜ^.ÐF ]Üú ¬ÂŠ ß®í`øûõ@Q+üæÔãÏ_¼røõý'¸AõÛÁà]EÌàË$À+sÀ[¾ gü½ÿ‰t-Í“§/€ Ä Ož}myúñK^Qˆ ´ªtvîß¿ÿЮG]f’ÜPæ— ‰‡ Ü`6™€Ý¥ÀâòÉÓ§ ·oÝa¸uãþ½û.]¸ÚÓøö73×u!éËœŠ6»xdíÿ/» <>UÂ7ã¡Ý}>†—vBÀ®#ôÖ¥ßX0a¿çûËð Ø›xõú;ƒ¨0Ã`j·dåbHö÷Ÿ#(‚ƒÁˆÿK•‹Þ1\¾ñá»vð$й ß™ˆ¸ŠPiªؤu˜ù¥¾^XË@ÔJ ¢úÎÓ§Àž°ÆÉʾ¢Ò²g†Þ ˜øöñ ÃÛ—o@jŸ={ÁðìéK†«Wï0œ=s‰áų§ÀãÏ_ÿ™^þefyÊÎ+ðŒƒOê·¬ÞiF†ŸÌÏnïséÂEf'G†ïß¿£T|ˆ"Ëýà•J®#¨·:³$öêå+†û÷0ܹ} ´8‚áèá# ®éÿYo° É\â”·:. ª´‰MXá0•üadaå$&ð!£ò>›ÿKÙï`x²7Jèæ©,þËÌÞZ2¼1ãgø&ÃŽ6†Àáú#ÍÁð†é/ÃÑ“¯ôµE~‚Îõº¹Øj)Õ& »JA`¶ì¹Ïð[ᓘÉ>,-b;c/ þüb`æcàTµg *&¦Ç/_¾føôå°Ë÷÷0¢ß~æê×Àˆ~ ÄoîÝ{Èpêä%ðõÏŸ?ÿþad{÷ó÷߇¬üBOÙ¹¹³«_çæ9É!)ÿؽûËÈÌò XOýüÿ¿Ÿßˆ¿½¸õùñc'eÁìð‹&‘7W"êbffÈ@¸ LŒß¿g¸yã!ý;w.œ;ϰoÏ^ ßýÿñŸí6¯è.aíóÜšJ„ÄTï0²rüw@ÇÛüû*7X€¹‡ik ;3Ç?F¥ …ÿ%¬Ö0=Þ•(vòtŠðéúo,„Þ˜ó1|—bƒ mB—Šƒz_u¹‰îÃ÷Ó¾À=—ÿê´iŸ—‡áäù— 'ϾúË¡>tÞÿŸoL Tÿ}g`Qf ª%ÐâïßüµŒ]MqîçÏ_ìÀ¿ÏÂÂø„í!0bÏ›`G™Ù9>Yxý`W€¬UFÔ?Ðx68ÿC6êüÿÏ m|3A»¨¬Ð`æÈ/Ÿo‰âxzdæŠ5+„D„À{ûY A ½ ÞÁs`µr÷î=†;·n19tˆáÊÅ‹ ßÿûø›™û§ äUQŲú{˜Ù8?»CŸÝ&`‘È[RÙÿ°t·±ð¡)t³õŸÿ_Ÿ3>Þ›ÃøìT̶¯*o¬@%?Ã`ÕÀöô'ƒJ׆ŠM?wðEO?€¥ÁÕ[ïv|İïÈS†_Ì‚×ØÜêd\׉ëz²ŠL@,TLOÀ¾ ƒ ëWvv¶oÈûÿû› »„"¸ûLyŒ`óÎ6äÞÿ Ó›Ì`ö¿¿¬lüb7^\x÷çĉ,± ± _¾|exýê5°H½ÏpégNž/}úüõÇ/ ·Ù$®sʘ”ÒÜÆ&(óXV'9œÜ ú÷—ÀÐíÈÇI¡´`±6öRáßoЙڌ\’4âÿÉ8Î`~²/SâÀéh‘ãoÁ á­1Ã'I†k×?28Ùüb8yá5Ãö½Né_,"G9¤\—°+ø,b`åþô33µ#5KÜË#@ÛÀ­|8¤•A €G®bB¢‘KH©¬"€E2ÛÓí½Û]ì-ôüƒΜ:Ͱo÷np"øùXÚp ^ç•»Ì.¦¼]Tù&#+û7`.¶µþ±ÿ‡õ¡¹ü?ZÄ##…ฮÜéï®o­E±8¿xúÔR§Ûµhh˜,YTò¬^–eQ–I’äåpªÝaåa1$"í´Û•sUUù_› ‹á ´[í,Íò¢èt:ªºÓß5†’$í ­¬Õmw†Å°t.±Öq‰„Ž‘1♀6¶7W?\8µ°¸°¤ ¢  j×××<)¦¦¦¾ûÝïþå_þ%3ç;ßYXXpÎù¹÷ÃþÐ9·¸¸HDIbWWW¿õ­o1Æ<|øð“O?}óÍYÖ*ŠÂ³²²R”ÅÅ §¦§ýAUUeY"b§ÓP c§¦¦Ò$U2´µµõÁïŸ?~zzæþý­v{iqéÌÙ³ªª¢Ÿ}öi¿ßw®2Æž;{>Í2kÍÍ›ŸÏÌÌž9sŽÙåy>3=ÝétPD>ýì“Ä&;»;çÎô½Þî… §¦¦²VÛ³†êˆåkæ@ ôÓDk¦GDD"%ýjÈ"U­ÿŒZ÷€¾—h¶) xþ«9üЦ"D¨ª"â'*3ïÍŸšýÑÏ?[is={kæUòC1 µ^thÔ2ú£Öoz˜ÃLŰ栎n ^èüDi˜ÜhêÕsÎñÞôÕzݤzòùçÉX ªBDf´‚Š *dfP $U¿XŒÆTSЯÈõŠ".ñóÖÓTTw†;½Š+C¸0³073wïá½ÿû{ÿI’éNwåñ£?ý½?ùú›_ÛÚÚü›øÞÙÅ3¿ÿߝВÛiçþʽ›÷>¿qõ­î~téì…­­Ûï¶[ííÝíòŸü齕{«[kÎ9ÇîwÞþí¿ûÉ÷ÿñ?½qõÆâü³üá·þ°?èÿô£ŸÝ}xçfç¦:Sׯ¼1,†[EYT®BÇ•MCfiéôüÜÚýFÏïíAGÝþBDU $BTV¬—$¿ –­¨aWß·©âÄ-6Z”ö&y€Ð/=õ¬rÌÌÂʪ€D£ŠÂ¶OdÈ8õ›-REµdˆŒŸ”Ì"¢H ̬£ù‰44ˆ±^¹DPĉŸ«ª€Uį‰:ú?®í¬:v†L¯ê#PQ–­¬uõ¥×~øÞrõÎëïÌMÏövw?»óÙÿöýëú{ÿäwßüæno¹Í›[/c<~{ëþ­‡«+Yšnîl¾zéÕÛnmõ¶{ƒ~¿ß;¿t~}s}iañöýÛ?yÿÝßýêïîînolo‡ÃÝ—¿þ•¯ooo4ÖšÇk×6×Ó4qÎÙ$1†¶¶·n¼þ¦5–…ûÃ33»;÷îtÚK.U®ô\b{½žˆbYU_ùÊ[»»»eYcÖÖ× ®ªêõ×_ßÞÞ®ªrzzÚÚäÂ… ƒÁ`˜UfgçˆL¯×›ŸŸk·Ú,|êÔ)a)ŠÂ&öüùó333I’´[-ç8˲$IÒ4­ªj{{ÛXCdóù󜫈,ŠH»ÝÙÚÚC”¥ÙåË/3óÙ³çEDD76Ö“$UaÇÝN'˲ÍÍ- 2 ‹N«ª:{îÂ`8œšš&²››ιѾ‹ªZ3¤Ž–rõ YK„õèåeÿŒ¶µ0U‘ë-¢ž´€a/«wQÕZ0ôMµ87’«öÍùñ <¨G‚{½~Àh2k R½y™ßO`ª'm´oF"16¿`¬AD®X!HázA@$›X"`çü  ³H=AUtïU"CDÊ~Ú{ùŒ5 þ£Î±×ΘÅcµVFËc=4ƒDH¤¢*ª<š¨¢ j3+,®¬½- ªMÉå`ØgæŒJ.¯_~½ßï÷ú½w®½mÕ>zôh®3ûßþgÿM'i¯­®V•CĪ(•åÔÜ©ÍÞVbm;i/Î-&6!¢óg.TeyjæT+k˼äÅp0è¿rñ•S³ówÞ[ßZ_š_\]_+]Y¹êÂù sssy‘ÏÍÌÍLÍôú»Dæü™óžŠ^üî¶»"²µµÉÌdèôÂÒÝ廸±±>73[Ve­þÅ_üÅÜü<%‰Z„ÞövQVÝ™ÙÄ&*ØY“di 9®ˆ‰¦DäAƒdÄ °i$3Nبö7Õ›7„ý5~Põ€Wã‘è¡à`UVªb­u•KÒÄÚĪףÞãxÉ“È"uŽ QZE!Ä3"ì7ư&Š3‡u*üÓ܄ֿÌ=gc8œ€"U×Yœðý}ýèÈЦ ðTýŽÄ(U¿ÃcÄ*ê7•˜ -d1T5 )d–7…Žg‚6t÷V €ÎèuBò<© ""*ø&¨AÔ=Ë%´;íõµõÿýý×öµ·ÞÚüè—üÇ¥þî£í {é_¶~p¥õ"®ö¬[øÆ“Ýï—¯Ü_Ùyp¦õÇ—¯æÕ~Ã.…Ãæ¼,ù9ÕÔÈg¾k—>\:³4=;»»ñøÞ½»?þùç/_X¼òÆ . ¿· k·ÓÝØZïõ{ìÜöNïÊÕ×g§ÒÍ­ín§ýäÉJžW7Þz‹¼€.²½³ËìP%iµï>¸×ÊZ§—Qª|X¸îôì©SsŒÁÇBØSð M²è&»_øTÊcláA¾í1C¼òMFŽ©,GßZºÝnwª›&©]Y]…'O^ÙÞ~ezz¸³sÿþò9~üòÛ…"¬ºòðÑ Mõ®\£•;»[;Ý(å7nÿf_"2??ßít———/ ìöî|úÉOþË»·³Ïî= f‘AµÛj÷˜]Q¨“—^y™‹üÓû·ßÿäÖéù¹©©ÎÇ}šÚÔ(ÌÏv~ôîÛÛ›†«K×Þè÷û½ÍUP5IÇÞÚÚ½zíõwÞy»ªªãÍœ#Í6ü¢1z˜ØƒÇ€VÙ(ôW<†"/úý¾Û‡+Ywf÷Oÿù„mÑ!W«éË·Åâ“Ö—»ÅÖ•öúúyi»¼õdøPM¼Ç?o”ãáòÓäEð9ìËÇUŸóN¬ªƒÁ Ûzüøñn¯ßNíÔÜâþÁ·Pعª·³õx}³eUUf‹$Úš›^šíæEñùgŸ1SݶˆS¤—_~)χÓÓSY+ÝÙé­?~àÐ^:w6/Š$I/^ºÔÛÝQJ[YÒéÎXkÖÖÖEøÅúe)ò¢pUÅ*ø×õWý|¨ÆÌÎÌ–E!U‰h’$QÕÊ9T¶d±Ìâ¸ôŽÍàÌÊ…WcÈÔnŒå¨Úrµ"æî‘¾|‹¸_‹¿5a–Œ>µúƒ£H <@jÙoÚ Ô ‰Å6u§ú™Q¬À¾öÌÚ#ÕsœÇ*â?ÈCdQ)‹¢¬œWÂÓ$!2DhˆŠ²k-QmͲÖ23"QY–Ãá Ýî¤iêœkí5EDX¾øÍòÅu€˜Ðê´ŸÔªxðp­,ŠÁ0?½´˜¦©µ‘Œ¡[î©êôôôÊ£G zöìÙé©)D\_[ÛÚÞž™™™™ùø“OVŸ¬¾úê«§O/9ç±Û튢,K@³³³Î¹©n·rNU“Äîô·W=š™žž™™QUçœß1¬5`mrëþÍv»eéÊ£ÇYš©ê¹sg‰hks3M縪*cL’$½^¯ÛíúÍîܹûÒK—çææò<7Æ b¯(vvvwww1ÓÓSiš®®®eYzùòåõõ­­í……c¨rU–fž¹7{½­­­v»eYQeYÍLO%iZ…!£ª­vËÀí~?ÍRfÙÞÞvÌs³³XûÒ~ýƹ£h €ÅDãÿ‹ë7bB™çªbë(]kí­›·ûýþêÚZš&gNŸùÚ×ÞISkmòÑÇŸ0Ë…óç~öó÷†ƒáŸýÙ¿ cˆðÁòÃ>øÅüüÜÛ_ùÊøãÙÙÙv»óþû\ºtñÚµ«ˆÈÌwîÞÛÝÝÝÝÙMÒ$Ikmš¦7Þ¸>55uÿþò~ôî… ç ƒˆ[[Û§ßùêoYkœsï½ÿ(œ>}zee… ÍÎÌž?6Iìý˽ݞc·²òȺxáB»Ý^[[WÕ4K/_ºxÿÁƒ'OVçæf/^ºxziÉzÿýO?øÅ/;íÎÙsgÎéÙ••G[[[I’ ÃÝݵµ5BÓn·²,}ùå—Μ9SUÕƒ˪°¼ü0/ "‘N»mŒÍó¡*°ð[oÞXXX0ÆÜº}g·×ë÷û››[­VknnöìÙ3¯_½ê˜õû˜žÈ¢®'0¿¿¸¾,"4¢x-ÑZc|ò^¸p:ÎöÎŽ‚Zk­µÆÐüÜ|Y–ι³gN“±Æ¿f¦§¦§¦VVV.^¼xãÆõ<ÏWVVfgggggʲšžž^\\ØÝÙ¹xñÂúú†ˆ”e97;ç3¦§§~û·¿aˆ>ÿü¦µv{g'I’$MŒ1iš­­­½~íÚ`0ÜÜÜœ›Ÿ+‹rnnÖÚ‘fgg²4e‘|˜oïì´Z­S§NÝ»ÿ`iqÑ#"o¾yãÞ½«kë7Þ¼ác¶¦§§¯]»jÈÌÍͶÛí……S^nÜØØTÕÅÅÅAàã±k`nn¶,«¢ÈW=zå•Wká¨,,.ô{ƒ^¯çQ"š››kµÚYš²ã$M677O/-%i UõB}q=÷Ëçâ“GËŸ}öéÊÊÊ[oÝ`DôIHÌœ¦)!À`8ôöo…¬•ù'}xs¿?HÛív™¹(Šv»ím'þç`0hµZÌ\UU’$I’x¥Î[VœsÃá°ßlnm^8Þ¿‹ˆeYfY†ˆ;;;^NÓ4Ë2–$IDµ*˼,Û­–ˆäyîÕofN’dgwWXNŸ^©ÃÛ“$å$Q–eýþ€0/rDLÒDEE$±Ö&‰Ç@¿ß€Ý^oáÔ)¯1Qš¦ì¸¬Ê,˼íGU½H?™ygwwnv¶ÛíŽZ^\/®ç,B·Ú­ïÿÝ÷ÿÕŸÿ/öÇïþøÉ“'½^ϱ Æon©%@c-Â>£²7b‘ßñ¼Ç«¾Æ眎 ž…E|œº7nƒ­Oë±Ö8f¸sç.€²¨‘ˆBb­7ÆH˜î£¾Ä¯&Dä1ÌâãëXÄO¶åå£H4BÄ¢(üêµå ü’á'[m€­ïÉZ#"H´¹±"ô_QÙËÄô²ùÚØØ¡¦/®×óžÀ˜fé£GÀ~ýk߸}ûÖ“Õ'o¼ñ†ª °°÷“ƽø_=†D€ Âìç* ªÊž7»öŠâ˜I5$ÍèÈ¢Š~òÔ)uðk½dH0«Hˆ„>²•´SÛòkãrPõ½IƲ±N0õi.÷îß»uë¶s·"²w:+W^››­*7É¢S{‹ôaZÇzþÅõâ:á\ÙÙ¹ÙN§m™êvDd8ªêT· 2Ú'É'ž€ÄÞUuU)\R»ÝB"kŒ±2¥ ˆó¹ þ-DJ(uR 0Š0ú`nP%4–,+;©|rŸ5Ðn)!°RUJY %ÄÕÞÃGkDU„g;§^Z¸J@¢bŒí$]T=/ùûï®­­;wviqÑ Ã•s Úš>ujk_l˜/®ß˜ lUÕúl{窢(Š¢p¢UUíöz3ÓÓ>äÚ9W¹¡ˆ&Ök°Öùø#眷!åEÞËŸê°ÓZ˜›9ˆÖÀF_ Í^Z€JO­îÈü’#DcŒ±Ö9UÌÿ¿´ø+‚wþXíKL`¶ª‡ßûtøWù[_Ÿþ³ÌvÁXkm¢wîßùd彯¾ùÕ­'·oß¹öòë3ÓÙ{ÿW"êdÿ¬³òò7úåë_ãr°ÓÛùæ¥?ùöëÔ/w}ø‘¨¦&í½¿ýôÿÝÝþÎô?õ¥+@ÖZk¯ ÿ‡ïþõ½»÷þëÿê¿\XX`fô)íõ0!"ëEû‹ö/²÷ÒÑŽÊÕî@Cfvfîôé3UÞc¬‹`’™Jó¼¨ B¿Âûiråú­UÊŠ"Euu/£8GÞ"]Åü¯@:0õ*Z´÷ó÷>Ì¿›kÀÛªuY@BCæÖíÛûÞ÷¦fº*˜q€J—Îã¿ø£êÛ&;ÕY*[,}0D ðË>ì C×[\\xõÕW˜f»ó‹­ sÆ€eŠ’S¼-ZEWV ‡ym­ƒ:µþ…ýâúͺÐÖÉÞõ¼†ÍÍa>ì÷{©©&[Y+/Z\"ª5”ŒÖL-¸ÝÕÕ»ÛVéµËg“$©ª¢îVR¢Ý™ïžw×&_AdPa€3ÙÕ+Ã?˜2‹×¦¿Ù6CéW©¸|ûÆWÎÎJR.Μ¹¼ø*;.+¾p6[<•Z›·º;SI>s6a‘V;»~ñêåó{ùv»Ýñ¦cÇUj³o¿öÇŰÂ<e ~ƒs®(ŠöOÿäk_{‡ˆœsÆ$‡D2$Q¿hÑþeh@¬ŠÁÇôàþý¯~í«Î¹º¶£ªŒ:ÌŽÙyS“×!/¥(råªp8=Õé¶W9$J’¤ª*DLU*åšD$0·R;5m§¥×±“$!¢ÊUY’fI[E+®Š*‡‘ç@sy.V]»m)ë0»[«_Z|y¾»Xq%Ì•sÁÓN»Ì.¯†¾Š’ªcÿþþavfæôéÓÆ˜<ÏûƒA·Óiwº³3ÓÞ_ýbEq}ù/Ïá­vëoþúoþÇÿî_ÙÁ`P93‡_¬Ò»ŠòÜÅ"¸¯êÆŽ«ÊùX~CØm% é ªc×ïWþÉ¢ÈGsa€h[Zõ!JF¶ÔªœËusTCœs~•ɇ¹êÖ¨ð)ÅÉÞÆP»‚Éú=¸<{• ·š?©K+†„£þ _ÏUÀ*Š2M’v§c“¤,Ê$ÍZíÊ9"*Šr$DÉ$*ê0É'7ƹá{¸WŠc¼«‰¯ïŽúÖÄ ˜§ëèÀÉ&úP“1BÍVÝWE#çm˜} ¨ŠøúÒµL‚Q½Wˆs÷@Ý?„Ú82®Â[r ûj˜G¦K\b¼ÀÌd|wðLLrà”ÁžÄ$'£ <>Büú‘ùü™èEQ^¾tñ«_ý­$K766µößü›‹Q.ëD ØáâåSßšü‘Nˆ4Ü£èsæ©Ý†H¬ã á™1sT[ÅÉûyV|>7sËÓ¿>A™È$_]¾p>7Æ0ów¾óŸç¿xk{gÔcɇï‡'Fa8ºQ¹³úïK­ŽíHèÝ{Ë'ñÕC݇®â'}8¤—™C£¯¼ØèÊGnŽ5šÐÃ>c`¬ c$ªïã·"ëq!"3*¾7a\ˆhŒÝ듨!íCQÝU„a0ÆøX·Fc}¿ÿ£G¤ ®gÁgü‰}Ð6Ù×6àpÿc¤7&æ½qº˜g¥ íñDøüRñ¹oœžš*ò|muM… ¡mµ²ÃèCósþ5¿)ùðÒî½CÕ7Zk™­?<Å7zXeî=þcŒ3&DnE¯[MDl­ÿ¨ÏÀð¹_t¯U>È9I‚ Bøn=k‘${Cð=ǯcœ3!¬ÚÿÕcÀ7úá4†àaðÜñBDw]€èÄty|z øï`<´ozl4`<›ÆLòÒÅÏ¢gÄç—Ïý¸Ê²|òd•]5??s÷Î}²E/<Í~}˜ûÄo=ÕûÔoýš>¢Íp±' èr|ž`ŒÏ«Ÿ_]ž#>¥|îç¿_2Â:*"…ã5Š"²úÄ1/>¤I½}…œ»°„ÅÕÿ «QX¥`Tl9^„£ä! „þCcØ1‚èïûÒ÷à×ËИo÷ÂXÂòìCˆ×ÑÐ[œ™Ã$}ÿÆøõøpã¿P4Þ£*Ö ‹.± > |à¼\и ]ù«Ýn]}í*Q›XûÒK/©ÏKG¾N ’bé(T‚påsè|AœÐè¥#ÿdy,ºx|‚t4BÞCW±h  Ú¸¨gÚ$焃 ‚Äh3ŽPýÇ'NÆÀ4Dè6|.tÜèÑâý¸ü}È”<.]6NŒÏ?Læ !Ld’/Š. údøü5ð¹?ýs}}}866çÚÚE´( @EP°aù߈¼Xm‹Õ?°˜öáÉn¼NÇ´‰•® ¥Äó„FO›†n„ˆ˜@°çL í80±¢«O1iOûqÅÚQ0 …·†N—™OŽÏX˜8„xV7€‰‡0‘I~t –¤gÁç¯Ï™ùÌ™3Ýnw8ú9¬_±Dí[Œ1££&AíææfXq}5ÙÆÀâцÄýxEO’$œV¦ô?ÉÒàb†Ëaà­°•¤ÜûƃvàC€ /úqù’«ãö‰C€ñCÆ¿ÏÕñ \UU€*^ûc#ß;2 IDATV`¸ÐåÙñ9?/DøSpÇXa3ÉB—°? >¥|îÁ››› ›P¬ÚÄÂöžªiƒÄ‰Pébt Õ"~ (xå*Xä(ñ[ñ"ÊîÄþIøn|¬¬÷œxÑ Ÿƒèx¤Xønè6|¢1®Lø\¸‰‡ÐÀ@ 6H„m9ülèÃ1ü l‹.æ“á3æ‡Ðü‰à %9ÈŸ12¿@ºì…>>Õ|î'³ÿžlhËR€ë÷ßcpÉÄŸñ’CÌsamöW¸o4†õ 6ö[ú•)æ§ðЇ¾®ºLäAõ;@hŒ\j{ðÆ'vпNxëp`â!Äa,6ahþ£!Â<öÁ„"Þ4bÚ—.ñ>1>c7o<|£_?|aþt ð? >¥|îI`G×!t "tqg(]ñøƒ1æ+~+î¤ñ•xkâω¿Æ-Aé?˜ø­˜ÉøD0Š7™‰O‚¨£ôDºLìqñyøð!üúé2Ž¥/!ŸÒçA|Í_´^ÝçQcÖn¬]ø«¡ÄVÇ ø,˜ì‚ÂÛƒàõ¨X7ˆH>oK ßèÕ›Ðèõ™ rxÃk10¾qâBá‘€„Ø~t•0¾±ªªØ0{4%O€²,T±i:¸  êò€Ç¤Ë³à3€­£Œ´0ß•ïßëÀ¾1&ˆßAÙ Õö¿(ºx£Ã³àóWÊç<çœsÎcõ ºDÎH„>ÖÚÜøS¼çL\<âûÆþpÐ::qS_¢Ž¾]Œ¯¯±]~"0meWô£¬©G\tŸº‘.ςϣ\O•AŽ(‰|!tù²ñù!ì1>®ñhä„ ÜÓŒ.ûÉ^ðpå‘«4Qyðý‡c‡Â‡¼ô?ÐK†±y=V3á,A) Ÿž¨É„ï6Vã!4”–Økå±äµ)ßÖÈÆ¦)¿lÇÖ  †'þÿcÑ%Ø6žŸa\a^Ñþ`ï¸1®Ñ;‘I¾(º„'ŸŸ¿j>÷ÏûvÒAt1Æó íÓ½ £ø–ðk¸oÙÄÖ¹FìQ™¼hâ~⸖F„J#D¥„ø°8Z¥a^¯OŒÄšÕxÑ7Æ‘IÁŸé{‹%ó3ˆŸF$V\È£‚Øa˜!«±ñÑÐC€êtyF|ÇIŒÃ€ØÉú ?㮓|t‰½â'Æç¯”ÏãaäF ]ù@ޏöñ^&@×ݠÍÄ醋?¶¬ŽGúX@ÇAB`´x„±»(޼‹}h `b‰¿÷ŠJl”1³o<„ 4NllÌωœ*ÚÇS}<”2ø è[N†ÏñÑ8ö ~+ 㠀š”_]ÆC)¿„|îo<`1nÇé2’w$NJ´±ç#œ¦„`seƒ† K¾Ù¶@ä åûŒæt­ØÑób1&–âÑ…–FϬ”ã&©I#„ubW‡ôbº<;>c¢4`j€ûÔƒ…tiFÿ\øüˆx\>?JEÔz8 #–߃È 5#¤DÆ!fÞ’î_/Šjn.[\´I‚"pñBkmÍõz.Ëhv6¹}'ô¨lµê4‹p`|ÐCâØôp|QìRPhldiøv/±LB0ë7"ZýÀéå!ö=x·)#þ£ñëa™Ãžƒ€ÚȈá÷A|=.]B`é³à3xn6‚w' FŒ™ä‹¢KìT;1>|†]ñÀ…Ï}W~˜áõCøœYöéÀϵl ¼~-]\‚•åê·¿ÑY]«>üp¸µ%¯½šÌÌÒÎŽó›ó‹ëÅõâz>3À6tž8Ds\Q9ļžeçøþ¥A¡yÚùdȹlªì |ÿý‚úšX¤˜Ø\Þp±Õ"V‚"ë±Û#,·â2±¢ÒР‚JæãZã¯ÇN”ƒÜH LCíŒÕ§X¿:Â>®Ë‡O4T¾øÝCÆõë¡ËøWž Ÿ…^ã¿N…£|®æ¨ýÖË÷^^º_œâøÊ E„³çE缞,ŠTNv¤Ø¬XJ9õZš¤âJv}‰v¿ úÀºF”\ȽòÁnqfC7Æ÷ ¶!MÑUR••Zã ^8:/nŒ#ï‚®  ‰Ç¡Ñ‡ìÅ:O#J®Jé éñ«¡7BÿŽE—X=>?ŒGMN ¥Œ ¥ :pêü5Ð%LËgÁgƒÏƒ×*(ü10 ‹ÃQø<Öèása†F(el7Ÿ˜ñ䮨Ù0ý«ª1^bA@"C˜Ô•ù’iÅ\”¬€ Ö(¡(¡:@õåÛ ™P„AÈ«*‚¨¢:@PBUaBËŒó¯ØSW²G?)ŠœØ #°5þ$b%B_:Žyl|ãóN‚ô5Ž·q 9ŽXšu§›5|'£K(¼ØÈþ‹½#qÆR,"Æm<ØQ±±_ç· FÏ. aû¹ðyœ:L#k2Æp¸D‹Ù·tñ…,÷öí¼R,ÐñZ[1:GÏtN¸Àlaañ•3iéXi§¯Z‰1D†ŒaTõe5 ³1„HÀŒªÞ‰ Ì àa2–q€`Ȱ¨U95km"¹öò|Ø]²Ù´éž5”A7›Î¨³ÛçþÈZ”Ê-Dއô™Fé°8×´p7NÅ€·˜ùÂ<OŒ™>Fl£‡FñÑé+o㉯¡·Ï5†&@c ŠuÔqã|£ØÉsjc‹5öçN—†ö{2|Äç 3GCsŽ×Çxa§Ëø¼=ˆ.þ,>ɾPÊà6ˆMí¥°¹Ç¢Zm‚ä@„ì˜Å);ÎædþZrê·§æÛøñ‡¹¤»…rÅ„„dY@-:DCD¢Ì,H†ˆX a`D DŒu#«"ðôtÒîð–\ôÁŠ«ØNi 2•¶§í©’ÝöP ­&3\~ˆn Ç+?„!¡(Np Ά†ÇhÜ÷°F }þˆsqâ='¸%‚˜w,º„‚—%BãªÌŒ{Â_Ɔè¥XăI÷ Ö°3jâúu±Ü^÷‰ "Î1™:ÆÈ1[xÎtñÃy|Žóy r\+„ŽÅ%bÞ⥘.^¢ÈœH—q7ÚØÿ®ñ–ñ+vîoFQUÐÎ;wÍ Ü[~wwûþ$±ˆ Î±1`-;'"èq䣾:3[«Dâœ`¨Z’$@$e b-¨:æ›7­×køÔhÏÚí[ÜÛ¨¶Ì2ÒC&T©Zo©Ø?ºñ›x\ÆC0H>ÞUãçø¯‡<9çG¡Ëx?q8Á!¯4¾Æ5­ˆhƒø5?€ªª«X À ©*ªs¬‰€EÉ8­DRF®T§," ƒ-(‘: ]žŸã|Þˆ<‰{ †úÃùá(ð?^‰Ö3ýA• ÒTl|ƒ×‚¯ Zk5¥ÔÂ`YŸ`•d7ó‡e–µ¬5Jä/‘DFŠ2ä—1êÿJhüÑd*J†±DŽ8PUnµì©Sæúõ¤èóÇk,•1Æ&’lT ” ‚5˜Zt–Ì>OCû ’[ÃÍÓð´Tãb\) ¢×A9BˆÜq+rD—FÈaøÊAC®‘@s0ÂbE瀭¥$Ù§ýezõO§óM§RGzËlSîÈÜkÁ*‹v’¯ÉâÕöÔ%r%؇?ÎÛ§aé­Y,{²û°’J‘púr«ìÉÚûŽsHÓãÑ¥‘x2|ÄçãŠnx,¶57ç¸ Ð¥®Œc­¯sr]"íÆé¢bŸºoñB8y'ñÿ–=é¯ðü«­«œCBUeUR5*¬Z[çDʼnª¨ŠŠARUVP£**¢„* Ê¶þ€‚ÌÏ›7²Ç«Ÿ\î®ë R´áèìAÿÂþ¸¶8`’‘©6ÐWÎUNÁçCEíöìë׊¼¿õégD†*粎A½nj av̨ÖãÚÒÆ"ÌÈ(QU9€RÕCâŒ^ÿý¿¯ÖÖ*7”b ¯_Oï/—Û;œ¥†™T­QÇ®¬YÁÅvy?ظòÃxÈ^p6„²àÁCÜ!ŽÏ¿îu_Wa¼"GÜ;[4ê—.ã!{±ó&è~C•T•Ù©$ÀÂ#¦AÕÊ9B%çxú"Áæ½òåËÝo~3s.ÿè#®*6f/”Ò“÷ùgÿv5›¶DTåΤˆb{OªÏ¾;Xx=# á¦Ë·d¸ÉÞï—¹“mj†?(¼» ©@å\6m Ùj蔘ÄìÉñè‡RžŸù<8œ!¢10ž B4h£*e\Å®`ëŠéâÏÐÞË3Ã(+6ŽÛ÷ÆmnÌØ…P7’1ÆÍžO.ýÞTvúÔ™×.¾Ôʆ.¹ÿXeȉ%c 8c×ÍkÉ„…jåŒ5(‚,Æ€I—Ô>’áûD©ªP§c¯\É–—‹¹{újZ”põµl}£ÚÞæ‘­ˆ ©1ب~ØÈjjK± ;`â· âlõØZ;.±7ò¿ãÄ÷g¡Kœ!–ãF@%.EÐb½À1éJró3¤Ö .ÞHQÌð±üèGù?¾[LÏãï~+ûÑûÂÎ%ô•VAŠmWm;¯Í@b¬M´*yã—CTrÊÆ´v°Ã¬j’«>WÌ ! °¨ ”@XT¬AcàØt‰k >g>(w?·»ÇbŒ¢Ç}rq?{~à‰n¤†6+Qãæõ1 ¾ DSö¹ÿ³ŸoüBŒ2á È1(tŒ*¨P¥žÀ¨BÞX© „ª$Š\¡2ÈŒ”#‚Š`‹’?á¥ÅäóÏË]H³ H(¡÷NÔ}…TîŠÆüiø`by»Q·uÜÔ(Æ=î݉?:ÑôŒt þƉõS›n$…tÊt;¦µ¦;ßåm+¬€ôÒåÖÆÖ ™Ù½d“.¨céâ·ÚOn7ïÊâ¹……ùÖ©…ÁÖ5þ8¿ÔŒÎãQÁ}KìGoP‡%cÄOdx´º1  µ†ØÙÒ¥‘Îùùü©n¤xºÆSý pÚ#¸‘(lãHhmH6dÇæõ†<>'¦ñ@œÇ¥e£ª*ÊÎ2»B¦Ïjo³`À4±HÊÌÀÖzŒPÇ Æ`TðZ‰Ø9°âåO£`7´”É'ÁHžó{ï Á9•W–"â¬5"~ @ ÌÌÈ È ƒ1$‚q9²X¦ŠÏË ùú ÇFŒ®†>ÒÈt‰Ï:ˆ«I4ÜH±|xº4€ >Œñ´"bÇìtñzvá²­ûE…f§Í“S"bóä1í¸ÕÓoå`´÷ÐmÞ, &§ßIç^‚™3¶…‹wo§Ó33Û¹ñÖdDkT€‘  0¨µ*"êÈ%V\å‘ò®cðÎ]ˆ=]„QðÄt‰“þO†Ïƒø<È´qUœ^ÖHQšH—àšèFÚW0`dÖš™™„­­ªrö ;ûÄìÖqûÁ„tÇÚ\àmL¤Ó3I·Ïý [ô(ƒ2(ðè-FUPV ®PE£H NÁ€BmŒªÁYÌ@Á9õ6«þ¦öß°È‹™”{!äp/ÔxféDÏGãC°Ø£¸Æú‡Zg:‰b}'§¤z" 6äñOË|§‡¶V7n.«¨Ml§…¥¸¹¬Ý_–á6 +‘nݬ*çf_Nî®ßÒ÷sGdU€#‹äë]8‡Æ¡8âáÊ¡5JFªdWÉžÑj³^? —øp‡ÊSéò ø<ŒÏùÊäI±8ã¹Ðã¼1îô¦çN§{áÂEÇÕ'Ÿ|ÖïïÚà*ˆ+4Š}Ë gCqf­Z›(#MT§³ÙkW³4±Î‚­ßTQPQÄÿª¸¯¼NŒˆ8JÐÅ!t‰÷½£áóÈ|>æ5<(D¤Á –ˆ;/£¥ÖvG_ BœJlñO 1¯T@DÌÎ9V)‡²öéÀ&Ÿ=øÇ^U ç_³Y0äÖ¼¹|¶}庿\¼q½ûÎou¾÷·[—ÎÂ'Ÿ”w?+ 2Î1¶˜Õ9A`qÌÊìuàq­Ï›"0£:ŸêÁÈ{/*8v½ÇH)̾lÀŠ«3²ºøÄÚñ8ÄñŠã¡”ñ±ZAS:V(eÈž9Œ.UI&#sFÜ®+wÔ¦ujG‡h±øûl±"âØM”ÐUŒ5*ÊÌXDäÊCíõ’ÝÌ¡'[ƒrèYœ""(T•[ÿ¤pÉÎí~/ÉĨ5*ò¢} —ÞNŠ]~ü‘G63“èΉ_8„™¥Ö¹Yq(e#>ôXt ¡”GÂç1ø¼JûçÒã¨8Ä5„RƵ;`ì0d±È‹4*ì7ªÝ6‚¼EzòC+”Ðq¥k¿,ç^*µ,Õ¾ôjÖi™ß-ùK¸ww{pÿûÞßî>~ìææ’µµ„ I] O+òb  ’¢ŒÅÖŒŸdÅ©+!ªoØ鎀ˆ¨Øš±Û7Ý“J"‹Êû"ÎÇUg¢4°ÑR] ðéݱ¼×8eë`º ’E¨@ÙCÁ:HÇ 0ƒŽv`C Š¬ DPùYM  ¾Ñ0wáBB`³–µ‰V…(¡I Mmï>÷pYU²ÅÞªéÝÜáB‰ˆLóx”h\~„x82Ê8"]üðüø|ß™o¼FAö†ën<\oü¦·¸[mTäˆ}e>Ðl¼$w\p°Q8"”¡¨kcŒ"clj²Ù©éEÑ’y³þënÞ½œ­®1‘®®–J¤««U«E­– ¬1@† ¶¶´0dM#•¤¡¨4«Š{ØP³o Œb)¹xîÒí‡*y’¤ÉÄÇ GÄÅ µâ æ ˆ]ˆ±Ø/ö ?pìö˜Lµh BÛ)ŒÍF´ùÕIDÄG® ¨’1(‚TGÒ+¸½œÄX‹þu Ö’sèœKR$DLæÁ}ý½ß›9}Öl¬Ã÷¿ß¯*ét¬8õ± ƒ ¡ñP†J){t!5` 2k¸ÁZq.׸ÖztºŸGçó±êü±)ä(:p\è?ÔîÞãØ¯¹°f_:áA]3GÇ•Fœ`3†[UXÝÔ™öÂ׿:{º“Þ½½¾cÜ>»ºü€K×™j‡"j ø£_¼¾P÷# XPE•F¶TQ¥CCØb](Ö½ ë$\õ´¼5Õ»§ ˜¤kÅG?6 ™:Çó"7Ž›¦BTEôvET®”+U`Ì€«ŠUÅMS£êô²‘G®€ ˆ¡‰Ð™:…¢PW‚Š,}5ÑÊÜûqž’XÛéàéÓvy¹pÎ+ÆŠ!UPD?¬:îUPQ°vÚNÐÇùíXti ôùòùxàêSÕõqÝ>.¸&+&†j6«RÆ:°ˆÄuâò±n°çPÓ œ¿eSŠë.Á™o&n{ãÁ/ïîÞºi³ÔñG®Êm’8WËýÓßêÐ?v™™«U€Å±Ç«²èÀ#PÀŒt`6û_dff'UÅ• íOÍÅ;º«¸qŒ‰ zª”¡ÜÄata‡ÊyOu8uP¸öl:s)é¯W2Äù9k,9§ÖÒî®®‚ ‘9ç@!É,EÛV7Ü*=$ׯ·ªB?ø§m›Ì³d]3»d~ôÃü.\°o¿<|˜C´ 8§ˆ~W©Z¯úb¨F˜«·Þª—¤†Ø9Öø€ï!zñˆ9’‡èÀGÅç‘ùwÎ?>4A¹Á—mžÔ1ñrHð8ǦöXÞˆec¬µV%(àÌê9ÁÇ»·s§BâØ2ÆŽWQ›T¯Ìª’!Æ€%2H† Z2ûª{?íl$0„JÆZ‹@±3¬5hl¿ôvzšxO\.Î8EµP—l¼ÚC,h·Ajs”³‘¢ ¢Mxã:»âåÁN¿5“Â|¿—ï$s­òþáïLuç¤,Åy÷'ÅdzµÐ<‰Œ8»œ-}5ÝY.ª¾NOÍ—÷ÛÂBÆÌÏfýíÅ«ÛSg‰ˆòm®*:ÿÛÍè=’…3çÊ<;{._Ý4„€Â€#±Ó9CQLbIC€&MóS ©«ú[«‰µÔ¨P}øÙHG¡ D'›ŸÇás3±¨]¬Å™Iñyp#M<i¼Š=‘‰¶`µkmM<Çm¼×äƒá|I92XlÉÎ-7sÄKdH¯ôµ÷u@ð¦¦Ð Áô´Wê¡aÄŠ­#€¼Å ¼…6þ¨!¡t`Íäã&ü öƒuôÓái§ îuzJ]Ò‡ÝÙ¤h•n[ÓiÃ>¿Y¨af1Æôzê™m"ŠT” ÈÓtª+¬ÖÒƒXX{æÍÖÎJ¹q§è?qíì+ÖÎÁ…¯f°Þ¾wÇ$©±‰QD@$ d=󨨵s É´ZX*+ M*”w¢ŽK—>O>?„‡ðùáG%Çì=j¨´]TØ=ßñ. ' Ñ¢Qðz/å…Ù1*3;-Y[3W^ôû›·n+XD`çŒ!„Ì9ÙWBÁ‹qmkª{w € ìØ©ãà #ŒÍîaÎ9D°†Ô{·˜-É>Y‹K.R±8äñl¤¸˜C£xš¿ Å7"t,-7 »=ê¢vq-õƒèZUUòãŸZÉ?×€™3éÔy»sX®ãO切M§Š°óY™ä¸„­{ºyG5ë&·×î<ºã!¹pÖörÐTï®ì–DŠ)mÞ.œ¸üu†Ï–:pëVé+51+`c‰k_`’ˆpåÄ$2®r·¯&É Âê2D{gäF:]Â|t|ƒÏÇÎŽ‹o4êÂ7Ê÷Ç|Š×ÇEíÆ«ð‡%€Ypâ|”ÑŸz¢i½I"zëS{†Î¾Óžºòò%j]nµsIWÖt+îbyÐ)¯ÑZí¼v䣜·Âƒ…ðŽv²ëQ×…ƒÝ…#|¶£bºˆi ,©S°Iš¯Óà±h’šv‡“°XkˆË[§Ñ—4ôV&£‚Ì\ ‚š$MUÕ³²[A‚&EƒˆhTA´ÔN._H–Ÿô‡=šº@UépîR«êËú­!(¡!$(’ "‡d ’K,#GÚÊNF—ƒðü|øü8ÂçÇêÜïÀqÀ¬ Þ‹ø”×FÁëñCŸÆO  ¯$ X›ˆC‹ÚYH¦Î$[¿ø`ç#j)3²$dmva ´ôi3¢gQRˆk YK’²È*'4v¸ÙxáÂÑÈ=v5† IDATÕ‚µ˜$€‰±Ö¯Á£Å{êT²½asÝ;ê-@çˆ4*•Ÿ[5~¸YÀaøèA‡›Å9Rã:€.B”kÐ0µÏ˜ÎÛ*[ÞÝO†EDG£`V2DªÄb¬!Dp dHUˆ5ÊRf§áòY“ZcæÖóîúà[› Uk­Šª“©™ä\ëռȮ_¯ ²³×ðögwéôàåߟ¾ý†[·*2¾ (6éB„`ÑÏ`kIk7RL—†S·Ñx,ºŸGåó†÷8@‰™ŒQaFk•} ‡Äö%ÊÔq8ƒ€+-8G%Þ;’sýã2Ï–¹B$!µ›„½~ù¤â~¯ÿˆTAh]˜YP„YЧ™4¸(.² Ñ)¡Ç¢Ë ðyt>•£XŒüá >ÝÆýŒµ‹Î–‘Zö„ |ˆn+*a ¡¬^-Ð 3#°aa.Ý`];KmLTŽÙBåÄYÌ@˜ í93F°î[å  ;¯¼10;&uâ³§i…‘ï?·J‚\‡RÖ †³´Ï‹[\ËߊhY:Te¿‚7jv¢U£ˆ@Y" ³ߨÊìš…Ý'NàX¼uº0)# ³ˆT­kù¸ H¤ªü %f!°¾@$£1äJ`Rça aØG_Ä“À&™q¢BJ>”²ÚäõRµ¶ ªŽzËb2`vJVA'ÑØi¥t þìù˜µ&êÀúéO§Ëþ |4|™Ï÷—žoä6ŽëÀñy¬7‚.ÃŽù\ÄëÀE^ØFðPœ=~Lìó¯î[ÛÄIíÿOÛ›-IŽ%YbGUï…™ùî±o¹Ö^YU3Ýìîié.᜙ ðËH ŸH!ø@RØd÷H™BU R†þù­Q(øðaµ2ÂÚz$¢é4•¥Å(IO™X!¦ÓYRÉ£Q¤,žUsôdTÏJ˜ \¹2\YaUÞ߯«ÊŠ"hrUå1åLÏ{©`g]N”Q7,˜X]%½VéNnµÚo³.ËŠow=ß6Î{ES›ú¶¼èîµô3?Þ 0´ß®uÏëT£cQ§¤á5uó™ôÝeb`ÿ3e’Ÿ!Žøâ7†ñÂÆêÅáŠÚ4É´FåÚj5=4àŒ}¾º+‚7/ˆøtã[µçaÕ&«§­©|`öê Ì”N¼¯þâ/jU ˜%ËÈ‚³îúœÞ¥u9=þeúqwË™ò7®Ë™\èßgœŸóoÙm™Î}Þ§–¡÷©¾ëáÍþÀ]­ƒv€æõ¾©)ÁUæµMöJó¯žýt2=<(btOŽX„ÕöL}áq¾Ÿm›B+@ÈÄ©ÔÖx­?°£…‘’²S=G]¥Í+aõ:?úûi˜ÛѸZ;–ªJnªŠ7¦j™Bã¯üp¤ÎÛ §Ï pUŸï+1íÝO))d¹ë®?pOü7õnÖ%%s…jJVÄù…õt\áT\Óû‡Zëp'“êñ£ùáa§$iJš¸ëCKpƒÖf®!8@†äîª~ýº˜ÑÎŽÖÉÜlûZÁN»Òg¿˜ì¾,çsúÎwâçŸÏª,Xœ—Hubæ #µ êÎIæ’pÕd¨Ö‚CmŒ#½~]Zx¯gqü{ŒóóRèeànéû»û:ÂîË·±î´D›<ô\'ν…4O_‚“€4ÑÑ×5ùAš”A‚Iµ–;×ä«8IGÖèÌ»­2ìqúŒ'bÀº@VÞ6úš[ ¿òïÜyü@·ÞÁÕÿzúïþŸI2Bn9’;÷îĽûhˆ|ü Áçq³yyèRÀÝg»:Ûµù‘…¡1‘÷.`×0©7}Þm·¾a]m]ìîÉþÉA5þÆñ m¾3¬ðì^=>Ö¿ü·“õõ0VUe£Q,¢˜uvhlH\“Ts(‚›=©3?÷öm™MéÙ_»‡H@ŪÜüÞʃ/§÷î—·n ?þ¸øò.êÚ[´)Ÿ”391e‚yþ+lq–íÊô.ËòÐÏò|Ïë×¥Õ¼íõ|Ë8?kÂéõÕ×Çùòyõâ!_¬Þ4’ÃC¯Õ¾\€õtñz…J·¼i Z0ãÍë¢æ°FßÍMÝ pg«ÆÄLŽÓ뙿¤¯ÿfê„É^ýìÿÕÙaòDãx2ß)M=D9Üç9&+bÿ×õñãj>N‚XÏ•WÒú­ør/Îåp\[%ž¡)"Á ¾hê`[xš2‹éìà`Ë´’*÷›îÕè!míeÉox㺴mä·½žoç]‰ÂvWÝšè¼SèKÕ-^w­åŸ'™½2NxŒÔ;±ö¸—ñ±6¡o2Ö矖«³ã2MDa¬¦æÆ K¾óóúðËÊæìdf¯ü€{5p®`YMM59A)#fɈÌýŠY Wô†'˜%U6§Î2¨S}ò·Þ»~x´ ÔwïÎkõ½Ý*%OÉÍÔýTªr9PT5% ¡ñ=ŽÑß}/~þ¹ÖU /ËÔ<‡:—¨ûâ50Ò²RÊ™ëÂh0Ää‰Ì]ë …@pn.§“37¬Fo`$B‚°&áäE:zl Vxüôd>iŽäý;˜aö`mþD§“ZÂÀOvêäu ÖO~ðQüâß•Y¨Çd@)•ÆÙ 69Ž¢ÖL#±pªl§Z‹Åˆó9=Î`D]–ûìIˆž¹.Ý&Öot=ß2Î{r𯑺«¼ç¹Üma¤öYÝ«Ûbq#¯ Ý3S=Ó7õ5‚×ÄÂ%ÿë?Ù¨jý?ÿâpf>ŒlF5·ªB1b lŠe½ÜW…È™™Y„Dˆ™BÒT§½ÄæLÖFØEØÈM‰AÊB>AN.Ý=`Âþ¡ïÿ´TMDR£·©f°%–<%"EÁÌ\מ}y_ÓM½ûi pÂL£QpﻼöäÑ^#ì~žpü©¸±p>‹ 3\†àUˆ0A5…K‚CDò`¦aæ@ùÆ'LÍQ1Ò(¾ºBà•­y¸ìiÏã,$p€ÔÖ/ÆálëÙ3¹rµ²J6ß㣃1 õÚ÷Wï¥ç?›À‰… €C„™#‰1K˜…HpK9o¤ž^÷²¾yWp¿‹¾°ûy!ý»ÄyOؽ‹o½FØý¼8_Övï »/®@“„ƒ Ç@x] Ü•éè)Ö/ª­ êÚ¯Þ(ַ£GBJ¡`³Ó ŽƒõV}«„^m—fA³Ì$—W„5º5ðJù3À$Å’Àa÷ñ%¦Z “2d5i¢n äÚ‰MÝJâÈaR€côöφã1~ñÙ|ýÂ`íbå[ÅÊç…¼dS²D?þñêÇõ_ÔÃ!™ˆ€(»S K'¹}¥^ös8o]ri$LÈ R ®Sq›ê£l§¬flÎÂL3d*¥9›æß’‡@XÜÍòϾªmmÝß¹±7µ—®.AÀÞàN¬¼}áz·n©XX÷Ò\œl48¾¯äÙšÏ^aÊ¿´ŠËŽËÊËPÿr ÜýÍœéñ»Çùy³¼qÙK¹çÝûNïÜ;/eY=~üx>Ÿíì¼TµÐÕæëqúº=÷åÚ M-zµ³½xQþÿÓ¾ªÚV)Ëj]Ý<§íž÷Ê P£¨škà\±u5ÄNk­WSh3Ä^=Wl±\ÎnÃFš}‰•’r4®ÝkÕ¬hK)Y¶Mk&Õ×híf€±Œ|ïëùlJ!HÒúåË”æE*uõý¢X¥Ý*W/13ÜMÉìðÈÆ'ÉLM]Õˆ4ÕDD¦jÏvïÖl¯[—\»™šBÉ ¨^Ô'ŸK\a&kµ×ˆU3g£)G=΢v´œ$ D䚦ï @)Õ’ ÎæÖ”ŽnþüÓr7þ*Ë$2Éà)§ºÖ/q|÷ÈÎÍ5Öþ`íêµðô©}þ9T½ˆÁÄY€g›Îôû9TÊ^þy溴QÔ+MÏvëëyFœwuùºðÕ²¨Ýoçmº~¦°{C7aш‘lC’L=›töô¯Ï³ïy=ÈÔG—eóN¸ñ/ât/íþ¼®ݽ1q]¶¢X–t;sÿ§bbe ÛÆTÅ[+ÚÞžÏô×mÿ¸°îðX2rƒ›º«{"\Ýœ˜Ý5›sô£‡Õî×Zp+x1»ƒ©k½s;DOCuXkéq…ë™M‘ì¦ÝÞÞ{ø´~ù¬  ‹òÐ5Õ>º~¾~©så@¯XŸçƺœž™^ÕüÎõ—7nÞ:Üûa!F¶îϦ³Á•bÀúoóÒ’Ò•+òäÉüèÈCX|¯¹+Üܨû¥ØÚâÙܦÏoY'@ùøÓz}oÜÓ‰^¾_¼¨T=wBrø²1Ê«ÿGÖ<@ôs#­gGÒ•¡;Ó çÌèú ®çrœwLzòt½ÎoçËþÃçíð;jü®á~>•²«uЇȾ©)“éøEIÁ6B¨¦©š7ªèìÀײ¶uK1ëê¼õ¯—¨”ªIS2AíõTÊVÔ®;NØëõw+ŠªÖHõÆêÉqÉu àHDÉÀ!Ñ< Gâ&.”sª4€â Ä("õñ 1û`ÛæGªfœÄ,9 A‡ƒðàf5FW“‘m\Ä"ÔuzñéLOdxi :od@zTÊvüí5ëR/¦‘,iòÄ1£=™Ow(m¥ù‘7l2Õø‡±DZ] û4Ÿ×€˜!S)á •’¹yUeQ;~÷½bµ²¯öYUÃ`…ùßÿÝøÓOd뢼÷¿x^Ö•ˆ %%Êœ ÔI3™-å8ÕæNÂ’’R,˜^Fê*½‘JÙB,çQ)‹ëyfœ¿†Jù»Çy+j×R)óóü|*å©?0ÐéBwµ9{#½öz>Îß‹°qc8þº~ùyÅ"¡`$M{½í¾Æv±«–—œm5ºÐÙƒ¸íœ#õ†ã»]Ç\bðë×¼ÖoÔT‡’ ‹›fЈTݼI:“²ÈÅm¹vQçUËÎx|X"39$(Õ»üÎeâí ß}W<ñŒ§áÉ…,îÿ2É%ð÷Ÿ_]éo á•qí%’Ðyë$K070R,èød}ÿ0Ù|— ²Kë7‹b3Li=¥ƒ#Á`Ëz {S¬]+ÖoËü¸†s aüõŠ™³È F·r´9߸] /ˆÃC”÷ÿeñâË“ý:\[=9‘Õµ0/…Ø…•@,¸“æÖ·³àa&”¡Q4¬ ‘–µ’¥©Kºê^–×ÀHË ¼×L#ý¦q¾ #õä ÷8?FêÆùþÀÔvoˀРù]tÛú&Žš¯_xgþà™Ùt0ÊnËbö½Kÿ6¦O€!ÃG(DbáÀ!°b'39vo*"nëݬc—1’v£»ƒX˜*¢Ož­§Ù“ÂÇœ ‰*1‘1›ÁŒYȈ3‰ÇÅÝÅT\Ƈ<9RwwÑrJd¢4d–§#~þëc¡“ü½¦Ž˜°ƒýO檚f„!}õït¶@ÑÍéLìMë˜%O\³ !A$ŒàTîh¹ïH,‘‡’ #ÙÌYB«"jæ+[ŵû_Ñô…^¾~ñFq±iö×q÷Î÷>}n{¿ª‘ôæ¿^ù^qù#Þ*ï¤ÃâúM}ôB²×QviÃSÊzÁ.íîÈ-"ˆ ¼u³šO÷ŸŒO©”ov?ÏOl³íÙ2ÿ&×óŒ8ï­ÛÂø÷çí¯º[碷÷¥² R.Œ  äô`Ù¦—v}Ss@DIëÙ±M¿Šó=7$µ`Þ´×Ûö6çižڞ~«ëÕ´îéåNjZÏRUy€„iÒdU<7ñA‰Še•/3KÉ2ë£9s×d™Ðṕ- ˜*ÅÉÄ|~dõØ5f«áÌÔÈMÇ|£VUs÷¬•§ê"Z˼ªáˆR“¹’‚ˆR~V¦Õ¬ª«|5ò âÐj«cdS™|¦+F@‹ñä9Ofgöź´’ÅÂìjÙ–•ÌMkå Pµ”’×Î W§¤c¦d¦SE€!©"S¦°h83gŽÛá£ùÉÿ>×dÌR¼œî<3óÂ¥m9©ª¡Äã¯ëÉËÊܣćÿñÄ8m}³(Oî_Y‘'æuÍdHšˆ hü%éBÔÎÍê…G‘¦Ùýï2¯v²¨]0Ýù¡6HºÛpêŽã·†ùu; tf ýÇù«)tKû½Äyw©ënSèî¼TsjÝÂWpà²Ú¥IŸâ:|Ì̘šNOÛ7oñm÷¿ëìÖc–¶»=ýWéÁnn®»á¦Sð8ñ8„¹«z MeÏÉÄ3§0;)¨q—vJ΂ næ¤YõÙcM3OLšÜ@–ˆ`æÙM¨¡R2d0–- FIÄ…ÌâÒÝ-5ãQ–ÌÙË)û} 9ØTá>ãÈ\«YþsD€&@È:œM-ëÒäû`2.c@Í$ 3³š˜e®"«eê¢gE¸lí³¸åÃÑp›@dêî’-Ž“æžÍÄ,O)"%Z0±Ä-Hp8g0a‘¦Æ1×ÔÝcžkMÍQÑ")usÒD¤"ÂÄQ2#p¬¼Ç²ÂZK.I²ß²CDÌMZQ»¢µ æMñ⤫+¸zQŠÀá±_žT;ó(‘‚ pµ Wz}çeøÆ74l~HO>çíò?Yò·óé8ãwy$2Ã)ÅMQ²:´ÞHçù/3=àöiÜ…‘ÎôFj…Ý£8_ßX¶G;Fz›81¶Éó²7R>¯F–SYJ à7þ—ïºÐì¶GÏQÍDpG]{6+¼­·Sʡތ†¾¾½þê·±§]¯^˜9³*·h³_Q@LMò)x~.yîfII؈]5¯ª™¹ª1“°›»©50𥃀;ºwºÓͧ w¶_y½@uèL|¢}Ï›.´/Þí¯} Å›àO‹7.Þo%Ò àóæÕK%ù_Ù–É|ú¸ÒÊHÚû>à8yª£µì&hKH'6ÙÑòØÐìúPßýüo¸bçÃB¿—¿Ýþßxvg¾îÂT¯ù×÷Fjkƒ¶lso*¬26×Â"IÜ3Ó*%WÓÍÍp績.äè(}ýõ¬,-¹r…nÜ(‚Èá¡ÝûºªkßÔ\„Ì8e!çdâò`æª9"ÔöhfÉoöÉp0Ï"osSE€¹‘Y]&úõ—«(îiZ×ÄŒyé„Àuj/NÉ`"sPD¸H]«;<ä{ €ªÊ‚¸ØƒV5Uxä,…I„r ܦÐrÕdÌáLêDw¯ki6æ}ºYJõ ðM)!!(ÜO ¯Ž9=Ôò û{ÃY͈‘(7Ôy•ˆ°»©f¥pÒd¼\<(ŠA0W­-ÛnÔµíÝ/÷ðeµ#px6ãƒÏU†dH0qÞÀþ{ón#ç·óîÆù™þÀ¯÷FÊån«Èñÿ‡?p« rÚ9¶S‰@}‡Åîlñ¢Îî#2e~°1­Ý.¿‡ôœ%Iwî„§÷½š±;omÅü ¸q]66¿øåüÉ“j>ǰàýp°µ-å7oÑ‹t|ì=éÝ3õÊ^õ§!&³\ÃÚX˜Ìa*¡ù#Ÿd dæ)3õIT©ÍßÒDß©K p!ùPQ†80£­-»|9‡áñãr2I1JJD¢«+tõê %›ÏÓÁ!ÌXb‚»Hp8H‰%F^ßpWåÉÄ%äVƒ­1ï$rÔ bbS5 ž¶p‘Drªp—ÝÝ‘rk-4KwsJD˜\¶ZÎLÈ,¢L9„b°ËY ˼*c6  t ¾AMçÉ¡!˜A5å "4Ú8L„Í͘Ãää$™YQS¤”ÂL¬3g’eŸ§aË—v˜¡­¿ÎôFZNe—õëz»ŸjÁ›îˆÏRœŸÒ³º Ô²._ש×èî&ü-¿êõqÞ¢e¯ñFê‰ÚµÙ…¸äîd†,§˜ýrª W®È·¾U ‡øÙ'åþq¢õA\ßšï<|$…±…gÏÞ+«"K>ÙO~2¿y3öüEe‰“:}þyº~aRU!ûYu™n=¸¬7çÕ:Y³MØ€‡äw6c„œæ’(«˜Ý4˼°¹›²1¹°În‘¬Âkf†µå:åiªýhôÞ{a|L?ø~œÎôêµøõ×mlÈövXß {_Uõo'u iö@ g2ÃpÈßýNqù²<|XÿôŸÊÆm7G=SK5Í[Œš™woþS ʾä´š|üŠÁÁ™â˜Âì IDAT›ÔÜé`¦ ŒmµžošÊð F·}ü'õßmlb|’ªŠööüéÓÄX r- äGbŽ›<¶I8ðêÕ•ãçéÿhecƒ_¼À/~i³™Dâ’ ˜Â,Ù©ð‰œV­†‰œ‰x!Z´ÀJÎsß>S1ç5žÝ]mïwÒ’º–%ÚÏ´VïB¯] ¤ódèÎô(›8ïBP=¡ž=52ržÃê&Öp("NäEDLÄBÀ…MþÞwŸ~:Sµù!G{ïþ¡Ï^Î]{WØ+SšÇx¹k÷¾P\ü0ò¬*­\ >+Ç…él¾÷`.ì1’iДÌÎ ä¼"w8Ÿ’Q¶bž>LU©÷^¦õ­XÕ©œ+C4™¹.…•ÀåL%rH*ÕÀäÄBÆ•{†¸Šuá­íðâ…M&‹`æDML7¸á”üŒÎÇFÔüÕš8k~–m¹ÍÝ`zª.¤P6sXî&~òËèƒzöÒY6ïÄÑ%©çZOíïþÓ Ä67°ºÊãqW„ØØ¹ÆLuzÔøE!äOç(6aÐb$«Ûô³ŸM\¾,}#h*á„KNFå€&ϦTš<Ï]›™&À!šLç‹ÀÞŒž#uÇîºj5Ëâøý9¹óa¤:FêŽ.ÃHË’:½ûN‹ µsQo„‘ÚOµ ˆÖÓã ©#©C™JIDî7nÄË—øÑãÚÁׯÇ<* <Ÿ«;…> õh`a´2Ü<.ˆC&ÅúºÝ¹Ó­½?nS„¡ŒêÅï…½/ËÍ´vùÎÅùÃyD¢¸dóxÉÝ´¦¶Qc7fa&ˆ6bn,d nn#³Ì¼Í]¬¶†¨1]ŒÚ8IÅqSâÒ ÊLIÀ-‹;k­Ø\óKÅLJ~ý{+›wÓýzü¸^¿Q @Q:ñOÊÙB$a’ÓÅïÄ톇_ÕÕT ´y§¨æªµUcð·“?üÎàÏþó•ÿî¿=ë"¢q|bE–kdg2Î]]VB(ˆ9“ Ü%Ïuˆ2;“6w'ƒŠ¸ˆ‰0$€‹À!P]ÇT'³Z+;zèë׋ù!êCÔ:£éÄBPf*bXøÇã'U=ñõ­òá(X67ÂIy|ù›ãµëÂÇO«ªÄ;¾røŒ'O|{óJ5‹×n¤½#!ä‡*õý½‰3ý^ÆØñîqÑz¦Sçù÷„Ý[úa[.3»ÓHítÙõî »·L¬ea÷ŒYf‹³LÄË„bƋ羿¯/_¦”t4â•ÀýÂÝýu­¦u… D±¾òÞ:¼ô‹O~•ÊZB@©zHåÂ0¼Ô½Z{XT'|\¦ÁšCéÅOëòÈgôüùó§nÆÂP¦œxˆd°€‰ÔÜXÀ”3`Êu…T2Ñ »;Ì<-Ú™‰¥wJŠ,(“oW"d­ H¾Å$¸nІa0\ÿðÖÍ“ ëË×dçÅ“—?/c(æÇ(_úÚ%œóࢌçˆÀAA`–ÌRáܸÊÉ•ž4Ïï¹)Äœ 3±›œE`æ¦<¸C”ˆ¼± sœ™%‚(¢ˆ°Ëô©›A käå˜ìYïN:GØ,Šõ5S—À³)•T^þv=?Ô£{éè‘iˆ×ùêwÃh¼V„áPeÊî`S€2×MB~@±³ÂÁ"ÆÎ¤Ì xPÁZ¯Œ^ÙÙö¥ºa¯ªìêÂvõ4–Õ»²;]Jf÷·ÚSÒéÁÅ]­œ6Çîv¯'²| çñ1{u{++Ûº„¬aª)ùÝ»¦æf)ˆsªÕáÌÈ9Æ £z2Åѳ˜æj0¨±™ª'Í:+9¤éËä°¤ê‡.AÒ89œÜ\U(iNrÐTלUÕÔ@¾БÓNºŸNi„<€~:¥‘^õvq椋‘K)¹°“jÒdžò/©Qªxþ0Å»ïîVÕS°gŸNOX]%UÝýu‰Äªêd1FÕ¤\XÊiýìÓ˪f6¸èé„ê1ªW³tí[kWí'ÿx’~âJQÄRRî »˜Zƒ 8ÚC!¥šY\\Ó«Ó3¾ØˆœŠ[RCª\i*¢p<%ERVK©6× ˜“%,2SMY“¤ñ>xèû÷ÝÙŠa8yþt²w߀߿#G[<ÐÙ¸âàqH/>Õž.|#Ê/¿y+üÝONRîVªˆÁ˜k&Š4ëcvr2afIu}oúAŒëÙ8O#õ£®lú™Zê]Öd—üøzà3…Ý{0RÅ\öîn|£?p—JÙÂHݪ–JÙÂHgúwÕZhQ³p Ñw"Sv1æ)ª&‘PEƒ%,ª 7¿L¨²¨%w·”š&3d+-ÞÐ ÄAnž¥ÛÆu`þ„xãE'bR#3 ÂLœÔ„ÌH•B f 5 ÌI•£äo'M(F2£”²%%rÑù"ÿÉmÚ¥[M""úx6M_àý;RUaO×¶‹•ËRM}òR%0"%.¤:0âa«Öe ®3#ðêUVSH¨´üâó{\´ë·Š¿ÿ»²>qa¸¯‚'4ÄÇ´¹ašKâ g¸6”wx —f#¼éÆAá]ŸÁns«ÅÜhS]°gAubw88óq^ü765­òaHˆ…»‹°¤PÞÒ ¸ 1„‚8…ÙLb,,ñê5©«:ûWß¿7se jE9HœT!f³þä6^?{Þ¨í™ÂgÎß.â¾å÷¾‘w±<ÖûFBÈ™CÅoÃ÷X<–Ø@WwrOlÌ`wœL²þØØ•¨š O(¬ƒj¢0\ájJubb B1RÆf"ÌÌ£QCO$B]÷ľŒŠKdÄúœdà^“%R&g6…ƒ´ik° ;³¥l¾Åîp#mÔ²^.kÈÁÈÄä$f FŠW$ŽHg,,"”'xÀ‚ù€ÂšX}y ïÞM†ˆrrñãxù[+šlü¸Z¿çǺq£¨Æúåÿ5™í©„¬íÈõxýãö{Ãùž /óÑý£i=³ÕËññ¬ß}·XÝàçUdSj`m3nmlù¬/äEÙ—L;£†|Obžç{,‘ã&óŒ|BaE8Às€…A"4úÀe‹™˜@f¦., 'Óœgy‡4ß. e©[ëxçz`ðˆ÷ªõ½ñýZXH¢vF+ëáÊöûó½â[ßR¶°ñ!Ýûõ}º:}ïÏ׿þ«éÁ—y‰_Ñ‘ M…)h¦ ¥+j·\÷F”zªè¯µë »wá—Íͺ¤ÅžÝÛ»÷8ž¯µk鞨]—Dyæ8a·àoïÓf¼z‚Óvgh©"F” RUjnE`ŽÂ£:Ž.¥úM<%ùè#øeùò„’ÚûïþäO†ßüÆàîÝê«{õ¯5ÛݳáÐüãá‡uMGÇö—y|râ¹?‚›§}«Ÿ±DWsâNPÍ‹ânPó|ónRMÎŒo,pàÜÄr îÕl®åæðʵo¸•~…:¨Ç$7heà ««öÎ;>™p±I/?xñéWânóqªç6Ûõù®z:ŒéÁj›ïÛÕÓgæ÷ÔÓ89L“†4üöwo?“:X srS£Ïb¿R0D™«»ƒ"à rd3"3óÕÕ¸¾"›M½,©`m¬V{óùøW¹sïÞ³“‚ÙÌ1ú½¯*3ßß÷ýT–êîVcw7]Ú"|xØèþå”™9»› ; n€ÖsÆçªp@ÄÕ<(B À¨’»CÜ †°$XÀH0sIÙÒfnÉõ‰;·`A+b«ž«2G)Kýâ ñâ0Ž''Ó}{ñɬœ&‡£àíübÆÁ%oŠ=¦j¦;?3FÊê䃓©™ðÉtíQùD/\’jæi’³AÐ:‘‹¸™¹Ñ6lúmDš;³åš-84Õ`ÉfoîŽ<‡4p{îõnRLxøaãÆ`ÆÎå\uú4ëëJÄú‚ì}Yl}ktxèeY«ú|ND ùbÎJŸM„˜´6¡‡âÈ#™NU·#Ý=ÙËÈyû"Ô¯î˜Tû×3§‘2ù¼½†Žˆ¦—eŽocVWÕ7Š?ú£‘©ÿõ_O&S«w}m4ûðã£OÿáPkDÂÑáM¤ìÄ1ßß­ž>µ¿ù[)Š5.§©Èà‚üãOfŸürG5­™LÅTÍÀ€Yi¦0 œ6túXY‚¦Ųzš<„ºf¥Z"©wKI)†n‹c43M5$8‹¦)Š÷Y¶ÜêEm’µ4Õ­r­-Õ`HÄ|>ø8káîå•ï®\¸]?¯ö~5ßþF”ÈÝÍw~V¹eu|f±Ë?,V¶Cš"ÛÛ×c¬_‹ÓýÚ’¯ø£Ÿíüù÷ãŸþxåøïêB0´hA/aKš§œÖ€€šàÜa5 Ã4ßþàM@Ü%{iÕØ,0«6ÌÕ•KÒ«äL†ïÖGǦ®ð%Æó__þÅçÓ²´¯¾ª~ñ‹j8$óäl€CÔP)‡ÅÓOðºö7äÎÁÞžß½;3²*%'†Ö¦f™3Ôveº¿:7ø+1ÍÝðí~ª»±;p×ýItÝRÚ¶m÷ÖÓóNœ¹±«†Ù~ïòÁ,ÿÔÛƒéíù÷¹¼«î§Úßp›Ø/Ìé0­B1âҥȌ²”Á@æsÄ(ª¸r%šùøÄÔ8F&çéx*·¿¿ùþ£O|^ ô¶kHån5ÚÞÔíMÙÛ=Xùf)¤)F—‚D½CÃù…úùpZ›J ‘q¼Kô€,“(SÍp®Ì½X§«? Å(Ìwýø™Ï÷U8Ç“µVO$ê€0N¢Ì`6âq h`!v†ÑMçš5eud7¯úÆFÄ€.]Ü «ÕÆ­A±.³[»VÄ¡¬\a';yä³—Æ!ñè‚\ÿçXEåD«i-7x°XX“®_­|tm0÷¾¢0¼WTÄ›qÂA"›¹,pna¤ì –mÕ ›ÌfœØ M!gl.£÷I×<î± “ñà¶§=D‚Ä ~åb*Â%MFЕ£²ži‰ ’£gÕÿü¿#bò—;>FÏNn !Õ]DVV¸ª¨±§ÞxOxç‹ú»ßýè‡Ã_ü2½xaãqbÌž$¬¾âsÛg BƒˆpÄ¡kV¼<‹×%E÷€–nµÙBAm‰Û“eïò±»Æ½#ì99t9Ø=·áîl`o¶±g§ÖÛØžBמ¾§ÈÑ;¯¼àBwžÀ™‰uõj8:¢ ›ÅÑqÊ´º0ŸÛÚªÇ3ÂÓ“rRN._¹n'¨•âhè:œNTváBXýVµ¿Wë4¼È'ôÊŠé^ͳ°qaõp^%cg%gwfèØÓ˜r1ìæ@Œl椬†›ÅpKÖßáòolú²Î…±#WÈÝ!5q˜CìM÷•Ü $2#¸{:r^Ës‘N!D±gÏxs$ÃUyøŸÊÉcš'SÝý¬Ô AŒG^OˆÄ͜ٵÂ×ÿ÷T+g3—¡“S5.Y¼®}¯¸rqt÷3Ÿ¦ Ã8pU ˆ@ɉœØÙa8œ¬©/ 0uf'r6¸g¾¨SÞÈ Íb¯n ‚cH4¯ÀÌ®O™ï¤6øÕ½õ4ýµPEd@k·$åøA=ë—“J„SJ""©t3çHòîvçŽT?~dI]+S±.ÿü—åóç}÷»ñ§?MšŒ%_[Ï @§Ñj‹žE¶`ƒ;¹ ÎmÏËjŒç5ÏÜ~ÞZôåLÙÊ圹‡óO—à¿Å)œ&Æ=IÖ³Žª_œ ¬IÝ­®'ãôäÉüÅóT`ñá© Š¬,­¬jS¯(]¼¹9_üé_ß=Þ«buþPËC ÌL/Žôù\ÿÁúäYªÊùh3ÔcªJŒŸÔiòÐÅ`¥RÌ܃äüWDDÕXSJ`e,„Q$”'úèïÒÖû*ÇI-©žŠh·ÚKßHÉHRìà”»’&UOõž×{ JÉ™£éÁn^+üPvvêbUHL†VëÉs/ÖB±­Lk¤”°Ãü(%KÃ-Éh-*¯OP¬Jª“»O&“Ÿ?þâÖ ¾ûƒáßüõlz„?æª6"x SWCŒGÒ<ˆO Ôµ ƒ…Œ3²»×µ³@„²èz3N¨3ÑgV$]4IÅS-PC2ÓüߟԳÏêÀââ`¡UM¬ÉॠŊcï^íîÌÃêRW¯ÆáV”Âeˆ«ß/žÜ<|l·ã{„”*7q@SʳÂ- ÊDIîÙ„!e­MÍÒ±†B­ÎGŽ”± 1Œ8‘,„ÅtÏ©á81¹Sy’VW·†qååø1qß¾¹g…L§S; ìL„ÅŸ…²V† 'b–¢]»º:¼,O_ùÑàÒ7GÓƒzÿîüÖ­¦)ˆIÖüÅOʽ/ªj¦®(6èýÿru¸u†z¦'/*‰²ùN1~Z—“T¬ñô€>ø øö·?ù‰Ll"Òšò8,_ÈM¬|T’ æw²º·Eá @"wâ|@,äYÚŽ%s¢Ƽ˜c’-…³dÌée2õõñÆŸû_Îg»vùÊ¥›«[f&AV†á¨Þ»ý§{2òjìã':³tñ;ÅÍ­¨S¾Ìï¡*nß©Ÿ¾w°¦ÌQÜ“f>,7½‰3މEˆ$ Ê›×S5;xúXrâÝþØ–½¹»6îg¾ó5[΋“å¿ö‚§ûÎóövæz»Z~}Þ™.EoÿgôÇÕïg•$w?˜‰»óÐX˜ˆ&µ+ç AMCÁƒ¡hGûÁf‡ƒUQå\/@ÒæîÂ̼Ʀ&¶µ©ZV‡lýÞÌ'³±ˆA¦,DÜ”ÅfÓº~6ܾvQ§czc–ÝRçtî”8AaÄC 3–­~t.¼PÏ!vðÆ¦½sÝa´ÂW¯ßß¿w4T‰êcß×TúÚm"°°„àäR¬„úåËDÆæÎ}îWÇêzf”敬ãÂ{az0”2Ôìì¸B Ê ;“‘À° Ü*λÍ'“-K«14Mˆ·(;ß(©Ó¥¿FR§[w©Î™DÕr»˜í™.gJê¼&Η?ž«ßºKÛ>¯¼z ‚«9<Æàî©Ö\M‰)Ãw'S8¹‹Î=ÕuAò´ÐÙš¿må6ÛyšôƒFrþ n ÜæÐ‰‚j·Že ¦$,‹]dó[u ìîNÞÚ¼öùçæÁU=OjLÌR&{úÔ ãÌ«Ùø©êñÌÜR¥»?¯,Cß»ëäì0˜QÙ×U’€!$+žf°’x`šŒê0_y1¹¯aD³ yeîjˆÈS0’!iÀnIy!KépkñygvSwg îêê.«ÐVﺉ‹4†ÉœJ’áR^·ÊMs»Ï³…’1Á1¦/uüÔÀ‡aòl2Ÿjn0|ôÌQ>Z›¿p-F×'>;0ÄTTO?þ |ñÕ¬®1\lÆÂê*eß ï¹7ó•Òêjwo#ÆKšÇ‘û«n…y&Ûé\~Ò9¾ =K‡^ Ú£F½‘ÚõÖëã¼W÷žù]½Gîòù6 ;âP—Ï ¤jî@:SºEÜ-%'†‹˜yª –sw'¥RSJµ’Õ™K‰‘ÆÌf вÌSrÍÆ>G”]H4¥Ú9±S—  Ji¦C¥-…­íÙÉdTûÉ$¤Ìº1×uBôFº%CÜ\×sNêöÒ šà1;@±ÀdŽùð£b"ØÛ©·?\Ù¸fÇi²“†›¡X D^ÍÒlÇ燚Ròàf¼ñ¯^ VR=±ù8 WiãvœìUó=$™}ïà? |côüoãù "sш`ÒŒ4gúdêP)S3˜¡ w f±1˜@i±1£PÆ›¬Ï¬:IŠÁª<ÍÅŠ£NuåB7¹O&F¦® àÄ 5€ÀÁƒ%UÔ ŽZ__ îF³xÓ)Y¢Êáä€r=X—á|ûñc¾paÅjÙ|_Žöhh×¾¿zx¯~öÉ„!9×öÄbFµZ qH2ÉõÿGÜ›6K’^çaÏY2k»{ßÞ»gÁ> ’ ‹¢,Éføƒ#ú—‡lÚDC ›T8¤H‚$H`03féý.}÷Z3ßsŽ?¼Yy³ëÞî€ ÐÀTg×’Ë[Yçœg«Íüzúª¥NëMÓ Úî¤Û!Vû®¥NnŒ¯µÔér¡¯Zêt{ிÏë,u®r¡¯Ú'wme_Ç…nàÒŽ¥˜T¤Ÿ¡õèZ·4„·Æç1‰-ÛJ²8‰H¹RM¬RÞ@:€"‚××åÆb}]¦œ_¤³³T×DDo½U–%"8/ž/<®£˜q4AÕ™¦Ø©s¨òx²¨½7ú’‡…ü‹‰Ÿ|dÏ÷¥è5‚`Ò»…éû’ž.ùhÉÛT¨h=h9u@aÄ –ÚÝÛÑëõd“6Ö_oÅÎ×ûÓãz°#÷¿?œîÇñϪáíàà*Œ7ôíÿÐSU¯09H“CÜ”µ›…~Få0mÝŒhwc½t×áÆâbQ«†ª‚(´&jü1½q¥\Z‰KLLܶ¤(EÊD»æ™*ìFé?$ë±¾$»¬Ó`&Tl…ìÆÜ¥¼¥Ã¯£:Œ—xY–g6ùÀ"Mh°*^Ùú:Þº§\àh⇑ "`f̉Œw¶îØEùà¡IèÚÛø´rìNv¾Ö;ÿ̲TÝr!Ûë",$¼nv-•òu]ÿk}vºÂÃÕP‹åδµw›(Ðõܹ×ܵÔY½®=„Ï¥RæúùÚ|à«–=²L½ÀÌuEúÔí¤—(3æsD ,H˜t=•ÃÛó‹÷Ô‚H(f„JDnî¿÷oßú­ÞdBïÿdþ§z¶¿ïEù/ßýî Õ88°?ø¿ìô4Šâª•‰­”‘Hai:>ùÑbî)ÊÞù鷪ɮN€bùp¨2É«N)ÌŒ¨Yï‘ÞcáeÀw˜1H¥†¾÷‚vÖuc{ò䯎ç{luªf6Ý‹ÙAÔ ëß { Q&0œŸüÙÜ’T¹‡M^øþ¬Åü¼îëðÞÃÝ?ˆ~fÁ£þ(šj™ˆ);²sýyö`H¹G–ÌÅä“q8´dŠW†7m$g{]Vþ»Òs^]Ѽ½ŠÇ¾îU+Èíµ³¥îGtŸùºÏ]ùÓ}yÛ · ôë,{®¾É뎫+lÀ߸›q IDATLæ{ÅR§› fV×qëVïk_+UýÓOë³³TˆmŽ|Pì¼ø!(ˆ©,Õ æ`¶ƒÃÅŸü—Å_ÿ5ïl÷_Ô§ÇÒ?ø›éó'•–|rj“Id“¹äÙ„H–„#8¹%KIØ2ðÓ‰u5w¬èá<¸7xôØŸ<žÕça9Ò ËñœR–R e?MXÔ‡iv(,ÑXé'W`)1³jqzZ/.ðÖýáÁ!,¼¸¨'G•¹Û<ú›ZUvò(•EŠdI ÌN£Ú¯{‚äA,ö]ËF9O~ü£n¼]üø«ÙYÍâÐ"£D$*nîîQh+' QR2q¢¨²J,Õ9¥ÉÌZ¸'³p7¶^¿4ƒˆæKk)¹(s†aœ,U]× ‹P«sâ¸J!óy•oðfÁìeéK8$rÇžw¦A‡—| 3#¸»›»EQ†»¸žqX˜ˆ„ÅŠ+e†÷–×¥q¥ŒNlwfu#~ép³×Yê\•v-uÚYWz]¸ÙJnÞÕp³Œ3µDÈÖsÅ*苇›¹­ÀH?¹§2Ë–.¹R‹Ñˆ÷w{ëüŸþÓÅñqò öµÉWþÍÚì¯{“£¹ Å‚@áª4¤““ôä)õðÓàõ{ÅÓ/&)¥óÄì…J#¥ƒžó-—±“¯˜»£×—oþ–~ë½ÁùÙ샳#„Ã5¢ÉEÂR&wÅï8^}pý›%=x GÏÅ­ï•7¿10ëúÿŽo~}pëÛƒÿp±÷jyóK(Öè­ÿy4Ø*Ò4dˆ‹uš`ãA±87nqþéëß-뻽Ÿ~Xýb´ý_å^šðd阰þ°‘¤s®ñ¥wû,0“µ5|òÉ|>§B)ú4õ[6ÊóKÒE3l<ú–ÂtDvóa‚`_”åW&C¿¨ðàŸÉúŸû=ßlú?šçæ¹xç^¿ÙLG#=?Ï£&ÚÙѽ=;>2s.Ë¢ŸÏ.èøÛÿÃW>þËòlâ\HÀ9¹('£ûwýíûų—/p÷¼7z V)‡Ò»…µéí8Úøl¿ªjÖB.-uØL¤kŽ’+a³¶U‡{˜±ˆÌçüƒ¿J=ÖC¾g´8OéœçǾ8 *ðBÅC©Ñ‚ˆ‚¢'½û®}ö<²çÏÑ ùss ½½aoßóÉX·ò»OƇõrç¢ÐH4{éå ({nNMhÜ_-¥>GÔ‚R”˜À“ÙÚÖè;ßyg6/~øC/ר·p¢W’r íKW ZÂHD e “*¥]nla$vHÿ+ä;‘ŽÙ™—%4[c*ÄݼÓûNÏNÚã‹õ§ãñÖJ„ç[=§¹,ioÏfpÁ rra!èÒlî‚€D‘;!–"–ÆF‡E±lkÛ†³AÆLŠ¢O‡¶é]nŸ¹‚ÖtÛÅ.;rÅdc%-}egº[Àfŵ[Ù¶­ìÊÆÐÊZLëÚi7v«¡4wŒuºõs‹Bu€¥¥ÿ~3,§g¾¾Ž{÷äè(ÖGº¹™+ÎaæžMÌÍ‚ˆ8;>;{î5¡,Õ³ô×A“s{Ùü^¼ü4l–zkrþ¨Ú~OO?]\¼<)Ëy=¯#Ø!‘ÌÝIOF"dgns÷D`GëØH)Y„ó|î§§uŸí­ïQ¬¡P57÷p{d‹‘;3<ÕsŠI¸¹3»K>ZRÈ3ã‡%¹ì[$Ù©}qüq=}:ž-’jÌOüðG °Wc×¢9Xa,.èÓ?žD@XÝâNSxxÀï~›|ýôãR0’kÍ‘§”}®½GikÊÇ.¸5Œ›sØ-%,—"H56éÛ‘§—nL"AÈáe™õán°˜žÙ°XaQôE†5÷àó¨*ÿÛ¿Ÿ%ݸQ(#Õ¾õå¢?ä㟧r„¡=Ö-°Ð`³8{\‘R,hqæÚÃpGÒ‹q.¢37ÝI ðW´8+qDÌpw4Œ¥\–S7¨+XuZ*o¯Zö·îöÀ+;Ó ¤Ú]ÝOWcÔ}ÐýˆÖ%·kXw]²×êάD7µ»V{+ó‚®n -Uu‰­jªgDH)LÆúäQ<~2¤ßç~Ã!†Åä“Ù|V[ŠèÇ{7èùíŸüðýzæ*03K P0Óé8NO°±èWQÍër¨ä<9Z,.RØÜa¨‚TêÚÜ¥@¤„P䱫9‡*_ýck‹ÖÖøäÄ{=®*{g½ §võd¿ö±²ãG %óz‘jD̘9%§ºB:É^³ÌY…d¯6e‰‹9.N±³‰ý}Ìg4Øìn“œazœã™hÙk)bº²Ï??Ã[ÔЧèïÈÅ‹4M^žôvïàÙcÌ ìKA¨+0!²É‚H)!bd‚g3„vPÉ‘êYn  È]%‚6Ù_xuÒT>®ÐLÙóœÐÉQƒÛQÿX©JÉæ4?¬ˆèÙÓ!þî{ÃÞ6õnúÖ;…Ïäü‘¹ÖÜÃh[æçØýV•^®c´[ÌOüàG‹ç?˜„Á-6ÞåïõÒñìoiÆÚãn”Áò‚Jª8!à)% ‘ˤì¼ÖëºÎ¿N¹9¼šN˜‘›6ð—øngV€¨ng{m:a÷™oÞ™©‹cµ®@WÓ óÏlþ |ï놿¿ðM*åQu ?+Ìb>1™ÉEP”ºXxª™zCÖ:ñ­g?+1—²"fÑ€ ŒEˆ¨,™‡‡Ø”´àzfÌ¢CÉTJÉW,Gäi0¨q¥ q´e’Y0óW¿Ú°·ç½ß¾­ÿî_¯ÿÉÿ3NQ-iJÒË2xL¤àò|Î:`&¨HD(–É Ü<ѰhÒÛ¸»7ÒãOÏx3}í?®¥Êú_\íùXÇ©´©ÁÒØ’Y¡,%—¥æìäÎÎGÿX÷¶98öë4MÕ¤ç8]̪™ÍNæÃíBJ:OvĉE¦{.*ªbp"Žå:ƒ ¢–É 8ä› ‚ ƒW¾WÒwßð½’©Ý Ô~sÀw‹Ù^M_!~½.à» M]»3݃½úÌ®Ï^[u¯t݉n”q7à;*£ïÀÇp‹@M ˜0SJn) $#eUAг=GzYöÅWùš“5`w'É`£É"Et†”ë¶(]¯“lÁ÷ô©Ý¾ÍÓ)ýæ.ýãOæû/m÷K7ËÓº\ˆÊr$Œ‹(v„ú¼4©%gWJ÷‚GápâÆDýöm0óíÞøìÑãö?ùÏ Äâ8D™…3 âªûasOþl6¼QÔþòë‹ÃêæÝµwß}è&/¥7¬ŠQb Q‘H"Ë Ù€üo˜fA…§ÜäáN‘樦\_DXÕ®wúgf‡3ˆ˜É›ˆƒ® íÚóÙØ¬ö„ì•| !7ŸìÙdß=,U1Š<>2B|ˆÅ¹Í÷ˆu•å á̽½xœêsÜþýñóIÙ„Ntet¹&jä’`Bp[4®X:®x2vdå[ñºëÒ=oNNXÙka¤kÖùe¾<­ìÌ\çÝ3Óí»®”Ëæ™šÐŒK jiÓ›UœMí,ÕÁ"ÂaÙS®ÉûDÂQו*˵n}mjSësße“¬Øçw*]½È«ÙÍôüùüÉ+Š‚ˆŽŽ’™õz½zóÔ&u笉¦9™=òø,%ÏÙB9üV–¾–mì-©”)YvžŒÓO]6ÞÕdÉ+ÿ|^W¦ÃÙõ K¨8}ž&{©JýÛZ®uïÂ* Šcð¯~½·»[þå_žO&Qö$ÜÁìðlËw·¶(M¥ÓÈw¦vZ¥óe€ºMcƒÁp˜’A3ŒDÝp³Œý\«Fú܃Z¹.Ýp³«0Ò5çóJ¸ÙUéW¾ÎÛæbFZ¹.º #… pj2æÈÙÖKS¥æË€9#'ˆƒ:7ª®\ãͪ‘×À8"!“Œa'¢If äÔ!§®¨™À”±X$a[ÞŽlÙØ<À `„GlÔÀT@Ȳ²ÆØ/@aU•66ñÛß*Ü>û¸ÞzgøÖ¿Y«æõÅ‹êôÓz¶×À¯S¨xå€ßýýÁ`Gmç«jæçÏ«ßþf±¶EOW–’(ˆHnîûV|p„©¡¥éž½¬ëߎzj6ψýRK…k>½ ¥%xvu÷®Á\…jZUfm™ak]á|~M˜Z¢†øIÈ&°Pã9š‚Õ¹G7ÒÑ8"X^sº@—ûþ9k¯÷\]fW?è ï𺧽îU¿Šuþ¦ërUwµz]®=¨€Šˆk @rÚY¹t¤Ëb€Ä]·¾Ö”`eü}Õ•û* ÎÝE4¤ÞÛ¢C¢`ð&™ÍšÝ φ‰LD=‹-tcWÇÕÛ5½U„ì"P 3É¥š5,¹`·¼7á9¶[èFâQϾ÷Ûò»ß_{:Æøø“ÊÏEE5D]Ä™AA àFP…•üD(•ëB!ÕÛ…ÕuÃo}çËiÁ‡/cãÅð™ÄKÄ\d:º]–ÒVUøã5k¡žb~ˆ®Cf>·Ül­x‚¿ œQe0¹¶×å +׫K$Ìï\¨jAƒ]Þ¹¯gÙ,Þ-טÜMöm½æäX, ri‚ÑØJÐ"úò¡Ëe !U&‘.•òÍß]©P—‡xÕ•²KÀ¼ÖAò5çóÒ¦cÅ óW±Î_ìЕ.µÿ¿r]º¼ÎF @ÝË€ºf\ít»k±Õuj§ó]»£Ö¬¯ è¯z1Y=zTŸnæá9¥!ƒ(ÄâánÎ!Îì)EÀIÎ^¾XL ÄÀ“Gf¨NžuîÙ|Æ ÷°ì5+ì¹&‰†:ÃÄÄÂdOŸÅýÑ´·à¢>ù°?9IµÉ6ƒ([rׂ¢É¢nè$þñNˆ¨ØÀâÂn}]ªjúÑGEJ©Zc½‹ÅÏÝ= Õ¢ž®ï7 Ÿ’™Üá¢<¸¸yüìYê¢(;ÆHÙµYln˜Â=¹ƒ¬†§ðÚ M}ån™šš6‚s–1!(» š9ÀYEpwŸ/|s—|­|>µÃgU¡B Û|K§û^Í=6î3ì :<ñÏ>³~/"‚óõ´š ¸\¯7µóÎ"y/éb<+ær]¨¶s¾ÖÔ®]xíš¼ú¶¿Îuþ:x¬E•®úà]5Ê[‘@¡ffÙ‡bÖº´ Ck9mjÛ/J1»´/@PQ¦Åa¤¬y(0#¥¦æm²,¨sì–âÓSè—Hq©æA ·¥‡‘rìv" ¥yœÕH©n`¤ñŸñ½ïöÆSß;Hƒþú=™ûô¸Ü.F74Ø/^Ô9Þ{vjYIy‰@XxØÎWûZÌR0¬œ¿ÿãŸç|ÿw‡ð\ÌÇ€lÇðm¶EÎûïÛÏþdRÏ<B2s‡°§“˜ì×)¥ÌÂkV'\…Âîâ"‚Ì®ˆÂ½0'ZRëÌ›ðg s3FpòÜ©‡'7 Ed2ÀpU³$uˆ'œ?]( à¤ƒ8³IŒ•¤"1¶¼RC#àpùø Í. KH³• åõ°dJ,–TÊà•Ȳ"•rÅ‘£«mZ¡RþúÖùò¸Vv»«FZ¡R¶Àoבã) îT8ÝAùÊtn%3f…ÝÒý­ï²[®Ž »sÜâÞ6¦ãÞñ±:$Pp1dV‘Ufvª3ˆ2(ÃÌI4gˆä­‚ÜC²Ÿ ‡YžBÃC$5Bˆ5³k6f‚hÙO7¶1u-ÅéÎWõK¿¿±ÿó£g;_+mÌk÷¥ûù“D{ëõq¹}aGTý ISP ½ìýˆXKħ8/×$U>=®oyó­oNϦ‹³xñw3.#U6}åHªY:ªÃõÂ’§dª²4%)Hi1NõD)8óÔM/^~’öìþÛ…Y5N/æIU"Ô³Bƒ@8T”EU®úø³T‰­‰c…-°åïÁ•äò•†amkÁƕޠLÜmTº®¯àcðÅ)žülJ¯Ï9é8ÕTO‘¦f† TI¯ï¾Ëʱ¶^|øáüèØ<3¨ÃEË_ÕìÓšêL$lbX(–=0ËŽ:»¸ZB0H±X`0ÀïýÞÖ_|4ÿähqûwFw~{xðþôðƒz÷å`£,7Ë󧂬ÆáûUªÁbx‡·Þ-{üìolóaY iv”¸ÐjšŸŒßÙ ÿïÖÿàÿ¼8¬Íj¨B©-©”n Ô´oŽp$Ìlɳ?é"¥Š  :;¥d±`uXísœ9a@,'T¹¨‚¥ p„»y2ÕfRU& "¯ëðÀǸóUþ»çÇy¯§ N?ŠÙYíVÑbQ÷=yv`ŸÕ¸ƒ(lÆD §ïFѯàÀÜÈ D˘^×çUÔ·WL*V<%¯í»;ó›YçoìÛ\«8pWäxÕ•2ÂUDB„ ëKèv¼Þª4ºaÇW;ºýÀU³¯îx½ù Èì0<‚CHÉÀ¬*ZÀJP¾¼6¤Ñ€öã‡Ã¯}™p6ÝÜ* _,L…ƒ”t—£D#%Ë8›–0RŽWŽl=±,¡³Øum`›xô¸ÜÞŽ›7Ÿƒƒ­"’”#Ýþr1Ûo¿=*?ÿÔÒ„„¸°(=îÈèF±vW´'¾ þM`>¼=|KÆü÷?$ã(GF… –Æî¼ŒVQÑXN“rÛɯ:r¨2õ¾¼ÎvÈÒ'7D[S»/‘¯EyÌGr–œ®äî,ÂL´ì=œÝ€rgsÑ+Ç/Ö,ʲç÷nÅÎNéÆ7w_ž}tÀ9»!$L.¤€¢wß¾+1¸yÓ5ŽÝ=´¨£ì¾Ö-5[˜çÒlYƒ¡*"$Bܨ‘Þ`jwÕØ½]ZÙxµ[®©Ýod¿ÎÔ.¯ÂHí79¿g~BÓìtMí~%BÇ/^_ûªˆ A}³Ðò’áéÏDï}£2O&õpWMX·­‡üúèqýø±’ [¡÷Q¾AîKŸ·U \œûö«ÝoH9ä'·8ÿÙYZ4žþ×ESªM´v³WWfU° ÍÓx¯>û™kTÍÒø‰û‚¬ö”ê{¿½¹3¢“§¶÷Ò«¤ª”}â–ÀÿÕÉíÞÑöþ äëþ…‰t‹Šp¾ áÅó4 !yý»ˆñôQ’24ûPGM²(°8ÈúW/ô«DŽ×>ás7þs¬Ã_Ï:ÃÆ:Ç?üRKFJùØÝ[³¯®'À ÅìZ•Fž1´³þ«ìÅünu]·t¹v³HHÙàËU…Ϊ9܃"µc-æãغWL€ãÏ*îÃJ,fD¢,IååÅñG  w¯ë,ÜI‘â<šZ: T«FRÅù)ê)¾üvq~Î{õ`»îR5ù™GÈà÷ëÉ©ÍÏ 'SUPßG» Ãô°îí¤}Ôµ§Sœî_,NvÃÿýÿ8ú³?NÏœ©1µ«*D (€€ÙÐJ9êf nu²‘P€úTÏöØOD8åFÍ¥Ü%«‘ÌàŠeÕ.¹Òs3èR™À›) ÅÑÁ;‹Ô“êÓ¢äÚ=#sƒ îÈŽˆðdÁa‘n–ž>yrò¨ ÂDž’§b·Ì—>"RrHëÈWIøéjŒ®¥R® 7ÝÔïü©ý¦ÖùŠ©]>„º®_ðÝõ iª®©| #1g*|û ~-Éû ãõîø{eâ×}B7‚õêx=oÞÙ¡bíÖK_°›¶ÖÀ=ö}2 n$ŽñøðÁZÚm–ï×·ïùO?£Ñvgãd|$ÄBR09GbQ&T° Ü…r -p6%€)13‰J¤õuloÊí??¿ñíòæ{C7ßû»i9ÔÑ­bã‚÷þvac‚DJçrM†÷eû+åÖÃÞã?Ÿl¥Ø}¯oUL^V/?XP°<êoõxkkДÀ‚5X•ˆµŠ 3b6ÎDºÌF⥯`EBÅ×çl§$}¦<œWP €¥`$SèMy–˜3âb@f¶1‹!‚YA™‹â¢7©»E|û›k>ÀA¤ÝoAEÂ)„·Þ)z,.ØÝ7–'°9ò÷¾ÓÿùOë£cSNDLp&9Áˆ‚ɉÀÄN¹ñf"çü¯&x0 Ìôf©5š[Yo×ÂHWõ×ÂH¿ñu¾#­|ЊÄbF¢W"rUTB„Hsûð¹¡OÝÞ`EÕÑõR¸jxÝ•w]úÔô!uÕ—ÊØžžøäŒŠ ß6áó§·µ§i:³á‹GËó§5Šó¨nÎf£¢PKN¿D¶eíSï.É:3؃Ü8ãHdÞdOgcw’ »sÛOOyû¦Ü¾óxÿ''bÉÃçÇUÔ ª" LÎÓçf“4}Bóƒ8/R}²ðD‹±ÍÎ}÷ÁÚƒoÞ?¡?ÿs¯CÛÙuH4”éÃû‹£ãµ£)Ø%;rd~KväÈñÀ䜲©ú”IYò7"Ì$Dr“mæT³+·ÚâM ƒ{dÞ(ejªH¸³‡p’bQ†o²ôÀ>ÄÆú ¼!§{ã£ç³¢$8 ¼Øàù/ÎÉŒú#ôÖvïÒƒÅÞ^:½Hª -7@ô7@eƒðÉRÙã–£½=‚$Ã{Â2Óaàuº 7[é¯]$íÒ껯PæŽq2]YÒ¿ñuÞAû…ÂÍX¸¥RÐ0±Ü¬5mZÉŒY™È­È,ºƒ¸®_n[N´ÚËvw» ˜¶ÎIɪ*2«7·bg8;˜ïM.Ü´Ý­ÑÉÆí»ÛwÞ­&ÿur¶?~^L^&"gÂÎf¹Ù>33óª""'2a‹Þ®G?&ˆá‘kµf‰\$sf™Îí¹Å Ôù 9'/mo:[Lk‡«$×–D©(µ®Üa*º˜ šÕ{•PÆñ§àRÅaU2TãÉðñü…õG<9 ›y„qQ˜¥ù|Íê ,ž'(ôÒÔN³©]VÏ´SÓ¢·TO„9`5R2sD}è™åd À(A$“IÝ=ƒjN))ÜØH¸kè"¸Gwîú|.dº6xñÙË“ž– ±Þ&/}~f ixC¾}uøì©k):t³¹èPßdF\0ò°“›!à…†»ÃH$àÅî´˜íŸqr§n­Ø¥4u}¡s¥ºbÅÜ2´[³èÖê¹ýÎä¿®d&ýFÖùŠ˜©}¼’ÔšÚåãz…àiÞ W7|丯wgñíÆõZ }jçàí ¾½G^¤_kÛÞæÑH÷÷8Å4ÉE„™* ËñO¢ªç´ÿÑo^ð‹½Ó§–Ý0-<ŒkÓ³º¶µ5ÙÜäÙ,ÎÎ,ܵ€aõ9…4™ÁÒÀHÙ?ÔP)¹Àl­ ü÷ß¾¿o'GÕî{í·Êz¡§Î{Öë IDATýuli±ÑK‹8dgŸ&3ƒSo„õÛ<º­ÃÅË÷ƒ›ºûµÁégUZPš‹{ýüÙøáßø­þ_üù¬šƒöÆ‘£Æ¤ #¯ÆYŸ¿D¼–¹0biìÎm°–¹m\Šaî~öç¡e„§:…j¾º)¥¬Ó5KfªË5u÷d1ø<™úìC-þ³ŸL×ï‹®'– ÷¼¸"!^×ééÓLJV\°ª˜…ÛÔ¨ ¤ÉûÄr—[§P!bK)*‹Üv†(±XšíãS™‘xé,˜.bäÍg_~Zà§}f×sgå™]úa÷ ü›Zç—¢×Î[µîmŒpÛüw žíü¬å“7–:KI—ó÷v@ÿºñúÌŒé^_`“KÒ”âöíÞïýÞ°§úÇÿÙÏçc®dªÌ$Á,–4µÒëõâ¥úÂX4äÆÓú«  ßþæàù_·ÞñGt6/„‰XC Q¥P*7YúÂð^»/âdPØ;”R{Ëw¶÷t”6ôIƒ@[ï–D´õN9;«‘ªÙžÇLR µ¿k·Ê­·Ëé¡Ýúvùà_âOQ]p¹Eõ±Ü\¿ß›òé)õÖ¢LFp-””÷ßâØ4Jh&uRgPÑ”ÐÌl-Šð:æ¹c¿¼.œsÁŒ©IÌÙ ÊÆL6‚ ƒóm:8sbª…‰Å„ëð¨Íà‘*ïxç¾äÜS‘û… ìŠÙq2ÔLáÂÁÂ)(˜˜ˆechˆ!§¼R›0ˆ=(¹÷X UæÐÏÍFZYZ]»ö/’Ô-€[áѯy¿AÔµ³kß§»W×e#e(‰4ÛD/µ§ô:]âUìµYl¯SN^µ¶‹@„ê \óšá&ÝØ)×o+Õ>yY×KQÑ׋™<{:Aa ¡Íwtý—[4û´À²xú¸vϵdÖÒ\ÞF„ ¢Nð\BWÊ~ߦSÿÁßÒ­÷zÃõâñ&óçT/’%?ý8Õçp÷o€Œ­ ¦4‰ã£tò³4Ü®ë¹?®?ûãyV ¥:ÝþúÆÍ­áÉË8:sÕÌÜÎ-n$Ššx‰ @ሠ£fe8E+8ÍɈ® ¤D’UÕD²ÄŸˆ² åžB@DLˆ ’ 'b")‘‚„Hƒ\„¤PŸaq‚r˜ ÷Xœ+•k6CºàB •MóƒIžŽ_$§0Ñææê0"ÔSÛûQ ?Ì(š‹!/¦É`÷~+&ƒÓçÖÒä‚lnN¦¤ºb $ÎlñÌ—0Rs®D &½»NknîL˜}’LY$Z»3Qf’)"ˆHfÍ÷hô7Ù‘#U˜“¥– í"  d…Ï?%î=¬&ϽzIT˜[D„(,…da“#GÃÖ‰™óƧ´ï6s'„uMØ»B‚®ñúx߯û¤…F˜ÅeÛ%ý·…î‚YñŽ[±¤ë®·1C‹?­è¾à:o÷deã/·Î»0RËÊj[€î¼úªF½ #A›lóX~ݻܞ‹îx½»R0—‘&f…~¡ñz{À——ÕHoÝìÝ>ÒŸšY6‡ 3p…›y¦£„‡{8Uk½»½=úq0G,élÈ©ù76óÝä–Òâ0{RÌ( LèøÞ÷ú§~tPï~e°ý¥ÞÙÓjvk7‹r$ã—Uš99M_š% £b“o}¹´ä6£zBë·D Yœøh áRÅâàÓ³‡#üO¿¿öG8>™ ìL«<ä8µêÔd ó¡œñ› €{FÛžœy>Ë0X‹-QÖ­ž¤áŠ¢cìm\MÜE,µY,j( ^²"ægTœïØì¨Ç3äÄÂ-9žDÉ¡Y è•á·¼1¢ù\3ÁPHu¨€–lV!37K@ÔÌäp¸Ôn Ÿz d)‚Á”,e Šš¨Ùiø¡5¤lI€¯…‘Ú¿¶½ñ/±ÎW`¤ö¦ð˯óW±¥_FZô‹xe¼Þý_é šñ@Èö»½Í· .1}™Ž?¬ÓôEu×úÍBç¶Š &ae'¦Š8@Ää  ÂÍHÙ„S€€0¤ªß­ˆDDÌ ÒЦ„V8˜‰D ½l ­:béó °õoÝÂÞ³ƒÑÜÿþˆ”†»rë;½4e}Ä©N*šÆðI0Xû²ó•^„W§Åà´'ÇV›oÅÍžc³¼¹VóñqQ œ‹‰àDTˆÈ£bísô L¡’ Ðt #SÍR’n»ß•¢@ Í¦Ë|à å/0#k°=p@&&XÃÄbfXr'-h{4™Î¤®Dúo‡kÐ\t ½;I’àœ¨hr‰›$§ËÚݵPQ7dOrÈÙH‘Ÿ)"@ÓÒš»I™Î”™6 »´û%3báWr›óF$ËŽ" BJ™Jæä¹7’ì'&T‡]dÿ–ÏÍþE×ù k²UVýSÖùÕ|à•Bº…‘ò7öRÐ/üŠX˜0@Všû/ÐD}ÄÔÛâ4wí‹Ï‚9ñµ›ætÕa¥!iû^A“j°wñ¶¦î¹.„{U­mí Gk‡/Þ!"Îh;¢ÜJTËr„Ò-EnÉ2ãÌ!LŽ\øA˜É¨¼M|ƒ`€ J ýù ÙüoÞ˜<ýëãÅÞØj_ÌR}A6æ‹U¹ --Œ´f±)žþ3b0³ 0~úÂX0~¼Hf÷¾µyûîîô)ýô§)ac°U¦‹¿b2P^bLÎ`¦åèášf³ÀŒzwE9"4ç3Á—ž$xþv àoÃÍr 3Ã<¢qù„ ÚÓw‚ŽfggÄÅ u¿%:@±#¾ôò{;ŶfÎâÎËÁí·:"š°eˆ]._i~ e’*Ùè'wãù0³²™vŽÖ½1ÿè‰@œ|y\bí]ƒ–TJ˜QC›ÿ\üåéÑuÞõ²\ééu¾â¿­ÃûµC,¦nœ©”no0¼^ÙøJOâVÏqqïûùãZ •‚,uôÙ]_¯•è×ksS#0_ÌíDh¢FPv¥¬¬(d±ÖŸ¿ðQ@4"Ì ɹNc3ˉ˜ÍÞæØ“'£,bOF¶Ü­”)øi~@õc-‡ãIý£C “UáæuÇ?_8Ìà“b ›CIÀ0K¢ð:ªºDÁ &Nf+×.Ž‹‹ƒgÌÞëo£÷%w78±%31ã03ó ý÷% ¯¾H³PÎNu øMó– Ofœ }–’¨.-±,ÿèd¸¨2Q2C¤º^ûùÇïÙô‰Ò¹Å´¶"æEÑCªÓì‘㔹LÉ-¯“X$·j‘{àºN96% Ç’ J müOšÀ2RMÚH6ܪn)ñensƒï5€ŠJ2ËûO d)‡ã˜››‰´8™ÑÆï¸kJ $iù•¯œÏ×,éÏ]ç]Aÿëzà_t¯ä·‚þîžtÝ»‚þöÛë€6ž-Kï–Kß“N;Þú}´w¦ˆÈx ¹wûÁ‹ÉËI°;_5%‰Wÿt7®¸œDD ˆt“ƒd@x%2?;”É cQI""Ìðém×›nÁrùžÄ]âòSÃ#ÈÁ‘œˆ<¡h’‰ ¡êÔ{7âæ7”EÜÈÜ„…EÌš×\“eÅu¿J9ó ªJLfp£rf‡Î ìa¹Á¡XÚ“F÷¼tMdÚsæ7';à xÀŠì·îpG¦£R"“ìÁÙuÄ Š‚rös "àAîGx“ÿ‹Œ)çÁPx»5ÉÍsò,Ïl^>žmÞ§ vöåL¨y.çýÆå«)š«á¾|DH~{€¢ó¬æUÔüîÉÝÂnñêŠëÕ®®ÃÏ_çËâ¨}U;Hû'­óÎ[­lls»Sè•i%Ý •\¡R^Z(¼ µÈ•†ÖgÔ¿¸á§çi©+Å}ÝZ¡˜­ø•u¥ˆz¹gi¢½r¡ÅF¬¤…\RÌØSJëëÃ[7OŸ\ºäXk!ÖPá*X˜TH• ,ª‰U€ˆE$ˆþ¦D¢p†#„#Qxf«S„„!„‰ã`ÎADÖ¨gU„ç'®Ü®®Þo®>nZHçNûʾp÷ý­v)©wÏïÔ£=? Õæ>Ú¹CËïæù¦žïµAËχ;–wßòÅsÆÝ(¶#>‹hhaÿôóÙºÛ¼îgù—]çÑÅÏ®¾Ã•Ÿýh kºSè®±ûµ³–·šGª+ˆØ’#êñ,U¶í33J©(¼,À|ž«*AdE!f Ŭ«üè¶ײÉDÐõO0OQéÑþ mά óäMXqv¸R$#PäðÕUsX²„°f£E+èjæþ0Ñ ‘à JÄ9ÜI)""” XD@syj(˜ˆ@YCdî‘R"™;[J‰Ä)RŠ”$wLq©¿éfÀ†‡Svô/v]¼kPþºó‘À†d)¥‚p1é-Nœ«Ã¢$ÄZš= Lˆ)çECÉjðü?"bTÙ)0¨È{¶Ä8˜  §æ­(§7fƒ”m9¡ tÄ ]>î:¥ ìëš‘!YÂHùqJÒm¯êù)Â…ú™fKK3ó·°€G"j«3‹&Y D$€Ã‘f»Ü5î¬a e;±À3˜AwOWW«ê’Y©3C‡û½ç>\OÏȬÂ,ùÂèêêlÏ¿Âýžs¿ï|ßÚª…““‘‰°‚ÇŒ„‹½ñs9YÀ.l#±sIÞѱvHN‰0š »œ¬ ìÛ̬ÌF§½afγo/6·ØÅBI²¬ÅZBž@$ƒˆè=w»lFyÎ㱕¥ýú!t]ܵ{Åoþ}~žŸ~*M¶:„NáœH0£…Ëk¨wºEl}=»y“»]~ö4ÅŒe¥½=?:øXÝ矿Ÿê×éà ø‹¿,?{ÀŽ?Ø »s(&úñÇ68 >ãÙMC’•K¡Eº¾#³#Ò%% Å%±" !ÔJUp¨fhWpêUCB,ŠÑb00ˆ1†€,Fµ(!GŒCÀLéŠ@Ç!B´HHŒ, bš&¸€¨X´èÀP„hf€ÎÌ„¨ŠÓÀBƒ³^´Et‹ÉP£Š†fÈ´A :Q1\¿Ë,Žaz"å<øœkqãôªo›f<çኔD‰ˆY4Œ%†Ÿ Ñ¢8Œ©‹RuG¥½.Jœì— šC÷¶/§ ¤Å”±³Áàc‘Ù€@5ŽÇá“_Íî6/Šà‹P3ª¯*Å„5IðŒoób>¤U¨.ª9jÓ¢ÑT ІKPŽì$Æ`*Ug†2¡Pâø €¢où|5†(Ğϊõ¾s= !Dö4ŸÓö¶e™ 6™‘Òé:Z¾P‘£doLéJ4oéàÒ¸ÔÞH!„º4biž× s²¼>ÍͰN–‹¢ÚqH>`"  þÎï´¯^uÿîÿì„ù u[£7·Uü=LÅ9 e ¦à|âÁ|ñøÞ §èuyåFöõ¯æÏÆQfVž”ˆàS&©ÑÔL›*¤fd*n`dÍÀÒÞIÒó6 ÉÛÚ*_ÅJ ÈT*øDEU 4U{65ô§ÿ[ý€mà5}¤ÄDÈiEÐ9L³_US³dÍÌ‚™¡s•——sˆ¨1ª:gˆ#šb\5?Óé}u‚è$D@—°5˜À§ ™}^–n_‡Ù6„ñé®[sóãü«ë–~> ¡ÞÔKÿ‚þ§Ú/9~æ“`!îS‘§íÕõöÍ…—ÚÐFµóW{þƒ5$snè´9j@Kß‚†6ø&‡6†Xªgï:Bhõ¥˜DcD@P]K‘Kà 1™%À)ÑNÀ’”¤²«¼Åˆ,•ÈQ’_fçÀyðSÄtg'” Ïh54c`b”9ƹ^½}ùx¬ÃG>s5ÕìbKþÀé~j¥«À)›pŽ ˜ØÀ#/ºˆÙ $XïšÏ׸Ò~3¨DṵáºB`HHäcU‹Ñ™ÏÙexð ˆ3dÌnÑX<ÏXzE¡7ÒRøJDαi"u1xH6Æ©’=ƒ¼í×^ó`غ„€à2gbQ€z—IU5š»äVÈD]J×ÒdÞqå‰<)èbà%a÷Ý­›PÁËÆ¥Î›òîn-y#€Óâ03#{û-wí:ó tZn^H§ u».u¼O)!°Cœæ“= @ùÊÜdj21P … ‡nóÛüâKÓ–d=:þªÜú¶?xPLO&.I(MÉ„M%-ªI 1­·l†&blª&jÈ`dÁ í ¡ƒô¨J(9S5ÒrWà «…&=ÂÒjS9Yr[=]šð4»Àêé~*7ßXÂÓqÀêÄV ë÷#Vü°Å§šîêÂÕsWsš”Óûí–8£3>Õ5×±Z–uéç3+Xã£Õj ƒ`f€èfíM"“}q9‘ƒ„€¡3‹Q‘È$Á%ZQª XŸºWœ©{8û­4gé=u[šKqc†:~€Å—T¿À6´6iòL‹‰¢KÐI4#³h¢ ’æSe†fVNµ½íKxôȪlºÅ©Ö³å%+ðù¶œ—óˆÔÒy–Bª3ë/€‹Å>"«ˆüíߘó0ž0Ê2BTDhµ¼ˆ‚ÉÁ¡2QD¹rs£5¼öé?|VLÅ;ˆ³®ÌÇbhˆðpd‡°6m—C+g!ï9ˆôìoÂü$JØS{ÞCdŽQT<XŒÉ¸B¬!DŒ© s( /•¦§¬Ï3V‘°ðIÖc *1F•ŠJÉIŠDP€DEbD@\¯élç=x–ÒÎfùXÃcV€5©ç§Úצ˜Ã’kN )‘sK-1ošúœ7¹mj8,‘/°Ï5Aª¤üEE¢F@R‹¡ Ó™¼õ–ïµéÁÁ|óvÞ¿í@q²­ƒÂ@=) «ÑÀ øî-÷á›§%<|^Eñ/ÿUßçüW5”PU%CZP)Á*y=&[X½Y¥j>J1BÀ…Ó—&Fc’U¤T)bˆ¸"†¹Ä(½>½÷aûþ—óÑWn¶:JçåáW! ÌD© ŽTUâjϽw/ëtqpû“¸sÞŸ¿ûýöŸþÉìùv`iQA°*¦óÌ&tžJy¡?𫽑N!Æ3Âîæ\¾‰Iøà؉˜Zd&šrˆb¦D. ˜f9e-æ•2òÆ7å8s­8öm”.ØØ¹6"¶Pˆpþ”Œã§b"ÈÜéºÔ­U܈¢¬ì’H—Tþ=¤ÄˆôH IDATºÀdAyWä 6ðL,I›½€´@&H*&0’h Í9´*ÄBWÁHà[ÓÌéÉ5ƒºZ¸®Di–•¤'eºW—äÎêè(aW ÇbÄŠjÓ$‘N÷$3HŽ™Î ¿ÚËg© §E䶈–½cf2tê™À‘e«LèÍmlø~›ú³¢zWY&xàÂüDTÔç(Âb?‰t>ç+7üw³ÓÎݳÝòÅGk­k×V‚ ÏØe™GU …k17Ä¢¥rKVMVÆ®èCbÇ Béú+.4ªVy’˜ g+„¥Åc—­±_±ü’©0»K—hýR{µ—Ášn}˜µWý‹ŸO'O殃© L$‚V] ÍçÐ_÷÷>Ì/]ò³qüÙ—å°honä›­n/g_v2ín¸î]+&s*íäQ U…Ê©QFjêB_8.IÔ®æ`5½‘š!ô¢¶ä¬7µ^O\ÿª(lá¸ID~¡ü fZ+?÷J-^¸ Eª(«$;Í×J$Ût¡ËI+- žý“ìvhqªÄTi¨‚Yõ[¬[EÃõ›ëïÅúTÕI ‘+’ˆ[ú‡çFD\”P^ 8ÖTNiæŸKÂej”˜&Y7$$DL5´ÍÊ3#¶Ì'A;ïpÿªüÅèeêgJº-]äâ<Ó‹Æ(„]ò—Áݸy B÷'øÖ½øèÁÓ¯þpwEL ±E:ÔÎñþ'á«ÏOLжÞY½|÷ÆýûŽœµû[“h”;4©äæA*ãu…¨i«ÍÈ4±/¸®F­”FX… ÉÔ z°bJÄ(»eÔcs”_Áì*KEú+~ýìîÐåaŒÛ÷ÿc341×bK³ÉÎÌðŽ÷ô‡ÿq‚€óq¹z§÷ηn=÷?ù‰‘¿Ò¿$··lý&Ì7f0ò-Úý‡’˜ ©ž'iºU‚Š©tª9 ç'O}¤ùs“»4ŽgEí&÷S$ef©ê%„˜'" `ÆN“õ+3›Z ¥ó H"Š˜ªjbŒÊ8q ØHÄ,1KO Ñ¥ñÕ‚×)`¨ë9–˜X5—¥¼®S¾æš›õ†@&%U#‰‰ˆD E•(.£8R@YÒn’lêmýfÅÉyÍîú,"`,&£‰Ï¨ÛŸ¡†`󹈠ªµZÖë3 :Jzˆ›Éh,ŽD£E¶Tv—’J{ä¼ù+ú³bb‰TÎÉUØf¨ qOõ|öbb³U ƒ]£8)tª5BÁ†8†¶{> ŒŽ#w(ïðh>:|ñ ëýh¢“I0DK)ËÀÄD$U}ª¡"‘Ç(1DvžÔÄ9v‰£dŽÕH\ÕE‰*3§Ú4Äé#‹'$Ó8ùÌ4ƒŸžàæ%?¥»¦8= ˆÖê¡;;IêÊ{¡Œs,M3óä‘;¶"ÚpˆDúÅqìx׃Ñ^Ñ^å0Âù8¤Š’¬íT%F!‚Í,"r–¥¾zé‡Í7ÜZŸ~úexý¿_½ò½•0ÖÁÓrÿÓ¨ÑR¹~ëÐ¥{½uóí“G…Ëië½ö×ÿu0ÿbòÝßêüã'ó²T²Uèm¡wÓã#ïúù±Œ÷Kç ”Wz¸±ãqˆ£a0z“¨¢†‰ ÑX*‚4¤Ÿ£ª™&3P™£Ì4ŒÍ`æ­6¼õVïï>n½ý¿¬LöÂä°~£³=5X.’ Ù:Üþ½ŽÎz7»“ƒðåO†¿ûž?ÙÞ^ÙÊ`^Â|¶êr×µ%[sn…Œ€‰'Ï«ÂÊVŽ+«ÌŒ!bŒ8Ÿáh$/›çKÓûó¼~R76±Ì1gI:8¸$&ešcEPbfBf¨½A| €‰ùµ×x÷¹ ŽH•¶6ýë¯w.o¹ý=< /^”ã1°ÃöÏ:+« ‘b´û÷g©²õŸôM]ÂKêÜ iÔùFó$5ÓÐ9`gr`bb‡Î1ƒs IÏ;"K!ÜyÚ:¾Ð‡¶.(YÊS73ñ‚Ëi¦4Ã¥5RArì @Ç Æ¦8Ë\Y&tìv³þ7ˆDî÷ycÓ‡RbúÚ— ‘¿¬?Í€hQeHP¸lËø­Z"o­A¿ˆøî½2ƒÑIés‚ÈL.íDÔ[©D„€ž(Npº«a£'‘\Ùiåk¯]/Ëöõë,‚Á«Yï[ñÙã糓èsG"`às×ÿìWüεìî›y»í¾ûüßÿ‡Át ÇÇþñãÀÎpbM¦6-ÆB•jo$Vv53ìœË6 ÿ®H\i»›×0ãÖ¼\=> ÁADvgõå˜ ™`~`¨V ´œ{zó[·Cìæ¹]¿‰ã™^ëÊú«ÃíÏŽR8 ŠjÚ¿’ùžå'úƒ´VV²áPº]ŽôÓûÁ»ìW¿šV½õßâ¼DC\p³–rà³%Wç=àR•X@9@Ö^YŸÝÀòk¬ŠÙ0E±ßw¯¿Þº÷n6ÂÁžüÉŸœœÄ<Ã×îúo»-/vä›oBQœ>‡–r¹¦I\ÝÎæ‘%×¶¦ôþKš€uŒHXéç&ï/ªóSHùÙÅpãN®éâK¿m:ëÕE-U>DˆHŠe°³[>{&Ÿ®%,g*bÝŸ õoþn¶¾âØÑþ~¥úœ8ƒ"àÆ%Ë vO=Ý}-{ï^‹Ù~üãÉ‹–êékSOœOœ–z!Ýt¨ˆõÕû„¸((Æ<Çý}‰%lÞãýÏãÎ7cŽ‘ ÑÁ0uÒéäkÑä…|þx xø ¼ñ½Ž#|ü$æmdFSÀD§P¨¢­p8†“)œœØövñâEñðaASsžš àËö&ªÞ]U’Í!n#rºŠ?ŽYmþë4‚€g¦ˆîŒL{*ŽåÉ_Ì 7[·Þæ'_ˆË ËΪoÓ„4‚é¢FH±(`gGŽŽÃ“Ç¥™ÐþžµÚ•úoš ËÙ¥âü<Il.å)øVEU‹1±s‰J©×¯·ßx#ïvðãç;;±ÝhM¯­=~ôÕg@ ŸþmŒ`™àŶüð‡£ýWú-BØÛ þÅOÆ}4õž†£8$Q+mk«LkŠ™˜9 ÏXU£˜S¢˜9S“Úç@’zxS 1º¤ÃÀÀ8„);Qˆ#pÄc €"Š¿rá-–4К>´McÓ‡¶FŒšÖ¯u¡ @#Q“7’œÌíúov«w™€âÌÚ×ðéßV’ÏPD!B÷ßøç+a÷pû£FeYâÉ O§q0(Í(Æ3TJUÁÊqcÙ‡¶Ö" 5‘ Ã’ B9L¾Ä¦ Þóc¸~ZÞÿ¬mtÖofä!ï;Î[xò…ÌŽE´vÇ•PÈêöæµ|zT¶×ަó“/>x»óÉýù` p¸þl­²Ï|,E$‚Ëéà“89,ïï–÷?Ÿ(€0g€ 1æyU²¶d¼<.1ª Šh,Cƒ Ë!˜á`>|¯õøÙœ®´¶ÞÏç£À¬\ÏˉÎåø™H©ÏQEÁëæ[9 qŽ¡@×¶Ï?{üÁ5Nìë¡•ÁÃC€g°v£h*fŽEX†Û0y¢¥ÈÎî¸òÝ‚À­–;8ŒÎYåüü’qIͬ«Žê¸¶t:³»Ñ¬FjI0cZÆœÃÄRÁ<Ç·Þò«+ôèq¹»§2w³áðõÿ9—+—öL½Å\1ÂäZeÄã|N‡qývîøn¤Õ;ùöϧØâd—Á·˜‰‘"‚9@ŽÈŒHh‚ HŒDh©. M€%˜‰ AÝ‚g&€ä )1" ‘Q«®Åú)ÖÜ.\lFŸß÷kî7WÚ M7.òYgÐÈ¡eo÷VÝíË+£Iw¼_n¼™¹¾YAÕ&ÙÞ·wŽTŠÈÄW/ãÆ£Oî?ÍgÎ"v»tõ*øéØÊh×®ñt¢kë®ÓqÃa|ø°øâ‹$}ÞK¾Ú¶jWŸZˆŠ”#;DfCCtŽ£mm¹NNƒ£°zÛo¼ƒˆàÛ¼úg=úÅÿ:œî Ôp¡¶ÖùÖïµO(Œ µ:ýþJw}=ŸL "h·²Î5P€"¢ÃÎWÌâÆŠ[[÷pã:íìjŒxpP‰sŒ4Ø2Õ™ZÈ„ÜFrh̘¸›áµ«“ñ¤ìÂÍï´‹‰wmê_s€pðõllÀÕx™@k“¯|'GáÉNÌÕÐÁlÐ^]m¡Sæ@Þr‹ÝMßÝÂé H:(`hY›Ã%ì”xõzÖïeÎçQGc+ ~òdžˆ=ç=YÎC K,ÍùVVY-ÊÓÙ~ë·Z[[¼ý¼\[ËNÑg–{êõÙ9œÏ5D¤VÇŽçû{Go¼·x’ÌÀw_×ÐA·Å.‚7Öô×ü¼˜ðAÞÏdnÅÀîüvG@»½«ÙÖÆ—OçEI좨YòéM†½ˆˆ *%ÒÂÏ–XM©–•¨**9iæ8G}XµÞµ«¤0%šìŒV <Mé(»¤zì€SLÎ1¡6sà:Ó»ý·”7aئ#sec-{&aæ_ìôÃðIì^qÅÑåÎ÷áøóédu×ÀS‚‚{_ÑÁþhÅoöÞàçOöÚ-·µ• N o! ‹ØJßwÚæ®®¸Àû˜l6ÒŸæZHìŒb$†Ñ»î ¹lö§ˆ’£›×°ÓUzç^¹ýâùáãQÖvHm6?ßbÑ‘P!ÏqüTüÛq R”2¸ü^{ëökƒA~õªÎD@ñ;Yï­òþG_Ž÷ j¨¡¸ú¦/ÆúæìÛßë|õUhevxqeÅ'Â,/u;Š2±c%Ôº‰¼Æì‰ÉbÕ>ß¼³9_»Y³í‡>”¹‘CvL óQ@ ŸS’%cfÌ1ŽìñŸÌ™©œh1—¾Õzó­[££>‘¾þïé­ Ý|ƒ†Ùî×¿ë¡ ªP¾Åô¦ËväŸÿn§×Ï?*Žôùs+ ÚÜpÛÛñe9pß¾¬©Y®x.6W‰ ©šwèˆa2Qç ÝÂVŽ­‰c+ U…ãÊåV7ï>üÇçÏ ðL+™ϤØ×B ƒÝ8:¦k¿íG_êÐfíu7z*ü®;|Pîœlg­ýÙ4²DŽ1š¸Šy\ÙÉVtMB`N æàœÅT¥ÁNMU[sƒ~!žÆÌ†”â fgc˜"šªª¨¤-dQA……¬¶iB–tº—øOuŠ»$^¬÷¨Y¤T™â¦cA»,÷'ß±TŸ2D ûSŸ1¨DC:Þçòy¸õúõþuŸo‡ÿâSÕJ\Î9÷ða¡*fèÕ""'’fSXEÉ¡ïYë*IqŒ±|&² >3ÂfŠ(:> x¼c WÞ÷£ýb¸_:Š ÚÎ3tg4Ö“4Ê|[Å$k;žMÃîäÑF7{ò>‘¯‡ñXÆãí€8G©b§Ï)´7œ'T%+P • f(ó¯ ¼ˆ“1Kˆj6QþfR‚ëi÷¦ŸÄ2FpàL!d¹C>3ˆaË1rÖC`R^lïöçûAmgÕôÑ(Ì|ëªrŽˆ†Œs+g2~¦a$ÿþ?”Ä<JQFUÊ2¿»U•Uí̸,¶©jV Ô›XëBãéí4NÁTá/ÿ2˜Y†Î%Å_ð¾¢7€g„–õ·.O\y|ÿ#5uFZ¤œ¡Í‘¨,e:…Ùs Btž™ùé_—R*q˜Î“\ ª9‰AÀ²æšÀç(’6×*kYÐD²342")# Kwµ¡q"rHT äÜ(&‘çªi@†¢ºPy§tƒ ZbX"(¢.1ã~Ú¦aì!nñq¨¬Ä9‰.›DQ#5P``Ä„Èj Z¯„½8 l¥FñXY5¦’‰ÙLÍâ"ì23ɲ3¢äULl ý;ùæ>†ðâç“0›#\Пd<-!€á0dÃÌÅ’|ŽIÓLËRÖ^˯ýfwð¤È:´r;ßþd¼óàˆ¯ááa̦À#h¯s–g’®Ód/–ÓX †ê=¬®""Æh“‰¦Je`1ÎÝÚÛçgpô Ο !¦S‰†A„`¥Ò\A0ª¿Òr-ˆ@2öFf!X-¶^奥úU¸õÛm›3 ä— ÌäÉßǨ¥Âx™ƒi„Ñ7°RdȈ ê@D€4Lmv`b:E¿¶FÎ32Ûd¢1 !ž‘éi »×âï/v¯c¦°;8×~ É“30dUC”T ¯"`Éš‚xÞ3µã`°rpóÌ*¢s>Gm¡»Vêg$D%dÄĘEÊ+ùïºxÐ)W"iD É_Z°&‘¤PizCƒJÉ|ÊPKTÊ´Ÿ„2ñRm" ¡°sêyOˆäÌ£sœÊ5˜’ãæY³º¸ü´ ¿QÒÐßüïò••l>×NÇÆ{ð æŸ}6«7˜—¦"zïÝâUOï}Ó'íœ?𢘹ƒ”!Xì¦.,ÓÒfšžÌ:ÇPNöÉ¥j?0Ã:7ÃØˆ©¨‰0 †`ªÕÁæ¾ù…¯çÝYÏû¦¾Ì9¶é@wqx©õë+.æü¯š8Ö…ï¼ðõŠf¦ý5Çàb8sáçIv5²uÑe“eÜêoðÉ£ésuiÌ_ÞŸ‹Ž‚W\sõ½Š¾MãgñÓÿsh  À¿Ä«ßmolörÍçAŽÇ’9è÷2ÎC¢Ä%{f00IžÆI Cùå/ã£GÑ1E±…ÉÄÙfb½7x1=º_°cb4»x\ ±SÙú— "°Çù¡|ý£©#6´BÂÆ­Ö­·Zn½k¤Aˆ ít´ÓÁÍMÀm$IbTƒ`<Öo¾)Û‹vv´Ó"¼¨‡ñÕÝû²yÞHÕÅÉ“DTöÎÌBf\8€sNDcTfðÞ©Xb|¼Êxµ,K! ½_¾L½.òhwvcQ ‘®®âÕ«ìŸ ôÙ³BD½w!„Z;UÒÔñg½½~Ê’9«ÈQôÞ7©”µòC­uÐôž%¥¨¤ .ÁHeÀàD ÆP  ÕZ µÎXÕß›†jñ¥&Ô,¹¦nC€²,ë«JM¨‹W¶]–™œ³ù<^¿$Þѳ“ ÉÒá¼"GíÄÛ¬Fª/&…ë-»ŸÙèp—]B’P¿°?†M-F–A"â¦äZÒŽH0R,µ¥Õ_s³Ah­sÖq³rþðÙ§¿ñ~ïévy¸SÀÎ3òŸa¾NYîj‚€l¸ûËùtPþãNùŸL "f`³ŒC€f­OŒ ¼q6Øo‚È™¹p\ŒÙ©‚ °“!F !BµêœQž©Î f$+w= º.©BÖ·Ï<úþ]?룇óV_ì=Æ•k9²iT0'*†ròLgÛTžo€óÞï†Àl/›çɾ8õÉyEŽº]‰&”æ96©”H’þ·3¤5ŠèÔÔ@É€}¿È»7Êñ=Ô}t‘™oßζÅb1Âúºûþ÷ó«W¸Ýq_}YüùŸ‡ÁÐz]üÞ÷òÍ žÏAŽÂphÞ_¼¾½ÌŽýeËã+ÖÆW×4H iÁöùR¯øŠ_g¥ýuÖá4¬f Òƒµk·ñÉt¾ºÐ—õØ«œì œfå‹g–uHÄ^n$ç ÂÄV‚î%EH¤ -~íßtO¾)´€õ·²ç¿Ôð$+ FÌÒÆxæ}ç2š‹hH„ h†ÈعìÊBV:Üéºv›^{Ÿ?³áz¦` ·ŠL‹ÞËêIÒß& Š‚b€Z­Ø¬ujíM¾õ; )}æa{;ª#˜ÒãGZL‰F"BÞŸ1A^²‡:oZS³›úfu.ÚlÒ’hcóïÔLŒÌèx#10P©8G¥S ±dýúkÂHMoÛ¦]eÝÛõt<ëЈ°µ…÷Þu{{úѯf—¿ßR?òÓ‰…öÕRêË€VÓϲ&Í×›ˆz<Ôªªªò²þ õý÷³“CýåvñÞ[Ýßý ëZøü¹þÝßMCÐzôFB+§2yP ¨c,"·0η7û­ÁI•ˆøø‘Ï&Z†à;HlF†fÜæ“¯ÊÙ~øl¢Ïvâl¦ôG2™¤&ˆsXïÎ6JSLÄv÷µ˜hAeï¥ëA`Ö¤ÕÜú:ݽé¾xT"ùýûÝ–·Ã£øé§º»+ˆµË΢?ÁÊQœ„€}¦“@Q.á°(lg[Åìù¶œ”ì6‚k!¢!‘!Úô(Ìöa0–?üÏfwtUÅ9.ËdP%Ìhvf\š0RóÈyé¬Ü¼U)„>­›S»}-ë÷h:µÍ|o/ˆZžs¿Ó™°Ó4=ÈvNnþK|û_ß¼ÿ‡ef[Õ8Ž¡ôÔR v'¶rRz75ëä2fæÌµ®ãìQÖïu§1 0+EUr ™‰Õ¢š9#R †@ìTTPˆ) rj*&DÎê2+%¯ ‚‘‰I-"‘7PÕ¤„kb$‘•’\3ˆªв³k1ª»{éàÒýټÛàpÝÛõÁæ"¦_ýjþÍ£Y»íâL‡_—W¾“õnÐág…¨¢b ½Ö~¶uÐÑTô_èàsu å([Ql+‰èýUòŽOñÿþ6Ÿ´¯\ë{‹R¸åˆÒ#LT¹¾ÚjÒqë[ùå;£í"ë1{:Úž½x¶wóÛY(ãt¢0@wƒóV&A$Æ”«Œ·c9‹3=8^/3³ÙL’_aýZø‰jŒ6ì+µŒ¼Z4µtýª‚ÄH,Œ Ø}ö=üŠV6Ö‘&c%JÂ$S¦?%šïÃõï·!*zòðäãÃÛoÒÉH‡Í=L ?ÉÈ#‚*ƒˆ)Œlº ‚2žDç3"TÈ2œÍ¬¨ŒËb:-¸Ì§ExK(qÃôP¢OèRnm†ÞÛí›~ë2?N­ÜݹKDâ²ãn—bT5ô™c4BŠ·ÒYëµ.æ÷®KI@çò(xiUïÞöáÆÁãOwPœËpøX.½—?*VeýÆÛ›_>žÙ§ Éj¯E*¸TŸ]ùÙ X*5TqìˆÐ\{©°KšX€* &–5— R}êC›Q«ª«À»¤uŽÎ¡óDp¾i 1ªÃžó0R«7…×›Ax 4½$›Y@«åa<–²Dç]÷10¨f-ɰ·vÓ©÷Ûë 8Íx`ÀIDAT¯ùVë_åøÖʼXl‘é…ý "yîÖ/AÎÒëà¥;üè«§?¿?lw³ÚƶÞ'«Ë´@&no8)t~hÝ»¼R´{×/e–å¶².hpiÝ÷^ӃÃ0Vç9•i»_ù ðÝÙô·îæó™~ðAþÅawWŽŽÊgÏ+©Æç*ò Ã•>&·Š¹qF(‰ÏÇd•½0“(¶²Î« ×/k©Gü£½bGf×j¹áìx94mu]Þ÷4x²Uî_u·Ž{“‰7³- Q×®Þ`Üœï?VèNCêÝÊ|ײ±~ûÛY¯—u:xå =~>ýUI”?ø|Fj¦‡uþÕ„‘šAF¢ Fª¤Ö\ÃÈ`2‘Ý‚t:Øí¬¯ÓÓ§¥ªÄ`·înâÉ¥þâë0bg¥ƒâ)»æZñpO÷±ûÜÍŽmPÌó>[ Ý_³Ã8ÆÛü"Fa&S†(fjÄ)6bH†Ô¦ÉDÌ˜Ì D!À¥ &H¶FÑU’r¢I#L!Š1!¢‰"0§(‘ŒÐLÉLš…Y Õ»³\Søo|5UÈš‹’=£1ÃüAïúuþäãâ¯þvJm3‹³÷³š­ý2ų ”î˜d8î˰´ùWìÚfza’ªˆ{1U‘`[œ—s3 ²LצX\5mLÍ·qø8|ü¿*jîgxí;µ ‹ùæ– g¶¶òöfqtx,¥PUÕVeˆÚ-\_§Cµá@vvãñQŒ¢I°Ù™é2EÝ“ç]™~E0ÍLÔªù šôlA"›ìóÉ>˜wtõ5T 4kµ–O[ÁK¦‡ñˎس)±Ü¼Ó¾óÎ¥òi·Ó±Í-÷b?®_²K—iœíkièÐ LPÕTÀ÷g°²ByŽ£‘L&awO´Û­È­KãuÆgðÜÕËf .ÉÊJœ§‚~‰ðÙý˜Ø…LHD1Š%’ªš:ç˜;2ðìAk>* …@I‚Ä2FHB y¦©Ô[JcÏ25Zªj4cgNb•€ÄÈŽI)á6àØ,UÏ@Áx"Š1)¡sUšVàXަª16¶$ž†Rý…‰R!¼ˆ&îo2LB‰1 6«^j%eu¸³¢vÍ´®UªßYÃHé–nbKM/p2eaEÃL¿ˆ×¾Ÿu®óè…ÄÙЖ„Jê¢èZê$…jMq1¹²©1ƽ´(ˆˆDóÄçúÓÔ ÕYd†‚Q$…‚Ô, J¼·î%jmR1Ö|͹Œgóbÿѧ÷Þhgž(ÎööÃÉAæ¿ßŸ;Q“ôÔØûe99,ö"üì—©)dˆ`&y^Ù\5;ÀZ¬—×ugZ†²„ ÓU™90‹Á0Ç’Z™hbA"CT@KL˜¦¾ÜbEŤsÙ¡¢ïa«ô®k_}ù¸=ÒßûÝŸÿC9ÜŸ ÷5{âúW3t   ¨æd¸]̶!ˆüÛ7Y˜FEç½ÛÞÎU±as\šíªí‘šJwç7b.ðFÂö»ˆ* æ½S\àc¸pI®ñFr hƒ}°â…óÕ³[• (‘¡Ì°rx@T$@NÊÚi ªþ`ú€f€õÁ$µT¿-}ä4è_<ƒÐmñždw ‹7Ô·êÍé éKMáÿ—¯¤Ï÷ãŸLSÇÄ×ßwN{ïg!Îy9@øõ_Qa­1òî‹Ô&j©&xQK¼èO$L€¤Âß"A1ë^sw¿sòMŠïæO6>ù,)Kœvµk!%C«†±€ï ±›;ÞÚÊ^»Ûûò« ÇÇåtjgXÀ•u:Ü¥yA¦1åv:¯€ª¢+ X¸‘¼²-*ÐÞâ»ÿc× *ÇÚ½Žq®ßüE€… rÕdFÎ1–kBðm*rÍÛßéø•>J(±,q>‡ƒƒðÿ"š{U·Ÿ*r`‘2H `J‚€©”‡Ä‰š!K*·’°::F— ";O¢ŒBI!‚„0fÚ Oò ŠŒX…ûõvùùBŸóf]蛺H\Ó9ê¼3вÎjen¦•ã™Õ2ç>^Ÿó0RSül5Ò²½S3_=/ìL&JhyÛ—ëamkÆ£o˜|³—–ül—`¤eÙtàŒű$ïñúußïûñž?O–ga9Tc& p”ŒÖΨ–×pˆæžæ{öü¯‹bçG:zÛ«þí{ïäe0uqë¾v+ï~«üòþÃÉ~É-GénŠ´ù~¦ ïßÈÞº×b¢wßÉŽONbDïñ›o‚s¼4‚`€8™óªtõjëÖ-ìéÓ0›—jÙaBa˜ùàJíÐJÛûE ¤âDHïFö­·ïÆî×_ g~uK¯¯ëÆë4i<úÅ;F Јýë™ëCë@~ÿ÷Ûý~ƒÞ0Ì;89±4JÿßýÏš›³â"š€™:3°Ȉ’»®‡ !Jæ)Ë!P¶nî{ˆ…†ÈÌo¿ ÏûSR³+Wü·Þlmlp–Ñ`¨?ýéääÄòÜ~ã;ùÛN†CýéO§EQ)e¿¬<òG.~ {Ã+NeM%Â¥§þ§ý§g©Í,ëÂ7Ÿ03ƒ÷Ä:݋̳–G°æIšR$KçYj2"˜Od " Këvñúuîvø$ǧOϵ«õª’­‡—gª;ÊA1ÐÑÏæ Â@“=¹ü!JyÜwù¬°rÐ`Ï)ÆR¸…äÌÄ[0~Ë>Ò0šÁp(ô# $Ë.h” JÔ‘ìÇ@(Š]ºÄ·oóóçòâ.õ%Ö’¥§¤Ê‹«rºd,‡²T00ç0+‚Ì1»;¶yÑfœŽAJ9>ÑøŒmmF"%Z €ùHŠC˜ å¯þjê|9ë‹ó,s`D¬ ñK'篳>/7Á\ò’ˆŠf†äÍ,Š1°AE1óìÙûhJeIùFì®®Œ·­œ=‹ÊþéÓÛã1šÆ è½[_Ç÷Þõ½¾ÿ‡ŸÏBDL÷{îÚe6çQË҈Λ›:A¥'èy³fnÐTñ;¯JyªAÑàW6 ]DB¨r`cp$H˜HvuÜßh~oM¥l¸ïÚKn‰J™n€B“J¹¤žˆŠÌLÄìtç¨ôÞ%mRÿê/mš›- »WýiÊÔP4 yW{ú$Ʋ$Õ¤GÚ®…NbRò„¨£¾„JiZqóÎíw:£E¾ê:~ÿÑäѧÏþ‡ßÌŽux`p𠺜·³2Ö0Žž‡ù8<Ò³ç%€h»íÍl^ÄÌSŒÐÌCD bTÅLh´¿_äO¦X–1Æ@t:.U/ h”¨1D SMüZ£ÙhÔÑëßn[AÜB×ÉÂLŸ|툺­ðúÛÃ/?>$GptxŲìïÍ~ôÇã?ý3êtZAa6‡‹ÆHjcêsj^m³±I¦Ýe¼úš§áÖÞpå,×µö`ÐÑN7ÀÚŠïÞµÑhçæ‹‚øo¾ÇŸÃK~cËon¸ï~/ÿã?ÍæxxPîìÄ,;m, ÒÆ»ÙÊM/AZ—Èéñ^89QïX½gç¸Ò?^t©)CÒ;#®TÏ–J‘ªþÍ{®wÍ[ âH{×(.¹’oa»+9ËÊ5—]ÇÏ'º#`ˆkyõS~ûN¿—u{ØíÂî®<~Aý—_ÍëqYâùÕ›¯&Q¯x4íEsœ³õ5€¢„,£²ç0F¸vÍݸá²,©vi6{¿ãßZ»µó¹•\¼b…3çòÑûØëðáÞpíý¸y½¥sè]Ïv>š»;˜—+~ÛObcrÄ,h–¨¸ÆEЬò«9HÍ@…Ø"sL2†‰C·x49fì"§úK d\“Èš(“Q~Ýì9Vfxzž'Ü-‰ÚÕwN]žÖ ìžæ·K’eõßMY³†¬äâ."Š@W.‘ó¸óœ*Œƈ.©¢ÕiR=Þ©'@—=ÏŽÄJèu¹ãA[m:Ø—~Ÿ[¹¥Ñ6Ò¤õGÉ—‰Ÿu²6ÇOþ÷¡ªÆ¹mÿ|võÃöÍ7na™wú6œ‰ܹ·_/¾øÕl>/¨…&h†2‡ö5—õÜÖ†ÿÖ;y(p2²ÑÐbDç÷W%KȬÊ|ßÅ£ S0ÅÑ¢‰€sÄl!@žc=ž1I¾ºÏ>ïNLÇúÕ'ìXƒ=üIØ|³uçÍ›zîÿiïJãH®û{¯ªº{NÉ¡†’HQò¡Ýµá¬ïØAÇF'TÀÈ’ü ò-‰c¬w¥ÝõzmÝ¢DR<†œ³¯ªz/j¦9"©Ë1Œ]cûƒ@”¦««ºŽ®ª÷; /-ëÂûUY½#spô`‚…=2#*¬­éèÐùKq’˜4å²ð£‘Œ‡Ðn‡ñyÚ²‹=äü¸]œôŸ÷ó>¯ÈÁ"ˆ²±u×ÔhN4:ˆI,Ÿ~š)Åiê„4ûãá®|ùÚÞmÌ-ƵsǃCLDa³é¯mšî×aXôk§ÏÜÕ˜"sI?Y¾ºü`'·6|U<#jà€"bñÞ3ùï°º#ÅÌ<¢"U¢0ú ‘%< éàp¨€(„+4{ö@rcôHJ¼svRy#9ï´x˜ã«*"È¢¨Ý™cýÅuï…ÞH•LYH m³È‘ZduW;¾Y„õ¾nÀhÌs§5„äù%ôK¼‘¼›òÁG\fÖ9?x(Šè;ß57nÔû[ «+ñßý´ñ‹_¤~\(uªÅÇ>ÀÓÀ³#`5ÏyüÌö#ìÙ±n!øœë=¥#5–ýO¿²QË2™ò,ãɱ1jÞÔ ‹x¤˜og“ýò½}ûÁGyYz …Œ¡yle.^þä¾Lv]û«rr×¹)Õª»†E!JÁxì¬õW.'ã‰XëN7é â¼÷ÄÌÞy Ù„»(ß?{Ÿ,λ¨¡P$éÊ• ?|°䭯ŻÏÜè¨üôÈ'»¦ÑS* 5÷ÊtOœõÿò¯©RÊûFRƘ]K¢9g½‘ª=QåT ìª #EŽù™º–`üâ=;/Îòñ±ÁacÐb˜º85¹o/×^úÍ=8>Jµ&äóm.Ž½Ñ„x0vû{xãoÛÓ§2z”'í ÅêäžÍŽž Ùfï´RÞÆÀ;BðÞûÀž"vNp¾$c€ˆË‚Oo°ä}€Ž"föÖ¢R1|·®ÇÕvTkÏ^Q„OMî@±Ê/±~­®EÎÀ…Ž{ZÎw‚¥3Y‚HMûŠIbS4z)^)“Ñ“Ò[Àå¥×y™{ð4 <Àˆˆú}±ƒO§²y ÷ìÓ]{¦0¼àö÷rßZç¹yUoý¤6x\ ®ÑÑÃ4ŸJ¢ ÞCž{©a#!Šw Þ…À•Ýîåeuù²I3ÈR8 Ëűp€m× =„Üjëwß5wï–qL›1"éFí?þ3uN”ªÚx±ð/öXö–“.]ÿiCJrSX»‚Ÿý&ÓÎ7êH`™KÈsŸ¸„Y€!YüQ­†µD5[˜$Ê{ÌsL35Ø×1"|¹ÿp%9Çcj"ÔZ«™`!Q¿G‡îøÄ ³1”$ÇP«ÉtêËÒÙ#CºëV¯v§÷/&±!ÒÊò )…=>û•ï°ì‹Òtt۱Ǥ‰+x­ˆÄs(%¡"5——V3s]B%Á ˜…”%«‡™‚-zF© J‰H3(%Í–ÐÁ¥‰”+â`êKĈ¬´"£ÑDŠ,¢>³Ð=\t;“x~ç|FøŒ"G˜ƒç(1’Õw5øâH@Ï'cÏž‚ÉHÀ¨Åö3‰¢9JÞÇâ½0;ç"kÞ'y"ñ.8å1fvì¼öNœwèÂl;'LÍ—Ð3‹’ñ~Ùß P*Ô€º\Œµ$’A‘ÞÁpÏ\YX!Ï^Xàdßçc»ûL˜x:õÃÝ~Â++Ö¹ Ð}jÞ9§Ž°µþäòÂ!ºÁ‰ýàV‰ Öáö“<ŠÄ»pŠá;•ÔÇÞ£ó윛)ëVؤ¹ËIHœ¹Ña©@e+"ñõÔ®n)ϰÈÜúÄ>gð ‚¢˜Óa™ ¸Û·Ø˜b<ñEá­…ÁŒï‘ bƒU»,†*Â*zÑqê9]è¹ß ´šÍíííÝݽ,ˬ-u6x|ŠsÒDÀ—(Þk ,À®*•‚ùÜ©,©€<ç‹—²BXèÜÖÑ^€z>¦ò²Dk_ùˆ—JŸÍÁf hDý…Y¨‹ƒWÕëÜíwîLvv`:Xݤú–ÒM˱mÜ£Ôriûò <[þ…ü_XßÇ;°²,{Í÷9N| PW¡ºâ»¶e¦‡¾Ù—¢ã½ÉîÝñ7ÞAç¼LF0<ÕþØ©É/ ËGÛi¬=>.çÏ*Ï?t2IïqQ.—×õ÷¾ÇGGŽ„“%ݺ¦œõ³–%àhðÀÇ._ÑI¬V»j2±ƒL§¢5ìî4“±¼ Ÿ;çz½^žçƒÁ Š2žïçD4 »Ý•QA½i^;ÿ îbaDê®­u––*š^õ[váüwÖc88¡?|ea+ÔÏÍE»87áà˜öêš 0yv/zPSÍîÒškÛ°¡Fšõoa>ËLÀIA`8x/ÞCàúØÂÌþâÆ"© V^Ú.U0)”ä…Mƒâç*[Á¾Œ4Â\Pu–Î^paþ¥& ìÂì÷I!j«|¾Ø, ø‹w¦k!‚wþR¯÷û;w…¬szgg7KÓÃãv»Å|–¬ð: ˜ÿ›Þˆ[sæÇ¯yï<þ´,%Rp||²ýøñ¢ƒóçô"¢<Ï&édi¥ãŸ¿ÌÅ—JçÛG×|Á6<˿˽fóÒ<_ð2R"pZT:}¶lãìDgY|¦cy^*A1óå}x0¦Ó”Gã±h"\ZZj6KN»Ý`¤0ˆDk=Á.à…B„@aõ  á¶°-QJÉœŽ5ãÌ €Ò =ûç¾< otæd‹ˆÍvŒ!ç ® 3öÌÎ~=c8¥‡ gáûÏâè@E4™LÇã‰Èéöõsz‰³ßÚÚêõzÚù¬r6ÿxžÇ„æ@ˆ"Õ8OX^Ùñ´š«ÿh¥üLj'À@Íógf"eŒœ š1F]¯'¸ý讵vÿ@k}éÒìït:K¥*êõ××{KKKÌTˆ(˲€hŒÑÆTÛº°­·ÖŽÇccÌd2ÑZ·Z­f³éœÅÙ*ƒÁúúúòòò\— H©,Ëúý~·Û% »$¢étzpp¸¶Öm¶š8 žíï/w:I’EN_šÍf«ÕF7Z)•¦YRKz—Ö>›c8è›V‘ÕÏ} ˜ùœ¯'^‡vFyžgY–çy¯×‹¢h4·ZÍ éœNÓ(ŠŒÑžùâW!3Éù£££"/®]ÛD„ݽg½KkIœL¦Ópˆ•¦ižçkkkKívÿøx2™lllÖjõÎÊJ6~÷û¥Ed0ü÷ÿü²^¯ol\m4êïpëÛßüæúzï°ß'Ä÷Þûu«ÝÒJGqT¯Õ‡Ã¡6ºV«íííu»Ý(ЦÓéêÊj–gÎ9cÌÑáÑÖÖµo}ë›÷ï?¨Õj¿üß_µÛí4Mdcc£(Š·ßºyxxtçîÝï~çÛûïýú}ˆ¢(I­õGÿfeeùþþgaX*Eιíí'"òÛO—NÓf«¹ÿlÞ}÷/ûý¾Öº,Ë­­kNG)ýðá£Á`H„D4™N777/¯÷‚OügòÃ%eYþ~ŸäÏ|C‡GG<|útg}½7 ®\¹Òh4†ÃáþòûÏö[Íæúúºg欟 ÑYûôÉSïýÝ{÷Aød0tξýÖÛãñ¨Óé,u:îß¼ýäK7n,u–NŽOžîìüøÇ?þá@wî>§¹!o¿u3Žãݽ=f_K’Êm©ÕnonndYf­ÛÝÝk6›µ$ñÎíîîE‘¥cÆ“ñ`0h4Ziž j³Òêúõ-"ÚÞžæY^¯×Ë¢üàÖ‡Y–®÷z0÷ööÖÖÖH©Ããf³iŒét:gå´VY– ³Rj88çVWW÷£Ñ8„@L †£Á`@D£Ñ˜…#@d¢È˜*§3RR‹g€_¤‘þ¦é¸²¼¬µ±¶ gn'Ç'ãñ8K3kÝÃGÛív’$ç#ç‹Ý»V¯¥i–gY£Q_j·‡Ãát:™L&+««ìýÊÊŠÒÚZ···31´ÎÞþõí[·n‘6xïÎ'Á¸ˆÒ4 `cLY–Ãáhm­[ÎÂît–œsEQj­Ò45Æ4ÒZö>ˆ-œB±¿v×ÖÚãÈ{>>>¶Ö®u»i–! ÆQ G*-‚3«Jç]:Í’$[^®hVž92ó<§¹[€þEQTqSªïÞÂýé_¤¿iú"–+œ #bšfOŸ>m4«++õz=`+Îç#³]Zk­µÁßÌZ[ÙÏ @ &D"⬽¶ucgïàý÷ßO’äÿéçÿº#óŠÝ{ÌIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/gparts_erd_main.png0000644000175000017500000010221313634703632020277 00000000000000‰PNG  IHDR¿‹×œSsBITÛáOà IDATxœìÝw\“ÇðoX2Ã'Še©€bꨢqá­UêÄŸƒÒŠ8[+VqT[¬ˆuÖVq¡àBEµ”¥ $„üþxlšÆÂL Ÿ÷˯'—{x|swÏ‹Ï瓌°X,Y]º‰’á/ j m]M¡­ƒÆ¤$« £iE€¶@ΩÈöòÑ)Ù²­@SáaÞVÖU€ÚC['%´uÐødÖ' sˆ„@q5l$Äb±ÂÃÃŒŒŒcccôZ²‚¶ éjð>¡´´´ôôôàààåË—7ôµdm@ÅjЛY,VAA¾¾>‡ÃÑÔÔ¬¨¨~Š0‹PjÌ,BÜY ŸÐÖÕ´uÐø¼OH__ŸˆÔÔÔx<^C_ @VÐÖ4Q˜1 Š ‘(.¯¬(=^÷bôOWOøûéãweeÚzz]¬z¹yO²8¤Ús#7žÜÿa¨äÏÖ%³¯>ID,KµE m]½vŸ˜9~öù`ñ*ªª²®]½A; r«a#!áYou™÷¦¤äë™>©÷ï0UTUK ò/](+)’&’-^—ÅRRRV–uE ¡ÔK[Ççó9ïß¼UóêÁ«¿;´fßO:zúõTG¯iô …¯_Á„AöƒÜ¦,_Û¦c'.‡“rûÖÓû·™ ±ûwÿùë±×/³Þ½)S×Ô25ï1zÆ\»®Dä?zHZJ2“¹+áÓ‘_,Ú´óèŸÎýt #õI%¿ÒÔÜbôô9n#˜lÜòòýÁë®þöke%ßÁuxgKë¿ ¢ Gc»ÚØŸÏÿýçCŽÌxþ”Ïç·ïÜÅuì7ïÉÌM"+¼>O½Ǽ·ýwÏ_÷„¾ÎÎìaÛ÷Q ý–­v_JPVV!¢è¾;¼}£ªšÚOIiû^€œÚsùŽº¦fƳ§¿ìÚ~'îÉBW-^AÕµ9Dw2úÜOÒR’¹åå†mÚŸ0uäÔYD4ÏÍéUzšÝ@ו?DÑï?Þõ¿¯ˆèûÓqí>1[æ1ôù£$óÞöƒ¾ð>º¥´¨¨ï¡~ë‚ãbÿ¾³(/·‡½ãü Û Œ[1W‘Ðl Ú=ç£c#Âó_e›˜u¸É̪'‰k‡Ñ3òCEþw,-*¼væ$µlÛþ«ïö0ÝŪjjVŽÎVŽÎLž'÷nsÊß›÷¶WQQùëñ£Ç‰7Sî$|s8¦[O[³nE¯_å¿&¢ÎÖDÔʤcDðºØˆp‹eÞÛžˆß¾µiáÌYë7ºyM"¢°ÿ}w2šˆŒÚ´½íÒs§Dª´ÃÚßüHD†­Û°X¬¿’†¯_™ñìéŒÿ}#Èó"ùAÊãv&:ºz#&Ïx”p£ðuNâúº#"¦3¼¯ëð†~÷š%ùo¸jAEMMS‡Ý­—ÝŠ]_vKOMIøã|ÞË,£6í$·9·|óëžP"j¡¡ÙÞ¬KÞˬ”»‰L$ôÄw+-%ù‡µËÔ5µÊß½‹=ž–’œžš¢Åfs9œû×.ïY¿byè~"’Ül2žÞ¿ó÷Ó3+›üWÙ=~´iáÌ]¿Ç+)+ÜÈ&0c:óÙS~e%Y;õ¯jÔ|ö×›vž»¶hÓΩ+ׄGihió++¯žú•ˆ¾Üúé(&[HôÙ賃=ÇŸ:ð#ÿryСA‡N|æ=™ˆmù–Ç«È{™u%ö8ÙòÃÅ[?ü™Ð©‡¥ðµr³2NÜGD®Ãwÿ‘ðÃÅ[Ì·¢³‡#r2þdã¼ï¿}÷®‹7÷]K²äjÙ·?ED™ÏSÿ~ú˜ˆ†xúÔ÷»Mž²²Jã´'É’Ûœ¼—Y'öî"¢®6¶?ÆÝÙsqÿ‡cç..PIIRS_þþÝ·‡c"⚘u#¢ôÔ”E›v¸•Ò{À`"ºwí2½ÎΔÐl Šâóù߉Y·ÿ˜÷ÂeD”÷2+û¯ç$®®Ÿw  >|küe¬jñ•NÂ)7ÏŸþ9lÛëìLáĂܱ™S“î2¡ÕámÁ‡· ÒËJŠsÒÿÎúë9ón8ÍRRR&¥~ÃF=N¼)ÈöìÁ=æôþ#ǰ””ˆhÀ(øó¿ñùüÔ¤{­L:2ÙÚtìä4t$1…Œ˜<ãáÍk÷¯]ÎÍL¿~æ$·ï`éЯ¦o4‰õ÷êÞ}%¹ÍQVQfž1y†¦›ˆ”•ULÍ{H_~³n]lzQ»OÌ2ž=QSWï?b4uìÖýÎ勜÷﹎äf³m§ÎÌC“Î];t1'"ãv&‚ u|ù ­ ÌjoÖ•¥¤Ä¯¬Lºq•WÁUVíúûÉã°ÕþDdaï8Øs¼šºzøº%…•BßTÄr6ªU{á mmÁ±ŠJ5oNå?ë§UVŠYHM×ÐHø¡½‹«qû¹™éŽºõÇ9"ô…W³ìá€:âñ*n_ºÈwìÚ=5é.s,¹ÍQRª²=©¬¬dÞ”Š‰Kíž²Š2ijé0ñ M¡ˆSr³©©£ó¡2ÊJÿœÚ¢UPpM ÒÑÓï7lÔÕßNäf¦oY<ÛwùZãöxÜ”»‰Oî&~á· =5…ÉéµÀߢSAnΛÒRá”U?¼Ì÷oߨkju±îÅ„Vl}ƒ‰þÌSe%Å÷®\ÒoÙªSwK‹Åçó¯Ÿ=å8tde%™¥$`fÕ“ÉpõtŒãБD{œˆX,–™•MU¯‚¥¤4|â´ˆàu§î{ÿö KIiÐÞõ÷&@“WÁá¼--afLg<{BDv.®-Û¶çóùÚUU¦A;}p_ïƒÕ5µø••Y/žµ7ëJDZ:l"ÊÍÌ "~eåÍó§kW7Éͦ4%ˆ´Ãµ«@Ch‘ù­ ÎÉø;5éîÍ gn^8ÓB]ƒËåTòxæ½í¿ð[ðI+æ¿èMAöƒÜâbóù•§·ÿ¤ s°hÄ}ãÖcfÌû|òŒØˆð³‡#ß¾Ù¦C§Â¼Üçï·ïÜÅy„»Q›¶ýG~w2úƹS~m++xïß½.͸ÉPß3‡öß¼pfîb±r3Ó‰ÈÍkRë¦^ÅÏñGwl~÷¦Œˆz94lݦ~ß%hÒfè-ü°SËyßn#)ÚœÑÓçüº'ôñí[3>íݶc§¼WÙÝmû.ý~Y÷ûôù£¤ôÔ”ežÃ8ïßg¾H­]ÝZ¶m/¡Ù”¦‘v8ø¨è(²Ò4"!-6û›Ã'~ÿåÈÕßN¤?yüöM™–Û̪§›÷d"j÷‰Ù¢G¾ ù+ùáÛÒ’/f-8ºc‹ðœ!ç£Ä_½uñ\ÞËì¼—ÙEù¯§,_Û¡‹ùùcÓŸ<ÎxöT×ÀÈÚ±¿á£˜üs¿Þ¬¡¥}õ·_ß••Ùþ¬Sw‹ÈD¤ÖBƒÉ0}u‰Y× ?Ê|žJD¦æ=†Œ0tüɯBC[ÇeÌ8fæã`Ïñ ð>@Æb±TTUµuõÛvêì4ôó!c'î‘ÜæLôèÐÅüì‘È¿Ÿ—”(|£¥£«¦®ND•<Þ†¹¾w._l¡¡ÿHµE‹º”|þhÔîµËu ö\¾ýñ„' °?3€0¦iÿ#ä¹­“Chë ñ5>¡Fvï꥽߬éjÓ[CKû¯Ç™{ã}¾\^—0èêo'âÏŸ¾wõôU£0"!1Úv23éÜõéý;ïß¾ÑÒaÛ8}:tÂÔ>ƒ?«K™Ï&Ý8wJC[g¨ï¨i³ª?FÇšôÃèXs…¶_Xc  Å…H—Œç A`ì€Ñäæ A4‰ß,4èÅ%ã»èq?…”˜û) ‰B['%´uÐøÐ'Š ‘(.DB ¸ €âB$Š ‘(.DB ¸d¼žPµ%Ü8¼-øù£$]½qóý]ÇM”Ùü­LíYƒ©“¨©Ãîlaí1{¡•ƒsãW š¹m.DU´uÐ,Éu$ôìÁ½ËÍ ÚÒÝ®oÞˬ_vm— ÉŠ 9‰Ã¢S²ß””$'Æï\¹xaÈ÷öŽ2ª È»&Ñ\ ­ƒfI¾FÇD¿pìþ~¢€µSU5µ6;-þŽˆr³2§y{[›®267+Cp"s®à€ˆÞ••†,˜îmÓi™ç°¼—YLbQ^î*ï‘ã{~òÓ÷›9 r^ø¸{Yu ðq/Èy%\Ÿ˜}»f¹Øùôì³oÍÜ7óy*SޝƒE—+ùi±ÙöƒÜ¦­ <±'´Îo4bWRi.ĶK¼ nD𺩎–“û˜ÇF„\šàØÃ¼í´~Ö6ø¸ù.„IÛ*z˜·½pì ¯ƒÅT'«Ä?/?nT%@[M—|EB"Rnß²é÷©Hâú©^cfÎJ|ÚgÈа&1:%›ùŽ"8 ¢ƒ[7è¸ùØÁmxäÆ@&1jó·]{ÙEÆ'Wp9‚2#CÖwëe•ð¤‹MïÈ@áË%'Ä:wçnÜŸDdÙ×éAüU"ºqî7;7UUi^H{‡Ô¤»µx@Ñš ±íÒÑ[²^<Ûrâ÷Ý$ç¿–\”÷Â¥1{ø{ÆŒfRĶŠD”›™±ûRâ$ÿ€¨ÍALŠØFUúÊ4!r ••ké°ECÏ_·rtVUSs7ñɽD §ÇŸ?=vÞ5uõ¡ã§$ݸÂ$Þ½òÇèésÔÔÕ?Ÿ2S3éú•QSýÔÔÕݧÍNº'\Ȭu[¶m¯ÍÖ]qŒˆ¬œ?DBgO9 )å ÑÒa¿--•23(2As!¶]ºóóôÕA­ZkhëLô\ÔwOægþ?]Jb[E"rŸ1·…ºÆ§£<²Ó^ÔKåš¹˜'$¶k7:%[›­û¦´DGO_8óË#C³Ó^Tòx’‹-)ÌŸåbÇçóù••,ëŸÄ]#"bë r–1‰ºFe%ÅÂ…´j-üÐÒÁyoÐê‚ÜœŒgOlœúKùß–•jêèH™š«ªÚ:á<‚æBl»Tø:׸‰”—k¡®ÁüäU|ÇÛ*‘6[—ˆTTU«mW%C[M‘\DB‚†@d"^·^v÷¯Å9pκj‰ßº`ÛC¸œò‰¶]EŠâóù‚ÿÞzF-CÏ]WSWÎÀÖ7(Ê­ß²UIa¾ Q›­[\˜¯gز¸ iªb`ÜŠm`xx[°‹«²ŠTCcD”œßź—”™ ¹ªª­&h.ĶKzF-s³2Zw0>EIY™Ëᨪ©•ä\ 0±­¢dÂjµÐÖAS$×£c³FmJº~¥‚ËÍÍL]µ˜ˆ8œr¶!—SþsØv‘üÚºzÏÞŸßØf±è£òÆTVR<ßÍ)"þQMOŒ‹=~ýÌÉa P©*1NãÿšäÓ€4‰ÿ2oëš´uÐøäºO¨ùúýÛ7¿;dѧú¯D"¸ÎïÇ9¸I54rN#!}ƒéÎ=¯þöë䥫kz®·µ)±XÎ#Æ4DÅ ‘)îèXÓ‚cak®ÐÖAãSÄ>!"!P\ˆ„@qÉ{$ô(áF€»·M§™Ÿöºpì äÌÒl˜Ü<ÌÛnZ8Sø¡LªMW“hëš%¹Ž„ž=¸·cù"¯ù_E%< Œ:žr'AÖ5ªÒ‹GIuܹVjëšùŠ„D¾èDïþ~¢€µSU5µ6;-þŽˆr³2§y{[›®267+CpâÇ+Ÿ¾++ Y0ÝÛ¦Ó2Ïay/³˜Ä¢¼ÜUÞ#Ç÷üä§ï7 rä¼ ðq÷²êàã^ðϦÍLi1ûvÍr±óéÙ9fß."š3¸oæóT¦_‹ î‡} GLžqâÇPáÊWUÏiý¬l ðq?ò]ˆ„z@3ÖtÛ:€æG¾"!)·oÙôûT$qýT¯13çG%>í3dhX€?“’Íܤ*8 ¢ƒ[7è¸ùØÁmxäÆ@&1jó·]{ÙEÆ'Wp9‚2#CÖwëe•ð¤‹MïÈ@áË%'Ä:wçnÜŸDdÙ×éAüU"ºqî7;7Õ›°ºŽ›pûÒÅ‚ÜÉõ$"ï…Kcö† p÷Œ;-¡ž 8šP[ÐüÈu$TVR¬¥ÃI =ÝÊÑYUMÍmÜÄ'÷%œþôØyKÔÔÕ‡ŽŸ’tã “x÷Ê£§ÏQSWÿ|Ê¿3{’®_5ÕOM]Ý}Úì¤ëqÂ…ÌZ·±eÛöÚlÝuLjÈÊÁùCëpö”Ó°‘‚l-44{ŽÝÿïö‡UÕs€»'ó3ÿŸ/dbë Š£ µuÍŠ¬+@ôߎbÁqtJ¶6[÷Mi‰Žž¾pæ;—/F†f§½¨äñ$[R˜?ËÅŽÏçó++›­–è[ßP³´¸ˆIÔ50*+).Ä UkᇖÎ{ƒVäæd<{bãÔ_ø©“¦9ÒÅcÎ"Éõl¡®ÁüäUp%ÔšŸæÑÖ43r úx=ÌÛ ¯ÄÚ­—ÝýkqÎ#Ü…3‡®Zâ·.Øvà.§|¢mW‘¢ø|¾ !Ð3jzººp¶¾AQþký–­J ó‰ÚlÝâÂ|=ÖÅyÚl] U50nÅ60<¼-ØÎÅUYå?Ýź†F®ÃÏÚ/M=…‰­'4?Í£­hfäztÌcÖ¨ÍAIׯTp¹¹™é¡«‡SÎ60ärÊÛ.’_[WïùÃû‚‡®Ão~÷¦,ïeÖŽºjzõ³wçýûßìä´vê*"œ[^»?ÜÊÑYr­¬œ/8Ö×UÌ&¬îÓçœ9ÁK¨§±õÅÑäÚ:€æD®#¡.6½çoØöÓ÷!íºø¸w±éMD¾Ë×ÏõíboÔFtE ÷ésÖLòô9OX²²¸ ºsÏw˾¶ŸôÕª'woOq衪¦&øF5yéšä„ø ¶]Sî&LY¶Vr­,ú©¶haí(¦»¸uÓî¶}˜c õ!¶ž 8š\[М(î¬e%ÅóÝœ"âÕôĸØã×Ïœ\Ñ•ªv%†X¥‡¶@2¹îj B¾~ÿöÍïÇYô©q —ÃùýØ!7t€¼C[ EŒ„tô ¦;÷¼úÛ¯“—®®é¹ÞÖ¦Äb9Ó¨Gh뤡¸£cM zŒ„at¬¹B[Oû„ˆ„@q5ÕHHdÿB€fIš¶ŽÙ­"@íÈu$$Ø ™ˆ2Ÿ§Îâ xªÖƒîæm7-œ)ü°.5¨#A#üOð¬Ø¶Nt+{¡ÝX ¦äb·ªX9:?ˆ¿Ú¾s"zÕººQ¥ôâQRvÚ‹¶¦ŸÔKiuQÕÐ8ä«OH䋎µcf3d"JºqÅÊÁ™ªè~WV²`º·M§ežÃò^fÑ‚¡ÎÏž2Tp¹ÓúYå¿&¢“gœø1TøôܬŒÀiÞÞÖ¦k§ŒÍÍÊTfZ?뛂|Ü|RÕ…jªÖc^‚”j‡ÃÐXHI¾"!–ýݼί¬äWV&ߺaéЪè>¸uƒ®Ñ›܆Gn $";·[Ï 2ܹ|ÑĬ›žaK"r7áö¥‹¹9‚g×Oõ3s~TâÓ>C††ø Ò½.Ù6ÀÝ3îdtUhbÛ:Abµ#bh¬¤$בžaK}ãÖ/’<”dЪ LjþôØyKÔÔÕ‡ŽŸ’tã Ù rM¸x®´¨p¬…É›’’Ë1¿8 Édn¡¡9Øs|ìþÝ‚ÓCÏ_·rtVUSs7ñɽDAúwOæg~Ϋª. ‡ÐXH©aç ¶ý“¼L–p¯à˜ùºcíèü þŸÏ·rè'¡„’ÂüY.v|>Ÿ_YÉ\Ô¼·ýË¿ÿº~6–E¬Ä?Ïß½òç¬õùGLšþåH96m¾sùbdH`vÚ‹JO¸ØêÌO^·ª HIB[WïÐXH©a#!&ªö?¡„ ƒ–ÎgGŸ?lâ4 %èµ =w]M]]¢¬¬Ò«¿Ë±[m>¸õÛn½í؆‚gu \‡Ÿ=´Ÿyºj‰ßº`ÛC¸œò‰¶]kt!)Õãäh>Ÿ/Ò´²X¬JOIY™yˆÆ @Jr=:FD–}ŸÞ»ýôþ { Ù\‡ÞüîMYÞˬ+>ôôع¸å庎›XóÊiè(‘SܧÏ9s(‚9æpÊÙ†\NùÏaÛ%×Gì…“¶®Þó‡÷E[¶3y|ç–à!+)É{$¤©Ãnß¹KûÎ]4uØLŠØ['&,YY\?ݹg€»eß».÷êïÂÖ7èÕßEGOÿã•[w0ínÛ‡9ö]¾6x®ïl{£6ÕÜÐ!öBõNÂmbîÓ笙ä!’8añÊ ³§Hnàc±+‹Åú¸|ìJX#Ø•@v`m®ÐÖAã“÷>!€†ƒH"!P\´žPÔÅÑë È'ŒŽ€âúÐ'$Ÿk± ÆÐÐÖéa×wzÀ×­L:6èå„ïtY«ƒyŠIÔÔaw¶°ö˜½ÐÊÁ¹áê ¢¬¸èÀ¦¯þ8ÿ¶´¤³¥Í~ ì\\íê7}Ñ)Ù‚P›­kÑ×iêÊõ-Û¶¯ûÒØrHÞû„˜ý–wž»jbÖuë’9iúhÏçè”ì.Þ1yÆÎ•‹%ÜhÌ*@³´Í®¦{kÌïo§NY¾öbôY׈蟦oÇÙ«m;uÞº¸Q›_€Æ¤Ä—±µé†Ð3lé5ÿ«´”GD”›•8ÍÛÛÚtí”±¹YÂçÆìÛ5ËÅΧgç˜}»ˆè]YiÈ‚éÞ6–yË{™%ÈváØA_‹©NV‰^$Vµ–«XZl¶ý ·i«Oì ­Á› @Dµuâ¯_´L¿e+U5µn=m—ïÜGD9¯|ܽ¬:ø¸ä¼úøD‘c‘WÁ^7ÕÑrró؈p&›ØVQ2¶¡×<ÿ¿?¨Û+_òÞ'Ä(Ê}tçfSs "Z?ÕkÌÌùQ‰Oû à/œ-9!>èЉð¸;wãþ$¢ƒ[7è¸ùØÁmxäÆ@A¶Ǚݗ'ùDmbRªêþ‘¬‡½CjÒÝzy È:[XGn |•ž&œ²¾[/û¨„']lzG†Vqê¿DÀ£;¶d½x¶åÄï»ÿH(ÎÍ䩪U”àMII̾]æ½ûÔøU4 {ïXÝ1_z4´´»ÛöY¼%ŒˆBÏ_gžr7ñà–o„3ÏZ·Ñ Uk"ZqŒˆâÏŸÞtüœšºúÐñSæ ùwW÷s[¨k|:Êcך¥u©›–ûmii]J ¢å¡{ú~óÿ&Žá¼ßÇuØÄ%«t ’®_Ùû‡šººû´ÙKF ®¶‘ðRÌÏ¢™”‰þLžªZE±<{´Wb)ñx]mlWï9T× ¯ä"Ûß+è¤É|çòÅÈÀì´•<žÈSÌÿy’ÂüY.v|>Ÿ_Y)<%\›­KD*ªª—P#oËJ5utêR(”ªÚ:=#ãÙ!DT”—{bï®-_Î ŒŠ.-.Ò50""]£²’âj i _ç·3ÉSU«(Ö/É™D”ý×ó s}o_þýÓ‘_Tÿ š ¹ˆ„áŽ47&„®Zâ·.Øvà.§|¢mW 9õŒZ†ž»®¦®.}Mø|¾ô·Ñ%'Äw±î%}á àªmëôŒŒÇ/Z6ÉΜˆ´ÙºÅ…ùz†-‹ ò˜ïoD¤¤¬ÌåpTÕÔJ ò%_KϨenVFë¦"‰·ŠêšZ¼ ®²Š*ñ*¸êšZÂ϶íÔyv`HX€ÿ£kôbšŠ¦1OH‡SÎ60ärÊÛ.9§ƒëðÃۃ߽)Ë{™µcÅ¢jKÖÖÕ{þð¾4ux[Z’xéÂþ kGÏœ'U¥ªöíìÉorËËK ~ ÛÞ©»Y;õ?Î-/ÝnåøaÁŽ6;]‰=ÎyÿþdÄnÉep÷Ü÷íšÂ×9ïÞ”Þ¾‘IÛ*vëi{rßî÷oß¼ûæÄÞ]ÝzÚŠeaïÈÖ7¼yñl}¾f¹Ñô"!ßåkƒçúÎv±7jSÍM^–¬,.ÈŸîÜ3ÀÇݲ¯Ö¹¯ IDATSµ%»OŸ³f’‡ ËºªÊ<ÌÛú¹ØŸŠØ37h‹…½c^ ѱl šh×u®«cúÓfNää¥k’â'ØvM¹›0eÙZ&礯VGmùÆo m«ö$—é½`ik“Ž‹Gòh§Åf3‰b[Åù¶§ÜM˜ÖÏfZ?›§÷nÏß æK¦ûŒ9'÷î¢ÚCÁ¿úzdˆ%« 1˜A(,Ò%%¦ÅÁî%Œ&´•!ÚºA[OÆó„ð•d¨éŽÔ™õ ¡ód}B ¸ €âB$ ¿Dn+‘ÛÛ×å°JR’‹5¦ÙÇa„à®{‘Û҄Ò,Ù_;bKÆ2Ðt!=D²‚Ñ1€Æ&e§Ž”aïÊJCL÷¶é´ÌsXÞË, 9 r^ø¸{Yu ðq/ÈyÅ$ò*¸Áë¦:ZNîcÎ$æfeNóö¶6];elnV†p•è¿+ï‹­§Ø y˜·½pì ¯ƒÅT'«Ä?/Tûº"!y’-eGÑÁ­t ŒÜ|ìà6WEUµFn <¹ÿRøùLõ‘(Yͱm¡¡ÉçWrÞ¿OOM9¼=%ãÙÓ/7‡Ö¨^—Å’A'®ð;†ÊÐü h ?üq‹­o›•0~TAnÎÕÓ1s‚6Ÿ?ràÏ_½~™õîM™º¦–©yÑ3æÚ teNYáõyêý;æ½í¸{þº'ôuv¦Z õòwo™g™›¼>ùÅ¢M;eöªš>DB wšñN¨ÊÊ*$ôêžÜ»Í)oÞÛ^EEå¯Ç'ÞL¹“ðÍá˜n=my^$?H¹“`ÜÎDGW¯•IÇ×Y™Eù¯‰¨³…5µ2éØõlÆ¿ˆ„Ã\WGâóß½)c:wo¡®1ûëMÚlݲ’â·%Ååïß­ôùîMÙÕS¿ GBœ÷ïý·ïv:’_YYɯ<¸ù[fžPHôYÙ¼€æ‘ȩƟ’Ò !ïÊJ‰HUM­u‡NÎ#ÜGϘGD7ÏŸþ9lÛëìL᜹9ÂÛtìä4t$±”””ëfOÌÅH 1ì¿ñ­o œò÷“Ça«ý‰ÈÂÞq°çx5uõðu+J *yÿYÄY×ШQ+  ` ÈFzj sàµÀߢSAnΛÒÒjÏRVýðöýÛ7êšZ X?Å€H@6>éaÅRRâWVØd?È-.ö8Ÿ_YíYí?éÂ,1@߸õ˜óúºkàš4gXc@6Ú}b¶(dG+“Ž%?¼ó˘™ó [µ©ö,磎«©ÃÎ{™zÿsÔö¢¹#«mƱ=‰Û‹ yCŸ(.DB ¸ €âB$Š ‘(.DB ¸p=ÈÙÞE„»è@‘ OvÛø¬¬(ë*4*ô €âB$Š ‘(.DB ¸ €âB$Š ‘(.¬'P‚åv4´uzØõðu+“޵(DxÕ"‘%|˜§˜DMvg kÙ ­œëTo¨ú„j&:%;:%{繫&f]·.™S_ Ò¸xkÄä;W.~”p£î€!¤ª5—õ [zÍÿ*-ååfeNóö¶6];elnV†ð¹1ûvÍr±óéÙ9fß.&…)Pp ™›m?ÈmÚªÀ{Bëçõ€,° j²þå ¨•¢ü×Gwn65· ¢õS½ÆÌœ•ø´Ï¡aþÂْ⃻s7îOªºûG²ö©Iwëû@#Á{9‡yB5Ãôåhhiw·í³xK…ž¿Î<å6nâÁ-ßgžµn£A«ÖD´.âX­¯¨¥Ã~[ZZûƒPðýìÄÂ&w ' ˆ!ÜF ŽÝ9"™ï\¾˜ö¢’ÇyŠ ƒêèmY©¦ŽN݈#èøáóù²­ Ô"!1áŽÈ}^b…®Zâ·.Øvà.§|¢mWiÊçóùÒš$'Äw±î%ef &Â@@S„yBuÅᔳ ¹œòŸÃ¶K“_[WïùÃûÒä|[Z’xéÂþ kGÏœW·:Ö‹Å 722266Ž•U5ú„êÊwùÚ๾Äç{-\*M~÷ésÖLò(ÿNxé Ápw”†¶Ž™¥ÍÜ -öŽ Sw©¤¥¥¥§§ÿôÓOË—/9r¤ kPïXÕyà 14þ'“¹®‚Ïle¢1á7ŸÅbèëës8MMÍŠŠ ÙÕNÞ±XbZT|®ªòñ‡ @&0:ÕÐ××'"555ÞGSš:DB ¸ €âÂŒi€ºÜ?_»Yn¼ îÅ蟮ž:ñ÷ÓÇïÊÊ´õôºXõróžd;pHý×þ ‘H"üG“[«R—wæMIÉ×3}Rïßaª¨ª–ä'^ºPVR„H  ¥ðõ+˜0È~Û”åkÛtìÄåpRnßzzÿ6“Ïçÿþó¡ Gf<ÊçóÛwîâ:v‚›÷d¦ÿi™ÇÐç’Ì{ÛúÂûXè–Ò¢¢¾C†ú­ Ž‹=þkøÎ¢¼ÜöŽó7l70nED+¼>O½Ǽ·½ƒëðÓ÷ä¾25·˜¾úë®6¶D»÷Ÿ¿{ý2ëÝ›2uM-Só£g̵èÊTCp®óˆÑ±áù¯²M̺ÎÜdfÕ“ˆÂVû_üåˆ~ËV»/%(+«QôßÞ¾QUMí§¤4¼­RÃ]ô wäü.úG 7o ~þ(IGWoÜ|×q¥vUÙ¼Ix"Mvg kÙ ­œkWÔ—ª>W¥E…S¬ø••-Û¶ßyªêÇyö}»æ·?‘aë6,+ïe6 ›0uÆÿ¾¡"!uM-Nù{uM­·¥%DÔ¡‹yzjŠ›ý¦¤„ˆú þlyè~ú'ša))·ênÛ'éÆÕ’‚| -í­'/·3Ù¼È/-åQÓOTTTþzüèuv&KIé›Ã1ÝzÚ ÎURVn¡¡ifeó8ñf—kԦݮßã•”•ÿ~úxɨÁD´lÇÞ¾®ÃˆhɨÁ?}ì:%û‡‹·FLž±såâG 7dWA$óÙS~e%Y;õåfeœ>¸ˆ\‡ïþ#ᇋ·ÜFÑÙÃ9 ²•¿÷íᘈø‡&f݈(=5eѦn¥ô0˜ˆî]»,\¦ŠŠJð±Ó‹·ì <ð ‹Åz÷¦ìÌÁýD4ûëM;Ï][´içÔ•ë£4´´ù••WOý*|.ŸÏÿöH̺ýǼ.#¢¼—YÙ='¢Ž]»[öíGDçFQæóÔ¿Ÿ>&¢!ž>õù~4DB’ˆö¸ìþ~¢€µSU5µ6;-þŽˆ r^ø¸{Yu ðq/Èy%8qZ?뛂|Ü|"H<´uÃøžŸ¬ôYø:‡IÌÍÊœæímmºvÊØÜ¬ AÎ Çú:XLu²Jüó“8gpßÌç©DT”—ëë`QÁåJ®¼›m?ÈmÚªÀ{BkôªùP¤|ϫڳìÙƒ{L¨Ôä–’KIiÀ(æw”štO­ƒY·.6½••UÚ}bFDjêêýGŒ&¢ŽÝºçý{.‡óoæ.æÌ`™‰Y7}ãVDô×ã‡DtóüéÙƒúLéÓ}·/?wy÷¦Œˆ rs„ëcÒ¹k‡.æDdÜ΄I)+)fFLžAD÷¯]ÎÍL¿~æ$·ï`éÐOÊw@V Ô@Êí[6ý>IŒ Yß­—}T“.6½#CéÞ —Æì àîw2ZÈãñ"ã“{Ø÷=¸å[&eýT¯13çG%>í3dhX€¿ gnfÆîK‰“ü¢61)–}Ä_%¢ç~³sqÛ…ð±ö©Iwkõr¡Áµ7ëÊRR"¢¤Wy’BÛÊ–µ¬¬³¾¥†¶6s ¬¢LDšZ:L±$Å„b² ¡ ñþY4üï'ÃVû¿Îδ°w\¸ñû¯¾ gëQ%ï?«Škêè0JÊJÿü¡d{Wãöø|þ…c‡®%¢A_xaWZˆ„j ¬¤XK‡-’˜týʨ©~jêêîÓf']¤p÷d~æÿÓQDDLΑ¾~w¯üɤ„ž¿nå謪¦æ6nâ“{‰‚œî3æ¶P×øt”GvÚ &ÅÊÁùC$tö”Ó0i÷ÿÒÒa¿--­ñK…F¡£§ßoØ("ÊÍLß²xvnf:ñ*¸nßADfV=™`âê馓).ö8±X,3+›Ú]4=õÉ_ɉèþµËÅùyDÔ©»ezj ó¬×ÿîžÝzÙ¿©ádž¥¤4|â4":}p_æ³§,%¥A_x×®† ÷Žˆ!<(&8ŽNÉÖfë¾)-ÑÑÓÎ\Z\¤k`DDºF‚‘"j¡®Áüþ®Ïädë–2)w._Œ ÌN{Qùß½,´ÙºD¤¢ª*H·tpÞ´º 7'ãÙ§þR¾–·e¥‚ïñ ‡üÖçdüšt÷æ…37/œi¡®Áår*y<óÞö_ø-0ng2ÔÇ÷Ì¡ý7/œ™;ÄX,&ZróšÔºƒií®ØB]c…׈ÖL™ »…†æ° ¾\‡¥¤Ä¯¬<°)È~[\ìq>¿²¦%ñtÇffX­—ó@ÃÖmjWC€Æ„>!1˜ÙÇÂ3‘™ãn½ìî_‹ɬÍÖ-.Ì'¢â‚<&|‘€ÉYRT ­«Ç¤„®ZâóåŠ#÷^¼ýTò¹Æ­Ø†‡·Û¹¸*«H54FDÉ ñ]¬{I™Ÿ›ýÍá~ë‚{Ø;h³u¹\Ž–»W÷és™ ÓWù­ÝЩ‡ea^náëSó3þ÷ÍÌ5ßÖúЦæ=æ}³µ‚ËURRêla½vßOÆí;´ûÄlQÈŽV&ÿJ~x9æ—13綪q£¡­ã2fs<Øs|­kÕbÁ?êþf¢O zJø¡ãgŸ‹]À¤K7"Ò54²ä&¶Âò‘@ t±é=ö#Û7¾xüPGWoì¼%D4yéš­‹gM°íjfeã¿m·äø|þ¤>æ¦æ˾ÿ‘Iñ]¾6x®/ñù^ —V[K‡~ž8fíøïИ`ðŽ9üqò0o«¡­cfi37h‹…½cÍ_+@Í\ýíDüùÓ÷®^"¢‘¾³¤ï¶„Z«vý³æ­¾Ö?ÃÊŠ wXò½²b]x˜·­cùq±Ç¯Ÿ9)eŸP-`±»zן+é Ö‰þæpL½¹1ðäþ4´uŒò˜Ȭ4->lu!WŸ+Y©¯ú„š .‡óû±Cƒ<¼ªÏ ŽÈWýš²|Í”åk®|€‚ÓM†·µ)±XÎ#ÆTŸ¤ƒ>!€ÆSÇ®lï hèÅ…>!€W_7¹@½CŸ@Ó†?±u>!€„Ú:=ìúNøº•IÇZ"<ãÇü­ƒÛˆ¥ßïû,4ø~ A|óSÇet•  Ô ó'­(ÿuìþÝ[—ÌÙøó麗ùâQRvÚ‹¶¦ŸÔ½(<^EÌÞ]—OF礧UVòu Úv2sülÄP_YWM.`t @’ª¾¶ê¶ôšÿUZÊ#"ÊÍÊœæímmºvÊØÜ¬ áscöíšåbçÓ³s̾]L S à€1bòŒ?†Vu]áU¤§õ³>°)(ÀÇýÈw!‚ ‡¶nßó“^Ÿäæ0)ïÊJCL÷¶é´ÌsXÞË, U€fï@Èׇ¶nÈ|ö´‚ËURV*ÈÍyxóZü…zø×< ¨¢ü×Gwn65· ¢õS½ÆÌœ•ø´Ï¡aþÂْ⃻s7îOúg3Wá†ë¸ ·/]Ä1x/\³7l€»gÜÉhA"Ç‹ŒO¶°wˆÚô5“rpë]£7;¸ Ü(¡JÐì]ý-†ˆ¬£Ÿütÿ¯CwR£¢ü³ñ\Øjó¶3ú÷âñ*˜”è¾ó0oëmmZV\´Ìc¨‡yÛ÷‹¿™åbçÓË컥óß½);÷ÓÙƒúx[›NÿqÛw2zþgý¼¬:.;üéýÛ‚t>ŸáØÁeCÇ÷üÄÛ¦ÓW_¸;)óuÆ Ô Ó3ß­_úÓ”Å[ˆ(ôüu+GgU55·qŸÜKÎÒ×ïÞµËLJüùÓcç-QSW:~JÒ+µ¨4ªjjDTV\”žú„[^®®©eaï(ØawÄäDTø:'ñ LʵÓ'‰¨¯ëpm]=&%-%ù‡µËÞ–••¿{{|•÷¨ðu+Þ–•p9œû×.ïY¿Børi)É¡K””•+++Ÿ=¸8m¼ ³|ÿ†µ?¬YöüQ’Žž¾®á_ÉÃׯÜ´ºQÞ†*!ƒ w„G²CTLwÎÁÛO¶î`JDw._\4bÀX o›Nœ÷ï…Ë1hÕZÊ+Ž˜4ýRÌÏe%Å’³µP×`~ò*¸‚D]#"bë–1)%…ù³\ì<{´Ÿdoþæ¿eJ_%h_®8rïÅÁÛO¥,ÿãÞ`]C#×ágíg*)+s9"*)ȯ¶´âÂ|"*)*ÐÑÓgRôŒZºúKrftJö/³$ž Íœë¸ ›¢ÏôõëbÓ[YY9óÙÓØˆð¯Æ¸¾þ0ªÅt Ý¿v973ýú™“Ddܾƒ¥C?A ̺u±é­¬¬Òî3"RSWï?b4uìÖˆ8ïß3íäs×ÎÖDdåè¬gdLD=~HDÏÜãWVQÿ‘cXJJ,%%f„ŽÏç§&Ýkœ·B,DBuÅᔳ ¹œòŸÃ¶K“_[WïùÃû§»OŸsæPsܦc§+±Ç9ïߟŒ¨~ÈìTD8·¼üTäž^ý]˜×ᇷ¿{S–÷2kÇŠER¾±X,Vxx¸‘‘‘±±qlll]ŠYéÔÃÒwźࣧÞNõšïOD¥E…·/]džµwq5nßÏç_8vèÚÙX"ô…³Ý=CC[›9PVQ&"M-–’‘àKз;&•<Þ‡ƒJ^Ý_ZÝ!¨+ßåkƒçúÎv±7j#Õú(îÓ笙äññ]i­;˜v·íÃOújuÔ–oüÚ¶jßAš2'õ1tóÆDÿUÌà KVäOwîàãnÙ×Iê—"^ZZZzzzppðòåËëXTåQÂwo›N3?íuáØAYWçßAaá¡aæx’½ù:ßqâ¯Ê¶† ½Ö,‹‹=^”—KDJJJ*jjLºŠª*sÀRR>q>¸/óÙS–’Ò /¼k}¹¿Ÿ¦¤¥$уW™‹vênIDfV=™èêêé>ŸÏçóãb‹Å2³²©Ë ¬#–Ìçlˆ`þ«4þ'“¹®‚¯€ÇüÍ~óY,VAA¾¾>‡ÃÑÔÔ¬¨¨]íš$i>WÏÜÛ¼ÈonЖîv}ó^fý²kû‚àï«‚’|¼ htJö›’’äÄø¿Xò½…½c] 'YüOojÔ^Íssz•žFDª-ZTò*™Y†ÚlÝg¯² ™<ïÊJg°}÷¦Œˆz:( üC8¾ÌcèóGI‚Õ·.™}íôI=Ö{¯Ý'¢ƒ[¾ùuO(ýtÿ/Õ-˜¥Õ5µxÜV&_¦ýÅãU´ÐÐÜû‡qûDôã×gí'"ãv&Äbåf¦ÑgÞ“ýÖSÍWV¬¯ú„ úúúD¤¦¦ÆãÉEWv3 Ò#½ûû‰þÖNýUÕÔÚtìÄ„A9¯|ܽ¬:ø¸üs« Ø5¥<ÌÛ2kJ­ô)˜ù!v™+ó¶Žôu°˜êd•øç‡…æ î›ù<•ˆŠòr},*¸\’H‹Í¶ä6mUà‰=¡’s‚œ˜°de¿á£˜;<øüJý–­œ†úæÈIADDÚ:.cÆ1ǃ=Ç×år¦æ=æm©àrYJ¬ÎÖk÷ýdüOßöôÕA~k7têaY˜—[ø:ÇԼnjÿ}3sÍ·u¹\Ý¡Oäú„dHlŸà¡ð1HIìçJ¤¯eª£å÷g®&¼3¶ùÏ1lÝÎ{ÁW‡¿ÛX˜›Ã,ÙàaÞvÖú»×.Ÿµ~ã¯á;w]¼É$ºOŸë½à«£;7å½f©ynN³×‡˜Ûö94*áâ9fÑó¶_ø-ðœûåµßbböíúî·ËDºjñ'ÖÃ&L=shÿó‡Ió7l«ªžÂK‹  uŽˆTëw}BuÑíÕù£Q»×.×54Úsù¶²Šj=–Ü@Ð'ÐL”•ké°E“®_aVŠrŸ6;ézœ ]òšRw¯|X0³ªe®ÜgÌm¡®ñé(ì´LŠ•ƒ33éçÆÙSNÃFJYg-öÛÒÒ¿TKW;±y‘߯‰h¤ï¬&Õ#ì;ÐHÄn¢’­ÍÖ}SZ"Ò'TZ\Ĭ¥k`$¼Ð”ä5¥J‹ ™”;—/F†f§½¨ü6[—ˆTTUé–Î{ƒVäæd<{bãÔ_Ê×ò¶¬TSGGÊÌ çž?Lºq¶ÎPßQÓfɺ: ‘H"ÜóŒŒ:ŒeˆŒ:uëewÿZœówáÌÚlÝâÂ|=ÖÅyLø"“³¤¨@°(pèª%~ë‚márÊ'Úv•p®q+¶áámÁv.®Òw$'Äw±î%efsS–¯™²|¬k!3hlUíê ËcÖ¨ÍAIׯTp¹¹™é¡«‘µSf¥¨ØýáVŽÎ’K¬)Õ³ß&¥FË\Y98_:q¬¯ëpijû¶´$ñÒ…ýÖŽž9Ošür}B5À1š:ìÎÖ³Z9Tó÷I¬ZOr½á(%»¾ª$BxE5yÖlú¨ºØôž¿aÛ‘í_<~¨£«7vÞ"š¼tÍÖų&Øv5³²ñßVÍ›|>RsSs‹eßÿȤ0Ë\Ÿïµpiµ°tè÷çš´ƒ IDAT‰cÖŽÿ ¯!DÿíÍÒÐÖ1³´™´¥.·ÐÈÜ rGžï«ßõTj§–xi*šDóÕ÷$Š|$j!.öøõ3'W„EÔS¤‚{Çê÷ºRý}„Ð' ‰Ø¿1Ìz*•<Þ‰=¡öŽïÊJw¬üòNܺ˜/Ûñ£Q›vD4×Õq害nÏžÏzþ:ýw’¬ 4^7jó7—c~áñ*ÆÎ]2Ò׈Ė)H•êøªåÿSSéµj¸ÎïÇ òð’uE ÆšÖW¹…yBµÔÃÞ!5é.ܺA×ÀèÀÍÇnÃ#72Ïöì7àÞÕËDtïÊ%›¦nˆÝÉõèŽ-Y/žm9ñûî?Šó_3‰bË”¾JÒó¶6%ËyÄYW@6Ð'PK‚õTâÏŸÞtüœšºúÐñSæ q`žµé7àüѨ‘¾~w¯^:~Š„r.Åüx Ú Uk"šèÀ$Š-Sú*B©ã‰‚°4i þ»«¯.1DBbTµî‹pÁz*%…ù³\ìø|>¿²R0jcíè¼cÅ¢²’â§÷n/ý.\µ _ç·3I[fµ°Ä @M!£ªu_„ ÖSÑ3jzººð³Ú:»uÿe×vSóÚ’¢=£–¹YÌ–@‰—Y-,ñPS˜'Pc"ë©8¸?¼=øÝ›²¼—Y;V,dëÙoÀÙCû“„ª2ÀÝsß·k _ç¼{SvxûF&±ª2¥¬H ‘@Íx˜·õs±?±G°žÊ„%+‹ ò§;÷ ðq·ìë$ÈÙÓy —Ãé) y˜·eÆÚDä½`ik“Ž‹Gòh§Åþ°ù”Ø2Åž.¶JÐäuò£c¤ªuª´ÙºoJKtôô…3—é‘®QYI± ½…ºó“WÁ$29Ùú†¥E…LÊË#C³Ó^TòxÂÅj³u‰HEUUnéà¼7huAnNƳ'6Ný…3˜4ýË‘.sI.óã*ÕnA,¨_Ûüçšté¶5æwm]ýÉNüÊŒ‡6ÁÑ"A’`ŸÄ+ËdëÆ¡O ‘0_™? ÂÇÝzÙÝ¿'’Y›­[\˜ODÅyLø"“³¤¨@[WI ]µÄçËGî½8xû©äs Œ[± o ¶sqUVQ~J×ÐÈÁuøÙCûkZ¦žQËC·SIÎŒNÉþåq–äÌP_DƧÄ_¿h™~ËVªjjÝzÚ.ß¹ˆæ î›ù<•ˆŠòr},*¸\æÄiý¬l ðq?ò]ˆ „C[7ŒïùÉ ¯Ïƒ¤9¯|ܽ¬:ø¸õJÖ³Oâ´U'ö„Ö®„ú…H@Æî^V|Ü „v­kÄä'~ NÉÍÊœæímmºvÊØÜ¬ Aµ?¾ú»²ÒÓ½m:-ó–÷2«.oKµ 4C-¬#7¾JON´ìëô þ*Ý8÷›‹›Šê‡MX½.Ù6ÀÝ3îd´ 3Ç‹ŒO¶°wˆÚô5“²¾[/û¨„']lzG†J®€ë¸ ·/]DQD´~ª×˜™ó£Ÿö24,À_þñÕnÝ k`tàæc·á‘«¹P!h†–‡î­äñþ7qÌ”>ÝC–çç‘•ƒó‡Hèì)§a#™¸{2?ó…zzFMõSSWéëwïÚe&%éú&Ñ}Úì¤ëq’+ÐBCs°çøØýÿnOzþº•£³ªššÛ¸‰Oî%J¸züùÓcç-QSW:~JÒ+u{'ª•š0áA1ÁqtJ¶ž‘ñìÀ"*ÊË=±w×–/gFE[:8ï Z]›“ñì‰Ó¿›°¶P×`~òþßÞÇÕœýß(­·Uˆ’%.Q‘¨4c­¯Aâ²oÙ²Ë.c ‰0cÊÈÒ¢[CÂØ'Ë—L!†Ên¤Œ’´–{ïïùüîÔç^íݺ¯ç£‡ÇçžÏùœsn}ÜÞs>籉ÚzDÄ×ÕÏËþÀ¤äf`µõ òr²¿Ú¶AãÝ8÷qõ˜Ï¼¼såRˆïú´—ÏEB¡d¶ÒµçdeÎèÓM,‹E"f“µêƒH “Üæs iÃÑó—Žï& "=Ã&|=ýˆ>Ýú86h¨,»äì¬LýÆ9Þkéè2)š|m&1ûý;M¾¶df' •4LÔÖ7°ux6<ˆyé¿ÒsúZëÞý‹ ÆY·“QµŽAcÿs7TTUe·°J`t @ñx¼ÀÀ@CCÃèèèò^¾i愤ø[E9YïìlÕÁœIïlësâHǯoÂz*8°¨ àTÈÞ.ßôaR,ì¿a£ƒ;Û9HfnÜÜ8éÎ¥ qq÷ø-<˜9.,,àëé Ø)»j[Ç;}ò?æ½{“ºkùü¯6µ2 È©—/_¾zõÊÇÇgÙ²eå½¶ÿˆ±¡[½Çuk7ËÑîÕãä…~Lz'ÛžÊYØ}#ûrÆøî‚‡·nŽ[´’y9aÉêĸرÖí’ïÆM\ºF2çØ…+6ÏœXzÝ ¦&¦¬»3Ç“–­ñ™5ifƒf_Y^h¬çŠì÷™îV^c\:õ°/KS+Œ'‹«µ€òb†„qg‚ ¸I@ðx¼÷ïßëêꪫ«Kž¢Šn§z5ú׿\\Uí¬-LÔUùÏô È)]]]"RQQþ{Šq…^<nëôõ¡1ÅH@QŒ²0%ÏaаÚnˆÁ³cŠ¢bjõú„@q!G’sñ|@õA$ÜJ?_ÿ`žÀÕ½±CMb‚u-~s ×™ó:Û:|õ’Ò*<¯¨DÅ”S%Mªrˆ„ê§Èä´99‰ñ±?­X8Ï÷Gs»š¬š¸6©Å&IƒÑ1€Ë=ÎfsŽdiðù6}¦¬\b¯?åçåúÎueÙjéðïÞ½IeòÌr´KyúˆˆRž>šídÏ–Æ|I–&,. öY;Ù®Ó„î‚èà@&‘³LJ4©Ö!¨ç:ÚØ>¹—ˆÂ¶oÖÖ3½•dë40dËzæ¬UÏ^ ׯQµËž½˜ÄÈä´ÒCc‡wù¥>êwââžËqÙ™L"g™eoR­C$PÏihñ?åæQìù3#f{ª¨ª=ñþÍkÌYËž½®ÇÑÝë1VÿDBœb¢Žº¯òÖkÒTMSkÜ"/&‘³Ì²7©Öaž@&9€Å—èÎù”—«®¥ED9Y™3út‹Åb‘ˆnaç°kùü¼œìÇ ·—ü(£®¬ŒtÃæÆ%9Ëü*¶Iµ‘@Æ=¥§'³ãbÍ,º‘ŽAcÿs7TTU%ϪijµlßáØî¦‚Žjš²¢ƒÆé©)MMLK$–.ó«Ø&Õ:ŒŽÔ[Ÿrsâc.m^3tÚl"²u±Ó'ÿcÞ»7©»–Ïg³Yõìu6<ÈRæÐõr~`Óꬌ·ùó"vna¥•YÆ&Õ:DBõ“«Àhz›SÁ{gyû1Ï«õ\‘ý>ÓÝÁÊkŒK§ölN+‡ÞE……’“„ØÇ$Ÿ 5wISã– ûNïÝMƒÏg9Ë伜³IµŽ'ía<€Ú 3ãÎp“@5©+·ÓNßN• °*ÿÃB$r§®|A-ªC7I}Z³¸’êÐÏKþ›ŠûŠUùFÇ@qáÙ1€j‡QŒÚnB}#ÿ½Vu"!€Êb‡*ðû©ŒðùÑ1€Ê’±pÂw ä"!P\ˆ„@q!Å…H"!P\ˆ„Ër·Á®#¯1.µÝ¹€õ„*‹]§ªöjØî9ógN2*7j¤©­Ó¼u[»ÿ îç:º¡²r% —Uþ¨0DB•U}¿ÈÅbqáçÏï?ÿýþíßÞ¼~ñHøê‡´tt+S¦wØq±HÄSªÍ1„> ?0: ¿ö^¹s0.yÓ/'»~Û—ˆž'þé¿r!{örä¡e#ޱj3ʲÕr·Á±çO3éëV¸ Œ&Ùš ‹‹˜”è =®£æÆ™¿Y5nØ(ËVk&g˹z2ÒkŒËØ®f#ÍM<úÛFíùjõ"!¨«xuA%ßcCu-~û.Ý–ï61QÜåóïÞ¤Q°ÏZ/Ïgîµ6ïܶ“å“{w¶Î›vþðA"r1–ˆr?dݽÔs%:’ˆ¬zë7mV¢Š0¿?,›|'N,·hkö1çCòÝx攌** ¶eR±·u"!€: Aƒ†]{õeŽ_>JÌH{}*t^°Ì;ü„wø‰ÿŒš@Dá~›„ÂâV;µîØ™ˆ®œŒ$¢×Ïž¼H|@ÿDH’Þ½I=±7µ³´ÞwõÎö¨KA7Œ˜µˆdWQSï ÚažÔ=uh–I5u3<¹W,QÄŸˆ>lz^NöÛWµjÓäØÀµËã?ŸŸ—{%êéZ÷é/­œA¦ªkñ‰¨Aƒ†¦‚Že©¢¼m®C?5P(ˆ„ê¡°øvÌ%æ¸e»OîßeŽí¿Ò¤…±dN5MM"úvð°ŸuŸóož;}íÔq"êóß‘ HýÌWR’±I« ~@$ ¿Š ?忤<}|l÷Δ§ˆ¨[ÇÆF-ˆˆ§¤$‰øºzãy1™ór²®Åè6nBDjšZöß ùýøáˆ[²2Þòx¼þÃÇ”.ßÌ¢ SΙ°]{õSU׋D©ÏŸ¶hÛŽ=%­ €ú‘€üšÖ««äËV;ÍÞ´ƒˆµÖÖ3°°û¦çÀ!쵂®6-Ú˜½~ö„ˆúàèbŒ[äeb&8ûKÈ_’^&'ê7m&èÒ­ŒUÔ!P\ˆ„@q!Å…H"!P\ˆ„@q!¨ð¤:@Å`=!€ZÆ1êZü6æ®3çu¶u¨@!^²¨DÅ”S%M¨ Ô¾Èä´99‰ñ±?­X8Ï÷Gs»š¬šˆ\F%b©Zl@MÂè@MãÉÒàómú:MY¹þÄ^"ÊÏËõë>ʲÕÒáß½{“Êä™åh—òô¥<}4ÛÉž-ù’,MX\ì³v²]§ ÝÑÁL"g™2”h@½„H@Žt´±}rÿ.…m߬­gz+ÉÖi`È–õÌY«ž½®_!¢„k1–={1‰‘Éi¥‡ÆïòK}þÔïÄÅ=—ã²33˜DÎ2ËÞ$€z ‘€ÑÐâÊÍ%¢ØógFÌöTQU0zâý›×˜³–={%\!¢»×c¬þ‰„8ÅDu_å­×¤©š¦Ö¸E^L"g™eo@½„yB5Dr‹=.Ñó)/W]K‹ˆr²2gôé&‹Å"ÇcÎZØ9ìZ>?/'ûqÂí%?ʨ++#ݰ¹q‰DÎ2¿Šm@½„H †°AOééɬĸX3‹.D¤cÐØÿÜ UUɳjšZ-Ûw8¶{§© £š¦¬èDÇ qzjJSÓ‰¥Ëü*¶IõFÇä§ܜø˜ A›× 6›ˆlFìôÉÿ˜÷îMê®åóÙlV={ ²”94FD½\†Ø´:+ãmþǼˆ[˜Die–±Iõ"!€Úç*0šÞÇæTðÞYÞ~Ìóêc=Wd¿Ïtw°òãÒ©‡=›ÓÊ¡wQa¡ä$!öÁ1É'ÈFÍ]ÒÔ¸åBç¾Ó{wÓàó™DÎ29/çl@½Ä‹ÅµÝ€a¦/à΄ú¹Ÿ+¼ìaýÀXøO ò }B ¸ €âB$Š ‘(.DB ¸ Ôœ»ºÀW!¨eÌB>ãmk'ü3özÅ ©ðƒú®£­ó¦I¾¬X9u"!€Ú™œöó¥?M˜úÓŠ…ãnÖpíÏÞO{ù¼†+ˆ„jg¿‹ŸoÓ×iÊÊõ'öúQ~^®ï\÷Q–­–ÿîÝ›T&Ï,G»”§ˆ(åé£ÙNÿZ$ºD™Ââ¢`Ÿµ“í:Mè.ˆþ²W+g™D4hÂÔûü%/OOMY?eÔ( Ó5G¤§¦°MéiºÕÛkŒË/?øÊ. ®@$ G:ÚØ>¹—ˆÂ¶oÖÖ3½•dë40dËzæ¬UÏ^ ׯQµvë±Èä´ÒCc‡wù¥>êwââžËqÙ™L"g™Dä8rìí˜KïÓß²)ë&» ›6ç`üãîýx-bÓGÍ[µ? —Ëð«'#e— PW #ZüO¹¹D{þ̈ٞ*ªªFO¼ósÖ²g¯„ë1Dt÷zŒ•ÌMXc¢Žº¯òÖkÒTMSkÜ"/&‘³L"j¤¦Þoøèè =lŠÿùí”UTœFŽ{”Ϧ÷rÎü›ùöoÙeÔ k»Š¢Äþ¦ÌA‰îœOy¹êZZD”“•9£O7±X,‰˜ÍˈÈÂÎa×òùy9Ùn/ù!PF]Yé†ÍK$r–É4Þ}sW/Ôß¹r)Äw}ÚËç"¡P2[#U5æ_aqÑW˨ |qvʬ&lÐã*0’ö¨Wb\¬™E"Ò1hìªªäY5M­–í;Û½ÓTÐQMSKF]:ÓSSšš˜–H,]&C[ßÀÖqàÙð æ¥ÿJÏék}¬{÷/*,gÝNvEÒʨ0: >åæÄÇ\Ú¼fè´ÙDdë80b§OþǼwoRw-ŸÏf³êÙëlx¥Ì¡1"êå2üÀ¦ÕYoó?æEìÜÂ$J+“áâîñ[x0s\XXÀ×Ó/*,8°SvE²Ëèø— /ÊR?`-™Úâ*0RÓÔjÛÉr–·Ÿ¹õ\±gírw+-Qó–°9­zÚµMr’ûSc˜{xÔÜ%¡¾ë:÷ …Ãÿó’V&£©‰iëî7Ï"¢IËÖøÌšDb±[©l%È.@þñÐ ò†¥ªù;“©‘at¬Já¾"ÜW ßÐ'PíÐÙ ·0Oú„ª†„äú„@q!Å…H"!¹°Üm°«ÀÈkŒKm7@±`Æ4@9l÷œù¿3'™c§ª®Ñ¼u[Ç‘ãúScmÙ²þdÐϤðKÔT DBÑHM]X\”ÿ1ïéŸ OÿLÐÒÑíáø]e ô;.‰xJÕÞM+,.jÐP¹ºk¨+ TÄÏ—ÿàëê]:öKÀªED”tç6ºyèܡД'Db‘©À|¨»‡­Ó æÔ+—Žì|õ$¹°à³¦¶NóÖmGx,`6Z5nØ“{w]m6FDÉȹhhÿ—ɉLiÌb}ß:ÿwžï®‹GÃ/KyöX,·hcæ8b¬Ó¨ ÌêÆËÝ3%÷r~|¯FÚëc‰¯kü § Tœ¦¶sÐ쟿ƒ}ÖFòxdfQs "jbÜ2hóšÓ¡ûˆH¿i3÷"ñAàº)OOý~#[æóÄ?“ïÄ67Öú§Í@ˆ„*fÙˆ"aqæßo”4è5d83O(#íõ©Ð}D4zÁ2×óˆ(píòs‡BÃý6õ>úmÊ«â¢""Z´sO‹6fDTTP›ý¡tá2r.ØæÏÎòR¢ð²ç”$ ¿ˆ„¥ÏjëTð­Ôkˆ„*¨‰qK [WŽ"Gl÷Yñsˆ™Ež’’X$âëê[äÅdËËÉN¸£Û¸IÁç|7zþR&ýà6ïû%Ä—.YvÎÊ_þÛ~þôQU]£mg+'‹¯Ÿ‰²àLDW£%"×¶³eu~êDB×¾K7Kûoïݸsáy⟭;v £c ¸Ð'rJ>W|f—ÛQÓÔêØ­‡»×†&Æ-+PˆäªE%–ðaN1‰êZü6æ®3çu¶u¨T»@ ô ”OdrZdrÚOç®·m·ÝÓ£ª ”<`Ó¾ôÇ  SZ±ðaÜÍÊW¥!¹#®%œ‘¶æ²Ž~c·9‹_&?$¢ôÔ”õSF²0]3qDzjŠäµQvÏèÓmŒU›¨»™¦@ö@6 >ߦ¯Ó”•ëOìõ¯Àw䤫í"!€ ù™qø§m¦s"Z7ÙmØ´9ãwï? Àk‘d¶Ä¸XïðWïܽú;Iïþ‘­£í“ûw«ú@ Á/{9‡yBåÃôå¨ihv°î¾Ð/€ˆüÏß`N9æ·Q2óŒµ[ôš4%¢µÁG*\£†ÿSnnÅ[ r@Á÷³ã„Mî@N à ùͳÝ9%2ß¹r)Äw}ÚËç"¡°Ä)& ª¤Oy¹êZZ•/ªÛñƒeêDBØp§Äs^œüWzN_ëcÝ»QaÁ8ëve)_,—}Ð$1.ÖÌ¢K3C­` „ÔE˜'PY……|=ý¢Â‚£;Ë’_S[çÙƒ{eÉù)7'>æBÐæ5C§Í®\+ŽÇãFGG×V3@àfƒZ>!€Êš´lϬI$»Í[R–ü.î«Ç»|Η\:ˆ=ìŽRÓÔjÛÉr–·Ÿ¹]õ´½L^¾|ùêÕ«C‡-[¶ÌÙÙ¹[õn6¨y<Œj0˜¡ ŸÙÊDc’ <ïýû÷ººº………êêêÅÅŵ×:yÇãq|¢â¾’7È ŒŽÀWèêê‘ŠŠŠ°Ô”p€ª…› j"!P\ˆ„ê¹ånƒ]F^c\j»!ò3¦*‹}~ž9¨ðüËíž3ÿwæ$ûR¹Q£f&­¹¸¸Ïj¨¬\ùv@iˆ„@É_êxÀBš*ÿÎ4RS‹E…Ÿ?¿z’±39åéãÛêÿÞs¸Ù V ¨9eY§€ˆ~¾ü_W/=5Åkô÷éo¯Ÿ‰òðÞvþ—ÐßÉx“šÿ1OU]ÃTÐqèÔYÝz;²W]=yîPèËäÄ¢‚ýfFÇNvž<£DÉùŸ6Nÿ0¶Îª½áÉ·ÿQfQAAÏÚë§‹Db[Çm:YìÛàED›G·³´fò\ŽÔÝÃÖiP|“ª"!€r`×þQÓÔêØ­‡»×†&Æ-å¤I É5ŠÔµømÌ-\gÎëlëP®2±V²œhР!Iü,%Ü.,ø,èjÓ°aÃI“âo%߉ÛÕÞÊšˆÂü6ßëODÔÔ[´5{÷&5ùn|‰Hˆ ƒt7Y}à3AÔþÝ2Ê ø~ñÕ“‘DdÐÌèÞÿbnž;U¢…Á>k£ƒy<ž « %Ýþcë¼i3Ömqr_Æ÷(ç7º¦"!€òaB™ÑA{¶{zl9zFÚSº·)29ícNNb|ìO+Îóý±v×f„òšåhGbqþÇ<æ¥Ã@—Fªj37lÕäkçådÊÉ.øœ¿ÂÍ9ÿcÞõSÇÛ[Y¿{“zbÿn"jgiýý¾pu-¾PXœòä±d™Ÿó™0Ȱ¹ñš ÃMML‰Hv™×¢%"ëÞýW‹Ä¢5G$Åßb ÌH{}*t^°ÌuÆ<" \»üÜ¡Ðp¿Me„j"!Y¤géè7v›³øTH{"JOMùùû%‰ñ±í»ØÌ޴ݰ¹1 ‹‹nÛx%ê˜PXü¼\"RVQijÒÊaËЩ³‰èÖù3Gvd¤½–Ìù>ý-=¹W,Ñ  SÕµøDÔ ACSAGÉœ/‘š†¦wø ý¦Í˜De¾HzÈÜ ƒ†ò””RÏï†HFBl¥;|"vø°éy9Ùe§r{³ÉygT!¹·òojRÐÍ‘Éi‡î¿Üyê÷á *+ÿõ()`Õ¢Œ´×æ6vó¶ü¸ø‡@¾®‰„ÿZˆYIIêïoUu "Êÿ˜u`7“RÆ26üÊßÌöß 6m¶äW…Þ4@í@Ÿ@ù0SpÔ44;Xw_è@Dþço0§œFŽ óÛÈÇD]©×¤)[äÅ^ÿû…£;6„ýÊüÊ‘vùÝk—·G]TQUIì•‘ÎŒs•°kÙ¼~#ÆJlq^ž“õ^[Ï€ˆøºú‰™3út‹Åb‘¨ì]÷ŸòrÕµ´Ê˜äV뎙°#t«·M_§«Ñ¿ŠÅ"ö¬A³æCÝ=ŽïõOºýÇÔo»µlõîï´Ö=–ü¸W²÷Ysr"÷üxb_€²J£o“Y¦Ñ7Îÿ½z2òæ¹SÓ{[‹Š…Ÿó?I–ÖØ¨Åà S£ƒÏF'ݾÕ̤UÖ»ôgîµhcæ0«8BH€ƒä†ð_}îÝ¥çôµ>Ö½ûŒ³þò'¸ŽAãôÔfRª¤­¿žó[8óñ½ÛìCÈœ—óuõ>dfè6n’“•É^«cÐØÿÜ UÕr½—ĸX3‹.åºäPóÖmçûîúå߉>åæüwÆÜûü$ç÷Œ[äeb&8ûKÈ_’^&'ê7m&èÒ­t9c.ÿ”—û[xÐÑ€Ê**²Ëœµa›š†æõÓÇóóòlúý§UsfXV¥‘“aâ²5&f‚óGÂ^=JJyúX[ÏÀÂ‡Tó7ˆ0“©ŠˆÅbìEðçžá%"!ÎÀh¼`åÏ¡¦‚ŽGvFí`2„mßôêq²Ç†­ªêÇ÷úY°Œ½ümÊ_ÛæO_zLMSKÚå»–/ÐÒѳ`ùÑ€¿îb÷{¯jа¡ÛÜÅs²ùÁw®Ï²Ûù)7'ñö­ýVÍñÙYÆÓ¥·‡JªÓ{Ñge¼ÕÐÒf‚o‘P¸yÖ¤;W.5RS‰}¨Ü¨Q% —ó›­’Ë…W7„AUE,£O ²&-[ã3k‰Ånó–°‰£æ. õ]¿Ð¹¯P(î1_2ã–#f{îÝà5oËÒ.¿xå–Ùîm;›:›ýÈë¹bÏÚåîVZ::£þÉÌÞ1’½YjšZm;YÎòöÃ#ôP1 ×cöo\Ýβ«š†æ‹¤oSþ"¢1 –U> ‚*QG#l9Á~x¢Oà ùüÛ=/'{Ž“}pìÚ©NÎÿL¯‹äó¾*£G ·ƒ7¯Myöøó§Zü6æÆNîÞï?UR¸œßlu¢O¨ŽÞWr‚½Ñ' §B}7ŒœãyñH¸ywûÚn (¨öVÖ›G×v+ªÖSZºzîV×OŸ°dUm·jÇ 400044ŒŽFHZ]Ð' §°B¼|ùòÕ«W‡Z¶l™³³sm7§~BŸ€œZ²d‰ººú¸qã?~üõÜP!è¨v’ku”®®.©¨¨%V^…ª…>!€š†_Šò}BåÀ1š|móö“W¬klÔ¢¼…”ýÁײ¬p u~Ž¥áO(m¹Ûà'÷îºÚlŒˆª±J ”ó+-ç}æÉà=Ûzàc¨+¶{Îüß™“%;Û9¬ :R™bC¶¬?ô3ÕxÄ_Uõbt @i¶òõôÝf/z‘ô'åçåúÎueÙjéðïÞ½Ie2$\ñÒod§–3ûv¿üëa¶4æK²(9%ˆ(=5eý”Q£,L×L‘žšÂæ¼p$l’­ùdûÎñ¿_`…ÅEÁ>k'ÛušÐ]È$r¶ä–于r»ÆcU‰„Bï°ã‡î½Xr¬&«F$Psr¢ìtíNDaÛ7kë„ÞJ²uÈìOID?,;ÆsyÄݧëBŽ>üã&“™œVúoÙ9%/Y7ÙmØ´9ãwï? Àk[Búë”=1ñãyÜæÍ¤Þå—úü©ß‰‹{.Çegf0‰œí´÷ÊC÷^0_ßï '"±X|áHØR×£­Z²lµø¿Nç~ aÃ/g íÏtÌÐ?¹ý°d-wì*0òã´Ç£_·Î-—øøÞm¶ l†ó‡zô·u³h•žš²jܰQ–­ÖL^"ÏoáA³íÜ:·\<ÌñéŸ 2ê­ŒŽ”ÏðŽ-”xJBaq;KëU{É(öü™­¿žSQU0z¢G[&›J£F¯Ÿ>iÒ¤YËÖs}vÊ(°ì9ýÏß`œFŽ óÛȦ»LÕHUíÛ!®»WÙŒ,&êèúÐH½&M‰hÜ"/&‘³ ƒ"ltÊã)QÐæ5§C÷‘~Óf<ïEâƒÀu+Rž>žúýFÙgÛ¶ÿ‘ñ!3ƒˆÚ˜[Qã–láng¤½î`ÝýþÍëOÿLX?eôö“— ›³ž'þ™|'ΰ¹±–¶Ž´>¾wç¯ÇÉm;[fþö"éáÖyÓv_Œ•]o¹ à 9€Å3}3Ç_QÚ‹g›gMº}åâ·ÎÿÍÉʜѧ›X,‹Dìçæ’÷üéLØþ¼ììIË×8¹—VWÙsÞ¹r)Äw}ÚËç¢?O«É×&¢†ÊÊlzVFºäg ƒ³ €¦õêÊOXú½ÝŸ ;@D¶ŽÿHDÛ̈=úlD°ó¤é<%%glógçëøFž-QQÆ }ŽœÑ3l’òôÑBç¾ùó~ š¸l5›¡ðóçE;÷Øp‹D"±ˆ³µb±xÓ/Q&f‚ã{ýÃü6¾{“šöâ™ìzË‘ÉÝ9çâµj3s½o€×¢o Õ1hìªªd†¶­–ìÚGD÷þweû™2âÙ9Åb1µø¯ôœ¾ÖǺwÿ¢Â‚qÖíd´_Ç qzjJSÓ‰¥Û œä|^NÕþ1óôϱHDDß8ã))Q¯!®±çO‹Åâ'÷”(É8+»'ÆÄL gØ„ˆŒÛ¶×5lòþíß/’HfhÖ²•ýg"â))52cǸM;3±àåådWúMÿ?̨ s;¾®þ­KgmFìôÉÿ˜÷îMê®åó™³ÛæOÿëqRqQѧ¼\åF²‚95µuž=¸Ç¾,,,àëé 5ˆFD½\†Ø´:+ãmþǼˆ[˜DÎvB=€ÇÑ¡¼‚n>`æ F&§¹Lñ`ÓÙ~e‘ˆc!GÙg9±ÇÂââÒ´õ ¾Zˆº–s ÔàKÐRµq*ú„*ÎeªÇÉý»W8´gírw+-Qó¾ÌÔ±0ØoÁŒ¿ÿzÙ¢Ù|ß]L"û‹9`z›8s~)ßÝcõxׂÏùLÎIËÖøÌšDb±Û?µH3jî’Pßõ û …Âá_‚ž±ž+J·ä{c¨ijuìÖÃÝkC…gdfDíÙîé±åèyhOéÑáÈä´99‰ñ±?­X8Ï÷Gs»Zj T%ÃæÆÆLú-<èÖ…ßfõ·%/ýõ+"rrÏ ²Ë>Û¢µSÎüA½t ››:»‡ãwLJ#Uµånƒšš˜¦½|NDÔÔ¿;©ªš-£ÞrÁè@M“6ž¥£ßØmÎâ—ÉIÊòQœ+E±Žþ´Ôu@þÇBD;|^$=ðذMMC#rÏÌ Ìå—#Øà~‚¯«GDœ—ïZ¾@KWwÌüeGüýŽïõg*Ý»~¥H(œ¼bݩн/,Ú¹ç«í$¢ÜYs8Ç>¬ðw7[eÈÿçU­ì›Q.ìˆÑ1€ÚÇ|(«ihv°î¾Ð/€¤,ŹRÅÿ~áhÀŽ a¿2a´Ëï^»¼=ꢊªêà‰ÓŽÿÓ£S±…¦4´øŸrs+ñŽä"!€"cªÒÜs.ŹRíZ6¯ßˆ±͚˾<'ë½¶žñuõ%+²ÐÔ§¼\ö‰€: ‘@ ùê:U’8—â\)Šˆ¶þzÎoáÌÇ÷n·³´–q9_WïCf†nã&9Y™ìµ[h*1.ÖÌ¢K¹.…âsøTm7¡¬0c Zpn¶ PvœËGq®ED†-L<·ïÞ»ne~^®ŒË»|Ó7jÿîÂÏŸO‡îgË»ÐÔ§Üœø˜ A›× 6» Þ'@mC$PVlp#ù%-3çf«eÇ,5³A³ÿ¿ÍFÍ]ÒÔ¸åBç¾Ó{wÓàó%ó71n9b¶çÞ ^2.¿x壻·'ÚvTVQaÂÆz®È~Ÿéî`å5Æ¥S{&‘½½KÜ箣é}lNïåí‡Gè¡~À³c_”ýYŒ² m”7§œÀãŸñÉËÉžãd_™'¿*7[eÈç}U·àÙ1€2)K(óþíß~ g<ý3¡mg«E;ö0ÏõpÊÏËݵbÁ«—MÌKwícç·º Œ&,ýþÌÁý¹YYnó»LñHOMùùû%‰ñ±í»ØÌÞ´™$ë*0š¹Þ7|ûfž’ÒìÛ»õq$"aqÑÁm¯D ‹GÌòtž4]FE¡¾FÎñ¼x$ܼ»}m·* ãïU£c•â»®}›ƒqÌ,»†ø®—‘3lûfm=ƒÐ[I¶NC¶ü+gb\¬wø‰À«wî^ýˆÖMv6mÎÁøÇÝûðZÄfK²'&~ü"¯ƒÛ¼™”ûüRŸ?õ;qqÏå¸ì“Q(8-]=w«ë§OX²ª¶Û 0:ðEYVÀãLœl×iGôe쌷žCúÝ| -§»ƒÕÖ_Ïé6ù”›ãÑß6äV"›mï•;œIEztø%á9“-ä$M¾vqQÑh«ÖG¦ÑôÞÖëC#Kdfþi›©Àœ¤¬)Ź|ãrä¡ßOYµ/BMCSÚå·mj×¥[HlbqQ!{¡´Õ§G޽sé}ú[6EÚ2W£æ-‰ÚÐËeøÕ“‘²ËES'þ¶Äè@5*Ë:Uìo 5 ÍÖÝÝWyK> (¹¦çòQ®£»Cö{¯ÚökéÞÉ˧ô´ØuQÇÀðûtw+¦ œ«O1-ŒØ¹¥¨ `â²Õ%\b™«ˆ„gc¬ÚD$<ßMpäÁ_ÒÊ,£c•QÆQ×)M«±-ƒ¤ý§`0§˜Du-~s ×™ó:Û:P%`t  ¦ÉX§ªô/Î5¥8—"¢]Ëæõ1V2 â¼<'ë=³ö_W_"QêêSƒÆ»/pîãê1_F™DÔHUùWX\ôÕ2¡&Õ݉DlèSâ-D&§}ÌÉIŒýiÅÂy¾?VÉ6À¨!‘ÉiÌW‰cNþ+=Ç,XþKÂó°ÛÙDfù¨Ò™·þzîá7ß»-ûr¾®Þ‡Ì "ÊÉÊ”,3üö“c‰¯#“ÓŽ%¥J«­o`ë8ðlxŒ29É(ªOY†¢Þ¿ýÛkŒ‹[ç–^c\Þ¿ý[F"ó<£äs¾}óh«Ö+Üœ³2þäÔU`u`÷Œ>ÝÆXµ‰:°›½ªD“\FŽ„M²5Ÿlß9þ÷ 2*’AƒÏ·éë4eåú{ý¿š¹, È#Î5¥8—""Ã&žÛwï]·2?/WÆå]¾éµwáçϧC÷³‰²WŸrq÷ø-×}ÉËÉžãdû°Û€Ó•!y_qŽ(E&§qNvÞ±ÅѯxJJ"¡ÐÍ”ÙÈ™3‘Qz"ó±Ä×¥sJ›X]úri{•e»kÉ—yÙæü§geîaöDŸ€ õÝðùÓÇ‹GÂÍ»£«¦ž(×ü3fŸD"’Ü'‘3‘U"Zeræ|x¯©­S¥ï£|aqb\¬™E—*©‘€ÑÒÕsw°º~úø„%«j»-P 8÷I”±y¢¦¶Î³÷$S˜œ§BöZõìU… +]‘4Ÿrsâc.m^3tÚì*©OÑ(aÓf«¢ßPMX²zûÂc­Ûµíl¹hlj wÕã] >ç³ýLb±x|w©À|éûdT$ù¸•a€¸DEÒ.w©ijµíd9ËÛ¯J¡'̨Vò9OH`žPeÔÖ}Uc -ÖÌÀêwââžËqÙ™læÒ{9q&rn/ʼn3çÁm›Úué›X\TÈæìÔÃþÏØëDtóÜén}œ*+WÑ7êƒ:1êŠH@Åž?3b¶§Šªê€Ñïß¼Æ$ÆDu_å­×¤©š¦Ö¸E^lfνœJ'–}{)Μw¯]êî¡¢ª:xâ46gg[‡/‘ÐÙSöß9WÑ»‡*PbÓ±Š%• eÊ>à[z×ú­ó¦I;[µ0O †H~š³ÇÒ~UädeÎèÓM,‹E"v·Ô¬ŒtÃæÆ¥33;$4TV …2s³?hë‘¶žA^N¶Œ¦ræÌÉ–V§IDATzÏ$òuõÙœlö{¯zŸþ6åé#Kûod½¨quzæÙó‡÷Ó^>72m]Ý¡O †”k(ƒÆá·ŸK|™œv,)•MLOM‘vÉWÉØ^ŠÇ㕈¢Jçäëê}ÈÌ ¢œ¬L6§ža¾ž~ÄŸn}4ÄÐXm*KÇ ç 0ÎD¶I²?ÉU`¾}óh«Ö+Üœ³2ÞJVu`÷Œ>ÝÆXµ‰:°›¤¬ÎÀ9}³""4aê‰}þ’—§§¦¬Ÿ2j”…隉#Øÿ®£)=-B·z{qùå_&‘sš4ˆ„ä‘­ãÀˆ>ùóÞ½Iݵ|>“ØËeøM«³2Þæ̋ع¥¼eÊØ^ªqsã¤;ÈÎÙ图Qûw~þ|:t¿äµmbNéá8°Üojç 0ÎÄQ;[‚P( ‰MìhÓ#Ìo“dɉq±Þá'¯Þ¹{õ÷ÒW±JO_“V‘ãȱ·c.½OÿÿxkÝd·aÓæŒܽÿ€¯Elú¨yK¢öôr~õd$“Â9ÍNDBòh¬çŠì÷™îV^c\:õø²oü¨¹Kš·\èÜwzïn|~yËœ°dub\ìXëvÉwã&.]ó¯ê®Øº{{¢mGevÀŽˆ:ÙöTnÔÈÂCcr§ôÑ;W.…ø®O{ù¼ÄµTÕ˜…Å_qàœf' "!€jW'ž%.¯ÒS@j«% ®\‹s23ÀtôKÎãLd‰ÅbÉ`‚É™óὦ¶NÕ½ ŽŠˆH[ßÀÖqàÙð æ¥ÿJÏék}¬{÷/*,gÝNFQ:ýÏÝ(ctŽÑ1EÁ9LÆ2MmgîI¦09O…ìµêÙ« Vº"†‹»ÇoáÁÌqaa_O¿¨°àhÀNÙ¥qN³“‘@5ƒLµýóQ8œ3ÀdL sq÷X=ÞU²ÃO,ï.xpëÆøÅ«dT$í‰0iJWÄhjbÚÁº;sü"3“û ×þkrã§4=}C ÙifF'@¾Íæ}¦s¿‹ÝÑËÜÈe²Ù1Ã?Cëš+š¼Sü®?Ò ;,c‡Îh¼«U†_¶òéY÷ޱO[˜ãS"©¾OÑÔÜ@àùj%Ú%6UÀó.³‹–Ü¿ûkxý úïÿ¼õ²~ŒMÁoÿKøÝ߀Ïß-MEKñÜY8??<ŒþÊ'B4ƒ‹О„™,„ÚÛ…ìÜ‚âj~ÂŽXR9‹/v½¢î•f{…»Pgª>¯TZ½D=;­iÌû_+±ºØs êîÕš÷eñ”*UÞfÉ ¯(»ÜR%gIîyÐÕòĪ”D8µ[Ôn«þNd S§nZo 1ïª ÕZ4ª ¢J¸º®•ÅλàÖØ‚K,"Å6û?øCÀËghèH’ìÞCöðuîþy=ûú$—Ÿ77ŽátìÚ…Orô;¢™ñ1 C\Ÿ 0DÃö”Ú][ðÝ‚^}uH ¹´‰Ð;¶»Òëýü´üO4_ü]í-¼¨NEÑÀE×´£úÏ‹ ÄÑGîCc6ú«Eã ¾_ª€ÎM£ÿéKh[ ¼|º ‡OÁ×~¯3—ÑkÃpð/‚¤bêÕùIIYèTZåö•È3%à–gêŽ4:´Xhù¥Ð¥ï”ʈ‚¡x]ÞS]ø/2ËöAñY`£$›J…Le«ªø|嬫Ïå6Ñ ã­|®<°5♩,XQZ’ò3¥«.V¥®ÐˆR@+uŒ–ûIÚ§Zµi ¿I£÷Ë1ºˆ55ßGZ¼¯5R´òÛ,´©JI޲×±–ªãz •û?µøCÐ ôtøø ¸Ù6=ø«:5z‰sï<¡Y,/7;ª½Û´PÈèØå£lzðWpPC ð :{þ*…‰·ô‘¹q“›ÇŽªä@P+ô }yŒæërsÐ$ž X›’ÖN£(IP”ãá»ÑM;€,Ü1…|ópÿ>hj…Ûv‚ë•f…5 ¿ý9¸u=z~ ùøCè™ê€[7cĂé4‹Älj„fª&×êÙI"OÎÏô³d´0…,„’jÅj¨|§¿ŠÎÌU3¨h…§³0ƒIùÞ‚‰"•GEÜHK¨)[&eùÊn“¨”k$`®Ue–dÕhH(W]pWt‘ Rþþ‚Õ$Õñ¤ê8T†ónÓB°=ú qÚj„€¨‘oÅN×"WO´”h‰4MµZ£5A÷þ~:ð‡ ^Ácrü£W߯hî䯥7™ÌÌH> @`nrJoUF®aròºš­ëHççD Ô›vE›tüÄý?ËÆÏ~ÚZ$3=£ áaTL€áqDµ¿I¥¹»˜I™ÿÙ€Wjd§v¯hÁá–¤Jÿwæ“#ÅaQ(ÅÿÌùxàhüEÞK «›%r‚5¯+5’g5®ÕzOjX1R?D]3”³ÜóË•+?‚LõÚ­NoÉ6b…í´’:TömTq®¬o—ª;K<_3ǰ"?Àßß=þ d|°«W¶áúSšÉÍJ.t5ºràÖYÖ÷Áé7÷0;'äƒ y?§3™4ík\ùð½MŸë•ó?¸K ¹qòù9f'Çð|WnýÅq6ÌW ß‘°à9"(–¢^ˆøž¨ÔÎFÍo10£wYðᵜšWÄ0ŠÁïô‰ùw–ù-—4[Íý¥@þ£–Á Þ‘%À¢+lƒ• àÕ¾»Úú/õþòj¶ecšf…b†b”œ¥•á¢^ÿ­FþýÅ_9E¥*²T«ÿÝ௄ŒÀ-ÛøE¥b*†c(~(ª¡¾Q¹‚e•Ù*!AÎ*™¶!ˆ`Ç<ÔÏ`eòqŽäþñÖ{@ó ŸwŠ 5 Ï÷jpj» ÃÀ0Œâ;y¦%昕þ–š÷ä=ØËÌ‘†a †àûþâú/e,ÊÀ)¶Ã0 Ôs h¨K˹´Ã·:ûg¹o”3t¦IÌqÈå²µû›ÅYÕZ6¢ˆ`Z&žçS«Ë´¡­­þÞ~üÀ/¹NÙl–|>ÈûRCV£”ÿžü4j†A@,òm²ÙìJÛý'ø+ÆÄYȽ”ÒøšË»ô®[‡ã˜¨†‘̽ !„añ‚a…úéúq:×iû8VøÒÝ™bí@ŸÅ0ÏóˆÅâ’ËeŸ`Ï®Í[(hÉåb (žç‰iZ$“I™››cjj’õ}a€ëz¢ó£]1Œ"‰PÃÛ±ñ<ÛvÄÔŒ’Ý©¢â¹È|BK,ËÄ-@ ÇÛ¶ð=Ór_D ÃÕX,Nøây¾:Žƒ¸®‡ã8â „DYæBÙâÄbÄcŽŒŽê\&Ãúõ›@ ®+–倆*†A†x®[Á7Ä C1MÃT‘X<®ƒçO25“&ð 2°óVmmn$—Ë‹Åñ!"¶Yx¡B†bY–¢aÄ«WA µMÏóQLà ÃùX¿&1ÛÂ-MAŠãØøž/ j üÛ²@C)•­†€„8ŽCøh¨X¶ƒ!!~ˆh "X–%nÁSÓ*&®'–ej„ ‚ëå˜Ëb˜&1§Hùp[ ù‚ŠaŠiˆš¦)žç‚a a¨ˆA<æˆçyˆ!â{>¶c†JbY&€zž'†a¢aˆˆ]Á0(j„x<†ïy¡b[&žïcY6¾ça;ªà{¾8ŽM†„bšH¾ài<žÌÌn«ƒ_0Å4 LÓUÕ0BÇqT5”ÐUu= 1„¹éqYϪæü¦õ¯ÒÎ/bÄÖYüáþ‘ 066Nz.ñ#‡élïàêàv<%n!'®ë!bpñâ%þê¯þš‘‘1šLMLrð­C<÷ÜsÄã {ìqÙ»w®ëI¡àŠeòÆ¡“rñê éíHÉýÑÿIׯmBvŠÁ‘IÉMOËDvVfæÒ255‹eY ®¸®‡†!ß{üË|ïµ#¤¬@±8W®^çòà0ßøúWijjæ«_ýª¨*¾ÈÉ“§dj6‹m gNŸâÚà"rùò%<ÏÃ0)\<Ï' |yâ+ÿgß<&8–].[Î9-½]ráÊu ÃâúåóLLÏÊŸÿùŸI[{‡¤R)òù®ëI,—çŸAþò/ÿ‚3箲i`ÓÓÓÌ¥çäkßüŽÜ¸9*ç.]c÷ö-réêuÁ°8~ì(™lŽD"I>_Ï ÄЀç¿ÿ]ùêwž¥«½Yr™9Nž>Oqæä ‘‚opöÔ Æ&¦hlhà¹s2—÷Å6”·ß~‡l.+ñ—Ŧ\¼ÎôÔ¤Äâ )вš¦Å‘#GåÕW_CÃPæ²yÿÊפyÍÁs9qò¬4µ­·Åu=ÂPº1$/¼ø*gN½$#i³'Þåð™A ?Çùóç‰%™’7Þ|GN½{Œ–¦&9{þ¡aK&=.Ó’™ÍJ33ÓX–-©TÃ|Ñ0Læ2iL%ð yšÛ×3•#‡áªÃ\zFŽ?!·Ýv;MLLNòÕ¯}m[·033ËSßû[·nÅ‘gž}޶µäÔñ£œ:}F¶lÞ,}}ëÅ4-I¦Râç2’ó”–ÖVùÆc_bçÞÛÄ4-™˜˜þþ Ç™MóÝ'Ÿ”ü0Ã#£üàûO169‹ØqyíÅg˜œuÙ·?…|ŽçŸ{†³gÏÉî[ÐÙÑ"¶íH<‘¤)•”¡k—8yö²´µµÉSO=ÉwÜ)©TN,AKc‚o>ö¸ìÚ³—S'ŽÈ©‹ClÛ¶ƒ·_yéXÓ-/<û¤\ºt…MÛ÷²¦£•x<)é© yñŊěش¡ŸdC£¤'oÊK/¼"wܾï=õÓÊšæ8ßæûÒбAâÊ3Ͻ@Gïéëé’x<Žã8ø~€eÙLŽÞ”7Þ<$-=\¾xA^ûáó´t¬“„xóÈIÖ÷÷ÓÞÞ!­­ÍòÜw¿MK['¹ô$/½~˜-Û÷ɵsGåЉ ìÙ»Ÿ±Áórâô%6nÜHgg'Ï=÷ñ}_öíÝDZwÞ–#£s\½x–3—®Éšµ}¬[Û%C×.È‹¯¼É†­{eâÆyyíílÙ±—‹'qâüué]¿™×_~^N8NSÇ:úz»1˜›Ë0:2F.›5l±L“¡ë7¤P(É$ÙÐ(¨Šˆ!ssyZò$²‹ù¿iþËtì%Ñ4@Ì1yùå—uëÖ­288¨­í\={’ï?ÿ>Jª©LzZffgõè‘£d2¦¦&I54É[¯½¤ÿùÏþŠ5]=ò'Ÿ`ÛæMÚÝÝ-aªeیܸÁésWøŸÿà…Lš§Ÿ}†¬›—ç_<¨c£×)äs|çÉø¹qsT/œ<)_þê—õäÙKä&ÇžI“Œ9=þ.›Ö4óÇúg¢‰V½uïN|¿˜ÖwGfffô±Ç—X2®×®Êk‡Oh{Š W®ÊÐÈMË Û6­Ã÷D IXªc£×9zâ‡ß¾Ê¶m}\¿zQ^ã-M%yë­£:><ÈtvމëW™žË095ÁÓ/föÊa¾óÒË´&›é\?€›™Æ4-R©ªE³ß0 fggô;O>-aëέ[xò©§yåà!ÖvuððÃðÒK/±cÇ,«èF_8VÖ ìÔLzJn éÆm{9òÎ!éìêâÊ¥‹jPp}º× pæä1š›[ˆÅbü§ÿúß“x<©/¿þ:cc“$“qÆÇFÙ°a#¾ïÓÙÙÉÑ£GÙ±c‡´wtêÆ¾FÇÇå¡>ªíIƒ97`}ÿâŽ-»wíÔÉñ›LfiŒ[jÙ6ñD’©›Wù¯ÿý’jHè¾}û¹zù"›6oƲ,œ˜%gOæ±§_Ó½»åìà„îÛ³ž¿ùÓ/漒ȫÁÊ02 ŸûùŸãê•K²iç~5‚–m“ voéäå—ß”õ·ÒÖlëã_ú £žC|ú&vïF²ã×äéo?«÷=úQN~“ƒ/¿Å‡}XÞxéݸi–)âº.®[PÏó%ѶN·t™<ÿÚ)~í×~™ÜÔM 'Á×¾õ]œDBÖ¯ëÓö¶f&‡¯ðÇñ8{÷ì”wÒÜ&_ÿâW4‡[öðÄןâSgH¦’ôô¬£­µIæææ4“ɰ¶§‡xkkœyþ¥cšNOÊøØˆÚÉ5ÒßÕ¨O~ë)>ôð}òäã_×Éé wß¿ŸÇÿòKX‰&èoÕ£'ù­_ÿƒ—ÎÐÞ·•Ö”#íúoÿí¿•§_zAß8ø&'Î RHOñg_üK^ã ¯¿s’Ž–V6¬Çó|ÒélYbTpRUI¥RÒÝÝM"‘Ã0$;3-;n¹SþÑoüŠ´Æ\ Õ`EUŲ,‰„x¹,Íkzdûæµâ7²uëVR¸nžM;÷’›ËÈsϽÈ#ÞÍÔtZú6íßÿí_aã–>H375&Í};$ô=1ʹuiïß")ÓåÙ§Ÿ%ÕÐ$¿þ»ÿTîØÒ&wÜq€»v˦q,S>ý©Geû–>Ig²²{ß~ú:cÒ³eŸùôÇåâ…ËbY–Dü::ú·ל<ó½g¥¥­“ßú½ß—mkäó®4wtË?ý_£·£AÄi­›Ö³oû¶ïÏu£(‰Ç☈0vsH”ìÙ»‡~„mÛ¶Ò¶¦‡ßùG¿Âæum¸óNn½í6Éçó†!ímÍâX*/¿ú– ]>Mc[—lßÖÏôtF>úчå‘G>&“Ãåó_øe¸C†.çáÏü2ÿàˆŸ™”¾-ÛeÏöÍlÞ4 -}[å“¿ðYÜ™1D © ˜ˆˆa¿ô…_–Û¶ÐÙ’àîÄJ4±kÇFæærF‘•†!M½Øá„øÉvih¸)wˆ—eó¦òë¿þ›¤G.ŠÓÐÂî]âÎÍJSçZzúºeWWŠ37g¤Ã‰sS’ôw¤$B©á, ’Éæøð‡’PCiJ%eco—¼{æ¼Ì¥Ó211!AÈÔÔ”tttÈ}÷=Àw¾ù¸ lÜÈîÝ»åûO}[’©fgÓ¾Ë}÷Ý/"*¯¿ú"=½ë #ÕLks’ׯÈ-·Ý)ÝíMŒ ßäÆ!‰„¼øâ‹rðàAÉf³d2B7'o|]:n!œºÊ[Gß•ž;$?;.†iòö+ϊѹƒkP ±m[Þ=ù®<öØ×åî[w‘JÙòö;§˜›KËÜÜœ ™ãùWÞafj×°ho4äë_ý–ì:p/îôuyþ…×iˆÇäÍ—Ÿ•xÏn:⡸ž/ßøæ7ÉŽ_ãñÇŸmûn§!iqêÈ1Ž]–¡óǤw÷^¹rü 9|ü<|ìyó¹ïʵ›3Üû‘xö[39[ fÛËÖb±8áô5ùÊ·^â¡G’Áw_—ÁŒ#-‰8[ú{¤{M¯<*øòü ¯ËôÜœŒ ±uû€|ãK_¢­w=]òäwž”ôlAnÙ1@ÃÞ[äâÙsÜóÐÇÉO`Ú fHëšÙ40@ss3kÖt3°q=Ï|ÿ)N]÷ùÜ'îåÚЄÜñ¡‘pL ÃÀ4Í¢07%׆§ùùÏ}–›û¹|á"ûï~Þµ²÷vGfØ}Ëíô´'9suœݾsgÏÊ–­ÛPUL³(§mÛŒOLrÛ‡`ïö>._bÛÞ»XßKKk+­-­rû¾Ý\ždóö}²¶³•d*…eYㆱT£¬ïíâÝ#ï°ãÀGhOŠ\º>Íç>û â¶C,cãÆ:ÛÛ±-‹ÛïyMO@¢]þØÇ9{ôRí½´ÇB‰§R2iú·í¥«£E Ø""±XŒÚÚZ‰'ô¯_Ϧí;ÅÑ×G³<ú±q]Oʲ)JCsܱo{÷`ÛÀZš[ZÀq6nÛIw[#g.ŒÊ'?ûYâZ`tÊ“Ï}áçiï퓻ÞövšejzÃ0H¥Re Ã0˜™™!³ذž|Þ£!e322LOÿv ÙŽ;Ξ={8þ<–esìøQÖõo¥½µ‰#GŽÐ7°“]×päØq¶ì½‹Ìô¨\º2È-·ßŹÓ'X·®D2)_û›¿¦©½[n¹å6cBCc3---$“Iºººdݺu˜¦É›o¾I<—¾þ \¼zƒßs;C£“̦³rçþ=<ÿ‹lß¾£§Îó‰‡îåÅ—~(kºÖÇinnáÀ]·2::ÌðÈ;÷ÜÂÉc‡Ä‰Å˜!–HñÈG¡£­…þMríúñd>|?çNŸ¥}í~ä~yçØi>rÏdóD„]»vqúÝã¼uê²lî_ÃÅ ¸íÀÝÜuÇ~imm¥³«‡3g.²ÿÎÑÓ»†sg/sßÓJ:\¾|S>úè'èhk" ñ<Ïó0 xõµ×¸9•eצ^ŸÍÓ³¦Ý»·233%ׯÒÞµ/7ËÏ}ôã¬ïébýƦgÓLÏz|âÓŸäæõëRðmþñïý*ÃC×¹9<%wßû1K9uê4/]’]Û¶ðÔs/RD¶ ôâº.n(ÄbIb–RðC™åŸùSãcdr*ÿôǼzqùìç>%‡Þ9É}ö3—ÉÒJá87oÞdç¶t¯YCooôoØ@ïÚÖvuÉÀ† ô­_/}}}xžG:•²(é×zdî?Br?„y,ËÂ÷ý2=¡LÛ6Ées•ÉI‰¦i’Íf1LÛ4ðƒß÷±ž[ ì"ΗgZbˆ–è4ŠaZÄlSsùF1X-AàjOÓ´H$âd3U1$™ˆ“Ëe±8ïa˜–¢¡”³¶¦i’Éf¹tñ"X öìØ¢–eJ>—+—=oùZ¶C"#›™1I$⸅¼¥¨s"'—ÍbX6–)êÓ’ËåÊÁuUU±m›d2I>—Å B’‰žçá|2'TÕd"A>Ÿ¿´Œf!·®b”êšËeÕ0mq,“B¡P¢è+Žãàºî|`ßqbŠ’/¸$“I …¼š–#AàãØ6ïQpç³² ˆaضM¡P üw>ŸÇqbØ–©Ù\vqÉ4M)÷}1ùâ¾_ uˆh̶$_p1LKmS$“Íḵ¥û/òhÇÆÆÐîînñ}¿Ø–Åàà ýýýÅ„ ŠiÛ3ð]öÑG˜M§±,-þ0M“\.'eü455i.—“|.G2•"“É`š¦Æb1Éf³¤J׊±à¼f2‰ÅbÅ £DÊH&’ضE.;§©†fÉçsómæyE¹]×%cB6›%™L†šžËH*•"›ÍFñª‰D’T2.™lÙlVˆ‚ëº44¤p ü ,ãQ!‘HH.›Q×ó1MSr¹étš éßÐO2Óô\F¤D7)¸®&Iq ÏuñƒB¡@"‘(ŽqÛÆql2sub1±,“tzŽD2©¶eIfn?PR%E533Ccc£Š ™lDZ1 ƒÀ÷p=Ã0ˆÇãdææÔvÛ–LfŽXйsg‰9›¦U.Ñш[¼Ür¥ÕVTƒ  JQk´£lÛÖööfŽ™’5k44„+^–UëÚJ—3½×:½¯¤Õeä¬7Cë @ù~ȤËX+*§J)-µÊä}Çß ®-µÊäüýá¯äái™I}Î0 <ÏãÒ¥KA‘³*"¼«lî™Õ=©VyÃ3˶éé霧$”ÿ/ÅAH:^©†^j6[ôL†444h2™$bÊF= %›åæÍföïîn-o$+´–«,!ûJëÊ2³º®Ð%ZfßÉ%¿)K š•Ôû½Ôy9ÞK¼WÙÞþê V–¸.«hð÷w„?ÑÑÑQΜ9ý÷Þ+®ë*ÀµÁQff…&S­ùø‹1Ï”/Ç1æã2ªÊìì,gΜ՞®fTýÅ/®.8¿ÏY¨ªnàÐß߈`Æ" †ÅÀŸWƒ.HtcM–‰¥É g&]E\ÞÛâõ¥fV]å3R'þ¶T w©Eø+u¹–[è¾’6XiÙ¬ }ßþ–¹Ç{¨ãøû)Ä_"‘ ¥¥E¯\¹Âôô4b”Ö «bU—lš¦ŒŽŽòÖ[o†!wÝu½½½AHÌ1e<×I&"¢yl L£˜/ ÃÈ9Å¥´„áü†"@Ù»' BÙÞoÐÐР¥õ|–q…3M­Ø†D\ªr| Êw”1 Šo«ê"Y¢.z4èP~¶ü^ôùò·µøÑEòÏïʹPFÍA9ÐB–ø·Ôù6UA‰ˆ£eDë+ÑoWµÔûwu?EêW®[õµŠÃ:"ýU+^%UÏ.jëê:DÛµêUí¢µúüüýlã¯\^†ò{¿÷{ºoß>ùÕ_ÿmÜl1ÙcEµ§ˆàº®>ÿüóò¿ñêº.ßúÖ·øØÇ>†˜6-)ŸÏÿÉN†Î™Åm°|¤uLMŠÛaÅQLÈ¡ø¥CI<À˜ßN«|p‰¢‡ÿÛ;¥—)[z•®Öì²Ì– ‘N\Ô˜Q@EÁ_=E˨œ.’'r=*³,S¿.¥w£ÏÖš±«d­®WµlTÉT7¹W þȆ¥“Ö{¿^\¯ê=\[4˜ËJ²V¬§NûÖúŽTµ›Vã¢V»T·á ¬Æð÷3€¿ ( úÕ¯~•l6«×G ´— UmF9D ÚÜÜ ÀÖ­[9sæ ›6oCš“>C&FL çÐÞí)xìÈÞmè@lêG-þê9èiG¯\ƒý{`b’1øÁ!(„åtN¸¨Éë+?±gU&ûO* ü^ËÑU”¡ïñûúc¨¾ùWêÖè{hËzXŒ}ÿþ~ÊñgÇbLNLpèÐ! …žo°®=a¥ ,@y' y÷Ýw5›ÍrãÆ >üá3=3WRNÌïƒM6bÙèÿöËpv6·Â©H2;×£}½ðÈn8{ºúàê$YXïÕU[ =d¥®ÎJ8nºÂ2–³`ôÇØVúT~àoø³ ȺÄlƒ©gO¾]}"ûüÎ×V.A077W±DÉe6ê/}è úRçPäÕ[ªd2¶$“IÅbåuÃAϲl„Ât2ϯÿ_°î«2¹a3ëºçHçL²ƒ¾ÄóÇu¨g/Vq`õiªó1YBCè?M(6ÒßDGì7Ò[¥ë‹ÏpqÓG‘≵Zu´Mä0¬šJätÚÈ÷޶©3ÞºZc™PôÈÙèñàÕ9¡ «OŒj°â­¢«d›?E²ÖÂÑãÈ£ÏéâúFH¯‰e©ÁlX|ŠmEk•¥²øpËšGÕx¦|ÂäÂ锕æÕ;Š}üÕ7p¥ªÝ?Àߪñ§ê[B×È Ñ¾Ð+V •kŽ [d–¸xåu’H$Ô0 ÃPggfsC_ý)S_téÙ¤n …"Ç/ÄÑè2œ:Ù¸¢{+¦l™:ÊĆÝzÛúƒòûŸíÔó—nÈ_<³Žøµ é°½h+jµ~.îÚk}Þ ¹<°‡|ÇAnßÛËמ?¯g/4$³*-³øZåV÷\ÅÑ׺:Ï®âž.A󊜫U^” µ”x}üUŸP\y [-eúþV?ß‚ÆFKÃB€ch(uûQØ4M^ýuЮ®.>ò‘(t¯iâ+¯tri( 9%êJ¨`Pp‹æ¡ªªd³!¢1Gp}ˆÙŵç²!ñ¸A*nø;©TÏóµ¸`€¨’·ÏO#¯y«ךÅÄW£òDí¥‚¥S®…5 V3Xã "Ñ&‚¡îòƪ“µÆÈDk(Šè¤[m5D•@M‹_WZtfö*Ü”z ªwĹÖRv5B´}«M¾z²jU»QmÕEA…â\Åü,K¼S«Îõœ¢•„è¢EÕÝ‹äGÆŸhH`X úÄôE0rÆåÏ8þ!‘ÏÒ˜¾ÎÙþ±ý‰%‹ºÀ""¤Ói†‡‡åŸü“ÀO<ÁéÓ§imëÄ1ýÞAåÚ‘Pîýd ¯JÃL’êãXHsƒÉ•SYp n¹«U›-ä‹yÝÜesô¼Kghö 4>a¾Öì_éÚˆ‰ºc=\:OC"E쩛ܶã ÿË=ÊZD}ªÎšÖj·d¢º#ëZ U1•zТXVT¹,±½¬ZßÊ©ç"U[uq=ªGÅ·µ¶{(5©y¿–eT5ÈrË­–è3©gÁèb×µ^&¶V?/…?­Vþ5**ïþTÁrW†±†.jËmû)À4”Üå+Zh0ˆ÷¯#ШÿÙÄŸar‡D[‰Qôå—Àå]`T•d2Iww·<ñĆ!A°{÷n._,&b‹fqyÈe6Jo§É¥OÞÆçøUO:Z,]ßíJ˜œti‹#™L ß~c޽ ®Ò”4÷ ¬m­Áœ¯²g™!hICÏ„!íÄ5±¸v n rÈ×;×9Ò¸¦À„O8dÓ–*°Æu¸>쒹ш™üšL‰t@øSõ8¬énI¼J ÁJvTZ » Þ2Êe×ÕKUè=ʲ’6ª« k-¦×V‡./Ïj’œ5“'‘~\Ë}¿®¢~OøS[]ÜWŽàÞò€$¯$µeúùDÓÎ^q¿­Ö˜…×Ú‰øK†~úñgYÀ%hðŠl”z]´8 Cî¿ÿ~Ξ=‹ª²sçN2™Ìü·ýpL¾ô k› ýÚeW6lŒéÏ»²f£Jñqðˆ¯‹ÓÝdè•.\*ðÊ›–¹?—5À ê*=© ÅHé8üí·¡á&ü\ ý¹)8>sm‡ ï€í/?ØB¦4Î@w |jž}×àÈñ€\Œ°&@W6hd 6º<룮ü+Œg­d§&XÙ†u•¹Ö·Ö–bP,µ™ÈJ×ÄKŠªÖÖ++Û‘©Þ.T+‰¢«oïzɈz{4¼7üù¬¿v”lçíÌœMêì¹e›2><Åó™_Ä™iÀ3gmï,1(~vñ§1úGáØøÍ{a >¿ÖnÉà|ìÍu]¶nÝ*ù|¾xÞ…¡L¥…¿ùßp½~XLl¼œØ–YAÁ²Ë\7-ågŠÄ?r…9â1Û„0Tñ}›|ÞU˲¤:R½`ÜPhI! Åeu– Z¦´7íW%´tZw¤ CR>4%‘XL¤­òI°<å㎥×e!7V¾ZØLÞ)vˆTæ÷ªï ‚JÑ~(-dÏ3Ž.ï,~kO)¢åÍ'ˆ—$(ou¶½Ö´"Î ó>¨ÎÇÇçwü‘È›T,LD8EETd!ê%‘`W©nHt'Ûª¨Óü7б0]hyQie(½:㥥/.°Hd!±¤:¡”¤–bßJeä­øA‰ä;%ꔊ,*uYü-à{aI«–-aì}ßgAW2Çõ¦&¶ùg¹mç8Ÿü­_ãô¡×yê0‡ÛA¶_y+¶N|+Ý…àg¶sÐÑq§­£‰­Z*×0ŒŠ˜àÃFµ!!hˆ¨µã¶Ñ_¨šÞJ÷Íð)ZðƒòùÅC¿#;¨§&™ÀáÖô»’» ç†ÓŒŽÍ‰™‹áÆ! B|õ"3ÐÏ"þTPñ!7(ž…¾`‚,6‘km‡ÅÜܯ¼ò ªÊý÷ßO{{;ª¨a3Ù·DWÉ|’q»¤å?)ïÈc™Æ¢/†ª¼€DÌšêaÐÙÚD*•*jRV€ó['E@iˆCCÛE.b̆ÆD1AӜ˫E1©lËЀ”B²©xqy^B 1‰:IÄë¥âuæ¾¾Wk)—°V|D«2‰õxTµL¬fŘÔÈò.¢jh…½WÓ¥¯Å\®ŠŠÏˆ7–V±,¬Ža®JT†µvy97t©+òRù7,Íw\.(Ëiñž]I%ÄÙpîé÷¯éÎMÒÝôš!SEwYT~fñ§"ØV±¾-©¢nР~úߪN>xžÇ÷¾÷=>÷¹ÏáyO=õŸþô§A iIÚú«ÿõ(W/NBÜ¢½=ÅÄéâº×/j×l³h–<ˆÛPð!nÓ¹¦‘±ÓŽ´Yàáÿø±­WµÏXt¯²Ð„–,üçßÖbœ¾[öÁ£Ÿ‡ü)ˆßE™q¦¡pb àI¸c+ÄDh¨;S¯"à[/v¤Ë(<­C¨GùXDE¯¢W”ïk•›Vë»KÅ/+Ü ­MoX)¿­m¤žðað…«WDb15œÖ¾Û).&—: ”ÕRo»¦ê•sñ2Š-‚¿E€ûÆ+„ïÆØ}Û  «ÍD×±@ÔÃ=z”0S(ÆÄâ6±Ûï\&à¿Ô™@õ&Æ¥ä[ÎCX •8Ç0À‰AèW,h«O-üqáo©1ô£áo¥{ì/R€¶mãyƒƒƒ¤ÓinܸÁ}÷ÝÇ\6§Ñ†2ZMØ¿£‡{v÷òÃÃìXßÌS‡‡´µ!&wííc+MMÍìëKáÚÍd'Çho°øØ}ûÈ ]çêPX¤£¬ì •²ò·?„¦it{˜‚áópä)0¯Af ·ÂUšæ®Óœ¾ÆtS?é†^Q °§c:aÛ589 cshØŒHPoéÕjRû•Ð9yæÙ«Œ¶ïb.ÕM$ä^«¼eFE”‡%52 ‹d_Ðüª¦à¸yšç®Ó<{ñÖ-LµôaùÕ1}]N¦1±zƒ|ùÁ®¥U ñ ËxfýÓôž|\Å€ÁÑ&nl¿–ói\3AhXÔþðªÖPDÅ:ÙÐòîAâ“CÚÒîbY™r×0õâAÍïºK| ­IyÑú±JÑÅVd=m, ¡¦!±B–ÖÙËØ~–ÉææRíX~—¼FaLh<³C°ñ움|¦È–8÷6œ  í dÆAŸþj†ê)Ô•ãOÌ<$ÏÁl¶¶7^)ŸA^ ^ÄL$8p€çž{ŽX,ÆöíÛinnfz6-€f >d=Bßàéc78mœ‹£YB×ãoN’õ¦¤Ã[?}–­[Ö3tmçJ–_ÚÓÎÿñê$äüâŽ,5H:µ¶FEò<ý4#™4ÏÂÙ¾=Íãpy,_æã|ë†ãy&7Úï¦oâ$6ÎP÷-И†èjØ$¼qŽ#EL-Γ®`\<ó‰†x¶AïÐqòAœ¡¶°iü…T–©–%b‡KYU*KϪK+¡„†sst eÖlg¸ý!6ŽÅOäíØŠå‡¨µb•UK¢ª7 e¬†e\8D•Žñ3´Nœg¤ïvÞ숳Î?-&®ŽÚ0ùÃQZn^ Q˜àôöOa{AIÖz.ðr;j-¶ÐECñƒ-gŸÃ2<´/E£ž“À²HÜç2ÛEŽc´kOäÛ²ª‹,&©Ô‚â›ÉÜ,]ÃÇ‹÷“‹­§oú³mýL5÷a†Z Øñ,Ør . ‡ Ð3é9ˆ‡pð|g ö^‚«#à›KyQïþVDqªÍ4Z"8.ôÀ»ãðkwCŸ³4 ¦â纮¬]»–Ïþó”·ÃÊçó˜†bÊ?8°ž«mÄ,ƒÉé ú;âhè£1cÞãCÏz [._½Îþv 3lêi¢£Ñd2_àSwõ³6a(±X¬xR,}rTi¾I:H2V pšóAÏD iH€í…â›ëßdbÍFY·y’G×¼$oö“92Ǻü5™j[O2€D¾øžeB\TÌÄ|Xê¸ÏR;vSËQ|Ó Cïâ7l»u†Ï¶”çÎtÒtzKZÈ$ÚJVDÅà•:@©±s‡.¦^T.©ª¾/*°vêŒdÖvsë-3Ò—¯lûÔ0è ùTóâµ8 õ–%\ØêeX5®×‰´L‘²s oÿ${Æþœ®Þ€{oÿv,!ÇN¼ÅÙWOp¡ãŸÍÒì€aIÕöÑ¥hÔjjÈX±3ŠA"7E,Ù ÍñÓtîV¹ÿÖG‰91Þ9uTôW GÛ)8[ñìDù œª¶®ÙÔ6M+ä]˜óE°½kgŽ3´}?l9Isìš<ÝCϹ‹¸kû0ƒò»µñçY" W0 Ä4‹ÎW̆d‘JÖG|‹ŸþªÛiÑ¿©e_*ˆcB< IĶXòôÈZ»Á¨ïû2;;»°\IJ0DÈyÊ?}d#aೌo#³Â Šešóaˆë‡ÄÞ×Gµäòy,˪wÈBÙEAC,²Òâ5UµXf˜Ù …5Úp^ºÿ6M=ˆ¿¾z;ýWO1Ú±-¾7Ï*—¡!¢¡h‘ýò=JæcÀåcDËTµ2û¾DyÑ@À™›„þ8ìœæÖ=;¸1yŠË'mÑPQ-ÒpD(KÑ<[ÕúÌ©£H"ÔyêW™/Vº0ÿ¾J1¾ÐA¶›;“V¯/.ŸÞ=­6n”ñoÐ7R{è;-W6Ü¥Ž[1áJ9GU¹Zwž“U’¿ÖFWZöl‘ê–ÐÈ©?('žÄ4´…&޲yë?d]?¡*{Ã=;˜\ØÊ°¹—®›Gäzï~µ=-ÓßJšLK¡ÆŠFtÝüž\aÓ•êä:°nä$Ómý¬Ë>&[7ý¢nèëA5”[Âzâü;0oZˆ¡µwr)-#•ZÙË:Ÿ–(u¥2JÔPEQL7‡:Ò;§¿p»ÒÞ¾†›£§9ßDûØyëØ‚é×Ç_i\P3‘Ü©”ð®ªHXWÕùô÷‘Z–iž2?²K” êÜ*𩧆UÜ¥å\à¨Â‹>la2>>Š:q|oÉ,EZ:裡â„.ض=¿`½a–({¡ƒJ´Ö\ªx¦À…ñ$kÏžåÂT3cW_³ 3XaÆ¥*–<äÈ$µÈö‰ÐœÁ!ÓØ=3Î…!WâÉë:4ÛŒ–N…*g»³I¤Z“Ì/-?K ‹,e2鷺¨Á<;I.ÕNj|–“7C²þeF§[hIßd¼{W)¨”ùµR•o£‚<· Bjn*%Bm'M«fÐHê„&íaddwÇ6Çfptg:MÌŸ¦yæŠÜXw%å·x‹&#k”Uæ—‹.‚Q…„¢X¾0Úµ—žkoaa2<>ŒëàØC#7ò6’³DŒ@£pIo¿jc•…èo”*¬­(Zì+5?Ó §®]Ѷé,³S 4ä'ê¹gËuð·šñX)ÿDˆÚE¢u¥±¸0®K*‹•¸À–eqäÈ=þ<¶mÓÛÛËý÷ß4wõ0pì»èØ j95‚¢¸y$ž\h ÃP fœUÂ0ÄûÜ?§¡±ßó–¶ÜÎ^PÜZ?(R ÂâÎÓ¾®êhCí»è¹ú:C/eH?ùÿq³á÷°Ò>ã]kÁ-–áùÅå}a~±\Þ¦l™8R ª‹§ÜlÛJוF¾qQwyÿžá–?#N2c¶iè-n–%8Põâ.Ëg=}K˜J¬¡ux’›_?Ikþ ¦bÿŒ0„Éx#±B€/æR2U-EZ§o%ñF6èšìIzοÈàÚOÒxüÛ|ùúüÿ´w`\å•öçÞ;U£^,˲%Ù–{ÛØc ¡×a„%!…d–T’e—d“MÛH„MHØ„Ð@hpÃØ¸[–­.«·i·œïI3*¶IöÓ?*£¹sï{Ï=ï)ÏóÓÂë¢É½’ú7‰åëâOºªbL&  NÔ¥;˜G™írÔ¿îݯ”c%3YlgÇ :ª£>rŽ_´<éPÙƒ„{PõƒßŠbdA5L€àtp}#öûÙŸ¦pFªDYäH}Îò]ÙŸ j% ÄC¤-ÊC¼Áñj½Ã'lâ ÃÀ0 ݶm\{íµD£QŠ òSN%˜ƒ„P/8掊US£‘~‰¡Wþ„UQ ýû0«6h|Ó¯H¼³|Ù]EñR‚ªœÜ,õ ˆ$O_14ï(˜CP¾Y~Û9gÆåîùÙ?ŸàfðþkçsM Š­`‰ºíH¢òCàfÔ€¹õËaqœˆ‹®xfêu"†gú°}–šŽ’­§hŽ`½\©þÇ+ùÔ—kñ9iCè‰FþíJëÄnÖÃ>–ýªÝ2ÅsñB&Ösóðílá…œá¬B2ýX9ó‰Ô‡³Ãû,qM›fTšt 83]OŠöëí„:b„­(xŠ]ârÇ%Íê[\ˆ&=#³3‘ê‹Gd”låcÍ>ÿô²ùÌ ôµuêÿÝ7°ý²ö Ÿ#°b©ºöpª™=Èfr'*ÃoÆPôDõð‚|ÎÅlVþõ¦j )R{jê9žD×ô«cY˜® "*!ˆ¾¾S ´ õ÷‚æ‚Äaúzô²‹`èi¼ÄþT½4“ÖŸŒ©&IŸ_ÌôyN¢=A¦5NíäìÏoâ[Ñü  · }íoãZ*ÊaÉp \XX(·Þz«ªª466êe—]&GêÇ$òccIÁio”ÄÞm*Á€x±!5 ÔK:bä—èH:‹1¨¼›)† }!øòo!·Öù‘3ÚнCðH’w mØ4¬“Z˜¤À‚$ïkrøßŸ'8¿¦Å† Ü Sòà=Çàå]°g+$r&TƒÉ¨N@¦Ô?9(y}Žvã™&¥ó%È@’¾éC&œÕáÈ¥-®ÞþÑÆöœá Ôwe’úÍXáÍãb³þ&¨h„óÚ’,î³¹ïû6}>ðéXí· 7üL)€ãütÇ4!tÌÅŠ& ¤4Q£iÍ“Òhzb1hqÇS‹>îÉ=†O«:ùšLé:uˆ¸%,œÊ•%„?zº‚£ÏAÈÉqÊ)ø‰$ç§û>C’W4'uZÜæ—]6q3€¥ér"ªyý uדôåHþ4í)¬Àg§ XÕõÐð¬BÞׄø àÂKO!ϼ @ÓFÔ±²0%ïÎþ4¯2]—ÒŽwÆûq ‹¡H%³Òuå±6;añwÛŸ’‰QÑûß„«V eÔ;Ž–dw¬„sÎ9‡;w À\ Ñhtä¤ŒØ Æ ‚ã?wÏ#¹é)Ñ¡!$äÃ}ÓÀ¿è4Ï¿†i2"}5²šJƒ3/8“ú–>ŸqoÇÛE\7µO{ NFCÑ9¶ˆ:N*ÕN¿>¢8a;£ïócò`œzôdÃ~Æ`ð²` p5ÉJAD•dº†êij=’#W=n͆«ð±¯Éx­q:~Ç)ô¨$EpO¢¾|ÂSÅÃШ•k#¶+“MþÉëý'3IÆ­•£àÄ“âijócI¤'àá2±iF:'ÉÓk©{ãzˆç¡¶“²'ÏSŸPÞ¾—@´OÖ,Òœè1"m’k»ôNuÐágÃqS\F Ì óÙŸ`8®”µng §H[§—‰éxtvSزŸŽÒ¹éž‘èñ!úÙ_êz$i£ž—A”9n œ*Ëy¶m³téR…5Î4M0LŒ¡ŽÝrn"¦dO3:ßñ(˜†àºH Œ&¢*ë>œìÝÞTñT±\W];9¬F=úÈÄܶ´6…³R$í7%Mm3FT{RY̰–Eúg5¼ÔÏ2òúðkF:§5ç*[3…"¸&v72˜“Ç‚ÕC\¹ÚÓWwÕó”·H§5máhÍéb¸^ % Ùš†ŒÎ8‘ô º”S*-Óе M/µ¤Ÿ´ZN†Ò÷¦‚Ñôz¤361$»Ãf¤ñ £ NJ¤+j¯é ¦¤¯RgÎð÷¤‘²htB3ÒÒtF0¬@•¹§ö¨ôß õ0Ô(Üû ªÑ@Ó<ò ÆX1iÕ lK³”lʈí¨d˜å°½¡’‚¹h†Î—JæÕÛÁV1¼‡Ž اkøéÍ?ËþCF^±'µ„‚cøbQbs õö³ö þ€>ðX_ý ôMW52ìŸl6rêyIqÆšþ]ö—оbj%c,ìâkõi]ã1~õr×7s¬|®*ö7Š+“Œ*þö§d?Ë'*¯Y"Óž!MÅH£ÝDÕsq ÊqRP•¦Öôÿ‰19 FMÆH$„Ãá“…¿#YOý$ð‹µÌ3õã$+ Î5]Š»Ð0m.5yÛ¨˜y65m›ÀŒ‰9ÚÑNK›MJwAeàšÒóˆW …°Qaº1·L!>ÍÝ ¢(ÝštuƆfi<ÉìðŒúÆŒ'Ò ·á1õd®Þ(>M'Q.Ñ “Ó82Ÿ$²ðc#˜¨‘zé“£ŽF>üv(Ù<ÆQ]¨ ûË®Ps‡Œ‚H³1ÁcíO'§W`¹q|ø›©ªšŠúrdŽÿ÷ìÒ5÷‘öÒêw3Hý°?ð°LÄ(¾œ˜— ØlÁž}¡™ö7º:#ZùÇíï$`?#š¦I"‘à¯ý+ªª6l ¤7!ÃIb¤€Ðª®ƒ˜Ö„Fªž‹gÛ¾€ªz#à%ˆåð|€âº¡pˆH$’%‡u’Np¢‰œ Ó8ûvìÑD²Fhæ ·h«XNi×^ÞYMáÁoórâlˆ—h<2˜î¦¥“àI¦§e ̉d52žfÍúu²T¿~™ýÑáhs¢šÿäk¥dïÀÃ[Èhà6’µˆŽMÈEF‡1g ±ÇŽ“IrâãiÄG'£ö'ã×6 Á}CFu@ÆOvÚ“Ï]ƒ Éʲ,O2£Y²¡n™`hÉêà &’‰á`ã¹9 ±@aãG{×ðòoî¦6ºMO9çõü«Å§J›ŸsòwÚ`ˆCÌWŽ»w'ïÜý]&¦Ò½Ž2óÐ(Au\%D&ß ßµýäõŽk‚¨ˆˆã8<õÔSzþùçÈa]yå•(’[Èà7®'qp?j¦x$j£ê‚á7fŽŒ¤‘êÙD[ëQÇÆó,Ä€PåL]-${3U‹ÿjÞI¹#E%€£A< “p,G‰'¡w$ Ýý`9J(˜ÒK xÂo˜¸&é¥9x„QqñxAlÍ!©`èXæÖÄ0šÍ"œ¡­Þ±„WG2¼GÚÙSºúO „€’Fê…‚üÜ)Æì„~ü° QÔñCÕf¡¤>{!$"`8rìÜDx6QÆé´eˆÏ¦•ÏC4‹õ1‰‡Pu-!ÔsÿþÔ'_¹L›ÌÊaVÄvOCDá‚I>æøøÀÔùû’:ÑY_\øÄ¥Â@˜ö¤JÏ}¢Mb¿‹gÁ¬WEs:…/\(¸~WÏ7”§ÁMÌð‘w°Š…Õ|bŽb ìÙàßñùBE=Rù Z+ —¬Yº ýMÄ^,ªÉ|ŽÀ„Z|ML‰ zD¨2˜¶9Ld¶EEŽ+¬Û³’ :ÍÙë»´¿ô9øöÂUkaŠ &_áq5@˲$ÓÛÛ+ýýý´´´°fÍ’ÉD:Æ5 ìÁ>Ô3(:u-F¸LÊÏÚ@´ÓGdZ© 6#2½3ððKñú«ôØKJ²¯ÓÁÊ+&ÙÛ”îX·#˜Qc±ð;¼s¿lª¯£uQ9K¦KM¹ÇŒUa›ÂeðØ“Ës?¼ójkr\$ÚMswQòCˆ@¢¿Ÿ¼S–c‡,|“Ödš['SüÊÐÖ]ÈPTÆÎÒ1DÛÖHu¼ÙÑŒYç]øÏ ôy’ÛèQXÞ2›Ð¬”oõµçä÷ß¹™ «ª4†A²¯™£Ýõ’»ñ›©£¹.ŽeIþª•h8GÔi“á· ¶ïPíê’T}¼Ex®+ pÐgpõ9ÿ!kV¯ÇÃ9L DŇô¸Â R±ÚÂ#{Òd€S9ždÌ— Xcà aÌÇu±Sß»mé¿@\´‚±"Í’Ý}>¦'šµIö;sÔôOÎþª „z? ú8û¢qkàh#»1ÈIz¹ÉÖO&z\¥É,Ogœf –Ÿ”ཇ!~逼&£Í¥¸Â¡l…ƒP VA¿«¡U6Vȃ·TÈSˆ+Ås\–/Aú:"§Ùb,Õñc.å!}úCܨÃP¾C~»§º)¨ð(œê‘»ÆŸçÉ ®ÿ]ÛŸ`àÆ† —üeÐÕíQ¿Í*•L¢ªäääèªU«äw¿û@€ PRRBÓÑ#©Zh" Äîd`ß[ؽør£ E=B³ÖÓüðO´ïPT«z(š?_c¶Jtߘ: w°SÕµØu$š›ÀNŽU'‹¯³aõ’OríÝQýú'©Ûû¤P[IKÍѺ8V‡°í™·¸ï{¿ÐÏÿâ9"‘°¸†OóZß‘Êm¿×†U×3X6Gp“¡ðÕçÄY°œ"NyÕ•#U©ë/¢óÂËP0ˆ‘ަëÕþP˜š@@ïø4¯îí–eõqâm ­êsh5ôMˆ?žyì÷<úóÿæ£_ÿ•Ξ3—¸ø(ÛÿÓÞú£î¼òû *bšäù|äÙ»äU#U–UŸ_svn¦ëô¢''C=ƦʞzâË/Ôâ—ž•{^}žMûzÕ?]‰ ÅN4jm¤ÇæùEÊÛ’šßïHýá„&Âqœý{å—O?¥­½½øM+Ë>ÄçMW=E=7£g—ú7×sA‘¾áƒZQ3O–W&9x$ Ÿû´u‹VMI5ïF ^ãéV’J=…©IøH+;©)ªC&ÜñyÄ?¦'Ñ„ÐÚ¥zÃyÈ®=íƒ:CB~CÓÁuªðí³èëí➟Þ#±XL3ר‡e!""8ŽRÐwD§7¾-¦“àÀÁ/j4\Œ¸Iq]—+®¸‚5§F,›Ïy¼™ “Þ£±Ïƒx¾ •6¡>‡ÃcêL ×ÔCƒ¨4Æ©ì¶)Š{2Øãp°>Ž0ñ‚¨Ñ˜À.ŒQÖœ`ZÌSÇp1“®´·&ik«9Š)ñõîãäÀÙNÅ0”¡îѸLïOR÷èq´A’<UcÜ8ËÉf‚œ”BìÄNÚe(†4%„Õܨ#¦™2ª XÝä3A‰„TUU1oÞ<<Ï#‘H‹ÅÃÀð žzÆÔ:ðéíëFL·«™ o&ºãìÊS$wnÉè-‡ˆY¹T%êÚJþÚîF,¿ø×¼wv#fJm&õˆ§ ˆš)ïJ3Ëf.“×/8›äÞG!b1­8À´¹¹P^Íÿý߸eýjYSephßÛøñ´Ÿ#Ó‰ÏíÒÂÞ]Ä£C²lÝ:r[‹‘ ŸÏ'„ æ–ùDÑ%ElùÛ߆Bãåš\"«˜¹‹WQï•Y5ù,¬ ’œÆïú¥pjsA1”ÃÿòÛüê»ßÅW’+=;4Çò‘´\T¯’‚¾ÝšȰú¬ ˜½¾i"X¾#pêâØó«õµÍ› )PSÆw\—<«D..§¦.U3óä” Âvdœx ÅÔÐægÊ‚"Áò«oü²H„k¯yýýü~Ä0p ¡÷"yyâ:Qò*§á$’bù,|–X,&¡pˆ_Þwû^ý#ןû5{nûr° VèâÃK«›X:ŽÅ&Á°`ù`ЂhPÀ"Œ!¾ )eàE×…pØ6Ø1 ÚëD¾õ[åh§ðŸ7ez^‚©EaIͽî;ö°ï…øÙÏ~&ýý}ØI[ ÓÀ0 ñÄ ¿®Ž ‚Æ¢xµsñµøÄ{ãñþ^Öž»X¼Ârp’<óÌ3ì~î×|êª3߉¢”ãÌõÒ¹yü¨qJ’~¦ÎÏ|£®Duެ ¶È+ 0¥63`Â$YQÿ‚üÔÈð)äZJÜ¢`Z˜¹å¨Š˜Ÿ/þÍF8AD–‘´ÃÛ~rgäKE娜LMà݈'?Û$ÑŸC Bèï °×Õ ¦lMW†lÛ–D"¡’úR˲ÃÔ€:~ðË8Ž;nûU;UâŸ_³ t“OrÁ;Y¢ØÉ fAO²†$)JªëlGcxˆà©âª¸IÅt` f³¤bšÙ ¾ ®éG0Åç&1qÍ€ªå’´•DÒ/é‘o x* ÇSÁïÄÕ3x鑉¤‡é $\Mé—¥vª¤$’jð ?*Ê>LÅ×ðk"9$Žã·=j sÿALˤs0®½å•„««ÅPodi38êÂRÚÕÜÁ„ôtÚúò‹/ð«{åÊ}‚ÝuÍ,X°ˆææfz{;©ž·…g_­olz™"#GÎøÈÇxû•((豎i9ÒÈ’¥KuÁ¢EœÖ•¤ÿÅgÙô›}<ø²êòY:SšøüéMœR¤®Ó¯GUôDŠ3ûà˜†©û·Éáº:]´h¹”ú’lÓPÀÇÛ½ÍøÛáôS—I¤ ”¯ü•Ùµs˜¹p1 ‡XTQ¡›…¥óH?úÃú5⛎6ø °+fà øCºýh7óVn_Ù,}{ˣ̞³€þ>¢±¨æäçrê{¯cÛË!žèçô³>À®§îSfÊòYUò×^[s.§ŸvºÄÃeúLJ”fÚZúŽ—Édw´Óhǧã˜Öt5ˆëªžGѪe’SZ¬™AÀ0D@]\ÛC|éê¿ç!†AÜQõ»š ¯]%n{X†M8FÒK)HO×óRÇ a{ø’žÁ‘h_E„8ðô]wÑûÎ;ˆÏ‡ªªa¨ç¡ž'‘U«4PQ!jšÄvíÒ¡mÛ¼BŠ+L¼½]J|'½F§Ô´tëéW\NÀ²$ƒt1i86Êè8kæzdú™ácºI„“ fmw1¡šPËçó.xúyóÓ"˜“v/|ý~b± Íai¥€µÞÉkh†‰d1wjü0Dðåä.Þ§¡DÞ\¥"¦™ ¸NÖõûrÂtîØ U³%º ËMjS[D¢;:1;bÄ Kg¼â‚ã¯-Œö8| —<4Ïÿy+‡öm§ffoïx›²)UôõÿŒ+νQþôÂ^M„\.>°›gžz„ug_"û÷ ?ªlXߎ/2—ƒ»‡$PZ¦O8• ½Ankß¹1†± œ¦›i 2íÕW´wÉ%YðO“<ÿ‹oQ;{–ôíyGw–ÄwÑ!a) ˜úVw”ù§î’þåUsi9ð6‡6;Üü¥ïð‰kÖÑÐÜ Ëw„yùç;8:m*;òsñÊü}ò Fu1ÉÊé„Lhm-æð&îýño9\·Wþðû't0š ³½™•§m`Sù›òÒ–Nòâ1ýÛîD:¼HYÙŽõÄ UÌ—Ü`ûޏ2ÐbÏè:–Ï»À ‰çƒHÛQ´o5ÕeƒÝC}üYæ~èý"–o¢‡}Lïü]pIOòaÍ€QÉSwÝ¥ÿòýïsë¿þk*!‘Hà÷ûÅ ܼYbƒƒ<Ðüùسg‹/7ŸºO«ÛÔ-!m"¾l?ýþ÷ùùìY²|ùòã?9éÏž 7Š+Íœ­­“-‘žC<áL]»v±sçN,ËbΜ9ºfÍÐ’iÓЯkkSÃçÏqð\+dLoâÑBé*ób=Ïcö‡?¬ùùùضåé™|ºÊq?gÂz…çdI‡ü~Ýyäˆ<òÆfþûŽ›Ù{ïQŽFßá¼SVi4õŽaBkâ ÅÓÀKþc§^ºn–2 úúúø—ë®ãW¿ý-ÍÍÍìØ»—‹JJ4ëÓL íh׆òÅM¤ n¦)±ž^l+ÂPدo¿²‰µ«–±mÛVݹ±Œh8*]`¹ÙVA‰Wô(+†”Ÿ<û÷: tTòÕO}ƒ?ÿöÓä 5qæ’ytYÅ §Qo_§¹Æ'i=ÖÁÞøwX°Ò¡£7¡Añdí²jjrMìí¦ñÕß꺋×ñ¾µ üdcŸ]6HÞª5¼üêª+kز·.Y¶’Š–:òW,ÉZ£ß=ü·ÞúL;©E¹qlCk ü|òÊõð±ÿÔeË–Ë´é³)¬˜ÅÆ'ŸäýçžÎN[ÃŽNC¯ª=(mëg1dìáüESÙ|¨ƒ¿¼ÓNË%tçƒß€æ$ ½å|ðìÿ`Éògõ¡ŽO\~÷>ñ4ƒ±(»ÛVéìi­²cû/pÛ®dÚ…îÛÁ–}eÍÒ¥LY¸L›ûòåÉ-´Õ+ßz’zÒ4QÓMÈ”öú§ÎæÚÝ/2³x5õ‡÷iqí|I>÷†.¾ðŒ‘èE'˜Ò"ÿ€*Ç£þ·Þ]»øìg>ÃmŸý,?ôGŽáú~7ß|S´´Èy«Vé{>òyè{ßÃ7s&ëV¯Ö#íع6Õœ®nÚÉâ¥K%7·w¸Á—5Ü<;Â;8ƒ›ùžLâÌä˜É 0•ãÆb Ⱦ}û¸õÖ[q‡Ç{Lêëë B Àá{糧¡#ýæ@8Lw4ŠÉÈ Bñ¥5ž–œÄ³j% ›·0Jê=R}à xÙc1eÌNôn°ÙižzÌâ !VÔ“a§Ó‹ÑÖÙÁ‹Ïn’sî~‘¯^S&ç¿ç¼ÌsP Cèí€pZ:ýÝÔ"ÆïFžá<˜:3+íÀu]êëëeç®]ºtÉ®ûð‡å¢¯=k‹WÃ@{„d¦ÎízªbX†iH ­½õå¨_ñÔ¦œ‰NLCAG9râ)ø}&¿øñm´|/~úžü^6my† —™#½õ²kßãü3˜¾àtZ^þ ƒ}­’âÕWžfoy5Ë?ó5‰Šŵw É'/ó³Ä=½¹ÚØ!”W bZ±ÐŽo.Œ`GSufŸe‰U[ËúkV¯¦ö”ÕýùçÐP‘äÐÝù—\Æ·¿õMžxî9¤³9SÊ ¥ª¤ˆY ÒøúAn»z-OïJó€÷ qŸâO÷ÛQŸ0ÄŸž¸OÚ^»]t‰J Ãûß"¿hºä×®ä­ÇÞOO÷^æÎ¸€-[§ÛÅv•ÃGóVÝ}rQñ|üüácf¢»ŸÈP0K’=UôõR{˜? ?7‡x°HL.VA‰DZö1{ËÃÄkß'pÆxÚʘVù»²¿Iºã°ãÈ}Ãï×ÁA¶oÝÊå+VÈ_^x‘‡û µµµT•§wï&·¹™Xg§´46ò™/~‰[ßw®†ý>iŒÂýwÜ Ëû®¸|l¤72ýv°¹xw¯ŠòÉ6uR'xœhoB®ï ¨:i œ†Ä——Gww73*+S)f(İÀý¼÷_Mam--;`yCäN)Ä•\Ž>ù ƒ=IN¿ívmýÛŸ%§vÑ£û¨Xs&†?D²·‹¦#í:.Þþ]PâŽRcù©3Q×±FU¥´´”?ü×ñÛßüZÙQ˜·7mbÚìÙÙÛ‡a¦à?úž‹çB8"à¥û» IDATØY[QAA»víbÕÊ•­¯gûoP»aCÜÃ@ 3G—ЬC…ùÄ\¥»×áŒCÏàÕ¿ÀåÁ©œvÝrÌ ‹W…bg0~$í÷üPñ:ä€Ú›ÐGžõóâŸê¤(ßdŠGŽíçÔ3×sÁê¹¼Q·ƒ¥k«);0‹êòù\uz#¼#\QN(2ú}ùœ5¿š`I§^zþÁí¬Yµ ë€r¬qˆ»¿ÛDyy9•ǾGí¥Ÿâ W¬u§!ªøD+ââ Øyô(Ÿ¸ùf6½µ“úD€Ø`çÔ”pÖŸÄž¿†p$B5Ъʬy󠣃ñüSOò¯½‰·â¥¬_^ =÷}E œÍ´+çaä Â\°ñ×ûô¡íoJeûAr«f°±m€Ófçðé[¾@n~„dâ ¬A ô æÔî¤É' gðñËÎæ¯oleny ¬¯¦jZ7Ž'ùÑg¡­5}ŸüB µ“-<Âk۶ⳬ¬,H-áåË’rÌö·¨ê ë;ûUÚž¾9ø½E9 8• Þüó/º€ _Œ)'Gqø{ÓÞý¿§JGg'3++X9s¯VN§°°¼¼<~øÃ²fÞ<>výõDB!Öž~:ž$á:„]‡ÞÞ>†ì.õù|YŽjØÉyÉ$-/mb ¥U ËKɽáý‚硆1¡O5Ž©•ž0½>n$ xíµ×ð<ÖÖVÞ÷¾÷ÑÔÐ0RƒÆ·÷ÔFüò«*‰¶4S}Öx~;µï¿’žú.rËËéZAÑÜÙ¸ý]xš$ùi¸‡ÞàØ;»3 ÿßnÞˆ«wìL¶wÊÑ[ñhâ‰8ýƒƒTþ8ÞɺzÞ(>ãÚ Ódphˆa·˜ˆÇéB ƒ“I}lÛ¥¬ÈÏ2‰t¶ Ñ~Âsüô ` (Œ¡‰fÀ/àØ€ÍPÔæÒ9¹Ð¨Ð%3a^eB’kOå–Ï}‘oÄ´ÓÄŠ pÖ¾—X¸4.{•W_&÷ô鿆'†a`;.¾ÞcÌ|‡÷ÖýšÍ§~kËV¹E|åe¬ ¿ÊMïŸBßÿtóúþ>¦Ÿ T»˜„íŒ4Ó’"¬»ì2Înnf÷–-,¨­åKûúpú»yôÀ1Ú¢IŠíœsöÙ„Ã\qÍ5|ôúëé*.æƒ7ß ~?ÌœMY‚WwcaOjÛ‹l¬"¡þÃîx¼YaNõêøÉíŸakù騮GÐg`çáË “ïýWâôc®ZÄ`{;vÛ*Þ䬹ÕèÂu´¨ÉŸ_ú=³kJ°r!ëË"4ÐËÆ¿=Ä=/Ý˧n¸šüÂbñøÈÌíHQ=û÷ST>€‘ï§-/‡?¿v„ıA‚þbrª2Ɔf^¼ï>N]¿žüüü [ɯ|·)´ˆàóØóÖv’­rçwòÕ›nâCçœÃ–¦&úÝïxÏ9çpÅå—Ñõöët÷ ðÊÁfÖŸ}Î0µvÜ1ûë¨öe:B‚L)€€)‡~÷çžI¸¤hÜ{&s~oÀ”Åþù²yóf¸ä’KH$)†aìî&™Æ¤¶nÛF´½Sœ¨šN¿Ä[ÛTlݾCü@¸t u¿\ëŸz…€ßfÿ#dî¹çÒ¾ùu>U¼1ü±y~–: ‚í¥r}CPwòðö„]8¡½½]Þwíu|çc×Q»áB–ϬÕ3Î=—VÛΔUV™ÜÞNÄiÏÜÈNg´§»[–-]ª?ó K—,Ñʪ*Î:çzb12¹>cê6<Ø”+¦ÏGh°›=y•ºdþæZaìx/š$¸n‰&~óM>·ˆÈýÒcá71ì$žz)r‰ahž—š¯à%˜W0«7؇[·SL_Íf}gç^þiùR>õoŸ‚èÌ)'¥ C¿òÆóÜþ•¯ÆyðȼyótfM üõ·l7ÌYÁ“[¶Hs{;®¹†Ë×HNG§—ñó'þ"—>U/¾òjîþñÕN küŸØ‡:a§:ãuŸeI"ÕÝu‡Y¶píïàú믗ͺæ´Ó¤¼­ƒuuzægðæ¦¼þÊKœ}Î9 J¿L:'u¯3˜i’vqÔ˜]+Ë–-ãåçž×=R™]ßËL}Ç>OÃr4“ÿ¨4¶Œçãc‚xž'žç±nÝ:Âï÷#–…Ó×Ç»î"90êFº.n"˜†x"9’`í-‘TØœLʼ5«õÀ É)+ÁwôrªƒÁá&ˆxž‡›VOâfê¦À®.»[Ë’'Fˆg-TVÄä8”pÞÊÕÌ^P%Í_º”þÚ÷H¬ýRSãgùMÆÛyW|¦‰v*U¿ßÏ5×\#SËËÙ³g}ñ8Ɇ¨®ÎKå¥g6yŠxt<@,•¤›jÖxb‰¶ÓݽT|e7ò—¿L 4­¼3Ö?î¢þpíY¯qqÝx»w)/Xúxiï…Ëgbåä Ž‹éócŽIs¼Tç›cGÊ̳Ρ°$ÿv!o0EXŽÀ)ËG"øèÐŽãˆÏ— ‚Aíj+”ƒW2o“¤äòKáG73ÇHðûG¥ýðÉ=3MHuži¤°Ššbëþ€Ðzé} ›â®\Æuþgœ²rsq½”æ…aí½Rµh)K-æá‡fåŠlßñ¶ì?p'§¾®ŽÛ~þs.¼ñFÈÏç'þø¹hƒ«˜ÊÆ7¶5²xé²ìhg›ü»ìqRÏ“âð<Ç!°dÙ2îüÉ=Ò¿õEN[8“ç]ÆŒ•Tzžô÷öÒ°p¡hm-‘œjkk¹ôÒK™={6ç:DgWüãE“ɱö/ƒmÇðuvIlh]G%ÚÜŽÛØifÓ°D&¿t9)áÉN…˪2J†p˜gÛš»p!®ªLÎzŽC$"+ ®«†e´hÅMÚUV Ë´  ÉÁA‰Åbš““32.SeøÂû¥/©§JII‰”€><®Q'L:K³ Âòv#ª'Ú·÷:½\¶Õí×Ò¢|ÙozËy¹0·]ûxræêAõ"aú^ Èí¿zPý…E˜†ŒÈî…{Úµgpªt.ÓÈá7äPgñi Ó,•ŒHÝôñzãa©™3[?¿WšNé®Î¬Ÿ!ïÔ9tU}\ÌÑ”2¦£¶mËÜ+¯¤hv-‡_û Öÿ~mjÓT±ÝeÇq(//gùòå$‰ì;e˜Ð°I5"’›_ ¾åËÉ ç ?ú;JÇ•_áÁoß%³fV«Æ†„L¶N"!êºá°z½½â+MÐ1ˆ<•ý‡„AåÞ_ÿ’ Î=—뮽vÄþ,ÓP;ghhH®¾újmmk“gž~Jß³~ϽºI ËÊ4¯¶V §Oçå-[˜>ožþÇ×¾&Í/?©C}Ç ü)}À (:ñ ““¶?²Äz&µ!$åJýÞwÊÜ™3‰š~Œ–:}iÇ«ø¯ý‚ì?°»þHÊGtwk¨½¸ß/~ËÂçóé[Û·KqI ?þ8WÍ™£ gÏ9ö0œeÆùgIÉJÝöÒF9r¸Qçº&‹o¾AŒ€_3ax™Ï÷6ÇØÔøx,œqÏì„rX®ëòÜsÏ©ªræ™gb©¹ b¸Ñèp;{":̸‡Óˆ¼Ÿ±¸®KNNŽæææfÉaM†[¦ÐÚãHY<ÀŒÒ€:®fje]ÏÃq] x¬Žã ªê©' ÛÆç7 ‘$ž´1$¨žª8Ž£¦e¦÷Çôw×QÏuq=ïD5‡¬›àº.®ëŽ3ÆŒâm c¤"c ÃPUÅqµLSŸþ)ûê»hêë埾…CªßïyˆÔ²ÈTÄ|S§ÒgZêµÔãE ¡Œµë52ÿT^ø‹Ÿ—^|Q®»öÚqÁy8Öƒò™ÏO]|Ós<îܵSóJJøì> wÝ¿„ÊÊøò¾Àïý9Éx×qtÅÜY2Å/j».vg^<>aŠ{œ ž(]Œ³¡árØ9×\Ck"¡ J¢­CÃIñéÛ¼YÍP@üÓ¦©:ŽHy9ÉdF5žQî9|ø0_¸õV¹à¼óRõÙŒù¼ªJ°0ÿÊSX0Ç ø1LƒÐÌj†Ù`Ç¡ê\ d–Î&J‡'K³¢8×uyê©§X»v-¶móä“OrÕUW¥œàëyž2‘¶žŒùÜѺ×p-Q=/¥4œØ™ù»çzsrøÉ³0tÈ`:nJ\†EES‹ëxü|rŠ‹G>#«ËLb†Ã$IĶqÄ×ÃvÜøfn.‘âbüª‚ïG|&äæÁ‚€T)@ŽƒûN$p-‹œâbŒÑN`Æ€é4è3&>4„c˜&¨bøý$b1ˆ””à÷ùp];‰!ˆä¢9aBEE¸ƒƒ¸Žs⊯aRUUIbßv^|”yË×évÈ›0”6=±ù-"ÜtÎyÜuçH$’¬:õ¢±onßÎ5ë×Ó·?ûBa9sùZÿÎ>v¿yˆó/»‚¶¶vº»:¹é¦›˜;­m°ìbô¢fä÷?œ·ŽÄÔYØñD žä¹cEB(bë®]Ü´zu Ì‚Ž]iÃ0$ãº.ñQ'‘Ž-*®G}ó®­Å;Ú‚¯v&SËËygçN~óÀƒ¬;}- 466±x鮽ôR~ðA¶Íu·ßÎo¾õmœÞæDfðúî˜ÇþÌòöV¬XÁ¡C‡&t6¶móðÃÓÑÞÆŸ6ïdeU9ŸüøÇð"ùüé¿ ùèQ"±ÿý½ïÑÛÓͳûšøúéëøõó¹ìÜsÈyá~ Ÿ0ôöNJKK‘´“> üÞñû'!²6ì Šòó¹åÓŸN‘7žG ³ÞûYÈ A~ÁI}hÔqð†BX–…çy#NÐ0„iç¬#ÚÑE¸´˜aµð è°“Av&MqO&ÎúK<Ç4M-Z$ÝÝÝlß¾Ù©ðuÄëZ–@ @Ò¶ñˆ£‚eŠ ®D,*5ˆÇ“>lÇÅ0- ó#$m—®®®ÌÜ~¬§¡¶Œàò\³´˜Ù{{Ù¸i›˜•!°=lÇÃg¦*¶ëR R Q[Y9zÜ ½oT•¡!¡¬ʧ€iA~…¥%PP!Ô×3eÎap@©ª†M?‚’epÊr¡¥%µ}}”,]Jr”Ÿe>n"Ahölr››eΜ9J8œm‚™7âðaaæL((Ⱥ¹…µµBo¯®¯ªJ_§NžUÚ`å)B[k YæºÂáÔ&2ª”;Ne ì”ÅÒøÎQ*GËž¿›ú…çã ˜:n„î£ 6`qM%ÉŽºZY¸h‘Üü/Ÿâ¼÷¾‡¥§œBIy¹¼òúëêÙÎ×Å”ƒ;w°º¶J¾úæfÚZ[dÙÊÕúÏ7Ü@,qÓ Ž‹?®êyÈ7þ‰ºµ7R§9ˆäA8o—™5ÎÉ!60Ží Ʀ~#쟆†^~ùeIGØÙê”á æ76RSS“J‹íØ üá0MMì¯;Ì+Ë7¿õ-?oIÛÆEyçõ×¥¢¤„c z׊üÛí·Ëoïß„W^ÈšS–³«¥Kþð‡?P5ã³ã‚ƒá¯H$"wþàN½ëÇ?!ÑÓ‰óÜo0Ö½Of._¥¼Q(*‚ÖVºkké:z”o|ë;Dä’ §£­‡%z`‡uˆ¬ø‰Ý{±-ÓïÏbÄAÈ»`D0A:)€š¦)<ð€Þÿý2Ð×I[¬X·â$q~ò²¦‚2¦­2)QÁu] ÜvÛmzá…Ž8¥aÇ”r~£ÇIX2&úËúÎñ…(&LÇîª$ Ç¡¿¿ŸcÇŽ±bÅ l{tú²ëº”–MÁõ\Áy‘0±X1 ;©yS¦Hoo~U¼B?Åy£1úûzÉ/,¢µ¥53ÂÓ <õØ+WÏ,&Ð}‡<ÿÐïØÝêè…3Å´èŽ&1lJLaji—ßq;Ó~ø¼Œ#–'ð|#*ßF$G €œ€0Ô|'çu‚¥S4v`¿ *®GpjFw#IãUøæÿâkC Àî~øýï§¢J35\Á2Óòü&êrñ'>F^nnÖ00‡øP†@PÜXœ@u¡Â"ìx'Çòû1=Šk'1-æ”rÜŽ|(Æ£ïÕè‘:ÏS$VZʆ$%^n¤K¨†à·D}Vª ìËËÕg@[yº懑Ž8ìÙ¿ü"ÁíÍØGš)[UÃ÷nù(Ÿÿö|è¢sÊ)äª+¯daE…ö ôóÒ+ãÚ%KøUwÛ´èªÙÓåÒE§±­¹ŸÅg™Xf†6ò¥Ÿ€öý„ßx”À¬õ„Œ Ì)å`g·²Â!?†!Ã&ai`‘iA¿E$ä[b ‚>\Ã%J\¥ý(x£j-nlˆù rËG>Ànüg]Q[ÃM—œÅÕ_ükÖ®áþ»ïÖº}ûå“·ÝÆ÷¾ûßìÚ½GwíÚŇϺI̪âçOüE¯¹áC’Y·‰*,‹ÆÆFî¿ÿ~JKKI*0ЃñìÃÐe‹qšÔÈÏ—dSá+pc±T4©×Ù$Á·ž×öŽNš:ðÿìý.ƒûq\ÆF=ÿ'-ÓijRÅÖæF½á†&yGÛñÔ]'û]ihh`ÇŽäççsàãcð}cip™LŽ0˜àõ¬¹Àª*‘H„eË–éÝwßM `þüùTTTÐØØ8rCDmÛÁ4 \ÏÃs]¢±¨¨¢¶mãóth(J2i£ªjúpmÇ#ÑÙÕƒa˜'ƒÛ“Çwá³>Åïžúß»ç(%îFÝ[÷kŠÊj¥µ7©mõõ|é;?å“·}gØù©ª …øÃoîá©—·2½4¢×^#?øî7q¸èÌõ\tÊLþãóŸÅ¶…o}ï'ìnhàwßË­œÅ²Ys¹çÛ·ðå?¨ÍE§\0‰DP×Å/BN~>ûö´¨Õ“djÔ¥³7ÉPCŸús¦òí=(QÇÖáÄó”Üp@ºïÇ<þâÎ:m1—^ùýÏ;¾LÔ68oý:-^Ìýàg0îø·/²õí<ôøŸõ¾ùŸ²õá‡õþÇS5s:ÿúñ[p§×bͨBm[C‘\dÇ6öîfzÜS.ö ­Mm)I$#ì‚ãb¸ZHLÔöµ Q *›½âFz7Òéì×î+ùòW¿¦¥—^v5¿úý£²mû6Ê=ƒ§y‚}÷êWîü!?»÷çœqæ™ÄzûÔ Ò;ØDoÌ¥¥ßÕž>›^ÐŽöxj¨Öûï¢çü!fþü_4ž_Hwñ|Ìø€f²$¼P˜˜£IƒŽ~ìˆQu1^jæ«áÒÒZN‚xÒfPò0Šçà$ãaùÕ ªÝV)ù/üûÁoÒwÉWP_ ;ÿº•Ħ§øÑM‡øåKoñÓo~…^Ï$™HÌÉ'7¯”ÿâåZˆ2oÉ©ú싯±lÉÛ:øö¯Ï9—^ÎÕW]¡ï¼³'³°ˆ‰D¸ùæ›9zô¨†JŠIìÚE(×ëó°Â>èï#¼áL’Ý=PSƒ¸. ¥`¡æ&X~)U o²N^!üÒ#0o±º‹®Ãíï¶8zÒ©h2ÑÝMlëÌpÄPªjùí/Œ¼§zî)ò4/цå$é OGL×"s褪‡ë©–D,Êóýêx)Ÿغu+ I$ãjsNM'ŽÆN¯Ô“\ƒ“Š”Ò`K$¨­­•E‹¡ªØ¶=B‚þPÓ²¤§»sÄwvué0œA𛛇#ÉÔ? joÉ9ÞÞ&ˆèð¸aÕ™‰ZÞšÕ)T<µèµ•[.3¥e£â³xm·AÕY) ©Š@~ŽŒÎ±ú}&½mõòõ¯Þ¡¸ÿ¤»½ñV×̤¡õ?ýñ|q®Å‹ƒ…òЯÿ‡D0—Ó–¯{÷έ­æÁû䇟/`(/B(âG"þ­ P±1-OLCUDÅ0U-ÓÓôÀ¯äû­‘ÝÏ´,:Ûše ³AðÝïòí¿…U+WŠ_”˯º”m¯½  G÷óéO\ìÝËÿÜs'݃¶ž¶r•Üwï=Ì ‡äöË×ëöWÿÊ]?¾Sîyôi:|>Á‚¢Iq0-ox‘†ŠùÿX{ïè¸Êkïÿ³O™®Q¯–d¹Hî\0؃1Í€C I€Â¸pI$4B»$j!Á@ècºÁØ÷Þ$Ù’eY½kê™9çyÿIX.À}¿YËË#i4ktÎsž³÷þ6ÃI‘™ p$©98ØJ¡D‰­tÝAוHQúì3Ñ£¸—„3 TuÃAJJKesåN˜~ñÎZp:;¶mbÞ™ élo#·r—êØµ-Ò+š©+D7’ˆ“™ $Ò(aÝÂS–©´Pð3KÁëÓ ÏÄ ¸‚ ·%QôÿM¢) Ô¦:-=â¡ùD£ƒ[àþ‹Ûöè¢/{N¹>¾ãì°ß<Ž@od{U[w7;;{8iæ òæ'Ÿª“fÏåW7þ  À¿^|NÒ†ä0® P­þòsÑuEIn:á0 fOã‚…çJ]k/.Ó –õf݆apÆg@¢®Q5zòˆ -“Ñ»_TûN¿D´í{È,­ ý¼±GoE.$±m—˜ù 7Ì-Cœìáh† n×7ñýŽV‘a*ÒÏ$P€è" ¤yH³¥¬$ K<¼wFÚ@Õöêsÿbr~‰èžV´¤û”›Ä zÑóÒÜôþf ØŸD 5·À7Üpƒ<øàƒhš¦4M;¢•Ly“CYƒ ER=³>ô=ŽÙ‹ˆX–5@+‘i\ `zÄ!2®ï8[8f®”·é>´ÃÙÝè ·î&ÛÐ0rœ1MѾ®†:ïXþûpj†öÝ 'ùø‰Rˈ¥+ºøôƒÏé þšPl9­ñ¹tnû¿ÍˆˆUú_<ûá2 |£èiÝ@gãGè-Ý2úäwÉË[ÍŸ†X¡ùˆøH¸Ýý„«†öíöVîK1 ”ÍK”úCÌÅ%=nñÖîâ³éÍJG’ » q÷DzýÃëIÆ:èˆê â<ùøc\tÑEýùâF ;|öø­á¡íîᦠßp ä(UãÑí°\.×À¦×GÁqêÔaÇm”ýÝæjp4åQÿ*G9$HPQQ!Á`Û¶9ÊÐ3õÄ’¾(Ùb‹^1’–×ï ÄÝDFçnj’IV°E@âG€ŸˆÕ̺׿/ü›lW!ÝMŒÍ\ξæÕ¼Yú–,ßÅÐ 7=î,¶>u&ã&ÞÆÞØ”ÓͶÄAÂ]Q*cB$nw3p(m !o»’‘nhH(ª¢­‡ÚŠ IDATq0íÃN¶cãñ»èÚú;–ß*s®ÜD«­Iöµù©kŒQ˜æ‘çº ·4cçÝÌ®µÿ‘Âi·’lÞMÇÁýüjåÓœ;áb¢cÿ̦ tgGw a ¥–GÑQ¸l%횢*¤Ð\­!ÐÒ¤p¢JÂ1¨:¨p’Š KQVl¯ÆH){w¯çžžQ‰ÔYìT.ñ„›P¢á¶#X_yyß›ƒŽJ7MG³“2ÜÚI¼©‹“½ŸÈÁ}WQGŒ¤"n‹L*EövÅÜ㜤ÃKQ¼_1oR'LŸ‚ëì7DXY–5xµ)G)—WÄ0ST¦x IÄ.Z[3Éê©¥©ãïFBÙSðäˆgý'Ñ‹w×vÒn¾p3¿x€¶ÒrÞýÃÓèÍ èCË0‚6b[D,ÛIed¨Ö~¥ ÝFCäŒ £UX‹š6Ñ3fGri(ÑÈ÷ú(^û,eí³ûG¿Çë)æ„•ã•Í+Ioë€~Â{TÖÌ®þ¶¿Iɤsh¨(¤Ñ5^NUÖ'åìaá•Sà- Z¢LüÙPìµ+ѳºyqÇë¤gçP2| Û×}AëÊEg1¾ÑW{ûZ"$-ƒÝÙžæ'àÖ0Ò„ÓÒ04…˜©á±æ± A34tå ì¤xu[è#+Ë…)b¬- ŸÁÌA섃Þì‡Z7yc ××óˇ~Çô+,'MF,C7Rê wZšä÷öB2‰êìD.¾˜úºý‡é5‚Á ¯¿ðöùFŠöû§ÉýÓ¥’»â.¸êþïä_—ë…ü‚¡Œ) Ý ¬Õt˜äunL]cƈ SÊŽ8Öƒ_½_.®þƤ•£o]ÏÖ Ï¤zåGÜÿÄb*÷Târ™>‘I†ê:ª³ 'ó⋨kjÁél!¶zŽËË„ñ'±¹c(Ͻ²ŽÛÿ¾”òiç3kœ&»#Œ.ð ÚtC§§§‡ã§LaÕªUÌ8á¢Ñ(~úå®Gs3Ñ4Aë7ÍL1/Rk ,H,L9¥€]¾1Ïý¨NÃ*©åùnŽ #µ¦ŒPo~¯tÒÂ^õ/"yHW +'''—Ȱь>LÖ¬]ÁèÑ£Ù³g›Þý¹ ¥3J<[wijLí+‘ˆÎš é¤eºH&\ß][ß7Qsû‰æ “‚adïP&sFx0tuÌ<Ò#6@ǃã8lÚ´©ß¤“‹.ºˆƒ¸ci¢a;6crGÑÜs€9C§¢ïÛ‚ˆFcO##³F2&w /n}ŸN¿Z™º‡§zªq:[EÄ8<€ùhÚ¿ÁçKèµ ·[1å\éöCƒ·Ÿš}­œ1sšš+ZBpHÑs ÃñXwn†Ê¨Ù áìzÖþ½­Ímb Xª§®(Ñyð/7‘“;•Î ;(ýÞ"T ˆ²â$5ifBíZµWK³ˆiYR€Ëv”«z‹ HŒ8Xm=¾²b”í¼PË+»[à“æ.—J ¤æÝÛ™ãë¯uÄ42Iè½xt/¦î­§cš”æÂ¶!aiJsL1ƒ„îByPº4v%ðú <}oM(ÜŽRâ(‰&lË!pPvju½·~3æð ª7mQÏ?¶˜ï_v™|ôñÇXñ8&NT§LŸ.=þ8³fÏfªnpÏÝwãr»9ÿ¼óXþùçôtw«x@N™3—ªÊJEF™¨ŸÝ«Ôâ_‹öÉóªuú"º[›¤50àdÓ0¼>ŽfÛ_×wJÊ࡯£ÁI=ÕMÓiliç`C#–u§nÓ…S»ƒ¬÷ž%ó{7©^½˜¶ÇcÈÅ—HÇŠ/ÉÉÍcÙ[ïòϧž`úÔ©ªv­­-2ù¸ã¸â²ËXüÏbZ–ºò†LyéÅÙ³m+ßx5¡pXÝùÄÓòÛ?ýIœÂSÏÔñÈ› {Ôœé1©mPœÀІñx5² 2 õ†8gÑyª­µIÒ³Òð4iDâ©èç0fDIô„Ž[)ÄqˆÙ6*‘$`Ûà8*i%P—`'ÁqÐ\.IØBÌ&ð--¥|-‡“~4$ͺ¹3UZ¾WË!žpΑ++“ÆšZö&Ýä—L@km¦µ±‘žì6ìh”öŽNȺuë˜2e UUUjË;?“–p‰˜Î'›52ûº¼p\©/w:â €“Tÿ‹X”f ®H7b'S/Ðt¬¬ œp?§G”;éHY«Ã¦(jDPI¹¯Ï€NŽé#b1u]Wçž{®¬Zµ ¥ .$™LöKWTo¢—N«SâN<%Îp¼¸ýer]Š÷÷}ˆ`øü.\",ÙúŒR ͽªê£z†fSßµŸÞdQÇPŽrD9GâÕ±tP=è'Ì#ìNgS ªP`Õ:¬Þ$š{,ÿçoïѲo•òrÄíñÑÓÕ¦’ɸFÌ mù†®¹•?¯&KáÑ›q¹Óij¬SYyÅ2%´’ø¿®ãâæiT¼ŠÞ7?T-ã~ˆûCTDw£6‰M[øÅ•~rO›¦4—_º?ø”P晴îPÞ×þ,Ñ“JðQvœ¤ƒ¸4MYŽ.ýA?z 'GÙ$ìFÆé˜º©ú3ÞÇI8ß@tL=7Âh§HdÜbõ•*möl²‡°gWRîºgÊ/.á¥ýO÷»´´EÕ¡£SÁ>CKhV“Ub뫜žVöDøÙ=hë¾B×u¥‹»_à­0]‚®÷ߥ¹áW¿Rï¿\É@º§hý.þŠßœy&ùýNåº>x$&¸\¨ÒÑŠ¢rÄ|¥ù¨«ŽC† UÉn!û˜nÕñÛG_QºbVi?ü ™ÙY…™ç¼¢²†Ìÿd‚CrDÓR’èd¼—/¨4¢ $£•›dxN‡¥«ê°Ÿ­½Y¨CºÝ|þU&–¡!IºŽŠj¥(³ØÅi>S…Â1lË_VÊx"pi_wZ‡tGYGõt’ å)ÉÖÏ– ›†Êôy$˜•¡ò¼øü¸üš«ùjõjuæ™gröÙg±jÕ*ðë{Ÿ“ Ï„÷ž «T—i3ib*, KÍmè¡”2<.:ê[dJ÷|WäÎ"¦¢*™Hp¹`ÿZk>¡®t"fZ§»¥Bʘæ`vÅT[­|]î~úh¬ë¾µ²‹Ié“P~% õMóÕo‹ÅôÇ„Â!Àá²"9„­$‘À*É#”´É>’â²{Ã&vH0´<)Yյ꡿üœºŽ\ÿ›ß1²ÐOWK:ùÌ™”ÇÅÿýgÞùÃõŒ/SYZ)&ž2~«Ž?ø€œ‘”OÌcrÍV®¸&ÿð5 à`}ÑH]é0í±ÈÊBMµû%;;K%·n…Ó.†“Î¥8 jBŽØI]=þ†›m56G ûV·«sÏ9±ÓΧ®f›äbÛ6]Ý*UJA°Dj?_¦tàøäÓiiÙ"½¡™EÃeD¥[%»ê):þv| ÑÉYÇ#5-yjr¤=WaÅ|rðíªQÇ,M1X«úMI à¡¡A-Z¤ºÚÛvü Y·m'™º"³XüÒ+¼ñþûÜ}õÕ²|Å ®¼òJ®¸â UTT$-ò)‰„”ÞXH“æ£B w”ß­£f.¢bæ"ÊÕ ³ß׿?\ $’–F2ÇP 4asC—jŽ%9cbÒùË .À=gNJf8XS.èW_ƒÍš¥ðÂÝȸaü\_m$”ÕÉew=ÎòªƒÜü³Ëéuñú|tuvÑÔÖÆï¼SJòóUQQ‘¼òêkÊ0 .>m6¥¹ÜþïW™1ã6$¿oˆñÓyÈ®=¨ûþZ]cÀJ‚î.ÃôB7!`oÚ0 ç¨h'¨="þ3z«É³€âI?eóË—aø ™±àn–~ô RÄØ“N—¯ÖÝOQE€‡7Ö¨íëocØð)¤ _Ȇÿ,'ý$ßs/øóyé¬BùÝÒ7èzr%Þû?òò[o©_x·¿ZÏx·ûð!9ÌæhøŠô9EI¨·GwÞBÚê÷Sâr°6.gOî ¹`Þ|õåŠüôªŸ³qãF ƒjÞ¼yò÷ûîS'MJ s<)‚[×Ôˆl¿”d™*jéߌïh"(…Ù|}Òq´ê;W¬ ‹‰R Óå¢bü8U8c´´.ûœa ç+ÛHÍðJVº¦Ú,—8 %Çxÿ£jE„+Và83g΀èQ®4×·iûc4±m]×)ï×û>IKKS‡¶1Gc‡c»°uØ®|¼…#¤aÇ&&‡ÆAJ>½ƒ§V/'{åd~µt'ÞPçŽÌ•]­vï©âä½·ßâú ¬Xñ¡PH^yíuÌx„–ºý¨@6*(zW—$6t´Kd÷n¥geá=Fú[ðXÜÁô€‰)©|Mцa€ÃÄt¹ÙßCw4žxÃ͆Jp›pÜ(øÞp?I»™ºµ¿ãÀ¾JÌQcééµ™ÌŒt gÎ×F¤§WTËvµîí×(--¥sCeo˜x{ÎûPüÇ»HÏHȱh˜h¸UU-^ÍOáâP=q!ºê”ôa¥_×Eýy)©pje²:\¦AKK ,`Ó¦MlØYÉÉ /â’óX»æ+2‹Òä×?ú±rºº¨Ú[Íð:::dXY).Δ¼Ÿ.¾Ø‚› ;PÓh1±Ø‹Ï8Bé3¸bë{$¯Ã熛¸e³£5$9ÚÖÜÍ„>°Å).Fb1$øæáùš¥¨gþ„Ì8›ØÜŸã²’H»AÛúj,<V)_ìÚ§Î1–¿ß{/þôt¶­_/×\~9ñÞ^º{z˜3w®Tm 2fäpÚº{™¿` 2„ÊÚÄNÒ üðì㇥ìô>9*ÑiѲf=œ4™9eՔΚ€žíIj„:jIžöFN›ÁågU;äöÅ/³(¿TÛü…JۙńQ£äµ¼´ío²=ª3mì2G©øuùŽ@³¦§rqº{{ñºLÒ’a9XÓL–ŠIzõB¥×0>3›µkÖè2ú4|š€ÏLo¯KûV`·g_A¯ù¹lùøcÑt]eggc˜&]ìØ¸Iâ£*(žPNxÛvr&E:`jr¬êk IŽÀ¾ÿþûŒ=Zõ[c-Z´Û¶IOOçÚk¯eÇŽÊ›Ò.ªôDD%,‹¸eI0Äãñõ´¦iÕêÊqÞxã£EØ©£`@(IfåÒ¸k¿*(NmK qI¿ôV•Ö“Ë¿£,yó¯üä¢ 8ÐÚ©&NœHEE¯¾ò ÷Üw?i ”dçÎjËæMâÑ…&YY©üÓ4áˆTjØ0$#VY©<;pPù† cÛrjÛzðO›G,!«´˜ô¨C\Ùà @{½ªJä@ž.O¿Z·Gá÷¤(]7] Ï?!Þ­qù•¿`óÆu<õGÔ˜qãeܤùòË/9Í®Ææàéå/©Ñ¾Rn¾åNµlÙ2yaÉ¿Uz0îžn.°Ý*™@줦¢$Ôº?ƒXgT¹3lì@&†VvÒ¦ĉ$@ÓU(f£n[ѵ±Ä´¤Â¥ ©½—Ò’n¹åH&“ʲ,ⱘœà‹3¤k‡ºøÞ{ˆ,_‡ï’Ejá Dt]uuuÉ)§œ¢4]çÀÎJ¢–¥´ÚõøÛëÕ˜Œöì^ºººèîîVºn¤z¿ÃdM"BII ñT¢«ÓÐq» &iŽ$˜P˜žz©mã‡%äñкw¯2\®#ý Î=d¾ôÁg›y9*C9£»t›®û/ê/8_¹L“®îîÔ5`T¸ÝŠ À² ¼œºÖvÅÜ™t¾òÒsö%êãÝuüϯnäÍ×^‘4P½–ÅÄ )¾í€2L•Ü_ËqÁV¼7O㪛֠é_·’Mñl¥WŒ–!e…då”q÷­¿cîœéiù*#½Nò L•—%a(4—¥ÒÝ2ûÔ“ÔÎ/ßÁÛâe܉£øéÕ—°âåÑÝÓÉÙgOæõ•·0*ò.§L¯®{áüž™:}¢zoÙû|sý÷ô_FGÞÔ`0uÐÿ±Î.ÉõTqz±ò©*àÝ-Á-ï+Sø?}kÁݾSùF•§*rÇQ†aÐ'{Ô~WúŽcÛª£re æÊºµkTiq1€ÊÉÌšýTmí~É>RÅ»{û¸€GDZ¡5>jFI&“̘1#Õž†Ãlܸ‘’’ àººšæææc 7yÙY¸Ý.ÿáe¼øæRµiͪoui8šôíh$뤲h0|teJÒ"­ t5»v7]L˜u¿¿õ×c¤gð›__Gvv6â ð÷ËÏÄY™$??‹éS'ÐÑZϸñãÙ?´ˆÑåDÂ]$âI^ƒ¦ž^vW×?¤ˆ‘k Ý‹$“;–’ÿá“øx¡‘¸M!Ó±©|ýº'ÏÅ\þÙ¶QñÃïñÔgÖØðB")üê{B³e©xL1fh.>·Î’çžç–_\I]ån~sï_¹âÇ?æ¢]ÁÐ’2N?ŒÛî}ˆgý+••{¸ç÷7S} ñH–-{‡ãN˜IB9X Ê&‘´Hˆ"á¤È³1Û¡«3†Ö’DE¢ kØ1¢fœü„MM{'á×'-ž¤£¡##ŸÍë¿àöÛn% ÷CóˆËM²fª± ûSQÓ”kãhjpP€®i´Ev&2¸hÒT:-ª7ždxw’.4¹ì#€;32rá0ðÂëõ²ü«¯}ú)×<öôÄÁvŸd¼¦CÊ1 þðøãjF8,~·ûÈ JÓ¡½ûÀ5fÞøÆÏÂŽÆñ•¢Ú¤¥QUSÃï︃H$2˜7jÄ[[Ivwcææ’ìèÀW1 Õ\Zù¸½¸ë"¬­kaÉ}÷1jælf—Ô$£1jW×àúÞÙlß½›D¼—ßG^áHJë)È1Ñ4?þñ,}á9>ÿüs/^L¸¾šHÐň\?ou„É Åz4FŽ*ᮓ~Îï_ù˜tÃfÎ)'rÒÌ9õÔSÙøÙç\ûÔ¼zñÉÔlÛJ0}Eyó×7y%‹ IDAT¿MvI ó †íhF)¾A0|¬Gë– Mê‹pÍ¿"áOçλ''zDã^¨Ú„›‡àôkHÔìÇ_1ò»«oóè;Úså88±8ád‚îînÁ é~ʱ•Rà5u233hhn¦½µ Ÿaü¯hƒGøŠH?¥@âñ8]]]Œ;Û¶QJ^ù¡ù½ðG?fX Éæ ÊFqÕ\ò›M«T¯õÝJíC6?9Rà˜H,Œá¥²fw-‰HÓthŒäʮݔ žÀq §P´ëM2¶¾";O¸^uÇcsŠ72Náþu²E›¤zÍ9áÌãI&Œ+1I$ö57ð÷»%¥Ï¢¶fŸ?n”Zñå ¶×¤‘јرTìž`ÛÉVÝyÔüáOd>jð³eÔ÷]·™®·îãÀYOÉÞƒcx£-OKˆºáB°|-¸µ|QP­í]<þË_²aíW|¢þò‡ßʰáÃXUT"íêË^àÒ+n”dÄ£t±zÀê ‚vØ/I=cë*NupÂDƒ Š¥‰r" Û@EÓP ÷AÂE¤U£|Ä\.ºöYÛþÚm[)Ð ,÷nç’ÒׯW¾Æ ²ñü˜¡”n Ò|—ny§Èè ŸJÄ#âuJ3ÝrF@Sºhšžªþ´ÁÙº®óÔSO1©/ßã à(ù:c—G?ù„ÑgžIzYÙQü]Ç)!2çBeï­ÂHüxdy9/Ü?«VaÊ X_˨¨À‰'¢’IeÕ×Ù¾S ÝÂ[ìF¹½„3ürÕÜ+)0®¿RÑ4Õ§ïMè=Ð 9£+TuM š$?#ÞHTÚ]¦ &’oë ê6ÙSYÉ9çœÃƒ>È9çœ#/½ú*ß²Uþûº«Õ*¯‹ºž—TR¥’¥Õs~yžJŽGFV6™™™œuæ™|²üSΘ8™%Û›¸2ß'§Û½¼×QGÑè;$˜Ø šCrá‚ó!Ùt„&VIôZ±ïb˜p´ pT*¦Ùüë3SÜ1мe$c  $#6­­ÝrÉEçâSŽx#dtUràsK…åˆz÷“®¥nåYbzÊ-ºÿ¤h:‰H›L¿‰¹™t­ù€ÝÌ—eë³x£rÞüÅÍOòúßñQó"ÉØ\Ãkÿ¸‹é³ïg蜘´ù#9¥á<ŸÍ#w¿‰Ùø8¡ì&ÿ=îþÍq|ídê&ä _Å“âõùxä‘GØ¿?šÞ`&zSøZ÷2vÁ"Êü—ÊÚ·ÖReÍ•ûF(’"Õjš&“Nº˜@Þtþ±øaʆ͠öE°-Ä6 wŸžåâ§m–,yßAÂÐT¦•¢]æÔBIrV+<óâ$a¼ [aÉ›¶D¼ôTÁQT.c„x×6P”?_<ž¬=OÀÊDLA6loΫR²CÝh3¾/»%Hé(å F:NêŠs9üÒÓu]‚~?ž´´)Øa)x_W‹†Á°áÙ={ö`Ì!ŽšJ4tA"vr@ßP]]Í)çŸÏ‰S¦HÒqˆE£b˜&º¦‘H&IF£¤=ÿ<¢”tÇb¸DCKƱêzðùI4¬"öéZ*«ªøÙµ×rÛm·¢9u„p}“ÆK¢¾†¼ìl1 ·ÇCs($¡pˆlà 3=—^|±ß‰IÜn7§Ÿ~:m_¬&'è–œ=rŠ 3ÀñÓàÚð*—ξ1h©±ÒwÝ ¡ÏWà©ûŒäê÷™wê ÎϽž‡—‰”ž.g0“‰ãÇQ¿¢Šb]uˆdàõ $TêŸèŽPlHcýÁ¯õ@€Hù™ø%|öìÝBòÍûY7êGزŸ"¿"‹Sþ½³ÅôyzÍríËÑ0Gü¦‹ôŒLéjm¦Û­KF~!š¦éî «« M×ÈÎÉ%TS'ß´·=¨N$jܸq2qâDÕ?£‹D"•aEEŽãÐW ±Ó6¬£þ@­`Ûk•RžWJVÁ‘ÃNÇqD¥ßfð˜r7w"Mfi«U†éÂN$È™4šh0K”õó‹7Z³Eö~øº*—NîšgÙsÙŸÇÛåWY;Þ&oÃóT^zg?ôxH•©DyƒJ5îá„oìÌ9jMw6nœÄµÖÓÌVOÈ¿ónUŸä\­ۮ‡ŽÝ¼L -•_ìYOfûjõhéÃü{ï: +¶Ä.F–_'õ_^§ÊŠWŠ{™Tìí¯¬ÕÖ­[ÉËË“ÞÞz㎠ïo¯×­F¬âõ›oâË䕜7q3îò\¬HnŸ&J¥BPù>–~túÖWägwߤ”œ¤rÜ^èNë(8m†FZZ• Æœ€"l)ü.]ëGÜŽÖ)eYâ?^õÓ䨮 †1à^̱ò# ¬ÆF<åå_Ûy¶µqᥗʟn»M½ûÎ;L›6†ÆFzzz(.+cÆqDZýý÷±::8þ?ÏW¯QáºJÆuUËš=5ªðÔó8~þBÖ¯[˳ÿ~fpÐP_%Xpê,Þ÷Wü™qi,?I¥çär4ܙ餃$âñ~2Äív¼‡×ëQŽ­úF B4i‹6 IL™%ôSE¿ž‘ †a`x4ZcÃbrñLQUe±²Ú@û4‰ÅmåIë6uùZc!(4ÁÐ1´”Éo?8–0ÔƒÜO՞ݬlná77ß$÷üõoÊhl’XÅÊ$>} Ù¹†i´žs=JÓ(ÏËg×>Õµwÿ7V™‡†…õW©ša,BÇŽ=2iÚTõÅûïQ·i5]™]Í bV£G ±¸r¥û¢þ[`@‰ñx|@dºžª˜î»ï>âñø±[ä°òà­åuG222Pƒw¾A9±”ÃÂÓ2 É3ñ¦ÅÄ%­ëÐJNÁ-Jj?zW=ýÐÍÌYx®8µìhí&³áƒ”¯¡“xËu°³W´ú×Qèhºp¨ ·×‡fzˆnüT¶¼¿Œ ÓNåáŸÿ†ÝjûÿY#ů—Lûéåt+xïÝ}¸:ŸÆ;¬BÇͤbŸrœ”*dêÔ©TWW³eëV’¡¡®°‹séˆ&äÙMÃTFS·Lwý’/Ýóºúmå+ÌL·Îƒq9w<ÿ E³ò%ƒÒ¯)‘ENÍnÔÄñjÎñAIÖ¶áªá„]ˆ¦K8n’©Ê»C8eœ)vÂ!£Í½UãÔ ®T;ë´ .úÁ}dízã`O˜ß¿Q¥…Câ­kÀIÄ ¦Z)Û–xOÝï'ÚÚ&þôl¥%ý¥Ø{%5X£Ÿ7©'Xæ8’ŠCU䦙ԇ“œwŠ%N|t¿­^ü¼9.~èV´õ&x’ÆaîMˆfE™Ô›ÃJ¨¦Æ¨ty{ذ?<°9QÕ‹6yüß/±ðŠèîhå«íµ´8HFa; '_!õ !üõ©ìzçe‘!#é,)aâ„ ¸üÞ#ÆZý~ ‡ÙVÚKîäqøt%Þ!ÅLŸ>E6½¾›DËA’}ÄçéÇO”`Nµo} #Î;CÙ¡ÐÑhxÉß訔ÂåráéËíµ, Çqp‡ÚÚZœ¸Ý7ˆþ®1ê_£‡ÆÆF***HOO?‚Ñ?ØPCTˆÂ¬,²³4ÿð‘»u/ž)SxìÞßãŸu ¹£†“ÕTÅ賩ֽÄÂÝœzá8øÞãܺœ©çÜÎþʯ¨Þú.óÎú Ûvn Ñ^Ï'ÄIyiün+àfè¾-äü}ñë³ëÄQúÔMxö¯eÛÕÿa¤r~‘H ›&,{ô NæÔ]Æ?¸I/cçê¼ûÅg”çût²J)f̘12Õ/ý„ìSObÕ+ðzL\Å~Î>ó*Þ»‰`G-úO~I¬ÛÆ3jxÊé(´€{à8{ü.¼>h6¾€IÌïÂ#@ÀÝ÷s¿f‚®‘pa'\aL OngñÓO‘ì“gÉ×ü(ìp˜xS+Þ®*œŽft÷“¨X(%@?älkÊF 9mþ|¶¯ùÓŸNwk“óóØPÓŒ'ÙŽå’HË'y„BW$IoØ¢¥zڣ䆓1Õç]ߦ0ì8I¥±»¶ ‹m$ÉÉDÃÕÓ„Xa†•”24;=SC9=(̓%JMxèÆkxúí÷yíÍ·¸tÑ"žzî 1+Á©g^F¢©Ž_?þ—]öFM˜ÂâÿÆÅSFщòñæÝÄw¬Åر‚ø¶øÃAz{c}¯†áj­Á›Y@«»ˆ*»6lÆnŠáÍÎgÈœ9ìiŽ£¥ièI wõN\ 1]ĺ£$CšS+)Çè˜úq©‰C|¬oŒ°pn׸e=ì+Z:yC 0 ²K}Œa&Mˆdy`T€ù:ÇæäQÊÝ0´ È̱ù46:DwñøOð§¯æ²Ë¿Ï”‚Q\påh¬*&=£€±£Æa+Åžª}Ä-‹@^î7ÙX1þ:Ô ÓoòÉÖVÆõrr×VÖh§Ó1˜_ì£Ö_À¦wÖ0m\ùÿÂñ(°Ûífß¾}¬]»·ÛÍØ±c™8q""B~NYza4´#ö»¤c£KŠG˜tl Ñ¿1H¼_ r|` ™™ßj´jh:‘n¶¬è 7#ÎʃôÔÉ 5Ëbd«2>ýh;ñöê뫘”§óñ¿>eÄèã¹}ÉÍäÖ<Ï÷˃\{âù”+#ÇØÊ3¯®#C‹J¤¥’Õ³/Â_qÃÿ$ ˜¢p•â>ë æ¾ò'¨\Ʀ«_'gøp6oXOR¥D"ee¥,œ[N ,íK_ä¼SgòÕ—+yøÙ¿óÀŸ®ç¬O>(`?9bÔÕ§âÊÊ*˜ÙDs¢‡É×ý ýŸ¿…'oĸä´¾ú¹ß¿dàn¬NÒQ©Pt á(’jðL%i«qFÒQØŽÂզ޿‘·Ÿ}šûþwÜvÄãqLÓL-Æ€Ž{â\Ÿí!)‚å(¼./É>ΧÛíÆ¶m:;;ùðµÇ˜4²€¸-Œ5šû÷øçµW:žÝR¼Ã'£»Ô O'<îTg¬k ¯ â&h}\n¥¥tp—B·S+Èe‚×Ýgè2h¬.¯.ZS Þïàê:€Ùïjj¸Ââ«jdï³÷òÀ¿?áןEž ±aÃn¾é×ä©àÒ[~ÅæM_ñóŸ]Íö-ÉøØ¾o?.·S \ºƒ¡)pÙxÍ>—pCÇìiƒŽ&ÈΦà¯/RÓeæð|^ýàsfÍ?‘Ö¶ýØ‘¸M‰íÚ‹ßeÓ<|(‘Žvò§ŸÉ¦Ï6sæ78™¨o)=b ‡†¥±© Ê‡ÅøiŽÆ¾¥ÐÜ ½†ç–:hÝšå= [ÐÖ!/ì<¤cÝX éà+$쬱ˆ„MÞ^¶’·—¾À²W°<ú)g]v>á‚Qg¥ˆ¦¦áõzhoo?jfÇáÆ'GC„Sìafy–p”X\øÛÛ+ð¸Læÿðtz0Þ"­xÂ7îÇÊô‚p8¬Ö¯_/W^y%½½½,_¾\åçç‹nêÊ´ Þ´>eo¢¸ÄQЍë{ˆÚq‚f€˜S€LNCC¬Eí ŸáSJ%ƒ„Çkx•!ŽRâ8Žš˜,?\rT/0ÛQdxÝR4ÉEf0¡&ÌJˆÖÅhì%2¢‡V7sÏ_þÄ´QêW]Îñ%¥l«óSZà‘”©‘®›YÿàïTQ ÂŒI%¬_Ñ(N"Ìè)Ç©õ-"ñÿKÚ{‡×Y×ÿÿ×}ßg''{'ÝéÞ¥@ Šì%Š‚Š(S•!n–àÅ* € QA(£ÚÒm¡{7MÓÌf''gÞãõýã$iÓŸßõëuõj®¤9ç>÷x¿_ãùz<})H€¦ˆ jÉ`‰†’ýhg‡x³Î¢«t"%]» D¢”å¨ã¤¥­§—’$™Övmëèæ“ŸºDúSÞߺ“L,¦‹ Ëð6mX&†þ‡ÜÂ|Ûš´zÍ¿´Ô˜üMõ¾òSŒ^€õŸŸ;ïÚA½p¶¾”Ø·+<8)ãyH ¨^&ƒFv{±õ²®uC[é±øjY¾¡f´oÍ|ñK_’éS§°æÃ8nÞ<´·ÓÓÓCmm-óçÏ×v/eìÄR)½á:þñôS—–iii©lÙ²™Q£F3º¦Rw5u³«ÏÏÂq…ô´Õ±±µZ¯Þ·šùA.š|*êÑ4}>ݼë!I{ù\ûø“A½ªÁ’BÛT“„erÿÏ ”Þ>‡¿.O^õ"<×>Bš¥b¨ç|J,×ÖªÄ6¢Ú“HbªOÛ:Ö³Œä?·ªÏó³>1Šœ® ªÆÌ`s]B?ýÅÇØ²f½L÷9~÷ éæuBY‘ÒÝÞ@^ÙDmÏ](¯Æóø`à-î?ðúãÃ{»é¦‰·³Ý8ƒ¾ßäJª}@~ùl@Ÿ_ÉÞ0Ùõßrm­nî—–ª\ýÚ;5ªFÖ¯X®§)¦ÀÑh‰Ö ~@tÂz¬çÆv”9ù覔ǥgdhÉ@ÿ_ 1í>xφ×÷@À…ï5¢!Þ‹Á†-èû=¯Ë#/ÃK»ao O±“1(¼P&žþ F÷~V®¸áZŽ{¢ŽÍ1±Aôôa‚ê¸ñ¸T–•«sd™BÑ­•ãAÇSòÃa%b‘R‘ªÜ0„LfDÑxÈ'NÆÁ so8ªgÈ ã8ƒArrrÈÉÉ¡¢¢Bêëë_;~ĺê6ƒ,(šÍ†ÞíLÊ©æÜòE¬éÙ)¯XÁ˜H%Q_˜™ùSiˆï!ä+ñ۩ŒŒecÏ6:2=˜bÚÝÓÃÂàÙÿ¢d˜c¹àô¢yÙŸ'þýá+//Åë8uæ(îûÑí|fF%‹O˜'ß{üEµÝ /þóûýoy¾5-ï}ô½îÚkd̸*‚&5Åyük Å/:¿K}DùƒÈ=ÇÔ—HìÏHaI%ØšL’%¡˜XV€/I*§¢j&×^ór*çÏ;ŽÞ7ßäúëoÀ]»£¨(kª#u¦Åe4DJ‰M%åA‘ïo”¿õ øò7äƒÐ85:ص‡œâp\‡h_ÓJJ$¥z°$6X Ê›5KŒöUàdT,K¼Tzhá<bh° çø ä°açnvîü [6|ÄØñãY·v-ÕU•ôööò¥ën”^Z¦n´„1ßçÝåo“““+]]]ˆa‰D¸í¶ÛUè—‚H@©™E&ípÊ9áQPU”í¨‡ æˆ^³þ x'MaÕ .½¼FWƤ!4€¨ v.[Œø—½`ô@ÚöP3• `gèò*åÊo­â[WÀÖ^hZý¶L˜;…]êêG›6‹iÌœ?¶ÊÿŠÊ·Ã8ô¢Ú®âwT0Ѐidñ`ƒõW×Säà‚ÙÓ£â°R©»víRÛ¶eçÎúÙÏ~Vt´ëPÆÀPÏó¤4\D‰/ŸŠðnûIRªô´½§ÙCÎ.[Ä[ípJñ ÌÌŸËk-K˜’?ÏM±äÀûäX¾áì(]àÃĬ+¶Ä“ÍC=' ÞG›e ­üârîüɼþò+ì7†èÔãôŒ3Î`„ ÜvÛ·yôÏÁ}îÙç˜2uº¾õÖ[ž7ÕuÍüéᇙ0fk6o×OÌE&Ö ÷?%<“àé­ÝzjGRª ,†P—ÏÞÆfrC1êSlî.ç¦ñ%|¸¥½ñ"W_ôIö4µðï÷ßçó—|š þðzB!Zšš³RŒC¹o€;ÐLSý.¦¼à„iM³nË6>uîYëh'à÷áË1’‰EEüå_ÿÒœpXF˜F‰ ªZ„ëf˜WR¬Šr2MM⯮>ŠþU³‚átÖ¾ ¿½ß–÷“t¸ïž{ø†fHuµqúÜiHa}=ÝÜvóMúƒµKYòæ2>yó,ª+ÊXºô-ÍÍÍ•Y“'²vÃFÒÉ$©Œ£“Š *üПNÓeôpÖ‰>ܾV4Ñ ¦¥G”‚¡0áB“šþu:oœ+}9qÍߘŸ:ª†‡¶™6-­–›Ëo2ª¸Ž‰y~Òiû(â|Ívóªpª+©Ø»2÷5ú N 9º›Tªê™Sñ¢%íØˆþ@êx‡J,—@¸”Äþ—ˆLŸ«‘æÑ·~!gF‹i,.Ô7¶l’¼ýOëµ_½[ŠkR¸E©Ãæ¬,u[š™QÖBðÖ‰\c¾B×§îÎU¬w U¦NÒ)ðùI…,•¹ðúKšÈ¯‘À—¾­Û—­åä9´ŠÉÿ ª§JyÔGÛ¾ µ£ ÊFeÓÝé§ _X FJFZ=]¸|’Á¿÷úµW²¿ÿ³ë Î: NyÇ%Õ÷vªGkG—ÊøZôåå¶Äc&wYX3n–¶®ØÀäÊU³ç¨/"¶~«8%¥L¯|ð®|Ì¢ôñ â±§IŽv~þש92’\tÑE¬X±B.¼ðB<Ϥè'Ž_|4¤[iêlÃ?ϵ.aË@…þ¨Ø†ÃŠžù0¶]öÅ›ÈÈʾªš¡§û]¶Çv‹m¸Äˆã1 V¾elET}øý{ùpMø½^f×”Q:¬H௣£J¹kT„GμG'0a6_z9®ãP2¶V¼ò å?~úSzzûعc;¹¹¹¨"€Ïódêè*^²ln¿ yd¯°i™0§¼˜Øfð3iÍ(ª zÂ(4?GæWxéŽ&~¼"ÁÍ?ž+ko_ÎÃ?þ»ÿxgúØ'~rr±ì/š®-yãTŒ‚âjÁuF(¾Ã¦0.ˆPž«þ»‰ù_›&§Ÿ}oÝp®r`=5§=ïÄ󤼲’ë×3jÔ(Ç‘ÃFjχízÙZ¸ë¢‡‹„/‰¾ äˆgð焹ëWóÚú=<üƒ[xô…—ù÷ËOð½ïÜÁºµk便ÿ›¯Ÿ{2Kß|“Ʀf9õ´Åüó…ç9gê()jÞ‚÷Æ“¤^ÕhM”¨íQízB:¥›+æR—?Ž@yPR£¸#YxáPJòC>B62ºÐÄ5rEB~HXYBhÐbvySD¦mÓÖ܉{Pú0U° ­^œ¶}L‰5È„]ËÔ+*û{ e=1)SÆsÅùüùg·fá¢:òþ³“ ÔvÀÈR+}o ½Èú àõI‚Q~{ß2öÄIel¬ü¼Cú9‚gÛì[¹›ÌEŸ`Ö­â7Úu'HMéXÊêš(¹øK³]tM°q_\F··‚¯„-=Èâq‘¬¦èØ*åÿ`vHV2©<ȾM6ÅO9®Šzø‚9 ¾4†éŠaºjlŒpJü¡ôðóçg÷ó¯¸Z~ð­k0}î¼ÿŸ…Üõg+6)?|Läίò\Ï rRZ±»Nº{ã”/<«´X¬pèhÇu¬nðˆ1 !‘ø]ÁïÃ2¿!à·$'ˆD²`ØH„HÖãXý~ÿQØÇŒ]×UÓ4åÜsÏÍRS)ÇÁƒ½À8‰>s¦˜ CÏT‡Íb™Ž—òô8ß8±3šV=A&‰g{êfÜ,Ï@=ªŒ“Ôò(*žx#‰x‡D~ŒtÊz,àÅûÕíØ®z\è©_ áÀ«›XŠÃ䵚¬œ'%„@XÕuÄ¿c·ú¶½‹nmG^|QÓé4ŽmsUU ºeËf|êJøÜÙiuÞ…Ÿ>cðý‚YSן“Ë(™>™žuì{»N+ËKä;Ÿ+áÁU3øë;uöiçòÚ½7ÉW/;…Ð%ß䜫o‚/Þ­yn€ê Xá\„õŽØéÝØÐËœ'×röyèk¯¼ /ýÔÃ4Ìì»a¨ß²((( ²²R ëÑ‚H~®¸Ž“mS‰ ù—RºË IDAT0‰ç þ 2çtáK?SwË÷ØÛß-v/µ“-–5t1uÁ"Ž[|&[·neÙÊUÌ, kØï“ήn‰$ .Ôîî.ùêõ×qÁÂyÚÝ?€ÎX$Þ¹§Ãñs!9ˆ¸‹ÀATÚ éIDzzzôeKÃC×# ¾e ¾M›°LÀºÝº«7)½,ÿ°žþ7^×µk$¸g7fNŽº‰©={$§»“ÒÂ"|>‡H`>¾ ŸÃ4ÅUÅ[¹’ÂÂB$¦ÛïGlGHa;ùDs %“tIvt°þ·ù`çN~ùË_:¶'bÀ@}yóf‹îŠãÃ\'K ü˜;wîä@:AN4OfD£¬ÿð#In®gAÙvvÆh^ºL*:LηY³y3þœQÌÎØlÙÓDߊå²pÑ©˜‡ÕÌ6- ?âÂ&&9Ū‹B¶ÃÔH¡ªÃR?©³Ææ16âÐýÖ*ùöЯ6©·–™:CjÇzÜ~yˆ_Úº—Üht°ÏЄe§pMädºÅR¥+äÊÖÒûÊâË$p-?j"žb¹b®Èwoý æÏzN޶ޱ‹Èu9É®^^Hð<á0!ãaÁ̰Þðð×:œÊ*®ëjÈ1¸ø S`Žöº".®[(Õ£ªµ¨p(„9H²øì埣¾a?ýùÏ곬Ao°!µ_i=€ô§ðê÷2tüªª¢ªšN§™1c†:®$LÒ¾u¹Cß·×™TœæÓ(±BY¥zY‰ lt"zKøN>¿úy¶-þ¿<ï¬xC.¸è“ÚÑÑΈ(whfô0šÎ/ÿôW=eÉâüƒëb¾Óë µæPÅüˆi€á`g§Æ7nÂÄK¥44}:F8 =B‰¯¨–:¶ÇO~õGiiíÕXoU%!M§2xŽ+–ÏGAuꪗÑx¿8îÑDW»8Ž£""®ã¨?æå'çÁo`êÜ9´¶vâ«('c»ÚÞÞ΄XŸ’›÷ñ“ Ž#¾êêƒsµÝ`ZUeh¼í0ØåКý:ÖÔêeåÕ¼àvüËÿHâ×_cÞ©Ÿêé3ôÿE‹ÑÒÚJ¬¿_K+*¸éºëøÛc‘àÆ{ïå÷üIŽË„…gʲu›´$íqÅŸ’E瞣O?õÔ~¦a™Šë)+aŶ>ŽßñªìÐ|Í™~‰JJK),.áæïÜ"ÑŠrö74èÉó“5kÖi´c7ã3e{·Yã{·²yõ6ÎnHÐê‘îWߥÖèÕw{(ÝtÎ]x wßuçÇ n^&TUõ@<$k…0Ø ó²kÇUµlôAç:í¬o–Ê”‰oþ\­]EiÆ&VR,Þ{kÔ7uºL˜äÖË<ýųË7)ÎãÞѦþ½I±C¹š°ÝáŽî´HÌÕt2%|ºqóÙ¶}»nÙ×An^x˜x¨„Á]±V˜0™€ßÕòÇoÁêi K½@Dî|N½×VŠ1sŽJAKá­ûÿy§â´v³nå›”””‡õX ~œzÙó<ü~?«W¯¦»»C×ó²X#õp=O Üv0Õ,w̲ÔqLÓD=Ã0íÓ4ñ<³Ï>ûhïÇ(hº i^EÝè–»¹ê‹_àš/_Mqq1Žã"šÕ¨ùròÀë&Ó¼ÿÔiÈ —íÐb’J¥¬Y»Ž;ﺛ7ßxG,B8Nœ9“m}y…?¾UÀMæ2|)nýÒW(oï£ó•7´+P˶Våó—œÃ3c/eããò‹ ¬¼j@hll¤­­-‹Û:J16 éîýÍ\>Åç]=|÷:®‹ ’ ^¿ßOSSÓpTv´z°ë)³çΡèÓŸf ½Kʱ´/y“€Ï‚JßÁߢ—„Ãt¬\͹ߺŸ×ŽÖþ~Æ/<…¾¶Pºp¾ÜN_?ñý-„jk ¿[Ó‘ òI꯬DGÁv®ÿÜ%L/«â@W?Á™éèê¢8/—tl +[D÷ìF´£Q@Âá0êîÚ5¤òÎÖy,#›þù†¯~¿_›ššˆD"CµÐ‘'U\U=e ¹cÇf}…d(˜r1¡ý]XµŒºÊ('Ÿr*/¾ðáœÚš›8qáBîûÙÏUUEN2ÉŸûœ.:å6oÚÄ3[¶2©¦‚9'ž„:®&âñ¡LbxsWÛ&±s7…ócòŸî"¸ý Æ}þ^º cFÆÛÛÄÎnž~õ¿„M‹_=ô=ö(·ýàN¾”\ËéÏmcÙ_ž”‹ËLö$…“Ï;KŸþÛô´×qê¢E4ÅÒ¬þàƒÿkÁÿÈÓÂârÔ?íï}ˆyë]»|7išlß·›ñsçÞÛ¨¾¼|ÆŒ6¸õ² ¶™ËÚ­ûØ™„À‹cŒ—aRuqSäž.KÍåɆÝ\1®ŸoÜù=z{úéó‹TŒÖÚKiÞÚ…±ïî|~Ÿ»þvR­+xwO^Œ–––aǽáÓlBK†;êÅÿŸg4ñ½ïÃY7²qÓ&fÍœ‰•å½%+02ã9á´Ó‡¡µ´´´ é'>ü¦…4íÆîneö®7Ód_cBú›êÕ7ñTü (]9˜hVaœIÁ¶÷ðÕwÐ9÷Î8ë<SU¬ÿYÕN8:™®ð<4– f´‰©¼@n`?K£WㆃÒÊUÃ9x Ëãðßçëðe’ï[ÅÙ'ÍbÕ²eÌëßKºOi– Fq ”ƒú=Âa©ëJ\UI¤èîhF{ãKg#F' ýNÓ0H$ÒÚÒ¢îa$q Z÷ª“ŒS<~"9‰$VM…“'“Zú6=ó® úï_æëS¯æ*ùËV¾pÞç¹ïá­¤ÒiÎ9ùdÊrs¹÷¡‡¨ž6MÆŽ§K^ìcLI>mXúö2N>óìCË(ÙÅÏuˆoÝF`Ì|ÿþ9£ê^gÿ'¿G§5’æ$Z2þ‚3¸ÿ¾ûhim徟ýœeËW26½‡Š’b®¾özN›47dñð¯#7^sµn|íY~ùßüéw¿eÉÒ·þ?5„!‡›!È ;EÖmÀálåÐ!RZDkg¹–0nÊ,Ä´hoÜGg/y=ý2>¨ „ð‹óí+ÂÜó¸ÁÃ/)/®„É5*¡¨èG»ÑZ½ÊƒÏyŒ¢®–úZ=iåÁç ¬¢j zl Æ6 íùA¿rM£Plƒ+4=N©iÝ,š B0-TµlÛWœ TùŽ}r¬ëžEK"”ɓ%7"¿°€X<)^&çKNÀÒd¼Ÿœh>±Þ^Úºzdڔɪ†Ð´¯ÂÒ*N;½€ûëØc6ÕphÝñ`–zˆXÆw »c;ºü1¡g/XA2®'Úºtç¶÷9û³Wð7_§£¤„º¾4§->ßþî÷ä×ofNYW_}5©TŠò²RlÇ塇â¼ .¢'¥,%Ì•]»é©[Íž+~Oy~9–CkÊ“Ÿ]Ïÿ»G[zMªj Œ€Î®Øá4)Çå_÷0ã†/K.¯ó§‡~õÈ 7]­y¹yTVVâóù#! ä†$\[ “ŸÇŒÈU_ü¢Ž®Ì¾~¢È×þøk¯»VTU]×%''‡ªªÅÿƒ¼…×ê§½~#E!ƒ‚TŒ°¯ 3éiØö†Žö›˜ƒ³µ¨ é$AœDo7±Eñ­]dÚlé¤ðÂAü‰þŽ~*RIò2®Ô7öbDBÄS¹ˆs´Â~ŸkSˆˆ?R »û¥yUhÅX‘ŠñJ0‡¹æææ2mÒ$üéOåÕ)µ¤Óõ±Á› ›Ù×’I§¥?'7?Ÿê1£ÅÎØ,¨ƒ‡%…¸«_–Ð’G5pÁµ lÛŽ¯¤”à‹Ñ¿BîÔIüså:~»ö¾÷Õk(ÈÐÒÒL_OŸ½öZ.:÷\I9ŽÞ÷ãóÜ /PTZJ~&È=_¼˜?½ý!Í-RQZ‚dA‰­\©„„&MÆzé—ðÞKpý/¨–Rª:öcVWƒ—u+dçNî}ê)~ó裼úòË4¬ZÅ›Ï<Åoš›ùÒ—¿Â]÷ÿ”Õÿz†o\<›å L2•]Û¶‰e\±øD=дŸœÜèÿšCqN|¦€` zn `W·H¦]R± Û•ð}5Zpn<&>ËR#F_$u\Dƒ¨_ðœ cF%¸å²0—ßmOfY˜–s°š¡ Ž ¶“„T7‹:Žd½ÏÆ©âý¹ã€cšŽH«¶=ôsÇAmG²N‰Yüìç™YŽ@âùÓ”(Û%&N‡5b™†8¶­õõõR=jŒf%Ùf]f€P0@QI©:™3ˆßïóÓôv÷d7sÇÉN-cöw$ ²M|j¦Œ%þT"ѯ(¡`v™L§µë‡wòõ+®¤·§‡Æ–péâ üãwO±·~ÿü÷KxmÇsýÅ—réÝŸgTÍ(V®^Íy'Íç™ÑU$7½K~4JËÆQ 2¡bêÏú Zs2yIÈ úièÐù—³OÌcó–]Üö­ûøÄŸà¬Å'Ó<˜Ò—ù2X¹¥ú‹GŸä½sþ,»›šÕv-ŠËª(,©8úÝj* Œ› é€Îž=›ésæqÆ÷ðÛÏŸ£MÃm¨ 2mÚ´Ã'h†gQ…Sykk/gN òÁß`ö¢ÓÙóáj&䦴±'Íh¸íd}}!¬™§°¿ò\*GUÓGоýû¸|n}¡Fu¾‡AÜÎñºÖÃÞÍ:þ–1˜û¶ˆoFUöóÜ,‘ÄoѵCèß‘&8¦X[·n`ö¨râ%_À_^Î䊀z® R;FÔ01ü>~tÍ—¸xÂx ¿3Ö‰ñÏ_«¯« Dprа¿ú+¼T\¥K™wò b !í””çà `š&nqžš|qc„>y;±5kÉ=~>…“Ʋ9XŶí=lÙµ‡_=ù —\~%—^z)¥eeüàŽ;xõjÍDøÃó{÷9éÌSùòoŸ¦|ÔÆ¥ñtšX¿ÐبÁÉ“1ŠK0Ÿ¹Þ{ï w󣿼B꽕žvZ¶Òêyˆe!ÜõØc~?'-\ÈgÎ?ŸÒ1cØÞÜÌË—±dÉ« Ämæüù]žüÔ<ÎÊË%5õd½fÜiüýïOQŸ¶ùÃ~ÿ±iîHÎ&llŽáo <îbccfZ4ÕÙjf’²Àvð‘¡©'£¹=i¡áÙs}W¯Ü|æxÝþö«àd°üÚöî¦ö¬‹èÙÓI:cãòñ”'ÔꇣøMÁ² ¤ÔâÆ]/lFË‹àþë*ª •tˆäXlÞàð…ÿÀ7ÙäFõP&€JÈÂyÏëà÷¹”þÃÃêöÃÀ zòèà-u0¦Ù*ù@ÌÁÝàâ?¤ßÓMkyÿÃéðTOI]×ÕH$Bqq±¤R)öÔÕ‘J&1 C Ã`Çö­â  úý”•SßЈª+Þ`qÕ0MÃÖ¡ÔõcwìL 7»MÊå—_®çœsŽ\Rfè÷òs¹ÿª›GDă‘䡸ñÃvQ_0(i+D($ÖÓIW_Fz¶ø¨Å¯í6+7§ñlšxвæ›?‚øcãM¸jÑÓë²wÜ)²s'ˆ$ðz2xî“)3>§5kÖÊþ§¢eòØO¾%Ì;µmÍ«U-¢ܸOüÔ´å§U"ä~XÇêìU=º€U= _€Ô¬Ë¤ÝŸKÈèf¾“¦¨{;ˆhܘ̛2QLøOŸÄÆW?À6-‘ì-&þpd{#9m{).+ `þ| _ó •ÇnÁâAB߆·i³$“ X[Ë£ü‘Ý{öd±lžÇ•Ÿ»Ï4‰Èo¿úú” hhj»£Ö,áÒ¹·`Í\$=þ~v×]œ[Y 55âåÝáÝáª{d¿[ÄsKþ«¿øìÚµ+ Ù¤#ÎËkŸú=¯½FøÄé³,Òi[®™UE&§9î,™àõê?ûÛû3rÿW¯€ãÎÖ<à g¯|õçGÃÇÑé4Œ,ƪ¥?EÌ¢¯.«ÇÄÍøð9;÷„Y'>1R>ÜètªL¤×ñIM4¤ýÛZ‡_¯  •RYÜ·I?zó#<+ Ó})Œü륵V0êvàú¦bF£RSè'?œ§»;’’QH{örqp‡x‰šÔ Ï!¥IÄË!¥)%á¥05‰«u¢aTÓx^ W]qÔQOW]"šM‰xIUM‚¦ÅQ4 Žpä8õ̱jŸÃUÃ04''‡óÏ?ŸL&£¶mË 'œ0"büZUUlÇáøüþámÌCš+ÑhTRÔ£ïjž¸#”ƒq­mòûxõ*fLžHS,¥»ú2Üú­oQPXÈßxš÷pͤBݼesö˜G>زƒI³æÒ*$S1A‰|o³Œ?^×?WÄη n<®ìÛ"ºà»ø¢ÉDŸ9ý­DŠ£¸NË€d*­“&0uÊh’݉ƒ… æjR’th¦¡©mHqĆÎÉɦ¯ƒ§¦¿¿ŸÅgœ©%ý-E£üýíwøÄ-·7mš››5‰®šõ˜1~ªîî†ùck$zÏ"6޾_oiË—ï…‚ä÷ûX½6ŠçxL%‚×`åÛ>ºÃ£Pš5÷» éÄ•0áSôý÷\¬Ê§¸öÝoÐÐXÀšäñZ¸æÙ5ù,Lç jSrž7ˇ¯œðÌɇº±µô¥Mû‘S¼¯'×­—¸ëË6YZšø÷«hÀA< ãøµ±Q?l~3£7Î Ëg¾r2¦c“8ЉÄ=Wý ë‰;°x®ü‘Ú<ʪիxî_ÿ¢½½}xƒRU ¿¯µUž¼T _Efõ(u[ê‘eÏ‹Bäö¸úøÛïËœÎNýÆfoØeO#OÞ…^ós2¥3U{:˜:e2g.^LØïŽöÓ©sŽ;ŽüÜ\hk#çâ‹ièëe_]½Zœ††£¢ã'ê¢1Q¼gòy'iª“HJ&'ì8êÙ¤SàÇλY?<Ý›“{ÿ&ýòË|HØÙñ·MõðJ:{˜wÞ"FŸy&u+—ÓÖÕAloC–6‘±9©6Ê> Éߺ…ãºw‘Ži¨·MÚžù…ιúVñ'óèxöY Î;O}¥¥ä-æÖäŽP;TD}ÙF—ßdÁØ(‘< È‚oƒ£rñ™ ÇG±á#>“S#Ö¸(ø]%ꇔ•5 ù(,D3Uñ‹B06¤;"(‚~3Àæ#ÇäôÿÔJƒED‡pXCx¬c`¦õ(B?¾0«466R[[K~~þpgöèä?>=ë>Ø‹_{™yò'´´ oxQM$ÜyçŒ;–ŽU¯an]…ïsw êFá’…ð—À'/ΪÚÏ??[l¾ê*lÛ& òþF“ÛGøùíùüíkO’lû3 7ÿN›+3¡;EAA!ÛêZ(?°›Î¼J•ÚÑë2ÆSp2Ô—½Ù%•ò0"½½}466 õ°šÒ¸“p4 ®••uèÓÏ<Ãu7ÜÈÌ–µÄ›öjzô¢!Á(¦iÒßßOSSÓ‘×Â0¡mNû~fMlú, ÅÑhP†*½#Î¥çzFÑ1„Üá KaÓ uÎ:@.ºðB}ãµWå½–j$cjó³è¦¯É‰|NNŽTTT: wðNË àVT¨˜#~ˆ÷à-ºŠ–^C>}äz®îW9i†£Ž+”íÙOij#½ Ü|ßwa W ÃP=¼)¯ ¦!žŠ-ûDJjðµî`tÇ?hšs É®ÞKÅjdEÛGP>$‹}gʤÉò³ŸÜG,6 ‡¤ðÃóÌ®/$Á•ÏP¾ãÜâb\s,ÁN0*NP¾ø0ç–:b8#kŸF$@ìåÕrñ-s·r³kOd݆ÍêÖú¥0×ð„±$vìÆ¼êgOÞAÔqøÎ¯bÉ/~Á?žxB¿b04ÂfD£ž1uMlߊÆSb: Ì–˜¾ vçrI-ÿŸ´µpÃwqÞ”ÉBåxÅÌt13»ìÎw·A_»HÅ5D„ìÛaÙiùõ‹h×.eìXXœ+2.¡: ’r8qVBjÏ€ª–íäŒ9Gôöqê bïnÐâYS‡øiÒùgáøÄ÷•+é~xÿe1ª§€/ ¼þ¤Êß'\;Abo¾AôÜóô0ÊýðèžjŒôïÀü†i¡B,õ ~~cPû*ƒÃ"Ãàç 5†ý^k‚|l ¬GkLX–ÅÒ¥KinnV¿ßDÝ!“ɨªG^~¡8v†X¥†È0`õp‰‹çyÜ|ó͇obÿœ IDATǰÅtÁ+”è˜1ø;6«½}=œñÙ¡³ <ðÛ¶mà „b|Ê…d[AÁòÑR0[•Ï|†ÁšÏÍŸsÎ9WçtŠV?¯Öë¥õò;¸vÁéúƒ‡ö˦÷ë´¿ÜÄŸ_VF$‡Ñeˆ’ý±²…nÖT‰ªjƶ)]MQiÅQS{1MŒQ¥»ýn2ûvhyE%ßÿá:aë+<õøãZ0söpØÕßOII‰Î˜1C\×=RÈnd[{ÆAÕƒDù9ƒï]‚€Éäò¼´9ï:Ö¿þ,ßøÌ'øüI‹˜¾héTÓ@ÓŽf‰$–Å@}ƒçGèÄÛ4½·{ ¿$ß#ß”ÜO,ÐÔŒ ˆ´ÃБÙ¤R¤ ˆïüù­øõ}äJË2GX~¨O-NyìzÔFòm¼H±Ú“Ð뤦 / :”àˆûÏô!Ó¦ióÆ}”Ô”K{,Ѳ‡¼ò|]å”súþf3žîÍ[‰|ö~¢Ïßśߺ”ïnìåºk¯Ó’’RR©®ëb‚¤5zºHööPóÀ隷߭ɦ:Šv½/]© ÖÌEš3n*«W¿ÇSo¯ó>ÿyM¥m%wGèõ|šq•4àôuãÕmFËÆhÆVú’¶æ ¸O{Xq‡XÊ%•JcT+ꉗL©—âzàzªiWâ WóÓ.âx$ã.g°Õò3r±2~Wu åàº"z9 ë˜hÁÅ ./uµÿo¾C ‚¦O s ¶m¯t¯ßA°°ˆN×Ñ’Ñ54½óÞð5 .X(©MÛÔ™9çºß ¡ ¯_">§Cénùû½8ý$¿p¿ö|¸¯;9¹:(Ú•ü°EÚÉF®= —H!$“9a‹Þ„ƒtÇ]\ ܃3âj„-IG¬„KÐqÕN8Ø1[ÅTÔΓM÷åP à¡õ0ã¨ÊÇ ±¬)Êë¡pÂá0Öq8Äih”QW¨*/–ž”–—äÑÖÞGeE)yyy’H9Ú°¯~„fêÐPŽ2v: "Ét”dd,§ãôÆU6puf™E"—oûÛ:eÊ\Ó;·ÃþXµÔÃ3}xu[‘¦~tùr c§sØû¶Ù&û^~‚¯–õS~çïxïë™7½•Îo'W¡°v¶5`çådÉØŽÂÜlÅ2!´èOB `ŽÐQk(›ª‰,ºë7”=õ=xº„ûþ²†‚h./|j—œ0‹©<ÂÞÛnUÕSjk‰æçúš[b8üsâf÷ÄŒ«øUÙŸòséêÞýô ó;þ“àbŠ2vIÛ–  liß“‡L­¦ÍR·±QLÇÓð½OZõ{£~ò¾t&îˆÒ³z.Va1ùu „þü{b‰þLÓ‰ò‡¨|ïuÉO¦Ô³Bx±NšNË÷á9Èþ=²CGµ¼BrzÚôô(ìiÚÉi£ø_¸CÌù÷ê¾V«?I¦j ©–}4|â[üø RP3™u+ß&”WB¬»ƒÎö6&L™Æè 3¨ß°šËϾ õì~ï¿Ä[8yâ8ÞÚð!9±5|yîÉ2{ÎqÚP¿NMÛŠ@{2îÜÅþ†fbŽAãÆí”ï}wö"’ùUà¤IªÇ¾þH£“¢¢0bf7Q7æ@<…íyØžGO*Mw,)¤2êÏ8´õ'ð2‚8NvžÚ'žÆJÛ䩃c›¼¼"ÀŽF£ M38iA?í32*l*<ƒ@Ž%‚Æò‚äž~>ÉÎn¬Ûˆ?7‡ÑŸ8~ýÀ`Ô }_‡ØÿúN:ç‚ï21!ðâ½ÙÝÍçC6¯¢©×Åžz}ëaÎÌl­( A,c §»Û[“táN% GrØu …ë*[[’äøG’áƒ!¤#Nbùf™BAÔ C]¿%«ÛÐüqf RqEO•¦töÙƒ¬‹ÿ#úðIŒÃ#³¡Ú!õûP£ÄˤeÜô9Zš"ÑÓÆÉg\™$½1†C<úh@`DÊy,JëˆäCÿïàL줜>ÌŸ€FEÍX;ÍR 2ÝZ__Ïoû[6îÜM¸2„)zî9¤“I*ÇOÄ·n }ÿ¬£âæ›ikk£»«‹üü|‰SPÈÖgá¹ÿ¾ÄWßYJǺfž¿€þæNròJØ»k§½ åãk9àZ‡ ú‡V8¡¾=I$í;>⪅йÏcÌìãX¶¾žJŒŒg¨!G^Ó0øém_'YÐFæ¥Ç™;÷ w<_üã/¹h|ù+»Ó¨Ã³÷ÞE¬¬„ÖcÍU×õ˜>sfVëwÄ›™Ù@ÑPÄ2èîhfv4BÙaÙ¿ŸC_7‹¤/ÛN#žE[·‚?„٬ؾBu¨aƒë¯ÑðÎÍHQ-vø:Æoy{ßÚ"1 op^:b·¥éé0Ó’AVl°XjD"Wž Ó;Sìé.(,0hN5xÿ¨e‘hn¥}ËNªN>_N„¯´$B÷´ÑÝѨéøVÓZcÇÓd•à6g²9­ãa˜1‚ü›tGšIJïGƒ¥TañŽú¬Ö3hrÎŒ(Vè`¤ÂÎÅo gÏŒ‚>Ê(Ц† hÁRƒ]}QM¦Yª‹Êawy9=(˜8Ħž }Ýʬò0»tˆ¥!ÿ'!ôሚR*•"ãŒð`@P—ËVÈäªêZÚ˜:àât‰ÈEìéƒÍ“Ã#@ÑÃ$LjÅõ\rÞ^¾FŽ_t:â k>ZÃüÓ.Äu™>}:o¿ý6ßÿÁeBE 3ªKøç•W’ŸŸÏ=÷ÿTžúÃÄw×qÕêÕlÞ´‰¿ÿýï|ík7±bÅJihlâîo~Ufµ¬å¥ÅŸ³ZÂãsˆLJÛÞ"SÎ|ð|é8þ3ì9áy¦z݈yV$ƒ*Ý´ í­ ´íå¶ÏŸÌ«/-‘ñO~“¼²Iì(‹WT[X…v†Y¤ª*¨²Ó?M&SE´t&3Oú4¹Uå¨-<ýÁ¾ñ™ñÚv[2ñ9íAzw÷“Ø_‡á  œÀ“`w‘fFÿõ›øÜ _d¸XâY~rìÀõòÆ6[ò’=¬óG¤³/Îûûó¤«ty‰u8{¶ˆ]3+\Àªm.i[ GM9°Ó¡5aо4é‘1 ª»}¸vÅóËŌ̠´kV̤5T;h|®°<©k3hߣ?O.ÒrˆŠG2‚øzË)ðM•´°Ëv„ù r=ýX‘*"† ‰xqÈko”°œÇ~f=ñ56×þš–õX¾6ÒnÚ<@Íõ?’=ÛþƘˆ­—Í'7üäYR¶Ë´¹? §­‹Wölcò¢ûùhK£Äê6PSZÈëk׋)¥{ ÀòM.û›”G_E®iP,uùÇbD*©íxƒLk#üŽ×Ý…RüÑ›¨1X°smÂÿ±óŽ“«*ûø÷¹÷NŸÙÙÞK’ÝÔMo$$¡E¤ƒHQT±/("Hï :$@z¯›dk¶÷é·œ÷ÙÝì¦é~>›ìܹ;sϹç<åW hu_ÖK^LJ jäÛš‹Œî:iž8ƒcBw¾ØîðI­-)•qÅsŸ8Ä4p©4;À2{¤óÃÿcœìàšráѺ|ÜÓÈ÷Þ.VÍ?¹ùoÿ`é³O²~o;{6ïgÎx÷}¼…¬Ú§¹qÚé’årÓS×(å%¸‚¶mÛÆÚµk‡²Œ¯»þ‚ šÀiõ&xå[G£ôË;z¾`’¤’é¯v·C,‰üñ_ûEÓÁ»Í ²Ë/™zþ|ê³Fãh.6˜}œ‰0vá v½ð†dƒi*\¢8¶XØ¿?ÂQ.‡Õ‘°©TJÍž=›ªª*94õ”²±l‡¹eXf Â9i)&oŽ:yɒé׊ã8jn8pÐaN *98Žˆ;èðñŽ|UT´O¼†PXP€í¤Õ`R©”Ò4M^|îYuÛ¯î!ʨ²2u̱ÇÊ‹¯¾ªæOÅÜì9ùÒKÕO~úS-Z$¿ùÍ}œóµsT4•/ý§úåM7HêÁ¥P\H`T¹È.ÌFbõ"Ùì¿èAJ½¨Ÿ/ÝÕ4†µ”CØïCʂҿÕ`ÇÞVr ŠÑÎýjkMRXf_O¶lØT!Âãð^0cÝ¿¥í 0®Ï#﾿[5n¸ÆU+8uæ\yùãO©.» ;VE5Azœ ¦Šq4ïˆFƒB0>ñ¨"µG¦ˆá$T~ã&ÑmS)ÑP¢‰+™¯âŽKšßoPí¥ d__½ŠÅ ùâ3—reéðL“¢Äfå­ÛÊvm²8„É Úäd£ * ñîoQ™y™2¶,-Þ‰xWq!GÅý“)íÛ*^ÓQ½YãDG¡‰¨ª ¨ª6®FN f\”vP~ni¨Êº¨ýù(#ˆ'ÙÆÜ*‹¬Bðš¢þ‹î݈YlM)S™]û¥·ûå?ß~3ÏŒ}€;I§h,w¥ä¡¿ýR¹#{¹è´ÓHx3•ßï'+#D0Kä¹Ç® ä (¿×+Eþˆ UL“õk>åü3Õ¶ö¸½)¦W ]8kŒNŠÒ•ȉÓQ¹ñ6¾½æërJÙqÊž´DNŽîS'žŒf¥•­(¢9 ¤\9ZùP$k»!gÓò2måÝAª+DT¡Æ„n¡ KÔâéBÒ]‰ddÁ¿ÿv»ZTØÇ¬ñóxçó¥bú§òãsÎfú˜~rï“ê/7]C˾=<úæ'’ÚÕ®¦Å •Ebeº¸æºëyý¶ŸÑ·i‡wìZš›åÕ—_Vßýö·yî¹çèïï?Šä–£ŽXÖ9ägúc÷' õκ°èn”²ÝêkAR&êµÏÁð" NY:’ÝUK0ébw—W±ë帢 uÂq§ˆÛã募óêë¯sá…âÍ c'S*ÙÛO(?Gµ}ûÑÓ¦ìêH8Àÿú5¸¥R)¦OŸ>àÊwxñ‰®¼¤ULt‘&Ý‹Åèëë# á8Ã#Âá¯Ó Q=í–´%&S\Y 2ƒJvu»)ΊÞÞ^¾ùÍorËm·!íœ}öñ꯷=À¾úz¶íØÉêÞcþéOóПþÄ«¯¼Â¶;[œOb-Û·2ë‚ IŽŸ¯\Y¯n·4 Ò”M87ŠÇ0{J >ÝaVœí{"ø‹aR&à òÓ‡Ÿfjs€[ß}'û;×^òSBg- Õ ·= MíŠ åŸ9 hºÐØÞDVË'd4^úÏ»äT\@'»i‹äòÖÚOišº£Ú²‰žÞr+öAQÑ`ëËÑ!‘€ÂŽmtg^€íÐ)SšŽ¡L´öQÛKoSw>ܨ˜9ÕÄÀC—k&‘T$VâŸÂØ2EB·Èö몱îMtc'³&žÆÓÿsŠÇª!-¾8N{ÇÈ$âKQýZš‹hf9bY„³’äê}ø¼6ÇͳT¢¿í Ô1<Œ‰ÇÈŽ$°Ü:î¨ÉÔIŠÆ+eÄûþW²ÿ@ ã`yrñÔ¶ÓmH¶ÚÅOë/eýü»hË.ç=§•`ÀKUÕ,>­keñ˜ \öý‘™¦µåc5iΉÖ|LšÔL´¡e ºógòô> üT5yR8®fZk“,>rkˆbÁ¼9­ô~5Eù”%ãvж{7½­Û1ô.GJ†¼Ý†\ÈÓÕLM¢®5uæjßw‰Mõ¸Ê>Fïr%™7§Û@l“ìÜ0?Èäí¥ÏPè›Äqyäçd³ø´ydzhØWË-þ ®Y‹Öׯ[«_¥*;À¿6ÕóÔgïsÚ¥W§C®txÏž=TUV2}Ö,Þ{÷=ñï¼ÿ9k:瓹¿“”/ˆf&U¤xº\³ëRLñà“Zc4oý€@_;AO€:o6^Ý“&鈕꾌R¼/ƒ·¹á¬ôa|àò‰´u |™ÈLÕªi3æ2ª²Ó´Y¸hŸ}ñ¥Š&’7ií¶`Fb”-^H]]Ý ÂÔÿ¦}´BzÖ¦¥…DG¦¿üª´G„Áø|> ƒjxáS‡þ¾® ‰dŠ]dC($µ‡ÅýhûlE8æé§Ÿæþßþ–K.ü¶´öÅÈÏÏW¼òâóüüÞ4z¾¸ @lÛfâøqôööਰ”f ©„È€ÔÔˆÝβAYD" 6÷x™[á&–™Gu™} ÖvÀ,Í@Y îyä÷_{7¯½××êÑb ¸ïÙ9¨È…§ƒË¸4 ·×àá?ÜLûL>ý›ÜuçeôÕãE ¤þ‡éu蓦߱ -5·…c+t:ó],SÈo¾Lqv¶ÄcQå8*]Su»ñuµ ^?´·Á˜*à"é¯Û…ûÝÇùÚÅ'ÂqçŠoÌdÊsVÓ¼ÅàØ| È–ÆØj7t…¥);DakJÍ:m*œ6™¾žnR©r`šRJ C'3;_¨ß¡ê”ƒÛÉ éŒÆçø!éfÔŒ ÐØ¡.•.žøéulIÅùùïâÿn;–%§”SÿU —,áæ3ùÅ-·rÙé ÉöèÔõƸzz9ç|·ïlMÃ1Ó÷uyYŸ~ò 5;vÊèQjÝ^ÜÞ\âáS)ëßDÄ—‹Ç¶¤ƒ Ÿ56KTy™›Í;ÍkÙ°ï))õçPQ9Ÿ[_E™–Ì:ãWtl_†rWHIõ"j>¾—¬ñ×bø²PŽ » IÇ’½`$”¾l]pºLR¦¢µ¼f‰lÜø…ÊÉÉÇåö°nõj\.—¼^šjjÉ›QM¢³‡öu›)ž9™]»v)ø’#F€G"†18¼©‘f ðº>¸™ràimhà×>òb XŽÃäB÷¡Öœ@EE7ß|3±H?®Œ,¼ç—„ŠJI:¯¿~<GÉÌÉåö;îàÅ^àŒ3Î`×®Ýt÷öòõsÎ&žLO$ÿlÅöV“²L‡»wc.¼ÕkQi5Óä)¢¾±›Ê ãyâ¢Óøó¯ ¦Å_&>îl^x¶–IÙu[áaúX‡PÀICET¯“âeo'Ùvœìürò´mqð:6º¸ˆæ8ÛûoLË" ÁìÌ•L+é%©yÀå9]ãXø'‡Z—ŤàFœÊ JîráØ6—›¬ì8›}6ÇÏëå«•´Ò’eJà8ød¨,[¡^xæù¡†Ë›Ÿ|ÎYß¾ˆ¢I“†G”•‚@J9én¹JŸcor¹H¥R ƒTaº––½rÔè×íMKϹÁæ‰3hz” #­­Ð9˜¦7'Ÿ—+¯¸‚¼¼›ºè:ñÖVÌh, -ÂWT‚ÖÛŽZ÷Aúý¼¼OñhV}±’S–,dñ ƒØé7¬”>ÐEUìØ¹‡ŽŽŽâÀ}’Ö{ø< ˲ ‡C”ÌÌÇè—²À±±•FÛžýTXvZåÒRà> 0üý«¾Ç÷®úÙV//^<—»ß^Áï?\Èßÿþ0Y/—Ýsï®XɺU+yhu+Îáµm˜î-Üûï×@9ä«$ÕÒNYE'æ¬þìCÖoÈBµ×sÞpv1ði'œÀ/Âß-#´¸prùÁ 7näWÍ¡£©Ž/û.þñ_Œ) òÁŠ'ùÕ—ñó{'n6±bݯùË}×’WÉø°m³ðý·àÞ+…`8ºÈJÀ£UZ×FbŒIfþ|ö¬kæí÷–£k¿Ÿ¯ý\¢-­”dÌM£uÝ&òfM¡ªªŠÕ«Wy=;RÊ{˜&„RÊ˃¿s‡Pf™Á mí­“QW¤í.Ñu—ËE2™$3œA,‘$•ˆ§AÜÚÛ來2£Ü•ƸK#"Ô××3þ|JÊ+Ð{ZTÿ›OˆQ1‹TùX ËG“Wà@|jÉIª¹¥•ñãÆI"‘`Ú´ièºNo?×^t‘úö)§ÈaØ,b)èÛº:qûCw)Û¦mÉ’" N©,ÀW]ÍŸN=“‡ÿý/Ξ0‹_½dl`åùÝå»èíSDûµæHÍ{ðź ÔnD¦Í‡›žàƒ«nbÊ”jõÇgžåß}|ï¶ëùéƒßÃ6M¼©~¬-«Õ~'%v0[Q\)ðTV""–irÂ,;àV’w؃JJ)G\~Ñæ.º6oGâI‚$q{\䇽ø]:Ž­˜†;Ýñ$ƒ8ŽÃOn¿ßy‡uëÖqõùç«i••²7-}`\•s¨éͰ‹zñų~ýz¦OŸÎÝwßÍñÇOvQ çd$˜žåâžÏkPý}üõ”ZÞ}âõ̲§xæ™g˜?>o¾ù&¿úÕ¯Xµj¦iߘG4ÓÙý+•"—ËÃK—²wÕ*Ô0–Å€¤=žü|¥gd@ªµ+i*­­ÝÞ)øBØóWvyµ\¹àX&MœxP™¸0ë_¸Ü.¿‹ÕU'ÑÐÙ¯’³¦IvWŒ®¦N²u [4”F,Bk4Ê„)Sùóuבն† Ûøý×'Ð0êd¼–É/ï»­Óg™[ÀŒ âµoM!¿ 3ÊBDçŸË¤yǰ÷í·Q™Ùì^±š±§ŸÀl­«~»jõæ06ÒÀÔ²ËIèuDFÇðdõâWn5®Á/ÝÚ¤6ô¤ä­‹eö˜RnùñeêÇ×ß$ÇM˜Ä-wþ€sO?]ý寉ÏÓ‡•hR?úéMÒ²ï;”´3¾2‹¸•Âo¸±#) &KÛÃ`0 ñ`)zÃJ2ǯ¦9Ÿu7‹Æ˜sì|< Z7n“ðøª4)" sB¶Q0ejÕª#vG:X†Óx1|~›h,J83CK·áÚÚÛñC„>â‰`åXäàX)Ú[[H¦¬‹éáRCWm%J¼$lÈ`äó999(¥¸õÖ[Q¢A_¬ÿ¶¶BIàìÛ {öâ|ÿûh€+B t¦]†ÁîÚZΟ3Gn¼çìôÞ|·R96)ÓÆï÷£ë:à ªë¤’6þ@€UŸ}Ê®Ž~ÿØÃÜ:ñw;y!£´PxB)Ófê(tòCîa™P…_S¸Ÿû¸oBF>‹Ž?ŽíŸ¼Ç ¥aþÚãðƒë/Â5îD\N ‚¯QuÆ×dúìÙ¤Ô€PèA%^ǶÉvÊ0L-=Ò†žÖ?êë$¹o;yãËÐósØþìËš~\n¶m¤ ëÞ‹¦I{{»*=šµk×réÕW““Æáa3=xŒÝ­{ì±,[¶ŒÓN;;wrÅWpÃnæw·üˆw¿x›7žÌš |ÿ׿#'+Kî»ï>µtéRfÍšÅý÷ßO$R(Ʊ–ÿ–Qx½>önÞÂUW]ÎìÜ\,œZÑ`VCn®x‹Š° hñ$.+*Fã>qa×¾ ×;´wuò«eËÈ:œÁQëê$¢ÐÞ€íö²ko-º®±sï>©WŒÑß!ÍJ%£&PìÛËçZ™$ŒR¦¥p¹Ü°¯–ŸÝq-.7Y¹9H­a ©†Ýxò{PÝY¼ûåg¸³³1·måõõk1º÷#»»°öFÑ £ÿcìšb7à++£3žß¡ó‹m·a¸\¼×coã]L( a¸]4ÔïcÖ³¤ËQüvñ$vGî\¾—Â]\Ω‹¿Î¶wßâÑÞç77_ÃSÏ¿C(¯Œ[»éµƒàÒØë‚vE"a¸©m·°EM‹I(f Bƒ2ÁS€Ël£çƒ’p«™3¦‚ÇCßúMD’IÑl‡¼Ç ½$¯zý›¶Ñ±iša QüOàÝÙ‡?78YR©)Ó$Ê@”=”ÓA¾ÇíÂðx%§'ˆ¢é€uðl=ÒÜ9óÐCÐý$ÎÈÌ/exJƒî2ØõòKdO˜À%wß-«V­¢¨¨H%“I‰F£„ss™ Ѱu+!GŠN>™Ï¾üJmM䵋áõ‰TM'•‘ËÛ¯¿Fsw7Õ’ÚÃÒJƒ‘M:b¸!«=Ò%cÊK¨il–±å¥Ø"X¾ ¼šh=­´tôѱo_lïçžcyíq)+Êâ»?¸K6ˆ3@Ÿt”ÃÀ÷È´!'^5AÚö¶§¤kérì¤MfU9JiVO£¦>Ž•JŠ ˆ®ãxKÅiAK·”»¶Öd úR§ÄJ),ËÒîîî@E#‘áºUÒÓÕEwwšË8T/lVTÆAGÇ}Q#ꉷÕMäí^xWqÍ?ÓÅÇA‰ˆ¦i*pà 7Èþ–VUš ¹qvƒ¿|£¤LKõìÞLFW=oJ¥Ðß_ à +·Û-n·[­_·†1§ÈÓÏüK5öØxt‡Xw‚L_RrQJ'É~;̼ãhlí¥¤ S|¹,otÔBRL<‰Ÿ,ù.mž‰Óß)SÖ©SŽIâó¤(ð8Xfš.#$¿4åv»å( øeüù:ʦLoÜA†m@y±ôššºôqˆõküçó_Ö!¶• CP@hÝM¶JRÕÐG_h¿(§IíT¡iŠ`›F_·[ÎܯrórÅê¨¸Ž°þ]¥…&a£ Èaª´½d(kÐlDY¶MYi)ää Õâ|>_£t˜Rư ó•ð׿þ5ÿüç?ùðÃÅ4MjkkÙ¶m›ªkl’ÏÚ{Ô}¯nåÌÒlæe`øƒÜpÅ¥ÔÖÖòðÃó§?ý‰¹sçrñÅ‹išÊ0ŒM«a^/‡­­èŽƒcšòðþ ÞzûmNZ²„M›6+ËLá÷û¹ä¢‹xþùçɰ,ÎK&å©§žR Mû9ÿØré9§¨³ðC¾sÙ•T––"d 9DƒOá0AÒu]åææbÆ0ð·…E ”Ê×4™8 É úÅWþsåj1烗xõƒ8UâŠÕó«<Ü0/Á[›ÖP5çnºæJÙ±c ”&‚S0Дׇòe '£b%㪠/‹N x“£ðl @F$t©¬*'>§\¹T¹twÄÕ–_âñx Œ€“Ÿ‡Òt4Ç¢,/(©dL¹ c&Žã†=,›-+/]¤”Ë+eª;/þ6Ö5—ÑsÊbÜŽÉo¾wšú&÷ýö¥i¦e³¡¦Ó´EtM‰+ Á ª3à]D‡„3|bÛ‡ œøý¢66uðø“O’L€“ìÅ·¥¾¾NÎ>u¡|ë;W¨DÒ7´n!Þ¯ØWã Í…ÿ)>3###ƒìììá*Är˜ŸGS‰9ì¹=ÏP­ðè†öïÿû \û€à M¼[n¹Ey½^žþy–¿ð4§æ“µè>o‹S1¡šc ’ì¹ñBö\v9S'M¤¯·—ºº:,XÀλH%Äñ›®¥û“õ4t¥Ø[t Þ]ŠÜ€bf¿’­{ •ŸçB‹fíà æÒ¿_§±_£#æ®ÿû3¬5̼|=§O ñÉ?ÏÁ÷‹0º÷³¶©Ý8D 1ø°¡¯ š÷Àc7Bfö×F<æœPJOLãŠû”Œ+ÕTjð­…-•¬™* œ3‰ícNYâ­Â±,BE¢e2s]4T–Ч—SßÜB~a>xóàÒû°·nÃN$âªë.”‰’ôÎjš&®T V*¥\Ê0°EÒ¥‚ƒûG¿Õ4 à šHðå—_²dÉþøÇ?rã7¢iÏ=ÿ<'º{hŽ[„=)tžùd ëV­ZÅW\1´°.Y²dH6ü`¥ßáÆ[‡›J4Ün7÷ß?§ŸuÝÿ{¦¯¤xÌ8^zíUNž5‹ .ä¼+¯¤©©‰eË–ñ/eÅóKÙ^³—šú&:ÚÛÅãv«0÷!JßnŸµõ¼ÿÙ :;;ÓJJöÀî70N"*­n2ÂT#à[MtÅ—¼½s'NP¹0ç·dȱ /ª”ðzßx JÆò¯w#„I1H×.ˆ™„R&ñ„IƒeâÁdõžY–æí7å”ýŽŠ¶;xl‡•ËM>Ûº î$c3LLG£0–ÂgZ8¢0“†=)’†KüÞ”zåÃ${whÜò(\Ö¦†ãÐÜéðÒßl¼.3Agiú¼аI—`Zz\h¯¢ øõS‚Û—Ö‚8xZë>ýW¬ÌSÉ)¬–«~¡FϾLYãÕÍ·ËÇûÊ…m¥g¯¥`É›€ûó9¢eYäääP^^~0®F9Ž3Ü™ìpÒ3G]ü4M#‘HÐßßÏçb‹¶Ž£lp‡Á„ƨ¿Þ¨äº?‚?ƒT2¡º»»¹þúëùë_þÌò·ß"å8LÞ“àÓÏWP2v"‹´zZ¢¨ÿü‡×_z‰Ý»w‰ôSRZF,Awy˜{üÉŒ—ÏŠøtîû¿L*ÛMH‚M*û5µ|e¸&ÄûúyûrfŸ÷"ãfGLAQƒíŸCG=Ô¼¶„?~Ÿ×ÿãGå±sk+míÉaIœ·þX7t4Á»À=ÄEн»…¢“ÑÙ×þAÑCýå‡pòR°/NØÓÉó˜Á«gVw;åµ›@hÞ É7àɱ):uŸNa “@0L©©ÆW€‰åcpFtÁÔ5¯—@SÓ #ÝQÞ_PÍÍø‹Š[Ûu €tw#"¼^^ýuÇ!•JáóùxöÙçH!øÞú‹be”›L Öцëä…¸§, ‹á÷û‡Ð÷ß¿RŽ#†a¨¾Úñä)ÃçexúHóÏ4MŠŠŠ0M‹ßüâ.®;ùÖïÞǽ÷þ†;î¾›ÊÑ£9邏ØcšüéœsølåJ>yë5¾Î)¬Ø²‹ù³gÑÕÝ­ŠŠŠ;GÒoü 7Î˶÷^El m@"*­ÇÉ,&ÙÒ†òd4·{¨cÑß—Bª'1oT ©²yœ0¶‡c?»F}ÒYÉ=ÙÓQûg’Ähí—_‘´Óo Ó¿ &Ð[ƒö>ØZŸ^Kz”Š'!b),öw ¶Ùé…*?¤(ñ@ܲMZ AJÑ$ÄS(˦vèêƒ-û ’€”€KA—‚õŠ`xlh´Àeýw¿&Ý-DZÓ" ;†ÔÁøVM°Ì$­=:ª§àöç)7ƒ¼ŠãU(Ï`ãeëžpÒþ\¤,aFdxFV%†¡ŒÿRwÁËM¥R*‹ ©+¥p»Ýض-Ú€Vi¦‚¾Èˆ”`0:|­ˆFGG‡˜¦©Àpºœ‚Ô¿~|ï~D7$##Cõôô0©ºšãçÌäþßÞ+ˆ¨òŠ *J‹xõí/ùɼ1â›;[=öÏ'¤®®ŽÉS¦°gëfZzú8ç̳(Šï—ZcÌ«®‘±³ÚUÍ ?“ƒÍÒ\˜IÊBÚR.”M¿ÏÖö~B½U×»™œTŒ›®\*3g|Å=?¿œóæ#Z*©r ™d¸Ðu}d¤ i"cFá…zá\3N‡{–†OÖª,'*Í[ö©ß-}ýŠG"R’‹êX3rdÔ˜‰¤R©ƒ·J‘’QØñ¨²ƒçˆîõ£¾|Ù±’”%¢'†Ê]¸î{ˆn¯¡dÁlvÿ¢ƒuO/£+•Ñô9s³¯O¼ÕÕÊÓÒ"ÎÏSéûøcT$"F(¤†:ŒHÏmÛF4®dR(VJ×õ!kKÂNŽB4€Çwúy¿ß¯†d-WÑ4úvì’xo”†¿ñœá÷\<ä.t»\4ÔìåÜóÏgó†Ò¶h®êug0gî\Ö|ù%y½òÚŽœzÜqjûöí|ç[ß’™Ó§Ñc¹í—÷ðË¿/ …ßïOC}MÃj¶l£íý÷å„`PY‰}ÈP„§ ÊQÔn¾ùc"³ŽÁéhAÏÎ¼îšˆŽ¸ËËÕôSOų·Ôý쌭®–G'ÿƒÉ=†Šâ[ Œ.¼–àø„¾(âqAvÜJ¤Ô-jAL7Œ¯Ó$CÁeAe±ÈüÑ [Ð5B^Áç ö&”ߌˆ#†Ò”)™>¯K“€OÔØ^dád׋XŽ s'hâi×0LM••#º)‡Ub1^h Ût˜3NÃãg„õîà?ºÛC…,‘æíw+ÍðÈÂùs™4àaãrŽŸ_ÍÔEÒÂà*=;l…*ʱú”²mk(xsTZ•d„ÖáQ).뺎c[Ê0tt—Õ«¾bTE9-mâvijò”iX©Ñh —ǃ²L¥DG)ÝHs_Ün7ŠÕkב›&'¯`ú‘£ÂT«#æWÑÖ¿]ån]öáÓàó ßý¥R’†oTÃ?¿ͶÔé'Ï·¯¸šIííüðö»ØòÐOÕ››îä‡þ¬.¼èBÙ´~có³ˆövQ³æS¬­ª ¼\òr Õ³÷2~º†Ý&*§RQòÍuÎÉá‰GýŸë¶Gç{ñ¸Cʃ|òaÖ§#çßË –ÁÌ"ÙÙEÝó¯Ã’lîlǘ9Aºßüªž4Iüy9Ã1#js¢À(( ^_Ç´’\Â%>ìi“°‚98©$ÓgÎ$«¯"·+A/+#cYÉd’HO7ãÆŽå•×^‘/×nT§^õ >oDÆ4µªâ|?‰D‚pN—\}5Ÿ}ú)³ªªðx=ìÞö…¼í{WóÑóÿbï¾5ÜzÏÝ|°½Ÿ|Ä7–,¡ °^xã-bÔÖ­l¸ý2øõMpÉïdáÆ±M¥ë.v”x©¨ð1­ÜËö¨&n·‘ޢķ[”?Ó ×)*r3eŠ/ýùûüÿõYk%.›Ùã‚2{Š pÑÛkª¯ú5<~Ç]¦Ht 'ã•GnN ‘Œ¡æŽñÑ[ëæØQ@†.—`:ª ßMåÌÉìN|ÝGk3  ÜmgO †”…‡ÐøàÃåìÙÛ@YY™$ëRª­µE²ròÔ·ß!o¿ý†*/Å€8 ÑÞ•µºòù|$“I‰©dj`vÅó`RJtMSítöE䋯6R磹ßGoý¦ÍžÍæMÛ]™½õ­ÌûÞ¥´ìoÄ‘‹ÝÛNva!_-­[·ëj•‚ÑcUO{õ|ó[ºÎéo¹Ó‰Hº^xÆ©§pÖ™å´o^ÆþŒ~]1¥iCÎO ,ä±Ç˲ÈÍËSS§Nå˜Å§`¿ó·•YÒëßh¨¯çÎ;魯½›‰&±jc ‘˜-;ZüìÛý Szú$íTáY38&£VÜ´ƒK£";(!Ÿ­6mÜHÒv «…ñ_­ éÒG»Ãò³k/QŸlÚÂY§œ$üãœ3y².^¬öÕÕÓ´g'.‚™LZ5 1“ø°Iõt2šNœ  f0kútѽÕøâØ´övÜñ. š·®“µvKs †k8BtÕÜÙ³ÅpàÚj.CŒž>zçmµoýz\Ïcô!È•‰gìX¨¨l›2þë_S‰7^ã—xsç:17µ+=¿ÍëA4ÁŒDDY6Êq”ööÛhš6æöû¤vã–¿ö‚XšU¿’‚u/à ß@yýääËuW]Á´iÓÔ³ÿzŠÑcÆðÅŠ̘1CvlÛFãšÏ™¬Û\ùóßikaK ;6o–ºº: ‹xãùçäì\”oÎb¸â~QiÅhц]Wö&Ëc[ŠX_úqúŠ ï 0N6µöóȆ®«Îc¦¦»ç%}¸RH2†B‰èº"¿BpyÁ±‡U7/ÆÁë‡HÚrz°/ ý×xˆòÁp—Tí°ÔÆöÖéëîTg\}%€üìg?£¨(*ÑH]l0jÃæŸŒ@¯ h È _Šqõ—CT¡‰ ŸÊœùq…r0m‡`(,‰è™ÊtDÎ>çÊAG×M×ÉÊÈ`üx¥•Ö»ëŸ2‰¾ö|>¯²-3­oí¤°Ì¤:¨pÍa*JÓÛ¶dñâÅ,™Jövâš2Y‚Rª¹¹™ 6pÌ1Ç …Ô €«RŠš]; Ä-T å¶r‚>ÚúR2®ªŒ'_ëaWsåÍR½uŸQ˜o‰9¶L…È ÒÓWn¿ËFíï5¯zÑÝ^*23H¼Ôü„pʃW·ÔñçžOõ‚EÊL&ùÏGÉô¾>…ËE¤¿Ÿöu+ñƺ jdèüíߣ|±nqv²á™­Ô®[¦6κ„½ÊŽD¼e4¼%ší¨ŒùsHµµûôUÕ‘èÇŸ™f‚0²Ît,KávF*|úíµ×ñfS=ç,YB$;,ßPkj"µz5þª*”RÊêèÛ¼^TÚ„é Ú¬RZo¯$>1l¼ÐmÎîqؘŠ6bÔ5aðê:ƒààà º®ñíï|G=ô§?óõs¿¡ ¹ï¾ûP|ø‘ttv©’’’¯Ó\†:Lìyt[̃ØC©°®ëø}>†íð(åΦacƒ`›–Ȱ­^øôµÖÁüÆ0 ÚÛÛG| Éï86†àþÈ#ÜÌß–>'®T§Â­áeÊ™gž©–ÿçmÖ¯_Ÿ¾Ñb±\e—gÛJ´-ÛIì»”þQ3±#­\^ÃJ°$¯¦‹ãϾ‚p¦6$¾)š–6_q±˜–¥BÁ †&è9yôE¢¨šz|ÇrÞ7ÏË–ªÊJþóî»LS¾ºáU4j®ó/C_ÿ|õ&rýU'Ž—€çÆ„;î{öæ‰ìxY9ÖóèÉžÁíEKE%Þݧ&ÎMåÅ7Q:¦KsqP˜öµ°m\ÓAU›xK O¬[+­Y¥zºº0£&L&™X]±jÌ›篾Bs 555ئ‡Év òóq|Pñ¸: yh3ëØ¸D[‡ôG£JDg†ÅWRDÖØÑGL“odÉ.ÃífôwÎeûÏÉ´“iÝV+.ù¦Ò<îáÍ;I´w¨ÎÎ(}žlú»’4ÏOjëŠBQ9àuãÉÊÀŒ%‰vt“èíM{_û|¤ú¢dM™0À¢9ð0ÜØš’šúýjnõD:œ i©¨TÁ˜Irõ*ÌövòKJ¹áê+¹îôã(/Éá®Í›Éyæê«øéußãõú‘5²ü£yäᇹÿÁ?âS&?üÁ üü'?"î ³}WÍÑ#(‘´;Zw+ìZ¶…†P>qìÁ›I ¿˜—NI¦¢ý  =GÞqŽ“.Ó¸<ƒkÁ¶Fœëh2OuíÜ#Å'-Tâ2NÕþÏVž?“žT]UdÙŒ®šÈ¦”´ô“E‹+ -ÝdN«¢®v‰xœ¬Ü<ýqZV~Eá¢c’H!¥ §´œýïîP¯oOØßLN®Ouù‘ø~’'.$ôúË\÷Ûøâ³Ï1»;8ãç³ø¤“(+-åÖ[oå-MƒÁï½ÿ|ô);w×ðæ³ÿâÝ>doCO¾öνàÛ( eŽÄÐÛ5k@9ˆf FOQÎGÙæˆ{rËR(ËIÛ Ã£¹ RS¸€NÇFTsñ¡lÄ2A ÈŽÝ}¤,Å{[{ d¤©œ5dÅ2MÂÕ§qùÅ3YݤԩWý’_|QÚ¢®ºwk” ìü„Ââl2Š ÑÉÄáÀð‡z‚ ¿‡Øì ü7-Tÿeû.ÔÈEPÓ4r…;ä|‰D’I“&1kÚ8bá_ù}›¿B#[#éÁŒ@k[ÿxìQ–>þ2sò‡õÛsÙÓÛ„Ÿ¸ƒÏŸo&ê³ð ªãdõ|Lß; N¹ Úc— ÜËáL?Ìý–â»Ëµôûìºøa<¹c0;öcD{É´5e‰FnY1ß­úο‰@ §œ’Þz3²¡¯v»pÄbÐÑ¡ÐuQ¡p¡HºzÁ´I&S¸róЪ¼pßwaÉ7`þEìØ±ƒQ³g®#³ IDAT±ü“OˆF£Äb1uáe—ïí¥¾¾žñsæðÎòåÄ÷íãܳ¿Æ§+ßV]9iÑü:ŽÂív+—a¤5éÑÒ|I×KÛ¶mÊTŠwß}—ÓN;ßž{.s¯¿Áår!ºV*í_!š ÃP‡ãýnfÉÞ>Ì®nZ 3Ù·e+e¥¥8¶Í–­[™2c:‘ëTvz?êü9X¡\)¥4à ·züÁT&D„†÷?%cædÖïÞI~¸Â§ÑÞ%n6¡Ï›KߊWÈ·S4†+(Ÿ0†U«>!';—‚¬lZ›Ûéñy)5꥗֢O˜ Éa?Øf&­ÃE%™—•E,‰ŽJ«+Ù»ü=Ìü\žS~éÙtŒ##·€o|ûB,Ë¢ l¿»î»°ì—pá•\õ£[him…­+¸xJ Æâïà14–.]Š>²[v¨ÌeÂÞM ÛÍ@UNƒÂÑ`&QȆGx¤íÖ´œT(çÀâ¥C£ŽúÔ`§ Çfw·C`Ê4Š&W‘ЧÒ.pÚ`Ê¡`çÜy~åÊ̬LŽpé¢ñBÁ€:ÐÈÙ)uòGï²LlG_Z¬zœnœÝŸªéU£ñÌ9…X‹[¨¯µ·æà÷P ´Œ$‘6š.…uD¬Þȶ:ëp“ú(Ìë RMx\å£&Û$ËÓ¯"3h<î<±þàÖlÞÌý÷ßÏâÅ‹%­~ÿûßS]]Í…^È_}wo/Yº‹¼ð¸ô5íUÍV9ÁoÃ¥¤«ÕV¹¥S„ã8deeÉßþö7õã/¿`Ëþý쬩Áç÷O&!Gw Œtœ£ØŸ: t¡mÕ²gMe˞݌=𬬬¡CÚš› ŽtèÅ!ûE†[§v†ÕH …BZÛÛTV(ƒ²²2”•"¡±n/ÑŽò¼nÚÛ’\±‚Á¥eå$ME…?ƒ7?oàý q‰I‰êkñàv<´tÁŠ-pß5ùrÖ’“Uã–:FzÄ[\¨ú^|™à¢Å4ÿý¬ªý˜‚ËNª7B[{jÁìkhÄݼµ}?òé âùc°°oÔmÃ=éD¶oÛÌÛ=Ä[o½5”Ê ìMGõvbÛ¶è.¯" y删«ƒp¢Jé.Ð] µ½}lÇeàøCéM/~fr’4D]=¸a•n‡ý}qšÅ?!5k7¢ëO*‰'EéšÂç‘Óáljv‹>6[©¤F {šÛu¡ ͵'#À­?û ÿÏÙ{ÆQûߟgf¶iwµê]Vu•-llÓlªÓB H ! !äB¸¹ ¹$ÀëPBBO%¹Ú%´66ØØ¸WY¶dYÝ’¬¶½ÌÌyÿXI–m™äþôV;«Ý9gÎyÊ·ÔL?…º¹³ä…ß= jë–ÉŒéµê‡7_(ùo®V%vÁíØòÙJ†ÁÌ™ui„Å Öc´LO$šˆÞöïhÊ @ÔÇR”&](˨Èx(¥¡PHü>I«…­Ÿµ‰»ÁIAÈC `¡Díl­ß†…àô–NåIg°y›öƒ¡öM<òÀâŸtg‰XŠI>7u@”Îíy’áó°íœ;ÄZù?È:ñ²ID£Ä].Ú÷ðÏ»xæÿì•©EoÝ%‹Ÿû'Õ±ðšËǾwgg'¿øùÏ™RUEÒí&§‘/†K9b!Š×¾]>UÌ×ÿ—HV&ÁX MÓDôÁRü§5ê`o¿¼îÍä…Û¾;•ªœ-ÑÙËÉp:ˆådIýŒ¤’I¾wç´<(?úÑøÕ¯~Eý¬Y2gΚöï'??_õê–—^y…ºÂÞÐ'=­G´÷4 R QÝ ñ0hšŒÂSöìÙ36f-½½tttðz‰™–Ð}Jw$Ô™Žû±rdosççŠ9T†Ë)Á`ÌÌL”J«xgææŒ7w’ñÊRÿJYeØþXô@ú±mãÉðÊáÃ*a¦Ä°R„#qÌT —Ë…eÛ’ãÑé´•g†D#Q’Éšæ ‰àu§Ôôj7Á˜J@O™x¼È©s„³$éê4eúÌ °,ßy‡ì+–“ñ§ÿ’«¦•Ð7÷fúć{ ]ƒ‘(ª«‰™$6nFòûÄÈ/DÚZE:Û±¡ï°ìÙ¾©«#eš8F‚ñ÷RV “ŠYs‰ï݈cðàóÀ¤²£¢µT*%…EEGRÉ‚\nj3…¸Ž\óììl©®®V.Gls‡A·b >ÊkÈòy%•J¥¨2ÖûH/š&8°ˆ‡#j8”Ž^HXn¢±”˜©$ÝE×v†F¢[ Ã)2ØÑ8òó?)BÖed” ’JÄÙÝjˆ^}&{òé‹äɺCçRj:O÷?oÉŒò&&©—©›:aàðat§s| &ÇE€¶m“““CqqîØB¤”ÂápŒµŽGÔRTOOeeeÇq9˜#ÇÇÓã±,‹p8¬²³³Å²,åÐ5l¥”eµ€ŠmÛª··—ÜܱsO¸°jš¦°cŽk„#ºB70-‡ØšÓv’ˆ  =ÃN64¹UK—Îûý¢oO©õÿs¯L«¦²= øsk%;+Kõuì"/''Ÿ»œÝëW)Í6åGßÿžzµ¢œCkß­0Ÿu­½ª¼ å_þ2‰TJ^|ìQ†öµŸöU»~‘NË•)CÏÿ ý¼s•¿¬ˆxYxå-*Î_¢vîØ!ñxÛ¶UÊ4¥$'Þðžñàm96½‰@ÙØš:¼^ øüª?¥©©I9{[‰8ýL;‡þ€G¢ñ”re9Yy¶K~šššp¹]D#Q9¥¾œ‚PŒ=A¥Œš„L¢i¨„i3qH]iÚÕÌŠFÑ Ëá¥WUþK~Π)ÒÓ­äèæ Šp‰§$ŽkݤÄéçáJûh•ˆ™âçÏ?¯–ßr uS§·Äb1õËÿþov65Kbý»¨½n/Òmm‰J¥Ž¤}š¦b]]EÈþðq‹ÂåTB较ÁCˆm+Ý0À•-;ÞÒµBU·êNÁët¨wß{òªê£c×]U"¢±¸PYY©Î<¥RšZúÕëïí i‰Ä([G¢q”n‰6*žHŸ&‡TÚÍà¸üÝpºñ.æ“×îRš‘!YE3INÖ®z[%]•âÏ®€ðËê”3ë©›=_,ËVÑXLöíß?¾}Ô\MKUÖ@ ‡ÃcQ›Ã0ؾ{7Eä$S)4M“`08æ ·«±‘²ÂB2}˜–i) CÛ¶1M“p8,N§Cƾˆò:u 2]˜ö¯b˲$ ‘­&ćK”4Ù>íþ…B”6â=‚º.¸œˆ¡ n—N*Ö!…“扶ÊÔ)ÕêýwÏœú™ÒÛ½Ÿd¢šàð L›6MvìÚÍòåË¥»··ƒÕ›(u‹ø/¾ŠT•çŸyTq¬O˜F«1óeÛËáRuµÕ|óÖ[ظy /½ô’TVU©sÏ9‡—^zIM««cÞ‚E¬_ó†xmÅIu3Ô#+~- ò|êä ¯ä×o¼.·Þr³ºêŠ+øôÓO96êµm›ªª*ªªª'/¬‚õ(,W|ù{‹é´÷HV¶f ,˜ž ¨ÏV<{äCIMÚw2o¾z÷‘âàdÅ?ðD“âo-Šó—qauw?ù„š7oï½ýO>õ´hí êå+ʃ«vR<ß­êå ¾ý«§ÈqÙÜsϕӧñì_»Ä¶lå÷¤a©ÞJ…å…PJOÙâÊÐToŽGv¢NšåÁ©!¶©F´>€ÚMÓ¤»û:õ¼2YˆmCó¶µ4mýƒ:éôK^9”ÅkÕÞͯ0Œ£ø>œN´‚'6EÒ5H,Æ¡¾^¹øÜóX·i£´¶·“?{¶$’ÉQ­æârÄ•›î¡8šÀ®¶†ûd~M……G°e)‹ÚB/[SpaŒ>»:g‚LÄEU*­ba™¦hþè¥Ò~?¶m“°lR#ÛɾޘìmT q°}ï>~yÏwxìë—IÓÁ6ÕÝÚ,ú¼YÌ;é$-ZÄé§ŸÎwÞÉ+¯½.‘¾..¿à,¹n~­zü½õ„‚!ÉÌËI765c›6{¬ Jr‘ÆF©úH±UDÐtÝ0Ò£d[èµ³Á@KÄÒÔ ]@Š«Q©šéº9¨©Jq¾wÞy焵څ ²páBøú7¦Ž­\}ÍÅàë‚©3ä@{ßùÞ÷ˆÅbèV î†Ð VÀ¤5¨D χ}àÎÉ“A)âè%%˜N'±dJ"û¶+5Ø‹øPò68]¢Ù6»÷ìæ×=vþs|ƒ«à¤zºÜW\ñqdxT2=r\äxà×x&ÈH3>Ë=väQuHW¦ŸgÌåæsÏaÝÁ6~›·•oþöD›!Ù I…òååR~~9߸äÞyóMyò™§¹õü«Ž:ç8µtaRt=ýȶ•>íìè”ÕkÖ¨Êò2ºZ[¸óû?`VÝt9uñbµòÝ·%…AÏöM¼ðîj&W”óä›kù¸¬@ „ùãÿ sæÌ…ɉjðÁÁA¼Á0z4 á8ñþ~T<Ч¨è¨×Ú ݳÏÔ©èç~ÕÙ»?A¢&ªs²e5 Óoû/LàÀúMTf”Ë“[ÔžoÍàñ>zô ž~úi¦OŸÎ_¿Y^üíc¸þòSYÓÚÏúCa.±L‚Ñ”¼ñénúÖ¿¢žzáOòã{î&/GÓulK$»Xcî\ Ž0>ö½¾–×ô$ž¼×ÜÅãd³Žî_sÅM²u/ªºº3•Ä¡»ùlïëÒ°÷%öu@´öGûY¹ãcÑ”¨Üi'CyÙDiåĦH–m“éó±hîI¼ñÞ{”ªyõõO$Ô8!S••™)™þL|^.Cè ³¯ÓÄï5BJ)tÃIyž›C!›m]I&eéä¼8 mTÖüßòQ œ†& ÁçVÊtäˆí=CÓp:–eR’å ¸(C‡ê‚ U“™ààJÅ/ïú}½<ôÆ*µxz ×Þð5寖Ûo¿mÛ¶QXXÈêÕ«yá…Ô`w‡¼½rµÚÜÒÉgCF†G™i ¶eáóùikiÁÃÑ$“<d<¼\C× £zM=ÃCƒdi ‰Æp8L†eáöxˆF£ø ¯ÇsÄ.Ѷñz½Ä¢QuÁ…ÒÞÞ~´qPZÕâ¨Â®®ë£4¥iZ:0SJ³•Æð½­ZuÊc+VLp¹þKÈҷܪn^¶Ø†÷¡z2Ö)W’ìêVΙ³D뤠µ—ƒCï“9¹JeO©N $Œcùˆ¯üõoʌư-ëh™¨‰ë~ÇŠ­žBÇ^1Ÿ­ßÀöƒméEÈ%Ò›Œv¤‘).Í--lM{H¨`_ÿqŒ’Ñ7Žt÷ªþ ’&kZ-™%#JçG&«i™êª«¯¡uÛ6¬ü'îX˜ºúÙjÎìÙÄ[Ô†w†äï 6SgÔ±ÿ~ÚÚÚ¨ÌÐÕáþ°ôööxÕ±Ÿg\6dHs¹ðÍClûvÜÓg _½õü½¨µ¯!±AþÔâÙOW°ú¦oóÓ§^çàSÿÅŸnX¢†_k圿w0íŒÌœ\'­úMYq‘ZzÙÕri>êá™n™7×ÅC!~~ç÷Õsïnâ·ýçïºKeèÁJè¾)åê–õ›C3cM&5o¢>KHÖ"†ƒPFñÖ!99xëëPitâq‹Â²™jÞ¼yTTT®#[\{Ó·Uÿš%<'#fSn ñeU†Ý®élçÿ`‹iÛ¶ “é÷QU\Luuµ„ÃaœNçØ„s:ìÙ³‡‚‚Ö¯ÿaÎìÙdé Zš$·næX F×u:ÚÛDDSy:4µµ³³¿PÌÈE~ÚÉSd4õ>–Ì ‹&ŽÛ„LEf2Ó4bÃ(ÉéH«CÚ V–pÂÃá»±HÛý oß¶\g^§d ]ôÆÏpžq9*·„ª²üñ±h£¸²–Ö­[(jß(ÑS¯PÙ~·¸œ.†¢átDA¤ér» ¢Äåv|æ‘ùêv‘Ú¹“ÿó?ÙÛÛKýäÉÌš3GzôQuýu×q@×yæ™g8çÌ39ù¼óxôw¿ãì³Îââ /äñÇ“ŧœ¢ôH„ÈÌ™3),*R+V¬`xxx´D!ÿN^t]™bñHv­•HA=y‹—àÌÉ"´i ¥"½ˆêØ/Ú¢ ûjÄSQ–Ö¦;&cp»\lܺ•ÿxàWríu'sæäL¨)„˾ˆ¹a«D<~ô¬|ܳ§c&kj¥ñoo¨i_ºì8YªTï)ˆ(m¼ ÂQ¥ôñ„W5Jê<'ªŽNŽ},"bŽ“ÖAŽëµˆ¤›z#µFÍ8Z¬at±n{ ""¹ çàÊ in¥íŸQX^2êÏ"ˆàñd°}û6¾õÝ»ø®–;vªmÛwHKkûºûøñê<òøcô ÉÖ­[©­­•–î.lÃCaa¡¤Ò´Ã6|&š J)dœ¼Øá{±“IAÓ”îóÚÞ€¾få·ß7ýÙ¶ÛéM(†Ä% TWw7‘pX0m4õê5§P¾âï\ô?[7}&EÅ¥lÙ߯¯ïü:kŸ]!Ïïè§Æ‘"–kÉÎ÷ÿ—\óUžüõ µä†&F‡Œüѽa‹xj ¡¶J¤¡Ó¶%£²”Œ©µÐºkß.Œ)3Ç0‹·ƒGýˆ0†ò;òÞÖÐzÀÔ51H(§[6š·Ç^ÔT*źuëÈÉÉáŸÿü'—^z) ÌŸ?Ÿêêj”R¸ÝnÖ®]ËW\ASS«V­â†n ¿¿Ÿwß}—ù N‹Ft]—7ß|“©S§ÒØØÈæÍ›ùÞwngG[ƒr—M’ÁÁAt]ÿ—;ØÈÄ%–Ô5b)@ò™Á=Äœ¹ôûf€hD<4tåÑÐ8ÀÎ=û8ûŒlJòts„ÌŒ=T$;P{Z»±N¾„O±p¨„RJÄ04öö[h[ÈÞö&m¡¦•ù0tÍm­ôtuãÎðì³pû¼øó ðgHÙn= $V©ÒÓÕÅo®ºŠs~øCnÞÌ7-â¹ßþ–ëo¼‘Ÿ<òï¾ú*ߺñFîøâiÝ·+_xG2 ûöQ°t)ŸÜ?§Ÿ~:kÖ¬áÿù'‚®Ð{Áß§ÔäsE묬ôúiÚž~Xº+g¾Ò릜°uîKxæ©ßÓ°m#‹ #`:P¡ûV~Ìä;n¥'¥é£ÕèºÆ¬ó©))¤ëã ”œ¾ð(“­Ñ(â„cíqS§‘þíÍøíþ; _FƽÞåp€Ï¯|Þ Á‘—Ïã]Ãï÷ÍG×k,šÔu‚û[ðæAm[6oÁ¶,j¦Neò—¯`wc?Ó·Š®Éˆ§Å§>cJå$:Q]7›­-üþ…ði6g×ppëòg¬&Ož,%%%Ôͪço/¦›Z>¿Ÿæ––ï›j:h:š?@ô³O ÷ 1J_V€–‘‘–/H¦œ²-dpõ²—œš4‰ âðtãLyÀåÃå00 8uþké4¾ûÖî»ýê/½žO¾À¦½-\<{2k~ÿ8™V‚ë'y¸c”i“àé—^çÌúz6nÞL^YçžsÎ(Jä¨ÅÜŒ'µuR¼páá ¯ýýïÄ£õÚ«ïR·ð2 ǧ íÜ„c 3'±Òœ‚7þü»öpç Ø»ƒâªzÞýàcþùàÍü앸C¥ƒ`Ä !É<ñe;.t»Ý|òÉ',[¶ŒêêjvïÞÍÇL8fúôéc>Á`ÖÖV233)..&??Ÿüã ‰DÈÎÎÛwïÞiš´¶¶rî¹çRY3™u6R[[‹ÏçcxxøßžÍNCá÷Zøü:þþA ÍÆiØø3LlÑðºS˜®0]%Y¸œijØ…ç/ÃðçÒØÒ£2—Àõ?'þÁËè;ï#rö×15•D4 +¥Ñ:ÔOcÑIä äP¿>/™¹|õ¶[è[¿…ì‚lÂÑ$Ù¾,̤‰Ë­aö¤MomGI >ü0|öYÊòò0¼^,_Îs+Wrý-·ðÆoи~=w}ýë|çÞ{)ÏÍåÏÏ>ËýO> S¦‘•@uuõ˜@Áx¡€Qnïx‰º£©H˜D4ŠO‹A"E8ÃŽàð{ G£øÃátÛ-e#±8‘X_<.šÛ=–šŽe]X‘(ùE¹àŽA¦]Èà¶=8ssi Ò²k¥¥¥˜¦É§«>âäSO!yx€O?ûŒ—ÿúWbñ8c‹ºRŠ;î¸ãèPÓaÿ–´Šµá€dº“Ò€Üÿ‡‡ÛMÇöíŒþ÷ÿ|ò m·ÞJh8ˆSK@ë’NÊ©qBÂ@$á!œ›^Å•3и G\¡éåìIy0uFv!ÉÅì©ÓÈü¸==g2½0mÙÝTpаl…Ç¡ƒÏÍçÖqc}|õ ú&ŸÊ#ShÉ.Õ IDATO¢8ÕA÷Ê×Yò•«©:€ëÀ>sÎÞ‹š{.¡·ßÆsá…h£XÁq›Ÿ²,ÐuÚ?ü˜)_<ŸŽÎNÞùÇ?ð{5Äžcê?%³øtÖ†JøîãÔe:ùJø,°Lp…@+úüPâišºæšk$++K% çœsÝÝÝ£®ö¤R)jkkikkÃãñÈé§Ÿ®jkkeùò媡¡d2)š¦¾VÝ~ûí™1c===jöìÙìÛ·ùóç« Â{5%NÙ Á?ïL’hÒùîsÊȳ¤ä;¿„Éõ*ºv-uuéÈJ×Õ1@õ1F;•§C575InNŽª¯¯Ã08ýŒ3TrÕ'r0”±¤1”èÚàÚìW>¿? ÃáÆí+OJw˜"J“ñ÷Á …yWƒÕÌRJÉÌ™3±,Kªªª°,‹D"ANN±4k`0È\0ÎÝ ‡Ã,Z´H–,YB4%‹!’–žž2e –eQVVF<'//šš4M# Éx5èc#š£õÁ¥ ™^Ɉva¥Ä5'N§“l¯!¦iQ™í ´$ %™ö²˜äͧ¹uŽÞ,ŸYÌí)víQ\xnÜçQÕô*EÓIÄ[„n›"‰8ƒ}=ôt¶Iphˆˆåàpo¯+‘”ü“瞈&#£zz)Ë¢÷Àn¸ì2¶€Ü~ß}<ôË_2gÎåærÓÍ7s¨°í½½<üè£Ì[¼XÖïÙÃù§ž*ï¿gñâtGb º>Ý„³0—ÌÉÕ’<ŸMdŒNÓ2 ƒˆˆ ‡ÃŸƒEUÄb1 …Bisçq?Á`è±x$’–ã´Ýdl.‹mÛj¼OÆx£q$ðQ .–/‡ÜŽ-*ûðv1-…«°„žú ië ch(;è’îdHõGRøÝºø¨²lC.ª/Ww?%t¶$·ëK*ºe’¼¹o'ö¡œù?SâòˆŽRÑ„’Ö5Y8wª*6·§×#¶ea͸í¶ÛX¸p¡Œ·ôM#žLÊoþû¿qE£ì†ººÔý÷Ý7*Ê(ógÍRñxœiÕÕ’‘áåýVãp8xü•W”Ý~ˆƒ›¶  z:dýêU3£Bvµ·ëj£ººRU–±ëU¢/X„f%G/¦p:ÒÝÜÍßßZ­.™?[Ê6݃AÖ¾¿[Í:k!…1S‡¢ÊH˜¢…P5Á^‰lR®HTôQºÛMÿî}b¥RÊš<‰ö û©îØNÊåS‘ÃQ±—|YAÜ“¿ŸŒýqz}4l!*+­œ,E“ʕˡÎ.u‚kBŠ/oýVøä5ðø`¸¾õTÏåÞ¿STÖÞFô@&¿r,Záüâ]øÃO ­A±âkpçóŠG>ž¸|¨>›ÔGáXºô¨ï¢²LÆÊ¿ö mp$[’lnR^—‡Äöm«ìÜòóóÐuh,¦\n‘p/ ’&’4UÜ´ÆÞUTÊVé›5i¢’¦Ë”Š\Ô††ËN9¬Øÿ(Ç{ÏKÒÖ”ÓŸ)Ž¶í¨§~ˆ|ã!•¹d ¡5kð.Z¤´4|kl!”´ E'Ï£ñåÿeÚÕ_äÒiù^õ*ÉTŠÅ}ÛX´ü4¨vCÝœqc::.: X9Ó×jSJ˜o+"ƒ@…ýT³ÍçËaÉHH¦”ÍpÌLs©¡Û¶ÂçvŒ¥06”„©Æ‹MÚ,©ñpvƒ`úµbZ–réÂ@ÄæÍ=1ΙìÆï˜°Ok8öo1|˜}Ÿðßk6Ïd`F%O¼Ât”—Véb™¢¼ƒDtˆÃ}Ã$þ’‹?KcÕX0ºÝâÏ)-©àµ_àчâ›×]C×sϱvãfæÎžÍ÷¾w'ÿß¿CII üÓ‹,¿âJn¹åÚZ[ùÕCñýïŸë¯¿žÚÚÚv¯ÿEG;½ú3yóOÏmÞIOf—œ½Öÿ”‰Nßð…Áƒ lüß‚/RTXˆT——òÉ?ûر5ÉÛw-úFéY£š_@‚Œœi¼³eÞ;y“Ï'ß“Á?òÁÕgpñ©ßåµµ¿‚ÐgäWÕÄõæÓ˜Æ±CÃ<÷äï˜Su.‘–ý ƒžÃã »|*zÖ;¸*&±x¼…ùT\|.í¬¡içN‰¡{i[¿D*…>y2yS«$/V83èiiã²ë¯gûºÕddecG£ˆ?œ[fº™sß_ÓªàÝÈÿ‹òec…Bè™™ãÌÒ¸Ód2ÉW\ÁÃ?L^ÚXkb RéHe%™µµØY9ô¾õ!~_ÆØÚáMúwïW¹E¹Ç ,„±ú°¦3j£Ôˆ p,ŽX6#“76vó/eéÜ 7¿B ®ƒ[^q;ÜöS3¼vSNÅÖµãÊb§0\.V‚%ƒCœšêÄ«LêR½Ä‡RlØ=DjS?d:ÓÍ™‰XÒãêö`ì “Ò‚dÄBÔ¤0¢&iØœdÊç¦ÀcGºFSOd oÙ CK+µ†â&ó*³ÇLÈE„pRO)tíˆXo$©H˜ãhP€CK¿ö/[#t[œTæ¤"Û •œ˜§7Ž&7&ÊšþÛÂpfPVPÆáÅ?–)“ÌŒ+~ù7(ª€É•qº†LtM1Ë1¾|]D‹©Óm®¹PJi\½ H~ßÝ¡¦Ï¸A^zêq~ùØo(˜TÍ5W]Å[o½Å‡®”×þ÷mzè!ùÆ­·©5kÖpÁòÞ‡«øâ¥—ÊŠ+¸öÚkU4=N›îs°yÇ1q,3E °ˆPë>¾ 1ca( …%hƒAíJÏ/ïäYª ]”†Ã!¦9¬rs̯HIémÌÌ•QÃ# Cùà/×cfLU7ßýžüñ'Ut­}—Åu§qßyß’ŸüöîåªxÊ|õÛ?¡´$—C‡˜_Z·0›ýû:ñ–Nõ÷Sœ¡8îŒl±Í$îübÜ^D™‚ai‰ærÒS”-_¸è{*¯°€¾C=c[èø/ ~MŽ•X’c&ǸÔobüÛɨB©þE#e¢÷;çhçÝáÍÀ¬)•KÎÿ‘`–ŽvÅÅ oÝÛédùÓïðiº$Ñž5I®T\ˆ—ŽÛåÂÂÄírL¦%í=º®Ün·¤qß …áöðúŽaZ§“·EqSòt¤ã&ÞÑõÝ"#T('}ç)Ê-TvùѳPSßýÌn--¥¨Øf2=a þ ”f¹è?!+7ŸË.»T]~ÉER_œCÀcñÓ_ü‚K.ù"÷ÝwŸzðÁåá‡V‘H„h,F¶ÏÕó§ñÍŸþŠ“O;ãÈ%Ç£ò•R8].yyàpçñ`G£Œ÷¾-´_råµ8ÏYBrÛj¢Á!ä¼+¡ætŒ>ž¤9š©ôéËp9„½í`Ú¤4ËO+¡7#¬:Š–ˆ+;Ga™cì±@Ž¡|žûä¥?¬à §»™ü“?ªoÿì6‰$:¸l~¦Š?þ¦üðë0;Wçþ»@ÒNíì!u ƒò –pæü!†V¿;?À_5Ÿ„3ŒY2w¦Ÿ’¬l†šªQéªqßY‰ˆ¼œfxžˆ£{¬¢ó„9q7CqbúÛø÷>jÞœðµŒÈ®érÓcƒ uŒÌ–£À«?\©"Á dúýtµµSY\2&6ºmd­›:u*guÊÐI ®?ØŠ¯¼oWƒRÃén'缫ˆg—øä LËR±ig ‘ Ê©© í@ oýãX–…Ûíþ¿ GCŽQµã‰£«ò¶pM}’‡hˆoßvû Vâp²f'C¥3¹ë–oÒÛÝ šƒ+.¿TíÚ½K¾ûÏMê’)“åÖBÜÑAQ~¾jok”µ¿º‹C×ÿ?øË«êüŠb‰]y-zi±²Dl;i‰[€Â|7ƒî´Ü—Ç©SXšnᔋ#>!'êêk"*e)IY Ã²Ç SDÉ¿Tf6ÆQ©T4“®Î&DD†Ç㡨¸ˆC‡Ñ×ÛCNnÞˆ™¹¨¡áÓÝ”q y/“&UH*•R=}‡q »T(VЦi躡6oÙŠ û˜‘룯·â² Víî¡ðät•ú¼]ú¨¶“!:í«™‘_A×ε¼û™R±á¹Üq…Kúc* }9œcß¿4k/j(QŠo~ó›¼õÞûüö‡·²·gˆšÉSâí·ßæž{îIßÈá0C±ï¾ü"åY^UÒIüìg?# ¥y¾VïÝ û”îvQ*3'ö†F"Øq˜Q¥yÜØ©#+5ÜO¥w/ªÀÇXX;I-üÎw°ŸþZ~&š:°¿QV®üP]zñEìØ±ƒòò2œƒwÞy‡×t¯òú ææ{y£é0ÝׯΚôÏ\Q¯²n©BÖ}ðÞÌr&MUî¼T(¤ôîÉv˜Üe(faÛŠˆIþ råE©sŽˆ³õã9ÓÆ&ãÖ¾ÏU¬7Æ P:NV®ZE^^žˆìع—ËÅ–-[¸úê«•R Ç#ë>ý”€ÇÉ–wÞ§¬¼œTç ¥¥¥´ÐÒ1ÌÉ3¿„ŠÄ”ÈÇ«?R'ÕÏ ½¹•úÚZîÛ"Ó**ÕÚÕ;)/ŸD~~þ„)ð¸™,IÓ¦4ÇÃÚÕ+9kI™\tšEÞ¶÷(*¾˜³òòe\§é(µàñ¡³ˆH(æ´SOÅ0 šõlf.YÀÙ—_CCÃ^‰F£<÷Üs(ÝæÆ½ê’)Åìlë–ìúEüüÆùèšàt:•îrѹy©úùÔO—d0¤z7m—œ²"uã7JcC½Íͨ?ÍứÇ>‡®“:ÜOæ¢ùb„‡P]Ãael¦hæ Y¾|9ƒý±@ ï; ÓJË0‡c".§’ÌLSjd-ã…y•RâÍÈ`nýleö’Pdˆš75“ &mñ„£L­©VSkªÇ®¹58(‰þ!2ö¯„_Ds8Ä]5EÉ‚o’ÕÚ'Y™N´Œ 2J‹TM;eªc(gcYÁ±×{ÔPë¨ZÚïC5ZN÷ÜPê‰'®Ë/>V0ㄘÂt$¶¦©ÁpŠ,d™!‰Ìœ©Öï :Ô#Ü™ñÇ¢JÌTúý‰4ÊC4•4SR?ïd¦L*>ø *,,D)%ÑXŒá¡!¹êª«Ì[¨î\~'W•ÊwçW¶-õȵçÈý{lïêgÎUËÉõû…¦mP­!æS”}^1½:º&”f;¨œâ“í¢TËáSާÅÊxVÉþ¿ãUt| lZYYYIUU---”••±nÝ:–/_N__S¦L‘]»v¡ë:½½½4ƒhšNUB‘Ôuʶý/ƒç¡üùä– «#²qiÂlJS¢é|õ†Y¶ì‚´Ùu2!ÊVLVGUÅ$Îtºÿݤ¢&›Ë¾ýC’º‹x$„mYìlÜÏx€žø­49a¨a'ñ”Éô²I˜Írýu×ý{5§»¡¦i\%Ô¥ÈËÆçöðì3Ϙ’f„XɺÓqdàGŠÊêOàñ ‘बٺ£ÒHItt`ÅSd4¼«^¥9ª:¬³našÃ‹¶p&–bL±ÙJ$'T\ù~òQÚD .ñ%V¶Ò4[‘A:®ïóÒÛc G×FÒ£ÃÍRX•ÏþöAÙ=ý2ò}n¼q…¿»[ôò*”eNÌ8<@ÿ€sä¾6îr1õ`7»Aœè#Ê=m Öýã°h3Ô> r|$†CìÞKˆhè±YÑr@6¼ÿ*û.XD z6;ž`8%gZ•Äß~“`ßa&ÒXœè:ÂÞlÀç÷<Ǝܰ#;[ôÊJ•üä 8° 4gZ×98(%5`š #ž ®8×wmàw û¸íæ›dÅŠ¼ÿþû,]º”»ï¾›§žz ÿ§ëøÍËoÉ ¿û ×¾ÍÜK—±µò J¥‡°¾‡žMöZWb÷U’;´îŠÅLjR²o\Ôm“×IÙ´OQÓ«1{¾—ŸYì†)cTL'»8n ü{uÞñz€i†‡ÏçÃårÇÙ´igŸ}6}}}âñ8š¦aÛ6¥¥¥œuÖY<óÌ3”——“‘‘Á† ø|>R©Ô˜†×yçÇgœ!4773uêTÖ¯_OEE†aŒv‚å_5$áBª÷sZc§$"]¨“N&1à!’ˆÑtXÇ'´:áäÕt‰Ç5^ƒŸþäî£L˜Æ64’±úîO0’!쪹­¿‘&S¸Ü¶­[+wœq.']|ï®^ÅŒs9ÐÜ$í”þ¢wÔßQÓÄ}¸-’Ë 5Äêïw^6Á`p”Š&ý»Iƒd¨®˜ˆìõ“±:帽`ü±d[V"EFÓG°ò/ Hí,’§ðžfñ_xÝë6ãôûÈŸS÷ïâïd‚%Ç“Ç5-Fip£ !.ç˜ „ú'ýwTQŽþ\éó%º. 15æ-»„?¼ü‰¼ºnŽ-쫮‘2N¸˜{üH¬YCŸ´u(Í£ËJ—ΨX$¢ÑÖã¢u[ŒyËUÕж'M¥›·¦-H¿iAD»!~H&¥<õ‹_Ââ´á×5×\sÔçùò—¿ ;ûàOÿ?gï'W]ïÿ?ßçœé3Û{ÉfÓ³ÙôJBB‘ŽREE‘bÅF³]½*Šü¼ˆ^¯‚(zAz' % I $@zÛì&Û{›>§|¾Ìîf³Ù€÷·G›lΞ93çsÞŸwy•K.$û͇xjÓn1ËgpËUׂcóò O²ûÈN†¢‹!¤kBèè‡p ‚éŒ}L< ·ß¯¸È£äê9~:p¸#Á¬RŽRÿÎÆÓÛ>(?f¢ˆF£,[¶,c¯(BNNÁ`¥S¦LõÙF£,^¼—ËÅ¿øEÂá0¥¥¥˜¦I^^999D"ÇÁ4MÖ¬YCOO:ãŒ3ˆD"²páB™1cápx,Yš |AFŸÛààñòÛò&WÐßXH{oš¤9:çù¨çM ò¹[¡·»ã$®«(…íò£¹ ¾~}¾ Ÿý=ÖñÒÅ“qeQŽƒ­—Õ\£ ²³åùß½Ç^Ó!רEN/®ËI%°˜¦I__ Ã0ˆÇãbY£ì4MËÂ-‹ÁÁA’É$‰D¿ßßïÍøz{{Ñu}øÛ××—`OBƒÁ–e1eJ5Ñh3ã'ûoí覑ME÷3Üùü3´¿eÓßùuf®¸™…ë¿A:1, û¡Ø.0ÓOþr³æŸƒ¦i¤Ó©aÉvzoÞ½¼˜?‰¾ìYX¸·Ûƒf¸I%† M×I™ië·ýe¾uΖwüŠøœóÙßæìoßÌÚ³ÖàØ6~¿X³LáøIE£ôwv’•Ÿa[Ø¡Œ@ª»n7‘”I¸°‹tîFº;i>´ƒ‹Ï\Cû›o£M.ãPoñþNª*+)+)¤mË»”¬\‚"ãÙÝ3d²¯-NЗ†c¸¡7†Ý#Ï'7aÒNb‡ÓDëÚÈK†éê§ò¯‘[œOÖ‚EZs ©÷vcVLfVÀ Uż_×€mZÌœ1IÚDÛ:3âŸcî°ñÛ)GÛ™¨í¬Æ`Z3)”®kÄú†è:XÏ´‹ÏÇלƒÚцm ¡IFPv\ tJ<’UžNbì"P@þüú÷ìeIU©x‚€ÏMÔl¥¡j1n5ˆã9ýsf¹² ›ÉLÜFÑ8'·'J´?J ™Uôi/©fò{ïQÊAŸ=¿ÒHmÛIrÿ®[7‡‹&°ò¯[éâ¢ËSéõ£UMÂèbhÏ!%øóóêëÿ·'¿ŽíðþðµŸÿœeK–08˜§+ÑP‡`Ï&œ³çR)*Žƒ™†ÛD«š‰/ã@ÝQÝmh[ž„¡¾ÌƒÈ…ßD¶ßËŽ;Ù²e ×_}æÙÑu@ð¸4Ò)“@ÐÃÌšvì܉Çå"NSwô ÞüËÈ?y¶C2r‚Pœ YIð¸@×2Øë‚|‡6¯Å_pšgÏñ²»)ÆÖ(s*ü˜¦sR«¶mc kî+'³( ´2Θ"eØ”—–þBFF:£übÛ¦™F×uººº())!•JÚdº‡õãLÓåyÚ¶ÍÐÐùùù#Á0“Ź4l¬aZ™ã8tvvâ Û"N`Œ~"I8Yj÷~s2CŸø1Ï<ñ(½]Ç9­C"EÓ´ÏþtþžöÕ.à?îüûÞ}©³æ’N§éèê¤j°ŽõárÞ™r.%Ë)™>ƒ†÷wè¦vÑ Ú[›ìëbޙȓ܅·£“ugVÛ¤c;"ý½\pþù<ñøctuu±}ûvfÏžMNv6ï~ðËÎZÃÑ={9ÞØÈ¢‹.f¨µ‘–ß}ysæ°Õ7‹Þ²ù²rþTf•åâqLÊ>v¦lÙ¶…ܬJ òéìèD«®"W×Q=ý%…¤!¥ËY³½¼µö´‚Û…¸ú²¾$…Þ$SÜ4«Ý‡rño¥5Ÿz÷j°Zia)OýìCØy—Aý1ö eK¾ï8Ó* p»„Ö¶6Œ©S%§zÎpë`DÀEþÔ½îñ“Ò±¥Çˆ®éI0®Œ'Ib@aˆI+òú3Ï;ÚÉ"O>3"ͨp1ã‚ä' t²žÈâ,_n€ÂEséݽÝë!<–²ÕgRŒþ„M×”dŽ1DX69ÄüéÙ$ÒâÛÓÆç§$ÒɼÚR"­:Ö=Ä=nŒÈ ¿û˃$ž¼“‚hÜ};Võ\Õ• îøiîC§`r%E‹çaFã§mwLT+¥äƒ˜±ÉHÝíâCÐÓ Us°EG†:(Œ‡[™Ø¶Cko¯¤ L4´ªZˆG3þ/¾¤’¤ ¢¢"ü~ÿ)½ÇÚr?oÕ 1)ßÚÊù•iÄ›‡°YxVAr#x.†¢7…Ý 4‡ÊƒêÒ m!—¸c!~ñ$„<K§…hBÚ¢P<5ÓÉ …Pôlð¹Ár&â5tÆ`ì'.O2E|^7Ï?ó GZH§“œ³n5µó—’H$‡ÃäççÇÙ³gUUUlذœœ–,YB__µµµ¤R)b±XÆzpXÁX€çôP]è—Ùe!RVF:<’ŸŸ¯†ƒ§œ¦ŒBð±rÓ [Ô5E³Äïî&R¤ˆ{“hš>!bÂ!#—† zò$–äÉGDäø¯¿ï`+[Ñycå'È«‡èÎWéL£÷À›Ì¨ªà_þ@U~þ®šŽmQ>¿±p–¨ÁVlËÆ”fˆ´Äx¿¾~uGí%š0™>³†vnS¥¡3–ŠÙuLMš;•¼±YŽÕF3Lî:Ds×{DÒSÿœÿ3ØiÍå¶_SgÎòËÔ©:ø|~ZÚÛH™&Ÿ¸à\Žw÷àv»ð¹E%SHSs„Àœï2çc·«@¯#þ˜¢*ËáˆbCöEe̯z_‘¯o| ¿Ú[Dÿ\ DAfñ g_q†úø¢lJKK3³.õõÊ1M›Q§-¸ûQ8ØïoÉ|ài ùêoÀ±FÞÆÚüž0CP»ÄÝyœhi …³{𤇠r/Nb e Ëû^eÿþÊôûÏÁ3ôØ püzZú VZáÉ R¾fÅI\Ug‚õ7~M隨´¥F{MÉ̉¡ýû”ïü/ŠÑN0kÏ>Bóçª(%ÑÛ¯|ybµ·’N:Çzo#W/ÂZµ³ñkWïéÃ_˜aj˜ ˆ®vþaשFí $Q4ì†TL°m¥¹½â×ý”oÜ÷Î~Ë.¿œ?þñjÍÚµâw¹°EÏ@É24®'‚ã(¥”®‰”f»9Ô§˜ív©‹v9KЬ!¾<” Ìãv¥ÒTLt¿MÐ .¯MУr¬Þ°ƒ„v Iͯ‚Z’¤æ“³«(Ƀ€WTû€%>·†ÇÐ2¶û°#^/âØŠ¡>ÉDR}õöyrÖù5ãýÉO5Er»ÜÒ×ÛÕW]IýÑ# ô÷a–e©a™+ñxü7f–¨A»PÔ×3+o9µ³gð—û¾EA™¥®ÿòÝÔÜ${·>@yÑRö´õR™šl/.3¥¦ÅÄéka¨k)ád9é”W%¢!™2}!œw9ÿ뽘¦FUÕT¦VUðÂkÛ¸|îªgÃçÿDkc«çTqøÐQŽfäìçŸËìjÉ.j§ù1´.4Éøõ¦Ó)¥»Ýxâ)ùìõ7d± ÜËoŸ²ÙÛT„ï•óEÖ/¹§QÃÊüÅ-¢f¹4Q3ªÒùüÏϾΪŠ|õ‰iS¤Î7.ïL"“ªÀ@=Ao¹”Óhb¡ë`;‚™NãñzÑ\Æ[â(¸äûð¯ Aªs”h Žu Ê>©,Vãyº•Ä<ÖIÃÜË™»çp•$¹ø¢‹TAq±m8Æ;ϲàü“ÎCR6xôÓŠ!Œzcð†NÿÆ@)Nb£hrBúþtz‹ãÇŒâdx¸yë×AwÊíS—Ƙ1MEÞyGBgœ¯ /SBÇâØÑ$Lž‡ý'¼ñOe¬¸H¢}²ó]üK—ŸÔ7ŸŒí¡N(&1f€h(Û„ú` ex •Àñ1Ö\Á^=¯làw¿ú%ÿ㪺º:qìÌd D”húX€åIù‘ Ó¬RŸêƒ}mq¦ÅMÜNIÆèH«ú>Äj£ÍÔQCQ¤'¥¬N¤°#δP€§®XªÚzº°Ï¸BþR¿„ÄáC MZ€˜)£pÞøÄJáh®~øƒÿy3*øî÷¾Ï@4Jl×.<Ó¦£'P¯=¬$‡ÂÉù$,gB,çI@èq¦p.tÝ`@€²,‹ŠŠ ‚Á –ea𦔗—«ììl"'h?£-ã$+Ü´¾šçwuªÁ¸IaÈ3!s c†Ž‹˜Ó.]Cìkt«ŽAèèPì¶;­Æˆ9 w—DÀ—6ß˼£ßRdzОRʈDHîÛËÿûù¹kHFúùã¿6±ö¼«UCâ"~ûµÏ‰Ó±A]øgxúÕðÎ ¿Wüò¥´ôâvùè*:•†:ݹ¦­íîäåÁ9jWƒðøf]ÕäÏà÷ÿý I%†Ô™—}žÿºãsü+•ÃYó¯P/5(îýÊOøü­wpÁìfõ‡{¾ÅÍŸ¼’Þ;ŠÅùâÅšzèPêàúÕ{Û=ª©µAtÝPÉt’êÒb’=quþWÉ”òõè&ˆçÀœR(1v+;ü2ë×ÀPþ¢7B;*Å©4³ bª`y˜²x˜‡‚~uæ$/7,ÈcOùlÕZ¼ZÌEK0ÔÙ¨w6«ÉµQ]Q¼aXåFdriáÆ6•“m¨ïüv×C~ˆ Òc7SA92Úr›0ƒÑ4—¡\^$¨5©¼ü9’•$•Lª‚ÜlôP.m7|ï¡FHÅÁb"põø”š€/ü¡@ØñÀì 6â±tÌñøì“ F~>ƒ¨d2³þÞý¼ñ þs¾LÛëo©d$Fhr¥*ZX‹¹uÖškÅìAíÞŒüé?ɹúvu(R„û™ (/U%Ë e Yê#¦ßê4ß…e‚•чÓAÙ?û¬êÌÐð6n܈išx=n¥DËÈ%" éJ1(îQø+GT  étZÙ¶Ûí&c‡k«Ùù^¨Ì¦-i+Ÿ!ä¸Ý’L¥™‘Ê«-‚JÉ~GYe‚%@…_©”,,ÎfyÈ+Ö©u¥ëùÅí•ì.]¢²4(³‘z ²¦¢>¿ž|ôïjÖôjÖ¬É0³ì‚ôeË Ú =[ 2¨Ð`° ¨Þ±Bì‚.—›PV¶•p¼±‘žž^jfMÃï÷+Ó4Çlz¬_¿ž¦¦&ªªª8óÌ3¥µµUåääȸ•ÊÊÊ"‰Ðqú<äe‡ðy ̡ȇÎ-Æ¡•­R½Ó ¹ò¸°ª‘ÐÚÙÒ= qëÍ6M““$YÐ@žýú†à‹QpÞõ ôöÊ=—]¦þz¼™¤ccULÅJWrà å46µr^Ùlè~˜å+–óÙE/ñµ¯ÞÆ’Å‹ÙÖ“Ö¶>¼†P³z•ªÈ ÈÊ¡Ä×Ú–”3VOW¾´Aß›ð˯¸å_ý#[·làªÏ\#YZ½ºáÚkènn§4Ð)‘Æzµnm &uñì³ÏËOþã{\²n5Û›[Tžec«ŒøªwúTˆ[%}ÒÑÓ@:•É“¦*Õ– Í 0#7‡Oÿ6ïU2µÔQ7]¦óžŠòþ»†¬«@¥Œ€¤:b*K÷A³‹ì©^\‹â‹ØÊçFÜ.¥ð 3K¡zª5lå Ï:K:þõ†Ê-*äС£â8Š9skIï9L 4ŸŽ›;Av…IEÐÚƒ ù¡/ãˆA~âØ¼ îdî·‹P[B´ÃͨÐ2élçp]%ÅEr¸®ÛÖ±ßÜNL õ9ê£úrc,+Gðc6÷–"cCâ‡áÇ‚¹OÇ>9i­Ú¶Íçƒx}ézØýÍý8—ßNu¡—xs»e£š|ÞZâ»v#×Ýþü¯aË3 üåø×‰ÊË?K²±ž-;0­ØD˜¿~"«ÆR^e çRðø”òg#ÑAD!¸fT•òÁö¤L›ùóç3Vp¼ÒÇØÅ¨‹‡pü(þ€ÃŠ“å@"‰‘árâ62 €“Ö‰²„¿}_qé·à¼ë‡‹~¥_ÿÆ7dÕªUøýrórÉËÍ¥¿¿šÙ³äà¡:lǯǥî»ï>úû¤¬¢’¥ŽC[[+—_y%wÿò-XbØ¿|A\žn'…4îaÁ¤bî½÷7X.Å…ùÌ®™Íâ©Sˆ·µáÄã˜UU´wu‘sí5ÌŸ¿€X"É·¿ýPÈÎd:»t¹ééÉj`O=óK&áõéôoMÑm¹ñÖΑ­7;¼¿K„´ðãkáìåðòcÖ(hD ]´Ì A Mô º8KÐCÓ°†Gè#·Ù 0x¤Å3f¡ Xñ9KçRTà–ûŸSjê øÀïUh‚|ý*Øñüî`æ^ü×—aDÐú41K4—®hšCË®̾èšë÷ñô£ö»©,.áòO}§®Oa>†ßwÓçt¨‘rñÔò\zf££Ðô‰ˆ‰ôµd´1Èœ‘ÙÛ0pô5cZ¶4^óKUýÀgé}»€ýs>FaaUëVѲñm)_½ŒÄûïã½ètvG¨8ð Ö¾—䃜BŠç.”²™SUÇŸþ‚;;KâñøÄ dÊ\ wÆBà•,¥é¨P*ͨѸ<(MÇÑݨgîcmülãfÖ¬XÎ7¾vË—/ËDå lEGCÆ¢@9¨žÈ‚a²cÇæÏŸ/Ÿÿüç™9s&ûöícíÚµÒÑÞÆw~ü3~?¯’%Õ¥òÈ»ùÒÕŸåpî4ùÛW¾„=e µµµ,›;w- ˆ ¥ÐÓ:†c³«9FQGŠÚéÿõ1øÖ¯„H¼^0-‘;Aíßâs—±úRå1Є wÒ&<æxÇqÈÊÊb``€þþ> …X´h!W]uŸúÔ§8÷ÜsGÊ[•N§Y±b…x½^úúúÔw¿û]yûí·UQQÑèDw$vttÐØØÈ–­[q¢CôIR¦E_guápøt=š“Ëô]~X«Qtd³zƒb|E¥#su {T”¢h¬X;zÞ,¯©¬DKçOQU¥AQd4 mÛ¦²$Hv¶Ké†!ʲmÖ¹¥efšÿjýY ùÇæ½a÷ý÷¯á¹_"š¤©8w¿þ)‘?ÿ@-™¾ßÇ/#>¨L;ãé‘ên'`‡‘Ò<cò­S:,'îwÁTUµxª8±V"Áÿ[,„î7·ª¢ìÜSòñ}>5‘ª &˜ê8¼×œdNÏmš¢x(rã¤,狎/+³}Ñ”3Z;G¶¤AE£&yA÷¨¬”Œ©ðñ.ìïýMÿóŽÕ?Mqq‰ºì³ŸAG©dß W,§oë;4¬ü*åÅAš*­¨’Æ=»UpértÃÅ`G§šH1ÉI&°bID4ì‚Xÿˆ™¸Ré4~¿_B¡J£¡yݱWèv<ŠÏm`dgóË%^E‘#x=üÏïOÝ‘#*‘HàQdç@jHíDSY¡,\†N4UÁ`PÕ7¿ùMyðÁÑ4D"¡lGQ”“Å«Ç:Ô3ƒ”{ ùáßž¥°zºš?gWÜs¯>ý4O9ÄÇ/½”Xg‚ÉÁÙUäjBU¡§„YI0êî¯Â÷~Ñ/é¤AÈ¥”;âxS”H‡ÊiîTû뺤¦V).#£6%ÿ&ø¤Ô?•JñꫯRZZJ"‘`Ïž=œ}öÙ|ùË_>y ‘Q§P999ÒÐÐ@$!£i^¯wÔÏBÓ4e?ÿùÏùÓŸþDaq0•E:•…Ð|µjxú¦3íá?75$¨óÌâË7_ÂöË Úh˜™|h–°Ð r|·E·O§€Vó,Ê~ÝÐOé䨶=†zÇ ÏÚáã•ñìýÃ6²½òŠ#B´Ùæ@S%u‰%\ü¿ï3:èýÉ6þ4ÇÅŒ)•)•m£iÚð¢ˆL'¸þ¬²Ï>x…5k༊A´îVÄïÆ2MÕ“°—„hï„eµ+Å8Öê☂æø|’î(‡ ë}pzn(êÒht`0W£4êà*ú8ñâc/«aH ö¦™¬´tÖ5ÑÚÔK_Ü¢°8Ÿ?ïšÆñ.š 3O%Óð…‹áÚó2ǧ'jCeÆŠþœ ]ÆxZŠH4¯¾MÓ1›Û0gMÃýáøÐ 7ûq`hå$“46õS²`Cå3I.^Áà® T×àñ¹>+6þ+áÉ¢?‘½®®X’æAÛLКÐIš™ž“' R‹ ΡÞ]ÀŠùµlÿZ›[ÈÓÑ÷ž¿r)Ó_ÛLÿE7yus ЇÃD¬tF4ó4ï/qè¡é•h¿ù>ª§ÉÉC‰@2…]\Ì¡(ÌÉ!®4TÃAäà;P>M±âbÔûÒí#†‰«¯ëæ+ຟá[sƒýý˜ÃëKÁñðxü¤4á÷‡"\{ÃhmmeÑ¢E(¥xì±Çhjj"`™iš{úùǹÕürOÏÕµqÉ'.eö9³áÇ?¢° €ŠÒ"¶¿ÜÀÇV—°³iw*§,âsÓ 6<•¤ÌiÑ}ün}'¿}ÉGO—ƒ®¹)›òiõ——;XZõŸX£·0Ȧ&“’D”ùn û÷î¥1ŠÑ.75MãŽ;î`Ò¤I244„aÔÔÔŒ ¾G'd^¯—cÇŽ‘J¥X·n444••%O?ý4óæÍcÁ‚Äãq”RRXX¨þùÏb]]]TVV2sæL<žŒú®6¢¾8Ž×:~çÕ0Ò&q׊U„ܵòßSïck¼ù[N:‡ã€ ¸ò`§­þü’âµÍ•aÜIÕüÏ+ÓLŠL€œVJÉOY5γBDË4ÕW¾û(ZÕeÜšv³nöF,îmóñ±kžäÛM_“ýúR¶º/¤mR‘æÉ ôSˆ®Â0 ¹­jGÒ=¿S³¦ºäÑ«ZTYqXC Rñ^É).TN¤ž÷)üóóÑmSvîóóÝß»è臵Ë?-­‘Væ/ûŽ:kåíâ‹e´¯èîåIGãƒ}J¼Ç·ªƒÇë¸æ Ÿ!ôéϲcã&r»¨hnÂSUEÔÞ·¶#†ÎÔK&¥…{žHÐ|d;ºæˆíˆŠÄ‘Ï ×?*Žœš…©1"œF¨"ƒÍ΢dÅ"ݽ ë.™'#SÓqSωpp2Dn„n׺m§š²f!¯½ó6•Wý˜¦úÃÞé"k{=ÕsÑÍ'ÌÏ*CÙðÞ>¿Œpßz7HëKZ²Õ‹!à…è(Ç‘´i«Cçü ÎgÓ¦¬X½Zj¦NSuÍR`h¤h$/fr×ß<ä™ERÖqœ°eÉlëÇÁçó‘H$Nº&+Æv4\{_Díy))C}áWX=½ø—,”¥W_Íë/¾HGK‹¤‡¢ÊÕÛ€jØyÝBØ£"ô†:¬öcØñ¨X–…ñ£ÛÐ?¶w([‚¡¬LïÓãSìß)Ùn¯$bQõñ/ýˆ«?y•ôôôð׿þU<ëׯ§¡¡ŽŽ™»h1ïÿãê¡[o3ˆó‹ÕY¼è`0‘æ›7Ý$=þ˜êìäÆk?/i³·­OV>EEe˜‘Ú[Ûðd•°nv}ý¦$vcÒ•ŸàÆåðƒ¿ ïD V¬»nÙW܆”’@ö¾RÃý‰ÿƒ°òl4%;;[V¯^M"‘ ´´t4 %“Iìa£št:M<çšk®AÓ4ü~ÿ(_8‹ár¹ˆF£$“IijjB)% .Ä4M*++q £ÃKKK©¯¯—H$BEE…X–5jBsºæ‘K)úlGV +ÙIž þi9 IDAT··Û:éXÝÐÅÁ倧 )Ƀ©…HÈ31Ä+~F¬ÿšJ‘L&M·Ë…išbÛ6Y¡P¦´Šˆîv¡k:Éd˲ñxÜ 4±Û_!«4Ÿ¢<ždDª‹\Nœp:FÒ5ˆxœ"tgXœGÀ%˜©S(Û.‘~(süôéI™è¤Ì:.fMC(åÁÛ§¤Ü•ƒ«¡™²Y•ì:÷? íÈì©ÐöÁ?hÚñ#–œ÷+©Ér k|€jO§ù fäô¡Šƒ²Ñäg?¼]Ö¯^I4#-õ>Î?CĶ<²‰Ù5%bæzx§±ºVH•úÈ“)}qqÇ#_¸®\™Y_ã\;'2Ã>-È}ì¦,+!XV" &œ¶‘xêÔ÷”ó§ÂâÎÍÅL$ñ˜ ”iÒkùI4‡éÌAŒÆs>åçá429‘áö†!8GZ•ì¨b‰L7*XKɲ¹ݵ‡™…¹2é¼ È+*!zð¨”Í™‰‘ŸÏÓ»#Ì()?Ö­ÂßuDn¹u Ñþ㔕U‘jíoA.î``$žðfgÊ̓. )Ÿ«/)®%«¼4Ï^y%Ÿ½òÊ̳»ç xûvÀ³1˜½¾ø_‚á%™vH|i!îÎz\./CÞé»îK”/ZÌöͯËà`Íâ-®oì,É›>_Þ€ßëaîp¯½½].¾øbÇA÷úèíï”%A›û†¨œ¡‰ª©ahûV¾pÃ2¹´Œô¾#Òß×F:‘”IÓçP2™DÚ‰­ãxc“Ì f3«ÀÅ1ŸX*E¬é]¹fŽÃM“X"C¸ð¸u¶me;T/\M~Ð-8êt\`&Bg0]Ž"N“N§U<Cו=Ìó¿pÓé4©TjDäSâñ¸ÊÊÊ¥”6½–D"ÁÁƒÕˆL’('CÅ^5#Y–eYªººút þ¤éž)Åf‘0{™Òòò¹¨ò(–»q¬L”ɘ-^¤\•†²ŸÁ  Ÿ\r% ·'I϶ÙÜöÕsxýõWeÞ¼•$“ ÕÖÖ&……êÒKÏcëÖ÷Åãñ¨Õ«kyê©7hkogÁ‚5’““£öïÛÏ+WòâS6…Ól.õ êM(šŽšý> 3‹áÌ)ˆg J%@,)ýJØ£ÈÊÑdnQÙ…PðçäÛ¼ø¯ ØÄѺ2¦.X.îP–:p´‹­6ÎÁ ÷=ÿ‚¼3P Üز¢Ü§Êœ­<õÆm¼òòfªü³pº ¿¥,uXbŸH]v,IpaM3¹ü’‡ä+wÞ¤–®X"Ë?q¿ 7¹eOG¿rùÈÒäƒ![•´Q;c¹‚ÿP»ì1-u,gß\åÊ•#ÃGdŒfú(Ñ‚ÓL]åtV§•Ï7©›iŽÏÞŠ—-dàƒý,]¾œ¤eR»p«ÊºiÓŠ$4-¥œ´ùï©÷ ÿ½ 0¨þj'yíï™^èÕçÇdéJK4“Gþå“oÞŸy3m=QŽºrhhûh«r£·î)‚åTœ±ˆ7þyD²½:÷?Tû;ÝòŸk©—z’¹óHÁT¯rü>Š—/$•AJŒ^CGO;Ÿx³£‡üÀ ØaZ}·jº)(Á7s†ßæñHôw”B'ËnE5 €jmãFeºüˆøås“j¨~E"!S*•QQÁß^;À>}ߺõ6")‚ã‚Û«plœ^@éf*5*M¥”Rưpƒîñá4DoêCNÑT‹Ò_ÁžNÜx#=ü 8Žòz<‚ˆŠ‡$ÚÓ©âý½XfZrò‹Ö (…’¡˜­<†Eq¶Ž¿<› ßE{g¿¤Ó¶¥D)”­>\OmÂ81ÈÍ ! iÓ¤¡¹I*JJÉ Gémº®F …B†išhºN–/ ¦mÇÄív£ë:‰DÓ4Y°`„‡"xý%©PIÓÛ>QNWVVbš¦“ýÉ8.Q8¸´ ÁÁOþš;j„j'ʲ,fTŽŽz ´ÈBÈBUäx%ébÓówÑ|¬™ÖCÏ’L¦PŽCWw·ý`---¸\.Ù¿mªzwÇ)*)e϶¿àóùäÀ¾}ÜøÉ·Õ;Á8Õ¥šxD¼Ù]Žà!æCA9¹¹ÃåÛÓ¿€ ߟ@ÍÒŒlljÂt EÂ%î®fŒ¼z멲³—HNA!¶eÉœ™•¼}¨ƒÍMCl~ì6 W¼¥%~ŽÄúäé¿?ÍúÚ8A·Ò^{@è|¾ù[¼v€¹« „|Õ••jQ»†Õü ùé½ÿÁƧ¿+¤ >xÇ4Ëäâã5“Y=ÉÅÔIY"€ã”r¼½ÃN‹áOL˜%%‰S¦cE8Ùìt¼~ù(°ó?“ÓI©’5©œ!Pì;‚×Qˆr$ÌR…Ëg`Ç’"š{"\ßiYþŒÄ˜0£¬­-2*Ú1ü†îûõ¯ÕÞ;X°d™[› " ìi ¸d²xûúzöYŒ`lŸîHD`{ƒŠ¶'éƒèÛwr,ìðî[/sÁ\ú¼s¤Ï&)dvž¨šBG>ù©Ïð“ÿ˜Öž>eÚ.ÙnŸ`[È7`:PQ^6aÆßÞÓ‹ÖrXñzY¦½–N”ù—~M¢]í<ðàvŠHRâZ1¥ÅÒ}¼žîNl3-®’ By%t7´P6–âØJ“3—V‘—ãÃ2SÈÜBºÚëÅ6ÓœÏüa¦Yj” 7ÂßÕ5 Ó²ŠD8ž6Y²`Ñhô¤…ç8Žpx(ÌÎmÛ™ÁºZ°£,Z¶t”㛑(1y}Ë2Úì8SKb”æz ú½ØÃÅt:Ã3>×säç¶™&»¼š·vdn×ð÷UN€ux騆Ò@wà‹]ðÆ °o/,ˆ ¦é‹ùYsÙ¯p^ú-;_{œÚéÓÙ~ä(Ž\ð ’©4Ÿúô§ˆf?·Ÿ¿=p+fwk/ú ïï:ÊKÛu^Ù!è-› Óº¡elø3¸-ÅŇ¡¹ íƒà8¯þ7”ì‘•42‡†¾¡+s¢‰gz—Ÿ;|å!Të«ØÇ·’»týƒdÅ¢¸<^ZZ»(,Ö¹bއ¹ÿñéâJn»Êüý˜uÍ`)öõÙT¾ò?äyõÕûˆ§½¸ü®ŒgìÈÇTVÎß»Ž+¾w ¸í~HYP˜j!ÕÓMyiŠŽ®^òr³pxo‹gûYµÔK‘ßs#bä¶ÕÌŸÇp œ0h}—÷ß!ùfï´¯)"dM*'Tq¢¥3T|ÿ7™ù‘¯y5“ˆF#”ÈóBn™—ê’ &2÷uÛ^_< Yxâoïn#~šóÅâ‹g:÷xî±'¸îSŸAÆ<Ú°­Â±—^âæ /”Å3ú=v…píÕWóÜžzš£1¾~öÙx««ùÇÃóÍŸþ”†º£ìý×óœµr9ïk¥®£‹ýôn~içÙãYð½˜];‡-O>Á´!Eq–›h4Boo/{÷ìÅŽ€éËdÊ8@*mQTX@kk+étšY³fñàƒ2wî\l‰ÎvpgbŽfABG{'ÉȉDÇÒlƒ@VÚfÒàqÂÙe¸#=hSkéVyLöµ,Ba9äfû™TžÇ?ÿù(ÝÝÝ\{íç),,¢­¥é£§c§Cÿ‹Ç£07` À–-[X³fÍøétšêŠIt¬ˆÑ5ØÙ^&Ïœ‚Gsaf2²Œð¦³´v*Û_­£gÎìÙò0_:«WvHl;õZtºc2èªàï]Ë9sv†ŸmO îØÃL'ó~•9ζ3ß^~žç¾Ÿÿï'¿äð{oʾ}ûX{Æ B_½é&Š ó9ûÂOs÷=_"»o?úâtºË°•ƒ£TFÞÜ91¤} ç„BŠ­Sƒ9[î£pðELeÐ=ó"¶-þ%MF—s"ˆ$RðÚ{P§Á=瀿ʧ…Ðü (ÃáX[+"‚ávñ™“d--÷¦é~sÁEó‡BL~çi<»ÿEû÷’kz1¼îÒR™H0Àqš¿þJæJ,*Ùõì!–®-å@—Cýñ£ØŽ0gzgÍ-ç'W½Oùo:) œëª™¼qîy”ææÑ½e¹ kqýÿ-1¿øýf«98gúQ¸ÂÓ -Ì÷çñõk¯£+:„þÁaÌêi¸‚.ž­ôè„gÏd:³×^ò æÏ›fxPŽ×â/ÿ}#ÑH?«V­’o}ë[£ÊH©TŠU«Vöýº<^/¯mØÀŽ·ßF7 ~÷ý “ª¹ó±,‹[o½•ü¼<~sÏ=l}ë-[Žsëg¯â©7·¢¹½ìÞù6^¯—=²3%J€8>I"(¬ášîñaDú1ÚëPÉ8b¸P.šáÂrn·›íÛ·sÍ5×°yóf …BÌœ]CZ°Ó„‘e¡[t—+££¶Êà2—æCq\Íû;%î`hÎ*jfçcÇ\§N/$h·í îÛvÔ(võÿÏ×)@è}‡ªýuu²rùr\.¥åejÇ®$‰¨š™³ÆZAJ,'ŽP›KO¸•ga»må¨Q 2-[ò²CjA…†Ï#¾µô©Â’Ò“L>Œì=2tBcOZnü\û±¸ú )!nC&ÐüÓšŽX)²wØ,ªIÅb”'%2”Tÿz¨‹cûÃNEå©—ž |R•ºõ»?”Ý»v©§žzŒœì Äªú]wÒ¾ûQ5 <~ Q£pR¬øû,[ÂÎR5¤º,ª*R|ìÌ!¥§ã”µ›â+ˆœjQ™÷6³ýŽJ‹é™w.{ÎÿOæåyXd Ž>Ÿ¶£¨Ì7¸jQ@}÷á¾H÷G”§ #1À,—›ì¼‰H„ʲÕÝ4À{©<òšMñytUy`§ü¹} ÓÝGÔÂY•¼Ùaùîáp§¡ÖֺъK'ÄÈY–¥ ÃQºŽRÊaÒÙëäÝWߢ´ºi94Q=ÐþÎ^ìò*5VZDH©ö7¶JþòÜûÀýèš®ü.íom§`Q-’¢QìÞ˜@r:g³S4ÇÊê t§H¢c0Aoð$šåØóŽ 6#×:ŒŸ±H›Ò±ù|e%ê;?»C,Ó¤$¿€Žm;ñR¼`úp«{îô4W^`‹FEwå+—÷zP(Û†œ|xüOß’h¤ŸššuÕUWM4A?…{;š è:}ýʧ#×^v!;÷ìÃe¹Ô=wß«¡A6lÛÆý¿úsÎ9‡–¦fUã§·½Q 3¡µ¥·KØïºˆ½Ï×qð¹ôzæ©_)†Ýš¡ˆ¡w@2êãÊ´ËTÊqp¹\tvvÊ‘#G ^x!.—K=óÌ3ŒÜ‚1ÅAH¦&pÈÏö*'à‘ ‘VŽ[#«8 Ž(–ƒ÷¤çZ#©H¤ŸK/»T’‰$Y!?ÇUÃdŠÓa8O‹ë4ƃ¶~G·î¡À1qÇR„æ® íöÉ©lÄ+wðÀñΛÉÁöÄvpl—Û-‹.X«šŸz™©W^̈‚Â8¦Ï„×ñŒŒ16©*†0öøñŽsY,Œ§\ŽË2e"èNû[ÛqU–ТLjêB×4ºúû™µb!Ñöƒe£—ª•yY^a¨Smmº¸‡µƵ dÌëV¥ð{Ýèâï/¿Aÿà 3.!HÐãwüú×\ÞÕŧ?ýižxð÷ä|l}7«V,#7']¥‰û‹x"ï<a(Ë‚ë²  n'ìxYÐ ¥4À¶3Q̱@9¸Ü^Ù»w/7n€X,S¾{<ÃBŠº1*H’™‘© Fö#]«aN—fh`WX§ªžãØJZ››UvNn·‹†ú6,ËýTï„Êe‚œ¨±m›’¢"^xî9Ο¯f̘!¯¿òŠêõç~LåP?Æï÷«gŸ}VÞÞ¶U«Wóúýb:y…Üu×]jÊ”)R[[‹ÇãÁe´¶¶rðÀ¦MŸŽÕ]Ç¢‚4Y9¹ ÏA&"§ODPWޏ ÆŽIøÝ£äϨVõñjÛ³ãg$øgÔ8xÜ:Ž•ÑÈWÃÓ$ PšGÕ×ãPápxÌ/š¢mÈQø‚Rev(6Ý br%J)êêêTÑ:|c¬Ç&5Q‰7Žà’±ÒXÎÓAbÆþßé@õ”Ó]ËIShQ±În<Á€tYiѨš=k–ª¥¥EŽ57Q]RD´îšgÄ/$sBçd=eÛ —qBæíCTj&ni9j˜´0uJ5¥å%ìk}OK+?¹óNn_±‚šòr–Ÿqýƒƒ47çí}‡È.XMiY–|n) ʽÆbwõY³ÑóË3†' Ð|zZ¡<$ÚŸQZAʦ"n/±XLÞyb†:çœsdÆ üío£µµUM›13ÃHñø©hº(—7éNÌ thYhpB†KÙŽCooïè`VD”ã8" kSªÓfž*¥Ð5MæÔÔÐÕÝ-û2H2yòd\š.¦eeJžd’åË—Ó×ׇcÛ<ÿÊKL›6å…x<9zô(Ó§OgDæ*‹ÏïW›6mbåÊ•4Ô•Á ‹ŠN 8~Ä‹§œš…“¤¼:SóÀ¸Eä8†ž—hšŽbÔkB•’»îú9Á`3fœäG¢Dd¼öwÌ]›E]ù´3.FbC£”Û¶¹óÎ;Y¼x€˜–M*i“2)Ñ2¯”‘úT`¸Pž(ãb2z¢ ä·KTj\º.);7Ù¬; ‡Éêo'eôcäçK8¿Œ°æG³Mjg" k\¤<³(nlʬ<:w@ö¢yŠOƹi>СP—Ë5ÞAj¬ÈñÎúöBÙE æà-.ÄQ'ƒ5à m¦ÅL&))*Âår‰ˆPXP@"™T®¾+'îOÍèNɀƃ›'êÙ—¿9ýø÷ryµKÈ#pX#EYŸ¾‰d€íâ`2€œ<§ëƒÝ0çy(h¹ñÐ!€•ÕÕ¨p¸hí€`:•y’]Nf3Õz šLhni!"¼eKQærS‹IXÎÒ8›˜ÓºËTz™±â,VÔ|XÜ!U5ÀÌd+ÌGàd 4uþ\9t  º¦u•Uhyã]ämX CQi,\cò׬YƒÍ›7g='Ëš¥øç¿úU¼öê«tüøñQÏÁ'OBEÐÐ "MMeyÄ.Š*tÿïŸÅ¹Óxî÷¥ðy 0×߀뻿C‚Ug—ÍŠ½a•~ñÜ‹èà7Y^°bÝ\رAœ€­*{¶‚G–3‘@ ,àæz`÷ëˆ 5SU9.ü5`Þþ·èÚo} 8{9ù»»`9¸™DV›—(ìG+€ªvŠô™Ø].åKÕ¨j²zŠF¨5›B¯¼Š/¯pb¨+Hݔ˔D×fÌ®Ñ Š¢ˆØëõ3³ªªp»Ýp:㌒>÷ÐÐP²äTUM0+©<‰ªª˜1cSaa!/[¶,é«§P×u2 ƒ“¥q sàǘY† §½{O°Ý°‘x(B¢·„Z8„s‹Í,½ù; °ôÍÇNñ¥a ¿o¼ñ¾qûí¸ùæ›iÆ †Ã|ìP=J:ß¼òB<²¿“,­÷ó7o» øãQTT„¶¶6zçí·PZQÃ×\óiLŸ:“ôÛ0LŸ/§ÜþcìÝ{”›ŽA'Oz‰Û³;möG‚3¬ŽÄ4Xóó..DýŽ<¥¦†äÒRtuuñ¶VÔAÄž×ß!©¼˜¡é”`òá'Nd³… Ü ªªRcc#'JY‚$²ÚÕ‡A¦~Yà®¶vÔÖÔ0èìî&]Óà©®d#‘¸JZ[yóf²o_=å¹\`õÄ׫µÇ·£öòI¼g³~3+ArÄÀr%1²)ˆô¦ÙÉÆëœÉ0”Á÷‡¬\{™:Ð0P¼l!|åm6÷:±Àæ!"bµÓGͰ—’]UsòÏ%jß÷ÜsY­VÜtÓMÙ€º9ëWלy&Öœy&çPàÃíK=Ë÷? ,^L‘Ú2Ì8p„¿Ðõ]²aV‹§c |ÿ¬´Ê)Xd•¡õìáÞÁ>úpÁ·¡A`z‚BÀ dl(™ÏPL.,mþ¬Má´0›ô,¥&¡€?ô¯EÞ@ ¾û^È_F…ï÷ñìW¾E} ;Ä|rDú8&ÙðvÏ2Ò¶lÞ«Aq‚) °àʶQ1H“Áh*¡•‹­ï× KPTBh%5 ‡½1SÜ5ôdò?s‚â–`Zp=ùw>OÕમ@__JKJPPPÃ0¸¦¦í8ñ㆛¿Šîþ>˜esÊëëëÃe—]†\a…äõ-ZÄ>ø ž~úéSkB__~÷Øã¼¦®ÅEEÉu ºººRÝþR»a°5ß‹ò‹øÄþz\wà ˜R;¿zô18Î^ 1Ñd>9½ûx È™ñ¹L$Az…³£sas`99PsÞ: 6Ä-_û·w´ã™§Ÿ»¨]S*ÇwÄ_˜:u*þøÇ?¦þ=(œ3 ’]'ð?õ»\ÜõÛßAtÚ€Š™(n=Äç61!Æý²Å¡4O-\Ëcµ½œ‡}ó/@…Å‚ƒG‡x¿åjh Œ¿¬ëúV uA*››VŠòØQtY¦ó³µÏ¡=’‡áÚ•ØÖ ä=êã›Z¿Aì…brÁ…ippžœv^;¾š+_Û ÃZžV€T@‹LÔiöD|ÅùP·S[ü,íÆO®àl«ŽÀ ðpŠ6ö¼žª1Œé¢Óé¤û‡‡¡ë:n¼ñFÔÖÖ"‰  Áãñ¤7FçˈÑp®€õX‘%V”`fÑ`Îü"”•é£]à9u 0š>õu’4¤Z8¥~Q„¯g†dÁ¥×Ý„íß¼¥.+ª½Nüç¯aýš3qÉçoÅÏþë¿ðô#`ïÑfœhëÂ@0ŠKW.¥-[ßàtÂTƒÞvœ¿\Ä7¿º‡»>"Sá¶”NE~Ë `×ëÀšòx<ˆ(k"^1ÊêL& ? w^N67#//’$¡··º$ „LxïåW‘7£º¢¤,™dl6³^6¹&SœþéW¿úýò—¿äd;Óä=ý툶vÒP0È^¯àëëƒÕa‡$Ë£Ó–†Ád·Ñßê÷ñަ£ØÑ| O×V |ÎèßAcAdr qzB)‹«Ì™õÇc½ cP±L¢H">êíijo¿è TN©L)¦‰€¹3Ï›@ELj ‚ à±ÇÃÍ7ߌÂÂBŒÁXñ¶KÐz{!¸\0¬Hßþ28 ' ¬´K†#d-†Ïí„Í,Añu@ã¯BäŠÌLª`f¯ÚƒF]Ç=:ð³3Wà²êbl1_ŠßTÝOƒ& ;5a³€YÑ.|qèß(ßÒÁ!чaÀ„ǪÃŽ¼¨ †¨Ôä–šÅpú±íéÕˆ;!ˆr¶2)*¸*iI|Γ¼–¬20ìWð¯Î8ï¢ù9åPʈMÀl6£©© ´qãF<ÿüóÜÞÞN³fÍñ²d l6õŸ,8ÔäAoOÇD¤ù~ôÐ#ô©ï‘È_8_C—®£>X 2›±¸Ë‡åû¿À쵤Í;‚ILf9m€#â™q«¤kLqd`|¼%U•ÔØÔI’ˆ‰¸¦°âPEÓjA‚“eür®,ä$ ÉöäQP]‰þ¡ šÓÃGàöxPj²a¸µ‚$t?×n8p0Nå/›³ppNržA.²Sd¢2c}2EÙÂ*,ÕËéŠw´´9N1w6®<*™Ôœlܸ7nÄu×]—Âàå¨e&0³`³Á÷ÔS°NŸNÒê³xçŸ_ĹObï BLȤ…@6Jný> ¦U’¡¨l2™pè™ßãpŒ©zZ%v¾zˆöKŸç É/ãdŠÙ‹ó}¿Âò¡—¡‰N|kÇNt t£­z.üOT ä˜AY@E¬›nh¹ƒj/ü¢¢…¢*xª|#öØVÀã ÂÙ½‡«ÖBÔ€–ž&U‰`ùç@ ÷€Ó©3Ø×jÁœÁmh÷̧Ùy}ü•è¨rPêas˨UÕsê$)38¬ª*þò—¿€™ùî»ï†¦i8rä/X°N§3›[•µoBöÞñ^̬ø¬t¡˜bؼͩ ad<€…8yiP“`d‹f €±¢ádZQÎ8ï³øàhæVÎÀ5s¯GKóüä·Ç WüTÏÌÇ~Y¢üe8ÙÝŠ— ç¯ZÃÜõb|&Ö-7á×âóE\¿Ì ø‡ >|+ôÂ"ÐWîgu÷^¸j+ˆßŒ¤'?r&­3 ¬ÇT/[Wy ·nçü²2D‰A;ØÏò… 4Ko,nf`Œõ`Ý@þ‚Ùð¿ðÜA+,…VAØ[z(¬i0çy㥠Y’²,gcpá,ëÌ™?–Ë—ŸÉ‚%¹Â'“´úFÈ_¦ Ø8FÄX'± ÛÇxŒ*™83/uuu¨©©Á8•T êþý¨=÷\˜W®úÚPÖöW:6Ç8fÐ_ü +Ïœ שûL»ó‡X±õ-æhˆJ¿x!/“«N¹¿`XÏ{¯`™±RI DAÄ}ûÞ™3 Þr>¥˜`Öu°U„ÖÙ•ïüçyº•\ 5 IWÐvþ°¸j5–÷ Ã~r?"—¯…¡VðjØÂ±¶|÷æRð•"m¿N4nµõOö‚l yfqêZ½°ª@‘H€ÃÌÍYÐVY-Àä AE†ÍfCGGGª·ï8Ù*ʬt%íóL''!jšõ@dˆýÇqÑ”fx\ñn„éoµ °{ÛWAÓDJôH:uAA@{¨Ï&âÇŸ»NqÌCm( GÓ’ó ›Î¡UeˆÆsí$à¹Åóa7)¦K°i~*l}Û þï†N\3Éâþz4ÆDv½ŽéUtàìïò¢úƒä\¹ld }l%H£(ž¬Cd*)äºÏ\J½;?B´•eœwùÒÙÝ1”-i0榔ÀPM¹ì|„»ûзg?¹]N”ž·Mü) ؘÒ<Œ 5åì÷’ü>‡g­ÿw )ƒ'²XZ¹¬GFN\櫜0%ÊÖ{dœY6¶Lôxa€Ì÷‹u]GZ“²¡¢ÌŒ¬¥…u“ ¶ €ŽFè¿ü7ˆáaÀé)a¥ßTü>Ë h®8µ"IäÒ³Ï#If–‘½·?Kx (6ǵ‰%SÈ×e7ðêÕ&Z/ mÀ‡ß&¸:‹›¡Eâ…ô×mDéœÕX®… íÝ銵# ÿÀQƒ>ÚªãâE@¼ï ‰F6ÿ‰¥Ó¤â–7bSV ˆw{˜Dw<^˜Å{Ù„™!IfÍš…C‡±Íf#MÓxæÌ™d2™8 g[¶€rÎw=3ðŸk—΂ÖtF¾K¦©N'³a€t-‡Vˆ¤Ž>è¸ ÿYÐâm1Óë'‰±ª<µg;þÑj¬©Qˆ† ­n7`E—ÀLÉ Þ"DÌ Ìþæ¾6ô„Uœqá"4Xƒ˜qé—pdÚrÔk˸¨¹òE«“†$%z5¤wŘۓú²hù¬VcZ¦3k;Ñ p0#+¡rv«ÄVRˆê‹Î P7 +óš9öI‡ÜUiç䊦ËX–G.‹2§¼åØx ‹s†rµ§#’2YÜøLœc®9K`8Óª ž8ÉR4Ûì9@{#ðø€ªÀ°8% &ü¾ê'8nž…rSÈ‘QcMpR÷Ûž'<ÿ“ÕN  Õ³˜g.BÃÀ=¾tµµ’sû_PÞçg‹ÉISâY7nÍY ÍïGhßGp­[ÇùêÑ EMÔ‹&yDðgæb—Fw^ üö/fè,À«õ°Á„¨Æ§ª´’x[ƒãÏE#+AØn·Ó3Ï<ƒU«V±ªªEQDoo/¿üò˸þúëG D6HA¶ž¾Ù°ã¹£`]€Ç!"ÏkÀ€…Íö¤€öS`ø—Ãn‡€DóŒ:H@ýÚË0™Ð{ ,ÿ "´TRŸ™'sNX+`67øØx‡Û  SñëÀp¢‡•X3êf€öHdVc “9.1Ã>MJ1g³¸C#\¹Ho?8Lz4Ê‚ÍϬ:8J‹Á†Ý0 IgÃÆåp¥8—{—®D´h ý#ÚÝÉb½¢®šÊTV7[©bŽMÇJv¥‡J2_ò´ßfíÍÒË ;È :/ákŒã(¹ gbÇ ûLð^Ç€àá–vÁ íïˆÂ»t!Êàùý@,ʰ8`„Â@ ˜úS>ˆYcñšés6"Œ•h9‘êÆ¹å9à¥GA²LÄP"@å àk?½x)]==8ðávèû €®)ë°¤ãC¶Qð™æ¯ !üÑGp¯[{*A”£‰yª Å7bª õäI•¼bšå±^D7@±ÚÁ0àgð `ÇöíÐ.cT*¼2À<²/0%J½ZZZ¨®®»víÂÌ™3188˜Äù Íü<-6ÛË9V°9£oD܃…A½ÿþ³¨Š•B½ïcÉU¯Âdu€õDg8¡-Ìáê†Ú÷§agñ b)wßJ;8öÝg`0T…ÄD_SU%87‚ ÐUl2³k”B¸KÎÆåWË4§ÚËÁÃ'áœ33~+“ Ž|Hh:Â\93•É` ÉE¾É$Š4°ûÇBaŠM)[Íä2ˆÍ`U#gU9$A -[¶```€- V­ZEÛ¶múuëø¯ý+­]»õõõxüñÇñµ¯}ìv;xà^¸p!Ýyçœí…W‚!ØwˆÅB/¨¶œÂþh0í@Bݽ$ˆâX=g(¤Q(ä3'ê{³–e*‚qz‚ŒÂ¦[‘c¹ü¹p’Vs6÷z<x4tdHˆr”-Q4Ž2L%Ö ]‡oÏAÒ¢Q k*jL§¶£ûضé.Xôa˜æ’©D_ÌPvîdÙíF_o/ ©\Z; E V‘¿ã$†ÚNðÐÔuÀ‚ Ðüô”òË‚×5ïD}pÇŽ¡§°]Ã~Äöï!¡é#n”ë0«n%Šmç AÝÊÇ9< ¡Ç 2NáãÎÐÝÝiÓ¦¡®®.Õ- Ð$"twwÃHpeLh<Ý#>;Œ­hÛõ.^ûL­- 3FxÊ´TU÷>¢¨ah@ÇK^'÷݇=nƒ}Î4ì÷ ¡þÐ÷PàuC¦Kð×—ÿ¯×‹/Üøy¼úúƒ¸úÊËp¸áv¿ý&}îy|ù¥—#x4Œ‚â>,YbBµmvc#¨à¡Þx|ãÁÇA¢ øæcÀ_Bʯΰ³ÒB ‹Û ¡® ¾úzÌ›7²,SWg'·ö£bÝ}()/Ã]wÝ…H$‚H$Q!Š"V¯^jježzê)Âï÷㥗^Biii²§Ëeêéƒd’àÓ¨á0–®X"Bkk+Úúz‘?kteý8OÄÝ›4dTâ,ÇoÆ•¿lI¸Óȋ͛ˆœåM›Æ‰‡{|ˆôø««À‰ƒ‡PXXˆ’ÒB¸ƒÃCà’é0‰¯ú1÷åÍAhÇ`=BKæU²ÝaG[{7º{zqäèÌ™3/YÈ€½{÷"SPZ˜O&¡’ý >Ÿ Îj,ôä¾ö [zìË–v;ò‹‹@&½'@×T|ˆzKQ2g1SÞ÷\ëÖŠ=Õ;&ýÜØ‘#Ôåpðɶ6ò8]\^R€ 1 Cý88ý<êÐúõØ3ëV˜†þv*Ÿð£“±N ˆƒ2û|>ÇÆ]I’ÐÖÖ–üæIî‚“Yô”,,.‡¬‡±xV6,®Ã3æ¥Õ.T”š˜'$½Q· ‰\sÉ9˜US‚'}Õœ³ö¼ùÖ[˜_$à²~ ÷Þ{/Þ~»¶¾Ž‹Î:-»ß×ÀOýú—ø×EÅ(o|Sû¬¨~ñ8?¾ ‚Ô(p| H`‡XwuJù%X‰³c>2^>CÓମ@ÿÀœ$I‚®ëìr»1ÔÓááaxÅ%å˜9s&¶nÝ =ÑËuxx×]wº»»¡iü~?fÍš…‚‚ìÙ³7nÄòåËqà 7¤*=’GÄ7Q–ÒTØ­¶ì1éL^<ÙØ×X1°ÉÈBF2mD¶yŒ˜ç˜q牎!yNbó3˜¹ÁœÎaµZ³Z¾™h`að`¤µh?Ú·Ë…êÒb˜Ì͘ハ@‹=Ÿù·É³0#ÒŒÎ@³§W ®Ú=»¶cùÒ•hmSàóõ#ÉÙÙÙ‰H$‚¢‚”±XU¼pÊëÏc@*ƒrõ ÍVøßÝ ç’¥€,CÕuú|ðØ]8bÏGÿÉVìSf ÜlBh÷®Êo²óoô÷# ªÜc°™L\SZ‹ÍŽÂi³Ñ¾{:÷mGË7`ÊU7a]ï¾ç2Ìv} 2 N‡•µrª'µt“­&“ÆŠ ŽzÀ®ë”¥*›$64˜%xïƒ×hÍÛa’Í©&Ô™àÏ,ÙA€@DÛãÅÜù p÷=÷á+7\‡Po}û¿~‚³Î:›®¹îó¸æškð×W_'EQà ÁeµÀ%èØq´…ªÊJëë‚6Ð %BÀ1¤èq€³dö€O€Ëó+¿ \ðEJ i–,pFLŒÒ!;±!T––a{[\°ÚlÔÑÞ«ÃŽ¢¢"Èf3"ªB/¼ðháÂ…ø÷ÿwƒAx½^lݺµµµ˜?>I’$¬\¹>ø L&¬Vë( Êâu#8Ô†Ò²rjij‚Ó錗Øõö¢²ªŠôht¼ª 03"‘Hª>oÑ0–,Îoh¿oŒ©ïÜn7 çü^Uãdï¼ón¿ýö$\…&9~’\š±X 3}ÿZÆ šDÄ¢Q8ív˜e‘H„d Ã]Q‹nÝŒy3ªÐÙ¥"ƒHÄŒ©ùرý=zç­·!ˆ2ÍŸ7­­-âU@¡P‚ Âç8$%„h’ᩛh#ûÎa_°ÈnOìÞ·U`pQ):5†Óå¢RI‚ÔÜ ë)ºÊaÉ皯xó­>‚yáBDvî„Ëé„ÕbA,dä*.GwI5‚ó6,#72EJO±˜Íæd0%ë~³‘D" z¤«)¦È “ذ$‘BÒ÷EýýýÄÌl·ÛSççLA8 »`jj8 (ŠiÔ_#c%éñÉt7Èb–)ò¿ð¼õúk´lÑ 5¾è¢‹ˆ™ùá‡þ›6mÚ°cÇv>Ñt ‡¡º¤Ü¤Áî-æžÉâ‚f Ð \v!‰ÇöHÔ0ÐI4e°ø¼l1­Qí³ìð$ˆ"Gýø¶îÀŒùÓéȉ&„ƒ!TL©á—!ßI2 ¦ª|Ó-·Ýnã¹³ç`ËÖ­¨¨¨ üü|þþ**+øÓW]E[¶ná3V»ÍF¯¼ú*¿ðâ‹d6›GYð޲Dz|$ø¹bZ.<@E ¨º;¾s'Î=ÿ¢€g¬Óé@G{;fÎ]Èûê’¦éìt:ðÍ½í¨¬ªÆ¡#G1oÖLhuK0Xø ªj€%!¦eL­@a`hx’†Lü0{\ˆù°—Ã;c*z¶ïð¦-žÿ‡Ñg± âìÕóˆ¬X°0 D‡°þÌÕ`UE¸g,]CU¡…Â8wýYPCa„|¸ðüŽ :4ŒLrIf†{j |ûêáwf-šQ–áÿë;N«…gÚŽ ÅeeÈŸ˜df‹ËM3*ãõ¿º®cÏž=QN“9x’Jïãã)g@Á`Ñ!@Q ‡aq:qÇ-_Çmß¾6Ù`†*Ä; J Hã@â`EHu2 0#† Àîˆwݺ%4±`$IpN›ÿû»Q5£Ç꡹£.‡þ@Ápå…^øtŠìŒãAJŠòÐÜÜŒšêjÔT—£áð~ÄbQTVÖ¥ÞÅââäyÛá0þ@Eá©ù$Pý~ŠRUÉè:ô¡¸ŒÈ †o\¤ëІ‡SÆx‡èpÀˆDâÝÌhÃÃ$‰¯â®]¨˜7GŽAsG'{=n ƒ†#°X,(+-™Ø ßÐ`꺲Ʉ SfàúO]…˜I@2­“°ôñÎ;ï@Q,]ºsçÎMï!|: ‡‰¸´ø8×ff’eÄþýû€>ýéOÃ$I0ò¨è mxûýhy{[Ü‹aÆUKWá3[¶“ÕbAsG;_vû-hîhÇ?ýYìÛûÊ+Ëñô“¿›¼¨×ÙñìêØóþ«é=IÒ²ûFö줌.’$A‰úñÂkCYAþ^‡ç£ù0;Œ’u«RŸÕ^qþÑGÕ9kFü[ö¸Q¸j)œg,†3ãÜrO~ú’Q×èÄœéÓáóùð­ï}W_y%þ9~ýÛßâ+_ü"àOúÓ¤_éÎxlÌ1­˜; E˜–û|uNêÿóσuÙ¼4:‘^Bíº3P´áŒ¬×™:u*¦NŠX‚Ì7iuÍ-æ–"ÏX¼haëiÉŸÃbÁà[oÀ×ÑŽm>‚~¿’(r£EA¤äs²/s#Ã@á¼0™Í# 6c*@EQPZR‚¼¼|”yLØ}¬ÞFTÖ, "›Î½½}()­„Çf†ÅaÇg¯ºGN´£²² º®£¿¿Ÿ|ƒa¬_&B}-8ÙÞ‰u‹ªpãŒeˆ+bOýqLŸ1 𦥔WJÊTŠÌÐ``ë[8©Y)Êúi½Î’(M4£˜õ¥ÃÐ ðLJ7f=Ú Æ,‡­;/¾ôŒ„Kú ¸zëˆh:¤­\ÿį†È9³ ¢oØNd„‡öîF[ }™/íÿ® œ50Ið;ŰÝùüŸÈ&JÐ2zÄä„°ˆ"ºChÁøFa47AÝü´hög×DZ(’’¿¡=»¸} UK%ûtƒ¡XÌà@>ûþøìs')<ýyî=°m¡!ø&¿Î©Ã.Iˆµuâdg.¿åÖ¤ö‹-{ÄßúÎw°|ýúœ%†£4aTV^Q¡êÎZ[Q:šfÍY´ ª¢@7ŒDæ–°`éJD"¨ªŠyóæbÙ²eˆFC- èDã1´)…tÉüéE†Î„™ó—@U5´··#¹³±;¤)$†@&Àl!Ád…$L N0Xؤ`8¹o¢ðŒÔçC†A+K q^ue¦¢ìØ'2'‚!DVUø•D“<‘ggê5eÆ f3$§’dÂ8ëýI(7šÄ5GÈŸÁ Q–!ÈæÔ5$›’IŠÍNà~’$(‘#£—Ú»ðÑpÚèß§`Pª~ŠâH-$9Bòå5‚ÅL:¾·d!®˜Z°¦}âò7ÁsF<³‚$¾üö{ˆ‰"I'$ÉtÚò'š$DunþráÙðEb$ 4Ág%ªBÎéSq\ÕPCÖRl0 ¬ G"‘¬Õ ãìÌ£ÒûDÄ¢dÂê‹0Üß3"æ&Š"B¡¹ÓÒçÈÂf1òt‘2ØÇ1ÕUÌjL¦%éæé^c²V˘¤ŸþÄÓ„š@óÛÓ}þ±¿¨þ 8‘9ЂAÄúz¡Ä”\/Մ˾Ɠ¿ \#' Æ`@1IСÔyÊ€’(’6:¨”}îvUƒ)OøôGcèiý)þ¾^¨n(Š!åÒ˜“e°¦Á‹Àâ&c$?ã'&“•!€$uZ(ˆ˜/µÎ§%’(B !:lþa²Dc,åNnŒ¬øÔ$%–|JÓN’¡*Š‚$µzÂןÌ;ªìˆˆH×TÖG[š°Ûí°Z­)l`fB$s°:‘/Ù·J è“+Eú„Ì~þ_¼Æ?â1yÅÃL)ʯ‘óÈ2b G Þö @é%—cæ—¾ŸÏ÷IºaŸx)¦a0ÜNŠ~ýpü—€ÿþ#8l6¨i½ŽÇ’?fÀk³âçûöã¿ÿôgص Cƒƒ((,ÄšõëFSÆ@4ÁŽ>@0@Ee%.[†¿ôÔz=ˆézʬÑ4‹ò¼/»…— uW\Ž`8üO!ñ,°ó—¿‚âsÎÁ¬¯~¾þþÓ^\‡Í†ÒMÏBþŸP÷“ŸÁîóÁ$IÞü%t:a46å,¯ÕÝãñ@’$>yò$ŠŠŠ`·ÛSˆ~“l†Íj¢(ˆÅb0 ƒ¸9 €,qz…Dy%jŠsº®gåÆË6XØM‹Pw^,ð§EGôqBC‡kð?øþŸô\ðxé‡B[„DY˜{Ú`æ|² Ó*Ŝȕݵï§>*[}.HÎyíœ÷ùÔ’å¸âŠk°áÒ ðîÛ°dþBl~î9 ˜ 4µš0ÜÞÕœú†Ã¸à¬sñøï~“}T:l”/^ Ëâe°ü“ÉŸ=?€Ysñqqî]õ°º·s t<ù˃… 7Mpf·G1B¿øâ‹ät:qèÐ!,Z´………-ÇðÁC ¨ª™BUUU°ÙpØí‰ÞqOZÓb át:±g÷NBZºd 'w»¬ÛÊ)öËlåu§vXÁ Â{ƒ&¸K™ô‰›è¹Lï‰&Aè4\«\cÈÅ<ž{0ޘƌiMrüãÅ|FV‚Àu×Xö6‘`6§zÌ`³I¢C':Y‹Å­”ü -EÝÔ7œHÜ7× 8Ñ8èD-ž¬8@§Í‚“;·¦î¹ý÷ßÝ"#§›0–Ù$!¢hö·ù{›¸óåû¨o0ž1Ë&ô #âïòµìCçË÷QWß`ú\麎ƒ#CÝxü‡qpÓ¦dÎÿºü":¸sVÖX¹å’ë|Zòg·Èhݵ“šŽà§×|hb‚—pܵ&"CQxÙå—“µ°9>>YFÛ—g %Æ?µüY€ÍM0t>mù#"DƒŒHàô]÷[n½—_|1<^oª5¯¢ (²·c–åë#\`EƒƒƒX¿~=પ*ŠÅb,…‚A>cýz|°í}¼ýöû9DÛ÷Çõ·ß‚'~~?lù•¸é¦[鱇âÙ³f’nDñáÖW¹îsWçì¬5éÃðC°]†y ìÌÿÐàd’“Êœ„¨“ØOö埜ՔhHEÄ’…š›Oð½÷ýáPŸºôó¸ì²+0”(•Ëjaf"Øn³q0„(аÙl@CCC0›Í°ÛíˆÅbäõzY×u …B°ÙlLD …X˜`ùÕ©$ˆ›ÕŽ^ØŒ?ÿùYÀÝõ+X,–ô¸ø„äOED£Qüüç÷¢±ñ¦×ÍÅüÇ1<<”-Éèǽ÷þX¾d-nÿÆ¿bxä¥ñh0¬VN(FË3³ÍfK&a2™’ü¤ª*;¨ªŠP(D²,Ãn·#s,ƒËå"‡3±ƒ’?" Ó¡©úXïú¸òoÑ!Àl–Æ:‡, ˲LÁ`Óžš¦¡ººšºººØ›——õF#\àh4гÏ>›6mBUUõööbîܹF!"üAÖ  ¼´,b>Ê òðú_ÿ VÌš> V³•eQ>e6d‹N§+%0YzáŽ`ÉͰG1ò2BÄ3ðÅ›Ja³ qÈ¥°& ÈE°9QÅAŸ€bÏÜÿßtÇKB¤þÿĉxøá…pÎ9ðéO_6`lêšï½÷4M£Ï~öS‹ÅðÎ;ï øÌg®Doo/Þ{ï=¬ZµS§NÅ–-[(??óæÍñcÇ ª*æÌ™s:Àà`' ÝrË—'êvgë?ýéi46£šš*\uÕÈæõ±X O<ñ8uvv`Þ¼9¸*>GKþ<ˆþþ~ºôÒK¹«« ¥¥¥Hþݲe ’e‰xóÍ7qñÅÃf³aûöíEË—/ÿÿBþššš¨±±×\s uwwsII º»»©¤¤„Oœ8¶¶¶LÃ+{S$Ã0àp8pî¹ç" ruu5***FA‚€êÊ ¸Ü.ä³I ã¥W^¥3/¹7œ9Ÿ?_xéP¢!ò‡4x½N€™#‘È(¢ƒ k0k/no(€9FÁ `³+À£zmdéW’I›Åé1Éôk¥+é丳¸íœÞ;“>›õ›Þ¬(ý:Àˆf=ÙÚ>¦ÓÍSÆç™ã¡¦0^ø!cZÒç59FJo`”…É—ƒÁ`êÚ‰Xðˆó2ÆŸN†M›6aóæÍ˜1c^{í5¼úê«øÖ·¾Åغu+šššhþüù¼uëVª¯¯ç .¸[¶l¡¼¼<”––Âï÷óœ9spÛm·¥[3™p«QŒÐ†a°(Š)**Fa±X(›%‰D %Ør´´,ròœ@ #áó*iîOGþˆˆŸxâ üùϦ3f°ÏçÃîÝ»ñõ¯?ü0–,Y‚­[·¢½½çž{.^zé%ž;w.8pÓ¦MæM›Øår! òYgõO)ÌÌ‚ àõ×_§{gÏžM~¿ŸwíÚ…Ûn» ¿þõ¯yöìÙhooçéÓ§çbµ‚©a5Mƒ×ëEuu5ÊÊÊHQ”$÷È$£¨¨¤kP5v;ýèžûqÞsIUãxÃ0`2ÛP˜ïN‚7GÑ&ÅÊ;q™³íŒÙ⌣®Ÿ)ìãeŸ3vG™%›ÒĨûgë‘‘veÛ±²´¹uÿ½4FÄSÓðdÎ{¶óÓ„/3~›9ç”eŽ)GÞ+9Þ¬åŠ ¾Húìg?‹çž{Ž.¹ä´¶¶‚™ÑÔÔ›ÍFwß}7mÚ´ ·ß~; ahhˆ¦OŸŽ  bÊ”)8yò$uttd}Þ1’rãKO^þN;ö2 ùK~ÕÐÐ@]t®½öZ***‚¢(0 ¢(bçÎ())Áã?Ž‚‚TTTP]]>øàlÛ¶ 7ÜpÙl6;vìŸVþ’ŸïÛ·6lÀõ×_ššJ&[M&öïß@ @Y”®GÅçA€ßëœÞZ6É0›ÍqJü8†#á0bŠ’²|ŒD…ˆ–¨=D–:ß±&p’ÔäÙ;¨¡ì2%”4ëùJ‹3­ÕÊ“3;š¥wOËÅZœi‰æJùG­žëåË´\Æš£´sY:«eÎEºå:èÄDáK ­­­üíoßûÞ÷ðÊ+¯$t¼iÓ&€«®ºŠo½õVÔÕÕñsÏ=‡sÎ9>Ÿ›7oÆâÅ‹ÙívçÜðrÍßÒiÉßd”íéÊŸ(ŠüÖ[oá7¿ù 뺳٠›Í“ÉÄ6› õõõ¸õÖ[‹ÅðûßÿžwìØ¯×‹E‹áÞ{ïå¶¶6ÔÖÖþÓÊ_â3¶X,ؾ};}ôQƒA¶Z­°Z­e²,CÌR;ŒŒÆèé’$Iرc'ÉPçÍ›‡d0µ¹¹ Ý=½¨¬š‚êªr˜Dª®³¦($l¨P™`·Z8Ál±@× „Ó€š§Ù{!íF‚LÇèìÿßõàÓün¢×å¿ÓØ&¢„>ÎóŒ9þ•jÍ“ wmôâ"O•$ ˜={6®¿þzžxâ ¬Y³v» ¨¨¨àêêjäççCÓ4œsÎ9xûí·ÙívcÉ’%!Å9™>Žq“ k)¨79fm’‚—9É¿Éëäú>£aBë•,bðûý¸ôÒKÑ×ׇM›6AEÔ××£½½f³ëÖ­ƒÉd£>Ê•••¸óÎ;ùûßÿ>vìØ;î¸ï½÷Ž;†óÎ;o"Ïû—?]×ãôv|ÖYgÁápðÓO? MÓpàÀtuuÁ0 8α×&]ÙʲŒúúzôõõQWWaçÎ¸à‚ Ë2¶m{=ÝÝðä5â’³W`ËžÃTév!oZ-ôž„ì(§)ÆïîØGóW¬GsãAv»œ´jå (Å0Ù‡vÊ10@dC¼…Iú§ÍO&û:Èéf' ¡™tx¬ßx<žéE’JI’¤ % $IÂOúS躎#GŽ`åÊ•x÷Ýw1eÊ\zé¥är¹@DüÆoàᇦ§žzŠÏ:ë,úÜç>‡^x}éK_beyÒ‹žÌ8`‡Ã‘9ö ËŸÃáHõIþMŸ¯×›âÇL*ìŒ9š”ü}å+_ÁæÍ›100€ïÿûøË_þ‚gŸ}—\r Í™3‡ï¿ÿ~TTTàÁ¤?üyäºüòËyõêÕx衇 …pñÅõ¼ÿ«ò'%x¿ð…/Ðþðnhh o|ãÜÑÑÍ›7£¬¬ 7Þx#¶nÝ UUSÍÁˆhÄVKÚ¾<,x'{¼˜VW…—^z 555X½z5î¾ûnTWWãÒK/…$Iøå/¾þ!\ý¹ëñÁ;¯Áêô@÷·B—‹°s÷ûðz§ÁÉ>t©ò-vˆV+®½ösðØmñV‘cd`Ó"ªÙÜ ŠÓð˜ðòËÿØ„PÈ…ÑïÐ'Æ<‘ït)—h’מè½N÷w×kb±wtta\XXHyyy²¢’I9Ç“¼4MƒÃီë†ÛíNõ—JY‚ðx<E>Ÿªª2íoŽz6A000Àý RÏÚÚZ‚0–™“‚Í0 tvv"Âjµ¢ªª*5‚ @UUtvvBQ8N”••5G㮃ÝnÇÀÀb±***088È@%%%$I:::`µZQ\\Œp8ŒŽŽÃáppWW ‚§Ó UUÿiå™a·ÛPVVfFOO¬V+®½öZ,\¸ É0 ¢ g9‰9ÖÛG–ÂÅb1,\¸ßÿ}úÅ/~›Í†¤°23*+«xý†³0wz-Ýë@w?fÌYƒáÖ-˜¹p9Ì&s*sw0B¥n+ºz}\YZBÃÃÜ‘¥Jš¢‘™ã ™Lçã;ßYÃN§Ã˜XsnL®'C®Ý–ÆQh9wVˆ¸pÌ)‚4w²(úˆgª^c‘˜7/söˆ^Ó=çº9ï¸YϛᠤòIy9ç¶£Dš[N ‹¹çnÀ¸˜l—° h¾~†,©T¾8öNqRÀœ¶Ñ5 ¹ï¥kZtÆÂUý,A¬Žse»ërQéÜ"v¶þ©*!—+—ær&_ÑßÂíŠBÈd õƒMÓ.ê7Ýҿש’Tˆ¶'“I|âŸ@6›ÅÀÐ8‡ 4OQ$MÓÐÙÙ‰³gÏ¢±±›7ož©Ë›N§‘J¥PYYÉ~¿ŸÛB:›ƒ(Šå!{.÷Ý]X|-×U~&Ûfø|½ø"P¬u2ó¨YëþõŸ{-_Ó5k‚üžÅøA®UKv!_ç-ÓB¾<*øó?¯F$’‚iºqð ËÝåÕbý„7 šmó ,Ë YöâÖ! ïÞ-@’@%úÊE´ €e‰¸ÿþJ46‚›š*qð 8›-Ü/Š@6+âíoalì"¯XᧃÁ¹ÜŒ^ßÒ¿›Ð?f ¡A‡ãäñÚkÇaYkÐv$4.ñ0gvxù²ôõõ¡«« ÿøÇqàÀLMMaçÎPU>ú(L3­÷?ˆT2‰PM=öîþV67cûöí…ÚÀ Otפà™C‡Eå©kÌL‚ ŸÏctt†a2󕇋¢Xž~uC‘¾ŒBaÎÞë ]Ç™ÿûˆ/úã½ Y®Ú—Š¢Àº®‘(ŠœÉdayZäxý®>æÇ´ÀRZÀUUØåR‰H&Så \º‘~%"躋eY¦|Þ,ºfòÝn ’$Á0òÈd²E‘ËJFÜÒ¿›Ð?"mÛlšfU–J˪¦Ñ*~j¶¨ª*Ž?ŽO~ò“€­[·â‰'ž@qÛ "‚(Ê0Ò1<ÿì3H2îÜ´fV)ºyë4÷W®üóD_ÐRTccaÔ××£ºº’$a||===pûõ|ÿ?VØß÷j~3J÷†ÑhtæÑDmž]Äa¨ªŠ¦¦&ض5g/t‹Çã}Äaè:!b~C×Ý+pæÌx½Þâ7sKÿnø…\p¹¸Ýn444@×u8Žƒþ˘Ÿ@ëréjÌ]wÝ…]»vá¾ûîC__|>ß z¿¢¢---ˆLM£©y5Ìl Ë—-ƒªª³hí¢Ÿ^he,ÿ÷µúÌ EQÐÜÜ Û¶ÑÖÖ†µk×"­D0¼}ÿ­cqý16Ú¶m¸Ýn46.G:ÆÒg½á³3††‚ðûýoh^ñ›þÙ¶1ÆK/½„Í›7£®¶SC³Ø`,ËBKK G":tèzè!¤Óiˆ¢ˆ-[¶Àãõby] ,Ó@¨þ!T{ˆÆ'#œ/š˜D„køfmw瞟ˆ2Ç*¼ZbF[[÷»ßÅ—¿üe ˲fÒ÷pu¾íBX0šx¹j›0‡Ñ‚ç³bË~[g6—yd÷À¼2–»ÊßeÍ Ù!º9ì6s¡FóÈrÕ3æôË,*ŽyÆsF¸ú˜gûٮꧫØD°ÈÌš9ãBóÈ:K׿Ó/”E}mÛF"‘@<gQ¯g\ Vr-¼á¢°}Ì\Ê«ç¢qqKÿnBÿlÛæR±·Ç{ ù|ë7læy3AêjC3ÅŠJ PÄñ™Ër# º®Ã2 ˜C–$¹ÜµØQµâÍ£¨3ÿ/!ð?ŽææfH’„h4 fF,»eÞ:^·Å¥ª*–,Y‚X,öa£¢¢bfwuë¸y PELOO£ªª á8Dã,îkøâ¼06 ƒ4M+Ç@ˆfðÌFn&Û(RMÏ®ñºwÃIDAT—Æ67ÛcΤ8›Uxv^p™#óÊ n·—.]b—ËEŠ¢ “É”XP¶’,&d!´:-Âq>ßï‹Í¹–úZhùëùI®q»Y$þbúi1mÀ}öFg‚\˲Ág³YtwwcÎ.æFd|Ãô¯HÆÀ’$•&À[úwú'Ë2E"ÎårPUÃÃÃ0ò ú à8³ QÀåra||GŽáÕ«Wcݺu(çØrD—r]ªJyÓbUUÈql¶,Š¢PaKáÀ±-$–i]Ë78—ê*S·„\³f •OÆ%»˜çY–gJ{âƒÁ,¸¿Þ ˆ¢X¾5_Ð% ë:+íAQv–eqù" É2Û–Çq ˲LŽã°išTÛvXV¯+ Èð !g齂 Î ³$IB)õiŽÅÁ’$AE2ópûÜ6–dÀ¶mÏ}Ï‚ýX¢Z³,«¸ ÉlÓ‰" D°, ÅÔ&˜¦yXž™I×uÎf³å̳³>"*P¤›&Šå‰‹º\ØöʲÂ,+ ªJñ= ÁvH¢Ë4™ 2“(Š0M“™IaY&‰,Š,Ë„$É¥¾œEãä8t]ç\.7 \HÿJFà 0Â̺NE‘iZ\kI*È-IÒL\f†(IìØö,B^Qgé_ù7!A(ÛL;DQ„$Ilš&€,Il™& $‰LÓ†$‰lYA€ãØ3Уâ½å´3m‘@$а-‹çôíB -ÏÑßýfRÙåtÁ‰æ!~îSÚçsú)–Öð{‡qèÐ!zÿûß®®.ŒŽŽbåÊ•pi:öíú5öüf|>.öô§ËÔyqª"àòå1J¦²$}}}”JgáXyh~E&¦ éæah¦ë‘£ÎE3Ã¥i$Š"dQ @–$¨ªB’$3axx˜ü~?ü€¢¨Pd‘E…$+P(nçEQ$I–áõz!€IV5¸Ý˜Anªª@U] n¯I3àñz K"Háóù ÕêI€×ç+¼SuÁãqC–D% ¥Ÿ‡®ë…û$ Šê¢Øô44·.E† Š&#—C¨f)%"Ód|^7"“Spén(²Ys#—ŒSÞ!|@E“e…DAÙ&9$ ¿¯<U…$I$IRὊ‚l6ƒá‘1ZRSYJÊJÅóT$ X,Q±dÉh®B`L’ø¼^0;„½‚ @Õté$òðéA†*‹A÷)Ÿ‰#’È ºf †‡†H&Q Ÿ!A×5D]]]…ªÈç÷CU$8Sq|!I)ª‚ètn¯²$BÓuD¦&A‚L€‘©)(.n·Š©ð<>lÇB6™„®ëˆÄâäø! „l6K%J)¯GÃÔä4| Á±(KÀçP8<…Ê ˜ ² HuiðzÝèíé…Çë…Ûã…ªÈdÛt·ºK%Û²àöx ë:1x½n€²¢Àïó‘,‰p˜¡én¸5>¿ŸÀAœé_EQÇF2•%¿ßA@vSÓQ+CF0ž„×ç%MU!€A‚HŠ"Ïä`;:Háóz€\.DQ‚ªÊ àr¹¨h©RÉð(ô ^·Šñ‰0|!ØÙ$ME“XRÂTx ¡ê*dR’²,Q1G—’©–TUÁq*Qð隆l*ŽTΠ\"м]`ÒulÛ†Çã%·ÇÇq¨€R‹ß‹ EÕ¡«"ÑLÓ„Ûí.ö‘Ñ™„+ósˆŸû”ö…œþAÄÒjªCxî¹çðÑ~”‚Á Õ××ÓÑ£GiãÆäØMŒ‚„ÖõwÐñCÏÓÅáÂSÓÐ] =ù‹ÃØX˜ =ýÌÓB>ŸÁÄð ]ŽXÙTÛvæZ¥ Ê/gU.;O’,Óè¥Kxüû¡±y-ù¼e2iŸF ÄáCûqäxÝuçí8{â8T’‰ÒYP4L%ÓTS³Š,“(J€G[Û hÁjJL£ëâUׄÐÝ~†&#I„'Æá ÑÑö*%òDK«+©ýÌIäX†.Ç^y™LÙƒ*¿†ã¯‡;BfzŒNœ:M¢æÃ~ð-YR@ ˲ j:ö÷à·GŽ£¢"H½½½¡yô;ضíL\Æß~æïIQdlݺ•ˆŠê¢ñÞv<õü² ¡¥¹G¼B†ª¨RÊãÉ_=‡x:=»çyÊš"V´¬!ŽÐs¿Ù‡þÔ,[Mn…Éqº¦Ñî§‚þÑ `jzšB•8zì5¬_»š²9cf‘Ú½ûy2² ŒL¡iy=­*Z_hoo§Gy‘H„ˆÓ“a\è¤Úú°‘ #¯ÆÒº:¸5TÕYÕˆ““ôÜž}èéï§šektÙè<{ç.¯+ÔÓÛOãctòÌyì%]ש¾¾ù|²,PwÏ0y4ÑD _ýê×èúœ>ñ…ã54,…$Jp¹\PU•:OãW{öBPX¶¬c}]xñÕ#ˆå@.;‡çö¯Îݵf.&Ûv jnêëö1úÀûß‹Ñ>™ˆ¡qYz:OâBß-oZÓ'OÐ…óݨôIôÛ£'¨Z‚l*ß¾üel‘ê–Òp_7Î_C]uG_9Bªèš MÓ¡( ˆˆ<ÿk:ÙÕ‡ªª*ª®ªD{{^yõ"yõe˜¦‰Æåˉ ýË·©®± Á`E>PúÒ—¾„íÛ·›¼v²ª*#¯×…üðøñž ‡~@€$I‚ßïÇîÝ»ÑÝÝM7n¤ãGàäé³dÚ%âQœé¸€¾Î³4‰Ð`O/²–CµK—Âq,r»Ý8yò$}þ>‹šºåhlj¢‹Ý ª*b±}öoþš¾r ßþ§¯@ ÕÒmÍ 8~²šV¬ ³gO¡ãÜ9ª«k@  Ò䋤(1~Qª¤Tdû÷ïÇúõë‹v”@‚&=û‹Ù>@Ó4ÑÜÜŒ¶¶6<üðà >˜fžk›Z16Åþ=¿?èÇX"‹ÖÖfØ–‰?ݹl›áð»ÞñJ§SXÛ´ >ö8þò³Ÿ˜A-äð½j LD<7š§¨*º/Ò Ï>‡m;ßÇõu!òÉ&¾õ䱺©O>w=°¿üñ0–ÉÂxõÖÔx1tá(c2,_Þò¦Ûðò¡ˆDb\_ß@ µÕˆÄ“X2܉sýcu~ì‰g(”9„ {‘H¦qäL7VÖÄŠ†18Ðap ª®£¯¯õ± •ôŽ ž612qlæ‘Hf!)…ªeŽã@R\˜êëÂãO> ÎNb``/¿ú*þös_‚ÏçEÛKp¢ó"—WÂÈåðøãñàÀ ZW­Blü2þó§ÿ+~þ¯?EbÓ:ƒAžš£©Hœ~ì8½çƒ@牓øþã?æÏýÏ/ÑS?üv=GƼöŽ»ˆŒ8Nµà·í¸—2Ù<"á!ì}ù Þþîw Â£!<6‚ÞK—‘žÀ˜ø‰!J˜ãaäâ+H°fÁ–$Ib¯×K²¢ «³£¨ñ*¸4‚ØÐ9d=•èDz¥Aœ;s ¡êhvkîÞ ÑL «ýªï^ƒg_8ˆêeuˆ¤š±zýìßõòÚ2Ô¼ŸàÑÉ$–øU¸½A¼ø«/Aª]…éÑaXйd‹øå¿=ɓ¡v„'§ÑÚÒ‚hxùßÿ O<ú#lyÓ& uw£¡u-Òc—ðžÇ?|ýs¼÷W»ð³áï¿úøþÿùœ¼Áñw寧<ú-¬_݂ѡ~~Ó›PY x<޾1зoÂØ@7ò6cÓúÕÀÖ‡Æá#¯bõûv mØè;ù þïÏwã+ŸýT…*ÐöÒ¼tò,K.‘úŸà…€Wû ú§°û×?æ¿øôß‘™69 ã?ø)ò¦ „÷Æ»w܃¯ÁŸ}ìÏðýo?‚œ$âÐñn¼{Ç›ðü ¿ vîÜ CÐÑÚèÃÄåa´®lÄÚ wÀëv¡ó–7Ôaxl#cÓ÷ŸALð ™„ظ7M\C…ßËŸùôÿ€§q%FFÇ‘ w`×±Al½û¤R)öz<ôo|ƒmÛ¦¦¦&4Ô×#žäîKc™œ@8<Í[ÁùðèÕß‚3=Ξ¥!:ß1ŒÖ ë°¬izÁ½¡*2ÔÐR?ö"z‡¦qêÕðWŸþoøéOŸ„¥xðÞw¾ÿ<<‚›×ñ¿ö ø~ †ÓØýÔcøÈùk~ùÅCtábÇÁ‡?ò!¼ðÜOñËŸïÂÖwþG|ísŸÁ©Ó§gªÅ•唸œÏçqçwâòåËü½ï}>Ì;vìàt:Í ç!ÜþoÛù.þÐûÞÆ^]çÕ«×ðŠÆåXÑÜÂ+W®Ä²†nm]ˉøVß±…]¤Àa§é¸&p!!“JáÞÛñÝ=u«—"›É²+´œ›+T|ñë_çû|§NÂèèz‚çm[7âgŽÁ_­ãµ—žÁº»îfYQ¢ÎÎd³Èf³È™@&†(I¸Ô׋–ÆÔV/Åò¥!d³À69žˆ³aœL&‹Ç cýêdóØø8vï~©Ä*<:·¬hdQ|šÊVÑw% „X*Éè4r†‰d2†Èä?|÷í|âä)¾<6ññ1y“K¼qš®CQU® q`ÿ>†èÂÅî455¡~YÆF`Ÿ:yÓñ4V77ãÀ}lAFmm/ Uàâ…Nôô"TU Ë2Y–%tŸ¿Ä.¯Ž¾®sXÙ² •> ]BýŠeh{ñ5öüÇøø8{¼^~ϻޜ‡}…£Ž‹ã¦i"‘Hp_o/÷ôö¢µ¾~€/õvàì¹¾ØÝ]4 È…í§(Š\[½„ûzºÐ?8±DÑH„o_»Ëê«qþBg“Q–$‘+~^±r%'ã“è¹Ø UUNgùí²¿ðùÏråò;85Ñϯ¼x_øü?ò¾ßìBxä{¼þ=:W|Ø·o/EÇùŽl|ðaßÿ,N÷„±yãz>´9X±¬{÷íæ "èÃÈÄ4KŽÎóYqého?‡ÖU«áøÑÑ~ ^Má³gϱ¬y|šÛ;ÎCq¹1†?´–e²$Š˜ŠÆƒDñD’é,îßË&d†ÏàË_ÿ_ø×Ǿ¾ó'‹Fñ¾Ûðíþ'<úýÇñò¾g01Ò‡ûïÞÂã—yxd˜ÇÇÇàÒ<¸ÔÇ ä¶X”dèú <ç’îî€ )Ü?0ˆÎã/âëûXç&nnY…\6…á¡> …íãH,ÁRqÁ[RYÁdÈ;À±cG1Ð?Â>ÕF"ቱ0–„B° L‡¡ë:4Mc"Bcc#ªªBèj?É ªêbØ6¦ÆG ±ÛîyoyàAöè`NóÞý¯Bs©`òù†•õU8wºå@=ª°-‹rù<ª^îºp‘–ÔÔ²( $IfÄÂcð‡ªQ[WǦiÁ¯‰ôô ø©~ëÞ´“¶Ý·÷Ý·Ïí~[î¸Ï¶w`hx˜Øö¬Zµª€c¦t<Œv†{îá\2††úz:q¢ .=€{îÞ„}Ïïá¥+VaýêÚõÌ X{×ÝœIÄhó¦Õ8|à%°ìæ{¶ÞCldá8Ìn¯—b‘g²Y2MçΜƺ;îe'ŸÆäĽeûŸð¡C!Iy½´´®Æém¼jÍ*ÌK’„©©)ôõõ•‚\bQ¶,‹«µ÷sKcV67óÆÇK‡_fR½ä¯¢¡:ˆT2ŽS§;øŽ-Ðå He²h]³—.vÀ´»¶ÜÇ`ÉŠ€§Ÿ| ÛÞþnœ=q-MËqþb2©î¾÷~¬X±Žã03Stj”÷í}·ßw²‰j—.¥ööN®®k 5Í5üë_¾@­›îàuAì~v¶<üŒøOå±|‰Â—&iãÆ ˜š…®ëèì:Ï­ko'¿˜Áé ý¸mÓ]°¢Ã¸0<Í›6m¢³GË[v¾3‡v‰6íÙ{Këxdx˜¶½ùn´wžd+ªÑÕÝÃcôzÝí‡'°}Ç[qòÈË›Ž°"U5TW[‹ Ýqdž5èìèd–\hY¾gÏ÷S]m 6lØÀ‚ PqA¢®Ó¯a,iã¶µkˆMaüòO'’ذn-¥R)¾<ƺõhýš•èéíƒmÛ…BÌÌÈeÒt`ïÜ»m;2Ó£Ü?‘¢†*?bÉA`QÖ1Ô×Eo~ø­¨«©†mÛ»º:Ñ}±‡ZVo„ê$¹£»ŸÖ¬ßˆTl£ã“¼qã&â\¬y ç-]¹‘—-ñÑéi¼°ÿûÝ.ly`Mt·q{ÿ0j«B¤û‚h\¾§NŸá·½õ!:yò4G’ºmíœ:}Ü?t·»`Ýq.G*¡Ñ¸Äë–WÒ¥ánkkÃ=÷܃ššX¶H²ÕÊéÿÀdr´ò— QW[y3õ:´Ýt·Û²+^í}­ðú‚¿13dſσD<Ϊ¦‘aäáÖ5˜ù<’™,*‚ä²9hšÊ±H”œb²g¡~‚Ms!›ÍA–åB¤,oÀv H$01Ʀ ·!šH@×Ý̶‰¼iQò‰`ÙëšFù¼QLÁ)¤/"‚yäó& EÕ¨ÿüYœ¹8È÷ÜûfZÛ¼ cãa„*+‘,óVd™’ÉD¡)ƒA‚$Áçõ —ÉTÈ‹ÖÝn0ÛÈdrðz½læ Ê&|~/Œl†‰Jg ø|€¤S)ð•u…dY@T(®»‘7² pôØQ=zŒï¼óN<øàƒÄÌȤ3p{ÜœÉd®ª~&Ë24M›‰¼Û¶Srܲí0¹‰s†AFÎ(P‰Aðx< ¶É¶l¦I’ ¹\ÈeRe¢(ÂÈe +.!“NÁ)+hªªD<îö"›ËA×5ˆ‚ˆd2"9& ‘Z^¯›³™4@LÓ$·Û ËÌ#›3á÷û`ä2œ7x}Êe20ò&ØÎCóX‘Êd2‹MÓØÈeɆݥ"›IƒD.EâL&C¹¼—,ÀtŠÍ%¿¹\–uM§x2 ·®Ãq,ä º¦AQTd2)(Š‚H$¯/E.Ý,+Ã0 ë:Ò™,4McÇ2aÚLº¦Â0 d2…ñÌ€îvC*m ˆ"dYaE–J§ID(ªÂÙl† #—ËÇa*;‹¢H`ñhЦ³"åò$I„@Û¶ ºtÄ£ØNAÏ™™UE%—æ‚aäÀXs©”Ëf ª ²™ ˜DˆÄ,+.2 ry @A‡~?lÛA:•€¬¹Y•%ضS`žÊåàõz8‘×ë…(Òé4¼^/bÑx%‘$+P%p:›'Y’ØëóR"‘,D•d³•‘0YgB<:Œ”³ªò»,©ñï87§hÑšE(Ïë]DI„$Ž‚ç*Í©ÐÖ®Þ¶råú£s€fè»nä(@À†qÅË˹¦þ;÷Ìpxùxûôòñö€CýãèàâB$!ŽRÇ)ˆc€Ä1@ â q ‚8HA¤ Ž9ÀÕÝï]Ý}‹8æ0‘PÜœ‡8æ·?}ÿÜÂU]G¶„6ˆc6·ÿÛmßÿ;²åÑ­„ç‰c3Öó Ð~yº×ßòǤ0Œà~ŒŽ.†(qP/qÌÁD'tÄ1‰L÷‚‡=è±>µz15Çàþáí«û‡þ#‘>r?j§7¾%äqé^yì© â›ë×ïo®ûÿ>ú¸àxâ Å €¾9ú8‹<5\s9ÈI³“R!xu÷âÃÕ"íQ¬HA¤ ŽRÇ)ˆc€Æq7º}ôÁo«í6¶Ý:mlIÛmì·ÎUyTÆD7Z¥X‚8HA¤ ŽRÇ)ˆc€Ä1@ ☠}zsô@yâ q ‚8HA¤ ŽRÇ)ˆc€Ä1@ â q ‚8HA¤ ŽRÇ)ˆc€Ä1@ â q ‚8HA¤ ŽRÇ)ˆc€Ä1@ â q ‚8HA¤°0ޝî^|¸º;úà·ÕvënÝw¿¶ßÆm¬]¿u—·O/o>$ˆêNß¹çmÿ¤ßçœ_vœû[œ‘¸œÞÿض{÷Ö¼âvGûÍM…œò‡c†ïj<â§·Üâ#mlŸÝã‘ã¶:òܵcà‘ðê~ZªX1½Ÿa¼Žm3<æÈs#Ä1Íê÷YöÝῳ9ê8—½V©#Œ|l±çÅ šé³ Ÿ[åë+ {ñÞÙôöÃ}Fz‘ñãÜGüËö‘ó´kHsRÓuÀH=tMÅ0¾Ÿe¿ÞkŽsn¬×e»ŸõÃÅâ˜S‹ô§ƒrn¯-Ry,û•¹®Þe¼]k¾ l÷‘£w “³ÿ;ü Zÿ½!þZÓ[–zßÄ1|ÅQ‘”3 ·hc©ÉpeE^k»9ìÏ̬¨ý Lžácƒuc[®¹ ¥ÿÈ9צ[½Å{ÔÛflºÛz—‘Ïø o÷¹QË5Nl-~&Ü?¼}uÿpsýúýÍõôÞú¬ŸY1v´™‡ÈŽúýZE_Ù×\²Ýц.’Îùµ‚sŠœcý Ž„rž#çÌŠ]rίZäÔß AÜÄL åÅKï¥.ÛÛ²)Añ/Dû/eÐ)0³bYE,¾TÇôžã1=ýZêwž/¹\Ýýþ×ÕÝãíOßYßìŽÁG#m*V¬8vbP©ë£:ÃÊãþí¢ÓEp÷÷ÑÇÛšÑ;»Zéè&DEzñÝ69+çÑßcûã°§ÅŠZ¾<Örœç$‚avgëÇkǦe#‚¡oáÍ™2DÛšKTútD©¡¼-"x=Ä÷³ìÕ3ü‘{å²&Ž·Žàõ7î'r}é²ïaûßµZXBˆMlWˆ˜{SŸeS-§‹rñç–‰OÛÄ1Å䬗]Ö}M¤Šf¦‰cVÉÁŸg«agE¶ Ž™ax9F¶.Kì²'qÌluEðšYâ˜=‰cf¨+ˆãÁ:7‚MSc ÅÖ¬€ Ö,‰×¹·£?úý &â˜ÊLß8>|·~ŽÄšÛüÀÐÂbÅyVتëëùtkì=Þ>]ŒOÛ窼±P.ÛËæ¥mâ8D([Ç3e`;æÏÖe5åcŇà–-Ç¿—c|^süY럻¬uEïx!=åc /܈,г~ Úpžr|Ò[üYkÚßÈFïx•Ï¡¼Õ)þÿ_Ú¿>ç»_·iëþ¹Í~çŠ/nYö¾0sÕœ»æòôžç¶qúUê å¶ûòýÖ‰ãUö¹ÕüãíÓË?ÿŽo½]K·kã¼wcéuqkî;¾Ålâ±p,—u…ïP«AŽm³uÍ´ö«òÈias6âxlÍ£ß(C±‚jX`“¶‰c€Ä13œgÌö'Ž™­ eÑ e™wÌ Ã¡<È@)â˜Uú,ša qL1¢ÖÇlB4Ã\†òØ\ÁýÛY äÌôŽÙÕX¯¹/À°?½cÓï57޳ÇlXYF°Pæ Ä1‰LÇ®P¦mVt#©ñðýåËKÒ"Cy$56”wu×ýÖ(V¤ ŽRÇ)ˆc€Ä1@ â q ‚8HA¤ ŽRÇ)X³ªqu÷âÃøzÓË*­n|Ù¦áöñ=D¶¶%¾ç­Û¾†8†Ôú!2 ÓQ;wÓÛ¬ ¦5{˜>Âé=¯ùéž+¦ÿûÛÐvënݧ7í·ñKë£dz›¹=ß5m™»‡~ÇŽ³{¼ìÿø>çOÿUÆq†O’­µÝƶ[§²ý¾añ¡ìÑ–}Vü‹ò}Οþ«ÊfXR[ôdKÛ±Ä10[©H-Êm¦Ä1°ÐšP^ß“í^·TA&CÏZCãö’Š[è‘y ñcëÇúÖïÒ4q ÍšÛã[?Ô¶&Ô"Ï̲XÖ"½càýþãX`E.ñ˜~îú¾áš8+uyHdñ÷m—> îêîŇ¿}¼}zùçßGËqïÀÒ)YGMç*ÛÞ1Ë®KŒ¼÷o_Ý?Ü\¿~s½]KÅ1•Çì©Ä[‡²8¦2â˜V©CS²ÕC‰ÇÐA\;q Px¬8HA¤`ùy`ÔÕÝïEçüþô½RÉ:âøB?‚ã!»ìYô‰c @˜öŸ%š—Q;†¦tó+ºëÇ"ÛocÑÌ4q M^Ô;¶åÖ}X¡<—8†¦ôWTˆ¬®°u1A±"ΚTãÅ¿~ÕÙÓ¿Ãót}Õýƒò¨×­…¡<ª×-*tôQ”Ñ-´×ý;º?ÏÏãít©A¼–¢wL5ôŽ×›Û?®/¯™'ćԎ¯ˆD­Áº²Ä1ÕèzÁ——ŸÞtÿÖ/ÞZ¤«Ÿ[Š8HA¤ ŽQ‘аªq)âøŠÈ0µ)Ê2ÑÊtsr·k¬™î6dŠ[).ž!@÷¡X§ÓÅëž5_ýâq §¶u(è‹ÇpR[_Sg o.q §¶E( âe å«n­4 q¼ÌÂ8>Ãd£²mŒ/™yÅáÞ–=+òÜîY?ÿð¯ûŸˆ,gž‡³t™ùýå_þˆyÚ˜G¿uæï$rJõãr¸eä§cûûidŸý îßø'ó;Éžü”¢vœÈô Ýýtl›ÏË„Ï[¶<òŠï>þvóîc÷H]½c¨‹8Nd‹^FdŸË¢(ËPÞ®¶Ž¼ó|atYíÇ»š[ó;Oý®ßFªh‰8>X¿P07L§â–ÉÑïÇÜc^>= ²Q;N$^ʘÄÓ{î~Z{í¸‹àýWch[ÿܨý ÉO§ï™öûÑ‘gÅ÷\cïøkï ^«¾Ã3M(oG'2=Ãa}ux¸ç6*Î]÷÷+Öû°¯ý<ÉÏe (uEß²kùrR)>Êð#¼õ Ä1ÕÁ9‰ãR̬ 5œAÙ9<ŒǤ#‚óÄ{Ǥ ‚³Q‚ØŸ8æ`‚8›~x8ü[ãR«µÇ¬á†hÎ`¬GÜ_^5ÃR«í1³‚¤Ds-”5JÑ;&)ëQp6☠ˆfÎÀEÒÕ˜»ÀPdÙ—×.d Ú Ž+07ˆË.û’9²Ç¢Y@S#qœÚ² î?¾l€e¸¦×ÑïÄó,t¤OoŽ>‚ˆãÔ" i.[%9²M-AüåñëS+CyXsÒzƒØàmÇTÄ"˜öˆã‹ÚZÖ®Á´Mí¸¥î†)kìÛ.wúà,Äqõ¶¸Þ±¡,‚9'q܈±]©{†²K¥¶lݬºî‰§" ½ã¤†‹ÆŸÛŸ­œ9ˆ?í××£ yFj§wL:úËuÉ<§.&º‘ŽõÛ8'qLj¢™óÇTC4Ó6qL•D3íÇTO4Ó†…ÝÎ0µ¥í6¶Úº/£¹Í6öicíú­3ÑF ç,ëïÃD·R+¨˜Ò-ÇTFÓ*qLD0g ŽIJs6☠Ä8æ`zÁ9Í]]/¾½ÿå1&º‘‚Þ1ˆcÒÍœ“8&5ÑÌy¨“š{…d£F¼½c*ã’\Zå^y)(V ©ì—%Ž…„oYŠ)ˆc€Ä1@ â q ‚8HA¤ ŽRÇ)ˆc€Ä1@ â q ‚8HA¤ ŽRÇ)ˆc€Ä1@ â q ÂåãíÓËù÷‚½º{ñáênÙskÑv÷oÝð&ðGiéþÇmŸ¥ghc¿u 〲+RÇ)ˆc¶OMùþáí«û‡£Û SÄ1XÙ]ß\¿~s-”ÉÌP)t;œó0ö8´Gua=ÝwŽlˆcé‡f$d»^s÷÷pûÈ6Ç7G\\|¾4c—cå‹á¿çnÙˆcª©&«8SÅ é÷‘ÇÂ4RvPš Fâ˜*õw,v#Û@&º¤ w ‚8HA¤ ŽRÇ)ˆc€Ä1@ â q ‚8HA¤ ŽRÇ)ˆc€Ä1@ â q ‚8HáMZKOÀBtEXtsoftwareImageMagick 6.0.6 11/29/04 Q16 http://www.imagemagick.orgÝ<Ž‘tEXtdocumenttmp.tiffý òüIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/gparts-ss-packages.png0000644000175000017500000016560413634703632020655 00000000000000‰PNG  IHDRú®žìð£sBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœìwœEúðŸê ;;›Ø%‹‰’Ã’A@2‚D³bºÓ;Ϭ?Ït§¯wžzzžéÎ3¢`‚3‹äœÃ‚dA$HÞ¼;»;3]ïÝÓÓyºg§fz—ç«¶§ºÂS¡«žzªºšôÍï‚ ‚ ‚ÔGÜ@S-‚#`W „YÌ‚ Ì¡µêÅXt­Ø©"‚ØÃMQßg /‚ u‡õbAÄñp©AAAV¸)EK ‚ ‚ ‚ÔOк ‚ ‚ õWófM“œä˯þ}á‚¥INA |39Ÿ`º‚í´&÷ù¶D—Ô¼ªëÀ÷ƒ_yõù{ïùcª¥@ºãlaËùÓäÏŸœ"ú` ¨ÓèÄùÊkÏ¥´ººúÜÙÂ}û¬X¾ª¼¼Â<®W^{þÞ»­iÌ©h5ýÛŸŸzòÙP($wLOO¿ç¾;^{å?V%GAAºƒ¡uÿž»¯×Û¤Iãûþñ‘û_úç¿ ‹Ì£³h¶·eÝ'‘¤Z® N«#§Éã°d¬žÌ³aý¦N:׿ûý­+W¬yì‘§{ô©S§OOŸ~9DTü{îzH¸0ò&Ю}ÛgŸyñÿ=ùLvVÖeÇ™ûŸyã5ßÍ_ôЃzå¥×Û´i-8Ž;ªe«Ï?÷Òc< §L3 G?w¶°W¯î’K~ßÞ¿>rúô¹7ݘ÷íÝß®}[hÐ çÊ+§¦¥¥@ûöíöíÝo±AA$ùž»¯r/))ÍÈð Žûë ¢k |óÕwOýõqɳ<”‰·Ïþ÷UYiüoÞ—÷ÜwÇW_~kâ¿&ÌÎÎÊÈð}ôá\ÁËÀÁýÿý¯·ŠŠŠà«/ç?úøŸ~òYÌÜ.^´lÊ´IÛ¶í~Ž5ì£9óTÂëÆ¼oïþ¾ýz¯Y½¾oßÞÁP°OŸžë×ojסí–Íøá‚ºvåëAAz„Û¢¿ì쬊ȫºµm3eêÄ–-[x½^ÐL $L¼;W(]dgg™ûçí÷'LsÙÄq@à³ÿ}µ{×^hÐ çÏO<,E¨‘A_¤ü‰ò|‡Ží~<ðSçÎ***ùåU(½˜é?^yÕTÚ·Ÿ9³?7nÔúõ›.jÓúÃÙŸšâxP¹GA¤^cUÝÿfßÞ*ŸÏ÷‹Oë1ñÖ°aÞ™3g…‹ÒÒ2sÿG~9úæï@×®¯»áªÇ} JJJ_üÇk%Å%v3¼xѲÑc.ýñÀO£FX²x¹ÖCIIé‹ÿxUsuuõÙs…½ûô Ö÷ìÞ7a˜î=ºž9{¶¦¦Æ®‚ÔΫÝAºJŒÍ<^¯§IÓ&öëݧç‹ÿxMtôx‚5Ášš`Æy—O¹Lòš4itꔸÞÈL›q¹`Ÿ>còÖ-ÛÌ£½åÖ,XræôY ”ã8Áqíšõ×^{ż¹_5kÖtÜ„Ñïýw¶• ïܹgÒäËúõÏÏÌÌÜ»çe–!ó•Ú˜÷îùaúŒ)K/§”nÙ²íª«§­\±wò Âì[AÄ`hÝÿ×ë/RJkjjΞ9·wßþçžy±,r®Îœ9ŸN¿bòoón*).Yºte~~/Á}é’•|äþ´´´»þð ‰7øù§CÿùiiÞíÛvÌÿv¡y´;wî¹íö›7ntêÔé÷g}(8.^´|ÌØ‘÷ÜwGNNö©Sg.Xb=ÏK/Ÿyã5Â)CZŒbÞ·÷‡Ë'O(غ ¶nŸ>cò¾}øž.‚¨Áo:"‚ ˆ£ Ý»vNµ ‚ H]Åü¨o<ÿAÄ.FýjÜ=ªŽuÿßÿù§I€;ïx ¾”RŽI¾ên¦AR *ô‚ 6‰Ñm&¼_%Ý» uAÄ€ï®"’pÛ R§I¶•ĆAêØU!Âìizˆ6cX—ïùc‡@Ã1‚ ‚˜ƒëˆVÏÝGâ…°×øÏ“g; %‰ ‚ uG ܈S0;ÏAÛ7øY/Ø~ ⨳ˆmÃb@ûY>ÏXØwÌÍû¶`>¼ÆŸ€Õfí¨ñ˜ùjûÅ’{WÜ¡bbYÒnüöXûi0‡yG¤ŸjBÏÝgþè;j@‹‹º{&§½}Ãi¯4ÖC8ó²?€0oFu;þ8Ö=Ó¦˜IRZ”ã)²3K‡uîNë·80†½i¯Îw¬1é‡ÜÀ,L—Üí›CØ.Ós“á¼Ëæ»Fb9i•ˆu£Ó'ñö'•(ÛVjØþÓþNy{8lW´ý¨YÕì—¨Ã4âÚÆà4ý4Ž‹ Ë‚^D:ul"b\­š!qvûLgŽ3]ÛܼdË·íèãI&)"Ù[KÖO–’Dž»o =û;´¼j?ÇÌ·…QÛ!ìB˜w0Û¥jÕö› W±MÅŒ‹Ôyï:nE&ÝÎÞ®lßWpÚ3ߣZQ§n0×)ØOÏSÇ]m¢Xˆ¸º¦:«I‹žƒ;?ýßµúMg·ÛeY­D&nöê‚õ¦§Žùö¶`Õq›ŽÍ&Ao2€„½»c½Ã¦uñíôH´ª¸ãØËn;ó ¦+â`¿o㣋Œw%¡c‰#…Úm]Ž‘ ˾:Žñ•õcé´ÁÏn۱ǗaËïÃpƒííÍ‰Û ê¦4¦Úm]21¦+ÍðKìàš›”ÒªêЖݧöü\r´ÈU97LèözC‡?ýîº?ÝÒ>¿ulN}Ï?ÓrÔ§ÍìNèØÛ€oQ¥¬Otš (NœÔSØ%‡ ³Åâ;„T~ùa%¨Ã² É(¾ŽÅA%ŶI'!£ö“`ld~®^C9ÆÍÎ`3^ÕM\Ù‰½…+Í×£[¯‚­ÛbÄ­§ëoÛsrÕö¢PVÛVº¶ÏËÎÌôq.ާÐü‚†¡þÞ~Ýã7]d]ãK9u½žuojÿ”Lû¬í ,a}‚»H‚½+<èÍyÍÅ´½·ùji- (v­$£–‡åš…µ 6­ÈJ@§"ã´= q¤àÈÅjÖ+ÕlIÎws‡¨Û°Þ.d_‰5±î­ýYKažÿùð‘s…E…Å%•oºÁãöDÒ¶š1žçWl:ºã¸ï¢ÞCÚ¶nB á)ð@Â<„)Pš6k¸¸ßSo­{òöŽ5~æÊ©Ïã³–'Ö8IÕ‰ãcsöK´öæôî€Êx²ÛŸéx)žÍeþij¾ÂØÈÇ\a|äã£yØ÷‰É8ÓÜÔæÊi“dû–¥óïܸ„#Sg Ò?IÕØAÀ]{¯¼¢bÕ†­¹y [µn=ä’Ö………qDB)ݺûäöcžÞúäæfò@xJx4~ @Â<=y:°¿`Ýí—¥‡‚!·ËªßavDÇ=žÌ•_§ÙCœVɰ³2n£¶5Æ“߆ç“ÙŠ<þ0,I\¬Û‹?)c8kMª®kjŽk×vÏk²ÝJm¼•:­—‡UqjËÈx `¹¥‚ùâ¶AôÂÉ<&«Š1mzÁ`páòµÓgÌhwQÛ† qwæÌ©§ODcˆ‘3 ”Ò²òÀªí…-{ÉÊö‡)¡<œ:[~ðXé©Âêq—\wâdÅöå ®R“ÕØívY®ÚלiŸ‡æÅòy°ÿgGƲÅîÆqæ»GãxQ†µ‹$¶Ç°(‚aŠì·w&f£¹qöMRñ|àÂfü¶ÄÛ­*Ì7µ9í“'Ì_À³ ëÝH`»™Ú•ÆykPì§±Ž[’± ã~m½ÒÔi2NAfتM†¹˜ŸÙŠí®}&Mº¼s§‹=ïÙsgB¡`QQ¡Ö›9妼¢òlaQqIiqiyqi©ÇãÙ»Ï/GŒ5»è§DÅs÷M9[XüÓ¡#GŽŸhqÁÃG\Ú°a£ªê@aaáÞ}{BÁí™™YM›6« TJÍÈëõ*1Œ\º ËiFZzZˆ‡²ÊàÑ%W_œ×°ßŸæùßOÎôûÓsss\6¶ìÇ‹m=ÇY¶_½'ê^šbhÕK“F¥ ïZÁ°^ìZCœc½ØtÜìŸ{i¼Hm£'nŒØUÂé•i,ùm‘ð*Ž£ôÒ #J{u# Ž-5 sÝ*j]F6'™vÓÓí{c<5ÆiXOÝ,‰¿×f#iýMól¨YNT¸»,‹d‚í£´‰Í'ÍæXÃ&º/²:†D6Wuí¦iKXá N•ª_ŽýúÓ¡_Â|¸S§‹Çwëáõz‹Š O:yúÌ™ŠòŠªêª@ee8L‡ \UU-tF„t_ºB. â„Â<WäO”N—ÔKO÷§yÓHºÏ×´I·ÛÅq®S…UÎIÏiyŽƒG÷üëî4¯Ç#væ‘Ú?>)Ã`êÇ Á<‘äSû C¼$Äbƒžu<¥í*Vâv¬žuƒØµ\Ë é%¸2J½•"™³½LÇx‰‚ýšÃaˆI¬_NÉ«q¦éY´Öˆ$ámrÛGm$BžæÉ/Ü+`þ¾·Íø¦›(ÕÍà‚e«›5oÖ·_ÿ\·çäé“:tôø±Íš4ÊÍÉÊlž™qààá’â’¶mÛ—” ’5nÒÔ¾hÔÏ•ÿt´¤Œwq.·×Ÿùó¯¡Îí)u»]n· Âáðöýe-zop¡ Ð9¨(òæÄR÷-Š ¾´F9ÇL: æv§™BMm3Çüx\>˜¶5æ–(›ÞcP{°ÿÔÕl*¨ûº™›={VNVÖMõ7’ã8#oé÷2àà‘c«W.-,.© nºqfYy™eÀãu÷è˜½çØžêò†éi>—Çíoà®Ì转˜,\&œÇ—••ÞÊ—™åqyݸÊbÈ:ùm羜ÇëŽ]5¶›S«ë­j6׉쟢óËûû;íUûGÍYG$'Îm>•Ž««eJ%ï,û¡¸ô§™NW³óVL˜×@ìw¹T°m¦q¬ 3^íêñi³:©˜%ÌÔún0~'ª”ín."‰L\Ÿ¸ Lí¾‰YI&„¸±ÃO)ð”×õ#‹ Ú¶¾°më …_ò’?î®MöÒȱ½n·§a^N¯6%kÙçNïãÊñr—+ÝãËóp.q»9—‡¸ÜœËM‰«ºŒ¬ØìTnƒ†n—Çüéf¾ú–’7eL¢g-2pÚN;æ5l?„íÓ2uœv”Ý—N[ïe]Åv8lýƒ¹1œUeÇpà(ïɰ¥Ù¬²xTGÆó¦æÏ8pX7ìkÙ 3¾Qê6’TRÓ)¥ÒùVªk Ñù+!DøIªÊË«+Ê-¤.&Á’é÷÷¾¸QIùѽG<´U~Fž—#„!„#G8Žò\e1TXÛ%m]׋223Ò9bÏ{Ùvq Ä* ÓAØO")›U´`’ EÇæ”‚u£sà> ö æ¯áØjFö«€ñ;ý¬ÊF.6Û§ ® fº,é´å†8¨å“#;¬‡{ÇÁþñÌpï/°C>m3êä¼@‘jd¹ÔÌÐâÌ¥Ämøˆv}žRÊ Z>¥‘_‚¢N)J€}Âq!!„à8®ªªÚJ{!^'/·ÁОÁô½w<[X6Òß$Ï—áöø åI°jjhå¹òôc_ôjx¬GûŒ¼Ü\Ç ¶O‘-‰=ìw0ŒÚž¨ˆ3~O&á Û·¥™Z%Þ©>»<Û_<´9?`½æÎü©IƦööz†Äó-NGd yBPÍE,ظawC\}u-ÂZ‚ék™ì1:¶"˜ßm_Ôù‡òªê’ò@›æÌr sãy>¨:WT|âä¹}GªO”e”¹Z‡Ò/—Û[}<;|¤EVi‡  YÓ¼†¹¹éé>ñ‚x2g8}?É&†tÅ-g¾B‘P£Wí³”ŒQ´v '@f¦EšØ!'!ÇKø"NídrÜ^|sbŒ‰HÂrºñ£ÀfßÎt1 FqH+‘”>‰ßEmádËZâ¸9œ¦J'û¯ÆŽÐ7ì®§‚#ÀS „ŽžPŽR*ü##DTù9B"¶} rü¾éÖ Žã8¿?ÝíveøÓ7*+++¯ªú¡&¸ ¼ÏçËÊÊÎÉÎÊÌð{½^bÿ£ë²¼™ÜsØ>d'É"¡7;´ÂýG#ÖŽ-;0ÞÄKãJÃ& Q—Œ‚:¥wŠ’èÇ ñ%|–_+™¿h5ªöÄ1dÚŒ’Э$XþZïÓpÜáH‰_²Ò¹Ÿà\SÝK«0¨µ¬­NÓqß—Ö:ÂDIä6êEJŽ:G)Ô|¹OÈ>þÈ~£™„,œú6דãÎÎÈH¯i” …ø0œ‹s»Ý^Ûíöp±¾”NL~éÇÆvûØÜÚâÀ}p´V©ÄÎP\†bÛ£N-ŠÉB’°oœå@«ßÒCi­ÆkeŒkÈdî¾-ìRÞƒ[ˆß¦<À¾« ñtÖvâ·×Uض:8nA,U³Z=eºXÍvNg¿ ì~¯Y±?”m£‹G~ÆÑùTFØS÷àïÝ—= ò÷qMc³—qÝç†qqÄåMKó¦Fo9jò+%°Án_”„ÉuRçï±Srâù} ,duÇ:~ÖB$œ¸bw@g"£vНµ°lsœ„SOlÂ8§\ÌWJS¾£ŠÝaòÄ•„óÎÀ²E2T›$a“éüÀÈ;¥îmžåLÖöÜ:®õL›œeïŽ%&mÛEÊ~¦É¼ì¢+Pâj‘šÚ}­¦cZ ÌßDµ£:lÖgªÄ•„íe7Ökèö`¿ªç¨&É1S8iu’0ø9o› )Œ'? IÕ¼ éßd¼ cÏ·ý 0¶¥39™±k²É-¼n›¨”lÇœvÄ!kœh}`œŒ]ë»ãŒ‰È< ûg€$g#âÙVÁv‹ëék›—ý¸í¯pÛÅY1û"JŒ7žØ%Ž OLOu³»%/F 'DTÖ[IØÃôaÛÄ¡C9ìû ¶—Ð ÍûÂÞýµÖ»àâ ^íl±‚³¤Ç QvIè†bƒ——i¶œoùƒ ³0Õ_¦-Çõ'gÁz?U2ömØÅa"1.#Ç59HÆ6A¦ÞM¸m[ÂŒ!ögEÌÆo5Úßpj7~Ö[ZY¿Ú GaÂþKŶIàÎ =G’øóæÔ)8ªHãy†í<ñä–°ýzr<›…´DàP]Êö-ËŒûRÇí»ÖÇãª;O™•MæãÓvx±%ޱ2ž"rÒj€Q,TØÌ“ œuT…kósk} ›NÝ1d æ­ÎQ¹ûm" {ٙƄ`:°]Ì7 ±¾>Àú=ÎúPŒÕeæUàÀ"eü€Ӕ÷8rËÔ[ 0ŽÅ™““¸ ¨eàÄÇ1N˲ÓäAœ¶ 9ßH¾5;åE=èèêA˜RûV]ç”®8·Y¸.XWHAAAœÙ¿{kªe@„-UUÝ;¶;{šçùTË’08ŽkبI·ž}|¾ôTË‚ ‚ ÎÅjaξÝ;Úvè<ýê[]OªeIá`p{Á†}{vöÎjYAĹ º õŸÓ§NL¾âF PS]•jY†Ëåî•?pëÆU©AA»¦¦ú‡½;++Êz\x€’îÏ€@eEÝÊ{ݕܜ…IáyÞåöÔ']B¡ 7ÍÇóüÆu+RUwõ¦ýBü™wéáõ¦¥ZA$Á¸ìÛÅq\ë6íÜn7qä9´, ‘º` IDAT”†B¡sgϪ*ëVÞë®ää|(L!E……à/€9ˆTÕ]½i?RFü°»[üT‹ƒ ‚$wyyY«ÖmáP ²"ÕÂ$oZZnÃFe‡Ö¹¼×]ÉÈùP˜Þ´4JyÐt­ RXwõ¦ý9úËÁT ‚ ‚$7¥ÔårÕé*>ª«ª2³²hu]ÛáPw%w çCaVWUuæ‡ðj‡ŸÖ]½i?BFêëú‚ ÈyŽ(©‡z€(¨›:Pݕܜ7…Ië£2G!ÕuWoÚ­“‘Aظøz0TÅOêæWçê®ääü(LJëáÞ}1C©ÍV½i?|=È‚ ¢ƒxgýÓ¬Swó^w%w çAa2Ù»?jì„e‹$mêd£ªkj^}õ߫׮óûÓgL›úλ³/øxžŸõþì‹–TxྻÓÓÓ`ËÖ‚·Þy÷øñ_æå]wíÕÆÕÞ¤îÒÒ¼í.j5qì0ëOݲ5j?ÕÕ5+ÖlÞÿãÁÒ² ¯×Óºåò{\ÔæBë1a·Í[ô/dA©¸ô7õ•¼ÿїÆô4n„×ë9yêìúÍßwîÔ62²CØ §=ñð  ž+,ù~×o¼ûé-7Lo“•d ©»’cѾ˜x3d¬Â¬eºŒì¦v£¥ATŽ”Ò??ù—;ïøÝãþ1 ÍžóÑo½óðCÀì9þòË‘×ÿõŠ/Ý7çḛ́½ió–_zõþ{ï4p€I ³ÞŸ]^Q1{Ö;ðÏ—_“Rÿ蓹~üéõ×^ÎÈð¿þÆ[oÿ÷½»ï¼žáŸ÷Üý‡ýûøÑ'ãÇÑfʨ(„º«¨ ,^¾î›…+¯š6ÞFYÙ*[ƒö3ïËE¹ ²o¼vJvvVU êБã«ÖmiÓº…˜"žuÿhßG©§'óètó+×n2°wßÞÝ„Ÿ-.hzåÔqÂu(^°tÍÞ~€®·?ú·Ûùûë—¶~Ó÷eåy¹9Ç /**Y³¡ ¸¤¬I£¼©“F5iÜPð6zÄ  ›¿¯ »^Ü~â¸á.— ŠŠK-[{øÈñp˜¿¨u‹)GeøÓÿÇ_»q[YyE“Fy“'ŽlÖ¤‘à.Œè<¥+VoÚ¾s_MM°S‡6—¿ÔëõÀO,Y±þ\aqVfưÁù½{vÑä2Æøæñxš5m4¾éP_šwÅšMÓ&ÖM.Ìóÿ~ëûn¿ÞçKªª_û£;o»îùWþ+ ÉóKWnع{?ÏÓKçêß+ù’Uœ®lRñ H?-Ö²QÖtkó/]¸-M·1h½IR™´IÝÆc«0å%¤ë®+°nãÿËß_;rÈÆ-;ÊÊÊÿüðä¥m¥¸,48wæTyÉ9­û™“Ç ¬¬ü£¹ŸwíÜéÌÉcÏü¿G ¤ð4\>aä}ýIð³hñ’Çþx e“Ç ŽðÑG~ýíÂïù}Û6-G£–¯XùçG¨ ”À•Ó&nÜ´Ypÿî»?x7 ÊKS&Ž}쉿]3ãrp»]Gjœ——Ûà†«§I)Jdæ44¯¯ úøÑ—¼üú`ÚÃH…/4›e«ß~9~åÔqB³÷ûÓ»^ܾëÅí`Ö‡_ôíÓ­[ç‚·’ÒòÿÎþß¿½îï/¿cåÉ€õ›¶k›QË”¨}¯‚ ‚ÔQ„Í<:7ýrl̈Áºf¡å«7–••ßyÛu@á«ï–­X³iôˆA­ƒ‡ÝtÝ”tŸoSÁÎæ}Ûþ¢V3¯™,üüfáÊ[o˜.xûå诿»õjøú»å+Öl5| |ò¿ùãG_2cò˜p˜_¹vËâeë¦N%ø?|äø-×OóùÒ6lùþÛ…+3s†à.ˆ·v}Á‰“§o»é _ZÚÂ¥k—¬\Ù˜aðå·K/7¼c»Öå5ë·öêÑY•>²±U›G•c¯ßý™Ir;µ+ø~Ïà½ÿÛ÷tëÒ!-Í+EµrÍæÓg o»ùJ¯×³zÝÖ”HnTqº²i£’~Z©e£¬éÖæŸÿxÇ_ŸÿÏŸÿx‡”ŠncÐz“.LÚ¤Q㉣0MÒu×X·ñÀñ_OÝvÓ~:UÊc¥¸b6 „¢ó!¥ný¤§ûºwíü››¯'„üøÓÁç~qøÈÑêêjyÀâ’Ò¦Mk#Y°hÙ%CµkÛFr1Š¡¤¤´q£†Âu“Æ„[PTTüÐcOiE½ï®ß}ñõwŸ}õ­?=}æuWõéÕ]›)ÝjR8FÊÓ¤‡‘ ì–­Qûi٢ٷ WöËïÞ¬IC·Û-¹”¿xùº.Ú Â¯^·e@~aVP›þÓä°•A¤þဢsgËËËT7ªêªÊ`M@fמÓ&]ZSU ƒúvû⻕ù=: ·†èV—«;µ½pÅêMƒûw—~®Z»¹¨P4.Ìï*Ø·Û—óWôéÞ®ž6ÊJK O÷ïò­äP¿n¡`Uy°ªsûVkÖo•Ü…‹‚ïwOž0<¬®Vç÷ìøÉç‹åwŽãNŸ>“™îÍÌHÒ¿»J"XS#E¢BåÈó|e Ê$¹‹Û·úzáªNíZráyºuû®i/ü ÿ~¿kßÔËF„ƒÕ`u¿^§Dr£ŠÓ•M•ôÓJ-e-fm ˜4]©LÚ¤QrV ó¯ÏÿGº¾ë·W™$d"€*fÝÆýût®®ª¬®ªT…²R\1 š±žºÿá¬7T.¯¼þö ×\Ñ£G×ôôôª@Õoï¸OØ AÎé3g›5kªòÿçÇ|ú¹fdø'MkCNvöÙÂ"AÑ?s®PKˆù©??œ›Û@sÛ¶m¼ï`ÇÎÝoÿ÷ƒ>¯<¯“)Ó!PU½nÓŽ /hRTxΤQ>Ôâa3¢ÿ¶?|5YIi¹?=­m›ý{wMKóæåø9ŽlÞú}Çv­ŠKËüùð W^&¯Mÿ³ZÌ‚ RÿpÝ𥥪ª3ü>í­Ê@UNV†p•TÉByÅxÝ.ÕO^öÉÆl)xfFe$ø‰SçÖoÙqölq0Ò£@EeàÃy:ú¹lôà-Û÷n.Øíõz.Ôû¢Ve6&•Ué>¯Ir¹ ²òrs~>|¬CÛ–?>Ú¬IìL¿*†ì¬ÌÔJnTqº²™`¥–²fä_…IcÐÅb›4JÎAÅ·’‰*t?d¼KjE~K ÆÀº¯u Ö½^oš×{öì¹Oç}!ù6tÐûs>½ý77ú|¾Ï¾üfæubá4ÌË{ⱇž~îEžç§Lš`à}?üä·Ý2æ|˜6*£Â‡Z<Œi^Ï ~ÝõëEÅeÛwí_¸|Ô Ã _¯Îë7ïìÐ¶åæ‚Ý}z\,íº©Mÿ³&°WAAꢺ¯G/lÑôçCÇzvë  ãO÷••Wædg@YyyºÏ'WÅcôS ^^QáOƒ/Z¾~èÀ^­/lîõzj‚Á7g}3Z៞~å”Ñ™ê»i“†“Æ]‡žX¶zsÛë§èhïC-[43O®W·Ž›¶íîØ®ÕŽÝ?Žš¯2ß^V^¡ze6é’ëWœ®lGÂa^P;ªªk@SìF)š—’Ip¹»ÝÆw›4w×:%d]ÝÆo±XŒÜ­4B½e’ÉkÐà‰Gzú¹ù0>e¢Q WϘúö{sî~àŸÏ7aì¨;÷îS&Møzþ¿ýý¥¢¢â š7›6y¢àÞ·O¯—^}ãÔéÓÍ›5»ëw¿ÑŠ*‚nÝÝ}ÛÕ*—8z‹ek$ƒD^nöðÁ}Þz_L±m› 7ìÞ°e×ÉÓçFþ3f ´˜A¤þáŽã´cÕÀünŸ}³ÜívµoÛÒãvŸ=WT°ã‡ËÆ €ŽíZ­Þ°}Ìðþ°zÃöŽí[Ù®Ölü~ôðþ°fÃöŽí[ î¡PØír»ÝîÒ²Š [v‚e§{—ö+Ön>¸OVfFQqé–í{Æ —­ïß§[NN& <Õæ‘ã8mäò˜C¡pQq龇~÷óÒÒÒîúýo~¿ž8¹bÕZI_ŸzùeS/¿L%Éý‡ 쯗—h¦ÀrÝYìaì–­Qûùì›å=º¶oѼIº/­¢"P°ó‡fMJÞúõîºpÙúQÃú»]ÑjkÓÆ|,fA©D¬û³YnNöôI#×oÞ±nÓŽP(Ô¨an~Ï΂·Áýz®\·õýOæ@‡¶-÷í)·óÉ#1úÙ¢Yãç-¨ ;´m5¸oÁ}ôðk6nŸ¿dmfFz~Î~>3Zá¢_¯.[wìûâÛå•ÜYý{wÜÛµ¹pþ’µ%¥e¹9ÙãFÒ5mêæ^}ëðxÜ9Ù™­/l~ÝŒñþtq_“QrЫ{§åk¶L0B§p=0¿ûšßô¿…`@Ÿn)‘ܨâte=¬ÿ’Õ›6oÛé÷ç÷êüÓÁ£¶jÙ¤”tý÷éyñ'_, C÷Þ~-7•7)xÜmÒÜ]ëh”‘»V`ÝÆo"§•â²Ò`ƒ¬'•>ütÆÔ˃¡ÐìæöÍï]K‘•ÕbÝYìaâ([ÝääwÛ±ûÀò5[kj‚þôÖ6»lôPÉG¸9Y]:¶Õö1ê6¡˜€ÅŒ ‚ õ2ëç³²²µ¯ê²ã•7?¾÷w×&-923³ÊÊJÍWáIÝ•Ü$³0SÕø‹ ¯žùûòRWZ“Ìw‹–~þå·Á`°oŸ^·Ýz£tvm|df7ütö¹yy±½2#¾öóÍ¢ÕÛµîÔ¾5#©â@ÈÈ ¡#S-‚ ’`܆'ô±Ã!zªÉÆ_‡Sw%w I.ÌTÕZòs]&Ž3q¼úkYqã„Á® ”Ò=?ü\\RÞI¶•Ë 8JA$¸„n>¹ê¾CÖ‘…qÚ!ÂØ¢îJî@’[˜)«5Rõ9ãÍzÝÍw¤ZA˜S]U™jOšÏŸjAĉT–—Ø¿§¨ðœhí«—z‚ õì»AD—ÛݺM»öìŒ.îŸ=sJ<Ãhä$iåOB€Rñ/ ”Ðè¹”PB(‘Þž£@ 4ú2PïsÄChä 8"¢£’+"?zJÄ  Tt%” áF’Ji$"ùE ²S1**äˆaw°à‰P „HA£¢‘¨4?#YÖ¯•3UºéŠœú¹E"~€P.†‰F"ˆ¤:)ªv#Sù]¢  ›˜2#2TB™"UÑ@¤¹è§’¨ÏgÔ9¯Q“¾nyQÓ»†›¶©tdùRÔ“§:C±O—«X“BZuxu›Ñ$N´7u!šnx þ©qÊúMU9UÜÑxWd/Ú˜!u:ñê¿Ôª©Y³¡4v¢1Z#•ÿ0H£ò•_õ/½•‹æù¦ íô„T#ô¦Ñhä­OY}êà:}#Õ« eRÚ*Vv,T)6Åè_½¾Ú @¯~Ã%Gžçξ£”ÖTW•—*˵w++tAláÏÈä8Žçyù^^ÕÈiDW´} ”¥TÐø)%„PJ‰ðŸxƒ%”FfDˆ€P„R*Ì"•ô6Q §Q¥?2È¡„ ú¼è…*U–HgÏG„— %T£è òÉûèˆÞ.LˆlÚÕõ!¦®/ú!q¨TŒra¢Jƒî@¢ÿJ¹ ª»²TÒ–#eÃsdîc¤÷Ky"QeUÔ¥ÁQ1šFfgRDŠT,"K„Êêd!¢y!$š9…ꯈ…*Úˆ«„•ÙLç! ?2©©"Or)¢‘éi]êJÑÕÞˆR·–ù—iDgRª$†ê,D%¦âÓj&òÉ[•Հ̧î¥U—½fFh„¶„b¨¼Špzú£,]^뤫Çk'²ölèQñ[Tæ5 ª6oÖ6ôb– @ÔwÍ”ûˆñq–é÷rµV_¿—î«„g¢âÅkGË'J?úe+iùÊÛIÐòuîòÀ yäiD‰& „ªبܲ¥1Që1ÑL«4™ÖKµ:Ztð¦2 ž(¦¨;^‰ÞˆJ¹AÛ¨ø‘K¢¹M¥Ðš2Q¸ª×Íi Ú…ò Ô”•l°eB„Hw áÒ|én·G«î#‚$™uŸò@ɉ½;‹Žý{Ø!-M3Ë;F}U†DGU(ÃáúÁuG3ƒ±×t´—2k\8„p¹-[5íÒ-“b`“«òÑq‚¨‡ "“/:—¡ µ8*§¨ë+Í2”Pù¨¦TSHÄÒl0JqD¨|¨ÌÆQÅS]êéj¼mT¨§*AS&z1D½k&0 „±YÇM¿Þ†¢ú+ûõ­š ¨žE¬TšÂꈩPtîÞ‰›qœÌ±£ÿÆôjbk'İxT“*ó”åW:í@¦TZŒP}#Ö„D7= :rÃpé)4}µnòD'*Jäõ§X8ÔK”ÊÿDSP.@H•yÕÆwY,Æe+-÷©½ˆëɪšµ"µf¯îU!¢âƒÒ¢±P•ÆïöxueEI2ë>ð¤èØ/-ûô#.7HÛð£öUÁÌjû‘] ³½\—”)µv%¬!ÈüD7ÛËcŠyçLäê´ð‘ÝHTú¦¸iB¦SK»uD³”´™(„ác[štî @7oX;tø¨êšjõÆYUÞômMºQë½B¿ˆªžJ¼”c¤%Q}ÝH6a”2¾¯Ñ­‰ÆŒ,zåF£H(,®¢äâ –#;§|Ó¾±>ÍFdAÈ@ƒÖ¤¤HQ_/Í_=ÒU¼$™ÔºDŒ‡A¶NrÒ bO]O‰rÏÝ!zåIõªOç—**ã_Qg½)«Ž +z5F“oƒ(¤.ΠˆÊ%üV+¸ÑÈt&7š>ÎX4íôÖÀ§º3PéðÚ~@’ÜP•—‰ 7C“œõµy—èÏÍÖ >ŠçyaË>|ÊšF „ð<ÏqœÖ‚ HQlæ ”§„ã@´qPA_¦5Š›Z"šQ7%˜*լȶY/Ñw¤·iEû†¤’È^PDe‘húÒ¨"*ªQÒ–…¨r!£Óˆ.-(ýâ–…Ú*®jó€rÄEy*¼Þ)U“¡Baû%ÊÔUÙ‘»«•lW4,Õ)E™ª#ß&¯LŒê®§ >uæØ‚ò)oQŸª}Á²XbêF‘œÊg?²äT¶óh-šCå²hm}ÍE¡ûª:ik_¥ÕV¸6®:j¶XQoy9Æ3"=Ó‚ªm¨nÚ‰ª…0šXñ¤ð ÖÑÁ°æe-ÉÔƒö·A“U>ªò§ßXq/³•v©ï ¿¢¦ìÊ53ÓGPyK[&ú²–P(Ç‘ˆ9(ìß¿ÿðáÃ^xa—.]ü~?Ïó€æÆÂ ‚$€¨ºÏ‹z0 GÍ‹„€tò “F6¼<Óˆù_ð+7®ÞóØ3¯>ûPà"&KN6.ɤ Š±1ò'> ¿zÐ4Ç"G9Ai§T1zI‡lˆyâ#BIÊ"•kº4rô Q^²—ó4 Êõ\µTJ.ƪÆïï~ä×þ2OQ½Òü1É[£V­E\2 HWÑ5’Eg‚b4 ùÔÝ· k™5RÊõ"ÐøÒo’†‰é%¯ gÐ@!Š‘K;˜äI/å8¨­„P›™G쵞Õhf­Æ1›†ýýøº ©SyÔÎʇ>fž"½ Ù¤Qðaa>*ˆŒŒ>¤fÑh^/Ö™F)Î+0‰Iü£3Ÿ3#[•¥©G(â8@ á!@`çΫV­:tèPË–-«ªªzõêå÷ûyžæyž×± !‚$™u_özlÆà•ÃCô½GI!¬ú‘€G)Ná/Ùñµ¬ËŒÏÀ‰¯¼F~F£‹^ž‹î¡Wh" ,Ý¥ÒÀD¨êtÍÈ»:›QÅB‘)ßÚÍíò¢·ÝT3O òdÅ¿Ò/º±j¤Ù‚êœ"½É‘"¥ªJ_ÄMœ è„ú èiºŠwCÅ]-ˆ¬±ì0PÆBÔ«TáÍ\‘3˜\¨_f°‘ªiŸÕú·u?ÑáR‹…¡Àb‘Zš¨mKJ©¾$TWƒÖ‰DG“¡šË;!õ_ ±º5õ»³ºˆ·-Íä:¾V_7_´‰Nä§DÜÔžõ÷!™]É k\.—Ëåæ8¨ªªÚµkWAAÛíÎÏÏ/+++(( ”öìÙ3==çi8 ‡Ã&’#‚Ôù«ºŠ‹ûŸx^øåó¥uj׿ŠIc23üT8>Gð$¿/Wí¥ÁBTª)¯œ/(7¬ˆkò 6„SOºçñg:wh{ÇMWË-©÷<þÌ«{,:ë‰jóQõ\¶çƒ‚JוO`¢òÊ]äÓ•§tÈ®ï¸÷QmFþóʳ&ÙT:z[ƒbÛØÔ¯!ªò&ûC5{t41KЬþø-¶i,mW=E¡Ñ:QeÀp|UM*”÷4ú•ž?ª»2¢œ]+Ôð‡QæÍé…Le1]Cóý<ç ±^{ˆeÀ¶\†æÚ¡¨5Š§Ú»ùDÀ¢ú§ÑK·¾`±”\m"1ý›ö]rG…m"*¬î>¡˜“ÆG( „p!ûöíÛºu«Ïç2dH«V­~ýõ×-[¶lݺ•ã¸~ýúQžçÃáP0˜XAT¨ÎݹùäŸO=å•_-Z1÷ëE·\3U¸/©‹ÂaœÑƒdvœÈëƒòòz{‰ªÞÕÀ©<&Êßþtßê [/¨8œXÜI”ä™õMí*2)hö‘0*k™þA•7¢×ÿyåáâŽ{“®mŽ4ñ K–Ö"^­¦$TFyÕÎ}—ªc§­æÇDiS™9ˆÆñ*kËt;SLqbbUË‹qÛlžaì˜8 ŠEF"t-qÄØc“QmøÕ\¢h—ìkªª&£]6”. û5ôª' IDAT“Ÿzê¸ü‡F~›{œ ¼Cç´<ÏSÊSJ)Ð_ý577·OŸ>íÚµóx<™™™iii[¶l9vìhß¾ù”RÜ» H¿ªK€Ò¨ Y¸ÈHOŸ:nä__z“òô\QÉW —ÿtøH8Ì·¿¨ÕµS'dfø »tUÁν<Ï6hÄ ¾‚"ȇy pôÄéw?ùüÒÁý‡ Ì?WTüåÂ?:æÃíÛ´º~úÄÌŒtÃó¾]¼cÏþ´4ïˆÁ}¿Y¼ê¥§þHxž.X¾fã¶Õ55Ý:µ¿fòø´4ñ̲+&ŽyéíÙÛ¶jÒ¨!æ‚ç ‹¿øn¹,•Ë232àþ'Ÿ¿bÒ˜åë6—”–7n˜{å¤1g ‹—®ÙXTTÒ¬I£ë¦]Ö¼icJ)ÏÓ+ÖnÞ¶«º¦¦k§öWM›æõZZä(•¡Ž7žÏóß|·tݦ­ÕÕ5=º]|ýÕÓ|iiBy~ùÍ¢M[·‡y~ÂØKG*„Z½vÓ¢¥«JJËš7krãµ3.lÑÜR%3ÃÒ+ªF?ì M341PÍ…?ÍDŲ«çÑ °qœ&YOÐnû¸ 7áš|¢ˆ³©$¬¬l×—±=;N t=­Òlµ]KF›ÄhÌWÀÎ(æyåyJ¹Î/öùÒ›4iâñxÀív·jÕÊçó••–Ržò”ç)OyÜ̃ [ܱ½È6 ü÷ãϧM5óŠËÃ|xáŠõ_-Zqýô‰°hÕúSgÎ=ð»Ó¼ÞÅ«ÖCd¡öøùÓ¯]9yl·Ní)¥ï|ôù´ £fΘ$ÄðÅ‚e7̘ß-_¨ªúÓ}·À§_/Jy °dõ†#ÇO|çÍ×øÓ}k6n{kÎg·¿èޝ~ÎýfÑ=¿¹–­Ýxìד÷ÿnfº/í‹Ë¿]²ZJ4±,Zºêȱã=x§/Ý7ïóo¿üfÑ5WL€ù‹–ÿzòôcÿwWZZÚüEË$ÿ~:ø÷þΟî[ºbí‡s¿|øþ;XHå| £èœÏh5¤E7+qš½Ãm#}›¥QÏT3^?? ˜ÔÈZ`*ËÌB[¨“UZ׬û<å)¥íÚµ#$zÎ&!Äãñ\pÁ|³fáPˆRž¢uAöDÕýcG@MMõ©“¿ .ÂEeUõÊ Û[·hzêä¯7M…çN@ßníßüðKÁÏæm;¯¾|TueYu% ìÙIŠaÁ²•·ï™6~Xã¿àhCÁŽ=×MSQV CútݳÿçS'O€ [¿¿zâÈê@yu |@ÏNïÎIß®Bä§OÈNw_Ð$ïóù‹†è‘ùÜøl耰nã–믘(¸Ìï*E2lPïòÒÂòRèܱÕw‹WEŽÔôÔ}ö‰&?I–¤DŸM”Q©—ûs„“õyžrœfF©èAøÕ}AU÷UŸø€çßüÒ¼ž667|!äøÉ3+7n?u®( É=—Wr³³äº‹p¹uçÝ;µmÑ´‘àŽŸ<³bÃöSg ¥8'Æ›%XArssÀår@YEå[Ÿ|#—˜s»å#å¿ÿÙwíOŸkÙ¼‰Š8vâÌŠõòT\n—p‘‘éöݧ¹8Èðû÷4¯›ç)ÇJ¡¼¢òO¿•'jK-S–ƒÑ›ÊÊ+ß|o®Ö½¼¼2·A¶6¬?]”ÖëñˆŸq9/±›qk&tÍ6ƒª³èfìlJì0–bóM]Ƕ¨¸ÔëXoêF=Öò¾–7óXyû×þÚ6œ·$™¶”F ™"]SÁ°/¬ º ctÕ}Ñå‘;®WùþjÉÚ‘ƒû´muAš×S]|é¿s G@fFzIyEÃÜlé¬!Ž™ÓÇÏùb‘ßçا›ða®/­}I¿v­[x½Þ`Mð…7?ÔúLzyyUnN––BDÝÏÌðßz夬L?Dcqq.ê⸩c‡ý¹j’êËE«Æ íß¾M ×SS|á].—0º8@tTt¹Ü‘_8—‹dúý7^1!+#]Ø‘${ï×ÒÐh]ÝÏÌðßrýÔ¬Ì ÕݬLqiyÃÜ“˜M"OV0}1R=?Ô d¦ßÆÚ¨¬ù­~ÁP¡áÙš WKZ–“yb`tªiJH¸0ößaHœÂØ8™G¯ôbm-Ó9µSõrŠÞ5–™¦-1ÖøÕ›ï?k©×Ó ž·èPJxJ9¡«Œìq¥”R€ˆ¦Ïó<ÏãguaŠ|ï>‰üK”.Â%€P(ìv»ÝnOIy`åÆmÀq.èqqû¥k·L9Ôëq¯Ù²cÌ%ý„9ÙY7]1qöç (!}{P8ìñx¼oiYåŠõ[€pnèÚ©ÝÒµ[&¾–¬Ý„s@ßîç¯X?aÄ œ¬Ì³…Å«7Åe#‰¤7mÔ°oÎ Wo’B…BaÇãñxKÊ*W¬ÛI…Jˆ0F~ŠÃ\d[Žtæ÷˜óÙw ¼³;uÜð…+7ÎûviV–,QÝ'²åà8Hô{ºÄå"Cû÷X¿e×G_-*+¯l”›3´OŽ# ù£Âˆ,và”_mWªF*¨à>d@ïõ›¾Ÿ3÷›²òŠFy †Ê܇é»d冷ߟK† Îç8IZÕúQ$¬§‹ë(sº»FÓÖUÊõ5r=uÜ‚"n ÜëyIC ½›/É¢Ö•Ó Ó)„zžgÉroUÝ7ø Süª¹mµ>å³Ûo ×FÏÓ5ÏëZâ­WûP*|æ¥+óLdÿJnJ3»…©IŒOÖF/cèÕ± ôg :Ó ý¹„¾,zw¥ ¦þˆöކZÎDMÄ­<@©ªßvøðÀ Æ'LQ©ß—Ÿ}ôº›ï¨®ªÜ¶y-œû~[v‡Ž$ªã Ä“õÅ¡GtmÜÑ@‚ ?ôJ‰¨âºHÄ—¬ÿ£*ìLañìÿÍðö르,¡÷UÚˆ Q í\ôMhd¬¡”Flöâ'Ã$ó=3TtŒjú@"Á„K~ü¡a¯>àøñãC‡úùÇ}òòÑ©…œ2‡è_kúºè¤§¬ ñGëÈXEL&2›ªïúSíZ‰øúŸÒÕ ¯ÒÐ  —††Jƒ1⚨Y°°V _„¶ðØR½,N¬J©vqÆÞ$£ñ¤Yì3×÷Ǩ#’ë­ÄÀ›,ËšþS£ùÀ¶:EÓINŒÏu˜~Ûd’¦¯¯™h%•¥l\î&³¥'+ó„_:|”×ßÀ›–––æKKóyÓ|n·Î x¡P(XS]]]U]UU]]å÷©ý\ئ“q:‚ –8vxU rþWóä]Œ°¿p„„’¨ŠO€"WòD 9!@9 ”ZsÄU0fp@¤ÏFQ"ý”Ê&ó—­9¤ˆç­ÜÐ¥c[ârËt`S¥Df #jÇè€PɈOE?2 Ÿ Þ¢"”G@Ðá…‰0WÂÍPÁ§˜<ŸRtѨàDæ8?úª£ÎZntØUêVw©‚4w Å0Ó׵ʺñ-íè®É»îRˆFç•5]s¬t4sˆègS&†¾³ÒÂÙd^¤Ô©,ïª2sS{±8}‹J_œ)Ã’áÓP`5ÕJœ¦Š¹VõÆvã24ÔŽ•æl¢u…ÞIÅŽE®1ëÏ<¤¯„ë ¬xR¤TÕ“hÝéìùԪȑ¨"çÒ˜ìÒÑ¿%ÞSö' i)Ô½0U°ÒŽ5iôÃñši¼øG­6ï¼x§`;2z W<“‡§|MMVÝGI Ñ.Æåâ€!âöwàT®Z’¨ª.ý奌’¨jI„þ]P¡#ú¼d͇(¥vK€@^ƒœ—Þš ‡ºth;nø`—´™ÑX¹€¨ù>ú[\I;f¥ÑŸ©¿–ìôDˆ`¼' Î_¢–~Q­' ìçCÒ¨"O ˆ³ „sq‘á‹s¹t´Xᯯö¨É·X.ZÿTǃTn£˜Œ¿r¥»& P¯e»rŒ &z+ê×té Z’&sýœéh<Ó¨Xšƒ¢ f ú—ê_ê5u޵ÓE­›úº%ïI˜XÐÂmÚíuŒÇ:{jr_SºFt#?rý4梄®½¹®ž­Ùì…aé¯îÊ•ž8¥/‹T/îÈ-鵋)(ŸA¢¼¥m\F†}½¯÷ª‡u„b§®m B'¯yø…ø´¯RÔh„¯¼ø®.åÅ=z…'Î(åiuu5€_ëA$QDÕ}Žp” Pʹ8ÁÆAAP`eöSQïµx ] ”D,ÿÂ=8ÂÖyBˆØ½ŠþEÍ„€aƒú^20_1¡ÐXÕ‹+{‘Ääì)PàÄt#[p@yJ¢^Òÿ‰`Ö'œhD{wJ)i{“à@A0ü‡yÂŽ#Òà’}`E¥Ð˧?òŒ)fS’£ŽFͲ‘…×®o8ÃU·ÆY®é 5ê)¹ÑÁŸè»k%Ó+ÐoPã[ÑÂ6\ÐÐÍ“Öv+Ó°uôCýÛ$«Éä¿äzƒù„Æ,);¡,G 6uvL[«¡s2U9àÍÓ3rƒTDZm^>34¿ŠÈe¦R«ºù-н££¯j§BÈè„@›<–q©Ê*N¥„£syxu~tD•´y¢º:õ ŠFþ¼É]ݛͅÔD‰Ê¿ÜY¾¼#{O—7Ú­$Ì„‰AUUµ®AD!{U—#„@FÓ¦%?í7ØÊ©u2ó#hÍúŠñ€ØFÓ÷£ÄíÅ9´È(¥kH³fÅBüMš /Ô¶iÛöØ‘CÀÉ^Ö-@µžAtÜ"´qb¬Óë;zV ¥º¥®®,É3‘ æšÀòL­»îHŒêz×$y‡Y=€ÎUîÑÙ”tCÙJÌ6P©KR¶gÉØî®#‘ÑC‰,òSoß”©òj‚þL±Öêx¬TmùÖÙcùÕFà ’´¿EO/×íÔŠ¬ú–^þ€P·¢I2úìh´QÑ:!BT{þt„W™À¥çZåIHý@ÉÓ—gPÙ8µ/JE’ †Ë!Ò³IZ=‘¢2_*)£j¼*j¢våÐ{^ g-xu$.áêM4QhsQÛ£GµhÓ9ƒA †¾ßV°ßÞãÇÀÁƒ?§ûÒ¯¿ñ–^}òáP0 ‡Bª ‚°D¶_BHv«‹rZ·•õ ˆ:DÔᎴ힀¸µ?j½—¬ÿD+8‰x‹XÏ£ž„-ü²}B‘z£ ¨Ž ,A•]¯8Ic¥¤o›ÐÈ'OHdôþ"¯æF¼Höq ‰FÂDS–fâyÊD´´*SÇŒõ{ VòG•åM¶À¨DÍ^é¨3 PýTD/må4C5éFÍHÆ£®ÑÔŸ-ˆjÞ@•7µ!ä OrÕÛ¤U3õç-ÑgF@å]´]j£Q†4™ D2E´ûbêýFâé8ÙÓÑãÁà}J„cjûšé²­ DßÀ.ûM¢J8Q6J½ÝïŠxÔ ¡KÒ”$'Rh§²ê$D³n ÖºZñ$ï w©Ó•¤P©µ‚»r>#dX>$6me2Úy¢jö"‹ƒ*r@¥§O_­Wô#2µ]÷© 2O:rD¬Ñ0‘ƒsô&Êþ‹¸Fs" åyž…Båå/<÷4 ‡rdgø2\éÖ±Ëãûxö{øÁCüÉçKãy¾­û‚0Fñ™-á}\J('(úe]ÔØ£š¿ð‹FvçGu%D8¾S E p4ò¢¯â^ùG|Åd ‰¾÷KÄe€ÈTA˜?@ÔLO©0ªR"(æ€^¶ÔxaT¢BZ”RÙ+¹7âP åD•@üö¡|¦A)åሰÉ'â CtC)¥pªuaÅçÇ@"Ê€8Ò‰æ1#M4Md¶ í…;Fi…–¯¨<õ5i۬YŸ‘«(:Ž’´ºgz*b“77…´ ¶àClJ©¢/“äFOh¹B-LÝF%Ž¢Î†ÂUæS•Eñ%]•[¥×(kJÝ L«“h/•õ¢W{º-R)¢îQ÷jã¨é¥ìo¤„¨2fùË7êx£%¬V9y¤ê4U“KyHJÑs–éˆêú%ÒÓÁÜ,ô4b¥î¨œmRÙ´Az/V¡ÃJŽD™Ðò•[€¤ˆ•"ȧ ”Y3©š$‰iqV"ob‘Ý:š‚‘ý·2¢¨OY~"¿äÕ*ÅC;ðË‘ûŠ5©ÖÄGE.˜"WºÒF=õÂXØêÆÆó|8¦„ûô£Z¶hÞ4¯¡×ã­¬¨¨®©..)—µjÚŒw‘O?ž}ý·ðáp Õ}AØU÷ýüS å@Az@£æ…Ã<á»ví;bDeyEeEeMuMuMu0ª®®®¨¨hÚ¬éŽ;(‡ùªªªT‹Œ H='ªîÿþþ'R(‚ ‚Ô¶n^O)‡KKK333ËJJUûÔ‚Á ¦¥¥¥á0O) S$)‚ ç øånAI”ç)Îæá]ÊO¡GýOyžçyá NA† ºÏ¹sç¦ZA$©Pñ¥Þ˜o”ƒ05¨©Aë>‚ lAuŸ!W]uUªE@A’‹¨ëëÛõ•¨©©a-‚ ç9¨î#‚ HÂÐ?óÕÐ/­Á½û‚0&•êþ»ï¾ûàƒ&'­x`Ö¬YÉI A9Ÿ¾ÁbÁP øª.‚ ¬I™º>úè£ûî»/9ÉÝ{ï½sæÌIòQ¸wAAI-n£”Ò×^{íóÏ?'„LŸ>ý®»î¾·²~ýú>ø`ÇŽ>ŸoÈ!<ð@^^ž‰ÈÏÏ. ¤ø—/_Þ»wï–-[š'xå•WvìØ‘™™yÇwL™2ÅÄÿºuëfÍšµ{÷nŸÏ7pàÀûï¿¿I“&кuë=z¬\¹rܸq‰.CC´{÷ËËËßxãU«V:u*##£OŸ>W_}uÿþý ??¿mÛ¶sçΕ2N)½òÊ+:TPP •¡yy"‚ ‚ ˆCëþ矾mÛ¶yóæÍ;·  à«¯¾ÜçÌ™3sæÌeË–}öÙg™™™=ö˜¹(((Ð*¦«W¯¾ôÒKc&÷Ë/¿Üÿý3fÌXºté¬Y³¾ÿþ{sÿ|ðÁu×]·xñâùóç·oßþᇖ’;vìêÕ«ã+¦DñÈ#„B¡7ÞxcãÆŸþùøñãßyçé®Ïç[³fôsÕªUéééÂuAÕ5‚ ‚ ‚˜`¨îûí·wÞygãÆ7n|çw~ýõׂû믿>dȿߟ——wß}÷íØ±ÃÜ¿ûöíëÑ£GÌäÞzë­Ûo¿}äÈ‘>Ÿ¯Y³fO>ù¤¹ÿ7ß|óÒK/ÍÊÊòûý7ÜpÃ?ü %ѽ{÷Ý»wÛ+žD³uëÖ{î¹§E‹ÇåææŽ3æ­·Þ’îÞtÓMò fÍšuÓM7¥@JAA¤¾`¨îÿüóÏ]ºt®;wî|ðàA­Ÿ7vïÞݺ9gÏžmÔ¨QÌä6oÞ|îܹqãÆ 2äá‡.--µ˜\ øøã…}2M›6=s挹T‰E»w¿gÏžûÛßvîÜ©ûÁÈ‘#‹ŠŠ„TAAAIIÉÈ‘#“!(‚ ‚ RO1T÷€´“Äï÷WTT¨<ìß¿ÿŸÿüçã?nÑ¿ J©Û}sÀ(xqqññãÇçÍ›·`ÁŸÏ÷ì³ÏZI.??èС~øáÿýßÿ™‹ÁíÞýüãÍš5{úé§GŒ1qâÄüãÒ8Ž›9sæûï¿ï½÷Þ7ÞÈqxR*‚ ‚ ?†Údzzz ®+++322äw xàgŸ}¶uëÖVükiܸñ©S§b&—žž~ï½÷fggggg?øàƒk×®µ(ÞêÕ«¯¾úê§žzJrwîÜ믿.½ZK–,‘‚'íÞýÛo¿}É’%çÎãyþÔ©S¯½öš\B›o¾yóæÍ7ß|s’¤DAAê/†çîϘ1ãøñãW^y¥p-œv/½ô\qÅ’Ï5kÖøý~#ÿ ;w_¸N5jÔK/½tôèQáè}£àS¦L9qâÄ´iÓªªª†*½*`äذa>úèÁƒsrrüÜsÏ îGŽÙ¹sç3ÏóÌ3ååå78p $!‚ ‚ ‚$òò³^wóÕU•¶é”ä´ß{ï½Ý»w¿øâ‹IHëÁìÞ½;šÌA¦lÚ°Æívs.Ï}wýþ·7΂ ‚ ‚Ô[PÝgîÝGAAR ªû Á½û‚ îÝG$µ º ÈÿgïþƒšºòÿñŸd)‚Ø‚¦j©o(Öwk šo•––J±G§"Âòk]xË¢‚ɺüšÁ:#?ú–ŸËŠ‘±$PÖŽ¡f×_)©–-"ÃÅò«ÔZ@E¶“AŠ"zÁ*ùþqßï»y'$€š¤›>Ó?Î=çÜó:¹ÿøJxÝS°[H÷-Å<`[H÷-Å<`[H÷ì–-Óýòòr™LfXR©T©TZ'À/„ÍÒ}š¦?žœœlpIIIUUUÖ Ç@í>Ø–ƒ©NWRR¢V«9Ζ-[víÚÅápØÑ;wîDDDhµZŠ¢ÌÏojjª¬¬looçñxþþþR©ÔÍÍrñâÅ+V,^¼˜]S$1 vM3Ëšêg1XÊÃÃÃÇǧ®®.88ø©Øl×îÉåòúúz­Vëìì¼råʰ°°U«VBD"‘———J¥bŸ³N§ íïï§(Êàs1ôü2q¦Ÿ`A&ÝW«ÕmmmÕÕÕ*•Š¢¨S§NéÊåòÐÐЙ̯ªªŠŒŒ¼páÂÉ“'çÌ™“žžÎô744ê¯@Q”qþjjY3Û£ôè/µ~ýú†††™<ËIMM}ôè‘\.onnV«Õ6l8vì;ÊãñÙËúúz'''¦­ÿ‰¦ütÆL¦ûgÏžMLL 11ñôéÓìPÿ¥K—¶mÛ6“ù¥¥¥þþþ|>ßÍÍ-99¹½½éïééñññ™v¦–5³=S„BaWW×´Ó,ªµµuÏž=îîî\.×ÕÕ5((¨¬¬ŒŽŽÖÁ@©TFGGÛ`—`/L¦û½½½Ë–-cÚÞÞÞ}}}ìPQQQBB‚££ã 糚››…B!Ó¾}ûöüùó§ÝŸ©eÍ„ \½zõ–-[ Åää$Û¿`Á‚¡¡¡i#>CƵû¾¾¾YYYS¾E ‹GFF˜oDEݽ{W,[c£`§L¦û4M³•$|>ÿþýûLûòåË###Æð¦æ³®^½ZPP‘‘Á\êt:“oL»¬©~Š¢¾üòËK°[:q IDAT—.}ôÑGÍÍÍ………Ó†°ãÚý¼¼¼… LÓtjjªþ„7vww×ÔÔ\»vM"‘ØjŸ`L¦ûK–,ùöÛo™vOO——Óþá‡vìØ!‰˜³bØcLÍ'„ÔÖÖfdd:tèõ×_g;½½½;;;§ÝŸ©eÍ„cq8ýbžÎÎÎåË—OÑ:8ާ§ç¾}ûÚÚÚôûÃÃÃ333ÃÃà ʥfËdº/‘HJKK‡†††††JKK7mÚÄôœ{Þcj~UUUqqñ‘#GØR{F@@€F£™v¦–5ÕŸžžÞÛÛûøñã[·n8p`ݺuìR& `†Ïå™0®Ý×h4ÃÃÓ““Z­¶¤¤„}™ÓÒÒc¥]€ý2Y=288Èœ¶²yófó ™šÏTÏoݺ•ÙØØÈçó×®][XX800À½Ïþ¡€i0_$L-kª_,gddôõõÍ›7/(((11‘é¿yófGGGvvöÌÍÓ3®Ý‹‹;qâDvvöØØ˜@ ðóóËÍ͵æ–àW…S”““01þàeÏ׬[¡Ptuuåçç[!–L& …øÉ,êò¥FîožKÞµóQ‘·u:òóÇ'èqz‚¦iš^ôÒ¢¯[©¢¿Ê'?:wþóßGýÎ`ëÿ‹ öçÖõ«ãôƒs§ª§?Çrbcc­Ë:_*~QpΣ×îXÒ} 2®Ý°&¤ûv é>€ÝBºoA¨ÝÛBºoA¨ÝÛBº`·î[ŠyÀ¶î[ŠyÀ¶îØ-[¦ûååå2™Ì:±¤R©R©´N,€_›¥û4M?~<99Ù:á’’’ªªª&&&¬ŽÚ}°-S:®¤¤D­Vs8œ-[¶ìÚµ‹Ãá0Cßÿ}qqq{{ûœ9s6oÞlfþ×_­T*»ººx<žŸŸßÞ½{_|ñEBÈÅ‹W¬X±xñb6¢H$bEéïdVánܸñÑGµ··B|}}SRR<<<!>>>uuuÁÁÁÏòù™e\»?66&—ËëëëµZ­³³óÊ•+ÃÂÂV­ZE‰D^^^*•Š}Î:.44´¿¿Ÿ¢(öáè3xPLþº¯V«ÛÚÚª««U*EQ§Nbúoܸ±wïÞ/¾øB©T~óÍ7æçWVVFDDÔÖÖž;wîÕW_MIIaúõ#Reœ¿Î6\ZZš¯¯oMMMMMP(LKKc—Z¿~}CCÓ=¦g%55õÑ£Gr¹¼¹¹Y­VoØ°áØ±cì(Çklld/ëë뜜˜6õ¿ Úf˜L÷Ïž=›˜˜(AbbâéÓ§™þ²²²øøx±XÌãñ.\¸ÿ~óó=èââÂçó·oßþÝwß1ý===>>>Óîo¶áúûûccc]\\\\\vìØqýúuv)¡PØÕÕ5«§ó̵¶¶îÙ³ÇÝÝË庺º•••±£ÑÑÑú/(•Êèèhìì…Ét¿··wÙ²eLÛÛÛ»¯¯i·´´ ûûû§¤¤ŒŽŽšŸÏ¢iúÓO?e W!·oßž?þ´û›m¸€€€ŠŠŠ±±±{÷î)Šwß}—]jÁ‚CCCÓF|†Œk÷}}}³²²:::¦|‹@,ŒŒ0•HEݽ{W,[c£`§L¦û4M³•$|>ÿþýûLûÎ;ƒƒƒÕÕÕçÏŸçñx999æç3D"Ñ;ï¼ó·¿ýíOúÓ£ÓéL¾9Àšm8™LvêÔ©÷Þ{oÍš5gΜaÃÙ„qí~^^ÞÂ… <¸f͉D’——Ç~!„p¹ÜÈÈÈŠŠ BˆB¡ˆŠŠârqR*<9“Ù¤““MÓLûÁƒÎÎÎlRRÒܹsçÎ+“ɾúê+óóE544„……8p€éZ­vÚýÍ6܇~(‘Hêêêêêê$ [üCÑjµ3ù{‚E¹¸¸ìÞ½[¥R555>|˜¦éÔÔTý 7nìî©¹víšD"±Õ>À>˜L÷—,Yòí·ß2ížž///¦½téÒYÍg9;;GFFvww3—ÞÞÞÓîo¶á®\¹²cǶvÿÊ•+ì-Ë—/Ÿ6¢up8OOÏ}ûöµµµé÷;::†‡‡gff†‡‡;::Új{`L¦û‰¤´´thhhhh¨´´tÓ¦MLÿ¦M›ŠŠŠFGGGGGóóóÌÏÏÌÌìïïüøñððpii©P(dú4Í´û›m¸W^yE¡PÜ»wïÞ½{üñ’%KØ¥4 {»u×îÇÇÇk4šáááÉÉI­V[RRÂ>VLLLKKKLLŒ•v öËdõ|HHÈàà`hh(ÓfN»'„lÞ¼ùÇüàƒÆÇÇßy猌 óóÒÒÒúúúžþù·ß~;77—é_»vmaaáÀÀ{ô>{´<Ó`šœm¸¬¬¬ÜÜ\¦üÝÇÇ'++‹é¿yófGGGvvöÓ?²™3®Ý‹‹;qâDvvöØØ˜@ ðóócÀ3Ç)ÊI‹ˆI˜ð²çkVŽ­P(ºººòóó­K&“ …BüduùR£ƒƒ÷7Ï%ïÚù‡¨È[ƒ:ùùáɇô8=AÓ4M/ziÑ×­TÑ_å“;ÿùï£~g°ˆõÿEûsëúÕqúÁ¹SÕÓŸc9±±±V‹e/¿(8çÑ‚Œk÷¬ é¾×îXÒ}»…tÀn!Ý· Ôî€m!Ý· Ôî€m!ݰ[H÷-Å<`[H÷-Å<`[H÷ì–-Óýòòr™LfXR©T©TZ'À/„ÍÒ}š¦?žœœlpIIIUUUÖ Ç@í>Ø–ƒ©NWRR¢V«9Ζ-[víÚÅáp!7nÜøè£ÚÛÛ !¾¾¾)))fæ‹D"ýe)Šb/^\±bÅâÅ‹™Ë¦¦¦ÊÊÊöövçïï/•JÝÜÜÌ,«¿2»¦™u<<<|||êêꂃƒŸÉƒ› ãÚý±±1¹\^__¯ÕjW®\¶jÕ*BˆH$òòòR©TìÔét¡¡¡ýýýE!$00põêÕ[¶lQ(“““LçíÛ·çÏŸ?eèææf¡P8í²ÓÒ_‡²`Á‚¡¡¡™ßþôŒk÷}}}³²²:::¦|‹@,ŒŒ0_Q(Šº{÷®X,¶ÆFÀ6t:ÎÖ{;g²vŸ¦i¶’„Ïçß¿ŸiËd²ßÿþ÷r¹œ²hÑ"…Ba~>Ss299ÙÛÛ›——÷ÓO?1§ñèt:‡)¢_½zµ   ¤¤Äü²Ó2XÇ&Œk÷óòò”JåÁƒÜÜÜãããçÎËŒr¹ÜÈÈÈŠŠŠ‚‚…BÅåâ¤Txr&³I'''š¦™öƒœ™ö‡~(‘Hêêêêêê$ÉþýûÍÏÿŸ0\îÒ¥K³³³Ïœ9Ãô­Vk”¢(©Tš““üþ;í²¦¯CÑjµ¦þž`5...»wïV©TMMM‡¦i:55UÂÆ»»»kjj®]»&‘HlµO°&Óý%K–|ûí·L»§§ÇËË‹i_¹reÇŽlíþ•+WÌÏ×ÇápØbooïÎÎNýÑÚÚÚŒŒŒC‡½þúëÓnÃŒ)×!„tvv._¾|ÚÛ­ƒÃáxzzîÛ·¯­­M¿ßÑÑ1<<<333<<ÜÑÑÑVÛû`2Ý—H$¥¥¥CCCCCC¥¥¥›6mbú_yå…BqïÞ½{÷î}üñÇK–,1??==½··÷ñãÇ·nÝ:pàÀºuë˜þ€€FÆ«ªª*..>rä[©o~YSL­CÑh4Ó?’gǸv?>>^£Ñ ONNjµÚ’’ý· 111---111VÚ%Ø/“µû!!!ƒƒƒ¡¡¡L{óæÍLVVVnnnEE!ÄÇÇ'++Ëü|±Xœ‘‘Ñ××7oÞ¼   ÄÄD¦íÚµ………ÌÑû………„­[·²hlläóù¦–%zçî3 æ%Sëܼy³££#;;ûÉÕì×îÇÅÅ8q";;{llL øùùåææZsKð«Â)ÊI‹ˆI˜ð²çkVŽ­P(ºººòóó­K&“ …BüduùR£ƒƒ÷7Ï%ïÚù‡¨È[ƒ:ùùáɇô8=AÓ4M/ziÑ×­TÑ_å“>ûÿ>ßn°ˆõÿEûsëúÕqúÁ¹SÕ&Ý·‚ØØX«Å²Î— €_œóhAƵûÖ„tß‚Œk÷¬ é>€ÝBº`·î[j÷À¶î[j÷À¶îØ-¤û„b°-¤û„b0O§³õÀÞ!ݰ[¶L÷ËËËe2™ubI¥R¥RiX¿6K÷iš>~üxrr²uÂ%%%UUUMLLX'µû`[fÆD"Ó (ŠíÔét%%%jµšÃálÙ²e×®]ÇL?»ˆÁR/^\±bÅâÅ‹™Ë¦¦¦ÊÊÊöövçïï/•JÝÜÜÌÜnj{¦Öñðððññ©«« žÍóy*Ƶûcccr¹¼¾¾^«Õ:;;¯\¹2,,lÕªU„‘Häåå¥R©˜çFÑét¡¡¡ýýýE<†þ0fî×}Š¢ŒJµZÝÖÖV]]­R©(Š:uê”ù~vƒÕÙ˪ªªÈÈÈ .œÿþýûæû™š“ÉÉÉÞÞÞ¼¼¼Ÿ~ú‰9G§Ó98LýêÕ«%%%æoŸ–Á:6a\»Ÿ——§T*<800àææ?wî\f”ËåFFFVTT(Ѝ¨(.'¥À“›u6éääDÓ4Ó~ðà³³³ùþÿ Ãå.]º4;;ûÌ™3L@ Ðjµ‹S%•Jsrr<<<ÌßnÞ”ëhµZSO°—Ý»w«Tª¦¦¦Ã‡Ó4ššª?aãÆÝÝÝ555×®]“H$¶Ú'X þ?[`Y³N÷—,Yòí·ß2ížž///óýú8[ãííÝÙÙ©?Z[[›‘‘qèС×_}ÊÐú·›ajÎÎÎåË—O{»up8OOÏ}ûöµµµé÷;::†‡‡gff†‡‡;::Új{`fîK$’ÒÒÒ¡¡¡¡¡¡ÒÒÒM›6™ïOOOïíí}üøñ­[·8°nÝ:¦? @£Ñ°ËVUU9r„}Àüí¦˜Z‡¢ÑhfûyŸ†qí~||¼F£žœœÔjµ%%%úo0bbbZZZbbb¬´K°_3:wŸi0eô!!!ƒƒƒ¡¡¡L{óæÍÌSýb±8##£¯¯oÞ¼yAAA‰‰‰LÿÚµk ˜£÷ ![·ne£766òù|S·›Úž©unÞ¼ÙÑÑ‘ý„Ïé‰×îÇÅÅ8q";;{llL øùùåææZsKð«Â)ÊI‹ˆI˜ð²çkVŽ­P(ºººòóó­K&“ …BüduùR£ƒƒ÷7Ï%ïÚù‡¨È[ƒ:ùùáɇô8=AÓ4M/ziÑ×­TÑ_å“>s®æ1‹Xÿ_d°?·®_§œ;U=ë“yž¡ØØX«Å²Î— €_œóhAƵûÖ„tß‚Œk÷¬ é>€ÝBº`·î[j÷À¶î[j÷À¶îØ-¤û„b°-¤û„b°-¤ûvË–é~yy¹L&³N,©TªT*­ `†t:[ïìÍÒ}š¦?žœœlpIIIUUUÖ Ç@í>Ø–ƒ™1‘HÄ4(Šb;›šš*++ÛÛÛy<ž¿¿¿T*uss#„ètº’’µZÍáp¶lÙ²k×.‡ÃÜòý÷ß···Ï™3'!!aóæÍ„‹/®X±bñâÅÌœ¯¿þZ©Tvuuñx>>uuuÁÁÁOûÌf̸vllL.—×××kµZggç•+W†……­ZµŠ"‰¼¼¼T*ûÜt:]hhh?EQì‡ÕgðÁ ˜ûuŸ¢(ㄲªª*22òÂ… 'Ožœ3gNzz:Ó¯V«ÛÚÚª««U*EQ§Nbúoܸ±wïÞ/¾øB©T~óÍ7LCCC`` »leeeDDDmmí¹sç^}õÕ””óáLmÏT8BÈúõëfþh,!55õÑ£Gr¹¼¹¹Y­VoØ°áØ±cì(Çklld/ëë뜜˜6õ¿ Úf̺˜§´´ÔßߟÏ绹¹%''···3ýgÏžMLL 11ñôéÓLYYY||¼X,æñx .Ü¿?ÓßÓÓãããÃ.{ôèÑÀÀ@>Ÿ¿}ûöï¾ûÎ|8SL…#„…®®®Ù~Þg«µµuÏž=îîî\.×ÕÕ5((¨¬¬ŒŽŽÖÁ@©TFGGÛ`—`/žªv¿¹¹Y(2íÞÞÞeË–1mooï¾¾>¦ÝÒÒ2<<ìï’2::Êôß¾}{þüùÆkÒ4ýé§Ÿ2õ-f™b*!dÁ‚CCC³üˆOŸvß××7++«££cÊ·ÄbñÈÈ󕆢¨»wïŠÅbklìÔ“§ûW¯^-((ÈÈÈ`.išf+Oø|þýû÷™ö;w«««ÏŸ?Ïãñrrr˜~Nçà`øæ€H$zçwþö·¿ýéO2ÎSál¸v?//oáÂ…\³fD"ÉËËÓÿBÂår###+**! …"**ŠËÅI©ðäž0›¤(J*•æääxxx0=NNN4M3í8;;³ýIIIsçÎ;w®L&ûꫯ˜~@ Õj—mhh ;pà€ùp¦˜ GÑjµSþ=Áš\\\vïÞ­R©ššš>LÓtjjªþ„7vww×ÔÔ\»vM"‘ØjŸ`ž$ݯ­­ÍÈÈ8tèÐ믿Îv.Y²äÛo¿eÚ===^^^L{éÒ¥S.âííÝÙÙiÜïììÙÝÝm>œ)¦ÂB:;;—/_>í ÖÁáp<==÷íÛ×ÖÖ¦ßïèèž™™îèèh«í€µLÚz`çfîWUU9r„­ÔgH$’ÒÒÒ¡¡¡¡¡¡ÒÒÒM›61ý›6m***ÍÏÏ`ú4 {{fffÿãLJ‡‡KKKÙ}SáL1Ž¢Ñhô/­À¸v?>>^£Ñ ONNjµÚ’’ã·bbbZZZbbb¬´K°_3:wŸi0'?B¶nÝÊNklläóù!!!ƒƒƒ¡¡¡„æ´{BÈæÍ›üñÇ>ø`||üwÞa‹ï×®][XX800À½––Ö××÷üóÏ¿ýöÛ¹¹¹Ì4SáLmÏT¸›7ovttdgg?ù£š=ãÚý¸¸¸'Ndgg ???ö“œx8AÓ4MÓô¢—}ÝJýU>ùøçÓgÿ_\ìvƒE¬ÿ/2ØŸ[ׯŽÓΪ6÷ë¾¥ÅÆÆZ-–u¾Tü¢àœG 2®Ý°&¤ûd\»`MH÷ìÒ}»…tß‚P»¶…tß‚P»¶…tÀn!Ý· ó€m!Ý· ó€m!ݰ[¶L÷ËËËe2™ubI¥R¥RiX¿6K÷iš>~üxrr²uÂ%%%UUUMLLX'µû`[fÆD"Ó (Ší¼qãÆG}ÔÞÞNñõõMIIñðð „ètº’’µZÍáp¶lÙ²k×.‡ÃÜòý÷ß···Ï™3'!!aóæÍ„‹/®X±bñâÅúïܹ¡ÕjÙˆìŒw2åöL…óðððññ©«« žñÃyZƵûcccr¹¼¾¾^«Õ:;;¯\¹2,,lÕªU„‘Häåå¥R©Øç¦ÓéBCCûûû)Š2x ƒÿv&'m½°wæ~ݧ(Ê8¡LKKóõõ­©©©©© …iiiL¿Z­nkk«®®V©TE:uŠé¿qãÆÞ½{CBB¾øâ ¥RùÍ7ß0ý ‹ËåòÐÐÐ)·a¼™)·g*!dýúõ f>¯¤¦¦>zôH.—777«Õê 6;vŒåñxìe}}½““ÓÖS> c³.æéïïuqqqqqÙ±cÇõë×™þ³gÏ&&& @˜˜xúôi¦¿¬¬,>>^,óx¼… îß¿Ÿéïééñññ1XùÒ¥KÛ¶m{šÏc*!D(vuu=ÍâO¯µµuÏž=îîî\.×ÕÕ5((¨¬¬ŒŽŽÖÁ@©TFGGÛ`—`/fîTTTŒÝ»wO¡P¼ûî»Looï²e˘¶··w__Óniiö÷÷OIIeúoß¾=þ|ý•‹ŠŠ "®^½zË–- …brº¿zš GY°`ÁÐÐÐl?ïÓ0®Ý÷õõÍÊÊêèè˜ò-±X<22ÂJQu÷î]±Xl€šuº/“ÉN:õÞ{ï­Y³æÌ™3úÓŸ˜~š¦ÙÊ>Ÿÿþ}¦}çÎÁÁÁêêêóçÏóx¼œœ¦_§Ó98üëÍË—/ŒŒÖSõå—_^ºté£>jnn.,,4¿=Sál¸v?//oáÂ…\³fD"ÉËËÓÿBÂår###+**! …"**ŠËÅI©ðäfM~øá‡‰¤®®®®®N"‘°Õ2NNN4M3í8;;³ýIIIsçÎ;w®L&ûꫯ˜~@ ÕjÙe ¤R)û–ªá.¹Ü¥K—fggŸ9sÆüöL…#„hµZƒ¿'XŸ‹‹ËîÝ»U*USSÓáÇišNMMÕŸ°qãÆîîîšššk×®I$[íììÓý+W®ìرƒ­Ý¿rå Ó¿dÉ’o¿ý–i÷ôôxyy1í¥K—N¹Ž··wgg'{ùÃ?ìØ±C$1GÐLy ‡Ã™¶˜ÇT8BHggçòåËÍßn5ÇÓÓsß¾}mmmúýŽŽŽááá™™™áááÆuM³2ëtÿ•W^Q(÷îÝ»wïÞǼdɦ_"‘”–– •––nÚÁ` IDAT´‰éß´iSQQÑèèèèèh~~~@@Ó ÑhØe ŽßaIOOïíí}üøñ­[·8°nÝ:óÛ3Ž¢Ñhô/­À¸v?>>^£Ñ ONNjµÚ’’¡Ph0'&&¦¥¥%&&ÆJ»û5£s÷™“‚geeåææ2õå>>>YYYÌœÁÁAæÍæ´{BÈæÍ›üñÇ>ø`||üwÞÉÈÈ`ú×®][XX800`pô¾±Xœ‘‘Ñ××7oÞ¼   ÄÄDóÛ3îæÍ›ÙÙÙ³x6O͸v?..îĉÙÙÙcccÀÏÏ/77ך[€_­7vŽS”““01þàeÏ׬[¡Ptuuåçç[!–L& …øÉ,êò¥FîožKÞµóQ‘·u:òóÇ'èqz‚¦iš^ôÒ¢¯[©¢¿Ê'ÿüÓçþkG¤Á"ÖÿìÏ­ëWÇéçNU›ûußÒbcc­Ë:_*~QpΣ×îXÒ} 2®Ý°&¤ûv é>€ÝBºoA¨ÝÛBºoA¨Ýót8v, é>€ÝBºoA(æÛBºoA(æÛBº`·l™î———Ëd2ëÄ’J¥J¥Ò:±~!l–îÓ4}üøñäädë„KJJªªªš˜˜°N8j÷À¶ÌŒ‰D"¦AQÛyãÆ>ú¨½½âëë›’’âááaf~SSSeee{{;Çó÷÷—J¥nnn„‹/®X±bñâÅúïܹ¡ÕjÙØ5 Vþú믕JeWWÇóóóÛ»wï‹/¾h&œ‡‡‡O]]]ppð,Ñ“3®Ý“ËåõõõZ­ÖÙÙyåÊ•aaa«V­"„ˆD"///•JÅáp˜É:.44´¿¿Ÿ¢(ƒçÀÐÎÆÌýºOQ”qB™––æëë[SSSSS# ÓÒÒÌϯªªŠŒŒ¼páÂÉ“'çÌ™“žžÎô744L–Ëå¡¡¡SnÃ`ñÊÊʈˆˆÚÚÚsçνúê«)))æÃBÖ¯_ßÐÐ`æóZAjjê£Gäryss³Z­Þ°añcÇØQרØÈ^Ö××;991mý'`ü4¦4ëbžþþþØØX—;v\¿~ÝüüÒÒR>Ÿïææ–œœÌüY€ÒÓÓãããc°ò¥K—¶mÛ6“m=z400ÐÅÅ…Ïçoß¾ý»ï¾3Ž" »ººfþI-¡µµuÏž=îîî\.×ÕÕ5((¨¬¬ŒŽŽÖÁ@©TFGGÛ`—`/fîTTTŒÝ»wO¡P¼ûî»3¿·¹¹Y(2íÛ·oÏŸ?_´¨¨(!!ÁÑÑÑà®ÀÀÀÕ«WoÙ²E¡PLNNŒÒ4ýé§Ÿ2õ0fÂB,X0444óÝ>=ãÚ}__߬¬¬ŽŽŽ)ß"‹Å###ÌWŠ¢îÞ½+‹­±Q°Sæj÷§$“É~ÿûßËårBÈ¢E‹ Å o¼zõjAAAII s©ÓéþýòåË###Æ…õLÉÊäädooo^^ÞO?ý¤˜SÑîææV^^n>œM×îçåå)•ʃ ¸¹¹ÆÇÇÏ;—år¹‘‘‘ …"**ŠËÅI©ðäfM~øá‡‰¤®®®®®N"‘ìß¿&wQ%•JsrrØ÷zV«e'H¥Rö-UÃ]r¹K—.ÍÎÎ>sæŒÁ² aaa0Ž¢Õj þž`}...»wïV©TMMM‡¦i:55UÂÆ»»»kjj®]»&‘HlµO°­7¿B³N÷¯\¹²cǶvÿÊ•+ÓÞR[[›‘‘qèС×_íôööîììd/øá‡;vˆD"æû)¢áp8ÆÅ<ÎÎΑ‘‘ÝÝÝæÃB:;;—/_>³OiqÇÓÓsß¾}mmmúýŽŽŽááá™™™áááÆuM³2ëtÿ•W^Q(÷îÝ»wïÞǼdÉóó«ªªŠ‹‹9²lÙ2ýþ€€FÃ^¿Ã;“žžÞÛÛûøñã[·n8p`ݺuLfffÿãLJ‡‡KKKÙ}Sá!& `¶Ÿ÷i×îÇÇÇk4šáááÉÉI­V[RR¢ÿv#&&¦¥¥%&&ÆJ»û5£s÷™“‚geeåææVTTB|||²²²ÌÏ/,,$„lݺ•ÖØØÈçó×®][XX800`pô¾±Xœ‘‘Ñ××7oÞ¼   ÄÄD¦? --­¯¯ïùçŸûí·sss™~SánÞ¼ÙÑÑ‘=“‡ò¬×îÇÅÅ8q";;{llL øùù±;xæÌ¥ûSžìþÊ+¯=ztæóMÏãñ¶mÛVTT”ŸŸoæ–uëÖ±¿èë3Õo*\qqñ¶mÛ~ûÛßN9j5o¾ùæ›o¾9å©ôã¸}˜¹YŸÌó ÅÆÆZ-–ñ— €_¼¾ –…s-ȸvÀšî[qí>€5!ݰ[H÷ìÒ} Bí>ØÒ} Bí>ØÒ}»…tß‚PÌæépì>XÒ} B1ØÒ}+áØzð+dËt¿¼¼\&“Y'–T*U*•Ö‰ð a³tŸ¦éãÇ'''['\RRRUUÕÄÄ„uÂ1P»¶å`j ©©©²²²½½ÇãùûûK¥R777BˆN§+))Q«ÕgË–-»víâpþç“"‘ˆiPÅ®cjþÅ‹W¬X±xñbƒ{ V0u»©í™ZÇÃÃÃÇǧ®®.88ø‰Öl×îÉåòúúz­Vëìì¼råʰ°°U«VBD"‘———J¥bŸ§N§ íïï§(Êàs1ôŸ3€1“¿îWUUEFF^¸páäÉ“sæÌIOOgúÕju[[[uuµJ¥¢(êÔ©Sì-E' ¦æ744êϤôL{»©í™Z‡²~ýú†††™?KHMM}ôè‘\.onnV«Õ6l8vì;ÊãñÙËúúz'''¦­ÿ‰¦ütÆL¦û¥¥¥þþþ|>ßÍÍ-99¹½½é?{ölbb¢@ ‰‰‰§OŸ6ÀÔüžžŸi÷gêvSÛ3C(vuuM;Í¢Z[[÷ìÙãîîÎår]]]ƒ‚‚ÊÊÊØÑèèhý ”Jett´ v öbFµûÍÍÍB¡i÷öö.[¶Œi{{{÷õõ™¿×ÔüÛ·oÏŸ?_f``àêÕ«·lÙ¢P(&''gN{¦Ö!„,X°`hhh&Ÿ÷Y1®Ý÷õõÍÊÊêèè˜ò-±X<22Â|u¡(êîÝ»b±Ø;e²vŸuõêÕ‚‚‚’’æ’¦i¶Â„Ïçß¿ßüí¦æët:‡EgJS&''{{{óòò~úé'æÐžiÃlÏÔ:6a\»Ÿ——§T*<800àææ?wî\f”ËåFFFVTT(Ѝ¨(.'¥À“›&›¤(J*•æääxxx0=NNN4M3í8;;›_ÁÔ|@ Õj wÃå.]º4;;ûÌ™33 g¼=SëB´Z­Á߬ÏÅÅe÷îÝ*•ª©©éðáÃ4M§¦¦êOظqcwwwMM͵k×$‰­ö öÁ\º_[[›‘‘qèС×_í\²dÉ·ß~Ë´{zz¼¼¼Ì05ßÛÛ»³³sÊ[8[„c&Ü”Û3µ!¤³³sùòåæwk5ÇÓÓsß¾}mmmúýŽŽŽááá™™™áááŽŽŽ¶ÚØs'ó9r„-gH$’ÒÒÒ¡¡¡¡¡¡ÒÒÒM›6™`j~@@€F£a§¥§§÷öö>~üøÖ­[X·nùÛMmÏÔ:„F0ý#yvŒk÷ããã5Íðððää¤V«-))Ñë€ÓÒÒc¥]€ý2Y»_XXHÙºu+ÛÓØØÈçóCBBCCC !!!!›7of'°gÃ3 ¦ŒÞÔüµk× 0Gï‹Å⌌Œ¾¾¾yóæ%&&2ÓLÝnj{¦Ö¹yófGGGvvöS<«Y3®Ý‹‹;qâDvvöØØ˜@ ðóóËÍ͵æ–àW…S”““01þàeÏ׬[¡Ptuuåçç[!–L& …øÉ,êò¥FîožKÞµóQ‘·u:òóÇ'èqz‚¦iš^ôÒ¢¯[©¢¿Ê'ÿ¬þÇÙ„¸(ƒE¬ÿ/2ØŸ[ׯŽÓΪžþdˉµZ,ë|©øEÁ9d\»`MH÷-ȸvÀšîØ-¤ûv 龡vl 龡vl é>€ÝBºoA(æÛBºoA(æÛBºðìèt¶ÞÀÿaËt¿¼¼\&“Y'–T*U*•Ö‰ð a³tŸ¦éãÇ'''['\RRRUUÕÄÄ„uÂ1P»¶å`j ©©©²²²½½ÇãùûûK¥R777BˆH$ÒŸFQÛf‡ô;M­sñâÅ+V,^¼˜ùý÷ß···Ï™3'!!aóæÍ„¯¿þZ©TvuuñxëêÕ«%%%Ì%SC299ÙÛÛ›——÷ÓO?Íðtƒut:ƒÃ¿¢ß¹sgpp°ººš’ŸŸŸ“““““ÃŽ2•ënnnåååúkšê7gƵûyyyJ¥òàÁƒnnnñññsçÎeF¹\ndddEEEAAB¡ˆŠŠârqR*<¹i²IŠ¢¤RiNNއ‡Çÿ¹Ë]ºtivvö™3gfÆx@ ÕjÙ NNNIIIsçÎ;w®L&ûꫯ nohh ;pàÀ û·­Õjõÿž`...»wïV©TMMM‡¦i:55UÂÆ»»»kjj®]»&‘HlµO°æÒýÚÚÚŒŒŒC‡½þúëSNàp83)æ™rooïÎÎNöréÒ¥æqvvŽŒŒìîîž¶ßÔ¶;;;—/_>ín­ƒÃáxzzîÛ·¯­­M¿ßÑÑ1<<<333<<ÜÑÑÑVÛû`îdžâââ#GŽ,[¶L¿?==½··÷ñãÇ·nÝ:pàÀºuëÌ0µN@@€F£a/7mÚTTT4:::::šŸŸÀôgffö÷÷?~üxxx¸´´”­Å7Õo*!D£Ñ°ËZ‡qí~||¼F£žœœÔjµ%%%úo0bbbZZZbbb¬´K°_&k÷ ![·ne{ù|¾X,ÎÈÈèëë›7o^PPPbb";=ži0Uþ¦ÖY»vmaaáÀÀsôþæÍ›üñÇ>ø`||üwÞÉÈÈ`&¤¥¥õõõ=ÿüóo¿ývnn®ù~SánÞ¼ÙÑÑ‘ýäjöŒk÷ãââNœ8‘=66&üüüØ€ÝBºoA¨ÝÛBºoA¨ÝÛBº`·î[ŠyÀ¶î[ŠyÀ¶îØ­_Eº_^^.“É,B*•*•J‹†˜-ûO÷iš>~üxrr²E£$%%UUUMLLèw¢vlËÁÔ€H$"„p8>ŸÿòË/¿õÖ[Û·owuue'ôöö_¹r…²bÅŠ={ö¼úê«S.ÕÔÔTYYÙÞÞÎãñüýý¥R©›››~BEQwݹs'""B«Õ UVV–””ìÞ½;**Êà–)‡.^¼¸bÅŠÅ‹3—cccr¹¼¾¾^«Õ:;;¯\¹2,,lÕªUÌf¼¼¼T*‡Ãa&ëtºÐÐÐþþ~fìn !..."‘H*•º»»B<<<|||êêꂃƒÙ9ƵûO]?4Ëø¡è3÷ë>EQ­­­ŸþùþýûÇÇÇÃÃÃÿùÏ2C;wî|ï½÷jjjjjjÞ{d„„)שªªŠŒŒ¼páÂÉ“'çÌ™“žž®ÂTÎ*—ËCCC :'''?ûì3™LöÙgŸMNNÎd¨¡¡!00½LMM}ôè‘\.onnV«Õ6l8vì;ÊãñÙËúúz'''ƒgÂ<µZíååõç?ÿ™Z¿~}CCÔŸåé£SÿË  `ÆôÅ;jFss³P(œvZQQQBB‚£££AuuuXX!$44Ô 2ÞÔÐíÛ·çÏŸÏ^úúúfeeuttÔÙ3ÄbñÈÈó…„¢¨»wïŠÅâ)w822òñÇë–  éÏ1®ÝVÑfbéþüùóï޽˴ïܹ3oÞ<ýÑyóæÝ¹sÇü W¯^-((ÈÈÈ0?íòåË###úEðŒÁÁÁîîî 6B‚ƒƒ»»»§ÒétÿzE!//oáÂ…\³fD"ÉËËeG¹\ndddEE!D¡PDEEq¹ÿç‰þ׺uëT*UJJŠ™b\»ÿ”ÑfeÙäíÛ·_xá¦ý / ë³£lN¬?¢(©Tš““ãááa>PAAT*eßXeUWWŒŒ¼õÖ["‘è­·Þùì³Ï¦Z­–]ÄÅÅe÷îÝ*•ª©©éðáÃ4M§¦¦êGÙ¸qcwwwMM͵k×$‰Áغù/¿ü2""âСCìV«Õÿ3”ž2:À¬˜<™ÇØßÿþ÷Õ«W3íU«V?^¿²üüùóÌ 3dªcjkk –-[6m ~øaÇŽì¥H$¢(êáÇgÏž=sæÌK/½ÄôFGG'$$BL 9::z{{wvv2ççèãp8žžžûöí[³f~¿££cxxxffæÿøGãj"Öܹs£££ËËËÙžÎÎÎåË—OûéžIt€™˜>Ý¿qãÆ™3g¾øâ 6»ß±cÇœ9s˜ú™Ï?ÿü“O>ùøã§\¡ªªêÓO?=räÈ+¯¼2“=é[`r}&ÄòåËÙ„žâîî¾lÙ²ÚÚZNgjhãÆ†Ù'³óÐÐЕ+Wººº UVV¿Kc~“ccc'Nœðôôd{4MPPþ•JePÏó¬¢Ì„¹t_$q8'''æÜýãdzçå{xx9rä/ùKaa!!ä7Þ(--5U¥ÃÌÙºu+ÛÓØØÈçó‰ÞIöLÃÌá’*•jçÎ[·n=vì˜N§35´qãÆµk× 0GïÇÅÅ8q";;{llL øùùåææšyÆÏ„i899½ñÆì½7oÞìèèÈÎÎÖŸl\»ÿ”Ñf…S”““01þàeÏ×l½KQ(]]]ùùù– !“É„B!~•ø•»ÜÔàðÜsÜß<—¼kç¢"o êtäç‡'NÐãôMÓ4½è¥E_·RE•O>þYý³ q†ÿ×H;þ¬æÖõ«ãôƒs§ªgQ»ÿï+66ÖÒ!,ú]àÉàœG 2>wÀšî[qí>€5!ݰ[H÷ìÒ} Bí>ØÒ} Bí>ØÒ}»…tß‚P̶…tß‚P̶…tÀný*Òýòòr™LfÑR©T©TZ4üÓ¢³õàWÉþÓ}š¦?žœœlÑ(IIIUUUú¨ÝÛr05 ‰!‡Ïç¿üòËo½õÖöíÛ]]]Ù ½½½ÅÅÅW®\!„¬X±bÏž=¯¾úê”K555UVV¶··óx<©Têææ¦…BQ”Á]wî܉ˆˆÐjµC•••%%%»wŠ2Ø-ÃÅÅE$I¥RwwwBÈÅ‹W¬X±xñbftllL.—×××kµZggç•+W†……­ZµŠYÄËËK¥Rq8f²N§ íïïg÷pýúõÇ·¶¶Ò4½téÒèèèuëÖB<<<|||êêꂃƒÙ×î?qtýÈ2~húÌýºOQTkkë矾ÿþñññðððþóŸÌÐÀÀÀÎ;ß{ï½šššššš÷Þ{/!!a```Êuªªª"##/\¸pòäÉ9s椧§ë‡0•³ÊåòÐÐPƒÎÉÉÉÏ>ûL&“}öÙg“““»e6¬V«½¼¼þüç?3ý ì´ÔÔÔGÉåòææfµZ½aÆcÇŽ±£<¯±±‘½¬¯¯wrrb/oÞ¼¿zõêüã )))µµµìèúõë¦ü,Oú_m3¦/æqrrzíµ×öíÛ·yóæ#GŽ0Gݾ}{HHˆ³³³³³sHHÈöíÛËÊʦ\¡´´ÔßߟÏ绹¹%''···O´¿¿ÿÒ¥KÛ¶m3èojjrqqùÝï~÷ /\ºtÉøF‡ãææ×××Çôôôôøøø°Z[[÷ìÙãîîÎår]]]ƒ‚‚ô·­_‚¯T*£££ÙË£GÆÄÄlݺõùçŸwtt\¾|ùÿ÷³£B¡°««Ëüçzšèðï µû` ³¨Ýÿàƒ._¾Ì´/_¾üþûïë¾ÿþûì¨ÍÍÍB¡pÚiEEE ŽŽŽýÕÕÕaaa„ÐÐPS•ñ###ü1åöíÛóçÏgG}}}³²²::: êìb±xdd„ùBBQÔÝ»wÅb1;ÚÒÒ²~ýzS{^°`ÁÐÐ~ñŸ&:ÀlÍ"ÝŸ?þÝ»w™ö;wæÍ›§?:oÞ¼;wî˜_áêÕ«æ§]¾|yddD¿ž188ØÝݽaÃBHpppww÷àà ;*ú_ëÖ­S©T)))L¿N§spø×+ yyy .LÓtjjª~”7vww×ÔÔ\»vM"‘è=ÿüó###¦¶­ÕjõÿŒ0¥§‰öê›Ö&ö?[ïìÉ“yŒýýï_½z5Ó^µjÕùóçõ+ËÏŸ?Ïœ0C¦:1¦¶¶¶     `Ù²eÓúá‡vìØÁ^ŠD"Š¢>|xöìÙ3gμôÒKLÿàà`tt´qÍÏܹs£££ËËË™KooïÎÎNæ”}ÇÓÓ8<ã¿ IDATsß¾}kÖ¬Ñïwtt ÏÌÌüãÿh°òªU«¾øâ‹ßýîwSn»³³sùòåÓ~º'Žöêÿïm[oìÖô¿î_½z5//ïÔ©S;wîd:ããã?ùä““'OÞ¿ÿþýûjµú“O>‰‹‹›r…ªªªâââ#GŽÌ$×'z¿Ó³ÑB>ÿüóåË—³¹>!ÄÝÝ}Ù²eúgã0ÆÆÆ>ùäOOOæ2 @£Ñ°£ñññfxxxrrR«Õ–””¿KÓÒÒcÐÿ_ÿõ_ …B­VŽŽ>|ø°»»›=ÿ‡¢Ñhôç×î?Mt€Ù2÷ë¾H$âp8NNN̹ûÇgÏË÷ðð8räÈ_þò—ÂÂBBÈo¼QZZjªJ‡™³uëV¶§±±‘Ïç½óò™†™Ã%U*ûeƒµuëÖcÇŽmܸQ)''§7Þx#77—¹\»vmaaáÀÀsô~\\܉'²³³ÇÆÆŸŸ;sZÿñÿ!—Ë>ü—¿üe||ü?ÿó?Ù³ÿoÞ¼ÙÑÑ‘­?߸vÿi¢€½Ò¯áÁ/ýðlqŠrÒ"b&Ƽìùš­7c) …¢««+??ßr!d2™P(ÄOò¿r—›ž{Žû›ç’wíüCTä­AŽüüðáÄÄ=NOŒÓ4M/ziÑ×­TÑ_å“VÿãlB\”Á"vü/2XÍ­ëWÇéçNUÏ¢vÿßWll¬¥CXô»À“ùU¤û¶¢R©Œëy  ˜,é¾!×€™@Š–ƒÿ‹€åq1üßÉXÒ}»…tß‚ŒÏݰ&¤û„Ú}°-¤ûv 龡˜l 龡˜l é>€ÝúU¤ûååå2™Ì¢!¤R©R©´h€Ù²ÿtŸ¦éãÇ'''[4JRRRUUÕÄÄ„~'j÷À¶L ˆD"B‡Ãáóù/¿üò[o½µ}ûvWWWvBoooqqñ•+W!+V¬Ø³gÏ«¯¾:åRMMM•••ííí<Ïßß_*•º¹¹éG!„Pep×;w"""´Z­ÁPeeeIIÉîÝ»£¢¢ôû¯_¿~øðáÖÖVš¦—.]½nÝ:BÈÿÏÞý5uæûÎcBŒ.^oAZÛ)WÊÖlJ‹[Š0u[á"Hz]RÑ⪔ºCë|iKKÁÈ  Të.U§ˆö®@å’º¸¦­µ‚V³;¹.7‚‘ðC’ï§æ¦ ‰„h|¿vg÷œçùœç<çaF>9|ÎÉý×=ûì³ÿú¯ÿÊ„ét:©TÚÔÔ¤Ñh¸\îòåËããッƒ™Éøûû+ Šúå›Fc\\\OOùÆœ€¯¯ï3Ïj÷_{íµ³gÏ2ÛgÏž}å•WÌ{_yåS¯gΜ ¼gXqqqZZ‹Å²h¯©©‰'„ÄÅÅ™WÆwtt¼üòËcõÏþó7¿ùi7(((//ïüùóuö @ Õj™$J¥²¯¯O Œg„ù—¹qã†y‹uíþ$Ïp_î#ÝÿÍo~Ó××Çlß¼ysÞ¼yæ½óæÍ»yó¦ý.^¼XTT´}ûvûagÏžÕjµæEð µZ­R©V­ZE‰ŽŽV©Tjµšéêëë3®ÀœÑhtsû¿G ,X°sçΈˆ¡PXXXØßßoê¥i:99¹²²’"“ÉRRRhúÿ–ÈÎÆd]»?™³ܯûÈ&ÿùÏÎ;—Ùž;wnoo¯yooo¯©——y€R©Üºuë®]»|}}ퟨ¨¨hëÖ­¦'VMjjj´Zmhh(ŸÏ ÕjµµµµL—‡‡‡V«s4oooFcÚåñxééé …¢­­­´´T¯×ggg›ÇÇÄĨTª†††K—. …ÂqN€¢ÑhÌÿŒ0¦Éœà~Ù|3µ/¾øbÅŠÌvppðW_}e^YþÕW_1o˜!c½1¦±±±¨¨¨¨¨( àž'úé§ŸÖ­[gÚåóùJ¥rxxøØ±cG]´hÓ®V«E"Só|êÔ©µk×ZöôÓOÿíoóññ±h§(ÊÏÏ/333""¼Åb%$$äæænذÁ¼šÈþ!ûÛß–-[vÏ«›ØÙ&àÞw÷/^¼XXXX__¿~ýz¦Q"‘|öÙgG޹}ûöíÛ·ëêê>ûì³ÔÔÔ1G8xðàž={öîÝ;ž\Ÿ˜½yÆô"Bȉ'–-[fJµ !>>>ÌxÞzë-™LVWW×ßß?<<¬R©Þ}÷]&,<<üäÉ“¦£$ÉÉ“'{{{ ƒF£)))±~–@,wttˆÅbóFû „œù䓦—âÿû¿ÿûîÝ»¯]»Æ¼z?55µºº:??_§Óy{{‡„„ØY„qNàçŸ>þ|~~¾y¯uíþ„Ï0Tñ®œDqÚÐàÀb¿§œ=G‘Éd.\øøãwŠŒŒŒÀÀ@Ü’xÄmkv›9“ž1sóÛëÿ’|ýšÚh$#ÃÃCÃCúAý^¯×ë.ZØÚ©,þTj©ûó±´Ô‹A\ø72L›ëW.êŽ××ÜGíþÃëÍ7ßtô)úY`bðžG²®Ý˜NH÷Ⱥv`:!ÝpYH÷¦‰ÑÙ€GÒ}Bí>8Ò}Bí>8Ò}—…tßPÌÎ…tßPÌÎ…tÀe!ÝpYH÷µûà\n¶:ø|¾E‹R©dÚ™ FUUUIIIzzzJJŠ­¡Z[[årù… ØlvHHÈ–-[æÏŸOikk«ªªêêêb³Ùaaa[·nõòò²8»ù¹!?þøãž={ºººfÏž––¶zõjû“7?üêÕ«|ðAWW!$(((++Ë×××Öœ§„uí¾N§“J¥MMM†Ëå._¾<>>>88˜™³¿¿¿B¡ (Š 6qqq===J¥ÒúÇA¬À‚½»ûÊ_³0 µµµµµµƒÁÖ8UUU‰‰‰Çâ‰'²²²˜öƒ&''ýõ×GŽ™={ö¶mÛ,Nm1ÎÕ«W·lÙ²fÍšS§NÉåò¿þõ¯ögnј““ÔÐÐÐÐИ““cçÚ$;;ûÎ;R©ôÌ™3uuu«V­ª¨¨0õ²Ùì––ÓnSS‡Ãa¶Í v~"æ&UÌÓÖÖÆãñÖ®];wîÜööv[aûö틌ŒäñxîîîIII?üðÓ^VVæîîîååµyófæ¾»ååå‰D °Ùì ¼÷Þ{÷5Ûžžž7ß|“Çãñx¼uëÖ]¹r徟›6mòññ¡iÚÓÓ3**ª¼¼ÜÔ+‰är¹iW.—‹D¢éŸ$¸ŒI¥û555ñññ„¸¸¸ñÔ©ëõúÇ3µ+Μ9hÿðŽŽŽÞÞÞèèè°°°¬¬¬þþþûšmxxxee¥N§»uë–L&{ñÅïëð °^“   ¼¼¼óçÏ YÇ ­VË|ìQ*•}}}ÀÑ“f/ÝçÿšE¯Z­V©T«V­"„DGG«T*µZm´^xáСCï¼óŽE×Å‹‹ŠŠ¶oßn®7oÞT«Õ555_}õ›ÍÞµk—ýx õõõ+W®Œˆˆ8zô¨õ4¦œuí~aaá‚ vîÜ! Í?´Ð4œœ\YYI‘Éd)))4g©`â&^»_SS£ÕjCCCù|~hh¨V«­­­eºÆü„ T*›››ãããwìØaѾuëÖ]»vÝóÁY‡óÇ?þqΜ9sæÌÉÈÈøæ›oìœÎÚûï¿/ OŸ>}úôi¡Px¿µ@S‚Ç㥧§+ж¶¶ÒÒR½^Ÿm£R©.]º$ §†àJl¾™Ç¾ááácÇŽ=ztÑ¢EL‹Z­‰Diii,ËÖS¤\.799yÿþý¦–ÆÆÆ¢¢¢¢¢¢€€€{žtéÒ¥c¶ó¡ÕsçγX,BȺuëV®\9ž£„¢(??¿ÌÌ̈ˆóv‹•››»aÃfªà2(gOA¬9qâIJeËL¹>!ÄÇÇ'  ±±Ñ:877·§§gtt´···¬¬ÌT£ðàÁ={öìÝ»w<¹>!äÕW_-..îïïïïïÿøãÃÃÃïkÎK–,‘Éd·nݺuëÖþýûüñû:|¬k÷%ÉÉ“'{{{ ƒF£)))±~bA,wttˆÅbGO\ž½»ûÖÕ8¦m…B±~ýz‹øØØØŠŠŠ˜˜‹öðð𜜜îîn矾  €iß½{7s”)²¥¥ÅÝÝÝüÔÌsêÕ«Wÿãÿxíµ×_xá;µþcž——WPPÀTÆ?óÌ3yyyv®}JX×¦VWWçççët:ooïÓjL9ªxWN¢8mhp`±ßSΞ ÀÃíl[³ÛÌ™ôŒ™›ß^ÿ‡”äë×ÔF#Òê‡ôz½^¿pÑÂÖNeñ§RÃèHÝŸ¥¥Z~O%~#Àä]¿rqP?p¼¾/~pYH÷h<ßEà8H÷Ⱥv`:!ÝpYH÷\Ò}Bí>8Ò}Bí>8Ò}—…tßPÌÎ…tßPÌÎ…tÀe!ÝpYH÷µûà\n¶:ø|¾E‹R©dÚ™ FUUUIIIzzzJJŠ­¡Z[[årù… ØlvHHÈ–-[æÏŸo} Ó°mmmUUU]]]l6;,,lëÖ­^^^„«W¯~ðÁ]]]„   ¬¬,___ëÓÙ:ÜüŒæ—à8Öµû:N*•655i4.—»|ùòøøøàà`fnþþþ …‚¢(&Øh4ÆÅÅõôô(•Jë™®«€‡—½»ûÊ_³0 µµµµµµƒÁÖ8UUU‰‰‰Çâ‰'²²²Æ<…©ñàÁƒÉÉÉ_ýõ‘#GfÏž½mÛ6¦='''((¨¡¡¡¡¡!000''gÌÓÙ:Üt:;—ìhÙÙÙwîÜ‘J¥gΜ©««[µjUEE…©—Íf·´´˜v›šš8³m¾Jv~"æ&UÌÓÖÖÆãñÖ®];wîÜööv[aûö틌ŒäñxîîîIII?üðƒýaËÊÊÂÂÂÜÝݽ¼¼6oÞÌÜÎ'„ôôô¼ùæ›<Çã­[·îÊ•+÷uøƒ ³³sÓ¦M>>>4M{zzFEE•——›zE"‘\.7íÊår‘Hä„Y€«˜Tº_SSO‰‹‹Oº^¯?|ø0S»ÂˆŒŒ\±bÅ믿.“ÉÆüûÀ™3g™íðððÊÊJNwëÖ-™Löâ‹/ÞóŒæ‡O?ë5 ÊËË;þüÐÐu¼@ ÐjµÌç¥RÙ××'¦c¢à¢lÖîÛµõ µZ­R©>úè#BHttôž={ÔjµýѼ¼¼8`> Á`¸|ùraaáÿþïÿfdd˜rñâÅ¢¢¢’’f7##ã?ÿó?¥R)!dáÂ…2™ÌþµY>ý¬k÷ årùÎ;¯]»æåå)‘HæÌ™ÃôÒ4œœ\YYYTT$“ÉRRRhÏRÀÄM¼v¿¦¦F«Õ†††òùüÐÐP­V[[[Ëtñï²­¹¹9>>~ÇŽ¿šM/]º4??ÿèÑ£ñ[·nݵk—éyÜ÷ß_(ž>}úôéÓB¡ð½÷Þ³:‹Ã</==]¡P´µµ•––êõúììl󀘘•JÕÐÐpéÒ%¡Pè¬yÀ$P÷z±aïî¾ÃÃÃÇŽ;zôè¢E‹˜µZ-‰ÒÒÒX,–­§H¹\nrròþýû­»(Š2/æill,***** 05ž;w®¸¸˜ÅbBÖ­[·råJ¦Ýútcþ@¡(ÊÏÏ/333""¼Åb%$$äæænذ¹R€ ›`­È‰'–-[fÊõ !>>>ÖÁ¹¹¹===£££½½½eee¦búmÛ¶]¾|yttôúõë;vìx饗˜öƒîÙ³gïÞ½Éú’%Kd2Ù­[·nݺµÿþÇ|̹Ù:|úY×îK$’“'Oööö FSRRbýhX,îèè‹ÅÓ4Kp]¬ÝW(ëׯ·ˆ­¨¨ˆ‰‰±hÏÉÉéîîöððxþùç ˜v@°}ûöîîîyóæEEEmܸ‘iß½{73ši„––ww÷¼¼¼‚‚‚ÊÊJBÈ3Ï<“——7æ´mn~Ĕ£ßei]»ŸššZ]]ŸŸ¯Óé¼½½CBBL«0å¨â]9‰â´¡ÁÅ~O9{2·³mÍn3Yô ·Ío¯ÿCJòõkj£‘Œ  éõCz½^¯_¸hak§²øS©atä‹úcëÿ`ù=•ø “wýÊÅAýÀñú¼øÀe!Ýw ñ|€ã Ýw ëÚ}€é„t`j=€ÿƒtÀe!Ýw Ôî€s!Ýw Ôî€s!ÝpYH÷Å<à\H÷Å<à\H÷\Ò}—…tßP»Îåf«ƒÏç[´(•J¦Ù`TUU•””¤§§§¤¤Ø9Í?þ¸gÏž®®®Ù³g§¥¥­^½šb4KJJêêê(Šzýõ×ß~ûmŠ¢!­­­r¹üÂ… l6;$$dË–-óçÏ'„´µµUUUuuu±Ùì°°°­[·zyyYŸËVØÕ«W?øàƒ®®.BHPPPVV–¯¯ï¸j"¬k÷u:T*mjjÒh4\.wùòåñññÁÁÁ„>Ÿïïï¯P(˜E „Ƹ¸¸žž¥Riýã w"¶Ø»»¯ü5ëƒÁP[[›‘‘Q[[k0lsõêÕ-[¶¬Y³æÔ©Sr¹ü¯ý+Ó^WW÷í·ßÖÔÔ( ¥RY__Ï´WUU%&&666?~ü‰'žÈÊÊbÚ<˜œœüõ×_9rdöìÙÛ¶mót¶Ârrr‚‚‚srrîµ8S/;;ûÎ;R©ôÌ™3uuu«V­ª¨¨0õ²Ùì––ÓnSS‡Ãa¶Í v~"æ&UÌÓÖÖÆãñÖ®];wîÜööv[aååå‰D °Ùì ¼÷Þ{Lû±cÇ6nÜèííííí½qãÆ/¿ü’iß·o_dd$ÇswwOJJúᇘö²²²°°0www//¯Í›73÷é­Ù ëééyóÍ7y<Ç[·nÝ•+W&síÓÙÙ¹iÓ&š¦===£¢¢ÊËËM½"‘H.—›vår¹H$šþI€Ë˜Tº_SSO‰‹‹³S§ÞÑÑÑÛÛ–••ÕßßÏ´_¾|9 €Ù~úé§»»»-Ôëõ‡fj],œ9s&00ðž34 ¯¬¬Ôét·nÝ’Éd/¾øâ8.qR¬×$(((//ïüùóCCCÖñ@«Õ2ŸO”Je__Ÿ@ pô$À…ÙK÷ù¿fÑ«V«U*ÕªU«!ÑÑÑ*•J­V9ÎÍ›7ÕjuMMÍW_}Åf³wíÚÅ´ëõzS±Š»»ûíÛ·-Îþ /:tèwÞ±ðâÅ‹EEEÛ·o·maõõõ+W®Œˆˆ8zô¨õ°Sκv¿°°pÁ‚;wˆ …………¦?„𦓓“+++ !2™,%%…¦ñ,5LÜÄk÷kjj´Zmhh(ŸÏ ÕjµµµµL—Å'‡óÇ?þqΜ9sæÌÉÈÈøæ›oLíz½žÙàr¹gonnŽß±c‡EûÖ­[wíÚezÐvÌ$Öaï¿ÿ¾P(<}úôéÓ§…B¡©¦h:ñx¼ôôt…BÑÖÖVZZª×ë³³³ÍbbbT*UCCÃ¥K—„BáôÏ\‰Í7óØ7<<|ìØ±£G.Z´ˆiQ«Õ"‘(--ÅbY|6Xºt阃<þøãß}÷ÝsÏ=Gùþûïýýý-¸\nrròþýûM-EEEEEE¦* 2Ö jÆ ;wî\qq1‹Å"„¬[·nåÊ•÷{ÕSˆ¢(??¿ÌÌ̈ˆóv‹•››»aÃfª6ÁZ‘'N,[¶Ì”ëB|||­ƒ_}õÕâââþþþþþþ?þ8<<œi …eee7nܸqãFYYÙ«¯¾Ê´çææöôôŒŽŽööö–••™Šï<¸gÏž½{÷š'ñÖl…-Y²D&“ݺuëÖ­[û÷ïüñÇ'víãg]»/‘HNž<ÙÛÛk04MII‰õb±¸££C,;zzàòìÝÝ·.1m+Šõë×[ÄÇÆÆVTTÄÄÄX´¯^½úÿøÇk¯½688øÂ /˜Šé׬Y£V«ãââ˜mæeü„ðð𜜜îîn矾  €iß½{7sÓÈ---îîî§³–——WPPÀTÆ?óÌ3yyyv®}JX×¦VWWçççët:ooïÓÕL9ªxWN¢8mhp`±ßSΞ ÀÃíl[³ÛÌ™ôŒ™›ß^ÿ‡”äë×ÔF#Òê‡ôz½^¿pÑÂÖNeñ§RÃèÈõÇÖÿÁò{*ñ&ïú•‹ƒúãõ5xñ €ËBºï@v¾‹` Ýw ëÚ}€é„tÀe!ÝpYH÷µû`EQΞ¸8¤û„Ú}p.¤û. 龡˜œ 龡˜œ é>€ËBºà²î;j÷À¹Üluðù|‹¥RÉ´3Œªªª’’’ôôô”””qÅår››› !­­­r¹üÂ… l6;$$dË–-óçÏ7…ݼy311Q£Ñ˜Ng?Þ¤­­­ªªª««‹Íf‡……mݺÕËË‹b4KJJêêê(Šzýõ×ß~ûmG¿íغv_§ÓI¥Ò¦¦&FÃår—/_Láóùþþþ …Â4+£Ñ×ÓÓ£T*­äîOÀ›é>G6i0jkk322>ÿüó¤¤$šûoæã:tèÆÌvUUUbbâï~÷»3f>|8++K&“™"¥Ri\\ܧŸ~jj±orðàÁää䢢¢ÁÁÁòòòmÛ¶I¥RBH]]Ý·ß~[SSCÉÌ̬¯¯ÿýïoÿ§\vvöâÅ‹¥RéÂ… ûúú:;;+**˜tŸÂf³[ZZÂÃÙݦ¦&‡Ãl›ÖÐâ〓*æikkãñxk×®;wn{{û=ãGFFª««™Ý}ûöEFFòxyÖµû………r¹|çÎ×®]óòòŠŒŒ”H$sæÌazišNNN®¬¬,**’Éd)))¶ê£Æcâµû555Z­644ÔÔR[[ûÇ?þ‘˜}N0áÔ©S¾¾¾K–,±>ËíÛ·>¼cÇŽŠŠ BHQQQNNŽ­çh­ãÇËÎÎ.++3ÄÄÄìÛ·¯¡¡áÒ¥KEEEÓ?Cp%öÒ};†‡‡;vôèÑE‹1-jµZ$18c~NËåYYYcŽÆår“““÷ïßÏìþôÓOëÖ­3õZ?œjo}ºÆÆÆ¢¢¢¢¢"Sõ!äñÇÿî»ïž{î9BÈ÷ßïïï_—<µ(ŠòóóËÌÌŒˆˆ0og±X ¹¹¹6l°UË0N¬9qâIJeËL¹>!ÄÇÇ'  ±±qÌøÖÖV6›dÞ˜››ÛÓÓ3::ÚÛÛ[VVf*²Wš!fÙ¼­x ܳgÏÞ½{Ís}BˆP(,++»qãÆ7ÊÊÊ^}õÕ‰]ûøY×îK$’“'Oööö FSRRb}b±¸££C,;zzàò&X»¯P(Ö¯_oQc=Ô¬_Ìž““ÓÝÝíááñüóÏØŸë8ãwïÞÍLÆÔÒÒÒâîî¾f͵ZGY³fÍêÕ«íŸnò¬k÷SSS«««óóóu:··wHHÈ=¯`¨â]9‰â´¡ÁÅ~O9{2·³mÍn3gÒ3fn~{ýR’¯_SddxxhxH?¨ÒëõzýÂE [;•ÅŸJ £#þòø[ë’-Áod˜¼ëW.êŽ××àÅ/. é¾ç»é¾Y×îL'¤û. é>€ËBºï@¨ÝxÙúVøÉDLÒ}Bí>À£†Éàiš¦gÌ0ŒcÇÐ3è3hš"ÈøÀñîL%Š¢(Šòððèï×¹Ít³ÈçgΜI(âááAÝå¤iÀ£é¾¡˜àQÃdðôŒÁÁ!WÔ?³X,Ïyž^^žóæyÍærgóf/X´``xxÅŠPzÆ dû0 î;Šy5EÑ4MSÔk±ñ„vûú›oÎÿÛ÷Ý?]¾vM?8–›³'àR(Šš1cƬYì­™Ûþþwõ¹oÿ{hhˆréâ÷n£Æ?½·s‘Ï‘‘¡!ýèÜ݇Cº0e˜»ûnnn³fÍb³9OüÛÓÿf322<¨×ŽŽÜÁÝ}p8ó8j÷À¹lÞÝçóù-J¥’ig6UUU%%%ééé)))ãŠËå677BZ[[årù… ØlvHHÈ–-[æÏŸo »yófbb¢F£1Î~¼‰0ÓLÌ/Áq¬k÷u:T*mjjÒh4\.wùòåñññÁÁÁÌÜüýý …é/»F£1..®§§G©TZÿ8Èt]<¼ìóÜ3›4 µµµŸþyRRMý·óq:tãÆ f»ªª*11ñw¿ûÝŒ3>œ••%“ÉL‘R©4..îÓO?5µØO˜é‹ýërœìììÅ‹K¥Ò… öõõuvvVTT0é>!„Íf·´´„‡‡3»MMM‡Ù6­¡ÅÇ-;&UÌÓÖÖÆãñÖ®];wîÜööö{ÆŒŒTWW'&&2»ûö틌ŒäñxîîîIII?üðƒ)²§§§½½ý7Þ0?ÜNüœ¢³³sÓ¦M>>>4M{zzFEE•——›zE"‘\.7íÊår‘Hä„Y€«˜Tº_SSO‰‹‹OúñãÇù|¾uŽ^¯?|ø°é&7!¤¸¸8--Åb9ŽuüdÂÇzM‚‚‚òòòΟ?ϼ¥Á‚@ Ðjµ]]]„¥RÙ××'¦c¢à¢ìóX½XÔ¨Õj•JõÑGB¢££÷ìÙ£V«}||lf0ªªª>þøã1ÏâååuàÀ¦åìÙ³Z­6::ÚάÌã'æPÖµû………r¹|çÎ×®]óòòŠŒŒ”H$sæÌazišNNN®¬¬,**’Éd)))¶ê£ÆÃ^6©ü5‹Þšš­VÊçóCCCµZmmm-ÓÅ¿Ë<þÔ©S¾¾¾K–,±>Ksss||üŽ;˜–¢¢¢­[·Úz±uü˜§³{ðx¼ôôt…BÑÖÖVZZª×ë³³³ÍbbbT*UCCÃ¥K—„B¡³æ ®a‚ïÝ>vìØÑ£G-ZÄ´¨Õj‘HÄTàŒù,©\.ÏÊÊs4.—›œœ¼ÿ~f÷§Ÿ~Z·n©×úáT‹x[®Z„=P(ŠòóóËÌÌŒˆˆ0og±X ¹¹¹6l°UË0N¬9qâIJeËL¹>!ÄÇÇ'  ±±qÌøÖÖV6›dÞ˜››ÛÓÓ3::ÚÛÛ[VVÈ´[üIÁ”ÍÛŠ·0ΰi`]»/‘HNž<ÙÛÛk04MII‰õôÄbqGG‡X,ž¦Y€ëš`í¾B¡X¿~½E|lllEEELLŒõP°~1xxxNNNww·‡‡ÇóÏ?_PP`®ãŒ·fº"fÃÑo´´®ÝOMM­®®ÎÏÏ×étÞÞÞ!!!÷¼j€ £Šwå$ŠÓ†û=åìÉ<Ü”ml‡ÍẻsÙlÎ̱Ê2GF†õúÝ ~ ¶®~(Á"¿‘`ò®_¹8¨8^_ƒ¿¸,¤û4žï"p¤ûd]»0î¸,¤û. 龡vœ 龡vœ é>€ËBºï@(æû(ŠröÀÅ!Ýw ó€s!ÝpYH÷\Ò}Bí>8—›­>ŸoÑ¢T*™vfƒQUUURR’žžž’’2Ρ¸\nss3!¤µµU.—_¸pÍf‡„„lÙ²eþüù¦°›7o&&&j4ÓéìÇ[˜äáSºv_§ÓI¥Ò¦¦&FÃår—/_Láóùþþþ …ÂôØ–ÑhŒ‹‹ëééQ*•Ö?r÷'`‹ÍtŸŒ#›4 µµµŸþyRRMý·óq:tãÆ f»ªª*11ñw¿ûÝŒ3>œ••%“ÉL‘R©4..îÓO?5µØ·0ÉÃ$;;{ñâÅR©táÂ…}}}LºOa³Ù---áááÌnSS‡Ãa¶Mkhñq ÀŽIó´µµñx¼µk×Î;·½½ýžñ###ÕÕÕ‰‰‰Ìî¾}û"##y<ž»»{RRÒ?ü`Šìééiooã7Ì·oa’‡;Nggç¦M›|||hšöôôŒŠŠ*//7õŠD"¹\nÚ•Ëå"‘hú' .cRé~MMM||úˆ½gϵZíããck4ƒÁPUUõñÇy//¯0-gÏžÕjµÑÑÑvfeoa’‡O!ëÚýÂÂB¹\¾sçÎk×®yyyEFFJ$’9sæ0½4M'''WVVÉd²””[õQãa/›TþšEoMMV« åóù¡¡¡Z­¶¶¶–éâßeêÔ)__ß%K–XŸ¥¹¹9>>~ÇŽLKQQÑÖ­[m}Ñ u¼Åéî÷ðéÄãñÒÓÓ E[[[ii©^¯ÏÎÎ6ˆ‰‰Q©T —.] …Ó?Cp%öîîÛ1<<|ìØ±£G.Z´ˆiQ«Õ"‘ˆ)¡óYR¹\ž••5æh\.799yÿþýÌîO?ý´nÝ:S¯õéñ½÷{¸SPåçç—™™aÞÎb±rss7lØ`« `œ&X+râĉeË–™r}BˆO@@@ccã˜ñ­­­l6;((ȼ177·§§gtt´···¬¬,00i·ø“‚)Y·oa’‡O!ëÚ}‰DròäÉÞÞ^ƒÁ ÑhJJJ¬§!‹;::Äb±£§.o‚µû …býúõñ±±±111ÖC8pÀúÅüááá999ÝÝÝÏ?ÿ|AAý¹ÞoüÔ>Öµû©©©ÕÕÕùùù:ÎÛÛ;$$d¦,ªxWN¢8mhp`±ßSΞ ÀÃMÙÑÆæpØ®»;—ÍæÌ«,sddxP¯Ð êŽ|ñ妬µÀod˜¼ëW.êŽ××àÅ/. é¾ç»é¾Y×îL'¤û. é>€ËBºï@¨ÝçBºï@¨ÝçBºà²î;ŠyÀ¹î;ŠyÀ¹î8 EQΞ¸8¤û. 龡vœËÍV‡N§“J¥MMM†Ëå._¾<>>>88˜é½råJiiigg§^¯_ºt©H$z饗¬áóùæ»J¥’ÙèïïÏËËûæ›oØlöüǼõÖ[SwEëÚ};«Êçóýýý …é»F£1..®§§G©TZ¬$ôžc²™îggg/^¼X*•.\¸°¯¯¯³³³¢¢‚ILþùg‰D"‘Hþô§?q8œü±ªªjÌtŸØHIwíÚÅf³¿úê+BHaaá—_~ùꫯNÑ=Ðì¬*!„Íf·´´„‡‡3»MMM‡Ù6-#ŸÏG–ãd³˜§³³sÓ¦M>>>4M{zzFEE•——3]ûöí‹Å±±±,kÙ²e~øá}õ›o¾ÉÈȘ3gΜ9sÞyçúúúI]ÄÃÃΪBD"‘\.7íÊår‘Hä„Y€«°™îååå?~hhÈ¢«££ãå—_ç "##W¬Xñúë¯Ëd2ƒÁÀ4Fó˜Ë—/ßϜֵûvV•"´ZmWW!D©Töõõ ‚é˜(¸(›é~aaá‚ vîÜ! ûûû™®¾¾>OOÏñŒ®T*ÿò—¿´··ðÁgΜٽ{7ÓV\\Üßßßßß¿{÷îÉ_ÉȺvßΪBhšNNN®¬¬$„Èd²””šÆ³Ô0q6³I—žž®P(ÚÚÚJKKõz}vv6Óåáá¡ÕjÇ<ŠׯÎAÓK—.ÍÏÏ?zô(Ó’““Óßß¿jÕª5kÖ,Z´hîܹSt9:;«Êˆ‰‰Q©T —.] …Κ'¸›êšPåçç—™™Á´Ÿ:ujíÚµÖÁvž"¥(ÊTÌ3wîÜÂÂBf»¾¾þ¹çž»ßy?ì¬W•Áb±rss7lØÀb±œ4;p6ïîK$’“'Oööö FSRRÈt½õÖ[2™¬®®®¿¿xxX¥R½ûî»c²mÛ¶Ë—/ŽŽ^¿~}ÇŽ¦·÷ü¿ÿ÷ÿ4ÍÐÐÐéÓ§ËËË%É”_؃ÀºvßΪšˆÅ⎎±Xùä“)))c"¶oßÞÝÝ=oÞ¼¨¨¨72íÏ<óŒH$ºuëVPPPQQ‘¯¯ï”_؃ÀºvßΪL9ªxWN¢8mhp`±ßSΞ ÀÃMÙÑÆæpØ®»;—ÍæÌ«,sddxP¯Ð êêþ|ôÍäx‹üF€É»~åâ ~àx} ^üà²î;uí>ÀtBºï@ÖµûÓ é>€ËBºà²î;j÷À¹î;j÷À¹î¸,¤û„bp.¤û„bp.¤û. é>€ËBºï@¨ÝxäPÔøC !Ô}ÄL„›­N'•J›šš4 —Ë]¾|y|||pp0Ó{åÊ•ÒÒÒÎÎN½^¿téR‘HôÒK/YÂçóÍw¹\nss3!Äh4–””ÔÕÕQõú믿ýöÛ.ùïuí¾Uåóùþþþ …´F£1..®§§G©TZ¬$C©T:úà¡f3ÝÏÎÎ^¼x±T*]¸pa___gggEE“˜þüóωD"‘üéOâp8?þøcUUÕ˜é¾y>zèС7n0Ûuuuß~ûmMM !$33³¾¾þ÷¿ÿý_ÙÉΪBØlvKKKxx8³ÛÔÔÄáp˜mÓJòù|dù0N6‹y:;;7mÚäããCÓ´§§gTTTyy9Óµoß>±XëááÁb±–-[öá‡Ú?ÍÈÈHuuubb"³{ìØ±7z{{{{{oܸñË/¿œªëyÀÙYUBˆH$’Ëå¦]¹\.‰œ0Kp6Óý   ¼¼¼óçÏ Ytutt¼üòË÷ušãÇóùüùóç3»—/_`¶Ÿ~úéîîîûíaa]»ogU !@«ÕvuuB”Je__Ÿ@ ˜Ž‰€‹²™î.X°`çÎB¡°°°°¿¿Ÿéêëëóôôÿ9 CUUUJJŠ©E¯×›ÊTÜÝÝoß¾=¡É?è¬k÷í¬*!„¦éäääÊÊJBˆL&KII¡i€ËBºï@¨ÝçBºï@¨ÝçBºà²î;ŠyÀ¹î;ŠyÀ¹î¸,¤û. 龡vœËÍV‡N§“J¥MMM†Ëå._¾<>>>88˜é½råJiiigg§^¯_ºt©H$z饗¬áóùæ»\.·¹¹Ùº]©TNÁ¥@0e3Ý/,,\°`ÁÎ;#""„Baaaa?ÓÕ××çéé9žÑ322êëëW®\qôèÑwÞyÇ~»Z­V©T«V­"„DGG«T*µZ=©ës*ëÚ};«J¡i:99¹²²’"“ÉRRRhÏRÀÄÙÌ&y<^zzºB¡hkk+--ÕëõÙÙÙL—‡‡‡V«ó(þ]Ìîûï¿/ OŸ>}úôi¡PøÞ{ïÙo¯©©Ñjµ¡¡¡|>?44T«ÕÖÖÖNÙµ>ì¬*#&&F¥R544\ºtI(:kžàl¾™Ç„¢(??¿ÌÌ̈ˆ¦%88øÔ©Sk×®µ¶x~ôܹsÅÅÅ,‹²nݺ•+WÚi>vìØÑ£G-ZÄ„©Õj‘H”––ÆDºëUe°X¬„„„ÜÜÜ 6¸ÞUÀ4³yw_"‘œ€ËBºï@¨ÝçBºï@¨ÝçBºà²î;Šy9F#!!„¢!„²ú/!„é%„bÍã{¸¦Ò}B1À#‡¢(Ê”ÍÕO!Äx7ãg±fNÏ¼à‘…t`ʘîéß½Ëo7˜",îî€c!ݘ:¿ÜØ7Ú¹ÁO(óbÜÝÇBºï@¨ÝxÔP¿$üÔ½ïíŠ2sîî€c¹ÙêÐétR©´©©I£Ñp¹ÜåË—ÇÇÇ3½—/_Þ³gϹsç!Ï>ûì¦M›žxâ ¦‹ÏçB(Šrww_¼xqhhhRR’§§§­1ñ„¥Rijlkk«ªªêêêb³Ùaaa[·nõòò"„´¶¶Êåò .°Ùì-[¶ÌŸ?²kà0ÖµûvV•Ïçûûû+ êî=£Ñ×ÓÓ£T*M«dÎ|Åà@Q„üò¹éÿ~é2ï†üCQdîټ»Ÿ}çΩTzæÌ™ºººU«VUTT0]×®][¿~ýÊ•+V®\™––víÚ5Ó±J¥²³³óĉï½÷Þàà`BBÂßÿþw['R*•ÖiëÁƒ“““¿þúë#GŽÌž={Û¶mL{UUUbbbccãñãÇŸx≬¬¬‰_º3ØYUB›Ínii1í655q8f[y—Å68–Íl’Ç㥧§+ж¶¶ÒÒR½^ŸÍtÍ;···×<¸··wîܹ¶†úç?ÿiêåß5žÉ)•Ê­[·îÚµË×××¢½¹¹9>>~ÇŽãçÁagU111*•ª¡¡áÒ¥KB¡ÐY󀉡(Š¢iÓ­}Û1!„¦éYl¤ûàX÷¾yLQ”ŸŸ_ffæ·ß~Ë´õÕWæ1_}õ•ºš/¾øbÅŠÌöø3mllܾ}ûG}ôoÿöoÖ½\.799Y¥RÝsœ“õª2X,VBBBnnnBB ::4=ƒbÒyжªåù¿*ŠP4MŠš5‹íì)€‹³™îK$’“'Oööö FSRRb* —H$Ÿ}öÙ‘#Gnß¾}ûöíºººÏ>û,55Õb„ÁÁÁ‹/Ö×ׯ_¿þ¾¦uðàÁ={öìÝ»7 À¼=77·§§gtt´···¬¬Ìº¦ÿb]»ogUMÄbqGG‡X,ž¦YÀÔ¡(Цiš¦h;µûwÛiŠf±ð"Np,›ïÝOMM­®®ÎÏÏ×étÞÞÞ!!!L—¯¯ïÞ½{?ùä“Ý»wB~ûÛß–••™×Ûðù|Š¢8óÞýÏ?ÿœykþ˜L…=ÌsãŸ966ÖÖÒÒâîîž““ÓÝÝíááñüóÏ›¦ô`²®Ý·³ªàfÍb³X³f²Xnnn3èÄh$¿~B×`0FB‘Yl6ùåüçÍ\U¼+'Qœ648°Øï)gOàáv¥û'‹ÅšÅfÍšåæ6Óú F£áÎ;w†G ÆÑá¡¡¡¡!7zÔ"¿‘`ò®_¹8¨8^_cóî>Ü/š¦izó´î¯¾[—BˆÑhüå•<4Eh¦î‡Ët` á=d]»®¦Iâ)Š&„6åú”é{t)ŠŠú%l^¸ ކ»ûd]»®í—Tßôþ_îBŒF#ó.¡Œ4EÑ4m@é>8Ò}€)ÃÜÝÿåÅ;´å—mý’ëÓ´Ñ`øåÕ<4l C˜2ô/ù>MQÔ•+Wÿñ 3]F£qddD£ÑtwwS¦dÅ<à`øWÆP»ð¨¡è¿¼uŸ¢¾ûî»o¾ùæêÕ«wîÜ!„ŒŽŽªÕêÖÖÖ¿ýíoSÇCÑ=ÃÙS‡bBí>À£†¢ÿï+u=<<~úé§ááa£Ñ¸páÂÿùŸÿéììT«ÕAAALq?“ð;{ÊàâîL™™n3g̘AÓ4¡¨gŸ}–rîܹ'NxyyݼyóÎ;Ë—/çóùL¿‘ž1Ómæ ³ç ® Å<„b€GÍLËm¦MÓ4MÏž=›Ïçóùü[·nµ´´ôööþö·¿}î¹çx<óÀ®ÛL·™,–³§ .w÷Å<7·™„š¦(Š&„p¹ÜåË—Ïš5ë§Ÿ~òõõ âr¹ƒúåœÚ}p0¤ûSÆÍÍÉæ óB¸\nppppp°)†¦iÓ9ñfp4¤ûS†ù’-£Ñh+ÀôõºLðôÍ Uø‡ÆP»ðúå;u 1ƒIýï~ñÖ/ßÀÅ0£wFœ=_pq6ïîët:©TÚÔÔ¤Ñh˜ÒÃøøxÓß"/_¾¼gÏžsçÎBž}öÙM›6=ñÄLŸÏ'„Påîî¾xñâÐÐФ¤$OOÏ1ÏÒÚÚ*—Ë/\¸Àf³CBB¶lÙ2þ|BH[[[UUUWW›Í Ûºu«———ø“uí¾Uåóùþþþ …ÂôŒF£1..®§§G©T2«jA©T:ú`L7ø™üžÜ½oê%„þûöïÒ0Å<­È(ƃ‚™ÅÁ=k&·º'AJ2»:eè²¶N¤Ð¡d0`BAtP((€è ´±? W‡`‡ „hûýLïîÝqw„L'£Q2(ªHX?v÷ëõzš¦†aø¾ßjµAh4Y*Š"Y–yžwÇqžçE‰¢h¾7 à \×Õu}<‹¢Çñ·§˜¦)IR»Ý¶m›ã8UU³y˲jµZ§Ói6› Ãhš¶xý±àV)ŠªV«žç͇Ýn—¦é,¿äbø›rü\v6›}L'Éà5¾R¬ŽÒùÙéñ‰¸VÁ#~€åñž ]û¢ÂnnßßÝîîíãÃÀr „<>ôÙ­ÒMïòºwõòüD)º*øåry}ƒ=8<ú°‰=–ÿ[IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/pcb-el-2.png0000644000175000017500000000211113634703632016436 00000000000000‰PNG  IHDR“ˆ<’Y pHYs  ÒÝ~üIDATxÚíÜAnÓP…Q@ Á¬b ì„°4IJZv„˜ƒ™U‰œöåó³{ΰ¤åÆy×yùmåíý¯‡?÷¿Þ‰wk€×Eå ¥rR9HýW¹_¾üñåò/ŒzLÿ?J%Õ ©ÞšXBÉÆR*)•ƒ”ÊAÊÄR*©ÒT&–²±„”ÊAJå ¥rR9H¹H •Ti* ec )•ƒ”ÊAJå eb)•Ti*KHÙXBJå ¥rz¿v€[ùöùðáÛçµSp×0YØáÄò\ÙŽÇãñx\’jÉ#ËÇHubb9©kßßöw¶åñëõ^‹]}–{ÞfÒ”Ò®*óS9H­0±|øýóïÃïsÿz¸ûúþp·Þa«¶²®¢‰åép<=(Ÿî>.?rTªåS¸™ç]ów€ÆîãÙŠ=­« ßÖ쮑ýyúšîo¬u“‹G´—ßЯýk'O_˜±·êî{?gª%¯Î­×Us¬_$¸öîØ¿æ"Á-¹H°îºË _\¹Qç‰uÏCÌfOë*z—[>2“d¹-®«›L,O猧Oò%OÛûûXW+Ã’©Ñ¨É’‰åÌ©Æ~C¹®&º­ù±ç‡®=™XnÑK¾ˆ¡YWcE——Üí6Ãá`[¶¸®V¸ûdž'Ïžle]¹.© ßc9–;6iìê«c/øžóëP¥Zþ˜}LwwøÕ±03Ÿå ¥rR9H©¤v5±”JªùS™XBÊÆR*)•ƒ”ÊAJå å"TR¥©\$€”%¤TR*)•ƒ”‰¥TR¥©L,!ec )•ƒ”ÊAJå eb)•Ti*KHÙXBJå ¥rR9H™XJ%UšÊÄR6–R9H©¤TR*) ¤’*Må"¤l,!¥rR9H©¤L,¥’*Meb )KH©¤TR*)K©¤JS™XBÊÆR*)•ƒ”ÊAÊÄR*©ÒT&–²±„”ÊAJå ¥rR9H¹H •Ti* ec )•ƒ”ÊAJå eb)•Ti*KHÙXBJå ¥rR9H™XJ%UšÊÄR6–R9H©¤TRÿ9¾À4“UBtEXtsoftwareImageMagick 6.0.6 11/29/04 Q16 http://www.imagemagick.orgÝ<Ž‘tEXtdocumenttmp.tiffý òüIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/gparts-ss-parts-4.png0000644000175000017500000053540513634703632020371 00000000000000‰PNG  IHDRþÌÒ;þˆsBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœìÝw|åðçî’4iÒ=é.¥J)Ù³²QDY‚€Šã§.Ü‚EE½T† Sö*{”BKéÞ»IšÜÝûûãÒ4M“6é†>_?L/wï=ï¸Ë{oÞ»Paaa` 99B!„B>Ã?EãÇ^-Y²V­Z%•J9Žk„ÐB!„ªg2™ìÔ©S]»v­YW$;w®wïÞpâĉîÝ»³,[ƒt†¹páBïÞ½•J¥°D£Ñ¤¦¦¶iÓF¿¤f¤RiLLLPPZ­~饗୷ÞÒŸ™™ ›6mZ·n]VVÖ… JKKk³3„B!„šš¦…ŽŽŽ±±±EÖ {{û{÷î‰Åb¸ÿ>Ã05N'66V$ååå K EjjjAA~IÍ899%$$Ò4- î¿õÖ[“'O!dóæÍŸ}öÙ½{÷ÒÓÓ5Mmö„B!„PDÑ¿à8ŽçyýkÓá8NØVxa.a9EQ&ßåy^ˆA¿9ÇqU'hy„„žç³²²JJJärù’%KÞzë­I“&‰„¤•JeJJ ÎóA!„B%î?Ïó†K¬MÇ’®?!D˜·ckkk²÷OaYÖps!°:éúë+**bY–aa¹hË–-ï¾ûnAAöûB!„Ðãʰ?]›QžçõÝfs]žçÅbñ¬Y³`ëÖ­Z­V?ÝÈ0£+Ê‚’’Žã …Q"Z­V¥RI$©Tj”2˲Bâ R©ÒÓÓgÏžýË/¿ˆ 77WØM 2B!„Ð#ÄpP\X¢R©D"Q›°,+“ÉŒ63]–e]\\FíîîN™8qâŸþ™““c´‹ÊaTž$ì"((¨wïÞÛ¶m#„è{ÿZ­ÖËË+**jÏž=EEEF)¥Ã²¬ð„ŠŠŠLöûGŒQùÅžç÷ìÙcáÊ!„B5ŠÊ}n©Túâ‹/V±É† ôñ©ºëÏqœ»»û¸qã$Éo¿ýƲìÓO?ýÜsÏíØ±#33S˜xc. áû„Ê×ùùùnnnÓ§O_¹r¥H$b†eY77·qãÆ)•ʼ¼<ÃdÁÌÍ å]s3Šhš~ê©§ˆàĉø½B5Ûó~x9Èe¯wMÕØÑ „PSc8á^?F ÑhJJJªØV£Ñˆë77ê^kµZéÓ§+•ÊÍ›7gddB6nÜ8qâÄéÓ§¯Y³&##Cx4É0ôS€ Ñ4ŸŸ¿iÓ¦™3g¾øâ‹kÖ¬&ÿL›6­  `ݺu&o$¨üí𺪯6„ͺvíjkk e× &=z´êtBÕZ,­¶±£@¡¦ÍhlÞ¨g¼víÚ*¶eF"‘èÓ1œë¯OY£Ñ´lÙrêÔ©iiiëׯ×h4 ŸœœœåË—OŸ>}Μ9ëׯ’29×ßäm¾b±8++ë‡~xýõ×gÍšõßÿ=:''gõêÕ ÃÐ4m´¾>Ê©jÔ_ÿV=„ï8X–eYV«ÕêÿeY6..NØGýBÈí1úÅɃÛ8Óù÷Žî>åôÜ´N2HÚ¶à³#Ù¼¤åÄEïõw€ŒC[/y ÔÎÃFzñϵ$¨íØqâœqüÜbàKÒïœÙ³m÷…t ý†6œó:´½{ɉ —Ú¼å @µ~õÇÕ°aÞw íž4¬k³€”æ§ÅGïZóûÕ|ã%„j^*Ï´‰DUÏõSt£×4M§¥¥]¼xqß¾}Eé{ä4M³,ûË/¿ ><--M¿Üò ?B„ÅÅÅ«V­š1cÆóÏ?ŸŸŸ¿bÅ ±XLQTå•MNø©0êo®×n¸ §Ñô,Êi¯ †sEšƒD¬eY­Vkî!„š;‘ç ¹¯=@€’ò8mšîKYƒÙ’à5¡ïÛ÷ÊÃý½º<÷óÞŠË…„’¶ö—+“î&³R÷V­<ãfþÊü`[|©~Ã!/ŒMq±JË•æ%§ºzÙ)ÌÌPòš4µç9“{¹—uÿV†Væêغ­Ÿlû•<Î !Ôìér_›®¿ˆ¾³.¼EQ”ð “)½E® —˜õç8N*•Μ9³¨¨hß¾}#GŽœ={öªU«Äb±ÉdžV¾¶±h®¿a׿UVίžcrsâeŠ?ˆxNaîn™­Ðõ¯|GB5{”Ô3Ð éìµHþÍ“÷´Û‹×˺›Ï@þ½ÛÙè n­\ÄÇs´¶-Ÿœ9õ©pÃSºÜEN”q μ–ÇÇšøŒ)M½ö€kâ>C%qoì)ÐÞþs¿ðh~ýIçM"„ËåÇÅÇÇ;;;×&ØØXžçmllÌvýMúýµÙ1B5o|QÂ͸’nAá€&ïaôé½Ûÿ<Ÿ‰ØA!TIqqñ€Ξ={åÊ•'BÓ´Ï€rrL<ΙR(O?ý4Ëâ_!„B5&‘Häêê*üøWçææ ÓýõX–Ý·o_5sýB!„B C«Õ¦¥¥ÕGÊÝæ‹B!„zÔU?×!„B¡ÇC3é®ü«Õ<á!„B¡Ç@3ïî2 B×_£Ñ4v0!„B¡ºTùjGdr)B!„Bè1C7v!„B¡†€£þ!„B5 ØõG!„B¨YÀ ?!„B5 ŒD" jŒ={ ~ï³g¨‹g”|#ìÞJÒ°_¾þàäµûÞó¾˜(½r:¾¤^¾+aœë7}„B!Ô,ÅÅÅUù“^”¼Ã닦µÔýÅ«óRân^8úï©{\[1®ýßy¯Û¹/¿>–ýôé+æQþ÷ç‹gšž/͸yñzª æ9íöÆÒñš ­¸RTÞ»—Œ[ø¿Ög/ú¯<}„B!„êNÕsý !„»÷û÷Ûã´"[Ÿ6]Û%ü÷¯WžÊbÍ%I!¿UÞC ¼[íjõŽB¸¸Ëv=(ûu¾4/‡7ŠJ÷!|ñݽ[ï–oZ“,Ü: /ô ³»z¡ ì’Aê×£ƒ]êá‹išb^Ÿ>B!„Bu§š®?uNFZš ’î]»tëé÷ßxz\»kË£ ™}'Lèè*¾(ñÒþ­ÛO%«¥mf~8Ö‹†±ý0@y~é‡ÛJž¨¼B€¥úÊШ0'ªèÁÉëw^Îá@d*Y”M‹îÏLÞÕßžN™~sßêuÿe°b·Ž#ŸÙ#ÔÕ”©Wmßvä~‰5cðˆ2#ùáCUÅ7(y«ÁS& w•$žÚsV &„ÐN}æ-ìýå—‡ŠÂ*æôÕw6Y¸Ë¢˜ÿn±3û´u¸t*WøþDÐ+Ò6éï+Ù\yú™<˜ÌR9çÓg³~úxÇC-eßõÍ/¦x]]öášØF¼üéóyË?޿цB!„ŒU9á§2¢~pühj¿QÝüeÑ7X†¤ŸùýøÆŒbÆ9lÀ„ñsF¥|ú{üíUŸîœÿA÷sŸ/>*Lƒ‘ø˜Z­€ñ4$c÷†Ï¶–¸u}öÅisJÒïK¥M&˺tá¹ðôß–®¿•ËËÝýü¤, l[?ûÆD¿ë;V츗/òêúô”9Ó ?[~>¿ÖSh‡ÎSæ w¿´éëeñ$`àäçÛH¹ ÖPUʩť¨¼âºúÕÞ‘NgŽeó”<¤O¸$~Çõ<(ƒõÌäîRÒÍly¯VŽôÃ,ïv-@+ömã*ŠI¢=Â}¨äÓéÚÚæ!„B=ެ~ÂW”šQ*rtµe@“|âß³w³rsÓïŸÙµó–¤mOqå-ªZ½·{û‰ûY¹i·mÙ›êÞ³ÄÌú”­‹œË¾{ûaVAANê½+çnäp@Û·ÚIslÃÎs÷Ós²“oøíp^PïÖvVæ‰E¼òÍ2½o¦Û0N‘ZkÎnÙ}!1;;éÒŸ¿],¬Ð+¯%U©ËEÞ½:¹3@)B{‡Ñ±'nV¼€0—;¾0>¦Àµ­Ÿœ¹µö)¹xèž4¸¥#C;¶je›u3©oF!„B&T7טšËN¡!ƒÇ?Ó/ÒÛNw¡¹*¥ áˆî}ÝV´™ÕpÙ±)Åaã{ßœ+¬qw—¾$#©â\ Àó¬þn_ŽeI…`ûþÖîV“ræ\ö€îOxý{Ô¯w`éõe÷KxRV eÅh.wTêõ4Éð0ß?§¬K‰Yï?ÕÖÏOì­Mø'S‹=„B!dŠ•~(i˼´±çÕ"ç Qâ‘c·Ó‹5zÔtmݽ}‹ô½f®(#5÷ÊÑ»#ŸÕíüêÓĽëÈþnñ@òaùŠ9-VZ×íæ²/ŸL=~âp(8²ñ¡ºìñ¡åéóæsÇæÜ½¯Ù+´øìÞl–hÒnd8͈`ÒÿN(âqÐ!„B™Tí~(&dâ‚…D—|ÿúŽ¥NÜÍç ÿÒ¦m!3'~¾t’²$'ö¿W‚‡ ÃÓªØ=ûï¿4þýEAynÉ{[ͬ\Ê¡ƒ9g|üœ]üðÄÚŸ÷'ky0,aY‡È‘sF¹J)ÐæÝ?·qåátˆòö¶¯WŒ5á'ešüÄÛgþ¶úgp)¦Õ³ÿ{·üïâÓß~°9îºÎ/L^ðíÓlInì©C±¡Q•6¬Ó9om°n·\îÕãqÏNi•}ölªÉ§òT‘;mú͇l¯6I7Ò4¤äátµ¿7·ªßZC!„BÍ¥P(ú÷ïߨa „B!„êѱcǪšð³råÊ*6ž5kV½Õ°Ìå±^sWEÁ>¥ŠB!„š J¡Pôëׯ±Ã@!„BÕ£ãÇW}›/B!„Bè1Q³S"„B!„18êB!„P³ €4v!„B¡úE)Šk×®5v!„B¡z)–µü·oB!„B$¼Í!„B¡foóE!„B¨YÀQ„B!„šõG!„B¨YÀQ„B!„šìú#„B!Ô,à„„B!„šQ½¦{çþýØáO²pý«×®PE¾ €ªÂëаzŒ!„B¡ÇNýŽúß¿Þ6Üòô5šÒë¿N8|äP}Äœ«äoe²w2´yJN­†…„pfZ»‹B\Å¥[-![{¡øÓ'ê<„B!„êOýŽúóÌÛ®Kˆ‹½L,ÓZލ4lZ¾úøƒÂƒ±ÅÃ[K[:‹âsÙ߯ªêvï!„B5€úêú—ç[»•Ðõo×®]ëB4Úºìú'åsÛ®”„ù:Žíæ¨ÒpEj¶@©byž¦(1C;É%Q‘-RóT;od¹É©ŒbòT'ïç’ê0„B!„@½tý !…ÅùíÚ¶¾tÙª …®¿«•Ö44c©ÜÖ+ªžaö2q|f‰–å ßUW¤Òfä—ºÚKGz»—=°­“\ÂÔÕÞB!„j0u6ןeÙ«×®&''¥§§MšË²•'üXòÌ•Jem.n¤k\ìlò•¬JÀ½LT¤ÖƦŒ —†ºé®ˆâsE›/«T¥˳¥e·¨5œU™B!„B¨)¨É¨AA~RrrFFzfVfVf&ÍÐ#GŒ|˜ø ==ç áy¾…·ÕÓoF~Nœ:fÉ3Ôjµµ;º•Î:(lòK´V÷0Ÿ»iÏEÊüœtwñ>Èe¿¦nëkOÑ”˜¦Ül„å*-gí¾B!„jtVŒúkµÚ;1·££/åæå†……††„uíÚÅÍÕ].—'''ÆÅÝ×¥CÏW˜cÕyå•-Ù\¥RZ; _ æäPRÊr<‘I˜¬ÂROø:Òút6D«àzb…q"„B!Ô”Y4꟒šrùrô˜Û^^^Ý»?áââª.UåææÞ¾s‹Õ^Q(ì<<<•*%€îo%IâyþÆFKª}æJmõÏl)µ<ËA©†'b†hyÞÛ¥Bi|4Hamš!„B5YUuý‹ŠŠnÞº}ù’V« %‘Hòòs32Ò3³²”%ÊRF¥Rjµ\ÏžÝÕêRa œ¢(™TVã€!mÛ¶Õÿyúì £)@úÕ ÿT«¬îúKZÃòEB8žÐ@e±bÓQEó#„B¡GXU]ÿ_V-oáéÙ¾}{o//‹Äé™éâ&§$·  sqqqvr¾xébaAaË–­ ò€ps÷¨q@5œðcý\¹„*e9Š  ay[QZ!—«"Î2ÊhÍÌbžPŒ\ 210Æo"„B!ôh¨j®ÿŒé/2"±D¥Rݺuûêµ+‰¤SÇÎOg8¥§_ßþ+W¯ðõõkÓ:\©Rj5ׂ¢<ý VM‹7ºOÌLøÑfþ?`ù^ Ä•¹ÉÙ0 „в¼T,YQ9±ƒÔ]A ëh8r=Í(¢ZºP*‰ÀV Rˆh«v…B!„Pã«jÔ_$–¤¥¥Ý¼y#þA|›Öá£Gõ2õ³YR©tÊä©»wïLKO óôôÊ«éOzÀ¯kW-19áÇðÝší¨§èFZ)0ºçùhX^ÌÐ<#YsIåcO‹D”˜¢îçrvÆÇQœ^LZÊV ¶pg[üG!„B˜ªºþ¿ýþ›»»{XXëÃG‰DU­éäè4eòÔë7®_ŽŽNMO-..ž2eRQq‘µÑiéHÆIÔ'SÅiÅœˆfš¦) xBx dz<çnËæ\åŒ~B!„B–ªºþ¬}¡Ïó<Ã0úÑ}“]£)Šò÷ô÷¬eˆ•ŸùS{4MK$ŽãhšfÆCÌQp9Jíý<6.Ÿ)ÒËS ÑØIH ê îrš¦%ÂÊLʼn@!„B=(…BqòäIsoM÷‹çúë—èÿmÊH%P1;†™B!„Bè‘Ó»wïªæúëÕ²ÿH<§ÚÎý#‘ „B!„ÌÁ{UB!„j,õG!„B=êpÔ!„B¡fÑþ&" IDAT»þ!„B5 ØõG!„B¨YÀ¹þ!„B5 "ˆŽŽnì0B!„Bõ‹R(wïÞmì0B!„Bõ(44TÔØ1 „PC»víÚñãÇóóó;''§þýûGDD4v !„sØõG5/jµzÇŽ&LèÝ»·~a­¼6ô÷Y>}zË–-ÁÁÁR©´áÃ@!Ô|”wýY–mÄ8š¡D¢GûŠèñÈESÓÜJõ1Îozzº]ïÞ½ÅbqcÇ¢Ó³gÏýû÷§§§ûøø4v,uæ±l<!ô¨Ó=ágÕªUÇ5ÂF!ŒÀiµZ¥Réææ¦Õj;¢šx„Ôjõ¦M›ÆŽ+tš²*²óå¢YÛ)yÌJµÚì?ù5™Ç„„„Bªíú7X·•Â0ÌàÁƒýýýfµWu᧤¤D¡P4XH!„ª¥õ·³³+..®ýØÞ£5Àc2Z‰Dbcc“——§T*k“N3Š¡¹¨Á^KUä±6¥ÚÄ‹®®Ž…*Rktú¨ †áy¾Ú8ì7Oxž§i://ÏÖÖÖò­šN9WŽD"‘H¥RüÑ„jjóa~„2" ±[Òõo0<Ï3 ÓØQ „zü•wý9Ž«åÌWŠ¢¡1sÑr<Ï[XM!וc°6–ì÷~®65.Õ¦ÐHªf²\³ü6ÍÌEÅ0 !¤I=Û@èú[^ÔM§œMFÂq\ !„¡ò®?Ïóµüdηaÿ|ÔÑ@{ãŸ}Wl»°Á•+IÚ>q”~›´éÙO´üxó’Þ^LA›%’*ã¢Ö>ÜñÙ׋M_ðr¨‹X•ëJR¾š'¦æYtæ)[µ|o–”€®€UõEÁÙ>!Ô•÷÷*8ép‡Wl‹õyîëGû ãU¾þÁí{?U exžUÆ\³z癄b"qxrò¬ñ]\EÀ¦î~ç3=g÷ˆß±;:ƒwëðìs£è«—o?“¤th=æµ·žmkG›²{Þ;';<×&îไ<•´åÀ©¯Méî&mÒ•«öGÇf(vhÙë™YÓ£d”°þénÓ:'ì9x=]- ìÿâÿ¦÷tqYß{ã`o¿Õ‚MúÙm«·¹™Q r¿n£§ÏÞÚŽ&¥IÇÖ­øýD\>ŒÂ»Ó¸·_âeª·KÊ&ªVé$€–¹xzyÙ€_˰NÝ#7Îûdýšsæ÷p¤A“qî7£ÚfîYð¿ƒí¿ü~b€€(¯|ÿÊÚ—z§£ú_ƒ€‰&ýÜïk;r-]"Ç ~ÓßžÞÍ™iŒ\ð&k€h2Îÿ¾æ·£×…ûN{kzûÜ ¯œ2sõ‡dªëK^Y&Ÿ¿lN«ì]óÞ9Ýkvϸ»ª¨zsÕdºŠ7¾z}C"^}n€¢ïÇËg*ŽUn!ª+F«-—øqy9óʸkVí:PD$îížœ2ë¹.®"³ÊÔÑRU©Ê=ý :¿<σ¹ò¬°\‰Æ8øGÅ|`êè`SvÏ{çT§‰mïï=v'×eìü¨Ëßòhaéýü¢âL]µ"/Ÿ‰3bÏ/¼r>á^‘õÿDßÓÕÈÓ/M‹ Q•O¿éoOïÄ —<ÏS|áµMŸ}{¦ÅôOæö÷Ó>_xk×ò_þ¼’©µ 8¾_ΖßíÞùùÕ6ÒšìV H³ù·vþôGš´cÐöOvï(,ôzfÁ{Ç~t n~Ç@1xÞœ^žU(G®09OäÛ½W„ŸîÞ!ÕìÍè$Ìe߸˜&ï¹pÒÀ6RoßàöÀ¥í{÷{Ã?û~rK )¾üýÜeäÕÿYø×;}ðùÜ“?~µ+¿ß+‹†S¬þ媊îMáŠjy°›GJÎè&¼¶m3ñëO:äûåÓÅ›ŽÄäè**âyEøJM¥b4f|ȶ÷ Ú1 _¯ÞQ#‡u÷37/J_´†_’ÈœD%q×ã CZÛ•OÕ¢]»nµuûÑ„qÁ6|á̓יÿk-R`ÑÑG€›ø×.¯É¯.™i—~ríÒ)¼ó)6}Œ0å'X6úSB¡¦F׿¡(ªòMmÎÞ6$ÂÏ;¨Ç˜¡ºª7WM¬Ù*.'æyž¯¢…TX­¼œµYç÷^ez½4­_ˆ§›_§§_ç›vø@œÊ|£²ªT‰6zñ‹Ïë¼¹3Ikþè0¹ü@¼Zߣ6ØÉ£ƒ'd]'ŒŠp¤‹)ý<ì*òb˜2[‡­H[wìc9’À¶>­èàîìÜ"´ïÄI‘¥WÎ%©ùÊg@;'Z¸Ja³Î­þhé•V³?™ÝÓ•®¢ZµYöß¶ôÒsOø»ºøu7­¿ Bju°Wwb¤D]nû믿öü{òòÅ]v/<üÞË+Rû/úûÌÕ[wb.oéÀèû¶-2ó¼ iØì­§öüòjÏüS?N<ì£ÓUíÚ¨¨‰}Û8r)ÇŽÜgÝ'º‰ÍíÂÜI˜’ºup êÐgèèAÛ,Ü»ûÎ7#mC£:2KÜÎwÏ:òÀ¹×t_1!N¼ÂÑM—x Ž>㣷¬X*,5:FtíÇÊÆcU!#„jÕOø¡#zð7÷O*5\¬-ÎSÒN-ÝHÚõD¥nQnll¡ÜÇSJÊú0 ¿É& ûö˜à2n'rÂö9wï)üܙ컉ڀ!ƒÛz*D@´K8¢û¹l˲ï”uéê_0.ÁžtîN>g"'2¯¶½‡OxåÃÏ_n]pîØ•¹,C¥oÞyã™$<Ï•Ä8,iÓÃ߆q ö0³SÊ1²¯Á…“·¯½CGôm%5ŽœqiåA¥\Ž/6ܶQra®6Å.­Ü©”èŠò –K@]¤ÒU]QZ¶š/« ãª/ßcYšÏ ¹*&„Ó­®É2ÛB W3Øœ7Î]ÎÝØB¹O ][5Ù¨j^ª¼©=–•§ÈìQƒ7}tØ@[Tz<_­ˆ–¹yy{{{¹ÙK€çyMvl¢6àÉ(Ã*ÚTãá JÑzü‚¹]R7|¾âT¦–çyóÕJ;¸´[©ºYXê´[)ZBHÍ“×uUc<žúüã~FuîÒsè[§Ãg v4ýH,»n¯½Ò)îó1}{vüé5^œyøû—G ìÓgðÔ_2¢¾üizÙ®¿É¢®€qô´M‰RÃñ¼MË]¤·=t$Ù£OOº¼ƒÖP¡-£ïÃ"]Óʽ_¤ðs—»˜;F*7ìú#„PdÁOzÑ®}¦ LÚþù⇢ï&$&Ä^;±sÙÂOv$h:iÇž^³éxlZFbôî•;“=û ò—èÆ Ò¨°}÷„àb~ßp(&=+ùêß¿îNöèÓÏׯÞ×N»t'—%¼:åäÖ¿õ[CÙ ”QªúW”cç1½d×~ýiûÙûiYY©q׎nß|8Y[úðÀï{ÏÞIÊÊË˸w):…sô±™Ë±éÒàUÙiÉÉɉñw¢ýñÓÂE‡J"žŸÐÑ(ÇÎczÊ®­Y¶ãÜý´¬¬´¸kGwl>’¬ŠèPpbãÖ›L»>-môŸÂåwý„øÂ/Ëÿ¾ü #;#áÆÉ£WsøÆÈm¦6…/®\±çrBFvFÂSǮ岌K›0yÒÑÓIjžW§Ý¾7‘PåCÌÆaf›ð<F÷2x/533õþÕ#Û7NÖš­bÚÖՉɹ};9· °X~¦[HÅÕXƒ†A;uÉþu£»]+w&{öò—˜Ý£•¥Zy±¹ò4·œÐ2Wg&ûö­¤œü‚"¥ÖÄÑáÙ·¿ŸØ8à [RzʺhEF‹i{_W:-úNKxuÊ©m' ˜n<„„§ìÚO^03ôîê/×]ÊÓò"žçÊ?e(ã„!å½Aà 0>C‡¹]Z¾`s>¯ì?둾" ºNrgùÚ·g¯µ•»„ Öéî_Ä`HY—”–¾|w²ðÉÌuؼsçû”§€ˆÞcl (™¼è?–îÈR;‡ô|ñÕ'=)“ùâ3~‹ð„.fý'ïPRgßÈççèßÚ‘æydá“ßÕaË® ŸíSHÚöc«+Oûˆ>ÖÝ—õèh#,¡„¹×º€mç¼;K¾açòvj@äØkRë^¤Qraoº6‰mø”wgÙnعü£Z9öšØº'/ ;cðŠ5ÏÞ%qðíÆgè0× ?ÏßhдÌ#åm ëNA!„šJ¡PDGG8p <<\«Õ6èι´} ?º8à˺šü‘ÑFùx–J¥çÏŸˆˆh€½×ß.2u®ÉÆÜ ¥jæèhÈÂiÄVTŹ”¿>ø8zÀE¹[õÛÄårssSRRfÍšUÓèêÅš5kÜÝÝ-Ý ôÞ†w¿Ë·øíî5«žz­V©TzñâÅ‘#G*Šê×F!Ô BCC-øI¯úc0zXù#Ȋߥ¯Sú‘ÎúîîÔk,uKˆ¶ÉŽ6h©š::ø h¬VT)›DõàÌ¥b¿6þ{tóþlÿqíœL6[¢¡Ot³ô$L8uIAÚÙ]ç53Û*ˆn¡à@k²G1B5s"0øh蓵áWÐfÞ„ÖO¨ïÒ¨× 6X.ê–a´Mð¢¥AKÕÔÑÑÀEcµ¢JÙ$¼:éÄúÍ ´R÷ˆÁ¯LéãJ×<(Š¢š`ë²¢¨Õ1kÞYz•wë6ej¸mMj§’Ðxš`9#„P3W>×_ûWá܇|üó0= §ÿÌh”nGÃ\Õ_¿ª!sQ·«Þ-Ñ ¥jêèhàÂiÄVdthHCÆ-øzœá µ9Y=ò£þ’°Ù?ý¢{]ÓÌÔ÷E]Ó¼¡!„Põ?éÕXkÔ_¿÷( aõ:ðÖ¤êÔ[ï–hÄRm”Âi”üÖ÷¡Ñ45dQ7ÏF!Tþ\ÿÆ£ 5âØ`ê)ƒM¹N-Ñ4¯[šH©6XÉ4n~›`xÌÔk 7‘ƒ!„!Ð4ÍqÏó,Ë6v<©×Ožç9Ž ¤þöbN]e­qsQ¯±?ÑdKµžÊ¤©å·†©áÓêÃ0~®Ã†$4š¦«_!„P@aaáÝ»w333qŒMïÂ… BxÞxžß½{÷óÏ?o´«¾–„‚3f c“…ud•æS\_N› ÉÈÈà8NXBÓ4Ã0 …B.—ÛÙÙÉår…B!“Élmmår¹T*•J¥b±Ødjööö ;BMEaa¡áŸÆ]ÿâââ 5“·bÕ×˲XŒMÖ‘UšOq=~9}lrIJlëÖ­iš–J¥"‘H,K*²±±^Pe;d„š4ã®?4áß»Au‚¦Íþ*V}mè ‹±ÉÂ:²Jó)®Ç/§MŽ„Œ0 ãìì,‘H†‰DL‘HDQ!Dx<¥ÊÜÀ?BèÑþ*!„B!d!£þøˆÏÇž¹*ƪ¯%¡±›2¬#«4ŸâzürúØäè1ÈBMŠq×_øî¬QBA «¾N`16}XGVi>ÅõøåôñË‘¡›7oºººúûû7v =bpÂBÍ›¸yò w¥sÈ# KÏZ\úŸ3¢^Øšü˜”Øc– 5\ïÚµk×®]·„UÕŽúuÊÉ­«¶¸p7K ÷Šì=bÂÔ±]<$¦o¡çRÿ˜9uÿÐõ«Çy1õ´Y¤ðøë£>¹aÓ탭_ tf”Ñ?3¿èƒ¿–ô7|<”ÚV}ÑØm B1ê‚Ñý%qm3pʯ –[R‚F‡R½æK?3à1!4Pgu¤K¡žK¯ 7iÆ> ëÈ™o¼ÐÃÝÄÔÑ*H}»Gõj)3[bô9b˜ÓWû÷¿eb·gVnz%ĦÂ2@×ê;D+UUwr ˆîOŽŸ8²½«uµ§S]%šC ¿>z‘ÝW»¾è"¯EH·oßNLL|øðarrr```Mr€PsUÍ\ÿÒømoÏYý ÕˆéïÎnëe«H Yl IDATɺwñÀΟ6„­š)5™^Cô!x–‘ÈÔ÷„ JÏÿú[lÏ9a6ú€  ž”› ZU}ÑÚ€Ág-!@1‘oþôz[m^̾eß}÷ønšYm‡gµ¥zÍ—.š¶ü£øåa]ÔQyZe ÕS׿‰6i)[œtaëw¿.ü²ÅÖo‡ºYÑG§ì;L{»T<ãTÞ_c\‹êw¸`Õ/%<¨ï®žÿ}æÓ‹ÞíãDP?±qPVGkþ#¬˜nꬺ0íþÅ[öæ¿gß\ùÅo«Ÿ†Sm%VÑ©iHG eYöàÁƒ³g϶6|„š3p'“Éô‹Êd.uï7knû½¸zÉ„@a˜£e«ðnƒŸÉÓˆIéƒÝß-Ùuævj 0N!¦¼õÚˆV¶Ê ¼°ü+&E­°¼ô·ùTêñ5ß­Ùw%U ŠÀ>^ó™{€Ë¿²åë%ÛΧiìC‡M’µz­ÃçÛDÊø’˜Ý?|·ùh\!±iÑiôœ·§÷t›¸eÆÌ#=^êxgÇþëY¬BÄÉF¯Ø0G|!Eç>žø%ywË'O´¼ËÈÛ¯:òô×C݃áš1SBâÇÎëwÖ³©œG·i ßAÿûÝWë'”8ELxÿ“©€RÓyylXVõ„3_GÕ£P•ݦ·»û×÷sTÒ§^}ÿå~ž¢*kçhŸ¹=îoÿëRŠJ<ôõ^àž¹óå©;Ú/k’m âg-0rw9øÌ~óÎÉ×ÎŒ‹‰Û·ÌL úF^*¤ ?”¶Í©*_¥1?Lz#éÍß £ÀÊK Ÿ[d÷Å–y­3-Ê!€Ï»¼~ކߢ³ˆS›ºJ1“ß ¡fï?r¸þÚd=©aÒÔÿÖý°vߥ%ˆœÃ†Ìýäµ=?.ÿÒÊ·õ™ûÃ{C½Átc3ö3]Ú¤É6ið÷{1vß¹½7ÓµC\iÓÁ«,ûfí¿1¹0vþݧ~òÁh_:ã¯9/ü5à×ÕÏù˜Z!*í#£Ï‘7íþ±üäÐBd²šú¸2ÖäÔ+(T%ö"ªÈ#°U°|IÌîo_2>õaØ¿¬ëoÁ!ãþÂòìvýа92ª; m׳_—å3ÞüùÇ“=¾ìïL›Š\ž¾}Ö´?»®XÿR€”œÿôùÏ5ó·|þ„êo}%Zžq׿ÊÌHHH(..n×®Ïó·nÝJOO÷ññ±à¸G¨¹~0ÞÄ¡UvD6óü»TÇIOùKˆZî(¥¯¥üžšû͆-[Ö~3=èÎÏﯺ©$¶]>]7'P8{ÓÁÇï~§­¸ðâo~sÅw⢵›7®œß»`Ë»ŸÎb ›uøË÷7gt›·bÓæož“øõ‚RØeö±/ç-¿ðâwk7®|¯¿òÏ…ó7ÞW çöá΃âçúó߃»~|5¼àèþû*݇íå?£é'FF(„S0åØíÅqž7Öo½]¢†"7³.ñ;¶<ìôæO«¿%4fõûï°ôVج%¿þ8¯sÚÖEcÕ„ÎL^5`ðäãšT}•uT}1 U¹û°ÝÔå;öìÝøºïéEïmŽ+­ºvvÿ+zvé®ûÖÍq9¾dé‰\pï3ªukú‚­PÚÄàoËDÀ•j5æcÐ7ò½U<”lªÎb°gýŸ–Wʃß7%uwí–5_Œÿûù»›ãJ«È¯A¨¬j~«¶uÄ\XúÚg`Ðüå·l\6od°T—,BØœ³ËÞXø_à›?¾?ÄKl¶±™;ûUQÚM³I³ÊÔKN¤‰Úz0fÒaS÷/úþ¼÷´ï7þöûæ_>~¡»»¨¬‹¬KÃÄ •>Gl¬:9p¦«Éúœ–7á`2ê+oA–2+žñâ#Gš:!lÛŒ~:Psõߘ3©^Cü³~X*4¶âÿD“Èa ¨këÂ3 £ª*fÄÐåË—CCCÝÜÜ<<<‚ƒƒÏž=[ÓŽBÍ‘q×_˜(ÐfÇç€[°—ÌÔéP4ò¹';{¹»ûF ™5§«ê܉‡jݬ?”ÙœÓIž^0{p[_-Ÿ˜ðúx·›_ÌÓfžÚuU1â­ýZyz´ì5õµ!nÂGg橘AoÍÚÖ·EËSL LÚ»;V%$+ïýÒ„Î."жõî1:ByrïÝB—wáÏëÒÞÃZÛêOÓbß3û”þ³êP*«?sW³¼ëËsGµ hûä¤a-òïÙN˜;¶s듞,¸r5“5›eÓ´™k V}5uT]1 «ÉzÌx¶=M×'¦N IÙ÷÷}u•µãØoæ¸vŽ4H¼zéÄÄžKTÓNÝF5±6P¹õK !„-¸ûφýY6!ZWCY#·±a*ŒU“/£uõ{µ¢RÄ‘/Íáåî×ù¹·^LÙ÷÷ý3ùå*†Z“VØHjYGlöÉG4}æ¿7±Gp ÷A£žêìB '=6óÄ÷¯v!lÞï ôd!ækîìg¶´›Z“&š³ïŽ4hГ#&°×nâçït!æNõEi…¢í;‡´pqöh×{ðLÅ"7½TlÐÖLV“¹«Ê©Á[¤ªSŸAv,;dl¤¶­%GP¡X !´c ¯L›•Z¨1“¸u˜}üHB)!„/º¹ÿ2tÖVrmMxœQæC2̈¡ôôt¥RéîîÎó<Ïó™™™ÙÙÙæ>ÚBFjt{—õ÷Wì>Ÿ¯»ÁߦW1gœž6ýFriêí—žÚb°Ð+£P•y7ƒò™è£»YÊÆ»½Ÿä h³bÒ)ß§[Ú ×øŒKx¸cqlb1Œ{h Ý,sÚ±Ó˜ÎÚ¯öÜ.iסäìž;vý_ ‘ì‚¶ï<åyÿ›¶\8§ú˜!q/!qÚÖE.r ób m]l)u¡š3›—š–á#©º:ª¦Æ#L·0vþ­ì î%+ùÕusµ#ròwÖÍûdlm4i*þÑiDsöÝÑQÂkYðÈoô°+¼ºÕ| -ª¾•ÂL¾ª`i¥´ˆ ´†çÖ­í â’ RMç—‘%¡>:,­#mú­Tð¢¨ô­û`ó‚/è'Þ_ùV_Wý„ ÓMkîìg¦uqe­«É4iŠi÷êw¯¶ÆYµôù:É̤C÷rXàž%“&ÿÓý‰Î]zìßÑKV¡ð$þÕ¬P]MœLVSíOàfO}­«ßK¥C¦Iä@£hÌEÎøu´jûчSƒ[•ÞÜw:¾×Öè&x«Â㪠¯,$sâããíìì²²²(Š¢iš¦i‡;wîxyyY–g„š»ªžðÃ8ºÀ¿÷’Kø@£“1_pú›…[ Æ,\õU¤·½Mé¯&-T— •Cž'tؼ­K£*NÚS_ƒ›ÔÊç'èg-”­P6ú„¢èò-á#»Óï¹–Û"}Ï=ר7%„( £½†Î¸ý½UûGN]Ú\U1&N¥+Ñ~O1—“Ã" «Þâ:2SŒ„ŽåxBh±ðù§¿3ߢ(ª,Ù²j&¤‰¶ŠÔ B?iÉ+me”ƒ‡§³Œæ N.´$†Š‡RÕù*«‚²Hxž'e•dq¥ègé?u 1_`“ŒŽÇGK-êH¨—ŠÙ&íÙÅæÜåCçR»ó‘@U'IÝVÆg?3­ HaÙúM¤I#oá(‡À–”ÆL[ñËQz˜ àùïÿÏÞYDÑ„øÝ+à€C8:ŽFDZP@EL,EÅîîVìÆøì.LlQ ±L$ED:ޏØïÇpwrrà<ØfwÞÚÙwgggÏ9½yôäÅ‹§Ç?Ùcݾi¶ÔÊsÇqоÀ üÁ/úr#°s¨í&±5åÿ?ïÈ»¾_êsbõS¦i4âa¯¬ÀÉKL-¡¨jÊ„†(;zì;{/i¤êÏ›Ñ`»ØœÊß/ ;/~ϵýk‰$¬wqpp ‰D"‘@ H$"‘H&“I¤?ÇD þ9DÍõ'(Ûw5â¼9s;© çƒ]˜Ã,ÿñá+˨¿·‚;/!±°b†!F Îåð~ÕÌ5!1<&ƒWƒ¤b¤ÊM{›ZÑÙ•}{›RŽŽ“TLÔ íUbÅ$?vÖ‡yòúZÔªÞë×!¨¦½]eÞ^ºr-Yó‹©²¼²P-‡ 3N>sìu>—·K¨Ì5^½¥Š_Âtivˆˆ†ª:"\O¬³šÇq8ß߯ðìÈþùác!Í@ƒôS|ïHX Ô6#¯”(K×ÑÓÓÓUW”ÆÄ‘¡Ú©$Z/¤ä¥¡¤€YaÔ´Ì1ôÂqÎ÷˜¯•NÉþø)Ÿf A£ ×·¶¦Ízúˆ¬f¦%?þRÈ­y\Í*`ÃR—ä 9ïg°p\ÄA„õ~¢¢KÂBºª€ ê6Ü•òúôíÌÖÂCÕµí6dÂâ­{ZåEܪ|1ˆï(µ+T ~què¦?Ñ´zu¹<ÕʼnM©Qnñ‡K—’(VFÒ"ŽFPvðbäF†F¿¼M°ënN­)ªØâñ‹!\¤ŠTAª„\Ú5„@D¥þ8A­ûŒ‘FI‡fͺúø}ü×ø÷Ïo[3iÚ‘8–¢>ú(:‹sK’ïî?õxªš21óMtbVn~“«Ôѯ«ì‹­«„JËÈHýüüúá½×’Ê ÊNÞVE×· ÏÈHxxlçퟀeçöì{[wßzŸ–žðøøÆ£IZ=úIÕîpœ¢ß½ -úØ¥4]/7u"§R%}—€näç—bÊxeDa2׺(â5z^ÀqLˆ.µ»5 GD4üª$Âõuõ‘`3ò¶Ùï]{÷íGò‹3ÛN$itïa@ýïHV 0c…0ÕJê*CõS‰-R/œ¤Ú®­\âõû‰%\nIjØ¡³ •#ruw +úÀîï¿ýH~ynëñ¯Ý{È×·¶žÍ‚zúSê0¬åáÆugžÄ¥ÿHzãùOv…5Ší§lškù~óÜ]³ÙÂ"¬÷]’Ò@m3ÐK-íê•LÇ)‹¿tð\XtbFvö·O's”ôZ‘øe\¡zðƒ˜: t“°‹‘HM«þ‰ã8^—Ë“{ò]\¯5œFÀ)þ‘–””ô56úñ#«'ͽZd;~¢S+LT$`­íºæÝÙ³ÿɾ»‰ Uh-®xügœP‘j(‚@ ŠšÏÈjœlR>ë÷hœ=zîLàµ\UݲcÏIÃL¨JÆ3¦Dîðï·]–¦Ö¶çïNòNeªåð¡köL¶ä=6Ÿm3yëRÅ=ÇvÎ8_ ÕÚȶ›Ÿ<†”;Ï_‘±iûæÉWYr†ÝGŒ°J9K"Ž)ºÌ Ì Úyhö˜B ¨µë½tÁP2޳ùº™JÙÈ:]<µÎ—ëÙA•PÕ 5“Á#-oo{Ç“ Sr"sµƒ×úUyÅÄäëÒÜú&Ç®ðSG×KaäºøH¨q’Þ ÁêQ{r¸4ãžóWù1¨“wÿµŽHX ð [ÍŒ•ÂÀ¯"¨£ ÕO¥ccEè…ƒ´ùÈ9ý·LëœÒJ¿ã A6/Ί¡Ï)}Ô"×ýr daúÖ>›õõ&o;móü#;N9VdE㮓Úuûe ‚ŠÛ¬MÌÀ™kȬÚ`-ä B{?Ñ=Œ„†4Y׫¿ñÅÃÁ±#–8‘²]q$ƒ‰EÅÂcæ’þÚDœ UíYP…š×‘©âuÝ$®¦• CÕMAÈå‰óKöäµ®@Ãj„ã8'fç´ñªŠ¾…ãøõCzZµ&ý&0%;/ãÛ>Êvñ4¦VÊȯµØâÁ¯¹SÂEâ;gÿètG ‚Áäää"""""" 77777÷/ ÁN>5aÊã^ûwz«‹³J~é‡KÒGì¬Øü>)ÔtÈËËß¾}ÛÏϯFù_r=;õܤɑ½ìì£ÖŸD¤à¶W¯^ÿ BÔ ôÑö~ 4W#Ñò4m1ñQWWWRR¢P(D"‘7¿Ÿÿ\ …|+ œD£Ñþªô„dPPPtssssskª7cpæ—{ Ö %È~-(8ÓhŒ£j¯|8‡Y˜“zÿxx™ý|ûVMžó!šˆæJýz?@ ê€Ôÿï<\ÃKooÛ½#·@Fþÿ²é=5Hun·$fëˆÅ9î3gÛÓèY`Cñ7\a¼†°z6&Á1€OK>Më£zõ~MÁ¿Ò-OÓ–§¨'÷ü+=&ßnÂŽ3þpoYÛe!·TžaþýK®'ëø¼î[ÿãH^ `|w5M- B0’á£úõ~É0×ß åiÚb4jîò#HS¥þ‰¹¾A@f”|Äâß1WËÓ´åi„@ êJýÿ9šxÔ¿åÒb†ÙZ0ÈGbñåiÚb4jîò#HÍÔÿÌ™3M"G}hn 6=eeeµ ›Êõ-É}eee’|µ$Sÿ1ßGÍÚìg.I3KƒkÚä 6¬FM¨NYY™ººzSµŽ@´‹Ç\-OÓ–§¨?BèáÇËËË·oß¾íÛ·———>|øoK¤i›¶±vî1bñ‘ÐË áËßÌäV›ðƒ3cOÏôj«E§ÓéZ¦.£'”ॉ!+‡8Òétº¶•×¼ëßÙ¬øí´]Wý·ØÛFŸ®ÙiG«41dù G:N7é°ûY. ïè¸ìSùçíµétºé´gLÕ„¶‹@ @´`„Žú+((ôíÛ÷ùóçVVVU…ÑÑÑ}ûöUPP¯Œf7v¼ÙÁ5Áo ½;ÿ*f§œž2ÿ¾Ñ†+{ܵHù‰oßR0nnؼ>ãîZÌÝu·¿¥|QÜ‹78à¬/‚=Žßˆ½¤Â.ÎZØmFŒçº3Îô²ÁK§  uÚçxÔª®.§G†NÐ#7/|vÿÚÕú— j@ hшZ׿W¯^÷îÝ#‘HòòòPXXXPPЫW¯?iFÙÌP¶<>1—Í×"'?5‡¨çân­¯Nuº¶)'ýÆæKe½î›åÑ -}K`ŭײ™îêbÑý­W¤'ÜZ5Ø”ÚÓ7O½ÚåhøÏƒª5Êùq{‹ j½-´‹@ @´lD¥þ$ÉßßÿâÅ‹ €°°0龆ã8`ÕF×¥Œ|üÌÌ´·?åÙ­Sg¯Þ®ú²XYê‹DÜx´•B­x²†•ï̓²”§ñ%‰/:élåû·~ZdøwVè- Ý?Q @ h>üæeY;;;iié¼¼¼¼¼AÉjà<_3m%RQ½=+–(RêÒª¶ 1’ݲ“Kmxæ0Jk})‚夣nž·¹Ï­•íiPøbËÜsÿ³SÚR…ûûÕ%“ÛêÀ“ª"!Ò ¯ÏÄèí}gu~¼qó7â`TuMË é"ŠF·6+ùòƒÑ[4I"Õ¯9韷æl‰õXy|›‹ZÉû³KgÏ ™ÜœnL¡ZéI¾ÿÑlÛ®<-p=?â†M(O:3¹ÿ’Gê}'Œœo©17/ê{1lËÅ­Þšäú)Ó€ÿÊ ÉgÿW2éfŒ7ë¤ïÀ%W=ÎQ'²RÎ/¿ =/عöÙ&£<14ªÀÌwÅ$kméŸO­Ø:*@*ôÒxƒ [ t"F¶^zb… o[Q¿æ²â¢á¨ÓÄ}___1‹³ŸÌór ÈiX´ï¶úÂô‘Õkt²iÊ[ëF®M)ÀAJÃqÈö#È€)vÞxu¯Â¼Àñ]7”EÍÚw­KÍ>ÐÊ}Ãõ#ª‹ç÷ ÊQoëî;_@ë0o¶ÃèEÖs •ÏÕ×;V# jQ "M‹ah(Æ3"û¼þœÃv¡‘[}|ù’]×>æáÒÚý­›ÝMƒ %o—¹û~]óü¤‡<@ñÉγh‡"6Xeìöêâ1ÏùíáàôIA½o͸Õc¹Çûƒ§'ÉXø¬Ú½¢·6gƯš¿õrôO6]fþ·ÝO¿¹ß‘±RÎ/ØüÆpΓMx—23 [÷~£³XÒP|62œýþ܃3¯¿•¢Ë°’.xF¼ @7pÞ÷_OÝÕûhÓæ˜v¡úÓ‰íxóï„Õï(g1lŠE…(í,Uoõ¾öú{y—Vrab+=³6m䪕a²ÖS7ùÝò»­÷YØŽ¹gÃNO³ø^ +õ‚-þ{Æ<ü¤b!q¼@°´ÂêY§ÿ‚¥Ñ©»°š©ñp¡Ã‚‚tN£[›vïJ’öàöÊDQj 3—°æì~D)Ó:mp{@wòôàc“^¥–1¤ô»:‘Ç\x]ص3­ŽFø‹r=b‡89×›¢¿âÜ6oÂÙYËêÍ¿zjœ ³gß.†ú-œãâpÂGãÞ^kxDÅ?VæçlUg{:YŠëà x,6“ª?¯¯:H™pº« ñïJ+Y§uçœ*X›’^;M¸õ<;À€NáN$ÑÄ9mD=¨S¯'+++Æ!1Å>W3úmPkÔ½”Q¼mCÿ þ Íè·úb¿ÕÕ gÚŒÁ0¶ê<þ’æ‚£Kæî¿|Í`0»ªfæb4‡ËÜòE•õ œí /hçòÄs‚8ã7 ×ç÷.DZaõERM<Ãzösñ&T4ºµY?ã28Šz­E++Ì\B›Ãä–›¯zrX{SCc+¯e©ý÷ìT‘bTº–tN|†Ä}©ð÷®o€°aeÜYâ35ÂzÓ…MÞÚdVæç ÙN»ú]&£ÓF ~|ÉI{к™j§;:ùß4Y¸®õõöu_z/óLÜ<¤£µu‡A+ïdHœ6Üü';7>Sñ™äLÄ;‘¤ìÐÜÊpÇ=ô†Îüxhü„ËsÏͳ•ÃDE·÷8Þ¦µ­½^aŸgcý—XJÚC+¢…€R„P~Íõ725¢¼¸1loHj/?!•1¬úgpœËw­%’ üÿÄÕ«2f“Ï=ëöøÎ½ˆÈÛGîÜ5äèÕ. Íû©YÍŒ—>$ãf‚3 ¢‚¶±©™˜™1ßz¬]s³ÿ‘~j$yõVXá÷¼Ê7â9ùéÐJƒF–QV‘†,íŠ{")u u8‘’‹ ©Ï;· ²šF¦šVmdß;OÞÿdÁ‰N›nßar£´Ö®}2?ž“q}Ùªg& ÏŽ7cîþ—§›É¹TÛ½äÁƒèìÑMWTí4ÙšaµöÑQ Ò|R?x]øÄ AsýÅ©,œÆ¶¶[Wªcæ—Š^?˜ fsÄÜÈ=r\÷®öw£€‰a`BhïƒÁ ƒf›R¸%ùe$š‚„¥µ%up½0;Ô9lˆjí;I‡=ºô Õc(ïoi}—¶ÒgB~Ÿh¤ók¬¹,éÁßrm´ó¸¤Ržp|Ù ³Å—Úäîy'í¶ÝRAžÐ«;müÃÄÒ®Ö2¿ßý/€3??tGÙØãÇÌ©Ô-@†Ñ^;Ÿ”ƒÖhE ‹æZ!þ8@i“KQo§…Š­xA‹•ùêe6Í”A#¨J2ÀÌcòRv^R:S̯%hF®ƒ&.ÝuîúŽöÙ×Ï(ýý.’ IÍm@ö£=çã« q± ²jš†¤Ù{š—Ô£ÝçY€É›:ë”ãMjaÿ|õM¶&EÆÐŘÿ­bü²<ãÓPÒQ$ «_C›ÅŹ\œ@Õ0044444dè(ŠÌ9™·W®ŒÒŸµq„ç’5{ç/¯±»lÇM·nT¼Ò– ÏÝÚÞCYV°´ŠÂê7Ñ„ëÆ¶6•M”¬Øß;³92»¬Œ دþÃ//aqع‰©,z[M 3*ü®b‡:‡ AÑiþÉ ¯ø•¾s®~c`Š®3 ?ï ¼ù½*™d%_Xu(Ýbâ4ÇZëM7 Øi–ŸQ™9ÏU‘Àåà#)ãr$d…Oœ{l¹ÃbS¹BS $ái ÞZWK":»Bá¤%ÄÇËâfÆëàµ× TwÖ“"I{Œí´aÆÂ•v['9Qプm‹ÕØÜ† -gGÚ§®Æök I!›ö}Ä1‘ïþV£ôã‘•ÝÝ­u8ßÜc«ú©6ÿÉþdmŸÀ™×l8<}θÞ6Ú2¥^8r]neÈ:£j51šCÀ­>'޼½Ö^¯€ã¾å 7Øoi”º~SŒÆ¶r@¤zMê¾yÂò§&;KÇ]|4ÝpÒ i2Qp}fôž-­íÔ¤Ù??…ÜøØq‹]×äd…®\¦5-d„@ÕsÙòŽž æð<7†¢.QNÛØ´òGÑy"FÐ26Ö¡È ”–*'%¤>p “c“ K²Êð’ï±ÞÉ(éiÈpò’>½WªZÜ“ÒZß^»œ ¯£&¦‡Èmm̬«9¾ãqr™«…U“J«9Ù®‡Eéú•«OËŒë¨ÊüpaÍáTeïnÒ€3c#S\$ímá¡Röq÷Äåq½¶oî¯IlaS»•g6˜3t5xuW¥’™nódžOšå3«xÿ:_NÌÑ9ãÖÆ´™±×˜ÅäjP%dLH`Ô–Ž“ygí~îØã^jDÀuœLŠ6„Æ1(÷îåNÖ•„§剧'û¬Žn7oW7jêÇ÷©˜ ÝÐ@YX0£ƒÖ?Pêàhª&U˜ðàp੟泇˜JØ+Ñ‚@©?B8ûùÒþž¼mª–ƒï† ìd@­ç–ãÙË–lðñÈ)-ç{ŽN1—ªÍœ-£§ÎëgµMJÅÄkܸŽa»ëÞAš’ºeܦÔB¤ÔínØÀ°ÌåOÀ¨“NÜÔß³yßži'3Ëätì»]1ÝŠZkYz)ß1–7eë¥å³ëàÏùKö;YBP¶öÝrt¦J]Ö\¹|áÖ!žË€ªã°ÝDS)\¿Œ*›¹wîŽÔ"Œ¦×¾ÏÚssûˆ˜US nNؚšj¯Ž6æ%Dz¯UK.{._p®ëÉá:uðPi…Qüh~ïÉ/xÛÇ&84ï3¶ØÎ~¹rHß_5}ÎG2j—Ûn¿7²nêñAjlk+» ³Yµ34y–…1E¨šTñš}ÿÿþË_²~ÓÐîK¤Ômú[d/ xá›Koh^‡Ì$cÞG]à'½yýÞ¶ ‡?A5zo/zw%² j㨨Ê2½éwnO3Òm¥¥~ÞÛ5+(³€¬jÙ}þ©¥£šûÊ΄ƒÉÉÉEDDDDD =¢‘‰522ªQˆ\_bccMLLšZ „(šÂGÅ/–tŸMÜq{¥MÍ<®ááf^Ýë¨kðùѺ qïüï„tËÓ´%it÷î]%%% …B$I$±Þ6™L&‘H °ÊwÎÈd'&!7zÄ_¥  <èæææææ†²=hTdm¦.ñ`¾Hü͸ ';æòˆåƒëò\@ ÿ hÂ@4.D5Ïe›þNK*K6{ü•¦ÑA£þ@ Ä?Jý@ ˆ‚f’ú³¿ìmÖí¿D1>S^üpb[›ÙÏÿÂìZ@ ¢ÐÀsýKJJp\ðGE0 “‘¾ÜžwsˆíÔ—¿ˆò¦vLômO'jÐÅ»›‰\3¹SA @ $ŽNýO:)%Usæ²²2WWWÞú¡ÂÁH«Î¯v)/ÎMýyùÀªa—¬ Ù?LBPtž±Î¹aeETGVV¶©Eh 3J>ÈGbñåiÚò4B õ§‡Ñ}||äååíììù°³³“——÷ññùíîDšÃÐÐØÜÊÑsèܽ!gF*<\»òîOn ?Ü‚è£3{Û2 ‹N#×ßM¯˜ÄÍ{±;ÀÝœÁ`Øz/¹’RVuÜÒä›kýÜ- ÃÚkòþ—yÀ™qçôooÂ`0&6Ý&H,oXc @ D§þ4­GŠ|dddôèÑCìOi`òÖþ£MÊž^Ž)ªVÎùqc¶ßê—F³Ï†>¸¶­Wñ‰‰#ƒ>–p~\›5zÛWçµWÂÂ!œZQŒpó®:ÿ‰þ”#w#®mòÊÙ=júÕ ;5xö²pÝYgûúù¥(jËÏ éKÿ…Vñ{žåršZ¬æ^òõƆOk}:N§·÷ž¾ûAZ^Ýšf®~ëªÞWàdGmõs6 ÓéZV½\üZ™xÑÇ3 ¼mõèt:ÝÀÖ;ð5SD}fôV¿.Ö :N§ëY÷šqä »Û¾¦Óés^”0ß®í Ùnvdå>x~ÔŸeÎïr£ $9~ˆæNÃÏõç¡¡¡ajjÊÛ¨û^œ‚´„øx*»$7õýÃËû÷ÞÉw]µ¬«2ø†qHt±6ÌX¸Ònë$'j|ð²m±ú›ÛPI䮣œ6­ÚxÁ{·¯–teó‘dk¢š×ôþ;F-˜¼_0ÈZ²ã߉„~ ”ŸÚñPÙÝÝZWóíÁÝ8¶ªŸ*¹ÁíМÁHN®mh/Ë-Ë»³yæ*¿…æ/övR¨×ËÐ\ ªÇü ”|ÜíÓ}Í'Ë‘ v¯tЕ-ýþ.üì¥[lC·šTY˜Zž—ð`לÀÑ“ô^\ôU';íÌØa[~úîºuÌ$÷öªñ“}e –[S•xld¯¥™=îœí E)H‰+'¯OP²²d„…nkRaÜ‹úi>?ÐM±¶ 1’ãš «í©¼e†ÁjúŽq!}¦ö_ßA ž®ŸvŠ2öêÌv²‚B€~qvzUQ m¹àJh@9/áþ¼9mØÁíäDH[ÎÄ4:ø-èöpM`šñ0ª†6 „å‚tE£[›•¼ç c|¯·¦¦xÍIg^›:|ݧîëÎïéD/‰99oÊD?³°9¦Ùv~}‰w?\èÐ]€§%€Z¡ÂøaSÊ¿žÓcn¤Æ€iK¬Táû›ÿfw;w/èæîZ’Óé ÿ X‰'ç•ÌKX~Ä»×¼‹Ý¯ × ²’N-<£»øºK+ÉqvY­ˆ| ¿À鶺ҙQû­÷.ukŠa…­F¶]¼Î‘ÊÛV2þ Qoäää^½zµuëVÞüœ¢†#33333³®µ ÓÎ÷T«BÝ ]ç!³v‡Æçòþ›»Ï]ÛyË;ÞÏ‚ô¨ €NÆjjjj:¶ý–\Œ­¨•Ÿz/ÐÇN_ÇÀÄÊuäÚ }õÇ?È,***Êù|i¥¯³‘šššššžU—k®Íˉùo|w;CºššššN»ž³ŽGÿ,l@í%šW¯^Ô燛sµ]găÊRæ³™fj.»ÊqÇ9y¯÷OìbJWSSÓµ÷Yy3­Çqœùj¾¥ö€Ûù{†ùšOZŒ—ÇmsÖrY¹oQ_k=5ºsàµÎZ®ëޝõu2ÖRS7ö˜})¹ÇqnñçS3º[jª©©©ištu(¾ ov¼zõªÚïòÄÝÔé]v|,©Vš—YÄ©aá²öjf3Ÿ1q/Ýì¤f9ïy1Žã8ÎJ=ê©a86¼çæÝ 0Öx.]½Uaõ«Sö~­=ÝnÍûÒšB×ô5ÿ¿ ž.¶U·Yô$/ÿé; ÛEO ¸/O>áÓ®÷Þ×7†jÑû^Ë«ùoVê1/ ƨ»¹ÜßK[òza[ºëî¯å¿O`¹]*©å£Æ¶vy|‹V§}‰¬jj©)fs%ÑËÚÑ·~©Ø?ïÎ`-ÍAwxg_ñÓ†#îÖrßPÓ\õæ7¡Â8aƒã8¯«é|0……ã8;+l™›n›Ñ§JËt×Ðêô‘YU“[ôv£]ÛûTÚ/¯4¸¦FÍÀà£øñ+·mqå8^³ÒÉ~Ñëœ~~˜Ý ©¬Úµ%E#nî­¡:jÝNTF¶ (~6Ó\Ï÷žˆÓöÒ¥Kááá?~öìÙ«W¯Þ¾}ûîÝ»?~ùò%!!!%%%===++++++»’Ú׸‚‚‚¦N¸ˆ¦ÿ[·n}õꕜ\c~—J¥R©u“ÀZõ8÷k.~\LTÈÁU#èÃ$Íá×>ݯÏûI µóß~ýuBBBÂLj <5+jÛO;þîcÌ«G7wOŸ|êÝë-TŠV·Ùî¾IHHHHxÿèêžTIƒa[.„¿OHHHøunU†ŒäŒšH\fJÄ¥‡¹ª¶jdNÆÕ)ƒ–>3Yx%êɽ½ÞE‡G Þúþ7ÏÞY_KM¿›ž:‘AVìÁó”©Wß§$E­¤_›=ïÆO.;åô”ù÷õ\yòæí‹{GæuÓ¢4w°3œ&ºÎn*Í_LVP‘­vâqŠS"Î]O!›8hSð‚“(–&¼“‡¤jï¦Uý4­¼äã•H¦‘Ý}¬ ´u-ÜFl¼ÿ%¢> …‰açn}§wê¬CCLÞaî?î‘ cÇN8ÌñÛ9ßA^WX‰'gl.¸mŒ¡´€ÿ°RB޼‘÷ݾV'iÿ&nm¼ðÃý$y«vª¢Ÿ°ŠÛœ”^Wwµ´ëŸg²pNáçk§¢¥Ú÷5çÕ’1è _&ÞŒ˜¿ÃïB¥ZÝ?vfèâ>þ!f›oìó5 ¤Þ<ñF®Ïâf¿’1Ù¶ctÁž»÷C¦ýˆ‚¢a¥–ö0¥”™þ0G£-˜}õæÜQëk5Öãûg•”q¥Z·–!ˆ¼ä¿1N×´ðô8 ½¯@4"ÿÐÔ „˜àew|èt:]ÃÀÁÿ´Ò´KíeØé·öÜ' ܶÎÏÑP¿×Ü ùf ÇE3E‹ÖkÙLwu D•%cÊÞK'9©1iƒ^c]ÉÑ¡q%œüÔ¢ž‹»µ¾:]ÛÔ©÷nÚ’ó$þOa}ÿðèmõå„ÜÅTZX“áàwLiæÉýÕ‰ì‚ô\œ¦ÑªRb+-Èû–Ï*NûšÏŠÞv¨°Ï–+·Î/wNÝ9ÌgûÇ2aõyÏÂûCuètM#§‘çµ–]í$0wÿåk:Nï°5®jf.¦à4oMç¼Èˆ²[8Ñí\žpxÚ6Δm£BM-ª YÇ¡r‹³¾Üß·bù÷·Ú=d>úÀ`VXø?£ªëþ’‚ýýމǥ¥¯ž¦”º·’ü›øwŸI>0eqƵ‘dÃÌ¥OŸMÒ4¼ÍŸÏÞ­>×#·6–×EÊÚ]dYÌ2 H“DG³ØÍqsÖ [õ¥ÓêÓ;ª2߯œ0Þ ôôH=2ÈÒ$¼´„…×\¹IaÅÿ.Tøùða}Üæ3žÐí¿[û¨ógÑI4 E¬ = ÀÉKˇVš Uiøi¦SqO$¥a©‡“rp!õ+9-s-Kë¶r1íÆìŽZÜegDd10)eÝÊÉr­ ,Ú¶•¯) çû•ùK›-¿:þíȉÓv÷¹=ÇBÞ­ÚîÌ»¡o²ž¾qÒ^TµS€ Ýzó›ëÃÕ‰EoŽ^ün4~ˆ ïm[aډ'|=!º¦±­ÝÙ‹ÚZc效^9˜ fsÄœ°g³ÝlÛYÌŒ·ÄÝòØs&Îw¡9€S’WFRh%ai-óóoB…Ÿ? "ݹ‹Ì½Èó¡ÉÝGð^ð–6po'}âvø·é&z¿ÆšË¾Þ Ï”·î¨ó›—À%•ò¸Có¯Z¬¼e•³#ZºËÞv­hïž #ÿ–v·•Œ7dqæÇþý7•N >?± ƒ:ÕÈY;õ5›€R¢Qhީ⯔ä2¹Mm<>âS¯œ•ñüy–‚¹¡@U¢Bq.“—â°ó¾~+ó; $wßi«÷‡Üß×!ëêéw¿]”QÒ!Ñ;nËŽÜqúKµ©¬üŸ5MCÒòžÝ[:rûé`4s½òw÷cy“¨Ø™/"Ò䬵(TcwSBö—´ŠñËòï2 µžEXýÒpX,.ÎåâYMCcccccc#]%‘Ù!çÇõE‹# ìãØsÕFÏï;føR^cw9·á*¹¶Î–˯†ïí­Â»–ãùÏÝȳô÷®Ìº„j÷ömÛÚ@V17”úùéw³oÄlŽÌ.+eö«ÿÆ0ÀËKX\vnBJ¹†µ–d¤€Uü&Tøùó°!(u\zá`¯/‹úM½˜ÆÀ”ÜçO4þ¸uEHzÕô Vâ™%ûÒ,§Ív¦5Ž® ;õìÂãªó—¸+¸nÅH FÀ¸l ù6 ÎütÐß{MÎÈÓggÙÑ*´Ž/ê· IDATÀŒ{œ„+ë+5ÿŸ„¤‚FýBá¤Æù"‹s˜ß_ž^~9_uXW})’L÷I]ÖLœµØq÷ô޲q§çoøÄ˜¸ËŠ m'… £?õ™d_/­ÝõÇÚÔ¹­Ò÷û7…«xxØé·b§†ÞŠe«Vkªl°á ëÛ2ÿr5½~[8ÙÛ^‡Zòý}øÙýWåÖ…n5©VSpš8\»ëáý¯Æmnoà3Ñyç‚Ù«wŽ1ɽ½jí[Íáëä(ÛkF¯@ÿ‹Ž+Ìè({rÎoÆÓ}ͤÉDÁõ™ov¬{ ììhL—ag~¸½wM8Ñ-ȱÎkr~ÞZ<ïžöœÐ1†µžkמw9ýp üu‰ò:¦æ•? 3ä‰AÛÔTOWÀÍŽò@JÛeÌá}³ÚH€¬ý¢ ñã¦w7Ü ­jÖkòd·{ÛëÞAšòãÖº‘kS pÒp²ýÈD# Ë\þŒj9ýB˜ÁöÀ];ÆùQ ¯×¾çˆÀ¹6ÔZËÒK™˜`µwÍ®°½µ‡î?™9cÞ¬îGJ*¶~Agç[S€ÐºÛ– ëÎZïíš T=÷‰Ç·N7—Áõ˨²ÙvLÛ”R€)tè¿9dQÿÚS+Ã;·lî-úô»ãMyÉQÝ{ê`—³Nv¿0J¯n¾áü¸wð!Þq·‡_«$!ÚAQäL€§¼JGõ8 /¿j8ûÙbïn¿¡44äå£Úå{©›z|“§Á¬­Òi¤ý’-·XšR„ªé$+^sÀ{ìXÞÜUkû»ÍÒ°´åÜŠör€¼:ÿŠÖûT=Þ­øÛpо¾zãPZ1‰K¼°Y³ßŽËÅc{Ž(wâ Ù·™oàê¶ó“}æ—Û~÷'ÀÏCºlt:{¹‡B£*Wg„FjÜ܈µëÒ‡ªKL±ËšÕ·†2ÝÃÕ齿dwe ¸Á £/†D¬ñ¨,3˜1ÛXH·A”–úqgËäm?JÈjV½–^\=Þ¤ùü  &''òòuœ"‹hƼ~ýÚÈȨF!r}ýyýúµMSKESø¨èé\·)¤ÿ"×ÙÕyµã?†ûãâÐ.ܯ]«\ ¹~ü;!Ýò4mI]¾|YII‰B¡‰D‰D¬„·M&“I$…B¬ò32YÀ @£5Ï)^Dýà}ÔâàÁƒnnnnnn0D€@ -9ûÙ«º?MøÍ¸ 'ëm´Ê˜Àau|.ƒ@ ˆ 4á@ "½çš§%UÏU»<ÿJShŽ Q@ ⟥þ@ Ä?JýÁN;â¡ã”Àª±-î¾!@ ñG4ûÔ¿<ív Ÿ«©N§k™8zÙ•Ó¤_5!P » ô2“oö–E @´,šùk¾e¶ ößC¾öäMJQ껨ûŸ³J¸MyKCPr™·Õ¥Éšÿs8ïÏ5µÍFyç}\SKò‘Xü;æjyš¶,Ð:ÿDƒÑ¼Sö÷¨» ý.¯Éû…½°â·wr¿Ú{ßèMÛï&q´<æïßíG ž7uÃÕØBeÇi{ÌwQ"”Åš={ÿ—É…@TnÛΖu#-åêúµSÀ™±gÏXü&“ ¤VFÝæÝ7šAH;ÒÝù°w؃) 2';jÛÔY»¤”)Z Ÿï›¾f½Ò‰WAvß·wr¿Ü;Ð3fﱇ_ ©–C×Z×O‡\OyêQºú×ñ¿Ól‹+/¯iƆ¹£hýK¾øCs5C‰­©ÄëX¯P—8íšôa>ѲhÞ©?‘¦©FÉö.Ǿ½RMUXŸþÛf¾`ÓE”›G-ðqO›Þ}Å¥Yòw>us÷'62À-'˜ [?n§‘'-rïìù#Ö˜G­w¨ùùD!°SNO™ßhÕ=îZ¤üÄ·o )5²tÎ÷‹“ü¶gø…N°ÅbÍ™õ X)^ìÁó½O\}J>õÜX¯Ùó:v<í­R/yê —+yÝ}sƒ‹#3J:ÈGbñåiÚò4B  AóNý1%5kz ™çm¾WÅØÖÞ±c×Ãú;ªKñ2pZç5ëF»ÐŒfùíí¼Ÿ¶åèxwE LgŽÛ{ùÌ“t– ƒ,c9jª%ïXZCW¬¾{cε¸íêfN~jQÏÅÝZ_êtmS`ÿªÀN¿uà‘ÂÈ¥Þ–2: 6¼ ñ©ŸAÍ4â|Ž‹xŸœ]Šc2ts{¯ÞŒù×»®¬ß;@4Í;õ礟?ã¡iß^.mõZAö‡›;—¿!Ú¶“Çêôñ+’йáüÍG={ÓYqçWlý˜©véûý›ÂU<<ìô[±SCoŲÕF«Uë¬H^c;¬™=kî ¶„˜ÃóO§&âÁe=å©'xµÔÇ#èußG[ŠËaf}¹ùþ1\uÞ ýZ™£xp8@$¶Üû.ŽW¿Ö²2žþ/,CݦëÀ.ºJvAFÜ›—×hLñV©²0…]š÷øJè…sJ“ÆØÐÀÍ{yñèýb»þÃUK>Þ¾|î(Iirm pr^ÿ/´ÈÜm€¿¶"©4çgpœ+¬>ŽÉhØtµVW¢K³>EÞ 9\¦0»Ÿ™Luûó|­ÛuŒ—&/|1’¬2Ç15·þ1®ÝiÐG_ÊRî^xCrá®Nní±DnþÛ›·s4ZCr…ˆô®£G;UÞ…}ºv쑼ç²q#j{Œî©MÀˆ²J$.Ž—U úÖ&IwBóq¼Ò’µÄ PZÉc\VÅ¿ù…¦ ÿê 5}ÔèÖæü|÷0M©CL„š fs䢘àsw3Œ{êc,Ïúöòvð¹óÒ*cº¨‘Èôvm±Ó‘ñn:¦2 p¦Õ éú±f¨ð#vØTðê!ÀÎzyißÕ$š•“S·öòxaÚ‡—öÄÄ9Ȫâ^»q4 ¡Q'ûõ¥V§)³­Ù¯¼ùÆd„½ÆÉyòªU·±z28^ó´l*ʲ?Ä•ªÛyvÒjE*Nzt=âÈ1âÌñN*¶®øï‹†DfƒÀõÄ9Eð¢nÑýðè›Ð÷½I­Àc õÐS`fÀ³{ppœ{ œFÑ„4ïÔŸ `ÙÙ俉íS·¦pd4l¼–¯¡KÆãë²;QÝ{ëÆGãæ8Í¡)ju9­ç“-b¬ F¦ü¸µnäÚ”¤4‡l?2ш\íD!i Ü{mên˜úüEra+Wï¶CÞ[t3Kú4!·LŠn׫_ËVDœõãMè¥{ïR‹¸@Q5u6ÐV¥Ù…'·úvnî‹Ëá)*nSG9Óyº¨©éYv(b“qðYXMÙ-ýeüóä|޵<“ý**EÆnDwKu €r_÷ÛÂ¥tbÀ¿ž¦å5«Ÿ% ÐÖØBê3(ö΢¨kÊå¼Ûû!5m&]ݬ<_K+jhÐ¥øJ)ÍŽ?¸Ùv²+öàÚ3Ì6 “º൯!œÜèK¡¥ÎC%—Ï$U5… ;<»ž-eìnHåMB‚´Rµæp€Ðº{oVZÞ,ÿ×\Áâàåÿ­·‚tê£F·6!÷óû,Åvúr¢Õ,¯9Ý‚o™eûŽz­‰­Ý:¾zr)9‡ ªD )™޽L+51”©é(ñá6ð¤A¡Â¸aÃ^ùÇgÆÝ9}2F©÷˜>Ö„·Á!_[wÐQ•÷øÇÔÜÜTùøÞ+× u}íª&5´¦b"$0øàü(¦ééÉH¸¶¾Ì‹l/‰¹ñŒè2ÜBNЌͦ҈¢ÛŒnåu:!mýéOI…Ž* €:8!>D90vc½ .Nÿ=PTèè0N‚~õ¬„J÷áà>Æ-ƒ~k!-¬Úâhv¹U50Y³¡«]]û?†3¥Î¨üAÔôMñ¯ÚIÉ;$Å›·-żóþàU»Í˜Àû«5ê^Ê(Þ&‰o»:Cÿ þ5K«×'¶v™sæÅ`Ånvc©zª‘\M<±YÈÛü½–åoƒCT{ ÷1¤JsÓ¾•‘p¼ù-åŒsùÍÈÍKx•Žj§Fàד¡’Ëùea¼<7>æ}.QÕ•Fäâ8óÇ×’†gk UÓ¨+:)­Yóµ\Õ¡ðÞ ˜ô²²žcWOw#y‚°úú¿n¸e¹q¯c húF „ZÓ]ø}]²n§žŸÎž;›‰¸ÃH]² jœÜç—²œ‡:µÎM/r²?>û&mÞE›Z‘Ðସ «–qqŒªnîг‡ƒ,ÿd€Ja*IˆxËEéRU§šÝÚœÒô/yÒjòP=žk¨Yž)^szŠ& Ù§ß'ÛtЗåd¾‹þFÒöT% *ë)²C¿f•3´ëßÁW7W}ù]¨T«+VØðކpq`~¾uæÌ5ï1=­±¬GoR¥ÍÆØªµEÖtt5‰ºøüs¡=Кþ15ƒ’:Šûçóëá¸ãX;E";‡wÄêM°F¿Í5õÖ$óÊåô{ê©j*Rʳâ£î†:‰OÝ^µê´¨9µÅ²öŸ4H§zµ:è"ÐGÜÆ¶6»ðg‡Ê ˜ý—üxyžxÍ2Ãkp÷s§n~ €©tîk§PQ"¯@ff”ãPMó?¢!GŽ*Õ+‹6PiRNþû›“´ŒöjK#^^ø£Ú)‘ªõ'IAC^ü,äà•“Ð›xÔ¿\P`üÏÞyÆ5Ñ4|.B¯ ½„Žô&ŠRÄ‚ ˆ½aÅGìbÃÞ»ØõU»bCEE)v»(X@) ¤Ýû!  ¸ÿüÈÞîíÎîÜÝÜÜì.”lúzŠ<°õ¦jÝ¥—-9ëʵ»~¾\?º?%×hÓk€µ¢ˆÅ,áìq×31©8W’üxp àäzˆúZ#…ªca’À€õ`w’+j–áAZ$Ì]ž·ï±™0!vøô ³3ð’ÓäGüIеմàeÏLŸ3ýs%€œ±Ï„†Õ˜q(Uj™PÁ óøîzTœ_Y’ó(öÆ‘sªÿXËgƒŠ‡à@”Ó1 U|ʯÐkzý ò“ ¤¥@Tg¢¼º\ÕOœ$Gârp’VzÊÙ-»þ3cšš˜Ú[¨‰›J*íà5»QØ b'Û {Xßw¬Ÿ.‘÷$6æî›œòöò¤o]'2mÀqœ8Ù¤³¿‹ N~¹¯=LÎ÷pŸ_ø“¢×9d¼§üËë{7/¾¦>®›~æÉ‘™Ÿñ£|5„-ñÓEQ¿;¥¯þËäp?fq id`¿:!ZÜ›|:‰à5Ê^Ãkz5¼üG)E*¶}´‰Â D5+×öÂCÚÚ†*•&?üìÔC«ú^Të$x­æQN‚ʪ¯«·’d©gŒš¬·Í)|ˆD «ÕŒZb6¶:>ûõ•È«†=¹0å¹9OoFŠRà¦B #q.—/Á/_Dµºëà<úªˆÒXµž ø¹‰§N`Ì qÝlå1à‘D›Ã¯ÕÿH$â÷qù}’þõõ YË©×'áÿ¼Oqç3Œ}G•%ìxE4¹éî‘×3ŒL¾Oömn‰pNÞ­g“•<ÇûèPqœŸ/I0¸ˆŸ¢2fžAôÁß’Ÿ‰æÂÁ^°"jMŽÄËaߘôÚ€XÊÃËÂ?ØhDÓƒ.­&SòXvù±˜€$i¤–÷UQSM• êônYOßM-´pÇ¿gø^ Ç«ç/Wû™Us1†‰| À¾æIÝ{ÄD«wo^¦¿{êF¢í¨±]LÇ4Å?JM7QACž}*äàšufxTÅ.+14Ô© ®=€“µýfô ë‘6òŠ< 8_Y<À‰<ö× U¢I² $(£+Q„ßC ÚŠp¯ˆ…KÈOv5Y®¡šºtò§-QIïö5¸­~õ¡*€øÁEü4(©ò!7øeJ­=8 /–Wð´´)š…hN騦– …ƒ òk^~pJsÝxU!oc®D$™˜‰'£oôrcR ÅÜÎUu “S0Ö“IH~‘káÌ€¢Ô¸98¦ýmª.^3èûÏ*ß-7çÑw²æL5YAQú›<¼±œø§¾T#¨et*ºtkÿäP⮣%]ÚZ(‘¹¥yož&?¡øLöS  ¹Ú¨H¹ýѱ¯ž²£«^BLLŒn·¶ê/n&~T´í¥CœÔ¦Ùµ37.%S½ ÈŸSco—¨yÙ¨‘1‚øü•97ÞÉëëhÊ“¬‚—÷ß t¨µ#Oj†¬ˆ¤—¿¸v=M¹ídGU’Ì|z8{)Åzˆ“†Èóƒ@V¤Û«¢²T†€ÕèŠTáÙpÖ‡»ox]L•¿Mr忯ÝÌ3Ôe(+ 2nÇ¥–ÑÛ;«A€ *‹?Ur Êù8÷ëçÜOl’œšº2 ìÂìl™o/‚$9UMùºée9ñ²Ô3FXS÷6h™jâ·Þá§ùˆ“,רê0¢Ž ƒåÚû$WynöÓ¸[Årö¦ÊdxenF1Mß@û¦m•þy$« 7çÎ… æ{Z+ ÷rhŒÚÔh*à˜³ÓØžœ—ND‘û›ÊrÊHV^.iç¢wGq†ùÙ0ðÏ·/ž¿œÍðígD(­Ä«# Ÿ¤?‡ŨëqÅK_Æ% \Ƙ˸ª¾çfúçŽj¤´Œru75Ñ÷½æ’ˆ_tÿìñè­®}L(EŸ?`d%5yI P™óãÁEü,%°¥WýŸžß "CØu„ mš¯Q «™þˆjêL—dÆîÜ+üMVѳíß»ƒ!³íÙ¿,æzÌ‘ý, ©Ø pÓ"– <»yD]ݱñ6INݦ­³iÆý“5ÅMÿýöƒ ¥¯oNøZIAÇ©{ï*©øþÞp V›)š.cF)Ç'>ˆ?ŸZÊ *™Ûöò`Ppatå÷/ò$uÛöŒÿbî½ë¬c¦bÛcDYÌù+Gïr1ymÛ€íôH8à Çì<¦ó³‰'7³¢lØ¡g/ "à >?De½E™:0 IDAT‹¾ST €QÕõ-úé`_w@ñxyzüù49¯‘Nt¢Ð''g×Å+u_ܹTã1ŽÊâGµg(â¥oR2@?€I#|?9‘\šwá^)€(§kÖaŒ¯€•ïb"ÎfºsöØ :  ‹à‚q{~¯GÎ6hV7Õºé½Gº‹‘¥þ1š¸·AÞÈÖàúÝ…íµ5ˆÄÔ£4®:Pnׯ7;&)æØÁ(’‚¶C·~ÝuÉ€ãxevÊ'ªÍ òï¸|êªôª* s>äjs¸p¯õF©¸sbÊ–]ÆVFï:ŠЋ‘øï™lxy/ÅÕÒ——Ÿ^P~ýä¡ëz½Ã›È4©¤ F’bÔʆ³ßÇ$”:÷·VÅpÀfäÕãõ¹ý›âJ¦=0åEVGh.‰ðŠÜÇo9bN}ˆ©JSî<¢“Z­è¬o ЀÁEü¸LŽBÿ}!œOûq 38šýÔ^n€ ZÞJ{ˆ‚ÉËË'$$$$$€VÔjý¤¥¥™ššÖJ”O=Û,iM””–**(4w+õÑcÄywíP$¡ÇT_­¦`ÃK_œ‹xd8~ˆcÝÝ`‚¿G¥[Ÿ¤­I¢óŠªªª …H$’H$b5ÂÿÉd2‰D¢P(€aUßIÈd1Kj(**þÑvÿD¶ôòWþ¾ÂY l¡,ÂŽˆŸ]vÖžÑ[ Z8~ÊÏ·@§ð­ëÙ*())€}ûöyzzzzz"¯?¢š–æb—F¤d¦ ¢šaŒÈîžVI 8 í¦^à /ÿ˜KkÛ©Ê%üø{TºõIÚú$BÔËùb‰‡®Î…!»`÷“tápB•Ýÿp9t[…ÈáßJA¦?¢XùëÔ?9! 4ÇhÌž]àwßÿš¥gKø}—óߣҭOÒÖ'â'(Ù>°þÑ\èýTÒÖC×EhßÖ 2ýÕ ‡Ä¯#%‹„ êQ£ø{º«õIÚú$BÔË·Ý|1¨êƒWopPP„µ× Ìv¾¬·°<Œì _aÊrd÷·ré¨}þupÔR£Fñ÷tWë“´õI„¨—Z»ùb2°NŽP…—à™#$}•X–¨ z²ðÞ±šº¥ˆf™þˆjè×A_Ø¥4Fâïé®Ö'ië“Ñð 85 ôm` €1ZmfB¹„̱ÚäiMk§›þxá…@—iÉbŽ`Š2x¥KDÒþî"k\°Sù H ºr5Ô0?vëâõÇâÓ¿ €¤¨oíÞwÖŠÉî*ûÒFܯ’§!¿¼Œ+@ "H5hŒÅßÓ]­OÒV%Q­¹[Ð2©„íã`| ˜N…ÛaÇ»ænB hÁ¦?¦èµîbT™*¯þiÔÿ6vS'`BÚŠó'äwíG¯^H¸üé‰è|³ñ½ð—[GLØK ß·ÖY›Rþñùø×_ØøëMÊ€™ÍÝ„ÏûädGGÇæn¢>Ð5Š¿§»ZŸ¤­J¢sçš»-ö˜gúaÑ|82JÄ9õyYÐÓd `Ã'Þo%âÏÒ‚M )ZµV™2 +Ö±°nà àºÃ=É\Ïí=DG(aé£#×JÚÌôÓÃ>ºñN±×ñùC\i¦–ŽÞÍ%@ D“!€Ë‹ ½˜hŽ‚a+`»XÇ?²ÒÿtÓÍEëtucJnC;Ë=9“]µejñ½£7ÙÃ:i‘ˆ Úš”’'‰Ï‹Ð{-@ ˆVMÅS˜ XŠ˜˜<s8ûRSáÁ0kú­ÍKë4ýä÷P{yüb&…·Þ¸ðÒ$¦â¾°[ÅÎ ç6n]ƒ&-Øù0·ÍiA - @€£õ[ÄÀÅpúúéc`°˜,Dypq;;pq¹Öj"ªiµ#LkÔ[ëmäù ðóâÝ#zk¯J1¼ýæ“øÈm38)dž›äñŒ…¡¢¥ÀçóçÏŸÏb±´þ6øìǰ ˆ>䛹9ˆf¦Õšþ c6`€~ÖÙÓiå¹7ޤÒ|‡º*}ÿÊE”Ósô ;kÍ¡Ëg'h=Ûñ ¬›Š@ Z5¬”%íÛÎ{(i]½ÆÃápV¯^=cÆŒâââÖ??'rCßCYc<#7}s{½Nÿû+eG ê‡çB&h…Aâÿˆ¿‡ÖkúÅ¸Ï Ó¼‹G®ž9ö\¹û{ñ¯¹TMcU¨(.ç!·¿(xÑ…>Œïè¶ñ¿ã~QkY'ßF¯ îê`Ä`0 ³¶þ¡Ûã>Vâ5{XDzã°Uת¦¦ÿË­ÃÚ3 ]»^agÞV|;[Ù‹ãaþN† ƒaìä¿2™UO~ÖãÃ:90 ƒaèÐsꔯb\ĵƚÁ`XÏ|È`¥®h¯c?#±º þõÖl÷e)åâ¯~鑦 ÃÿRÕ¶1ü‚[[‚}¬u ƒé6`á¹·8ëþ‹šÕ1ôÇ–p³/-Ù³½•ƒÁðÜñŽ+±y F‡m\¼èB-ƒ7K"Ký4uoós..?!?f¼ƒH³‘Õ ÍýóçΙêë1 c×þUÝKÔê>µó‡Í~ßkÆï§ŽªÔ8Ø8µi ¼/ÿ]:Öß»­£“»O¿‰+N=)–²ÛY=ŠQ ^šº}¨ S_ߤ]ðþ—ìªë°òå¦Îm§ÆKÏ#Œ›»1¤»¹ƒÁбò½áfnMqj+ëÁt+Ñ¡5p[šõWº(„Ž``Xý¼êÂzœdØû¡öQö#Ð5€” qå­ˆ–¼ÂÏ ëù ±Z·xþгƚ&Läçœ2çŽyníÚ(AáËk;W<&:.¶‘7ñåï#¹¯¹¸¦­œ ²èMÌúiK‡Íµz¸ÓKé—:JÀå™ÜŠ_8kÃ~±=°Ûò—6#¶/q5«Èybï N±Í¿õ0Sœ1såèI†Ï Ò"ïãñ±C6äЏò¯yÑÕ¥ãCÉß\ä@î»Gô\˜×cîÖ®º”’Ì7% Éù ªŽA †[¨‘JßÄl™77°LçÁÞ.*u‡#¹-?½ÌEx‘`u&€`ºeÜ…Þ¡+ûůn¯%÷VO9J5Í^Nœ ð²ÏÌZþÞÞnU%ò.þ3tÕËn«Níðb°Ÿ™=yâ0%Ë›3ÍlÂÎÇWí#È¿Á~Éú_÷Ý‘™ÛØSof àðï9ûL·óCµ‰Ü÷Gç7˜©ƒ²ô veÆ•„¯ÖÃV†:ÈäÝÚ5oõ ¡Ô[W&›TõµXÀÈNË"W¹Ñ„ÿ«Ë6C»ˆ¿…ÖlúI»ó0Ç¥sþÓ `&S•FP²ö4½vbÇ̈¥Y-ûÎa‡ Ò—ž€ô@TÔ313S “Y7÷÷þïÅž—_Sþ7wÖÆsÏŠp}ÏÑK6ÎõÓ!;9ÌÍ?}ݳÓ]ÊâG9„(y¸Ù1{³—÷Ù® :$ï>v/G;t¯ÿ¥‰—z­ìúdç¿IoKi6ƒWÿoU_}2ÎJ;>êêÈ”<”M»Ì>¸k4³¥¯3À}tÚÊÿÌæÅ™b)Ô@kW߀ñùà€H››Í}|$öðÃ,Î -YîÛ“;î( ½ÞÏ`´aA´Ûò§ïé(H\¹*ÅiÃíÍZDG7a-ò{*ØŒœfSÕG{ÍŒ‹¾çfsº¨ˆ±…‰ÊÆÖ¶¶ 5Ò0y§é[G_ì;em߸9Øú)‡#ÏÎpû’ÌÍ<1mUÉØý’zߪ2É9¹)¯*™#f moJ0š:ëø¾Ñ2+ÀBQÛÂF[˜‡÷ñPX†¼ïBOuÁ00|%@EJ欶é#¦y¸D· 8Y$Óä½MÈŒ9ýÖ`H; á#dñbâ_Uݦ6ŸÀØØ8)1ÑÃÃ1ÖÏ•wÿ,(@evó =þ_I·ÎJ ì„?ˆU¥Ñj#þ—ø¥ýGže®ŠÚ1€p8$,Þháµ³!–Bƒ²s~]M{t›þ—{ä`)yJP ¸Ÿ_Ð;¸i‘©wwÕ}/?sžw~ÁNÊ”s~šD±EšyQÕ?œ¬ÈíF^¼W0ÑD‹’€¤Ô˜Ë@ü­ÃÿJk»åqzÔ Fí»‘1à䛌Œ¸ÐïkUa4óÀ…»Î&¤¾ÉÈÈÈÈxvë̦±njRró—R¬Ì„³IEš®Nt2?7jrÀÂûæsÏߺ{}§ÙþQ7>ûÁ÷Aî뽑ÔÐè´ì¬Ø‰LpÓö¢üõ,óý­%Œ‹3fGç x™Ç&ϹavþnJêÃëfwÑ¥HëgáåÆxLì8u¨…Œh2YI£æ üòÌ„“—2Éæ®z¼äEÒ{Н¹ÐoMÒtñÔ-{|ï#‡ýâ|"ËÔùóÚÞÆzÖžÃ×ÞÈáÖ“_´†Òw7O^Éaxùè7æu Spµe˜àÀ„±c'ìçÛ:ÇUA¬áÿîÈÔõ71‘“jØÙ›þñÒ™y\œ_úêâÑÇÔ¶}¬h5Êe^8¢à7ºm3:,›¼·ñÒç7Þ+ØÙkÖ“iluTàñx–––qqq[v^¸U¡ÚEŸã8€¬q{£ŠÇ7ßJáW{±ª"ÊoQ^^ìüÞ#/X®Þ5ȘuùpŠ|ïùÃ-¿;’19Û±a°»ÿ^ÿ,ea?õAѶ£çÞLʬ`eÄ'jÛ2ˆ_n,[_4jÕ@])~‚á\v¥€ª¦&K¨GpvÜH3ƒ¡cí;nÛ4_hB¤øŽhfðʘA¦Œª»ÐÈ….r¼ì+;nœX5ÌM“Y󾀦‹øßã6ÙÖw.ÅžáÓ¼µ(92 î¿p’»À¸çØŽ‹ÆÇ¾aûÉg ;x;iA‹¡gñlr¸9Ïs€ám$)šL´‡e\¦Ù3@‹À-É.ÂM•«?D•u• øÓWnùÇ·_¹7ýOoÉÆókä^ ›>$‹»>UV|~ ôÆ`ë!qPö^µÌ]¬í^s¬™³“â§› O‡)¹Ï^îsrÌuZàñ0w±ëAs2öOÙÄŸ|~“\!@Š)z¬<¹ptŸþ¶›ˆ–ãTÃDá¤Gz©é¿Þ釞¾ÍPp.y[Ûe•E,¼¦îmN^Z_ÕK½þïŠxc«Ãô€Ïç“H$;;»k±×;ùv.9T¦;F^^ž¦¥'ûåuN%8H0°› ª"ʯ« 7;zÖ”Ð[n[£7ôÖ&”~‘ ºÃ jF`4[-8úê3t¤Éa^$ýAg?œÜÇf%ÁÐoѮ޴‡K–¼ê»}ÎÛ•þÇ^⦖ï]ÜCKº>` ŠomX~GsÈ9%L²4:„,ó°²5+Oݵxù€Ax|ô?¢«Ë'%%ÕS V™™Y§N”••›J¢U€L„$ªcýq^yö£c‹çøÇ$n€rvJf2ÁªÊ„$3\]Õ¿¦¦å×gú“µíôEŒ²¦9£ê®N”W“©Ìd ¨ìLsq9Úµ‹—_ÿŽFbCÊ[©íªs+](E/Î.¹?îñ—©ž’¯HÇqßUëÆù¨``»hË‹˜.ÇŽ¿œ0º¾:äÜÖÆÆ•¼¾±kñ¢ 0ãïX¾Í0ž~3~¶ÔŒÇhZß[Á˹~øN@Å£{™ÞʲðõrÑâÓÈ{'G§^aLu3 Šn.²ôµ×²c=4YÏ"—Ì o{l„aµiRñâØ‰÷zCÛü8ª·f¬?FV3–à4 sMYÃïêíNr\V%PdHõks£«Ç#‰d2ÙÕÕõÊåèî={Òdd†J QIx›‹HÑEÄM— *¢üªÚp_l Oè²;nco-áÈȲd`Õ^¿YÀ.dE®E}\Ää¬Gï¾Y¥ì'+ƒ“Vr»ðð Ç$Em¬$»˜ À/þø”u”(²š2o©_õNDնцýï q ù« y]s+][ù'öc¶ß ì´5!±\Uݠʢ’ÏÏ9?gÁËEQãSGLœ²½÷Õ™Ö ž5г®Å¦ÜKq×›÷­P°9Ãa}òAÚ–_¼¬ë£–fÞ\ñÝqüÍ ¹V·¾²”ƒgrLÇ™ÿ`®¤æI^ϤQ±þMÝÛ>~459ŒUÌ®ù}B#«#&ŸÏ:þ1 óðð8{útÿþýeddüDEe)3kY¯Ä«JÊ¥¡ZÕŽw¼ð毩 ‘Ñ®“ìõÄS±º Nð–1ö¶—9|5þS¨¹áwxåÛkñy ú Q?)„óæs¢¬—\±+ÜòX¦ÓN{eE‚¥ño+º9IÇ YœõbïÈ~ë*&FžšØ††AÃh¦í ±£o¿p¾›þ8Žçää`&ÜÉNÔâÿf÷c¦¦¦öêÕ«?"Ñ‚i٦ⰋXŠŽ£žžð²j#nîƒJV&JM•åE,¡‰Ã+~û©¼‘› ‘”̽MY¶çÂ]í ¢Ž=ýᢌÒ‰á3Ж—¸åØëJÑdî×üÚ]CÒõŸÑK&qó± .`ŠV 9Oo¤ —väå=Lø(oç¦K¡™y[¾¼þXå¿ää<Ï5CUФüµZÃçr¸@€ätLÌÌÌÌÌÌL TëµùŸ/Í›Ÿ`¶eŒ[¥k»æl™º÷5§VqyÏ­ñqÕ\\åJ›EQñ;{ià•<À¾ß`0 p›ûm¥Ðûÿ‹.¶éoØÌñ MÝÛ@Ö°2¡æ¿Ì©„zidud~%ðx<¡õ/<‡¯¯ï±cǦNy.¥’ÑFGFz–{¨*"fÎûEµ!¨z,<½¯çëy}ÿ9ó‘ €©zÏ™höbãâ ÙßȹïŽ/ØõÑfÊŒvŠ¿_Î?/ëÄÜCšsx«|A•'#`ž”lð†³^î鿼pıÓ«†³! ¬7wÞãêFª?sg ß.! äõGH„_’•þúµÎgåüwlѹ¯šC:QI²Ý&uZ>qú|·í¡roŽÍYó’91ÂŽ½îJÛžyÙ{’¼=»"â޵ip]Ïö¬‹×ðõu6RæeÅ^IãÑGÓ[úú>dƒ!æœë¾¼ç€OsCü]ôiìœgñ'öDɯŠÝh^#'¦ä>q¨^çý{[ßÖ8pb»­a3–¹mc^tuéŠT¡«\€(×sjÏ•#ÃæRšê!›vdæÞOf¡ƒ,eÈDñùY)[VÅ©·s3cÈòòž_ݹ<žè¹Í­ÁSjùùWæÏ¾®73vŒ €ÞcÅŠS§…îï~aSä¡LTз°ªþQš«@Äz†JÀuímS±tÞÂC›B:ÒYOO,Ü©1À)ôã ¾$þïz…Ëêî¢QÜü’w/ß—²ßäWâ¬ìWOŸ”ɪ›ëÐøÅoŸ?Qû¶¸'Ei¦U7 `ð}B@C!7uocÖ~më’ÞWzÛP%‹)§Õ¨êgàóù˜a,ôèÑcïÞ½Á£F¨ø’4ù8.ƒaÒâû—¨*Pùló¨¹iþ;#uÕ­6u iv]}>¢¼û?}çÈ]ZÛMõE¶ûÂI7F‡ô )?´a˜%?uï?Ã¥ØÍ>àCÌ/èÈI‰L‚bÔmÿstø6Á¤È^ "à–eË®¤•›Sbb¾˜M5’†¯œŒÇô^˜â¸`Ow¹ÌgO20Y-3 I ÀJÙ´ôšZ‡v–ZÔÒ7±»Ìk3w¨•tÍSA ZÈôGHçÝí×Qø?MÏ}øæÝ Ýä€ÑgÛ©‚°YËz·/ª^‡1ûwMo#r.ó¶ÚÍdŒ¦eÏÏë›^A†òùʪ+2Kp j»m>0±¾É™-Œfzú¦ñæ•[ÆøÌP0lÛcøÊYŽ´:ËÒS-‡O°Û¹<âf˜k/½Á{ŽäM=½Û6AÃiضsh@Pë²áôª¹ÓWûw,š¡÷ÄCC­¨ >%MîKÜ–)ë2K0%ãöýÖ_˜×O«s_®‡ÏºÂ½6ÞBhLµü×,ì6ýH·Ó£à«'3Çþûoñ¬¥+úyΠj»l8¹¸­p!vþçëû’pí¾tÑÖ”%Nó ¾'üߨîû¾OçÅy÷çûwùžSuð…ÿ6˜ÖMwÝy{LÃÄÔÔ½­á5ÂeÁ†+ïÂl,(Åt—kTuå¸1Tü| ûž3 €ÍfOv7κS§NT*Uz¬ ðËÞ>zøÄµÿµY§ï–såc{Œ xŸåÏi)µéTHàö¿›¯åä¯ ê´Ö}Ú¹îR²ª$Ũ•MP”°bUöSé´|Ù•¡;ú½–éVÏz§ ¼ôñ™›¥ Ë%T§ÏJL˜a&á¶A”¡~ŽÙ²és™n×sá™eãÍ[¾çZ0yyù„„„„„„àà`PP@ëê¶~’““MMMk%¢¡ÿu’““›»ˆúhŽ1*»7Ës2iwâ*gÚ37ˆòòryyùÌÌLj5 ÅÎÎîíÛ·€ 8VYY¡¢¢rñâEWW×oo?ÁߣҭOÒÖ$ÑÑ£GóóóëÿôéÓ ™,æMCQ±e†x!¿FII ìÛ·ÏÓÓÓÓÓyý¢I‘w™±´ÛÊ{,g›ßeû@µ×?''çöíÛ#FŒÞ½{‡¡Vq»aÝ™4*UVVVôƒ@ è‘€@ M ‘ÑcùÖßZ—ŸŸß¿ÿ¯_¿öéÓgìØ±K—.µ:£W¯î4 Ã02™,Ö÷‰@ ˆ¿) D Dãùôé“¿¿¿¥¥eDD…B™2eÊÑ£GqWPPPTT”••%ÐM@ ßAOh‘¹»»‡††Î›7/""¢¤¤$44455õÑ£Gޤ-ÏñWƒLhy`Ö¹sç{{ûmÛ¶)((ØÛÛߺu‹ÍnñÛb ¢)hÙ±þåw';ö=ýµNºSÄÓ‹èµ@´JÂâÅ‹{ôèadd¤¬¬ ,èÛ·obbâóçÏû÷ïßÜ D „”Ò²MYÛ¹çcÇq¿íY‰—<\?zþ-‡.ÊMc÷ ¸\ “[ç;Eyyí•æ?êFé§ŒŸÏ7n‰D"“ÉB¿ÝþýûãââüýýÛµk¿OÌVÐ] ¤õIÚú$B ¿N˶b r:–6¶ÕXi¼?¸>Vnðÿv î8Tñî¢7cƒÁ0÷ Þ~¿ˆÜôÍíõKË6ýE©x¹{Ì?1za‡—{«@P?·ßÔ[ÌéǓ޿¾µç—̓'œÉá7mß)Ê?QÏ2ßßZ¸8cvt¾ þü¯÷FRC£Ó²³®t¿7mÎ £°ówSR^?0»‹.EÊ7ÊD ­‘Z{ôbF¥RUTTTTT(ŠÔïà‹@ ˆæ¡eü|CP”°hزŒNÛnNnCÃøŸ¯n8/3áÊÒÐ ]ÿOT§ƒñù¨û/œä®A0î9¶ã¢ñ±oؽxõåWì>Í[‹€ór‹ˆ†¼Œ´ˆ Åгh>™@ ˆÆÐ*Lnæ‰1‡ÈãÎnî§]-Peæ½tö»‡^úE2},æ €¬iΠ“ˆòj2•™,Aýùµíôe€j8ÌêÀ4—£]»xùøõ÷ïh$‡¼k@ ˆ@ËøÁËR6Ž˜u§ÍÒÃóÝ•DÅàDÇ­³sE¸;ËBhñcQ{ǯ??‘L¬* k=õÂӄóºhƯèÞaV|±àÏŠ@ Z(¬Ç«|½'³š¾&~î¹QíûÈkúª¤îÛí¾=ý•²#Dƒié¦??ïjØðM}wîmB=@Õs5†—çï}i aÞˆü$%sïAS–í¹pcWû‚¨cO[ãúÙxñåÌöš²÷¿b~s7«%‚³ßÇl ño߆Éd2™öÞA³÷$|ªÄkö°™S×±näp«eM„ IDAT ñ ïFŒídÃd2ÍÝ£ÞW|;[ù«Èð ÖL&“iÓ!h}*«žü¬§c{¶·a2™L¦uû€9G—ˆQïZcÍd2]æ'³XOÖùšµ›w»º ^rwa{3Ÿ5YxÝ“?÷â;&“tµD˜ÀË¿½mR7&“iã=zcÂg^½éÜœ««&ø:›1™Ìn{?T÷EÝæ1™]v¿ãâÅ—šXO,kˆ,õÓÔ½ÍϽ²ö´üˆÑ¶4Éb6º:๻#¤‡‹“ÉdÚx]vñ}@dt ñÉÚ±;õ¼fü4uTE”FªMá&Ÿ\=9¨»·GŸƒ§®;ûì«”ÝÎêQŒjð²'{‚=m,-m;…NcW]‡•iÛz{ÏIú*þ²l¸¹qÓú8˜0™L3çî“¶&~®)Nm`=šë,zÕÚ…Þ“fý• öÄjîf€À]€(€åÍÝ0¸ p ¤¹["Ý´ì€NÆqãOóz¬¢ûüInu2FÕ01côœ¸nдà•xø gM(x}+ú&>ÒHü©ˆ Ë_ñlϺx __g#e^Vì•4}4Ò¤26Éué©e®r‚ÊâŒ[æ¬^d‘¸¹ƒâ/Å7µæÕQÅÂ~µgxßµiÖCfl˜ï¤O«Ì}žtúಇ «L¿õ0óõm®ùë'MÓO8À ïSää1ÖŸÝcZ»zÊôQ²†ÑsíhÀýpl\À²ü®3ÖMqÒ¦”~L/U HÎOPµ0{¥ž*©,ãúŽÅ‹†—i%lë¤\w1’sø‘…޲Â5#*ÁfÒÚQ—Î^ßûÊ’¶ŠPúpì“”‘'&ÛÒÄ©/'jÁÚ¶úp·*ûîàØQ[ÙA«Omw”ɺ²~úø±rÑgÆ3AB:¸,ŒÑvÐtŸ;kת§yMK‡’lq²ÔG“÷6÷ù½OŒGoÐÞm%‰Ù¸êdò¯Ì Þæ»äЦtö³ gL V4¿jF¡Ùõ Ýs{†Sg1#-ÔQQ¯6 €óþxH¿·µúL1ÇFrŸDïŸ×çÌÍ g6úëHÏBH’õ¿:Çów³']~âÏ=2hÀ‚(ßAZDnæ©E§õfG¶S’žÁ漋½Ub9hñ$=™ü»ÿ[¼qT05öìx㪾«ÙaááÅβÂÿUŒdš¡Ý-K€1° µY кlÈýAö¦eaucìö´FÇìo¡E›þü‚['ïq¢g÷®q€1æê½öÞk.М·rNm_dµl½ÍQ’lt”’Ÿ Cù|eÕˆ™%8PµÝ‚6˜h*=ÏŽß QQ—ib"fÆS&¿*äuP$ƒ äñ¡E ".¾(Æeô<†Í[5£‹6Ø©áÞƒÞ.pÄW ÌeLÚÖëÊÔ+Ýù>ÛwôÎû2YëÀ¥Û÷Ò#ã¬7‘Kçl<÷8Ÿ$%f§i»73jéoUÜÌSaëSLfF™h.|”YZ;y÷]À•ˆô°©ÉŒg'ãŽ'â0d¹ïÏ콯ÖÛŽ`°rvŒ÷Ú}ÉÿD´Ü^·þ‰ýÊØ5ýD{ga-ò{È[™l]Õ{wWz]LÎátRc • -Û´‘¯‘†É9ü³nØ•A³6õŠžŽm™uœ0䨱s[¸Y§Ã6”ŒÜ1æÎÀ»Â…Äy97Ï>•ïs<¬Ÿ# €9véÔhïíÿ>®.>}©£¬~¿°Å³"°Ú¦˜æáÝ‚âd‘L“÷6áãõóïõ¶U'Y¼˜xIãªsþüøu¥Ñà)Û2É!¡‘ÿNz”U f uv'9\ÚÙG±ð©«*¢ü„Úˆ¯†_˜´zÈ„ F‹Onò'œ˜¾(ÉpNÔÑqæÂÜ>]ût2éßwîÌ®‡µ¥ä!(A1Dàæ½ú¢ÙÎ…A¦ \]UþMËã‚fþ¥¥û(ŽuÖ þÙÖÖ‹œûª“îÕ?,HÉî®<ølÌ ‚d )6æ²ýËY €áýš¯%JÓ€ 0`zó5Æ`(àZã¶4_c¤›í%jˆÍGê { èùÍ=œ”–››››û.åÚþÙè$ ›L½ucŒ^Õý^ÖqõãwÇ}¡aù)&#·E?x“›››û!9jM ©¬ôøZš +ëVÔb gM2ÿsôŒaËþ3q"6î⦞å‡'ŽØö¢¢þ3pÓž£N:üæÕ…`#"pßõÛu´3`ÐuÍ\ýtÒmù_S¸Ÿ_潤E ª{ØÌÆkì1•Éû"üD^iN1® ¥\ý4'*i+Bqv õé} ÷é¶C¥ÝW?{h®ÛÇc†ïxU)1?”Ŷd2Íì|ÆŸÕ ;¸ÀU¬íþ}¬™L&Ó7"ã›E…)ºN ÷üzûVeŸ•3\Äæ¼;8c1$r°! R¤bY›i»æeO^ÖÛa hyuÖxÿ”€lñéõw”h¬?FV5’dH–¥1ü®Þö¢qY Èë—°ÑÕ Š—YÞaáþ`w ö‹s«ÂC¦^Ü?DŸ Y†„WVpq)ºˆ¸o%¨Š(¿ª6ÜWÛ†O!øl^ÕQõ"D’%«˜]k¬€]ÈŠ\‹Ú’£YÛzy˜ðûÙú;‹ÿ-Zßïšõ¶ø½ä½ýÆ-‰wÛ!E3çyüaP /ÿÑ­Ormœu(²&Ì…韪ü—œÜ—ŸAU_…,)­Öðy\.à𶱉‰‰‰‰ S_¥^ëŸwuÉ’[FÓ×wîº`¹oîÎ9Ó9µŠËy¬»]Mä'XÏ=yes÷ªI­@–×ÔÑR!çǹϵèá^,1ýOÓÔ½ du &¥ íGÑ7¬ŽÌ«¬äöýþa€sØ\¯è]—a«#e>Ó©Š(?­6÷9G¶ù¥/43êSé8-ØäUÄÊË9ߌIî‡ÓKÿ—m=qŠ›B Û´ð>ž^t\cÚìŽ*¯ò¤`LÀ—’>qVÚ¿‚Ö Ùp²£B•š6PØ÷2q5ä—¬ƒ+@OX |<²Ö@sDü‹ºü…ÿÐÿ¢.!©çEü‹]]‰ðK>f¤§Ëá|Vnr䊋%} ©$ß±^k¦Î]â¼q’;-=2|SšQðú64 è¶sSÜ}4*­ûX xaÝ®8fÕàº*^Ø’¤îíí` Äÿwí Os˜fËö'뮜v±ÿÚC³gŽëå¨'[‘û"éôKòK.¬2­‘St Òí}ø@êè.†ý‚Ýv-š»ÆeÝÓâØÕëžh-v’"ÍoR·õ->¦ÒNæÍ‰ù³M&˜Ë‰âó³ïØ ææbJ—á忌ݷ6‰è±Á¹Ákò b—,¸©;åÂpc €f×ðE]ÃfîzrŒh .Q^ÏÌ¢úGÙg"FÐ53ÓWàf^ú_,ßÊ^O¦ 5rÃê;šÃ4 KN~釴¥•8;'íù³2YU#SmY~ñû—ÏT¿-îIQ32aÔM'(èÓ?FMÝÛ˜eg+|Ë•­© QL£QÕÈÎÝ­+V/YvLvœ‡&ëùéåû³Ôý»ËÎJKÌTqï m³e$«Jå‹í½é¹y}?R£Õ¦n=¾Kޝ/ï?sp8-rYgUv¡l—9cã'Mœ^¾gÕ sþ“ƒ3Ç­xÒfêNObK M“˜ŨÛ:~^ÌŠ=‚±‡üèDÀõÝÍËÖľa™R®_/4 1†¯œwÇB—=¶ŸÑ…–õâY&Ë01V—¤¬ÇÛVÇ©¶w³ SK3âö¯<šo5#ÈâgÞ\qÇ0éúØõ;Y ™{E›Åñ_×å/¤Yÿu]þBã_2ÈôGHç=Xد«ðš®ë 5[Üå€Þcá/á Öú~ªn»á;N¶’šãÌ £ÿ™Ý×nUÃÜoÜ8›Û^A†’»aܺ¬R¨ZÎÖì nØ’ÝÒ F³žtø²ÑŽõ»vL9’Ç×wé6xq¨­Î²ôTóAclö­Ý•8ÝÉO70b_þœsûaÔm88ÍŽÕN«Ž,Y4wcP×p éw Þ³j¢Ä篤É&%« S4lÛ{ÅÉY½ t¯ o.ŸKŸ5ÚLhL=—.8×uQØÉÎG†ê7hlXÏO®\·²@ɼ딃‹Ç»Vm !!½üöœ^!…EÿØÿ_Pô?~{ƒ à¼ÿ–õù~b•ÀS‰+™uÓ6_Ñ0ñD 5uo«wâ¸tkì‡éÖf‰bºÒWܽûë‚Õëw[@Õrì»òßy.r€—¦œMQôûŸeËquñËß§$?sªº¬©6â k÷Z{¼üŸþÿ •Û·Ý|c·°Ç½ýì¸~Ó*Žm¿QP°ydÏÍ®;RŽw•’%P%)F­l‚â[ëÖçî NëPöZ¸06x˜ã^®_øÿ|Õ¤à=/{z>± àÖÚQ·ªÓ Cc®N1‘pÛ ÊPó¯GLß–W@Ö´é6çèÂѦ5¿£á8Îáp0  üûíŽã€aØû÷ïMLLšB¨æ§=€ðq¼¼æD'vsDü×uù i–ˆÿº.!©(â_"˜¼¼|BBBBBBpp0Rpç@41iii¦¦¦µÑÐÿ:iiiæææÍÝ D}4Ç•?\ÐmqËÕ%޵í¸ß /jtσ#Oïo$J·>I[“DóæÍãóë[Lèïg2™=zôPWW2YÌ ¨(%/zç€À[ €Z+9ɤhœû#Ž%€÷ÊFÕ9Êx °é8þÒH‹ª¿Šˆb €LýÛÿ%%%°oß>OOOOOOäõG ˆ&EÎñŸ¾ë¾c9Z7µíÏÿòä©úðEö]hxyy©ªªR("‘H"‘ˆÕÿ'“É$‰B¡@ë øñð€euì~øãŽI.!Øñ/Éå/9þ%€½Ñ´é]Ã×or»ˆ¾ ÖO¶—´•hýÙ¯ŽHȰçO­ñ/)Ê_”µjIQþ¢,Ekü‹™þ@ RI€°@Ò’§l©Ÿú]þBþØR?õ»ü… ¥~ÄL@ ©d ¼8^o¶?àøoˆË_Èpü7Äå/9þëÐrLÞ§#½,»ì~'u;•#@üvº´€%õï”óÿ qù ùŽÿ†¸ü… Ç$šþl6›%6»Þ¹xñåÌoXµvìyÙ¯o4B wòïb.ßr^V@ ~ ¬:Êÿ ÀéäoRÇÃ]þBšÔñßp—¿äø¯‰Ä~Ž=š˜˜H¥ÖÞ ¤²²²cǎ•@%ƒ‘\—žZæ*[™ÿøä²ù Góæj7ù_j)A¥ÝÔUí~éˆú““kî&´P7J?hŒÅßÓ]­OÒÖ'ÑßEo'Xô#—¿&]ê§á.!MºÔOÃ]þBÐR?5‘èC TPPpvvvÁÙÙYAA!00ð‡ç%*ê2ML̬Ýæ.¨^˜óêé¡ÞvL&“iæÚgæÑçå8Îzs*¬_[s&“É4wì2éð;Ž„Äï?Ü÷{ýÌ;®yQYU^’â`;öZ1.¯æmÃd2™~!{þ+æKª@ B Áª£ü“¢\ª‰ÿuù i"Çc]þBã_‰¦¿¢¢b÷îÝsssUDÈÍÍíÞ½{ã6Å Pidàq9‚ià’£7¯i•ºlÜšd/+rFx¼Áôãq·ï$\Ü5ÍG›Œ‰O¬Ó5À4/úBºÐöÇK¼Íw覄 ¾&-<ç®Ñä×n^\çW¸}ThT.ÿG'D ØÀ"€†‡L7QÄc]þBš(⿱.!(â_„ú"ç»víZVVF"‘”•••••I$RYYY×®]qznñ³Ó[NåÈØ´·p:! cC¦K༅^¬¸ËéÀ/ùXDÔo×Ñ΀A×5sõÐI—,>Q²¶o€Y^ôÅôJÀKþ;uo?ÐUãçÅn½D³qAg¦®¾•ïÄ•´þ;šTÀýÑ @ ¤À"¸p©‘e»ãÿç\þB~»ãÿç\þB㿚úL‰4xðàÔÔT¡Ë?55uðàÁ$RC6Æ+¯²c2™N}Âïê ݸ¼“RÑÝ!=]-˜L&“i?:¶¤8§„Tf¿ ‹§ažž“·œ¼õ…ˆO¬Ù2íNæùÑÒ+/yxòæ1ÐYƒÊß²?DøYVM1¶ð]ŸQQ”ý•øÃ"@HAÖPýÐ(~»ãÿç\þB~»ãÿç\þB㿚Øñ×®]+))‡†#¹,9¾Ø‰F”UÕÑÕ¤…WÇÛV8zÇåCn*²•gx³pµ 9y¿Ë˜ë ‰q›Gl:½¬ƒ’¸Ä³•H Ÿ@‹;Ï¿™ª“sê.Á#ÂQàDûu·"ûiÖ~¥W Z+@ü X)K:O¬Ü|c¥KSϺäçDí~ÌïBäp½†8iZÜôÍ^ÞG߉ó÷ÉŽø#0 ¦®'â/V¾¨€ ¸óS§Ø0@  ß¯µæW\þBÖL¨vüOÿµÆüŠË_ÈRÿjÇÿ–_k €‰‰‰’’Ò¯ž¥|úô)7÷·N”–——ôèÑÆKJJJJJÊêðúõë)S¦L™2åõë×uŠ¡ôã© ý!—sEҾܛk§ÛýDViYYYYYñËí^tƒaW>×(WòáD=æ¨kyâ‹ÓvyëµÛð´Hxàëë=]tífG 22}%G˜öf_WmÃÀ“ïňQo-=*©.Š 0ª7ý;:ÖÆm¿WÈÃõòèÑ£:iVÆ¥ÕcºØÒét:ÝÔ­Ï”m7²*5{XÛ¢ÃЕ1Ÿ8Õ…xI†ºÑétÛžsNg°¿­ôù±9} èt:ÝȱϊGåõä/OÝ0ÔÇÞ˜N§Óéö=B÷'óë6ºÖXÓét«X8^ž²¼¶Ýô„ê2‚â¤YöÚm—&— j”/¿?ÍR´´Éø[e8ŽãœOèÑÎR›N§wÜþ–󽄸ÖJÈ_·ytºGD:GPÕ›¡?<®†âJ’¥þ1jêÞæeŸègÑeÏ{nýÝÒ¸êp^~Òæ1ÞVÚt:nìÚÁÙ ¶Çq¼ìÞ,‡Y÷ÊêŽôÏ N¥Iª"JcÕF´è›Mít}öerÅTÍ-xxdIp/7ǶÞ}',?ù¸¨Öíì·JúÔ£ÕJR¶ q6ÖÓcºùß VÕuXñb£¯[èÍ"AíìÍ&'ûÚ†I½Ûš1ètº¶¥×¨õq95ÅáeŸaB§Óû\,Æq¼!ŠqöìÙøøø;wîÜ¿ÿÑ£G©©©OŸ>}ñâÅëׯ322233³³³ ¾TS÷'tbþ aaa ÿ^㯠pÀ¼¡­¡8€à—ÿá8ÀøN²`ý²ãÿP ü '9 €|úeÇ?¸tùÒÐÇÃÂÂ~­­ Ôÿ7>zôH^^þÇÎmmm á??]+IÝB—p6æÞç®~tnÆÙU/Ӏж$©{{;(ñ?Å]{ÃÓ¦I›XûŒDºw`›¥+–¬â½ö;(T¥ù…öÛ2*,d=à _ÒïÄ$Bß°þœ£?>!¢6É}ÍÅ5må•EobÖO[:l®ÕÃ^J¿4CZÀå™ü}oa¿ØØmùK›aÛ—¸ÈUäö÷6}l"ÌU[.ò-ÕÀdäñPÍ¥É9Õ…]ÞÚô¼˜=©Ôrx^ÍÒÁâ¿Ä.™üÆ!øìžA”šW'½»M×J\©Iî?} nÂî{¾¦zº§ál*Mé¨Ù´ƒúÜsG¬º+3~©«Ÿ¾§^ÙïÁ£»k IDATi};âúî |4í‹»ý7@Ï;¹2¢Æ#1gBý§Q^ç.M“ÁÑóOùžV\sÕªÿtv]N\r¹Îô eFŠ‚_îï[½ÙešÀý¸Åª mÍ(:¿jc~%¸ß䜶 ãÿƒ¨½ƒwjžj‰¿•N üÿyÈŸM§þÿ<äϦSÿÖçÿâEBÛõ^t„ X Ž2jó†ÇKVê¿Z´—ì€)nÞìD+Hü:[a%ÒÆ¶ìs¥°y³å%¥MÒõóIëÜ¿qǬ¸u`Ì^Éõ!þöWQúYO\.†ÅVqº J[àÄäUÕÕE@SuUb¤ãóÌïŒAâ`•§ö]v1£T°™³>Ìw¸,jR|ÌœÞoË87L  *i¶»øÉg; ‹v ²½0ÌÏ*eÔãb™e®º]4ìÕÞc÷r+IºS6«@@hY§×xlŽIýÂ|/5{¯£ûæP‰=Ü =ÿÔò çê«Î/Õ]S»‰ ¾Ö B=4ia uß´“ñ'žÖ»H Ñs£÷<Ÿ0΀ êwÍlãÞg+X³î§…>Øá,04c—ÂEÞFTwÖrÝU ûKåÄÚ]|VToß›ƒ/Œë¥¢£§'ÚìFÄhÅÎ9±c—n›à Yz;ë‚§‘'/Þút‚’s@@mjA(¦‰+Ã][ÎòÜÔC¸¹þëÂ.omlÁÍs¹ŠS-$q¼š)ïXqf%©oë¨3=§ T#({¬:}hÎÓ‚ZÐ$‚ÕÁ’0íôó ‡¡Ýñ*ºƒp2•¦tØl8_†ù=)pü¬ ÔàË{&`O¸û$)ûߺà®Åv(‡Ž7Lm¤ÃŠ%ƒÌc¦ÈòIr—Š7þ9óÙÊLš À27—8ôæ3È_.ùí%.½8\ ×ÍêòBÄ2ì²eã?FÚ„gú³bsS•ƽàÌòàŠy‘ ï9Þoz·e|ÁÑ£Gããã»§¬¯™_ÿèüNYãÿO²ü›Ò)küÿI–S:eÿõ_<Ö:¯måv>Ÿ>}êÜ ¶ë©G"µ+´Ò¦×ˆè÷#ZP¿íêøm?ÿwŸ *SCÏMm)Ëñ ^vZì›iMà(cÞOl)F”³÷íí6{’ÀíÛÞýx]þî`ŒÝñkY$Ùû¯Ò³}ârÆ)ÑÂèyÃ=½,-£FÑ¢{ßQÛri­¾<ïåËJ"ÿ±~FI™4œõ¡iš‚MÄ% €4ÙZ‚Y]}µ€ a*O@*2ïåu×k°ï:¼”‰\Õ¥ÇëMÊ.Ý¥©Íù¼ÕÑàò«B*63¶,"ç&o£õsèĬÌKŒŽ+¦ ¬Ð‘áFÔtUøôkÎ{yÀœãm*ʱWš„Yê:‚ëÓo¤[`ÐB‹¾\,\k×DÛî¤Ë[)}}'_T¿¿ïgmMfÇŠ³VjK>zõüÓ©ž}j³bO¥ ðÓfK © T®Ý˜˜[;Ô@W™=AL¥Ùi2Æ—x¿±ónê…\Û9Ar÷œHq<7CëW #¬7ÏgHĬc·?Oš)ËO^3/ˆ2úä’Ø{ eê’îýq¥à¾ßÙR:;j’Ÿ _8ÐkêX}úaèy'=BjÝÎÏUýp¯¹ØïF7SRRÒÉ)×]Êþ;+äÏæÿògó‡k€AïÞÃÓ?V¦'ø¥^ t¤î¦‹…B¡È¨˜ÎŠ’XzÐßD€Q·ç~ÂöàéfªÊý†¯ŠðÖÊ9v8ÆûZb£–ÛJ±x’0Ð×É‘¹$#¨2jž5!->»†Y^ø§dek ,M‘×4=Ù^þï1C/~] =eŽrøÕ²TÓéÇ$–Ÿ<0AÀ¨(*EÄdz5Ö×KNÊ>•Ó«?æ–ÓÓ¶®t ½wv­EáΩÎ;2ë¸É3 òÎ EVÍ|æY¹€3̹øî}M¡P(òé_`Äͽ6.»›\7>ÔÇ\ŒcÄ_ÒÊ}Þ㗮]‰ ›"qoã—½ï¸o™Ç[[.4SBÑXüˆkÈŸG]:¤O§µ6ýKV1SB¥/osF:ZFÌ2(ÚŸ|t¼ž¼´¬Ú ïçÃ\<@ IZ^èû»â:îåõ 3•¦tÀlèE×VžwÇhçµõŸ3K@ÎP±y †¤¨' %o?ó6¾¯àæE9>FWò­µ¡Ž¤gÛÖ¿»idn“¡††Á¨5׊ù®6¬²û¡JM]f)Ž¨Ï‰\º¹xûì¯Ýß0Pxñ‡KýtVÈŸÍ.õÓY!6¸Ô{«µ÷Q¡LOÀkþ 1×aT½ˆZ·fæՄȉ½ŠR 1ª µ\HÅÔ´oùË÷åL=—"Èè+4‰?¤4( ±:œHÁºKÀÀyºö‘å&&§†Ù<|¼“µrë”ò ~@ðÅ biæ…À•‘ iß=l$¹ß‘‚ ‚vÁÛæî½µá™7í£N¿Y8‡WÂf[ãJ«¿½»³oÝÚÉ>*wÂŒOÔžó€  ²"1ÉKšçÇcHÒŠ¿´`ß>ñ° öÅã‚ZÛ^BP~}|³ÓµˆÊcÝç±…LÍ”+-#O¾™¨ß‰çæ¹þB!n®÷ºt„Îjí!ÂtZñ¼­¹ÃűJý¦¾´!ÊÍRŠ–³ÞÛuJ|ÔL%` ‚x¤¶†ŽðÕMÔ ¦BÏÜî¼k¿?!ÌQšÝóX‚h¥-—tfÕü Qø¯z¹ˆÖ™³?±Á$j^¹Þ³ Šþ4üºîÁ'lj{FÌX}Ç"’fx ÕûfÍ>+·æŠŸ©(èï.Þ…óˆ©B¨m*Ø †ñå·ÿògóÛÿÎ ù³ùíÀcÈ6ð Yñ3¨ë•_¹þÚêÄÇWÆï¼ðÁiGƒLÓÃÂjò[‹#àš~‰Á6„t<®¤¿wýfBâ­­“BB§IØ:¨×ßýVŠ ­# gÓóª Ž?Ç8qEMmQÐÑ9DK±¸â|z"/&ÓSQTFoG0Ë>–C/Yq¢¤” |ÕRh ÈèÊ@dþ„‹|ƒã#"§¡- k 'òªÿÜÝ÷b†ìL¾[ÍŒ@_ņè—üxfñ%o¿‡Zk//x9ÓménÇ+uDm8œþ’š…æTîw:çŸmnµãý$â”ëßaîtukNê#Œ¡•Õ°xªí`q¸‰ág¾ÛÙ2o°8h©‡fÇÙí9íâ«M`Ö”ÕáÅ{ñ·[Û¦©4¥Ýfƒ£X º}÷lü‡ì Þ‚*¶ýOÜHú´LCé—¹ÖåÞJú"j`©ÐÆ$p~¥>û°÷eõqú?ÂÓ‡ìíßK ë4R|fRn­ƒÌEh™gÛVësÖ­ ´·ñ©ß§šË¯þ)äªA1I½:MºIÒU‡ ¥ ~;ã¿sCþl~;ã¿sCþl~;ãÿïùšðƒÒN€šR‹(k(¼O~SÅ>N/yúô›¸¶ª8K’ Au)íâ0Êr?UóövZ×°uYºáÀ•;û~»•þ×NžoO6Ä/ë‹_—@% "7ùÚ0étÂb!XaYUuuuuuu5E žÞ!óóÕÕk’U|Âçš Ü:¬8Üãà»zÞ§Ó²æ#}•%¸¦·p­=º’®nm Hj« |}ÓVöM‹#0êj€ùõüÆ`©¯¡³¥9õ2rüár£MSiJ»Í+aéîШw«Ç.9ÿ‘€‘°õvSÏ [w¥ègˆŽžwÚoßGÝ¥žbT›î…QxÆ÷¸”·Ÿ­–Åd5DR0X ‹ÑÁgnWÐÞšå´ñÇ̨3+ŒÅÌTÄfgRB#±Á¦XÐ]{9iïhÉæ“-:d(mó›ûvEÈŸÍolîÛ!6¿±¹ï?òÔõGá³¢ðý»wï²Þ¼L:¸úb¹”íPe¼´Ã¢!ô³+Öœzšóáõ%[ÞPgÎÕ'QÞÊ\<óèù74¡å\Ø´+é@б6ãÀ†ˆ‹Þ–”佈‹Ëb5Éûú>Å©¡Þýßn5Á7òÆ“ôÌô§wNog?"(½¶…$FÜÜmš|NäU@Pqv³(?á¹áâË÷™‰ûVnz);ÍÍTpÒ£þø]NZìæ?©OuÑä&OK ÷=wÿYê‹G7¯›»" g3ͬÝk2¿Æ­ñº-¿2|®*pä‘›6Ùäo]™Ó"˜–ºÝgËñk÷ž¥U³¸ÖŽ›<[—²Üׯ~’þ¶¨a„ÙüxF^EÇ—ZèòÖÑÞ•q/¿Ñ÷ç\͇ícê¨[{cµÿñ‡Yù9©±Û¼öHN¤úMâ‰6 üæ;q5•ºŒSF»ýÈè¸Ù´/5ló¥]O–õ¾ñ™ŒŠïB#ü)Þqí~üuÂ*OÝ?×Ñ'UÅšÁ¸Vƒð„‡ý·ü|- ‚µ(p4Š–ZU‰qYÕ597o~W·V懷õ9Çæ:ú§xù.Èxõª¡V8QMíF4EqayMM%q<÷gJ'ðÿ]ògóÿ]ògóÿÿDÈ [z¡ü{txK/²²±“÷é7 {91Ë^X8XƒL&“Œ'¬¿Vذ] ãkÒ¦±úrÒòªúö8Sµ—=®n¹ÏN‹i/¼õ”&Ç—×eqa¢F!“ÉdG¯èw´V;Ôð?·ôªÎ¾¼i¶ž<{¯³1Ëv'}ªCZïHEÏ?d/­4åÊW&‚0¾Þ ™:@‰L&K÷áós÷"fÅ«Hw;M2™LV6›¼éVÑϦç _ûö ÛU2™L&SÔÍÇ{ŸxUÎeK¯V{c!Ìo7jÊXoËøµqýc”³²‚cd^³íyj3wϲÕS$“Éd²œžýˆ_ú¶,vLóíµÔÝVqÕ–›<§-½´–?©æt|ô…÷—8Ô¥­>êâÖf~>?QÍbË›º6š¥CÅ!Hý§››¦ T'³o™Qž'_W²AXewæj®Ii¾“ÙïÒ™ÛBq5•êGKÔÉÛ³ë¤ãfó‹fÏ–ÚœÓ5å,ýßF9ü¼Tÿ€´šêÇË4pºVÖ5ý-¸V¼9Ìw–˜ÙïxÛ`NH}Á¹¥ÖjrrT ·Ó¹uM%{ªF¬oçGµ¼5ÍC²šïêUqgŠ¥aK/îÏŸðÉ–^+BŸ€ í(@Žt2Öa:Ò‘W¢? XÖak˜Ñ5Êt%-¶ôˆˆˆ$'''''»ºº€¨(Ÿ¯«‹Ò ¤¤¤¨©©µ8ˆvýŸ“’’bhhØÓZ ð¢'ú¨êñ*›Åøýwƒ;²LòïÁú|~ʃ¶±± ”;#êÿÿ1鯦ÿR.^¼(!!A$q8Ç5ÂþL ðx<‘HLãœ3à &öw¦xý9Ëv †meü¬`htv¶ÏO–Ô¨´•ñ`@€rggûüäÀX€"Õ¶2þ¼Ðúû²}ØãÞC‡ÙØØØØØ  ?((((]Šˆ‰g Cõãœ6–Àí ˜ß^¦IÎ šªÄoÙ>(((=H;3þ».Ë¿)íÌøïº,ÿ¦´3ãÿ_Éògƒºþ((((] Ž2rãÎź]óœÔ°À]Ë ¹m%‚‚ò¿¤ÿ]—åß”vfüw]–SÚ™ñÿÏdùêú£       üã´øïž?›6ÿÝògÓfàÿß ùêú£       üã´øïž?›6ÿÝògÓfàÿß ùêúãã;«ˆ–+¢       ü;ðüwgÈŸ Àw†üÙðüÿs!à3שɽ¶Åu˜2…B¡PÔ8-Ûð±Žû®–¤j?a¸–(Ø* Ú—PPPPPPPþ)xþ»3äφGà¿;Cþlxþÿ¹?´Ú½ç¨ÉÜíì°ñîLŸÝëM…k‹Ó“Îô5Šß>  gÇa%¬¼Â¬~ÿ|_ ~“êêêžVá_mFþí£ñÿi®¯¦ÿ^Pþ”^2ãvÈŸÍV€…ÿ»?äÏ&À©1ðÞxð_ ùEýéù§–=W_{~‹ëˆz:º¦vS¼ݺ¾ZWê²/e¦F¡P(²ýì—M¯Bèïw ”·Z·Ç{Œ±U^Aw”ï•B:p“@j󮬟l¡J¡P(òúý®3~%üTÞ™að¦þíºò Esé°ÊS.²Ó’¦P(J¦“ã>Ñ–k¸“¡2EvPxZzÔòázr …"§i5'2§¾§… ÿÝògÃ1ðßý!6ÿÿbÈøÇõg”$œIÃY{LÓl¶{7A\R ¬z¬ÆÔÍç>~ïüê~)þ36>k eг÷¹•‘“ûx‹ê ÷©;2뀛<«4ÑËqþi¿ëÖ£ç®ï˜ÝM²‰D‡¿¨EÔ\÷¸°¤¤äíN3’Ë‹'ú?Ñð½tÿÑí½NU‘³'…eÔ6”ûî`ŒÀ²kYE…q#/÷¾£ìséQêËg·xÙËÑuõPPPPPPPøÿ=ògÓ"ã¿§BþlZdüÿ£!àן^üº(zÊ—£Ò½ÄÅVOENNmÀ”u†ÐnÅf7¸à ì°ÆÝ\™aÞÞúy'ŽeÔp‘g–\ ¹P7:bߊázÊrʺ¶Î3KóØ÷†Q·ç~ÂöàéfªÊý†¯ŠðÖÊ9v8­aW±QËm¥‰X¼£¤§dek ,M‘×4=Ù^ÝL…iøï©?›ÿž ù³iøÿGCþÀ?®?O˜ßé'Ïžý;åFyé§ò†AÎP©a&®·z¿Þ?2r«Xœåë Ÿå!êÃôÅÛ”¯/J-ĨÚj‹²å SÓ¾å™ïË™}öû 5çéÚ/—›˜Œšër*9¯ºk§%£       ü>?ÿz4äÏægàS†üÙü üoùgCþÀ?®?AZGJÒóªZ;άïq3Ã>Ù‡'¾ÎûT\’sqB/Ò(†0é,øù™ÁlK¾£p&°á¸†ï„t<®¤'ŸXe/ó#ië$s«UIe¬Ög¡  üo¡¥ÛÙ®K¡u}IÌ’‹³ºD}üç~ªÚ=w·æ¨ãÿ˺£ tˆŸÿ‘=ògó3ð?³GCþl~þÙ9?ÿbÈøÇõÇSOÒcÜ zW×ô0½ükuݧg¯ëõ̬ÚG‡a|ý¦ì×£ñáAFƒ§M/~ö¼´w?ebÎòò&ʘw7Óʹ°8, ¬Ç(k(¼O~SÕ JÉÓ§ßĵUÅ94^\ÃÖeé†WîìøírTz͵?€”]ŸDý…†é襟—1{Z­¿¤&ÿævw§ý¨T*•Úßv²×äOuHóV76/ôNñÏee™?íš7D—J¥j˜O ¸œ_ûójÕoc&[éP©Tª®Õä—4ò´ô]óF Ô¥R©TªÎÀ‰Þ'Ó*8ŒJ[ô5•J5Y“R@{µÍNÝbõƒÆsŠGþÕoI£5¿ƒh/|›ž­¿ì1 €^|#xáD;cu*•êpðÃϺuðxkõ¨Tûýyt¤ìú$Uíw«ÚSÞtuk3Kâ¶ž™9GÄ£ú-˜ßíqi¢N¥R©º¶Ó6Äæ×"8Ê0÷Á…{ö¿ì†aF‡áf*Mé¨Ù´Æ”èÍ‹'°µ´˜¿ÒTm¥Xo¹3—Ž|ú3vIÐ\ì¡xmåꦄÁ¬½QËû àÀ‰³<¶÷à­—÷Š{-º¥ˆd—MVÍŸ–b½›ãã¨OP òºi»õPÊ’]Y¶…¼ê¿eÐߘ] yK©‹uTé¯+™7:6¥¸~H/¾0®—’V¿~"ÍŽa„ –l›ç²jûèk+0á«Nc§F-5æäaàÅZŸNPç³ 6­pæÓç¢Â5,È©.ÜéòÖÆ~¼})_~Ò€¾8^ÕD*:Vœñç´wuÊS–N@%(º/‹9¶èEa¨A@y¨9aʡƒÅÚÙÝ'SiÊ?îmžºðŠòºèíNØ3+ÖÞSò¾|j¾{@8xؘ!ªãÇú®´2=á,Ã'?‚mWþåíw)  A€ejÚûXÖ:H}½xˆ¸0j¨$®{µå‰°yp´yã?šøó…qO¿»ªPp@/<çZ1kÏ܇“5Ýt -Ã@évìîi~â×Ó 4eNO+ÐÅðÉS †¤ê¸:Òqu«/¨“vÞ™ôk$è±\p\ßA¾ç§û7à,€¤ŽÝp~lóîìÛ³¿ÖszîÞäKÃy{ïÌÛÛ\‚ªÇƒBÆÿˆª³"®ÍjOõþZX´Âû—–IZH˜Ÿ¯yNßðÖnÙð¤÷1ËÝf ÄÆ.׿uúû£mœK±ì˨̉Œ£g½0üPôÓÃ"ŸÎ/»ÚßÜ<ÒãD <½ÝZWñ!ýU%‚X¿ ãsò¹tÜÀݓ՛/Y+Ö—H“ݘ´Âûçã j‹e‰HåÛ‡D5jìLxI#KÙê«Ï>Õ–_}PCñeǤ×2J•,§úº¢à¹É[jü:1«>Ü=«„le#ß‘áFÄÈc«ËÍéËçb3'ŸXaÄq .@j’ö§Òœ„ö0W¿usÍúðÕƒ…]ÞÚHÙ›¤]½¾¼›¤æmÇŠ¨8ØZêÔË/&-1“¨Ë¾~6hâ¥Éöl…”(Öm½›W;XŸïb§Ýb*Œ¯ .KîôÛtn›“<ä<&<âä_{tbHýf­´aTâ—ñSeøÉkæ‘¢+õùúÃs)u÷–Rf’q?’¶ì,›9^–ï7„^[ÇÂÐ?D{ï¬u=5ƒZð°¹Øßû AAùë@ï.n u·gëSþ!ê.:ámH`ÇLÂ;]ïb,Š•e¡Ë†ì;ž±`³¯k‰} ê IDAT:ø,¶¦ˆ$ ÏhŸy¦} JÃg Ü´4!§v¨ðÇRœ‚…µ¾"²œz7T°Ë¡~SdkEŽrhÞ‚†‹ír¢àè•Åeˆ¨j¯Æ{'.#eE Ú§ü zzÄqÙ5Á§…ßEøÎ¹»Hˆ‹< *iŽÉÜäz·öö3åâ»7íke[qK¨ìWW1S›ó‹…Æñ4åñïk1ßß\³Ÿ¼punÂá ­Óf#qçªvæ›fêˆ9~jÒ.á¦uᣫ[»þkv ³·UÞ¯‘އÑ0_{Ì{Ѥ©và4æDžšØàbH9ÁïKêÏ\ÿn0zÉM¿U^Œ· !M }yûd§È7o ŒB?2D¿ûB‡¿ÆõÇËO ^þÂs’Ù6¬¢½oøRJpð»ÑaËóB&O?›…¨:ìZ=ŒÂ_ïœYåvn}"é|ÚB PŸwbesÁ™iÊ„º‚&RÝb((( ®? 7sýFuqjLPàü•*×öŒ/Iûˆ¡ÎÕlp! RFÆ}*^åT0y¹þi]ù&Y&I5©†§:VXB°þ#% 7n²æI›³C[ÚØ;¨Ø:¥ü_ƒ7Yz!¡ìí•ÍkN$§ÿXdÉ#6Œ  h»nÓl›^èç»õí1gc²æÎàUÉdÕkeÕßß'Ú4k­ÒÕ`çÓ=f(-¹ç¡Íóã1$Šü/-%‰§ŸÔÔ¦>+¬µ‚Š›S›®AT=[ØÀÈD©rˆó‰3Y³üt;Ñëlžë!H( pÛ4›{]:Bgµö VDAokîpq¬²»æn~oåéj.Y“y18À}©RläT`‚x¤®–Žp\£¬çèS¡¿˜±;xçµà”†^ˆ´²š³`Y5?j€(üWmÀˆ!iMßy}:ûŸšŒ÷‡–뎕†Œ»¥‘tppÜüõIf{øh†BË<¼`áE™UÑ^F" çõ܇s™¢Dh¶žG7 Ê/þf׿yâ J§ó+×_MSøìÚÔ½W GMç"ŒÁ¦éO‚°šüÖâئ_b°ÍE!-÷è'öoÞN¾›°cæÎ]“^Û`Åi9¥¿Y‹^¨F´8{8qyuM-ÐÒŠ ½´Û´ñú¸#cÉxQé^˜ÊâŸëX1Ë‹* —ŒA¨¯¤ |Óo HëHÉ‚R„‹<ûÞÆ ˪iÊèè÷ΰp?ðÈçÄ m7nÒX€!öiÜŽK~<³äj@à ßè9¯æ{¬:0ââ2-+§ÿDˆ:@s6ÿG'¯‰À)׿#ÂÜéêÖ¶J’ ahåµ¼WüÅv°8\éÝ=ç~XïÝ0ËF 4TƒrâGŠÉ™è©I`Õ”×áÅÄùÛ­íSÁ‘ L|p!¡Ðn {‚· ²•žàéø{Ånj ¿Ìµ.?áÞW=sù6&ó+õ9Ç®i­¹Ð¯tOº Í]qQì(±÷òj‡µ}z7€ÐÞ]0%¼nÞñã®Ú$ Ô¼KHûþ,m°æºŸBîTýMb&Sš¼yé¢g ÊOþn× ¥Û@jËh,¢t9$÷~VÃ-ú—Ï¿‹iRŰX’„ÐÊhl‡Q–_Dëàþx15ë‰nþ»¢¯†ø~õìëÚ¶Oáoðd›ñýöœ}ß|ÉÚŠo-›/;zép»ÏæÑ#ªi¡Pÿ:)›=•ñõÅýOÂýŒe‰BªVêØï?5Ä/ëKÞ| …Þnò-´a2è,„ÅB°$UUUUUUªBožÞ!óËõëï+¯Ø:Ãx˜ßF»’½ÞGß×ó>½&çqÒG±÷_SèêÖB_M*ñ[V ·— t°8£®Ž˜_Ïo úö.'ŒÒ¼B:EO–¿c¦]c*ØÞæÞ'#†¿_ï²òò':¦·õrWÕ·»‚®ÿt&éÎ.Òq[j&Ú©¥wŒçÖž–\îeÝËb" ‘ ÃbòÉ Ÿ-ëØÂÉ[K§F]l(Ú`¦Â–Ûâ®5³Þ :¾Ñq;Fômžqõ×=CPPþ:л …+ÌŠ9ïß #LZIJÌ¦Ø ÉIƒ•ð‚vómñð]o¶Èœô>&`{–²kH?å,ÌÄöŸºœ5bž&ä_Ù¶/ÁðœûÛŒÚÌ#á÷úÚÚ(Š3?%ÜÊfHM—⯤Õß ï´0‘=­£× ÿx×é†YrÃÛõáƒq R•~énÀý­³ï7SZvóÆRU.tîÏ”®#""’œœœœœìêê X,<9Pº˜¬¬,55µÑ®ÿs²²²444zZ ^ôDU?ósðÄ…ßXoÈÑQíTX_.ÏuÔ:æìÅÎ;ÿLúß«é¿T£[·nIHH‰D‡Çãq°?<O$Ó8çŒ@àpˆ‰ñÉ@¥[©¨¨€C‡ÙØØØØØ Þ J—"l¸ÄÏŽö,ë.dóû«ô¾3ÖNRøÞ™¡    th Jׂ# ØÖ=%IÚù…ØuKQ(((((#hÔåêú£         ü/ø›]ÿê{nz†žO»!寇o\¤ìú$Uíw«ºº FÁ‘ZÃлº ~æÛXt:|3Lê„……{Z…´ù´:Äÿ§¹þ½šþ{5BAAùsøÒ¥çî¶Ót;2gˆ&UÍÀqMl!;HÏ*{¶ÛÕV›J¥9ù]*¨cË×¼  5íveÃéÕ÷ÜôM¼ŸÓ©ýp=xÖ=*•JÕ4ç#çö|ûYõï‚l5©Tªáªç4`U¤]>ÚH•J¥ê š¹ùVý§Ã6G®ŸlÙª>|oúë³>ãhP©Tª†¡ý¢yõ=Ð0((((((((((¿ _ºþôì£ £Ÿ¾y¿†|}µÿÍo,`~Ž]1g{®Å¦K‰IÇçbOmN®Fx]ƒUv×ßyI Œ ¹œp7áü–iZBÂ6nùiÕW'¾ÍÉÉIÙf,ðùšçô ÏÕ<ÏÄ'ÄnU}ÂmfDfmƒï^Xt.%ûíEûg>IŠ+N'£}æ™ö%( Ÿ5pÓÒ„œZÙøÃ÷…œO­«+  à³áÙ-çXW`~¾±óJÝð}áKlÅ1 «¨Œ‚¦2ŒâøƒIx§£ë]ŒE1 ²,tyÂ}Ç3lÖuðYlM! ŒÏe8 k}E (d9õ.¬8 JWÀ·Q‚¤š‘ý+,!X_FcÕ—¤}ÂR­Õ’Ij–jD^—¨û”’¨ÙéŠñÐ×—¤}ÄP­5EØ2)#ã>os*˜i]y Ž›¬™îcc3qQ@xôý4žoPPPPPPPPPPø¾uýƒmê±# €`ðøŸ‡13o1€i.ËúcÏœ}=¡Q !-÷è'7.,]zÇÌÁö~÷ÊYZ ÊÿZêúV?«îú’˜Å1.c2º¾(¾ƒþ~Ç@ù!‡ÿ—uGAAAi7üëú·†(­'‹|L+j˜`[_’žÏNÊÇ’$„€VFc;㌲ü" d •0Ù·Ó+š°8, ,Vã5ûË!¹÷³~“é_^<ÿ.¦IãÐ.x15ë‰nþ»¢¯†ø~õìëÚ®¨#¿€”^Cù…\?»{ž”2{Z­¿¤&÷Ú×aÊ …BQà´lwÂÇ:¤y ËjYOn˜aÀü~?lº… …B‘Óís>÷§±!U™§}œŒ”( EÅÈ)(…ÆCž–6}ˆ•B¡P(J£<ޤr°¶èk …¢³òY í妲ý=ï6žƒ”ß÷25ßÚb† íé í¦g«-|P ôâø0÷1æÒ EVÛvNhb §Vô¢«ëg¨-K¡PlöäѹªG¡XEäБÒ+c¤g&V6Õ…[]xÓÕ­Í,ŽÝxFdîaîÕìpqÀüv?Üu°Ž,…B¡PÍ&ø_Ì­EpÒ#<†~رëE7 3: SiJ‡Í¦0¾??8ÏÉv€¡‘ùàqn›Î¾*ã³ÇÃh©|¹{š UAAÕÂ5òMMÃ}X÷fûÐIeüó*šk'6Â,¾8KB¡8]-€v JçÁ¿¹þ­ÁKm¾-pë9§Ý.*˜üK!G>QÎÂLlÿ©ËY#æiBþ•mû2Œ6Žì°Ä1l®§Çî­+µE+sž§±,&ÚˆÉRðEg•¥ØÍ´ÅÃw½qØ"sÒû˜€íYÊ®!ýH-Š®Í<~¯¯­­¢8óS­l†Ôt)BO´Aw‚Á›o‰Ý2@˜UWš}3dyàt_íg{‰ÿÑüæÿÅ2©M©ÉÜíì°ñîLŸÝëM…k‹Ó“Îô5ŠÓøÙ¤ú²œ„]+ƒæ,RzvÞEŒ§çM ýê²+î˜FéÀî.B*‰k H@Ï;6s”ÿ—‘¾;=MåˆÙ¢XîòX ÃÉ~3tûà+³o†¯öu®’}zоwë.ÄàÍ6žÛ`¶{ ±/U«¿,|þÇeAã’6‡ŠÇ›—ž"λ¼¼¿p«ó1£ 1Áf$ög !¨Ë‰K.×™´ÌHQðËý}«7»L¸·X•ÀM+¨§adN÷±¿·1è#õ0$y»g¥æÕI¯ÅnÓŵWj…ûOƒ›°ûž¯©‡žîi8™JS:l6í©b}#VÝ•¿ÔÕO_ ŠS¯ì÷´¾q}÷9þyŽs·ÿèy'WFÔx$æL¨?â4Êë¼Ã¥i28zþ)ßÓŠk®ZõâŸÎæÞ‰À(:¿jc~%¸ß䜶 ¥yñâEXXXEEEEEEUOQùñìHŠÂÔë%UUU¥¯¶ ´çmû«¯÷Wè*MŒ-®ªª*/¼äl¬¬ ¢¡o=sÓ–1Êê ¾TUU•¸±ÎQONZžªg·8"b¼Š–{Ò—ªªªÊoé§½Ç)’Éd²¼®ýŠsï˪*¿<s6”'“Édu·¤/UE÷#\©“Éd²‚ÑX¿óY¥U­tøñjÿcU ™L&+ô¹âxÚ×Êi¦ÎáÅ‹­@šÂúqÙ‘¢0#¡ñ(íÉr-²ÕîœzAfYÊ·!š2™¬hâ¼þúÇzAÚ o]ùñ7ÊΨLœ¥ª½ìq5RŸ½ÝBÎjý¾Õc ”È‹ Ø­rÖÁÇ7¹˜«Ë‘¥Õíü¾ùëxñâE³ÿëóÚKS†„gÖ4;Zö¥ŠÙ¢…ë^™µ–?¡!RŸbNÖõzZ ‚Ð “Q—T°Ên»ª+Oˆ.b4/•›|sê26™PŒ7fÔ¶Tºe_7ýªâñ#iÃÕÊÊûË­~\Áj%Týd¹¶’Ëm§7¹Piܲý‰–ªsЪ&ÅWb½;·¾ õ8çQ—FZõQW·výû+¹AûòèÍZU³ƒÅÕ¤ô§X„½k8¿ìæ$9Ù‰7Ùw_õcշʸ7BûiÙ\D{L¥)0AØšÁ‡ è‚0¾%Ø(ö›•S[ŸwÐAFÎ!"“öëÂU/·ÚPäN}üÕ+ZÓß§¥a4¡úáb}›íÙõRûj½¹ÉꔄQtvªñÄ…ôÖÒüR£–Xÿá„sÿÑ{S®M‘£Œ‰eiÛ†qáÂ…¤¤¤‡>yòäÅ‹/_¾LOOÏÌÌ|÷î]NNNAAAQQÑ·oß¾}ûö½‘Ö¿q=íp¡ü–ð ‚ü“ëÈÂñà¾ÖÂ/˜ë ÆŠ€ë45ù¶ý‡……½xñBDD„o⯘^#¢ßgî·‚Šûí·Wg4É@¨࣌#¶¢€ë=`idRzæ«®ï^æ~*=%Ô”¸>–+£¾Í~“öðÒæY³Ž½z¶Å˜AåÑþ§’_çäää¼yt!Ђ ©ßüÈ»orØ‹{’+ÖÖŽ«)9999™É'|†É •D•©¡ç’^¾ÏÉÉÉɼ8Ž*Ä?!–.‡E+H¾p¯TÊÔˆL`–\^<Ñÿ‰†ï¥ûnïuªŠœ=),£ì'ú»ƒ1Ë®eÆ»Qñ@Ï:t–¸ärFAþýõ”XO¯k_YŒ‚¨ÅÞw”}.=J}ùìö/{9âßßÂŒ’„3i8kišÍWqIáf7³º 9újAÃTž€TdÞË'êÚi°ãÖx)¹ª´Çëk2/Ý¥©Þêh "¯¨c3cëb:ù¦%Tæ%FÇS Và95¾QÓUáÓYGΛ·0’9}§·©(Ç^Ajf©S(Y»ù¿µÎµFè5u,>}„š×û÷´êTº¼µ‘Ê×wòEõûKñ~ÃÚÑ┆ڒ?^=ÿô aV¾=•&0`Œ6[JHe rmZb.?æ$¶i*Í„Ól_â×8κ¢rmŸ‹ ¶ðú‰TÇ53´~’1Âzó|†`»ý™ÏÒ~xA”Ñ'—$Þ+¨¥å$Ýû!£GÁ}¿³!¤tvð$9>~}ß¼éy'=BjݶÏUmáÂuÈ0Px‚…Q'Aþò‚;ì.ëÿ:½¿× ÖôÅf?iû,7…άnÛ`Aw2œKƒªpûDlƒõë`ã8 Ïò¡ü-„Ì‚>ÿ“@#|üÄ@éaº›.j”†ˆúËbüM„Eq{îà'œ žn&†ÕUÞñ»§-Ù®ÇëZb£–ÛJˆÂ @_'ÿEæ’•Qó¬×.ˆÏ®.Rø§dek ,iмf7T°Ë¡¿.Š­²—QLÓ4Y~òÀi½¢¨SëÕø@Åõ’‡²Oåôê¹åô´í‡åׇ]Ú"üö”ÏŠ©Î˜„ÛBœåD€Ê;St¦&Ô@/Û —7˜sñÝ›ö5Õë^ÒŠ†ç9FÜÜkãàè¹·IΧ}Ì9.–…—´rß`©­§(\ý>~ߺ\¤kKÔ›xe¬²û¡JM½hÙ˜.Ö>­8« >ábJÄ€v 7­ G]ÝÚõ_²Š™ƒúòN,A:ZFË2(ÚΘñz;pZ ¢Î»4x€’´¼Ð÷wÅu`ð'!²Î§mSiÊoš ½èÚª¥Ëî›í¼ê(C¨þœYr3›g`HŠzÒpêíg:Èþ-?úx—0¯g‹Çèa•†¯ÝçHz¶~ýÛ±»½sƒœ&F½AÔ&l<¸n¤4ÿd0´ìÄúœÈ¥Û™‹/ͦj?4‘ê˜a ð¦Ï0ˆœÚMeÑ‹¡‚¿GÏx)ð†€A\„5Àó¸-‚)ãára÷)Ö³ ®? 7sýFuÑ‹¨ukf.QMˆœØ«(µ£ºP»áW—@15í[þò}9“—ëOÑWhℤ4( OuœHÁºKÀÀyºö‘å&&§†Ù<|¼“µrë”ò ~@ðÅ biæ…À•‘ iß=l$¹ß‘‚ ‚vÁÛæî½µá™7í£N¿Y8‡WÂf[ãJ«¿½»³oÝÚÉ>*wÂŒOÔžó€  ²"1ÉKšçÇcHÒŠ¿´`ß>ñ° öÅã‚ZÛ^BP~}|³ÓµˆÊcÝç±…LÍ”+-#O¾™¨ßÐáHuƾY³ÏÊ­¹â÷ëAk­†HðxÙ<×Cè£"Àm?mîuéÕÚC„é´: âÛÜt´8Vi¢ßÔÀwƒ6D¹YJÑ2bÖ{».P‰š©D,AÔÖÐ‘ÆµÊø„6L¥)¿k6ôÌíÎ °öûÂ¥Ù=%€VÚrAfVÍ…ÿª—‹a9ûL¢æUë=› èAïë|rœ¸gÄŒÕw,"ùh†G‹N¤¿?¸xÎ#v¦  Ù+© o°°õHþÙE>'Âwïc–€*\Û _¸L·ß¯ª8}Q/ÊÿL¿vƒ—†`¶bÿE‰°÷$$¼€OßÐ TúèÉà6ð$¸”®æpø}7éÖ³ ®? Wpbòªêꢠ¡­N||eüÎ œæpô'0<—XÅpM¿ä°r«ŽÇ•ôá÷®ßLH¼µuRHè´3 [õ⛄´ß‚ ­# gÓóª Ž?Ç8qEMmQÐÑ9DK±¸â|z"/&ÓSQTF`–},‡^²âD!I)Aøª¥Ð0&Ñ•ÈüùÇGDNC[@×@OäUÿ¹»ïÄ Ù™|·š¾Š 1B\/==Ñ– 2‹/yû=ÔZ{yÁË™nKw;ÞX©#jÃáôŸÔ,”0§r¿Ó¡eœ5n[­[ÌY·~¤_mÐZ«ÁŽœ›ˆ«zÜ×3áRÎtukNê#Œ¡•Õð^ŽÛÁâp?ÃÏ|·=²eÞ`qÐRÍŽ³Ûs:ÛÅW›À¬)«Ã‹÷âo·¶…©4åÌG±"tûîÙø3ؼUlû ž¸‘ôi™†Ò/s­Ë½•ôEÔÀR¡IàüJ}öaïË:ëãô„§ ÙÛ¿—Öi¤øÌ¤ÜZ#þ˜!ÛºioãS¿=N5—_ýSÈUƒb’zušt“7/< ¥ 00x3Ì!”BÀY\ð›—)¹>·¸~+lS–ÀwØ™ÈõI|j+ùM:!XÛè÷×Á–±°6ê~~ûÞgÀ­“8NÆÂ°Þ}áÐMÈ6„»Ý52éAþn× ¥Û@jJi,¢¬¡<ò>ùMÃpž^òôé7qmUq,–$A‚êÒŸK¬æ~ªîàÖxq [—¥\¹³oà·ËQém.ÊÈïà)ƒ'é1î†G½«kz˜^þµeÓàåœ6Ä/ë‹_—@% "7ùÚ0étÂb!XaYUuuuuuu5E žÞ!óóÕÕk’U|Âçš Ü:¬8Üãà»zÞ§Ó²æ#}•%€ÐÞšå´ñÇ̨3+Œ9­—ÛT+jt)]ÝÚ@ÔVøú¦¸xÒÁ⌺Z`~5*H} À(Í)¨—1ãMM¥)f6X Kÿs‡F½[=vÉùtŒ„­·›zfغ+E?Èéy§ýö}Ô]êi!ÖyêF…g|KyûÙJ`YLVC$ƒÅ°|²Ý ÇN±Ù™”ÐHl°)t×^NÚ;Z²yÆ7Ã@i“^ƒàè<€Ënû¥kÊÀÀÀ% ÃãÊ6Ä{572:øߦ~¾=Gcˆe»û*pÌ„»OÇú£p…YQøþÝ;a„I+~µöb¹ÔÔ¡Êx!‡EC6º­Xc¶{™¥pv”ãCìš IDAT÷–7T·]ú$ Ê[™‹G=ÿÆq‘6ä^Ø´+ÁôkwYµ¶%IÚÙ+÷bÆÇe1ÈsȦ'Aqj¨÷ÅGMøäëîd¢@ª)ÎH:sà²Hp|˜F3IŒ¸¹Û4ù¡‘^Ì âìf±ÓÇsƒÙι¥77½”l* 8áQ£‚fù¬>.îa)”uråÁOêË\´ 8Îò´Ôðà„¾fê!Æ—×7önLÂÙD˜µ{ @æ×¸5^·åWÆÏU%GnÚtÖzù²ÈWR›þ(ÓR·Þêce¡%-P™¿ÝÑ/ý|§i B}α¹Žþ©†~Fd¼*ÀI««J2_rÓŠY‘÷&¿²&ûkB+z›þªJ¨Š†, €Y–ûúUŸŸ‹{ûRÕ¥[ÇŠ*R £ººµ1:Ãû±¶Ý˯³ÕàVMaé‡%˜:êÖ®ö?¾ÝÝšLK?ã¿¿@rÂpª Õo?H ´Qà7߉›©@]ÆŽÙ¾YN{w9˱:l6­ÀK Û|iWõˆ%c½…¯nuèCû.4ÂÑ9î£Ý«‡N×b¾<¸dÆÚT}¯#ƒq_«Y²Â|ãb­µc~¾ÁZ3š‚DÑR«jC\VµñæÍïêÊüðƒÛ½/ª ©Ý(SY"ŠÃ`å55•ĹJÀˆÃÆc @»‹ÏC/.)Û<Æ6|>pø!>‡§À¶[à¡ Px l]!§@||ò­€Ð—<ÞC}.Ìs…ìPZ Ž!pºgßWt=¨ë „ñÈk¸5û3IÞ|ÆŽýþf"@qö›Ïª ŽË@@Þjnä¾ý@ØduÄ‚ùËT·Jirw·¹½£ý…a‰Ÿã‚gn*¨@@@ÆlòŽ#n¼&gþ-`HºËÎ%ªìÚ>ÿÈçzQ¥#g­2$µZ–^@kÆBý½w%ú˜Ž–Ÿràä¯Gj°’FÓ#ÎxÛÇ>ô\°ïŠÍNÖ¥@R²u;¶L[8Ëב„¿'„/ÝVP €W8.äÊêqÒíœÓÈú~;`UeÙ­šlg'í´%0ÆÊgÅI‡s³›dNà>ß ußþ¹€@Öå~à " ßÓÎ'V$otInUYu7ÙS‘«VUw—Û¹>f‹š=âЯé¼ãÉ'û_ÊIL¹òŸŸ2ä mlìåÎ;ÿLúß«é¿T£‹/JHH‰D‡Çãq°?<O$Ó8çŒ@àpˆ‰ý)^m!j/‚ ÀÃ¥0hÐúBº?@þfÐò…ÎYé—+ŸÃ6=€Äé`w²•Œ…Ù Ò ý1ôÑa€Ê"H½ŽCdTvܧ¶„÷ @a(¨¯üU—^fpñ6 ˆ_  ¢1¶o° RVTDƒüdhφÆÛá™@õß®Sþ"Ø›Z:tÈÆÆÆÆÆ¦eÔ'ØõoÙøg¿ñÿ+˜zn«£   t:"&žAshƺ]íû3¿½L“œ4Uéxg†‚‚Ò0"àTç0÷@ÛîßF@ ÜØKùUÃŽ¸6ââºMÖ_•kg°v†O`º3\*èe¤GAüeÐÁœšsO6KåWjóæÜåºñ{ rï˰Âj ‰‡Šzo‰V ?,êšÿûôܬJ”ÿ!8ÊÈ;»§$©a»†uKQ(((ü€ÑX¥ 0Þ¶±žÀŸä*ð=¿ó’d”ÀÃgýªX ! ¦ƒ@£€ˆ\|ÓŒàÔŸ¬ Í9p¤€!#Áç4Û]”Æ„§ÒOÐÎê@@/Q<ÀÿÌõGÂÿh/£     üå á„ÀÛM–Þ…azÁR—†ÏÇwç¥}xOáNVsÏƳàÄ~ÐÄHBä x`ù¿ç[cÁÜâ7‚0”ƒç`ØžÂ)^ý[+7œ„üûpÔõÿ_‚ö2 Ê_xMÈY›Ö•EI…1ìñYpè!ROp:΀ç‡``.¤ÜE¢ x€Ç³Ž+A„1;á´;` ¦Ù©\Nb,øÖ˜ªßGÚÁ„†‰ •PùO‡üúþòÿ1Ëí ÞžôÙãšðÿ Ê_‹ÞJX«°k6<å¸ungG†-ÖžGÀ»ßš-ø# V\møì8~cZyw8ãÆK°7áâ÷y/>R­¡¬T¬¢þÕÙðõ_wýù&êÔ¼:ø{gE×Åñß& JíÒ±tŠ„R"ˆ]Ø¢bbb ¨X¨```Ç£Ø-v!ú (v¼&6Š ŠÒ,±1ï»( »Xø8ßÏþ1;sn{vöÌ{Ï]ºçµøUQÓÂÕ/ …¹Z CŠ3ah[ÚÙh3(²Z!̹¼:öfãac¼Ö*ãÿ¤ëOBBBBBòÇ"o‡mQ±³.ýÜ9* ÆzxXq°®Óà…¸²膮P€ô=¶ª£|°š®¹jãØ>=‰‚qP”}ᤂäon=&‡€öâûGkº2øÏ¥²ëOü6ן @¡·ÞÉ€É/ùôìÊ‘Äq꣆4–µ£TäMýÚ™ÊðmEç ‚% ­fh´:M«·Hë墢ÿ¼µÿ H5ÖÈ>ªºþ{-ý﵈ä 6Ððˆ‡ Q•¯²Z”øaÖðÒ§ˆÙQÇ(Ÿ6ƒ`(ŠGÂwlwÅýˆ@ )CŽRëxo×b¡VuÌqü2ºxãÈ{é’ù×q$Aê€&µÅÅ}߈G¤êŽ`Ñæ2ü“øê)£þ¿k<˜ PåTµ55ä–¦Ïûÿ=¿ñ:Oà¤BåçÜ;sêßÿ¥e—AeåÓ¾—±•à}¸“xèÌýôB!¨ ÚVÞ}»;kQó¯®_ÝnÈoušûì=ëã?qꟈS€¢ý° Œ„ﯜ8uîþ.AoÈqnàc£Fƒàó¹5›R¬|ÍÒoÜ|]ÐÀ·/µ»G+•õGo†FÎõ'!!!!!ùs)l1 -dK)¸aŠ «ëæú+aä ñáþ•øü¶xÖ ¥µÏ‡(Ʀ@ìÀÖ€)_A/x+M4ó"h!´_‚fÿâ|®ì|å1f´ocq쿾•/êÓ„Ÿòç?!¢,çù½94ífª4÷Ùñ]‡2Ì:ömiª*ÈLIÜ·óˆrH¯F»û½ÐîЯ§™*µ$çí»R:Aˆ+Oœª ËÀaí×mü_£!£=Ò)ûöÆ0ë<°“3ûVüÑÛhcF4Ó¡ ¯Þ³ ЍÄÿø¿ ë_°*—õ{ôôc þèÚ“ü x£7 ðk®}GFTx”o%š~«ŽïˆRlë»úFØ^ØûZŠdêÌé[@{–£Ñ|æ“×i˜+Ú¯ Ã#Qð Ö«Q‚ÿ$.r¶è;ݨY÷@eäßOz@ó ösÖ¦hèÝÆçá–ë/ íµó¸T5S[C…¥†Z „+CbÂÜ'ŸQ‚ZºÊQ Þ¢‹wêêkWß5íªG·öóå(Óð Š«fõG9êOBBBBBòÇr{"(e^ýa»ùRÑz<Ä¡}bq¯¸Î¡¡–tÇþŽ*•a÷@ðùˆëècÏUÐ=±óU±"Ì늦·ÑR ìHÌB‹)ȪäýS`3‰ó»"áS«õ'QFý €B5ôÚVŸVüñ^âé«Ï2Š<˜ÙéY¼Ü×ÿ,Iª «‘SL±¶seÝ9´bÝÿ,8æfæl4˜”Š£þtoàç¾ÏEC/-ñ²`š’ž‘bÉ»¬¡PÕtTèB€ô¬þhHÏŸ„„„„„äN±ˆr€›Ó1<^æ<š>B[ŠWïDõ¡}|×"ðÖîDÊI/ƒ×ضÆþe,½ý]Õû†€ÏÃÁ!€v\Ý[ŸW–*}ŠþH8w9ØODŠzãr–ø*Eçaïq¬¡õ˜uõoqŽêÓ¨?ª¼[KSšºÝËÒל‹dÛWMŠN÷q}+Wö¶}Œ´yõìñóW©ç÷½à0hh+s9‘gèšÒ|nI|-Z|€ (¢ç*…":#5+…?Ùû'GýIH~!Ü”èN¡¥‹âg7®aœ¹:#È<Üm_˸}ôÿèåHu÷rMÛv ýÏéÿ÷µ„¤VPÀnGG(cU'hˆ¦àÃAiój*¢l¡#149Ïqë>Ò³À¢¡.\›Ã\µ\è3‚ûá%ï»›ÀÇ¡èÌÃÑ€6¶\ÝŸè·]õÅ‚…/Ðé„KÏÑÝ? Œ=‡åMËsK‡Î@ì(Áš18[ívÅ:UÂç‰ßö©Pª²•Ÿ5ýùÅ{9ÊzȺŸVDH‘—c™Ø5oÙqxpÓ¢Ô[e–­—)@¡P¿æ@WÑi€ìç™e¢¯‚ü·¯¹òlu&E4qˆÀ7Êús?ßœëOäžìÅùŠ¥[DZþ—[Ãý°I*B§^àiÇáp8œF¾½'Ç&¿+%$5láÜzè’³_쫫†¶°çp8–î=fMûòj”(JÝ?³··-‡ÃáØ{÷Ž¹Ë­Fž{ÕОö‡Ã±õì¾3%_JÇWêk‡ã:ýv1À½·ØßÂcÚåò4DþÕO ¿…)\ÉGî­©.S;Ž»ÆýFéR[ÁË8=¢‡¿‹‡Ãi³á5Ofõ8œVë_ñˆÜ“½Ìl†_f-«-Õó³µ-ÈLXt@yÀ`EÙͬuq|¾º6¤½«‡ÃáØûö›s<­„hìÖ!~ék×ßý©»ûÔY¦"!SK³©!üìÛq F÷nçëåí×¾OèâCòêÙí¬Ã(‡(¼ìcomíÐ"dÇ“bñï°ôÉêN¾áóêÏx/3iÕ„^~NfÇ¥ݨ•>H6Gy|„#‡Ãé}J´ñRM ƒäw A#ćñË‘YãE‚ Íà߃†!dútúê÷ç_EWglKûAÕããØh´[ ÐÀ†ki :\º¢Kñ§¥M…$ªÐ-4¦A_·Âyt*—ï ¥TÃúJ}šðC|Š0MÜìn¹s5·o {¹­ñÇþ%š9ë*ÜÏ/Ÿ¦vÍœù)g_)Xrô4„9ÏŸ}*›*Q+Îçá}¸-EŒ†ÊÔÜ´ôÖLU:]A™ã͹Ö¨c3ûÖéË™ê.=Xtñ«¯òÊHÏê8¯Ñ˜Bw‹Ú7ÇMIXšûâìŠðÁ³¬.,÷Vý®·B Fmâµþá§Æöï²è‰mß°%Ó K3^<°uÎ*§cÑæ_4¬X–÷2yÝô˜Qã “wõ`ÓÀ·ôUŸºÇŠ5ÏM\0v ãø©ŽŠà½Þ=¬Çœ¬Öa‹Ç:ë2 Þ>/P¡²å©êŽÝ'Z¨Ó _œY;{VÿBäÕ-TíB ÝeæÎˆÆ ¢/L 9€j?jÑ “½&ÇtJˆlªŠ‚›K&Å1îí X%=…á±c¶‹‚踡‰èÖ*«t­Ka7 œàweQÌ»jªPuôè2w®”Ö–êøéÚæ½>¼ážéà%z¢»­¬fÖ®8ù¬„‰ÁKžøGn_æÍ*~°7",4XÕòä8 ¦¢}ïö´~±—Ü[JééßtS©Hmͦ”¥í é:ã²NçÂíµy/~ó´ÎÏ-9¸4@ñ#[÷]ȶÿr×{§¯/uò^og`÷Gý÷öÖ¡ñÞì›uÀ`ò~µúÓÙe¯/å[Îåd ŸuuÓ쥃‚å 7뚟qtƢ׆¸Z!Í· ƒä×£ì‚AÆ€ÏXyîÛ“aƒÐ® ü›£©3,L Yþ’3ën]ġؕîuHE+N¥!Ö^Ý «_üÐ"þ‹Ô§ ?À—¸èšžìÿ¾žÑ2 °ŸRÒ¿§ö$— e=;9PjÁÓË;’óJÐUôœÛuònH­˜ …&U€Éñjj|äìª5ÿBÁfØÈ6ºž>szçf.è õíÑD‡F@PþAddõ»þ„PX“¿ šª>ÇÌL€…iè…í=o§fó½Uæ§lŸ5cÕñG¹„¼Wдè°Vº ßéørîþ*Ptq¤ÇÕMÉ 3×´mw̲ÇÝÍûof²G­î˜šÐn–ÿƒ»®¤*ØöŒZ3»£ƒà>Û¾ôpJt5N‹ñë—™0®~:¼7û¦ÄÜ1›¿s¤¥è¯ÌÚÖÙ·ËàOí»hãí1«<…—ÇÜk4?qaW6 ¹ˆJ‘!ï¥lÛw´­¸*ìµ^%t<~;£¬E)¾0­±µ²Ä9Š’Ó˜ÅA “–uŒŸ@Y1iµïî±NJÒL‡®Z5¹¢ôÒÕJ¥· îSf%)é«(•])Õ#d Jk‹l~º¶©oÏI3èÕT“V]3‰üÚçò!åi©IŸ±½šr€QȸýÛFÝJ/…r&-ÝCÜ.hé§Šz‡4S©HmÍF‚ì‹ úŽ8f2;nYuï„YÃîf)z ôkݹ…Y·.S'z»íè©[O&Ugÿ"xS?k{¸²rB7·†Ûž|äA;ëDÔFæˆÝ-µêÓ•JîÑqîå_œ¬è·ÝG$Üølʦक़²$àÚ!Wz]­¸éÀ· ƒ¤v<˜ ÊLÙ—ˆuAì·2)¼Vm)K2° [j‘¤&]‚f5Õ q¨$Î…ê#´úLK0É“~@íþHêͨ?äC$* ê*Ú?ÎÆ«³—¤¸‚C¾gPqï?Ö]”ICi˜Ú.†}ùÓ @c{vèçÙ¡‚˜¥¡ï±¾å•¡ËÈê¦v•rÓ/½’«åå¤ÍâÂæ¤úÏÙ»ÂSñùþ™ãG;~|¼Mu9ðžo=ì{à¶—&¿àÅæÞ³­‡ÚnŒ»±IùÝÁ1]¦E¸»onÃÝ6ó<'jϲfz´ü×÷ï0êÏ V]áH>pŸæ¹¦·…ÄCU“¢Âr)7ýÒÁ„t†ùh=&@¤^yôn.1¡k9{é¸ù®¬qÞ‰ËÅœþ—÷òŒ#oìÕwJTHs6]–¼—å—G'Aáë ÿÍdyûÔæqŠ¢ìº(ðtиÑ/)×½wLp®²ä@'hÄá4u›ÖÁ3fi¢!qc‘(½8Ej+~×àëO×6‘ûøüe{Íê=ÌâÔÚçiä×L{ש£·zi¢^úìä¾ûL×ÉV"ÏVÁ¸©Qé¢ ¯JüëÝØé7L¥"u7~VRTà˜³vó,0@Ú†=)Jívö±Tø"@Q´8¡ùú»Ï}ìÖW·>yÍÕÁdÛk8yåívéÅ+9ì,Zöù…+sûmî¦WO_¤AðJJ…rêê ¢W{¯ãÂW–ïêÏysER¬æ†ABBòÔ›Q’_IðˆÒ3ƒ9â/LûQ;Â+üŒÄ çé[#]T(0·d|R‹uÛ _`[]^*m¦ŒnÆfLEÐè8e¨›&0n;ÐsÞØ¤%-•ÞæÐ =š9±i`³ô-¾¿‘¿އǙ`53’:PI Ë7½qU›ð 2r ³å¿Mšš®*rßçó¹ïÒòy÷Wo×›½'JéiÜÌ©CúSâR!0Âóƒ]‡$—Pk7ÃM†ï^±¯MBÿMÃ9UU·Ð™>GSèº%ÌMEꈿ¦Ç°w+;¥¢—I›æ/ê7ˆH80ÂŒ H+ø$½㬪™—#Q=@5`Ïå%®5®Ø©ð¶¶Ë²že zkTÿlCÔ¶8Š¥û¬má£zõmºh–ƒ7ïê!ö)Šl}ùìç™e¨g®u¦R‘ï2^æé“&_uY|`~;Àý˜úz} $UAQ0´c!îéGþןnÐ#zü­°^MSZM]ÑNñvtôÓŽKÇ¿Šé´ï a0sÕ´Ö¿í!Z:¼«+]×ê¹ÇC•”½Ú1qµ`øÞ~&ŒÒ7¤jj$$$?„ú3êOò ©Q/—Ïõ'øEwöÏ6Ñ4~mµÌ”·Î+± ÉÐvvÑÈ¿÷"_PëÏб7¨ðÍÐ2×ßÕ©Jêòeo¹B9‡®½­vNññÙ×ÂÏ˧U@GO£ªSÊÿkP讑{f7fä¦[0}GòýìQ^ÕŒ Aò¾³ç òi@ÝÔE©g;ïÛÿdHÿêÊPts,>·èóóäMóç œe|"ºñ —Q×`<ædB¨$çÇSÙ_kÁÏ<·çz PrçfzI35äŸî+‘Ü’iÔqØ@‘°“³«qA‹ž;ö>8Ã^^jéÍd´bx„ƒl7Ur®?…¡n"™Qæd·¥6ü(m7WäqËÀ”§Uo͵.N˜{aÎϽ#6»k?:=3d¬ññÍ} ( y:QZÂ#¾nøY/¨ÎT*òfÃK]Ý,Õoe|t;¶øAˆ®À7·¸Ò=OXœ] ¦Ò§™¢h´òdèKñƒ˜+^³·åÄtý×võù Œ ]‡Ežo²¶­ð ¸6 qXwRÜdge x/·†­£…ìïcÌJ+ ÖÔ0HHH~¤ëÿWR³Ý|¿Îõ7·2gÞŒïûϱôA2„)P*þåDES¢1¨/R¨’¢  `w½Õ•Óg’/$-°rUï­ñs¼ÕþìÁ –5‡¾."¬¥{45 +keX[¯æÞõŸ7÷d×-]Xt”‚Œ\¾XH÷> tU šZòødi ~&’Ó±ÕÁŽ79„ yÑo›ª¤gn¥Ø:Ú)=ð‰½:eGóŧNs…(L ñ¡Œùñ‚Ì3£®[N|oXè¤Øv‡ÇY+{KIþNSCʾ´lqeª–îÓLz+ø¨isýk#,›Ÿ­mŸ–ŠêŠn^Iõ?9j-‹£å\X{ »Ù?sú¨°4›ÿ"±ãÆý/z„Y1aq^)]U­~»µ•L¥"ßa64VÓæòç.JJ÷ï#Zà-oâí ¿'ñbÆHsïæZš–t1KÙÁÝà‹Àë+e/¶ÏŒ·ž~È.gí}yŸåöj*ÔmT‡_|UÒÒIáÛÉ7uëð>+J‡nßl£HPü4)åóÍ?«Ù_„Bœ8Žó.ïïÍ®ðæ¥à !!ù!Tq­‚üüŸZ %¹\!S§‘>ñòÒñ-ÞÇ[ÿû¬jÅQ¥RÕÀÍåŠ\~nÚ{n#‰ «š7ë12bU܉M?ŸØ÷°î›ýÕè,ŸnvüËk÷=—ââ媬º^DZmå.¯Ù÷ŠŠŠ•‡aÙÃóÏDëXùY·.½S²sÑc*˜y[P³Ÿ¿_–e>þuÆ Yò•j#àó„„PHPuMÍÌÌÌÌÌ8† «õOEF^2™°¨¿Kësý3ÿ ßú¼¬úäÅ/®½!4ŒVS(/2Zñ»&öþlmƒ¡iÅa~z’YýV8²Ô"«8¿´”Ê×û7…¢¬˜'~ΫtÛA¯~™Ê4•ŠÔÚl¨ ÝÃw®nû<2pâÑw< 4l6>Ø,uÕü“_œIÞëQ›ÞÛŽÛDå·ê×À{`Ö­ñ“›5¤ „x$…B¥õdèŽà>Ù6¢÷¢œ¾›·Žn\‰IÉkqB|9û#©°—°¼¦äŒ« Éw@Žúÿ•Ô¬—ùo_<®D¸™·÷Ï;ž¯ÕËÏXŽ.ï?´ùÂЩ‘.KG¹+>ß?sÙ“à;E0õ=š¨®ßuôI»¡VH;¶xÝ#‚RíÚ_ JmYqQÓ××ÉHMð.éßg|í íú5iµ.0 zμۢîýÞOÖ±±BI棋¶œPŽ<m.!IQu î­ßiÇ–»ƒç¹w n²nÖÔ…®‹˜ç&.X|O·÷lgeÐÛŽj3bÖìÝj!òÏöNßúÞlTKyMº<7eí’d&®æ,y~ÖãÄ‹.Ò¼–¸Ô8 àSbäŒsúcõ7eÚ­gÎòj=eòŽÖqCL*ö 7eõ‚$uÏ&V,¹‚I›çïʲ ëmGÇ Ô IDAT%/³tZé­¯Ÿ¼.(yñ©”(ÎxòðA¡‚º‰¹®rÓ?PÿÜ“©abÆ®zžªbXíæ4Òûègk›bÝÒ†Xqåui3[9@V3Ùµ*ŽÊpig[² rÎn…a^Ú܇ænN× he*€à>¹ð¦¡»·~}ûÉ2”>Z3rÖ³Ëcºê•ÕÚlª@ÓòÜSÔmbŸ™Šûç´T/ÎVh>ôü¨ ='ÅFZ îm8lÞ=»Ð|hŸ¸B]ÅzònQ†aT­àãéy±Â¡ÛÛ²h Ý- &>ãš3ÏœÉ6 1ªo1Ê^íé9'¥ÑäU­Ó=H( l3SMe «r™Â*4 UßÂÂPU¶aü*»þ¼¼ÜßR’_‰ ¨°ÿvÿFD×Ö¢cE}·À…+§¸(`µ_²ýóÌ {úçANߣÿÚ­£mä(6ž¸dð˜É]—ÉiY¶6ÌëÜššW‰*Ïü˜¸dØâôr:.Ý® ®nqæŸEÑvÔŽ“&kcÖ­»óc lèÚ¦ÏìqŽŠUÂÒËY±ß¸hÝ… Îmõ{®Ú˜>cj—ÅTM§À%[Ç;* ª·ˆÞ9kêÒÞ­gBѰYplôH+9ÒåK•²/ü3iEz!@Q5nÚi^ܤNì®ifŸ›;=‘5òè` ‘3Acwˆšq¸õ¬)q-wö«0s‚&/—ufÕ„ÕK†¶}›ð]ƒÍ™!³tY­(ºÞ1ä¦(×m#»mûºœ—àÿ/²w篕kØsß…ùœªç—ŸP»@ÿÙÚÖôîÛ8jeâë ¶L™ÍtS¬]q0¸~}ÞŒ‹û´‰ätw™¿mš«¢àΡ;ªm7Y×ye*¥Ý¹ýÀ¹”hµ6i0t;.ÚS4¦Û˜~J×X.m3%¿æÐ°®ãKv¯9û ø´|`‡ånkïìi]OB Ê2ŒJbÂÜK‹c2zÆö-ëhÐ<""18¨ñ¡~Û™›ü5êÁs QxÿÈ…BàÒ¢A—ÊÏ;}j¬™Œ[ºLà !!ù)P”••““““““ƒƒƒ¨¨ü™/@IjIAAA¥3Tj=øÓøÃyò䉥¥åï®IuüŽ>*º9£MmÅ©ÈÆ•ý¸ðãÑÁ¶6Û¿o°Ñxvþ{Lú¿×ÒÿR‹þý÷_uuu&“I£Ñèt:­Ñ1ƒÁ ÓéL&¥|̓!å ªZOôHH~)ùùù6nÜèãããããCz{$$$$?¥Æcføso¾’¹ ÙCðùÞ}Íþ³zþÞ™‘üÈ•4$$$$?«õÌÅ¿¦$-ÿ1þ¿¤(’?rÔŸ„„„„„„„„„䯀týIHHHHHHHHHþ Hן„„„„„„„„„䯀týIHHHHHHHHHþ Èe¾$b”””~wþ j¬ÿ}T+þuý÷Zúßk É÷CŽú“ü®? É_éú“ü®? É_éú“ü\¸w"=›N»YôóKdìtê²=ÿó‹ªwðž/÷4h±é¯l; I!]i9Ç:³¿¢oç?|íõÁï®ÖŸQü2~apk'6›Íf[4 ·&ém)!©a=ëfAÑÿ¾ç•'|¾´4ÈÔÍfë;vœrðeÉ—Ü í™àlÌf³Ù¦Îóos«‘ç¦, jáÄa³Ùl¶±S‡Ð-wò„R*(Ù×l6ÛvâÍb€{wž§^£° åiˆ¼K“ôÜçÜ)"$ÒsoL°©˜Ú|Äe Wqx 9›Í8‘':ÁÿxaÙ`K6›mÚ´Ï‚¤L‘«Æ{"r`O=6›í³öU¹.ªVÍö^ý‚Gäë¬c4à\AMÚR=?[Û‚Œãs÷*î¤$»™µ.‚O—VûÙê±Ùl6§I÷ˆÃ/K€¦Ó.´åëå«ný‚ÇŒZó-S©HMͦ†ð?ÿoWÔÐߦÝýºŽœ·ï^n=»Ucåw×ôsåšyo~\,þ–>^Ö²ièù\BJŠß/#qiHgwK6›­gã;xɹLÉæTîÜÚ ÉwC÷$‘…î¾ðøÂ¦JÂÒœg§cÆGMµ¹ùOs5Ê÷ä)äñÀ`üEœÅÖôl3÷±ý€)k"ÝŒ”J2îŸß»!b‰sâRË/V,Ë}‘´jâüÁ£Œo Ô¡ÿvÏоK²W%l³Ì95<$PÁôÜ,'Eð^mÐ!âcû©+ÃÜô™ùožå«PÙòTõƽgô·5Ò <;½bÚÔž…z76´jXµ )ô&sÌqU}ajräªã¸ÃŽu7¿ëùžjÈ¿¶`ì.æÐ£ã)UIOa8ÏÙÝDQt¬nªðõÿýÁIsÓã’øïņ À˜â eÇ6º(¼91?d@rÒÉÑæ ”q)ºžASZ]œ;ÿm5Õ(ŠºtÈò ¤µ¥:~º¶y¯ö¯½Ã¾Z_t·•ÕÌÚ'ÿñø˜~ÑÛDï[Ûœ]|oçäÑ#ƒÔ¬ÏM´b*5 êLë¾æâT·6RzúwS©T¤fSÊ^îÒnÒÝncƒg8j#ãαõa­âά>¹¦»~2ø%ȶ1¼W;'®.=÷¢{Ù–€“¶9ÒO—ÆKÛ5uÑôÞ êOg—¾HHγ š?ÎÙHþã¥uÓö“»”0ÚL¬ë* ÔØ0HHH~ÊÊÊ·nÝZºti~~~~~>Aòw_‰ËÂì£Ø†ý“ÊÏr¯·fy¯yQF!Ƚ;²…›Åb¹öŒ<ù¶Œ ‚{+ÜÞ Û©œïʲKDÙ“w–ýäEA/}kk]³¡çó aî™` “îqïù’¥Ê’—¤ôÁúìÎÇs ‚à½Zלe9æJ¡H€÷f£ŸŽÝä›Ü/IŠoOu`7[ó²ìÕ“z¾š¶”S¥~¶¶Ëž¯öÖo¾îOB J3kY\qÊÌFl¥OÅésO÷Ò×ëqZôë+ºjkÖÿß\ÙJ¨9•Õõ]Tg*©ƒÙ!ºÕøm|Ã#‚ÿéÜL#»Á»_””½ÚÐFW¿ÍêG_¥……wù° v½ýÚ+?´¥u§²aT èÊhGŸeÏÊ¢ä^¤»ë´ÛÅÿý¾¾.=v¤óªJ×— sú²Zí(·ìª[Ã8tèÐùóç¯\¹rýúõ[·nݽ{÷þýû=zúôé‹/Þ¼yóþýûOŸ>}úôés9Uÿãòóó·ÃEBò{ÙÿÒ¥Koݺ¥¬¬ü¿’Ô!÷Mò¡‹9ÚnÎ, È<:ºGÄuË©G.]=óO@áæA½–>(©>ÞÓ ûåÆÅ?yŸž8’CïÉÆ}Ì1G¼I»É>69>Kȳ{tøY“)G®Þ¹{óÌ–É­ô™õg«®ð3“ö¦Ðš…ö³’¯x𡦥$ñýIŽ;ñ†aéfÀˆüGÓ˜öþ–¢qkº¶«~aʵ·eÅŽ\àš»|XÔÉÉÔÀÈÖ§ÿ¢³¼jä+–Pðê\\B»¹Ÿ!³  ¨¸MZ$Ü2bèЛA+ÃÝT¤ö Qœ4ЂÍfëÙú[}åSùL Þ«¡1%#— 1ûÚ~BPÊS‘)V•¡Äf]ÿßió~?]ÛDÁói*Ž´«ÃZÛâäŒ[ú²Þž8xã#¤ß•"×´³HJÁÔÓ¤$åÜËoü* 2L¥"ßo6ü‰Ó; ý™{ç¸ËðÝËûšÍf³=—>ûâQQÔÜ'Ïõ˽\ÚmÉwUi‰éZÞ!sÖn?l÷Ò>êçvüçi€²›Ç.Œ^6ˆS±'ºÞÍu>\²û~Ÿ(}{fÕÊ;@îÛê'^KTͶ}µš™À2Û"•Ÿ®mÞÇ'uSÍêÍ™¨mqU¯ùq¬­Ý tôÌ›‡¿é¹)6PìRu >?Í(­¶È߀,S©Èw› ï}ü¤ŽCÏ:¯Œ_ÙÝ”}x” ýÆF’3H(ŠF:ÈLýmÏœu€n¸t2{{g{ÇÞǬg-é¤xsqdj—yí_ÎhliéÔaz|F½k0÷Ò’¹W´ûŽóR£ÈêÜšIµÐàÐ[Ïà}ÌGØgõ¥ÖñÀì͸‚Q†×÷p`-‚[CM–“XÛ)ÐqDPÖïÇÍT䔊S%H»‹Ý‹ÑÖâ[þ¨¦Æ‚ äÀâ[Rê£g‡€!ˆŽEÒ]âüg V#ü*=”£í†±¸þ EåU-ÎÂÍ“ˆi“T?%`öMˆ\ £ï~֯ǃ$¿™ò¹þ¿èý­Ý³§c–´¹Gƒ÷wÒ)f#lÄ.$ƒí榙w÷yžÀ¡š¬ºŽ†yÚ–lñà3MYC¾ô W(çÔ3ÈfËxW×]­[5÷kÛ- ™IÕ)åÿ5(ô¦Ñ‡ç»2sŠš¸9)ås¨–ì_$A ï½x˜_C f­xtºÕî=G ®® ¥&‹“rŠ>==»nö¬ÞSLÏ.u¹ÖÃfðe˜N8w~²$çÇSu*ÜXøgv\)Jn]{SâÛ@y'»I$·fšt *vvkbRàÑióÎÇC#”6^E =>À”T~Vpœ¼uöÛàˆ––Óèúõk£ý2…Z}_KÎõ§04LY®ì¶Ô†¥íJ·bïgß- ‡ú©°¶Xò,ÁížgSm˜€ 8·”®Ö ~»µ_LøêáqS¿Ólhl g.ìK|ݦ¿h·¼©o#ù§Î¿giüU¼ôå¿ç?ª8y~cx}¥ì٦𣶑 ŽÙ+Rä[üÓ¨*5 ½Ú€ó/KÚ8ײ÷ц]—ŒÜ¿o¤"Õw.íkB©†A"yŒ?9ç¶"ñ„ZhÑ-M%LKD‰ æÞ‘rˤëàŸË6ýpî # ZÀÕÚ´*i¾¯D‚O¸sÏÓð)„ئðôƒ.š†á"Ç¡j¸*Š*""AJÿEìc)ÙR+:³B¼~#}ÙJûz ¢ÝZl þ–s{OâI%X¸¡g7h0Æú øl‹ƒ™æ]À²Ç˜kþ‹1ß O¾ãÍéú“ÔŠs¸B¦^c"1ùqa7o¼Ì7>©52S£RóÔQ”ÃB• ðs_¾+6¬Ut5Kß@KßÀÑãÚõhSQÕ׊záé[.aˤe3¡á¤ÎTÕ—._©6OH…UIÏÌ¢ÂyÙ>´àÉiÓ“M§œÒÄ$gQëf!¡:űL. ÷Ù•4B³“:CÙuåù¤B±¿[t}Jç©ÅGWµµÒßC*,}2öm¹Â³ ÷Ô’zkýP~²¶Áв1“ËzœQ «ê–Y(ZÔª8ÿn )eůåïïbÒ€Ÿž˜ð„Ï̪͂Ôú èï’ðÃíævèþnjH€«¡bqƃó{c*G'.µ”¤¨¹ìgÐrsì­a1MM{ŽôX9%lN“•C,sNEÍ»«×/ÚM4¥¡æœ2m»Z¨—“7¼³h-Ï I—çÞY¤éÑÄ‚­ÀÿøðÔ?sÏÓ|V7©q @AVÂôÉg &&1c¬öóæík6~ÜævÇFHLÔåÞYõ¯†·‡µŽ\Á³Äõ³·~´›ÚÏFžÆ4´²)—)ÈT¡Q¨VVÆjïõ‘u »ÆFòŸn퉎ºÈr¸¯ € ÿÕã´‚âgY¥÷}êý{… ¦–zŠ È}ùðžÆ—àžLMŽ…NÕóT#víûègk›bÛÖN¸øbZ©¯½d6SI§VÅQnìK¢¦El_ҌŽ¿7bý­îm9òˆ¢Çç^«{úÖ7ßI†©¥–šú$àŸU=õUjm6U k·^pdUQ»1]•N,j£Áý¬Ð.bÔÙÁ!Cж/ ²ÜÝ0¦ÿ¬;Ž“·øÑ²Š„zJõäÝ¢ èZ;Á‡ø™«…£öwdÓ@yYÎIxRdÉ<}ú³E¨I}x‹QöbÛNwψm§ôæÁ½7EAÇÂLKVçÊ4 ’o¡‚©ÓÄoá7õÁög.•aÿ¸û"Ô°ÃL?ôNð¹M‡ º)ð®ÁÝ÷«®×ã#µªsYçKpHz#ˆ"ìNs̵€W,{.ùxÀD¿I`øˆ®H­º6×*|­¹õüb=¨9ÁVt”‚ѱ¨´KNñSŒ C—­ œÖМ…w’Ï9ïŽáüZøÑÑ/Ó/"«Î“~Èàž'5îɪ€‰K@øžÇ…¢ÈŽ‚Ü[±#ü,Y,ËÐ¥{d|º8?ëü¼.Žú:fŽ­Bcc{r¾÷GÜ#ˆÊ_¹·ÂŒ{'æ•>ÛÒÎÕœÍb±X†N&Ç=åV #Yï‘MOXôìè¼Aþ,‹Å2kÒyÜšóïJ¥„¡ä¥ml¥cÜçX–€ øYbú65f±X:ví&ïQTosˆ¿‹Åb™4é=ïß÷_T/E¾$uÃÈv®f,‹Åb[¸w ßq/OPµÒÒb >a¥Ûlñƒ¯qIyow÷41ì´ù•DÜÁ’Gkú:±X,KߡՈ՗³ªDÌ?[!_YÚ®¡^æ,‹Å²l>xé¹ÌòìrwfI`r¥°Š)²X,–õøëEÒÎw<ôüHmƒ{ÊÒÞÓ¶àÃÁæ —V×ÌÚGeïNÏëãiÁýd:„í|X $‚æžbÝxúmÉÀ—uåGˆ”i*EWÇX°<–=«вffó‰{KÉ‹AVú^çRw·ù¢êF3SŠ‹®³úr" þKÔß S¦aH"È>;¦I«å©åÁËÞÛÌ\_Ÿã1rÏK‰ˆÈ¿«EÂO;TþiºÇ<‘ì°Š[ƒ{ÜS*ª-‘'Z$úHú[E“ñRîqHÌ:Uš÷âKSk1¦î%~ ßÝâ„7ƒQémžœ=^ dm‚rÍrSk/^ªûe¾¿\ìâóùqÒؙۢ¢œïÀ¸êà<}Ï @ð¤S‹ W îIºþ)ßpýIêÄo÷H¾Éï裂«;O¹Yô+ÊdèeÛz´¸ðuáï1éÿ^KÿK-"]©¸­û‘¯¢!õ}ÃE~äg4«0VÙŸ øÉЩÍk¯:—ø èùŸ8ç ž•/ZGˆ/iWÓüjèúÿz=(4Ç'%nKóì~à do—þl`4J\ôÙ^µˆÑIÆõ'!!!ù•(»†Eµ)ºöâ!p‚OwS´†Ìïk\ßfûüX¨ph">L9©±|yïqý3@Y_Ï›·‡(øäƒÈ¢Ác0â®âs DGô`°«fG‰ÕAG³)Xä ÂÿaÉÍÊWýºˆÞ­Y†5æ×ë¡øbD tŠP|1"g‚%KÄ/=VÄ PZή д7jÍ¢*ä\’Ÿ Ý~îÊ_S’vë¨Uß㎄„äA¶åS>fÈ)ãL@ìt€— ¬ÝÅ׼ܢRq‡,EXûÀÚ“&¢o{Ľú%V„ßah¦ tyhÁ½%4 øèÑ ©•×(¡•à=æÈ(´nü=”aEŒ0Ú6âå ìªá'0ú„؈è{Ò3.IÃã23¡ØyÜ®ÓÖ¤ëOBBBBBBBòGAƒ^ñáû<2|¼+¿ôE ˜•Cû®ƒ®¤ÆÁ‹øÄ‡±ú÷ YcïE:!>ë»K¬í¦`¢¡äÉl,ƒÈ8TÝ¥©ñFÜéHÿ±Ûþ&=ðßcŒ vöÁÜhø{"Lr‚ÓÅU˜¶—ÞË®v1î¼C[À–*¤ëOBBBBBBBò7@…rù4óBY!Þ ‹¿Dû¥A½<,š®P‚¾ˆ¾ö5¢åì¹ØqÝ´=lކÅPäßWâ7QGèvp8¾•ö¤f²!òϋޢðǯý]z À¦'.€´ˆtÞc°˜‰‘“qWÖÊžg&`ͲdˆU 9ן„„„„„„„äo¡âþ›gGbÁ5‰HöÅOˆí ´Öú¡e—`’‘xPyUp\0l!^ £pk«x{¯/ÐUÅ3Ú ?ÉÜ“¸Îü=Pá9÷v‡ ”`ë$4á@YJpéˆõ× épܹ _u9ñ¹|»®“®? É……å`”eí‚CRù3·|B~™%Rˆ˜ÃR\êÜKØ$šÝÎDw‡ï.Q¥xy ¦ÀÖÇó@§Öv’pLŠâðù¼âjöŸ¬¿Cª^Ø74…î€A1¸ñEeàfãÖ ŒðFßÄ-…¬]xxå*Õu÷#r‰˜¢¢*»Õ‘ÔRõ²jÅߣ®ÿ^Kÿ{-"ùŠïr! ©++€%ºåÃïrËOòñöË õgx,5ŽL).ÜÃ40³í ßSâ·(y†‘¡h»t Ó°Ž £|øÇP†j³O@ øõz  ÅTèîGb˳*©xˆ›€®ð B«/Ú†cÏ)y3Ê*ŠdM7úä¨? ÉEé×ð2¶²vwb~½ôàK,ž} 8S$s}Ñgñ‚Zù[u.±|¸ˆÇ*´b IDATŠ9L*lÆËÏǸTÖ¬¼Õ×÷òëõ ?GñaÂ𪦙8š  £…™4 *4ÊþgÈ(ý[®? É…÷®‹|dl,¥‹&€lÜ®0~ü,©üH ²¶wRÖç–Ï„ùŽ¿ Qñ6Ì U*ËD¦¨¦ú2«Zg~µhÐ(_XüYÖ 9Á×KêR÷DcÀLS|ø8SF&ß‚týIHHHHHHHþ0RAÆ$&Ò¦}뵂  ä*TØR0ã<Ä“MÌa#u_(9ø”O?Ný: ¾Î%~S‹Ž>ãS…ñð²wx,šÚn}©^öwð«õ ø:No%-¼0aS~éƒÔ ? pÒ¤ã 9êOBBBBBBBò—‡EÓQ¬æ]y*’Žˆ;:âó‹õ@ y5D‹~Õûbç¨JúàÊöØv¢5…ñHú$¥Ê,wQL\ƒ¬Ðÿß„týI¤AäžìÅùŠ¥[DZþWuŸ=’oC§^àiÇáp8œF¾½'Ç&¿+%$5láÜzè’³_·2d_]5´…=‡Ã±tï1óhÚ—G{¢(uÿÌÞÞ¶‡cïÝ;æ.·yîýUC;xÚs8ÇÖ³GøÎ”|) ™*õ5‡Ãq~»àÞ[ìoá1íry"ÿj„§…ß®äP÷ÖT—Š©Ç]+wqkU[^Æ©è=ü],8N› ¯y2«Çá´ZÿŠGäžìef3ü‚DTYm©žŸ­mAf¢Ê;(Ênf­‹ƒàóÕµ!í]-8ÇÞ·ßœãi%@c·ñK_»þî/x̨5Õ˜JEj§‡šÁϾ·`tïv¾^Þ~íû„.>ô ¯žÝΪ1ŒrˆÂ{±Á>öÖÖ-Bv<)ÿKŸ¬îä~1ï>üx™I«&ôòs2ãp8.íF­¼ðA²9‚Ìã#9NïS"×¥††A"…§k.šw®mOpf#ÂÇaòœz„}¢àA•ŸKöiôßCä%¤Åì‰=KvãÕ#ˆFà¢O*õEÝJTâ x î~Àçç8s[b±r%6ìĹ{(|Åb'bñƒÊU}q¢›^Ý uö;†¦,DLŒø3w¨xŸj‹¹1_ÏOï†JÓs~±²ÿÅØcâã¶+ðþ>bç#4ã±îÞÝC€hÆGVÕ?l*9ÐÚ@^øâÌÚÙ³úê$¯n!%V0…î2sgDcQÄ0 SÃD ÚZ4èd¯É1"›ª¢àæ’IqÌ{G;(VIOa8Eì˜í¢ :n(ÏPÛÚò¸vÓÀ ~Wż«¦zEQG^ù>\m[ªã§k›÷úð†{¦ƒ—è‰î¶²šY»âä³&/yâ¹}™7«øÁÞˆ°Ð`UË“ã,˜Šö½ÛÓúÅ^sn)+*ôoDº©T¤¶j¯ei{BºÎ¸¬ÓyÄ€p{-dÞ‹ß<­óÁsK. ÐcüØö}²í¿\àõÞéë‹G¼ÀÛØ}ÆQÿ½½uh¼7ûf0˜¼ßC­þtvÙ«ÄKùÖ³G9Èg]Ý4{é `¹ÄCÃMźæg±èµƒ!®VHómà ‘N1bÚCñ0fyT´‚’WvFÔÿ¤EÄâä(ôàaÏлN°ë$q=ÿ"ºtÃÕªËu*‘_†²!-8ÒÂÅúÛ‰ªc5¥©Øøó¬¡Õ”pYÚY†>ÆOÐKÀÆè°¯ßr¶cùAH„Äüµz;ÁŒÅƾ dƒ¡6Ur~QÊ÷„ª‰Á^Pz'k@©¤ëO"šª>ÇÌL€…iè…í=o§fó½Uæ§lŸ5cÕñG¹„¼Wдè°Vº ßéørîþ*Ptq¤ÇÕMÉ 3×´mw̲ÇÝÍûof²G­î˜šÐn–ÿƒ»®¤*ØöŒZ3»£ƒà>Û¾ôpJt5N‹ñë—I]=ó'Á{³oJ̳‰ñ;GZŠþʬm}» þÄ“G*hØÜ,ìA\ÒžÛïÊz°xi7\Wí½J'GEÀhþäÓ¾‹6Þ³ÊSxyq̽FóveÓ ‘‹¨ò^ʶ}GÛŠ«ÒÈ^ëUBÇã·3ÊZ4â Ó[ÛÙ)Kœ£(9Y”8iYÇø ”“öPûîë¤$Íà«VINä×¶¶†]§ÌJRÒWQ*»>RªGÈ”ÖÙütmSßž9’fЫ©¦(.Cz3k«.—)OKMúŒíՔÌBÆíß6êVz),˜3iéÎràvAK¿ºnõø‘b*©½ÙHÏG}qAßÇLfÇ-  î0ë¢qøÑ]Ã,E„~­;·0ëÖeêDo·=uëÉŸ  èïcêgmW6CNèæÖpÛ“|Gm%?]ÛDáãóo”í4«÷0k[œœ‘_3í÷§ŽÞÊâ‚§'÷Ýgº¶·y¶ ÆMJï_xU×`?i¦R‘b6ü¬¤Èž#NZÎ;°¢‡1õÝé=)Jí&õ±Tø"@Q´8¡9åÆîsëÙ´Ÿê`²íµ?\¸ò¶„ûêâ•¶‹–}~áÊÜ~‘ÝôêÉã‹4^I©PN]] ¼×qá+K‚öçTÖÿ–aTwö ¿Ø  P@¡@Û }¦Wë÷—óá*¦õ5Kœ¦†Æí°àL·Ž%òð( '¢½ Š“P(PÓƒG'ÌÚ(Ûï¼=ˆ]Ÿ ÇD°¤ù­Ü«`Q¾f+ë£>²ÊùEzøRÜuDÃÍ òåu“Ó€K[ÌÚ*Óï}&€à]ú®½IןDDé™Aއcnß|Äþ†#W‡7Vø‰ÎÓDº˜Ù´·d¼å«]Û¿ÄK¥Í”ÑÍØL*]Q‘A4:Nê¦É È·èI¿Ÿô¢Dÿ6‡fèÑÌшÍÒ·pkÛ½…~ýy_Wxg‚eg$u _5laß|è7® `Ó~AF.¡¢Ó üßœ¦¦«ŠÜ÷ù|î»´|ÞýÕÛ ÚÍßshûÔ&oÿÒmj©Ly@áùÁÖŽ…£ßðCzS¶Îp“á»—÷5‡Ãáø¯zñef.EÕ-t¦OÞåK¥ç‡¹©Hñ×ô±,vï}›£{6¼²¨ß ÏË@Ô©¶2¨‡ãv£{“Ù©ütmó²že kToεVEÅ}Ö¶pí}›Z™Y8¶™Þuíªb¢ÈÖ—Ï~žù»§d"ÝT*ò̆—yzFÏ1ÉN‹,0`¼© ×È@ÒÕ¤(Ú±ðáéÇêÍ£^A7è=žµ»W÷'-§F·S¼½<úiÇ™­_Åôörròìy:³ÞµF˜wuå¢ëZ=Gy¨R€²W;&® _ØÏDòçðmà ùË!ò! ßC,wm~ª˜h{'#õû~ õx°€ä7S>ןàeÜÙ??jØDÓøµ]Ô2SÞR8C¬Ä.$CÛÙE#ÿÞ‹|m5Y1tì *Ì2ah™k‹Ÿ©Jêòeo¹B9‡®½­vNññÙ×ÂÏ˧U@GO£ªSÊÿkP讑{f7fä¦[0}GòýìQ^ÕŒ Aò¾³ç òi@ÝÔE©g;ïÛÿdHÿêÊPts,>·èóóäMóç œe|"ºñ —Q×`<ædB¨$çÇSÙ_kÁÏ<·çz PrçfzI35äŸî+‘Ü’iÔqØ@‘°“³«qA‹ž;ö>8]—ÚÊTTŹþ†º‰< ëÎ'»-µáGi»¹"[¦<­zk®uqÂÜ s†,xî±9Ø]«øÑáè™!coîkÈ@aÈÓ‰Ò)á4~#ÒMe†ýW¯¼nj¯/uuÿ±T¿•ñÑíØâ!ºÜÜâJCdÂâìb0•˜õJA߀¢h´òdèKñƒ˜+^³·åÄtý×võù Œ ]‡Ežo²¶­ð ¸6 qXwRÜdge x/·†­£…ìïcÌ$Æ5¿m$$/·`EÆaÒ,¬ïƒÏß1Ý儎¾ó  ð¯`Æ¿u_à[ž ‰ ¾Îõ7·2gÞŒïûϱôA2„Eo¬¾B ÿµ4µâE UR¬Câ®·ºrúLò…¤åV®ê½5~Ž·ÚŸýVŠÁ²fãÐÃ×E„µtƒ¦f`ae­ këÕÜ»þóæžìº¥ ‹®¢Ó€R‘[> )È{Ÿºª M-y|²4?ÉéØê`Ç›B†¼8¾’ž¹•`ëh§ôÀ#$öê”ÍŸ:Í 05 Ä£o2æÇ 2OÌŒºn95nð½a¡“bÛg­ì-%ù8M )ûÒ²ùT“ºÔVÒæú×FX6?[Û>-Õ)ܼ’ÿ³wžM,AžT ¡(" ½„^¥*¨ Ø°c+ÄÞ°‚X°!нwAÅÞPQÅþPQDD¤ íÞ€&P$Â~¿r—ÙÛ™Ù¹»¹½Ý½Ú¯ÔøVGÈ¿¿û\žÓž5œåÀP/05ràÁðÔ ŒÈ¼²Â ¢¼‚d§µ?CEpgCýP#l´Nݤï=¼•Ñs4‚·´NW é°ÈYÞúš¿ÂµâSÔƒï²ý ¿+õ¸ßuãåÌòw¿‘vÞf® ‡à*?íAZy/+™º‹ÿ0æû£ÓF‡TL9~ÜË„‚€²ä¨øÏã]ŒVýò±bX®{îN˜ª 20(µÓal´ó7Âò—Í­ÏßE±¬í °f:Ôñ.»ü۩⯔0yd•êØÇؤÊñr윸ÿ~È1äñxŠ¢ 0 ˜ü‡Sð)“ÙÀçR¢¼¾Óï•;Î\ éôãÚÙ·’8T¹AiÎÃÌ8wŸý ÔÅÅ.Ê­î¢ÚÀÙ}¥î:›Æœœ‘£&ëmt P ç{\ìWª™­YF¯«>ïÃ×ÊþKVö»o ¨Ù–$N¾š6\›‡ñxž¢ª«§§§§§ÇÐl[kvÈ͹«3Ó8Û>+ÖöÌÞã{ô«öâe©OÒ±vZm‰ð‡Úþ-šÚÛ@R2bs“ê}ÓÀêHœŠ à~]¿q8ÀXel'?-ƒM·P“ì>Ó_¡"ÈŸ† ¾­ƒïÉ}?x,¼ü• €kë4ÏKïýŽÀY?“Iöçs«ešzÏî(òžçË9ÿ°öó;µÅó¸XeO ãq%d…OŒ™tlºû¦ü1‡Î´–« Sj—Í׫°ÁƒéÒ3Ûú) OQ@ÞMP“xÝܪüuò#AMd¤`Í›º…ë¥þ±p‹¾¤~øð!%éõƒ° «®µwrÑ–"Ò{N鯾°4àL\Zú»Èí ·&éŒgF²ºcGù÷§.'11Œ™veóÞD¬Žå‰G6î»ú,ùË·oŸ_ݾÂQ6Pþ÷û“4FγHÞ4|¬ÿ‰ÈÿÞ¾¾mæà¡A5kpòö^îêi'޼*’öP¯ŽE§—n¼úúãûû‡–o~­êîe# zß®Ä;þ«BŸH{¼ôh¦Þ¨†Òâä™ñ»×l?sûñ‹ø—Ïî„ÎXò€ÐÅݶÞkrs#VÜSŸ½iœ.Ê}üü»|Þ¶øDZµþfüN¿­¡·½xs~³÷ÔSßMƸI7X[nñçÄ„„ÄÔÜ ¬,+émÂÛ¤ŸOÜ‚Oï~ò69«òáý‰Ÿ‹>i³É½M5îe‚%>ú\õø'ÚÌV‡W´ígZ°&ôiJzZ|DÈÊÃJÝzëJÆLºŸÞÖ¡«ÄÍ–*P‘¸kÒˆ¹¾rà7¦„ö=‚:þ·x´_d8Åy2½}§hFÏ9?ô])Æ+Š?ì3ÒïµÙÌE΄áÍH-ñ_M0çÖºý¼)ËûÒ ¥é`Xr?2…Y–vçNž^g-Ix‹ÁJ õ¹&ÞrîâÞ”ŒÄ„„„„·©¹AVÃÀ¨  9Ž¢n` )ODuØP^¬hz~#q ¼ÊY4»÷'èÁ!ŒólåÐ>üßu{Û—ØR€ÖËñ~+6ŽìYRêŽãvi" ë…[&ÍZ<Är«T{þS§v¹·«þ•á¥É9‘[¦nÎ(Æ@JÅvøÆ½^ IË\~ÅtƉ:»ƒöîž}2‡ «iç:zÕKJeé¥ =&›Ü´÷þ|›¾ê#wüî»bé“ex%+-GçYR¯ØcýÉÿ¥Áî}ü€¢éäµ½·‘ˆ–¯ PóîïY’Q€“×î4hÝ™Eƒèõ\—woíòHš÷åIüd‚@°zÅÅ>þKÎô:9V`äAZêûówæ””Í]}O­œ¤On¸¶¥}ú<çõ˜÷°c ïöp‹`œÿÜÿR®íȳ÷5÷Ûl»3¾!ÍĦö¶R×1Ö«·G~žoj@k¦=¥îÒ™°o_አ›G»®R±xl™°â—^Ê÷=d,ã>*ÜÒO/_$ØT`ða# ’êÀMa¥³†ÍK=¸Ë0ØuI<\ßuaêÐyå¡»îæän›0`›ýî—a}$d TqQMŒW»9(käþüimº­\éåi}€§Þ×ïPÏvЛ‡•¼¹t¿ vÓÄØª}ÚsnÝœ­'æ’.60D“€“••‰‰‰‰‰ñòò9¹ó(¢WÛƒÇKÀMã'))Éаµ®>ðÐmTú|…ëBÈÍëz}êàå\ž4à¨SøÙIZñìÜzBºåYÚ’,º}û¶¢¢"™L&D"‘Pÿ7‰D"‰d2pUsÎH$'€¼¼„<è!•¢¢"8xð ³³³³³3Êö¢I¡ZÏZÑ“ù<­Ž%pî×o”ÆùÒlïÌÑ ?Ñ´h}ü6ÿšÚ÷\Ôó¯T…@ ˆÔë@ @´ Pê@ @´ Pê@ @´ PêߪùöíÛ·oßš[ @ št›C ª¦ù¶^Î;÷ôéSèØ±ãðáéTjskÔ@n”|P5ˆÖã®–gi˳¨¡T»Í5·:„D€RÿVJYYYZZ𠤥¥•••¡O: ¢ÅPó6×Ü!Jý[)†™˜˜(**€œœ†5ÊÇ¡Ðm Jý[) ÅÆÆ†ß ¢££C¡4ýgFø[ Û!”ú·^èt:×ܺ ÑÈ ÛQ´ÂOë%%%%$$$$$$%%¥¹uA Z2Ì—;-{^Úô5q³Â=¬†Ïà4}UûöÎ=µJÛb@·9¢&(õo¥ðx¼°°0.—Ëårê‚Äò¯ ¦ÿBݬç´ÝOó¹Í¤ì? VöñúF¯>V:t:N7èä6gWÔ— LØÃjÆNžëog²« qÄ{:êÒétuËKÎ,ÿy´’İ%n6Út:®kãø‚Y‹<3>س‡ƒN§ÓéÚVæyY(¢ã«Z[ÓétÓ…Ï˘¯ÖuVë°à~U¬0v±•šÃš—¥Â±Â|6ßD°´þô‡U)®(mÙY‘Á>ƒ UètºšI÷I[îeóÍfg^ ˜0 ³‰NwÞÆ«Þug*Ë¿2XEkü½âúØR;MímnÖÕµ§e'O³¢Š7³ÁÕ776ÄËÅTN§Ó‡¯¼ø± ¨ô›Ûëó¶qá1£ÁÔ*‚4(lê çǧVOqëÞÉÚÆÁe¨÷º³¯ $ìrVK`T¿Ú5ÖŽ¡©©çèuø]YåyXñnk¯Ns£ $g{Åͺ8AŸN§»]+€zFƒ©ã6‡@´VЀŸVJ~~¾¾¾~»víàÇyyyòòòÂ"8¢ÃÆ«;Qyù)·‚æ­ö\jò|O7ÜŸTËc³DjEœe‰»Fº®}g>~É®{-jyÖ›èÓVn±‰ 6üéa « 5jÇÂÀI3´ŸŸ÷P!çKØ”1[¾{ìˆ8f˜sõ4Ý{þV`§?`eNÿ¥ÛØ«“‹ÒSŠäðâåñŠÖî+Æ™jµ#§Ü Y¶td‰Ú³½ÛÖlB±ãÚskìø#aqd%†ÞrNÈÔ+ƒæÞÐYŠžl˜}Š<åò¼Ôåq$›5áë;Rø¿ueÄh[‘Shê8ÇFK:'vï² c¥b#fê‘€ÅÄ©vö\ÒûÁÚÀ/µ¨€£¨jA\n Ê–Úhro³ÓÂw¿dL۩οڊ3³aÕIç\5vý;×õgww£—½>¹x¦·§‚ñ½…FdjÏÁ„á»,µwÑÒÍèP¤¡aSXOLî·è¾ê°Ù^+,•!ëå•} zŸ¹³óÆ®áêõ:À_A|üWÂN;¹pgÙÜ{©ÃYGÜ,>ïzi¬*ýéÔÒ0­å׺¶‘œÆ®£±8™ç­ýÔAbÊÔ¿AÍÛ\cø÷‘••‹‹ .*****­ƒÂÂÂØØØÇ?~ü866¶zÓóò.¢kŽ‹ªÚË|:ϘÖuW* Ã0Œ[ðb¿w#:FÓ²pã Ã0Œçk®1ìfae‰â{ôLæ<)ÅX)[Õ»ì]6ØJ›Fw ¼ºÉQÝiýñuê4ƒž .|faÆ+}j®«¹F£©v™xèCÅßòEã'´ÍJ;Ð[…Þ#$±LhoAN ·š‡+ÞÚÑŒç=ebÆJ r ™/~VŠa†±3ŽöQÕ›]„ñ îxè ?“É®Uœ¼0 ëìè¶kÊ«+]½­ÿ*z²ÜFÅzÙã‚Â'+lUm–=)âÕ*}:ÏDÛãNõââ´Ê­Ië}B@¨ìÅR ºÓ®¬:Ô¹¿[ª¨ÑFMímÖ‡]Õ»íMc Ô0³Õ•Åûu ;'W–/¸5J]mÄ-þÙWúd®©Þ¸ÛâPª»ë*‚ünØ`ƿԸLgcÆÉ½çç¬e6)4µœ•vÀUUÝug"ó×J^mr¦k¸úò«UÕÒß§z`Púh¦¥óÖ†•¿p°[ö¢ ãdžc;âD»¦´¤XT½±XŸOŒì0pÏ‹ë£Õ郯òƒ´îÀ¸páBttô£Gž>}÷êÕ«7oÞ$&&&''§¦¦¦§§gffææææææþ¨¢¨¨¨æm®¹.¢yàgøÁÁÁqqq²²²­¨ÿ!‡333ÓÓÓÓÓÓ333«U–ÇL¹ð _ÙÞ†Fàf_ž9båSÃ¥—bßÙãVrxâ¨à„òZìäáRs®'efDz3ˆÀN:x–<ërBú§ØúÕ‹¯çqÒCgúÞÕYréñËWÏïYÜ[,9X¿ ';êt<ÁiîX#iÁÝ$…öT¡[šsæZ:ÉÐ^ƒ €%>øD6ïiÈï·&*Û9«—Ä?ùÂ*K¼tŸ©oûmÓ +] -Sçq›îf±k‘¬¡8íÞ™ˆ,z7Mr ÀÉÙ/ ñä™>eÊôÃ\Ïí¾ör"[+‹š`@§ÓÕL{NÝù(— FÛjÙ%C¬Ì IDATe<©vídšíBÔäÞÆŠßÞý$gÙA¹ö7¬ ­NJ»WwÚ—kçŸå°1nñû«§â¥: 6áKÉèvÖ)¿÷±Ž³²Y*‚4JØpr"—špÅ8èú^]|Æ/e-gü«#Gµ˜²¤îñ±;ß$lØOmU-iÙ÷¤—3S£ä©ZÐ ?î® ÊŸ¸~”º¿¾n,vÚɹAåÞ['ëIW«#0~‹†ÜæˆVJý[/8.99999‡ÏUÜòЧÓétU]û ¡Š³¬´£p2#vß%ߺ޳£žŽYßE;}SŠgÖ^—ü¿yÝUÈx"…JÂ(¹­œáО„“Ö0ʼn™RÆ-ÌÈ#hwín¥£B×0rèÞ[CrÞÄÿ.쬷Y@·Ð‘óSåa5†½ç1Åy'÷W!pŠ2ó1yÕ6UöÚ¨+@Á×Bvé—…ìø­‡Šm¹qÖß1cû˜‘Û+ÄÉóožÅwGkÒéjúãϪû^ã &w¯jk:Nïœò3ÙÂ)8,^ëRp?¦bØ–%ò¢ ÛwõY³ûø¥ëWBƒG+>X;ÜcO2 01Ú –äÄnYûHyÌœ.u #RN7œù¸–‘ÀbmI“{›“”ÅUÔUª=œÅ¹Klu8ù.gVÒŽ³ÐPQÓïæ›>òÐ~Ê GQÑù‘œU!¾¾æAt¨ÒaÃμ¾hà”»6Û¯o®I`}KÌuk-á$8Š–… d¿ÿÖ Í QÓ#x1ýø`sK÷+Æþ[Qžox?d]ÿnÖ††V–_¯ù”ÔÜ7+õðì­Ü™['2„O‡ºã·©ë6‡@´F$¸³ÑÄìß¿?##=z4mÚ´ÿWõÇ8¥™q¡«–Ÿ¥uxD›Ì—8½é&•)$‰no¯TøêC!×¢–ªHª–š<$eCzeç3A¶tE:“'e5ÒÓäÈ<;»S}zwsé;ÌÍI§æò–ŽØiýÅ@;r~â…Õ GÅÿ˜ëÜ^ü‰a Ýsýæ©.mq`á’x«whØ»é“j«ƒÚqSdT~inòݽ«üÝ—èÞ ¶}2ÂdÒC.€îü{Ñ‹@x|<Ž¢¢õK NÖÊÊ㞤—wo#…7† 7&ë ñ™Â¶±ï¨Sì8èðÉwSV©ˆÖvÖšüHÀJöN˜xV}ù•bÞ%:Jp¬?ŽÔNW@\j Þ–†ÐXÞîAe3+€,M¬ãᦡÕñòï­³:¹ÛšPï.ÊÌ„ð_¯iº‘¡ãµI€'I±ò26 Q'‘èPYmùëÚ ÎõvâÖ‘Óð½÷ERá·<ž$Cf>³Ú O^YÈÔêå"Žj:iß½Ê({èõÀ9ðL^`ßæž'ïî7nÙ]ÇÃ4ãZc±?˜¹ƒ0÷êx]€Ð+©ºã·©ë6‡@´FPêßJ)**b³ÙÖÖÖ™™YTT$''WM† ¯¡g` †&ä'W†m¿ðÙm€È|‡¡^ ã Ük $‚àŸ8¼°(` c:÷Ê›¾nÜŠºw{Ó¨ -cOGmêÖæß~+ER1U³oÒJ0SE‘·c‚‚–‘‰©˜šd¾pôó»22l(¯ÚW”YÀà|)„6j d™öÊÒðÝX³ò™HJÕ\ÊÃÄÈW&>²ê†&êæV²¯;LÞëÞc{ÌýRऔ´*{ßmtM-,ªGp³.ù®xdìyÚ«ñÞ³w º¹ÐTÎYDñŸPôµq§>þ`ãuEkËÀ˜‰& Ý\î~ÖÛŒRwª"B=ñkuˆ±E4Mím—¾”vT³ ¬öEÅñ ¬Žw/äôîG6NqQcƒ-)=w‡¥x,5!pË *ˆ m$;­ý*¿2ގΑ³ê¢YÇ$pI…•rÈ÷²i@„e^H¼t=ÚÈãÝú+ŒþXîjÓ(3dÿ˜šÅ|ù2÷ÉKe?…¼ éVA/¯U!ü*(20~š·¹?< Ñ2ø·S+Äo###cll¬©©©©©ill,#SÇí(ËgòÈjÖ؇˜w%üýììgÏrLôðxŠ"Jó™ü‡Sðñki?¡BT0ìî1{Íþ+w÷vνú¦ÎE%"Ýe”ç~Hh²Ð€vá÷ê®!ª»-(}[h*pò&]µYoî&ñQqržÇ|‘µì¨N¦t7ÂÿHþRÙÉÊz› í´Éâä«iÃe³y‡á©jzúZеf‡Üo×–-Ñ]2¹cÿÕ›úd…Ì=̪½83åÑ'LIG‘b´%`Ìw'¸­Ízz¾­|3_‚šÚÛ@jo¢'õý]]£oX‰SQÎÜ/çáp€±ÊØ<N~j:KÕJ]2R@qü Aþ4lðŠ]Vž;8 yÙYç¿°pŠÝ}½ ƒW]Éü9€œ¶bïóÙ åÅG²ádœ^z\ÙwEwE<Ë«ìIÁáq<Ž„|¶JdcÉ:oŽªâêz{<˜û_ŽÞ3°=A¨¬èÀø-z›C Z ¨×¿•B"‘lllJKK@OODqåe|HN¦b\fÖ¡þ •ÇôÒ‘"ʸÎè±Ö{þòŽ»æt¡¦„ún|ÇðÞaI²FW…GÏ¿4Ã>^X·#ÃÕ^UyÂþÍÑí{ö´ÕiÃɈŒHâÐ&Ñ2!U2!iÙâ{±ßÚÿ.õq³Ó¤”e%DŸÞYv}d°¡$NÁÁ{¬F¯Ãûã¦uÒéí¸}É‚5·O6Ì¿¹zÝ+µ±ëíå€@0w@à„%ËŽ+Ìí"“trá¯s<Œ¥IÑòÌ—!룔;Ðe89ooîYMpÞÙ±Þkr¿G,_|Gcaäd=2­ÿºugæÍ9ÜïÊt¡ºÌ—[Wßn×ÕÑXEª8%rߪ£9fKÇšHAE´¶¬Ô£“­|i½b?jzÂëtœŒŠ^{)·(íݧⲔï3óý›×%2ít Õ(Ü‚o_·û¹¸'Y‰a Rs?^N‹Þð6jjoãLûšñ6?øTÑÝ\ @´™T1îSžd?ȼ|õ²•Ç·ú8јoN¯Ü—Þ~x_†4`¥ïî}Vìì¬)i³eÄ… T$l›¸4ÉmÏŽ‘êćMjˆÊ}6\ÚQÚoÖ_êµM®í˜?dú­œqw’Ï@ŸÒã[<¹¯ÌçÿÒrñÂ÷RžUB:ÀÄFMí¸ß®ûíäÍH'¦ÕŸdMDR©!ùÖ­su$á-+õ˜ÈÆ’Ó42©’)Ζ#àðFFÚ âãO©Ïmh Å=['üæ......Ñô¼¼ËƒhèØºù†½+á¯ìÈ-ˆÛ?ÝÅF£Ñ4m‡\Ϩ\‡Žó=zÝKu =ËÞs÷ïÉøµ¸gåŠ{V}“çk¡íYX‘rħŸ>F£Ñ4­->“̬¹Œ¤Ä#j5=^iÊåu{ZhÐh4M¯ãà9»¢¿VˆX†’ýé`oíÑW¾s1Œóý~ИNÚ4MŬßâðÔªÅA¹E¯ûô4¢Ñh4Žîëngþt½ùò÷¼ûÙéÑh4nà0Ì÷ÄëBnM¥E/ˆÉͽ9ÝHÕis¯uIÙ_BGêh:œ&´î`yâ® Ý-´h4¦nÑ{ú·߫V¥-/÷üZ5‚’X†\,¼ßÀçQIP¤Ñh4ãyOKEíxáÃ¥†.î)Î{çmî·ó#ô7¾«\­V´™ ­ÃX_o­ÝÙ€Æ?e,8ù¶˜‡aÆ+¸;ÙØzù‹_KYþ ¹@¤ØP)}<Ë€æ¸5…opÃæB×–òÔžFê]VÞ{êú³H¿ø²Ò'sŒ~îp»þs Ôf_ Sl`ÃÍ»;«cïmï«?f¥Ÿ›í¤¯®Îpôû(´"rsYT¯Æ*ºûkqÏZ®!UüÞâž5osÍp!ÍCµÅ=q²²²111111^^^PsÀ7¢ER\\\mjú?çÅ‹üq¥‰¥9Ú¨äÉ"ç™Ä}÷×ÛRêþCxßÎîq ûÕ«Ót£‹³õ„t˳´%YtñâEEEE2™L ˆD"¡ þo‰D$Éd2ü\ÉGd/W"­þsïÁƒ%äU'@´Tdí¬v-}’ZǸ7÷U|ûÉc´ÑÐ@ˆõG ˆ¦…@ï¿vûß©I¹Ïê}þJUøA½þ@ D«¥þ@ D«¥þ@ D«¥þ@ D«MóETÂÿî âAn”|P5ˆÖã®–gi˳èAKûÿ8NBBÂ?lmmàóçÏïÞ½366ÖÒÒ€ÂÂÂÿþû¯]»vfffD"ÊB›ät@ D#pìØ±ääd‰tóæMÿwïÞ9s†J¥Þ¹sgÔ¨QÆÆÆëÖ­“’’âp8qqq“'Onn}[#(õG @ü), ,,,€Íf§§§çææZZZâñx—›››žžnbbÂÿàZEE‹Åâ‹ ñ7A©?@ âO!“ÉNNNùùù†‘H$ƒ¡¤¤ôùóg.—K ´´´ÊÊÊØl6oÛ¶-Êû›”ú#@ }}}À0 ‡Ã€²²²²²² €ÍÏÍZá@ šfüúžÝW½`6}MÜì‹;{„~á4}Uû㮞FŽ·JÛ £öÌåýÍ Jý¢À nŒbüÂÐ~àìÿp›[­¬ìÓ­­>nÍ ƒÑ¡»ûâý1_+0aØô™²ån»ª7ïñŽ)=Ì †¡Ã¿ËŸÊ­ô}¸Ÿ{WSƒÁ0ïêôŠY‹<óÍŽ):›3 ôóß“ñE< ·5ƒÁ°[þ¢ €ùzsOÇe«Ê`EWv6pÙÏÄ„Ê3ã–Ú –¶œó„ ÌÿY –a4)ªX¼쬛ë§èikÀ`0\|f‹UÁè½/Ü¥g2í~I}l©¦ö67;bÓ9Ùñ“,(âÍlpuÀýñx·O;ƒÁ0ï>vÍÕOåÞÇÇ%c÷¾Wá1£Áˆ !‘††M=áä½8³a¦{¿î]ººô=wó…„B »œÕU`%¯÷{9›[ôð9‘TVyV$íÔÝ÷A!&¢DóÀÎŽÚ1”‹•ƒÁ0°í7cûýoÂæp³¯N·d0î7ùëíÔ#0‰òòrV ¢¼¼<,,¬…õh1~«¿!ÕN4à!Ñ~õÙ5öT^EAêÝß ^þF÷·u•ÿ£gu› $R+zà,{¿ÜMI¦clYn£I©È~ûàÜÑ5;¬®¬×ÿéa «ðcÌÞåA3æiÆœA'çkøÌÉ;r‡]د_¹aöü‰2Ú×—ZR€ý9têˆ5ßû,Ø<ÛF•\üåC±@¼<^Ñrøbc EbIêÝ«üÇ•¨ÄììѦf∶~'WZËð7Èít¤ðæ36M¼1jqРˆ€NòPü|Ë¢3ä §gZPj”Ç‘¬VžXe+ÃÿÝVG¤M柾2žÅÏGx¹·M> 2Ì‚ Î `3qôNó]m úZ‹z8ŠŠÄå¢l©&÷6ûóůu'mQã_mřٰꤿG,ôÚ’Ô3àøÖ®´²„Ó+Ìõ’7¼1Ç€L1wïO»ÿá›^"Zº¹*‚4½|_ÙŒ¯ÝØ'=†¯¸Üó´» ~ÖÿœÆâpGÉilVZdl‘±ÇªVÒßZ<ÑK*òÂ4ÝJ_s².¯ØôÙB ”©+0‰’’’º…þ)8NË3ê/ÐbüVOC”””7Qê A^¡§' ºsïùâ}§«< xEñÇýW츚X€Iktñ\¶~AoU”½òëîñqí³“=åJx;Η?³Ñ2{Wß~Wz.v|u8üy6}ÆÎs#úù÷L8xêѧÓ‘«w­¨A˜)á«}ƒ/ÆçQÑcÞ¾mž:ÿúüvúÙ%A/õ^?émÈ¿•›Út2)—- ,ð°¾Þ‚„3Qa/¾²FÐeØŸÎx*ï¾d%@+pñ­î›¾˜µ£3ïáæ ×#7¥:Øòk#ßEÖtÌLÓJU:˜·O‹xõE«G¹0¡¶±™™¬Ð>ÕjÖfÏE[^Ÿ Y†:ÛŠ**à Ê×(ާ¨˜ªðs¾†ú§Q»ûvi‡¬H´@Òºd@y|Æ\õÔG„z˜ØnAQ¶ˆ§É½ÿrçÒ'Q”µ™)Î-⪳ýŸ\¡3zö¨N €–Ïœðc3â2*À€ R:½H“Ͻ(îå"_O'üED„Š 1pól3ýŠÎª3[Ýð§çû?Ðö½|jª!ÿÐ¥ÏàzÆ,]ØÕþÄHU ¹ Öÿ|Ø9ï(;ÚÑIR<{û¶Ç’rØ üýÚêƒä顽Úþ®¶µBuXÆ¡jÃʈøÂazij^ºt°3Î-ÙR4a÷äG£ ~t ŽÀhÿQðx<†aвŒú ´¿ý¶!­¨ÿñ»ð˜±—´·µR&p¿]_à¹æ?ý§#£®nPzÂ{üÎÄòÚÀþpô¢ÔŒs/RÞ_ñÒ!;åèÒô3ÏÞ½\N»±lå­\'#|_´Öü°¨‡b®îç¢J’œN¬ß…ó-æÜBgw¡.,’¼EèÄã23bÏGdômÔÈXñûGédÓnú ¶·é¢Všðü+«ìýµ‡e ëœm£:›™Ø¹NÝÍ®E^°†’Ï÷ÏßΦuuÖhÈãNÖfî&ÞÉ93gÎ9Áuß<ßFVd«`e1Ó;0 »³ö=ýQ}¬5ûË“ñ²½=ípb¬h.šÜÛXÉ»ètYs ¥Ú3̆V'¥å⤜yórÜw6Æ-I¾qö Ù®¿?³•Ñî¤Uñæ~Zge³PG¨òûaÃù0rú ÃuçBFhã¿Þ ‹§ö[4ÚPæ§Žb6a~7ܳÐ{96ì§6Ètsåo÷})g¦=x”O7£ò¢7n/0LMB_D±Ë+xRŠŠ2üW{ŸÏøn/÷Ú8ŽQ­[¿@ þ ¾b š¬âÎDKFåÙ|Æ _k '+ò@4Ñíh€‡­tçl™Õcïñ„iLk;–œë’™Nt2™B´¸dн @»ï„ÎëfG¥–÷¢~É'h::YjÑ @§©ü›ö·wÙ@sÒÙQ–¶žyp‡À.Î*ÀäôÚT›Uy(È,â0¿~*b¿Ùy\mùú°ÕÔä3~K'Ã]¿:CFŒ< $z’Ýä(8­<³Â^Lî.ØÖ:soGÌbð_Îãäíçú9ŸŸqOfè‘ör"{ü•§®t02Ó –~Œ:¸iìD,âÜt½_¬C“ÚX×A01VÌ1ªe\Žzòna·ØÕKXБpšÚÛ¬ï)Ùܶ]ÛÕ>°Dœ[ÄV‡3tð?æ;cÔ˜N»†“ŸQ™â(tué¼Ù,°l¢a¿I¡"Èï† ;ûÖŠE‹Ûn>ØO…ÀÌyÿ ÔFk»'£iFƒ3É9lP•¤óÚ jŒX?/nÁ¨Ž›ñZ½—†ô£¼X¿>y`ð¼´ wϳI˜ž›ßŽe}è’3‚ €Wøxû¦§íG†9ÊãXi'îäN;=V‡T‘. Õ ÀøSø½¤-¾9-̨¿@‹ñÛï‚R„8ªÆúcœÒ¬—á«§.Ô½¾{ˆBvüc²Qe IR¶±mWô:µˆ[[êOR1׸E“Úë+W^ÕñTEiÖ&OÊb¨»ÑÉ%ÎÎg{¸tqîí6°³VÍ!å- Ñ. l•5©àý• ËOļɛѥ–¾a Ã0éî«ÖMtnƒ³¥›Þß|6Bþøx33333S]¥Ÿù7ûšß꧆KÏì蟷oÑþwå²¢ŠÿD†ÑI÷ãSÞ¯÷õ¥¯O]ÎfŒ®Ïö˱¢öüê™™™ªRj»p‰±E4Mím OQ¤à˜…åµG³8·ˆ«Ž÷¹<§Uk&8›šØY8¾íãƒá©üç!^YaQ^A²ÓÚš¡"Èï† Ö©›véà QU¹¥´NW éÏ‘²„®]Ÿ¢|—µpШc¸¤ÂJ=îwÝxù³üØ7Ò΃ÌäL¸Ê'>œQ^óýÑi£C*¦;èeBÁ@YrTüç«\Œ ÃrR4{îcÅz:[xÐUíñÀI?éÙsò…ìúŽ%ãf_òê5>ô‹D=k.£Z¯„ ñmŠzýõ(/`òÈ*Ô±¨Ø¤ÒÁ޲ÀΉûC/R”7LÈá8Ÿ2™¼6 ªƒ(¯ï4BßiÄ´}<»,?ûvyWGJSØò× Òœ‡™¬Û}öC÷iú¿R vQ.[¶°¤ÚÀÙ}ƒ&ì:›6`–žœ‘£&+4:…ébMà|‹ýJ5³U#ËÈu5À?üðµ 3&ãXÙï¾¢E[’œšhùjÚp9lÆãaxŠª®žÀ~ñÜœ›±:óoŒ³Õ*XÛ³Ï|ߣýÏM×..LYê“t¬]¿¶U¬èù±›…¦ hV=$È艴¢¹®D¸&ö6”ŒäܤlÔ6~AŒ[ÄUGâ¼®àî׫ŒÍàä§e°é=Õ$k´Ouª‡Š ¿6ø¶¾†ís÷ñXH=”i:kG¹&´°éà|9çÖ~Þ§¶ø·\¬²'‡Çñ¸Ò‡‰1“ŽMwß”?æØ©™ÖU+1Q»lޏ^Zù ÌüÏo”¹ï™ ÞJÂ#®j Œ?¦Zÿ(ûÛÃc!¯<ýTÌ‚¬ª¾u¯©óÇY)üY—èÏõì‰Åø×`~¢è9nëå6^XgGÅŠ¢ç xS)E Òæ}FÔ¡ú»áÁ¨_†•LzŒ›ë3@_ô@Xnæ¹)nô=z`„*á7êmB~«··ë‡´†C¯.º2 VûÏ@L)Ÿ¾tÁ"(õGˆ…[ô%õÃ*Æef¿_wµ¨ý(m)¢tÏ)Ý6Î]`<Ãò!Üok’ŽWÈêŽå÷ºœÔoŠ|º²yo"†3©w]å‰GB(uïn¥¥Àýu;…£ì©,YƒV’ÆÈÀyW‡m>6sáÔÖ2åىι&pe½¾$NÞÞË]}Љ#¯&­³ÓêÕq¯ÿÒv›ÇëDnØüZÕ}•,(}g¸M÷_ªàã(rzùÑL½# ¥IÑòÌøÝ[bÚu´Ó§Is¾¿‹<¸é¡ËÛz¯ÈÍ XqO}ö•qºdå>~þ]ú,Y|¢Ï™ÉB}ýÌø¢;w4¢I§F<õÝd»QeÖÉË{x<ºÂ: ÷¯yˆºh+¸ÅŸ“>—§æV`eYIoJduôUe¸ŸÞ%(þ\Ü“ÜNG^s?^N“Öð6jjoãŒ{™`!>W8™Jˆ3“"Æ-bªÃ“lû™–oX*3µ‹2óí¹µ‡3”ÜzëJÆLºŸÞÖ¡«º¤@bC¥"q—·Ê€mACùqÒ °©¡}Ï€° Òa GûQÂ×ôR,Ë“éí;%zÆü‘óK÷¯÷0ä¾>ºpêº×fs÷8r™¼Ú_!ýEÄFMí¸9·ÖíçM9Þ—FLÓÁ°dcd SŸ|çNžž–$¼Å`¥…úŒ\ßañŽÞ”ŒÄ„ œ ]OWIVÃÀ¨J¦ä›‡W70Д¯ýÒèüJ’X©Ç®8M0;p±™2‰™òòY¥Ìš IDATZ^9û³¬¡òøõÏ’²ÛÊ"?ã–óvÌ1“â”e}x~ûôÎy·ÏÛ·n`õEi%Þ¨*CØùï¯ï ^ 'YRë(øõ6Œ¹Þ®œ¼ÕÄ…VB4H¡?1¥|ú¾”G©?BçÙÊ¡}ø¿)êö·/±¥­ÿ–ã?üVlÙ³¤ÔÇí>:ÓD(Ö ·LšµxˆåV©ö†}§NíroWý+ÃK“s"·LÝœQŒ”Šíð{½j›œù¯€£˜Î8qCgwÐÞݳOæ°d5í\G¯šcI©±,½”¡Çdóƒ›öÞŸoÓW}䎃ß}W,r² ¯då±åèôèóœ/tÌ{ر_Óy1Îíȳ÷5÷Ûl»3¾~æ @ljo+uc½z{äçù¦d±fÚSVèLØ·¯pņͣ]WH©X <¶ÌŽ XñË /åû2–cp³!6T¸¥Ÿ^¾H°©¨¼y5,lDAR¸)¬tÖ°Yc©w».‰€ë».L:¯;mâ%û=G§2ÈXéÓÕkY¾§Öv*»â=þ²ËÁîê¬"3æHÈáëÿ}eQÑÈuVÀl'%‚ˆÊþ8ÄRÍpœ¬¬lLLLLLŒ——ÈÉý›/@ ¤¸¸¸Ú<^nÿ8III†††Í­¢6š£JŸ¯p]@¹`Ýô#Øx9—' 8ê~v’Vc<;·žny–¶$‹nß¾­¨¨H&“ ‘H$TÁÿM"‘ˆD"™L\Õœ3IÄ ——ÇdVv»`…–ºäŒÞ:ÞBAà)“›±`Ü ãsL¤x÷—{n•_ur©Tzè”I‡ó4{Lœ5Ê’øöĪ×4%Ç î¶ÔÔ3«7¿è²óøL#)Nzè”I‡³iNÓ|';(dFn_},ø¾½ãµŠ£ü'~t˜·tŒ%ãæ¶ÀÐÒáûöLd¿]ž1ár÷ÜÕ XQ̼aåÃרQÿÔ-óüôqÛ¯ tiié7n 0àŸ1 X)ûÆ{ß±ßì¯ûþ‹ª¹¦÷Û‹ðàçVAGæ˜Ép3ÏOŸ|³Ïá½ÃUÀ¯7OÃeüŒ‘6ò™7·¬»¢¸äd`÷¶”®ÔôÔîíŽØÁSV%;ΚåfÙŽvg÷†p¢Ï‘ÀìKÞ.Øî:2U €•<]=fgɩՔœ_æóŠžM^ö˜1~á¤z²Ìô„$°vµ‘z)ꀽەþaˆ3DË~0 #ë¸ö÷9vÓœU*×]Ì©„»§ÖWÁ0`ÇØu½í{¹¬»;Tu[ KQRnwxCð.³Å£-eÒoí8úI}Ø"}©©ÚÏ~t À[úí˧OR¼ŠÂì/yXb3ËÛ¡Mõnþƨ*… muèø;ãs»tmÇN¿½ÿÔGÀÑ1 Ãðš!çe|Z7J{²UFH=~%ЈÁµzÇëâÙëÄòà5G°)}ŒÚbéñâ0—É´H€kg몷kÿîý,¢ÝZC™^Å+vÓíØÊMëÃLì¦Kef¼Mâuèc#怚â °QÈp”ú#hùeT][­Øa›B¿1yRí 'o˜ÚŽÇ0 €¤Ù£úÙã²ý;+ã%²?!b û•êQ{øHÚýu^;óxòý}W{è’0hÛuQ`þÎí‡L.2­ÃÀ•KFë’0Œ BEÆÐ`Ü×ÛgOÀSÚë˜vœ¶Á½¿e;âO9 û9Åóß0ªª!pŠNsgƆL²*O³èïÞùÍI¾Õó±£M×îör=7)¨àš¡ÕýV»·q²Ö>Á+Ûî>¶}îÙR©vú6½=åøù7NѶ¯Áö­‰Ô} (U0'g3;È÷Èö£3±€Ô֠׌½k;àŸ€˜RÕ<€÷l¥Ô\Ü5ýŸóâÅ kkëæÖQ¨DëqW˳´%YtñâÅFYÜ3?????¿^U–¿Ýîµ"sÒá@—?[H²)‘““»yóæ€Z’QûMR©¿!ººº€÷D ¨Æe}OŠ8]a7Ä®M I’Z¤Qˆß øA Ñ*øùZ@,e¯ƒÇ-ÄUí>o<¾.i‰ Eõ¨Ûoÿ 5¥þ@ Z>8®î$‰jãwåæ_QçOáÛÒÂŒú 4Ào’Ío‚R@ -ŸíÕ¤Eõh1~û CЈ/hZ˜/:wZö¼´ékâf…{X 9žÁiúª$ö‡m5zj•¶#ê®ÅÑ"ú ´¿ÕÓj'êõGˆË¿âf<õiÕ&QɬÿŒu¦ulKhN­þI°²7¶n?}7>« @^»S_ÏÙ‹¼º«1¯ x˜ÐÖÀeÜŠ {«ò¥àþˆ ™»xgäG&‘f7Ö/dÕ0]þwÖ±’ÄÓk—~òµ(j¼„.³¦ˆ“gÆO›âÑÛ¬Ri[·ÙkÆ[)TܯÖÖÐnìÕÿ‚ì°Wëzõï³ÙIXa¬o·Q†^»³ÂJðSåÌgóm…æýÜ–s;ÿjog*'çþŽ%+÷F$bm—©Á ]èDñÖ±3¯.Û{ûÙËÔ<®¡ßã;3tH¢ÕÐ_ñ0ÊG1ÂÍdV›Ð„cÝ-M%Ψ¦ö67ëêÚÓ²“oZQA¬™ ®¸¹±;—øíHüÁªV—ÑK6-wÓ•&¨ô›Ûk½÷ޏa›:Rkµº*‚40lê çÇgví ¿÷&½×F«CwoŸam$érVK`T¿Úí=%øþ7œzïe‡vL4–Á@Å»­&~^~sk·6ÒƒÉΊܱvgøgi…AѸÏd¿ÀÙÝéæp³.Nvò¾YÜé`Ò¥ õ ŒF!,,¬ÖX«Ëÿ kT}ÃÿÆõ[3:¤ž†L›6Mp¥þqàˆ¯nìDåUä§Ü š·Ús©Éó=ÝþèîÂc³DjEïšÊwt]ûÎ|ü’]öZÔò¬7ѧ¬ÜbløÓÃVAjÔŽ…“fh??ï¡BΗ°)c¶|÷ØqÌ0ÿæêi>2º÷ü­(ÀN;6~ÀÊœþK·/°W'¥§ÉáÄËã­ÝWŒ3ÕjG,N¹²léȵgz·­Ù„8bǵçÖØQød%†ÞrNÈÔ+ƒæÞÐYŠžl˜}Š<åò¼Ôåq$›5áë;Rø¿ue€zÀÓ#¨Ìs땃¶2é×}Æ{ÊFݘ©O«-‹‰Sí칤÷ƒµ_jQGQÕ ‚¸.tQ¶ÔF“{›¾û%cÚNuþÕVœ™ «N:çꬱëß¹®?»»½ìõÉÅ3½=Œï-4"S;x& ßõ`©½«ˆ–nnD…Š ›zÀúxbr¿E÷U‡ÍöZa© Y/¯ì[ÐûÌ7v W±d3!>þ+a§\¸³lî½Ôá¬#nŸw½4V•Àþtji˜Öòk]%%Ԉ˜BSÏÀ96ZÒ9±{—mð+1S¯ÒלÌó‹Ö~ê  ±eê ŒFb̘1’¶6H‡Ú…ÓÒÒôôô$Á¨?äÏMhКÝoõ¯ºI@VV6...88¸¨¨¨¨¨C´Šj ô7/ïò ºæ¸¨ª½Ì§óŒi]w¥²0 ø/ö{÷0¢Óh4-»‘7¾°0 Øq¾æÃnV–(¾7AÏdΓRŒ•²ÕQ½kÀÞeƒ­´itÇÀ«›ÕÖ_çá` NS1è¹àÂg†a¼Ò÷§æºš«Ñh4šša—‰‡>Tü-_4qqqBÛ¬´½Uè=BË„öä”p«y¸âm ÍxÞS&†a¬¤ šùâgüo£³3ŽöQÕ›]„ñ îxè ?“É®Uœ¼0 ëìè¶kÊ«+]½­ÿ*z²ÜFÅzÙã‚Â'+lUm–=)âÕ*}:ÏDÛãNµâì´½Ýh†³•Tn¦tQ1[üœY§¶e/–ZÐv}dÕ¡žÈýµØRE6jjo³>ììªÞmo[H †™ ¬®,Þ¯Ý18¹²|Á­Qêj#nñϾÒ'sMõÆÝ.ï„úSÝ]„èPä·ÃÃ0þ¥Æå`:Ã0Nî=?g-³I¡©å¬´®ªê®;™?%y%¯69Ó5ÜN}ùÕ*jéïS=0(}4ÓÒyk ÃÊ_8Ø-{Q†q2ÏŽ±q"ƒ]SZR,âåGŒÖ¤õ>QÙ¬Ï'Fv¸çÅõÑêôÁWùAZw`\¸p!::úÑ£GOŸ>‹‹{õêÕ›7o“““SSSÓÓÓ333ssssssTQó×"3Éhåã·zÂÿààุ8YYÙVÔÿŠø]xÌô˜ ò•ímh$nöå™#V>5\z)öñ=n%‡'Ž N(¯ýìäáRs®'efDz3ˆÀN:x–<ërBú§ØúÕ‹¯çqÒCgúÞÕYréñËWÏïYÜ[,9X¿ ';êt<ÁiîX#¡ $…öT¡[šsæZ:ÉÐ^ƒ €%>øD6ïiÈïÐ$*Û9«—Ä?ùÂ*K¼tŸ©oûmÓ +] -Sçq›îf±k‘¬¡8íÞ™ˆ,z7Mr ÀÉÙ/ ñä™>eÊôÃ\Ïí¾ör"[+‹š`@§ÓÕL{NÝù(—·‚ d ¹ÒP<‰Jæ}úß7v=´ý›4¹·±â·w?ÉYvP®ý kC«“ÒîÕöåÚùg9lŒ[üþê©x©NƒMøR2ºuÊãï}¬ã¬lD„ŠÐß6œœÈåƒ&\1º¾×CŸqãÄKÙAËÇÿêHÆQ-¦,é{|ìÎ7nSXÙ4U-iÙ÷¤—3S£ä©ZÐ ?î® ÊŸ¸~”º¿¾ÇØe<©vídðì´“sƒÊ½·NÖ«6X«ŽÀ@ JýâÀ*nyèÓétºª®ý„PÅÙVÚQ8™»ï‡o]ïÙQOǬƩÇÅ3k?–ü¿yÝUÈx"…JÂ(¹­œáО„“Ö0ʼn™RÆ-ÌÈ#hwín¥£B×0rèÞ[CrÞÄÿ.쬷Y@·Ð‘óSåa5†½ç1Åy'÷W!pŠ2ó1yÕ6UöÚ¨+@Á×Bvé—…ìø­‡Šm¹qÖß1cû˜‘Û+ÄÉóožÅwGkÒéjúãϪû^ã &w¯jk:NïœÂ®ú§à°x­KÁý˜Ša[–8È‹*LlßÕgÍîã—®_ ­ø`íp=É, ©ví¦’s~Kè›BVñåÎŽí/ ¾”ת­„Ô£Ó g>®e¬X[DÒäÞfç$equ•jg¬¡Õá仞YI;:ÌBCEM¿›oúÈCû=*3@EECæGrVE­U6¢CEFvæõE§ÜµÙ~}ûpMë[b6¨[k ÁQ´,T ûý·ÚÃC¢ jz/¦lné~ÅØË ÊóÍëÿ1ÐÍÚÐÐjÀòëYg ¯ vËÚGÊcætQÀ°RÏÞʹu"Cøt¨;0D#"Áˆf¦j¬?Æ)ÍŒ ]µ|ü,½¨Ã#Úd¾ÌÀéM7©L!It{{¥ÂW ¹µФj©)ÐÉCR6¤Wv>dÛIW¤3yRV#=MŽÌ³³;Õ§w7—¾ÃÜœtj)oiàˆÖ_ ´#ç'^X½ðpTü¹ÎíÅŸ‘†aÒ=×ožêÒþ!‰·z‡†½›>©¶:¨7EFå—æ&ßÝ»Êß}‰îÝ`Û'#L&=äèο½Ø„ÇÇã(*Z¿´àdÝ9ñ¨ <îIzy÷62Pxc˜Pqc²ÎŸ)|aûŽ:ÅŽƒŸ|7eµ¥å⣫¾x­ìe¸T]ƺ*ŒÿÍ/ÉõÇ‘ÚéʈK ÄÛÒËÛ=¨lf¥‰µ[Þàêxù÷VŒYÜmM¨wefBx€¯×4ÝÈÐñÚ$À“¤‰Xy¨“H\¨\dþ0l؉[GNÃ÷ÞÎe-¢¢OI,7ªH¥XkcËß—4Ï_6}}[ ¨Jy¥ç( ƒFc¢L&ŠSРP( ESEš¯wÈøvÏwS¢ú†nC'm÷õÀêãï›øŸNÍK.DªI·úX DQ^šð=öT2MwÊp|'KÛ]tum‚Œ®†PYvG«oÌŽ@ol ̯ç7Цzè?ó‹šä{‡ È‹v]…ßî6Xé~×Nؽ÷ºâz 0ÒÖ>”w¡þw¾´.¢\Ü|´Ä`¥—…dY׵Ћ/m<+ë³ÙZËd0›gR0X “.à3·«@©Ù'æ;쨘yi­©ds7·:˜×ÂÝÝfX`°õvÂ{™¶1Vùv È ½ä”­²ex~¯[(éb ëá £ºøÃû÷ïs³ß$œÛî{³JÖzŒš^nü²Ñ´+k7]x•ÿéíƒà{³ÉóÜ EQÉÒ\êÝéëÙT¥æßØ–… 0éØ~óyNqiiAjtt.ÑFzÊüï ¨¸„ø ÎÙa7cãÉ/3ße¾z|1pÑØ‰»29w`b¤Ì=æ(埌H­uG‹ªs^7ß|xtÝÎ7 s<Ì$NÎnµ!fƒïÙïóÓïîY{ü3ÅÅYG˜Wzêë~!¢Ÿ¦¼N}sÖßmmÎjÎÐNÇd”Eoò~¤´î€›àI;wZ®:Éù– ¾Þ·aïÙ¨')i¯â.ï\8ïôwýùst… }ºvôzü«Ÿß?¶ÆqÍÄm§‹§u0ª ²222óÊQꗜ̌ÌìÖÑ#£òãÛŒV2s¾40ÛÏ*¨|Óf—×¶¸Þ}fÖ“Âߟ»™f‡`6Ù á¯ßÙäÜÂü×wƒ¼ÉŒž@ uÙñŸ¤‡[)÷6߉gWiÌÚ?ÛÞãJ üF·i^vÜž[a/WMõyðèÕå"ý–©<ö´÷<û¶eV½>æ6yÃkõ›lpíá=ŸþÏ‘ð[Ô–pæ²íö$R¡S[WŸSN©Ö¾b4åŸq›ì÷ÚÈ{óD±¢¬ŒŒf«pÊÚº-h«Hà0bJÚÚªRxž£oÂøñô€»ž‰D"‘‡Îð»ù±оÜÛ6ßn¸®‰D²:\Ðúœ¥¦‡ºŽ6"“H$IÕÈnõ©×UÿY§ÅŠjŒ1AG¢'A^ööuh_cC=§˜kÉ‘H$]ë…!ñ¥mmg|½9_“D"9Ü«@}µV—ĆæÒgüÄ!ÑŸw¦üJ¬ 3Òu÷Ã/ík÷ü;éDpO„ 5SŸ‹Ùµ¬ÈŽŒÊÔˆ¥6Z‚ ʦ3¶E7Ç¡£—%ìœj¨(§¤a8vuD„#ùWpÏæˆ{(Êù'5ÕgªSlUcÞ)ωC4I‚ ÊF“½/¿§¶#Ùëáf‹Y—w{çÛAJ‚ ˆÆÐ)«%|n䆒Vxb¬œêì;e ¥—%» SEDN¢÷Õü–ࠌꌓž¶Ú‚ jCv>üÒZõ\Ò7ä÷˜8DA!Q̧ûœË¨b´/4÷€˜Œ–j~¥ IDATË Êú—”V騦<ùdA›¸ƒ ïÍ·¤‚ ‚(»4üY«m› /,¡‰ ‚hZ_Úzë*ïNAÚ@ñL®m×AtÖ¼¬ãvÜþƇ[‚÷ä]žÿª¶ß®ÏÔ´Ø›ÝÈÏLA³CѦÏ1;g§ ¬[ÆÎëüÛ&Š¢(³ò±›Žñ¦´_¡,ÿþËx<»JÝóÄb_^úÝæmž- ùç\µGøÅçDŽo­êÁ[Òëë^¬Òn=àյǃýñìmaT<^1tìþœ–àÇME×VŽÔTT$[x\üØ&"rOYÄüqÝŽóÖ4Îm®´úñ¯àž<;Æ/úNpOÆ·›N*ˆá’“O³?~H»åo«ˆXe7¢hSÁåmw9s`¶&Âݵ.ãThĵ‡ÏRR_Æ]Ú>EÑp‹©øõvì¹~Ëhjâò>é4¼ìí&z¬Þjž¬™ì²ñеÇ/RžÝÙçª £Ãò~YOû|ÙÅØjÆP¤Mè[ʼnÏÓYd¼+®e¯wNC˜·'“Î¤åææd¾Œ:0GQ˜ù…#¸'týÿRzã3ñϧǽH‡ôDÕ<_gl²!¥®;òb”^›¥7îèõ&ý{ºtß³´/YÔw\~Š(ÊWØå&ÏÒ®•rNxN2Ó@‘׳üTFó”7åZñÉÑJ#Â>°2cÖ¼í?˜̂_÷ çŒC¥'(§©þãí-3ÌÔA(Vná/*è¼òâU|ìårZa„­¢ÑÖô–?óçÚóc~2›òöY(Ž ¾¶Ïu¨ ‚(š¸„¥VV¦_¹î«Ÿæ7wGJ+ç0Æ{O^|L{øüßç÷÷/ÐåLM¥g‰ôÓÓV?%¯½ø$å壃våûg/½þ•ñ_©ôp»^ÑnQùÍÈ,ÖÔYñäT"vÌüa¬…¬´ìcûòFE%Üœ¶Ãuî<ï#ÿ‰÷Ø\œÞû¶v±ê›dÇ`„éZp¤I;vON²ã¶‡ë–¬ ˆÀ°9N™>h?àt–D^wîH“­æñl=—¸&@?ë€Û¼äYXˆ,XaÀú©8Û?àaÔº»yþf:¿”sp@ޤ¤ €Í‡d”Fßh´?}t­m? @QÍ€GÍ*=àj‡Þ^½}–6 ´*xÅíѧÊìõ¸å%8 ®eFƸ™oö=÷f³©…8³,îT²è¤Ë¦’Ð@ÒfÇî…–’h®u=b!rz‰u Ð^³øÈ͋ϿЌɽiN¤Eõâ&»êÅ­dBÃ'¶TxKÏ€ºƒTÄê>Äõß1ÃMˆZAá·’%nÃú-ª¨º?]¡y¿¨E`6KJå—JOcÑ‹õ¡£”›“( ß•×ð³¤Ç-/n—êîeÆ´rE9“R _žþ·¿ƒ«¡Xóc5Öœ¤œ$A~0™¥§‰—”“ÄPË©½gS?›êÅvÕ‹ýóÔ9'Dµ©ž‹¦Y51³™µéÔ™ù2™'Ïgó—jÇà‡í¹÷8æzØCôM\zy»øpÖ@ ¤ËAù*rð‚‹`ÈdîZ1ÌòèÕóBËŸŒ¿b¡&-Òðb¹‰k wåñJËUÅ…M¥‡‰âŒ¦ÝsD8'‘Ûç5’¯ wx¨ýô¶p,ná™çeªEg2äƒØ‚Aaq-%Á€ÁàÙþâ#ÓýtµêE{É Æ‹±'€³þ@ ]ÊO‘£´ †ð€ö9åm“á’E6DpzùÛìÊÖU=|•s„”†¨aÞǤW±_š¿Š‹’™:Ⱦõ¢œKáÛåÕy=þ× “ùöbO#Î:«:{¦æŸ¼;U/Z%ƒ8ÿßV@ @:€¥È±Ý×ïì>Ï‘5ó’ß±"™ÈÂ0ª ² kê[…jE¨k)`ÒìŽh1”B¡ûàÈŽœU8oy¼Œ®2öÊýg¥“ìI´¼+þ¡oFД ckkªÖ^KG¶UÎÁ‘&yMÛã²Ücÿß©ú5y¯^3-mäøø˜8’ÝzÇ ç5î»Ð-Φ²àÇû§QñèÌ-NM§ùçÅ‚»½b´¬ý 6æ: s˜Ã«Ì"ús¦KÛFýíSþ´ˆͪÆ›#&Šee€‘£hÈH(k붤©)•Àa°JÚÚªR€úzßö‡,-tä„jòbùŸþ®¿QÕ –dИ“,b? ]H3uuüd" Vcï¶‘@ü=ÕÕ÷,í{ýñȋΜ©\¿}ç4+o„ä‡Ì ¹ì?LP›´ÆÖý+Õ‰O©7ÓÂEÅÊ㬠*ª#¥>|Zðßir8^—ÇÉ9„>[¼ÎLsdÅáóVNzÂ`…‰ß¢wÏÛYT!ù¡NûOyhûpl›ÀÛG¤¼w-³·#ç–LÎcûYï½wJÖw—Ϥð*DäY;ûHa±5Üòjw{Í1µSS2ÌPe ¤5k69|o¿ùvJ˜‹Ö¤_¯ q‡sbË1õõI‰^Cœ°Ð·˜Ï}ß †v~×–h ò¡CHgîRÃ#1ââ≉‰‰‰‰îîî ®úˆ¾FMM Ç,®þúÉÍÍÕÒÒêéR@øÛH þžêê{–ö%‹>|(--M$q8ǵÀúM ðx<‘H`0Íþ*ÀÅ—ê{NZZš±±qO—¢Û¡¾\7Ì©`Ë‹«3Úí3è}¦Þ:iËå;qâ„•••••Õ6`‚@ ü ´ÚŸeï¯ì¾Ñ8úèhY8aù{@×@ Òë©{¶ÂØ)š¡6-4̺ÿoI…A ë@ ùuª°´§ ñÇ¿–@ H×BMßmkíŸFíúœ¥7 wŽ,é´Ô{‚öñ­¶ÝÙ¿Òvé4Ðõ‡p­¼?‹ü -3û•Çÿ­l§é´¾0fŸ§Ãp}2™L&¶vòŽHü܈¶­aŠÉ¸E!¿¶J:2*ž‡-m@&“µÌgn¹]Ø*݇Öå\Ýâd©G&“É–NÁo¨|ÒS3ÃÙ 7 “Éd²Þð™>çÓ«¹`æhk2™Ø½t¦­)…L&?þ©¥.ÚL{¬€†VÞŸ¥¡»$©¶3¶ð§«k›QxM|ÞÂA¢¼Í¼åÏ{NB!“Édë9w Pp¤qž6Ň½é†aÆïÀÃFvë6„^‘vyÏr§‰Ö#,m&Í^t#«ª—=ÎøtŒÐÚŒw+A£=ÏåÖ7߇¹á“­}žTõÅ"Zi\ØÚY6Fd2™b:qÙÁ¤omÍálDjêFSö»ÖpÕ‹^Ú!>\ðáo¶ýJ€™³±2ÿñŸ=î[µ“ö[Jþ_‹ë˜4 þ¢g}NÄÜ©¹z.^!›L”EKß>¹v: ÌèÎnÍÖmªú˜xtSð²5ʉf’p€þùêr·°3‚oDhVÆîY¹vˆjÔFCQ@û¹xf@Ù8¯ •&òÄš’5Xx§ÇJÎðvÖQ’Æ×æ?:ì¿un­\bøh.!¡1xÓ-çýŒEX¨ €5X¸àþ,ïàÉÑÛ†I‚š”õ—‰ó/-$Êq¾ ¥@ÿz{sà§AÊàù¯ëP1¤aÎkm’ƒ?ó)Q9<àåp³…]^Û´O7g¨/ QÀó5S°ì„Ë¢×¹‡äÚn;»Ï©ÏºäçµÚ]Rëþ* QÔÀinNÄ3/“1<ƒ÷2 4#ê¤ï”ëñ!×CzOPpÞý¿%Á§K›ŽÕ/»Ÿá@;ïSo¿aÈ_4ÿ ù]˜Ôâ§·“+eLd 0¾Ey¹ü«éu)6îî>»ºsóÂß5ð¿íÃé›BË®¥ååÜqWÃZÞé„¥—_e¿Ý„Ü÷õ‹ùÁ¤_õÚ’ ²öbܳäÄ»GרÈzÏ$ÖïBÿ–x-7ÜÓ‰Òf ‹ 9P´ÍÇ ?½]LÐ4Q €Öä$õFi²&:ñ2&#ê²R>7ÕçÜ{VO6þ¾ÖpmÝ!ãïO(¥ñIÏžCí§¤ëKK+%A†Sq“ÕÎÌó«–/_uŽá´ÖD¼]«üF©hŸ.ûlpß;—ÜóS{]^ÛhmvB‘¸Á ü=LA³R±)ûåÁíÔ2ʨ}ÿJ&qÈ$m–g+¢:L¥13© ƒ»²Ûáa#;ÿM·¡—Åms\z_kçµ3U±Ÿc.¦‹M\?[K¤5FTþÚQ˜W‘ñß{Ù²~I²ß’’K¨O’’ô\EÂÞƒ•s¶MWè%Ãn ´†F¦´´>ˆÖ'.L&“)CìW{Y÷k@ ]tý!¼@-0$“ÉdMƒQK¯ö÷÷1€þ5öxÞaÏ6gSuݱ«BÖh\8›ÕÁÊL‰ñ–$±xQQ€ö™ $`„U'ÌŽÏŒËo`T—üÄ)[Œ4T!!г 3F+öž/ñ¿ í[v)@ôU8'Ê[h©aŠÁ¨E‘ý—Ÿs á ×|­D%äúµ¼ÍqRò’ òK5ú¹°š–~¶f⮋7ÎnZrÄmîáœFžéÔ&,Ô!“)†6Kn(l8½Ù¬½ïÎ^2™L&Û†å·:dI³Õ[¬ªž=mœ²ËËL¢ýɨÀ¥j*8·.œ±dïµN·p›â‘ÉF^¯øô7ž¶p¥Ëk›V–WÊè¯:€¿±W#FÂ|ëÙó.ô5(†¶O;6³ÙĈ’…+>”6ñί'àe#{šÿ ÛÐJc6;®H4 ºä D€ö=çP¬ÔÖÕĈ(ë#àÛûïü»G¯¯4s÷$rÖPóù÷µ6îž(š¶÷{û-ã ‚F Ÿ¹-†s$Õó0«ž |)ã¸ÌBx6"~ Åb¿}—®]9¹Û±ràœ'>ô²Þ ô%zñd¤‡iYëÒë¾¾¾ºkûâuêQ‡§J•¦—`ÈnÚÍ.$AÖÄt@uF~5CÏ¥rJl«L2š²Í“ÏX1iá¦*ShÐ4'í󬬮Œ¶a5ÖÁ~¸ ç’ò¾?dÛEcBeÎ=›Î%fV,ÁgnEQakÿ ¬úa€þÆÀœÇS®\Íu›Ë/Ñ!w¢*ëÊ?$þ³kçü­ª÷v¿r5]ö‚ª+îG¯¦€¶ëã1¢$6mtziüÅ— 4¼N)n)%ªc\ØO_)-X©èO{Åy^­J ‘{.žÖCV€—kÀÛAø¯j{”(ÚˆÂ8þ½Yà옕In{>Xút7—©ws÷Ï•ªwOº(‚0ml ¡ô¢›ˆ—Küuøõ§Ó݆–>w%Öæ`Ôæ^„¨•õ»`™õõ€(FìEÔ!Q׃÷]YÔg{&ð?ó3xÚC½ð„ã„ãÓoKz¸íð@©ïþY²ô¦üúËÞ&â@ãÙˆDûÅóY?L†¨ÖŒv.½<%ÝFÛ¿5O#²áÎgWH¼—+s[ë/HbÞtum[•ÅP«¸ÄVb+`v¸ŸI‡¯UŒ<0ßJ ¥±+?ÖþÄÕü™^ÚD˜õUxI©^æÖò²‘}m¯æèt·Á!ÃF Ç?»Wl;›µÁ[XÍrðÅØ'_=4•Í57Æ=)d®ÔÁ&ðÞJSþÙ-Q:›nèÿ<œ)lµß@Jk7^rÉ“‚†1F"ŸÞ  ÔœÓKfh\tö¬»®(Pß¹F!SÆ\)¬€k~ ®âÏv­ Ý •T&Qn°"úñinó¶Ú÷ÔË%µÉ’X¬¨´ VRY.½²ð •¿·Ó¼¤æÈ™~a—ïV~ïÊÛÞ¶TY`ðˆÕt}ú³ÃW>´™â¢Uÿ଼‚ýÊ BÏ]) Œ„¶…rÓÛ„<Ö¢zYêÓÏbú¦ D K ¶âÃçæù˦Òìo@Z¹?WzŽÒ0è4&Êd¢XQyu ²r¾Þ!ãûƒmÛžª­ œk:nóÛÒ#>§?4qž.`©¤GEGµpu› èm¼½âÀÚ¦ØÕµ µÉĹ­¾0;½±‘0¿žß @›êiL ÿ,(¦‘)ô¶9S6²Ï?ñjŽNwlsŸóá>ls^wû3 0ýG®q×È Ûuÿk«3Iûtmû?_ôeZp»a FÒÌÝI±àÜ©7u€ :Í}hõ¥{ïf|ÌIúgSP†¼“»‰8À‘&,´Õ?2åCAftèÆÓ_4fÍÔ敞š~8ààå‡ÏÓÒ_¿z¹kÙ†'¸N¦ŽÈø»ms¼âÊÀ¹êD€“·eëˆOû½Ïq¾%,N\‰¢ÝEI‡U¤P”%ñ0j>½ËÊz—ÿ£­ÿšû6ëmnëè‘QY˜ÕÊÛ÷_›ÿÑöø»O5‚oÚìòÚÓ£‹¾KþÔ2üãn¦€Ùa¥M'ê5Än ˆ|™WT}ÀïdñÀQcÕ…(57©¨¿¹e¯Û-ÃËFÐøîЙ«o|¦ól>ݦ}62¶Û.ý×{ö–Øït@¯©ë³H9a­ãÚÈì:”Y~ÒÓqK†þòõV¸vƒð„OÿçHø=fgsѦ )›kÕ&ÅæQë =ªÐ®Ò¾b4Dz:¤®ö+Zü.+++ëmþF”g#RÓ÷싌IN{“šx=Ècñ…2]'íÞ6r^B <ŽSÿ]oÌ¡_¢½0®Ð)5Œß+ª>Úa¬–x8‚Š?ôUºZõ‚¿dP p` áJå7më·¨¢™óÞƒLÅȤ³å[6ïu´­BŠsŸ^®+ 5^²p…÷TÃ}B2Z/¨ó™a…‰ßcC× @HÎtÆÞ£îäÞæ¹üQ½eçî«>zxåùïMˆ+?Û•¡h»°ôBZÎn'&­5™ èv¢ÌgóÆ©ç뱜CN¯1`¥Gï>¿mëÆP§q[€¨òH÷ˆÝÚBîéEÅ*’ެ?P\ FRuØä—×O泪¦ ÌŠø›bÛ ),gG²Û¾ù渭.9?‡må„ ¥âMÝ3{ÏÖï3ÓÏI‡‹ÏB†Pú¿Ûœ¦üJÙßñJÒ.rûã&ûÍëœyl໺¶Zºo?ûi­…ÈÓL3Q«Qmþ±cU›÷ÍñÔ]g|‡ˆК×7^KNøG§w¬û`‡W•Rë _§e™4¢€wsAÞ>ðbÝŠé+æˆ8¤:~C:€¨C7O[Óyèñ~ìŸo·ßìðë‹ãzIT^ƒ#³òiPðWLj™¬mýFùùź»g*NØòí€^0›‡ÖfÞJªàià‚§-ÇTWÅüjþé‘ù(xp=.¬»öÒyM¬Ï6Ì×»—›>H tJ ãwÁö·X½Ûâ7OþÿTz:è»t‡êÉ Èé²mRˆ‹‹'&&&&&º»»$$þÌ ©©©á8‚Åö‚—ÆNnn®––VO—žh£º”Íã½pl3؉æ÷Û íN¼ze¡Êñý{ºtß³´/YôðáCiii"‘ˆÃáðx<®Öo€Çã‰D"Ó²çŒ@àrtÿk®!Ýßzú‹…ï.j{Cò:ôÏ‘³¬÷ GŸ²‘Õ +¬VTùÅžžÆuÞ¦]+7æõõ=õ(­¨àèO^µkÛl=1 જƒý|~ªíY»ûQKÔ  Ÿ¢÷m ¹ø¤°d gn=¼u<©Íô0íc•ž•ÑÑKˆ±!›ƒ.%Q$e¼GÀN7Ó~8UzЪXwó¥å[ž]o³íƒËuœq‘ÓÆžv푯¾0ëÌ8O«5hHÒá‘å‡'LŒš¼wRÖþË Ök†:ãon^•W;ÀÔcÿÑ5ý]¼wÜœ†ÓŠ/¹;ÝyØ-y–gÝþ´Kã% ¦n´š÷-èÅÉQ\7°q‚VÞw2]×ïä«c#ÅM9!c']4¿òj§àĉVVVVVVÐÛƒ@ .EÌxÅf[jJÁõ™žŒòŒÌs·ÎRîó“gH…Vrÿ|ºøXW3)L§Ô0ÚÂlÂj:n»ð8)éá…uºoïM£бr³2ÉÏqÅU0%øv\RÜõ½stD¸S`SéqëÿܶÏsµå§&Æß šPqhÁªÛ¥ ÁUzÚŠ?´Àí:x…ñsUܽòŽõ0eþL>ÿkãbÆZÈJË=žo¹óZôe?ƒ7‹-öK5ô|p5ЪäȺ™õÕ|·ÓŪl’Aÿ ~ ¤kÁ!ã¶uON2¶›ƒm»%+Ò4}¼™+c·s°8`SÃPØ´ûâv±÷—·lt›‹‰º»J›×®½9K›Cm+8úúÅ=Øtÿƒ¯‰Ö/å !Šl>$ãÛƒƒw'=°ÂZ PP᯻Y¥\mBØ=!·›§SˆE]KïÙ]xòc‚·¼xÓ"þpÑB²ÍÁµÌ²6óÌü/eúcþH<÷Rtüc h aµe›«…äÎ'&’ÜuláÈ~@Y¾àÄÝ«¯Jiƒ;¯&Ó ´5¼YõâÒ5Bc[*ü@‹Å~æÚúJbuãþÙ8g}m©߯(’Y¿…—Ÿs Ðfãœõ‡@ é4ä\¹V¤8ÕIW€¶júº¦Ó6Γ˿r5—wü;FùóÞvfÚd2™L¼0¶ºòk5‘§9ign°²š¹lËËO?Q9'ô?§¢š¶m¼ïêJó~ÑÑûsYQÊ~©ô4–¤|¬ÿ6A§e[²mp~ÃÏ/U8nyq»€|ªò IDATlâǼ9Åâ¹—;`Ä\Kú£ ©5€QúøÂë~vNú- ) òƒUX{œp$ É@¥§‰— I`ê+zѦþv†7«^ÎVåœUìÏŸ<ÒÔÈÄjúú£.ßž»Ä§ýƒ²ýjÔ½[‚ ™‰™íâ_ÀY@ ž§.ãÂíRòš,÷º3jì0+b}‡W,<|ÿìP•þ")^#Ü©(Ü•sÄ:( ‡Š ë ›JÅ zzuš,ç$rû¼†s»T{ñ‡6ðPû‘2sóˆ|ùC¥$2‹4m[0(,®¥$0<Û_|¤`ºŸ®V½h/tzŠ {8ë@ ÒÓ Õ)gTéͱkÝ¬Ó 5 vh_R³iú ç[©K‹à0ôòìܪÖ_¾Ê9B ƪ˜¼G™Õì2!5{/¥‚Ëdz»¼Ú_Š«øC‡×ñÁ.Ä’O]OyæTòŸ ª;U/Z%ƒ8ŽC×@ ä¿„—Pfų³ ÆsÇ*´ºv<Õ0¸ƒ¨­ˆÍyñPjþÝaÙ@'”spÈø“‰Ñ^«=z[ô¥èí“‘‰ü÷2aÕ4‰Ä žÁ÷^|.)ÈH¸´ý‡¦N©ôðl*¼¯#¢ë4EúÅþSšÎvZDƒnV½h‘ â8 ü@šëèã¤ÀjìýÀ6ˆ¿§ºúž¥}Ï¢?^B ¼ßãO'£æ¡Ö²lS½<F¸‚#Ùí x±ÂwÔ`_‰~ Ãf{Œ{y¼”sØ—€cûY\Þ/¹9xÕä} €(k8s«Ey°R#·_="³-ØoƱjDHú#g®‘Äbk;Véá-þÀhUùà£ö#¤9}¦Ú±}ý\Æ+üaNl÷«^°$ƒ8¸þ)íãúæÿÿIKK366îéR@øÛH þžêê{–ö%‹nÞ¼ù‡ÆõïjzG|ún‡úï&›ù…âÎ9´ÛgÐ9úL½uÒ&“ Øâúÿa&@ ÈßJ««ü‘w#øN£ÕþQ2}m$×]@×@ Ò롾X7bþC†ÊäÝÁ#ûu°"  èúC @z=b–GÞæ÷t!þxà×éZ¨¯· æ›R×õ91¾^u6šz¶¸ÓRï}Ú‡ýÕFÿóWÚ@ ºþn ?ïL!ýBQßvÉá—?Û)ÂA:­ÿµ×}œ‘‰D"‘(ÃVŠ+iDÛÖ°‚ÎH×Ý¿´†Rc”? uµP'‘HІö®l ÀŒÖ¾»¸ÁÁD•D"‘ÔMv¥Qù¤§¦‡ºŽ6"“H$IÕÈnõ©×U\0s´5‰DÒ[—RõÍÎá ƒ½’ZÎA«žz)˜¼®k'µT´/÷¶Í·®«@"‘¬ü Gÿž´o¡•–‰DR6{O\)ËU㑾}ñH$Ëð|úóÎ9•yñm¶«ó²…?]]ÛŒ¯ww\w[b$ƯZÌ0~<=àn£§@"‘Hä¡3ün~l@ÀÉM\=æÓþ°ÔnfüFÓ);ïëãoÍ‘ÇÑ /l¼¨²éže/ZöܘX¥çºk•‰Šð÷§G}÷8Ïz½¼%z!ýËõõ; «‚§lç`&Wweý–VérC  âââ©©©¡¡¡ÕÕÕÕÕÕ(äï ºmþͬ¸=™¤<7®å(õåÄòP~Š¢(£2-Âc´6 A•!ŽÛî—4¡(ŠRS} ”¦?¨j>£&~¾†îªuhSÞ> EËmG}§©"$‹]w-Gî>»ÓÙœ¢ˆÈQl½n|jBQ”Y—saõxA­ þùÐØ]uñß‘ššÚæï¦‚ãcåH£¼«os´ò{-ƒ£†ßî‚è¬yIEQ´)7Ø1ð~U‡¢(ŠÒŠO“×X”P2+¹SÔf\þBo›+¯ômiÌÚ9„dº#«³ÐœmÍþ¯ê›LäŒ}ŸWV½Øl*oâû¢šÙ. RµPŸ¶qiä¡M¬?iGG!Z+’k›ÿ,:a#§ïB啞gñ¸çcK íÚ¨«k»éC¸¥â¨£4~Õ"pvõé[“,Bß7Ÿ_3KQaf ëî«{±ZOcîÃJÞ•Ðy8«ëÿ¡£®ÂŽ ÝEQÖ£ÆæD EQúø-V*ú #óš Ž—WþîWjfí›@+’’Ã…’_­ò_ZúÀÙ1بK^nhµ/¯ E2¶™ñM«Gé_®¸˜Îsl$-j¶"iÊ]V'­{¹FWÕùŸÛöÆ ÉÉÉ/_¾LMM}óæMffæ»wïÞ¿ŸŸŸ_TTôåË—?~üøñ£¼…öï¸>éáôŽVþóè3õÖICXý?44455U\\ü/š…ü.LjQâ'?eÍLŒÒÛËgú½ÔÚxëéóGGjO.˜šÕÀÿ ´÷ǯ ­ŠÊýRëAÆZî‰+Ä·³Š Ÿn#ÝõòŽ*cÒ‹"—ûfíZ…G©x2i€(Jl®,AŒÈ,{ùï7þ²‘]G—×6Zóöq¡„á`Yþ_XÍNHuŒ5Rrïú«ï4”Q“s÷BºÐ°)º¬T"êÃÕÒã?vpWv;vvë6ôï±›&Ï¿£uÔY[|ÿÜkñÉ›æêüšHƈ Z´a4æù™GßzÙ²~å ‘Òø'E Ôü„'òƒH¸òÇÁ?장؋?ߣ´úF¦Ð€"X œ_Üà±ÏMƒCŽ­›O!‘H z¶‹Ã“ÀýH]/ÐÆgM‰D’W7›)½ò¸ß1è_¢?ÆÏØ·Ûu¨†šþ„õá>:ùgþIç\±Ë¤Ý–5ÖrD,^TŒ€` ƒß2sFXÝnÑHBzl^=£ª¸§jim¤&GRÒ6·w«Ô{¾Äÿ.´¯o¿Ò 5q£˜–V ›¹ž‘^s>b†zõ—Ÿ¨¤|¿ûqý¥@åç*Z]ÉÇ*Zú¾j&‡Üо²Õ¢ø ‹ãþw¼Ò³^ž5g+“H šæó®(n¹`ÞÞwg/ ‰D"‘†‡æµzT)sï6•I‰ÓC6˜K¶?åQ*^uB·%÷ýzHdfm,yvð5•%ü^·)‰¤µü9Ÿ•Àê¿ÕiƒúãPÓ3u>c€úÚøomÐv}y>{ÑvÃŽûù  ëá NRIƒB‘héRˆ/îL?xã“ÃB¸ú À°FQ&Û»GÀ±ÿƒm› @DoõÌ OîÇÄÅ? œ2çR\à¨~öW)‚œž¸’YP‹êIs}ã¤T´uõ$€žÞ jšÅ–-w/Î$á%åûcª¿TÒFeIè§ E‘‘e:ÊÍc"!yyp²°呾ÙñWÔÒUÀÀhxÆ`·CO·\}01©Ž À Tiž}ÃõS×4H‚³€Œ¯·|6'ël½½äÍ<•‡&?X§'aÕætl#÷RÑàñÞÆJ.=âVóí[ a ‚‰›3輬¦ ÿIq.ÅãÏ„‡-ÜéêÚ¶™ :@ C­¬ç[‰ ¬€Ùá*â\*·>µw‘@‡’m{øbžóF]"ŒúÊF¼T¿^æÖò²‘wWisvçº Žd1ZäQÒ•ØOãç²6x «[>÷ áó*-Õ_É?>Lø.a4B¹ƒMཕ¦¼|nëm‹6¬8.<úÈà~’X‡IRó>6Œ7é;dQê»ãó§5x\½â¡/ŠPsb_ÿxñÚ\É·5‘»É(øõ½9r¸_'ŠjZ¨b.|,ï\¿€@ ‚óg»Vn€úŸT&QÁX ý˜]Ë:N+}õꇔ®†+*- ê~RY.½òãç:þÞN;ðRZÖÎ+"î<>:üÇíÈ̃2övð$›YƒèI"ß·YÔ@«*㬼¢ƒ—½pÒþÈ|ÀHêZª6e>Îe-¢¢OI,7ªH¥XkcËß—4Ï_6}}[ ¨Jy¥ç( ƒFc¢L&ŠSРP( ESEš¯wÈøvÏwS¢ú†nC'm÷õÀêãï›8OçQªŽ–k$EyiÂ÷ØSÉ4Ý)Ãep¤ï*ºº¶AFWC¨,»£Õ7fG 76Ðæ×óƒhS= ôŸùEMòFнÃüÅovv:ì6Xé~×Nؽ÷ºâz 0ÒÖ>”w¡þw¾´. §\Ü|´Ä`¥—…äÿkT@/¾´ñ¬¬Ïfki,“ÁlžIÁ`1Lº€ÏÜ®¥fŸ˜ï°£b^䥵¦’ÍÝTÜê`B\ ww›aÁÖÛ Gì9Z‘š—\ˆT¨_@~zÉ)[eËðü^·P ÒÅ@×ÂFuñ‡÷ïßçf¿I8·Ý÷f•¬õ5!¼Üøe£iWÖnºð*ÿÓÛÁ+öf“繊¢’¥¹Ô»Ó׳©(JÍ¿±3, `Ò±!+" üæóœâÒÒ‚Ôèè\:¢²!µwBPq ñœ³ÃnÆÆ“^f¾Ë|õøbࢱwerîÀÄH™{ÌQÊ?‘Z êŽUç¼n¾ùð.þèºoæx˜IœœÝj;BÌß³/Þç§ßݳöøgŠ‹³Ž0¯ôÔ×üB.D?Myú<欿Ûڜ՜¡ŽÈ(‹ÞäýHiÝ7 "À!“vî´* \u’ó-Á«T0ª ²222óÊQꗜ̌ÌìÏuLhŸn…½ÿêßç÷­q\óqÛé¢F<Ó£òãÛŒV2s¾40ÛÏ*¨|Óf—×¶¸Þ}fÖ“Âߟ»™f‡`6Ù á¯ßÙäÜÂü×wƒ¼ÉŒž@ uÙñŸ¤‡[)÷6߉gWiÌÚ?ÛÞãJ Á»M;ð²ãöÜ ³x¹jªÏƒot@¯.™è·Lå±§½çÙ·µ(³êõ1·É^®Ýdƒk7ïAøôބߢ¶„3—m·'á€ÊÚøèܺúü˜˜rÊHµÞð£)ÿŒÛd¿×FÞ›'Šeed4[…“PÖÖmA[E‡SÒÖV•ÂS_ïÛ°÷lÔ“”´Wq—w.œwú»þü9º}uÊ¿#NÑ>Â#ÿ7XQ±3&è´±Û tNv¦ïÑÕªü%ƒZÁ=ÿN:ÜaCÍÔÁçbv-+²#£25b©‚ ˆ²éŒmQÅÍqèèe ;§*Ê)iŽ]áHþܳ9âŠrþIMõ¤ê[Õ˜wÊsâM‚ ˆ²ÑdïËï©íÂHö~¸…ÙbÖåÝÞ¹Àv‚ ¢1tʪC Ÿ¹„¡¤ž+§:ûNEéeIÁ.ÃT‘ÓŸè}5¿%8(£:㤧­6‚ ˆÚP§¿´V=—ô 9Ç=&Ñ@AHóé>ç2ªí Í= &ãǃ¥Úò#ƒ²~Å%¥•D:ª)O>YÀwG©*ïNAÚ@ñL®EѦ ‹Fh"‚ Z£†Æ—¶\Ž{zήˆ ¢³æe·ãö7>Ü4¸'¯Úûïj›ñíúLM‹½ÙüÌ4;mú³söp ºeì¼Î¿­a¢(Š2+»éoJkøòwùCàq·±îù b±/¯ Eï6¿hóliÈ?窭8Â/>'r|ë¥oI¯¯{±J»õ€CTkÔödzc´…QñxÅбûsZ‚7][9RSQ‘láqñc›ˆÈ=eóÇu;Î[Ó<8·mƒU?þܳáÝ¡ùÖƒTAÅAc—†?+ãŒVÚ‡‚{Ö½\£«81ây:‹ŒwŵleÚçË.ÆV3†"­‘OiÅç¦*Ëð¹žö>ëñAG ÄÌ?­î× =×oMM\Þ'¦.ãThĵ‡ÏRR_Æ]Ú>EÑp‹©è¾·~Õ[Í“5“]6ºöøEʳ;û\õdtXÞ¯›£}àßaÚ¬¸=™¤àp&-77'óeÔ9:ˆÂ”È/Á=¡ëÿ—Ò+Ÿ‰<=î=@:¤'Ú¨æù:c“ )u§üÿa”^›¥7î(·¸ð¿ÃßÓ¥ûž¥}É¢>æúó1à"zБH»VnÈ9á9ÉLAD^oÌòSÍSÜ”shÅ'G+ûÀzZ0ë?ÞöŸeNf ÁƯ¿û…sơҔÓTÿñö–fj‚ +·ðt^yñ…»ì —ëÐ #l¶¦·ÌÏ0>\ ©1?æ'³)oŸ…â¨àkû\‡ª ˆ¢‰KXjeeúñÅ#5Ñ›¼3©¼žHï¸;þÕ ®®{É ×@ºñ!^ÛÇ×½Èï îãÇ›t·].ª½mµi†‡ˆ7уΉ´…Ù„ÕrÙs=ùߟ\÷ÕOó›»#¥€Ž•s˜?ã½'/¾¦‡=|þïóûûè‹r ¦À¦Ò³DúéÆi«Ÿ’×^|’òòÑA»òý³—^ÿÊT¥‡—ì ·ëàí•ߌÌb=L™ON%bÇÌÆZÈJË>¶/oTPTÂí€Ái;\çÎóN1ò¿‘xï€MÑÁÁé½oû`«^°IqüFø@ ®Gš´ã`÷ä$;n{ظnÉ ^ÆÒ3`„î ±º±GýwÌpF¢VPˆÍ¢· ŸZS³”=4¹ ‰ðØ 'b°`…ë§âlÿ€‡Qëîæù›éüRÎÁ9’’6ëê¿Nc”Fßh´?}t­m? @QÍ€‡Í*=àj‡Þ^½}–6 ´*xÅíѧÊìõ¸åŚdzõ\âšý¬nsÊÎ0¸–ãf¾Ù÷ܛͦâ̲¸SÉ¢“.›J@I›»ZJ ¹ÖõˆM„dÈé%Öý1@{Íâ#7/>ÿB3&÷¦9‘Õ‹›ìª€w‡ása–¸ ë·ð5ç#fÈúöpÖ@ ¤ ªMõ\4Íz¨‰™Í¬M§ÎÌ—É»¡Yô`ÿ<õÿ×7eüxzÀ}´¾‰D"‘(³Týü\EBšŽ®ºoÖ bç¶!øBbAç„~cqJJg(Åî}WÝŸ®Ð¼_Ô"0›õ¥á—JOcÑ‹õ¡£”›“( ß•×ð³¤Ç-/n—b ¡ÄÞ¿rÈË8k«Ó†Çm6úr/3v •Û(zÌ™”jÀøúðô¿ý\ ÅšÏ («±>à$å$ òƒÉ,=M¼¤œ$†ZNíMûˆ[U/ΰ«^péÜ; ßkcðÃöÜ{s=l‰!ú&.½¼]ü 8ë@ ÒÝ´ŠP‹¹‹¤á'$Òfyôêy¡å‹OÆ_±P“ix±Üĵ€»rŽxÅãPqadSéa¢8ãƒi÷ÎIäöyäv).B(“Ù4px¨ýô¶p,ná™çeªEg2äƒØ‚Aaq-%Á€ÁàÙþâ#ÓýtµêE{É Æ‹±'€³þ@ ÝM«ˆ/ÑÙþiö9åm“á’E6DpzùÛìÊÖU=|•s„”†¨aÞǤW±{ÈüE`„”ÌÔAö­å\&ÓÛåÕžL«JG× “ùöbO#Î:«:{¦æŸ¼;U/Z%ƒ8ÿßV@ @:‚úzßö‡,-tä„jòbùŸþ®¿qŽ®0ލ¬­Û’¦¦T‡Á*ik«J æèaqpƒWÀЃnZ?lßùFaÎn3žbåx]eì•ûÏJ'Ù“hyWüCߌ2 !+"(AÆÖÖT­½86:—Ž,l«œƒ#Mòš¶Çe¹Çþ¾Sõ%jò^½fZ:ÛÈññ1q$»õŽAÎkÜw¡[œMeÁ÷O£âÑ™[œšNóÏ‹UvÇ ´J!‰Ð¿¿}pdGÎ*|h? hÌÚ¿`c®Ã‘0Ç9¼Ê,¢?gº´m`Ðß>åO‹hЬza¼9b¢XQVF9ІŒÀ£Ãt6;–dИ“,b? ]H3uuüd" Vcï¶‘@ü=ÕÕ÷,í{ýñà„…¾Å„xîûÖ1´ó»°D‹ß¼5^ivÄù﫽׎?U•1q ¿äc$Êûòr¡Ï¯3Ó\'Ù_qø¼•“ž‡0Xaâ·èÝóvU£@H~¨ÓþSšÀ¾Ûß&ðö)ï]KÆìmDÄÈy§eúØ~Ö{ï’õÝå3)¼ ¹AÖÎ>RXl ·¼8 **Vw`ePQ )õáÓ‚ïøN“ÃÐXû15%ìåQfBZ³f“Ã÷ö›o§ô‡9±hMúõøw8'¶S_Ÿ”èEá1„¸Ãp"¤3w©áŽƒqqñÄÄÄÄÄDwww€„ÏÑ$¤/QSSÃq‹…«¿þ_rssµ´´zº~À6ˆ¿§ºúž¥}É¢‡JKK‰D‡Çãq-°~<O$L³¿J pñ¥úž‡“––fllÜÓ¥èv¨/× s*ØòâêŒvû :GŸ©·NÂrùNœ8aeeeeeõ‡ ˜ @ #(­ögÙû+»o4Ž>:ZNXþÐõ‡@ ôzêž­0vŠf¨M ³îßÁŠ$/ ë@ éõˆ:UXÚÓ…øã_K ¤k¡¦ï¶µöO£v}NŒÒ› †;G–tZê½AûxÈVÛîì_i;tèúC¸VÞŸEþ…–™ýÊãÿV¶S„ƒt Z_³ÏÓa¸>™L&“[;yG$~nDÛÖ0ÅdÜ¢Ç_i-'1*ž‡-m@&“µÌgn¹]Ø*݇Öå\Ýâd©G&“É–NÁo¨|ÒS3ÃÙ 7 “Éd²Þð™>çÓ«¹`æhk2™'bîÔÀ\=¯M&Ê¢¥oŸ\;ftg·fk ‹6U}L<º)xÙåÄ 3I8@ÿ|u¹[ØÁ7"4+c÷¬\»@D5j£¡( }Š\<3 lœWÐJybMɇ ,¼Óc¥ gx;ë(Iãkóöß:·V.1|t¿öMˆÁ›n9ïg,Âúƒ8@M¬Á²À÷gyOŽÞ6LÔ¤„¬¿Lœiù QŽó¹—ª© öiµŽ³ÿ2#%á²çÿø‡.pн±DÀÛ:*†4Ìy­Mr`ðg>Å#*§€¼|n¶ð£Ëk›öéæñ õ…! ¬§-/3ËN¸,z{H®í¶³û,‘ú¬K~^«Ý%µî¯¢E œ&áæD<ó2Ã¥¥{6²!x·éM…=§m~&7eé<PšuÒwÊõøë¡ ½'(8ïþß’àÓ¥MÇê—ÝÏp wž±ù¶í%'9­èÊÖkJÞW-¤zOcólDÖ¿é_ooü4H μ+vï4›²rá‘~„¸žËr½æ¢ 6)ˆ¶¿›öµit?.¾0®ŸªŽ¾~[YwŒ˜ÑŠ ×hçõûì£Öb¬¿ˆu‰\i$Æáa ÕÜKÌw_6oId¤O3_ýªÜ]}ÏÒ*OÛà@Czq†ÓõáR<”ç´ 7[xÓåµ-yt«PiÖ°,UFw3yU#¯ìL¿¥¿oT›½rÖ02ÏUWÏ,K-n"RcNp»–V3ÆF²“•Ð=ðì*lˆ Üm¸çŨx²Çeé5ÿËû°—Ön}¢êsûÂb-Ö€ÐfÜ”ÑÓ§n\givÎQ¾—¼yt 6hßsÊe-†BL3³þgr¿Ó€lÙ½í'ˆK#Çph~ö,¼‘„Њ¯m©žØ-yÖsvѼ¤ ·íïÒ'…ú¤QÝ@Ÿ©·ß0ä/š…ü.LjñÓÛÉ•2¦F²ߢ¼\þÕôºwwŸ]Ý9yáï:øöNûpú¦Ð²kiy9wÜÕp€–wúaéåWÙoc7!÷}ýb~0éÅW½¶$¨¬½÷,9ñîÑ56ò„Þ3‰õ»Ð¿%^ËÄ ÷t¢´™Â"Hmsã1¨ÅO¯G4Mˆ 59ÉED½Qš¬ M¼ŒÉ…º¬”ÏMõ9÷žÕ“¿ïŸ5Ü@[wÈøÅûJi|Ò³çPû)éúÃRÄÒJIáFÜdu 3óüªåËWc8­5o×*Ü÷Î%sLë£õ‰K“ÉdÊûÇ^–ÃýH]/ÐÆG Éd2YÓ`ÔÒ«ý=Â}ŒE =ž€wسÍÙT]Ewìª5ZÎfu°2Sbü†å#ID,^T”€`€ý†Ef aÕ ó‡ã3ãòÕ%?qÊ# UHˆ"ÅlŒъ½çKüïBû–] }ΉòZj˜b0jQdÿå'ÂH8è5_+Q ¹~-osœ”¼$¨üRM§~.¬¦e†Ÿ­ù{gÓðóf«¦Öi_¦}‘QZD(»(%»B"»Š‰¢…(Ù³E~Ö¥ìû–ˆ…Ò:-³¼ßSÍŒB‹¼ï§?f^÷½³Ü;3çÝwî=#B’úö¿}ö´Ø—u\Û@ÕÕYÚTª†Áà¹Ér>ûýL[ÇîìšP©T*Õ6:ï{@†ˆ˜.°.¿q½nlÈ2SáÖ'£\´boÃ*¿µ5쎤Ó|s„·¶\h¦•j¸ì.ñÆÕŽt¸·éŸ_3{+‹óÎÜÜÈU"lxÀ[ê°ë-5 û€B‡ØhÇÆ!SäùKs‹»êvŠ m*ìüâ°¡_ôsZ˜a~<|œ€^òòÈõUhj"ŠzÒðéU ïáÑ­ (8†.‘ŽŸÔßlÆyMßÐä‡Q¡¯F Ïp¶04èt‘÷TWÀÞ‰õù‡–Ç0çnœ¢Òüã@0Ÿã¿y×Ñã‰q¡N½o†M™¹'·›^ ŒžD7ž,ÀèbšrýQFuÑ£¤µs–«ž‹/Züä=B­ÕB¥ŒMÄ+žæU0uy\Š(£¯À–eB”T—jœ|Æ Šñ׿§±øú88kö±¶N2ØÂzظÑ•Z¦”÷<B¿ „5FIJ—§7¬>”ñ¬t¾¹aEQ~›5ëgZ÷B@Ï7ì啱‰I9³§ñ’Aî|ú\Yõ×ÜŒ½!ëg*Ÿ 5º;Õdþm&€òÂó)‹5 y~cŸä²üÔ:ÒÛj‰›ÚËèóE߃Iú»ãk÷~Ôõðê/Ü1¦v0Œ÷Ç$—¬´êc1ÑÆ™‡°˜Ýd‡OŽ(hžr®‰¤ cèúK‰!Ñ|‰rMÞíT\©å¸ÀèÖ¶3¿Û%Šat0XèÁfÅû¼ÜÜÜ×9O¯%lXs¦BÒj°2bë>ˆžìtìA~Á‹Ô­Ë7稸NÓ#IÞ¼¿ÈË#§rh(JË?¾#mǤcmö¾;ÏÜ}õþÓ§w/]zÍÒúû“ý‰ N!Kú¼ ›8%ðPêýç/Ÿ?¸šµ`¬CD«ÛDÄÔÍY>ÿоÇÕ@Tvpë_qÔwã™§o^fî]þTÖÙÍXðûùv„Ëkâïåæ?KÙä»ÿ£Ú$GM~níiObƒ·»tëá“Gw/LJÌ÷¹†·p6ió€Ì/©A~éò^aÓTI€—hñ.jå¡–¿Ü´ªÏ÷t ~b°xå0ravVVVÖó¼/u(W똕ﲳ²²ó¾Ô¡5E9ϳžç|¿{d–½}‘õ篊ÿÑüxö»Êö/Úìpo jÕA³o¾kºýãlf;ÅáÄLFèÖ¦Çßy]ÿ$e‹\¡Ä aªü€Òr2 z›Yv»Õ2Ül„ºìm³'`´Ø´#i”ÑÿþÊÉ©% `T– óvW¼ºÔiiü‹j”Uñ$ÎÓ)à©Þ‚ÖøV7á]ñߢaÉÅõ»Xî«í¥ñÀ§h¦Y•™úšV“ùr©Ú@¥îðƒK'â…4´šÐPÆ#dy EíILÀæø‹7>~q"ÜcΑÏ:®ÎZÝíÎõÁ¹"p-ÒEpdÕ!ã†i ue زÈCO§£«^ð.ÔvcÁ ”q×ßaxÃk²¼©ËÆ­>&‚ =2òà׿N¶åÀ'o>-vÿ~ -œµpåxƒÍ|’šösæX¤ok»0?©$5rNxa% |2&7îp£v·Èå@ȺóW‰Øëu¸¤@H±ŸÝä5‹ È­¶¥çÓt™­¿'lGæRc{y§è=Ÿ½ý|Ç®ÁIºDî_b@œØÐÃA¾›œ‡YÑÊmW¨‡pn_G,ÍܾbKa"¢<`Ìúc+ÆPÚ¸ «4}ÝêTiS³4‚ £ñ!Võ´òQò#û½ÚÝ#ïƒn.¥U¿}ô0˸´ªÝÆDÙÑa Õ ',œ"¸g›æ&;Ÿ'pn[ò‡%µñÛ®|ø5cT”i죄áÝd Tn£E3VÙõðˆ"§]Ž Ë:z ò÷Ou›j´›%o°×V¼ÌæñèDÎ'àùù>_Ž^SR @”Ò·ó>â?KýoßÙ™,n9pÜ+WtXÑ\oóÅ¡æ¿jÉŸ¨ÒñÈC¦3ª^p(?AªY !!¡ŒŒŒŒŒ 777þ;€b´“ÊÊÊGp¸nð£ñ—“““£©©ÙÕZ`ð¢+ú¨úžŸÝ2ü– AFmª@õ[°JN͵ß*)q–ÒŸ¸wþw†tϳ´'YtéÒ%111‰„Çã ¾‰†×D"‘@ H$@šÖœ‰>]ÿ3W›µ~ȸt—‹) ¨D¨¸2Ãt>kÛýƒVŸ¶Ú ˜”¶Öˆ ÀøpÄÑ&L>îF´î¯õôOá·ãq|ÈÕª—ë^\µjßå‡U€×³($h²® +çà>o{pÔùssUˆhí»”Í‘ ×ÞVQÊÀ106ÐŽÒlz˜þ¦Y•¯””¹¤ÔH¿ð£7 h ¢aç¼~¶I/|›«ôÐ º9'[Åξ9ɳ:êáQ»æ·á®ã‚w¶gÀñË«ôøÐò4Oë%hdf¬Õ×XûçÆl™{¥€)g³dë&ÂI¿å›Î½®7ñˆÚ±Ä¼÷™¯îñé@ËSÝÌæ} ¸q¹±êEk‡ÐÚ7вóÎ&Ë{ÅÝÝi%õ/#‡L0K¼»ÞöìÙcmmmmmÝÕ ŒŽ ÑB?[Ú½ü?öœž;̯OŸIL œ¤Øž™a`ô<¸TäàY¹¢]EXõ8u§ #W23/Y®ó8xÎÆ‡4€ŸWÎa•eú;-L‚±§Ò2ÓNlœ¢-Àq3¶*=³{ßZ3Ùû–Ê‚}—2Òτۗn›¹èT1³­Uz¸yh„ÓurvSú”žIÌnø2e}»yøn°«iC"+='.&Ïrýñ”cþúÃÜÝçø?0X!)Ìúýöå[žÕðt\WÐÁU/ØJµø–ðƒÑ±à¥‡„wŽ$I[¿ÛN…Ñn*rÌŸä:`^sVÜG9ã]Q*¬Æ¡rAÂ|Ž¿™–ž‚`õ›´½!aSf¢)Çç©qMˆÐ2¯q«m9§UþiVŸÏ]e¬ù£r(ÒòÀC2?]ØzºÎ~Ç–…6¢È)qÛ¯»±J¾êjôY¾ÙÉ~4H ï2ïì¨#×¾Øks’Õ’Æ"G§¨ë 8¶`rÔYjðtÓà5GŸyõd}É8t‡lwÀH6¶šj. @]è²gä>‘³¬z! ±`æž3Iw‹é}UºÓœHSÕ‹öª­ÒÞMÅm^ó-Ø=ŽÐláúc```````t<\*r8q=¡½E˜_oí X¿ÿÊ‹¯k;†W0ú“Ê9u¾EÕ§ê‹°mQÅe±*°Wé©{ïMÍ»‡öÚÑl§(},Çâ «Å¥<‰ÜŠ<ü€³Î8q‹i–ŒåGTöXyåÈ£^£|ôš)‰²}•Ö8á…)ÂDоjC=M‚0E©)íF‹ú;¶ê‡’AbÍS|°Ð£ÃA¹Tä˜8³M•+~Zô€Ušê='¦tVìùƒý•z ÔÝ[fáFC8WÎü‰¶-ª¸4d«ÒÃBñ}ï'9HµLo-k`óKÕ¤µ¡È—j?¢¦S‡à=âï|QzŸEqXǶߤ € ¶w]õ¢uÉ ýc%Ù`¹þÊ¥"Ú¶Ê?-z@ÿøà]oÖ kU1<Âøú"§üûŽÇ<+çðÉ)#¯/?«`yá“3Vœ³÷J9L¦·’ÕâRm,òÀYg¡¾®ö‚7÷%:üZÑq<õoÛ ª3«^|/Ôòøo[ñ*rl Ž˜c!E{~|]\¡Ä¸aªüD>·þ;}7ö Ÿ®^–º!ü©¬óc! =‰Ù&6°¿–4_e^Z\È‘Ï:Ëx= HhÉã’/Þþ4Ü^šž—ý¨ÍÞ·åš„¡’(óCÚ¥× ©©Í+çà¥íŽÙ4{ÙâmaËÇèWæÝÂ2w´¦ðÈÇKÛ/rØ2ÓÇ3õq4”„¯¹7/fÂxŸ õGx˼‚†VÓ›ªOÂx'¯¡¡(P—½Í#ðõ¨¨ñWÜtÐq+6:jèøúÛv4h¬zÑweô0ravV!"@QS•àæv€–4” sÀ“ý0úc4"(ø³‡msc÷ë£vñ︫çYÚó,úë!r­ÈÁ¥`HûŠà)£6ß^¸jPßU½äLö~g+ Ü*ç°—@Äõ²>%â±hÌæZ I8šÿ¤þ#NÔjmÒvÉ ÿ‰;+(zVŽKDp¸ªß©ÒÃü^åƒGµ>õ Ž*;7÷rµ“ûË‚ØÎ¯zÑP2¨ÅAl_ÿ”Öûúc]ÿû<|øÐÈȨ«µÀàÖGíâßqWϳ´'Ytòäɲ¯ÿŸ¦{ìOßéÐî¯<ã­OÚ¡q­Ö´ã·6Âb±€m_ÿ¿ì† ã_¥W—}yqºÎ:jdO»“ë,°Ð£ÛC»½ÜbÆ%¦Ò˜Ð«^?ÉHÂàúc````````t{-·?Ïëj%þz°§% íQÐÀ«îUw¼$fQ’‹áøƒ…m.õÞƒ çF T²÷Ÿ´£Í`¡?'Ðo§ÇR~ ¯g;7öÎ7æÏOÄh ZóæÜF·á†* …BÑ0nѶ´÷uhsËi[M ½ô‘ÞtóëõMSÍU)мÁhŸo¾oÀŒVe'øŒ3V¦P(Uãq!i<ÚÓžlš:ÄJ¡P(eÃQ‹÷=*ç°s‹¾¦P(ºËïÕЯ(×wYfÓ9hùõ•†rfÁª[•Fá¨ÕϤ3‹NÎP§P(ãΖýãÙ £êÈQ(ëØü&_´VB±ŒÉ££ßN•QšžÞl¹:7[xÓÑÞfYwThö\CAîf¶[0¿\ßâ6XWŽB¡P¨ý'úŸ|S‹àeF,ú.*úA'Üfü \lüA{‡Ma|½d­û8›FÆfƒ<Ö'>-ëf_g<FhåãmSúQÕÌÝâ^Ô4~ë^l:`ñÕ²îS±ˆ^”ºÉs¬™¦ …B‘Ó±™™^ÜÜœ–H»»T‡ýS«>ïF7¿=,áƒÁlã™Yuß^_ŒX²vª¯Î½íƒD+¹ŽE§‘øÝpÖdos²[÷BºÏ¶ S%ÁÚ¢gWîö4NݤùÝÃäú²¼´èå!³æ+ß;á"ƒÆûw×ÈÏ.Ñ)4¿]X;×ÓE@5=Ð ôüÓGù—ŒôݺÌTžTQðºBÀ½=NÌÈÙoš®’8¡òõÅ-«|ªäîîÖ»u"„þëŽ÷k(‡Ž$¨|8ƒE[朳(ÄáꆢPq{ƒ×’û©%}[œÏE+ÞÒO¬X÷¶¯2|ßà êiˆìÀ©>î­ yÏC=„,«@n±'[xÑáÞ¦ç'Å>¢Î‘'ð4³}âøKÎ,œúÂ.41v¥æéá• <¦Šj§/×" ö:?qÛ5_S;=ݵp*ì´wØ´ú7‡fX‘);ÁËÍÏ@ ŠÞ¹lرË1ç·M”ï>›‚sÿÐó/©Yœž7±~߸Q+OØý7EO{Ä7AiõYËn”ö\——’Q®;5d‘±Éõ«6¸LỞ² i÷BŽˆƒ“Bû“^‹© tÞÿ XèÁ¼ˆ‚š††0h©­Hs?û+c(Xåöú®Øt2ëʯh=+h“¯½júô—žu|¸@ÕÕ™†ž¢‡ïE}Œd“<ÜÏòáÎøÛE²‹v;ëqvtÈð§Û\{SIÖŸ¼aoèxE"JËIX½xCÒ£z©[¹Ǭ¿®J_Kèo, ¹¯±*í„—vC ]}S[ǹŸëù¡Ø<¬©áûäpê¡{…õ.2ô7ÇboŠN9à`HP‰ô;×Ýö{KwY±2CBGÞˆr’ÁõoÂ¥½µ°þŒ%úªõ•Ê;c{òÞÇúa½9ÄÂø^ªº}ú4ßÞ2^ºuÖ™ñ^aãÓ¼‘¯ƒ¸ÉËŒ…ZDh9g­€ÌC:½àè’Ð ÷¸yׯ\o á‰ÊN!µ "‘–¡õP®Ó‚œláN‡{Wpñø%WsI¿ucÿüÚèÆß] ZwÑEÒø†d°(É¿Ÿ ãcJìÂÄ£¡Sû‹  ¶"Æ;Õ6û2Ù)ÁÇL¤õÉ(­Vèðgéõyq^›™ þ›I%Ö¾k›#›© :ñäØmjÌn Gííú’œ"¦Ø Þ‰%ÜÜÈU¢mrÌÖØ }¢ðÚsãO¸4F€YFAàë«¢:èV¡?ï¡ÂÎo úÇs+¼]ï¿õ\äY"@õ§ìbŸ¦Ô<ƒ!+õ‘#/?Ñᯠý Š.›VÞ[0V?§l¸c ù^PÐËñۼ߄ŒsŒªO\·{ÍH®wR]«ìz些R®'-Dyt"AÒÒ3ØB§’`unêŽ5ë&º WÏ-Ô舧¾,Vwã~ÚêzŒß~É,ôÇàFS®?ʨþø ~Íêé ÕÒâ{}|Tˆ¨ÍÓi !‰SS‰òǹåL^¡?QÖ@‘-!JiR¿ÕñBâüu4Ÿ¡ÓT}Kúõ;2|Ø ÁöÆY©´L)ïy „¡'Cú‘¾e'¯]—öäëbkIîŸHEQ~ÛÐð9ƒ{#Ð'pKöÅañ /æÍâ%C°XjÚ·ê/¯®ìXèì£ze“ÉmGY7˜ªKÓ¯®Ô‚æùñYF里¢Ë‡nÖÔ>¸]PkÓKÊÏO`?}¹8g­÷åç$ݪt÷‚hüâ3ÓU‰µœ4æè(ö\„(®*P߆ÆÍmiÊÛCé´: ñxæv‹c}K÷s]ûjPp¼‡…-+)ÈÛm®jjüte"àˆü´¶†Žt£7† ;¿1lèÙ›æâ†íLÛ4F¦¡çqD"оÑZü4²jJi@ü«."‚º³v¦7‰š§!n׬CŽ•†ØŸ×ß}ç )vÄ´UWÌãºÑ ´:kÇŒ™‰ò«Oû™ #@ÏåÖ‰$•ñžî /Mû«Tš‰;üÂ}­Aܹ²z@¬×ÚêzŒß~É,ôÇàÊ\M ÒíÓ¶&¿7 €c< €°FQöш'âÙÿ‰àš7tŸ~fíüÅ´ôKa“""§M Ôëï^L”Ñ•ÄgùU¨®ÇŸc¼¨’–Ž®0èêî¡=48í”àH!ˆÈöF*>–јeïË¡—œ(I@RŠ>k+6ÞñÉêËBÜÛR”KûÆÀGH^SG@ß°ÐÓ¾³·]H²5#³šŸ„Rã!—üxfÑÞ~7µOÍ}<ÝÃkÛ˜ Ëu…­›Ž«ã¬€Ÿ“tc\ê£/·™)¬ú.ÄM“bñèìœrýÛÓ˜;ííÁödqA„VVÃao%6pí‡/Mßrô«Í¾îƒE@[#òuŠmlÂk_³¦¬Ž Ú«›…µÜll*ÍZþú°ÁṠ\ÎLL}g7­a7¿ªM_þC®~X¤©ücF¼îÍ¥«%†Š?YÞ]©½×û”nPŠAé–'üC¶÷í%‚7RtúÕ7µvÆÝc…,JËÞ=Ã!¼Ö#)ÑCŒíe›:‘¬n®Œyóµõ¸øôŒhÂv2=Æo¿dÈßZat(@Í7‹$g¤€æf¼¨j8N/¾{÷‹¨Žš(G#Cõ7ZCˆÃ({ó¡šw´Ó ‚¨¦‹Wð®ÓWv ür*þÙO7eìî(ƒ'õadn‰UÇ~˜^þ¹¥kòã–æÏŒŠÏ£"¢c©\ÿìJNö‡Œ’{ï… úË“È6Z¸¯¯Þ7Î_Ö=/qe1·ö-´aÒé,”ÅBq‚rjêJb<£Cæ§³«Vg¨úl™ÝäÚ°áE[ï~Ußòt.ZµL;h’.d½õjZgBMq xêêöÑ’]”uÑÑÞ¢¤ŽßçEuÀ“vŠ#2êj€üøþF@ëkè,Æ·¼‚zYCùîþ C…vœ˜…ÿñ=£^­¿ðÄ{:"fãí¡‘½iÍéß7ü§ç'øíx¯ïµÌ\ä[Ù0 ú”òö³ñ˜¬Æ™‡°íüÎí(PÚ‹=3Æ­+t©‰Hã0mc'Ò^ß|‹J¨ð¿¡Šýqýc|Ý7g‘eÂ'z—k‚ýýñ¿æ`³þ\aVæ¾z%ˆ2iE÷ãO–K¹Uá#ØÍ²ÎcéêþÛY¾Ž÷Þø‚êm@’‚¥™hÌþ/ÆÌ×7É룳P„çÚßfÔfí ¿*ikk¢Ò‹Q˜š’Þ%ý·ïï@Trô>9bݨ‰|=ÇõS$×e]=ºë”Phê&Íf-Q3) Cãv=˜1@ÕÉÃ|«Ï²àþ[gk~»°výc¹)¡¦Â€µxTÈ ŸUE[ä^¾ûƒÆ"m~"žs{Ú£-¡iæý5(Œ’綯»Š·Žéßæ=™ŸSV¯¼¬°¾|ö´J@\USŽ À,{óü©ø÷Í=IT ™ÖÇqÂJh/ÄŽö6¢k¯Ç ¿ö¶ÎFŸ¸š)ÈÅ\Äሦcôk×®ò?¸ÙÓJšöì¨ÿÎɉöT~@«_¤¿h­Ø½²¾¹¨ËŠšé›3n{´“|}»‡M+RÃ7ü]=báxoÁ³avâ´¯#üç_™å9Ú³ú`äTmæãÝ §>2X¹o0þs5KN°›L€q­µc~:ÚŸ4š‚TÉB»*8%§Z“tñâWÅ*Ýá)F}ÞÙcüùí!Xõ´ÑP“Vä܉´G›×^·4×–á«|ºsÍþ=ß):³N¥ó&z™¯YuüÙÝ—%¥,™€ýÞó•p;hÕ›;ëbÎ}ö­Hrúƒv‡Œ6â`U]?²òXÖ›Z¼´®yÀŠñäØ>Û蟛½FIjúÙ+óá¸]ùe—Çúøa«S'þdñwx˜ß¹üA¿µ FYêÑÓ1—Ÿßý@Cq‚ÚæÖ †Ùˆ³9Uv2h½ÇÍÚaÿY ÔßÝ0&åÇnXƒ¼¯Vüþ¾…!hõé¥>s²ßáE(ƒGŽÝ8M¯Åcp,ôÇàʸµÒÞªá5YÁlZÔNÿþB@“øÅgEð˜eÀ§`9;nÇR=~ì·*fîœEvjù¥´GyzZ_Žj»0?éSJèôõ(ðÉöwŽÚçÁkqæßBÖ_t<]5*$zËœ}Ÿê„•Œœ²ÂˆÜj[z>íió ¶¯‹N÷1­0y×á’Å+—Úí«ÁIO9êmHœø°È㡾K7Œ³údeƒ›éðçöudÁ¯i[¼Â *QÕ§W9ðȪiëëå€)”E—æj5x™q×&Yú,=lw|&[æ7­Ú/½*s‰­Ûí†×{fŽØóc9/ʸ³zܰ-Å&Ÿ¾©Þú¸éö³Ûf„Žö¶ä éýü"Sò}ôµH\Í4lŸ8 º8P¶bízë•|²ý#­ hŃÄ"£èu·Iî.¥U½ypï©i- €ÿAû¢Üø-'«ÝGºO:´G{£õ’Gpjs¢§“wͨKŸ>‡9 3‹Ë99¢›lÊm`´hÆú–±>ô£ëÉJD@zYœ2ÅQ+–¥8zÝa;‰npƒV>9‘^ ±Î%£é˜êŠÌŒe\¾Òñü|Ÿ.FznþT @”6å"x®fÇÌü í¡u450÷îÿjý¾RýžËí8Ð?^Ÿ¾èD‰Å¨-®ªòÄš‚ÂZ!@Qó}Ê^×C•.+—íWª¾°{¿§/QeǸ+øY(w£P:ˆ?YgÄÙbª‹EÃ59þ¿á8Š¢Üü\®æw6¼üÖ‘Ô~Jy@ÓµŸè¥-ÎÿíÕÎmç\V®mµUk Æ™/]÷QQ^7iˆ¢(BÔvHô¤6V½•äg÷ CP„ ïtÚ‹J¦Óòطg¾Là!µfZ BBBnnn ,ÜÑûêbt *++[Áºþ÷yøð¡‘‘QWkÁ‹®è£ªÛ+¬vf†šÞø7a}:1yÈn›3gæªü‰{çgH÷`ñë9{WΗÅó:ŽÖ\ Y;§rüõSöû7FqäÜЃ}ßZ¨B`”\=ãŒâº F±eE¥°Ûo7£$jÞ†“ÆX¾LÏ*—â“î„OÙŸrþÕ»ZU6X¸`Ò<=A`Ä>K*îÛ>¯uû¬½¯8I94è÷6hÕ”ûMU°…Mÿ;äÚñnï¶ÄÍWßC‰ŠF–k–Œ²—ÄsÐa ¥Egps Ñæ„s›,O¨ŸÝ;® ­|î6ã º"p¯IÕ–yNÛLó:eËí/L)•«¦M%Üó?wê]­„ÞÐØ€–"nˆ[ú­k@ËníêT¹îðÒ)8 ßœºüÞ ›ëËâª}BOZÔßÝäüÕõÉ:Žê¶4­>½bµ—ÐÜgk´…€þqƒûÆC‹îÄ,€={öX[[[[[c³þŠP¿ekíBnçÑLô;:ög~yüDrvˆ«rxf†ñÇéü‰^´In Ñ-Ž×~8õ¨N}tyøÒÀS¹UršÓg;.6éE¨üp½ˆ ï.Mf¡@U±–ªûïYi}_™Æç"(«Ù•Y( ÌWÿݵ \òrƒ£–v=&rI®nHðsqFö•ä…þ$wÎu`ÜZ­î¹p›qoBõ—ǯjIßóFPX(£¸u¾!«‚†&Øú\r «ìdHl@¾Þưi–üŸŽn;8Ë—3B×\‡: ´v;7·p“5·0Ü{>áµ}mZúèZ¢»WWaUÊ|‘|QgšÓÙé„{Göúîº"-:ÜmÁòÇØÐx¯Cz7=”8<má·®¥×ÐYD!q ÆçÑjÚž¨òg%¶^jÙü8ZóõMóIÂ5÷I'=ù^^<¾,`;³|ß·o(¿º®±=N@NÊJh m ýYͯŒ¢ 2pÌb#¾:{saÞæq“” à4iAfø‡£UJKqâÆ *â8QP˜( €Š2+¹4€ÆÀ(yºý>nb°ÃT$—/³Os%îÕMšÍt ñsr;7·pÝ[g–~òê”w«µÔ„XigrÉç™Q`  b<>d”º€º³ÙŽë™"^³ç‘ ,›~25÷#]‘Ú:ÔeqÝɰª^mÚ—+5|¥ç‰b >9R’XÿšüŒH ^ÛG¶…¯úýó{Î8ú£é‘C~dÏqhÝíÕ{‰ýœÝwÚ´ÜÏ ý1000000þ:¢—Õ$·…èæÇQ& ü&a£µz#Ðg¦Ë‹Û›â/}œ;²©qÃé,Ðæ+;Qh9ëxYµÞü,êŠòrë¾Ü›¿b›d•O4¼…É•ëKgÇ÷×µ6Ö›`©¡"€°ÏúóÉý¤Ô~WRs•ø ÄÞ*¦¢5 iLõ:”ßŠÕ ÉeH.^±B¹)æäæ΢AÐz”&cÓ{•T+ZÖ—äq3åOÇËiH4<Á ˆŠzÈ’ €ˆˆñ#µU4&Êa3K´+»üš;ÖÆ%J:5]YEé…™ ‘Eaæª8´¹sð*–6U/4”ûSjz_;’o¤Öû·0E‚®Cò<RåÇ“q‰q÷ ¿:iÈ7—Ž…þÿ]5ë\fý›ŽãH‚R$ø¬,&( Q= ˆ+ªBÉ¢½‘Ú•t@ ŒêÕÐK’ŸðýjœfýñxA›Ò>pŠ[⼜Z•–Y¼aý“g¼L=²32a@ÂÖ‰ƒ"{’ ç(ÛT=Ú$ý!PaÓA¸¯ËÕmu,@Ò¸ªrs gÑBH/‹aøý³*”?Ý|*n¦Dø® ÇvA—E‘ïæ´îö.õGk?î^Q?(q­µŠÒÞ=TþæÑÜ«¿7Ú°ZFÃñaØöµdyª2rûM£q<§€^HLKIFdt}êÎ;xÍx¯~3°Ðã krýQ.¹þlÇIÒƒ‘Ì‚RS†„Ð˲¿‚¸:™$ÐË‚Â8x¿˜f¬L`”¾Í(á3ÐêEú1ëß:×ÿÇL0Ÿ„²*<9•U9ÑB¸åÄ7¯ٷŸfß~ &ê;Í>ž;znÓð äÐÁãP”Ù(‘$®¨Ù™ùµúðýË›»å}eùq¬Úï:àH¢jrÐL=Þná¦[>àWœnNr>ukÿ×be[Wu<Úø0„ÍÞÆ×hS–<«éuë‚]—ëÖí ]_av4ØÖD Qs¡>ÎéQujÖæû®J®™æ¹uEš)O+È}‹ Æ·À~O@ï»Ôü¼Ë±;0*»@íêœ' Œ¤£=fõ—Ÿêj +ëÐú¢·ïŸVÅe)rü—ã"£&ö ݼú‚À"}bNêñÝ_¤ÙPøqˆÓjô®¤uZ“f)Ð.<ÿX¢ˆßCX-~àGN¾WŸå6—&G etÖòO×oç ƒF9ÓoF<b¬¬"Ä,¼ÿ,‡%<³ž=Ÿ§6ÿ‡Ÿ‚þó¼ ~Y>¢Ho£sócþ3]4ØB $açŲÖ[U‰-th›[˜YÇ÷¯*ìëe"QÀI4  èÙ‰-»¸ dƒÌňPÍe5FüM¡?Út°uèÏꢄÆç·¼V\½LO°øÃS¢Œ‚¤$o-Ŧ6´ra‚“”֒⇚‚ͲÅû¨j‹+ßgïÚ³DÅÎU‘Àu -RÂøÍÆôWX~£éŸhÃXج?F#ÕÕ-wšÇø07v°>jÿŽ»zž¥=Ϣߥg9«ž$Èox½gcô˜¼*Z‡Ûqqã Iîÿ-‹µ®2EÓÃw¢—PPâzè[¢wìÖ}uˆ¤Æ€è€a†¤,(‹Õ:áçGNÂo3Ç3®×¡;cbªøDûôí·’ŒâhøOw.Ì8\ZŸ¸Š³çtÙïÉ( (ŽÈ©Ê7ÐÙÖ4ìäP÷ã düß®Ic½Ü¿ìJ^·:¬  ú÷úÑ#6.½å¸„—»[ª÷ò”kYÜD£À'oì"›&d6J÷ÃRvY?rBÿFsZ'ü´ô[gV&?ªxµ>øÕúÆcË·,[&Ͼi›Q¯ôù¦¨ËŸê"FŸe©‰ÿÙ`ˤâS0—šÍA„„„233ÓÓÓÝÝÝÛÜýŸ¡õ¾þ8\7(ó—“““£©©ùóv]ÖGíâßqWϳ´'YtéÒ¥?³¯ÿãäNջ㩨¬ùw¶ºü öæO]™hÅi¯þöÐcüÖFCªú:ÀîÝ»mll¬¬¬°Y Œ€ž—ÛÜ 6©ì PfUUÕ«Œ‹Ét­í†B¸ß7¹Çøí— ÁB Œ€®¯âô§á¶R¶‡Q“çå—Âw˜ãhCþýØcüöK†`¡?Æ?@ψöØéUi;>µ¸ý!¯ÿˆ½=Æo¿d–ÞѱО„ÚÚ¬yHëxIÌâ“3ºÄ¿gt¼¨nýÍ6[­QÿIÛ1ÚŠö¸¿iæ·?mHs°ÐƒhÙùIÔhšŽöÚ}¿ŒÙÕjý 5o/nö7PJ¥R©}mœWîÊøP‡6÷°†ñp÷È+Eô¦“˜¥·¢Ý‡èS©TM3Ç€Sok¿_­úeR€³¥.•J¥ê[:G<¦ñhO{í>j >•J¥Ru:z~RÑz‹³–}M¥Rû­~X@{n«a¾êFÓ9hÅ-ÿƒ7>¡µÞ,³V¶Ÿ™g@¥R/T4`|¾3ßÎPJ¥êÛÌÚ”ñ©!T£]çhk¢A¥Rív¿kòEkõ¨Ôa;óéhÙùIj:s3«Úb o:ÚÛÌâ”°ãBÓgõ!s7³Ýâ€ùõV¬çÈ~T*•ªo3%øÌÛZOî9¸0vçãN¸ÍøxvÚ:lÚ£ôá± œGØXX9yqxrVy7û:ã10š@«žîr³Ö×Öî3ÄóPNMãç°.'fŒ÷µòî3ƒI/N‹^:i°¡•JÕ01kæ§ææ´ì\Ú_öO­Á¢Û5~Y(ö‡ýý‹ÍÁ~0¸L×&› ²êÊò®lñÞਕe)Ò²&`»`Ñé@$þC7œ5/wM–£ëº,rµ±"¹®øùµãûƒ£ O‡ª÷0¹¾üMÆŽÕó—(fq¤àñ!iÁìè/#’w©—¥nðZ:S@ùœ¯èïâç8¾,ÜËX–Tù>·RÀ½=NÌ`âJm1BUÞåØ5Óªd2b†ôjÝ…Á$à°¿‘@Ã’¸ N~ØÌó“VFŒI  •÷"W#Í8º ¹Åù\´j€QtÊ/ì]E¸ÕÔ:¿ûÌ­5ηñ¦D,ë.xîÄ\*è4„2Àeéà›ax¨€eäÀ-6àd /:ÜÛôw'w?U)×ðmËÍÌö‰ãÿœ²Ü-2Ç6èàfK隬£þË»‰hž_¤A"ë;ÄOÙuc™ñP=ݵð*ì´cØ´ú· ž~7dÆÎ›î­/ ÅOÏÅ­{"=òĦqrmº@§À}ü75xwtõΚù矎£v™èwÊö¨³ ž^x\ae’¹h÷éìúüÔëÚ.kæ*ð¾µwͦ™n|©ÉsU}ݪs¢¡ÿ¡5& ¯{«ðwŒjôò²Ž¹p—Á¬®¢³ºÙmìß@ñÛ¯‚…þ\Á‹ÈSÕÔ„@CuqæA§‡/K–"D`U<9è}&» åW°˜º*tÙ0Y"Ô<°qy³îîa[a€êkæKEöfl4(Þf?â´íJóÇqI÷Š)ócF§,Nh›µçÈÍ·UºNk·­­@Di¯“Özo:ùä3¢Ô!KvFMU!u±~zA¢OÄ#µåç{h6ü”iëÛŒŸõ…ÎõÀæauµeYÇÒ~¨w¤ÐßžØ}GÄ9ÉgŒ@)dåE›°=FdÝxÚ7$u£ÐפA —öBº® tUé«/™Ÿ2úÌâú!½8ÄÂø^ÊÚzzBÍŽ!‚† 禸¬Ø<úÜRdËŠœk¼—¡`‹­à¬Uƒj…Ç}"+fÄξ9éVÃ㌢ôägBc|ŒÈT÷µ‹ÏÙl;ðlÚZ#EŸ5µO £‘–¡õP®Ó‚œláN‡{÷þòo& hض™ÈÙLnnä&ÎäÓ“Wu*“½&  ”<%˜ÿ °4HÀ§2ÔŒ8ûøÃÊ¡ƒEÚè„ÎçPa§]Æó%˜¥×6¸Î;­²æØæq¸£K¯){Ÿ:2G³¡õàác‡¨Mï»ÜÒô“l7ùä20Ø —¼ü*eÞBäc™šö>SB©Ïg×î!Í‹*‰çxJ× hz̬é¡á¡Ù¼”»_ÝT)xàÔ¹ DÚó±ýUèö,¡³yÛƒ¶píLzŒßÚj«Ù#ÿhþãWaÑ ¯ŸºY&ib(E`~:·ljð}õeGSÓÎlU}ÈczLv-ï+Ðs÷Ÿä›üáë—§ÝTð@½?™8ïØÝÏSWKŸ_åñ ‹Q˜´,àªÒÒ„´73ÎìX2X–Ø}&±~ƧŒãÏð=5šMaE$ÈÍ>xLZáõ)…Duc9ZùòfIw:’ÆrÕY÷>Ô×¼<{£†jT5i ¾–N?»9QW‹é<Ú³K¨z—yâR±´¥µB{n§!ãÅa.¬Ã‹,Xtˆé¾ÔX¨U¯pÑ €þî˜÷ÖZ·Ó¨?ìG™ut 4õ.ŽH&±¾Ü{ô™S~CgÐáÞF«^\-Òï#Á;Âl¯8>¥ÁVR/œzð™Ž2«^O|Fê7R«!²P T÷,3ÿ'ŸÊN‡ÇPaç÷‡ ãsZÓ¼óšëoqTÆ}¸˜ðDpÄŠÉš?î²ÞŒ¥ƒ»ñé%Ѽ‰¢/õ)óæûZZþµ›ß(zÒøÒ«·–M š ×Mn_8ÒkëX|bb8ÎÛЬ&c^_*•ªÑoôÂw¾bë500:,ôÇàZwy¦•J¥ªë¹Öä IDATš—ÔÛ#ÆÛˆ À(JÝ}•0nC‹‰ª’ΰE‘K4óÌúIf¦°Ï+ G “‰€øhwS "¯l?c áYZ^-³âý7¼¢¹•EZ^ÃÔ~âùîó$þW¡zQ ÒzJ-'Ê›hò°†þ ÷øÞ öD£à•Ee¨°L¯¦_s¼¨¬”}¬`Ð>¼­ ?‹9X9"$!ù oÿ÷ÛgO‹}Yǵ=T]¥M¥j ž›,ç³ßÏ´uìή •J¥Rm£ó¾GTˆˆéâëò×ëÆ†,3n}2ÊE+€úüCËc˜s7NQaïI"ÅÜ’òùTtÒó Z÷!}Çö'åx¯#i¦•j¸ì.ñÆÕŽt¸·éŸ_3{+‹óÎÜÜÈU"lxÀ[ê°ë-5 û€B‡ØhÇÆ!SäùKs‹ë¹Ëë ¸v~{ØÐ‹/ú9-Ì0 ?>N@/yù äú*45E=iøôª¤«î9‚‚cèéøIýÍfœ×ô A~újtÀðüg CÃŽA9ÝIu-¬ò[[ÃîH:Í7A¸u.AÂ|Žÿæ]G'Æ…:õ¾6eæžÜn6z10zÝx²£‹iÊõGÕE’BÖÎY®z.v¼hñ“÷u¶VcI”26¯xšWÁÔåq)¢Œ¾[– QR]ªqò'(Æ_ÿžÆâëãà¬uØÇÚ:qÈ` ëaãFTj™RÞó@ý‚ÖË^žÞ°úPƳÒù<æ†QEømÖ¬ŸiÝ =ß°—WÆ&&åÌžÆK¹_ðéseÕ_s3ö†¬Ÿ¨|6ÔèîT“ù·™Ê ϧ,Ö€æùñ™¢ðC FqzÂZ€ÚG÷ k­D â¢+ûé^bœµšåz{Ù¼gÒde"{t' ¿dǪ ‚Ç€ŒµóPÉ·Ïp¼ûºy®?BSáàp·¥=ü)o"Óiõ@âÇó¶°ÝâXe™Á³7äZúǹ™IÖdŸ ðôR>çªH„ÈO@ëjé(@7úq³q®Ÿïa9ýÍþß6ô—1Ó¼pƒ·ž Ai¼"VVÓb«¦´H‚¤nä Ÿ‚µ§n=?µáMMV„çM‹5¾E8\Ò¹º›¸ÛaNÐÕþ±Ýh…JËÞ;wÞIÙÇV !Ü;HJ£çÌhxihÜO¹rˆÓ¡£93üô;(áã_ ý1¸ò#×_]KtïœëöÓ…£¦riŒ €°ÿä (ûšr<±Ù¯4‚kÞPÐöï`À9íÕÉzßbŸñ[Gé‹ ãFى̽–_;ÔËò‡N¥½Ü?wò–:÷ƒÝtÈðî\¶¥ ÔŠHâÛR,磣ø»C+ŒN¨-£±H2}åÑ7×shÑKÜÿ*¢EÁáÈb@+£5„8Œ²·i¼£VDÔ­=ü£Ý2àëÙÄçÝ-U¹Ý¤­'è1nÄ&æ6›â¢W|ié‚Üh/{¾Ûóé€k™+Ö?¿úº!©…ñùÁõ‚z&r$5K \iî‡ÆùËúâŸ@L±7‘[ûÚ0tÊb¡8²¬ªšššššU±7ÏèYr!(èºÊÒ°i&ÃýÖÙo÷ÞŸ[ßòt.Zõ¶O9×DR1t}¥Dh\ì D!)9™ÞÄÏi‡ïеFšItÕ*ÅŽö6%´¨¤/9?˾i§8"£®ŽÈïo´¾†Î`|Ë/¤SúÈu·9S.6²Ï? þî°Áõ6ó>cŸä²üÔ:ÒÛj‰›ÚËèóE߃Iú»ãk÷~Ôõðê/Ü‘wŒ÷Ç$—¬´êc1ÑÆ™‡°˜Ýd‡O”–s`žsØ7׸ý ŒšvqúYç6R“w»WêÍKv:Œ‡GkÛ™ßíòÆ0þ4XèÁfÅû¼ÜÜÜ×9O¯%lXs¦BÒj°2bë>ˆžìtìA~Á‹Ô­Ë7稸NÓ#IÞ¼¿ÈË#§rh(JË?¾#mǤcmö¾;ÏÜ}õþÓ§w/]zÍÒúû“ý‰ N!Kú¼ ›8%ðPêýç/Ÿ?¸šµ`¬CD«ÛDÄÔÍY>ÿоÇÕ@Tvpë_qÔwã™§o^fî]þTÖÙÍXðûùv„Ëkâïåæ?KÙä»ÿ£Ú$GM~níiObƒ·»tëá“Gw/LJÌ÷¹†·p6ió€Ì/©A~éò^aÓTI€—hñ.jå¡–? \´" )hh5¡¡ ŒGÈòŠ" œÝ±÷T惇w/ÆùLó¹)5-p’˜•ï²³²²ó¾Ô¡5E9ϳžç|¿{d–½}‘õ篊ÿÑüxö»Êö/Úìpo jÕA³o¾kºýãlf;ÅáÄLFèÖ¦Çßy]ÿ$e‹\¡Ä aªü€Òr2 z›Yv»Õ2Ül„ºìm³'`¾ýæµIÛ „ˆþ÷WNH-a£²T`˜·»âÕ¥NKã_T£¬Š'qžNOõ¬°Æ·º ïBxŒÿ K.®ßÅr_m/>E3ͪÌÔ×´šüË—KÕ*u‡§õùñžNÁO ¯F.ÌÎÊÊÊzž÷¥åÚ¹´'1›ã/Þ|øøAƉp9G>ë¸:ku·;×?¯¢í«ìñçÁ‘U‡Œ¦)Ä5.dì¡m¿·à×ï ~Zó¡ÇÓÑU/x— j»±Æàʸëï0¼á5YÞÔeãVAyðk€ßF'Ûrà“7Ÿ»?–GÎZ¸r¼Áf>IMû9s,Ò·µ]ŽŸT’9'¼°>“‰w¸µmËîî BÖè¼JlÄŽX¯Ã%õBŠýì&¯Yd@nµ-=Ÿ¦Ëlý=a;2—ÛË;Eïùìíç;þp NÂÐ%rÿ2àĆ„ ôÝä<<ÈŠVn»B=´ø€sû:²`iæö[ «åcÖ[1†ÒÆéuViúºÕ©Ò§fi4xʨµ~'‡úzx [æw­¸B{~,$<¤@Ts¸×þ5sMŠETßðíy¯¡É @d\ÂÈ~€2î9ýqÞN‰™!ÔÖÇ£.Oo›yl:ÚÛ–®Fk·¦¾[ª«Aâj¦)¹}â@eÆÎå~Â'ÛùðÉ9°ªŸ  •’‰ØïÕîyìps)­úí£‡YÆu¼§¬¹ NeG‡%T/œ°pŠàžmš›ì|žÀ¹mÉs–ÔÆo»òàKÔŒQQ¦±†w“-P¹ ŒÍXe×Ã#Šœv96,ëè5Èß?ÕmªÑn–¼}À^[ñn0›‡V=û/³ àzØÌëMÇ”]¼à¥Æå+ÏÏ÷ùrôÒ˜’Z¢”¾÷ÿYêûÎÎÜà^ô ½…DÚ@; éàz›/5ÿeÓÚ¢ÃOj>ütFÕ %ƒâ'H5k!$$”™™™žžîîîÂÂçPŒvRYYÙâ× ~4þrrzÊVÁ=˜®è£ê{~vËð[.µé÷ú·`•œš5j¿URâ,ÎsâíäßÒ=ÏÒždÑ¥K—ÄÄÄH$'ø&^‰D@"‘iZsF$røt³Ÿ9´<ÕÍlÞ×€'œ¥«¯.´^XߡÙü =w«ÝðøIikÈŒGmÂäãnD[4®fjÙËô7Í éx¥¤Ì%¥Fú…½Y@ ;àõ³Mzá9ÒÁ}8<Þöà¨óçæªpª´3þÝ<“ÙMȢǮ‡18ùi­Ã"uNßFlæ³ÛÌA´ >ÞaØžÇ/¯Òão83ÍÓz ™kõ5Ö~Ĺ1GfEÅ^)`ÊÙ,ٺɅpÒoù¦s¯«ÄM<¢v,1ïÍa«{|:Zz€^xÔÍ9Ù*vöÍIžÕQÚ‰ÐøZOÿ~;nÇl- AËÎ;›,ïww§•Ô¿Œ62Á,ñîzCؽ{·••U·ú````ô<úÙÒîåÿd Ü?óëÓgÓ')þ;³h+lE~£H+Ø éÌî}kÍdï[* ö]ÊH?n_ºmæ¢SÅÌŸÒáÔ@hЮK~š$Ué/óòò†›ðñ(ò惻2—ô’æ5x‰&ÈÙMéSz&1»á;”õíæák¸Á®¦ ù«ôœ¸˜<ËõÇSŽùë?swŸãÿÀ`Uü…¤0ë÷Û—oyVó =ÓItpÕ ¶’A-þƒ%ü````t,xéáá#IÒÖ/¶SDa``üMEÌEôkcÕ ¹Õ¡ k_ ð= 9wf¾@Q*¬Æ©”¨ÆB:øª«Ñgùf'ûMÐ €¼Gȼ³£Ž\ûb¯ý½(ÒòÀR²UÚáܾùÙäb"Œ€ê¢È%iCvÌš»Á ™$.Ï:ÙÍg?ÎY´Ôàé¦ÁkŽ>ó6ê/Èú’qèÙ0@Ø: hª¹0u¡Ëž‘ûDBvβꅀƂ™{Î$Ý-¦÷Ué–S!Í=ÐXõâèb][+‚„ù3-=Áê7i{C¦ÌDSŽÏSã•×Pܦá5¿Ñ‚=Ñã(X5_ Œ.â{у+…fU/ôtL|æËä%&åÔýüJ­ùQH§îý½75ï¢íµW}jÙFäÕ~ûXާ:8k=ó±¶vœ°åØõw´–ëlø~Öꋟ¼G¨VÍ‹ü¼Ì«`²éPqÑU£Qö¨œÏ*Z˜ÿsÑ8q‹i–ŒËGT³øÊ‘G½F9ë5ÝSeû*5,m S„‰}Õ†2šaŠ0RSÚÖò³ÑÂU/Â&+·¼K!)ž3cŒ•‰¡±õ„;v¹JËxVÚjÿ lÖ£“h]ô ½•=x‡nl…tX(¾oøõ$©–ó¼ é²ý›c¥Ah ›-êÀp3¿\ŠüˆšN‚÷ˆ¿óEé}|ÅaÛP8|“u‚ØÞñ¨Ó…ttÕ‹Ö%ƒö•do€Íúc```````t‹´·²G7@â“3Vœ³÷J9L|ÿ´‡8<PVãŸùa»Fë22œÍo‹nB}]íoîK8tøµ¢ãxê_»TgV½ø^2¨åñß¶ãg4=è»2z¹0;« ¨©JðQìçÛEÌ \/êiÎÿúèêýÕæ;jòñnýwúnì>]½,uCøSYç5Æm,VxiûE[fúxF >ކ’ð5÷æÅLï3¡þÈ–k66†J¢Ìi—^3¤¦6/¤S›½C‚ˆ…ðñÖí×£…e„)¶îƒ6.ö 2Ù4ߌœ›°9GÅ-Bç6f\ͯÏÞæøúöî<ªíø¹³al¥4×¾Œ]H–Bˆ´¾”6Ѿ—´(…J %í굿JZ^IêÉ’öúE–dI„Pd7˜íþþ@YæNTjÊùüe®sçœó½çÞ9÷̹gÆœÜ/›WÖ ¢ã4QÊþÀ?@góøßv!¼ˆ)hhµ¦©û NDòŠ€‘´+NÊbˆM¨67îŒßÅ2÷nüêEóOMÀµífØõ‡ZˆŠvíË<ˆ/FÁQ·ôžpýy5ýójô»ãó£Ýüe®!HZm‹ø[Ú7Ð{êñDÐVÓÖHu¼~H§ÍŒpœ_Ú!™¹­4^îko±©yqOÞ?òƒÿ#]øÕç|þq>?ò#¤>ešÊñý}fŽ‘û]û®?ÿW/š2¨ÃF¸®/Õy]xè¿_RRÒàÁƒu) ~à1ê–Þ®?¯¦R®]»ö'®ëÿÆúô? ã›lçå{Å;tzv¡›þ˜¸u±"\.´Y×ÿw½s‚ ‚ ‚þ|«¾ª<çjà&ëÃ¥ÿ´¸Ÿvý!‚ ‚ AÅx²nؼÿ8Jü­útZê&Øõ‡ ‚ ‚•¨å߯ru!þðk‚ žÅHöµºñy}ÏçÄ)‰p6œt¾°Ë?õþa½9`¡0ât¯¬;AP—Á®?Ä Vyc"ú…ü@»¥GŸVvúE8èë°†·Q»6TAQE5†:¬>WÔ„µ°œ¶ÕlÿÿŠ?/ŒÀùô`ßlsUEå ì½®¼ý¼â2V—êå`¤Œ¢(ªjäà—Äà“ž‘²oöC:Š¢(ªl8ÞíŸäj«;w8Ö(Šê®{ÞãåN ¹Aû`Õ< å̶'×wúœRñÞÎx¶V§mnêËÖ«ø¦ï¼ñ:r(ŠZÍcáE-ƒrYXå‰2JsãÛ=®ŽWþz:Úœ’È—Ä.5ůf·³œòÙêÊ¡(ŠÒ‡Lõ¾ö¶€(3Îm仇_ü„ÛŒo×T¾š¯ÙtûÓÿ.n[ì`3t°‘™íd—á©Uv9ãÓ0Zaµ/Ì2¡+*ª™/:óºexÐôzÿÈ¡n U‚óÓE¬’˜}®Í4eP•Ó±Y°7¾´}u8%׿©£(êp³ðÝ‚ îi™ðƒa‚sÙ€B2Û¹{¨(·©2çNàšm³7è<ÿ{¸äwͲã²X€LîE7œ GÇìx­7×눯©’hcIZÂ¥“Þ{böi~Ž0•Y•wxß‚åÊϯ8Ë»(tñ̽e·£ÏiVÞÞ¶ÔÕYD5~‹!°òÎÍïýñ¯ ‡ÜMå)595âðÓ¤;mž£«ÔT›sçàÆ ŽurÏNŽêÛù"¤!;.o7i^2¡ô§ @0X}pÉ «ý&'ì²5Ov­ºHY|}Í Ñûã” w;Ùh{„ÿjóßRªÍ¿ÁÎd ²³½FÝßáWħx TYÀëðª ?=mV^ÄÑdúÒ yßjv/;á‘+gù¿ã~t8ÚzÁc…ËlIíøuZÑA³'§¹¿Át #ýká7‰®¤áÝlº€ù6xá¸õ‰²SV-Úl0”$ß8î>*ìnЭ#Sågupüöß‚•wa]Pƒ[|îTæ?ã=®Œùw–,‘•qC¨Ò¦›–4ÿ¹)7ú^µîl¿ÕFJÂÛ¸Ëy–Ѓè­«²‹¯¬ß‘?HûꟸéªÍù¯ ?]×1\ß·It%ÍWš †aÍ—ÛS, ÃØåñ>ÖJ„ä62óNŽ‘•”Áø’KÝËkTÁábÑ—£ò#kú:6Œ6ê­0°ÞŸÃİÆT_3“I »8|¦ñ´àBVçÔ‚R#neô EÚ¨àÖ#Ê|ì8Èþ廊òèÄÈæFúõƒ{õêÕ„„„G=}úôÅ‹/_¾LKKËÈÈÈÎÎÎÍÍ-(((.../////ÿÔªógìá@½Vsû LJJëEã¯Ð·â2 î]½_9ÀÔˆF€Sz}Å4ï§šþ}ðøîßugæOß—Þé'ÀÛceŸŒZ•U\ãB'VÖ©pÊÊëéù|ÑHw¨2.» d…g¬Š×¿“_>¿ûÇ(yŠà b}+viÜ¥¢•Û¬ö?½G–”mwâqê î…Ý, kš*PÀj2îçSôì4›Ç­IL¬åëRž12þMd¨˜`¨ª ¤k=' ¶„Å'}ÛjóââKÐá¶ŠÝù-DÜtýÁÙÜ–-^¼ì gö!OSñNG§T¸Ûkˆ›§¢¨œ®Ý’ Gå¿rnvG«}›/n0hÿ%º›òHZÑÍ+Ï>²0NmfäÅ¡¡ušS‰¨Z¨4¦Ä¿ýÊYùÓñk]IÓåfÃþ³i¼ÚQÇœU …·‚“Å&lš£ýe Õ_ì5y|îî›öÃEÖ€V¿ ‘‘›p¿BV%~ŠÝX9ߺ¼¯×±š¸Býú‰´|xÁ-°ÑeÿBµ?G*@×úãÁ®?„kºã¬Ž¢(*«j:/DjÕIoQØÅÑGcIS÷ûÏ¢¦2pìú OíÜs§SxÌØmKb¼Ï D%#ôwð^n&MF„UÇ/¶"§Ää4pª +ˆÊ–6†*2¨‚–™½Ó(Áù&þ[±J^•T_E ç.¦5ÂrtÓÙç¤Ö\81U†»¦¸“íÓZbyIPõ¾šU_ô¶š•²ÿt턽ÿF‡o1/<4Óñ@F^úæÏÚØŠ(*§n67\ÞçÒv³Î}÷¶%AQE-öå|î!’f;l«ï5MÙëe&Ñyg §TxÛ I[ºn?zþߨ!ûfHÝß1Õùïlf§÷Å/Šj®xÌg&0n]xêñh³>f•p¤TûóoÎxáÂÍ‘ææM;;E_AFN}¸gãéÎ-=@„*£ ò)»¤‰T6ü&Ñ•4]n6¬â¨õö‹cEšªH€ù!£ÈVj?ƒ¡*éË€ÒÌü›‡@!):ïó@ÏOÔ3pº¡½eïêó=¾™“vþõÖÏa°¦¦áøMQî¤~9nÕƒ½; ˜¹z˜$3÷̪ýœûçÓÛŸßpM€ èÛ ð`ô‹µÎõÇØõÅ/B¶nš»R-îÌ´>ÅÉ…ˆÚ2–.$55í_ýòM5GŸÏ[‘e Û òh¢-ƒÏD±~ÂM ®¡ãlÖ˜˜\=j¸íØ)V*§”ÿyÒPÿk~&”ÊŒ«ÛÖ‰Kùäf-Fb† lç¿g‰m_èo9˜qgTHèëe øå!:$ &®²¾<;öØÖ-N^ª±ûŒŸLÓYðªkã<´@ûùñUFéK)Ø%wƒ5ÐøâIA£MP}kJÛÝ×õã]*ו¼·¯Ü>He’ëâæ772¢Rk>á̅׋·w,zÛ@µëû©Š€×5À¯Kwü¨he1šE˜Ä¿5w;;neüæ™Û²‡oq6€‘áë¹h©jLÈ\e2€@&a , :‰ðê¸rû á.¤éZ³aeìw\Juýؼùáò›nl6GëÍɇ‰n‘sUÉ´ûJŠÒýkAßvý!\D 5 q€¦ŽåÉ)‡®¾sXÏþ‚¤íf ã¶ù¬%’‰mÿ‰Ú'Ñu»‘6öþ­;qñÿLÜ;ëR\Àð>¿÷·Rd]ž–W‡éJñü8&J*iéèŠ]ÝSŒ$sŸŽ¡ÓP’„l_¤¦¸Š€pªŠªA9IŠˆôaP¦­ØrO$$«' ÎäW`8é[:>bòš:òèê‹¥ZxäOĈC÷ë¹D¨¿RË豪®¾¾xÇrJþõÜüH{Ëõ¥/纬:2áö:]qëv»šx—ŠƒSZm?Ï©êæÊÈÅ·Ÿ:lî¨ÎÅÃ_˜§.¼õt´mÇRû‰"Œªk+µAèfvÄŠøƒ—>Ùü³{±­$@[coN´ÝÑÐç :8 UM$É>Ö­Å«cÛcß•4€_³!¢æ#Dî&†Ç¼3§ùoaU›AÂÁ·Þ¯ÖTþ2ÖÜôö¿„â†Ã¿ò¸ bæœö¼®ëmPq0ExÄ߃úHþ’œ›ð¶qŒ‘`5ÏaGÅÜKk%Zš©˜õ¡„¸V‘þ¦ ·åzÂßöÒÄvûþòkýñ`×ÂÅ©)|“õúeBð¶×ªØŒT"ÉŒY>‚¾vÓÅg¹ï^Ý\¹û5}îB* (XšIfœ½òšaŒÜ«;§cÝtlL?±=èÚãÌÂÒÒ¼ÑÑYlš­;¤ &²Ò̽žƒ2wŒŸºáÌí§iiÏbCç—Öñ LDÒÌe–Bî™/êYÕÑż:Ø}ûµ—o2â­ÛùRn–‹©8 ÊŒwO¾ãµñü“ìÜ”È]kO¾×˜é¬-Œ—ž‘|Ð{ïÅèÏ“_<¾s~ëµ DëYCº¼ §,z“Ç]…uªQ‘ö×ÎÖù«Ïäv˜NŒW*¼íŒäý^»ÏGÝžô,.l点g?œ7KGÀ©ÉKOMMË)kÂÅ™i©i¯?ß=rªÞ¾Jý,-³¸å³ýöô¼šî?´ÙãÑÓ;›~?¿µïÏ»šÝÌŽÐÏt‚^ãíÞçeåç&Gîñ8^ =b,]€Õ¿Ž'ea­(h}'¼:‚¦ô3ì]Â‹Øøið›M'¤£wý{ØüéêIž·?°»æ“È8ïåJ±®ö®ç_ÕaÜêäã 'x%¬ÝdKìtþ ñiÿ~ˆò â.ßfÒ0íºøè¬ú†Ü;w>iX©·ÌÜs 'x'zl'ZžšÚR+¢¸¢–N+-%q""ª ¥¥,IêÆÁ… èG€‹{öN]Xܓֆбƒgèëºæ•9U/N,³Õ¤Ñh4E㩾Q…-ëбËvN2—QP3åvâ„#ýËâž-+îaXÇ—ŒžúÊN1ÕM9ÿ¸Ž3QGi4MÑp‚GX6£Ó2’‚×jzÜúœë;çÛé+Ðh4MmÈÄÕGÞ7ñX†’•j”ŒòŒe c—%ΪL£ÑdŽóˆÈm]”S“zÆÕN‹F£ÑT†8íü¯øsèy¤oÌ<é2ÎDF£Ñh¨†ÙÏàÔjNçBó^“S~{™–¬Õžô/ë’²ŠBU'œÉë¸î ^©xnoÌ82ÏF_‰F£Ñhòú£–=,ki U‘iíh¸>ªëÔi4M{ÍÓz^Ûí¯¾ù·»‹{âEïÇE›óáÊ4uóݯ›øU³»Ùaóý3,4hͧÌx÷ ¯j¹†aܪ؅ڃ7%}YÊò{üà"y×±þñJ šùþ&~üfóE»kKcnðl-ùaÞñ™!c>‡zOJCý“ÕZŸ78D}^õ—/…‰Û0ÚãTÄ®2ê@fëâÇ̂˫¬Ôååéæ.¡oÛ­ˆü«jÄ-¿2¾ã©i˜Õþ²QûeqÏ.\¸¸'}‹{"bbb‰‰‰qqqK–,ˆ‹wqŠ,ô{«­­í°úï—””4xðà_] ˆŸ_qŒêž¬·^A:žèoLýzâïÄýpeƈ“6‘‘KU~ĨïiÒ^Mÿ¤]»vMJJŠB¡‰D‰DlÕü7™L&‘H €´>sF&ó8àÇÔ;5wùNœ8akkkee'ü@õ(1÷mcêŸä~e ÜSþ2Ez¡ßLeA›íA ¸ÂAPÏ"¢í8ôsr0zÛáÑ?%+‚ èwGý!‚ ‚ ¨W€]‚ ‚ ê`ׂ ‚ ‚zØõ‡ ‚ ‚ ^>æ µ¨¯¯ÿÕEøÀ0 >xŒº¥÷„ëÏ«éŸW#‚¾õ‡ ‚ ‚ ^vý!‚ ‚ ¨W€]‚ ‚ ê`ׂ ‚ ‚zØõ‡ êYŒ;›­IŒžÏ‰Szm¾…sH»ç³8¬·Gì´ÆŸï•u‡ ê2Øõ‡xÁªnM§¡ij¿êäÿª8¿ºX¿#¬!ÿÎ~W‹t:NdãäqâÞû&¬}„5ŒF/Þ[Âj݉Sñøðâzt:]ÓlšÏõüÆÏïVŸáãd©K§Óéz–N/|Ò3Ò/o¡G§Óét]‹ižRj¸< ØþXÓét“MI 0R÷Øi˜o|غVóØÛBÃvw ëô»ý°á õϦ2«ßÞ;¶)pùÅ{§¡DÀ~±bááò©WO¨WÅìZµv¾ˆrÔ*`½ Y2m{Ùh÷=«Œd)µEojÅ à§'HLõpÖV"ÕåÞ=ºuËœ:™{A#út>„ÉØç‚÷`‘æ”~*Bô–Ì¿5Ý#pB´ïP Pû|ïú0ʼK+ô©öç]*nYôºE{³ì|Ïï·¤5¤_òvw[$¡ykµ·v ê¼ÖöQ@à{>Å¡ÊÈ‘^߀W]øéñh³Þ];™ªº`¯\óÕ¯šÝËN/¼ªžÓ_ÄY'ºäq¤-œ:¶ÑýfÓÌüP×É›ÊL\6×SO”¦FÙ8ñJüÞ+ûäÈ=QÏo‚ßþ[¼»´éxÃò[©¬ ÎS7_·»ä$Cd„o¹¬àa.)8›™ó FÛyërCá²Ç§·î›¿H(æêRÕ–X³K®ox§¯·Ù!zo5iþ»¯Šð/(7õ°ëá"JÈÓÕÔĪn‰ç“2+Ø–dÀ­I9¿eóáÈŒ*LXaØìþî£dÉ á¥óÛÏ.؉@ý}óµ§ïí6(=2vÜ ;ó—g"ž—¢Ëƒì£Ý¢Çm±K?uñQ~ˆ®ã¶#[íÈ#'b›ç¾k)el@’¤XsüÀlÊ/ŽÀ÷b„{&«­‹ºà¢ÙüQ¦­kd3iA9K0A›««¹§‡Å…&½gNCEXùWN>•pŠðš`@@ÉÏãŽMÀ©¤•‡-¸÷¦ò‹Ù=%À ãæ\pÒÓ¹B·¥(ƒô¤ó¢í#“J˜#úðè û(k(Ön"j¸rÏìhçõûí£Ö"ׇf†¬2íÐÃÀjx—ªñCJv“ÊŒUÓ‡ÒÉ(¹®Ž8·üEaPù€WZÅÉ^[hL)<Œtìúð(†;,È«.øz<Ú„¢»ÿæ+LÚŸ€Ì»šxaÄËÎ'¼ ¤2ÒŒ¼ðrRíH[‰.áçÀ«c[Ìn7Þyq*îïš¹ì†ÊÖ°ý„Kk·ÜWö¼~q‰fó ¡íè‰#Ô¦LÚ°ÎÒ4ØQV@>qF¬™Ÿ˜› d!®©ißsYY`@ÙÍm§(ËBFJniù5ó3k}a¨EJ2[ýìÓ"U”`^öÚ[3ïèÂGÓ·ýÑ’DwN[‚¾C/…¾—Qøàú£*icÃd8¢ÜgoÿŸºû¥˜¸Èýãëƒ]æe|å»wÖ›³×„–_NÊɼ±H…X9g¯’—…={ý*fíÖFï;å\va„»O‚ÒÚи‡îE[c+KœA¬oÅþpïrÑÂÕI£ÝY¢?µÝ‰Ça>¸]HV7’£€Õf>* èWoÐ$I “«OþžÙyóa}ðÇÓ-ô´tLÆ,9PÊ⓾muï¯üWJ³´VèÎí"fäà̽°zÅŠÕÁ§=kÄ:œR!%[«Å·¯¿(caœºì[ái“¿´DºRÚŸ©Ç£Õ½N(ÓÓïÏ¿‡ÙÝìp @Dy¨RSZb^·fÄüxM¥­ÒlØeq¾ŽËniî¼|pš2áýÐÑqëghŠ|N€PÎ[;yÿQÀ¦ýðCAõ|H|TÔÈÈ»ÿ¨H#V$ì>T5ËwŠœ€Ü¾ð‚±›¸BRR"`½ ó<Ô¸h÷z‡a}¬áÞ²At:]ÃÄ~åñ§ŸàóÔƒøŠýbXÓÝùô–½åÁžƒ©°KbN&Îú:‹#@uõÞ5q#ŽO_ºK—ß{‰ñZa…R PÉýì½›ö' ­ç&QRVT×°ïókXiAçå6ù‡nÍóÙ°p¹\'=ê˜,¼ÇHZy‡m6íÜwïX âö_ôJzó—󈄩›õ•åñ"“ÿq7ï¼3†SªÕZâf[Îy.Ÿ>sè j.8sqš‰ýŽ_iq´+¡÷št)qÛºðÄîéh3ËrJ9}-ûñŸX‚FÜìMžá€PQyáŠ7¥L` HÓ&ð›J›¯¡ïn6¬Ò;›×{<6ÞsÙoœ ÆÇÌ@n†BûP "Ši ,û# È Ò€9?$…iþk^¸O²‡ 4jÃÁqÔ$ÿlû}kòf‡gaj>‡7ŽFgp« x*íj.ÀÌ ^ÄYzi– ¹© M*Ró%ÞfZDë߯ö ˜5‹¾¼LíwÿÖ‚ìúCxZçúcìú’ä¿mKÖ©F$YšR„Ðjµt!ÉŒŒûÕ¤æÖpøuýÉ2z m>ÞÉÒêZ®êQ)afƒ+¤?ÙIë‚—µuøÛaÖ£ì-”:N)ÿó $ßЭƒÉU™7vm ¾—V±|Ÿ±a Ã0„m¶îœoÝ7dÆN ÈZ8‡_T“í7¢ªê?½¹wÚoç¼-Ê7ý?›m¼ü ”WÞŠvÓíçÇ#TTáK)Ø¥ñ¡OhL~^Øh%)jîÌl»û*)Þ¥ZºIñÙö…»ÞXzŸYd&ÝqÍßÇu•räÇo TÛ¹þYJE¼ï ðëÒ?*Úé,P„‰ü[s·³ãV%ò ïLE2! “°¦F€Dxu\ê­ÿ¥[ŽS¯.7VfМUÛCQþãЖ!’0ª:<Ëm¨hQŠè«ªöìC·f7¿hHt}4lë¹ÊÀÉÿé%œ$Ÿœ¼Ä7aÈQzÂcdœ^ºìšìú0#1°Þžu?Ft˜¡L ©mBŠ’ý’yÍ™(׎p ¾”5o³ž ݹBÐvý!\_æú«k©SžGÍüûFáøÙ8‰ m?r0ŒÛæ³–H&´ý'BhŸ`@DÛ5ìé¨GwîÞKŒ;0÷Ða§³QÛ-%ï idš6 ®¾zWióîa%4´´Å€¶vã¥Ýη&ÿ3‰F—éƒÔ–Tµ~åÍ©.®}d%È"ý¥…A¹¦BË=‘Œ® .¨ÄpÒ7ŸÛQ9u-9t Ц›»žxì<|Ïí; .¡ôSh#Ä™Ï)½é³í©æ†°©KÜÖŸwmµ¶˜e»Ý LÞ¥bUæ½\aõ÷öyÖM5¿ÜûS¹Sçó+-^sý»“_OGÛz$UŠŠ0ªy¬­Ô¡›Ù+y†wš»nCuIBRÀºµxul;·éW—› ‘6t¸püëq…v3šðV±Ô¹_⢮øeD¼)?î~™˜¾™ÂWTÌÜó>QÚ›®¬<š&l}@ORœ0~ŒÄÒûy# E¾¾ûO€12Ï.q°iñùó‹t¨ !;.åÓó[­­Ÿ¹Ò v>ŒpBÛ|ó"Bªˆ„çWÀ9?ÔS~ï®ôÓ`ÐXÅàRdÉcodµ< ÅúøâŸ$´èUJ0ªÍ]vU~1ƒo§’„ºÕ4ïÃa7ýt3ü• MUî6ÍzÊ@öãáoÚ q±jÊ;††$g¿j¬ÐÃ#áy,€ˆk™+2_%ä4?ÇÊ.{ñà½è@c9Šˆš¥¡âÍû–ñKféë@J±//}‡ÒpØ,.Æåbª¬ªššššš]±/ßÞ!çãm_ß*kæ޼îôoϳo˜wÇ)‘ÝÔÄÈ— ‚ŒÙÀºXÚŸ¥§£ Èýµè”ò¬Ò¯<ÌÐÍìÈ8áå»2¯…êË Ú˜)NÛvß±ïm6„¾fž‚ƾñu^wý= ¾Vk©eö»Uò¹3ÉzwyÛéb]—UCÄ{¦ª=Œ]tyK¨ô«¾.kIA—# +|bŒ¬sËœ*gž9»bpë*N¢ÃöDGµŠð5"Ý aÑÆõo?ãª!÷IÖO©/—„ žÒrNb˜€\1 ©)Ê}óæMNVêýÐ][#k¤­l•…H¨Ýâᬫ|Ã^伎9´n–ÊÌ9©€"o>D"óâõ,†1ònì9–ucб1ãŸÝÇ#Ÿe}øðîåÿå°h ¬I«ß‚¬àè·F?;`ê¬-Á1ÿ{•ùêEBÄ'vº­A$L9Éçÿó²•'/RsiÃîÈÔ·™‰§7íI•uZd$ˆèØåcHw·l yþ&/-z߆³ÅjÓ§i ã¥g¤Ý~(ì¿ÇI)ÉÏî†ø-÷ºOædÜå59å1¾›ãåWÌQ¥â€Ñ>[†½;àœ×áÁLœRQ¥ŒÇé6ÆønyšS—}ÐûLaÿá£TqK §ö]FzzFnyÖP’õ*ýUÖç»GNUþëôÏ^e—´ü£ýöŒwµÝh³Ç£-ª=RËxô®õöw5»™/¼Œ‘•XÐ×ÌR^ÐN ¼:‚¦Œ# ¦¹]}ϸõÂo6³‘¶ó ò?>1Ù€][!2Ês±bÂZǵ!¯ë1nMÊWGŸÔ+Ö[;Ý„ÿB|Ú‡„ïì<Á]¼i,„Í4ëcr ywïV¨Y( ·̼WÇí)n£¨…éééé¯rË›0¢˜‚†V+ q"B•×ÐP” 1R‚|ö‡Üy”ôòŽ+{\–\,Ó™é¤%hw®ôÛûÜÕ‡7ÖŒýÌ{òèæ¿©ò¦Î»y‹hí=ÿÉgónG»j $o>çèÙ:Âêàu{¬ô˜d°_HZsì’%Ãât=3‚0åcÌÞ%{ k1 $cý½cÍ|’+?Öç´]?ø"«Kû7±€ó´nS^}çö*5œK:QX¨ìîáµA ÐãyÑ{:|Æ‚z "&&–˜˜»téR€¸øïù(ÔMµµµ¶ð¡ñ›ËÊÊÒÔÔüÕ¥€øùǨþùæ1îă·}w騾 ÷ãõãÏZE„/Pú÷ν§Iÿy5ý“jôßÿIIIQ("‘H"‘ˆ­šÿ&“É$‰B¡ÖgÎÈd'ìá@½Ss—ïøñã#FŒ°²²‚½=‚ %:xåf;Æó<Ü_!ûq8ŸRÓúÏÙ2]ñøÎ ‚ êpÂAPÏ"ÒFûìù99IÛm´û)YAA¿#8êAAA½ìúCAAP¯»þAAÔ+À®?AAõ ð1_¨…¨¨è¯.Ÿ†QðÁcÔ-½'\^Mÿ¼Aôýà¨?AAõ °ëAAA½ìúCAAЮùç®aׂ ‚ ‚zØõ‡ êYŒd_‹¡Ÿ×÷|Nœ’gÃIç Ù=Ÿ•Àa½9`¡0ât¯¬;AP—Á®?Ä Vyc"ú…ü@»¥GŸVr~u±~GXÃۨ݋Fª (Š¢CV‰+jÂÚGXNÛj¶ÿŬÖ8Ÿì›m®Š¢¨¼½×•·Ÿß­.#ÔËÁHEQTÕÈÁ/‰Á'=#eßì†tEQTÙp¼Û?ÉÕ\l¬QÕ]÷¼ÆËrƒÜ[÷ÁªxÊ™mO®Ç:½ÏRqÊ\d«+‡¢(J2ÕûÚÛF À*¾é;o¼…ŽŠ¢ÖGó>×g{ç⡨eP. «¼1QFin|mWêÂ_OG›S¹ã’ØÂ¥†¢|ªßÝìpÂK”ç6òÝÃ/~ÂmÆ·À©cÝl6]Äþô¿‹Û;Ø ldf;Ùegxj•€]κPA¬öå‘Y&tEE5óEg^7´œ‡M¯÷ê–PÕé´üeX%1û\'šiÊ (*§c³`o|iûêpJ®ÍSGQÔáf5Ƴµ:mÏZõe´ýBÐ.î áAHf»#wå6UæÜ \³möç—D¾ç=¹, “{Ñ gCÆÇ1;^ëÍõ:âkª$ÚX’–pé¤÷^£˜}šŸ#LeVåÆ^ç·`¹òó+Î2DÀ. ]„iÈŽËÛM¨Í/(ýéB V\rcÂj¿É »,$AÍ“]«.R__3H´Ãþ¼KÅý¹r–ÿë1þáG‡£ ©éÛæP›n}à IDAT]‚·U¤t£ˆ¸éúƒ³¹ÿ,[¼xÙÎìCž¦âŽ N©€òHZÑÍ+Ï>²0NmfäÅ¡¡u¨ÈS;÷Üé”N3vÛ“ï³ÆF†B QEÉý¼—›I“aÕñ‹­È)19 œê ¢²¥¡Š ª efï4JAp¾‰ÿV¬’W%ÕWù‹i°Ýtö9©5NL•!À®)®Ä$dû´ÖŸØG^T½¯fÕ½­f¥ì?];aï¿Ñá[Ì Ít<Ñ„—¾ùó6v†"ŠÊ©›Í —÷¹´Ý¬sß½mIPEQ‹}9Ÿ;dˆ¤™ÇÛªÄ{MSöz™ItÞÃ)@$†ù…yÓÎNÑW‘SîYàxú„ó7vQÚE5W<æ3·.<õx´Y³J8Rªýù7g¼0âfÇ/¼UFAäSvIÓWÂú“á6•¶¾¿Ù°Š£ÖÛ/Ž5:uhª"懌R ?X©ý „ª¤/J3?t÷¡_ˆ¤è¼Ï=?QÏÀé†ö–½¨Ï÷øfNÚù×[?‡Ášš†ã7Euº“úå¸Uöîx4`æêa’ÌÜ3«ösVìŸOo:¤-]·=ÿoÔ}3¤îï˜êüw6ç!ún¹YK㟑†aÛùïYbÛú[fÜúzÙ~yˆ ˆ‰«¬/ÏŽ=¶u‹“—jì>ã'Ót<ä€êÚø-Ð~~èËÅo½º€•±ßq)aÔñ¸}dš<,BŒJF‡§`¹  @ý­¾\DDuoi ©~‹î[û…Uø½¥wòéyÊÑqs6ÆšŸ '<°úôcóæ‡Ëoº±ÙT¬7'W&ºEÎU%Ðî+)ŠÊ$×ÅÍ™Q©5ŸpæÂëÅÛ „y½+Aß vý!\D 5 q€¦ŽåÉ)‡®¾sXÏþ‚¤íf ã¶ù¬%’‰mÿ‰Ú'Ñu»‘6öþ­;qñÿLÜ;ëR\Àð>¿÷·Rd]ž–W‡éJñü8&J*iéèŠ]ÝSŒ$sŸŽ¡ÓP’„l_¤¦¸Š€pªŠªA9IŠˆôaP¦­ØrO$$«' ÎäW`8é[:>bòš:òèê‹¥ZxäOĈC÷ë¹D¨¿RKŠØGUW__¼c9%ÿzn~¤½åúÒ—s]V™p{®¸u»Ý M¼KŬx{ðÒ'›v/¶•hkì͉¶;šã¼A§;SŽZÕ¹xøë™àÔ…·žŽ¶íXj?Q„QÕÀcm¥6ÝÌŽXÏ'¼œ†ª&’dëÖâÕ‘Àç.Æ·^]@DÍGˆÜM y7fNóÞª6ƒ„ƒo'¼_­Ùæþ¡éí Å ‡)~å!pAÅÌ9íy]×7Ú â`Šðˆ¿õ‘ 8ü%97ámã#ÁxBcdœœ7yO£KD¸Ë@*`dÆ$—?I6SØø9Ñ"MÔ00ùæ,â—©êæÊÈÅ·ŸÚ¶ ‚~¤ß»ký44T2¸¹Á Ø›{¯ëš·³JŸ=+—ÔQ“$¨RTP_Éhîâ°«Þ¾¯çßÛé„$©iã¼jû‰±Ç,ʯ‡¤}uQFAGBm§ë³†d·›ÔÀª.ë’¼ƒ»½pâ\@$t,•™i±YÍ“¨ØŸß+3"O¡jØh>eµŒ_2K^•‚~ÊR¼ôJÃa±¸—‹DåÔ444444Ô•¤øö9nnÜtOÕëàÂ!m ]rÐíd6³ãî8¥"±›ÙùrA€1XÝl=®§£ ÈÒ:jBe¯¿6û¦›Ù‘ù…—]™[À”5”Œ.à8ul;ž}o³!H ó¾|j|öÆI+¯±‘²ñtÑÈØ·õFñç 䬼ÐÍÇŠôV¹›K|w­~vᥠçxn¶‘"p9Ü–‘„€pÙr~aŒ×§æ9쨘ri­±DËá³>”×*Òß”ô¶\OøÛ^šØn_FΣ|¬¿ŠÔï?ã‚ìúC¸85…o²³³³^¿LÞ¶ñZõ›‘*B$™1ËG°Â×nºø,÷Ý«Û+w¿¦Ï]h@K3ÉŒ³W^30Œ‘{uçát¬ƒŽé'¶]{œYXZš÷"::‹MÓ¢}Ãè°€!+ÍÜë9(sÇø©ÎÜ~š–‘ö,64`ñ¨q~iŸÀD$Í\f)äž9ñ¢U]Ì«ƒÝ·_{ù&#þغ/åf¹˜Š¢Ìx·ñä;^Ï?ÉÎM‰Üµöä{™ÎÚÂxéɽ÷^Œ~ð<ùÅã;ç·.\›@´ž5¤ËkrÊ¢7yÜUXwp¡iíÜi°úLn‡éÄ8¥¢ö3 ×x{£÷ùGYù¹É‘{<ŽHK€S“—žšš–SÖ„1Š3ÓRÓ^7ß%âmpªÞ¾Jý,-³¸å³ýöô¼šî?´ÙãÑÓ;›~?¿µïÏ»šÝÌŽ€^€Õ¿Ž'ea­(h}'¼:‚¦ô3ì]‹؀O½ø4öHFïú÷°ùÓÕ“:«¾!÷ÎOV*‚ð-3÷Ü ÞɆ›Ç‰¤§¦¶ÔŠ(®¨¥ÓJKIœˆˆ*hi)K’Éû½vŸºÿ<éY\ØÎsÏ~8o–ò‡ ÷캰¸'­ cÏÐ×uÍ+;rª^œXf«I£ÑhŠÆS}£ [Ö¡c—%ìœd /£ f0ÊíÄ Gú—Å=[VÜðŽ//<õ•bª›rþqg¢ŽÒh4š¢á°lF§e$¯Õô¸õ9×wηÓW Ñh4šÚ‰«$¼oâ± %+ÿÔ(å7Ê8Æ.K œ9T™F£É ç‘Ûº8(§&õŒ«F£© qÚù_ñçÐóHߘyÒeœ‰F£ÑP ³)žÁ©ÕœÎ…æ½ &§üö2-Y«=é_Ö%e…8ª(N8“×qÝAœR1ßßÙ9ÃBƒÖ|LÇ»_xUËÅ0 «ŠœHkGÃõQîöŽM‘F£Ñ´×<­çµÝþê›»»¸'^ô~\´9®LS7ßýºeµZ¼êw/;üðr«bjÞ”ôe)Ëïñƒˆä]ÇúÇ+5hæûs˜ÖýfóE»kKcnðl-ùaÞñ™!c>ï2È'¥¡þÉj­Ï¢>/úË—Âüz1 Ã0NEìÊ!£d¶.~Ì,¸¼ÊJ]^žnîú¶ÝŠÈ¿ªFÜò+ã;žšfYí/5±_÷lÌ82ÏF_‰F£Ñhòú£–=,ë¸Z)\Ü‚¾G‡Å=11±ÄÄÄØØØ¥K—ÄÅ»8Eú½ÕÖÖvØý÷KJJÂF£ï-aµîÄ©x|xñ=:®i6Íçz~ãçw«ÏŒðq²Ô¥Óét=K§À— >éi‡·Ð£Óétº®Å4Ï )5\l¬étºÉ¦¤©{ì4Ì7>lÝ«yìm¡a»;…uz ž¥b—= Z>ÆPN§ëÙ,ØwïCK—ŒóéñQ׿L4èt:]ÏfÖöÈüF À*¹í¿lš±Nsò ·xtú¨ãy,¬êÖt5¥‰u]© =mNitÀe±¹ ô©øÕìvv8a$¢£]m ùn3¾NÛèf³é"vERØ®Nãl†YÚþ5ÃmÏÕôj»œñi­°ºÔ‹¬õ´µõG¸g5´T¿)+h‚çýênD£‡±Jã¯nk¨F§Ó5ŒÇ-?”ø¡}u8¥‘Ë ètºÓ파۞µ«Ÿhû… ?\܃L·…o7å6UåÆôܵh‹VâK ä{Þ“Ëb2¹Ýp6dž˜3) Kw¦ûÞMFŠÔ¦ÒW÷/ŸÝ~Øð†¿úçS™ÕoïÛ¸|⽋ÓP"`¿X±ðpùÔÀ«'Ô«bv­Z;_D9jƒ°Þ…,™¶½l´ûžUF²”Ú¢7µâðÓ¤ ¦z8k+H‘êrïݺeN̽ }:B„dìsÁ{°Hó J?!zËæßšî8!Úw¨¨}¾w}eÞ¥úÔûó.+ïìâù‡œv…,\¸vébѨ+KéIJèu‹öfÙùžßoIkH¿äíî¶HBóÖj „Å@СÎkm¾çS<ªŒ àõ xÕ…Ÿ6ëݵ“©ª öÊ5_mñªÙ½ì„ñÂH¡ê9ýEœuâ¡»ÑHGúשcÛÝm6”.dËÌu¼ù¡ÌÄes=õ¤AijÔ™¯Äï½²ÏAŽÜ#ýøí¿5Á»K›Ž7,¿•êÀºàJ– ^úØ8¿Ýñì‚8Ôßw1_+qúÞnƒÒ#cÇݰó0y&ây)º<È>Ú-zÜ»ôSå׉è:n;²Õ^Œ1r"¶yî»–RÆ$Iúˆ5ÇÌVéÊǺ c„{&«­‹ºà¢ÙüQ¦­kd3iA9K0A›««¹§‡Å…&½gNCEXùWN>•pŠðš`@@ÉÏãŽMÀ©¤•‡-¸÷¦ò‹Ù=%À ãæ\pÒÓ¹B·¥(ƒô¤ó¢í#“J˜#úðè û(k(Ön"j¸rÏìhçõûí£Ö"ׇf†¬2íÐÃÀjx–Š]5Mlb¨×äÁTè‹·¹EÙ9—6g›Î‡”ì&•«¦¥“Pr]qnù‹Â& !®8Ùk+)…‡‘Ž]ÅÃp‡yÕ_G›Pt÷ß|…éCûyW'Œ¸Ùã…‘„TFš‘^Nªi+ÑÅ üxulƒ]ÒÝfƒsàTÜß5sÙ •­aû—Ön¹¯ìyýâÍæBÛÑG¨M™´a¥i°£¬€|â4Œ6X3? 07AÉB\SÓ¾ç²>²À€²›ÛNQ–…Œ”&þÜÒò%jæfÖúÂP‹”d¶,úÙ§Eª(À*¼ìµ·fÞÑ…¦?nû£$‰îœ¶}‡^4þ }+.£ðÁõGUÒÆ†Èp>D¹ÏÞþ?u÷K1q‘ûÇ×»Ì Êhäÿ¬7g¯ -¿œ”“yc‘ °rÎ^%/ {öúUÌ&Ú­ÞwʹìÂwŸ¥µ¡qÝ‹<¶ÆV–,8ƒXߊýáÞå4¢…«“F»!,²Dj»Ã(|p%º¬n$G«Í|T@Ñ®N@’6&WŸþü=³!óæÃúà¦[èi阌Yr ¡”Å'}ÛêÞ%^ù¯”fi­ÐÛ)DÌÈ-À™{aõŠ«ƒ9N{Ö‰u:*x¥â4±E¤õ(ÈT ·üyrKHÉÖj@ñíë/ÊX§.ûVxÅä/-‘Žoû³ôx´±º× bzúýù÷0»›¿0Š(UjJKÌûÊYùÓáÔ±­ÓlØeq¾ŽËniî¼|pš2áýÐÑqëgh~IPÎ[;yÿQÀ¦ýðCAõ|H|TÔÈÈ»ÿ¨H#V$ì>T5ËwŠœ€Ü¾ð‚±›¸BRR"`½ ó<Ô¸h÷z‡a}¬áÞ²At:]ÃÄ~åñ§ŸàóÔƒ`׃5Ýo@§Óéêz×Eôu òL€]s2ä°Ë×ÙXUIgÔê½k4ó.žOÿÊÌLñ1^+¬P D¥’úÙ{-6íOF„•Çγ ¥Åå6rjŠ*‰ŠæVJ(M^ÃtìÔò‚óMü·b}x] h•:”·j°†ÞðÅ!}Wœ:ì€`×–Taâ2}Z?͉’² ª¸†ÍxŸ_ÃJ :_;Î/ôêù CŠþ^8çhfnzu ´ét Û¥Wå¼În6íÜwo[:N§ÛÎýÜ!C$LÝ|¬«>hšèçn*Þyg §TdÔÜ-»~8âU kzìïªßWqq³-ç<\˜9TKMÃ`¬Oá䣇§}¥ëÒ®xtº¡û3>í ·.<õx´Ye9¥œ¾Êýø7g¼0âfÇ/Œ•®xSÊÄÏïWÀ«cÛ4? Ù°Jïlv\yÏpÏå= dX3?¹A í»šˆˆâ@øý‘ó($…iþkh!Ó‡˜Í»¥¹Á5逶½Ïè¼@§a††Ó|ït¼“úõ¸Õ<•v\n.ÀÌ ^ÄYº{–JûÓÔß|‰÷þ—.‡Ÿñwìû(`ÖüSo¬õBПD€  _¬u®?Æ®/IŽðÛ¶djÔÑI’¥)E}¡VK’<Àȸ_Mjn G—Ï[‘eôÚÌ2!K«h|&ˆJ 3‹\!ýÉNZ¼¬­ÃGسå`o¡ÔqJùŸ!™ø†nL®Ê¼±kSð½´ŠåÃøŒ c† l³uç|ë>¸! 3vbxDÖÂ9üò šl¿UUÿéͽÓ~;çmQ¾é?øÙlãåO8 ¼òV´›h??¡¢ _JÁ.}Ú@còóÂF+IPsgfÛÝWIñ.ÕRo½5Ç6¯Ø>ÁÐ cí4R:?€nUâö…»ÞXzŸYd&ÝqÍßÇu•rä™™Š|úÆíçú#d)aðºøuéŽíáTƒ (ÂDþ­¹ÛÙñ #B&aM, :‰ðê¸Ô[ÿK·\ä;› +3hÎ*‚í¡(ÿqhËI„ U ž‚å6T4Š(E€ôUU{ö¡[³›_4¤º>¶õ\eàäÿtƒN’ON^â›0ä¨=á12N/]vMv}˜‡‘XoϺ#ºFÌP&Ðd¿d^óŸ†F&ʵ#ƒ/eÍÛ¬'üCP€]×—¹þêZê”çQ3ÿ¾Q8~6NbHÛ ã¶ù¬%’ mÿ‰Ú'Ñv {:êÑ»÷ãÌ=tØélÔvKÉßû[)2MW_½«Ç´y÷0ˆ’ ZÚb@[;ˆñÒnçŽ[“ÿ™D#‰ËôAjKªZ¿òæT×€>²d‘þÒ \S¡åžHHFWTb8é›Ïm‚¨œº–ºEÓÍ]O<ö ¾çö€Pú)´ôœpæÇsJoúl{ª¹!lAê·õ'Æ][­-fÙnw“w©Ø€ ®·ðؽ9u?Ö’û @î-zIšÞŸT™xôr…ÕßÛçYK4ÕürcìOEäNs×â3‰×\ÿî$Æ×ÓѶI•¢"ŒêFk+µAèfvD¾aä6T7‘$$¬[‹WÇös;¾³ÙiC‡ Ç?¼Wh7£ùoaK}áИû%.êmîšòãî—‰é›)|å!pAÅÌ=諒éêÀÊ£iÂÖô$Å ãÇH,½Ÿ×8Òð—Ížkcdž]:ã`ÓâóçéP@Cv\ʧç)¶Z[?'r5¤ì|á„¶yTA„>T ϯ€s~ ¨§üÞ]+è§Á ±ŠÁ¥È ’ÇÞ>Èjy@‹õñÅÿ>IhÑ%ª”`T1š»8ìªübÿÞN'$ u«i.Þ‡Ãnúéfø+A›ªÜm$šõ”ì‡GÃß´âbÕ”w IÎ~ÕX¡‡GÂóX×2Wd¾JÈižÔÂ.{ñà½è@c9Šˆš¥¡âÍû–ñKféë@J±//}‡ÒpØ,.Æåbª¬ªššššš]±/ßÞ!çãm_ß*kæ޼îôoϳo˜wÇ)Uë Yl€œL_rYÜ…§,­¿ÌúØMMl€|¹ð À˜ ¬n¶•¦§£ Èýµè”ò¬¯Í¾éfvd~adWæ²P}9A3ýJSië›› ¡¯™ç… ±o|×]Ϥ¯ÕšEj™‡ýn•|îL²Þ]ÞvºX×eÕñ^ËŸ]tyK¨ô«¾.kIA—# +|bŒ¬sËœ*gž9»bpë*N¢ÃöDGµŠð5"Ý aÑÆõoÿˆrCŸÏvAлþ.NMQî›7or²Rï‡îÚY#me«,DBíg]Ýàö"¯àuÌ¡uû³TfÎHyó!™¯g10Œ‘wcϱ ìÿíÝg\IðgÓIEЫT‘& Šå¬è)örX8ή§¢‚΂½×³aïzžREÏWåQ„;*X°ÐBIÙ÷CУ$‘x"žÿaÍ”lž™Ý(1éXš±ké–37²^¼~ýìöÅ‹DÚ–Ú ±?Ý0 rZ›¬e†/Øû÷½îÝL:²zbßþ+j ku·±ƒ žìÝu»è&ýǺœ³ôÌÇÿ$üŽÞà±.\ òý~ñ¥Å-X“òðÉÝó+çüžc1h K^zAÚÆÅk]üß­´Ôq1‘¿„\¦zn[ëgŠób…&L^6ÒŒTmŸù <Ÿ­žµ÷IµåÄòJÂì³›wœJ¾yëÆ…!#C®j\0ȘNÑlÛî4vÑâ˜ë²Ÿ¤_¶óyË.ÝÍXâÂgééòÊÈ’Üû÷ÒïÝÿû4ü“]M%³SÐŒ@ î'g7÷è¨rwËÈí*eN=þR |·©™–÷¢+Üÿž5t~ìˆ ß«uŸ=Î(izÀô˜ÌbRR¶sBÀü;­'ÎìL­1¯G úµ„o.,Ù*7ÏO‡ L#«¢äØ‚’'qqï-:«ÂUŒò'1§9LÕý<#===ýÞ£¼2’Ê5´´þÄÒG%Ø––Fê4AÚúù«b.\½uûæ¥c˃Çïk;l°µª\jyÓÌ5Ï‹u“v}–šÙ‡_ˇJÞ'FÌ‹Õ >h) &¨ü^á¡'|„úaßðÊ+¬å•J‚{‡"—GhXùLþ}a›:@7½eK~èoˇú†0uûEîžëÊ€â¿f÷ž"}ÓÝÁ?îuÿE»)ú{Ñà¾ÿfÙ<àpr¤yÍí.«ãF)w€€V׭ݲã0çðµ±Ï¦ÛY2äVÓ­\v ·ÉÂÔã©ê~;lTcÝGeòšTPü4õVºK™tÊZÉn# ]¯÷²Å“~œ4œ³}ƒÕJß48·áøøþÓJc6Äçä­ÝkµÛÆÔ>*òTy£Z2ÉÇ+ËWäl(½­£Y—°°Ø±#œ·I üæïðn¡³ydÑÝ“ÉEW–ýtåÓ6“)þœl!ç”Ne1߯­›¾þM)]ÛÞwöþ°ÀV ýÉΩ0‚Ëå&''ÇÇÇ×0/€"%uPŸeœIDATVÛB¡¨À—Fwÿþ}++«ú.R¤>ŽQqJ¨ï êš?9Wã¾=É›S½~ïtäp ñ·;7.ÝøjÚ˜jtñâEMMMƒA¥Ri4õék:N£Ñ Ÿî9£Óe|0ÂAM“4äÛ²e‹··wÇŽ1ÚC¡:Åqžê-Hyò…Gà~ âwwî¶¹`¢&!„jÂpÁBÕ-ªŽÏüåß''-ïÐÞß%+„B Îú#„B!Ô$`èB!„P“€¡?B!„BM†þ!„B5 x›/ªÀáÈ{H6R6£êÃc¤”¦Ó\¯¦¯F¡ÿgýB!„j0ôG!„B¨IÀÐ!„B¡&C„B!„š ýB¨n Ruh77¥¸îsçâÔoÏsQÝg¥r„Ww0ì¶£IÖ!„j C$ ùát_þ¿ Z{m¼þA\ßÅjˆÈ’Çç–Žõq2åóù|¾e;ÿ)^”‘U[Xߦӈ¨‹9ÂO;‰ß]Y9¢½ŸÏ7pèrìqéçw+Ê8âïbÂçóùf.þ‘· Ò ÒVŽèædÎçóù|§^Sw¥æKd°ê±æóùv¿¦”n/é ï8#ùÓ>dþ•YNú‹S‹ÉÊ» ®O¶®º;ßphl€0çì¢Ñ½:ØêóùüΟ|®›àÆtÛÊ©[ýüW1€Üô5‹Ççw\ÿHH~8ÝW×xTbamê¢X]·¶8÷LÄAî˜ 'Žüj*ˆó®¬ÛÕNŸÏçóÍÝ„x\JPu{LýáÙêu7¿Ã0CYr»JeÊv›Z½û{ø8¯vÎ.]û/9|磊ÎtŒOÈÂÛ†»šY´»3³¤âsX–¹ê‡vS“>’2ö¨ÂÜØ•úzXéòù|}[¯ÀèÄWU«#Î=1ºŸÏ÷?›ÿùà"„”ƒ÷Dò4¥g–¶ãHÊ><¸°bZøˆ9¶)›ºhÿå=%B!ÐéMhÀY’±!À7"Ó~TȆEnÆœÒÜ»I·…E»Ä®´úÜÂìòÖýø‹Iʱ!ºT½80nXôÛ!ëÎï¶úðgxЄ!jf‰ œØ |²{T¯°7=ç¬áfÀ(È~PÀ£ÈOOÑt:Òθ­ðÁ…5sçéߨֽyÍCHÐÜ#Ž.veKÿ`´4gP¦¬ºÏ”ÈþI¿uЀ‚k¿MÞÏwjš#§Êþ,û“±cË¥q‡ä퓇mÔäÈ— ½#Bº_Žˆ|Q-;ºËâ#QîlékM35P¾rñ¶ž! äŲê¢H·¶ðÉ‘©æAë h «©\v¬7g& Êô:¼± ¿äξYƒGhØ$þjÍà8ŽèK°áò7_Gº>Éí*U(Ûmj¡üñÞ1=f&ëý8yl¨ƒ6䦞Þ2£û¡¸õl`@ÿouú†äW¼‚ðɾ_×—LM|4 |—¯YÇ|O×£ ŸîŸsÀxÞÙŽÍTç`—=:)ßnDäcÖ›+›çþ6d8óÊù‰m-Ê963â©£ \©´ÏW\å,\¸ÐÁÁAÙ½®^½Ú¶m[‰DÆÌ jL(JRRR÷îÝë» ßXZZÚŒ3*oÁÐÉEU7´°´ä€µÅÌÄ}þÎx'ê¢AI~êŽ93WžHÿ@²Œ:.Z9ÇOŸ%·BÜý.O?ê£P”ô“Ó})«sVwñ:îÚñÖ–˜k¹zS¶ùŸ >Û;ÒçΦݗ²í‡þ¶#ªŸÜ?0oêoGR߈€Ö¬U÷Y¿o4gÔs üW§û§Eþm97áØdØÙ»y z[΂r¨ÔÂV–sÒöÅîMy^>DWMøøÐÆ«ÃÏÌïïÄ0=ç±)eúÖN’äȨT—è¿VèRœÝ¥¹ÈIß™g?zš}EQœµñ>‘’SÞ½¹ŒX˜ÚÌÌ®M^•m×eúÚÀ3ý&/ë—0›X1yeôñ.Üj…­gm¯'}-z±'ä×;¬sK Å$`~$@ijv4Q=”¡iÔÌŽ® ½Œâ‘r§eÕE¾:omJö…£‡µ×¢*ª&™¯\vî¯Rÿ)35cx‡VtÓ©3l¼‘] Ö `šûzÒ‡ø»À÷Z6Â÷!·«T¦¨Èê6rˆß%…ÿ8ú¸yÔ©({'„$™†]<>ÁFPþг¿O«ž¾Ó'uñ82T_E¾U\Jø:#O§£».)ñðÐÜžùZ:oN†nbL>á§MýÎÅU„ë¹ò”ç§?\lé)£Ï\Ë ¶Ð¥€0ûà´¨‚q;¾ÜçJåϰ÷¿iÑ¢…²»Q^^þþýûº(Rššš å+zˆ*‹e\àlBó¯èkIÙ—Ž_þ íæ¢C¿:5q`Øu«9'¯ü/n“ÑΟ­L/Uü¬mG˜SÎÝÏylNáý퇓N¥g?½²ˆfƬso%¢ì˜‰³ãMCNþ/õvJÜ®YÝ ª3‰õµD¯¦Q;Mnͪ¼™®¡Å©òÁg_:t6›nåfÈ 2.?eØ{[Iç­iÚ® ŠÒ®½(/É8™,hÕöõ²>Nf†ÆvG.‹Ï*H_9‡Â'‰‡Îçò»t5Rf8EðÜf®!Ùõó¸q?ïX;ۧ訳OïJåù¶ûÒ$Y’0Ú’ÏçëÛy_5¯>×f×yk“…÷âŸòµG˜ÊfÇ4ùÁKçÅÙc7ÞIqá?gö§1Ûõµ•¦R3ë`Zš–øø ŸÊúTë®RY­»èMì¼>£OÛ¬8·yˆåù{S¹}æ´ùw"™à´Òøßî¸×*¶ìG†žƒÎ«ÄËÙ¥‚GI—ßëµáSßÅ/^ñ᧨A*2|‘…–”I˜-Z¨Q„OöM]Q¼jŒ«Z²ïvN`(¢á!¡/‘å¯è!ªŒÉ”1Ù§Âg TÏȲ CZñ+þ`8L9æÊåœßOp0j„»:3×ÏŽm¿nGÚ¤Um½—z¯ùÓ¼t héö‹‡À¬×¸N ‚b”øqŸ¿§štôr2Õ¥‚.ßÐú;T°Î sïåßË´úDù'•[˜å:mßÖºTaAÎR½U³O+¨Í 4àãË|añ‹Çù´U; ­<¹”óÏþéÈ„¸©j²Ó‹…ñCí†%”@3¯Å§{ÈŽÝ«kóY—“¦·’¾¡á1+¢ë¡1qì€!ê ¿ýÊÙ“©í¿ÂEñÌM«ã„Åž¶mŒ9Åc7/Œ0„L:7ÉRѤJñ4œ¸µ¾]­W®‹L¢ºníò7÷sÅš]Z*^XB*›aãy(,°ïmVPm‚bŽ ©ˆ ¶®¡Ú»¬Ü2pbÉ˰~Õ²«TVën#Ì97sò”+îkÏE÷Ñ£¿Îx#«® !ØÆmtaÿ?¯… ¯JæŠÐŒ†¬œ•2±¯}$ÅÄoÁæ>ì”E‹þé·aöãHÿ1™d«ÛöÔUL’W¢#®j;á©A”?Ú9y•xâÉŸÌé¥Ï*¥úŠsÂ×£P¾0ã)‘H‚¨ëK$\ðÓèIñ{ˆê IR"‘P©ŠÎa2G­ú#y>­õ'EÅ97cÎ5É"açÀf9©Ï ‹Ÿm+BH:ßÍ­eþí‡ùbE¡?]ÏÁ¨RB×¶âWœÕ©Ü¬²l„é0Âv×4W×ý>Ý»tõûÑ¿“)§Ñϲ´vQ'"]2އÿº3!íÝÔÎZò?‘$I’,ï¨åã»6' Í‚5ºÇÈü9PQ÷e± Šó²â7/\08Ä,~eÛkmÿ˜MOLše U×Çl]ãK!ÊÛ{µ ôæµìR¯fjÿÇUv·ùôý\šsð©áÀá­¿°J—aÚoÂ8éK7wÓÂö}vîËî  J­ºÖŸ ·0S(¯EâªuQÆ·jín¡  ,šâÞ¬tv’‰¡Ã³º,Ž öÔ¤Y4{lYlÌ(:Pè,YZ"$TòCTÛ®RY-»0cU@¥û–„•}t¥GžBW£ƒàƒ Ú]°’’÷`pÔÅE‚c¸%±¢K”܉{¹sä¡÷‘~Øo»¾‡±±ÇȹñíwªÐdqúæÑ?6˜w:ÔG€ðᶉë¨SÏŒ2£T¹$õ焯D&÷” ‘Hž>}š™™éççW9þ#Iòó¿¨q#IRAQ5"‘hÑ¢E~~~íÛ·—7‹Å53 ¦†èûûw­¿•­%ãÚé׿ 3ž ¨2¶$II¥ó$•N­üŸ¥jR AÍnêé»~—ÿ¸xqÙ ÑÃ&,ëÒ¬Á ¾e¢ëÚéÂá»OŠH;M™_ÇT ck[;ØÙmÜj?þé€ù4u½æDAÎG!€€øã‹|h¦¯ÁPÓÒfÁ[£Š1SÏ^v>}OÊI_øp ¬l ìÚpï8ŽÙpeþ‘nk/%K€`¶4®˜#”³>^œ{rvèU›§‚n ž¼¡ÏŸ¿Úñ:ËØŠR?–Û*h°ÕŠÝª½ ±ÿñ;!€¢¯yYký•I,_]·vW?v !øX¢x¢dvÔ÷‰k¾óÚµt\W °±Œ~pÞ{ãCæØ2Ä%ËhÍT5¬ýº®R™ünCå·ï¦—|8ö™ïHé Þ,3/GÖÞ?“^N±2ù·»–=¾˜ô†çäiôÕe¨_åvÌ>e·è¼Ãû5i¬n››©Sü{jŒJz\êëRGwÈ*‰dlÝyið‘ÃÁ­Ùþ‰MÍ»–êa8÷s¢±V|§©g‡ëV Z¾xNX±bÅÓ§O«mtrr ÿb©¨TªÌÀîsÐ_RR"F­HI$ ý=é¬ ýI’,((8zôh||¼‡‡GÍÂS(”𣂆Z¡ï†(ù 0ô ɇ—2‹¤Û…¯nÜÈÓ°µÐ PØšl(þ †8¢_+yy”¦aå5dòâ­§ã7wÈ;s÷‹eTu4~×AmDÉkb²Ê*oæ¿­Þ44ÿ½YÉ«c P·íhR~7þ¾ôÑŽ¢7)—^pÜ lK/kÊ»¬ó—å¹÷^A M†¼ôÕJ# %¤DBR8ú––––––­Œ5F‡â×gçλd²fŒ{Ïðe>¹k¦nË*—½;™}ǹö£ýM”[o xpõ)ÙÒT³ÞV)Ôuk]ËÖ‚ù63· R2;º¨¬TÄ¿ço‚²¼D(}x”]®çd !`u_ÛU*“ßm(šžaG·÷ÊšÛoÒ±BBÓkv°eÆÊ…§s>/ >9ºù…ýäíÕ¿º õIôüàœ=Ú³C½4)±¤b&… ‘Š,I!™ÛGûG¼spz[õŠnÊí¼6)á“3Qn°_p*iSo­ªaÉÏ ½{÷æñxç!sss7lذÚŒÍfSª€gÏž%$$deeµhÑÂÀÀ@MMJ¥VKƒšJÃA¥R544ìììôõõãââ–/_~ýúu’$«¥áñªO…5˜Á úþÄÏfeqH± ÷ï˜'òµ‡ý`ʤ©ùþÒ-"xú<÷ S<9bf/Í4^çÀ†aGõ¿Ëìó‹-<>¾d]:I´®u^¥é[—'iy{·5m&z{þ¾H'P§¡?߀n<,zö‰½¼œ3ÁßÕˆ]’›žtpë)nTìJ«*) àá†?ìÜzsüŠvfÁí׆ÌXì¾vŒÕ‡?×ÜÖåÆ*§×Ô^‘£Cæîјê©v߯Û^ZNbâSe§¤®‰JhÙÞÝ’¯&zsïÏMIÔÎëÝk}_¥øíùy³â cÁÐé¹dÉáNÓ¦ììqúgó_Ê’wÉ;âJ]ëQù~CqÁ“̧…%Þ–‘‚œîÞ)Rkaf¥O¤­ ¿Ø¢c{]fáƒØ- ÓzÎp[–ÜôlñÇÇ÷î´øüpOFKsKÝšÛ)(‹^×­MØùµ–,¿ü´ÌËž)¿Y8ºJeG¡»õ±/ Ÿ¶gÕ„N:‚»ödk ð3gYœ™øL³Cg#ÕZõ]AVW)K_ýÓœûþ›ÖДî65д}~;¹®¸Ç¤~³9g—ù¶¼SëöK|à„ÞŠ÷D°ßÞ6iä‚T‡Y»ºRßKô9*ÙÉé5K'~}nþzÉ/Gzó©@{Ú->¿ØŠqáÂ;Ë©¦ªp£üÑî1}ÂRC·öàd§ßÉ Ôt--´xFÖ¶ŸÒ¾âQ Š¡µµ‰Rk}p¬¬¬,,,‚ÐÖÖ€œœ777SSÓÚMMMR)”ùòeVV–P(ÔÑÑ‘†G………Ò˜©Ú¾8ëßDÔ<ô*‹B¡ðxhü_‹¥,m›^&tŽ[]ûÌ(,ÆëóQ£–dÀÔs¼zW°¢›3 ‚m?åh¢ÙêÈukÆïz]À3i×sdäLgvÇÒ3mFþì°)b]bˆ[oá[÷½™:kºï®Š–ˈõg;±€Ò¢{ôѨ9ÓóïôØ&^Á{VN±e€ìôelλ„5“—gfú¯8=·¿n-ïi”¼‹›?ó<ÊÅ ki0AÕõ_~¤cÈô}¾Gª6a+~·ý2é¹Á[§ò»%Oó{MúzûO=¶KoÏuf1__ˆž°êu)]Ç¡WرÅAV ùéÛ)º>Ͽң–5‡žþ;ºUÍín›þS»êUB«ëÖÖê2Ê54úü“{k†Üjzp”ËÌÇíÞýqfø’þg0õ\FZØŽ dÁÍÃ7Õ{ïWf!ý÷#³«ˆ‹ßL¹ãVJ(ßmd¡ë÷[s¢x\Ïq¸{·Û,í<-N­:\Z•3l÷Pc:Í»E,>?| õF‰Qïˆ}¾ÕŸ•ZÈ´c‰…—"†\ú´Ílfò¥–rNéT¥.@·nÝΞ=«¡¡!‘HÊÊÊzöìY˲q¹ÜÊ‹ø|~YYÙË—/% Fc2™$I~žõ¯å{¢FFñ]³ªF]]½yóæÍ›7$Ijhh888ØØØ|®…ÌПàr¹ÉÉÉñññAAAP3j” «mÁCÿßݺuËÙÙ¹¾K©cTtmf牴-ÉQmÙ_NüI^Úm›×™3A¦ßbìÜtºtã«icªÑ‰'455 †t±>•J=vì‡Ã)//WSS4hFcT} '.ãpñâÅ6mª?’¢¬¬ìÅ‹¯^½b³Ù,+//¯C‡•Cÿ­[·ÚÚÚæååÕYýJhÙ²eJJÊ´iÓê» µ%‰¶mÛfhhX\\\PP`kkëèèÈáTŸ/xøð¡§§'lÙ²ÅÛÛ»cÇŽ8ëBuŠë:#Ü7òÚ#A[ûºŽýÅy·Ó´ÆDû éjÚµk—œœL’¤R¿½ÊãñjÞI£Ñ¬¬¬LMMsrr^¿~­¦¦F£Ñ*‡þÒá.øi ?JÕ¡®®^TTdiiÙºuk6[ö —[ýGÓL B¨¢ò{F¬ý>9iû„¯óù.Y!TŒŒŒttt¸\®––Ví÷âr¹ò;faaallœ››K§Ó«= ãþ¦@z”PèO¡Pœ­­­ÕÔä.ð$I²æu€SC„B!)GGÇšÓ™Š)ý¥h4š™™YµÒaþ oS@¡PPè®®®_Lƒ¡?B!„<>Ÿ¯l”&sÁÏ™ššæææ*;Ì@ Nnn®]à ýk£æB ÆVC„B¡š8ÎWLÞ{{{'$$Ú_æF„½ŒŒ &“)ý©/Ðét++«¸¸¸³gÏ6¬Ÿ1C!„P!}ü¢X,ÎÏÏÏÏϯïâ Ô0H$.—ëèè(úÒ€Édòù|??¿·oß–——×w B!„B߃ÁÐÒÒ’®ñÏ¡¿X,.++ÓÕÕ­ïâ!„B!„¾*•Êd2¥¡?A’$ÇëÞ½;.€C!„B¨ñ …/^,,,¤Hÿ‰D%%%õ[&„B!„зURR"‰¤¯ éM3<¯mÛ¶ ƒÉdÖüÝ/„B!„PÃRRRRZZZTTtçÎÂÂBøú‡ÃOOÏú, B!„Bè¹rå Tú¡C)W…B!„B}kÒÉþÏþ8¡?Û÷dIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/warmup_resistors_2.png0000644000175000017500000001170613634703632021020 00000000000000‰PNG  IHDRô uÜ ˆgAMA± üasRGB®Îé cHRMz&€„ú€èu0ê`:˜pœºQ<bKGDÿÿÿ ½§“ oFFsÍèü pHYsHHFÉk> vpAg“î|±Éu‘IDATxÚíÝ}Õ¹Çñï,³,ȰËû"÷‰¯1ŠZñ5X7j]•(†$hA,TT@…ìbˆ È‹¬‚†7Q$ʽVJJ!Q£ hù’h!Á+(U^W`u¹0²»³ÛÝÓs¦ûôïSü1Ìö™§ûìyž9Ó=ÛSZZŠ{ÞZå¥a÷îÝC±Ÿ†z떠ᢠKÏ„e¤€"Sàí…DD$ÈTÜED,óü) ÔŠŠŠjjjò½£nÉD=“‰z&“€öŒN‡d?uÎÝ߆a9³lþÃÒ3ai Èè´Œˆˆ…TÜED,¤â."b!w ©¸‹ˆXHÅ]DÄB*î""Rq±Š»ˆˆ…TÜED,¤â."b!w ©¸‹ˆXHÅ]DÄB*î""Rq±Š»ˆˆ…´Ìž¥nÉD=“‰z&“€öŒVÀ È~j™=†e19ó–ž ËH#EF§eDD,¤â."b!w ©¸‹ˆXHÅ]DÄB*î""Rq±Š»ˆˆ…TÜED,¤â."b!w ©¸‹ˆXHÅ]DÄBñ|ï€?R©f68tˆ½{Ù¸‘üƒ… iúNœEEôëÇÕWsÞytêD«VìÛÇæÍ¬][ýøãlØï£É%WÙôƵ۶eÜ2S*½ó/¿\»kW¾5‚Bw7ÎTÊÅ¿d’… Ç×øk^vÛ·7Õ|þ|‰ÐôŒ+a¹±­ç†a¹±­ù¬ÛÐm6ÍK£ÙåT"·üµdæ~DïÞlß^ÿÉXŒD‚“O¦O®½–‚ ¨>þxzõâûïÙ²O–,!xë-,`ÃjjèÖ^½¸ýöXëÖ©[náĹürjkó}´"¹ä0›† á”SêgSÓ©tÛmwJ¥œ²d%¦;Óðzöì´eK‹&¶¼ðÂo++÷%)àþûÛ>õÔÑ)G§NÉþswII7®í¼yõg#§žZ»téÞŽ“Àرmÿüçã°K@׎ €HõŒ«lzöÙª6m’›MJ%;fÂ{Zæä“›ou÷Ýé?úè˜ç'NL?¿hQÆpƒ5Þ6°=ãJXN>xn¨Ó2NºÊ¦ŠŠö 3¢ÙTÊË‹-N%pZ&Šß–Y¼8ýàôÓ9å×·oúÁœ9Û¾ôRãmE¢éå—Ó“îºá$•^{­¨aCñ‘mçܨ{¾Cª«ÓçÍ£E €5k2¶­ªj¼­H4}õÕÑ â‘Œp’Jû÷Ç6E±¸wë–~J±gÏÑçgÏn¾mݪ{÷æûHDò­´4}µn69I¥N8zùU©” Q<-sÍ5éë×»ž/Œ‘~°v-_ï#É·«®:xøÛl2äÀáJ¥‰\q?ë,ÆK?ž;×]ÛÞ½k J?ž<9ßG"’ogEYYúL¥«lêÛ—þýÓï J¥‰JqO$8ç&MbÕ*ÚµX¹’yó\¼ÂС̛·¯ `Á^x!߇$’'u³©¸8‰Ël:”Å‹Q*åšmçÜ7mr´Ù_ÿÚfÀ€o’IG·iüyÜpCú¿óç3dHó¢-v³©²’Áƒq’MJ%“l+îMûâ ^|‘ùóÙ¹³ãß8iÒ¹3o¼Aß~+/O=ñD¾C$gÓ+¯t}ñÅN¶¯›J55Œ_ÜÑɾã§}{Ú·gݺ|ï½HɦŸüä»1cšß^©d^„Š{u5eeéÇwݵÿðµ¦UU±oûö9úš—HtÔͦQ£h6›”JæE¨¸K—ò÷¿¦ž~:}o#ñàH6µl‰²)€¢UÜaÃ8xà‚ (/ofcW7¶‰šaÃ8t(†ƒlR*™¹â¾u+éÇœtR¾wH$´¶neÖ¬’ÕMAó¼ÄL |þyzöK.é¶uk3_ÞÇSË–í<å”ï€Õ«[õë×%Ó@»zY;ä"›”JAºeöÜÊû XÁl–Åä<7Ô2{¾74Ü3ai ÈDî´ŒˆH¨¸‹ˆXHÅ]DÄB*î""Rq±Š»ˆˆ…TÜED,¤â."b!w ©¸‹ˆXHÅ]DÄB*î""Rq±Š»ˆˆ…TÜED,¤â."b!w ÅÜXL|CÜP8` Ã6çá9ìsÓÆüØ~*`‰ã+‰Y† Z*ù'žéZpó׈wyÎ:Ñ©œò%¥K2mi?k¦×T?TÝñ½Ž™†H£ k®¨©ŽWw\Ó‘R­<‡#Æî‡v'¦&Šºdüû Ÿ#JHu ¨S6¯Ñî+;”6þy=(c{ »ã»E+Š\´²:•Í÷UH cð.\×ø3~Kiõëk¸Œ ¯ƒw›úHèÄGáÑŒ/©¯BfÙ3n#®Eª’ÿËA^Dª’å÷åêýO¥lÆöµ°Úe«€¥ú*d¥`LpsˆW@–š W`œûŸž#v…›aª§p’{àW;ØôZ€—Öæc/Íí¥€+L…³4•ì-îÀrØ78Þ~,Lrs5&Ëp7ÀXnðÿÿ ;³ˆ(¾zæmvUqVwèÕäv½¡+ìãÞÊÓŽÛI˜äæÒ—R©1Vw`,ŒwvÙøbè Ï™ ‡ñî¯Üf1 s¨ùúe H¥à&èa£^0R°€o¼_LÍšá±ýt'ßëW*e`{q>‡¶ “á{SáÂçð¦Á Ã\#‚ž[ÍØç!`\] á0n‚,†wóº£ošÛßÃdg%[©äŠ Tè [ å1ÏÕ¿Öq!liþMÛs¸ú [ÂG7-ò-bWØ ]›y%]PͲg•ÐÌݨáU(«óÌ}ðT› W¯ÂÇÐŽ¹†á±] AÝûê(•Èù-ƒåxà觘 ×~_ÿK»¹xøïèÎÈqD‰&Ãc{6l‚à€RÉ©(ÍÜÏ` Œàxw÷¶Î&ÜHXŸ<ÀÎ5$4 í}ð$Üc*6¤RÄfîÀC°–ïÞþŽß¥ÏâWûj-C û5ÒœG\^ƹ†„Éá‘öº©±=>¡v±RÉ©ˆÍÜm°ˆÝÓvó4ì6nÿìý,Êb1÷«fU…q®!a² ñïéÿ64¶wÃÓTͨR*9Ëû"#æ%K“Õ3ª¿O|eâ½-Yš¬úSUÉÝ%» ½•¦#Ž()øÒ]Ä¢¢¢šš<Þx0¸Ô3J§RyÂÌØNvNVÍG*Ø1è¯aùÑ0ïßR fð|áÏsC}Ò÷††{&,#™è–‰w ©¸‹ˆXHÅ]DÄB*î""Rq±Š»ˆˆ…TÜED,¤â."b!w ©¸‹ˆXHÅ]DÄB*î""Rq±Š»ˆˆ…TÜED,¤â."b¡(.³G`WÀÊ7uK&ê™LÔ3™´g´V@öSËìùÛ0,‹É™?À°ôLXF(2:-#"b!w ©¸‹ˆXHÅ]DÄB*î""Rq±Š»ˆˆ…TÜED,¤â."b!w ©¸‹ˆXHÅ]DÄB*î""Rq±Š»ˆˆ…TÜED,¤â."b¡˜ç…TDD$d´V@öSËìùÛ0,‹É™?À°ôLXF(2:-#"b!w ©¸‹ˆXHÅ]DÄB*î""ú%¸’Ãa…qÁ%tEXtdate:create2015-01-17T11:37:17+03:00¼RÏ%tEXtdate:modify2015-01-17T10:54:01+03:00¼aêÉIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/warmup_net.png0000644000175000017500000000131313634703632017321 00000000000000‰PNG  IHDRº ggAMA± üasRGB®Îé cHRMz&€„ú€èu0ê`:˜pœºQ<çPLTEÜÚÕÙØÔœ¯Åc„¯>j¦cƒ¯Cd• J‡#N‹›´Ñ*SŽ+SŒÐÑÐg}žGe‘ÙØÓ¢©´ÖÖÓ–ªÄ]¬Cn¨Bm¨Z|«*RŒœ´Ñ$OŠ>`“×ÖÓlŸA`ÛÙÔ©¯¹ÜØÒÝ×ÎÝÙÒíœKõzö„õ{î–<Þ˵ç{ùÀþëÎþèÇþçÅþêËøÄ…èzÞÆ®ÙʼÚv é”?þË€þÉ}ê˜BØsÙȵÔÒÍÎÌÈÉÇÃĺ¯Îr'߇4â:Îo ĸ«ÈÆÂÃÁ½¿¹±Ëz6Ëv/¿·®Ù×Ò×ÕÐÒÐËÿÿÿÅÇKbKGDL÷oó oFFsô€hÒ pHYsHHFÉk> vpAg˜Ò›f¨IDAT(Ïc`xÀÈÄĈKŽ™……S”889¹0å¸y@$//.9~~\rØõä…„qÉ ‹ˆŠñ€8†—„„$7HI£ËÉÈÊÊàrœ¼¼>  J˜rÊ*ª` ¦Ž)§¡©¥­£«§o`ˆÅP#cS3s KLçXYÛØÚÙ;8:ÙX[ÉaÈ9»¸º¹{¸8cȧ—•··•—'Åxð =v»%tEXtdate:create2015-01-17T12:39:48+03:00¡ùíä%tEXtdate:modify2015-01-17T12:39:48+03:00ФUXIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/gparts-ss-devices.png0000644000175000017500000011744013634703632020514 00000000000000‰PNG  IHDRú®žìð£sBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœìy|EöÀ«çÊdr‘!œáÂHHD9EÄUÀk=ÐÅuaU”u•Ÿ¢¬²¨ ˆ.*"à- ÷ áJ@@@û3÷1w×ïN†™ž¾ª§kÒ™¼ï‡O˜é®zõêìW¯ªk˜^™=‘ˆ áÚVAÐ+†šdêàF1C+ ªd˜0Øûtâ n£³QLgêèCm+-Lƒ§"ðî@ÄblšÒ$ÌI¾3ç?«V® s¢ø€7ÓúÕl½5yèÜõh€ µóª®ß~wΛú¹ÚÖê6ºëØ@—úÓäëONa Ôi„â|wî›!Œ±Óé,¼Vtäȱ6WTTJËzw¤Ìb®Vóꌗ¦¿ü†Çãñ¿ýô3ç¾ûRÍ î êÝzÒ³!‹Å’œÜ¸wN¯ç¦þãíÙïK‹Sè¶'òî35+H!® œ>.&ÆVTTüåK¹ 9}³ßï£ââ„ÐO?®xaÚä%_'›Û5«×¼kÄÞ½û¹¯7ßÒïËÅßð””|äðÑ^Y=·nÉëÕ«§ÛãÎÈHÏËÛÕ®CÛ=» à‡ ê6Á+ŸPŸD&…áâãã*k^ÕmÓ¶õÈ;‡·lÙÜb±  ‰‰`……E¾ññqÒáüï³ÛnPG Z}õ§mÔŸœP¿0Ô¶ЂYµlImëL#ív2í®Öá^l†A„››èfB‡EDq« _§÷£©©bêÍ‚0½5S;WuöF=ƒèDôk, mB_YÖ['Pq(?þ(í´å‡£›éìñ§·^ 7}j“–gù3d‚tX ä=Gy5ÙÅ‘ðÎ YQ¬•QÈ-5ˆtÁ*⨱~ P×´é¡fþ¤V¸Â¨ÔKTocoFw}eYK¿™ T­×ãÑiÖ„Ð6dUÉ'‰£F>Ùh­< 8ð%ÃëÌ`Qóx%DoÎ% }LÒIëeøºƒös2Äsqê–¡—QGWîU8‰§Ïús@0 Ý7øi/÷uVãÛP‘<Ëõl…þ0AݽOœõÇ«ú”6k]=©¯Ð_ü`ÂâïRKòeIRùäXò4¨C} NUÓs÷©w}]=ÐTQwÏä¬Oî8­ó•FûN½€È Ô›QÝ–¯¢#Ðéô6Å “Ñ¢£(O‘õù°ÔÙà®·qK‡ÊÐwíÕù‚6ã #$•?ªKîäîºËôˆºItÞ%õ݋ţêÓÓ*íF'¤Žöþ=•(Bt[)ù1ù“|§<:ÛM.š¶S¼Du¶ ¡jƒÞìS5Ë‚ :–PQU«¦ˆÊaŸê¬Bw®kÂÍKD¡‰Å«I&,*‘­% '‹-ÏÝ'_BÇþN-¯’ç˜ú¶0Lƒ†ú£³íQBòk×,¡¿É€rëÐUL¹Hõ÷¡îVdTØvd»òtµ5',·:ÚÞ"éZ&HcˆÞqŽ)Oª©»‘îÖXÈ«@›Ç+FØ„0ÖJœ h×µÎ^!E]<‰ 44±)›FXEïÐÙOÿõ©àLÓ"Ð_Ð.RUêD"ŸæÓõûª1*ˆë@…õ®³9e¤´©¾Xæ*ÜWºZ=ÖE^;’^¦f”ÐÙ›Ÿ”G:íý<}é;4©/PhÕe02ÉI“IÉ?£‚A¥â.džkiŒýƒ¥ùù}!vwL}[B=óϨ€öGÙEÃw1úžYÚkDuÜOAŠºé uÓ‘¶—”Ú‹j_)èd¨‘­e£ET´9bW4å½E2Oü‹OÍÖQª+&šUMÜDÂ&âÿõjQéÕâ’´v©â‘åÓõxt¢ô\±±%Œ»;Çd±xrú¿öÉö=Ô^_9„SßúçZƒÙ¢·Ù鄎¾ˆòULûÔH½¹€T¢§‘‚”p‚L…ïbÿ5_”DÕYvQ84R7°è¨¤è6é0d”< Ê.Aêçê…1–^ ÜìD6ó`îU]íÊ®z´0FY»wíQ¿WF¶­¿÷Ð¥ÍûŠ=qm[ÝÐ¥}R|l¬Õ`4°5mÖГÝïµÏ¶O{ r‹_•qª#=íÑ”ü”LòRmMhŸàÎ%¢qð€Bs^i5‰÷R_- ±€äk%µLžkj„@(­HID½"£·= *RÐåb5í•jº„çws(ǨÛÐÞ.DnÄJx÷ý¬%/Ëž8}¶°¨¸¨¤´²Ê>áqf“¹&m¥cYvã®sû/XÛôÌm›šŒ†ÅˆEŒ—E^Œ°5Ii`ï”5ý£í/?ÖQ¡ÅOÝ8Õãy|„òð<©·@O¦ŽŠ›#/ÑÐÝéî€C˜òCŠt<.«a‰RïjÖW(;ù¨Û!”ü¢|4ý11gš §Pz›$“{–êß¹qš#SgÀ¾? ©­gƒL¡[|••›wä'&5l•šš{SjQQ‘ !ãüß.í;oîÙ;#11–E ‹q?ˆñ²øÒûÑ‚í ‹ö¸=&£R¿ÎüˆºëžÔ_½ùCôVáð³Rn£Ä5Ê“‘Тç“ W‡&ÚU€ÈJ0™ü°<Ãi[RuÝRÓ]»&=¯‰¸•B½•êm”@鬊k·ŒÄ4·TP_ÜÏÌ#±ª(ëÓs»Ý«6l»{Ô¨vmÚ6lØÈ`0\½zùâ•‹×%Èä #„0ÆåöÍûŠZ¦çÆÅÛ¼˜Á,º|­âäù²ËEÎ!7µAÃÅK•û6¬›ëŠkl2×Gè5'9&¨°¼höòw8UKÒãÔwªxQ†¶‹ÑvÄP¨‚hŠô·wj³Ñ\\¹KJÍ\Ê'Š º[U¨ojÓÛOžPÚ»‘q3%ÕFkPô§±º[’!†ò¸‚´ö^Õi8NA¦Øª%s²?³%#öà‘c#FÜÞù†Nf³åZáUÇ]\\L–Å;÷_rƶmÙ¼‘3È‹/^.?’¿=Æ}:½gåæ;Ò;7Ý»þ—{úºZµl‘˜ØÀh4)ÕYƒóŸ¥$Ð^PVA]wI©xQ”.úZüP‡¢8ò5î:¿&F{IÓþÙ^}½ÀR‰~4 ƒ‘@&=< ¥T÷;iféh\EŒ:ÿB¼Þv-R$’ºB·UK">妢²êZQqIiYIYEIY™Ùlß3ãÌÙS—.]dYŒfY¶iófD2Ý÷áS¥)Ó½ˆa½èjaÕïù;Ò’.ulÓÔãñ¬\{ÎóçÞ{ú:R[µHJl@v2OXLk¿§ú[ 4´Qù¡aÛÕ¨ZGy¦ y«£êÄ å¥COCbõÕ-–ÐlÖ¤å?¡ä¢“–c¸÷=ÐíÉÔFjyÁd,U!a8˜ÒãO}!éëíê°œÉLyÒ(òY#B:SšÆ£ï¶QºàpÝb¹˜Jó)SFþÜý<^ï¹óŸ:[^QÙ©ó ÝzôJIIiÜ(9&&æüù³'N¯n× bYÖ?¢„p߯w·Óu¡Äœ“ãöbƒ:_ÖÈôgÏ´f &VTT&/ŽÎq¥¶l‘Ô Áh4RþåtªÁ¢?ÑÿeyºI(Y«Wøp$RèñÄÁ麘ˆ}^Äû-ë0Ùû$)(ħ†¢Lû‡¦öÿH¹€ÂñŠõg‡ñdL.ß?¸*È|¹t T¥TÊ¿G¢Ê¹OòMýáA©þáøYr([,¤§„«ÏÝ—TäZQÉñSgÏ^¸Ø¼Y³þ6lØÈá´>rÈãÞפIJ•½Ê׌,K`"¢Â}7ÜwŽ‰ŠŽò°¨¼Ê}îbéØNñI ØlÑ^–}âŽX›-:11ÁH°e_-Äv޾|¿B= ~”DÔ«†ž†}Dï*A´^H½!çXHšÀ5òs/%bH)1BêÊHç)'T¦rú¡y«(½€ Ä—IVÇ2YÐÝóQQ“FëVrN2IÓ{ezxÊS—JBã÷Ú’NQ2Ï¢FâD…÷ªë@±J¥Íö4Âg m¨ tü±ˆ,¶ŒF„«º¤i)ËÄ)p£Êî8sþÏã§ÎxYï 7tÚµ»Åb).)º|ùÒ•«W++*N‡½ªÊëŹ7öu8œÜ`Ä0L´5:@/êx¼,B—›½Xj¿RêöbCt´-Ê…mµ6IN6™Œƒñr‘ã…ÅÑ -Û Æ€ÝîÊs‡Þ›e1›e¤S÷ˆ„Þ}j ‘©»Š‚t"á'ô ƒZ4q‡HKòŽ×j»’KœÄëY7¯å3$”€veTû^ 2G¼LGy‰‚þšÅ!ŠD´_®•Wã$ÓSè­©& o“µ¡…>æI/Ü*@ý}oB ¾éfB fpåú-)MSzee7oÖ !d6™/]¹tòø©sÎ7OIn”˜Û4>6æØÉÓ¥%¥mÛ¶/--á4kœÜ„\5l3T?WZÎ F“Å{âOOçö!l2M&#BÈëõî;ZÞ¼gÿ-¬ˆ1xìØÎœ·W[äÌ}…*ð?*CÍKÜT”Ux˜B·K$¢1¡È¤Ü•„ ¨í5¡‹(Ì%\×Ï*]éT“C ïgÑU ɹŠE¢A6…i­—(ŒžªLí ÷„Ž¿ï Æô÷+“[_oYºË€‚LXä7oýë£F“9*Êb·Û:¼w_‘aÚ·nÙ«ÛÍþ/ËvïÜqåÆm-[¶JëÜ¥Ê^åv¹6lTZ^ì—†¼¶Fƒ±qTÕ•"»-1ŒQ±Öß ÓÎWvhÏÔl?õ§ã·Â¦¶T«ÁdFŒÁåò&±çXÖ&ëÕÕN/ê¯|“?B_Ö¾M>\Ð=—Vgçþõ>eʺtˆB£Ý š7 ]=Ĺ8úúý)©x5ý’¾;­ýPé( ¦³®Æ^RÈ‹TÕ3„2’ªÆ™NuséÆx¶†Ôgášà{UW“ÙrñâÅöŸ:u²U‹¦½{tMJLànù‡7›Í7çöÞ²eSû;wJKIiVø3[Jrf4[§Ï_«Šn`0Ì6c9îþó¯Ç2 K»·³!Ä:åÜw©QUÓœ˜x c4b–©*²wkä0㔜ëOÕ³îNÑW“eÚ~M}=qôçÝ ŽÎÔ û3™*Œkª„¡×‡ç˜I=AÝ£7WˆÖ„š9êÇãê°c[8Ô=Q„Áe#ð÷‚º±š9s_0sŸ¾0!.®Y“F݇Ül0Ä‚!„bm¶[r{Ÿ<{~˦uE%¥UvûÆ—W”+Ö™-¦îã?ä¬he5šM¶¦ª˜žëK˜Uy^Æ`¶ÆÅE·²ÆÆ™F†ªwiyç^³Å$_5ÄͪWöV5Âu"òC¾IB¾¿“¬ èw5}eô8 $앺«¥eŠ}ÁiŽCªì½¹N(W³þVL¨×€ü»\<è6S+Ô¯¤v :kV ©„©zßEžßZ•2éæ"FËÄ…Qåx ê÷Õf%™a“X÷¸µ_„‹1BˆÅ¬`?I¨mj‹¶©-¸oöŠÒcæ>Kì¥ajŽí5™Ì “z´.Ývæˆ):Ø`1˜Æh³5Él0š“É`43F“ÁhÂŒÑYÎØmËI¹œØ ¡Éh–îÝÔWßjåM ñ´õzÛiG½†Écψ¨–©î¬ë°ì¾ÔÛz/í*& ³õê~Dè«ÊŠÇ®‚‡Ã—FXejLGÊóªîOèl˜@ѯe"4s¾alÓÔg¦cŒ}ç[ñ>#„˜ëóW†a¸¯Œ£¢ÂYY¡ õê$ k³õìÔ¨´âÜá³fÜ*3&Éb`†1 †ac00f U%¨êض´¨í]ÚÄÄÆD H~ÞKwP}€­8T yaÙ¬¢£“p:„S ÚN‡û0è{€¨¿†CԌȫ€ò;ý´ÊÆ_mº½@US]–ÔÛrƒ Bìù2Ù¡ý¸Ç*öW3Ἷ€„0ü<6¡èð¼@QÛøå2h†¦2?3&Ñ.ÂùõYŒ1ËYù×|ã uŒ1 bSmè3ƒ!†10 Ã0È`08N%í…AÈb6'%6¸1Ý}øäo'¯•ßlKN²Æ˜Ì6³Œ» ¹\¸ª°"úü=žïÞ>&)1Ñl¶ âSdå5!ƒ|€¡Ôöª qÊïɨQž¡û¶4õŸVQ;Õ§—gòÅCÂùí5wê½&›èûë)¢æ·8u‘ð)ƒ>ÈA÷À Òm ªÆêâ*‚êk™ô;¶\;h¿±NÜñ©ÿl/)T‹'(jÕt”f¾ýb 1€k`ÙšÿYÌb³È€ÎýÎYûÕ6?w¡Âá,­°·nÚH*~×X–µÛ…Å%/9ë¼XSnLõD·AF“Åy!Þ{¶y\Y‡f(¥IRÃÄÄèhkõj2­2ž0”{g¸‘ÑND!Õzjð+š:½BïfµòŒÂ¡%¬ÎT‹TÛGŽ&?ާù"Nh:én/¾´B2Ï-’Pœ®z‚ Û©. $“€ª©ä©ÕN¡ý.j'[†ˆîæ4$ éÍ”Öò× åêÆ„Dv×ãÂÀ #†1 fX0ÆÜŸêh Smò¦Æ·%ج b¢•œÁ`°Ù¢M&cŒ-ºq£òòò ‡ãw—û BÈb6[­Ö¸¸ø„ø¸Ø›ÅbaÈtÝ/o÷t¶YOºøšÇC¸kÈíØ"ò&^¬* B41—Ä¢êetºŽÖÝ@yšÏòCÒ‰ò;AimF…ŽŠ) Õf†aEcýCÞ§¡»Ã‘´_²¸¯q®±àG¥P¨¾´½z³q´KC¨•F&±Q„A ÆÕ{u Œ122ùÌ|#žaBLÍ>þšü‰Í$üâño3Èl1'˜âcb¢]’<ëeB£Ád2YÌ&“Él00Ê—Ò‰o¨ØxBÏ£CáÖîƒÃ!¥"Ÿ!UŽbâ§NŤ aØ7NóA ¾¢N©¬ªõ2ªzdÒ?wŸò_§ôÁÈ'ÔÑ*5ƒ5‰|²¡‚Øë »¤¨šùæ)ÕÅjºs:ò* wüR^³¢4(ÝF§FÊ@ì|*1ˆŸÆµ×ñÅ÷îûuÿ÷q%¥‘e\°ß0ˆ1£%*Ê%*^q"Xâ[­@[Ò±( “ë°ÎßåSÒãù}(Èíñ޶|Ñ/ŠbhŽ*é:LüÍðU—nŽÃpê !”ÐÛÉE!ê+¥µ¾Ó®3}T%¡¿3°ˆ‡ BHÖ1©ÎÄ‚cl’ió4g²ÄskU뙄ôåï–Ó&(mâ"¥?Ó¤^¤*¤]-bI¿¯Òt$‹ú›¨ÄèjÀ¦}¦Šª$ˆ—Ýh¯¡“AUOWM…ÇM¡§Õ †‡Ÿþ¶ JByò£IªÒMHø&å²Ðä ìK§þr2eVb3’‰{ÝV«”ˆPñ z;â6zô>PN†Ôû®;ç€6 I‹ ?$<›°(¡f[Ý-v´§´}^ä²ÉW¸IÑW7¦_Dá€òÆRTlx¢zªé–<™ÖDUÚ[IèCõabTØP:ûýâ%4Q÷>·w¿–Ú í]p*ˆ¨-JЗ6!Ý=¢HÑtC±È‹ËºË4]ê[~‘ƒšy˜"Y˪~ãI_ÐÞOŽ}¤èL%Êe¤»&‡Â±Mjp‰&bO˜8 ù¬ˆz÷¡üV#ù†SRù´·´Ò~µ!# ý_*&FÃABíϛ㧠«"UÓ‡IºšÜ2t=YÍf!-Ñ#¤S[ŠrÏ2å±Twû.í㪪€¤—éÑØ¤þ¼ÑÛ/º¨xVª)"=­ˆIÁÜfÐ×Q´ÝÔ½õaplêuÇ2¨·:]å!DÞ&°—ªì0ÔÕéBÄu@}³]ñ‘í÷8#¡ (›ËÔ«@‡EJù…½ï*rKÕ¢ ­ˆK1Å&$h"K„Ç=vG9ô–e½éèhPß¿7»ÖŠè" T ½U×9£Kå6 Óª•kTÅ@ï0G˯mj ‡ÃþÛþ½…×®°,[Ûº`06JîšžaµF×¶.€®1Õ¶µÉ‘ßö·íÐùî±ÍæÚÖ…¯Û½¯`Ç‘Czfö®m]]S¯Íý+—/Þ1zbËé¨m]0M=2sòwn®mE½cr¹œ¿>PUY¡éqáu†aX–5šÌuËÖGyLNcg]Û†¤CœGl\§ ¶nõ/ÚË­ö'Ö×ZÓ±(Ò 3Ró¨‡|éAMà2DÜfžˆX‰VÚ»?xèpĨÝ´iJ¯ÌÌ1£îJHHP!íª4¦EÊþ=À9‘]˜Ôòøòs§¿0I{¹ ÑCÝ…WÒ'Ö>@„R‡7ó¼2ó½W¦þ-t9‚n¹5«–#„Çù Ö¬Yÿø“{gö[Mš4 =9 ©‹µ¦-Zµ¤³ÂÔ0_þPÊc­]­+fHÓÒCùµˆ !ÄbáÍ<× ‹7lÙyúÌŸ.·»Iㆹ9iÚ…]CQ^žú” èbçîcŒ²FEµoÛ¶ýmcbl ?[üü³“B,Ë.üìó•«×:ìöœœÞ“Ÿ™äñxþëŸ~üall,»¼¼ü‘Ç&~ò¿ùwùËš•ËBwÁ'Ÿ®_¿ÑëõÞ÷—±£GÝ%(*::!´'¿à£Ÿ\¸ðgä¤ûþ2ö¶¡· ªœýé3ßG1Y¢,‰ âÛµiÕ7»‡Íj)ÑgúÌ÷_žúi0MÚ‹…7cp…韖 á óÅC6_¤beóeiצÕð[û©h-µ¸…F¾´*[§Óµqë,+¯´XÌ©-›õÎìÞ¦u å’Å -p…Ṍ‘‡ !áýëEÅ¥Ÿ}ùc¿Ü^#† °XÌ—._ËÛýkçÚÖ‚Ž4Á"®/ÞÅ¡C?ýÌ?¹‹_~½ôØÇçÍ}'&Æ6oþGÿûøÓIOM¼ñÆÜ¿¬ºgÌ(.üŠ_V Ð?&&Æ'êóÅ_œ9svÞ{ïZ£­‹¿øJBBèÍ·f?=éÉÞÙYÅ%%_|ùõÐ!ƒƒÕV’ãßÏ?‰r»Ý…E¥¿ü}þ'Kwwƒ„¸ÐÊ)(ôAjïªÄ¢b¹Â 1]]øÔåòXYe_³aû²U›î¹k(]M´…N¾4)Ûo~\Ø ~Â_FÆÇÇ9ìŽSg/lÞ¾§ujsÉš¨§<<¬D(Üfa~Ӷݹ9={õìÊ}mެɘ;‡pŸ=ïÊu[ÿ~!Ô¥Sû¡ƒn2™Œ¡ÿûϼa·öËÛõkyEeRbÂð!ý‹‹K·î(()-On”tçˆ[’7ä‚ ÐgÇî_]nw—Ní‡éo4BÅ%e«×o;}ö‚×˶Im>rø-1¶h.üð[ûoÛ¹·¼¢2¹QÒÃoNInÄ]çžè,Æ·ìÚwàˆË御CëÛ‡´XÌ¡ã'ϮݘWXTÓ¯ofÏô´àl^½\QZ|ýê¥óþ_Y¯·¬¬Œ»øË/+ŸŸ2 {ì¥ö‘Ão}ñß3îu{ÿÜìÿÌžÛ?7Ë`0°,»lùŠMÌ…çþ®^³öÅçžÁ»½Ü>ꎡ¢B&“ñìéS“Ⓦ{O„PlBCéz5›Í)M mr£5ʲqë®»F ’¨8–e×mÚqà·£,‹oê›Ù'»‡ñrø¾*¬e±J¬ÍÿûÏ<ÒCp0ŸVmR°ñB`æˆ%$x]PaÁÆÿÿ™wë͹;÷ì//¯xéù'ýK[Iq)hê2yŒ±EtÓ;ó‰>i'>.^ºúõ÷¿ôÍîÙ»Ww1 gùêÍGŽž°X,}²Ò×mÚrÖ _þ…ωӤlOŸ½0æÎ!\Fl¶è.ÚwéÔ!´ð‹zetíÚ¹¬´¬âãÏ¿}ê¯÷ýçJzB(o×¾à&$Ö2}„^˜@…ÛÌ#ðºê©3çè+èÚ°egyyÅSÞ‡0úé—õ·î4 wëäéóÜ72ÚjÝUpàËo–·oÓjü½wp_—­Úô𸻹`gÎýùøÃcB?ÿ²aãÖÝ·ôÏA}ý튡ƒnuÇ`¯—Ý´mÏšõÛïq þôÙ Ý—ÕµcϯËWmzd|µSo[^ÁÅKW}`´5*jÕºmk7å Ü!ôãòuÆôïØ.µ¢Ò¾5/¿G÷ÎÁya†a~]†w±´´,..–»X\\òì‹Óyš7KiѼ鞂_s²3wçïëоm£†Iþ¢JJËš$7扅zæoÿðó/ßý´Ü=þ¾{2ztTOɺDî?ùü;î¢XÅmÚºûÊÕ¢Gc±˜·lÏ÷Ià‰ò}URËb•‚„jó¥ç&¾úæ/=7Ñ—Š`cæû Ñ&Å‹žj|Q,!Áë‚ 6~„Ð…?/?úÀh›-꣤¸d›º¢<Ö„ë‰íäg~^¹qÄþ7th#!aÖ]N§ëéÇÇ!„–­Ú„BîšäË¿ðBZ•mËæ)ËWmÊÊì–’ÜÐd2ù®ßØ's͆íi7´ãzñ–í{zgvçf¡ŒŸ]€(#@äaB^«¨(çݰÛNG•ÛeŽsðб»F t9ªB}zuýá—M™Ý;r·nìÝÝëvV¸7´m±qË®¾ÙÝ|_7oÛ]\TíGÏÉìÂEÏéÕõÇ3ºu@½k0B¨¼¬!”Ñ­Ãg_/÷…ï“ÕÕãvT¸Û·Úš—ï»Î}(øõ·;nëïu;+ÝÎÌôŽ_¿¦Of„Á`¸råjl´%6&:7»›/–? à !sŸwqã–¼®i¸‹ $LéùÄļ·ÝzËw?.ÏéÝkÕÚ M¸ïº„šXW®^KI xÙWLTÛ¶­§<ó$Fhÿßþ÷ñ¢ŒwßP»&û6jÄÍ\{g¤;~:Ä.¬I¾$ ?ÈÞ»ÿ÷ŸV¬/-«°EGµmÝ<»g—¨(KR‚Í``vçÿÚ±]«’²Š?Nœ7f=”ñS¶*Ìy˜ÄnX£¢ìgŒÍ|«ÊîHˆ‹á>ÇÇÅÚí¿X–j¹&#ï+ë÷“ñ¾è±1U5Ñ/^.ÌÛ³ÿÚµ·Ç¤Œ°ŽÊ*û߬ ÖsØ ¾{öÞ]ð›Åb¾©OÏ6­š äSÒ»ïr¹þ¼xy˶»v¼òÒsÜÅA7÷_°pñãîmܨá…?/þøó/“ž|!Ô½[—Å_}»vý&«ÕÚ¦u+ž¨~7öùlñ’Ç™`µZ¿ûqÙøûî‘5÷ƒwÞ$9!äeY §(BTV9¢­Õ¥'Vq•UŽø¸X…‘²Z«±ð<$ƒ Û¤Xrbp&¾’„$à!ØøB1"ï’*Ñ_QSá½KB‹¹eó&oÌDâ…/ÖNö<Ú©CëäÆI¾+bªªq±6îs\lŒŸäºpÈùBâ…ŠQsŸ¬n}²º!„ŠKÊ÷<ºjÃŽ‘·õGeõ蜷û@‡¶-wü–ѽ“o×M(ã§l ¥0€:Mµ¹lP¶hÞäÄ©óé];DZE[Ë+ªâcBåÑV«/:OŽØW_ôŠÊJ[tuôÕònÌé‘Ú¢©Åbv¹Ý.ü^V,÷Á=fä Øþ»IrÃCnB>wqý–Ýma$`:ß÷Àã ÃDEYš$7îÞ­ËÌW_Н~ÛuäˆÛ~^±jÆÞ...iÖ4å®;†û$ 2èŸ~>õŸ÷—É}}çí_|ýíÔ½Š¾{ä¨^=Þž3ÿò•+MSRþöø#ÁrW² éð±S-›§Ô”pÅÅØ¢Ë+*y¯ó Œ×Ërf‡Ãé .v±¥+E"ºÿuÒÆ ºMJ_¾(–r¿Âb»®¤©‹åqÒ£cyWÄ _° „FÝ~Ë÷Ë7X­–Œî¤%Ø¢­å•U qÕÙGZtáÐó,A«²õ‘”ß¿oÆGŸU§Ø¶u‹¿íØsðÒ•ÂAzk2~ʶ@…"BÈ`0?«r2»~·lƒÉdlß¶¥ÙdºVX\°ÿ÷aƒsBÛµÚ²cßàþÙ¡-;öulߊôqµu篃úg#„¶îØ×±}*wÝãñšŒ&“ÉTV^¹cϤØâé–Ö~ã¶üþ}3âbcŠKÊöì;4ô–¾¡Uëó²3º&$Ä2a‹<¼û_/úŸD‘1 sçíÃî¼}Xð­›Ütó€›E™L¦ÆÝûÀ¸{•ˆÊÍÉÎÍÉ–Ð!sßãñ—”9vê“çÆŒÄ]«¸Î[oÎÛ;¨¶ÙlÞUð[¿>=B’÷<šÑ½“ÃéÚ²c/RPþ_Å*E,|”ÅRRZ‘Ø Ú”k ¼`¾ëªÛ$BÈ`0H¦?b ‰]VX°ñK詤¸d›:QÅ _° „âbm£ï¸åûå0ƽz¤IHèØ¾Õöûoî—Å• ¹ k’/^`­Êö»eºwiß¼ir´5ª²Ò^pà÷”& }Á²zvYµ>ï–~Ù&ãõjC?e»€ÂŒ‘Gw?Èœ˜÷ˆ›óvïß¾k¿ÇãiÔ013½3¬oVú¦íùŸ}½!Ô¡m˾½Ò}Ñyrľ6OiüÅ7+]nw‡¶­úöêÎ]Ô¿÷ÖûV¬ÝÙ½ó±geÅr²z¤åï?òÃòUöÄqÙ=»r×Ûµn±bí¶Ò²òÄ„ø!7÷ôâ3 º¬w¸'µ`Žæ|ô5BÈl6%ÄǦ¶hzߨ¡¶èêYb—“ÙmëÎ_¿üvF¨wFué ê—½vË®Ý{‹µÙ2{t>~òQ-‹UŠXøŒôN_ÿ°Úíöüý±¿ ñÆÀ æ‹®ºMJ_¾(–Øõ`…¿„žJŠKISWžG±Âl'œ„X›môˆAß-_YœÑULBß^éë·îþôËŸ-fs®Ïœ»z=_¼ÀZ•mïÌ®û;¶ak¾Ë厱E§¶H6èF_0ch—Ö±mðJ ìWÁ&$Ûfˆ<˜…óߌ‹‹~U—ï~øÕßÿKØ’“ ¸¨hìø'*ÊÞóÓ9±ñ —|>?1)I>( Gll\yy™ôf ­¨­ÆÎ<*¤¸¤ìÇ_6?tßí¡ÑC¾Ôé°lõ–ŽíRohŸJI+pésã͵­ 1&„D£¤‡~ÌŽðç]$ö¹0k¥ÖôÓ`6çíÍÉìêñ²[wìkߦEˆ*é!_¤:`Œý~¢¤´â¿­\z@WÊbBˆæÃkîëg™©›9ñÍ<1œ¹®Â¬Z o%Hˆ‹YøÕ2×Û®u‹¾Y顪¤‡|êð·_ÆÇÅ |“ÑÙ^ùº8 0¡ê·>×ä?&Þ¾ÄdÁuó!ÇÊW×!LÀt©­ÆÎx ZpÞ%ü3H¼;1 ?EÞ}ÿ›üšä.’£j@d{–áWðž5%hDJFE(x€—{´Ë4"queÍÊ<ùï×ÙœàëdXئU*óÚ©®s)~ëSlŸ‰µÃdºžd$ñŠVAè«¢òV<'Ð#ÄZÉæ6Ȩ1Añ8¢fèÔ2øA¬¤1(ÕKÀ@We Œ$j,F™¹ŠvóA ”ï(H2í‚GÉA)èñØ:,°_Ë˦´Þâ~(< A: X{>¡2•«ÐEË7Æe*T2sÕÏzÑGºpdÌû$5©fÄH)XB; §ÿ=q÷sMábŒ1¾~¼$÷»Ë0†(k´Éd0÷9{ÿÒáߊϟ Co‚ªZ"³JYÔ-¡ë+4¥‘Nx‘{x‡**’ª•A§®5 šÚzD…2Ù¥Ž¶ƒC´d\744z'DÛ@մІIl™šÒ¹«ÿ5ÎÄGý§æYü&³Å溹Ï"Œ*>¦eF/Æh”H?ÝåîK5Lù„I&Uƒ[h#A Ù A®×Èz|Ut;5^d5C¦º¢Ôê#·ÌC )$ž ÄâzÖ9ÎÅ+¿*‡To íy¡T0äí-TF²±wD"϶Œ ‚n» ~2Ô¤ªZ·£P4ÕŠ‘X¢7AòáKEiÉ/·ÉÊ”!¾a@A[z¤Cë#\v‰M®C…˜?~tÖë=¿7¿Iç4„ÐîÛoì ˲ܖ}ĈlO­a–e †ë†¨ÿfÌ „YŒŠwhÉTuЂ©œå(9T´ø*¿‚Ï_®—ßF¢¬Å•K`+×¢÷ Ÿr“ ¤hµPÉ4 |”Å¡8ëZ¹ 0/YâÁwU '„ÞŸÕ[ÕŠŸÇLuR ˆ‹'Œà—`ð£Z…éÙNj,~ð]éèò€ÚU½ôc ©7dɾž¸fÉIì<ÐB¶b÷ Aj[`*ã(£ä¡¥¨í(ê(,V‘×`+EÞd‚Ä(oÐB–¿¯ÁÌMF‚ü ?²¶‰ÁˆYÖÆäñxBƒA 7dÙíö£Gž>}ºE‹iii6›eY„0Bnnà‹ëçÝÇÞšlè>à`ëV•¯M‰9x®G–”ü,Bù4@b>Cìi²Ÿ…0!ä••¤h¦¡h.%¢˜2QÕ±•—I5 J@毛P‰nWÜ ‘žöÏÿpº·•·*é( Þþz‚&lØ÷§¶ ·R›ÂE0ˆ„¥<‚G7‰Xá€!0ªß`‚QVxIXÞªQ°1@ÑlT[? ïK†IÅçшâÅ×Í<Çc00a†10 c·Û8°yóæS§NµlÙÒápôèÑÃf³±,f/˲¬ßœNøe5p=øI˜üï7gÿßsªüÊòë.S­ ÷ìè>á±àû^š¬ýùê@qé|ìPë[{R¾eJÎ'&(ßê¦^§ļEüJ‹”ÕZúm'¡¡ `Y©Z‚ǶZ•(£ ë Ð „֤𤍍ÐD9‰ÇMSޤÐ2U*NT ¯¬8Rî*åó á5 -­.?Yrë®Rwµ3ƒ–Ôln±hÂç©jôÊ«KËiBn·Ëh4&ƒ9Žƒ˜L¦ÌÌÌòòò‚‚Œqzzztt4Ëb¯×ãõ^Ÿ*ø¿ªðaòËo"„EY, Üо̀¾Y±1j~ÉuöôçT¬LM~ùÍNíÛ<6nŒeL~ùÍÙÓŸ—%{A © eü¤Á»¢BjÎ ç‡4ª“ìæ Á+-@ÕQj¨–,Éq\vC›„(ÍGS…Zˆ‡SÞ04}H×À÷ƒ(- eÀ¡_Ï ­ƒ…ê¯Õ¼(31BÉ4Ù34YR÷U‹ÖÌ2V%„²Å‚5BlŘ!YžI-ávùewB!ÄMpUOøièq»F c00Ì‘#Gòóó­Vknnn«V­þüóÏ={öäçç †¬¬,̲¬×ëq»}qMA"¯ÏÀfO!är¹¯ïþõà?X8é¯÷%5H Ÿ¹jlÑÖm» nìx™Våh¿’dy‘D,FHѯ,‰Û–І,’„Ư«Ú`­Ÿ]ÙÂó,ʉ’â* *­"Ҭ䆪`:™èB 9êV{VˆXÉSí6ú(ÉP ÌIð0ŽÊY‰¦JÍ6Dç¡LpMšÇ0ÖUóZ_¬Š°,‹1‹1Æÿù矉‰‰íÚµ3›Í±±±QQQ{öì9þ\¯^™cѽû˜Å!Œ«?ø®˜M¦fMß9äf«%jåúm÷Ý5 !IJxåÆm»÷tº\]nhÏ·z½ìÌ÷>~aÒ#ÑV+½ÊîøÏûŸLýÛÃÿúÏ{ÿ}ùŸ!¯—]¾nsÁÃ,Ëê×g@Ÿ^‚¢¢,Õ'Ý=lМ_th“šÜ(‰§gaqéO«6?}ÖëeÛ·iõ—;oãV¦LŸ5jø Û÷”–W4NJ=bðµ¢âu[w—”¦$7úË]Ú&7’N´® å‹e‰(¿J“à¹ÆOÙû &WšÚøŠM?‘â{ŽjÒ!}Œ‘£z½•œ:a«ë°Ž¡µD•Á´Œ¬É{h¡‡Ö¬Ò”5p¯‡—¡H¨ZÀ¤«¢#åÐñ·ÉB˜õ²¬³,ƆÎ;Y­ÑÉÉÉf³!d2™ZµjeµZËËÊ0‹Y̲˜Å¬àf9zgt{wÁÜçõÛvžÿóÒ?múaå†åk·Œ>¨{ZÇnÎÍæÂì,ØŸÑ­³ÏúG­ÞœwùjáäÇ'DY,k6çIˆânE[£Füå¿Lzø>£1`äÇ_}×m·Œ}»—õ®Ú˜÷Óê÷ß=œ»uìä™§º×mݺsïÿ¾ø®Sû6¸‡ûúͲÕO?r¿t¢€©ýñWár÷¨O5D •,(iN˜KZ£j»F4ª7‚ZÑÅ|-h «ÍJ‹ >–Pà¼û,f1ÆíÚµcü|gÆl67kÖŒMIñz<³XÌ»þÜi„Ëå¼|éOîŠïƒ/™Ê*;w1/ÿ×{† tV•;«Ê³»w\øÍ/7f¦¥µkùÍŠÛ47–ÅÛvïý˃¸ðÜßÝ{Œ½ýgU¹³ å¤ß !ʧ@¬ÕØ´qâ÷+V÷ËN÷×껇 „Š ¯ „zumÿá?ú´Ý“vC›f¿lpõËêêûºjÓ6ÙDD±¹_ç©/ù¬#ÔÛ­öýè —ËÉçÜþîd}–ÅÄàöð`\½åGØÜçý / zºWÚ6kw±¢²jÁ’åþw†i”˜Ð()áØésÛ¥;u¶yJㄸXQUöÄø8žXAQþúõî±ø‡ÕíR›·Hiì»xáÒÕM;÷].,v»=¼X¶èêõ‹ÙÄûʲXBè•:R9 ´Tüά†iª ¡&£™š*~Þ(„ÄêF­}Âhцü®-_^­D¥•ˆæ›y¨¿H&`Îè ëÔÏÚG_w0 ãûŒ9Ç>· gî#ÞŽGN´n‘Â]ŒµE¿{H\ÐA=YÝ;mÛs ­}jþÁ߇ôËæ‰Š‰.-¯HjçEL”/–ÉhqKßVo}`ÔßÅŸµ‘q IDATÖn»¹oFÛVÍ¢,f§ËýöÇKÅÔü*‘hA#óBBŠø 'ò ¯”Fâ÷Tå#´Ì«ST)²‡‹)JBSK…LXX W²_®Ô‰SˆO8^£ªÅ×\ˆS´#Ÿî«ê…ÇTÔ¥?b€üðP_#—&7º‡gîã“!cw—³õ«ç¨ÆÒgY–e}Û}ü÷î35ÿ+n§¨¤ìàÑ“¿Ÿ83þ®¡ÜÅž]:®Ú´{ðM½âcc ‹Kóö9ø&„P›–ÍÖçí-øí˜Ålnâ÷~-«Û m×nÛ3l@³Ù´=ÿÀ-¹½$Dù©„%6èÙ¥ÃÚ­ùþZ™Œ&“ÑTRV¹y×>ÿÀADà«p¢!ÐÂé*Kvϯ@pFðªbƒ‡øAÄ3Ik]M%Ò4=%%ËûŸ5RLóUJé랈Ɉި»F¯IÐ̈"ÙÚ-jÉŸ`Rtµ¨œ_©°µ"µ·eЇ‰ó”KÒbµGàªHA \%±‹”Q''þ6yÍÉ<ÕçóFà…Ÿš<,f½,Ëjì}゚p„B3?XŒ²˜M âÚ¶löð=Ã}cr2ºìÜw諟וWÚ6ˆïÛ«›/VV÷N«6ïºgÄÍUÍ „ÐYÝ7äíýxér„PnM”>™]wî½.*7«c¨é†ë"²Ò;/Y¶ÞwqøÍ}×oÏÿ~ue\¬-§GÚ‘ãg †êQÎ?Bˆ1¼ãË ¡>½ºíÜû[u¢‰ñ¹½Ò F£Dy‹!d¹+»$Øhƒ* Å]UÚ³Txæ• Al#ægÑÊ7M¬9ùL„T Jò3m|” !˜s•T­˜Ó4­·óºÏåZyꓚOÊê^©Tzc’}7€‘ø&/\R˜²$%*‘«Æ¦(Ct†zƒT(AH¸h”––XÜ €Œptþ5‘" JE°8£*@`ʧ H4œ~„ó5ÿ{µ%ª·ò Œù¿…ƘE,çü÷דyçî{p¢ÓQU°k+B¨hÿ¾¸öTØ <ò2å¬Â-R^nÀ7%«“êì2%ÔÚdŠ=ÐÁÁHÆÞ¥ž/"Å=N(>ÙX«É¢‰h Hø_ˆ—e¤—ÔE“¶6T¬+ú±u5Ðv燢úñþi´á]¦ÕIÇ—™l«Û‘¢N ès—ÀØ–¸!r•`}˜D‚¡ †Òœ•;Ñ…Pi¨ß™¦$«ª‚ÈÌ*øÈU±ýK‘z²dæ¤å[öDZ¤ôž¡‹þycÿ[,¶–¨¨¨(kT”Õe5™N×ôx“‡Å¬Ëå²Y«íüëæ>·›…aÑ Ytü©Št`ÂZ²ÚüS&Zj µÚ±ªì^2HËSQx™µß…ëáäÄ*IUhdªþ C¦Ò nÄÓ·š@J#ÊO–”'J’ ¶dgÒ U+D î+zQœ“k&8&™È4}òŠ–X¶½H ‘Ž«Ò®bæ€l²Z¬þ‰Sês'ô— ZŒ $ÌFÄLÑ@óWÐw+÷@T´ +0c¾d™àK‚•ÊTü£)2åb‘úë«/°ï†]’}LHÅF×sÐTäÖÊZ–TøàÜ2·ùwEv9øÿê[ý®.f«wôõ‘êÆ,v:UŸIsÝÜ7rÇõ3 Â×÷»K;üDðÀ"2†ù6œd`~¯%±EÉ=û$å™|áBm`¡èÌõ¼E‰—\` öSŠ »/…x¬’žêúBÉ Ò†ü‚Rw©¢t?Y,¾Ð@VôŽØnHÒy6uÊ⃲úÙ #CÈ›~ÔîIkoänr²„ùE7"Ül°²q%ØÙ)l ÊxÏÅžJ†¬€0ÜO‹¿l.$üî¢QdÃÉXiÁ³à øØ®ÌÂëå…B !ÔVI;Nð2A@ ÒÁ1?Hh£µôÌAjÕC|#¤/þv¹\³ ,BßõŠ1Ë"Æ`ðû--¿÷tY1G7à&‡ÓwÝoßAÙ7)=~Lá[r]@úâ1é¡Q2µaÔž¢Ÿ¨ŠÄdþê”Õ‡éË_–U0ÎÃá˜2@ñP¥ÎÌ5ju]X>V,v,ú!éñŸ.“ªzªã©†E}"ûVÙêEµ$†±%'sÇϤ¶i{îì©æ­;{½^·Ûãv{~Ý[pôÈá Î!„Nž<m¾ÂC=22½ÛíözDDÌÔºÉ5ŠÀ‹.?hùŽEQ¤½¢A¾sÞ€šVÆÄÇÒ¶rd†³Lc °td \ÂaNRUÊËYÆʯ>©À<7Œø7™ÛÊKSù=^³”,K‚V$)SmT¢ö£ø¦òÎáRÆÂW¾EJ˲¬Ç㩨¨|kækØëIhc1˜®ÛÍÖ¯>ÿô«/=;õ_Vk˲.Aï~°™%e%ð• Ëøä9V%ÌdI“E"$O&¸ˆ„ÁÊMvåÉKeI¹Õ%2 P¯ß‘nf¢w•Ûdå)º |UT7†œw”„`å3;˜„9ÈäIªH•÷2sã€É±DRÊ3ï6( Ò&*í$cø:Uäõ;ü^/J žt‡Ÿ 3Ò;qez‘³€ß°D5”«à’ÒÆCáOÈʾù t‰¼ÑŒµæ¸|…¹½Ò‰ ßä?ve >ÿf@³M¥#Ò?' ’ê¾×Åú†šÀRË’÷x!òÈ7!$grÆ#²Z¦`&}?ü)ÔJU¢€^H†Û?¤_iü¢»-¤7‡0*¤B"?kJ~i…§øõ$žþ¥ïûv½t…Áb÷0¿Çù¥ˆ.—üñõýÏE+´ÀŒÔ›ë¼ó6(Ë<"ň„ jX¢O=™•v©‡_1–e½^/f K¾\Ô²yÓ&I -fKUe¥Óå,)-q—”·j’™%_}~ÿ„‡X¯×î2÷O8”1j™FMÛx½,cðùä™3güc•”” 6LL&D6Ræ~AAAAAïâ÷ß¿wïÞo¾ùféÒ¥?ýô/À&Nœøücܸq¡ÈñçìÙ³=öXïÞ½üñÇ-[¶<ÿüókÖ¬án½ð ééé«V­ZµjU·nÝ^xáÿˆóçÏ3fŒ„dˆ`ˆ7ó,_¾ü©§žjܸqãÆŸz꩟þÙÿî®]»þùϾöÚkC‡ E?üðÁ=ztBB‚ÅbéÚµë›o¾ÉÝ:uêÔC=÷È#œ>}ÚëÔ©S;vì¸ÿþûIó‘±¹âĉ´´4îsçÎOž<黵~ýúéÓ§Ï™3§wïÞ¡È f÷îÝ·Þz«à­~ýú}öÙgåååŸ~úéM7Ýä»õÎ;ïLœ8Ñb±È*‰‰4‚ÝnŽŽæ>Ûl¶ÊÊJß­^xaæÌ™:u QN0¥¥¥‰‰‰‚·¦L™òðÃÏŸ?!Ô´iÓO?ý”»¾k×®âââ!C†(Q"bï~tt´Ýnç>WUUÅÄÄønM›6íÕW_Ý»woˆr‚IHH(..¼õÊ+¯ >|Ó¦M›6m>|øË/¿Ì]Ÿ={öäÉ“FÉ€®QnÖòB›ûíÚµ;|ø0÷ùÈ‘#mÛ¶õÝ9rä+¯¼2eʔ͛7‡"'˜ììlßQ<<öíÛ÷È#øöîïÛ·»~üøñGyÄw"ÎÔQ8 Þ`0ŒF–>~Ÿ1 F£ÁÀ7ï‰ÍýáÇϛ7ïêÕ«W¯^7oÞwÜá·ÿþ³gÏž>}ú²eËB‘ÃãñÇÿôÓO¿ÿþû²²2—ËuèСçž{޻զM›O?ý´¼¼¼¼¼üã?n×®w½Àî+iN@'0 Ã0LBBBYY…ÉlâùúÍf3bPBBÌÿ–ÔÞ}ŸGœûÀYÌ£Fºpáwºå¨Q£FŽɋճgÏ?üpÒ¤IÅÅÅ&LP!‡ç‰/((hÕªÕüùóßÿý9sæ8ŽŽ;r’B3f̘9sægŸ}†êÞ½ûŒ3äK êœo0³³sN_8Ûªi³¸ø8·Ãår»JJJÌ&£5ÚZîpæäô1¬×ãoñ3ï¼ñÂ}Nt:ªZ´¾¡ó€ ù»ó,‹Ée0þ7ÿý?þ8Ö49Ùh2"ÄØ¢¬F‹éÈÑc:t|ô‰§X–õ¸]?-[ñÐø±{ÕŠŸ¾!>™€0Ã0ŒÑh´Z­“Ÿ}ñâŸöíÝãt:B=ÂzñK/¿Ö´Ys¯×íp8¼ž€ý<`aÆ`0˜L¦¨¨¨¨¨èÎi]:§uá…q¹\N§ÝãñxÜo翪 @]Ì}ˆXÀÜ€ˆÌ}ˆXÀÜ€ˆÌ}ˆXÀÜ€ˆÌ}ˆXÀÜ€ˆÌ}ˆXÀÜ€ˆÅ$q/33“ûPPP໘——·hÑ¢ýû÷[­ÖÜÜÜÉ“''%%!„***æÏŸ¿yóæË—/ÇÄÄdddŒ;6;;ÛqÑ¢EsçÎ4iÒ„ ‚“àˆ‰‰Ù²e‹&@ÊÜç¬|žE¾xñâñãÇÏž=Ûáp|ôÑG/¾øâüùóBS§NmÑ¢Åüùó›6mZZZšŸŸ¿`ÁŸ¹Ï²ì·ß~;eÊ”/¿ürܸqƒÁ? Ž/¾øâêÕ«Úfê3Ä›yæÍ›—››k³Ù’’’žyæ™ýû÷s×óóóŸ~úéæÍ› †ÄÄÄÁƒôÑG¾Xyyyqqq÷Þ{oƒ vìØ,Öív/Y²ä¾ûîSx„´wçÎݺuã>§§§Ï˜1ãÀN§38ä7ß|3vìX„И1c–.]`ÅŠ™™™ÉÉÉ¡è€?êÍý£GΞ={Ú´iÜ×Y³f¥¤¤¼öÚk >|ø¬Y³ÊÊʸ[.\8tèÐСCBC† 9tèÐ… üE±,»hÑ"ÿ=ý„ŽJs¿  `òäÉo¼ñFjj*w%..nÒ¤IK—.ÍËË{ÿý÷ívûÔ©S¹[ß|óMqqqŸ>}233ûôéS\\üí·ßúK[·n]jjj›6mBÉ <¤^ÕcÍš5³gÏž={vZZZð]†aZ·nýì³Ï0!är¹–/_¾lÙ²fÍšq.\¸ðÀLœ8Ñb±pW.\øüóÏ«Ì"{÷/^üî»ï~ðÁ<[ÿ±Ç[»vmaa!˲—/_ž;w.·­õêÕ]»võÙú¡æÍ›§¥¥­Y³†ûº}ûv«ÕšžžZFà£èÜ}îwhæÛo¿=z´/ØÖ­[m6Û£>ºdÉ’×_½¢¢¢qãÆ9993gÎD-]ºô‰'žàI=zô‚ FŒúä“O`×>Ð@þÜ}%BYYYYYYÁ×?ÿüóà‹ýúõëׯ÷ùã?–WrB:ˆ=æ>D,`î@Äæ>D,`î@Äæ>D,`î@Äæ>D,`î@Äæ>D,`î@Äæ>D,`î@Äb’¸—™™É}(((ð]ÌËË[´hÑþýû­VknnîäÉ““’’BóçÏß¼yóåË—cbb222ÆŽ›ÍÉñI8~üøSO=5~üøqãÆùäsÄÄÄlÙ²EÛì@}FÊÜçltžQ¾xñâñãÇÏž=Ûáp|ôÑG/¾øâüùóBS§NmÑ¢Åüùó›6mZZZšŸŸ¿`ÁÎÜ÷qàÀ)S¦L™2eèС(pñÅ_\½zUÃŒ eî 2oÞ<îƒÍf{æ™gÈ}ÍÏÏóÍ7m6B(11qðàÁƒö¸k×®—^zéµ×^ëÝ»7O¦Ûí^²dÉ‚ ÔäBÚ»¿sçÎnݺqŸÓÓÓg̘qàÀ§ÓrýúõÓ§OŸ3gN°­Z±bEfffrrr(ÊÀC½¹ôèÑÙ³gO›6û:kÖ¬”””×^{mÀ€ÇŸ5kVYY™/ð /¼ðÏþ³S§NÁrX–]´hÑ„ Tk€ *Íý‚‚‚É“'¿ñÆ©©©Ü•¸¸¸I“&-]º4//ïý÷ß·ÛíS§Nõ…Ÿ6mÚ«¯¾ºwïÞ`QëÖ­KMMmÓ¦:MC¹¿fÍšiÓ¦½õÖ[]ºt ¾Ë0LëÖ­Ÿ}öYã~äÈ‘¯¼òÊ”)S6oÞÌ ¿páÂ|P…HClî/^¼øÝwßýàƒÒÒÒü¯?öØck×®-,,dYöòåËsçÎõmëçèß¿ÿìÙ³§OŸ¾lÙ2ßÅíÛ·[­ÖôôtÕ@ Eçîs¸s3ß~ûm„ÐèÑ£}Á¶nÝj³Ù}ôÑ%K–¼þúë7ÎÉÉ™9s&O`Ïž=?üðÃI“&s›õ?ùäص”?w_ÉE„PVVVVV–¬œ:¬ZµÊ÷õã?V¤&ä„t'zÌ}ˆXÀÜ€ˆÌ}ˆXÀÜ€ˆÌ}ˆXÀÜ€ˆÌ}ˆXÀÜ€ˆÌ}ˆXÀÜ€ˆÌ}ˆXÀÜ€ˆÅ$q/33“ûPPP໘——·hÑ¢ýû÷[­ÖÜÜÜÉ“''%%!„***æÏŸ¿yóæË—/ÇÄÄdddŒ;6;;›‹uâĉwß}wß¾}ã=züýïïС/Ž˜˜˜-[¶h˜C¨·Hy÷ ü }ŽÅ‹?~ýúõß}÷]llì‹/¾È]Ÿ:uªÇã™?þÎ;¿ÿþû¡C‡.X°€»uîܹ'žx¢ÿþ«V­Z½zõÀ'NœxæÌÿT8&Ož|÷ÝwkG¨§Hy÷™7o÷Áf³=óÌ3便çç¿ùæ›6› !”˜˜8xðàÁƒs·>üðÃqãÆ5Šû:jÔ¨ŠŠŠ>úhÆŒþ’Ýn÷’%K|“B$¤½û;wîìÖ­÷9==}ÆŒp:¼`»víºí¶Ûü¯ÜvÛm{öìá[±bEfffrrr(*@¤‚1Ba¡¾»a\ó …bî=ztöìÙÓ¦Mã¾Îš5+%%åµ×^0`ÀðáÃgÍšUVVÆÝ*))iذ¡܆ –””ø_aYvÑ¢E&LP­û7Þx#55•»7iÒ¤¥K—æåå½ÿþûv»}êÔ©Ü­ úG/,,Œ÷¿²nݺÔÔÔ6mÚ¨Ó€`Ô˜ûkÖ¬™6mÚ[o½Õ¥K—໠ônÝúÙgŸÝ»w/w%;;{åÊ•þaV®\™••åeáÂ…>ø  eƒøUÝÅ‹õÕW|ðÏÿØc3&###11ñêÕ«‹-òmëì±Çyä‘ØØØ¡C‡"„V¯^½páBÿWr·oßnµZÓÓÓCË (:wŸûÀÊùöÛo#„Fí ¶uëV›Íöè£.Y²äõ×_¯¨¨hܸqNNÎÌ™3¹©©©|ðÁܹsßy窪*›Í6þüvíÚù$|òÉ'°k4GÊÜ>t_ì"B(++‹·?ÇŸ:Ì™3!äv»ï¿ÿþ .øoúøã•ê €bB:ˆSf³ù•W^™5kVQQQ˜“€úñÞýÐIKK[³fMøÓ€úF¸½û„ 0÷þŸ½û‹ªÎÿÿÆ”fÃÝM¯HJÛ@òª1Më6.fW¾Ó+Á袔W¦’ïpÔFmITDrß®°å †Êå{'Ùm!|{¼¢+-zÚ®½ŒR¤3¨ß?ÎvšÎ0(~w=Þol¯ó|ý˜sæ¯g_óÕ"îªEÜT‹¸¨qP-â> ZÄ}@Uº»j÷Õ"îªEÜTK1î×ÕÕ-_¾|Ú´if³yÆ .\PªñÅ=öØ•+W¼VøþûïcccÛÛÛA0þÈs@ww÷®]»}ôQ³Ùœ““Óí¹ÉÀuSŒûEEEñññUUUeeeAAA©©©JõÐÐÐ|ðàÁƒ^+”••M˜0aذa‚ ˆ¢(Š¢×€òòò“'O––––””ˆ¢XQQ1 Üêã¾Ýn7™Lz½Þ`0$%%544ø¨?ûì³EEE]]]òô«W¯–””,^¼ØÇg>|8111$$$$$$11±ç ®‡_{÷ëëë###}Ôýë_=ú¯ý«Üõ—¿ü%"""44ÔDzMMMáááRûþûïonnîÇèKßq¿±±Ñf³Y­Vßõçž{ÎápȽo¾ùfBB‚ï•Ýn·N§“Úz½þÒ¥Kþß7€>õ÷EQ´X,ééé^ïé{ÖFã AƒNœ8!±cÇ‚ƒƒ#""|/®ÓéÜn·Ôv¹\×ø~òÓ8¾â¾Óé´Z­;vìð îJõgŸ}öü£àß«}Aî¹çžÓ§OKíO>ù$,,ÌïÐ7_'ódggçææÊÛë}×A˜1cƹsç*++ÛÚÚ¦OŸÞçgÏ™3Çn··¶¶¶¶¶Úíö¹sç^Û3èÕ`¥Ž¬¬,AbbbäJMM^¯Wª ‚ Ñh~ÿûß§¥¥y­&Ÿ¸/5¤C9£££[ZZ,X µçÍ›7@@|ÄýžÇäû®Kžxâ‰'žxÂÏY楗^z饗úºIׯƒ8ÜŒˆû€j÷Õ"îªEÜT‹¸¨qP-â> ZÄ}@µˆû€j÷Õ"îªÒÝýS›¸¨–bܯ««[¾|ù´iÓÌfó† .\¸ Tÿâ‹/{ì±+W®x­ðý÷ßÇÆÆ¶·· ‚`ü‘ç€îîî]»v=úè£f³9''§ÛóÏòÜßþö·ÉÉÉmmmr½×ñgÏž]·nÙlž:uj||üÑ£GýéÔG1îÅÇÇWUU•••¥¦¦*ÕCCC|ðÁƒz­PVV6a„aÆ ‚ Š¢(Š^ÊËËOž|øpbbbHHHHHHbbbÏ?¼ †uëÖÕ××û“ŸŸŸ0a„íÛ·÷Ù¨’_{÷ëëë###}Ôýë_=ú¯ý«Üõ—¿ü%"""44ÔDzMMMáááRûþûïonnîÇ+8~üøc=Öß.@•úŽû6›Íjµú®?÷Üs‡Cî}óÍ7|¯ìv»u:ÔÖëõ—.]ò=¾­­íõ×_Ÿ2eŠ1ß}÷݈#úÛ¨Ò`ßÝ¢(nÚ´iûöí^ïé{ÖFã AƒNœ81iÒ¤cÇŽGDDø^\§Ó¹ÝîÀÀ@A\.—Ô<~ƒ+o÷—*S§N•EЫààà¶¶¶;_]€*ùŠûN§Óf³Ùl6yËïú³Ï>ûÇ?þqÒ¤Iþ¼Úáž{î9}úôÃ?,Â'Ÿ|&Õ{þ¨·gEÉäÉ“=úÌ3Ïô« P‘ŸN¼ôu2Ovvvnn®W¦Wª ‚0cÆŒsçÎUVV¶µµMŸ>½Ï»˜3gŽÝnommmmmµÛísçÎíçcôâ…^((((//ooo¿råÊ©S§^~ùå>»UR|»Ÿ••%BLLŒ\©©©ÑëõJuA4MBBÂïÿû´´4¯Õäý9RCz[ÝÒÒ²`Á©=oÞ¼þÞ½×Ñû¢(Þu×]yyy»wïÞµkWGGÇøñãåÓ|tª¤Ù™ž—°âr‡kÌÝ÷ý«o€7ñiµZ­.P¯ÔjuCz޹zåJG‡ÛåºÔá¾ôçòŠ¥Kþ³Ãíª¬(õë N7#â> ZÄ}@µˆû€j÷Õ"îªEÜT‹¸¨qP-â> ZÄ}@µˆû€j÷Õ¬ÔQWWçp8´Z­Éd²X,ƒAîýöÛoãââÎ;'Š¢\<{öìîÝ»Oœ8áv»Ç·dÉ’¨¨¨{û~®»û§¶âÛý¢¢¢øøøªªª²²²   ÔÔTÏÞ¼¼¼ xV¾üòËeË–M™2åwÞ©®®NNNv:}çúAñí¾Ýn—z½>))Él6Ë]gΜ9vìXiiéo¼!óóóbbb¤Ë &lß¾]„ôôôˆˆˆ¹sçJõŠŠŠÓ§O ‚г˜’’2OÜòã¾§úúúÈÈHùrçÎ+V¬ðsüøñÕ«W÷œ»víÚ•+WêtºY³f9ÎÇçæævww÷,^ç“ðÒwÜoll´Ùl999Òå|ÐÖÖ6{öl¯aß}÷݈#zN2dHFFƳÏ>ûé§Ÿ¾û¡×"€ÔÇÉ<¢(Z,–ôôôÐÐP©b³Ù,‹F£ñÜÖÖÖë"#GŽ|â‰' Ÿ~úé‘#Gú(@¾â¾Óé´Z­;v숈ˆ‹ŸþùÒ¥KF£ÑhAú_A&Ož|ôèÑ^×ùì³Ï<˜™™ùÖ[o}õÕW>Šâ𢢢ýû÷çææŽ;Ö³îyò¦Ñh”/_xá…çŸ> **J«ÕþßÿýßÿøÇíÛ·»Ýî7nٲ塇ºí¶Û’““ ºººzo¿ýöôÀ­I1îgee ‚ Ÿ´#BMM^¯W×]wåååíÞ½{×®]ãÇ_¼x± Ï<óÌC=$ÂŒ3¾ú꫌ŒŒ®®®žÅW^ye ¸Uýtð¾bÜ÷|‹ï瘱cÇfffzIKKó¼\¸paÏuz-¸N}üTÀÍ‹¸¨qP-â> ZÄ}@µˆû€j÷UéþéØ}â> ^Ä}@µˆû€j÷Õ"îªEÜTk°RG]]ÃáhhhÐjµ&“Éb± AŒF£ç0QåöÙ³gwïÞ}âÄ ·Û=nܸ%K–DEEݸ[à›âÛý¢¢¢øøøªªª²²²   ÔÔT¹Kô ¿üòËeË–M™2åwÞ©®®NNNv:7öÞø¤øvßn·K ½^Ÿ””d6›}/”ŸŸŸ#]N˜0aûöí‚ ¤§§GDDÌ;WªWTTœ>}Z„žÅ”””ë{?£÷=Õ××GFFÊ—f³Ùår=úÉ'Ÿ\²dÉ AƒA8~üøêÕ«{Î]»víÊ•+u:ݬY³œNçáÇsss»»»{ê‘HúŽû6›-''Gº”6ðtuu555eff^¸paÍš5‚ |÷Ýw#FŒè9}È!Ï>ûì§Ÿ~úî»ï ýôÓ#GŽôQ0€|Å}§ÓiµZwìØÑëFÓÕÕ%µ'Ož|ôèÑ^‡}öÙgÌÌÌ|ë­·¾úê+EÈ×É<ÙÙÙ¹¹¹ááážõÔÔÔ¦¦¦ÎÎί¿þ:--M>jó…^((((//ooo¿råÊ©S§^~ùeAÜn÷Æ·lÙb6›SRR’““/_¾Ükñ†>'p RÜ1Ÿ••%‚|ÒŽ 555z½~æÌ™V«µ¹¹yäÈ‘³fÍJLL”zïºë®¼¼¼Ý»wïÚµ«££cüøñ‹/!##ã™gžy衇A˜1cÆW_}•‘‘ÑÕÕÕ³øÊ+¯ÜÐGn5ŠqßóL}OQQQJÿxÖØ±c333½Šiiiž— .ì9±×"€ëÔÇOuÜlºåqP-â> ZÄ}@µˆû€j÷Õ"îªEÜT‹¸¨J÷OÇî÷õ"îªEÜT‹¸¨Ö`¥Žºº:‡ÃÑÐРÕjM&“Åb1 ‚ FÏaÕÕÕþEQnöÙgÙÙÙ AAA+V¬˜7oÞÀ>p‹S|»_TT_UUUVV”šš*ÕE‹eþüù¾Ç{M‘‹_|ñÅêÕ«£££=ZXXøá‡Þ˜n]Šo÷ív»ÔÐëõIIIf³ÙkÀÕ«W‹‹‹÷îÝëçx/{öìY¶lÙÌ™3Aøå/ùÊ+¯\ÛPâ×ÞýúúúÈÈH¯bee¥Ñh5jTŸãÍfó”)SæÏŸ_PPÐÕÕ%?~þüùÙ³g›L¦äääööök}½ë;î766Úl6«ÕêYìêêr8‹/îs¼(ŠûÛߎ;¶mÛ¶úúú¬¬,©þí·ß¶´´”––9rD«Õ¦§§_÷³ø™>â¾´A?===44Ô³~ôèÑÐÐбcÇú9~РAãÆÛºuë¡C‡¤ŠN§{饗† 6lذ5kÖ¼ÿþû×ý,~Fqï¾ N§Óf³Ùl¶ððp¯®ÂÂÂäädÿÇK4¼™gܸq×zÏüâëdžìììÜÜÜžÙ½¶¶V«ÕNœ8ÑŸñ©©©MMM_ýuZZZTT”TŸ;wîÎ;ÛÛÛÛÛÛ_ýõ3f Ðø'Å·ûÒ&û˜˜¹RSS£×ëAØ·o_Ï]ûJãgΜiµZ›››GŽ9kÖ¬ÄÄD©wÞ¼yÿøÇ?žzê©ŽŽŽGyÄë·®ŸbÜ÷<#ßËþðÿÇGEEÉoô½,_¾|ùòå}Ý!€kä×AœnFÄ}àæ§é½LÜT‹¸¨qP-â> ZÄ}@µˆû€j÷Õ"îªEÜþ½uwû?Ô뚸¨qP­ÁJuuu‡£¡¡A«ÕšL&‹Åb0A0žÃ«««A¨­­-,,üøãµZíÔ©SW¯^=jÔ(ë¸ÑßîÅÇÇWUU•••¥¦¦JuуÅb™?¾Tw8qqqN§³²²òÞ{ïMNNö½€Mñí¾Ýn—z½>))Él6{ ¸zõjqqñÞ½{¥Ëüü|¹kÑ¢Er½ÏuÜ ŠqßS}}}dd¤W±²²Òh4J;v<¹ÝîâââÉ“'û¹€¤ï¸ßØØh³Ùrrr<‹]]]‡ãõ×_÷,íì7 ûöíóg7N'óHôÓÓÓCCC=ëG ;vlÏñÕÕÕ±±±iiiþ¬àÆñ÷N§ÕjݱcGDD„WWaaaBBB¯³ãããO:åÏ:n_'ódggçææ†‡‡{uÕÖÖjµÚ‰'z7mÚtæÌ™ÎÎÎóçÏÛívy¾uÜPŠ{÷³²²Aˆ‰‰‘+555z½^„}ûö-^¼ØküŒ3RRRš››ƒƒƒ§OŸž‘‘Ñç:n(Ÿ/Š¢R×þð‡žÅ¨¨¨¨¨¨~­à†ê㧺n^Ä}@µˆû€j÷Õ"îªEÜT‹¸¨qP-â> ZÄ}@µˆû€j÷Õ"îª5X©£®®Îáp444hµZ“Éd±X ƒ F£ÑsX```uuuϺ(Šr[îò,*­` (Æý¢¢¢øøx›ÍÖÑѱgÏžÔÔÔ¼¼<áç‘ý­·Þjmm•/=»))Él6{ ¸zõjqqñÞ½{¯íƒû\ÀuRŒûžêëë###½Š•••F£qÔ¨QrÅl6»\®Ñ£G?ùä“K–,4Èßôº>€ëÔwÜoll´Ùl999žÅ®®.‡Ãñúë¯ËiÇNWWWSSSffæ… Ö¬YãÏôº>€ë×Ç xQ-Kzzzhh¨gýèÑ£¡¡¡cÇŽõ^nРqãÆmݺõСCþ|¼Òú®Ÿ¯·ûN§Óf³Ùl¶ððp¯®ÂÂÂääd¥‰¦«««ÏÏö±>€ë§øv¿¨¨(;;;77·g¯­­Õjµ'Nô,¦¦¦655uvv~ýõ×iiiQQQ¾?ØÇú„âÛý¬¬,AbbbäJMM^¯aß¾}‹/ö?sæL«ÕÚÜÜ ZÄ}@µˆû€j÷Õ"îªEÜTk°RG]]ÃáhhhÐjµ&“Éb± AŒF£ç°ÀÀÀêêj©}öìÙÝ»wŸ8qÂív7nÉ’%QQQ>–êîîÎÉÉ)//×h4óçÏñÅ5ºç§‹¢8ð_ .Šo÷‹ŠŠâã㫪ªÊÊÊ‚‚‚RSS¥ºèÁb±ÌŸ?_ªùå—Ë–-›2eÊ;ï¼S]]œœìt:}/U^^~òäÉÒÒÒ’’Q+**|×åOðoP%Ÿo·ÛM&“^¯7 III ^®^½Z\\']æçç'$$ÄÄÄL˜0aûöí¾—:|øpbbbHHHHHHbbâÁƒ}×ô‹_{÷ëëë###½Š•••F£qÔ¨QÒåñãÇ{ì±~-ÕÔÔ.µï¿ÿþææfßuý¢¸w_ÖØØh³Ùrrr<‹]]]‡ãõ×_—+ß}÷݈#úµ”ÛíÖétR[¯×_ºtÉw@¿ôñv_Ú ŸžžêY?zôhhhèØ±cåJppp[[[¿–Òétn·[j»\®ÀÀ@ßuýâ+î;N«ÕºcÇŽˆˆ¯®Â„„ÏÊäÉ“=Ú¯¥î¹çžÓ§OKíO>ù$,,Ìw@¿ø:™';;;77WÞF/«­­Õjµ'Nô,¾ð åååíííW®\9uêÔË/¿ì{©9sæØíöÖÖÖÖÖV»Ý>wî\ßuý¢¸w?++K„˜˜¹RSS£×ëAØ·oßâÅ‹½Æßu×]yyy»wïÞµkWGGÇøñãå1JKEGG·´´,X°@„èèèyóæI½JuÁãÜ}©Á¡œ€šé)q +.w¸ÆÜ}ß¿úfx×iu:­.P¯ÔjuCz޹zõJ‡Ûír]ìp»ŠK,{na‡ÛUYQê×AœnFÄ}@µˆû€j÷Õ"îªEÜT‹¸¨qP-â> ZÄ}@µˆû€j÷Õ"îª5X©£®®Îáp444hµZ“Éd±X ƒ F£qÚ´i999Fl4EQô1k êü§øv¿¨¨(>>¾ªªª¬¬,(((55Uî .))é׬ªðŸfgzJ\ŠË®1wß§4¨££Ãl6;vL£ÑøÞ{ï-Y²Äf³Ý}÷ÝÒùí¾Ò¬Qnâñ:­N§ÕêõZ­nH@@Ï1W¯^ép»]®‹nWqéeÏ-ìp»*+JýÚ»___)_:Ôjµnܸñ‡~ðÖ€×øÖwÜoll´ÙlV«Õ³h4'M𔗗םYXЧ>â¾(Š‹%===44Ô«kåÊ•õõõ~ø¡ÿ³ªÀ¾â¾Óé´Z­;v숈ˆèÙ;dÈW_}uË–-.—ËŸYUà'Ń8‹ŠŠöïߟ››;vìX¥1aaa111Û¶mësÖ@ÕøO1îgee ‚#Wjjjôz½×°ØØØU«Võ9k êý}<àV¦÷{¬Ùk]£Ñ¼ñÆýuÍuþóë N7#â> ZÄ}@µˆû€j÷Õ"îªEÜT‹¸¨qP-â> ZÄ}@µˆû€j÷Õ¬ÔQWWçp8´Z­Éd²X,ƒA£Ñ8mÚ´œœF#6¢( ‚P[[[XXøñÇkµÚ©S§®^½zÔ¨Q‚ twwçää”——k4šùóç¿øâ‹Òt£Ñèù¡Ò">êü§øv¿¨¨(>>¾ªªª¬¬,(((55Uî .))éu–Ãላ‹s:•••÷Þ{orr²T///?yòdiiiII‰(ŠòуçRJu~RŒûv»Ýd2éõzƒÁ””ÔÐÐ w­_¿¾¸¸øìÙ³=gåçç›Íæ¡C‡êõúE‹}úé§Rýðáɉ‰!!!!!!‰‰‰èàͯ½ûõõõ‘‘‘òåСC­VëÆøá¥)n·{ÿþý“'O–.›ššÂÃÃ¥öý÷ßßÜÜ,4›ÍS¦L™?~AAAWWWŸu~RÜ»/kll´Ùl999žE£Ñ8iÒ¤¼¼¼_|±çiç½Á`Ø·oŸTq»Ý:NjëõúK—.Imi£NWWWSSSffæ… Ö¬Yã£À}¼ÝEÑb±¤§§‡††zu­\¹²¾¾þÃ?ìuVuuulllZZšTÑétn·[j»\®ÀÀÀŸÝÄ AãÆÛºuë¡C‡ü©ð‡¯¸ït:­VëŽ;"""zö2äÕW_ݲe‹ËåêÙêÔ)éòž{î9}ú´Ôþä“OÂÂÂzNÑh4½nÚQªðÍ×É<ÙÙÙ¹¹¹òžûžÂÂÂbbb¶mÛ&W6mÚtæÌ™ÎÎÎóçÏÛívyÇÿœ9sìv{kkkkk«ÝnŸ;w®TOMMmjjêììüúë¯ÓÒÒ¢¢¢|×øOqï~VV– 111r¥¦¦F¯×{ ‹]µj•|9cÆŒ”””æææàààéÓ§gddHõèèè––– HíyóæIõ™3gZ­Öæææ‘#GΚ5+11Ñw€ÿ4;ÓSâV\îp¹û¾õÍð&¯ÓêtZ] ^¨Õê†ôsõê•·ÛåºØáv—XöÜ·«²¢Ô¯ƒ8ÜŒˆû€j÷Õ"îªEÜT‹¸¨qP-â> ZÄ}@µˆû€j÷Õ"îªEÜTK1î×ÕÕ-_¾|Ú´if³yÆ .\êF£ñÅ_ìîîöl4¥FmmíóÏ?/ÍJIIùæ›o¤z{{{rr²ÉdúÝï~—ŸŸ/OìîîÞµk×£>j6›srr¼–ýöÛoŸxâ yqý¢÷‹ŠŠâã㫪ªÊÊÊ‚‚‚RSSå®ààà’’’^g9ޏ¸8§ÓYYYyï½÷&''Kõôôt­V{äÈ‘´´´{ölÏYùùùf³yèСz½~Ñ¢EŸ~ú©Tÿý÷׬Y3lذaÆ­]»VŽõ‡NLL ILL”ÿ áÌ™3ÇŽ[¸pá€<'p òkï~}}}dd¤|9tèP«ÕºqãÆ~øAiŠÛíÞ¿ÿäÉ“¥K¯]:MMMr#<<\jßÿýÍÍÍò˜;w®X±" À¿à­ï¸ßØØh³Ù¬V«gÑh4Nš4)//¯×)F£ñ‘Gyë­·Ö®]+UL&ÓÎ;ÛÛÛÛÛÛ³²²\.—Tw»Ý:NjëõúK—.Ií>ø ­­möìÙ×öT„>ã¾(Š‹%===44Ô«kåÊ•õõõ~øa¯³ª««cccÓÒÒ¤JJJJ{{ûã?}çw>\ªët:·Û-µ].W`` Ô¶Ùl‹E£Ñ\óƒ*¢ñú¯¯¡c|Å}§ÓiµZwìØѳwÈ!¯¾úê–-[äWõžãããO:%]><33³®®îÝwß5jÔÃ?,Õï¹çžÓ§OKíO>ù$,,LjþùçK—.5Ò±<Î\_'ódggçææÊ{ë{ ‹‰‰Ù¶m›\Ù´iÓ™3g:;;ÏŸ?o·Ûåÿ›7o>wîÜåË—ß{ï½={ö,[¶LªÏ™3Çn··¶¶¶¶¶Úíö¹sçJuуtyý Üj+udee ‚#Wjjjôz½×°ØØØU«VÉ—3fÌHIIinnž>}zFF†Tà–,Yòý÷ßOœ8Ñf³É[ƒ¢££[ZZ¤Ó6£££çÍ›7@Ï@ÐìLO‰KXq¹Ã5æîûþÕ7À›x¼N«Ókuz½>P«Ó ÒËÙ•W¯^ép»]®‹nWÉŸ<ÿì·«²¢Ô¯ƒ8ÜŒˆû€j÷Õ"îÿþº½þë'â> ZÄ}@µˆû€j÷Õ"îªEÜT‹¸¨qP-â> ZŠq¿®®nùòåÓ¦M3›Í6l¸pá‚T7/¾øbw÷Ïþ9/£Ñ(5jkkŸþyiVJJÊ7ß|#ÕÛÛÛ“““M&Óï~÷»üü|ybww÷®]»}ôQ³Ùœ““ã¹ìgŸ}–˜˜øÈ#<þøãõÀÀ­C1îÅÇÇWUU•••¥¦¦Ê]ÁÁÁ%%%½Îr8qqqN§³²²òÞ{ïMNN–êéééZ­öÈ‘#hii9xð T///?yòdiiiII‰(Šr¬ÿâ‹/V¯^}ôèÑÂÂÂ?üp`¸•(Æ}»Ýn2™ôz½Á`HJJjhh»Ö¯__\\|öìÙž³òóóÍfóСCõzý¢E‹>ýôS©þþûï¯Y³fذaÆ [»v­ë>œ˜˜’˜˜(ÿ°gÏžeË–Íœ9S«Õþò—¿|å•Wê€[‡_{÷ëëë###åË¡C‡Z­Ö7þðÃJSÜn÷þýû'Ož,]zmþijj’áááRûþûïonn–ÚÇ?þüìÙ³M&Srrr{{»ßOàŸúŽû6›ÍjµzFã¤I“òòòzb4yä‘·ÞzkíÚµRÅd2íܹ³½½½½½=++ËårIu·Û­Ó餶^¯¿té’ÔþöÛo[ZZJKK9¢ÕjÓÓÓ¯íñ€[Yq_E‹Å’žžêÕµråÊúúú^wÕ‹¢X]]›––&URRRÚÛÛüñèèè;ï¼søðáR]§Ó¹Ýn©ír¹åúK/½$mþY³fÍû\7|aƒIDATï¿ÍOܲ|Å}§ÓiµZwìØѳwÈ!¯¾úê–-[äWõžãããO:%]><33³®®îÝwß5jÔÃ?,Õï¹çžÓ§OKíO>ù$,,Lj7îš €Ä×É<ÙÙÙ¹¹¹òÞúžÂÂÂbbb¶mÛ&W6mÚtæÌ™ÎÎÎóçÏÛívyÇÿæÍ›Ï;wùòå÷Þ{Oú®TŸ3gŽÝnommmmmµÛísçΕêsçΕ7ÿ¼þúë3fÌ€gn1ƒ•:²²²Aˆ‰‰‘+555z½ÞkXllìªU«äË3f¤¤¤477OŸ>=##Cª?ðÀK–,ùþûï'Nœh³Ùä­AÑÑÑ--- ,ÚóæÍ“êóæÍûÇ?þñÔSOutt<òÈ#^¿àÍÎô”¸„—;\cî¾ï_}3¼‰Çë´:V¨×jµº!=Ç\½z¥Ãív¹.v¸]%>ðü³ ;ܮʊR¿âp3"îªEÜT‹¸¨qP-â> *Fn÷Õ"îªEÜT‹¸¨qP-â> ZÄ}@µ+uÔÕÕ9ކ†­Vk2™,‹Á`Áh4N›6-''Çó8O£Ñ(Š¢Ôð\D*úXMòí·ßÆÅÅ;wN¯´ÿ)¾Ý/**Нªª*++ JMM•»‚ƒƒKJJ”&ŠüYM„¼¼¼ ø³ÿ)Æ}»Ýn2™ôz½Á`HJJjhh»Ö¯__\\|öìYÿ?ÆÇjgΜ9vìØÂ… ¯éþ(òkï~}}}dd¤|9tèP«ÕºqãÆ~ø¡ç`³Ùhkk›={¶×‡ö¹€>õñv_E‹Å’žžêÕµråÊúúú?ü°—E 7nÜÖ­[:ä{5›Íf±X<õëÏ:üá+î;N«ÕºcÇŽˆˆˆž½C† yõÕW·lÙâr¹z®Ñh<7áôºÚ矾téR£Ñ(Åãu O¯ëð“âfž¢¢¢ýû÷çææŽ;ViLXXXLL̶mÛäJjjêÒ¥Kï¾ûîüã;v숊Šò½šç©;òiž>Öà?ŸŸ••%BLLŒ\©©©Ñëõ^ÃbccW­Z%_Μ9Ójµ6779rÖ¬Y‰‰‰ýZ­ÏuøO1î+vïU×h4o¼ñ†|Õë›xÎÎ÷£´ÿùu'€›qP-â> ZÄ}@µˆû€j÷Õ"îªEÜTE£ÑÈmâ> ZÄ}@µˆû€j÷Õ"îª5X©£®®Îáp444hµZ“Éd±X ƒ F£qÚ´i999ž?ø5¢(J ÏE¤¢ ííí¯½öÚû￯ÕjŸ~úé^xÁs®×`ßu~R|»_TT_UUUVV”šš*w—””(M=ÈÅôôt­V{äÈ‘´´´|@'ó‚àt:m6›Íf ïÙ;dÈW_}õå—_v8½N×h4òfžáÇgffJíŠŠŠ‡~øún@ß|Ì“››ÛkÖ—„……ÅÄÄlÛ¶M®¤¦¦655uvv~ýõ×iiiQQQR}óæÍçλ|ùò{ï½·gÏžeË– à3è•âÛ}iÛ}LLŒ\©©©Ñëõ^ÃbccW­Z%_Μ9Ójµ6779rÖ¬Y‰‰‰RýX²dÉ÷ß?qâD›Íæ¹5H>__jȇo*ÕøI1î+Åk¯ºF£yã7ä˨¨(ù¾§yóæÍ›7ïz>@ùu'€›qP-â> ZÄ}@µˆû€j÷Õ"îªEÜT‹¸¨ŠF£‘ÛÄ}@µˆû€j÷Õ"îª5X©£®®Îáp444hµZ“Éd±X ƒ F£Q4uêÔõë×1Bª‹¢èµˆWÑápäää¬ZµjñâÅrñâÅ‹yyyÿûßÏ;øÐCÅÆÆNž<Ùó³d=?ÂÇ =§K+(-ëãÑ|וÖÑëõ&LX·n]XXXÏ;áÛo¿‹‹;wîœü\J_£ï¡×oUš¢Ñhôzý˜1c¦M›¶hÑ"é¶}|c½Þ$n^Šq¿¨¨(>>Þf³uttìÙ³'555//Oê’²æ… ²²²^{íµÌÌL>©««ëÏþóš5kÞ~ûíE‹ ôÏÿcaýúõcÆŒÉËËûÕ¯~õÝwß8qbïÞ½rôì5ß{QZÁG†VZVéÑ|וֹxñâŸþô§ 6¼ýöÛ½ËËË[°`Áo¼Ñç3*}Ò·*Oq»Ý_~ùåÁƒÿó?ÿsß¾}wÞy§Ð×wÕPÜÌc·ÛM&“^¯7 III ^ úuëêëëýü¤ººº¡C‡>óÌ3Ç?vì˜\?qâÄý×=zРA#FŒ˜5kÖž={úõ ׿‚¥Gëï#-^¼¸¹¹¹×Þ3gÎ;vláÂ…×s«JߪL§ÓÝwß}ëÖ­›7o^nn®Tðo ÿžüÚ»___yŸTZZ+‚ JJJäúĉ_{íµ>úèòåË×¶òõ¯pƒ\¼xÑápŒ?¾×Þ;w®X±" àz>Bé[íé©§žúàƒ¤ö¿í7€¥¸™GÖØØh³Ùrrr¼êmmm;wîœ2eŠ\éu¯¼¤¥¥åÔ©S;vìaöìÙÙÙÙ---£G!33³°°pË–-_}õ•Á`0›ÍË–-6lX¯köº§Å÷ ½ò½lÏGóó‘=·I;   ç |ðÁmmm³gÏöq“}Þ°oµ§;î¸ã»ï¾“Ú×ðàfÔGÜEqÓ¦MÛ·o •‹Rô œ:ujjjªç`¯érH---mkk›6mšÜõç?ÿù¥—^aèС«V­ZµjUww÷_|ñæ›o®_¿Þn·+­é¹¬Ôë{¥çêµ®ôhþ?²\ïîîniiyõÕWï¼óN¯{¶Ùl)))žÿà™o½~oµ§ÿ÷ÿþßðáÃ¥ö5|c¸ùŠûN§Óf³Ùl¶ððpϺ??ŸõtåʕÇ:tHú¨ ---K–,ñÚÊ¢Ñhî¾ûîuëÖ=ú裾TºÿWèïÊý}défÆŒ³yóæøøø)S¦x­ðùçŸ/]ºT¾ìõ@ßüüVeèùÿW\ÿ7€gŠ{÷‹ŠŠ²³³sss½²þ5øË_þ2aÂ9• ‚0zôèððp§Ó)²eËÞ}÷ÝóçÏwuu;w.''§¿¿¸þnœ_üâ>øà‘#G¼ê¢ášþœðý­Ê:::333+**–/_.ÿ¿1 Å·ûYYY‚ ÄÄÄÈ•šš½^ ŸQRR"MYLLÌÞ½{ÿã?þãùçŸ/..ÞºuëÅ‹CBB¦Nš‘‘!ógï¾ïzåϲþðg§žz*'''::úzÖìYôý­JS4N§“ÎÝûí·¥9A¸¦o 7#ÍÎô”¸„—;\cî¾ï_}3¼‰Çë´:V¨×jµº!½íܾzõJ‡Ûír]ìp»Ê|nñ3nWeE©_q¸÷Õ"îªEÜT‹¸¨qP-â> ZÄ}@µˆû€j÷Õ"Ñhä6qP-â> ZŠq¿®®nùòåÓ¦M3›Í6l¸pá‚T¿xñbffæ“O>9yòd³Ù¼fÍšãÇûžb4åe?ÿüóÙ³g ‚P[[ûüóÏKãSRR¾ùæ›õ”À-I1îÅÇÇWUU•••¥¦¦Jõõë×ÿðÃyyyõõõååå?þøÞ½{}O‘}ôÑG+V¬X½zõ¢E‹Ap8qqqN§³²²òÞ{ïMNN¾1ÏÜ¢+uØív©¡×ë“’’Ìf³tyâĉíÛ·ëõzAFŒ1kÖ¬Y³fùž"ùàƒ6nܸeË–)S¦H•üü|¹wÑ¢EòŸ „_{÷ëëë###¥öĉ_{íµ>úèòåË~N¡ªª*--m×®]rÖ÷äv»÷ïß?yòäþÜ9€>(¾Ý—566Úl¶œœé233³°°pË–-_}õ•Á`0›ÍË–-6l˜)‚ ¤¤¤dddüú׿´³ß`0ìÛ·ïºÀÏõñv_E‹Å’žž*U†ºjÕª’’’ºººÝ»w»Ýîõë×ûž"‚ÕjݼyóÉ“'{ýˆêêêØØØ´´´ë~?ñ÷N§ÕjݱcGDDDÏ^Fs÷Ýw¯[·Î3Ä+M™7oÞïÿû5kÖüýïï¹T```||ü©S§®õ)ôÂ×É<ÙÙÙ¹¹¹ááážõeË–½ûî»çÏŸïêê:wî\NN޼G_iŠä·¿ý­ÍfKKK;tèTÙ´iÓ™3g:;;ÏŸ?o·Û=÷ú¸~Š{÷³²²Aˆ‰‰‘+555z½þùçŸ/..ÞºuëÅ‹CBB¦Nš‘‘á{Š|ùàƒæçç¯Zµª­­mñâÅ3fÌHIIinnž>}º¼€¡÷EQìµþðÃ?üðÃýšâY7nÜÿüÏÿHí¨¨¨¨¨(ï@?ùu'€›qP-â> ZÄ}@µˆû€j÷Õ"îªEÜT‹¸¨qP-â> ZÄ}@µˆûÀ¿7Æÿ¡‚ h<ÆVXWWçp8´Z­Éd²X,ƒÁh4ö)Š¢\×ëõ&LX·n]XX˜ F£QE¿oÀ@R|»_TT_UUUVV”šš*‚ø#¯¶|yäȣѸaÆÿqßn·›L&½^o0’’’üY.((hñâÅÍÍÍw‡®‘âfOõõõ‘‘‘þŒ¼xñâŸþô§ñãÇ_ß]}ÇýÆÆF›Í–““ã{˜¼}ÿŽ;î(((€[p}ú8™GE‹Å’žžÚçÈ'NTTT„††666ܸF¾â¾Óé´Z­;v숈ˆðg-F3f̘͛7§§§»\®ºC×È×É<ÙÙÙ¹¹¹áááýZñ¿øÅƒ>xäÈ‘ë¾7×Eqï~VV– 111r¥¦¦F¯×û³èSO=•““}ý÷àš)Æ}ßÿ<–W¯×åÔ©S§NÚç"n¨>~ª àæEÜT‹¸¨qP-â> ZÄ}@µˆû€j÷Õ"îªEÜT‹¸¨qP-â> Zƒ•:jkk ?þøc­V;uêÔÕ«W5Jê2RCE¥éòI```uuµéÝÝÝ999åååfþüù/¾ø¢F£‘{¿ýöÛ¸¸¸sçÎÉS|܉âÛ}‡Ãçt:+++ï½÷Þääd¹KEAßsŒÄb±ÌŸ?ß÷ôòòò“'O––––””ˆ¢XQQáÙ›——·`Á?o€D1îççç›Íæ¡C‡êõúE‹}úé§×öW¯^-..Ž‹‹ó=ìðáɉ‰!!!!!!‰‰‰”»Îœ9sìØ±… ÞˆÛTLq3ÌívOž<ùÚ> ²²Òh4ö¹Ó¦©©)<<\jßÿýÍÍÍr×Î;W¬Xp#nP±>â¾´ÏÞ`0ìÛ·ïVïêêr8¯¿þzŸ#Ýn·N§“Úz½þÒ¥KRûƒ>hkk›={ö¸=@Ýú8™GÅêêêØØØ´´4ß#?ò,=z444tìØ±}Þ‡N§s»ÝRÛårJm›Íf±X<¶{m·Ü‚ú>ˆ3000>>þÔ©S¾‡É?Ìõ,&$$øs÷ÜsÏéÓ§¥ö'Ÿ|&µ?ÿüó¥K—ÊHxý9áÿí· Ÿ¿iÓ¦3gÎtvvž?Þn·GFFöwéÚÚZ­V;qâDÏ™3Çn··¶¶¶¶¶Úíö¹sçJuÏ~³;¯ÿöÕSÜ»?cÆŒ”””æææàààéÓ§gddÈ]ò+v©¡t(ç¾}û/^ܳÞëôèèè––é´Íèèèyóæù¾o·@¢Ù™ž—°âr‡kÌÝ÷ý«o€7ñiµZ­.P¯ÔjuCz;²òêÕ+n·Ëu©Ã}é@Åá„EOw¸]•¥}ïÝp“"îªEÜT‹¸¨qP-â> ZÄ}@µˆû€j÷Õ"îªEÜT‹¸¨qP­ÁJµµµ………ü±V«:uêêÕ«G%‚Ñhô&Š¢Ô˜4iÒàÁƒo»í6ù táÂ…ãÇû˜%Âùóçÿû¿ÿ»¶¶ö›o¾Ñëõ&Lxæ™gL&“×”žø¦÷G\\ܤI“n»í¶ýû÷'''H]½fî'Nx^vwwoÞ¼Ù3²÷:ë›o¾Yºté“O>™ŸŸ?jÔ¨K—.}ôÑGû÷ï7™Lòx£ÑHÊ®bÜÏÏÏ—Û‹-Ú»wo¿Öݾ}ûøñãçÌ™ã{X^^ÞSO=õÜsÏI—ÁÁÁ¿ùÍo~ó›ßôë³ôJ1îËÜnwqqñäÉ“åŠÙlv¹\£G~òÉ'—,Y2h÷rrrFŒñÌ3Ïx{U[[ûæ›oăðÖGÜ—vã †}ûöIi_MWWWSSSffæ… Ö¬Yã9eïÞ½«V­ò,*Íjkk9r¤×Ç ìÑB'óˆ¢X]]›––ö³iƒ7nëÖ­‡ò¬¿ýöÛ_}õÕÚµk{ÿ°³†~þüyÏ#è¥ïƒ8ãããO:Õ³K£ÑtuuÉ—EqÓ¦MÆÇ‚ž³¦M›vøðá~Þ3¿(ÆýM›69s¦³³óüùóv»=22Rª§¦¦655uvv~ýõ×iiiQQQRýÈ‘#N§3==ý¶Ûn빚ҬåË——””ìÙ³§¥¥¥³³Óår;vl Ÿ¸E)îÝŸ1cFJJJsssppðôéÓ322¤úÌ™3­VkssóÈ‘#gÍš•˜˜(Õ_yå•ÎÎÎiÓ¦y­#mÎQšõ«_ýª°°pÏž=K—.½páBPPÐ<`·ÛþA€[fgzJ\ŠË®1wß÷¯¾ÞÄÿ=¦Õjµº@½>P«Õ è9æêÕ+n·Ëu©Ã}é@Åá„EOw¸]•¥}ïÝp“"îªEÜT‹¸¨qP-â> ZÄ}@µˆû€j)þ«ºþ-tw ‚FF¤–W¿ ÝÿìMÀŸþ.ÞîÿÞ4FNó½õ ‚ Ý?&þ€€!rqø·öã;}Íoù}Ö¼Ýnÿ|±ßíã¿ ñÜÌÃÛ}à&¡ùgà×ôýn_Ђ0äöŸÞî+þT·¶¶¶°°ðã?ÖjµS§N]½zõ¨Q£ŒFcÏ‘¢(Êu½^?a„uëÖ……… ‚`4EQìïóø‰F#šþN÷Çÿü³«»ûÇ!ÿ£Ñ·{¼ÝWŒû‡#..nÒ¤I·ÝvÛþýû“““ äìÞ3ÇK—/^üÓŸþ´aÆ·ß~{À¸…i>>???66677W¯×~A333årù]?€k‰D2OÄâñ0  |¯}GD¬µÖZ#&‘L&’Édò?{çVÝR©T*•îšýÛ¦û^±X,‹ox¬vNW°#æ­ò}#"j42M½¹£÷þFœÞ#UU ÜnÝgëcZ8Ûµý‘ººcšn–¸t5ÕVˆQcÔg}WÆÓ~)¢*ƨªj¢ÖZâ>ÐÕZQß÷ß鸵ïþv¡_EXQÕˆ¸< îî~«ñŽÞ>l«•õUmµZó¨F~í¹N[y_EäèèÅññq£ÑpSÖÚËËË“““ƒƒña_¯C>w÷€®&´ºî‹ìïï_\\ŒŒŒ …aØl6kµZ¥R‘¡¡gbTEE¿–¸t5Ñë#u{{{«Õj£Ñ°Öö÷÷Ÿžžnoo×jµL&ãŠûÝ¿–¸tµX ‚@UH6›5ÆìîînnnöõõÕëõ«««\.—Ïç]¿Õ Æþl¯%î]-».œªÚÓÓ“ÏçUukkkooo```bbbtt4•JEn«n,Ô€Ú}à‰Ø1FUDÔ“J¥r¹\"‘¨V«ƒƒƒ™LÆg}U"Qj÷€§" C—æ{“J¥ …B¡PðïQUß‘“Î<À“áÙ²ÖÞõ׉ß=wf}CܺŸ?=ב6?åYk£æ•yÏ1[õz}zz:ŸÏw®_ZZšœœœššZ^^ö_2;àá|¬wå:‰ßͺ_oþxõòw¿êž¸¿ºº:;;Û9R.—wvvÖ×××ÖÖ*•ÊóçÏßmÀ£t¦ü[7õ;a·ñæüUýüõK?(K_õù_!U=ÀÿÇÅùëÍo¿ ÓüüÓÞà³Ooõx¢¢(zqôKºÿùq÷»v¿ÿíד(ŠÞ÷Uø¨ê‡¥?ý ºhš®ï¤KPIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/warmup_resistors_3.png0000644000175000017500000001134513634703632021020 00000000000000‰PNG  IHDRô uÜ ˆgAMA± üasRGB®Îé cHRMz&€„ú€èu0ê`:˜pœºQ<bKGDÿÿÿ ½§“ oFFsÍèü pHYsHHFÉk> vpAg“î|±Éu°IDATxÚíÝ{å¹Çñïìβ\–ëÙ•?À ãA­£eªN¤N#‘œÊDÅXGDXÃba‘‹¬¹¹E×EÈ)¢REJÉñ‚â…ò’rÊ`,¬2»`V`q9ì »³ÛÝÓóN÷Û¿OíCO¿óôûò>Ïôô\^hKii)îyk•—† ÅqnèmXBÔAÃ&D ËÈ„e¦€"SàíDD$ÈTÜED,óü* ÔŠ‹‹ó}£aÉD#“‰F&“€ŽŒ.‡ä8uÍÝ߆a¹²l¾ƒa™°Ì4PdtYFDÄB*î""Rq±Š»ˆˆ…TÜED,¤â."b!w ©¸‹ˆXHÅ]DÄB*î""Rq±Š»ˆˆ…TÜED,¤â."b!w ©¸‹ˆXHÅ]DÄBZfONÓ°d¢‘ÉD#“I@GF+`ä8µÌž¿ ò˜œù†edÂ2Ó@‘Ñe ©¸‹ˆXHÅ]DÄB*î""Rq±Š»ˆˆ…TÜED,¤â."b!w ©¸‹ˆXHÅ]DÄB*î""Rq±P<ßàTªƒŽçÐ!vîä¯å™ghÿ—8‹‹¹é&~þs.¿œ¾}éÜ™º:vïfëÖ†'ž`ÇŽ|÷V$—\eÓ¦MMû÷gÜ3S*½÷/¿ÜT[›ï®FPè~3•rñ—LòÌ3‰®]Û~ÌŸþ”/¾h¯ùêÕ$¡WÂòöž†å‡mÍw°eC·ÙTUE›ÙåT"?ùkÉ™û)#FðÅgoŒÅH$4ˆ‘#3†‚ÆŽm8ç†ç»ïÎØsäH^xxàwX³†;hl¤†çÎ;c]º¤n¿óÏçškhjÊwoErÉa6MœÈàÁggSû©4~<]»¢TÊ)KVbª©I¿À»êª¾Ÿ^ØÎžW^yâÙgë‰ðÐCÝŸ~úô)G߾ɿýí@II˜5«{uõÙg#^Ø´~ý¡>}’ÀÌ™ÝW®ìŠ]ºvLDjd\eÓsÏÕwë–äÌlR*Ø9ÞË2ƒuÜê¾ûÒ;üñÛçÎMo_»6c¸qãÚnØ‘q%,<7Ôe' ]eSee¯ÖÑa*=,N%pY&ŠŸ–Y·.}ãâ‹Ï¸ä7jTúÆþ±íK/µÝV$š^~9}ÒÝ2#œ¤Ò믷n(>²íš»-ߣïÝ›††ôíêj >ø cÛúú¶ÛŠDÓ×_Ÿ>A<•NRéðáXë†â£(÷þýÓ7R)<½}ùòŽÛ¶|¡zèP¾{"’o¥¥éwQ[f““T:ï¼Óo¿*•r!Š—eFNߨ¾Ýõù”)é[·räH¾{"’o×_¬ù†Ûlš8ñhó ¥RŽD®¸_z)³f¥oWU¹k;bDã¸qéÛóçç»'"ùvé¥Lžœ¾Ré*›Fâæ›ÓÏ J¥‰JqO$:”y󨼙ž=Þ|“êjP^Nuu]AÀš5<ÿ|¾»$’'-³©G$.³©¼œuëP*åšm×Üwír´Û_þÒmìØo’IG;wëFu5·Ü’þçêÕLœØñW´EÂÎa6=û,&à$›”J&ÙVÜÛ÷Ïò⋬^MMMŸ£G¿qÒ¤_?6mbÈ€'b©'ŸÌw7D 9›6l({ñÅ'û·L¥ÆFfÏî±`Áá|wÂf¶÷6¿0ý³Ÿ±hÀÑ£L™Â±c8üzA<Îk¯¥§ãW_qÛm½6n<訥Hø9ɦ~ý:9y¨³R醨¿¿ ¨¸çmÅ}×.vï>{ãÇ3j?þ1\@e%S§:}´;î`èP€£G6Œƒ‹òÝ?sœdÓ²eŽê¬TÚ¹+~÷$Ð"ñ†j*Å]w¥œ¨¢‚ýÈià Ò7æÍcçÎ|wC$ÎʦË.;ᤕRɼHw`ûv–.(,dõjâqGoâ|ÿûé6ä»"Ñ2›-:Päà­Rɼ¨w`ΜôÄ!C¸÷^GûÎ9‡^½èÕ‹mÛò}ô"Ar*›¾÷½ogÌèx¥’y*î Lžœ¾}Ï=‡›ßÛi_}=uuÔÕ9ú˜—Ht´Ì¦éÓé0›”JæE¨¸ë×óÊ+EE©U«Ò¿m$"œÊ¦NP6P´Š;0iÇŽ\qììꇭE¢fÒ$Žá ›”JæE®¸ïÝKeeúve%\ï ­½{Y¶¬¤ù¶²)hbž—˜ ”}ûÒ °_}uÿ½{;øð~<žzíµšÁƒ¿Þ¿óM7ý[¦/@»zX;ä"›”JAºeöÜÊû XÁl–Åä<7Ô2{¾74<2a™i ÈDˆH¨¸‹ˆXHÅ]DÄB*î""Rq±Š»ˆˆ…TÜED,¤â."b!w ©¸‹ˆXHÅ]DÄB*î""Rq±Š»ˆˆ…TÜED,¤â."b!w ÅfZëß·ÇYïdnoÝðk?:žTÊi É™{9lƒÍö\aXvá aº³ÿx_ÂÃ` ¬1Q‚§ €•+9r„TŠššÚ#GX¹’ßst:,nëS g1?·+a:š g{*…¡¸'`<älç&x8ë'ä_A ¼k*P ;È7#JÀtêÄgŸ1~<‰DzK"ÁøñìÙC§Nþ…i¾±ÊÁžæçö»P¿2ÎöT CqŸ ›à#Çû?½áº,†äA7ÿåY†®ƒÞðœÁˆ<+W2p`ÛÏ=—êjÿÂLƒ¥pÌÙÎæçv%<˜EYR*µøâÞ*`–›&I˜s!æ)â(h€7L…‹Á\˜Óî»[þF”@=:ã]cÆøã\O:ÞßüÜ~`”©pL%'?Ÿrø—ûS÷ß•ºËõqÆàCøEÆƒÏø;úÍ oð9\{ãù ø0ãÜò=b–ÿmr>ô×n¢ÐÎ_Þ/}ÎöËjnßà©UHSÉÕx¶«õqz_f¯¦¶ÖÑ~©¬>2³…·rëв¡n6^רpCŸkû´96™VÀj¼¶±áŒ­<‡Ë(Æ7$%Š7ºþþ†·ˆ555nu܉èœõäR*ÕÞ8Æb¾}ô,«ƒtvŠ[VZê}n77\(~ÃMæ’³ä)óq1TÏÜý çºa ¶Àmß™ñÌýý“߃õ5\Ɔ7–ö^úñ1x,ãC†e19Ï ƒ¼Ì^ó‡dÚü;r$çt8Ó\d}6s{ ¼ï²UÀR gs&§U4ð×Ü=KÁ,˜ã¦‹×BÖ› Ws`–ײzˆXÿ ‹<…“{þùŒwýùÏy=2ós{=$àZSá,M%{‹;°Â-Ž÷Ÿ óܼ“e¸[à l4ØÁûáÀÿ 3âƒqãØ³§í{ö0~|¾ÎðÜNÂ<˜i*œ‡†7•l¸,Ólìjã;Ím¼bú |ÚÁ(<‡k£avuü ?#–Á(kïÁtY&3#SP@Uõõé«1õõTU¹ûS®SÉiÖg?· áSø‰ƒVL%tY&çÞ†}p›ƒ=gÂ|øÎT¸Û`¼m°ƒá=׈Œd’òrJJˆÅ(++-)¡¼œ¤ç—’þzö9Þ9û¹ýÌwvò®TÊÀöâÌ„™Ðþwü®„Að'Sá:ÜÍXÃp‰P‚ÎùŒõenÿ Á•íî£TÊÌ{qµú++-m½1ÿš×ÿmÿªåLXàì+˾„;œýTŽ_Cr®!¶™Ø+Äî>#ÁpFÊßMìŸæv,è¨p‡<•rZE#pæÌ‚éÐ9ý?€Ëà¦Âu†é.¿s›eÄðœkHОۄËà¦ÂuØÁP¥R4Šûßá(ÏpïC°øÌ·s®>€¿ì NÛÅ/†çv#,Îü£J% ÁDÃKàKè–þ×é7²‡À—NçõîtÃnð¥‹Åy}ˆèìý³‡Å¥@ÿ×û.,#“ÏTÊÑÜî_ÂV­‚Jx3>þFãÌøÞI­¶?KÿH^öá&Á;n~á2ûˆœkH žÛÇ` 4°ù‰¢æ]Yí›ÞŒ£hY,-$B0†@ÆèH„•Œ$AŠ@¢#õapsýps¯£ZÐe@ €!$BH„ áÀ4LÀÝ»ê¨výÖñܵ롎Ñjgé (à:$hçÀ-$ÎD ‚@ @ €!$(ôÓW{—ÎI ‚@ @ €!$BH„ A ‚@ @ €!$BH„ A ‚@ @ €!$BH„ A ‚@ @ €H7÷×7÷{—Bû«Ýg_Ÿ¿Žj×G£ÕîêñîéõãÝÞÅ€c>À>5ÐÂ[Hœ‰@ @¿Û»À:¦Ôùc]5Ï…µ$HÎ5ŠR—|ZÚœ)©=˜¾Áö x¦rcøkþ–Ëž k1†φ“o´+3Ö­ÝôñÒ ‚v<N¾ã–ÁÞ%Z³^¥Ï:w<Ó äí=ÓBbK+·GôþÃ7_¾ÿ0nœïD\:ãî|G€ø^¤üî obŽhˆ¢Û7o¿»}ó§?üãû?ýá¬ïaŸbâ3†D׆(šþ~tãøÉQľ²¦}ÏO]h}”¨7Žu£bØÛ4„Ú½â¼ñ;søýñîé"r8¾‚@šž¾ÒÀÏÿþøí¾ýö‡ÛËÛ×·§Q8«m"!ÕÚ+œÚ{Åÿ,sn],äcv&[žúó»æ"´œàèŠgÙÅiËÂ=ßU÷=‹ES©pæ-¼…ù¾Ôn–1m9‰ ÅkE˜ñ- $ØÆÑ£h¯ºÀ¹0– ÎEƒñl½Ö5‚#H„Sù'ýí[-b RlyšŽÐ&–`L NätG©#‘@"„mB"B龃1D¢E0ÕÅJ lo~ÁO·ì}²uj­¼’:.Y5?Ï©íK¯í«YM¿ÅJü.ðgL ±²Ô*ìÃï[~øãGQ]íæÂ`þî·5'âeËç[é_kîðkõ–˜R½Þg=‘µ–º7ÏtËÖq¬ÿ`i;)gýùÓî²Syþë–.3VZžú{>‰¥hªZHÇúÀ—:÷÷ë-é‰f|:^÷¿SrÓxÈÙ[~쉟øLjH2ªž(ŠlÝŠ|ºß«Ó˜RébiQAÎñ¯ï¼¯¸¿lÿÛ„™wc|)‹XÊ7ÜÃtø=õÝYwhJý;mY{e­1•œÁLÎGZþ릎†(: ³ì ÔOÏ=·OnúþáòþâðY·Kªþ$>ßZ*-þÔóÔÜÎÈ݉Œ ¤bb)¥Ý­µIY·0mÇ”¾bM4¦ægæÄIþÜÎTi‰@—ÝB:ñØW»“iý„òT+§¦Ëæàq,‹ï»û ÎÛq‹ïY?}µo/—Ë峯×Û×»WíË¡ýºô²Í—?_Cé·?üùöÛÒG í§cß•¶ùìÇ9ÏôP»RŽÃ2– ª)ÿx¬î“q;88cHÅÆÝtÇ=åq\Æê8+cHD@;)‹(hM—Ý DQ ¦Î§,;&©ÙžÓý”î~ûéëÎï9¿œë>wYíØž@Jòf%²ù0þšz×Ý{iî+Ú²W\ö×ù:–="¨ ¤sÿSE‘Í¿?s®“[v*ÏÝÒvpiy–] 8-[ù±§•…ädM|Ú¸)ãÓñºG©&ä¦ñ³·üØ?ñ™ÔÀnZK=Ö·àíãsÝŠ|œ…@âäŽK-êž³MÍñöz­üÎÃGƒ} $v¶M`DŽ¥f¥5]ëø¤ö3í$œvÖeÓ%ˆÆ,;:rÖéæëvIÕŸùÖRiùó§žOçN'2-$Bز§µTê_«…1>2ã=§^q¾<ËŽí´ü¥3î¦Ìÿ¬9V´ §‡XªÝÖ“Aæÿ:ÿê©VNM-–ÍÁãX®ö íl¢9â+þrû‰¿þ×¹ÛO´­Ñ¾+5ˆ¢óHuÄØæUÜ~‚³H„¶o,E¸húa ‰Ð¶éI-~S³OQ9Lûæ¦Á°ÍÝfk¢ÈêPJ—³e,M/~Eý¸¹¿~˜›y8w¦îü†çæŸÉ§Ûçï!µeMÝÇ´8˜Ôµ2ëžús®ÈB=ŸŽKOÖóÏo3¥±´Örêž¿gcHØø"ÇvK|~ú*¿~üÖ]ü†£KpsNÄóÛ”¶~jjQº‡¡l5uÓBâ$rÚ4õ·¤»\Þ½2I_Ô´KJŸ;l™zÖø¯ËJ5ÞúGI—]Ë¿åvéÞê;F úP™½R¥ûHtD›†¬*[¶ÿÆcY_»WY—@¨RÓE–ÿÜñøÐ6%\i5í*UuzVÓ’XöÜeS†ß· Κc"`· Îa¾%‘sÑhεJÛ‡_ésë¿ØY©žå|ìͲcÞôt\ÑQÞoãODzuèͲXÍ^혦QTKºìXÍ8~J[H žoywôï§,c2K‰®M»ö.ôK ѵšîŽNÛ(tJ'm4¤¾Ýœ»ŽG¬]ÍÝbÎçܵ[VÇñMIæî]³%µkÍuHPàæþúῼ{zýýÏ{—…u¬±é’Û3º©ã”ëŠÕÇÉ6÷>>–wÙl¯ExäÜ^² èÚx}ù-[·cÄ’@ºVz-Zë.µž»ìLj€×ÿrýpsÿôÏ>5}Ú+ÛGÅ^¯»“ ËEãßÅ)ónýL)-$xÁ8ŠÆ®®.—Ÿ¾Ú»t\.Ã8Ð÷?ǸªæÝ«_Kõÿƒ§f‚x1& Ë4–´zùaSKý’I eˆŸ¡U$ŠHɉ¢e@ €Àjr.híó¢× `9ë,X³nžYvPÀjß}*ç¶ÖuHý̯¸0 }öõår¹ôq‚`™~"d]ºì^0Ì–c?½µ  @ëXêyʃ@ÈÒúö¦<$€-bI Lj(Vr!4%ª,k3 ¡)Dÿó7÷Å?|“³å_ý÷~ü÷·9{øúâó¿ýËáΞ{×~[I éúáæÞ• c‰†Ra3"gø9ÞrúÈô&Ób ÎǤv“Š«éããøùûûøãýïÞeÖ'ØÍ´%”£tûµ½{Õ÷•"ÐŽ.;ÊIÊßÛ¾4¾bß,)X—@¢¡ix, •Q46U%œ ž.;vßrŠESCüÌGC ‰M Ñ’š_—Ú~ïRçj½´ ‘ Ó¸S5½;‡@bãXÚ»,ëE}JEÎ|P1&h"§e“³Í8´"·–Œ!A=ÄÄŒ"!ëH„-Š„ù,TJ Á „ùŒÕHð„¥ÆQ¤U´Œ@‚gBˆeDÑZ|alMãs×1NíÚEQœ:¶pîÚ-«ã°ýøç°>ýÞõX§v­]ÉsL¯ÒN¢ÆümSLy˜H¤vÒ”1$HJ-$œ Y„´&(ÓÉ&_éëX ZHdÉ™3-5Á9´æWøQïÀÓ¾ÙÆ^a0ž83Ц¦÷F‚9?}µw bH¼ ' rbcøk~K+ÿÕ£qû XF—7ŠŒ$A=Dã6V´«ÇÓeB°&ĦRížñããXŠÖNBÐŽ1$V3ß²ORXkŸ[Õëã7÷ÃOÓ Ä òÛ1-¶lAÁö+›¶ijZ9[Ž* !Ø—ÅUyÁt•ây¥+5D`dˆíÝÜ_?üñ÷wO¯¿ÿyï²D!Hš_<ÿ|¬³À–Ò”@‚$-'ÚHS¦}C’ETaK ²'hM A1á-$¨âö°×!Áj\½D>Ó¦¬Ìí'ÈaY¬htÙÁ Œ$A= !X—@‚BÚHð!ÛHð„lO Á3!û2íD„ …–‚|B8Á^tÙAÒx) ë/@k ²üK–{V!$B8𤆡óäñîéõy‡šÏ]Çs×®‡:ž»v¥u,e|÷*ïYí&ÔDû^Å) Äí g¢Ë€!x ¾ü±%_ $€†ÄL>]v„ …°‘i÷öÓ˜@؈ø™§Ë€!$BH„ A ‚@ @ €!$BH„ A ÂÕãÝÓkˡӇü›I·ãâ~HtD@dºìA ѵ-;ñÞøæË÷ö®1Ä% +–j¢kˆ¢Û7o¿»}#– Ťx›ÔÓü_µ˜ÔÏJƒgÚfš>7g` à9$¦á‘ê¦KE×øñœmö®7Äb >¡M{ÑB‚g©vRŠ.;X—@‚ßÓ±–-âò $øD~;I ÖeÚ7!˜Ô@ €H7÷×{ßJ@Õ®ç:ž»v=Ô1ZíŒ!Â[Hœ‰@ @ €!$BH„ A ‚@ @ €!$BH„ A ‚@ @ €!$BH„ A ‚@ @ €!$BH„ A ‚@ @¤›û뇛û½K¡Žj×oÏ]»ê­vWwO¯ïö.½;p €3H„ A Âÿ‚Õƒí'NÛBtEXtsoftwareImageMagick 6.0.6 11/29/04 Q16 http://www.imagemagick.orgÝ<Ž‘tEXtdocumenttmp.tiffý òüIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/summing.sch0000644000175000017500000000357613634703632016625 00000000000000v 20140308 2 C 44600 49900 1 0 0 nullor-1.sym { T 44600 51300 5 8 0 0 0 0 1 symversion=0.1 T 44500 50900 5 8 0 0 0 0 1 device=SPICE-nullor T 45200 50800 5 12 1 1 0 0 1 refdes=N1 } C 42700 48100 1 0 0 vsin-1.sym { T 43400 48650 5 10 1 1 0 0 1 refdes=V2 T 43400 48950 5 10 0 0 0 0 1 device=vsin T 43400 49150 5 10 0 0 0 0 1 footprint=none T 43100 48150 5 10 1 1 0 0 1 value=sin 0 1 100 } C 42900 47700 1 0 0 gnd-1.sym N 43000 48000 43000 48100 4 N 43000 49300 43300 49300 4 C 44500 50200 1 0 0 gnd-1.sym N 44600 50500 44600 50600 4 N 44400 49300 44400 50000 4 N 46100 50600 46100 50500 4 C 44200 49400 1 180 0 resistor-2.sym { T 43750 49450 5 10 1 1 0 3 1 refdes=R2 T 44200 48900 5 2 0 0 180 0 1 device=RESISTOR T 44200 48700 5 2 0 0 180 0 1 footprint=unknown T 43750 49150 5 10 1 1 0 5 1 value=1k } N 44200 49300 44800 49300 4 C 41900 50400 1 0 0 spice-directive-1.sym { T 42000 50700 5 10 0 1 0 0 1 device=directive T 42000 50800 5 10 1 1 0 0 1 refdes=A1 T 42000 50500 5 10 1 1 0 0 1 file=summing.cmd } C 41600 48100 1 0 0 vsin-1.sym { T 42300 48650 5 10 1 1 0 0 1 refdes=V1 T 42300 48950 5 10 0 0 0 0 1 device=vsin T 42300 49150 5 10 0 0 0 0 1 footprint=none T 42000 48150 5 10 1 1 0 0 1 value=sin 0 1 180 } C 41800 47700 1 0 0 gnd-1.sym N 41900 48000 41900 48100 4 C 44200 50100 1 180 0 resistor-2.sym { T 43750 50150 5 10 1 1 0 3 1 refdes=R1 T 44200 49600 5 2 0 0 180 0 1 device=RESISTOR T 44200 49400 5 2 0 0 180 0 1 footprint=unknown T 43750 49850 5 10 1 1 0 5 1 value=500 } N 43300 50000 41900 50000 4 N 41900 50000 41900 49300 4 B 41500 47600 4900 3500 3 0 1 0 -1 -1 0 -1 -1 -1 -1 -1 N 44200 50000 44600 50000 4 C 46000 50200 1 0 0 gnd-1.sym C 45700 49400 1 180 0 resistor-2.sym { T 45250 49450 5 10 1 1 0 3 1 refdes=R3 T 45700 48900 5 2 0 0 180 0 1 device=RESISTOR T 45700 48700 5 2 0 0 180 0 1 footprint=unknown T 45250 49150 5 10 1 1 0 5 1 value=500 } N 45700 49300 46100 49300 4 N 46100 50000 46100 49300 4 lepton-eda-1.9.10/docs/wiki/media/geda/board-3.png0000644000175000017500000002101713634703632016372 00000000000000‰PNG  IHDR¿D©:¤| pHYs  ÒÝ~ü!VIDATxÚí¿\Ç‘ÇÇ'PH*qrJ+T ]ÆQ¶‚’µ"ÆR"F#:=˜™àHŠ3¢˜drâ¦{pþ#|€lÀ  xA½ÖlMõVÿ®îþ~‚ÅrØû¦_w¿ï«®êîúÍËWÿ÷òÕòo½+X‘#éùÓïþóƒ?ý.ü-Ë V¨j5k­~ƒ  =˜p:étÒè¤ÐH ®£V¨•‹2«Õ Áu@0átÒèÀû½+B|þáþÖçö®Å¨À™àX=Nèäƒ6ô "\ÔêíÛ·oß¾µÔÊR²eϵ¸B„ œoìR`„û.@àf¼É9°GV @Šp½¹ø×_Þ\|÷õŸ?ûîkí§¥LûvGmhºA?÷w¿Ã?‘“íyÉpù]–{ —l lÙƒ4®¼Õ ®FpáÈáÁ¸|ðcíÚ†TêµX‡Ö×ü:–25®_»­Ê~cûHk3–|‚ ×ÀÐC%-íóRîXíú’ÕÀ±¯·R¯ÃôLNX ,Ò&6;.®oéKLx:óâé³[/žö®o.iÒ0¢¥Ó·>²ÅÖ ¤çHtž?yôÛöÞžXbý2eíšz½±ÐdšÆh¡×ý{ßüpÿžüœ[:ß}ý_ÿøÿ!¢OèwúÉÿÊç¾$KÉüö¤óV«m•_æÍÅÿû_Ѹ²Ôjîg®#¤ÕóÁþÓÿ}þ„Í_ýñïWaQú_ú„‹/Ó»e;EʱY|F¸zÁÇ’ü_9W‹vÁÍ|4h ÐP‹ý.eH³’zQï±\祕 zñÏ1Õ"àëÙ8;ÿò“³szPéwþ¿ß?¾¤2íÎ?ØzùàÇ—¯.vWæ4 Öó'¿Ó_ñOøÔÞ„œÉnr>©Ìo«±D§Mm¥ Ü¿÷Ù_/þùýãËö·w/!7×€Õs„0\Døï\’øïR†èwùnÌ'm꤭Ž-£}£ÏÉQ>|ºt$:‘»ž*äKR©‰[þºž4«aV‰Ñ ¾ƒèØYÈÍì)I÷¶eâ¶}7Rð¾ëÝ#±PpÝs­4+‰„æì÷ÿöú% mâf âŽÞVá2-·ò6O™}¶‚ëàá7¹\žÖÑç³¾™Û[=ÚĹwKŒ|=CâÙ½½|\ŸŠXIÒþW^hŸR@z†$9~Äÿê°zûàÀ–îíÃ'}Wo{6NY0áZ."s¬Þ®f‚á Ví·DRL~×$éìüᯯ¶H’Ï­¶––§èUس3î¸B„ œ`¬%yš•¤ý/}Þfâ–?Â1Õª¤Ç)cI†IJáp'×næ!ë…A[mùïe·Ý–•iØ8m€›tÀçº$¸“[éŽH“¤üˆV'·g¡R†¿±F ÀüZ$r¿ßjË÷»Iÿ‘´’ø7j¢ƒ€õ¾q!73R¶L˜¬jN[IvËÕÛHh®ñŸP–oóªã1²–¾$¤´陜ö)=/ °ïb‹•$¤ŒÁõ ¤´`±Y¼Máù^[[$[ ø7¤Ô€Õ!:£vèùÓŸ[IÊ„¥¼üݲÇÚVZI+ûw8 E¸,)é:–ÇÒç¾$Ÿ)ùÕ4Áª äAwˆœ–ç2Ä÷»ñëó‰RÊ2ˆp°zèsÏoõ±Rj×)5ö,':öJÓ¨EЮƒÀ³èÄâ!`=Ñ ÓKtø]sw5}_7óF8 Çúž0~Rz^) nõؓ䬬ž#bSz¦o @í-.ð|Ú[:Ú ‰ä&,:«MµHÏä´OØwºÚ÷ÔD)"”~ZʯÃBnæ±è›Ön,¨­4ÏÚÊ' ×Ç­UË´v#¶Ulȼe;ØS3¶¬•½L½o„ÕãX=a¸û6ìÙA[ù.0$×v™»] ƒV5àfC2Ê)‚r] `õ ÉL‹c¹q ¨+`õh@zÀ0ô]œäF®jÕ>`ûM­–mŸ|£f~­áB„ œ`å)QÊÆÁ÷ ÜÌNÁ{¶ŽÄCÖHÚ3°z€S”fnàfvÍšÓ®R1,¯UD¸4`õ8e5Ññ–sÔ®j5w„K¦îkS+D¸á'XÁêÑW/û-á>A„ t£¶èx. ¸™‡dŽ79a½|•®;ž-D¸–5 = )«E|V»_;Ј5×é¬v¿vŠp½¹ø×_Þ\Pæí§¥Lûvðµ±—!(¾#ó—¯ÐVˆpieŠp•Êä!NlªB{"À´c䵿¢Oº“ËŽ:ÿ':ÒØ[ùx &\cw¯æçµ¤¾ÑQÆ°ÊæóÉ2RlŸï–Î8ÊAp}`´Üð–œñDšè„¯ÏóCÐÏC kJ¡áHË:œ‡kåL¤ž#^<}öË‹§½kQ’°@”º‡ËÍ:NVMDÂy¸Â;7˜pmèÈ”Á'KÞ_žb½EùW<†å'žÕwÕσÿphçûOw« VωùöèSƒÚÉ…å5¹¥ÃE§MšcŸÐ(’«™Wöïp ®ß¿÷Í÷ïÉϹ˓_',@#nÔ”÷Ûž\>øw‘ YŠŽ½þ³nµ¥Ö@p]–Ap}{ qòÿ~¶G©bͱWŽ]­þ®4|öW¸}äh\Í„k\tf’ã%¨ÈÞ‘›?}ÊAK¸ 5›yƒÄÙù—ŸœóßeIK ÃHÛ­¬¤^s!_«g½ïÍiÚß"×òlõÇ—š“Àê™–œ¥ƒÚ´ˆ/Ô¶Dhß;·ăèÚ*Õ¦ZÄBVÏšö^ÅÊÁ 'ìÄrbÙÒYsL E¸Æ­•%ÎB³¿}÷½Sï[¾þXFñäOy¹:™ÊXVTË’²üˆÛGµ­¡$(ü'mK–Ÿ×¨UÙ2õ¾q¡×XøÙégq F˶Âù;¥XhÂbñ/:hq›œ™Ö8e¹°z†¤M´èù“G‡•;½ï¸5rb9. ¤Q/ß(hÑ) "\Ԫ;$2§„|jU£ ![^N¬æWˆp´\€7÷:Ë÷yÜÇÜ@z\S[€ :ˆNK =`i°N§p3»¦žÕ3·½C„_«°qú‚u=Nè䣵!DLjp P«R±$RÑ«±"\ü RŒ+D¸À JY=X§Ã·¼ö® x|=Ó²ÎÄ*ÜŸ@z†Än«Òfˆ¹?™é”~?$Yî]ApHÏ´¬æL…•7ˆpMÈʢíàX=“°ÚÒ8~¿ÜÒÕ3 ×éJÊ ý´”ißá 2OJCópÎOù²üþÎÝ÷÷wÂQ6ºŽ%¿¨öim¥%™±´UÞ±=oµBp½¥òyH†#3aÙ=iÙÖcÿJW9)µMž~“%ì# ǃ!¡OŠŽvô:G>®ácÛµ¿â®mÎJ¥Qv–ǾÞVNé9âÅÓg¿¼xÚ»V,¡& ¡ cÿÛüå‘ó‰N©¿¸™7Ht,9×_<}v«Ÿ<‘ãí!´Oybe(ß}Þ7õ ”æ5…F«çh¾Mݧÿ‹O¬Â¡Åõ[в×çBv'ûGE+ûw8 E¸îßûæ‡û÷äç³¹‡[^ŽÆÕ¬!L¸¶A@Ã]{°{‘ŸãÜþX†EG#¿­FŸXiP{òÃ:èsøz¸™7hpÐCNƒãìüËOÎÎeÉ6o§+LÚ |R)Ë{z-ÙæE¢ Ê÷/ßýãñ%Dç¤gãûÇ—ío÷®Ånw¼:9ç:Òl"‹¥MsfÝYN/$)@÷ï}ö׋†G×jS-® "ô³W¸PjdìâÀ´«ÙïŽäÆ7­,\D :aŠpÑ>êlù“xŠDheø@)Ûrµ.8-q…ýí»ïè|ù}£\RÈÒu´EƒZ­<µ*ÝV²ýa²õF2Q$@ÚØkY«´2õ¾q¡W;¿=ïKJ»ú½v{úl+oË>½_ÏF_¹é[‡w4ǽ ê_φ ‚¶ùÆ™‚ÊrÚØ»F}@ XÀ„«–·¢ÏerÚÒÇÞõÚízL¸`õX€Õ³ÑÆê™Õ.ð):홵k°P„+\†G¸êÕJîQq_/Cr)%5Æ•¶ÍÛh÷P+L¸6j»{c¯ïsÂåyb¥Ñr„cªeÒSœáè_€z×%ÂêžôlÔ°zf‚ó-( Ú'HOæ9îø®²®9b;í×…Î$VŸˆÜ™]êÊmzÊ>qðÓæµ™ãñÆðÁuzòî$t©¥VòjÜùJ?ËŒ-zNËs'¼ÈÀÞæ±÷ئLÙ«ñ Àá2–Zø ¦•ÞêÉI)WŠ6“zwšV-_ûÝaZš|=isõq‡¿ßëï‡9üzíÁÎõ´ÇoćrS´g°z6b­ž#ØaTˆNKX=Æï² ß;å€ËQr–§îßz}4k{¶aøa‰Dh)¯þ—NeþøÙO߆Ë脯V£­,ǹkWã‰e‹¬=ªhq0×3$7§Ža¿Þ/ZÉüqUª=k·•ÏZ-áÊÉ|ÄŠ—G|··z,¹"´‰Uþ›9-mNYòóXYz-<®`éä_φ–‘‚äÆOª{ ·ö)ˆ#ŠN©ëÀ_–¤gƒ?¢2¥IïÚ]G›|Õó>ø_ÅcÉ÷P X=ù@zŽr®ó÷˜%’j¬Ó!¹ñ°a"Í‘ ÛVO>KKš´õAfÂòÃ"ëCnàÈ ͧãÍÞ‘½#å lb)f)áÚ³«lëדÕiqû—üœ?T[ÞÜfá?÷w¿£ý¯ÜŸ¥ÉMûøH¸Ííñ&ËÕ9®¤ïÌ,Ég­–Žpñ÷!ÏGέúÄr…6´ÙYîmTØÛ_kŸØÔÆŽ+ÅK 5h8Òà#«‡‹Î•T&ª’O¬‘ïM>jÀ{>‘íSª1É*ËÒ¾‚†& )né\-<to ½ÝaÌ}1eW9õ\–¥­ )iéðW˘ ûX½V©¿ð( ¬žðÒÁã-u- ù"—Ân§„E'ÍC«§,ˆpþ7´‡‹‹ÎÕ€íöJkmâ#¼LX8¨—µ—ÿÛØq¥Y=žÛÊs­–Žp¥QcçúÜ;ËksjinñqEÓpôHY– ±¾äíòO©ä‹|Éz§ðõlÄúVxù´cUåïÖe)åèÔÒ³‘sê }ˆcbÕ’üÆT«˜pÆbÅ@tZ’ŸoT¬ëÙ(5ñá[ïÈ. 3m¤È!ÇÆ„èÔc¡àzø:–Ôwö«ñ­Œáu:5Ú*,:ùm•V«^er‚âg¿ø·×/×i«–߈ ×FíˆUû4ùm2±í÷m0áÚ(+7üš½<;"­ýi7ýþòÕEHÏFþ[Nâ}}= ´ö'/OïºÏ &\H3æë Pþ)…£ŠøÁ)hzÀêÙ–ákIo´eø9V Öõ”År8†½¿èŸ?ytM€@YpÉ´pÚ¦PY’G¯ÂƒØS /GŒm+~޲ü¹¿}÷½ýípÿñ‘Ø€Ô¿–ƒM¹Õ³Z4°å7.7áÒÞáT¼L=›¥½4¢?(?¡£e©§‡‰üÜ,´‘"õX(ÂN »‡«v ÀzmU6 Ö²V±=ž*†¯F¾ž³ó‡¿¾þ¹ÍÝ•½šÿZ-=á²é! OÚLLìí¯%°Ö¬­ù¸"´«,KO¸ø€ÖV»®ÏÊ¡ïDLöެOìT‹Ñ©ÇÒ¶MhøÊ! ³ÚaxKòšXDÇÒƒü°‘f¹ع¾Á‡WÎ{rM´u@-í…ƒú.ÍÁÌÕS%|=Ë*Ùvív î„åèpŒÇ—|CLÕÄ+*ŸE#\2ÜÕ–ÑŸýô-ßõZ @ŸµâQ0~š’Ü&JÇž–êAm\qÑñÖVeËÔûÆå"\Ú‘ '¬žÈ 6ÜÆ±Ž‘Óƒ–q«'‡…|=ás^h€†EÇrPÙ;±¢C”êA„#r€¯gƒ¿E·dr»]æÉ¾ šÕsÝ–y°«Ýƒ°zrXÂ걜²á‚íÓÙÚÒJ•Åó‘Z® ¬ž– þžÔÖõÀ³ãú©Iö²{f¡W8å›Lk~§­œ°W­dôŠ?ö5z0<®ì©у²Ì®´~ü†€}ѱ [9=9…ËÒ®ðl3yŸÈ5;ZÉ6=ÑIc é±'ã¤%Ì5 ÖÖBæ}{°ÍÁ¯óàúÆÉá{ãВ𪫾=«'–%¬"ö-‡ÕÌÞˆ‘–=«'–…"\–r<ê!׌ `ßZQ,I[§C”íAû¸ ¦”e–ˆp… ïê‚!íÍ¡[£Ó"\ô;ÆŒHÏ ~áœ^HûÛœq…1ca!_O,@~È “·\$1cÒ£‚ ©ä—´+´‘¬³é¹œÅÛ—üöïeõ@€ÂLµ®‡ÏÏKñüÉ£ß~°§ß¿øêsÑû.×"¿ýé ‡¿->B888ÕÎBÁõ´24då ¯÷ief­oÿœäVöåø”V‚ë²Ìð®Ú hÚ—| ¢½ «Ç¤8¥ì òÜÌ7€W/J9k{IœÍa–°zj¸Ÿk°B_Zð’aù+í»®9›oü+þ·iý«'ÌäÒ“/:í#\²GÒîÂgÏZî…ÚœÚØ{çwmù[­•J­’‡iLáªëᢠ-–¤=x½zPÖ‡iúÉk®MU¨ ÿ+ûw‘œñ‰lUú+þ·i.Ž=M`ûÞA„«"ãZ=Úƒ{×~ú7\+þ¿ÜêI»²ý»´Öæä[=ô;lÎTK kàa¡ù¨ .íKMr%¥¥ÇþH—} Fq{·ç°üÏØÚö–ìõ գຠJÛ`ŸjÙ'¤<Â%×4×F¦–lùížYÚêá„sµùø2*k%T ÃEÄbõ¤yÁèʇ’­NĹ$ˆp¡¥…“GmZÈå$™ãqœØ¶²Ä€Ú´y¸$‘³ó‡¿¾þ9lõìïÜ}G¶’å»èÊÜ‡KBG»Z¬ž¹ŸAD¸6ø½GX=‘H«'6ž2ǺÍZ±X1±–N¸¼%X6J«G_ iõ´!Ç!íÍ™m ¨K_Œv| Ž\#¿Ë¾!F~c~KÂ×#¯Ç·z¤¶˜Ò(µ®g®mq(~–WívÃi>H‰ëVσ£Ý=$F5ˆð6uªq/òÌ¿kÍöÑûÚí Ñá`Âe‚D‡Þœ\tø{‘¬4Ö9;Ó."\Gh1)~Ò‰Å,èÍPωpq(²£y7øOª×ž¥zHjÏÚµâ2×k´‡hîg®Ø×µµ!»ãåjrHi¾!{­ò½þû—ËA/•<@£ Ô˜vðõ˜ yþäÑîb/Ïpá¢ÃðÜ7”6àü GëˆÁGÒ&@‹éÚªŸÍ9½Û]dö`n«G›zÔ®³}X)x?Bt¸™#à!ö³ó/?9;·Dµd*A-GgÄy,¼5è“YcLü¾è~qð.¬žxˆ=veóµá~ëó¥ñAûæ¬jO{Ñ!ú®¬áQQé7\ HO9Û)4øã§¹«ÃÉX¢Ãï:öH°|Þ¬Œ{°˜pEÐ×S ‰ŽtWרaþ6‘OŸýòâ)¯­åü£²kÄå2ˆ¾kÐeR;¯°2ÒA{ѱĹøñZò?ox^7жùÆ“¢y˜8÷õŸ?Û¾Ú?ÕêÚÄóÖç†#§3I‚ë´Üƒ\—I{´ n߀.=lµ¡GW{€-á‚›e­+ŌǶÖۢܞ¥}=±´Y [¯G¸Õ{\yΠçS­X«'ö=o¯gl¼2Çâתeûø®ˆ2|fÞ2`ìöQytÁ·MjÇ•Óï–Íœ–ø¿ÇðBJËÕ½L·-òH6×ÇÏ~ú6ÿókÅE'?k©•½LÙ«!µÑ+¡­¥V¥ìµœ„?ü“RVOìª(û[=¶†i«´j[ai¾°møz¢iãlæG»[~jW°£&:Ò7”æ©¡‡ª†—§èÄ~Wšè¤¥ëÑ鉯ÛO5V3s¢ß¯R¾{hcE$Íê©A¯“¶Ãõ黫¾=žhü,Kk¹…‚¹‹K•ä¿ÓD ýÒÁ0TCªŸ© Õ‡ÚÊO­ê鉀ÌZzä®Ü±¡ n=úîÛâ–KX’äÄ­ïCEß.íVµ’¯´¹®®#ÅE‹È’ùµ²Ä­bK–jOg!Ñ!§²Üƒ>,-j#Eßr²Q¼Rµ²‹×äD¸ò“jo-Ÿ®0±– <ìõÚáj7byó—ºÚ µò6Rœ T&Òœý8£¿(<,“í‹Ñzµj¤'š-âÃŽ=­7Dä£[ï¯jÀ¨oM8>éã ôíö¸õnæ#ƒ2͘6Ðù@´?ºi@{ =&¸¸hëzjÏ´-RâÁÒiOK‡ý»|ÖʈpÑ>>»Ï+,@-{'vWþÕÊÖ*öœIíñîÛV9µB„«"±®üsR,WˆpiŸXîºW„‹CÑ.þ‰‡ë±ÔÞ¹Þ¦}ü€ — Ë€®í¼,›•´%-¦eEºZþ5íW°´U©ZõÒsDšÃØâœ®QÛ±¨%ùg^óY«^`ÂuâÞËÚ/i9×Ó&»èøéß“öÔ¦ÆÔx`õœ Ô»¥Þ;jÄa:bA=°¤P…„#ÍÊ˃:úÃìgéc¯{ï]‹ž ¸~Ãu´ù¹ —Ê’¥j•v@jíöLëAMhÆWùex›ø©Uío„¯§Ã½Ûk•ÿnôÜ¿kz:Ö¼k |=N±;e-‡¥úg… È ÷hÒ3\Pr¢]Þ˜é^ º'YÚÍ<î@—øq]¶3Ý‹¢£±´ôŒBÚÎõ±˜O€ :aáŠ.SöjZ>LËÖÊs†§`>Ç•,#Egûî{¶<s?ƒˆp¹fî±3¢Õ0b{1¹ô£P~_Œ>IÑîH~îçý×Ð'KHϸإd…÷­Ÿ‡ÜOMÆÒã”´…g+,WkZ#·¬¤Ç)Þ’áø¤×TzîVmÃB®qkµN„+¶Œ\É]/F©­¥­¼Õ VSV˜:•ô:€=\€@z€ô:€j…Z¹(³Z­àft.@ =€@z€ô:étÁuÔ µrQfµZ!¸è&\€@z€ô:ét.Ô µrQfµZ!Âè&\€@z€ô:ét.Ô µrQfµZ!Âè&\€ü?µL8,‹–·BtEXtsoftwareImageMagick 6.0.6 11/29/04 Q16 http://www.imagemagick.orgÝ<Ž‘tEXtdocumenttmp.tiffý òüIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/screenshot_gschem_thumb.png0000644000175000017500000011633513634703632022055 00000000000000‰PNG  IHDR@ðþO*<sRGB®Îé pHYsþþ“üÃtIMEÚ1Zà ŽtEXtCommentCreated with GIMPW IDATxÚì]wœEÓ®î™ÙÙp»{;Ž á%* ¢„÷‘TTD”,`@EP@D1+"*Ÿ *&Ĩ$%'92ÇÁåÍaB×÷ÇìîÍÞ”°õC\fg{º{ê©ÔÕÕ¤VÝnÇ4A'€”ãôKLSõ‹„P™ ½ADJydš @I¬QÑŸÇ. Æš† ·? F/PJcZbÏFAô¿1ú•~%ñ)H|ñ¡D;@ÚƒŠS}BÂwú4 TxPùË¿"@ NøTá A@ãݱ¿böÃð”hçãíB Ï-ï@¼øÑ‹±—Eˆá$á‡ñ¯ã$”$~C*÷"ágå-Å['‰ƒBcG!ÖB*¾"m?ÚM,ïpbË»FʇŸØmÑÖ)©øRI¬UULQùLø>Þw¤@Ë9Õx&ö#:E$ö „–}ô<ßáöG¸ôÂ0£u$"Æ´][Öº)¾@ N“Ëi¨}{s·4¸ôr†$ ÑbD$”Ú½²ê5ašÈ¢QD¦ó.ê`¨ó"Ç »·¬q¥U³§×FMãˆéˆGÔuÞg ‘ãxoÑÁ²’‹.n©© êF$X\b0MÇ;‰&Œ (`c}D¢ 4àH¿ ?}8„1¦Ï."#”Æë;’ØÍ±Qëoõê} F¿2røÀ.Ƙö­™3®Î-϶hÞ,MËW5æU3éY5;µ¨M€-Þ¸‡©²d³W¯Q3ÿÀ`Àg¸µë1Æ"²œ`_zµ¬‡óÐÁþüÚƒ½ÆÍ\X cvÍZšªê/ž"Y–îÛÇ«[¯~þ¡ƒ„Ðìšý¾Ãùyµü÷÷ôâ×å˜qÿ¾]V›=ÕéÜ»{ÇSJ(„ìµ4¦DƒúNPïcFE¾«€=c „PFbW(”¤5([¬ 8€RýƒÎ&H£7ØpUt°¡Ÿ”í®’@¢Ü 4‘o *KÿD¢W™iNtùã`’ g€D!v ¶®üÚ'®Ä ‰h­ØB 3ôˆmVx"©„¨#õŠÊ½:¡y¤„!TOµz‚r0¢êïK4qn¿RÍ)y‚2G !„©2Ï4U‰„ …Ú©¦'z^²µð×Ë÷fH¾vÕÃ¥£öšªú -ý{Ú}ëÕÌê>t2Páµû»îÎ+hP§]ìjw<0­Oà¹æé¡»¯h½yç¾…¿¯œùÀÍë·ìÎ+tO{°EmÌ+_;3/ üÁPØn³"á›gD¾±Ëå—6hÝ{ÜûOùkKî‹ÿêÓ¹E£ÿ]¹à‡•¯lñöƒøãÊ­›vï|öî«ýÁиY_®ûä©­»¨šFG¿öCZz&"‹‚* 6)Æà‹Œ•ïÛü„1MgZÆP‚ w9äˉëÒ¸’Dˆ)Õ84ãbÄ€Û˜yñÎý‡FˆF¥…A+WA1sŒRdhĨÁ¬|T0@uIuc‡ÝmÅ+‰©a ÖyLKU²°ã þ¸ø<*l¼/ÖtåF+">®é­ Àå„’DÚànTè=IÄh‚E F Äj!@ˆ¢°ÚYζõSê×HŸ8w…Uä!Ën}}xg·7p×´ŸìÓÆ4^"ê~ŽãU“Í’VmÿÖô;óÓþ¼gúþÿzX™§øh!_Š$ÜÕ­Õˆ)sžv³ øýþ^Îò­|wĤYii©ª`gšzÓ˜—½+ß]³~³ÍDÖ­Ñîö‰%Ë_7ó#Š6zê»ÏßßgûÚï2335[zµ WÁŠu7µ«ûÃòuó~Ý1kt÷áO¿3ñ¾­ {KÓ¡`Ø]ÝñqqDüú™ñ|“Þ¾uJ ,É"‰{¶m=çñ¬.7HƒÅËÖ<2㓉÷ÝÔæ’‹•^vi#³\,˜Ìo~´ˆ£ô•§F•zË*P±8b¦fÔ#a»¢Š”Æ0GÀÊoŽYÄ ‘·WõwÅb5¥”i@¹iÇ‹zæ±—§C˜‚ˆq“^·cî!RB´hg8B5¦ÅÝDR•Õ‰£Þ"@"!8n'ÇX-jÆ•6%åf ÄíFƒûL ‰Š™r¦§„‰‹½òÿ!$Ñs­Èý "Q»!õËEW ùH€Jqq`pªuaSÁƒÕ_Slâã–\ Ä§!1R`l¡üsìçÆ¦Ê­…¥¡Äb6=q{' ðâ¼_ƒŠÜÇ>øÊW?¯Þv©E„9BÝû™Mä('}<ÑÍ?BviãÚ•uk›#M-¬=(°h‘lV™–æ°~þËú§‡Ýru›K5ÆlV³U4q<õ•aw\ùÑÂï­6É*šAà9’(JfÁb1—†iíêéO »¥Äí~x7,÷åoZ1¨ÏõC§Ì{ûñÛ™x^4ñ)6IwBóýÜôÿûHN—Ušóůsžf³Ù,6Û¼/îó¿‹4ýyÕ¦ ý¯Z·u—M2Û-¢+Å:çÛU]Û4˜ÿõ²V‹h·šÀ"IQn$$îµRJèAC„úÛÑ×FI\SVÎÐÀXÔÔdŒPJ‹º[„Ä1$„JIŒ©£¾"Bc¾+@Êqš¦Å˜T'Ä¥ Æ „Ñ  ‚î"šÕÙ±x¤Kž "!º¸¡1Wh‚F‹B%Þ ]ÁƇ€€”RÂ+WAºCO0:g`3WÐ<ˆ@h‚] 9ª¶E1îÆÄkù˜hÔ;N2¡"PJ+ÞP)ˆ—¡„®†Ö(%•[ˆv$êq—·gCÏŒ-Øç„{!!E}uÁï$¤¨º­á²ß6q®Ý"î;\fýy‡Ký×ÞÿFvzŠÝ*QJ)å€r˨"¦T šÇ¼þðá])–lKŠyì _ä1JIaQ‘Ãn‰È*'{Ó$œ<ö®‘/~ê ³T—³°¸8--Ãïu[%±ÔãËHO+,*¶Z$Ci©EEÅ’ÅRÇâoÚ('-#ýÕ/Ö¤¦Ø4"€‘Ø­’Ûã“̦P(`µXü€ÕbáxJc”òÔ³×Ä‘÷§>ÔyØ+6«%"Ë)) ÈF( …B6«Õð§8Rý>/ÏófÑTR\l‘¢}HMM%”Ó©ëDŽMcÆðOEcº‚Z•k ‰62Ñuµ!ŠÈôxÆL_¨ü;Œë+½g”¨ÞŽ hf AÜq tÇ[ÜfOtâ«Ð¿$ê¾b\5éx&ïQR. p£ÆØu<¬LI¥u¥à ÆTeûžúI‹­A¥˜0ß - 1t>½å _—="L¤*Ï6.äH,úUVˆ]/ ò1D?#)DS ̪k‘¨mO B‹[aº4ˆr !„r\ÞÖUäæ‘ÏåG¬ª¢q@‰ùYL3ð¢!T‚bí4K^‘©@Hâ2á6Ãe¦¿2‰'v‰ß[è—D3"KXë0b‡D¸Ñe,ˆÀæd;¶î)-VÔXL!Em¢˜M‹„2¬},Î׆8°c'±Ç×X…•+ñe²hËU¢qðѸ½ÃØ ˆ[ÅLb,ª¬[¿€1L>ƒ9M0*)%LÃx7‰Á€OðÀIŽqÑ È9Û¸ð¡‡B€£œî@ ¡4f/¬GqIŒ¡ãêJø­(¯lé&ŸP1˜•¨Ã£Qî -¨â1‡¸ 'Ë-Ý &tÔŠ ”òÕ0Zy™*IL°D*y.åÆ9IXúªRˆØmöà ¼BÅÚÞwö륪*!„iªª*ºy  «›¨» 64ú^˜8—UFN¢²$Nœå(»"5Á;Æs«üâ8:zúˆ³;UüâŸè!ª£['HUvõØ ÇWïþa:©㉌íLt¸‚ü5,¨›Ìâ÷?þºÍ‘ÅBVvÍ.]»C¡H8,I’,Ë$Q<ÆÃ?ÇûpÄã¿ÙhìØ¯þÉéD4úK§·Í±…3=]I:Cd³ÚÖmݵug˜99ŽRj6›cz°‡1V-3“ø½ð<_e[Ç¥¦¥@iq‘Æ!ÄïT«–A(õz<ÆøÞlfVu(.*Œçup<¿3w§$‰iié&“p”~‹fs8¡”:ÎÒÒ’cª,ÆXff&ZVZ¢ªêñOc,3+«àðaJ)!Äçó9MÓB¡Åb©àÖ:N·»Ìl6# À›B¡à±5¡¡Í£ÀÀåry½^NO†EQ€ç à÷z%IJì‰ÃívW˜ó*[E1Åá,).b±ÄA– €ª*Ç9Qú¯"‘ˆÓéòxÊôPP(²H–ª|ð$ÒX4-Š’hÜ#%aŒéËÕªUëv}·;ûßñÝwßmÙ²eÆM’(šÍfjÈXÐï?p ¯[·ëoíÝÛíõX,«ÕúŸ~º|ùòž!3«z^·Ûí×\su¿¾}÷íÛg±XTU­–™õøøÇ«gWŸ9óQ4‹¢h±X!6›Í(ÅõHàÂ/¿Dļ¼¼ÇÆ?Îó‚$I’$ ‚@±Ûí<ÏWøIµjÕº^ßmÐ=ùå—””³ÙÌqœ$IÏ[­VžçM&“$IX Gã‹›ddd‚žQmòä)©ié’$}òÉ|š³)))&LÈHOß´iÓÖ­Û–ÿ¶\’$“IA„(ŠÑ‡ ‚(Š”RQÓ32&=õ”Þ¦(ŠŒ1I+Ì•Ífëç€üüüÍ›·lݺuÓæMÛ¶o«Õšè`ÁáÃü‰d±Bâ39qâ¤Ì¬ê‚ èãAÿ\a€¢(~0wîm·õ[·n(Š¢Ù,IÒæÍ[¶nÛ–—w ïà‹Å"Š"8)<Ï›ÍfQ4ó<_Aˆ3Æ6nÚ´iÓ¦Œôô'&<‘žža2™¬Vë{ï½/‚Íf³X,I° 'n³òºu¬©*cLQ”rî$Ôát :lÉ’%®¹ÚlæŸ|ê)³hévýu999¬<ËÊÊ®½öÚK/¹4=-}èÐaééi›4ýå—_׬Y³páÂŽ®‘e9þlY–›4iÚµëuóógÌxy> Û¬¶Ü;ÇŸêr½üòË,¾²•¤Óˆa@=Œ Œ±HDVUUQMÓbøF¦±H$¢ß)ÜO?ÿ"Ë‘ÒÒR¨b]„!áP¸I“ÆS_|1#bËV-{öìiä½åh¢Q4€ÙlnÙ²ÕØ±\×¥Ë+þƒ¡`ÀçóMš4é¢ÚµªÃãñôîÕ{ÑW_Ö¨Y3 íÙ»wûŽ¿~_çΞ|ò©N;ýôÓO—6»4Î+ѵ…Âá矶° 0à÷¯ß°¡  pܸGrrê2¾¦j^¯‡ãyã ÒÓÓçÏÿ?0øÙ§Ÿ­Zµêé§Ÿi׮݂… Þ|ãî ƒ Œˆ±5D”$é³Ï> ‡B%¥%Õ®õÀ˜sÞý?þô“Éd~饸aÉoÌîÕ«·(ŠcÆŽ ø}ûÝ6}Æ´Þ½zy<ãKúòË/:¼dÉ’ËZ·¾û®»ëÕ­;dÈ‚‚‚''NÊÉÉ ƒ xó×,üB7¤Í¢Ø¢E‹îÝ»ðÁšªy<žÿtî¬©Šªªt»11|qêÔúõêåÔ¯?dÈ}Á`0"G_Üøõ×gþù‚N;Ž÷Ȧ͛´uëVA*­ŠE#ÑV«uþ'Ñù¤çózŸxüñáǯ]·.iKŸ Í·.^3¦1Æ4M‹›Ðª¢Ô¾è¢6—_ær:xG ·ßv›§¥¥3D#Dt8R~X¼ø×g«šZ\T|Ï=÷defŠ’Ø 'gÆŒéq¿Z¿™çùÍ›7òñ'uë^”]cÔÈ&³Én·iª*Y¤¾}ú(²âr¹L&Ac¤ÓþÓiÒ“O9\’¤F 6iÜÄd2¥§§‚Á1÷ß/‰f·Ûm|œ>Š–-š‡CáƒùyAþêk®}ÿýù‡÷p^^^õêÕYŽJÓ´M›6Ý=ðîáC‡šLæ»îpûm·íß¿ÿÞ{÷ìyó×_£3qü𦥧¥µ¹ü²¶mÚ A7n\AÁᬬ,«Õ ù‡òEÍÊÊL±ÛÀÀw÷¾µÏÿÍÿ$³Z&ØSìW]uÕ— ¿l×¶­.Lur8RÖ­[?õ…çßxýõM›6O|rR‹Í&L˜˜––¦jªÀ v›í›¯¿¹ùæ^ý︽zvö¨‘# 9õg¾ŽÈšªPJõ@”¦i.—ËívÛl6Ý!Å‘RTXöˆœ™™Yxøða›Õj6›ý~¿Éd’eYŲ²2cL…1V£FMÆ´‚‚‹Åb±XÂá°®]ív{ HOOgŒy½^BHå°c,##£¨¨Èf³ùý~§Ói6›>œžžVZZ–’’b4A > BHjj*!$ mÚ´iéÒeÙÙÙ7ÜÐÃårƒAŸÏg´ñ8Žãy> ÙSRü~ff¦,ËEEEÙÙÙš¦ofŒ9β²2QÑd2E"‘ŒŒŒ’âbQ’Ün·E’.—‰„ÃáP(¤ãÁëõšL¦ÒÒÒÚµj=3eJ­šµºv½Î8±šÆ\.§Ûí^L.—ëàÁƒ5jÔ(((ä8.Çq‡Ö½ÍH$¢(ŠÙlv»Ý™™™Á`0à÷gfe•––½]d›E1Õå***šùÊ+ONz2 ø|¾ììì‚‚BB@E‹ÕšŸŸŸššZRR’šš…ÒÒÓ *¨S=î‡õyÎÊÊ ª¢þ¾b¥E’®¼òŠÒÒÒ¤ý|Ú5°Íf{ñåW—îVIQ3j“/>ûT8á( …Czðù;|Âóœ×5š÷ÿ"ñO)'ÿ;!¢h‡Ã§m…Ø0É ªÚyÍKÿÞ2’Ý>uÚ+¿îVx‡C‡åƒò5ä$ý£ JÎy’NŒÂ¡`$ <¤8œuëåhLKÎ˹iQq¡ø(Äb˜I:׉£œÝဃ>4U€p(”œ—s‘(ÇýòÝ¥Å%Gq5Q”¤nÝoÀ¤®?/ÈjµéÛTùr£9ë?'Íor`ï^ÑlnÛ®ÝÑÓÒTUýûïí 6LÎÙùD<–ïå1‚˜ã8‚zí*$D! 2fG 6D‹Å¢*r< Ë«U¨8Vþ& )²6qbXóW*‘pX”$¬r ‘r"ÓB ;?ªÔN±­ç̸Õ(þ-!¡PP’,ìd…©ªo`¨u¤ßÃs¼(HUfÔ{Þò}3Gh9ºu©ªù‰Ð4 Žì%úÊœ¦i”r@“‘ásÝuÂ(€‘ ªªšªªªj2™b,Bvîþ»¨¸ÄápQZf±­4ç)¼%«ö½o01,I–‡ÆÝÑE5!¡öëwG$aŒeeeV¹m ±[|Óÿýmï§/tü €%dð¸ÝV›]‘+Çf lÿ®áÅ×ïbªÿ–†Åqï‚F^½°zJ=E«Ø'îÒ2KM+%!ùÈ››$S…ï‰r¸4HOƒøš!ë¶­»òó«À ¡Ê¾ˆ¾ §ª¢±"lÄ Úm6㢚>?6›]–#úÎ`ÍíTy{cT b82‹"Eš\Ý9‡Á+`¨k`@ ”Ržç™a‰×çëØ¡S ÁÀ³œ²Ý–³V |( N+âÍ@ÊóÝE©Y³ziiAAA‰+5ãÙç'@ZšËåª~ÿˆûƒ‰Þ5Ïñ¹»vHZZ-gÓÔ:Bkº}ËÊ—^r©çQBªØÏJˆ  äM­Ýjtñž]µzÂY•òÉ"8×åýÒ¤ú«ïf—]yE›Bª×ˆ·ø¦Ü 愦i.kZ â'@8ÊÉš\Ùu´HÜÄgöÌûˆšÍzÇ ¬”úiξ»né*ø¾[B¼å°Ü|xKfz憡Ü‘2cC.›ËòTÖþfÎôöÚwÍ´¬Ùâ¾.CþZÿ—×Ð`´ôTy5-DÆtµ/˜„ 6^uå•`õj˜ £¥w’þÒ¹ àØ Œæ¦kšž ­š>^x‘¨ªÆ” P·ÉÙˆÄÛzqÞ·/A™–k`ŒíÚ÷áœÏ}>Z$ˇ} (2 @bâ‡/äµö¯J³J.L6Þµ pbÿ¦“÷íÛ[#»–o6Çh!ŠòlM{·EŠfÖjÁÔý)¶C‡·+f²8›`b 0Æ^ZݧzŽ%³))cëÌ!ñ»m‡þÓð.M“lÝ{ˆÖˆ%Ș¬¨‡\·°ëm7Ü®ÊrQ¤øÎFwÖ±_ĘfDº,C«fiy»yAUC ¶÷ß—LæßSÖ§¿PZñš=Œxó=u[Ôeš¦g¶è¡P¸¢1KÀl–F¼4‚¤OøÛ»Þnm:Ëag˜]¯Æ5°‰ÞzûeË–{ø!#†ã`&@–Ol’ÎMû¹Ü„dšÆ˜¦*2/ðÆ:܈Lc”3_®xÈlƒ¡Ÿ-ö{°E†ÈDŸÏwøp>ˆ¢h2™t݈‰’ÃëñØœÎÚž–5ê§•)»3²Þƒ,ÝV+w÷–ììÆò:At6+Û'y‹V3´…ý¥Õjƒ»ÆJ-—"øŒªÕ§¼¶æÞôFZAÑ!—»¶l¡[wmÓöQE‹Tð.ÿ‡¢$}óÍ祅ekvÿ¹ºÕ¯×’âì<³óʵë×ìÚµkyJ¢deµêjŸÏÛóÆ[ŒÎ¥Ôç÷;\Îë ŸõÛàîû¼ûÝ3µþÚ*Ö·8ÆoV5¦2-!›”Òj—Î>¼y<¯þlo°pßß}SÌËüe»Í’3ÐB„Ô¬nïA¸5sæ»ÛG¤ uhóš/\L)M,ò ¨ ‹ùÀÁ`P²X~ûmx(¤˜œ@ÁdZ_ÒªQ³†@ >9<Ï—¹ ]¬ý¶êð²_»¾:«°¤äO»(­+ÞXmäôzI¬MBjZªÃYTT\;³–ÆXiCdªªTÊE’–š¡**“YŠdgÈô0rBT96?ˆ¨©j$Òj“I`L€·Þ~GÍ·õë+ËaÂ4Í$J²¢¨²ŠfÔ4•+˜¤³–dEÑÓ¡ù(¿PJHôC4Ð4EÓÆR#ÚXJ÷Q*íÙë«SÛ,ËŠ¡v&ùù矯ërõÿºuFT[]V? ʲR«–}ÃÆšš`yr_æ.5‹fåßÓzæë?Þ7ªåü}ÅÛ Gžçõ ëåáÜŠUE¨)¬ÖxRÁVä¥ê æTpY²ƒF ÅQž„­éŸ’Nsîkùª;RÀQ®Â¡'Q)ÆêÀµlѼçM7sï7öqvUUµ°¶yÔ¦´wˆž$ IDATôÔhUªØ¡Òõ¿µ%„²wߤÝÿ×!DxK¿‹¯µ/úÒÓ±#øýÆqç)ó¦8RBÁ0/ð šEÔ4V9àÄPÛ¹{G^aÞC=|ÇäþŠ¢U1†ùÁX!,ýoŸßÿÒ‹/¬_¿~ø°!ù‡ÓX…­h™j¢Òšt„Ïi/8® "%„"B¼()¥DŽÈŠ¢0MÕ4McÈäZGUµHÓ” îoÕÜžbMÑ’ƒÁˆª(”Ÿ7Äóœ,kÆ‘ª²¹;Óö Ú˜oËݬiL„¼Ã{/oÕ >0TòÓdY‡Báp!º†ïþ­GštˆUû†€‚‰g…oÏ:O,Ì›øÒî[F7X´mÏzQ4‹fQ”$ÎX­"áX†¨ÑaµZ óËf”pÈé5ߊŨ±#¸!تYZÈ­«^þÈ1u<„B†žˆDäQ*).¬û­2šIuºØ» Cæõ”Ý5 ÀçM¬ fœD†ñ=·n·{Æ´%Qšñò+û÷à8ŽéÅ€ [¸04©Ïi8æC¬0ETcái‚ÈñÜæ-[)sçv»E5*2‚xyëÖS_|Ö$ÆPÓ¢Û#9#­¦¦iÆ›U¦q”xß0—ÓÉq4;+SUÓ¼>_×ÿ\‹ñ2’úú3„J9žçAÓ<Žz‰ðBŠ#CcUÔ±™}jM=hÏõiEf³™çxŽçIô”€rý‹Ñ½•FhJ¸Ò Ûx²;²ÌH—®¿¶~Òžõáâ"TÕr3Ññ727”½ ‘`•‡¥U$ÆXQ°D?î¾{ï $Fò ó­~V~0€Ïë øo¼ö ‰¯7èe±‰nm `ÿd¿$v'8^ENßNøÂäI~ŸËÊqçóùBá°¦¨z"Ïñ©©©úv¶ d2™u¬êŠB¯ìA(Q¥2k†B!UU5MÓë“I°Ùl¼ ÄõŒ,Ë’$U.•°4GO D 4žtRù¤Bˆ¬È&Át¦wœ›³DŲ°›ž¾¸Q|~Š‹‹wæþír¹*˜þÁ4Ížâ¬Q£cŒ à$] p5R|ƒg¢„ŽãÐ@úÁZzµBˆ z™ûÃzŸ­V[0LMuÅÏwO8Iÿ‚1¨ŸÞ~üœ?9 !!Ç…UU¿RZZJ)u8q¥jµZׯ_Ïq\VV–ËåbŒÍŸ?ßív1Âï÷3Æ,Xзoߊ[AÏ iŒq¾úbAôLvBDQ²Y-Å èyÏ+I:눲èvŒãýEì'Çz¡x3Ç-?tè‡ýûãÒ`ß¾}o¿ýöÎ;ívûìÙ³EÙ¸qã¨Q£¾ÿþûêÕ«òÉ'‹åºë®ËÎÎþôÓOm6›×ë-**Ò4í2¡Í¢xñÅçä4ÈÉÉ©_¿~£F )¡ç5€õÜÐ$ˆÏ&ðàÍÀTä$Ýf³ý[–¿ñt:þ|]ûÕÑ‹H–.ŽÃäbÙÙ£~éaÜ7ˆÔЉJŽç]RJõGgG"„ŽôÂóªª.€"°Ùÿüs›Í¶|ùòÂÂÂäT&éÌ ACí’š—Ìë6oÄÒK,á(G’©u'çë6LJJÊŒ38ŽÛ±cGË–-ƒÁ`r*“t†Ð+ RX OX=ºé'Žpa5 ’>ë¾nnnî<гgÏ^x¡cÇŽŠ¢$§2IgÁv“ý¡?ršœã/ÏRC (IgíäMhÝ~ÎÊʺîºë<Ïý÷ßߤI“æÍ›'ƒXI:PcšñDå)/Š"Çqú†>Žã¬V«^Rã„ñI±ð¬~—T¿I:cž°7â­ë¨;¤ù¯vµ¹lós>˜={öˆ#RRRÞzë­víÚ)Š?Ÿ1 àc›Ð<¥<¥Q³Qäù¤ ¤Ó]DtJÎmîm~[š» Ç‚¦©MѰ¦i²,ßqÇ×_½Ýn×ÏÓKøØV " ÍÏ7s8Íæ76ohòÐŽ$~r‰®_õø³ðÏ9Ýçt­ÝÕtë›ro¿ýö’’AæÍ›÷øãƒÁ 3ád40ÔMIÙRR²}ŒZ€A’û²’t–!„qÝ› ¼ÆtÂÝÅEÄFÝsÏ=%%%šš*ËòÿûßÎ;çççÃ…”È#&Ý×$Õ€ˆ1©¦8§2ÆœNgZZÚK/½ ûöí …úôé“––vøða¸bÑI:Iç’ ÖñÉËÈÈPÅår!¢ÃáPU5==ý‚ZI:5b: j[Ÿ : ñ´Æsÿ§Ó8U7™ñCú}å£}/¨Í“/j‡ÈqÍ÷íSøóðxBޱ‚8‰¸O•m ÑAä2åFïñφueÇm"ÔÚ‚“TÕñügOqæsÀ:)<¶Î&Ö=óÍã° €åðW"BÉ Èû [-$ª|J’|°ª¶x…˜›ž›Í ͆Éee°s'D"ä8ñË› 4V]ß›#J µ¹ |`´{öžzuPqY¼õ£•Ž""NWU—óA`²ÆÍ¹§ c‘s$öQÑ£ŠûQU‚‡1ÈΆ5Žhâ!B½ PzTωá$U ó0‰ †ÔÐÇ]>. >³êÕ[>˜.¦{e¯Ãá`Œ¥§§ÀÀõ|ÚS‘”žpu# Rô’lÄ8E§~AÑ”€ðx<ï½÷^ƒ úõë·eË–ºuë&OÀHÒù` ú">35?ÝîiÎÌõþªw³ôfãZŽ ªA£‹+º“SÂH€œh ú¹Ÿò~úl×g"' 'l(Ø0fɘ°F@gª&U{ä²G^ûêøñãwíÚ5gΜ/¿üráÂ…n·;ɲI:ß50 œ`,ÿ—ûßîývð%ƒ»Ôêâ»õ",<Ïë§±I’²,ÀI.Á¿ªpÕMâM¾ˆ;N ëònuºýrð——þû(1{\—*Ìüsæ­un (“ɇëÔ©³zõêZµj%™5I€ÁÌ™ßßþþnïî¾ ú¾ßå}oØë» !{öìùâ‹/l6ÛðáÃ‹ŠŠž}öY¯×;tèP¿ßÙe—ã!!Deê-ÿ»eô²Ñí«·ÿ_ÿEÔãJJ#„  _ö÷ªßkκ9½szËš¬'!"à¡Ð!MÕœ¢SA…1¶bÅŠââb›Í¦ËHÌ!ƒÄŒ”$7_€tþæBWÅÏ 4èÕ«×Ê•+9Žû믿zôè‘““ãóùJJJ¦M›f±XNÈ•µ›íª¢žL0"¶Íl»¶h­†Zô Ó✸jâ˜VcÂj˜16dÈMÓZ´hѽ{÷çž{Îçó™L¦””Dä8Žã8´‚ $ã[IŸWÐh‘L½jê.Ï®»~¸keáJ§èD@ÇÓ¸qã´´´p8ü¿ÿý¯¬¬lõêÕýúõ»óÎ;yÊq<>l7ÙwzwøaÀÁÀÁéWO¿®öu²v;’t%약/_óò}¿Üç´8€M°MX1aÆÕ3Ê‚eñ°³Ùl>tèPII "îÙ³çÇ|àl6Û²eËŠ‹‹Ñçó­^½:©/ JÔT/Ô~ž±€€¢)eá²[êßò~·÷ßÚüÖÓkž¶rVEQî½÷ÞaÆ͞=Ûï÷ÿý÷ßíÚµE1??ÿ—_~Ñ]âªç)vÁn²B–X2béˆ9]çÜT÷¦²pcÌhÙϲ­^ZÑñŽl>rÎÖ9vyv¹Ì®4s%Q©zàÀ?ÿüsÇŽ£Gv8K–,Ù¹sçôéÓgÍšµqãÆýû÷;Ž1cÆlݺ5‰ÞóO§ÈSx4ñ`âA?ʈÇó®4¬IJ›í…¡Â'V>¡¢új‡Wõe$»Ýþæ›oz½ÞQ£F…ÃáQ£F@(BÄ›nº)lØþkD_lÿ88ÌŽ +&ÜÝôî®õº¶¯ÞþÑåBiýˆÈ‰!5TÁŽ=Ê6 ýºŽá+2¯˜¿cþ€Æ&®žøI·O¼!oÜ®_¿>!ÄçóÍš5ëÑGmРÁŠ+¦OŸ¾iÓ¦{RúßÿþwòäÉ‹-ây^ÏëNrúù©¢¸¶PRK!Qd…išFÈ D8/—‘H¼ÔgqŸöÕÛOl7BjÈ+{uäè+1ºµlL¥ÔcÑq-*¶mkL&?"xLžörˆXÍ^­ß÷ýR„”¯oøzR›I*¨/­}É#{Æ57û­ÙW\qÅUW]¥ªj  ”&ªt£ÙCwzv~·ï;gBÀúÎúÖÙÖ‘-F¾°æݺÎqä\_ûzUUØíöÖ­[ <øë¯¿~衇ÊÊÊ!Ó¦M+((Ы@KATSÜ̹0Ï%;!ê¬YÓãõûCrDÖ$‹]/†p~.#EXä©6O½»íÝ—þ|id󑈾·áø ‡Õ±c[+о¨Lt­h¢¦Åû·¬ÖrÈ%C4ÔÌœyö†Ùžˆgl˱o½ñÖĉ'Ož|ÕUWÙl¶öíÛ¿÷Þ{999•ªƒ­£A£æôÕ#«hÝéÞùÜ5ÏüÑb Y„E¡ÿþ‡»uëF)U¥yóæ²,ë«Jªª^tÑE×\sM$9—$,±Êòk£’ËÚ'àùB€Bõ3¹uúT…)šä rÔ(P+žþOðј–mÉ~îŠçVo]ý÷οsêçœÐ£uë7f ?B @jØjÌî<ÛöÏÏ¿òðÊq­ÇÕI©ã“}.—«S§N:t°Z­½{÷þè£:t”CÆ€éáh`Æ0h 25ÒÆ¸ W0ôíSÆùÔï9·4!f¡¤¤DE³ÙœTÂ'G§…¶™Lß Jq~Š“1?©ÂÅ,–勸,&‹‰ðÄ7T>­¦Ôµ×õ†¼›J6}¹ûË!͇ÔuÔõ†½àõzùå—‚‚‚½{÷¶oßþùçŸw8G/I,>£Q­na]à ¼Ÿ$a2ј ÿç9ÇygúôéóçÏÿöÛoäk$©j]ltOÑ»V”N„¼¼¼Zµj­\¹’1vÅW(Š¢£×˜¾+Â?#h£ HÊcP§¡Íh9bdMS›.ì±ðÓŸNÿkúÐK‡¶«ÞnÈÐ!n·{æÌ™eee8p ñ¼¼c¼Š®€ ^0ˆ”Q‡Ã¡õ8b˜Ç«WhCÓ“~:Bt°óÌ3çÍ7ß4¦ÝŸgRV!JX W¨q †õäãl €÷<溪cIÃùDHSµ:õëgÖ¬ëO9ˆÅ†P°š­þˆ?^cBß+¯ï’Ÿ@eÌ1<×Ñ«ïN5§¾på ¹ÞÜ9?ÎéÓ¡¥tÏž=„ 8p³³³5M;n #!üùÊÎú ˜x“d–â[&Í‚H³¥uµu­ï¨_ÇV'$!zÌŒ"Ë‘°Â ’$€ý!ÿ55®éýUï.5»ÜyññDÂÊ;Ý*ü}Ø~ú@Üwukõt5ƒÁà®]»:TTT´lÙ2DlÙ²eFFF‹-dY¾À];}ìk¯ywë»/éWÂrxø÷ÃYÔÁæéÍïnrwHIÆ¢O˜NÀ¢ n+Ýöh«G C…Zì<ãʤñÃyvU…áBl6[÷îÝ~øaJé˜1ccÓ¦M[¼xñرco¸á†s+Mê iàË«]~MÍkŽdd(L ÈÉ#N†Nr‰øâPq«j­®È¼BaÊÌœ"Ïó?ÿüs5²³³o»í¶'žxbüøñÝ»wì±ÇvïÞÍqz¹v=hÖš¦!bD¨L]–¿ ÃjXc"å ¾¨Éâ›G4ý‘cÈô…7<–>ÊTF‘:)urݹÇe˜3´3y¨žžÓur?Œay&Žä@kTUîÔ©SAAÏçÓ4mêÔ© Ër“&Mºuëvœ¥§Žç¸M]óŸ“+o¸z¢'âISSÅÔOw|Ú§qŸ²`™[v«¨N¼|"%4‰Þ#½øˆ þ@(ŽÈ²¢(’r4ëSÉó¼ŒáyÞb±(Š¢ïã‰h‘N5:\:²KF—mGYðŒ¢WÉÉh2$ˆ@¹3!ÒËX© ªŠÛíÖjcU€c×ÙŠÕ–J¬–£e1†¡93ÂèŒSH =Öú1‹Ù"+²‰7m/Ý>²åH%¢ø}þï§Dhï½÷ÞÍ7ßœ™™|&)ÊHŒ4v$i?ˆQ£Æbe;,ê ø£h7³Ù¼zõêvíÚ…Ãáõë×õÕWuêÔ8p`(J‘RÞýãÝï{}/‡ä <“Þ Z,ä³ÏP–Oð@°Œ €Ø°ˆ„ÝÇàûÊë@Ç|*?v˜8?Ÿ8¸•ñüû{Tv õH†(ð<¹õV ÿ!ήœ‘rÒÙ)z;2“å  &ΠA xòÙ''LœPR\òòË/9ríÚµ7Þxc8N‚¶‚ ÃS’æ°35u­V«~>GN $iîܹ:t‡Ã5zþùçŸyæ™x!åèV[=c|e2A ƒ“5¯¿4@$rž­3«  ‚¢(Œ1I’¼^/¥ôX>µ7C úe&ÓÀ¿îz½ ¹Ê4!ðöÛh2‘`ÏtʇT›Í‰Dxž‡Ã&“‰ã8}#ÔIÕI´Üo¹º °vÝÚ;Ú AI’(¥_ýuŸ>}’®zIùLjBó<v»Ýï÷O˜0¡K—.š¦ ž§ÛEÝ.ýàÒA ½thP ž:Ç¥µQÒ#c ªà÷ã 6 B3š ôXÑ:Žã/^¼cÇEQÚµkW\\|øë¯¿žŸŸÿÐC™L¦“› ]€ê9| ñ \yå•#FŒ¸ýöÛ%IE1‰Û“ £8‰´mÛvðàÁ:tرc‡×ëýþûïÛ¶mPN³óÇ?þÙûÏÍîÍ'TÏíHÃqœÍfSÅï÷‹¢‰Dª”ô'È=¨'çÏl6Ûòå˧M›š¦åååýöÛoš¦9”‹-Dãõ¸â‘Jðüs‚žD\¹reïÞ½[¶lùÆopwçwöîÝÛd2ŽS›ímׂÐ^yå•ÜÜÜúõë7kÖlåÊ•ãÇ÷ù|IXž‡Ãá~ýúÝ}÷ݲ,ëõÐõ’4„à@f²™7×·Õ?Ŵβ[¶l™5kÖå—_>dÈùóçßzë­†-fHHyÙ€3DŠ¢X,D\¸pajjjÇŽÇi_2B1Å”By €Žp'˜}yf©qãÆS¦L¹òÊ+ÿøãAƒåææ>øàƒû÷ï¯]»öi±;Ì`~óÍ7ív{ß¾}—.]Ú AƒH$ÒªU+ˆ¥ñ%é8‰]‡Ãa·Û ý~¿Ûíöx<ºOÚf¶ý|çç³ƒá©Æ !?ýôÓܹs½^/Çq .4›Í†ï­ªºôÜ£`0øØc 80--íòË/â‰'þóŸÿœòù£U(^BˆSt.Þ¿ø±•øyÄП†>úû£ßïÿÞ'û,‚È¿¼Üÿý÷†vÌ< IDATÞ{ï 7Ü IÒîÝ»Ýn÷Å_|«28΃Λ7oß¾}¢(B¬2ArOÒiÓÀGœGЦÜÑðŽ5%kú~Ów~÷ùú¹§Ò»ÝÞ¿ÿÆs—™™™ø¥Àq{Ï\ù®¸A+Ëò{ï½ç÷ùE™4iR8Ö×*°”áŸ'OŠƒ û|û†.:®å¸^9½(P "¼³åÙ›g³{ä²GÜa÷¿ÈÄqˆ:Ž7ß|3 ù|¾ž={Bl…ì´tŒ1íÖ[oD"Š¢Üzë­çd½¤¤>¹€¿â¿¢ö×\§ð§!Ëd2Í;—RzàÀôôôD; 1ü8íÚ©T"þÈŸ…š9sÐÜ^ºô$ÁÏÚ£ñ„O÷¦@7—nž»cîGפ â—ýîˆ[?e#Ûøp«‡oªwÓð_‡;ÍÎþ¤… ÇšêÜn·ž‰Dâ ¡˜H'õ,Ídr!j¡PHUÕøÊ¹ñÑÿØx9§2Ò³Àñ ""*¼rŠ%k‘16`À·Û=ḟÃ1aÂÇcL6. ^0†1O£G*‚ž9 pª’UÓ×M_ï^/òâû~ @\×èå£f§qeÛ¶mªªžèKå9þ£M¹bŠ7èýqßᜒóÚ¯®½{Ñ݃näõxkXk n2xîö¹<áÿÉØ•>.žçN'!D?½%îÅèÿÔ­$D´Z­N§m6ÛIq6!$‰ôðéÄû —p‘$éLÈ/#õÆõB\F©a¬‚DE1%%…1¦Ÿ¹svbø‹ÚÄÈ©€'>Yáp˜ …czQårïÔlÛ­íàoïóí£”žÆœ*kçÍ›·aÆ ¯yŽ€ˆq‰.]ëŒUZZÊqÜ£>j·;k¤€ˆhá-ÏýõÜÔ+§zB µ–;¬+Z÷Wñ_—º.eÈ4¦5Oo¾­t›À 'dLVÉ['ÄpÇýùçŸ#FŒ(,,¼ûî»].×’%K8Žs:ýû÷w¹\N§óöÛow¹\3gÎ4h(ŠÏ<óŒËå:‰7@‘ˆÓé|á…RRR(¥.—ë¶Ûn»÷Þ{—/_®/^žf `ÝÉ«Õúá‡:N]ˆÁ“C/**V(¿XÁœëZ£k»ìvO­yÊÌ™É ¸úÚ7 Vm!¢¢(õêÕÓíCESÚ¦·ÓbLsgs}‡îóïkälÖÂñnתUë›o¾yä‘Gý~¯s::é‡R*k2G8ýß"'ÎÚ8k¿o¿o˜omŸµîˆ[ŸwÄÝ·aßE{q”;NQ· *ï;~Ò4­U«V³fÍš;w®$IÏ=÷Üž={ìvû´iÓtU<~üø:uêìÞ½»nݺo¿ýöìÙ³÷ìÙ“ø,<Ñ„UMÓ¶oß^RRâv»·oßÎóüøñã;tèp¤sÌñd l&Óð¥KŠ¢3œ «W¯ÎÍÍ:uªÕj6mÚ;ï¼3eÊ”¼¼¼§Ÿ~ú»ï¾{ï½÷®»îº²²2Ø·oŸžäsþ˜)Šx¢‡+Å ¶Ý»w[,–Ï>ûl÷îÝ’$½þúë²,»ÝnýÜ=BG9§è|kë[C~Ò¹Fçϯÿ<¨¿z#åü@`³«µŠ? oµÚš6mÚ¼ys‹ÕâfÎܱfG‹`±š­:öܪ»¦£¦U°:E§St:Î… –––®\±B@s‰ÝQ¹eÞšH‹e[`[‡Z(G¢3ELa”µÍl;ìÒaî€; ¢+À„Æ®Æk ×Zyëñ; Çmß¾}Ú´iû÷ï÷z½o¿ývnn®¾ìwü+“É4hР§žzŠã¸fÍš-^¼ØçómÚ´iÕªU;vìØ¿ÿ?ü°ÿ~½MUUõâ F½ ÀŸŒyž—$iãÆüä“OG(Ò…i•ñ«|‰V+±ZÁb1•϶ÕêÅ 8BÞêÖí¹µkµØœ˜Íæµk×nܸqçΡP( N˜0aÆŒMš4!„€>Ƴy‹ÅÑr¡ß":QÃU/ÚøÈ#¼úê«N§sÑ¢E¿þúëC=4iÒ¤âââW_}µ  @EwÄÝüãæ«ú¬Ê2ÊBebI壪_ÑAþº?g!ø+v‘˜Í‡"‘Ÿ(@P…•ÕWª4š‹,3¹UµV’ ý¸çǵÅkçoŸ¯?×rµ[tîÜY±x?¸¤”;$αHÆÆ‰¦åsܯ‚‘ù •ÂY+¾Øù…ÞÎêÂÕ£nåx:SÏ4LBi¸”Ò­6›í­·Þzûí·'Nœ¸k×®‹.ºèøÑ÷?[·nݱcÇùóç_vÙeݺu[´h‘$Iï½÷Þûï¿ß°aùsç.Z´¨cÇŽ/½ôÒ Aƒf̘ñá‡Nu#„±¿rN$ÍZ¶lÙ¦M›Çœçù«¯¾º~ýúUž‰ˆééäw°Jã‘7›×E"Ûá€gliÍÿgïºÃ£*ºþ™[·ï&$¤ÐK%$¡‚"("õU^é Ä^¤ˆ€AE"ˆ€‚X^•&Uz D:„‘@v7[oï Ë’„J ºçááInvïìÎ3sêïWžÍ“OV1®`4–ùâ uð`I’êׯïr¹*T¨páÂ…  ägŸ}vñâÅ5zå•W¶nÝZ¿~}ÈÎÎ.Õ \Ìa{Œ1EQf³9***""bܸq‘‘‘„›ëé§ŸÞ¹sç;ï¼3nÜ8(£-³ûÕÝïî{÷éেÆõ*^A0Â…Ña ºpÜ|„Ôí˜5Æ‘ $;ÜUézgG¢`æ¾™Éó|•矫ø\ãÈÆ9!g 0•Séyå;ÇþÏÕoå­p,ÐßcÄŸÈ<ÑÐÕ°iŦäʼ£óì‚¡ßa6Ì©–ÁÀt×W¥AƒüqÕªUË–-;jÔ¨Y³f"¨ÂˆÕj=rä¹$IV«õ“O>q:йsgrŸæÍ›Ûl¶¡C‡²,k³Ùz÷î}÷ʦ(ê@TáO»=»wïÞn·{þüùcAHâ=×ñK\¡zõ I“{ÕÃË×C(É÷{w9¿¦–M>vl_‡NI’¡cÇŽäö‘]ØíöŽ;Ö¨Q£V­ZÇét>ûì³V«uúôé…ŸÉPàb_Œ‘çùÏ>û¬_¿~t¹\›7o>þ¼Ñhäy^ŽãDYÔ2ÚÏ›}~9ûò¨=£*+ö­ÑWP„Bm9¸²:ñ=¼BÉŸžÇ_`(†B 0Q¦?­:ƒœŠšÃÄí{up,0ÿ»-ï‚óÖEi£æŸ™ÿLø3NÑI!Šn̾1Ýcº7 oèþ ª³ÙgãÊĹå‹,hµÚÝ»wÏ™3'---22Òb±ø'± n$"×Iï•D{Áu·¾â–üÒÂÔ®„œ›ø«G~õ³€1E,TŒçðøoß¹¬DÃÌÞ¿?1,,!$Deß÷Ê…)ïñx¢££³³³ 9³ÇãñÅJ§!Í”?pvvöĉÍfóÁƒ d2™vïÞýÎ;ï’F}:˲ƒ â8nÿþýÇ÷¹Çªª’¾îêC4F°ÁoxÑ£ìæ…|”d)b,aÜ9::B§d¹€*Œ±,Ëþ@nPØÞÒ b•?0 ÚíöèèhŠ¢\.—Îívó<8†óÈžÛþxñÇYgõ-ôñû°QqÿÄ&9lÍ:óÛ–bi"pˆŽa ÃæŸgà „úÈåuu‹éÖ5¦k‡_;hX  ’CR%cz Ø ¡;v¬Ëå’$)11qçΓ'OÖh4gΜ¹yóæ… àñ9å„Ö0cÑXÌz³YgÖ³zÿì`i[貪󼨪ÇlüÓ"y ˜ÐwYѹ€,ý …ß-Ï­ç¾ÎÄB€ Äz8ö}«O™ŸÂ€í.ûÌF3í¢ý‘¾/ Œq¨64ˆúåÒ/¯Ty%Æ£‚*Ër²¶ÝÚn_uûº××’W격ËÚÖkmÛ}S„(Š|ðAÿþý“““GµjÕZ´h1~üx†a233çÏŸŸ¯{ù…@Çè¢cá©…7<7<²‡Ú¨1joiÛkÚÛ½öÒvdýàQc鑿ô^–›o¢-¼åBÏ +ÿZ9pÛ@›h³ðÀ€…ê²,{ìØ1FÃqœªª*V_¬ø"Bhï¾½gSÏ>†Ò‚,téî–Ü£÷n[µ­5ÐM! hhí·glï»­ïÚ–k­k.[½0¬*Uª|ðÁ½{÷&áÀˆˆˆ.]ºŒ?~ûöí±±±$3÷xæ Ec™{|î'|òVÜ[s’æ,lºpÁs f4š¡gõÝ6w»æºÆRlisÿaШ%|rËT°bóÚúÕè§çôKR—¬¿¸~õK«=’籟ÁF£qòäÉMš4Y¾|9©Î}ûí·EQL^˜œ˜˜HÓôƒ®Å¼¯'6…Sr¾Rõ•—*¾ôîweUæƒ)Š’iË©-ÓZO[Þ|¹M°gø–ÏóË–-Û¿Íš5øá‡Š+vìØñí·ßNMM%USGŽ‰ŽŽ~ÄåK>•™7¿µã­¡ñCc‚bv^ÝÙ lAh eAƯ[}=n÷¸Wª¼ò´åiÈ¿SsÂH(Dé5ú5gÖ¸~`bý‰‚"n„Ç{üR…1~ñÅIöåã?ž1cFÛ¶m¯\¹rôèÑÞ½{?hU£Ùl&±%„¯>ìJ’"Qˆz/ñ=À ª"è º VH KÊiÊyp7A„Î;wéÒE–e†a$IºœvÙír«ª«ªªªª²,?Šÿ‘rˆ˜­èW£_¤>XqjÅsåžcUvÆþ¥©K¾¸Ðæ´Mo4}ØïÃf4š¡ÈþçšÐ÷ßì±»?cïͽËëË'¿\ÉXIUÕÇxüúó rØÊ²œžž®(Ê•+WV­ZÕ¤IY– CŽãÞ|óÍpwõêÕ¡C‡®[·ÎGBSˆrŠN§ä”ITDY‘=²Ρ>|pX•AQÁ+¨ªªºUY–UU¼‚") Üçóßù?_”¥ÙÔ¬Ô„EUÍРi‡§¥ZS—4_âÝ`óØf'ÍþàÈ:Fw§”4 ÿ*&‡U¶”=÷øÜ×b^KªdóØà65ÑãEÅ_ýuòäÉ3gΜ4iÉæ:tïÞ½sæÌ±Ûín·û6mî²A²¬\¹rΜ9}ôѪU«8Žûøã¯]»yx*òõsïUÊë¯Ty‹­-ZKÜ7qÍ©XUAåh.î›8‹ÎBfìBö…Λ;çDîS3Œ üÿJSôÏ—~î݉Tn«6 èݵ{Lw»×-*")&C8Ðßû¯<@Ëh7¶ßXÆPfäç#zc!8Ž{æ™g(Š4h©U0*Txã7Ê”)“7Ææ§½€Î«Æ.—K¯×_ºtIQ”êÕ«/_¾<$$¤à E(¹{Õl#–Ž„ÀWý«×ó¤ô×`0¬;·nq³ÅïzßȬñýCï/n¶x홵¢,Z˧~Úºr닎‹0Ïð~5Ú¬^þ,(óÖ^GéóˆÑdLÉJ‰ˆÒY4`à‚ý¢æ‹B5¡‚|†™Kv%†%þ™õ'ɤ}હ-æ˜!`°¹m‰‰'ù“*¨E4*Ë¿ÉÑÿç{½[UÓ"sm=­[·6lØ­[·š5k6`À€7nÔ©S‡Ìs¾:¬ªŠª­\)‹"¾w˜ öìÁz=Ü®ƒâdyÃ\ t Û´5¹mò/—~!]S*VWlÜsCÏQö]Û×¼bóŽÕ;Ü>ðóç?_wt5ÅJ34€¬(ui: üBMt¸'#Mg¬´”@ZMQw¡Øé)ýv×v‡àpI.0°†r†r ääü Šª4†[­*†*+:Q•QUJ-}Ê馕T©è¹2Xü5χ£(* œï&úþÑG‘+½{÷&?dee‘VuÍÒëõ‡ã8UÅ’$õë×¢U- Ú:Þ)êšÝîEÁÅŽV§u|½ñÿÆ×osÚÖ¸1mã·§¿]Úb©Óë|*è©LOææìÍ‹ú-º½x„»ú0,9…»/EÇ Èë ¤ìJyïÙ÷@Êi=êòS`—xQI†‰x¢Iцt¬hígšzôn¤âÐcŒKm<“É›Í6uêÔªU«î߿ԨQ±±±“'OžK³Õ ÕÏþ}6„¡€2Ì.É5bûˆ(KÔëÕ_÷yc=§?–ylXÂ0Y•jVä>p©wR²ºæZ¯¥ÂQÌÇÓ¼%&ðHM†b¬‚UËj!À6øï båÒ”j¸¸O˜Cܯø×ä“É…ÄwÉõ   äääÆgffN™2eܸqF£±gÏž'NœÐjµÝºu!--d}oÞ¼‰1Ž‹‹ËÈÈx$ätp[ëà6Þž–ÖÊX&;´‚kÐÃÄÉ·31&I•’ƒÜ“¦èt{zÿøþFóÑñ,¼è9ý¼ãó†% sˆŽ‡+ `¢R¨¥G ¢"~Öþ³‡´û¹ÝÏí~öa릤¤lÙ²åÖ­[=zôðxpàÀÚµk4hðˆÜ"9ªëgSÝ Ñ¡;‘¹‡ËÑ ¶[v­?¶Ãú«^Z¥ÊjBPB³òÍÜ’[ËhÝ<öåþ/{7ìýã…ƒø Pm¨Wö´·È¸¤º‘ž`ÕÅ@!ʤ3­=³ö—‹¿ Š48a0éµ J³fÍUUÝn·(Š‚ tíÚ•œ·qqq¤í611Q–å©S§?Béƒn}¤søîð[®jóGÑ(¢²z¬k[®í¹µçkÕ_ëS·àB¢"6ˆlpõÈÕ1ûÆÄ—‰ïÓÝ): ¤â‹Á¤ð‹!t2ë䬣³&5š´Þ’›¢ø"÷mNÊÕ!W:ŸN@ÆxŽ/ÿrÕ—??ñù躣++Û…û äºXð¯¥zÿºŸ·{íuËÖ}¾üó‚"r,-«Ý½B”¤J¥°kXšäcåÂñÌ÷ÓbŒ ÉpÓét÷.È ±ŠH×¶PJ¡Pð Œ1–U¹CµŸ5ýì§ ?½³ë§ä¤U”áV²ê¸"Nùvâ€M°yd¤J’*9e§ ¢Já–D´W˲èv­EQ6›@ÿ‘£˜ôQ…çùuëÖ;vlùòå^¯wÉ’%Þ½´ UüS™/~-G€‹sAgæûìB ©R¶=¬Þ°ª–ª3ŽÌ xE9mZŽûÀàoÑ•à(¹+ 8 æ<Ÿ ßw)y¾ÿöí,Mx£Ñ8iÒ$žçÏ;§ÑhÎ;wýúõ'NH’týúõ+W®¬Y³æ™gž±X,C† ùöÛoB’$•B[‰*fíFò¬^¯'ì†l„Å“0ô±„Ð4Màö QH!G'A,Œ±Ek9tãP· ÝÚUj÷q“¢£HŸ.B´$Ý ÉéAz›žÐQ]{Qn<}¸/²»]–5oÞyóf‹FC¾’^¯ÏÈÈèÓ§OVVÖ‚ -ZT¦L™±cÇ®^½úûï¿?~üx¥J•bbb† –˜˜XjÉÇ‹ÛÖjµ_|ñÆ8==}Ê”)S§NEµoß¾zõêEô¸ó^2 ƒ ªW¯Þ™3g¦L™Ò¨Q£}ûö74'뵎?0þ•*¯|Ýâk«Çꔜ7²rÇR½K(Šû÷ïÏÊʺqãÆ Aƒ|˜‰W‹zŒ¥bÓbYF×®ÁíB~DÓ6E±;‹H×é¨üŽéwêÔió¿ÿý¯M²q''':ôàÁƒñññªªÖ¬YÓ`0¸\.†aªW¯îõz[¶l9mÚ´˜˜˜ƒ€çùôôô>øìvû´iÓÖ®]›™™õè›ý]H‚÷áajРAß¾}'Nœ¨×ë ¯ôil` ©ÖÔæšk­Gö<ºI>jÔ(Y– YÌóÏ?O §M›¶uëÖ¤¤$­V»wïÞO?ý4--¦éªU«Ô‡ÒfE·“ð€,Ë;w‹3f ¡v82;þKüó½ WÑUÔ\ù–eÓÒÒÜnwJJ ܆;.¼ê"@Á|ðÌF3Óœiw ¬\sH«×êë†}èÏÏqÜÞ½{·oßÞ¹sçòåË»\®Ó§O“ýfe–㸆 úf²Ì•G!ºèµ7G4¨^l6|{û0˜îì>ùm0.I—’²®m[›ÛM6z𦣢¢ÀG1!IÒóÏ?/˲$I 6¡|ùòªª>ÿüó$"ý¯öBÙÙÙ#GŽ5jÔµk×®\¹rëÖ­Ù³gç¡Éz˜³ !d¹›ùþÿvÿß—}I#ZÇê|¥Ž IRË–-ÇŒóꫯÚíö×_]„ÂÒAN¡¢M°ñA‹Z.Bµû¹]&(ßÝäc7nÜ8~üøû￯×ëÍfó{ï½wúôé( ™=QéRÄ5Ò2Ú¢ðNat[u‹;”•S^ €…ç—ýõ×W/½dóxàn0–\˜•$WO€>)Š"o'PÿjÚ¾—eyΜ9‚WPTå‹/¾‡Ó¡*jÞ\yaV™t–b/ça¾WåÜ¥sø¨¢½âØúcm^¹¡¢(qqqIII.—KQ”¤¤¤Â‡(Hú„‚»+±j¶¹m¾µâÏ$ü@rãÆJ•*©ª4kÖ,—ËõçŸj4Ò¢$Ò"` (Êh0Î<0sTQv¯ý±u0J ®ïûm„Quêí½WÓè½RKs¢ž*Õ%|H„£!äuy\;À"Öãòì8·ƒÁ ÆXÇÞ¡Q&oÑëõ…Ás¥òc¾·ym*¨ç=çÔоZû·n3ß“›“â'I’TU%¬VPöJrSˆ:™u²ýÏí£‚£–·X‰"'NxðÀAF³aÆ7ò<ÿ  ªDC®_¿>bĈÇ9rÅŠuêÔÉÅýáÝ~îöË…_’ÿLÖ2ÚÂÏ.ÆÖ‚?ÞCŒRš…>û/ù¯•k”»›ùžÄÒ, ܦŸ÷±Ñ›Íf6z³ÙL’LäzNÂ0©ÄZx|a¦˜¹zõêN:­_¿^Å„„„«W¯^ºtéAFò}Ýnwÿþý?øàƒ† Úív»ÝÞµk×»4 5|Ýêë^O÷ê[£oavsØq ‹ÅÂó¼F£1›ÍZ qçsž=è(O„çÛ›PàB„' ++ëÀygeX¸”})68Ö¿ÅëõŽ?~ýú_ô÷²f1·ùžc8Q;üÚáõ꯿÷–[t+w3ßk4šÅ‹2D„^½z6zŠ¢,K‡}—.]L&ÓÈ‘#¨×ë{öìIØèý+±>iöɆÍ´:í¯¿þϲl•*Ul6›V«}èS‚ÕJ’„Q@)¢ÂÒ,K±@¢*@h—×Õëé^nÙ ¨Pqz½þý÷ß1bÄwß}·aÆ޽{:tˆ¦i@QˆbÃPÌ#Ž'ÏÎi_Ãú«(gÑÇÅÅmÙ²UH°$¼SëÄ2‰> «”¬”šÁ5ýMèàààääägžyÀ…ï žæ…òc¾'¨+O¯üËú×ÚÖkm^›WöݰÝf¾oQ¡… }úôÑét+V¬áƒ>ÐjµmÚ´y÷Ýw+UªãǯR¥Ê¡C‡:tè€:vì˜?/ 9»d,«²jbL 9r̘1W®\Y½z5Ã0¤>ä¡uØ7mgíg7\ÞÀѨX/?sßL²Á€«f›—O IDAT›«·ªØJP„‚3X¤•"<<|àÀÐ¥K—W_}õÒ¥KõêÕ#ÑšÇ2J@žHV˜+À° ×ÝãùbPÈ8ŒË5Ђ̴mÛV«ÓÒ Maªiù¦,êÙk®km«´å|(jR/¦nÛ¶­NºsSfYÐë>—}˜j¿Ã|0ÂÕÍÕ»Çt·{ì¾&X’ày:èéoÏ~Û¾Jûl1›¢¨~ýú%''8p >>þ‹/¾ s¹\ëׯ0`@ZZZJJJçν^/ KÞÍFï§Éª:pà@»Ý>eʇÃ1pà@b?tëÎÜbµš¹ÚàøÁ,Åò4OS9~„ªª‚*ˆŠˆ\øÂ‹Óé\µjŒ1¢[·n^¯·(F È À«C{'b˜†–3X­t—1@ïÏœnæ%4‹¢èc‡Ž:¥É"/0°Â† Ü6§sô“Q™Æ™;uêtúüɔϽꒄå¬"–ùž´ù˜À o6{›ùž°Ñ'%%ýý÷ß5kÖlݺõÿþ÷¿N:uêÔ)>>ÞÇF_µjÕÉ“'»\®Y³fÕ®]ÛÞü0rÝëõ²,[ÈQaÝD¥9ÓRn¥\°_¸é½™íÍ6iLfÎ\ÉT©FpsL!#X<Ï_»vmĈuëÖUUõÏ?ÿlÑ¢…æ÷±Œ'LÉëŒB§Oãž“QËu%²ØcT[Œsvw¤¢Ë0ðÖÆ·@R¥/_úòN6@¥U¢B;ñÏšÞzÃpy€þþÕ‘8óýÜcs³¼Y<Íó4D‡ÑàÛÌ÷6«°Ñ;Î7ÞxÃjµ.X°€”Rú³Ñ ‚0g΄P~lôÄsPª… €ôz½ªª.—Ëh4ú"Û„Ïá¡Ïa1G3Ö ©ÕªR+“É4ì·a6ÿÐãð¤»Òg®d¨ÄQ\anîr¹&NœÈ0 )ŠìÚµ«ÓéôqM<®Qò„ÀVÕV¬$I®{Î!°˜‘”²ärºð]~1‰úÌr-B‘š™©ô©gNx`xz Øm ä6çr1ßó˜ïÐ{m«´Ý{}ï¤ú“l‚Í•xö6ó=ÑÉWV– `£Ï!+ÊŸžl6Æ€õî»ïRõþûïO›6Ín··nÝZ£ÑÔ«WÏår`Kç:¨sµ§ ªðß*ÿUQQð‚  ¡šÐ¶•ÚúÒB·¤ûŒgßÅ\IoAþ[õ¿¢"ªªúp£”HPYU%þõ¼-…FˆD•Ì ­"Qâü+`¾¡r›ðþ‚âíÜûíù¶DŸ¶žÎÁF·‘/B!„d/ºV£önæ{—äšßlþ–´-?]øiÃå ,Í’š5ütþ§ÖUZKŠäÏÚü@’Ïþt;¦5cÆŒˆˆˆ³gÏN˜0á•W^Ù½{wVVÖܹs h"õ)Ïó$qEQ”Éd‚ÛW4GY‚ zƒo¢ÈÄ(ª¢b£üõʧu&“‰8ä„Zcl4 ¹?Ã0‹Ål6‹²H"þ;ì}G)QѬò¯ (ðCª±ªªÖp7+ ” 5ÊÔØ›±—£¹ÜdŽæß#f‹À!ÞÅ|TY­dªôVü[+ά8~ó8Ïð€’ù¾0s€16 K—.MLLŒŠŠÚ¿ÿ©S§:vìØ©S§=zÜ ç™©ý°X,ßÿýÔ©S†9vìØ„ nÞ¼Iz-׬YÓ·oß%K–€öNÆöN»Ü aŒµZíèÑ£7lØôÉ'Ÿ|ôÑGAAA&LXºt)ItÎóó<ÿÝwßmÚ´iùòå)))'N}Þ¼yŠ¢h4š7.^¼¸ÿþŠG)ã*lŽÕ@»ï59äÈýøã'Mš”™™ùÍ7ß4nܸI“&+V¬¸råJ… –í† –-[6cÆ _@ #\øQŠYŠ€ÚýߪÀD{¬qá±…5i•~€7°,{ìØ1²²‚óõèן<ÎñGq>þKAvïÞM*Èï³€òc¾§€By%oÏò=÷ß×gkŸµ­†ù¾0"Â+¯¼òÍ7ß,X° J•*›7oþüóÏkÖ¬‰1~ùå—ï[eMºaÊ”)CèI¾ªråÊ'N€Õ«WÏž=;==³¸ÊÍ*ûìÏvdÀÙ³gï#»Çqׯ_7 ÑÑÑ{öìyê©§jÔ¨át:¿þúëòåËwëÖíÔ©S—.]š8qâÁƒ}õª2-r”âÖ]ÂRŠrJY²à“_ýõ矞œœLBqyoÔ¬Y³+VŒ9c<þüwÞyGQ”)S¦¼÷Þ{,Ë6nÜxñâÅåÊ•=z´,Ë>¬L¨ð£“òb ´´–¡˜½{OÜiÒ¤¬¬¬E‹EjРéb#0ko¿ý¶Õj%¨ªÚ¹sç®]».Z´hðàÁ>*–¼bµZ·oßž=uêTš¦ívûìÙ³IüyäÈ‘„ÄœÉi1מRÈQŠÍh¶ð–9Gç¤;ÓÿSå?¢:ñ4]¾¾&cÍ™]gÞ}WËhPrµ|s§Óé¼^/)Å¡(Šã8¯×[ ;òƒ?„ "K²žÕ &Þä…× „Y4M_¸p!::zÑ¢EAAA5jÔØ´idddØl6F3~üøBÂÜøt˜B”StÂmUÅ*λA¥6C¹\.š¦}i§ÓyT!›ÍF”0‚ƒƒm6[çΉz°©#}ÎEùbi¢(únž/Öq!G)A€1âƒ:nì83ifKRj”%ªiDÓ>Ïöyû··;Uï_&^ºæC W6lذsçΨ¨¨x½Þ””” .´k×îè?Lƒ§à|+î­àEÁ½7ö6óæBîäÌ?~üÌ™3'Mšd·Ûm6[ÇŽ·mÛÖ¾}û‘#GŠ¢X·nÝÈÈÈqãÆå—z½ÿ9x'MðDTïæMhڣߩâæù×1v€_¹ø½¹HQ®;Üëæy´÷F)ã9HôÆÖ7V½´*˜žz`*C1c#oÜtvÓ™˜3¢Kœßdþ/—ɳr™Í)))óçÏ?uê”(Š+W®,üað„ÀÀ`ÑXÆïŸõV–*¨þ°æ÷xw…xž4h U«V%;uêäp8Ê–-ëñx6lèÏ]ðˆkàöâÃð„×â#„EQ~,çE¡WÅ3J!Íg Qßýnxíá.Á…ÒÐŒ±Eg±kDýÐú3Í´ymnÉ=­Ñ´7·¿ùYÓÏ|€ d™9N›Íf±Xêׯ?bĈÇ@[óäF¡ó)ñ¥AÁ àœ,nÁ{„F“¡ª4Àà’\ù!ÿFóǺ÷#Œ9Œ9ø‡tÒàÐ(÷adÒšv\ÝQ³LÍ;©i„ÿûËGÖÙ®J;»×N<£lov«Ê­ß8Œoï×ãøøø &üøãÁÁÁçÏŸã7HŸÙ½pžlÆ÷S]ðÃ"Wœg“rM:ü¯ÃÒ”¥ZºàöW½Ç³ ! Æ*)÷Ï—“&/õÖ#k/@•C¨ÜcdfÈo†Š\rÜ]Nÿf)EU1£ÃH_„fÿ°oúPÞ—)X¹d»T;¤¶KÊÉqhhÍè=£¿oó=Oñ¢"âœ2wP±Ú8¬ñŽôzV1ÖétEµlÙò£>úßÿþÇó<1ž_yåÿB7½^OŠä4Í­ÆL®¢è”4Ü8+SѰšÔ¬Ô±uÆÞðÜ Ô8,qšÖØlÖãÇŸ9s¦Y³f*T( DÅ|k;KÓt(Zð!ÌJ¬Ùb&i^(@ã’ˆ*ª¢ÐÐbZj™HtaU*£` U?C›^e"ËÉX½Ïœèõ((ÈÕYËõ«/J/n½²µQÙF$Ã2èä›ÛßüìùÏÒíéÎàïÓe¹²*+‹Š¨Ñj~ýõ×ÌÌLQÛ´i³mÛ6–e»wïN"£½{÷ŽŠŠÚµkW—.]\.×õë×ëÕ«÷¤¯Æû+°(ŠÄwõ¶¡Y¹fCviÚbpâ`·ê¾‡‹‚NT:Ñ[éíAø ¨ÿ†œžÊâ²&0xm»Žûñ‚Èn$gŸ@ ¾cŒ¯›Œ”ƒC]ÙRùرc}bûØxïì&³k­¬½¦õ»ÛŽL¯]»š–oê–ÝÏ\\¾|ybbbõêÕ=ÏØ±c¿úê«yóæÀáÇëÕ«»víJJJ=ztRRRÙ²e_xá…':ŽÅÜ÷øíÚµë¬Y³Ê”)ÓµkWrcŒÍ:ó—{¿ÜøÚFÑ+º%wA&‘É».e_€ † ÷åV~RáÞp0 EQ×j>x¼0¿Šn„³=ÙMË5M¹•RA_XÎÙîlžæOÿý«Ô¯zÄô°ym°YcÞpiÃgM?³ öèèèüQUU‡Ãa0G§NH!êSO=EjBëÔ©ãp8fÍš%‚ËåŠ}DÜ…Òë­ :t(Á7õÁ¯’ÓTpI.”ƒmwÑ0š9'æ,8¹à«Ó_hý_^’þ1I|ªøÈR±úZÔkûPÏë1`Qƒ4AºÈx3£,_vô¾Ñ:VgÑZÆï?¶^j¿$I6›-;;›Ô@?döÕ{“ú‚ììl’öñ0<©A,„.0ŽwgÈ•lOv§èNãw¿©Þ¤îÞrGòl¯^ÙÛ#¦GÇj{=ÕË-º!O?}@‡Ÿt±º¬&Îô¸ÿBVué K»lê’%dMHœ (‚Ýa·eÛ^Š~)út4§çÞþýí¶•ÚsÁ<Ü£Äí~8 O”c\XÌ_ÿo‹×«?2iäÊ•+ýQTIïEQ Å>¨a–fë†Ô­R”:jµÚ¬X±BQ”K—.`Š€<™/ÆÓ@‹Qâð]ó¥lÒ!ô8tdlkZ®YwnݰÃŽÜ8"a‰¦è³¶³;®ïºk脺âÊÄÉXþ×NþÃt#‘ÓR”E‹ÁÎ…ç*Æâ)~CÚ†sös$SG †gšEš¿ -£íW£ßÑ£G¯\¹òúë¯[­Ö‰'þøã¤ù. ¥/V—»5/÷©…‰3FõˆíñáÑç˜7;i¶C|ä6¦Ûˆâ6Á6$~i'üæì7¤01Ôe’^Î…Š|¯¶‡€³‚0vìX„PZZÚ§Ÿ~š••õÝwßýç?ÿÉyâ;gÃð†/V|qÆáÑ1½Ñt«`- ¾[(4I#=öm’\’KQßÎ))’CtØ{®¥Ï¾ƒVy;RBRyôR ŠªªåÊ•›1cÃ0¯½öÚøñãùå—àà`ÐYŒ°¢*Ñ16ql25ZÿÒ:ˆ*bIIUc„À¢ŠB=îʰá|<+h~ñâÅk×®étºãÇ3 Ãqœ­hšNOO÷W逳•É“'[­Ö & „æÏŸß¯_¿çž{î[2ÆPecÚÆž{V7W_ßn½M(jø ¢êxϨ8¾Z|G±€¢¨ƒN˜0!--mýúõªª®X±bÖ¬YŠ¢|úé§‹…ã8·Û=aÂÿÚ¯€”Àú (s&ðw.—K’$I’|»3…¨“Y'ÛÿÜ>*8jy‹åO[ž¶ymE[Bràé<~:÷a ³8ñ|¢yyžWU•ðJÆäääuëÖ?cüÖ[o>}ºR¥J„RlذacÆŒÉÌÌLJJ"…o7¸ÄÅd2Y,ò ´Z­Ùl¶X,EaÀqeâ^®úòç'>¿h¿hâMXÓoBçRbC°¡_¿~ß~û-MÓ+W®äyÞápôë×oûöíÁÁÁË–-KMMµX,çÏŸ¿téRÅŠÝn÷K/½DQT ´£”ˆN§›:uêСCív;MÓûöí{óÍ7ëÖ­k³Ùxž—±Ü¡Z‡Ïš~öÓ…ŸFìñØ*±RJLhҜ٠AƒñãÇרQCUUUU7n|ãÆ˜˜˜µk×Ξ={À€£G^³fM—.]ÂÃÃ5M•*Uzöìù@-úˆÛíž4iÒÈ‘#ÿýwEQž{¨¨éÓ§ïÞ½{õêÕZVR%I‘úÕìgæÍóNÌÓ³úÀ¤0E=BÈé´4Øn·òÉ'v»]–eâMµoßcìv» @ÚGHâ%ÇëõšÍæ@©d…ìž:nýúõgÏž2dEQ‘‘Ñ¢E‹¾}ûž;wNU–f‹¨+ %|c,jµ5Eу1&ðbþ™^¸’’üÉŸÑ/ ½%+íøñãcÇŽ=wîÜ­[·š6m •+WÆoݺuÞÜy‡m‡_øñ…ÏÎx¯Á{Šªx$O鯺ÈÕÄš&òƒõó¿øo9ý«µrAçRÑ{]H‰/ôš5kž8qœNçŽ;²²²úôéCúi‡,xnA×õ]GÖYÕP•´¬”ò/å_}@¨’€töQUU§Ó‘Fb†a†q:ä-Z­Öãñ”Û°|`_µV@žÈc,Š¢Ýn'îa{q»ÝŠ¢(Šâr¹\²«º©úÊV+Ïì9SúŸ3ÆÒ1Ì-A n7¢ÿñÇgÏž%è‹E£Ñˆ¢8qâÄÅ‹‘ œ/pú›€„‹[±€rFÇyx¼è‘ÙÉêV¡`lh ¸Ð,ÜFÆz˜ÏSø;ÀÝÿÈÛ-Zm¿íÛý¿ÇqS§Nýð‚ºuë¶}ûvŽãÒÓÓ Ù3gF˜˜xùòå3gÎVÇ;™ðÒoBçªIö·š†³ùž_F€Ýlï‚^Sd§¤®8ÿ‹\®RåïãÍmÈv‰ ~.ìFPº‚É„úÉæ{ŒB&_õRUÈEΆÐô¿þ:½Q#è·sVVÖðáï\¹òÝwßÕ®]{Ù²e­Zµ*_¾¼¢(^¯WUÕ[·nU©ReôèÑ-[¶,I·Uà\ÞÜÝÕ-Š Ñ e˰ªæ††Y ×ƒ´}5+‹ÙT0€<Q¬w`ÊP±"Eå`újøÒ:*hïã0Ñi ­E_3Xi è¡Prïu–EqBП ÊÒhr½7ÃíîÌó‚ lBB‚ bcc›5köÞ{ïµjÕ ¢¢¢²³³{õê5mÚ´jÕª‰¢Ø«W¯æÍ›Ï˜1ƒeY¦Uò>N»¡U¦¯Î=ÃépäË’Ì0Œ(ŠƒáôéÓ‘‘‘,Ëúv š¦YVe÷B¥Ã Òpe;®Üa©¸¿EÃõ?1”O@\rÑ.#k&dÅÕ["å~±pi ®Ð QÛPt¯;÷Ö·3ªJå}ð óÁõÊ–}&"Be|»ÂW«Õʲ,Š¢Ùlöz½G¯×«ªêõzF£(Š‚ °,+I b[œ•ÐÜ¿7""‚¨ÆØ`0N~æy%¢ ~`òŶlÙræÌ™Š+òBhΜ9ï¾ûî7 ˆ7@±c û]R£ÿ ­èBNõ£/‰G¹)6ðÊ2é6¢—.LZ–ånݺ…‡‡¯[·®gÏž•*UÂ3Æ`0<óÌ3.—+***°|Ô« LBiXýðä?ˆB¥‘Ìf³ÛínÓ¦oå…††ñûIËn`Q^{B,Ë~Ú€¤`ñ¯,~Îunø'“ü±2^f¡Í?„Ú»wïÊ•+5y’ ˆ¿x½Þ®]»6nÜøá¸¥Ëy 9|øðÒ¥KóûÊ|ðÌ3Ï<†8 Qhšv¹\þÕóè¿Ýi ?ç˜B¾¸ø‰åÀéß úé{¶û»Èò¤ï´‘ùýéÎ[n_ lëÍÅeš¦ñc1¡RZ¼hÀ#š¢eU†bTPͼÙ#y$U" FS4EQ:V'*¢¬Ê¢"R…1fi–¼†F4y£Ct¨ªª‚¤ RT%[Ì6rF†b<’GTD³Æ ²*3CÀFŠ1òF‡à`hFËj%EòȳÆì–Ü’"™5fŒq¶˜ wWݤ¨4<0O¢kXÍþŒý Ê6€Ã™‡u´n噕 ! /V|QTÄ]Ä¡‡XŠýðȇí£ÚKªÔ㩇oÓ†ºq¨Qx#=£¿˜}1Ë›µöÜÚžO÷¬TCGëúlí©œ8á½ï¥;Ó»ÄtiѸïo}ƒtA:FwÃ}ÃÂ[f$ÍØ~eûwç¿ëS£WñÎ?:¿E• eVYU¿lý•ZtßÜ=\Þ¿fÿ0mX z¦„ LA©PÉ»cøþ=@ùD%ñ<¿"u…–ÓjYíÆ‹¹üËÜç¶©Ô&Å–rÑy‘×ñËN-K¬œiŽìßùããÿxþÇ­W¶¦;Ó7^Úøöïo›t¦U§WÍ<úi‹OŸ²<¥`ETÄš¡5§6š:ÿè|”/Û~Ù$²‰¬È5ÃkÎ~a¶U°.lµpÆ33.e_:róȧ/~¡HªœaŽèS§Ï'¿˜ûâ܋ދÝúkpÁï6xwÙ_Ë´Œ6ðX üoÿˆ`!-O–fs!M…hBÀ =vô¨¨­¸$uÉG‡?’@¯ä€få›]p^Èpg§â\ðÜ‚1»Æ8egƒð—çõͯë Pd…,‡ËÙ—çœï•½aQA¿¬Í=0÷ൃ×<×óÙA|È9÷/«+ ^цxCòŸÉÏ}ÿÜ´&Óœ’3`?øŸ¢8~üøñãÇUU=þüþýû=i—ß¿ÿßÿM×¼>0`Hs¤Í<63ÕšÄÙEû'¿¨¢«"¨ÂàØÁÃj « «eø2ÀQÜÿ%þߎô¤ã IDATΦ 3q¦zeëÕ ©õÃù–þµ´Y¹f0Gq›¯nž²wJ³ Í‚CVåT[*h kq ÅÉ<’–ôý¹ï—¦.Ýre áC@‡èX|rñþŒýP¿§û}óÒ7‹-ÖК@i@qlýt#¤èÎÛE‹½ùæ›’$]½z•çù;vôíÛwÇŽ.\èѣǖ-[222^}õUEQò}(*VœQ+<Ã#@¢"j-¡á”TÉÀ¢ÃÈsþ—Á|°Crh[r³‹±4+ÈK³nÉ ôŒ^ÁЬÊF#È‚ ª‚ ­ñH#odˆŠHÆ¥å‘=FÎ蔜FÎ蕽dtHÅ*K³^Å 8Ž~ [ügŸ}6xÈ{wß³) %ëýú’I¤Å”¢(Azõê•}/z7 QNÑIþê‘ršc|œÚ!—ä¢)Ú÷?¡;q‰.E@p Œ±[r“ãÝwgðÊ^D!rT àö¸*&wFóWFoEV L*ê•8….é£8""!Ô²eK§ÓY«V-“É´~ýú üðñ±±ááá`ÙäRô{¶¹ ¸CÎÿpÿ»å}WÁ¶€ ]ôë„P`šKäàÕét>h%£ÑHú¶k×®MN¿¶mÛt ,˼ŒqÀÐ)~áy~ùòå$ý_hwx½^­V[ªÀ¥J§¨ªZ0¿_À„.!^n.óØo,¯ëëû•¬{Š¢|?(ªBÊ!ÉÅ|ÒQ·± 0Æäõ„c½¤øÛo¿}ýõ×UUÍ –˜/›,ùØùr¾#„È×Ï»ú¦â‰ÞìfÍšPàÒø`\.—¢(™™™²,—/_ž„²œN§Õj-_¾¼^¯÷¼Iµ¥2ˆaS;¬6VqrJrÿ:ýA†é¦{vˆà]çíçãÃâEQôÊ^“Ö”íÉ&5Ï&ÉåqiY-ÅRS~Ÿ2©é$‡Ý¡bµDŠ¥t: ªªº\®´´´ÈÈH·Û••¢Óé±;ÇqZ­Ö`0Ȳ|ëÖ­ˆˆðóí\°ŒåÁÛÓêI•柘/©RÍàšbMa;,~˜Kv=Ñë„eÙ‚÷ PðVbBÓôÞ½{†Y½zõµk×L&Ó?þh0X–ݹs'±|¤Ê.Å%*âñ›ÇGï=xç`Š£úoì¿÷ÚÞ£·ŽŽÜ:r⾉û3öºq¨û†îÉ'“/;/wZßé†÷|Î~®×¦^'n˜x`âüÃó¯y® ÿmøç@w¨Ø‹MüÕôôô›7oîÙ³ç·ß~3ä[³,ûûï¿/\¸ðÈ‘#F£qݺuGޱZ­çÏŸŸ0a‚N§Ûµk˲@!*ÔjÑZB¢*²4;®Á¸Tkjª5u\ýq,ÍJX*‰¯X$ÓU¤¤„¢¨«W¯ªª*Ë2ÇqÄ9ôz½Çeeeå² U¬êYý›;ÞœùÂLY•’3¹Mòš3kš•k¦ctï5}oEêŠ}×ö ©7$Ížöݹï¦$M9ï8 ^(÷ÂŒ#3†& }+á-¬â_üpí¹µ%n^2 sêÔ)„Óé¼|ù²V«­U«Ö§Ÿ~Ú¼ys‹ÅÒ¦M›ß~ûÍjµV¬X±^½z§NzõÕW—.]j0þøãŽãHS”¢(°  éÙéÀSr:%'pp%û K³ÿøzl:&±eåx©EsQ‰»b³Ÿ9R¿~}Y–+V¬f±XvîÜ)‚V«=þ|õêÕÃÃÃišö÷÷´´VÃh^­öêüÃóü}`týÑFdÔ2Ú:¡ušyÊø”‘3ƇÆWÐW°ð–gË=;ü÷áÿúï®ô]Ñe¢WŸY=±ÞÄ.üpÑ~ñÙÈgÃ5á΢ ))³0%%%!!AÅš5kF»Ýž™™©Õj+W® UªT‘eùäÉ“‹¥nݺN§sçÎÿùÏE©S§Žªª+VÌq‰12rF-§ýêäW]cºŽþ}ô¸zãÇmÖ7¶¯‰3=éQE:t¨AbâÕ+i$UA®s¿ã÷=6l øÀ%)ã°°0ŒqÅŠ£££IV‰¦iÇC˜µ|/C€ˆ¾…iÃ2<Ãë 7²F·èN OT±ZÎPÎæµ5 o¬4Žh|Ùq¹Kt—jújÕ¢« Šðq“³…ìA5ɪ¬‚ê=±A±¤±¤Ö7BÈ`0€F£yùå—išEÑív×®]ÛápÄÆÆ2 £ªª¢(±±±‡¸Á•+W& µà•¼IIŠª¼]ëm¯ì]üÂb»`€/^ø‚´I>гðM…´ì¾[€¯³º0/öËã±bZT²Ba ˵¾sfÉ’ñ…r/`ÀDý$E@9?“×Dê#ËéË Š@®Ø¼6 µVDdõžÄÅ“äS0¯×ë‘ódYöG; ?“¨2©WËQÀä[“¯fóÚˆbï‹ò©ÖýµP®Ò”ûêpÎu @á‰z<ýÒTÀj.qs:ß+¹Hm(DiY­Lƒ¬€»Ãwÿ–ó"( :’—ŸÙ÷¿‘3.°bûúþ©€çþ¨·@hDß9?}_r¦åžL¿9ÿ 0p†ÓöÓǬÇB¾”C1,Ť‘¼Á”o\š¢ïšR y‰…ÉE„rÞèû¹>Õ(p Ô§dMhŽã8ŽÂXÉó™ÌÒ¬ŽÕñ O!ÊÈ9Š;tëÐIÛIžæiŠ6óf«Ó0«Cñ4¯cuc3oæÞÌ™GïýWÖ_G3ŽŽß?ÞÂY´ŒÖ¢³LØ7áœûœ‘5²4«e´ͱ«gõ!=«×³úÏS>×1:-£5ëÌ£÷Œ¶è-@nÎ3<ÙVx†g)ÖÀ(Dñ ¯ctÍ%ŸLF€ƒ†ÑhY-¤cuŠªO•¯ã»w[0¡K\8ŽûòË/ƒƒƒ;tèðᇎ=zݺuÁÁÁ•*UÚ´iSTTTÍš5‰b8ÃU×ÕÇ8´V«ýõ×_M&“Éd:wî\XXXll¬V«%ûE†;h(RžnŒñÍ›7wîÜzîܹzõêy<ž°°°ŒŒŒš5kZ­ÖíÛ·÷ìÙsĈ“&MÚ¶m[ûöí,XòÊ+¯üðÃÁÁÁ!!!Z­¶\¹rÍ]ó\ûýêïg¬gœØùj¥W瞘[N_®QX£Oþü$ÂÑ3¦çؽc£ƒ¢Ãµáiδ™g~vê3Y–GÕÕê‡V1ebC;Gu^uýUÛÕ¾ñ}wߨ½ÿêþMÈþ¿÷·uµ]vbY¤)2„ ц¤ÚSÓli“’&Þ;š¡™hKô¬c³8Š™4’¢¨u­kY¹åç¸î¾. ¡}¥öå åVŸ^ý·÷ïl!û͸7¿>÷µ4qe⮸®p4G!jÝùu‡ožš8uúÁé“›Mž¼}ò䯓mn[®¹Wåfæ À9xö‚ ’ÒH%c¼yófhhèÙ³g%IJMM¥(*..îÔ©S^¯W–e‹ÅBvÜ`Mðã5hI‘móæÍ322dYöx™˜8±hP­A6ûpá ;EwŠÔEŽª;ª²©òMÏMàÙpi0ТR‹Ùfÿqë­W·") ü|îç¤Ð$˽êôjÑøºçº  #Ž8g?—’•2²áH«çç$ hQ¡ÅÁŒƒã“Æ«XT¬Ú%»žÓÌ<¸>m½ÛëÞum—Ikºá¹1¢Öˆjæjï~ß#xNÜ:Q+´V„.‚§yEU®»®§g§_p]¸âº7¼7€Ê½uÒår{cž®Y¥ZTÅÊUÂ#"CBCg@KXDQ|ùå—›6mš™™9a„¿ÿþ;44ôðáÃ,ËšL¦[·nݺuËçF[¢£çéõz-ËÚµk£££+UªÔ¶m[AÈX²*×­­ÊEU§å‹ÌY,–M›6mß¾ýµ×^>|øÅ‹ãââú÷ïêÔ©Ê•+·k×®lÙ²‘‘‘-[¶Eôz½ÉdRE¯×—/_^UU»ÝNœÞvUÚýrù—^Oõ’A^ßvý»ûßý¿ßÿǼ‘6*‚R'¬N˜.¬zPu·ì~*è©?oý)©R|H|¶#»¢¡¢¨Š Ãv‰î¢b•¥ØAqƒ¼Š7Ú=eç”l1»ª¡j­Z @c…ת½6oÿ<»d¯\щEGnéձA†á oyn½¹ýÍÖ•Zw¬ÞQÁJÿ„þWhP®¨ŠÁšà÷¼'¨BËŠ-C´!і蘕1ZV›îL¯f®–nMïÕqÄ–2–AÉ/ÚÌС¡¡åÊ•3ÁÁÁƒ!ÇK 4ô—HàjÑ¢Eƒ ’e™aY–Y–E‘ã8UUµZ­$I¤®ÃétúBµÍ‘>ÞÇ%ÄÓv»Ý4MûSÎcÀ¾îü¢øú:nõêÕÝ»ww8&“IY–ÉW&y#š¦)ŠEQ£Ñ(ŠB=Ýn·Åb!˜c†aEñùó¢ô¬^R% «±z¬ÆÀ2¬Cp€Œe-­U°‚‘£9EUŒ#Vq¶ÍÒ,¹(È‚‰7Qˆ"‰(†b œAUU·ìf(Æ-¹õ¬þºëú’SKb‚b^­ö*Ïð²"Kª¤×èÝ‚Û+{uŒŽBÇq.¯‹¡žåí»U°†ëÂ½Š—£9A‚´A‚$¸$—‘3¦;Óƒù`#o¤(Ê#zT¬ê5zUVm¢º}²’†þaÆmýí·VmÚtêÔ©{÷î7l˜7wnçž½35Q¸ÄÂWûöíûwî˜,˦¦¦îÙ³G„'lçÔ‚n!gÉ{nî)ü[ÎÁ¹{ýé<œ¿ï:ñÿõ›o¾ñÃçÏÿ(Ûn‡¼A¬@÷i±I¯^½Ž=Ê0ÿÆ TÅvíÚ¹\®'®›ö¥Ö ÿ–‡ø“OEéÕ«—б x@‘åÙsfY­V¬ªÄ4cˆÞ24­×ëïŠzz5‹RxžoÚ´ia^©aŠp_Å‚pœJù±ðBó›7mà9^QUUQ´ZmB­Ú[O» iúçÿýÄóV10,{%írdx˜¢t¸„w|·¨³†ø"9©(в[³šWW¼R`ªKµÐ4u-ãžVd…¦1ÅkÜ©ÁbB'NÿhÎ$h·ÛÍfóëÖF=õ´(ˆ¹+Qƒ ²ìÎ,S„V«¡î_ ¨²XUItç¾·gYöü锘§Ë:Ür`¶K³p<çòx%5&ê©bL!´èˈ±rP Þ|óÍÿ{ç³Ù¬(Šª(Šx®%g8!À°ªº¼‚Z|VVsüÿÛ»Òਪ,|î{Ýoéׯ»Mº’€EØ5C $G@3SY¦`$‘,„]@¡@DBH@Ô ‚&È"A´Ô ˆ kFGø1ƒ$@‡¤—¼¥û½wçÇë¤;„%%ãäüÉR÷ž{߹߹ç.çžS^ñKllœ¦µ¿ì6UEQÕŽ¾ïISH}K{ãúõ%K–¼½q#×Ë:Z4M­»y³¬¬¬Gî²$vdý½Ol0B JŠª¡v-°‚I¯O@aô þÛÉ=OúUEíèûz.H¿,õèѽ¬¬¬¶ÖeµÚô!Ó-°†UM–å];wþûá¡Å·”´ƒîõEƒöXö{»Ä÷Ö=$$ù¶6µ$‰1ÖB(é ûY‡1#_}µkç¿,+J x 1Ž?rä111š¦víwµªÊçñø¼ ãpã×6ðùD—›àYêv ¤®‚†ÛŠ4J’†Z·àóz|bÇúþÞ»ª²òÁ.q²$ºüþŠ â»wwÕ€,V[Rrruuu£×žö‡‘£š_#5bãŽm&àW‹;´»}9­÷\û…â9ÜõËÏXDtï÷*lÆCLÖŽõó}ŠÃ¦º))ŠE3 ãÄ!CNœ¾5‚4U£i:::–å8sÀ/744„^W« 2d_“É$0 Ùy»žaÛš_ÍGD–'ƒ¦iv»½¶¶Ö`0P4- Â-t€·ð>¯7:Úá÷ËzÚ‘öÎ úkž¶Èd2±&Îçõʲ„16ó¼ÏëAˆE‘ã8ŸÏËó¼íh×ë!Ž31 ër¹(вXm7k]MkO†a9³Ù/Kn·;*ꌡ®®ŽçÍ ÃÖÕÕÕÕÕEEEÝÞáp‹Þs€1:öËR´Ý¡*ººº&¯ï–8Ô4Íjµyýëo¾ÉË˳;;ñbÄðß?ñ„ÝáX´hñÁO­Íϯ®®¶Ùl¯®ZõêªU[·mÀn‡ H¾­èÛ·oîk«ÇŒ­ªÚÞ}û”€¿öæÍì:{ölš¦I‚4ó–aþõãIIÉ >Ÿ^Ëjµ^¾üŸò“§dI\¼hñÌY9?ü³¢Wï>¯å枯¨øéâO¢(6 íoM dµZ-~±_¿ßÍš5Ë/Ëû÷ïß¼yszzº ô°+V›MÓ"O†0ƤÁ¨IøË”)ëÖ­?òÕ×m fAÀ-·3ô?+Ö4mÚÔ©‰‰I3sr®U×è8¡™½%û”€_öû¿üâË o¼9lØðaÆ÷0cEaî¼¹=6ðÙ N<••ýý÷'~èõõ¯kï-)Ñõ‚ ÛÆ5Gkb“’†fF_—g̘A 8räÈ´i¥š§Z²X,«ss·nÛúøÐ¡ñÝâw¼¿]`•9~ܸ¡C†ˆ‚ðùçŸg̘‘¿6ïJeell¬¦ªÍBûèß¿?B°lé’êêšØ˜}¹náùñÆM?îøwßúì³ÁƒÎ_°`ÊäÉùù²ßßàkp:FŠÖ°†Xçóy332’'$$ÐmbX ÏCX£p"8ð±²²òU«V¥<õ¤ÑH€Õj›93{üøñ‡>=481i÷îݰïÃ} .´Úlª†ÓÒÒ§Lž˜’’’šúÌÒ¥Ë&Mšhw8àܹóéii4M ”XRRRR²opb”––ž‘‘QXX8nÜXÜA¿iÒ-ð™3grW¯¶; %<œ@S4Ë0¤X¶ôåêš3Çeeg›zþü9I’JK¿ÖP Cõµ«I$''oÝòî–-[† V[{óùçÓ-<¿ìå—«kjºÄÅ©Jä}3wCêú†‚\Y–€¦Y’ÑhŒ Òª@¤Áà—%0 ¯oxcþ¼¹ªªÒ « F£$¤Ñ`4RXÓAH¢À°&Yõ’’(jâP–5I¢€A3Œª*$iÀšŠRhð™8³$‰ Ã@õµk§C (4Ã@À/랃ª¢ "øä$ ¬‰Y’h†Ñ¿«­)SgÞbxu¯Ïk³Z F*œ­$ŠE$©*—ë¦Ý¥¨*IÅÖd ÿE øo¸\N‡CQÕ{a…uƒÃ }»Ëôˆò÷Ê"µÆü} Ñ®x["AÇ¡Žmì÷û)ŠV~½˜,Kz¢‰@ @ÓŒ®/áÕ@S‚4`Y’u™Ò4³zíú/~ô¢g⪓ƒé§(6»×b´†i zGkQ†fDYD‘bA!s›*!Ý#= nÞ- –PgqKÉ£[¢(Ô–¾¡ÁífÇÂÍ{Æ áÐ'ßéu”u4L -‘ƒÚ¸ü‚f‹(tË»äÖá<ê¼;Ôß¡úꞤ-Y ö» K¹åA·à€"笵=4mn‘ð]ÏŒ¸ À¶ £Ñxéß•WTŠïÓ¯Ûã“”Æ4íÁ¼ßÐêp´`Æç–Íê2Ã!=AÆ!±Öaòšk0n™´cÜ8Î8ø3øW«Á!µÂ!c-¬‰Fæjl‡±BMÞKmAk¸Q³q¸à–SO¸846ápÈ6²iì#nUŒƒ¦#´êY…P£ôø¬Ðú´šS›dìAÖšDú?"Â…†B­µbA´ðò FoÖBàP´'ÔÄ®m•Ôì3[Qû¦Ñ@(¢_DÛC]»Å”Ô†zèÊAkù·#fó°¹)Bh¸­CÑH]>öÁ^”Š[&PXIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/gschem-sym-3.png0000644000175000017500000000732513634703632017365 00000000000000‰PNG  IHDRŽãŒeg˜ pHYs  ÒÝ~üIDATxÚí±Ž·†¥ÀBy·º:m"R)n¢Nz ¹Niµö¸  Jµ”N`Ò°‹J±²¼!g†3ä~_q8ÜírÉ]þKrv†óðÝó÷¿÷üÁÖ<þëã·7·ï_Œ·T_BfönÝ|~]=9ºéü+ö^w~=¯¢q¼Å%]0ö­/¿.£“ßDWÀ‹«½ƒ{å]ß •äÑ–E~ÖùÜò¬v9µz¯ju«ÛÛÞ±û#¿çŒQ~Tí.xQžÕ{]zk.¿?¶÷¬Hº¦j½g•œ;qùsf‹jÿµíú¬ f²ØšÊjR¤é^å$PÒeå5—È»=1®M#YMÍa1Q¬ûÆí­¹þxI ˆÍ–¤Ó¿áÁ¯>½ë7IÍÇF¼u_4û6Rýùwß½|úèÙ“?Ö©½w½×?ôÖ\þe̪nÑwhÎwSzùÃßþøò‡gOþòã³'ÇïÇß¿Dß-Ó¿³xìGðšê^R“Ú¹ÞÓB¿¨'y h•<P2²É§gš ÒL£…GèGY2ó`1/uý¤Èª„1‡Ú9wF.›Ò#iéYFTVÛ*’*ú~X¶zÝvådë_¶G®_Åy eÌ©çÞT­7·ßÞÜzØÏ^êò³¬"a­ZêgÑXGÇîž¦äœøõ^ SMê}À˜:ý#è®@ØšŠ ØB?ŒYÆú° I¿Sñ!²ÞÙª}Œ_¢+W/o IE5ô®½ú­³ýZ!Gâ”<ÿÍôoä.Qs|åþ™úV{·ÅDµc+wÜuWÃà韕߷>F¨ZR»ÖX Ç— =ä9JÎÿ•»Ëk¨ £|ðSä§’,@{ã©$"‘ÈCÕN T’a”˜Ÿjh'÷«QµobÙíz×w\[‹VÔ+Þ)ú¶Ì\ÎdëߘHæ,¦%5l×Ó¯>óó\é§ß«PYFTcIezWD3k8Ö¿°ÿ(ö‹æ °þµó_ÔdÐ^kµ¯ØûÀÆBôå-Ò YÜ[]«,ÙÊ¡¿Jf‚³~XÅyLHjWŒÍ5ÉœÓÝU7ÄSÁ ž À⩌!ž À|ÿŒYæ;ÕUàCïÏYë®ÞZè¥)!?‹‰*ŠÕ¹þs‚>þjþ 1 ¦ps6µÞCNË‹Ê/ͦGž«¨…ØÌ 6ÙÉM)EèGIïã””ÙKÛãN³cnûøv‹z×$Ùr|°¦r$v í®ÙŽžÒçײÚ-=ƒÀv%¡bŸey|רñ5¬Þôù%›W0T$þ­Ž¦‹Û–¬É 5–„A2­ýwi*ÊPþŒ¾-}­(ÿ._ eX¦—uˆJȽÊÓo“Îúçaõ’ÿ””Y[™Ô:eïñ3ïª<Ïb»dýÆi;Í\Ââ©þþó«g¯?ÖŽÑ|¬œïñ ¯ùØñÞûIx' ÷('3ÄSC<€1ÄSC<€1)>þFVYç éu 3¬ò\j¤ØK}õ›¸ –FpÕ{EºïT…‡ƒX­ÌÞ­¼×¢*ª›[ßm£nYùùÕ¯¥µÕ”&o©‡´æœÕÛRªÓ??†|^®ù´*y ¿GY…r´U{¯bë'y¦¶£D­æ’´šöÆšßR*JjÝQ> ×tDùuËã{Ë—_¥<^^¾ššÔ¶Ë^w5uNTí w§ò±ÖÚukÉÎô­Û½]]«š[©VX:Qèßý¶Ó˜lKgï‘*jÏôÞ9BN’ŠÊ Û‡‘çÑzçÏÐÞl/29IMêú\À¶6Æ QO3¹ÂëÃt¢êýPh»V{Ͷâîm{#Ç꯰àüTí#=Lêåñy’[Ëk;vnû˜ùmÌÏÇ žê3+.ˆ!'Á^êòQ `ˆ§0†x*cøNe»ù‰Ç¾yòrŽßý6r±Ú†E_²m=%µÍ³^@T;á'Î1ÿ½ŸáX=cï¡7é¾SA³`jßëÚŸæùéý®¸—©Ê¨¤96CT’¾þš)¥Ç.ùwLº—úXºKy Uo}äÇË“âøa¢âQ½›lþéöRï-G2í«ÏØñ½ù;ƶž–ÔM_ŽUÚžòïcÏK¿¹ôDÕîE幽ݺ½JÑ?‡uC$v%8éÛŠAi9 õ5±Jx“áM¿:Á†  4oYf½æ54'_£&/–† O'lM¥ÙBq,´¾]ޤ´ÞãýîÞØ*ÔªÃiZÚ^=jÒíäc—O¥£ ÷¨•#©É|Ãnž,ä÷\sWóÜù^ý€nüÖÀk­®kú` ¡Ðßê%ϺH¡ÆàP `̵ÄSÙÖgNrnMKW‰›ª±€¨vÂ;qÛùHùgƒ±šŒÓ5%¯âÅôoòlæìסç{`xp QÙfyê½n†ÐÀÈߺ€éŸ_®ØÚ¹mo4«HªòŠmüüžX1#p°—úعVû4ô:ÅØzyçï<¦š¬©ª´ÝR{Ëiÿe¬Ûãkx)ÆâÝŠÌB:CÓö¼Â´Í F*pŒº&ˆ 6‰bÊCºÐ±éGïGIù§[½§Ÿä#fÍ?Cþáç¬<$òý;°šÁ·3#I®.9²]‡vˆJ;“UMNíšx—Ù^ÒÅSÉ··ŸS²>šU’2IMø¾”¬UjE«QT?eõ˜¬–å §^Õ=x§Œ+©Iž­Ô® ¢êÀjè3–g?@XÀ¤c#ɤd»AwMÚå#'+ÂòSy©gË eeR¯åmRg›ˆ§0†x*cˆ§0†x*c°þåŒSÂkj, ªl 'hƒ¨:@N ᢲJ¥cå {æ¦4ÓõSïù '8HQ“-ªæs0&ÈäcOÿ¬\xÎç²òXF*¿` MM¬©$i<ÇÊŒm\™¤©tÚX¥Òð ,ô#O*[ý0†Ðcý0†Ðc.áû0“0“ºþø2“&uÈÀ’ûþµÍâÍ!–êHus›÷­o+˜Ì-µ…–Î!ÀP1æKÎÈ«°•¡‚5d`Q1šA6@–cd#Ì£1À®„T’9ò¼º˜( Ï ½¹âk0âA‚ã©ýÀKÀ˜å­Ù@TÆ *c€1ˆ À˜QÝÜþã_|¨…} ©i!0Ø0Q½{þ‡ß¾{~üDZ°ƒ¢:•­‚–ÏÒB`°:Ý¢:„tøa?m¥ÅØ«Ó!ª³œÎ·•Ö—2»`U|ÿ‘²é=ëø½÷\€™<¬ýC.¶ó%9kLTçs¿\ iAFÌâ©æŒxg!!0ÈÉàô¯wtúúÜñ‘ªVÚ—š -ˆ§{¤ª™+¢`ì‚lXÿòPÀLD#Õy²WšÎŸ>úîåÓGyã» •I},‡¯íšJÒ‚™¨|ÿVÉá[új09?ªÓ¿ó¶aÞ_Ð1 <~¿Ï»âûoïúkoGsJi1v-ËxTx×çø=O­`]ˆüÅfÆ,™žÔl†`#Õä»®“\tõV#ª*+Ú Wì‚û¨DÄŽ]r©döwñku6XSuaÝÕve>»’Õ:eí¬ö‘å15˯{ßݶ~Cu¤Z±1cŒµ4jìêÝÈà||ÙÞrs„¶äÚW/KkßsÛNjužOUT;M$ÚhZ»îê}—··Bh’s%gͼ3ó¯{ÀôÏŒ(_ }ªcíéßù˜Þ‘aïW6¢2fæºK*Z¯ÿýk×goÁHÀMiV¯?¾zöúcù_Íl0V}=×QM¥wì:Ëé천9&à®V_kCTaŒÝr%燿aôÚ Ïa  Á|mظdžööË/¯o_=xÝamûôéÿ¿¿q•iXˆ*˜¯WY^Ýýý‹èv^ DkË]ATS!Rë n¦Yûïu̦½0.]‡nQµ}“¯öE¢ ãÒ51žþ!'„ŸE5sð È >‹jl„‘x1ï B‚ÕHUy5r‚ª‘ªdo9!$0˜^þ÷=@N gФ~–Ð’ðîùû>]-ê B‚1½Ôi3S>Ô{xR#'РúNU¦ÒYWT ¬0‹§BNÕÈßÞüT=|ÿí]ÝwN~ªòZ lY œÞÖPœÀ›K„~ $˜Éæ{T '˜Ï#U¯IJÕH…œ  ŒTmdcá‘ 9AN©äg™‘ 9Á*¤©¬HRQ±¡¬K"Q1.Á¤ãìD˜¨—`WªÖ?ï='ÎyÝcoÁÞ»kÐÒù„~ìÍ2ß©VQƒ¨Œ©Zÿ>üôáO~úåÍþùË›_ßü÷ß¿¾‰®*Àü5º­ämÎíµBtEXtsoftwareImageMagick 6.0.6 11/29/04 Q16 http://www.imagemagick.orgÝ<Ž‘tEXtdocumenttmp.tiffý òüIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/coordinatespace.ru.png0000644000175000017500000000533213634703632020735 00000000000000‰PNG  IHDRD>z1þ6 oFFsY^Õ“Ÿ+ pHYsHHFÉk> vpAgôôL´£< IDATxÚíÝÑV«¼PpìW„‡„‡ä\ä7'R¬mIH]ÎyáèFÀ¶ÛÏ•„ŽÛ¶ -­ë:Ïó²,Ó4•ÛÇqœ¦iY–¦?þŽÖ? ex]×rcúç.ÞÀÍÃ< Ã4M ­]æákq^×U’¡®aV–¡…+Â<|¶´SŒ…Z¸.ÌÃgŒµ±¡…ëÂ\æY˜¡º—ý¤išæyŠ`­'|ùaã8 Ãí་šÙIʰ$C §Âœ*íã }A;g+ónj×{ 34òúØã1Nã^©, 34rQeNIv´sEe–a¸Àu}f ©×Ü´äÞÁ‹av‘ ÞÍÙf¶Ê oâleVŸáMT˜Î©2Ã;xñF‹q·mK_çy6º«P™ÅÞÁ+a¾ÊÖÒ†îêTfa†îêTf »:‹(ÎÐÝ+£Ùi»|à^eè®Ú²A*3ôõteNkÙ§»seÞ=®W­2kcC_O‡ùÎP¶–6tT³2 3tT³2==j5Ïs^Ók7èe :z®2ßoH«ØÐÑÓÍìû‰Õm†^*Wfa†^*Wf —çÁ¿Ÿd9‡ŽN?¾†÷qéç3í3!Ì„0C A3!Ì„0C A3!Ì„0C A3!Ì„0C A3!Ì„0C A3!Ì„0C A3!Ì„0C A3!Ì„0C A3!Ì„0C A3!Ì„0C A3!Ì„0C A3!Ì„0CýÃ<Žcï§tóº®ù+pFÿÊ T¡2C*31nÛöúÁã©Ã‡bôëäy€ž•y]×išz¿Dçfv ó4MºÍpRçÊÜûåC=ûÌéðq—eY×uY–Þïüb=+³3TÔ-Ìe[ŸÎëæ²2«ÒpÒMQœáŒn`ùØô %Y}†—õ©Ì‡ÓETf8ã]šÙj2œ¤2CÝ*óm˜] ‚3ºUæÞ/¢éæïn–R™áŒ>•ÙpT×§2nW™áŒ“FvG•ÿ<¿t üY*ó6¶â /»:̲ t³Ê -¼ËtNà¤ÿ¼išîWæÎïüZõG³çy¾ŸØGN<«~3;õ{ÇqœçY.Óð:óº®9ÌwjµÊ U4ËyV¨¡©ú`ë§TËÕ°çyV„¡‘&aÞe89ÜÔÒùS k0i‚f¢I˜×uçyžçaÒW µúaÎCÙåE©Þ/â«?¶û¨Šá§!.`P…>3ÑdnvÙ®N÷]ô~™_ý0§™!ã8æ¯æŠÀL ô™!ˆús³SÓzGí…ÖZõ™§iÚ ½_&Ä×d4;¥× Ìp¥¶`éÕý%Á €AMf€Ýîi´VL2¡ £ÙDÃʬý W2i‚f¢mŸ9?ÖÞ†ÖŒfCÖƒ ¬AX ‚0š AX ‚°a 0BŸ‚p×Q¿2çu¿–eÉ+õ~™_Û>ó#ýa}f¨¢aŸ9Íëýá¯hÛgvQ .ã®)Âh6á- ŸhAøD Â'Z@F³!7Z@ A¸Î AÔó ºÐƒf6!ÌD“0_Y.Ðd¥‘´ÆÈ0 éIp†O3 ƒÅ à2>ž‚0AøxÂÇÓ@>ž‚Ðg† š\ššç9­4Ïó8Ž®3Ú\šJäyžó—¦ 5×™!}f¢ÉýÌy}‚Ã… €,èAÔlfµ†Ž*‡Ù§X@/•G³ÓýÃOŸbqÿ$À šLç|*Ò U4ÍNN÷N¥… Ü8­Õs.˹ު½pša~¡Ã ÔR9̇1V–áîg† Ì͆ „‚fB˜!a† „‚fB˜!a† „‚fB˜!a† „‚fB˜!a† ú‡Ù2#PEÿ0U3!Ì„0C A3!Ì„0C A3!Ì„0C A3!Ì„0C A3!Ì„0C A3!Ì„0C A3!Ì„0C A3!Ì„0C A3!Ì„0C A3!Ì„0C A3!Ì„0C A3!Ì„0Cÿz?"X×u]×a¦iš¦©÷Óù£ÆmÛ^?xó²,½ŸÚ/¦™ÍŒf_@˜iÂuæëifS‡`Ý 3˜›ý4³O™çy÷ë{»®áÈS¦iJ)ÉÕ©÷óâ/æSRnsžs_q,”iŸç¹Ü8~•wË×uM¿{{ÂÃ=oÏöݱy·yžó>»ïò¶„ù¬\œweyÛ¶mÛ–eÉaH IÛs'sûtxòª;ßÝðÇý<6ÿ…ÒÐøe¶NÆ4M˲¤¯iËP„yš¦ÝƼ}øæÝãÜ÷>üîá ÷¼=ÛwÇ–Ò¯G~E¼?a®c†2åŸË2áwþ˜†y+™Î“æHž0ï¿;ÿíÙ¾;¶”Âßû}å‹r)Þ>ÿ^§íÂ|Vz7w}Ëò¯iù­]yܵÌËÇ·ÝïÃ=ó Ã?|m¢ÿxlÞ~'çt—þÈæzÿsMß'_>Lîi£éœðœ·š»Z>•žÖýž°r2OΠ0ÃY¯O˜ÚØé/Hzð_KûLGüäáRš„SÞZqîMýJÿ,ÇÀTfh¨zƒ<5°ó Âásî½0Ã¥N6Ès»œä“7ž sï7‚8_•V¸Â®½=|­ÉU†Ê„šønQ´¡Ù(·0C×G÷–0ÃÓ.h3¿@˜á9»5XºÏèÌ„‚øoq‚t©*-ïöÈnÏî´6nÛ–/:§M)™å“g÷®°Ý¬_u¸åþwïï\àãp9Õ´âÔaãùÙýk‡9y<Ìwö®ñq˜À;½ßg÷®ñ1<EÑ…7dÝlB˜!ˆáù+]ð†>ž—6Ž ïéc÷ Ã¥ÃÜ>»?pqÛ¶qw« å%ÂŽyràÿ†aX–%Ý5QVÝÝŠaCQxÜè Íê,o“¸]æ·Üó‘ýë=z?³UuáÍ=t9¯i¼­GìK oîɈˆŸâÀ‘%tEXtdate:create2011-03-08T16:41:04+03:009%tEXtdate:modify2011-03-08T16:41:04+03:00HB7¿IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/dialoginclude.png0000644000175000017500000003557113634703632017760 00000000000000‰PNG  IHDRnLr$0³ IDATxœíÝ{\”uÞÿñ÷àÖÊ(òlV¶áZ®ˆ¸ˆk*™î¦{“hyX %³_¦îª»–ÄJ7µLpÓ´òZéVdžïRÓ;ÍHÍFTàúýÑ21rŽÃ¯g+f®ë{}¯Ï5sɼùÎ5sYl6›!T{n®.Î!¸˜Á À$n&áTpÛ¿¿¬V«öïßï0ßjµzûfƒ *±MaJÛ &s*¸ÅÆÆÊÏÏO±±±eÚÈæÍ›Ë´~QbpKOO×Ö­[µråJmÙ²Eééé’~ ³Z­·ó~.[¶LÆ s˜/Io¾ù¦î¸ãõíÛWÇ/°¼¨>Ïž=«µjÕJAAA:vì˜$iÍš5êÙ³§Z´h!???­]»¶Œ@õVbp‹×àÁƒåíí­Áƒ+>>^’d³Ùì?óßΓ‘‘¡uëÖè/))IûöíÓÀõä“O¹Ý›ûœ6mšBCCuòäIEFFjÊ”)’¤©S§jñâÅJNNÖsÏ=§O>ùÄ©0Kþ/à=pà€8 °°0{ƒÞ½{kÙ²eêÞ½»:¤‰'jÇŽ’~ Ë V7ß>yò¤7nì°,›+W®èŽ;îйsçæÕ¾M›6ÊÌÌ´·©W¯žRRR«çž{Nýû÷×ôéÓÕ®];{›¸¸¸Š|¬ª”¯¯¯|}}í÷ëæÝ(,´íÞ½[GŽQ@@€C'»wï–ŸŸ_±Ê mEÉÉÉQ½zõì÷sssåææ¦ëׯÚÞb±())IÍš5s˜®#Fèƒ>Ptt´ ¤±cÇJ’þ˜MÞ T^x³¿Uzsh“~þPÂÒ¥Kío‡Úl6-]ºÔþ!«ÕjË»8³gÏVFF†-Z¤>}úH’š4i¢7*55US§Nµ·Íßg`` bbb”••¥={ö(""B’4aÂíÚµKÇ׌34{öì2<,ÕOXX˜8`¿_ì9nÛ·o×СCæ :TÛ·o—ÍfÓË/¿¬ÐÐPIr¸]œ[n¹Ewß}·5þ|IÒœ9s- <ØÞ6Ÿ ,ÐÑ£GÕ©S'Mš4É> ؿ͜9SíÛ·×øñããÌã`:ösÜâââxk šÉŸÑ¸r€IÜL‚à`7“ ¸˜DÝ’ä}1/*ÏÍWI(L±Á-/´1¢B €£5kÖHR±á­Äà6bÄ5hРb+€ƒèèh-\¸°ØàÆ9n&Ap0 ‚€IÜL‚àfBqqqòòòru0 W/½}Wï¸Á À$JܬV«¶lÙâp®Ñ­[7]»vÍaÞµk×Ô­[7Ùl¶"×ã9«J:^ TìúkÖ¬QÏž=Õºuk >\§OŸ.u ùû£¬Ç?˜Y™FÜæÍ›'Ã0*º”’¿¿¿6lØà0oýúõò÷÷'œ¡€’Ž—Í›7»þþó-_¾\'NœPHHˆÆ_¦:*ê÷Ç?€Ú¨LÁ-33Sëׯw˜"«ÕªfÍšÉÇÇÇþ ÕjµjΜ9êØ±£V¯^­‰'ªK—.JHH$={V!!!jÕª•‚‚‚tìØ±rîRí®ØØX‡y±±± —Tôs’çæ·¼û<'5SIÇKÞóŸ7²Ö¢E ùùùiíÚµ’¤×_]=zô‡‡‡üýýuèС2ÕQØï²(i &*Sp›>}ºž}öYeggÛç}ðÁ²Ùlºxñ¢V®\©§žzʾ¬cÇŽZ·n¢¢¢ øøx=ñÄ’¤iÓ¦)44T'OžTdd¤¦L™RÎ]ª=üüütåÊ9rD’tøða¥§§ËÏÏORñÏIqxNj¦’Ž—û¬‚ƒƒ¤®]»ªyóæ:wî\‰},X°@GU§N4iÒ$”§¤Z)<<\{÷î-pRvIÏÉœ9s- <Ø>Ÿç¤f+êxÉÓ¿Íœ9SíÛ·×øñãã°¼<£mùåÿýQ%íÔ$uK»BþïGêÝ»·ý~hh¨BCCíËF] }a·[¶l©wß}·´e Ÿ=zú½U%='cƌј1cìËyNj‡¢Ž—¼y=ôzè¡"×ÿè£Ê¼í¢~”GQû5WN0 ‚€I8õViþOÂõBCCù¤'œæê㥢·ïêýW"¸˜„SÁíÆ•]JÀˆ€I8Ü>üðÃÊ® VëÚµk‰mœ n›/õ-w1(Z´mœþÞ‡z5-G)•gí®TW—P%Juå„ê’ªk˜¨ ¥¾ä€šgë?~Sêu‚gî«¶ÛJƒãfBp ©t/Dey¡«êí¥Áq ³à’W#õô}¤Ï^ìãêR€Š neýëcác·WÄæk½²>Ž¥}Þø+@m“væk}µj¼²¯_U¿i_¸ºÀµ#nÑo|çÊÍ×<ŽP~—Oí“íÄûýôsGôÕêI2rstÏè7\Xð‹2·[š¹kiÄz÷ýñw-ìó½=ëiÁ¸Ûõáœú礮jÓÌ]MÖUüÿ»KuëX$IuÜ,ú÷´îjÒ°®}§¡Gý¿?uÔ†Ywë§ïRÈo½‹ìå=Ž[ÿñ=pŸ·ÖN÷Ñ[S»«ŽÛÏyQïÍëß|¿4Ï3˜ÝW«Ækß¿ÿ¢ÿ “$ß±B¹Ù×Ô¨ÅmjÒæ.×üW™‚ÛäÚk×·© _xXž ~ù|CÔíõñ¾Kú÷¯µv{Šžx°ƒÒ®fë»ä ýövOIÒ½·{ê»ä ¥]Ívèïà?iÄüCš¼ì¨nkÓ ÈþP¼Mê둘o´|K²Âú·–Tôã[’Ò<Ï`v-»ö—$¥%ÒᄹºðÝg’$¿Çâ]Yà LŸ*½«C#Í}û¸®få(ö?gØJ’ô›[«W×&šöÇŸ_ȳs IÒ–}—4à7Í´óHšþ¦™>ÞwÉ¡?¿®Môâû?èF¶¡/_W̺“Åö‡¢-ß’,IÚö—5sd'½¹ål‘oIJû<€™Ý5|¾2WœÑ•sGtöë ’$Ï–.® pT¦à–“kÈb)8ß0¤?={PiÙówMSTH;µ÷öÐímêïñ'nZ¯ðþ¢úCÉò?¤E=¾ùY,?¯“÷–¶TúçÌî·cWéÓç§Üìk’¤»†?ïâŠGez«ôàéúsŸVò¨ï¦‰ƒÚÚçï;–®ÐÀVr¯ç¦n9ŒÈ|ñMªfýOg}~Цœ\Ç ±ëHšúû6“{=7µmî®iÃ;ÛJ§¨Ç7ÏOY9 èî¥F¿ª£)CÛÛç—öy€šÀwÄBI’[]wÎmCµS¦àöÏ„3êy[c­}ÚG)—¯Û翲ñ”Ú{{hÝŒ»õÿþØAû¥Û—mÙI[xèãý¶ý-J8-ßNôît-w»Žœ¾Zbp^Qož7>JÖ”¡íõzÔ¯µýð/—5+Ëó fgítŸZû Qû߆ºº €2½UzÖvM“þù­ýþº]ç%I¶ôš¾òûB×ù.9£À7SçÝ¿š•£çÖþP`âúÃ/òÇÒ>¾yË7yQ›¿¼X`~Yžg¨ º…Ìqu @¡¸äIU÷Ë|‘3ª#ŽK˜Á @•]0› s£:⸄™p­R“ ¸˜D©Þ*}¨WÓʪ%p:¸­Ý•Zr#T§‚Ûš©*»”€sÜL‚à`|Y­ÖR¯c³¼|]uÙP—0‚I¥{!*Ë ]Uo( ŽK˜o•(ÑîݻեKµk×ÎÕ¥UŽãÕI¥·øøx 6¬ÐeüÕR±öïß/«Õªýû÷;Ì÷ÝwÕ«W/µlÙR¿ÿýïuèÐ!U3Ú»w¯BBB”žž®Ó§O»º Jqü£º©ôà­wÞy§²7I±±±òóóSll¬Ãü>úH‹/ÖÉ“'5räH=úè£.ªÕÝÎ;•˜˜h¿àÀ=øàƒÊÉÉQBB‚ë ªÇ?Ì LÁÍjµjÙ²eö‘´³gÏ*$$D­ZµRPPŽ;fowíÚ5µjÕJ’tüøqõíÛW·Ýv›–,Ybﯨõ׬Y£ž={ªE‹òóóÓÚµk˵³5Yzzº¶nݪ•+WjË–-JOO·/[¾|¹zöì)=ZÉÉÉ.¬ÕÙ< áÇkÀ€’¤˜˜eee©[·nº÷Þ{]\P¹8þaeqËÈÈкuë$IÓ¦MShh¨Nž<©ÈÈHM™2EÒ/'{æýœ:uªî¿ÿ~íÝ»×áDТ֟:uª/^¬ääd=÷Üsúä“OÊZn¯ÁƒËÛÛ[ƒV|||¡í6mÚ¤!C†Tqu0‹x@’ôå—_***J›6m’$}ñÅ®, ¨ÿ0ƒ2·üo·%&&*""B­[·Ö¸qã´wïÞB×Ù½{·þò—¿ÈËËK3fÌ(qý¹sçê‘GÑäɓեK-]º´¬åÖxqqq “$………)..®@›¯¿þZË–-Ó¼yóª¶8˜ÆŠ+äëë+IZ½zµ ÃP›6m\\P58þaen7¶ß¶X,JJJ’Íf“ÍfSJJJ¡ëÔ©SG¹¹¹æµ~xx¸öï߯€€EGGkÅŠe-·FÛ½{·Ž9¢€€Y­VõíÛWGŽÑîÝ»ím5kÖ,½ýöÛjÖ¬™ «Eu÷é§ŸÊÃÃÃ~Ÿw¨M8þQÝUȇíçìÙ³G…¶ëÝ»·^yåedd8Œ¸µþ„ ´k×. >\3fÌÐìÙ³+¢Ü'66VK—.µ_›Í¦¥K—Ú?¤°fÍ-]ºTo¿ý¶¼½½]\-Ìàßÿþ·$ÉÃÃs{Pëpü£:«à¶`Á=zT:uÒ¤I“Ph»ùóçë³Ï>Óí·ß®öíÛ—¸~ÿþý5sæLµoß^ãÇWLLLE”[£Øl6mß¾]C‡u˜?tèPmß¾]6›M“&MÒ–-[Ô®];Y­V¾†% ÔŸÿügMœ8ÑÕ¥UŽãÕY™®œpó7L·lÙRï¾ûn‰m;uêäðQë &»þC=¤‡z¨,%ÖV«Uß|óMùîîîöù—.]ªê²P¼öÚk®.pŽTW\ò €¤ªûBlF|Qq\Â,nªì‚Ù\˜ÕÇ%Ì„k•˜Á À$n&Ap0 §>œàååUÙu Œ¸˜Á À$ø7²X,¥^Ç0Œj» 48.a&7’J÷BT–ºªÞP—0 Þ*P¢íÛ·ËÛÛ[7vu)@•ãøGuRæàö¯ýKýû÷—$õéÓG…T†a¨mÛ¶:wîœ>ýôSuïÞ]îîî0`€~øáI¿²5_¿~ý4`ÀõêÕK’4oÞ©Ç{¬ì¢Ôò·¸¸81Baaaúþûï mß¹sgmݺUcÇŽUPP4a§¶•˜˜(Ã0”““£÷Þ{OQQQEùË_¤´´4)""¾ìÔ©SJJJÒüùó5kÖ¬Û™4i’”’’¢;wꫯ¾rªþI“&éÐÑ£GuéÒ%§ö©6ûÓŸþ$IÚ½{·Æ§õë×K’¾þúkW–T Ž˜‚Íf3l6›cäÝÎ?ïÌ™3Fa$¸÷³Aƒ†$ûT¯^½Bû@Å;räˆqÇw8ÌËÌÌ4^yå£K—.Æ¿þõ/Ã0 >g¹¹¹…ÞÎÿ<¶Þ‘#GŒ?ýéOFÇŽ_ýêW…®—ÿ¸¸|ù²a†qùòe£aÆÚæääئaF£FŒ¬¬¬óKªßÝÝÝHMM-ÐŽò?.÷ÜsÿßvíÚÛ¾¬Û©Œö@YTÕñ8£¨<–w»R>Uj±Xtá†!Ã0týúõÊØ ‘´-‡‡‡üqmß¾]QQQ…®—ÿ-ЛßÍÍÍ•¤BŸÇaÆé¾ûîÓ¶mÛtùòåëËë+77·Ð[7·ÂÉÒ|"ÿíºuëÚ· çüïÿþ¯<<<ì÷׬YãÂj€ªÅñê®R‚[ÿþýíçìØ±Caaa•±âæà6}út}ÿý÷ÊÈÈP||¼¬Vk©úkÚ´©Þ}÷]]¾|Y'N,°üܹs4hÜÝÝõôÓOKúù-ÒfÍš)##ám`` žþyeeeéùçŸW¿~ýœ®cèСzë­·”™™©ï¾ûNáááN­×·o_=ÿüóºzõªžxâ §·WÛmܸQÒÏ¡Ÿs{PÛpü£:«”à¶dÉ9rD^^^3fŒ‚‚‚*c3ȧwïÞ:wîœÎœ9£ûî»Ï>ìØ±zôÑGåå奨ØX­^½ºTý¾ð š0a‚|||4lذË_~ùeùùùéÞ{ïU·nÝäíí­ääd½ñÆ:t¨CÛþóŸÚ¶m›<==õÅ_hñâÅNí—$-^¼XŸ}ö™¼½½èô/ÓW_}U[¶lQË–-Õ±cG§Ö¬1cÆhÊ”)®.¨rÿ¨Î,6›Í~>‰ý摱¼ÛÛ´iãŠÚT‹ÅRêoŽ/MûªÞP—¨N.\XhË›Ç%¯Hªº/'æKQq\Â,nªlô€Q TG—0®U `7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL¢Øàæëë«5kÖTU-µÖÂ… åëë[l›ºÅ-Ì[yáÂ…W ðõõ-_ps¶T>Îq0 ‚€I؃›¯¯¯âââ\X ò‹‹‹s8eÍb³ÙŒ¼;Ð\RÝüY‡à€ê‹sÜL‚à`7“ ¸˜Á À$n&áTpÛ¿¿¬V«öïß_l;«ÕZªùÅõâÖ4hP‰mJ[@uäTp‹•ŸŸŸbcc+¼€òö½yóæ ® z*1¸¥§§këÖ­Z¹r¥¶lÙ¢ôôtû²ãÇ«oß¾ºí¶Û´dÉ’ç;ÛwÞh˜Õju¸÷sÙ²e6l˜Ã|IzóÍ7uÇw¨oß¾:~üxåEõyöìY…„„¨U«V Ò±cÇJzXª\‰Á->>^ƒ–···¬øøxû²©S§êþûï×Þ½{e³ÙJœïlßyëØl6‡Ûy222´nݺý%%%iß¾}8p ž|òÉ"·{sŸÓ¦MShh¨Nž<©ÈÈHM™2¥¤‡ Êz­Ò°°0{ƒÞ½{kÙ²eêÞ½»:¤‰'jÇŽ’¤Ö­[ëèÑ£òôô”ôó–Íf+rþÍŠë;ÿ:7ß>yò¤7nì°,›+W®èŽ;îйsç l»°ömÚ´Qff¦½M½zõ”’’"éç‹»¸ÂÍ×*­›w£°Ð¶{÷n9rDìÞ½[~~~ªS§Žrss l¤¨ù7÷Q\ßÅÉ mEÉÉÉQ½zõì÷sssåææ¦ëׯÚÞb±())IÍš5+°,ÿãP•òò›ý­Ò›C›ôó–.]jËÒf³iéÒ¥öôîÝ[¯¼òŠ2224cÆ ûzEÍ/MßV«Õ> –ÿvqfÏž­ŒŒ -Z´H}úô‘$5iÒD7nTjjª¦Njo›¿ÏÀÀ@ÅÄÄ(++K{öìQDDD‰Û¨laaa:pà€ý~±ç¸mß¾]C‡u˜7tèPmß¾]6›MóçÏ×gŸ}¦Ûo¿]íÛ···)j~›ÍVbß/¿ü²BCC%Éávqn¹åÝ}÷ÝJLLÔüùó%IsæÌQtt´üýý5xð`{Ûü}.X°@GU§N4iÒ¤£€Õý·¸¸8Þ¨fòg4®œ`7“ ¸˜Á À$n&Ap0 ‚€IÔ-¹Ií–w)0ð³ºu+/>øøøÈÇǧÒú7;‚[1òBÛÍWx ¶êܹ³-Z¤¨¨¨JéÑ¢E’Dx+Á­y¡­sçή.€ZaÈ!JHH ¸àÊ$77×Õ%Ô:7P&·ªGpe’““ãêj ÿ:«Õª-[¶8ܯ­,‹«K ÒäææVø„âUÊ÷¸Í›7O†aTF× š0 £Â'¯R‚[ff¦Ö¯_ï0/$$DV«UÍš5“6lØ éç¹9sæ¨cÇŽZ½zµ&Nœ¨.]º(!!A’töìY…„„¨U«V Ò±cÇì}Þÿý•Q~‘,‹^{í5µlÙR;wVvv¶$éÌ™3 ”»»»î½÷^%%%ÙGÛòÿ,lÝÀÀ@Y,¹¹¹©C‡Z»v­½ýÓO?­¦M›*66V£GVóæÍµnݺ"· @U*.€5lذȉàVv•ܦOŸ®gŸ}ÖN$éƒ>ÍfÓÅ‹µråJ=õÔSöe;vÔºu륀€ÅÇÇë‰'ž$M›6M¡¡¡:yò¤"##5eÊûz~øae”_¬S§N)))IóçÏ׬Y³$I WZZšž|òI=öØcöƒ/ÿAXغ‰‰‰2 C999zï½÷¾§sçÎÚºu«ÆŽ«   %$$h„ En€ªT\KOO/tôôt‚[9Xl6›!Iqqq +w‡V«U—.]R`` }ôQMžœPA*-¸IÒÌ™3í·Ÿ}öY+((H]»vUóæÍuîܹûX°`Ž=ªN:iÒ¤I °/8p`¥Ô]ZK–,Ñ‘#Gäåå¥1cÆ(((H’ôÆo”xÓ—_~Y~~~º÷Þ{Õ­[7y{{+99¹ÌÛ ªð©ÒªWáç¸Õ$7Ÿã~9Ç­°S|Ê+55•sÜn’?£qåP&ŒU=‚(“ü_û…ªAperãÆ W—PëÜ@™0âVõ*õS¥fçëëk¿4øÅ‰'*å"ó òññqõîU[Œ¸Ã××W’´páBW@õQ·n]û5Å+šÁ­·øúúÚ€+ñV)€IÜL‚à`7“ ¸˜Á À$n&Á÷¸•àÀ:pà€«Ë VàûS‹Gp+F^h1b„«K VX³f$ÞŠ@p+F^hkÓ¦«K VˆŽŽÖÂ… nEà7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“àÊ  F8xð <èê2JÅÇÇG>>>N·'¸ÓË mQQQ®.¥T-Z$IN‡7Þ*¦gÆÐ&IC† )Õ(!#n ÆÈÍÍuu •Šàj ‚€Iäää»|ó¹M:‘}Bnnn2dȰä꣆µ^E–Á Ô%¸Î:­íêšqMyÿH9`š‘:‚¨1 Ã(vy®‘««Ù¿7Ë5åæä”¸^uQ¡Ÿ*íÖ­›®]»æ0ïÚµkêÖ­›l6[‘ëY­ÖŠ, PF®¡ŒW•‘ýßéÆUåä87Ú¶oß>5lØPûöí+¶]Æ K5¿4*4¸ùûûkÆ óÖ¯_/¨t†a;åæä*ãFÆ/Sv†rsrK\Ï0 -_¾\½zõÒòåË‹mWT…Í/­ náááŠu˜«ððpIRHHˆ¬V«š5k&Ÿ!ïæp—wÿìÙ³ Q«V­¤cÇŽÙÛÜÿý¹  †xáëùZ{2^oŸX­UÇÿ¥¸c+Ô¨N#eÞÈüŒëú<-QÛü¸Ý_}wú+`¿f˜áÐWzzº>þøc­^½Z}ô‘ÒÓÓíËŽ?®ßýîwêСƒ/^\âüò¨Ðàæçç§+W®èÈ‘#’¤Ã‡+==]~~~’¤>ø@6›M/^ÔÊ•+õÔSO9Õï´iÓª“'O*22RS¦L±/ûðÃ+r€‰åÍj\¯±noÚU·6¹UwT»FíÔÌÝKׯ*óúUýt-]ýø¡¾ÈܦoÕ‘&ßêpó#:Üò°þ÷ú^‡¾V¯^­!C†ÈÛÛ[C† ÑêÕ«íË&Ož¬Aƒiÿþýºt钽ޢæW›7I ÓŠ+$I+V¬PXX˜}YRR’ÂÂÂÔ£G >ù±^:ô‚>OþTn×-²üwÊ»­‹C_+V¬Pxx¸ ÃPxx¸V¬Xa_¶sçNEFFªiÓ¦š5k–½Ž¢æ—'¸Uø§JGŽ©ûî»OO=õ”6mÚ¤¿þõ¯öe£FÒèÑ£5oÞ<5oÞ\­[·.°~nn®ÜÜÜtýúuû<‹Å¢¤¤$5kÖ¬¢Ë5Tjæ%ed_Ufv¦~H;¡ïÓ’t,õ{¶}£œ:9Ê­oÈRß"Y Y$é¿ÿw“dÉ÷up»víÒáÇջwo‡þwíÚ¥^½z©N:…~HQóË£ÂGÜ<==¬Ñ£G+88Xžžžöe))) Výúõ5wî\IŽÛmÒ¤‰6nܨÔÔTM:Õ>?00P111ÊÊÊÒž={QÑe€ ÿhÖ—g¿Tħ4åóH½´ïy­?ö¾]:¨#GÊV!#múå~Ž›½Ÿ7ß|S¯¿þºÒÒÒìÓ믿®7ß|S†aÈßß_111ºzõª¦OŸn¯£¨ùÕê­Réç)ìÝ»×þ¡„<Ï>û¬‚ƒƒ¤®]»ªyóæ:wîœ}ùœ9s- <Ø>Á‚:zô¨:uê¤I“&) À¾làÀ•± À„ò‡¢Ð.£ôûfÁÐü~ j¢A-Bt§G·_ÿ7¼uͺSX†jh΃zðÚP ûéAj1ÚÞÏ_|¡¡C‡:ô=tèP}ñźté’žþy}ú駺õÖ[Õ®];{EÍ/Op³Øl6C’âââÎGÃÏɈ#Ô¦MW—@­±páÂRg’U«V)**JiiiŶ›õù3zûÜ*IRƒº ÔÌ£¹ü›èïþÏ–µÜr±ÙlJHHШQ£Šl“?£qåPc”8Š•ûór/w/µ÷쨖 Zª‘¥a±ëyyyÛååË—K]gYÜ@­Rß­¾Ú5n¯ÎžÕ¾qY2,Ŷ¯Ê`V‚¨1œ9oÌËÃKÍå­[µQç&·*實¹V)Á Ô%°ÞmúèÔÑSjr£‰n¤_×ùÜóò®çMp¨jÙÙÙÅ.ï×!Hý:•z½ê‚àjŒ7n¸º„JEp5†YFÎÊŠàLÏÇÇG‹-Ò!C\]J©$$$ÈÇÇÇéö7`zyá'!!ÁÅ•”ŽÁ Ô>¥ AfT)×*@Å#¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸Ã××WkÖ¬quÔ .”¯¯¯«Ë¨¶¸äU1òœ… º¸j___‚[1n%àÕo•˜Á À$n&Ap0 ‚€Ið©Ò>>òññquÕÁ­y¡-**ÊÕ¥P+,Z´H’oEà­ÒbÚ¨ZC† á®b0âæ„ÜÜ\W—@psÁ €’-Y²DQQQÊÎÎvu)5ÁÍ 999®.Óàu³ò8ÜRRR´uëV§; VË–-Ë\TuÈÎãu³ò8ܶnݪž={:ÝéÖ­[5jÔ¨2U݆áê0 ^7+ÓŸ*µX,ENÔ AƒÔ¿Y,–bûéÖ­›®]»æ0ïÚµkêÖ­›l6› TìúyË­Vk¡Ë‹š_>ÿüsÝsÏ=òòòRHHˆNž<)Ijذa•l¿aÆúè£îW…åË—«C‡êر£V®\Y`¹ÍfÓm·ÝVèó|Ûm·Éf³ÙwUífäô9nnn…g¼C‡)22R‹EÛ·o/±mذA#FŒ°Ï[¿~½üýýeµZµyóæb×/iye(ê/‡±cÇjÖ¬Y1b„RRR´jÕ*=óÌ3Å®SÑæÌ™£ØsUlwúôéúøãåîî®~ýúi̘1˽¼¼Ô§O½ÿþûúóŸÿlŸÿÞ{ï©OŸ>òòò*¶NþRsã÷xåqzÄÍÍÍM_ýµ¾üòK¹¹¹ÉÍÍMß}÷"##•““£eË–Ùç'<<\±±±óbcc.é—³5kÖ¨gÏžjÑ¢…üüü´víZ‡å’ôæ›oêŽ;îPß¾}uüøq‡>Ïž=«µjÕJAAA:v옳»Z€a…N999úõ¯-uèÐAÓ§O·¬¯¿þº:uê¤nݺéÆ2 C§NRPP¬V«‚‚‚têÔ)]ºtIwÞy§²²²d†’““ååå¥ääd†¡¬¬,ÝyçºtéRíKRff¦Þ{ï=û}Ã04pà@5jÔH7ÖwÞ©÷ß_†a¨Q£Fš5k–n¹å½õÖ[zôÑGÕ¾}{mܸQ†aèÌ™38p ¬V«ôý÷ߺßwÞy§rssõÎ;ïÈ××·Ð6ãÆÓòåËæ-_¾\ãÆ+¶Æ¼}hÔ¨‘úy÷­‘‰‰‰‰©ê§¢^75jTäTT(\©‚Ûĉ©±cÇÊÍÍM±±±ºv횺t颻ï¾Û©àæçç§+W®èÈ‘#’¤Ã‡+==]~~~í¦NªÅ‹+99YÏ=÷œ>ùä“}%%%iß¾}8p ž|òI‡eÓ¦MShh¨Nž<©ÈÈHM™2ÅÙ]uÚÒ¥K5fÌMœ8±@p<}ú´¾þúkÍ;Wÿûß%IÑÑÑ Trr²õÄOØȺuë$Io¿ý¶4h øøxIÒû￯¾}ûùðŒ3ôüÃá£×~ø¡ÒÓÓ•––¦U«V9<6:uÒÆ5iÒ$êÝwßÕã?.Izâ‰'4jÔ(%''ëñÇWddd¡Û|àÔ¯_?¥¤¤èwÞ)´M¯^½tåÊ>|X’ôÍ7ß(==]½zõ*±Æâ8[# úHOO/Õ|­TÁ-88X’ôÿ÷úûßÿ®ÄÄDI?Žå…¶’‚›$………iÅŠ’¤+V(,,¬@›¹sçê‘GÑäɓեK-]º´@›ùóç«aÃ†ŠˆˆÐ®]»–%&&*""B­[·Ö¸qã´wï^gwµ€¢þ²ÖW_}¥»ï¾[Æ ÓÛo¿mÿkaΜ9jÔ¨‘†ª˜˜†¡mÛ¶)22RîîŒÔ¶mÛd†Æ¯×_]†ahÕªUzíµ×´jÕ*†¡×_]ãÇ/ò/›aÆ©AƒZµj•½Ö£GjôèÑêÞ½»¨óçÏÛÛ‡……©G’¤ÐÐPõìÙS/^”aúì³Ï4qâDy{{+,,L{öì)°Í%K–hË–-zî¹çT§N>}Z÷ß¡õ;Ö>ê¶|ùr;Ö¾¬¸óÿÌ¿¯ÎÖÈÄÄÄÄäš©¸×Í+W®8¼¶^¹r¥Ø>P¸R·^xA¿þõ¯%I6lajÕª•Chs&¸9R ºpá‚6mÚ¤‘#Gh®ýû÷+ @ÑÑÑö W˜œœÕ«WÏažÅbQRR’l6›l6›RRRœÝÕŠ;HÝÝÝ5aÂ}üñÇzòÉ'í]Þò›Ï=ËÉÉ‘aöŸ†aØßn\ºt©š6mª!C†ÈÓÓSK—.•ÅbÑÝwß]ìÁ=sæLÍŸ?ß¾¼@öÑGÙ?0‘¿®üû•ÿ¶ÅbÑñãÇ•––¦´´4{ Ë?ýíoÓªU«4qâDõìÙSÿó?ÿ£ˆˆˆBë9r¤>øà¥¤¤(!!A#GŽ´/s¦Æ¼Ç(ïCÎÖÈÄÄÄÄäš©¤×Í´´4IRZZZ‰} p¥ nnnnŠ—»»»}þ‹/¾Xêàæéé©àà`=ZÁÁÁòôô,Ðf„ Úµk—†®3fhöìÙÚÌž=[Z´h‘úôéã°,00P111ÊÊÊÒž={áì®:möìÙ:~ü¸ý<3//¯bÛ÷éÓG/¿ü²²²²ôòË/+ À¾ì±ÇÓ3Ï<£‡~X’ôðÃë™gžÑc=VbøÃÔ®];ûýüQ Pýúõí›3ÿúõë§—^zI™™™Ú½{·&MšT M«V­ôŸÿüGª_¿¾®_¿^èó'ýü<0@£FÒ€Ú•Tc“&M´aÃ¥¦¦*::ºT5ª¯¼ð†²)Ó×,Z´H’äîî.__ß_âŒððpíÝ»×þ¡„›õïß_3gÎTûöí5~üxÅÄÄhsË-·èî»ïVbb¢}Ä)Ï‚ tôèQuêÔI“&MrI¥UÔ_£FRdd¤Ú·o¯U«Vé7Þ°‡›ÿz0 C/½ô’vìØ¡¶mÛjçÎzñÅím|ðAµlÙRÇ—aúãÿ¨–-[jèСÅþU’w{Ö¬YöûóçÏWPPÕµkW5oÞ\gÏžuh_Øí¼Ç¬C‡š0a‚ lóÕW_ÕܹsÕ©S'%&&ê“O>ÑÂ… ‹¬1<<\{öìQxx¸Ãü’jœ;w®&Ož¬^½ziÈ!¥ª‘‰‰‰‰É5SI¯›¥é…³Øl6C’âââ =×L’V­Z¥   ‡yÓ§OW‹-FCò|òÉ'5â xW­Z¥¨¨(¥¦¦ºº”j-++K®.àbo½õV¹_7/_¾¬„„„‘#*JþŒVæïq{þùç+´(˜¡ €ªáTp .õµJk†np¯›•Ç©àÖ²eËZ=dÉ€óxݬûl·RS¯È0¤&Mé÷¿ï¥NÚ©I“Æ•²ÝêŠàÊ­2FÜvîܧ×^[­K—~ÒwÞª&MËb‘’“/iæÌEjذ®""FÉßÿÞ ßvuEpåf{éówÞÙ¬%Kâ5hPýá}Õ½{g5lX_‹týz®¾ýö”6múT³f-Ö¸qêᇬÐíWW|ªT+»ví×+¯¼¥#Ôÿx¿š6m¨cÇÎèàÁcúúëc:|ø„êÔqÓðáÐcÖ?ÿù޶oÿ²Ð¾/^¬6mÚ¨GúòËŸÛ4lذ*w§BÜ@¹†Q!ÓO?eèµ×VÉÏï·ºë®;•–vE;¶aäêÔ©9sAÇ'ËË«¡š6m _ÿú6 ò-^ü/ýôÓU‡¾Ö­[§•+WêóÏ?×Ö­[õþûïÛG+ªÞŠœœApÕÆ÷ߟÔéÓÕ¥Kg]¼˜*_ßÛäáá®®];ÈÝÝ]çÎ]”¯oÝrK3µlé¥ï¿?©ë׳uòäúî»}½úê«zá…të­·ªY³fš7ožÃòÓ§O+((HV«UAAA:}ú´$)>>^wÝu—š6mªž={êwÞ‘$%''kàÀ²Z­ бcǪæAɇàÊ­¢F¶mÛ+«ÕKÙÙ9:qâ´6lØ®ÌÌëòð¨§>}ºkÀ€ßªsç[$I11«µrå»Ú½û+†¡ÄÄÝ}:tH¿ýío Ù2 CS¦LQ`` ’““¨èèh†¡É“'kéÒ¥:þ¼žþymݺU†a(::Z£FRrr²üqEDDTùˆNÕFzúUY,]¸pQ×®]שSɺxñ’ÂÃPãÆjß¾… CzñÅ•zï½T¯^Õ­[O¿Ò•+?èÏb±¹­/¾øBo¾ù¦<<<¥Ûo¿]’4oÞ<=üðÃ0`€f̘¡7ÞxC’”˜˜¨Í›7kâĉ’¤zõêUÂ#P^5j «WÓuéÒ%?A5Ô”)ëÖ[ÛÈ0¤ôô,5nì¡9s"Ô§Ÿ®_¿®:uêèÚµL5nÜÀ¡¯©S§êé§ŸÖ©S§tþüy=óÌ3Á­OŸ>Z¸p¡233µpáBÈ0 =úè£Ú±c‡†®Y³fé¯ý« ÃP¿~ýôâ‹/*##C»víÒĉ n öêÓç]»–¥ììl5iâ©gŸÖw¶—$Åļ¥9s–(55Sžžš7/R¾¾wéÆºv-S~} 8P=ö˜¢‡zÈaù‚ ´cǵmÛV;wîÔK/½$I ÖŒ3Ô¦M7N/¿üò·££GªC‡š0a‚úöí[ˆ#ÎqåæìˆQI:wn§Ûoo¯ ®ÊÝÝ]ß~ûƒ:tðÖ²eïkË–ÊÉÉÑ+¯¬ÒSO=¢ãÇÏ*3óçwûííuë­ ÔñðÃëá‡v¨355U†a¨]»vÚºukýx衇 „<Ã0Ô²eK½÷Þ{•²ßÎ"¸€j£aÃzôÑzúé5oÞ\7&jïÞCJJúA-Z4—ÅbÑ‘#ÇôÒKoéÂ…T¥¥]‘Íö£žyfº5j`ï§iÓ¦En#55µ*v¥RÜ@¹UäÈS¯^¿Ñ_þòg½ñÆ{2Œ\Õ©cQÛ¶­tãF¶,©nÝú:Þ¦S§N野)*j´üýïu¨áòåËURkU#¸€jgäÈ!jÛ¶µ–/×—_îUóæÞjÞÜ[¹¹†.^<¯óçSÔªUSÍ›­>}~ëêr« Á ”[eŒbýîw¿Q÷î·ëĉÓÚ¶m¯~ú)C†‘«ÎïPß¾cÔ¹s;yz66õZiÜ@¹UVxjܸ¡||ºÊǧk•n·º"¸€rËÎÎvu µÁ ”Û7\]B­@påÆˆ[Õ ¸€2óññÑ¢E‹4dÈW—bz òññ)¶Åf³Õ®³ú@…:xð <èê2LÏÇLJàPSp‘y“ ¸˜Á À$n&Ap0 ‚€IüËôâ†Ó$ÝIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/dialogmodel.png0000644000175000017500000004145513634703632017433 00000000000000‰PNG  IHDRnLr$0³ IDATxœìÝy\VuþÿÿÇ…)äÎåfâ’™ј…#" ⸑i“6¤Z.¤döËÔ¾jãV‰™Nj™à'MÔ)M±E³¬Ü§”tFsH  —K–Tàüþp8qÉŽl>ïÝN\×YÞçu®säzò¾Î¹ŽÅf³ˆˆˆˆHµçTÕˆˆˆˆHÉ(¸‰ˆˆˆ87¡à&"""â JÜ8€ÕjåÀvã­VkoÔ·oßbç)Hiç©ÉJÜ¢¢¢ðöö&**ªL+ùä“OÊ´œˆˆˆˆü¦Øà–––ÆÖ­[Y±b[¶l!-- ø­7ÌjµÚ=Îý¹téRh7à½÷Þãž{î¡G?~<ßôÂÚNHH AƒvÓòΓššÊ=÷ÜÃÙ³gíÆ6Ë–-ÉÈÈ0ç©]»6IIIDEE1{ölzöìɤI“hÕª•9Ottty¾V""""•ÊËË ///óùm¹ m{öìáÈ‘#øúúÚ5²gϼ½½‹\Qnh+Lvv6µk×6ŸçääàääÄÕ«W œßb±O“&MìÆ‡„„0xð`6mÚDDD}ûöeĈvÛ""""âhr;¡rÛùQé¡ ®_”°dÉóãP›ÍÆ’%KÌ‹¬V«Ù –÷qQ¦M›Fzz: .¤{÷î4jÔˆ7’œœÌ„ Ìyó¶éççGdd$™™™ìÝ»—ÐÐPFÍîÝ»4h“'OfÚ´iexYDDDDªŸàà`âââÌçEžã¶cÇ `7nÀ€ìر›ÍÆ›o¾IPP€Ýã¢ÜqÇÜÿýlß¾9sæ0}út"""ðññ¡_¿~æ¼yÛœ7oG¥mÛ¶Œ;ÖììÙ³'S¦LÁÃÃQ£FY’×ADDDÄá˜ç¸EGGë£E‘j&oFÓDDDD„‚›ˆˆˆˆƒPpq n""""BÁMDDDÄAÜVÜ ¹_Ì+""""çÆ»$¤Èà–Ú\®…‰ˆˆˆˆ½µk×ÞŠ nƒ¦nݺå[™ˆˆˆˆØ‰ˆˆ`þüùE7ã&"""â ÜDDDD„‚›ˆˆˆˆƒPpq n(::WWת.CDU/å½þªÞ‘ª¤à&"""â JܬV+[¶l±{.U£S§N\¹rÅnÜ•+WèÔ©6›­Ðå´ÏnMÅ/}ûö-rùµk×Ò¹sgZ´hÁ Aƒ8uêT©k(Ïße=þEDY™zÜfΜ‰aå]‹”’ü±Ý¸ 6àãã£p&ùw¼|òÉ'E.ÿÅ_°lÙ2Nœ8A`` £F*SåõûCÇ¿ˆÜŠÊÜ222ذaƒÝ¸ÀÀ@¬V+Mš4ÁÓÓÓü…jµZ™>}:mÚ´aÕªUŒ3†öíÛ À™3g ÄÝÝŽ;v“›të !**Ên\TT!!!@áû$×on¹ÏµOj¦âŽ—ÜýŸÛ³Ö¼ys¼½½Y·nï¼ó<ð...øøøpèС2ÕQÐï²(n{DDj¢2·I“&1kÖ,²²²Ìq›6mÂf³qáÂV¬XÁ‹/¾hNkÓ¦ ëׯ'<<___bbbxþùç˜8q"AAA$$$Æøñãor“nÞÞÞ¤¦¦räÈ>LZZÞÞÞ@Ñû¤(Ú'5SqÇK® &°hÑ"™={6Û¶m³›~õêUÂÃÃyë­·ÊTGA¿?Ê¢¤Û#"R“”)¸=öØcÔ­[—Õ«W›ãâãã æ _¿~œ?ÞœöôÓO›·o ¢sçÎ\¸p€íÛ·J‹-9r$ûöí»™í¹å³|ùr–/_Npp°9­¨}R퓚«¨ã%׌3xúé§7níÛ·gÉ’%vÓ§M›Fhh(ƒ *S ýþ(«’lˆHMR¦àf±X˜ž5køûûÓ±cGš6mÊÙ³g‹mcÞ¼y=z”¶mÛ2vìX|}}o¦¤[RHHûöíËwRvqûdúôéDDDàããC¿~ýÌñÚ'5[aÇK®ž={2eÊ<<<5j‘‘‘vÓo¦·-¯¼¿?nFqÛ#"R“ÜVÚò~?R·nÝÌçAAA™Ó† –oþ‚»¹¹ñÏþ³´eH<ð@ß[UÜ>>|8Ç7§kŸÜ ;^rÇ=ñÄ<ñÄ….ÿÙgŸ•yÝ…ýþ¸…mˆHM¤;'ˆˆˆˆ87Q¢Jó^q(U/((HWzJ‰UõñRÞë¯êí©J n""""¢DÁíÚµk]‡ˆˆˆˆC=n""""¢DÁíÓO?­è:DDDDni;v,vž·O.ö¸ébDDDD¤p%˜§Ä_ÀûDׯ7QJÅY·;¹ªK©¥ºsBu IÕ5LŠˆˆˆT„RßòJDjž­ÿC©— ˜²¿Ú®G¤4t\Š#Qp toDey£«ìõˆ”†ŽKqºå•ˆˆH’OÅñu¤?_½Þ½ªK)ŸàVÖ¿>æ?Û¡ºGs|çrr²®P¿ùÝ4jy_U—'”±ÇmÜ£ìþ1™ù‡iX÷·ìþ¨Ÿï¿È€W`ÝŽ$ž¬5)—³øob:uh@— ùob:)—³ìÚ;øó¯ žsˆqKrw˺…¶';{é ÿ_TÎåÌl¢¾8CŸ;¸«];6bâã×ßè³² ¶ì¿H¯?4aבzÿ¡ Ÿï¿hמwÇF¼þÑÏ\Ë2øåÒU"×'Ùžä·ù_°X®?Þ²ÿ" 4ªw}÷zµkÀœu?s5+‡wžcõ‹×ÿr,í~©Éî4‡Œå§I={„3?| €KC·*®JÄ^™‚[vŽa†„¼ þ2ë )éYvã÷M!<°Í\èpg=^9qÃrƒÂÚ“‚å}o|I-ÿÛa‹ÅÜw¥Ý""5ÝC#VòåÜ?’“uýôûÍ­âŠDì•é£Òƒ?§ñdww\ê81¦ïæøýÇÒòsǹ¶Z×·ë±ùö?ÉLýk;¾>h#;Ç>Uì>’BO¯&8×vâΦÎLÔºÈö¤t~8‘Æ_7êÜæÄ_7⎧¥ß""·¯ÁópºÍYç¶IµS¦àöØÓt¾»ë^ò$éÒUsü‚'ñhæÂúÉ÷óÿ=ÞšÇÒÌi[\¤Ms>?`Ë×ÞÂØSxµ­Ï?'y2odŽœº\l{Rrom:…g›ú|<õ~îk]Ÿ…±§€²íG‘šÎÚöaZxöÇã¡ ª.E$Ÿ2}TzÆv…±ÿøÑ|¾~÷9liט´â§—ùobz¾o¦Î}~93›Ùë~ηLQíÉoò¾®=Nºt•ç–Í·\i÷£nñ""·ŠNÓ«º‘é–W"TÞ,닜¥:Òq)ŽBÁMD*­7U½¶Ré¸G¢{•Šˆˆˆ87QªJŸèÚ¸¢ê‘b”8¸­Û\‘uˆˆˆˆH1JÜÖNh[ÑuˆˆˆˆH1tŽ›ˆˆˆˆƒPpqú7Ájµ–z›-ÿíëªËzDJCÇ¥87J÷FT–7ºÊ^Hiè¸G¡JE¤X{öì¡}ûö´jÕªªK©t:þ¥:©ðàÃÀ œ¦¿ZÊ×°Z­8pÀn|JJ sçÎÕë-e²oß>IKKãÔ©SU]ŽH¥Òñ/ÕM…·ˆˆÖ¬YSÑ« ** ooo¢¢¢ìÆwêÔ‰cÇŽUQUâHvíÚÅöíÛÍçqqq<öØcdgg…‰TÿâÊܬV+K—.5{ÒΜ9C`` îîîøûû›!ÁjµråÊÜÝÝ8~ü8=zôàî»ïfñâÅf{…-¿víZ:wîLóæÍñööfݺu7µ±5YZZ[·neÅŠlÙ²…´´4sÚéÓ§yçwª°:q>ú(ƒ ¢W¯^DFF’™™I§NèÒ¥KW'R±tü‹#(s[zz:ëׯ`âĉ‘@XXãÇ~;Ù3÷ç„ èÓ§ûöí³;´°å'L˜À¢E‹HLLdöìÙlÛ¶­¬åÖx111ôë×f͚ѯ_?bbbªº$q@>ú(ß}÷ááálÞ¼€o¿ý¶*Ë©:þÅ”9¸=óÌ3æãíÛ·J‹-9r$ûöí+p™={öð·¿ý WWW&Ož\ìò3fÌàé§Ÿfܸq´oßž%K–”µÜ/::šàà`‚ƒƒ‰ŽŽ®ÒzÄ1-_¾///V­Z…a´lÙ²Š«©:þÅ”9¸5hÐÀ|l±XˆÇf³a³ÙHJJ*p™Zµj‘“““o|aˇ„„pàÀ|}}‰ˆˆ`ùòåe-·FÛ³gGŽÁ×׫ÕJ=8rä{öì©êÒÄ}ùå—¸¸¸˜ÏõïNn%:þ¥º+—‹üüüÌsöîÝKhhhóuëÖ žžn×ãVØò£Gf÷îÝ 4ˆÉ“'3mÚ´ò(·Æ‰ŠŠbÉ’%fðµÙl,Y²$ßE "%õÁàââ¢s{ä–£ã_ª³r nóæÍãèÑ£´mÛ–±cÇâëë[à|sæÌ᫯¾¢C‡xxx»|Ïž=™2e Œ5ŠÈÈÈò(·F±ÙlìØ±ƒØ0`;vìз{K™øùùñä“O2f̘ª.E¤Òéø—ê¬LwN¸1 ¸¹¹ñÏþ³ØyÛ¶mkw©õèÑ£‹\þ‰'žà‰'ž(K‰· «ÕÊþóŸ|ãóWˆ“Òxûí·«º‘*£ã_ª+ÝòJD€ÊûBl}´TG:.ÅQ(¸‰H¥õƪ×Wª#—âHt¯R¡à&"""â ÜDDDD„‚›ˆˆˆˆƒ(ÑÅ ®®®]‡ˆˆˆˆC=n""""BÁMDDDÄAè{ÜD‹ÅRêe è¶ë) —âHÜD(ÝQYÞè*{="¥¡ãR…>*‘bíØ±ƒf͚ѠAƒª.E¤Òéø—ê¤Jƒ[qµè¯š’ùàƒèÔ©uêÔáÁ$..Μf±Xؼy³Ýs€•+WÒ¡CêÔ©Ã}÷ÝÇ_|@\\÷ÝwÎÎÎôíÛ—äädÎ;‡ŸŸÎÎÎøùùqîÜ9»–/_®ýUCíÚµ‹Gy„ÔÔTÒÒÒªº‘J¥ã_ªõ¸Õ›6mbùò夤¤0|øpþú׿ÚMŸ2eJ¾>ûì3bbbHKKcêÔ©<õÔS<óÌ3Œ;–””|}}yå•W˜:u*~~~¤¦¦Ò£G¦Nj¶•ššÊœ9s*x+¥2|óÍ7lݺÕ|þý÷ßÓ³gO²²²øú믫°2‘Чã_A™‚›Åbᥗ^¢qãÆDEE1lØ0š6mÊúõë8yò$ݺuÃÙÙ™nݺqòäI~úé'xàš5kÆüùóÍöNŸ>möætéÒ…øøøb×ÿöÛoãææF»víÈÊÊÀÏϋł““­[·fݺu%ª·´ë¯nV¯^ÍÃ?Ìí·ßÎÈ‘#9uê”ÝôŒŒ Ö®]k7nåÊ•üáÀb±àââBÓ¦Møá‡ÆÅÅ…1cưiÓ&àzÐ=z4ÎÎÎŒ=šÏ?ÿÜlkÆŒŒ=º‚·R*Ã#ú(GåâÅ‹f[¡¡¡„„„’’ /¼À³Ï>[ìúOž®[·®qéÒ%Ã0 ãÒ¥KF½zõ Ã0 ggg#999_;uëÖ5s¨]»¶ÝôÂÖo†‘m>?räˆñ—¿üÅhÓ¦qûí·›ãKRoAëw4ßÿ½ñÐCçÏŸ7ÇFNNŽáååe¼ûî»ù^ÓôôtcÞ¼yÆC=d†aüë_ÿ2î¹çãöÛo7Fm¸¸¸†aµk×6²²² Ã0Œk×®™¯QŸ>}ŒÍ›7›ëÇ”wß=øàƒvÿZµjUäüe]OEÌ/R•uü‹”Day,÷ñMã–÷dôOLÏÉÉ1ÿ;¿ê¶Ûn3ÇߨÎùóç1 Ã0¸zõj¾é¹Ãœœ~Û„òðÃóÍ7ßpéÒ¥×[ÜúÁÖ­[™0a7n4?öÌe±XøûßÿÎŒ3ò-wûí·3jÔ(ó‚†|ü‘ôôt^yå<<<¸ãŽ;øå—_HJJ¢eË–|úé§ôë×Ï|=u‚ãû׿þ…‹‹‹ùüÆÙEj2ÿRÝUÈÅ ~~~Ì;—ÌÌLæÎË#<@=˜;w.—/_æùçŸ7çïÙ³§y.ÁÎ; ¶k/7PÅ|ÏÎÙ³géÛ·/ÎÎμôÒKæ²Å)nýÕÝÊ•+Y°`›6mÂÍÍ­Àyúõëg†0€áÇsèÐ!._¾ÌܹsÍó7FŽÉñãÇIOOgÉ’%<þøãÀõ×hýúõdggóÎ;ïäß7%y½¥úÛ¸q#...:·Gn9:þ¥:«àöüƒo¾ù†† òí·ß²hÑ"Þzë-¶lÙ‚››mÚ´1ç_¼x1GŽÁÕÕ•áÇãïï_¦õ¾ùæ›x{{Ó¥K:uêD³fÍÌs±ŠR^ë¯*ÇgóæÍ4hРОI¸~¢m.üq\]]Ù±cÿ÷ÿ@—.]ðññÁÝÝÄÄDóüÁ¿ÿýï¬]»–† ²mÛ6^}õÕŠß0©2 >œñãÇWu)"•NÇ¿Tg›ÍfDGGçëiŠŽŽfðàÁæÇb"R3Y,–Rs|YzW+k="¥¡ãRª“ùóç˜ÇrÇé–W"TÞù‰:Rª#—â(ÜD¤ÒzÔK!Õ‘ŽKq$ºs‚ˆˆˆˆƒPpq n""""BÁMDDDÄA”èâ„‚îB """"åÇÕÕµØyÔã&"""â ÜDDDD„¾ÇMD°Z­¥^Æf³UÛõˆ”†ŽKq$ n"”î¨,ot•½‘ÒÐq)ŽB•ŠH±öìÙCûöíiÕªUU—"RétüKuRæàÃÀèÛ·/ ¿Bª Ã0èÔ©IIIåÒ^qûµ$û=·¦üãtíÚ777þô§?qèÐ!»v¶lÙ’¯Ýµk×Ò¥KÜÜÜèÖ­_ý5‡¢[·n¸»»3xð`RRR8þ<¸»»ÈùóçíjYµjU…«5éß¾}û $--S§NUu9"•JÇ¿T7en¬Y³€O>ù¤Ü ’›÷ý÷ßsÇwàææVÕ¥˜rk:pà‹-"!!!C†ðÌ3ÏØÍ7sæÌ|÷ ܶmË–-ãäÉ“Lœ8‘Q£F0nÜ8FŒABBüã™={6³fÍÂÇLJ„„ºuëÆ¬Y³Ì¶ÒÒÒxóÍ7+xk×®]»Ø¾}»ù<..ŽÇ{Œììlbcc«®0‘J ã_A™‚›ÕjåÊ•+¸»»›Ïó:sæŒÙãáïïϱcÇn¾R)±Í›7Ó¯_?¬V+Ó§O§M›6¬ZµŠ1cÆÐ¾}{óÐéÓ§éÝ»7îîîôîݛӧOpüøqzôèÁÝwßÍâÅ‹Ív‹Û¯k×®¥sçÎ4oÞoooÖ­[—¯¦e˖ѹsg\\\6l‰‰‰vmddd°aûqK—.åþûïÇb±àììloÿþ÷¿ ÂÙÙ™>ûì3àzÐ ÆÙÙ™àà`¾üòK³­×^{àààB_»ò~ÍÍ£>Ê AƒèÕ«‘‘‘dffÒ©S'ºtéRÅÕ‰T,ÿâÊÜrOâ,ìdΉ'DBBaaaŒ?¾ìJ©å†$€6mÚ°~ýzÂÃÃñõõ%&&†çŸ€^x=z@=˜8q"&L OŸ>ìÛ·Ïn·_'L˜À¢E‹HLLdöìÙlÛ¶­ÀšòŽëß¿¿Ý¸I“&1kÖ,²²²òm—»»;!!!¼õÖ[Ü}÷Ý|ðÁdff²fÍΜ9À/¿üBÓ¦MhÖ¬gÏžà§Ÿ~âË/¿4{ì Sž¯™£yôÑGøî»ïgóæÍ|ûí·UY–H¥Ðñ/ŽÀb³Ù €èèè|=ÑÑÑ <˜ºuëæ[ÐjµšoP¹s¶lÙ’ŒŒ sÞÚµk—ÛùVR´øøxžzê)öíÛgîÃ0hÒ¤I¾Ç-[¶äðáÃ4jÔˆ””:uêÄéÓ§iÑ¢G¥aÆÅî×ÜéQQQÌž=›ž={2iÒ$óDÞ¼5åúᇘ0akÖ¬¡I“&æz.^¼ˆŸŸÏ<ó ãÆ³ A™™™,_¾œ>úˆ/¾ø‚0zôhNŸ>Í“O>ÉêÕ«9{ö,nnnœ9s†Zµj‘••EË–-IJJbðàÁ<ûì³Ø¿y•÷kæ(òÖû§?ý‰¸¸8sZË–-íÎE¼qþ²®§"æ)‹Ê:þEŠãêêÊüùó Ìc¹ã*äªR‹ÅB||<6› ›Í¦ÐV‰ êÙ²X,>ÈÉÉ1æž[V«V-süíµ_CBB8p྾¾DDD°|ùòkÚ¾};S§NeõêÕfhË»ŽÉ“'óÚk¯å[¿‹‹ O?ý4ÿþ÷¿xàØ·ogΜáÅ_äÎ;ï®÷Ì;w¸~¡B‹-øâ‹/2dˆùQkQ”×k戾üòK\\\Ìç¹ûQäV ã_ª» n~~~æ¹{÷î%44´"V#((¸ÆÇLJ påÊ,X@÷îÝèÖ­ , ==É“'›ó·_GÍîÝ»4h“'OfÚ´iùjZ»v-K–,aõêÕ4kÖ¬Àºzõêe†0€±cÇrøðaÒÓÓY°`>ø áááüüóÏddde~ÌÑ£GbccÉÎÎfÅŠøùù˜³¸úËó5sT|ðp=,ëܹÕèø—ê¬B‚Û¼yó8zô(mÛ¶eìØ±øúúVÄj$Þ½{“””Ä™3gèܹs‰–yýõ×ÙµkìÞ½Ûìåš3g_}õ:tÀÃÃÜ¿¸ýÚ³gO¦L™‚‡‡£F"222_McÇŽeË–-´jÕ «ÕZh¯×”)SÌǾ¾¾<ýôÓ´mÛ–={ö˜'ÿÿá OŸ>ÜsÏ=œ9sÆ<ßlÊ”)lذ¾þúë©Þ½{WÈkæ¨üüüxòÉ'3fLU—"RétüKuVæsÜD¤æ¨¬sÏtŽ›TG:.¥º(É9nºå•ˆ•÷¥Á5éˉ¥æÐq)ŽBÁMD*­÷@½Ré¸G¢{•Šˆˆˆ87¡à&"""â ÜDDDDD‰.Npuu­è:DDDD¤êqq n""""BÁMDDDÄA(¸‰ˆˆˆ87¡à&"""â ÜDDDD²i€X IDAT„‚›ˆˆˆˆƒPpq n""""BÁMDDDÄA(¸‰ˆˆˆ87¡à&"""â Š n^^^¬]»¶²j¹eÍŸ?//¯"ç¹­¨‰¹ ÏŸ?¿üª‘|¼¼¼n.¸•´©x:ÇMDDDÄA(¸‰ˆˆˆ83¸yyy]…¥ˆˆˆˆH^ÑÑÑv§¬Yl6›‘û$..ޏ¸¸*)LDDDDìÝx­]p‘êK縉ˆˆˆ87¡à&"""â ÜDDDD„‚›ˆˆˆˆƒPpq% nÀjµràÀ"ç³Z­¥_TÛy—)jù¾}û;Oik©ŽJÜ¢¢¢ðöö&**ªÜ ¸Ù¶?ùä“r®HDDD¤z*6¸¥¥¥±uëVV¬XÁ–-[HKK3§?~œ=zp÷Ýw³xñâbÇ—´íÜÞ0«Õj÷8÷çÒ¥K8p Ýx€÷Þ{{=zpüøñ|Ó kóÌ™3âî¿?ÇŽ+îe©tÅ·˜˜úõëG³fÍèׯ111æ´ &ЧOöíÛ‡Íf+v|IÛÎ]Æf³Ù=ΕžžÎúõëóµÏþýûéÝ»7/¼ðB¡ë½±Í‰'DBBaaaŒ?¾¸—EDDD¤Òx¯Òàà`s†nݺ±téR~ÿûßsèÐ!ÆŒÃÎ;hÑ¢G¥aÆÀõ,›ÍVèøÕvÞen|œ@ƒ ì¦å'55•{³gÏæ[wAó·lÙ’ŒŒ sžÚµk“””\¿¹«ˆˆˆHU¸ñ^¥·å>((´íÙ³‡#GŽàëëk×Èž={ðöö¦V­Zääää[Iaãol£¨¶‹’Ú “MíÚµÍç999899qõêÕç·X,ÄÇÇÓ¤I“|Óò¾""""•)·)7¼™•ÞÚàú…K–,1?²´Ùl,Y²Ä¼ [·n,X°€ôôt&Ožl.WØøÒ´mµZÍ^°¼‹2mÚ4ÒÓÓY¸p!Ý»w Q£Flܸ‘ääd&L˜`Λ·M???"##ÉÌÌdïÞ½„††».‘ŠL\\œù¼ÈsÜvìØÁ€ìÆ 0€;v`³Ù˜3g_}õ:tÀÃÃܧ°ñ¹l6[±m¿ùæ›Ø=.ÊwÜÁý÷ßÏöíÛ™3gÓ§O'""úõëgΛ·ÍyóæqôèQÚ¶mËØ±cóõŠˆˆˆTæ9nÑÑÑúXPDDD¤šÉ›Ñtç¡à&"""â ÜDDDD„‚›ˆˆˆˆƒPpq n""""BÁMDDDÄAÜVü,·¶Ü[‰ˆˆÈu·ÝVqñÁÓÓOOÏ kßÑ)¸!7´Ýx‡‘[U»víX¸p!áááÒþÂ… Þ ¡àV„ÜÐÖ®]»ª.EDDä–пbccÜ ¡à&"""e’““SÕ%ÜrÜDDD¤LÜ*Ÿ‚›ˆˆˆ”IvvvU—pË)÷¯±Z­lÙ²Åîù­Êb±Tu """&''§Ü)Z…|ÛÌ™31 £"š‘jÂ0Œr¤hÜ222ذaƒÝ¸ÀÀ@¬V+Mš4ÁÓÓ“?þ¸Þ#7}útÚ´iêU«3f íÛ·'66€3gΈ»»;þþþ;vÌl³OŸ>Q~¡, o¿ý6nnn´k׎¬¬,NŸ>ŸŸÎÎÎtéÒ…øøx³·-ïÏ‚–õóóÃb±àääDëÖ­Y·n9ÿK/½DãÆ‰ŠŠbذa4mÚ”õë׺N‘ÊTT«W¯^¡ƒ‚[ÙUHp›4i³fÍ2à À¦M›°Ùl\¸p+Vðâ‹/šÓÚ´iÃúõë Ç××—˜˜žþy&NœHPP „……1~üxs¹O?ý´"Ê/ÒÉ“'‰gΜ9L:€ÐÐPBBBHIIá…^àÙgŸ5¾¼aAËnß¾Ã0ÈÎÎæÃ?´û^œvíÚ±uëVFŒ¿¿?±±±Œ=ºÐuŠˆˆT¦¢XZZZˤ¥¥)¸Ý‹Íf3¢££ ¾é­V+/^ÄÏÏgžy†qãÆa³ÙˆgæÌ™ÄÅÅqîÜ9233±ÙlX­Vl6†aФI“|[¶lIFF†Ù~íÚµIJJºé:K"::Úî{Ü,‹yPåääP«V-ó¯Šôôt»¯^½j7aËþøãL:•ï¾ûޤ¤$2220 Üß0 œœœò=.l"""-÷ x gy5lØÐ|œššZìü.\ 66–¡C‡ÞT5IÞŒV!=n‹…É“'óÚk¯™ã†ʃ>ÈæÍ›9qâDËö8>>›Í†Íf«´ÐV'§ß^:‹ÅÂùóçÍpU\€Ê»ìÀyøá‡ùæ›o¸téR¾y‹z]J³N‘òV’sÖRRRHIIÑ9nå Ân2ß«W/î¼óNóyRRÔ©S‡3f”hùùùIff&{÷î%44´¢J.³ž={2sæL222عs§™Š›4ib×+V³gÏÒ·o_œy饗€’½.…­SDD¤²”ô‚ƒääd]œPN*,¸L™2Å|Þ}÷Ýbïsúæ›oâííM—.]èÔ©Íš5#11±Ìë©,ºª´ò•û9n5É縉ˆˆÈoç¸tŠÏÍJNNÖ9n7È›Ñtç)õU>7)“¼_û%•CÁMDDDÊäÚµkU]Â-GÁMDDDÊD=n•¯B¯*ut^^^æ­¹DDDä7'Nœ¨›ÌÇÆÆâééYÕ›Wm©Ç­^^^ÌŸ?¿Š+©>n»í6óžâåÍÓÓSÁ­ nÅðòò2œˆˆˆHUÒG¥""""BÁMDDDÄA(¸‰ˆˆˆ87¡à&"""â ÜDDDD„‚›ˆˆˆˆƒÐ÷¸#..ޏ¸¸ª.CDDä– ïO-š‚[rCÛàÁƒ«º‘[ÂÚµkÞ ¡àV„ÜÐÖ²e˪.EDDä–ÁüùóÜ ¡sÜDDDD„‚›ˆˆˆˆƒPpq n""""BÁMDDDÄA(¸‰ˆˆˆ87¡à&"""â ÜDDDD„îœ """5ÂÁƒ9xð`U—Q*žžžxzz–x~7qx¹¡-<<¼ªK)•… ”8¼é£RqxŽÚú÷ï_ª^Bõ¸‰ˆˆH‘““SÕ%T(7©1ÜDDDDDvvv‘Ó?9»™Y'prrÂÀÀ°äp‡Ñ’-UR…7GÁMDDDjŒâzÜNež¢w«Þ\1®û_\RœÃôÔ)¸‰ˆˆHaF‘ÓsŒ.g¥ÿÜ,WÈÉÎ.v¹ê¢\¯*íÔ©W®\±wåÊ:uê„Íf+t9«ÕZžeˆˆˆˆÈÈ1H¿v™ô¬ÿ ×.“]²Þ¶ýû÷S¯^=öïß_ä|õêÕ+ÕøÒ(×àæããÃÇl7nÆ øøø(œ‰ˆˆH…3 £È!';‡ôké¿ Yéäd络a,[¶Œ®]»²lÙ²"ç+¬Ž‚Æ—V¹·¢¢¢ìÆEEE@`` V«•&Mšàéé™/äÝîrŸŸ9s†ÀÀ@ÜÝÝñ÷÷çØ±cæ<}úô)ÏM‘âµæ°.!†Õ'V±òøÿ}l9õkÕ'ãZÆÿ†tÒ¯¦óuÊvü¾ñÁo‡=vùà»×‡©q“íÚJKKãóÏ?gÕªU|öÙg¤¥¥™ÓŽ?ÎÿøGZ·nÍ¢E‹Š3Ê5¸y{{“ššÊ‘#G8|ø0iiix{{°iÓ&l6.\`ÅŠ¼øâ‹%jwâĉ‘@XXãÇ7§}úé§å¹ """âÀòöf5¨Ý€;rW£»hÓ  ­ê·¢‰³+éW/“qõ2¿^Iã³_>åÛŒoø±ÞQŽ4ú‘ÃMpØí0ÿººÏ®­U«VÑ¿š5kFÿþýYµj•9mܸqôíÛ—pñâE³ŽÂÆW›7€àà`–/_ÀòåË 6§ÅÇÇÌ<@¿~ý8þ|‰Úܾ};¡¡¡´hÑ‚‘#G²oß¾ò.[DDDj€¼¡èjÖ5Ò³Òþ×Ãvñò>Oøœ7½Æ×‰_âtÕ‚åCîc²-vm-_¾œ à $$„åË—›ÓvíÚEXX7fêÔ©f…¿™àVîW•2„‡~˜_|‘Í›7óÊ+¯˜Ó†ʰaØ9s&M›6¥E‹ù–ÏÉÉÁÉɉ«W¯šã, ñññ4iÒ¤¼Ë‘*9ã"éY—ÉÈÊàç”ü”ϱäŸ8lûÙµ²É©c`©c‹àÿw,y¾n÷îÝ>|˜nݺٵ¿{÷nºvíJ­Zµ ü:‘ÂÆßŒrïqkذ! 6Œ€€6lhNKJJ" €:uê0cÆ Àþ²ÝF±qãF’““™0a‚9ÞÏÏÈÈH233Ù»w/¡¡¡å]¶ˆˆˆÔy{³¾;ó¡_Žfü×a¼±.Ž}Ä¡‹É6²!‹zÚøíy¶“ÙÎ{ï½Ç;ï¼CJJŠ9¼óÎ;¼÷Þ{†‘‘‘\¾|™I“&™u6¾Z}T ×/RØ·oŸyQB®Y³f€¿¿?;v¤iÓ¦œ={Öœ>}út"""ðññ¡_¿~æøyóæqôèQÚ¶mËØ±cñõõ5§õîÝ»"6ADDDPÞPÔ~(j@¯¦}èÛ<¾Í¹×¥Óo3ÿ/¼u̼—G-ý]ÀÀ_chóaf;ß~û- °k{À€|ûí·\¼x‘¹sçòå—_r×]wѪU+³ŽÂÆßLp³Øl6 ::Úî|4¹þš <˜–-[Vu)"""·Œùóç—:“¬\¹’ððpRRRŠœoê×/³úìJêÞV—&.MñiìË«>³ÊZîM±ÙlÄÆÆ2tèÐBçÉ›Ñtç©1ŠíÅʹ>ÝÕÙ†mp«ëF}K½"—suu-²ÉK—.•ºÎ²Rp‘[J§:´jàA»†íðhÐKº¥Èù+3˜GÁMDDDjŒ’œ7æêâJÓÛ›qGý–´ktI×~q˜{•*¸‰ˆˆHQ\ëÖ²;'ž¤ÑµF\K»Ê¹œs4«ÝLÁMDDD¤²eee9ý‘Öþ<ÒÚ¿ÔËU n"""Rc\»v­ªK¨P n"""Rc8JÏYY)¸‰ˆˆˆÃóôôdáÂ…ôïß¿ªK)•ØØX<==K<¿‚›ˆˆˆ8¼Üð[Å•”ާ§§‚›ˆˆˆÜzJ‚Q…Ü«TDDDDÊŸ‚›ˆˆˆˆƒPpq n""""BÁMDDDÄA(¸‰ˆˆˆ87¡à&"""â ÜDDDD„‚[¼¼¼X»vmU—!""r˘?>^^^U]Fµ¥[^!÷À™?~W"""rkðòòRp+‚‚[1t‰ˆˆHu¡JEDDD„‚›ˆˆˆˆƒPpq n""""BÁMDDDÄAèªÒbù¤Èå‹›^ ûËaĈL:•Áƒ“””ÄÊ•+yùå—‹\¦¼MŸ>^½z™¹2Ö;iÒ$>ÿüsœyä‘G>|¸ÝtWWWºwïÎG}Ä“O>iŽÿðÃéÞ½;®®®EÖ©¿ÔDD›~Wœ÷¸999ñÃ?ðÝwßáää„““ÿýï #;;›¥K—šã‹BTT”ݸ¨¨(BBB€ßzÌÖ®]KçÎiÞ¼9ÞÞÞ¬[·În:À{ï½Ç=÷ÜC=8~ü¸]›gΜ!00wwwüýý9vìXI75Ã0 ²³³ùÝï~‡‹‹ ­[·fÒ¤IæÁúÎ;ïжm[:uêĵk×0 ƒ“'OâïïÕjÅßߟ“'OrñâEî½÷^2331 ƒÄÄD\]]ILLÄ0 233¹÷Þ{¹xñb¾õdddðá‡šÏ àwïÞÔ¯_Ÿ pï½÷òÑGaõë×gêÔ©ÜqǼÿþû<óÌ3xxx°qãF ÃàôéÓôîÝ«ÕН¯/?ýôSÛ}ï½÷’““Ú5kðòò*pž‘#G²lÙ2»qË–-cäÈ‘EÖ˜» õë×·[6÷yIkÔ Aƒ •?ö¾Y¿~ýB‡ÂÚ‚•*¸3†°°0FŒ““QQQ\¹r…öíÛsÿý÷—(¸y{{“ššÊ‘#G8|ø0iiix{{ÛÍ7aÂ-ZDbb"³gÏfÛ¶mùÚŠgÿþýôîÝ›^xÁnÚĉ "!!°°0Æ_ÒM-±%K–0|øpÆŒ“/8ž:uŠ~ø3fðꫯŸŸ‰‰‰øùùñüóÏ›dýúõ¬^½šºuëÀG}D= ýxòäÉüýï·»ôúÓO?%--””V®\i÷Ú´mÛ–72vìXüüüøç?ÿÉsÏ=ÀóÏ?ÏСCILLä¹çž#,,¬Àu>úè£<òÈ#$%%±fÍšçéÚµ+©©©>|€ÿüç?¤¥¥Ñµk×bk,JIk‘ê#--­Tã¥p¥ nüûßÿæÕW_eûöíÀõÞ±ÜÐV\pfùòå,_¾œààà|ó̘1ƒ§Ÿ~šqãÆÑ¾}{–,Y’ož9sæP¯^=BCCÙ½{·Ý´íÛ·J‹-9r$ûöí+馿SØ_|ÿý÷Üÿý 8Õ«W›-LŸ>úõë3`À"##1 ƒo¾ù†°°0œ ã›o¾Á0 FÅ;#a¬\¹’·ß~›•+Wbï¼ó£F*ô/›R·n]V®\iÖzôèQ† Æïÿ{z÷î͹sçÌùƒƒƒyà ¢sçÎ\¸pÃ0øê«¯3f Íš5#88˜½{÷æ[çâŋٲe ³gϦV­Zœ:uŠ>}úX߈#Ì^·eË–1bÄsZQ5æý™w[KZ£ 4h¨š¡¨÷ÍÔÔT»÷ÖÔÔÔ"Û‚•*¸½öÚküîw¿àã?Æ0 ÜÝÝíB[I‚Û!CˆåüùólÞ¼™!C†ä›'$$„àëëKDD„ô ’MíÚµíÆY,âãã±ÙlØl6’’’Jº©ùu:;;3zôh>ÿüs^xáó Ë~ã¹gÙÙÙ†aþ4 Ãü¸qÉ’%4nܘþýûÓ°aC–,Y‚Åbáþûï/òàž2e sæÌ1דÈ>ûì3󂉼uåÝ®¼- Ç'%%…””3Ðåþßÿû¬\¹’1cÆÐ¹sgþú׿Z`}C† aÓ¦M$%%Ë!CÌi%©1÷5ʽȡ¤5jРAƒ†ªŠ{ßLII %%¥Ø6¤`¥ nNNNÄÄÄàììlŽýõ×KÜ6lH@@Æ # €† æ›gôèÑìÞ½›Aƒ1yòd¦M›–ožiÓ¦‘žžÎÂ… éÞ½»Ý4???"##ÉÌÌdïÞ½„††–tSKlÚ´i?~Ü<ÏÌÕÕµÈù»wïΛo¾Iff&o¾ù&¾¾¾æ´gŸ}–—_~™§žz €§žzŠ—_~™gŸ}¶Ø:þüç?ÓªU+óù/¿üB¯^½¨S§Žùº•äÃ#<Âo¼AFF{öìaìØ±ùæqwwç‹/¾ ==:uêpõêÕ÷\ßϽzõbèСôêÕËn¾âjlÔ¨ü1ÉÉÉDDD”ªF©¾rÛ”M™¾dáÂ…8;;ãåå•ïëAJ"$$„}ûö™%ܨgÏžL™2FEddd¾yî¸ãî¿ÿ~¶oßnö8åš7oG¥mÛ¶Œ;Ö.$•Va :”°°0<<nüëÁ0 Þxã vîÜÉwÞÉ®]»xýõ×Íy{ì1ÜÜÜ4h†aðøããææÆ€Šü«$÷ñÔ©SÍçsæÌÁßß???:vìHÓ¦M9sæŒÝü=Î}ÍZ·nÍèÑ£ñõõͷηÞz‹3fжm[¶oßζmÛ˜?~¡5†„„°wï^BBBìÆWãŒ37n]»v¥ÿþ¥ªQƒ 4TÍPÜûfiÚ‚Yl6›]à¹f+W®ÄßßßnܤI“hÞ¼¹]oH®mÛ¶Õˆ/à]¹r%ááá$''Wu)ÕZff&...U]†ˆˆT±÷ßÿ¦ß7/]ºDlllÈå%oF+ó÷¸Í;·\‹Ç¥Ð&""R9JÜJ}¯ÒšD]·"""%§÷ÍŠS¢àææævKwYê)9½oVœTz+Ëûå¶"""R4½oV·¸víZU— ""Rí 4ˆÄÄĪ.£FSp+ýå """Õ‚[<==Y¸p¡ù=b"""R±bccñôô¬ê2ª-·"ä8±±±U\‰ˆˆÈ­ÁÓÓSÁ­ nÅÐ$"""ÕE‰oy%""""UKÁMDDDÄA˜ÁÍËË‹èèè*,EDDDDòŠŽŽÆËËË|nÞd ..ޏ¸¸*)LDDDDìyyyÜDDDD¤úÒ9n""""BÁMDDDÄA(¸‰ˆˆˆ8ó xuE©ˆˆˆHõ è⇡JEDDD„‚›ˆˆˆˆƒPpq n""""â¶âg)ÜÁƒ9xð`U—áð<==ñôô,r7)³ÜÐ^Õ¥8¼… ÞôQ©ˆˆˆ”™B[ùéß¿±=—êq‘›–““SÕ%ÜÜDDDä¦)¸U7¹iÙÙÙÒnjꯜ8qН¾ÚCrr*†ÕçOêJÛ¶­hÔ¨A…¬·ºRp‘›V=n»víçí·Wqñâ¯Ü{ï]4jÔ‹/2eÊBêÕ»ÐСøøt)÷uWW n"""rÓ £|o}¾fÍ',^Cß¾=ùóŸ{ðûß·£^½:X,põj?þx’Í›¿dêÔEŒùO=õX¹®¿ºÒU¥"""R­ìÞ}€ ÞgðàÇxüñ>4n\cÇNsðà1~øá‡Ÿ V-' ú3Ï>;Œüc ;v|W`[‹-¢eË–<ðÀ|÷ÝõyêÕ«W™›S®ÜDDD䦆Q.₩óöÛ+ñö~ˆûî»—””TÚ´iŽaäpòd§OŸçøñD\]ëѸq]~÷»»éßÿÏ,Zôüúëe»¶Ö¯_ÏŠ+øúë¯Ùºu+}ô‘Ù3X^õ–çP n"""RmüôS§N] }ûv\¸Œ—×ݸ¸8Ó±ckœ9{ö^^í¹ãŽ&¸¹¹òÓO \½šEBÂ/ü÷¿'ìÚzë­·xíµ×¸ë®»hÒ¤ 3gδ›~êÔ)üýý±Z­øûûsêÔ)bbb¸ï¾ûhܸ1;wfÍš5$&&Ò»wo¬V+¾¾¾;v¬r^”<ÜDDD䦕W¯Ó7ßìÃju%++›'NññÇ;ÈÈ¸Š‹Kmºwÿ=½z=D»vw¹Š+þÉž=ßcÛ·ï±këСC<ôÐCöl†Áøñãñóó#11???"""0 ƒqãÆ±dÉÎ;ÇܹsÙºu+†aÁСCILLä¹çž#44´Ò{Ütq‚ˆˆˆTii—±X,œ?+W®ròd".\$$äQ4pÁã9†¯¿¾‚?üŒÚµkqÛmµqq¹ÔÔ_óµg±X ]×·ß~Ë{g‹‹ ááátèЀ™3gòÔSOÑ«W/&OžÌ»ï¾ ÀöíÛùä“O3f µk×®€W hêq‘›Vž½Né陜>}–_~9ÇÙ³¿ðŸÿãܹ‹æº~ý5“³g/““M­Zµ°X ''[÷Ýwßÿ}¡=n†am÷Ó0 FŒÁ¡C‡èÑ£Ï=÷ï¾û®¹Ü‰'HMM%55•‹/ê7q<å^êׯËåËi\¼x‘sçÎS¿~=ÆŠ»îj‰a@ZZ& ¸0}z(Ý»{sõêUjժŕ+4hP×®­ &ðÒK/qòäIÎ;ÇË/¿lܺwïÎüùóÉÈÈ`þüùøúúbÏ<ó ;q²3ÜIDATwîdРAL:•W^yÃ0xä‘Gxýõ×IOOg÷îÝŒ3FÁMDDDn]Ý»?È•+™deeѨQCfÍŠàÞ{=ˆŒ|ŸéÓ“œœAÆ.Ìœ†—×}\»v+W2ðóó¶k«wïÞ<ûì³øúúÈOÛ +”£ZR û„)5Uζw1+ºé úµß¯å{ÆP´ëýbön?è0\v%bdsî^n‰MûÀ&+ޝœ=:,· ßX®TÕ¯¯[þÎÝìËgQýÖ Ø´Êæ<8• XèPÉ0zy¶þå• ã–'”ÇVb•ͽlZe* ÅPn`t¨dà7òk9Ød ìú,¿–€}”¢ÝmÙR òç×r°‰‰²ŸÝ³å`™ÉdG箼vt.Ćñë8«¶¥V…~Ú-—[e³T˦U6Ë( ê€RY¹œ«\Â5·€LR^–û. È€2H™P@æwï5쀹šR³)^Û–äíú½Ùôk9Øgx´ëWÂüZ–XÉz ·Þ¹×P3Pn£_É i¹Ü*›56­²9N%VØ ‡­pª±i•M¨d€” ‹ƒí_´~-û¨ÕVìÚÁ¯å` %Ù-Ë–e ók9Ødž ¹›qk¶’å:Ÿ ª{2Hv-ð²'C/ËåVÕZžМUi{*¨dÀªmV2Œf\%ƒû{ÕÔÖT´×`h¦U¨d€ê³ ò¤G­à@;Èî²”ÅÁ˜…ÒV8 I9 ‰|‘`€qí.uö¾'ƒN›{2è´‘[%ªdÈ<­#~•´é;ò~gœ©dÀªm¨d0m»åµñ¯ßóÁ&T2@ I†‰wAÛöÙÙG°2L©-…\4­­¬ØD»ËR~ª1" 0 dwG ¾ ɰ,³¾¹ž”[›$\o„sXù^P@6Ùr¹Uò²^cÕkä{µÑÿÆÐF"s:dÁËc¥idF °¼Ûï×r}«tŽ·öèF­½žpí£ Û…Ÿ±ŸX€Y »ð@¦Ô° ²»Ö÷䯧—OnŒèùÖ½÷ݺ7ûøöNÙ¿ø(• “-—[Õ^ÉPÞ g›ý«n^ï³›×ÛÛÈ[öõ dzV¿’A2Ý4âLR› nê—\K¶X¢’Á´ý}·Âéu¤r«VŠv·m ß«’Á¶ôíÞ”xJpO9ž9vÆÐ£àöíÇ;äva2idùâŒïBÂëh´ýùò :È®µiœýØï×ò@|¹ÆÞ/_ºå›wMb/\~üî‡?èÛç\¶Mš•=Þz|îÊíóåoïëe;»“d€ ä7Ž"-σyMEöÑ¥ûw/}ÒÒs.‡k-ΕxÇšíüT¬dX{=8VÉÛäjbÁkÊÓ‰’JIÍ@¯6A|ãq⛾~}ñó/žÄïÄ?3é~ -&ò–’6½ªGä½IΫm̉¯³J›È+l"©d°‰¤’!í¦ïäzܢ΢%æµÕJ<¸­‡œãÑë•´É1+í Êíú’€ôÄõk¿_ËË„K1½t%‚k¹XØÉ6Ö’ó`Úf¶¥%Bä«ïQ´Û›U´XÞÒg®É….ÝZÁµ–7̱Æ#,k'ÖZV¯õ­Üçs5}AL&\¢W¯½óÖÕköã#H±ìµ ¦ñÕŒ|©d€WÐëÞbÖ=Š\Luªª+ú΢ú]yÝËò¾Vé缾‡=zUûž #¬’·)‹fÙ/ñgg)CY|cv ·‹å“s»Û ·k;é¬Ê››ó%· ñ"ް ¿þ›ó%· ;eVÎÙ€]£/¾È.€ªø"»&ð²qmtÄ—²É–÷µÊf™MÚ) ‹—± Ì=¯râÛ«2,X@¶7Ú#VFÒÚy5¢$@H€êv:‹Ë$±’½7ˆvT!Ú…iŒXZ šàÁmPÉ0Ùò¾V=;ýñÛg§ábˆ_Ë–çÚ‡œUéF*¹–~gçsóàñ£Œlžíú´© .+‚>øâ›‡rm¾«Ö~'½Xž‹>$–ÇïHŽ¢vƹ}[kgEyL¶aaî>‡Ž©dèF­Ãìlœì×r;ôËc»ö´Ø<¨ÉðÜnË@Kž×„åÞ©}$Œ}âmíëyp4Ó¦ÔÒÛ‡\¼0ëéö‡-?,þoü@ÌòÃ1k-ϵ?¼ýÃWÇOrŸÊý,…÷s—.?išl›4Ãe&åò5ò8k[.\$—Üž/KûàÁV2„YõöÞ$³‡’6ò–Çßýîwÿó÷:–÷=ÆÜƒUbÁ –Ç³ç¹ 7É7öz¨ü¼²ùPÉ8ø}¨¾©dh"½Ñ(ÿ¦íŸŸ»rûü8 s¤7Èö-ÏÝÔ§Eï‡wÒJ‰å.Ý¿{é“ð÷åÇï~øøƒZ{$G”»QµIåæß½çvÛÇ¿¶*†PÎøèÛ³OËs‚;Ëžmmìß=̶Eƒõ<¨É„h·• ³,—ØR eÁí[_Y;-ã}íÓ¶¼¹eÉÖôà¢Ýá• å9MÉgG[¸žåefE¸9VЉZ&*ÓVò JI†Z²#[~-·C¯1±<¶Á ðøÕ‹ÈîÁƒš¨îÉ=~ ÕéûšV͵¼ï1欒XžEßµóåK®<»]kÕÜJ†\ž÷닟|ñDÓª¾ã éA*~öœ÷®d4Bf0®ú„h7Ýo××õ8ƒÖFÃen ‡/a•#I8!~ûàþ݃Od½ZäÕ…†Og›h¶9者¸ ¼@´ ÐT|½/—€ít£½€lö€È.@bѬPwoœ½sá£×_þãOßýã³;î\øèõ?}—û€¤MßްʦU¡ÀçÌ™3gž?¿sá£×OŸnëg±úòûÓ¿;:¼röô‡ŸÞ}û“£ÿzóån·þõ?þ÷¿9ùÃoßü—ÿï?ùèõ—#8}úÕÿù«“ó¿ÿóË¿sGWûÖΫÚc”|#d°k…>vH£×ÜVAÞ ÈFd®­Æ"[á¬±Ë »CˆÅ7].{ÙPñ…u»0•çYÝXp㿽¯R+?+ïàÞÁÁ­Ù&šdøC}Â¥•{•´±¼9VÕnY{6n“n¤’kéq¬‚øÚÜÞ¥¶ŽmŽ•ƒ­pzí¹FÔ³µ3ηog¥Uj:¤’ ½~€ío§½máƒýåûñ äva2µ„±IºJM©mû”5Öð &Ód7}–mÎUå ß ¾n'{±mÒ¬ü8¥ð~ß§2ðN8·s %áÌ·íÎõ`¸ö×»v&$Â#cÁ {ÌÜÉYãÇ£_kžã¼³jј¦×»vV2¤3›ApãGž„ÞÊ¿ù’ÙCI›¾½mk“;<ÎÎ$3ÎåǽÔZ%é­—wZêÿoß^óàú• úLÏ«mÞ¡’á±ø†wÊ©†¾·“vð~ë$™qÎò8(×Ãè³¢Ö;¹Ñ(ïÏ`O}Æ÷å½,tF`©J†ôt´œáÁz·Nr$S.s§ezy'Ž +/êãöœŸëAï×ÎäJÉiç7*”œ«N$S+µóà?µo{N—¦wÒµj^Ð÷ |åžßk‡²„ñ-3+ªíëIr |×ð¸…û_#Ér‰áÈOï·N9zÍh¨mÀ;fypUï ß“! tü·Iç+Óö6çvkÛ”O x†ÔBµƒ¼¥|í|ù’+ÏnÇŸÕô޼BfÛ<¸…ÙyyMÆçU‹wvWÉ£œÏµ6“;ù/³å[§öùw›;õ¹^Ã×9Fx°|^IƳïHލd ·;r¾µÈÖöµMÚIr»ÓX5o)øºkŒ$²;™5N#€¯{á}$‘]x?@¾î…ß‘Dv á÷4‚Zðu/<ŽäÀ2¿î˜[ª%/—±P~´¶û¥mR_ç¾1öµÍ±š{^Í*ÜÖd¦±\~dy—f=†Ç²¯5i?¯4Km…<Þ@Á6ðõ~@vÀ¹ðõ@vÝÀ¹ðõÚ°JÍ+­z²¹8Øö}·A%Ãä6Ûz]í oYëÁp¡¦—kº‘J®åJ• ’6ÛªÆY¥ãÁ^Ê@%à ¨dèˬðÚçö]Yu¢§Y• í¶¶SǃT2€ìç{mƒ=w;m Ìò5ì ²»öÅ7GyGfH±ækãl3è½’A“ÜC%ƒ¡Ü.ì n9½ƒ·¡$»Äž²‹Ô¤(E»Ûò¼7¬ÇpÙm™X£’× û)û‹‰lcrÙѹ+¯ Â¿Ž³j…>šVéofds‹%¬Ò·Š²WxÅmÒÞÊu»&yÇ~Ù„­pÊ" °6†¦Ô_Ø£]nóR†G»ˆ/@ÌÀJ†Ð[Hä^CµC¹ • X5ëÙ Ç—Uéô×®+Z ’4¡’Á#òGY¨d˜°8¹€^ŒÜq¨ÕVìäð(¸%Ù- .â rü n`ÂC}riÄÊxÜ€êž ’ýØ“ÁB›}Z5z|¥±Ò·JîXpûZå ’a46­¬C­Ê\ï,²'€\ˬêdvʪ—ô¬ía »£ý’®MpÉ7ìϵÌ}cmu|Ü>‡G—îß½ô³MÜ/?~÷ÃÇÔŽpègÛgåxÜÑ.ìˆÑ‚›¶‘WãäZ–{HÿWÒ>‡ ‘©àÆÿ+áÚöÛð+¸á{2è´±iU®Myo –Û«^½µÏƒçJ!ÃkxNJÙ*ÉóVâ39÷¹ïJÛÇOoIÛ‰L¯4J•Ìà}ñó/žôÖ«JJ†ÎØ´ªÅfË–ûE3K˜>EžÒñL¿KR—‡å7n“\ %€¬¢€Ì¨U}möíæŽbv"Üò8ÈoºåÅg)qbAáŽÈ¯—d`+Ç0YÑ û‚Û‹ZÙªM)¬!‹aJM y¤Ó«Ïqì-‡Ø6ÚòOÉ·ÿÏC:™&‡¾gR.h`³—q€míª2+N<¹ñé哹ÿ½uïýG·îÍ—< ã°T2(µ)  µ©àÞ¼þÞg7¯ÇïäZöù^›×¼°vp•Bm›¸en LºáQm›xŸ°°éLüNüÚëãW*T2µªýXbË·c9¶•PŽG¼ÇÈníéP_WS_Ø ^A»àÆýè'ÖÜ"5ââ——æÆ={ÙUenL”Êh/™nÁµFËÆ=P¦ƒì®}{Õ‹Ñ£´mÒ,¼Ÿûlxÿéñ¹+·ÏË-·Í ‚«â;¢]%f¦’DAY|-`GpSö @µ«æ ÌÀJÍ=ìW2Ääf“Û1­RØf¹¼7‰U½â"·\›Ü䧦U’ñaUy²w½Jùƒ j¿±C%ƒMlÆ µýÉkr±ª|Z,×Cšd(o$ØëQ.Ö"ܹ‰ý)5›ã Ãè™Ñ*5_ÃjÓÚòÆã¾W’:°–^°&¸)6Ï1޽©ÝŠÜn¯á^©Þv#ŽQ29V[ÉðSû§?{ÿíƒûw²Ñ®5ÑlÿQyøà‹o>¨ís\ùÝáí¾:~R;Õ9šYE‡½Ð¬¥aJmGX‹j=rõÚ;o]½¦ó]±¿ÒÄß->½|ð¢åhá V…q?H! ï´'»ôÑ/^d+œ Œ{~Z¯“ÛòE²6¹…Úµ=ìÁªvfU‹WW2ô¯œûlÍ6åÄBß=Ê¢Y®Oˆ?»¶%uýË¿ÿç_ÿ"±ª½†$“¤I›ÐÛ³Ó¿}vªc•d¬zYÕÞF^¥ n/«D• }!·+§×XõÝÌ—[â¬8«[›^h¯!éŶ{¹UÛFiÖ•…õäv' /[$ öŒÍÉ.}«,n€Ü®*+ ašOùwÙ´ª;‚ ÚUbEæÖ°&¸dwî6¶m²sXûƒƒƒ—ùJk{ØÜC.=Ÿk­·}’ýJsdw½r»vä`4š—e¶‡¾øõËi¢X|5ëvS«rïÏ_›VÉ™µ´‡2¥6:d}· ñ¨¡Ú6Û¶#‘´ÉEŦLW¬•{ËcN’ô73²iU//ÛÜb‰²iGÍã”ÊôŠpãÕ\B¤‹o|¼} ¤äñ`¹·^ý̲Js¡³…ÅëT2(o|³êOK/æfú‚XÄ‚þž•^ˆ­’¿¿g«rXܹ]C°oÿˆyçx¿9±pÌÍêæ¬²Ã¶»;‚¨²k‚ýLŽ¥ÔÆ¶{»Da=]%r‘l/Á[G„àjÎøËýhÓª• ’ax›ôñéßaÚ«zm¤"o¹Íƒµõ #¶#éutòÞzYUëÁ²´Í«v«ü*ƒj%CøýÌ•àBnÈïo`{ôÚ÷¡>í¤¾h©dÐp{m…·Õ‹Íû•²Ušã³J• µ§”Í©ƒ2{ÎÏJð˜RМFë+C¡·ö>å=Hƪ—UÞžÛmßÙ‹“ìW ÌZZjs]¼MbmóΈëŦU~ždH¯vßÏ•éX{fT;ò'ïÊ[–Ä'}:¹W¾tžlYpÙÆ(%÷àz0a¹DÎI{p^Y°FÜø‘Bs#Ë‚ØÃ™ š ¬dèõèŽ^«³ûöÖÞ&D…áõë¿ûüŸ.þs9Nl©dH÷ˆ×Ëå²Ò½æ¯{=.EÞrt›tÄ,X¥ó¹³Å—ç~ã„$Cí:î5’ iœ+¹oO2”Ó ñ;¹TÈ$ƒý77׌@;’ ¾Öq#ˆWúÚ÷[r£*ÜøÜ€¼¼o=Ü^LˆvkYiTr¡Ž«ÛM÷Ö’J~{¸ ÷6ɶ·ãÍðh·E4×ÜtO2ŸÀP+²·{‹¾Œ[äm wJI†Z]Iplü¸k‹/‚;Õ=â5*á5T;¤ïkZ5·¼åJ{2Œ+Í6AŒâqh™ë·0V©ýG箼vtn®U6Çj[› O—Ø3µYÑõödXï¢wû½€ì*!¿ýÜ6¥fçX8£<Š—G›ýÂ~»J”Oâ•r‚.B±Yz•;ëìX¸*È.Àrw-s%©µ²ëbd/äa¾µ¯­]UÊ=#ÉÚ>CY L~¨ÏÚe"’ D’2,Í6}{[Ã}{ËÕqð`¹ZÜþX­g• ¦ñsF”™°Èñ%a¾¬˜Ñ.€*D»ª »ªPÉ€U&¾«°j?V‘ÛP…$€*È.€*È.€*È.€*ÿ–‚[î\\BtEXtsoftwareImageMagick 6.0.6 11/29/04 Q16 http://www.imagemagick.orgÝ<Ž‘tEXtdocumenttmp.tiffý òüIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/warmup_gschem.png0000644000175000017500000007615713634703632020023 00000000000000‰PNG  IHDRš kñ¬Ÿ pHYs  šœtIMEß 6lH€ IDATxÚìÝwxTUúÀñsïšÞ+)´„Jè )RDš(‚Øu]õçêª XV×]ûêÚË®X°ÑUD¤ R•.% -$ÞË”ûûc`˜L’I›â÷ó Ï3™Ì=sÎyï¼y¹sÏIUUEQ„ü”)€âö«‚„’,Ëü”yòl:3€–%¶M˜$Ëò¸Ç¾`.ÐizÞþŽ"3·¹@Ëä祹XÕjœwõµohÝÖíÌ&@“h`ÙÖ¢7Bh*ݱµÛ÷ó>¨}Ó7Ü|ûº­»Ø™®x-Û ²­Eo^¡ŠÕ4x*5ìM@«6¦O»û¦ö¹í…Õr‹òãÂþ>oèü6H¾P›ç‡xÆGúx莟Í9z&˽ãrUüm×ô˜ýUùÅe-%F-±Ïš„¦um~éMƒËQ -ÐJLÐþO“zÍ}~uf~‰ýA^ëã©Ï9wÌâ®htµyN³ˆNëã©/¸pÒdV´OÏ ô1~øðx_O½íÇWï:”’¦1x¸q ­§>ëìïšÀ¶’Ò2ò[Kì3€&ªg5­isÙ^Õ:ÞìŽ~ó’ë›c]l¿¥Ûc0¸Ï}î_Éûn¼4ЧA›}ú°d6Ù\»3iðožIÏÔµºçØŠÕjµ=§®7Ŷ¹j•­V×Ï”Uõçgž~gå_^üTQZ”W^˜ãÞI¸4‹âîém¼[“÷™7#÷¹ß$É¿:ŽuZåÙ5nîúøh•›×¦b¬qsQÓƒ•«VY¸®gë5²Øîƒï½n÷¹Ïý+yß~‹‰ôí×5Üñ??À„HooíÇ具½æ=}Dü´áñcüíOŽŽð‰ ÷BôOh70¡Í€„H__½Ðˆ @ჺµïÞW1è«{ÎÅ‚TáPO…yLÜaθnã¶÷³=ÍáÖ»sØì1]¯Ò18УÊÍ«¼å””¾°dÛÊmGRóÕËÿ7¯þùAÆñÛÏÛmÚðøþÝ" ÇßyLÔ~ÎØnS†ÆÅÅT¨ …hSÕ,¹åÖ¯k¸}ì~¾ú ‘>>ú+Ðçê"bß1b"}gŒì4sd§6aÞ÷ŠpŸé#âoÝ%6Ò×ňx3rŸûM“ü«¯e«­h©žuÇæŽ}®ºÿ•ªV)ñÎ÷‚üÌæ OØ7¡®§ånßu€#÷@sp÷¤ž´õÀÿŒ^~¶GúwzÞU÷¾òõÑsÅŠ¢LÇ„îo,ÿå®Éý2óŠ}=u½ö?Kw¬Ù}Fqã¨ÎÓ†Äyu™9ª$ !žú߆cçŠ& ìøÓúÌxâó¼Ryöè®.ž3ò¶J¾Ñ­^1mhÜ­ãÊM–´¬üˆ «ªþý£Ÿö%g !$IztV¿=£3r‹ŠJÊBü½¾Ùvâú‘]æÌût¾ÎàéS›ÁF{ð𸷿Z¿hÍ~¿¨*Ÿ3´{›Ggõ/.59Ÿëå¡‹ öýrÃÖý.ɲbæðN7骪âì…\O£.Äßë±wÖÿš’c›¥çþûÍC7O¨»°¸´<ÄßëÛí'®ÙåþW¿=r¶@V4×g±mþΪ·Oì“‘[èã!Ibþ{›"Cýÿ<¥WFnQ€Q£È¾³þÀ©<Þh@óQ¹l³Uñ“¶ßqQ¶U·¹]í7¯òåœtýêö—¶wÞ©ÁÊ5§FS‹¢ÚÅ‘j§îh&T!.œ9Ó¹¯ãƒ9çÏ˜ËŒŠ‡·íÇ ýÛßôä§ûôôôxwáÍ·Oè¹zë~ÙèÿÙ†#Ï1í/¯fä ! !BÚt°m••š"ùF»~ŽÝ€ÎwNèñźßþñö‹êçïûêC×/˜=`ÖSK­ŠñšþíFôŒ~ó«ÿóÉ7­nHïN¯?:»1fãökºï=šzë‚7-ªÐê ÞF­¿!·Pø‡DIhsÛø„u;=òÒÇ%¥åZ¡md@aa±ÙlÛöúqªœ¥v麫âtŽxùÓuï}¹VÑê$txkþ!DÎ…3å¥:ƒ§O#õÙuDl›_3sþLJ üò…{þ2£O©Y½á‰Ï÷ø-$(àËçîž3ºÓ}ÿYg¬Ýÿ7\yŽå£­(<úÍK-¥f³W±UÖ²Õ‘*[‡[U­;ÞªhÉaó“‡wpŸûÜ¿Â÷/ßäJïkåÒ§øŠ"4¡ÈBˆ—?Z}èèñȸžAíz¬þ5ÝËÃ`0Y%!4£O€íéá{FuéÕ¥¯ÞÇ_È—Ñ(µ|ÎŒÎ\Èûûë‹~ÁQ]ûûDvþ`ý _/îmôVILÐþôùÜ×?ýÖ?,¦Mç¾)ÅÞö&Wèg-o“™\Ýü¼ )gÒ£Wt—~á{xµéRæí&4šéÃ:eç—üõ…%½Wt×~ñ½Ê¼bTÿ­§W³ÔÛØ~m“R³Þûrm@DÛ¨Î}SÍþkwW{#õÙuDl›¿òñšcÉI‘ñ‰†°ø­‡ÒÃý^ûtÍïÇŽFÆ%z„wÚrø|·m ²ÏU9.ÞŒÜç~Ó$ÿê…Úï;tYõÕ\GÖbsWjª9kèC¥¿5,«rª<’츹í”îsŸûWò¾Óz Qi‰•¸tJªí ‡Nœ ‹1è!r Ê„Á~žÖ²Çç»h¶Æçh%©Sÿââ’»®sï¬q³‡ÇÏ?,!Zh*Ìiê³ûP²Fg ‰´m~ôlc?k¿zL¸úæy³—ÁËgêàŽ·é6`ö“>Ñ]´:¢c„ÿ«w ¿ÿ¹÷¥•{ùNêßîîkz »åCXœFwñz[c{ÇÞ?¹×ÈÛþ© i«Ñj|Ž——粓Ï]È9™–¥huB½|*Ä7wþ|4cÓúߊßþzgHôųv _xÀ9óßN-5½}k3Ø6AÞïÞ7úí¯Ö¼î`@DLÕyS‘‡µ÷‘ؾ{\´¢È)é¹/¯Ø›’žgÐ)ËL^¼zÛ+_l kï´U³äøäѽ¢¯ÐÎb±Ø~¼÷…/„Wˆ¢ÑVÙÛë~¸òÇ·V9Œ½sÄÂYýícoŒ>…„¸ˆÈúýçî˜1Êiókv¸s\Âà¹÷ŒˆÓê B{ÜáqŠVÇÛ h*—m®9•mÕU}Õ"u±y-Ïuñêµ9wÖ¹æ4›í_£ ©Í© Uö²–-¸2ÌfU#˲$Ùß•þžÆKGþÐ(—Ž¢êd­"4¶Ç/>A•5B#ÛнùÒV¶ój|޹\*-·I9wÿ Ÿë+]Ö' ¨Ìd ðÑÈ:ûæÁ>ž•Û¬é¿øŠý¥«ÝÄ"6-ZùÓSInÿ.QOÝ3õ ]ï{c£Yx•–›#Bü´Z}åmkœ%Ç'oþõܪ {³ÓÏÚ‰ê^]Ì墸Ìà8öp?¯ co„>»Žˆ·PU›ÛÑÙ±Ç]VÒ>Ðܸ8žêTº~ÿÖxºªëÍkìFu›;Õ¯ŽçÑ:vÉis³0×áB]ö¦«ëšýöûÞKÍfîsŸûWò¾ý–YP"ËRÛ6Aöƒ{Ç…ØëÚœŽPnµ!< zgÔæ9¿%g ìÑ1&*<ªS‚ÓÍ7$üð鬡½ãµŠÕ¾ùànúYËÛ¥zÖÅs$­äÑ&¤}·äb¯Ÿži’vú¨Ðˆ_“3õˆ ðÑU{×êgÉéæÖ¶{ûMcÔ¹èÏoÉÃútöóRl?*:iT¯(§Æ£Ï."â^Åæµy„äÏ}î7yò¯‡f|¡®Zœ;ëÜ‚ýÜÙ gÕÖ£ZwÜüÒ)Üç>÷¯Ü}ûm_R¶Åj}êžimýíBüoÝ­{Û`Ç#r¥7¾RñPëéô"!ÄŸf]= .¼oûp£Ññ9šZ?ç‹ÍÇ%Izãá™}Û‡x{Føy÷mþДÞíCü5B³âçOgï¾&&Ð'Ì×ûÖÑÝÚ‡ù:vÃõmdBô„Þí†vi#„èÚ¾ÍÔ¡Ý'ônâíiûíÀ¸ˆi;j„ÆÏh\0³ßÀ¸ˆ?o_ƒ1±CÄU ±‡SÒËŠ 5ª²äÇ$!ÄÏHŒ òôŒô½¶_ûNµ™¥†Ü–lIB¼û·ÆõŒÕ=æ™›é4ŠB¨BJãõÙuD*oîtH¾Êçü¹Ïý&OþŽušë[•e[½ÊѪ7¯ÍK׸yåâÓÅæ¶.ž;k0x9>/¡sÛºž„qàH ùfbxBè×$tZ!į'ί޲á­Wßøè›9j€‡·ßµÛÎÝiÀì'Ã:ô¶ßÙ>Ü÷…ÛÝÿÜÇGΫ>!Bˆ)ýÛ\è#KÒcïnøý\ÑØ¾íî™ØmämÿôŠè¤ÕkùœHímWÇõˆ¶uÌjUÌXðæ «.@ïá58Þÿ®I½6wäœùog˜|=}j¸Öûÿ7"ÀÛàôà_þ³:)Ó¤ÑêÜЧs”ÿ5ý72ªÝ37÷‹ õ‘%ÉöœÝGÏÍÿ÷⌼Òv]ú!Úëïß%.&ÌöÛì‚Ò¿½½æLvù¬Ñ=jœ¥†hl˜=¼]×ö‘E¥¦õ»“öÿžüÌ=“§ÿåµBMpP`pãõÙEDfŽJpÚ|bÿØ[Æt<÷ïA±=5Zb|ߘÛÇuvË3¾m´:=ï5 9h`ÙÖ¢7B”–^*g/]nýbÓ£êÜôñ3ìO@óQœf0eç§^Èöò ô ?{ü`»ný<|ü…™çRÒOëÜw„}5OIQ^Ò¾_¢ã{ú†Ú¹p69çüisY™*Dl—>^~9çϦ&Šï=T«7Öþ9%EåY§ý=äâ’²´ÌÜâÒr¿6»ku!DIîyOKN^AÑ©s™FO߀°6©I‡ÚvíëéPóYb»4•—:—‰]ûzúxè59g~OJ>ÕyÀ(Õb¹ü[€‡F£(ç2rr нüƒ"Ûu±÷°¸ W-8ç­“r ŠÎ¦gËZ]Lç^FOßÚÌRƒbT›~òhIQ¾¢h½ãº¹ãûô»ñ‰ ¶Ý^¾ÖÆì³‹ˆTÞ<ëÜÉ´“G;õ®¹T¼f¥NK9ß{¸VO9 4r¶ae[‹Þ\QZ˜{±œõªXÎ !:wŒª}ÓG¨eæÇjµ”•+îR Ô„Ìåeå奲¢ètFÙ~\[?-–ÒÒBEÑV^ŸÔ³Ùb1ëôû¦òR«jÕëU^s ¼¬Äl*W4ZÁCjü ‰kãwìl®í~‡ß…³¥¤Ïþë« ýFڻר}v-N˶½yáårÖÏ]@3¡Uä0ÿªKÛâ2sVAi+ã‡÷()3]È/õ6ê"<.äÏýÛ›YÅ–ö }Ø ö ssk{¡.¸b"ý=Ÿ¿¥_•¿Ú~8í•å¿6‡ãÍ ôÔ⽞å©Á¾ŠFsâTúÚ­{…¢‹ëÞŸl u%%Þù³ Ùå&‹©8ódåÇU«*ë½ ­`ŒVs¹µ¬Øj5 IRbð’Dè ®46víÚ=<ÕÊÉÉr±ªªLšO9+êôe”³hn(g@9 4eÆŒ©!!¡ÞÞ>5>Õb±Ô©éóçÏët:Y–íw®ÀxòóóËÊÊôz½cÜþ*WrDÍ™ãl׿ñf>áéééz½¾y†Õ>͹“­õÝÄûši«(BˆÂ‚*ÊÙõë×$'Ÿp¼µk×Qa6›„P«»ÍŸ¿à£>ZqIÏžÝo¾ù–¾}û„„Ož|펋Íkssz‰””ä8=çµ×þóÛo¿Ú·¿îŠ+BB‚FC^îÙgŸÍËË‹ë`äСƒ >1~ü¸)S¦ºeDµïÊ•+·lÙZXX'I¢Q_±òí•W^Y¼øóñãÇ QÅK;Îvm¯q¼ƒ>*ªíÇ_~ùåõ×ß=z”c(u°ãÇO6lh@€ÿ•™I§ÝÒõ^jŸºv²~;nÛ·oÿûߟ~õÕÿ,_¾üÂ… ={vW¥ö]º2Á­åžæzò¯ð»7nܸ¹¾i4[9[ÅÉ3fÜäôˆíŠ®O68pàÀÈ‘# hû188ø¥—^ˆ±m¥ªjÃÏUpz ??¿ªÚTUõbWíxõÕÿtèÐÁßß¿N/½hÑ¢ ÆÛùê«¥þþþ²,;­ñ8p`ìØ±ƒ:{öìóÏ¿˜““{Ûm·\Éÿôäåå}úégÞÞÞ;vììß¿ÊkÚ_žíÚ=^Ãx èoß*++ëÀƒN¡lä«nÙQk9“N»¥ë½ÔaêÖÉúíüµ÷ý÷k.|â‘G6lèùóž{î…½{÷~ðÁ{Jõ_šêÔ¥+ÜZíi®÷ „@óTE9»dɧNŒ=^ÔâÜÙvíÚöí{ùë·mÛâááaÿ¬ªêòå+vìØéáá1mÚÔ„„nuí®ÓKغTZZúþûÿ=qâDïÞ½-«¢\üÃcëÀ?¬+,,\´è£ÀÀ€1cÆ$&öªåkM˜pÍ‹/¾|ìØ±Ž; !ÊÊʾûnÍo¼¦ªª}h•G´gÏÞÔÔs“'OB|øá¢ÐÐÐk®/„xÿýÿŽ76*ªMÆÕ¦Gî=zt?sæÌ¦M›Ú¶Ý´isnnnllìÍ7Ï B}ðÁ““Súõë¦Ñh† j›œÎö7ß|Û§OŸ=V¬Xѯ__ÛƒÕÍvu×£œt ®c(«œp!Ä믿9zô¨•+Wæææ=ÿü¿6mÚ\y–œžcµZW¬X¹k×n³ÙÏÏÏ;vÌÕW¶½Ä /¼tï½÷xzz !֯ߠ×ë† âô*‰‰½ªœÀ;w®X±ª°°0<<|îÜ9mÚDÖr\f³ùŸÿü×Ü?cÆt!DHHÈ»ï¾uõÕãV¯þnÒ¤‰¯¿þæˆ×/_áØÕÊ]²Íd2}úéↄϙ3'22¸1cF/_¾Â1( é³ë=­šwÍÅôUåˆÍ±œ­ßÑYUéééÇBètºèèèåËW rUhh¨ýïÁSO=}þüù[o½%33óϾÿwÞêÔ)¾.Ä… IIɶýü|„<ð §§çœ9³·mÛ¾jÕ×Ó§O³uÕÖøøx½^ß³gè訰°°Ú×X¾¾¾#GŽX¾|å#}ú®»îÐë ‡¶wõå—ÿ=oÞ\EQž~úAAAôð_¸ð‰«¯mûDã•W^½÷Þ{ê:´Ê3é´[F§½Ô©ÃŽï¦—^zå¾ûîB<ûì¿Ìfó¸qc…Ÿ~ºø–[n¶Õ»»víöðð¸êª*vþÊèííýÐC<þø‚äää‚‚‚ÚîðáÙ™Y“&M°oâéé9jÔÈ-[¶Nœ8aéÒ¥ë×opêjå.Ù‡öàƒY­ÖyónÞ·oßÌ™³V®\¸téÒ­[r Jjê¹z÷ÙõžVý»Fµ¥òˆø+­êèìçŸùÍ7«…11ѯ½öoÇC ªªž={võêï¶lÙd0lG˜¾øâË'Ÿ|¼NÝ]¼ø³U«¾¶ÝŸ6mêœ9³SRRöîýuóæ F£111qçÎ]Ž]UU5>>N«ÕvïžÐµkWQÇë3L™ríÂ…?øàfåÊUS¦Lv<ŠSåˆ,ø[vvVjê¹S§NÐÿèÑc™™YìïÒ¥³‡‡±®eÐÆ›RSSÏžMýî»5/¿üâ°aCÍfsffÖÔ©×}óÍê“'OZ,–Çüøã›z½>11qçζ¾¥¦¦6p¶=völêðáÃôz}×®]Ö¬Y3}ú´êfÛuêßÂÂBÇs± ©ª˜7ïfÛTUUo¹åf§Yj×®ãsNŸ>½fÍ÷ëׯµ}ÞݧOïK1·Ýv‹íÛÞ½¿nß¾½ÿ~]ºt Û´ióèÑ£öíÛŸ=tè: ­Ê™tÚ-ÃÂBöR§A]>B¨Š¹so9r„¢  àã?;vL•G+ïüUNà¤I¼¼¼ú÷ïçííݽ{B—‘‘i4½½½7 Ý»wou]­òý¨ªjRRòöí¿lÚ´ÞËË«OŸÞû÷X²dÉÝwßUePÒÓÓêÝg{š‹wM“h Gg…ù„cËUŽHQ”Þ½{oß¾ýôé3ýû÷óõõݱcǾ}ûú÷ïW¿ß…ݺu½õÖ[bb¢_ýU«¾Ž‰‰Ñë EEEÅÅ%QQmt:í™íÚµ³u¦á³½|ùò„„n‡BtêÔiåÊUÓ¦M­n¶]D¡Þñ]³æûwÞy·Æ w¸mÃ7ÞxÓi–Ú¶mëøœää”6mÚTyîuLÌÅ“8ýüüΟ?o»ýõ3–,Y:jÔȯ¾Z2uêEQ>“öÄŽM9ýè8(ÇÙ>ê¸¸Ž§Nv*aEÅOÏ›­r{ô葘Økôè1:uºúêÑ3gÎÐjµµš‡‡±´´´´´Ôñ*999¶ÓB\vÕ©{âôéÓ‘‘‘žžž¶Ç;wî|òäIÛýÊAiHŸ]ìiÕí`µ™|@ë8:«Ú?°s¬ÆìY½½}üüü–/_R¹\«}uWù%¼¼¼òó/Ô˜ŸŸoÿ‹hï€$Õs%‡$I“'O\¹rÕ‰I}úô ul¹ºõïßï—_vœ={öÙgÿáãã³}û/ûöí_°àouï€:bÄð .þÑMJJZºtùêÕßxx…£GµX¬¾¾¾YYÙö–³³³m•DgÛd2}÷Ý÷ÑÑѯ¿þ†í‘#G~ONN®n¶]G¡~ñ½TFÔ<áB{‰™œœ\y–œžãëë“——W]÷.=~¹"7nì+¯¼zäÈ‘õë×/_¾´Nãªn&Û¶më´[VÞKêfûoóóóíwìGF5Éd¶Ý/**²Øvl¶Ê BüýïO>úè#{÷î}íµ× îºëÎZŽ®K—.Z­vûö_l§k !,ËŽ;¯»îZ]­<ÒK»P¾ýÁ¼¼<ǃ¾NA‘$©Þ}v±§¹ØÁ\O> iÉUuº9þ5­Nå'8•³¶—.]f{°¬¬ììÙ³j]TÙ‡Î;•––þüóϪª¦§§oÙ²Õqé·íޝïŃ:õ0yòä­[Z²dé”)×:õ¤ºõë×oûö_²²²cb¢ûõë÷ã[Î;×½{B]_Úi¼EEÅ’$ɲ¤ªêÚµ?ddd¨ªÚ¥KgEQ–,Y¦ªê·nýɶQg{Æžžžüá¼g»1|Õª¯«›mQ¨÷x+ÿ¨ºA9nXå,9='.®B;99¹Uuàò}N7aÂ5>øpbb¢ítφÏdåÝÒéÇʳa¿³lÙr«ÕjµZ—,Y6hÐ@ÛãÑÑQ{öìQU5##cË–­öþ;6[åfdd†Áƒ 8àÂ…ŒÚÎÃÃcöì_|ñ%Û‘T³ÙüÊ+¯]wÝ]­r¤:Å[­Öõë7¨ªš™™¹fÍ÷C†\U]PÒg{Z;Xu#4‰Æ8:[åñ?û‹©:îå—_|üñ'?þøSOOÏŒŒ þó½uª¾,x|Á‚‹'€ÆÅÅ}ùågƒáé§Ÿš?ÿñÈÈÈòòò¾}ûTüÄVµLùÜs/üãÿ¼ï¾{¯½vr^1*ªM÷î ÇŸ>|XÅÑU;¢öíÛ)ŠÒ»w¢ªª¾¾>!!Áþþþ¦~rì[uéÒ¹gÏ“&M k×®­íŠk¯¼òÒ3Ïüã7ÞèÒ¥ËðáÃlŸø7p¶W­úzܸ1޾æšñÏ<óì½÷þ©ÊÙ®) õ¯Ó'æ5íB÷´*gɾÚîètº—^z~þüÇ?ùd±N§óööúàƒ÷*ﱎ¯>cÆ´Å‹?{䑇ë:(3é´[Vµ—:}¤ ^úÌÝwêÔé‹ÕÏÏ÷±Ç±=xï½Z¸ð‰>úXQ”ÄÄ^ö';5[yƒ‚‚æÏ_h»Œ@YYÙ¿ÿýrÆøç?ßêj IDATÿI–¥Y³feeeµoßîÝwß²¶¬²«UŽÔ`0üóŸÿxüñ'ß{ïýóçÏOŸ>ÍV,V”£G5¤ÏÕíiµÙÁª iI_}õI×®ÝÃÃ/_æÆß?ÐéI¶sgsssÜò’999%%¥!!Á¶¥âna6›ÓÓÓÃÃÃ]\í²ñ4ƈªsáB†$IÁÁAUþvîÜy7Ý4{̘«›d¶¯Xj”ëY²ËÈÈTU5$$¸ÆWüõ×ßæÏ_øí·«šd«¬   ¤¤$$$ÄñÁ²²²ŒŒŒˆˆˆ¿¿ÊiM&Óùót:mpp°$IõèOYYÙùóç===/g«¯÷Î;o†„„T3===  Æ¯”kxŸë±ƒÕcD€Æãçç/„HKKÕT•ʳ\̨¬woçkìïÙ³³ú×öóó«¡ÁÚ¼„ã )Š)„pãÁׯØðÕõÕm¯k+Ñ_èË/¿ÊÌÌ Ü¹s—Éd1b¸ão¯äl7FjÜ…œºZÝ,U)((°Æ§Y,–%K–.[¶â–[n–eÙ]C«²ÛµçååååååÔNWËùwÚ+4íHg½c§Ó颢¢*on;)¶rW] «M7êÝçêömÇ(¸x×ÔcD€ÆVÅÑÙêdgg2_ÍйsiÛ¶m/,,Œˆ>|˜N§cNÜÈd2}øáG111cÆŒvûQÀ–®OŸÕýj÷î_>ùdñ„ ãm‡nZ߈ E B¤¥¥Ö¡œÍÊÊ`âЋêN6¨® ¹©PΦ¥¥2#h©åì¡Cû™4öse+”³¶ëË-E…r¶òg€fÈ~mYM•-‚†)þR’’÷ìÚÙH÷îÛ¯mûvL2€r@cÙ³kgï¾ý¯qÊYå,€FW^^æö6 ºªñŽû@9 à2¾§@9  %—³²Ì$(g•›ÊOŸ9•™•a6[„Pmß…«ªªF£ñ0zxzxyûø„…Ȳ,„íkr[Æñ¡Ó¹‡>ým¡Aãy]ׇÚú÷b_A+ st@9[Ù©Ó'‚z÷ê'W<ðc±˜MfsyyYZzê¡«:ÄH^ú³–’_eC_É8Á"E5«‰PU5ù䉜Üû#ŸžþÓ¤!s¶¦~üΖ‡&‡þ]£Ñ¨ªªªjP@P‡öqµùÐvýú53fÜÔZ/V›Ñ™8ùÛåËÞyÿƒ¨¨¨ ›~L9yrÌè=Æ{<¿õdÎ~Y’Ûôè:üªØ™¦ró—K—8xhçî=Bˆ¿Üÿçɯq{ŸÍëÆ}„#{„h”ú§¼÷ù5Ûœuñ„ mÞ|´†/%I=wöçmÛrv¹Úóóó_¹iqêæ€øq<ôAø]O~¸çð©\!Ä{üž½£o½ÛÙ~à슗gyxz6¤3?oÛ6}êŒÀÀ zl›••¹tù’™ÓgÖuCI–ªùOéÙ³gSçÜ0ÓßÏ´øÃ•³&“Y’$³Ù¤ªªUµªªªZ­ªªZ­V“Ùd-ÿÍdÚà¥=l-;j ~È#øÏB(å9oü½¬²—EޝÍKlÞ¼fðࡲ,_,—­«ÕZZZúÝ÷KüƒBBÂ8„ä“'‚ƒBBCÃÍ&“E–dY¶i¶ýñ/**ôô4Z¬VUU#ã4²æÈÑÃ]:uug-[xüÔ¶©]F­ððOÈHú(óø¿Ãºýë ì+¿Ü&°ýëƒ÷LÛò¯ÍSúU¸ww5®ÓéŠ‹Š ‹Šô:mAIÎKo¾|ÏÿÝ<ªÇ´’â⯖¬˜1mŠ©mƺ˜”c…AC’æßþ¦^ãéÆ¡Íš¿ìØélÇGæ±;Ç!þýáÑ€rVQ\\”’i6zxU÷„`¯ŽþæææUwsø˜k„›ø®ÊßÕï°nu'xx¼ïÞç^zù¶›f{{{‘¬rÖb±¡Z­VÛgñª°ÝBY˜”²ï¬…ŸçZ ]ß û…ÆÀyEÞ,>õ¢¬Y¬ }C6Ô|Zjii™ªªÇOr|ÐÛÛ/::vÑ'o\|1ÇQi´Ã†ŒéÓ{p-‡•™_«(¢Q4MÅ™QE’eÉjµX-EÅFóλ±œµÕ²ÝÆ|mô³Z²ý#Gžüõ™+SÎþ–öä¾Kʤœ®mÞ?òí6ÎtcE;÷ÆY~ða£Ñ0zäCÓoa”7.?< ãØr“iÙòo4íªU«ÇýׇØxò½/ö?}sâónÚ¹ÌÂß›ëí¡·?òä[k—}ý£bT¯Ð†·_ZRü—-Õi«([uêÿà˜Ú7õèÂ'wìÜ5xà€gÿþD£†»º“ „‘á÷ýéž7Þ~÷Λçxxx¨rÖ¬Ú–€ÙÍ UªmÕ—,rÊs?÷k»Xç5âòTÙÜõ PóK²Wf%ßíÙaG/a¶XòòrËËÊ+Ô e¼½ýÚ·ï Z,V[9mµZU‹Õj5™L7¯©}9kµZõ:Còɤ‹çH²Óg²)'“ó r-ÛÙ–ؘvV«Õ­µìu]G/1xG™K~“¿ì3«}"&^™= Sð ]§¾éÛa¬I-mÔá®/¿°iÆ#C—¸¥¢½qÖÌgÍB䔤µ»þìÓ£6•””Ø~[-–ƒ=÷¯§ÂÃBUÕ2.þž¿~ßwfÂB£Ö»ñûÄÝWoÝuL1¤oœ»ÚüåÃÛX_ææåíÞ½G±c×îÂÂ"ooïÚTŸõ|¹jN6„PU52"ôöys>øhñݷݬ×ëÉ€–Zή_¿Æé‘Ñ£]-j±˜-B¶Ó Ä¥BªPe‘¯ÑÇ”dþOç9THŠãFÂRTœµRãѳV³Ù’U\\"„ÈÌ,ÎÈȯ®š”e98Ø'(ÈÓd*¯ý,X­VY–Í&sdd¤V«µ£u|Bhph@ ¿Éd*--=—vÎl¶¸«œµÕ²]F}jô‰2m–5!¹çÖ%í\(TkvòûNOÖyÆýûx‡Oò ŸP§WÙ“ºfwêê¤ì= OUQ‘T©STŸ”ÒÔˆÀ.· {ú…ÝVÑÚ$gïë:H¯Õ[-[˜dEyêɿٟ HÚŽýOåì<°ñvwE–‡÷ïÔ¬ÞŠ"oÞ²Õbµ !Ìfó[ºvÒåà»zœÁ`XðèÃ#† =~"é¹—^9~"ÉjµîÛµ£~/'WWKßQѳfNýà£Oî¾õ­VKŠ´ÈrvÆŒ›œq½BÙö—X¨ªªÚ+<ÛÇÿ’ zß!¥9_çŸyÐ'ú?—~Y*¬Ù)˜KSŒ‘ÿ­MUh6›3.\°}¡QFFþâO>S”ª+[,æÙsnô0Ju*7­V«$Ëf³YQ4’„*œ6Ï/ÈW4²Él2™LÅ%Å‹Ù-ålYaòÉŸ§vùÑ;²<•Ƙ¨è⣻ ºqnå'«Bµ”g•$%ýòhQÆÖ°nÏHrÍÕ†ÅjúlßS³6Mïwßß¹¾†`ü2M'~/^ÔïÆ!>·yæß†/ ónÛ.Y¾òÍwÞ³ÿø™¸îr§Q*”Vªˆðî˜^p¢QËÙfHQä 7 !öï·}ÇÎu6M2ÉþÛ—ŸÿçCÎÿ9üÙç_<‘”üÂ³Ï ¹ªþSTýúEéÒ;ÈÒ¶]ô¸±£ÿûñ'wÝz‹Ìuj-±œ]²äS§Gj8:k±ØŠ-{]"„$!TaV9X£5ZU“°d IÕ¬ª¥B-²šóô>}­R­–±[Ì–ÜÜ\{é©(šê*lÿ@«ÕZ\\"×å2LV«U–d³Ù|¶àÐ÷<è¡õÖöÇ'ìÎX±óèÞÚàá¡wÈÅf7•³§vÝÕÏàZ–·HXËÊM).+­¬‰4xÆ%Œûúäoÿ8³÷áè>¯ÕøÿÛõX™.óÿƽ–m=yÊüsq~–E˜]o’Wp¶}ÀÐèÈØw¶ß÷Ô˜o2ÀS§Ì˜:E±'õû½©ßÝÒû•²²R!D¹É4óÆyŠ|ù€½FQÒ N$„ø£½Ï¥]Øð^¯_øØ£SgÝøÛþýéç3ÂB/žÚÛ¯O!DZzºrÊÉ“Bˆú Qÿ³º“ „à èf³©S§EÅÅÿûôÓÛæÎ•e.U hiålÎZ,— YIIH—Žô¨ÂÛ¢¶5› A5Ÿ.ÎÝX’µÆ#pœÑ7Q’&“¬‘jµ†Úb±˜ÊMêË_«þŽø«GŽB˜ÊMŠ®§ÛN60™ÌŸïrDÿqzaó¯ÿu| 釛Çÿe{ú—~}o€t¯,Én)g£û¼}üÇÉ^¾ïù‡µ7—ÐûkŒ=,eG«)8¬ªZl*X+);c{>¶kÕØâ܃~Ý\•ËÙ‡¤oxxêë‹¿-±æe?E2V3/R¨.î¼éXVyŠ·&tãÑORRR^½Ü]ûY»€‹÷/IQUUm©xü©Ü}ç­9ٹݻ'X%뱬_îèûZs{‡”›,Úþ†M›„eee®›vé‘Ísg_üßÔ¯ûö !"ÂÃEnÛöDRÒî={Pï—“kw2nyyY÷„ÎÅÅEŸ~þż›f“(-¬œ­óÑY³Y! I•TI’.µBØ>Ø4‹ÞZßÉy§_Ì;û¾Þ#Ô蘟úÆ…c™ªìé·¾–½4›­¢âº”>½úÕP›ëv²,Éf“Ùl5(ú9Æ£ÓCÙúû Ûo¯ê>nh§é¿—¬-6ç©V}IY‰V«uK9kðn×qØŠß7^—8Ê?´Myá7Š>¾´Ô°cÕ<‡37.R´Ú€Ðv>f5í6—ìˆëÿhÊá·Ú xËEûßzgLŸ™gËöš²ýÔ˜ï¶}~þ³Ùùè¬$Ió®yÔd:U´×GzüäÑC¿{|ì²0Ÿ¶îÚÏüáíý{ÿ˜òÙˆ¶sÊÊKm«Áú÷ëûÀC+))yôáÿ³Äé1¡®ëÀÊÍÖµ»Ó…cû„é4îÿXü¾¾ß{4½òãF½ÛN*]»nƒâÕ—^¼jÐÀŸ¶mÿ¿‡ÿúýëæÍ™cûíýù«Á`¸ûŽ;dYó÷Ç<ýÏçzl~CέýÅ’KËJz÷î^VZöù’e7ΜN®´¤r¶~GgU!$I’„tñÊ–ö?›’ŸE¹1 .^¶¦Hj®Â3$|ÖäÄ~’4¾µì¥ÅbQUáø‡ØõÑYáx̸–å¬,—––vV¯Ý´óßy³ bÏ÷¿x¢g@´vwá'ɧNœ>’P4OÕ ­V箥`ïŽñ#V^m|ï!QEçôþGïqÿN:´µã w*L‚©ðÜ‘×/œ9Þ6±¼`¥Ñï]7~:ë÷Þ½û-\cì{ôHRßÀë'ø“A[áˆø¢_úF(>þ[3ÞóÓEœ-K>»ü¿Ç¡W ÞûË6Û}û»Î:}þñ¢¾œT͹°NE®,+žV«uܸÑËW~»òÛÕ×MžDº´˜r¶®GgÍ‹B‘å‹E¬­¨µŸr Iø[Äh«5W²f ¡êœ—³¯¸[n¾­"³4åøá³– ¿éá/{Ä„†„¸ëè¬Ñ§c—Ñ«öÿpmçÄnÁq%Ïø„½›öœÓÓ­WHû¹Ç·ÝØ&þ:kñã²÷¬‚œãÂá`¸s1'Ô³Y'ÊDNzñ‰Þ×<ñÅã8Õ²BˆI«ÿ”øøYojeÏÓ§Î>ýÄD÷ײBo}àCW-~×;Î|=¬í 7ß6½Øšû×gæ¬?òÉùsÛââù{ïºÝö­`:^§«ùèö½ÇÿrË(!Äsï¯pà¸Óoƒý<ô [›$µÄEe(]C÷÷ÈËËõõ­Ï·påååúûÔ§œ­æè¬zéaF£ÓéËÊÊ>YüŹ´tU¨’Uºý;ðhÄr¶>Gg%!ÉŠd;@+IÒåã³å U !$ÙÓl©ÛùˆŽ‡ZËÊÊ?²eëÚ“'OTþÜ\í+„Ðè´?ù€$IÝzMŸvs å¬Åj¶˜O$øùçŸÏ¦¦Êb`^ä/{òŽ´ï’/T‘t$Õ’iHé¹Füؾ}û‘ÃGÄÆºóº³¶Š6áêUûÖ^×½ShÔ¨ô”åþc+MByö¹M‘í'ZM'$ÅX”ýµ¢ ª®–µý?ÂKx${‹N§Ë7ŸKh;`ß™ÍC:N×j*a}c&ì>¶10¤]Ê™'d?uí²¿´·EúÄ?>âÛÍ)Ÿ®;öß”œý²¤´ èÞ?~ô1³Ô›ÅÊoVÿï£O÷üú›âÎ[ç9^¯ª:ãûE|¶lƒâÚAÑ îíö¿aǶýg\¶X̵ìß·«—ìÚµ-0ØO½tñ„°0ãç_¼×µs—뮡ÕÚΨUíÍÛØ_êĉÙÙ5¨Õjµ˜Íªdí?°_ÿ‹]/„ÙB1>Þ9y¹F£§§'WŸ4CÒW_}Òµk÷ððz. *//OKK«òú¯.(Š&<<¬6Å™í¬V³Ù\×÷mø5MG"322ÒÓÏ«ªúÉâóóóklÙÇÇgÎì¹’$………^±r¶Õ°X,¶cÛ¶ó§E‘eYQw-6jÑí[,³Ùb6›ÊËËÍf³ªªŠ¢hµZ­Vk»Ójré_ôîÛ/<"²ÊwYqqqqqqIIIiiiYY™ÉlBh5½^o0ŒF£‡‡‡‡‡G•ï¦ðˆˆ÷ß~sú¬YìÞ€+/--µ¡'ètº¨¨úœÕWËÏ»eY¶ý9¯gµ^‹?ÿÁÁÁ¶ªôÅî/²O467V–­¯}[ãz½ÎÓÓ³‘^¢ÊsdEññööñö¶ý×Ñd2Ù‹u­Vkûo!». ÙrÃ_©Æ>“Ï7·½›\¾[µ:V§32M€?Z9  Å”³üç@9  å  a”³ZžÞ}ûíÙµsÏ®Ô83 hålZZ*3´JýàaC¯}²à ³_˜«B9{èÐ~¦-µœ=zä6õÃÍ4¤)fb™Ö`¦!¢D(›Ê¦²©l*›FÁ ‰v€ –m ¨^{ååš?øêë®K|a,–'š“ÍÖI„hÒ*Z,—W©Û5⮾ý ¾ð¨ùoÏ7wN¢5 VÓå™i8ÓÌ4D”£`ʦ²©l*›ÊæÞ¾­Ôm>6a\YYÙª?þh劗/[ºäƒ-^´èý… üãïþíoóçÍ{{ÎÜ·Þœ7wÎcÆ ´³hg .Ë€å‰ædE³u!š´ŠËåU9 ¶º¸¸¤´¤\…/KJJKJKJ6Ì2 f¦!]‰0ÓË´3 %BÙT6•MeSÙ4 I´³hg@; µâʰ<Ñœ¬h¶N"D“VÑb¹~þ¼¹FÁöúÓÍ4D’3 ±Lk0ÓQ"”MeSÙT6•Íš‚=6aÜžÿ«rÌPïôí_°çóçÍÝóFí,õÎÄGÆïyc•;« Þ©ù»³I£`yy]*ÞWTT”ŸŸo7H‡JÝæ°;†”‚½øûç÷||×3Ï4 ¶×Ÿn¦!’D˜iˆeZƒ™†ˆ¡l*›Ê¦²©lÖ|¬¬*FÁÈ þv€ æÊd°./))))))-ù·*éSÁ2`y¢9YÑlDˆ&­¢ÅryÕ|*X¹ŠílIi‰Q°½þt3 ‘$ÂLC,ÓÌ4D”eSÙT6•Me³æ£`._¶tÉÿZ¼hÑû .øÇ?ÞýÛßæÏ«r¬a€Œ¥@; uÁ(X,O4'+š­“ѤU´X.Ï(XꇛiHS"Ì4Ä2­ÁLCD‰P6•MeSÙT6‚@í,ÚYÐÎ@­¸²A,O4'+š­“ѤU´X.Ï• R?܈nšaD7–i Ft#J„²©l*›Ê¦²éÊD; €vê‚Q° XžhNV4['¢I«h±\žQ°Ô7Ó¦D˜iˆeZƒ™†ˆ¡l*›Ê¦²©l€$ÚY´³P’FÁòòºT¼¯¨¨(??ß•ºÍaw 1 –â·ÁLCD‰0ÓË´3 %BÙT6•MeSÙ4 I´³hg .øT° XžhNV4['¢I«h±\žOKýp3 iJ„™†X¦5˜iˆ(ʦ²©l*›Ê¦Q0H¢@; ÚY¨W6È€å‰ædE³u!š´ŠËå¹²Aê‡ÑMS"ŒèÆ2­ÁˆnD‰P6•MeSÙT6ÓqeƒìõÃü·çVÿ€† ³*Ý¢ ¾˜7wNmÑÎP/t;÷¼’²ÝYYÙYÿ–½ÇYYYÙË–|P~”Q° XžhNV4['¢I«h±\^¥nóõW_©y;{hûvÁ(XÍ—g¦áLk0ÓQ"Œ‚)›Ê¦²©l*›{û¶R·¹èý… þ}Ñ¢…|°hÙ²V¬XöñÇ+W¯.^·nÍ'ŸlؼyÓÖ­Ÿnß¾m×®]‹Þ_èCnˆí,ÚY¨ FÁ2`y¢9YÑlDˆ&­¢ÅryFÁR?ÜLCša¦!–i f"J„²©l*›Ê¦²i ’hgÐÎ@]HËËëRñ¾¢¢¢üü|{@:Tê6gÍœa,Åoƒ™†ˆa¦!–i f"J„²©l*›Ê¦²i ’hgÐ΀vjŇÜfÀòDs²¢Ù:‰MZE‹åò|Èmê‡ÑMS"ŒèÆ2­ÁˆnD‰P6•MeSÙT6]Ù’hgÐÎ@]0 –ËÍÉŠfë$B4i-–Ë3 –úáfÒ”3 ±Lk0ÓQ"”MeSÙT6•M£`D; €vê‚Q° XžhNV4['¢I«h±\žQ°Ô7Ó¦D˜iˆeZƒ™†ˆ¡l*›Ê¦²©l€$ÚY´³PŒ‚eÀòDs²¢Ù:‰MZE‹åòŒ‚¥~¸™†4%ÂLC,ÓÌ4D”eSÙT6•MeÓ($ÑΠí,ÔJÒ• òòºT¼¯¨¨(??ß•ºÍY3g¸²AŠß#º%ˆn,ÓŒèF”eSÙT6•MeÓ• ‰ví,Ôr›ËÍÉŠfë$B4i-–Ëó!·©n¦!M‰0ÓË´3 %BÙT6•MeSÙ4 I´³hg .Ë€å‰ædE³u!š´ŠËåKýp3 iJ„™†X¦5˜iˆ(ʦ²©l*›Ê¦Q0H¢@; uÁ(X,O4'+š­“ѤU´X.Ï(XꇛiHS"Ì4Ä2­ÁLCD‰P6•MeSÙT6‚@í,ÚY¨ FÁ2`y¢9YÑlDˆ&­¢ÅryFÁR?ÜLCša¦!–i f"J„²©l*›Ê¦²i ’hgÐ΀vj%éÊyy]*ÞWTT”ŸŸoH‡JÝæ¬™3\Ù Åoƒ݈aD7–i Ft#J„²©l*›Ê¦²éÊD; €vê‚¹Í€å‰ædE³u!š´ŠËåùÛÔ7Ó¦D˜iˆeZƒ™†ˆ¡l*›Ê¦²©l€$ÚY´³PŒ‚eÀòDs²¢Ù:‰MZE‹åòŒ‚¥~¸™†4%ÂLC,ÓÌ4D”eSÙT6•MeÓ($ÑΠ€º`,–'š“ÍÖI„hÒ*Z,—g,õÃÍ4¤)fb™Ö`¦!¢D(›Ê¦²©l*›FÁ ‰ví,hg V\Ù –'š“ÍÖI„hÒ*Z,—çÊ©nD7M‰0¢Ë´#º%BÙT6•MeSÙteH¢@; u!i,/¯KÅûŠŠŠòóóíéP©Ûœ5s†Q°¿ f"J„™†X¦5˜iˆ(ʦ²©l*›Ê¦Q0H¢@; uÁ§‚eÀòDs²¢Ù:‰MZE‹åò|*XꇛiHS"Ì4Ä2­ÁLCD‰P6•MeSÙT6‚@í,ÚY¨ FÁ2`y¢9YÑlDˆ&­¢ÅryFÁR?ÜLCša¦!–i f"J„²©l*›Ê¦²i ’hgÐ΀vjÅ• 2`y¢9YÑlDˆ&­¢Åry®lúáFtÓ”#º±Lk0¢Q"”MeSÙT6•MW6€$ÚY´³PŒ‚eÀòDs²¢Ù:‰MZE‹åòŒ‚¥~¸™†4%ÂLC,ÓÌ4D”eSÙT6•MeÓ($ÑΠ€º4 –—×¥â}EEEùùùö€t¨ÔmΚ9Ã(XŠß3 %ÂLC,ÓÌ4D”eSÙT6•MeÓ($ÑΠ€ºàSÁ2`y¢9YÑlDˆ&­¢Åry>,õÃÍ4¤)fb™Ö`¦!¢D(›Ê¦²©l*›FÁ ‰ví,hg V\Ù –'š“ÍÖI„hÒ*Z,—çÊ©nD7M‰0¢Ë´#º%BÙT6•MeSÙteH¢@; uÁ(X,O4'+š­“ѤU´X.Ï(XꇛiHS"Ì4Ä2­ÁLCD‰P6•MeSÙT6‚@í,ÚY¨ FÁ2`y¢9YÑlDˆ&­¢ÅryFÁR?ÜLCša¦!–i f"J„²©l*›Ê¦²i ’hgÐÎ@]HËËëRñ¾¢¢¢üü|{@:Tê6gÍœa,Åoƒ™†ˆa¦!–i f"J„²©l*›Ê¦²i ’hgÐÎ@]ð©`°<Ñœ¬h¶N"D“VÑb¹<Ÿ –úáfÒ”3 ±Lk0ÓQ"”MeSÙT6•M£`D; €v´³P+®lËÍÉŠfë$B4i-–ËseƒÔ7¢›¦DÑeZƒ݈¡l*›Ê¦²©lº²$ÑΠ€º`,–'š“ÍÖI„hÒ*Z,—g,õÃÍ4¤)fb™Ö`¦!¢D(›Ê¦²©l*›FÁ ‰ví,Ô£`°<Ñœ¬h¶N"D“VÑb¹<£`©n¦!M‰0ÓË´3 %BÙT6•MeSÙ4 I´³hg .$‚ååu©x_QQQ~~¾= *u›³fÎ0 –â·ÁLCD‰0ÓË´3 %BÙT6•MeSÙ4 I´³hg@; µâCn3`y¢9YÑl] ¦M›æE¨ÿ|ÈmЇÑMS"ŒèÆ2­ÁˆnD‰ØÏi­TÕMeSÙT6ëa"\Ù€ví,Ô£`°<Ñœ¬h¶.•j¸Dˆæd¥µF«T©Œ‚™i¨ûD˜iˆeZƒ™†ˆaLÙT6•MeÓ($ÑΠ€º`,–'š“ÍÖ¥À(˜hNV´ú¿<£`©n¦!M‰0ÓË´3 %Â(˜²©l*›Ê¦Q0H¢@; uÁ(X,O4'+š­KQ0Ñœ¬hõyFÁR?ÜLCša¦!–i f"J„Q0eSÙT6•M£`D; €v´³P+IW6ÈËëRñ¾¢¢¢üü|{‰Ôp ã*Õ¬™3\Ù Åoƒ݈aD7–i Ft#J„+(›Ê¦²©lº²$ÑΠ€ºàCn3`y¢9YÑl] |È­hNV´ú¿<r›úáfÒ”3 ±Lk0ÓQ"Œ‚)›Ê¦²©l€$ÚY´³PŒ‚eÀòDs²¢ÙºÍÉŠVÿ—g,õÃÍ4¤)fb™Ö`¦!¢DÔù(XÏž= ž~úé‚‚‚ž={¶oß~ìØ±å7öìÙ3„0vìØòh“'O.((((((,,<æ˜c”MeSÙT6ëá(XvàÀðÜsÏ…N8á„ñãÇ—¿¨”ß8eÊ”5kÖT:dË–-åÞó^€ú@; ÀÏTžêIDAT^µjÕª   „ЬY³‡~8Úÿ   ½*¾;«—ê'£`°<Ñœ¬h¶.{>|ø=÷Ü“¸±üëŠ7þìg?[°`Aaùòå—]vYâëÂüùóË¿–¿_¢Ik$Œ‚¥~¸Q°4%ÂLC,ÓÌ4D”Ÿ ¦l*›Ê¦²éSÁ ‰ví,hg V\Ù –'š“ÍÖ¥`Ú´i^ä€úÏ• R<܈nšaD7–i Ft#J„+(›õí·µÒ“DÙT6ƒ+À~¦@; u!i,/¯KÅûŠŠŠòóóí@&ª²†ß{ï½ .L|ýÔSOŽ=úŽ;î=zôžxõÕW‹‹‹íäû$iÕªÕ+¯¼²hÑ¢ŠÏŠ.]ºÜ}÷Ý[·n !Üzë­?þø¦M›O¡k®¹¦I“&;vì8äC~ûÛßÞvÛm&L¸êª«vïÞBÈÎÎ~öÙg·lÙB=zôk¯½öÒK/…*>ýð$œ5s†Q°¿ f"J„Q°X¦5˜iˆ(õalìØ±Ÿø6ñÿ‰ÃËø¶cÇŽ_|±²ײYå(Xùs 77·°°°Ò³âì³ÏîÝ»wáˆ#Ž>|xâöĦL™Ò±cÇBÛ¶m›5k6vìØ{ï½÷ØcM<æ¸ãŽ9rdùã Î:묠/¼°·ç˜²y ü~E2 –ퟎV­Z„víÚõüóÏWó€fÍš=üðË/^¼x±}; ´lÙ²oß¾mÚ´iÒ¤ÉôéÓ÷|V\uÕUO=õÔ·¿ýíÄÛ«åî¹çž+¯¼2„°yóæÇ<„pðÁ/_¾ }ûöÑ^0˜Lñé§ŸNœ8±yóæwÝuWâo*=+^}õÕóÏ?¿]»v+V¬(?ªY³f!„)S¦¬Y³æú믿ä’KB6lÈÍÍ]¶lY!77wÍš5åß¹sçï~÷»›nºÉ†£`_%Þ{kÖ¬Ù»ï¾[ñ}¸?þñ[·nÍÍÍõæÙè³Ï>{饗®¼òÊqãÆUzVÌš5kÒ¤IãÆ«øø]»v]vÙeÙÙÙ[·nm׮ݣ>úõ¯ýÉ'ŸìÙ³gâßEÙÙÙO<ñDÅC–.]š››{Úi§]|ñÅžcì Ÿ –ËÍÉŠfëRP©†K„h_ø$±uÊæþVéIèSÁŒ‚Õ}"Œ‚Å2­ÁLCD‰ð©`Êfð©`ʦ²éSÁ "í,ÚY¨ FÁ2`y¢9YÑl] Œ‚‰VÛ'‰­S6÷4£`©n¦!M‰0 Ë´3 %Â(˜²Œ‚)›Ê¦Q0¨H; €vê‚Q° XžhNV4[—£`¢ÕöIbë”ÍýÍ(XꇛiHS"Œ‚Å2­ÁLCD‰¨£`“'O.(((((2dH¯^½rrr¦L™Ò­[·ÂÉ'ŸûlêÔ©—\rÉk¯½và 7üâ¿(..!~øá•iß¾ýš5kb³ýû÷Ÿ6mÚòåËCÇwÜ7Þ8bĈòÍiß¾}II‰'ÉÑGýýïøðáå·œ~úéßøÆ7þþ÷¿_|ñÅS§N½øâ‹Ÿþùùóççåå½ÿþûŸ|òI^^ÞŒ3Î8㌟ýìg!„M›6µmÛö„NøàƒöüíÛ·¿óÎ;‹ŠŠúôé3zô諯¾zøðá;vÌÍÍ9s¦ßVjN; piÙ²eß¾}íìO<Ñ»wïžxâ‰'tRË–-‹‹‹›5kÖ§OŸvíÚM›6-Ñ¿¶jÕª   Y³fÛ¶m›4iR´ÿ ´®z衉^6„°téÒC9¤üLC5z衇<[V¬XqðÁ—?mÚ´iÓºuë1cÆ4hÐà /8p`çÎO:é¤×_ýÊ+¯lÕªÕo¼qÑE5mÚ4„°uëÖDI“&ýøÇ?¾ï¾ûö|vØa»wï...þÍo~3a„ñãÇoß¾}ñâÅ‹/¶ùhg¨Ú§Ÿ~:qâÄÄ×—^ziƒ úôéÓ¨Q£«¯¾zÓ¦MG}ôŠ+Æß¿ÿÄ>1}wvíÚµ¹¹¹Ë–- !äææ&N­â»³ž*!„ãŽ;nݺuåO›æÍ›5jÓ¦M_ýêW+>sFuøá‡gee?¾cÇŽ½zõúë_ÿZdçÎS§N½é¦›ö|¶oß¾[·n7ÜpÃ/ùËuëÖ-]ºÔž£ .¸à‚»îºkãÆ!„‘#GΘ1£wïÞ[·nmԨѧŸ~úÉ'Ÿ$VñÝÙ7ß|sþüù18÷Gyäûßÿ~âæÄÕžåZ¶lÙ¯_¿† 6oÞ|êÔ©å·öÙg¯¾úê 7Üpâ‰'&ž9íÛ·ÿÁ~Ю]»E‹yä‘;wîœ7oÞý÷ßýõ×W ¸hÑ¢®]»&Þ¯ø#š7o~Øa‡ýæ7¿©ø`l@ \Ù –'š“ÍÖ¥À• D«í“ÄÖ)›û?š+¤~¸+¤)®lË´#º%‡Ü*›Á‡Ü*›Ê¦¹€Š´³hg .$]Ù ''§ÒßCìùW5d 5Oê¿=ÿV¸Öª;pþæ:˜iˆ(FÁb™Ö`¦!¢D(›Ê¦²©l*›ÕG3 ÀG; €vêBuŸ æ3D“VѤU4'+­¢Ië~‹ý§‚™i¨“hÁLC,a¦!–i FÁ”MeSÙT6‚@„´³hg .;àNVZE“VÑœ¬hNVZëg4£`fê>fb™Ö`¦!¢D(›Ê¦²©l*›FÁ ‰ví,hg V\Ùà€;YiMZEs²¢9Yi­ŸÑ\ÙÀˆnÝ'ˆn,ÓŒèF”eSÙT6•MeÓ• ‰ví,Ô£`ÜÉJ«hÒ*š“ÍÉJkýŒfÌLCÝ'ÂLC,ÓÌ4D”eSÙT6•Me³úhMWóÿ•‚e¨úö/øÂÇÌ{î¼¹sÊ¿ÕÎP¬...)-)WáË’’Ò’Ò’’† ³*>Þ(,i,/¯‹ N »cHßþ5ywvÞÜ9W_w]0 –òÉši8ÒÌ4D”£`ʦ²©l*›Êf £=6a\YYÙª?þh劗/[ºäƒ-^´èý… üãïþíoóçÍ{{ÎÜ·Þœ7wŽQ0êµûî»ÿééÓ+ÞÒãŠË ¸mÏGúÛYê;îÚ­Û7Ë¿ýú×¾öê|¤v€z'++ë§÷ßÿå/9„pÊ)§Ü=bxÆU7®>ì€;YiMZEs²¢9Yi­ŸÑF¸«Ò(Øúõë‡q×°a­Z¶4 f¦a$ÂLC,ÓÌ4D”eSÙT6•Me3£`þØ€ ¦ ƒ¹PõÅü·çVÿ€JŸp« ™7wNmIjgG¸«æGv;÷<;éðÚ+/Û„ýI5¨'/j‰‹ìS;BèÛ¿à ™ÿöÜysç””í–!H“šü&²ïT3€zò¢–(ȩůâ V×äȬ,¨iTÃßDöjÑ/jUñ’Ò’š½dÉ ¤O ‰¢UÍ2øE­ªv¶$éç•––þüÁ‡z€ýú›_RßÛÙ™/¾Ð·ÁÄGÆWùÿ+>\®`ϵŸ=ðÀàAƒöö‰µÑ·³;wîüɰ»^~ùåA?ú‘ÐÎÆrýªÀþ|Qx≩«V­¾ïÞQ999iog7mÚ4ðGƒ,XPå+“¿6í`\ÚYÕ `¿¾(¼üòË}o^;ṽ­[·NK;[úÿÞ]Ç'zÙŠ7Vxð~¤Qi†·³¥Þ`ï/ ,¸køðÿ3vlZÚÙòöyø°a…C‡¾÷ÞÂPõ»³^`ÿýCÖúµ³qzQ8唓‡É‹EuílË–-~è¡{FÝûÚë¯ûcÐÆ·UÍöë‹B·o~sø]Ã7nœöv6„••5bø]yÄ»³ Œo;«šì¿…«¯êùƒþý6lÕ+E®;Û¿¿=oôéýͯ÷×ízæ™óçÍÝÛÿgÐV«fûóE­ÿ~e¡,—¹êFÁö¦aÃ,/n™> –T3€zò¢–(ÈÑ´³óßž[ÃpþÚ Ò§æ¿‰ì;Õ £_Ô*ñysçÔðÈeK>H“šÿ&²ïT3€Œ~QkðôÓ¿=å”N‡~¤½ ³¬ZõqÃú¶¦Ù³_jÓæy™ÂFÙR¨Ú´³ í,ÚY8ÚÙÕ«WïÚµko÷®ZµêóÏ?·Ñ™¥úœîϺyóæÍ›7—»sç®7fÖf®]»Ö3 €üU~o*½ÐïvvÈ¡½zõîÝû»·ÝöÃéÓ§—––†®¹æÚþsÑÞéÑãÊeË–E~òU®d2dèw¿{ý–-[Êo=ú¿zõê½|ù‡þ”­[·ÞrK¿Ä×o¿ýv¿~ý»u;·{÷o 2ôŸÿügúήúœÖÖ;ï¼óƒÜzî¹ç]pÁE·ÜÒ綾^ª2_UþÐñã'<úècåß>ðÀ/¾øRâë7Þxãž{FÝpÓ'O®xÈ®]»î½÷¾sÎ9·GoÏœù?_xûÞD¿°pèœ9sUOÒgéÒ¥·ÝöÃóÎ;ÿüó/ìÛ÷æwÞy'ÚWùgžyvÆOÒÑUz¡ßíì»ïþýì³Ï.,|Áç?ðÀÏ'MšBxøá‡Ž?þ¸ýœ¶*W²Ÿð¯ýë÷¿ÿCâÛ7>÷ÜÏŸÿζmÛ"ü)¯¾újNN“ÂŒ3o¼±O×®]ýëÉ¿þõä®]»Lœ8)#~Áf̘yà 7žvZ§‰›6í‰ï|ç;¿úUц ö|ä>‘Ö­[÷ /~ç;×$¾]°à½-Z„P¶lÙòŠûùÏœ?ÿßþvÊÀ ¼páûÕß¾7QÅ¿ùæï?øàƒJ-iòùçŸï{ùÇ{Ì“ON›2¥èòË/ß¾}G´?âÁÇ|üñÇuØU¯ÖŸT~Ì1ÇtîܹsçÎ+V¬˜=û7ßÜ÷Ozã°ÃkÞ¼yiié3Ï<ó׿¾µ{wÉ7¾ñµk®¹¦â;wîzôÑGÏ<ó̳Ï>+’¥WZÉqÇ7{ö7mÚ˜››{ÓM7µm{HaìØ‡ºwï>}úô5kÖ^xáßþv÷îŠ+z<ûìsßýnïÂï~÷ü%—túé§w•••MŸ>ý/y³Y³f×]wm§NªYÌ}÷ýôöÛ4oÞ<„0sæÿäääœsN·Ä]³f;ð >ÿüó#î4hàþç&n¿öÚk¯ºêªÂìÙ¬ùYW™ *—á/Øðá#”Ÿcâ–óÏ?ïÜsÏ)++K¬ó¢‹.zöÙg7nÜ8vì˜ò'ÒŽ;yä—‹/>ãŒ3JKË*þÓð /hÔ¨QâÛ~ýn !ŒqwIIIùcJJJž~zúøñ¿èСC‡.ºè§žzjäÈ»÷v{5‹*þW¾ò•-Y²äøãWsˆÜŠ+Š‹‹o½µ '''„pä‘ÿþ¨×ê_嫼wÏná™gžýôÓO'OžÜ¶mÛK.é~úé§×¼#Úµk×o~3åÝwÿÞ¾}»>}ò:ê¨ÂÞ^èSîIRÿÛÙO>ù¤iÓ¦!„éÓŸY·n}aèÐ;¦O¶G+z÷îUñ=ç–-[òóó?ýtëYgy+YºtéE]xË-7‡®¿þ†D 2mÚ“wÞyg—./»ì[£FÝûç?ÿ%Ÿ۵kçÍ›7/Y²$„ðÌ3Ï$úË„ŸüdØŒ3¯»îº¯~õ+}ûÞ’x£no‹)***ÿÌœ9sæÍ›WÞ þå/9çœn .\·n]Ïž=“þ!’B¨ÕYW™ *—•÷Þ{oýúõW^ùí¤ç\ÆYYY‰u:ô´ÓNK4ÜåO¤þý –,YÚ§OŸM›6=÷Üså¾þúëgœqFõ?±¸¸xË–-§žzjâÛN:%Îho·×V ñ6lxÆg¼öÚë .épØa‡µhÑâ¾ûî_°à½ŠoÁ|á«|•÷îÙ-œ|òÉMš4éÒ¥Ë7¿ù#Ž8¢VÑ­·ÞöÖ[o]ýwÛ¶mۣǕë×W÷BŸrORëwggÍšýÑG­\ùÑóÏ??~ü¸òÛ?üpÅïÿ‡¿üåƒ>8„Pñ-Ø?.0àö^½®»ñÆïE˜¼J+9ï¼s?ÿüóõë×_{íµÿ÷ÿþnÙ²e'œpBâ=¶îÝ»‡Þ~{ÞŸÿüç¯}í«®áª«z>ûìs—_~ùîÝ%:ýo+³råÊßýîùyóæ6iÒ$„P\¼êñÇ¿ÿþûj»˜9sæœxâI-[¶\»v]Ó¦M[·n½çcn¾¹o ϺÊU³ÔH¬[·¾iÓ¦tPâÛÇ›˜øO½z]wâ‰'†úöíÛ£ÇY²dÉܹsçÎ}«iÓ¦gžyÆ›oþµÂ]K:êÈêâ–-Ÿ†Z¶l™øö ƒJü*îíöÚJ-~‡G-]ºTÁ š7o^Tô«Ó³çUÍš5ëÞ½ûw iݺuõ¯òUÞ{Ë-·ìÙ-œ|òI5êܹsy«SÃŽhÉ’%o¼ñç·Þz³eË–gŸ}Ö»ï¾;uê´K/ýV•/ôûÒ“d§°k 48í´NýúÝ’›{lÅ.äè£Nœ|%·ß>ð;ßùN´½ìž+3fì3Ï<››{l“&M>ûì³µk×%»ÜÜÜă۴i³zõêhгç•W]uͶmÛ®¹æßÿùàƒ%¥¥%=z\YVVVVV¶mÛ¶ÿøŽ‰»jµ˜Ä_„Z´h±}ûö;w&þ#BE5?ë*TÍR£úÛ±cGùÊ>úèæÍ›?ôÐC_ûÚ×íì—¾ô¥J‡,[¶ü˜cŽN¼ñB8é¤ËïÚ±cGãÆ9ÕÿÄ&MrLDضm[Ó¦Mª¹½¶R‹Ÿ““SåŸ @$ºtéòÄïØ±ãí·ß5ê¾ÿø'&Œ¯þU¾Ê{«içR舖/ÿ°C‡åïõœrÊ)K—.ÝÛ ý¾ô$µng÷ö¨mÚ´Þ´iS•‡ŒuÏO::/¯Ó¥—^aæ*®äƒ>xòÉ'_}õ•fÍš…Î>û«ee¥å-oúž=‡vØñÇÿä“O½ñÆŸÊo<è V­[·™9ó¥*ûï*r½{÷îÄ×[·~–8…ÂìÙœ>ýæ©§~¹qãÆúÓ\p~r3Z‹³®2AÕ,5:Ú¨Q£7ßük⯻w¿8„0iÒ¤ çžUéV­Z%ÞéLزeK‹-_zè¡7~RýO<ꨣ5j´lÙò“O>)Ñ{ì±ÕÜ^[©Åß°aᇪÚVMš4ùú׿>`À­#GŽúÂWù*ï}çwªlç¾°›ª²#jÕªUÅ‹pmÞ¼ù ƒÚÛ ý¾ô$‘}ŒÂÉ'ŸÜ¸qã'Ÿ|*ñmÅ‹ƒžxâ<þø”Ÿþô¿ž{î¿Ó”¿mÛ¶…Ð ñ™/¾øâþ¼ÒçÈ‘#~ýë_%f°ÊÿñQq+vîܵråÊj"{챉 9­[·î•W^Nܸ`Á{ÜæðÃ!´hÑ¢oßïuoù‘¬\¹ò±Ç&ÖꬫLPm—Z[‰•9²|åÛ¶mÛ±cg5‡œzê—wìØþú믇V­Zõò˯”ßÕµk—÷Þ[XýOÌÉÉéÖí›?þxaÆOþð‡?\rÉ%ÕÜBxíµ×fÍš]Ã3J!~á½÷vîÜY Ö­[7sæÿ$þjv÷îݯ¿þÆ 'ÿ…¯òUÞ»·v®M›Ö_ø_•÷숾üåSJKKg̘BX¿~ýóÏÿþÜsÏÙÛ ý¾ô$ÙQmeNN΄ ãüѤI“sr·jÕjÚ´©å÷üñS§>ñ½ï}oûöí‰Á·hzê©§ŸÞõÜsÏ?ôжGqDâ?¸ï¹¹¹åÿe¿|+ydÂàÁ…'NjÙ²ÅêÕkÔ¡C‡½E4èGƒ ž8qbVVÖé§ÿï¨ÓìÙ³/¸à‚òÇ x{ãÆ{÷þnóæÍ›4i²}ûöAƒ~T«³®2Aµ]j ¼½I“&×_CãÆ[µjµaÆK/ýV×®]÷öø¦M›>ðÀ?úÑ࣎:j×®]_ùÊÙåw]vÙ¥ãÆMH̽…|pÌøñ_O:­_¿[† ) !Ü}÷ˆ>}n:÷Üó6mÚÜ£Ç_|Qâ1{»ý…^lÚ´iâï:*Š*þÚµk?úhå7¿ù €t(--7nÜ Aƒ<òÈõë×wèpÔ˜1~aCRå½W_}U•í\¿~ýF޼gذ» _sÍÕ5숚6múÐCc.7nܪU«{÷îÕ­[·B•/ôûÒ“4xúéßžrJ§Ã?2ª=]»vmYYYûöíS;|öì—®¹æúSùCÃ5kÖ4hР]»vû²þ}Y@%6|²}û¶öíÛ—_[jovîܹzõšŽjØðß/¿ôÒË~þóŸWüËÑÄ?¹Š‹W5mڤ⹮íYW™ š/5µ*)))...--;âˆÃkò#>ÿüóââUGyDâ eee—_~Ř1vìøLSVV¶råG-Z4¯ô×?UÞ~á…?öØ/+ýFÿá‡QRR2pàíûó¹À&1BÓ¦Më=gÇ«•¯òÞ}lç*½8·mÛ¶âP•/ô©õ$«V}œùnîc7¹/"ÙôrÈÁ!Ôè©srrŽ9æèŠ·üêW“÷<ììì£î°g]e‚j¾ÔÔdeeÕêMßFUÚBƒ FºgÉ’%_ØÎ6hÐ`Ϫòö’’’¡C‡Ôª—­UüÄ?šËßQ€4iÞ¼ynnó’*ï°kРAÅKáVóBŸrO’-ýõS}kÍë‰Èÿ5++«Ò€]än¿ý‡éÓРí,hgÐÎ@}ýug`ÿXµêcïÎÁ²Ë[{@F¶³ï½÷w@&ú¥)š8Zá¢IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/schematicfinished2.png0000644000175000017500000003363013634703632020703 00000000000000‰PNG  IHDRuXtbÿ pHYs  šœtIMEØ &5H9é˜ IDATxÚíÝá’£¨PÙš÷¤Ì£qônn:*‚ ‚žS][;ÝÆTü‚‚ÓÏóz½®]ÃèP  À.¤*P” Êëõºv £@*€ T»¨@P~ºUðÿ¨€ës§è ÀÎ(™ùK€aé¿€AÅŒß î*8O˜¦8M!;€†d *Áëõºv £@*€ T€5Äõȧ)®¿<ª@€(À#*€rq=_fS€Žßp]Êt/@¾èLX¿Øí"8 _éûž÷°”;§ÿçW&3Jü€§…KÃ*øö¼¹}¸ÄqÃÍš;$€|‰]R»X´“c3ÿ%ò%ò%ò%È—\ç*H‹q ¡Ùb%o<ûMØZ`q±÷Âaë]B^1ÒË_¶JÊÍçòe÷´}Zú p±:Jf¾Eè;GÝs}|#8†0=ÝO@ {C^Ș qí-DI y¾|½^•k¬\Ãpøº2^_þk?þ·`oP  Ð¨@xx¨¤3òÝs¹Ù…Ù²3æ2–ü)–¯¿¼ºFÙ¬µÊ£U8zwöü`p®§"c¸äzq¨1¡z€½ŒïÉ láܸ>zKß´«ÁÑqé~ÐÅ_:°}ÊX? _ž‹.¿<õa±0c5R±î-âl”úâÐõÏžØê¾v?@XY? _^ðzˆ#!‰ehõò°ôY>û8çi2ü®µ¦ì5òå%æ]˜]Ü‘ù„„´˜¤7¯˜­/ON–‹9òâ‹æï”©n{æ…N@¾¼ÖI£|Ò ²þÝØ!5¶0Дù‰º û—î°ÜQ€|yA¶IöPžñ¸ÈÅé{ÚO K³¬Ç>bÙüãÝxº¶À”½@Óü¸ñ÷^ðg?ÕFzýqýçèÍTT° ¶ @»ýí.Œ˜—§~ìdh·± a'èˆû////@¾@¾@¾ù€3óeý“c*×pF¢??aüC@ú.Àåïn ^[¨*€æ<¿›ëãÈ—È—È— _p?ªà[Æ4‹µZCýÛ¸)~¢ aaR/_|IzóeÖ›/BÙ§ ÁñÉ—9ËÄSÞhßÂw —ŸÑí량_&bâæ:Kßeþò}Ÿž~À÷âú¸¶½Óp9ýîÌìA¬_çü—ko½»RÏ%ò%Ògu•WÚbÎ+ºr]ºÎÍ«í›q±„Â%ò%Ó¶ò|°£JëÂezáœ.ÌšT×*º&€|É< ¨‚ÃÃåÉÑmGvLôA&Âîü=Ü’ñãë‘hmÈvȈžaW6{cYÌ+來Œõï.y£,˜Ù…Y”ˆ¿Â%ò%Ù1þÎUq³H¯¡tN¢ÄÛM³µ%VþµX\ùehWòí'bf¸wýZþи)\ð®—f„Œpùþÿ¸µ@þJ fýŽóbÞzÖ~Ùªäí"Z~/fÿþÌg¯,)3Î —<‡þËdb‹ÉÇtî ×£‹Ö0Pæn]ò¢‹ËEaî«×s-bÖŒR./) R-3Ôñï/*y¬ú,;òbívUÅø\ò§0†À³Å¥Æ•ßg涸õË}kØükú-by9ç¿<òqG›¦Ó#µ¦ºÅ‹æEEªY’Ç5Bö `pî¿Ì ^lš ëCs8r啵·rŠý¹EòÐDè9ô–,ßߎ와|yëX3–™–ÒdØZ`Ê^ y Œíêg³äM'˜Ì*ÔʃçÏÿZxíùãkêÉy¨<Ýëõºv = 3ŠÅŸÍâ®j>~Ì]ÿž lQòÏüD·ùOý³Â¢7/yÃCànˆ}þ,íðqØû°cP”Ÿß5¢^ln­ß Ï;¾P©a C.æÌ—6}_™rØÛ-¢“ ð´|‰d|ò%ò%ò%”ñüñ™Äéaý%+Y4yxó™ÆÓãj7ßnqͱº‹Ĭ½QÍÈß®&f7K<òåº?¹Þ8Ì?Ú;·½ÿ35`iÄœ¯sþ䞯ß,Ùµ¨º»<À͸>¾/]ùò†Ë¯‘ÿüæÆ×Þåë¾Ö¹.§•^ÉÄ$Ÿ¼5/)QL<\TÓaõaâ9Éom9¿O,ÖªÇQ¸@¾¤Q6­H'I:8V&¿u›Ø"éò¸,À]¹ÿr_ÊÛꃌ³L™øgeYâBŽY¼‚¼v_ã´~Ùwó­3ÃÙ|U9·0îÈ‚?U±/‚Ÿ™Ý×®¿7ßÊ›ZÌ@¾<+>qö’ØìšøZšLÙ¿òµÀâòó imàË´>P¦&Ì%òYiÄœ::n–†ËµòäTìç29c˜ÄMê¹>¾$üþ© —ïyÚ^¼q0q7á%;S÷}êµÔ˜³žŸŸy?ßbªn’Àv$×ÌûP›)g “»//»Ì¦™¿¼¶˜[o3gä°ù‰n›±¬áäšûBÒZÄüü™Ö‡e–ää;hÓ›Ušà®cè‘=Ÿó Ëâ‹ïXYc‰©Ôóç¶üê9é/)M@kQe¶Àà9£èÙ6ÓïîÀiÚ“ºJãi“ˆ™óÁÓ7ž~ýÓ ŽÈ— M+L`µeG-¼˜2Ox‚biÄÌ\òëÆÓDdLÜúÖ{ØÊ°ƒû/[Û ¡‹žËÍ‘+¥“•Fœ¢¹*› 6ß,y«±;}í±j+€|yµÅ¡â…§ðÏ¡$MÒÕb¼ûÊéÆÓ´=óbz"ñÄ5åô§ÛÑÓ¹øa¿~3/ÒÚŒN9Iw1+×gâúð—0¾8F^â ½×ëuíF/À¿/¿ ×PsÊÏ/ÿ×°èùæC§kx/°X€¯%ÓÁt­›å©©Ï& °cmûv¡ú5lnèµÏø€F >¢ºn ±úkŠóˆ T€‡Wà=ãõ…õryàtÒ\¿ºÁùùhÈý—È—È—È— _ _ _€| À‘þ<î›÷—U€|éܾÃ@ ® _ _ _@™0w!ƒ| -æ4MS4Ö žë*H‹q !wÉ_ ìÑ£ÔãJ›žX`q±Ÿ%CÆ[„Œ2¤—?i›Õ½u4Ã4Š˜ïVÂ1ò%ûbèg¦Œ± ˜î—a+ê…½ù).­añ<á´lM)¸{,N1f-6ÿeŒ—~„˜ý§ù?cûÊéP€® ÐoùCnÛb :àáxóž‹w侞È/ýq×ÚâQ•Ùç&>äCéž¹S+@óºWýðî¿L¥ÃÊ(¼ÿ2TÜÏÔÛø•øû­¯¹™ Bù'·®&þê2Øê> _ò™wÄÍc‡ø„Œ°˜?è§òœÑð-B2 ~¢Zõ5®­pq•æ Yòåžö06XC8¡=MwdžS€“×Z¿{XªÏµ·®îd l0¿úzê¥M ÷ =avohóÎ×—×ELÈ9¸bÁ€àfô_®7qá79¡ók.ÌS£˜¦¸9‰>[{}aÞÑ:m.ùz½ìç¹g–ŸèÖós3û/!λ¶PWù²ô÷_šÿæÿ­]À¹ûòeâO{®ºxž8°Äøqöú¼MÙ˜Àsùª}ÌzÎGí—LÕ«˜¦Éøq€'Fì#‚àûYµR&<žëã‹’N©æŠ9 _ÜÛg”ÿºØ_¸Øúù’ùÊ7ßq¾žsm=kŸ"ó]Ö^õS€Å¯šôÂ"eÈ—‡¤Ãy;ϻ粴#ó+TÍ_ûóË&³í[ÏW‘ËS:p~ñcn~³rrV R&€p™·Lü%—o5*‡Šþrsù/÷­3§ükãÇß©îë¯é"¥K²¸ÎÒÚË,ªˆ9òANEíª`x<ã{ŽùŸóËòp™ßÿ÷Ó‘yƒp3ÿÈõwjt¯§[Háßæ.H™ðt®ðÝ=;cËйw®:£÷ýMÛs/iÙª¶Zì#¨­ÅÄt‚¼6\4üEO!L[£Íö½ªñ7ÒRfQ-e.œSKïe힦 ù’üÆl«= AYkì.œ´¨ÕYj-¤Ö¬ü >]³,q~lJ}kõªÚÝû¢”¹öàÜŤhášïà Âý—M-Î9\Þi÷uëdNåâ8˜¶ár>eOº?²þ©ó¶ãCåL3Tß±zÐj!‘ö>„Í®²šWµ‰DçÞ—9ÿ°ï¼6ÏÚÚÂdhàõz]»†Ñ ðïËãïŸò5Ë~Ÿ>ªÍwy¿¼¨HŸ ès}¾|s ùâjwïM¶‚cðèÄ­ 3n ü|²Ò—Ï[›¯£¸qùãXTìùÂéfdså‰ÄèTåj¼¾°^./À-{z (_:^jÂåÖœÑY.7—Ùñ-È—Où*U4ûlÿÉR¾„Nßp‡X¹ï¾ä3†š¥äKò9¼è k¯úœX§6bJ–ðTÆÜ$h!1éãþ‹¹ñ¿ÉÚÂMê/¸(TÝ+YÖæl/à+bD«ž’eÃ!>ûÂ¥.OäKn›¿*+bvÖgYT9 ¯=ï'Iuy"_0’ÅìRôƒÒ$´ºÌ¯†WFÒ Ì \Îâ->ÅÆ\è‹‘ÊyUn¾Ë&U”ÎÓE ÕynRo•ýøéàù²Âû)²‰‡‘¦ƒTíƒdûÞ¿žî˜ÿywTN«óãçK°Ê—ƒ‡ËëŸ"Ûë—%Oٜڱ"_¾3ë’fŒï`¯÷È)/2Ñöa'Tÿ6Á‘Õë@ÿ%ð0AÊ?¾zgû£ 6¾ŠÇ¬ir¿¾®Ÿ1³nÜjÖcvëWN 1ã…GœfâE§¨èÔøÈˆi£ÃMOÍC¿£|É÷Ó~fA;vGœŸcvÂËIQqi ‹'cÇR& ƒòø=®88î{äÚõ!fÿiþÏØ¾2w~Àxݾ»Ø 9oëÛ.ÍÎ몒3âãî¿6;æÜYkñëQƒï‹AIth=íHž¦ e“/ëŸyP¹† P‡¯Àê“ëåÍ}8¯,@° Ýá(nPþXÕN:O(@âÔãô÷ï£7Á v¡eç§Ï·»ÎÈœ^–¸«Nâ!•yrÆÝYŸ§õ]é!ë¶qÐÙ¤"op)1:„‡ØÓÊ~¿ï-<_~ã{ò:5BÙ‡ßVüy!¯ô:%óJ›Ï^:š~q”Rœ­3”ÔØfè5ø€|$Oúi Œv!úæþK £“Ê•)Ó}™åËúëú•k8£ÑŸKÂÕ‡ÀÔW~º(ÞóÊwØW•éKÂ΃¤RƒƒtûÓVýÔ~À›6Ž w¡ÊÇwלPý­Ë¯ë8µŸrí‚×âŸÎ¾tî*yõösó“$wƒh'rZK}ÇjŒáêÃÏõq  ?7b^™'âWÉ 6YÒ¸Noý ì0v¡Î«¯ƒIŒž} Óa _H–ò%€d _>üôqëB«1XO"½òé¾¼K˜¾yãëƒd~´¯ÅÖÞ¢¦–ÞëL RnøvÔo‘ô×ò¨‘,è'~µºM¶Ïg¦­•ª¨´éGH—VìîŠú|aó•sÐIïmMnÏé[þæŸÀîdê½í½¾ÍO´íâiSnšÚXÿgG—­ÖÃ?n‹äökšu@¾ìð¤(¬œŸ wÔöZÚ8¨+šV[dqÉôðÓY¾.%Kù²îÆ;¢Þ޾÷tqåù¿äÂ-R´;ýäάp9I–ÃÕÆe|ϹóÝÚö3Äç¸óJ“x\-ßÓÿn³"sÃåO²ŒR&€|9Âù/1Ä5Y~þ9?‰ÎGag®šR¯½*6­]Ö, Søf/ZîÅVûžö³Û¼·Bƒp9ýŽ•R&€|Ùy¸|ŸoÛ.œÊÖÿÂß®>6íˬEï{htžWËf¸áèCim+¤šù¼’H+eÐåqqPÂçUïŦ—|MÂ2ÿkzýÓ´½Àî„7•ÏO”xáZ9OQÞ|IŽØ"_{{âШÝR&*:iC›ŸˆC7ƒú/7N‡?½&;F”—v· ¡]{¯~æoÿì[=¿µ«Ú`Êè›üÚ¸Ÿ¿œOr´ËêË/û IýÛ¼ÂxfIÚ~q*ý8.vt(­ý)#k7±” _^›Ø] ùË?SæµA3Ñõ{è›ÖÔÛUµYŒüþàÞ²õ_xšÝ2+e¶Û{}£äËç³ÅA'é3}Q³›9EKQʼ*m\2ýî{U§ïü}3K2Jme9¯m¹ƒI™-¶¯‹Àó«/·›ïŸÏóÙ×8•ÄB¥‘å«ßqG6͈=V¼8â½Ö]].CX¸é¶hhü Âåב•ÞŸü>¦Ì4® |û —ÀF¾|½^•k¬\C·øìœVæç{ÿ,…Ä šéõ¯µÝ_ > Ÿí拽kàk…󨽏’Ÿ—ç<¾e­„¥[ð=Æ?³œ_ $j ÏC`sËvr æl‘Í’îÅlüþ{˜äèÍàåå¯w} ü}mì*<Ú…F)@ýW¾Ë+ðn~jä}v,Ê7¿ÃÔOÿ´6+VWÑ€ÛFÿeƒF/jip(¢mFÛ‘#w˜µ|™˜jÉR¾DœØñ\§Ñ—¿[òô# ó®q+ÐüDð¸À*Y¾‡Š³Ïß¿¿¦ÒŠúuRgÄÁÍÊô r~%KªmN ÿ’‡ëÀùîËJíë+PH†kZ¥}ÏvZ{á%äìT¥fÎÛ½cdG¬BQóòD’pÿw•aÔ–|÷Ó­Úµá×W ñ=pŸÌŠdylM&„Q™Ïv_|Š[i8#G·öøh[V¾„+[¥ijùÐyùR²<0P†‚åØ=OïGImƒ‹Ë¼v*[;_ÄÜGöM…·|.à©P›>«hsC°3©ÏÊÚ‹—®áê¦ò„×:äK¾ßŒ´·Ì¦S8iß´¹I¾LäÎt¾Ìœˆaìgž.U‘ˆyÃX9?¯4åKùr÷F¯|¬š|É ¿”'¾rmv°i(‘2%ËÕ“Z|è†H_Òl>$_^1=’A¸½1wÜÿZZ·Ä¥OC¡ÑªBr+Œ°!jn ,½…zÞ¨ºwsÜó£vÐìB'NZä­R牸yd56-~¹œÿþý›þŸÄ¾¦óõ×Ïn¾pò؉“ÛP·ÀãO]áQûëŽýaí% /‹Ûoéø ]Ë·éB}½ªèINk‘c­[7i8œúŽ˜9;Üç³mŒª¦‹ï¥v¼­S—½eÏ«Nèb´ëÒÇAš¸†™ÿÄ¢I.‹Š‘0âå!Äøž–¾¾LŒ.« C•8ËÏÏìk“ :Ã@ÿc‘åK€Ÿ»\Õ…o]}\O£OVóÇÖM9Ⱦ× «WÓU…sK®±exP™ ŠnèüZþ+¥­Y¾`÷¹kÀ´W>æç9x󜪧€á²ìçÞ;Ð,_f}GÑ$ý8o¶Šî»_Àm’åg&YL)~‰rÿ%Àçž÷ÏQ¹ðªp™Ý…9?¦=pÉ üQvcù2k[úB ôÜLµ7ZÏåˆ'`¸1ùòÛ¾ç+®5ñ=Óxõ4ýÜ/]‘®VŸžÕ仼–ZϽ¢§€[6#__¨Þ7õÑc¸¼ósÃbõ$É•kˆ§>î¶Q‚öWœG9Ä[ÔP,¨üœwÙÃ;_}¾@“’­$çyΰÉEMv¼n õ@¾”/ÓO»{¾Ì|&Š|)_øš?«¯Õ>Rïõ;ºëã<«†Š§Æ…º„ºK\ù…g$oã{èô,Ôn="tsÊN‹w‹³ì~þx~”üùgbX›ï™\rXÌa,_C×OjŦ¬\@ îõz­Žï‰7ª¡®qË⣞°.=ÄVÇÒ-%ÂÌ…ó#fæ:ß…iGç–úä€(_Ê—òe£3ß”†ø€|9ßóœˆû;ƨ<;:Œ%khþrIH¾¼¦åžï™/s†ô:íÞçüEßùÒó!#³Îî'a†µüá^¥Û³PüðÆ>yÅÃNdÃøžg|ùKÄœ546¾»KÓuð¥Ì`å‘óeý •k8¾qôŸR¥ßùÊ6Á, 6߂執¯ú_(ae23ýÞŸ°Óg˜Ö ®ò[áÒ³ÀæÞýyüúç臟ßüýûZëœÎì´¾öDö€ñÞ—‡ÜÓ™MPù½«ÏòÛ›§ƒsW…ÅêúŽ[9‰†[äÉ5×ztçm-Þ4"+IDAT[¸Žï¿¼ÿSÖÈùòÌF[×@äËqòåf@<úå¶—J“/“/‘,Ù‘/oÞîi±Æ«•xÊË'ÌåK€|iOF²<*_¾SæiŒ§…ƒ’œàË Á€Œç# ¶wE/7€Ï3H,Ѓ|É“jeã¢YËÄ ã…@²D¾än§¥3;/ov^@²|6÷_Ò:¡6it]³áóÙ+çOñÙüëæ:§¥aéwÉY,³xÏM–“f_¾äöñüÎËæ ¸E¸|'°÷ ê5)-góLJ&Þz¾dfaÌ#YÞ›ëã¬íW½|r•Å)þ÷xžÿý «±,3«½ð“Xç|™i½sqÉœÂè¹üw/u5\¾¼ÙbV…º¯’•/o²pßàC„ª_î[g"öeÇü˜;âÙsñgßyöß'0iêÏòSá¾Õz„˜Œÿ¥¿r5è#n¾“ëãìiøÒ“ŸÁwþÁ"Bóˆy`½/‡Ë¢ Óû"fé-››/yÈ8ž3v~WÌåKÒj¼G\¾DLžùýj¨ÏÓ}Ä\™½²&¨eNWä{òÎ}áÌ -eÊ—¾„ݾ¢v? ît⩃*´^[<£œ•áríQ=_irñâû˜H™½žFø˜å“bÊ—Ðo²œL/ H™ÚÀÉ—Ðo²œt[Òñ¾ýÿ$`/v;®m»üM¼¹dÕ—äÛ§Ì8Îç*ì”/¡ÓpéœM×çûç½¾$¤ÛŸµ)ÉÚd3éˤ÷#ÊÄ\ÙpÏ—\|F˾wy¿Ön¾ÕcÀ{¸fv”¸ö©ü'gÉØ|:ÆÛì_ñÎeþ~þxýS+*×о¿'SHÏqß]ù`Ì,>ëoóÑíïrž(ø~üç!L¯×«¦ÿÀ½——¿ž-xtùÓ½Œ]W`° =¢í8_ï{¬´8&ó-=: †¬Á©«áa¶cQ‹ôù×VKî<¿kŠ”ùšXyá äór‰|)_ž/ovvŽ7/ùŸ[m§úÛ~Cë¿ãfÙ=<ÎÈ?_´Û­׆Kgaùò>ÉRÊÉ’ ÿ<-\îÓô™2ïïßWzˆ·”ŸgÆÈ}yüoï‡Ë8ò§ 7ND{?XéØÞVï Ü¡!¯!5¾g˜#áÜñ=ÛûÅsÆ×Æû—? ù©ÂSßpZbðxŸAòeþãw?ÔçóŸ«™O»¾»jLÃQåÿó”MÒê´œ›`×)ô¿§B³µœ9<¶ÇnJ Ü”¬_×LJÙR¹¿¯Yrõ)”Ožm:*ÿÍ>LT¹àœêèuòyºœHfáÊ_ò{‰åý“Äc© ùã˜áòú'D?¹ Óøž^>FèoU{W¸vCôæò›/œßC½°½Cqy> Ú“ÜÂ8ùÒè“qZm“´‚CäVåÿ3Ìž×Dc/ɾWøö<˜ke…¥A–ÏËÑ@Ÿ+BÑ‘þg˜¯Û²nìŸÑs‰dVó×ÌŒ( eŽZQ#èûù=Ct Ÿ8‘½PÀÃÓ¿ náÞ?ªà‚#(¤æzH‡ÈÄkåTî2ŸðÇÐy}ÿŒþ¸£ÔDL ŽöG\“HCÁ³¶2_>’‹/8¶sÀ}/{mŸFë!¿â¹‘鈩}NO–¿þG+åþËQi¸`سø˜·`fw¥}çËú ý+×0zò_þuå»3r÷lÁ§íB  ]•éžœègñ'=>Ú!PO#0z–ŽUXò¯|™^¦hüA<5C…`ÈÃÔ¾{`ÝîzµgÖO¼s™]¿Ò»²fÂóú‹/w’€cBÀh³dœ‰|yŸnƒÝñ´r€wsÂ4Mñ¿ÿJ¾¼¾9®ZcýËçý”?¿q†€ÃBÀ8]˜qô©ïc£•|þôTþùM¯\€þºqÊeqn+Ž|“÷¬ùPEêç䨣œ‡€Å3Ç™§“¸.{W‹˜NñÂ*R?¢Û#ÂeÍgØ<[œs:ÑhÀpAá@© QÓâÝëþËPñWàÂ÷?9Ý}¦—1Kx—|™yÛip’)S\Ò õÙøìÖcü8ÀGÊ.?Ÿy$v1+ÆŒÿsŸ­rÄöÓ“â˜ÍgΩ›è­ ðos¬ÿè!b†]/lÛ$Ö­ðŸçn¼ã+#YFÇÑRÊ¡­bu{øàû/cÅ_Éà~³QçÚŸçn¹i劘Ëdð¯—s ÿˆyZKuÿ†ñü':¶º%V¯'ôß¼8NUòå5d~ugÓ#¦= |Äa•zƯm._:›žÞ|?‰úA‡ª| H–*_¾”/9ôh:òð4?p÷“”û,/l8àhª9 ê×0j¾ cÎ d>#,9ô¼„YLÌ9¦Š>ž{B›®áß—Ç« °÷|ÖK*À°Põ¨¼èc:¶ñ‚ÄøÿŸåBÅÕŸÅÛ.ÔTTƒh­ÑKü ׌Û÷0b ÐÉñè´]¦…Œ¸˜ãqƒ'œ/TÐùÕçßûì]6%H3t¶-òO²ñüyñPA·Î—Æ÷÷epI?QAýÓtœ/åcdH™t–,cœ‚Í ò%€”)Yòåñçƒþ»u^‚”‰d “/ûpnA)“[$Ëùˆ—×á¾ù2tŸá4@ eJ–ãס4 OÊ—SÇWÉ])S²ToÀù²Ïˆ)\‚”)Yª+ëÀý¸&¬Ïþws¶ï…OIjY`ÖØe>”oí%sUÏVqtç7ªCJ[-yñéÌùž¬ý9nîç›-­]În7ù2ùûtYõø>Ïû¹W]É—Nöòeb'1{Úël 8+d>$ºM)YÞ´Þš?Ü©D š/Oþf5àüêÞ‹éžK¸öèË¿¬j"ÝGXÙ ÷]‡?ûLÎ=gk{‘{ÔÀ—æç~G‡a¿g_·ǵvòºBØ®^_ÿÜáKs‰=weéÞ€¾sgqSüïr„ãºm³¤LxÖ×{ߘÿ. "¦†ŽoàJÇ/®ÁA=nËüÐúAخƖͦ¶Lã£ÞÑäå¾ÄA-eŠO*H¾<+\þ¹I]~].Õ»´«fp]â̿޵°[\zh™Õ?tó•þ„QknUmaé›Oæ¹G¬„âìÁàY­¤d#e»¾½Ë—É 9eô²kï ¿ˆ™n·Ã¥4#e…ËUÏUk±†£ °yÓkçåW€Ûài8?"^^4ïúB¸Œv¡‚±SkKî{çFùãøûp¼úçî­Pýý—o‡çQçõz¤¼¼GÌï¾R¯ý~- åžž?¸$ÿÙ›Eíâþ'pÚ(œ•/ß®Æ6Ç,ò%Ü,ÕÇ _™FÝ&ÿtx»(V"_>,êü±€ %îúúÓOƒ¹Øl¦n*rÛ_9AÍÃÃÈ—ÀðI4ãŲN»Ê”,ù@ÊüüŽF*Y‚|© )óÆQr¡BÕ’’% _÷ÉFó;2÷÷Ã=#e~ÖOººj{4û«É»GbPDšA¾î.¿âQ~bÈ]òI}™9×ß#YN#âåH/Û†Ëùiþ'å$¤âõ™2ï4›EÌgT _¶ü²ë+,\híÜ|:yÖCÉ3SæM+¶¨x#\öÚNþ|Àg¼|'q†bW*_^.ßÛ£Mû \z ™Ί˜ òÍÏ”é¡ÓÏØ{¼‹2"7'_.4FÇ~ñˆµáòIŸÛ܈9æ­«›ƒÆùxœÅ`T.ï›,‹F‹ï:=fÊL\­@A¾„ËŠ›íLÖØ*B •2??ì|Ï‘&¡‰T0J¸L$βˆù¾wP˜hÜ>îË*[»! šÓ™:c]…ËÅI‹Ê^}–'¤Lõ ò¥*˜ŸÃ€þ“åB°IO¾#ñH™€|yU²Ôs Ã%ˈyÓ”“è¬Í¿§ðØ»I™š}/{9}•¿n§»oÿYâbË}'t¦V¨t¨<:µw.¯ªm”2åKgj¸*”++ ¯Ê¿y¼àbMÆÅ8…›\Î)*Øg©J?ÎÚò›UšYÂÏÅJk;sI—-ý¦‹]ûeÃ},§*¾–©¯½Ý%ÙW“‰\M1†8µOqi~S£vÂÆ;–ú»÷ŒïY<÷üœ«ÖÎú_§áµ…+{MæçûCSc~Øš—*3ùe…%o^EkŸ÷èjß]!'w"äa8¡ÒZ•„Gól$ a`ZûÓ×_Ó ç¼×Çú¨ñ³äæò•ç鵟9k]Ním²Ê¿®-™¾ñ+gÒ¾šiü•œs×ZÃúÉßÜ¥;FÍÖ¹eîtiòÀWÌí„Ív&Æ®À–ãÇ‹zSJ/>>0Çýñûiß®ÚÐýìcEÁ­±‡wÔÉO'p`(y/Ф…É\É»C1c,d¬ïžÉùŒ}üü>ªÍNÖµŽèÜ,çÚú7»Wë;íï›®ŠšÞåÒ’äTo“ªhÕ Úw#&ý¨aUÔ{ ©‚Ñ+ðŸ®Ó4M!üÿ§426Eq›ï ;û/BAʼk|9z?”ÎKäË_çůSãZÄ\œUx÷›v‰%\K•³.†û¢Êé0Ù쨊Ú9«ëÂå¼ ?^CWÆhåæÏ‡ÌÌŒ"êÚ Ÿâ3bæ§–Ÿí%å¬%¿ÍÊÙÚï€N|÷_ÖÏÙû÷oÕê °o ïsÎËÝBW•ÿý)2_ž"•áóå?}™¥½˜•Yç«—ì„mw€ÒùžN8­À£ °¹WŒ^——ÿˆ£`¬xxùíB=`¼ò÷<¾'ïOqþûÊþË“Åì~»Òñ=‹ÿŸóÙ÷ÕOæI¯ü³„׎ïÉÿÿ&µ·o„S}U<­ÿÞÐÃëW¸*r>¾ÿi}Ì\v6Úý^Çì9èã×ïütiñn?_ãWå´ý\Nsôž/?ÃÁ™!&=Þâèóôâªúøûn¿{—°(ƒ¾_R45c“Ș¿uv߸£0EƒœJ_raÄ,ºANÍ—Eç¼szMvO”sc‡F„}Ϲv'T«0zè’@¾Lˆù A‹O lòàį•Ì;u6§t)­¼cVšƒ>þ¾pvtz•Žæ^œj÷¬‹/IÔserj[ÓÁcá/éG4´€£¼^¯³ë•NÅ—gw½Qœ§ŸÌ7­Ä »vTéŽwß÷’¶›;³H‡¾éiµwr^,š,óF—ºaÞµÔ°*rªÀÂp9u0lÞ^ûø¦Y¨s€ð¤ŠÄ#T JáR#`‡A¾t>£ÿØ@šÛ.)M–»o¼îáU@Cú/rõí€:A=g ºv9ö`¼þê| <îä® ŽÉLó;/U5<”ëã´¤ÿ€6þ»$õ\ÂÃé¿@¾@¾@¾ùùù¶òåëõª\cåŽ.@Œc—_n_¨£—?V?Ò|xÚ…ê ððò_ FÏÃÐÌbRr}ùùùäKäKäK//ÅU0’äzÂÒ LA¾àÜ€XÉõqäKäKžÀý—ƒK è¹âfMù`pøq}ù€^¹>p _waösÑüõz]»†úL±êçòò+Àà  `€ò×5³¶ CÀ.¤üÀaÂý?b|zhf± ´õ¤›âC?7€f»Œëõz]»†Ñ  @*€]HT (?ôz½®]ÃèP  À.¤*P”nïW"ûáIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/gparts-bulk-import.png0000644000175000017500000005007213634703632020711 00000000000000‰PNG  IHDR7òp;@bKGDÿÿÿ ½§“ IDATxœìÝyXUÕþÇñ÷‘ù0 N€3Š\3ç4´Ér6M-©1©ë5‡2Í´´LS뙦QfjV‚Y™iz՛לç’Á AEdÏïžBqF?¯çñyÎÞ{íµ¾{·[‡ïY{ïe0™L&D¬ÌÌ™38p ¥Ã{(""‚3fX: )Fl,€HQSb#"""ò`Rr#V+""“ɤVöO£5"""r=JnDDDDDÄ*(¹« äFDDDDD¬‚’± JnDDDDDÄ*(¹« äFDDDDD¬‚’± JnDDDDDÄ*(¹« äFDDDDD¬‚’± JnDDDDDÄ*(¹« äF¤„z衇˜?þu—CBBX¸pám×k2™(W®û÷ï/’8EDDDî—R–@DŠÆ°aà ¹ëz6mÚ„Ñh$((¨¢¹4r#bAãǧ|ùò¸¹¹áççÇ;ï¼cÞÏ#<‚Ñh¤nݺLŸ>—ëÖ5qâD6mÚ@dd${÷î%22’ÀÀ@ÂÃÃHOO'<<oooŒF#íÛ·'%%¥@=111´oßþ­ˆˆˆÈ½¥äFÄBvïÞÍ„ X»v-gΜ!..ŽŽ;—o ëÔ©!!!¤¥¥±råJ¢££o¹î¨¨(jÕªETT æ};uêDVVqqq¤¦¦@= ì«äFDDDJ*Ý–&b!NNNäçç³cÇüüüpqq¡nݺìܹ“}ûöñßÿþ;;;|}}1b„yæNìÝ»—µk×’’’‚»»;&LÀh4’’’‚¯¯/qqq¤¥¥Ñ¨Q£"9F‘ûI#7"R¹reæÍ›Ç´iÓðõõ¥iÓ¦¬Zµ €ãÇãåå…³³³¹|@@À]µ—œœŒÁ` AƒHpp0F£‘ÔÔT–.]JÛ¶m±±Q× """%FnD,¨[·ntëÖììl¦NJ§NHOOÇÏÏ´´4²²²prr ))é¶ê6 –Ë•+‡­­-»wï¾î³;111 >üÎFDDDÄÂô󬈅8p€õë×sñâEðöö6˜Ô«WêÕ«3räHòòò8yò$|ðÁmÕïííM\\œy¹N:4lؘGjÒÓÓ‰‰‰àÔ©SìØ±ƒÖ­[ÑŠˆˆˆÜ_JnD,$++‹Áƒãåå…ÑhdÆŒ,Y² ßÿ=üñ^^^´nÝš^xá¶ê:t(sæÌÁh4Ò¥Kbccqtt$88WWWBCCY¹r%Ë–-£uëÖ888ù±ŠˆˆˆÜº-MÄBBCCùã?®»½Zµj¬_¿Þ¼¼}ûöÛ7oÞ|ÃåÇœ„„„ë<<<˜={6³gϾ¦½˜˜:wî|«á‹ˆˆˆ;¹š6mJÛ¶m-†ˆˆˆÈÓȈ0lØ0K‡ """rW4r#RB„„„™™ié0DDDDŠ-%7"""""b”܈ˆˆˆˆˆUPr#"""""VAɈ• aáÂ…÷µÍ‡zˆùóçß×6EDDDô¶4+e2™ÈÏÏ·t""""÷FnDnSZZ/¾ø"ÞÞÞ¸ººR¯^=8@RRÏ<ó F£OOO^~ùåo8 b̘1´nÝšºuëR»vm¶nÝ ÀÔ©Siܸq¶6n܈‹‹‹¹ŽôôtÂÃÃñööÆh4Ò¾}{RRR Ô?jÔ(Z¶lI­Zµ eïÞ½DFFHxxø5ÇsäÈ|||øöÛoÍëÚµkGÏž= Ô;yòdš7oŽ££#M›6åèÑ£¼ÿþûøúúâææÆøñã‹à슈ˆˆÜ9%7"·©C‡œ={–}ûöqîÜ9.\ˆÑhÄd2Ñ®];|||HIIáСCÄÇÇ3pàÀû¯X±‚¥K—²sçNz÷îMDD={ödË–-úˆýû÷3kÖ¬墣£™;w.©©©xzzÒ²eKrssIJJbùòåŒ3Ɯ䉈ˆˆX‚nK¹ »wïfÆ ¤¤¤àãã@Íš5رc»víâ·ß~ÃÑÑGGGÞ{ï=ÂÂÂøôÓOqpp`À€ædåé§ŸfèС˜L&|||hÓ¦ ÑÑѼ÷Þ{äää°hÑ"¾ûî;öîÝËÚµkIIIÁÝÝ€ &`4IIIÁ×××\¿››ÛmW›6mèÓ§mÚ´!99™ÿüç?毈ŒŒ¤ZµjÀåD,22’Q£Fa0hÖ¬µjÕbëÖ­Ô¨QãNN­ˆˆˆÈ]ÓÈÈm8zô(nnnæÄæïŽ?ŽÑhÄÃÃü.00¼¼<ÒÒÒÌëþžx”.]šüü|ó³1/¾ø"_~ù%—.]"&&wwwZ´h@rr2ƒ H`` ÁÁÁFRSSÍu–)S掎í•W^áàÁƒ´jÕŠÐÐÐk¶ÿý˜ðòòÂ`0X—““sGm‹ˆˆˆ%7"·¡|ùòœ9s¦@2q…ŸŸgÏž%==ݼ.11;;;¼¼¼n©þ§Ÿ~šììlV¯^Mtt4½zõ2'åÊ•ÃÖÖ–Ý»w“`þ—žžNppðuëü{r=ùùùôêÕ‹®]»²nÝ:bbbn)^‘âDÉÈm¨]»67&""œàìÛ·ãÇS¯^=‚ƒƒ:t(ÙÙÙœ>}š·Þz‹®]»šoI»;;;zôèÁĉY¹reÔ©S‡† 2`ÀsÛééé7MD¼½½‰‹‹+°nÑ¢E|þùçæå1cÆpîÜ9æÍ›Çœ9sxùå—INN¾¥˜EDDDŠ %7"·iéÒ¥ØÛÛS½zu\]]éÞ½;gÏžÅ`0˱cÇ(S¦ U«V% €™3gÞVý/¾ø"+W®¤I“&TªT©À¶ØØX ÆÕÕ•ÐÐPV®\yÃú†Êœ9s0téÒ€Ÿ~ú‰¥K—°jÕ*¦OŸÎâÅ‹±··§cÇŽôèуîÝ»sñâÅÛŠ]DDDÄ’ &“Édé DŠÒÌ™38p ̘1ÃÒáHÓ_¹܈ˆˆˆˆˆUPr#"""""VAɈˆˆˆˆX%7"""""b”܈ˆˆˆˆˆUPr#"""""VAɈˆˆˆˆX%7"""""b”܈ˆˆˆˆˆUPr#"""""VAɈˆˆˆˆX%7"""""b”܈ˆˆˆˆˆUPr#"""""VAɈˆˆˆˆX%7"""""b”܈ˆˆˆˆˆU(eéD¤xÊÊÊb×®]lß¾ƒ’””Drr2§N"==¼¼<233qttÄÁÁWWW<==ñ÷÷' €J•*Q·n]BCCñôô´ôለˆÈ@ɈpòäIV¯^ÍêÕ«Ù°a ??ÿ¦û]¸p .žžNRRÛ·o¿¦L@@7&,,ŒV­ZQ¹rå{q"""ò€Sr#òÛ¶mK—.%&&†;wb2™ÌÛœœœ¨S§!!!T¯^*V¬ˆØÙÙáââÂ… ÈÎÎæÜ¹sœ>}š¤¤$9|ø0;wîdÛ¶m$&&’˜˜ÈÂ… ¨T©Ï<ó ;w¦Y³fØÚÚZꈈˆˆQr#ò€Ù¿?ÑÑÑ,^¼˜?ÿüÓ¼ÞÝÝ–-[FXXAAA·”t8::âè與‡þþþ„„„\S&11‘5kÖ°jÕ*V­ZÅáÇ‰ŠŠ"** ooo:tèÀ /¼@óæÍ1 Ez¼"""òàPr#ò8sæ ‹-âóÏ?ç÷ß7¯¯P¡;v¼ç#(„‡‡ÀŽ;øî»ïøî»ïؽ{7sæÌaΜ9T©R…ððp^|ñE*V¬xOb륷¥‰X±¸¸8"##)_¾<ýû÷ç÷ßÇÍÍ~ýú±aÃ’’’øøãiÑ¢Å}½5¬^½z¼óÎ;ìÚµ‹ýû÷3jÔ(üýý‰gôèÑTªT‰®]»HÄDDDDnFɈZ³f íÛ·§FLŸ>¬¬,üq/^LJJ ³fÍ¢I“&Åâ°5j0vìX>ÌÊ•+éÑ£¶¶¶|óÍ74iÒ„F±xñb.^¼héPEDD¤˜Sr#b%rss™?>õë×çÑG%66–Ò¥KÓ§OvíÚÅŠ+xöÙg±···t¨…²±±¡uëÖ|õÕW$$$ðæ›oâííÍÿþ÷?ºuëFÕªU™4igΜ±t¨"""RLé™±ZXÞš>}šO>ù„ÿûß;v ???"""ˆˆˆÀÇÇÇÂÞ¾²eËòÞ{ï1räHæÏŸÏ”)SØ¿?C‡µth"""RŒiäF¬ÖŠ+èÞ½;[¶l±t(÷Dbb"ƒ¦B… Œ9’cÇŽQ§NæÎKBB£G.‘‰Íß999ѯ_?öîÝËòåËiݺµ¥C‘bÌ`úûÄ"V 11‘1cư`ÁrsshÕªC† á‰'žÀƦdçô[·neòäÉæçP &“‰¶mÛkéðî¹]»v1iÒ$ÜÝÝ™6mš¥Ã‘bDÉX­cÇŽ1eÊ>ýôSΞ= @µjÕ8p /½ônnnŽðÖåææ²dÉ¢¢¢Ø¸q#vvv<÷Üsðî»ïÁŒ3,éý“››KéÒ¥-†ˆˆˆ#%û'l‘(W®~ø!ÉÉÉLœ8‘ÀÀ@:d¾•ëÊ«‘‹³øøxFE@@={ödãÆxxx0tèPâããùâ‹/(W®œ¥Ã´%6"""r5%7bõŒF#C‡%..Ž˜˜{ì1Ο?ϧŸ~J“&M¨Y³&|ðGµt¨Àå 7çÎK‹-¨V­ï¾û.'Nœ $$„Ù³gsäÈ&Nœ¨I.EDDD®¢·¥ÉÃÖÖ–víÚÑ®];8À¼yóøòË/Ù¿?#FŒàÍ7ߤQ£FtîÜ™Î;pßbKKK#66–o¿ý–_ý•œœÜÜÜèØ±#½{÷¦Y³f÷-‘’HÏÜÈ-??Ÿ+VðÅ_ðÃ?pþüy uëÖ%,,Œ°°0Z´h««k‘µ›››Ëï¿ÿÎo¿ýƪU«Ø¸q£y’ÊR¥JF¯^½èÔ©ŽŽŽ7¬kæÌ™ 8ð{æFDDDäj¹‘š­­-mÚ´¡M›6\¸p+Vðí·ß²|ùrvìØÁŽ;˜2e 666Ô¨QƒBBB¨^½:þþþT¬Xñ†¯[>{ö,III$&&røða¶oßζmÛØ½{·ùMn<ñÄtîÜ™víÚáååu?_DDDĪ(¹ùŽŽŽtèÐ:ŸŸÏ–-[X½zµydeß¾}ìÛ·¯¿þºÀ~ƒwwwìííqrr"''‡¬¬,Î;g¹š52 5iÒä¦#4""""rcJnD akkËÃ?ÌÃ?̈#¸té`ûöílß¾ƒ’””Drr2§N"==½ÐzŒF#þþþP©R%BBB ¥víÚzÛ—ˆˆˆHSr#r lll¨Y³&5kÖ¤{÷î¶™L&222Ì#6WFp\]])UJÿ‹‰ˆˆˆÜ/úËKä. <<<,†ˆˆˆÈOó܈ˆˆˆˆˆUPr#"""""VAɈˆˆˆˆX%7"""""b”܈ˆˆˆˆˆUPr#"""""VAɈˆˆˆˆX%7"""""b”܈ˆˆˆˆˆUPr#"""""VAɈˆˆˆˆX%7"rGBBBX¸pámíóÐC1þü"i?((ˆ¥K—I]…¹“ãËRr#"""""VAɈ\×øñã)_¾ù„ŒŒ ˆˆˆ¸¥ºo¶½°ã‘⯔¥‘âÉÉɉüü|vìØŸŸ...Ô­[÷ºå=<<èÒ¥ sçÎeòäÉœ?žÅ‹óË/¿Z~ïÞ½¬]»–””ÜÝݘ0aF£‘”””[jÿÕW_¥fÍš 8™3gb2™Ø·oß ëNKK»áv__ß»>"""rÿiäFD U¹reæÍ›Ç´iÓðõõ¥iÓ¦¬Zµê†ûôíÛ—ùóç“——Ç7ß|CÅŠiÔ¨Q¡e“““1 4hЀÀÀ@ Æh4’ššzKí—)SÆüÙÑÑ‘üü|òóóoZ÷Ͷ‹ˆˆHɤ‘¹®nݺѭ[7²³³™:u*:u"== Ã5å›7oާ§'?üðsçÎ¥wïÞ×­»\¹rØÚÚ²{÷n\\\n»ý¹YÝ—.]ºiÛ…Ÿˆˆˆo¹‘B8p€õë×sñâEðöö.Tx{{wÍ~}ûöeìØ±üïÿã…^¸nýuêÔ¡aÆ 0À>>7l#66GGG‚ƒƒquu%44”•+WÞRû7s£ºoeûõŽODDDŠ/ƒÉd2Y:¹s3gÎdàÀDDD0cÆ K‡C~~>åË—gÞ¼y<õÔS–GDDD ¹‘"õÅ_àââÂOÜk(¹)òóóÙ²e ëׯgóæÍlÙ²…C‡a2™n»®œœrrrnkŸòåËS¿~}êׯO“&MhÚ´)ŽŽŽ·ÝvQRr#""""RB¤¥¥KLL k×®%##£Àv{Gü)X…2üñ,ã‹»w<||ppvÁÖ¶ŽÎÎØ–²ÃÁÙ;;;ìÈËÍ%'ûy9Ùäfg“›“MnN¹.p6ý4§Ož #õ)ɉœHJàXBûì3n¸Ÿ’‘êz£7µ±¼Õ«WóòË/“˜˜Hi{{ºE¥ÝKýKÔ<5ÅÁÆ•?ò阜IKÅh42iÒ$úôésÝQ%7"%ÔõFo4j#""b9¹¹¹¼ñÆL™2“ÉDÕ:!DN˜J…ªÕ-Z‰u&-•9ãFòߟ—жm[æÍ›WèՔ܈”`WÞhÔFDDÄr:D=ؼy3¥JÙÑuпèÐ÷=[SDÖ/aö;#È<{†òåË3þ|Z¶lY Œ’‘ìêyo4j#""bóçÏç•W^áìÙ³”©àÏ¿&Ï Z½X:,«“zü(S_…}[6akkËÈ‘#5j¥J]N •܈”p­[·fÕªUäççkÔFDDä>ÊÌÌdРAæW<7mÓŽïLÄÉÕháȬW~þEOÿˆï>âR~>Í›7gþüùøûû+¹)é®<{óå—_jÔFDDä>Ú¶mÏ=÷ÄÞÑ‘—ßGëgõ]|¿ìþߦ ‹ätÊ <==ùì³Ï.'7·òÎh)ù"""˜1c†¥Ã¸çfΜÉÀ-†ÜcÊõ º¦Êõ¬kùÁð \ÏÍ›?Âúõëð¯Ä©³¨P¥š¥CzàœM?Í¿ßÌæ5+°Qb#"R|éA‘âiæÌ™¬_¿îÿ—t#”%™þvþͯnÐÝiÖëAýã¨éËMyvÒ³–CŠØ†¹øæõo,Æ}÷ ýú Qÿ,ÖäAíŸ]$:À°ÎOòòHÝ–v?ýý¶4{G'r.d¡'EDDDDîPã'ÛÒ²CWr²/0sÔëL<€¬sg-–UËÏ¿È×Ó&2æ¥nœN9A͇Ò¹$€’‘;e[ª‘ïOåµ§ãèâÊŠeHÇÇ9¸c‹¥C³J©Ç2ú…Î,™9ƒÁÀ³¯ü‹±ÑKpqs”܈ˆˆˆˆÜµGÚvbÒw+¨R»'$ñVŽ,™9•üü‹–Íj¬_ÿڷbÿÖ?ðò+˘Ïó\äëØØÚšË(¹)~þLXK»—péR>_O›ÈÝÚr$î ¥C+ÑΤ¥òá«}™2$‚ógÏÒ ìq&/ý•à¯)«äFDDDD¤ˆØ–²#|øhÞž·Ÿrˆß½ƒ×;?Á÷³ÿÍ¥ü|K‡Wâlüe9ƒÛ…±ñ—å8º¸2ðÝÉ ÿ÷<\Ý= -¯äFDDDD¤ˆÕiÔŒ)ËVóX×繘›ËüÉïñVÏ;oéÐJ„Ì3LÁ‡¯öåLZ*u›4gJì*ZuéΦ²Qr#""""r8:»0`ìDF~:ï²å8°} C:>ƲÏ?Õ³87°ñ—å¼ötKÖ/ÁÞщ~oO`ôg ñ)Wá¦û*¹¹‡B›?Ê”ØÕ<Ú±¹ÙÙ|þþ†´Œ=›þkéЊ•#ñ‡x·oO>|µ/©' nИ©ËVóD÷ðŽÖü’‘{ÌÉÕÈ  S5g~þ$Ç`t¯.Lz­©ÇZ:<‹ºyŽèÆ2¤Ck¶­û £‡'ýÞžÀ;Ñ¡šò IDATßP¦‚ÿmÕ¥äFDDDDä> iÖ’iË×òü‘889óûŠˆ|ª9ß̘Bnv¶¥Ã»¯L&¿}¿ˆÈ§!vÞ'˜.™x²Ç‹|üӺˣ56·Ÿª(¹¹JÙÙѱï+L_±žGÚv"/'‡…HäSÍY¹ø+ò/æY:Ä{nóš• ¶ ÓßLú©‚4æƒo~¤ïèñ×}Ú­Pr#""""b>¾¼öátÞ[C•ÚõH=~”OFeГÍùõ›äåæZ:Ä"eºt‰ÍkV2¢Û3LNüîø”«ÀàÉ3xç‹%TªUû®Û(UqŠˆˆˆˆÈªú|ó#¬þ…ÅÓ'qxßfŽz¯§~À“=Âyü¹^¸yy[:Ì;–›ÍÚØ%ÄΛe~¶—_Y:÷•V]zPÊήÈÚRr#""""baƒ‡[=Aƒ°ÇÙüÛJ–}þ){6ý—…Q“øfæ4<ú­ºt§^³ØÚ–Œ?álßÂoß-bÃO±d; @…ªÕy¦W_Zvx»Ò¥‹¼Í’qfnÁöíÛiÖ¬™™™·T>$$„#FðÜsÏÝV;&“‰òå˳zõj‚‚‚î$T‘B „=Nƒ°Ç‰ß³“ŸæÏã÷?°qål\ù#®îÿ¿ý j=Ü£›¥C6ËËÉaÿÖ?ØòŸUüï—9y4ÛRv<Üê ëú<¡„Ýòkï„Õ$7÷˦M›0JlDDDD䞪\—A¦ÐgÔ»ü¾âþ³ì;öüïwV·ˆÕß-ÂÆÖ–J5kS«A#ª×¥Jíz” ¨tO“‡¿K;qœø=;‰ß½ƒý[ÿàÀöÍäå䈿i›v4oÛÏ2¾÷%¦›ÜÄÇÇóÒK/±}ûv0`@í“&Mâ“O>áĉ¸¸¸Ð§OƇÁ` 22’½{÷Ɉ#hÑ¢ÑÑÑ7Ü犘˜Ú·o¿WDDDDPNÎ<Ú±vìÆ¹ŒtþXý ¬^ÁÞM¿¿{ñ»w˜ËÚ;8âHÙ€ÊøVðÇÓ×7/oܽ}pr5bcc‹“‹ ¶¥ìppvÆÎÎ{G'òrsÉɾ@nv6y9Ùäd_ /7—ì¬óœËHçtÊ 2ROqòHÇs<ñOΟ=[ N;{{ê4nFýGZÑðñ6”)_ñ~Ÿª’™Ü˜L&:uêDÓ¦Mùõ×_IKK£M›6ÊT©R…5kÖP¡BöìÙÃã?NPPÏ?ÿž¼¼|ØüÙd2‘€ŸŸ_¡e»uëF·nÝÈÎÎfêÔ©têÔ‰ôôtüüüHKK#++ '''’’’Š,F)ž4r#""·äêùÁêÔ©CÆ 0`€y¤&==˜˜˜»jgÆŒÄÇÇséÒ%&L˜€Éd2Ï1¶hÑ">ÿüs8Àúõë¹xñ"x{{ccsùk­^½zT¯^‘#G’——ÇÉ“'ùàƒî*.)þ”ÜP²æ:(I±…Â")‰¬áZ¾z~0€ØØX ÆÕÕ•ÐÐÐBŸ¹ýúõ£gÏžxxx°hÑ"–-[f¾½ì§Ÿ~béÒ¥Àås:xð`¼¼¼0̘1ƒ%K–`cccží?þÀËˋ֭[ó /ÜÝ ¬áš]ËÖF·¥qùMh!!!–C Å©S§6leÊ”±t8"wlúôéœ>žØ¿(ç=¨R¥ kÖ¬!33“U«V1oÞ<¾úê«í­X±‚¥K—²sçNz÷îMDDÄuíFó6Üh^…«U¨PèèhúöíKBB}ôû÷ïgÖ¬Ywu.$îîîDFF—o©T©¯¿þúÕñL›ÌæÅ%ó>ò![¿Ûzƒ=¤8òðð(p-W®\ù»–ꍾÖÕýuQôß?Œýwê¾Ã¿Êü‹áþÃù¤Ë'œ8píÛåΩ¶.w”ÜìÞ½› 60kÖ,ó+>kÖ¬IÙ²eÙ¹s'»víâ£>ÂÑÑ///Þ{ï=.\Hvv¶¹Ž¢œ÷ cÇŽT¨P€àà`^|ñEV¯^] æ˜÷úé§Ù²eKÑ+n6oÃæU(L›6mèÓ§mÚ´áí·ßfÑ¢E×¼UèvÏŃfÈ!æÏYYYLže¸ÿpÞ¬ü&_G~MÎù¿®³ó§Ï³à•Œ¬:’á‡3±ùDNÆßó\xxx\s-ëKTJ²’Þ?æFýqêáT>~úc†ûçƒf°nö:†UvݺV¼šÄ-‰Àõû﬌,¾øÕå¾Ö8szÎáÜ©¿þ†ñõÇÓß“ÒN¥q/çŽ[97\½]ïÑÑ?¸Ô?[;JnÊ—/Ï™3g LÒv…ŸŸgÏž%==ݼ.11;;;¼¼¼î8ÐëÍ{˜˜H¯^½˜8q"ÉÉÉ$$$0hРBGenÅßçmHHH0ÿKOO'88¸<¯ÂþóÒÒÒhÛ¶-:uâҥ ÏÏϧW¯^tíÚ•uëÖÝõ+RTƒ. ^Q¾DÝ˹ÓsFO½¶ˆÓI§Y3c '¤ë”®ßwœ_§üzù—¹Ä÷ykë[Ô}¦ðÑÀÎtƯ†?èÌè£é9ã¯ç·ö®ÜKïù½¼r0­ÿÙšÙÝg“{!÷¯í¿ì¥ÏW}xãoP¥iæô˜ƒ‹· ï|—‘›G’z8•%¯/1—ÿìùÏÈ>—Íßàƒäÿ,W‡{t–ÿüç? ½–õ%*%UIv£þØd21·×\*Ô©Àøøñ ü~ ›nºI¹^ÿ=·×\r³rykË[ŒgEO¾èûE}ÿXø£jŒb¸ÿpŽì8B¯Ù½Šî ÅLý³u¸£ä¦víÚ4nܘˆˆs‚³oß>Ž?N½zõfèСdggsúôiÞzë-ºv튃Ãÿat½y®Üb„Á`àäÉ“,X°àŽÛ¹Ù¼ 7šW ÎÁ0fÌÎ;Ǽyó˜3g/¿ü2ÉÉÉX¯¿þŠÁ`(‘ÿ<<<8sæÌuíÊ—¨¯¯/ß}÷Ý}<«·¦ÖcµhôB#fuÅO~"ü³pìí(íXšKù—8ºç(9çs°w¶§\p¹Ûn£É‹MÌu†´¡”})üö׳ZM^j‚ƒñòÿƒÇöãØÞctx·vv8{:óô[O³õ»­äåäq|ßqÿï0]?ꊋ÷åÛ(}«ûbô5Þí©(23gδøuy'ÿ<==ox-_ùõõõåõ×_¿fZ¬Óž={,~m>¨ýóßݨ?>¶ç)Sxfô3ØÚÙâêãJë¶¾«öN8Aü†xžô,ŽnŽØ–¶å™ÑÏ·>®ÀèMH‡†®Ê eƒ¸˜{‘ïG~WíÞkêŸÅ’îø…K—.ÅÞÞžêÕ«ãêêJ÷îÝ9{ö,ƒØØXŽ;F™2e¨Zµ*Ìœ9ó®½Þ¼ÁÁÁ >œ† Ò¢E úõëGXXØ]µu£yn4¯œƒaÕªULŸ>Å‹cooOÇŽéѣݻwçâÅ‹w£”<Íú4ãTü)ª·¨N…ºÌë½½èñï¬ýd-£ªbÚ“Ó8¸öàm×ïZÆõšås'ÿêxÿ~ÃÙ”³8¸:àäîd^çéïI~^>Y§³8sü Fsb#"ò ¸Q|6å,ÎΔv*m.ïYÁó®ÚË8šø¨ÕGŒ­7–±õÆò~ã÷qpuà|Úys9;;ŒeŒ>H§ Ø´`Ùç²oP³ÈƒëŽç¹ñññ¹îd’üøã×Ý·¨ç=7nãÆ»åö ܶvõ\7š·áfó*ü}Ô¦U«VnσËóÜ(¶›‹»™—¡uëÖ—MVF–9ÁIONÇÖÎ'O'Üʺ‘}6›óiçqör¾ó¿‡"""˜1c†¥Ã¸méééTªT麿:;;3`Àó| wûÔ ÁÁÁ¬]»ÖÒaÜ‘’Þ?_ízý±±Œ‘óéçɽKiÇË Nú‘ô›Ôv•«úo7?7llmþßáæ‘÷[­Ã`¸Î—A1 þY,éŽGnDî§)S¦úÅéääÄ!C8|ø0“&M*¶“oýüÁÏädæÐczž›ö_G~}ù;àdÜIþÜø'—.^ÂÎÞ/—“šÿçìéLêŸ×>ï¶á³ ¤NÅtÉįS~Å„‰-kZG¹Úåð ò#vt,y9yd¥g±ü½å„tÁÎÞŽ²5ËØ ÅC›=L9˜ÂÙ”³Ep6lS§N-ô‹ÓÙÙ™!C†ðçŸëkYäj%½þ»õÇåj—çŠËß]N~^>™§2ùuÚí%jW÷ßek•% ~‹ÿõW_›•‘Å®wŸ—Ïš™kHKL#7+—£»óV A­‚°w¹ÅdHn™úgëpÇ#7"÷KFFcÇŽ-°îï¿÷NæàÚƒ¬›½Ž!«†PʾuŸ©Ë¡u‡ˆîMä²Hr³rù~ä÷œŠ;…Éd§²/}þÒuœ°WÃXüÏŬúxAñRôK4oÌ—ý¾$å` žþžôûº_Û'þÎ`0ÐwA_¾yýÞªö¶¥l©ýTm:ÐÙ\¦÷üÞ|?ò{ÞkðùyùxWò&|nx±zIOO¿æZ¾ú—@‘’¤¤÷ÏW»YÜûËÞ,´€7«¼‰§¿'M›°ìe·\aýwŸ}ˆ};– M&—•‡³§3µž¨E6u0 \{•­äBÆ\¼\¨ýTmÚŽi{¯NÁKý³õ(ÉÍÕ·nɃeòäÉæÏ%ñK³z‹êL8<¡Àº¿'êV`Ȫ!Wïf6duÁmA1zÇèkÊùVó¥õÊÂn}sӛ׬óô÷¤ÿâþ×m×ÅÛ…f½pÝírû>úè#óg}iŠ5(éýóÕnÖûTñᵟ^3/Ýu´Àö«ûë[é¿ÜxnÚs…¶gSʆ~ ûÝRìrwÔ?[Ý–&ÅZFFÓ§O ]»v%êö‘¿KOO7?s×®];ÝÞ %žúg±êŸ ÖùIþûm‘Õwxßz„V5/G>ÕœM¿>Ÿ_QPr#ÅÚ¬Y³èÝ»7)))ÄÄÄ<°”|³gϦOŸ>º–Åj¨k¡þÙº”ˆÛÒäÁ‰““ÓÍ >à »íLŠ—AƒéZ«¢þÊ×)ÏÄ#-†Ü¥âÐ?;ëc~þj²²°·wà‰î½è:èòm1sgòËÂ/I?uG'gZ=Ûƒî¯ 3¿1/ò©æ<Öµ'›~ý™¸Ý;¨\«¯Oý”µ1KXý)¹99tìû û¿j.ß𱧈߽ƒ çÏ“Ÿ—Ç€±©R»^¡±ež=üñ£Ù²æW.æåQ»aŒûw/ŸBËŸHJ`ú›ƒIØ·Ÿrxü¹koq?òç!¾ë6#ñ‡ð«èOĸI×mÿviäFŠ5Kw6"EEײX]Ób-,}-'ÚÏw³¢7ÿ{æo>À¿Wþ—†µ1o÷«ÈØ/¾eÁ¶8ÆD/æ·ï²nYÁ q×|ÿ ¯ŒŸBôÆ=¸ºy0ê…N\ÌËeÖo›9ëKEMæØáxsù­kW1|ú\Þ_ôû bü€pr²/ßÄA½É¹pÿò;Ÿo¼œ°LòJ¡eM&#{ã_-ˆÏ7îaôܯYµdÁ5å~ýfÿüp:_nÚGÓ6nØþíRr#""""b!öŽ\º”OÂþ=dgÇÁÉ™€5ÍÛ>ö^~e¨XµvìÆ®ë ÔñÔó/S6 öŽN4oÛ‰¬sgé2p0v¥KS³þÃT¬Z?÷î2—¼Û 88]žÇ®É“m±+]šþsMlGâ²÷ßé÷öœFJÙÙñü7Ù½é¿d¤º¦|â}‰;Ä ¯¤”>¾tìyM¹§z¼ˆŸ :ôˆÁ`(´ý;¡ÛÒDDDDD,Ä·bƒÆOå‡/æðñ°W ¬L÷W‡Q§q3Ö/aùsH=q[ÛRdež¥nãG Ôáæéeþ\ÚÞw½ÚÙ;—›c^v÷.xK™»O2RO^[ê‰c`00¬ËSÖ;¹¸p.ýô5·¦¥ŸJÁÕÃGgó:?ÿ€kêõ)_ÁüÙ`0à]®|¡íß %7"""""Ô´M;š¶iG^N?DÏæƒÈÞ|¹i©'ŽññðWyçóÅÕƒÁÀ×Ó&r$þÐ]µ—r$ÉüÙd2qêH2îÞ×¾HÁ£Œ/66¶Lýá7óHϸ{—áü¹3ä_Ìö”©×Žðœ:ö×kÔM&iÇÚþÐmi"""""rìp<û¶l"?ÿ"vöö¸zxbóÿÇfg |åª Τ¥²î‡ïïºÍŸDs")Ó¥K|÷i&LÔkÒüšrÕkR½^(³ÞÎÙôÓÀå lZµÂ\fñüöý"ƒjáW1ŸD1å_~VHûŸsòH¦K—ˆ;“üüüBÛ¿¹±œ ˜7ámŽ%ü &~ 6ƒ «Ö cßWÞõi¼Ë–ÃÅèFFMÉÌöíÛÙ³g‰‰‰$''“œœLFF.\ 33“¼¼<ÜÝÝ)UªnnnøùùáïïOÅŠ©Zµ*¡¡¡Ô®]KŽˆˆÕÈÊÊb×®]lß¾ƒ’””Drr2§N"==¼¼<233qttÄÁÁWWW<==ñ÷÷' €J•*Q·n]BCCñôô´ôለÈu(¹¹CyyylÚ´‰U«V±víZ¶nÝJFFÆ-í{¥\jj*ñññlذ¡ÀöR¥JQ³fMš6mJXX>ú(ÞÞÞE~ ""ÖêäÉ“¬^½šÕ«W³aÃ8@~~þM÷»pá.\ ==¤¤$¶oß~M™€€7nLXX­Zµ¢råÊ÷âDDä(¹¹ ©©©ÄÆÆòý÷ß³fÍ233 l¯T©!!!@ÅŠ©X±"îîî8::âââ‚\¼x‘3gÎpâÄ ó/ˆqqqlÛ¶Ý»w³k×.víÚÅ'Ÿ|‚Á` ^½z´mÛ–Ž;j¡3 "R|mÛ¶¥K—ÃÎ;1™LæmNNNÔ©S‡ªW¯n1÷ññÁÃÃ;;;\\\¸páÙÙÙœ;wŽÓ§O“””Dbb"‡fçÎlÛ¶ÄÄDY¸p!p¹ïæ™gèܹ3Íš5ÃÖÖÖR§@Dä§äæ&NŸ>Í’%Køúë¯Y·nù—?êׯOXXaaa4jÔww÷[ªóJ9oooªT©BÓ¦M l¿xñ"»wïfÍš5¬^½šµkײ}ûv¶oßθqã¨T©:u"<<œ:uê틈” û÷ï'::šÅ‹ó矚׻»»Ó²eKstKI‡££#ŽŽŽxxxàïïOHHÈ5eY³f «V­bÕªU>|˜¨¨(¢¢¢ðöö¦C‡¼ð 4oÞƒÁP¤Ç+""7¦ä¦ùùù¬X±‚Ï?ÿœØØXrrrppp M›6tìØ‘¶mÛÞ³[ÅJ•*EHH!!!üóŸÿ$??Ÿÿkï^ã¢.ó>Ž`„Q 5g,–Jb*xï²r“Öd@Ö†‚ØÞ¼hÃÓ­ÆFIY¬Æ5zUeASbe]-G3Yų"€ÌýÀ[×t³Fñ÷~Èfþß?®áÇu]¿kïÞ½¤¦¦²uëVJKKYºt)K—.eذaLž<™€€zôèÑ*y„âaRUUErr2 ƒ¢Ñh "((ÀöÙ:×IDAT€ÂÂB¶lÙ–-[8rä«V­bÕªUôë×   ¦NJŸ>}Z%‹Bˆ;I·´Ûœ?ž>úGGG^|ñE6mÚDcc#Ï?ÿ<‰‰‰\¼x‘´´4‚ƒƒÛtŒB¡ÀËË‹åË—£×ëÉÎÎ&<<œ®]»’——ÇÌ™3Q«Õ“ŸŸßf¹„¢-óÖ[oÑ»woBCC9xð O<ñ!!!ìß¿½^ÏòåËñôôlÓ¥aC‡eÁ‚|ÿý÷?~œwß}µZMII QQQ8::2qâÄ; 1!„­CŠàÛo¿% FCdd$ååå 8˜˜ôz=Û·o' €N:™:*fffŒ1‚O>ù„ŠŠ ¶nÝŠ $$$0lØ0ÆŒCjj*MMM¦Ž+„ÿ±¬¬,|}}qvv&..ŽÚÚZÆŽKJJ çÏŸç‹/¾ÀÃÃã¡XæììLtt4¥¥¥ìÚµ‹×_…BÁ¦M›ððð`Ô¨Q¤¤¤ÐØØhê¨BÑ.=¶ËÒšššØ¶mK–,áë¯of¤P(ðóó#,, ooï‡â‹ò~”J%~~~øùùqêÔ)âââX½z5YYYdeeáääDxx8ƒÁÔQ…â RRRÐétäåå·–Ož<™ˆˆžzê)'¼?sss¼½½ñööfÉ’%ÄÅűbÅ ²³³yíµ×Ðh4„‡‡K‘#„-¬¹¸ijjÂܼýOäÔÕÕ±~ýz–.]JQQpkãihh(aaa¨Õj'üeœœœˆeÁ‚ÄÇÇóÉ'ŸPRRÂÌ™3MMÑnß,ßž]¹r…Ï?ÿœO?ý”ŠŠ ž|òI¦OŸÎôéÓéÞ½»‰>¸^½z±páB"##ILLD§ÓqüøqæÌ™cêhBÑî4W3ƒ bÅŠÔÕÕ™2O«©¨¨àü#}úô!$$„¢¢"4 :½^OLLÌ#[ØÜ®sçμýöÛœ8q‚ÔÔT¼¼¼LIÑ222˜4i¹¹¹¦ŽÒ*ÊÊʘ1cjµšÈÈH***|8IIIAçÎM³Å™››ãëëËîÝ»),,$(( SÇB< ­VËÔ©S±´´ä/ù ÇÇÛÛ›íÛ··‹}uyyyп–-[Fmm-ãÆc×®]>|˜àà`”J¥©c¶(333´Zmó3Êø,„-Ä<""‚ââb’’’pssãÂ… ¼÷Þ{¨Õj&OžüHvwihh 99wwwFŽÉÆ1Lœ8‘o¾ù†ï¾û:tx<¶ 2„„„–,Ybê(Bˆ¤ÑhX³f ¥¥¥Ìž=vïÞV«åW¿úË–-£ªªÊÔ1ˆÁ``ãÆ¸»»ãææÆÆ133cÊ”)²cÇŽÇfVcðàÁ¬]»–Å‹›:ŠB´ æpë\rrrسg¾¾¾466²aÃ<<<6lŸ}öW®\1uÞûÒëõ|ðÁ899áïïÏ¡C‡èÚµ+sçÎåÔ©S$''ßu`æãDþ3(Ä£ËÞޞŋS^^΢E‹èÛ·/'OždÆŒ8884·F~˜•””ðî»ï¢ÑhàСCtéÒ…9sæPRRºuëÛƒ‰---MA!Ú…»:üØF¸¤¤„ùóçÓ½{wòóó ÃÞÞž‰'’žžNCCƒ)òÞåÚµk$$$àé鉣£#QQQœ>}>ÿüsÊËˉ‰‰‘Ô„í‚ sæÌ¡¸¸˜¯¾úŠçž{Žëׯ³bÅ <<üðCÎ;‡««++W®äôéÓ,Z´HÆh!„-âžíÑ4 }ôååå$%%¡ÕjilldÓ¦MŒ?žž={Hjj*7nÜhËÌ\¾|™5kÖ0~üxzôèApp0ûöíÃÊÊŠ€€þþ÷¿óÃ?ŠJ¥jÓlBÑ >>>ìܹ“cÇŽ1wî\ìíí9~ü8óæÍC­V3zôhbcc)++kÓl·Ñ={öä7Þ`ß¾}ØØØ0uêT¾þúkòóóùýï/c´Bˆõo7(•Jüýýñ÷÷§¢¢‚õëדœœL~~>ëׯgýúõ¨T*~ó›ßðÛßþ///† Ö¢§C߸qƒ™™Iff&ß~ûmóÙ …///¦L™Â«¯¾úP´)„mÉÙÙ™˜˜.\HFFëÖ­cÛ¶m8p€0{öl† ‚——^^^xzz¶h#ƒÁÀÁƒÉÌÌd÷îÝ:t¨yŒîСcÇŽ%00 &`mmÝb÷B!þÕí¨···gîܹÍ{X¶nÝÊ–-[ÈÎÎfÇŽìØ±¸ÕîrðàÁ¸ººâêêŠF£A­V£Ñhî[|\ºt‰Ó§O£×ë)..æðáÃpôèÑ;–ÁYYY1nÜ8^yå^zé%ììì~áã !Dû¡P(ÐjµhµZnܸAFF_~ù%éééRXXˆN§ÃÜÜggçæ1zàÀ¨ÕjúôésßvËÕÕÕèõzÊÊÊ(--¥  €üü|Ž9rÇaÁ·Ñ>>>tëÖ­-_!„x°âævNNNÌš5‹Y³fQYYÉÞ½{Ù³g™™™=z”ììl²³³ïzŸ……:u¢cÇŽXZZR[[K}}=•••ÆŸ¼—R©dôèÑxyy1fÌÜÝݱ²²ú¥Ñ…¢Ý³¶¶ÆÏÏ???nÞ¼Inn.{öìižY9vìÇŽ#))éŽ÷™™™akk‹R©D¥RQ__Omm-×®]kžùWŒ5ªyfÈÃÃCfh„B˜D‹ôB¶µµÅ××___jkkùþûï)((   €²²²æÿöÕÔÔpõêU®^½z×çØÙÙáàà€Z­¦ÿþ 2WWW $¾„âR(Œ1‚#F0oÞ<ššš(**j£Oœ8^¯§¼¼œ‹/þäø ·šü8 ïè舫«+Ï<ó O?ý´tûBñPh•ƒ^T*#GŽdäÈ‘w]khh ¦¦†ëׯc0P©T(•Jlmm133k8B!ncnnŽ‹‹ ...Lš4éŽkF£‘ÊÊÊæ›gp:wîüØœ &„âÑÕæßTtéÒ….]º´õ­Åcfü~öÇï7u !)fff2>‹V'ã³hO2’Ö<ï},”JSGylF¶­[ܧ´B!„â§ 0å? š¹¿Órºä¤‰=žª¯^!fúT*JK03Þk¿B!„âžòóóñ÷÷çĉ(­­™öÎxÿîuSÇzlÉÞÏŸÿ÷-®œ?G×®]Y½zµ7B!„BüR555„‡‡³víZ<^ðazô"TmLœ¬ýºy³‘”¸X¾üb9Ʀ&~ýë_“˜˜ˆZ­–âF!„BˆÿÔ†  £ººšjf,ý”CÝL«Ý¹tö ºYaÏû…BAdd$QQQ( @–¥ !„BÑ"Š‹‹™4i999(˜>“—CÂQ(¤ÛdKø&ý+V,˜ËõêjHLLÄÓÓóŽ×Hq#„B!D ihh`þüùÄÆÆb4é÷ôPþógú4u´GVÕåK¬X0ŸC;Óðññ!>>žnݺÝõZ)n„B!„ha{öìaÚ´i”••a©T21|6¾ÓÞÄüŸË§ÄÏshg:+̧êò%lllˆeÚ´i÷<SŠ!„B!ZÁµkט={6+W®Äh4âìêFøÇ˰wìgêh½šªJVFÏç›ô¯ðööfÕªUh4šû¾OŠ!„B!ZÑŽ; ¡¼¼K++^˜‡vÊ4Ù‹s‡v¦³2:’ÊKèØ±#‹/æÍ7ß¼çlÍí¤¸B!„¢•UUUABB}ú;ó?Q yj„‡iƒ=DN—œ$!æ}ò¿ÎÀÓÓ“5kÖàèèø³?CŠ!„B!ÚHFFáááà>nKŠ!„B!ÚÁ`@§Óñá‡RSSƒ¥•BÞÂwÚt,­¬L¯ÍF²RSØÃÕ‹çéС!!!DGGÿd'´ŸCŠ!„B!Làìٳ̙3‡7b4±ëÕ›W§Gà5a"ЦŽ×ªr²v‘KÉ‘BàÖ4NÇ3Ï<ó}®7B!„B˜Ðxûí·ÉÉÉ ‡ƒšWBÿ€§ï«XXZš8]Ë165‘»o7›?û3' óÐh4|üñÇøûûÿ¬†ÿŽ7B!„B˜˜Ñh$--÷ߟ‚‚l»uçù׃ëÈÝìLœð—3ÔÕ±7m3ik¾ ¢´ÞyçÞxã ,[°€“âF!„Bˆ‡„Ñhä¯ý+:ެ¬,,xvÌsü÷«“ú_žL 颂\2·$³{µ×ª4h¢T*[üžRÜ!„BñÊÍÍ%..ŽÍ›7SSS@gÛ.<ë5–g½Æ1h„;lž0qÊÿ×P_Ïñ¼ïÈÝ·›ìã™r,,,Ðjµ„„„ð /´Èò³{‘âF!„Bˆ‡XMM ›7ofÆ deeÑØØ€¹B£ËÓ zvýžB¿§‡ÒKãØªÅÃí.Ÿ;Kɇ)9RÈñ¼ï8Qƒ¡¾¾ùº››¯½öØÛÛ·I&)n„B!„xD\¾|™´´4ÒÒÒØ»w/W¯^½ãºÒÊš'5}é¥q¢§ƒš®=Ÿä‰nvØÚuGÕÙssªNPt°ÀªcG,,,PZ«h0¨¯»¡®Ž†ú:êënÐ`0PW{k•W¹rþ•—.rá´ž³e¥œ-;Åõêê;îmeeÅèÑ£ÑjµL˜0¾}û¶áoæ)n„B!„xݼy“üü|öíÛGnn.999œ.Rf„B@5jÕ˜nÙÐý1¨^íµµ$P™cÔ%"êH T¬Æ5}M >AUêŸË¯{^_cËìK@Åj\ÓW„  D"H$„·hcÊ’mÓëƒÍ[ð©×ûÝø¶ÅLʾÏÝ#ë­ÅIg­¨˜ÛB÷ý±ÿMÙª]sJ€M¿nd«„ 0íP—¶Ò;ܱÿíw—s—³ÎÑÕFªøOŠ E•A2Öµ¥wyÓ?YΙûö{Ô¤(ôÒVzÝPòvÖE„ËZ‘tYÿßþ÷÷Þº§·sïmYÎ%, ¢Ð ³e0·cí~¾ä%å’`ù{”¦š ‰ ƒM·ÐjŽlç–ÖÝ#q¤«&H:ñn:}ÔØäàéßݾó]k@~ìçÅ 0í¤´+ãןùþúóÅ»¿]¼ËýZåß8÷hÌÝ£ºœ]Þ¼yy{ywþåëÞÛB[¼÷¦4k«ßin'ËÎÐK>Ç  .ÅU$0ÆY!{ñÞ›VÙ ¥$„B !‚€†‚äìê÷?óÜXWcËki"HúÝñº]s-¬«‰ éÜ^~÷mž;fjl`-’î\¾ßw_ç8ǯ±e€¸ƒI>È*¿e€$ÓÝqÕƒº¤^é+(ýäÜæ®Emg"$¹»Zµ[Zýgw¦<þ`、n­þÛ9ýùám}r²¬OoÓ†©ûçøëvßkµ<|î²–×ì,þú)í¤.oçA¿ëÉ~œä8Îþ‚Çù;$w?ö;ͽ·æ±ík‘ø‡óŸ–×û?Ý:©éí逦­[U‚$‰q€1‚äÞ‘ê3»£.!AòŒzkUNkRÆQÌÑ"AòÈ‘êj´¬bHÿ- 9’Q5®ékÄ¥Lý™QÚ`ÝZa¬}B>‚ä õ¹êj™Ò\þåûëÏý®|ñ9WcíÏý]˜«¸ûHÊQãè…8)M!ï>üvñîÿq’õ)‘ÀöT$Q!ïáH !‚€c$ЄôYaÃAûeã.c¯8ÖZÊÎý]#FÛ$Єé.xÝwl6Úô\²émûÝ±ÖæÎ[#Â¥-˜ÍíŸ)æFÅÜ6§CBxlIÀB]œ•¾ÏdtÙª|‚êîÚ±DÍPŽíÅFÉ ¬ 'Be-–˜¬… ¡Q9VÃí¯, N¦m³Ð¤:ffmÑéÙDku:cqb›¾ÜÏï¾$ÛP‘Ю[›M”ãBJk5JúæS&û¦ÇÀp²¯Ù’ŠîåëzÔ(9¨<Ê!H`Ó'v ‡å·‰“þ:Ä·çù½ž®0æVxñeíÇž¹²ìµˆ$4m¯;Ÿ‡5J¾8.eŸ¾q™Ýâ¡4ÆHhT9‹gäž:l){r$4§œés{#õ$4¤%½?ϧ»à³÷Ö=p{#uÉ>FYzØÎ²Á¹“—ýî²#³î•y®]Žá‘‰ŒäßÚ}†åa®Û#sÆç.î–¾luÊ6ä^d{îÅ·JØô•?~`ê0å+âÒVüv°eO8˜þÝáÏlyLR–ÈžH¹#äôçÓ›³«¿ÿ~ñâÕÇîëîß’[®Kk·7R‹‚¦ÿNŸwušñ³û”•J×^‘)×}ÔÓÇg¯*äìêôæÍËH ÿ¼´åWóìÓ§·OoOjç©'Ô(”¦ˆ ‰Ô)?ï¸k¼TB„<¼ú—¯±6No–µœk|ëéÀؾ+7ŽB 6 ’¹wÆ–£œîxî6oY÷°/5 ûÚm°}û!ß2ïÑͽ§ý8ɽw?þóZo^®Q…ü»åÜÇíJ«QLîhÁnƒíÛŸ/—64½=ÕI;ÜÞÈ–vžµµÖèE|ÙêþOö[Þ÷ø¬e8%zï-b;{ÝÞèÖŽƒLÿí,k¡ä'LÏU›»åìÛÛ¾Fñ~kGö yÿú‡ë÷¯S~2eæUÿ;ÓO»K¹<5¶õðßuIwuúþ¦oO|îíµpÞZÚ>®[£”¶w,ù;žäëVJ^|b/-“ƒí¥)a{Ý}é¾Î±GÇklá]‘qÖVù‹OlÏ1¡4¦WÄ PK°°Lw¶åX«FùÿX`¦õ(‡Šµ¬FŽî½ä%H€gÌ:l,°5.m3 ãäØÃò÷0¸_úañPËöôU$¹§`ækÿH“GiÓãK^¹î#y¸U9ö‚ˆ±GÐWqtrtÊý³­uÛÏ×2léqE’÷Ü|ï»7ž~„}ÆHFåëâ…õêŸy'Ó©²"žË¯uvïrV;†dj¿û:ŸvFD†ò=áHT$ÏÈ·È%¾÷2\¥ÍCÀƨ?HQYŒ×Ç;eµH;ÆÖx'rŠE-ª ’}ÏÜÕ%-8Æò‚±# þ`‰ìc$Ý,ìîë““HKŸÞ>w}¶ß)§ ê­E¢çÎý”c«ê¢þhyüƒµd’þm;µ¿E—Õº-¯9íÒ°áøs_Z¨K\¼b-UÎÚš6·S®±ñáÏ¡ðøg½‹XG5c$åØk¼Ä8ÊZÆž5yìË\Æ?Èç°A’Ò)«EÚ4¼œ•òð㈽NÌ¿b‡ ’ܶ¬KÔ"9t±ñþõ×ï_oÁsõ[:xŒuÊj:GZð\ýÁ^8Ø>&ßy}-s$ƒ}´0S¥Sc-¢ƒx|4æ/'þêcžmyú®¦ôà_k]¸µZc𵶦5$Ô®œó¾7½:½Ø^9ï½25ti ê¥þ d‚²‹týêÊ'H 8êê"H  êj$H`gêj'H`7êŽAÀ¦Ô ¨?8*A©?h ,Ô´CÀjÔ´IÀ Ô´LÀBêèTü`«c?aÛ>•¶öjúóýw<öÞµ#òw´Œ<ÕèÞèÞ±lÏ2òÓ*®H(  D"H$„B !‚€A@ˆ  D"H$„x ;ë?Õã9ŸÞÎùyÏmv¦»‡Ú¹´@ˆ  Ä¥- e,j!H(”x€Z¸´@ˆŠ„ /s©W ‚„ ˆ (™K[„B !‚€A@ˆ  D"H$„B !‚€A@Hq«ÿž]Þ¼y¹÷V´åìêôæìêöòî|þJÛÅIçöòîüË×½· Ë"¤ãÒ!‚€A@ˆ  D"H$„B !‚€A@ˆ  D"H$„B !‚€A@ˆ  D"HŠvýù—ï¯?§ÿüÙÕéÍÙUú÷Ç~²ÿoäu’Buòëÿ½øõ¹qÒ77 n/ïÎo/»SZ!€ )ÔÅ»¿]¼~nY„ô¿?üβöc$‡5¬-†"¯RÚZ Hx¦òÀ4A@ˆ !‰º#HeYwŸ2/ËÐ:0F¬àìê÷?ót²]0¤tâË:úôàQ‘cÉjº8É*Óq26y7Þ¾*HñÍÞp·—ß}ûpßïž]õ¿³Fû©ÕÉØï.k?ýw×ÚS .‚$‹.BúÕÉZ¡’»Ë À\.meÔ…Ç0TŽDl¤'B8A²)5 p<‘Äg+í+e¥œ}ì¯FüÜ~= Ú§lùØOÎöO™†0Ö²)éÊù;æpì½³)NJ;4gW§7o^Þ^Þùº÷¶¤oó:s´rÌõŠë"¤[¸ÿõôÛ.ò¦ìwëÃí#mŽÅUú÷!—¶ Ræ8J|Aû¥Gãéeí׺»e:*Ö}-86ARœ–ÇQr<“qÙÓV€t‚déñPf’[9ËÚ H!H*Ðr±Ö8 0­âY[mÊwÏ|]rÔ cƒüÀ4I•Ž]£Ä—µŸ[‹ˆˆ(´"é&¯ßî«y¶÷ÓÛ§÷bª‹_«ª8R’>Wj­îÞ4_ˆ+.HòÞA’§³ Œ±=ÏÚÀy×ÞÞ°‹_·Ó!°–ânH¬ÑÜŽ{›Ž~ß%}°zû»ÍãÛô ’{ÃÎåýë®ß¿N¹¯ü  ü-êe°ý‘.VûÒ- ²÷vÅ÷«ÅûQ€m’'ìµ(HnÇžë쥸Áö}å^¶GšëìK<ÒÚ*°Ç›ëU¦ê? ’{GŠ9G@’×±§‘–#áã(,ã=Ó2AÂ(s½˜Kœ´É¥­{c7©¹äe…¹úqâÝÒArO`¤0ŽB:qÒ—¶˜Í8 é¼OZ "!¤Ìåôç§/TÞý¨î܇êäØ +x<Ž’ëÙ‚‹Ì?÷ˆ¿~úûÏÿî¶h9*A W$yÏúÓ4pz³ìw·}Ð@kT$G%HÑ50­´Ëžä H˜­ü®¡ é.då}TãÊŸ°A ‘ú£[ÿ×?þ{ñëÃÿ5ýúHDHkLÿåý;Û#Ò-Èß=륋áct÷ÞW¢DH›T$ŒZkü#åù.*’Ú-k™ á‘-Ï([«BŽ=wK„´Lpo¯3Êj,Ç&Hš¶×íÖj86AÒ¨®h·P‹@ ICÊ™Q#BàHIJ¨?€£$‡UNý› 9 õ°¥Šƒ$e9ñÛv‘ðôûÆ:ýnvSʈB½õGú>ÖëØûxì½³)Nê=4å,É·o þSÎ;Ž­âŠ¤eõÖÀñX´±2ýúC„[5©‘ŠäÞðÜ­S;¶Èà¶Û¦þài-\»§|*’GÅîß~„tK ï·mê¶<<—þ¹ºD„Pަ+’þÇõ_Ý›/.^|8¿x±}E¢þ`™éø™Ž¨a õƒjYh¥¼VúöP²¦ƒ¤oúƒ´Í6˜EWß^Þ½ï¾SÞ™c¿5ý¿cmNÇÉðûc¯Õ}¬áQ/—¶^¤|xò½züùƒCÿ9’‘ ªsfnËÃ:~ú4öé`£.*’Ý®5 ú†Ï‘ì.®Æ/1­+}K"—Ú¨KÓA’òV^÷CküƒÚ¥›:£MIgî ä2ê–)§nC9ÛÆ¾ɽõ[ŠŒŽ¤ŒgÌ­ÚÇv÷Î>¦8¹½¼;¿½Ü{–îö›—·—wç_¾î½-”È;¶¡" D"H$„B !‚€A@ˆ  D"H$„B¾Ù{¢º^÷Þ €vU$–(K[„B !‚€A@ˆ  D"H$„BþŸW‘A Õ°ÊBtEXtsoftwareImageMagick 6.0.6 11/29/04 Q16 http://www.imagemagick.orgÝ<Ž‘tEXtdocumenttmp.tiffý òüIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/gparts_pkg_2.png0000644000175000017500000001726113634703632017533 00000000000000‰PNG  IHDRCÏF#/ósBITÛáOàiIDATxœíÝ{\TuþÇñï\˜á6¨xáòð¢£( le¢Ò®\M KÃkXdy#qm±67k-jUjsíb™J[Y®®²DÞ ]ÔE‘E@. ‚3ÀÌùýq|ÌöCÀfæœó9ïç_\fæ|çëyñ=ã _Çq  5 …Bè!@¢E(…Ø€Zè€ØíÊ/z«ï-ô:k2(€” @J %P€’(@É d P2(€” @J %P€’(@É d P2(€” @J %P€’AzŠ ò>àDÖ>¡Ç"ø_rAz¾ýxsÔä'Ÿ\˜,ô@Dk2HOuùußÀ~BB\Ý;€ßM¦cÿs=Çq¿žšó]¦Ùlöôé‘úÑ^½z—e¼¶ò©Ÿ4š˜™ÏÆ%.™¡9åëŒ÷ëëjg$/ï7dØ)K*JŠÇÇÏùÊ*þ¡ZÜ«´¨ðȾï]ÜܵÎ.ïþðcá/g>Hy©îfMʱ57ÊGOyjDÌäŽ=_þ®—h¸º»øåøá¼Ã9ý×Q7Ò¢B7w“©9-aFԤؔMŸ˜M¦k—/ò·<{ôлßg\X=+6ô±ÑiŸeÞ¹]·4v\Ôä'‚ô÷Þ+.8¤¦²bìÓ³;±Éh\ÿâüÙËWœ{dïî¿,yaô”§„}âBÁÕ5Ø…ÖÅõNýíâ‚|“©¹wŸ@7ü“'šq‰KÔNNgç¾Á!ü-ŸHxAëâêÝÛïÑñ“u]»ùøèC#Š/æ3ÆÚº/ÿä Wnä¤XÆØÃc'úõ rü3 ” v:eþ¢_[9;2xÓê¥CME…¯ÿ½û?võòá?pÒhºzyñ«5š¦F#c¬­{ñnUWuóéiùÔ³GÏVo&(ìeBü¼w¾=¾'§(ÿ\Væ—Ý||n”–<胴¯.Ý»×T”Y>­./kë–ä¡d°‹«Ïž;Ãqœ«»N£uæ8N¡vÒìܸÁÔÜÔh0ž;cÍã´/}hDC]]Îw™Œ±#{w—\.°Ë“‘” vÑP[ûÞ²g†x.ê!o_¿èØé*•úÕŒÏÎ;<3bàó£ÃOþxÀšÇiÿ^NZí+ïflO_?;rPnöÁ‘¨Ô*û¾þËÞûÈI£zDÂÀÕ5´IrWׄ«kJ %P€’(@É d P2(€” @J %P€’(@É d P2(€” @J %P€’(@É d ð¿äB›ÚÚ!‘6‰5€¬É`{–Å\³KØ£ k2ؘà!YŽ+«W(lIðŒ[]>1£d°‘dÜb 2‰%ƒmˆ*cž¬bFÉ`"̘'Ÿ˜Q2t–h3æÉ$f” "òŒyrˆ%CÇI"cù˜Q2t„2æÑŽ%CGH.cá˜Q2<0‰fÌ£3J†#éŒy$cFÉðdÌ£3Jk‘ɘG,f” V!–1RÌ(îdÆ<21£d¸ÂóhÄŒ’¡=ä3æˆ%C›d’1Oê1£dh¬2æI:f” ­aÆ<éÆŒ’¡%ÙfÌ“hÌ(þ™gÌ“bÌ(þ[H.f”,;mšÈ¸…ûÆ,ªÈQ20†ŒÛ ¡•%Ë F¶8/‘q;ÚŠ¹Õ™J–;d|_’X™Q²¬!c+‰?fìÕ(/­žˆ8¬$æÙÚ,#b>%¡Õ¹É*’(P =^*[C$ o;ð:Y.¬<q>´ •yÚ w ~.Š?-â_“Q²¬¡^+ýz¢ÄY5®®e¡Åɇ?t›Õ¬¢dçr{süÙ%ÛyÆ»Pàu²CíÊ/z«ï-àÑ7Toð莔ì™Ì€5€” @J %P€’(@É d P2(€” @J %P€’(@É d P2(€” @J %P€’(@ÉÔÌŒÐW•]ïäƒ<ûèP› F†R¤–”ßû±½áÉ…V<órŠÐC‘ܹٳËΗ)ÕÊ€‡F>7rÈ„!mÝxâê‰>Ž%C+ÆL}Jè!ˆEöÆìÄ­ëÕŸã¸Â#…¹»rÛ)9ò™HGÏW×’ÁqÜßÖ®š9hf„>)&ªòz)c¬¬¸èÏN&,hÎo‚w|ðËÿÌNüÝ#3Bû}òç4ËÝÏç_4öÑÙ‘ƒÞ_ùRZÂŒƒßc25Çê{êùð_ä?ÆÕ5ÏXoÜóÆžÌù}ˆ³‡³K—àqÁ³>œÅ37›“=“õFþ–›žÜt2ó$k㊺ª¨jãÔË–¯²æÄöö*J–Œ_ŽÎ;œó×ýôDþò¶¸¸¹›LÍi 3ô¡á[ËÈÎ õ8ËS?ý{ý×ûÞùfÿþŸ_>›Çk2׿8Zâ’­ÇÎ=4*úÌ‘ƒ‚>É(>YÌ™9ý}gÄl2ož¶9è± ?]ùÓÂ̅߬þ¦,¿ÌV#´@É’¡uq½S»¸ ßdjîÝ'ÐÍÃ#ÿ䉦Fc\ⵓ“ÆÙ¹opË)ó]ÜÜ{ô þÈÕ çcù'O¸êt#'Å2Æ;ѯoÏD:j\»¹*”ww{=âõÔ©©RoWÞ¶þAŠŽëÑÉÑJ•²GPÐ'BÏî9kó¡âu²d…„N™¿èÃ×VV”–Œ˜0i^JZME…¯ÿ½»võòá?pvqmjjdŒÝª®êæÓÓrÏ=XÁµ›kCMgæø˜“~H2ÖÓÂÒÌf³õr«ìV}u}Ú°»¯tšÍ‘ñ¶-’¥dBü¼ ñójn”¯Kœ—•ù¥Ѐ¥%ÖܱK÷î5ÿ»¢«./cŒ)•*…Rij6ñ_¼s»Îc–´€°…R‘Ÿ•?ðñŒ1wow'W'þ[ •B¡T˜›ï&m¨3´õ :§¿gÊqû¾€«kɸzñ|á¹3ǹºë4ZgŽãôaj'ÍÎLÍMCá¹3mÝWÑPW—ó]&cìÈÞÝ%— c …" hÀÙc‡c—Ïæ]:“ç°ç"Z7íø”ñÛ·Þ}ÚPk0Ö/¼ÄS( …¢×À^?0Æ®ºV|ª¸­ Œ ä8.ëý,S£‰3s%y%•W*m>T¬É’ÑP[»yÍŠÊëÿU©Tác~;]¥R¿šñYÆš™ïkcf%jýÝ'­ö•w3ÞOyéokWEŒ;8ò•ZÅ{vÕÚ«^ÉÌH÷ï7@áØ'$ £ŽÒyéö½½ïÓùŸ*ÕJÿPÿ¹[çê¼uŒ±©oNÝž¼}ÿ_ö÷Ø302°­GPª• v.صl×Þ?ïU(¾ƒ}ãÞŽ³ù8Žßu^žøW³"Ù?9iâ¨kÖ ·ã;ŸüþÉŽ?»øy–ÛþÉÇáêZ.òOžh¨«å8.+s{muU¿P¡G¶„«k¹¸|6ï­Å FÃ_ÿeï}ä¤Ñ="°%”,1³bf%= °\]P€’(@É d P2(€” @J %P€’(@É d P2(€” @J %P€’(@É d P2(€ìAá ÷î¨(BíA!7؃€¬ÉbgYdù“öè`=¬É¢&xH–ãÊóªUBP²x žq‹£#f1CÉ"%’Œ[Œ1‹J#QeÌCÌ"‡’EG„󳘡dqmÆ<Ä,Z(YDDž11‹J IdÌCÌ"„’EAB󳨠dáI.cb”,0‰fÌCÌâ’…$éŒyˆY$P²`dÌCÌb€’…A&cbJ±ŒyˆYX(ÙÑHfÌCÌBÉE8cb Jvòó³ P²ƒÈ$cbv<”ì²Ê˜‡˜ %Û 3æ!fGBÉö%ÛŒyˆÙaP²ÉR©ríæÚPÓÀ™ïn‰˜ôCRòÞäºuf³¹{M}sjEAÅŽWv8dŒÒƒ’[1!~Þ;ßHß“S”.+óËn>>7JK„a ¥"?+ŸÿÔÝÛÝݻͥØÂÝËý…¯_¸ðï ßþá[;P’PrKW/ž/,Bí¤Ù¹qƒ©¹©Ñ`(eü¶Äm§wŸ6ÔŒõÆK/1+¶kîÒ«Ë _¿»#wï[{2R)Áëä–jk7¯YQyý¿*•*|Ìï¢c§«TêW3>ËX³"3ã}­³s̬„ÀAC„¦´Z8Jç¥Û÷ö¾OçªT+ýCýçn«óÖÝ÷ŽÝût_øõÂô‰éc—ŽuÀ8%D!ÅÜùÞrÛ?ÙñRü<Ëmÿd)Ápu @J %P€’(@É d P2(€” @J %P€’(@É d P2(€” @J %P€’(@É d P2(€” @„÷ ¡ö )Á°&Ð É5¹Ã,‹Œ ÏZØ£m2Z“Ér\y^µ‚]É¥dÁ3nqtÄ ¶%‹’E’q‹1 f°!ú%‹*cb›#^²3æ!f°-Ê%‹6cb"[²È3æ!f°š%K"cb› X²„2æ!fè)•,ÛŒyˆÚ!™’ež11C[¤Q22¶@ÌÐ*•ÜÖ©‰Œ[¸ö\†DTr«q«°2C b)™?#[œ—ȸmÅÜêLyb)ù^Èø¾°2ƒ…HKFÆVBÌÀË^­žˆ"›øaö@k2NÄNju®°JËŠ(J€NR =€6ᥲ5°ðOø×ÉVž‹‚Sl0oðkâ]“-p.¶ŠŸ¬ÉÀiɨ×J¿ž(T-g_]·8ù°M`VeH¦?ÅrËsÁćÁ»PÜ}¼+¿TØq8L¬¾·€GÇ<ƒ`M %P€’(@É d P2(€” @J %P€’(@É d P2(€” @J %P€’(@É d P2eÏ>:ô¿…—„8J¦ì™—Sºzù= p‘î 61fêSBÄ–kòùÜã‹Æ>:;rÐû+_JK˜qðûocå×®þqÞÓñõ~tøßì´ÜøÊ¹³Ëã&Ìí÷â„‘y‡~ä¿83B¿÷ËOŒ>3B¿çó-§O%O=cXßOׯµá8ɸïtY®®9ŽûÛÚU³#ÍŒÐ'ÅDU^/eŒ•ýñÙéÏ„ÍùMðŽÞò™@§ÙlMn2׿8öòÕ#'ÅÙ»û/K^=å)³É´ö¹øÑS¦­úðóëW¯¤Îœ<Ŀ߀榦7ΚúÜâq3æäfïëÅùéÿü©›wÆØÙ£‡Þý>»¸àÂêY±¡Nû,óÎíº¥±ã¢&?¤·Õhɰrº~9~8ïpÎ_ÿuÔÍã´¨ÐÅÍÝdjNK˜5)6eÓ'f“éÚå‹> è<›­Éù'O¸êt#'Å2Æ;ѯoc쩟 õSæ/RªT¾ý÷ûYûcçs©TêñÏÌU(á£ÛwðПÿ½Ÿœ'^к¸…„z÷ö{tüd]×n>~úЈâ‹ù¶*%VN—ÖÅõNýíâ‚|“©¹wŸ@7ü“'šq‰KÔNNgç¾Á!B=° ›­É·ª«ºùô´|êÙ£'c¬º¢¼®¦zat$ÿÅ¦ÆÆèØ§c·ªª¼zýoß ¯^¾µÕ•üÇ–¿¡qÒhºzyÝ¥FÓÔh´ÕP)±rº‚BB§Ì_ôák++JKFL˜4/%­¦¢ÂÇ×_ž;H’d³’»tï^SQfù´º¼Œ1ÖÕÛÛÛ×?}ÏO÷Þ¸ªìºåÓª²R}X„­F­š?oBü¼šåëçee~é4àFi‰Ðƒ›±ÙÕµ>4¢¡®.ç»LÆØ‘½»K.0ÆôaŒã¾ùxcsSg6ž;SV\ÄÓ‡ onjÜûå'Œ±Üìý§O…~ÜV#{]½x¾ðÜŽã\Ýu­3Çqú°µ“fçÆ ¦æ¦Fƒ¡ðÜ¡Çb³’´ÚWÞÍØž¾~vä Üìƒ#Q©U*•:õ£mgžó›àY‘ƒ¶üéÍŒ1'fÅÆ­vl›1¬ïßß\óò†Íü_w4ÔÖ¾·ìřឋzÈÛ×/:vºJ¥~5ã³³ÇÏŒøüèð“?zŒÐ)w_&Ù|_ߤ‰£¬Y70<Ò¶Ûyü¾¾Ç9ø¸ü+R¹íŸìøy–-[¾ŸœòDC]-ÇqY™Ûk««ú…„ÚðÁ ¶ü¯ËgóÞZœ`4Üññõ_öÞGN ÚaË’cf%ÄÌJ°á€•ð/((@É d P2(€” @J %P€’(@É d P2(€” @J %P€’(@É d P2(€” @L·êj ¹Áƒ5€…P?5ù5 ?³í ó,X“(@É d P2(€” @J %P€’(@É d P2(€” @J %P€’(@É d P2(€” @J %P€’(p\É …¢ý½‘î{°æYžÔ>^«››àIJ9̳Ü8t_¨ûžIؾÈ&0Ï2„×É8´äö—,¶‚y–!¬É8ºä¶,¶…y–¬ÉPò½Ë {À<Ë Öd „)ù׋ ûÁ<ËÖd dúë{Ž_ äù›’¸p¬ÉÜýª7;‡IöLðè˜g°¬É d P2(€” @J %P€’(@É d P2(€” @J %P€’(@É d P2(€” @%§H-/(oññŠ>+n–Þtü`Hjk2=ó@ŒZØÃO\=ÑÃÇCØ1ˆ\îŽÜìÙeçË”jeÀC#Ÿ9dÂþ[‡¶ÊÙ”SyµRç­‹x:bܲq*'U;õ ³ýj¿W_Ú÷’W W§ž8„À%G>)ìD.{cö âÖÇõêÏq\á‘ÂÜ]¹|ÉÞ=³9'~S|ào+.Ul[¼­æZMü¦øv ³M˜}K.]¥VMOŸÎDËŽ%7›¶ÌÞ29mrø´ð¼oó¶&l>cx;·¿˜sqù¡åwnÝII÷ ñ:i¨ýÆ& Å'‹93§£oõ[Œc£Z¾âéïéâWðS_r;“i6™7OÛ<|úðçw<£ðFúÄtÿ¡þ>ý|6MÛ>ÿ‹ùf³¹,¿Ì˜ÿéݧ·W×’`Ç’¯½âìá>-œ16tÒÐý{´ûè¤h‹Fã¢y,á±ÿüã?(¹¡¦Áµ›«Bywk¸×#^7ÔcË-oñ-ž»—{}u=ÿq;“Yt¼ÈXoŒNŽV(=‚z„>zvÏÙ>Ãû4šÇ.«P(TLå?ÌßQÏlÃŽ%ß®ºÝ¥W˧]{umÿö–wõíZ÷Cý&®Ý\j83Ç›ôC’±Þ˜–f6›[|‹w»ò¶›§ÿq;“y«ìV}u}Ú°4þÓfcsd|dmy­g€§<7”¤ÁŽ%ë¼t·®ß²|zóú}Þdºuý–§¿'cìféM·Î~“Š€°…R‘Ÿ•Ï¿Nv÷vwru²|‹)Øùçývÿ•êkÕ%§Kž~÷iþÓv&Sç£óô÷L9žòë/^:t©úZuË ké°ãûÉ}"ûj ¹;rcyßæ•_¼Ï;™YéYM†¦ÚòÚƒ;8t²Ü/­cZ7íø”ñÛ·Þ}ÚPk0Ö/¼ÄS(Z7íØ¥c·'m/È)05š®Ÿ»¾eΖÐ)¡ü‹dÖîdFr—õ~–©ÑÄ™¹’¼’Ê+•‘jzßú}¦&S“¡©$¯„1æÚÕµ•¼A”ì¸&;iæþ}î¶ÅÛv­Ø5xüà A*u{ïvzóá7ëkêGÌ1lò0û LBF-¥óÒí{{ß§ó?Uª•þ¡þs·Îåרè¤hgóŽWvT]­ºû~òòq–;¶3™JµrÁλ–íÚûç½ ¥Âw°oÜÛqJµòù¯žÿêå¯öoØïäâõ|”ßP¿è¤è­ [MM¦9Ïiõ/Þ@<î^?9`_ß7~sÚ;Ó´÷ÚÇïëËqœƒË¿vÿäUV%ýäÝ×ÛÇjže˾¿­yåØC­ã¸cŸ»]u; ,À®‡ƒvÔ–×k=ñu4Ù÷7CŠO<ëãÆ;žžó¶ÎSkþ•2Ù*9]’“­uÓ =° û¦µ *jA”]Öð ñ[wmУ;¿j %P€’(@É d P2(€” @J %P€’(@É d P2(€” @J %P€’(@É d P22ÝÃK¨=(ä{P8 Öd ø© @ÀÿÏìšš•bôIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/geda_flow.png0000644000175000017500000001663113634703632017100 00000000000000‰PNG  IHDRÚ*-¢PLTEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÒŒè›ÿªÿµ"ÿÁDÿÌfÿ׈ÿãªÿîÌ33GG\\pp……™™­­ÂÂÖÖëëÿÿÿÿ)ÿÿRÿÿzÿÿ£ÿÿÌ"31J@`Ow^Žn¤}»ŒÒ›èªÿµÿ"ÁÿDÌÿf×ÿˆãÿªîÿÌ3M"f+€3™<³DÌMæUÿhÿ|ÿ:ÿW£ÿu¶ÿ’Êÿ¯ÝÿÌ3PmЍÅâÿÿ3ÿ3MÿMfÿf€ÿ€™ÿ™³ÿ³ÌÿÌ3Mf"€+™3³<ÌDæMÿUÿh:ÿ|Wÿuÿ£’ÿ¶¯ÿÊÌÿÝ3"J1`@wOŽ^¤n»}ÒŒè›ÿª"ÿµDÿÁfÿ̈ÿתÿãÌÿî33MMff€€™™³³ÌÌææÿÿÿÿ:ÿÿWÿÿuÿÿ’ÿÿ¯ÿÿÌÿÿ3(P7mEŠT¨bÅqâ€ÿŒÿ3™ÿM¦ÿf³ÿ€¿ÿ™Ìÿ³ÙÿÌæÿ3Uw™»Ýÿÿ--ÿDDÿ[[ÿqqÿˆˆÿŸŸÿµµÿÌÌÿ3&M3f@€M™Y³fÌsæ€ÿŽÿ:ÿ«WÿºuÿÈ’ÿׯÿæÌÿ33MMff€€™™³³ÌÌææÿÿÿÿÿ:ÿÿWÿÿuÿÿ’ÿÿ¯ÿÿÌÿ3M&f3€@™M³YÌfæsÿ€ÿŽÿ:ÿW«ÿuºÿ’Èÿ¯×ÿÌæá¬ÙÃbKGDˆH pHYsÃÃÇo¨d2IDATxÚíÝ–£¬…a÷òþïùœo:j ¢€€o­™îüih}BJ@œ&‚ ‚è7tl"¢OÐ9_J¯“®¿0AUÝØš"ÆöWIÉ»[3A¼­ÝĈ®ÑMŒëÝĸ®ÑM¼¡,Ô­ÿÜÒßÝDuØ{Ï%_¡½{s‚(»:mpu`Úú÷ãß ´< ßë½íÿ^n>ËËOƒ›(/;öÐϰu½Â–}Z»;´Ý§•Z£D¦*ÛFÚª×*öL­DµÔÓÛëͳTÜD}ئÕ´Žk:¢½¾â”ö1_pEaû´mµ¤­„Zû$ï7Q°¹"@[g´×ZÛ¬uŸÑœÓ&å&ÊUÙ>m¯…$œL´§]ÞNÅM¼Qe¿¿blEªì\RqÍU‹¹Pb›Õ ¶‰QÕ`›Õ ¶‰Lbd:gQ%vØ&2ÉN ]‡-¶‰¤¤m"ìeøµÇäö#þ=â uZ°ã²åµîÆuÿnˆ^w¢mEÇ=ÉÔíÁñ#Þ°m7ë´‰ÂfÑ!}“3ÊÚÂôV»×­‹n±M·ÕÚgÜádä(!ñÆcdz–O=F¡‘¿)Üëxk…'%öæ¶M#—’ÑšE¦œ´©¸[ýÒÓ×vÝA§¬ŠmCâ]úìéèÎAÉzŠRø†Øn·¾{:þäÏ⢃ b;+n ÿŽïÑÞÕÚ‘žh÷omÌÞ¶ã+M…i»}Ø.(Nc¼IK²h_œ©ÛÍËzPòMÚ‚vï¼Gk–+ïÓ„™Z°ÝªÄ/œB¢nWΑ%ÇŒ/âÃv‘ÊûÁ˜úïœñí¾…_úÑI4A{$åLªmö)›ÍÌ>ýÀfH?¿ŽÍ íæ·ƒn-Çf†6´ hWÛŠÍÚ¢I¯ˆÂf†vƒ"4j»Æìt…6[Ú­ní¯Þf.ï&*mh÷YmKÏh³‘¡Ýä¦ÐÓZ›m í6·Eðö.xdC»OÛ²—ßÜÏÊyÐnkd¿L&sì¼´#¹ÎPžº¨9 =¢m!»QÛl‡B)›ÚC°a¡=dÅÍfmÀ6[!¿L¶*´‡ÄÍ6똉mÃ&…öÀ_j| B»¯Cí¬/$ˆÆ|K7ž$înìv⻌™·òÜV°ƒ h´ hC›€6´ hC›€6´ h´ hC›€6´ hC›€6´ h´ hÿ‡ë¿0w¯x„6Ñ>myX•‡µ M@› ÊÑþe&ÿîÿ¥'öžyäïÇú¼YÐ[byÙ¿Gœ—C›¨–k¯ÆŒåÞsq~ÙCË›GÂ9´‰’-$ŠC}Åæ‰}î\Ð[´‰šÚÑ–Í)–äöîy{S‘ŒÚDñÃÈ}­=‡*ß(mÕÚäÚÄ{´u,T'¹¶Â¹ö` S¶tté¶pØ÷‡w …ä×¢5}_S”‘ZHô±÷í<×ÎØ½8|o$´¡ mhWÉ¡ íAiÿñfä´û9pN hC{ ¯ ÓxmhGûF®{ñaÝ/hC»"í[-$ñ.De;„6´_hüƒ6´Ç¤­…ño¶é_4ƒº—~Êõ±4ÛІöK´Zûk;Ea9ñÀ؆6´û ½`Þ2—µûÚÐîŠö–‰øBÚ}ÓžŒÃ¥ mh“k“¾¢ÈØjh×i!±²¡½ò“v6Úæ¤Çrcÿ¤­« ý*mAûí-1Ñ¿Þ`ssZnʾÚi›óØ‹ Ø™öOñÛüšì¯å hW¤ÍÈ¿,´w7ÃO@ÚCÑþ!mhwtyµÖž  í¾ÿÂ)5 ´»¥½vÙH;å¿s´5š¨P38´¡]qO«KaІ6´¡ mhC{(Ú´¡ mhCÚІ6´¡ mhCÚІöwh/c±§­ûq¹«_gdòIfÐ>ÝæmÅ ´Oÿi‚vg_¾ãOpþ„ö´» í~þ(Aû€¶í~˜í ´{l ´¡=¤ìÑm'´Ln Iï²·}ï´õ+LÈþˆí´íQdmûíí÷Ðnä¯Ñ§i%Lì½Ø†öçwž  íA÷  íAwãj =êžc` ´GÝqŒ¬ö¨û¡5Ðu·1¶Ú£î5×@ûý²Š=´»Þ‘ ÅÎSTøÝmhç.©*ÿ ?$hC»BYUã@Ú•jÑ‘>LІv¥ÒkÙÓç¦léš¶ê¿çøó• ¢ì)oÒéÌQЦèƒ}ø¡Mɱ í/󵆯†È¨ÅÆ6FF-5¶A2j¡±’QËŒm˜ŒZdlãdÔc(£ÛHµ¼Â7TŠU¯W££ ]‚öû¬øí2ªÔB° íáX ÚÐ.ÆJ ÛÐ/€6´‡=~Ã6´sƒ¢,Ä´û ç3fÔZ|¬üD9Ús[ÑÍ…Ä;?‚6´¡ mhCÚÐ&  mhCÚІ6´?Iû¿ÆÙlÒ mü‚ö·hï†j‡ø)6<°µ„d;[Ú$$qÚg0´šôO[ÛsùÏ@;}† muVkkˆZ[±eòžŸü\;B[ÑÖ6³´IHüÓ"íÙdoin=!±“–Höä2õFÛ\>íN½ÿ;_ß?gÚƒw´«ÅÝ’”kOÞ)A^ýó‹ ÚÐ~·ÖÓžBgËA{xÚ™g#x™¶s†~„¶9·ÚŒüë¨ÖžNh“@{ЄĜÐí'ÃUÕm•ÞÌ­´„FÉ8-C´¤A]çi°#jü»0àÏoû“š¦Ý—¶~i+D[Ýд?K{›zçç×›G橵3'í* Ei¯=?¿Þd<2Om7iÐî›¶š½ôCʯµíÿ¶hÛ9´—äS~­mÿCû´Ý¬#~CºtñšÚ´Ý¬#~C"!vŒ¶;Û_w´ÝÉþ ýMÚˬÚÞSj0! A–2.hÇZH:¡k!ög#CGŽF†Ž9Œü&íõz.ämNîPãßÜNãßÚEçÒ^§ä4þM4þ}ˆvZ³GjO~qÚ‰Ízg·@»2íÙ­¬{C’ØìñÖp-¦³¬M{ž“û[ùWörˆÐî™6ƒZk”‡«"@ڃɆöèÇ[\ Ú£f¥Í\u˜ëF>…ÚÝšjd C»É õ]a6Qh€ö˸UñÝŽük|/>Vþ¦ÿš¦:QÞýòj-çýZùûÜè—;ÿÞä m"™ur/84 Ý>ì{GbÕBØgº¡ía¿ÚDØõqC›¨»6nhÕ`×Å mâtG¯t«3[u>¯w}¸ø]˾s)¯š¶¡MÜ–m¯ݪížs@d¿!Ṵ̂ÍúáÜ3×i|É6´‰²ÝÉ?Ì…tCÙ}É6´‰²m­½ÞI»b´jØè»U Ú/ÈÞÓ6׎6uøÑHª¶;§¿×hÇêi]9Ĭ@»ómíd»»ìúB® mh7JÛvÙhmqï̇*h@»AÙιeÏÝÑÖ}Új5î7s }‚ìçjíKç˜)$an5îPyù¬gp—IHît·· ûÖt$Ÿœ‹Ú!+mËNµýÑÄ ]‡¶òM!•h»• “Šû&m=™‹¬°ìݱ¬*Úþîl½ÃÒ~àD3´¡ íHiÌ[Ù1‰ë•løÊCØv»—Û[Çä%å®´½¶[§¾¬Ú_ ½62»ƒµÏ0åÏGbc´”oNbõˆ Û‰¶ƒ£ü.Ö.K{?ÀV‚6qÙ¶7({ås‘vƒÈݧlÿ™«cÚcÐö[‘› ]*×®K[yVíDÛÎkiÔ6güx•iºn‚¶üõÚõlÛL$ÐB’tBëìÐÒ¶nÕŸi£è ýÿ¥þ¶Ë¿ñ¨?~Â× ]µy;}°¶ž¾Å ´ fûKO³nhg³­çûB{oÚÐ&!i))IÒí³–dÄIH Ý8îhÂm/ñØÝƒv˸Ž„èÅ_[`lãÝÒ×xåú~K‡ÿÁÓ¿µµPkƒOø€ø¥„Ú-ã>>ÄWh|ÊfÓ¹±bœ жï°]žö’ÈOHh!)Œ»ÐÅõ´çy°›Sú_¤“çÿÕ¥]n§áö²î—DÝ4°¾Ë5ÚNJ±ô'¬ÛäÈJ£íÙ†6•wŠëíÙÉz´Ý˜MTvFÍEh¯)<´Ñ}…÷õ.´À©^¡ÃÈxBⱎÑv´i6µ6áòV|€IÊOð,Fí4_ ¨~¡MÜöý|V.…† Ü¡ÉÐóÐæTâ1íHoüS¸ï(×6ãÐ&žNç¢Àa¤ÛÂ鲑§4X»-$ŠÓ6« \“Ó~¡ý¼ÚÎ5‚6Ø–}síš  íçÕv~ÚªE›)vÆ;ž|ÅvRçQjwÓ-Ù Bvc´ûõ×)dgk|ºŠ†a+õé>E$²ÑnV÷½¿ìÝ«npÍÆhOM^ΦÇ?‘ye7µE{ß»èd_@›€6›“€6å' Mù¡ h³/ mö´ h³9 hS~Ú”ÚËÒ÷H ‚@ÚÄ×¾A;§mhLRІ6ñ-Ú]oLhC;nÚ´[¤(hGlt¾5¡ mhŸ¢=A›è×ÒÒD¦óâ…xvïÓ 4 ‘™vâd“:ŠRõæúkðûÚÝÒþ]hÒÌ¿<²^ÇÞ›5§Í¾m¢:íÙ\a½^‡¥m‘o¿”VC›¨OÛÌïW×Û•@"¡M´MÛ« }Â[2m¢ÃÃÈmQkC{XÚÔÚÐîô02kÛ4DoÛ€m¢õ\»©kØ@ÚІ6´¡ mhCÚІ6mhC» m6&ôɧ/Yˆ¶púûí A´Ç§­ùmµJ{ýiÿ¯‹+Û¶†v¿´¯º¿y%áÒ´÷7 ý ÚK§¢æíƯ»ñ÷¨¶Èå—Ó_i^Ÿ°deÚ¡Z{;;ο—rî ´Û¦½ži¾9°¾mûdÊ’õi{¹¶N~A{ŒZÛe¨yÿ¨}hO{N^²Öad¼ÖÞ*é Úß í$Ð}Fâé½¼d•Z{:IH ý1Ús(¥ˆ7‚8O^^².íÀa¤¨µ?E{°\{:hüÓ2ÏŽ&hN;¥…DŽí”U¦í²‘6ÕΫ’æ–‚v«´wÒ”ÚUs¿“§‘Žvµ°[ ]”¶  íh;¶õ¼w1uÉ·i?Ù ÚíÒfä´¡ mhCÚDC´/çÈ‘~˜xãu´åá–BÝñІvg´µ1:?ÌhC{›åRO[GÞ¢½õÜ@ûC´ÝÞC¹ækb°³Ñôj:ã¿ ­é„ö“D‡è‚öÒQîõ¿{ã@Uõ§ÖioÙ7´?@Û9f2µÃDŽh7Vk/ÔÚ¦íæ~Bbhï? Ó¶¢¡ýMÚÁÚx»ˆ;¸o†6ÑO®-¬«vùÊ<÷˜k;¤¡ýÑSYû Év 'ÙÖ’X ‰£½ë²öØ´‹ô£·Aût1Úµ¡v…'hCÖÚ:OµkŽ!)²q¡ýÕ„„‘´¡ mhCÚi´CÕ #\M  YÓÙ9ÂІvO´Ýq¯´‰7iû:SoGn4Ñømhï+^yspûóe_¡-hÑ6ésl?7ņ6ÑmEgm=™/Û›ãÚD´c“ oC›h“¶ÂS¿ŸÍ— m¢iÚn#ÞÉ·Ŷb‡ÿ M´G{öjòàÅö´µåé'M‰Ð&zîh§]›“6½‘D Ú­ÅÇÊOP=°9Ù›“} h³/ M@›ÍI@›òЦüЦ8Ðf_@Úì hÐfsЦü´)?´)NrÙ³‡%hÐîÎ6¤°mÚÐ& ýºmHaiLÚˆÂÒˆ´'hc Ú´¡M@›  }t(ÈÄ:Ю8oëB7´ÇÍ”Á=Ä÷o[ßÈâãMðý…mÙØ&àmbtMØ& MÐ& Midc›ƒv¬_)ôàÿÓ]¤Ð&ªÒþ8Ò~€ÚÄ´× |«ÇÿýÓþqh=ÐödÿÝ×ús!½>¾&$Ò”8î ÚÄ[´W­+hs÷ïÆŸëå_ZÚ m¢:í_¢q‡6µ6Ñx­ý“kŒ;¢—Ç7×ÛÐ&Zo!Y†jíõhrý—êÚDeÚöÀÑMHÌa$¹6Ñí%ßXoÚZ{÷øVeÓBB4Oû«å!  mJÐ& MƒXB6m‚€6mÊB@Ú¶‘M|\²‰ì¦˜„˜÷«²¸0QÚ×û òdÚm‚€6A@›  MÐ& MÐ&h´ ÚaX3Ɖ€6Atg›ÍùÈ3vÚ£‘Ž[gA{ Ò^I4°SQM0æžåsM½0èîåCMÝ0rÀ»_°õÏ)ιrp·d:¼_ê?~ÃbÅɽNp7e:ÓkŸ•ç•âù° ¬§Ã¥R¼ßm”(ô‘¥âîíp)¿î§Þ}ýЕšXÁ¯­Wß”¹ì,ÑU3@Þ\@o®bA¸ü<]“ç_΃rw]Øm­(Wyn®Gò…Þ¦½¿îagZÙÛím ÝR¿NÖrýãƒÏ„v9 ðº‚aŸ½ÞÞ©|5Ù_íõšÞŠÒÞÜb»´ìÆVù~yBGƒ²iÇV5kuíVèãOí‹‚íÞd?ZéûåQèöÒ\r™vp ~I°Ý›ìûI…Þ/O¸^•—$ÒV˜6¶+Ë>l“Ý·düÌDFöNh“ËsDû÷&»f‘ÚáÆ?h¿SgŸµÉ^Û1ÊQžPã[àXíØORy"Ãï(ñ€¶"´?uØ~‡vøË´mM7ië? ]<‰ƒvÕDû¸Mö¯w9 ÒÓ½æd:Ñuh«mrXÐËå9.BaŽØ~™¶ý2ÕîKø)m)º„U¼eµ Çi¡ì‘.´k¶Žœ´Éj×fðd¯™³ t`)LûJãñUÚ’Þ€íª´#7l·…tv®ëïé°Ö¾L»ÉKBûEÚÃHe¯µcùH m=«µßíú¹¶—áú´Ïkí„\ûZ Iœö•Æ¿Úˬƒ-e‹'h·M;Ø&»5ñƒ_¥}¸ÄšM;iPbãñ)í»Ò Ý]JòÒºõþß mlY³ÞÿKuú´7*ÛiâO¦ìîl«±Z®ZTþ¨l·‰ÚÃÓV¿å9=Áw?RDÞ!®rvëMYf¼öÚNmÎ,l[m}\ò—GÊWümݯµÝ]Å­¶Ê£œK„h_è˜Eö÷g´O—úü§@ÿõZ›d¤7ÜcÌCR¾JvMÜOåžIòùÌfR«öý†ï— æ]k†òÌHF^ã]|‰¢H³}̘©õÃÉI¥1Îiåi[!°ñEWàþ;åÉ}º°›ÞÌ5m{¾– °‰Þ>€MôôÝõæòQ<ª³A¼–ëçzAtBÒÄ`Ä!M»ø¢l¢… × IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/gparts-ss-parts-4b.png0000644000175000017500000011167113634703632020526 00000000000000‰PNG  IHDR*f IDATxœìÝw|eþðï”-ÙÝ´MÈB¡“"*ŠŠ(âyŠˆ]±{Eï¼Ó³{¢w§?õŠXNÅ®x¢Rl(E Ô@ B !¤Þ“­3óüþ˜”M²»ÙÝ$Ïûååvggžç™gç¾û<ÏÌpÉÉÉ䦸¸˜ ÷$$$¸¿-Z¤¾z饗ˆèÍ7ßÔëõ²,÷CÑàŒ¶uëÖ©S§uˆ¢¸cÇŽY³fÑÏ?ÿ<}útI’‚HG„]»vÍš5ËjµªKœNçÉ“'SRRÚ–G¯×çääŒ9Òn·ßyçDôÐCµ¾¢¢‚ˆ>øàƒwß}·²²r×®]‡£'™xÃó¼ú"***77—㸆†† Ò‰ˆˆ8zô¨F£!¢cÇŽ ‚t:¹¹¹¢(ÖÖÖªKL&ÓÉ“'ëëëÛ–'::º   ¡¡çyµ“롇ºñƉHdŒ}øá‡Ï>ûìÑ£GËÊÊœNgOrð1ÖöB–eEQÚ–šŽ,Ëê¶ê oé¨Ë9Žóø©¢(jÚ6—eÙw‚þ—1¦(Jeeess³Ñh|饗zè¡n¸AT“¶Z­%%%s€>å~)Šâ¾$Ðtü ¿cê¢Á`ð1Æ$Irß\-X¯„_mkll”$Iu¹øÑG=òÈ#õõõˆ½ ¯¹Ç4=éýR¥-tñ~)Š¢Ñhîºë."úøã].WÛЧ{y:E]2Uss³,Ë&“©S".—Ëf³iµZ½^ß)eI’ÔĉÈf³•••Ý}÷ݯ¿þºHD555j6Aì<@Ü;‡Ô%6›ME›H’Öisò~I’³pḸ8ÆØ’%K¾úê«êêêNYt-F×áH5‹‘#GΚ5ë“O>aŒµE`.—+>>~îܹkÖ¬illì”r§t$IR»âD"jllDìpJÓ¿~Ù#çGPéªÇŸù®ÜCOu·+x£KºãïM £âOùë†j¥÷Šì— ‹Ý×NÙ‚ü‚t{ôzýí·ßîc“÷Þ{¯íòFßá—,Ëqqq×\sV«ýôÓO%Iºúꫯ»îºÏ?ÿ¼¢¢BôV µ_­k¹æd0xwÍ=Èb÷µS¶`§?÷ Xms*§ÓÙÜÜìc[§Óé>ð×¶y§ÇårY,–Ûn»Íjµ~øá‡åå匱÷ßÉ’%·ÝvÛÛo¿]^^®^2é±mÑîxž¯««ûàƒ–.]zûí·¿ýöÛê@ä­·ÞZ__ÿî»ïzœXÖµM}í«‹O%ŠbX˜ÞÛ§Œ±¦&_5½ÀYðÉŸï]É“¥þè‰ÂGž=qd´µÑEášîWð®SU§èäwÞñ±­ Z­¶-÷¹_m);Î#FÜrË-¥¥¥+V¬p:êhcuuõk¯½vÛm·ÝsÏ=+V¬ÈÏÏW“ò8÷ËãÔ{FSYYùꫯþö·¿½ë®»6oÞ¼páÂêêê·ÞzKžç;­ß–N×é¾÷kÆŒé .$bDTµu[ÌŒéœ[àÉóÂãO<Q—[ÅEÙÉk”p†Ò»ïÿ~?QK+þðÜÖ:Öú6ÿíŸÏˆ½þùG/ˆ¤òïßÛ{Ñ%“‡9+ö}õæ;¥KŸ}j~,7öþ¾EDïýå“ć¹ ’J¿øËSë5 þêa…Ö6ÜÒž9mܤ+]135!\ [Åáô5Ÿ¬ÚqÒÁˆHˆ¿ðŽ.N6suGZµµíG˜÷«ô‡~·ºÎ™xãß™ŒÓ™}Ý ó§Ž4k‰˜£®4?cÕÛŸeÖ)ÄiLœÍ3lj‰Ù*üô濾:ÞÚÇÄéϺeéÂs‡ÕJX_` ¼Ç‰L[xû§˜ùº£¾Ü}Ý­“èè“??ûS•Ò«óZ·Ú‘7ýí‘ÙáTöíÛÛ,—_1ÉB•™_¿µb·é’Ûn¼89šUe­}û­uG­èM ò4ê'Š¢ï¹_ä)HêôšçùÒÒÒÝ»w¯[·Žã¸¶¨ˆçyI’^ýõË/¿¼´´´m¹ÿƒj ›ššÞ|óÍ;î¸cñâÅuuuË—/×h4Çu]Ùãàc‡Þ/áWTTTMmuUUÕ ƒÖ;ö^jeÒ™Û>Õh¸æšK¦±¬ƒÇß.Iö–ÀÊí4Ñ¡%»½¶\ró5…¥õ”7ñÚ¥ssþS[|²!6>‚ˆXCE¹Uq–6Jî:»[1Þ|Î]ß1!ŒXmÁ‘ê°á£Æ^xû_,üc¯n­áÍ}àyC9"²ñƒ/¼íVÞ}C/»ál¨qiY‡ý麞8øÒ{nœGrå±ìrWXìácSÃVî«åÌÓïzâö aDÄšª*]áqIcÌËwµ$2ð²{–pŒ‘6nâµKçf?ñuq€ƒ›âÀ‹øÍeÃ8"²rƒ/¼õVέ¨B/ìd„׺m­’ón¿Z}5à¬kþðøø‹3$ŒŽ!"Š÷øòyíËcF ã‡GmÛW%‘Rhë1iÊøîÏ~qœÜ\>kŒù¢?ÿë"©©üÄу;ׯÝXÍ…MDtü‡ ǬŒˆkYQ˪ٱ1§A‘EÍ”hT+Üg¹éSîyå¡I-«W|ýøc_—tèãô‡Gmß_-«;¸å¨kÊY­Õz¯`úp¯u«çÊZÞTïN?n•¹Ò’&Nõ{·m’ÙÉÂzJ‰!IÇ!ü‚3XÛùP’$£Ñèt:ƒ ¿\.—Á`P¯ððp»ÝN>O¶qgµZÃÃÃ].WÛ¶m#†Rs¹\111wÞyg}}ýo¼!IRaaá}÷Ýwï½÷¾õÖ[²,wŠÀÚz¿ºæÛ}ï— <Çs'1—Î6cçþ†°²ƒS&bÕ;ÃËW5W×w8~°eäDËȉ#ØÃËöt*~{Š-¯í v™1¦È’—ÂtÊ®kþíýŒžjHéÅ‚µ¬ÑµnÛÏÝŽ&‡Ì˜Ðr„½Ñ.3ƹ‡v­<€3EÛ‚IIIû÷ï>|x·S¾:‘$);;{ìØ±.—kܸq[·nMNNvCô§$N§377÷¼óÎëô¼È®W>2Æ"##o¾ù榦¦7Þxƒ1¦Õjkkkß}÷Ý%K–Üzë­o¿ýv×,ë|zéÐû壬–ã8ŽãVg¿u‹ã8QÏ:ë,³Ù|òäI"ŠŠŠš>}zzzºËå ¨ fæÌ™‚ ¨g*æiðQ–娨Øúúú>úˆ1¦N¡¨¨håÊ•sçέ©©qOœyxQwÁ&ÇE„‡—¬ýæð€dÑ`™L/tü%Åd»Í.ŸÍ[´Ì}ô™ äüür›6nÔèz"ס¯¾Éwàä1²,ççç›Íæî×ö.77WQN×µ÷«›¹_Z¥¡2{µ,ËŒ)L݆µOãgĘ ív»^[ÞœæÂ&<øÆïÇvZ˜óê]Ïí±öKy£4Ìkž6rœ…#rÖžÈØ¶våW;+ð¸lPSSÓœ9s¶oß¾oß¾ áy>!!aΜ9î]_m8“ÉtõÕW·=?¼õv¾3`Œ‰¢ˆÁG€Óž>tÌÐp¡Ã2¹ñDî‰FÄ0pFE166V½AkКššjjj:Íï’$iݺuÝN½çÔûÉv ƒ§=©¡àPV ÿ¹\®ÒÒÒ¾H¹}ðw¡¿æ~ô¢3°Ç§ë­îïzÐ[ÎðCÓ%‘Ó‰›âô ÏZ¶l™myä‘>,ÀF$"ow€^×rå£5Îð1Z€ÞÕ9üªªª"¢ØØØ¶%¿zQ‡O|óÍ7êýõ'NœxÙe—õS‘~É­V»téR"²ÛíÛ¶mKMMMHH(,,LIIE‘ˆ6lØHzæY|n‰~ß¶üfæþºŠß•>ùŽew|Ëþúˆ~Ȉˆ8èywýþÞ^vÑàã›pS–<ð›Û¯½bÞûîôãÖ¦_*ÿ4ÒvœÔH~-Zˆ¿Árñ£ÏþšÛ½½ÀÚÍÃÂúK‡SÄ)_Ú v ð´+0Àé,//¯}ð‘1–’’GDaaaÝß Ÿ3Nüíó·Žp[Ò”þòÓkÊî>pÒÞû…íšQÙ꿾ðc…ç·âh/‰{ÁÃNÛ±ìï«;ËwÊTn,Ù¿áóÏ7æ7ûHF0Ÿ}õܸƒÿ}fm~“ËI#oºj‚uÍß˨q:í½ûoÌ´ß½²ÈùÞ“Ë÷5¶QÚa×<ñàØôžßÜW_„G+Jª/ØóíÊUÛ‹íýs"ç#§=ðô’‘5ß½°ì›“}~] gœøÛe76¿þè[‡[«[7ú–gïýâñ—v6¸‡¿žê¶SûòÝÜzR!A7ä€qº“.½òâic™xrTçgþ¼vÍÏÇ|<ù²SÙúñ{÷}@"¶85´>êõú´´4õÛ‹E¯×«Ë½aŒ1&ç}ñïUÇÕû†1©±ÜÑä\ûñ‘ÖÏ©%®ë•éc³#RµÕJ§Ä[Þ1¦4q+ cÁ=\‰1Æä£Ÿ½¼2ÏÁ‹FËøË®¿òî_?ñ^ŽÍkBœ1.œUÊ«l²q‘QfMá£eõÍ~†‘¿eÌÞ”K7ÏLÏÜUßú‘>qÆÄð“?î.u6)m» íåÒD$θzñu÷RùÓë~„¨ñ³†ÚNÖEM6è‡U….Oë´'ŽoË}iûýÒ¶z¼©‹ÜŽC¿p‚@²Ümî^Vs+KŸü;ë±n;µ/_Íøæ 3 Òߣ¿è¾‡Äåý¸êµŠš…cf^qåoþ8ø­¿t Á[Ü×¹ýÞ{‘ïÒëF½zº€nt˜zo4Õ¨Ën··-ôÑ^‰ˆYË‹Oœ°µ-̳~bvƲeë+”NçVÍ€I ®[0#)VGÖ“™ëW~òÓ1_H~eGDDœqÔÅ7Ý0o\¬Ø\¸uÍv‘ÈÎã£gÿQ-IcòÒÇÏÓ¯ž|õWDÖ÷?üA`™Ú«ËKKmDTR¾6yÖƒÃé°U3lÑS¿³|òçfÙ‰ˆôc—>{³í¿ºâÙÛFÑÒ¿ÿ«=•¡¾<Ê×<»ìû³‡J,—<ú蔬¯r‡Í™>*êÁûð³p9›³¥¥³S#÷l­Q–ë‡Íœ`(Z½¯Jnßý …Ó0q†Ô;ž¹™Þ{ò­,kë6,¥CûÚóÕ‰I ÝšÛ+Oý0ò!·b·|kêç¶ž"ˆg3ï¾ys“£¹Æã[>_ñÅÞjYë©q½¾lïÅò+pLñTŸœnÐô_ßpùÔ¡ÉÖ²ƒëÞzws¹ÿ½ Bì9×_1´ôëe¯­/•ˆˆJŠòUpßµxþöÜó#.yôѳ³×:{bB¤ÎQ˜þ¿_ìµ&u<ɼòĺøßµï\ØÐó-¾tr‚‘sUålþò£5ûkå–/4óó Î;@o/J_ùöÊ=UrËïû€d^B÷Óµ`ñ´Õ>úþ P¦ÞlÚ´‰ˆÎ?ÿüaÆõf>œa쵿[’xàó埭ã§^}Ó=·6<ûÚκ!ð‘Snºçò¸=üýßùlØ…7.NÑË»:¬a;ôæ3_üé±é;þú†žŒYpºØä³“Œ 9Þ[÷¾ü`ÍuOýnÀ'þW–ˆœñ‡§çfýí¯ß–ÊÄÆ^爫HtÁ´ì×_zøÕFÿ ĬÇ~>`¿Ö„èôU g3{œ6ÿóµ2¹?]ÊKåï):Xeœ9*Š?Q©<~¹4CRbÅœ"Þ2.+ÞVæ±×È?ŠË!§EV–þÙ¦÷Ë›sòœëÝseÉ3Ÿå;ø¨³o¹û’ÈíïÿmcK8oñ )ze—÷rxˆ§Îˆ)Z¿¯èpi¶pó¬a_屑÷ã¤ûã§÷xÛÁŽ€ ÕÄMóToÔq5½qÌu¾-­dÝßSdÓYF å8FD$Ä_tùuÿ{囿ӗܺdQnîkûöý\pååÓÖwqƤÙÉJö[G‹½¼Ôm—ö%¬•;¼µŒìPló9©îi ñ]Zþå{Ï~Ü<`êµ·ßzOsÙ ëª<æî蜑—µGœ~óuãÊ>}eEvbŒKLÔKôçðc§ UrßÙ^Öñ°¦Ã?î¨2}Úà/ò‰„ç½ÿßä¨-rÂâ‡n»»¹ìoë:W‚9¾=ÅÈÉ7?põà¬O^}7×>ðœënYz¿ô k‹"7uß/ÿéu[Ì´Û^¼(7÷µLmÊß _¡;OûØ÷#ùgŽöÞ/EQV¯^CD«W¯¾ÿþû»>!² NL»ïÿnyS±ö¯Ï­÷Ü_ÂGŒŸ7Ù¹ñÅ/vœ”ˆ¨ú»OœôçYcÃwn¯¤´²#²ízõ±j&ÌëÜþÏ/wÚ‰ª¾útÔ„'’f`™J…ßÿë«<ÝG9;H4ñÓ§šò¿:X'Û­[2å»f4ä´2!Úóqâmy€:™DDt¢KÅøwH¹è犺ÔÛ ¥ÃjŠ>í²)Ú}o¾û]¶•QMe1 "²úßg›Û»zꌛS-ÚŒc7½úÚs¿>~ÔÎ…§ÌíÈüÏñ@G†½Ô­?›¶ï³óˆ©tôË•?kdT¹þ£µŸ˜;;aý*¿Šã­>÷•Äåª#‡NTÖ+T__}2°½£GQý‘ŠŽ¥šãUìÂ1:®‘ˆ¾þñh“BT›µfmá3 f'¬ÿ¼É[‚Bô„ Ç)»þýYú1;£òuï­I{ââó×T@DÔ˜ñÕOG¢ÊÌ9Wß–jÑîwô¨üDäã€ô}ºëºë>-¢(àQ{øÕÐМœ¬N½¯¨¨¨¯¯ŒŒ$ŸƒŒ˜œ÷¿ýOý]Îu•2‹`êGíó3cL3Ò¢0âÑW.uÛ¾Òl`¬Îï¢vÊŽˆIMaÈP3•}_bS3³—*•&QÇÜ;¼ô;¿öL~úÒgyNŽ×F ŸqÕ5wÝT¾ì­µn‰¶¬Ø53¢–ÿcŒ‰^*g2#¥æD•=àâ‘ýĶ=µ3§O±ü¸¦Ô”2{ŒœýæáF…µ;øª|ÞUyø„4=u ® ~´®dí¾ì¸Ùë÷jRbrò륀 ÃX‡3¾£èçg6G_²è×çOΫ‹™zž щf*ÿ¶Ü¡fà¬È-“Î!ïõÈABº„“ôG>>Ü 0f?±-Ãþ›ÙIƃ{…(Ïlj·åÍýêtd’6ñÊû¯ ë| ½Ÿ…ì¿ûÈØñ@о´>FDD$''«s¿Ìf³{Q7á)ÍåEæ~yŒ¾#ŽS Þô;‚¿ðÆSvD:b¤(RÛ |Y’˜Û©“u)J™ÚªËOž´QIq©kääß]<żë‡ÚΓ€9®5‡–ÿµ¬Ð6åÕk%‰“•`nqë,IßQ5gú9ñ?lHœ5ÜqàßÇš•.ÿz«|îäRíåÉC†%FWî)¬cpãáMÎêœ4zæÌÑšÒ¬Ò`ÆW[UiIIÉÉʇBD¢yd‚XøÓÆCeMN… á ƒ ‘T[XÃYÆÄiÕ­4Æ Ôp>Ëé/Î0ê¼ñüÁÿñ\«^ßX;töøhÁÛqâßñÓ;üÜAoõÖ5µJ6h|b˜¿Åµÿy¯=iιçÍT™¾«,ÀqnuÛ¥}ÔÜ„ØÑƒ-­(bøpSsq…]öÖ¸:¤ì«>eëÉCéßýï¿/>÷Nnøäs‡hýßS¥îðÎü˜‹g Ô´ï½)ùÂ鿦Ìí%ê ¼cZÊÌGal.®°{ßk©¦ Š³Œo¹–œ12ÜZRæýâéž•ß7¿[™‡}ì­2©áWI’öïß¿ÿ~÷‡p3ïÚ/Tî´Œ:¿–k3Ö찻᎓‡ 0›ã†¦Ì¼òšÙ‰{ÌŽ7Ä Ò.>J+×ìÛpÄtÞ•Ó,"1nê‚ ´^óÓ^ÉZU+›“FŠ4ôgª0pàÀAƒ†Žù«kÏ«ÏΪp2WUN®5~ÖÔx-‘6nò•—$pÌý·o{ ­ï|UB{YÀ䪽[ŠÂ§/¹|pýî-'ìnï¾ò¥ê#Çì§&ñ9Us”f•GOH‹¬Î.hT-F׃Aª/®RNÁ1ÒZ¦ýjÞ`bŒ“j27ä†ÍZr夳yðY—/>7Zí<ëñAbL>o,;¼io~q«Ùé{ê‡ÌšhV¼'’×ã§Gûp+pËÔ[½uZM®Ý»vkÒ-·]’6$&:&aì´sÇEr¬Ë±Ô^4GÑ–Mc®˜c)ݺ»B l}Õ-×±}ñÞv.’û)‚1"qÌU×Îm;÷Æ+Wnû¹Èá­quL™¼Ô§8x΋§ŒŽ7GDÄ›0aP_Rï `WåÊm­91xáƒ÷\9-iH|üð sn|𮳥~}̪–Y½pÑ쑱і”K–̯Øös‘£ó^·ï¦T›ùãAaÚ ×Î1 vðøù7/ˆ/ß²Qmªž¾¬ž–ßçéý ìü½tÝÇ€Ê>P§O|òÉ'•••D”‘‘±xñâÞ ó˜õÐ'£~Ñ•×?|I‘³®ðPúê€ï®Ì £®}ð‘ö÷MÛ^|ìü]ï.7ß|ãŸ_¼Zj®Éݺ>7in— m¹k¾9v碿<¿„¬;îyè½À2³äÏO¨¯Õ¹[ÞgÕ1;9ò¾^ñÓÒ›ÿüòΆ’}?üp8õRŸéôV%t!×dnÊ»ö¦QUÛ·Ÿô|+ïùºÊžf¦e•:‰Xó‰¬2JŠ8v¤¦7.1Wêö|ðɘ¥KþúÊ ÖæêÜÍßí=Ÿ#"’kw¾³<æ–nyôÑZ¸mõê#çI2ëyý¤žŸÌ޽ÑaF¹T¾wÃų¦ Ú¸Æóq¢ÔùqüôÿvÐk½uN­ùÐG/¾³pÉ•w<²@CRÉíŸål÷™¿«tǶòKX7ï ü öY·kÝÛ×K¾ßáíãßûLX.Yÿ}õ¤;žº.’o:ñó;ÿù¦ØED^—­cFïy¬Of"',¸çÊX=G®Úc;ÞãDzÀö×QôÝ«Ëj.¿êâ«ï¿Ä$£:ß—/µ!·õ¢¹ä‡ï*'ÞñÔ"÷2KÊö—µíÉ)õ{Þ}5|ñ’_ýái¹ªs6½ñκbW‡ëcÜ1©§å÷ÅßVæq ×p&“iË–-DÔÜܼnݺÄÄD"*,,œ?¾Ñh$¢'žx¢ŸË¿hBüåO>6qÓ“Ë6Tâ¾B}L7jÉ3¿±¬zìeÜüyÓÏoüåÞëLØG€~µqãÆö©÷:.99966–ˆ ƒN§S—·õuòÆot]x×]wõA9½f×§9úÈ´¯óõÓ©S¼.lØôI¦¢œÂ:ŠsÁ’KbN|q :°+-ý/Fw…éŠÝ'Eå½1bÐ9 ¦jþ7«Aéy]» EùCÈÇQDDwÝûd°×ñ„H7å÷çÛaA_«þâL&ÓÏ?ÿ¬¾‘eYmnÇ BKÏ8z¿ ·q†¤k~sûìá‘"GÅÁŸV~°6«?³û’>åž{_¹ëý—Wì@—Fç=ùÄ”M/ÛðË­Æ3aúÕ¦M›8“É´yóæ¶E†ˆ\®öa~„_½eóæÍb§EîôºW>z„Ñ€^$QFF†5Ž?ªÂüòq&“éÈ‘#ý] €3BRR’HDv»½ÛU WˆDäþˆ!èS½ðjð_÷W>­¸¸xݺµ¶æfâ<=¹ÒOÞÏQaFÓüùó‚O ä:ß÷  ­ÿþ{KT„1ÞÂóÁõµ{¼Ú)’Òd³ÿðý÷·Ý~{Ð%=ô~@_‘$Éå´[,‰s¬ t~1O‘–Çem\²TZ^YQ]ër¹D?&à´ô!Žã£"£"ô"9öèk3F¢#*’ÃV8Ýà¼R|€¾²s c ç18 ÷ ¤ÐûÕo$I:c' ŸÉûÞfÜ7ã‚Þ6û²ì^,I¯ðøöøÜâÏ|1Ž<õ~á€SY/œžcZ­ÖÛ§Š¢h4o+Íår¹Ÿp9Ž#"FÓ»¹TTT¨O(k:öMÞ+‰1CˆH½«°ºø¢!÷®îàСC¹@îlT]]m±Xz§”.;iô½“”ï|d»Fè…ŒzsßOOãþ2ŽÎíïBô*ß)ÇqÄq}1õžkmø• ßu¿ªªªˆ(66Öÿ$E1™LÇ÷øiuuµÍf³ÙlV«Õ`0]P•ÓéT…ˆdYv8111Œ1Žãcv»½¶¶6,,,,,L§Óõ0#•ÍfÓétƒÁ`0œÈÙ?oʬ &Œ—”"ùˆûP=£(ŠÕj­¯¯ŠŠò?ñÒÒÒ^øçA‘¥ô®Ã›Â–~ÐÓ¤üðúwO6{fòÍ<'ô$ÞÙ÷SCʸ–N¬CÙAõHm x‹ìçú¶ëkܸqÙï‹ï4èÈË[ìÕ¶”y»›ë/é€_žá×7ß|³ÿ~"š0aÂe—]ægŒ1Y‘Õ¨¨+§Ó©Ñˆ11 %%%MMMF£1 .¢NRRRAhjjjhh2dHÛGÕÕU¢( 6<;;[’$£Ñt.î…×ëõ¢(ʲwÒˆ…=Z Rê·©—·EÁyoùÔ@7ÙwýŽŸHD?Åào/ÛF-qXÛ‹>Ây"twîe¿Úöí—'êàçÚÃ/½^ŸššªFQ‹ÅÏ®/R{¿dÉÛÍ]uÕÕmoOž,iîA˜âr¹ÔK’e¹çÕj'Nœ¤¾.,<Áñ¼:e¾'‡ oî¼ß%Ûã£ÍLM±Ùm.ÙNDAm2¥gÿoõW šˆûf½ér¹J<¸6˜£Éõã«æø¸¨Ig»Ê³™" á‰Q+ùˆ¢ÈüÀ±\ò…|Lb){SÕXtøäåu¹O /ÉÌájâÈ:öèŒCùëöþí¢´ôšÀâéžü“©vÞxŒ´R¿Mía–šÚMÞÁƒÆ {u¥¦¦<Ø£2i[—·=‹À||§þèçλªÛ¬sZ^òEX§²7ž0jÔe·Ûýï·gLñÑûÕ‰,ËLQ‚$I ªdI’ZC1¹È’¤ô £ötdyñ¸ç<ñs&Œ³D뛬Ųâ "g‰±ƒuãÓ~ÚÇÍñ0kPú®¯T—7ügФ)ú0ríWçÉUƒ§œÅñ"ñZG}]õ–·œÆ8ñ‚»HèéE ²âÚtø-'•MJ8ÜÄHbLi¶W¹dÙ¨$eTDL”´:ã™óÇÞ3 bh@‰´ïiiiÞŸëyó¬K³R¿Mͺ4+ ’´¹åÞÝ“gíò±BÆ–[{}<++++555++È2ie=›•öxK­¶¼ÞFìÒ–½ë­Tõʘ–¹_þ9wÞUéß}å{÷´ÔÄ=¶> >À)«ÃàcAAÁæÍ›‰è¼óÎ6l˜ŸI0F²ßŽÿkz¤(Š$I¶£;åz[³µ®c·kù«k¬w”è#êêźpÙÑÄÒ‘—:k­¾¾^¯1ÜxÎßVìøÃÌq‰áa’$Û‰HøòÚ²m ¯ølc­Íétj4‡ÃáÿE—þ:—3ÖqǶ zk.sÕÕµ-—lm¯Q7pìðæªúŠ•Oè®yšÄàoö!ÉÎ5ûž7Ê”0p Knhh®éºŽƒ*#Lú9Ó·î}cÄ€óÓ†\ìgâíûû+Vüñ¡‡ÚÞþ#ï%ÿ· ÈŠ×Îöñé-÷îö¸<µ54<l••••––Ðßà2jÉîY›{\_½_ê'ü6ãÒ…éßí55ÿòEïœÊÚ{¿EY½zuLL ­^½úþûï÷óü¥0E–%?{¿YîI§”,Ë’$Y÷~c™>WqZ9ŽcDÄ)Œ…)2É2c,BAL1K‚R•ß Ë¶ ²³Ûí¢(–––&$$hxÝõS–­Hhfjb˜–#bõÍü¶ƒÇOY¦ŒŠ‘¯­­Õét6›- Û›TÖŸ œ8‰—$Wm%)ž»ýÙå†zCXDœ%²rÍ?5 ò¸š?6z#e”Þíj°úº‚Œ#I«ÑYb »Ž®IM˜ëúþïû7ßìþöO¼ä{óN]eð¿Tãǧu]xà@{h’–ÖyÚY[9‚;ªÓÒÒ8pàÀƘÿƒÈȇÞê7ò>õ>àé3.¹r»÷Ìךz¿à4ÒÞûÕØØ8vìØ¸¸8"ª¨¨hhhˆŒŒô+ ÆdÉë'ˆè§ìw2 6ÆEÅVÔU0ON‹»<è⪣¼Ö(ê8ÙUËk4j‡“œŠÓE.§ât);³Û9»ƒ³Ùx»]baÁ奆_FÍT/˜®?{ÙG»ÿ4=y0íÈ9~ÍYÏê…pµCN’$µ÷Ëÿôýunúý»Õßþ·)}Ï ÔѬ¾˜9m-é"bŠD­ÿØÈ6{˜1ZÛP)•y¾›oåõy$V„uͶæöGODŒµ<'òœiWÖÉh}Ê­ç?âú}Ú3áÞUÖ)tóíÖûöLžµ§ÓÂŒ-·¶½ž<ë]›mñ°Ì?~|@1â©É{/TÀ½_ªé—\¹ý‡ÕžÓ옯Çè½_p*k¿"""’““Õ¹_f³ÙߨKí{R¼Þx‚ˆ“_x©%ÊP^gݱ·¬'?IÕ@Gv¸Ô ÿ 1…¹\ŠË®8mŠÝ®ØmŠÝÆlV®©™¬6¾¹ÙáÒ÷`K«ÕªÓ颣£9ŽÁápÄÈ_OxêÃ=R»aÊ &­Y–eµ»+..®®®Îf³ùŸ~ÀõÀóºùwº²¶å}ÿ~âY#5)Ö:"±VT)¤Ñ´>%¢ý7ܬ^ù8áÃ÷‚Ë”Ü"0ÿÿWßññvœú@T4ýâ;:E`]¶öf¡ë NeíáÇqC‡UŸ’&I’·Yí]1b’ì¹÷ë§ì·‰”½‡>·JÈo¶E©Ü!+’®6lú°ÅA·¥«©¡Qn®wU—s‘ìRœæt(»â°É;Ùì¼ÃÉÙ]œÃÉì.ÉÜ(»Ýn2™dY!""‚ˆ¬V« ¾aÊ c´Z­zY‡ÃÁqœN§kjjò?}ž&,Ô¤Ë~üí§- ‘‘ÑJC%k¨=öãnãÜ«å¬Å?,JTš˜äÒurQYYQ]SÙ0Nt8<'J²>¯ÈÆ3S|tÚž¼o/œ6Èériİò*¹¬‚]:þ‘†€ï-оðÞ{~ÎýÿýxÚFtI Å ^O¢.•N©•ÿOA>¾SŽ:õ~uíX¿Æëg]&Z€~×áÊG—Ë¥>ld̘1þwÝ3…y›ÎµïĆ+§OvéÁV¬ø[SYqü°Hf³ &³îŠÛ‰H*<–ÿÎ_‡0 ²CQ8WûN¼bsØ\²‹)ÂñBiθ{c‡QîÉí§S’ÅãÅR?ìª)K^Díû 7ÝäþöO¾Dj¤ÕÕ6ÚÿôþLr7~ÂõÅýûƒH|ÿþýãÇßÔ¶=1áÉ mˆã¿¿ÿâè­ï´mîW«nÎ*;Ö¯9gî^?ö´µ·¹_A·/€èpåã§Ÿ~ZQQAD{÷î]¼ØßÞ)FLñòСHc¸À7Ú]'OÖ0ÅÕÐÜ@DZ1>Â\qÕ©÷ä©¡ÕÖ·œ×#Yáe…“Î%‘Kæ[‚0‰sº˜Øí¸ÚØíöððpƒÁ žÙÔǘ´ÝeÛ}常8ŽãÊÊèmêѯsÖ¸ôqû†¯s¿ÿtxrŒâhÙG1qTØOž|ëÉÄxF.«d rß™BNIfŒ/)g'ÝmÔ °Ùlj=4Z]Å”2èÒ±ñç)2q¤±#=í™ðòœÄýO÷I3a‚§P¯UÏÿ…ß¿ÿ„ úÛã<‰¨c5ú{ѪWÞ¾Ó.7žðíüq­úwÚE—Ÿ3÷ õm—ä<§ïyNíáWSSÏóêC‡ ›ššL&“_i0&Ëžç~Õ6Ö—×4ÉJXt¸©ÙYbÔ¨mljjnªo®®¸êÜ/æù†f¡¶u¤Ç’'+$Éœ$s.™S{Â&ûwI¦G.—KQ˜Yºå9ŽS§¹«—]¶ÿ ÏõôŸýœ+…±Ž}òw)¬}Å„áuQáMfÓî ±A>rØ 7»¤r­FcwP˜íp8Ô¯¸Ñ^üDÔô·˜ N§“çy¡U@ÿÚõdßû(ÆòÆót{w=›z¯R#*ÿÿöB޽]>¾Ó.Sï=DK;Z×u3/ÉuI<Àòô»öÁGN—œœ¬ÞxÂ`0èt:?C EaŠìù¶«ϯ«—³J¶¤ ‹Ö ÍÕeò«‡GML¶Ìn\@íýb'WY%Ö41ŽˆˆSo<Á'+$+œ$sJ{âLrîçŸ1lXâÆ9Ž‹‹‹‹ŽŽŽˆˆ0 †1&˲ÝnWCI’\.WaaÑäÉ“ýL_«Õö|pD84âÿsUwOJ˜8¾>"Ì^[m˜øëಘœxunÍŠ0­#6| :à«:gÈM1¦D&IcL÷­ü°î•}·ÿ5É÷ Y7ݪN½O{ÿ] jNÁzÈÌÌ ¢T¿ÓÖ%Ýw}¹ÛùÓºiΟváüÎ1™÷Xt|<]Ž183µ÷~‰¢˜’’ÒöÐ!u¾?1ÙË•ç'ÝBDÇ[í;y`s؆Fœ•{EÜ€ {ecÅ/>vøhQmyûÓ¯‰x¦p¬íZ¾me"r Ø,[iµšššÚ±cǪÏ×h4Š¢¨]>êÓ|N§Ýn·Ûí.—K’$õùÜþ§ÐÊ>p¢N;(¹ý½"i’ÏQDv˜^ˆN.ÍØð¡6iN­üCl”ÈqLEžçEQLÐ%"µÓ‹ã8žçyžW_toí{¿K{¿»¾±ÓÍÒ¥KƒÛÐëwê÷à£ÇM»,ò”|@å8t˜z/‚zã 5¼ð3 žãŠŠ ëëë¼­P"—TÊMa¢Ö&9#å:.Ž úWé¸q㪪gZS§äOÝMïEQ«ÕšG'—]JJJzúv£Ñ¨ÕJVQ˜Ýîlj²Z­ÍŠ";NEarë%Ÿêƒ/,Xà^‹¥O~s‚6®åÞ¡A§/ŠâИó䙬õ‘RîI©ÿšª!—:ì¨>õÅÿôûjßOC¿˜zðñq߯]¿ñö‘· ;åŽc Ne»¸}n4……æœïëvçShZ iz#‚å‚y½•šo‹]»hѵ}—¾Á\¯\ˆ¨=[}”ø)¾ï!²ö=¹¯¿ Ñk||§ÁÝvÕsR°<ýÎßFèugò•Ygò¾«~I—ÊçwÚW±—8ÆàT†ð úRç¹_=NÏSò½•8@ht˜ûЋBvnñøÈm€SúçB ½_ÐWc<Çñ<'øs#› †yNT/¼Åy N#˜û}E™¸òÊ*³¡Õù:Û:¹®ªê:™¨Ó€Nq¿ M:uÇöíçýŽõ=ÁHblúôé}4@Bø}høðáÇïïRœZ0÷ ¤D"ÊÈÈèïbœ)8“ÉtäÈ‘þ.À!))I$¢ÁƒûXÉb±”———AbbbaaapÛö0ëžlÛ¿Y÷¤ÒPc!Îú4­p4Ì  a 3Ph˜Aè÷†ùôÓO+Š¢.äy^£Ñh0Ô¿ƒ!,,L¯× N§ÓéÄÖ»ð`ê=@0RRR8ŽSã*Q5úW¥ÕjÕ·\—ǯ!ü† f³Y«Õ ‚ Š¢ ‚ ¨Ý`ê_õE×GÓâ¡C!…ð ¤~ôšƒû^á@¯ùòË/¿üòKßë üè‡*,,Ü»w¯ï0„_½cÆ III£Fúá‡|¬†ð  455%'';¶¨¨ÈÇm]~ô‚½{÷&%% 0`àÀcƌٱc‡·5~ôTYY™Õj‹‹“eYQ”¸¸¸ÊÊÊêêj+ã®÷=•ŸŸ^YYIDêî###srr,Kו~ôÔÔ©SÕ§ qçþÐ!+#üè)oÏ|ô¸2g2™ŒFcE§Ó9Ž>Jü— •(ÔX PcA@¥ 5(ÔXú½Ò–/_Þí#·EQìôÈí¤¤$2™L¾“ö8fé§ÄÄÄ ·íaÖ=Ù¶³îI¥¡ÆBœõiZáh˜A@à f Ð0ƒÐï sÕªU›6mJOOß¹sgFFFfffVVVvvvNNNnnn^^^AAAqqqIG&“ W>„Â/€BøR¿B á@H!ü)„_!…ð ¤~„Â/€BøR¿B á@H!ü)„_!…ð ¤~„Â/€BøRœÉd2›Íý] €ÓÌ+¯¼b6›µZ­ ¢( ‚ ÏómÕåǹo•””D&“ÉwÒ‹%èb%&&½m³îɶý›uO* 5â¬OÓ Gà f Ð0…†„~o˜«V­Ú´iSzzúÎ;322233³²²²³³srrrssÿ5L( IDATóòò Š‹‹K:2™L|)„_!…ð ¤~„Â/€BøR¿B á@H!ü)„_!…ð ¤~„Â/€BøR¿B á@H!ü)„_!Å™L&£ÑØG©ët:‡ÃÑG‰ÿR¡Ò… j,¨´@¡Æ… B¿WÚòåËÍf³V«AEAAày¾í¯ºœã8÷­’’’Èd2ùNÚb±]¬ÄÄÄ ·íaÖ=Ù¶³îI¥¡ÆBœõiZáh˜A@à f Ð0ƒÐï sÕªU›6mJOOß¹sgFFFfffVVVvvvNNNnnn^^^AAAqqqIG&“ ƒ!…ð ¤~„Â/€BøR¿B á@H!ü)„_!…ð ¤~„Â/€BøR¿B á@H!ü)„_!…ð ¤~„g2™ŒFc¥®ÓéG%þK…J j,P¨±  Ò… j,ý^iË—/7›ÍZ­VQAçù¶¿êrŽãÜ·JJJ"“Éä;i‹Åt±ƒÞ¶‡Y÷dÛþͺ'•† qÖ§i…£a 3Ph˜Bà B¿7ÌU«VmÚ´)==}çΙ™™YYYÙÙÙ999¹¹¹yyyÅÅÅ%™L& >„Â/€BøR¿B á@H!ü)„_!…ð ¤~„Â/€BøR¿B á@H!ü)„_!…ð ¤~„Â/€âL&“Ñhì£Ôu:Ãáè£Ä©PiB 5TZ PcB¡ß+mùòåf³Y«Õ ‚ Š¢ ‚ ð<ßöW]ÎqœûVIIId2™|'m±X‚.VbbbÐÛö0ëžlÛ¿Y÷¤ÒPc!Îú4­p4Ì  a 3Ph˜Aè÷†¹jÕªM›6¥§§ïܹ3###333+++;;;'''777//¯   ¸¸¸¤#“É„ÁG€BøR¿B á@H!ü)„_!…ð ¤~„Â/€BøR¿B á@H!ü)„_!…ð ¤~„Â/€BøR¿BŠ3™LF£±R×ét‡£ÿ¥B¥ 5(ÔXPiB 5„~¯´åË—›Íf­V+‚(Š‚ ‚Àó|Û_u9Çqî[%%%‘Édò´Åb ºX‰‰‰AoÛì{²mÿfÝ“JC…8ëÓ´ÂÑ0ƒ€†(4Ì@¡a¡ßæªU«6mÚ”žž¾sçÎŒŒŒÌÌ̬¬¬ìì윜œÜÜܼ¼¼‚‚‚âââ’ŽL&B á@H!ü)„_!…ð ¤~„Â/€BøR¿B á@H!ü)„_!…ð ¤~„Â/€BøR¿B á@Hq&“Él6÷w1N3¯¼òŠÙlÖjµ‚ ˆ¢(‚ <Ï·ýU—sç¾URR™L&ßI[,– ‹•˜˜ô¶=̺'ÛöoÖ=©4ÔXˆ³>M+ 3h˜Bà fú½a®ZµjÓ¦Mééé;wîÌÈÈÈÌÌÌÊÊÊÎÎÎÉÉÉÍÍÍËË+(((...éÈd2að ¤~„Â/€BøR¿B á@H!ü)„_!…ð ¤~„Â/€BøR¿B á@H!ü)„_!…ð ¤~„g2™ŒFc¥®ÓéG%þK…J j,P¨±  Ò… j,ý^iË—/7›ÍZ­VQAçù¶¿êrŽãÜ·JJJ"“Éä;i‹Åt±ƒÞ¶‡Y÷dÛþͺ'•† qÖ§i…£a 3Ph˜Bà B¿7ÌU«VmÚ´)==}çΙ™™YYYÙÙÙ999¹¹¹yyyÅÅÅ%™L& >„Â/€BøR¿B á@H!ü)„_!…ð ¤~„Â/€BøR¿B á@H!ü8ÍEÒFFÌŸÿ\t2‡Ö¾CKÎsEøÑôã¦Ð#¯QújRZR°UÓ¾õôÄ펔Ⱦß/€_.„_g ‘%Ñü[iÙû¥Õ‡é7Ó¼¶ÞL­¢òÝ´ìš>†Œ\Ër½™Îºˆî}®.»Š>¼›ü‰á +œ>ÎDâzuýç2º|ÄÇÒ+ÛéÅ«|oOK–ÓÆ')œó¹x‚ð à—caqœçÿtF8’æ\C/~IŽÖõïþŒ®Ô1 ½CŒiyW»þ´ˆÆ%QKú=•–>G¹Î–O'=AOš=øEAøpFpZ©<Ÿ6þþø+š¾8bŸDDD&úë}¤s[Í0…þqEËë]OÓÈ™ô÷•t¨„¬.r4Ò±ÝôßÿgïÎã¢(ÿ8€fgÙåXD×c=ñÊ#ñ¬Ô<ò(Mí0,+Ë2˲4í0ëg–YvI™™iZ™aÙ¥•†JJ¢ˆ!Š¢‚ˆ‚¨°°»óûcwdwa¯Y`?ï/^ÃîóÌ÷áËÎΗgfg^Fÿa«2-m&ÏB-N€9‰å‘ß¹vÏó–å–£Ñ\uí©nO¢ à/Üó&.šlt/:8}2.4½äÝÑU?‚F£ ñÒÚÕjµ^¯/¿•À¤9Ëß3VC’Ó Tµ©µñRù=Ôjµ±ÞÅ{òn¯scÍ˜Ëæ' ¯Æ^x²ź{êLÝaw^K¨SðóÁÜ®Œª íjýY U¿¿ÌœÇŒ9‹sÏ“¥ÕjU*•(ŠJ¥REQ Eñwóã‚Pêí4""Æñªu:Ëà w¹¯›¡ÝéëÛÐî$“9t¥Hx‰ OŒ¨Øõ ÂÃáÅ6s/#î*î€aSñú|ò1z×tZ¡Ã.s÷|ÜQÃ¥a»Ä_f̘ÌÝ}š{Lø|ÃŒŽŽŽ‰‰‰‹‹‹OHHHLLLJJJNNNIIIMMMKKKOOÏ(M£Ñ(]ŽMDU—ª,çÜç Ç`}´¿~Œ_+Ð=¬ Ú™—Žãx¾ÆGDT­ñÜ/"?$uz­¦$u²~BŠž_ó”Ù?Kp¬ÈÓ£#"ªîX~ù¦wg¯·žzÿקȲu~½=B(&-Í™cžûJÄ”å0”Óƒˆˆ®ÇƒD~AP¢VÜÐ÷>†©¯˜”öáùhT¼úÒöÀ§kposÁ¨!ø÷ªWFKDT½±ü"ª>~Ìq¦õ Ü? *ÖX;_Ç×3-ÇÓ×cäÃØ›ëô‰ˆ<øHä—ÿ.Gd'|ªb­kcÞßøÙ\{aͳµÛßÃÚ‹ˆÈuœý"ò'¹xïeü½»Ñ¯{OIì„¿â•î€Ü?[¯(óœ9]Œˆˆ®ÃÙ/¢êÃÞ=ÛN·ž †šGqð¬PÑÚ h6ó͵× ¿ kycàDDþ…åQõwx žßiYž´wÔ­pÏŒ~"à×iø5Ë ƒ#"ò?,¿ˆü@!¢&b[!@‹Eï\iRÁóÑ»¥eñûíN|F’ˆˆ`ùEäŠRñÐ4˜?ær{öW" "Ýò0*Äró«3^ ‘aùEä/ާÿ2/Jý>Æ3í|;""ÿÅò‹Èo°âl2_(UÄÂïÐ9ØÇ#""òO,¿ˆüˆá$›Ë•êoÄws*8솿%H$ #Âd ‘_`ùEä_N­ÁìÍ–š«õ x»ßˆˆäÆ7^"?cÀ†—jÿtÉòÓ”o0´âס ""O`ùEäwŒYÁS…å¦Aõ°êS4};"""ÿ›Uq¹èçøü-[2¿GÍŠôriåDD䘠ÑhBBB¼´vµZ­×ë½´òêŠIs3æ,fÌLš³˜1g1c.ðyÒ¢¢¢´Z­J¥EQ©TŠ¢(Š¢B¡(þn~\Jý#FãxÕ:Îåa…‡‡»Ü×ÍÐîôõmhw’ƌɺŠ&œ¦ ¸a:‹¦³¸aºÀçftttLLLlll\\\|||BBBbbbRRRrrrJJJjjjZZZzzzFi†ç~Ɋ呬X~Ɋ呬X~Ɋ呬X~Ɋ呬X~Ɋ呬X~Ɋ呬X~Ɋ呬X~ÉJéëUIÛ·ow𬠂 hÕªUŸ>}ŠŸbùEDDD䊮]»Š¢(‚Ñh I’ ’$I’dþѼpúôémÛ¶Ýu×]ÅY~¹B’¤ÌÌLAL&Sɪ %j/µk×NNN.Ù‘ç~y‘B¡0™L%4MHHˆ—â©Õj½^凌WWLš³ü0cÆÆK /…=¦8ëÊPîd̤3å¾—6ÝÅÐîðahøåËÌM̘³˜1øŸ[X}¸4üù¹ÏåÖêJ÷*ÚXǘŸît7{Ê–_@Óðp­Ÿˆ*ùóçŸ;wN“É$I’ù¹âïÅÿ×Õ©SçàÁƒ3fÌ0ÿ¡pÒæ.ÄJ§ÓeÙü¿ÂÃïÜ1wB»Ó×·¡ÝI3&sèú6»ÛÚûºz&fºØ}ð4NÞx¿Ø~ÞQÆ`*ðNž°›RwB;êëÃÐS |"`ª½°€û/3½Dýsì¢ï„Ücº Šî1Ás%ˆª! øðŠK}ï Ÿý)tM`2°ÐÕ¸DDÎcùET­‚ANöR¯¯ÁµC‡U5ôSÀà„q‰ˆ’$I(}`„§ÞUG&`>ð ð‡3½r€þ:˜ôq/.ù+I’ Íç~0‡õÄ/ó¹_‚ ¤¥¥5oÞ¼dG–_DÕÔZ`.Ј©X{%ð*ð„Ÿ…~ Ø${"4ùŸ={öF ÌX‹-úô)õË/¢jÊÌ^®p!2Èþö§Ð*`p·'â‘_êÛ·¯V«U©T¢(*•JQEQT(ÅßÍ e>’Ås¿ˆª¯Õ@s "¯^uõ”ùªzÄ{.4QŰü"ª¾ ÀÛÀì ´œvúSh0˜ï¹¸DDÆò‹¨Z[ÜtuØF Ì^ó³Ð÷gmžMDT,¿ˆªµBàmàe‡m&ûü)´¼¼åé¸DDÃò‹¨º[D7Ùy6˜¼êg¡‡~óNh"¢ò°ü"ªîòwíO=Ä ~Ú<õå¹»l9…å‘X Ü´+ó¸x˜ëg¡oêß{34‘C,¿ˆüÀ`10§ÌãÓ€-@’Ÿ…ž ¼ ˜¼šˆÈ!^v•È?|ZG¬„Ï·úYè›Àpï‡&"²³_Dþ!XÌ*ñÈtà7 ÅÏB¿¼ z?4‘}œý"òG€f€ ÐOÝdïÓÐm[å MDdg¿ˆüF°˜ ˜ü÷³Ð3«r…&"²ƒ³_Dþä} …?b2ÐÙ¡ k ¾ ]´¡Öò†&"²…³_Dþä<°Ùïfc pÊ¡sçú*ô¥w/a)#oh""[F⥵«Õj½^凌WWLš³˜1§˜ê™.xYóŒF‘%÷_¦z¦ÜŹaÓÃ|ú™0Å9Cóeæ,fÌY̘ |ž´¨¨(­V«R©DQT*•¢(Š¢¨P(Š¿›¡d¯ˆˆh4Ç«Öét.+<<Üå¾n†v§¯oC»“4fLæÐU4áÜ0]À ÓYÜ0Å Ó>ß0£££cbbbccãâââãã“’’’““SRRRSSÓÒÒÒÓÓ3JÓh4<øHDDD$+–_DDDD²bùEDDD$+–_DDDD²bùEDDD$+–_DDDD²bùEDDD$+–_DDDD²bùEDDD$+–_DDDD²bùEDDD$+–_DTÕ„áo ’Iˆ0_†ˆÈy,¿ˆˆˆˆdÅò‹¨šRâÁß,SDNÏ•˜^*ûuæL–ÍÇK†ì„´ ÷M|žþí+B¥Ãˆ'±4ûá²Á:²Ž!&o<‰Î:_ ‹ˆü€Ò× "¯h2K†ø,º¨ÆgÁËÔϽ—îEHÙçDÔkŽzÍÑg$^þ×bÖ,üv\þ1QuÆÙ/¢jHÙK?±U[x©ÄO•·ü1ŽáM›µW7܇_ŽáË(x}hDä?X~U;JŒ_ŠÁî_¹è'@°óU¿¾®x¹Ë?mÇñ³(0ÀdÀ¥³HÜeo`p[tx{ó-}û¼qîày„ ÑhBB¼uŒB­Vëõz/­¼ºbҜŌ•¤l”¿jÇ¥~A@žú±!AïÈ骇ÚÔÚxÉÒÆ3 .zéìgZWŒªýR¬Pâà£ÔöÅ 1ÏlŸXïÞMž.Zjè£Slü^%µ¹ºü×¼~¡pugèðƒžþãœv€\õ CÃV¥–?°À–ùË~¿4 àæ–;BŽÊ6SWÅqÃt3æŸ'-**J«ÕªT*Q•J¥(Š¢(*ŠâïæÇ¡Ô»MDD4šrÎÐÐé\ÿðOxx¸Ë}Ý íN_߆v'i̡̘+]•xx£å|Ñ÷C´s},l˜7¾bYsƧ¨Y¦Œéeyö›~¶“¡Ë½îW`lȶ4ÈÛŒNh1<謵×ç˜ù×DfqÇ[ݶKªîK”¦³¸ÇtÏ÷˜ÑÑÑ111±±±qqqñññ ‰‰‰IIIÉÉÉ)))©©©iiiééé¥i4|$ª>Â'àã;àâZLYçÅ£~ª,Ÿ 8ƒ‡f#Gº¾¦ŽeáÜe¯ Âu |½wՀ˛Ñ{8.@‡ûôæ#¢Æí˜·&«(-{ ^ÙaYñ ‚=<^"òG,¿ˆª eS,ûÁÎcâTdy¯øR'~Š® Xý(6gÛhZÛ²pVÞò+ )¾ÜÑu ï/ôWÌO {7KŵãSd8•#~ùÌR®ÕíÆ>¹FU/,¿ˆª%üƒàËñë9/†ª=àò¾pùg¼°ÑÖ4’ˆ:–óÛqî öÄk_ þ8 ­—]½p ¿‰I}äѳÂãóíx äý‰Þw#ñŠõ95Ú×·,nIpbêË,{N˜—¢‘Úc%"ÿÆò‹¨:h:€ÓKñü&§Ë 'ã©ya$¼ú<2mN#‰¨k=§tÂZdÄbî$tivíÒöÚæü¾ˆAÆ6Œpët—k”õññVLl—6¡WÉÚ €­õ¨áçkÓ¢³°Ìñi"º9R""–_DUŸ²)–}„ §0n&.z±øBãûñX8œ^‚ÏØiT¢üêÝÝÑÚjÝ‚÷ãñÖîŽJ¬‡÷·br È݈^£pðjéŒÖ´œ^¿d„¥“ ¦2'º9‹åQ§ÄÄe‹ÇbkŽ7cã¹× ¯¼ »§u•(¿\9€SЫ-j¢I³z Úà®Ç°fŸõéšøô'tvã„vEm¼³SÛ@Îïè5IWË42à”53 ºý%@ó¥'lç«7"¢ë°ü"ªÚš=„À‘…xe'¼:5SwogWâûSŽZæ¥áäIœHÅòÉhÔ/}Š]‡‘§GQpæ~Y†q]Ñ{,eR;,׎é‰Z¼ùžëHÃ÷âPÙÚ @ö³,ÞÒÊV‡‚[Á|ŒÔ”‚ã. ”ˆ¨–_DU˜²–}„@ÿaìë¸ìÕâK‰ûgš/» F-Fžƒ–—1¥3š6E³VxäsäÚ<jBìŒùÖòÓíO@çÒ»Ñ ¿á¥NÖšá¹ÁvÊ8þÙ ´Äk½ð}…uk¹Aä¾µ¸àÍc»Dä'X~UYJ<¼ ý`î8ì½R^{÷¨Ú`j$ 1xe²'ÖhŸïÂ<‰&´Gë WÖÑ£m©ïÿÛ™ÜÊø-x«ê<€ !6Âì1€"|´<öHDîcùETU5›„ûÀÖ§±`_y­ÝÖv,"ûV©Ox¨)HCšy©j(]\É…MèÓ Ì· Ä'?àf[÷Q3fÎùÔÒfñBÔ«àÁNw-ÄÀ@Hÿ ?d¸8H"¢’X~UM!…ï,B  ÏG(°Þ§ÔWúZ›ÿ˜cy0û+—®Û®Æ¨û-‹ëbDO]ÒU¡‚å*Z…(té Þî·pÃØ¶“îEºù¡›°~jÛxov½Ž¯Î@í±X; Áå^uLÀÏà›BÝþ§ ˆˆœÁò‹¨j¥ºåܯՓ”1Ê|Pïvd:l* v3ôè±qcyçXi: y)™…® lÁÛ8c€ bä–›<ŽecPv6ÍtÏŒB Ï{øej:x T Ç,ÄZkܨɵ~?ïʉˆÊbùEDåÓvƒùÃ…vâT‘æjÌÙŽ]aõ ¬˜ •ƒ–xàÔdoÇ1½{C”°÷MLýÛòÓÝ+0­V¹;1`8Rýæ#éGô­o£Y@}Ìü»æÃ\âF Ç»{¼ày Ë/¢ªé’ºŸÁñWMÄX›ß]Óò v"l^™Á±6-o)£œ /`ÕËb—wñγP€;!ê6ËO+—xâ¸^!>‡ï.XÖ¿h=zÖ°ÑêÌÏèÑ Ï@ûðw~œ‹FÅ—äÀs‘œwÎaf/Lý™gÜ‘'±ü"òWaø»Ä‰b#\ŒTDû›,‹I©åßÑèÀøÅZL=ó¬Ã£ƒÑ¼65î€ÑS±! ?? óÉWÙßâ­x7 c&ž ˾"ý¡íSì/î°LY=F¼†®Å'Äãù×ÐB‰+wvyó&NDä—\ý¬ùÕµûU­À §ñÈìþÍíFãóÑÅO^ß¿0ÞÀYOÌälÅÈÙøw>D þD¬Ø†?àôEV©“ºy IDATvEÈÉAààÚºaˆ‡ËÄØÉâÇﮉŸr=6`"òCœý"¢ò(Ѥ¦e1óR…zœýÝnÃO'Êi¶û#Üt;v{º”9ð.&ÿnYò9ft°Õ(5ëÂñý‡êÕ-®½ˆˆ<‰å•GÐ@Ëâ• >ñüvÜÝ Fañw8pÅý —ðßN|ö*n G¯i8ì™hå*ЉXq ÀüÕ¨YN""Yñà#Qõ•‹~.måøÙÒ-•x«Ðé*<ö¯Çôõ%ûê²²²ìw¨èxʹén€‡K(ìïpô< F\=]ë0¾;ÞL€ Ûõ@é Füð,¶@³g1µmÅa"’>V¶Ð>ŸJ­r¡ý÷‡€+­G£.àáV6š©šâ»³–6g—£kÆjôA¦õHÖÆglÌ”Áx~»uýÿ ™u¢ÆÐ:®ÍŒkGÐ ²=ýÐ_¦[ÚmA}kus-i Œ\o= ·AeW†¿­Q.nÇèV¨ßºfñ#å|,›œë^fö’c33×ý­mfæS¬‡eú¶^'Ú»pÙbš–™{ëò¶¥û¥h´oÀ ³Ê„æÓ>ßcº|ðQÐh4!!!.À1µZ­×ë½´òêŠIs–ßfLQ§à›}¹}(Ö­=m‹Âd«YXßK»¾Í×ЫíRó— P«ÕzÃÕ1Ñçw€ô/jÝþ²ê’d£o@³üù/]þO¹ÿ_Õß;”¹Ö.‡F€ñɿο‡Þ¬}ÇÇÊ";¿]­A9{Vê5rGvÛuµÔ³-®nŒÍë Hõtd­ïÏ”é_C’ÓË \;§Æ+«rMÖG@õP›Z/Ù @4–MNÙ—™Í丞™bšÂe.Þ `æÍÚ¯2l °QþÆøK7¸x_ǰm—K?Û `í?¹½(_ïU;ê˜ýßÔ›üvÃt3æŸ'-**J«ÕªT*Q•J¥(Š¢(*ŠâïæÇ¡Ô?¸œýªt¡}^ËW¹Ð~ûOví‘Ö³ÂSÐÁÁ J*¼zØ2òË@xx¸²öZÏ]O¾ÐºðÚÏ­ÆŽ½HIÆ$‡7…»Ì! ¸Ó:YUœ´N ,«ÍùÆÎe®j`É lTbØžý²™œ ¾ÌlfÆÆßºLf® Ã&ëç@ïÑÚyh±Õ¥èZr®0ø;ËN~XÛÎgÊÇ SæîÜcºÀç{LžzOäo¤¶Ã,g…§E#µÐ~ÃBüôƒe1r¨å8]Ý>èÈù ž•1´^ùÞ8ÜÒmÚbùI‡AŠK’KÈ»î¤ú@ŒkY\ÿ)rmÍÛáž‹?mM•Ëä¸óG±(ÂQëå3šÔ²Ý[ µ²¼€óeç%쌂yB­É¨üö.×_Dä5,¿ˆª&ÑÔ¾£eq ¶=¾ ù€zQK@j7ØRÞüóœ¾L©[¡+ªÎ-¸ `<€Ãù¥žRµÀð&€\|ý¯ë¬ ד#™ÉÇÏÛ,‹#zÛ~» my;®OŽYÞ¿øÓ|tµ‘þÎ>ɆåQÕ`jo½0éòæxôé8m^j€ú*@i¼±½å©¸#mGÌøÛ!×`9hu9Û×aÆHÔ*{ÝwBWLÍîøvÌ×mXõ?d•>ªn´öbÿå2ݤ„Íä|¿9£üä¨àÌHغ)€> Яöõ ¦½eINÔ\´9ù—‡è½æ%ãî|£'ªt¸UUM¢ÔÐzÒÏ©‹å´5ä Ǽ†0%`Œ°žÒ”V€GWâl>[Û¡†µž©[Fca4²ñÈ ¥ONr'´} j7AïxóœØ~!ðÏ<<»×­úYŽüeçÈ£;T°™œn­Œå'G„G2“¿÷<+`õ_9oŽGëºÖÂÍ#°b^ë;_¼x;k—¸Ù²Ñ×Ö'C‰È§X~UM ©†õœž[‡ŸJ2æ[Žs! @!5°V c¾Áç žÇò9Øu5PªP»)NÄê}ÐËâ1ûæE†;¡Ë²^!¨Çù“Øñ#æŒA  à0^Ž>s‘{ÝGE´µÎN¥ìƒ½NºN„ÍäŒÒ°üä(à©Ì$¾‡öÃð}Ð@?gRÎÂ`B~6öþˆoÀ…ýxc$¾+ö«ÏÓÿZÖ_«ƒ­)L"ò)–_DU“•uÊÄ`tØ€–&"” B¬G»ÞŒ ?áÆfxd>þJÀù+0!û$þZ‰ñ‘è7*¼ÞÅ·¸q'tEóî‹¿  lypmv*)³b+tŠ6“³ã²üäx.3BÚ·E¨›×­€ Mn@Ë27*IŸ‰,óR=èµ$"ù±ü"ªš$Z?PÞ܆ Z¯n€A€k× IǨqðŠ­nFļ†'ͧ‡cÁëJÜ ]>}ÇOñ¸|ïÜÍu¥‰ŠðåTl…Nr=9ÊLP|}¿/Âà‘¼^3áv4®…%‚µ¸¡f-‡Ø½Äã˜ÑÕî­µ ‘m^ªYÎa_"’Ë/¢ªÉ$äZoÕtpoA€"Är¦6ò‘oLÂeëu ,Ãn 5àû·,Ÿþë=ÉzsCwB—•‹~Š„ÖAëÎ5_l›â…o±{ê”|£f=•)Ûfaä&\OŽ îgFQlÁØfðÙpÜ1%äë¿‘‘ƒù‘´ o?‚V}±ßh±ðÜÓÀÎïq–KÕ!ˆïôD• 7J¢ªÉ Ïý4µsu¨bZX>?—ƒ‹À¨È°öÍL„ƒ«SÈ;hù"Ð2ÐíÐöI\¾€£ Xÿ9í·!æ t˜ŽOG”z«*žX**÷Ÿ p=9¸Ÿ™¦ã±Fpò=<ÿ³í“Û.lŨ׵ðî ÛgÖK†k7EÞ{›¨’aùET5‰-×-@Ç&å´ nކæ¥tœÖEŠ$ë]zTšrÞŒW`™cªa=†åNè ;¿÷Ž·Ì-~á%ŸŸVUî>WÂõäÂÝÌâq–ÅoWÁÁìÞÑõ8 ¿mm]XUPZnaôøçC‰È=,¿ˆª&“p(βØi`9Wh;æs¯OìÄ% 0Šû-…Bóžp|Qte ëÖ (’Üm^§á­V^ñta'ÍKíQÆxíC…ZoÜ®Öדc‚›™ ¬7JÚ—î¨{ÑXªÄhhë‚jŠàòû‘ï°ü"ª¢„ÿY&‡D;»z &·,Æüj¾»ðßÏ–ƒt#ÐÉaÖæ¥,dº:¸hi:Šòp"¯t´ßÑFe)P ,ñÙ@#2r-‹Mj–³׸“7þ(Å•˜Úáùò×’#]]43e-hÍK9ÈuxØ—ˆäÇò‹¨ªÊû¿›O ÇkwÁÞ\Røý˜h¾9ì9|a½EOÎNl2_/¾Þ{j{1Txp¶eçò³– ®‡.w·<ûðó¥Ï©/C×Çrß!dálñ9P…H±Þ‡±½³ÎÝäNrÜù£@!þ³úìêðVÂêÆhl^:ƒ3¶ÎPS7€åžÀgKdˆ*–_DU•”ƒ…K-Ë×ã©l\ƒ FW|»ÄR@úqÖ[ôHÙxë3Ër÷Eøb¼­£lJ ~ïEZ~ŠŽBñ§]mRüù™å|víX¬~¡vÎ ¹ˬÝs¶–¸³¡ÉɖňÎðÆ­ÜIŽ;(À¯Ö>ŽSoíFÃ|”2;GlÝ]²aKixñ²½ñ"rË/¢*ìß…øÎ|s›|°Ñó1¸êh Ò Ù͘²÷ §ùÄ tLý¸Ôçøâß Ëu91nþûÞ&Z¨  Ç€ Xõ~ÖÒ p+æn+uËåЙëñžåã‚ôNÄâåñ¸©)‚•”¨Q]bö2OÄPëõ½/@Éë?ÙbYhÝaÞùL_ÙäŒéSXÁä”ÍÌí7+øGûÌåe£§ñö`Ûóg5{cù‹–åÚº/¸€û[ÿò®ÀOD²Óh4Žèt:—Wîpö¼<î„v§¯oC»“4fLæÐ•!áÚÛ‘,Ynm÷«/—¸kPqÆBoÆÎ‚òúJNatCÏ„6÷ ŒÀo+W‚$a˳×Îa7wWu@ŠùÙô·wåw뽌*ø5"ìú¸–—3SÒM/¢ÀÚlß7š1}Ш&D´êŽ©"Óúìö°}}±ø&ÇÜF|µ½Íåã†)swî1]àó=ftttLLLlll\\\|||BBBbbbRRRrrrJJJjjjZZZzzzFi†³_DU[öô¾ ³ì·8Ž©Ýñ¿x'hçÅcP'|¾ßÑúOÿŽ]ñÃiO¹ºà0î¾ ó7ÛîtM.>ƒa\?yS˜Š §a×¹¼•¸Êä¸óGp`!n~ûó Ó˜ËßÄ ý" &æáÈn|ô4ê(ÀòI²ÈzmÕÒ41Ð\Pf¨9æèW "Ÿ`ùETå]ØŽ¡ÍÑï,ûi,w ÌËBl4^‹úmñÉ>Û»yW’1¹ :ŒÀëð_æµfçŽâ—Ï1¡'Z Åfûe„Ë¡ OaÎ4èÙK°# 9%ŽÀeŸÀÖu˜3áõ1í;ä—í_€¯×XG>Ž2óVS29GÏ N%§dfN]œú£@BÒ t©‡;¦`íß©ç®=“ÿþ·ŸB[ù—m®B@¯Ç-×t=µ>è­3Èȷx'0¢ê@ÊGÌrÄ,w©³ ‡6àÙ >}&oÅá-ç;&}ý3Ѩ9wÎÀê²÷ÞÎE¿Òöt:]V–ƒù(;¬Éy/¼ÉÉ“'êZœ®ž ¡M—ñǧؿ^ël_±^mY^¾FÉꋨ4V«õõ0ˆˆœ¡0 þ,ã³A€´ëZ¨ræŠúÕ›ÔáÅÌßž2¸²©Î­O_à5W‰¼fñâÅZ­V¥R‰¢¨T*EQEQ¡P7?.¥þŒˆˆà©÷•.´ÏO$¬r¡y†¯³ªÇ†©nDóè˜T_¨Š¾Ìœí« Çfë'æ´ç†Y•BW SæÐ>ß0yê=ùý˜ò@E‹ óÆý«w¿‡ÛÕpòC|øŸ¯ÇCDv°ü"¢ªIÂÎW±äÔ¼Kî±{‰yÿÑð,3Ÿõu_Cï´MTY±ü"¢ªJÊÁ¬{q0j¦´ññx|KÝ«WX>úÖ}ØšãÛá‘#,¿ˆ¨ Ë‹Ãðɸ ý†µ}= QÔÆ»¿¡o lœŒ¹qö¯jAD•Ë/"ªÚR¿Ààù0h‰_~ÆÍö®ƒ_} ¡˜õ3¦¶€„ùxà‹ëodDD• ¯ûEDUœ ;ç@œãëaøŽ”‡ù½0ß×à ¢Šã쑬X~Ɋ呬X~Ɋ呬X~Ɋ呬X~Ɋ呬X~ÉŠåU^‚ øzDžÇò‹ˆˆ*¯Úµk³£êGÐh4!!!^Z»Z­Öëõ^ZyuŤ9‹s3æ&ÍYîgL’¤³gÏ=z422²°°088X„j\Šñ5æŸ'-**J«ÕªT*Q•J¥(Š¢(*ŠâïæÇ¯{ÝFDD@£Ñ8^µN§syXááá.÷u3´;}}Ú¤1c2‡®¢ ç†én˜ÎòTÆL&Ó¡C‡BCC]ëîNh™»sÃtÏ7Ìèè蘘˜ØØØ¸¸¸øøø„„„ÄÄĤ¤¤äää”””ÔÔÔ´´´ôôôŒÒ4 >Qåe0Úµk·}ûvï¨!’Ë/""ª¼ŒF£$I;vܲeKPP¯‡Cä,¿ˆˆ¨ò2 ƒ@·nÝþøãV`T=°ü""¢ÊËh4š'ÀÜrË-6l ôõ ˆÜÅò‹ˆˆ*/ƒÁ`®ÀÌ?0`ݺu¬À¨ªcùEDD•—Ñh44O€6lØÊ•+YQ•Æò‹ˆˆ*/c ÅÞ{⦅}ö+0ªº”¾‘]ƒA´R(7Þxcjjªù©ÂÂBAŠgňªÎ~Qåež÷ÊÌÌ\½zµÉdzì±ÇAÐëõz½^’$Ö^TE±ü""¢ÊË`0¤§§÷ë×oÚ´i999“'Oðõ ˆÜÅò‹ˆˆ*¯ŒŒŒaÆ={Ö`0|ðÁ*•júôéjµÚ×ã"r Ë/""ª¼F}á“ÉTXXøþûï_ºtiúôé w^TµñLDD•Wvv¶Éd2/}øá‡¡¡¡7Ýt“oGEä&–_DDTy•<¹¾°°pÁ‚}ûö=pà€‡Dä>^x‚ˆˆª ½^¿cÇ_‚È]œý""""’Ë/""""Y±ü""""’Ë/""""Y &$$ÄKkW«Õz½ÞK+¯®˜4g1cÎbÆ\À¤9‹s3æŸ'-**J«ÕªT*Q•JeñÍI‹¿›¡d¯ˆˆh4Ç«Öét.+<<Üå¾n†v§¯oC»“4fLæÐU4áÜ0]À ÓYÜ0Å Ó>ß0£££cbbbccãâââãã“’’’““SRRRSSÓÒÒÒÓÓ3JÓh4<øHDDD$+–_DDDD²bùEDDD$+–_DDDD²bùEDDD$+–_DDDD²bùEDDD$+–_DDDD²bùEDDD$+–_DDDD²bùEDDD$+–_DDDD²bùEDDD$+–_DDDD²bùEDDD$+–_DDDD²bùEDDD$+–_DDDD²4MHHˆ—Ö®V«õz½—V^]1iÎbƜŌ¹€Is3æ,fÌ>OZTT”V«U©T¢(*•JQEQT(ÅßÍ ‚P²WDD4ãUët:—‡îr_7C»Ó×·¡ÝI3&sè*špn˜.à†é,n˜Îâ†éŸo˜ÑÑÑ111±±±qqqñññ ‰‰‰IIIÉÉÉ)))©©©iiiééé¥i4|$"""’Ë/""""Y±ü""""’Ë/""""Y±ü""""’Ë/""""Y±ü""""’Ë/""""Y±ü""""’Ë/""""Y±ü""""’Ë/""""Y±ü""""’Ë/""""Y±ü""""’Ë/""""Y±ü""""’Ë/""""Y±ü""""’• ÑhBBB¼´vµZ­×ë½´òêŠIs3æ,fÌLš³˜1g1c.ðyÒ¢¢¢´Z­J¥EQ©TŠ¢(Š¢B¡(þn~\„’½""" Ñh¯Z§Ó¹<¬ððp—ûºÚ¾¾ íNÒ˜1™CWÑ„sÃt7LgqÃt7Lø|ÃŒŽŽŽ‰‰‰‹‹‹OHHHLLLJJJNNNIIIMMMKKKOOÏ(M£Ñðà#‘¬X~Ɋ呬X~Ɋ呬X~Ɋ呬X~Ɋ呬X~Ɋ呬X~Ɋ呬X~Ɋ呬X~Ɋ呬X~ÉJÐh4Z­Ö×à """ªb/^¬ÕjU*•(ŠJ¥REQ Eñwóã‚ ”ìFãxÕ:Îåa…‡‡»Ü×ÍÐîôõmhw’ƌɺŠ&œ¦ ¸a:‹¦³¸aºÀçftttLLLlll\\\|||BBBbbbRRRrrrJJJjjjZZZzzzFi†‰ˆˆˆdÅò‹ˆˆˆHV,¿ˆˆˆˆdÅò‹ˆˆˆHV,¿ˆˆˆˆdÅò‹ˆˆˆHV,¿ˆˆˆˆdÅò‹ˆˆˆHV,¿ˆˆˆˆdÅò‹ˆˆˆHV,¿ˆˆˆˆdÅò‹ˆˆˆHV,¿ˆˆˆˆdÅò‹ˆˆˆHV,¿ˆˆˆˆdÅò‹ˆˆˆHV,¿ˆˆˆˆdÅò‹ˆˆˆHV‚F£ ñÒÚÕjµ^¯÷ÒÊ«+&ÍY̘³˜10iÎbƜŌ¹ÀçI‹ŠŠÒjµ*•JÅÅ‹§¥¥]× S§NsæÌ¡äƒÐh4ŽW­Óé\Vxx¸Ë}Ý íN_߆v'i̡̘«h¹aº€¦³¸a:‹¦ |¾aFGGÇÄÄÄÆÆÆÅÅ­Y³fРA&L˜8qâĉÇ7hР˜˜˜ôôôŒÒ4ÒåØDDDDdѪU+AêÕ«àôéÓM›6mÖ¬™ÍÆ<÷‹ˆˆˆÈú÷ïõêÕ°°°ÐÐP½^?dÈ{-9ûEDDDä-[¶lܸqAA^¯o×®]Æ íµäì‘gôèÑ#;;ûòåË·Ür‹ƒfœý""""òŒððpN§ÑhêÖ­ë Ë/""""éÔ©S¹—ôbùEDDDä1õë×EÑqžûEDDD$+–_DDDD²bùEDDD$+žûEDDD䊃šL&‚UpppPPPHHHpppHHˆF£ V©TjµZ¡P ˜Ë¯ŒŒ ŸˆˆˆÈ(•J˜Ë¯¥K—vìØÑ×ã!"‹ØØØ®]»šÿ£ò…B3hÐ ®“ˆˆœµÿ~|¬]»¶OCDׂPXX˜íÁujµZ…BÁ-ˆÈ‡ŒF£yÁR~©T*ß †ˆ®'‚7VÈ-ˆÈ‡®/¿Šr>i4 …Çw Dd“ÉdòìÁGóÚÊÝÒ‰ˆÈ5’$™L¦r/¸j¦ ‚ùD0›ŒFcllìï¿ÿ>oÞ<͈ÈS$I*þîÙÕr&"òƒÁðúë¯2¤W¯^öŠ0ódÌå—(Š6ß” î]»6mÚtñâE£Ñh¯yœÉdòlùežýâ&LDä%’$]ºtiݺu›7o¾ãŽ;zöìYö-W¡P˜+3%€   ëIÆþùgË–-5jذá‰'DQä‘ ¢*›0‘—ˆ¢Ö´iSAþúë¯;vÜ~ûíݺu»n&Ì|7nKùUò¤®„„„˜˜˜«W¯6kÖL«Õ ‚m¾ž˜Ì¿ ‘ßòøÁGxáŒ~""2!44T«ÕjµÚ-ZdggÇÄÄüóÏ?}ûöíÔ©SqFsù\òâ¶mÛæååíß¿_’¤ÀÀÀàà`“ÉÊÙ/"9y£üâ&LDä%¢(†††Ö¬Y³V­ZW¯^•$©F;vlÛ¶mñ{ïõåWÉÿ‰CBBúöíÛ­[·ýû÷:t(,,,88¸Fà¿ÎDr‘$ɳå—ymÜ„‰ˆ¼§FJ¥233377·}ûö;v .Ù@d7üIDAT„   ˜Ë¯²§è‡††ÞrË-]ºtIJJ:räHhh¨R©¬àÇ)‰Èæ"Éã³_‚ p&"òžÐÐм¼¼Ö­[wèÐáºÂ«Øµs¿‚ƒƒí½)‡††öèÑ£cÇŽ)))J¥’G.ˆäáÙ‹~¯å‘—‚йsç6mÚ˜ç·l2™Læ²Ì2û帮 éܹ³ÇJDrÿAy‰B¡(·XR(¥>òj@D•G³fÍ233ͧgzJfffûöí¹¥ù$I×ʯëN½'"ßêÛ·ï¶mÛŽ=ê©C …¢U«V·Ýv·t""!00€ Ñh>ìëñù…ˆˆžBDDD$+–_DDDD²bùEDDD$+–_DDDD²bùEDDD$+–_DDDD²rµü2d~?®×}_4Úmöå==Ç~wÚPÞš®ìœÖïÞ/ÓÊmç—˜‹r_o>À•Ý/ôíÿZüUóOù‡ßs÷ÂWåž;Œç~6ô‰õåoªDD2ñù{¾c¥ßö]S^ù%åþõXd±ÞC~cýáË jvëо­mßNÒ3J‡î1àþéQÛ³dØEÒ׌éõÀšŒRuCÆ·ãûOÝ|ÑÃ÷@v™59cV^{uJ—wÎê9xá!½ç#^Ë€TpjKỔÃnŒŒŒŒì{÷㯯ŒÍ,¬,™qŽ¤ÏØ¾ü•GGöíÙcà}Sæ­Øž^Pö—©à Þxv󇿄Üÿ@û`Ƭ͋gL=°Gdd䘯ÓK¼ Œ÷~1}Ôm‘‘‘=?²à÷Súr·Ì3ëëö›tKú+V¡’‘ˆªš¢Ì­K¦ßß¿{ddddÏÛGNœ¹toއïl ØÙƒ›É¿ßt¨"³_‚òæÙ_}÷Ý7«¢fÞ–ÿëü§ßßwŠš‘O¼üd¯:^¾¯%ô·«—½5®áÁå/¾úÛYŸÔÂÆì½d4¿£cXeºd¸š6/2ÿ(åîY·»Hë¥{Êg@tåS÷ÏüîlÛ ó>[¹fÕ²ÿ=Üùêo‹–,ðN\¯Ò]3íþçVœj~Ï˯øzõWK^{°›rϧ—ù—Æd0Õ¨È Þpêׯ…êß@ ’A/è"G?ùx¯Ò­27ÌzæóŒî³¿Z»fј M¯N‹:”ïàq{<¶þàö£ˆ­Ü“[5kh"ªô ,›:cÕ™ŽO½ÿÕ·ß®ùìI}j_É.ðBùUY÷›å ¥"BꇷhѪm×áÏÎ^û⮿OèKO Júô¿?=ªoddddÏÁço9Wj–Êxq÷{Ü2xæ†S…N/¤~x‹-Ûtì7þ©Q ÇdЧÿõÞ“#o‹ŒŒŒ¼ý™+÷åa9Üyßû«Þzlø€>={ žôÎ_Öã)6Û£0õ»×&ìÙãŽç®;|E.ÇθçýÔ¢£ïßÝ#22²ÿÜ}ùL¹ Óš ºYsòË{zŽY½äÙQýzDv¿}ÂüMæ¦Ë‡¾yeÜ€n‘‘‘·Ü=õØ3X‡d³½!9—M§ÑÝ.ýþÛ±B0eÇ­Û_wØ ¦% û‰²1ª‚¤·‡ôš²íŠ¥ï•Ý/ô4/Á¼ÿ·f 4óÇ7–$6ò‹O_Ó¯K»Öm;öñÄÛ«W<ÙVm;ŸŽ’`ûeãÌTŒ!ã§7>LhöÔò¥sÆ ˆìѦ}—[î|xö'«þ×3Ä2ìû?üæÝÇï¼5²Ç˜ÏwSâoÊý÷ËgGöŽŒŒ0ñ­MÖ—µñô¶'ìª5ÿ ”†>ó”±C»7,Y¶Nþºêß#^ž6¸}óÖ½ÆÏyºCæO«\¶û¸]ž[¿ªiß®û6$:FDä2ù½[O†Þ1ãÙQ½Ú·lÙú¦ÞwMzqú úJ bïùvÚ”Ù‰ßfc^RùûMÛ{s»oû®ï³œ<÷K¡ V¤7•ú/Ù”ûÖ£/ýŒ¡sW®ß°~Åk÷µ ”®í çw¼ûØŒÍ-gñ¿áMTÎ…+f¼š·as†²eǦK»ß™XûÓúÕsûå~ù윖I1Ãñµ¿‡=±rÓÖíëg6ÛúÊô/ŽÂn{“AÑüî—DoذvÉ“mMÿèÀUhz½»nzË€VÓܽgÏžÍs;Ò僿©×¯»N Àºö×€ ŸÿµkǺéuþüß‚-L0žÿó•'ßKhùÔg߯_ýæ +k_xúóËD¦­öŽ~'aF÷*øó§”Àx!vݡƣ5ºVÅ;L”Q9`Í@í ;>$t{dd uɧÅÐÚÁ Ûùt[/e¦"Œçvÿ|Hè:éî–×½*¢u«0ûæÕCË·ÄÅ®š~mó4žßôÚô¨‘³¿ZÿãÇck?ˆ5šR^ÊÎSšömÿ'%åÝ“ÐæÖ–Ae›º7¸’üoV¡Ç‹œü½\Z`“›ÚUÎÑN""—ˆ!ººy‡â’s®;ƒ¨"ïùöÚØØ‰„ô.»/­œý¦½½¹½·}7öYΔ_ÆÜÿ6,ý)Kݶ{ã’;,ã¹-Ÿo*è?ïôm׸A㈞ÃFöªgÙW³þ~ë±Y±7Ì]þúÐF.LïI…Û¦õ‹ŒŒìÑçîéÑa“ÿoH=\Øúùê±óž»³só†ÛÜöÈKê¾ß}Ñ\>÷™úàÍ5E(u·My¢ÝÉ¿O¹b·}`Ľ ïÙ®IƒÍ»Œ˜þ\ïü›ÛÜý\ùoã¡·ÝÒÐüKiMsmQP7¹ýîâ;N²þþ:VúÊÌ»;7kܦïãoLiy"ú»ÿ,UwÙöF;Cr>=ÁFÝjú;:éª!këG[Žê£ (~Ò^“Q9 dÍ€tîÈ9èÚ5 ±uÖQ>m$ÁÖËÆñ׳ŠÎ§œC½¶ƒÍ¿KAâ‚Á–ó ïxÓ2ç‡þÏLêY/@¡ ‹eCÖßkvŽxå™aí7j{Ç´—†Ôyžï|êYSÍ&ÚÑ®1]9›+…Ö¯a-硺PäžÉ-´ó¸³§;º´~!H×Ps,Ëééi"¢ò 5{?ÿÂí_>>ð–Á÷?þâ[K7ü{¶P*o?ef¯£ÚÇûM{{s{oûîìÍ+R™k órpÛ{çÍî[K!e?]xú@ºÔâ¾¶¡evɆ£Ë¦ÎVÜ:ÍË*[e—?{¡£27eã‡ó¿ß}èâ#݃3ö(H?ð@¯/J´kœ™c„thb)vÅ-"jæ$Ÿ¸xÊ^ûZ9{¿zç½ïbŽd[*ÕÀ~— @™‘æý3AÕs|¸ù/¤Ô6¯cù[‰!µÔ…§óMEYI§…¦c[Yväb޵yÉi—7Øn_hçWê8›Ÿàˆ‘ÔÏFï;Ü6údÛ ·ÔSn-~Î^#”6Gå ̵ $;he̶›O[I°õ²±?æÒg7yºÍ£Ÿ~{þüæW¦~oÍ…Ø }£2ÿ;¡(+)ÍneRP‹žÍþÉ_¥ÚËçCz‡B©€¾ H*ÓùDTM¨›|{ý ŒCññûvý>ÿñ/×=¶ü³ñúòßóíí®Ø­=s´ß´·7/l¿í»³7¯Hùe®: µ4¨,@…þ%ëÞÜ[½ýŸ_vžî32ܵ㎠M£­ZkкÍ[ú¤Q‹Þÿó®·š$±ÃÜ_—«]zêÎÆ"£õÀ¨d4@²ÝÞtqó¼ç¿¸8fá·ŸtiR3Pÿïkw=ÕÖ©Çúã[ö˜n~µ™Úò[ Š’kI²ì®l¼,O”mogH®P·~‡æÑ÷ß¿xÓ‹=k %ç°ìE1¤Ù•A*õ˜õóµ (ë¶®‹_’O^‘Z×¼î6]ŒqO;I+Ãî˜3m·wC@6uñSò©+R•ê:ÍZÖ1Ö8t-² ˆ‚—„(ÊâfŠ€ó²\+XÈ¿dãs“%)Bê… yg.Yg§MyYy«¦²ó¸³“Æ®­ßXp©P S³ö""oCÝx[£o>þ‘{?óàÊeûF¯À{¾ýBþ>WÇá`¿ ØÞ›Û{Ûwco^±Sï5Z´jÕªecKíUšªáM…cÛ’óÊìu„°®Ó¢ÞéŸöÎã¯ýžéæ%#” =6PýÏ—?eÕëØ©þkó€”!=>%×ü„ñÜÄܰ6áµÛno8³ÿHa»qôlV+P ¹d¢BT@2Y›¥oÝ™ßqP[—¨CCéÄîTËIëÆóû÷g‡¶j¦±—\UC¿‚³š½«Þ‰ƒ]ïíVús™NGQ¨Ã‚p5×2f¸tòÌUP*J]ï;ÛÿYñÓ±RG©Œy®Úͧm6_6ÍL9ĺÝïì íùò§T'¸Ôo__ÊL:c9)«èLÒI½bíÖMUSÏ9>JmÙ¨(eGªù§áü¸Ì¶u*;;>”é¡õrOdÖ»A§¶¿^""OQÕk}Þ¡Aùïùöö vjÒ{pÛìî7ííÍÕvÞöÝÙgyàª÷bÝÛ'Ro~õå/·%gœÉ8¼û×õ;‹O y%=å¿ÿ¿P$ågMþ/9õÌU”áCÇw¹ôãÿ>Ú””vt×êù&Õ1¡£Æîã0]IÙ´6zWÙ³9=´~@ÊOÝu:,²»+çg•ǘõÛ̧æ.ýq۾驇ÿÝøÙÜ÷‰7hW³^ùïùööe¶kÒ{p{U‡½ý¦½½¹½·}wöæžx»U„õœýù›ŸÌ_2{B”µÛßõB·»®=-Ö¿ãµÏ¯ÎzxÖ”–NïVÓå8ª–#Ƕÿúã¯=ñÎò…u.yëá¯.uÛõþ„¥€U¶zðáÆ[fß³ð¼±fûÑo.~´ Põœe£½X{ÐËÿoï~Cšã8€ÿÜiÍuš5+›‚æEj¥£¢-%éYf©‰²À2{QIøïM9M #R$“d-#P“¢J`To F…Pd¯´²"ÊFܼØÖÖ‹I™íf³[«ñý¼Û`wÏ}oÜóÜsÏó\գʺÌÔSAs«³÷§ ¶;Ú¯¬º¸hUÅ™ü­õ¼E«y“³ÂõÃe&tSíù±Óu-E»?Ó,Õê½ubg‹?¢•;-ÒLƒaÁÎRu{/Š•‡µùUÕ…Úä󗦮½¯'²½pgR~œæBg¤¾õò¥ªž"6e75Çʥ̀ˆˆdAÜúè»7ô'toL6"ù¢¸ GZK³"MÍ«œ·=&×àÛ.ö:™üHD¢õ¦XmN"—ý?¨³üX–r/HI™îÙÞ”¨ïÜõ‡MAë°>7ïöžëWrT’ÝÃÛ>ôg÷léÒe…ye@µdá̘·øß˜r«™úîòÑÎO·ñ†Š'®Ÿ\Ëz¤!jûxëè¾îõ:]^Î1€çq‡Wn»d3ËSŠ¥zzqÿpÏœ•JSMƒ#®V«w“ùµa82O£öLÛ‹èëØ³çÊœ²á8Ç Æz¸ä¯J/Èóv!¼ ¸‰ M;®•t‹³–ëît‹?cBSJ«S<¸˜Êû¿_<~Å.WÉ1çýÀÇpçýÞ/&$6iæÃñ}Âð=~DIJlFFF@€» Àï²X,ýýý<ÏO ½·Z­‚ áhaøA«ubI*†ˆÌfóèè¨R©´X,v»Ý`Rçy£Ñh0xž§Éï6R(D”œœìµÒø¢"w|œ:¡ŽeÙ¿]"Ÿæèôúî™]ÐüµïxIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/ambiguous1.png0000644000175000017500000001476713634703632017235 00000000000000‰PNG  IHDRÃìŰ½'PLTEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¾¾¾¶y=£bKGDˆH pHYs  šœtIMEÕ ׆ÃVIDATxÚíIŽì¸µ†i˜–@Ô$/lãmã¹ ÀÓkiO5y1ÖÀ± NcµÄ—êØIlÅ."ÎÁ­¬Lu‘ñå?©C !ˆjÑݾc\¾Û¿Ü–4Éó/7þeŽÐâçB<íæïºNÙ ‘ñ87⌈%ËŸÈäÅ€¸(bð‰¼y1 N®âN×3øDr£qqÄà©w€8{F¡7wàÙ“6@ ˆŸ¿ ˆÓ#î1ĵø;^Alld ˆ£ ëI¦€8=a500Ä‘-=Éu@œ<%Ö³b ˆSÛ„.ãS«ÄWlâ Ü'±‡ŒñE»e ˆ/Šx—16Ê_±ŠøDÆ€8ñY‡ ;ñ¥œX¦Š¹1 ¾,â•*6îÄ»*6æm€ø²O¬›°q? ¾îË6l<§@ü­\@ì·½@mT~Ôf%ÑsîX?¢ÄGÂßX¨ë×Û¾Zè(=þÈ„Ñâ Öƒóܾìr‘²ú¸áÖÆZÊÑŠ1ò¯#§Ú©;V¬¦rŒÂ†¸Ûˆ1 öò ÍÚÑaÅ*z ˆ1 ~CÄÄÅcŸNÄ¡ˆ»§MÚ–´I„óø l%ÄãJVëzŒè âÏO`,9E7ªˆGe°! ñŸ???®>F¡"îÐ%Äß„AÆ{,#m7Y¼n€ø*ãy€Xdëxñò V1ÓÙ8§C›Ž´¯=ó×18EH€Šñ"†Œ";bÈ‹ó#†Þ]~Ä0Fˆ[ ê˜b@ ˆ1 ®ÒÞaã!€7‡ØàÃé·€8cl<§ALqf3ÆP%Ÿ1LDHëw5&m: Äca*G¿S6¤€8ðÑ)ð·–ÿk4@ý¢`z–dô»¸) ¾ø~ªÓmšùÊfò_2 ƒÛÒ m?!XâºIœôÅ’ߌaU•+„MãT€î'X( aMÆÔx Ž&¬ÈX]Ò±Ÿq\èà¡`ª¢¿O€8JÄÓY*¼ Æ‡yÄÒ5Ý*0¢ô m½‡ ˆ£DÌWˆ>[#zºßñeoŒ©¬bÑößï€øJc·1¦ó½,ý¨üM¸_â8ŸX¡RÊ¥«¬ÖßËýA@ìØ´óGÉhÏõèåtGZñ†Øðt®ûoOıVÌÍÚO¹ßï0”úÁÔߊm°š”¤­ÈÄÆs><#€œ±í³ˆÍ­]âíF5 >C¿ûôÖˆûäˆßµ;bFŒ,ˆ»[âÕ•ï€Ø¸Ñ-ñ&æ; v¨X_:( ñ&æ ãï___ÿþ:‹ÿ|Ä–2åÿ3ð T|AŪž_[ÐÕ ΀XA,/ö˜ñK§t‘IÛˆÒ#ÞÕüj¤ã(â—Ì7âòb”±$ho†x^ˆ07â³þÊs²ŽAüP±“õ+#¶¬ÀVñÓåÓáˆmëD,ö«!¶­†Y±ä .!è)Hü‰ÿ(?äPV^÷+›~ŸúŸí`}læ_ËÊĦ‘ºƒ8vßÐ3@=-ÌÕí ¿±ä«âj¡xôðÒß.AÄÙøS³#¾_Ì( 6ug‘æÒSVÄ}D^|//ÕöS㘚6sïn*ÌWφØÈëW}ÄúlÓ2ra,haĨ]Ä'V›‚ÎPZÅfc5".SézšVáfElC܇#.c™ødñÓ!6ÆÑVElCltÖ_Õr6K-nUÄVÄ÷PĹ­ØÚ¡ ŠØŠXÿÜãÁŽ8okçšÑ04*b;âIL·_㣆;»Ä¸Q[ËüyNîþk|”·bŸñ/Ú¦ˆíˆ{.àaùC;O=Âÿ­´&b;âÞ&•óå K#öÁ@›±â}Ö¾Xƒâ£lkç=094)bâ^ѵ#ÎExÊ*§ˆˆ¥·‡QÄA´E»Œâ.ÿúvÄ9|"ðFnQÄ.snƒô>J¥lÁ·‡hƒ"vyñ4‰ÃˆÓ‹8ü¦nPÄÄhêÅ~jEœÞ'bnËÑöDìBÜ#±Æ¶qúÙ·Q7>q{"v!ÞdLˆ›Ðp”Œs‹ØÝ¦ÏÍVòaO kŽä€jÇÔOûZ¤Ä÷äÙR)nuÏÍXOµàG2Í%ËÖâEY_ÄߌñÝ…8yIΕëÑgñbwµ­þÈMøÒñÓ‰á íM–«i›„Ãd܆ˆiÏ›3|öN’'W/ˆŸMÄö,± qòÉ,×/H+‰¸Ûf#®3?×¹‰óÅÛè–Ä´}zO·æ^àpÏÃÆ·ó6ÿ³óPD¿v‘§â{‹„Ýäøœ¤"7¼]ÇòAŒå$J-˜Î2÷$±»Ðíw!ÓŠ˜£î4¬£­mÃhXžå“ã&Gªá:ìú Ð N‡xPÕ…¯ ¸¸ 'k:©ã€Ó§£{ìøTüÎS S Äé>V®ÏÍH«ˆ—,âæFL5eFœÒ{ÇÛ’çÄšŠÜÑÛѦ܈ÓÞ7¡v…cšú œ ^¿ŽÞ¿eŸqâû&fXßÅz’“ qÐ,ßó"N¡ öÉG'"ñÐç ˆÓ'ƒõÉSOtÊwbêèÐÆ ›tºm¦©elB<eïøž q–êïsˆüÉ¿C.§è”–n j‘±l˜Iç)9ÌiúI½û…@ÜY |¾Q*2£­‹ØÀ˜ò·—Ú)FiMŒ´Ai%–iÐæE|úK®îAÝ#ŒOƋ͈³´'å·ç#θxgX(¯d[g´c¹&„¢z-›{ñ¨ÐåíèØ‚Mœ2$¶5—X 6ò“Žñ!›š³øŠdL%´¸9oÛû»Ž¸CÛ3n®>yþ± ãå§]ÄCs"æèïGÄë8tƒ8÷Ìiåñ¨r¡ôОˆÅŽû±ðâ.°¹Ë¿ˆ…Ìx@Ò#Ùë¦nöÓÁ‹â.¬¹+°Â‚ÄXt9j–PPyKÏ”QtcXsw/©šùZ0öÚÕO¦¼Ø=Ô_Ø'dƘ£&E¬ÐßÐpSˆF\H8ÃN–V'Œ}÷ýcGÙ]B\lõ¼­Ïvï9KY!õELïI—[=o]î†h®¿µâ…Î('nˆK>aëTù!Ì\ ÚÄq>F1† .»äå0/©1Ô”°kìI¿=z?Ë‹[FLÅê;NÀy×ôEŒîÓhHŽô‰u]?t8“„¨Ç›üý±½÷íA—]ð㥠ȉoÈØ9¸wV­¤nÁCòe<Þ]ÂŽ0#à€êrIñ×>é…[»AÁ¹a˜¶²‰sÄ—ÜÔr2½°Tù¿j°xÐp6”· ÓŒ¥ Œ{[L}0ùÓß~?ÑõÉ,·Š"6Ô´]h²îfÄÁTˆü@u£âˆ{ô^ˆi,âø´À†xþ·dÃ0oY”ܼrX\u^|¾«#P4âè¼ànG¼4?xqIþíî tÝñLˆ1º€8¶Å›LyÓ"YbŒ.!޳ãYBF¼`×/æñ<ˆéEÄQvüVˆ1ºŠ8Æ*îþˆé¶G3ŠçIÚ|{¨¶é42žˆÕæi*^Ž{Ä]GžUôÄzÒ¦#^â9’6Œ ·Š¡®Ç ÅÚíÀϘ&Al¥Ÿ-\1Fi‡ÊxzÄ4âPfïƒx@©‡É¸Ä%Cæ®Å[ 1Mˆ8ˆñÛ Æ(%⽿ bšq€4§7A< ´ˆ´é‡ø´o?<bŒR#ög*ĸmÄ4=bß\¬¿€8ðˆšˆ1JØWÆž®íph1͸¿ˆxe[Æw”»ÏtÙ9l#™RáÎÐ.bŒr ölñ\ˆùMf>¦¹ ^·hµg´UÄá¥bž+\yYÅݘî>/;×azÄoF¼“ ˆ)Ê„ØË*&âãÝç怤¡ãÆåc” ±—Œýïw<,ˆ½ÞLyÄ4â¾8bŸ&¯8bŒò!ö‘qQp+0"öPLqÄ4'âþ âaoã´»ÏJsw@ìž$Wñ€r"vËØÒ¹Ûò2¤ß}FrÒv@ìnò #Æ(/bg÷آ󥿱ÞdVî>#¥ëqDêÒqaÄ43b§UDÈÛ¥j¿á/#îœOÛ¨#â Åu§ ˆíö'!^–%ɢæGÜ×@le,w+ÜœŒc×'Ã!|¦ˆmŒâí-azíükã‘HÆm~ĸmÂ+ݾ–O$q Ú:â©p:=âæ—é}LËØ—;þþu9þ¥"ιXBSNˆ³;EAÄŸoˆ¸â§G<ó…Œ"»Œ{@œ;§x2Ä%‹ÿ-HØáL;7ø•ïE{ÐiÆ(BÏ„¸nÄ$1 ï‰ØB~ª6„Þq_ ñOô&FñÝàMuœ¢â¹±ŒEÛÐNudŒ®!& ©ùCÏ‘‘õ²ì<?ê{Ïfýº…t:\IÚÇ–×#BÅÛ)ûÁŒì‡ã¯hÉUФ˜m´Øü– Û…öýÝBÍ› Ží¨ïÿfDÝŠX>LXÀþG’ö­çŠ£¶Íd?øÁ¶ÃÌøáªr›ÿçEÄÛD’ض‰qÇdâ(™Ù ²çõ* !mßNPöb&ɶøWz K÷íö÷BvÄr+¶Z÷3AEI$žâDD3¨îcœ¨|1"¸mf榴tUÛ_¾¾®]@AL˜ñ†Ã…13b‚.!.]ÿš1glA¬ö¹ˆ•+ÉˆÉ âõšïx'ãP1r#V®äB¬ü6¯Žx#“±|%1bì"âþÉK…’(Í’•HÔÃÄ^ÂôK‹fVÉ(^ññu%ôXþ)ˆWŸÝvnäÃDF±"Vö1á b~0q".ì‰U,:Är·KA¼íÙ{_mÒTüà]=yŸJîÁ_y?ø¬øôˆËñ&2â€Ñ6@Ü(â [Ç?ÑeÄg@œ=î€8wô€b@ÜT{ˆñó; Ä€âúí]!Ćá¢ÿäÆá·þNGyÄyÿëb@ƒ˜]DÌ’"¾ƒŠs«¸1Äü±u»WI¶ ñc¯_~°WB¼1ZJ"–ûöD¹½¿Wr¯µ |‘=予­¾{;m¹št›=“<öêYqªVƒ¤•‹?3â­û!jDÈVUýØ H±^o½ÿ(ßJ°÷Ó–«±Çîå½…Wjï§2¢VÏïEå¬ ØkˆE6¯Ê–6¥À›©eÝü|f+É–*½™zMþ²HyAÃuž±¨\ãÅR™ßöBJ™Äâ\/¬ –_F- ’ ðϯS3kk±Ðbb"½v ˆMkÞ^["4â¥n=1¯z·"^_Ƙ_'3b°ýÑVz1~èïŸÄuX.ÄXN!°eÅÐòöðª1¥qˆ•0m 1{zÄXÏÛÊ“Kk„ÔG|¼ˆ¸-ÄË|dŠ{ ‡ØÛ:Û#cêxq Ñ'ðÖÖÙÖÇÄaÝä³ €8 âÁ41p%â ˆ±qm{Ò ¾–RÌEl{@ é&›Ú:ëÓ q´C(lq,b›CÈ"¶=5_Šý©R€8â9}â÷éD\ñc/«r ¡ ÿesÈ\ÌXK‹˜¢RˆÅ݆÷BŒßâĈ) ÎŒx@>>ˆ´u¾,#ÇK;$ôEc~ÑDˆ*vs-1ƧߦGLb1`ÝO”…ÄÝ1YïáËWG3ùbÒJüT´ïÙ~‡‡òÊ~N*Ä´ â}9sEÅb-Çõ› âƒ@Ø9b^ŒÂ¯À&óJ™ÛŶå 狱¬úvar>R+\R"ÆÈÓ'\±ƒQH ¾k?Ÿ8‰R5%ê±Ô) «´¥‹±ý#¡ø‹\ø%-[Ï«5ÄW&†)¼Î‰˜ó%Q6ŸM¿Ó«W`'ˆ™8‹?Aüœ!&§^|¥½L¸s &ˆ™@ü0"f'ˆÅ¼ÆŽˆ¹Q˜¯…XÉ+TϿ΃X/®ÞÞŸPáF¼Ÿñ>âGäRñú,³äˆ)ªX}2‚f…„ùªX;úˆ9KÉS ÆfÞE½XkîÄ;4dä±tt bbAŸRÐrˆm…1b~…Žå˜Qh=SFÎ3ŠhăٗËäňIy±ÚÎíy1yæÅ bvÈqy±2‘Ò”Ç"Ö˜:¬8mïŽðnÞ»S&lítmÂÌÃÝ»S.vðt¥w§ V{w$…¨$âxõ·qˆ±Õ˜[AÜHÄ!¦€8ñ”@Ä.ŸxoÄ1íÝ!ÄÖˆ ÎkÆÇ$˜â´ˆ)Äyc-€øRJAqæ”b@€8/â³ ˆSšñ€q^ÄÅøÄ»#r ˆ3#ƾÞˆ#ŸßÜ ÙŸU±eYl‚ù¼BÄ2 ó ŽBÜ_±‡7‚˜´˜"@œ1q0Š3¦A›"–k™¤mé +5½‚× çqˆT ñRº§>\^PˆÚÉí6û¶:Ÿ¸°ÝÆ'òeöê’‡|{^”f#¹0`§º¾:ÑÎòùkûM6§Aö‘±Z¤­!&òÖ­Æ„‰r“µðbþ*ʳ÷ü¢D”Í>¤km&JU´³XªG# ¨*bñ?Qö4Sfrq”òX¹˜{ÿz¼Œºì%Óf„H«m2yíNå,×ðAŒÑŸHŠXY#”ÉËÇe;ÑK‘¾Ê³²~ž¼6© ÏkC§BL›@ÌTŒl®L——{— ûö™†˜¤@ìaÆ5˜moˆ r"ޚ³"ÞÒfH¬UzD¼½º¾üvÄæÊK/+N«b†XÌjr¨˜@6—ßöBìtе˜¨ˆ wc³+Nì‡X]Al)¦- ¶dÒVæÈ( Ñ”Q ã ç~ý)²­+XÍ‹•·’‹lZË‹E–ýPæÅÊYŠG"Æèj\.áÖ‹¶E§a}F•Ö»ÛÎ:öîÄeT£½×'õî‚'½;ô`ÊY ÉÂ✂ÖFœ#Hð'É>¼q ñàÿ{ÌOO ú"ˆÝíÝÕÖ%°Z ï# ïõI ÷$"~Ä¡C¡1 8EµgA\%¦$ qâ0h€8Ü)0Ä™çuŠ@âp‡Ä¡ˆƒ‰âP§ €¸Lf ˆ3ç€8)â~Ä™bjKÅÿ® Í]åýUÑIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/geda_flow.ru.png0000644000175000017500000002213713634703632017523 00000000000000‰PNG  IHDR) W] PLTEýùüÿýÿÿÿ(kÈÌ IDATxœíMÛÈ™€îŸr‰V{ذØÉþ ;@7°XôšD·vn:,‚>ŒOvm^ô´TB¬›3™?áÞ˜:d±†­´žš‰HÜz‹ßEñ›”§ß«EªHÖÃúz«ê­·zVÕòE¶<œT~oŠü¡WíýÞ9ÊójïN“j)®š?ôß!tYåýiR%Å‹.'‘sz\ÝhR!Å5šON5ÕQ¡_$ÿp—LW¥TEa°ô¨,¢þVTE‘å¨æÔ¨ˆ‚Ý“÷åz1ª¡8š—QF*¡¸ÎÅ£« D“*(Ô,…×`SþI4©€Â@|¶`“Ò¢IrƼ¢ÖW4ÊSdœ\[ž*OÁN²†¬/O•¦¸ÎQ÷¨uÕSe)ò½ßìé–OÊRÈ|žÐu%FI #g½SSb”¤È—µ%FIŠ'ð±]X–W<¶IÁ´…û­žÄ(G¡òð©è8kIΩO‰á&Þ·Z£…ýfÂ’œS‰ÆÒûú¤ÌóhRŠÂ°_¬¢Ë<+"õj;ÇÿxID<;auKQØ™í)R2®d`±“¯b)Eá”mE¿óâ#íXy«ß,%Q_Ho€‚Ï,k%žíÖ7cq½Q,¼Z)EáäEWI’u]uø*êøð €BM8Ï…%OÊÇ:*e(Ü×jS,‚hõJ[lq² EYª …6±ÿ ‘¥…)êküuõ&FQG–*CáV7Šþq|!NvÇŠ¸;Þà"¢+¼ùP\¼zåâô?×Ç¢¾9!Áåò±ŽJ ï¥zu”"ª¸"b1+ži \G½Áå­Ð[\G‰ºl·}ªT>Ú)A‘5ƒK‘ã²T Ь9CŠž¨¾á+AñeÆpRôDõ£8E@«È)ÕŒâÅãRœŸ&Å)ÜÖ¢€œ¾’"Å)ÞGŽÿ§ø¥¥¥8Eô…~@R<n!L;«}&MŠSD3÷IR>ù.|ì¬ßiªH SÄ"·Lª@1EBœVN SÄÞç3Vb±2¶ŒÅfÌž=¡¡@gÖ ºO|8lÕ•TqŠè ÷Œ´ãxËœÜð¢H(¾-ñwŸÆá°UWR…)vÑ<ôŒôO’eâJX_ S½<ö¶àCiR˜b=ÁK«Wº¾ýg$â‰OÄ…‹$Šª«Ú±×ÉK"î$á`Z;^2oŵë$ŠXB–”±¬ýìBüw”žárñaÉ›¡¸À§»X¹¨ºÁ(L1ŽžÀ½£3¿ŽÂåañ½e±â‚ÔQ‘J©ê£0E¬²Œ×;~щd(œ\ŸJ‘Â|ôćX¿èÄ(¤‚O¥HuiÒU C*óÔrWÇ垢¸”»:.÷Å¥ÜÕq)LÁ§ühîÓ¼ ©ØSiRKMkÆöh©àS)ò#§ð3¾–y~ŒžÎu]¶§ÃÎæ8¢su!¯›5Ì…mñ9~v.éŒâ¿nýäf¼\®Äº¾ÃtØ¥øGTÝésr{ saÊøô{Q¬£XR*ÐÌwKE¹\:s-d F41šÖÍ—öü‹êftF3÷U=홢¼Ä‰`ŠP|úMD„»Pn6ìL/ÉïtjWŠòó²­hZüå{'-ȱ{I¬»[R*=Ð?|K8êpÆ'ÏÅSR.Þãr³eøÔ˜7M\NÜK:3zàw× ŽÂ+¨£`²[aŸ"Å2‘Šp³e"ÎJ¬hâ:ËÍQÉI¯òÇ–<Œö/ø‚¥Iu#œ!Y¦RTÝèU8Ú‘4ŠîŒ6gžÖKÊ'öª›…É!7Å/M–óz“ÂíÐŒ˜É½²òé‹2óÝ‚°á`´Ãz`å…» Å„ lríj€N^ùäd) ŠIâé=R©Ú"¥­YÐS¤-eG-W.$ ÷ˆDGq:Lèl®^Éü ŽWR Å¢¼eXŽo]Šo'ÖÍ’U¬*^‡i%ªÚñfüöLó+©Ìt?MÊXy‘jÔðñk¬@Oy="OIwŽ_šøx%Õa‹Z†‚d)ˆçò4VÜERä Ql—3›¢kw$>$-–øÇû­òiBM \<E׬-Ö"V“ñ3ñ̦øF²6ã‹W0rpâu˜$QÝo,ñ ]¹¸ê0n.E¯­ÐwK~…€A%/Ù7`̼p:L@ÀžpÇoV³ †ÕRÂy“~lMJ<&å¬åqÃ'%œN¡¨g¹[É• W¹)ø2Ï£IÉU$¹…tqIîE!Ý\Ñ“÷ÝvsuUΗÛÑ•nùÞ®ÑÕU‡–šÃOFÖÕǹ¥‚Õ¸|Öwµ-.O‘}%kvÞ¼RÁ*õëŒyª¶üTß6SôÔiTA‘ÉñQ§×ŸJ»OÂYp¯Ã£J}Ü!)Œï-…REŽdÁ}5\µžúîØ`­Žúæ Ü&ÖÌïÓÕªöšˆ c@ФöqôÌž¡“ª)@’Jò²°ˤáŸvEVIÃ@肱™[Óì;¥Qw„¯Ý‰þs§TG¤ ñQ¨i¶¤ ƒêkEæ¥Õb;ë+V²Ò×Swžö»UÀq¢¼Õ¾Tî––¥j¢@ÅÝvÙÓ~˜Æ±l„"m„·{öløüp8ö Ù”Zª&ŠþCm#‘6ˆÅ—œJ1Ó«¢ð¥v]´Q6Ë…¸[o”+ N¥˜,ÔD±-<€fHäZÈKvµPD°6$å"Í|¤& ¹0…c¼-éñ_$êEuQ,ö‡Iºñ¶!Qª‰B+<äA7ÞN±©‰¢øDEŠñ6Oý¥.ŠÂëÐS(è÷¬‰¢¸9^Ë*¢Jž„i9G©½ pÁƒÌq›–Kw˜¢W”"XÓ†Tõ¢ÎQ—,…uŽFZ½Š(‚ù&ìP¨ ¤" X.0W[Ö˜-Ù3ă‘ØZ^6£ Š>r"ÎÌŠRœåeE°_Š:¬xÒO6JškÕnåÔ/œïÉ’&÷ÚãE–¡5ÓK S„ªÚ\ê(LŸ‚MX†ÖLÕ¡˜"†C}Äø0——ÂXFÒÂÂWŠÒÌèKÑ0àðǃ0Å߸ÜÖX^fˆ°ÆlüœPœé6'ÍŒä8¥»ßï9ƒéƒŸö PÈgHE[Ö˜á: S¬®£Rg£+O L!x£"Æ·ðµÚK5穃ÂO‹Q‘eG8Bq×ÐhsŒ¢h¹°»XŠø”FPª§@çPGã: S Ÿ"ÁxgOß± $ØVän/,0¤š„O47#V!Et h¯I7)Â3ÅûMº§Ó ÎÚßí7>è(ŒôÚ´F–}È:K»ÜÙBÙž,(Ý¥p¶çËÀPÅU€=€F{À JRd—ª(ïSpÌ`0„C¤@§>EŸk›âa1Á¥Ð§è #á|0k‘‚>N¹Oi1ôÎÓ) v‡( =î )æá: —Š6sTQŠIõíEv©Š‚¯¡ÕË.UQÔÑvg—{аØ}Áޏógx \ˆ‚ÉM‘2±ÆS/ªš‚)K¡™¬œ¢7F܈{-03›ÙPy(ª™c-KÑGùo6š1õ•âµ ôa6Ž˜Ñ¨…N™gm’‚‡9†#Ä0L1 ŠO£f)FBI Ê@`³9 g(A{E)4^½Ú¬·¼dnm÷.àé…•Z(ÝeÒBãµãÛ[e,™a{8ÛÓ ß(…SÓ Cf†) Õ´ÚR×Áó¥d*¶KǵA ÎÕA ¶zP.Nt<_"q ÛÃkLbÚEŠÊSÜê:x¾\‰$-ˆïK°FmžUu%¿6ÜÃnw+ñ#ÙÊÅÉU“‰’—BU¯â.hK¦»®£–‹*("âÍÝSd•{Š€´­ÓéÞÄåž"KÐŒâOVçÝÜ›H7(‚óëE¼Ntƒ"huRÄ£L'(®C¯¿€Ñ|(¢¦ù£ Ñ}îó»Q³)4²ÁÒ®ä%?æÇdÙaýµÿÄk¥ôµÀ bSèke|)>Ò×e‰Å^˜T;…ãò>g—+sÖr(¼-Á•ËååR’Ò£V…m±›”ìŽÕL]‹g;ðb§(à@÷™=‹§PDó…¾¾½Ý(".E¿]ò¢i~¿Q*¦@PGÍ„k&ÈQdñ-|Ì(¸zâí(Wø®£…%uÔ2™bóLËÁê_Ä¥èkp¬fþ“R1Å>)§r`õdí‚úõÁQÈs «/-4ýà(,É|¤¯}s¿]^¼:û>88 \G-]^` ¨£~vø  Fð¾ŽðÿÜ^Š-ï}]Àªö +ØJÔÔ^8ò t4ØŸãà!(Ex¨£u †4¶JKZ<®7˜)¢RÈ+ØLÝVi{iVbUwè¹§ÂÔSŠÁ`8íS)6æ ptOTZ‡‚—Þìܷܧ¤P(¦é©´…$}Ó ÑÇ ÉX6=Ga Xr'‰H[À†@±z¥åÍQ|å=GôÒB š!=-œ=Ö-7-DQý>‰¢±‘(1 nJ§Ø˜vÖf Žf-ÐgÏ,ëBüBû:‰¢±Q5†t»ÒI"ú,®£8.¥\@î‹qEôY„ë(¬¤'–‹Ïc„óómþn0f}aÄ!{Œ-"âì~Í6º’yôtnÀÈ,l‰BˆRËup8t½M'Q„Ý¿=Ãâúf¼_˜ßߌŸ·KAâý`Öm“(ÂÖ_š@aëµ0Ĥ¶Iqñff DËQag÷³ 1mͶ)ô†¡´x!-ЙOCLWmRp(=;úC‡bH)Ag÷âg@ñq,‰þ†ÿð&è„-ÖQ¤ãœ:êuŽ’(ÂÎîW ÎŠ:lÆ8ßá?ˆ ܶØ^D[äö‚ø,ˆ:»Ê=…-?n ϧOÊùþùb¾x*ˆ=kíçŸZ¤pâÍEŸöRØ[{â“@¡…Ôªö(‚$Å~ ·¿yK’"´[Z‹½™>G¯§bf³½VÑ‹—üv‰¾ÓÔùöMð1-RômŸ‚˜bŠÎgý7Ñ]a mߊ׶OÁþtÊõ¹,/Åo——_âr¡M4£+œíS l§âÅ-€bÞA ÜIÊH!Ù*êÅkÛ§ ¦èg£x‰).­›¯4KÖþµ+ŽOA(ÝÓŒ¥Òb ¥[ëJéÆ5-ñ)5m?[M‹)¶W[¨iµ®Ô´a¿‚Â^ Ù’%ÿÈ|ø©E $ìWp?…öUpqtG4°_Á,ÚàÛàeG´Á)9N[Dî)î)‚rOaË=ÅaR4³F¬fŠçŽÉr)’$³+"W6y/È$÷Ö=E¥rOaYwG÷ Ê»'ó]MÊQäò’ki~v)GaæuÐQŠœ•´zÛ—£0òR¨™=“å’’uTÞ ÒQ >ßãÌzüšD(î^æª;Ó<Û%‰Q+ Å;WÉ|žùò­”ïqµSܱdÓE®×!´gfO¶“œÏ«ÇßGqc­}ÝA›"r¶`¾¤b–—Bm!‚Ó# ãšÞÓñ…÷ÃlžNUyŠkÔ‹Ç ZWÒb•­³ÇGŸS”BA`ŒØ†Ó*•pä]`àû§Ø£?F„Â`“â7â#aå,½ž×âЭ÷­ˆB£m¡þ#ÅÏÜð)FúAÉì 9 xbèG”$›Õ³¬ó`ý ÈOçE/[RÖUä¡9.3ÛHv4 =#¿ b´\øÐUKYÖ’JFrpRL¹ḧÁrŸ/BÁ¸нNÔ@«žóXÌlƒå¿5] ÔïÃBg&ß&˜#ƃ„=/Ÿ Šm¯7ë! ŽÑtŠ8Ç`í1“$ bÀ9>°w‡r†(²ŽÓVB!…³ºËÓ~¿×ã©llÍ×»¦¨b´"wî®Àûuß3õý5Pü,4J! XÔgf#µJúS›b$Ì|ŠPü$4J1³ÓÂy½vÓâ@Á9QA>Šþ„Fá•‹}±.EÀï϶2Š?C]ÉÙå¢ç• ("@!Å(È7¨£úv% >r|ƒ0³ syd¬îª‚â—@!ØuŽÊ×`ÇŠ o3Ö¨$K”"ǫ̈ߟ*(çÙþ‚í ‘lÚ•¢°ê•2¶Ô%ût+¥ÕÜÞn¤* .•"Ю¦Ð׊ÂkÇ?ðX'¹OwÄæÿ´5 ×ü4 =#Ä) ¾ºþIÂyÉ_] EÂ}\’9™1¸È0dkL—¢Ï1Ã>.IÃÞF±ý9¡@¶ßDÖJWF!d§1hŠa„l R#y# Ò(xBáì\cU›¿L¥àƒC†™r‚0AÔN@=tŽÓ§7p×bˆ)¸ÙkdŠ Ù ww¬<Ãåâ¹8±Lœm{+¢øß4ˆp{1d80ÝHô¹×ˆÃ Îe8== &Öê‘Í’½:ÊöM¶BÎÊQü1•b¦€kµ×Sö">Ÿ¾ŠÙ,Rãû¥*=Š*a=jØÃå‚s(z¯¡ŒÀ¾ÐSè*…V)RÇgþ!BËEÏÉQ1 JŽj†Âœã^[«! ÞA°3 9 V[8¥+Qø»—£F\«Þ tt² Ò[!sÊP@M‹ÿŽúvZ²‚«,RÓŽfù)*éëiœOÛŸö|ŠH¿{Ø·ßÿ̦èA h×´.7šEkÚ†(Ü,5°×uŽ|Šð€”Á×@KS_øÃÜc •P¸#—vZà îQDÇ£:SЂ–ä(Ÿ¢ñ(ën(=¿\ÄÆ´A"¡YÁ£Èh^QÑØ %s6ÔQ3ÜËsœî…“²~™ÌoÄ!ãlÚ2ü<†3Ô~ÕLt.;µ•÷Å3ç3E!÷|…ºžÅ)ú±IKˆsLâT%!É*…%Ï¢ýøÌ4ml=,!ùy²SŒ°óÿ ¶µrçõŽ"³I zœi†+0=›i -ãßãš±~ÄRžË;hý’só¸ÎY?:’/£wÍúÑ•|³~ôäs_#öy¬×«díäŸÎݯµåžâž"(÷¶üx)ú½An_Á®zf&(R-QÀœjN_Á’3a”4ŽÞ ŠLi!¹QMP¤Z¢xè+˜K§`ÅÅ–gWH½ÚÎõµxNK£AV_Á>Řüqª+oõ“M ê-QV—¬ˆxwº% Üb 3{G˜ðr·d }½ÁÍö™þV@Ž1…¾Ö^ÔÇmSôF‚€)Pt¡…B‡­dM]±—àâã¿‘]ÅZ§€¨ãrÁe¤ØÂ޲˜9ïí½ÑÚÎQD—ŠÈr7jZ`=*˜·„âm»°±Àkx¹bƒ)N¿Æ»ã P|P.^µNëÙ™ÐkÚÈr7…¼´Vè{öRÇ_a51û¦í•,Þr·i/’!è9jŸtˆÂ_îv(ýiÜᔯœÓ)Èš6“m§bµE1 Qýs¨µO%¤S}ÝL>ê5®5Š@R P̲Pov&oE̺[¡è#H Ô?ç@·ía- ·ƒ0\Èí£ø³Ì>Eg/ùÈBv(°6kãÀ½¡KÑßKAöuÑ2bEчµYÐCf½áˆ!Íw&Š—â‰ßv‚‚a`Tgšõ˜aŠS‘7/ºA¦$GùÙsT×(¦@Í5#ä èNŽõ_CZ¼æˆn‹õ'†Ô´è°J÷°çRàšVp(°¢ž¡¦ÕÐStÚš–&Z=g‘â‡O…öùÓ „"´ÁïÈŸnhƒ{äP4ó{й§°åžâž"(ÍR|kÄ>õzIÒQï ÷Yäž‚.÷V~ŠNî#ö#¥Ð> >癤aŠn—ÂüL(&9¯È$ StÓHîVïó è¤W“Ü y5ÉØ³q%õæÙ¶O›Ô@‘ÁsfPRožà‡óßkõÃY‹dÚÓ­BŸ¨µHÓþi둆}×$ ûm®IÞg WÃHN…Ò¬?óº¤QßòµÉ‹¢†Ñæ 峤, /Â8H )îžÂ–f(TXI Ë0°&/“íÐdѧ9о¿…eo-ëæ%l‡v{€`ê¿"–µy _>$Åv)‘y¡ˆ@q".$÷×áP,‰|¸i±×’ûë¡Pàr)Ö ÀåâýFyv€d4 >H…ä%€9*´a¦ w0Á®† w(Zp´FІ;Št¹§°¥ Ýîë}£ŸÇHNÖ=ÝøÒOêÀgÇÇM)S°Œ°iRë˜y¶™ ¹ü“šž¿ˆ‹‘sk™$©•"›á _þAµRXlˆ*f]륈KCV^5Ë=]î)ŠÈgA!7d«V¯4eýX¯4eýX¯4eýX¯4eýX¯4eýX¯4eýX¯4eýX³| Y?Ö, Y?Ö,YÇ óɽ6˜[Ù}ÔÃOÃÙ·ú)AŃ4HqûØ`zŠè[œ?Ú$ñ.ÍQ¡çÎ7üÂGª 6ä7IA¬ä Q°Áýëï’0ŒýAhwiŠâ(ÜPl<Žìeèð.!5"A 7HC×ÑÖΈ©èr4È]¬lÄ‚Nf(Œ¸¨Î'©ÇV|»?ÍP$m,_U¤ 5±Jb'û‚ûƒØwi„"OB±*¤ Šä—Š5H¶»4AA[š ò¡¨ì ’v—(èSJOö1æ{ƒÀ] ¼Ïˆx¯7Kh¨Çd© ú¼É;_n¨A<>YY[ÖIR|—(àÑî ‰ÿnyç‹×óórËF]íþt¥è´rÒyá®»l¬%Æî7V^šÜƗϼwƒ(º¼dWspÍFê.4aÕÅv®^)Û(ÈtvˆBq¿¸SÝÚÄ {ÙNu¢¬7Ê…øBÿA<#æ +éÍNWÞjÇʧIýäeJ z:×õ­8Ïͬ†ÎæPÿ;fžÁȧÿçóyåšÂ˜níÂÞ*QMb)&IßÀ¶‰øß|ý·6Å ¿Ff4íIDATý£øR;Þ(<~¡ø‹åšãx…ö/oÀù¼ˆßú·Þ`‰]¢68#«W…²¬ŸâĦ ;N¶GsÉvmn¹ƒ ÞlÀ1¶óÙ.C×cÜ…(º'µSؙơ0£ïý Š Ð@!{çn е9¹áKO'P.$ñ‹Ý{Eéïë§±´ØY Z½(f<-ÞC|Å’¸ŽÒ•nûX 8S‘"B9ÛÕNa:+ñÑSœâw7æá…î \h–Æ[æÄ§ØA¹Ð7'~¹°ƒHÑûE«ŸbŸ¸ŽZÍqõÛã: ^(ÑQÕ‰†&~S§ 2D]^xu”¥Zd’ö µv 7ŠRâ¯&¦˜§¯Šy¼MÝå_Z¦Ø¿Ô]Ýä(ΑßE½AŠd!9ê«=7Ð:Å_~GcV†Pø#!Ó4(Ýi ¶Þ <”n›"6‚)ê/Ýéu$Žâo¨æ¶Æ¨­=¼ 4±Ô¥½;[ü°gs»ui ¦5¤´_5ëŽjS¼wƒ|+Y°·lÆ>†-~.EÕ¡¨¿Õƒ|LôYy‰p[Àž™^×@7ƒˆ¾–y~lå%û]ÃùµD’¬¿9€Û[üˆNKoÕ¯€ª·Oaq­(— Ë9]LqëÁ'7ãå’¨¾°½¼ë—pþÄ ‚)Þ'SÜ6¢ÓâçíýH"©Ó50(’OØëþrŽ¥‡Hî"Y·Éõë´ipþ€UŸ",Ø#v×@{ãT›dðöº9† 6Û%ò(üŽÔ…dÁÞ>°û¶øy.ª;œÂ¤~ Ü•Dœa‚iát ~å8Ñ *ìuÿó‚-?-üN-+Y…lƾ]Â?삵g¢®JŒHâÄÂz*P<‡^³Ó5Ðåt³ÉpþáãøG°½P<¡­‹0€¸xçPn`ôÀ¸Â9YXO F0œ®öæ‰Ä®£0ÅŠTg@A‚Æ{(ž41E2ó¢F7H÷Ž`0…±l‚Bã©¿Hκ«ï—„Ý Œp–mΤ‰‘ê°¾1Z–R}cÉ´»42 “<ÌG´Asv£I«3bwBïï—† €÷C ‚[7Úo  I@Ê·È¿!‰wã‡\À†¸ˆÄ˜QÆ\ÊÞ€#k Ú˜<‚ FÁ àÆd!„€` .˜É½.„#…pÁæì @@hL*ôþ@!@8D°n×+fE‘dCÓBuË,×*¹bÖ¶íh8Ätà #€L«Nyªî8Ží8’$YŽéÓt—Sǵ%"1ÎTU­›uʨ,É.uUEµ»fÕ4USdŲm]×…åZc$IrÕ¬«Šjhºi›¥!”9AÊ(BaÌ=%A/VÓ+M‘¦hSLÁ…@@ H.—õ–Âçó½òÊ+Ï<ó cì©§žjjj¢”zØ;sæ ¥4"„$‰d2™£GoAsÎ1Æ+++ã;vlWÕ¶m‚ñêêªíØ­-­>¿¯^«»®ë8„P×u.8aâóùdIB ŒŠÅâõëך››ýþÀââ’ªi±h,‘L !““µZRc’J6ËŠBžžž ‚‰DŠ1jYVÀï×uÈ9Ÿ˜—ˆT®”S©T½V¯V+--­>ŸOQ5O5„ØPù†rz0 ¥‡Bˆ@`ã%F#Ĺ¢ñ6> €^/[Ð&žþ54€gÑçA!çÜ*BÀ»‰Ÿ†úC#ZÑ†Ì ô6”W n ІÑm´l¼)Oz2o"nÚ(6~ Cçaó&± n€¸a-„”RJÙMøŠ†Ý5ÀçÝ' „‚#„Àv.8CÆA$„g,6ÆPc…ô,râp±yq·ÞšÁ@@Ëf9_Í»ÌÅ6šBÐÂÊÂßxK’_7VÓk÷»wÿŽ}ÅbáõSo$£‰ÛÜîÚ‚P“õÅÕ…é…©í};Gçn´$š¾àðÔp©RÒ4íØ¾[ÇfFëV=MÌ-ÏíìÛqþÚ…ó×/lïÛ 71Æ=^«×.^ž_™‡†‚!Ÿîè4m3_ÌÛŽíRB@™K$ #‹Åá0‚°X.^½qB°¸´¸÷> Ü›_R.—=C‡ºvíúØØ!$“É”J%½„ééiJ©,+…B> MMM lWd™ !¼zõÊòòr>ŸÖkuÆX0 ”^»z5‘H,--‡#aMÓóùœmÛ²,~4Û±c'Æ!T*•×ÖÒëëë×¥õz­µµU× Ê(!ÆäìÙÓ¦i ...0Î+å cT!ËŠÂuûõööqÎ+ˢàé©ÉwÍÚö‹K 'ß>q÷]÷uvõ8¶ !ä‚=õ‚M$°õ%„hÃñ"‘¼è§ D#È9@4<ä¦ÿâæïÞG ß@熖oøDo÷ßô› ºÑýÆ?A…"¡`6LDžÞ05`Ã@±éÕßãTᇺØ-Fé&È7%@Ïô4PEcŒ3Á„¡ …6Ý>BaÄ©ðœ-ÂH€ #„=P2Æ9cLlࢠ¢!!!lX.Î!‚BN¹‡U!ÄPpîÙD±ñ"˜-g(£áª[ƒÙŽ£*j_GçV˜»§OȬV*“s“ùýoñ]Ò²™ŒëR¡k;‚ñH(R¨%"ùT£T.…ý¡=ý»%I2MS•UÊ£¬)qm§«¥3 ͯ,䊹X8šÉeê¸Ômin …B–m…¡€/P­UÂ͉fo‘ Íàœ‹ÆÂ(Þ›_ž‡æó¹P è¸.BHQUøÇüÇ¡pI@P-•lÇ5A‰H‚SÀ(Á’"«#Ê\obdY®›uF©·Š¢ÁMÓ”e…R ÔTU!B@9kì±-<ƈmÛâܳÜHQ”†»@Èww“ªª p©ëé!¤¡é¢E×u9c„ !„RW’$ Â2Mˆ $ÉÞ€M(¼WiaÃ'oêðMæÙ`‡ž"Ý܆nj2À‰q€‹÷`®A5ÞhÚÀ§@lìÔÞãxÅ\Á нùÈóºÞ={x¾rÆ=‡Œ1nì¨!„œY[¯'ÀC!9çl¼5ÀA9m0‚›ÛüÍ 4„B¼5ež˜œsÆ8ßä[Ý5¸‰½Í „0Fž3h¼È€Ø˜– oL{Ã|6¨…G®{#°ñL0ÜóÉð82A-ÇT$Cì=Gv™C°D0¦ŒBĺªlÛFÞDL°$—1ãØY–…Œs×u0!„Ûµ &”RëŒFŽëºÔE9Ô1-ÓSrMÕ$" B7íºhìü)gŒ3O³‚„HpÛq „ãB¾0;=KvîØ¡F1®¬¯7µw 8¦Uç¶åëíÑ4-WÈ,gç"z¼5Ü ñû|ÃMö!ÚXþM?ünps„ØÙÊèàfäl® |ŸAÿàj !O$øQñCd[8ã‡8ª÷65œ7Øô¯[oâ#Ý:ñ±Ä‚Þ&™»®CˆÄ9ƒʲâmž)e!‚1¥T!Â5^l¯q!€•FPÊF!Θàyà£þË÷¡­ïGîGÌÙæðC¦H±ÕÎÂùü÷ô#6mâ}â ñ¾~7h”ž‡‡[TExNe« l!„ @ÊF‡›–@5 ‹­«€@ßxAä餂s·¿@ "Š›‘K éZ.›û«¿øéݹ³0:¢Ÿ>«UÖJyÒö[êÊõõ*„0S%´éÀzå§kqµ¼”Pïi‹öY® ~Ã.þ. 6 û¾÷@äïw(’,•Š%Çuººzkµzy}áüÕኅ:ÛÔ*­fkûMÅÕõ… WoèMmmÉ&™( cœdhrvmu5[ŽEýº"Í­–n9|hqv|træÀÁCñ¦ˆãºàWŸð1æA¼YÄÇ»øef þ•‡[#ü[ùàâã[¢-À¿[á6mð—XãAÃ0 Ÿ!K2YÍdÀúzW©Ôå÷›åòâârŠ¥;wÙ‚ÜÄêÊÚ*òU{¶¡Õ¹J±œ×EÞá¿qþÇsqÎUE5|Fyµ¼¼´ìóùÖ——¦g–jêi‹¯®®\¸6“líÔ\L¯.,¬”Ç–‡U¢*âXL …$)TÊ¥uéåR_W×ÌÄÄðµñö¶.`Ërþ;YÌ_Bïÿ! ú‡K  iÅßá(ÄßólË®Õjœ3R\KcÝW¸û$‘2&§Y¥kNHÀu­…Ù,¦öê¹l3ש­e¬´ø{—í7à‚ „8çâ׫B€2(eÛéÉÉh,f iïþƒ®k§Óëœø·õ0»¾¾žaœ íÞW¯–ÓëëÙÜ:p( WM5[¶ë7ǦÃÂ~íÚÕˎömÛÆ\7“ͱtúoôõë×Ñ¿Ü~ø€ã:fݤŒ’€® C/ªJcÇqÂŽ ``¾ÞÀ~æ ÃNRèSwtgKFòÏ üe¦þO}жÁ_•(ÿj¢¾7êç®ëUÞ }ýUS¸®­ëŠªÆ!áx2NÂ4㘂c\õDÁ¦úúºMÓô6i"UUç[gÛq"¯á=›ÎßtûqÌ!üïÈ6¸ó‡ć±ìµ 𪘶† „²,{AH²c{?ç` Æ(ãB`‚ c„q†0„H0ƶn÷¶„¬Þ#)‚aÄç‚#„Á×Í4Ê–ú!B!äõLnäý¼LÇÆýc„ u)€À+碔 ÁÁfÞ_Œ11úá›/Z)¶X èå%P£²Bl¯nVYy/!!ò\„#\(V×V»ººdYþ5»¬Íõ‡•pȰWÒgB“ÍöÍ|—€€3/˜'>Gô¢ÐÿëÕùýö¦cÌ7r"ÿ­¾Sˆ B¸Q·³¡e^<Œsᜠ¸™×kÃa# 6‚ŽÂ+ŽôäÔ sÀK’Ä9_ZY tŸ¡Î9ܪ™¦iRÊ à·,‹s0©T*Õj5Ök6çÜç36Ë\B”R„¦©ŒqO\ÆÀá¼V¬†¡ëºmÛxuh`܈ü á¸g!dšŽmÛ¿’Ï烀$I^ ‰7a©Tq]·©©‰sžYÏ8®ÇYq\×¼,IÅR‰3FQx½Éòp˃J;®Û@>„„Û¶LÓ AJ]Ïj „¼ô¥,IK¦iÚ¶ ycZyµZ.K«õë'‡pK¶d#kü>;²¥ýcÆdþqø]Î@’ˆã¸ïóÇž·BBÅbQÓ´Í<´x?=Dmš³›!æpóBÀ„㸎ãp¯VAŒ±®iŽëzóz#„pÎ\—n.ŸÏç³Ì:„aÌ( „Á^·ŒqƸD°—ÁªTÊ™l.¯¯­†BcŠ"¯®Î¯®¬š¶í÷Éd2†.ËÒøøÒüü¶m}sóó¹\þàÁýííµµ5Ûq+• uÝ@ !À˜È²ÜÔ‘diz|reuµ«³Ó2Í¥••H$ ×3™X´‰sQ­U5MëêìÄK’4>>±¾žéêêt'—Ëù€ß¿²ºª¨J_Ÿªª”Ò±±‰å•å={vË’üÒ˯47§º:;c†¡§R)EQrù|:½îø³cã¶mC„c²,I„xXM¯§ýþ€®i©TR’$I’&§¦ÖÖÒ”Ra4ÚÔÒÜìóù0Æ™LvjjŠÂ…Ð5- ­§×+µj,ÕTMQ”h´Éc5BÏØ¿/ÓóA?öÛÎÿ?&Ïßk»WÛ[©Öú·õmx³OAÕëu@>ŸÏåò뙌ßçK5§’‰Æxs9çÕjM×5/ÁëѶÍp1缑ÚÒ.„°m›sžÏææü~çœ`bZf$nmi™ž™áŒ»»º–––²¹\S$ˆ'â“W®Ú¶=´sG!“Íd2Â`(ÔÛÓ 6rŸœó+W†³Ùl0´mûêµë‡ô /©M%½B„Â!sumxdtrrêÎ;G"aŒ‰eY®ë®¬®ÎÏ/‹¥ÎÎŽ®ÎN/Š===œÉf4M»|ùŠ? Ù±}0‘ˆ#„„Ùl®V«­®¬J’¤(J:ql17¿@)­Õê©T*{ô8_(d2„nÃ7F[R©|>ŸjN9®Ïçs)­Öª•jultÌvÜR¹¼k×ÐÅK—ËåÊCŸx@–eŒ±eYÅb‰q677_­T;»:——–»»»Þ½|…ÒÒÒ\­VmËYZ^~ðÁûc†!ËÒâÂR©Tâœ#ŒÛ!„xcµZml|"‘L”Š¥ÎÎŽåå•B¡À8/K¶íèºvÇ·‚?”¨ýí¿žvOLÓÊçó QX8ç•JÕ0tUUMÓ"Ï/,ŽOÄ¢ÑZ­ŽJÄ㞇¬T*^™`¥RQÙso¡J¹‚1ÖuÝC”×íf»aœsI’r¹üÄäƸ^¯#ˆê¬¾žÉ0ÆYY]]óžjN¥r¹üÊʪDˆÐ«SVT5“Éfs¹t:-„ ŒõõölzlÆØ…‹—‚j&³´´’ÏçwîÜŽ88?;!„paT«ÖªÕ* ©©I×4A¥RµmcdY6Âçó†!„ çryÇqU-—J’$áª(Æh>_ ”1Î ]×4­Z­©ª"IÒ•+W5M‹D©T’IA)-•J¦iI’©×뚦AUUUE’ç¢\®Pê !lÛQ9 d2YÁE[[ËFé,«TªÞüRJƒÁ`­Vóûý++«A¿ß‡F‹¥X,ª( „0—Ï+²L)¥”B&š®!„LÓ,—Ëš¦Ù¶*•Š7õ²,›¦…J$bëéôÌìÂîÝ»TU¡”þÿÁ³ý¦´ !,Ë’$©T.//-‰„C!Æx¹RaŒéšÖÑÙ±¼´ì8Nkk‹ëº!ÇvÖÒiÎy(ÄKåd2aÆìì¬ã8Á@PU”b¹dÛŽaèÉdryiÙ²­­íŠ,wvvPJKår0ðhçÜ«À »”zâú}>˲Û–dÙ3.œsŒ‘*¢Œ!$YøýÞcšn¬§Ó², ò…<„0/..¨ªö¯þ§?„#×/™fA Ä;ñlÛñ´–H#$„@C)u]J!€BY–Bœ3B$oÇè:.ã ãÄIb”1F1&^¦e[@¿ßgYcÜcü‘0ö ß&¸a8gŒy˜”$ „¼ÂIY‘!€¦izQ‘'¹W_纔L)UUU@)õÈ”$I–m{¥AÚØðpoߨ•“$ÎBÈu)!dC]<î]×ÍdÖkukϞݲ,oðÿ¸þ¡÷ÀsîÀ©Õj¦iA¥ÁÑc²,{ŽT’¤M&\«×-Óèº&°LËï÷«• çB’ˆ¢(¶ã8Ž#IUUÓ¬3Æ7Û]ÇEªªªiš$Iz'm½êHÁ‘w´×u1Æ#Ö¨/~Ï~{³jÐuÝÂ;ʹ‚;¶ ’$IpnZÖÄÄDKKË¿üÚ’åå•……Çq7‹Ë=¤ýrI  DpóŽ~¿#T©”5pëV£¤–É+lV…:NÕ¶‰¦¹Õª`Ô§c‚ÁÇ‹ƒ ‘ýÞ¢qfs·þßþÇÄÀ’Æ\Æ™ý «) „­­-N=kר²@ˆ‰ìƒ 8µ85DàWîbÙÀD‚sj3ZûUbPÁ!’ˆìçÌ@ ¢ræ0·úK÷æžF2–4FÍî1gö¯:@A”D g§€.ø¯f":–4N-1c” 4„€ó:`ÀP„sÛ®×Â̾¼@t `¬ ðkˆÙDô`@ÌHæŒjÄÑ%È…Ë\ËP0„ ‡SK%X— Ü¥åz¥ôþ”£WT®§‚S„‘cU¸7{ð.‚ÌÌΕJ%Œ„H@‰!Ö ŸnøeD×5ΙahcÏ (ŠJ0ú¸ÑÆ™¶%8÷l¢··w~q‘Ci.£,ºš%ÏÁVVWLÓL¯­…≾d²|ãF¨«‹‚3Kv¥.0þà…¹õjö€\Öbz¨»qè—Ž C`½4c•´@"ªl$7Žû¡J7#'Ö*\”·(n#)ŨU/L0jAˆ_‹êoáÌiœÜù¸ˆÙQ½0iU–e#©»g~‘Ú>õ\¦N±–—´&±]]–õ˜êƒ#ãi ð¾úó÷ö* ÄÔ.ZÕÕßâòãÌ&jBÒ8r°ñ(Ü<˜ÿÒ 6ÏN !D•õk®™U|)ÅHqî",aÉnÖün öÁ®ÄÍ4„@«²`•#ÉÜskj ]õ·qN?²þ#óÀPj•’qjiˆeÕß Þ*؇W lFÌ€gì£õjfË~¢œÚg®âK©þÐGèÃû c‚Ë!×±RÙ7Ô½m[W$™šž©Tª„3–jnÚ¹Ó£ œ±¥ååŠiUÝš0ܺ¢[3]@ÆtÝ]­­²¢4ˆ7Ƙ3ׯ£É}cµÄáqßa "ÉbŒ_xá…S§NÏ/¯×²…[´…ù;Ÿ|"íëùÞœŸ\¢ºŠÞ›‡ï›tˆ‘ýŽ™][ N}MÝ‘Ž»œZœY] ?¸„X2Qsó¯—WíÝD‰øã»gBîÖwÁG`†sÞ0H›‡ú°L” kf—¯_wjˆI¤}W¬û.jW8³9wáÓ[’[+r’Ñ ÂÙérqe˪?žlj¿ Ì©%˜ó+6‹(„ ã‚s õ¦Zavñ껾hLR|ÙÙ…@2Ù¼ý"É®Y`Œ7Î>x“Mxgžœ#À8\D°¬„Kk—¯¼ïë„[•EîÚ©ÁûeÕGÝ8 †0öô!DgL0 ÄÈû®Ä9#X!J`ñú|½5§‰}®UBX3Bí‚™Žc€€—߆P0 !‚ Æç®` Œˆ…åS…¥å`²Õµ²VÙ5w†ZŽVeÌbŒÆBoŒBˆ1€S ðzã %äØå¹ó'"¡ÖÖÜÜŒ¤Å[w}FVt×.3ÊÞ§“›ÝBŒ‚PpÎ8aD$µÊsOê‘x-[wÌ|¸u[¬ûV\ש{‡®!BoŠCJEÞÉnL!µš“'öïõç2kËË+ÙLÖqlxâ—ju«·§»T*ÛŽÇÞ=u*=1!W«Œ2ˆ sÏé B<ã”Á!Aå,¹ÿñ” ð¾…‡`„0þÞ‹ou‡‹ÚŸº7…µ¥åõW_}­T*V«ÕÉÙYBÈúéS¾¥œL=ùGÿúÀ}ÿ/ÿañÒ4×u™Z&B˜èЭ×gšN(¬º !´\ÉŽ¸ŽCd ª­B ÐL|Û,ˆ`Y†SÓ‚Ý@»µgœ` ë’+°eºKVq²Z\@XED"šÂ\×­W ±B͇)l¢®ITBH- €5J’S©pJF† ¢Õl(l›Õ—ÊùiÆ„`uɧ ÆÜºCd¿BÌHó~Æ\Û” bìTÊBIÓ‰ªÚå§ "h¨`rIÒ V^ZŸ? !²¡øƒ§\dÔ’oJösÒì2!éšàŒÖM!–%%t-:µ° ¨Ë% "¹®S\ög&gL0 •´˜#=Ü|,÷€iá”$¡U(.€¢Kª"ÉØÌæ«¥³rƒ™«X p×­çç´pÊŸâP×Ãýš‚ !¸ãBBD€V¡ˆeIòùc”C7+ŠªWjéòú˜ß1Ûœ!YFšõ¢ ƶ1· ” Á±$qƸK‘$!Œ„” ‘¦+v©D§Z„´*kaêÔãXVÌ­B9nDúeY€SÛB`Uõ %5MjÛJ ¶&) °ë€ñBqŽšKneZp!8qͼˆë‘^ÇqÂ-GU=ȨµI¸ˆªšù<B …™ëØ¥2C’ê÷ ¬B‰r³’F¬&¸K‚0X'þ^#ÔŠ!@0Ç…"I\0Ûœ]‡0&(‡ª¡²rÉuìLn¾3’þçOïÁ¢T(UËù“õ–Ê&P,Þœ+f™)—š§ÏXµšdM}Û¨e¹õº ¹¦©ø|v¥Â)uj5³XŽ#ÉrïC©€•Ïm–+A„ ôŽCRÆ cìÅ_¼|ùòž={âÍ-1¿ÿò×ÿ,ÉùÎýG8iR?j IDAT>yñÜh>bò½ƒ¾É½˜¸mà`ùÔ;å••¶Ûo£áŽ ç—cîâö£}j$6rñŠå[ìêîw© D–4Í,•^{¡P±KÇî ìÜV­Õª‹‹V±˜8¶[ñù–OŸ2×3©[nуl‰Ÿ=¿Þ.çvÞÚ]0­¥‰ÉØÙ […ÂÚÙ“z"½} öÎù°®ùˆÖ”(j'FpýêÛŸîç‘#wœ99Ò|%[;¬Š9ýÂóz*ÞóÐ'Üjùµ³V®xæ·Ÿx8ÚÒ3õúkf.×ûÄ'çé çÖ._xìq­)nÕj'.Y’¦Œç¦_ýá->þx_Ðr]>÷Ò ®'$R`d|íÜð¹ÇýlKT›~íHä¶OÝ&ëF}muäÙÿh¤Z¶?ùéæ„òîÕúÉsßÚ¾>zùìȱƒ}j º~ýÚø÷žxìÉö[†ç2ß~~²/xå O<`¹tõÂùêÊJÇñ;µpØÛÞxæ¿æ/5=ü¥ÓÕæ= yö¥s—Þaƒ-wÞ³_Ro)/ÌŽ|ç[±;÷u?ø Üç~2\ãîWHÓQ5›»ñ̳ƒ?ÚÔß3ò7Ϭ͜úòÓÑm±Z¥þ¶vñÂmñÞG>uidQÖàŽn³Zýî÷ ýŸûR8¬?ÿråêÔõ/<ÞÜÚ–´,gí¹êòò®/~iåì™ÉŸ¼8øØãÉ]CµBñÅwê¦Þ¡ž+e./7%ƒ»Ðжv åå“WN¿»ýó_òµ¶b¦|ã¹á€?ðôSGX%=õÊI=‘h;v+ÂxöµWç^y¹÷¡‡;nï+•í¿}‡²‰sGð%°ãàJ}±»ÙßÜù™ÜÔÔõoþyâèáþOÝkU‹þýɘ2üOŸ¸‹öˆ±æ¬œ~wíÂùÁÏ}ž:Î…ÿ'5ëþ¾]JÇÔÖ`u-Øq<ˆµ».}æ;À§¾¨©hqqù[?9{ÇmÍ·ïIºöío‰ÄÀ£—ç熿ýŒ ~þ 2ãsöOOÛ;é©iÊÚ>4µ6õȽ5f3µp8œYÏ‘FäêÒDªµ««ûô٬㺢V«¤ÓV­JT­©g[¨µZu ‹'vì\¾t)=2Bm‹Û6TÛ²ÞÇ+¶TŠ LH±X4 ãk_ûÚ¡C‡(£󌑈þÚÿ<ø¹§dYþ·ÿþ[öÃõÇSïêËi —›ïØsî§?£—þâøÝ÷ÜóÛíÃYßÈE{o`þ÷;€üÆÕ¶–`dOOï m™’®× ùá¿ü‹9:ª~ò+ß\ˆÝ¶‹üöç¢Ëieþ¥Ó¹±ÑCŸ¾-J½qíLμqüw%;›.OÒ³'&ÉðWèYsäÂáƒýƒCF´©09ýÚŸ´ì<öÏŸÂÔú_ÿÓÊÒôéßyD ‡£g¿1á”Ëž¸‹2÷üõw–OÞ9pdðpov¬¹®RxúNŸïNßPr×Ρ=ᦤ™[{á­oGûÚï~ú“ص¿LŸ;õÚ“w+±–ȹѩBmòþG~ûÒòÔÕW~ð©ÛžˆtÇkåì|U—–ö¥_8|ÌÈvî=þà'}F€9µ—G_B<ôÏ>ˆöÚéµéÌÓv†ë§Î]Iì;ØÿÙ„D´ÙWÏùJ/øâ×ú‰I˜®çÝSNõ`_òÐ^5¡è{{î9pð–Õù°¬¼ðÝ»Žíî»ïÞÕ,}uøLk|éÞ£ºeó±å|¾<·o¯l¤‚Ì4GŸýnæòwŽ?úií¡¡ËÏZøúk»‚#Û~çèÝyÇ÷PÀr7Fä¾;tëî½?„šXoŸ˜˜¹c ÇB¹™¢ WîØñhb§<;œôÏßW"Ô¬U*ðäål Õ>÷…}¾íj[²w`àSÁHÌ1«¯¾õSá½~R×5w}*÷æá:´;X©Ô'³¹üô½ÂcËeX9}k÷#"µ‚}eI¾úæ•ã¥íŸ¿wÁ‰¦:vìØå6bf®Ü¸ðàýwÄvì@œyÅqÁ=‡už“üg#Æö£A«gÞ™Òŵ»ïù½ö±Õ•õW¯B€JŸy¨µÔ›$z__ï6M÷¯]‹H?üæÎ£;~úAFíWǦûê=û¬ê¦#«þÀܙӿÔóû?u<±]¼ô‡Üo^jûí™Ë4³‹/é^ô}æ“3µú¡#·…#»^{õíŸ !îÿÌýЦ-,åtö•®$}àˆÎ%ƒ?3Žð[vj•¨Æ¾y5è:~k„@×PÑK§k‰ÒµÏ>¹£¾m _l9rä¶+—ÎÏÏ›¾@ µ­M×t`\ø|úÂüÌüìt¸) @<®ìÝk[ÄØ¡v­Z†Q×ÕJEI¸–$fÛP’5@|tI0Bhfjnaa¡R©(ªmjúÑÙss-íÑ@¸Ã²NœxsfrøØ@ø³·ÖRùÀðh}anöâų¦§vý‹km+kc-àS4åÔ¹Ó'^spp0ÞÀ¿ðýç&®\!çNßÿéG*{;[~|zy:´°Ðmn_ÌÐôÔäÉg¾»rá|½\Þ]«t)-3!„„¡k›×¯\»^.ŽÝzëjvé¼³Ë]37ZR Ã>ÉKWß~›ßwß}º"1È>í§?yýoÎç³”\œLöï-Ö c9Z²­hhÏ?÷ÒÜøX©Ê9<39÷N )åë‹;ÚÚ¬•e{ú§¯ßúROû*ÂW¦àõŸ¿ùò‰K<ÏfþìÛ÷îñžöNÈÚõî=ùî® W®M/}ë3>šÏfßZ¥Z œ¾4¸}püêkA~ùÜY¡öµÕID$û*¶4u}ô§Ï¿>“£Ë3ÙÏ,äÚãAËaW¨Ë+™öf¹\Îë·;vvaåt²£zñêS»ö®¥ó~ëµÌ2}ë­ä®}L®:ÈwæÂÙ©ˆežø7ÿ{ó¾½÷<ù»ÚT]¿’‘ÿ·ûÆkÎè+of³å»î¾ëÌèÔ»¡øÂÔ|d~ÑuìúÚ[¢¼væ¬ïØÇë.± ïÏ¿RyýL}6])ÿÙ7þôÃÛvÖËU=žÂƒ{_;ùÆ…ó—o¹%wÛí·­§Ó'€dYvøâ¥;j+¯é橳¬@$©ùL /¤ËÿÇ¿ûÓòÔDµLÏ}ý[÷›|ÿÎÝÉõR9täH©oß©Ÿ¾d×/Y6miiy;¿ä ƒÓçN¶¬®,IÖÕR6sñr¬'•¬ UsÈèøB&›]HW¹öâ‰s;ØÛ¶Ã꯾Vʤ~øámý—æß ÄV—Òá™iÀ…\z¡Zɽ{>¶gï^l—Þ|÷™ÿë?Í#lœ8ïüé×—†‡ÿà?üiǃO¿.d§ç}Ÿ¹uZ ¯._UUãÀ=±ãG¼Ú`Æ(w)"ìhsêÆËŠ Á‡¾€S©|TeŒeYãX–§ff;ÇÆàÀ@Íð'÷í?{úÔÁ}{¯_îHi•jÚ®,Èz˜2XÉæ«¦ÃerDDYÍdóW®\‡Žwu÷†>62$Å>pK×çÅ—~¶»ƒ/¯MŽÍ®ÜžhÍLL%šS%Ó>ñæ[haɤ´P5Ô¢"+3s 33ÓœÓ .µ¶vŒNÍFö¨[ÖÕ+Ã’¤ilêÀ ïÔés{Q|þJ¾ KòÚÚzºTR¼tþìgûtÀg lb!¦nŒ¬mÀíË—.îØ¾}jv&80P.¯\º ±3¿w›zñüéŸxLÕ …àÙ¹™™|®_BÔªKÑ4²J¤»§ã¾ögü\-Ÿ-e×KÅÂøÄ¸ âññññT*57uyoŸ´¾:“ù F˜S™+—.”!/³o½ù‰G5ºSW D–—V– ùµJ¥~áÂùÝ»wͬ®vÞzÛôòÒìÌl©TìM™uÓ>sæÜÑ;ŽË²äÔª×/]@àÔéS³v>ê:`ƒ%!†/CŒß¸1røð¡kc£MC»Ê¶•^Y)–J¬6;Ðî»qðØQÃïslóÆáØö%³¾V©¤¯\>zûÑ@À!ReyfltblD‘ÀµkWvìØ>55Eš[ !nŒŒü»4ylzòÆÎ];vïo–i[Ö©wßfù\жW†‡õ“'v ª’¦ƒ±m±·ÏžÉ®. Œ§&§dIšÍdZžœ›7ëõ«×†Òz¤LLO'TÅ-ä"±Ã#SSÏ=÷ýòÂüaM «Êììtk²K"DSôËçß,¤³ŽmŒŒÄ¢ÑÉùù–C‡Š¦516®ªjÒŸÅArùò•=G¦Ïžž{þ‡Ìï³5ݯ _C{´;F8åŽã‹E9‚§O¼Îi}jz²/Œ;Á ?Ÿ˜˜èíí½~õÂîd;ùéÙ¹¶þ~Ĩ&‘W_}åÌ~ØLéÚò²ýÓŸ|úáût­,ûŒÉ#ë+ õjñìÙ3Ÿu\ǶÁhú t]WQMÓõZõòøüc™7Ç oŽçON•OÎÖÞ™¯¿=[}g¶úÎ|ýÝ%çíÙê›c¹ãùWGó¯ßÈ\¿1æZ&þ°ã\–åX<>;2ÂëµæÖV¿ßoÈ’U*µµµišÖÖÝSgH$cmÕ|–S§)jÊ6Ÿ.q^ªÌzM0`•Jþ`°¹9qc|Å¢j< á`1°oo(‹‚•:¦Zƒšzå›ß`õÚÀ£ÛŽÄ‡T•»Ž]Ë™¦‘ Hµµ âX…BÑh$™ˆ»•²‚Q"™0 ½)¯Ö쎮.]S­B¸n±\&²¤¹NºMáp¥V-Wj\ A2•dM¥#M1ŸßHÄã´VSjii1 ÝhªY¼¥µH0N®8‚pmnn­RݱgO*™,Ë.œR$8—¢³ ™€ßç÷û“ɤ!3ÍD"aF2ÕZ­³@¸É ט–ɹ˜ rôÈÑP8”ÏåDD’×ΟÑÊ”Åz®ÚÞÞ®ëZ<­d3ñh4‰D"M*H=ÝV¥ZœœÐBAÀÙÉI×uC-ͺÏÈdÖë¦%áBÄšÂS³ÙD"®ëZks³S)Š£Ñ¨?­Û"ÚÔ$+*³- ãX|gŸCaWwWOOÏÞ]»ç=ÝÝ‚Ž¶6xéBafº÷ó_¼03[Éçö:DVWü”ú{ûV3k#ã W‡ mtåöc] ,…HôKO=ðÑh¬¥¥ehh¨»»BØÝÝSuœÃÒK¯¿ôó±B©¢û4M× Y©Vºï²ãܸzåì˜tꟺ§¹¬T•Ï=ö@8¨‚¡¶¶¶¡¡¡¾¾>I’:;;MÓ¼íÞ{ÑÚÚ¥g¾“óùÒꊚp,šN·9Z4Íñ‘맨3>šÊœž»üѦßýâ'B¡H(îìììïïïëë“e¹«« KÒàÎ!6~£¸¸”Ggfü¿Ï²äõtï‘£%Æf¦Æ.• N¸}õu\-Œ±ÁÛoÛûðý· [ZZÚÚÚ<‰Db±˜ß0´`ðØÑ£ÃßþfvnÖÜIü~€›Ë°\6Ô·Í|f>}i8ÍÞußžœÖ˹ïé/<$èèèhooßµkWSSSSSS2™$ï?|8 kg¾ùÍ«££]wÝÝÚÙ•¿vUãlÏÃPŸ®ƒšõÅÇvV˜±œU¾øäÃá æM×ÀÀÀöíÛeYîëë3Msèࡦrùü_þù’¦ËÛwîÛ¿?ŽQi|tèλúöî[žŸyw8gg¬÷Ò¡‡îw’ô÷îøì#‡lGôöötttìÙ³G–åææf_$¢B(_¹¤cÜõ¹§Î\»^-:»»ÁÚêÊÂ|ç‘[üáðëWÏNPemá¡]Ò$mkiëÿäƒÇÁ‰D²¹¹yÏž=­­­~¿¿£³“©M°ì«/C»×bq‚qs"‘½|2Ö{Û¹báúÕ+§aÜ\ô¯ªÇgÖÑ—Ÿ|¨µ%†¼uܶm!¤½½Rº}ï¾P¥<ö_þšv÷¤ƒ!£¦p¸4>æ7ôXÿ€iÖFÆçn,H…˃- Ùµî§Ÿº·RÊ—JEŸÏ/øÙ_"^¾•yqi5q.ªÕÀA$Ç%Ì»Z”ºÉåBÆ¥B×°®" ÀzÁm‰k—G Tä%Òønü¸”F~ŠÐèÂâýK’‹F“©T”ÜÙ3g¿ùWoÜØÞÕù“wN:C»o{øáP,^ ø‹ŠœŒÅâ©–Õ\†‚y½¿yúµ×¶ër,,ç3s’|a+‹%“IJ©DÇxq~ž;»«µ¥ÿËÿôÒüBz~~ßÞ½ÁD²—ŠÅd"ÑÔ[Í.8|)Öõoýõª| Ã8sLU‹º”õõõyysŸÏ7=7gÕjÙW^¦ËK¹T ŠÅ“±¨¬iÕXL^\lN&ƒÍ-´V7‹£ùõ¥ù×Ñù©|¥ZÌ¥{:S¦åvuuy]iš¶¼¼\v¶ºzýÙÿ:‘Íê»÷ J"Á[[®%c±`ýé`0¨…à ñÎd†vîLv$9n ¾Æû>ç/”–©'[¾ÿƒçî¼óî¡¡¡Í2ÉwOŸ>}ælG!+)JÇ—ŸÆ•J{2ÙÑÖˆT‰'È÷u7Ç»“ヒK¬>5ù㟂XÿÏ^y³^/tÄÛ˜@/^½6<6&†¯™ÕòîßÿhÚ)ǹýöÛkŽ£.̯z_OOËî]~_·Ö.R=Ú1 S5Çüîw¿{ëíwöõmsGQ”r¹üòë¯r¹èÜLÞ±÷~õ¬ÉÉîææ»vÙ®[mo3Ó;¶FÚ[4-öF¥ïÞŽ°=Z}~©n~öÙgŽ¿»··Ï3Oårùùý¨P¯ïîë»þÿOvnîÐW¾zßã'"Çu3ÍÍYËèï÷5…ìžžϸV—WÞ™}+=/½úšmW8$Ë2ç\Ó´££o¼ûnܬ;K‹±£·à–Ö!Ÿo°·Wh[ëªaôtw÷o¬&›®³ËKû¿úûSßúzuÊ—§èûó÷}"kr]WUÕåõõמ}vô;ß>²{÷Þßÿ[V ã<ô‰Ot÷ö‰[ZÅôôàà@SOg*ÞÝ|òµT§Üsx7ù󹵂ó½ïÿͽ÷ÜßÛ×ï¥E—ž8}úçÿ÷×ûªå}_ùª~èÈò…‹ï½·­£Ã¥4“LfMshh(˜ˆ„"ÝÉ7~¦§»>ñôÏŸþnùÄ)·–ÙðØæ:ž¿titz&P*ÎþüÅîãwwÝC÷îÚM5—CÁ…p؈'öîÝK ­±ÖŸœy©ûÁÃVÇÏÿÝÏ—#ÁýøÇÝm)I’„Ø(΀2ÎUUéßÖ㺮®@hTÝ™m3ÎkÞ—gk w©°]Ѩ€a6„÷—¹2->ËEB°/R…°îX}ñø“<¶í¯ÿçÿ $ 1ûÊËüÿ%ì=£#»îÏë…Ê9¢P¨BœºÑèÙŒ"EIL"eÉɲ¼ãÝ3{öìØgv×ã³Çã#˲F²Æ eQ¤˜»Ù¹ÑhäX…T U¨œ_w?ÙâÈÚ³ø†úPçÕ»÷¾ûî?ü~ôôÿþŸ{öÙh4zP*U<Ð’¤^VŠÅ³Í^756–3+4—Šû‹v£0wÛ-y÷ÝwIBƒ F"/”n^os8Žÿ¯ÿæpÜþàƒx<>11qêÔ©Üööª Ç4Dhcƒ0h÷¶ç¬Ðb&×a9vÒ¼ñ4´5×'–————k} ÃNŽ}÷Ûö—¾,šLk·oG büØ1‹Å²Èò[”ÖŽŒÚ푵E¤4í8Ôd{–øÇÛMN_O¿wwg-²­Õ{`ow»Å›×¬Mͺ³fž#1, -ŠkV»yròqŸ7¶EÅ]¹Êï–|¶Ö6]qcèСx&óÆok4A•Å9Ëô|åk ŒXž¹G‘¤Óéô××Ïîﯘ,øÊÊ3½½ ‘­XtŦєÒNTÍVóÙ³G ›Wïß»799U[*(I¡0dÚ\×A ó«²œHl¯­Us9›Ã Èl±¼CÒö…ÅS.×Vdƨn¤â,uªÏ·ç1›=-uÛSSS33³†ÕÊÑ4z}wS#ûñåÜA‚ïäaøÞ§Ïœ©V«ó¼˜E0ïÊÊðèð‰»RaÍUl8÷ÌÌ?Þ5x†û-û±p,–¨ñ1`†)Ú§Èx$ì½øÕ70{õc¶RQ¡¹½}5WX2šõ[ÛöC‡ªåŠRY"ùB8Ù µ¿ößÞ½{W…ád29::º¼¸XÔæîžµõu‹Í¾¶23ЕR«Ñ] #IE‘Μ9“ØÛ‰¬o`VëXêìî&1,®!™œÚÛÙ–eÙétzÜî‚Øû–VW}~ÿêêbG@‘ó+;e§¥±q»R¿ V§¦AQFŽŽÖõ¢8qæ _šœ_ØŒ„sù¼–¦Í&SœåœÃ#÷§¦Î_¼‡IeÇhÖ.-,p¨ ÀÐðˆLÑÓ“(ŽC¢,/вúÒ‹¦îÞ+?ûé^,–ÍdœN§ËéœßÚv §ÉžN IDATmÆãÅ|þáÃ9…ÛoñX¶DQ8ž¦¨cO>µ²‰íÇI’(Fipdn¦‚£-/¿ ÛlÓo½•Éæ–——{{{%IÚ­V­=½Ë‘HÿðÈòÂT³›ã ›Ñ¨ ÕYµ:íùóçÑÍ=ÇEIÒ[,Í>ïü·ÿ+Ë0­ò·¯^Í$‹ 3>>F30lhk_^]mim»wï~ÀÊìrY©sö Æ÷JCƒGоæ¹ù¥Ú/B’t.[ï›Ï>véòûï‡×Ö$U¥µ:NÍç݇¬Çb;{ ËjáxС޺z­åìB—êë¼÷]»µÀóŒÖ`¨d³ÒÜìãgNw|åk˜ÑTÉef¦§÷âqYQ>;ŽóËËí]]ëkAG¥R©Ü»;Iº?¯ðòc.D£Û[Û»†i´ºÌìt ˜ïüÓozÏœK<˜˜ˆ'“ûñ¸ÏëÕ£×l¶¹…¹Ö¶ÖÈR‡_È7ææ,EJ¢848¨9ä›|¸X#+ iç¹øÒÑÛ×óÇÿnoooêþýb±˜ÏåêëëwwwɦfUVæçæœÇÞöâ`+´~¸å5Aªj2éÏž=ÝXÙÜÜ|„ÓÆPe&—+H²ârZa .ï‹ó²(É(âuSŽ£Žr¢ @K#0,Ê”/«7и¨üÿðDK¥’Çuw7º\ó›ë­ããvƒ>:ŽP(´ôÖ[Çh4ReÒéVWW‡‡‡Íf³Ç[·¼6¹uu[F D””R©d6›õ†z‰ç’·nˆ…|ãŸþ™ÖWÇ‹Z½Þëõܹ}»·¯Ÿ¦iŸßON$â½6›Õãñݽ{/ØÖfÑk…RLç V*eA@MÔd³Ù8IªrœÄ²EÕÕ?øõ¯-«Ïç³X,ÙÝØ?vÌf³¹ÝžÅ¥‡Ãîó¸7¥,ŽkŠÅ’RÉ744À0Œã¸Á +W„åD46IpZ-ùtšçXŸß¯Óétµ½±ÑÔÜŒb˜Ûí–U,[æ¹=™ YïñæJÅj._WW‡`­Ó'îÜŠ-/5=ý9×ð¨Ê±.‡ãέ[Šº\. ü.×z$ …t:]}}]8Î3J·Ê© ¦!ç yÇëëëŠtÚ½÷ÞYð`àß4C\¡`·Ùf¦§ëêê ƒ¢(šÞßÞ¡iªÎ_?55ew;nWxƒ…!$‘8`Öçó)Šâol+•þúÿ„ ù³ÿÇ_ã6›öÆé­­öÎN‚$‡†“»»§NÑZº¾¾~qqÉæöZ,…Û@cµZe‹>ŸOQU›ÇS ¯=|ë7Ž#cÁÇ.©¢èq»«år±P¸pæŒÕn·SSS6»¨T$Íf Ç“ªe©\•U–ÔPc¨R.BR¼7aÖé g/eYW*R´ÖWWwûÖ-“ÉôÙq;zT¯×»Ýž‡gEmiiÞ(‚¡(*Šâ½û÷q’¬¦’êN´¢¨Ks /µwZM&Çs÷Î:¿ßãó!0 IÒÁÁÁ‰“'µZ­Ûã]Z^¥Œ†:]ºº¤³è÷b±û½.*(Žã·›‹ïð‹Ÿ;Üî—_þ2‚ šÖ“äL8|äØ1§ÓÉó|éöm‚üGÇ(в;ÜÓÓÓ¾`½ÍaÙ8ŽiÖ766×ÖhZû¨ ð“RJ†åìNOß¿¶4+¼¨±Í¤¸*ÇS8ÒÖà 5X¾ÄjpвB-q¼ UXa'Q@áø¿³yôZ2Sdÿ`†c:JGj4F£†‘oÿÝßeÓéÊî.ÝÅm¶£cc¯~å+ããã ¿øÙ™ñ£u¡W*=þÄCÃÃ5\Îèè¨ÁhÌò¼«RUeY… QS©Ôßüç¿ÛÇtªæóÃçÎèô*ÇÉŠ¢3™Æc~ðì“OR:ÏëýüóÏ—Ëe¿ßOĹ³g-N§ÂóÜÔTa—3Œõú›W?þá~¬ÕjÝn7 ÃÁ¦¦¯}å+¨VÇîEëÇNÚ‚'Gz[šC’¬>ýôÓ…B¡®®ÇñcÇŽPBÓ ¾“¹ŠØ,†~ÿŸ83·lµÙD¶Øjd´×»[ê+FM46¶Ð”¯©qptTbÙ'Ÿ|2›ÍºÝnžç»º:yE)óæÝíèíÈcü¬‚Vÿæ?ýUµÂhM¦äö6–Ïýåßþmpüx¥'hºÙåj‚Aï…󇺙ré©§žJ&“V«†áþþƒÍž~¨LOùÝ& $@úù/~qýúM»Ë ç²p¥Âê âꪯ¹Yk4¶Y-»¤æñçž³ÚíL¥òüóÏ Ç£ªêÙ³gí.Š£ÐöÖæõ¥öWþ$º»ý¿ÿn"q`q¹í½q7šÌfÏ~ó[¯O湑®ÎÔ݉g{Œ6ìŠò¥^¨T>‰ß\ºtÉévëlNM©›ºµœ×éõÿô?onSzŸ:prB¼0‚a,χZZÚT–ú»»)½þôéÓíííN§“¦i“Étñâ…Èîî@ °ù“ï0i/€UœÖÍÌÞÿþ÷¾›ÞX×Ápשӥï~×mµ~ýê2ÛººÚ´t«ËÙÔÖ¦ˆâ£qôöö–+›í_ÿõ}_[PQ­ù|þý?4kéøÒRÿø±h©¸üî{—Îk ›ƒÁ.½ö䨑º@@dÙç>ÿy†aêêêU=zü¸Œ ¸Ómm¬­Ò——%ñò•+›[1ÑØßÔ”_^¼ŽœxîyEQTžwøê,•ò°ÛùÊW¿ªQÕÆÆÆ/½ð õ »pá.±‘ØÓ‘$õÙ¾SôÕW^äÉívf2éýý=›ÕR©TucÐçìn0÷­n¢›§qÈL£$lzÜBc>+5Ðdë Ùšl£í.‹I'ˆÒ#°@-ŒS†×°Ù™¹™‹3seY)« »»»5”£Û=Ã#=‡ÛíöÆ–E£ïþvé ÉSZÇM&S­?yww÷þÌL<&fV´º¬ÇȨl¹@@©‘#ǾðÅ/†"D“'¿ô'ñXÌ`0:”ËEÞ{g]×Q”ÑhDD’¤hôÚ‡î¼ù¯˜,³Ý‡ª¸½œËTóZ­ök_ûÚèèèððð‰'4ÍÞþ¾»©YJÅ ©ÒXYžÔ€‚Ng4 µ¹··w{bBåX4¶wãöm¸¥OAI±´cµÿüÏ¿Õ~h$‡ µýâY*H*J$ A‰‡Ss33%‚4дÉdÂ5Yéôå«WW~þÓôüœ:0 ¼]•Ô6_‰ ¿ö?Õm¬÷t¿òýuzggww×h4´¶’J2[›ëÉT¼Êèµ´ÉdÒh4ª¢¤‹ÅßúÍä÷¾Û;4̶µn%²©¤€©ÙôÁÖ‰“§^yõ5åÁÝsÏ>wþµ?ò˜M>ŸÏétA(ZÚÛ­îî,'SeQ4 µ›/ËòúúúƒùùÔ½»‘_¿Áµ´ã]cËÈÕñã'¾üâ‹T$Ü×Ò|ôO¿it¹(5›LŽ ¹\üþÝ…xB¡(ƒVûèÎ///O--AñýÈ뿈ªŠáÈ…b‘­f×zzÏ;NÎ<|î›vü¥/[M&NG$‚ |"~ûêÇe\£7™LF#†a‰ƒƒÉùùÙ7œëáÝDBÎ*Vµšb ÚøÕ—^òe ¯ïÔ3Ÿóy¼.—3 jH µ²|÷þ}ÕdÒëõµqTe'½vó&›ÉÌΊ…†#gÌv“Ee+•'B²ôÌ·þ¼kpHK‘$IFJ«C9nýÖ͹Í-H«3èt5¢ŠkÂós?ûÛ¿­„×Èt*îtaƒ™t…™¦`Ý_üÇ¿ $bÝu¾¯ÿðÇÃ==u^/MÓ(‚ 4]|8¹½¾~@QB¥b¶Xhš†a¸\.¯­­ÝºsG_.Åo\Û·Ù À¡b:ï6Ë:-… (ESÀüæC ‚aUU‚ê!R*ʲ߈¶j0YQ? SÀPTa E ’d¹ZÎÊCo¦(rusŸSW*Ä’ Å|.ÔÒÒÐÒ‚ÏLµž;«º=S÷ï_½zµ¿»Ûm±´:³Y.Ý»wÏf³Õh5Éd’2[νöñGØSõ-™ô´ ˆ]#›ÛÑ••±R¡õ†'îÜa*•¡¡¡A»ƒçØ–@À~æÌêv4ŸLšL& Ãxž/Š^,P„~üI`0@‰tŠÏ†B]ÛÛÛ+++úÚ¶XÜX_Og²åbшaŠ"ºýMn'N=d˜I£ÉT»°½]Zí­w.{Μ kK‹NG£,Ë««Ë Qr}“ýú›d6úî­%‡ÓyáâEš¢zݱ¾¾’$]¿qÃçóa( aØ~"ÿÝ:F^zÕÔÖŽ®nÈ’ µìîìlml–F‘j©4??ŸËç ùü‘'€Ìfó§ú#,wçöí@CŠÀImÌÎ.üðŸ.}îs¾'Ÿž_[s)¯aËjtZÍÎé造¬¬0‚ I¢$Iáp˜$ÉžÁAYV ㋱ØÍ›7=‚ ‚ $‹%xoÇšˆ§›Ú޾üêòR¸˜‰õôö³‚xýÝwË;Ñ–'Ÿv†BÑ7¦¶¶$Q<|t\’¥æúúö¡‘Ìþ~íH²l²X´Š77]Ðàc_ý“}6»ÝÑ6\bªÓSS¥*,ÖB©¸09Y*•$I•Å@hÆ‚ –}8=½¡ÓQ%Ér¡Ê”w£m¥‚¡Îï$Ù…f“ûûg,•^”¥ÃÀ,›ËçË•r6“‰D"½ýý‚øŒÆÁz2•âÆüé”H&–uc}.r8•ϧ%FÌ嬬LÆ™DB™Ÿ‡túØÎŽã·nÝzÂfÃÚ¨·“ttw·˜Ë™-‚¢’áµ¥«W›z{/=óÌûW¯†ìQ‹ñE¯§Ýl4¼þúëìæ€áP*µµ±±¹µÝÙ9sê†á<ÇŸ>uîéYŸe8N«ÕÂ0Ì0Ì~<~xt”ÜÙþ)/Œ½¸ŸÌÉé¨År²¡¡>Ý|ÔÜŽAÔLŸéRE”$‡Ã.IÒ½¹¹|>WÞÕ’W5à-EQ5ÐVíóZbZUÕÇ·¶´þ^ï}MôŠa8$€õÍMW[[,Ÿw9‘ÈÃT‹¥Âô4îñ665­„Ã$†!f·ÛGΞ»{õêÊÊ Š¢E8qÂj̯,'3·¢8‘JD­6k±XÎe³,Ç©¹œk«« €n÷öövÏÈ #¼ ´··u>v:Ét:—Þ·™M;;;•J%•J•J%“Í^\ÄQ¤¹¥9· e’¶ ×Þï N=œ‹DÖ!r:ì==‹«álÎÜ?Èð‚$î´ØÎN´¹)xsbq7oï ¸¸»™È×"k«¥RÙd0ˆ’ìt¹ûÒ—Â [[[‚¬ªêϦÛÚÛ¸ÎC²Íž_…IQÛÛÛLµšˆïgËe­¢,®¬:]ƒÑ¸¸¸Ø72Šá˜$‰f‹åó—Ææ§&WVWEE¡!€--¼üÚkm/y!ÖDd'¢%!ž-í³e€½ÝÝ"ϧr¹âì¬Áh,..ö C$ˆB{CCÇÑ£Swïnoo‹’hlì3 yâü^Qó™´PN—‹) –e'ÜDŽeåµ5 MS4‰DÆOžTUU”¤®¶¶áæÖ·nF"UUÛÚÇmÖý÷ÞÁZÛë=>ƒÞß^G!±XÌ*Õbò@„B¡X^.”J¯woo¯»§Gk0°g4™.¾ðÂV<>÷ð¡$If‡£Õéˆ?¸kji±œ» Åã±­­r>nµ¶vvIJÉR¦P@·““$EB¡H$ÒØÜl·Û9Ž_~yòÞ½Õ•ENçÀÀ@ã¡î‰å%‘tVklw‡çùº:µT:ÈçrÅ’9™2ºŽ å2† ŠBÌ BçÀÿÄÉÛ׮ŒÉÜÆFñƵK¯¾ÖÿÒËŽ“ ‹<Ë– y T ùœÇå¾|ë¶½T‚a8¼ºzpp`s8¶¶¶Æ¶"pMM:ÐÝ#‹³ss¹\Ã0ÇóÄ“OL¦õèeµsÇ–³²XÞØÜln}Mc‚P©TYc§£\ÊAÊÊ¿úõ; Ã’$Q+Hðz½&“‰$I†#‘H¥R©–†¥(ò‰'Ÿ²Ú¬™tú÷û`˜çy3†ê‹+‡Ý#ˆÇívÑÔFdÍ •(znrÒâtC¡ QÄP´Ê0µ‡(Š?ûÙÏÿüç}(jÑë1aE¡­½S’$Nkw8Nž>­,̧W–Mƒƒ¿ùfê >~éq’$!Hƒk¦fgoß¾£ÕR¤Ý,3ù·îëÙ´ñø‰d" ¸¹¥-™L†ÍÍÍÓ§N…ššâ ÜkY³%[*w `ï¤âq`”V;77ñÛßþÖd2U\]^¨»Ó÷üÅá™Ù¦Â8ŽÝݯ×ÇTòO<õìÜ®m j5¦–?þAŽ¢;»»Íf€ !‚ R©$ˆ¢Ö`È,ί_þèÈ—_9á­_þÒl6étZY–,k:™|ösŸ»¿Dg1¿óÛ·ômC££Z­Vªy±„çù‰‰‰l±ˆ"èÖƒûvŠ?{^£7˜õú…™™†††T*i·;xž§húK_ø‚áîmwSãÖöæÃZ›`FQ… Ã2™Ì½»wQ ƒ1lgiéã7ÿµ÷ÄÉc§Î,¿ÿžÞlv8Ýzƒ‰çy­N÷ÕW^áïßk?}:£ªïþ臤ÝÑ;2RƒÅÕàÌ,Ç.,,äóy‚¦Ã óKk+ëÛÛOüÅÿbV”T, 5–J%«Õ¦bšÑÎÎ|21xøg·ÿöÇ?ÞŸ:yŠ¢i†q G”cÙÅÅ¥x<®¡h‚®]¹|壿ùè VUUmjnM¥RÁPhgÿôøx^• Á¦·ïòo¬íDGN®=­´X*MLLDÂẺ:†EžŸŽD:p¬š<`8þèÑqI’œ^ïh_oL‘;Nœ Ýî›ï¼ÛÚ:|þœÑl. µzAcûñµ…ùJt›´Ú$ùÆù»‘¡A Ç%öùêA´ÙìétêÕ¯~UxïÀ¡ñc¹Xls³½­M«ÓÁ„aŽá‰DâÍ7ßL¥ÓF£±½½ðýïÿñ'Ÿ$P´z qÜë¯Wµ­­­†¶~IJúý~à‡S÷DI,W*år‚ †ù„0æõzëëëc±˜ÑhÅ%žç­RŽã8Žû·¬ €¢*.—Ó¤˜³AR©tøøq/MçI¢¥¹¹#{ï¿Û3uî¼ñPWëá#›wn.år¸Þ ÂÚÚZßÀ€ÙdÚ*—K•r_k[#XYêQa?y°žJ—«ÕðÚÚëׂ ÞéÅÝ|•öùûúpŠÇãù\ŽçùX,ÖÙÙ©·Z·æð=o[[h`":›ÙœŸW{¶².9ؾråc—ÓÆ2•ðžÔЦùûÿò¹Ž63Ž¢·nßY__WU5N×ûÝv»Mˆ°UF•ÞQ)›»ºzΟ§Q4›N‡÷bF›µO–ïLL¼ñ«_a’dR•‹/¾”„`«VÛÔØ8;;+‚¢(‚ööö ŠÊ ‚k„[7;½Þ¦K—¼ŠÀ©td?nÈçí04q÷î^4ZM%cÙÜÓ/½¬µX€$z<dz³³ÃqÏ .—«££³X­ TKe°¾>üØ%ïðˆÓh!žL­ïÇ›9Ž wß}·¡µuw~NÜÞ¸x‘ìé²424tëöí|>¯Óéöb±áa¯^7],ðªbÂ5¾r)tâDG¿,Iû‰ƒH<*—ufËý{÷¢{{ZƒA„ƒ­­y³µR* ôõ]¾r¥R© (º¾¾Þ30èpÚ#”)B½uÞ­­–P )Aà·cûûɤ¿Tœ™~873c±Ù@$lt»¡®žíÝsÔÚÚzóæÍýý}Ab{{‡‘$ÉT«p¥Ò„p4«È]:.ŸÍFv÷4dÌd–––îܾ Ãápc0Ø>4l´ÙÛ½RU £°¬Édê;|X\T9–aY }­-.§Å_Áp6—[ßÙL#ŠÞ»;ñáÏîöûMMÍÂÜP·Óñøã_¾|9£(šJ¥ì6[[kÛÝ_ÿª&XÉeõöÐz}¡XÜN&I’Âò9I’r¹Ã0‰DÂï÷WªÕÄArÀW¤È­ùyÙbQ%•JA@ªy>a;þ^?°Íf6è ^»ûÐ!–c5ŸÒkqË岊¢0Lµ¹¹‰a˜ÚŠå8ž 4&£ñÒUy^0šÜÇ»ŽÇ÷"ŠŠbf·Û6[öà o0T«£éHKËn$2¹µÍJÒÂÒÒ®¢666jµÚr¹l·ÛƒÁ [)—±ûkRý›¿ÆÖá—^ÑšLª†ššjØë J‹ÀƒÁ°÷Þ~{gvVàò•+¼ ü‡ÿð?Ç2p^Sx¶EsúpÇ`Gƒ-­Ù\.N“$©(Jcc£ÙlÞþð}PÎcÃ#óá ýFX^˜—ê㸦˜N­.1!ñÍo~½1üï¿Ýutë_yÌÒsùb ©"©t*MQ¤ªª-M Ù¼¬È’¢’*I4F£iunöÆõëÅL†S•_ýêW¹l¶¿·wwa^$«Ï×ÛÝ]Èç{zzhšæ8Ã0ǃ *PU` 2¹\`d´³½=ߟ|øpúúuˆcæç÷DéÅ_ÌÏÎ$ãqÿñÍÍ@Q–Å1ìðáÃN§³6|f³9 ª(ªJ², ˜^hjr×ùÓ±½»““áé Ï]ýø åpýÕ_ÿgv7º˜>hzåW_?‰ã8‚457‹’T­V1 £iº®¡¡²¹YÃ&Ê’h$·Ã¡ªàÖÍËw朗tóæ-Ê»ùgÿþß§·¶–?üÀsxÔÝ?Ìf›B!×{êÔ©t:]Ã7C±Ý(èéÜNx8ÞHQ­Nƒá•JåÊåË»«+8Ç]»vÝãõ>óì³3ÿòcù¦§?—ÏfµU*—ƒÁ AÙl–¢(Y–Ûºº”r±Š¢„†Q‹ ”͆k4±XìòGeâûz ‘¿yó™gžù«¿üËšH–$ƒÙL¢hk,–]Y¢ŸDíöÆ@Àî«Û ¯OjžË ÏëeyifæîG—åju}}=ÿö[/\&¶#cž!•c ƒßï7™LCCC>ŸÇqE;C5¹‘¬-­õØmz­n/»}ÿ~2•""sïþ©S§¾õç^Ûp×ëõ8AèÜîó"KKuGÇ´+‰aª"–KùGKì÷û)’Däèø‰ÓçždùS|Ìsœ¢ÈŽ«ªŠãìS> T³E[*ÿ`¥$IN‡3XïH¦ò:N§Ó‰¢TxÞãÞ+ÝËÂÚjÁj¯I66©4Má8ÃçÏŸ¯•jp÷àÁƒH8|ésÏöýá_þ"¤¥=ƒƒËò¢(Šâ#F¡ Ë ÕbÑêõf‚E›êË,´Wô9|î”qscãáüj½Ïï1[L(jóxj¬êþ¾Ä²„Ê$clU೩º¶vç‘£‘°×lOe£4f²Ù|N»¡ƒ˜ÑôÊ1[_£üÓ_¼IÓú‘¾^»Éd÷zj1?¸˜æ*+c ׎*étjòÁ¤ÇãaëêQÕ–ŽŸÝ¾‹àOÏÓ IDAT!ÚP£ÏïŸ_X˜œœ…•YQs,S±ÛYI–ŠbØôôÃl&S×Ô)`šB€¤Ñ_Ç[-Ç+.÷v4ŽD<^oCCC0¬9Jžç©„[Œ*«@†á;wØC¡ ÛµZ»Û­7™œ0lñÕu =¼zu-Dqdd$ ÖÚ* F`õ@d#ò B ˪0¤Â0Ã0w'&l [àyÞ¡×¢¨Ùl®EÈo\¿ÎÉrßÈ(}ùCíæF×—_åE‘eAj¾¯$Él.;7=ãW³Ôj-‹›-`·ù›šZFF¢k«“““årðZްÓåXVQÕš¸©&€`8“Í®lGi§B ô×ûÙrYQ‡Ãáóù8Ž›˜˜(‹‡·vv967úÚÛuu~X’¶7× ùìïð§Ñ&ÔžöTe˜r1j5Ñ5Ú9 ÔÀ…˜¤*PEµO`†Q i½Ýj¥(âߪú`DAKâ6›MQ–e Šát’³9µvŠ$6·¶Zš[q¯è Z¡´²²ÂqA¢(îìîÚIÜ»;ÚÙ©Ñë ©”‘a$–E0 AQˆ `†TÕà[Ûun÷z4ÊY¬ Ïî÷îËš©]3;ã˜[\oh †çf ½o¥Hõý@$¦Që¬îtÃVö…/œ±·´ryu}#ßóXȤ½g/¶÷“¸×ÛÙ@ðæ›7ËN—'™8øõßþ߃»DLg˜"N‘ ]- ””Vá˜_’¦j±˜Q»cww÷Ù¼߸qÃP® ’O$`-•Ës³³¡P¨R©Ô*U ŠË粤ÕVS®Õ¶S‘çK8njlÚÏfCÁàƒS±©v‡=ñá‡(އšš6××u:ÝÑ£GK¥‚ (ŠU+ÅÝDb‡Ç|‡Ç¶?úEQE–!b*Ìd2…š’Ù¬ËáxûÍ7ùÕ&‘€¯| «JkgçÌì¬ÕlÖëõÕjµv†eXŽ÷ú² c—eAQ-—Ê@Q`’䌦l©<ÞuèõŸÿÜo4æ÷ãºýxr;ª3QÜÜÚ:DÓ5#A»½ÁŸßÔu¢*J­ÓµX(Ò„Öé³0â‘e-Mÿ{ß³$„ jgçVÖÖì.W4­u5², Ðà0kf7`‘°êL†” aE–Ë¥åp`6ûÖúz»V›I§ß{÷Ý‘‘I’PÁ5®Z]ÝÛ;rdlíƒ÷ÒÛÛ†@Ç5 ËJ‡Q†T *Š*Kb¾¢š›…bÈlY]]Ÿ™í·$Yáø`(´½µCйóçK¥Ò'N&&p¢†`&âàà€åX§Å2+ˆ« ’å••›ÍæóùX–Íær:½~q~þÕ¢Àp¹R…ªUT–UytZ…¡OK)«U¦Xª`¸†åE!n2i,M‰"Æ FPÁ   È"‹  U•̪nèþ RoUÄò¿eÃ\“ŠÒ'¶AQqÒÈb}—C•ö´$)Ê2Žãf£Ñd2Õª/\¸€ã8†a,Ëîmmá4UoiTD‘‘d#A Ÿ‚mU°f5 ¨Eò¹‰¡¼$Ñ8nÒjM# ©õÁkàÔÉ^ÜkS¶£‰|:­3›[úzZ­RÛ3X¯Åv÷¹_½_2A‰¶Ôjü£f“ÃÉrµ÷x½¥R‘¢u «¯¥ûüyÿéA샫S™t†¡Öã'B¡ ˤ‘eåÍp4œü‚ýÀn~>ÓÔØÈµ®Óé(’´[mªªê †sgÏÈwnYZZŠV[xqȲÉbù” «ŠRâøÝkתùBèâ¥õß¾ Á A@U%Q´˜ÍǹìvQu6Y(§ ýCC«‹‹‰¨N¯7™L²$Õ€ z¾¹U¸o>ÔÙé?uãX¡R†`˜ÀñÚ 6›LL•±šÍ¢(UœÎ«¥¥£}yiigiÉ`4èL&E–kÌc©:£ó ÂõÑJÌ«ªZ+¯GÄh4Òa1›Y–ïr9wÒ¨ò…øÖ–T,èzzPFaÙOÀÎŒ ˜´(¦áß !Â5‚õz­V+IÒãO> >þÈXßp¨¯oñÁýôÞžÞb©‰~€p Fø­[ÅÕ(úÂÅ'üN FQE–kÝ­VKS”ÍbAD§Ó=û쳃ƒƒ<Ïoln./,Hg¤hAІÃ5ÅLfyÙèóë<^U–€EXE·Ó™N§=.—€ßï747³ M\¹ßÛÃQÔbµ>G‚žß{ð€•$wk«"Š ×:µÍÃfµÖüaƒapp0 á8>¿°:8àªU¯ß_³æþA5¨9ây!Ð:zt\†åh\Àùu-”1’‚êmî>n·êM´ì°]N{}°ÅWßàt˜M´„1+„¥4‚j ÿQÿ à Y: y|ÿ ƒT¢£©)»µ™H§z½$ŠÅb±»»Ûf³éõzŠÖŽ;FÅcD<>:v¦ðMçaDä8ø±/ŸÁ¡‚Û»¿½Ýpò4›Jiçs/kµ®P#¤Õ‘vûèÉS”ÑnôÔÕ5´<ù ݣ£ç¾ð…þgŸk¸p1ôØ¥æKw^<Ggéñ§zX¥œM¬®Íÿø‡(6tvªƫޤW€úpÇ #mG¿ñµqæÊÂOÁ°ªÈAL‹ßïÅb<Ç9ŽÍÍM·Û3<<¢(ŠÁ`è ö÷],sää)–eaÆq…åå¹É‰ÙYÓ¹ £Ç˜t F‚ì~¿¯©IÆqU£1¹Ý8ú]hÄÞlìê:vö,7?@®ÁA^–q‚0ð½¤x{Mgq5·ötLFT«µwtí\»ÊV«îúzƒÅRå8IU44à¸ßãE}n©µÃ5ÇNŸ¡Þ±ÓÁ°‚ãd8ªÒOQ9DÐNQd ƒ‚ìÇb½Ah4züÄ »ÕJ㎠ÇOž:ÔÝíâ8æÞ]Y‚x4ªb°¤ª2ŸòãÚÒÜR.—Óé´Ãn/—Ë,à t÷À `2á86>8 MO twÛÝnY–q ÂPø­[ÌÒ–ðü}“ŸV!´&E¨$“A´´w$‰r©äv¹ööö´ZíØØ†aF£±»¯¯Éã©#‰cGçd>i0²†d.¼8„aË‘1€OhÊŠBQ”ÃédY¶Z­â8.ˆ¢ÏçkpØ õ8Ãý}ZAèjj:ÔÓòlmŠâœJìüæWoHM-­?)–Ë0‚ð<_WWWç«[]]5èõŠîïïP(d0ééïow»¼4542"Cƒ 0‚Âà¬aô˯¼(JŠÁ /—Ëù|@ P(h¤„FÚWQ­¬Â*Œ#c9·# ‚$Ë¢ÀÄYxQà$I ç”Á2÷;Å Œ„·vvW4¥UU¹Ù+*Tã k0¸Â¨‹[BÀ û,8Ц âîè$PÔétöööʲ,Š¢¢(8Išpœ½#ˆ8fßHf\^‡Çë#)’ÔÀ[q~f«T°»VOga2eîÜ.¬,nNLT–RÓéd áð•pZ¹V˜¼œ_ZA÷c•¥Å;·cwâ·Ó×ÂËñ×oHÅ¿9ŒÜ£ :NPÄr…/—…äÇéŠÌÍá•Ä1ËIo¹ ?ãß³T,¼#fÓ£d¹Ûc÷£L¶ðë;Òâ½µK=¿WuÖ赫 ËUå+ÿàÇç;ˆÅp¦ÊéêêL§SÑT è ¾Æ&$–Ü#Mfcc†ZM¯‹s‘jO¯¿©§Û`¶w¢éù¹b¾Òi9±?å –Ë²‘yXÛ4µa7Ö«)nw·ݱS¤¸·«À°Öb„rxüô£ŠE#>sÂg ®X0‡BÉé‡É¥ÅÖ‘QHQ’{{6“I„žÎN›Ž oe9¤Á®qÛmmƒC•õõÝ[·l:Á0šÆ+ŒòÁCÕæÐ[äJq÷ÖmÒéêú$ˆe4òù|©˜s8½Ö¬·ëFEƒ U”]¨¥fÙ HUeBP!Ä#*€0s=¤°Ÿ•qdê j,Vê_>È(*ta„bHù´céÓГê;u¦_·nvy½žáa‘çyŽŒ(€ à gO«ÅäÛ?®§zm"Jd¦D "À¾w&!§X¶!i ÚÚÜÂh­®±Ñ0ù`Èj`@0’MG3÷ªdjg’vE„Bjº)ÁÐ@Bu\/>O~ ŸÌÌpEgÞã…!Xâ9¦TfŽ:Ì2Syȶ#DÃ)b‚ˆ–Ö×Ñšºf*Ç`E`Ø ¶§LzNæá vaFÀõßÑñÔÌŒF¯?˜šœÁ°î/¿öäsÏ©’TsȲÝ W º€$Qh8¡šËÍü·ïÊÕ¼¨ÿýUìÊf$ ?ä'ϬGüÇŽó…üÎÕ+Iá8~Ôç¡Pq§ê¹³nñâKè¦÷£{(ŽU% Æø­k¹;íB WÅ1kzª­ngí§Q† ¨²‚j4æP#“JN~çÛ´^ß…ã Ÿ… P¼~UPË»åÆç(|0ù¾ŠÑÚºc'’³33ÿmsS“–T­åz®uo~í‰æäfÙblëœ9·óñe­ÃÙ:8ÔÒÜ\›¢(B²Ày¤ Šêd ªºúúÞ÷ÙïþÃÒ~ØõÚW0’„ ñÑqK‘D½×»{õãäÜ,}î|ÿððpmÏWEä+‰r½Å€º†ƒLZ üÖ–ßeW$ä­›ÕÚêmªÃ«PUÁ°,Ö¶öŽ^šÿ§ï˲|ú¾†ÂˆÈ25§ 5Qž¬ª&Ç â›o4Š÷Òi{Õ¿qC¨··õvav‹ù“øÓ'YÞb±<÷ÜsŸaxyy é=´_­òyeE‘EUU†t4ºŸQ~y•ñÚ=N5S!â' +–e‰Â°ãÇ×ü¸µ«’e™ UQTE•e'ájUZÞWQÀªÇqÿ½÷\ì‘ÏÅår!"Ë2ËV#ùÀdWú³ÊGz†ko>5¯„,ËØÁæà€$ÈÏöK dèÂ(]a´oߪb(t¢â?k›†a (²Â7\|L–¤Éï}·£\vö÷«¢ÔOüå°ÄÞmyrýöTGa¶žªŠ‘D·2ø}€Öi2=†¿G%€€F«s>òÉ„a¥&÷Í ï¨;4àÒ4 *à A*Z:ÈCi´*FïÓæ~^„Ž“†4[0+íD•Bê@VÖŒ§6Ù°ð¯¸&U°ÿ¡R(2ŒÏ/”3Gä7x¼²ÊH=m· …¼{p(9;ƒâøîõk(Ž·>÷< E’0 "1¨ |[ylhÈIâ$Ëm_|AkÒÜøè£[Ùiu «r½ŽK®¬i$@  ‚¢¤É¤È² C°R0ÖIlÜo÷©Ó£dœR9ÞÞÑ©ÊJzfR£0sUû5É€?£gò+Œ¨~E0LïõJ,Ap>Ϊ*ŒüNcÅ*©©â¶ƒØ4f´"$]Mý2pæ,_,æçH(}«rHÑíœs„áTvk[!V:_|I•Äåÿþ#†œÝ=€ça&4ˆ á« (!CÁZhA$†1ýßü³™ï|û“5¬%¨Ö*ÃZÛÚ§Ïl¼ýNÓ¾#cL©T©²é‚4‘˜Wh/tññÍ7_7˜uŠqäÕK怮°*†¡I’¤ VÊŽC==_ýã…þþôÔŽ—^Xö3Ö(XG¨™øÑuÄÖ/üÅÙ‚úÆå\ƒ ýÂÙf½eX±fª #pm¶ ’Tû CI’ÎòŽ&‡Ð ¢ ¢($žU~ñ1çs _:k(äsápÊçó™¬V€ ¼ T©ŠªÈ˲óóó;;;8Ž+Š‚¢hKKK÷à Èå’tåÈÆã}°Ñ¨½{÷®Ëå¢Iüw¶£Z¸ö_M‹Xó'ûË‹ó‚ (Š"ˆ €ª(0‚ 0ü(~H’$€ã8EÇÇÒ´VQäß‹?‹2`8õ±Ã´,ƒ‰yÎïÄ<Øï…¹€$Ë€ozêiŒ$ôOÊû.JµŽªDÙÄ-"ýý÷<Ò|tK£A•Z7MŸµWo7¨÷öUX(òH.¥T@ŠP0?‹7ÌêκK׊«  ®ãT‰£ìs†‹hñ£.åÖ>D¶46êüŽË<‡h4Þ®Vi¿“ªÛÝ…o‰¹YMYnÆQòw+ª‚äÓR’Oµ­è;+:MŠ„$Jl&­¬.»ÒóóÇï߇ÐŒ@4€ß×´\^Ñ6¨ÈZl} ˆÐ`€ÄÀ–÷‰[³è©úÅawµRÑ(1¸¶ðp­‡©T“xû=¦!€ÇŽ2|Õ®@…¡b¥¿ß7<äjò/F¡‡º³ýúì(Ã%ù—²Œà¾·w‚äÓ³ŒÙ€²®ƒbŒŽ†nIDVPe9úÑ…JuWUõôaኦ*32†¸Ä0+?ûiÇ‹/C´ü“Á_~ÍÚÖJU^…~y£²›°~éég].#‚ã™çÍMMýßúŸf¾ý_—~ôÃᯣ( 5£ÁÁ‹U]ùÙOaöŽ‰Õª*I0ÉŠŠÁ ‘Ó (ÞñùÏíðÿñAµÓú…3t{H[aTUå?mª¥¢£»§ûþxáŸAPÇK¯à4-±lmõµH&ÍüËCLЯ¶oìdðföhþì =r¹"ÂþX(•UUEp\‘¤Og¸jw8¶²r_¯Õ Ã“Ã:(ÿÏOV¹ÒÆ·þò©l&uíÆD©TìèèxìÒ¥·¯__ÛÛ«?†!0„ã7n܇Ãn·»R©$¹··F‡G‡éºÖýd ¤¾öùÿ—¯÷ ëºÎ…÷Þ§OA ,`»ØDõjY’íH¶·¸$×ν~n’ë/Ÿ¿ä~±“ëX.’%E–du‰¢XÄÞADÑ;0(ƒéíô³ï¡hÉ’=?žsfÎÚk­÷]ë}˃>Kÿo¼±wÏîÍ›ÖrhŠü,uË0Œ¦•XÊétÑ4ŲìÇìŸJ‘¤¢¨…BžaX‡ÃN’dWww*™t:]:½î³T0„@VÄ ¾œ““µ²„ú´í!jŠ¢ Á» >!¶‚HH‘€¥áÅîBÿwß’×£yþ!½Ž™.\;7…ö„ëòÉݢğô‚4èÐÍñÂù«hׯÒ]áz1}— ©¢—†Í_:!;Ï·öˆ¹•­˜Ñk"¿pµ]H$(½ž i(fs)¾ ¬›…%ÛÍÇë]Ä Z}´”&iR`‘& ²Í]b¿‡é´`(ÓÕFŽ%u\|pÅX‹ÇbýÎÆUÉÑQÖjINMAUÖsèÆ²®]t¯²¯f‡–z¬‘Rt <6ïê¦*4Î5âIêI‹‰úäma€€ªgÁdÒy6Y[W*­Q'5¬C 0ÆL*_Hv]žÖ‚g”­A¡¯1u!O‘&à-ÒŒiƒÁà/)D—ÅtZH$nƒIÐt„Ü¡„† [:rüà Š(AˆˆB<'¯qwäy;s\3é$¢9Ö(×d9·´4ðÊË ?A1L÷k¯å2IYh¾#é[Â\¾5Ó?'HrÑuIÖb-ik[÷½\ÿù¿õ½ð¼ûÞ¯4] Ôd`Pq×Ý€W^”´m3iM’‹0l±u!±H"¦ßºëõk¿òÞxZ 5´nß·k§Ùdºzõj{{û]wÝ eYÆ‹©b ív “§ð³ˆ¥Ô_¼•÷OWõôÀëotÝs_íƒ;ô|NP4x{àcl*- Þ\îì lÛN2Œ"Š´M$ Ü’d5èÉù¨úÚI!Ÿž±SŠ| ‘Ê“$DQä …ÎÎÎ\>O$MQóóó²,#„¬Vëš5k$Iª¨¬ÔsT2;4@³žÐNîš¶Â/3a@eEÈh²å êm@6€!ªªåó9I’ôzÆ8“ɰ,ët:3™Œ¢( Ë úb“Ã0 B(›Íò<µÏ—ã@hdL$nAz ~²gÖTànnF$…±!Ô1ðJ¿0h(<þ4±µÉd•—¡Æç¥ C¹­w£{[!¤JÍú" ’D4­÷úøXLH&!¼íŸ Œ&ŒŠ¡nvs¸ÐYoœÂœ…±Ú¥B3ª½º+QË ð€¯ß "z1f“œÏSƒÎéÌ/- ýáµê{ï§Ký7Ÿ;~)åó”¢ ÌäÂÙs?:ùÂæ@ äE IŠÓ©¢ÈÇc5?Òüí¿øÕÏ#¿ùµ‚î"Kq×M‚²ƒwÉŠÒóâ ãÀ–¶B2E@°¦(MC‚ _È¿ôÆy“¥/d¥/\9ñÎáñ¯~í[_ûZ"[‰FS‰D°¤DU c!>™t6®Zýô×zŸÿ €°î±'ÌÝÒrîÙwsŠ ðÛ=NžNÔíö·ofx îPúG{TU¥ôÆàÎÝSŸ¿t¡dK"É[ܪkcHR,©Í̎Ί‹VºJœ›«ŸUU¥¨3CÄá#G4Ei* UÅ ‚`2™AH¥Rƒ!OJ‹ù'ÿúBV±üóŸÌ^zñ·ÿ¥¯¬Ü»}/j—z€ ˜©?ŸUU£(ª¡¡¡¢²!‚/TU…"Dø}^š¦òù|ñ®TMC47­ZÓ´Êír)ªò,…1·›_𼍥²*n›˜ßŠa1.Ö6, O· G®ö¶ê6Wq™¬L qlIyõ£\mˆ¾»E/ XÈŠèSV±·º“uK¯È6”Ó×TIÍeÅÛ¿-NG ò)!—Rj±×¹Ýu?9ú‡ßó+KÃŽ½j‡­/̤Slå©ÅZ}nn»7"šø XÓÀ¼H` C]xõhøžû¸wMŸ>eð9¡ÙœÊæò£1`®Pq4Aú:3e5ôôzwZQ:M¡5¾> oÒ÷­sg ¢“„ùéƒ Ìjùn¸Æ¯ ÀùÍÁeŒ-¦Ø½vå|Ç#+Ö¦v±®ŠŠì4E°ê•Ã~â_(¼ ³ÛUQ¤FÚhÄ·áŒ-7C¬ïOU¯¢Æ›=9 z³©œ²¼ì®®È¤ ÇGúšð½è‚A…ðsbŒ Ñeˆ)“Ñ{½'Ît(UPÒe;7pÞ/o°Vº7>{ùõSg7oÚìoZ-‹eÎã#]®áCïcY^ûÄ“ø§ãÿú¬˜Éé„Rƒ¡Èú ³õ+åq»»^{EÕp厭B!O0—]¿¡08%~ù §Ôýí¦u['ß{ï?~ü?ÚûÒ׿î…Ó3·Gçñè…‚°P($) ÎÆU«Ÿz¦çùßr¤âÚûð‹Çxñ÷µ´÷ ‡/¾x§}CIÛÐÑS9á\é¶mª$k²Tä1ƪ(è\®²½û&›¿t±dóH$¡ò"$ PdÅê0.Òî_¾0Úz—ëá½Ö÷ÞZ7¶ Þt:Å’~ii‰Õé(’¤U•,Ö¨ªZRR²°°ðÁ‡I¤RŒ¾{L]‰‰kj2Ë󃪈—£Ë^¯S”Ôs×c ¿ƒÊÄÁ_*¡1Ö }0(V Ň¾¨·úIŸåÛ)HÓ´de ªª IDAT*åÈæHiN]öãgHÏÁù¨òæéœÙ@=$Ö>õE¦˜!A׈x¢£°w·c ›çU†‚‹qõõ“¹š õàªbQÆðÓ&ÔűU£N‰¯È6”3l×cŒyßòÛDô-J«Ê[0€˜Í™½®ºGyî?.FPùc;J%j&:<ªÛXX>w~Ð"<ü”ö—¦Ýî ’¦¤T¼ïФ)T!”›…tJ“eJoˆ_’2)@šEn°^ óíÑ9JÁ dšc;´Õ×Es«î\YòêÂ<£ôYÃi)ÍPåç²örS_p!Á¤ÿxãšbó:æÙêœed÷jål|^•}ûp„hŠ¢s»5QD$Yˆ­HÙ $ÈâßëIyˆ_åuúË!鯲¢‘V—Îî’+¹t~8ð·ÌúøÂe©Ì $(:Ú×3òö[B6›‹Dô>¿ÍmIåÀ‘aãÌÄô£eSܘ31o2ñ¼Ý “#“XJg ‚ ø÷ÞßòØã‡ÞûClÅPS6欘h?÷ÒõÇ¿ñØØÔÄõŽÇCQÔì‚Íá(ݱ{î½7h„OÄ*zo\Ù»ªá­³îÞÑ“Lõåke•ÂÖ=üÈý™ÌÏþóŽgÿSåÈÈè`6;*ãL§3ós³áPÙöŒsuÓ¦o>Ýþò;/õ\nÜ·íÎ5øt§Ð=¦~ù ¥µŠÀåݶkæô©¹ çÛ¶4Y¾= çr:§«|ßþ©ãÇæ.]*ßÞ&+øƒ‹™òR$gæÅÓ%5Mâzí’œØh÷‡’‰8MÓ©TJ’$ŸÏ7<<¼qˋٌò9†¤UÕëõ¢(Y7I%N¶/ †¯h:vøõùȲ‹—W–ë[Žwˆàµ5¬ÃŒÜúƒägÈ …B,67==­ªjÑc cp«N€¨ÈP‚.’½^OU8Œú˶óiõ·äx}ûA³ËFð"†ÃO×ð€×‡¥Ò ñ®]Þ´¤Ñ,¶²T×\*–ËÿøžR–Aã>V"!ÀBhBëͽsM[·ÞÿÀ6½†± aÎðYonÀé(Š“œÑÅ2 °&+í‹bóÿ~'r)#‘»;@ÛVuSµv¸³º¾^UAÊÊŸÞ—¦*r>OQDfvæÆ«ï’’$Þ,Û²•©¯;ô¾ÍUík Š)“F2f” 0‚Ö À²t3ç™×¯Ù£vÖÀ9•¨$ñç8ÀsHšÉ[:©íuÖùõh¥’F2TíÅ&3žs5ÔyR›ñA•Șä>½†H‚Ö0Æ|2Á˜-œÃQ"ÕòpÆq“Þ²Öƒ ƒ¤³ AD¨B¤`è[úÖ3ŽR/›H+€¸uyXS=-k!„ƒ¯ÿAHgôÉEÁVzx6$9Ñ:©c!±ÐAJYœXYQ!\L&£ùü/BŒS‹ ó¿øÇ¾öÌ(ïýô'QsýlN[Ô–ü¯ýËò¹…ÅT:%æóªªô†©ù¹ÿý¯? ¼÷µW'N,õh©Ÿýms?¾W_¤rMÕŒ1a±˜š[('=9)AXˆÇåx¬srâõ‹— ×gÐéýþ÷Ó##ÏüÝßÙƒž”·¡§ÔH^=Ö”Þ>»éæHæ©=ÄêjY1/ÜîЮÝÓ§OÍž=غ } YaŒå|޳ÛC{÷/œ9>sñb»Ø<µßPî£Fg¥—Žfú‹_X³Ô!Lž8^»þððP}UU,K$4MÛl¶®®®–†z_ž‘õ.—‹a˜>øà‘‡î-«lúÍ; Ÿû<Ó4>v3_ DÌ ¹þéhƬ©&Œz¤¨ŸŠVò³é—¦i«ÕžÉædE-vª4ÍRE DR”¢(Š¢ðÅ¥DEEˆ¬(¯Ðô·~øç’„oŸËCšýáNåx¬§‚‚ÿÃCN/¤º.ŸÌæUˆ  Ã…R)[wåŸ_!"k€ ”4mE– %‰Å"ÔÙû³ÍŽØ¸}fåÒ–—0ü¼+Ñ4…HbàühGVÕk@KˆDxL¶^QM '' ¦ƒËQ…í}·jƒówík¥Á+û ¥‹VU?U3`s0Xµg'ew½;gJÛê ŸÅ:ÃäXÜRnUü«XG2œb´`¬å4÷ï[¿øÅT4úÂË/ETÙ¿ó[¥y·sø…­Û¶îÛßž|ÂVZú«ß¿rüä©wÞzó{ßÿÞå‹§ß{ç½ ÷ü³Zå3v#fj@ö ÷µÁ /s‹ï˜¢(EOùÐ(½çßþmhhH¼v­¼­­½£#d²Ýu`¿Ùlyå8qútâ+þîëŽÊ2ûÚºu¯¼91?wÀ3œ=”=wÔXyÿƒÎ†UR6£s»C»vG®\^îºá^Ó0Öåv–ry«Ï ·í|îù¾81ýÍ/—×”sc…—å.ò‘: JÎõ›1¤’×;P¡pü̙յµV«uyyY†f‚Á˜œPµ8XNQ”AOÛ]¥=óe¡rËWZlVÊbsµ¶¶=òArh`(®Ú©` ùÜÄOµ©kŸ-¡!ÆXøL&+bQ7Èáppg2™ûÂÂB>Ÿ_ZZºµM¦(AQ’þ¢ ì-R§Ÿ‰«®Á·»Æ®,Š I$d%È2:NÖn{†ÄŒ¼6s³ûJÿ³BYQ[)ßœ¯ÿj×ÿä¤u¢(!MͪÚuë X‰¬Üaý°EÚß‹«ÁÏIfB„ ’+K¾¸Üñ“5éjAQþc¸*{nEo=t¤,ìêl¢b”œ|ya¿Iy¡!~¤ûdFÆ$ütfÚf²èHËoL»oN«îÙ“Ÿ›>uš5±+í§Õ5¬ÕRˆ®04¥ª*À¢§‘Jip•ùò£3ªº1$>û©‘H[VõW&ÙrÛØï”%TD0,ŒU 9ºö\´²„Ø{ K˜„Š(²‹ÎåNMN(Hh*£å'ub°^¬aGÓiYQ1Å2zWSdšeõçä¸)ˆ§ÍŒ_UUB¨ã¸¿€`Ý’Ï£¨äØ(NÂѧÆ'?š@ÀiÖ°›†<”N¯J"PdH1±F†! ÝÁèl`¤ä œŽ÷.™Ìª¦wè Ž53ŒIUc¹BNª^çÚbTWÂÙs‰1ú\tºx‡ªôÒÊ´Ó !(iÈÀ«”,mÙ ,}8êhª”w)×5Òz£úeòRí\;0é³~2CââÚ,òò[ïÍ“­q—Ž.¤ryF)]Û?| Ñ… –µ$³+$AT¶<ŠFUÄœ¬à«ƒeT¡èŠ0Õç‚*ÅÕ2½ j—¤skz}œZ!$ÒÆ£ôLm…Ô¹cµÀ8·(Ï|cD’©‰q!™ôµn$©’žC=sT4tGªW£*±Uˆ HE”òK‹XU!PR´Ÿ1[*ÝN„“+·‘¢Ö¼œN™9-â[÷î|míËî.BÙsîøÒ’²¼{c¸¥±@DPTßéãWg{¾òݯ7ê¸î÷Þyàë_õVTŸûͯOwöÆÛÿÏ\ß•,Óƒ+—®4®Y7&Š?ùÉ?DYƒ!´zB ¥Ö’5Âü¡C3RYsÛ÷ömIùÍñH`ëV)›ÅŠ¢×뇇‡ß}÷݃Þwß}…B¡¨÷„aË–-kÖ´ð|Þ¤§Wò¦“£¾àØÿèÏÇï§Læ¯í§ìÎF · Š,ݹkàå—ºó«ægþÚµº‰O$Žó®]·xãúRW§§y AѪ,é9(Jø­s…éùéûìA}Ëé·¯=Ò·jKýC[) )¢„$BùtŠª ×lÚ|pyYÉdÆ"„P[[[8^‰® Š..cå j÷ˆÈ²seJd†Ÿœw¹]È6g ko¶åÇîÛ]â°p ³2€¢(üé°úœfhÆbÑ™ŒFùãý¢ªNñe6닚)·áã⨊ôç’0ÆBÚhRS7þðz“ÛfsÓÀ¹ݯjõz›¡%YÓi’ãI‚8¯×Ë©èê/}¹öɯCIL%W:ùjÿ¹߆õ6§ýÜ•ö¿zä±-­­™Lf«ŽêÞ>Ïo©³lª’dé1ޤ Ö„XÃMA‚T yMÕ ‚B1Î..™(‰˜±cŒ};žf ®þ9Ö×ÝéÆèW†JÍòÞ¨æw^¬ y¹Feº[ò^HÄA~ÁHçâ7ĆÔÐR™|¬Ù¨iÍ üLvÊê,iJiÄr|iqb”€¢ýÓm”aRðU8ÆVÉ"‚ÁXƒá⼪*`UÁ0„ ]å7µ¤¨«B Æ*@(¢.×ç/­w-¦—£y!€€ˆÀšR$äTI¶WוÔÖ,tÌGO¾KR$Âà·º‹ióE1ƒ“œ@RDÓ¾ÖFIjrÒäwtçLlfÞæŠ#»ÏçCDOH@*Ès£KÇÏGËB¦ï>æðÀKÇÄso½þÇbÚHQ!¬_×ÒØžê¿ÖôЫÞãüMÀ®ªÍ÷ôMÍõŽ^\̨æšÝ•MU7GÕ‘¸ú¯ÿ߯¿ÿ±³¡AH&M{×o˜;núÔÉÒí;Mf¶Þ<ŸYR¾rÐ\í£ËÎsù#c '#¸N4"Ã0“““ÇŽÅ:œ®¼ÍqéÄGÈf§9nfffzffyaÊçžlÝì±èb±lßBù®ƒõÔ½^†"5 %I Im%‘;vƒij½¯¥å¬K+éŒÙlþþ÷¿ï÷û£Ë Ÿ„Š?ÄÊæ²‘…ˆÉdÒŠí­žçcÆ¡øð~lí!$‰¢h»ÝƱìŸîk@HP”˜NÅnpÃCRÅ*ÛꦖšÊú²Õz‹…i*dØäädßó¿ nßa …ò3³úÅ ×µ&t·o"£É⯪´>ÉÆ; ¹t×ñ’ããU$q2—{k8 #H˜.]‘Y^ÆZ1¼¤|hšÎ寫Š"É: L^C‚DFà|rú耨ÄÔrO:r]9n2 vJFošÆY4R_P5¬áÛŸ@ÆD–p/d ?}––ªyEçZ]³[åh««Ã¥Ár‘¦ã3=É@°¬ÌM BV\ 3€ñÇßA¡ Â9I‚l®¢9‡™â› iĈ 1©¨@ÓT’À4 5@IY­§ŒÓžîñ„JÕ@—A–e T‚ÔI²&Ë2çÖ-§ Toš îÉ™R4¡%%r0\cˆ¬­qJâæLVPEÑÊq_HŒ ë݃ϑ6—5꩜ˤ©¬B€?žˆÔDAœ‰(®ñJ³4ñ Ÿ,dÖüæ$Â|lá×ÓCD(;aDbMaõõeþöýçÿálÏOš7ït:›^½óÁEÒ¢GxÃÃfÎX­rCû‘_ŽŽíùÂÿ( ÔÅ'ÇN½»!¨t›cn£ÓJΉ…TÓcëXbâíW ©•”¼ûî×;.{<îÇ' ³Ù²qc뵎K±•…¯|ù‹¿þÕ¯þû¿‹hÛùŽi‹^ÝXó×Gnú7=°sÕÜ+“o¼Dê¾a*-•óyM’0M7?ó××þoWÿåÿmýáß;ùD‚ é@ÛÖ‰ãÇÎ}äoÛñöqfIyò€±®Œž–^<’¨ ;î~xÛìÉã¼ØÜ†H’¢¨îîî\>_SSCR”qãÆÂ¥K¹èrxÓf›ËUÈfÝ%%ƒC —Œº;þëœj¶¸ÚÉR0«¨Zç­fgpüêÍYA_}¨2Ý>¡j¨¸Årl.—ãyÁOR~¡Õ€ee^_‰$É4M#A òc–"!Dê-⪪±ÂÐôŸ8bE’:ÝâõË=ÿõQl–1 EQ–ÝwÌ&O€Lf³’eEU¢ÑÑ•X>º¬©™-zK=ç²ôÌö.\íæ8.à³ÖÕ¶nÚ__ðüÌ|mÛÖR«%“K_=rÚ¬sÜ¿{íâøU_ ¼¦ºº¨x€51š:®® ô¯:pÀ\V¦„@ˆrXÈgßI² ½¹jþûÿ|jï&µ¢©üfrc,3ø7Z|Á†7Îjk}ð¾6A,cmæÌéh_/¥ÓÝ*I2â@ÆñîÜä±¼÷‹¿IdÓ\2m>1@‚¾îÅläúœtÒj4‡Ã;>E z9Å’Ãó˜ç ųO¯×#„ÁÞ¸px¬ç}½É“J,®Y»c s´¸«!„’˜Ÿë io°Éæ ¨-Î .G&­ÎrOIØ`ÐÅäU£Ù‚Áêôù× F€Ata8¹2E"OIy-˲éÔâÜÍˉ©E‹Åhbô’¦å„eÝKÛãñ¬I#ÙÙÅ¥±¥¥`UUSc#Z˜Ï//[J|¢Õ—ZÙØlWsÓKã $‰>®Ú0%¥‡„ÐŨ»Ñ>³§f!5oøÅÙ ƒÏ÷•»ç;8Jç3›í™¬¼’”5UE„@³eÕ;~0×ÿþäÅ· ^·»¬!±„梞Ե߸”ËÄŒvhY]IÆâÂÙ!(åµwv—lé>j7©ºãìMã2¬yèfÓ=`Q>ýÜ;pÃÆÅ<·y×C¢´¨T,eH“³¶fUz)‘Ý_³yßÝüûG¯$sdKS¸²zUÿRi}¹üÀV¨_¸öÛz~ýló׿a.+“²Y €œÏÓãºïÿíõŸýÿWÿå§­?ü{G}£˜Jœ®ö®cGŽ>û‹¹lý—îÒח‘ùÅ#Ù€‹|`3bNSŸ¿|±dóA’víÚÕØØ(I’,Ë£££„Ñh§(]¶•••†BXÓ8¸7Ö7ü¿ÿý†¾²þ‰ƒ\×™ã'ÎG"šBÛ¶ïÎÓëel}ò€ÎÀð‘¼hv!D š`úàÍ7_ø¡{Ë‚¡¿Àc„N§7ME†Êh4aŒ …¼,˃QÓTŒË2’$¥ÓiŒ±¦jª*@ˆ°¦þI2'h&6ÐéŸþçÄH•ÝÚ¹;MU'“ɆŠJÑ;??¯(J]mm œîïËu^7x½¥¥&Vw¦{e|´[¿F­ªªÉçó‘ùé,jôèƒÖÙ+åwÞI¯ÙÐ×ÛË‹RýêæÐbr85Ò3)dùå™ÙªÖ­ëÖ%’I€1m0Ú ú±tÒD ¯Ï'år!‚ 4 ,l4Ë8m=C’êŸe"ñ1/ê8ù‘š$ùzxW“H“@Q0©ÓM;ÂwݨÜÐJéôXUAˆt„Z´÷EU²„Y¿½Z›»:,¥û_¬‹~è#@.էέÛö}ÿÚõr.+äûyE%'QOOÏÊJtÛ¶í'uŽ틇\–(÷l ŒŒŒìÚI·mu –£ê‹/ŒE"Öøvì¨gæ7Î;µ¹r÷}÷­r{<.N¼4Õ㲸Ø^ÑÔÂþ væÌu¿ËÿåGWû}ž‹íS¯¶“…] w’nŒ _›˜í’C%6X`4™šïí­ W9ÃÕ‰Å%ƒYן3“¬G.& MF·Ú)¬éY8F¯:»RÖ䘺Ã3™B%ï 8Y»³L»2À-åìë¶>&)˜c4®šb€!̦òÞúÈõ«”Î`öxÏûõtrpûþ¿)«i˜›™ïz{åÜwh}Ïß,/«K¥ÓK Vz ÒZ6+^Ô[ܼ®%bvKã…Þ_ž°†+©àÑ”SÏ”ù6Ù++?žäãÞ lðnåœÊ‘ ‹$×´qwÚj:˃£Wø;Ö’û[YQ‘U’kzúk=Ïýºû“1Œ±”ËÑFÃ'cØ^× iL±ìöÅüØ#ºëµ¾ c‹Ô ‡3wµÂÙd^ïr—ïÛ?yüØüåKþM[,6›Ãá¼óÎ;W¯^5šLµõõŽ|TõKó]db% žåuªnôïè`Gêè¹öªÊpEY ›—>8;­Ó%~ö“§ý=†Œ ÈŒ(ôú|:í÷¹W­ní/0ÔTU’$I%YVEÃC3¹\®… %IÄ‹¢X%ÁšüÙæ—`X™/ ½ó‡¥Î„­Þ\Zºú«{#×UœTTõR{;KÑ33Ó²,××Õ ÍÍ{ÔsÜÙŽ76­[˜¾.sù}¶Ã~ÈqÜ;7ÿðJÏå•ÊÕ9Öb;~|qa  j4If2éBviukaqyl|¼¢²RQ€1D ¤ zEQ”Ïs—J¥E³èí’ÈP"a*³9©µ"™I±C©Phb[ƒ¤Éù‚L«X£TuâÆ ¶4Xÿø“™XŒ¦iY–³Ù|¨Ä6Ý# ±>>¶PH¤Âë[–òkîêcmFR­Œ§óv‡cþÒ…Ó?ù‡ð¾Ƶëœ.çðàÍØÊÒš¦UéLúÒÅó‰DÂd2]¹|^‘ÅþðG½ž US±¦ÕÖVé8ZUÕl&999¶P³š ËÑe¾³˜M±è¢Ž¥(„K¼ö ÏEÓt©ÏÉ"Mx!—²›õn›IG™ÏL õ×µ4mÚ½cusÓ–mÓsÓ?û¼[¾øäÞ§žVUeä¿HÅ «WIé”H’ކU$È &iÀÕÔ:2ç:õ,èMº Ú[ÝK÷Öñ“…UÏ_ЕYòw†“¯£1cw[4ÖÌPr4¡&2š¢Þê8 šUÍëWúz¹˜8¥9D#çdÁL2#ÇØj’5šLE«b.¾4½œô..~811Ó¼õÛ§/.3vg·/uuZ2)ƒ‡Ã\cfqR¼sIDQX»ÕÓ)ª† !Rd@Ùi¥z¦áJJ}h¯éŽu¬(c\ę̦-û½®gÿsè…_­zêiKY¹"Šk@ÊsfÃÖýݵŸÿ[÷Ï~ºñ?0V7¾öáÊ|ŠüÎ3µÜع ‡®L7K¸‡¶1"jU䇋1¹r)°¥¦éáÁÁή.»Ý^ZZj6d~!“¿p–T™*á%ð/•ÑÓýçŽÞˆ®ÄìݵkÏýÏ¿;-wÿvk“¾ÔoŸííë›îë§fçeeë¦u6»ƒ1ø9΀µ¿À€¦i†¡$hùl:‚B˦Š>J‚‡Ä$Í’%‰ŸÊÀ@ª$å——A°f‹­º†1›Uy™a™O¤æçËëê4M“e@˜Ïç­v‡Ín“EÓ°¦)4…4MË ò²$É…‚Áç󬳨²œN&YƒaPÈç ù¼×ëkj,Ÿ½T^V¶¼´ôËÿüϪªªíÛ·K<ßÞÛ×Entî/ x\®ÞÞÞK—.©¾ïà6š|Œ©YVl&ª©eëÿyþêµ1lú¯—~EQܾ}{}~wgç•Xe²Ü¥KÍ«W/D"'OZ\ZÞ´¾™[m•J"Š A¥æ€¿mƒëþ'îêìEK‹nŸÇÎ;†÷ÜÍ™’ 8ƒ9PZN„¤€sç//,,x<ŠfWVVß±g‡×ëÅó‚p­£ãÂÅ+¡PhãÆ$Å666¹½%*F&T Cå^¯WR"IÆÑ•D `9#@”dIŠæ &+§7%’é™ÙH0ŒÇédVÅXä¥M·4­j®ohPEAUU™çiB kwîœ?v*YÙ( nÂ%óA@’ÄÒµݹI´³da«o¡s‚;s6xc»ÃÙ3c®H Øì"†%‘Q :&³ÞR–Ѿ@”cMsjlÊO•kMû?h¿/]ÔÔêš «ÏìLçÉ«WdåP«*–ùí“Ë1“±®ˆD ¡²©x¬†‡Þt IDATtÓ–•›}R2n WÙ«Ãb:½x£CÎå Q\ÒþÄR €YÈ ^WÇ$TöåK@VŠ;æHSTÆlr4?<1óÞØoO×>âD$©"@‘Öë•ÏLŽÿ:òìq¼Õ™–˜/ßAÔVêÈ=ÿõÓ A_÷£´,äÅÛ3¼r>;†—:®úZ7ž»pÁb29].š¦gfföîÜ©Aeœ×'EúæW*6Z±´š‡&k07ýîÿüÝäLòþ=áîÙ95½ÐÛÛ{ú̙پ>ÍZ€ Vñ‘‹+Ý]Ö½¡²ÀúÏàâÖQss3§Ó ‹âSÌbŒ1"¨i`\Ê‚¤R鉉 ÛU4}þä>AÓc’ã4–S%‘ (YÖÆß}ÏeŽŠê꺺úl6»aÓ¦so½5°¸Ð¼}†šÕY1½X_OV#h²˜5„«h[øŽ-Œ»®Êfwþ÷Ÿyëê뛚gçO(ŠÜÖ¶¥îKûßzûÝ'N”——Ÿ={vÆ ™LæÆÀ@˾ý×®¶ôõöï?}ú´ÍáH¥2§OŸ&Kžúsƒ!xØ~ð{w6Ï¿ýÖ›¼ I’T]]e6›¯]¿î¬©É¤3×ÚÛjk{{{——–ÌfkggW°¡(vÎî Í–¥®ÀïšüàЫ='"%U~¿w°¯×pßýußüÎÅg²[R±•¢ç8Bpaa¾Äç››\¼|eÿ¾}>Ÿïÿñ[[[I †Å¹9QŠh*Ïóp8š¦õôôÐ4íóù¼^¯Ïç›™™I&“ÓÓÓápØãñ Z­V€ÍfSUÕl6OMMAkkkeYÖqœ,IÉD¢4°X,™Lfdh!T_[ LFãb6ë=xtóZo県]az®'!cŠ¥°*Ëçg½ÿ.Û@«aùF¼ñÃãFר¶*üa»”Ãþê`&¡s•6¬`Œ­F²¾ a!DEQU‚¤Yä-&~¡Ä=¡4V5ém¶ôàP¸¥ÅWêŸíñTŒ[êNo"Hc²Ê¤ˆXURÓÓ\<_^mÁ ‰Ë¥¢Ë–ÀF@¨©*€ŸŒà]û àcé§0BÀXÓTk³±fZî¹d*[/ Ó¯\0JMÁRU$4-(’¸ã«³½âá¾ôÕõµU-½7¯Ÿ“×ܼN83þÞ[Áƒ÷“,÷ɶQ“e½ÇS±ÿü™ÓÇž®¤¬¼¸Ûg2™¦¦¦êj‘Èü¡Ù’pEíþ#…} Á0û~°ãrׯ^>³œLõѧÜè (º»§§mëVÉë±ø}ËÉþË™ªÚ¦{÷·@œºbJ#¹\‡Ó©È²ª©!Q‹²oB$I¥t± $1æž¡i¾_^^r¹œ}fƒ"¤„U• ’’'ß94ÞsÌÔ°‘* :ýÀèHïèa÷Ñó©”.TF0¤×¿IRÊrù¾™þ.‹,‡ÖÖ¯[Ûxèx<‘ä™T*  ùúPÈãñɲ\\ÅÀ@ÓTñŠàI’:†É¥’„ÅíeƒÑX$ÃlCIùãà"A L–‡¶[A”ŠªÅE!„8ŽËf2Š(p;€aY!‘/è šeÆ ¸îógXÖ®®n­ÈFs$ÉÚlvM[Ý.wYA2zm±X „ hм~3ÍR”ËaÓ4çùêêê¦õë󱨸©“U£Ýn›ÝÞßßßÛÛ»jÕªd2I’äåË— ‚صkW¡PH$ccc###{öìÙ°aÏóóóó¯½öZmmmCCI’€×^{Íl6·¶¶ær¹@ Ð××wòäÉM›6EÕs¹ÜÀÀ@mmmyy9ÆXÅŽK—jWïÞ³ëâ+“GnÚ³J•$Š"1ïŸMu繯)ØÄw>¤O,Xö®R6ù©w:Ðb†rºôª¢P4•åL. Èêô¿‹Ò -‹¼,¤(Î ÌÅ#ŒÎ¦+ f3“Êô¡êÀce[¶M ¼–J‚ºZkÈU›ô8z¿  M•1¥“ù\>‘M/÷OŸzÝ»fg`ý=ÑÁ‰•‘ ’ahƒ•Ï­ ‚fõE. ‚ÅXXE«©Å I1ŒÂ±PÒ+4g‰Ï^Íg㻾LÈSÃûÌ_¾ ,NXªÊ4šâ³‹´ÎB1Hs[Kâ\äú©¾iÑ=4küäcLRz[׋//Ÿ>\¾o¿¦Ý‚r‹2 ›ó=äζÿüS¯”5šÍz=ð;(¢A¥7OÅêJïßEÒñæñ W}ò7Öd ©kSlÈ[ÿøÚ%R¯Ÿ\X̳Ù<;;»qóæ-»Ûxƒ¹ó‚R·:y°U2Ñ\|ÂZåóh$E‘çççÇÇÇ,V«À ùBçUU¼ËåJ$©TÚd2r‹'b±x°4`·Y9Ž+JÌüÙY„äB¡J‰±/<ó×þ/~aX¹PÈ'E¾ÿn mxì‰Ðž½v—--ß¿SOí­@MåÖ;¯õðŠ%FIŠLÐLzvFɲÅ"!Ÿ/¬[·NÓp$Ù¶mDZ=·oßžîî®Ý;ÛÖµ¬"I|Ïw¼ûì³³aí¦^>-WúI µ¸PÃP™¨ìpùzðÞÎÞ!ŸÏ®©á †m;w^¹|Ùáö¬ß°ž¤™µ6r¹ïjظÚàtà9 °„BBÁH;k¼søÍ«žé{ð®&£ÕOÆJCáç_¹¸yCUU]MA!ŤqyÇÈÄÁmÞuk+Rél2“}ê[ßÒpíÈa{*ܧÄrõÕÕ7TUª­­-n,//_»vÍëõH’äyþÌ™3ù|> ­ñññÞÞÞºº:MÓ …ÂÂÂBGG‡Û톊¢¨×ëoÞ¼977g±X²Ù,Çq+++gÏžõù|¥¥¥@’ ˜K*l ¤ÁšÎˆéTüÚˆ6¤Ø¿úEzc#õÖ™úóIÝ~WÏÆ ûølYLM™uMÓ ¦æ%’æˆÁþ«nÿªuK2¾ÈsR![sùª8£ëæ³U«ö&#“¥û¾35±<õòïýë×VVfÞ;)Y¡B“£Î.ÎL—¸8, šÃ€($œu«ýwO\Š&¸àòðD ¬ß¤¨ ÏË@å—‡–HŠª¬n U ’,gÔ0’…$A!DŠ˜%h#V……ñëzs©/Øœâ“4ΟO±4`­$Ç9ÎÄêv<(I2Ç2ŠW0QÕ¼¡¤ª”×@.ƒ)S Ú]ApúCz^àw®ÑE=‚‰ ® R³1ðöþ¡Í5«*¼ˆ¤–ølÜíö ­­œNÇèè ‘HæóY¿ß—H$ ‚¬®ÏÌ.ɱ‰p…‡O3±hüüÙ3 +ÒƒÛ”Û’o¾¹¾º3«PRÇgÖD £0ĬLA‚‚" »–Åq ãE(3Kj.9¯7ô˜½ë#cCȼ^VÀÌt”ñX‹y¢ãõ+ƒõVgZê£YáL‹…¼^g»®Í]-‚üÜèHœ¨ZHPª% G;oÎ\ê'³¿´6¿r#¶²bµ{º.1ÆJ ÎDh¶—¥#m¥mªªäWz<;#ÓCR>ís­c™ÒŒ®ðDZŸŽäÓ®åE†5&££†¥tFÌθ1)·‹²fó6Ó:£ Âêí¹63p3† €3$§S„5B"¸È¸ E”ˆ]®šÒӑ¢͠ø]–ÅÅ%Ÿ/* #Èl –­Ž^ºJ³>Ïj?VU¬ªˆÒ#Ò\œpR%I“eJ¯‡&ú$q˜sZÜ¢J…+óS6VTÚJ½†I.¼œá/ô)ÌšO…¼µÔNe.R¨H¤b“3ƒ’S_é³xÅømwÓHýõ+íó³=Õ¥r}eUë–;²¹|2™tØ-ŸÔ•û“Âd2±¼¼t{ûa+5M+öÀ·u‚n;Œ ‚àv{‚Àq@˜€$Ì81=õÖë÷Þ×öOÿÁ0@D ™sgg?x/ÜÖæjnAXÞ¢#[c®ã7Ôæ¸¥Ü¸¸M9×=úȳw-A³Tý]wÛŽžø_—ß}Y½rÈ¢%ŠkBVkœ¦ër³S†Â¼L›DÎ!pš"³6»íÚZbäèa´’çÚ‡+}J¨¤¤§§ýÍ·çk•L9WÙÞOˆI!žW™Ù¾Ž1«‘!Ô%‰ —Þ}ŸžbÔÚòèå‘L†Ê¤ˆÊj’eÜÕ5a·¿gÈKéKW¯®ó4P$œK3ú‹^9Ý\çÚŸdÓq£7¬ó›ë% i–¾dM‹{ÍÎf—óy¬×kšf±X4Mc:'ëÇç÷noæ 9—·âüµ™ÖæRHcccÕÕÕc³Ó¯®o*¿~ýZ‰ßϱÓswl­x<žö®ÙÒ€ÏíRff#:ŽÍ‹äÔ‚ÜTëQ !ÈËÌÔ‚ØTç¥)Ò`0%¬^gÂX‰Ç ¹Ü¾}û&Ž}H’,ƒ¨° ÞwŽ&cù„×#CJ¯&y¡T«ŠDrF‹‘áÜéä¼×ç 7´ ݼF³F[éN­’„´B˜Îvæâ29ßáSCœ©”ÔmtµU$ç"©¶µ>RaL܈}¸qc7æaÇÜ1Ú™•zÔ2íÕ†¾É¦A‚ @xo ¦PÞ×±™÷$›-µ´šˆeÔêDFâÔ9™ùçÿÿÿ}IäË *£9GN¯^_°cGDjÌ3—×RZHm=V²ÜH¯ôúQ~cѬxnnr06Û¿ëÕ?3c«³±¬I1BçÌŠ¾6}É «…V1x̲Œù¡Üãé¼²ˆ¢J‰D.ötvÑoUªg/mPƒ3´iÀœÜ™ +Þ†oet²ƒvÐgn•t]7-Pæ O¬R—¶[ZÜ¥þ‡ó¼ìî{îÿ267oÜŽ­ê;¼µÌ6û']}=»N¿ì/óÌ/Ì[¦évÚŠÅÊ—±0&X~¿K—üÖmk©[–…sIB4 ×ÂáÖÝÑk÷&4ðRéêU³¤"š.Å¢Óï½#CšÝ¹´°ˆ-‹¡Ä“ùpáãlå$KOKö«?úÉÔ̪©’†ÇK"ßÛkN-ÞIEdÚ BšÎ$s‚mÜf/æm,!¥|a‘0vÆîĨ$•º;5Òo™&´0qÊV¥£s|ÎLLÌ êA ÀÑCÄ@!Œ¬™SqºÚO‹ÒtÌå øïþ¶é³«m/œ\JÒ#›3pEuUeÛö”Áù÷î 4Šœ`WóBs󢺘/ä“Z)ºrmÁ!>Ðd„ಞYMǦt1aPºiÃU½~ÃÒõ­HÄ–/3===>>¶ž–¡G†GÒ™4Cƒ¹åL4çæ€•/Kׯ__‰Ñ¡¡x±Xxøpx9ÆcŒ†‡‡ …¼(бX,ž´ÒÙù*Juñâ…ÕŽe Ë `Ý G­D-,.¯¯Îkº‹Å(„b4™œ×®íyþyIJ€áë<öpX<{Ÿ[YNÚm Æéj ˆ€è¢LZDf,Ÿ¢Úw¾È#@„(>“)„BІN†•öB„,Ó€¢¦g°e@E!ªFÏç²++IJ<ÝØ²è1M¢ »%:quc†òõt—7ð5Îcñ‰qkâãýÇ÷’C»2+ ÙÈC,Pv§Ók™¢ B\5!Œ-ØF°&ÙYŒ±Ë]MÁ…’[tˆvL7[šjoo7U•Ûy –­à²íþŒÉ49¦çó©ù…²¦6$*œ Z ¹‚6–ç±E?2Qðé|CDÊ=y§–[½'‡Bî–³r»U(×Çì5µ|ûW‹©”¶¹ÜíR,¶î/¯«ëî² Ý²Ì¥U³Tª,X¢StíÛUÌçã@Tiåßœó4·þ§?yN™¤,è-/§±eèÏóî²²Übæ73r§D4~Ëõ >^øÒbÂG‚eI’(Œ¡Ã$Ø"^:wÖUS[ûÜóZ©¶D104L䲡@ͦ©Bt7Jå´43Ÿ÷»i“˜jiÇÎÝÁº=²„ªÊxq]M¤ö^’X`"­Ï®”ªýLÈÃÀº iQX,©étº¾¾Ž‚0 ›EQ4MÓdpc¸pcD}a—­µ†Ó-TÐõé»wCËKíÉõPßëÐA£d·I6E^ŸÌc€2u“@fxhÐFǪªk -oX[ÄÒ4H#€±,„16°¥[,Ë“`B¶JN·Bß–eéº^WW××Ûy涪æ©Ý!€çÀØ‚90®>»Gp;hla ÃφTð‘^Â2ðl¿ªÖ©ÝÞBMà 9šœÞ+ç‹MÁÑk|A}å°£-Bðèž kGze—Bҙ–â ÀØßÖ~eðžýæÍÆšj‘/ÍÚHêö(É…8Aó„E•L(¨²’,pH× “eŠm5­G~ÿyoE¹Ó0ôdzžtØÛ‚à·j/¸€šä–/_âÙBŃ@b1š·©ö-œOHe$tÒbuv ŒüãØÅiÁ銭k¹8‘ŠŒqŸÌ?¿\ÎõRzü_>ŸÜ–éíÞn«¨¤ùešãŒÒïte픿§<¿+Æ–ª_8¶xabsøÚ¾õMå¹× `!ÅclBÀ}]yB6È0*[8³¶zû­ÖÃßôôi%ý“¿ùMÖóÕ¯µ$ÃÆå¾_橸ÝÓäjëÈŽú媮‰„7@-æ–‡ÇáNÀðïüà uþ§'¿õg¬6õéíã¯~5Ø\ž›&A€ùB¶Å—/`ðE¶šÿYû­úZ˜ LÓ, ûöOWeF>x¿¼¦æÔ©“ãl6é¿Íº\ûví’%ÉÐõ‘‘‘ùùÙ¾»¿¯£QÒ6FfoßuzË÷ì=9³¬ÖøÑÂôÀæflûŽnOÞîv0V~áÞ½ÁήήÎS[þæÍ«.§£¥¹Ï jhjl`}#zàÀþ-Ž¢éééÁÁû]]½;ú†Éf³W¯^u8»wïæyÞ4ÍÛ·oÇb±C‡ö¿ðJÙg ‘µY–ÞݳÃ(ÿ¹ ô^I_¹òðÓ)OßIèØÐ Áx«ªÙ"ev”+ù³?êØÖÕ:3ÿI}9Ù³{×óÇ+ CË}r+º¹^ªÝÕ×M3ìÔÔT¿ÏçÛµkWY™;‹]½zUUµÝ»w×ÔÔ`KŸ ߘ]–åí]²Ävbfö¡ÎŽw™;‰O\6M­ªªµ®¶Æ4õÙÕ³³s[ý9ŽœœæðõÇßÚÖépº ù|xój™·ÙÊwîè¡(¤â»›‘QØmÛw»\îÅÅÅÛ·oS½§§g¥«»¤«Ä49dΛδ­Á @.–dX¦€y€±]°ÒiÓv`&XR”›(S°D‘ÿîs-]MÌ­ûù¡™-ŠV°¶²w¾hÆA(˜=É›3îøºàvaÓ– @ŽáÅ"8š¼5åJ¬ eeë‰û^\ºt «¬­¡Ñ­­òàßr²bÓ,‹×»ÝM¹ÙUÙÈ­¯ñ.Ñ,Ô‚³){M}t4ïÈGXûþÅtáþ;áàÞ€-h• øB”vk»lH)t  Y~pŽ/¾ý  ÔO _¼> ßú´îþø‹ôŸÙÜ…‘Ùö$³º–ŸÝ¤Þ~ÿ¿LL‡íÑ1[¨h¯k_O'Ÿ|û»ßO$ÖÞúxØ€¡3îüø[ÅwÍ=ù™`«­©ôò(-Ùý[—[¿…þµ&õËÖå?÷ú×Ú´Æ€¢ A”¢È+s³Ãó ß|}¥X¼ÛßßÕÕuöÌ«ºF‡ðÓ Nœ<ùàÁƒ{wœNû•ËWßA7Ï Ý½í?tdzm-Ó?àò·Þ¾=I„)šþè£:û¾’ŠÅÃsý¼(^¾òYeƒáõWž»}XZ,_I˜M­û¯]»žŽ/H]<ÿÑ˯¼¶¶¾yíÚ5žço\¿Â±Ð¨üè£4M¯,«ÅôÑc'._¹6??Dzôûï¾óo|mWM佇7Ò‚üÉ™3<ÐÅš†‘ž¦ðÁ§>è~ù4Eqñ„ÆÉ"Í ºúÚ¥aê¯~V6 ›‘‹j1³¯âìp¾è‹®u7*ý×|^—Ãa¿víEQ“““¡gŸ9v÷ÎÍh4J¼téÒ믿>99¥¥'Ûjå+W¯9œ.›Í>ùðfO³07ųÔÑ£Çn޼钢K—.ù¥¿Ýn¿qãZs%“JÏݼÅ<ûì3#ÇòÉùÓºuózsSS.—]_®öÃCU•å¢ Œ<¸·¹¹™Íåi–¥!DmÑiH±—S‰¡›êÊRÁr·ÔÉñ„ ÍKœÂ9š€Öµb<^ˆþÖ {K°ðþ…ü_¿“y\œªŽã „¿wg³8üç?çí ‘%4Ÿ…„±þñrx¡ÄÈ]Sc7ÝUûbKÖ½pâÌÆÌ@Dm­ù›^1èÅ ý+––äœ5co|Fh_÷¾SwÎ}©ƒM­½n}î“þª+ûÄû}úëoýK™eU´U2Ív¦xpÑ36 ÜŠoB(šÆ¾ˆ(Žãt£´u£Ä²h@ðãþ!CÓ[ÔŠ…! ½•ÈAhš‚0‚PHÆS™Eªã0EÓ Â,o¨„@£ „<ÏÍ-Y™¼U'Ð!Q`c)u6¬Ÿb)ž£(ŠˆËdó†v…®¯àŽÓÔ’À£b ðiÚj_xnþÂ¥~{s{™%#ŸY/Ì–°Ëi?ÒëøàJ3@EÐ^‹"“ø\›ÍÆrr"­Úìžg†q»Ý±XŒçù2•¦>à IDAT·BN(™Žú©R…ŒÁÓpàêÛ—ú:<#·­ÿ„:ߟm®æw¶±º¦ e¢¡•|>ß ÏŸ&€XOó;A@0A€}ñâyVJT8¤ª†¹•üH!Hl‹—ÎS\¤úèqBxlY¿ºh1!4E‰¢ Ô4MÓ4Y’hš.©*MS†a"5]‡Ò<+ÿýßì;½Ø4(†)%“J¨"=?åéè¤ >·˜.Me÷t*ÐÊôíØÛ³m%©ÙÂô¹kØ[ªÚÖ¸«¯7TUûÖ›ÿ€Ñâ¿yå¥h*;?v$ï£Ãþ¶½{n^Î?ul~dðÂ;ïÔmkM–564i«erÐ=]˜ª>½Ã.7ß¾uSm¡j¡½snÑnæÒ¾šr&y´Î8Q ~ÿ;¯kºîñ”=½Õºþö×Á£i4¹¸,sG†b“cÈWã=xÒ â3wFGWã'ŸíÝÖÕ¶¸´RWW×ÚÚjšf0ÌårÇíÚµ !ä÷¹#)ÙL=stWºä¨©¶ªÿ­wÚ{·7tõEZgKEbtpsrêèK¯±RUQVÒ?zÿÀ±Ã®ªÎBAïn)OåóT"ÇLÁ¶óèNd“)uÃèÉ©lo›Ëf“cÑH·¬eüõ!¦¾&GTìÝl2L|dg…¡—–6Jc{À#w·º6)“ÚAÓoæ¾ûúW½A…ÒV;ZªvîØî´ ÑX\QdBàG¿Ôû}úHüĨþ–׿Äüê¤!Ä("ülB®]ÿ$ }ïÝyõ_ö¾ôâ U‡Ã4eYÞ»w/!„¦i]7l2ã5Ëκ`P ç²*—ÅvY¬†dÕÕ8©•x_E°¼Ü[´ÆJ^b‹ÎÄ:¨h±Í̇ƒåÄ¡]ôÑ=Ãçú?½>[]ïݳ£k׸°NÞ8›}eMuuÕ!þÉ…Ìçr¿Ú~ìøq‹PWîkï^IS4õÜž]Ýæ…»Æ;—3‹ëº$z-Û±5iz>Fpؘ¢%N§¹ã@×݇Ùmmö—»Sˉ›­ÝN‘…€—ä®mÛhš²,Ë4M‚P¨¢2TQ 0 ƒ¬8œ};ûX _¼[¼þPõˆk{SаÆD×õ§ûëºÁ²°ò†Þ>º 3Kše™4M#TC!µ C…ÑŒûÈ"0fò˜`†alLÅáìfÑ4 DQ íÀ›'ºž0 aCb Ì–üÑËîÚ`9 ÙÂú¥e+{Ú],² Ø.!€…Ÿ°aB†å-5½¾r×"‘Åù’¬2í(+sYê&c«éêà!}ù•jdm„7ò²Íñ`le)XXÆÃÉEÓä‹Zœ››“eùäÉ“Š,kÙlÕÑã€Ñ7~Xuèˆ\^ŽM“UlÑ••|.Ï%“skk†Q… & O0ZÖPµB•Jj:Q‹i Ò©„$Ë#t`ëÁªªêdYDH)“1,‹ÙÊ×%l™æV½ÀÖû „˜¦I3 òz©dš¦Àó*BAŽËårç ©”¦i‰D¼"@=9ÿŽ‚X¡NW|H¤F×Ì?y=Ά޼˜;µ‹–E$ ˆg¡ª›O¼kÓ".l«Aƒ“ôÑAø0Ì•¬@ iêË)ž£îw̬Çb?¾]yðPÐ/Y&fšZö²©oI¥{ŽïYX^5-f3SÞÝQ^,dÏýèýrM8Ip:ü‘õ‹Ø˜ÐiÜyÔµÎ.WýÝzó>¦ßÒ5ìY7®|¸q£Câ ·UØŠ˜0œP,è£ë ‘7ŠyÅܼµÔ*­Þk«^¾¿á¹TØ_>˜Ÿ}ÃZP+ÌRqèýwïn>(V×Ô/à‡'+‚„Ö$Û3°Èõâ;,@7/CŒ1MS4ͨšÊ1,Ëqº¡‹4ÀŒx­¸mnvóDÙDg+”L]Si¢&Y÷msçÆz†1 žC,ƒ~Ýf à×n¸ë ˜@íUª­bøÚXC×¾TœÏO4:!‘c[¶ Äâx¹h0cÓ÷ –Æ»›hF¦Ù»g÷ƒ©Ü›Ïét¹<--b>_XZRB¡`0à¼?øÚ«†eMÓüuˆ,Óòo¥ÿæ½ !àëÇdÀBݦªrNç£5|ùRû‹/¥³Ù³gÏÚíöP(tôèQá_ÿõ_/,,|ó›ßœššºuëÖÒÒÒÞ½{çææ …Âðððèèhkkk__ŸÛíÎçóIJ*¡x~æ½wEaeE-äíNgm `1ÌI]窱Ìޣܾ#‡ÏŸ{˜6rÏmfh´kgÏ/ø'Ÿ,íêÞmA±XÜ­ÝZÃ[r¡–®0!Ö–$àã“ÂV3MkkŸµ,ËÐ ]Ó,ÓD–¥ëºaš–eY–…1Ñu#׃ëëë€üSò¯YÀÿËÀÂP7¬êÜ}¥ï…kb~îC‚ºzÉFˆésR/”¼.*WÀO6Í7ÝÛ §4^¶:Å3÷¼W¦xŸZ$–ÉP€rzõÝß¼þÑÇÜܺ“ϯ/ \¨±cÖy)zí­bl)Néåþ²êtùùpåæÜµìÜ» uÛ·uÏ•Èä·×Ñ#Kf”iR}žÒwê¨sK¥Ç=uv†ÞFee3KPÀG:€f°Z´ ÈJåÁêr{ÿîëq:^[är‹qtzþè˜ÉÑ„%ëp­×•2éË£#í;ëÛ;¶*õŸ–uã-óÒ@a z¿ñ¹RmÉkÐðñx|yee{oïôÔäÃÁûÍÍu‹£3‡ŠÁ½ÒüÎöù›cÿíg¿èèì<¸¯¯P ÞïGÕ»üßëc9,Z&¹r_½?kr Üš[{(!@H#ˆ€E0üОBÑ´eÊ™ÊçMG‘ÅÐòV,aùX/óY²Ý±¦ë’Ý­ø¶cõa™«ÁåñHJÅÒøØèø"?¶ u4Fß~û-L¶jÔH&“Y__³)NÓ¦Š-ë×î#%ˆ,ü÷¯Ù!ó~ðõglˆFš°®o­á¹3Ožùxû¾ýÅbQ‘$I–UU%„ÆÆFQ5Ms»Ý'Nœ¨ªª¢iÚáp¼úꫯ½öšÏçóù|["†c=Ÿ­9þlzn6>1¾ýßþ»{÷°ª;z„•ä¨Ïcy~%Ÿ‰˜÷´¬¿õÖÏž˜Í ´páN ¡dL„ÀxâAÀ"‹aÐŒ¼w\ó6­½ ,2GI[¥&<Ë,Ç‘HCOOMOÌNy¹a ”]šz3}~|jv5µ¹¹>3~‹S–僛Ñáî[Ÿ¦Ù)eÇè¢ÎŒ_/ZP¡¶–Â1Q{‡Î9Ñ—‘¨|AöÕ*d2ãÙµêÞ£9ŇGœM-œÀ犖’ßÜ__Lo²ºnòùÊ›ÛX>r7chy€£ÇŽVÙãó)Ur¸N1ä£uƒ)ŠÚR©¯¯§Ö²,Q¿á l üßð°lúG—,-¾¸¿lÞÔtï¶^[Eëñ´¾üêÜ'%ï¾üòˆ¦m¥¾¾ÿýïoÑÅX–µUYY(-Ëêí톡iÚ–ZÐ#ÍdËExÉn¯=pðáOÌÚ-›Í Œ¦y=gsƒàór²!Ò´Ãaã9Ц€Í¥ØÈþÅOròš£ÁO2yËzôl €›ƒ^ýÓ¡âfRi5H¶`aãqÊfSœBµ,\®OßiÙ¦Wùù²¾½ûéòN¯ä}6 «º·^¼ŠA’”wFn‡‹žð5 óKÒÔ÷hºq“ªl>^[ÛšŠºU¥ á¯Ú)Šbt¦€Á%ºùH—ÿÈéɵš7®`©ŽûÓÓ“vU'BžÆZJ´º=G¿Vñß?¸,76}>UÓ¶Æa¦€ùéù0âøúó¾Zx"y’«$AP——†‡¥¶v§^¨åÐ{(Ç®þé¿«ÝXuìØS阭ØÞ–Αÿû¯>8ýUæùgü‘ ”ÏdúÇŠÙd•{³·‰6 Ù³gï¶ö6Ó0,L8Ê4MüáMÕnyÝ~;1 øk“ ÈÉòÈØºÓ W*rý΀àaÀ˜B±¸Ï•,Æ0„À0T•1¶Fزjª«{ê«Ç¢™‰X©½ÝÑPÁhyœ ·Š·‰Ä/Í™_BÂtš°4üÖ1Í«&MŽØ4“χöPåBϾóg?Éiz o—Y*n ’H$¶ '™W[8åu…§“ù·¨ùy³¹\¾TJ&Ç1Š `²åÖbŒ!‚ím­Õ‡_š§fß>¶T–†³ÉüT¬ÐÕíj©¢cÉB¢Tb%=›Ëåò…L&ˤӖ¦¥R6Ÿ×Y¥Ó[ö9›Ë™¥›NSÊg²¹|žÎf –µ ƒ1ÌL.›-Óé4„0—ÏÇ&'tMÛÖÝ=tù²RYéóûM½ôäEý.pà_X€cîläÞ¿ü=]Ôt™¤õfÍ×[þü]Ç™kuB„PÜÓr¥,G—£^OYïî šç,ã‘ wQÆ®—¹j¦á÷oýyöÆ?¾›Í…£f¥1vÓlL–Ýó½oï,еÞ¨r%Žélí¨Œ«¾Å}ÎòRHbvË'–Âå mYܵó (Ðz©ø(ñeaØ|.}…k8|lÿ‹û|&]õÉeÓ°ðÐíât´A@dÌ•˜ñõòÞŽª–k&ZwòTeee±X°4`tyGRÙïõàÞ&FCeOñÁH’Ì,-Žä ³°*kgVÙò ¿–Y™ Ox«jÛ^ûZìÂ'¿8s1…[ÿÃïözœ.ǹëãZ½Ò¦…Íö~ÁïóµnÛæ,/×tE–Ùn•6ju¢«Å"ËLùMo Amf`*Y$v™qHÖšnš–Ã6ÓÁd„á ÉC #ÀG™A4CÓ4óÓŸýì–=ñpÙ¶0£ü!ç’MÝ$Ç1 CQUÕ²,–e·Ò9t]×u!ÄqÜcÄÖ1øIÿBQeiËÉ¥iEtÁ¥ƒöLÚY]‡5ÅðÒŠ9=S‘L!Ó$l¿5 Ã0[h0„eÙ-’™R©„1¦izK·T*ºÎÛí›÷‡ŒdbõÌ™õõ^Yj¯ª* R0 ( élŽXj*›|÷ÝO3é˜,IÖÂTîýw耛ˆåy *±´ ¯.\½ê ‡‰e•òùäÂ#ËîÙ9š¦ ÃH.-ªæZ ‹²Œ ÉD"¹ Û¢Ýë%c3K ÅXlÆ´h†)¥RëãáLvÆfÛx8‚ .–J=µk×®‹/Kø9÷òcŠU q¿´މ±—^<ͦ§#Ëþª¦ý‡­5l:«--- ’Ô]_—onvÔÖ¥4-—Ë•··|^Áå.÷ÚêªÏçƒÁr³¤*õõ«ëœÀ;ëësáW}CRÓ2ÉTc{‹VÌ,¯È]ÛÃápK{Ƕúz`™Àf¿IUg§×ëMÄ"_ž ý/?}~Ö³Y3Ÿ?óW‘+u~÷_¿ü­ßsØäëK‹)ÓÓÈ{eüíVëb…ûÊ}fÈ“„ÏG±S£=H‰´00-¢¤¹’ýƳ²ÛF•Û´ý}ÞëßJ‘{/ûé¹*=„ô£k¶\R±ÉH,ÛxXâ9.ê–,ÙîäE›Hæw×­å’ÈájEñâ…óÓÓ3¼ ƒÁ¦¦æû÷'&Æ Ã¡££#Þºu+žHT„*N:)Šâùóç§§§EQ ƒMƒƒƒÕ¶è 7%’kgæhÓà6›"JâÄÚúøø¸¤(UUõµµ³³³3ÓÓ‰d’rôèQŒñåË—Ngeee(êï™±LÓápôõõ-..fDɬ­_lÊ¢ÈZƯÊ5MÓf³SŸ±ÁHƒ‡‚Û‚!iîzÿÌÌŒ Ëm¡PmUU›33Ó…BÑRKí>„áÅ…åå•l6Ûå÷;Ýî¹xtfv†çùÖP°®º*j³³3¥\f=Kkz­‘¤ÅûÓFa£Ïv——;de6—GM-ºÝFéÇ8ðï6ˆEÃqºa,gsÿû›?Ûyà@:ž(K»aÿ8Ï{$¸Ê¿q”#_¸H¡(zTK5‹ÈÉO/æÿélî['ƒòÛ´í½ž3Gq:íe® UYvÔí¤§º¶»ž©,â+*7lìâ%Ô[äö˜>Ÿ±žÝÁ+"4MRY$ýãmyµ´r‚Gi_¼Žã´bfP·áß¾àWB·½¡d@ò”»Œ xH–QöÓýá÷¿ö¯¿{z=’ x~z¯Iªß>(ìhbKÆaQû¼ SÆ@7 CƒB‰HRq¯öî¬Î•z|ïl®j/üæqÑ¡LŒ>¸–Ï7èß9.5WÒˆÞ64­õ¯ä½ÈiC¹"y0£ò’Yr ‘{éténU¼ÑøWÇåú Í2àÁŒ~æv¡*ÄÑ€*"dh¸¥ú„MÒ¼¿œªidÕÒ£BD3ÙåhÎŒH.¥Ë¨×¥Öö¶YÓ÷Ré( r‰x<]÷ºÅx<ÇCAßüÂ’E ¦ª««k µ‘ÕT:ç°+áp¸P($“Éu¯Ç™JFãñ„ǃ–––xŽÒ4umm­¦¦fuu[E¯CùìáòœzikûB‹u•®h4ê·)ˆ¦—–)š.d³sc£µµµËËËñT* †ÃáT*˜™™ñy}Ù\vyeÅç÷OLL „D—kaq©«³sii)‘ÉTTV†WÃéTªBà¾lÛz,,Ë,..F"›•^{6Á£l:§¦fG¾Tšžž®ÛÕ;;»¤é¦ÃaŸœ˜jÜÙ“ÉçV×6ÿÒÒŠ™MOÏ9ìöl>7=3SÕÓ³°´lY¦Ëå8wkDƒf^«-[ݳ=82¾dÓ­¦êÐôÌœÝãA,»‰TTS5Ò¿P‹<â ˱,K€Â÷6Ññ4,é€B4„¢>§!øs_˜¡Q¶€&—t Á®VrQ¿ÿœíGg²?>Ÿ{ý„âqÒUe›ôðŒ&ñpOw}X­òÓ»ÛØ[UBpw={´G¸r¿tc¸¸¯‹—y¸¯“¿ùP½0P:Ú+ØDd“Àîv~xV›[Õ+ ALžŠ²ˆ ähÕñ­‡¥†ò­g$™SKŸÒ–dòº?m劔ÄS&†E. ä® «¯Vz›Ý ù"þðz!•Ç<‡!7V0ÏîyY€Ë|æë¿G¦®¡!•É$’ɶŽÎQ]Wc›¦D¿äP@DªªÖÖÕ%Ó…µµµÎŽÖ€O™\Âó©z7 :›ÞX,;¾hMÕ]»vpÈ|0Ï/$C"¿ÑÞÞZëàgKc‘Ú÷R(àªv{KªÚÜÜüp~>“LüÁëGÓH/å5oÇZx~b³r#®üµìž]×ï +<_^UiÚÿ$ ý/oÍq„¡i±d2R%Ë22–¦iB€e™¦i"D1 !´,lštÙDÕ`“¨kCEÂݢËÎüÁ Îø0ùæùüë§œ>][NEzxSo­*¼l*:ji]£ïMiP] Üñ^áüÜ¡âm²MB»„«C¹K¹gú»Â8ÐÛD®å‹EÜÓ", †!¤†eP®@Þ<›áhò§D‡D29üKÓ­LSAÐÍë“Þü4ÿÃ_,ŸÞ¡Ò4uw_!¯Qv¶ñª$wÇ2ã ¥½]’Mb,‹hºqu(ŸH[¯ŸtˆÒ4Œ- cšBH`a"eþð“´ÀïœtØ%º¤ã¯e‡gŠß9íl­áM“ M—Þº”>¸]<½[®GÍ7ΤX|û„Ã.Ó<?¾™¹;^üÎi{[5gZðÞTéíK¹ýÛ„çöÙ( i:yûÓtxÓ¨ðqK€ $k ò:é—VK¦ Å0é‚™ËäI¡É­hž¯1—¶óñ„å°,’_[¥IבãÇ£›¯K¼?m¼wµpp_ﮦnEbÒ%æ/ßÞÔ`à;ߪ ¸ÍŠ%M³+üƒ‡²QÅgcidZw÷¶H!Ô^/ú½R.— …BeeeZ¢(þø³¨»Œ?vìp±žðkª¦mÛ»¯:bY6355íZí‘£ÇNžœ:w¦JYY65­oÏžÖ’Š³™èÝðàݦ¾>¯wõö-<3µAÓœ(n«­ÕCAQVî§SãÌâ"rº°iš¥6MDQG!H0ºn¸]îò9¿×>µ¬ÿüR¶¥¥áPWm™K(¤µ¿¿µDlþW6ù]X„w>˜»¶H}õtËÞVÓéPF‡#?»Ÿlí ½|¨Y± z<µ95å«­;RUUÊç}¡èÃ!F²ªöî,äšÅrø·ï$6þÏ?¨ðÊäÓ©Äòò“¤œßáúqŸçyMÓÞxã…éiAž}öÙ={öÄãñ›7oZ–uèÐ!Y–MÓ¼?4833³wªj˲—·oß®®®9¸Ç¡ùÎhqzü ’ìÿÃ<ÿt¾ðßß©±Mµ´uÚ”zÃBÉTºÿê¿ÏYîÚÛX%BXúèÜÕ»7SÏ8x¼ÏscDûèÒ8(Œ¶·wîëj˜0ÎÞŒ€Ì@™Û±ÿžíMòÀxanò “};÷y½^„ÐÌÌôÑû›Z«<;Z8‘GšñËÌ[@1! Z«…“î^œ¹9 ! BÝk_ÿV_«x»ÿþôÔx×¶Ñ´wO—r¸#ßû†ÏW¾ïh_mÿáÇñ¿øÁÍŽÜÖµ—a8†¦ÇÇÞ0.´zÕß|Ö‘MGÎ}r=œ.+ÑíßyÎ]íÃgÏž_XͯëÛŽôúžÝ%Þy8:.¶züÕß:á(d7/ž½¾œtç©öï>çjQ×nôOL‡×ŠÍ‡zkOíQ¦¦g‡†„3~Ì7þÑ+Þ 3õÚ Šf÷ìÙíЕÆF©w§]Ë£Gðµ$ÍŸØP‡šŽx&&?"Â^w±I[v7€À,/ê- …ÊÝý£ù÷®õ°»;Øx^؈XïäM þñ+r¥ŸÍ—ˆeY< À·ª« îP/M&˜–ÉñM3[ry[ä^uÃ*i8_28Š eˆ¦1€"ÏCš.ëî¶^üìråÁà û„ûoEÇGË(!Dz.WbjìÛ)9ºz§?·ºR`X„Ë0Ùtº˜HQÀ¦Y‡9›Í¬(nld&†#m»Ö3ŒnšF¦e24ð9&KožÏµÖ°¯æEŽNæð?]ˆMæûÏrÕU’i3·²gF˜—*§w CM,¨Á¬¯·ï´( Œ†)MÓ!¦iÊ,ÇØ¦éšA4ƒ˜‘ûËM¨þöÃûvúO¿êD>Ý€O+HÿîŽÐ³ŠL ebÂðÚº¢(étzss“eÙ›7o& ŽeÆG}öîàÄÈÈC›M¹_î/Ó põêUžçWW槦]ÃîG’.;{æÜ•ï~ûk‡Úsï/Œ3eòÝ»M¼Ï_q÷ÎmŸ‹Ê¥6îž8q2¹qÏÁÆ(HŸ9wåõo}­Ú»û0èo÷(в£¥jxàžM$««k×o ¼ôâ©‘áÁ­ñ?ûì³×^{mccãþý!Qò«Ã‡öm‹¬Ê¹"¶»~9{ôQ… ÓG;ÁƒQ˜J¤}ž…]íÊÔôôìÌ/·nÝÄö#Èç.Þ8jpxºhÐǼuó†ZÈæòÔÕ«W=õÏ/,αê8Ãò¥å{ÇN!Ð._½ÅÒL>¹ÐÕ)v4þðãóñXÊ2-Ÿ÷Ì®oLNÏ Œq<_Z¾wüdíâ§7†ÊÆ:;…®¦£ýfgJE-Ý;ÚÛgî kš ßÿúk¡ ?÷ñ'W×Ö’–Q¸xÏ\Xî©Ì¥‰¤¦æûÀ¹lا¥ö —]›BGh}—0NKÚYÆ,ø+ÃIdÊ©þ«çWé«kå{›ÎÙØÿw³¾ UrKç#'m£êm0¬S¬eŸoœë»0 _Ø­t7 Å’† d€bY–¦Ðô- ×0,šB>¦L½þ x¤‡gf$©°±QJ&XEÁ¦‰ *ß¹‹U”ȃ!ŠcB!»¦ö ,–•Ù*«²á•øÔ$Íó!5ÞJM£eZ¦žÏ‹••DÓ¾æm¾îî@}pàÍ÷ÿæÿ,†öØ«à”J²ÛøáÉÔO/æZk¸WK, ¢IíçŸi‰ÍìK-QàÖMp¾¿ðî§éCÁƒ5„f<ã ¥¿ý çÂÑWZKy *†ÔçÁ [Ø4™Ï‰>ˆ¦[˜‡jÒ©Îä[·há¿ÿÍs_ÿ~w80Áïr³6›Ù4q‰e\N'˲6›çyžç\N‡©Õ8E1¢, Š"»]®™å|Nå,DQ”eYEE±u5!¯[\]UW¿ä9láõŒ(Qøkxâ÷wί|ËU›·¬½³1™Ë,–·ÏO,­ewìÝ:<_0 ¤Üšš™o¨«6é±"¦ <›¾9är˜Ã\jÍbäbÑéb>ÕÚÜ Ó&r1µ0;ñžõCn—­:ʦ×9D ¹\&ÑX_€¢©yÈäÕØ|E¹Ïå´óIO×Wõ:¼ssDÎLìÛVµwG¤¥´VëZ«u­ÕB{£¹¥—+“u> •‚Ùí0rjL²½9í©±fïk†/Ÿ]8›²=ÐãûtÇsÝò—m…)«Ùè\V³TïÏ þk‹éUìJ@ÑÙ«Ô«Íö• Ã7ãy¹"X622z~DÎ ‰É1“ÕVYY5333==]QR5àæ:êt}ò—ŠA7®˜U•ùèBêæ¨¼/,G Ë‹ÅØ)dµBCàŒT™ÜN½Ù¤7mA?Ç!quÅè´[˼z‡ƒ·:ô6»ÎfÓÙl‡]°ÙfWV=VKû}÷[ªk OHýÔÆÍ¤åw7WÌ<¯¬oôÜsÏÉ‹£ßüî¥mÝåŸ<à9šÊÒŸœ,ÆÖ2wudÄä|1™‰{Žž)ìûÛYauy9It!-u°=ÉI9UeÀd– Y\\L,/“\Ö[NæóDQ KamMJ§í55%·§ÂzRmó¶ AàÎÞP¬ú¼Ë,ê &Æà«/‡gOÏæò %˜Û/%…æ8 ~áäµMõáäSßéö™Êý÷R7ÏýÉöŽë;»ïÀÊ `”2AàÕ(c7éÐT±Ö«uÖ`ÎdZI¡+ÃE=R¶×C§Ç°ž.Kª$îªî2“ôÏ•šLc¢ª‚À§rduCŘƒ€”çEæyž2@©&ð‚¢*%M¢žç5J)ÕxŽWIi=RT…çø’"Ü׋’hÐŽÜ{Äl¶(ŠüÁòƒªª¸±}ó7þx!“Õó¼Ñï÷w´­–…¥ÂÒÍ…¶ µÜ‹WŒmcc«5¢Ë븖ðUšÒa[QVæ„¡¸ÐêÉÝœÎ)îzOcm±( ¯i£Œã9UU1ÆBUUyž/™Zñ¯¨ F"HT |ÉJ’çyE–µb‘* ¡Æ„RÃ\ÉYŽÃXÓ4ÌqTÓ4Jù’Á„0UU8 UÈ’|ÛyB„!55•žŸ3–ùI± sy{û7‚Vå‘–›«¦ñH?ôç”­P9³óâ½ÛŒ©äê‰3çŽì¿ëZßÓ—/Õƒ^Îi6LLs™•}üáé•ôÿËܱ…¢¤Ïkðð}Èdü“ÿçOíVëÿú³?Ëåò‡ÍÅÈÿün2– ¿ûq[O«U,Ȫ(Bô®ÝDˆ={Æàr¶nc0MÃ<Ï ŠbŒd2@I¹}ßrªª>ÿüó[·lilmÓ”|*£þÍÑÌä¢ò‡Ÿuîê±-NOý¡\Þ3àz`¦ï…Ç÷šî»ïþ…¥ÔONŠEín\Îô_»1ȱ >ôØRôäã½&AˆM¤¯ÎãõâÚöVbÅJ³c~zÚP®ŠDŽ>óLgMõîæfæñ<õ‹ôÑŽ-[¦/\ÈÌÏ…ï¾P HŒ©Åb¨»]…üåa"f£kÜáòR ¿øä×>>0ãôú‰ñ‰_ȯ­µzÜÍûöùjk©$Q¨B5J L0æ8 6×°ó9zb¥¦­©lÜäVÚéSW1Ò¶…Ÿê±&:šØS¬3R÷Â#=®Š€²ÛXL !¶‚´‘YM§ÓcÈ98#2‚&·|Éo­/Ýâ·$v9®$Ž[ºc!Ñ´÷­g”ò<íÿ…¾ŸÛu p¦ ñ‘aqcÃg0ùƒH5¨2éúT ;Œ²twæŠ)‘žqßµqÛ–Ïyóã×+¾ˆ]öÑoó+ç0â)â‘S ¡Þ—ÂT¾é–f+Ò„”Ðð%—cF™Fµ’¶Z)˜ !¥¼aŒ"šF)ECõ‹·c§àpªù<,íRišF ˆ0Æ”Rj¥íc Ð4㸙u8/¼óEÝ*Ð `~>Æ4 2ºˆ]zd“Ú?NчjsÅŵ¿ùÁúÞ=^@¡™—º ä²6¿¼&NO]ÍôOÏ`¤å‰é¹Šƒzc9TWûF®-š}VW,/¤ÙáØ9…ÈŠ²8?_µ:-•ÓʽøüšóÏü³¤ëCÌs¡’ÌzéžC‡u)¹9}nÆÚ3¸=j>G5 qÂ¥TÕ@¨ŒûÄAs}¥._¤”ÌqBÄñX§3ð,¿½ôYÇÖ!›‘‚- «þÖ?ýÑkï:÷ðv@8•ÕŽžÈç%ðùûŒ^{ÕŽ­]ˆ?úÃ×Ò•ºë¹ù—nÜØV©yåÚòJTZ†ëk>µkÏ]sW{ûûúäLZE€Çí‰Åb/þä¹ëããöî¥”Þæëß9Á‘¦3Â=†Ù9a}•}¤|`@o0Ƈ‡æNg Žùþwþõ[àô+$@¨Ö¸¶=¿òØõ•·V_ám1G®¯ᯤ\×Ü·J¬Å\>6ûà7{Ìâ*”ô ÆÔ ‘6äL®f1q™!^g¯¦D„?GW"dÃ;¶¤Ÿw9ïˆ`ßùùß?ìÇ~ä)ŒAJ£ @ÎæÖ› ²j^zw¯¼l×%®9ž,TlµÓ”Þb¶E‚1¢É¼"Nc!S(ø“çàQ¤*?Ÿxç@Æ(`€€ ÔéõR.'f3‚ÕÚÒñ™îOÿŽÎâ+ƒhbŽã9N–å[SÉxBQ%QrØmF=*]ËímñüÆÍÔúàƒ@¯-_˜­Ùç™eé§S¸£Ü å¤ÉÛ˧¸‚r2º¾[®ôxìýžúæÕÕ¢L8¤óû+ÒÑ(ϱe‰¬ýuåTº®9]6Çz*ÝÛ×w°«ëîö6B©ÙåÖTQÆ(R®BôëúŸ]ÈçEÊaÒ…C<_X[+έúõÍÛ² óéÉóÁÎ.¬3hŠÅ. çg‹ÿõIGKDȨF©¦ªL#FŽ$3äÝèmÖç‹Ô ÃcÉ×Fm÷ñHÇÒóŽÝô~ìÙ“b¶H¿ð€­ÌÁ$8¿8:>­­¯kׄ6Œ¹xZÊi¬¦‚))`2-fóþÝ»G6’v‡ãᇞº14سe«ˆ±(Š„Ÿ'ѧÆaÀã÷€^¹fÌåôÁbV²YMÓE¦ªz õ `UUÓrjTéø@ôm¥©|’b®qõKúf—ôÍ¡Ðg†ÂŸ+Ï\ã©äÎŽe¼£þ½˜ªŒ1M{÷¢ÂTSóù圶(V*L\zÂÎ’’G}hŽ€0âyˆ0P²÷ ðþ§.¸t½®ú½ËEU`2³(Dr¾Ü°5õððúg*šä®äk¼_è ~RœJ´üõèJ<‘N 7Q"^omOw°¼BQäŸ Ñf ô5–º5J9ŒEŸž¶)ròä‰øØØõïÿ (*[çw§*KU!·¶<cóó©tª¡¾Á`Ð+„`‘ÀcŒ_~ùÙ3§N´n~Ù÷Šw¨É!ˆ8Oz&Ì47¦§’»;5¿úÝËPgå~Î`»?<°WldšSvoÛÖT[++Š€°éÊ¥µtºª²Êf2Y"1Ý©%®A³Ãתerk™\,‘[­•á0gµfEqùìiY–ïÜttz¸Œ2RBˆ,·n7ûƒj±ˆ0–RléÂ$o®¼ë.M®œ96Ì›ú‡—âcÀsðl¿øO¥þü‡©?þ¬£%"dˆ4`"Cp*};z 5èàÄ¢úì[…†Jn[+¼´ÆÍG7FÞ.ÔíE_|Øå23™p““ãC½uMÛÖ¤ÐÁÝ6-W½¼¼[Z[+ÊKóKKKßýÞ÷*†D,6¿²ÚØÜL)ÝØØhkm}øÉ'õnwu$RÊŒ~ÞEKTnøð/Ìâ9Ìóš¢@kï{ ´ïŒRJVó”½yþdL!$®j¨Žì§Åi¡å¥+­mÇ}ÛŒF¤Þ+¸ú¤†ùÙûx¤!ÀzHQ@#‚ŒUQÙ;Œ?NU啸#½Z–AŽ„Ã\G«P”Œ<Ïçr¹éÉk@ËJ5¢ú*ê}Áºÿ}6…X–ò‚`ELӷѵ0â¬\¶×ëØ£;0@¾‘LÎÛh w[4Š¡Žìù™ôewUUgwW4¶"UFêï¹'“Ë•`úüòyŽ+‹—._VeSÏ&—Û…Îd23ù=»w¡îMçþì&''Fž}f6_ ¹ªªÃj5•••%Gã)×®õy^uðÉïWÓ¬wٶ싞9zéÍðÝ÷ø?6ñÂOÓ/ü,|÷ˆ8"Ë·¶èÿÛ§_ÿÑ­î¨7*2eö·Ï¤©ÞùGŸulm)½pbQ=z"×ÕhßR›ºx¾‹Sö(g/w¬ýÄizTb:¨©f³i÷îÝ"W=úÜ`ÌmlîšÌw€M-¯‘ùù=˜ghqnžÓˆÓ庫¹Åj³eóùîîn7FñD¢»«Ë¤×K’t'ŽÝazôa'#üùÀ PB¨ªFß»éwþ‹«©ISTF)Ì ×#¢›-–D"ÒÞÞÖÕ%R+eBʱկȄÇKj1›ß`FÄ €q€J@]Èôð^«A€‰!DÁÑáûV¿¿Ö÷•?ùjù³›Ë»cÏÁl6ó¡1`1[Ƨ¦ o,Ô¨8úÖ B© ÅâÔÿ‘’cÚ€,ß‘½ –1fÌnÁǵ5âœ=ìÔ\–ݤ€cˆŸRjK³e`*=?%&3‹gO½ôì Ñ>4‰Æk²´ÌñúÍ[BzÏœ©®®.‹Uµëõî{K²tí¯¿ž™™9ÿì3É·OzZÛjÚÚŒá _@•º€~¿?“É<ÿüó.—KÐé§çç0ÓÊ<ž,h ={´/?b5Y €âUâÐ#@ur‡ïüÛÓ?½¬-$CÕ;<žÊýÖ^s¶]€2µwÖÕËÅâäË/U<¤³Ù¼mmÂôÍäñ÷ΤåáM‰ã ŠÆ<õ î–VMQ²ss™å%l2‘BÞ¬@á%š¥¼Üä-Ód"”œ¼)gÒUïF7§(JCCCeMÍÔ‰ã-R‘tvÚÚ+þ§žš"/Ggüìk‹fAgôjfo¾^Õ|¯·¼E‘rDcFÞÞY¶°\à¦GöÑÅù¾ÕœÉl­««u{<’(Žœ9 7Uû÷Ͻ~lîô)P[ «×ðàÌŽer†Éô¹Ýîú^Æß|clfºjÓæàÎ]øÒÅ|<ž1‰¦UÖÔz!vá|"™,,/¯ðáØ•KÓW.ç F³ÙÞ¾“Q=n=™Ê)J¨¼ÜYæ«Ú·ìõŸçÛí§šÜîÈ'?½ôüOF~ôCëî}n!#ÓdO}½DG*¶y¥z“É\V;tö‚>÷44d¦'ãëzƒ¡,ÊÌÎl ‰ Œƒåå ?7·pµ—ù—ÛU[—™™^»qc¥¼Âj³Â÷ /Ð{€¿@ßä?õ÷Û@Ž ·37p½¿Pôx©Õ–çDÑ^Scq8Škëñèbjy9]¾Ô74lµÛ}^/æ¸x<^SSÓÖÖ¦icl9¶L&“ýÓ33@°³«{ff¦¿`ee5•Î5ÔømºÄ™+‹½ Ñ™Ë6›¹¢¢cT(E–F wª¨¼A<Ï\üÙ+ó—N®m€êú+ÓsÐèrøj œ…èªîÖSÑÙÁ®èíŠ`Wtxê²àÀn¨© Æ2Ç`0”ÆB±X, ¹=¢(ŒjÞæÀêàÀÚú:[[µéõeí¼Ù¬É2Ä8“ÉȲܽcGn|lð»ß©>r¯µ±QVîwŒŽ èt‚ÅxåÄpM•ïÿïÃ[:|:üÔÃ÷îònjÀ‡¶˜:êtçû‹ù¢VïYÌnÌ{ýôë}ó³3U¡PÀëí½téÆôL<.¯¨(oh¼~ãÆk¯¿>:6J5j¯èÀ(÷úk?½xùÚêJ¬ºªÊæóíï?{éòäÄ„/¬ëìêëøÙ‰£““ˆã:wîJæóÏ¿ðµµX¬±­Íìt½úò+g.\˜žšr»\­;vÎ.,>ÿÓç†''“‰DM$‚uº“}7®ÏLM++¶l=õÖ[Çßz{bv#XWß0~sj¨÷µ2ÝÍÎHÑã‚•U5>ãæ\ñöÙ+ð0™Õ^:§ŒM®ìëÐL‚ø¯ßyjzzúüéÓ;iÛµûÜ+/÷Ï-läR’j*jv\ŸY›Y]S)—U=$¦â£³ EY UW»B¡ë§O_­®Úm¶HW×ÂøØ…Ë—gVVQ#MM@¯ïííí¿y3›NUÖÖº**úΜéMçr:‡€ à±—ßþ6±J…÷†¬ŒQvìÌÙêxb· ð/ŠbI¡‚1¦) “$-\míw/¯\øç~R–÷ýîïñf3T”P(tæÌ™·OÎ]¿º¯&3 W_°—Ú¯ŽÉ¢¾¨thÿÖ?ýƒOþý?üömÛÛ+£Ÿ-ÐËDø›Ù.žÁ3óªÅj UVÞš«3:44ä $Qœ›šrôô¬®«óû¼S|«1²Xn홟›+WÕX*µûÀõµµÑÁÁêpxMU+#¯×;96¶¹»;ƒ0²Xvu ŒÌLLT„BIJwìÚ•H$†úû7õô¬ÂÙ÷í;uêT<7Ó3÷>øààÀÀHKsól6×ÜÙi±X:4:>)í _üø‹?úqz=ñØCGf×ÀçK8g¤²Ú3'ò>Ÿ%“H$’¢Ë媎D.\¼$¥SBm-iוּ;Šù7úBÍ w[¸šúúÞ«W]µÕ++k¸°ÔÑÓ3Ø?žžnln‰›Ì‘+žH”~¯¤ÅjòûívûÕk×:ººò¦ lnh‡ÃÍÍq“9äóÆùùùpeÅ ©óKib!Jsšfçyc²¢Œ(J:™”ŒFㆠ/¬¯—wvy¬½N7t£?¶¼¬„Äúº¢(øŽ’âtØ[[Û¢Ë N064Ô ‚ÐÑÑ]^NܸaK§òÑÅ`kÛ!±.’~ýRÙt²ò8Ž ”ŒBïL.n¿9âyôØØ¥lmÖúo_ýÒòÛoÚ뚌çø ÏY~“ÛÃA‰¬H©$UUˆñmMö4I+åƒI;ë†5BñTµ[‘ á ¸ÞR·Óˆd2¬Û-Vê´óƒCÆu7Àé­ÃjSU%Å¢&˲Ýáܾ£®¦Úb0]|ûí³ç϶ˆÅÝ»vøZ["Ÿøäìô´"+Ëk«^¯G#Z¾PPU•ã¸Ræ dI¬¬0—{ë#$/]ìŸ:ú´Ãí_ùªÅå–DQ’¤øÚª˜Ï‰ LŒŽP@½eÞÅ•L"à ”ÞÜÑ¢T[‹'›[Ú=^"™s9Ì™<ý—³‰ ùÚÇ]7V6èõË…\6°;½F£ÑjµµµµÍÍÍ9ìöªª*›ÅÒÒÔtáÂ…Åh´¡¡ÁèñºüÆòàØø¸×ëD"n·»ºªjfzÚ`0455¹Ž¦ÆÆóçÎ-..644”y½Œ±~‡ãÎõµ55³³³ƒ¡uË 4ÖÕÍMO ÕÖÖAëë† CsK‹žç»»ºFGGóù|gg§Édnnjº9Ðâ…×ÈØÍÂÄÈ™Ÿõ-ØËšëLÛ) õºžžž‘áa‹ÅÒÞÞŽhokë½r%—ËmÙ²Åd4VƒuµµËËËõ ¡PȨ×www šLÆòòrr{Îô+­)„Nž7h¤»¾1ÜÞ±pù"§i¡îÛóZ,æjëë—––]këùdrbcƒ dµÙJ‡F)üdYô–Ó—&=CÀ?ÿôÓO«ª:vóf&™Dós³ƒƒ¿ñõöï…¤°eùñ›Éc—¥‡vM^R¨(ЉD‚”`’#„æææ²Ù,ÆsXÀÚù}óòȺ~O É„¦#-cGÿéà¾N¥±y~a!12”‹F1ÏCF‹IE’‚N‡®rBHcL¡ñVÙ 1SñKWÄÖWõ»Œ®Ì¨ ôŒ±;Ñ# 0MÓnõÊ!ÄTÎð¾Œi÷JqL/Pˆ5ÀmX÷f®Â€È’êëêi|äQÀ™ –z¯bš›ê+ëª×óäê”ZÄ{w;ÛÅ\ZQÕ#G556B„’Éä?þã?®­.ùÊ\” šÏë¼÷ÀžÍ[¶$®_;þ¦'Gü}¦)[¿ö»‰Ô†Å¤ûäg>™|ëøŒRå·_þÆ7,…ìo|jïÓßë5¿þH@ºt&³eS×î]ÛUUeš\””gÞÊ$úåGlå^>[ ss³ù\ZRùɹ\·Q¾q£offFÅx›ÍŠ¢èp8^}õUUUEQ\ZZº½>“É”ÖOOOÏÏÏBE‰Åb o½õVÉý`~~ÞçóŽŽŽ—î Æ˜Ãá8zô(!Dc`à×ÍK“Qþà¹éG}üc­$ÒÑ…l‘~þ>«Û†£óÜÌÌl1ŸÉøèz¶1ìê¿qcjzZÅèR´`3«NÞ`-f*¯f³9¯Âß_óꪼÒüÂB¹¦={¶4éF£&“i|||hhˆçùX,V²{ñÅ1Æù|~ii‰RZZ!\\\dŒü^I,¾S£_a ]ú›SàÃÖ´4‡·lèK[L»*wl) n·{ðúõ{ï¿?ˆÑéoþí¶_û¢èñn¬¯— `Ji8†@ÍäÁªÜt£P9! …B‚^_ÅèÉ·?{uÅç3…Buåô‰»Lϼ•‡•vèÇëo\¿96VW[+ ˜ã†GG9ŽÛ±};£€ðØÅüìšå7‚äø•W_î©oX¹1d®ˆ4ÿÖïüÓ_}=öÚ+ ]ÝžûD”jz£Qƒð[ßøÛž¶Öºººb¡P$MQ6wt”yÜ”hÈí6ó¥bË• ÃmaCQf  !¡ Ýjt1Œ, `1tËKe•Ž@›·GcP_ôZ**UEKŒ&''{b³E½ééãÊ“|®¥Úe6ö8|äl¿¤jÉöZsmë^Mc”×Ý‹s§(r¤iwN±MÌJ`iÆ”`d Çá”Hqë–Ϫ7¾ÿ]q#qùg—aë ±µ-T³m~YY^Ñsúˆ©ªŒ÷Ù ÏëÿîÏ<öÄcó*„ª¢h(pR ÎJë)íó÷Zʽ\®H`ÇU…e°|]Í66‚øúªÙl ƒ”RUUKaS]]ÍqH–¤Ä`Þjã;š+vìädYшÌs ôìØÖ¥iT’DM£þ2{ksí-IUE×D*8+Š"Ë2`¬â½ëBu5!ŽãdY.‰EW…|»vlº¥zI)æ<í-uQ”4B BM-?tïþc?>5}M¬IX_?½ùmÇ®#?9“Ëèçï·º¬(‘*VUU˃ã#7¡&œÔêë£c#mm••¡ªª°À±ã)“EçpZ«AJi2- ¼WUù‘ZEQJ~¡@ @)-}<ÆX{{;Ƹô¯B—ËUWWwë@íÞ½Ëf³AFnsýóKizˆ,:A'0„@»ÃÁ#²lµZKͳ@YY.ŸÓ|©Tu¨2Ð-/uMs»Ýu5•ë)²¢f«Ëù=[M*¥Rày‰x4úÒ·þéäÀ@ÛC# @Òbô‡gØÓâÿõkˆé dnvvzzº±±1›Ü°ZmS““étŠ0æ¶·u7:«,WWÜ}ÙÂüúz•Åâjh¼píš.ÚYÙý¥/ZÛ–Ö×ÏŸ;çòz[›¾óâK¡ýÏGgfÂMÍ^·'ÔÒ<<6¾–ü5ÊùümœÎÖrìžÝX ù-’¤aŽ×ˆªjšÞ`8|ð`&›»~ãF6›ñ{Ê&31fåÂ{÷74óDc*a#o§c ÷ì3™Œ€µ¾oÿ몬Ôïßyp_ׯ)öW2¿v¿¹±J·¯‹³šà±KÅ«c)ƒ)-`"“©yjTV”ô­¾%Œæ`ÄqHØ’è1¦g¦)!É£[ÁP«=‘NÍ9E¸mù§ ñ|³µ¬QÚ¼ç÷%SäÙ·2ìÚ¡ôUæsrŸ=l z¸\‘r"„TUUÕÕV_¹6dc©´?Žlݺµ²²R’¤[-ôw¤ :˜Ê±5"nkÑUù¹‚Hu¦s”h·Äõ‚¥c”çBA Q tË(ü7¼½þAhðýgÆÞ~Cö®r`bkyßÞõ°é„í­?]X8ËøÕ›!ì¯þâÇLv=É‹AÍjq´µ¶Æ–£ ãËs‚°)(ߺukSSc&“5ê!gW$ƒÒ³ÙPâ0±Iä:ꄽ[²r« ºS¡ú}!S,S©”N§‹F£Â-[¶Ðw8†Œ1Afg&³Ùt©x£”~s` 0¢Qj Â(L¡ a ÇsÜÅsç¬Nçÿÿ_—çæ_~á…îžžÒnT"ܤR©tZ“Š…bžÏ¤‰BÞñGÕ銅ÂÔââù\Á[‰//s^_"²èqDï½:;)˜JeÍ-¡pøZo¯85¹ŽÐœÏ_ÑØ¸¶¾ÞÝn.w£kªÍå>¸kïkÏ<3–LÙ¢K•»÷vttH’yaimíÍW_%iafæú¿»8>v£¶Í[0¥½¯¿”xÜ/÷N¬­ÕZ­«yATÖê"PUz/Íç,êAÅÑÕ䦊Š,B YŽ>{t%•ž__×0²2Zf¶ÝÚ|óW‹xZ£PxVmc”ž=;V}ð@`×>g]]í§?{éòååÓ×>õø½¿÷)ã÷^Ýxùláæ‚ZÊ ¸q&,Ñ Þmh4o I‡? ”§ f ýÖÂÈDÐj&U E“Å¢ E‡Ï‚¢âý{vE.Š’¢È”BI%ºÑ€Ž‡›uU~>w¤L™šž[‹ÍµÕ;—–—!]étº¤Ï|ût0±AOö‰AgâÉZœñ$ |íbáäµ"B@/ ;ÈEAX,æ1æ4BréªÙ1ïZ¶ýŽ<)Ð(;¼Ç½ÿð¶!û½?yýôF>}ù·?³Ræ?’NäP D¥¹ÆääŒÛeokð ö¦ÕÕQ,?~ÂlÄ­[?‹­ýÍß¼ò™Gº[Ú·¿ðvF,ªuK2¥ªä}RŽã$Išœœ\XXÈf³‘HdrrRUÕŽŽŽ|>_**õz½FÈ»ß"üH¼‘Jr`¥:#X^^&„@JÍf³Á`ÈŠ‚3B¨ç9•zÇãvç "ŒJü@ è;‡N¯¯ðû›{ÚÛC}>>?8*s5Õ6+S´|ûVnÁX\.ó– ƒ?H) „€·;8ŒAà=-SxAç³YwV‡õe>g8²ëóŸO^¹4zã:U^o¶X ¢(ètžŽNýèxEMÇï/ÆV*kk}½7:P¾×`œ™šòج•bqlrzÏæ®?ܹýò"œ™ˆÉLØ› D·–—_ìë-Š?üðIz»·W.æ]¡j2¥·%Ò}·¬¨„ÂÉÖëœzó¹Ÿ ÃwôÖD*6â}£ùçNæwv í­z²áiYà!„À C.e%ïÊb®tö¼·”ÝÞÎ5MÓÀ[Ì „ÇqïCñ1 B ÉDcfŠyJ™FF@”Ùô²Zîå|.œ/2Ê@É…Ïér™-v…¨N§K§7PÊná­!,©võ0_d§û•2'¿¥Ù ªŒC€çà g 7çÉ“÷Ø*ʸtŽ%v{¡×Nì·Ùlñõõ(ð<–¤¥‡îz!ôóLÒþs-”{™f 8?þµX|“62Õ2öOSÿlÓqZøÐ=*ÕJ¨X„Íf5š,œ`ôzË4M[ZZ¹xé’Ïcu—wõ^êŸí¥£Î4¼Þ²–FO¶ܸ 1„Øûøów„¥nk©¶/ ÌÍÍ577 ‚p‹iG)Fè=?0ûu¡oý :=¥Úß~ã¹\®¾¶vÿþý^¯—RÚÞÞžÏç; ·oß®Óé¬VkÉÀ!$p,™Í²[V [I!„Rº{ÏžîžI–&“"I͇ùDÞäÕi;[²ú4Ÿ-l¤R³×¯757ý~Ç®¬ŒÇã6‡#ްþ„Pªˆ¢Ëlv–•QOMO ^¸‰'j!8¾§§ghhÈårÕÔ×?ýÖÛÈhšœ™Y\\¬ªªâƒåÁ]»L& ÀF:-˲,Š9@ó»éø¥Ä[WÖž¸ËÝPÅ©„ìÚí üeeñõuÏ&“Y¿´&Æ{3eþÐ]ªJTÂì0!l>Ð*ÜÀ¿ý  jÿ[zªk´Ï}ç• › CÐ-œ5Èt:¡\”K¹"€1QZ¢gcƒã¸[r"H/1ƒ,8 9•iYAår .c*G4al>~ât<:ÛÐÒå- d ´Ê÷v•1#³ÊÙ~qg»>ìç)CDçA*º¦©é—ËáóX zdÒs<*¹Oñ =y½è±ãm¢1Œáó§ ãóÊ'š6·&”¡iE! ßâMž›žOxËt™´js„8T$Š::§B(Õ~ Ç ŒÞQ‰hù"¶z·ìÜe»}&³8Ïÿõ_€Â‡îV Q:“Ñ zƒabrª½­-“Ép_å¶–F£Ñxúâ˜×’íè<5d®kÓ¾ð€½Â ²ú¾xy7jÞÉ5U8Îb2I¢Èa$‹u55v«U‘å蜱w-?r2ûIeŒ565¥ÓiU–F#cLUU—ËuäÈ‘íÛ·{½Þ‰‰‰'N?~\¡(Š—Õá­æ8®ôŸaŒF=!DUU½^ït:cù|@h0yŽ3èáðT‘Kqˆ‹¯­;{®½½ÝátÎÎΦR©šêêGy„ç8 I%Wo\'ŠʄȄHùBvaá©£GÕTòÈýwȨÝn¿ûî»A(‹²$¿p¡«³Óårg²Ù½{÷ú}>EQ.—¢(”1㊢ˆ}¹ÛùÅÇË}åòðŒÜÜb¨ PEEÂ|¾`±Z·nÝjÐã²u.•-/ç8È$EÑ4À(e”RBš>ù¤¢Òû„qäÐÝFù7?n^KƇFð6yPºªªZQQQ:K‹Å©S§ëê*«ª!¥êqnn®P(`Œ ¹¬Áê®°M˜çŽRJw>ÖµVô_¼q×á‡6ÎÍ%®í{ô‰?4;ýÎ2òÝ—ÿ¶½ò³ŸùüWVÕ·®d6d•ÚkÆÀÅ!i9Nt†]ÝåIž39}­yI[JÙW’B^-DJ4 !H)˜_%^·½UO4†à0|þTa|^þÄA˦FÝõ1éèñ|ЋÃ~#` èt8YS¶º¶ê¶ë×VF45µïÐ'¼>½ª*€Á_b¨¦ä­6ƒöë—yäèóC}ñ')DѰßk¯® Øl¶šª шÓîßµc“¯ìˆ¬¨?=•/.¿üëÖ¡:<-~æ°±Üòù÷#úî<y£‘7™Ju;Æ\ûΞpÄh4`„<^/£Ìb±Ü’%çy_»c&úÑš›(Õ Báª*¢iÉx|cc£´qÇ›š› ecSÓ.ŸŸ ™lÖív$î:\¦Ó™PÆÙL~ppÈãñøýþÅÅÅåååòòòH$"Šâ`?Ä˜ç´Ø'ç´lÖà+¯xôñÇ]ÇÜÜ\¤ºúZ_¯×çEñƵk‡Ã.K©©)Gm&Ë¥bªä¬i²Ù«B•II¢„p‚X_¿xñ¢ÛíŽÔÕaŽ{衇vûâÂBGg§Þl&^¹z5ŸÍšm6·Çc7›Åb ¤ªzñê @e½¬d×Ùßü»öÛEªüÖ´HÊ+BÅ|îÒåËU–× 75­œ»º¾ª óJÉt‹µùÉOF~ôC9›5ƒˆÈô>ÉqÈs8ž/D—–ˆ¦a5V# Õ|: ïm®©4‹Å’$clvýbïéX,VUQQÑÔ¬Ì^qæUU ÙUK¥ñÌ‹#r¦ˆ‹X^ž<‡I ¸G<È‹ I–Êì ±Æm6 Ïötòòœód” IDAT²-ÍÈj‚‹kÄ Ôéö#ÄÇ×W¤b¶2\ÝÒÚyõò™øúúæí{\N§JÔ|‘Õ¹î½F™ÀAÊÀs' ãsò'ï¶ljÒõ+O½‘ë¨Õ}l¯‰çà䢚-hAŒIwOÏàà ÓéôzÜ©tÖ¨£3£Ó_ª©gi3È £ú-m¬_¼°ždëß»Kßèjl¸zë= ”Q¥@°\ «ótx–E7ÐÇïvEÙtüƶ  $ÊÿJŒ¬\½J‰ b `Œ8ŽË0V*—H D„𢨼e¬Üyá|ÑG¨ }›ë‡:yò$clßž=ñx¼d<F§§§£KKóÓÓkósù¡.T.9œÏ[­Vª‰ïîX—L&OŸ>Mq»ÝŠ¢LLLìß¿ßjµŽŒŽ^¸rendXŸOç5ã”ì¶,zÊ Ú|:¿æõj\ïí]Ó¯ÄÞÌå2F£8>ÎN½µmï>ç¦Í“/<ϨVªÒÓ¹Üòä„Ëë•××4J‰ª ÌÎÍMÏÎΜ:)-Eg‡‡½+‰Äêâb¥^gº9öÒ•Þ±èR›ß×ÖØ0LטM —§fÆFGF¡&sXˆ;¿¹t7¡]6nsGÏ™þÁÞ7L˜Ó”â’h?©ÁØ9û›7c¬[\t\nµ³Q§·Q…4òIÎ`Xºt‘7›Á,?L£ã™¬mÓ&ÑÇßÞµk—ª’B¡`2ÛL‡¬hŠJBõx2±‘nkﲚÍ7'¦ÃgœŽh@Õ ÕæBX788,Î.dóRß˯™,Ÿ«làÆ ¤hzƒ%™Î:s®©¾ªÉWø‹¿ë›¹·¥ÚWP(ot¶qÚÍ·”Г닋 ³k«Qq&—«¯«½ráxly±³«K|¢¨ZLHVÙ™"!0>¯®n'ï±tÖéN^r2¿½Eÿ±½&ŒáñÞâÅAɨ‡:"0ƼmKR¥ÈŒV4·!O­åU0~“x“IÝùàØ’œš\ÍftÉä¾S¸çörIa:Dî?èë ]½}|“„g “C‚¿H¦¦°²2zôéXïe¦iav+—xjà6Ë]Îç|ÍÍ5_úŽDnou ]Zl6›ãñøôôt{{{ Ï0>> ïðÁ‰þþ—¾ýoÚÒòÉL:øØ.›íüùóáÊ@É.õÖiÏÀââ"cluuµdWyáüyUÓÚº»åh”MM«uj~jl=»Åyw¨&L¬‡ƒA—Ïwýòe©X$’´¾s·wdR)÷¦­›¿òÕ¥ÉI5ŸgŒ5ª™L¦Pk+]X˜¸|IQUÆØÆÆ†ÅbÉåóñ•¦i©äFmssµœ$R«%àrÙÎÌ⢠i“éÊŋɨòºBZ#‘\.784Ì ;QÈmy¡×RÌ]¢…<Ç›#nwte•ƒOÓµå—É’ŒÇ]NÂ\jrbàÛg{~ó7x§‡HbÍ}÷—ut*…üieŒ9[:=<3#‹ûöíojj‚&“ɧžzjqqÑårAˆ(eŠ¢„ßÏßÖÖ¶²¼ì‰'œË‹×_|ÈœŸ_ÈærG:» ªº¸ººùÁû®] …–¦¦……Å’p·ªªýC“‚’{ü7‘Ó]8÷¶Þh, ›œžÐ­íóÙ”id, ¨¥)Ó~z~5©"{l-¤ š*¿CÕº•¯"?uÈÜ^«;Þ+þðõì¾nÃcûÍWήŒJûº U~ž1¦ðކQI¡šBÀÀÿJÛ¯ŒQNï@ûö=»:þ“cdUæ™ÄÐQÍáп]|l&>Ú“xaàJá„Èx?d² X‰‹‚x^N¥ŠñuÎhb”1íUò!IP^§@d¸ƒðöQ§Ð¥F¨ªoY™ÃáˆÇã¥Wùý~BÈ… H.WUW¿TÈ;Ñb.WÈd,‹¦i„y€JÔ’Õ:Àf³­¬¬¬¯¯ÛÎM;wÁÉ›åŃ_þŠVî«Z¨É=øÙMuNLMîìîžs:«jjöìÙsõÚµP0¸ãÀ ÓbËTÓJ"£”2ƒÑàã^Ïæêjƈã:;;¯_¿^ ¶Ü}÷‰™ÙŽ;$¢®Çb]~Ÿ¿º¹¹šjA71;ëóz?æ÷_*/¯`šf1–WV£cf³U‡µÖÖŽ¶};vr_ëýÕûº<.ô­nÄדš°o[Ó¶v‡ÉjÓéMÓWTqmU¼ú­«÷×]_ûSYUUws ¼ÝÒyÿ‚÷Ê’`³AK†Ñ.—+ –|®K¿Žªª]]]F£Q’$§Ý¾Ùbé=ú´JTŒ0@°P,–ƒM-Ík‹óE£aÿ]wù½^UQÊËËÏœ9Szy*•J¥R™Lfÿ¾=ÁªÚϾ4ªÜ¿Óêó[T¢2Ê BŒV¥6ßÏ#Dá3`€¢@h²zâî´ãb0ÆÜvìsroöôFîÀ&çYd•½r¦Ð7.?´Ç´³]¼<,”‚ü!!AW4÷¬Grbrq2ˆ‘äÔfòëÏãÂâ„ ”pàƒdR1ætúÈñ<6IQ¤„ Ž??‚ Æ’¢ØTU£ï©ø?j`ªi‚À×ÔÖ ÊÊZZZJèœÚÚÚ²²²þÊÆÆÚ††oÿ«fin.¨j¦P°Ùl„Ûï¬Íh2>|XQMÓ:;;!„»}æÄñ‹ÿww}æsÍO~Z€ru£¤93-íå'ýû˯¾RUYU(r¹\¡P¨®© WW‚A€Îj]êïŸzù¥ðÁƒˆç5Eæ9.‘H ¼ðÂÌëǶØm6‹E”äP( F#€òÊ+¯V…ꢜ>uººººgÓ¦@ P(·–•i”ˆvîÜU2¿…Y]V!eµ¢jhóå â+c›wt!ˆ§¢JÑ(VTƒ!½J˜¢R1/¼¾ð{—¿þ—}ÿðͶ_û"„jäŒó²211‘Í劢è+++ñ{­Vk0¼ý3aŒc±X<O¥Rv«¥¢©™¨* ŒB!ª®«»vêäÄÍ›ÉÅ…h,võòåá¡!£^¯×ë)¥‚ ÔÔÔ,--MOO$™˜uJȯwZas½ßdä%™–Ž…HEk©ÂcŒƒ0¢ÊŒÑ÷ñ;xèøÖµâÓoæöw>uÈ¢ðÝ×r#³òçîµlnÔ+*xëZátŸXlfHéGÀ€1·„ª[?—_^–3Ññí "ÌHYfÈ\¼GáLuïÞ½ç<Ï ñ¡ÁXïF)œRÈž Ýu—£®žªêÏ `„ˆ,;ü~½Ï'ª Æ[ŠFñw¡U„Ûwn$»wï‡ÃªªBôz}}}=!$‰,¯¬Ü÷øã=ô}w¦×¡¢¢“¤@Ęƒp~aA–e‡Ã)]ëÄä÷¿ÛúØã¾#÷Fçç ­­c•þÄ}wxÕ½ö9Ógû®vW»ê½7˶,[rÃcº)„PL'!$Ò.„4r“\j‚C  ´`Š ¸àªbõ.Y½÷­Óçœï±…c7ðíãgi=zvgö¼s~å}ß­A`‹‰YZ¶,;+kfzÚjµ6¶¶’,‹˜¥Y684Øø·mŽ”Ôü«¯íÙþ¶&I$AçæºçC㣣¥“1VÖ´¹¹9UU-N'‚°¬¼<;+knfCȘLˆ¤IZÌfD’š¦c]4°°¬¢(€e„4IʺNž¡À%›È×÷…_?¢|{_”ÁÄbšuD¢²Â°b9Ö]ÖhkoP©HZõ“û=úTÕï~Ë»œ!xú¢ ĺ>€”œÚÓ×W]__Y^.F"¢,C¸nF¥P„7Þx£¹¹91>¾¸¢rµÓÎðœŽðÈGûcò æ‚Á÷Þ|“„YYyí–[\ÙÙËËÊÚÛÛ5M3¬íƒÁ`ff&„°««3!!þŽ;ï–$in>Œ0‰ÐBÈJô³-Æ“7úçÑdh¸ç˜øâÎÈšRþÊV¿½jè–o8ßZ–Ë! öÖ‰{jÅM妊"¡ÿiã+=’BÅñHóprûŒ+52TȩӅ ‹uüXÍć¢H›Íš(šY¶è»7ä_óÆlFŸïhg\8Žã††ú##C'îƒü¦ûÀ­Üçó}öÙ óóó6›Í°¤ÚµkWuuuJJJLLŒËjñ8Q#Ä2ph<¢k:@$Ę"©?ø@…‡sf>ÐX[cïí¹ùe+žxì±Ö††ÄD/"|³Ñ¸Z‚%´ ×j™™œš¢H’ŒD‚½ÇíÝÛ<0°µµ¤edæ^# @p ŸâyLN‡3ÝcŸç8FUUÂîî*›ÝžëÅáÛj ÎÍ ŽŒÄy<>–mxïÝáˆËç£eISÔ¢¬*[‚ Ñ600;=Ñ$Öu»Û-MOŽcy¾,'m©ŒŒF{Ê}õfg*;Éöv5ú<„Ý£`Æ´~YÞL>óÏ‘/_yÏÃÍ]>O›!$ ‚ GœÒÏß´‰4™&GF^xñű±±ÜÜÜ…/HQ§ÓY^^žŸ—{ff\YùÐáC=Ûÿ517‡Ó2.ܲ%ÖéRççÞyû_ƒ MÓN§ÓøÃ„„„øøxCé)˲‰‰‰º®QúBüuæurê³™ƒ‡š¤v†×–rWn4ŒŸz;\ß%o½ÐZ–Çéì9&îªÎ]aª,áõÌIâ×#ÈÁèãz•¦@‚ ~žq#`€ÃbŒUE…ħ!PëXݱÿùÕLG;ÉóŠ,S<_|ãÍ…×}—dX]QMŸ;˜<9‹C0Ñ7]Ä"IJUÕŽŽIßnjâ8.¢(ª¡¡Áår­]·n¨¿ûK/¦™Í £#ÊIOf†Ð¢Ø˜Ëèë46HT×&z=;›ºÆÆyEZ¼¬|>9m¨¦zvb"69EÍô7ù¬¦Ñ~¿Ãqt|*³¬,%-íÐÞ½ÂñãÔèHU(˜¼zm_—”¼dëÍ Ç{òñÙÎöŒsÏ›m¨H:D†! ’$ I’»ºº<^ï\ päµ×Äññêýû*Ö¯·:M55’ $ñpÿ@@Ó.ÊË…Õ<1ÙûÞ;ŒÅÒ<7ߨ֖ív{,æÑpäò¥KŽŒj;*WhšX € m{Ñ¿\Û_ä …ô=í\ ö%pÁÄÕk¯Ú¼åùw{müú‹ÜYk+"‚þù·f@R”KcúúÂñ~åð¡Þ7^[|ëí !Áçõjš¶€.£nÙe—Y,‚ f¦§éé‹¿ÿ1šmn~û_xñû5ׯøbE‹ù²n<ÞÝ ìîîÞ»wïªU«X–eYÖp3v8ªªD|ƒ$tÝõ§ˆGƳ…‡‡›¥¿ïo(3]WVá¯OÕwJ[/²-Íý$z‹9YÆŠöMo¾$IšLæ…“aî …Œëyò&õ±óœÁUž§HÒápH¢OèÉ1$Æb9|èðƒ÷Ï´·±6»& ¼Û»ôû?Ⱥèb¬#9ƒGÄŸ¾¢¦€1:…,‡¿é"–± %I …B‚ ”1ãbiš…TE¡(šbYÊdºŽ†°0ht’Ÿ‡ÙÙ<Íš4Lfdg»,æ2›=njZ¢©ËÊÃáPÙ’%i™Yúðà¾7_ǧi›ŠIV—û‡Þ4>:ºhÉ’a—+5%¥hQI×À Õl^º~=åpÔüö~X|ãÖàðÙb‘RÒfjjyAPxcÌsljjjkk«ÕdZ|õ5ûFÇ–uk¶„GFKW¬ˆ÷xLWDQƒƒ±f3 i<>NézQaa)ÒTÕ8Mœ,ˆöPÈ¿reÖРÉd.ºèÂHTà(\L‘;Z¸ÖŽØâJò–$þùýDu_rZþØÐþj’xÝ%×>·}ö™Í\w®Ým'#"ú< ëŠB@˜‘ÁÏedÔ=ùøá?ÿ±ø†­7ßy§ J’´°Â¬V«Á‡A%$&j¢è[ZVñ³ûýò½©;ÞÕô蟩ïÝÍ»=€¼ü|aooïÚµkW¯^­ëz4=Õôô+¬‡SÑûÂÎÈÙå– *¨#G½80θyKÜÒZGxo´«J8·Â´²˜—U¬êÀØùOÕüß×ç^'I2WWWG"Žã }Ÿ$Ië×e³ÙdE9É)‚ Ë1€SúÇ‹oÛn»Ífáµ¼eH2ÌXõÁšï¶·š­6$b33—Üù½Ì /Ö$IÓ$š…'#¬3„ÐËlWùMçÀÆSE¤1OÀ åæççC›››}>ߦo}KǸø²ËTE™ybxRï~?¸¢»ÖÆr´Ž@Ž$$ 0V$9 ð,ëöxHžWöîéxÿÝÍ^°&}Õ»"…•ñýûE¥y kšÕj59¬ËµxE¥7!‘5™ü U=2üѾ’­·‡‡„þ>¦beXVl&o·›HBÓtŒq~~¾Ëå²ÛíΘÞnFŠålV+‚P"ˆâÒÒx¿_ˆF»Ž‡$çä$§¤¸ÝîP0X²d©(IóÏq¡Hdyjª×ë5Å'@Q„ò ¾ F›èÚrÑr˵¨Ïí”Þ›?ÿ,jà­ÇÂ×]öçÞ™}îÝàw6[Ý2"|.†„!-´¥¦/ºåö†¿<Þôô¶’›n¦Ìf=>?ê)•Œ± Å-+¯üùý‡õàtsSÇë¯bJ︋w¹ŒÍöüóÏgYV’$ã×Oë{þÝL’€fÎ@oxÝÓ·79ffæ{¾ªgŒºb3^Q”…Ø[Ù[§žWi^YbF˜‚¢( ]×õo*Œæ8®«««®®®°°°§§'‰ÄÇûÛZ›×¬Zf³zÂaB@‘dD5uSãƒkf«ÛæÉU’ç$KM‡j·ñªzÂt-:5Ùüô‡““f&y­®ªŒÅwùwBY«ªêçÎP¸úômZGvú˜¿q*%Ȳ,C3Çqg„v^¯wùòå©©©‰‰‰ r8‚fbp_Ÿþüû‘/yéj+ T1¬ñ VU!ËÐq>ÂX%ˆ±Cß~+óìM‹¿uI[ŸHSšÙd YYÙŠ¢tuw‡ÂáÔÔ4†e223ÆMÏ=ÛÿÁ®’oŽNMN·4Ÿuïß>tø©GÍÈÉáf¦mš¦ŒñBiiiÇ)ºljj*ÈÏWetl,"ë7nœ›Ÿ‡QXX‰F5UeXVÓu›Ý®cÌð<Ëq,ËÆú|²ª"]Ÿ™žv8]º®i˜ yÒç’gƒš‚H«¼þ|æéíÁí“Å›7]ßÿÞ6áu—^ûÜ;³Ï¿úÎf›ÇAF%üy;›.9t¤¥/ºõö†'oÜö×â·2« ŸÞTB¬ëR(è_V^ñ³ÿ>úÐoÆÕîÛ“tÖºä5géª 0A„YEö&† 6ë—_49f½üU-Š ^Ù«4u ‹²H39ÝÐÐp°!Ø4SY@.ÏO›YYY}}}ªª.Z´Èf³}žzá?µn”$)###33S¢³yp<2§$¾¸[±;æ4UbhȱTï¨ÞÓp8Ù9FA¥gˆ! EYþô\“¦jMAH4%ÍÏ Óq|n9Í8‘¦ÐfskœÖ9ŠuíKØ.7> H(-A=§TwóŸ#føBhŠ¢4M=väÃ0«ÕçóhD5558p 77×l±P Ks ÑФö‡JRÿ²âb×}÷õ ƒæP@QTÍ  ß:ÞÀ°ú–”%¯[?ÝÚbÌ.X˜Ÿú1ühš ˆ‘‘‘ÑÑQ’$ãüþXŸ7›Õ/·+Rq”¾¿^|iWø¬ÅüU­Š†_Ø>Ú-Ë£o¹f•ŽàïžØ;6ÏgùæÛ©¶äsëêvíÚ™Ð××GÄòåËY–]¨}­!ô²lll ‡Cùù¹¯o±¡[•­ˆ7Ë4¡„¢hl"ÈŽäÆqÍÎÍ uµ87ÙEHÒ4A3#ŒI3º±‹•±Ù"]è ÑÌ—\ ˆŠ:Ç겂 3<}ü ô ½¨¨h999É Iƒ$ÉÖÖVŠ¢ìv{Ow÷HooœÅ<ã³N˜"¬Ñ¡enrx?)Éø4å{ŒI†¦§¢]ƒÓÐÒVÿä“yY)aÕÞÛ16p\µÛSSS6›mÑâÅ--³­-tŸ:4è\´xFQý›6goÚ|ìÅX›Ýš(i©©ƒX‘'zz2–—;bc#¡`CCIQC##Ã;w»»Ž[,%ËËõôôáî.ÔÑÆÔ«®®îÔZ[¼}ÝÃ#- '&Ô5· ME†$YÕµä˜ÿñ®¶úÆ`Mµ§­%(†£r¡ˆÙš¶UÃ:…[οiKåS¯O¿,Û|.8þÎ6‰.¿î…Á—÷„¯¹Àëð0²‚¾À¸O~aémwÔ?ñèI [”HäÔ³ð}AÆš,Q_^AAoW×ÁŽN‡‹?úººG«ˆ÷åTÍd –5xúŒ1Ò´¼Íçæ•†,}½@Ó4u%„¤Q«m£®GL&Ïó’(š-ÙçNJŒII…¨56Ö™¥«*Ų$tY"‘äxOÏ矯ë1Æ:ÒTÕà“J ´Ð`]×ß~ûíêêê5kÖ¤¥¥AÛ;;92ÖÒ¼ÄnCŸ2êã<ùįH£2`-«².Úè_œìëøûŽÈFéúó¬nŽ%x÷«Ûkþu@¼êâ²ÅÙ4†|Œ7YE»Ýž““cø™Q[[‹¾*“øÅÄÄYÛ—+¸BI’JJJ<(Š6«åÀG{ܺÇI½¹G>Ö!c„Ó“ÈÛ.¾(Ùs®¬ †eÝ_8,NÎ̘œÎ©Ã‡,HáI !F¨ðšë ¯ßL²ðÌÍÞ3ÂÇ ÏŽá“úPðÍ÷A<ω¢¤)²±8BÙÙÙ²,ïÚ±Ób±lØr~HäÛ¹³JcéË×rP_*©gûì²²2ãÅøøx»Çû¯m ¶6Å ( Ÿ¯p²3 €MyÊzÜÞå1G/{£%øQíÜt,Êb´{è0h@݃B²f4[S VT¦iÀÐÐqй’áÐòi …222Ö­[gør}áz6jõÇ9N³Ùl2™T* êU?j”ŸÊܶÅV^hSt@’D`núÀ¡ƒ“““Áö¶æ÷Þ-"a Ç^÷Ý‚ï\ÉÚM–ê+ž&IžÐ-/T”¾ö">åùd >] «GUÕøøøÂ¶¶¶””Äá±Ù_þ¥þª«b.©$ ˆULqðŒe1²$¥$$°çóù*——4õˆcºàrÇôuÝ»wOVV6EQÍÍÍÁP(>.Înµ®[·NÓ4Ìrcuµ£UGâ––›}>qf¶þOJ»úÚíï½71:º¨ `³ÙÎ:ë,†aDI"2rØþ IDATIr÷îÝ%ÅÅ,ÇÕTW'&&–-]B@¨©*Ë0,ÃŒQMU!E„(’dÍfCò¦ëˆ$US5E†"µ‰Bªª©’TÊÆ€€¯¼^ŒÁõoÜöÆTµøÒ;RÆGü^KöÊó3cõ°t¦… I@¢׎¦m-Ùz‹·¨¨ô¶;ëŸ|´ùémEןñ±±¾þ¾úzc èªÖÜÜ<92B„!>éëë³Ùlùùù 6kf³9+=-.#3:=5:=U4H@„0„ =>ÞÌq†û)‰u‘´Å\êëÝåíݱsàÝ}W•œ}ËOV€4?î©¥iáÖ›L•Eœ¤`õëé÷Z­ÖêêêÎÎÎ/Ù¯6žY–ª®®F¹\.Y–i†ŽHØð5)ÉbŠ2˜HTRTŒ1²Ûí -í‚ŒÖø>zî90ŠZÌÞ¸¸â[nÏ¿æZ¤iBD8õ¦ùïé* Dħ¦~}` 0§(– X’@‚PT­¹±1gýúìô´ˆ hOŠüP³9‘>¦µº„sBÝç|»=?w•&„÷öÖ©®¶WrІÄô×£/2$IâO†úgXWÆ_µµµõõõ¥§§­­¥)šc9B>a¥€1ULËE×323£ÍM5o¿©ÏÌÄÙlž„„²Ü“zÁÅHU5Qü´Ç¿‰¯Óq;¾N=0M²®ÕNL4‡%avŽDX’”äšå8€±!I’ÝÝ݆6°··wr|8¬tOÍ›WúX†ˆ Ú>ý§<Ï766¾ùæ›YYYY™©#ÑŽúaõ’$—Ëíñx‚àx^E˜tuܾ}8Õ5:VS²lYÞÖ[¥™™Ã¿ü… ¯ùõCoíÛ?ÞÙµúŠ+Bá°àÖÖÖÖ¶6“ÉÏ2òÌ´•¢8š–TÕ…%­zýµãÃäÉä¦i—×k²XrÓRû¦¦›ê뱦‰º®(j¢Ïgå9Ìñ~ŸÛnÓt Œ1˜?nràÃzU!GZ†+++eãÙƒ¶×߈æ÷*O*COé⟩g(Ë´Ù¼øÎïÕ?ñhã_ŸüÃ?bÄÒFMˈ1ÆËÊËs ¥æÆ‰çŸ OM޼ý¯Ìën¸îºëŒU<Ïïܹ³¦¦fffÆï÷/$ÆóÃÃÓ³³•—^ºnýz]Ui†Ñu}Û¶mqK–$‚AŒ1CA0£Ù§#%KnžkX:³;boúCÿ#‰®»¸%ïn^Æ,Ë£é4žoÿÁªò#íËáF˜m6›Qö÷ñÁ0$À„Fc@²,„p¬¦ºö¥‚Cƒ^–0(ºó{ùW~; Y,QûúúœNç\ Ðzôˆ27×x¬våú .·»µ¾^¤)F×Û‡‡‡§g¾]Z™›=Üs¼'!n4"ÌÌÏÏÏ“’‰F³“’VäçuO ¤$ÍïS5 @B„Er%ÄŽEê5@éšÖ·cGê†éç]vÎfŽÔwý³ª ‡÷7›p4.­úݶ!8*þ ¾Z]×U5iõšâ›nn}áyñÅÅ¥wÜU÷Ø#ÍOo[è#]çy>%9¹»¿xb-qqâàÀdÿ “’6»y3âx51ЇcÇŽ_|±áð2>>¾wï^»Í–ž 0ÆM ÍOOÏNLÈÉÉ„¦I’(¨F5Mˆš’ÌI™ö#ÏRpºaâï¿{kfmÆkìËrÈhDŧëbüûº_¡lP¾ (–›•Þ~³{b"pÇÍ´3$ÊBnÈšxáÀ{ïîûÍ¯š»º§p”%3˵¨ªª&‰ŸJ³¿Úçùìü5÷1Ö5Í@ Àm3³ÀE9ôÁ‡‡ÇÆy³¹° `xxØn·³,‡< ëÈdq#„0FFÌcÄlFSÎ ö}EIKK+,,œ˜˜hkk‹÷YšµòtZzV$=|¸:=+ÚâHLM^º¼¼¶¡‘7YV^~y`föà/@’°êg?ãã“•pH×õþþþ8€ÉdÊÉÉ©ªª²Ùl˯½vßàPIEe é;~<³ ?+%ÕÌóù,”ùy“‰wš,ÅkÖ¬v8æÃáÞ¡¡¾övMÓâ|>ozšCÓ½O^NŽ¢*Š€¾c "¼Uy& E>ÜöÒ º"g_vEö—Œ[ &öŒ¤æû­,â¹RJ7¤ÇHQ…ü‚š EÉ¡ÐàÞ5I,üÎõí/½Xýûßß´5eõšÅ·ßU÷ø# ýa]t]ßþöÛ3ss«ÏZ—öƒu>ògÐØÐ·ã½º¤Ä‚[og,1u¹\—\rÉË/¿üüóÏûý~cP€Ùl¾æšk\.  ¾ÿþûMMMš¦ 666žþù^¯WSOl>š(²fÚ™[À %Ï"ws ¥d×o“K.AìY8:0úºûºÿÖ:—eÙï÷÷õõmß¾]EŽaˆ%e«¯Tÿúi7ÿ’äx$‚¢‹…giQºßx­áÑ?³Ó“‹cœöòÅß½Áïw:ÅH„¦™“„>ÌÿýóšÈñŸí«šÆpÜê¢Â–ã=N“)'#}®á.+/Ï[¿žf˜´””±±1†aúûûX®±±1...11‘ã8a$ ‡Ã$I’$©( ˲&“é³÷$ãY–‹‹‹yžOOO/,,„EE}<ûúÎCý-N—;„Š"TLaz—·Y'ÇÁÞ<37N,ÚzlKä… E›fggEñz½ sè³²²<ÕjµØí&§³³»ÛïóÙ¬Öé¹y[ŒûÜÕ«|>UUǧ§–]qι.—`¬Èr%I΃†ÏAQ EÑ C$‡À¨Bs½U@ŽT—¢b@RyW]M²lçk¯ª¢œºb‰.ÓfŸß•EÛÍ®œé.oð™c?HŽÔtÿÒ¥ÕÿóPÓÓO•Üx‹®ª5ü=Ò´ôuëß~WýI “¼ KâêÕ«ÃápBRRlB‚•eÚ«³åùgUŒÝz;m±h¢˜•uë­·;vlrr’ ˆÊÊÊ¥K—ú|>]×ÀóÏ??00°qãF¿ß?66vðàÁP(´uëV‹‰Ààa¤j$oÊ=gƒfÛÀìnq{vÿoޝø)_¾\‰„õ“.íÿÖzûò¯*N{¼,Ë^¯wÙ²eo½ùæàà`nAÁ9·ß±~Ýú–~´ïç?‘ ÿ›ä8M’”@sôÁÖ¼úŠijÒÆqK.¹¬ü®»mÉÉ:BÑpXCÈH¼‰\§¶ÁþŸ|ÝžXB4Iæºc"“ât¤û}Õ'ÒôªeKs/¸!JMM%"=-­¯¯O‡0¿¨ˆ Ižçý~?g±ìؽ»³½=Æå’$I’$ÎdÞzóV–aQT|Ƙs­ªBcîF04üucÜn‹‰jÕ1zÀrÒœÑC3Lwj4ÃÆxx¿:?ÛôìÓº¢”Þ~'çri‘HBB‚ßï7â £¦‰Dìv{GGG[[Û¥—^º|ùrÞÁår½öÚkGŽ9gÓ†“K€ÕhÄ™›Åç¬iø¨1›'êë=ðó?ýïÄ•«¤`ÿ;mÞ…š€€'ú+ð3à\hœø<1Ÿáô`^²,#KRqIéu×ßxìX­ r¶l±ë‘÷yEaœ%Õ{öÚ1aâ­«²¯üvóÓEÓ1Þ¾ýû•PèÔs1ÒéòòòÜÜ\QO¾ùy@ðuö!€uc@ éa¬¬h:€€pn~Þáp(Šât¹–ÄÆJÁ Ô5„ƈ ˆÈädxz:Îëe8. Ÿ\R423<ŒD&Þb2¶ï˜ãY«U“$ŽãŽ9²gÏžŒŒ MÓ £éâ¢ü%EþXçraW÷\zJŠ˜rAb¾­§·w®¹)žR–ßr“-=N„8:Ô$Scâɨ ìØ±!´eËžçÛÛÛ«ª«].WvR’—mØHrl|<'+ËÎsÓ=Ý»ZZ‡''Sâãi‚˜œ™YU±ÂétÕµ¶õ÷s,ƒ4bYB €‚ÐÚ••n‡CU5ÃDEš²ýU€ÉÐö´´¢ëo¤uÑ4ÁŽuhÈKºÜ&ò#%û¬ ³üdXÂ'®ð)ß%€iºÉãá\.y~¾ýå—ªúí²ÿº·üÞWýÏCMÏl+Ùz+ ê¤®YkÄÒ/...))ibb€SùsÐXËJ0´v]^éHÕ³ÿ˜ji:òëW>ð˸òå†?µù|¡®ØÊCMŠŠ‰ÏŸý ÌPÿ¢JI¢(&$ÆÑ¤úê‹O¦¤fº]ŽÙùÙÔM›sQÊÎ7dM9w¬Ú'·5Óù…l|BæÅ—2&¾ª©ôõ}vÛŒD"ÉÉÉÅÅÅ ià¿‹¯Ïˆú>௩ŒF£ÒI (‰â®]»êꮾúêÔ´4LÑcG·½ô‚47GP!İsxtÂæH++cíö}{öx‡Þؽóàèxºß—íõD…Ó´Ô¤¤¬o]é^¼”„  ƒA“ÉvïÞÝÙÙùƒüÀd¶66µx½ÞÔô¬ƒ…º»¨Ø¡½sÓñå+d«…ÉË‹ÏËŸ I¢(ƒj ¯.¹â² 'ÆÇ'''Y–F£õõõ,ËŽONíÞ%ŽÝóaùÚ³œnϱC‡â±Î&$¶wuw ö3tJRrÇÄDÛ»âb<-&—Ëc6›HâhGÇÆâ"‰ vuimå99QI2ªÐÓál1SM&Ol!CŠ"–§ôßÛ<øÜßò“Ý#8kÚ™ddÃ’†týÓJê²ÌX,Ù—\[TÄ: O>^õÐoÊïýñ²ÝW󇇚ŸýÛ†1ÒÓÎZ¿øŽ»šÿúd0š63p84M#]gg**ŸwÞžÿþÙL{[ë ÏKóóe÷üО’&§j „!Šçž×5mao1xä‚ýºV¬ Q³Ï¿ôú{‚ÔùÚ+S-͇ý‹ŠŸÝ·l¹ â“æ/ÔS$„ÔvÈÍÇeÉ1‹åðÀqarD’,aià‹ªÁc ŠÀ=íýÿz£®¨”ÓCH’=cqQ:H@"&5Þ)¸¼-Ñ#¯IÚ´ùö­ßr9íF„3|ìP(´0yó«±Nª÷t]‡1þÿ`jG$`fffttTVÎjë|ïÝ~vŸ9Öç[²ëÆø$ÀÑ´’ó¨º$ @èHLä-qtüØÐÐX0(hºßjéjjj©®¾è§­=Ëér]zé¥ã®®®‚‚‚%K–x½ÞññqÇôÆÆ’’èHHL.*ž˜ž çŽõ‹ad\Θ8ÐÒ«j˜»ñÆë‘Ž$dYމ‰éë—-ã[Û2³DE™žŠ‰w»]I‰Å>_…Ù<ÜߌDͺ]®Ê+kjOÿ€<=573“š–¦2¬N’ÞX_jA-)™‘eŠ~ÈUÒ•™¥"ˆñ©–¢€§±)ì&XÅ›[ ÈSÁ©a›o©Ík%5ÀX­H×Ñ'…$MO«­}ø‹n¹Í]X¸è¶;N`ø¾Ÿ,ûÑ«ÃÖ<üGŒAÚºõ‹n¹íèSe§gÎ9ïü‡±šªãïn×yù½?öde#I:±Ë2“”‡e熆Z»º—/YÌqÃ0 ãããkÖ¬§s‡‚jB”wÇ-½ûqÇ?_lh8ü«_Tüì¸eå >òFÓ$¤)¸ç˜ðÄÁá)¦à Aéâ\D ‰u3!Cÿ%£TæzJ; ˆ§þ2btŠoZ”¤¹ëŸ:¼K5‡%;»ô»Í‚d‰$ÉÓÊC~ŠLvª‚aÏzš3ýø0¦)Úb±X¬¶p8ŠþMs¡ €‘®9Ž«¯¾ºrÅŠ¢’¢ž÷ß9ø“{éé«û{WV6FƆ ,&~ê•WL##$„ÓSS%‹;½±›Ï;/»½M–“ÅŒ29ýO>¾çž»ñ^\QA¨êÔø8ÏóIIIÓÓÓ²,755‹Å2<4˜’šª[¬žüüUç_ìÏóé©©‚ ×a,+87Õ47;ôÂËûË3[.¾È_RRB’¤ÇãIËÌ|âõ×eŒgH(dŽÕÝî„Ê•…v;€pvv6+’”–‘×väÓÝ5¯*6Jb½A HqZᩎvéÄ1 %ÌÌuuj˜D’Aè Ë’“¶¦ÅÆ’˜aJ¢ãsáðø|@ð-Yšvîyc¬é:Ò1Â`‚¦ýeËZŸ¶îñGKo¿ÃSXTzÛ O>vèÁ–ýèÞò{Rõ»ß4=³­dë-E×þù€¬uë½ç]à{é…"M‚K—òv»ªªB¤ªr8œX¹ŠµÙŽüúÁჇví$IÒ~ñ¥á°&I©©©%‹™,–ц†ÉŸ7µ·ï`r|ÌítNNMõôô,Z´¨¸¤XÓ´Óâ c¬D¼ǽäû÷` :^}y²¡þð¯8áSbéÓ> Òü°VxòÍÐØŒî²’V³¡ÿ-C …¤?–žÓóe(PAŸ(?A€5@g¥°+æÿ®;‘<ÅKPåj’š$@€Níf/”uY–¥išþ$Ie!³@YðN>õFOÎIšÍf ܇½¯w ¾9=0€&H•¢›ÚÛ·ýÍj114·ç­ío½˜Ÿ»ñ÷ÿËù|ÑÉ x2ã±£¿³sÿþýééé²,»ÓyÝÕW§oØ ž$HAqQÑpzúžÿ胻¿·ñÏÆWT8cb’%éýwß…$iá8š¦ããâI®Y·>¿ hhhnv–ã¸õë׫ª*‚r’¨ ÀD='Íõø?>þº…U¾õ-Z×4›Í¶~ýz†a„hH£¢(.//—rsÇÆÆæççÆ6›M”¤Ôäd’ 0*A¯­éüËãîìœÒ‹·h¢ ëˆ¦i„ ’¥ª(*Bˆ"0ÐÒë„*éÍ+Õtˆ¤(ÊH#'&'wíÙ5!Oi±>§È›mZ„<ØÙÑm‘gF§ñûï]8;—wþù†"Òƺ$RWtÝw[ÿþ\Ó“/ºõvOAÁ’;î¬{ôþôÞŠŸß¿â¾ŸT=ôëÖg·•\#Pý#s,íJMͽðBáðš6çf,M@ ‘.fc‹Š*~ú³ª¬«ßÙÐH`—”$F£GkjÚ::–yÜ=¯¾7·5™-mÍÖ~Ó†MN]×¾¡cLa¶Iµ»_iztÖ“•±äλªPi0 ' x*€8‚GŽÙ¹s§±/袼^ï–-[t]7&•ïÛ·O–eçFõÔjµ^yå•)))²,kšÖÞÞ¦*Rb¼#‡TUý†Bh ‚ѱp¤ˆaÔ;&bg‡—pvZ™oJФ|R¥¡éº×ë]¿~½Åb™˜˜ÈÉÉÁ%) ëºÎд¦ëŠ®“ÛsrÖüæ>úɽ»ï¾kíï~Ÿ¶jõp_ß`ÿæÍ›ÇFGC¡Pff&EQã%%%>·ûÃ>˜ž˜hkoç8®  À žj}4sÓñ1`.¨Ë²Î0ôÌøì¾}ûbbbÒÓÓ9Þ´xQáÔÔdwÏñ¬ÌLoLLxvöíÚÚÉÉIŸßêŒã˜˜ŽÖ(ÃýñµÍ-<Ù’šë‹«­­%IrãÙ].ÖUaãîY&ªg^P¡#lnn®«¯7kzj^A¶ÝB Dý‚»4ÏjfÈwÆ*V&Æñ^Q×zºŽ>T52Â:ëWWfg§«ªŠÆH¦LÜ’¿Ûú÷ç:žy’¾áFw^~å~Póðj~ù³Êû¬¼÷Gµÿ¾ã¹¿–^=Mèý1÷ú­ykW‡}íÏ>+DæWÞygb r,DB eI û³Ÿl{èšÙvþE%ùý€¾¡¡Ý»võµµ$LŒŠö—,Z÷ÃÿÒ]®·^}µ¬¬Ì("*ŠÂPðsusŒ”p˜w»—ÞýCŒpÏ»oÏ´¶~ð•¿ø•§°P‡‰Ï924ØqôzíòòõÖkϱX8BCàóÊXV+",!Óey¬¦SøßW5aŒ ’d펉ښÝ/üy¼gÐäñ^sæúµá¶Ð{Äê6bõ"NÓ¡ª}\`3H`;vì`YvÀFŸyÙ²e©©©’$;öþûï[ñÂ14M¯_¿>;;[UUY–;;»,&.9)@’$!…°14p"·† ?%)†'KQ§&´'Æ%Ÿ®ÄýɭሊPevöœ?nhdÔe烺eŽ>gš›¯=¼Y¹>.!Y¢ >;1nwT–9ž÷ÅÅ  XÆÇÞºÿçû›šx‹99%u~jJ±;VlØpþæÍñ¥¥+ýPío¬ûõ/§wï›<ØÖ‹K6œsNuuÍà‡»ì¢ ¼·}>*´MNFÚZK–ÎMO#„V®\i4ŸNÔE(j~~nÏÞýþ8WR6ŒŽµÆ¶ö©é©Éñ‘ìší%ÚZ[’“Ó «öíK#áËT÷ôª²<8?/B‚“¥lŽ]]QaÞ¸éÃÝÔ>˜››çr¹Þ™™ÉÌÌàX®³³3Ýïs.Y"DC UAÐD$ÎÎH‹¢´ýÕWÝn·‹e[kj®¾êÒ–Du¡ +hDuDÏݘîGA–.ÙÿÁΗ‚ÑŽÃ]ÇçciuMb$P<¯g_ÒÑôJóûs.órN—PyKsÇ_ÛîeéÝ÷DÎúÞÑgžnU%­¹¥·èúÛ¾é-ã …G‰äžÁ GÓAÌŽc[ È"Æ€aQTp‡’s*sRåçK²L’dÙâÅ!QÜßÓåD–€Áññ‰ŽöôsÏ#i†$Cy{Z åO)Q0ƆË~ø_=o¼6S}4Òß·|¹ €“ß „ã8–¡4ï® ýå­Ðð¤ê°Wl°^³ÉBS”¨11F’$éº?ùÆ:D 2F¦£¯`!ç²O´ßÿ‹‡FZžÍ¿êê¬K.“¹(• —›wV •Å€¤Xš¦ÂF‘ïšk®¹ä’KNM3²ÛíA‘ów¿ûÝ+¯¼òSÇèºîñx QMÓ›6mŠ„²,›LÜß‘²ÚlÅ@u„àI1'BèÔ'eß'·Yøq¯èäpGø9$€ !“eƒb«ÅDÀ®™Ù¹¹9†Ðc­šËMÎÁ} I±¾¸ê„ ÔZWçp»]oKssÆôdT×öµuÚhòyµÉ©»Ýìñä/Zä6›ã/ŽÞu÷ÁGiª¯§¤Èº èº.QQœ„°ªkE©š¦( À˜ (ŠãŒs£8N'H—ÏëŠM™Aå&o"BsÓÇ{EjXǺ")èÃör¿Åã´™©ô8«Õã ;\ý#£+—.Uu}¬¿ß㎽ðâü%K ñ¾ØP($IREeeRRRWW—/.Îlµb Š‚€@Ͳ«$I«ÝΛÍV;¥ÁöŽI¬…&G„‘-Å—b±ðßÙH` IDATc›ÇCQPœ9z p°sš³X‘"ž`ÖƒɲÈq í®‡dY[b’”øm9<ü§Þí¦²o¬k™&Ú9çfQîë«®#m>›Íõdõ6:G;k  ²  H$…Gc45Îç‘ÙrЉ‰¡Ý^G6‚ósÁþÞ#¿þ¥¢“‡ñ §Å3aØÀ§z²²b×®;øÖ›Àl k*Ðu‰…,EQ33S¹©ŽAüü‡ÜÐ4c§¾½Ñrõ&+IAœ …B†—=ÁBTeü9Ic°IBŒúü9½Ÿ}ýÄP.³I™›©äU‡)†Îºø’’­· £„#%Ö–òƒ÷ŽÂå…ìÐÈH8¥¨Òkžç ò§Òã±±1ãbê.–e?u I’###'.8ÆN§“¦(UÕ>V#ÙmöŒØ8#ƒâHc (ÊÌìŒÛíæX!]ÓO\ˆ™™Y«Õj6›Œ1¥áÄÄ8ËІ±ÆBÒ¯ª A|âBPN(*G.’4=>Ñßëtæç‹ó“W­µ=õ.:Ö’WÓÔ’™1æ‰M2˜h“izd$tð#~ÉÒ9ŠÊÉËKK>§¸¸höÅ—¼^oÙòå=õuµ/¿<øæë{M¦ ßú–S×§Œ.¯P%)111SQ6nÜØÝÝýáÎ~¿?{ë-ãŠŠŠ±ÑQ\S³bÅŠªªª¤ÄÄ‚‚¤Ôh4::  óüxSãšäÄÎÁÉêã­›3ç‚Su\Oç\bJRnî–‹Š†[^jždwÏŽÈÉðkŽ˜¸¥K{ÀnµŒeUEð"M§ŠÛ4]'Iò¢‹.zçwöìÙs×]ßãM污º£ûßs¯M-ÈÏ¢¨‘;vséË+ÏrØí,E'Ï69| yPæÒ›nÎLe%ÊÒÞÜl6™|II‰¹›7®Û<mì˜&â*9ËÄð`_JjfkKKZjª76VƒÐd³u=ÚÞÙiæ¸Æº:·×ë‰eX6¿¨ˆ$IAÍgH¤$‡H]cív¨b„0Áq¬ÍÆð¼Õíîn«—T²¸´BQd޲"ÇÇ¥r(í£Cu'41fSéî­úñ¿H2*½ýN‚æOîÃ#•âøŒ+¾Óú÷çüé‘ÒÛïtçÞvwíŸÞóÓŸ¯úÕo îøÑ±‡Ÿ‚pÁÍwÚúzýáaxG»bãV­Ÿ üå©ân‚M"¼nÝúÉÉ©íÛ·;Y–C¡P^^ÞÙ7jÑ("ˆ¢ïÞ@BXûäãúÈhícØÍæüK/"‘hD¤iû—YǺ®CŒÕhT—$‡Íf v%O¨ªj6›bœU‘½n[aÁPX0IQ†q:V«Õf³}Êeþ«‰>Þ ‚1[F¬â±èĸÅ·øö»VT.4ºvlᨠ殺iš^QÀÉÖþsEð4Lê¶!dYÖa·™xž0:#ü—Ù$éeh*„ÐÊ1.+žŽb;­± °£ÑhfÔ{o¶e¹ŒÁ‡J–¡Ä $!¤mv¿ìn²ì&„„@ !Jl ظà^eYÅ’Õ{Mï·ßóý[(¦6™_ú¡™;sïyÏûž÷yŸç ­.YQû_MJ§®zìçž–åŠ t¾¡tþáH§Ó³³³SSS—mºrõ=øƒïï|hkö¥rf§Ýš‚Å¢ƒ##‡#!A  cA?#Š]ãcHdzxäƒT2²²†G/Y·¾ô¶;’Ò$ @€a˜¢(bûñJÌfF?Ø«[RIÝáI:v¾730nh°ÚÍ×m,!Td™äèd2i0v;ÅÑwßFÉä¹Î.Úhd½¹”Á`5™LéTûé'GGÓªZš—«*ÊÔÜœ‘¥¡ªÎƒ€Ó}‰á´‚k:àvtv6ÐsöÜ«¯$XÂd·ã8¦ªªŽp€,Ë8Žó<ÿ!–˜H°·ô› :ž{!дõAœå”óZ°˜"JMWßvGÏK¿?ýë'›¶>US·ä´=ñ³ƒ?øþºGÒøõozèàøä}ÿõ#ƒÅzú—¿ˆU×:›–4–þéÿvn{®î2·ß~û™3gffft]÷z½K–,á8N’$„Érµ_¹KC¨û‰Ÿ‡''ÞþÙOOŽOxªª•TŒ·°lñ§ÓB5Ms8F£1 F£Ñ‰‰‰µk×Òs)B¹¹yí'ŽÞ›J¥Ã‘¨É’­£óT—ËEQT[[›Ï盜œôz½íÛ4ãe \“)24Ôþԯƒƒ$o¨¿çÞÒÍ×ʉ„~¡ä\öšŽ’ºt A¸ã` ÔZCiª~ÕùÿŒò\ÄBHÇïûÚWÍfK8š™õûý‰xÂÀóÉdÒl¶LNLNŒŽÌOùg§xŽAÑ4Eûz=. )Ž¡Òé4˲V«u†jª‚áÄДßm³Ýg|gÏÚªª½ùù§ŽÒ31ÞÙÑiªo°žÙ¾k?1aûfGëãíììÔTGÇøÞ݌;æ¿~ìZºLŒÇ5UÕ.¼H’ŒF£gÏžÅ0¬¨¨ÈírŒT´®(h^2sº-v¶Ûôùæú'GFRã1ƒ¡eíÚñɩѽ{ôÑa41îèH&…-ËçggíÅ¥—ÝuOZÔTJWU]Q‚x×®™©ñØÐdÿ$“Ýÿ×ðÉ=½óáÂ+b±ØÀ›¯Ï?|>c^QÅJ\r®ÇéÊñŽŒ 'EAøÖ¯ŸÜ÷ܳøøØôøøìØxHœÕ5P‡>ØÛ×ÖvøÈჇ„z{ÚŽžëìœèìD#} í<ë7¦íÀ':æÏ Dûú¦ú»FGíCƒÃGFí%Ž¢åÅÙ*M‚âú¥v)韘ijjêééI¥Rµµµ™V·u¥*Ý¿{iš«y Á0º"ŸŸvTUœ¢²jëS“ãï¿oÊÏ·:ëÂCo½á]±rD’;÷ì6IÒºûÀy÷/Afg¯ÿµ\~áØž÷c££Ù Ea•––677755dœ%Ï?tE!YÖQ[? c# ž8uâø’òòËÌ„¡ÜëЂ:Õ5WèA¶$š«êhIF „{“Éd6›3ˆ@eeeEEEf‡‚ªªV›ÕÖ^Ø13 6]Ú\_](ÉZ¦ !IÒf³©ª*‚Ëåjii¡iú" xš¦gggC¡PuuõGSô'E0e4¦ýþS¿x|⃽ŠoZòà×ÄTQødá1¢ºˆ£(b÷)‰Àô"7Ðôô œA›YRU…e™©©é÷ß;B(š’%‹ŽŽ ét¶3Ë`àuMJ¥Rš¦ÏÏÏ[mv³Ù!›šœ¤ô4RÒ™fÆ‚4é'ߨišÕb)u8ÚæýÏš$ÉßÝ%bøº/ýK‰ÝtàO‡¬’ù’û­,1OŸíÚñ—šÛîp-Y*'“©d ï{î¹G„`0h4ñ8O‘t}ýºŸ<&„B@–ef}¾Ô‘£ë֭훜ڷ{·Õjmý—[y‚X¹|¹Ïï'NÔ66õ ó<¿tãFIUtIÂ/ìÙš®{òòýƒCooÇëj–ÿ¿ÿÌã£yÓÁ޾~Žç¯ÿñïzñÅÉ÷ÿšœž2Üv§·´úÀ®’(._³fh`àÿüãĘ}õÚê¯n1LL¨©¾ûÀ‚ÜÜÕ·ßAŸ<¹!7á¸þÎN·Ý–J§ó²—]ó…=ƒæ¸j×aëª9‚2Ÿܾ½ù² O?qüõ?¤u_X½†ÃeŠ’Á orÂ`0@æ{H’L§RÃ,ûæ#€ÎmÏš¶>Dr¼rAÉE•$‚ajçÅßuüæ× ÷Þשׂ_úð#¿úÅÿüᩤ`¨®a|³ýz¹ùî-u3³Ý}gxå ϺKó‡q–MÄãhAi‘K„PEŒ¤\MÍ<»Þ|ƒ ‡¾ü¢}ó5—ÞúÀÞ6^è‡àFÐ,I–eeíoèuõõõUUUªªr—±­\0ß±ØHÚ¾dBÊ…ˆ,©È5›€ûp$»¨¨(??_’$–e3õöEcOÇeКÏ"©“‰^œa4IêþÝóÃï¼­+JþúK⦅à8%™¼¸ä\¤³Í0ô‰'YŽš\ËË/ýåókhºpI9D,Ƈÿ9|`€P4…¸²³3](¿?`µ9–47iš1(Kð“““$A”•–ä“$‰áE’©T*Ãzÿ”†ª‚`ª¨j¼l£ÎrjE%e2Ùrܦ,GJÓŽMŒÓžZµÒ^]ä)6ª€ôŸ:iÌÎÆk¦¬iš¢(n·› ˆ¶¶¶þþ~MÓòóóÓÉCÓFל_¡’>;6Ð=++- Ë ªÊÚì¸7!hðxV¬((/ÏÔ¢B:…ć ×:øÚ«ÉpØœãvTVfÛE›tñÕ¶wß^9=B×Õur\AmÝ¿Ür CÓþ`¤!„ÂHÊi3ÝR hDõ;£ª«ÙRU@¤¦çš[[‹¯ù‚ÛãùÞŸzÿ¥®•tYYq<6ûîÛí%^bÝúMŠ¢¤R©òòr’¢Q$fÙÃb¦­ÒF£”HœaA X6Ãçuvêê—~ãáý?6ùóŸ¯zà¡K¶léùíS]/l+¼üЉsçÚŸü•¤éñ‡i“é"}éÅOZÒ˜¦Ù¯¼ZŸ™»wÎ}ýµ²üH®"9ž ˆã IQ"Ž|!5þ·â^™å!ôG"@! 'Õ‰ ¹§7Æ`Š$3“³˜…§£ ý¢–2ŽáÁXìcÛÎ)YÆb:ŽS<¯*ªþ飔A‡Öû‡—û^û“*¤Õ5Í_í D„ÑngxÞ@ïïÛ780@B˜J&§gfüñø 7ÞÄÐ4Rˆ@"c9îÒ+®ðûæ³öÉ@ðÜРÃb™™¯©­å9êzf¹È² á…;…N33m§lc£•×ß5âÌ×0@Xm6Š$1YÀT±ú†kÍù?¿åÆ£ÿï_Wýø8³¥ãç?Ü¿¯ðÚë­ëÖ›L&)Ñ$ÓÇxŠä(J“eš ¦š$3‡4Y–%!í›N;l†/¯Ç‘,=ÿç™æˆÃ(j28²wï¦+/»ú¿ŸœyìÍWøF™DÅU7T]²¦–fL±Xl||<‘Hœ8q"·¶¶’¥Ê2e0,ÿÎ÷Ï=hÚú ɲJ:…ª¢H µ_¹ûìïŸï|æéÆûÈ®¯oÝúàæ@pðèaáî»—=òÎ_>ÑyäHÉ®+ˆ†O=þÓ‹øÃŸ®/ Á‘“ó­§Ÿî|~[ûsÏè±PïÓO†.1¡eËÒá°a„H¼§ãí` ‚ô) !TBiâàYm|VA8i&µ¶½Dÿq\Vÿž¢ÕâfŽgfò¤h4CóþT†Ä̱£ÛžI¦¼üeßü¶»¥UŒFÒÐéLÊ%I’aUUÓé´¢(Éd2777465—–¯XÂÙÇäí£ŠÂ­j0AŽ–e%c7÷–È]üM ‚$ŠŠ‹,6«¢êBœÀ »(Iå¥*ÎÎÇ$¡ 1«UËe¯×ëÎvÄÒrZ…YP&˲vÁßåSšòINŽ—×ÖFÜn]k „``tppÕªU®,#ÓÒ´ÔÉSgç¦Qbj~Ì7/tŸ5Fcš,A‘¤¬iBYÎRÜh<µsçd0X²tF’½9~,1Œ2MËš68ŸÏd2%“ÉÓ§OgzÅuuu“““Âío¿Ï2Xj:ö›—se±ÖiŒ±œ)ã(´S~>ðâG†&Y^5€Ä HAš"yŽéŽÞ¢1 "€­ÏS­eä†7˜QüixM‰fa1'.ºÞÇN¼jªšãÊŽD£¡¹¹ÜìlUU3ùB¨( 騣££$)Ãñ*Žg9V— "‹Åü@~AÁt_ßö¶mª¬8ë÷‹:ò¸rLv{,2'ãc~ŸÉl~ëèq !Šçí,#—GEɺ8®cÎW¾jUu}ýá½{#}çŒÁÀž`À½¼uj|¼§§çª«®Ê]'M¦ÙýûºŽq^º!.Š‘€Ÿ¦¢(9s†¦hÿüìѳZ „Ç÷†ê*T÷ê•“e>6›ÍiW¶‹WVפq‚ s½Ù#»NÓ0^ÖÜ@òæ‘‘‘¡¡!“Éd±XÞ~ûm†arrrJJJŒF£ÓéÄ $¦à5klDº¼ëäÎhr:xé¹®ae4H–äåÌî=3ˆÞxååÑl“ %lV+˲~¿_UÕòòòL8?Õ”L~˜‡ŸTÏœ¦uõü¿œL~x~ú×Kü:WP¸öž-GûÉ®G¾yí¯žZùoÿoç¿ÿ û…çê·| @Øþä/‘®m¸¬ù‡Îdbøoõ¥?ÒÈÑ“±˜Ž_¹SÓ¤ÈÞ‚ÁÁÎw4ŒŽÐÃ/ÇJ¾,šáDûk2e}´€C`Hc eÞÑÒYtݬ9—æ;rzÉÐÓJ¼Ð¡OŽ|€0 +„®Aˆ)¸(Š@Q5EU>‹§If§¨Ê›¾TyÓͺªj² Qy3cRŠ¢:thbbÂápx½ÞLó,£å¦( „\”ÁºfÓD9Öfgç1ŒÜ¸qc^^^¦{ÿ‰Ú@@eIN†’¢MFMÔbá°ªi²¢2Z2—Lêšq%$EQ‘®LÎGçP,­ôùÚ,]Ó”ÂH½EUeIÊv¹–%%É®ëEÅÅâÁƒºªôöf9¸(X=žÂºz_(„²ÛíçGPt gY1xó ›Ñæ8”Hð§ë:Žcv»}tt騹Æ5:6^à¥g|"¦19yî¡ÑñX,V\V¦ PUQVV^¡+ _„|鯑,3[’ƒ÷žmËɹ5UÓS“e¥%YNgWW§ÓéTEU•â¢B“Ñ€!¡ØUË[þ²gwñÚÕ¹-Í_ûöïSiåêÕ&¦°¯üVç_νvï-7]iªmV5m劙¹ßÒÒÒL#wáŽgb¸åÛßûÓ+¦Ü¼òoZ¬pþ<|ûWz_~©ý©'é5k{Á„Ë]ò§òh¢¥µtóµÑ±áîçŸkØò5Öî8ûâï®o¼¼é‡Î<õ«îž«»ë«$Çi’´@ ƒ1,C~…¦¦“ÇÕÝuO’qÕl†*#ƒœÍÞØÄrR¤ÑÞÐ,b#‚€‹Í­qˆp]>s˺Óo¨¤‘Tgœ[*ì±åb"¾éèSb!ÀSäññÉy„–%Òé‰XLÄñ‹ ¨&0Ã4ItÖ7ÖÝy7Î0J2 ?BVÄq|ll¬¿¿¿¡¡!ƒq~éK_ʤe ÃDQÌØÁ ‚ȱLÇ™¶Á¡†Æ«:822âñx2 ᤉ… "@8A¤Óéá‘ B·;'ɲ¢é`ºçh¶ æä¸bñ„‡vK:#ÈZWÏI2"Tfg‡&ð1Ñ?£Ã„é’(Í͵´´Ìf³Ãá8räˆŠŽ¨©h6pQgN·,.";{"H‰ÒÀà ßï/¯¨ì8~LµÚìåå’•(Šn—ëÖ[oÅq\Ó´ É$c³]sõÕ²,ÏÏÏ›L¦¹9„Àãñtuw‡C!ÏÏÍΖ””Älö¬ªêÕW_ÝÑÞβliiéy"„p’ܵs¾§{Ùmw†ÖÇzS@„F’X†l±XËJ w횸|}Ö/üôÉ9{V×ãL¥Ò6çŸuMfh40%¿°3ˆ¨µ?†¨P8FÓ´onÚ•íØ°aE’e¥…²$ÏÌÎ04]\\ÂrŒ¦jq¾Za(¼Òλ͆‘PΆ~pÍJ®¾Bˆ"*ãû Õñz ,½á:{eU$‚º Ì4l/ZÅr"ÁÚ5·Ý1}ìHdtä¼–Ì‚€PE‚¦kn¿£÷åÞ}{#³**Z·Üë{ýÕ÷ýqÍ#ßmùÎ÷÷ÿðߺ¶=Ótÿƒ”ÁÐû‡—E/oÚúЙ_gbøÚl^=Æ B‡à º·À9 IDATŒ$qŠÂiio1_½9K 4V/ÕuéÁ.½úWéÓ›‡®nLI€Â´HTUT eÓ!$Ž‚1­»ƒñÇmT.oáÿ¥ÅeÐî” 2~ŸÀ:2ð<~òdoW—§¤ØæpÀSmy%%kW¬@iúguFšÎggsÎlUHã4 Ìh E^6›Í`0œ>}Úãñd¶ªª‡šœœ4‚ Øl¶•+WRi0YÀÜ †š2K÷Î"Žš²Ù¬ú.ˆ’®#’"E&B•%UL"EÄ4);Ëæóùu­f U] H …t×Pì?µ„ÆR©TsóWIiØïÏËËEðP(433ST˜G~!¡y¬ÃNÄÓİpç™9g–«¾albbdd˜¶Z«[WLŽ Ã) à8Àñp8,˲Éd‚H¢˜Ÿ›«iN%¥¥’(––—c8îØñãýýýÍMMùyy‘H$ É’d2/âã,Ÿœì{íg}cñÆËÉÉáââbÿ¦kš,ë>0I’©Tâà¡c““³‡Ã¢»÷0òL}}õ¸ɘKЭg…×v'X{ê‡k¢¡)EÃÖ¯[+ÉÊþ¶ðLÄðê:†12$iGœ5Mà„ަ_,†(tYÂ(J.(Ôûû¢;ßx<9555w|eæ?~xä‡ÿ¶ìßÿ³õ_ÿýØ£?:ýË'–|ý› ÞWþ kjîšu7Þ<¸ý/“÷ “ùtÃ4MŽT™™@Qduß|QÊ€_aëLõOO§×ÌþÃÑdmZ±~Ð0¾—¤Î ´*+P/*c)–^á\Fu(©¾³ü¬i $ÕŽãN†ÒÂ!+MÓ¾¹±}!?¹!D 8E©¢1LŠF¦ª¹ýŽœ¥-ª("]è^ZY99;{¶«‹çùÎÎÎññño¼Ñív‹¢È0Œßï÷Ýw=zíæ«d)!µ«9v6–”?*Žõ¹KhMU}>(&"%Ä2d¥p$633g2!†Ó-ˆbÔðCFhRU•¢H@ I$S åOŽa1¨(J$Q%)c©ë:AËZ–3xZ¢u6"á=ÛwìГÊXÛi[y90˜vþê—¸¦H'¹4}¸£½{fjj»Õf]½¶ÈåÚ·oßÚ5kŒFãøÌLÛéÓ“‡¶Ÿ:µjݺMË[vî?LÄ]ït2é,.É/*:×Ó3ßÛÃü;ãqèv‡C¡>0„PW‚aqž7 EE…á„Ta8£*R[[[(œ››>؉ ü\@¬©rÅ¢ÁñÉy‡³Á85 J4ŸŠLFÞU½î½Csçº õwi€Š$` ÎÙ§~ôƒ¯VÕ”ˆ‚ˆÂ0OIñhØl2 ÆL€3ŒEmmg Kl¹Uµ'ö›‹‹K:;;÷îÙ-«¨£gFœvÖ4V×|ùöî_<~ð_¿ëh]¤®ª!kqIáåW<Ÿ¢ü°Á'I¨ff}¥d2 Úêh»£ó¹g臾¬¿õËEñhç?kýÞ.ùáúùcç¶=ÓtßË ½³Ãwàm2’šŠt Bæ8†!]C¢¨%“€IY9®·úÒÄ#&SgUg³r O§å2ˆ’“Qö}uÀ’ÃRj>‘•@ Œ‰€Š9UXõáD*¨àŸ t‘`²i:E„Š$á&¤’àïÓ?ÔÂR.+¯øâÇk¢ˆêÿó«mO<Þ°å>gCƒ&Ë@×qÆc1¿@r\,s:N§Óçóa‹Ål6[eUUOw„HGɲSUÃðn¦ŸA^g¶Ýfñùf{ÏTV”{=9áp¨¤¤ézû™„ôÜÜÜÜ\¯$IÛ•ˆ qAϱŽÇcÑÏTÊ£ó];„ã M/UÕ\NIJfbIˆ§“ñ ‰Öuˆ4H2»¦Öäö$ý~AyÞÀK’Õ½ò–[R`m¶Žþ™™™¼¼<’¢Žã²¼cÛ¶BŠÌ÷zÛ;:*5•œŸwçåIª**2„h,–1ÏU4#UQ2õóyÌÃÒUYvX¬99.w@žÅ F(rZE‚ Ò)QQA:EQ–¥PXôX•²ƒkÙª©™éé‰piy™Ïç%:l|M㺮Ó{bq„ãŒÃLØ­„†‡ï{z{¼Æ±\OÎòÖ•$A,èA0ˆt ’¾~ýzQHŒŒ$âY%0²aMŽ;›-©nl,Èìzoòà’åHÓ·¿èíiýþpÚÏÌS“C~?ÁqU·}eöíÏüÆ_T!)æ’ ±±Ñ?ç[Ë¿ûëu7ôÇS‘hý=÷Zq">9§(Ëeý0MÓ‚æ <ÕµÛ»XÆTô% KÌò^'‚U÷¶€JÂÙ;˜Ð î˜Ë>—Îe,ÜšöÎ¥´ ¹%õÃý&ӈƀ®òsya/`8ï(ÐÁg˽€¤X,“u§êûókKü:f·#Mo¼ok÷¶g»^xÎYWqèzfìd¬«;¤ë ¿Ÿ5™¨D"³Z€bÏâ§ûÄ¿M]º2»4—IÅã🣠ˆAš¦)’ }8¬£ÁÀÒ4ÍsŽcýýý{÷}ðÈÃßhl¨gYÆÀs2"‚¢¨`t–™&ì3(cAtA€!°@ÿó¾ôÁNñúÕ„È­o¨ ‚œ(V74¬ÿâUUëèê***²Z,]½½ÖêËÄ”Žô —^Jð(Iy^ïøÜÜüÀÀø®÷Ö—_rÏ–˜ªöõô$xÞëÍ­µÙE‘gf$Qì:s¦¡¡aÖ`È«¬Ü°aÃÁƒóóókjjR©‹ˆLwD’DI’²³³¨ ’D‘e¹¦¦¦Ã‡{¼y×45Ü÷\y‰; LNÍUVV–BÇÒÖʪªî®®±1¯3;;™H477ä:uºÐÑIJlÿ6Ÿ\94¥ºÜ²ªèŒÁpr =q¦ö £ÑæT5 éº¦#¡ EE*Âe a8QV^®«jUUµ#æÃ꘻â*K‰$%¬´¨PºúMI!Uí{íÕîß?ÏÚíM÷?@0Œ*Š»ì/Â5M³ÛíÝÝÝ}CCK¿tëÈ>ö§WÒ•UíFcº¬ÊŽþîá¯^¶‘ºôòCo½qhï^ƒ+GW3ÂŽ0ÃÒ4uA2VL„Ç¥Ô,¶zøÜäõƒ¦õp¨ð`×øeïç‡ùqª`Ï”YÑ„(íîJ*JÛ…0z<'ûÉñG¼ô›ßÂHP{çÝŽšºÈè0†ã½;ˆalV–ÿàs¿>^V¡SË2‚ d\”€HW{ÇôÞT*)¨åy8Ï€hQÔ?¢ ýáý!BÀH4ꛈ¢ì„Uí¼f· v»­´´TUµd2…Ò4=%Jª4“(J0ˆÏL¥|bôf®«ª¸¦²4Æ1˜1¦!Y=};ÞŸtPôËJ ::º\ÙN¦ `N’TY›š*+,œ˜š’TȲÊ©¤¢(4Ž/]¶ !D0l__϶gë®ÿÿbEW´¶Êª pØíO?ýôýû fçæfçæÊ**<ÞÜ[o½UUUY–/Rúdöøñ'2æ|øð’%KŠ‹‹GF†‰èý÷oµ[-+V,_µj¥®_°ŒÐµ%MµË–61”dýõýé½i¯G,/³ǧ3óMõÅ×n^ªZóÔt  @°.B* ¡ó †4`Ãp‹ÅiLuIV ‚F)EEˆä8Ê`8ŸY0¬a˽At½ð„°ñ¾­àO(Ž.zXBϹsç&‡‡–-i.½é–t"Ÿž,ÊÏw_} ¼ùæ®_˜ï<ÓòÈw¯½úªîß=¯ iŒ¤2&ˆC8“)s¼$¡&dzöù‹7~Uñ$9ÔõÜÞ,EΕթ¼À©}¯€z‹nÌòÏ'gŒÚ`Z×ÄmPNÓ¾‘¡9ÂhÒBðêš&'âZFÖç3‹È„”Trî䉆-_3æåÙÊ*–~ãá?ýß¶_ü|é7ÆH ànmÍYº4³èqœà86Y|x¼º”¼ûv¨¤¼«¨¨¦´bŽã=gÏìÚwz,^wÃjʺÉɰF’bÏ„÷?ˆ#€¤#š¦ü~ÿñí<Ï Žz<AàA¤! WV”³,X–… ŒŒg¹r¤t’B¹ä…qå?멚fäÔipZcÓ’*ËåšúϽ¿ûˆ&eÏLÌÏ’$ÉèZÚ7??6:ZRR’1^H&“pØ?6š<×ËWUó Áh F£ÛßxCRÕ\›mðÍ׳JK—?ò‰$ã33DÆÆAŒg2š››³²²¦§¦Š‹ŠU…¦êÚØÐA’™™˜Åß\Ó4ÇÝ®ƒÙéɤܫ«nœ`Õ´466f6›³\9Ã556Úl¶ùùùòŠJ£ÙŒ0’7[pQ$ RQdM×u]—U•£ ‰"»‰¼c³éµ’oŸ›_tÇ3‘áêÊYÀ¦:Ã(+" €N#9©Ž*žD€‹ô HU‘®CpöŒÊ³nâ (š®]Ϙ -zð`jd؈÷"”·rÕØÈÈÌôdsSC2‘\¤³‰A›Õ|÷ì8F ŒI§â‹ý•h´»½}套²<ßÓÑYÊPZ*½ëÔ©"¯§odÄâÈ2feePVXpdx¤ÔëæÆÇ«‹Š†û³æ¸–»=uý­×”í{ÿìÈpÿ¦/”ðžr220-'@ï@v>ën©ÒUé:†ãºŽÌ/Ÿ0Ïj-,,4[,Ðü¼‹¯oiÖt°»Ðäì-ר­Ët€—^ùÒFëõ+Øãí¡—wÆy‹§õ£g%MCk¹¯ßlñfá!_ôŸ½‹6²Æ¯míüíÓgž~²éþ ~:îº'J*…STã}[!†µ=ñ8À³b¥µ¤´öλÓS™z'#´\n4¶ì{ÿ}»ÍƲì÷¿õ0Áqr,6yè éàá¬êÎÀΤ¾¡ÈM×¶çgïÚµË`0”––â8~ñðÜç+¡áyÇ0wNN*eð$Aº]Ùɤ9 äæz!„ñDÃ0',f“ÉÀ9³l”57FÙ«³ ‰²æÍÍcYV–¤ó> ‹õ>ÒTÍb6Õ×7(bX†A‚ݧ¨çvÄ òP¿¹¬Ì|ÓmŒ>öŠyo»b…¥ÁE^4à®ÊH”BH‰„㶺¹¥R=½½†ñ<ߨÐÀ ñx|Íš5 ÄB¡Õ«WÓ4MQ„Ðçóuuu †t:TUÚf«mnöæ{× ðÕýúó;wo6g1ؾ…ãx TÎm-S~k±‡¨ª*w8f³™3š MŸ=w® ??ËnŸIŽ»~õ¯Ç“L&+Íf“Åln^¶”ã8Ã]/iԚ׬ÁqœÄqIQIL3Ìzg>l­¾êŠúž ¤+‘ Ë8U’¢@—D$!JP°” ! ¨²ÒÕÕM’¤Çëæ9.ãó$B†ì~âĉ³gÏfXï™`Vt¦Ó#££6‚ìyæÛZ ÅÎØ nÞ¼™eY’$Ï3LdÙëõ꺎t}óW·ô ñÑ‘ºÍ_pVUÉñ¸$Šõ_IQš›kq¼éïÇížô¿Ýå¶©ïP¦é¦Ë¨ë/᎟_Þ•4ÉXR;zVVT°¾™è&³×‰'R:ÄàbáØU„Ä1H‘ðÓ‰GŠŠ4ýo>Ãq%™¤ŒÆÆ¯ÝßñÌÓgž~²iëC·;Ã×b˜*IM7Ü{ Ãî–åF¯×RTta¯„®ó^OM°Š7Ò òs‘®Q¼Þÿµs¯¼›_z×íc)i‰4Ö¸kê Ê*ªX‚°Úl ”Æ”ŒEqn·)’ÔUUGz:• ˆ9!šL§½FÇТ$YL¼Ã›³wŠQç…+*X£‰¦(2ÓeùØ—Žt„Ín‡¤B )|q=ØöN||:ùÄ+B:mº}“Q×´ý>ü­'â÷^kâLVÑ 27ÇLaÉ™™EQBF£qé²e­+Vd¼Þl6[†Ø‘‰X—Ë•›› !L¥RŠ¢F‹Å²¬®ëÇ™L&„A£%Ënß„%°ííøCwÚYEQ,/¯øòmw B™¸×?HÊ2±~‰Q³Ûhš!1Ýn1ñÃó†a¢(°$fâ()#›e3뺮*²×åe™¤˜ šátdéúy;! Ê볆_mŒKõå¦SÝ"¦VŽg1ŒÂEã¡`¤5³' 15åŸë‹EÃ}=lNŽ»¢¢‚¦©,§+Ë‘E’ðè‘ý33óyùù@Èb1G£Ñ¬ììòÂÂsEMFƒá½¿üå ýbyŠ¿’SU£Ñxå•Wf´23š…ÚGEÖhª¿ãΞ—~ß³íÙ†¯Ýo)*Re€`h üÕ=É™€~ß Î/±ý°²ã°xÝZî†õ܉³Â ï&Ì<Ši'zEMG뛹‡¿dÎË&@ÏÔÿ™¥ ?bØ«ëÇ A€PLÓôïPëºÎФÑÀ`ºŽA¨(ò‡&¦¤R´ÕÚøµ­¿yêÌÓO6Þ·Õó±µtæ-Ee²"Ïóª¦ ©Áq÷m´=ñøÒo~+gÙr9×T 0š„‚ŠBƒÁfµjš†È/(AˆãÝXVÑÿú›zG;Ï×;ùBáÔ©Pd´øªëŽ%#ð‘„÷I`ÁyõÂ¥bЧRé\{tr’"I‚ ¡@HJ§®¥)3¨ª¦ÜÊ€*zvd&ÐGgו媪FSà“øÀ@€Ðy²Þ…o%H€c°Í«yÁ¶ñùˆúÌ_â€Û7O¼ûma–>ÿ$ŦÒñBkûUËäx4K’$Ýn·ÓéÌ BÆb1@&MNN †Ì3ày~ÕªUÇeÈ"‰D"'''â÷‹¡Ð`Wç™Þ^š¦V´¶<ü¥¬_¼xîÄ:¤Ò¸Š`Æ•ãÚ°”4˜™7ö'ç}>ìà Ö¼¢š@(ÕºêC¡à@qI¹ÁìlïÄ …¥ÓI†a5 9ΑÁÓuMVdA¤®#]S9žoY ЇVÎâ-3¨¹‚î”i½,Ò0]I*CJ~tÞàïI>5 æÒº•6›óôé¶í{ßcYg IDAT®©±ª¢(›ám“>%IQLéj8&¢¡®Ž së Êé´˜ÍV‹YþV }Ô€wq9·xÝ„Dœ2*nýrÏ‹¿kûÕ/š¶>h.(cQ–!4½º'69¯Þ}©È ßø öæþÔ ë 7¬gOôÏ¿›0ñX,¥Ÿê­idºÉœ—M†¢² Jm"‘°ÙlyƒÅ¥,€¦ EÂýíbÇ Hð£žØ!‚ T%YWj(cÃqÍh2³ ³x²HŽÇi‹¥ñ¾­g~óëÎg~Û°å^ÆjÓåüˆÅ¢laX °X,ªª¶µµeâuQÄY¶ñ¾­ ó1¼|%bHÓu ã>•¡ é‹·M¦)œ`é–;?æ›L&wŠ*3:˜œ­»ëžŒXOF”ècqà“Œœx†ÛôQ7 ¡#$HŽ¡'FÇR±X*.//Ó86™JëëÓT-K’TZZ"ŠE1²,™PÌ$Ír„Ãð…3ÌçL‹:MÂÍ«xb8†¸yƒÁnÂ&å Ïql0xÏÁÝ{Æ£‘úÿýΦœ,.-"ANž<¹gÏžáááuëÖe:òAtwwŸ>}ÚápD£Ñh4ºdÉ’õë×3 ÓÑÑár¹ŠJK>é;‡egï ø=­­sÓÿóÛ“wß¾ù7›žÛ'ÿ®C®Á9I£±¶¶ÖjµÒ4{Í ©Â®]m—/çæçgt*Sýƒƒ§×¯YbµŽžè mM†ûNR„œŸ@Ïrm#yyy'vx>è±8<¹NÜh`cñôÊuëJÛÛ†Ÿ,½dUëÆœ?ïú&ä†2ºgTœJ$®ÉrH.ã&M¼œÀq2ì—‚>ƒ˜Ýɑ޵ë×¶·w|ÿ¿_*rD×\vËÄ<‚–O2y9ÉT: E£Ñp8¼lÅ ’ z{zTE% ⓚ% þGÏc‹_‹ùÃgžz²qëÙeÅéHôµ}éLô–å‘9|ó@ê‹ë _¼”?~V|áÝ„‰Çâ ÑÛÀ~ý&‹×‰'Ò@’Õ}ûöñ<Ÿ!´lÚ´‰¦iå$–ùJ „oHµ÷KÍ´‘Ã4 ]b½ýîÁ÷ß™\ÕRÊAßæk®´˜ !½øfb¸yëC'ö“ž—^\ö­oëš4í¢EË0Ì™3g’ÉdCCÃÑ£GFãÍ7ßL¤œN“×t߀SO<¾â[zVã²×öúÇ%¯“8ϰ^äJBdÀèh?îɱ‡|Ý«s¬-’$•]»”Y¿¤í7¿íÚölý=[&^/ŠáÅÒBñxœçùùùùT*åv»?θ@œÀ G’„ ¤ 7ðœ(¤(Šrçä$ÉP(L3 Í0†+ª¢ªZ2-ªª–N§¢±˜ÁhBgú¦UD‘`ó*ðÜŽ¸?¢>»=®éàŽMÆšbJ”tšfÀî6¯¤®ýÂý؃^Þv˜1š¦6nܸfÍš;v¼ùæ›7Þx#˲€ÒÒÒªªªÉÉÉ®®®LΤ‘ Ø;ÐßïÈÊ"¤b«Û]X_? aU—eÿeì’FýÁ«™ÿ™)oþË*ÆHBU0?¿@UUQ’¯Zi°ÀÜÁ ‚æêìŽ#XiqŽNLOûœYvO¡@ªÂ]æpd½ùÆ«‘H¬ÈCF3N£ý²õË­öìÓm†Ýaœ  ˆ”FÀ¹ö¶S;ßñ®]ïÝt+7®¡_û@í’¾°š70 Qr<~v¼ÃU¶Ä½¢‚ÄðñQvbœ_ºÌ€xüø1Q¼jÅÝ-%Ά†ægS½ÓS”(&;;»,V+†a&“‰ã¸ööö¬¬¬Â¢éî.-¡}^ùÒ>¯þpÏK/ö>÷øÊ=»Çs¦æÕ»¯1f¢÷Lô®çŸ_Þ™0/ʽ«¸¯ßlö:‰d$†aÐçóuttTWWçææ*Š’áÖ-\—"@ð剎AéîkŒÍŒ¬¢ ½÷iÃË’„% Û^‰¼¹/X–“ºn³Â2„(‹v+)3z<®%KGÞ},šöZ|ì$IRUÕ_|qvv6æååQu¾/(Ç5Ý÷G¢Îç_è[’@Yw]IW傌`†<…Î{•0 34î?z,0¬óãU-„Ùcx÷ˆ†ÙZRÜxï}Ïü¦kÛ³õ_½—ä8%¾HoáoŽã:”J¥::: „ßþö·3š Kl¹ç®@0<<2´X,HGÉdr|bR‘åt:­(2Ë2F£ASUŸÏ—“ã.((´;ì¹¹¹‹Å`0š- Búâ{‘‘•íÎs»²6yñ¼Á"ACMC+òI‡ N(¨:8©P$¬, êûëÎ÷p¿ù–[j‹9ŠÐw™ï? Ó4Ç EUWWgTùUUu8………&“©   µµµ¬¬Ìív?~|llŒ ˆ¹ÙÙœœœ¤ª–44\¾y³˜Nç^½¡ƒú+»“žî’¢è»ûæãŽÚºŠ&¤hMÓqœ²X­Š¢”•—¯XZööö?g9¬šªD¢q‹™Ï¶‘kZ+[—ÿöÞ3<®ë<]k÷™=½zH‚D!Ø;)RÕê²%Ë-Ž«ÇŽsnî¹Ï}îùqïsNÎM9IÇŽÛ±c˶"‰’lŠEì"@ z˜^voëþXÀ")JrtOòähÿÀƒ™g°±÷žõ­õ­÷{¿÷ÝÒP_UUYÞÞÖ¼a]õþ]ímß°®zCciÛÆÚê2OÚj°‡6ná…3'[žxjÃSŸ6 C‘u†!ÖW1Ó‹ÆÕa¥¥ž­¯²‘†’¹|:ZWVÑ\ïq’À/wž›P¥2D¿›ÝºyÃ#inÞ x.]<311fšf2™”$)—ËÕÖÖÞsÏ=,Ë®_¿¾¼ºªó­·ÂB.Ú´.Ô±ÅÒWœéï,t~Û÷±6-Á0em³³ó¿|-%º«¿ü³®”:Z\{ðÊ/Ž n™-X—Í@ûÛù?y:Pa Ñ4…›ÝI’ÄÎeee‘HË\c¯†!‚??–ïU¿ô ks+ÊH7€e! AIH@€ÞáʤØt·ß…f— Oh]{s)MZ‚¬4Ö¯8Ùl‰ëýùÙ™ê»ïÅM—Aàá8®¦¦¦¤¤ÄétnÞ¼9€¢ï¶i:œœ£qãÏNƒ¾·G¾t—µm_C6«Z€„D"@A’T´¤,ŽlXßÜÖºÉü•ªÏIT- 44N¿u2=:nk§XÎZ¬‰W¼·Û}üøñŸþô§ø}ûöy<„ªÊ†®Ùl¶¹¹ù×_ ßDhšB0 “Ïç—–—9Žs¹œw)2f#‘ˆÛíÁ3 ²ž5±¹Ù‡Z~‹ø›¦#††xþÑ+ùxÆüç× yÑÜÔàê¿pãFvûÞOŒÍ!t¨ƒŽO/dR¹¡á™êššl6ër¹:ô /ôõõ577c¯·uëÖ‘$YÔ+âþ̪ªªB¡`†¦(ž?r÷Ýš¦iª´·•ÇsçÁqh_â§==¥?å[>˜æhBV-‚ Uu8œwß}7EQ‚(:\žñ‰Éö¶¶êêªùùyšfŽx‚~P×õÇàê¼®ëù|ÞÆ»(Š …¢­íÛvO ?}a6>7óø·¾]óɧ4Õ@P,kZ€·“Ÿ¾›üűì~“ÿâ£lÔB@-Óø}{vïL$“åååÖop¹œ’,+² ȱœnèw9¼k÷žåå„ÍÆ©ªZRRÂóüÎ;Ýn÷ÈôŒ~»Üøwµ”¥!Šˆ>–ê¹æÇ~í¡×zjŽž•Û¿½??&¸D¶`v *šŽöµóü¤—2Ó€¦éK—.e2Žã°H<O$ããã¦ir×ÚÚÊóvÃ0Ï ð}ãÚ—t¶Ô1‚´‚0[Ð…儽^ïôôôàà AKKKˆ°U5]ÕøÏÇç§zª‚j}CÓº mããã¡PÈår©ªŠÐ Çrí’»¼¼lš&AgΜ1M“çy›Í&˲Óé¼zõêÅ‹I9xnã¦v–eæç7û½Ì–û¾µû¬yá_FýT¨¥ ºªéXC"™L^¹rŸ™çyÇk𿉷.ªª>ÓŸû«ž2ã [+ü3®PIÇ|ãêwÿîÚÐú•¯Òv^—Dºóóó,Ë …+W®0 ³¼¼\ZZZ^^Žz饗l6ÆïuÕÔÔ9Îw2v’"£%¥¥%‘7†{¯]Û¶mkMMu2™¨©©öù|kÙ^ÄŠg¤îXWüà*Õx³¾Ã<àÇ¿É/$ŒŸ¾–u‹#“É¨Ì gæÿà‰ÀÞV®©ÚÑ'¢IÓ4ÿVÅ@ ÐÖÖ6<<ÜÒÒráÂ…ååeŒ%ÚívÃ0öïßïõzï¿ÿ~¯×;11±uëÖÎË—!AÈŠ240@Òtey)E€ÇöóœÝüÁO*:ʶy¯t4iýø7…/=ä²±„¬ZE)Š222âv»ƒ‘ˆiZ~â^¯w~~¾©©É4MA(‚SÓ4A°ÖMÓ6›Í0 Q)†¡5ÝûȾÖz˜—Vì2Wm_3ét!„Õ…UU-++«¯¯'bÃFkÃlötw®÷Ã…Ør*•ʘ†±ÿÀþòòŠwiÖ€°»»{bbKáàUN’$I’0¢fšË@ݰ–ÓFêÜÛb qQnüò“[ÛZ>ñæéí·å»vç——OŸ>H$hšŽD"xúÆ{ü»iZ MÞjïŸQO½u®±DÌ Ú}<¼ý[ßîü›ÿÑ÷ô|嫜өKÒÙ³g±Ì%@Q”úúúööv]7²TE$%l%ºå^²eYK±X__2™ºt©«½­•$ EQ°Læ-©q[ilønHíVŒþõ.MG, ÜÍ~ô›œ¨’ ó™bøÒÙEÁ0Œï½qóÍí›A›Q[['Iþs’$q‘Ón·?>úýþ#GŽô÷÷Çãqš¦ççç3™Œ$Ë—»º††lùÜ™—ŽÆuÝP•kÁMÁ²~^º{‹Sφ¿ÿOûÚßÜkû‹ŸK/ŸŸ:â°q„n€žžž‰‰ †e#ÌÎÍLkUU3³³Ùl¶±±‘ ˆýèGƒƒƒ‡ûT„Ãá'Ÿ|²»»ûü… ¦…b#ÃödòëÏ|±Äæþóþó«¿\j_¨©kÂ?44x×á»íßõé#ð…³ÒÏN¨†¶½b÷¤–†Ñ%ѲÒ!8tñI1=£ÆÔòÛõ\}Uh``Àëõ677_¹r%óvîúµ.]W©5EàÛô¿_r¥Çƒ¦~}B˜O˜_yÐ^WÍ¿{ªëd÷¶¥WFî¿2^ñ‹7E¿½ºö·Û¾ýi¿ß¡½x©7—Ë×ÔTçr¹ƒúý~¯KÓ­çOå://…`ç‘]e4ëʱ¨[Ög…å)Š$—––º»»WäxôÑGñ€”eY,Y!I2Ç1õ×®õ_ªªièï‰MÞ¨Üw¸ýëØýý¿ëûÇlùƒo Š:wölUuu4]\\|òÉ'i𯉤 ;ãpz^>›ë‘ëu‹€kìEqÄçr¹ÅX¬PDQjl¨‡â9é&éý÷,|x.kÇǪnq º—Íㄉµ0Ÿ¿>@•WdÄõƒ“ÚŸÿ<ùÍOùwlïÐt ê–¡øZ2­8‡Ã±wï^QÓét6›D£Ñt:½¼¼ìt:}Áàè…¹Ù”$ΤcÆ\*7žLxci9S=[ìcëgù/Ç¿ýGeþo<áþÑoò¿9/Þ»Ãa™z*•‚‘+”Ña#››˜ð†iÆb±êêj›Í–H$4M4MóÈ‘#ãããçÎÁ¢é·Ïœ™9s¦mïÞÅ`¹]MìÝÄý埣?¹ûÈáý¿}í” )]]—kkëÌ}{i >²›«+gEu×Ô«¯äΜÝôÅßg>]n­¢@‚ ifäm2q{\„ªêÇÙl6–em6›®k‚Ì&r¤adš®¬üNŒc€† ž;)Ì.¿ÿ «¦Œ~þxæ·WáWžÙºnvòñbwä)›MåõÎwê½åa(ȬÇã]ZZE1:NlL799Çu]‡Ã•••@ÀçóE£Ñ\.'ŠbiI˜ahÍx¿À²¬`0ˆŠÇãÇy½^—Ë%IÒÌÌÌòòr>Ÿw:e¥%Í UZFw]©™Ÿæææs —m˜¦€È¦eA+«ª§§¦R©T(fXŽ·ÛãñøÔôt*™âXX _™ðf%Ï·ž®˜^Šg Ó*† ÉXºIÂBÈãvû|¾T*Âá0VöÅb333¹\Žçy¼Ï§i: /,ÎÇãËËk9gGªì©©jùÊ3×~ð½Þþ`Ãg?_U['ò…B¡¬¬“j–ãñÉÉ)¡qòÌØr`2éúÞPÀžÑTݾZ§%¿þõ/;.QGFFQˆ„Ã[ÕÔP(Ľ»¤öÁÓã›@,UÓoZñÊi³ÙV eˆ¦i’b V„`[£#äÌûíùÇî®=´ÕŸÎ›ãóúBÂè×{mGBÓB!!Ç1±Øb*•jhlrðü¦M›° o ؾ}{4íîîŽÇã–eMLL„ÃaÒíÙ°oߎ#wOMNÙìŽOܽù¾]€¾v ¾=ÔšyÝݸ¾;[¶½‘h¬d^<#\°¶‚× kzjÚçõîüăg»{jšš$E]ŠÅ\.W0ŒF£¡PèàÁƒØ£™a—ËÕÔÔ´çÐ] ×ûg.œkß½;ÚÒRQQ¹}ëvž3 ¤kÀ/êN·Ýôy]%¥å76—””(ªAQ°,@ÖV9ª¢´Òù[>;¾íµ5îY¦*#tE„®Så!²ª„©)a{»ÏïÞÑÚ¼¡itl¼©©©­­Íf³9ŽTbQ'ü£ú–Ù«'×çÇËwî ´¶[ºÞÍþ¹s—þ¯½+Ñû WC}ôŒpôŒøÈ.æ±Cü¸Yû‹ó«çÂqyHÓuk_;ÿGŸtWF¨lÁ,++u»ÝXº±©©)=ztvvã }}}ýýý¡P(:;;ËËË·oßI3,¦d ì~‰D†‡‡ËËËÛÚÚt]¿|ùò¹sç8Ž+//Çã/^2M«©.²¾¡ltlbtdh}û}W'¼,m®¯òf†¯åÆGš|€&M‚UUzü±K¢¡Å…¹7ßx5›N4¯¯Ñtðß¾wal|æ Uìl #„®\íF£»÷ì% ’´Ùb—»”L¦òà],E–••-,,@÷ìÙCÓtww÷o¼a·Û«ªª²Ùì… DQ¬¬¬ôùƒƒÉD,TµûÜ ¿›§jB¦=öÕÕOŸxCˤö<þX6›àþ{ƒÁààÐÀoó C£ŠŠª7.æ<·¹V|à`ƒi²¢bë×OSBÎÆÙ8[yYY}}½ÃÁ{¼žT2ù¾}Lï/ªûÞ¹4˲²,ÏÍÍ¥ÓiApÎíö”––x=.ôÜn7Ëét¦­¼ä«;m,|éœ21›}ö…AZö¶4×ÚìNÃ4¦ 0¤YUY¡Ö¶mÛ¶mÛ†76!AFGGÃá°®i¢$š^¿iSãºu¦iÀ$ ¶s£ãÑwÇ«Ð#·{ÞHX7f¬}­œ×IdEKUõ¦Æ†ÆÆ&Žã „8ž¿12RVZŠQÉÉÉ={öìÞ½Û4Íõë×[–…%û§+5:â¸ÒùÌ#tüÑ·H›MÓ´ZZÚôým7¦ä_Ë–×î|â @B’ LwÑt`˜&aÎÚÆ­ÿéÿèþë¿ìùÎw:¾ñM›Óƒ ]Õ4]Ó)ŠbYÆ4MÝ@šf†¹k×î¶¶vl ŠbCCCGG;ÔŸÿ÷çO,ˆ÷Ý_wè 24€Ð±V¼ùV3çÛ×{{…>e”¯«Yž‹ŽˆµØÌüáCLYˆÊ –…€eè^¯wß¾}ÇŽK¥RÂK—.q÷ÉO~ëÖ­»téÒ™3gB¡¶Îillôûý⪠ýÚÒ¨eY /^Ô4Íápôöööõõ=öØc@!´aÆúúúãÇûý-[¶,.ÆXŽÿüÛõÚÄoÏ ¦­ fÙe‹!]P²¼^í¨ž˜ym!E”rôÅ·t~âèº>œÒ;öÔF©®‘ë§›?c˜À0ôÚÚZÇ“I&Ñ;Ü˲¬ÊÊÊòòò‘‘–eÇÆÆúûûï»ï¾ÚÚZÃ0Ö¯____âĉëׯïܹstt¼¦ºâKŸß=òËãY:[,[emhÏ]óo_¬=b4mÚüæ›§ DÍ/ÆÏïÜÐܺk÷ž—Ϥ wÉŸý_-³#gŽŸ<×ÑÑWA „ešVÿÌôËÒ,CC–––ñx}}=Þßß¡kú½dßÙºÜÜçE Ã$‰îîî±±1Qqy3Nªªª:::ÊÊÊ‚¡AT'§æ7µlvÙÅ?|ÂÇйão]/g¯¾}Zìì?HùwËbÞDçÍùÉìâ\ÁS)ݳÓk·Sxa×4MÓ4·Û½k×®H$’ˆÇÑÈõÓ0xˆp'˺¦ƒÍ Ì“w»Ÿ?ºq‰­e Z3Ilƒ ¢BË24ݺeKEyy&“a†¤i@’¢¬`EQÇ"ÈXßµKñßýuu›¿ñM’eMYÆø I’²b6V²Ÿ¹Çóë“âóo‰OtÐÀh1¦Z–…$ÙV]üäÓ—þöÌšÓò©O§ãË5µµ¥¥¥éTzth¸¤¬,“ Ks¶é™™Ëå555,˦Òé·¯v±yöèÿ㣉øž?)x¢3_œV?ˆ/.Ž^Ë¿>!ÌÅßÐÕP~›z/ÏyƒÊ Õ®|aKcMíÆäRfER |˘aDZæ{1rÑÚÚÚßßeɰ(üªº\›²áA²Â+$A‰Deee4-¶sÔÔÔ´µµõôôlÚ´ Bh!YúÝÛ8–!NœK€lEVÉ/wD£š qv2¾(Î.§{\º{nJ^׺뵷ł ÒñåG"Rvýé3—cKÅË0 « Ë…µ)ñ…Qµ¸¸ˆ•óù{æÌèø#‰Z ´Æíd€>4&ìÞàªFÔ)òáµ÷¹Â\ÜøÊC®šRú¶õÞTÎìTtØæ¹‡R¿ù§yß3žšMŠÔ?<ŠŠ|cL™À¡¨ëºiš‡£hsyg)ÌØÐD’¤úúz ùbðßívG"‘¾¾>œY–¡¨¦ª}­¶Ÿ*ƒúÏÂü…ŸmxúsÞözÊ´¦\ÌD7¹¯’üŒóÞ»*ÓéIØ*#”˦²Ûãõ% ŽãÞÙY¬e­P05d¤ëxKˆ«n·»8¡àÀæ8o‚ @8ªîÝnzÈå´ÁÚèd¢@KU*áà\²"L!‘‽"Âes#_"AàyþÝ_ ¢nÜ´‰Â&7X–‰»ÏTM³, çÂβ°ü/Ä=$D2‘0 ÝëõÞäAX¦n§cJ’¤(Š—.]šžžÆÅápx½^‚ 2™L>Ÿç8.Nwvvz<žmÛ¶ŽŽ¾õÖ[O<ñ´%î;¸Q–„ß\d²Þ µ]m½-ð×nì®*½ëž?yÃüë??Óä» úæææ!A766>úè£<Ï÷ôô¸Ýn0xòøqybèY,¾ IDATœšé̤]šæçýSS ²,#„t‹€ÈÄßZ-¯+ª2:2 \\^^¼èñV8ó“ê¦?(mÞdGS^ØXC9ÉÀÉú¨B•»UUÕ V”$A|>_¡P(^$I5—¯Ø»?36zýg?Ýô¹Ï‚aa&œ>`ö2Í¡(ªH2×D’„¢Y MîÚÄQ ¶P[ÖýÝk%ܺ­ÿ¬íá½ö~mf–~â°K*@A2dØô»Ì7V1I—¶uÃEQ‘%Ó0 ÓPT…$ MSÇ’aY¦a„4M"„>•J%“I–e1±¦xà—+Æ·H`ŽÍÌÌÐ4 !,--ݾ}{kkkKKËŽ;p5¦éD"qýúu’$xàB¡pôèÑl6ƒ á –}þ3=úÈ#NOÅBÒüÞsÓþ·ÏKº÷¾ûýnâ™GìÝÝž¶?mÙ×—„~ŸËívázZ à8.¾¼\RZêklòVVúi*57gçùòòrŠ¢l6›Ýn·Ùì۬ 9›Ýæàíc£ÖírWVV …Ë0=ĆÃ%õu@š,ËÊJ·l ïÝÿÐ×¾þ_ÿþïêÉ–ƒ‡úÊWw|æs O|Šä8]\‰Þµ‹ÉŠ ³… Õ•ÑOqÞ˜V_<#ª:Bàxv©ëRç_ý¥Ëëk|àA-•-<úÀ~}ýágþàÈSŸöÔÕW>Òü™Ïy›Ömyàpeåo^z PWWçñx:»ºn ®o¨g(¨¨úMbæw( ¸5™óWvUGéçßp—Âã‡øKk¢WŒö¶Ù¾ù)O‰ÉˆÝø…ßóÔÔö|ïï²ãcœÇ ‚¦(Š¢ð8ñz½‘HäìÙ³’$ñ<1Û±±1‚ X–¥( ¯ÏÅÞ©âuâŸxxà˜÷ù|^¯·¿¿?•J1 Ãó¼ÝnŸœœìêêÚ¸q#ÇqØ ˆaŠ"Bªó9E'íõŸý ª¸ø7ßMLNZ”¢9A2ªkšDIõõSªN È1œÝ²ÌáááB¡‰DŠFQ€P—EO]ÝÆÏq¹§{èW¿$ †ã8Š¢œNg2™œžžfYßàØØØàà`SS†~(ŠÂç1$++Xé´ ‚••ŸúÒlÏp÷ÏžˆÌJ0TR“ÊHÇŽWtš¢mŸL&ggg<ÿ®/!òk_ù}‡Ó%IRoOO&“±ÛmŠ¢˜†±¸C–•Ïç ÎÏÍOMN‰¢H’D¡P'Iryy B‡oªMý](´¾:zzz)Šòûý›7oöz½xw„—âB¡P(ð‡#‘HYYÙÐÐPWW—Ýn7 K‘sÕ!9/ú¯öŸœÏº¼·m[’5Š0¶·W  z0Vòäc‡¿ýõìÛáúF†z59_WS-mSËzƒâp_ÓV{ðpiE•ÓÁg³Ù|>¯™úäD¬§g¶´>0=—¡¡rÉ'»âA§ìs¨Rv»½ºª*PSûúñMë7DKJXšF"öP¨yÏÞ5M 7¶lÞÜ´¹£vÓ&’¢ Y^½k=Av»Ý4-Y5¢~ª4H]Ðú§¬%Å™]~ö¯Ë7oÜ÷Ÿ¾½®mcU]Õþ=;öØSUWíö»ý!_yeé–-mí[Ú}ÑèåžN­òò( ÍHد©âÂÜ”eª,C”DHNž¿Á÷nÙàú€aÝ\¾5˜‹õÞ¹¸ñ¥]5%ô §…—ÏŠpí¥¥¥ÅÅÅP(‡@*•êêêÂLÌñññS§NÕÔÔttt˜¦)‚ ‡Ãn·¯ô‘„©iˆ[[ 3S3ÏçYŽtð5U•^¯Çf³]½z%•Jz<î\.wîܹ¹¹¹C‡ùý~A’É$Ã0~¿Ÿ$I€¥©Î²2wEå̱דÉdŽa}^oiIIIII&“¹xñ¢Ýn'IrffæÌ™3N§sÏž=BUU%IÂMìÔÊÀd¾ê*èt]xñy_yYËŽí¡`@–¥®®N˲Édòĉ²,ßsï½YšªÚlÜÜÜük¯$¿úÕ/y¼¾D"966–ÍfÆÆ&ffg5Mï½Ö—ÍæÎ_¸„EQš›››K¥ÒA˜˜˜ìéíEÈ …B@“NŠã€¸ ÚÀ¹¨ 7nÜÀØOuuuYY™a«|L ¨/--a{õÒÒRžçNg}}} íïïX˜›r3n›.’ëtfý\88«®ŒÑ Ëçul]Ï-çcžÊ²0Ï»¦æ„xædÑAÚ^Š˜ I{®MÏ,oU4›J ŽŽÎ.,Œ ÝxûÙŸõN+ ,uÌ¿~fd`h¢š™Ó“ñxL•D21rãÆ†õë›››£‘H4 ƒŸ/ì÷C„b ,Mü~ Bš hŠb9ŽeYš¦MÓÄ?‹Œ_\-„Ò4£jFy˜é|^›º:ôúëã®Êêú‡,—X&p’Œ_T™X\^ŒË±¸œ ÈøSY3³¸1¿—uèÊKäàÈâÀhl)©J›¬¾áÄX²bïîövñ«ÂµàÖÎÛ[ë½sqã ÷;›ª˜cÒ‹§ÅGö9>yß9 üäÕ‚ÓNd Ö¥Å0ÑþvûŸ<完PÌɇÐ2 ÚnnlÉÏÎL?!ìê鞘@–eY.ÞVWWg³ÙË—/_¿~Ýn·ïÝ»·ºº:ŸÏ÷ôôˆ¢8==|±5ôJ" !MQ óó/^0 caaÁçóƒÁŠŠ ’${{{¯]»–Ëå6oÞÜÞÞNÓôðððèè(Ã0]]]@ ®caËóÁ ÍÝ=ËùËóÓSS¸]QQ±´´„½ã=ÏJKKóù|ggg¡PX\\”e¹¼¼œ ËBÈ0<Àí¾ÐÓ£"( ,ˆB¡ÒÒR§Ó‰ã’Édkkë–-[†™ŸŸŸœœ”$©··×ëõF£Ñâ ’ahÚ¹k×L¯u8³¹\I4‰D¢ÑèØØØåË—§¦¦êêêvíÚåõzE¡`˜:.#½öúI €r:;wîeyrrÊíq†ÑÔØàv»C¡`4dY{‘ú¼^€,K7! wÞYá ÇqèQÓ4q¢µö¯DQdY¶©© áâ;yò ‚ü/ßé}ëZ¼÷òÈwåÝ(9ÐN‹’jgáï¥þêWÙÿö“4ÏAE9X_¬*ÑT8[ù'ˆÑN8=l7-¤#ÊîóýêWòhOÕ/Ū?±u³Ù´Q;Óo¨gÆpÙN$ÔLBà÷ù$IºÖ×§(Jsssuu5FPž}öÙuëÖá –,Ëñxƒ,Ë–••¥Ói§Ó‰iz xùå—~øáÚÚZI’òù\fyУÌÕOw4™«úÄ/Ïʤ¹`½ØP[ÌÓôzgUB(«(Ó“Ó‘H³+àeÙÎóŠi2¥ð3üS‡méªþŽ3ÒÍ’ëé®Ô{çâÆîs®«bÎ_S^»(>²—ü£s@þñooÓß»R1Z³ÅÆÆˆ>û¹Ñy®ë¾? ­¿ÿÒ²0„ jjjDQÄ  Ñu=•J•——Ó4N§eYf¦8BeQ4½œÉBŠn¬­»zõª¦i8}‹D"Û¶mÃú$¸±”aI’²Ùì]wÝ5>>žÉdhšÆ0G±³ дäÔUU†qãÆP(DÓ´ßﯭ­Åå žç†Á´vÜͧë:Ža‡Ã/Ìe²%¥µUU±X,N»ÝnŠ¢¢Ñhkk+^‡Ö<™œœE±©© öZM,HŠ,ÏNN¶ut¨²µÿÿüÆåiöøÅÜfÐ_37}=×°–z'ZÜ»‹¹jiªaóÍKò²ÃYåK—:¾Ë4MEQ–––víÚ…¡Y–Ÿ}öÙ7nÐ4I‰DòÛßþcžwà‰wÃvvvÆb1–e/\¸0<|£¡¦ºª¥å÷Û7è|V'‰÷ôòâXÈsBˆ¤(Š$Y–á—¿:À‚ƒåƒe¡ûî;œÍæiŠŒú †2TÙ¹;É.ÓÌ Ö³Ç ó‰•è½Ð§ù©+W®LLMQ$ét:_{í5ì‰áŒi‹F¡ååål6[[[[lÃÑK0Œ€q½OœŸŸ¡hÇÍÎÎÞ¸q÷c a˜š¦é²²²¾¾¾`0 …Šú5ï`†±®¡!‹éšÆóüO~ò“›Dñ…áS†‘L&5M+ú0¯ ¦é÷x|n÷ôô4I’’$ýøÇ?.bWxxc¼Ý²,§Óét:ÇÆÆH’ŒF£8 +’ÌX–­«­œÄ—‡¯ïpȘ¦©ªªÏçm¨¯õ¸œïàJ€¦¡ ùÕˆ²,ëfÄ¥˜ø9¼¢(ØšŒã8ŸÏ‡Á·ÒÌ€§[\¬²,+‹•——û|>Œ@â9rff?–e].×ZLÒX5§Æײ,¯ÛqO”ûןºg—ÔïU‡:솉ünâðVû­×@дe¡±‰©’Ætgù|UÐ ±A¹xýo¿[¹k÷æÿí?ë¬c[½¤*ì¯~ˆö¬­àì%¢±ÄY³ÓÆc;ާ,Ú`èJ*±dêz&G’Yš£š°L`çh€ô\6ÙÑÑ Y]i ²44 HQ&IšB!›Íð,èŠ(‰yI•ýëwؼÞjd sÛŠ€¥áДöêEµà'ÏónÂÕzµë|.¿XWgÉlNr- èæû©1HåMš‚¿÷€«©’ÆÑ{ Ýöè>þÒ€òÊyÑç&S9óÊîïµaUº‚øžª¨–¡C’¤8®uóf·Çƒ7~Ç_^^ÆKî»^Ó\.׎;°½^eeåJz ²,’ašxöéÓ§Z}‚®¯÷9cãã×®]+ ׂ …BaëÖ­;vìÙ¾}{0”ey-¦mš&I’›ÛÛGGGq¤½ôÒK¿YeÖ4±®‹ÍfÓ4m­3*»Í¶}ûö¹¹9¯×›N§ûúúpÔÝ´I‘$©­­móæÍ˜Åk×E[Oó»wïg¦P(œ>}ú¦[Âg²,W–—Aë×±k=¡PD…T:Í2¬Ûíbãþ†aà}i±õÏOÅÊ-žnJz ‚Pe‰dØ—OtîêhÝØT[%á,Ëö÷÷Ÿ={VÓ4’$C¡Pcc£ËåÂuù‰‰‰ùùy\&íèèØ»wo±ZxÓ_æóyˆ4’â^:oÒ°V”4u?ý²×Å1¬]–Åû…$àT}Ô ÀÛà½;øª(u±Oyî”p Ýöè~þÒ€òú%)ì%‡¦µ‹}Ši­‰^ɺs·þÊH’Ä+¢˜cÏÚ4oCŠå–bm’¤‚¦†žýÅÄ믶~õë5‡[ª‚“R,¶V®˜¾a.á¬úo õb[Û­sÊ»ôT s6nc/FQr»íy0‚«iæ´à´üÖK*>(ŒWßV¾$‰d|Iò>¿÷âÅK_{æO)‚ TUÍdóSÓ󆡷µnL¥R‹‹1¯Ï«kºªª†i¸œ.ÝÐãËñææ ç¦ÃÒEˆïß0Œ†††ùùùÁÁAÀòò² 8™”$ “Wt]¯¨¨Ø´iÓZq Û:Pø|> E¢ÏÝo‚üõqanYÿþÑ<à®-v’ŠjÝâÑÈ4Eù}öû;Ä™iàJdrM[Š‚2´·ªñÂÉÂÃ{ùŽ:Ø9 nª¢cI凿Îp àí„87¤žè] ˆHÖÏÒ×cLS³Û7PºQè3E…ÕQ Y †}uMK‹_íD¶¾9Ã0)вÙÚžµžô{6Ö!Ȭ¶öžívA^I^† y”q…ÃQÓ4I2°'+öÛIÝ‘ü*)Öo/ˆ§®È6¯¬½¯_’">rlN¿Ø§Ú»&zïÔ{¸fªÅº2Mèz1M]»ºí€Ðv;€pè?ÇÑ[qð!KE=tY–±ŽCœBCqaO8]+÷±6Ú‹jmï–m{íèµç1 £˜ ¿ïyŠ%›[ϳöAÝv[º’Ï›ï,M Š$HY‘MÓJ¦2…B~ÛÖMU2ÙìÂÂ"@–e—Ó ¸>0(IRmmm @­ `tGrüMÿ#:Û¶m“eybbÂ4Í\.—ÉdÞÑ|°¬H$²cÇŽ¢Ðäm©+⽺PUÀ±ðs÷:!€¿:Q˜]á{wØ! äwÇ0Bˆ hHÑâR,—Ê—Õ6¤óââb¬¦ºÚát’¤VG¼‚À‘]Åq¯\’Ýoß±‰èQœv‚c "T(Vv˜: @Yi™…,]Çß%Z‹Ç% ]_»×`¦¼¢ÜÐ Ó0 MÃ(äóÅÞi˜¨4@R$øÉ«ùœ`q,ÄOŲ,ÃÚ–\&LÓ¢(røÅåßÃŽ[çïÛi¿g‡ãÒöF§ö£sÚ[=¤Ùƒm¶o~Ò]¢ ¢Eq¿ Gž ’ »»»_yåå}ûö8p‡"É0·nÐI†E–9ð³ŸN{½õ«ÏT:d‚(©t:à?´,ËçóI’4??ït:kjjEÁï÷cvnÒf/’·Î/ª/ú¦‰õòyVÂä&M,Ã4|¯$J¡ ¯$ÔTÕår•D#<ïˆÇã£cãMM>ŸOÓtŠ"NGQÃý½Ú ïÐwŠÓ$ŸÏw×]wy<ž±±1 PÓŒªªªmÛ¶bÒò¾z¹$  q üì½À¯Oæ–x)OSð®-6ˆâ: !D¦‰¢êà¡üÌôµüÁÆÏ|¶¶¼"êóy½^]TËZ#N´<ØÝ@(9í_^:àÙTËN©ÑYT,¾ELÜ@X|ÿý …‚øÎw¾SQQÑÜܼ^¯þîóå@‚•M³¢(‰dša¿Ï‹÷Eã"›ªªŠ¢Ð4-É2à¤ów–_©¼b˜IÀâç1@7??wáÒUŽa(êºá —XšœÏÉ¢_\HR$­˜Iñ.— CÓ,˜¬šáì‚„©©4Ïs¯µJŠX+UËÛˆÏÝë„<{¬0³¤ÿà弪£5¬ª¿Û1fG sð3‹]Ée’4@ì{ñ )””Z€R“GZ·™“þMò’ñᛵ?а0!¬ò“yÛÅqš¥ÐÞì#e”ßôT’µý+ùð—•S ìTÍ_ZFÑÇ;Ö\„ÁºÜeOîò56i…¼¥ëE %—˵¶¶Å«:::‚Áàùóçiš^\\t¹\ŠD"áp¸±±Ñápàmó‡õãý÷öþMÂ8@„5±DAŒ'R-­KKK™L¢PÈŽMD"aŽe¯ xÜîl6G@ ¦¶Úÿn¡¬ÛR8ð¿[ÎJyI#ÖjzÇq “ñÿéôÅfbKéÌáG¿Ę8Û½´ͳ>l›XZ®o¼Û©ªöÉiËk"Ø’}#äd ±ÅŠý+öî³$é¦ÍBH’-»øì=N„À?¿^˜[6þáh>ä#­›:`–dl@¦uçÕ!@€¦Àÿ„$*’¢€tŸ>Âo^·7'A ýk @Ñ G@¸b5P !Â5Âw¯ê¸k„šÏ¡Õr‹ªª[·nݾ}{qL¯vY÷Ýwß U.ï#ðK¼þèÄýþ Þ'†!°,Ë4t„,…óJ‚ ÒéL.—#H’¢èò²R˲2Ùl2™Êf²Šª…H‚¼³HÝjžŒX–h*÷ͦ·¶èMÊš@–…b}}]©_[J :Ïsž2ŽS(0»œX®eQ2ã2ä8·™×¦‡f3¶Ò§r~Èp…¹¹\º ,.F;¶-3‹ÿweÒ Æ ~þF~1i,¥Ûí€*$È÷Ò¸¹NŠD€ÿkD0tÝ$ ’c n@œ9£àÜ!€³lHUüúnµÖ-èt1 ‹³6F˜qyfmý­9î\îú°àÓ¿áû$A‚8?7›Ë¹³¹<€€2 Ãçjª6?7É0ŒÝÁ»]N»½V„t&³¹½MQÃ0HŠbi†a]ÿBˆ€ ±ÌÛ³ ÷M$:ê} M† ÐU•óxûÃ?jIÊŒ7âæ<ëB’¹¾¥mƒ 9Q‘}v„n¡„æ°{œËzÅP\”UC–|µuHÓøNT¾»?È ²sÄS‡.ž˜\Ð)üGÜÿüψcÝÕ%´ÇI*ª ¬ÿ_vÖûä·¶–iÞ &¬müÁÏsLøßíû Mëº)É*¦yÀ¾Þ.Ÿ/`š†e ‹Ø/I’ Mkº^t‹*æ$ï[*%‘å¸ááQ»·t$ýNjçúM¦…B$n7KÈ4,dJŠFÊng!°‚0Ld¦nšÈ4‘e$ ‹©²b* ¸cLâ½+EBYEwùøxŸÅ04DÜ–óññ>@à£ÉZÞÙÍÑ4¥ÈÂâ¼Ïï¸>ðÕ¯}‹@‚H.§2¹¡ßïÑ5}ii©¾¾NI’½^ÏMÅ¡÷]úg«.ñVU:ûÆco.DýŽwrìÙ$n1+¶kk|›ðʺ’Y•®Eïlá?àvë>>Þc…´>žÿ~g(¢UU—µ„†iy\¼.$æ …B¾P I’¢h*—Ë ‚´eËö™ÙYIÈæ²™d*½{zz¦¶¶æÐÁúê:¼öÊîTF»~ærYšÌÙµe»+À k5oÄí¯úö/?Ø3AÅÖÇÇ¿jè|||È'F¡ÉÉ)Š$°¯íGuf9<)вÛìBÊ2M§Ë™¥sKK1CS²¼^Ïçóz¼Á@!ëCÙ¦£Úív¥Ò©LVVe¹¥9€üïäããããßíA¤…¬ÙqÙÆp>sgçǾŸÁý á``~!&Ë2ÃЖiR–…HŠŠDÂKK1†eÂáeY ÃLdUUí¤` IDAT¶LÆ;ÔqŽ›Éåò¹¼$+élvjf àêvú#¸—Û½ST3^û´Fäö&jÉ­L¸º×À¿ÁÛ.êk>ŒnI à{|þ¶`7¼åbÀ»ïâClVo·jÞ¶4Ö<tëN¨hƒ´ !ЪÄ$xï»ûøXÀ$ašf2­ªªbíx» ÖïvP4§iºP(Èç &²(Iº®™¦i™–aè4Íär9Ì8g†a蕼 Ë´nâ…ß„®=LÓ’eÙ4 ›Í¶¼¼LS®øýk0á"ezí Ä%Š$š¦AQ$þG$ICðDHI¸³!°ê?±¢ºVšT(Ë*²š×<>ŠÄbY¦e!ÜìR¼Š¢, ¿ÄN¸“Àí «º„°X×À5L’ @E5ð¸æƒ?%Ìò%IóXRwÕzåzð¥`cüX, wA¶ËÁ÷‚{b4MÃñɲUŸ·LÓ@èã°}×(5MÓér‚A—Ë¥kúGrZI‚ r6ަH Íf£H‚T%É:\^QQ@šŸp¹\KËË‘H„¦( ?Ó4Í;xÛ]lyO ˲\N‡ÓQk³Ù(Šâ86ÎXþU%ZÜ©¿²arIñ%aɉÕÙ7-ªªŠÅ;ØA×õt:íàù\¾`ziI‰(I©tÚçõ†‘Ïç±J¸®ë^¯“±AÔ = ‘$)Ë ¦š¹Ý.Ü &Ër2•r:œ¡P€$H‚$ Ã0 B"™L‘$)Ë2ïàY†Éd2.—“e9lcDZ7/nIQEUUY–±ãI>Ÿ‡!Š"C3EBH8¼ªª¢(A?Ö:›™™ñx<¸…·ìX¦ rUTÄ2M‹e]Ó-Ë2-+•J±,«( VŠ$Éëõ™/ŸÉf½^/@ ɸÝnY’N‡Çãéí½VW[-‰24OÄÀÔäT0tºœCƒC›6mt{<ÇŽ½iãl,Ë:Ž…ÅÃе55^¯—$ÉD2 "á……EÝ0„‚ÉfIŠÜ°~ÝÆææL&óë瞯««­¬¨ðûý/}9›ÍîÙ³ÓÐ ‚$i𮫭á8[<‘xíÕ×[ÛZJKK\NçÇ|[$è&RäGpNË¢Önç}>g“H’  ]÷ù=’(ž9}àó¸~]ScA(T”—;¼ÍfÇùóâbŒ·Û°ÂȯÉ4 „Pcc²,Ë2 ‚˜œšš™­®© šaÆÇ'°¬l¡P °P(H’Œå©sÙ\&› Y†a:Ã0RÉ@@UU·Ëe𦅬¡¡á·ß¯kkmYX\\Š-9Ž©éi·Û£ëz"‘Ô4Í0Mìg¬Jçå²9ÃК‘eYQTA Ó(-)Ñ CÓ4›ÍF$Ã0©T:•L%SÉx<át:æçç=^nÙ\ަ(YV°›™iZ,ËŽO,.,r6®³ë²ÓélmÙä(4ÍäóyÜÅžÉd$I¢HRDUUI’T5-“ÉJ’„é5 QŸÐuÍBV>_@MMMç ù`0hF:“i¨«›_Xày¾ºªj~~!ðkº4MO§3ª¦a!~Ý0µBÙÉeó6»-‘LÎÏ/D¢áåx<_(ø~MÓR©L.Ÿ×uÃÐuŽe@ñå¸R§Ð4ÉdoÜÉfsÑhÔãvQ$ISôüÜMÓ¬ì% bYYÖKËd2Á`ð£©ÿ1ø#ÏÌ-d1, —Æ'† ö\}Ûf³+²„Å"N'„"I’¤ð^Ü\%rär9»ÍF’¤yGþ0P’¯/àIRT•$É|¡P(œ'ÃÐ C'SiÓ4}^/Í`U¼Ÿ¡š¡s¹|6› [qo@¬B,8×íîîÍår­­-.—SEEQpIQª¢P…3D›Í¦( „Ðétb«$, ˜Éf“Édee…ƒçiš1 ƒ¦)’$u]DÑ2MžçeY&Òn·+ŠŒ›±p·-Îð ðÛy»Ý–J¥H’‚`÷jŽãH’‚TUÕ2MÌ­×4eÙBA€ð€Q’YUÍ@€à7ÊÇáPå½Mc$ÊXl¥Ç›Ša3%Ƥ²8¨+œ°?'IL ‡z›#rÿPIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/screenshot_pcb_osx.png0000644000175000017500000072153613634703632021052 00000000000000‰PNG  IHDR „Ø/…\iCCPICC ProfilexíZeTß·>ó6//ÝÝ)©tIwwIH7Ò ‚„HI#‚J " ”‚H ˆ‚„X  H)` HÜÁß½÷¿î‡ÿ§{¿]ÏZ3ç™={ÎÌš=sγö³àKt ôEüüC‚LµTÙ­mlÙ±ïH%`òÎ.Á*ÆÆú°Ë¿i?_ÁÞp›>«ïG×Zã5¤O3æìZžlíß\ô_fŠ ø†@ưÚãìzŒÏþƒ#ŽqxH`ì“~Œ]<áóP)Œ…‚ÌMÕ`üÁã&zsŒÏþÁŸŽ±³s ß`vgg3’ÿƒÏc±cæâÏ?†ÒßÕË6Á÷À(¹º»À{ öqu vñ€c?¿ø<Ÿ Œù]ƒàkùœ`Ì}üîànÎ{È€~ý/›ß9ê`¦ú—Ï~6ÕþeÛ4ýó>!ÚÁî§Nþ"¨Âc}8:Úä›ÀAöÑÑïò££ƒ 3tûº„…ýñ¨ã ð€ P8†\€ƒ“@Èe t06À¸Oà‚@8ˆq ¤,Š@ ¸î€{  ´‚ÐÀ30¦À;0Ágð lƒßa!D ÑC¬t‡d %HÒƒL!È r‡ü P(J€R¡¨*ƒª¡è!Ô AcÐhZ…¾C{‚A`Fð DÒe„. apG"" ˆ+ˆD¢ñÑ…F¼DÌ">#¶GH<’ÉŽ<”Fª" 6H7d 2™ŒÌC–"ëmÈ'È äää …¢@±¢„P²(M”9Ê€ŠF¥¢®¡ªP÷Q½¨qÔ,jµ&F3¢ùÑÒh-´%Ú ‚NDç¢+ÐÍè>ô$z½‰Ab¨1ÜIŒÆã‰À¤`Š0µ˜NÌ(fó‹ÄÒ`ù°²X}¬6›€½Š­Æ¶cG±±[8Ž 'ŠSÅYâ¼q1¸\în·€ûED â ’"Ò#r" %J%*%z@ôŒhŽè'ž€çÄËâðnøh|þ¾ÿ¿AŒ&f!– Ö#v!>OœK\KÜGh8ø|HwèéS­§ÃÃýÏÔžõ>W}Þ3¢2Ò3ª:ÚûBíEߘúØÀ¸ÖøÐ„îÄóIÃɱ—f/_MYOM¿rx5ÿÚíõê¿7ß߆¾Ý{;œNž!É}Ïð¾ø÷‡šYñÙÖ9¥¹'õ?NÎÛÎÏ/x/üøµˆXL[¢Zº±Ì³\¿"³Ò»ª¿úê³ÓçÏ_B¿­¥®Ó®—mm<üªþuì›ý·Õï¡??27™7k¶¤·žl›müðóðWúÓNÍ®ìîÓ=›½•ßû¸ýƒG‡z‡3Gþ¹À_.ð— üå¹À_.ð— üåóóóóóóóÿóÎAθÞ#ÜÝøq¨Æ FþoÏÿ££üÃ6…Ž…%$¬CðÀªÃ9XQØ€¤¡h a‡X@&£4Ð,I¬îÞƒ E*DvH1A•C£J»@ȰÀ¤Ç\βÁÆÏîÄ‘ËÙÃõ‡×€/Œ¿X`Hð»ði_ѱAñ£Sòç%Û¤6exdMå¢åKáLæ¬Ò¾2Š”ª…Z˜úuvÍ ­yío:;ºpÆñÈàÈðÈ2A›’š1š‹[èZzZ%[WÛ Ù~´Û´ß?³ï°éøÑéƒóž ««¶[¨{¥Çk/‚·ŠO°o¹ßˆÿt@W`þ¹ ‡`ÓÃP³°3áÞ‘‘‰QYç‹£ë.<ˆií¸ø0®)¾.¡*±ìRYRÉå’äë)y©©iÓîøexezeùfç„ååùå»\µ,к&UÈWÄtòá&êævñlÉ`imYz¹w…Î-ÁJ²ÊŸUó·?TÏÝùTó¹ökÝ·»k÷fêŸ4”7æ44WÞoy0Ò2ßú« ÿˆ¡§ƒ£Õ9þ¸²+±Û·Ç±×¶Ï¶ßþ‰Ã€ã ËëSÇaËgÚÏ%GØFq£ß^¼ë/¸8iÿRfŠjjãÕèë†7×Þ^|ç:­6Ã6óëýø‡êÙÄ9—Zó" ”pÎêùbùRð²Ú ÕÊÂjëçÌ/kFë,ë/7ü¾‚¯Iß¿Í~ßü±½™¿%¶5°íõ“áç—_›»N¿{ŽþÄŸ˜$°ñ lAÊP¬ùœG­¨óh[Œ 6þ´ˆ§IÒÈŒ)X(W©Ëhµé&t«™ÖYØX٤ٕ8t8ÏpsgòÔñ>åû"@-¨pÂS(Kø±È1zqµ“¾§®JtK~’ÆËˆÈêÊyÈÇ(d)–+5ÂÙë•Wªsj êË+šKðw0­3®;¨×©ßdPeXd”nkji–`žn‘gyêܺʦڶƮƾæLÃ]Çz§ûÎmg{]F\ß¹­ºï{"=w¼½Ç}:}ký®û_ ˆ ln«zt£½ #¿3ÿñµ®’îêžúÞξÁþ©'‹kƒKC3O'‡_>›zþväÃèÒ‹õ±Íñí‰ÍÉõ—Ÿ¦&_u½.“ú6ÿݽéÁ™wï?ؚݙûýñ×üúÂì§ÑŶ¥òå´•s«VŸ5¿¨¯^Ù`Ø8ø:ÿ­çû­©›Á[nÛn?#~ÝÚÙÞËÝ_úÀ À$€ð9 ž`e°A@$"ÑÈzTÚã­ÆýÆgž“"ȸɕ(4)µ¨”©OÑ0ÒÐ~¤{LŸÇàÎ(Å„gšcncÉg b3få áøÌù„«Œ;‚G‡—÷_=¤€ª ‘àĉ›B¾ÂŠ"ä"‹¢­b‰âz°vòâT:¬–I¶JHóK/È”ÉºÈ ËíË)ÜVŒU²>-|úPù©J†ª¡Jí™z¹F¼¦›–žöI&]´îºÞ¤~‹A¾¡§±Qƒ±• ‘I·i¬™¦9¹ù‹ZË+Mkë5›NÛt;+{vû•3ÑŽZN´NKÎ-g]Œ\é]gÝn»û{Èyâ<ßzÕzŸ÷Q÷%ñô+ôwà øØy.#È%X2  ½fŽˆˆ‹TŠ<ˆê>9úìµ¾X²Øí‹ïâÚãs\/!/}OZ¾<Ÿ<—2—:—6›>}åeFWfz–tÖJvYŽk®x*o&¿õjNAà5‹B¹"–¢ƒëÓ7ZnæŸ+1.=UF_vT¾TñüVSeaUâíÐjï;î5µÞu>w}îùÕŸkˆjLkºÕÈbä ‹R@…À‘_üÏÈO`È1F˜,Ì–k­À~ÁIápã°J4 «ï1øibâb‚àMxI¢ Ç‹´ˆŒŠ,‹œœ<‚‘¢œR„²Ê€jŽ:”E“EËFÛH§A7M ëÖMŒŒ{LeÌ:ÌÛ,%¬¬{l·Ù-8ÐÍœ.\œ\?¸xŠyÃùŒø0 ‚Ý'J„b„DEYEÄfÅ»N–ŸJ–ˆ”Œ‘J—.)—½#×,ߡЧ8¢ôîôåUR5Au OÍ,­í¯ºäzŠú× GŒñ&:¦Ùfï-Ä,“¬>ÙhÛÞ³gèjh jçí˜~|³Û¥WºŸáÉáàÖÓÝçÄ£Üc†ç_6¼Z+4-÷^c6ìcÓ'ô’ýÊ“/Üë1_'~ ¶è~âïìÍîÓ`ÞÞ„‰Ú1…+Tòàÿ~ |†ãN ÿñj=åBд ×h"‚ˆ7Hr¤.29‚¢A9 î ¶ÑjpÇ"F“ƒYÇêaàû2n—(€h®«˜'v"ž%8–I"HIIëÈLÈÈïR8SÒPSERóRÓÄÐ ÓÎÓÓ»1È223.3Ýfö`ácYa­e `—åÀrÌp>äZæ¡á•àÓæ7°t8á-!/’-z[l@|ý½„†d°T±ôˆ,S’OPUb9í©Ü¤²§¦­^¥‰× ×^ѵÕ43̃ùh¼™y¥™5¦ÉÎá Ò!ÞqÏÙÿìGW;·`/6ïE_¿¹“ÀÇABÁE¡ø°„(2ý¼û…ÊØî¸Ç ·.]¸l’—º—Þ•‘–圣’'x•ö(ü|ýÅ͆’ü² ¾•6·Uï°×üªë¿—Þ`ÞÄÝüëÁPkA›s;KÇØãÈnæžÞ¾À'¼+C÷‡SŸ»ŽÊQ/O¶LE¾}3÷.sFþýêlÉG»îO»Kó+³ŸÕ¾D¯•­·mô~íúVý=í‡Å&ýæèVØ6ÛvýOÙŸý¿”Õï°ídìlîêî–ïîîïÝÚûô›û·ÛïÊßKû¼ûîûÙûû+T§¼òzÖéµc[׎¸Žl²†ŽãÿO Öñúðj¾Aìújêÿïv~¾¡pןv\ÉFpó·0ƒ{Jxcj æ-p•;Їà›ÿSÿuì!àFÂ1ê¥ =îþG q‹€kÃP Œ òòð aW+äÜ„Øuü]D„ØOЉ‹ÿŰ·%z<äö pHYs  šœ IDATxÔ½˜E6|‡!ç%¢d]eW*FÔ5­b@ÓPT݆uŸ‚˜0bÀ°êšPTPÌD ‹‚" Ä˜ÀÌ|ï{Buõ;¬»ßóÏó7LwÕ9ïyÏ©SÕ}»ëv÷Í[³fmeeE¥-™L¦ÿÿ\òÒaÇ ùm* ‚‘ZDUäååÕÀUf˜2¬Päê[Ô‹Ð¥‚<%ýÿ¼Ü¢Ayø' š\#ÿjÖ¨AI¹,:fÒ >¦ÈÎfžª‰·T5§Î È=âɯ™_³f­ü5úmåÛ°T”c W¤(k…ýÉ6¢y5jÀ¨¢¢¢ÿeùO!IüŸG‚ü–mHŠ‚ÿ£Ï4>]…tövýzŠ8òó0è‘"öÁy  ¥ r÷ ¢XŒr¢4•`÷@þƒ ÷¿j{JðÉ(´‡Jª¹øVkéjZ—Ô¼”ô>$°«ŒÉŠÂÏ™i¨2ËÔJ%ÂeBšxÄUŠìºxIícAÁR¸¤ÄHvÀ'àHë=‰Eº›©†’´4]KÛ'5†%H ´Š‘ˆMšVfÕ˜(¡'8È“6&ÎÒ¥4›£±¤ÑUk¹Q)iª"ñAb~]'[¯¸6©«Ä걸J@é¡Bh+ÒD•”ÈhµôÆñ w·²¤x¤’Hè=©™ZåW¦Ûd•sšgaB‡|DÔÌdòE„£à6|"â3Õ(AŸ£«â>è©ÑJLÚÿ¢Yº+Bt¡€X´,ÐøÔAŽ\UTò?EÁ‚ÿål ”r Te°“jì9§± # Hä(ÛŠ&KM¿A Y†R…ÿÃhAYG Ö!x¶ÉÁJ¬ªP!ÖA A†ªVІEXã?Æm-ÀÐbÜ–ÉŽCR+ «.Áu¬UNíYt_ñÄH%„J…UU€‚2Ä•ÄQ©ò  …öÛËÿ»y5–ˆÿ}ä¥Ãž'.–~Wcžy” £Hž=Íäà™bÿy58&aË}°k,Á1Ù®ñVÄôÁ¼a¤ÿMÅà,`—«²lG›­Ê®W% ’(Œ€–ÿ…µÒTc`âj´!‚þª7ùœnè[6&)»Ëh4¸H¶ ¹f%¶ô²oS†Z‰U$z,Œm(ÏÒeU#tõÕ\µr.WpI'=5Ü#–ÿºøÂ /L:õ•W^©Y§¹—øÜ[w³ ‰÷ºÜÆØ™ü#ª:À+×SÚ¬Qí$ràe0.«y8çE¯ª+d~ã?dÙI²·$•%k¨y0P騂2U¡üpÊ2©D¦réŸù„hBS ååì£Ä™v†b•8ÓD] ©p“pý€¶ÆZ'ufêv:B©]§N½zõjÖª…(.ÞZ\\¼­¬ ýaŽ“†x)ûÄÚå N4MÄŠrN™€Mèq˜…†*áÁGj±`;ÕTÚaSr¦†’¦úX#'Vü¯7ÿvìá[@9§`³\h´Œ{N'ÉNЏó¢à·CL u¥rÃÔZ.#€%ϯ–ÝÐŽ=ÏI(Y¸BÈHÊ˱ÖÚÈ7ÀôÁ Â)Ê&`b$,FÂþÔªl“•!)Á’üZk%Q[®y±Le WU„wvk±„! Áx)Ú]ØG$[@B¨†0)ó{ jF]ð$Ì4@¸h ¤‰WÓ$ú4{|Iâ.^·8XQ“J‚S‰Å©ðÈt¬*Iáæ©¨Ù:QHëŒÏ‘¾µ¶¨ƒ@¨UðŠ$j)ªÝØ5v’O •ÃyP¤HüYɈ΋cUbæJÇ9 )˜ÔÅ.€ˆÐEœf*H®8¸\-[YY– d>¬ÐDs+a Bå,F»ÔTèM(ž¬%R–UH!˜)p¿Î¤VIÐK´*GM¯akm“1:&µuƒÄZ?ÿ3µjð* f7Ê*3ø0äu êW´>VR<¢É±JÚ(p·ÍŒZŸC[U”Ó}:ÒªF.ÉÂyÕ8%h”’J¬à0ÛåÊ*??“_ƒÈò d ÿ97-»«®uÏ5K'`J“²#‰Ç‰muyñã ,ÍÉ[âNVÊgÍÑ6ÁŽìÔHÞU"2ÕP«‹ ‘V×ÌãPÁˆuB!ž€PÿÃTí@·N…JT ¶(¨*¬Í[ÌnÔÎdêg2u„±$“Ù’É`ydAZ«G1J­ Å¹°6œ•V3c’2“ lõ¬ MPê]* ‘¨m>FÆ´9Ë*‡6Ëò“…®0ƒaÔr 1ȼL~^¦¦Œ|\,àP!_ÅÉÉ3HÔ)© ÈA& аå.ã÷ž)Ñ ÜRC~w‡“¦š²âú{¾ÜÆï*é_âP ³ ÜC¤al¸ž­JyðQâ³[Ð[Á`Ã5gU…¶‰)'KÈ ´„‹IdgFÙ¶i±×Q¤³-©„È>ò D8ƒ–Œ’XŠìB•!p  ^Åibb€€s&cˆ«#…íU(¶T!æI)X¡²&®Q’¬WÜ'øôÓO1»›ñãÇÿ?œÝ€Cës7nÎoSTlêt#ðkPʯð˜(é}zP ‡…ñB-{†wnØÇ<Ô²r/ÔÑJ•U!tVož»ô‹—‹5鄇…¬¢…*NŒÛ!ÂÉš`èÖkA.‚dE¤Ì@78A¦`ÅPt)YÇR'´m¬Òd¨jxA~Quò F ¶/2 ï´PÐ\YŸÒˆnÙCXP‚Vû:5$(Âᓌ‹ºT¨Òˆ–„¶P¨XÖ¤‰(Ƚà[7ÎÚ&j (¥g–‚ €J‘‡HC˲íÔœt‰ç#T.R(½`‰%$ÀönǤSx §@%û?,Òc.­Ú*€qÂÆý’L±Ü&Qû©³(L£ {¥†¼&\tU¦þ£F¹gUøÎ“P¸’[Æ1±F)˜þÖa«cPcŒ¢%9’VÅZ”u‚HJ¦Œ ¦Œš²˜s{{˜DN¼{’Xª2QâŽÌÔ« †1©Š…(@š:˜0LHWäa‚b~YÂ[ï°Çë¬;Ž¡e“ìJÎÁHBYF#j”n‚–±…Ž5eXb”å` ²lXº"Òʵzì2ˆ#Õ1XÊ·ñC À¥»µId®SRÓdX+¤q@¨ †¦M5’dáb¦S Œ`$|ðÖ(Ã]˜p¡„³%¸[^Q¡¯h$†4EY(K%ªÆŒ ºƒ9Žr†áeÎH1¼]¥[¬ñ  ÂZÜEVA¡"UœŠ«ÚزµŠfγ0â=”!c÷!ĘÍ\öÓò¥?/]³aÍÖÒâ:µê´jÖ²Û]»´ïÌN“¦ÏXB„YW*gk0R ®Ä©Êee¥ï-øàÝÏÞ[¼ô«Wý´¹h34êÔ®cïn=÷Úõƒúï’i¦¶8u«¬nÆÅ‹ŠÐAþ5¥µœÀ€g#—kH¢]/ …™0QkMBÙ!W·IÀFsîëTJ AÁÙT¹T ÙV¡®C5.³ ¢¢²ë𣨨Ë12.+M–$]ÕV[>]eUŽíÛõ¡'Dšî±D¤x¦T)“ÜŠ¹›•V«Xv†¤ Ä—x4/Y*1çjþÂù³æ¼öýòïQéÚ¹ëð}Øo û³­W#]Mת@òæÍ›gBÙØÒE’¯T¿­žyæÙÇ›qÓM7 0 °°06r6í¤œ‘<&ŒPv’,15¥¥%¸ÖmРAU7lØÐ¼yó**1UäUtŒ?ÙÇ¥Ou¬·½–T¡QAðúꫯà„#Ž8¢ ˆe(; :o²:€$[šÈ[…2-eÀ;…nÕ½B²‘ ¥ÉÔµ®•Fw”"Yn%tzׯZµú‰'fœqƘ&S–d4pŠ˜<èƒù¸Ý.¿&öq|®cjƒgLò¬€âUÚ<Ö¤ËìW9f@Ì]_Øâ(Óp«­ZµJÂÛ¤Iˆ˜ 8¤™ÿå4áo,ƒ˜&Áy¿$IËac>+3¯¼ú"ö‘G@¹#¡4¥a~hÕ€ôNŠ€|œÆEbŒµ$ÛD w9ÇCè`ÁK ¦?¢V§hd²36Ä9–ˆ[]éPQRžº*`²£ æžP(i°’ …K#vZƒÁ†¡j­Jû,Ÿ?F¨>xÆž:åc,žØ³HEáææÞA²õ u©¤Ä 3Ô%'Ñ'¥€3L0Ȇ$¶AÓ‚w럛a˧þLÆ'1…¥C‹^É&pÄ2·ìvŸKð!2±ÔZ´&È"ô*4[€‹««ÈªVdèU¥"‰Ü$uÃÇ6†ãÆŠa«Ìb#ª£ nP•ÊÍ‹[%à¤9µ¢ ]ç s4»´D{&#:ñE¿& ªÈEÊænýEÅÄ ÅÖ-P•6FuÁ.—P¢…ăå+èÓ ¨a€H›EÁFø˜WK9ÔfSIc±"HÚµÙ͵g\v0øM,¢Ã gI¶»x"P T¬àO{dm*Ïj?1ÜÓåKlNpD·oHS oÜ!ÓiÝ£`-.´å W2‰PiJhÙR›¤¤¯ãsJ+XŠuL¦FU ¡w4+Ð낱$‹¹Ò¸ ¢´m ZŠ ã/‹ÎA/0X{èˆOxJ_[Îs'»Þq:©Á6i”¥GGÿrXæ©þó¼‰)f ÆFEíª|l¦˜síQØÖë¾uµïb@¥„GÓ›q‚Ö’dZ,Ç­£¨@-ªZYÙDÎUQqÑ¿•W»FÝzuqÓ1Ò3œ«–l-®,­Øo¡õëáy!R1¥Hÿؓқîic’qÖ»¥xËCÏ?òØKO®Ý°N s¯Z6m~ÂðãN9ü¤†õ’º"?ó yW‰{hΞՀ(Á?„†UbH-¬ûžÛ „è²me›¶lnÞ¸™i–p¸tå÷Út¨S«¶[3ã#¯þ•m+ݼ¥0Í êÊŠï~ú¾A½úí[µ¼™ÈÆj ƒÈð´Ü¶~^Ö¦EkL©$¬#ã¨È°‹‚ITÈɲªRM âŠô€%_vdÎóšÇSéHÉ–š˜¡ô’ïöh¤ÕÁ–Îù‹Cm«„‰Ð1† Å9$_]›c÷ZbI”³hkÑœïÔmT·i“f;uêÚ´Q†–—Ù°yã÷?-ÝP°ñÍOçì=`.ËÕ”½- F·°o uvÈqÞôòœozàÖõ ö°Ý{ÐÞwèÔ°aCèqÇòËßù`ÞK³_^»qÝ”'§=öÊ“—Œºð°½Ñ{2U[\X¶Ù¹p>ùáÛ.u‘øáœ¿F†5´º–˜mäjüÊ«H5dœÒ¤ÛžšúÚGo|¸øã #/¼läEš¬OºæŒ¹ æÕ­]§ hÓðAÃnùË­Z´ÿzÝ.ßv0ã•Sžº{öGo}¼ø³‹FžwÑÈ¿˜Gq9ãÕ'¯¸ë凵Z»º^zË^^­7+iä]OÝ÷æGo}²xþ#Ï9ä¹Îa–n»¼IÃ&…[‹öØõúó®éÕµ§k›gf?wÎ çCŽ[cZ5o5lÏ}¯>ëŠõœ:ñÌ×ÞŸ=iìeg0Ö­2‹—.væÁ{öÛãù;ž B‰¶‰ÉÁ†Ý²qóÆÑWûiÕOÔ%Ák-Çš6yyÍš4{éÞ!ž6ñpÊÖÁîîÁM=²{V””âYþÒ  ”¯Ä‚1S´¥°m«¶ÁDûù—•M7‘Ù7Óp÷¢5ë×à0^T¼¥c»èÒbô­USÁ¸, ïæi·Ì~göÁ|î¸sÛ·kÀÊU+ÿq×?f½1 _`_|öÅ ±ç`g)fBM‰T\UOb‰ Ç -Ê!M‹n½õVLp¨Lçt²# .\ôå—_^pÁ|0»…ûi­3˜gÖ¾jaàÀƒ úðÃ|ðA¡˜>}:`çœsŽ>óè£ÎŸ?“@øjä*TžO>ùdÊ”)­Zµ*((ÀÜu¬rG©6VAÜYñS_˜ƒÀ}ªpú믿6oÑB©Qu$î‘Û–„ð§I ìÔ©Ó)§œŠÞþCÁè6YÈyÕ‡|°rÕ*L$)¬SçN§œz*¬p.‘&V ¨± 3>4Àgól¡™õ0PQyéÐb@ä½zõš8q’jÑÞòŠxȑֽWtîÔåÔSOcðå嘉xî¹gO;mT=ý‘#>^6ºWÆÎãrÞ€»-þr‘fü_½¤¨¨hãÆ‚F8_»`Áü=÷ÜÚ¡C÷AŸb‰·_8d9ƒ³xÌŒMó¬I3“. ÂU†þÏ›S!æ›6Ã.H°7iKs°©9»˜¤™’T 'ðK-Í ¸ë&Q.{¯7SHÌæ\$!G÷[ fJ88ð‚µx´Ä)NNô,5`œ^· ˜¾]reÈLn…è´A¨2`‚6¦2O&02žFâÖ¢Ê~Šý‰=ž÷i,RMd·A *•Ggp•'T,%É‹©œ5¡$4@­º¥šdB*àenã`M/Æ€ç”x–^#1Oòu¢ €ˆ E.ì}~XÜɧ¹ “@hÀx#eŒoýÂaɵ–Î’$ƒÍBT«í¬u$-ÙN€v5¢r'éNJP‰+æÄÚŠU% ‰ä0÷· ÄëVóx1ÕÑAÒ#„DA “ÆIB¡Ý‘¼.0&F©b±“Ó<¢°ýÑ‘¢]¹\Sä5lé"x9²”¢Ès(‘41bJ3$^y:Ñ’¤D˜à!GâªAR"c)È9l±àcZ¸9ð9˜F{VUUbhÀkõëB BA WÖx9S(»ØX±1÷\þˆâBà2ÁagÑ@”ƒ# C[ð\áOÇsêÀ©yP7R2¨™ü )VbmX‰š ,Y#™gt•ÀL.;-©qß?»‡1~‘*‡$sÂ(%"ß#›¢5ŠÀYid#?!ð¿7 ”4†(YÍ~´–#‡º@Dª…°frUM0!Ð 5WZîˆP„S‰€^°Nt=]q ¦#t…hY•ÅmZË6È’ÌSîLÖf‰ØÇX°‹ ð£§ö¢€´h QE‚RNQ“–|R§aíÚïÒqg|W^Tþä«3?øø¦µ è±ë7Ë¿ýiÕŠO–|:¸ÿ`Ç!Oš)P(«sãìkï½áʼÎjѬÅÄ .ßçCÔ©_QR^QÆ‘GËæ™¾;ö:bÿî¾øª·ß{ûº;nX¿aýewLúàó®;/ЗèÂÊÚä.)çy¸ÏbâÔ«g½÷úÅ'ózùÏ¢¼Jé[¥ ½lÀ¨—5RqÀ^û¹lIe>ôr61“ÙiÇn·N¼©e³æŸ|9ø˜Ã›7ivÛx~SŽ©PœÄ⇦aä“%Ÿ Ûk¿%˾©Ì繫¸„8óâ;¯\6åªNù»>»a–d·oû¥! ÓùtÉüýÈð­0Øå»câ IDAT0}wéóÒý/ ì½ë†‚ Ç{â½ÏL¿å¢IíæZ–ë£Ìó÷<óËÚ_^™3ëÑ—oÑ´ÅøÓÎç‹{3™—ç½:öØ3ƒÉ s^DßÞhc‰ð%Dîùð‹30qíeå äöÑ£—]{ù¸ÓÇá¶ >c&7°3Q’+qQ9eÆ]zhߺݜæNúÁEß,ºö‚¿uà‘vGEÅä{o~ûãwš7mŸS®ùGƒú áy}Áú³®8§Aý«~]9â€#Æœ8Â{Ÿ¸õ¯«j×®3ñœËòóó·–Ÿ;é¼›'Ý|ÏŒ{F7ªËÒ²Z†BœÑÏþê[³>pøU—^U¼yëš…£úuê]}ÙÕhÆ«³_ÛoÈ~»öî’‘P&û¯ÈT‘•6äQa‚#éì@§~:lwÁ½˜Ý¨ “<›%2²çž{àÌ>p‡àþAZé„ 8SˉcD8vìØ>úèƒ>X¼x1&2fÍš5zôèúõëkðcÆŒíÖ­ë•W^5gÎ[ ‹[„Çd!âœ8qb–J¤˜åXuqd> gÏ~·o`BçÍ·Þ Ó º3³išZ:HñSàKP *¤BcÞa‡Ð.|-!«@ƒÅ'×A˜ýY±bňøZž;ìÐQxŠñ!wˆmhŸ;gÄrÚD3yÚÄ 2FD¼l¢Ö@LSy!š‹ ƒ'‘U¢§Úµk'ÆÔ0*çQÆpÇôK~¹¤wçWtëе °`ÃÆËWþ¸Cë–­ÐXsk'Ü~ù[ÍEBÆ6fôÈѵËk–m,-ܶ ÷,|»ü»uëkѤùλ·kÙ&/¿Æ{î7tæÞ÷͘>íá{^˜ûîM˜|Á Þãôw˜tKáÖ-ão»ô£EŸ@«§ˆŒ\;C kWZòÈbE—¡ÂT=ãúé•Û*ïyv:öÐ"?H%Ö—º¸¼¤¼d}qÿν÷Ùsèû‹>âÐÕDɹ,À\îö!HÂäÓž½ï´£GöëÔ»xý–ÚyµÞóÀòR@adt¢™Ìý×OƒåÏ>„Ý#žwè±ã.ˆæõkÔ=lßCï9Ýù…À`…úÎí»í¾ó€ƒôÎ'ï~òÕglKe¦]ëv –|ñÓêŸÚµÂ5——Þ~B¨Âi6„´÷E•¦®¸¤øÙמ»øœñþO°±Û[$ËkÖ¯²W÷ž¥%ò !ºËÓÖ$xîVüúóÙ§Œ+/ÛÖ½k÷»oœzê§ãH…›8˜üÊÊ·>˜óÖ‡s_~ôÅÚµj]~ã¤Û¼óÒ?_çݴÇÀß]röŸ;cø è3p‡v>]ôé·M¿þö>úüãA]ç £Oݲy‹sGŸ;æ¢1Ü<÷ÝkÌ|ªU%@BøÅ7 Q{Ú˜‚_7JØ$(ßRާ·ÆŽ;kök˜‘éÛ£€•ÐÇ—÷ ”šf4±ËžàÐ#n0Ü~áÝw“Gr"1qˆÿW^y%ž®áº”ã_Ãa¢!©¦KµUÆÚ¡C‡ý÷ßÿ7ÞÀ³µnÝúè£ÿè×¢yÐmÁ¡*x‰G•¾÷äCw®JòyXdØQ•[m¸¼ŸW®øê«¯¦M›vË-·¼ùæ›#F©X}öY§œrÊÂE‹Þž;·N:#Gž¼Ï¾ûBþùçŸßsÏÝW]uÕÔ©wá9šwìrÁ¶oÏÛr$ X^æ³ùŸÝs÷ÝwÞ9E[÷«¯㦕ï¿ÿTƒ~ÿûóÎûËÊ•??ýÔÓã„Aƒ~‡€êÕ¯÷üóÏÏ;/ò3ztÿþ»Ž7î³Ï>%Ï”©Êóå¢EÓ§O_¾|YËV­;ì°#ŽÀ<—é÷ßY'<éóÀàV”Gyüñ'ÈdåG}øüsÏa i³f»áïmÛ¶E+Ð%vô¢µ&)ÕMW]ØÏ•òx•rbݺu·Ýv+\`:æ ƒpwGŽ€}úÑÔ©ÿ˜:õäù–[n‚ü‚óÏÁ4$üׄÃ\ëF£Ñ¨0ÆØ•Tð¯gÏ^˜Ýøæ›¯{ôè¹dÉbÌk üí·_ïºë€5kÖüüóÏ={öÆÀ¸óÎ;°ÿÇ»×î¿ÿ”‡ ÙçÁïCf?|ÄqÇý r,ödð„°a‹ªE‹NŸ~ïòå?´jÕúðÃF1âhDrݵWöë»ë#ŽBë>ýìãûî½küøËvÚ©;ðO<ñ(öãŽ;Qã${ÎÅ ]ÜJ¶u­žqág »ÃÃ<ðúìYØ#Ž8â¨O8Y¹Ù޹úÝe¥¥»î:pÆc¯YóëÞ{ï3nì¹ø=à$ ?µåÇþáòÐö_›^ቶ,‰‰—<ê0d ðøY eç†!° OWNº KÌifØÐ«¢0„È/j‘DAí&äð²*Õ…ˆK®PæÌ#@øÀ&Ö9¹ÎK6Jy¢MðE,Ægm##¤2K—à£TR{³8›¢­&–Á‘ÚÊ+›Z/|ÂÅ$Li¦á¨ð‹FŠè^wJgâ÷ŠT·"CÖW¥Ã2"ñÜÙXM Õ2qÅç£Ð7r……'üÑ>¥Dâ®ÚÕo„…œ²uÒE„Bö@$âÓj.ô­ÅC*#R è•H ’ËØD?Ïe¿ÅàÔÝ ¶97’*´a!1n„Ü7=n]É-#áVd< Û"2[”îWÁÄ‚q3U&:µíTZT ?è#üÇAWæÀ¤s¶–ulÛq㦠ۖ·‰ó(žJX.wÁ§‹çO¾êïØuÐÖµ[‹K‹þùæóϾñü?ÿà$˜;vØñ˜aGµÿˆZµkŸ=òÏ»öÙõâk.¹ð¬óqNÈ#Nï8í{Òใ¿Ü|ñ·?~§ù•ÓH®è àµo­‡Å±u«”±Òª2ǰLOá{&…f©²PîÅ@‚*òÔm€g"8õ€ Žòò3®ׯ{ŸqGŸ©ãx[Ý÷=,LOü¼få'‹?»tôÅe%øV’mƒuhâÙ7ž†1Ä{DU`÷}`GeÓ4JØ”Jl€”g>˜ÿá {Äw7KØXñË*¬á¨4¿â΄AžÊJÜZ2ó¥§_y÷µÓŽà9öWß½fÃÚÃ÷;téßÇ7›Å—$ß®ø÷¦ÂM»õP¸–/‹ RôÉ—Ÿ>ôÏGÿ{ñ)#N>íèS°£C‹3€¯¾ý ƒ¬Yý¦kׯiܰ±íК)iì¿Þ|ñÒ³/)).ï‘c.[ÛsÈ©|nöó‡ì?|Û–²²ÊÒÃ8ìÏ—Ž»xô…˜jyuî«ÏÜûtáÆBì€ öüëÏ=q4.¾¶l.µdiyé«s^­Y«æÝ—–”4­ß¤OÏ>Ÿ.ülȃ¥Eq³ØŽí—ý¼¼VÍZ j5(+AÚ²sf2 µðUôÏ?Ê4!éd1fáRëM‰@ÿ¯&8p?EøtpWÜêNƒ[ëÕ«·ãŽ;£¯QŒšXw 9&@9%ESO;í´9sæà©è0S€G À ŽòJJtŒÒÇwÉ‹±iB­»Êòa œoIÓ!¾ùƘ›ØqÇ®xÐ]wM]öÃ;u ¤¸Aàá‡îѳçyù &&O¾ 7z`’ekñV¨n¾ù–!{Ùgß}~è¡;î¸ã†0«Jn4„åeps`(Ãù?üpñÅïµ×^wß}^Ç‚ëjì-7nlÙ²åW\Éñã/êÙ³'؆ ²øË/ùå×óÏ?/XÅçlñÖâÀƒð&L¸døðá—L¸·À`†;æ¼×/(Y÷í·ß}þù‚cŽ9ðÜß½ƒ÷ŒÉ#ÌzÜqûm'üéÄ+&MúþûïÁÉ`€…-êZ»)ÕY‚KVh ¢ÅT‚ˆ*5jÌ—kTf&N¼ Ã㦛n†;L.@Ëž+/ߺu˲e? €‹Ž;î„üãö³Ï>¯Q#ÎB˜ð¦GˆÈ%8vœ|v1¯W¶iÓ¶iÓf‹Ù½û.x>¥W¯>ØW1Ƕ/¾XУGăòúõk1¢.$3ß 3ü#2³qúôû†  0Nœx ž|Ó­ûwÞ:ä~øáû .>ü .ýàƒ÷|è~\Ú}Ô±*óÞ{Øá#ph~ï½wÐ4Ü3‚i|ýõWÏ?ÿboTõ9¤&õy!eó«åË~°*'_0³kYztƃï¾÷ÎÕW][°©à†þÚ¹cçAƒö‚VX¼™k¿þæë¥?,=ñÄ‘ÈÌ?Ÿ{¦K箇|¸j?kXp/Ke†/ËRôÃùª™ø&jŒ hâJ9¨Ii P`Úa4‚‰ll@Y!H‚†׈Â+騒P¡§‰’ CÄÏïðºrþØ '€°'êt!!QxìKuF…q±È%¢V>ÐD\E¬DKþÄVîZJ3VFåKÊQ‹\Ëp:j@çõ-ǰ„.*2a«ûc‚ %t­ŒFb)³­¦Î+¶«+Sr1 û¥ÊÉÀÁ/Á9‚™žµ ×J’4Ì®`–»÷UÞ/(SêLtXèÒ¢ÑÄ+aÐ3"Ä&ÏïQ:é˜}-«<ÊI ‡…”iéBë…ø ”„\„hÆ'äi,xÀ"g:nùÚÓ—>~@¿Ûeà›ÏÌÎÛ\±m+¾º×þâ–=(‹lòö¿m‹6Df„¡ý’[RP$N¸¯–ui„k7¬]ðõ,üï¸êÜ+Òwpˆn±´ß,ûvñw_9þ †—©¬_§þÐ=÷žõÞ쑇òKP<®rÐÞà›K´,'•ECV†´nó:šÖk j‘AHÈÇ ?™pËeZžñâãO¼2óálݼÂþuÃ$Gž?_uöáûzÌð?ÒÀÆ'ÚW±ðëE­š´Ò¶sFŽ[h·Î sŪC -“çñ[5mUXT¸nãú‚͸¬nÕ´¥fÚ¶lóö¿¿iÝ¢5¸yæÑ/qÔðW=ò×ûo¹¯p·¬Ä*‹¾^ôûÝiäñZš)+—j[´–ŸÇ-ÞZ´E1n[aªù8²FÏ"©aa´¡lfÉÁ(“ ßP¢ÆÿÃ×ÛÕYá’/¿Á«Pš5ׇªCþFyÓ¦Mñ—^z ×Û¿ûÝïÐx1Lš‹tC‚à öLÉB’Om#T¥ÝC ªé!¥~ Tyýè†Ú[oÍ9øàá¸ÆÌ´iwÍ;礓FÖ½öê˜Ýwßã™gžB_ãѪO?ùhðà½.\pä‘Gã†$¿w¯>Á£ø­º’lR¬ye Ó¢9g;š"Y†XÞ˜n ˜Iǯº ôÉ”´"ȵ@[9"yÊmJ3YCxÕ!RàPqÍ¢Ûrð°¥Ù‹ë³å¿¥n-…ût+µRóìD޼˜î·Mm³BIO’LxÒñY¹¢'üɘòæ%ez ²Ãs`Y€“Taêt€Š.ÙÙ4/dU3%L5FƒóTÓ•6]Oƒ# ! ˜÷axr9­Ç¦[ƒÔ•Y” c¦igXüVUäÞ)t‹‰ô;LgSˆar’^V„PÅD0–ðç2 PNZržEÞÊàåâ9±X*1NåÍPh8*HX3 ¢p­U\(CÅÛH ¥Îvø"e’Š>½‡ZÃÄh³$Q†•攎Hpþ…?”$]–;£ܸW EÃU åTÐe (¶Ë38‘X”BËÎ$ráÌ|þí_/ÿv‡Î;`êá¥w^iݤõî½ÊK¹j|öÕ||ó¿[¯Ýð®46‰‡ê-µëm¥6âÔ¦¼h[âÈn˜üÐm8_ÅWÜuáÐßï½Cû4J´tÅÊó>|wòÔ›ñB‡óþ~Ñ%§]xÈàáøB †ÃÔ¾’‚¬4ô„¢ž")ÿ “\ê:†j÷R¢´šò(ñI½Zö¥ä\׸b;kòù=»õ8ëØ1xæ<ŸsÜŸ1U·­çüœn0I‚WøiyÕºÕOœrõ!Cþýî{N™1íØKNœ5õ_xk)㎃ÁSN.bB¿ú‚ŽJîŒd¦?ÿð£/>VRZzùYZ4hæÝ¡NÌ=z $¸kfá·‹æ~:¯SûŽãþ4†máRqðÞŽÿÛ¥¿¬ûµe³¯Ì›…Y¼ JeD†¯(yÞ¦­…èMür³‚W¯[}âE';Œ[Àn˜týû [ÿã:Ì—¡ºqÓF\\cl«ØöÄË3<ÀnÉgc2™/_ŠSP$!$JXdO’«f€6n®S»¶z¬‰ $E›6Éï cܪwXl.,,ÝVvçõw,XøùIÇxö„sÏ>}Ü´ïœÚ=† …m[·}áµ)ž^’¥ê~ÃÓ¥w^o½ýÖWß-é±Ó.‰T_ÿûk\¿ôêÑ /q¸m#dШ cŒ…ª€ì;8‚Ýÿ\Àä+æ pEÊCSyùæÍ›ýî?RêžP5Hâª~Ñ¢E(àJþ¹çžÓŸ‰`hÐÊžyñær‹HDÅB´ˆGî³:>D‹¡)µ ³)ñxÈ/¿¬8p·M›6¡¥˜nÀã!x²ƒpYÚ·o‡ W!éÒ¥Ë ¿Økð`Ý=Z¶lU´¥ÁtîÔ ƒ—ÜxJ‚ìz]ͯ'ÒÛüÓ¨b&Eˆ¹‚ 3ïðÁÚ5kpkFÏ^½ á”=—™’Òù¼F´áéÓ§†TRRŠ»K^}õUÜ‚ #àúõëÛ¨qã¢BÞ’¤ï4Á,C³æÍ>üÚkÿй¼à³'!=ˆáØ`‡;M3ÿ’¬ü“Œqˆ ¯‰½õVÞ쀿Œ© \Þc ÷Dhëpýr‚‘¨Y–]Q'5ð뿘‰ûšD¹‹Ùoü¬” ½{÷}üñG7nþñÇå]»uGÆ<{‚G‡.¸à"õ¨¡2gøR¤2Ó·n½á´Rª™jÙò$ìvÈ$`:s‡ä£–ÿ¸¼oŸ~› x›™LEõ~å•—à7Œ ¤… ?oÞ¼h:ê˜+®˜PVZòñGÚó÷ˆDüÂaæ\8®´]< RÌØíŽÛ§³'g>>õ® N<Ê„Œ!€9sÞ‚võêU{ÖLIÆäà@lÝZ¢1tï¾óSO?Ì‹q¨Ù»øö÷YÚ¹ Lt±T'HÛARÒ6f´ HJ*L¹,ƒ–iI/ÙèÖjȪ[>’0ç®ÅÖSÂ4$SDøh4’7Õ“!t«è…ÑK¾MFv"¡ËTV ÞbÂ!HwEôMâ«@ â=½R>EÈ!Å!£ #,Ʀo¥x-DV¦Ñ(,B*;憦¸2Èd§¢ 6₆n,‚hE"ÍE0‹¿­(aRJ…+©• Ò‘ºìL9Ìc+%·Ä–Bi‹ûÖÑëXª.•r4a‚£ˆÖò¶iùL‘£…P³»Aé*U¢æI#—¨‘™Kalš*¨‚-Fa2„—ÕOÄéa¡ib@b*¥´ 5X†kW .Ñ(G” ­ ;9…!ËMõUãþ v RÀ©ªð'–Ò5T]ù1Ä468<õܹØhù“}\XQJÈ!ᵺS3~;-¯“©b~pHâZ‚™²P•üiUGº Drð`N_}SÊãqB¡0Y{´±²‹*–'J–tγzðƒÈcô˼p|Æv¬%¶0µ¡ÊS6Žy Ò$ÞlŒ™\ìjœúz1£@’&)’@’ê#5¯`+‹:ÅÝõJI.’eÇ0‰'˜HMVfcš0í IDAT/ÁÉ¥Â"k£µ€EE± Ù0n6m¤/Ž0¶‚Š•Uù€{±Ó‚u‘ça`4„çV8GÒÉVƒÈ†ôÂÖjÀ"ç’@—NBùГüÍ-ã°……P‘²Õ<8Å;\°‚HÉñfÄüFµøexù¶Ž:öíÒר¸×]ù™pŸÂÏ=tÈàƒðµyIi1Îxñúüœßó7R°[nwé± b6tÿILÄ %›‹×/ýÕ‚ÎË4©ÛðèaGß÷ ko»nÎ{oŒS>=ëS6É{BªÞ@¨,­(Á]G‘­ÅÒŒ‚­Ò±g)kÊÒÖà»Ò‚¤±Çä?^%zþm—¬ß¼aæ-3Ê‹·aòC‘xtÚŠI§Ð{gH~kà£:rÔ'ctí¸ãÁ£GÌzöaCøÀ{y!Nq…#l¤  )¹Gæ¬òÒqã/9û¢Ï¿Z8áÆËgÍyíáëî33Æb  (aƪCÛçœ2näˆ?eŠ¥-ª•Cì…ë‚Ù¾Ùw§Þ˜;Ø£×no}0#S¯b¢ddÅCrÙkjlãÛ1Mý p¹9."ô ”‹6®þv%w.iK~ML‘åcðÀ¾#GO ¯‘×ÈçÄÐ*k-  !uxƒ†¨Þ%°q3/W›6nÊsIþBè&y§FeAáfÀ@¾yãæ]ºír×wï?t¿û~îég=ùüLüŒëîýwÃõB c Dgé%%ÅA¿tç=Sžzñé‹ÇÙWøÚKxXa濞Á ßñ—´ƒ_bDU ‡¡A+xdEx˜iÁƒ‚¨"l4SüÒ 2ïyfC@ŽŽFSN8þõíÛÿóÏçãI%¼6¥KçÁüí·ß~ôñ<úX´WšÂà«Y˜NI,¦eyÒ¥ÁhfAõë¯k¤é´ÖÙ"4A®R2{ýaðŽ]ºBŽ£9šhÊÒJý¼´×C!TÚdÉtU½ËÝå`:¯s«£B:Çó«s–¥'³5*ä`ÓÖi‚(µÅ|8%bÌÐéÓk¼Ô»ùk–%NԨ㳑Go^ÈAi1*œ™¶†pS&ü‘Ü*‚- ºBi]"Z%¢çÈyoV±å/.b½šä^ÿVœZkÔFò#ÍÊb΢LG&XÍC–YuUÒ9G54”T•ªP­²µV÷ jò,v`׊®Ù)%2Þ5`Wª<ôp¨P‹(~JÇcTPHAEBžÔi& 4ÏHSñ†½œ÷a«ßð¹Ë‡rÅ$P®° XGŒ@›§«tl»ÃÞï÷»}jÕ­}Ã%×­Ù¸¦I^#¼ßTƒ6^­ø:ñn;”†zU—¼šÐ޵D¦˜‚­Kµ›)VUP™ÔјѰñ-CdÒ½ýîç¥ÏÞþxÍ’¼m•z·ýK ÚçQŸœ¢  ¿c‚B¿n}ð3(tnÑ©Yã¦+×­’|ÆãŔޱóVdNkò QVXŒŽèµÃΣO8ýÒÉW,Ãk_Ûta¼€ê7Ý‹7D`ž ¬°Œ£Iš€£ÞoŠ÷PÌþàÍ•¿®Âó)ÛÊ0!Ç}[{6æ±P\„*^¢ËL7àwL¤ºuêÎ{ùØþøÓuœ2\wÛõ˜Ñ¸÷Úi­šµ„i“F7lÄGëV­N?étŸFQÒÊŽí:¢Ä»<42‡ǽf®».[±U°ì§eíÚ´«•_Ùkܨ1ÞŽ»iÀ²èÒ±‹N‚,Xüù+~8ýO£žxnfçö‡î5¯ÞÐgו«îÓ#Ü„N7ÒÿY­d‘ˆÅFõ5zÜ]÷Ý5ñÆI#ÿxb¯ù]þWß.™ñìcK—-Eùßÿ^Ú³+¦ó’Ä4)aK¶,«þ?OppÀâ÷5ñK"˜CÂôŽGXÜ+·:Ñ1x &^½Ù¦>CB9e(ÒTœ¿üòË3ÏL*9fFmB10à™‘'žxlõªU­Û´…·BA×hB<>s¥!Ȥ'A㔞±Áæ8Ê‚`elx!(f‹^zñÜzƒÔÕªU»C‡^zé_=z`Z ¿+,9ôl€Ã:Eg$h=:ôéÛïñ'f¬\õsÛ6í0߉[B D"N¸X¼øK Â/¿\ˆ<7iÜÁ0ð7fc>oô Oï¾ïÌ{ûûï—bâC³-ª[!žIÊe‡]æ–ï7BÈ1ƒhŒ%Ü—]Ïýñèã”P™¯‘“ö2›Ìî÷G ï%A+Øö=±ÌŸ-Y˜ÑÂýFþfhbö3ð{êM–€)P²”yˆíc$f  ‘µ°Ò»¢c´lñÀL¶e`¡ +žKî9LÜA6Uy`L¦UÕ‹+܆[Þ¦ Ž’Ø$ ôv4Æ;<ÄK½í1§–õJD˹<‹&´«ª=$ÛѦU©*âO®zïϧÅ-k¾ÿEßÓѶ߸~ÓúÛ¯» ?\ˆ¨lx$¿GŸ«Wtï´`ÿ‘w­@ù°ý4ùªSFŒ¬[·Þ‹o½<â #ø5g^Þ¡ÃyeΫ;wÙiæï}òþ´§¢ ›‹6ß󨽷^sKYq).£ðÜÞ¹c'¨~^½r¿Áû†f†]FýÆk‰L,â­¥#†ŽVÜuß´«oþ«~x¸êoWc>/:ÍJ[Ä“°i)¬cÌÿ6Á¡{b¦S§N¸ÌÃWâ¸q!šÔý zŒœZµÊ6lØpçw^vÙeÈŽ+³¶Ü°`·à¸Iâœ>}:{9rdaa!æ8ð³,³gÏÞo¿ý:vì¦?°sâY”‘úï¾ûoÊlذªÀãI„U«ViyéÒ¥¸Îlß¾v3HäÓÌ=ùrÝW¥ÀUè¶O>ùã`ÐïmÙbg2xÅÆ¼yóN9R_–ñúë¯wíÖ­aƒÏ=÷<’ƒ[NÐm: ñÌÓOã—Jðt 0}ûõC`C–°ƒÃÒw,çåuÔ‘óæ½óÄŸpŸð¸î×Àã0HªU«qS ~'—£øíU;wïŽWŸ‚¹i³¦`Ðé å<äC¯¼r<ºÏâ¯üñG‡~8çü¸¯«k}e $û@92†GHðëªèÜjѵkW `@d!Vˆ3+r¨Æ–Ÿ#0c‹ð*ek×­ ýÙ¸q£®ÝvÂõÿ£3>þ¸?á᎙3Ÿ  34BY“€7t`\¡±û쳄X,퀌7–ØAŒ. FF$AUTâ·T,˜¿óÎ;ÃötÜR„I‡ƒ‡‚ƒ‘+/Ñi*;Eȹ‚uíÚ aϘñÐqÇþé§Ÿ~zêéÇ¡ Ë¡‡>iÒexoè>C÷ûrñ"ü Íá‡Ð{@z÷é{ÿô{1G³Ë.=Ñãýúõäчú÷Û5¿f-pÒ»n uh´|ÛÎ’%iuêŠý 0«cŽ938]ºtÝãwƒ0§ƒýÁƒƒ-ñ#/J_-Y¼`ÁgýúíúÙüO}¹ð´SOGzäs6$”ÉBD,!ÝZ²î(a á1u‰5K` ™¶Ÿ†P +l¼{Fߦ©©ZY]­¤’Ä”PQáµ³ÎSP,` rlç^ ë¤ —˜—$èTƒ™#‚ äC NF…i<}“8fƒç‚Q·T¥Mêb)…mqg9¶ÛÁDWÃ1Šå¸n]‘œsÒ³¡f…È0*¦ ©ʤA>þBÚIpÆŸ[”(µ”3´ÄSB›–±f’HaŬHb€Ž H€ÑuPŒsòDË’…Ó2‘SΈ‚¤*CJíDè&!».¶Uî ¨"ò傚Ë~¦+ifð%2bT’Ê|Ð ‡9K¢K lƒDÞ]Re›0Ä*•j99D‰õv•„áxÂEJXÉ%Æ«g°hªCÕ )¹z"6ˆÁð‘À½(Òì"‰ŒÂÿ$É<öñ›‹Lîƒׇø”"ƬŸ(|D  °p­m“O~úˆ …ò‘²$‹m$E€ñFIùPcŠàS})4wß&mMJó¨èñɤa#3xîÏe2®Ðîƒ@ÏŽiˆ¤æ ¨º$Mú˜¶jD­­ßÅV}@ŒK@ÌáK!`ÐRÉqÂ&3SŠbl\$v†0ðˆo™Î n!øª+D ·Z€ùÔf+ΣMY¹>ZÛ”´Ž5>·j¶‰ÑC†Î{ÿݯ¾Y»^»ôü‡½pùyîø¿ úÀbG6d¤ì³A‰ÑFHËËdOpè*Û6IØŽ:\oã]ï¼óNíÚujÕÂËJøÕ½"y(“‹ìÛhÿàÁƒ1»Á˹ÄyìÄöî*ŽâÄs .œ0ax0ÎpiºÇ{|üñÇ<òÈ¥—^ ø£>ª¿®‚òOðRy̘1C† AïøÄï¹¢€¯ð¸ôÒ øÏ\À r²ˆÇ¸k4 †ÈdÞ}ï=¾PC®ÃƒzèС³fÍš?¸C‡“®¸SÈÆå—_^·^=ì-¸¢† vcFŸ‰‹Þ.]º\rÉ{¡Ž°ë ˜†c fa0%„‰!Lå ™˜ÝèÝ»7^öɘ1£qÄ™gž9yòdü*ÊÉ'Ÿ<`àÀnݺsÎY˜Å5j”ñ0ݸ’ïyöÙçLŸ~ÿ£>‚pÀÇ{<®xáVÚÌëv8Õæ Çâ-[ŠÛM› p1«ñ}÷ÝÏO-h$ñÂ"µÈñ3¢ètþ–ÌV ½¬Wfðâ’³Ï &NœÔ»wŸ±cÇÝu×”÷ß(gž9úšk®b÷JÓaåUÔª]稣Ž~è¡é˜™2õnÈCÚQ”±J|Ð1.ïEWmÑpó*zöàG×®8x±½ÝºuÇGÏ^½áÓ3H-l&>|‰´öZ§çåáÍÓ¦Mùàƒ÷vܱÛgŒ¹æšIˆK¯ž½Ï9ç/ø}ÙGyóGp&Aô"íÛµoÒ¤ ~ÃEÒSѳ'ïéÚcOÎ;Hœê" }´Ñs,í@n™Ø|| àÛ1\Ô"†ÃpsÞÁÁO¦Ì1Çœþ»ï™rï}w¡-»ï¾çÙãxÔ`ÃÜ ÅvxáÅÞvÇM¸ÓäƒÛwßa%%8˜m<º¥P>Ð)aÇÃ!áy 6Gl[PÄ…k+µNš-dj‹À0Ó¯H‘¢Õ–*nÜ]¬Š@VÌ%¡Œn´ñt”D#2I‘ µØY6µCQ[b®×«< hü´#‚ŒZD@óƒ¤þCÌyžçêxЄH¾ˆÅBnÎûà‡ºÀ¬H| ÑÛh%çšö¼µÁ0¥yd¦#¢Š©DíRVB[X„ž-‘\¹*„‡”™#7 |Ë ùHÕL2.c Àã3&²Qä­ŽK"drè¶Ù¸,Á-Ñò]=ÒÅ[„áW eóGŒô¡N¤ *1Eæü”.áV<ÂY»qí’Ÿ¿ùjÙ’.í:·mÑWI%e%«×þ²lÕò†Í7¨[·kûù M˜M »D:%—‡ÖïÖgà·ßߪyKL‘à—h¡ìß½ï±výÚÎMw(.ØNüÓZ§´ðd‘2ú˜§Ü+ Î?åÜ6-[ß~ÿ8«Õ¦×G´¢-Íÿ@ޏC¿ðž¤ûœsð/ë…Ñm3îÄÿ³þ8ú¬£G¯Z÷ ^l9çãwð_ù:·ëôÂß1·Bãû^xp·ž»öÜÑÞlpØ…Çà§C›:ó^ü}䨱GŸêøSÿráäKþËQ˜à€ÓÛ.Ÿ\Fr†?ý…‡öìßsÇ]ሠ_# Óž¼ÿÏ<괱ǜˆŸ{ë_½ü$ðÁT¹ù²kçó{ÇÐ û# zª/ù“•%©ÚV3/ÿîë¦Ô©]G~³–W—PêT‹2„ulaÅ– Ü qû=ÿ(X¿Q¯ ÓÈP³Ì[·iò¯—}Û¹u'‹ƒÊ¤8|ð_÷5~ê¥G×]FwêØÓÆrçÞ•Ù´n/WÊËGyÒ1‡³eë´º¨ :ôbEfÚßïZùËÊæÍZ`4–lÁkbÊÎ8éôö­ÚoÃ,U¦rPÿ=öÞc0r[0î~vÆ5—\Ué’„KI Œ(ZDkY^õÓêz ê2ì#å{RKKÊ 6ãç“o¿é¶ó/9’‡ž|ðìÖo€2Åö*‰ÖPb„Ô°Â2·ÿý‚ÑŒþÀ\ÎUW]Û"p1,ÝÃÝd2è9i‡1¢|Í5×èmÛõ#yˆ‰¯¾q}ˆ×d†_cÁk/á3¸ 0­< ÎS[î€|€ f[¶mÚ´¡çÐ1ü GKKÌ‘£ GÀë ;ƒSøù ü  &5N?}Ôyçá–ðʉ-Zà¦ü¶0v|LÐÜrËÍ3ŸzºNÚ[ж ]ÀcoIÓ&MHÜä‚þÀÞý‰R4‡õêÖmب^T©~A«ñú\Ü®R¿^½­|ï&:´4 OlÚ¼ÓICxšà‡c•}„©¨µkÖ¶hÑ»š/Ç÷Jd§X6ØOáàŽÜð‚÷}âV„2^ÞwvlÚ\È]C®«…0g²$Å2&´ëä§6~®¹Y„Ò…ÂúõÑwx™z^ð>Z]¯Y³=R·nI‚\¡‘x÷L±üª³aÓ*‹u¢Á‹;¾¸Ô_»v^’QýúõàwƒD¢&Mš4Ùˆ3mË Ÿôƒa½ºu ‹5n²¥¨È5k6¢ ‰^»æW¼¥“¸›6…#}ëÖ-1Ù±q_çƒô6oÑló&¦Z‚ƒ‡ªñŠÆVÈ(PèdÀðñÄž@r›4mŒS$“í¤´a£†¿¬æg Lp2¿ví¼a3ú›lÚ¤1¸6nØ„´Ý{ÿ]èˆIW\ü×­WWV›Ñ×ÉJ'6 6ª¬&\#Ž\9¯+sµš–ÁZ€Úv®IÆQ•&1©j›"ó°}‚w‘Hà !ðÜÏè!Õc;@çp™~Nß…þõHN•¸S©)¯Cí»ô:Åí#Q6¹„é™b­G;±×&xC”2e Iu;âù IDAT7 !$†I)¤ ~Ò”j8AsðDHNý¡•‹mÛ{QM¼Ç2|L•`…;¡$t¶‰<„`ÂX­IÜ06p¶è;Óä°äÙK¶ .ÊÞf›jÝPN\èÛH)"“GaGÞ‰¤QÉhµ6j˜Î@f+«©mbôzEùÕ’û4命ZRaêÔ]'®pi§þ²Üg Ì]¶$H~KA­”5‰ã?Y¦}138’Ô¨Y#¿'9Ðr¾ü­Œ'Õ<èäŠ9Íš·”cÃT Z s9¸Sr£ÊÓ<~»›_×À™BÅ×zrôHI«ª¹Dõ -kv´ýc²2<7&óDï&I°Ää^$xµ3@à’ºèUcE[ô Ï4ˆ(ÑÉ59baÚ(”EKN$ ¿sÈ;þxÍ!^ð˜6B̪zÖk~^„`‘ï„õ -ÕhÂ.C‚…çfR¢ñoXh/æˆBšC›„Ó„jÂç!l‚qÊ ÎÈ€(Vzw.&—Í‘—‘¦2$ ²ëÁˆ.)O#·€/,è;ü´=çƒð•Ì$Êy©â bo1“–L=$€ìèŸTxðiÅÆ•ë6®Ã9?ÞW¼µgY¸¹^ƒúÍ›4ïÞ±[ia)Ɔ†+"©ÔþLšaÍÑ4['¢M”—n+ÝR‚_HÅE&®äëÔ¯_»ÖÖEÀh’ÙlT¤ä…NÒƒ87ðÌ– Æí›ÍÿÎîmú«Gë1¡ Þµà!1Ͳˆ˜~˜Nwã~^ý6Ð `Å›‹‹ ¶B^¯eè·2Û*ŠÖòKý ðó2%|¹ [7ÆAS4XU–ã?JpZ¯iýu…×o\—ŒnÃ~”Ú‹<´h„üà†µjÔº‰¦‚öx@aqiê4ª·µ¼øÇ?âò Cëöe[ʶ•ð½‡l@´àfŠzMlúe#›©4kˆS}} ŽPâ~ØÕk\ÇÌÂõ8ÍÖ…©Æ­ ë·lxå-WÏÿb¾a·»Q{4¼}›v7^x}Íšµn´Î^Y§aÝE‹ýöÎ@Š"ëã=›QrR‘`B$¨ˆó1¢œgÄø‰³böÔSÓ™ê%FTE‚H”´»°ñûWUwMMu˜žé™ÙÙÝ7,3U¯Þ{õÞ¯«{ºk:tÙµ³”¯V•רfý–ŒŠ%gŸ™™üeö£ªÖyøÀ<]§{ˆq¹³•»Öß4žðì¡3jVüµ s'Œ8á”á'•nJ2Hæ\Œ=ˉõiu+ë¡ &X˜>‘8Û‚cX¬ý믉/LÄ=#3ñD"þ‚#iC~ÅÅ%]t!fPŽÖµ¾D$âhä¡)›LC,B¾"°hyTXªl‚XÁ¶tb]´zѬ%'«ÝûsÔ¨ FþgÏž=Ùy+æ™Ì#Nyè¡ÿóÌ3¸3ÂˆŠ‚Gaî…•m¢wx€e$Äâ·† 4ÙöꪡÂ!î$ijµRrRSMà Û¾‰d[8ÆD¥ø:UÕ¬²™m%ÙV /î_Æ¡Æ+l±ß±Ø a1ÙT-¤ ‡ìTR)1‡·èˆIyRVfŠš,ƒÙÌ"d/TEAê0'ÜBÙ…ãaóx¤cÓ/»½(ˈ¥o:äÝh}‰NeoŽ­20ŽŠ/ „ Ç|)°…)5Ü ë$|P8(?ûÜS¸ôâ^%D‹¡cóFŒ&Ù쮋˜9•MÒ‡èŠÉñR®!ÕD+kd£„@)ó—l5 ÂÌ̓P²–»ì"œš±Þøô‹Ž¸!kd1`ªaˆÝ+ë3ì“Y1{nÎ üû^ÈxÕz³ðiyAl1+-–2dLÊ^Ö'+[†¬{{_)h²Z™&{ñÝR!NÂN…‚|·}+É­`1K1,ÍÕÞe™µ±Šúß´µšla›ê¦šb–ð’gÐ2ÍH„Â…fܦ/õCµ|©ºV«”ɾ¤„©DTLÈ,\š k1•¬6Fõ—¥cµXŸŠ…åZŠV›ù®F8—­V»Õ…D¬A‹1ìÁ²bÚÖH…Œ)hËÍÔ´ ¬nà›)»¶ =ÞÌ߬®ÃöÑJö,%¥è (E¦’¶&8ðt6e€Ã.L`‚£Â¼“…4QG˜Ö ¯Z2ë†J‘»QêÊ:ªJ¹‰X9ÆØ^Ømá§Ùã0‰ýÎÎ__Ç_Ë»Bth.S¶ÑÆfïü?oxG ¦8QGôiáºVEû4•eàV³²bYþ¬O†‹•#F«¦Ï†)ÿoÍ>°°y¸a/a¼wXÐ` m,YíðÒì‘»ea)‚˜Ý˜p¬ëZDÍu!æüÉ€¥èA¸5ß•N¹)[0¼ICgÆÈšÌö¨XM34Ö"[M³°ÄðèTUÆ– +ž”è”ׄ(U)sÀQá{{™,9¶‡ÃÏyaÃ9Žø§:î¸X8´T,F–UØ\Z…p$¹ óJÊJ6lÞˆ»HâW:<{wˆÄm8p¼\ºm‡µ™qˆ-"‹Ëòe5H˜RÀ HéëŸÝþÌ=(ß<êú^{õÍœª¹Ó!&ˆ+¼ƒ§Rghø ìú Z6*^ËÎYŠˬ1Iøe*€/sÁk¼+Ö%w!»´]œÄö[Ùq^L %«0OîZÊQSˬQcKv㈈í§nÅÝrk¬’<̰'XãÐ Ys@,6Ÿ°bÁ±—õ)jöº%çŸ~•yü™-;¶ÊÊÉŠp`UtGV8ÊX½dßig*‘j¬†ïköÁlTu$FU(Ü(¥hõ EÙ9Ù¸ù€&še‹”±‚%µ>y£‹2Ózš6ÞºckË]Z®]ý—XMT{srW–‰Ún5BÔƒí°nD‰ h\ް}Û¶=:u:çœs0Q‚ÞO9å‡z'OžüÆoÀù%—\ù† "¬+2lçX-#©]SmebÅÃfÚlسï]¶ž±µ d¦$ÝhÖRΔ¢¿<ð@$‹ï>»Á|qÕ˜µÅe5è·`P½h½YMb~ªX8@èX‹ŒTf™°O¡‰Zôn®çØÀTVáL6ų٢:e¦@8¦«æ»`¼ ÷b‚5;îYô)Ü0MMé…‚*,>•­‰°¶Þ™VD–ªK±=eª\ª6™þ-71|J/f´¨³’õŸyâ_–K©o*)‹Xo²Lä§T0û’ j!àØü ƒï0±3è¢Lp||¨C.¢£ÝwïˆhÙpsLj¯¼Ì—QXê#ÜÿaKŽW¥VÓü ÊŠ×agnbI3Ïb˜XƒÅìKíÒTã.9+*}‰*—©šÜ€«ñ·p¤¬ŠKáCŒ8¶ê°V¶ñàFaW6¬ÉÔ±TUVæòðoVß”È-]!‚c‹‹BöÇ^bå¶Æˆ•‰õi:ñ˜ë›ÑÈ45+ÐNœk 3?̉iÎäaŸRÑAdOµˆ 3¯ˆÞ¬®ä§¥¥|ºøQ4ô"ºpŠ›3ˆhÑ ­º¥i`ªÎ€„U…(2Sj6Y¾˜²Næ€ÒÆ—H3Q0Uô$4^4ë–˜/Zî@må}X*f«b(¢ƒ@DŽQ/“c™fü›8Â#skéó.„7K‡}ZeÑlçæáÞí Râ®Äû1;ZáŠCÿ"Ù‰H–]b€{Z²ËÝpoK¬Á8f—m‹«T¤r8»°Ëp‰«)tÂ-Öã’°X]g-©P±jM&Æ÷?ÀOß8Ù•mmØ Øaйá13Ñà=£¨0MþO|Zï¬Q8Qmx™îÒôkEhjªаZ……2¤d8S7l ”-¨™ý E/šQw¦b1‹ÿÙ%/[¦Î®X`¬`Èv3Å| ›÷ouʺâ‚p&fþf,ìCü·J2/Ö²`ØÆŠ‰,‘ „‡(šDná|™1Y–é6â¨{°TѼ \‹Î•²TbÞðR–¯8!‹¹ç ñ05iÁ Å›P²CfWf+>L+è²³7Øü¶¾l$ƒ’æ[V¥5óÄ+MBn©š¾d¼¦a¥Q¾±,+7»m“Öí[´,¶êà;ËÅýé­">¥OKÊÒ‹HQièÛ³ÏCíkËN83Bªq~ŸÅ‡„#Pɥ lКאּåÏ¿™³_VU.oao†•Ç-cføãwóàÈY æ ñ¥@3ÝK‰,ˆ­ ¡`e±šEÏtÅ%L†(ðaŽW±X´ˆáFîÁÃ^L5‰ýkáÌ\¸¬!ò%š#e¨…Åá’MI„â_õó n©[¨u^6Šœ•j¸f] ã`¢ê[e5éKl@-MˆÙ«²TÞa„µˆVÁ™·›§¥¦yâêì-ŒzÓúE ‹þ\± ÛOÑ,mø"bËÒ2ã 1’Ù7´ä-*,m¿Ÿb@°©³Œ <d=öÀéîË—ÿŽ[`Ânÿ¹û°xñb³ÐËDÜ"‘‰AÁ®¬¶2ŒŸRgo|ëo^†…›«>4kµÉ-EŽkUpýžúÃeÒW5N`Á©.¸Æ„/а\1U‹Ö¢Ÿ|¡[XŸLÝR3M¥Û0ž.ä°b+/ñð@2#?˜Ž¹|1É!Nrc{5lŒ{Wæ¦wsCéΪY:VŸBdwg©X[^gÊ–ªÌDŽ׹¡µœ8† ­0œõ„ÔÂÖ1íU7¦ªŽÕÌ2lª”„¹©Ã2ålI°cuSëÝÄéåN ×°À!»,EvYPIÚuÜ{±·¨ÕSXn•¬O 4ÅrôÑ$¶eQªAòÓƒêH,aE“5r¼±xÂM¬dšò@MM‡i$öö"w¬"œ°8Â#FtÞCd­Ö+¬eIÔ`¸L„(£âÃá@ÀÖo¶FZ«3“±í1›Ì…”†X_«­ÈR¼ËÎrYaó¸œ3i‰†iðñÆÔä‹+ñ7)²d³,X*L`²FEˆ¢ Ã…Jƒå$â“o»"²S-„#ÙÌ›ÔöWf·R;²Ñ«ÆM,;±ùœ;Ë€/G|ZÍð£…W6¸Y¸ó{ /Ù2³>-e^çoáyK'ÜmSÈ>˜C¥Ê\™UdI‘r¡xcÊfH¢(ÞÕFÕoeSÈs W-±bb Ôaf ,ܳùÆÛ,ÁKmÖÊRrÍyEÖ¬”jØ %–6éæËüN ìœ?vÜe…Í­6>¬ŠõiS3693°Úø§x ë‰ X㌸–eþ.ŽÕÙE"Pa6g†f¢‰éñ| …7®ÁÌMBÂ"RlÃ^,otLºf'¬ÌÃdëÅ6ŒìÅߥ¦²­fô”ÓW*¾™üã]ˆw³kSÇô¡À=sn¸°‡¹fYó‹X®VpL‹[koLÎ3jüe…c‘bìD‹õnµXuþ ¿ššlF hµ˜7î‘¥ŠÃOʲ±\1¡YæíB9R×ôÃME™i™n-sÁÂrkvÃGŠåß’éÙr¹ÐDÑò`â2{±¤Pà߆À¸b}bVœMÃú7mÂʼdVÍFÖ“D6©BV6ÒDÐf™›n¹Äþ昤T“‹Bu†Ú°E#¨n]Ç.ÆË"Í`*êfˆâÃthµA…Iø»Y` ›â8² ®Å;1- 0G¤ÉÁÚ=@ß°wž®h•¬dA8äŠh­%ø»Ú*Ŧ¶¬‡œ%b²—`‚( –‰'ž6ÛÃÆVNhXÖ–ëÓ’ËOî†÷*EášØr¶u”ra¸E”ÂuÖ«)‡ªÄÒÑ„ «ÑæJqÖù;_ŠV]ÑPŠ>™*o‹Pœ¤Læ$·–#76![Z¯Ðã?î ö%âC…¯(±nXâÝ—}%±öÁ=)­‰ÉVWöYÌ"*D§Ì"\’öè/¬Ð˜ãlG“}KK•èó¸ÁÜŸˆÔwè“)X± eÑ™x00÷éU/ È- ³Î<„#BÑïRt¦¼[Ìl­ª]™µðVEE•0<'|DyZ2a¡)–¸pÁo–‰å>ÙËTc%sOZúdÍúÞ5Ócrña Ë=³Vªh`Ýç%+›ÝÅÛ2œßÈï&Ķïèž>“ËÆû´åq£ŒÁê„AE/¬[åef¤lœ2+(®e^VfcʲŽpĄБ¥#làÐa9ü(ú"&uå`–¼3nÂß'>ÙPì=òÅ•Ã*hT{2[¹+ÓŽEb‰#]ñšhU}D()–N:|T˜ë4ûž ¾°Øá£èÕ\òÒiØ ÔÙ+¿X:ÐD§rÍŠ)B†°&2k–Ð\æ\Y´Yá…Àt¥>×T%fO5rM–¸\[šX­RV°4¹Ä¤èÑÒÒ˜Xˆ¸+ }Ù‘U#G(+V³ùiu£‰íU¿µ6(–V1¼Ô"!g  ‚ˆì×´d–© ¬¢õÉÕ¹?&áRµI ÑdÊe³Û‚a Ó}í°eÈö$Ùa¦_–°°’34|0fÂþñAÍö»¬*±VÖ"-W¢Î„ì%šÑ= Ë3“‘£b¾Äž;†á} ¾¼™%3°þ£€üËTßL‡¯Â/kÂ# tÉ*Ö?Å/ „ù/3`¡gʘS«(>E•ëš&¯0†ü%ЦHñÆ——ÊìF|°Š£}ôÍØà¾ Ðâöf3k2 ̎؇ld[hT˜Wã ìÍ2bͪ?nÊáVîø?¾PÅ–ö܆¿©•phÜkæbjF<+蚣7#+c†8}ƒOpð#WîÚê;fL ½Z°…ÐÔUZ…Ì—[­œ’ÙÎd–+&/HåˆäVVƒò)…IJÂS°p+ÊL®:(ðV!¿‹@ñŽuï 3sV.…¹¬Š‚e.Ò‡Ì QäËób ŒÇΉG²âjᬄO…•0±Ó3å–¾øÔk¢w³å&níÌî|!® Äs&ØuýpĘãO¶Bïì»w‚œ6öï2;.óx‹OÓS²c-–çpÁ¦/Ô˜¢T¶tDGZ“©e)G´r¡TËŸù©š˜:²sYWâQe̯‡!D6ËšYÐë–!Ǩ“ ¬… Mv0„;~â…>°‹]`1m)Ôw6hq›nº \€ªÚFe"@ˆ D€"@ˆ D€¤Ìzo/¾ùÚ?þ`*îoÅg¸ÙäFÖÙgŸ}óÍ7ãÙ¢xT$Mp¤Õ2£`ˆ D€"@ˆ D€ÎæÈÎξç‘ûp†Ç'|Œ§†òÑ¡Ÿþ³8ÇC3 * D€"@ˆ D€"@Ò“®ÝÆ¥H»œmà™»ì’«,<'²¼<ü0ÛôŒ›¢"D€"P? àGˆÒÒRíKvm6žü'.—Æ¥ªÕÕ………¸ÔTJê'+Êš"@ˆ¨W°ƒ”ŸŸÏvˆø]öð™…='ëF*( ŠÇ¾–””¬]±ò×>Úñûª¬*v–Gy(3¿c»NGݲCû‚‚<'‡DXòŠ4ÿ{ÅOþ0ç×åùåì^!¥Ù¡²N»59fX“»ú1_¹öÏ´²xEUnSªÊìP°Û½nßÒËÜIˆ D€ÔFË—/oÓ¦˜Ññ£¬Vñ%Žïâ•+WvèÐ…Ú˜#ÅLˆ D€ø`B7 fä·Ü }õÕWŽŽ ·mÛ¶Ÿ§~¶vòÔF 4kÓºQ»6¸Ÿé–«×ÿõ×Öm[[sÔžGiРA^^žÝƒ0_ûé”üw?hÐb—F»¶Ëoß;d%«Vl]±r뚥ÇoyøQÞæ_|÷ñÔU5iØ¢U‹MZ⎷k7­Ù°vÝö-¥G·~È~G¸™Ûã!  D€ÚH_Óýû÷Ç(~ @ülnƒ¿ä(à5mÚ´nݺ Ú˜&ÅLˆ D€ø í{x‘ [<°&K;ëUz,..^òÙg›ÞšÜ1·hï&-:Úüøcª+«6¼óþÒ÷>^¼uçÊ·&/É2ö:Ôñ÷"˜¯ûâ“Æ“Þl¶kaû6Ø¿ðàãñt—âYïoþròŠE›7Lzs]VfÆaGº™ùý§ýñnQ»¢[Ñé¨C;URVüÑÏ“þ·üóÊ•“ÿx‹9tÿ#ÍeT D€"P« àW„Æÿõ×_3fÌÀÍ´Ž:ꨦM›ÊŒ–,Y’••Õ¢E œ ¡Ãwz¨dÞ3NÞ”Q„æêÜ–ûö<ìðƒÛñóíº3뀵խ3Š.^–Ùbvš.^¶÷ò’&V/jœµlÒ§÷Ù·Q£Fö”¶¬^Ýøã7Zu­Úm¯ò¼–å9kª×üˆëb²ÊÿlÔª¼óUÙyU¡ßزg7Gó?7¬žöû䢶»tÌ+h˜¹©jí/¿£¢tKhCƒÆ¹eÙù™ÕölëÜ»=’"@ˆ¨¥0“6pSð¥K–6lØð¤“Ngj¬_¿þ÷ßßÿý[µj…iÌn8MpTmšýþgùÇß³è·i/Ozïõ§§]7yüðÆe¿>vÈ9¯ÆÜúT¿Ö;–/ñþOþpÖ½[•®[ôÙ¤¯üÇ)EóÞ˜4iÒ“Óoœúà‘E~ŽðC.}ù±kÙl˜÷Üsk{Þ÷ô•-¶÷äUãÿïc¬‘­«ò5?½<ûãó.¸²ªŠýž#^•›þüïg“š =å¸ !)Ï2r³«=ˆÙ­êå_|ÿõçÜñæ]ƒ[[nè“"@ˆH7˜à¨ ™™¸É¨ÛóSÖϘÕlGUŸÍ™­òË7eLþÖØ¸Å¨¬Ê›ý{ÎÆ¿sŒÊœÍ™[r« ¶k×.öü*¿ú¤a³êνä6*ÊjhdT­ÈX?§ÖfU.ÏhR•ѰsaFÉì’¿¾ófê IDATú¤²kW»ùÜ_gfçe·íÖ¸ AnFnõ_¡?*¶—UTWlÍYŸÛ$£Yaã¢üüÕ7C­Ënæv‡$!D€"P{ ì±Ç§žzêC=ôöÛowìØ±wïÞøúž={vÛ¶mQÅìRƒ/=ÇP%.L-:äø‘#v«ùA· ¿ã‹ÙK· kùñ ˜Ýè3æÙûFtf&{ìyÀaÃ/()ƒ‡ªªê,cÀyÿü×^ÿ:«ß5Ãïû¿Ÿ¶ íáç—¾|Ùêqûª·>áái'ç°äÝ®ºvá©÷Í_µíÌùÕLV]¤"£ ÂO¿ðôݳ™y5b·Ñ#9ñªŸÖn­¬laYÐ' D€"n0ÁÁn4Š?×38š.[µûÆLÜu£!S­2Ön2&•òýÀBô*]ôæcž`Â#Î;7ëãE{Ý~÷°Žì®^[¿ûèÎËïŸgM?iàö_7î;òÆC6ß|úË=þýÈ){ñ+LÊ—=;òŽì[>{ÏFVù q>éfü€ƒþª1©Ã/رQÃ.âb[UÈ´—’EUv®G¨JÐÓô¨Jˆ D€¤\ŸÂ¾ç #Ãc‚£ÑªÍ­*²ø•#ÓÈÎ1šfYFf†QZh”T[ËV–·ª(ß´r³ãŽBãü’†íg7oœÝ¤0£ §2[\S‘™Q– IuVvÃâª&Å›·U±_T´×ŽÂ-Û6nÒ AnvFNfFN(»qØa©¨Ê)¯ªÚYU•—[QÑ6cýX;˜kÞ¨Jˆ D –ÀÌ…ˆ#FŒXºt)NÜøüóÏqÓ#{ÜÓÃ:U}ýÒ]÷®^¹KærÊV~4âòñ»Ÿ6ö…öÙ6ÿKîûÆØ<`Ûé}÷5~{ò¹Ão:לl˜ùÖ«5¾¿MCLuÆ_>:)ß8s—L–‹{:|ÎGæ'„Kœ÷ciQeiEv«N]Û4­áÏbí¦ÕËÿØñÍûÿùÎ~ÛàÝeGa5*"@ˆ éBg_°ó20Åáz‰JN~nnËl#¿Èh’o4*0åE¸{»±c‡ñw‰±µÄز#·t{v#vN¬C^ùy‹rš6ÈhXhäç84›ŸZYnìÄ©£Ù˜³ÈØ\fäïp4/ÌÉÇE(ò ²³2ò33ó3³óC8Ý´º¤º¢§oTUVdV–æUmÏ)w4wˆ‡DD€"@j9æÍ›ãâ” 6`‚ãCÁýGqo™Â¾C• Œí»âËß¿ÿÆÈ2ú_;á¸fÕ` ²êßàìšã·ñÿºž3Œý÷jß”«5tÁhHMÌœúj^ºôá'çU ¾¦kA¨ºª%®‡ùï”E[ûv|÷ߋۜÿÐ}Øù ‡]~ôþ‰Ë`á|Åôrc®9gPëÑzÈ7~>éŽmY™Í_wÄ„{ïøjô þ»¬ÿòö©U§<Ð-¿B„*_ûÞUg=»®ÿ-¯Ùš%… ù¼ whÆÆ"gÂ/&=û{•‘µ|ù.—>3n8»3«þâY¯¾pç«¿ÿжÁG¶iᕵnOu"@ˆ D ¥øMFŇû%*Ùûî¾ó§ÕF‹]Œ&…FÓFFÓ†F#~^èöRãï­Æ¦­Æ–í;וçtjãø³ÆŽ†­Ê2²CEEFa¾‘Ÿcäeü a£"ÇÈ,Ãí?BÕ¡²Œb¨9š·nئº´¸ ;'?+«(#»0+¯ +;&;·;Š«ÊKŠŒÒŒVœ{O)NêŒ"@ˆ@ÒÈ38ÐÃßÿ½iÓ¦aÆ=ûì³x.lÏž=q‡Qq´âûÔá+5TU¾Õ0Ž>ê”mκ M§ÝÛdÕ;ع;Kô᧺8Ëè÷À7ï™±yÖ®ºõœcÇþ÷£Mq}j´—S_UåU첓/ï?ïKÓ¼u~euyy±aü¹'eò™ˆòêBó„‹›6ü´³Ë°6ìÂüƒëd`ÅÎÄhÙûˆ^ÆÇ¯Íú­×þß=i—ÕUØfnYüà?ÆLÙgä¿'Ž \„ÛÎàà¾Î¿æ±“­{p˜½›qY<‹—^ÿø°]w®ûþ©‘לµ¦üíGd—ÕЋ"@ˆH?ü+û6™ÍõYûí¹nåÚ®­š»42vilìÒÄ(*dgpl/fgdà//{ý¶ ¡n{:ßjìlÕ}óöÚåæMv‘ » ®Q)gNPȫܲ½jŽ»{4êú͆9¹UÙ…¹…Y9 ²òó3ÙƒÜp‘ »}H9Î@ݹ}ýŽîp4O?æ D€xÈ Ž²²2œ¸Ñ²e˃:hÙ²eï¿ÿþ«¯¾Š›q´iÓçqx\¢‚ãú»wë¹ß®¼{öµ‰ÇÅöêeÌxî…9CïíÓP?pg×°FfB û}¢ñÞ£+þ*®jŒ)ˆh¯›XÐúÂ|I &SN¼÷Ýó»…íËG¹u‘y²?ûŸaœÐª²6Ý3wÉ╇vÂÎBÕÚÅ_F׸v¥"¿ó)'¶¹þ±'îÙï;£Ëeý[±‹nŒª?_ÅìF¯1oŽRȦA̪x™È±‰V®40«Âv€\_<‹\~×’ìfû7jÏŸùü—â¡ÝÙ< ½ˆ D€´#bgoàžcø¦wŠJaïž•?ý¶2?Ô¾y£i÷Ù*àgræà\ŒLÜPcuÉÖÊ=Úçöî±³¢Âžbþ¾‡—,úiÍ_;ÛìÒÐÈÊa§odà–»P]çT¯Yƒ_޲³ö;|G™Ãù±{îÒã·‹6þ±½i×¼ŒœÜPNVFÎ<É©ªÌ åì4ª6,߈ËXölÖ³lûN{ï$!D€"P7ÈCô9sæìܹW¦4mÚôä“Oþí·ßæÎ;yòä3Î8£¨¨j¸ŒÂáJŠP%~ÑÈ.cGQ€ô?ûÒñ »ãÔÛÿ5þì¾í›V—n_ýëìÉ‹š\üÂBÃhߣC¿¥ËªÞ~|öwƈ;{qÉúO&¾`½z4þó‡Å¥•Fu^û½öh˜‰«QجÍú?~_•Y€¼CÙMÚ4áÂË"„-±ŸO"^<‹ ›þ\¾*kûʯ_{æç<ãÜÚ#‚_„Uˆ D€š%€<,  †ë=8pBkã£ýó«y…¹Í²Ù¼\vòæ)*+6ì(Y›“Ó¿÷Æ ìb¨ûLfbÛˌЮ#Ö¬œ’Õ¤A‹=òÍ[~˜¡ukvüµ²¸´ÃˆílËÁÓýZøzÝ{›‹Š‹ÚåUáºÝ öà ~Nª(7þ^µ}Ûú’A­ƒš£yÍÒ¥Þ‰ D€$Š€8ƒcÉ’%8kcÈ!7†çÝvÛ O}ðÁß{ï=Ü<ò˜V•e›§=õï-cžÐÉá[[˜c"Á±¯Öﺻúùÿ»çò·„ÞÁ—½²w«Ž'ÞrWÁ[ïÏüàü>·¼ç*öŒñyÿ;½ÙU6rϽ÷Gü—_qÕÚµk¥• UJD!©qj}¥iµ§pà$öîw‚ÚXå_R“½ˆBRûêÙ«Ç[o¿«uñßW_ïÞ}ÿFjò$U/½bLyEÅ+/?ÿóâo§}:eÄ1Ç<öø“Iê+©nkE"bP-ýå‡iŸLíÔ¹ÓÅ—\áͤ¼¼<+Ë|ØZö¶Š£uùò?Î8óì~ýúM›6õûoÜvëM“?ü(?µÔ$lèÑ}Ú´/‡Í[¶|:íó¿ÿþ[T?ùtZžÝ›6mZK)QØD€"@ˆ Þž{nâ£ÎûzþìO>ù¨¨Aƒ+®¸J꫇™Rˆ‚£3^tñi§žº`Þì·ß|õ믿VMDùµ×ßœ;oÁ'S&<åƒ9_Í{󭷽媇K/Ó£çsfMÇßþÝ÷¿ìr3Îg&öÄE^pÆé§6nÜ8''gÿý÷{ü±‡…Î;¸aì-ûu?co¼Ežs„.—¯›Ü-f?Ž ™¾cl‚ÞEÁ-_éÄ»pÒ Ç¿;É\.üÊâ…·ßy­(ˆŽDÁ‘¡ÛÇ1¶Dm ½ˆ D€¨ð=ßîVTÏ~ä^„ª !vªq)v°¯ÿ¿±êɤŽ{ŽNT‡ÁË)è"xÉð0qⳃ(((ÀÞþõ×^=ÿë…ñõòè£O\v鿎:$??¯M›Ö÷Ü}§ÝÏÛïLºúª+Zð o¿eþpî&W=,[öÛè‹F5lØÿóBTEë+/Nzø Ï;÷ì\¬ZÙËÉŽÓÞcLŒCü½þÆ[ƒгÔqÄ_þïñã¤qˆºhÛ]ÇKhŠr¬ïâêÒã/†38ütóäSÏüðý¼÷öü¹3óòòpÆŽ+?:=üئMOÿrÚ‡LšóÕ\Íó=Ä1ë³Ï>{wèÐîã?•?˜üQ÷ý»í¾ÛnR‚‚c^˜7Zÿúkí-·Ž³9¸W"Ö(Õ6j¹×=pÔŠE‹yMÙ±_-Y­ªy˜;wÞ›¯¿òí¢yG =|ìØ›E+`nݾuÆÿ¦Mùð½ùÊdäUW_Åå—þðÝׯý÷¥Eß|§¹ŠZ5Õ¡c¦PxäÑ'0g4ùýw¦1 œ!ñÎWõé]Æu O>õŸèö¥–aâ0š¾ùö[¬BßùÖ4köœaÃŽÒ„¢úàC®[·î‹iþÙÔÕkþÄâ“jŽË­Žr·˜ý@86dÀޱil=òUý¸•<èûï§#.\¸ðàƒúz!ûbà ~?ÿ¼­š¡#+· Žcl‰ÚhQ•"@ˆp#ßî–›·„ÈçÏÿzʇïãheÆM?}o-!’o³fÍÆÙ»R}à zÈáG?õô3øåÏ[Ž›lذá ~ƒ0iuÉåcpû©/ ø­´Û¾æOþûî³÷/¿š?ºÉ¥! ‡6øéÿLÀ5þ¸=ÂÓÿyöCõ}ÔÒÒÒ‰/¼|pÿ~ª•½œì8í=Æ!ùᇧ|8éÉ']²té¨ /Þ¼yó´O?zêßýüó/W_ûq8ÔL0Á{pà½Òÿ=8àBÌ©xϬàgÿ›oÛªUKL8]sõ˜©ÊÄ„GUíe¡ùÞû“o{=æáš5Ûå¦@AðÏ‹.zæ™ ²úì³Ï_xá(YǼÜÓP@l˜Íùð£)(Ï?à€ƒ5sïê“?Ö¶m›ÿ{ó=ûtîÇ!×Ç~½½i­·ÝvsË–-óóó/8ÿÜï­ù?LâÜø×ãl¼P&yy¹ëׯÇD&)ï¾óv)÷Y’ˆ[¦ï¼;é–›oĈÂ,æØ®ó‰‡š]½ûxáÅ—o¿õ&e&·€a‚8ÖÃÖ± Øwq±zÿƒåà¿å¦±¨JŽË­Žr·˜ý@86dÀn±© ùªjne\R„©¢÷?˜ …¯,¼üÒKðŽò»“Þ?fØÑò‚#iîÈÊmƒã[¢62$*"@ˆ ÞâÛÝòöé³ÕíG,±·†£°#!½9îiÈÖäÜâL^éæg¯»óž;ÇÝ&¯¿þê§¿yüñ‡gÌšuϽx˱s¾båª)SÞŸ5óË‚¼¼›o1ý¨i–””àT!ÁñoñöQv“«¶7ý?\Ò‚À½úâž ·ÜxƒÚŠc–nû÷zîù‰NªÜ^Nvœöã\yÅ¥5p y˜ŒßÔQÿlIIée—›—Z9öëíMkmܨ‘àÜ*yÛÀĆKª¨þû‰G§Ïœyô1Ç >tèçŸ)ü¿IÄ-ÓuëÖ'vqËÑõõü9ç{Îí·;œlæ'e·€a‹“ÔüxÐtš6m²qÓ&M(ª˜û¼Ã®í1Èb @èãÆ{tÜç§|5—‚—c¿¢)È{³fÍþüsð ©¢º_·}Ÿyê߸%Ï­˜B¼Ñ¼ž%ŽŽâHÄ-Ó-š¯X¹2Ž¢šà&²]xþ‚…‹„&b.-Ý!Ê8i*ª¹[ÀQ Ýú÷;hÊ”[±¼äb TÕ¢ Ýbö9Qc#jPžï^{í ?˜ãÀÝ‚Q8 ûþ/½üßÜÜ!÷ƒÛÇ1¶„o üDH:D€"@ˆ@Z{k(`G"­b«oÁàÌú+Æ\ƒßçì¿[ 8´®ªÄ!±þRå{íÙUmÆÁ‚Zå.]:ÿƒyÀûË»vêì-W=àî¤ÿó"üBŒ?܃Uµ墢¢ Î?gÑ·Qîì8µ¨Ò¸ŠÄ–Q‚'8p‹Ä±7ÞºbÅJ\ÔôË’%¸Ïh¢;|Øw߃û&à¬\Äaw[Ô ð·Š`@ IDATß·ËýH=t0~Üž4é}8—gΨ†ny 0ðŽ»î=î¸c¡ q$"=»ezâ Çßvû¸û.N»ó®{…~¬ùÊ^Ô.x{vÂó˜Q½÷Þ UÌqàN co¾UÕt,»ì¨ìGˆ›=õÔ3¸3üÓ ¾ýîûK.½BsÌ‘óœøwÇÝX|~ÚuÜbö9àØ°ã!IH¾8Yã¾ûìÛû@tÔ§OoÜSãÄÙíE}¾Ü68n±%dSà36R#D€"@B@^ “77+q¨‚£•;ïºgıÇÄä3e·0¤«¨ RÓ­܃›g»<}=÷ü ¸üäåŸëfÝCt‡½Ù%K–†ǪxxŰ£ÍçB¸ÉO:é„{î½·À†vˆ [F‹S0Æ?øn–‡ 'ždîmºÉ¥:wî„[à¸3 ˜"ZqO Üpq®_¿wSï!¢šËr²ã”¥wÓâ/3Áx D¯^=ÎÉž<Œ±2tè8@`Ĩ®ÛiܰñÁ;jر¸¨Äîö Î?vÄIr´Ù<$˜}á×\wèQç;ª¹å5p@œÊ~ ¿7$.ïÇÙhb¼º»ìÒ‹ñ@ÐÃ8;>é”ÓJKKô!†[¿Z²ZÕ1Uxå—öpèG ïѽ»<;hÈCþyñexν÷hü}ª‰Ÿr‰H·n™Âg§=: 6bÐ!CÚ´6/«‰5_Ù rhõí7hÞ‚>ú hÅ=G>ùô³ýº÷:ùgôëÛW5q,»ì¨ìG¸Ûn»¾üÒóÓ§Ï|èá¸âî¶[ÇaD 뮼¢Y³¦¸n-[4såe~ÚuÜbö9àØ°ã!IH¾Ø±Ø¾};¦6ÐQïÞ½0gÓ®†ÛÇ-¶„l <˜P D€"¾^¸¨§Ë-êìÙ#Ä õ7n|Åå—Ôl´qÖl`)èý®»ïÃoÆ8Ì‘»ýâ*<åÊ1×à€ëÔÓGîÞqWÜæOã&?ù¤ZµjuØáGõ;xPqiÉ­·Üdþ´SO9°WÏ¡Gƒ¿>½{ž|Ò‰BÇM®zxøÁûq÷FÜÕ¸aÜCš_‡2ø²ËÇ ÎaÃÃyå=lÂVd¤PNvœjÌi\Æù8¸‡‘md…ð[ýÄg9gÔåË–.Nãˆ)´dXöÛïçÑÿ¾ø$Y_"@lf|ùé¹^!6¿nk' D€" Ø£óÞ8l©ÙïÍ3FžséÅ÷íË~AQ_8òLàµùªçøÊnqÆç- ­ìƒÁ.IðëdH*y”S0« v¤Õ5n¿.½ ¼#+/#?«NR¦¤¢Àå—üëŸøYûî»ï:ôШú¤@ˆ D€"@ê9W^œX+Ô–8kL 2ý àö¢8ƒ£Ò¨*¯ÚI鿼’!L‹®vìØ1ôðî¼<ÎK’9%D€"@ˆ ±Ài>Ôß~ã³òÙ‘µøÂp´R³SpTVdYõžVòé2f*Ôoìú” ~“Qšà¨§#ᜳÏÂ_=MžÒ&D€"@ˆ¨sÔÃrÿÉÅg¥ùî$>1YŤ,L+*ê1Ìo°éj£*Á7­ÇL)u"@ˆ D€"@ˆ D Å0¹Áæ7ðŸÎàH1zêŽ"@ˆ D€xàÁñ˜‘Mý @ã~,g‡,«jÜ„£Ò02Mp8" D€"@ˆ iEPI«x(˜´"@Ã#­GÃïÁ¡Lpài+5uJˆ D€"@ˆð&P³ˆõŽZkœ _"€™U¨ˆwó ŽPUz"@ˆ D€"@ˆ D f5:«€‹TpŽPˆ±ór#"@ˆ@‚àtJúÁ!A,É  D€"@ˆ@}$°—ž…F~¶‘™…?ºZ©>Ê™"@ˆ D€"@ˆ@] `^‚³8²èÇú°@)"@ˆ D€"@ˆ õ€¸û†È;£þ¥O"@ˆ D€"@ˆ u»ý†ù ч…‚>‰ D€"@ˆ D€ÚG $¦9̧¨ þy Kíã–äˆåC´8’LšÜ"@ˆ D€"@ˆ@ÚØø÷Vÿ1]>æz¡ŒG¨Fux‚Òs/¼Â¿#ÒL8<ÑfÙÒÅÒ--‰‚ D€"@ˆ D€"Pç à xü}㮺ö&?™âÁ´b‚£Ú¨fψ5Bpñë’ý8"8züêgNµ÷uÊ%ë5á7×$±VÛ¶m “Õ«W CYÕ ªÊ´í/ôåûðÕ³dÙ^°Gnשu’YïvGÌýÿñ.ªj"BÇ.Wu¨¬ÐT9«U _RÙ›€MVý÷ö\Ÿ[íåÖ@âa­•ª’¤@áQ¥ëg´xt$¬ùÔ̵Öú\•dP+»\»e«‘G“]¹¾I$œ¨T¥¦@¤Uë7ï|58Z¶ªD”U‡rT«Âz^V‰iU2¦ÜD¨­([ˆ¤ú½ÙR®þö/…jA½èS˜ã@+݃CET;Êö9‚à³Q3ÓQÕ¼ì‘{ë×®V±ZÊm™ )¤ ™ÄB…4! §Œ£TüI ü°ó„-!õPÓtä©éˆ*m]±úç°£Úk.¨Ä.A¢šXž1y“ÛRYˆÉ¼¾){¬û²ÉNÒ.©oÜ’‘¯xŠJȨƇ~G2ú#Ÿ $`Ÿ#Høìæ2äyÞ‘ÛOßðÖ¯‡­rë&rUÚ®ù ¥ôiHj> ^Ÿ ªçøúçFUŸ„ý#…C©Lx}⵫!ѳc (Q©ÊQÐgý1J,ªBýa5SÁÊNLJWGaÔ¾H!*~{QœÁÁ.Q¡38¢âJ#…ÔÌn aÇó5´YšÝ#ÃmS%7pR“ D }¸OÈÅ_ú„Z+"qÜ8 kE:5¤ÛøiCT«Öxðé€7R5fɘưJF-{ñZuHeðOÕC“Hºð?2 ¯èr²Ø–ª˜ aT?¤`'°iÓ¦ó.¸ïö&!á÷à`ר$ë ŽIï¾íÖw”wü‰)Î+á'nD_õˆcvÃ>;µÇZ¤àøMà(¬EI¥C¨QFUH‡,Ò-@Ó¾nE„nòt‹?mãqŽÂ´M!ó‡Ú¸õÐL‡DÒ* ŒMÊQcUJ #Ë4Œ%1µà†ÅM.l½[Uÿõ³ìÆÇ.·Kê'1ŸYËÕYÓ—r$R)Ô”©*”#"G¡· !Õ0†÷:Ü´´tÇ^üÝwßãý•—&æççi†j5YèãêënV{ªÃåòò²?~_ZÛÄ ê†LÇ.cvCz£ é@@îÄhÁ¸É55ª¤p‡v¹]’ÔÀj£s rÛç¶Ëí’Ú˜2ÅLˆ€J ¦€‡²ê“ÊŽß>ŽBÉÊ»UªÕÛ‚ÇØ«¬¬¼|ÌU˜Ý¼£üäãfffÚXáFì9±Iœà@3§O³uL‚ô% ]„"UåqÏnà”“º}‡ÄE"@ˆ éCÀm¯Ú.·KÒ' Š„¸ ¸­ÚŽrGaÜ]“!ðOÀmìÝ>îÎϧ})ý  Ém·êçR°é £ÓÉàqP¡nˆ{v£n¤OY"@ˆ D€"@ˆ@Ê`.Ã>áÔ;î¿‘AOQq"SGeŽ—Ÿ$#×ÑmÛ­zÒG2z©)Ÿ);}×m ³¦OA¿©a[À¦†'!MøÚQ t4V>„i‘Â!Q%ªÉ Ÿ4V‰j2$ɧÃpuº‡¿ÞÙóSð•ØÎà˜?Ák¯¿9wÞü 64kÖ¬OŸÞ§þãä{õŒÚåϪS»ö>¡œ²Ù É=Úç8jûU*k L8ÑôUrl¢‡OêvÄy=«4J>J…C›p°„4áHá¨ÕdH†O«D5’ä3Õ_ŸÂ¡Ãîí1g̘5öÆâÉ-Z¬[·nÊ”)×^7öÁÇÞpÓ}>’„‚Ü ×ÀÌ;ˆ¾ðž‚¾jed—6’Gj„4#]ÒH «Ø„¡´R‹D"?‰j"iZ¾ˆªE"‘ŸD5‘4-_DÕ"‘àÏÄ‚ÅÔ.N©6Bøó{ÇãZ¿nÃ?þXTT$’k׮ݨQ£N;í´“N8aüƒ_{ÍU N:wUÿþthwÍÂQ¨éÔ‡ªzú†ý¬Š¨<î»1|õ,»¹ìÎ~Gí½Éhb×@;4M‚y Ù£ÖTǪ2ÍÔLåÔ°„4áë!R·“Û·êg½{œãWƒ}¹È/ ÿ_Löï#Ÿ}!NmõwËÈ'$j¿>{tô#…ªC)DA8·SuŒÖîd´±\x ‚Txð“æ)†þUå§phWã÷Óª¯zóc }7ªš[»·Z4P5#{:*:USȽõU[”ݪjn]¤’*‹çq‡ú®Zü1ñÑlU,Qýx°µ»•ÞBUÄ)}ªa«eDd£ªºŠZÖRöˆMÓ”ž_:~’,‹‚}éÛmEG ¡ê³XÜcUøQ³ðÙ©j"ƒñi }±ŠV»séÙliñfÉŒ/?•eïÎàÀ¹™F_?ýüËì9sçÍ›_PP ¹Æ|Ç;“&õî}à/K–tíÒEk RmÚ§S¿;nhѧWfnîúEß~÷Ø~{å³ ë§­=Hßÿde—²IP)ô";EAvj_4Ãô¯¦æ \p_8²Je§5µR™c ÀŠoMûºã¶Ê8b·¯/p«ùttØö]æO®wŽÎ5¡æ­Žž5+TE*RûƒÝ µGŸ}iV­[è;"~Ôw56ÈÑE*‘Š8U¤D¥ªÅ,ÂÆ»Ÿ—ÝVZÅ„WZÅZˆi¬Æê\Ó×Àj­)«º1 ¸Ý Ìu,ÿ‘¤ ©=_±¼ü‡ê¸|5·Þêá@u$“Pà [pí¢ª U9ˆŸ¨HÑQpªþ#LÁ@KÙ#6MSeµl·Õ: N5j R!Te_Ž-wG?¨TáÄlˆMVÄð‚v•QUåó Ž‰Ï¿tíµ×Ùg7D‡_}õ5'¾x÷]wÄB4Õ#^~jéï|~þ5;ÿÜÖæèû]vMpDcæÕî=€-íãRªy}ô%ç8„‰ýÐBºÒÛ¼= «X³÷ŽßeQ{”¹D=Ì>}ÜQgšÅGL]«n£fçÔ§­^oñU³Á{÷"—…'Àú\)Ô}ö%;M`A n#‘HدWìL‡ÇWû×OCM;äGŠoPZÌPvÞNì­ qbw+%5¶¦Æª}y &1·;y¢Æ‰\ 52_¨2f ££·DQ•ÆT¨ÕU /—„kœjÔíjL‹ÉQÙž¾P“­¼…vŸª·DQU}zÇ£¶&i¬j){Ħiª±Áê¥KÖ«­l·•%ŠªÖ£ÏjlW}ÆU̓*l}‚9}ZÔŽ¤‚5Â.UÁ­F£¿fÍ™}Øa‡yè 2dæÌ9 q4´móËË“JVl¬¬([ùþW9W8iÜ}×Nº°|)Þuk¯ynÒs÷,žz~Éâ~]'› ÷hqì—/*[rú²ÏÛ} ã–n:ÿ¬?ç\Tõ›Ô¬c9z|È©éÛÇ¥l•«½”Ø ²GÄ XªÊ1· À©½£ì'a"3Ò<Ä]õHDøLÁ°GðþÉx8ñÓ”p°Q;­Y°QÃó£à½t©†vm•T!§-R{ÌjØö5‰f.[cr"­â(¤-Ø8rñc’àv'êòª?HÕ¬ýÀ÷ÖñöV¨zSòßê=J…ŸzHÕ{˜yãõƒêU-ezš¦JÒÃJ¨Ùmí&u‰ª 'ye?TÑ{ÂÁbŽ#ÃÈÀ…*¾&8ðÌ”æÍ›{PÀ=G×oðšó°ukúfü£'ÍúðèO& xúæÝþ1Xª xøŽ?ÿ7ã¹Â}×̘5àýœ‘ƒ¸mù‡S_h|@uE…4øØ¸¥o¿÷\Á¾³ÇŽøè=RÞ¨SÇ·ûótFG)©K9»‘ؤì«}TÿlZ×éU+f7Æ„¯ö5_R ‹Cq7€Ò¤6’Ö' 6IëˆÏâVSGˆê„ª4b-k«¤€œHý¯þn#V‰òãÑo:€Mýê¯1É'&àv'µq¬ÊÜÓ¤à¶êç@ ¾PÜF©ðœTýoWƒÓ܆™Tð_€+Í[:PMìFUEZ¾*+MSmò°jv[Õ$¨ÖÈXUÆQÖ¨©J“óì/ddùšàÀaׯ÷š¿ÀUš7󚉃Î×7=õzÃyåÒ úŽ‹iá¤eŸ^ ï}¶¢lçÂ{žiÙ×<CúÇ=;¾ÿõÚé¿ÌœqÑíq»z¥KßíK×jæå[J4I]ªb~!±“©±ŽQyeŠýŠ€øf7´-‘\X±& ý¼§iüxÐtܲ€šc"vzšÃZZM8ØX9l|ã0ÖŽR¦OHãC­­’êj˜HãK*Í­Òl*WmŒÉ¥£6)t+hN4Ût@êy:Ë5ŒZ¨é@5•UK?Žª÷(Ój©¥‰‰ÛˆMª‰«~F‘Xš¦ºŒÜ@IÍÖQ?¨Ê€kcÁ‘*IX<&V€òuǹç¼ï¾{KJœ§ ¿ÿþûÏ=çìÄ¢?æÓçÚÛ7+'7·U£=Ï?±tí:áíÜݯ:73+ç€kÏ_ûÕ|­Óuó¾–­²éÏ/¦÷½óº¼ÖìÕfè[Ky/`%j ¹Q7†bvÇöãóX·€˜¦/ù<Ù)$±&mk¤ mOÕjW"jäT&µ—€¶JÒjX{eÚF®1gLƒMs“­ì‘ D •h”&œv}@ê[§iª´c«¾Ú•ݤž*»¹¨aTÕxН Ž=»vé×¯Ï Ç·}ûv-mÛ¶A>àà~]ºtÖšV|þ•ž7Œ9wÛwg.›ÝaÈ!Ÿ{‰p8cÌMí|ÞŽÅm ˜qåMZ/3¯¾e·cŽ:gë7ÙÙ²éËÑ7džùÛœc?~ýO>—òzR=ztÜ™~8¼[¶bv£i…¾tà*ŽÙ 5uŽC-«: /ˆ`¤yÛbG† O°J8qÄßà”%‰­5×VŸ(ãO6¡ ÃHl!ODi’x&–æM[%ݾŒƒP­oH5ÂÞÕúVcˆÛ`“ Ûú€ÔƒL2š‚ E<õv à1JÅb 6Uô^¿­üŒí HÓd¬Š ¦Øe»}ÉÝ'MÊ‘ÝJ69¢êKcÕ‘¹ëè–ß[4”Éï0šå¨a^=æÊ;ïºw¯½ö¼é¦›:ꨖ-[®]»vÊ”)ãn¿ýÐC¹ò2»I@Éïÿ†?»“Í —¿Ý#üŒO¡ðtȼ³Æß ~{}¯#„pö¥÷ŠBéÊMS޾Hs%M4y©ªãF–Ÿzê)? ª+¤(8z´O[ôÕÔêC~‹lÊY¬³–ó\&¹]“ò¤$4ô"Ë>!¨&áòðnÃ>øÞ³}Û*¹AY”1Iå¿k{šD%©žã#¿!ž2vÓL[•<áV–}&dp¢;•m¬]G… ‚e©ËARRj·‚L„ujMhúä “ HUž(‹Îýwí'e•ª™‚êèÈ©"u0ûñ¬êØWCIj²ì3µ"å½'rõW³®‘²„Y³`“1V5žn³šZLUû@U1ªåÚ;Vå*o_£ÅFU“𨕥Z… £Ý%p À*qÙY©`¥šäf×—MŽÇQ*4ƒ€ B½kßV€­ÏÕÄ1Í4AŠ‚PÕ«rÎB‚ÅPTÇž™vM˜ˆ1ì1ö¤[Ÿ… `ƒPExX–]«‚|°Ñ–y} î3êë ¸ËÌ̼ù¦î¿ïî)S>ìÓ»waaÞQ~à{ Gk´.©=¥ÔÑ£vì&÷£Äëj³r[¦†'ÊâðÆ.O”Ä-Y7¹Ö¯›šºÉ&öm±›­›\ë:jU£*«*R”¥<ªÃXÜq“«þÝtÜäª-Êêw†ÚäÓ\5ñ(ãûXýJš82rñîak“[ðnrÍ¿›š›\5OOmŠQªŽU5ž¸Ë‰] ÝйÉÕ°ÝtÜäªmLe€ÅK#)V|Ñ“7ÿÊn‰¸ÉUÏn:nrÕ6©cUsä¦!9 Õhc*»¥ï&W»é¸Ée«úÑÊÀ(%R›ª ­*ÄQpKßM®uá¦æ&WÍ“7PU>`U55°„”ݸÉÕNÝtÜäª-ÊnjnrÍpßÝ3¦OûyñwxG¹WÏqõMFI$à=JÒ³Õ‡}3§íåxØÆ×zô6Wç8ìÛbo[ïV?ÉÊoí0["•ß~¼Å¡ãBòZªÛ—±È»k?™J¶~”¥ã¶w+bðVH^k¬ékÃUìÐà]È훈˜ü'v5L4oÏþSÆ@UǪ\÷eA¸Ruü;÷ÖôN!=[½3B«JV±®!®…Q{qSHOhÞQ¹å¹¤g_©5n²ªm<œûlòÞ»]x+$¯Õ;;ÿ`…¹iM Þäåîí9àBñ+ZW¼ìÊr ¢ÉÒŠø´›ø—x'îÝŠ^¼’×jOPÎY¨¸T5 S«,xåš­)x5y¹{{fy‰Ó`\rðnu1ŠËÁ!å3¬)[?áa5ÃèG3 Nè:ˆy[5kí;@mò.«³¶ÞšñµI0ˆ-¢ h_¾ÒJýÆ0NÔwFÀ¤‚˜±•XXHR„$µš²MIŒÒ¤nj N~6yN‚¤VS¶‰¥¡î$d# R bÄ6±T¥7·ÆÁ$Ð\Òˆ© Ðag,yÕ€y1b«bÔvV½g7TCYÆ×–°JÈ(nƒdĽ4—XUØ„àMYvìþ—Ä38ÊËËú4 >ü%j0÷£>ï*¦ RÐuMÙFÍZ¬Z YÁ¢öB:0Œé CC*fpÅ{TPq(aÄ6àr‰#S lü˜Ô “€]ûÉÎ¿Ž¤-¿ŒýÛÚ5ƒ¤VS¶ö,Ⓢu?!íÔœ ýÚ³H+IÔjÊÖ?@¹^ûÜ® IDAT7 ® zbÄ6¦Ä£‚Å@¼brë­$» ¶ ̵}*ï4cjº ¼½Õ –€]‹¼4°öÙ ?|´Ù Œ[oh~Zƒdı4÷“]TäMÉ¥&;kv£*#©gp<òà=QQÖ…ãŽ?1mséիׂ Ò6¼€a#˜šGµ`Ô/ 5G?_ª~’ʵ…­ÿôX /¾3pôèßIÜšu§@á¶šKÎIÝÔaªö‘–¤¢ß:V¢³SM™¤n $£ò„BRWüZ:Jµ=uìù«š$¯œþcU#i?ŽÛ‰ÀéT‹ Vò‰JXj&–¤Öom«…kUÎn¤fá%l5ËÏOÉÌ0*“x‰ÊÕ×Ý+ÜZªsUþø}i“8>øàƒáÇc á=¦c=DuÄVõƒ –Üx©r”åz¨É[UÂs:3Œú…¡‘±³MÙA¸ˆ$Û€, ¹F2jUŒU¼¶=ç,ª­… <ÑK&Alý$(6öMÜ$oÏ[NDX{7¡xí<¡œ¤"¤ºÖ‘§ÿ„7©[€tþª ž8F)ö¿ÅXM*v)®T½÷ìßûŽ‹T“·QE*ØTR];¦lz“´ëûŠR3U¤ˆ-•Tѵ†‡$V°vWb y2HjÝ+{ךÄOUÃëh⸂ËoÿÔÌnÙpL*Rª4ª’8ÁÎfNŸÙ%Õ’NgÉ+ÄìºÄÆN–QUÏRRmU¹ZN†­ê_+«_êz+ÖÀN¨Ë~Ušø¶U7p¢šKŸZÁÍËêpU÷ldÙ§75m ’jrŽCRM~RsÓq“ËNQpÓq“«¶>ËÉF*Ãpd[»Àj)Øg7Sæ«äQ*Ww%Uy²uo¬ÁÄÖŽláPʽ»©¹ÉUon:nrau BM]ñEYت_ýBâ¦)Zƒ¼Ë,RjUdQŠ—œŒƒ•GvQ}F*„²r²6kÛ%*óç/xíõ7çΛ¿aÆfÍšõéÓûÔœ|`¯ž‘®j×=´‹ƒ´6‹î½rcš‡±"Fü0ÜÝðƒïí{fñg±Új«¥GT oB×Xd"Ø#ß{ßÒÒµm»\!ts5òÔVS_Ù÷ƒ‰û•ÐlÚ4ûÁÛ:~ñÆ~¯>±×>û˜×Ý SMS‰wQ¶µâÝçaXBr±¯iª[Çé•XwnT‡q”弆j+÷ „Ð1 1êô¤ê6e±‘’‹R‹P‹_öë¦MÆW°³µ¦EŽŽjö ¬H\ YÈ¿W¹ÄíKD RUHC¤Ž`!ØR7¤ÞcU •¡ª´SPö9Je$2N·d¥fB ~z±ã]§!X¦­\jð)f+ø¨‹I Æ*$i»úË,T¼é³Eu„)cNOª*I„*ÇFŠG©Û@Æ#0jÑB˜>TµØ´Èå0@!ØjáiÁ§UàÒbÓ"Ožbùj±i‘§U°/$jé0VµDä*ÛäÅcbq¡ ¿Û¨èÖóÏLiÞÜ|ÒÁÂ… ¥®,·hÑbýv?¯k.j÷íÏ%‡öýÁ'|+ô¯¾°íÜo·~Æ ¾ß~õ…í¤“¬ìЈQ‹ÇOX=îò™YÆñ-¾ïÙUWŽ ß±²¬¬ê¨‘?NŸ¿õÊóM¡›«Ìlã¸Q‹˜°ú²‘m„ÿ1µ:sóÐ3¾ð…Õ7\îTÓAâ]F+ÃKÿ‚œY;ɈY²Ò¿ìQÆ ›Ô‚Û¤ª“¨²ãê¤nБc."€ÔÏqÈ”@‹M‹ÜN©fÙÚÃÓâ—kiJyò Ž=jáÙãG<5‹TA¨Z´²IÔt[õèѪÊ6ªñ¸añHÐÍ$ Ü±G ¦cä©D*ú ²mtL3 :os·Ó­ý K[ÜZÀ2k·¥B ~ztŒ6}ƪcx*(?9ªúÁËn=j¡j£ý¦’ª}”ŠÄµ¨´˜%œ ›é$¦‚JU‹J‹ÙÑm³Õ‚ÔR1«9:f‘p¡Ö£•³Ú{óÁhjñ -G5‹$•Ýz´‡§Å/âI¶öÀìÁ'v#€ Tð•»H%äë <výzsþW¦Èe)ËëÖ­kÞÌï³{ì]øßwÖ–—‹I˜³î{¾>i]yYÕ«ï­;`¯Béÿå××í,­š9kKvVå%¬Üªy¶TøöÞܲªº¾·ŠBCP:ôI4”h"Ï?ô]ä½QD)A…Hh£?üúƒPÀ0 ¡IbB£‚T½qï¬5™«Ùk¯µvsncy˜{®ÙŒ9V³÷^wŸs.¾ìxÁ÷µk¼"¡à~Ý ?zѦ«ÝwÚæyÇýñK¿uÑ6zô/ý·®~‘%‘¶dº‰BS¥°(w°" w7BÁ BŽUôf:™èV$§ð*©3‚È"ePÌ:lG­SDdÍ­ ÒT1b¥Ì ¥šyƒYšÆC©—X(…Û±Qjz\óÜçU‚Î+²ÎnzÜ`¥n-F3ª±:)ÜšN7°GE©înƒsTÄi@R?*V H=ƶhl Ó œUƒÇ eï‹0*n T]È଺mÐŽOdpŽUéÒ A>ª±êÂÓ%t9\ñ!•´¨ìºó.W_}5`áõ™Ï|æ7~ã7ð½x‡,Ê«®ºj·Ýv¹ñ}íÆF“)6/`²›àã4käYù˜&_ÓîqŸÙ÷·Ë£»¿qõ³$å‰LÞÁõÕǽ^P)¦þék\‹Ò¼ -úÚ½¢BÓ ð4S›ôÝ;• ÒYB‘ÁcÐzŒ„[ª©EÀW™^Nt.ÍäbGí‰_±É W˜A®SK© qá™§T3f°é&‘‡¥ÔB;*J]½ša‰¤ÉâÖt½?†±jzÙ $þ1ŒU‚̪)d"êX%o)ôªéhƒ“ø0n `S`Â*ò$çhù`­©e@VÉ› É`¦åxÆ* ¹ M!‡ëš‚ä'8~û[O;ícO>ù$€nµÕV×\sÍOBÙ ÕµôY¥ÿà® ¶²?ÈXÕÝ:ÑÄŽŠUö¾¡w[}X<³Þó6Úp£ç?/égbAåï;ü#§|ìU¯ÚúØcÛk¯½^ð‚<ôÐCW^yåÉ'´Ç¿ù¾ÃßÃnhú×§=ò.möÃûúGx–­úK=CòyçÿÿòB=ö£ŸýŸÞ«}!{}úüñÏXNÖ!ÖtýÉÜéqÌ(Ä;Óx÷(#ñ#M`2\0¾rNêWÆèøp”Ç Ô1LÁ’á9´:ècàVã¡ ð¦6Al)¼b%µÁ¢w„”ºdÎÕ²ìÒÁ)õ ¥áv„”jê€ö‚?yÖwfƒ^(§£T³dd^£}Êá ÄØä®Âª»í¡(%€½À¦Íú—½cÕ)SÞ`ŠÕ”:NVI ¡—z}²š·»1fnCÄöÉ*r¥ Qvú˜ù$H¯Ð3«Ä`è…ýÎV-Œœ[í–S—اfžºÿÞû×›y0é зxñâãŽýÐé§}ôÊ+¯Øq‡~þç7À;ä3Î8z´jЧò0ãž7Òm¡ºCCÖD3¹Ú¦³=KCɦêBØ: ²žCËYaÒ>ÝQB¤ŠÞˆ•’'Þ“ìÓž)õ e Tb¹Ð3¥“>JÓ{³gblap™\ýSÊî·“H¯!Ó” ÕõϪa@’óñ äý°š·»1¹ÄöÃ*²,˜!šÒ×½±J0†^è#S‰^'Ô#vî‹:Ÿ^ù“gVþ4uƒCÈÚ~»mÏ8í£×]{õ·ï·Ûö׆âQ?m1†ÉÊ‹Ä1äúŽ:±w¦áÁ}ŸoR„Âzè¡¡¦ýû¼&ÅÌk³ñÏŽõêÓ•†ÃtLj%9 Ï­–³Éå¶b½]Bo « ר=SjÆ-ØŽ€ŠR *Yz£ÔaRFu ŸˆÐÑ(l)ï½ 0 ‰ÛÈÀè“Rv±ázáhǪ •uQè“UCf#¼bKV“²¨FðwÍjùîÆ˜¹ Û5«ˆßvˆr™O‚ô =°Ê¼†^èC}MÊmUbgñe©QÑÜeÈ;üß2¼¦.]0€1ÄÛiÄY¬PR3Óôg^Ä¥1ˆžu”Ï=÷ÜPF£×'`‘¯8ôÐDw}ö…,,‰¾¥R¡.@74º/$¬á9e9Cò©åô+r;`&=5ìùê”XfIJX-¡y7^ƒR ];Sdl˜³Æoõ¤Ô;t‡¢t(&WËX2j”š>õ2)\Â'"ŽÒ9VçqÛ_ïd–ñÞ±@5Ü’Oy´cUw´áMzèNÄX`· ]#ä…4PKVPQk vʪéP=&MϺ‡%ƒv Üv:V3ˆt>e„tÊ*¡¡úøÐ]ÜjbÉCKa¶6VÍ̽·{‚£eš©ùHÀ’aD|¸Íæ‹J-ÈLæÿéV7 nYÏ=ÝÒkÈ!³^»ës°Ö§øj{#ëªãìG{†2+Z|9cØP!!=E™…ôÚ=dÒkßL6``ˆ ¹Poìu(Ú$ ¡Bz6dÒ×òÕq´¬y0i3¯lìu(mŸ2tCå‡ô:~È&¤×¾Cf!½qw5†"רhŒ½Ë&%`|Ho`„ÌBzí² -¶Ú7.k6 QqG´{J|'šÛç´h E¾Æ^‡2¾†[´êóW|Ho‚‡ÌBzí² U [Ç1²¦Â°d,ÝCc¯C‰±!3)T]H¯Á„lBzí 9dÒw°äµ×Jc/¡Ò™Ô¡DÒë!›^ûB™…ôÆÝVgñ3ˆ éu!›^ûB™…ôÆÝ{Ø«Ldè…>² 5THHÏD…¾åî‰ÈšX·5M3»rfföî·‰õu×|óàCãaZˆ Õ¥Ë¿vÄQÇ]íÕA‹Ô°ãλß÷ÏöKR3ê{ÅV¯¾ç®ÛÅQºcæõg>ðéƒêMê«ïR¾&SÏïÜÀù€Á³ŒÅF߯9ÿ;j‰{+_/c)´g3©ÙÓÙA©·Ë\ª[X×=#µÔxúFÌøH®B¬[µ¦ÚËsFiÌÒ³ï(Õ|‚‡QQ Á§k·Ê>™¾ÇN/8Ý×{ǼIäÚÐÀmJw/ñ%€AØH±—=.©b_Θ¨°À÷_âoʉmLá””6”¯[EHSÒ”¡; -%©C}-JS˜”Ô…E•¸—øÞk‹DSn…튔²û ·ÐëóWá€)q/ñeu)BEV ™šIƒ¤¤º_À(t7…„ YMgÒPR`‰oܲ „Ä–pRâÛŸ2xÊY•8.½ÐD´–ðSâ[˜î½ðù|Ï袙Å~ÇÓO?ÕúiØê `rJÌÆÍ]ZæaàÞ„'žxb«8%î%¾‰ ³ÉÉ8a¸ ,q/ñu q5Ùĺ¡ÚjJJÊ7¥ÆZ”f Ýi)IÝÈj!¥L ¤Â¢JÜK|ù¤A!±ˆ3å–dŠPN)¶â¶pÀ”¸—ø²Ø¸PÎj+25˜’êJ|¡Ð]Wá•óXÍfÒÅPR`‰o§Üæ± HåÄ–pRâÛ)Ÿ2l²Yw—^hâ»t¡„Ÿ_d/t7…âó)x|£Ã ޳>~j!Ä rßoÙ'mª™ŸåkY$×´I˜’< “ÎÀƒÇ¿íE'~¾Õ™xÒK®‹ºÔåSG›r«Ù¨+O¹­Èç”ÌZdN™¬Å¤‰3%ÖR÷ÐЋàÓkª<†çŸàèrƒßÁ‘‡lâ¼ð¬J•ïàyáy3M?žôJKÜK|ÓZš­É…–¸—ø2Öµ{IiCùvÍI(þyç7süÛ¤{8<äC\ãi)IíÒ‘¦í"PXT‰{‰oGìÅÃN¹óSÒj¸õ†*0%î%¾ÞZ:U2¯Jª+ñ …îÒˆàm™tñ”Xâ;rn³‰-á¤Äwä|šgèEkã"PXàå›òZÙíwpàKF×…kØœþ×ÀþöP~ e»í¶ó˜úT^wŸ¡GWâë ×ʬh)Ë™Fá-pÊ­¦(C.aÕ뛈¡Ä71E]³¹Ý çåUzKK¨^_'mPQèŒ[¯!cð•È'€{Ý *ñMLQÑlÊmE2M(Ã-Z½ç/ŽÕ8™^&K ±^_?rXè‰\Þd†e “nRo‰ƒÖëë¦i ÝCaËõ%Äz‹ZÇù4=bèEkâÐrk˜Äp@ƒo7ÓÃ)3€uí–[nI\Ý:Æ2dx³¢%.gqÄSnãüäµNYmämŸ}ö¡wƒ­"L)j-S>ÍÃá”[—“ZÃ-¦Ÿ¿¦cÕô‚!3IgJl-& ±8\ǹ­Nì:Χ`†^´f/Ó±Šç7fgfWͬ„Ðáwp˜.œNòÞqG„5NߥðÃg@RŒM‰¯ U~hV´’åŒ`¦Ü’ŠŠ‚ŒRrÛ*rÉ+ñm²ÜXf1Þ/¿üò”h$3c(¤¥Ð=¥ºt›Z‹@ Ÿ@[ÂI‰o:Q–Sn3HKt1ÜÂ+ýü5«†dCf:“&N ±…³¸ÐÝ’}X‹I¹ESÛbÛÚ›ì…î&Í ÈWï%ŒEOb¹÷Ü™-eˆÒØ|mSDò¹Ž_E¤—Œe/ˆ@n)3l£P8Ø Ý < °»WÜf”‰‡«°Å1ÿšeˆë®ùæÁ‡ÆCo ›o¾åË]üíïÜüè£nºé¦;î¸ÃA¿sàöÛmë_ºükø|>Ešv;õV×f¢5×ýZâÇOïVùüäï=wÝ.a¥;f^æŸ>ˆ‰ÒéZ\ôÌÉ›3å ?ë…[ ¹ZpÍ¡~ΊõR ;5Fˆ¸·òõÖÛ–vƒÍ=ÔYÐ&iÊ- IDATš×5 ËGέ–ÚÓ]œeÖtxùVC”L­!gêbo=ݼƒPÊÇ4Ìtœñoâ±ê–ƪ3h¡/„¶îzÊ¿eù~ˆà$:E[YÀ¼ø,*ƒOd¤{y­îЕ‚FÍíWÎÙ,”½D¯3"NFß‘œ‘s+,¡ÞÞVTÃm"½“Å'Š’2»fÕÙó@e§È(rß#+ŒóÜ;"¶œI·|¨-Gø¡¯V4ß“î&~H¯ÍB6FoÈÔeÒEA\xH¡N_,‚[׆Æq…Œ–Û8~ÓJ(ˆ)hG(y(ÜòÌ}«¡»Àøô²G®H¦ÔÓËÌ aR³m\"‡%ÄÒ×ÄéÍBî¦j-thÈ$KÔ{Ç$Í$,CY¼zÂE@̨÷zÅmR|!dÒG”4éåTÇ‘[ж7¢O>!DŠÕé«•‰¾³PX“Å=díä%6)h=#¬¶^c¦õ"›¡Kƒ¸°÷åßr+‡)†lBzƒ$dÒ÷ç¾gtåÌʤïàøþwÞxÓ·¿ó›7Ø`eà 7¼äÒKwØaû;W¬xåÒ¥¦µŸCljÌîýq“Ë«46ÓC0àKPbFš\Gq‰SŠá.g¸½ñØÛåßkuy„È%³¥Ä7^”Ë’«‘¢Ç3i朑B]ƒ3rn3.n\&…«^³äÚèÖDÃFîäw]vò¿ÏÌ´z¢¾dÈ•ø†Js i$S»ˆ±×»n:>Üá6AƒÒ²j!-)T3#e¶"+€<›Úv t)åe Õ}Î=×5ˆkR8 Ehô5d¶*Öe0¼JÑã„…tziE:m/ªÅ«3·lH¦^ šê½J´’(m`¸…¨^ûÅ 0`í¸ÐüHÝB]HOC’Ì ×˘Ee&‚[!–és­qGò¢)Ý=e º¹¼´x•ðå˜4ú2Ö 7QH3܆ÀgëÙY³ôÁÆtZHtgíÚ·\62‹>g…n»³ó„un›.ÁÉ !Iwgá¡P…ú¹½¹×Ü—Œ&=Áqþç.8òÈ£ÜÝ ýG|àüó¿ ‡#yw·åî†kc2ž9b¹»!ŽØãÀކ~5D-ã\"౨D.°¯8 F8ñ ™‹ Q­•NZCqŒ~„Ü¡!™úrA/¡’CWþ!¸¦·m®1ó)µôêä&5ÛmùûOpF”š˜“!2͉LÃŽË¡¢â^Õ[#0 uS“ØZaQˆ^«k…mÇËg“ ïCHÉâ11ã‡#_]#…ÇëjÛŠ­ ìÌ} GŠ'~3e³Íbßv¾ùæ›?òè#)¡ÒmÎ{×ë¾ùO÷­À9ߺõù®àöŠ<©÷È#K/ú…·œ÷îs¿õñwüº¸à]¯»ðšÛŸsÀ9ïýô·>ûÞÿ™Žjj©ȸv”Küa8YD\ð…Ó/´œ‰¾‡’ÇÉ­a5ï|)ê±'²«‡F›™C6$Íd »Ç!%¸Ã• Û .iÁ«¥`0»ðjõ™É"…ô0"´H9šÒЈ‘&/ihòê;ºþÛÄ7dš¹ÖH©1&¥Ët“Ñóö[Ûˆìúº6!ÍØ¸%NC2õqÁFc£ÇÔгƒf {s´|J%¬j–DV©7CT˜4ƒÓÒ7.HgmQÌ.¥yCÈ Q"‹*y›¹ž?†‡Ü'$Œ™[`vé Ò»Œ™j5Õ¦)åp´|–3™R>³˜Ù*ã3%BÄfÌ«+ üy‹@¤v§ ÏqÌíq4¿ð‹°<Û¿xøá‡7Û4¶Ҝñøõ_ÙâØ¯Ý2óÔÏŽ¹ä–Ý˲8öËß™ùÉÓ_¹~ÅË6[ý$Èÿ|íË>wØÿZué{¯<~ÙÒÿ¢“|]TDNæbØázgô“uØûô›£gaPéèžYmŧYa ÔHQ£jê ¶ËmÆîƨ¨#á4Ë_®<²#Lc×d¶¥Â·m#ŒÐÞÜB™ ’RphX­»xƒ/T&9 MÕÐ×e•‰Ò……ĹKoÆcHˆ-ªìSÈ{ÄlRšLí£Tö‰4!FƒÌÂÝ m®Ìᤰ׈“…‹e½)\ìp$mpìºó.W_}µëOÍUW]µÛn;ó°;aÕäùÇOÖOúzÔÕHžúÙœ°rÕì¼+D¿õï¼óþå_þå©§žÂ;äW¿êUпïð÷äáˆxÝûÀv<ìÂ%û~b§Ã/ü—ÿS,/¾nÅæo>÷ü³éÛÜÎ8ú³×o°ÿÙrH¥+ •?ùÏ/;ù²Ÿ[öÉ—¿ý/¿|Íׄ©Â—̨¹À̽¢Œ”Ã% –3ÓD/£OQyùÔU “.¤Ð(Õô"Žêwé ¾ë&Ê^G*[v ÉÕèèrkÖ¶Ü6f `gC^³IOpÀvñâÅÇû¡½öú틾òÕŽ?¿™‚oÝq§Î8ãÔí¶ýµ5á¦ÿ˜w@cjq58wjĘrb€wÈl’æ/EÒêf¤W\ 0“+î•ÝêâôN?Ä×–BB«­qDÐÔ°N9!ѾD[]&Jpµ¶”j2)Sˆ°”bq7M8Ãa Ê¡†+ñÃzRK¥)£TsB™Sˆ€€æ¼^wwc<£drq«H¦™ !ž í%‡H!Ë×€£Ô,n%Ë©aLjn™Q®&›^„[]/JÈ›þºö3L„é {r«}«ÈNâg±Ð¸”B)‹ª,ƒ²úq  j)‹ ƒÃX˜¤ 4æi2–‘ÃÁY5UªnÖž­`  7ôJ¥Ú€ö:‘¥Æž.-û}pnUs ¦ÏPBb]r² )tìO*äM]F‘¥hå@Å"Àë’ ƒt>Í(Õ©«Ë=÷¸æMj1$çq{÷ŠÛ ˜Iþ™XæØ~»mÏ8í£×]{õ·ï§»$gX#Œƒ ƒ[^²âÿD# µ± 3j ڌʶƒDµéµg|ft§Ÿ8jK{c¢•ôòZ¢ì kGF/«Ú€¨¼œ •ôòZ¢äÝ~רŸl°^a˜§êyÂÖNXšQÐ ËÖˆÀó:mxv§¦\ qZaËÈËø ÄŒÒÈÌœíÂ1Ã’³CÅŸ{s G=½aµ½¼–*ûçV2ö6bM"Ó›Õ™ŠO)D[}ÐÁ‘®k&u×p>v=ŸýhªfáÚ’Æ3e´Ò€^l\[Ô®é$î¸ÚøgÇzY"«ÞÖl塇ší ÇøÒ8Á™ÑÀ“oóc°“Ë*“´ÓCö8ëê(ã3£¨HšÍm`ùö |`r¤>Á‘—‰^×=÷ÇÏé«#ÜJ$CPìñ.‡—âÅCz¤šÅ”f¡\)z1`R¼ZÙ¸ä袊u¹–‰zÀ߈!dÐ6͘—UmÂiô=À6Ó{ÀaLæ©`‘·…ÝÏo‹-±dm¦)5£´25’~ä>)Õ׋\H¥LM{bá= OD2ëaœ·îF¬™¦7C„ê‡âSÛ¥BN?LêŽÀ¬”¢0–À°nª%»£TSª w-1ô0*1„ á–`¤[eÕÕã  ¯1‡l;œ{î¹ktsÿV« ½¯AÙ¤Ó©#r§}-c’\Ÿ­4$0¹ÀF©T×)·’¢‘·Bnu7%Ê«ðý«_‹’~&võô¿cd q„¹ 1îEI_צ7S¢1 ³˜ºôIBšB–}nóœaж=d-šŠ¶A¼ö: ²˜‹Ã*a˜PSJ5!†RÝÙ0Ü¥­v7ª TÖ¢0åçꀑQJ&KŸã©«)%°"Í€©.ïPÔ׋fÊ38‘P#”[C5·äÍL|ñb« ’ͪÉêM®Öpe-º|([Ö™ÑL±_èŒÙ”ê ‰r-J‘ŽåhaÄÍt@fq)5Cˆ–&8èu}5~c_rX‹^Ö¢©(F_Y¤,ñFMo¨®žéò„Pؾ1 +Õå7z5c$MŸ­´¯f’H´ä ]€œÕå‘u@f1¼éÃMGÜ®œûžÑ¾žàÐuNå.ž+öyÍÞ—ÏÍ{ PW_¢ÁW¸‰‹ì@ª¥6V—Mì]cÕÛÖ¸>CPΣ”\éŽîˆ[sÂÆ”RöB£®dXÎÖÝÒÄÝ NÔE¹d 2JÇ0>5Z.!S[§”š‹ENyI÷)·¤"Qð®œø¤£éo²¸½©Kà|‡’rápít¬šÕÒ¡Ê©_.ÁñWqS¦ÀFÇ™š®™4V¤¡zcÕPŠÔB¡u@ßÕàõŠùG&ˆÞÞ¸•ñ£ÆÚKzõ€Ëã?þÄOYZ5«å#VUħ#ŒF¡:Ÿ`LomhÆ\0¡QŠb'úâ_*­Î-ÂzÏV.±´Ӛ­qI?ă‹ç68ž™>Á‘NÚ-#3g€ž;ìó³0A/cŽ#5»UÈ&3¤Åqõ}RÊ‹ž° žP9!½qçaÆî}!´M§}!wJ)9”¤¥cŸÒ É”2;¢4qwC0è÷PQ!½öÍCaCúV):âa à ڮ§¿äåNZQÒk߸ÜŸ0¥ñÂCÔ…ôñh¦µV ¥?BcXcC4†ô†ÀÈaÜJv—a¢ÒU`¯¯í¶ÛN¯ •y‚›qj¥«Ë'WK³ä¾°G©Ô[—[2†°.ŸZÃ^ÐJÈz é¦^Û4ʳsóo>ÁñôÓO5B™”0Àqf‚„F ôz7×xåÖÍ%Fêbu³HÓ^½tÕÆÅ”†u¼»­ñV¹4ætyn§”†:(>\ñ ܇r|ÍÅ 4Qjv7B_)Úõ@íb”yýÝ™¡N7ú®É”tu)iªëh š,¡ÃIäV×âò,?ô3 «=PZw¬j>!¯›”¢ðîXu)5œ3;õ­FãD‰—öŒZ劇 µvÇm(£W«Sè±»qË-·È»¹^õze+%v¯•®"Ÿ²¯O÷°‘Ík5rà;òQ*ÅVäÖÐeÈ4‡Æ¸·&TÚá¬|Ï袙Å~ÉèY?5 ÍB°ÚoÙ‡*£dôÀw„3S*0¡”B"ÆD/c¦'!Ws¸Í›*F}æÛ>Ëì3WEJ±¯Áq(ò‹xìj•™±»Ñ館HiÊ%¸P[‹L_Gyt=§«Bi:™¦àž‹í9]n5c‰<÷YfŸ¹ªó n×qJÁ@uV)Õ»ÏQÔg®êÜjÒÚÊÜãˆ8F.ªù‹ét—êx؃PÈ'Ÿ1LÜÝ0õ9rúÌ%er[8z¨_2ºrf媹©¬ìpƒãˆ£Ž3ãf¡âY•ûþù®1TçŽÙͶ‰»-7ó°‘Þ‰ŠÏ92 É yå陋îå–[–9¥” AïnPÿàño{щŸÇ!NÕî•Í*Rzvƒ¹ 0•] ÔòQšq ®«ëa|êt’)ÁK(Í#“E‰À‘3å6tÂÊà¹OV™‹=ÛÅÜGð’±Jl"L)%!µXÍ ” põ°0ŒÄ*yÚ_/¼Ú—É$\dcŸ}ö¡{¹`Ò•lŒÐv¬r_C"çínhT9ä¶£‘ƒ¤ÌEÝåBжÜêG„%ëí€[|>Eâèò ýµW—P0õÍf@F yïn¶p¤mÅ\ÕçA¦ Æ)ûâ0‹l3£÷ac¶ö& Ë­œñ’S(e„a‹ª•—&—_~¹…=ù¸ k ¤®!3è#”n±ÜúÕ*ÊÆM;ÎÎ^x ^…L–ÈÍ©ìrª\ÈÀPH¦Á<åÖÂÃlžA)‚”Ÿ¤8PRÆPa-U„rÙ”•j(EØò¢ ¹-PB©F^…^4 V§fÈeÇÝ;ö8pâf|<>,›ø{.¹9÷¹DþÇ R îÐо€I—ÁLž‹ ¢K€M¨Š{HO2e¬†ÌD¹¬‚¥‰EÅÓ•· £·mŠÅϧ¬šŽã™Ÿàhhj;0ñ™)à8?‡Õ™’ÚuQz¯Z¯k<…TÄ sU ;l¨8¥ÀFV§”º=%xÑ{°iE©0<éÀq™I×Ä/w¦d¦3 Ë8™&Ô”[CHúa„ç8«\N‘kº¢j³)E² Jå°âŠ:¹çý¥šùøˆÒ«¹ª%w1÷kaë4Nâ˜t1ÄG)W8vÁíä..“®&þÌQwÜÎÇÜC+gMEÅí—ÉÐÄg&jà’™Y·ª…43ekCø–øÍØ×ì‘Ò™ˆæ}ažÿÄÀÍ ;YM(€C”¢‰¬–PêåÁu÷M oü|Jè:R”ÜȪ¡n×e·òŸi’¼“ÅjãåN§d’@ÎwTÊ€œ !ÚH¦™bSn !‰‡qžã¬r9E®Æ¹ŽF¼Ušü WÍv ¥ˆÓŠÕtJa‰à ’RM¾”™r ¯ÆAkèÅa|ÐN(½šÀV2ÖÀ GjZÅI4vƒ»šÄPåfñi¥­V$J¥‚jaRÌP”ZÚr+Œ%¿Ïâ lr´{‚ãæ›oùòEû;7?ú裛nºéŽ;îpÐï¸ývÛ6fÝí×_×h3Yƒús C/™¢`³Eö°Ö˜'Ö¸ê…Hfc ×ýЗÉe¼Ø¡LÅFXÕÓrúdB‘=|2%´Ç‘ˆ§ñb11΄šé% %èU+£¢)™š´B2u(Èë8·šòA;=Ii>!—SÊ€Ó*TT¤”ÜB˜Ò«Ùh%ó:^¡-ÞE·Šì5î9ƒQv4&™eº®’ŠêBGÜâ*xá9ŽÅéOp<óÌ3'œøá£?xìÞoØÛO<ñ$Þ÷Þ{Ÿ#:椓OAkõâ§Ëèh•› rÚÐL†N$åE¹‘]My–ºÌ &%x×”jH.®&sŸ6ØãWzÒ®)5H\]qéçPw=2æÝOɔΪB¦é÷)·†–óÜ'«îLw5n=k¦”V'¼œR i:b5­düQSÛÇ÷/L«ø†þœ©Ã†dИÅ[qùaÝ1éâY`£tîïáÏ~IÉÏÖÍ‘ ÝD%½Œ¦Õa—Ü®Â'Sfg°Ñ±röî· ¬ë®ùæÁ‡ÆCƒõc§ñƒûîÿê%—l¸á†ºéñÇ?`ÿý_¶åKüÀûµþÒå_ï¨ð1‡>ŸàXµjÕ,¾BuîkFV X-™¥!àŽ;ï^åWT^±Õ«ï¹ëvA(Ý1óú3øôAĬÍ?v Q¯Vüä\Ìw꫽ ¹A˜‚^AÌÝBF®x@²žfÒÄJ#M ÚS)‚[”—] ‰ ‡šFh¼Aèè&e„¶¹´/åx 13Ô‘¢^l¢13B¤Z Œ IDATúÇ>t"ãÒ¶Ì8¥e’pÅ>¯¡Ò+˜î£#ŒõP7“Î E~Ø$U·Ò#ËžÛ8_ï9‘ß0êe£ ¥5Ji ¨-«äD !ªµM†¬ÃÂ]w¢­;2™Kãñ‚iÛwŒ¬…Æ,4N2z%¬|ŒÌDfL¯0,·‚¼çj¸%]!½ð†VyŽ—4‚púRIc¦µíòvMâj›Ëà—ÃÄ\ºdÆ‘Ú ¥h5œhVãØËFÛ2½AËl›‹Tx…”¤†=RÒK"´r ’Rib’—™¶%{ƒ WJ±ms¹%P“’Îp_c”š.4É¡±Goj!_3o¥æ –’ÈuO©Žx $¦Ó.ZNOb&¤—,hÕ5ÒX+‰GZM“·@º@0ÜzƒÀ,¥Ò¶¹4 -Çs‘í‘Aˆ×Eˆ Õ+‰Ä;\Óëýñ?ÂMñ™§¼ÓλF ê&ÜŒoºdãf6\2³Þ’™ÅIßÁñý;î¼ñ¦o_ré¥fwq¡þ†ÿáÎ+tšþelgôŸtlõ¬Ãކ~ª¶¡2CÐqt"ÈŒ¦m¨L¼S Jy¹ ×Js¨›"²ñŠƒ7­âkVÉH.Ód¢µj5Æ‘CS ,EÒÓ@bºføT¶6ðÄØëÒªLI׊R.¬È¾÷åßÓHŒGbŒ#‡.'0†²•^ö®úî27w7Ød"Ç 1­âÛŠRæ¡VMÒ”CÝõ°÷n(¸qÖ2M¥B”®žJ}'ãš¹dq1CÑ›Vñͨ}TS)JMH/µ»­šp×áf"˜VñÍ`Õ-žË´fšJW)zÆ×šÏy×g]$x] 4¤ÑLÓ*é&šRÔ¥I“2µFËšRÃLèP»ÃÆh¼L«øN½¦L©Ë«Dôl¢`¨ð ® xs_&‚xe“©£I.¬±øÇ¼Ú Šì–‰°P†ô’Ô´êC-„¦ E}hZÅ7›XM'‚o5Æ‘Cƒ /1†LAëIˆVŠ%›"ét“±WoÕa#2¾€­øÒÇùŸ»àÈ#Ú`ƒ ¼¡?∜þ¼­½)å©ÞÒ'QÉè_ñ¶EÅÇb¼5žKO*-ÃKj™ !ÔGÄñ¶†Jé½A•¡˜!}bXmÆ2 o!=™¤ŽÆïÅô*½.° •Òëàq™÷6b†[ÜPÌžñM(ê]eB—Ø@¦ õF‰&|»'Ãbÿ°©Á› 0¦VB•Ò÷¶‡¡[Ç.Òaš— 5Jö®¿å BÕ N¦`îLÖ A^ d ”¡áŒV†È4úKh„„ô&lÛá¸%Nò²´b|ÒLnô<4¨±ÒÓ1CèR`c½sÜùF©ÖÃ^¦<‹"Ÿôe…PSˆºž3„PÌ>#]X¯¡.¤‡£;P¡w„Y(0,5"„J é{«ÃP̾UpmÌb5-ZIcC©ØófqÁ‰£µ­}cÀ 4{Â$åÃDðfn™¬ZÛ䡦Ð éMØV‡¡˜!}«àyÆB8É¡@JS²§Œq¨®Þ¸Ç¹»³¤/½á¦Ï:ûìHÐ=÷ÜóCü`Ä nÓA„Ç^þò—ƒôøÃŸùÌg?ô|êW\qÖYg]xá…ua  å{GF‰÷) *£ÇTÝ[®P±—cã=”øp‡  RH“¤ÆQI”‘‹·jpIü+tbð 3VÄ0P@´=·Yß‹‰¯cl|àþrŸ”jÞšÔ¥tßÚ2ú’8Jõî†$ÇGÏ"(ú¤4÷9d8bVØD–t¯’73Ú²QL=\妱> ®H4™\R|µÍ€Ü(݇cÜ1¬9 «ÜãɈº\JõÐ޼ĎR9Ié5a$ÜVêÐù9ê5Éc¦·OnIŽ&D+…4­Ñ–23"4ò/ј+ѾÃx ôLa™^cÕB©ËgÊÕ£$mLa ¹‡zÐE¹–…šK!½I'•&÷„[“:ýpþ—ba¾(iƒ¿™²Ùf±ËîÍ7ßü‘GIO_hùñ¸¡ºá†^üâã›&dƒÃó%/yÉe—]vÌ1Ç\yå•^ƒIW–ŒžŠ3³ÏóG¤ËÒgƒ¹YM¤Õj•‘”Ù‡B˜½z¯R#—_ýÐ{º2"tJ©~Hg:Ô€ñš^›¸2ÄRH/ÑnXþZÜæˆïnh]Sªs %Ëâ†ì˜2÷-œxOúˆ ‚x䑨þÅÃ?¼Ù¦±8 ¶­Ÿýìg?þñò“ŸÜzë­ßñŽwDÜÿîïþîÌ3Ï\¨»ºð¶ã¯­½ÎÕ³ ¨òró=Ö&y¹–ZcNÕ8‘Ë-|Å aµ}D¦%}#Æ“ØÄ x~#¦ìn˜V’–PZR %}ÙäÌí¢é\¯‹QšhÍbb6rSƒ–‰»¤…D1BH %}C–“¥—Žã½MF¯‘RÔÈ-éÛè1æ Ø‘€µšÊ«c2Öˆ–ômt™8³Ú´í}2C® %}]† —CZí–ô§Xx­é…Ó’¤5²AKú6ºŒÍÈ5x-‡ ¶ªz>üÚëUøz_’K‡²/H} í¤HИH-Ó³$FîÁL†„Fîj£°RfaF é–¡Ðã³*I»î¼ËÕW_ tÕUWí¶Û΃ºM‡~ø›Þô¦+Vœp _üâ#Áßÿþ÷ŸtÒI¿ôK¿±™ô¦’ÑCßI'¡-~÷²R®;I&X|Žizµ…1¬=`äFƒ¤à>\þ¨üFL~2Åð)4clÕ‚6 —6på»4 qdž›7¤5x£‘CÙÝÐ{‰»’—ñ5c^HÚ€^^ËuVIZ4W^6´½¼–ãW¿¼ûDÜ*¥1 eº€b¬©óºkzy-ǯtys5%UMš7 6 —×rüJ—CWcªƒF3xÁF|5c&šk@/¯åø•.3®ÆT!m §ýºC/*5ÔÅiO®¼öær%nŒ0h´ñ&¡…˜“Ô|q ŠMJ9°³ua”6Öh¨H§ÑP]rceB%b__/ŠO©à)ޤ¨üö·uô1p€÷{FŸ|òÉÓO?ýŒÓNIL_n†¨|ä#9ûì³o¾ùæøÓ¸ûzîsŸ‹Ý™=öØãÞ{ï-O=Î|²>Ê;'ª‹V D1sëjðh™¹˜nŒïE+J]Tcà>Öœ-p¥ŽÙÙ‹Š)Ò¹Euüòuø Eè>ü¼óV×—¸Ç!dV¤ÔtŸwc‚_âí 6Þ Ð¼Ñ ”ê"¬Š¦šV»’zÒG)ªh5P¥jóŽFÃÃÆaFKë™Rxh bYÖ¬’ÆøÖdyÝä6›.Ã^èpÒYMŸûdCÑeÕ,àX½õ#ë^4B”ò×ÓM®NÓ¹õò§Ƚ^uAocÒê)Ü¢RPdˆ‹GÈd«;Âá‚Q­;²¾Jñº¸‰F¨I!SÖÚÞ8 Bœ^bŒÒFVM?d‰„h eÚ ±úŽÞkòÒØ+ˆ1~&ÖÛÚ¤ÄÎþ-ÂgU’68¶~åÒ]vÙqÿýöûê%—˜_Š}ì±Ç|ãwßm—¥K·jÊZ­ý–[n¹îºëÀø=÷ÜóÎw¾3÷â‹/Æ>«ò[¿õ[÷Ýw_Üxr[3FOŸÅrz0)æ!¯E¼“„–" BŠ™ñŠšycž<ËŬ£U£ƒ·’]œÜ²:ê %ß!ïéäF]{&u›DSB©>å#šþ…‘]Tú¢Aè † €‡-–‹áÚ¿ø­>vn’Y‹‰#‡m)e#tJ©ÉU~h¨@ÀÆZ˜”½g!S8‘¾À;¯Ñ†%öW+M9\w¸%±š42Ir°Ôðûµ% `l4ô2±ê2>÷Y¦0ÃP„PJ+êB‡Ì15Q?wÆ™ÿéth°Çßd§W¶Àb¡‘[– _Èt4¡Ì Q{Ñ¥•À!/ &dÓ§Þ‚Ô܆eºî^ë)GjGGèË^¦öIEy.VÊP)dÂX˜w¸ðœådd4i/¡AD`÷…l"=réNï’Â*ktÝjHÖHË X楥ʹßÞX)Ïq$mpÁï;ü#§|ìU¯ÚúØcÛk¯½^ð‚<ôÐCxzâä“NÚcß|ßáï1(;=üôüˤàÏĺÂó/c¿ {=¼¹óÁûwÂÐÈfQˆ²É@%.fBÉ“Gõ\Ù #ŽÙÜ’UwƒHFîØíµ×o_ô•¯žpüñøÍ|«èŽ;ípƧn·í¯5eš¶÷Ç@£'ûIK=ý÷¡1å jÄLOEÃ|iC™ŽÆ˜‡pIaÃÌC¸OÄÉC‘bÓ¹Õ„P¦€hú‡`q¨›$—~ïè¢M§(”õo»D†±Š’Tj'!ØãàgI8ai(2‡Ä¯ãˆ’Ñh³ …¼êR!q\z¡Ñ)BfnÀIÔèJ…ŠôÕP‡Cú‚ NI¤¥ æZÜ’gÓARx¦ ‘»6M®PB)ªÖœhY[˜–R}öÁÆGÝÓe·šFÊ"hV¹ІƒÐÕ°iÁyÜv]>:E÷dvSשKâ—iîI¨pcoKª›o «½Õ2ÔˆÅã¨r$}É(éØ~»mÏ8í£×]{õ·ï§»$gá 8%ãžÿPÞ½šˆT͈U&¾Ðhz™ÈŒ2 }£-)¸Ë¥>‘Ðl<kÔÔyáizy-¡äM¸Lú¸üÂKüw^P){ŸühÒ¼\izy-Eiˆ…rÒ¹«›HŽfLPÖô’ÖPÓÜ£˜3÷jc-3ò‚X&Ä[6 —×rªÈ’¦ÎKŽ6 —×JsáR²_Hz’£ó¨ èåµt•£¥4ñìãV”¢!Kš:¯£6 —×r•ruZ9YÒÔyShzy-k)Íh7ËK­,ãÍ•7¾6 —×rª$?š4/-Ú€^^ËŽ”fÄv”E‡ÛÛXóJýˆÊûÌÿ^mìGX2ƒNݺdÀ»‘þWÎ%L°D˜°/¼‹—ñ5‡¡°‰fÆóМ-pØÿä4¨¼‡U¸u#››ð ½ç¸mÜ׺;bY ±ÐL(·î˜‰kêRŠy-Öd§>o0ÑÆv˜QflArR«úáV¯6µ6N?”Ž­üVgŸlðë&·š®9ž»ù–“ñsk®TG{™Šþ?™zPMŠìýméb¾»IC¬nü³c]chBö^cQ6r;BV#å46…(J¨ðÕîrˆw<ªÊTRp!-JQ£[4)dz3” †LSû”[CHùá(E½ØøÙ§œOa]ã–µ{/A½Jº´ÆÀmdКËTó—¹¶Åvm?r2».¿£øSV#Äâ÷S°»1;³²§'8"P¦M#g€OZzï½àe‹ÑsKöš­ \‘_1¿ïpî¹çê ð‚;^®»6K‘õ‚²I—gT6`x\rJ¸m»»A2„òHˆE-{n³ºÇªŒØ×t?ö8d£ÌT±éܒɲº†ƒÿíb ¶H?oº`(’Ù¶ëÓí§Ü WxÚ?þ5Ì“E)Ð;ýÓÏ>éÄÂr ÃupnÉ®NÉ3ö8¸ÁDƒV¸M´ØãÐû#|Žc‚Èl5H†5ž²šÀ¿|Hß¿±¨Ýwp$„žš,¸®ŸÝH,Lf k¬nÝÒk› 96¤ÏHÑ¿KܦßK½!Cú>Y2µ˜Ô¡«Ÿ.X•ÔOäÙ{!½)ml‡ÝQš^iˆº>=rÏ–S2 áúÊÞ4µ=œr‹s=¶6ä» ðÎS[&i?J&4ÍCzâïH}Z¥›r«éâßÞ´2[·¡ÁéÕù9މ#3{Øôé8eµ ÛsÛnp<ýôS;î¼ûºð¯ é“aË“1wÇÛâ6˜úøã×M«ø†&³v É&`<](ÈhõÝq¹6FK,îy¸›pÕw—¹}Ç!í6‰¦:«Ä#ñ#ÜŽ–ÕW‰úê”&æ…Ù£tJ¦ô¾ÙÝ0Wùé#D[®³Üz·3¼JMWŠ< ¥€7àô÷žh¼Ê½6ë,·`ƒƒ3ãoo^2r@n3m•ÕÏ0Pñp²È¬Xx§¡¦¬¦Ñ‹©ÌÌÞ½â6±¾îšo|Èa¨2rib»I×Ë.Õñ[ÍCâdTj‚hV0‚'#—®´\N‡J¶‘4>5 °Ï(Ó ÂbãH2r1rE!2¤¥vyÈ(Ð ‚t)H2r… )×kÀˆæBmය\Z2êuƒ0QOF.F®"è³¼~ÚÁݳ<”ñr’ËFF™n]oFF:¼Š¬ÕÈâ¯sÅ‹K—–ŒbÝ <@F:]c™ƒ–{ü;œwÐ"iJi.-źAKÎÈ%‘SJkÄD¼¼Ë¬ËCF&H:ÈŒ\å¤cֽ饆h2*uƒ$––‘K%r¨4/†?ñ#ÜŸyÚÉ;í¼«×ÀU≊͖lòü™ç­7³dñÌ⿃㈣ŽsÓ/H žU¹ïŸïZ¥¹E…N!®¥«áîÆvÛmwË-·À½ÇẔh˜ŽA:MÇ,ƒ,¶n™‹•jbõšNƒê‚,”xGº’Ý80VZÂjâ.sRw¬ò4£/Ä‘7*f,³„ÒļÌE{M)•“+°ÀL&îgä¤cŽáŽºo]à–ÔñiÞ+²©¢Ð'¥€Ít,šî®7˜eÅö°Œ„ÛNǪîÄ>¹e.X`ƒ–ö0P™k¡’©ëyʪú™ØÙ78@÷ô×a9þ&NÀ5%wÊ ¾dwƒAdâÙæ`“d¯Ñ(C‡y{„¢M¨¾Û-–ûë!·¸Û‘;³»ñ–åûÍœsƒ¿Œ,-ªpá±^V‡¥TØëwƒìTÆpèü×îŠfXV5ª>å*djÇ@¦>ûˆü"Åi×»LEnã§*Ø{ç>ã@Ð a ’aþ%\£íN&¥Hgµ‘RÍê(펴Äȵ¸Õc©ÇÃ-ÎYüqÃI•«SSÖâVÇ„<n °N É4ã“P×M2¥|P +ªpKN¼BÊÒ*Ž“Héì v9Vâ½ÃïàðÒ:UN8aàë ø/åüù|Šl¦rîaÊT¬K£r÷në&ê?š,Iz¹1ÅvÊ­ÉÕùnFÜ¥›[ô¹Ýg?êzMœU¡^ l¸ê*>»§L®kÕ ¹V‡ë&™¼÷Ö\ÉaBSkw£·´L¹<øŠÊzÅ¿„·¢t­¨åC"aÊ­œ³ò¾ckÌÜ»˜'ãâD¥´;P‡%3…Ÿ<›8« øJ5®™™U³3³Ó Ž\ö¦~>ÎÙj™ŠÒÎoÖGCõ5 ïs|‘æt¸™OyÓ…"O¢Tvunw]v+ÿ…ØF^Óc ÐóìÆXéçì8«­†+’“@R J-Ò¡X5ÔUÜÝð^} jö°ÎðŸÖ#ïP”J‡ò=}ÒÅ+ :è;"S8Ä^0M£ÈÈ;2õóØã¨µ»êÒ¹mºé¦›î¸ãýÎÛo·mcÊŸ]÷ºF›É2Xo÷«' ðØÐ6^ÜŒ ðá–Û*çÈ8Û¸{ôÜ¢ŸÓÉ/ÃË™ïqH]·VdU_)vÝÝV< ;P[Amelv7*ö]F[2çž’8þmP~7 ‘øƒ4õó݃”6æ¤=Œ„¶ÃuÌt ÛÂãvzÎêhŒ™SUGYBaÞ@ UÚƒ~$Wª=TO±jfÕ33«Ö›ÁGòÏÄ>óÌ3'œøá£?xìÞoØÛO<ñ$Þ÷Þ{Ÿ#:椓OAk<å´uÊÐqÈc§ßøåw5 ¦_úäÖ¥ÑÕtJ¬ÙÝO¦ £¹“,?y/)—CW“{"l0·æœÕÿŽ|ŸÜºCÔÕt4 ÍåSGYÖ2ÁÞD\ dô²; ]MFØz.ØÙXµjf%¾‡#õgb?vÚ?¸ïþ¯^rɆn¨q<þøãì¿ÿ˶|é‘x¿Öãgbñ+*ü’Ñ®Ÿàø­úûSPU/ý~™¦Ê¯¨Œêgb…J}j‰œWôLv¿†¡ø¹¸Pñ (1G²å¡¬KDß6¥k©¸â'†›yii[¬ ’ØÅBQÛ\šØZ²Œ˜îî†æhœm+5A4ÈÈÄÉË%^ïÜIäF–`£‰Û6j!¥DÞ‘´Í¥ƒçɸ-Ç¡&q\¢´Ûêfï‚Ln" öðñæuïo!s5{ûì#ºðˆÂ¸uñà™øyo_÷Ï­†'²^â‹U ½] Wƒ¹Æà¬¦SÊÒ‹‚e§Ü¦†ž¹ÕL"{||’L#¤”Ö)·÷0ؔҼéDYâ.¾Þe­ 2[AÍ#3BTb“\ÀX£Å¡—%7f„RwÁª‹!¢ÉcUS‘ȃ`Èû™ØM—l²ÑÜÏÄâ7b×KúŽïßqç7}û’K/5» ô7Üøw®Xá¥bö2"Ñâ­ÇiS]d*2¦Ù¿ ^ÓêÆÆ%~hãx«1®{ÈïÉK «×m? ·qêâ­º„lÙ\îè[tÒeÖPêãI<«†:s¥˜ÈRœCÓºà)E½¸ ‘—Èf‚›¡høiuØ™ü HL|^Ç[#aSšV3„ÚIñjkÓ·2$ðŽCXœ½x«m<šŽ(M,0Î[¼51Å€fë·ñsV]0 ·ñaoÍ£BŸô+žªfÝ!sõEÀü ÏëòP—Ûu‡UØV˜Øaö™Ä/=ÿsyäQl°7 ôGñóÏÿ‚·µgeÏÏqô\ÝD¤ =vZ CúÂbCaCz“Îܨ˜Ö¶‡)WºÓ,…ú ƒ1p"0¤oËUľñr‡tÅi4)ª³jpštÞÃ{!½7HDi ÉîF+–"Áݦꔺ)5!êBúÆ€®÷–•K‡¡×uOÔT'“°Ó?"-¤O,Íkfƪ¶‰?¾¡-åêÜ2/I¦‚Wâ0¤×G(wGi«bCìí}ù÷xšhp Æ#ç6Äyuf0;òy1#^cà6D`HÏrxÒ¡¦Qð®E^‰Mfb4ó2É©u€t뫤·­0÷ ±ó?¡²$ñ#*»ýú·ÜòfßHg½ÿþûwØ~ûë®]û½›yQÁówëý/Ýþðçl¸Åߟ2÷t‰<‘ñÓÇXñ·ÿûßï¼L? ¡÷2 —C-Ü{Ý /Ýá}+WþtÅ•‡>zÇ%ˆ¶þ†ÏÝzßË7zé¯ÿä¿î»óŠ·ý×n‚ró_ýÝ—í~âÏmôKÈòƒNyðŸ<fÑÅŠ<ýˆŠæD_1È|–ÑšÚ×ÈÙŽ&ŽºÀ¼fTºKUù%µSÒE"kØ06Kd6E^G}Ñõ5yÎ4N¸ªáJÓeš ƒ—cã=4Ž!œ^ß~”qHé,iË8™R—a&½ØFÇt$é–éðh©§vã=è•©‘Æ7‚בȹǑò<äOücuÏm–ËÈ‚IKÊ”Q 3/EŒ"ŽdxFÓ‡€˜"?Ýórw®«ÞP^œÛ3ÞÈT¦8¦Ã`XÚ ‡qüÚ1CN§”Á5¼8¶ŠV qG€³ÐÇ©t(Èé€cÊ¡&öñaÙ0jœ¢H¢lGoOcüg IDATLpÔ‹ŒÄi\$]t7|s¹8AfsâuLïDµ§±o{¨)M_ê½YR zÉñF3ÊlGGS jK‘[ ³¼¨l²d“çÏüüú3KÏ,Júˆ ~3e³Í6ó)ÊÍ7ßü‘G‰¤7m°ñÒüËÿ&»ð¶ŵ½ã²7oµç'äPÞõîF(øìzëÝxÎFwýí»^±ç™bóË{}é¡Û¾xÃϹûª÷¾òõç‹réoÿÅŠ¯ÿáu§-¹õ‚ퟷŎ¡hS}2£ÒÛÚ§GN±Ôëí½J¶¶x;ÇHd³ è•ÛrÕÖž‰Æ D.w W@KºLõ‘ŠÚ²dì#8#I;mj )…¥V€ E¾míö` óZÏ¶%§Ñ¾ŸÏ€$²¡ÇjÞ/AfLybk䊖"$Ú·%ø ¼1&RD¨míé˜"L¹°„«lmÈŸñ¹8‰©Õ¤×Ä,ÜÝÈ@Õv¶µÏ€äºxûÈ«¤¯·Ým¦í«mÉik_d• ­–úÂŒmYjk_oP÷Uó¿‹_QIÛàÀ/Â>òHlÿâá‡ÞlÓØHzµ÷\uèÓO¬þ–—¾aûCïÜýèŸý÷7ÿýs7Ú2=ˆXþàúcWþtæÑï_üÜç¿L4où?¶Þûs»µj›¿¾ÁÆ[‰òÁï}î—÷üÄ+þ×§6Øôµ+þúÛf™Úä‰Ïn¤Ï+ZÒ×DîóPß«xÏ `J–?}ÛI~ÈX#ZÒ·Ñe<—;îé™t™&êÝêÈ ¹rmŒ†–âÛˆÓ¸÷p˜ÉPT–Za.§´Uºž¹,èµ¢; É4£Bcnü k 4¨²ïjÌxNÁY‘[)§dldà'‡ãªSZ¥´)·ìÍ'‡k£Rt$×Zòà‘žÜãÐ’¾.Õ ô9ÈÛ›nÆ 7H\CBHQÜ­´¤o£Ë°d[óÙ)$2C®ÓÑ’¾.“o€m„Ù¤'8vÝy—«¯^ûñ·ò«®ºj·ÝvvõlIðµõÞŸ½çïÞwýiëÝp&¾4¤õ¤¬|z.~.FùÎÞtöóñôÇü¿Õµßó÷Þ¾|ßÿû[îvÒ«öû³O…t¼× œK˜]œ`Þ˜Ú€^^ËeÊ•®Ä—¥ªÊ‚•½üJLã'Kš:/9Ú€^^Ëq*/w"t™&M£)™ühÒŒjñJÄéÖ‘2’¡x",µB[Bi«Dýs/€îèC2eTàù-+r›DcÆI­A‚àéc5„Më3pVá–ÈdÞØÈÀÏÔãêRZ«®)·q&õe¯^â.[ë®^`«Ö8Ç­·Qf\¯f¸DDš&ŽÌH-ަ¥Þ³Q9‰¬ÊÓa¥•àñ l¬š»õ_µ^J¸ƒßþÖ£Ž>æ€ð~Ïè“O>yúé§ŸqÚ))¡ZÙ,Zôœ•O=¶h½™—ýÆ'éøÌÓO>÷_ü“ÿø!5é¿ÿó7^þ[v÷7ߺxýM^þ[gÿÒ7ÃwéÞçýà†ÿóÃï|â±þÃ6~#=ÚÔR3€ë}æ€ ÌCÜ ÂRÞµ‹‘9i¾äЋÊçr}‚÷Z¶Rbù“ȸÒmÙ€G^aU Îm+òŒ[]îDè2MšF,ÕV8MÆŽÛB2U„¥V˜ó(mLó¥|x¸Ñ’µ*b@ y÷±tO ÉÔ£{OI˜qR…R Td r ÌÀYÈ­‹A4yc#@\oÈ·míˆÒ¶0Œ}oÜš¼u»à–÷½yƒ¶°@3«¬©mwÁm!9Æ=ãz5ÃÅ$Í;?™yu¹^}ΚIaunÔÿ6áJ>ûÆ-!—À*<Ò°jncqê[¿ré.»ì¸ÿ~û=þøãÁc=ýî»í²téêO|ƒ’Ã{¾uÔ¯îÙNòŸ?ûÉ0ÎÿñìíÞq—þ¶Q65 w}}Ù¢çé¤=öøÍc>tÔâÅØ/YûÊû•µþ£—ù°âN§ìëÔŽuºÄDæþÁœWR’va“‚*2ñ²—*èþ€˜Ó€¯ËÏË.eÀ·,ßò°‚F$Àô0séb«i¢>»X=A$qŽd§Kq,„d(BFÍ’iÕM)Ø mB3´q*ئ¨ T$ÙÝ`®:žÆX,˪)!c$HVŽÊå¡§3Qã×”±a‚w‡ßðŸB¾“Ñ㦴ìÃZ0t€©X‘æ6…Xd×`*"I!™•{¼mŽŒØŠ€5]œÈXJiÆFcFSÏ<0‘CÁ‡Ç^sãx{ $»g+úz]ØêR@zó”’ÒHü•fé'Ç­KlŸÜT²QKHª‡(Ö®*ÀÂOÁ¯¨<¿¢²ÞÌzIQì_wì‡öÚë·/úÊWO8þxüf ¾UtÇv8ãŒS·Ûö×jQ6ÓÈ–~N*1ÆawçƒF<®eúÒ9¾L»zи¨æW攩èõ”žÂ£à…ËŸ¡Ô›k!)Ûîn vÝ¡.]l5MÔç±gfâ¦a9$CQœÛBóh/}¾Äy4>IãEµ…¡I®òA!¹-Œt{wB]nƒ55˜SCiÛ‘ 9”€MŸBœ©¼øì0&u™yv„_ö lm{ÜÇÐÀºŽ¸¸ª‚ôú¤ L;×ò¡˜žoÁô8HÛsÝÞS¡!Ùxz]ŒÍ°‡s·Êý~Ò¡±^MiÞe@cŠc ;§úš­ÓÒðýšòµ©‚fûí¶Å¿N‘Mƒ72€k=µ`ÃŒ ”ÆDÙ#<‹H(M_Ÿ Ÿå;š1ÝGåËŸ‹_çZH²{3–XîP—.¶š&èã3göM£‰œ}X ´0¯¡z²Ù´ê&FèZÈ8_ئ¨tÀz^Ã+{áuñ¤che鎊VîÆXw·)A7/sh8Dk6&²÷0§7ZÿÊêø ÿéäWGRB¦ü-·$|GUQa-ÕÝ{¸ïÍŠÙÅ.€ÒÒ¯WIrºK6½]8ê¿ñ¯´ìB ¥<} íÌ8c²×äj­7ØÚX‰oá˜ÛãXÙnƒ#¢þ@Gv©#Àt2 ‡£šc#<‹H S®È5“å;ÒG:&4UºÆÅÏñ°`„›1}‹åÒÅV·©-…8Û¦K±/„Dr$—K‘60­º)jžMùùÒÀŒVÈͤ†{á¼vñä1ñ*ÞÈš4Sš¼.Zi ¡ @ëbsؘ7'}‹õÀrKÃfj¿×ŒöÁ ã¶c¸"’ÈHÓÜ:Põo¹ƒW)¶Ÿ&ldpueƹ»!ÕMn›É›r½šáÂ10BA?€AÛÃ(uI0”¶]BÝ€ RÃUÏ…õ¾Ç1;ÿ+*3=mp,Èþ¶(L*3Íp8ª™6³ˆ„4V!°‹˜2Ø€¿ú¨»àOaÌ.â3x£àá휤zõCäî ØêŽ„Fx40whßBÇî„*HŽàt)2ºœH“6+‘«œ/[¥ÑšÁ‰¦*k…Ì8°§sÕ’«Œ /ÝÝ.¥^QHPv7}4H$j…3RB×M6Óü!3Ú{3ŒóÆp$^xJ÷>.å÷9Vä-9¯s½¡•X]õØÈ‰¹ÄL§ƒ¦‡ŒÞØz\c Ɇ±Ò2\BÙÇ Ïxr³:lCiÏã¶z9ýìó³ok¾atÕì ~‚uúšX0µÌdÃá¨æÛÏ"’¹Ú®Bé‘*1'v„¶^›îS¤ÔW‡¦IŠ4i3#›1ÓÝí™É9¬IS‡Œ.E4ˆ4E Öj*9_f 7ƒUÔ×€T‹Æ1˜ç§m2‚+ ÷©äH€Æ¥”fZ0M]O 2§Æ<ˆ,<»£Âð¬»#§áä§<8ãÂp™4<§€)·©û·\—[oáå°C–¢o;<«SJšª6“E¸a L4žƒ2\ª\'÷4{~ À‹ÞPÚØÞ ëˆ\µúš˜Š´àS*òšnp¬ab2ÿ‹ f¦G5ëFxHyW{ñaÒEÌxÆ ­í¢®ôÙ!²yCWJ¤È0‹7=HÑ™ks­ø¦±!eSsHúNÉ\ªö‡‘¦&Ô•ÛÛ>§Ú ¹aÐGµÀz©4˜;Ì‘ .¥˜™ãhízwCh)8 ì rAÒÈs°á?|/ d1HBf!<…ú.þ–;lEƒSÚ¶G²éêguJ)'»„”àm cˆÜ¸¤g¸T\1T•'7«à1”6vA•¤D¸ê;_ð±33‹VÎtù•§Ÿ~jBûf²`c𙉇ÃQͽžE²¯ö"c£‹˜‘t ¦©„7}Uf‘¦tÍ,ë)Îic¤=Ò”Nlº%¯u´KÛÝ ñõ"×aE6ƒÊÄ¿{»¡zÓÌ%€Á’†í%6´‹Èf B97}ºÜÄ% WÑDpÒ¥–Ðö€60äÄoÌѺC¢ÑExaÀÀŒ‡™U"÷ð·Üž+rÙ€ )¢É@k–‚ÁO£%Dé¢É0†¤e¸t¼zÌ’'7 ÁJ» 0ÝD»k®R¾&¦z±ØÚX5ƒ¯áèrƒã¬ŸZ÷hî·ìbÃdÓC Hp8ª8ª³ˆá*ýoY‘..¼‚ŒD^ØMå¼é«êÈ0s›ZëâLyº»UжÆU ÉëòÃ&˜VhH{¤©mE)öØÎÐó·d•s‘†a´VY+L–º‡s!`ö2Aº¤¹64A÷—hJzÍœ CqzÖØÈîEîšEpV^Hj„Ì"ðÒ›¸¿Ùé·ÖõY‘·öÁxQ…”­Ð𥠇u [ë[• { cÈØHZ†K…t‘"ïoH ¥]‘bÁ¸Œ€«U«ð;*3+»ýŽ#Ž:nÁôY¼<«rß?ß·éºSÎ ,ŽjŽä,bX*¼n­rÙõaüZ¼é«êÈ03Mé„Ô™ž±Ñ²¤Dê€Çe¾‘¦ÆBÚ˜ùÛÖÝØ94(Äèqh†¦ÊZá&ª¨1˜«f/§·»Ùj ­@Õéæ ô)œÞ^6hë&0Ü.êRКù2wIÐæÁMš† I1KA·A-üPw§ËuG{'ްVëàZ’ˆÖ3[¥éÒ8±„.!xbÆ`ÑxIo\í=YǧâΦ†6ÝÝÐlŒDÇð›ÿˆJÇOp€ñ믽z$¼¯ 0°–™á…ÃQ-pƒŸE ?sä´¹ÚóŽ¢.bzu¡4àÑA]dñÆ4©3ú"tUf¦É Ì(ÍZ•›F“¢ía]H¡û 2M.{4ˆ4µ­.bï3ëä&¼a‘ÆÐïñ‚ 技ÙËà2Æ&-HhªˆJ'Ò²F›ˆS»%ÇaëÖt„åóÅ‚‘h–ŽÜµ4µƒêw;=TdJ0‡ƒ0xâ‡hM÷êºTJk,!Î@õVwñŒ“fž¸}uÀÄ×öVšN:A”n±Å…ÝñÀ´Í•F›‘×ʼnϧàŽÅ3³³w¯¸M𝻿›r]ŸVšK— Op¬#;î¼{•'8^±Õ«ï¹ëvÝ3¯?óOÔŠy3Èà[²èh%qt ¸HÒ‡8¯èÃîd] ²T)§‹˜Ý1`"¾VêÈXJo2´èCs‘ÑÃí™Îî•;‚Äihx6 žˆA¤É[K+e­1Ó˜Ô$‚}•µ¢1o‰Á\°éM3 €Öüf ¢µÏé£ÑÆqØu5 ‰åy!l:üê WpÈÌx¥êá½ç6ËKõÝ ÆÏ®H.™ŒÙXBºPŽ9„VGžBÒËɳ •-ÛË0†8qÒÚÚgÓŽÂUÅi®ƒ»²®1ΆñÍÆ©3"fJR}¯®a$Þ·‹{¢±ŽO9€éBgŠ € ®‰ ˜yüÄpS|æi'ï´ó³î#%àf|ã%›üÂÌóןY‚ Žé¯¨D¸šÈ&LB3Ôp˜23{«ósIµÜ÷j¯ü1é.bvÇ€‰< øòÔ<§ºc)±É°á=4óhn?ïãM”®¬ IO=ÈB¡ØØ$8#nSziqKOáq‡ÜV“aFµxzË2˜;l†DºÛÌq'ÞÞ{ ÌPj´œ‘»v!ò؆ÿ<òCH¨7TÀ!3ãÕxh†wŸßZ×QE%Ó`pD’"xÑšîëhuJ—bã-!ű¢a ‘㤵µ¯u‡"«7,í®ËnwðàÞ«·â§Ð¹tn´Â  A´Hάóæt“•NYiü°ÅeÍoÄâ;FûÚàøØéŸÈ†;NÇ£>pØ8• /ÎÏâäÜè›™~yW{j1MŠî_%µ¾t6c)±©‘[3}Ò—ìÆÈÙÕ!…¨3zÖ¬â0b`šŒc^íÕ Á0‰`6†~¡½Á\°éJ¤s{6.< s¨zÙBâÑh½8iÙø+*6À¹Û)P«¬±’(„„zƒÇ™¯È¡,Ej7U¯¨-ÀÁ´lК:µBÕÊØ”P>†[e7ŒÁ׫økPyã¸öA²·–ñ(É*v7€jîýœÔl˜M*7í)Ì0‘âklÑL“>”™bN7ï°F_2Ší üRìô ÃÌô°'ÌY¤»¬fúMw7º $±û*¦Ö—f,%6E0óô&6r…±ï¡É¥®ð$¹` Qgô(P³ŠÃˆi‚c ?Õ 1‰`6†~¡½Á\0:)LWBc† ÏÌd\ñ¸a5p#Úİ]›ØHGäÒé“È…à5 ƒzßÔ23^ÞÃaÇ!U¬ˆ1[ ƒÈCk†bŸë@+À®ñP„{¼œè½óÈkï–3Õ´bÀeµ•{žqʆBJäê›ñ¤#œãx‚_2Š Žn&6ÎËØZ/»ì²}÷Ýwl¨6sé¢X3ý¦»]’ØqÕSëS¾Kñ¦8àê8ãéRZ»€DŠBÔ=pÒE0G ܦ”2]›. w³@cASe­ð檥4˜ëf_»]‰¦P ’ÐX¸ÊeôÀ)8‚ÖD¨~hØ!ä6À° ³º8Hsi>wK™ûàŒFK$$õU¢™ñ2‡¦´x‡\¥"S`«ÃÁ´EkºoÀ¾k…œÆýn!HÌt Ù³„~ƒªŸ¤ÝeqYí.WÅÈÞý¯²bRÃÕÜHÖé8+îËÌ?»1WåÊ™Uc|‚#o¯aéÒ¥ï}ï{ßõ®wUì¿i¨®ÀÚÝ] 3ýJ®ö²‹˜ Þµ0 øŠ©qB%QúäÊëi4ÑÝÌ=IÝ›F7]Ц;H¤(DÑ-]¹kÀŠ"M´‰ ÝnòšDhC¿æÐ`î0û:±+ ¤ži$ZäMl(­{h؈t‘»°Ù”‚ͳƦ¸l " éM˜D3ãÅCS ôƒß!VÄÒ²…Á¤#7݇ÁùEzØž-û$Ü0†Jõ€'Nø}?D¹¨úÉÛ]Ã*º`‹5ßh\÷&Ü” ;‰ 1¾úPo”ïnèh:‹È†+9Áq|ºöqM9Z~qŒrƒ#ïIŠ]vÙåÆoÔENåu™3ýôÙ"›–.bfƒië8ð…}ÁÓª0 —Ôô&/{é÷$)î^›Beä6)/2Ù QgôÈBÉh t«ij…°°/Òs™Dp¬Nr:˜DKƒ¹;ÀìÍÆ®4¡‘h‘½p"Õyf†Æ"r6šR0¸³œÉhÀ„@Rop†ÜÓ¯eñÝ~³ð”a€e†*ÊØÖqp)€Í•¨ßã÷QnF§­»0¢é‡pÃð¸žH0ÝÌd÷ÚGŠªØ¤QA®¹ÿP¦Ü.èRyÆŽf‡‡«sVÿvDètà­Eàé]0>¢‚O¨ÌþxXãk_ûÚÞð†ý×ýèG?úÃþ,ð _üâ—-[öôÓOÿùŸÿùM7Ý„ÖÝwßýÍo~ó _øÂû·ûÊW¾òo|CˆÃÇ)§œ"înLÑã^ŸúÔ§¾óï@~ñ‹_üÁ~¡þú¯ÿ‡ò Å_Ó>ýï0à™~Ũ»ˆY *5ÀDƒw‹äiUšô’šÞdš‹^–‰YãÉÛ0l‚W9œ;ãf=èfcT’½uFGºHc [y# -2+®³@6‰ é.—I}h0w8exhüfî ÉLmÜ©lÆž.¤Ó¼:¸a#‘ "7³IGÉyCш ›BzÓ5;tæ^c9”oøƒÿŽZåò7’±±É­šF¯Šƒˆ×â®N[,¿7î‚Û›ônÕ÷Bñ°µZ»&Ü0ØsKºï%HÌdØûbÔב.õstÑôB¨ º"C:} t¡UÌWÙ#¡zíò¶9†ÿˆÊSO=õ{¿÷{x ~Ìü„N0D¯·Þzð°í¶Ûþáþ¡lpàC('Ÿ|òwܱñÆtÐA²ÁñŠW¼båÊ•÷Þ{¯¸{câÁÙÙÙ_ù•_Á'YdƒñÐvCy½ñÙ:ÆÏ@hú• ï"f žV¾ >T)S1Ð'×x“7 ‡¢6[ ÆÝ›¢PY÷Œ¢(QZ4á8 9fTmȬ[¸Æc¡©»\:o‰l0w8Ô›Ð»à ¤Õ4¶™>n̶ŒFºè‘éLË.ÃÆ\E©ð"7üÇqšžÄý”xLÃa Hí¢ƒ{k9wfKmCY×ÂÝ ¶B›»¶ÌG‹©(Tx€D—Á„pêÁ/ÝÇ)q‘ŽÓT‚ |Påu¯{Ý™gž ýÎ;ï|ÆghG#¿ç=ï9묳n½õÖ%K–\tÑE¦Uzãkƒ©wÌ1Çà1¿ú«¿b–óÎ;ïè£Þÿýõ—Œºñi?FË€™‰Ó/^N1ã+^Mª; IDAT¶N4ø¶<à´ªOóy¢5M:rÆ=IEwªYs¢Ó¹üÐÒ4…ôˆÆ&‰luº\Ø¡°®Þ$‚Aʽ¨§OÁÜ`Ý¡ÞÞ4†¥±m×eØHï r4E`»ËŸ?BGKFÓãqâqÑUÀìÐùG²ÅKdS ìçNßkEÙgÞŸÁØÑûèEIN”!kÂuÉñP‰…ǃ”´À\iH-è#v4¼…3h±ÍXâ^"—ÐÒ¯)!}¨’ËXäz5bL$¦º0NTn™†ØH¸¾U4z‚T Ø]BÅ64w0ÓÓq^».Œ,K]Ët >™‚ϧÀ~åžàøüç?ïø|÷»ßÍEOUH1pHùoÿöoñxâãÿø¯¿þz4¹?ëÆ„×ïþîïâKI¿ô¥/12"/²ÃžJ7¾€™¾–.–ª.böFàDƒÏc §Uí¨¯VM“˜™«êô{’*îjo²æD'uù¡¥i éu4‘£k 5…}¡CÅe“Æmû=¿‹Vƒ¹7ÀìkezÓ@´]tŠŽiØhÛAÈ 3jðZŽ Ii2ƒD»è,q·Þ; \ªá%¾¸–ë`jâ1[³ñg;&k4@èJC:ÈçûmuÇI!.ZÝZn,|(·„t$†18z¼l4&’¼é–»•å8QiŠ ±‘.Ð…ËàäØÖMÙòø<ë•O¦H¥TF ×6ñ2ã­‘Þ&|½¨|Ÿ¾dtø'8¼[)ñ¡’VöSã…Ä@ÞRg ‹˜ñŒ['| 8­êsdžh)H|Ekþ`˜ Ð=%EE›':…¡MdÏ45êÖpN½z#Ó$Œ¹Ëš6ýn÷ph0÷84Z؛Ұ46¢íº éA®›\üínH"¤fG›Ôº){M01Íaãm®ƒyÑ —ÅZ61[†êj â:Î,»´Ñ«¢ šŠñ½¡<ƒ_Ù±w”nµè¢•ÝZv# ®qKH!Ü0†*"c>јHô ?c@e(2ÄFº ;1¼» ^12¸ÒOmÌŸàÖ.Â)‰"ë€qwûåÇOüÈØ¤bcø/åsé¸-»ˆÙ˜tj0î”(‡ÑEÌrT‰&|b3žÉÄÆ{r-¤¨Ð=¾£&—$‚Ò¤3fh%{¦©Qo"G{#Ó$¤A.k"T¸Ms?€C}-ð ¤ÁiŒ£u)­«1l”t皢4æNw7$‘¸0Øä‚d“ñ‚^ã§ ½[Kʧlä[9ä«7‡”<]ZcìâwmŒ‹G¯M§J€=ÒQÒÐàO¼Ÿ1hÙ²¯1·¦„F cè—ÈŠÑʘH1t4¼aG…Š` ±‘.ð%ÊZ»o‰“%‚¤±)o* °8WµHâ¹Ët ðǪޞà8ꇹ¦š)% TŸÓEÌ’[ùN4øV•FŒy&œòµqÞU5#º3NoØ@.à 4Þ+¡ˆ™i¢»«O/­72M" ÄçRî¦Òk©ni0÷½‰BB}j H£àÎCh«÷ˆ hØHï /ÉÎ9Yȼžå½ÞóGz$í 2Ñ‹%PpÙcSŸ+ÕIMÕ^mOÙ8Rß›`¤#o‹Ð3Û†pÖîq´4˜G:á†1 ŽÜZ·2–≤»NÏ`yT¨Æé‚P±¸óÏÛ2Ð%‚ÙÝ(«SÊ£?"Ñ Ì)$´*§¼_Üzñ+*‹çHÅmšj¦ Œ.¦D1{ãq¢Á×e g2oÀ«êBw/¤®•¸Ü‘.'lÒ"f¦‰îF¯£EäÞÈ4‰©í·$Dªè¨É`î p¤O ¤ai$Ná?o–ôa£U¼ ›M.¶®—w†HŒÀØÙ´²ÉèÝr´¦{Ú±ŠLÌ:šÁïµÑö”#õ½ @:r3À"€eÆ]"ƒ´ÔO`JðnCuÒZk¢ˆÄ‹A[ö)•!6ÒÂOü=ޚͰ<¡–í®± ‘÷ÒADFW M# tKz£UU®šÿ¥ØüLlÕª¦Áª1€åÀ¬ÕB2À—ª”„]ÄLÉ[Åf¢ÁWaÀái•ú’{)t'Œþ^°I£Š˜™&º½Žæ•{#Ó$˜a寮l¥ÁÜ3`oŸHc 8 xÚŽ@Ãy«CÃFF¹ ›MR?Ë»C$F`l‚lZÙdôRŽ¡N×8 L̃ÁïµÑö”#õ½ @ òô–n™X¯A›è5*3S‚!Üe,r½jŒQfÄØ%H ײOMT.3­J0îX´) ݇ô‰x¼·ú;‰Á»0óŽÀBºÀ©câÃ)ø ŽÅ½}DEçžÊãgÀ,ìåƒb°UÖEÌÞÈ™hðݱ„Ó*ÏaæÂºí=I¢»1ë®´¶‘/ø“GV»8_}·¶I˜=»i­û³õ:X\nÛñhºÕíŽîré¼%²Á<`̹$•d ¡ºAPyY%T´êùî5®¢4ldSAä°û\Þ ˜H6¹Ì³ Ñ4ç¦63ê#‚û[³A€“)ˆ™!6´W†ãÚ…ñÙ>òÚWW¶Bnú%rA•nÙª"m+÷1»%@`­3ÆpôE¨j"ñéW×úBT†™¶´¸îòÕBа+Q÷>Ñô¢Ôu§xã»\‰°¡Þº%»¹¶Xî•£Äwp`£Ã_Qyúé§rpM}†fÀ ;Ài» tWÁVX1»cÀDžhð¦–ê‡Á‹Œ6Ÿ]÷0ìs7fÕkYçæ¯ÌòbÝîè.W9Z‰`0÷ X_ZñÊÏÜÏgϨ\n5N´*d™ï®K-MyiðDΫÁI==kˆcôðÖ8M«n’<¦(1*^Îþ_öÞX·¤*<÷VŒ oEAQ‰ .¥ZDhíÖ¨¶‰îé!P±[¦µE[¡(ÊŒjÍ ƒ=*chLL„Zã„Ñ´-ŠØÊàc°å! `v–j¾þ ö\Jå.}¾1É-€ Æ©° ™ 9ÍÕIàNS5°’äŒÍLÁ½Ì´ÚdÄA×=™85H!ÄØT{(kdâ‹L.´K4nÒàø™Ø98¾û™Ïkb¶NxVå]ïxëþñŒ¥Û¡|J/ð“Âmbs`NªsÑy„ãïAáÄUº‹Ùäe(úN_:²²ø|±z1Î˶E0×|¨—PÚ…4I0ñ<­ *79fÜð)Ùhh yî@¤R2«,|o29’È$‹ ‹—åYR×ü).ƒÛZ¬Â}çñÕa\©WóÎ! nQÚ0Å —²©枀ï`vºÁúŠà-Q´pW2m—¹nàºåŠÍ„CK¸ôùBÆ$·Ó˦÷Þ–½Ž^£XIr iL2t¯'GV2bRF¨ aQÖàˆ d60ƒJäÁ\ÍBLO…Ä’Šô¸Üü@ì'.]<ºjÆ'8@ô·~ó×zÐ]1–È@ìvc'”%XÇØYb‹e@kMHÌüÄUºWšEzKj°Äñáp_·KÑCÉ"o_0‹EÞqyYV– €½èò4FEÎ[!Œv´¦·5ŸPÚ‘4’$øÏQyn6–l´5P<‹¬ p)T·2½K†=IaÈ¢Ø.’:©WÛå•hÞ?Úðßç͉¶+ð¥¾:Œ`Ù õ&Ø."w/ðîK“°¢´Kó⮆B4N¶£P5¯$ˆXn¥+ÆJÒ°Õ|+Áô¦¤Í‰þt>ÈŒ¥Ïo¦‹Ì×0%·pï›^6}ìu õêåRÉJ’363•îƒd’ƒ¢!ÉažT6€Ot©ÌU2 ª€%‹LÉ™Ê.%VÁ±¹èò~BåÂÕGW_stõÅf”Õñ2»ÝØ å²±ãu‘ÆZ[*¶×ÄUºWšEzÛÕ`¹cpw&,òú‚Y,òŽ ËqeÙ¶]’vä¼dt‹M/”`³;i$I°Z¦ïI6¦¤¢@¾PäÛhaY2L’¢+ùv‘Ô¡hJö¤îq_J¿Y…’–Ðó?êÍK\|uÌËt±1=K¹WÁÓö4öç-!{pH©¿ô¥'X§ÿçÍ Ó’‚7ö’Û߈¾b¹ÌJCØúŠŒ•­¹Í+vèÙPjÿ™1ô¾™êãJƬÃ'¡Ä!æH/“™äP_¯¾–ƒ¬$9c33Ê}LǺ'Ï’ÊŽAËP£rå¡r´mžL–6Çòqkä;]¸êÞ÷¹×½îuyŸà¨¡²Úl=ÒíÀg섲õ*œÒXkKŦŸ˜¢J÷J³Hoy ná²¾Á¥Ý× EžgÁ,yÇÅdÙMuÜJÍW…]ãŒ^!”P÷]Ë$».¸Y–¾Ý±½$ÓS!ä=s)ò?ÃѱFc¡dt“¤è¥2=Â`s«ºåä= ÖpþÇP!wÉM¸Gð‹iPI`b!Ž=-pÌÀ.iÚBãàb+xZRàI59ÁÀ ª”ÅúB)ŒYJAìÕDPÈÒ¥Ñ(|ï†q޹H .¶Ò`*¬‰¥:¾ÏxYÌpIÈV)¯{¶)Ûw£9½KŠqîR2æ§ ßà.–ÐÌ—^6½pÈÕb}•$glfÜ d Yè<]RTè]ðk@Ææjl*|ÇÆªáŸ´ÁËE¯º|áèâ…O^}q¡ŽWýÚo&©ì¯ò‰_þeûKÞ3—n‡¢±ŠG[åY3 µ¶TÌöÄUºWšEzÛÒðN\îŠh !š±E”·"$š#óTðVè%ƒîgÛù€¤l~ ÙÌ0»‘I’+v]KìLݯcåÈ˘b½|èÍ6i«M#™Ó£Q<k£‰·*¿P`n¿J³hÀ͉µ…mhñ‰M²­Ú‹Kìo0>Ù¦13s„†–6jâé#z@ʤ eq1=>ÉP ˆæAÌÞ™Œö’vA£043Ž–°¯Fj:*®áxðˆìK­°•¥B'2vË™W ”Xsâè(°²"UrtYÀ ÉJ’363ÍîI2 $!öÆ‚Zˆæ\‘!ÈcìീÌR (‹hÂ…Ûîøÿ>ø7xÇú•Št®‰t;Ttì„r¸¹Ù¹šIc­-[hbŠ*Ý+Í"½íjp XPä]ÄŒîÞfyy›c§8[³¦O7–oÎLÄ…û^ß*—¢dí·>Є$ù$õ’:Ô¨|«:^!|ø´Øbš+i®­i ¼qÆñO(Eîl 5e 0¦/GÍcžô‡$`í©gº$ €‰?Zš@ ¡(xKšQ𥔥]ppÆv¤£ bYn>âwÈd"š%ÊИ4\šFÀMÏ"i&fI¼x‰tå2F(3”XB¿LzÉd°:¬×‚°’äŒÍÌDw!«ÏŽ‹Æj:B mösUæÏé±K¬† â £?ºí¶£Ûz‚£âê2w¤‹#ÜØ en†+>3 µ¶3CalŠÄž8&ä2,^93AÛîåÎOúEaråIøB‘÷9kvÅÝÛlOÞ¬Ú_¹½ðu‘¹)2ó-ræ’N(ØYÅ,O|úÕ¹—£ËdcJ*˜áH>W”dŽÊÒ>i0·2Ç_ôW¦šSBÉì5´Í~m %¡xjàsÅ]ë)Íÿ“3ÜéKC††±èÅR4é'ÞÆ“$ˆ ™Ñ Ó›QŽ˜@ÎÙ[>M i4Š/…=/År™œ`eI¦MðÕ¡œKZ2„0ñ=Jì%](•Œ±³¡H: 4ÉÑ!!€ š¶K2)T§ yŠYI&%ƒ!&º>ÉHФ? ’©4Õ'+1k̦ä*™ Œ²Xzrò;¶Ykªm.]ÀÐïýÇóÿb WM9SºxyÉRLCSù [´<Y6ñ’ ,ºÊê 2GÔ܉¶+ÂÌy–¥Ã`ŠÄ^²”s¯œ™ u¿µâ‘‘ÞÌî¢9v‡LŽIìB9Ëô¶Œ‹=d×2Éå& ó%§o‘9 ùd”B€5õöT.)äøS™—;’Üéë"÷ʤ»)mm×Ü Aΰ¬-йvg©D¤;©ì¦¦·¼Ö,:l Ö{A.`Š¥]“ô¢Y¡Æ2À±Ç°S`cb€@¢eŒÕ]ÃtL(7 >'£}«!EÖ£’£OÒªÉý›u'é00.V<š¥£v쎘£$ÁJ2™LcÒ×”Ý=r9E¾oÐË:°ô±¤Ò\¬ˆî ½re©ð£Ìêeã%Y©±Íš©P^>:>ÝÀÿíýWTp¾QQáÕ¤”¥º]‰Ã¨2ÌÎöß(¯-Ëš†—<7¯ô²ÙTÞ=àÁÈ>”!à?{q½}JŠÌÀ>-q©áS$î,¯œíçêû¿ÜÌæ£´uä-6G}Ýw§ ‘sì!»™IôyãŒ(Éwæh 2[!_(²ªáÖì]¼}÷º×z2°'ècêj:’Ÿœe2ĺ°Œ- ‚ÔEv(%bI©Œ«)³ ²Û‰4€I|ï-©Ô{6šÆBÕ{¾î¤‘´ôà³Ê~§4%+NÁ¶HZF/i&I@ i0®$&¡©oÐôÖú1hxÉd!Þ‹òDwâPàèð)òý!ö1ú ôõ€ƒ^½ ºäª†¹UÓÿÓìØfRåã_ŠÅ!ÇŽ9àø”Où”g>ó™w¹Ë]¬Úp ¥?à°§9¾ë»¾ë!yˆ™=ìaûöoÿöç=ïyÏxÆ3¾ð ¿pJÊVß5Ý3ÀUû¯bÔM± µw¥\‡9e ¾:TB l¸ŒK ï›Ë°xåÌ<Ô²¿Çpr3‹£Ù‘æ(çs»Pÿ%W!åtÅRöv.@£Íd£c§"sÐò…"ÖÅ»x{,)x2ˆk|dª©LLÎ5µÈÝ%#,seu¥…NÚ³6¶²/T6‰¬ÓhøeGÙQpä‘ÅÆŠ„ªÝ–1ÖÎoEàë-}”îr¬K²"cãN‰¬Œ›I‹Ò\Æ`)Æ•Äך¡½²Y¶î׳LLÎ(Vâžk…±Ü8<#öú>f.ÞÞËc¹5ÛÏ”+ãô$éõj—$xTn¾r„_RÙŸ¯¨|ìc{ó›ßüÈG>ò5¯y ¸_wÝu¸„Ò× .\xàøµ_ûµò'‚¢ë¯¿þçþçßýîwßõ®w}Üã÷û¿ÿûÞ~•× ìrdÑÖpSÜåÚuáfË2{ƒ=d¤ˆI£€@¶Œó‹^™Òùv>Ó“€0oÆ­æfoÞ„*ù(ÑÌ—Ž’z”׉ñVf¢†p¢9¶ÍY(¡¶ ™Ô5¹iãûd£×¤dc“ŠÉ ”dŽÚƒ|¡(ù^ïÂ$ŒLd7sO £RçÚÓä.k}Bqm³½é'Öœ7d^îÖO|kVÆ"OÚ×4+r‰` Ì ‚?¶Hî1X5’´ôÝåšz5ÌXYz{ìpÏeL†Æ‰å˜‰Åw­šR®‹/µzõÅôø5²äi´/OU²Šî5A+mØî$3½—ZWN%‡Žf}sÅ‚ÉF2Ò%³Jntt¬]€º|ñèÂå£KûôŽ×½îu_÷u_÷Ú×¾§8àø¹Ÿû9_«ÏÿüÏÿʯüÊ{ßûÞ/^¼|ß¾ÙüýÁüÁW}ÕW!éüÇüË¿ü˦\?“@¿LꥳòÈßë©L"ôQº—8ôÜmŸ^0­ÜŠïv:³“µ¦¤h°OŠ}Ž\9JÎk»úÊ›oádË{y¡ˆÆ`æ/W9™ÊæHúΤJˆ‚á€Åå6¨tEvÑŽ™‘lôZ˜Këâ™l&(·ò.¹›5qÆ åbddnBCê|•Gq 1¢uâVvSW^ X4€1Ž ,„Ô—•õMCVI ý®€–ûvÓÀIÕ.¹Ñ2að„ û ÌaQÊ ‚ôr”wñí+}f’[:ÆŽ³¤K|h”Nì!‚oà}1%DáRòcÉa}Y%Ý áŠêÉÔ€wì5áÌ&ô³êÞÅÞ09‹Ú¬ÒÐçëk—³ÄþßRÁ›8öé€ãýïÿ_ÿõ_?ô¡Å„|à¾zxjã—~é—Þþö·_}õÕÏ~ö³­èWõWqä³Ç?þñ×^{í/üÂ/x—U¶ `*I¦BöØÞFŠp9¸Ÿôî«,|bް&±uUåV\0×KŸN»¦¬L©¬f*½|ÜååQ7~ÞÂÉ“ ‹BWa0£šc­‹P&;vî^Ð%n:!¼¤+ö%Çøôâ1ÚIæÉ":I‘è%b<åRÕ@IÞà‚^T™:„‹î5A 6~—^0+ñ,f^Ž^²p—¦A£ 4ñ ":²‡$j”ØÕy¬ U"Ä͵àt Q9iØM%ñ ‡°I›A%陥5Sì´¹ÜÆ96g9ÈdŽ Þ0ü‰Ð&H~|rXß«‚{Ÿœ—™Ø©¥W'Ï^Lo©À0ñ5Z¬] Õ<>ÝØo\Ú¯'8P¥ßýÝß}ô£ á·û·¥†W]uÕm·Ý†Óøÿ!‹ð|¥~  žò”§P¿ ƒð[n9¼`‘éy9ˆ¹¬˜/…~(ënçÊdڼʘs—6Ü`x '7.,P¥_¬{™ö«Ë@ìB•;Ààt½PÂÊr—ÛÔwÅ9xJ6*g†ÁV mXÊø’"”ëåí m0úX# Ê 2ÏÀxTê$íåX£Jù4Ç(¯Jc;/€ñ¦²îás—†®Ä´‚ï£B¢Ø®Ã+ýÖÑô¶u§%N@LÏœBÀ‡®‘I£Æx”œPŒòMÇNskŽqtä,“¢RºVß2𾘱 ^#ù‰Éa}“¬Ý}¬ér™Ì(|ôöQöSŒ-Vs®F Ëfà¹ê”JUûn~&/ݧ'8P7|Ó_91AªúªW½êÉO~2”¿ó;¿Ã¢÷¾÷½O{ÚÓîv·»á‰õ+*LK½ GÞ±PäÍV¹>Hi¼‰Ö»ŸËMŠŽ$¶úbY¶Ù…çÿ,¥\ør—÷Ø”HCTz•1ç.-Ṳ̈H™„ïy@(U÷õº"»Ð…¤WÛÊ’ ¸ŠJlÁ„kÜî<%}ˆ´‘2aî‹X ¥ð¡—Øwoƒ±âdÒ7uÍä$ߌt´s ‚[e“‚LV¾õÃÎ5¸‹`§…$O(Ù4äl¢½@a*ðg¯B ºOÔXtº1ÓÞ¯,ËŠ£ ch8jLˆ–q/.5—åRƒP°1ð¹ÝH~rÉa}…U¥{¡² EžŒï´ PKº,“+›a–‰U—½Í;Fñ•}zɨUìÒ¥K/yÉK|%ù+*¿wügE¯~õ«MðJïµÊkv0xÁ?ØŠ;¨Þ±ò­¢mAý|„Ü6'ž$œ3®ÐožÝØ<Ãqty=à¨H×a™`¦˜X!îÆ'âl×ýdépúJ²ãÂ$ãp•UÎ`E˜1ë½0w£UlšÀ§D4/Qz÷ó £d•Z[’Ù4v;¤ËŸnnü²¤Œ ^Ê õ¡?/ IDAT =³J s1|æhðÂfÖoóÜ–.érà2ߊ¶mΫOÉF÷…2×ÁVO[Š|M…•/¢×ô{·‡¥ÌźD%Í"ÃúÔ%}§¬¹I•ô Écß"t÷‚Ø£Kpî™å&.ßI¡¼xËNF4LÚVù´&dOÕdI¯·7ϟc Jݓ̉Ð,D†ÍPÑÑ*õ I,,c1Kr¦eCвK MÙ¥¾ÔÀçhtÉdìx9’FIÒ[mÓ3ùLQrc>KrˆÐe–hÞS2éÓX®©•JzǺׄ¨·aòû¦¨ž@ÙÒ–¾´™5WhVÎb!-Œ^#ô$âBu½ÜJÆö¼A’\R6ƒ ] 0éŒÂ¹þt!";aàÈb‚—B.G…1âÊŸ<–ìG{4ß]¸ìÞ©b¥äö ¨ábºAƒ‚ Qöõtãt¹3qIDqPû9û2“¾÷& VåÂÈu®ÒÈgÌXeÁOæ}yÆ1î5/³,õ´a,Ìý 2KK¸×ûQ/øÞxŠi99H/B¸úusôÂV|*§} bf—¬—]²vIc(iOX?ûa®³Ô™;×Bvi3!Lé#šÖÏŸ0Nb?%½l@ÖŒåÒÇ"…sÚŒ<“ËÆâ'í¨-Š$àÌ-Y–dV‰f´ï(ÌÑ@¤gྻ²¨ALŽÍ¸ÇÃßJ9ßEs6^ïŸÞb7 â¹èòÊzYr56Õõ`¹d¬QÄŽ݀DžËë;8F&nÍý͸K5x÷8&§“Át<Dzæl…‰áè¾Ãs9•É÷ç8•.XRÄv±RëÕ¾òD™BÍQ…¬Qj\ò2q³$Íß礨@Óã³ù˜U/‚ÆKŽ&j Ö¢e2€^mûy€øì~SèRYX÷âéû3xvãB!„¹°TôÌaNOƒ.B’†WJÞÔÏ'e RõLp§–;…•Šñ`†iÏ3…K ¯”¸D0‰èW‰Ë ƒ£Io²],Óã$å2ó¤KAI’Ÿ‚Ë”¢æZ[PI,”ÉÜnÌξÌn3«œ}öjJ-FùJ×å­õ‰"ÈÑ R#™L¦±%î6i÷­)£³‹RÓ LÁ”’ìƒd$WcS=ˆï –Œå㎕×'8Æfl/ímžj oá6ü¨o d¶ë2qæŠä÷eŽˆÌ·¥‰S¶Üz%¥à¹qZpˆW 3Ð<²ˆÐ&È®ÃïÖ¤È'MjÚzЋ§ƒ–«Ábð=„ DÙÃ,Ff0šåtž2(|6ÉÔm8 s1`©˜6ÿÀîb_Ïd”%iøp¦”¼ÖÏ'å(¾Rf ßøÞhV†M”žþ8 –%ü·Š,ìÙ)n°¦¢ýéëºL×vø›ˆK„cOQ¦ÊæÏGãà?c»ðô$Rª]h 4kÌ-À½™ÅšuûÍêPÖ¾¹ˆéâ7ÃJŠ’iôEN¸Ÿ~¹²™’„à¥tQêËhÀ€»!êoô2@kxv;‘+âö–ŒÕÆ¿‹pÌû’ÑÛo¿­Üêµ ÀÉE·FŒú]8ÝÀ,<%]²Â ç;j8gÅ"ÚÔ »?GÔ×e>Kf©æÖHcòiðªq!>„‰ÝÏCUʸ§Ê®ÃïÖ¤ÈW'æ§2â(³Ü€²÷Í€ï!†Ì"W±}#NG#CƒšÂSEÌÆt¶D°%¯Ÿ„y¬|ý¦Wêk€Äï+'Izz’7„öóI™Iœmê}ËÈÉRžk°Ô¶¦¼¬’޹iÍ5êÁ½e6ca˹e =1/³c˜ÒwoV¹^²/ .‹QðgÐL®õýÖÒ•Ì­73X?«4d©†[´‘ÖAßÐÄo€•%ÓkDMÎ} %‚‹€îa.òÅ wI29ƒQú†îjø¹\Š^i¼d¬JJ³Ÿàø±ýáBà+ú§OúgV#TÇÎ/0†¥j 狆€YR¡NÁc‘XÒå~ÍÛÊ<³Tsk¤1Ù6xÕ¸[‚ì:üº*á+ 6~c~æàÏtÜoÌnŬɀï!ÞžkÖ8Ã{³…e# CãÐÆSzþfŒ=ÒÕPeO4„˜ÃÅóDz¤)%oˆ^?=NñXMÛÌÛDdr= §/q‰ú±˜»lƒ-´Krž¸‹ó}&Wêeë(—4›I°s jŸåº³ßÆ÷ iF¥Í*6|L9*KÄi8léÛ74ñGÁJŠ ]”´½Pvo£äñ½<±O‚Œ½‰cT~</7œq”såÁ§ËKÆjf»ùyØóæcÆŽï~æóš)î—#žUy×;Þº_œsl1\sE³ê%.&‹špâUã’´±……Ÿ…ý3 gåå$¦(ùØ‹èqŸÚ6‡¤)××2Ï™K²}.3 ^ .¹è‹éýpõc†ÛZtT9øðý<ÉÓòP6Ÿ:kA1HZ•Kdàì~ÞO\{M¡½*>r1zå.=¥ BP’[o EB’¥s7å™áÀ™$…Š0Ÿð´´¨è˜Ëy´,ÀÖq3[†È5î¹=mÔÛj¡³`#°Í˜Ö.É@2í3¢µû¨ÞÅŽa|ŸI†6%N'w„Ö'/„@¢øÕšCã£S6!Úà ’)*DŒý–=¼-K…X•E^• 4¿VRÄüT†«qg•+)åB³c$»DÎ+§™\Q½ž]·¦j5¹ª]¶\2V™IEéüX,Þ3:ãHüÖoþZ•ÕdW2€YcG¨“.G¡j¸± ®0ææP wÞŠ8“âÖèwÎç-Íõåéd™;vµ1–C—…ÂØ «}}¸44—šÖlÚïÅPz~a+XŸ½¤e’6,e…êë%E„µ‘›+¥Y||8(9ý2 & {=­·d)…¤#K½ –Ý&¥Ó_§Æ ß±µ]kn^Bâ¿=x>vâ®cóX+^$yúgMzµiqʤԊ#z/ ¸/Šrìü¶¶ã׊–¤¡LcO`Ð]¶Ž¼š—sáD/ÍhðgPv).vIK\š±’.¦$¸·‘~‹"ßUp96K|Š,q5Ø@£ÂVR$ù Zï^O©”­\èBw_D>^9Vf5Çr¶ës5–F´_2VŒ>Rsrº¯‹#=WóýÈÆX¢Ÿc]³n¸´ÿ¦à¹FÍáýôp+Â`8“޽5"ŸƒÂéÆÜÀraî+þô Èt:°o[ÓÆ ^/’§@›Eæåë%Eb,¡'jȇá8ý2&a›‡£¥„G”VNà•f.wÉ)ÇÜÌÃ;‡äO7`ìí¾¦=ÿƒ†y³RfÉ.¥”6 DÜÌ&ù)àIS²ósUÃjz¯$=o ²¨q·æ`ö°á’ík˜ré}©ô–^Æ‚ÐÖ„‘seoÈ’'Ð,K\àÔ4P}8â`%Ec‡öX÷Jƒd—@‹·ý1ù´áÀË @‰¬rÙ›+’l–ŒÕ@/ºœ~Keæ'8bàU³@rC¢š#³`s¨E¸ŸÙ:ó §•ÁÊbÅÀÕÉ ±7€—­?üFÔ,&/Ùè~ŠLÞö8¹[õ£Ml™óŠÉ¯(ºl]SàŒ"®bÁÓw*.sÉ?VVi AZ„G(bDØx½¸À²€ïcÍ*“-£xÎRZYD¨}Îþ²ÃîÔâÊë6û1ôƒb¦šâžkÓ)>åþË" í ¤H §/sNþäƒp2c oþk)Þ’îÆ*ó8Õ ò ƒ.I aÔ¸GÛp–1½`†_*¡™gB4 t·Sû>•‘—Wú3Uз“e“ð¡g1¿ئA%‡Q+–dôLEf0}ÎÝn¼eS´šËxOš)%Ú²Åc!ãÛ^ì½¥˜¡´ÐÃ+³d$;~J\ ç¨-(ñ“°’¢B~’ÑÛÜË”’¢’=*Òäúa=ˆïr…ªµå 4"C1ɳ9VmPi Yq6oßXâ+*$ñ_Ýå”CøøGÿf7+‚©g,1 $ºÄÀ¢9Y$C4ôuÔb”W\»‰äÓ VêóFûœÀšÂË=£Üs°cõ¾:É»ÔXÀmÙË´ 57TñªqÙV·ÀYŠüFNö*@“í 4âΈ…á¿¬t¡ÙòB’-”¶aˆ¥5EË×bØœ?(šAj9bb÷Ó,|Yd8ÞÀANGÞ &tƒ§dádÆ™øµóî¾ Æ„b´ŒãŽEâÒvÉ̆³ öl<Ÿœ±ØøKìõ9(Ú‹±¿¤ ¾hV\¸hAóY‘)%hò’}€P„5 ×’8S”¶º3üÁ(0¦ …Áè~;g®‡v0K´ì+H\€mß2â ¬¤h0?eŠ{Ž’„(_úæ.[J bã Ä Æ5EɪÊÕ`‡72V£b‰oÃ%ÙBÈQ{yÞwpŒ¡²ÚvÈ€«f v¯f„m9Fæ^“*¦äÆ¢Á&eolùä¿{`ºiþ™meFârÆ4½Ü¥Äxg/ÙjdXsC¯â„‰ƒ®€|RäþÕÎs–êxÙ« ˆÛ<¶xÁö…5t®(§÷Ä–—ÁÊö¤ç· Ƨ­hùº¬Çf`3^ξcu, ½þ\2Í„E $ DÓñÒ8Û'm¦7É Í3$éÉ‹2N#~Žòœ£%K E´+pàÇñ^€âTàm%Ji²Ä’™ÇÛ×cÂ+Â&yz|ÊXÏØZÈ/l؈fæÛ—Ž¡àî×]„.E¬Ð|í"¸•Vr¨Ø9s=\â²$–}/%.ÀǶo™ñ +)ªÌ£LtN¤Dð­Ƈù™ÂAª6*WÉï»7 (øÒQ±¦ÔÑ|É—o{Ë›`ñzÑË—Ž.]utÍÎpÜûÞ÷¾ÿýïÍ5×üÞïý^S݆ùÈGÎ>~6 §.ؾ‹w$HdˆÑËÒ(H¦‰f¨‚Wš<¶^¶L5Çmõœ1w[¥šêL“µt’6þ ^RP8Ý03pŽ6áœÈ²mðµ.y³¹ U¿Q)àÔƒ€p¥£ ÊhõP) ”Eñ¨ùßß>¤•G¦S .»SØga~G‰2ë¥g’Íaèé©-Y/£2úæ¦bZZ¯ðf,ê^eÄ’þ Qî«$jˆL(Ú@ ’f,-hXäÝÍ1‰I{ÄÏõd6¢yùöõ899ç.£#çÞK?*œ7޽Î÷IÒ³¤ £ËR´ì«‘¸Û¾e>Ĭ¬%Ʀhb†ÉÓS‚L}wŠ)7¸``|º¤U«Ï•'F¶1VäY»úX¶AC‘R¾¡rü•Ý{‚õüÓ?ýÓ¿û»¿kª•:êY†ÖóxþŠÊƒ×pT ¦2Œý¥™Ù§×òƒ‰É—Î:cZ _—XOæœËqæL]té’Cé$]0k@¤:e>»A3Y‘DZ&…ÆB2n³R~°–—ü}"³èè–÷Pi•")(^JÏŒ¶Ø‡ÔÌHeÛÌLǽJ>V‘AV½(ñº˜@¯á£ø^IÙØÖ@ âÄ.@-–_Ôú"¯7K‰¤º€`Ä"› ´¤ÀÉÍb%G"[Ö¼|û§ Lt/ Ï]TÓëÄ”Ê ÏqÞV–$.èmß\Loø2ŒM‘$y¬»0d•ûÖÔGñ#×ËÞ†2øllN¼©oUŸ+KŽúXJ3+§?QÛ‰íR__2©wIYž¼ƒãòÑ¥{‚ãNwºS¯Ó Ôü ŸÔõ÷c):ìË8PsõµaÃÑ;8Š$¥˜\rÈ]ô¬ˆG3å Uïrd™å±ò³•œ¯»¤N\zMÖÒI<%eT‡ˆwA.¬IIV$Ñ€–9a¾ÕC.b}r”9§ïTƯôÌúМzÔ¨€Ó Ö·j<†µÃ¤—µùš²;ŽŒ =?!øR»}X©×KÃH´w^ˆ¾û%og2 Ðfn¼å¤"ž*kG¥Lª'¾)®bé§ßBQ i’ŽU0V$‚Ò’}ý\F™ïù@šáЗp3³ô6æeŸ¾÷² ‡f†i|’øfI¶ˆ +kúBZÄÑ.'º'1çVÖô:±%ßoÇ2ÜV–$.hmßrMe›"IòX÷$7V¹oM-Vr4É÷6&oÆûä3Žú\‘@˜T‡–6± ëjžqti—dcE%È“L,­×àhãØxÇžàÀ eŸv6aòí·ßþ®w½ëoþfó^OhÞýîwß÷¾÷ÅQˆ?¿Àw[îw¿ûÝùÎw†ñûÞ÷¾¿üË¿4c³þÁ~0>ÿâ/þâ¸æ›|æAzÐÝîv·O|âÀïx°Âs ¼³Ž „Y ýrï:”n¸áe/{YmÉêW®xó+-rø£·<Š$¥ÈUsz+’„*SMº°Rfyþ»V²Ê–:qé5Y/ÙIüP-ß¶¥²ñðBV$Ñ ™É¨,Óˆöû®)ÒíÖŽÓÚviìxtìsËfæ2 ¸¶6ÀrisÐéŽFLæ Ànfƒão¦°"¾ ^)Óˆ÷zÅO¿õE‚Ù~yö=#~^UL³<þ},ô9ü¹èò|ƒ Ÿ±{ÍÐ÷Ì7Þ³ˆ‰ŸqáŸçFójˆOG/ÀÌ\ ”,ëÓâÑ)Ot'Î6ß!?æ*iFûÃÇŒýȪqo¶‘¸ÀéZ²ÄÙ£’ª¸OÏ0ã²Ê½jJä)Â2’+¤Úÿ¸•gÅ™ŠÇÔx3Y3À†öœ4̾c»xQ&¥$áh_ÐàË).â5ø¢Ên=ÁÜ_øc “qñÀ>Ð8P1œS¼ùÍo¾ãŽ;|%?û³?ûmo{ÛG>ò[à¤Ã8h€ÒøÃïÿû?ã3>Ã+?ô¡Áëîw¿;ðßøÆ¶7šoic¦!$ƃ\p®AGÊ '8×è‚Kš;‚á({^JJkr•‹EÌzÕ™>Èëƒî‹¥Ìò˜yùäªL]téRÙ†NÒ%®l¢Ÿ]S&Áãá…lK¢A'§šÑ‘sß–žý„¼&9î¨ô–t_…92ÀEêà1eíd©(If™Ñ„èˆ(#46+B lL)ÓæaÃô–V)‰â×ÊõEµü'O"(`é?–|ý†PÄ…顈F¡mV 2à;$"=3gFûzcÊ\âx©‡e)qá;=´dIfAzâžlˆA‚«<½¦ŒÂe5õ‚ñi#sÜJ˜p¡"œ©‡=e³Á'4>fÚþŽ_n¾ bÇGwë€Cw{Ü/ÅqƼ1Äýá ŽK—ì”+Ú¿ú«¿zÀ€dàqŒ+ÇÒ]ïzW¼Ú^øÀpüa¥8׸ç=8Äx/.1Zxb¤5xñ8#úZQå1‡?Ú¨Q86&ãðó<) 7xÁÑ]RZÎñQÊKê/AƒJÏÇHZQ’*½Î§€;bMê0GsÙë&:ª“l«uPYyÜ]¶%O7¬^m7ìmåÄâŽMìf~xn· ç$ºM¿öëÚå©8—ñ•ËœWÔ{G“½ŒPõSD²Ô”~5ÙkvòÄ’2èù¸f³‰¾™Âа dzG«F;ZV¢ø Ö%«°%ï#•Ñ ‡,‹YÚÌ–‰2ŠÒNûIbÒ3¡OšÑ~¬À‘bŽYcqÆÚK\¸O -YÚ¤(̆ ÷‚uk«<¥¦­ÁÕÏV`2–L2W¹ªq­"áËKî5‹S‡àÌ}y~ì#nzùè2þƒãå]{‚C*ƒ£‡w¾óû·{ñâÅk¯½–¥ñtEþ玣œ‰àüâ>÷¹Ï;ÞñÚ„7¼á øJKÁ`7‹0Nˆa`4xq÷Nßo¼ñ¦›nâ%Ø îí{áäþ]"âÃn¾.&—sÕ7"ƱÍy'r;çYsÔ¤N\z%°ÜIzEiÃá]îþtÆOËDâ÷{)«]lÁ‡³Å•gP•öÂÆ!ë¨aQAˆ^QSpgQôŠ â+—ƒîf½¢fa¨HÀküà1Y¶Ji’ùæ~ö° iÖ]ÉU,‘97’6«ã5~1ßÍ!iæÇV$ CÀ±¾ˆ —rkŒ.L–Ÿ5J—Y„£tœŒ\uÕU*ÏDè¾_†ÄDÂ8× ‚ÉrÌÁÒ²Ð‡ÃØbɉƒÁȇmuÐâBÚå\ŠEÌUè’ÞP h…CÁëðŠì.èw&‡±êwn¯É j´¯ |…±Ïnà1)Àéè:zeƒ<ˆSIlg·.h]@Œö TÇ,q‰i¡eÙêK EÌ6l(Ï'ø©À¢øC hî*wɀ̌rîb‹ ¼«Urˆ[8ÖÜó’øvcN•GMÒÊÁitŒ.²ì0ƒ\Å8â›&FÉY–õ9e¯Xºk8ư «. ùª’’ FYÖÛˆ°!‹dšŠ-Þ]§ÛGnÐxetÜLª©‡ÒQe©—Ÿ~ÛŠºçÁ¥í ôUŽAñ–ÐÍaÁñ_Ù&/L (µß 3‰‹%Ÿü¶oÀ |ŸnÄA8ºäBÚ! ˆ8Å=. ‘ž‰ˆ¾ßÎA`[Y’¸¨Z²$«,YJ¦ˆø¶Æ=w¢²@©™+ ޝJG3ÃÝÄ;Öð©ÌU Ô U‹Å3Žd³‚Ѐ5å³½•7Óˆ0áq’“¯¨]µsïàðoÅ‹Bù®P<|a)ðL oL=?þñ¿éMo2=3Ž×”¾ýío§ñ¾þþ±Î×]wÝë_ÿz íÏ8¦é‚ÃÓ 2 ‹)£²ŒEû±±èó»¥é9Sx³UŽð©³Éú0žSˆ55 º¨Ç~a6ˆ·IÿZÖ~AÏj´‰ šh3QãG„ iföiz_ ¼¤@bÔP`ÑDÁ“÷P£„öEPö˜ƒÆIƒ$BR™t‡²`\(Ê¡E}¼"4>Ï2"â( A,"øfMyú]*û 2Ü‚Úì!ÜŒ³)ÓŽÇäbÕÄØ¯•ŠÄ¥oB6há+B~^µpè\úó—PP-ÍÞ>y‚ï Ç?Å=«1ËhD&,{&1i„!$ ÎÖ:ºÆÆ‡y¢» -~éûí|Á9|,„ŒÁÅâ"PMhéH…±^¶Þ}ŽŠ')UâX£½Ÿÿ©%”ùŒÊ•‡ÅÁŒ%”±¾5°/+ªLšÇÙLw/lþÝãï©ìø5™]m΀àqy̱0‡r¸z†~8gü/zwyÐÃ[ ££â¹"ÑÏ¢ˆÏcQö7—è"xQc2qš1½£Ç‡žÜ(0ú*ÔgÀwÎz¯6Ks—1؆Yã%qáR-ƒq0EÄ7رî5Uk#”ƺ®:Ê€¶Xõ7ŽŸ†\*ÉÁndIþËH$éÂR ñFiOºlXZ Q€bÑ(ï=~ÇæøµØõoÍ@:ü:ŸVà“8ÚÀŸs¤6â¸Âq¢Ý¼ýØð6†•$$V¥W½lr IDATfû+»FÙl°´ð£6ƒ¾Þ 9VFÞÐ7×v½¨Rêbª³dw¯èˆWâxれƵR?ð ö(¢%}Ëö3•úè¤Áþêƒz_»±8¹ˆ‚Ÿ3½÷ò2X‰eÍ¥G0û±8†€OÿÇЦäeA€¥”Zžs|d8È(0(Ú$K%\ÇKYÅysôàÆiŽ˜XÀ‘›è.ÆÞR°€¹"ÑwÌF”ÝVä4aÇìs÷£6LõG$IäI!i¶*cÐ3}çŒsh8ú ܬ9ÂSâBŸ -ƒ±2EÄos'ÏŽ)åjcÅm¬HîI%]Dˆ|šsE(„ gÏJrHÆâmÎûÒE`zXúz3SRãí©4E˜¸&Î]8Ô¸êhóŽO-ô•ôo¤>ëå¬@O?|8&*~Ŷ(x“…qØ¡>ã„AȈ3è’3@×Çâƒ#PÀ#C¾†#bÄs¬üüLí%V4hЀÇvtg5Qä·‹”A)z•5ßën6بÿ .ŽqN#MásŠ1úÿ×ÔNYÑ+Ê¹Ž‘’\(@éOqŠŒÎú±à "I²Ü=«kZ×ñ–„ûˆGó| Se‹uôYáËwL/·0†žÞ.vCôQÈÄ8\ÏëÓmâ”4œÉ‰(ÓZ4¨ÔÿR,Ž9..tÀQIk5Û— ÔŸnl«F»Ï™ñÓ(í’»D–R°¢ä6v ‡Ä𤓵¬êüºkUîŧ9cIÇ6V¼=ÓmPi‚…¨ì¨Þ7··ôœ) >zÜñ组¯”‰{Ê«…Òú¢.8e†\y@/×× –ÖRH ‰mM´X—¨¡1?r hoã}çs+frð$½RÁ Gÿ|Kˆ·„,keo)8~w$^,ÊéçÈ`"¢AíŽnÙ<‹dí.w1Î]ZoôàO=zÙ—`ão£lwÑÀn:ª]zV¦a‘·³¤·YÜ¥tG.ç;d” &³¥Ï䤙@M¿”¸ô¡'ƉîÓk—D`•}M“–6B{ÝMxƒ“XƧ0UŠ}áPö{0÷´šsAp À¹—ÊA8> •æÎKÚxTš±t•ACør þ6¯áX¿¢rœŠõ£:þ 8ž¨†ÜvÁ1ϰ l²"9j’Ž9%Ƽÿ£7TÔDamb-463bš¶ÿ,ÄÙÇ´Ôpf!à®æ/ä‘_I#Z´±"=žnÔã0¼MŠ>Ç'§÷Q—9̜ރ£CúK/çªæm(phS#Œ :Ø‹•"Z3I d|Á Ã#ÂïX|,˜Ò\ºÊйæk)FL±üÝœYœ}‚U…©YZ½¤È/£sE9½ÏÞ|2+ÅlÁQýaÓÝŸ¡ 8Í„±œYð?1–¶•ÒxÉz +X²È{‰YÒÆÛ‹,îRzÞ.sÙ“,å̺§KâßBOŒâ.óO÷ZŒd• In¾bbÆqÊm1Ì*&HÕ¨dœ®¢¦m•õ˜_ä]ÈDº ôþfA³1Â…Ó×p\ZŸà“·sf‹Aò5GG¶oÁîÛûŠ ’á·ôåÏD©í<ÓYC/œ”®¿þz }™žG+Ë1V´ï+"› !µËY–õ»†SfKef¬™w­Ê½øÄä4h@†^&×t3,änÚ†ÃÐQû¢œ,HQê |77ð³ÿ¦Cä4£b%A„›¥¬Y÷üœ x ]³²ò¤dpfH·Þq199§ÅèSîñ4(ñça%W›3⿨µ9ô<{÷AP‰åŸ+Tß‹Ù0M´4 ÝyCÆŠð)ÈÔ%¸ŒílÆJ>ñ• ÇOpÌxÀqûí·IÔõr2`ÝÔ®ÙíxûœÜ‡#Ä¢øs‡×oxPj£N†\ôÊiFÅÊTêãþÊãþSöu‚¿k8Boúeœw­Ê½øÔäª~%AVþT‚!üÙ,eÑ Ë….8, r–áP Z@ŽEKÆŠÑϧÓ²ÍÏ{]ýÊtœµ&Ö:·^Ìñ¡>:ú¥6Í8±ˆ½¯HCQÎEô“³º¯X306~h×øÊ˜5÷8Ô@ÍjS ”¼%•ƒ Ë» É•=Ç9vÝØ|=e®¯¨ü›ûÜ«¯¾æœüwÍ5wJ&z•þtãkný£ÁŠäv>Þ±—Mî=rø9½ç6VÎaæôcñ“ö·Þz«è¹Á}ù2zEMÁJ£WÔÔà,`sSç‡02ŒKjLöi¼¿†š^mÚ '#Ûî!b¬‚†E{$`µ¿íŽLã?·Ë°-:Ðæè‡Ç`²H,Ç^Æõ¢2Üóñ5‚^ž‘F)—Ú´ôîȯJÊp $çU©'“UX3°f`™ ø¡]17–áë'¨lÊ”’wƤr,U;&ˆ¹*ó©b·N³G,üÅXÍÛC{_eŸ3ö±g‘À %ñêq¹yÇŒOp¼ý­oêÁr×1^óêWí:Å‘üdo;ãˆß±GѨ-½û%µQ83-øãà1€xòœ/¼ð)ŽÞ R®‰U Uc†-º½[ÆüŠPãj³¦®¾Øa‹M½ïV,í]ÂöY&`¿lÃÒéó¡VáÜf7 ?Bdÿß13™‡ à`·Bò¡âBóø÷N˜{Ks—@›(§ÏT'ŠNk(Q¸qªÔŸÂ¬ÿ¿f`ÍÀBÀÐÆWÛlê¨ ™ËôMÎ?,ÝŠ)õÚ Xud“b;årù4§…±€Ào£àŸ‡9÷ ²­y¬ú•I03Á‰—dRiÆj6ïÝü]˜ñ€Ã"¬Ÿ“Qg…ZÇGBêçPÅ€±a)úÜåb,G`”ž'A¶E‡¯mÔlç| â@9å_¹{áxn3ɤº¦®aYZ¯ðýjÔ³=¥wEž6Zý—@$<Šm ”ÔH¬¤Íª\3P΀ÜÚü—Ûí¡ì^Y*ËexÜNXxN! èèÈ ±4&£Ž0øË…+ì±úÊlô2³Ôy4iM_$ÆKókïcM—sÑE@ÉŠˆYÒf:ɃDÔå2 ½X.–d‰‹ËšÐ¹±œkÄJØœ{G=jgU.PŠK‘AÜÕZr>4Ë>ƒ˜fhžn@¹y«è+7…~YeÆöéiËö*·{ÊAyزŒ «²ÙÈÒËø~ÊzÀ12içÕ¼fŽ[27‡2 8>§ÈB”ŽE8Q²]ޙʽ…ú@Ä ^€Ò¼ í…SϼْT×Ôrˆ£Fÿ aL0ª›1ÛSzWäicÜp DÂ5lÇŽz‰éå4œgr5zÎo5Æ›ÄÛé)²ÖÜTjl+´Ú¨"ÙZÀׯ˜ãr™šèh}p¡OKã#öˆ2x„Çè•C+ë­tÉO©>B33‘†,Íw¬}Œ8E“‹.z„HVDÌ`3…Ìû"QR;I].ÃЋe²!¼Ë¥Ä-0d¸Ü§¾X='•ÝPgò¤YR‰ˆÐ{@J¡H¢Ð+ç’ÓG>ËhbB˜ÃH@Œ –æ;Ö>Fœ¢ÉE=B$+ͦ9T_¤.f/¦.ÚXBÄ2gÖ={ø…ÐcǬ/Àv¯T¬r?·Ü|Ê{ú\1KÍ)’X8¼ÆïLƒ’°Bíì/™%õPŠr.Ð +Þ .ã‹.ÛÇ…£‹ëã³wˆ~ÅqŽ—ñÎZéf|«6ÒâxXس֨;¸àm¿Gÿ™}»8¬ÎLšºQ‰åcæÕÖ7bÄ^8D¶nìÙö ±™¯8“ Ï=•cM™jü!×;¬Øû(r„Áo¸ÀQŠè•CËéc&—Ô0u j9ä¥ĸ`i^cí}¬ér.ºè(Y‘h6ÒA"ÄìÅÔEK…XæÌºçMâ?ºmÌzð$l÷êÔâÀSâÜÞ|ÃBh€À}l®˜%ϧ²"1–ÿ¥pÖ…µ#IâÃÆ—R/¡DŸ¼Œ¬’f“•ö s|r=à˜œÌýÀøÙ¯J`œpµæƒCqÔ Ü©Tð9y°ÂF½°­‚e¹ÇÙÖq T{ù*¯©Ëe•YB—à§fïûIeó8 ZC—¤°¹A^}ó½ïx®§·L5‰,J›ù”ú*xãé±<Ú*¯¨Ì€,áåËåèèO%¢£œSxãDÑ©¿D!7ÓÇ'´sö†'¥§A®ü?¯¨2R¥¥œÛ#ÙóÞþ]*¾t#?齦dyl÷Ú£wòr(̾’¤Ô(Ÿe+ÿ&ä1Ó9ëîí+ååjZI(oVC5×mÙ ©KØ™³–Y3Ǽ†ª3ψg㨚c<wFÍéÚ† ü¬²™JÍ;îMg°d%˜%á“46¥UÄO)Ö.I(Ö˼ðIM!D[‘d`ToÇñC±Ç»xÀñ¹Ÿÿ÷Þö–7J•’J±™õrëf­ãðÒGÁð—]dÛ9TM Œ?B ûÂaéñk`…Éz¹fàÜf ·‡›^8Œ‹û®¿aÈqІ‚œ8Ø›óÍr‚Ÿ@`ãÏ8¢‹ÄŠI ^¬Óæ(h+Ž$$^îZŠ"Ã6¿‚¿æ0qCŒŽ›‹üߨ#ŒÁWrXtnÉYXQo¼¤4’%`,M¥e¥™€7\&%• àc]ÊqQê'á±àIûrĤ˶”5T 6sd/—ŠœËt½ŒÙ@LG¼ÛB؅庭Œ>íaöúÅCM­ÇÚ0K5)²ÕB°¿ùv)@¡Žô˰Æ^æpϪÆ}”Íñ÷Sà±9ãØÅŽQ•YgÊÀÓMÍ„1*ü8<ë8iæÙ×{!{Õh¶f¿´k8…êô*Úµ*÷âÓ+?†Ó‹U/_»Ü}7wÆÞ}¬'(Lƒ×%àØX„òXÔˆ¾^^q|[ïZŠÀÍß¹<Õ9BÕÜs^<•ˆLÄQh‹èž+«7@ñb”„îûù8O aõµí±ÔÝ”Ü5M‰rÀ¾HÚùÌ^Íü“lwÛeØm7Þ|“.c• ¸€LüªþØÐfo½‚c¹û‹!Æh`U¨ŽœP b<š©„Š5ðhPÐÈÞÜ[ !ÎmŽ8p¼qaý™Ø³yY¯N2PEÍ9ÊÍ_£baløÑyþÑÒ\ãn޶{ñ«vBÚØìk1Ÿ°kUîŧoÆz±ê…ãk'ëùá³ »+Çۼǧ'(NMV/ZŽ’#×@¬¨ÅÌü®¥(Iø´' ”þög¦5h ^â⣊O|ܲyT\XÉœÞ Ê¥Y…¹3À­ûÜÿ°³çg†¶æã®»Í½ìU>Èù‚’}]KžjÏÙçô2ƒ5çŠ)ÊU‡èl cmIVƒPI¯Ü?5%½ÒgÀXá|§rIæqêeœk\>º|éèÒÕG×,÷Çÿõ+ÿ÷K_zË»þìÏîw¿Ïø¶o½á_ü7ÿŒÿìÏþüßùÝÿåozØÃþÞ¿ôGîÿûûj¼óïú¾õ;ÞõgïúÆox õüà_~Ï÷<ë?ÿîëpÿû¿ð…?ðÈ/üáû#Ïyö3ÿÝOýô>ðþë-Ðç3¾ý'ÿ·Ÿºóîü‚›n|Ë[ÞúS?ý3W_}ÍýÀ ¾â+ž`˜°pßûÞ÷û_pãžðxÈIªÐãïCúпúæoùÆoüúrýטæð>1ºW*n,DC,Ì~Ì@nž5ºWsVÀÊ]Ð ‡Ž8¾Y MéÛkÞ«Ü…ùøÞzkéx¾KÜ2‹ƒ¶‘Õ d|ϱ©§Ä[¾T*yé ý9‰S¶Üt »•"¬8’x¹k)Š Û4/ùËŸþô§Ã׃ªÑË¿G#II\|”ÜpEÇè‚ÆˆQïaüÚbÝì}L°-оҲl6j®cü³°_ÜÇ@°·å—|uŽ÷ZLBaf“è´Ìé‰Ù&Äê·á,àUI5gfz¶©tð—~ÂÌǪ Zæ8D¨QšÁ¸£ÐĸP_±uiœñ9ß6âܤÌo›íý-ïÅߣ ƒÕñ¦÷¹J\r—H”ŸÐÄÌgÀŸ¹”½¤áðºttùbƒs›Ë÷>çÆúÁ¼ùøüüÏþÁ¾Á@ž÷ü›ûØ/ý£ÿ÷õyô£ž÷|]^?ÿæïÿGÿ艿ÿúß¹úê;1èÏÁ?ùÚëáòÜç>ûYÏú>êßñÎwÞúK¿àO7¬èöÛoÿÏ¿õ7ÝøÜïxÆ¿ùä'ïxík~ý曞wóü0áò–?þ£—þè‹nºùM™¤Š¢÷½ïýßð´oþŽïø¶}?ݰq xaìDà}sr.\¯X~å8Ì­ÏÕq/­S³ ÝýJõb(C`íE>±ì9¼mû{¤·Œ²-P /Ü}éÓ.íBË._æ:mÅL஥h°7À¹†ýAIÁÔÌ¥Dtä.‹rç0+I r«Ôœ.9~›/2Í?ãä'ÒóÆ5½{{‚Ô8ÒxP¨d Z +êc­1ÉÖ¬Ïp½e =E³­¸]8·õXV¹ÁÝÏ{\ÀL© |s|ËHœ-eõÑsPÞ¦,®¬È 8õ+·rКR¾ƒÂrOpü·ÿâŸÿ¾ðÚkÿþ¿â x€Âˆ¾îu¿÷ã/}Éï|çõ/Ÿöè/}œ°ÿ^÷úÉ¢ô_~Ó7þOÿóÉÉ¿ñ›¿õ^õkÿö™ß+ÆÏzæwßå.w%.¿å†§á‰Oüò;ò·ýëï4Ëÿôë¿ñC?ô¢w¾ë]—í§sµIª(yÊ×?í_û·>îËk¾‡÷ÉNß±j¹©aJ, `?xÀ—ÕÉ—¡P_;“§Ô«nK¥™æk£­t€.-{ÑÚ…Xé9X"Ø=ÒîÙ…›«¿©ÌØv~›²cþå™î·Mðoc-?ıâ”óƒ†Ûµ±ƒAð¹rĉ†G0ù+ñÊÿø†'™\ƒããÒ‹ïшøÐŒ: ”"7A£>†öE94Ñ H¹Æ\dÛ1¸ë(Žú ãŸp]gHò¡Ò¶Á'$%™RýQ—åŸÃc‰eN?*º—ò,¦Û¾¬¤š3;ÉÞÙnp¥Nì'Ç*Éü3H–9gpÆ^TÄ 9»ý)çR>OIXÒl bèm.ƒû™ÒSǤò´pstkÕPÓ,p¹ˆu‹-TŒ3H6‘båc³>s« ÕÌ*:&»Ÿ1ñ+´èØEsü+*.]\î€ã9ßûL|!å?ýú«ì'nù÷ÿþôÅ/j­Éåßþ­_Ç7JÄ=yºœnà󪫮ÙÜŸõìç¼ð‡àKóèÛn»íïÁ™2Gß‚yÁ÷ÿà~ÁµxÀ™¯Ò˜×¾|ƽ1o^Öç iŽEL cB¸ô‹$ZÎ*pŽ`Î;Ôœ[A¨{¤l¥t©”ô¢µ Åž³ÚÇwò¶]Î|î¦.^qîš>5I^òtãºë®³â…ÆŸqв,¬8åü t×RJþlb¿à‡o½õVSNáN‡“‘æï³È¸C”Á# °Š^F•›a»,pöE94YÛ‚þdÿo܆)|)Nm‡ÿ_\<š9ÃÀ”´¤MÔH<x}Ré ãzcA7hÈÐ[FY|£iÄ, m"h#¶Ù$c‘§Ç¤’¡})•3 ÉXBÉ×EìÅ2I2ºx@s‰š²>h¯•’¥éu±ÉÍN Ç õ¸\ÄêEæX€0„E,ÃJfWÃIúŸ¥Q#¬º§”¡ ^2Šï§,wÀñ}Ï}> xêS¾îø7~Ó7³/ú¢GþÌ+þ÷þûoþ©Ÿ~ÅñÉùIÿƒÀÒŸ¡òñ{ìÿø#/ý¾ç<ë£ýè¼ø%/þ‘²¨AøÄ'nû¯ïrœn¼ä¥?A÷$U”>á ÿÄ'>ñ”¯ÿ¦ŸûÙŸ’×…ÐwO…¶e}ÜÔT¿-VDÆÄ!‹!\>5ÚͬáÁ8멦Ưb™«‰‚ô#ÊD’5îÒ‹fíBñf–cØëŸ¦àHƒÞ¶›6„^SS.ŸÐÛéÏ8 –å¢î8gÇ.帹RòÙc21ÕpŸ‚cb|Å#6iÃÙÄæÿŽ6oÓ¨ÿÃéŒý‡ŒƒòO|œÊ'Ïz˜AÒËÓÛÛŠd-Ë·{ä\D ä‹lÃÆ¢8eÅEsRß fC¥¯þXÙ $(.1p7É'©„¯w4p>ŠÅ³±¢^ŸÉžj2hÒK(UV§9–áG&žF¹Ô[Ž•…6Üs±Œ§á›i¢½·LòIºˆe´ñ¡Åø.­â¾]¼<¥¦œÁ¦€D_[.ÊÜ›[ÅèWžqíä5ŸBX1–‡¢r&áÒ^ÂqéòÑËp<üá{ò×=õýïÿÀ?û³øO^·qÓÏûÎïúžŸ¸åAé½äG¤¶7>ïûð’Ñÿõåÿοdôûo¾é9ßwã£ó¸Oû´Oûžï~†¸Œ½|ö³¾çéßò­xã*¾Cß$U+ýÇÿø«pÆñß=õ›~ã×ÿí÷]h[Öo÷tÃrŽéÃ¯Š ÄèüŽq÷öòs„ϺAíο; 4 ðgšè Ù‡ƒ<_¬î‰ò€Ò‹Îyò™yú2Î]ms “Kÿ¥ {¦€›m%P¯x¹ â‚’m§#¯)óY…’Ïí”T7ãXºN|ò6oÓ°',ÎhÏ^б¦9àJ{㟜ý o/ VaÀ,QtÌ ‡&z(mvî¡-sבۉEXÒë˜Úˆ²#J= ^Ré5„jæCGÂZMxI_C×ëe:æ,}5ÍÆ4žFÎ&‰Éˆõ8 ±|ºŒãzV£˜{ÇJ¹ÌÜ@$æd;•­wÄ<$K ³4±j~%T<«eÑ(Aæ^‹Ç þ¢œkÎ2IâSBHê¶ØÍðý¼ƒãßÊùšW¿êiO/kÒQ°yðç=ôío}SÁà`Š:æÍ'Í`¾úÅïùÉ'K®âê\ p‰õº_1øÞoî~xøÒ•ÔÔpH:α‘ð5µ X„Uò¾õ^ɪŜxœ20#XІ´'ãnQé«ÌÊú”·šš2?6EÒ%§—ZKPº‹Ùî_ú”‚-²ê«fõ¤^I³Áº{X3nKãtÐÆ¡PYÉ0,Ùu ^•EÖ<‚‘7@lÏ̳ÿŠŠý [Æ‹áØD>ƒ8\YÕrù‹{b†)HÕØRÒ€A8†Ù|øsÿŠÎ8ø-•è[„wvȲþÏ>K¿7ô#ÑŠði¾R„(†,hŒN{î"bÀíÏlØ[ LÞ¬qÈØå)F¢]r-EF™Á…¿oÂ÷G’‰‡2™Æp4{ç¢{oÙg€8fÏRï›ò(±ÄØš>‰(Þw×l, >™±ÁR_5o,2Í$o¾¡ÍƺAì0–­¦gN3óõ±LSðŠ8^ãÝ£^êH’æµ›ŸäìÙZ~PA 9òpé…ñ £²!pó™ õœK­ÈÏØ‘‰¡¨á¼„ÌDšÍó§’f"И–Ô˜¥D´KG`SüâÝü%zŒæ.¿øQ½Ï5Ÿz÷£{\}t§«Ž®ZîWTr„VýÞe€sÄXæ~NôE”Êÿ0¼MÖXRš»ló"Z¬]s¢ˆyW±õu™î"7€úÐ[·”^´v¡¾-ó) ïn_Ðx 0‘ðîàØƒ«÷.8ö †#öÃUœkØ_ÎÀëc Á¹Tîzþf*³¨‡ÊåÐÄœ‰VS$§¾Ê”eÅLýÜâÊ‚­B¡}Åx ½r•s¥‘@=[±Ä>Äÿźä8xË%mêãÖ°òh"Ç$' ¸«ôi¤ f ioãÖæ%´ý¥ÔQHzËÝ‘É9²EÚÁ³œ¥‚ûbu” Ófl©ŽÕÅ(¡F5V5ßxßX)@™Ò›A)ÏnÐÑB‹ AhÖQÀƒøXû¥Øå¾¢Ò±+Ô3 ©ž §†—±Q0Èei…Y€K¨BDØøù¢Ò+ˆ: s\Žªxy>½¯þèT&Ÿ IDAT(§¯˜†cò%Õ5M A\ ¡oS «%/c/bô“ÞåÒ.ýÍ,+Í{"8Ø38j7t=Ç!$+8Ä ¶|ɱ‰'ðEÿ ÿLA-㣣g0W»">UáÏ5ý‹EžÃ©Õæÿ©éeïõQãí)6ñìÙßså¡¿‡:‘í ×ÙÓØx—J¸È¥‚¸Cd+òÔWŒiûýŒ!hˆÐ+hæñ½L^ïå)69_¯791©,ù2oÇóî'ò“~߯JfÒ¾¥…!KÙ@‡Ñ¯ ÌkT’à@ÈéùCª…$Il…Óv¶Hu¶šg«aÙ÷J_ Õ:öÌgE.åŒÖ5' Þ.|h¨°@ògƉ½—¼)2ŠÊ§°/X¬òçñï§l~#öÂÑ…õ€£œ«µôJ’[J+.Œ„+þuR!Ê ¼L1¸ä,Pp_àŒ£}Ž"ÉÃ!ʘ5i7„Jª§¿ApòÍöûeÂKS^¹ëgì£z3;Ïðg÷žz`Þ´ê]VËú tœ²êƒ®–ç38zŠst¦;ÉõŽ·¦8΄@¾ÔË2ëúéZæL®Váž(:Í¡‰=lÈ~SI\¬è,±•²…ot1û±Ÿ¹-åXœ^öI>I娈ÓÊájðwÁ¦†C¬i›WÄ)kÉXØ1ZiDHÚ‹Y´‰šd褙€ä¥ß¢VY´™ÕÀÏØ$7;&ó¹Œôx¸`»°Â½ ¾0ö€>!8ð¾áøû>>Á½’2Ñ<&K›…õ€£9u«ãI:nl\1³ ÈömË ÙDf²ª8ÝDãMÏ¥²Ñ²YÃeåà^–ͱ’Žõ©kk,}ßßü÷LIS&”ÈÉ`Þ î…¢ò #:zQ4^5•h˜U*‘“fòdAÎ&©÷ÊÇg#)ïZŠ’$¡´“‹Fw<"1J2ío¦»ã§0Pš(:­†ÌÕ˜ä“Ïhpò(À°²_[|`™+Qú.|¹i¬ÙÅE†à9jdõ*|&ù$•XäbétM¥Q¶ÉT›M ND,\NG+TGâ6Ç*„ð˜Ñk„.UcCSÈd¬à(ãè¥:YT¯ô)½xCá:ÓŸ)”¼%#£xu)¤E½»ÈœêMË}äÃbSs‰wpl~%vó¿9ŸàÀï€Ô°Ymö"¹ÝxÇÝ‚„hFÆà÷‹$ÈÉé ¦]6ÆõŽ ÎÉÒù”\VÖìÒklj¨¶5› dÿ¬7 {óŸCÏɇ Òò,šxXž4Ì­‡5ã¶fŽãÚ8 VvIl¼ÎW…Ñ­ˆ—eaÅ)ç¥;•"~yÄÓö‡èÛ¸ëq=êÍFɃ<o¦ô·NÈV„iyð• ´Ô7VXsŽà( _ãÖüÉÍ^3B_Ç$Ÿ¤²o܉h5 klr4àË¢N AF ¹ˆeÂ6Žž­Ç)ÇÊyy„(—1iÍ¢†Æ‡*ŒÊð(ã™2V˜H톂¸ñžRÐ`´ PfàçjK‹³}\Û²m,É\†q¼—Œ^>º4×ð˜õïÐ3ÐÖ‰“Y±QÁ¢‰Èi~øA.L ¡ÙуP¶ZHÕX:‡Àå¦_¶ÎÈc¶5¨²iѾÊîÏ8 ¡¯/|kÔ³ÏÈÈd=± Æµï ´¯ø¬ÒaeàCWßÌ MéZ½ppÀ1bÍ”:ò.”v§jþ8ƒ­ïL˜¦Ï Èæ™ÂôâÓk>x„!b^VÞnì’7‰â]P$›v<ï¯÷.¦·<±¹åäÅþFãÊçX==sŽ40!š9µÅS´±µß­w¥pò™Ô{¥—ÍG4·¿ŠòøË•'­/§ßÆgVÏp¯W;CXŒN/ÏTíøßrNKÂÿ—i„Òન±¬±1¼Ë›Sv'ÿ?äâóv=^É¿SG3€:7„íßì- 9C½õ•Ú§ß·ý?OüÂJ¯|ž†.hÎŒµ+v;!1cƦœ“c‚lÅ=ǪM*°:mô•›Xˆ¶¤püÇæ b®ü€í’õYc-Ÿ¶¹ ÉSddŒ7¿`‚\9›“UƒrÔ4‘©Ñs¹É…fWÒ†PÉRQúo—¢ÁËÊFNîE}…õàië3tÏ ÒÐá»tò\¸U¿f`ÍÀ¾dÀ&‡æ?¹!9~z,ɽ`ssI=£´ä7V| ‰R("7q¡~÷wá9ŸáÚ:ݙ؎,‰¶ È€Ï[2i4H–JË6„2¯²± ïÑe—j¤-KÝ÷(Û¤ºóÓ²=`1çWT˜‹UX3PÈæ_ŠÉÂ_N‘±’qX‰&Ž™¸®B¥ø=‚ÍO‚Ù›¥*ÙÔ›¾÷¨CO¡êƒ·YV~3àc# O÷¦' ÞMÓv+%Ú*ìrÊßwóÊn¿N%¥^|6áÂKÈbƒÖdi1œ2± •›fäVèïh¹# OW)‡&ö°e q)‰ žü÷@ÑPŽIíÞÇé5³)ÿPU·ÓpĤ‰c)c§ît)>kœ´Ìq~‰Ã¤àò–L”$]zœ޲‚ÍÆÐÅÂÕ€ñ1ò^6Ùøj×õìÇ)HM–Îz_MtO NP“i¬ˆ„­€ât-®[¼Ä÷SŽO8ÖŸ‰Ýb#¬¡Ýƒ‘–ŒŽ§ˆ±×v+G€ìà0>W=¿¬\3jºçd¾ ϼê9G2QS¶Z®X3°S˜éŒCn‚| uçfÉòàŸþ/Ü“ÏhðÎ(Pd B½¤HôØqÁŸüz¶ØíõÓg€Ió_íñ È»ÀajRˆµÉ©5—© §ëeÂUF¹xt„Ž‹³¾d´’Êjvn30ß³1¥ ã.~-¹$2Y5kÖ j¸ ‹ô“É”™¤v RHÑ(J àŒ­Zlôz Ÿðê~Æák>5GÒ¸d•SŒÂ &EŒB=¶è¶ïªyTÈë2À¤Yê¶’“]à°•ŠïoÐµÉæk;‰È°‘Tzƒ’#[N×½xÚ$_¾³×ÄÂéÆñ{Fg{G ‰ÕæøËd™ºªÒø£'î‹ÞIf•L“5N… Èî µÕ,Ö„ Ù,q罃³¼“Ê"jm¡‘oc.15[‰8ýòøí›Ÿ‰Å÷Tð]•õoÍÀ&Í»—5}kÖ ŒÊ@¼÷ð†: gIãu~X2Ûk¬5焉€œ;ð»$Èy®(‡&ö@à"¾P”C«ß¯Nâ§ý‰[Sq†k‹E÷Q±jŒÏ­M²!˜ç†RËdÙ¦™i’áh¼¿B—j¤-KÝ÷7ù;Ãܾ¡ri®Ÿ‰Ý™z®DÆeÀ“Â{ÆqÎ1ìÍjdÕ RÈllÍÄUWt¬äã×^´ˆ5ƒ”¢KR³k8I’û®ôínu™Òú<&@Ï÷ȸ\`8LlŽÜüàa§gÌ#Lɶgµu¹W¥zá !] º€°uz¡uÁéªÕ6?ÄÉ¡Æ×ÛxæÐûA$çþt#z%ŸÑ š@!Pá•ôŠQŒùX½¯ï¾È6ÃÛÌ¿À„ÏŽÔ‹î–Þ2ˆUm_byž…Fgž“.—ZEjl`I3óJ†[>3Ý#v©&AÚ²äÝkVMÝ“°w€³té¸òÖ'8ö®¬„·•®Ï¶E`»• Äv—…x3+ÜÅ×Ö@¢\/× ¬X3PŸ™ ü ÖP$§<(Ð+‘ƒx5ëë³±ƒ–œù˜ð'Æ¢»¥qÂ;Ø^](1“ÉN)5zeVf¦I’¡ñþ ]ªI¶,Mtßßäoùñ7S.â[*ë[o‹•Àže€k²=ã½ÒmÍZ\Öå¸ìÒ p ”{'.y_lå»ú­X3pN3 ç~š’I¬¦HÐÊGÉÇ=Ð ”#P©?¤åÌ¿À„?1Ý-ÿrÃ:¤Fé[—xg&“>¥Ô˜—X;š™&I†Æû+t©&AÚ²4Ñ}“¿mæ›—Œâo}Ƕb¿f`ÍÀÎg€kt2•E9õcÜÅe]AJBÖË5kj2 ç~Ö’ùʉWîƒ.b,(_$^t©Ô{¨šTì¾ gþ&ü‰±è¾ûY݆Éfe&»—ZÅËøLÍL“$Cãý𫉝 òwÆ,¡´œs‡qÈ ‹Ò—&óS"RAŠü¥73Ù—&eº€ö s›Àt%‘¡¤}Ò¥I}½òøõ—?×—ŒÖ§mµ\3°fàg€+ræ@–æÔä6 ÷Yp4Tð†n[ýœý½ïxn®h”¾¥^8½êµâ vƒ]KQ¯.4XqøùJ20`&G,¢‰½‹ÑrQDï£@>˜?Îü LøcÑý`’¿@E’ÍÊLv/µ•ñYkš™&I†Æû+4T3î±¹i·,™A4c–¤HÜiïèe³¤e‰†úr”±¥bŸ ÊúFcoÙ_ÂX.Žþ§—Ž._¸xõúG}ÒVËM~åú‡wID/œ^KÆ^|œ^”VœrO[>?\哘_ˆOá#·aàÛ­Ôã3è’B%ÔÝþÀ »Jû¯'pè°cÑN¸xy[8>-Søô‡.yîÈÇ(± árlc™ýnVͪƒOûk«Zƒ— a:JŠ8¿åô1:ÑÄ–¹¢Á(Š.‘À¾k8ó/°Ãœ‹îûžó%ù'›•™ì^jU+ã³ú43M’ ÷WUÍÜ››ö‰YªtÏÑ€>W¨`™+Êé#84õư44Hr()/]ºð¶·¼Ñ,^óêW=íéÏàeÉm-›'þ¼‡¾ý­oòÍqôÕ/~ÏO>Y¢ÕŒ i¿Jðës÷ÿØb¥Ö½ro²ÅšLhàòe/{YT–5ËãX|<ÃQ|zA*ŽOl”G¥:ºS³u?²À  $hœ *§7Ά9ø)˜ƒö«Áš5;žÎ yÊâŠsš‡µé×4Ü yåËŽ„Rv@¦™yáÓÛ[)5æD§Ò#PI40HêÍFJqÉž^É^iP´· ø4¨d}£1ì©ôàTZ_dû¤ >ö‘cSüâÝü%zŒ·,È_ü¨ÇÞçšO½ûÑ=®>ºæâÑ…õ€£«¥‹vö€c¯—Œ¶èIÎ’cëÕ êPq flªsP;‚ÕtòtÃÈ'7œ6‰sÕäm8·1€ £Cfǎʨ‰áDã]¤èµ¯¼šÈ\ZäÆo¼é¦›¼/Î8HÒë£<•LéŠÃ œóü ûÞ…8?p‘ÊÆ…Tz?~mÐEä¦oda@–"à'¡`i¡QZ…óƒ„ „ò_t,Û¯¥kÖ ¬ð°Žió¤?,ÑX,á‹¢&iæ•݃ÄŠð™,õJZz8bI½ ›/Ké5>Š—+-£Ù+^xMÃǽ¯ùÔ»Ýýš£;]µþL¬o†UNf .½™”ú"‘Å!o ¥¾Hd±Ü:èí¥•ô¹œž[‘ËéFsWôôìrXκ”çNÃS*È>“¨¾e€‚9J–rh5PÞfÅA$Õç9?Ȇ¯>3CÁ:Œ·Ù—.”ãÙ¬—éeð»$$Ó' ‚e®ˆú”è=T¹¦Ñ±l¿–®X3°fÀg€»k(¹‡÷ËËeåÒ)lÇ"ûÔŸåÒhßOsáÂ…‹ë;8úåó‘ür+E Vco“Ë·¡;…ýÅóC­ÚZ¯\g6½ß·³'S¨ïÒ1Šì°ý°)…¥,å¹gˆ Íš6LT\"Fä.£cÔä|½>zE·ÏÉÑ+jr¾^½¢ÆÛçäè59_¯^QãísrôŠšœ¯×G¯¨ñö9:FMÁEÑ+jh\¢WÔÜg-ê{º1ˆ–›ÁD*WNDÑqÖt­àkÖ v°'—ÿb}y 0Óžø144åÒ¤‹)slsú”/²tyM”›9G¨ Íñ¯Ä^^&¶"U« 2dQS“¨è5ûˆ³¦h°ÕbCGÍ ÈçÙê.ëunpÆ!E•€š”ŠÍ|Èh½\3°f`2P˜[ây«Ž.œ¬bQÎ%©‡²r ’@†¶~®X3°f`»Xv?_ª«>Î ÚN7b 8ѸĸGÙñ Ç¥«{@­kÖ ¬X305²^熸²Í €8Nåq¼ÁÄä3>mUžd/¨Çg5ʇšÔô€«ÛqVÍfÚ¹åµB¦ÎH29øé(WT©G\V¨©,×¢5kÖ Ôd ~+KÛÒã“^…M~Môî65|XDgEj˜˜±áS_TØÅæò~%›#Žõ€ã8÷ÑåÞ¨KÆ^õB¯éµâ”‡à¡æÇ×ZÆìf•Ëk“¯ñ“ @ÂÑã¶Êˆ"È‚„WZZ»à­¢Ï8zA­8ÒFry¨ùA5¸jÒˆ‹]ÊðÇ„pë+7Á£ž”"Çg%9ÑG&7"‹iP‰@ûÝøµÄäÏ=ôå¼d¬¾Ì÷I&çØ²´‰EðšRjAË$F3Ó$ÉÐx¡0ºç×sÔ1A÷è”ó…xAË)‚ÀZÐ-fàòÑœqà¿‹G׬SZvw}ýæ¤ù~¨KÆ^õBó÷‚ZqÊcéPóÃZËck )òÿ¾ w)¥#‘WaÍÀš5c3›XrGÀOGPüEÀÈ곎ÏP¢¾^Ó†ª>â–˜ùmŸ‰Ï¹w˜KÆš#W{É$“mlYÚÄ"xM)µ e£™i„Laðaa¡að¢R$‰úrÒÀþ|Ú-'?àj^ÌŒ,ÃîõTò±8OÃ[OÚã²PŠ"«šGó5"ŽI*(By/&p#œ¦Â”fFØš¬Ò˜!ð3±gBÔ]à×aŽ®ÂÇ¥£KëKFër¶·Vì+{[ƒ•øšÏ@ܰÂRD½ RºÅÁ.? zQ#äs—Ñ1jr¾^½¢ÆÛçäè59_¯^QãísrôŠšœ¯×G¯¨ñö99zEMÎ×ë£WÔxû‚£¦à΢è54.Ñ+j î[/âÄ’;ÂÃÜ\õÜl½^;N[cè7c3q^2ÖLUØ}X&™TcËÒ&ÁkJ©-#ÍLC2çað.\G¦šIf+LX º1H¯AËhEMôšCs§;_}¯O½çÝîs·õ Ž9Ò{€˜XÉSèmK´CÅA“jÕÖz•ÇóÄüÄ ÃIôvØ!nŠRÊMˆ¹K)1½ðò—¿üéOº×Œ•ùd ‘‡¤;l’zQö‚ê…ó¡«oæåL©Z/>+Žt˜x¹k)êÕ…bM·¢‘)Ž}cdb‘1”?GÉ3̾¨P; ä-+¼‹ÉSÖô­¯ó¼m{lÎï .hKÆ’Ðçç’If•cËÒ&ÁkJ©-#ÍLãÉ̽qÃ<7º{ ^ÔhÊ ¤ît¤»0ŸAR]°ì[ÎÆ–µ>•ƒ±’ ÉyÕÃæêõW]uÕg>ð3ïy¯»_xÛ[Þhn¯yõ«žöôgð²kµì•ÞCßþÖ7ùæ8úê¿ç'Ÿ,ø˜hD/1`lŽˆó‚¹û•‡Ùä:+_£˜ËÊ\‘×o '—‡>½ ¶Žó5·þz[§™V𱃖Â`ª;â è ¥A>óuie–y&Ê3—"ØðQFÈ~üÆ*‹¯‡…1Î5ðéÿrÇǾZ™¼yòY™I’é5‡çRUµ‰|tÅa*rÂŽ¤¨­ q~°Û´Ÿ¥QߤÒçA¡´Q5ñ³‡Í*¢áúÁÀ P0𾌠Á‡öz«£?à ÆÉ?ô6•Þ…2sNÍ® Öî`%ýažKÆšƒÿ^`2Éd[–6±^SJ-hÄhfšŽÞ !¹  Ët!ŽôÜo¼¾^̰¡•ùǺ{¯X 4øÒ¨%K/\¼¥ñ¡}¹ŽV5B™{î“<~ÎØ‡.Û.eKbÒŒ¾øŠ 6Å/~ÑÍ_ò¨á=¯qþâG=ö^×|ê=/ÜûAyÐg<à¾ëWT,-ëg6åu|¹Ôƒ–-Ë¥»ŒneòåÒå«†Ó õó»çàå2sœJÀ8ÞŠ<‚ÉKâÔPªák5eœriäéoá1«(åm8·£0†âëaaO7rJC«ùÌÕ4§/`æ\rúTÎ>§÷8>ÖÉ}©É58Þ+gŸÓ{_/çìszïëåœ}Nï}½œ³Ï齯—sö9½÷9ç’Ó‹;/sö9=!ÌÑ…<þîÈ2ñÖgleòü EÞL}Q%‚wÙ/™3Í]{bÕ–Œ5‘êþº3ɬBlYÚÄ"xM)µ e£5,pk=ªŽ/;zÐ(ûeŒÇÖe¬}}-æCNrÀ8.]þä»ßþžÿò»¼~E%™¢ó¥ÄÒ¡¼DÀ’.ùÏb5K=ŸÊCÅA÷¥jvºa‚çàÝ+W/¿ñì?…ü̃pƒ”Êõt·ê|Ú$„ðz?¥f,E{I)v|P–q¿áK7oü†Íçñßõ×_ë­·š<ñë*ƒõ= Yñ½ Úp$½Ç™hÊŠ:mLÚøDð'æD4ÛMÑ|]Hª¹k—5§©ä¤ë%ÛQ¼¼çF¯ô²Çñúý’íN[vÍ]{bÕË6Õ ÄšHuÝ™dV!f›6±^SJ-hÄ„^ƒOPú%b“±.ØóQñ]x£.Ѹ,Ô=FÏ'{,u¹ÄFð)šKG.Ýqû¥ßþ‰õ€cJ&÷Øk¿*, ¬’\jL¬s_£=¸Ä)p»—› fü‚q¹¨TGœá—yv#yã¯\“ù>y°–ÄA)E>ckd‰Š8’Àxé¡Ô§NŠÊ¥ÜQX?¢¡‘R³á'N7 û3[A’ïÛåÜæd­ø¨ ¬]¨B“ìÿ)åŠ|ü´ m(Fè_÷kî s5cí‚`;Òš»öD¶óm}';$w&™•Š-K›X¯)¥´Œ@b•B¯Aç¿jò 7tû‚Áº4d`WLæ“€Ie'iψÉÒ¤’.IA\Ðë`–«š ¹Ô€‹MMlê.ñ±ð[*ÇÿÕy¬V{šYRøZ”÷?Þr•)2[æ£r­eqYèi[ÁAб”zÕ¨\_)õA#áB©ŒßšÓ÷>¾a§Âäœ_Jò}æÏyfÖêWf`íB’(?G &»#¿AòPØäø=åFh§PäÃí²l·ïæ»v}Õ¸NX V=«³d’Y¯˜mÚÄ"xM)µ e+ …‘U(Š˜ãBQÄY5ç6øŠÊÅ#<ÃqùX8·i8ôŠóö/ _o¿þðúU>ì ð–6±šìc†Sèiå@3á èXJ½˜”ëËR.R-”ú" ÕœnÀì~7½ÂBó›)drÎI¾¤÷œ'g­~M:v¡äN¦†ÃÎÚHr"Oì^D)¿Ú†RÆ‘¡58ÑFBïø¥Ý¾è$\',«!çxâ]þ*A¼WÁfR5bÐpÉ$Ó7f›6±^ ¥’CÀk)©'™!¨8x£MDŽ6m8yÕœŸ à\ãø¿K—>¹~EåÛ‹[Xà3· À‡ß,9Sç¯n¸¥%o–c3Á>fŽÍýg&°K©“˜I0ñJ?$¥f…R+â²&ú²È‡3™/]Ï8˜I Ï2°ÂvJöø>ñ.McÊ%‰åbq¯ÅíVÎrßõsÏ \'l½£ZßÃçØ&täéFøX2I{&™¥1Û´‰Eð*—`YDjF 6âF¹¬Æk:fç›3Ž ø¼´~E¥cbw k/»b[ùnQØOY±-–Žž56•„™É)˜5 ¸Óø{ää½§ª\5"XßÈ*ƒ ”8fÙœŸ™pÀj,%a2˜Q #öG”ú"ØH)4b@œ(DßhsðIB}ö¶ž™ýe¾õÔ­ºd ïùEò÷ž‡{-{Zž— à{á‚™aÖyŒ ’æÂާq[ç>-L2•1Û´‰Eð*—`y¾C›AAbtþ² %8eãµtÍÀpðÇæçTÖ¿s“Þüü[E¥ö´1½,¦Åxë—d[àYc3¶"]0=ø'ÿCKùÿh#„=”U^Áúnœ•ŽbFÓÚEår&DKI˜ÏQ—*Ò(”ú¢dÄ ÀJâÖ;0÷®h“°¿Ì÷®“,IØæ[ìL– º#±øuz¾h£Xı-–¡ÕïµÚ¢ïˆ—ÌÝY±‹6¯ºSúÿÙ{ŸWÛ²ë÷ÄNЪ~Úbº¾€ãzûÆ«ùŽ6kÅýÌ<ãè¬D2Ù³¤ H­3¾PBù¬Bp"Ì3Ù1òªËDçšÔY(ÑäBb¯Œm¹a€y¸¬ã’p\Ï×H¶tø‘O7¶á¹j¯µKë•bF‰áÅ›çÅâ°Ãñ:I¡W‹%å z—c.æj¨raI25ýAu|¬ªré¹<ÅÃB8ãcün0Ÿ&÷ÊÛØÚâíç·oÅ1Ç|Dem¶w‡ÏïÂb›{V;=M"½ç½½ ü,Ñ©­ª³瘹X=‡É„6ö'ðYD¶QÍ™ ŽH¼«ÔŒ+á ÐZ—àIìjU.J×ú<È·µ!ÒÚÖd™ËÙ(ßëåqI8®ç÷Ú–†Ä¥öN@ÓB:ÑzÌùªŽmÛ|s‡ÙkiŽœòU^êrwžÎÕ8䫆ƒ…´ÛÚBr““Ö2OÅ›¨Y[„×÷P"YôÁCy If–g›:> Vå¹RÄ·JŸnèNÇX£pŠž&£¨jc¿øùÏšÊÅ7bñp ¾¢ržMÜhžqŒšþ#‹ YRpF‘’œuÚÚŽFfõùuŒö'((ŸóŒ# p`–® iK×Yš\HŒ }ÂØ–z¨ãJŽKÂfž›‚Ž[ׇñüíÇ>á-¾÷IŸ³µðòePjæ7ìà<ݸ¾ªãÓóPËqƒº<„=ŒÿV‚ÞØðVvmÎt‡{­rîXú {+­L¹UD¯¼µšOÃP ‰#¸PmhÒ+á ”f—Œ‡Í—š18£qt–¸ªs‘6 &W_ÆÈZóŽÓÇ%a3ÏMAwÜfh+1ðúô7‚Üü"R½#êqrNØšÉQ—ˆî\>GhÃÂ4$9…Ek5+ð Açn¦k”E’ îÙ¦ŽÏ‚•ÎEâ­öY>~$=WËYbybT§…SîùÔ¼98ãŽÏ¯ =|þBïi>¢RÈØ}ª›dl¦Ïµ§L–Û– ·Ÿ%:µ¥LÎ(‚“œuj‹}Tü ðeP[Fàø,`Â+-ÿþ2ùò'JȽ‚VÒqPŠq)(wÕ,põÙ§_” ]‚HgáÒäz…/PRÿ3¶9e¡dªîDŠÆ¬²“ì"á¦Qnæ¹)è¦AÏ»ˆÇÿ.èиçtƒ¿ J(YþŽÂ ÜØ[V0Ydz| \T-r°‹uÁ ù(À~N†#€d`ê™×³W„Îåýd.%µ‰QnN­ÿSÿ† ð:ðé’¡¾ÄçyG Kw«ƒÝެk1æ‚4ÓçÚSfÎB9½ ü”õÂ⨦˽ ßÝ–ßA@&Ä[^êÙHWŸQ£¾OhW+dé9Õã‰4$ü†W:‹NŠÐ+hå = E¨ Ðõ²4KBËÒYš\HŒ }ÂØ–z¨ãJŽKÂfž›‚Ž[×Óókÿþº_cÁC(òÞŠ+ÛŸ~]nÖxçÉ”¦jE-׸£j½; G;°ó4çtïçÀEއ„ ¿ëöú~wÍ ¯¼(¡mùéÆÀ³q¯¼èÅpbò,jžm*ø,˜èܤϸ:ñ¹£:Ý(ïá”ìäP/NJÖ¿ÿÞ¿ëðϩ̗Œvðw¦X-®nÍô¹ö”ÙI,½ý5èà0bÈÆåvúoÌ}œ« ÉêójG_ÒÕØJ¤Í“iz‚ædød–z…$ ŽÂ²òe­*Ñü˜Þ§³àƒÉÏ }3¶¹äèjÇ%a3Ï7+èèmi ÿ¹©pÿÂKž2Mï 5}Ö( Î2x¡1)Ä6é‡:£>ÎuRîþ‘R7Ìa8§{ãYÞë×J¸NHn­ šœqÈACà ÑlÅDŠ&Nm˜›ËZ´*}ò,Vžm*ø,˜Ä¹Užä”ÿî½ïš,4K#)¹…SRÖÔ¹ Á鯮ïų*xÇüytJÆ £3d ²ïô6ö“jf‰ßìÍ?ì*õ?“»x)žø(0WÑIn\½u|EçÀµ².HË“izâùd–z…$ ŽÂ²òem 1<—Ln•ÏÆÖ oÚŠ8. ›y¾YA{hÇõaqæé†Ö¬š ÉÁþa›ŠgÈí"Äe!ÈT[ƒÎé|– Ka«c;Թɴ7 I+@.?ZhÒP äEýËÿû,‘° /U­ >Ò<@d 56Mžs°THVDœ›ÃœòÉÀ ø×K·z¾à%£—Ó«ùˆJ;‡÷d‰©Qþv èÐÑÓ¤N{*‚¹Ö+¯!¡·ð3p†jX诱 ÄŒ¢g¤9ÇQ£d6¥{& ]MWœO¿.hÿæô¬Ux)LOÒIððÄÿñÂZiàS<¡³Dâ¨'Fá ”Üëuczr¥—I0=èJ—º·Üä¢P£¸alË ¦~´ {ü–ÙCS·%c¸‡ËQ$lËfžoVÐöÞG‰2w,Nœb´f¢rEž õ¦Þ© ùu"XímOÚáâ"—f¡]zÌí<ÚDï+fñyX<žr:á.ŽyÀñ -j9LŒò˜y¯) d†Ð£0}šÖžMMqÉKz;ƒs ù3&~¯±ã53Êâôo&f…Q0±›J4¹¦N x€l ¬¾4˜É,Æõ¢ MšEtâØ-/».éK“‹,£ •MÚØ–)g”—7 šl–XHÐ#¤ÉÅe®OÑ*§ ª/gHdŒ¢Èàè"fº/)-ü.ìË+Ÿô‰d®h™ìr¹›És­7éÀ—¯üHfO¡b#Æ—íGÉ‘„<OÞÕm¹âRgq‘“£rríM‰ôsj99‹L–¹$ÂÍåÑæjyçÕsGá´Å;­Öc€§~ø¡|Ò’®3|=åê.îàx3QY¯âއŒÉOî5ÅoŽÝËôpV>AæfÙ-y¡·±3¼w#Vköó¶•?thIœNF ’ÜÌ‚#•¨ÓZbÊÒà( /ð×ÿ“ÅKi”™%òfÂGá÷¶¹4Q/Æb'cäÀ°0Ë· 3>⬪¶6 t^ŒêDΚƒzƒ,ú6Š"ƒCü™ØlH¦¾(ß•·Ó™N‚j5  ³ oÎ¥Ní"ÇCMI³"zØ›¶3 §øŸþ¢qÄÛ8ðŽyG?™w…€©Q¦@ü–­,—ñ›]ê,F`®]4¢@ocgx‡„?¤èw@^þÈ&Â’?µis…–#ÍÓz¤…Ñ‘Ksè;t¨£Á“õ…ª/Ù5 „âð´³8Ñ÷ 'H{œ@y·Y†pßüŒBˆ±-7 0ƒ¬Üø˜lµ1 %qäôÊšCé/¢#ýTºÆVj|?\C\Ž¢Èàø‚¦d p0õEùÆNêæš,Úø [¹štïB0æiÏ!_•O.Hïã8“ÇurŠˆ;¯orm-mÎqëîŽ=×ϧÈí8Ô{7ä7.?ú¨ëfzœmà~ÍŽ;nH¡qj”‰#š_4ÇÖž¤Ñ•Af&¢j|:³ÚLÎ(|‰œÉ%w£@"7õéšÒõbþÀò—vPÇ(H¡I¡÷GÞÔ@>)^Q“ʼnÄ+P3NœXy‡¹ºvàɧ«FrŸ0¶å†ªJ’ª*ߊ„!Y­E^4E‘Á©õsêoÃÇS_”oãÆ,e{PŦÒéä«6.Hæ9¿IbVÄMhŸ… àûV<ãÀ£(8ãÀ¹Ï8$ÑõˆÊ§§óùipñ¸Yœe"\\4¦h.r™eWPþ’.ÅSûNš3Ì@Ú[áJKtšQh¡¤9“É%KarHa(ióÃó#ï¹$&ü¶g/¯>|¯PX.‹(Ôß<ÿìÓwÝy÷6Ÿ„»ê¼2ÏÕ—!x×èèæDH®wC ½îIÞþ¡R4”Ù‰‰‚/NnWÑî%í¹e%JW¿/§I 15.àªlÿ'bÓœ”î5é£3 Ã/7 !ðy1^Q0¡ñ:†ÛEp˜$u´P:—>’ 3¦8Èu·¥…â°‡ÂAû£(›£ òűˆæ„ç°êî õø|÷ÁÎ=h¹þy²y ÏÎ3Ïä”L& ˜›8:ÑŒùÛO¨\T™†™y™` ˜ÚNäÍsª3]K@—®SþË¿(ÌïèÖòàíÝÂ\@H)µg: ¤k]í1—ÛyP"ÏY ë”…&½5Û§kí¼ýÁÁ‡dÉ åIý sþ—W¢A(7Ü?9å…îÿšñœòá vAöž@ŽS‰¤\;c¦¾œhr‘ÅiØž´q©êîms|¸ûj­ 0˜|Ñ›’„K³8©-zNm¹S20Øž’ágpŒ_TÑNJÖ/~þ3-¬Iãϗ󼃣†³GÖ ¦ÆZ¼ynB-A¢ã][" pâCùƒ AèdŽ®EB%æ‚YÂ-L /oÉ•tõî… ¥0Fð¦5Ë µÕÑÓÇ%Á{®_¦3°^¤ sÆaðõy„Éò—æü æD#)ñ8ýÏa?æ¤%˜ÍI“Åœœ>—4-Ów ä¦áI—(%›¢ùÄ(<%“ÉÀN¨íæ8Ëà‡Ìq¸ãú”ÊéüôjÞÁ±“Vq70ùõìKýÌš›P7ãB¦óÁ½«Ì{Yd’¦ä-G×¢B–ÂNsÁ @üHï©„€ðo”ÐÃGH€ÀÂ0 ?内ø‡P;. ›yn Bµ²‹õW±îÂ9´Å™"Lh÷Ý8= XùçåC2Àɺ<úx‰²=Ny‰Ss20ؘG¢­n¿ý‚Êùò|¾ÌÏĶrøØvf‰YH†_‰¶áW¢Æåc‰ò@R! Ä‹W£ìÝXTð&ZÒi.PˆludSÄ­‘ÙÿPNíá}§ËC6ý¥Üðž<. ‡ðœ=mÆ8¼‡Vd\ºï.Àé)ž öP/Ó‡1pß½æ@1] Ü%œ°8…I˜X]ø¼´‹ÿtn+3×7Œâ&Žççù™ØV ÍÎ4S„…fùçH×wðž õ΋fL°OÄ  °ÈÅ:~#Ò5ÉèçÞw›s}(¹Lx4-¡3ÔgB«Åi‚äÔˆ)§¢Ï[è™Ks}’¼y›šGIôDÁª—`ÁÞQ¢èçqI¸•çh'ÒêkÝMú ~3M+£;&6Hä84ò ŸrÁs*¯žç;8J9{h=½ñò½O$pTÑrÆñòRrÚ†Cóã&d‡ÿ±¢EÚœq4ÇO$¹9ïºIªÐœ!`DZˆ4l ®qDŸgÆj^’/÷户"ûo¡«x–¥ Y4x8 §¡èû0Ñkò :8†ï*ê ×k?«Z¦6¬J“É€ÆÀQMzo8ˆ}ˆK‹ ¢ TëºhûŠÊõ çóåtÆ9Ç<à(iÀª£›(ÀSRøýƒÓoâ7~îéŒCw*‰nËß×·ßÅÀo¤áŒfiížQö~.*x-é4¨ZZ}íðݧÍd®ö²¬¨ W0µ!ì“„Å`¡{¾ˆ#ÊyeÂú,àȹ†è˜öæõ ÅD‰•K¹ÐŒ¼jêä0S›òÉÀd`2p7 èÕõÝõÐ|ñ•ç§ÓüŠÊC7„(x½ÇÖzz8øèí_é‘‹gL–G4'~Í›{²XÇo¤ûÏ8@ ­–ãL­¹èׂhý¸DhÆ ÷”+­‚=TìŒú¸$læù¨‚Fá°îú9—ròþoˆ šãzžëÌìÄ7—R–áv¬m20˜ L&k0pÆýx@Ÿ‰=]æk0¼_Ì䱄\îˆë^MnßðšÓûÒ†ÝÍI–V 84?n‚TþŒC‡ÆwµB9÷Ô´è ФKð‰¿¬¡¾‡Ò’¶ˆ4ÂÍÓ¾%]ÂyŸ–£¢7»ü‹rßuœ缽+§ ©Jßž„*w•òfž*hŽâ 7™s)'ï-oöf:ÞØ)ÃíÆ¥Ïâ&“ÉÀd`2ÐÊRy–×pÌŽVïËÛYT%÷'²{ÉElvæ9µœœæT>/'A*„sÆax(yDHt°`Í‚L}Y‚¯õ“éZE?eñÝQÒÃÝ Í6c‘™=Žˆæfž*hŽá¡ç2çRNž,Ë('uv$üôëpãÿŠ.¥¾¢|Tå:ò|ÿÇ+ú“‡þê/ÿøïÞûn>¿4çõë×?øÁJµóz÷Šs¯<£&ïµÊ~ôÑ×¾õÙOòMõ¨9£ê뎫~E{ÃÕ¤ño<ãþù’Ñ£ëøíO7°ÇæËŠüíôÂìÌ)/LÀšzU§Ó… ûQ“pÚü1L>àGÌ[í‰IŒ¶Û\³+;ÄéßÎ3ŠÕ‘`BÞÌóQÂ1<ô\æ\ÊÉ“eå¤Î päÙrFÆ~›.IúõëSà VðÄazâ“{岺uúNªþ£¯I bCø£·-¼!.¶$L}}õ­[m‡›Jl hâÄmc$?ÛôÛÓ ¼gªÌŸGaÀŸ_èÈ}.þ0[rº! ÜÕ7¯„ˆ ½:bº™$“rgMŽ.@ƒ¥¼è 9pÈKðsÉÂRÆ¢v? SSŒw?Š'xïÆ<Ý`ílV}£ …Cú9—ròd‰F9©3…œ‘ÍŒFy`Ûœ¥×Í$'×::ÓÏɵ­Nçôsrm«Ó9ýœ\ÛêtN?'×¶:ÓÏɵ­Nçôsrm«Ó9ýœ\ÛštÎ$'7æ¼Ìéçä44‰œ~NnÌy™ÓÏÉi¸óDÎ}WB*'ÏÁæôsò‰# ÜŠŸwøû Ü¿q¹\ÎýW)yÿå?ÿ§ßÿƒ?âå;ób~ë_üËÿñßÿ›®ŽÓ¿úÞOÿÃï™ÂýI„QÀenWÛr»¢ƒ7´š¤¹j^ÁƒKÒÌ@“$-(Tt…€ÞüÀ¼!¢Ñ‹¥°ø©R-%¶Õ×(o3?~{ÿ¼¯ŒmîÒ”{[rN&å›y>ª Q8I6Ú„9—ròd)F9©³C¡t1ý››8ɇƒ9'Ây+W†d9ŠÕú¢¬Õ€Œf}üñÇòÉ'šÂ¿ÄNMšO7ð#KGV½`ÞÇÕìRª!´]áè^fêÎ\Âm#I^Jt¦˜uO—,Ž$ÚmµÈ³ÜÇAmkÒ‹Pfô0amâŠ$E›ñóï¿÷ï°)þÞŸ|÷w¾ñMº'~û¿ûëïÿƯž~í½ÓûçÓÓ<àˆéÚ4÷¶þt£mëÂ1®dHJòK„dî„Í HŒä¡§DYtJÐ<É%øÞÊH†€s,aWMä¦y)”Ée[M ô_ûãO7ÚÆ‡E÷t¡P¾9 ‹Sa3ÏG´ éO°ö«\­Rîwr B<> )ÈTö÷ IDAT¬YãKäaÈ&Çd¡¦ªù€C¯›q´¡ƒÕÇf—¢Õ$=q<'ZRÈÏâúìåõeÚ+ôg±ÞBré†8z$1œ›Kðf$ÉKiBc8 ùASäD nøß…Pº™0óÁqÖèõÍ<·püÚûÿìWO¿þþé+OOOó%£¾§<´¤Ó‚‘H–>ø½8*%¹n³JBm/Ô˾fÄí*&K”EG<¬%¹‘í! ,e,ao•Ð->ÔVÐ6n÷±Ÿ‡ !Âfž*h%œ$9mBv*W«”Û{+Ï$¿âä³rbvË@ö·r”7qb–î•i0&öÙ„ !»ºÕgÕ/Vë(ª÷†ÃÀÏøJ,^2zz~ï48ÈÊLŒcàÎvžUÄ0v±ÂBËô*Q&Z N‰r‰NÎÏ[bY °Û'VÝ0lN[‰‡& ±#ÝÆÀ¢Õ(ŠVÂYô¿\V¹Z¥8cpÍ5²Ö-½à+*_~Tå% x·(þŸ¯¿çÏd`<’Ìbh|IûCdìâZ'D+Á)Q.ÑÉ‘ÚcKÌ! +¡vË„©Yò³¥7/k’°X£(Z gÑÿrv*W«”g N ù Y¬ÄkŽ0ä¡á!ÈZ$Šw†û? .Új…‰£ÙðéQüðù”Ô"Ú½âøÆp[É(žgÕ/Öã(ªwØë}ìg|öŒç7çÓ|DÅó3%cÀªHVŠÇ]/ê…])Œ]¬À@3ˆV‚S¢\¢“‹·Ç–˜C@VB#ì6 Ó;ÀÌ6åIÂbuŒ¢ho8AàU®V)—h>HÖõãû?–`ƒ# Ï?Ÿg)! ÏÆË*¯ÛèÙ3Oœ˜íQüàY}Ùí줾õ¨Ðî'nÛçŽâyVýbÝ¢z‡½ÞÇŽó ü<ŸŸŸ/óOÏ”Œcàè»5³h«"ÆÄÞ…r‰V‚S¢\¢“‹·Ç–˜C@VB#ìÚ S›ädírw…?IX¬ŽQí '¼ÊÕ*åòBÍÉÒ7h$YBÔ s20˜ LöÀ€œq¼:Ÿç{¨Ž{öá¸{6Y´áws0Ô+¿(4¢•à”(—èäšf-1‡€¬„FØõºm °±^Y»Ež$,VÍ(ŠvŽðw½Å²˜õÁ§W•8ÞEXÁ¼Ó~áò­? H²bOr¹þ¦ý•œ•—Oω–Äü°šú‚d½~ýXŒ£KŒÓ£pPÊ(¨{ʼn+bûÜQ<Ϫ_¬»˜jözÁ1³„…½ƒ†Ê9û“³Šäx>åúŽóûÏçù™Øˆ¨óöð™Øµ¿’°1¥Åqj/ì«Éâ"¹=P@ Z N‰r‰N2®ZgV!¸„SBM¶Lðãm¤]Jß§ÃÚIùLìØñAデ}’PÞ<ÎÀ@ˆÙÙNvŽ“¹·¸‚@J²8>”(·é˜5kÉ¥y2…5[“…;>ø!IA†“Z¶AŒ|V<îµÎeQŽ&ÁgÅ)4‰-qPô¸n…cºÜ`hˆË´7©—Eœo}öh²i‰Uò÷"TIÕùè8º—ÎÍ%‚5’䥰WAÐT´?ºâFñÜÐëM˜âս⠺ª“-âð[³2P$AJüiûL쯿ÿÿàüß?¿ÿ•çWó%£º¯Íôdà8‘ûû½ð‚ ¢Õ¢•àP9p:%€§Ç–PC@ ZC,DØ aÜ#ÝY„ñ¼Í@õ¨Î=¬g;Š¢ãÆ­boq7KO ýÐJÍx/”$$Þ|ƹ(M‚+ì†RÆâZìyœ«Cˆ5ãÜ;À‘’ħcâ\kâÀ¥ÄÆ8qn¹?å8séØó8—þï­×ïÍ!*&3Î%ÕHÄšzì5´YĉK1Pï\^ïà¸\N—7Oó•wˆ™“ËVØÒKñ;^m[KuM‘õ@h8t°°ÇvˆaB\EaWJÀÛ•W‚B,@´{=$( [žTyq%š&®fŠvŽP‡¼·¸ˆq)-Î…“.¥ê3±o•‰£O7Œ“¨,y«(6~<Ú@¢pÈ"°®Mþ…°d½«]âûðˆ,‰-qtÑ=qM6$ݺ4-:½ÕŸ}öM”Xâ Ô6ðG‡¸t'?{ëõ{óG·‡Nª •Ãѧ¢ 6¾C3—Èá@ît‹x·èùzëÆóé2ßÁQÌÚT|T°t“1 ¿ã5wÀAD§ DëÄ¡Ã=€=¶C âÒ(r;<?‡cdÍÌNba®{H0P¶6ÝTmq±¾‰«™¢‰³ Ï(ÅP—{Ä\4B~Å+í3¹ …ð‡ïö÷ÅØÛV·)—ZVÉÞ¶ùãÃ$Ž/Â+Áæ‘a¸ŸK²ÈOR9Ùº’š ”®Á0§¶(ϹTå ý‘â¾<ò«ož9Ù¹Bs\¦+½íõ´ºÑûnp|½7Sm <Ž© £Ÿ»ô89Írùùò|¾<==ͯ¨”s65˜.#Úú°0G¹ì‚Aë¯68ÖcKχ€´†Xˆ0¤r™¨¬ËôD¿+Ð{eôÁï\O^ ˜ ¢ÙµXVƒÝkp¬Ç–®!š$b1—p@# F}¹ó4kÄøYËêX¢™kã2´ô\Ž jâĵ0Š”2 h»ûLì×w œ¾ÿÅMþfzǾÿÅ[6°â¶ ÙViág…ŸQüxz¬Qzjw YÞºÊ5›C•"Úù¾!(é†H 8‰‘’æ÷`hzksWM hMá`´¹4 §)ˆ1FÜÔŽàBØÆIµ[çëÍ8äxÆkF«§Ádà`MöáBb"ú=P…%V©Ñ½ÇzléäAE÷j 4Ö±¶>i4•‡f4s€¿ðr, 5޺ѩf mjâÄ1ŠßNš«,vx'¹†7>™’Ü;%…„ò!A—šù78ð­jH\$f€­hq»^®—äJ‹žx„ |“B}A”@¡ÁsË–Ó[›»ª9M…*Ú Œ?Í8[ÖE²¬\ø¦â’¶C„×[8NxÕèüLì:'È#1ÀÞÛÓ] "Ìõ@­Á=Ýkp¬Ç–± ´Pt¯<Ñ@`9ø4K4:¬‘=ø/>x—ŒÏk»jŠóþ:0qb¢FñƒRBÅ>ß<[ ¬y2…û%½Y¢0é¿ÖL*, K£º Êm†Zôy*Œb€­k±!•kvú¶è‰Ç_É7z|_%ðGkz÷v(Y©×7wyãkƒ…³“*Ë‘àÃ\Ááëwbßþ÷<¿¢²½÷™üZ[.¸5Þ…›+ëærô^鍸ëÉ‹ND4{ ËjP { ŽõØÒÕ! ‚6Šî•$¤‘PnÈ-è”:ñÕ_þ±øÿúõB_}›/Ÿ Ú7Êf#aù -Ÿ¶U ßNªÌ©¢ROÚ´Á@ÕéIPà­pØE}.w‰  *Ç øA7¢±šÏ¥{âX•?ÆVƒ—ã ,ÇrU…£1iƒcj“«c]vFQenøl&ªÇ»§+±'vÕàè"`è}È¡Mœ3”kŠšyšÆÁe3”Á¡ŸûIpÿÃÍOâtã­»^ÓK H¡‰‘rd‚Ëfþ ¦ÁAnyï3P…—(ÑZh;Õ<å­¨\Ó—R"éÁ§mIA :ìbº r¡.‘VZ¸MÚtœæ®ºHhsÉøÓŒ³M-T•’#ć\+ã£×׌>Cë|þë¿úKÑþ/ÿù?ýþü/cˆ™»¿õ/þåÿøïÿMWÇé_}ï§ÿá÷LY%CŒÈ´y`ûúô7ÐüéOJýªÕXáIÌB[:†ÄNpØQÑ“›]"ˆ˜€P÷2êì<¡=“ 5ˆ"Ù†½~aý²*@z5Z!Ž6‘´F†$f2–û“k'Þ+J’qMòƒÄ"EÉ Ò’^ÄZ T'Ù„t/óþ ‘È€+s)Ep`N7ðd &å´¥„ý& KÇè•cÔh¸h’S•+BËMqÈ*i<A§­A£é±n'Û[PzIVy+¢f ì¢[85‰ï³¨³M‚½,éR¹P¼¥¾\&£óíÊlŸô§-|NØZ4ƒã´B@ƒ£#-DµQ8ºP©¬diµ’ô(£½X‰¿øùϰ)þÞŸ|÷w¾ñö]×ÿö7~÷×¾ò¿zùÇO§÷ÞŸŸ‰-`lª c ¹ÎzNž+8§Ÿ“¯‡Ã.š+:'×.Âän ò™ÓÏɵ­Nçôsrm‹4CËéçä‡ (sú9¹ÆåÆÌ•«ë‘þkÃC§×‹(ÇgNž£1§Ÿ“k®G­S‚S¢¯ñu¹ÚV§såN²´HQ Ï@[ÄN T''g 7LÈâØŸnÀ¥ÜV‡r.¬)Ña¬¬ %mÖÊ%ü{áP¹"´Üxެç5òL—·"j!Í4f`ßg )±„nÐ1 ” Yœ6×TðÍ›Yý ÞÜq _“\ë¡ÁyÔ(œZÿ7ÖÏ‘ãÃâÞ¾qÆÏéŒÛ8æ#*C(} ?þ¸-Z³ž38&7(ÂhÞ£­Þ]Àó—dÈîÇÞvEÑÞøâO ÏR›R³A{>hV..Óø«¢ÛO»•è¶éåí$ægâ ±-R”k·¦¡.â@¿*Æ1¹Æ‡-/¹ça¡ætÁr“c”½ÜKëåÊfAóåøŸö$†Òšmiã9@Ö.±ÍÏB+N¡ázjå­šCþI,¦/@XîÉzldº9^ éUÛƒoî8+á üÜÞh.?Í8vŸ—9Š< ýþã €<Îø7QéçsÂÎQ1[—O>ùDGž¼á– z%àÄ @ÛÎm]’ÑÁŒø{£húÃ^€Dçšjã´÷\×,œ‘~ýá‡~þùç¸4ã$qïÖh%C„žu¨ÅÉÑØ€C—vâO2´†¸'ï 4ßË’ä÷e‡ooØ’¥ ,O©ŸÜ A-)¡>+A×púMbjó\h:¹³˜å¦Èc¨ØVçêp´Ü‰,=>hͪ´ÀŠËõþ‹~[ѾùÅ¥W岫\ÕµÚKçñ™U‹9J_9Ïõ2í0]ÕœT˜äšt iÙ ¸Ìy˜”'q$–’¨‰ip$ÆâÐ1hðG›ëô(‚xö¤¬\µ¶>¢òÏþáé×Þ;å½ËüL¬®Ì™Î3À-60¢EIÞ(‘ã­¼$aæDÞÊKœQBà­¼$a–yC/IÙY™·òk“ºöV^’²³2oå%Ö&uí­¼$egeÞÊK¬MêÚ[yIÊÎʼ•—X›»»–åtC†ˆf¼¡—”ðç­¼dâhîƒDäñx.í­¼$g«åÞJK°ìã?±âå lþñO#‹D µó²ÿ—E*äÜP"ÊI9…ikÂ7Z!IemèÓ1”×$:ªg¦%‘[͵ý\æö¡ÝÜç\+JVM¿·,Îã3«¿”í\%j[¨m ×lp“eÀ›W·m.šq ]û¿ÌÑå é‹åú îãx>_ægbû˜<š5†'s ¾s#¤m@˜&“ÉÀ}3€ÁAŠã†‰W>m{ܦç“~®KÒ²/¢,®.°ÆàF‰ºM>3š”ë„YþŠKZA§²ÎòéÊëYVép ìÉ-ñä=g!À¶ˆ QcdÃ#&«†’! )¿‰oŠ6—C -yýöuæÔ'q©½¡–P?H@_ ƒ“ĶV¡ 5}§p%¸Úæ’ñ§Gsu 4Hó ÀÛøLÄ~¹œO—§óõó ~¦È0 nâ¦E60F'¸äÃúÏV~.ko8ðso.MrGä{ã'övϹ\0ÁI3>@rè!s-ß¾qgCÖÞÚÿ(ÐäFAí 熃WœÜ±×{‰ø™“û( 5Íj˜.y@H¼2ôƒI6¡Ç8ØØù¶r·± <÷aÆ.y¢býþ\”ÈBûш°Ø¨yó„w.‰°XÍÓ†jõ%èY ø‡0É…ìÉi çzÿÆér¾~*vp´Qø`Vò8=7-<é(¤ÏÞûÇò Dmo8ðjo.Mâµ7~bow›Ë“xèLJC˜€ùÕÕ;²öÖþGùƒv8 jo8·Ì2”!ö}/WsrÉ¥9.cM(˜%¯qIù»J™V:ã J‰èÆJPÿ>ØØMT¬90…ü'ޱ1ß$¢Br’NŠnBQ-¨ñ ÐÁLìnÆLÀ¯_ûø¦d20ž½ÚûàÓ+¾–Œ/ï-"{±ßäHÖgŸ~y!>@󋬗'P¼$§™‹B#ó'b¼,.å~ª”s =r¡QÂ1Îvƒ íq¾ÐQäv WŨë]¨+ôa'jÞ-Ù‰“pÃws/©õ6×€SÕ’åðfÀ•pšc4þ4ã$I;¢07˜€¨æJ'×3ŽÓéͼƒƒŒÌDÌÿ’‰=ŒhRš\oå%Æ$yé­¼$ih„ÞÊKŒIîÒzIÎV˽•—hý\Ú[yIÎV˽•—hý\Ú[yIÎV˽•—hý\Ú[yIÎV˽•—hýC§¹<2Q0äÎñ°„b^¬ á­¼$0g–·ò* oå%9³¼•—P9Hx+/ ̙孼„ÊAÂ[yI`®³¼¡—hý\Ú[yIÎV˽•—hý ÒÜUú]••SÎÉ}hÔÔYæŒ ~h•².e`š4gPDÿz} ŸPA,~ —Åz'u±þÞr½ÿ”ܱ«A-_ ?øfOìp1à÷fµY¢op 4~t ‰Q·®:DÈ~$—¦7iC¤e“e ·¹Œoö¡­„;ÆÒ½Z­?A3óà;”ìÖ?’ô»Ô»>‚4ƒ€ÔÚØ^´ãdÐ …¤·À78ä ¶Á B6Y±?F9¾ƒxžÅ%°Ýú™ØßÀgb_ß{ušŸ‰«÷Qs¥EŽ^oN<²<ô޶žkî4)ÁòœEñ*v)Îe\HÄšqîÄ9.?ºî3-o¾H’pÜú=s5±fœû8ˆ1&!ÎÝ3EÚ·i.îýŒ_›%úÇŸnÀygüàô›: l~¸ÿ1snnSshÊ&K·YºÿoÚIWZ@NÒp”0(—¾–4³B„ÛªÅvL:\Ë[P³¦=°,]z=~´¤­×kŸ6NǼ~Nbp Ö5 'ççÈsÄzê ƒÅF_½ýN,ôçWT I{ µäð4$þÜúÒll[ö–8‹Î39—ròŸ9ýœ|âÄü…ŸœŸ;‘¯7& @ÝÅÌPÀðgû*r<ää$Ð$rú9¹1çeN?'§¡Iäôsrc®/s&9¹¶Õéœ~N®mu:§Ÿ“kÛ ÒÜðø>^›%úÄÑý˜¿ñâŒCþqÛ£7<xní‹\‰Vö¹¸Ùo8CHÈÒñ‡ÀÖ‚¥ÓÃBÌ ™"ÜVmÿþ³ÒÕZÆ‚:•–`Y¢)èí)Ç¿$«ª×4siœ š¨14—¹mP£pŒ{÷wÙFo޼}ãùôŒOÅâ”c>¢’céò=<¢¢ÿ´Ru zçrmÔX0gÈ Hü;:làö#!¨äšþTÈbEakirˆhîkÚ0×JtJª ‡j9JÊš:ÌÀ­ÆnHÌFuQ›%úæÞ žnh|"K˃ô7¿ýøMÉÕ¿ ¸QÖ¹?þôëÚ0™–â’YZ(¯™Âs†‰ •1“`J-kp¤ƒIú’«G˜$ˆ`PºPÂjaUšþx«Ú1Ð48D¢ka A¶ñŸÅ-&ü|Ý{y-JJd3–ÎUÛlȃq²G¼5Nà/B­ŠÃËIÊ͵æ¨BÏüüßǦø{òÝßùFé»]~û¿ûk_ùgÿðô_ß?Ÿ^ͯ¨èÚœéwøÖg?‘k3¼£4胈i߸\Y|áCp†€xߦd2p8drJºÍñÁ䖦˧¡Ë›Òçåd`2PËú¬ôtü6ý·6 ú¦__;õ÷øD†·8•ÀVÎ#ð[¤šXôù…dé£+hÆÜ_jsŸ+Ù.M 5cšFnÞBbµ0Wœ–SŸ¬‚O µfUºÅù•}¨]¿éÆ@á ÖÂpämüov[7Ñ*¶:oå'kCÂ"Ûǹ{}áÁœ÷Ä8éó&I‰ÁNÔ(œ¤“÷* “ºÏ¸yãé|>ã¿yÀQGÝj7Œµ\ùöa¢a|‚3¤–©?زX¯r©|¸èYxÛ*'×PÖ.µ \kx51'… psâ·%UYº# hÎàI.hÂݎȽçÔdÖÿû?–K“»¸_’M~®,Á³£ùúƒDG369xj ïRYôMY4C#ŸP(a L–’æ„_) >ko)Ï% ½9µf9ëe¥‚V‚m‹Wg§KluƇ ZQ"[>¬Îù@pözSJá%qDŸ¾•4òà hœdGËÉÅ œÚÈ=)ÄyÒ«$>ôsE$A?%¹üC¦ÂM ÜÔf‹xFåtýïétžïàh!ðqlrcÓJ pl"~[s‚3„¬—h£h=&ò}0 —)…•¾Ñúî–+ÔØ–æ‡ÈÆÉ!ELÉÀª °ÿú¾_˜eš=nyÐPIc" ôä Þh‚ ÝéL®Îê!-é‰L†I5 ¼ùtƒ8C‚*Œˆ….&¯L¥,B­ªl~«–xhð\ÝÕ-ñ’g¹Ô]ƒ„ð ×Ó$™08ô­¡‘'¡r899œ޾wŒ.!+°òÑå”sr“ô#ä÷!Çû7p´q>½¹Ì;8öQ#»ñ‚s°xÄ¿QÜÐÁ>Søœ! câQ(ûôJ98“c ¹(A f|0Qõ Ím¸Ð°PÍDä/ËqÊ5})S2¸ ØœHßÇo³QYÌÒ‡Ày¬ì?{;wk(’ÜT$7š‚OM“«7ÔiH”ìLDR …,ã?Sß=$(Ë{ðÍTÑ â9{¬Ý&{ïÕ6W›…UIž…ö/ÄôT8‹72˜Ž„2:Þ/Iâ@MC-úfô})”€$ µ'I…Û ƒ‘¤Ð1ܼqÁkF¿¸‰£ÐhªM&“ÉÀ½3€µþÝ{”3¾ÉÀd Í6'’áÇ ËŸn$©Oan3àÿœk4¬7E&Wg¥#\’ÊÈ$D.¿5#ÒŒQ¨5%­Õ|.$,:y—{Ò¤Jؼ; J h7€lÅzY¬… œÙg¹ú ªØBž%‹lpbú^ï1µ$‡£u ÓI(öÁB¨%q 'b”0Ë1ÇjÒ“±°cÑØ$Ú`¯ŸO¹~Håty:Í;8Ú8¼C+ÎâˆÍŒM7‰Ö ð¡­ÝÁ²t¯¢õ›ÈGa€ëœÃz|Èé,ÊÍ.úæ½}‚±-1Ô&%ú¹Òkq´~sÊ'98žçV—ûϤˆþáßÚ²‚¬Õk_{y/Ö2¶à7×H˜a"·{¼`\ÿ/†¾7ie“«³4TN}¼U-7î«d˜R¨œn$…’ËMO7hÕ™äõ¶XX~˜j¥ÃïgqT~ØD®ª< ™hó¦·6` ”q²hI(öÁòf`p¼ay¿k(Ýç%+Áú‚ú%¨ÐE>ÃRÎÏçÓÓ«ù’ѤÇÌĨ´‡À}G‹oȆà YUº×7(¬çàDÞ=/û–ͽî|g`= IDAT‚Š̨ÄÖ˜5@îݰôLˆÉ@+Ò7õžû Í<tgß´²ÉÕY­î_íxºÁ=‰ye#ñø>Lê0pH5Ñ—B E„2 ³i¡ÃF —FÓ+ ‘p)âÑÚÖogˆd±†”r8\«Cµ¶ÅBžanzk3¦q²gÑ%ô¦Â^cBkãJ¬ K¬-‚°åAÕ1VÕú‹Ÿÿ¬ _P9Ÿñ¤Ê/ç;8šø;¢QrJö`<òÂ[IÐÄÍXÖ6GÁ²“Þ½õʚȓNª¶"fõPbkL:½m0‡“7÷¡Áíi2èaÓPüEX¬CL¿S¨(Mèhe³6ÐY-wiŽ-DMïr†zÛ¦urrèèÕ´Pã0p #² KjÒUÚB¢o9árŽšÁ A:¨S5ÌÉ©°iâåL?q›Òú~\›ëÎ~rµÓ骴v6i ºÓ8ÙŒã¹'”t–òžâCk~ý–>ZeŸõ®ÖJUTm;ÒÇ3*øw¹<==ÍGTvT/ë¹’œ×+n 23¢á’#QyACp†€”û\«Ù@KmSÿÎØÿÈ`V‡8ÝF2Ï8Ìpb8é <÷Øýûâà ³*ÐY±“Ì墟$´P§EG$²I@8r>âÕ ,YbE6ä2JG¼’±&<ÑÝ~S‚á¥ku¶:")}ÈoT‡© !°÷"ü4´Û•HÈÕ×Ù¤ÅùkÃ~y„­*ãäßÄB™²èÞX—ÐsÑa ãjîð‚j9…Ââ£vÁáÆõŒãùùyp¦Öš­ÚÃT)7»TeøwoƔ¹_4gˆöj¦'“‰…QNõEnL^Ä·ùÃ0uGwVjù"ogŽß§;\øzÉeAS²ð›V¦orSQšVîßT$ý–øS¥C6´iÑB†v÷í&0y› Pô¦å£— Aþ× J»íÓðŸ±øÜ)@‘nØ·¢%WSC|3à2'êa¡0jƒ3Ä7)šPì,º[º5â”›4kÒU"@âݦšÏ¢á½&ðœÊ<à¸×ʽ«¸0&šµ.6Cp†€ÜUõÌ`&+0`º|I7&+85!·` aù»…[Z÷ç¾^ʳÌþÝÙ¿UTö½X+›\UX?¼/•S1äGL’_¥•9°2  råTÂsÈâHÑâN©d»"U#îßP¢ì|Jpè^mQ0¢ZÛÇÑE‹Õ½*¹:â•דxÐ|¼§Ó7nûuAZ¨ÓÐá¥é/” Nó“)Úª4ýOð›í¶IKb¢õ«ŠÞµòõK*×ó§]{9› ¼0 GF‘™…΋âÂÿ‡à YptfO˜Ó»}óÜ4˜x@òãO¿nrõéä?c2/ Ð;ÏB“©¶Ü!ûz)É2û“ ;›^Œˆ´²Ï­ ™}–Uåá“ïA CŠ:7oº8ú,Qk®”ËJî–U¿½3¹¢‡Tœ&¤DZØ,=NQ<•Ð_)¢°yc[}6¡ÓâÆ#Jà>;ïàJéþÀ Gý9žð ³¾Á¥^ý$lR¢!8C@RÞMÙdàð ˜~ÚOI7%–˜TyµxºQ…6•KÀäeÄ%VSg%P²œðõg%ö'™'ð&¹n´^”ãÜ’¨›ÿhÉGBPJUøI}j‡9|aàJÞØ"Ìk“ ­= ª&@˜…ô7ÿ> @Ñ3…*6rõ2ÄNL6HqU·Õ¤ó9œ¤ò¢Û~}º+@ Pñˆ+ícd)‹þ4(ä\5PZ”Á9â%nÞÀ{8žOóG¬½ŸÍhRcºGÝQÇ CpdÅ¥ øÒéÛÒ‡ý˜ÁáORhü,Ñ1&ór2°ÒËb|ÓïJLbÀ¶Ü¶¿ ·•õ V‹Ëßáa'ar9áë%—¥7qÔ”ÃDÌ_Ü0À¹ѹæÜrëþœ-幡d!WÓEMÂrø8p™Å-dé$ªjj”?V @x9f›U9>4}KsÈ·$*çÆ ¸Á4]@šer×ãTÑe=äZ¨©¿_ÎxÇèå|:?=ç#*û­¦éY’¿àú ©Ÿ®‡“+q3¹,MqIaƒŽ1™—“õðÔ—eº‰‰™’Ý2À-Çn=|(Ǹ]ôõâ³ü."×=½¦ÞŹ‹üëÍ¢r¬àc¤~M4ùÃâ¥P'_K$gm¼Î˜q ejO´þ¥%^ ¹<´6«r|hê†m };7 £.s¾•mÀ“˜äY`“m²§Ü+ ôq–75oÇÀõ 8ãÀMó•ÛÕÂ&%'ŽMJ^±,’¸,bp™[9~¬‡ºÛ¬’Ý:?»?Jz´JL³˜Yß}È{u!ë _/:ËôMD$ÝÓ¯I´¦LC¸Šj:WhNò9Ž$iú¥ÄLj愦í1F¯Ï,Í …¢·XÜÂ%7ŸÙ­i(f!ÁµF®õï5ã!Ž·Í*Æ4¹¨nV½É‚¼¶1„ÅË\ÑCÊ5à&y†ÃÒIÙ/ )ÇYŒW: Ô4þ¢ÕT8(çËù|ýL,näxš­ÄR·õ Rjs=,q̺— Û›õpŽÀâ—>ÎÓ/¹˜© +›Rø—gïsú‰5л&?üÿ¥-FB¦kIýùF¦¹–Bs9ð\»Õ4[µùβt‹bh7oZ\Wøza½•Äu@øþ'#:KÏã~Ò¹bU5ËëÓ ]hUÚ·Õ\Œ€e–¶!NmÄ_§øþ‚¯S­&iê !­£ƒÒn Í,Ê)¹ïãõ 5¼Í*ôYèfþ¢äfO½›È:¤D¾ˆ)<³“²ŽjqÞ ñ+vöw²y î)œ±•pÁÉîáÀïË|ÇXj'Ú† ¬w6Ñ|V²aôQQ²œ1 Á¤PP8ÁÈ¥1ŒJšy÷Ζ û qàhT€\K à\…Är è˜,.üŽ/M‹b¤ºi™Ž@Õßþ3)Bÿ}QèK}àVÇŒ'Úyžnpí®sêŠóî!&‹ð ²G@¯³(ÑçZä>ûšlÛ"䇆’´)ÈLÊ^'Å`é†é8”Ó꽺‰,—ñâ"Ú¬bL“‹Æì[¸è@Î.c¬z.sÅ )Ë€b²£=#4Ô‘9Ó,ÄIÒ2dH"7õ Ý`N jaï&»7N×<¦òfÞÁq7Õº÷@8‰£2œIZgiùbHÏ8P–XÛÎ8Þ¡ÉÏ-˜vèótiÆ.4úܶ–è@%Œ¹ (’,n!5©PµE¡ÕAÒ„bçMGˆ•o•›Û¢ÐymÀCîÏ™K·s8T0 ByÕ¥´Òä²ør@à›eÒŠB®4‚¿%$K4ž'u´3ìbZÈO/ïà4˜{¸4Þö»”ã!Fn³Š1M.š´oç¢ymƒ7àæ2WÐR x ¦ߨ’Ù5Äù&/‰?d lCp=4÷Òy&¨³ˆ–,âq„x>åüætÂFß{58§Þo)wÑÞ “…Kv^ÙKFqÙ@™¡Ö½_ɧ_‡oÖÿ”+K¼²þ‡°Iéì7ÌéÙÊ $þ6»r‰ ð=k †âb¿ ‰õ$—«4ÄKŠæ¢œ‡á›Ÿò¢µf."­Ó™æB6‡c69µÛÊ1«â}×µúÑìQ¬†í†Ýœ­Ô·½Ú,è3´kDÅw£¥8¡ ýÌyy u«\ÂOr<ÄàmV1¦ÉE3`“0Yjö¹"†àðfÜëQïfÉšÃ1,%/Y–U’šÛÅ zº¨–›vlÝÚ¹oïÞxÂïÓ›ùŽµÉžøoÐgæDCÉÚÏÇ}×O7¦IûOÌÞ73ºƒ2гò\XdÆË5n!“¥÷o&k›Ë8¢>˜v¥Ë5›Š…„B÷”·Ê®UýÓÍõä垳ϕœ’t:Ö³¥g+õm¯*‹µ¶ÒÀ•t&)ì$s=óõ¼mCn³ªâ ÃBÞßTràýÈðÖ€ç0õØ%1šÁÍôztùžã?nX-¿ÌáääÉÐX\lU¥VELè±Õ8»M_ÎÏ׎Ó|Çn«èÖŽaX_ɾøõ¤¸^$µ¥ÃÐŒ³.sCm—‡Šõš«O4ÂtûÁhëàNZUø¯_¿þÁ~Pe’SUÜBäl½Üï3½ÎzÆÂù«¿¬ª÷Ðxw5oÿnJ>%°xG²ßuKÑ]åÒûM?úèk,G’–9öpÆÁWV ç`£Œ æPCL3Æ&ôéF Õf'Ï›7kG­Wù,‹·0P¢ŸÔˆsiR›ðëí›Ï-ÇpL+nÕú2…2¤B*¬š¡¿{JL†0Äí6ä6«*‡ÍòUÛ–,eÙä´¡¤‡4BƒßŒãgñ¼³y*´„eõ—2J{8ÓU \žðþ'¼‡cpTñvÏÊè™7 ÏìTG-CÍ$aÓ›DÊB›§"”$À¤á¶Äê:>.YKÂùéäA¸è'„u ÜukáAÓÜrÓHxÆAáJ ®ËñsÝßå˜h~öÙgŸþ¹)HS½«iËø\šôçÚÖçæº˜¶*I'·+ô-™[+:³X}Ìø,ÔÄ•“—GÚ¬9ªèQ8>6ä6+_z 1ËW­‰F4'69m"éÀÊ+ç$¿³‡<‹3¦açúðÃì9‚â‘Å…ÙÉÐyQð¹×-Óˆç8dRHnWغ’¹ôp1à ‹¡é{U1µ‚P¤%q:çON£ ÉUô(Tr›•/=Ë×Ü’MÎÃ6ŸDh(ƒßŒYŽCžÅΫcñi–Õ_Ê@(ïç”Ä à|FŸR9ñ¬Êü™ Ü/ÍCðÚ”˜!~xq;ÿÓåÀx1 D›P“Çd€Ï§øÛ7HÈG, kD¦{ͧ=…–ØâtTãh?rÌQbu,?Íé9Î팔í'9AĹåEçpZÏÝ(IÏcßrþh9`«þÅ%.æê¢•…Q8¾ˆ6ä6+_z ÑŨ±Qî%Ì p¨³˜0øÍ˜µ8äYÝ 5 Ǹ‡Ë6ä6+_z Abs2j³Ëät`Bc^uið›1ÛpȳøÜÙŠâÀYV)¡bŸg®eàÍõ6oÌGT,3óz dqé—˜9ùXš‡ã±nšâ‘Þ•okÄ»&š 6˜48¦}9Ó“ÉÀÑà±<þ…iyYýšñéÆqg=Í¥Å@Ú¨ŽÛs;ÛŒÆá+E:#Ò˜HW…Ÿ³­ÅA¡2ÉvòœœKUq Äñå¶yØfåK$hH¦7QY¹\¨u6B)ÈàÁ¬õ<‹Ký Rp’¿YV)¡’®Na’ë“)—Óår™I~¦p0ØŽúÓ ”‘“.þtJ–>¼”*@yg¡LQU†¬Ìã+ôõ,2óE©0xpüM›½aÔ3Ï5¢ÎÂ÷S‚·ºê…©†jÛ¤q; nâ›b´K7¤Z»Ñ“®ÝÚ25øÌÖ¥ÛL3Î¨Ó q Ç·[þ(`Ž‚…£Ãì!|=èa|ÆAµ5µ}¹Ð‡†.Ož¥ˆÎûɲúKûÅÑvÉ5¢˜Ë×asßåY˜ÊÈ¿Ãñÿ[Ÿý/=‘ÓQTçÂLΰ^9©ÖP_ñŽÈä¿a«ÓàU`ÂÖÕ¹™Ž<Ëv}ïFë“)ÆÏßzlµ£p€I(ß&Ng•ù¢ÛÛ¬|é$8ã¬:³LompȳÄ5¼ö5],«¿Biü\º¿¸áä qiHŽ´wä—ëÛ7žNOxÓè<àx‡™y1œ¿j(bÈÚkHƒóÞÄs‚  yòðø÷-Á@©ÿx‹Éƒñ"‹é™˜ L<ñ:CŸqxÛ›œnˆzˆîŸnˆ "Řï[ׯ¦äŒ#Wt-ÕA˜’%7 ¢¸úõd¡F-©S+4“šÙçÍ(ÔâÒgëŠ{Gyq£pPbo=¶:ØQ8 §ŸŸ.éHé!UN®çÝCgñ=ˆ¹:Íþ÷õ˜²š»ê( <ËeUiŠJÒ¦¬“×Ô(Ä2jH±Ï§Ë«çÓ«¿5¿¢RÅÛT®c XuÕ=€¶™ â–1ôk3 ¼4Y”ÏÄd`2 ˆ{Jnk“käUÓº³ãŒƒÿ¤P¹4 Rœq裰ý¥&gI¨–-ˆWŸnàȃÿ’nt ÍŽÈOpF¡³¸Ns¶.]A=˜£pàCo=¶:üQ8 §ŸŸ.éHé!UN®çq/¾Ò­LomÆ…£C&Ï"¬ª#³Ã4Cë j(5¤´¾Î§7¯NÿþéïeÞÁQÊÙÔkgë­fã;>"ÁœaF\6O$Í ÈÐ ú4B.ËÈìtu2°Ò/tÒe5l°µy2Í‘¼g:€Ãµ=ú¹0“~ N¡¾¨çáØõ³4«ý`BÁ†9ÔH–fÔ’:UB3‘™™PF¡ |%e¶®Î63 G‡ÙƒÙc;ʃ´¸ÔÉ3qè‡JzX‹<ŠjãLùånezk3¦Á)bQ“<‹æðÚ_t`=†ÖÔ(D:jH íO—ÓûxJåùôtžïà(!lêô1Àçºû`V·†ŸCVöå8˜9Ì€K½åf@¯§)\‘=€á^»ƒá’—A–V£þL<£>ï: çæ´›žÒ¹„ºI8\'•—>×b¶.¶ÎæÀ`zqf…£L„ó£×¯E¾½?Ããêä< w‰œƒj¦·§šE3s Ÿ–“Ž!=×ôÖfLÓÿNÎë]$lHr‰úZ줄 U£Ç(†f‚~U\£pP.¡LŒ·òǸñååÓéÍéôt¹<ŸÏýW)ÿå?ÿ§ßÿƒ?âå—Ú3µ¿õ/þåÿøïÿMWÇé_}ï§ÿá÷LùhñFâ/Ñ)¬Õ§aBvæþKxåÈø””ºqÃpÆÒÊ:]8>Öâxd>àénÖS‹Ö×iíê§Mڶ΢@‹¯÷;æj†¦ÐË,Ý¡´NIzNIY蘅uÇÙÀ!Eø(ao¦qµÙ Žiˆ49¬‰¦M…L+I}­¶ÆÌ¢;Ž”…nè Zœ@µŸH÷ÌË…¶Rezk|Kƒ&ñꡦ 'Y„‹D<Î(ö†ƒHG¹$¤í‡ê6|/óÁHLoÕÍØhÆ—IïÏ"æ”\Û–z§r²Ïz[íd2Ò¤{ëáÐ`h˜2 ýÑæL @mãÏ/~þ3lŠ¿÷'ßýo,ïy%ØßþÆïþÓðÏÿ¯ó?yõüþWžÞŸ/e˜‰ÇbÀü±¡Àë\zŒ°út°ebðå>ˆ„C³Ä‹•„ø,Í ôÔ×¹3=xXüÛt¥áÌ òg¸by`˜ ‰¸\ShƒÛ1¾ÏÅT¢ÿy/YŒÂ›,J8…Q3¹‘`îØ„Ÿ—?'7¥£š’;%£¶ˆ6 å.–U¢3ÊŸ½á öQ.•ÐX¢³7àsðczksW…¸j²À3%¹>[Òw‚DN?'×¶:ÓÏɵ-Ò -§Ÿ“¯„C—råæäëùcqy¹\®O©<ßÌÏÄzv¦dcpðÉ'Ÿl\¨.NŸGHºÍŸ!8úo˜*8Íp»Î„á^Ó~oÀ…¸Ïò$ðs’°BÚ+LÉ3ðí?c€¦ÁP^”…STXµ—Aå–01„àÒã`½âÿfU^Šh²ÏÖ.êû(M’a.Z…òˆ Éža"¡šh&Ï 'V3˜ñ¥Ùç@™sYl¨s›×fmpš©68ÚÕªôĉéÅJu¯8R¦·6tÕQ8m<ËD`N7 Ty¯5z ÁAh»ÂAEá¹$®ÿ½'íªö÷ùt>ãæ üϤÌGTjI®ßðˆÊëÓßÈÎ ï¬W°Æ¢š×I°ð¢ –A~”j¤“¨`ô¡š$’Ç +=¢Â!C»ñá‡~þùçÞ™`‰ŸÄÑqé ˆ# JC¦õ‡àðÎÂCÊï,‘ÜKæ´"Ùziήa¬îŒ®Žgà‡ê`â;Ÿþk¯P(…SX\ƒZ² ,â°PSp8¬Qއ/-,I'‡»ÃBÅ¢a]v14í[²Ð*ª¥8qÃÏØ¥Èd!“Há.…˜ÐÇ[(1û%Xig åççç÷ m¦ÚÞÐkµ½ùVèF1hn?œqe)'…z0­rÆàF]¢–<ã(1¼½ÝB8zÏÆyÔ?ÈsoŽx ÷?Ûø³j)?üÿ%¾nH&FáW¥¦û 7íú§úð…8<ãЧü+Š$xî\µñ.t AÍøB"§ú¸_#û“tiµmÒœ;P\'Õ«<ç ™¬2O*{O†°Ñ<#Ã+KV“®ÆB‚@mâx®öÆ<Ü›K·ò§|L3½µ¡«JÃèÇ‘.æ{}òÙvßuí÷ôÖ‰“äV Ùªw³öM§/—/^Â1QÑ´/mþBµM~¥XU®Îär¬Pң̿ŒÉª]J—Ó=È.apõ«Ì|cf‘*¨)ëÝÜÖ›Òa`ƒÊšLn@òfEè>ò??þ·8ÚÀJg¢Ä }¿|ñ’Øýèäæ,3àlì0Þ0å‰ÕtUýO»G¹¦w{ºÿ1)7ÏÈ02)Dü)dÕ«Mω–Œâ˜£ î§dL3k³ÚÔu§‡àèu8ŠÃ"¼j®kŸñ±Û¹\ÖþÄIR´7~’N^O7N¯ð•Óå<ïàHR4…Yr+ŬËÀØ5œ,bðùµÃ™ƒììÄ „Á¥§„Ä[ðö¸>í óXözÓÅy”„+–½y >›×4{‹eúƒž‚E-N7<8æ(¼• ?zýÚ# öäø1Â]]úÊHä’uz¨iˆÅ Ú9„×//¼ þD‰¹—2QÞ–@.™#´·:-…¶ÝÐÁñ™žw/û™‘ÑLLŽÂ@|ÆazksW…CVÑëo¾ 33qXÎx@år†ûó€ã°u˜s\Vo~-eô¹æÃ:i®öD¹rÉ\#7˜µ—{Îô*³ó—T”ãðkÚ"¹çßœþÂHEëÜ}ºd53zrÇbtîž7 ~ X½ÿ÷q¨¯¨tÕþ(_%N’lºNË `%7nHvÎ<†(<ã(¹û”˜¶ø_—ÌYhm´÷Ä:ÂA?~Ò¿¬/Ü¥øžÄÖŒÏ:“+Zþ‚\ÎÈåÓ¨Æ$…‡T q¯üÜqhýUfzksW…# ’quvùYõÂgð›TS¦Ë{ÃyÇsÜÀñ|¹ÞÊ1?û/7½¨úL¬¬ÛxôÇ“+9n›©™S“Г ‚ˆŽþ#èk‰¦Prý£t²ªM½¶ó=M–Ô9|]VN:,èµ¼)+‡ß€“ô'‡ùع$(èæYz*[Ž’ØµBHîUŒÎÍ#½•úŒ>Ü÷‡¶'ÒQ8…•žlÀ‹¶<ààxËóˆÂ›8‚¡ ¥sT\«µÃ1/5¸N'û»Ÿ45xíºD Å´vCãƒjÔŽœqèP Iõß½÷]B!¡Oºõ½lÍ» Þ–6ã3@ñ¤±áú°ØàÉ"ˆx«¡„ Ã@N’‡‰“¤E œ¢o}ö²!cY9›Þj*m 8{ëõ:ÃÃb+ò]^ëÁ 8¯òçžp?ûþù¯¾úê«Ó{ï_Þ›¨íáYrµ” (&}ºM} MmbFFâääT(I`Ç3Žþ#Û’®&’¬+]½À-¤ÆM=#mFRjÞYBGЮ{ÔïÿØÄ¨·ÈJ’lt ÂC]‚C½]GºgçÿPÔm¬Œ…w^ˆWþtc3o÷YÆÚ^/´oŽ?ÝИq^?b²´Õfi3>£Ü=x7° vz²W³ ÉÀö è1ÍôÖæ®: g8£zýĉ«f3~~ñóŸÅžärÏOø’Ê wpÌ—Œæ(ºg9Ž6äD~›Pq„œbèCcXu‰ãóSeÞ¯\²Ê¥#'ëµ n£™Ì£5ï&mbLîà ¥%§ÐþïXœ&õyDZ¹Koñ* yW(¢Ã±O.â`yïÚˆõã\ŒÌFÁKŒÂö—‹3Qr4ˆý4ãI¬Ü™‹Û7ä&ƒ³Cª‡¹K3IåÔ¶‘çæîœÜ{U¢9u³ð«Fg Á•%…‡$N9Žªîæ…Z®Ãc÷«Ù:­¼(JÂ7í*ÒÍÞ•w#¥’Ó ãZòˆÁST3Prù m鸵)áÿkÏ8tÔþ_¿ýçűävNsCœ.n›4g¢ÅâÌ𻨌 G¡:ɘž† p—ÓÕì')M&FñðQP»Â¹J|3I] 4«©æ®:¼Ën5~³“3ëA8ŸÏ§÷ž^ýÊWÎOïÏwpµÒq®Ás &’ÁhMöÊ%«F­ãB<攀†EvŽ·»ß—úùø³¦ïãöœnxÛ\uZþÓI³FòN™Ç8êë'Ý8µfùÛ¾>ãX¬ÜåáoÁ醢r WXw&Ï8ÌztÑŸµü »—ˆ~å%ŽÝöŒcoTÆôVY…íÊ€èK¯.¢_—5Ó“ã2 ç‘’UŠžßusWÒý±ç¸ÌOÏžOyÿW¾ò~ý×ÿÏ/þ~p¥Ö~r¹Æ•ô8¡VÐi¯Ÿ[#j9ÓLg&r p‘S(—c–Òó ÒÍóVy¡ÛhŽšýÜozDŽ· ”ž… Í9Ò÷vƱ*Ù0óxBN7—'Yôà AÊ ¿áÔ8miž†ßdÖh~ã*c8mlÐ Të§|˜"ÂÆ ÓºîfêÙ˜ÆYÜd “Ú1 3;þVÔ0ÂÌ.ßYSÓ|[Χ7§ç_üýåÿ<ÏŽm™Ÿ¥ÝŽÂ%©~SýªÎÆ è¸è½qrås}]ȳWñIo39©¯ä³B$ɃŜò–òyƱ Û‹ý·`$ß=Yî¤ÙsêåiùGyqGѬÝ ®\•mœÃÛS4KܘþÝ"7¦åüØåQDa¯ß¸*nN®.Mþ×õ—m!ÿýÿþÿþ×ÿþ_OçWó€£ÀiUÁ@òï…»ÐææUøw;ÕÚÉF{:䌣p¾Ñåš4ÎúA fÏea»º‰Ïñ£d%Q¯tJ2Ï8JÈï×)ïï~Ük>›2PôÄGö ×ÚŽ:ãØ2¢›ŒTIbÇnu’ELád`20œžnrù44»ü𺘀«3pF çË«Óå|™«³= ¸9‹ëQ=Ž÷üUª0R½ /Ÿlæmš.á6~ ‹#ËÒ ‚è"D!6Ô ‹ix þÓ € ôʸ}—ßUõõ“NݺÚú»¼Jݤmtê(LS9ô%z®ŽÇ"CÇœ4Ct[;”@dÔð=P„¥rvÈtãX è1M?sŠ(Ìé†ÄU2 ìò(to½^G×ÓaG᫽mãí/~þ³–‚ðØó ¯}:ϯ¨´ð7m&] ˜EvÉd“+¯ëÒ¼F²BE\z†Àer>Î…Ë ôâ@ ãÒ“¹7g;é•ûÛRþÈYåýO©hºø¢PÑYÚVc³rI©©Ê÷–5ÀöÇe†è¶˜t#7ê“Å퇜d\S8Ø’Ži%§âX¼ìÔúÉ>Ø`²×ësÅÍ^ßÌùžO—Óåòæty:ãc±óg20Øš³…ö{ìr‡Ìd ç‰r[iožnFä™7USˆsj‡nK{®Ó¨|«£ó8ã0?Ì’„é2&7¸œ•KrLuP¾«Dr°½‡¦½™V´½?³ÄÉÀdÀ3€1­ütCÌsÓÐìòžÞ)9qõéÕ¼ƒã8•v¯žþ裯}볟ÜktA\˜ôƒtó²‹N='!=jŠF&_¡ÄUž¥}†|nû"ly‰‹šÍU°ˆ¼¨°*Õ‹¥Sa½¶Ä"3ÑÜßM€½æn L|¬zQŸþ×(Åš‰\UJ'¯óÍoÿEó­è&u‡ö“óg ùWùÇ÷Þw×@ž˜“;cÀ …+òËNƒ3»üµ“ûçòtyz>=½9Ÿžæ;8w!ör§¾FÇpÆô ÄmðÊï>ѼçñÌø­KÏÌt­ —¦ «†ú/ÙÿõmŽ,ak½ÅÍŠÍoÜ”ýHÛN7o!3I"4]L÷&K©ŽmKUEß·rs75–° ­í2­‡ºoÎgt£hko ¥c”©¶8ã¹è¶CbCÓd2°æT¢ðtCÜÓggvùÍjp4Š<–‚gS^=ã]£óŽQ¤Nœb¸‹KZ ÷¾—2þ1BnÔñJù *™á&ÜXåä0”?úýøÓ¯›oVÑ„àÉDP;’µFíTͣݑ dm¡&Šé*rhå]­¢Ú°a*ZçJ––HÑÆB³ –í´1¤•‘ÜYH›ÜrÄ7ó[£éRLA’…^ü Ü os™;ãøÓ?ýS<™ø`jšóŒ# kfe jˆn.zÔØìÀ4œ Ž*Q{'¬œqxœ ¨˜]~’ªˆë*x Çóéôæ4ßÁñPUû`ƒáŒÎ•èPùX ½=£çò}à+ÞJ$^.˜Ø×¼*QÂ|‰NU¡ KgÙ¾Œifoè'³r$ää¤D³DÇ·H(d‚x ³LBê…mÉŠÄËC!<)Ô &M}&D—”0A[/aÖmúF¡ÿùñ¿ÅÑ~à9÷|O1KÒœ¡—{(¯3%“a`›ÖR2Ü•èܪ֚;ã­žåÞ¦ÕIWÕSLaŒIœBÛfµ’î\¢ÓìÀ4ô ø…SR¡üx„ÛJ.×—ŒžðŒ >¦2Q¹m]úè³Ï>“ôfg;¤eºô˜ ¬7$nÀ'gÛ’y¶ÐbêOµgÀ·½Â3Ž[nºË£±™êù¿ËÉ%™,·ä¿÷³ú»7ðd ~ãó€ã.áÞƒâÎP; ¡ÞÚé¬ÇLë¿ìé´a#™õÜÁ¡ô’:’ÿe–zí++èÃ?üüóÏ¡ij‡V>¡_+†RPJr~ãÞ yJ¿qÿK0ÂrPF)Z•¤ˆVš"ÒÂ\I|!o¢9XŸEM&´'šä-0B,L®¹ŸþkÝ–0¯óf\§µ?FN7èCÒ¨iÂq˜² ç$Pß¹Hâè³È4B(ÅéòõG¨nßeTʃ,°bffî0À¡uø”±9Üç ì€Ä\Ãá‰y äÚÞâ‡9ÝÀÌŽ÷wtNg ôöty³»Ö—\c”¬ú¨ ÿõMÍñß@ÅžMHùA‚ÂxŽ»7ð”Êùüt~3¿¢²“:™n¼e@oïž’ä¸ÀMÂ×?-²´I'X\§\eö È(í†Ä+äx>solÕ;I“ø#'JµŽ™RnÃ\³1r>¨¢Ï;Ê ÊiŠç¦,†““Ídåð7ãÔ£vQÈÛ7ät£ÖI¬¨ÌË\Ö>¨¾:ºÊ1ý¼kÎ@Ë~§DGcn›¾ÉÚã!¢5û¬G;Ý@–ˆ¹žÛùžˆÛ^pÆáO7„–†élŸ « ³êÓ—&Í=yÒU­ \ú¦‡Æü'‹;¨0àdW]¿ ‚›8.ó%£»ª–éÌdÀ1ÜÅqûçÔò¥^1Æ1“Ì4²Ó–Uf®Ì z ’i}ŒËC†fÞTÉ?8èR Ó†jXi~V¢ÈûÒr¼%O¡ð®=Çc„Õ0s™—Lè}Z«ÑÅÕ<eÝ5¸ÀRb"¢¼$¡.ð8ú,rÈ¢ðÏÿë·ÿ¼æ¨])%MÉÀžˆgŸ›{ÎîfÎz#¦€ DîñÊØ&Çg ò¼Ü˜¹dª*9ÝχLgå$« r­ÙÐ2“CôPþJ逢•J¬‚½à+±Ï—§3ÞÃ1_2ZÅÜTž Œc[8ŒøYÜË•èŒóëŠÄ;d¡)’¶"Bµ9°’ã">$L—'ˆÓOua¡¹æ¹ Ä Òl§Í¬ßãâ9Ï ]I GÁ/_â)¾‰ƒ¾átCÒ ¶|“S®É‚f ÈŠ?¦ÂiÅú:WãçpJt4æ–iéÝUM±ß½í‡Ä*Ÿ9â ìtÄO"W…¶¨œœd%³h;nΆ ÓÒ’÷nh?˧3mU›^£Ës9QîL`bxÛm-¶YÓ iÍEt^ß2ŠŽç_žæ]DNãÁ ´m;±9œÞ¶™Á‚K#×>š,3úhÍ8­ï²fPÐŒ¡Lne4÷©YÊŵÈAÈ9d-B-2¦›GМ¨VÒ~0»ð©-™&ÃÈs>P-ç€(PÍ”‚KE>J#SîÍ{$=g¦\Ü»A U¼"3q+Ðüde¿vSÜrHì!“ûœ“˜âØ@äžH§íý1`ZÚâé†0°ÒÇÚ]žs½^u¨Þf h¼yÖùôôt~…׌>½w¾>¨2&†tõÅcRu™ÜÑ%…U°‡Sæx^¢˜Ï¬á ćqîpgÀdËI ¹ü€É,ž ø\z!$IùÅgLrV‚ŸL½™PÿY¾ªP³x2K«*¨©<èg€ r6E2@Núé%¦@ Dî÷m"ܦ¥žnÍÓÙáôk ÃÛì¡{¯ÓËåòŒ÷Œâ#*ó%£{¯«ø‡£5J-?¯•Ò÷³QΆC™f—ËÊÉá›ßþ KL%•ï¸^’ñ&…9¢ÊÉÉ!èâ Ñ‚fÌJ u¹>íMD‚¹_73?÷{CÏÉ}ÑZXù,HôÒÄû¦‘ûÓæ&6ÿá ®jÏuºßωðê­ïÈÕ…~‹—%~§D§¬4­5°Á³A¢)„ÕÞ"=pH4ÈC.Ù 2@Lñp ò'ÈÝ0à[ÚgîÌ8Øæé,€]µËc#ãW3Èòúž·áîsXÝšܼq½wo<Í—ŒnMþQÊó]½ßó’áLJ)ÜÚõ»4 ¼þê f¥ $úÙ¸ª¹óf°xä5úzgºáÍôd „±‘=},¬ d·C"÷9Ç7b UÈÆÖÐØy™O ¥ ÞÄètº4Í2 -ÍÏV‹E¬tÆr;œþ²"ÉÉu¤ú/4Fߴ窪‹8\<$7€d5™»£0Ïç§·§ÌŽUÊ\1=|¸KXÁ$Ç2]PÿÖQ£Ít=UÐcÛàêÑMŽNf}½@úqÖ¾íùUcó¢ÐëËš’É@ÌÀØÎÈ9Ö‡°·!‘ãÛÀ‘˜~²±õn)áé†Þ(néÀ,«ŠÝÒülµÕ<ÅÈÍ];íäž%)Oj^ ù~Äô2Í[Ë¡sÉ[’«8w?ãC*ϧ7Oó•ýTÉ®¢róêØ£%ÐÎ[ùi>Ý‚dC•Ž,Ù]àt®A˜T¾…×Ç+˽2@:·€8^lõûUc碰ޅiqlJfá\„«vF‚ßwçh6p#¦T\rm®¹|KÛx•¾¼Š~Θ†Ã#^úÙj1ŠÃMg…ݧPm‘Ÿ©p+.(ø|9?ŸžÎó+*·ª„½–‹éªg]µ×°¦_ f]“<Ÿ"g” O<ÛÜù{X+˜µòpV÷ èW‡[Ž¢WÏ)÷±#Ú ¢ÎcÕÎHðæ>¾ófÀ}ÎÀŒ˜Ò­ª{lk{1Úv\;lü±Zm¹Sÿ† øÙjÑ™†éìV ¦°ûª-23nÉÀÛ¯¨<]NOÏo_4zKWfÙûccPÉÏþŸÕ1ÀeJÙÔnbàAØ6«v³bhbîÀFX5ï±(4’»¿¼¿–¿YDf"®m*«vF‚ß_gDŒ±–y¯OLɪBî±õž´7ÉE çчœêH‚ò™8"~¶ZŒâÓYa÷)T[äd*Ü–ëùÆÓõ£¿œwpܶ&féU 虵ÊP+s ×ÂGN72¤:ùG`kw½V@ºj5gMÂÿe¬á_·âoƒõ¾¤æ–Ÿ‹]?®%b¥ Õ¹ZžÃä4ט~IÖ>úÚ·>ûI‰f•Ϊ‘à÷ÔÇ9v µˆ)uW…Üc[ÕTDmÛ·ê5|ƒoÓdmülµXâΧ³ÂîS¨¶ÈÆT¸=çë7TN§ ^5:ßÁqûêØ¡˜á8¥‰{zÎ3YÛø¯ئÄYÊd`2ÐÆw>bŽÕCÕš¾­ÐÝZùUãÎ…ú+WL:éRM~:ðarÃ&ò!žt‚\éýèk‚3ŽáòtKõª‘àf‡ÐIËÍÍŽW†™*äÛfƒ^Õ\Ü4Ü~¶Zto·ÓYa÷)T[äa*ì¼dôíGT.¯NÏO{phú°+üJÑHpi$›ùùµùg3'ï© no6 Óä¥ì¶ˆ-©Þ€³Ž7kˆ ØUX5îÊŸÀ™\;Ìɨõ²8 °H$m²ôT%Y4¹y"GiNÞìðªÑ€W9É/qˆ•¾DšÿJ0©¬AJ ½NODÍŒ{UÈ=¶Æy9(g a¶Úáâ­°ûª•³75oËÀoß8=½Â;F/ó%£·­Šý•®—ƒâ%²‚äå(ß±˜û«QŽ=2Ž^a3ÝYMqE¯:AæmN^Uõq\‹P¤šLwR½Xè6 XÍëÕÒUëûmœÜ¬ó—±}þÕ‹-Phùøã?ùäRÔÙÔ‰³e‚[ZRÖÆT¯ÚÛúµ ¿´Õ—fd–3‹ *½~ \v£÷ IDATR;Ctôè@FZÞc[‚?u&f¶ 4™µ«­°ûª1ÆC$V]KoÉÀÿóW?j+îrz¾¼º¼¹<ÏGTÚ¼s+¿8  ³˜hà¬íôeÏÖîˆëïöV5Ñua ’¬Ú Ò€L?"7ü ÁxËËþæJ(`,2mâÒú>M«\V!š ]U`u®É¢BRî½¢>³h¨K‘\É’mÿ¦*_¤qBR®u˜6ÅÑÐÈ¡ÿÍoÿÅ¢ÖN˜Uã®V„ˆ]7Hm’à1t ›åÚdæð}ÈiÞP.TöÙg}ôÑfTKgdÔXÜWm¹i¸v‚5(ýš—¹r©P¨ŸÃ+ïÙ;õØŽb¢=,f¶*áa'3Za÷)T+ |:~½¯nàÞÁñÞÀq}Ç<à¸ÿ^¤^F{*ÐéµWá\TIÜbáYú’c¹Q¨äocKC#÷˜²·ÄÆ’&I|’½X§œÛ äñãòÀÓ Oˆ M—^^nI\¦ s™CÐjš%-×iß a]û\m‹ô¢B¬/e%A$ æ<Ý0Pú2‰ tÚ+KY^+”.g>W¬4òi³jÔÍoƒÒŠxy·ÜÔ‡„g1á›Á­¢Ó ü6l¯Jõ!Î88|IÕತ֌խªUÊíÙ;õØ¢tc~[féÇfàÛVëÿÿðokMVÕÏášn’S[Õ·àûZH ¬ꂟÓéùùôj>¢RÏÞ´èb`Ô¾NœÐ$‹»è.§±_o‰$¹“,oTZ¹¾@!ÀLZÓl,*i{VÛ¦v rQ;~\.?eÜ^5«$® ?…l²¾—Ú7u-YP”½ÜHˆF}]”P“PúN ¬-ôzÂ+ÓJ'è†ÍKÜðVºˆmÒæŒc›BG•‚ 9~F¡­Ã*öຩøÜf ac„×êûšÔüüóÏ?üðCü¦díÄ!Î8šI(¬‹füÞ½S-|3æ%ÞNÉÀ½2 —:FÓMrjÚdÏi¿ŠÞ³·kûvÆ;FŸŸžßœ^==Í—Œ®ÍöÄÿ’³3” ìë¾ÔxIA–ýV'DŽßI´€/þ_¢cLJ.¹†F‚imè—YZS§µ•I„EC}©ÓÀ¡-ÒzoiŠÐ—†+Ô‹T T6š”ë„Ö!¢©uDrÛÓ MšŽE§µÏ ‡‰\\i ‚Kš3A}£Iy.Á¦…8œ8—øTcBAµ\‚Vf Ár"§±¾É5‡}&wûËÛ¶ód¼ø„‡ÈÑ“ îüh#ç¶ÈÙrªpŒÙ“ˇS䌣ªÖ6×kqö¦Ï*¾¡cÙÄCuà ›mÖ˜eͬÉÀÝ3ëz¦›äÔŽÂ7GGqx?ÏÏç§§WøšÊ|De¶WD°P²â8ÍVM/£%mnÆ‚ûÿgïí]nK®ô±sÞÛlJå`ãÄ´ F8q*.¨ÁØ‘À~pÿ‚AE ?06 ÝÐt4ÉÀ ~`w 3Á|€; cãa©ï{ü¼wÝûô굪֮¯ýuN¾¼½öªõùTíÚUëì½Ï¿ø]lÓ´ÂŽ1bV:ÄŠ™°‡tÒoÜJƒ^—Šzjú×—?{sù=ULiCËSææ‡šØ;üvÑ`K-O¼·üÁMÑ£1Eþ¾»>C ˆ8/Âb,¼ç­´³5„sf}%1$H3“¬IŠQÀ[cÓb ?½\>U·¼baêÚC‡Œëœ8xíÑÒ*l1Þ?Va!§õ¾É1&[©q` å˜4ž±'§ö¶¸`*3ö«e‚-Ta ˜< UÊÅ›º‹õ˜ÁÕPªEòwË;8$/,ëõBôaú컸G Åb#­R˜*‡Ô(VéJÌÞBg.S}"p^r§ž9MrbgI\__Îóqâý×§Ëíå]ó3Ppó¬xߣÖÉ4˜åå ~ß(Á‰Anµ,%kWäß$ÜDC¬€“š“ÖÌ62)ã™ÌÍî Ö«ÌÝsdèó†|YXÔõ’àH™@ëRL7‘©%ËéŸ~öÖ8ü°lCGÓ¼¶Œ…Eÿˆí· Cê§¿|ó¦ßÈ6d†ä<;Õb¤kçäØEC+ªE¨nŒ-m0;ÆcÒô"‰R¸,ýýYIÚK˜-‡9d<Œ0ö1Q1vb­5ZË÷N>Ôr]‰ÜX¨U_#ýióþ8Ñvú‹Ïðsí!mX$Åš“u"PÞxzÆ©<=}4Q9Q¿m*–Dþ#¾5h’…EGºº![Ä6;‹Ž¼Ö‹ò1MŠM“0(­^ñƒ·÷6qHN’Ð# 'ûmY|K#©•cÒZaG¬½Ó#nžÀ¦WþårÑ|Þ…T˜—Ö%MpÀ;‚6uÚ´\Bnò)VX;(q-2XU€(–>Œd<+£_òD«½ÚduXt=§ÖæXy?7æìs:Í ìÈGÃë9…&3ÕLM'mgeД45„I§æVÄœñB±œú@~y‰ÁÔ&C¹®l,ÔªÌzšºoÖ^§­Šž¯n¬ênß ܹqÁ{8.}ý4ïàØ­¦ã5ý!þ®a<¶©×Üz) Z7F¨U"ŸÜéã\ ¾?ä êh [ÃÈí·×Êqh ¦âZÀ—L¢š‹¶œ[¤Æ±˜W`“à@Fìx´Á,$›JƘ”’L/l8Íe…—‡úõV˜•ZFN vâVl^»r‡6¸/Íá0r#pã»á@ü$é9PO2³Û4 ‡š³œÎW˜ø«™š–d¹C–œŒºX üÕÌQ@åÌŠSxYÃé¨à“vÊK DžvÊuEÅX¨U§ßILJÀ‚팕ýYÝ(éÜûÁÄâó„"ÇÛçYà¸>™…Y%M—ÈhE~õ f¼ãÕZ9:ø*²]”ÇÅsÆòÍ’Q–•p¾Ð%pi­\xz‡©ÈËùY)ðïêÇQ‹”ûFÑÜ ®wÝ>˜¢: -f¬é¦iÓ;Æ;¯ÖCv¼4®¡Ö="ü8ÉZ’¨$Aw¹¦ŸA‚ð2¹qè%5GÓÚ¬áÓ5Þå`–æhÒ å Ú…¦! ‡”Ôö$e’„þé;á˜ð×8<Ç©nøØNÇÑ5|Ô¹“… o_s°+ö'£àD3ûiše-ƒ65‡´T:x(Â`vhp3¢¼Äà1/וtŒ…ZõÍ0™Žî s<~j³ºqü>áõ¥Æ?ó%£cq=¿5Y*qÁ4*!½˜ëùö[â ¾Ç2؜羕‘¶#pÉFšÐÉaáÓhiã9ZïÖr2àË¢0H6IéG3ž¾»›M%CÝ‹9*/±3ê~(Æa³Ó`[‡V9¹š]w*šÞƒÔ8ª¶Üá¸O½üÁ9L§'N}YÔvÚ NžI¦ö%´ÞÿÝãëš™$ÓÛ©åˆYjI´9l’o’84ñÓÅAS›hØX8x¾}†1sbs%#³º±°‡5ûî7®·ïÌÇa{iV‰€Þ"Vª¶‹ëÖ^\M’Ц¹8#!­ˆsà£ì˜çPOq’uí,g,Ôª‹ScäqðŸ™>&‹ÕÇ„å^³~yÇíŠ8ž¯ógbﵓûòò«"Ïið€]rçìM½ìý~ýÂæ 0~ˆaÑZÿ.”î¶'¶¯n0ÇãàæA`Ä!ÝÔu.=f£½#ëâD;rx ±3#_€8ÍDçŪ„;³É—ªÊêÄßÛaÓ$&÷‡À¬nÜ_Ÿ.gtC‰ãòôê:ßÁ±ŒÕCIpAƒU‘|˜þF×jµd;W"#QA2'41£#~c¿ö½DÀЌ‡®&˜ïƒ‡dVügY‹ûaiÆíy»u±‚\ž®,ò)W9¬ä‡TF¾Žj ÔÄ q’n#0a¶)N-€ŸÊÌ\§…=Ý©NƒÞ›&1¸?fuãþút9#ù•Ûå£ËË¿ù™T#гrBé!XÌå Aˆ *µ#4ù ’ßDŠó°KXB3‡JðPÁŒBíÌû8‚ÙlJÏϤïošmÆg "á…MÒG€—x™¬ð·çr?«“šòe…#T7ªb8)ò3ì0k¶½Ow €{7pÇ«çëõ_gcއÀ«™æÜ#ìýE¢yoïúö4 B~œÊÜnÖå~^[onò;ÿÍÒŒ†#°Kâ»8q>l«ùvÑoŽùðº}šfËm~ëÊ´nžñˆ ?ÒÄC!¼¼áìxhÀìÉ"ù;6#ÎZkê­ù‰ËÌlqÌê4nìTÅ@#“˜L¶AÀ,€;ÞÁ²¤ ^½úî¿÷ç®ÏOó%£UÈ=¤ðAV6\iÝq'øymÕ¹é =k:Ô€°*Æõª‡ÇD{Õ”{ŒßÇ}Ì'ÀzËÍý¶üÑ+Èä>B%9¼pøÖžñÙ «ƒ@ýÅ_¼~ýºjä(ٕ䘔!J>/m<óŠÎ1e QUYèT'øÆNU 42‰‰ÀD`̸Ó鉖™Rý;ßùèßÿÿƒýÿþøöíç;8Ë$&{"àçµmæ¦æ5kr¡Ü‰ ak„Ú–é¡ÐnKa3­»©ql†X¯£×? ÜrÓ 8¬q¹/ÁS‰g78BKùˆSÓµaëÂD­.f0=§}C¿þT7ð× Ý5s÷(ßTÈ ŒZx41SV@úU•…Nu¢mìTÅ@#“˜L¶Aà› D·¿Q‹çî@¶6€'Tð±ðz{ºÎÇÖèO€Ÿ×pz2 ŒB ··é_÷û~œœ±°Æ=Ãâ>ÁlkÇb²±µ?þØxÄžÜp~˜›ÊÃÆÔLG-ö¿ø=¼ ’‚ðW_}UORrqB[³I±$3Ædš²Yœ14hê4eìTÅ@#“˜L¶AÀ,€{œW«³§ÐýãÿøÿüãÿûÑõ»—§æ;8NÑe3È{FÀÏkÇ™žô]ë«öa Xš›$Ò²-Y‚Í ^3‰ñ¶ÍºÜ¬ÚÇûKYlˆaàNE4ž÷eêö _Ýïx‹8µõÙ-§§3AuZ›ê÷Š€Ÿ Ìì'Þ©NãÆNU 42‰‰ÀD`^_N·ö‹0îà¸}}Ã=ÏÏóޱÐNkõç¡îúØhøyíÓ“Þl“î|ö>èhÂÚ`ã÷?½äUb™ðB˜t'Ô%~O$ƒÕ¹^¯ƒnX¯·i¥†0ŒÍÀ¦µ?þâwRãÀ£(|hBßVÀGTjçÀsm8nU}„ÞLNM˜O3#PóèjœMMÃ" §) ²j¦êT',ÆNU 42‰‰ÀD`ÌÕ¡Çiò Õcðtº×Ëõúôî—b¯³ÀqºÞ»‹€¹‘“lôaíêy_<üÚ]»à›U¯p¼ü¯/¦S¦'£Kû†kl¢eñÎÀÐ}aĤ©¶ƒ´AÒÚˆ™ÜL<û2„AZçµµ¼¤4UYóFî‰ÓP_@úmZ9ܬe0KÊ_¾y“Ëý\|?ŽŠ?WãX´oF ÆëEQ㘥EèÎ"`Ê »ª²Ð©N”Œªhd‰À6˜pSs•é1ubÝçÛóõùúôüty;Q9q?ž4ô`_‡ŒâÖC¥ì+ žç Çó_ò½üžIÓ“× láß|öCºˆ‰ðKdè%'L¾™Üh³ æÓ`D«0~Íã±BÉrkÞþýqÌJݬãsù¶imc-çew>oÖ`$žÃ¦ œÔÛ{7SVO¨qx`=§ÇÅÔÝ?™™'£Sƪhd‰À6Œ¼šüß¿Ù&æƒ{¹]®·çWO—.·Wó%£ï¬ýÃûmXÉž 2§øîZ‘Ev JZ^nÜ(©nÀ>ñÑŽ„–& ßÄqS^Ý Š&Ú^é/L_ShÅ]ñÚ×zÕ í…4 %]E,æÕ6z >%!I¿kI“”`S’©$i­¤5Qdµ´pÒ¯fb½®Wð KVðmZÚ¯¦ÇZÓ–w§1n9¶sÛì—sö×»Gú€ -3À#ƒ¼r˜vjW™ïœ¬J n›F˜ÃГ’/™—F§zÎNU 42‰‰ÀD`j¯;AT×£Àòùš®·ËžSÁ·yÇùºï¼sõ¬SàóÞš™”Ôǧ«VÞ¹é)gĬÑshTU7 æèéôb$Éׄ–¡"É÷â0‡€¶©éòk°J~´µrº$/-“´l jIòA$Ç™ HZIʳ•„iò|X²U šÆ¬ÚýÞ ©Û¦•4æXk9/»ðãMµT$ËO½USÀI]n?7ÅBíä­~b¨ãÖòħäÚø)ÈÌqê4nìTÅ@#“˜L¶A ÿ Â8®_Ô½C⥪q{~ûöv};ïà¸ÃþÝ %¬«Ö—ÉlÕ°—cœB›ï !ÒE‘õ´ ¯­BnzZT$€žÀìùõð róé7ü?£aö~FAžGwµ<ñ>˜ÖhŠASàç Š!èTøµêÆZÛaœ—‰.Þó?€>í,B amVߤiÈè;ƒø’Í7ò ObÄkA†M°#4½°I³ ´±Faíw‘þéåòé'ŸS +ûŸ~ö戭`\aÿ w ïfGY×ÌÕ©¾ß ý€“ë‚á| òqšã3$¤ƒ¤xXBÔÊ{›9¨Ozáó Þ=GO’lÕ<ЩNxªhd‰À6ô_;$Î#\…·A¬ÂËíòêz{B™ã†ÇTæg"P‰@ÏÆ[\qS§=û}¯n=­kùâ Û$H"ùF^õ¼ù£O~+̪û8hV~!Õ n¼Ù4–¨£uŽˆ¤\]CgP›Qƒ5™˜7Xð*º² ­žãµ„ÃòÊu©ÂkyŽ–/¤QÑÐ5ÐE5ŽJ-Œ´`tÝw#Ñ¿þV}-Ç«óì;Ú©ÇPÑ×fna“'ü âeJ8³–Q‚Ò1eLYAVU:Õ‰‰±SLb"0Øò«LO°8‰ï»O¨Ü®—çëuŽYà¸ï¾>Yv¦ÆÁ‰€ÄZù¨/„Û|y-lä¸í‚\Ú6U.Œwý´zA5j´–¬di×Us´O°PxÒµpj÷Züf{1/:òÁA“Ø!Úr³ ñöA¯p8Ò6- S@#Ȥ¢ßÚ¬qôàߦkJ8 OÀ6wÛk™sôÞœeÏ÷s——™œí0ePUYèTg¾ÆNU 42‰‰ÀD`ü"¶Íï]yÛ@HkÝ.Ï—Ë^Äñö2ßÁ‘†è‘¹XQÅŸG§hsÒÅàHÊœ¬„88&Ád´85ô¿’v™fîZ”ŸÛ àOs3ÄatªÓ¸±SLb"ð€ì2µŽºR”\¤°O%eܾRÁžúzÞÁñ°£ “øJ§=¿ú†Ûžo¿3QŽÍ-ÖÁBã¯Þ1&g(‚ß³ ,`ÿÓŸýAãâ=¾y·ó'ÿË7o´||ã´¨NB«kº©ö†­­y1¶R /i Œ%tx‚Ø~œd-IT’ æðÍ€É C^ß" èP ‹6è]hE㋇$<°ŒAÛñb%˜Ò«|Ô8JVù%Zz,Ö(™ÀàQǺ$cäD‡€¢œåÅPM‚äDÂŽÙÆ {U7‚^0æûóÊYË7™bŒ Çðᔜ¶q¨-˜hYøA F±ö°¡¾`TàSÙ-˜]n¼ƒ5½µÚ¤._ÎÁsI†gLÊfAø C²€mÄ’2Ú,i`Bº–ÈÅŸã{û%’%2Þ28¹Ô~á1îôÁ4¾Œä¨C³Ö7§vÒ‹QŒ×2#ÊŒ7cÖôÖŒüÙ«À9c²&Á’âRbaÊ "›3=¸Sƪhd@p)÷Â'ålŸã¨kAÃeè¤}4"l<¢‚úÆõÕÓ|Éè8ÐfŠÜ&‡vkþ ˆœ0øÍ»»À¦i:ïrÁÌ›§?]÷Akë‘6-“ bHæhÄ’2¨$˜QÑ–—ö8ê\Rµ|˜¡½)rH9̵æøI#UL¬øõI zq`TànQ £.9Ò$TcpÑZU‚ú4ŒÁ9`ü‹!™å!p ”d}¯2zJ‘g•`+…ïÕ“Hš0ÚŒ$-OæD@è¿4#w™ÉÕÓ—ÅfÁJ£Ùæ#(¾Â›Foó•GèêÑ96OaØÑ%wÎ>ÀþÝ£·i8ç].˜yspüMwèC“ š’9±¤Œ6{Lz_¨‰IOT¦¾PbÊ«˜ª†–l8 Æ›1h¬•„t.ƒO ιR“hM‚%)Ü%YߟŒY' ÁÅÊB¼@zyhôWÕ7š0c¸¿Ž˜MN„€Y0´E¬1Ú >‚ÖíåçSnÏÏ·ëü•GèïCåX²+‘éLê¼Ë3oÞß hDG's4bI³ÐÄ!?ãgªß~Ã`¦?ÀÌ4€ƒÆš¾ƒCƒO Îó5 –¤p ”d}O2þ´5çu2Y|3Ì/‡åQþMÊ/2M%1,Úœ‰ÀJ ™ù®8+¥s.³×'üFì©àŽù’ÑsõÝÑb¸ªÔ/‚û8fu#ßÌ›CfÀµ»;HÇ7™!Ìш%eL^þkPÆzÆzަåZ°m0 ê½×Ö­Ä IDAT†™x8LŽ=qm kµá_Þàƒsüt|„&A/à9÷‚Ïñ^9f6@šz6hÈêßÿ¬ZÏ„ÑCµû©0P`é¾Á]9ül¾%÷á êªk?³HøKÝÿƒuE¡G”~÷;*¸‘c8±÷Ü·Ù€åæ0´1ç].˜yóþf@“ ú;™£KʘaÌC¹°É!þ®z3^§• 0% x6U 63üp˜µ1h¬m˜ÙF® >18Å4ÔI°ÄöýP’õÙeÌ:éTU:Õ‰ž±SLb"Љ€®,Þxsá{•i˜Ó§R»Uü“Ï[5¿ÑûôgøæàQ©ÿõüNCêxBåú|{…pÌwp4Àwß*%[>nO…™ïN´\0Ûª`OUÞ)%}]n­SÒ$kÉXR†ãS—3`ù‚ LgØåêô^®2%·GÀ”$& =Qø-n¼ƒ5µí\Û£Á'gí`Ö°o\ÃÅ´¹/f€`ô °[§:í;U1ÐÈ$&=°œáHÓÚesø0&g"`x÷3±Oø™ØùˆŠAfÞ-f¢<Ñr¡dWßÖmýûü!ûv“ rIV.ŒXR†8˜ÀÌ!Ŷ$‚ö–)ŸÑ—)I Lzºð[Üxo kg„(ŽÙàƒ›:f«Ið˜AΨÚ0ëÑçþ¢ÍNuÚ7vªb ‘ILzðÕŸÿüç¿øÅ/´MȬWã0göKڇĦI< xýÆóår{zù±ØYàxÀðˆ)›‰òDË…ª]}U×öï·«Üå„M‚KV.ŒXR&çâüƒ }(Žƒ)I `L zÒð[Üxo kǤ6BƒO N­ñ#țҌ¡³N€A}Ö/ÚïT§}c§*™ÄD`("ДкÌa†+$=‡ê FåCèeš:ø •ÛÛçwïᘎsuÝ1¢=—áUH˜ÙöDË… võͽ9dÇnD·&+F,)c†„ ÏáÍ÷E{³4ïÀ‘)I #L#zêð[Üxo kw€˜IÁàƒctOqhßEiòêà^w´~rEûB hÕs(^´€÷kZµŠv ¾—s~Þ¾Á:‚LÖ8¾÷õŸÿãG¿Ô­ÐŒêã?þꫯàQ‡´AÓÅQ¸â•Wø•çYà8j͸F!`–UK–Q1´ÙiØÕ·9 ´V½ÿÐ$ˆ0’• #–”Ñ)`‰fmºõ°t3Ô&Y³BÕ­lÒLB~ 8Z—Šš)FØ„CÓʦ¿$Œ dLIMUÂoqãm¼1h¬mÑÆ. >18Ç6ÄIpˆÍidÌ:1T-¼zaf„Öo>û!þJ™1sÉrŽ™x½baÌSl"ŽPPêþ")s$»FΩdÓfLS¸ÜÌï£9½Oo_~#öéz¨ii:Ú$GÉÊ…KÊøÜG NoÙsL^^ æ^ˆ‘.‡ÚŸ­Â|+¼x&8blÍ)z¾x bh*ÛLI˜ª„ßâÆÛxcÐXÛ>Áµ=|bpÖfÚŸ$0ëÈT-’êò‹°Á¼ /zæ„$ìèXU Ì‹6éšÊ I3)IILŽŒ€Ü¾Á{7¤´Ãׯ_û°õ9å[7ã ŒYãØíëåúöùùú U™Ž ?“ }Ù[/nnäÄ…>,ßÚ-†g–mË…E/k´íê‡D¢û”¦ÚÒIÿø‹ßã%•‹cv½C椫À¡–RšJ¬q©*‹T}þ’ÖëWÏ$LJ[I€i|™’Z:-@¾¶ã|LIabÑ“‰ÙÃC ÞÆƒÆÚq‰Á'g”Óig"Pˆ€Y'@KŸÝ‹F:Õa_æ@±ƒ-ìǪbHY2£rúMZ˜Ì‡E€‹> r((ðt C]ƒ5!øÔ £=HuƒñLbmžñ3±á£Ï×§WOk;›öψ.{‹Ÿæ¼8u&-Ä­I•$Ó,;ú— I/k0YÝ`¦U”þòõhÄ6• ,øøÑÞè\^9¾wQ"Y"c,ã´9<¯Xòp¾¨æâa2ª6S‹¾Ö𳇙^ü6g±‰Ê4ÖŒð|bpî ߃§Ð0±<£æðü©gÎÍØr§:{;lšÄD`{øåŠ/lÌ¢G–9¼ä¼iÂcr÷ü€ þáVŽyÇÝ÷õ±,YZA†Ók[ôf¹Pµdió8JË,ýß\~ÿæÛ›Lî“›O†a[e÷½”Œ‰žÇ,M_S¨qÈ}fóÇÓÜjÁ!‘¬µçÕµQ —'bÍ@ iGƒ˜C̬‚C=±`›“‡ÁØ6µ3]ɵÁ'g¥Ó¬™¯Ïì¼æž[sF#}F/fÔ©NûÞ›š‰9i7C7à‰#Ofñ°ÜTíYàoâÈÕbf£¼îDòvÃ+8ðŽyÇtè)Òð‹*„}>)éÅ’3Q6LµI³0Í Õ ïT¶Ü|j2I°ÕsØDÂ`Ž~‘®!‘“$_Ú-IÔ8‚ ¶ÖI3},û¸òÓ^â¥$/-“´i jIò=täã›z8„KŒ|pòòÿ³gÔõ3‰™jü`Ž˜1h¬¢8fƒO Nlj¶– €Ù£|©.ñ~pº™ó1Ž¿S]×wÑçb0ó­9ÔÖ„^ð*“3¨B WP¨2"Âþl*1‚ðÁ{7„(Q™2€îÞx÷’ÑËÓ¼ƒãºû)š•örŒKhLR䀀|ÃwJf¢Ì-´£ƒÐf¹Í^—$Ën2¹j'×DÖ­õú©0YöïýGw£õÄ{B¡)º6¦È_‰ „‘èif÷¥›’tœa1ºïùÀA+í,B áœYãEKÆ*,¢1áÿúòg†8ÒNEŒº$¼ºpraääøŸ|NE×”"˜OÌ ƒC=É@ÝxÄa`Ó4ÖLlwphð‰Á¹ƒ|÷JÁ\mËÃņ+o¹‹#Hš³!é³x1ÂNuÚç7x–/À)‚W+^ȤÕR%'/¦(6‰‰@Œ&™ °ðã*…*z5Ø9]ø³‰^&1¨GàåÞçËóóåí,pÔ£75ºðÓ%L‚©'Í'f¢¬Z²4¸¨b6EÁŽhÑ)·ñEE#€ý68ú5NFà\‡„%vàIƒµL©nóZuÈ£Q«Å²‚ÑeuÃÔ’T÷bUÚÑÆ«, ^Ür›’\ãDÓSÙÃC ¶i kS;ˆ)ƒO ÎAb>QÍ¥ #ŒtnZ´µ£ÑþʨÏßÅh;Õi_ì°ÆA>sµbÍBËhÚÈë¦IOúè\™ø³)®mª:¯cãf‰ çZw_gæ;&ÿ_þùŸ“7p<]f£À©¶¦ÆÁ9…DàôSõµ-Ä~úÙO¾ø,?n“ŸsßÕ ÌA/‹Ñ ¼›.j|‡h²’50ì6Sf8yÀsf‰RO^^ÄÑŽí,U?WV ¿Íl­Ý¡º!ÁcxÄC”$ …Uš^KAÝŒ±Ø¦1h¬ÕBz|yƒO ÎñÓ9N„œ â0í,îXÄÔý•9̆JŸ¶1hÒjÔÁÌYˆ‹Új9# )¶F1!J„KdŒÙyøhð&Ž ñž)BŸ‹Ý›ÌÕ¼!žxEÑ`pªÄà £×Wó%£1H×zÒËž¯nœ´ë†Ïƒ¼÷5D_ɰöÕE n¿c ºo•m18gIjß8ƒê†Ÿ„ '7áÀfÏf_@¼w³¡Ò'¬ö£Z bÓØi3âÛœ‰ÀpäôOÎ-3ƒ9 J"ïôX⢣XäT-2­MÛõöü„—Œ>ßþt›wpÄXÍÖ1èùÑ,­úÜ}u£¹êÄêFƒ½ëö}„)[~ÞEZìË7oôáŽ4r—[`ü0ë]x´eý;8ÂÏ“¬%‰ ÑöHæš„Ï"ehØJ”(fy/šã}A‘'ùqÆoÃá§?ûµtG™#ôRfqËmJ°‰›Þ«Àµ6˜sJ¾7Ȧ»$ >‹€ß%£’ÒWXm³ðj+bÉ2ÇÝÔ8̆JŸª±mÔ!VkA,;mFrANþD` †WÌYPó.gJÕ<™EÕ $ia2«¸^.¨oàWTž/³ÀQ…ÜnEó#W`ò­u«%«w÷Õ ›pñ1«|Ûh±jâ΂äÚ·Ä ïîfS%î6“•—ØÑå¤QøèšaÑÕ 2…ºƒa–Æ6“­If‰¯Uej·ÜXr™…õ:¬Ê 1µj¦1^…ÏAb>`¼¶êØ KF%9ùô¯òµ—íi 3sré“´$£•Z âÅØi3Rð”™s”Ĺ˙Ò?ïaæ)ÉnÊŒDàv¹¾8®Ï·ùŽ‘¸N[ƒÀì ¿%öÖÍDù2 þjN(/8qY^ÝÐE(X•®ü—A¾¤œ¯­%ͰYbǸn8$/?¼‰³ùÂ3$/mQuB&|“çBêÉ!‘4•lM2“ê310ô²t"pxˆû8ðOsØ´6×/âÖ±a/º†ü³ž8ò¸u`^ÓÔJ˜á±¸ÐY\~Õ\)¯Ãšøôt¿}£¹ºÁ0¼ýjdŠ‚0÷x.ž­&)³Ì@k­1hì´1±ÍÉÀÝ#°Ë™²xÑ_„Ý\Ôå§À(ðúÛåvïÄ^æ£@vj@!Ã/¡fu£ `4-ÚÇæÜ/—VÕ>g°Êˆ  öÐ\«†\xúóÊYÐÙm‰’ö;i =l@ÇË0½m–eÞ`dõ;PÚ{Bò ¬1“ǧJÝX{äCa}d4LuC~[­|hé“Z`4çu!¶ÆN›‘B_Sl"pd̹‡ºÒ™R¸Hæ ¿q¾µ|†ñº“ÓÀíéŠû8ð&Žù’Ñ~0§…"ÌŽn±œìî̹Ò$X”ÕÊB¹;ùs|„Ã&R9D{²ÌôHC›V`°ªIoñBÍÜ <âVh¿?¯áPF>ÅJ¨ÝrãÓghsÒƒ%1œZf±*d²3øÔªkr˜œ¨‡äŽB‰¹FŸîA_Ýd’C«pÏóý¿=?ÄÈ^žF¨]*4¸˜*@À\@GaRx¦Ã]°b ‚™Õœmšnâæ: Ûà=½¼C;ºÂY°{Ô»X]i|ð ð?2¦ºÈ“×¹à5Ô8†@qPâhFj·Ü³Æaz0¹“42ú°p­;i 0öö _ã8ȹꆤ`FfùžçDÌP'çE`¥…=Ïôd•ʯ«jÉååy»à¼‘㣗ëËû7æçíÄSF^Rã¶|³ºqÊ^ß#h­2Q°¢K\öÈ1’óða¨Ýrχ*f'iZýa-àÞÂãp ¿-ÈYn∫ˆ™Üó˜eäÛ¶[ÆN›‘Ý7Mu"Àíq§©#°Ò™Âîã™®ÃÐ+Fðq·/ªZ ¦gu#ÆgëÖÛív}žŽ­aŸþâǬnlAW¥S 8A{pbìíæoâ(©nHvÉ‘9ª*1Ê΃ê™þ¡@Q5X¢*Ô\0zH}Á"³œ¨ºÀ•›’¼¼gt8:œª­4L‘s¹Ð öYõÌ%§üb%ÿäUí¬Ð̸·E v˽XãØ6ü¼Õ"fBìT7Öæáã P^ÝLLcÔ2c”Ç鸙é‘Ð7‹‘nXÆ3Ç䊱<Ôò¥i¹Í)Ù‹À+¼dôi8zaœú 0— k€|ä=¿¹ä”_BŒâ¸µÙ<2Úm=”Ví–{Ö8j3éSÝX›‡ˆ~3¥$k^2F-3FÙ) ~ÊLVE€å ïEšÎ^æàéï,á”/MK¬M™A<_žñˆÊm8á9Íl…ÀJçmþ±üô?1±Æ¾Ý\rÊ/!FXC÷Í÷¿"™i’¹^õ»[íõò½3˵[îYã¨EÌ ˜Nuc­çg.O=ç~›©ÇãÔÝæeƬnìÛqÓû@|uÃ?³™óÖ8üб =\¡ªä§ðÜÞÿˆ žQ™Ž-Ÿ>F!мìÀ=Ùñ+õ#dg.9å—£ˆ\D;“#dz„ŽÐ¿§Ž¡vËmj§Î½-øZÄŒ—Nuc­íPŸ¹šn³­N#,µ40J‘¯7j6xÌÚPó2cV7šGÂT<2úý>B›ß>rð¹ØüŠ1'™äËò2Ù4™{"€ŸPy÷¹^ç#*{öÃô½€À\.,4¢¹y¹Ü¹LOÆn.9å—£ãZ·9Çd=ÌæHÖ@»'‘‡Õ=–û\àw"Ö©>+œ¿r&ʉÜpV6¨$S0_®êHR~“óêDhmTxúM½…6_^ÛñÙ)<«„bŒg˜äÜ&kg¼‰Ã¯«úzøÄUå} àþÛåúöv{zuwp@ͦ=˜Õ=Ñß÷¹ä”_BŒ"b/×Ý#ÑéóÜ`té!zŽ·¸G;ëTc‹[‡l㽋æB'Má¶pî@ÀÄf#¹¡üp¢3…•€Õiša£›H'^Jú«–ÛÎçr…NâŽøøã¿úê+IP×8N‘2§,}ù"OÞ_6¯õbGhº^®ø÷t¹â5OGhÆðÈèUq˜ËB±/‘ì5B2—œò«ˆQDl^wq1½(°FÊÆæfP¿ó°3Æü l°yß*ˆuªwbË•q§©¾1fØï‰êÆåÒp.ÏåŠvÞ(mHuO]à Î|ãù„b“ØÛåíÛçë奸1ïàØ³#Ö·ÙËéC|1e– ‹Òމë!Ýù*)ØÉY0—œò«ˆQb^WŠø›Û¥, Ää+J+áÅ!éP%§Ì6`¤éáÚ½m"9‹—NÄ:Õ{P f³Sw̰¡GSÝ DÕ¹l–+ÍO¸è&=Ø.Eä¾0)mHH¸ƒCîg­w}É®Õ×÷ZÄö‘¿]ñ±xLå£ù3±ûtÀc{åÔ™„á¥õ£_&›){o8wéAäuë>ù­¶ÓAïHSíÞ[$­˜KNùUÄ("¯X7·K¤WN ‰sA+iWRK3©¥™BKS•5odrÖFÀìªöEkÇvLûˆuª7`¢'‡õ©r̰AHAuC.<—guãý;cŽÖ²‘gßtQãªx;ròñ £‘Á¢['}\®x2åz»<ã‡bç#*Çí¦»Œ,ØÔ1ßï}ýçB?ø—!ºHAp¸'‡åIHÓoÔÔ(œ$Jz§D†ÆsÂä›"EùUÄ(Âc‰®A†q²lDNL0~#–ã1–H.Ê ó1Žt«n_.ÒÚŽÖÍñÅ n5.´Ót®C3êü°„w¢É'²Ù7dÃç¬~rÞ â$‡ÀõúŒ[8ðšÑç§yÇázg1 )dPÌ ?Ø]Pq,!¿~[ˆlêH茼nšt€@К àÒ)¸Ñ÷Ž‘LšÕ2´@BT¾|ýê–_Ex­ªÕRã(ÉKË0HM6¨e»%f5 ŽÒT›;-0và…6¥I'˜ÓŸMZþì´½~ˆž=Ááñw"Ö©><ƒÃGÅö°mï±Ør3lJ“½6«%ÐM™S#À“]2Pã¤4óÇ_ü.yš$}ÆÆ*ë!ù:`#£›&}d®ü€ÊíùöüòŽ#:có˜í>3yBj¦·°›[à;:ß ¦ž4½Àä” Àm§Y„•èRF:H¶”¿¦wxÍðÄ{#о¯)È—¯;鎡–ëB…£c•@ÑTçåããïùÀSì”@ á³ï|PF&¢QÏ šÿNï›?£ L‘9}(4dD‘MF‹f½…o|¡>ùœf 9%DÕ ƒPѾ@7)‰índ:ëT£ #6«GH,ÙÖŠ ¨Ÿ—ÚLAë./Çè¯Oö‡*L̹l.¬óVÓ*0§ð(™ Ìir4ý”+뢃„7ÃŽQy~~~…7q<áNŽù9!8EõYê;7o{A2pq¶W køÅn\>åÆ!Wo”¿}Ã[–-·çç`ÅYhÓ_«Êué‚§ "ó ÄÚ¹š‰"™5Ëz†IJÖ2Åûp³µa”Èû‘V¢eFc›‘Gw#Ó‰X§úÀÈoY‡çâ·4}pîä¹<«1P³õž(9åqûSæiBξDO<æâ²o"Ó{O¯žžPáx;ïà¨ÃmJOŽ@ÃòQ?42“®n˜/KÒç³'‹«ò«ˆ¿V•뚘õ}¦)>$J‹yvdÄŽGûõë×ßĪ„oªâÐŽ)C_eíÔÂo  *z ¾Ðå·“”Kž ÙIX ìóîT÷ÏÎ{Çh4\žÖ£Ö&ÎeóvÒyïF-†SþtHƒ+¿.mhþAh}!® ©êTey o€Àõ‚Ÿ‰ÅC*¼gtÞÁ±àÓÅ·Þïг9|L(±!ןE(\þ’Q]ªÇYŠØx×Þ~/º^ùü×€…Œ˜¿Vu^„‘qQrH”zò"8ð(vxã n@»$òV1Lu£D÷.e0êüÀ[Ì´sd.Ú?£@ £A,öéwª{ƒµ@‰zmŽMNJ”é™Äˆ·à½Ð]-ÁËSÛ$\ën”ü¬nŒBrÚ98ýýçÈY,×9Éø&ó¤ÉÜ <¢r{{ÁoÄâ]ó޽za¼_}Þòû_|["Ûݪ70Âóîv}³àà7-š¦J«n RÂäÈ0O³Æ`u&ìºIn¿Ë€ŒMèÈ¿|óFöÐþZUuÊ Ñ¿'Têê(i¾'¸MFTˆ6]‘Dv%—g‚P"¬í/Ò…,ÚÙ^ÃÌŒ=ÖŽ=‘/¿¤\r{@z¬¢‘ˆN“ºI&[«ˆ¤©E“ZU~7ö›Õ-—k›¥¹#ƒd £Fx±¼‰ß¨WéS8ÌG^’ùÑ$-—Ì*މÅ):Po+mР¨÷@S=DPݳ£z­'È©;‚Àâ…{Ñ N‡¤Ì6§IÎ{2$ÍÄt­'}vp÷>ÏxJåiÞÁqÎΔ‡PXžà3)µÙP‘·hršóû6Õz¡|ùòk÷Å c¾÷nTÕ8rr…ÚÖ) ZþZÕsâHæA¦ô¯ç,ö{C^ƦX脚Iã8L6%™^—/O k"ךãkÝãÐ~³ºÍrí8ŒŠÄ Ãh„C,o‚4êUºÆ1b1]˜C‹ù!mÐÂ9º3Hš fÊ,=“[rB3qÿæâ7°Ó†ñXrôZî½£z­$¼)382Áé³öiûmÈ æ6Å©u`nÏxBå]|óŽwS*4Yl±5)È,!Eã¢Äd‚õŸ¶€%Ëâhãeï^éª@ر üµjÈEÈoBf’¹ñØê3=©;¿n[{¹vR Ã6HÆ0aåw£^¥kLµšJŒ Rf•ÅK­ªs:ÊyôO¤jN®Øq¨‡ÇJ8{-çbò'§@ ˜ôÖ;M`¹„Ú 5UN€~'¿{ÅϳÀq‚þ2!òÆ á›Caê³7)1Í×òhŠ7~º•4 ø‹%TnôÕè_¤ "y¨¦\£°2µ VþZeFæ6a¬çåPh¯—æYÆ 4#s½åÚAgÒ1HÆ0a˜Šå{|]sX~uÓŠ>~Ýš¤«LZÐ̪2Gÿ•“Ûë×ü…úoѵŒo¸Šd™cÖ8N“œl‡@n­O†Á¤7vr `óË×?øñ¿«ÂAVÉOáS!€—o<=áÏóm8NÕq÷lÿZê^Ø4\cÓ òÎp­2¯C¸Zû s’ib˜‡ à×mk,×jƒd £>±¼ШWéSm‡&€#ÃƒÜæj+Õ/¾øB×8K Ì¡Å6 Ðk¤9]Lräª_\5§&·Ë'ŸçœVñßKúúÐBCtK*¯ÊÑ>/?ûêr½\¯Oó%£çêºsFÌ•çLèÄQëÇ>ùm&òvØ!ÑnÓ]ùôgÒ,R ]B ®!#09“̳µ2¾¼RkaÊï‹€_· ß‹î›àfÞ ’1ŒFAÆò& £^¥kLµšJŒldITµ2UÕ ‡–¹•cû›8 z-yõaœž¸^óyMÎÃ"à-\Jù&Rä§ÕéÜ=à‹ws °EãSàì¼<¤r{ût{šwpœ½+gü:Xã€Úo>ûa²“R%qV#FÉÏÁ}Ö8 ߯×l#ÜpØ_LY;†¤Jů۰«Y@@•í„Ë%\îß¼¸Ž4HÆ›C#Œôby“¿Q¯Ò5¦ÚM%F¶²$ªœ f6¹qå&Ž¶ê†Ø?H#—lÀ?W¯‰Ì¦GF X¨.¥€^äWˆ¹©n˜é"¨q ¤BSì¼Ü®Ï×g¼fô†ŸS™Žóöã "ßl?ÌÈå0mmyH+IÊMC@ƒ©ïöfíL ‹BÒBסòŸƒ16wïÜ!h›¤æáö¬·nÛ>—õ<–ìô ’±ŠFä±¼IͨWéSm‡&€#ÛYUR†u óˆJRø¾™'êµû]'ýK¦†IObÆI” žO£@€UT!xçW²Æ`r6'ÿ¾À­¯nϯn—Wò[*÷•ÝÌæÁ˜[ÇžÇe¬íÓã4ЯC,£ x"ƱÁ@jƒZ.ØÉØ  Ñx”îÙ‘‹T†i`ŒUŒ0ŒÄòô"„Q¯Ò5¦ÚM%F¶²$ª¤ khåÆ#)YÂì·Pâe%™õÚJL³A aÒ+„ÎOžCSë…A“8¸sãöϨ\ç鑯z6ìldx&ÌZ°ä:„Gó}„s àÌ&ƪ½^æÁ9ÀgñŒ60Æ*FðÆò£^¨‹™!¸¸Ä­>€7ßÿ¾aƇ…AÆFVmåãò”J°Íè c—7q4|ü^kNm*Nª0³n•îa°ûê.¸‚ Éq!×Ëí^3Š›7nóWTˆÊ$&‡ÀªËJ¬µC\‡ôa@×Ö8v¿¼¹°iU¨ée(±úU…±|¹äÀÖ0¥Ïë’`)W1ˆ¿ÄÓ4ꋺñÔ·Òi'±d§ýcª£PÂ{ÎwÐ ›’x³×J™2G ÞÇ­ÉÔNŸ¤>ŸR^E…ëmfédÀd"†ܨ>‰®¯^=}÷»ßyûõe>¢RƒÛ”=-ü–é´l8à’¼~ ßtF;ÚÖú×!}¸H—?«²öåÍäµ¹ÐðjÚˆÍÉÀY0ç²9Ó“YT©a,qA¿F½DsHòC›k%A®ÃÛ7æÙk%(M™ã#€Ù¯3ȆÓÇ{ä¯À–”>áÿú#÷aLÎÁÀó)_ý|™¿¢rð~šáu" 7Ÿ¤ýë_wšÝLÝÏÎ,M&§ØH³4ZE|F/€*l˜Üó¡;дØùk§2Èët@/Z¨R1‚ޢ ægÔ“áuN§ô•$LIÏLÆéÅ&g%zmvÙJ}1ÍGÀÏxšÓ°pUÝL±n7ë|áÏêÆð‘p:ƒ·—ˆQÞx¹‡ã£ÓE?>)¸ºoùâîq³$ýòe· L_]L“?ô $–„¼ýcrªj¨kJ«³C ®vî– ãäÙ$ûp$ŸœNb¸ÁÎx6P×júDP4ìÓÌn°ÄB•ŠF?–¸`wu­Ë‰‚Âk&€B:ÎB•)6†^›]fðoÛ÷#ž1æ*ˆt->§¸8YrÞÁGãÓ_àð§Ÿýçc ?›<œ‚ˆ½]ŸŸç#*Óé»&OU«†Ö¼c\#ª phÛ±ë‡&PÒ É®» ×¥ÀT¥Û#Üù¬ÊâÝD©'/‚ƒLuNo@Û#¦wξœ`;ͦE#IËåL:*W¹WÉÓAÑ0™Õg‰…*#Œ¡Râ‚#ʨk]L ñ‡Fz@¡)g¡Êˆ@C¯Í.þØË¿}1MBàGŸüVÿ³šz”¯œÚÓ¤áL̹žü³#€×‹^Ÿ^îä˜޳wåŠñc«Ì¸á¡…¾k§ªB³I1³{ìܨ']€‰ ÿQ†!È7Dz…m šC- ZZIaê[ûð(Šl³4†” >ø£Ÿj‰UFµ–×8 P‹!B¢Ô“ÁA±Ã¢ n@[ C=‚ÿ Áô% ]ZóFhß+záBÎ@S…÷KÎì«Æ¹7Ìcf Zb¡JÅ#ÙÄĨk]sáÓ‡Tï'L…uœ…*§ë™c·L°¡×îµË aßàËÿÂH¦X RÚ(‘"ƒ%܃Ÿ C`|X#xÃèKîøß«ùˆÊÃŽ‚¥Ä±†[)jßxªÒÏæa…Ä­£ø[t^ˆ;@#’ã19& «¢¤©õ˜‚Un¿øß¼!šÐÁ|ùæ>Ü’–‡|AÄzÇ–À—î_J¾'Ÿ¢B´}"¹¦$ŸÁHAGËð”÷µ-&hަÑÊC&fáƒéc0’m‡ú‡ètG´YëÔb0X&ú[eÞ( »‡ËZÏç óòªµP¥b„‘EUF]ty^$1A«?_’’%L@‰ dªr,´Y.†²/omƒ.»=7¸åü²¸œØ‘ßÐkûvÙŽXÍêÆŽàßõ^ ¶ã#3#,Fà†ßPywÿÆü•bÌM‹6ý‘ô5ô"&¸Š/ʬ-€­c°{¬ò®«ü6È'sñ{é# äÎoψ‘h%›¼¢ç$;™,stÚÉ©û,<'§«ùÔê‡Z›%oϼXÉyM­¢0€Sg—©?˜/ör:ª†y¬ÁB•ŠF´UAuŽ^Ówr¨¡E#C‰åªK öÈpNk6Òo¡Ùu›âÙ»¬-ëZ­YݨEì¡äeÍv¨©ì¡ð¿—d¯/?ût}z{/½—>=^Á<Õ°ò3_ë¯Ç±N’o“r»G‰ÄX€/á r!û=~çŒ&áèx¤ÕóE&‡ø=8påMB‡Ô@û/ârFJ¾LÓÖr«Õ;¹Jø¸^¿cH^ÚÉღˆ0 elp„€ã™‚$ø%2ôB™¤¯—\`Ty(‚8œ+kÌZzNk˜Ç,T©aÀ[¤WGOmÜG>†Åªr\´6j˜]#6«1>Þ:«>F¥÷oàƒŸQyš/…é´cÐ+`Ó„u€áŒ=4{BìõGû2’º‰+ZlÛÌÎM8üK-r„>hTIô?ʃPÒbž†YÏ<'€¡Æ­£rá}WWqäq먼ŽcgÈPäévœ¼ÖˆdVkVkÓÌá óXƒ…*#Œ«‚4êUºµ`æäM 91Íß%N8Õï’xpÍÕUÑ^÷,“êYº¬ª;†¼þ‰g9³ºq¨î8u0×—8ž.W<Ÿ2ïà8uO5ø`™Õ°Ø+Kýý*7`É-Š–ÔÑ&…µh`cB×Z1ÉÔ¤Ë%¡‚u¤~ššF4QµÖ̬2¢½7Ðr±Æ’ëhƒ£ÒŸW΂vTˆRÐÅɦ$Sûõ´W!‡„×'ךã'ÜS^ÀQ2'¼Hþjë[jAƬ¥çùÅyÌÛo°P¥b„@UF½J×'ÛÆ11”Ù8N¸“¨ôÛ¯„ƒ:EÃË8Î[ݬße%£h¬Ì¬nŒÅóάµU7p¢é·VÝ&3ÀþËÿJæhܸñ§?ýñéÕÓõíÛËÛW_ÏG©ÉoF€+oS’g®Áµ{ôÛ0Ï‘ø“|ÃÌ!³ñ’4\6ÕÉ2Gá~ÛØoÓ2F:WªqtF5êÎxJÔsc¸Dw;™O>§¯ýþLò%£§ù›?afyØ›Mª„”„ÙË!æÚ`,T©a¶Ýnó•ÂAq×b¨MpÐã´‘ÏbƘ¡>ýäs,©åŸÈÃþí2}¼åÿ‹É®'`Uu X/Â{µŒ"©¡ÒѰ2Ëâ—œÃ=ýØ j`çnšÕ;‹¨šîÛ8x3TL0‹ÁCÀXgшQ‰åp‰}¶Q}iÅ´‰–Ë«& ;t½C·ælj™$íÃób\uø¦»ä”`bßeh™ ®¡|V´ÐÅ»ÖÕ Ãï>ÀœYnx<åv¹=?¿º\çœÇ:”Û.$gî÷J x™M>ù’¨qàïO?û‰|y(±p©²VâñŽe°îÉÍøà7¬Š ±Â¶çÁ¿XÃ(•EöKãòÛ]Ö[zóIzß~ñ£q½AX8V÷c ÒûöN!èD½;Ý8x3§5ÌcƲ^4bTby#\b_#oÔc_Zq mbð–se / ŽçîæHªä˜,×Dþ£U7$ñÅ.#>$vZô^H4l/w¹Ú¦3ÅÖCã¹Êx0™ÈƒÆ´†A¸ï :þœöâÅ¢¯^nâÀK8æÏÄòäx<"¨np5œCå{ªá?ú%ʨq€Ç£œHÇ)s £#oK‚uÏðõî\Ò€sÌ.àˆm®q4çEðÕÉôž”¦òNÑ×-}Ò¯a]8Z^\R̯?ü C«SQì$›ÄéûÜÞý-o"ÑòÛÓå½c0¡ê¥¼ü*—4.xȾӥ ¶ Q;´Œzù¡™Óæ1c®•XÞ—Ø×éõØ—VH3ßãUÕ †-Sã€åªU­MÂ#À.óM9Î.C+Œçë‰Ë·&9ñL˜T™Ì;@#¹*‹ÅÉäP5¬üz¦*ßµ…'B¼b¯¿¢²öˆ:¨}V7ô&=±¢Æ!“N!|ÄÔîg;VóòA<Èôûá{r¢LåµW…\<„ M^¸Š£a×t•‘NaŒÃàCã|+9¡sÑt ¢› ¢“t‰ ‘šV—L=Ÿ#/ºÂô#Ã’Z$¨(üBø;Š‘  µ4g{Ú#ï·‹^fû8G鬒½î6ÁsðHœ~t™øý¡±E#F%–7Â%öuF=ö¥Òˆ¡¤ÇË=ú¡îíç¬@rbÎo@i—¡UÒM³ºQ‚Ò”i@ ð41Ų†ÙÛT9,Ï×ÛÛËË¿ÛuÞÁqØ^Z30]Ýè3 çÔ8d÷‚¿¬w ôµh*XÁKSù×㋾F `BÏ­cÀ/œîsÁx@ü—u ‹w*á w”Ëüä.:/iZ#/ß%‘0;9ËxH]jIMû±Ç!G³$´"|‘Ú4I$> #™ÔÝÿêÍžÐæûícKºF—}ù¡vv„àÍœÖ0 ÈzшQ‰åp‰}¼Q}iÅ»¤<ýò>5æ\ñP’ ›I.•È f09”{Á R.|œû8dSùö’'Šð_þùŸð¹Þð ŽëóË›F¯óŽÏ­Ò\ÝÐËåú‚ÇIo~rŠcù¹ý§öR"ƒÈõ‡ê`’‚-/´‘Œƒi½êòxA?Ê2$ùæ&ƒ0|iS¦U7¥1K>ø-•ŸS1‘7äå-ÀÈÇì»ÃHæA‚ÒÄLµ$§f.ÒŠ^]»ÓvÄ»p4-oGë‡&æ¦g%Bͤä >@€Idæ1cv•XÞ{û2“'ÿBبǾ„Uÿê!Úæ¨ÇÂîé·¥¼½–6ÛÐéQ/ö MÍêF!P÷'V5-4œfh5 ÎûÃüa3ÂÓ)xÒŸ/}¬1ÐVÝå6`_}õðŠ¿ÃÄ̹›œƒìjB¶>rp’Q’„¶&ZšÓ˜Üsƒß4’¼Ç8¹rÕà`Ïfž¸6¦¼/á1zD+ ÁŽ€¯±7ŒäbÈ×{Ú /¼˜¦Ð©‘“Kþ‚Cˆ`D«im?ǧ ¡¼¸Ð WÒù´ÖLÔž ÍŽF)rÒÓMé¦ãÓ»oæ4 W°BÄŒh-1*±¼Ööy $C•!mÔc_I;ÍL=#ÁˆÌ'ÍÖrŠ˜ÏÍu!' þ–éa¿É ›ãÌ6\ÒÈ$LdЦ‡¥Þ‰là}º8¸qãézÅóŽãtÊv‘p«SâRLÜ€Aeq ¥gÙÅkÄ’0Êeü‚OÆ_!h ’˜y9ù -°¼£„ˆQ”ƒ8¤²–}UX÷TÉ÷ dú Ò‚·ì9^‰@g™8"³Á¯ÏÂsjÍ¢€ˆ­VKäQ»”Fc’ÅM#à9ü€´b0k1âFd«fÒBREK‡Ö“Þq¢:i$T?'ÒòtŒ(.1*±¼6ößOèßþŸިǾ´â1éÎÙììéoÖ)fØlæ·Ç‘^àÚ™ÕB îO¬v*è9#Ì0k¨÷‡ÿÃeôrë^0úöry;ïàx Þ/ßáP’_csè«§ØØp“c„×;ä*)€£¿]ss1M‹ðôÌØ`y+fùÚ C¹ñ‡’Ìí¨süUÁÁyñ½¯ÿœ.d|rp‚/5Ž×¯_S¦„Ч¶Ðzd‚Ö±AY^œÚs–ŠðZ«ƒÖ­q{µ²<Š®ùâ‹/ö £Í¯¾ÄÂÖë¿w¿)ÎÀ>Å=2 IDATo×~¾mÚËF¾­² ÿmaØó¡Æ`õMÓ·Õ_ߨÔ"àäõ/š¹Æ=¸~õìUö }[ßçºÖ7 ]³íÜÝéíLôÏó>Ž3õ÷±¾¿q?¡2ßÁ±¾Ç¶©w>‹‘b•ïw_‹Z"À ¡ÞäêCü’þ4+¦rûÆ!µ‰þ¹^‚äÓ"²‚7¸½G9~þƒVͤpLÔn “ÖôÓ+Rkãï†êûÁ’º9&Njùäš4_†Ë€H·’ c…5‘3¨eö¥ùÌ”L†½³o`%Þ|y ·Äì”)|;ÏÊ 0ä:hlÎÃࢮ<†YÝ(Çêþ$«f€Q+^3äíýuÄCeôŒ8./¯¨ÍlB>ˆ†/´z!UÔ/½2Vùc¯—Áš¯gmL»ÒT» )¹PL×8¼ÊXð½ý58²¦×5ï¥0/óÕ«·N¡©¤îdö ]±\Û;¿ùì‡ ÉŸ³àè’Â8ǽ0í$‰’àßí—~BõU—˜ô’$äœbSC$ÆL-1*±<„õ5wíÅòÌEãK~¼ghì/ÝœgÄ»uâ Mj‹¦!¯-,Ê?Ž€^±$³†nЬs’¦rLSYðbr×áb™£yl/ «‚ೞœZª¦… &³+IÖ8‚evmúS~w®×ëóíùééò­ÇJìݳ=EkW—ø¨ÅÚh˜ÙD»ÃJó>µKvm$ «&ÖÀ›*铵ÜߡĢˆØ¹!c8,1*9y›úK9yݤ/òLøÝu2Ú†Ôª K:½'¦©,èW¨Ö}±F£6†\£v~c?Ö° fÍàÔnÖ][ÑìJ|cí¦ýÍÀ¨<]_½º¼úÖâþþîo†ÇñWùg7>“#¬ZÁ'1³IRfU¦|Q™¼ó³0;³1`´žO ?Ñó¬ij¢0ý]b;¦SÓ›==Èí®ÏÔ¿‹ÔËLιàö¸çe ˜UÄþr†iÆ!Ø‘î¸ó4Q5Db,ŸE#FeQÞ`^%ßé˸և˜Ïõþ›anŒµX'\5Lj%Ž]‰ØÝËèŽ zMšX滽o‹Á×8†T7öáîGÚ ÖžÔ˜76ˆJ»0»’YãÐàÜ ýòîÛí ùÜ./çg"p¯`Yæ?$Ìݵ— ¢½o(-á`×ÿ4S§¯eHk gµØ¤'Cª#ë´Ùo0†1æ{,÷蚨"1Ì¢£Ëáû£ûÒŠµ4wÂµŠ”¯µ`R£I"lìi¡D†Â D‰ýœLsuCÇ™3^+£å'½ µ³Ù^3†¨¨qlƒÏô²%øý”çÛÛËåëÄ[Æ1}M:&Ö½æPÉÞs±_76I”â֤ʉ˜9ôvL¡°×’úÎÊ]\Í58im2Ï‚@Ͻ:GŒŸ!Õ ±9dvÒá ¡MTåó$½ à/1*|ÿ@žQ‘€/yI“pªti䘄ñ˜A**}ëDm`£nâè‰7qô\°zB-øS¾ÌzÔ1\õÒkÞÇÑæ1u¯WܾR™wp³fTe`HA¼äÂüÃz´ðC#c‰`ב/:E”ñ±éžˆ*|Ú¯}+JЛm˜u!ž^‘¾‹8m!M­QÈ9ë«Z=öÅšXî±#ºÁxÞàìËÅo¢jˆÄX€£E#FeQÞ_+¯Õ{tiw)’¢ö ­îu½}-OÚÀH~@ I?°Ц’;$‘rÉÚÄË-Is«õKyc–|O”KzÝÉYª³¸a–³´ºÞ1Ü×4¸=òºÏ'¼Šc{ß»xüïÿ·ÿk¿»;•Õ0_±{<¨šUú­2Ìæ…ñëýŒ¦«Â8—p!2=Ií^Ýày¡ ÞÍÑ“f¿.†\ÿ§?ŒsYb«<Ê~ÿì´Fš&ª†ÙÀX@‹FŒ åQTò#\b?о™Å&_ƒðuŠE#ðZÞr`Ç#KÓô½œHàã?>K´¼~%àçpªÎ߆ùaxÀbÐ ÝYãX ç½Ì⼃£ý•û¿&¡ÿ›ÿú“žFÙé‰áŽu±8ÃjÛ¹;«qèYÕ¤vœ9TÆâÑÑêÁ~U´Ò›°GístHûÒ9 :£Ê•3üOÕs˜UÝÑ•¨ãBË‹«yœÁ\ƒ Ý MObr’ŽÍˆ3À(³g§Q!ÁމªvžôÀY4RåÔ—؇ ?F}16*VR­(üÆÛ—6ª|QؤF~@¬”~àñ˜MRÚøê«¯@àï1ƒœQMˆÎ\Ò§#ôÒ ÁÏgUN׃ɀñ|Êívy¾¼¼g´±ÀÁª€n®qh]M'ãžÌ‰€ ̪X]¥`ͯíj‡é»uHoC\h“?¡r+nÏFýøàpºØ8¤æÙiÕ8MTñ<™ŒÄX€Ì¢£’”Ç–3—Ø×qõ¤/-¿HãV‹ä P¹ˆkAi£êö FhR#? úÓŒ°‰=Å®ÑEmj>†Ú=€ó½3w8g«2´P%¿ð¬qlòæ.®ßýè£ëówoÏM¨HuE ù‡è…ÓœžÁ¿÷ö?k¶0`V=àÊ~ b 2õž&88áA«Êè™O•ú¾Â¼¹cß0¦÷r¤¦ƒ!W®R%)–ÇVŽ‚sÍŸ˜UÑö›¨"1Ì¢£y@­?:##\b?P_ŒMë&é\=%Œà“4fÎZN^ó=2º5I÷§Ÿ4{L&±E¿H„RÔ›8t±c½ø} ëùJZÞ=€dT“¹ Âax›æ>Ù¹âòŒs»=ßn×§žR©~«ÌYnßè©qüÏÿí„ÿÅ«ÿS*k¼/ö×0K&± Áhƒ Ë\“&9z,´HR‡A„A^PÔÆM=‡üþ¤ÇÈ]Ÿ~€U¿Çõ6Ÿý±y æŠ{œ^“PprJÎ8z–"c¢jˆÄX@T‹F´Jîé6f§……¹hŸº Œz•®¶Cš›FrÚˆ~;&µ’0úÓ/ñrXÔ8¤Ì¿‡ r6U§jÃT°%ȳƱ%ÚkûBaãë·úÓ×ÿz»¼m|DeTˆ(ް2òr?È»,F 0ñ÷Í}"RR!Û €Lÿ¢§'Ô`JÝ`Õ¥ É‚&;ÏGœ¹,À÷Y`+î/µ‡zGJzƒžÍˆÇ¡6Ç-åsy5Ä`n˜¤Ô8ð›|<ܲ×èÔŒ|ÒŒ"Æ<ˆ@íì4Ðu`ÊD•œ'u4 à,¡ _ð“³1…Æ¢}J‚0êUºÚi9 yV’_H <‹Mj%ô§_âåÈ2³ºqäÞ™±œ¤å8ÈÌY.¿‹¤YzaÅeª»D5ö €wqì\à@ôÉjë¬tàþJ¢&Bº<¹‰ƒ–Ë\R¯“H\ÂL©»O ú¦ñÅ»‚5_rm 𒍲û|«4­Ñ­Ú)i:òݺ{ozp’æ‚VÒÌ+©RÂ4Z¨èÒ†± ~û³ñ!“õb»ÄãØœfjg§fGUŠ&ªä<4 ¼hĨÄòF¸Ä¾بǾ´b@cZNÕœâðÉĤ–ó«ùCÒ×Nã)¾‰#•ϳÄb ­»Ç°{  =¦ NÏ»LÜ,½f㬽|{øsÃ#*RYàm°$tCÅ¡>Ô#äÞÐbë%ºI™~ I³ÇgÆ·Úææ¬Ü )Çq¯¿j·å°™ MX?ÅNǶ&¿Á«uÄdZëÅÈû.ó‹*/cŒÔæ ß' SëzUù8¯N×ú«_ÝØ ×‚øs‰k•-?éC!œƒþ„Ý,rUC$Æ"_4"*¸tÊ¿xòo°¯Ñ3ꋱiÝj…|räü59 “ZÎ2q¨=ÚÂÔs¦NÁæÍqöèj§=vztC‘]0‰*jç¥Âs¿*†õ„õÒ ^ÌÓÁëù–"ðîÕx½è«–wp Ö8PÚXµº¡sÆRéÐÌZZnßx´o²áò3—Ù¨˜•i÷´úÀhmËÙ“uYxùå£*!‚ȃ|K,/Ê åI‹Z f„À—6bZÑ`¢‡ÐèMvh­Aùb^µö!o.´àHO‰/¡Ì®¡bÒ/q¡·(ú<Ò4ìèÃ@…M%®×–‘˜›‡ÖÚáÚÎĵg§ BUC$Æ|-Áf;É45Ø×ŒúblZ7¦±Œ?±z«IÍ\ÄYÏTO2Ùz"¢äÖŒ™ž”Kì—È4ÇPb¼D¦9€©8ų~¬»!ÖÌÒkÖ8† º‡üVlë#*¨qð&Ž•îÝ0ˆŒò¨kBG|¨WT_¾þ¡àF^c°Óûñ¿£˜%>ùÜrÞk/IBæö³'ö-²¢âºªg'ƒøsPäø…È@ÌX`o²+µ)0ƒ>5¦´¢¦=B†NÍø ÇϽÉ^CH¹Ž3Yè….É+y^ÀrUŽ¸Ð²’Bu<¦×°Ñ­‹ôb¦´@I;Z•éV4há¥ÉíÑ/( Ÿ’úЫˆ˜áS÷¢fžo˜Ì§›ð6Ù³2E £Üëv¾‘xvb¾EóÁ‰ Q‰±Ã±éGßã"²ÿ¯µoôz›Ñ=ø¡IÍDk¾†áé-HrêÖ§•0O}®aÒæ$/—`Nª^…Y;ÕkSžÞ=†Ýð˜LNòiêræ&휉¥—®kÌgUÞ_><”6n—ç§ËSû;8¶©kèÐzÔeqqßÅÙ?`Ñ`–Þí¯¸à˜+nNWóóÙqØ€6Bz¯ÙS60†^l1°*"^óU™jÖ¿E×Ö§%NKÆÏ½É%²ÄÌeñË5[í‡K2™’¼Œ5Y L¶­×ª–)&2}Ž¢’`X’à<@-‚Tߨos8¼g· ;öÌNÈwà0ŽÃ0­&ª†HŒØ_4bT8{˜ØäЗØ×vŒúblZ÷à´I­$Z¤Ï3Ý\põµ¸ÄÔ1eôö.®¬ÆV7“ÝcØ=€cŽCE…3±<œé唜5ŽvJyHx Çíòò„JõÏÄ–û8¾$Šüwühg„D`ÇÙSï“5ÍØj‰]rÁ¦Tö¥ø[ðXy¤¿ì)¬‰ñ‘țѢµª…¢µZÞß ¢åw «Â0¥ŠÝœJŽ_bs¸Ì@l‡ÇÖf087wLÖDÕ‰±pb#˜+°Íæ?ȃÃǶ־±`ÔãØŒîÁMj%Ñâ×óv‰Ê¹dÊkå’µ”[.—¬Š¡Ül¹dUS8@àž¦  MÝ4ŸUÑhœ‹FmC>{8þãÿä?ýÆËÿq(ÿ„6MZÀ(jIOazÉñ½…ûàÈN€_†ÄIñ^t~OË/¶¼}£a…´^¡V´"9v“¼vF¦7¥´!¿E×°;-ÁÊx,QYOÆ÷»¯ö²=*¯¿¼uyÔ9„Küæ:‚¹C!õŒ"n §£\H%üO›nÏ)±œ”éA8ipwf0;혬‰ª!c8çŒp©ê‹rûI³F=[R÷àL“ZI´÷”~2_lÚã}û¢@Òló?ú%þ*hƒ tKšs\(ñ2ej¨=ûNðÚ¶‘Ÿ5Žmpîwp¼ûØâwp ð÷ûׇÐ,~s¬°ã½kôeø¹C†ªIÓ ØÑtÎì©ùØT,~í‰7#È~7Löﯤº1´§N.se{Œ¿äô§†¼j¯"åNMo²¨!„T:Ê­•H%*k˰¨Ñãh`^èîx0c1'5Ž!ç`n¬.N„‹¹ƒƒ6Et]Küô³ŸèºhpjLy"ÌN‹Ã˜F†&ª†HŒDá"§Oœà,NÚ/ÇÁ¨±•Û<ˆ$R{óáÛ‚Âî)ý\Ê«–rN ?®qá5ÂyÔ&λªÈƒù°ÊÎA„ç³*éˆò0Þ=Ÿ‚GT.-?K7R&0ÅT(ÐIÀò@kÁ܇:×d»¤ó£O~Ûé÷S'—¹å¹`AÌO µevØÊƒfÓªÔ.Ú‚‘±—Óí¹‡âÝ úJnåÈÙOò1ñ_R Ÿi*¨qè’G¿ýÀ‚L³€=éiË QÓ`vÚf'ƒ7Q5Db,À‹1²ØFÞÄéíøÐ¨Ç¾bSwÐjÒ_ìš;Hy¦08f¾:QäA¨ó>Žœ6ÉÏÄ"°ö_Q1Yñ®©J°êaÄ6>ÌEźI2Î$sãÈ×vWrcð_ ƒÃÖ`Fûôg€˜Ü¾!Õ@˜…ÐK™r-cät‡C2•oÆŒ©/ß¼ñhèêF²O“¦¼¤=ÆãÇ[[‰ƒÕpÉžÐàæƒ)ÌKÛ ¾«Ä8×’Þ]Ìѽ–”Ô{_ß”êF€éYæ_ìVŽ"Œ˜5Ì!ìCBá! “`ŽO±×îwìQã0‹ —â’1=S•9¯ ²Î%Û9Œ{01Q5Db, mD& œG<•„£¡Ðò>oßË£û ìÜGÓ7ÝqÙÍ,&‡B@Ïr‹a¦Z”9©À¼ãl÷òÊíéZú+*¬\°j°AÂtJ_R›(¯A°–A B”[0Šg?Ä&Gv5‹5sGz2ñÅ› >œ’ `K¦ßŽ9Dlž³eÀÚWü¼ƒÞš.ö©6Ðôm_«Œò¥mz½ «a®‰½L9gx^\²ûè‹Õ-£Q‘ô¥ m§œf<¢¢0FâxŒ°>D Æ©0ù—­äx‘ñ·l蟸§Â#É¡UÒ³ ®‰Uƒn§ŠO–WJ–öÂDÕ‰±_ވݨxy°NÚ×ò†6ê±/£{ðC“Úb´\·˜îXTœ‰@!÷4Ã)ç– FEÄÌZbøBÂ8‡­ ¾ñòy¾Ý†8’¥qÓów¥bD`öþj~Áõ7× ¹>ÊÕ8r»8ÚáÄ1«Äd_b±Ë^‰LU9ƒ9~•ñ*a¬†ùÁøç)Pe„¹øs|Qôg" æˆØ håd‚5JC$±/.-“¤¥ƒØ„CÐò—L9>H˜u øÃ—&O`‹,ƒ,!dR-O¼ÄfƒŒO–F‚!G™•UC$Æâ„^È’a•Ø©ûI³I¦Q}%-–iR âä Õ9.fÓDàÁ¨[ÊÏß3«/f-1|!qF|óõåwbñ§øˆKQ%)à/9 y²šÀŠƒ7È&Ø×ò î´Š˜•ൠáhÉ»¤±>µ‚ü – ¨qTÍ_z:˜ÕC Ùyò÷GulÍ›Rm$I¯g9én‘Y{ñÎlË §Rmm½x©:}úmñˆ¿9oãä¬ùh…ƒu‰Y‹àÐ,Vrº…ü\Ïš[[ ­y1=¯úÖ9¹d^çkÎÅDÕ‰±P‰Q‰B˜orã±¼  Ê—Ñ=ø!RÃÖ!ˆßT7ª ;xú3¼‰ÀIÀ™{ÒÈKÂö—]³–¾(‰jÊ ®§Sž^jÅ?+æôæ¿„‚@“¶`“M†ÏÔFrô¢åû`é`éàw ir:€5³£h°vR€0Ì•ÒoÛ™¯Ì–f98á4^I¯•Ù¥h_Á’½­×|šz9Ò3Jý½]Ú²Nê ´Y— ªáKÓ³œ`ûkº=]6¶#L²Úx0ŒµØ´‰ª!c¡$H£Rë´J¾ÓWI:»ÈÈÇ:ÄOY©n³ º]òšN'çBçTyÀ˜ŽÊ…O'ÉË®‰Ü¬%†/$Œ»yX‰ÀËOÄ>áGTðšÑJÍ)~JrÓ\OàdÎÏ%9kõã¬ÂK"ï—‘ÜùIƒè·?-t" Ý¡`¹Ì³æoCçÎGx¯Z^ÔF«ý>àÈô·lTa1­É'€]# 1ή|!Q ›kbOÁ{NÆó?[¡âÄ“¬^ukGž6Q5Db,Ð;‚F¥Öi•|§/Æ|(‚c;93ë¹Zø7è”C%xð`ªfƒç2ÃkF g"jvzEL#òa08$-„昵Ä<} V;¢¼ñ„çSð†Ñçq/Ý1Ÿéº³*¢ ø²Îû³ÜÛ”7„‘צŒä½êYOräZM¢{MÿøyéÒ=‰2$ãüøl5òrè­Išïÿ¦v×'›ÉdÌÛ3±.1kšÅ £Ò¥Ò‹ ™ž•‡ÜÄQ8è󷹃0Ò!½²Žë»ßWëÖÎkœ)<ÑsÂ?DÜŸ$ÂîÂo~ )Zø›Ô…[¹qf1Êõ´Ó€@°”/_²C2p]>$Œ‘;!f]‚ÄõÒÄ~þóŸÿâ¿Ðø$Os-à{–ßE/Þ@ÔÜe`Hð:‘Ú'K­òaL•Q„‰ª!X¨= ªœa$^¤Q¯ÒòJvLj%^þå“ÏK$“2AGÿ³¤ÆÃ1'wÙå/'Nñ'f±ì9ƒ¿$³–Ð ‰õ)3Ü»!T:l?¯ò¡uðÿQÝ8¯ñÁXìa.w÷¬¤÷Èã@> tz_AZW: Ÿë…³2Y”GrÀ\ʃ?”$V æÇ#^ÉŽ%X4w.‘4â&×=G$f]‚LýÒu B!´)s°5I“Oöß$•ƒ¼{ÉNg𵮑Žb¤d׺+”7QÕF’À‹Fªœaäµh_çnÔ«tµÒ&µF8CšœÌå)à”,~I³–ð ‰Çâ8™& îþîo†‡È'SÎk|8&[L®Ò$4%70[†w._¦å Ÿˆ4±Ì-¨ã£Õ½ÖäLˆ@¼c V'z-’rI&ý>aÖ%HK“ï}ýç’». 0YãÀÙÍS›åDܳåv´$碵ƒ×NI;Ò5’¥ß˜0QUE‰ZN4Þz³h¤Ê©F:‹öuÊF½JWÛ9 mR[)Bö²¶¯ Ž˜(tÓÙiZa.w†@aÖw/&ÓÚݧ™K0yâ{á1³–˜5ã–T7®/ªÌϽ#€mŒ¤ˆ³Ô|ªR§*­;ö pGdZ"¨ïØtÞÈ ¾-ç£dʉÀÃz¢{DóM Øã-š„™l¢b ñå딈V¦aឬ´%ô`›ÁE­Á'}ég¶O–˜¨"1`yшQ‰åp‰}f¨Ǿ´âñi“Úñ>x„³ºqðÚ,¼ÚYbž‰qטµDÉÛŸ­å º1 åp^;ºžú7B=Þ¦ƒo!D÷àxb- ÿ|ÓÙ °Ói¡A=y {˜W˜îM/bbFã1¼hu ùI!â°è}¬Ö%fi2Ö~l-9Dc•ƒ·ÃxÇdMT ‘ è…E#F%–7Â%öõH0ê±/­x|Ú¤vü€aækǹñ°0ÞA`µóÃ<K:Ýœ, §[‰—)"pÅ‹6ÞýÊ;ƒ#T›‰À·0›:–6„à­ìÐdÏÝìßòºæÉH»’¦Ú,´AÒµFtÍ4o/Ç /:·÷ˆ¹hº?/,#ÌÊ#¸EBš~üÅïr˜˜rsò%|¸‘—¦L$쎎’M† 1š2±-bi‚åHü|Ê¢‘6ôøå#»†Q[<ýZ~Óæ¨di°œ0Q ‰dшqGë…íkƒF½JWÛ9 mR+‰é§ÅÔ‹H³2Ð,Kû8"÷S•Qa|?ýì'_̬‚u¿b8ûî7¹Á™ÉB‚F±¨0U6Mb5ž¥Æñ¸Ž_þýùþõjøNÃYüž$+ú®!÷þÅX«ªµyS¤½pSññÇõÕWhG×8´ð" ”LTäxE’Iãq«¨pƒ”´@™’,…“¦à¨ÜHÒB S/^YÝÅ49 †ä¥—ò¾ºádX〮?_Ì@ òZlÊ%®AðXº#ɇeÄï›ÀO2u$µô»¥É/¥Æ3—gt­œ¼îY#ó2Vë·ÆÎ)é 5‚7¾ãdѺha `¯ŠDN%=± ÈE#Æiœ—^´¯ õ*]m瀴Ií€9¤¶êÆ‘3š±mƒÎ»m ô2|mÐ~~Ö8šÑkR¼]/Oxjû8PhhÈ¡³6Ñæ´!Ωb8μcáY¶zn’¿‘üö PÚ€ª¬qh#ßh½ãšC-)Ž´9ŒAËC’šO:hÕ^.ßNê~;M›‹„Ù S‹ÛàEûå /ãÀÕZ!þ¶íü7ÈË/åõf[h_;Ë-DÌIgËaLJšnMÊh&½|ÍZšÈ§:UÈ‘dj*5ŽU¥ò=[Þ¹„ƒd1íä†ëÚ9š¨"1ð¢‘ÿŸ½·Û.»Êž÷›IA,!Š4üù» †-‚R+?ö"|6Ó*Bøƹ%ü¨U 㥦 ™BšPFké¤|ŒU‚m."-m§’‹H¼ I ¤` zE0É|oï÷]óݳ¾µöÞg}ö9g?ϳß|ygµ×ï½ÎÞë=ÏyŒJYÞGìkÐŒzÙ—VìŸ6©õp'ŽêF'qta`Æuó–{È… øÇ¿0÷ÕQÚÀ'TPÝÀ;8jŠ ‡ÛÜݹU7 €BSsصÁI¿Ø“Q~Õ–‡(í‘®5¡ÉÂ×]Ç1O5r5mp’†GÿvLr$^¬1ò‚ št:¸ä‰Ú§#K³®äLEì”c.´²C™¾T7 ‚áÇ~/XH6m–†=}@˜¬q ï’OÄ,ÉTûšñÈ%£‚Á u²g'Wi¼ÄÜä·Î´Â྇´…ÁÏÍ·ìŽoUE$Æ`™4bTÊòF8b_wQ/ûÒŠýÓ&µþÞ=ÂQÝØ½ F ÐûÒÉýOC§ËMIƒà éþƒ_žþf®K7PÞ¸}q;ô-*_ú÷~‘ÁÍ¥©Ø qnÕìÕg¼‚Í#mÂþ/¹.(ðsÐűAŠbG;‚–µ½ÈáœGt-¤ëtyv•gRà‹ñKÄ4šÿžQô¦(¹*AH[y)ç…›ÿ‰G^’¨‹„=uƒ·‰2AùÇ«N2`ºf<äõ£»än#Y ÐLJÎ͇´¹*Ay†¤ã¤®fR’­+…d¹z¬äº`ÖDU‰±_“FŒJYÞGìë|zÙ—VìŸ6©õð^¢´1ª{~{›h¨°(`à5Må=Ï–­Œ} O•AÔ!põ±—‡{n¦ ¨h|Ïç~Ô5æÒuÁ­§u¶Õ _ËŽç¯þ9XÖ5Ž…ùò@Î 9³,C«NWü4ÌhVØ …“»ùÞîÖ(ÌJ³·YVþxrMI>™ ¼©…TÌÏ,ƒ….Þ`4šÈq9+ø†Â…d“Sµ¡ë‚)UE$Æ|Í5R–_hߨ—}€ê°É¤Öa„»‡TQÚ@Ìx«èî‘z@ ·)æ«þo*^fw$å £|y9ã9Šàíq·¯^À7qÞÁ!Õ üF†sé®@ñÕ p¾Ë£«sÁȾ?·ûåÌœî¹ñ kº¼»Ñ<¦>¯óÖ,ýás¢ nÒ”‡ú¦z¢ï#cÄ\kÉVÍÔ7d!¥ 1¢32fs—ü´‹_Äs*kóQ'’|—8"J­òÂ8÷†mãka,ÉZtõzùYϪðtñÏ9â¹¥Õ+>³ü}>—*’”»›UbVðwXñ «_î€ >ׯ#H™6QUDb,ÀÉ\#eù…özÙW ¡~y&µ~Ý#²QÝØõÓñ‰ÉÕm2z÷%´Ùi÷¹~±×Ñߘ“ñ\ žÝ¸zŒcú ˜“ê†ØKOF³€¯nˆß›¨†—BBw“~¶EóצM·Š»-qú¹ ùk¼æ@†åƒÂC«rá…— OìHðêq¥+öÚñl<à“ˆaÑÐ#ª·U"3™fÅ#GjêàW¤Þ,á8\â#*ïº|â, “Hv£É鮉‘BG° áe¤)¸YÚÑ;Ex”í£wá °‚S± žî¸oØñ›ʬJàV!ue9ÄÂWõ̓¦pµ)ZèX˜—” ¤Ž`ª åìØ#[ I)ÍHxLŸñ4 †¾‡G¹;ÐjÖÆzÞ&V$}2ÑŸ„_²:yG»s 'ÒY‡ö¶‰˜¨t$Áµ×X@xÚH2Z£Ò\^;ëKëvN›Ô:vÕðôw¤W›¸VÏ’,[èZ&_‚ç%ÅÈé9»UcÃlZÕþBãRÝHÖ8Zê'ƒÀõ©\}Fe8žìÓÓ®qäÎ 9þÆÝ|E2“e‚ ~€¢Uš˜÷û“1b0§‚d“&„ªS(œW#Iik9S;³Rà ÁËçnØuƒ¿m^¨˜ó°ŽŸ¾XMЭÕ†HFâ‘0t:0ÐËãIÖ8ôQsãÙaÌ]ô’µ¡¤.Fé«2/<÷& öÌìóDj¢Øõ›„ÔX€üdß•æò:æ¹¾´nç´I­óhW oT7 °,[o8æ’bgK`u˜;÷¥·nÝâT:Œ3ƒ—?&e³!¨n\^¿€ãÞÃÅþŽ~^óyª5Ù¢ùã\Žßp¨Í5¥—¡ ‡¨‚ñVv .|ÓòC·9—c¶ãæèÇÀ\û³äy>Ojí —*aŽÙ6¯rƒ1ÔMª s>j­$ÆÇJö››5èÅ«“‘Lž{'-ô&Ðç‰ÔDØý $Éôˈ±áɾ3*Íåu×Ïõ¥u;§MjGÛ<¼ŠêÆé=¸ÑÕ³2ˆÔg¾²ãBu¯·“Qæ8–‡8¸]ÄNLú„ú¢º¸úŠØ«¨Ü>œÇGTú©¡ì;zÌù¶“óC²ÀÉÅ +v,œŠ“v¸¶ƒ·{ÈCXЗ³]tKø]x.T®Å9ð ]àµrgñf“ <_îÙq¼…$§m^8 Ë{:pB6§âœ#U+0Íù\» ½<iSs4 ^’ –nÕ̽hƒžéÇåQMž{—»ØØBŸ'RUìÆP4bTšËëžëKëvN#5ý.“Gd KºØ˜iŸˆ÷«ê‘4>õÎe’ï‹Ä\­1>d– €êjø9¢êÆ’|‡nx€ãpŸO¹q¸wâ Žø¨gkoþÙŸ&Ghüðu«0ÙªhZ[Ÿ— EW8š¦zÜ8­i´i‘™4Î0Ž‹05Ž&Á›Ó£>Šüø£Ïý”û_?׋ù”®MÌ5¥åÜîG«ìEk %†IŽ`ð…&ÊÓ2«E䃨;H×ii¿Õ´t±ŸÕÖŒâJy%kpݰGL"ré·È,»ùæ#ÄØ?ÆKƒ^óê†`2yî=Fè:Œë f`° 05iĨ4—g: æúÒºƒî ³øDÂ[iЏÞRfíî–ñ_Ô8°çŸ?u+ÿª™Kè-Oóà—$~ìºxvC¾Eåöár¢ÀáÿH¾pøOÊ—ñ2*Ú¸M .„‘,›•VZ 4H›#§!ƒS®œôÚÎ[±™„Õ$¿&vx=„Ñm +Þ×ËWHŒ_ß) Z£»Ë¥¯q ŒU{Äo‘'wÀ«Æ³ ìÕN z“ÐU;‚âä¹w‰ñ¡KÊ%€Èb,DúΨLöõ\yfb‰®¶3è}0‹O$˜U¨HÈèí®qwtûÿy^b¿!ãA-À¿†Cªw&~U7?r‚}¡ƒGÆh5 ÞØ<óK|J<±ð#*(øÂÁȲN±†q±¹Y.ë¥0iY/úÕsU{áü¯¶Æ¿KsÚ³:;ë94oGÇ9èÓF YÝÀ>—5'BN`/>¶ž²aÅïͶ¡~‹¼™ë½pnè× × :sþÔOž{µð «0] °ÏZ:ŒD’\©t„Fe²¯çÊ/ñ¥uÝfñ‰„ÔjŠøêS»V½_å&¶ÏhGT]ð­s9¹à—zJêñ3×]Ûàçz?ù‹ÃëO©\6øÖªC‰º+•0ÄxÐþò\ªAØL‘“–su¹ëälÚ÷¥MÖ5XéˆDèíD´† öÔÀj°•m+~o°õ[dïtŒ\×ô«ðB` zk@gΟ:àÉs¯t5ÒÞ*ð¹[ÛB'æ¢2*“}=W^û]¢«íô@›)¹oH](ÖX öExx?7¤~ÁçµuúmKÚ2iYùe“&¿gÝ Ï‘Aàê#*øºØš«¬k,|öA«Óx&îÁž€Ÿ„ž3ÛhQA/EÁl£þ”~¦kr«—µx8h;±óiB7™õIæžËqíYàÁÌEâ%7àøý·ßoщ7qaÐóÐ5ñ#æü©Í.Y µA—`uCÄ0‹çΠ߉“}gTšËë”çúÒºýЛMÉHÊ&˜ˆÊª2ë-P«†=Œ<º–Á=•fzáÖÜ•vDE,̽Ð/¿{aLLÓ5.ñE*øw¨)p4Š`†VRfè Ñ#A ßÄ7q0v]•ïvÍmõâvf-…Œäô®¶Ç›ƒûuͬ¸‡iõVt´×Ëemo»üÊ®¼ÿÕTÔßI¦@—ìß&ýeΟô N›¸Ð6Dàå‡g/ÅŽÜ=(©(L߉“FŒJsyí\_Z·Ú,5k¬fñ4M0qÅ•$÷Ec¥¤&Íׯ Ø¤»!p,ðN½äÖ ]±3ÆOoý~Uظþ¹<Ü®)p´ýÉ`žü¯Çå';„6bu—4¨mjuf‡V+t9£`sr«´Sp±¤ õš#ª¡T¯ò¼O,Áj_ÝíoNsÑæ^¹íwÑ¬à¿Æظط£×ó^¨nÀi«fΟ’Nõa{=4NÏ2W9Ó“÷ …±I#F¥¹¼ÒûÒ­+ÑÈh¹åW©$¬½ðÑçßz´hUÉ—ŠÝíÊswãWÓhìÔê.emÄ䕺¤ñÇNωQÀ(ŽËX@ ­4q=Ÿ»óñ‡Ç¤>"ߢýˆŠþØÈ\ºœ0­ ÁKjE86„×…€a–/Áq¹|ø¢`_ß î@~=ØY¯ô ?Hz=w„âl‰ä.ÄŠ>¼Õåzàãü¬+šnÞ¨nT#Ièd·$#Š;§¶Ìœ?uÌÉÅP z!ҧ較ƒ¦*`7`jÒˆé÷æòL„ñ¥›º¥MAçùC5Á쉸ÞÓG]CŠò;IP,§>øÉ¥I ïKó½0 Øi{—_ÏP¿FàÏnà £‡Ã üü öG…€\-¥ 4aïe¢Äzj8¸¼6“~‘r¡ÉÛ™ÅA9ƒ £Xh2’}^æòê3Z?Htœ¸éiGðŸ–ߘÎAÍSôñ¬a|*̹/´¹tå Ã;¹–­Ö8X%’ÂM`Ÿ4bú½¹¼NÍøÒMÒ¦ °ïyÞ³;\û¢±{ú#€í˜\š¶I{”e¼UuC,‹µÜ B{ôöÔ|Deû(‡Çž0sÛ,8:ò…:“Y°Æ‘\(±÷2|\&7d´3éq¹@î\ª-CfË´ë:Z'Eza û‚`Fi,I­…y^'m ÆYzoTYãˆnªk¸HöÂzL½æ$W›õ\{Ë\ù—Iòvn1ôF'ŽÿF—[@šÀ>i„ý.‘7—×€_º©+Úö=Ï›`vj_4vO$?œâ ŠyÅÁI"€¥ üÝo”>¶Üî%ë8°oÎ>uv†V#ð5±£ÀÑ̳4ÃÍŸÏ~¥ÕÄï½&·z>¶µ9xUê¾/Y’ ÏØÞˆ4™³·3mô\#ÆæÜKŽF}&8æL4Î\ OzV^Ôò¥©`Í¿’ƒeÄxŠ&9P8ZK7I ¬iJuZž6O•Ѐ˜Ùd!_äÙ•r©[¡ˆ5Ps´‹CÞÉÐæ6T»±d&•æòºwàK_®Aˇ}ª™Eûj©y$³Q, ß(\8ÆæpͲGc–Ù!<È!€åH7M®NZxKÚÜy›¸†Íܹ‰ýa¤ |P%õ5±¯{íkªÌ…”Ž×x(½óÊ­à¯t×ÇV£ŸÅÔœQù-0Bè2$ çÕNŽI'Õ¬DrgI†gòÞ“«qS”\žWÎ]€ð(±d Å„FY!w£-4y;žCÙŽ€é›X^)„J;gEh¬ Ð|ä ÃG~IhÓ*Šk <ÄaþÙíÎòxû:¹n˜ÛPìÆð™4bTšËK™­…,5‘à« ÆÍ‚ä6Mq4¶‰gx9ÌÒ„”'W§s€eä¸ ò%±xÛ¨}‚ãu¬ös¼ÆWƒäL ›]û$ úÕnIáI¤™X‹I— +yó9”guCstƒüIBŽ1ZL87ž3“»pX0*91íKÓKžF1gxcʟ޵߆t.åÒõJy| a réV¦À^.4‰AªìKljaÒôE h2»üQÝ \Sð@¯`("ß u<6”¹Eoì,92[ì°löô° °9iĨ4—o…Øzv’KMÄ]µbÁ¸±YܦiT7¶Áyxñ˜¥ “«“7²Gnæ¦ÜЗÜÖõÝ¡¡ñaj&Rà€–-p\ⱎu~PÝ8^ãë@2¬ÈZ¬„ãù"“ã£Õ7“[åý¹]ìKáFWj"µ mM,Àš1±#1¬ñ»EÁ]“¼´ÂBb.Ô…h«›8rHxSlJîòÙšoÞà©rÔ´¾4|‚LAˆúÙYîYLÀg€à6{ú Øà0iĨTÈ÷ƒ6‚ŸŒyÕÞ41ñ°w¬×(N}M¬±yÇÕnÿ£±[ˆÃqÇ`aYYš`mruZèq¨—×ß{@-Ã8 ú–7½Ñ),eð“)Çk|)Cÿn Ëx˜}Oaå5’e³m[+>¾±Ð—ÞF‹)>‹®Mgú$è—¯!4ŠFò©ËT:÷Ýwßã?›æùjyâÉîXcuƒSäoIð¸Rí´œWòÌ_ºòJ;9¨µ)MÓéVMkI&n^ô@# ø1°¦µÁ¤z Îwí=H¿â¯xà‚Â[Š!e¤ŸHî"¼Fxœ˜uÆ KnÁ#ÕB?–#7{zÀ>:cî&•¹ò区m5…ø{4« P›I6Å¦Ê ›!0¹ŒD"1KTš˜¸2Aàús(7ðM±‰ÇÀh pDøõt³àñýµ¬qà¯î<©. €g9#Mî°sîX×È ”ù8oCÕ ¼Ëò=·Vc¸YR21úe%ÂËšDX|y‚Šº‰LÑÕMÚ5Ößö9ákõºÅ„î°Ì!SXæ/£ááÈD“” Ô¢îi–ߢBN»RØÁêÚÄÚi‘nõ¹˜{Pņ^pÌÅþ¤‘¹N¼Ï¢sŽ)(ċՊ@ŒÍ‚$›âSe˜\v"ñø¥¦‰Ùˆë!3ןC¹ú4Ê(pŒñ°5ÜÓÇç>m·P–,œ¨(1ÈN”ÌÇ|tC‚;ibµ°Z1+5D¥F5*j´Öªè3A€d‚MühÉ’¼žþîÓØ!Úò° .oÞ¼I™æÊÉS4‘ÏFRb`xæãß‘9EÝ ¡«TéöQDˆ±ð#ƒÐ ÅB“d—TÓ´ú %ÁYHŒi@Óu¸Í5²P>˜Zb¦ /T+²66 ’lŠL•A vA ní2¡š¥ ­MÌ/ÇuÉg`¶Ù2‘?ˆ% ®qûpûâðÄåx‚c ŽC·³Å¯°Ð­ŠˆC¿LanØ<Û@±IuƒŸXIFbžFÑE ¿“ŠI&­yL’ò«2y ¤—êAˆïÁ‘Ç’¼Þ~ïKXã;íàÈñUæÈ&_³€L®l!êÔM^Ò } û·¾ad¼Q‰\êmÁ§ÜS¨ݺuK®;¬qèù‹ ÍåSid¨¹Ðù eÆðlöؘ!3]P‡Û\#òÁtÖKþÁ éT¯¸Zdª¾6®/Æ)p–Ø ?°aÎòktÇå@`°^ÑQÝÚEu!ÌÒf³ÆKäRö{so©Ëq¿nèÍö"ò IDATRÜÎŒ pãpqÏQ©}‚ã#>êÙpóæŸýiüÖtÄ·—1å›4'(¦U ô—þ½_üžÏý ‚ÀhZ‚€ŸÏÚZd­Ñ .·ÚHºú¬+Þyâ•˹tîwÄêÀä)t‚`¶†æ2 ­iä¢yEŸº½MCuZÌXÓM»Ó€¬Œ¾{éOm?÷ÜO²–$*b„fÍ¥ÎÂ4™KJ>Ñ#„š ¢ºÉÌzØœ´¦Õ=m R@žpÑ56íH˜dË—Œ“bÉdÙJyMèV¿¡Ô’Kè½6¦KbÞE×tAns̕ߙj§fRpœ4X­Ë9]ߌñ€#Ö†Ì@`%ÖXFŒMD®wõm),¶¸Kb+²|7R°_7ƲP æ¤"žà¸8\}ì=‡ÃIi#ðŽ·ÿsü% TXt ßÈG.Å%ŬüÖÌH„òeÕ²Àh]‚€ŸÏK¬¡.ÖbÉšÏn”Ÿ¿(CDkú8TV‘J®qj7SZ¦Ú”6²;í³ðœH¢ÕêIw F’üäa«Ñ’Ëä­švʺIƒdšeäÓ?îQiZõó;ô~Œ6”+…½ÞÆt¥€[™åH4]P‡Û\#s價l V^Ì \j’AV+ÂZN×ð“~ 3°Q—íXc16WMªn±]5$¯X7Öéäíß>ž¸ú Ê=³ßÁñÞOÿ¢£+šO8!5S逺PXF‰,H²º1â( TÝtnóÙ<Ä‘ÄmÖãÜóIu¿·©n˜Däàä?·GÒÑÖ¼A)b'‰çŽÌ&yi#Èe!ÔI48ŠØ*œbɳ\N˘•KýÙX£nÒ2-‰ý©û¥ÆO¦ŒG´åÊ>·‰¹|·äû¹“ôŽ.Ђ®è”¹FæÊ'#ß’9¹>˜D¼XP­ˆôsº†*pÄÚl€Àˈ¬~zI\/‘ºÅv½x*Öõ‚9Ëxvqàß»·g8äñ ”ð—”9Xã€qT4ð[ (m«0‹O¦HCˆñAߛ՜Â|žu¿Ç›žW„R„ NÑâ‚o Tþs½ó6Àg7p{Ï€h³ž6›o9Rj&é&§M€ç˜c¼˜‹ŒQ_x¹„žób/{|x¢0Me(rZ0RhÂ:€ù^01L^ÊêÁoPáÛ7&‡À\Ì—ê½íØÚDy‚$½ :=75´à™‘»€Öš+¯u7¦†Ùl$⛇jE¤œÓ5ü8ñ€#Ö†Ì@`/Z-ûfI\/V/°bÝXîtXødÊu™ãrv#WÂÈñãpKQ#)?jIXzcæsð~¯kü&¼±rn¦ÚéµOÔËíci6™â®`8ñËŠ=tùè.®g¥™38ËH<åÍ$—畳 S( dÎÔÊñE ÜJ#†(h™&¬|ˆ4f½0–g]^ÍŽ‡¾(©Òá7Å&ã<fn3ÚÏÞqK$ÍBŠ!MNax ©²eäGêËl$‚›$[­XÐ56#ÆŽX2-0 \·Zö—ìfs$˸­Î9ðýºeÁ¿¶,bjÈÔ!Pó’Ñõžàt™CÓu´ÆƒpÚ6Eî÷,Cxרtà•…ÃžV)Ø‘¦ msúêüvý£ŸÝŽÙF—/­#¿L>Ië «Ó*YתÏuàh¿Ëójµo3]ß×AGæ~$T™øð÷½ÍÕ8Fu#à\¿Í =ìçæ²D^/bÇsrö5†²ª×mñykGe#³„s‘ïÈ× ˆ/ ÕŠð’Ó5ü,ñ€#Ö†Ì@`{ôÂ%Þû_öMÌ&`ì÷°nãgùÆ/Ù° >ûuc, IÜVb^¿gôêS*=Áá_ÀÁäå³*¼D‡ø)-AF&¶?N?ôÐCæÅ ™‡¼_¾ZyìÊN“ò¢Á°ºYFŒpWš`LA!^,¨VD9]Ã7¡&/ã'Õs °*u«„ä—‘%ÖVM“ÆMÌ X6MÖsúk¾ºýÙQe p]ãXð-*¦ô|¬#ž†Xãó4ŽiŠÛœ”ÕIˆv@uãñÇ—ß»°S.»tgÖeòW"°(·]ëWŠó4Ìž!Ú¸Áëºèø-ÿjv¨äo<5NcÈ5Ìøûõ öÁ<í®á )›c¤Ìí\x †uÐÍ2r]£—@zµD<zq@µ"¼ät ?ÒÅñ€#Ö†Ì@ zÅ®[m$³æ€¹ÄZ«ìÊvLÌ&`¬á\ÏËvÊ­¼;±ø>Ç(ŽËFÜ>ðïÆì'8Ä=êæ_uX¨_àŸX£qMH“ˆU{1Š(mŒê†Ád—K~Z„W°®!5Ž`TÞNP±±í7£¹Õ¹LF²{²»Ð̸)s§žôÎ,îkH®Š@n:íÎÂ>X~ˆ­¹$?B ë kb$í2fA0ËE!€jEØÌé~Á;›âSemh¸PSˆ¿níÚ&qñbb–€±zKëòý-Ðæ–Ù _yðô>œrUÝ}‹ŠÆuîÒ‡ºÜ‘±‰—tÞz4çÿ.¾yh\Vrº†—¿ÌÅ,¿ƒ½.ï¬ÖMþnë~¡¨ǘ‚Ÿí—}½ß&Í=öÝ©_]™˜%`Yfå„"¿'^}œ™öa‡ã’t!øœÁ/"pQ¹çò¢q5ñÊšB1ˆÑØ·=ôEøð÷µ´X´åg¸þƒLQõ®FÌm™çü” šQã!]•(¯I;ô¤í<ïÖÀoµ.s‘¢/O@áù}aõmÆ»hËÑI‘.ã?€€0)¶ž€¾?e½<òäG4³®aa^„†I/„ÚÅØ£\ã0³SãU_ù«…¸uuƒbÇø(ÇqU7j³e$þ­Uì‡Ð«‡¿÷ÍÄàËÏ¢®9ö“_ rQP™Û´0Bïpçs¬h‰©DÄá%§kø>ZÏ™å׫Î6œðZT Y(–€cL!˜%Öfå ’×’¦ÜÆÉÄÌ€¹à^á½}Í©[ÿ«ƒ×®=‰߸~½è‹ÃíŽHñ¢ÏºF$òIÔº@]ƒ±‘6›f ‰½þ„¨ËÁP“bA;Xæ’ê ™x™ˆÀûš»ÐÑêÍWamtî>´FFb3~÷ ÆÀ\ OzV^Ôò¥i–5o¤CN®ÆafÇÜ©qóæÍ[·nI¾¨qüèOÝß2wõe.åšËr§{-¼‘›-#-pïHÎ ÍW†˜ä:¢¡‹†¦LA!^,¨VDð9]ä8bmȬŠÀI®EÕˆ™…Bî¹soµâݘs¨ý~Éï´!“Û5™˜0«“‹<%+º`aðÏVE¾ ß¡bFƒÅ‹m>ÊѼ*ÁøO©ãYÑ0I}úÇ=ºd—ÏúÈ6n,I~þ›ŒrË–‹Ø‘Ç7´ÖÚ„Íï‚B—9»ùœ¹®ý‚˶®i2S“NR2‘¾ÝœÁYF’aÌb.¨Õ9Ú5³L/Ï+gAûÝ%íz=Ú×8Ì™aî– Õ D«k뿪åmÛUSãÜ;nàkåÕcafÛ]g­‰‘:׳´LAÁLü‚©jEØÌé~Á;›âSeû"pbkÑB0ýBQOCSs“â6Š~§]°fb6¹'7‡kuMÕÁ×¹;K-¼…ãÏqà?3 #Õ°S(—lS—Ù%SÝ0[ü…5Ig¿êm7÷…LäÌœ<õÅÓp4mçåWÅf’ç^ZÉ›Ïa“^¹„ Ž®q‹¬~«Õ ‘DL¬Âs›ŒåY—É‚LoS›Þ W«ØJy|" 35 3ÇB……€$µL“¹ÌI _{¤AÍ„5áKƒ¯ì9Üÿzž0;Äi¹êÄϧHuÃÄyŒ—ÕËìŽÉšý¢ŽÄìuÓqÑÀÒÍã70ÖAljÓ<ÞT““F¸éÂ6É è½Sycib®ÎÝÇPà´ ¾àb4«òÆõ{FÁ 8äa óH…T ÄhÃb£lKœ^CW7¸Ë‚OkïXãàéeÖ¾pV-£0BÊvÌW°Ó¼ ®ƒ6›ì­  ÞjçšÄ8U‚¾DŒ«°\òF"„®Ô”o!ÞZÎTÄά’Âuh$M©QªÎKÍœq—Ì:T09r4´4y¦áøKmÓGŒ' “ê\ ³õ׳CŠ TÇD—ð2Q©q`­ãêGá£#tjÇüŽké6@åfS+ï2}Œ5n»u«^Ç8DQ_j­“r&¤Ü¥Q7ÞMbD¿«K«']øJD|²]*~Ò¯aR×ðÇeŸ˜u‰ªÏh7ŽÊ€ïÕøSÕv ÀæU«úSbR›(½GMÊsƒ˜ Þ“Mñà“ꃩÀ³ø‡—Œ‚*päê†o.µË¬ž@žõÐbÙs f}Œˆ´ì…ˆã÷÷à°ÆÑ$sºHÚÄ€ûž^°•‰è& ®Ê4k\ÜÞÇ—®áS'Tä•OÀ©göÉa:÷ÝwŸ¼ðÕ,ÁOÞu®o’9Oftšb¦Æùk“›é«Â/-çeѸ“›¿[ÓÎ$Ô°¡ÍÊ8”j2úRÓZÖøRCÿìÕEF FmS„54äi\š´)6a}àZ'Ư>j¢~ô’vn%ñk]ÛÓˆÎýˆ¦°r]²z-]7¬v֥ơW]khçç.KzI¿:4éKM›&¹ÔŒ°x™õÛX0—>1ŽéùÌëïLñòÆ;wäǧ¶Ñ¥¢áÓr nAf4õ†€Y—0¡ÆêÍ>2à€_1Um‡±iÖôe+zÕ˜[9ìÔ"€Ï§n®¾H%Tà¨uÒK–E<ÓsBÖïGD˜FHh#I¦è„6“s›¨r§ ï'þ¡&®ë­­Ç™ #p8ž wj°Æâ1OªëÅ´Ìã’8ÎÛpg¾²7@‡bÄ¤ÃØ’T7ˆùA²ÊPð•“Éñ½)V7Фé'/}>>ŸÂÃ/8Zè ®ö=êåÊÚï‘~S¬Náèè¹kéÑ%¸^Àf‰özS’0ò‘À¼pôzXaSûÕö5Ÿ4wàøbAλžøbÊëÒ…!Œ. ßh%/©›lÌž0ëRÛ³wωGb3à@¥cÊ/b‘x 2Üf7Ücû˜Á)ÄPÝÄÇu_Ìy(¢¾qõ9•‹ÃÅÕSãçèàçSüãëåb6Ø!éøÅV€g\‚– îzAβÌ DðŸØ§ð,wu¹B]t#Š\…!Œ…XÎÛòì†Ô8"F(³Æ ‰Æ+à ZØLûì¿ù¯lœ(-¹Wø;‚6.uÚ嘓­‘ eta´¹LÚ'“FÈ1ß¾!|¿P˜dÿ”üJìQÝ0ðŽË&˜E£‰Í¤Þ’ÌÄAIù“‹^ò.PaÐø¢}á{ƒFbf.ƒãµÄÚä: bþ7.¾×õêú¦Á9 8¡$Úægï£!¤bÕøxS9§|¾ž?ø!”  suîewüˆqÛàËNG+ ·¯>¨2~ŽnîýãÙ«f#[„ܦÄoht0z{![®~ëÒ~ýòœ….âê¹>ÊYà* „­Ù<~çt=¥’wápXÎÅÄ'JKz–àÀ¾ØYˆ6ìà8dND Þ7yÉG—3hSÊÉ&-#´àÃV³ÉS/"cŽüú,ƒø‡¢D~ü´E@ߪÚZöÖôŒÀ[iÛM¿ WÅIu>¾af±ÀÅ™ñ€˜\´°¦ оI+&édÀIÉÁì=¡çÚªg(|lœ%øxSÞ]oó½uPE‚/œ{y6ž›#Q(jaÐÉícÄdäÔßIyŒ@¾QŸ„–|ìÁõ厴Æd³0ôSiŽðsà$kI¢’éhã’]'›rC‚Z0B ]9€d>”9`3gн#‹ /A`ÍÑ«jòè‡[Ëz Ð N1ˆK=/ZyÑv0ªõÜÁ¶»zœ7 µ"e=[‘Z¡X ð2N£XÖÕ }“VLÒ…€“òƒÙ3˜>úìºdBõœf]l©ÆÇ›ª ÉhÁlnËDÉÂÞ›2IÂÄ\{ÒxY|ÐþY‰]¿€ãòžë¨ØÇ>·²ÚÏñ_ ’†ý÷¬ýX¶ åÛ¿9è$ñ÷œ²®î–®Øð1³Ÿ#¿±$6Æ€ŸžÐ5Žê%XLÑ2ˆjSÚH-È‹"÷ÓvD¥U^bg!Ô…t¤‰¹I?s’@%}åì˜EÃ/2¨hðÙ }+IÁïŒgÎŽmÂã£UºÞ!®M$æ’áy¾™•”ÌbÁÛI†&$ùÔ.åS«òVQQaBÐ>.}%"8Ç Š¾IÂ(ü:-XM½!ÐÃ9¶7Lüês>LÑlC‚Jôû.xÑ[ÊŠ?%šô«sÏå»jð9§gÎÇKF/üKF/ñ+ëü º±ªñ¿ñ׿qÀ;µŠ§²ùG®¢ñ£?uÿJÑûã‡qdŽ+ºuRW ÷Fcf¶z\¼ ¡V¬¹k…&½Y,ˆ%›L"rÏÀK^ôÍC#éhkÞ‚Øyû½/IF²Óô.¹Ïžå.’×$>Ú¼/„zVüea¢TŽ1>d³hø…ÂÔ8¼€ `\"À±ÐÎ\u£¡…Be@Å´J’ÎÙÉñieýN.ò A;˜Î¦)Xh((ú&ãÂ_zÅÁéµÏ±§_Ï€áæçürñÖÜ~2nÁKšô×Ë}à}:ƒs8 ”qiŸà.oyÓ›£ÃO¦¬jüëþÂ74ßõ®wþüϽi Ë mê‡7µ^uC|Mž.ÌqEG8©«…{£eC¦or ÕŸUaÌæ¬+ÛeX ÀÂo¾¹YôMKÕéšc¼1"ÕmF‚FCCT×å¼L›¬7»dÊ$&]S²ªƒÐ çüR^ ˜EƒÃ5 × ÉY&ù:ÓI].‹•[#î¼LØ EØ1Š0,4}“Ž-I&u³6;Çö…ЀõÎùÞû$§¼ïuî¾’»‹IZÀ?4§[Ë´`mVðeã£5†Àåá"Uàˆ)w*õO~ìwÙ:aåjWoÝ›ïqî†òå 9®èˆ&uµpŸ´ä×Vr ±|̓³ìø=¨‰J_6_…sõ³k0ñLÃ$Ëkr ÐrÎ@Ä­i-ÐuÙÍ*“ š`Ö,òº zôåUˆŠƒæÔÑՑÀ‰©ª9ñYia$¨[PôM:¶$tšÔÌcAàˆ&Ôöp@W Žìˆ"JܺIGüdv ¡ö…Ñ€ƒ`z[p&ñY¸ÓF¾Ú…Þxh¾¦õ²3ÖÌ´¼KôâÆ\߯üûÊ¿¹Š»ÈÿÁOý´WþÂáˆ]8F§“SÏídÊ›“ºIƒ=0±†rE#÷#¡já‚ï!3*Žw$ôæéÅ`†‡þ IÖŒñszc`÷ŒdÝ6¿w‰Êl²Í|—Ä©™wfV3Š ê}S!i :´3Ž n'T0pR? Îø˜ôÏ*÷ à]ßÅÕ·Á^f~D¥/ÿãO~1‡¦—‡ûõì7ÿìOçì”[sZšÿEûg^ù ‡ïû‚>·—thâ4nùs7 /o 6'uã‘o/‰½/J¿(´îÞT~íð̨Ø`$˜|çŽó…€ï ­¼úäð˜è"ôû^ëÀ^Cnò%m{ÒɨÛn½Õm6â6ª˜õó1hÐ(B+¨[PôM“ÁNÚLj@‡ª 8¬‡g3|Lúg•ûf ¯æèê 9f?Á5”6š‡…êªI³Kª(g ¨A³×eŽñ@ñ(7þÉíEÁæ¤n)Ö½Û°S/üìÝ‘ùßl$ Ë“ð¾YGÖ1;…kÞ0ê{Ç÷àN‘fÝJ‰¿å'+7S˜Š†®wL©¶o7“ÑÌÄ‚?£É nAÑ7¦ ÓI;CàxèjBõ£áí»àlŒIÿ¬rßê¦îž¬nÀæ¼ßêÆª5Žx¿Ÿ‘ˆoIu£™T:ÆçV ¡©âö?¹É(ØœÔ-G;Zç"P(ÊÄ›æ:õò~H´ ’ üš¤ÉÚˆ#ã½î’1Ÿq5Ý_w ¥Ç¾´ü N¶Ýf•ö«¨ŽYÓFMAÝ‚¢oÒ“tÐiRw0O N&TŸpäYóMúg•{Ÿ2Š·+^2ʨÝÌ“ç8øY••ªÒø¸J¤k° ˜»u€|yëP°9©‰yÈÄÀY+.œ”ÄA=ÉŸÅôCbƒ‘€Üü6t‚ö¬®éD5ý?›‚§7nÌx‚åü3^“L#¿Äƒ¬n@ëªÞñ~?WOJšO©ˆÌ¨n$±J2+¶“Ž$:Ó IDAT‚ÍIÝdƒY@W' ?$V >÷µð+ºìœUNã9äGw%Ɔühæ LEC×; ZMšÌÊìWΜ£± nAÑ7弓tJùAœ;N¨þá5à à-œÝñ1é#wÿOé[Ï . ÅN´|‹ÊaÆ×ÄêÒƒN2ÙÚ-¨üÁO/ö6s·/o# 6'u£q¹8n¤"8’%¸ X~H´ ÁP× €¨ôƒ6C:"Ât“ý$Ë‘ 'i¶¶ øÁ¬08뛌»ùœçÝzC…—¡2l»õ¾´ÙˆÏ5‘ǤÓb˜qú²@EHu о©€4NÚ§‡À.êX`4à ìmœNðñéÏ ì¬àš Î ò·ñG¨ÀÁ7nL~>%.¹B>Y“xˆå 5 g7„5Ž,^©srH‰X6åÍDÁfÅÆÅº¿ûºÉݲãê)p"šu¼yJ³ŠòCbrMúá¡ÑH&Ïk`üæ.7†:Fç|ÓA~xL ô– Ç¡¨¤ÙÚ[Ø&Ô5Èú±m—z?+Âl»×ÞC›û2æZm£­ nAÑ7Mt:igœ*O¨ã‚Ñ€ƒà×^pºÂǧ?7¼³‚k.8íäñø†¼gôöôGTP³@]CJ¬_$C¡$„Ë’Iu0ßüÿ}´þ hprÂ|ùd ~‹îuãÓ*윧JÅæ`r Ra³|D2Œ±Ì3†áŸÃ%Ûòƒdï5ûÕXÁ޾ÌÑ~HÌí8cGDó#¹þ@0//5¼š¦À ¦ƒüð˜0;¹ä(Õñ`”ÊfvEË M†ThJÊfØvk-ì¡õeCÚL43Ë ŽŒ"$ƒºEßT@š‚N'í ÓF`³ uŒ0pÂz N‡øøôçyVpͧ‘<ÞÁqõƒ"Gè ˆ^Õ~ö§Q¶˜¬\ˆäµýÙ¿D—ïݸzǵßÙ†œâ8~ñ˯~ôã9U‰-ÂÜäË‹ ›¥‹mÉ`p~È)åšpÉ©;g’\ Ò4÷mtوɎËÅ9ÉG÷åzVt#0¨.çe£–áÓà,kÞÈ sLùá1)Ð38\^ô(%ÍÖR(Œa†™1’‰Æ¶Ýzß zùFÜĉ)¦9˜_ú²@EHu о©€4NÚ9" ”6Èî(:bƒ µÔ+¹0àÀË ÎJÁ/7›[Z_¥VH/³öú¼<¯²ðä 8Q´ÀÁwm>¥"µJÎÅ‹µ ýÔFÇŽG×84Гàþ4÷Æ ùò]­Âædœ9ÃCN²p ¦îª‡ za„tWh‚°n¥ ˆæÇ•œÁÉ3ì¸Bü ›ÊTçÅs(b%Èè¾Æ¥îîB“VÔ*àç~`-)©ùô¨%ÉËlÒ|2sÞ=ßt“Þfo¢±"ÍÖ&a?ôÐC?üðrS­ì,ä¬,˜SGÛ#&—3K_h£É nAÑ7¦ ÓI;G$PÒ6Ù!°£èŽU'Ô6P¯çÅ€G œn‡k+ b ájÕ©Ú¹}¸¼¸þ”ÊôGTäó&òìF¡º¤â’VV7|“Ô8<!5|VE>´²ÐÔ¹©WÜŸ&ׯ ›u°ÿø£ÏÅ ‡Á9!ùSnïbJ[«‹Êk%m ³Ð;¦Õ\zGeŽ+eB«9ÃS¦ÕÛñCbry#K8¹LäsóÊ…dìäÄ4ßw.9$(¯99šÂ†y­%š“¤5S«x¾ñ¹4ä‡Ç¤@ÄK2\ t0ÀP~4³‚ÆÀ“±G"hÄO„œ#´?Äf!€=´–×3Ôü¹´™VfN¬EHu о©€4z;˜\ži8£²ÁeJDE‡Ç8WšP´ßŠ( B¹Aðw+°cÀ§zÁéd<àhÃMò/'áÄªáŠø:oy‚ãêƒ*¡'8Êu e\Rk.?÷Qn5¦â—ן[‰‹ɧÀ¦aîªùòV£ÂæS(³~áÌPJ‹P—·!ÈO«ÍáŠ)m–¾ MI™ [s‘³ t…ÐÝ…ää3çÚZÎÔ¤?$&GQ0Ù ˜ I^Ú&‡#ÁpÀ/4éAB:ˆXc«¾Ôº¤é—* À”K/Æ&-Ozr`:È/@ãQâþWSR?†Jf˜»`&Í~Êý¯¾^͈*[“ºàé®só¾ûî{üñÇÑŽN#Í 6×Ù¡ú *ÀZOÐfW=צ´˜MA FZAÝ‚¢oš &èÔÛáœòMäDd(¼QÒf±Ñ‚¬îÙ€h>¡šÇ\„¾ œò wVxèV,8 W}?Õ >.Ë7Y­ëiƒX\Þæà¤¼qãpyO°À}¶ u-fš8V!L1Ú&ho LX #‘§Mƒ*ùÆlð’C«,o:¹˜±dÊÖŽ¥•‹˜^ÜH³5’ÄPÝàŒh ™>h¸‡6Ë‚™V…ô"$ƒºEßT@š‚N'í$.nI›Ë™¥U¨ˆáqzæ£O¾Å”†ÔÜJ*|µRi8¡Z…±C0‰$9õ ŒZ³íf¸n&Ʊ fÏSƒAl\ÕNÏJOnÈ'Sžˆ8L]Ãà¥K¦©p)u²®‘aü.˜ÕM(g°xAš-9è pûœ»BA~ã›®Y¤˜fÃHäÂûÞTèn AËA#Z¾:’=…îðì „h–˜`–zDXΖÄ<¢R'?úê‰#¾x÷MÈ4Í×t9~SÝÀ¶  o:È#P0utMìÐd§”ÓAqM5fÕ8ôSH,Ò•ÝÖmh²‡Æ$ÒÑbéËm!Ô-(ú¦BÒt:i') ï°I]˜¥U¨HЃ&Ü’Mñ›EE0³TšL¨Y— o†ž‘í] W”Ûðc§Ì#w=å–¹ÓU&;ìÄ bA¸†+Àíë¦éwp$-ÄK Iõjf¹ÎâÍÊÂu ÏrŽ]ã AÀXIwMÞ8q àI€:m#Á…7ú¥¯½ˆ`$æ¸"Çyd]Ž=³â,ÿøFÁN¡;ü0+\T7!ü{ú»_,–œèh¦Ä™€ºmØÁáVþùsM9y±€V!̬їš†p®G®&¡úñî÷³ª¢nFˆÆ§Ç{™ëßHFxJ7ŽÃˆ®þÈŠ(™ ÀZ{1J7%i3}âsÇ(ÂxP· è›’1kfЩV‰ÓXÌâÂÛH"ƒÒªT$¥AÃCß;t“ÞDUxYOÅL¨õ£eNyÁé¸®Ý ±2\ksböñ•ËÃÅÃÅŒ¨L¡A.EFž¹0òÕ—RIYbSjººÁO©hfu„C·RssÄòk߀Í]!%ƒl îÐâZ~³ä1‰IA`®Êk öÑ„ã k<öàðƒ¦YÇñò¼[oLͪºÃ³WÝÿê>úür^m[‰Òܼto¿÷%¬qˆ9dj´Á×*ÍiÖ/’–Ùª·¡”L2¥ÕtçuA`Lr|j¾ÐþNo¶^…3BL0«[stHñ`ˆò_~´dœNNí$°â–‘~ò; õð‹0$;GcU]ÐÁÑ‹‰£S‹Ï£#AÝ‚¢oÒ±%é Ó¤®gr¢qr‘`“×Ú’ã!j‹@Ã\b6÷‘ncn˜þz¦ôP$ÈÚÐüV´Ym`6·àô<\‰’ÁüVpÁŽA,WC«šD4qg KÊ4ìòp‰/R©/p ]ÔK‰R>ER±y6ÄxÑŽâ.LcÔ5âÐ%qsòËVYòëÝÒ8©ôtÊÙ<q*1ä¦}œZËǬÎ^ÿ!K:ìÇ’g)-qMËЃ§Ð¾·¯q¸ Ò =¶y„¨ðsØ$kI¢’;$ _s¤›8#ž ìγ—¿+Ú;ŸÔ6ËÞé„îJ\j#¸dZ…´> £‹­‰è c)b­C™$€äYaû[]qMìh×uv´…A/D b­§¼ë•¡ŒQŒë}S9†¸ÓI;" §è%-èq®˜‡(Þes}5”7 5,#‘£ˆ¼!+™ò•ÃxÕlVdçíÇ2\1‹è5ï/ƒ˜‡«¹Ç• æ ÊñW ãn³—O.+?¢"†–ºE¾! M™›-çøXƒ0« \Ëp5pÉ¥an€˜_Ÿ×pº½Í DRøšXÔ7nß¾zGô ùäˆ/t ƒ-0 8o ê4+¦Ì%"ŽPã"ÌK2='bvÈ䨸Ñúå/g¼Àçä‰ÜsA6‰ÄÉx¡(\Ê^ÀÓÿ±ßI^FŽ"Ï çø¦_ Ýa$᱇G./B""‘¡AC䆇‘”K›dk™™³i^#§äƒŒßiÅ8mFHa,Åm®* LäG{YÒ/ÚÎz4Fin šÖ‹gXN"`¦•ÞC›©a&NÒš0"˜AÝ‚¢o* MA§“vŽEÀCtŒð®ÁàYÝ(Ü8Ž¥¶Óß;ÀaOÞZ‡Mkzµñ3öø®ÚÔ0rˆjæBû9udôúœSéÏ1ÂÄF$ ËëoQÁ/<ÂqϽk86Ϭ_þ\ÆòKV=ΨøDÊÉHð­"¹{9ߊ¨¡oíŠ#)óUtluhÔiÑ/»ƒø sï,S«±0/„ÑêÜ€Ïñá·Ð”'§B> X@/жªÉy-òþ.nnó´SG˜9¾åðˆœ\4žqS;J.Ÿ;&®1¹ôŒ Žž­À!9[“øŸnAÑ7%]kf<`­¤“sStÙbËÙê!Z P±PHxJuiK^‘Ü·—!žÛ»²Ú˜šŽ¥[eRã÷fH&×罺o¡ßÂd_hyROpàçâê£À1 רA«˜¿— -¿¥ÍÝg$ƒÄWxòK.xÎ_¾}—…rÇi_ß´.Ï׌_úN) Œ}kñ¤ ’;B]ˆjI“éÁ\÷é³–¸Ã ~‰ß¤n0˜¤îªÌä¶iî ¶j„Ãøé!`öÐæÉLÙ(B+¨[PôM“ÁNÚ™+œ¼sTÈ{ˆöB`nð‚X7ÍçsŸsHÇçº>mùÜ-#Çß _ÝÀ†íðHû»üò¤ pš–û5Ìú,5h#Óó¥`Åé¼%t–‹«ïOy¿Ž×½ö5Z´-½ªñ¶¡k À­×ßË6!_qÃæt*O¶š QÝHŠ5|šÑî5í“©uÈ4‚ ãjvÁÂLúîÛ¦º!YL³0ÙYêÉÅj³áôªi³ÀÂ@€{hsüÀ4 âãoëAÝ‚¢oš &ètÒNR <%Ë­IƒË™¢UX°¶Ä’Kdr|4!å#ÊQç;h?\¯ª©ïŽ==¬–Œ[®ÏËÕ8’«âç|>?x‡+p\\Èó‚mãß«G¬ïz×;G<Ì-C7'¿Ì•MÎ]xwLή²/ie¦ºñÐCáë-hayƒ÷ø=æ<ó°´ »^³SEa`Q£O´ rCÂô î¾-«’Q!˜†)—Mù®¯^²ÊŽr­>€œäàŸ6ØC›û2&H0e£­ nAÑ7Mt:içXÑ éªæŸÿ¹7Ué ¥0Ó>â©â–¼wæ¼#H~2(mˆ¤,s4¬qä"|"àGNa`Qƒ ž˜ãÿ²:ùgU£ˆèƒÓ§ è›&A :´s,¢“G š¬qyòYË€,Çi:Âì¸Ó8´—Óo8t®ÂÖ¢ÐTFrq+ªxÇø¬×¸¸+¿Pæt÷›B¹ˆJü®¢EeáO)Õm~äÆ,áÑͳ±j¨Ïóׇ´éýÉÿ-«† ¦0–úoD1h‰€ðf:ø§«èÛ(‚ot)iˆ‚¢o2ºþ2èÔ+)ÇCt&ø4=GÚ§'¶ï#ÓæŽ_XpŽ%“2ñ°³;¸‚PT‰Ý¶Q©²2”Ó`ÚÏçeù§Þ¶­¾–RÇáݪi~>Å?¾¡ÅÚÒ8¯î[ì8–³9¹Î%ܶCËÖŽíru­¦SPãÀßÍÍ»Îr…– ¦0–*Œ•@·˜û©,¡˜†ú˜‘|ŽÃ("AÑÌ´ è›&­M:-|†´«å7yß÷Á{ˆ&˜Ä°NÀÇF;[ûÌGé6A$Q…\!ø„•mY¹Ø¶Du2ã$°>òàp,8“!‰€Šý˜ûÚãBðÌDC¸´YMç"ÙÃe/µÀãkbu?zep{ö‹àBŸ²|$Ð×ä¶_.€I#xÝÆ5Ü0v_;ˆXòîÅÖ±e ~ä s͇jRxr P}Uâ(ÐnŽNMè,ýìè›ÍÝ„ š‚±ÔÉðgÐ^0·Ë™ë©•¹~‡|Þ ELøòÚ(B]ëœ}SÁŽØ˽[˜¤å ƒ0â'à=DAØ 8K.‰m‰ÍÍt{¾çØÊ”‹|Öp-/8åК‹aRq_@„)\üB¸rYWD’3Õo½ªn\$ßÁ‰õ#>êÙZlY¡E[ô‰#€î—µs–•em/Ãþªø‘#$zá1’@mÀä߇ÍKRöí3Bö fƒ^ȹhµËie'çà/AÃ[«cðëKй=´Q„¤×5¦ä² è›’43çT:-Zšz.s”ƒúáðö{_¤rP -QŽ ¾ŽØ}ƒ?^`ˑϮfÁ ŽÞr ûöìd ø–Æë¿¢&%¯Âœ2p%Ÿ³KØÍ°ŽÆLNž}õŽš¨HuƒE \â/½ŸÁhp«®Øâh  åó)…Ç7Œ<<·þ!~‹Š±¹äRâÀCÕÒ_â=®‹¥°°ìÆí4‘ô#ç”j]Aݤ¿`„Õ 18j­€]n§Õ.§•å IÌÝ6wô{hýÈ•XÎé¿Æ#Z©è›Œ®¿¤®iòÏ¿œ‹jo÷ÙHð8I#‡€¤Õe$¶õÃ&‡É¬à[!´m Wi=èö  ]Ìe“Qa±2’ré×gp’’efÆÝ1üÍwüz9—L+¾?E~ª PÕå ÐæŽ;ÖÇipsòw¬´èV\ã9ósúþ3 \qf5B*á$'½0}ØYhÁø‘³{ca^„·!ÔÁ^^[ÌT7à·d|2EÏ}й­êÚáÁ¾Nû³A¾t¡G™†ˆ ìVvŒëqÙ =×`³<×ôºóê†ÆGªTèÜ\kuBO_î²U³˜ŒmUïÚ¸Y¨Ñ4¹V÷¼NDèžcóÑjÎdä ×ÉtÀ»Ófè. ^¯ÏÈkásK"ÙÕBWOn./®>¥2ÿ[TrµŒ¿Çh:g6X ¼f«gZqY>~—[½µ…_€AaÎmš N,¹CK¡©àB´Ä¦¦ *å&?rü^œ¼ðä0 n™Ð¹hº¬¥[EKsHš(Ó9‘¬nH̦SZõH ]S—B-½ÝYb°•%1 ]AÀÌ,3Ô“(É_ýŠÑ…Aã*ú¦dšI]Í+¤Éñ¦™”ôFöâ0$'ƒÑLÿ‡_Š­DÄc£äJ‘³ f<øÅ4†´£™”dëÚ=ê0èT3)ÉÖ} Æ£ƒdHš¹ÞpÇ@IF¸;AX4VŒJ3'ƒ—õ™º~—Ŧ$AûÚ)%5“’l=¥ëo‡½€k¾&V?¾!9{α`1âÜs»ŠG2÷ó)´ìïˆl"WÅÈñú¬Kyª"Y­€>sB~h—BßiyòR´È4ZT/‘E-"C9៊e¿#§/<9 ¨›#rñçøÞND2"ËBúGûÒ|кÉ(š¦ò¥6k$Ùôàá­ºÉܘM§ G¨¨µÈÂ4™K-¬›&i̤ÊQ ˜q…mìlH0;#I¾¦•ê$(o$ÉÄz˜UÎ ò‚_¿–uG¸ ¢o* MÔ”L ÈN6õÏì9ø}c3£ãJÿ›ìÙ}ƒ/‡×IlO¡Ëa£µ‡È{ˆa¨œÀ¬àÍVjn#ƒðgER6UÑjÆ^…Q¹~É(ÈÚ¨T;ŠnWÓš³6 wæi<®QË0.Žèë]õã¾æTcL¡u Ô~ä`_žûb/¼¤ VÊËàŒ§z#)”·æ6AŘҗ°&ÆlÁj/?< FÌ-YÌ¢S +¯ÑáW>£)çH´äw2/PÎHË›r×¢tÿ«)ùªm+úmB0)¼Ž?~CS7[Ùa`ƒX‚ûZŒ`x­Ehá½9·MOamÓ+Ò©oÒŠIšºÉVüï¾ûüq×ËèX³V/Os{ } *¦ê@o{°¡Òu ÐÉ-V!°GàcoÆøŠ|EóPR ëhfmeŒnÝå©.’®´ü¹‡¬ƒøª‘ÔM¤µ -1-CÅ8·.ô¬fIcÓ\ꘙ Ö2F=) êuPó ‚´xáåuËSÅ ]0MÉhÁ¤ £H>„QÔºhÜws·^ª°º¡ßÌVq¤Ý±‰Ñ¢Uh-ÆÖ aFHPkˆ zCÀ,nñm‘×X½ŸöùzE:õM^Ýp¨kø¼ä‹•Svêø ôLèà{‹SǤ"¼]³”1Œ‚¢o¢VŽ0N“b|ôO–MÈ`¿.[ö¤|WL_ýhäzé06 ,èõQí½GÝäúìcë ÆÂØóÁG8òŽ‹Ã7î½7¢@™É—‰¢äAáA f!€UÕŒõYêÂp§Š[ªTçfMÍßcõÝWNÝøÏú±›Ïá%" ‘>Bü¯ e†YAÒçK”–äEp`_?¾!îmÜ„¼÷2‡ÝíÅ M^Xs¨h!ùÖMúÅ¢Þyg‡6šºZÑÈ S 'xIãAù¤XaM0<³½HZÛùÌGŸ yÝùŠÝC´DÀÌv÷¤£y­‹A®‡=hû‚¢oš C;6ú†%MKŠwÆøö—=ßsl“=µ{ð¸³û±ºïˆ5Sµbn†j‡èM¹ˆÀ ësÙur.‰¤ì.Ùº|ìy³ø|ÊõÃWŸS™÷ÿȆáxgƒ3ˆ#€µµð/n'.i&X\±sIžô ÇH‚ù{¬³±B&¹j]O?ïÖ„Ùd¹DMv“ŽÃGE޹…O§"QZ’ÁY±#hãPW Íðê­¦ð1~ôÒ´È‹$_ºaŒ˜Ë¤M‘1¢û¡y´“ôÁ¯Ÿ gEâG²çD z-ωØ2u˜E,>›Œ"¼{Ýä°/(ú¦É¤¼Ó² —âä™G=J– FZeùŠH–e’Ž“*šII¶®MÐãfÀ¶BÈ0x!ÓLJ²um‚»ÖLÕä4dä@Â¥™”dk+‚–»B/˜ƒ×XQW3)ÉÖ‘\Ÿ“Šb?‰!ä—Gâfwdìyƒ“œËÃÅÅáâòöáÝ·g~‹Êx‚cÜ!°\|åo’¼4Í´1­þò9S^ø(8\Süq4¿<²‘;ocIÅŸèaMÚøc±?7ý8ÙMæ9޲<üjûeaWÖ·J…ïÁ‘‡`taÄ }-MZ‘L­ždR+)‰VÖ8$GE^juÚÂÇ LSð²iФ²Óu ýíIÝN°Ëá³HIokL„åýV+;Æé¸œ‹€^Ê [XTe£XÐ5þ è›ŒSØë‚ƒýza 'U‚L®Z”7œÂjF•2±Räe§ÁÖ•€5"ÃYŽ*l–Å(]8ê‚&Å:ÖLÕ eT“É6gv‚^]^e«‡¥YŸ'·%+aLÌ\ö™Ýc/ø‹«Ç×ïáOpAb½ ó§p Œ,Ó&L63ߌ@Ÿ—€B~txàÈe"-Ÿ¤¹ óÈMNR¾ÀôŠž“T÷ý8ÙGF¥,?KØGè³ð¯å9ÔZµ7®9~<$‡J’©íPLmS>Ÿ"Õ -š*ZÞÈ$/Ë=˜Ts®—œ _×;‚*ç&V×ç†R]¾[³¬lEH–u9µÍçµ¢·Y@šÊN êåê›(Fd¼ ¬WòcšüÂrGо†Ù(úËH`oy9'â7"c"ÉaÕUxŒ&ï!ª«&£¹—‘Ø"2Æo°&ýò4ŒD‘1‘ϺŒØÈ§uè#“—‘ÀK®ÏLn[‰$"cRž #¿;vÊcÏ8š¼¼÷ž{ñé”{Wo\ð¡Œ×½ö5_üå_å·¼é“&æ Àø—<ð"úš«~ò‚?ÁÄŸõÒ_zåçCú³rÄ\‚¼¿/j#fùÖMºíL+8’¦r"¹Vá{ã„MeprÞõßu½}rdùcx$( ĤµÈ2êû‘}äWpYâ åMxr9K¸./v ÔÙ/“àˆ/B”bñ&-ɨMé8% þ6ZèýÞ ­H_F…¦Hh¡ñ*¼ÿö=HãÆsñ”lBäÆ^ãmhxµåÉȱ§µ<=i‡¯5•~ÔñŒ>ñ8Ë—„mÁô³,™`AÑ7%-hfЩVñtrG¯·Æñ‰&®'^L8³„“FÚŸtQÍlÛ, f ç²ËoFi|êÅÊ&s1äø¹Øròþ,¬´°þÚ²8 #¯Æ³a  &;ú1íwÜsx/¼`ŽyQXR¼@uCê¼ô(Î@`_êÎÀ}ƒßÅ{ä`‘að9៊šðý8ÙGF¥,o„µë‹?Ç÷v"’o™}ï!÷’$Ÿ„œTsw© ƒP)tŠßs`¡m<> ¿o0 ¯Ò!cÌÿTÄé€ã;±<+üž­ŠAÒCCÆ(B,¨ëåÕÎö¾)çü SÊÇ ¬òW$TDëÆÜ¥C«ÐNÐû“±ÞñÔÚ^¬.N¢¡! ¯Uh'¨[ŽÖŒ½ŠÑ #"V5g€h”ršdQÔàãúœ©Årt]´9kËùuñT£‡€5à´L¤­“0X=,ÍÎ$²-)VHékL ò:#Œ@h‰0ítãMxùÆõû7®4æ}Mlć|#¢5dk €UCOª  ¨øå&¨{ìb8– …äßc¥in‚uZÆ‹ïGôÑ ÐÝ—^åîö¥WËój5ï&¥¹|£ž»„YË”{jÎcÎùIE0““× {-¯J k.ÍöbÕú7¾ö4ì5"4ó"~·2Šˆ-¨ëùÅUþ•“)NÚi%Àö’•ºb¿—Øi•ÔîvzFÕ¬KÞ½ÉB÷U«g1N˜RÝ8·áZžî‘5&»“pW=,ÍÎdmÉ\õØCj2ÝÖ€ñž÷\Ü~²¯f?Á¡ûØÓ£ºá1œ}¨»o™Ù¸o Û{ÇÙÛÿl†öèû±bc­ vB{œÁé$¶dæH™õŽô¦Ó;œ•>wOÆóašN,$îÁ,Ÿm“™qx" ê&¥³*á ÓÍúwîN½ë´Y>í&"@Lªó¥Ú¬6¥Í8ôƒ\ ÷CÂŒÍ$ˆôi6ƒ¦ŽWŒ™2÷ê\h6«MQÑŒIðM¯Qr’XõfÊ” B9“…N“h³lj²õÞ§Ý{ã⪲qy¸l\ààGW&ƒ§ŠÀ+^ñŠÞRÓÓ)›™“qÅã’IJR÷³}š¾+¶×Û‡­=ÖA -mdGÚŸÞW½"SÓéÎJ€GiÇ.ëÁµéÄdHƤؙ3Íø+ˆE0ƒºÅŠå7ètû^æ>{¡ëVv†Ñ‰z+4ZÙ1°˜Ñ臺‘ïçr. &5&>×N?,‰¤UÖ­ìè\Ø5dš¾#w"˜¾‰ß'´Ì÷‰w?8ð)•‹ÃÆD0jÁn81Ô2üòòLpöÍ×OªÉxžþî›™9©2ÖFÀ÷cÅ&{í OÕ¾?·os(5Þá¬ô8x¬NuTó2-=s=€A³g%fF¾‡4‡†Q„XP· è›rÞÉ:¥ü„ÔŽÛî°ÅZ?Ué `4.ŽU3&+FµÉ}ÕË:`MR&åó®uè•;t ôL!ÓƒåÖn£‰Ü§&Ñ6„ñÝO¼ûö%j—‡áwpÈ+EQ¼`ý"3—k#;ìïŽ@u©B+>ðÀÛ'"SËÌ7êd‚~ðÁ««Î?5À€g²¦ÌRéAýh:'%~ ¼‡“1)ÚÌÅŸØ·<”šNÇÈÝ)ðÆÐ0árKˆ6Îw®; —æè¢,ÈÌ(EÀ4‹^|üEø ê}Ód A§“v ÈN½¡Ac ö}Ù7E.UŒL=žAw8V|°:5)¤vÚõ½È€™¶è™1  ËY0ÆÇqnãåÕÃxˆãò‰ÐKF¥–Ár—ä“ Ê N]¡X˜Ž˜ª.s`Ó€iP7ü¡sÑÕ ÍÇK7›×8?\ì»’t¦sé]â÷x5Ž#ECÂÝÁÙþPj:½“û½ž/£Æ¡ÑÐ4Ç ‘?®®k7ïæŒ+@ÅNQŒE01¼}Ï)(ú&¯n8A§Fk›Ë5na²EÙ&þ>½ªýß\ØË³€5S57 Ïg¸ÎB˜—‰•Ð3c²ÃÆ­ƒc‘7ƒñââpÀ‡T..//CF0ˆóD aiC¸°Ì¡MÍ¢s ‡©n<ôÐC?ü0-¯Qã ñ]ˆåçí]§¾Qãèù¤t¼hótÊîÞ¾º‘ìtÜAs;6†º11jp?~¼Ìà˜»S¤)£~p¾}Ý删Ӝúà6@Àì(ãüþW3ŒW}寒nE$<¦Lżꘆ“Î9~LK'šQºiØW_{ãpŸðGT:#¼•X©´¡£Ý¥ÌaÄ£«(mH„B°ÌÇÛï}‰~9Í…`Ó%@Å©Å*ñ§ÈÝOìò±óÐûSñuIÚþtºWuCúÓÌ\LŸ½&Nn|‡FÆÝ*t‡èƒÜ‹Ã„íFêAÝ‚¢oš„%ètÒNs¹U/È“ñÈ$áe=“1l/pÔ¨b¬VŒðm@–¯tÅw»Ö¹›œ†§=\wXš19o|Î/É•ís–ÅÌ{”o4ñ> ‚úÆ=‰'8^÷Ú×Ðß Î ª„¾f}beùL0 #auã¾ûî{üñÇÁ7rPr Á•‚FdɈ¯TÄ@`%üétßꆤif.&No³æk­žPÓvüøÉ Ô;1ê–|³Œs£ˆ˜ƒºEß4 ÅU úó™¤I¥!0Ø ssÙ-Ž¦Žƒs¿©Ïa¬G=&÷{x„ãöáâÆåá¶-p\=Õ1~×ß„²1 skËÃ+,RÝÀox‘2Çrw ØDî±"dCÓÇ•¬Ðhh@oPûÓiÕ AÚÌÜÞf ‚<–F/éŠ÷ QÖH?¦SDÿ˜Šz;ž)(Äï Fu оiyÂËH?ëÆdÌC` `Ö¥c$8÷=ÍÓŽÿHÇä>cïâê3*‡Ãöë•ó{_ñíë ”ñlÈzØ6´¼åƒ&lq=ëQŽ…€ÊÂÁϧÈã|vCJ¸¼y³åëäñ “;/±•Üg]`êˆ+ÇeòÊÎB ÚZ?ô¼oC¨—ƒÓsuC²3·üÝg<+±ÉCé8×i&šô"bšÐ*Zb¡ü›ºqoP<Ó*MÁÙZ°óØÍçÀòón½ÁØç¥éDòa ñ;‚Q’AÝ‚¢ošì ©nˆØ¨qLÂ5ºB 0eÌqyñî™>™zÁ)$D¬,Ó†#˜¶ ë+Öá¶1̲¶×X½¸úpÊ ¼„ãpã©'8¾øË¿jVôCø$رºA<ƒrȧT¨UM\//‘^·ê¬qÁ×pT{ñŠ…Sb!Ûku(Wf{˜¯6H:xv¢‘ æ‚ØHÏÊ‹Z>;iŠ[ã‰WLñÜkøheBÆ0Í’Ë·qt×0·ügÇiz¦pr —Iƒ^²Ì)Œ=*BfrFì ÌÁÒƒ×ßE/ƒð˜lü^`a9¨[PôM>`ùrúÈ]ßš\û‡8 op3¨R+EäTIn"}uòXbr)K“ÈÐ2U4g]8®LÚ1gxc*xzŸô²½ÀJy|âyqHÈ ’ûÔõ¥¦Å2ÅŒ#]õGSÿ‡RÌA=ƒ@WÌJB«K]6Ä/?Òñß‹- ÙÒ•³Fœ^üV`‘–Q¡®,4`ú&-^z§žÃô¥IN;|†ECQ>öˆº¶&¦À7'¨ˆ羜&yi#„¥j‡‡áã’M¹qtÕ ÉÑÌ ¹³Ò5‹£AÓ4Œ˜Kš%Ÿ„4™KÊk""£åI?¥xýj ásnR =ÙÉ/­ì”½œv«¹ Äï,F(u оiü¤Ó‚“A@ÆÀn£Á½ x648L=ø•K[à8{P΀Þßn˜õÎl<ð×õ¢®qx ¾º!2Ø&7vÞO•>NX¨ØPzÂñös’9¾WäÈ-¿Í±‡‡%O弋AøIþpЇÂ9³âÅ´êKMC˜OÈç&L«X;® ‡™AñY)ÉVÿNBGkúc)`öœ@O]m“L*âH0ëðž‚d"8AÝ‚¢ošDµàt'ÑLjÀØKzm ·½¹ºØ¨׎nn‚wËË©nÜÍWçˆ@ŸÕ é‰HlËÏóìõÜsÔ¹ê†(ÎÚæ¢Ímgg"Ë >P°ÜÔ°D@Þnöb8úÊ¿YM^œc¼š´ÁÄ)T7’¥]›HÂ.Ì „ã’t'ßl"—¾HG±IB?…´ÄΤ£s0cÕŒäF’AÝ‚¢o* M“NÍzR˜8“¾†À@ ÆÀ^Ò½%èMêž7¼·Oé ŽÿÈDðô...Þü³?}zyå2ŠTrºI>>ÙqëÖ­dS3ò‡X^þìHcî&òåMž<¾‘«nHü°àýâƒ*|ű„¾\–[Š9®èê†þN£•»ä!êÄN>DiI^è‰öò¯%N°sýeøæ¾hZ{¾43hrV.Éeòfº@Šø­ùšf0I¦oM¤XŽÀšpâ£(Õ#Y?ï¶ÄN.Îóá›5¿|ѰE4u оI{LÒA§XUô”}¼ëL‡ÁJPQÝ€M¢NìäC”–äEp”Ø!Ȩt€‰KðÙ5q¢p0–¦ÈüýÔafPaVÆõ’ú¨†V€&ß~Z@ïæwâˆÌ¤¼wjTŒA//~-+c{,ù•Q9ýÁ_SPÈÝA|FAÝ‚¢oò~ 'èT´0õÄÙ·Æ!{†V .å.Üd7âwË9OT7Ø' ì@oÕéÜÞ£„ŽUqÆwG`É㦊QÈE$—”9"qÈÜC­¶,æ¤THMØ ú Ë ˆ’ÂøÅÛF)lŒÓ ]PÑÌ8c6„õÃZ‹&[$´À™¢€Ñà á{pXã  QI‚L™B«nòGbÝJkÇN˜”œ•Õ9êšÑ}­Í¶Zˆ´Íæ´/ÕÕ×ZÙiž`ÏMAÁ,ï…È"$ƒºEßT@š‚NµL=ƒö­qèÀ=X‚Àؽ%¬ª{fƒóê7‡‹ñŽUÇÕÉW7T*´¨!Êþˆ#S±3ÛD–›q‘¼Ìù5Æ“ºÂœåÎÛá!GÊ Ç —9^ÑsÊúlõYxN$rj-‡Ú»ãð!?^4%ùÇË43(>qÊ)ë³™HªXØå6åSxÌ#PÿÂHê&ߪ€ÖÂe;Zò|h3&͈-à`!Ô-(ú¦BÒtêí˜)ãç”WY•³|BùðÖ°é½ôÌY5l6Äp›½kØœ ì@o.b³äÛ»ƀYÃæx‚cÖ 9)áêÇ7–Ô) [÷(Gä!t[ÀlYxÈ—ÎÆ6nîæò²ù㌭ˆ’¯Þ ñÂX¬pküü…X6Gí.r\1ÄÐê¤#v(Ü ¡QÊA4™—6‚¼rvÐ4iª ‡_NfR §x|3s#§œ—?‰™MÔRL@üÝä5l–S­+!`î)r¿ˆø2ŠP ê}Ód$A§9;˜8z6öS)§ÛÏ ÕЦ6ûúòLèsFuÕ}òÀôV]"šÀ{\ƒp<Á±êˆ:5ãWÏ`ÜÄsî‹~š)DÀ]E«£EÅf[Fzg<…˜g5q? òcÔï°wû³¼l^Qã0éË%Gwmg{ºy¹u¥h1Æü0fò·„¡›V l_³færâTD¥Ïc¢®d˜qA›¾›‚Š"æÕ='b02J·”‰Ä|22fšQZHÓ(B2¨[PôM…¤)è´lGOHúùUVoÕ*Ó'>#~ÅZÝÄŒØï_æœQ]u`Ÿ<°½UgwxhŽǪé_ãÕoì˜R«/Õ=ÝŠ^þ솎Öê>«¢hìþ9m@ಠiÂÆ.²dõA¿4bßË0fã—–“{MjyƒŽœyø}¨ZEš4ÇÓf“ŠÅté?ÞGœåHB]6>Z‰€™¹˜MɉCyC˜!V³E0òÇu¹|K¾­ìzs£5+y|Eø ê}Ód:A§“v(€©¤çèí'· Ë÷ Ür,¼ Ÿã%ÎÕõö9;Ð[uâ{xçº;–Ax.޹ý7ä m«b|ƒÉžC~/Üv`{Wز´§¬A@~ù¦0ç·‰qÓÑrYw\Ñ[UØÙ~«šÌ¥sfÔ'Õ[xfÅ'ŽÒÈkŒêÞ:÷Xâ1÷Žø}Á("ß nAÑ7MÂt:iÇøÝöÂ)Vq—o²_¯«nTDkÜæ²"Î3G58°°É<ÐKÂÒŠià}ùáYsWÝg÷ÀW¨Ìþ<!ÿ~ïÇ}â~á—¾ùÍo™ò”n‡‘tCžû¯ÿõ¿þ«ßô×þÃ?üùÑ¿÷ã?ñ?øS_ñ•ÿÛÿþ"^a-ïg´$X£º‘p³Kß?°á.¤Î[r“‡ÒF²º!.*¶’>¶¤_ˆ51îÝ-çÌ].—{Ì ÂÄÉý£‘QÝ +Ý._Íó5™šÑXpg!Ô-(ú¦BÒt:i')`n~Þ%µ<3ùà¡Kr¸O¨Ø$hÚIz)0—_0Û¤©:6¢¡! †¤Uh'¨«Åªƒ×FêèÉ]Ñ(ƒÔ*´Ô¥Xuä´0Iœ0zÈ}ËÞÇn>§,™kåàÑ#*'løZ…vŒLíåÕ×Ä^.ñoöòA”þ»Wý}ÍŸûáúkƒ˜§÷g^ô5ú!úwþö÷~à~àoüÆoüÄOüŸ/{ä»>ù|Ò<+CúøË,ÖlîCÁïR1aËüÁŒ¾Õ“ [=nu]Æùà† òË7ˆÚ¯¶¿Ð8aÑ6O^ˆR+@ÎíVpµµ“›AÆ‹ Êâ†ÀÈËeoc8kè–¯ÚZWtu¦FIQ*(ú¦I¬‚N'í0¹ôŒŸnú¨@ºâÉ8½OnôœªÛQ0`€Cº"ø¶ÕMŒgIl» ªÖôöÀ&öñÛ$òø€<1ôôPÔôöÃòIïwJ¨q<öàƒ`Îd¯ÙP‹?¨q܆ÀßLñº×¾æ‹¿ü«Þò¦7RíÃ?òcõ%øxV‚òï|ç;Ÿóïß÷3ÿü§Àÿ·ÿöß>üßüÃýÐ7?û³¾áÅé=Þã=Œý|ó7}ã{¿÷{C^ÿ|ôÇ|ÜOþß?ñ^ïõ^š ÚX{Á ^øù_ð‚Ï~Þg‰Ø/ÿòÛþ³?þy?ò~øã?ñ“"¾Â—<ð"æh|­zið—HŸõÒ_zåç5÷;·À±êsßÄñÀ,DïHÄNžÄÉ•6t¨M¶‰¹íi…qŸ…Ž6H½&v‚îÎ\¬b¬ž9b>ýÜ 2’/|ôùš?ni­èn§§^3+–¯°Ä`Æ[ÂÁI"°å;ÊI˃9 Ü 2F^uÿ«É™°VÁG—+ÅÇ*.é³[)xïhG¶¯n4éô8\qI“ݾ¨;zs_uo®I|hÅ%uØqŸLðÅÅ{÷Ìþˆ Ÿ˜øÏxÆüÀ/^èÖc÷ï|ßû¿ÿÓqùЋ¿þó¿àKþ‹¿ðuñ€¾ÿþþßúÞWþîßýPùs_÷5Ï»ùü‡ÿÊ7õïzäe¯xåwÿůÿ†Ÿÿù_xÆ3Þÿ~ægü™¯üŠßñ;Þ׈ý¡?ô)¿ý½Þë‡ûŸÿØÍç½õ­?ÿc?öºoø‘¿¤e"¾´ü OL3I Õ¹9Rwî–òË·Œ°ôÛÄø\( O4ô~ÔlU+Ì–UèKDsظ¼˜ð­åHFëÑ!Pèb=0´ðÇÚ#ymô8=×v´¯•Bwmö)f2§i‘]P· è›&A :´3KÓk;AON@}Júᇞå4'¼ÁÜY/ø\RqþJ±m€*r\)ø8zFÃX>°^l»ª§Þz]o[är¥®Ü`Nd‡wŒ^n_Þ~×ïœýž˜xÓÏü3<©ñ¬{ÖßøÏÅÓ¯ýÚ¯}ðÐòÁü«¿z×gk'¢9Þö¶ÿ÷3ÿèg£t‚ŸôÉŸú/ÿåÛ½Êû¾ïû|Ý×~õ?ü?ôÆö“ë{¿ûßü›ßü³_õÕ^ <Äñ²—}'>öò7¿ã‘?õÀ—ý¶ßöžZ,âKËúäÀ„œûCL*¶€Mº#‘óÛÄ8½tKè°2—¾+'&¦Ê­ÚÝ O ?®tùìÄ’Ý%?¹ÌÜÜ%ª5œšL—¤Ô5‘}ÓdÊÔ”l.`*~VÂ#ÿ©·éŒD3)ÉÖÝ †¤ãdTšII¶®MУƒN5“’lÝ`H:NF¥™”dëÚ=ê0èT3)ÉÖ} Æ£ƒdHšII¶¶"hY»£qͤ$[w'’Ž“Qi&%ÙÚ– }í”.4“’l=âú£(qž˜ý’¼¸¸øùào{é·>ÿ?ýŸòÉïËxÆ3žñ‹¿øKú¡‚Ö_øÿ—‚$ó7KJ ¿þ뿞è>àwýàüÝø€«'8&`óÃχ½ø/ÿÅç~ÂïO Ú§ýGøÈÌßxé·ÿÓúúoýëßldfù2ºãr àÀFpîöòëmçã3ªç¨§ú_µZŽf¿‹¿±ëSh[ÓMF¬ÜZÈNš|( •»BhìvƒŒd\™á„4ÌPiœØy›[oÜW³ÏJ³N×h!}:õM“àPwRr%Ô8ô:¯é'=Þy=^.lÖ[=Ç‘s±¿çà{Žm²Gz¾çØÊÀöy1”Q*´ö|?‘àšlºÄ·Ä^SlMC¬ã%Ÿxß'àÃ)/ø¼ÏùìÏþñ®í[þ*š^òW¿ï™ýØùîÿö{¿ìO~É¿úW¿ñßô-ÂÄïßþ>ïýÿüÜÏýžû0á|þþy_ÿ—ÿ ^MúÌgþ{o~Ë[¾ó;ÿ›¿ùíö5/øü/záç¿à÷ÿþß÷~ï÷ïþʯüê+¿û{>þãŸ+êÆ* úOÿ©¯zÑ×}Ë7}ãÓžö4:û2*ãr PFÛAl"ñ*úµyFÅ´B~á&Rœ/]]ÊÆzaš&£ÄN÷p0‡Ò¶1#Vn5aô|ÉZ@ÏAΊmƒŒô¸2à ¡ÊHžóžD íÊ0én33Zf¥Y§k´)ú¦I¨;)¹ª€©q¬êk “AàºÆq1û#*:ÿ|ÎçüÝÿáûÁùÚ¯~Ñ3žñô?üG>ÿ>àwýίùê?+b(1üÈk~ôãž{ߟøÜÏÿäOzê+]ø²?ùÇþ“?Î×yàƒ$÷Ý÷ _ð…_ò1Ï~úÏ}æg~úÿßÞyÀIQd|f÷NÑó” €zÿS` /awA¢$åóä(IDrÞ$/ ¢¢‚`8A„E`I‹%(èQÀt$aÿ¿Ù‚²¬Ó·gö7Ÿý̾®zõêÕ·zzªßTU«µ¹÷Ã=ñ”–†›–-{ë{Ûœ9szά"K³†ÄÄ„DL'iÕêÛà e'u Íx}è*‘Þa4n kÏ‹ÕÚešÄÐS3ë’‘¨æ•vz35ƒ¦‡ «JíÕŒ¹VvL}11¼sŪ«]rIñ°·EC­F7D“µ3Á%âÉx%¬]1jfpeµR8Id¥Æ,¿§,ëW3 ÚZY£Ü¬¿7ÊÄXäÅDžλÙ7¿ýëfçÝì›=X7xîì)ÙäºÇy÷xbƒ+,Y^ONîßùÀò¹'‰ääZ¯/{2}2q¸woÇ ÌàÀ³Q°gÇúuk0MCïù`÷=¼/ztï }˜¹ry³¦MŒ¬Y#é±¹³v¾¿Ö²6¼‹Z°Õ¨PÓ¬!qÉòå}û<Œ§ÄH;Õ%KÅ¥ÐcV}†k\ ±Q¦Ñ a3ˆ¨æŒ«Æ£šoò0ôf SÆQ‘.ÆÁ «JíÕ´\Ø·²#[¢€oñ‚‹¢ïä|…€ŠWÊÆ“Êôt »3ùÙ ñS4´kE@Í ®¬V e¥Æ,¿eY¿šQS0q4[ñ¡p ¡È瀺Ðy7ûæ÷”s³ónöͬ0~¾â£]ÚU" fWV+Œ²Rc–_Ȳ¬_Í(+à#iü‹²¬ŽH€H ¶¿‡;ÛY¦ì­%K”˜5k:f…¸ÓCzß0LT—bWû0ôC\j•º“p(ÍtÝ­ÖPXUj¯¦å²•PPk·ÜÚöNÈ•÷Pj ´,âÆ"Hû•se–Zʨ¦æF_¶G‡øMXn'q&DßÛ¼­ÑØw¦[Õšö{Þzž‡µãú ÖÐi\Y­j—•³TßLeYÖ47]8?Â9F7;ïfßüv³ónöͬÖD#D3¥YÍ”ñvT*hü­*µWÓrÃÛGê-·¶[ýŽ "Æ¡Š’‰sA³ …;ò<—Yªq£šš´lZ—k5®3Û·oW‹„ˆZ5²ì;µ9²»ebÐ}!-Ä“ ](¬®6¦M®¬V –e¥Æ,ÓzÕDYVMt¿,?×Úõž»ÿsífçÝì›ßÓÒÍλÙ7{°nðÜ >ØS²ÉuóîñÄ—È:sêGD!¦M;`ð¿±qË|ö쯗þ¹°×s‰Çƒ9 ñ6ƒÃ/2*@`Èè@ú1:Ð4ò4>‡BêÚÌ ¢¨KãJá’ôA í<5£©i¹(¥)H;ÁshkS9‚1É2ÆÛ]µ6Ó;dU!¯dݨZµªãp9êè³Ò:×´7M£ïªKjÄ5Aõ$ kxpeµR¨]VjÌR}3•eYÓܘHTÃ1á°ê¤«œ¿ðm{ñ»ÉU¾©ÐœÈnvÞ;ٳuƒçnðÁž’M®{œw'6¸‚Êòbî†ï)±AÌO…pcÑg©4}#†Àk÷ØN<Çð4†›¢¥6ÍwÞÌࢦ aãXÚRqhjÆH¦à¤[ÒÁ¸ª[ŸŽ(Üú†R…`«Å8TÚ”ý…¿_ã1§ ºzWV+b²Rc–_ž²¬_M*`v›ü5ÒÊ=9ÎUç-ˆ9oÕºð¦Ëo[¬×Óv&2VäB°"8ëB°’žsßxºJhRpNEÜÐm§¥sŒyÎ0ôµ pÈ3››|«š0HéA§Ú.›æ;i¦o©6!Û¬LÑ45¬bZCSÓrQ…¦ UêäPµéZtÉ©ÈéX}½9O‡¦6# rÞÒrXu}ªvaZ@! ëvpeµR`"+5fù%&ËúÕt­ëðÍ4Ì!²\ë9s•óÚ·-bøž%ذŸ?®êô€ZçÏÝàC@ÐTe÷8ïOT>á’s7à€1lÃáõàÀ²–pÕJ;î!€m,Ú†#ržúµ;7à°á£ÝcÛhÊ, Uã`è)šcÓ|ûfjã- ÇytÃÔ«Ø„ÅÐÔ´\XÖ¤{ùf ª1¹zBÎ_EÍ µ<¹ Z¥ADL0L×àåô€Î%UYv1º@ʪB¾’µ€B@WìàÊj¥@[VjÌòÛ²¬_M÷+q‘tO£Üà¼ñÛV|ϺÁ· {ÊÍλÙ7{ànðÜ >ØS²ÉuóîñÄWpYç<9‰¾’9v/V²ðEn"ºJ%nkã~q3†¡dÉ¥¾&b«Qû}F% XãfІX¿­šio 2F7D)ÍÄ&LÙ¶øãã`55-–5Ùw…•ˆuX+—/F7Œdœ§¸§7û!Mí‚fz=±ª:¸²Z)—•³¬ª–鲬L‰{g¯U¿múž%X+°¡¤“j(ôP–Cè†Ød4ØVxs¼Þû¡/€ Ö9–sHÄ8¾á:(Î’7ÎÔ/haØ7ÃP4Äj®6Ó8ÒR‰4êR BÖP+U5íÕ´\´²£Úô+k“8 /§oø-œ½q3V0Fi]…:ˆÞ´úXaʦˆU-Vé6¦â/ —çÒˆ9,«•Bu² 1˯3²¬_M*Ä=ãwn(ß³q‹ $p9¯G<&6kTìfp¸¼t/ÊÂ㈳è†ÍM Ì t0 ý¸Œ¢!VÍÍÄHëȨ׎~Öô¬}Ô¥9`ÅÖ^MË…«VvL[¡&b~ \álu›·sqÞŠØ\¬Ç8ÜZ=1œËV(ç¨"\œ[ÐúËaY›RZ–OVêÄub£±ÞƒôŸHÀH@Æ8ŒyLÉbn3 tJ,ú¬žKA .ƒª5ºJ¶j~ƒÛ–bGD7à-ÞÅŸêyèÑ aMsÀŠ­½š– ËVvÔ&˜Êöñ û\SƒaO”±¹àf!…ÝŸ  ÚÃ´Ï ºÒˆ ú¬‹¨WùʸñR`Ó|­¿–µ)¥eÙT-³V*õ)Ä1F7â¸sÙ4È·0q¹Ó8Î1À‘oOƒ`Ži¡Ï¼‹‘`¼wA™ †˜A d]ÐPsŒÍGtÃTUÄ;®è†¨EsÀŠ­½š– ËVvL›¦&ZÝZ[¥«e£#ËGtª‹\-VH­Ò#çIè–ƒ>ßB¯šãEÀ†ŒÖ_ËÚ”Ò²lª–Y+•ú☣qܹl € À%*ù÷LúY*ˆPW³;ät|$Ö§oH>h:<…~Ü OÕækÑ œTêéG$:]ubÅÖ^M˵±#ûÝJˆÐ ¶˜s\xB+%¥ ÛbLYVé²` BX¦Du m Q_»zàT Ñ Mq±;²± «tSù6+¸þ²)¥e9kìA'¥¨—݈Ëne£H€4œÁ¡á¡#ꨣ¹b ¢”Cã±¥Äp3ˆA­k™ˆæ«Ñ „6ð‚ÃRÎGèaÆ+¶öjZ.¶²ãÚŽˆÇÂ݈•ÆÚûÉsÌžÛrµþ2^4L¶)¥e™×Vª•âa\`t#.»•"0 À‘½}ÀÀ!É©õÊ–¿ ï ÍÞþ¾Ñb^¥ÜT¦B^U»õ†ò 9¢âå·ùÕlì„â§Ù<Ì bÐÄÐ6h_µÚ|ÚPõ)jnXdÕ´bk¯¦åÚØ ‹Ï`ö„|9,âr5Ù.w5¢îÏR㺠'…ÎPXÐúËagÙ”Ò²œøé°R'¦¨ë݈õ¤ÿ$@ x½ Ž–¨œ;wn츉6d¥¥§Ï™;¯X±bGÍÌÌ<$펺©iÇ$&&:¬Rª!ÁÇÐJ1- ~Óþç•óz:`…>¬áê/¿[{5Ñj?ªr¸\¥0ˆÄ¥@D7ìc2B>9;E¦hׇeSJË’Ù+µ±À¬¸!ÀèFÜt%B$`IÀ‹‡¨ 3'Çël“Ñ©Óf;z|ÏÞ½]»v-UªÔ%—\‚wÈûöíûö›£Ó¦Ï´ªéĉãÆgÔ©Û°ôÍ·Tª’Ô½g¯M›·eF7¬ E9Ýý“#ÜïaÐ]Ä4ˆanÐîE® \{…É6­Ðø[±õ«¦)ØÔÈ, r~2º–VÄ«íJâ°³lJiYN¸9¬Ô‰)êÄ:F7b½é? €3Þ\5ßÓTü/QÙÿÑÇ›6o]²lYáÂ…5ëHAzÖ¦-8 e‰Ã‡ûö?ûÛoÏ?·à£}»×¾ywóæ³çÌ3ÕdbpsÁ;…¥Ë‚†1Ø ‹«a4"»5ϧÿhü­ØúUÓÂÈŠ¦H@#Ñ“M]$dµv-WÍ¢,hׇeSJËrÂÙa¥NLQ'Ö 0ºë=HÿI€ðæœÇ¯Çë=ïñàX¸`ñàÁC *ëHII)X° Þ!#éZ¸p‘iÝ›7m2¨?¦{` ËUW]Õ´é/>ÿ¬Ð”[füüóσ¯pk¥¤š)OÎZ¦CxáÅ—Rë6(SöÖæwµÚ¿ÿ#QðС¯ºöèyËmUÊ–¿½s—îß}÷½iÕL ˆ€¼á ¨T¤•ÝéUØ[Ä`4ˆ!oØÝŽƒ+¶~Õ4…¸áƸŠO3Wu‡æŒvõpØY6¥´,­:ÓC‡•š–ebœ`t#Î:”Í!°!à›¹áËö&xýïÁ‘µyÓ£³g s<ðÀÆ!ãò†  7hÐ`ø°aBA{¯Z­rZú¨öíÚ–+W¶@Z®8œ1söÿNþoÃ{kq8dxºª³uë¶W^zþŠ+®xêé…ii#—,y¹]º=øÈ¨ôÙ3§Ÿ={öÑYs'Lœ4mê$µeˆ9’:…~| d1‰C[¨ýi+¶~Õâ£GbîãC‡½zX8¼h}§–Ò²œø¬w¢O8&ÀèFw.›F$`$€*˜¾ô'KTŽ?^´hQaeÇŽÒœ”±çè±ãÇdº*Ì›3»dÉÃÒFVªR#¥N}ìÇñÓOÿS ¯xcUú°¡˜ß5wôè‘ŋDŽ‘.túpï>‘µ:sEÍI—\~ùåú÷]¿!K-B9hn›.á6‚ë°`Ó †¿‰‚šÚ¿ˆh¨/Y»ª##$hü­Ø:T‹“4KFVçªQ“)Q# ](¬êÕúN-¥eYYPÓÕâj:eç°ËŒúr^ÐmšŒn¸­Gè @¤ äÎàÀÛùÏyÿKTŠ)rìØ…øEÕªU¥sRÆUй‘¹B¸âŠËè÷æª×÷íÙ¹pÁS§OŸéݧŸ¦ã%J\+K•*©æ^ù—¿ˆÃ‚ äääÎ:ñxvìØõ¯ûî¯pke¬a¹õö*?üðƒZ„r(¢y?iï§{<±÷3¼¹A Oƒ‡×çP¬Ù÷²}n(õZ•Õø[±u¨fU ÓI Œ¬ÎÒ0VASÐ.Vŵ¾SKiYVÔtµ¸šNÙ9„64ecЦàÎCF7ÜÙ/ôŠH Òrc¾…*þ—¨Ô®YkíÚµíÛ·‡OO=õž’]­Zµùóç /׬Y“œ\ÓÞc¯×{ãßÿoDú°Š•«kš |ýõ‘ë®+…ô¯¾:¬å{õî—6|pjJ2¶8=uêTÅÊIF¦Mw•ò A ±`ôïlCt8ŒÅ1H th }m1ÀjqØÿì*«ó-¯Î¿[£ZÏš"ˆ]¯ÆÚu^-¥e9A¡w¢O#ËÏ’)Fe7§0ºáæÞ¡o$@Ñ!à?ÀÑ©sû!CÓZ·nýDK—.½nÝ:Õ³Ó§OO™2eêä j¢”Û´íЮm›êÕ«ýõ¯W=zlþSÏTªTQæ ¡Eó¦&Lš0a ÇMÌÐr‡¿œ9sé%—â…hž_kT`JˆĽež„9òê¶6Dbá-®Ý<;1nuî¤luÑP‡VÎcaô!tS+¶šZèõÒ „B€·¸¡Ð‹rY-„¡ö–åÄ1µ¸}êØÑ 7g©_ÁÂO'¿4XµH ñɈ\-Ý4ÑÊ>ÒÕ*p¨Y3-ˆ"NÔLËÊİ‘Ö( ¸ƒ€o}ŠÇ“àûó÷*{s™Zµ’ZµlyòäIM÷ĉHOI®U¦Li-Kö~¸ç+W5lÜOujFÕpÌ¡?aR¯‡DÜdâÄÉÕsÜ*Fœ€ˆ;Dt¹ CV½ˆÁk C^è»aÈ‹q•:Ø‚ÊHËŠO¤Ó5þVlÝ<Ò(hŸH tÚõ\½thYNêR‹;ѧŽê͹z.ea‡ª¦ËÕQ¿pEEaùεo£1ט¢µZÈ\µˆ*kyH$@x<‰âY±ŽÂbµªUðçÀzÀ*x”lý†M~þùçF ë÷ëc9$`»,& s0´á·´{l¿úP°ºwR6Œ:ù*ÆFn4E$—´†žÐ²œ4_-îDŸ:á"€›pã]z¸Œg'BÑàœ±)%¹¹$á¶(• :f‘ 8!€™¹/ü?@€Ã‰éàt:vh‡¿àʲTÔ„1ÌÁІó^cŒÃ9«Hhjü]?ŠDKi“H B´†žÐ²œ8 w¢OppɹÚ-º–‰ª}£,ãÆÈ2¥$Ki¹2]Td“«e©ŽI#šŽLWk‰ªÊ$@1M ÇëÛdÔëÉÁ&®pÄ4Íüæ¼›héŠZ0¿A ±½Ú=¶k.¹ç<'E 8& …0Ôð„–å‚Z܉>u"M o˜ó0º¡RõK@*¨È2]Z)BMËÅ¡Z\1ê Ý´¸¬BÖk´&u( Ä:8b½óÒÆ,¢F?žbQƒÆŠ0Álñ?–IƒAܖȲH€ò-vK[®Xz¡õê%Å!µ¸Ã"T ˆ€2@Y5E“÷ü­‡çsÕ¾ª ¦GAŽÂÜ ´BÈ}È@Æ ¤¾¤¡¥HM(HYèÈ#E±þ IDATCYVÕ,} R_«B-N™H Ž 8zŠJ·ŸM#X!Äw.¹ÎÀ+Òýˆ[‹HWAû$@qL@½†݈c8yÞ4D+𧺡¦ØËZAÕHtd×~Éh0 FÀ‚4bÓTÇÔ f‘ Ä 8â¦+Ùø'ÀGÞö±z’·ž°v Ø" ^=݈­¾³ñV›Áa£¹¬Øn˜F%"Š–I€âž@6àÀ£Þ.Q‰û¾fãŠ@ܬU‰Ñ^Á]J7'1ÚXºM$jt#ƒ!¢FqB@D7ò6ÆÑèF(YÖj…PjN€K‡¥45Íäj)Ò> ˜&€1݃t>?ˆéGtX‹8h›@$Ms²ÔÚ÷:¦Ú˾‰{,n¯ÏܨÀwv ÑpCÔÚ…Špç¯5-ÐÚýÆì«°ÊUÓUYsÏ&+,­Óªã! €ÛàÈÎÞþŸ—^Ùº-ûøñãEŠIJª~ß¿þY­j·5)Îü)Ùõ?‡çßgbsB$»1ŽÎâ$@$ÓÚÉÝàËÅp#íbïBrͦiÆ,cŠ“ºíKYåªéª¬Õh“Mû\ÍI€b‡€‰ÅÓb8Î;7vÜÄ ²ÒÒÓçÌW¬X±£Gfff’vGÝÔ´áCc§åôÔœ€1Z/¾Ôtc lY}O BY&JSÆâБ‰ªlîw~MeŒ#¿ö<ÛM$/0º‘/º™$ 7¼^OŽ£ÇÔi3Ž=¾gïÞÂ… J•*Õµk×6mÚ´nÕjÚô™ƒ 0uì¦2Dúe—]–’šxð¡°dér! é±LIª%%—¿¥RŸ¾N:%0IdÁ‚EµSî³ED:߃ oï1º’³*øÀ¡Œ>Èt؇,cµ1 B¡ƒ?(ȲҚt%d.¥)„BdºjAsY(#² )ËY„,‹Ë,TjLTs¥«nd3Ýæý!     (ðú^¾5*þY›7Õ¯_߯§ lܸÙFAd¡:©3}Æ,ìâñîÚÕ˜ÙqøÈ×3fÎFVjjʶìí¾ùæÛQŒ!Œm۲뤦 qÞãó÷|¸wÅòײ·n,P Àä)Ó¤µ]»w#óDd 7ó8àŒR8ˆ²2z¡æ˜úcš!Âe–1Žp‘¤     X# B xOðàÀ3SеÛÇ{Ž;îç™gßÿýø É)µ©×W¬LOŠiEŠ\=jD‘žš\á Ë_!Œ•«2!oÍÎNMI†ðò+¯Ž•vÍ5űǠýß\ý6Å »œÆ÷ÖxÊŶF鿜Ë`S–àñïr! &eÈ5#r=‹P:6Öl²dÄU§~ R«téqcÚî¤ùÆ‚y›ÂGÞògí$@$@$@$@$@yDÏO9—ãñ=FÅ€O„=vÌ.~¹E‹XF@°ruë5>}úôø1£Eƒ4¹îºRB¾þºë„ýš5“vìôíï°|ùŠÉ“Æ¿òÚÈ;wîF:„#G¾iÔ¸¹°V£Vêwß}/Šã)Ç™åÄÊPB ýNµ@¤#ì65èW?èæûµÆ8¢Ã™µ ¸‘€×Ácbk׬µvíÚöíÛ[5`Íš5ÉÉ5­rMWŽ hòÕW‡o¸áz”úòÐ!BÀv×]_jÕª7 ¸ôŽºufÏ~lÍšw®¿áº‚ "·xñb¯½òbñâÅ­*bz” ¨;j1KB_2'«E®7˜ éÁÍà@)9D4 Õ‰¹ˆD¬Xz¡¹2Ñ3'ËH ¸{~Ÿý’µÖÜŸ"{Äý®ÒC     °"°aÝï‹6¬t”t1uã¼ÿÇÄvêÜ~Èд֭[›î3ŠyS¦L™:y‚bڿؼùãÆgdLÕ±ã&¶hÞT”©“’:n¤Ý»àðî»[Œ=¶CûûEVÛß—–þÈÈÃK–,ñɧŸ>öØÎü}¡—ï˜Ä%*ø‹òlŽab ±Éh(v0ïC‹q„bÍoÙ jhíbŒCÂC     Ø"àÛ24˜×9ÿKTÊÞ\¦V­¤V-[žûJå–ßóas_çÿd_Fä&&&bmH“&_zùÕGFÂ3S°«hRêS§fT­Rىꄅ@¤ªà~^, ‘›Pˆ6Ä=¿/´‘ûò»¥(´Ä Ó‚bÃŽÅjGM”ñ›õ)ð {ª67ù²ªÓDU!¶d›æÇVCè- äò0ÿ4™-%   ü¾šÅëñʈtìÚÇo˜$ĺYÜŠ€Æ‡ºõ•+5PJ<,6¶vâ°j,Ó£F€ó8¢†š‘ @ˆÝ ‹“ Ä:3§~¼±tùi“Ç<ÂohBÜ2Ÿ=ûë%—òxþ„à¦r8šÁë˜âÉÿHOâˆ'Vl p¸ÌÓ€H€H€H€H€H ® `Žóçsש0À3-v※ŒqÄLŸÑQ      ` lÌÚ²wßGjé åË&×®¡¦9!ǃ8‡ÿ§¨K2%¯Èõ)b¹J^¹ÁzI€H€H€H€H€H€H ÒjÕ¬^¦ôïÏl-_¾|»ö‹»Ö´^lÆÁ‡)÷&2ÆáÞ¾¡g$@$@$@$@$@$@á#€§©¦$×(Uª$L^ýõmÛ¶=sæÔ±£GþXƒˆl ¸‘ÈÇÉÄ‘ãàTŽXè1úH$@$@$@$@$@$ ?ý)±A½:¥KßÔ©S§sç~ûöÈaK+^Îà°dãê 〗Œq¸º«è @.½ô’†õëx½9ß|ýeNÎyKÜdÔŽ«³DŒCD7Ä»õpµëtŽH€H€H€H€H€H€8wîÜ‘Ã_Z¨ûž¢âñx±ËhŽììíÿyé•­Û²?^¤H‘¤¤ê÷ýëŸÕªV±¨ƒÉÑ ` s VF:¢žu ¸‰€£‚%cÇMܰ!+-=}ÎÜyÅŠ;zôhffæà!iwÔMM>$11ÑMÊw¾¨a4ž‹VòÝÀ“ @Œødæ²Ö½-e?&p`›ÑÜ—£ÇÔi3Ž=¾gïÞÂ… ‹b¥J•êÚµk›6mZ·j5múÌÁƒ\°÷Ç7•© &|r`¯z¨ÊдÉU5ó•|æÔÎÛ«ž ÎKQ“H€H€H€H€H€H€ÜCÀë½±pâtsrå@œÃ€cÿGoÚ¼uÛ¶ìB… iÆïX²lYõêÕ>>pàæ2e´\qȰ…)'‰úȉ*uH€H€H€H€H€H€H ö ôé?µÃñÅDü8.X{r翚öv˜K$@$@$@$@$@ùœ€¼½ÊçÜÐ|¿w¸¦åž{ìØ±’%KZ5OT)ZÄ2¢-9Ù±cפÉS÷ìÝ÷Ë/¿Xd: D Á¯víšµÖ®µ›¢³fÍšääš~í…^½ûµoßv˦÷~¼g׎­KQMÀR”M›·‘ äãÆgœ?ÞIcý8:un?yò¤Ó§O›šCú”)S:uì`škLüåÌ™K/¹¯¯¾:œ–>J*¾ü²ÿ~ö™<¤`$€mYß^óî‡{ö)z1—)$@$@$@$@$@$@$>»øáÞ}þùg¿Móà({s™Zµ’ZµlyòäIÍ܉'ž’\«L™ÒZ–ÕaƤñã&dT¸µò¿ïïP¥Je©Ö­ËwÝÝZݰCfQô劕«?ûüKȹò*2!      |B`õ[kÛ¶ëôÃ?Ø·×€åöïWüšbåÊ•}òÉ':ô믿ârùråÞ¿_o«:´ 8 Ö°Aýuï¼…õ)Þ[Û¾][©ÐóÁî{>x_ZÌ·éï¬Ûpô¨åN®ù N$@$@$@$@$@$ìÞýÁ€ACí[ê“Q”OLL9bx“&_zùÕGFÂ3S°«hRêS§fTUfaØ×ÄÜPÔ«›²öÝ X׊–%      X$pûí·M›’aåyNn†£‡0Q­jüY™czD ੺Mïl°!kÛþýû#Z“ €«4nTÚÔɸ/¶ð*Çëõ Æ@€Ã“£DÀëõ¦&']qÅåQªÕ @^èØ¡Ýðaƒ¬vØ@dCüyàÈë¾ °þŠ·•ÿéÇï,Du      ˆIéiö[ox=Ìßðzs8ƒ#û÷ø±obÐkºL$@$@$@$@$@$@‘ ãà•H  £Í ëÞvh͹¦CƒT#      ;ñ:X Ä ÙÙÛÿóÒ+[·e?~¼H‘"IIÕïû×?«U­Š›ÊTøäÀÞàʲ xðô<&Ö·ÁCŽÕƒdÿ@éܹsŒ7t؈fÍïB˜ãÔ©ÓxoÖ¬Åà!icÆN@î´C8@Ô#„Ò,J$@$@$@$@$@$@$ ø¶uà˜:mƱ£Ç÷ìÝÛµk×R¥J]rÉ%x‡¼oß¾o¿9:múL+x'Nœ7>£N݆¥o¾¥R•¤î={mÚ¼ÅJéœÓa‡Y$@$@$@$@$@$@$@Vü8öôñ¦Í[—,[V¸paÍ RžµiËÇhYâðá¾ýÏþöÛóÏ-øhßîµogÞݼùì9óL5™H$@$ßæ=þ$ÂÜ‘kc·zü‰§"gŸ–I€H€H€H€\NÀ€cá‚Ń)T¨iK>pà … ™ænÞ´uÈ þ˜î‘˜˜xÕUW5mzç‹Ï?«iîÙ³·Vò Ÿ]Œt¹D /¾”Z·A™²·6¿«Õþý‰R¦émÚ´{cå*iöë¯Ô¬UGRp“l $Ï Øw‡}nž;C¨$U9†š¨«nnæ™3gžY°høÁ6ʹþ°!ƒž~fáÏ?ÿ켈ªéfzªŸ”ÝL ”³(3surj=Õ‚1%mÇpkÀ ßSÛæÌ}|bÆ”HTA›$@$@$5þY›7Õ¯_߯¡ lܸÙT¡jµÊié£vîÜe5â|çÝ÷:=Ð}Ì##:vh§YغuÛ+/=¿{ç¶Æ¦¥”¹Æôž={ÌšýØùóç…Îì¹ó:vl/õc]ÀX'Ö›»þÇ|1¶q5''gò”i«TÇ21,7á±GœèKýðÃb8.³¤3BéVÂÁƒŸÔ­×HË•Fn¹­Jûö?ùäSMÁµ‡ÒsÕC™hÃ$8þj-‘ýëÄO+Õ«ß®^­ò 7\/\]¿~c»vÊU¨X¥J‡|÷Ý÷"ݪ¸Ú@+ÿûÛß*U¾}ÍÚwTeÊ’€<e +˜ê¨ú6§ºªf/gÄ´¢"ãùlšŽ33©f þ6lÈ’.Yº¿µüöÛo2%Âè±ã¿ùæÛÌ•Ëår]cJ$êݵkwåJayçΕ*Þ®VaÃSU£L$@$@.!àõxý8ðÌ”¢E‹Úx\¬X±cÇ™*Ì›3»dÉÃÒFVªR#¥N}ìÇñÓOÿ“šÏ=ÿ"ÂO?õxƒõd¢FY¼xñ‚ vy Ó‡{÷Ù¤§¤Ô.\¨Ð+3¡óùç_¬_¿¡}»¶R?FLäž0qò·ß~ ÿñ9”©Ý-ÉSŒ‰'·ÃÛ~­å>ühû[™o¬Î\±y˶W^}ÍӉޱÔÌYsïoÛFKþøõJ”Ú˜µ)5%Y³€CQ|sÖº¤ÕûödT4Å¡?šÕô­jéV¹0­vÚTaTö›bì_'~Zé¬yw]£† e¥Ï<³°K×Îïgozë­U…/¿¼oß"˪¸,ÁF§yÓ¦k×¾«*S–LO˜² ©œ·‚i…KÆóÙ4[§gL7aܘÑcÆ …#G¾É˜4eúÔIúSž ‚Ãñãß¡TéÒ7ɲÆ™FaçN_€¡®;wUüc€Ã†g )  'OQÁa3_?Ž=Z´ˆyäŠ+.8 ß›«^ß·gçÂO>}¦wŸ~Òû§ž^pO«–·Ýz‹LQ…+ÿòqX°`|ïÊ,ÓtLâ˜=û1<ÏåÑYsºwë‚"R?F…Çž={öΦwÁÿÆM[üúë¯éÃ|3H­^?þôSù[*a3×£; ý‚C$"Ký) 0ŸYðìõcù~~âɧ^¤@mon,iÅ« ãÕa äz î´ªZKÇo\ã'fT­^S0]\äþòË/ÃÓFÝV±þÕ¡H‡åç_øO;Ý\î64vûû;^[²¬~Ã&bi’ÜÛjOκzä ·V:, 4üš5]â„3Sª%%KŸ¾N:%Ý0ê£Räâ]BÓêýÙEωU›´Xºl¹ZJÈ‹Ÿ{ANvPsapÁ‚EjY«*‚NÒú"‰„×^]*MɦÙèHeMøôÓÿ"˜Ø)´ÙRYY›k×®¥Y–‡—_~y×.1ËC¦-¨Ì…,Î4|FÐe[·f ËVŸŽ ëuXÐ9çŸtT½`á"ÑØµRñ¹;yò¤C fÚ¿Nü´Òùðƒ=•r%>,\øTÔ,r¼ú꫆˜ýþ‘nU\õÜF¿?ïÚýªl*¿òêü _¶üíX ùÒ˯uìÏ+°‚¶úa‡e{e´W<íûüów߃“ðĉ“ò{ʾ,sI€H€HÀµüÏà¨]³ÖÚµkm°fÍšääš6 Èòz½7þýÿF¤ÛrñF‰ÿyañªÌ7ç?õŒ}Y'¹õëßñç?ÿyê´™;vìjsß½NЏ_м¹Sl= ¹²Ëˆû´¼û.Œ~–/_!ô–-_ô¼K†„D:âJ˜R­j•Ý;³ïýç=S¦NG¼Yuë¤â}[öv¼¯^ý–|ÏÞþ¾Ì… ÆCÆwd‰×£³æâŽô×—¬w-fÛŠÄé3f!àòîÚÕï¬yóð‘¯gÌœ}QݳiÓ¦ÿ¼°h׎mwßÕ¼Sçnï¾·þ¹E à[³¦w"&"Õ²³ßÏ\ùúúukÿ~棊ۘ5.e‚©yÏßóáÞË_ËÞº±@X¸!íõñËrü~…1åØqË•/»eÓ{ØefÕ›«¥Y)8pð­7ß6e"DFÆOœtë-å·n^o¿ý‡Ïš‘³HQ-ø•Qõ­·\¸å¸¥Bù?9h,âDG+…¥Úýúö¾ôÒKµt¬8@|ªAæ?1ßþÒgÏžÅùV³F’fAâ1LOΦBùr2%ŒÂöíÛq&Ì™=w8C‡§ ËVŸä†Ò~™8çïü“Ÿ±6ñå½îп/nãq–Šf:i‹iÿ:ñÓJr«É€YY›*WñÍÇ˪¸Èï6:×^{Í·ßU•ò¢ÅÏ>¢Äµ×l\ÿÎÊK>þØd“l›3­ÀJ÷Ô»½²éyhå¡WNúÔˆ)60¥¾©,¯rêÅÓÊóGF(W®,ÎÌ÷wìD€ßM*”=*ÝÔHÐm„o¦ç³iúuוÂãÞ6oÙzÃõ¾åTÁŸ:}¦k—N²N„5kÖâzŽ«úm·VÀÜUÌWõ[ÊØdcŠFi=%Ï=¿¸jת‰*fÍœ†o#G o}OK²^i– DŸÀ¥Ë;ÿSÝóàèÔ¹ýäÉ“NŸ>­“2Ò§L™Ò©c™¢ mÚvXµêM̱Ä}&yâ^ZýïškŠcðò˯áFH-„Œûÿ‡êŽXI¯‡z Ò„·Á$Y̆}3óu8–ùæ 4 )öNvèà[˜³t©¯ˆOXæ:´¿?÷è÷·çžó´êÙó\:vhyÑb߯g©©¾•ÙÙÛ1wÝú¿þõ¯ï®{ïÌ™Ÿ1þ–¹ÄèÇøŽ,ñZ²tÙ¨‘éè\ÌßI>D$¾¾bezÚPüT[¤ÈÕ£F¤áð¢ºgü¸1¸'Î`Âq£GÊÃ>øPª‰â°aùëoø5kºÄéåW^9* ¾]vÙeƒösõÛÒ¾©¾ÌµD„Sl°“.^¦smú÷ëmºS/~±„ñaC8^ÔºŒœEŠªãWƇTV†Ÿ:ùûgÖDqSûXZòý÷ß·hÞTË…Á÷ßß²ï®9sfnÈÊʘ4USP±;ÏM7݈óDM²šciÛóÏ¿8kÖt£Bè)}û< ,õëÕ…©C‡¾­>È º/œ0 ˆ¿ÃO:|~°G7FªÕ?îÆáÚwÖá/¿m±ê_'~Zé Þúç?›ÌðÇÒcÇgŒ;ZøfU\ä:×Qõ5ùég|!Ýô´a¸áC‡û:M‡6gr­À ;Ú‡Ý^Ùô<´òÐÆ+¿}jl£H‰pTdå9NÎys½ì²B½zõíõpß+ ~lΣx½©·A·Ñê|6MÇ/1ƒûþpb|ñÅ—33uòÄ ³0…s ˆ©oZ¢¸¤_yå•CswÕ•“¡†áЦìüÐ £´ ž{qaGr²oÝæM[jÕò |‘ @L0njí){s™Zµ’Zµlùê’%Ú“bñûê?ï¹'%¹–ÕÔÍÞ÷\¼øù´˜}ªX±¢©)µçÌš¡ÚÇœùž¶m»Ž¿ýv± 5+P91!Û×µjÕ2ЂîÔâ±9í´× XIDATÒ±bE‹ö‡û^™¥ 7—)“T£ÚÖ-Ùûöíǽ¦QÔLªn욯A)LŠ–e> ¹FRB*ÙÛw¬ß°KH›ûè]z¼÷Þz¤ ¼R#©ºÔ·Ž=výu×i:ØÉ?‹‰D䪋ž0éba‘zˆVH;¥J•2ì  !Û™5[â„([£ÆÍ¥MUó\à†Z¯ªc%õ•`‰× 骪û(õPʇ ùÚk/”•F¤Bènãq#>¼X•sYa“'"9ÑQ=™0aò˜1#­Fêxj®3§MmxgSäR‹ ycÖæ”äÚÆt¤`hŽ^@ÜaȰtœÏ¥J^è}Såà±Å âœW‹[}:Tàd{&ñwøIÇÜ«éÓfîÙ·ÿÌ™3ÂçüÑ¡óVýëÄO+\í¿ùæ2µïä“~îü9”½üò˜…~Wí¨þ«²ÔÑq(²lüôÛ–wÔ]•û¬+a »°‚é¹E쬄 d…RŠg®z³^½ºl^tö}`ÇŸˆå“øÌbߣ²Í™`Öh' eYÜÊC¯Ô.SeiÓJ¸©YŽDØWæZyŽéE?ÜwûX™2wöÌ„oïÞýÄœ#£µ]ª,k±4e M«täâ ‹^32Æ‹yjÚÆVÉt\Òñ] /ér3f1¿ïwÖ¡ÎzLê;¬0šW[§Êª2žŸr{ÅÛÐFU*WV³(“ €û à+ìæ›oöù™ãõýOÀŸ£¢mØ–.l'v4Ä]=êcäB÷¢é´oß»©¡ÒÝ»˜騡¦c`éPµ¤ÚXÿ\­jå.; 'Së¤`ÃK”jÖÌ·€¥y³¦x`nVSSSœ·zqßÒ¬ÙÝç=9½{=$ è×Qºõåš½ÓfÖUEÕªTÁcV‘iÖ´Iß>½‚3‹'ìài,÷·ï„øË7þÝ直n]¸ëîÖØ”DˆMÝÃO| „UÖÕ“’±/]·n¼ûÎ{bXlª¯&¢;PÛìW¯‘‚²>Ømõ[kU¿²¼±‚ÑULÿÆF£&¾¨PÛ6ÿúgë{Œ6èKS7jЯÿ ?Á,›fÍ£ß:"{øU¯VU®ÁƒU”`‡ZªÍ½÷Nž:=:›Û|:T—¬dÓ¾pÂ$PþN>é3¦OÁs.ÿݶ‚D=ºwµò9 t'~Zé4nÜhüÄÉØÔ@Ìäaº~ÒÄñ#F~ð¡Þ°Œ°°-”•¦éVM•$îܵ«rÅŠÐÄŽH•*™L} O'žP‡H€H€% ¢+W®Ô zåíІuowìÚçÓƒû4 F‡ùÛpÆKž¨6j.ÉÂ#÷6j†E:N–j»Äçè»1bähĘ0^U·mßñáž=kÔpºÕKôf¡xü‰ù;wïV7 ݦj¡{Ï^•n¯ˆØ®šH™H€H€H€H æà*6>ËèÆ7ú~#ñ&$z= žœìæÀ › ˜EùœÀC½z?Ø£{Ù²7cÅÑc}{ÑõìÙ-Ÿ3±o>žJ >âçùE íõ™Â5‘Ä EäB'V52H€H€H€H ÊÔèdìÁ!QÑãõ0Àåî`uñI E‹i#Á/±üç–[ËÏ{lVÃõ㳩·JNrV‹ÆÐ”ÕmÊ$@$@$@$@$@yE@‹n\؃»px°‘wyÕ1¬7 ³qCüÔ¨ü£ìþîË?}Á–’ @Œ0F7.îÁ‘pÙ•Wc—º“?ÿÃ Ž…óÿ°Ó~Œ6›n“ Ä ÓèÆ…=8¯ûÛ ‰‰ û?øé÷v›Æ³!$@$@$@$@$@$@$@q@À*ºtìÁá9þØ·G°ÙhÎùó¿8øü”8èx6H€H€H€H€H€H€ↀMtCìÁÝ7¾ûÆàðäð)*qÓíl ÄûèÆÅ=8r<žó¾g©ä$ü>ƒ#Ž °)$@$@$@$@$@$@$@±MÀ·åâËJö=CáßÿÿÌÍɾ€ÊIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/rf_cascade_figure1.jpg0000644000175000017500000006744513634703632020652 00000000000000ÿØÿàJFIFHHÿáExifMM*ÿÛC  !"$"$ÿÛCÿÀH¶"ÿÄÿÄX  !1"A#2QVW¥ÒÓXa•¦3BGqwÃ$(78HRg‡´Åbv„‘±³%4CSu…56Trtƒ¡ÿÄÿÄÿÚ ?ý–ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆ«=G׺O§x8szÇ-ïe 춬rú<³r•Ísƒv®?5Ž;í·oêAfEŒühúõç’Ÿ>„ýyû¦ïä Ù‘c?>„ýyû¦ïä§Æ¡?^~é»ù(6dXÏÆ¡?^~é»ù)ñ£èOןºnþJ ™3ñ£èOןºnþJ|húõç’ƒfEŒühúõç’Ÿ>„ýyû¦ïä Ù‘c?>„ýyû¦ïä§Æ¡?^~é»ù(6dXÏÆ¡?^~é»ù)ñ£èOןºnþJ ™3ñ£èOןºnþJ|húõç’ƒfEŒühúõç’Ÿ>„ýyû¦ïä Ù‘c?>„ýyû¦ïä§Æ¡?^~é»ù(6dXÏÆ¡?^~é»ù)ñ£èOןºnþJ ™3ñ£èOןºnþJ³tã¬Ý5ê&rl&ŽÔžùß‚³­I Ø‡ŒMsZ]¼‘´|ç´m¾ýÿ­€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆ ÷SÿE_ÚNûå³,gÝOýi8ï_5.®}=K”Ác[—ÔTuÃ]ö<+@$Òñq`sýV€×8ìâÍ+³Lj,¥¼Ôø C¬¤U… êÖj¤Ñ–ú“ã%À»\Æ‘¸ÛqÝUrÒA£:ÙVç¦p9¼%z~øËêÁNzòÈî<˜Ù·vÍÝŽï¶ýÚ·^ã3º;T·Kc,êÚUp–&}ŒtÏm{OâæŠÐÏwÈvvæ"K6È.]]¥3y+Ì6§Âä¯U$X­RüRË‚Ƹ–ìADZ}§ªôµÍA6ž§©pÖ30‚eÇÅz'ÙŒ ·.Œ;Ûqæ=¡ag©\Ö½#Žž·ÆæÌ9)¡’¾›c§P3|‹œ ÞÇU¢7È@q-$Ùl^†!§4ΗÎà5}×ãŠ,ºe¹¼`t®çeÅÎäß ²8¸ÉG~D»Ö –}K§ Ô1éÙõ&,Ô¬û‘‹/ißg‰äGcßobêÈjí)ÏE€¿©ðµ2ób¡=ø™b@wض2îG}öŒi{ºO¦óÚ_\c忪lê¹î»ÿˆÞs®ò©f!É®sÁµ¬  ­ÔmE]ý,êu)sÕpg ñ§ ®gÉH[#€±+¥/yŽM˜ðö1ŒŽ2\8‡ý/œÔZ%Xó™Ü^-÷$VmËqÂgyòkˆä`î¡tî¼ÃÝéýMeµCOQÏkßvëdJèÀ2?ˆÜ–öòóÛº¦c2˜ PµK[Û¥Z,Ö/.Íí¸Ú®!p’´d]æR÷†îw6³:Òâö'Ó]AK¦tÝ,NJ­gq/¶Ñdhš C&µîwmœÝ·rÓ¸ÛÔ²xø2Û•îÓ°Á$+Ê$ŽVŸ'5Í$~¨1k]•׺§Li½'ƒ³œš´3YÈg¥ªf3@ÉkR]€å·w{7ö®¾ƒW˜TÔ¹!–'G%—6jÏWèt_¼1‡¾«Lò—DçyŸÌ€AÜÖt~±Ò:c®Y‡RêœYïc 2«º@(E¹h{†à~ÄVŒÕðç½ö©vŒ¸|®%Nw‡·o6H׎ωíõšîÞÐ@ ݶÑö0ùÅMS„·C¿¦Ø‚üRG\Ü=ÁÛ4þÂBÃ:ŠÍêzHÖ8Ö†+%cJ0êrIé´êM½¹D µòÂDo±‘‘»‰!ÁY0&Ïõ¶Z®´Óùöcð·+ZýÃ: ìcƒ8CfW[”µÍÝ‘ñä=}øƒÜ-Ý<ê–RtøkœÅí;ƒÃK lR»6ÉAÀ²ÃœÆ6½` `»mǬUº®¡À[ÆÕÉÕÎc'£rVCZÌvØè§‘çf±g8žÀ¹_Ÿô¶fNˆè³®^ÆiêÃN Êr5ë `h/dMšF“ÆI7!­xh<Šñb²šš·+&JÕì~7©8ëöîÍWÂ@#¬dœ±¬hlC¹ç¶Å»<¹Û—Þõþ°£¥tÆ¡Ê5Õ¯_ÂâeÊ?,µ’¾&µå¤ö%­qcšÄÁóÛe†êv›Éu].Ò‹'. ƒØë±—Hãfü‹˜Æ‡»°Ù¯iÛcºÉú¡œÄê ·Voa/×ÈS2cf»Ãâ“׺íØñÙãÖÁ#}ǘ*_"p¹ÜV¦¹=*yÞŸS­ƒ™±e¬6Ý8®ÖùÆ88µÄ;wîTi¬ý‹5ðZ‹•š«¸ØŽ•Øæt'}¶xa%§¥BõWå4æWMb0ØJyKùû²T„[È:¤Qp‚I‹œæÅ)=£#`ß23Bjg©xÌU ¾‘ÖÕa¥4>øãj^ÂFÚ9Ü×½¼d, ãòNäßš@ß.DZÌÝÛÎï·}ö!h‡[æ(äîáõ>©G%*|­QȾÝyá„´=®‘ÐÄXþOobÂ;‚v IÔ×~-…Õ:‹+‹ÓÕ²´à²ßO½Lk¤¯àþ!ÄrÛٿвHÙ†ý9È\éÖ ±¨064µøóÖŽj\¬1ÊÀÓY¢ydµþ¼§ƒ\;Èò\ºw‘ÅiE‚Ïë[•q¸»_‘¾ñhœÖ¸Ù„HïUw(AxhÛ~'`ÜîåñTqÌ]ÉÒ«d~+îM;Y Yþ±y<@ý»ªîk^cjͤ‰uLÕ-I”ô­Õ¸×DÁàM/ˆÒÐàÿä¸ìùÛïÛcÔ©sÝ)žÈÁ== WZäò-Ô¦ø¦ôYž õ!=¥Û‡³Ë`¹õøM›ÓÿÖna]\´¿:ÈÄÕ­Lì\üìUå®›7˜¥àŸ±Ü?ARÉc¯X·^•ú¶f¥/ƒj8fkÝœC¸<»]±c±Ø‚²?ôÞÿvßó%cè$õ«hçéi(GŽÍiùÝO/C¾RsëúHs‰sÄÁÂ^d’Kˆ$Usý7¿Ý·üÉ̈ˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆ ÷SÿE_ÚNûå³,gÝOýi8ïlÈ¡5öVÖ Dæs4DfÍ*Rωæo&´‘»Cž?è´‚|‚̲½PԸݔÎF1ù©úxŠÄ¸KxÖHúøû8ÓÈeo!k\K½`NÛè6„Ye®°SÅcìd3T `uj³Ö7ªU’ oø±ºKsÃL¸žN8Ó¸ôßÕzÆz·ólâ2Õ§ŽSŠe"û"Y#ÿcìEiñJöÉÝ Ù½œ~q )‚Èe2Zj óžÊ5ïŽÜl¨+øo>¡`š`nD¯Ì¾Âyf=U×9í5¨á¡‰}n&¤RÇ^L»†äÒJèÙ Û^D5¡ò‚7výÃHRcRê7[~ažõŒÈOŒmGÕ•·$r>1”¿‹šdŒú‚1êàóäBö‹?Ìj}M.–eìDØŠ—Ÿn]îµJK—qäæ¶hÈÈGoÚ¸¿¨ ¨±/PX¡sPdck›j¬ÔéÃòpfÕgºl»`üùx÷ÜБe9MQÔlv+m8œ¬c)3,ߥG(XD²:).ƒ¿ˆ×DŽ%£vÆâvZ«HsCܸ(>¢""Å´ÿU5Ñ]µpV»zÐÙiËÕ_PIe‘µñÿLæÃ)káo‘æ ¥i†×YÍWÌã4Ûkc¤ƒ.jT±–ÃÚaŽR©;̵Þè¤/2Xs[¹ŒqÙÞ¶Þ·õwC!G”¥¾ó¶F¿ÂÊQ†Hå–E-†ØsK¢qbvà· €j*΀Êg/Öµ —5¸]Û%ï†3‘5àºGž@—7~]öa¾ÊÌ€±ŸôÞÿvßó%³,gý7¿Ý·üÉ̈ˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆ ÷SÿE_ÚNûå³,3݉”¡ƒÁôç7”ŸÑècúŒµj^w‡mÏvÍš Ø~„^N\–>|}ؼZÖc•œ‹y4ùÆÄØ¡³Ú'Lg#¿S'f@4} úó÷MßÉOB~¼ýÓwòPkXleLF:*[0†=ö3Nù¤q=ËŸ$„½î>×8’~•ìXÏÆ¡?^~é»ù)ñ£èOןºnþJ ™3ñ£èOןºnþJ|húõç’ƒUÉ`ñy[uʾ+®U'>#š]. ˆâAsˆpØþÞÁx£Ñøj?ÅYÍÝË€uÉyo(€¿Â–ö2qæA#~åfÿ>„ýyû¦ïä§Æ¡?^~é»ù(4<.‡Ó8zwéÑ£8‚ü>3%»<Á°ìà"›Ï…äí™û¬M­ `Ác_>„ýyû¦ïä§Æ¡?^~é»ù(4¬Ž“Á_¡Rг õLMŠÜÑ ÝÌyc{üæ8–»ùÀ©ÅŒühúõç’Ÿ>„ýyû¦ïä Ù‘c?>„ýyû¦ïä§Æ¡?^~é»ù(6eí)€0Ó‡ÐHŽœ-†‰ä1¯dgzÛ:6‘Ë}¶?Iß4øÑô'ëÏÝ7%>4} úó÷MßÉA¢å4^È‹Æz–c–õÖßšz·§¯0°Ç{%‰í|%C Aî'o/ÇR¡‹‹R³"§ b&D;€Ý¶ØïçûIî}«#øÑô'ëÏÝ7%>4} úó÷MßÉA§iM5‰Òø÷ÐÃÇi°½áîu«³ZÐѼ“=ÏØ5­o°° ac?>„ýyû¦ïä§Æ¡?^~é»ù(6eŒÿ¦÷û¶ÿ™'Æ¡?^~é»ù*³Ó{¤ú‰î›7£²ÞùЃ§î«$¾,§Ttn%¸ú°Çƒ­O9(M¦fÈè"Œ˜x…Ü6ÛbI]–3šhò~4 –[8¸šåõ¤°â÷:WúOË5¤¸5­ŽÅÎ>² 3Uj»X,Ö7Ïe›xŠT¤¦"q‘åŽñ§à†DçFÛIì»ôÖ§;rÄ0áò•«Æ]à]™‘˜-»ƒ‹Ǹ´‡vã cr•Kƒ¨Ëp“çzÁÓÛW±—ŸiòR½x¦‚hƒCbBÝ„»“ÈïÇÈoÛæõ_NqºÆæ¡»ÕþŸX2Àè#m[UjË(sÚîv^&"w·ŽÌpl|Cäìyv …3ác¥Ÿiz3÷íoÆŸ ,ûKÑŸ¿k~44TÏ…Ž–}¥èÏßµ¿|,t³í/F~ý­øÐ\ÑS>:Yö—£?~Öüið±ÒÏ´½ûö·ãAsELøXégÚ^Œýû[ñ§ÂÇK>ÒôgïÚßÍ3ác¥Ÿiz3÷íoÆŸ ,ûKÑŸ¿k~44TÏ…Ž–}¥èÏßµ¿|,t³í/F~ý­øÐ\ÑS>:Yö—£?~Öüið±ÒÏ´½ûö·ãAsELøXégÚ^Œýû[ñ§ÂÇK>ÒôgïÚßÍc?é½þí¿æJçð±ÒÏ´½ûö·ãYΛÔ8 KîÐ}í9œÆfjGÓ³ ç¡m–#kÆDÂæ¶sNÞ{ô ÞQFjM=€Ô´YGQàñ™š‘Ê&dê2Ämx†¼³œ7óØŸ¥I¢ gÁ?K>Í4gî*ß> úYöi£?qVü æˆ)Ÿý,û4ÑŸ¸«~ø'égÙ¦ŒýÅ[ð+š ¦|ô³ìÓF~â­øàŸ¥Ÿfš3÷oÀ®h‚™ðOÒϳMûŠ·àO‚~–}šhÏÜU¿¹¢ gÁ?K>Í4gî*ß> úYöi£?qVü æˆ)Ÿý,û4ÑŸ¸«~ø'égÙ¦ŒýÅ[ð+š ¦|ô³ìÓF~â­øàŸ¥Ÿfš3÷oÀ®h‚™ðOÒϳMûŠ·àO‚~–}šhÏÜU¿¹¢ gÁ?K>Í4gî*ß> úYöi£?qVü æˆ)Ÿý,û4ÑŸ¸«~ø'égÙ¦ŒýÅ[ð+š ¦|ô³ìÓF~â­øàŸ¥Ÿfš3÷oÀ®h‚™ðOÒϳMûŠ·àRzoDh½5y÷´æÓøkrDa|ô1°×‘Ì$Âæ4ÝÚÓ·–à} Àˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆ‹¦ýºô(X½nO½x,¯âO4Nùì’äUz¥¥ÇÍq®Íñ±ÕŸ€¼ÛGÄåÁÍ®añ^ÓÁû9­-õßÕ;X`ÊT—3'Ò!©àϤV’À7<£{CÚvþih?±µk®tíÚ†Ó_”«Ïpôì=ºŽsXœæ¶hš\pîÏ5ÛÖ8l&n®ôY§[··ƒèØK–bvûö2Å£lIÃaÜì; °"§ÍÔ+ ;—%vq•©Ë/˜éûá’½ó66x;NçHö´ùo¾þ]×ºŽ¶Ó7+R¹Wuë†x.V–µ‡X“†V¶F»ˆåÝ£ÕÙÞD$D@DQ7u&–6 ¼„uêOm´ã–@ZÓ3¤ðšÎã¶ïõA=·A,ŠÆ©ÀÁ=(f¾%ëòc« þ½†räÏ.Àppävi;wpeWcÖš}úŽL‹eÆJèyÉ‹²ÊÎ7™cl:1 ŸÇsů'±íØ ±"‚Ò:¯ª ’Æ"<°…cÄ—qé6F¼Óž6 ÃÍ»í¸ßmÆý2ëlY[¸ÙU²QßÒ'8{~ŒÒ$ „ãëÁÄïÛÍ;¬p8\™Û²_~>+×–Z˜Ë6Œn‰Ïl…ÌŠ79¬iༀÞÿq¿–-§¥ÉTÇG¢u›LígèæCä›#ÜÆƒ´;–»ùBÝ€Üì; µ"©ãº‰¥/6Ë¡µŒW„ϽŒM¸'µÍqkšæ<1Íp µÀA{‘!Õ쾤£¨õ&3—Èׇ3‹e:Ž‚W@š(äžY##ù7ºgvõ¢gžáÞ‹Õy¬Ôoh¡–ËnÛ³ ¸…ò<ÁŠá36pðäkˆàá»¶2qc´Q6:]Mšž¦¨2µq™)ø:æÜ—b ‰æ77ü”A ÙíöûŠÑh³ÞA•¡Pã2âJsWš>Lý¬¹cÃòí±e­“„„†mÄí.Z" ".ËI4®ãm.qÛ}€”ÑW1º×’Ï -–žÉy[†·è­Þ!(Ï…àƒÁÍ;ï¹ ó;.ÝQ«púrÍZ¹òÒÏi’(ñø{wÅ…¡Å¼oâ{~vÛïÙò(º:‡xZô;œÕcß+Y…À2I"vÃŽî<ál7'm÷×U4ªËj0Ù-úLv˜É %Ÿ„¯,Ž3'–¶ K¸ƒÇ­¶ãp»¢«}¦Û‘«BGf!–Ëbpt¸K±ÅŠv³Hèƒ!q;2ÈÜw Ò€ˆˆˆ€ˆˆˆ€ˆˆˆ€ªZƒ]ÕÃê‹I0y‹QÓ£ü†B£R‚gÌÆ:@é[!ï^Bx1Û VÕõ¨9v亭£pQdqUqyœMùb<(ÝbAÁî°Ï½–Èõ£mˆóAn›\¾1š°4Ž ~;Ë÷Úú~‡Á¸s#i±âr$ ØÖî;;¯D:ɱÇngNg0–²…*Õm6 ž}P|W:¼²FÈûí»œãm»·|òt¦LƤµ/Rú@ès±[ŠYü ¾øñŸ}Øû^•´ŒíÄÆ7fêÜÝ[ÑJxª¬¼éî;±ÛejY*qE»_È€Æ<ÈùŸüÐjH©Ÿ ,ûKÑŸ¿k~4øXégÚ^Œýû[ñ ¹¢¦|,t³í/F~ý­ø×}¦ôÚýêôhõ IZ·fVÃæk¾I^ã³XÖ‡îç@w$ ¶""" "/>Jí\unܗ¯ä÷ñ'aýCºB(­Ãæòö±˜öe-WJÙ%›n äÇ'†ðÉä±HC·1Ç}‰€JöÙÎbëj x íd®Ã,õáàãÍ‘–‡ž@qÖA=ö‰Ø$QU¾ôg ã.·9 Ê>Ó)9±Hã+«2GÎ6 ÜpI¾ûwnÞd!¥µ>'RÃ<˜³}¦4IÜuŠR€á»]áÎÆ8´÷ÙÀlv ÁØ&Qmìþ ŽfžîkW)xR”Ö˜ÉìæXÂy;m>K¤ê­.-äéI‡q0™òP›Ñ󥋿o-ãnÝ÷vÃeXÖ8¼Ìú֜ؼ%¹#šZޱkÅ©%'²KøØŽ_•k›ÉÎÐyñä@x E¤u£Ò×4g¼nŘ(d«ŒÌ“Bè®›5æˆqkâN•²IÍŒÙÑö/ìPhú‡Té; ›Pj,F" öF_zìp49áÅ­Ýäw! {x»è(ýQ¦£‹+õ!±å¶÷µæì`]Ün<¿Ên#Žë;ÔZoWêÍG†Í×­•Ò2G–òJ$¥5š±ÇBü~(Ëšé,ÆÎ;qq;7ͽø<¡ÂÓŽ¬ÚQÙ·ÞÇ2‰&ž±ds²yß$ónæï ®”HK‡‘c{…îž«Ò×5 Úv¦¥ÃXÍA¹›èÝf=¶ß”A܆Û÷Õ2³ÍKScõÎZ+Ðj–bæ¹jhy»q›>Bö¹¼O¦r;ù;¶äöÛe¡ (ýMF\ž›Êck¹šÝ9`Ï$49ì-ìmÏФåžôg¦½DÎu?7¬tß¾wàêZ¬rúuˆxÄ×1Á»G#GÎ{ŽûoßúkUº\ÊòËP^ÈÍB{lIb\íÓy‚(äi…“óñ[sƒÚƒ¼’¶=ç2YlX†} RBn:¡¥ ö19 «îbÙ¥÷]˜îÄn÷HI;îK·TŸŠçB~£}íwó“â¹ÐŸ¨ß{]üä\¦±[,‰§’:¶FÙl½«%ÓImhÌe{#ÝÀì7$4’w°Õ«žÈK†¿™§¡n¤ò¾x*]}˜øº7±¼^è£$úÀZ6ïÜûsŸŠçB~£}íwó“â¹ÐŸ¨ß{]üä]Ó]Kow n¼ªXÉS´ëqë”îtp䡲áwFÖUqÙм»ˆɶÌ&ˆŸЇŒœUÍ ±\µn[g„¹¯>,’nã ۇΠ¶6w4T½Ä¿æÅ¤ï¿ñ³­™{ú+Ìb%Óš‚÷¢<ƒ¦ŽHrM%ˆ],Ž<ãt ¸7mžþû÷ì ÷õÛüˆkÏú·‘ÿ†‘Qº>uŽ“é‹ÉÑmY³ƒ¡4ô h½@:¼dšç°š0{øN!àvk°bÓÒ½gj£[Wµ¶±ž=ŒlÐÛ²û†Ãi¯„–àÕÝÑ8;s.Û ¹lÌäXÒð¶îÜýj7Lê >¥ÅŒ–üW+stn-Ü:7´ìæ=§g1àö-p0¤ÐšXµÔ̹<²ºüóIRl‡UÉÈÈ 1²fý!½Ã߹܂3ïtŽ–ÁkN»tsLêj>Ÿ‰¹ïç¤Wñ_>b{}fá³šÓØ/¡LüW:õïk¿œ‚Õ‚n¦cЏ5EÙe…¢GAO4‘±vÄ6S <¸·Ô¾Ã±ØýËÕ3™JÖo¶îgwÅŒ…¶×dnðÈåUçÃþ¯sá‡ûžåU~+ ú÷µßÎOŠçB~£}íwóZaÀêÉô¶«Ó7)a ­|d½î·FY!³,Ïg‹¢=„£~/“Èù®C¥3ÓõB-GNœVh˜ê1Îý*¿tf)$s‰­ nŠÀÙã´ŽìZvW>+ ú÷µßÎUžœh-'Ó¿vØM‰÷²„ý?u©"ô‰få+² ivò9Çæ±£möíýh/ÚAg4œNÈiùkd2îÄÍn[-jZõìs>p…ÿœÖ5£ä£Ø}mNý9Z¾NJ—C¤}†U¶ë,sÜ÷9ÏñEÎy%Îõ³œ@ì7S€¸Í$pÄùf‘‘ÆÆ—9î;æIöÉÄ4Hw$û'¨²9-Y~k›)c5Ö Æê(Ž¡©Wð†J28y_+ŸÇ(Ü"2dzüƒ˜Om}ª?΄ýFûÚïç'Ås¡?Q¾ö»ùÈ-8 ­Óùá5:XKÔ®K(¹$¹)`’ÝvÄáѰ@ñ#¸X©s&í¾Ç’ðkÍ Êâ0Ñc›VÄøýIk+$^ýZÆ"–;lk[f»# –؆¹¤ì{ÂüW:õïk¿œŸ΄ýFûÚïç šwNîÚ¹O1fi »UÔO œýÛ5&l=žÉ¹ññÏ~M•ì.äÖØtņ{Žñt0x>£a1pz= P2ujÅÍÎðâ°5ÝÄ“³@’OÒ·4D@DPšÓ?.›Ã;')šcò±cÝ\>6ìO3ãK#°OqÛmÈ ´UúªµŒý œnJ†Ræ>Kæ¼ñ5Â1ìacäΞòÍs»wòÞÀ€ˆˆˆ€ˆˆ òž³ÓØ Î¼÷MÞËàñ™xÝ?FjÚ¨Édªÿz¥<âs,vìiÝ»Ú>€¿V/ÌQôÏ@u Ý+Ö;ï ïœX–aŸ]Þ•<^}d;DöòßÃožþ]¼ÊýQ :-_/èÞ E_Ò~øSkròþ3™gƈäÚ$•­kpäî=· MiþtÏ+«1™(:y¢­`¨b)X’Í]AbXc"K.k[ Í%|Ť±v]Ø~Œû˜ò°ºZú;!D8]9z’8I¸cšÉœ×9„‚9[¸óR:ÜÿînÏÔ¥o¥Yr µv´ŒÊ_ÚH\vï/nþÃÜ{B Þ˜Ó:«m[Õ2Âa)Mz ÄSå1tJY×4xeÜ!Œx‰8‘ânà;©í+¦ú$ÜäG-€ÐÕ̾׽•N¤mºÓqíŒÁÈ{´°7†û´·nÄnÉtÜåŽÔ°w4.N;vA1H–uc³\ò †¸ÄÅŽbºÉ/uP\OÊ·¿ÄBmW§ f–.Rö3120ñkƒÎ®=Õëâ¹ÐŸ¨ß{]üåŸõƒ£=5éÞs¦½¦ýì¿?P15d—Ó¬MÊ'9î-ÚI>swÛ~ßÖƒõ2" ""ŠÕ¸éòúrî6³£l³ÇŦBCAÜûô} Ub>ëªÎ»é¥6Ú±QÓõ±]Á²Ä\&ØH 8o¸$áçÇh,~C/yùëRÝ»<’ÇU×òmo‰<’7ìÞ~gŽ^7ó'±PŽÓ™mU«!ê?/z›k[¬1ØëuY’Wˆ=“:hç®Ùâ”øöƒx×ÁØHÇ©óš/j½A,µ‹nâ=KZ.´{¸ÇòÛÿˆ7ˆìIð÷ WØdŽh™422HÞÐæ=‡pà|ˆ#Ì Ä›ÑÜürP,Éc 'Êø!.x™±¶ëÏĆwç<ÐÉßnÁçÏf­SHiœnš¤èhúd’ÊãMnü÷%yhØw¹üFçfï°ÜìåM¢" """ """óäá’Î:ÍxŸáÉ,/cþ© €PQ1³gõëäËE±§ô¨™ÑÐ8 9&ÇÆ|iðãs·àÖlç œ\9q]ùl¬ÓŒ~_KgòY¡ C¥Âeed¬²ÑÝÂ)¸‰#”.Ns <ÕsLèm'Ô®šhÈõI$¥…Æ:„ø6ϵxm¶6Á 7çI £‘ïØ¸·Ø‰ŸÐêN›5qÚ¯/‡v—ÀÕ®ÉÝ%¼ŒcùLÀ"ðã™q{€;í¾áÓyŠ:‡OÐÎc^çÓ½]“Â^Ò×qpßg4÷y{‚R ó¯LzÖ»v‡]¥ÅÕ»â܆¬º>«ÞÖÍ+åópsK¹òáäÎ\Gf…dø;ë·ëüKñ Ù‘c?}výbÿ‚©~$ø;ë·ëüKñ Ù–!îf»Z‘êklHëNËÁ žO"2`vò=ÊôüõÛõ‹þ ¥ø•wܹ…ËK‡ÖU¯ecÈ_Çu;#%Û®„Bm=‘F×È#níis.#°ßmû ·eéè ­³Õ½eˆŸ=y¥Å™ ¯MÜžásÀc¾Ü¶äîÅÎ=¶€Ãe³Ø_ Ö_ÔC¥Uí?Ñ-lnK$àzï¥ô Ë‹^w<›¹pŽö½'HéWßÄ`hæµ>M“9Ù¼j&Ä“Ø?<Í>ÁŽxÛo „–Ö†´=Lî7 Ÿn¤ÐREw—°jd´±"¶ß 2xÃ7–âDþÍûî=`µü%b3sT¥ d‡TÛ±+Cæ¨âúubä9É4í o³/qضäO7Và]©Ž§ôþE€šs ¼ŒB~“ ;–Û»(+y­e¨.VÇàtõí=WÆ÷r¹Q&Ä»£‚½åÒ8<žÖ‡oëÄó©§u vcCqŸ£±å%Ê‹Nµ+®9òJùŒ>gÑ$ŽÙâO˜x4q/ù±iûïülëf_“}Ëš3«n„é܆™ëGèÞ&_Jô|oè½[~Ö¥ùW¸9Üœîþ\¶ò Lø;ë·ëüKñ Ù‘c?}výbÿ‚©~$ø;ë·ëüKñ ¹õÛüˆkÏú·‘ÿ†‘:þD4ý[ÇÃF²n¬hN³Óéf­·”ëϾt Â]’Õ/ÑúLMåñxvìäÐ[Èwî³ÐŸò! ÿêÞ;þ4Ú§E²îEúƒNßvRø °³”Vòe˜w ™¿´ìöø¹»•ÕƒÖ’C”ƒOk:,Áfæw‡Uþ'*y¶û×”í»¶ÜøOÙãc°pÉPz‡žÄe­ G¯ËKôŒ{ÎÕªƒÝ¯³6ÄCì d>miÛpäX–?¦=l¥Q•©{ N³7ð«;KÁoÁný˜&žGK hìò\@î»þúíúÅÿRüH6dXÏÁß]¿X¿àª_‰>úíúÅÿRüH8u†Xà÷KtRi]Æ8Û¨ã¶ûE„«6²­ƒ»8ÔÚßUV¥¤"†'Q«%ÓN¼xÜÉaÄ·Ä'p%£Ïbâ6Èsú_^â}Ñ*­¬ºŒÝbûçYL» ƒ³·ð‰çË“<ü¸vó+Vµ˜Òz‡w8næõ$”!«£Z³íº´q°  moɵÎܺWí¿ªÒí€j V¡µ#æŽnä&½±›“q¶éÃ_rÒk±ï,mß71£`CO0wf÷úQеñP§›·’ÉÃY¡¸¿Y2²là-‡“¶åÀ Ïr&°Éâ2¹6e0Ö¤µ¾"7\Œf«º£oTfÆhd~ÄI»˜_ị¶í±ž‹]j[؈_‹é¾mù ùbÅfSnà–Èé„„øg±õX_±ù›öA&íc޳«ëÍŽÈÜc¤}:u¦ºk´Éy…ŽâÖ‚ÐéÌù÷ …Ù/»i²Fö½é¨s\Ó¸ ä»U¼â5åhݯo ›ÌKOÑrR\{êBÒ^ç‰"kýÚÒç7ÃpÍ Þ@AßÕSTËî¥Äéí®¥ncúk nÈ;ã41Þ,,1È@žåæ8íí(?M"Æ~úíúÅÿRüIðw×oÖ/ø*—âAtë ³cGŒ9] ÙëbŒyc™¯w4ŽáÂ)´îÆêÍ"!u 9ÊPVÞ»cp1Å3ÌPž;oĹ¥£¶Ãnû,‹;¡ú³Õº%¨ºÌ5 º–>¦kUá¼30žLq'›\è¿gÈwhÕk¦9wGRÝKÔ+dëØ¤ ä[=Xåkæ…ÇŽýø‡7èsG'p÷Þ©k¦W¦Ëâ+ËgFXË‘ÇBÒçâÞ㻬@ÑÜÄNåñ.îhùÍ6½A«°M,ÝKnûeÇJÖϬ δé6ðÙ Y¹‘Ï$†ï¾ë¿Wj,N–ÁM˜ÌÎb­ kXÂù&‘ÇfEw½Ä€ÖŽä•…ɤu^›ž¿PæÅV†œä»SN™ä0à[&ÜÞxr/Œ…Œw‚\Lm{Cù…ïCÞÇj=CCUjI‹sSÔµ>'$7Þšð¾8çæѵæˆ<¸9q`-s»5î{¬°–ô¦+ßc™š³/b¬¿p׎v5y¼c‹`ö°ïÌwõ|û.1i­K=úº×שּׂØmÇ=qSd6›PÅ0„ºBÖÒˆ÷cËßó{+n p’U™öê”qÓ/;‡¹qylzôvj I¤°ú†®ÞNŒ7#ÛØ$`xÿ­J¯Î]%Ð]jµÒý/o×?y©ØÄÖš¾?ôBœ¾‹£k›"à]Ä7 yy+?Áß]¿X¿àª_‰̱™]«OÝ?ÖvÙ—Ã6fÓðEê“ÉæŒ„Þ]î{/GÁß]¿X¿àª_‰Tz§u$]zê},þ¥Qeq÷ðmäŸM•=!¾‡?"v´†½­óïÇsÜ ¾fêè<-¯MêÞ±ÄIš½É̆öSÀ­ `™^<ûrqîOp{”ÍáõtV±×3Ïé={D²Û ¯Jûšð_)Çîáëwõ™æ"ó¶é˺CKdr˜ì% ƥ̺åÍd+R6$|Îól³ìÉ "iÝ  l }ýÄàu0ÔÚ H'¯“µè(â)Z}ÒÞm–¥ãÂÇy1Ü[#6/Ww¶n¦a²Ï ¦‡Udå”F} —Õª7ß<Í# ~;ówiïµ…ú³ÍJ4ó¬ØôâC9zƸyo!Ÿ‡„$ãßÃ/å¶ÇnêþoYjÅŒÓÚw!§˜÷Æmå²¢àG¾ïl15ï2K°ØÁË}Ý·Ý>QI˜v87ú<ü›2†Ñ³'¦5푳x".…¦F”ñªKxväBîXþ•´œÇ÷+f_–z?¥z•œÎu>ÞŽê¿èu-”¿G«Þñ%a2ø’8»K[ÇËÕßÚVðw×oÖ/ø*—âA³"Æ~úíúÅÿRüIðw×oÖ/ø*—âA³/ Çûí…·ñ¼HˆÇÏ.;ûvÜn²ƒ¾»~±ÁT¿|õÛõ‹þ ¥øjv±>>§Çæý#¡Ô³[Âá¿?л–ûöÛÁòÛ¿/fÝã5þµÅh¿Ñÿ}+Ý›ßìÝl%_Fc]Âyùpsù8lÁÄîFçË`U/  úÑW%Œ—^ŽF³¹Vý§3Ćîàâ@Ø»Üo¸©u“9w?¦ºSk'Z:ÙÝRÇѺȿ“3A-ˆžænIàâÎMÜî€=Ðl:Zâµ§é½uîÃïnÎפ±­ç<y¹œ\waä6'cç¸ Ì¿>ôW96œÒ]cËÖªËV¢ê>U• {ø6I¤|Æ×8Å¥ïnçc°Ü«6WBõ¶åç٩׈q‘HÖŸE‡HU–8ÝĹï.-.ÜŽDÛ·A®"Æ~úíúÅÿRüIðw×oÖ/ø*—âA³"Æ~úíúÅÿRüIðw×oÖ/ø*—âA³,;§ñxþè^¾CâG‰_ÞršÝèH7'دàï®ß¬_ðU/Ä«= Åçñ½Yëž3Rj6ê<»+bù7TŽ˜Ÿ•9‹w§ƒ8´µ»ïߎçÌ ±iœV–f#!’Àk¼&_WÐå¹~Σ}ïA0‡Æf‘ïá ß›ZKv.°¾iîžàò¯z©ðv4îW Õ`¦Ê–‡‹¬u©¢lñIºC‹‹ÊãØ¸ѤZÛ1M”Çjª½B4ÎøÞáÅS¸pî o‡6F^÷p2¿'»çwqæ0jaR[‘Sd:dPuã#ØÈdkH/%’G çn×°öìæžâ¡§ñ÷aÀã«Qaê;'iï›;‰»ã6´ÐüuëóHZçFK¼7{3—¬ƒF±¬ô}jÙV5^ 1s2ɉ¬©!;JK¶ÄöÙÛÖiî¡’9¡é<ÐÈÉ#“¨øw1ì;µÀø¤G˜^è1ššµÆdC22ûÑa±z;,Ôç”g‰gåcÞpÐÐ&kö”±Û—z»Žôÿtv/[¦=ÀÖ¾ÜN^-a…©¶ÄÛ¤âZ׆»´ŽØì{;nþh?E"Æ~úíúÅÿRüIðw×oÖ/ø*—âA³"Æ~úíúÅÿRüIðw×oÖ/ø*—âA³,gÝOýi8ï“àï®ß¬_ðU/ijþ°i^¥`ó0·¬z¯ú]Aý@ÄÇ/Ñêô|9KžD¾$n$ìÐæñòõ·ö©^ÆÈÇ1íc†Îi‚>‚¨oÒYm%;ïtúH}ò,éÛRYý»šÏïèÏ'¿Œg¿ªÒK•õq–FE¥•íc œçƒ@ó$ý+ú7Yb5?Z¸±G+PNÅ]g…n¡$Í›ÚH;=¥ÌvÛµÄ+ȵsfê…ˆ ¢ŠŒ”Çø6¶|gŒŸY•\×Ya¾äB{w~ÜW›àï®ß¬_ðU/ăfE ¢qÙÜN˜©ÔÚô“-?HÉz*xû½Å¿$ÂZÞ--oo>;ù•2€ˆˆˆ€ˆˆˆ‚ƒ¬tý ?c%­1º¾ $üJ{ž±Ó¿´l’xäs@v7“Ç;Õ†Ù×¹ÆýαôוÖúíš‚Ì&Gdpu›^´øò}-‘çØ÷kc<Úÿ3ªõÖŠÈÑ—Fk=:¦V&Ç=cRickí˜é$¤AëRG9ž³wiÜvãÒޙ辙âìãôv”[nA%©]#¥šw³y=Ä€'fš98»‰!p°Š­.¿Òì©vг~VÓ²ÊÒ2U©e{ÞHiŠ6Æ_+ k¶|aÍ<]ß±ÚÏ –&JÐð×´84´ì~{ƒût‘c>呸ê¨ÿi9î–̰ =¢ºû¢óš¿ô:ÇL¦Äçµ%ÜÜ~û>ó¬3ÇpÙ§ÃhhÙ­oný÷îFÈ7'‚ÃÖÄbj¶­*ÌáM$ì>’I$’w$’I$’IT;Ý:Ê××–:‰ˆÌS›SÊ[…Ú€U4w•Ç]ŽAñwq$»v–ñkiz—S{£ô÷€ÜœÝ"ñlr1CVžbÔÏ Û“„p±ÏâÞMÝÛl7‘º“©cÝAn¬6êËÑi ™’)rE¯i‚ÐAAr½{¨ß }Q&ŽfË4[ÓXšßÖŸ^7°kIpr•yX]I¨§ÀCg£Æü,/s][.ØÝ¶Üƒ%-à÷7“y5®%¼†àn¾áµºO/’ÈP zJùqò§‘ôs1ÃÌ Y+Ø#‚<ížÈ%½Ä¿æÅ¤ï¿ñ³­™gþç}•éßGpZ;7b•‹øÿHñd¦÷:'x–%”q.kOÍxßp;ïýk@@DDλ‘ yÿVò?ðÒ/'H²˜ì7¹ûDä²×`¥N 3Žt³LðÖ4z4~Óÿ—µOu+ kRôëRéÊ2C¼®"Õ(1"6¾X\Æ— ÝÃ};{ Ë1;ÊéÝ1¡ñš›Qú~f» ÆÕ³ šø¡GñôHåiŒÌï3Æ™¤’ó°h!ˆ.,µªµðéÚOL<éog‡“¼ß¢68ƒFFÞ³‡ˆA;62•ÃM`púoÜf„TªµÅ嬗½Çw=î=Þ÷åÎ$“Ü’³¼?P50ahC%$Öd©vÕø'ÂæLcÝþ÷Ö³WnÄ“,M$o³”•‹š–Ü:ª¥­TqRS̲rã¨Äé„.« Œ‚10{]#žþîs]¸.7³š"/.#Ó½ê§ïŸ…éÞ='Âùž/Ïìß}—©c=Zÿ9Þˆ÷ÿø&-f¦'W-w+V¶õálLI.{X6c{žÀn{ †äŸ2JÌúߢµös]è]cÓûe—ôǾ£Î>qž“q „-$ìÐÿk{ñóîF[!îšÅc¦Èä'è¼ o)FLíß`É$€Ü’@Ð^zÓØ5äøãɾ¼¹Ê²»ÂëO©3Ë·æÀ7`îNÜžÛphêܱš·FV8{íÖýûnñQцƒç³Lî·r¨o=î•Ô4_sî‘ðŽS±Ú§˜«4O/Šfµí;‘»Fà‚;WN¦ÔþèÍ8êËÙèü&ÓËcðêåæâφ×xq´¹¼¤~Ìo!¹„n˜Ä·€©‰mÛ—ÍvlûVäç4ï$—=çËrâNÀ7Ø +ÿMï÷mÿ2QWõºR–z–o‚gÞºÒø› Ìѵ íÊIÂȆý{›¿±JôãEuOá¾n£uÆŒÿò۰À}ŸÿRÙšç6fÿûÁ!ßêöó(6dDA\êV}K£.ãi:8ò,1ÛÇÉ&üc·š;b#¿~ãp¼Ô5îM¯È=ô hÙ¬öóž<¸:·î]/‰ê·rã·÷ س]aÓù«ëº½CÒµkÚÉÂâ똛R–V¶âÐÏHͱ[lc€”ƒÉ»°ì Ú’ÖÓ‡©šþäx‰*d¨{ÛJk-Ž -gÜ…t¯ß‰ñ¸¶GîZÖ¸ÆÒ[ÉÏökmE…½j{Õµt¬°ìsfÒÌ¡’s`ÈÎDŸ1±¸2Û‹šÖ˜Ï0ѱټ¹N¨šc!b,}ënÀæÝÎ/0[ 0ÐãÆP?ÖŒ½¿AVy®Ó†kpGót€7·Ÿtí¦\éÉr5£–Ή³!–íXÁ{ðÒ8î颹¬I%ÌÉ÷s}]ÀöõO.܆ž”Á\dµcMj²×B±h8Y½WÅï¿Î þ¢ão¾\n‰ªu~KÖfÔŸþ ؉ílcfÇÍ£“üöaN”ôö®Œ‚ÍÉß ŒµÒL®…¥°TŒ¸¿Ñ«4’c®sˆnýÉ$û ¥JðÔ« Zñˆá…Ž6&´ €ÿÀ.ÔDŒô—üçzßÿØ?àž¶e†etWZ0}bֺǧö:~úŸÐ9Gœ}Ã,~\D6´»‹ý®íÇ˸A³`ñ8ì&2,n*«+Uˆ¸µ$÷q.s‰;’I$’I$’J¢äúuôú^£c²´äÕ cª@-TÿwÜWõO6¿[ÆÉxž*‘©u7º?Ox ÉÍÒ/Ç#5iæ-Lðݹ8G þ-äÝݶÃq¹©:–=ÔêÃn¬½š ˜Ù"‘‡$Zö‘¸ ý÷ã:…©<:z’\&ŸÅ‰¬Ç†»5›š!ž3ã‹Ái#gl×8ŽÀ·}Õñ`±êtŒšŽM>Ùú#p; ö[·P­Yƒ'BC‚—'¹ÜeŸ#c‰Ø·Ã—o·b@?HXN¾ôÓÞ:œ—3º¡AÙsŽ/ìúP4–‡ ¼A³IhØÛd®˜?ΜõÀe)X½Z]™„V­/‡4Ò<ÂÈÙÿ˜ò÷45ßÍ;bÙ:mÖ˜Ì?…­5,Í’ÈÄf ~¢ØàùÚWÞ°dc±õ{öÇzZÌl;ëƒ2ÒÛ†©×ùŸ”¨7’o†bäáÄ·-·[MŸ¯_‰q×°a"µ³<{žòçû™AZÿ›Ù…Íß}ŽÛ µ""" ,;§ðÉcÝ ×Êð·”²×Â1ƒp7&„€ëqXfWEu£Ö-k¬zc§ï¡©ý”yÇÜ2ÇèÕÄCa @¸¿ÚîÜ|»„4¬ŠA­E™³;½ïð2ûQlô¢‹™’ÁÄ9ć–?q&ÞmÜú1˜-I¦„¯Ÿ{XºÓ®Ös¥š”r†Ëaò6YÉÇáÈ×4<0r[òg¾ÑŸãOþÆ~òOñ§ÿc?y ÷Z鯦†µÉÿH†M§ èǺkàO ¬#ïÎᬜÒwôqó¾Üo—Î>å܆&Î"[·¥°ÚV_å…§fŽF'½›ž%Þ«Îúw 9ÿö3÷’?ûûÉ̱Ÿu?ôUý¤áÿ¾Oñ§ÿc?y(mC¢ºû­3šCôÆÇL¡Äàu%,Üžô¾ól?ÀqÝ£ÄiiÝ®wnÝöîè7ôD@DDŒû©ÿ¢¯í'ýòÙ–q×­ ž×Xí'ÈÑÇÚÂêŠy‡Ïh9Á±Â$ƒ@<ß»ÚCOv;¸ ´jý[‰ÓM‚F{yg,m8ü[VÿAƒù£Úó³Z;¸€«ìÒyaf+ý@‘ããqtn¤ÅÕ¼ýWZl?oævˆcÈU<Õè‹ùìÅ ¾^ÆCB½ÜŒñÃJ{ù&“/)&u’Áèíà@ŠE±åÇÌlÄëI™Ôy¼8qÌ«æžBh2%’<5¤‰iÅ ·–ÑÎýöõK›»€_£c#±ÆÆ±5­}YþžÈj œ:; ÝC$³[ÆUžö=•¡½¯‹”¶%wmÝÛ ÷Ü8oÇ@@DDD@DDD@DDMUrþ#Zׂ¦[LUf}±@“Èx6›$dîkÅÁÂÁ-põK™Ä÷;ì#°º+LaómG†ÖLÇØÈÚ˜X±R–""®|ñT=üKâ9Î\I”Æ ¯–‡UØ5ô ÍVÊW¯¶d€GLÄ÷¦kÞ×–zÁíðÚó˖ὉϣéÞ®¨/ú-å©’ÉgïÚ«%–n&–kB³›ßn3C,MpßÕàÝÀ%ûÓtܚƥü饢õm × –òåfµBãbl±ø¼Œo”B,`ÆH!ï/m¯MëSMŠç_iûã r6ýô„ør“i”ó<÷´€w'qܪü:GRçruuµgL0df\U™íKy·³½ û+’àÒ}fÌ=nþÖ¯F¶Âj;˜™ïÔ«“ô÷æ])n9õ ÆUdrC€lŸo¸yy6Yvû ÑÚCšÒ#pGµ}^;^ÅM?Ž«m°²Ì5bŽfÄI`x` ß¾Ûƒ¶ëÜ€ˆˆ)]@¥z|œNÅXž̸éá±RÖVl|¦q“4sÀ×HÎ`v~mõ›°Þ—‚Ò:"-wA®ê^>]y>8 bf&\ƒžÚAž0|Õä¶çlj»ä~ãÏvzªÇÕ}%™Íæ+g00°å1x»m ÷ÍÁ’K!Œß»$`xÜ‚C]æÐ¹btf¡5óáú%møÛzGÃôhÝè°GãrƒÃ²ÇVÃ|»mØ íeœæ#YׇPÜÓsE$‡‚žækÁ¹rN,2@+5†WKŒn ÐÖ Ý¿V’¥‚ÒÝA½–M)…Éf$žÌ*^™–/‘Һı<—7ågH6å±hG‘¸îžOÚÂÜÕK`I/V`] 3$dnôë’MÇ%¯~Á„5 ¸m).äP‡Q×ÄfjÏ=h ±pä™è¾”ˆ_]²zÏ.•Îk¸¿`O¬Ã»H^Ñu×[™)iŠñ•2õ²9§A‘ÆZ¬ÉÙz«(Ûð†¼Ìø -òõƒA;Š«:îÿ½Ó`fmvdvBAìEÍÐ8S²îqŸæ¸†–?š÷j ÿIå²™C¦aÒÓfâÓΈÉtý|\U\Û‘‘™[a¡Â/ ­Ø@9lÛrÝú®Èޥ鼥=K¦h`¸,5îÃMj[sÞÆˆÙ“Ç×f±œƒe< o©»\½zCTêZ²J¬V(@"áÓ–ëÇuVØæì‡#o!YÏ×߹ܞI®tÄøl~#©x¢ù)¡lvb£J&ËkD‚®JËdi-—·dµÁÀìöîíEO7KQ¥¨léÜ‹Ÿ 3[SZWð‘¼f†BÈâ”´0³·b|ˆ¼ª&„šYs“WŸ‚‰tÖ1‘Ò¡áI\BóW×w2ã`Ý­fÍõ;º½ ""¯õ»,i²~b¹RjòÝxl.–#tQ¸Ÿ.r°mënáǾÊÀ©ýaÓ’êÍp1Õ6™c+Œ}˜„„׎ýy';’<¢cÏc¹Ûa¹Ø ϵFšÒÖ1Rü'ë,Óe$š¶²µr±A'†ÞQÇ&VñìCøGa¡ÀGsoÖUsøœ1s2¸œ®|¯Ÿ)&%=•kz¼aÐU,0üíüOXŽÜŽûˆ­1£u¨ÏÁc-š»Ž’¼×¼L…Yî¹ô&Ãâ6XÞâ69Á­ikš@pröɦu.›µ›ÔkÙ”IKÙ¬ƒŒáíxôËï® c¿¨È¾nÍâ; á­+âšÄkœÌº7B…Ÿµ“ã-XÛ;žÖÀ÷³Ãp± vÎŒ€ç åvÓ#{$²F潎µÍ;‚´,Û=±Hà* 7ªC±–#¸Øke`§`Lèæa/tSÃ'75²áÇÄØ±hxæYZ;’ l¶&‰žÁÏr#úÎè;ÑbÝdêªÀê'`'é& =…µ,pãíå5m büŽcK˜È'¹8³näí¸ó ¿Ð~•½ÝDÖÚ«[ôsOiz×Î<á1ÇÐîÇPÇŒœÄc0¹ÁŽ>«w.öìJ»õJ;Þüæ£Æòš{ØjÐI%k|ö  ˆˆ‚•Ô W§ÉÄìUŒ[ìËŽž-efÇÊ`ç3G< tŒàv`7æßY» ê4´®‹n²ÂEs¨ô®+bâ­kqrߕ¹h¯ž -q&@LŽnà´¸Þ«é,Îo1[9…‡)‹ÅÛm¾n ’Y `ÀþýÙ#ÆäÒï6…Ë£µ¿H\üþCËѲ)´Æk—z x¼rè¸Yc›³'æ6ß‘¬~Ÿ¯¥ú‰_+‘ÁÆü”†¥» ‹%’”ÀÈýÌ k9Fé@Œ»ˆ·bçi+¹ÓýEKÞh§±{PÉ §klWÈÙŽ:ï{às;-Û™óBNÝœÞ7á´Gç7`@DDD@DD¾¡åµVëzGJG©oÿÁe]‡Ap!ÝövóóX_PXôÿ£öàÈ{á=Þ¨P·z ÑŸK’k.œIg £àI- Ø·}}©.iŒ/¾´¶kQH\[èøÆ1Ïgby89Àñí·ªîÿ4¬+¨•„Z¤7]j¥©²Q¡“°ú§ä[-‰¬Jö3v´ìÒòÝÈ%¤¸JWK ¡c§½n,‡½°EÔÄâç‡âz<‘ºÇ góË^ÖÑÜ‘°ó[LóZÇ7‡uc¤£Ó¶Záµ·[1œ÷q`Åä\FûoÛ¾=ÒꌻÓη1ù:¸³P²ö™rÙÚ_  •Ž—b>O“!ínál]3Õ·õ~Ó¯é,ÖžxkØÖ¶~@úÑwçÇ·ÿ‘»¸õ|ö Z" """ """ """ """ Ç:¥’um#ó8Ì=ìEzô™Ž³jŒsMŽÈK,®kœÃ³ekxo¿ªö°žvôcu°£SQjj|´UîX¯R•誚7ÒÝ0 ç»ê1»|£à’Öl޲Κ‹!8¬U˜¼/{§¯ÍÒz[‡.ýÃ] ~‚]ô«úWëit^O%R6¨ŠÓ,;Jd(6S ‘òÄÊy’GrðþX83åœâ†ààðÐo¾ýFÓ9ù4ŽÜu*°¼m`ñŸ\a:f?w ‹£dœÅÍØ ¦t‹w9¢:ώƲ.»¨ÙYkÅ3¸Ç3ã|67ŽÍqgv;kÉõÂLu×Ó›£ZžXÃ|GTÓÂhƒ‹A-l‚MŸ±%»Á ìHد6ŸLhˆõ´x=OOZd²ºªÎZLf&jþ“ZK/cr7ZXw{ÜÁØölµ,&F ¾¦R³%dV¡l­d­Ùío³‡}ˆò(1ûþ芴(ؽ{£Ý`«R´NšyæÓA‘ÄÆÜ÷8˳Z$“ص'›«©t®'QÑŽhêehÃvL‘¬•í³†û7ö•C÷Qäõ7¢z‚==¥-jIr5&ÇYŠ´¼d« ðɰçHâÍØÑ¾Ä’@i!î[Êgò}ÓÌÔVÖœ“R}h¬ËÊKPà l ZèÃܳ7Ø †žˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ‚+!§0Ù ²]·OÅžVÆ×¿ÄxÜGâp·oOëåßÈmó3§1|eluØgð*¹®€ÁnX$Œµ¥½¤Í~Ť´öp$Á!K"‰)Ö}P1YÑLm% 3m¶yvúdGÁC#¡Œhö6sDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@X¿QÆ%«òX«6à0Á”ÄK~•œ+lÌ,Ù’*°Y©3¤kb#“÷½ÍhÜ\9m !׸Í+”×PÔ·™ÈÒËE¨1·›;0ÖYž«z£«ÑH{¸Æ³ ¨£n>´Zk5-KA°Çé¹lM‰–"ä|ît‡Õs‡†éOªÐvìƒXDDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@EIëŽS/€éf¡Ôx<œ´/b±ó[„¶(žÉÆîðö»·ofÇö¯(©ªr=>«{®oÖÎ[Æ6Å­GÄéŒAÛx –î{€AÛÚƒ@E^©wRÜÎaìU­Œ:rÎ5Ó\–G¼ZmƒÀÆß›Ãbý÷ïåå·­a@Eñ¤9¡Í ‚7{WÔD@DT|Þ¸¿CªšcFÁš_é“JÃɵ£k±ÄÌŒîíŽÀŽ>EáRõzÜýGÆèj™‰6±säŸn1§‡$lDÙæ=Îq Øw$wà%ÕPkœ®+'j;Øxq•eÇØt!’É+¤˜J%-¤ìØþkZ6>H-¨¡ôdº’m7V]]SS4î~“>WI}sÇ‹œ>¯ÿnêaPú‹—ÍáõÆ„”|TrùwcîÓ0ÆæHÁZyCƒ‹yµÜ£hìí¶ö+â"ÈõåýU[¯:7Mcõ¦^Ž#;RüökEZ“„n®Æpsë¹Àó¾äù ¶ö†¸‹0¹«óG¬z_AånËœ¡ª*Ùu;rÃ,Öž»y¼IᵬtnilÀZGrAí§ "".«†À©1¨Èß`Fãdq /ÛÕ#rûn¼:QùÙ4Ö=úžæ]¦ôt\ç@Ùvõ¸wã¿Ó¿õŸ4hˆ€ˆˆ³žæòýAÁØÔÕu ø–Œ…ºã¡‚ ‚gÄß› Üçp!®fÁà.GÑ€Éu怯kаïÔc7b QÚç¤w区>;’|´´Ÿ=Á;ù¿"/Íq v;‘AõPúÙ—Íà4æ;/„ÊINFæhUš! r2x§·OäÒFÍ{¶-#¹ö«â,öƱ¿¨º›’ÐZVÄ5F´Sg2n`‘Ð>`LPDÃê—–‚âçn\IÛ‡P®kM%ÄÚÄe=ù­g7§}×àŒMZŽ'¾? iìî$9½¹rõv!¢¢¢tç1š¹®5î)’}úø\Xi9ðÆÇ5’ÔŠr€vt„oôÿmíCé 54˜©ªëã ¿éS7÷º?Ä>%ÝùðãËÙ¾ûmäadugÕ–}Ð$uæn<<2PÂÊ´9G,“ÈÂÐã\’Ð6s¹;“ÙIQÔùÜZéôû'|æèeqä*[–&2ÍgÄðײO ­c˜àáÅÁ­ ‚-÷A¥"¡ô·/›»¨õÎ#1”“%3Z’É q¼DêK±ðÚÐ}ißo-•ñQ3ùŒÖ?­ZS IîÄæ1Ù§¨ècÙ¯¯èá…¯ãË¿ŒâA>ÁýH/hŠ‘×[¹œOJu{œ·ˆÈb±Ó݆H"‚@÷GpkÄѼ’;í±ý¡ÝGcu^OBa2ç_å_’·Ž‚ËÍŠ4¤|AÇ“ Çsä×´þÕצ5¾wVè,ûôþ:„Ï j|]ŠW‹ÅVÝ‹nü†ÎtN¯iaÀn冋®©œÕˆÚlmœ°x­Œ’Ðí»€Or7]ˆ¾9Á­.q2Jú€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆ(èÿò ®ú%Ÿý2ºº{¦òñVÑÙyu>S#R¾Fú¶™]¬kŸ|^ß &8‘ÄŽäö'þÛvªÓ˜QŠ“œ‚k4fidÐ6̱2VŸ6¼1Ã?AÜ.܆ “icE¦×cZÆ2krÎÖƒ[â9Ü@Á² v­x=ÒºV̲9­é쟤=£c/ jrúv o庫ÝÓZ‹/O!Uô­I6°3Ç•|< ÷±–†ñ™Û€®„Ãæ\ ؃Ìê·ô†Þ¦‹S¾+^ü×ae{8lMCKàrœ6fö6;9'‰ïu™\çIˆÀÇìIï»@ß}ü·óS3î¤èýÔLõ};©+Lܦ:°ÈcîU´è,Â׹ѼÆöv­äãÖomÀUÞœàsÚ#©“è Z›3«´¾G%èšXž”Œ™±º7IÄrdÿ-Û5¦e´Î+|d/Pkï6!v˜÷G4M£‘¤9‡wËH'Ú¾ãôî*…{QVŽÈ}¶xsØ}ɤ²öì@;œdrÇs¾¬Ý'„ÆçíêÊ”r3æ$Œ‰ rS9Ó´s-‹Œ’ˆËA{¸µÛ5¥ÛŽ>j“Ò=àé̦;Wi»UŸc/róâ’ë]^Û'³$¬Ž)\×¹­,nÞ@Ø!†[/Àt3ŸÃÊ]ÊE=¡Ä·w»h—mìßÏoÚ¾hÚ™ÍwO]O•ÆãndFzþ6¼Ö2W±‹Ž-™aã á(s]»‹ù{FÚ¦¢ÑØ A~•ì¤båQÐä,@ vÎo667´ñ{›È ö;o·e蹦°Ö²ß}i#±8wAbHDà €1ÀI°íëÛ·’‹93¤0þýܧw)è0‹–j8º¦à9½„»K·#°ìVaÕ*ÓZ÷Kôº(/Ù¢ÿ{ó'ű—'o”k†ßö-’(ãŠ&ElhkZѰh@`U¼¾„Ó9mE_PÞ­vL¥PñZËrVXêáàˆøÈ€†í¿µ†™¸¯u,Øãìç/ÜÓ~‰ÊÛ k©Ä&,–£ƶ>ä—†‡Àq 7nXyò:·«zî¦C‡ÍQÅz Ú—íGÁâØÑ ÃŒslj¿”|G‘ßJÏi\s!O#’lj/QkÙZÔr¾)âkÆÏh‘„;‹‡˜ßcí]—´Þå˜l¾«à±Bæ«<•ä(ùFæ’ÁçÄ·ö ÈtÕ;¨:}KVÞÉj 6c5™|døœÌ´å‚«>Jr'‰Ò¸Hex{œÿåÍ&Ð,³†Ëà³ìÊ¿LÛ{=w1=‰ØÞ¶YD„¹Ž.þH½íwß¾Í]I¯„Ô])»oƒzæ[ÑoZoimÆêæÊï7‚æ5ÛÀ-y¬ff~·Sòø™¥Ì3°V¹`2³0ÖëW>#jÌéàþ/'ˆhvãsë¥]éþ™º1¾•NS‹;ÑqÌ[å½aɧÅß–Ïsyyñ­wÁlY½7ˆ×x<€îlÍsž@ ä\v}F–…Ót¯äïÔ‡# ¬®Þ32¶ƒç >'Î hh#¸a°ì¾QÐNŽš‡MÖŹ¸ºò²j°:ÔÏôW³æº9åÑìà[¶çé()Ú:ܘεê-7-:xœ<¸*7ŽŠ@è›<¶,D\h sÃX [¸$¹$ªÜøÊ5ýÏý_«f©\ÏÍU§¿€öF÷0³ý^'n;yl6òZÛ4^œfQ™QFS}‘˜Í—[™ÒÈÒAÜ_»ø K·,þnËÇN4ŒX\ž”nŒ~VGÉ~”´[aÒoâï'~|?õ÷õ·ADÌã¡ÁAÒ Ô7#g3Z¥Ëí-¨Ÿ°ç²Gy¹¥Ìaâ{-Ø †ÛBªÛéö–·WVÅlŒ‘b^$ ZÖõÞÍ>&áÀ9ÍÌ46•¥ 5¡£}€Û¹Üÿâƒm;=Õ™¶×Ê\Ç–èêdº»b%ßáSö>#?ðÙplƒGû¤ñXé›.zưÆN=ð°ÆºÞNwÙ¸MɤlÒ¸ŽR½å¼ŽÀrÛ}†Þ]—f²Òøm_„› žŽÜØùÚY40^ž°•¤lZó Ú\Ò;’Aúyº`@éž—$ì=æ©ßÿébÆt®*,æ„ëv¦±TûÓ›¿~\[ÎÛJÊõÌbÌdy=®-wŸª ×*tçJÖÅÁŠl9iqÐDØYNÆnìÐxa¼Cå-svíÅÀ…1šÓ¸|Æ“O^§ÿ²¥‹À}X%| t[q1Ÿ ·Ô#±o‘ˆA›e&¯àô¶”×lÛ}šN ÓÌ©±d€¬Íä•ÒvîËÏw$ƒÉæébz½€ÇÞ«„Ÿ+›ƒŒJdŠ‹ßdû0ð߈'ñ !»o¨§Ž?HÔ°Y‹q4eôÙ¼zûˆdÜü@õvå¶Ý¶Û²ðå´]ZØìͽ' |~¡¹IñAnÁ|±øüÖK+H{ým‹È.#±$vAŸá´¬yúú”tÔ• †¹v¦9Çü*'ÕsLr=ÛúD†W5áà»mœî@ξŠÓù޶묪…˜©ôæ4ÉZ˜Úd|–›vÄ€7³¼û’»áé³1õàýÂê?˜‡ˆ‚äú–Y©C±ï¤9¯fÛìÏåêyžŽÀÔÔÖ5$ÝnVÈ šs‘°ï ¹ÍaiÆ—;fíżŽÀn‚‘˜†Žs©Y¬EvIŸf/^µŠVšÖÖÆÌâù ܤñÞÇ4ú$´’ j¤j•UîCÓ¹\¥ßS¿.-å¾üö·]Ø-!Âf¯fq°[ŽöAÁ×$}ùå¸Ðç5ï-$5¡ í¸a°ì‚yÿÙlepton-eda-1.9.10/docs/wiki/media/geda/net.jpg0000644000175000017500000020472713634703632015740 00000000000000ÿØÿàJFIFHHÿáExifMM*ÿÛC  !"$"$ÿÛCÿÀ‘]"ÿÄÿÄf  !1"ART”ÑÒ7QVu²Ó23Wa’“•¢³á #5qstv%6BG¥´µÃÔ$48Ubr…‘–ÁCDdwƒ±&'c†¡‚ÂðÿÄÿÄC a1Q!2A‘#%bcq¢Ñá3S±ð"5R“¡ÁÓ‚²4Bs³ÒñâÿÚ ?óßD]GÅÑÚÕµk²ÑÑé½­s™…;»\Ö¸ø ŽnæZ\ßåtSÑE àê¾Gÿ\ϲW:çÑ6Óͮԭø¸W³ àþqÉáçÿ¡‹Ù^ꫦ‹^[W‰TÄM¬ñwzþŠ?ë-Xx¹ß`ÿt²=äú?òµÏMgÙ¯Vt“Â|1[£­~Ä9£Å4z|¯dŒ£siÁX\vÁáÅÞTâ_©Ž4âa[öš_y>ü­sÓcû$ï'Ñÿ•®zk>ÉnÛÝåÞï(­vicŸ‰Í¤÷“èÿÊ×=5Ÿdäú?òµÏMì–í½ÞQMîòŠlÒgâsi=äú?òµÏM쓼ŸGþV¹é¬û%»ow”S{¼¢›4™ØœÚOy>ü­sÓcû$ï'Ñÿ•®zld·mîòŠow”Sf“;›Iï'Ñÿ•®zldäú?òµÏMgÙ-Û{¼¢›ÝåÙ¤ÎÄæÒ{Éôåkž›Ù'y>ü­sÓYöKvÞï(¦÷yE6i3±9´žò}ùZç¦ÇöIÞO£ÿ+\ôØþÉnÛÝåÞï(¦Í&v'6“ÞO£ÿ+\ôØþÉ;Éôåkž›Ù-Û{¼¢›ÝåÙ¤ÎÄæÒ{Éôåkž›Ù'y>ü­sÓcû%»ow”S{¼¢›4™ØœÚOy>ü­sÓcû$ï'Ñÿ•®zld·mîòŠow”Sf“;›Iï'Ñÿ•®zldäú?òµÏMì–í½ÞQMîòŠlÒgbsi=äú?òµÏM쓼§GþV¹é±ý’Ý·»Ê)½ÞQMšLìNm'¼ŸGþV¹é±ý’w”èÿÊ×=6?²[¶÷yE7»Ê)³I‰Í¤÷“èÿÊ×=6?²Nò}ùZç¦ÇöKvÞï(¦÷yE6i3±9´žò}ùZç¦ÇöIÞO£ÿ+\ôØþÉnÛÝåÞï(¦Í&v'6“ÞO£ÿ+\ôØþÉ;Éôåkž›Ù-Û{¼¢›ÝåÙ¤ÎÄæÒ{Éôåkž›Ù'y>ü­sÓcû%»ow”S{¼¢›4™ØœÚOy>ü­sÓcû$ï'Ñÿ•®zld·mîòŠow”Sf“;›Iï'Ñÿ•®zldäú?òµÏMgÙ-Û{¼¢›ÝåÙ¤ÎÄæÒ{Éôåkž›Ù'y>ü­sÓcû%»ow”S{¼¢›4™ØœÚOy>ü­sÓcû$ï'Ñÿ•®zld·mîòŠow”Sf“;›Iï'Ñÿ•®zk>É;Éôåkž›Ù-Û{¼¢›ÝåÙ¤ÎÄæÒ{ÉôåkžšÏ²Nò}ùZç¦ÇöK«ÐЪ:¿»SÕä§7Ýu]>(ê™wm{Xç¼î@s€ñöŽÁ’.iü6Ëtµ«q[¿hiZœº{à£DO`õnsL¦=íÃ9v‚ãϱg5aÃHœiàääú>òµÏMgÙ§y>¼­sÓYök£Ñ«I¼$þ(Öµ vŸÝM§TÍ<³–—–nhh$’qÉfôzšF­Àúo÷źuqa¡©tòùçk¡Ã#Ú9´Cù»ÚyÎÎ5]î;ÞO£ï+\ôÖ}’w“èÿÊ×=5Ÿd».Áv/7Ú·}åÒc5h>p%å’BÄ1¸çù”M+@¡6^Ö§®š/±®‘2£¦&pÈG rpÉìM¬"øîKÞO£ÿ+\ôÖ}šw“èÿÊ×=5Ÿdºi4tÍ*ÍÊúà»%MeÚ=– ÎcY8k'º—oÊ9¬&÷yEuLQT^Õ‰‹LÚe¤÷“èûÊ×=5Ÿfäú>òµÏMgÙ­Û{¼¢›Ýåv(sŸ‰Í¤÷“èûÊ×=5Ÿfäú>òµÏMgÙ­Û{¼¢›Ý娠ÏÄæÒ{Éô}åkžšÏ³Nò}yZ禳ìÖí½ÞQMîòŠlQÈÏÄæÒ{Éô}åkžšÏ³Nò}yZ禳ìÖí½ÞQMîòŠlQÈÏÄæÒ{Éô}åkžšÏ³Nò]yZ禳ìÖí½ÞQMîòŠlQÈÏÄæÒ{Ét}åkžšÏ³Nò]yZ禳ìÖí½ÞQMîòŠeÑÈÏÄæÒ{Éô}åkžšÏ³Nò}yZ禳ìÖí½ÞQMîòŠlQÈÏÄæÒ{Éô}åkžšÏ³Nò}yZ禳ìÖí½ÞQMîòŠlQÈÏÄæÒ{Éô}åkžšÏ³Nò}yZ禳ìÖí½ÞQMîòŠlQÈÏÄæÒ{Éô}åkžšÏ³Nò}yZ禳ìÖí½ÞQMîòŠlQÈÏÄæÒ{Éô}åkžšÏ³Nò}yZ禳ìÖí½ÞQMîòŠlQÈÏÄæÒ{Éô}åkžšÏ³Nò}yZ禳ìÖí½ÞQMîòŠlQÈÏÄæÒ{Éô}åkžšÏ³Nò}yZ禳ìÖí½ÞQMîòŠlQÈÏÄæÒ{Éô}åkžšÏ³Nò}yZ禳ìÖí½ÞQMîòŠlQÈÏÄæÒ{Éô}åkžšÏ³Nò}yZ禳ìÖí½ÞQMîòŠlQÈÏÄæÒ{Éô}åkžšÏ³Nò}yZ禳ìÖí½ÞQMîòŠlQÈÏÄæÒ{Éô}åkžšÏ³Nò}yZ禳ìÖí½ÞQMîòŠlRgâsi=äú?òµÏM쓼ŸGÞV¹é¬û5»ow”S{¼¢›™øœÚOy>¼­sÓYöiÞO£ï+\ôÖ}šÝ·»Ê)½ÞQMŠLüNm'¼ŸGÞV¹é¬û4ï'Ñ÷•®zk>ÍnÛÝåÞï(¦Å&~'6“ÞO£ï+\ôÖ}’w“èûÊ×=5Ÿd·mîòŠow”Sb“?›Iï'Ñ÷•®zk>Í;Éô}åkžšÏ³[¶÷yE7»Ê)±IŸ‰Í¢GЯLÁ-]?‰,Bîl•º•f‡”qøñƒÚ2+ëúàèØd—JâfFÑ—;ß*®À§ ŸæŸÒ¸R½ëÚ] Ú};Våm(žYN{ƒv7ž‹˜ÿÍLÕéêšt@j:}Ú]k]Õ÷D.v;q»·ù©±K¼ÜNnRî…¸Ê"­¿nBÁ&ص1°ö;s˜ƒâçÏ™ãïyÿ©ø›ô­5»pü»HvOòeú]OQ±ÂnÖ5} · º êÇq±Ú÷ÆWaÐÇ#ƒ¶\Ë;3ãñ®f#F%sÞó¡èg£øã‘Ö¯Àøœ$n½œ ¾çîc îñc9 ŽÐ@«¼‡ÿÔüMúVšÜîÈ_¨XæyØÓ¿m"êhoi™~TÌ6£Û©6PýÅ­î|8ãqÏ"9pψ9TSL^Ršñ*›D¼é?B<c1:¿P’`c†yoW•­ƒ·-`ÉçØ 8É …qï O¼KgI–GMLË:ÖxŽ>_—Œø×´:DVâgU¯¦O¥Å¥Y­«3ËÜÀ$g2I9Ý÷\‰ù0W˜=ÑÄž/¨OšÿR¥Q0ש¯fe¼t.ΊÍá…ú Éü\+±³¥n7of±§ú }jϸ‡8wVèIöõmJÔ,7Y±eµN9\#„†åÀœd“ŽÎgå]§à¯{åÜÿ8[G½57vgåÝúŸÿnkÍV=16šofùLÌÓU®âºÏI|c«èöô›º½VÜN†`ÊMk‹\0psÉk‚ëÆö¯CŽà·¹îw èYëÙB >èøƒW߀ÜóOCôýJSÒ©§….jè•WÚ©ç~îo–Ôîæùm^ˆø Á_4´?@ÔŸ¸+枇è1ú—[ï¢çqÕç~îo–Ôîæùm^ˆø Á_4ô/AÔŸ¸+æ–‡èú“}ôSqÕç~îo–Ôîæùm^ˆø Á_4´?@ÔŸ¸+枇èú“}ôMÇWû¹¾[S»›åµz#à7|ÓÐý?R|௚Z ÇêM÷EÜuyß»›åµ;¹¾[W¢>pWÍ-Ðcõ'Àn ù¥¡ú ~¤ß}qÕç~îo–Ôîæùm^ˆø Á_4´?AÔŸ¸+æ–‡è1ú“}ôMÇWû¹¾[S»›åµz#à7|ÓÐý?R|௚z GêMö9&ã«ÎýÜß-©ÝÍòÚ½ð‚¾iè~©>pWÍ=Ðcõ&ûÇWû¹¾[S»›åµz#à7|ÒÐý?R|௚z ÇêM÷Ñ]ÇWû¹¾[S»›åµz#à7|Óн?R|௚Z GêM÷ÑMÇWû¹¾[S»›åµz#à7|ÒÐý?R|௚z GêM÷Ñ7^wîæùmNîo–Õè€ÜóOCôýIð‚¾ih~ƒ©7ÝqÕç~îo–Ôîæùm^ˆø Á_4´?AÔŸ¸+æ–‡è1ú“}ôMÇWû¹¾[S»›åµz#à7|ÒÐý?R|௚Z ÇêM÷Ñ7^wîæùmNîo–Õè€ÜóOCôýIð‚¾iè~©7Øä›Ž¯;÷s|¶§w7ËjôGÀn ù§¡ú~¤ø Á_4ô?AÔ›ìr7^wîæùmNîo–Õè€ÜóKCôýIð‚¾iè~ƒ©7ßEw^wîæùmNîo–Õè€ÜóOBôýIð‚¾ih~©7ßE7^wîæùmNîo–Õè€ÜóKCôýIð‚¾iè~©7ßDÜuyß»›åµ;¹¾[W¢>pWÍ=Ðcõ'Àn ù¥¡ú ~¤ßt]ÇWû¹¾[S»›åµz#à7|ÒÐý?R|௚Z ÇêM÷Ñ7^wîæùmNîo–Õè€ÜóKCôýIð‚¾ih~ƒ©7ßDÜurnãí;IÓôÈõjRé–]=1H^è²A-l•»ˆæv<øÆk7êt-Ë«C¦h>ùË©O¨¶kL–GÀù» ,‘€€|Nè€ÜóOCôýIð‚¾iè~©g¼Sy–›µVˆ¿Ó¸§Y­¤Ù£rM3X®²³Qϯ$“#v9ŽiæG"1…ò.)ÕÛ[K®á¤¶:ç¿!±Äð ¡»ZÁáò`.g³Â]÷à7|ÓÐý?R|௚z Çê]oTÿ nµ€ü'ÔåÓïÕÔ*è:¤wuIõ3ÊÒ:(¦•ÅÎ1푯oÝ‚â>^jήߥCJ¥ zTPPÖβOË´44x\˜‹·ñ¯B|௚Z GêO€ÜóOCôýJo4 »UüO<^Öõ;Úmª6dÓÃ.kÒkV q¸µûüeÇ ÝÈäò×Îîo–Õè€ÜóOBôýIð‚¾ih~©uOKˆáKšºÕƧû¹¾[S»›åµz#à7|ÒÐý?R|௚z GêW}ô\î:¼ïÝÍòÚÜß-«Ñ¸+枇è1ú“à7|ÒÐý?Roº.ã«ÎýÜß-©ÝÍòÚ½ð‚¾ih~ƒ©>pWÍ-Ðcõ&û蛎¯;÷s|¶§w7ËjôGÀn ù¥¡ú ~¤ø Á_4´?AÔ›ï¢n:¼ïÝÍòÚÜß-«Ñ¸+枇èú“à7|ÓÐý?Ro±É7^wîæùmNîo–Õè€ÜóOCôýIð‚¾iè~ƒ©7Øän:¼ïÝÍòÚÜß-«Ñ¸+æ–‡èú“à7|ÓÐý?Ro¾Šî:¼ïÝÍòÚÜß-«Ñ¸+æž…è1ú“à7|ÒÐý?Ro¾Šn:¼ïÝÍòÚÜß-«Ñ¸+æ–‡èú“à7|ÓÐý?Ro¾‰¸êó¿w7Ëjws|¶¯D|௚z ÇêO€ÜóKCôýI¾è»Ž¯;÷s|¶§w7ËjôGÀn ù¥¡ú ~¤ø Á_4´?AÔ›ï¢n:¼ïÝÍòÚÜß-«Ñ¸+æ–‡è1ú“à7|ÒÐý?Ro¾‰¸êó¿w7Ëjws|¶¯D|௚z GêO€ÜóOCôýI¾Ç$Üuyß»›åµ;¹¾[W¢>pWÍ=Ð#õ'Àn ù§¡ú ~¤ßc‘¸êó¿w7Ëjws|¶¯D|௚Z GêO€ÜóOCôýI¾ú+¸êó¿w7Ëjws|¶¯D|௚z ÇêO€ÜóKCôýI¾ú)¸êó¿w7Ëjws|¶¯D|௚Z GêO€ÜóOCôýI¾ú&ã«ÎýÜß-©ÝÍòÚ½ð‚¾iè~ƒ©>pWÍ-Ðcõ&û¢î:¼ïÝÍòÚÜß-«Ñ¸+æ–‡è1ú“à7|ÒÐý?Ro¾‰¸êó¿w7Ëjws|¶¯D|௚Z ÇêO€ÜóKCôýI¾ú&ã«ÎýÜß-©ÝÍòÚ½ð‚¾iè~©>pWÍ=Ð#õ&û“qÕç~îo–Ôîæùm^ˆø Á_4ô?@ÔŸ¸+枇è1ú“}ŽFã«ÏšF·«i#¥Ï=w²A×VºÈ‹ÚÐ<¹®ç´;2<|Š»©ñ»ªu~ùYµo«ÏVmj Gœgüw9 à˰®ýð‚¾ih~©>pWÍ=Ðcõ)¾G'[œð»Î0Nk·lgaç#XqpðŽ9îìÎG.Þdfgã>,ž ŸUÕeŠF–=ÕX湤`‚ œÁ%Ý~pWÍ= Ðcõ'Àn ù¥¡ú~¤Þ㑹Ï7œDäÈé^cdŽ’†‚Tòá—7#žãÙœ vœ+ßO¸{‡lÝÉÖu½GvÅÕïÆ7mߨåžÜ/B|௚Z GêO€ÜóOCôýI¾G$ܵyæþ«Q¸ÛZ”²>^¶9_4öY+ß°´âÅ'Ìá>èg‰8¦“ÁÎjø¿ïï³ÀüÒÂ8KBû¶Žt#>1ÿexóÝÕ¦iºOIš]]+O©B¹ÓCÌU¡lLÜ^ìœ4žCš´ôˆÄ˜¦ÎèèÙsµwt÷|CËôåŸÙÀ»]ýôêzÿÿ]ÿg?s×»ö—÷|CËôíŸÙÀ»]ýôêzÿÿ]ÿg?s×»ö—“µ/]˜îoþ‘ÿX®SÂÝÓ©ô™ÄýÙO‹nÇK]luíW׬mh#|Ë7 Ä’O~yÔš|)?¥Ö*—¥iúeBÅ*ýTºžê´íîwY.Ƴv 8ðXÑËùÖwug‘¨ÅÅv+¾ÜÔtŽ"k"ëd~òÍVØ œ\à97³š.•ÑßkZÕ­R¦¯NPÚ‚ÁwÞ‹Z|s‰·0GcÂ.ag2 =¼‡b™pÄ$íÒc{Làs${äk£µ(–ÃK\H!ïó»%/‡´;Ad¬ÓÍòÉAmB{!¡¹ÀoZ÷lÏ&à䙄·[5¹rî’f¹?J:˜Ú¼M¨Ó“G¹;éhº±¢ã#f®#_pÎÜO…Ùã3+Ä<'¢ëÚ•mJû/²åh_ SÓÔ¬T{cyisI†F cN{‘$°Zž¯­¿XµÂœ>jU‹JÑaµfMS­³,½gXÆD$p¸ºW9‘Èó+œè2ª™ŒšÅ ËÒ×̃ڢ¼÷Á|U®è|-.¾-ë"Ì<5Nå×/Ir=FÀ q³dvÈÆv¹Ì?Æ·Àn;¿K|I«?‡ºGѨÏ^¨Ó8r PÎÖ8É™» H ðaHÆÒìÝ‹cÒ:9àí.¬õkiRË ôšæÚ»=µHç :×»c9¸‡Èu:>áÔ5j1éo1kYSP2\šI,DÝá¡Ïs˲޳œ`gbÞÍ Yáó¤q¿Q±[†$Òô­ þ§%(4"Øøç¯¹ñE×ÉKֵ临‡œømúÝ)qCøGV×]¤1͇dÖ+JýåjðJÐÒ+¾Ip'Èx!ñ–ä1ܱ‚º”º^Ÿ&µ³%}× ­%Xå.w(¤söíÎLl9#<¿Î>áxôÛºciÛ}ÚÏ«-?|,í‰ÿtØâë6D?îãÅ…"Krgt3«w]¬ËIöžK¶Ô‰Ìdm=ŒËœKˆò¼ù#±NÜ­‚ÀL¢¹·q>£ÁúçiòXšäº…hïðôsH_™ä-®êíÏcDÆ`rcò,n§Å:Ÿê7´~ºÖ©b½œ6,6œé§’Ë3âk‰qþ/vÐçœ4Ÿ¹ÛѵžÑuOKÔµ:Ù·¤ÌéèÈçay$p|\ŽF@= +zŸ èœú„÷´æO&£ Ùsžï °¹Ï‹ü5ÏqnpsÈbÝu~‘µz5)êCDUÓ©Y£nܺuŠfV¶±žãŠc½Œ;]Ýáv)ñÞ¿ÄtÝ#SÓéTÕ£6ß­C~Ú팳©krì‡IÙaì»~{20´´õ’<¿´rÎ;F0NgÐÐtzþ§¯T¤Èµ-Q±6ìáÎ&QKYÈœ Ž@g–s€¥à´³—9éšÍÆê<N³5»[ÕeŽzšN ê“Yh©;ÃzÁ,|ƒš×sx±t¨:†•§ê´ëÖëõ¶4Ù=GïpêÞèÝ8Á{†G<ö¤J¹v¥Å[À\Ôuj7u:”·íR±V{¶Zó_†•5Š5˜ô©¢H·#ÈpfûËGSX_’Çv´œŒ€·!ámˆ%–]^‡t¾ZiÏ=sÙšò–™à¸v–7ŸhÇ"9¯“p¶‰&¸u¦Ãj ®{$•Õ¯O 's 2ÆÇ†H@x`òv+xKK]Ð8³_¹Âº§j·ô 2¤WmS¨]VWàÇmð1ïþ3..Ú#hËœF7m;¤,¿bž“V=$ß“ˆæÑä³b…Šì1¶u z‡¿¬c†@Ú]ác´no2ð¦'I :÷¾K´cHÙ1œ½¯Þ×u„¸Ff0};‚xf†©§ZŒÂÜv{¬Hû“I™ú—Bd!Ï ¼ÆâÒO7r'$‚ÌM]w‰µ­sˆtúói´í ì§lÉVGÍnG@Ù^æbP!n$¹giýq/iÜ ÃúMJz5™ÁMÔ´¸C%/&¸®Þ®GnÆFÊÚ´òð±•Ó.pžƒk^v¹%Yã¿#ZÙŸ¹¡lá¼›Ö± “ÞÝ/†´]-úlš}.¥ú^žtÚDÊ÷uUÏVv`»Âç|ÎOƒÛÌårÌwñ€âýJÝ­'©~ƒZÛ'Áë$±+:×39À ñdc;œFFÕ¶îZïpÝ~ázÚ,2W1Ï–y™ˆK,/{ƒA;A.88ä³ÙQa¥tëÉ_H§¡U¹ªÓ³¬XêŸgK­4ökVg…4¬l-sÁÆØÃ€ð]+JÕ´®-â½_Mà*ú~¯ Aú•/X´Ù\e–“<9ñ¹ñ½¡Â1&Óƒüc ÆÒ×u#¦Q:Ûu£7ÛXÕl¥îðb.- ÎHœdàdò ©ð_ ê6ì\³FVÙ±j;šsC š8ú¦È×1à±Ý_‚Kq‘Èå.–hœ3Å\~4Íu=Pµ¬ñ¡§6Y´ù#ê®ã¶c¿ï-ÚßÁK‰;Ä]SP×nqÞŸZ¼µ¨Rã)«C$æcþòns¶¸´eî!-å¹Ç£SàÞ§ª3R¯FVXeÙ/Æ;ªcs½’1ïleÛ\%“ vHÈQ¨ðO ß±%‹:||—΢eŽÜѼY0ˆ:ƹ§« ` dsæ­Ë5ý ޵éuÍ;CÔ Ó]hqìÕã{c‘±Ñ}¦IK‰a> —cüDaôÞ7â­GŠ(^÷ÃO¯¥Ç§ë3Ú¦Ê.ÌÚzƒa®ëFèñƒÌ^v»p Ýæàn—F¯¤¿N“¹ëÚ7#{mÌÙºò!˜?¬sˆs%Ç rÊ\ ´Y¦2Ž˜êƒK’i)÷=™cêúé:ÉZv¸ncÌÆì·ÀKW„º@âíoN³buÙgП©Ñct»TâdãnÚ®šq²bíà‰´®ä Ûú:×lkÚ–­ß­jÌV Ì‹O–“«¼5¤Å$RH÷Œç9Á¤ s?4Þ áý:Q†õzóÂè;š•ž¦&8‚DQõ›bì1†‘âŸÃÚ&™ T–¶™ ‘¶i<Ï–y&’Y½òHç=Ç hÉ'Ä—"mßh:¯tqJ–ønæ§©QÒôí" ‘ÁFä•_jYe•¥î’2×–°FÐ@ËŽsËÖVˆxgE׬Wµ¨W˜Z®×65mKZv5ØÜÑ$Nköœ ·88A h¼WÅ5nGÃ4nU½ â›Z4Wõ&ºGMÖAqan÷±ÙaÏÝlÁ ’à›‹8×PâH­©é4-×âKzMéEÉ^ØeXáhsF»ÉÜÝ€Zí£WèûE¹SªÓ§éú5É-ˆ+—±ò¹ðỂZàö¿t»÷丑òœ©¯àžv“_Lî ™ kFäRGrfXlçpt½xx”¼‡8d‚AÈV嚟 ñojLÐt§Ò‚õÛ:Ìò[¾Ù­28k^tA­a”9Î;ÙËxk@8ÃB—qV·.WH¯£SžÎ©Oqöc–f2ZvYêÃ^ÝÌs‹° |;lŸ‚xjZUêw 浉ìA%{“C4RN÷>bÙXððç8–‡c°c*— 褧%=68 *RQ®çÈ$söã8$º6ã“Ë·™ÊðY¨éÜy®^·ÂvlEKGÒuÍ:•–Øšœ¶=™ùº«el¸ »KÚàòìc¥îZÄ\ÃQ(2”ýV“R€ÝœÁ‡ïDÆ_±îo"à\9[T!srû»—jµ”Ê*éw5ór·”Ê ›—ÝÊÖS(.îñ/›•¼¦P\ÝøÓr·”Ê »“rµ”Ê »—ÍÙVò™AsrnVò™Asrû»—jµ”Ê ¥Ü×ÍÊÞS(.n_w+YL »»Ä¾nVò™AswãMÊÞS(.îMÊÖS(.î_7e[ÊeÍɹ[ÊeÍËîî]ªÖS(.—s_7+yL ¹¹}Ü­e2‚îïù¹[ÊeÍß7+yL »¹7+YL Ò:PÖ5=+‰x!ÚtÁ6«3&¥Jf1Ö[ÜsÓÖ=Œ ‡8—<-OTé [ҸLjæ›IÕ¨¹ñhõ)н‹-†Iå²×L"«$›¹4x,!Î,håÈ®«¨éZ~¡N½n¿YcM™ÓÔ~÷­îÑ“€p|¸`äsùT=K…xR³¨Y½§2yua†Ó#¼6Âç:,sð\×=Ä9¸9ÁÏ!‹t³ŸOÄ:¶­«p}½RŒµìÒâ°Ç,š|ô›mÓ,=²¶¼6´îÚA'›]‚VW„8ÓŠ­|·®3F}^+«½±S†VIVNå6‹œ÷´†¸ckKI.í;3xGEd5˜vi*M%ŠÓ[Ô,Y|r¾B]ºG¸‘±îIÇ<€5€øEáM?Idbk—ôê ¦Ë2Í+˜0ƵîŽ'=̇ynHf3ã%/rqË™ý#>°^*þ]+è¶ýw/h¸øQÿJϬ‹¿„ãWJú-¿]ËLÜ9¯ƒ´û‚ÃO@Ò‡49§\´=„uPr]﨧æ#÷® î ø‡—éË?³wOãû¿¶~«þë¶v|½V;íú”ÄíIOëôêq %ÓXæÜ¡ªùO&—Lö4ãå8$€lIwI~í.S³vvéÓ»îzÌã ç÷·c¹f3½›«ÔÙ¾î–î¯vËNvvnÛüL£9Øí½¸ÎYÛÇ;†âî8Ò8wQ­£ºº¦·mem2„aó=™>œòØânò `wVðÝŤ.ì´—t˜÷îÒå;7gn;¾ç¬Î0Þ{v1Û–c;Ù¹%Ý&=û´¹NÍÙÛ§Nï¹ë3Œ7ŸÞÝŒvå˜ÎönÒ'×øãM â®!÷ª®‰Wsµ +O‰ö¤‚¶Ï ~½ÛL¯cÚ×íll30 •ýY!H˜žÖ+6ÍxìW«Jhe`|rF75í# ‚#Æ®uü¯ä~õ‡ŸÖhtgY¾¬Nß¿~ì°sݽùþ}ïÏ”îÓV§ªiš_rûç¨Ó£ÝvV·tNØú韑3qžppÑÌàª]'¨§æ#÷§QOÌ*þGïZot£ÁZE‰é3V¶£ ß”´¨Í¹c•§T¦<²e£®tc!Ù 5Äe´¾.ÐîYÓôë6Û¥kWá3C£j.m{øixwñ.;œŽO »˜C šç7º‹³E?0«ù½:Š~aWò?z­ºŽ¢Ÿ˜UüÞE?0«ù½jz§Ñ:„Ú? Ò±Äú¼R:!¢GsÖ‘¤µÍžÇÜ0±ÛwÆÝó5®8(œÅFþ9Ôø;Œèiôµ&Õn¥§š=k£’¹!²F\ñ‡º:0dCúÁ†7k•Ù›^Îvâö»wê)ù…_ÈýéÔSó ¿‘ûÕkàûôCÄK³ùQÕÔõü¯ä~ôê)ù…_Èýê´Bê:Š~aWò?zuü¯ä~õD×tn]J-&ü7¦]u †#‘†±tyì%¡íÎ3ƒ–œ@É!uE?0«ù½:Š~aWò?z­ºŽ¢Ÿ˜UüÞE?0«ù½V±º»¤kÑ[—G¿ ÆÒ»5 A‡œ6!yd‘¸`‚<} µÃ ‚EÓúŠ~aWò?zuü¯ä~õZø>ýñìþCºž¢Ÿ˜UüÞE?0«ù½Vˆ]GQOÌ*þGïN¢Ÿ˜UüÞ°öx¿„ëX–µž(Ñ!ž'–I—âk˜àpZAvA–^´ðÙ¯šÓG4°>9#ps^Ò2äAò¹¦ºj›DÊqiªmLÝ÷¨§æ#÷§QOÌ*þGïU­{¸ pÅJóŽâ rIä,iLï`%Î$µ­ƒ™ÉÏ @$m……V-qE1×>ÈüÝMV‹Ë=ÔSó ¿‘ûÓ¨§æ#÷®oßj_ÁgI¡™ö«Ä=77IÓ»¦nŽxÖ›œðÈ©ÓeXãÏi“{ˆ;Cˆ§8ñ ‘êÆû7¬Jâ-3?µLõF‘7Ÿs¾M]'œ.ºª˜ˆî램램öÏS¬õü¯ä~ôê)ù…_Èýê6‡n}CE£~Í9(Ïf´sIZLî…Îh%‡ ‚qØ;;×:dâ G…ú7Õu½)Ñ6ì=Lq:Fn ë&deØì$’3‘2ä~uUÓM_tEÜtЧ£ÅS_ý7¿¹¶uü¯ä~ôê)ù…_Èýë‰èÔú}Õ´zZ­N.áæ×»^; ZÐðÇ´8n©àŒàŸçRýã÷BüïáŸü‡ü*óGJ™‹Æ_Óæùôý¡]Q5ü?û;QOÌ*þGïN¢Ÿ˜UüÞ°<OŠ©h_jÕµ=Uó9åõ£ Ž6r `!­ÝÙ»%£›ˆç€N½TNÔDÌYîîk¦*˜˜Ò~Š:Š~aWò?zuü¯ä~õ‰âÞ(иN„7õûÝÇZiÅxßÕ>MÒ¹Àa€žÆ8糒שt·À7ß$Zn¶ë¶^KêÊ×=‘Æé‚æ†ýËŒ‘œ.jÆÃ¦­™ª/Ë©Å]' ŠâŠ«ˆ™î¼_Á»õü¯ä~ôê)ù…_ÈýëÁßÂ^ Ðø¹»—ß]:½Þ£¬ßÕu±µû7`nÆìg8ì 0´muE?0«ù½h”õ½kU«£§Ôáêµ,4ISÒ–IÃÙ¹ÂVŒã™`g8Éßcç í%ÿ]Ë›pYÇé#ÿ¤ê…ëâo'…¿FÍöéÝ|Mäð·èÙ¾Ýa¸ÓŒt>‡M³¯Úî:º…öQe‡ââ‘Ì{Úd9ð[à»° ÀÉýÈ]gºø›Éáoѳ}ºÙxnÝM[GŠëôªÉ¾H¤`ÍŽGFìYn朌r _ܲ Há [¼AÖeTl=E?0«ù½:Š~aWò?z½8yÇÿÕP–K¨ê)ù…_ÈýéÔSó ¿‘ûÕh…Ôuü¯ä~ôê)ù…_Èýê´Bê:Š~aWò?zuü¯ä~õZ!uE?0«ù½:Š~aWò?z­ºŽ¢Ÿ˜UüÞE?0«ù½Vˆ]GQOÌ*þGïN¢Ÿ˜UüÞ«D.£¨§æ#÷§QOÌ*þGïU¢QÔSó ¿‘ûÓ¨§æ#÷ªÑ ¨ê)ù…_ÈýéÔSó ¿‘ûÕh…Ôuü¯ä~ôê)ù…_Èýê´Bê:Š~aWò?zuü¯ä~õZ!uE?0«ù½:Š~aWò?z­ºŽ¢Ÿ˜UüÞE?0«ù½Vˆ]GQOÌ*þGïN¢Ÿ˜UüÞ«D.£¨§æ#÷§QOÌ*þGïU¢QÔSó ¿‘ûÓ¨§æ#÷ªÑ ¨ê)ù…_ÈýéÔSó ¿‘ûÕh…Ôuü¯ä~ôê)ù…_Èýê´Bê:Š~aWò?zuü¯ä~õZ!uE?0«ù½:Š~aWò?z­ºŽ¢Ÿ˜UüÞE?0«ù½Vˆ]GQOÌ*þGïN¢Ÿ˜UüÞ«D.£¨§æ#÷§QOÌ*þGïU¢QÔSó ¿‘ûÓ¨§æ#÷ªÑ ¨ê)ù…_ÈýéÔSó ¿‘ûÕh…Ôuü¯ä~ôê)ù…_Èýê´Bê:Š~aWò?zuü¯ä~õZ!u€å´«µÃ°†óå^þ]+è¶ýw/s¯ Æ®•ô[~»–¸¸sWi÷|CËôåŸÙÀ»Sýôëºÿ'SÿguÔÿ¼öW÷|CËôåŸÙÀ»Sýôëºÿ'SÿguÔÿ¼öW8©uGÍM›îénê÷l´çgfí¿ÄÊ3ŽÛÛŒå¸Üs±üÏ‹¨ßÔ:o›MŽëV³¢iר;ïÍuKV÷²[‚H²ÆÈìø,“i­tÍM›îénê÷l´çgfí¿ÄÊ3ŽÛÛŒå¸Üs±øŽ:Ó/M sD©gHŸ­†'´ÙØmŠûŒog„Ð\Öõ±Â^v´¬æö›#aÓ+µ±Ž]‹Jà›U4.¿ÑÅ Ûz¦Ÿ¹]ÑHdv™´ìx£ÆüÀl,Û´uAòM«©kÜS4GK¯kAáá+ºë6á’ Bàip½¡ÐF㸉0Ó±ÜɆÁ¢éttm27Mƒ¨­v·qsœçç=Îq.{Üâ\縗9Î.$’JË ‰Ž¹YSÃÏë4 :N³¬ßV'oß¿vX9îÞüÿ>÷çÊwiçþèmœ-˜#˜èl•×#6]:@Ñi¤Œ41“}Ëœî£c~øW@áçõš'YÖo«·ïß»,÷o~Ÿ{óå;´ÎZÚñdp g‰¾WøsS…ô 5Ó2i𷻬6JÑLèÍ‚I†0' Û5ÑÙ[÷#ÀU)ÅÒ× ÓÓ˜×Úf¡gQ¾ã$厣j#fbr÷n‘Ìi•äîs€$’³œ3Ð^±¥ëZÍ6ñ48rkÝuâƒ}ÖAÔ²8àÌ¡ÑÇÕ˜Íî[’z·s]†x{Dá7ÞýL¯B¹Y ‰¾Ò`4É#…$„4eî%ÎÆI+8¢oy—W‹2‹]é+AµÄÜ «ètl¶ v`þ ½å±=í!ÍŽlL/- ‘¸;£sÛã[-\´ÞŒøß„ëts¥ËWO÷¶À‹¹ýç¯T÷S%Œ8:©­=¥®in0×4·Ä¹¿N\Y¬7Š4Ž"ø7ï]îq»@Ï,bKqxM–'; D_>lt­8ÎÒ¶>)èûˆ«qmÍW„›£[Ó5c#õ3P¹-6±ò0G7Tø#y-•¥Î €[)t™q~’ƒ£wëí§c¤]AºÉ®K­¾:1ýÁ “'}’ \ yloçÀÇ£nˆëy²ëž®àÞtMN޵¢ÑÖtÉúú7ëÇf´»Ýñ=¡Ìv –>ÿó»ê9Z£V­PR¥ZµkÆØ¡†G0Öµ£€ èûìnñìÿŽþ¤/;Ôú¬Þ­ÊSÔ™Ó69ãtot3>)pÁ-{s>Ni`‚¯"#ÎcÜÕ=8µ CHâÛ4µÚr9œ?f¹€¯Õ´NøØ%cÉt¬.‰á»K]Õótg¬tÄz¯ôKÜC­Õž¾¡n˜3uÌ tÅ®,í hh”4J㌷^«Võ)é]­ ª¶#tSC3㕎s\ÓÈ‚ DysM4Ó‡uâU\Þ©¸ˆ‹§Ç\9®t³Ó&·ÁÚ®¥©è¼Ãô*:Zð»ù¾pé+ZæÞÐøË Hkø:Gm} ôXÎçÔ®M©:Õ‹uZ̈õqGN9`kC[$ÛH.vÐÖ—9±†‚ó'F}Z¯»×Ö…Ö¢ñG1`21-/hwh,a#°–7=^KG´^âø>ÿó»ê9}_ßcwˆgüìpÿõ!>®cÓL}mÝ5½ÇÒuͱ¼ìá+]Ïy#œ®ë#ÞãŽC.Úy7v]Ó‘XG!÷;qG é½ på-Cˆtª6b†MðY½efeyvs‚ãÎTÍ&Ïêúæ±s€µn‹…ß©–Ç%ý:ÌÎsÄq‰ßd±±Ìë:ÎÎN“¬;¹åmï¸ æG þŠƒÙ[ JõêU†¥H"¯^68¢‰¬ h€^l,*éŠb©Ž¯þ 7@¿ÜóºW·Y³i°·ÁÀ"8ÝÏæpçn䎂‹èt^“‰ÑqiÆÂ›Uº©Š¢Òò®—Ñ ~!wðtœ9ÂzoiP4ïQ’à…¦}ï~î¶G“à3ÁÉüDtn2¿Ó¶•¡In{| !íl–)ï‰ð‚y;u§õ@†óø\‡Œm¼SÑ7G¼Q®O­ëÜ7íBÀh–gX™¥Á­ šð`µsÿF3ÆÁGE›J™Ý×Ô²âò0Fßã7Œsñ òííÏÞûOíªzGªšñ*š¦ž¨š"b*šb'f©®ôÄÌ_ªž®1iödaô~—…‰‹±DÏ}â&ýtðž®é›O êtN}™8sL’íÚ÷­:¤NšÕr S¼°n{¸äŒÈö-+Ý#ñ5­KOýn¾é”«iºum:”]UZ°²Y¸»kZ2rNÊÔúoÑ5N"èÇUÒ4Z†ÝùŸ]ÑB$c7l±ÝÍä4x-'™ñ/ÉcS3U=öŸÉÚVÅ£.8ÅVêç{uGå 7¢?|uzG¿ c"fY£÷,ll¦¤®9†ç… ÅÎ…ÇÅJçW°0Éì»ÞøAÿ*ê~ÿñº¾§Þ¯þ³nÍÿþ »ÿúmÿüÊ•¢ð†ÎÓ4ýoGÒu u´Ø)O$•›(xd/ˆ·.nKvÍ;@?âÊñ ÀÍŸ…¸b~·¯áÍ^»[¾”nß¿®ßœŽ{»¦ÆsÛ×ËŸ»vt‹QLO'8Í8TÄò„Í#º;‘ýÓÝ›û¢|wWU¿gZý˜ê¼›q·>Ý»ü=Êb³N­Zq:•¡¯¤|®dL ïy{ÝãsœçÚI$ó*òí«Æz ëš\gŠkVž†Ÿ0½ÿ)”²(ÜÆ»Ã0 \ì‡e¤¸Aœ?Ã×:%Öµ»àwiP\lR‰ eŠ))µ¸{Ašq&7ÝŒ¯IÛ¯^ÝYª[‚+æc£–)XÉá‚×È‚ ‡‡„xn¦•¨éº^‹§é0êP: &…XàsÚZæ‚v·€çc9ÆJó×cS‰ÕÕúþ/DŒN‘F/Wìß»/7¡/‰ŽþÎÐÿVmꉦQÑtZ:6™QF…xëV‹{²&45ˉ'’IS¡ì|ïÿ;þ»—2àóŽÒ‡ÿIÕ ¦³”LiíÙÿ;Üý\¿„Ž8cLý,T).¡Ë½×ú>©Ä< èº-)nêø‚á†1ÍǹìÌòI'I SÜ™?üîN ¹BÖ™QòU­æ¾|‘?cªÎÂÌÜÐ]¹ ´`´´3²nXá}?A×õí_OšÓ=ûž;6*nh¯­n×Isù¸’\@>$¿U’Ým+)Àÿà|ŸÖ¯¬Ê°Û–k_Â.kFK­]ÒeHVÏcïòÞ?þª…TÄ:g¸sÄ…JéȈŠ" """ """ """ """ """ """ """ """ """ """ """ """ ""ðÇð€|jé_E·ë¹{xcø@>5t¯¢ÛõܵÁíÂOi÷ät 6\}üµ€;OñP.ó¾2±ú¾Òáàoˆ·ý=göp/E%tÞ©)àÂÜ®-õ&}:ÃŒ¶hœæFG#è²@×Xì`ü‡æ#åU ""*!–)˜_ Œ‘¡Îa,p 9¤µÃ—ŒAù*´D@ED2Å3 á‘’49Ì%Ž4–¸rñ‚?!V€ˆˆ¨‚X§‚9à‘’Å#CØö89®iÚU "*'–( ’yädQFÒ÷½î kZI$öVˆˆЉåŠ$žyQ´½ï{ƒZÖ’I=€¢""¢ib…óHÈÚ\Ö÷ œCZ9øÉ ”‚´D@DTI,Q¾6I#é]²0ç^ì`|§ŸæäAZ" "* ± Û‘‚W´½¬.œÐ@$7?Î>T¢"" Ë°%{KÚÂá¹Í@ùssüãåAZ" "*±Ý‘†V4=ÌšÒH–»Ì~D¢""¢9b‘ò29÷Dí’¸Ç`;ä8 ÿ1* ÑQ±HùŒ{¢vÉ\ c°ƒò˜•hˆ€ˆ¨†X¦a|22F‡9„±À€æ’×^0Aä  ­KðG<2X¤h{Ç5Í# ‚;A+DDEDÅ<ÏŒ–)DZÁÍsHÈ ŽÐB Ñs}ˆ,CÃÚeOƒú‹úŠ0D^$ƒ-­$fLã#Çÿö]yb‚ 'žFEm/{ÞàÖµ d’O`s+ù.§ô,ú¡aTÅÑ*/êVoINy¯WýWÈøv´ ã';d'Åâ ÊßÂñ«¥}ß®åë'ýö¯õ¸?jÕäßáøÕÒ¾‹o×r½oZbE¡ÚýÀßoúzÏìà^Š^u÷|E¿éë?³z)m=©qf•J´«2­*ÐÖ™Ù, crrp!Ì’¯"(ˆˆ(ž(§‚H'’Å#KÇ´9®i ƒÚH"Š#‚ÙQ´1ŒcCZÖ€€Z "" 'Š)à’ ãd±HÒDZíkšF ö‚¢‚à‚6Em cÐÖµ ``Vˆˆ‚ÍÚ•nÖ}[µ¡³ñ¾)˜Ç`ädG˜^D@DDmT«kªîªÐÏÔÈ%‹¬`vÇŽÇ ö8xˆæ¯" "" 2Ô«5˜-KZ'¯»©•ÌñîvÓÚ29v«Èˆˆ‚̵*Íf RÖ†Iëîêes|{†´öŒŽGªò"" ³Ü•{·»»šêêú®¿`ë6g;wvíϨ^l~æ˜}ëÏûí_ëp~Õ«É¿Âñ«¥}ß®åë'ýö¯õ¸?jÕäßáøÕÒ¾‹o×rë¢ö“ƒµû¾"ßôõŸÙÀ½¼ëîø‹ÓÖgôRÞ{RÎ8Š6™~ž§M·(XeŠîsÚÙÍ®-qiÁñŒƒÏ°öŽH©(ˆ€Š‰åŠ$žyQ´½ï{ƒZÖ’I=€EP]¥Ú¯ë ±e‰ø#s\21ÈøÐ^DDTO,PA$óÈÈ¢¥ï{ÜÖ´ ’Iì*(Ú‚í(.ÕYˆÛ,OÁšápyŽGÆ‚ò" "ª_§¥éój…†W­wI#ûÿÜ“ÈÌ’RPmBý==ºå†B'™E»µò<á­ÆIÿÈO J’€ˆˆ£Y¿NµÊ”ç°ÆX¸ç6¼gî¤-is°>@3ÙØ;HRPk7éÖ¹RœöËæ×ŒýÔ…­.vÈæ{;i J" "ŒoÓ£t³aØèLâÍÝXpiqùH=¼ñØq%F‚ý9õ :|6%š­c§¼ÌaùÛŸÆCIÇn0|c2Ph/ÓŸP³§Ãa’YªÖ:xÛÌÆ¹üd4œvãÆ3%F£~çÙmK ˜Õ˜Á6Îa’ n~P3ŽÃ‘ÚRPm2ý=N›nP°ËÜçµ²3›\ZâÓƒãŸaí””D@EL¿OS¦Û”,2Åw9ílŒæ×¸´àøÆAçØ{G%%Q<±A“Ï#"Š6—½ïpkZÐ2I'°‚´VhÚ‚í(.ÕYˆÛ,OÁšápyŽGƯ "(Ú¥úz^Ÿ6¡¨XezÐ7t’?°ýÉ<€É QFÕ/ÓÒôùµ BÃ+Ö»¤‘ý€îIäæI ’ˆˆŠ6¡~žžÈ]rÃ!ÌÈ"ÝÚùpÖã$ÿä'%”D@DQ¬ß§ZåJsØc,\s›^3÷R´¹Ø ™ìì¤ ’ˆˆŠ1¿LjÒ͆wc¡3ˆG7uaÁ¥Çä öóÇaÀIDDEߦ5FéfÃ;±Ð™Ä#›º°àÒãò {yã°à$¢""úsêtøl2K5ZÇOy˜Ãó·?Œ†“ŽÜ`øÆBJ" "(ÔoÓ¼û-©a“³&ÙÌ2@-ÏʆqØr;A$¢""Fý;ϲږ1«1‚mœÃ$Üü 8g‡#´‚J" "(Úeúz6Ü¡a–+¹Ïkdg6¸µÅ§Æ2>ÃÚ9 ’ˆˆ¨žX ‚Iç‘‘EKÞ÷¸5­h$“ØTQµÚP]ªþ² ¶XŸ‚75à àóäD@EDòÅO<ŒŠ(Ú^÷½Á­k@É$žÀ¢¨.Ò‚íWõX²Äü¹®˜ä|h/""æÚWò]OèYõBè¥úz^Ÿ6¡¨XezÐ7t’?°ýÉ<€É Ïô¯äºŸÐ³ê…æÇîi‡Þ¼ÿ¾Õþ·íZ¼›ü ºWÑmúî^²ßjÿ[ƒö­^Mþ]+è¶ýw.º7i1x;_¸â-ÿOYýœ ÑKξàoˆ·ý=göp/E-çµ,〈ˆ¢" """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ ""æÚWò]OèYõBé+›i_Éu?¡gÕ ÍÜÓ½yÿ}«ýnÚµy7ø@~5t¯¢Ûõܽdÿ¾Õþ·íZ¼›ü ºWÑmúî]tnÒbðv¿p7Ä[þž³û8¢—}ÀßoúzÏìà^Š[ÏjYÇFÓ.6ý6Úd`kœðb#ð×ä´óã#88#EIDDTO#a‚IžZƗƸ€3É Oâ%QF~ꥮ¦h:èÛ'U3vÈÌŒípñ8vò ¼ˆˆ¨žFÓ<<µ.!Œ/qg“@$ŸÄJ¢ŒýÕJ ]LÐuѶNªfí‘™Úáâpì#åAyFÕ.7OÓæ¸è,Ø7=UhŒ’<øƒZ;I?椒¤ ""(Ú…ÆÓd.tg2ÌÈZØ"/ ¸ãs±÷-$¸à>\%F³q°\©TÁfGYs€|q20Ö—÷v4rg™$`vâJ" "fã`¹R©‚ÌŽ²çøâ.da­.%îìhäÏ2HÀíÄ”D@EÜhÕ§ˆ,—:1”Dz¦€àKû7’9ᤜrÌ”D@E ›P³M°Yi®ÖJø‹cyvy1Çîˆg†à3œ%F‚ãfÔ,ÓlZkµ…Ò¾"ØÞ]žLqû¢Ç!¸ ç I@DDQ¨Üm·Ùk`³¯1‡tÑ —3?tÜœnì$d`™(ˆ€Š6™q·é¶Ó ³\ç€Ë߆¸·%§˜ÁÁ‚’€ˆˆ£i—~›m2 05Îx ±øk‹rZy€q‘œÈ)(Љäl0I3ÃËXÒâÂ÷y4Iü@d ­š3÷U(-u3A×FÙ:©›¶Fdgk‡‰Ã°•^@DQµKÓôù®: 6MÏUZ#$> ÖŽÒOù‡i d ’ˆˆŠ6©qº~Ÿ5ÇAfÀ‰¹ê«Dd‘çÄÑÚIÿ0í$ ”QFÔ.6›!s ³9–fBÖÁyǹh%Çòà’ˆˆŠ5›‚åJ¦ 2:Ëœ㈹‘†´¸—»±£<É#·%cq£Tnž ²\èLÆQꚀ /ìÜrHh熒qË!%»S2½ilH$s"a{„qºGNÐ\ãø€$ø–¥¦qŒ¸ÚÞÕë=ÊiÔ01ú-¦l•òXkÜâb­!±øNÃ|ƒÉË:ñh¢b*ž,±1¨Ã˜¦©âÎñ²4vÒktëš„÷l÷4U1‡ß!$Èö4ØÝãùHÕ/^²è¬ðÞ«¦00¸KjJÎkŽG‚:©^ìóÏ1ŽGŸfqÜSÃ5ž"ÑuŠÚÔšcôÆXa1TŠY% ¥k›9ÒH.²T+·5nÖhG.¯¨êôg–6[uÊQލI#a‹ª–&FÀã,Œ.kƒŽÆ¸¤ü¦ºâ©š¯höZߟ65W‰Ms5DìDzִuóãvÍ¢j0jÚMmF»$“³&)@DîÇFð Úö¸¹¾'ÜBøA«|ÆâÏQÿ‰YN%16›øOÉ•X´ÄÚb|'䛯_Õ¨IQú~…&­ÞæÙYŽ9¢IkšÙ ZðHÁðÚFAÜñŽ’mo[³N»´ 4ªYdÖߨI’<0ï`…‘ºVç¬k79Å¥£î<,9—>jß1¸‡óÔâVIéW‰µ¾¡ÂœC6«¡õùAšê:öÅáÃ]¹ ŸœxðVuUO·+}.ƪ¢©ëš­ÊÓÿ­ÿ«aâêVlé±ÛÓ¢ëu-:ar›7Ö=¡ÍtY>ë#t‘î9 ë7c- GižôhÐQtýÑ3wIb}›zéžâùdÛ’¹îs¶ŽC8€Xï„·Ìn!üõø”øA«|ÆâÏQÿ‰Wj­«Mý“òX¯+Û´ßÙ?/gƒaEM±5ªQÏ=$vs^ã/f Ìnsyöòqä~^JBÞ&ñw¦&ñqQsm+ù.§ô,ú¡t•Í´¯äºŸÐ³ê…æÇîi‡Þ¼ÿ¾Õþ·íZ¼›ü ºWÑmúî^²ßjÿ[ƒö­^Mþ]+è¶ýw.ú/m1x;_¸â-ÿOYýœ ÑKξàoˆ·ý=göp/E-§µ,〈£i—~›m2 05Îx ±øk‹rZy€q‘œÈ"¤¢"*'‘°Á$Ï-cKˆc Ü@äÐ 'ñ’¨£?uR‚×S4tm“ª™»dfFv¸xœ;ùP^DDTO#a‚IžZƗƸ€3É Oâ%QF~ꥮ¦h:èÛ'U3vÈÌŒípñ8vò ¼ˆˆ£j—§éó\tl›žª´FI|A­¤ŸóÒ@ÉRPmBãi²: 3™fd-l\q¹Øû–’\p.’€ˆˆ£Y¸Ø.Tª`³#¬¹À>8‹™kK‰{»93Ì’0;q%F³q°\©TÁfGYs€|q20Ö—÷v4rg™$`vâJ" "Œn4jÓÄK ˜Ê"=S@p¥ý›ŽI ðÒN9fJ" "ÆÍ¨Y¦Ø,´×k ¥|E±¼»<˜ã÷D3ŽCpÎ@’€ˆˆ£Aq³ji¶ -5ÚÂé_lo.Ï&8ýÑ ãÜs$ ""(Ôn6Ûìµ°YˆW˜Ãºh‹„K™ŸºnN7v20L”D@EL¸ÛôÛiY®sÀeˆŒoÃ\[’ÓÌŒŒààŽAI@DDQ´Ë¿M¶™˜ç<XˆÆü5Ź-<À8ÈÎä”EDò6$™áå¬iq a{ˆ<š$þ 2PVŠÍûª”º™ ë£lTÍÛ#23µÃÄáØGʯ "(Ú¥Æéú|×›&窭’GŸkGi'üô2PIDDET¸Ý?Ošã ³`DÜõU¢2Hóâ hí$ÿ˜v’J (ˆ€ˆ£jM¹ÐYœË3!k`ˆ¼‚ãÎÇÜ´ ’ã€ùpIDDEÍÆÁr¥S™eÎñÄ\ÈÃZ\KÝØÑÈžd‘Û€’ˆˆŠ1¸Ñª7OY.t&c(ˆõMÀ—ön9$4sÃI8å’ˆˆ ŽôQÿI~š¿ðõ'®Ä¸¿Esí÷RtÍW©˜õ‘è’u¡¿Å·mB6“âqÝT‘sm+ù.§ô,ú¡t Rãtý>kŽ‚ÍsÕVˆÉ#ψ5£´“þaÚH+Ÿé_Éu?¡gÕ ÍÜÓ½yÿ}«ýnÚµy7ø@>5t¯¢Ûõܽdÿ¾Õþ·íZ¼›ü ºWÑmúî]t^Òbðv¿p7Ä[þž³û8¢—}ÀßoúzÏìà^Š[ÏjYÇDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDÇz(ÿ¤¿M_øú“×b\¢Øv{£úe›vzÏxùc³Þ¸]šë¢/EçH¼SùÌGW4™ˆ˜uÄDY(ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€¹¶•ü—Sú}PºJæÚWò]OèYõBóc÷4Ãï^ßjÿ[ƒö­^Mþ]+è¶ýw/Y?ïµ­ÁûV¯&ÿÆ®•ô[~»—]´˜¼¯Ü ñÿ§¬þÎè¥ç_p7Ä[þž³û8¢–óÚ–qÀDQ´Éì٦٭Ò}\玥ò5îkCˆi%¤Œ–€p Æq“„T”D@EDïtpI#"|ÎkI°€ç;H?ŒøÕdžjPKj¿sNøÚéaÞÕ¸ŽmÜ9Y¨/""*'{£‚IæsZH„<Ø2@Éüdƨ£$óR‚[UûšwÆ×Kðþ­ÄsnáÈàòÈíAyFÕ'³[OšztŸzØë²F°ÈïÜâ)ù3€O%%FÔ'³!5i>ÛŸ3#xl`„øRãÌ4dàd“øÄ”D@EÌöc¹Ri>h¥s„Ó ÖÀÐÒA œ¸—`Œ’F9É@DDQ¬Ïf;•!†“æŠW8M0‘­l $ ˉvxÉ$cœ”D@EÏgßFÖžkLŽ´dnÐýÀÃs¸’7pÀíÏ)(ˆ€Š4Ù~¡f )>*ñ5†+‘¤LãÀ4€ß™ÆI82Ph'²ýBÌR|Uâk V#H™Ç;€h9¾3Œ’p02d ""(Ôg³;싟U±Ìc„¾F¸ÌÀñ˜i;A%ÀÏŒàI@DDQ´Éì٦٭Ò}\玥ò5îkCˆi%¤Œ–€p Æq“…%FÓ'³f›f·Iôesž:—È×¹­!¤–’2ZÀ'ÆN”EDïtpI#"|ÎkI°€ç;H?ŒøÐVŠÍ'š”Ú¯ÜÓ¾6ºXw‡õn#›wG–Gj¼€ˆ£j“Ù­§Í=:O½aÌuÙ#Xdwˆnq”ü™À'’ (ˆ€ˆ£j“Ù­§Í=:O½aÌuÙ#Xdwˆnq”ü™À'’ (ˆ€ˆ£jÙš´ŸmÏ™‘¼6F°FÂ|) qæ2p2IÀü`$¢""f{1Ü© 4Ÿ4R¹Âi„k`hi N\K°ÆI#ÂJ" "(Æ{>ú6°¤óXÂdu£#v‡îFÄ‘¸“€ny”D@\££/úCt¿ÿ‚ÿª=uuȺ5’qî“éj&×Ý£Òù·±Â¯‚ݽ§ ¸çÅ·ñ…õþÌÿ–éŸöãÿ.:ûTû´ºê"/ÐDQ žËõ 0IIñW‰¬1Xt"gî äø<Î2IÀÀÉ (ˆ€ˆ£QžÌï²,R}VÇ1Žùã3Æa¤í—<N3€QF£=™ßdX¤ú­Žc%ò5Æf?ŒÃIÚ .xœg$¢""¦OfÍ6Ín“èÊçÄLkßµ®vÆ’í¬s±†¸Œi±ñ?j|{¯R†[´5mCKáüØ|¢H^+JCk,²Á3ËÀ/Ù#X^Z6ßZÒèë:dÚn¥]Z]¤€÷1Ís\DZí!Ì{\潤9®hsH Åá}{G⎥¯è„:†™v>¶½ˆ‚ñØA˜p ‚Òi!IÓ óM§RefY.ysk½Îc[¸í¸Nݹ8óÈ.5Ðýo€]pF·¥Ð§_…u¥ž%xvÎá²iÂx44øØ9$5¾§h½ÁÛ–×pý~ ©Æ¹4š5ÈëKZhjM,“ ca ‰Œ2=Ò0†ç.æÏ.;§Ñ££ÿ¤ÿ×h Ü{äp÷ý]Æ?ú;Uÿ†[.‹ªézÞ™©¢êTõ*nê­T³E&ׯi à‚h!W¦æ›N¤Ê̲\òæ×{œÆ·qÚp»rp9ç\ÿˆôÿ€]§q7SêtZen'¥Ë_=¢ÈkÝc]#[ÄÝS$êÚL™Îps˜Ò¤¬?ñ&ÃÝÏÝõõ™»£vÏ{ô{w±·ÝÜñ¿gÝ nÆyã88…ÅÚ__Öô?ÄÞôЭgv©[¹¢“ºâÜÇc/ccc#®ß¸õB96)Ì¢ cå %{ËZçc$ŸóF—{¥>¡J{׫ñ]Zµãt³Ï7 jŒŽ&4eÎs|€ $ò-ƺ·éAz˜mU±e‚x^¬pË\×E¤Aˆ+Nâ¾ê×ïhÜg©{¬FËüEÔdÄ*ÆGñóàØ˜l‘»d‚;mÎZ·uFÕ ñ§Ìt¶V}͸„Y{›ï•Å œÜÞÌŒäQ%mPß|ÇKegÜÛˆE—¹±îù\Z ÀíÀíìÈÎ@IDDEP7Ã!{+9Æf Lïp ‹>håØäÀÉÉ<°BJ" "(ÖMþì¨+2±¬\ãiÒ=ÛÃv¡€ ]Œ’F<Žy”D@DQ‰¿ï£@ea§ˆIs‹ÝÖ™w 1€ÐÝÙ9$’9 s (ˆ€¸ïEô—é«ÿÿRzìK‹ôWÝ_ÝIÓ6Χ¹z½¬ÎzÍýÈvcÅ·óãÎÜxÔ¡E|êDì¬Úa¬Ëã#Ïyx >ä3ØI<ðJ" "(ÔMòû&ó+1½q„/sU‚ò@ð‰Üp9“Œ’ˆˆŠ5|¾É¼ÊÌo\Ea ÜãÕ``¼<"w@`dã$$¢""¦æ›N¤Ê̲\òæ×{œÆ·qÚp»rp9çA%Q9”A!Œ|¡¤±¯yk\ìr€p3ãÁþb¨£Ý]Åwu=ÕÕ·¯êsÕïÇ…·<öç8Ï< ¼ˆˆ¨œÊ ÀÆ>PÒX×¼µ®v9@8ñàÿ1TQî®âƒ»ºžêêÛ×õ9ê÷ãÂÛž{sœgž^DDÉ´ÝsEfYÖ4ö¹°°l°p?꡾4ùŽ–ÊϹ·‹/scÝò¸´ÛÛÙ‘œŒ O38;Ck&‘£Þº¼šâ?ø,XâÓµgtÕf«±¤X·N5J2Èûp±–ç;øÖöW–¿„ãWJú-¿]ËØMjÌ•«1ö%{£K-/$ùLKÇÿÂñ«¥}ß®å×F¦Õ¦$Þ¯Ü ñÿ§¬þÎè¥ç_p7Ä[þž³û8¢–“Ú—ÀDDQ¥Û0ñ]½*ì½dva4ó´ 1¡‘Í/%Æ7îqÉëðTŽ#Ôýèѧ¼Ø;¢f펼öõÓ=Á‘G»7sÜÖî<†ry°Ý#²:Zmn+e.éµÃów`ÚÖoîr ,€\GÿÏp†\Æg8Ák YãÝ7Iž—[WG„jòJö°´Xq|UÚ$œaü›ÉÌŒ‡Ã檺©½Ç»ßòë÷CÉV%TíQoÕïùuõr†ËXNÚÑ6Ì‘É8`¾65ÎÇ2I gÄIÇÊUÅ«j1ÝÖxÚÆ&§b®“OM‚İTq†[2M$ͦicX È -$¸î$x'3£i0é]k+[Ô%†L®Ý¹,ìpÎ\×È\þcÛFÐ@¸)®jž¨êmEsTõGW û?_FA¡éö8•·õ-kUÔÔ­W§V•©i²¼pÌøy˜ž×Hçu{‰y ††ŒçiÓj÷(ê‹6,6<†¾Ã÷¿nN]Úì œ¸—’îkë·Q…‰8‘µkDðý~µ²B"-Zˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆ¨±#¢¯$¬†IÞÆ6(ËCž@û‘¸“ÙÌòƒQèŸþO¤ëzTÞ ÊGªwL}»;¢Ü–áçØwAfò'ðpàà3xpwþ–³ÿ²|;ÂÕt›¯Ôìê–µ«É‰ú†£0|„‚[l бî1æ69ûœ7*,qwÃÚރ¥K¢k:ƒõ«=ÏÔ¢ÑÀíÌÆ=§±î“ pŽ)Ÿ±¸•‘Ñ…J³ëiÅPV…ŽÖuù"l…€NYJ8è–¼ñDÕì9ƒ$mEÎhÝÖ7†ôZº-rM$rÝ·uÆR ·Ø±$ï€ðC¥p<’O3’@DDD@DDD@DDD@DDD@DDD@Z~¹Ã%qhÐIªÅİÕ.±Œž)+3«‰Õ˶°´µÇ{^àF2׸[ê.j§j-{9®¨µìÇèÚÖ™«õ­£gtÐc¯¯$nŠxwgoYÀ{2#pÆG5Zw^Ò5^² 7F±Äzµ±±»O›¨uY;ÎìÜÑ ‰ kØ×õ›]Í…¹YÞƒZ¯¡CZŽÖ¢!’V88™c ŒZ nH' ,1ósUmEl~W±'Y£vÝÎÔ+鎻1žÕy©‰ëÉ):m­s$!­‡í8$´¹ÅË3¦×š­(àžõ‹ò79±a±‡¿$žb6µ¼»94r/5†ø?«|ùâÌÑÿ†St.õ.–Ïjº› DV£¬Ö´äxCª‰ŽÏ,s8æyvbÑžªf=ý^u‡5uQ1ï‹x_û2ˆ£j\™¶¶U-™•·¬/Œ¹ƒ˜Ú\9nç€NpD•»Ð""(Öb¸û•$‚Û!¯œlDaÜéi Ùð@'qäIÀ9’€ˆˆ£YŠãîT’ l†¼nq±‡s¦¤4gÁÇ‘'d æJ" "Œb¸uFÎ-°Sl%†¸‡Ât…À‡—ç°@hãIå‰(ˆ€Š4\n¡fi­²JÏk6¦"3¸—dî.$x€£—i2Ph"¸ÝBÌÓ[d•žÖ l;LDgq.ÉÜ\HñG.Òd ""(Ôb¹ìºÝ¶XL_ YÁx3´î9—ÒãÈ %ˆ5Ïzun¡Ü½w¿Z“èïë6õ;jX±¿;¿æûqËX9„¦¥ÒPÖ/i/_µj„ŠÐ¡Ã×îGÝ% 2C ™»dŒvÈYžÖéëÔŸrŒ:”1²Cmý6Å)29 Œqo1áŒäg ã–t0î’jp@´:7Ðô»Ú­ûš­öjZéÊù¬Ø’`vE^bCc|QæRÉŒ´°´»£ðïIzëôcK›EÖcŒËܲÊÉ#³Hk¦¯#Oñ‘< É|qõŒÝKCÕ(ëz%kKŸº(_­ª²ìszȤhs‡FAò©‹Náÿoq®©Â®åOQëµÍ'ñowl^3àÏ+&Üâ3Ý›6Äq3¤½Rö›Â6¢ÑgêµíGûߣƼ¶Ü ¶9 ;™9¤Ã]¶8¤vÒB£?NÝ[ºjva±d’'>'‡´=,{Iã5ÍsHíy…ykp­Š½KÁzn®ý:FéréÔoVcšêM,s!sýÙ¥˜%ûŽÀK²r¤ÜáûWx¼4ýR¡aÔ£«.§§JYdÐøß9•Ís°|'9ïÎýÀ9Í^Ñõɵ8´B®ÒÓËb°Ö1îŒžÂæ‡·8ÎZpA$´.‰tº:6³ÇÚn›SZ.#Œ€^ç¹Îv—AÏ{Þâ\÷¹ÅÎsÜKœç8’I[¦«j*Z]»³Ü­J*ð>WÙ²@е¤—¿$x žc<Çj ï[«B”÷¯Y†­ZñºYç™á‘ÄÆŒ¹Îqä$“Ȭèz¥oD£­is÷E õ£µV]ŽoYc°àÈ à€~UÏ8Þ·Ò%êœE©E·‚éFÇhìµ\Å>µe¥¥º”‘äá¤Ã$¸LCKbÛžè;âS³šú´j ÅFÕ"¹>Ÿ4:}¶S²öâ9ßZ#?.ÜŒœvdã8È=†‰(ˆ€ˆ£j‘\ŸOš>Û)Ù{qŸ—nFN;2qœdÂQFÔ"¹3!m;lª[3+X_9s1´¸rÝÏœ à€’ˆˆŠ5˜®>åI ¶ÈkÆçw:`ZC@v| Üyp@ÎBJ" "(Æ+‡TlâÛ6ÂXkˆ|'H\y~{þ1$žX (‹Né …u~Õ+U­W·V¶Þ·F¾ùNѱûœc9ÜN•žæNx•UM7¦/,ñ«ªŠ&i¦òÊÚâH$³-´šÍØžc”@à ®ðpD³¥§˜ÝÒ€r#!Z÷Šî«áñ-þºs÷¶¡1ÕÉýÜü‹šC‹cxÆb]Ñ5½,I[EuI4;mgW_Nµb%­nvÂZLr´DNvÀ@vÓÉdÌW¨ÙŶ m„°×øN¸òüö übI<±Å1‘z¦ú~¿¿ƒ:iŒX½S};½ñóð]­kEZ´1Á,Åm k@€–¸ˆ¶z","(ÐEqº…™¦¶É+=¬@Øv˜ˆÎâ]“¸¸‘âŽ]¤Ñ%j1\ö]nÛ, &/…¬‡`Š<Úw‚Kiqä (ˆ€ˆ£QŠäo²ëvÙ`I1|-d;QàÎÓ¸ä\{K 0IDDELŠä4Ûûl·csË¥d=SH.$Üœoi''($¢"*'˜$=Œ”´†9ì.k]ŽD€FF|YÎcžPEjÇtÎÈÚÙfØÖ8nÚ9 žxˆ/""*'˜$=Œ”´†9ì.k]ŽD€FF|YÎcžPEjÇtÎÈÚÙfØÖ8nÚ9 žxˆ/""æš6­¯E¡iÕY¥é®Ž pÄ×:óÁplmnHê¹gÇ<~5еH®O§ÍŸm”콸ŽwÃÖˆÏË·#'™8Î2açúWò]OèYõBóãLÅšQ[·gW¹58¬Q£ }ÝUÎ{.=äÎÇr1žÏ”/,{¿þ5t¿¢Ûõܽbÿ¾Õþ·íZ¼îÿøÕÒþ‹o×rÓ¢LÎ$9Å‹Cµ{¾"ßôõŸÙÀ½¼ëîø‹ÓÖgôRÒ{Râ8‹Äç½:·Ðî^»ß­Iôwõ›zµ,Xߌßó}¸å÷YÏ,³ H«Ç×ïºÛôž8¯R«^íšBÔ3iÌŽW×™ðÈZ$¶×í߀ÜÐHÂÝ×)躯I\;Ñþ¤GÁz3f†°u×êÜS/uMmä¾Ì¯êëÎÓ¾gJðD®Ë\2rÆÁ¼CÄ7 ê:Ýî×èÉF9esÅyíÙ füDØ%‘®s¹µ­.¸vA9Š6êߥê6aµVÄm– áx|r±Ã-s\9Ar ­kƒ¸«RÔµ[:ðÔÜ;¬×ŒÎÈ͸ìV»•ìëkJÜ9ín#/Žg]s|&“g£¿ïN§¯ðað!Ò¬²Î—æ[§Ùit`cÁk3-Á`7dpF1®u]ëuhRžõë0Õ«^7K<ó<28˜Ñ—9Î<ƒ@’y˜îÒ‚ä-™±Ïecf…ñH†@s˜î|Úà<ˆiÝ-Ö_¥¥p+Ý7WÄW[þ¢g²FP„¬îªMŒªçÐ ¶ä’C]ŸãMn!á›zE}Væ•4Ûª³IØæ=¯º71û[µác‹àÒC€f£þ-Ñøç…+qF€ù¤Ó-É;+É,{ ŠgÄ_´ó qa#88# {ZáÊ:·ÍÂÖf¹ïtõ›R|Îé%š ¾7É&çìËüïÉÆ¡•hp,ÔhÖ†­ZúþµBÀÈâcuKA­kG Ð@Ž;î ÿ%ßýÆÒ?ޮĸﺃü—÷Hÿz»€ˆŠ‚" """ """ """ """ """ """¢Á™µäuxã’`Âcd,kŽ@¸@Ï!AÏø»¢ú×蚬Z†¾Æ×Õ¥»y§‰µ «b<@ÖͶ'u’Ç÷`{AÁ-vï¢éµô2:¤—$†-Û]nä¶¥9qqÝ,®sÝÌœeÇr(¼9Bþ›µ®\îÖŽdî|…ùÚæ¼» FâN|,¸:I2ÊÓ¸ÅõÝÒ'V†ÏS© 7l9­‚W:jMªöLÃ#ZÖuÒÓy9­s˜Ìeí`O:ât®‘8ÇN¦ß½Öëj\Ùã?Ç[¯4ÎÉÉðäv3†€ÎàÍ/FÖìq ÓÜÖ8†ÍfÔŸVÔ×NèâæÄÖ±­Š&r[@s·;ÂA¤ý+u}3‹éi½Ý«ðµ—_­pu“M£tv Œ¹Ï|/~ÆÐéYã´¬Ö·W‹zF©=;0ÜѸz”w«Ø®ñ,3Ý·a7tUKŽÌ¸9·ãylnvî°ü#Ãz_ i’éúL]\2Y’ÁËZÜïƒhdq†Cÿ8£gcB¢÷j6´~Õµj:dÚ­ªT¦³sÖZ{\Ø›€ã¹ÄŒr{b½¡Ûšþ‰FýŠýÍ5šÑÍ$8unsA-ÄŒcù ŒwÊÖœ1iÝÿ…"háÿeiêÏHúwkjiúV— j8c.Ôk]Õ¦©%ÇçÁ…û+J |s{r „†»ø°öKµéú]õu êæÔ¬‹VݽǬ”E!Ø'ø¸£nƒžÒI˜ƒN÷Ç¥™üÿªlÿÀ'Aßœ ýœÓÿÕ£[Ї¡éttMŽ‹¥ÁÜô(VŽ­X·¹Ý\Q´5ˉ'’IùTPDDD@DDD@DDD@DDD@DDõ*4µ*RRÔi×¹VLo†ÄBF;–AÁÿ8Xozõ½'ÂÐõî®?ù Vw¿÷,áÒ7™.=`—8 nÀ¶\UDU7ïg^5Mûùþ¿. >›ÄT¬ÝN·+R“;)ÞhcäÀ.=[šK%ÃpOVçmnÚy,ÂÓ¸“P­Åº ÝBÒëñ6átfÍ‚[§4ö´™G90AûÆâ×·1œ8gxSL·£èPé÷u)5)ã|Žu‡ïɑΠðÞ÷a¡Á£sœpÑÍg‡‰TÕn1ÏõÇÛÑž-UU³Æ9ÿm}±á ¢Ó­qÅ¿µ}'Iàn%Ö½é²Ê¶lÔ–‹"ë]Sío]f7œ2fdíÆIð·Ì45àÞã®hñè=§ëðÊÈ/ê0Á#˜tº85î·-pÏfAùïC=2¾§§Òâ^ÖxYš•‘NRzF+\×9‰{ƒ·p %»s¹Ík·Ï8£Š87ޏ~ï ð×iº¾©¨ÇÕWvf“Pk.׎­°86Pòææ00™]¸ñF•&¹Ã÷tˆµ}KGu¸ú£wN‘Œ³=¦79® q±‘œ´‚ƒø·Gâ¹µÖhÏšFèš´ºE§¾=6"c fy–´¿nH-v20ãž\ó¡mGá{œo h|:~™K_†*õâ ½Zy$“̸’Iq$¸’I$’º" """ """ """ """ .m¥%Ôþ…ŸT.’¹¶•ü—Sú}P¼ØýÍ0ûן÷Ú¿Öàý«W“½ßÿº_Ñmúî^±ßjÿ[ƒö­^N÷üjéE·ë¹iÐþñ1¸;W¸â-ÿOYýœ ÑKξàoˆ·ý=göp/E-gµ,〹·t7Àw5n±§ð'W­GR}B?z ot@jXŒ3<;É ðì= ¿kY±¦X¯LÆÙ¥gVùÀÀîEÙaÈi$¹¹Ü#p½-ONÒûUÔ=ò°É^álä:`çä·±˜.- Œ4cÚØ©ÔjU¡J 4kCV­xÛBÀÈâcFÖ´r äW‘ißOøžã%áÊ­¡Mõ§‚3وŨf10Öˆ£-¡£k“š/^†;.èö#· ¤£ _dõÀy‘‚ÅŠf7’ZÖžæ” ÎÅ®ÚòÛ="zu=ŒÇ•eõµIG2Ý>ËCd'> XÉ™Ry$%»#‚Cœnk¤ð_iFèÑ]f}Róc7u]NÄ—-Ü’8Äl|Ò=Ûœ˜ÒÖŒ»hnJÎw,èžökM’Öê-‰ oWdí~èù·k¹å½˜8Pjœf>#ã¾&âf6cWOpý4/ &Ûš"ð0×Ìñ ¶‚h´îw Ìÿ_Õ4ηwF¥Ýw#ØÞ©Òõl/kd—ªa›«atS|›64‡8{…ôZ¼=Ãô´jrM4ucÚéç!ÓXyæù¥pt¯qsÞìeÎs‰æVIQf‹­>”½ 0Ztm3Ç ¦XØüxMkËZ\Ðr‹ZHçØµN‡ÿÁ;ßÚ=sý«mmÓ‰LÆJZCö5®Ç"@##>,ç  èðhZŸ4:}¶S²öâ9ßZ#?.ÜŒœvdã8È=„$¢""ªEr}>htûl§eíÄs¾´F~]¹8ìÉÆq{IDDEPŠäÌ…´í²©lÌ|®t=a|`åÌÆÒáËw<p3‚J" "(Öb¸û•$‚Û!¯œlDaÜéi Ùð@'qäIÀ9 (ˆ€ˆ£®Q³‹lÛ a®!ð!p!åùìøÄ’y`$¢-;¤.ÔuûT­Vµ^ÝZÛzÝûäe;DJÇîqŒçp 86Vvx™9âUU4Þ˜¼³Æ®ª(™¦›Ë!ð—ß…é{óŸþo­ê¨ÿ>Öv8Ù0á‡ìíOƒ^øø|QwßœÿòWUDø2î³±§ø×I‡ ³gb»[‰ ŽÌTuÊÒh×exŽ!;‚ÃÉÀL<íc¶Ê@ÉŒ“1\:£gØ)¶Ã\Cá:BàCËóØ 4ñ‰$òÇÓ©¾ŸO›*)§®©¾œ#Ãç}Qnô‹Nèÿü,éûGû+O[ŠÕ87†oh|C®êÓÚŽQ¯LÛ–`lÒ¹µ§k ÞNàXÖ‚ì3ïmÃ@ 2 ;ã«Ñ~«ªëw5i™ÁºÅÖÏa¶ìvyH|­.æ+Ï,Ü7b)àÝ’H躳z¥[ô§£z´6ªØÑOÌŽV8aÍsO"Ò DgCÒèèš%Kƒ¹èP­Z±osº¸£hk—N$“ò Öº?ÿ :DþÑÃþÊÓÖâ¡éú]õu êæÔ¬‹VݽǬ”E!Ø'ø¸£nƒžÒI®ŒW#}—[¶ËI‹ák!Ø"vÇ ’ãÚ\y€¨’ˆˆŠ5®Fû.·m–“ÂÖC°E í;ŽA%Ç´¸ò”D@DQ´È®CM±ß¶Ëv7<ºVCÕ4‚â@ ÉÀ†ö’q’r‚J" "¢q)‚AØÉKHcžÂæµØäHdgÅ‘üáQF9á¥V¬wLì­–mc€æí£ÉçØ‚ò" "¢q)‚AØÉKHcžÂæµØäHdgÅ‘üáQF9á¥V¬wLì­–mc€æí£ÉçØ‚ò" .m¥%Ôþ…ŸT.ªEr}>htûl§eíÄs¾´F~]¹8ìÉÆq{?Ò¿’êBϪ›¹¦zóþûWúܵjòw»ÿãWJú-¿]ËÖ/ûí_ëp~Õ«É¿Âñ«¥}ß®åßDí¦/k÷|E¿éë?³z)y×Ü ñÿ§¬þÎ襴ö¥œpDDD@DDD@DD£ÝþM¿·Ú_ûÕÕ×(÷Gÿ“oíö—þõuuõúoîþþ¿÷3§·Pˆ‹ä4cxWZ«Äœ/¤ñ掮©J°2`d¬hp€ì8gŒøÊÉ-; ï‰NþÎiÿêÑ­ÅAá½j®½§KzœsGWmÒp”íõìIÏ"|èœGdÈCèÿ‹t~9áJÜQ >i4ËrNÊòKÇH"™ñí<Ã\XHÎÈ jœÃð/ˆ¨÷}ø³X²j¾W¶)_¯i̱¤ Yœ­áÌ$AÀYއÿÁ;ßÚ=sý«mˆµªº%&OøÏ»9ÎØñ·ݸ """ """ """ """ """ ·j-V–µ˜cž ˜c–)×´ŒyG,‚÷Šî•áðÕþ¦ó÷¶á2U#ÉŒý܃ZK£`Î"%l*>¥z–›JKºÊôêÇóX”FÆä€2â@$ç+:è¦zçÅž%OíUÝÞÃ|+¥Gø®%gÁù‡.²ä€Uÿü¹þàä‡aŽÛ! .,h[ Õµ;:¿é¶´ý#Oî va|/¿ªÕñ8vTxøÍ"^¬sFò9^ÐêpÞ…JI$‚Èö¹ícNd‘ÒLkZ\pÐÀ\a×TÕn1ÏõÇÛÁžuÍVãO>ýöÅ£ÚÊ""Ýèsm+ù.§ô,ú¡t•Í´¯äºŸÐ³ê…æÇîi‡Þ¼ÿ¾Õþ·íZ¼›ü ºWÑmúî^²ßjÿ[ƒö­^Mþ]+è¶ýw.ú'm1x;_¸â-ÿOYýœ ÑKξàoˆ·ý=göp/E-§µ,〈£i•]J›k¾å›Ž{ŒÖ Ü\âîx3€‰%Q;$FÉ_ œÒŒ¹„ŽÑFGã~%E;–”zé§êcl}lÎÝ#ð1¹ÇÆãÚOÊ‚ò" "¢v:H$’¾9¤ s £ ŒÆüJŠ0w-(*õÓOÔÆØúÙºGàcsÇ´Ÿ•äDAÊ=ÑÿäÛû}¥ÿ½]]r/tìÕK£ê½tÐuÜu¦ÇÖÂí²3"Q¹§ÄáÚʺêúý7÷Fÿ_û™ÓÛ«Ü""ù wJœ}G£Í?HÔõM>åªu.ãµ%XÝ#êD+Í3ì4ö0BKñÌ3s†ví;ŠÒ:LƒºxŸ£˜úé¡ÇºMÑ;i;tËîÛŸ$ãxÁ!CÒ/Uèçˆ*𖯩Ltmvì¿'š0Øh¼à0¹­ cy¸×ä´: Tβ ¯ˆ5Ïzun¡Ü½w¿Z“èïë6õ;jX±¿;¿æûqËX8mk‰8£á­¾á¾ѯ÷›VôóêÄ•>ÿ%†5k+Kœw3‰$º“¤𳣿íßì­Aaïñ&ÃÝ5ëýß_Y›º8sIÙï~nö6ÙÔ³»¹ã~ϺÝŒóÆpp|zPùŸÁßú¦ÏüÚèºÓé@ûÐçFÓµAÅÕ¤c¤pŽ~¿R¼§«wßdš»Z 4c´í nA­kWxò-Nhô^á«”Þªkzüõåw‚3º6Ó7 aç Ë8⾑µí:[Ôø/…#Ž+¶é8KÅ·×±$<¨º'ãÁò iÝÿ‚w¿´zçûVÚ Í½s¹ø×Lá¾åÝÝúmËÝYÏ%flÛŽ{»§9ÈÆÎÞY…¤kÐuÝ8p„tÑõ³&Ö;Oã´æípñ·ÂÎ>V´ø–®.âú<9­è:e–n~«g«{²áÔE¹¶LÙ³b¤;rë÷ýËFʹá ¤‹¼u¨k”až®£ášv[ «XžµìÞ×JÛ¯°2@i5 piÚê:zÕ8·ˆµêQ¤ðïèzn¥jý+w^ûú›éÇ+¾»J\âl·Ä <ÕίÜâJâ FÃáÔEGÓÔ¨ÁÊ´7c“«´ÐK‹&ŠH÷9¸´íÇÇ:Ý=¥Þ¹zJhß jñÐÓl]“&ÆšrYàÞGÂ#ÀÎHÌ/„m§Êuþ ¦úïеgßž!Údt2A s"#$„í Ù8ÚèÛ«~”¨Ù†Õ[¶X'…áñÊÇ µÍpäZAÈ‚´ëÝ'hUéObîIn{+Ø’bC_Z{ç“ÌÍdº1n–ÞÓ½åÔ)Þ îµñ:•ÖÛ­é^ãµ­‰10·k#kp1„×q7_â=MáÞÐ-UÑ®ÇIö/ë³V’Wº¬ ²¤€4 ÚߺÉ-<‚½ïJ3ø;ÿTÙÿ€Zßq6•Ãý#ôŒÛÑñ,òO­V!”´;·``e.aÐBöµç' œá¬åŒ»ðïéZõ×Ó£S_†FFe.¿ Ý¥óÄÆ—s9ÆN0<°ü®|!Òg¿Ü½ÍÕjW¨ìë7ç¹­Ë_~p>ëªÝìdã'0´î‡ÿÁ;ßÚ=sý«mâŠ4]¡fÛ®Y”NÖ5°½Ã«ˆ7?pÉq$’IÀñ•AF£UÕŸeιfÉžc/ñÎD0c ½¹$’I%I@DQ5ŠŽ¿¦X¢ÙcŒNέî|-”l<ž6»Á$· nd‚Zá–Ôú&·WIáý;£û¶a‡]áúM¦j=á³X«!ŠããŠVˆÝ–—5Ž{¢./c€Ùx‹^Ñøz“.k:„4ã–A yÌ–% –Å],®ÚvÆÀ\â0+^³Ñ¯ êZ-m+_©ï¸¡iÖtû³9ÑÞª÷HÙœöYŒ¶F¼ÈÜ—°°pI‘¡twÂ?"ƒL𿲨ÄQjéõ 00ob’ÃÞèšzÇä0€wåA7£ý6M3…+2Å)¨Z·$úº’Ødî­bÔϱ4]ckÚÉ%{A˜hííX·ÿÁ;ßÚ=sý«mn*Í:•iÂèiÖ†¼n’I\ȘÒ÷¼½î Œç9Î'´’IæPjšÿ·ºKÔiÍÊŸâýiâ»1Ã4܇…PIçªÛ‰ k@ÉñæµkEá÷»K޵›²6–• ¹’Z““ ÚÒbg9dÛ—6(äp “>ƒNæ&ªKgR‚G¾YäÛ.þ³¬kÚöm,s‚Ç3iakKH-FáÞÑ4¯½LjV-:3ŸQÕm_’6 ›¬Hó\ZÂàÜ39ÚÜQ ‰8VIú9‹†ôyam­6:’鎌Šb¤‘Ë\JØXØŒÆØÚ߸07–3}sN·e K.•­[£½á¡¢G2ÇÈÝïkŽÖ1§-h(¯fMK¥k1ÂØ{—BÒD2Ì!cÝ%‹r5æ.³¢tqÖ‰îŒ Z‰Îk ¶µ‡´Šz[J ×õ4ò;t’¼’çÉ#»_#Ü\÷<ósœç’TôETªëÚ|ÕrÍ3+võÕœ#i àã–q‘žX8($¢""ªUuí>j¹f™•»zêÎ ‘ƒÇ´pqË8ÈÏ,QFÔ*ºÛ!knY¬#™’»¨pi4çc‰Á$ ‚G,àBJ" "(Öjº{•, –bmw9ÆÜ&%¥£,2Hœœ ”D@DQWQ·Ë;[ ˆV,—^F2]ÈIÀÀærT}Jõ-6”—u•éÕæ±(ÉeÄ€2HÎT…«q‡Ç®êú~¹^÷rêšv;˜Ø®ËUñÖ1ç1?î]àc|ncùýÑÀ7Ò~T‘±ÒA$l•ð¹Í HÀ ˜Híd~0GâTQƒ¹iAW®š~¦6ÇÖÌíÒ?œ|n=¤ü¨/""æÚWò]OèYõBè¥W^Óæ¨Û–i™[·®¬àÙ<{I³ŒŒòÁÁ\ÿJþK©ý >¨^l~æ˜}ëÏûí_ëp~Õ«É¿Âñ«¥}ß®åë'ýö¯õ¸?jÕäßáøÕÒ¾‹o×rï¢öÓƒµû¾"ßôõŸÙÀ½¼ëîø‹ÓÖgôRÚ{RÎ8ˆŠ""" """ ""Qîÿ&ßÛí/ýêêë”{£ÿÉ·öûKÿzººúý7÷Fÿ_û™ÓÛ¨DEò4î?ÂÎŽÿ´s²µ²ëZ]gL›MÔ ë«K´æ9®kƒ˜ö=¤9kƒ\×´‡5Íi±œKÃ5õÍJŽ¡`Õ64·uúc¤¨ÉL; „»™¸nÖ–ò.9ݱÑçÔtë—£ãNx+‹ujvø¿NÖ¥±,ÆØF¡P麓"¸ÈÃŽÜíÛ#yl;c¢s÷#㯉ÿ³š?úΦ¶[zV—oS¥ª[ÓiØ¿C¬î;RÀ×K[¬n×õo#,Üdr+ ¯ð>­ënÖ­»Y¯}õ£ªùtýnå²(Ü÷1®JÀí¦Y$á*-;½¿ÖYhÀ.{ÉsÝË›œI'™$ª/-;¡ÿðN÷ö\ÿjÛ[гN¥Zpºu¡¯¤’W2&4½ï/{ˆã9Îs‰í$’y”¦¯ñ×ÃÙÍcýgL[ŠÀñGhœIv•íHjQÚ¥±Wž†«j”d¦3#K ‘…Í&(ÎFZ3½¿Öé;Tá:ÐêRéÚí!®Õ¹rëíÈlCÕU³¤–GJZÜNnày¾Q»­nKWøëáìæ±þ³¦-®ÅJ¶&­5ŠÐÍ%Y µÞö:–9…Ì'î]µïnG<9ð•‡âŽÑ8’í+ÚÔ£µJ9b¯= VÕ)ÉLfF—A# šLQœŒ´(3ËTàÖÕŸŠø·SÓ&›¸§»Fè‡U-Øak&ž)wíÚ ®æá¡’Tcqq6{Úðüq-ÈO)+Üâ}JÄ7ÆÉ"’w2FȱàµÀA…µÑ©V…((Ñ­ ZµãlPA #‰kZÑÈ4Qªtþt‰ý£‡ý•§­Åjš—GÜ9X½«>M~­«ò6[F‡ß§¯llˆ8Ç Íf푱¹$4eYïoÃßõÿëWþ%â´î‡ÿÁ;ßÚ=sý«mn+NwF¼1Ýf†n%©Ý6fµ$u8ŸR¯[,Ž’G68çk¹ïsˆh$¨7ZÖ‹Á:6‘©Ã¨Ô»Ä²Mí­·Äš…¨ŽZZwE,îc¹Œ´ààŽ`²ªˆ‚ÍçZe)ßFg´ØÜ`ŽiLQ½øðZ熸µ¤à¸Ï±i×½S£STÔ}ò¿µ¬GjçRØ{¦VêvƒäØÞLÜAvÑÈgo«Nèü½ý£×?Ú¶ÔŠ"*´náÊZ—èZÝCˆeµkM¯<Ï÷þëw=ѵÎ8€2Iä9,ÇÀý'Îø‡ÿPÞûe…âULUzýz11k¦*Šc¯_£aE¯|Ò|ïˆõ ï¶OúOñþ¡½öË«âr£­¬oáù6Z÷Àý'Îø‡ÿPÞûdø¤ùßÿêßl—Äå?CkøcÆ~M…½ð?Ió¾!ÿÔ7¾Ù>é>wÄ?ú†÷Û%ñ9GÐÚÆþñŸ“aE¯|©ñ”u~!§`}ÄÞûÏcoËü\î’7ddxL8ÎF=ïâª_ó.!¯¨Æ<3©I½l‡ÈÀXÖ4às1<‚Ið†uÇ|?PfWª|&ÿ§ú6ZÔ<]}Z '_Ónh¶ì=‘W–f‡Ô³+·øNÜ·'aÃd¼‚ß'e]Q]5ð—tbS‰Ù‘nÄD@DDD@DDD@DDD@DDÇúy«ÓÏKš@ÚÚNžtgS£ Dp@é*9Ò9ŒnâN2p3Ø`\w¢úKôÕÿ€ÿ©=s4ÄÌL¹šbf&c®‰N„D@DDD@DDD@DDD@DDD@DDD@DDÍ´¯äºŸÐ³ê…ÒW6Ò¿’êBϪ›¹¦zóþûWúܵjòoð€|jé_E·ë¹zÉÿ}«ýnÚµy7ø@>5t¯¢ÛõÜ»è´Åàí~àoˆ·ý=göp/E/:û¾"ßôõŸÙÀ½¶žÔ³Ž"¦Q­¦ÓmJ{bkžÿGHâç8¹Ä¹Ä’KœO3ãEIDDTOf‚H^^ö–’Ç–81ÉÀ‚ã!QF¬©AJ«:¸+ÆØ¢fIÚÖŒ“Ìò4‘ÆÙ ’—†½¥¤±åŽŒrp ƒøÁÈTQ«*PRªÎ® ñ¶(™’vµ£dó<‡äDAÈýÓvkR§ÑíË–"­Z:Óeši^ÈØÑ)sœãÈ$žÅ¸÷Ìèãð¦+ûk5Äš“Äš-\£í>ÆÞº 3µû\ÜãäsAÿ2Â÷³èãð¡ëû ìáô¾…‹ÑpðzDUz/Ù·]æýìæš¢©˜ï;ætqø@á?Óý´ï™ÑÇá„ÿLWöÓ½ŸGƒþý_ØNö}~øOô=asæŸYðžSC¾gG„ý1_ÛNù~8OôÅmYµÑWF–z®³€xe½T‚FõzlQäŽÀv´noÊÓ|a^ïgÑÇàÿ„ÿC×öÍ>³á<¦‡|ÎŽ?'úb¿¶ó:8ü pŸéŠþÚw³èãð¡ëû ÞÏ£Áÿ þ‡¯ì'š}gÂyMù~8OôÅm;ætqø@á?Óýµf^Šº4–ÌÀ<2íºlMaÜ0w47k¿àqâ½ÞÏ£Áÿ þ‡¯ì'š}gÂyMù~8OôÅm;ætqø@á?Óý´ïgÑÇàÿ„ÿC×ö½ŸGƒþý_ØO4úÏ„òšó:8ü pŸéŠþÚwÌèãð¦+ûj̽ti-˜,;€xd>Ûtؚø`îhn×~-ÀãÅ…{½ŸGƒþý_ØO4úÏ„òšó:8ü pŸéŠþÚwÌèãð¦+ûiÞÏ£Áÿ þ‡¯ì'{>Ž?ü'ú¿°žiõŸ å4;ætqø@á?Óý´ï™ÑÇá„ÿLWöÕžõ]wov|áž³«êöûÛWŒç;6íÝÿkÇ,á^ïgÑÇàÿ„ÿC×öÍ>³á<¦‡|ÎŽ?'úb¿¶ó:8ü pŸéŠþÚw³èãð¡ëû ÞÏ£Áÿ þ‡¯ì'š}gÂyMù~8OôÅm;ætqø@á?Óýµf.Šº4ŠÌöÀ<2_6ÝáÚlN`Ú06´·kÐ3ãʽÞÏ£Áÿ þ‡¯ì'š}gÂyMù~8OôÅm;ætqø@á?Óý´ïgÑÇàÿ„ÿC×ö½ŸGƒþý_ØO4úÏ„òšó:8ü pŸéŠþÚwÌèãð¦+ûjÌ]ti™ì7€xd¾m»Ã´ØœÁ´`minÖþ= gÇ•{½ŸGƒþý_ØO4úÏ„òš-;¥NŒK]Ò?‚9uºÜ¿]|ï«Ñá#ƒ¿NVö××tWу‰sº8àòO2N‰[Ÿê/êº/üðwè:ÞÂù5Zó³Á§YßW¢ÿÂG~œ­í¨±ô“Ñ]JSA¥ô‡À”Ü÷K+v굺±,ŽsÜ÷5²7q/qs¹‚âIÎNUʽôW[­êú9áGu²Öi0É‚{@ÜÓµ¿#Fñ{½WEÿƒ~ý[Ø\ŒOqßEzRÖ­ÒIYûÖ»W¨×‡††¸—5ÀÖa»FÌmnÆe»êô_øHàïÓ•½´ïUÑà߃¿AÖö½WEÿƒ~ý[ØAèÏâã†>ˆ©û-…kÕ‚§F\5vlc´È%#$øO`{?•Î'üëgYà}Ý>ÈcÑþæd~B"-[£i”ki´ÛR£^Øšç¿Ã‘Ò8¹Î.q.q$’çÌøÔ”EDñ¶h$…åá¯ii,yc€#œ þ0rVŠÍ°R¥*¬êà¯b‰™'kZ0O3ÈxÕäíAªÒÖ³ sÁ3 rÅ#Cšö‘‚Ò"債©)Yá(­ßÒbÔ5=/œÒcp‘õ€`TÆàó„œ`ÿ·nÇí*6©F¶§§ÍBã^úó·ddŽas|c- àö|ÆAäVuÑu÷óg‰‡õðžj4MSOÖôšÚ®•n;t¬³|R°òpÿõ‚0A)‹VÔ™ ]“V¡Kûר\Õ™XÑYî¦é$Œ7Áh”sþ3–×ïÚS©žª¸ÂaW3û5qŽ??×°DQµJ5µ=>j÷×»$k$s ›ãi°óæ2"´j’ˆˆŠ6¡FµöBËM{Û Ì²9£{æ“´ÀF@åÉ”D@DQ¬Ñ­fåKs5î–£œøq#ƒZç4´’Ðpã´22qŒ ’ˆˆŠ1£XêÔ‹^l²\dvÖ°¸8€ÜíÉ-nN3Èsä‚J" .;ÑGý%újÿÀÔž»ä]Õþé>–®¹™ž(ôˆ˜üžM}\¸c³™còþuëèÝ? ö˦*öþÝ4ÛNÕýÖïsUV˜Žnºˆ‹ÈèDQ £ZBÍøÚþè²Ö2W:G8³;@á nqäI$óA%j4kR}—×kíLg˜¾G<¹äçÂ' hr QkZ×õ:œÚ&ƒ¤Ü×ux¶‰c„uuª—4lYw€ÌFçFÝól{^ØžÒ¶U¤t7Z6hzî ]4–µ'Õåµ,³>G<ÅvZÑ­l0BÀÑ€$ œSÆZ-½Äœ ºq’8žîÔ&ÔìÂ^ðÞ±Ð:´NtMÉ.1õ°Â7î4mÕ¿J ÔlÃj­ˆÛ,Âðøåc†Zæ¸r- ‚äAW–…Ðî„þ1ášÛ¥i!+#‰®žÓq¼¸=²±Á®25À9u ßOy(ûùÜ~ú÷4}ÛÜ{ºŽ¿hë:½ÞÍÙÆîxÆV5¾o?PÕç‡PÓ.Æ×ÐŽ¥†õÚ„»zØMÁÍ/°âÀ躷n - €FC¯z¦‰F¦©¨ûå~ÑÇjçRØ{¦V´ɱ¼™¸‚í£Î ˆˆ€ˆˆˆ€ˆˆˆ€ˆˆ ”teÿHn—ÿð_õG®®¹GF_ô†éÿÿTzúÿfËtÏûqÿ— }ª}¿Ú]]Èh""" """ .wÁ\A¢ðö­ªðÝíJ õmkRXÑmJ‰¸.ì´câŒÆ{†C‘!‰¬v×ãÐlFékÉ&’½…­–0Òæ>èndvó| ¬u}MŠ•Í9Л:uÈÌsÒ²zèžü—u€ø`’râ79åÐ[âî'ÐøOL‹Qׯw,3Yޤ dOš[Èí¬Š(£|'üV´œ{"ÏÖÖ"áö[âL5}BG]·]óu¦dæÚÌ-%›bfÈ·0òÇHF縗ðWðÝ×ÞáÞÐ4{OŒÄùèiÐÁ#˜H%¥Ìh%¹kN;2ȳʎxíj¯ñö¿ð†9©èzü‘ê±ë²€Ú5fdU}YäÎ!qDö=û[!”°xL÷"×´~¤ËšÎ¡ 8åC^s%‰H%±DÁ—K+¶±°8ŒJÉ,ðWðÝ×ÞáÞÐ4{OŒÄùèiÐÁ#˜H%¥Ìh%¹kN;2È‚FfÕÝ*÷]ÐfÐlk×MãFÈ"ÌlGFq½ÀJè Å ÜAs\÷Ùéƒü£ý£ÐÿÚµ∠Nèü½ý£×?Ú¶Ö∠Né+ÚV§¦qÆ›¥ÜÕäÑë[¯sO¦Ö¾Äõ&kþ¡„´>a-zäá–u <°-Åcxw^Ñø†“îhÚ„7#ŠC íaÄ•åE+­Ü7FðÒp@+CQ£Æ|M¦jZKiê|?¤u¶!Õ#•Å’^s -îw±Ûec!–Ëd$‡½i/d™>"à® âK¬½Ä\% k™‰“ßÓ¡žF°CCžÒCrçvdŸ•gÐÿø'{ûG®µm­Å6Ò¿’êBϪI\ÛJþK©ý >¨^l~æ˜}ëÏûí_ëp~Õ«É¿Âñ«¥}ß®åë'ýö¯õ¸?jÕäßáøÕÒ¾‹o×rï¢vÓƒµû¾"ßôõŸÙÀ½¼ëîø‹ÓÖgôRÚ{RÎ8Š6™F¶›Mµ*5퉮{ü9#‹œâççI.q<Ï%QM:¦–ù·êþ|-l/k„ã-™Dyaæ|´¿jfÒÆiÀ¦ˆ¯מß>þ3«VáÍKÜëÃöêßÒuŽ‹jj5™¶;ÕæÓ¡Ÿ%¥®vèöà¸Üdc–ÑßW¢ÿÂG~œ­í§z®‹ÿüú·°êº/üðwè:ÞÂÉî;êô_øHàïÓ•½µT}(ôe!ÛH¼ óÛ†ëUÏÿî©ïUÑà߃¿AÖö¹º%èºS»Þp´f)0épÅ’ÊhwÌèãð¦+ûk‹ðK)£ôÍÇzý“yúgͧÇRxàÎÆ×‰Ñ>G´àÒNá€]ŽÐ%Ú;Ùôqø?á?Ðõý…¿¹¿Š}òêýýÑ»‡®Ç]™zÞ«wÝu{q»öïÆynñ¯•ö§M«£Q±ödU1\LWµnU5E­­=oØù>…ö'JÍŸ¶166m³i˜þ-®é½º­ùKº÷Ìèãð¦+ûiß3£Â þ˜¯í§{>Ž?ü'ú¿°ìú8üðŸèzþÂú¾iõŸ ñþSC¾gG„ý1_ÛNù~8OôÅm;Ùôqø?á?Ðõý…f.Šº4ŠÌöÀ<2_6ÝáÚlN`Ú06´·kÐ3ãÊy§Ö|'”Ñ{¾gG„ý1_ÛNù~8OôÅm;Ùôqø?á?Ðõý„ïgÑÇàÿ„ÿC×öÍ>³á<¦‡|ÎŽ?'úb¿¶ó:8ü pŸéŠþÚw³èãð¡ëû Í^Šº4­Öõ|Ã.ëd2;¬Ób“ö¹§k~FŒâ æŸYðžSEîù~8OôÅm;ætqø@á?Óý´ïgÑÇàÿ„ÿC×ö½ŸGƒþý_ØO4úÏ„òšó:8ü pŸéŠþÚwÌèãð¦+ûiÞÏ£Áÿ þ‡¯ì+5z*èÒ·[Õð »­Èî³MŠLÚæ­ù0ˆ'š}gÂyM»ætqø@á?Óý´ï™ÑÇá„ÿLWöÓ½ŸGƒþý_ØNö}~øOô=a<Óë>ÊhwÌèãð¦+ûiß3£Â þ˜¯í§{>Ž?ü'ú¿°¬Òè«£J•™^.á—1™Á›MŠWó9æç´¸öøÊy§Ö|'”Ñ{¾gG„ý1_ÛNù~8OôÅm;Ùôqø?á?Ðõý„ïgÑÇàÿ„ÿC×öÍ>³á<¦ŽCÒOºÆ•ƨp±á½[H‹«î{mß8“1´»ÃŽPÓ‡]˜Çh[¯¹ÿ¤}s¤~ýù«§AÜGUÜ‘½¹ë:ÌîÜ÷yÇi]!ô¬j¼azÿ Òt‰z¾ç¨ÝðñC¼â-pqåÛœö•ºûŸú8×:?÷ïß›ZtýßÔu]É#ÝŽ¯¬ÎíÌo–1Œø×ãéÞ·ú­|«Õkòëµÿ£ú—Ú_ðçü7NFÆó±‡{_kjôí{º¢"/²þb"¢xÛ4Bòð×´´–<±ÀŽN9 Š5`¥J UYÕÁ^6Å2NÖ´` žgñ ¼ˆˆ ›i_Éu?¡gÕ  j”kjz|Ô.5ï¯;vHÖHæ7Æ2ÒaçÌdEsý+ù.§ô,ú¡y±ûša÷¯?ïµ­ÁûV¯&ÿÆ®•ô[~»—¬Ÿ÷Ú¿Öàý«W“„ãWJú-¿]˾‹ÛL^×îø‹ÓÖgôRó¯¸â-ÿOYýœ ÑKiíK8à""(ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆ1µô ³Ä,Óá:½ˆÄ/ºñ¾aÛüSì–E–‡umÃw;œâp.GKéCT‡Bu:°ÙÓYwY¡NþS$ò-05¡…ò†Úl¯$¼õ5ûç§jÝ3𾽩/…:Dàí&…{/ƒUÕµñ²V€×ÚQH@•ùÚz÷ƒ¢ ­Üz*±Á#D“Làî*§Ä¯­±Ú…Öꬿjy\Ý¢[2‡ç¸G€NkZZ ÜQDÒõšwOMò>6¿a/‰ìÀp ¤Šàæœ9¤ j{£?‹Žú"§ìX¶¯tgñqÃDTý‹²Àûº}Ç£ýÍÈü„DZ¶½®ÿÊxφèýÇQÝZžþÝÝ\b¾Ìx³Ý{³âêñ #aZ·O&³ïËÈõ9„zy!íq£D$µÍn7¹ÓJ9¶VŒâMæ(ç×á×ò{ i‰šhº:þQïfµmGÕú¯}´š‡Už¯º«²]™Æq¸gÿ ¦V†Õã¯^(á†&Gm kr­×›Y¬QLU5DuȈˆèDDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@\ÛJþK©ý >¨]%sm+ù.§ô,ú¡y±ûša÷¯?ïµ­ÁûV¯&ÿÆ®•ô[~»—¬Ÿ÷Ú¿Öàý«W“„ãWJú-¿]˾‰ÛL^×îø‹ÓÖgôRó¯¸â-ÿOYýœ ÑKiíK8à*!–)˜_ Œ‘¡Îa,p 9¤µÃ—ŒAù*µf•J´«2­*ÐÖ™Ù, crrp!Ì’Š¼ˆˆ ˆ%Šx#ž ,R4=cƒšæ‘A „ž(§‚H'’Å#KÇ´9®i ƒÚH"Š#‚ÙQ´1ŒcCZÖ€€¢"¢ bžç‚FKcØà湤dGh!'Š)à’ ãd±HÒDZíkšF ö‚¢‚à‚6Em cÐÖµ ``hˆƒ ÆÜYü¡;[â}R-6ƒdlBGµÎ.{»Ö´8ò' Ø ÷Ft5óÇýoì•éh¢žŽ ž6Kœy¦1ì{Cšæ‘( ƒÚ]i}º0zDÃÅéWUUívkŠb-6øû™L×5LDðýsrîŒèkçú2ßÙ'÷Ft5óÇýoì—WEžÙ?‰üÚĶÄçW(þèΆ¾xÿ£-ý’tgC_<Ñ–þÉuU*Ú껪´3õ2 bë±ã±Ã=Ž"9«ÉŸöOàb6ŸñÄçW(þèΆ¾xÿ£-ý’tgC_<Ñ–þÉutLÿ²ù´ÿˆ¶'8ðú¹G÷Ft5óÇýoì“û£:ùãþŒ·öK¨ËR¬Ö`µ-hdž¾î¦W0ǸaÛOhÈäqÚ¯&Ù?‰üÚÄ[œx}\£û£:ùãþŒ·öIýÑ |ñÿF[û%ÕÑ3þÉü OæÓþ"ØœãÃêåÝÐ×Ïôe¿²OîŒèkçú2ßÙ.£-J³Y‚Ôµ¡’zûº™\À_á‡m=£#‘Çj¼™ÿdþ'óiÿlNqáõrîŒèkçú2ßÙ'÷Ft5óÇýoì—WDÏû'ð1?›Oø‹bs«”tgC_<Ñ–þÉ?º3¡¯ž?èËdºrUîÞîîh{««êºýƒ¬ÙœíÝÛ·<ñÙ•y3þÉü OæÓþ"ØœãÃêåÝÐ×Ïôe¿²OîŒèkçú2ßÙ.®‰ŸöOàb6ŸñÄçW(þèΆ¾xÿ£-ý’tgC_<Ñ–þÉuªU†Ìö¢­ sØÛ×JÖù6Œ7qí8†{äÏû'ð1?›Oø‹bs«”tgC_<Ñ–þÉ?º3¡¯ž?èËdºº&Ù?‰üÚÄ[œx}\£û£:ùãþŒ·öIýÑ |ñÿF[û%Ôb©V3ÚŠ´1Ïco]+XäÚ0ÝÇ´àrìW“?ìŸÀÄþm?â-‰Î<>®>ÿtßAì{˜î6ÚpG½W;2©þéÞƒ¾{ÿ¢®ýŠìH¾MV¼ìðiÖã¿Ý;ÐwÏôUß±TX÷Lt=y H# cÓ¯1ÀŽNl@´þ0A%×êÔ«W­îZÐÁ×He—«`n÷ž×v¸øÉæ¯.G¡î‹èƒäu.ް‘Œc™“u¬Ãµ¸`‹h!¸n@ÎÑØÖ/û§zùïþŠ»ö+±" o¢Ùb›£^|22F*³ c͉­påã~B Ù·ÑlQCѯ ²ÙN•Yä1 çD×8òñ’I?)%l‹<»§Ù z?ÜÑìÈDE«eËÌ/†FHÐç0–8ÒZáËÆ ü„Z³J¥ZU™V•hk@ÌìŠ1¹98æIWÅðIñ²X¤icØö‡5Í#{AKðG<2X¤h{Ç5Í# ‚;A µDEÁlŠ(ÚÆ1¡­k@ÀÀ­Q<±A“Ï#"Š6—½ïpkZÐ2I'°«Z¦·yœS¥Ãš •e’š÷®Ø«××§ Á¡®Ãf”<p y5âºâŸ×˜‘DuñîŽkÜP'×äw P’>æsÚÝjW0¹­¬æåÕÚA–F9sc\v“í•bø_AÓøsInŸ§¶B Ý,óÌýóY•Üß,¯<Ü÷ÓüÀ`Qs‡Löªã.p©˜ýª¸Ïê¢yb‚ 'žFEm/{ÞàÖµ d’O`V¬Ý©VígÕ»Z0?â™ìvFAäy€V­W‘Q4±BÀù¤dm.k{€Î!­üdÊHU«6ªUµÕwUhgêdÅÖ0;cÇc†{2y ¼ˆˆ ˆåŠGÈÈäcݶHàK€ìàƒüÄ|ªµf­JµzÞå­ t†Yz¶ïyíqÇkŒžh/""¢b™…ðÈÉæÇšK\9xÁ‚«ViT«J³*Ò­ h‘BÀÆ7''rÉ(/""¢ bžç‚FKcØà湤dGh!'Š)à’ ãd±HÒDZíkšF ö‚¢‚à‚6Em cÐÖµ ``hˆ€¨‚X§‚9à‘’Å#CØö89®iÚIâŠx$‚xÙ,R4±ì{Cšæ‘‚= „‚( ‚8 ‘ECÆ45­hØAZ" ¢yb‚ 'žFEm/{ÞàÖµ d’O`s+ù.§ô,ú¡t;µ*ݬú·kCfã|S0=ŽÁÈÈ<0 çšWò]OèYõBóc÷4Ãï^ßjÿ[ƒö­^Mþ]+è¶ýw/Y?ïµ­ÁûV¯&ÿÆ®•ô[~»—}¶˜¼¯Ü ñÿ§¬þÎè¥ç_p7Ä[þž³û8¢–ÓÚ–qÀDDQrtù6þßiïWW\£ÝþM¿·Ú_ûÕÕ××é¿»ú7úÿÜΞÝB"/ÐDDD@DDD@DDD@DDD@DDD@DDD@DDDA¡t{Æ\!W€8vµž*Рž*´rÅ&¡\Çš H.È òÁYχ<óÇ¿ICí-…Q‰M1NÔuiõyððñh¦)ÚŽ­'æ×¾ðOÏý%´Ÿx'ç‡~’‡Ú[ .­‰Î<>®¶q¿Š<'æ×¾ðOÏý%´Ÿx'ç‡~’‡Ú[ %±9LJÔÙÆþ(ðŸ›^øsÁ?<8{ô”>Ò|9àŸž=úJil(–ÄçSgø£Â~m{á¿¿Á«Ä:}ùÜס0µ;þ]±E¹îÀæp$ò§ÂK6¹hü5¬ÜiðDö!¢cþG‰ËeÚ9æFñƒËq«aDÙÄž5xGÎæÆ,ñ«Â>s?“V“‡u}bëgâ]k}µÃH Îª»ŽÉä$¾Ãpð1ü[°ng2ËZ*ÖŠµhc‚X#Š(ÚÖ4 €9,q£š:áÕTÑ×DDZ46Ò¿’êBϪI\ÛJþK©ý >¨^l~æ˜}ëÏûí_ëp~Õ«É¿Âñ«¥}ß®åë'ýö¯õ¸?jÕäßáøÕÒ¾‹o×rï¢vÓƒµû¾"ßôõŸÙÀ½¼ëîø‹ÓÖgôRÚ{RÎ8 6™~ž§M·(XeŠîsÚÙÍ®-qiÁñŒƒÏ°öŽJJ"ˆˆ‚‰åŠ$žyQ´½ï{ƒZÖ’I=€EP]¥Ú¯ë ±e‰ø#s\21ÈøÕä@DDO,PA$óÈÈ¢¥ï{ÜÖ´ ’Iì*(Ú‚í(.ÕYˆÛ,OÁšápyŽGƯ"" ä^éÛPR¥ÑõÛOêà¯ÇZl²¿íkD¤œgñ.º¹Gº?ü›o´¿÷««¯¯Ówôoõÿ¹=º½Â"/ÑP¿OOd.¹a‰ædní|8k@ñ’ò“Ȥ¢ ""ÖoÓ­r¥9ì1–.9ͯû© Z\ìÌövÒ”DDAÍúu®T§=†2ÅÇ9µã?u!kKò9žÎÁÚB’ˆ€ˆˆ#ôƨÝ,Øgv:8„swV\~A’ÏoGÀç¾?ã!|NcËÒÇ€ææ¸`Ø¡ñuÛ5´ØêiÒõZ–£0§MûAêÞàç:\õq¶I6œu{s—#M«K‡ôë›;*Ó„ºk6^v2çË+¹çÏsŽ2I'µaMUíÌLÅ£õÏõÔóÑV&ÜÅSˆån¿ýYs[Õ4ýI³ªê¶ã©J³7Ë+Ï&ÿRIÀs$€2J‘jx*Ö–Í™£‚Xd–YÖ4 —y<•ÍxŽ k[àÞ%âz4úÍÑn7IÒ$hß]®…ÀØ›äÍÈ ø¶9Íæ\å´ñÄoµo†tþ¾H ³­Féƒrñ RÙcrAÀë 8ÁÀ##+ˆÇ™¼Û•½ófqÒj©ˆêê¶·™ëù.Ðã.¿4l©fÌ‘K/S®áœU‘û¶€ÙË:£—x-!Øq ’3°(zæ±¢^Òl¾FAv´•¥td½¥¤‚AÁñ‚´«³]âNø3O»kü"îVjr€ZécîgØ•ƒc›·¬ê‹9½Ü—UbUGTõÏwvšó‡Ubׇx«®mÕÝßkwó޶Ë[‹4K6b†)nl™á‘Y~Ÿ;+H\pͳ¹‚'Hv\ÐÜäg3<±A“Ï#"Š6—½ïpkZÐ2I'°­jt«jZm­:ì]m[P¾ ™¸·s \20FA<Ç5†èêk²p•hu]ÙjœÖ(¾Éûžy!;.qÜáqæy’»¦ª¢­ššSUq^Å]w‹õimg›7FÔiAv«úÈ,FÙb~Ü× ƒƒÌr>5yjØQµKôô½>mCP°Êõ né$`û’y9’@ J ""ª_§¥éój…†W­wI#ûÿÜ“ÈÌ’RQmBý==ºå†B'™E»µò<á­ÆIÿÈO J’ˆˆ€£Y¿NµÊ”ç°ÆX¸ç6¼gî¤-is°>@3ÙØ;HRQc~˜Õ¥› îÇBgŽnêÃKÈ2@íçŽÃ‰(€ˆˆ 1¿LjÒ͆wc¡3ˆG7uaÁ¥Çä öóÇaÄ”@DD ôçÔ,éðØd–jµŽž6ó1‡çn '¸ÁñŒÉDD@Q¨ß§yö[RÃ&5f0M³˜d€[Ÿ” ã°äv‚”@DDúwŸeµ,2cVcÛ9†H%¹ù@pÎ;Gh!IDD@Q´Ëôõ:m¹BÃ,WsžÖÈÎmqk‹NŒd}‡´rRQQ<±A“Ï#"Š6—½ïpkZÐ2I'°¨£j ´ »Uýd#l±?nk†AÁæ9¼ˆˆ‚‰åŠ$žyQ´½ï{ƒZÖ’I=€EP]¥Ú¯ë ±e‰ø#s\21ÈøÕä@DDµKôô½>mCP°Êõ né$`û’y9’@ Ÿé_Éu?¡gÕ ¤®m¥%Ôþ…ŸT/6?sL>õçýö¯õ¸?jÕäßáøÕÒ¾‹o×rõ“þûWúܵjòoð€|jé_E·ë¹wÑ{i‹ÁÚýÀßoúzÏìà^Š^u÷|E¿éë?³z)m=©gDE(÷Gÿ“oíö—þõuuÊ=ÑÿäÛû}¥ÿ½]]}~›û¿£¯ýÌéíÔ""ù D@DDD@DDD@DDD@DDD@DDD@DDD@V5L£§Ù»(Ìuât®Ú܆‚O7ÑÙÚâÊ@WÕÃ ì ž(å`{^ö‡æ¸9§ŸŒ>"A¯×tš×húÄHtØ+^iëKAŽÇYlqfr×ì0ÐçµÁ¤–¬ž¿£P×i2ž¢Û…“2vˆmKÞÖѹ§‘Á8È´&Å 1>WÅl|Ïß+šÐ Ý´7'å8kFOˆâU®2éë¿]ÙåS;Q=wãáf•ÅüV× k´éuÙîÍBxëÅ&½mÍ|†7´‡Í´‚p0î_/%°ñ&=úÕ¦¤øÙ~–Ú¨é .µÌ'ñ¾H÷aÛwî–…”EÄ`Q´Zî#£áÅí½¸iýúÚ¶¥ÄV/R“MÑèë55‰ñ cK•¬¨ç!‘Ìê_Õ‚çà<¶BÍ­'p++ªèÌ·¤×©^ÄOMñËNÌŽt¯ŽHû œã¹ÁÃ,„æ=ãpÜJÊ"±‡{íMÝFÍöæ÷ýxý°â‹–©CR¦¨W×%êã’,õžH“9cc‘±Îð^›pÓ—°é•{‡M«KºlYîxY]aûå“hsÝãqÆIñ•!¦™‰½Su¢Š¢oTÞ_ÔDE£Asm+ù.§ô,ú¡t•Í´¯äºŸÐ³ê…æÇîi‡Þ¼ÿ¾Õþ·íZ¼›ü ºWÑmúî^²ßjÿ[ƒö­^Mþ]+è¶ýw.ú'm1x;_¸â-ÿOYýœ ÑKξàoˆ·ý=göp/E-§µ,〣i—éêtÛr…†X®ç=­‘œÚâלÈ<ûh䤢(ˆˆ(žX ‚Iç‘‘EKÞ÷¸5­h$“ØTQµÚP]ªþ² ¶XŸ‚75à àó^DDADòÅO<ŒŠ(Ú^÷½Á­k@É$žÀ¢¨.Ò‚íWõX²Äü¹®˜ä|jò ""?WM¥ÑÝÛ²õPEÇšcÞý¥ØJIÀö»ã¾êò]ÿÜm#ýêìKыҫÄÁ£b-Eíï›õ¹Šm3""/;¤mBý==ºå†B'™E»µò<á­ÆIÿÈO J’ˆ€ˆˆ#Y¿NµÊ”ç°ÆX¸ç6¼gî¤-is°>@3ÙØ;HRQk7éÖ¹RœöËæ×ŒýÔ…­.vÈæ{;i J"" ŒoÓ£t³aØèLâÍÝXpiqùH=¼ñØq%F‚ý9õ :|6%š­c§¼ÌaùÛŸÆCIÇn0|c2Qh/ÓŸP³§Ãa’YªÖ:xÛÌÆ¹üd4œvãÆ3%F£~çÙmK ˜Õ˜Á6Îa’ n~P3ŽÃ‘ÚRQm2ý=N›nP°ËÜçµ²3›\ZâÓƒãŸaí””DDAL¿OS¦Û”,2Åw9ílŒæ×¸´àøÆAçØ{G%%Q<±A“Ï#"Š6—½ïpkZÐ2I'°«DhÚ‚í(.ÕYˆÛ,OÁšápyŽGƯ" (Ú¥úz^Ÿ6¡¨XezÐ7t’?°ýÉ<€É %FÕ/ÓÒôùµ BÃ+Ö»¤‘ý€îIäæI)(€ˆˆ 6¡~žžÈ]rÃ!ÌÈ"ÝÚùpÖã$ÿä'%IDD@Q¬ß§ZåJsØc,\s›^3÷R´¹Ø ™ìì¤)(€ˆˆ 1¿LjÒ͆wc¡3ˆG7uaÁ¥Çä öóÇaÄ”@DDߦ5FéfÃ;±Ð™Ä#›º°àÒãò {yã°âJ ""úsêtøl2K5ZÇOy˜Ãó·?Œ†“ŽÜ`øÆd¢" (ÔoÓ¼û-©a“³&ÙÌ2@-ÏʆqØr;A J ""Fý;ϲږ1«1‚mœÃ$Üü 8g‡#´¤¢" (Úeúz6Ü¡a–+¹Ïkdg6¸µÅ§Æ2>ÃÚ9)(€ˆˆ(žX ‚Iç‘‘EKÞ÷¸5­h$“ØTQµÚP]ªþ² ¶XŸ‚75à àó^DDADòÅO<ŒŠ(Ú^÷½Á­k@É$žÀ¢¨.Ò‚íWõX²Äü¹®˜ä|jò ""Ú¥úz^Ÿ6¡¨XezÐ7t’?°ýÉ<€É Ïô¯äºŸÐ³ê…ÒW6Ò¿’êBϪ›¹¦zóþûWúܵjòoð€|jé_E·ë¹zÉÿ}«ýnÚµy7ø@>5t¯¢ÛõÜ»è´Åàí~àoˆ·ý=göp/E/:û¾"ßôõŸÙÀ½¶žÔ³Ž""ˆˆ€ˆˆˆ€ˆˆˆƒŽû¨?Éwÿq´÷«±.;î ÿ%ßýÆÒ?ޮĠ"" ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆ ›i_Éu?¡gÕ ¤®m¥%Ôþ…ŸT/6?sL>õçýö¯õ¸?jÕäßáøÕÒ¾‹o×rõ“þûWúܵjòw»ÿãWKú-¿]˾‰­1x;W¸â-ÿOYýœ ÑKξàoˆ·ý=göp/E-§µ,〣i—~›m2 05Îx ±øk‹rZy€q‘œÈ)(Š"" '‘°Á$Ï-cKˆc Ü@äÐ 'ñ’¨£?uR‚×S4tm“ª™»dfFv¸xœ;ùUä@DDO#a‚IžZƗƸ€3É Oâ%QF~ꥮ¦h:èÛ'U3vÈÌŒípñ8vò«È‚>¥bj´¤ž 6/ÈÜb½wFü9ÖòíæáÈ|¼–á­óˆ=Gþ%l*Ý© ieŽ ,=Œ.lQ–‡H@äѸ†äös |¤,ê¦g®&cÃäκ&zâ©e¾Rãý8Õân'­Áö(ð^·4,¡­[}g½ðB^ØÛÏsžwŒ Û’0º [æ7þzüJ| Õ¾cqç¨ÿÄ©ºF©zõ—Eg†õ]1…Â[RVs\r<ÕJ÷gžyŒr<û3”MæÛSáôaLÞmUáÿòi¥ëÖ]žÕtÆ mIYÍqÈðGU+Ýžyæ1ÈóìÎQoLLG\Ýé¦&"Ó7FÔ.6›!s ³9–fBÖÁyǹh%Çòà(‹§B" fã`¹R©‚ÌŽ²çøâ.da­.%îìhäÏ2HÀíÄ”DDAÍÆÁr¥S™eÎñÄ\ÈÃZ\KÝØÑÈžd‘Û‰(ˆˆ‚1¸Ñª7OY.t&c(ˆõMÀ—ön9$4sÃI8å™(ˆˆ‚46¡f›`²Ó]¬.•ñÆòìòcÝÎ9 Àg9J"" ÆÍ¨Y¦Ø,´×k ¥|E±¼»<˜ã÷D3ŽCpÎ@’ˆ€ˆˆ#Q¸Ûo²ÖÁf!^cé¢,.f~é¹8ÝØH8ÈÁ2Qm2ãoÓm¦Af¹Ï–"1¿ qnKO023ƒ‚9%FÓ.6ý6Úd`kœðb#ð×ä´óã#88#RQÈØ`’g‡–±¥Ä1…î òh“ø€ÉU¢ 4gîªPZêfƒ®²uS7lŒÈÎׇa*¼ˆ€£j—§éó\tl›žª´FI|A­¤ŸóÒ@ÉRQmRãtý>kŽ‚ÍsÕVˆÉ#ψ5£´“þaÚH*J ""¨\m6BçAfs,Ì…­‚"ò Ž7;rÐ2KŽåÀ2Qk7Ê•Ldu—8Çs# iq/wcG y’Fn$¢" (ÆãF¨Ý¨]%sm+ù.§ô,ú¡y±ûša÷¯?ïµ­ÁûV¯'û¿FzUÒþ‹o×rõƒþûWúܵjò»ëãWLíþKo×rס}ä&/g÷|E¿éë?³z)y×Ü ñÿ§¬þÎ襤ö¥œpDDD@DDD@DD½^!–Ë]¤êšUH6æZÓ¤ÅÙ9!Í™€ c–Y ÂvÖ‰¶dŽIÕñ°±®v9ÒI>"N>R®"æ)ˆ›¹Š"&gûˆˆºt""" """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ ""æÚWò]OèYõBé+›i_Éu?¡gÕ ÍÜÓ½yÿ}«ýnÚµyCÝùñ«¥ýß®åê÷ýö¯õ¸?jÕäÿwïÆ®—Ûü–ÞÏûîZô/¼„Åàí>àoˆ·ý=göp/E/:û¾"ßôõŸÙÀ½´žÔ³Ž¦OfÍ6Ín“èÊçú6°¤óXÂdu£#v‡îFÄ‘¸“€nyID@DD žËõ 0IIñW‰¬1Xt"gî äø<Î2IÀÀÉ’ˆ€ˆˆ#A=—ê`’“â¯Xb°éDÎ9ÜAÈ ðyœd““%F£=™ßdX¤ú­Žc%ò5Æf?ŒÃIÚ .xœgJ"" ¦OfÍ6Ín“èÊçiéÒ}ë nc®ÉÃ#¼Csˆ|§äÎ<””@DDTžÍm>iéÒ}ë nc®ÉÃ#¼Csˆ|§äÎ<””@DDPžÌ „Õ¤ûn|Ìá²5‚6áHK0Ñ“’NãQk3ÙŽåHa¤ù¢•ÎL$k[CI‚râ]€2Iç%F3Ù÷ѵ…'šÆ#­´?p0Üî$Äœ0;sÊJ ""Œg³ï£k O5Œ&GZ27h~àa¹ÜI‰8`vç””@DD ì¿P³”ŸxšÃ‡HÒ&qÎà@oƒÌã$œ ™(€ˆˆ 5ìÎû"Å'Õlsá/‘®30üfNÐIpóÀã8Qj3ÙöEŠOªØæ1Â_#\f`øÌ4 ’àç€ Æp$¢" (ÚdölÓlÖé>Œ®sÇRù÷5¡Ä4’ÒFK@8ã8ÉÂ’ˆˆ‚‰Þèà’FDùœÖ’#aÏ v 2ñª(É<Ô –Õ~æñµÒü?«qÛ¸r8<²;Uä@DDN÷G’2'Ìæ´‘y°d“øÈQFI楶«÷4ï®–áý[ˆæÝÑÁå‘Ú¯"" ªOf¶Ÿ4ôé>õ†71×da‘Þ!¹Ä>SògžKŸé_Éu?¡gÕ ¤®m¥%Ôþ…ŸT/6?sL>õçýö¯õ¸?jÕäïwðÏJº_Ñmúî^±ßjÿ[ƒö­^N÷|jéE·ë¹iÐûi‹ÁÚ½ÀßoúzÏìà^Š^u÷|E¿éë?³z)k=©gDE6Ò¿’êBϪI\°KÀÚ hV8“Y­¦KwO†V:ö½5~¹ÝS ËA™ à¸d°Å§jÎéªÌƒþûWúܵjòw»ÿãWJú-¿]ËÔYámJ¥mG†u5£Õ*DlTÖ&µ]׏§ø×7;\9ØAù—ýßç*éE·ë¹wÑbÕ¦$Þ«Ü ñÿ§¬þÎè¥æOquÉtÿs6¯~ ¦jÚù£Ü276ˆÏùÂê½"êÜ#À<7o]â]GUW%€VÈšÔ¼ðÆ1²5¥îÁ8hk@ÉðZ WUª—4ðteL7Í6I•™d¹åÍ®÷9nã´à ;väàsÏ ´n&­ +ZH£cR‹¯¶æKNË÷4C#±‡HGhüËæÙ<òÿ¦Kí,ªÆ´ðw]ÐÑsͲyåÿL—ÚM²yåÿL—ÚS?EËt Ì¢ cå %{ËZçc$ŸóEêî(;»©î®­½Sž¯~<-¹ç·9Æyáh[dóËþ™/´›dóËþ™/´™ún†‹žm“Ï/úd¾Òm“Ï/úd¾ÒgèeºæQ†1ò†’ƽå­s±ÈÀÏùŠ¢uwÝÔ÷WVÞ¿©ÏW¿ÜóÛœã<ð´-²yåÿL—ÚM²yåÿL—ÚLý ·CEÏ6Éç—ý2_i6Éç—ý2_i3ô2ÛÖ¨o>c¥²³îmÄ"ËÜØ÷|®-àvàvödg"Jç›dóËþ™/´›dóËþ™/´™ún†‹žm“Ï/úd¾Òm“Ï/úd¾Ògèe·­@ß „iì¬ç˜%3½À6,øe —c'$òÁ’¹æÙ<òÿ¦Kí&Ù<òÿ¦Kí&~†[¡¢ç›dóËþ™/´›dóËþ™/´™úmêɿݕfV5‹œm:G»xnÓ´0‚K±’HÀ‘Ï)+žm“Ï/úd¾Òm“Ï/úd¾Ògèeº.y¶O<¿é’ûI¶O<¿é’ûIŸ¡–Þ¬›ýÙPVecX¹ÆÓ¤{·†í;C$»$Œyò’¹æÙ<òÿ¦Kí&Ù<òÿ¦Kí&~†[¡¢ç›dóËþ™/´›dóËþ™/´™úmè›þú4Vx„—8½Ýi—pÀ Ý“’I#Ç9+žm“Ï/úd¾Òm“Ï/úd¾Ògèeº.y¶O<¿é’ûJÅÆJ]R>îÔCe¿V'í½0%ž6¸d;# ‘ËåHÇ¿q°è0çP²'efÓ `®X÷î{ËÁ÷ žÂIç%kôi.§úbçÚª—¥™ ?¾™‰ŸË;dqkø¿(9Zm¸³jE«G¤éo²}0âáÏX¹þ+‹Oÿåi_$ÒtÖÆç©d4‘ýø¹ö©¶Y°ÀoBÈ•›L5‚¹cÜds¹ï/Ü€{ 'ž•Ëø}ö'Ðtù濨>I*Ä÷¸Ý—$–OÝ)»dóËþ™/´³ÏÑÞ[¡¢ç›dóËþ™/´›dóËþ™/´™úmꉾ_dÞef7®"°…îqê°0^H;Ž 02q“%sͲyåÿL—ÚM²yåÿL—ÚLý ·CEÏ6Éç—ý2_i6Éç—ý2_i3ô2ÛÖ˜ošm:“+2ÉsË›]îsÝÇhÀvíÉÀçžAI\ólžyÓ%ö“lžyÓ%ö“?C-ÐÑsͲyåÿL—ÚM²yåÿL—ÚLý ¶õ¦æ›N¤Ê̲\òæ×{œÆ·qÚp»rp9çRW<Û'ž_ôÉ}¤Û'ž_ôÉ}¤ÏÐËt5DæQ†1ò†’ƽå­s±ÈÀÏùŠçûdóËþ™/´›dóËþ™/´™úmöuwÝÔ÷WVÞ¿©ÏW¿ÜóÛœã<ð¯.y¶O<¿é’ûI¶O<¿é’ûIŸ¡–èj6¨o>c¥²³îmÄ"ËÜØ÷|®-àvàvödg#EÛ'ž_ôÉ}¤Û'ž_ôÉ}¤ÏÐËt4\ólžyÓ%ö“lžyÓ%ö“?C-ÐÔmPß|ÇKegÜÛˆE—¹±îù\Z ÀíÀíìÈÎF‹¶O<¿é’ûI¶O<¿é’ûIŸ¡–èh¹æÙ<òÿ¦Kí&Ù<òÿ¦Kí&~†[¡¨Ú¾ÓÙYÎ30Jg{€lYðË@.Ç NI僢í“Ï/úd¾Òm“Ï/úd¾Ògèeº.y¶O<¿é’ûI¶O<¿é’ûIŸ¡–èj5“»* ̬k8Útvðݧh`—c$‘€#žZ.Ù<òÿ¦Kí&Ù<òÿ¦Kí&~†[¡¢ç›dóËþ™/´›dóËþ™/´™ún†£ßF€ÊÃO’ç»­2îc¡»²rI$rç¢í“Ï/úd¾Òm“Ï/úd¾Ògèeº.y¶O<¿é’ûI¶O<¿é’ûIŸ¡–èj17ýôh ¬4ñ .q{ºÓ.á€0»'$’G!Žz.Ù<òÿ¦Kí&Ù<òÿ¦Kí&~†[¡¢ç›dóËþ™/´›dóËþ™/´™ún†£@oBÈ•›L5‚¹cÜds¹ï/Ü€{ 'ž‹¶O<¿é’ûI¶O<¿é’ûIŸ¡–èh¹æÙ<òÿ¦Kí&Ù<òÿ¦Kí&~†[¡¨ÔMòû&ó+1½q„/sU‚ò@ð‰Üp9“ŒlžyÓ%ö“lžyÓ%ö“?C-ÐÑsͲyåÿL—ÚM²yåÿL—ÚLý ·CQ¨›åöMæVczâ+^ç«äá¸àr':.Ù<òÿ¦Kí&Ù<òÿ¦Kí&~†[¡¢ç›dóËþ™/´›dóËþ™/´™ún†£i†ù¦Ó©2³,—<¹µÞç1­Üv€\'nÜœyä‹¶O<¿é’ûI¶O<¿é’ûIŸ¡–èh¹æÙ<òÿ¦Kí&Ù<òÿ¦Kí&~†[ NeH`c(i,kÞZ×;  øð˜ª(÷WqAÝÝOuumëúœõ{ñámÏ=¹Î3Ï BÛ'ž_ôÉ}¤Û'ž_ôÉ}¤ÏÐËt4\ólžyÓ%ö“lžyÓ%ö“?C-Ð'2ˆ$01”4–5ï-kŽ@|x?ÌU{«¸ îº¶õýNz½øð¶çžÜçç…¡m“Ï/úd¾Òm“Ï/úd¾Ògèeº.y¶O<¿é’ûI¶O<¿é’ûIŸ¡–ÞµC|ió-•Ÿsn!^æÇ»åqh'··³#9³Šôî⮎«poÚ§¢§2G,­Šz–#Œ3{ ¾åÀç8ñšâglžyÓ%ö”-[UáÞèÞ—ñ%eÕ›R“îNÍNÛœ æ&–¶QÈ:MÄ4gà€Y›|i·­*©¥i<3Â&sTµ[©«N@þ®6LÉç`“ØKœr\y’çsòÿð€|jé_E·ë¹zòÌ”«SÓu}퉢±j³Y'¾3Y†xf{[‘½îi<89¼ùxÈ>Cþ]+è¶ýw-p;p⾯î5¯5¿rþ·R´fIæ¿~8Ø78׈ÿ™[—M:ô›¢O¦êº½Öc‘òP¸dkg§!ùZâ|nÆqâpin¿î ø‡—éË?³wå1;rSíÎõísI¹wGm}VŒÅ—çXc¶Ž¢Q“ƒÙ’ù“ï…=­ùÖúÔ˜zNàÉm>³5 ¦FºÃ*Ðlîƒw\Ø\cÄÎnÇe±—ò[u‰›i'p%±°¼Û€2±«fZEviøPóÚßo­=ð¡çµ¿:ßZÚ¸cX­Ä<7¦kô™4uu*‘[…“ÖHÀö‡Hgÿ:ûªêÕ´ëÚM9Ù+¤Õ-º¤€׈%˜—dòapåždrÆHç+S1ª{áCÏk~u¾´÷‡žÖüë}k{XŽâ]Š´é5Ôc¿V+®ù×$aÇ„ù=„FA2µ3ß¾<ö·ç[ëO|(yíoηַ+WéÕµR­›1E=ÉhÜì^ç–´xÈk\˜Ó®×Ô+ºÞ¬HøÿŒ…ñ»sXïàe§#dS+S3F›ï…=­ùÖúÓß {[ó­õ­í/S3F‰ï…=­ùÖúÓß {[ó­õ­¯@Õ«kTd¹U’²8íÙ¨D€¾ ß Ï"yFâ?òQ´ž)Ðu^$Õ¸r† Ùµ]«îêý[Úb빇$àG¤ãÇ„ÊÔÌk¾øPóÚßo­=ð¡çµ¿:ßZÙ8g‰tN%n ýûn7N½% NkÐÉã½€¸ ØÜ9· ç‘YtÊÔÌÑ¢{áCÏk~u¾´÷‡žÖüë}k{Q5J–Ÿ%HíÍÕ¾åZ»CKŒ’¹ÛFÿ®9<€)•©˜Óýð¡çµ¿:ßZ{áCÏk~u¾µ•Õ8ï†tíJÆ%«–mU Ye 6ÍÁ\‘$0ÆáÁ à­†¬ñZ«˜]Ì0FZFAÁæ9|©•©˜Ò}ð¡çµ¿:ßZ{áCÏk~u¾µ½¢eêfhÑ=ð¡çµ¿:ßZ{áCÏk~u¾µ³kíM+VÑtËÎ鵋O­]Ñ´µÌ†I‰~H m‰Ã<Èþq•L­LƉï…=­ùÖúÓß {[ó­õ­í/S3F‰ï…=­ùÖúÓß {[ó­õ­í`8“Œ4>Ô«iºƒõݵ ç† Ze›1°´9äCð{FN;Bejf0~øPóÚßo­=ð¡çµ¿:ßZÙ¸gˆ´n$§%½óldž)šXèä†AÚDZà9Žææ<)ĺiÒjžëL“ß/§;+Øe2Í·Æ÷ÇÖ4ÃŽ6à“Ø77$ ²µ3|(yíoη֞øPóÚßo­WJ\+j´6(³[³ ×b¢ÙjIJXm|u“1Œ%²;hqpÚîGi oµv½k5+ËÖõ–ä1Ų½»ƒó¹Í0a§›ˆàv *y™7ß {[ó­õ§¾<ö·ç[ë[ÚÅhZåMbæ±V´s±úMîáœÈФêb—-Á9nÙZ9àä^2ÊÔÌѬûáCÏk~u¾´÷‡žÖüë}krÕoÓÒ´Û:–¡a•ªVÒÍ+Ï&4 ’©ÑµZÆKWÓ¦ëé^¯šòí-ßÚ×aÀAÁ¦V¦cO÷‡žÖüë}iï…=­ùÖúÖö±ZÆ»SJÕ´]2ÄsºmbÓëWtm­s!’b_’bpä2?œ2µ3Ͼ<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηַ´L½LÍ'¾<ö·ç[ëO|(yíoηֶ~#×ô®©VÃâló Ž($šY¤ ÆG\÷» ' 'ĤhÚ•M_M‹Q¤f5åÎÞºÂþD‚ šr"ejfhÔ=ð¡çµ¿:ßZ{áCÏk~u¾µ³S×jZâK‡cŽqoO«^̯sGVæÌe 9É#©vrhí猪ejfhÑ=ð¡çµ¿:ßZ{áCÏk~u¾µ¹E~œº:;1>åhã–hC¼8ØòàÇâ±øÿºV?áN‚8ËàqÔ5ÎâîáTÆðL¶îÆÓÏÄ|xÂejf5ß|(yíoη֞øPóÚßo­lšW蚯júŸ}¶5©ák:“+K˜7´’{ Æ9áeÓ+S3F‰ï…=­ùÖúֹƸk:*«Âø–(lÒÓÛeñج`‹©{Ø<œv䃴œqƒÒië•-qF¥ÃÑÇ8µ§V¯fg¹£«sg2†œä‘Ô»9´c<ñ•]SDÒ“TKœi1påMHá~îZ¥ªÆ´äêãdÍ‘îv =Î.qÉqæKÏËÿÂñ«¥}ß®åîuááøÕÒ¾‹o×rô`váÅSxvŸpWÄ<¿NYýœ ¿/{‹:dá¾Юð?ÛNd·…>Ë£;ù6±í‘ùå÷1‘È oÉì^¡ï•ÑÿÏ-ÓYëS&*”§ƒ”Ýèúý·x’õèõÛzœ\v•¤> æžÃD‘ÆØÄsØîEÅÃð@È[9ÒëÇÒ?Xâ~½©ß³,.áýCÞÙ-C^[±’5®mw6Q!vKwnšÛûåtóËCôÖzÓ¾WGÿ<´?Mg­qu³IèLÖ´Viuø«H¼ëÓhÙ§Ý5Þ#©]ÆMí#ø‰CÁs·}ó—ÝãÿÂnúz_ömåO|®þyh~šÏZ·7H]M$2MÅœ=#ày’:ÔdÆâÒÝÍ9äv¹Ã#ÄâžÖ?ÚVW=Õ¸gŒ ã>"âžÓËuiu©i`ˆ™-9´ú‚숧®ÀÎvÈÑÍo•ºBèâ´f:ÜYÃа½òÇj6‚縹ÎÀ=¥Ä’|d’®wÊèÿç–‡é¬õ¡g%µÁz¾‘ ­:Ž™#ørŸn±­&[ì³Ó+GήÇ1Ö%k³´»Ãð°vœe´¾ n¡†éêÕ.kºmNÕ˜$µ¥OV-îµ †C).nÖd1$‘pæ¾WGÿ<´?Mg­;åtóËCôÖzÕ¹gÔêq5^ušVxkˆ¯êZçGÚ]H„Td‘ÝÓVÌ”ãÀ‘½kN×xNìžK²Yþút¡N¿ÝA éî´ñâî‹ÇþvÇùüRó»åtóËCôÖzÕ¨º@èÚX‹Š¸v9§ Í#mF!¸ç'ωKŒê3ð8Ö´=wAפšMbåÚ÷hés\ŠìsÊéâèšíÁ„?n6Œ¿ÒÔ5/‡VƒƒlU±¦jú]†ÛEž{³Ô…Ó9³³ÁcZ×I¡n÷;kŽ9®‰ß+£ÿžZ¦³Öòº?ùå¡úk=irÎwÂ<'wOÔx[V­£[«ªKÄšçvÚ}wîeg÷q‹y#Á„»©pš\æ‘ÍÙ8º¼?lôaŸG…ïÕâØ%®xšÅ­"Y¨ÆÙšl·,ø{/„À[Ë8]c¾WGÿ<´?Mg­;åtóËCôÖzÒåš hW*ê\"úµfŒ\OnÉd|?cLƒO‰úlÍØÈf.s"ë"Hné ´-O¾WGÿ<´?Mg­;åtóËCôÖzгlE©÷Êèÿç–‡é¬õ§|®þyh~šÏZƒ#¦qWýéÛ¤kuýóŠY[Ýs†c-Ÿ?zqςۃŽÅ¤êZà$ð×Í¡ñ,Zl¼?vcDµ4°Èùë9¬’8£s˜Hç±l½òº?ùå¡úk=iß+£ÿžZ¦³Ö¨Ó,Wâ;—8Ë_Ñô½GK÷‘§ª¸Kh{$½,}±†¶RFý¤õM‚Éð&®pg>Œâ½#Y Ý¯ÒôÉk×§=V²6‡‡K. ‘€âàP3Û°wÊèÿç–‡é¬õ§|®þyh~šÏZaz,Õbq«¥£¬ÒŽæ°íB¼·´‹Uc|¥XË·ËZæ´oc¦k_ÚÐN k¶¼§Ö«Á#ˆ¨êœS´á¿ð Çñs>Pk:JNß)‘‡ÆÝÁÛ|qœ­ãGã^Šôj-¡£ñ éÕIlfŠ(ÚO2C[ÍLï•ÑÿÏ-ÓYëK–sFð–‚ÆqÝ)8kPѤ¿¨AvÊ|9$ûêê;ª!‘ž±†hßÖWÎâ É¥l :0á¾³ ÕЧÖï “P­X׉•›$“Láç’àžm3y­Ÿ¾WGÿ<´?Mg­Z“¤¤³ ©8«‡_™/ÍfRúïꟼ­`{Ž0c2 ‡> ŽZs’+¥-­«Ò |ªjº¥Š¡œ5==1óGQUE#FØHJ\Ì‚ýÃÙu^ù]üòÐý5ž´ï•ÑÿÏ-ÓYëVå‹?ßN”)×û¨4=Öž<]Ñ`˜ã?ÎØãŸ?ŠAþ~WÃ\§ œ;¡ÉÁrÕî^+ÔdÕœÝ)ñC5g2û«J,[_Ü@ nÁéñtÑ´6&±pìsNAšFÚŒ:BqÎN!Ÿ»ß+£ÿžZ¦³Ö¥Ë9Þ³KR¥¬ê¼?S†ug²Çi”Ö¢ãV:lî—ïnax-ÚH «\;ÂV¨MÚ¬Z Øu¸ƒ]æ5ßÖ ÏŒMq#Á‰Îê\ÑÉ¥ÎiÝ“Ò{åtóËCôÖzÓ¾WGÿ<´?Mg­[–hýéú¾›iw·ðõ6Ѿøة֎Ä”ä#^ œ]÷Î^FÖï]FùxXks0¶}vÄš£÷ ÉNaiüm„DßÿÅZ±Ò'G6 ’½Ž-áù¡•¥’Fûq¹¯i ‚pA%ö.‘º<Š6Åè,€5­mÈÀh€ ò háíN×C´ô{^¤Ùdã.¶XYŒ•°iÏ2rÚެïÞ1†øYÇ5b¯ ÞÓx¦:zv…r¶•S‹îËV8«dÜ/njy¥/ÒŠ“å³;EG€&‹òµ“ó@ ÀÂØ:1»¢p.+½«Ei8vžÍWm&¹†•`ÝäÇᣳi¤ ›¾WGÿ<´?Mg­;åtóËCôÖzÔ¹d-«?iºv¡Âã6›3IêÁ®âÇD0ý…ÍÚp³Ç\;Ä3ô•©ñWiRÙÕ4šºLúxs„QÜK¬³\Jì4 ž|VO‰n]òº?ùå¡úk=iß+£ÿžZ¦³Ö—,åópoi°ñL §vÜöéh¶5I+±Í:îË3_Ž'Œv½Ãh9Úæ·Æ½GHÔ¢ñsøO‡õ:<1<úYLŠ””䌗7úšî sCâÚÜmË]Œç'¢÷Êèÿç–‡é¬õ§|®þyh~šÏZ\³“jÚÛVø¦n á[Ú634G:´º<²ÜOhØc+æ78aÍ.‹,s†F<1»§t7§7‡oDË/’¼ºŒ’׃Þ9ô¨ª±ÌfbŠ Ü\»s³œeî±Kï•ÑÿÏ-ÓYëNù]üòÐý5ž´¹fؼ1ü ºWÑmúî^µ½Ò—GtéOnn1ÑŒpFéi®v2pÉ<»ð‡º¤:="ôŸ>£¤áú]8…Z’õeŽ• ’\rO"IÇg,rZàEëºUÁÊWÔEí†bøˆ’>¢"½áò¢""“ÄĈ€ˆŠ‚EÅõ ÄD‘õï•/¨‰¾"$¨ˆ¯x|¨ˆã@ˆ¤ññ" "" …Añ}DHñ$}DE{ÃåDDE'ˆ'‰(Š‹ê"@/ˆ‰#ê"+Þ*" xÐ")ÐbJÏö3­{¬œùåÍ„sôêô)î³G¢æŽ±qéÓ)/'›’tòX€›ÓŒþݦõê0wŒMÜÁ= Þ£š@²‚–tòØü u±4ÿnê:Nöxî\I˜òy;g Ó³G¢!Åo8oìKó%_Ž}üçÑU-5êtº[ãî™;z°LG1»V.v¶0ýjX¿êêTɱŸ¶9[˜ºöéXVR\ë>aoˆKú‰QÎyÐ]ÿ·$éä1BˆQ[Ó»W®9%úlxК¸ð0---‹þ !™·nlúökŸÀã\Ü !7¬þ=r!¤U›¶ZZZeÜ \žýøáWÿ÷]󬌟V/|Ö¼âÝ?IqÇŸeeüý(«¹ž^UeåÝ«‰{—}zc¨îܪ¬xoÑ`ãÆÿʼŸyózÖíÔÇö°@/ó4ãϬ۩­Û™µÐ7 „ ùá·½¡„¦Í>kßµ[þËœ¬´›Žž>rî4§FYAWàgbf^SSóøÏ;kçLßròBëvfìñXÙÙOš37vÿ®ˆkûÚ?ðêÒ‚ÖíÌæ­ ‘w6j”$²ŽuFØ·¸P£¼ââáÝÛÏfuµì[ð*÷¯Ìû›¾ýz÷ùêÌ:²…¦vþàέ7¹/>0(ýÚîG±J¾˜õÕ…_.zóúæÅsƒÇŽ'„\=}’2xì]}ƒmK°ìŽ ±¤Ÿ$%œÍ™s9î8!d€ý˜Ÿ.ÜøéRj§ž½égßä¾8¹2ý?ß­‹>±.úÄ¿\gB¢CÖWWÈËÉ>}è!Äfì„=SºpÃfÜ„øÃ᯳ŸÓ•T¼·þplxÊ=³®=!?ÊZ¸igä¬þ#FBî\M¤—4jÓn€ý˜öcšëéK>$„ø~¿i癫 7íô\Õ¬¹®°¦æÊ©ßD·¨òýûÅ[÷ì¾pýÀÕt--­ûwBº÷°/éö–Ø ¯Ý›:o‘bö¥æP¯¬ø_…¿Äm?´jßÏ„wåe:H©5ž‹¾ëÖ·ÿûÊWLwº™pN»q¿-»›ëé)f×j5J’ü—9²ŽuFX¶ºŽ{¹áQ£¼âH(®ÿ9vÍÁ£®ß.¥60÷¯'ìÛRç½§¦Ô±Ó7ntôô¢Ýk#ÕÒÒâ~ÄeÞýóÞƒ‡B¨ q/žáÞ´ôc¤„ó eÞ§ÎÜÚ}1Y«Q#mÒhèøI™7¯SÏ>JOÖÔBÿtøÇ z­²Ò’×?ö ƒzv˜ã—Ô'`FLrN9û»P(|”~ÇÄÌœZ¸C×Ýúö'„´ëÜ5ûñ`Ø“ !æ=>¿x¡òýûªÊÊ&::„Ë!v–CìèVÄB®Ÿ=³ëÇ7¹/D EÏ¢BÚšw²up$„h5jô4ãO*Â/f}õY =Bˆ¶vãŽ=ëcÏi2õÊ ŠY—î]zõ¡00j]œŸ÷Wæ=BÈã?ï°ÇCM:ýœÆççB¦/\JìÔ(Iè`¸uFX¶šënmðÔ(¯82ëÒ½C7 Bu’Œü7-4uìôÝ, [›B̺öhÙÚ¤ðõ+ŽG±z¾˜õÕ½ëWï^MÌ{ñwò' !­Ûwèm3ôæ¥s,û„{CÒÒ‘2¿“Ô¸1[ë¶ã'™´7-i¦«Kÿ]S]ýñšjÉué%µkB>kÞâãG¶éG0}NBÒó™»V.&„ô8dô”é:AØše¥E…5ÿý E¿•‘äºiqiĨ~VШzX°ÄSô&¯òÝ;êïÜ¿ËÔ.¨Q’päF$·d¥FyÅî³-¨?i7úoõŸÔl¡©Q§øPEÿ]ýáƒäìñÐŽÛº}‡¼Ÿ;}ãâBȨ»hiýo¨aß'µ6Tkú‰R´Óç½µ´´„Barü©!Ž55ÕWÿ8I?Û­O?­F„55z- g.  ËJKî\NhilÒÕÒŠZ÷ÊéØ!Ž„¤¸ã„--­®–}ë̟׮ÄE„Bæ¬XÛ¦CG±‡?Ê¢sY°¸× Û¼×åoß²WHÇúÐþ#F >k.¬©Éyú¸}×îu¯áP£¬ {þ0ëYVFG‹ž^»BÑìôyoBH­ñ”—–þè7·ºúC§ž½ÿʸwñø‘¾CGØ}1¹N{®Q£$‘sà¾:ËV×a£&5Ê+9·ÙBSÇNÿûу¿2îuêÙûîÕÄ’‚|Âùˆ#F«Q£ 3ç„­9}èÀûʵ5õo×Z÷IâB sP£¶¦Ãÿtòص3§¼íÔ|¨~ÿîúYcÓög}8<óÖõ¶:åç=¹w·}—nv_8µngæà6ûèƒ×Ïý1oŒ ÑÒÊ{ñ7!dœ‹{Ý^Ÿù¯rn%œ'„¸Ì_,ù°sOK*#7­8j\RÜq¡°¦¶­k7Ùkîo{C3oÝøjxSóNù¯r?0ØûÞ:„×p¨QVÐtš –M›`bfþòÙ_„¦Í>?c6!¤Öxvø½É}aØÚdÍÁ£?o Ž?þÓª¥]-­ä?Æh65J9Çou¶«R£¼’²…¦ŽÞTÐl™Ëm:tÌ}ö”ÈrÄ‘4fÊô#;6¿+/#„ô³³oÕ¦m­û¤n ÕJ9×âç}¿¹YsÝ+¿ÿö®¬làèuú¼WÄÆµ„¦Í!ß­îÐÍâìÑC?ÈÌ~üPßШÏaC'L¢ÖõZ¹Î¬k÷s1Ñ/ž<"„t´è9fê ‡éŠˆ³]ç® ƒwü¼-ø¯Œ{ÿ¼-ý·Ï‚#;BÄ>*iæâ€Ý,âŽxþ óYVF«6m-úY+"< £.YAëhÑó_®³Žì Ñj¤ÕÅ¢×Êu­Ûw¨5žøÃá)çNkiiÍß°UWßÀcéª{7’_<~¸Åonð¯(4`  FI"ç8À}uö­.Ô(¯ä„l¡©]§ÓGœFu²èÅñˆÃ¨™n‹‘_N£¾`4zÊtºœ}ŸÔ¡¡Z}üÀ±¬Ü:WQEo^7o¡¯#Bjª«7Ì›};ñBÓfŸE¤ÜoÒ´)Ÿ‘h*g SÂú! .¨ˆð–È ~¨cnÐ$ªLþÔB^5õ2qĘWjÔéË\&>º{Û¢ÿÀÇÖWgDíYý~+£½‰·´7¡ ùÙ'¢]¯œó w®$ìÿaU÷¾ý›5×ý+óõ­~·ÿ|§j|BV@­$ È«¨Ávú•ßO¤œ=}çJ!Äq¶=%ÊØ'Ê™ƒšvêjÖ¥ûû·ßÿSÞ¼…^_Ûá3<þ—R‚¬€Z!I@W Pƒíô'÷Ò¯9ÕL·…ƒÛìIs>¹íÿûD9×âAÑÔúz+(rD}¯Åÿ”~-”E´ë•s¿xhÈ0¾a |Ãý$5Y½|æ4rDþσBÃÁççAA¥àó  › ßÓ0Ô÷ÎêrCà 7@Aê+µW A=D!¯T„h×ã<(ð sPàæ À7ÌA€o˜ƒß+;Åâÿ›øP«} Ò 7@ä†Êr¶0åÒ;c¯AžÕ€ÂßyPg SUûu.îñ¨`ð PÈ ¡‚»¹¡ÊDwxêų¿íÝùäÞ]ÁgÍØ™ýÝj=ÃVÔ2rN"‘ê¡"ðû  áNÚ?ÅwaÄõŒÐ³ÉF­·øÍUvDð æ9¨Ø{ÄêUáAk<‡ôž5È".<Œ*|Wö6x—kßNK§ŒÏ™C¯xîè¡Ù6½k®«oàº`IÆÍëõ r ¾p:zdGHÎÓÇ!'Î﹘ZRð†*<´eƒ¾¡QäõL›q"6®¥Î{‘½'á¦û
Í먒cY¹Ô9pú–Õ !©)ë¢O„%ÝNKº$-¤9kOEì­xÿ..èÖ·Dp-+¹Ï‘šãË*Pg,ÈâÞä¶;±/ƒà§9hBlŒ×Êu†&mšé¶˜¹8€*L9{zê7~:Ãtôk—é…¾š×TÐlø$çÜgOYê”¶:!ÄgÍFcÓöºzúkÂJ[ÝÄÌÜvü¤õ>³ì¾˜lbfÎe+¸à<Ðs#=ùò$OoÀiŽozr’èò’+¹Ï‘šã(B:ñÅ“G¡ËÍþnµâ¢BÔÁ'ßI}Hÿ},+·èM^ëvfbk–øŒ´ …š---º\WOŸÒ¸I“šêj–†¥­N14iÃ%ôῌ Ýâ¸Q¬\žwœƒo€dÊ·%Åú†F„}C£²Òѧ$;WrŸ#7Ô Æ ä†"HË+"½=JO šç9Ãoy¿a#Ù—Dðì“9(ý û*Ÿ‘q^Nv›E602=“¬#poL(Ò‡:¬.æ×Ÿ¶ Ÿä|ì§m ‚¶Õ¹îDƒo€dÊ ]=ý’¢ƒVÆ%…ùÔÐ,ä†zÁ¸Á¢ç†<¤å‘¥o\8³ûÿ–Ì_ÿãû1Š ´6ÈOåª N×âG8M9°~UÑ›×ïÊËoýøÖÓfì„Ã[ƒÞ•—å¿ÌÙ±la­•èê<¹w—~(ëêbþʼÿä~úü ?>þóγ¬ ѧ‘gbÁ17úØ;VUQw0Ìrˆ¬u"74Æ ä†"°t¢˜ß#÷…­Y¶ro4Ç (r€gœæ ® üÛ˜™/råmoÝ\O*œá·¼¤°ÀËÎ*ÀÍ©÷`ÛZ+qòš»ÊÝ™~‘˺º˜¨MßOöš«­ÝØÉk^ä¦ïe]]Öo,Š4ÆÜ˜å¿*#5eÆ€îYi©Keþ rC3`Ü@n(÷N¤Þ-uv ¿Ì^^Z*gëÈu$ÕCuÍÇ øÖž†¡†<º›ë†º~„ÜÐ0È PùSKμ¢¨uuŽ‹BÕË@ê÷‹MÀqZ‰Ù'€ŠPõ9(ã% Œ @ r@õ©ú‡ ¹Ò 7Tî|ÃøÖ ç ø½ ¹Ò 7TÇßKâ¸{ ò¬þæ *ø¢åþ¡1  ¹¡"Tp÷"7T™hï¤^<»bú$KsÁ=·÷miaä2ò·Â9À¢AŸMuúÐþ)¾ #®g„žM60j½Åo®²#€O0ÏAÅÞºU¨ Zã9¤÷¬AqáaTỲ·Á ¼\ûvZ:e|þËzÅsGͶéåikyóÒ9ºPòÆŒ«SËÄØí3ÒÚͪKìÝÒâž;zð‹'!Åùy³mz}¨ª’i³éÛfˆr ¾!ã’…¯_¸9¹Xš¸9¾~%º®Xç2îs䆚¸ÜP±ȽW8ÒÄhÁgÍuõ \,ɸy½^‚AÔNçAìÉyú8äÄù=SK ÞP…‡¶lÐ74мži3nBÄÆµôÂy/²÷$Üt_µyUr,+—ºrAÿÁ²:!$#5e]ô‰°¤ÛiI—¤…Ô{°íŸ)W!×Îün=r\ã&M觸¼ÚE#Å1x 1æFDp`~£RtëÛ?"¸–ΕÜçÈ Í€qƒe¨3–NdqïFrÛŽØ—AðŒÓ4!6Ækå:C“6Ít[Ì\@¦œ==õ?ÀaºGúµËôÂN_Ík*h6|’sî³§,uJ[â³f£±i{]=ý5áG¥­nic÷qŠ?e;Þ‘ËVpÁ1x 1æFzòåIžÞ:Óßôä$Ñå%;WrŸ#74Æ P„:tâ‹'B—/šýÝjÅE…¨ƒO~£^ô] ý÷±¬Ü¢7y­Û™‰­YZTà3ÒZ( kj¨›üRtõô !›4©©®fiXÚê„C“6µÆÝÛÆnÿº•…y¯³?èk;Lô)yÞqr ¾’)7Þ–ëBô ÊJKDŸ’ì\É}ŽÜP/7Š -¯X:‘Ñ£ô´ yž3ü–÷6’}IäÏ>™ƒÒ¯@g SÑW£‘q^Nv›E602=“¬#poL(Ò‡:¬.ʰµ‰ža«Ã?Y«Ý˜Óµ9‰ßÉ”ºzú%E­ŒK ó©¡Y&È õ‚qƒEÏ yHË+™:ñÆ…3»ÿoÉüõ?°£ÀXY!¤át-~„Ó”ëW½yý®¼ìðÖT¡ÍØ ‡·½+/Ë™³cÙÂZ+ÑÕ7xrï.ýPÖÕ%YÚØ%œ8:xì±rE|ú[,x 1æFÛa§Âê**â†Y±“µNä†fÀ¸ÜPi(æ÷È}ak–­ÜÍqŠà§9¨ëÿ6fæ‹GyÛ[7×Ó£ gø-/),ð²³ psê=ضÖJœ¼æ®rw¦_ä²®.©·ÍÐ&M›öRûµI²~cQ,x 1æÆ,ÿU©)3tÏJKõX*óg°šãrCA8v"õh©³ýeöòÒR9›FÔ£Ôñ[{IqÇ“ÿ8¹lW¸²QEÔ' å©„º~„ÜÐ0È ä†‚ÈŸZóJZ'RÔº:ÇÅ@¡êe u׸öETRUeåù£Ñ£œ]”¨äHƒÜP ÏJ[LÎÕ€7ª>e&ŽeåºöéØk­Ý_ò¨äHƒÜP}ª>•v¹—Q¹Ò 7Ôº©!Àyh ¸_<ðsPqŒ·†§Ÿªß†ê±¶:×dgHÈ"_úaÈ"ߣ;C! ƒŠå=o'Þq†_E°t{ÕK" ÔÆ P,÷y×¼O ¼-.Š>è¹<.ñ\øGôÁ²’b%F¿ó ¼½h¹7„£ŽB)·#šãNÄ ;Þ°µ ]bØÚdЇ„1JŒ 4®Å€ê›ôçç­puœnÕù—í›è§Þ•½ ^àåÚ·ÓÒ)ãó_æP……¯_¸9¹Xš¸9¾~E×6ghŸÈMëÜœ~Þ\‡`$/Ð;[˜ž;zh¶M/O[Ë›—α„$Mô– Ó­:/s™X˜÷š=xÉÝÂØzaÞëå.ŽÓ­:GoÙ@¯rçJ‚ߤÑÓz›ûŽtñøÑn%žâà(•­ƒã­Äóö @1ÏA%ßè;[˜ÆØí3ÒÚͪKìÝ„¼œìµs\]ût\í15/'›ZŒ1諒h%ÿfy…pÁ}tõ^@Ý] ì²? ~¨ªš3´OqÁÆŽ`É "Ñ’]&S„H¥À¸<ˆÚ¼¾{?눔ŒU•tá¡-ô "¯gÚŒ›±q-UØ£ßÀ¨ÔÝúö^K/ìú­ìþ]#œ¦$<&këÒ.Ðç½ÈÞ“pÓ}q@Ôæu,!IS]]‘’Ñk MÔ¦ïÙƒg$ÙzdðÚžG¤d|¨ª¢Û¶t›ß²Ãi#bî߸&ZÃó™{ZŠUÛ¹WŸgYìMÈC†ó ©)ë¢O„%ÝNKºD ôtùòëùQ7ã°+`1µ cÞ³|ªF Ë+„ˈÏ}t —äH²9îÆ…3ôÃÛ‰̺ö0he̸WÙsClÉ.£ ÔÆ ¨_i—/Nöš«#Lôøš.L9{zê7~:Ãtôk—©ÂôäË“<½u§9¾éÉIôÂ#œ¦Pÿü÷ü¢üœ¾š×TÐlø$çÜgOYB’†ŠÓq¶÷«‰ìÁslýîÕDÇÙÞ:Á¤9>ôb:M›¾xüèåó§­Ú˜.Ú*ZCyI‰®ž¾XµÍ[èÉwS2ÌA}Öl46m¯«§¿&ü(!$ôl²å»&::ã¦Í|pç&µ cÞsÇò ‘‡äëê…õ¨±©μ-.šÚˬ¼´41öWÛñâWsh2å†"º i 7 nDÏO‹þ]ZT¨ohDÑkÙŠ^¸´¨Àg¤õ”žíÝZ”—–P…oKŠ©%õ Êþ[Hi*hFý[ý¡ŠÔj׸I“šêj–¤¡·ˆþ´à9¶.º:½˜ÿö}îÞþþ+·Yƒ>?{$J´†æúú’­”¿-m®§ÇÞ4€<>ùzÆë\ôÛ}C“6¢ ßN¼¼6÷ÙS:鉔¼çÎû¾ßÂvž>´¿¬¤dö²Õã\Üé§ä9ë ùúY1æÆÑû¿|þWr|œѺyélÚåK>¥Õ SnHë2¤ ¸Š@÷³…©h?êµ4,.xÓÒØ¤´¨€.402=“¬#ˆÖ «§_RT`Ðʸ¤0_ò$GZZZ5ÕÕ´µe]‘1$i¨8K‹ [´¤Jƒo¤­]UYÙDG§´°@ze„Ò %½:]ØÕÒÊÇ>BÈÝ«‰[ùоRÌ{|þô~zß¡#D+yrïnG‹ž\⨛O΃R˜D/6±Œà¡+üÜþ³ìç;OÝzHRyOÍ{憵µ«*+ !¢¯%ê–pë»û£CÖ×i‹d# yhE0憶vã~ÃFݹe€ýèC[Ö÷èo­gØJZ 칡܎@Èãð©ß°Q±ûwW¾ÿ{ä~ºÐfì„Ã[ƒÞ•—å¿ÌÙ±l!UØÇvØ©ð°ªŠŠ¸ƒa–CìêÖœq;³ÌÛ7ê°"cHÒPqžŠØÛoØHª„1ø¶æ.ǯ|ÿþdøö ­†Ž8±·ª¢".|/]¸y¡÷󇙪ªþ){Û¤é'“ckû±Éñqb•$ÇÇõ>šËÆÔMÝ¿_YY¡gتª²"f×ÿ.~1æ=#Æ×Ë+DßÐÕ7xrïn½WÛ XWœŸ7vÚÌÂׯl&±,É’Ü;i î0n€œÜ—¬xvËæg---ªp†ßò’Â/;«7§Þƒm©ÂYþ«2RSf èž•–ê±tuÝš›±hù_Ñ/¡sü^cHlÛ5Èâþõk3¯` Þ}Éʨ¼í˜´ïPKmKVÞ»žì>ÈB[ä ®­ÃÄÿø¸Yu‰ ýqaðÑåí'O½q>¾P䲯^Þ8o?yj­‘ÔYÝï?û»ÕAóf¡Ðå[ºÐ}ÉÊào¿:±×ÑÛ.}õ’ÿ^aq_²r×ÊÅ‘›¾Ÿá·œ^’z…¼zþ¬}—nb¯.báä5w•»sÅûwøzAõ6R¯¥a¿a#[´´7*”Öã’¹A©ßŽ@¨2Œ +±ýl`ÔzÑ8BHYiÉéC¨BÁgÍ%»Þ¨­éú_ÄÏíÑ'ì%kfd÷…“ÝNÒ‚‘,¤ÿf ‰µÊÌŵ?pÔ¸ƒÉR6“¥uC“6AGNQÓ/Ûñ“lÇ3Ÿ)ÐÕ7?Ãóà†Õ‹·~|wwpÃê 3çП P„o"1˜jêh*çCêrCà 7@AäO-Žyüý´ù~ñ‡#¥§ùo¯åÜ9¨¦zˆ@ÝÕý<(4pøLPŠ- ½ì¬Úšwôß¾OþÚÓXï¯xk@]` êä˯¿ùòëoê«6¼,@9(ÔŽ© çÅ@&¸_<ð sPÐXu>3ÇxyÚ­ßúì YäK? Yä{tgˆÂ‚Ò4,9P¿ý+g²ÉÔ˳ÈàŸzÏAqéGédí.Ë+®[‘0 M?- w„[\}Ðsy ]â¹<ðèƒôÝ KÔon(.Ù¸xÈP yç rÔå\ûë“!çP‹„à(áDÌà±ã [›Ð%†­MqH8£Ä¨@5![@)Ôû<(¨±‰{q~Þ WÇéVÙ¾‰~ê]ÙÛà^®};-2>ÿeUXøúU€›“‹¥y€›}§g Ó9CûDnZàæôó¶`–v«?T…­ñÒ{áè¤ IDATÖ ‹¸ð0zuÆë›Î¦±vûŒ´v³ê{`·´Õ1/Mô– Ó­:/s™X˜÷š}3Ec£ÿ8wôÐl›^ž¶–7/û¸zÞëå.ŽÓ­:GoÙ@¯rçJ‚ߤÑÓz›ûŽtñøÑn%žâà(•­ƒã­Äóì‘«eå•´`$󊱿dÊIŒ«36ĸC¤ÝÏIruŠÆd ¨æ9¨Ø Œq˜cLñ¼œìµs\]ût\í15/'[´B±qŸûϤEÈq ³!#¹9¾Œ]Æ8z2Ö‰„Q;Q›×wïg‘’ñ¡ª’.<´eƒ¾¡QäõL›q"6®¥ #‚{ô•ú [ßþÁké…]¿õÝ¿k„Ó”¤“ÇX:²#$çéãç÷\L-)xC²\ßÌHMY}",évZÒ%i«3b ^šêêꈔŒ^m¢6}Ͼ™Œò^dïI¸é¾8 jó:ª$2xmσ#R2>TUÑ‹m[ºÀÍoÙá´Ç1÷o\­áùƒÌÎ=-Ūíܫϳ¬ ö¦UoyÅHZ^Iö—LÙ"IÚê’ 1î:N±€%W§hj¶€Šãt”q˜cLñ@O—/¿žuóá 1»‹V"6îK{…n—A¹, A½à8ø2îÆÑ“±N$ŒÚI»|q²×\`¢Ç×taÊÙÓS¿ñÓ¦{¤_»L¦'_žäé­#8ÍñMON¢á4…ú·@ä6Ö’bc¼V®34iÓL·…Ø ù¬ÙhlÚ^WOMøQ™Vg ^j‹g{ß¹šÈ¾™Œœ¾š×TÐlø$çÜgO©’»Wg{ë“æøÐ‹é4múâñ£—ÏŸ¶jcº h«h å%%ºzúbÕ6o¡W^ZÊÞ´Šã-¯d"Ù_2e‹$i«K6ĸC¸ÇIÑÔlÇé÷A©aΤ}‡¶æÅ†91¡g“©?ÆM›y(äѧ|Öl44iC¡Æ}¡_`»Wù×¾4ÔÉ}žröô¦ãg¨Ñsî–uÓ._Ü{ž=ÛÊR'oÁƒ¬¯&ËÊ--*Ô74"„èµlE/PZTà3ÒZ( kj¨3BÞ–SKê••–Ð 74£þ­þð¿3’ŠÞäµngÆ=`j ªÃêŒÁKCo;ý­i›Éˆš4nÒ¤¦ºZruz1ÿíû~ ÛyúÐþ²’’ÙËVsq§Ÿj®¯_VZ"v¿ïò·¥Íõô¸l¬Ò)=¯d"Ù_2e‹$i«35İC¸ÇIQ÷l5õÉTÚkže˜s;ñBDðÚÜgOÅò›HŒû,ä9ù$ír’–D¾ÁWÚè)S?"a”‹ÞÿΦ¢}¡×Ò°¸àMKc“Ò¢ºÐÀÈ8ôL²Ž@ Zƒ®ž~IQA+ã’Â|É“1µ202ÎËÉnÓ¡cÝâgY]KK«¦ºº‘¶6½¤dðÒP[TZ\H×7³‘¶vUeeÒÂé•BH ƒ–ôêtaWK+ÿû!w¯&nYä+:8›÷øüéýô¾CGˆVòäÞÝŽ=¹Ä¯tJÏ+ŠXp'S¶H6Ä}uÆB …\fÀêž- ¦>¹O]|½IýM sa ·¾Û¹?:d½XB¡þ;t…ŸÛ–ý|çé¡[9F ººBñÖF’–Œ ŒŒ£o=ú5ãű¬Ü_3Ù>ŒOž„ÆÑ“F]ô6*vÿîÊ÷ïÜOÚŒpxkлò²ü—9;–-¤ ûØ;VUQw0Ìrˆ¬ pšr`ýª¢7¯ß•—Þº±W7ng–yû{ðÒP[t*bo¿a#©ÆÍlkÞérÜñÊ÷ïO†ïa¯ÐjèˆS{«**âÂ÷Ò…›z?˜ù¡ªêŸ²·Mš~2_±¶›'VIr|\ÿá£ÙRq¼åE,¸“)[$â¾:ã¡èê<¹w—K´šš- â8}”e˜KñÊÊ =ÃVU•1»Ø.ÙK[¢ˆ/‚p)‚üêeôd„„Q#îKVÈâþõk3¯`ÙL÷%+£B~ð¶`Ò¾C-µ-Yyïz²û m‘sr¶CþããfÕ%&ôÇ…Á;D—·Ÿ<õÆùøB‘<¼zyã|¼ý䩵F®ÊxË«5šÜóJÖl©s²1×ÜUîÎ\FHMÍPqóUòK¢%ÉœüeÇæWÏŸµïÒÍsy èÊãa;~ݵµâý;jù ¿þ¹é{"º|ë¿ÝJiS¤­Î¾°X„¢©åEW«„±! Fí9ÏäQÃ{n0îó÷ÿ”ïY³ìú¹?Z¸~ë?òK"¥ËŠóó6~ãõìÁý/¿úæhèꤩ¬ýˆ„‘‰ârCš²Ò’ùãlÃSîËÓ"ÔÁÑ!Ù.Þúñ ëæ…Þºõ˜61ûZu&j!¯ä!çQ»l À<uÇÿ`¶ ª)áDÌà±ã [›Ð%†­MqH8£Ä¨@ µ@NH!P4õžƒÿÄfóÅùy+\§[uþeû&ú©weoƒx¹öí´tÊøü—ïÕYøúU€›“‹¥y€›}7g Ó9CûDnZàæôó¶`ö¦£·l˜nÕy™Ëļ×,unðõ8{$ŠröHÔ_z©St«Eï˜rîè¡Ù6½#­Ý¬ºÄØ-muFŒÁ³ì ±†¤m¦ä}wòr²×ÎquíÓqµÇÔ¼œl–%YBÒ˜ÔRâ˜ÃŒd^1rf ãêóÆÉ~ü€’ýøÁ7ãlÙ’¬“q j)*‹y*ö“LÜvÔ+ò¡ªjÎÐ>Åo³™±ÐÙ”:ü/wq,zóZÖ¸¹Üo­uµy}÷~Ö)ª*éÂC[6èE^Ï´7!bãZª0"8°G¿Q©ºõí¼–^Øõ[ÿØý»F8MI:yŒ½­êêꈔŒ^m¢6}ÏR眀µ§"öV¼6'`­ôúd¨Sš¼Ù{nº/ˆÚ¼Ž*‰ ^Ûsààˆ”ŒUUôbÛ–.pó[v8íq`DÌý×Dkxþ ³sOK±j;÷êó,+ƒ½iÕÇ[nÙ’óôqȉó{.¦–¼¡ Y.¤f¤¦¬‹>–t;-é’´Õ1ÏB¬!ÆÍ¤ã 8ÐÓå˯çGÝ|8hŒÃ®€Å,K²„¤©©Åç˜#IZ^Irf ãêVCGܹ’H¹s9¡ïе6$V'ã@ÔST§ó ’‰k=rÜ gèn'^0ëÚà•1c6KKqêðßsààC!ëE›ã2Sä>0ÜP_Ò._œì5WG ˜èñ5]˜röôÔoüt‡éé×.S…éÉ—'yzëNs|Ó““è…G8M¡þ-¹U1#juÇÙÞw®&²Ôibfn;~ÒzŸYv_L613¯—:¥qúj^SA³á“œsŸ=¥Jî^Mtœí­#LšãC/¦Ó´é‹Ç^>ڪ邠­¢5”—”èêé‹UÛ¼…^yi){Óª·ÜHˆñZ¹ÎФM3Ý3ԘϚƦíuõôׄ•iuÆà¹7Ä=µBÏ&[±k¢£3nÚÌwnÖ-$MM->Çî$‡9³…qõ¾CGܹ’@I»’`õß9(KCbu2D 0…@upú}P*qMÚwhkÞ™J\ëQc£6­çâ>ghŸðk÷cµïHI9{zÓñ3T6ÏcC­ÎXHDÿ~Ncêk{è`÷*ÿúªˆ”‹ÑDzrK‹ õ !z-[Ñ ”øŒ´ …šú‡îß–SKê••–Ð 74£þ­þ𿇌è†èOÄK«søÄ/cB·øn¬u»¸×Ɉ 7iRS]-¹:½˜ÿö}¿…í<}hYIÉìe«Ç¹¸ÓO5××/+-iaÐR´Úò·¥Íõôj ^E(=7ŠÞäµngÆ=`C“6u[1xî qO­Û‰"‚׿>{JçUBR÷ÔRz^ÉDr(3[Wï3ÄnDz…e¥%ïÜòßVkCbu2DœB ú>™ƒJ{ÍK&®Eÿ/Ÿÿ•§E´n^:›vùu¼gÌfi)N#o‹‹DÃçl¥ä@õ‚îg SÑÒkiX\𦥱IiQ]h`dz&YG ­AWO¿¤¨À •qIa¾ä{k.¨ÕK‹ é1QZ¿þ´mø$çc?m[´­^êl¤­]UYÙDG§´°@ze„Ò %½:]ØÕÒÊÇ>BÈÝ«‰[ùŠÎAÍ{|þô~:}YòäÞÝŽ=ÙRJÏ #㼜ì6:Ö-~–Õµ´´jª«ikÓKJÏûf …Bzx ]áç½&h€ý˜ªÊŠ™º³,É’º§–ÒóŠ"–ÜÉ™-Œ«7ÓmaÞãó_woíhѳ™n Ybˆ48…@õ}r-žºZ-zåšú›Jܰ„[ßíܲž¢­Ý¸ß°‘Gwn`?úЖõ=ú[ë¶"„GßzôkÆ‹cY¹¿f~üè'c!!¤¤¨€RZ\¨«oÀæâž`ŠÐoبØý»+ß¿ÿ=r?]h3vÂá­AïÊËò_æìX¶*ìc;ìTxXUEEÜÁ0Ë!vuh‹ZýTÄÞ~ÃF²ÔùWæý'÷ÓçoøññŸwjýÜÇ:Ûšwºw¼òýû“á{Ø+´:âTÄÞªŠŠ¸ð½táæ…ÞÏf~¨ªú§ìm“¦ŸŒõÖöc“ããÄ*IŽë?|4{Cª·Üá4åÀúUEo^¿+/;¼µö“ßÜW7ng–yû{ðܱl¦®¾Á“{w釕•z†­ª*+bvm«DlI–45µøsˆDp'g¶H[Ýjèˆøèƒ¢óBî 1D 0…@upú<(câZWœŸ7vÚÌÂׯl&Q…ŒÙ,-Åéÿէo³ñÍ!±ê‹û’ÒnyØôl¢£CŸ›™á·¼¤°ÀËÎ*ÀÍ©÷à_Þœå¿*#5eÆ€îYi©KW×±¹A÷¯_›¹xKQ›¾Ÿì5W[»±“×¼Èÿ~ÓHÎ:Ý—¬Œ ùÁÛ~€IûµÔ¶då½ëÉîƒ,´ENœØ:L ù›U—˜Ðï]Þ~òÔçã E>—Vðêåóñö“§Ö¹Šã-7\ø·13_ä8ÊÛÞš¾JÈýˈŒ«ŒvÑò ¾ôêŒÁsDz™N^sW¹;Ó Íþnuмپ#µ\lI–45µxsÄr€{^É™-ÒV·²³¯ª¬=hroˆq j€)ªãã Xìò·Øµä?Nþ²có«çÏÚwéæ¹è¹<.ñ\øGôAúþ D<NèÛ=pÄ=$¤»:ÊHÖ.c„ÔRk,ûV¿ 'ç’ènP ÌAùp"fðØñ†­MèÃÖ&ƒÆ8$œˆQbT Z  H­Ý JÁ<{óTœŸ·ÂÕqºUç_¶o¢ŸzWö6x—kßNK§ŒÏùñœ…¯_¸9¹Xš¸9Ñ7Wp¶03´Oä¦unN?o f‰&/'{íW×>W{LÍËÉ'öÀnŸ‘ÖnV]bì&„T¨ Zã9¤÷¬Aqáaì½eÃt«ÎË\&æ½fSr8[˜ž;zh¶M/O[Ë›—Î}\=ïõrÇéV£·l W¹s%ÁoÒèi½Í}G ºxüˆh·Ïqp‹ÊÖÁñVâyöÈU²rƒpîÇ ¾gDBΉÚàëÁ¾-Œ·<‘Ì7ÆÌdÌ –4#­NÉ÷'E¥RKY¹Á8H»*Ï`ÂÒ’­ µê‹ÇÆ`$󊱿¸g aJ iÁKv¢†u74(œÎƒFm^ß½ŸuDJƇªJºðЖ ú†F‘×3mÆMˆØ¸–*ŒìÑo`Têƒn}ûG¯¥výÖ?vÿ®NS’Nci(ÐÓå˯çGÝ|8hŒÃ®€OîÄ‘š².úDXÒí´¤K„#;Brž>9q~ÏÅÔ’‚7ìñWWWG¤dôhõß;7J‹“QÞ‹ì= 7ÝDm^G•D¯í9ppDJƇª*z±mK¸ù-;œö80"æþk¢5<Ù¹§¥Xµ{õ©õnæª·Ü œûqNÀÚS{+Þ¿‹ ›ÀÖ¹ôµ6É‹nbù&-3%sƒ% Ä0ÖÉãþ¤¨rjñ–Œ£Ë…Ô:&,!©¥8|Ž9’¤å•dqÏŠXb0ÏØ‰šÝÝ Ù8ÍAÓ._œì5WG ˜èñ5]˜röôÔoüt‡éé×.S…éÉ—'yzëNs|Ó““è…G8M¡þ-¹ó¬¤Ð³É–Cìšè茛6óÁ›¢Où¬ÙhlÚ^WOMøQBHBlŒ×Êu†&mšé¶˜¹8€=~*$ÇÙÞw®&²ÇÉÈé«yM͆OrÎ}ö”*¹{5Ñq¶·Ž@0i޽˜NÓ¦/?zùüi«6¦ ‚¶ŠÖP^R¢«§/Vmóz奥ìM«>ÞrƒpîG3sÛñ“Öû̲ûb²‰™yݶK,ߤe¦dn°¤–lø?)ªœZ¼å†L£‘c0aéîZrâsÌáN²¿dͱÄà~ÒìîÍÖXôãÅècY¹¥E…ú†F„½–­èJ‹ |FZ …BaM õÄ·%ÅÔ’ú†Fe¥%ôÂMͨ«?üïÄ¡¤Û‰"‚׿>{ZS]-ö”è å !EoòZ·3㸑tðôÇ«¥ÅɈze6nÒ„ŽJtuz1ÿíû~ ÛyúÐþ²’’ÙËVsq§Ÿj®¯_VZÒ ¥hµåoK›ëéqÜ¥SznYúqøÄ/cB·øn¬óöŠå›´Ì”Ì –4Ã’íb÷'ERKé¹!Óh@äLX:¢Î­#µ¤Qz^ÉD²¿dͱÄà~Ҍé“9(}Æ^ìfîz- ‹ Þ´46)-*  ŒŒCÏ$ë¢5èêé—´2.)Ì—|SU«Ð~Þk‚Ø©ª¬˜9 ;Ë’FÆy9Ùm:täR-Riq!ýcŒ³‘¶vUeeÒÂé•BH ƒ–ôêtaWK+ÿû!w¯&nYä+z„0ïñùÓûé}‡Ž­äɽ»-zr‰_(=7ç~$„üúӶᓜý´mAÐ6.5 …Böƒ÷ÌdI--­šêêFÚÚ\ê ‰qRT!µ”ž22­.Öe,! R«Î”žW±}Ë]²E{ð¢¨Ý §kñý†ŠÝ¿»òýûß#÷Ó…6c'Þô®¼,ÿeÎŽe ©Â>¶ÃN…‡UUTÄ ³b'k4••z†­ª*+bv±]i"„Œpšr`ýª¢7¯ß•—ÞZËé.*¤S{û Ég[óN—ãŽW¾2|{…VCGœŠØ[UQ¾—.ܼÐûùÃÌUUÿ”½mÒô“¹µýØäø8±J’ããúÍÞêã-7ç~ü+óþ“ûéó7üøøÏ;\>̤«oðäÞ]öe¸g&K·3˼}ƒKb!1îOŠ*§o¹!Óh Óêb]ÆÒŒZŠÀç˜C$ö-w²f‹–àÅ:Q³»4§9¨û’ÒnyØôl¢£C¿£šá·¼¤°ÀËÎ*ÀÍ©÷`[ªp–ÿªŒÔ”ºg¥¥z,]-k4³¿[4o¶ïÈFmkùU3×þmÌÌ9Žò¶·ær±À}Åýë×f.^Á§û’•Q!?xÛ0iß¡–Ú–¬¼w=Ù}…¶È›c[‡‰!ÿñq³êúãÂà¢ËÛOžzã||¡Èg ^½¼q>Þ~òÔZ#Wq¼åÆÇæ8ôcÔ¦ï'{ÍÕÖnìä5/ò¿ß^báä5w•»3ûéqÏL–4˜±hù_º!–:ÅBbÜŸUN-Þrƒq4öÍtŽ«ŒöÓ.céFH-EàyÌÛ·ÜóJÖlüX'jvwƒfûøæø‹»e¥%óÇÙ†§ÜWdHšéèÎìÇoýx†uóBïÝzL›¿˜}­:£¡P(O%ÔøŽÜPq²¦r8â?µWJ¤Ž)Pw\ç ‘ÁßO›ï8âQzšÿö½ì ƒÒñ9Ï@n¨ä(osPä•ÀˆØw’X´hièegÕÖ¼£ÿö}ò·Êx CλŸ)¢Nà¹Ò¨~nÈICjÔ4¯-bd»ê‚ÿë­ .  <_‹µ†ó @p¿xàæ À7®Ÿ…Z‰ÞÉ£Þ+?²3äÅ“G‹ü‰z²È׬K7Å}cQûï@C†Ü Æ2¤‹ýl¾z9wôPxPàûÊëw”xõÕP΃òp°<–•+ÓKš{Ho‹‹â£z.¤K<—þ}¾e%Ô/–!·o,)‘!ë¢OÔï&à uƒó j áDÌà±ã [›Ð%†­MqH83Ñãkŵ‹O‹ƒ4È 5UœŸ×éó^õ[§²R î˜ÏƒŠ½!+ÎÏ[áê8ݪó/Û7ÑO½+{¼À˵o§¥SÆç¿Ì¡ _¿ psr±4ps¢ï¸àla:ghŸÈMëÜœ~ÞÌM^NöÚ9®®}:®ö˜š—“-OìÝ>#­Ý¬ºÄØM©þP´ÆsHïYƒ,âÂÃXê”v[ É:[w¶0=wôÐl›^ž¶–7/£ ï\Ið›4zZosßQƒ.?"ë1†Ä¸?)·Ïqp«ÙÖÁñVây–¦4€²ŽGÒ‚‘¼Cãa‚eHg¬“(þ EÕ/ EbÜKŒ­³ì:¤ n8]‹Ú¼¾{?눔ŒU•tá¡-ô "¯gÚŒ›±q-UØ£ßÀ¨ÔÝúö^K/ìú­ìþ]#œ¦$<ÆÒP §Ë—_ϺùpЇ]Ÿ|Ž$#5e]ô‰°¤ÛiI—!Gv„ä<}râüž‹©%oX꤯§H^X«SZëy/²÷$Üt_µyU²mé7¿e‡ÓFÄÜ¿qMÖ-b ‰qRž?ÈìÜÓR¬æÎ½úp¹:€&áíxÄHÚzÉÃË.­NE¤’¶—$['ÒwRP7œæ i—/Nöš«#ˆžTO9{zê7~:Ãtôk—©ÂôäË“<½u§9¾éÉIôÂ#œ¦Pÿˆ¼Í’z6Ùrˆ]qÓf>¸sSô)Ÿ5MÛëêé¯ ?JIˆñZ¹ÎФM3Ý3pÞÞOˆÕ)­u§¯æ54>É9÷ÙSªD§iÓ½|þ´UÓA[ë¶Eb÷'¥¼¤DWO_lùæ-ôÊKKeÚ^uÇÛñH&’‡ –!;RÒö’dëDú®ÃA êæ“ÏƒŠ] þ8–•[ZT¨ohDÑkÙŠ^ ´¨Àg¤µP(ÖÔP?,Ly[RL-©ohTVZB/ÜTÐŒú·úCK4·/D¯Í}ö´¦ºZì)C“6¢‹ÞäµngÆu+¥«SZëÔK«q“&t¹ÿö}¿…í<}hYIÉìe«Ç¹¸Kk‚e‹Ä0îOJs}ý²Ò’-E Ëß–6×Óã°•êGéÇ#™H&X†tîx8HIÛK’­é»)¨›Oæ ôÉy±žÐkiX\𦥱IiQ]h`dz&YG ­AWO¿¤¨À •qIa¾ä»¢Z…®ðó^4À~LUeÅÌÝY–402ÎËÉnÓ¡#÷Ê…B!û@À½õ®–Vþ;öBî^MܲÈWôå­¥¥US]ÝH[›K¢!1îOŠyÏŸÞOï;t„há“{w;ZYÕý¦ IDATôd @})ýxDÒ¹cÒ¥áç %¦^öRP7œ®Å÷6*vÿîÊ÷ïÜOÚŒpxkлò²ü—9;–-¤ ûØ;VUQw0Ìrˆ¬ÑTVV趪ª¬ˆÙÅví€2ÂiÊõ«ŠÞ¼~W^vxëÆZkÖÕ7xrïn}µ¾y¡÷󇙪ªþ){Û¤é'CŒq;³ÌÛ7¸Ô)ãþ¤XÛMŽ[=9>®ÿðÑìqhÞŽG±!;–!o)1õ²—p‚ºá4u_²âAÚ-›žMttèwi3ü–—xÙY¸9õlKÎò_•‘š2c@÷¬´T¥«eföw«ƒæÍö9Шm-¿”æºÀ¿™ù"ÇQÞöÖ\Îö;yÍ]åîÌþlÜ[·u˜ò7«.1¡?. Þ!úÔŒEË7øzÐ ±Ô)ãþ¤ØOžzã|¼è7 ^½¼q>Þ~òTö84 oÇ£5:¤Kû;Ê҇tF¼¤ÄÔË^ÂA êæã ˜ãÏÕ–•–Ìgžr_‘!ƒ£;C²?\¼uõpóBïÝz°Ü‚‚Èð#Ž F¨9%ŽGê)¨®sÐÈàï§Í÷‹?ñ(=Íû^ÅrÁËÔÇ9(ŽG) Üï“Ô¢¥¡—U[óŽþÛ÷Éß*ãå9o¦ˆ:@Õ¨þñH¹ ¨ ٮŃºÀ[LP;2]‹µ†ƒŽßI¨G˜ƒß>~”ý÷ Ñ›3I>¥Ž`Ù"ùÙòâÉ£Å?þD= YäkÖ¥Ë÷â΃H:–•+m®ÆÛ7–êË1âÒÛâ¢øèƒžËéÏåD,+)–-Dh`ãÁPg 'boØÚ„.1lm2hŒC‰˜‰_+10Pq8 ªKìl\q~Þ WÇéVÙ¾‰~ê]ÙÛà^®};-2>ÿeUXøúU€›“‹¥y€›} g Ó9CûDnZàæôó¶à:#y‡$g ÓsGͶéåikyóÒ9–Xê$÷^r¶0=°Ûg¤µ›U—Ø» !y9Ùk縺öé¸Úcj^N6Këw®$øM=­·¹ï¨Aai]Z’!±lÑ­ÄóCÅj¶up¼•xž¥iÌA@mDm^ß½ŸuDJƇªJºðЖ ú†F‘×3mÆMˆØ¸–*ŒìÑo`Têƒn}ûG¯¥výÖ?vÿ®NS’N“µui—³ó^dïI¸é¾8 jó:–Øë”¬<#5e]ô‰°¤ÛiI—!ž._~=?êæÃAcvü’­o[ºÀÍoÙá´Ç1÷o\ci±NÆX¶èùƒÌÎ=-Åjîܫϳ¬ –¦0µ‘vùâd¯¹:èEÞ”³§§~ã§#8L÷H¿v™*LO¾<ÉÓ[G pšã›žœD/<Âi õoÈýÍåäôÕ¼¦‚fÃ'9ç>{Ê’¬|Öl46m¯«§¿&ü(!$ôl²å»&::ã¦Í|pç&Kë:M›¾xüèåó§­Ú˜.ÚÊÒ„´:%±lQyI‰®ž¾ØòÍ[è•—–Ê´½ÐÐp½OoÄ®JSËÊ--*Ô74"„èµlE/PZTà3ÒZ( kj¨º'„¼-)¦–Ô74*+-¡n*hFý[ý¡ª¾¢¥f`›4©©®f IV†&mDÞN¼¼6÷ÙSºi­ûoß÷[ØÎÓ‡ö—•”Ì^¶zœ‹»´&¤Õ)‰e‹šëë—•–´0h)ZXþ¶´¹ž‡­„† sPP9ô%`±BÒkiX\𦥱IiQ]h`dz&YG ­AWO¿¤¨À •qIa¾äY:Ž´´´jª«ik˺"cHì„B!ûl5t…Ÿ÷š öcª*+fèβdWK+ÿû!w¯&nYä+:Û"ö:ECbÙ"óŸ?½ŸÞwèÑÂ'÷îv´èÉ$®Å€Úè7lTìþÝ•ïßÿ¹Ÿ.´;áðÖ wåeù/sv,[Hö±v*<¬ª¢"î`˜å»º5gÜÎ,óö:¬È ]}ƒ'÷î²/SYY¡gتª²"fÛåuBÈæ…ÞÏf~¨ªú§ìm“¦ŸÌŶˆ¥N±X¶ÈÚ~lr|œØêÉñqý‡f8ÌA@m¸/Yñ í–‡MÏ&::ô)º~ËK ¼ì¬Üœz¶¥ gù¯ÊHM™1 {VZªÇÒÕuknÆ¢å|=èHû;ÊL!±pòš»ÊÝ™½ÎÙß­š7Ûwä@£¶µür§­ÃÄÿø¸Yu‰ ýqað–-b©S,$–-²Ÿ<õÆùøB‘Ï×¼zyã|¼ýä©ìqB§…ßU@Í)9þŽzYiÉüq¶á)÷prtgHö㇋·î¡n^èÝ¡[–û$QS[Ì@8ÌA@%pœƒF?m¾_üáˆGéiþÛ÷òÔ3ÌAà;I ^Z´4ô²³jkÞÑû>ùkc¼üÍÛÝ8Õñ¾óõçA@%Èt-Ô΃Áw’€˜ƒßp-TBï'j 3çA€o8 |ÃyPàæ À7ÌA€o˜ƒß0¾a |Ãø†9(ð sPàæ À7ÌA€o˜ƒß0¾a |Ãø†9(ð sPàæ À7ÌA€o˜ƒß0¾a |Ãø†9(ð sPàæ À7ÌA€o˜ƒß0¾a |Ãø†9(ð sPàæ À7ÌA€o˜ƒß0¾a |Ãø†9(ð sPàæ À7ÌA€o˜ƒß0¾a |Ãø†9(ð sPàæ À7ÌA€o˜ƒß0¾a |Ãø†9(ð sPàæ À7ÌA€o˜ƒß0¾a |Ãø†9(ð sPàæ À7ÌA€o˜ƒß0¾a |Ãø†9(ð sPàæ À7ÌA€o˜ƒß0¾a |Ãø†9(ð sPàæ À7ÌA€o˜ƒß0¾a |Ãø†9(ð sPàæ À7ÌA€o˜ƒß0¾a |Ãø†9(ð sPàæ À7ÌA€o˜ƒß0¾a |Ãø†9(ð sPàæ À7ÌA€o˜ƒß0¾a |Ãø†9(ð sPà[cBˆ–––²Ã% …Ê¡Þ ŸÕ‹ºäò A]ò@a`M‚|E@^Ô»ÆÔDzr•(‹³…©²C¨Ègµ v¹‡¼‚z¤vùPïðyPàæ À7ÌA€o˜ƒß0¾a |Ãø†9¨,s™èlaàæ¤ì@@m¨NÎ$<ælaêlaúðî-eÇ ‘P(üeû¦¯‡÷›Ò³½³…éoa;•ÔQcej#bãÚ“"ÊûÅþ´¤‹1»~$„tëÛ¿m‡ŽfÝ{(% æ PŸª?Tii5j¤­­ˆÊsž>¦þðß¶·U›¶u¨A¡áw¼ÎA«**­¹òûo55B›±ºôî³ïûBȆ#qÝû „\<öË™_"³=¨Öt´è5Ùk®Í¸/¨u…Báù˜èsGe?y( Ûwé6vêŒq®³¨û8/uvxr?Ý¢ÿÀQÿv=ò¶¸xðï5AIqÇ ÛYœŸ×sàù¶¶6¡j»ôÛ‘ËB‚ý£Kï¾b !q÷\úíè›—9ïÊËŸ5ïhÑsòWó¬íÇR«/s™øèîm‹þí¾˜Vð*׬kwßµ›ºZZqÙLI,Š£F IK:yìhè–7¹/:ZôòZù=Qìñ|3ÎöÕßϬíÇ.ÿ)‚r>æðîÿ[BÙ~:©]ç®ìù\ùþýÁ «¯þKí¥®–ŸÄC¹x!f×Ö¿eUV¼×Õ7h×¹ëÔ¹ÿé;t„b:M3©K*.ž<æYVµ$u«ÉáŽÿ^¸i'B#œ¦ü¶7ôMî‹ñWR/œ©ó(J¤äÕɃ{î\I ð¶@Y}àHÛaì;1¼-‹|eÚ3Pïxƒîú¿%I'BŒÚšÞ½špíÌ)ÑgÃÖÄ…‡iiiYôHɼucÓ·_ûnçâN9¸aõï‘û!­Ú´ÕÒÒú+ã^XàòìÇ¿ú¿èžeeü´z©à³æïþIŠ;þ,+ãïGYÍõôª*+ï^Mܸì»ÐƒC}pçVeÅ{‹þ7nüWæý̛׳n§þp8¶‡Õÿ&‘ïÞ~þ0««eß‚W¹eÞßôí׻ϧ4ÒÖfßLI슣F IWàgbf^SSóøÏ;kçLßròBëvfã!Zl•KËçп+¿Ÿ „¶6IKº(¶—Šóó6Ο󡪪C7‹6ÌK žÜ»ûìAæ 2Q—T4ëÚ£øÍ›â‚7„.½úBLÌÌégŸfü™u;µu;³úD¾QTZ^™vìœýøAÁ«—„Ž=µµ7ÓÕå¸Ä«ß=uÀßw’ò_æ\Ž;N`?æ§ 7~º”Ú©goúÙ7¹/NEî#„LÿÏwë¢O¬‹>ñ/×Y„èõÕÕòr²O:@±;aÏÅÔŸ.Ü ÎÄýœ®¤âý»õ‡cÃSî™uíAùûQÖÂM;#odõ1šrçj"½¤Q›vìÇ °Ó\O_ò!!Ä÷ûM;Ï\]¸i§çÿ·wÿq1eÿãÀOÒ4Þj¦¦-"‹”’$*?zǪ±ŸP¢í×nŲ­’-ù¢¶]‰üJ¼E4ý°«Þ,²¶¥¥üHÑRòky'‘~ÍT«5ß?®½;;sçv§¦©™^χGætî9¯3óšs{çÎ ŒHL4XCÐÑqíÜOÂ#ßÿpfë± ÷¯6`|õÇSòaŠ#xןk@b%äß þ˜µïü•ÍG~@½knú%íBˆb<½ß óùí«—×ÏŸAY:Ì?t¹(1¯hôSá­ÞTüï=Ÿ Ùs蛄cßÿp6åfÙ¬EÿGý… ”Š_ïL˜íâŠÕŒ=™{2Ûý«P|Û¶––=‡þvóèõ½†wyE’óÊoSô'Ÿ}ŽmûÿŽ=™=Ö|2Å'A$2ú¸âI9NŸõÉb„áø wò~kkiá·µ©Ñh!³¶f3lñ^D"„n^8Ÿy`÷ÛW/… ëªß?1fÜȱÆ!ì@mÕÿž“ SÉÀ)<© ë+!1#ÆŒÃ>™Í°ÕÒÒPSýGÙ}„ГßïR‰‡y>ÏZôTURµýdqÙí[øV†ã'héè5Ô¾ úÄŽÁÒ>fìÄé3ñU BS‘Ð0ÃÑ6NÎ!l]žE‘”yE1ÿE“ö™È\/\“4p Y§6 \ô‡.ÁNµ`:ÚÛ?üÒÑ.¾-^Su *Bè_ƒ5±ù jà¿zQ^v`SBÈtÚŒ¹K–ÓèôÄ­a¼úºŽö÷ÂÕþ¥©‰ý2@uÀ_ÍÿÝ>ù0ʼnÈGßOHÖ òx:::°_š þ‡ÓI>ÓÔ°_ÔhêÂ[Ñÿ5xû¹˜‘öøÞªÿ=/-,(-,(+º¹59£Óá ”Š„˜:ºøïÝœE»–WäO‚px8ù<3Bò[ƒŽž0QEEE ägŸ›áäÜÑÑ~ý—³ø_ÇšOV0@ÐÑÁÐf­ ‰À ›xÜ»Wsµõô?6³À¶½vþÌ 'g„Е¬S!ñ+$¨øýƵ,N"BÈwcÔБ£DþïñC¬šÛÚS+›ºê7Í2¦8’wa\€:JH¼Ú‹GŸ?,elòûk 5ÕØ(BÆ3X“ª~Yttܼpžb`£ŒM°–ï\·ž¿!Trãªp…Ö–w***˃6`SwFŸ>r ünQž„~K±RQUíÃ^£åÏfú¿Kj§;³(’2¯dþ$äC~kPÝa³œÿïÊÙ“7~=ço?µã}{Ë»?ñ¿ê _ôÙçYɉÙÇ“Ënß6rt}MõÓû÷†kû {ÈG#œ<¼I?vóâ/«çY#•ê—ÿC9ºy ï¡©«y]y;7!ä¶&Dü¡‘‰6é§ìˆž6ÇñJÖ) C&ÃG>ð. P¤@ ‰£©ÓÖ-ÔaXõü„ú -Xáê4󙳟>(ùß㇖,hkiyùì1ÅÀô †Û,p¾~þlöñä·•/ùü6‘5(·¶fõ<ëj8ª£½ýþÍ|ô×ÊP¤X©8Üh,öKÐ'vÚC†~úù—Óç/o§;³(’2¯dþ$äC®çâW»sÐ`k?ÿô®©iÚÜž`ÊÙ…¢©By}³eäXã iÿ+/«xòˆÉÒ5Ÿ1kæBl[¿MÑ#>w13ýåÓÇ¡QÆ&ó–®pZîÕq~dôqPlü{cÿ(½ÿg#ïÿÖžˆùTS—‡)Ž|à ç(JBâF›üÛý³ûãT¨Œ16÷Û=døH*ñ,]õumÕ«›9ÙU/þ˜6Çq–ó§ÂŸ,$÷å÷»ÿ¥¡yý—¬ßo^7Ÿaëñõ7é»¶áý—&c†“ó¥¿_½üžÏg²t­æþ?\(R T´ýdñï×nýökMÕ«šªWØ5òâº9‹J›W½ò~tÓ‡/k‘Ï/êß¾¬É¤Ñ顎ööm«½ïäý¦>è_œ‚jêên®(k˜Ø—ü ”å3OØ×RÌgÅz¥”åžTyÕŠýå?=D®ÇAï^ËMúnó¸IS Öø£ì>ö­_£d“l?¦€W ôŠ€~H®kPƒÑ3îѽ;-6ÖdL²™í´ÂÇjî¿åƒô“a*x¥@©è‡äz.ôAJv>¨§Ï™R Üƒ¼2§@ù@‘ß}’ÀÀȬA€¼©ôv OPšÏ$aŸÛ D!rò ô…Èzòöá»™àzÏ~ »6SÉ@>+…Ë=È+ C —ÿÈòkP o°òkP o°òkP oòXƒº`ÿz¢e™· ú³ÞÍ(ÈgeEq”T­››K« „ Y DkГ_õÐ÷êQoæA@Eï~$ä³~q /]ظÜÅÍÌÐkºÉ¾o¾âÕÕŠ×!Ùü^þ•H_7wóQÞÖ¦ñaAT6ï=7󔜋¹:Ÿ–´$0ˆs³4áB¾–î]Á«¤Ú<ëØ¡ÅŸɹUŸ}MwØGqë{(NèQÄkP‘£,Õ•Q¾îîæ£¶x-­®¬Àë\ÌHó¶6õ±1+º|+l¨©Þèî¼ÜÂèÇ};ÈÕ¼kjŒ]ëç>iô†% jª*¥›ð,aHx58+Ôo‰ç‰ïLó”ÑìöÆâ…3ŠÐ¶@¯ 'RBN¤n ôêB„Ï ‡J^ÚrôÄ»¹ô Ö`j¹¯]_ZtSª~7NŸd3[>HSK{I`PyqaW¢ÿ§ºê7ánÎË-ŒÒwmû»ðÍë¶›™a„»îÍk¬PxÔ¿§ïÚ¶ÜÂ(ÌmQ]õ’Žº9ó” ¥ã ‘>nŸ~±&µè‘Õ<§!xyõËŠC¹Ež!©;£±’Ôß›lÉ)(}Ïo#o3m×6&K7åf™µãBÎö(á?QÙ³J:Ë#^N œûW¡g’ر—\9{+¡žQ„|#¢Îq·¶¼ËJNô€|î§ÄóªS÷oå5ºkÝýÙÈûéð~ã)VäÕ¨d`Jl”ɴ霂Ò÷|>^ȉ?yZjaùØIS8±Q$›#„ÚÛÛ9¥¦Ó¬Sw|KRdæô7”Ö  òÍfتÑhŽËV–ß-ÂËÙŸ¯V§šíâúêù3¬¤øê¥Å~«htú"¯/ÈÛ,¸p~é—Á4:Ýi¹WÉ«]€ñgÇ^‚ý¬ýëèŽ$3J„¡Í—ï>³ýd±þCYÅ ù¬X¨çæåÓÇ á뼿ÙÒ…¾\ <§ÿúcêêï⺰¹ˆ{×óœ½ýitº‹o^X’ÕÅÇŸF§³}Kò¯·€Õtöö¿{=¤ZÍüE4PøáI–“_ÝÉûõêù³Žöváú &Bh š^Ϋ¯c²tB mòŽyõµ–@ÐÑ¡¢¢"ü§îÝ ô[’ò!¤N„ýlÏ'ÜG=£f/ú43aW@äv‘rÈg%#“¼B=.)ŽYí³"8|ò,‡.„qòá«f/+ùÐáÈðˆÄ4òš¶ÖÈmÀ¦nì§xaKÞ>ó7qHª‘Ìü€þækP|ªr56ž¶6ûo™j?ßÖºrê8’æÚ¬†Ú·Úzú¼úZ‘?©¨¨t´·PUÅjéê%üšO£Óe0jLyýФ|î!ÿýÏÞÙ.®'ÿ³wmÌÞžî A>÷™äÕ­ß~=øÿÖ¯ù~÷Tûy]Žd0ƒáð•§•q—[Àijisëkµtô¸u5x¡ƒ‰bÿB PUå·µ©Ñhøõø¬&¯¡NSK[¸¼×g~@ŸEé\|[[+ƒ¥ÃokÍ<°‡¼æäYsÎ$lkiù9%IäOz(»s h=áñ=1ïš›jª*ã„köÄ•L­§÷ïɼY0”=xú dͶÝO~¿ûüa©ðŸ ŸˆŸSŽ$n Ût8½k Ðík|ß»óžÏçÕ×ý¿c”±)y}*h1Óîç0¿µ5+ù0^hn3ë\r"¿µ5ëX¢Ù [¬p˜áè«Y§ÚZZÎ&n«yŽsXä°.õ™ÐßPZƒz³%fµw Ã4ÝaÌežë7–ßö²6Q£ÑDÒ¬X¾-Ð Ÿ W‡sëjýl-"<اÛH·´W³ýVmöt…ëˆ$ݼÞ+´£ßo®ûfƒ«þ}Í<õÍ/Kúîÿ­˜òñÚÏ|Sñ¿õ{»’çúM÷oæ{Z«þuÀ!ôYèæÒ‚SÇ=,.ôÚ°¯™÷¿ýTýá#E±2~póÆÊÂ…²ùÊäÃ2Qæg*›xÜ5Ž6ÉdÛ,9lß z;ÙÀþçŒ+ʽnæ6ÒN7—T­››ƒ¾Iò€Ÿ')Ñ<kP¢@û`øè-è! ‘ÿôWü…ðô7,yi}XƒÂN´ß‚ÏJÞ)ý¼ú@†`îîäM©Ö „7ÝîƒHâì~ð'öÇÅ­ ÄÆ­ ÌØ/ƒÛ¨ú§‹i+¦ŒíËó*Il0£З)ÕTQî Mg7ãol¨ÏN?扗ø„Gþ’~ŒüÎ%×»;Ú¾¼›}ܲåD|\túi…˜ZÅÁŒ @_¦TkP{:súü¬!úx kˆ¾Õ<§ÜÓ™½•éÝ-õÞaµ 䦡¦zô„N¾_YÁŒ @"^ƒŠìájª7º;/·0úqßüOïšc×ú¹O½aÉ‚šªJ¬°îÍë¶›™a„»îÍk¼5ß™æ);¢#<Ø?ì%‰¦º²"Ê×ÝÝ|Ô¯¥Õ•øæ3Ò¼­M}lÌŠ._$ ‰aœ’F-ÞሰÊgŽ p°ô°sæèAIÃ$‘¤ÞÅOÐã…Â"Ñí¼œNÎ"-Û89ßÎË!éн5OJº£ø¤D}F½{-7Øe†s¬.:!Ü‘@ S"¡ö÷ü䘭>3&~feœ•œØ…g)}×¶åFan‹êªß/>£ŠfTz ¥ã ©;¿7Ù’SPúžß†¦íÚÆdé¦Ü,³v\È/Ÿ¼n IDATÙ…rb#ÇOž–ZX>vÒNl^Ùý«Ð3IìØK®œ=IÒQ¤Û§_¬I-zd5Ïé@D^^ý²âPn‘gHDêÎh’Æ)‰xG’F„*-,ˆN?xåNñ•Ë’†)iDâOÐc…'¾ ˆÜ>çÿÜ:Ñ‹ò2#3‘FŒLÍEîÙ߈ï‡ÄwcÔ÷X„VÍþòéc„PCMµ·µé{>_Ú)öÞÍû9ž#·yŸ+Ä' ‘I‰úŒºwÃZà°ãÅO"9™nÝ é¨›S"¡ñq•ÏžÄÎ9t©[û¶ ÏR{{;§ Ôtšuê_w)“ô‘'ñ±ÃŒ @o¡´-¾zi±ß*¾Èë ¼°àÂù¥_Óèt§å^%7®b…%ùW]|üit:Û7°$ÿ ^ÙŽ½ûY+ôÿfq òÍfتÑhŽËV–ß-ÂËÙŸ¯V§šíâúêù3’Æ)‰xG’F„ غ]Ï`¸ƒ¹59CÒ0%H*e·o]=÷“ÿÖ펨™ËÕ`0E6¬ÉêN€ýønŒú‹ÐÄé6¿\CÝøõgKÇjjøŸ¨¬©÷N²þ½Knó$ ‘I‰úŒJSWùäqÕ‹g:C ÖÆì!颛S"¡Ü3™~›¢YúCih® ‰ M¬¦³·ÿÝëyäO‘øØaF ·üã;êENë`¿œ|øŠW_Çdé"„Ú:x^}m€ƒ¥@ ttà7iä6`5™,Ý&¯¬N„ýlOv|èNÞoœØ¨WÏŸu´· —c³À@55¼œ0$B„qJ"Þ‘¤!„XúCE6¦¤QWûº*é»M‡RÕh´NG4˜Élâq5µ´… ›yƒŒ®õ®¬ìØKmùÆŽ½äÈ·›Èkâ{¬ƒ›CIª™YÛ\<¿`…Ïìs‹¿øRVqRìÈS¯Ï“$D&%ê3jè¾#?%î?Ÿ–ÔÄåz‡mqtó”ÔE7§DBõo«‡|4‚bG„mâÏ|§W íM`F wüc ŠVq56>ÄÂÐf5Ô¾ÕÖÓçÕ×â…Zºz ¿æÓètá4Ln}­–Ž·®Fü¿JØì¿5fªý<~[ëÊ©ãHj†„QQQého ªJ'u=7"‘8 ñ[[w‡¬ غ][ïïÅ“ŒÈpü„gJ&Í´.|zÿÞ(ci#W’Ö Hš½ø‹ÐDkÛ¤èMuÕo*ž”O²™%ü§î­¤Ø;§^Ÿ'q€üÿÕÔgÔÍ,Bã „î]ÏÛµ.d *«à…iéêUWV 9ªËa5y u"ëEŠ½ÃŒ @¯ t.~ò¬9g’¶µ´üœ’„ZÏ_x|O̻榚ªÊø° ¬ÐÜfÖ¹äD~kkÖ±D³¶ÒFÓÖÖÊ`éðÛZ3 ’Fï£ewn‘ÇI]ÏH$NBÿÙ²aî’åcÍ' ’ŒÈÒ~~~v–H#ùÙYSfÏ•6r%€šVä÷žÀ¢Ï`éßcé0_u ZçtÜfº¯‘Û<‰Ñ`j=½¼õugÿ‹Geïùü?›ÕÔÉþÇ.“àEر—ý~sýÛ7ïš›ŽïÙÞ…Ž°šç8‡'Ïr¶w˜Qè-”Ö žë7–ßö²6Q£Ñðÿv¯çÖÕúÙZDx°'N·Á ? Ý\ZX°b긇Ņ^¶H÷7[bV{:LÓÖÉGèCúغðm^øq/Â8©ë¹‰ÄIx­IîéÌýáëD.X!‘ý⥷r²…/V­}]u+'Û~ñRi#Ò2³¶Í=1}þB‘òž¸rˆÊúÈ™ÜæI ÛoÕfOWòì¢>£Ú8-Šû:ÀÃbLfÂî Øx’š2 ^„ûÚС# ×9Ïñ··ÄOsKÛ‘§•ñƒ›7V†lÄR¿zfTzˇ‰’âñ¡&w£MrÁƒž I:}0¤Þ•±?®âÉ£=‡°‡;ƒüGŽ¿lÄKò±ÙYiªaû~‘|9gŠ=þ‰ÄVŠx¡¤¯âò³³âÂ8¥"'õ:ݰ ½ŸJŒÿï=­-ïú²$Ê=¼’&%e"íŒJå?=„ê4%öÛek‚³s—‡î;Üóu®†¤ˆ”l”j­ [W²Nåÿr6ì@²ü»VP ”{ó &%@å?=d`çUBij³ül-†Ž Ýw¤û½ž‘vÝÐådÒ;Âømm9és\Ýz;Лúà<Ù§(߈Ý!ݹx |”ìÿâ=}TÒNÔÕØÀÔÊfsÒÂß È)Pîõâñu ¬(ÿè!TƒäU¬N©Pº.Rª5(áM·åÐ)ÉCY9±?.n] þ0n]`Æþ¸žè„]ÌH[1e¬æUê]H LžôYJµí wÐî‰ê³Óù„Gâ%>á‘¿¤ëô®t@±Èù¿O@¡É-[NÄÇE§Ÿ–ÃÔJ½ š„OLžôeJµUV¹§3§Ï_Àò÷í:YCô­æ9åžÎìŨ€ÌQßÃjÈMCMõè ¦½EÁä @_F¼ÙÃ5ÔTotw^naôã¾øŸÞ55Æ®õsŸ4zÃ’5U•XaÝ›×l73Ã6~o Wcß™æ);¢#<Ø?ì%‰¦º²"Ê×ÝÝ|Ô¯¥Õ•øæ3Ò¼­M}lÌŠ._$ ‰aœ’¸œ9z0ÀÁÒÃbÌ™£%…TWý&ÜÍy¹…Qú®mÂÛŠ€úˆî^Ë v™»l¢aà«K§N7r;/g†“³H¨6Nηórȇè9½5OJºÅé‹úüƒµ/„;" ž°wiG$þ¹&ñ8%Õ”tK$˜<èË(MÝùý¸É–œ‚Ò÷ü6¼0m×6&K7åf™µãBÎö(¬9~ò´ÔÂò±“¦pb£ðÊî_…žI:`Ç^råìI’Ž"}Ü>ýbMjÑ#«yN"þ¾EõËŠC¹Ež!©;£IB"D'‰Ò‚èôÓ‰Wî_¹,)¤”Ø(“iÓ9¥ïù||CÂOPÑÞ k=‚ÃŽ?‰äd>¸uC¸‘åeF&f"-™š?XÚép"úÌ®ø®‘po½-Ðë‰T„Ð…©Û½Hº ^SR„RíƒÑîô.¹Í“øT#>çP™¾åù‡°#IÁ‹÷Þ…‰“°&É“'}¥5hñÕK‹ýVÑèôE^_à…Î/ý2˜F§;-÷*¹q+,É¿êâãO£ÓÙ¾%ùWðÊvì%ØÏZ¡ÿ7‹K¸o6ÃVFs\¶²ün^Îþ|µ:}Ðl×WÏŸ‘„Dˆ0N[·ë ×`0·&gH éÞõy\õâ™ÎPƒµ1{„iær5L‘–k2šy¼N‡‰ï ÷Ö¾Qç8‡[[Þe%'úFý†¤&••böÁ}áÓÏ@˜ÜæIT¦/$åü#BRðâ½wDâqJ &Oú²|?¨Èiì—“_ñêë˜,]„C[¯À«¯ p°‚Žì œBܬ&“¥ÛÄãâ•Õ郰Ÿíïÿ>p(îNÞoœØ¨WÏŸu´· —c“È@55¼œ0$B„q’`éí4$áa’·F}D¡ûŽü”¸ÿ|ZR—ë¶ÅÑͯ<˜Élâq5µ´…[hnä f0: dÇ^rhË7vì%G¾Ý„•$\ÈÇ~q\¶2-î;ìwý†6 \¾øÌö“Åú# I¤^S*ø>øàæPYµ º©×çIT¦/$åü#BRðâ½wDâqJ &Oú²¬AñÃ*®Æ‡XÚ¬†Ú·Úzú¼úZ¼PKW/á×|.Ü‚ƒÉ­¯ÕÒÑãÖÕˆÿï³S ƒý·ÆLµŸÇok]9uIMÂ0***ííTUIâìfHšZÚø0e5¢Í,Bã „î]ÏÛµ.Px`8~³%“fÚ ×zÿÞ(c“® ªŸ´V@D»FI{ëÙ‹>ÍLع½Óî$ÕìÎÑÊîïƒÌõú<‰äÿ¯–Éü#BVÁ÷ñ'&Oú2Jçâ'Ïšs&é`[KËÏ)Ix¡õü…Ç÷ļknª©ªŒ  ÍmfKNä·¶fK4›a+m4mm­ –¿­5óÙÉ I!aô>QvçyœÝ Éb¦Ý9Îa~kkVòá.lNhgÿ‹Geïùü?›ÕÔÿ±Ç²´ŸŸŸ%R??;kÊì¹Ò ¥ßÁÎV Ÿ¹&Y&l öø:쇻ÏÒn?.ÿïöÎvq=ùŸ½vG½¦LÀ-þú¹Í“ ¦ÖÓû÷ÈëÈdþ!“à{á“'}¥5¨çúåÅ·½¬MÔh4ü™+‚ùuµ~¶ì‰Óm°ÂÏB7—¬˜:îaq¡×†-ÒFãýÍ–˜ÕÞÓt‡uò:Â>¶.|[ ~Ü‹0În†ä¹~Óý›ùžVƪmE.¡>"§Eq_xXŒÉLØ/ü'ûÅKoåd _‚ZûºêVN¶ýâ¥ÒHB¸·þ£ìÁÓ%k¶í~òû]ò‹HjöÄ•CTÖ@Îä6ObØ~«6{º’g—Læ2 ^õ+íHj>!0yЗ}˜()ž.lâq×8Ú$<èɤÓCê ûã*ž< Ùs{¸3ÈäØñËÖ„oE6e+ÍA5lß/’Ï"çL±‡Â?B¿ý÷‡”ß"Àí«Ð¤èMXa”¯û,çO>u»têĵŸOoNúAR¿$5Ez'$²ãÄê o(ÒÈ©ÄøÿØÓÚòN¡/KR Ü#Ì+Iúɤ¤(znòì&ÊzÕ5hJì·ËÖgç<.)Ý×É hùèƒ!)"%›¥Z+€Þ¥@¹G1¯`RÔ)PþÐCv^!„¦6ËÏÖb˜á¨Ð}Gºß+áÙi× ]I&½€ˆ>8Oö)Ê7"@wHw.(%û¿xO…¨ )PîÁñu s ”ÿôªÇAV!€ŒPº.úpn< @ÜÅŒ´ä˜È–?›{ú$•oèQ'öǽ|ú8d÷°‡qëGŒÛ® @YÁqPú ø¯  NnÙr">.:ý´V‡r[€>u õÙéÇ|Â#ñŸðÈ_Ò5qäýÐ@ø@4}õ}p¯1ýGCMõè ¦½EË=9}þÖ}¼„5DßjžSîéÌE^_ôb`(18 ]!r8­¡¦z£»ór £÷íÀÿô®©1v­Ÿû¤Ñ–,¨©ªÄ ëÞ¼Žð`»™Fx°ñ[ø¸øÎ4OÙáÁþao,y¿„÷ r568sô`€ƒ¥‡Å˜3G"„ª++¢|ÝÝÍGmñZZ]YW»˜‘æmmêccVtù"Vx÷Zn°ËÜe çX]:uB¸#@ Üað„½K;"‘ç“0ÎÕógT<)GU<)ÿÒцäI–’¤Û,ÝÎË™áä,˜“óí¼’ÈÝkP üÄ÷mâ»F½õ¶@¯ 'RBN¤n ô"ébÕÜé/Ÿ>F5ÔT{[›¾çó¥â>˜ú] œ¥îü~ÜdKNAé{~^˜¶k“¥›r³ÌÚq!g{Vȉ?yZjaùØIS8±Qxe÷¯BÏ$°c/¹rö$IG'¾ÂŽ‚ã¿àJ ¢ÓO'^¹S|å2B(ÒÇíÓ/Ö¤=²šçt âïÏ5V¿¬8”[䑺3+Ù»a­GpØñâ'‘œÌ·nt$)xñÞ»0"âqZÌ´»{-!t÷jvX!á“LÉS÷¢¼ÌÈÄL$#Ssò›ôºÖ  ?ß5î­}#¢Îq·¶¼ËJNôˆ’Üš8Ýæ÷‚k¡¿þléà8PM ÿ••"õ}0ÉNô®â«—û­¢Ñé§n .œ_úe0NwZîUrã*VX’ÕÅÇŸF§³}Kò¯à•íØK°ŸµBÇ¥°u»žÁp skrB(áB¾Ù [5ÍqÙÊò»Ex5öç«Õéƒf»¸¾zþ +¡©«¿|ò¸êÅ3¡kcöt!)xñÞ»?"ñ8'Í´»{-!T|-×â¯5(á“,)$Iš¹\ S¤p°&£™ÇëBä*` ú#ñ]#áÞZ„¡Í—ï>³ýd±þC’ͬm?¬A³ÏÙ,=£×eâû`Ðë„Z ÿΫ¯c²tB m¼2¯¾6ÀÁr‰ÉpÏiÆÍ<.VØÈmÀj2YºM"„Ô郰Ÿíï¥;ŽŽcé~x'ï· Oì–šŽpŸ4º­¥/Ç[ÕÔ:ÚÛ±’Ð}Gß»óíçŸYMÀŽýK")xñÞ»?"ñ8ÍgØ–5ñ¸îÞ6³ž‰>É’B’d0“)2„Ps#o0ƒÑ…ÈTÀwÔ¥%òQ9ììØ¡ø®ñNÞoœØ¨WÏŸá{;ÌìEŸf&ì ˆÜNÞ×DkÛ¤èMuÕo*ž”O²™%ü§î­ßƒ^‡¿ "W†1´Y µoµõôyõµx¡–®^¯ù4:]¸ “[_«¥£Ç­«?öF@ Ànà$IÂÆ`ÿ­1SíçñÛZWNGRóc3‹Ðø#¡{×óv­ ttó”TSVÁwÍ MÃñþ{pÏ(c“AšX!á“LNü©3?áÙƒüü>æéý{£ŒMº6€J ;[-|æšd9˜°1Øãë°î>K»ýH¸ü¿ÿÙ;ÛÅõäö’÷Å¢Ï`éßcé0_u ye™€o´èk&Ïšs&é`[KËÏ)Ix¡õü…Ç÷ļknª©ªŒ  ÍmfKNä·¶fK4›aÛµî4˜ZOïß#¯ÓÖÖÊ`éðÛZ3^Gí òñ¨ì=ŸÿgS£š:ÙbN&Áw‡ÅL»ìôc‹EÂ'™áSgi???;K¤0?;kÊì¹Ý@Ö  $aoýGÙƒ§JÖlÛýä÷»^š`fm›{:cúü…"å=qå•õ3ÏõË‹o{Y›¨Ñhø1¶ÁáܺZ?[‹öÄé®ãþ,tsiaÁŠ©ãzmØÒµîØ~«6{º’g—÷7[bV{:LÓÖIÚ8-Šû:ÀÃbLfÂî Øx’š2 ^„TWÚYØÚóÛÚ,„Ö „O2 §Î~ñÒ[9ÙÂWú×¾®º•“m¿x©tƒP¦GS€2Áöý"Ç;EΙb…"„~ûï);¾EÛW¡IÑ›°Â(_÷YΟ:|êvéÔ‰k?ŸÞœôI×ùÙYñaAœ‚R‘s‚T¾ËSdwˆÕÞP¤‘S‰ñÿ=°§µåB_–„Z!¦ ¼’¤‰Ç]ãh“\𠇃2–±?®âÉ£=‡°‡;ƒüGŽßs÷IR ü ‡À(©Ö ²u%ëTþ/gÃ$Ë¿k¥@û`Šy•ûí²5ÁÙÇ9KŠC÷–Kh@Q)PþÐCàš$ „zñ‹3á;;û3Mm–Ÿ­Å0ÃQ¡ûŽt¿5Â\R‚#ß"zD€î€ã @©_& ú …˜‚zñø:PVp8 ”¬3€þ ®‹òkPÐïôôá·¾x¯ûžØ·.·.0c\7Û}ÓÅŒ´SÆö©¬†@9À%A}ÇÜÍÏ*46Ôg§ó ÄK|Â#I?ÖÄmèN³@*r[žˆ‹N?ݧ>ßB=Âg €>Ö éäžÎœ>kˆ>^¢o5Ï)÷tf/FzHCMõè ¦½…,AÐGÀ(?ñc!é»¶-·0 s[TWý+©{ó:ƒíffáÁÆï•BxÇyWcƒ‹iÞÖ¦>6fE—/~ؼúM¸›ór £ô]ÛðMî^Ë v™»l¢aà«K§NDØþžŸ³ÕgÆÄϬŒ³’ÉCïð63Õ•Q¾îîæ£¶x-­®¬®)ò„¶Iüí¼œNÎ"C°qr¾—C2Få#ò46ÔTotw^naôã¾øŸÞ55Æ®õsŸ4zÃ’5U•X¡¤WÖw¦yÊŽèö{cÉû%¼««±Á™£,=,Æœ9zIΊ/7Ö¾@ îˆ0xÂÞ¥ö– ws®ÛÉ[’b“Ü{ €>Ö  ?joo甚N³NÝñ-V‰?yZjaùØIS8±Qä›W¿¬8”[䑺3+I‰2™6SPúžÏÇ«íݰÖ#8ìxñ“HNæƒ[7H<WùìIÜéœC— ¹µoÉCïýäÃWØÙIü„P¤Û§_¬I-zd5Ïé@DˆHÍNGDü‹ò2#3‘ŒLÍ;½©rKÝùý¸É–œ‚Ò÷ü6¼0m×6&K7åf™µãBÎö/¢¤WÖý«Ð3IìØK®œ=IÒáË)-,ˆN?xåNñ•ËHB Ê/7aG$ï‘Þ©ýõ–4™6=-î{’ލ'0ɳ @kPйøøÓètgoÿ»×ó°’’ü«X!Û7°$ÿ ùæìÏW«ÓÍvq}õüVrïzž³·?Nwñ À«ÑÔÕ_>y\õâ™ÎPƒµ1{$4†B¹g2ý6E³ô‡ÒÐ\A’xï„.ä›Í°U£Ñ—­,¿[$íˆH‚oær5L‘k2šy<ò^”[ñÕK‹ýVÑèôE^_à…Î/ý2˜F§;-÷*¹q+”ôÊÚ±—`?k…Ž/J%`ëv=ƒá æÖä $9¤z¹E¼SDz—jDø[²øêåN;GñM €ïJ‹ðL:vD„ÉÒE1´u𫹠X!“¥ÛÄã’·ŒíÀª©u´·‹oŽW Ýwä§ÄýçÓ’š¸\ï°-Žnž’¬[=ä£"…’Bïмß8±Q¯ž?#¯&©M’à3™M<®¦–¶p ͼÁ F§)IyÅ«¯Ãó ¯À«¯ p°‚Žü ’^Yuú ìgûû¿¦K…¥?Tø¡¤êåAòNé]ªáO]cC}§‰£ø¦Àôó ï€5(PZø 8Wc‘“qÜúZ-=^C¾Ò`0±Bn] ~Œd€ª*¿­MFãÕÕ’÷¥©¥oŽ~lf!tïzÞ®u$ûu-]½êÊŠ¡#G †DN à „Áþ[c¦ÚÏã·µ®œ:ŽÊæÂH‚7?áÙƒ’I3í„ë?½o”±‰´½("IyÅÐf5Ô¾ÕÖÓçÕÿ-Zºz ¿æÓètáºðÊ~¹ QÏê¹*«àEàoI ¦–l;–úyÐwÀ¹xÐKNä·¶žãž<Ë+1·™…fK4›a‹3}5ëT[KËÙäCä ZÌ´;Ç9ÌomÍJ>Œî òñ¨ì=ŸÿgS£š:ds;ö’£ßo®ûæ]sÓñ=ÛIB"¡ÁÔzzÿþ°­­•ÁÒá·µf ;µ* Ið–öóó³³DêçggM™=· )ɳæœI:ØÖÒòsJ^h=áñ=1ïš›jª*ã°Bi_YB"/7!ê9@=We¼8ü-iñ×Ò°çž%H`úXƒ‚~ÊÓÊøÁÍ+C6b? Ý\ZX°b긇Ņ^¶|¨³~SjÜwþöSõ‡ì¤µõ›îßÌ÷´2VUUÅ mœÅ}àa1&3awPl<ÉæîkC‡Ž0\ç<ÇßÞ?!H ¶ßªÍž®øÙaïo¶Ä¬öt˜¦;ìçŽ%],,‚$xûÅKoåd _]ûºêVN¶ý⥩Ä<×o,/¾íem¢F£áÞV‡sëjýl-"<اÛ`…Ò¾²„D^nB„9@ˆz®Ê$xqÀÓÊøþÍ|Ïõ›H:¢žÀÂg €>BE ôv È ¶ïïSß§­”2öÇUÎy\Rºï0ye€“ÿ´/P ü ‡À5IÈáÙÃ~¸÷UVšÚ,?[‹a†£B÷é~kÊ—-Ê7"@wÀqP Tà8¨Q ã@W@æ(ÿè!pM7Xƒyƒ5(èw¨|¥K_n_&Nì‹[ˆ?Œ[˜±?®ã}ÖÅŒ´SÆ*DVw¼)3Xƒ $¨¯ê³Óù„Gâ%>á‘¿¤Ãï\ ú>¹- OÄÇE§ŸîSŸ…¥>vxSЗÁ€~'÷tæôù XCôñÖ}«yN¹§3{1*Ð75ÔTž`ÚÛQô8xS °ÊOüXHú®mË-ŒÂÜÕU¿ÁJêÞ¼Žð`»™Fx°ñ¨oˆÿîjlp1#ÍÛÚÔÇÆ¬èòÅ›W¿ ws^na”¾k¾ÉÝk¹Á.s—M4 œcuéÔ ’ß55Æ®õsŸ4zÃ’5U•xG¾3ÍSvDGx°Ø‹bÁ‡»9׿}ƒŠßF5ÔT{[›¾çóñînçåÌpr‰ÁÆÉùv^I@„H^5ÔTotw^naôã¾øŸ_YIÉ&þrKê—ð^A®ÆgŽ p°ô°sæèA„PueE”¯»»ù¨-^K«++ðjâ L˜«Xû@¸#Âà {§>"ÂÍ%=Kâc—4Lñš„/ÞȬAAÔÞÞÎ)(5fºã[¬„9~ò´ÔÂò±“¦pb£È7¯ZùÕIDAT~Yq(·È3$"ug4V’e2m:§ Tx©·wÃZà°ãÅO"9™nÝ i0m×6&K7åf™µãBÎö¿{wÿ*ôLÒ;ö’+gOŠo2mzZÜ÷XÉɇ¯°S¥ø/¡‰Óm~/¸†ºñëÏ–ŽÕÔð^”—™˜‰Ä`djþüa)ùÀ‰Ôß›lÉ)(}Ïoà _YIÉFør‹#|¹1¥…Ñ駯Ü)¾r!éãöékR‹YÍs:ñ÷M€Ä˜0W ;"y§ˆôN}D„›vDá0 kJz£!xSÐ` ú#îìí÷zVR’+dû–ä_!ßœýùjuú Ù.®¯ž?ÃJî]Ïsöö§Ñé.¾x5šºúË'«^<Ój°6fIƒÎ/ý2˜F§;-÷*¹q/·c/Á~Ö pƒ/¾z™¤M3kÛkÐìs6 þq€§™ËÕ`0EêÖd4óxä$Н^Zì·ŠF§/òú/$|e%%áË-•€­Ûõ †k0˜[“3B òÍfتÑhŽËV–ß-«‰'0õ\%y§ˆô.íˆD6§þ–”4Lq’ÞhÞô¸OPZ„gÒ±#"L–.Bˆ¡­ƒ_pÐÈmÀ ™,Ý&—¼el_5PM­£½]|s¼Zè¾#?%î?Ÿ–ÔÄåz‡mqtó”Ô ¯¾6ÀÁR ::°¯CǨÓa?Ûßÿ}x¾±¡ž$ȉֶIÑ›êªßT<)Ÿd3KøOƒ™Ì&WSK[¸°¹‘7˜Á 8@’óŠW_‡¿4xÂWVR²¾ÜRaé~x'ï7NlÔ«çÏðDň'0õ\%y§ˆô.íˆD6§þ–”4Lq’ÞhÞôXƒ¥…Ÿ€¿5·¾VKG×P‡ïr4L¬[Wƒ ªÊokS£Ñxuµä}ijiã›ã…›Y„ÆAÝ»ž·k] É~]KW/á×|Ne\xðL-‘? |ÏÊ¢Ï`éßcé0_u šp5Ãñž=(™4ÓN¸ðéý{£ŒM¨ÐÏIÊ+†6«¡ö­¶ž>¯þïl!|e “­ „_nB ƒý·ÆLµŸÇok]9uIMê¹*«à;EÞ‘ðØÉ‡)\“äo äÎŃþè\r"¿µõçðäYX‰¹Í,¬0ëX¢Ù [¬p˜áè«Y§ÚZZÎ&"oÐb¦Ý9Îa~kkVòa¼pgÿ‹Geïùü?›ÕÔÉÖ—Öóß󮹩¦ª2>,ˆbðÿÜ_j0µžÞ¿'\bfm›{:cúü…"-XÚÏÏÏÎ)ÌÏΚ2{.y×€ÄäYsÎ$lkiù9% /$|e “MZâ/·¸¶¶VK‡ßÖšy€ìô:’&We<$‰Œd˜"5IÞhð¦@þ` ú)O+ã7o¬ Ùˆ=ü,tsiaÁŠ©ãzmØò¡ÎúM©qßùÛOÕ>²“ÖÖoº3ßÓÊXUU/´qZ÷u€‡Å˜Ì„ÝA±ñ$›¯çÖÕúÙZDx°'N·!ïK xZß¿™ï¹~“p9ÛoÕfOWá3Å­gª©«›Ï˜%Ò‚ý⥷r²…/j®}]u+'Û~ñRò® ÏõË‹o{Y›¨Ñhø7ÂW–0Ù¤%þr‹óþfKÌjï@‡iºÃ:ùšLê¹*“à© éHdì$éIòFƒ7ò§"z;dÛ÷÷©ïÓ–-ñϸ’u*ÿ—³a’Åÿ”±?®âÉ£=Žïî ò9vü²5!â5{¶2Pˆ)Hª¼jâq×8Ú$<èá €ŒÉùM¡@ù@σ œømm9és\Ýÿ*²g]¿7Q.A)¹”Øo—­ ÎÉH7µêä`6èƒàM€œÁù!á‘¿¤Ãïq z‹Ü…'âã¢ÓO÷åÏÂJ›ÿÕô°H”{:súü¬!úx kˆ¾Õ<§ÜÓ™½§†šêÑL{; Y‚¬ €5(P~âGŒÒwm[na涨®ú VR÷æu„ÛÍÌ0ƒß+ExCüwWcƒ‹iÞÖ¦>6fE—/~ؼúM¸›ór £ô]ÛðMî^Ë v™»l¢aà«K§NG(~2‘°£ö÷ü䘭>3&~feœ•Löý…„ÁÆù®©1v­Ÿû¤Ñ–,¨©ªnäv^Î 'g‘–mœœoçåtÝOˆ¼^ 5ÕÝ—[ý¸oþ'ÂçVR²ùÎ4OÙáÁþao,y¿Xû"9ãjlpæèÁK‹1gŽDUWVDùº»›Úâµ´º²¯&žW„¹Šµ/„;" ž°wê#"ì0Õ GD²€¾Ö  ?joo甚N³NÝñ-V‰?yZjaùØIS8±Qä›W¿¬8”[䑺3+I‰2™6SPúžÏÇ«íݰÖ#8ìxñ“HNæƒ[7H”t2Q¼£ñq•ÏžÄÎ9t©[û–úIâLÛµÉÒM¹Yfí¸³ýcQ^fdb&Òˆ‘©ùó‡¥Òv­ôRw~?n²%§ ô=¿ /$|n%%›ûW¡g’ر—\9{’¤#<[ÄÓ¦´° :ýtâ•;ÅW.#„"}Ü>ýbMjÑ#«yN"þþvñ¼"ÌUÂŽHÞ)"½Saï„©.iDâ «èû` ú#îìí÷zVR’+dû–ä_!ßœýùjuú Ù.®¯ž?ÃJî]Ïsöö§Ñé.¾x5šºúË'«^<Ój°6fOâï(÷L¦ß¦h–þÐAš+C"¤m0΂ ç—~L£Ó–{•ܸ*\¿™ËÕ`0E¬Éhæñ¤’+¾zi±ß*¾Èë ¼ð¹•”lvì%ØÏZ¡ã‹R غ]Ï`¸ƒ¹59!”p!ßl†­æ¸leùÝ"¼šx^QÏU’wŠHïÔGDØ;aªK‘8Èjú>¸OPZ„'£±Ã9L–.Bˆ¡­ƒ_…ÐÈmÀ ™,Ý&—¼el6PM­£½]|s¼Zè¾#?%î?Ÿ–ÔÄåz‡mqtó”vâÕ¿­òÑiÛÁÆÉ«¯ p°‚ŽìËØqƒ™Ì&WSK[¸°¹‘7˜Áèr ŠNR^ñêëð¼Â+>·’’M>ûÙþþï£ÔRaé~x'ï7NlÔ«çÏðüÁˆçõ\%y§ˆôN}D„½¦º¤‰ƒ¬ ïƒ5(PZøÙCWc‘S–ÜúZ-=^C¾Ò`0±Bn] ~Œd€ª*¿­MFãÕÕ’÷¥©¥oŽ~lf!tïzÞ®u]XƒŠÓÒÕ«®¬:r”øŸTTT:ÚÛ¨ª’O§–®^¯ù4:]¼MÃñž=(™4ÓN¸ðéý{£ŒMº?%)¯Ú¬†Ú·Úzú¼ú¿ŸpÂç–0Ùº@ ˆ¬®D$l öß3Õ~¿­uåÔq$5©çª¬‚ï´wÂT'‘HþCVÐ÷Á¹xÐKNä·¶žãž<Ë+1·™…fK4›a‹3}5ëT[KËÙäCä ZÌ´;Ç9ÌomÍJ>Œî òñ¨ì=ŸÿgS£š:Á¾° ìØKŽ~¿¹þí›wÍMÇ÷lþ“ÞG#ÊîÜÂO§õü…Ç÷ļknª©ªŒ nÓÒ~~~v–H ùÙYSfÏ•Ép”ÉäYsÎ$lkiù9% /$|n “MZL­§÷ï‘×ikke°tøm­™:ù(õ\•IðTz'Lu’‰ä?d5}¬AA?åieüàæ•!±‡Ÿ…n.-,X1uÜÃâB¯ [>ÔY¿)5î;û©úÃGvÒÚúM÷oæ{Z«þu!dã´(îë‹1™ »ƒbãI6—t¥³8÷µ¡CG®sžãoo)rêpźðm^øæ„Áƹ"8œ[WëgkáÁž8ÝF¸MûÅKoåd _þ\ûºêVN¶ýâ¥$AöOžë7–ßö²6Q£ÑðÓ„Ï-a²I‹í·j³§+y¶x³%fµw Ã4Ýa|™(õ\•IðTz'Lu’‰ä?d5}ŸŠ@ èílßß—¿O[ádì«xò(dχƒ©;ƒüGŽ¿l Ù%ÉaË…˜‚¤Ê«&w£MrÁƒ t]Ïe5u ”ÿôXƒ¥kP¢@û`Šy•ûí²5ÁÙÇ9KŠC÷&¯ ú9Êz\“€üž9…³ÒÐÔfùÙZ 3ºïH÷[S¾lQ¾ºŽƒ¥ÇAˆ‚¼2§@ù@k’€¼ÁȬAA¿Cþu6½Ø>õ ¥êâÄþ¸¸uøÃ¸uû㤋 ôc3ÒVLÛÓïùÀ¾û¬‡Æo4¤kPú ê7$¬I¸gml¨ÏN?扗ø„Gþ’~ ¿I)PPr[žˆ‹N?-‡ÏÂÊaD'¾’j ÔC‚7]kP”YîéÌéó°†èã%¬!úVóœrOgöbT@4ÔTž`ÚÛQôuðF  ` ”ŸøÁŒô]Û–[…¹-ª«~ƒ•Ô½yáÁv33Œð`ã7PÞÿÝÕØàbF𷵩YÑå‹6¯~îæ¼ÜÂ(}×6|“»×rƒ]æ.›h8Çêҩ䊟"$ìHRMI·Yº—3ÃÉY¤;'çÛy9$ñ*Džê†šêîÎË-Œ~Ü·ÿÓ»¦ÆØµ~î“FoX² ¦ª+””l¾3ÍSvDGx°ØKÞ/áËíjlpæèÁK‹1gŽDUWVDùº»›Úâµ´º²¯&žW„¹Šµ/„;" ž°÷>8"B’Ú‰ðÕÄÀ €.€5(èÚÛÛ9¥¦Ó¬Sw|‹•pb#ÇOž–ZX>vÒNlùæÕ/+åy†D¤îŒÆJRb£L¦M甾çóñj{7¬õ;^ü$’“ùàÖ ’%"&^(þ×åeF&f"õLÍŸ?,%#VêÎïÇM¶ä”¾ç·á…i»¶1Yº)7ˬr¶È+IÉæþU虤vì%WΞ$éˆäå.-,ˆN?xåNñ•Ë¡H·O¿X“ZôÈjžÓˆ¿o$žW„¹JØÉ;E¤÷>8"B„m†Døjbà@ÀôG.>þ4:ÝÙÛÿîõ<¬¤$ÿ*VÈö ,É¿B¾9ûóÕêôA³]\_=†•Ü»žçìíO£Ó]|ðj4uõ—OW½x¦3Ô`mÌž.Ä)Þ‘´š¹\ S¤p°&£™ÇëZƒ@’â«—û­¢Ñ鋼¾À .œ_úe0NwZîUrã*V()ÙìØK°ŸµBÇ¥°u»žÁp skrB(áB¾Ù [5ÍqÙÊò»Ex5ñ¼¢ž«$ï‘ÞeD’ÚGøjbà@À}’€Ò"<“ŽÒ`²tB müŠFnVÈdé6ñ¸ä-c;›jjííâ›ãÕB÷ù)qÿù´¤&.×;l‹£›§´CïHZƒ™Ì&WSK[¸°¹‘7˜ÁèZƒ@R^ñêëð¼Â+ðêk, £û¢{$9ÙÔ郰Ÿíïÿ>š.–þPá‡wò~ãÄF½zþL$ÄóŠz®’¼SDzW”IjS᫉7]kP ´ð3h®Æ"'ø¸õµZ:z¼†:|Ÿ¡Á`b…ܺüxÆUU~[›Æ««%ïKSKß/üØÌ"4þBèÞõ¼]ë»°•–@ Ù5ŽŸðìAɤ™vÂ…OïßelÒÓÁ(+IyÅÐf5Ô¾ÕÖÓçÕÿ-Zºz ¿æÓètá“­ Ä_n ƒý·ÆLµŸÇok]9uIMê¹*«à ÉgD***ííTU©´)᫉7]çâAt.9‘ßÚzŽsxò,¬ÄÜfV˜u,Ñl†-V8ÌpôÕ¬Sm--g“‘7h1Óîç0¿µ5+ù0^¸3ÈÿÅ£²÷|þŸMjêû-ÙÒ`j=½O¤ÐÒ~~~v–Ha~vÖ”Ùs{:žþfò¬9g’¶µ´üœ’„ZÏ_x|O̻榚ªÊø° ¬0Ù¤Eør‹hkke°tøm­™:ù(õ\•Ið„ä6"½F”ݹE¥M‘_M ¼ÑèXƒ‚~ÊÓÊøÁÍ+C6b? Ý\ZX°b긇Ņ^¶|¨³~SjÜwþöSõ‡ì¤µõ›îßÌ÷´2Výëà BÈÆiQÜ×c2vÅÆ“lNra;õšl¿U›=]E í/½•“-|ýríëª[9Ùö‹—’HËsýÆòâÛ^Ö&j4~älEp8·®ÖÏÖ"ƒ=qº VH˜lÒ"|¹Ex³%fµw Ã4Ýa|Ï%õ\•Ið„ä6¢ë·zá‘´)᫉7] "z;dÛ÷Ëáû´HÆþ¸Š'Bö|8”»3ÈäØñËÖ„o%Ø®]!¦ ©òª‰Ç]ãh“\𠇃}‹´o4Êz¬AR5¨Q }0żJ‰ývÙšàìãœÇ%Å¡û“Wýœå?=®I@~Ï3ŠYihj³ül-†Ž Ýw¤û­)_¶(߈ÝÇARã  DŽA^™S ü ‡À5I@Þ` ä > úñ¯¬W¬ö»Cä~Q²ubÜ˧Cvÿ{·.pʱ}á|Y!ÿÚ Rã ôrXâœ|øJªÕ'õê³Óù„Gâ%>á‘¿¤Ãï† ƒã È=9}þÖ}¼„5DßjžSîéÌE^_ôb`2Ž€ÌÁqP üÄæ¥ïÚ¶ÜÂ(ÌmQ]õ¬¤îÍë¶›™a„¿Ù‰ð†øï®Æ3Ò¼­M}lÌŠ._ü°yõ›p7çåFé»¶á›Ü½–ì2wÙDÃÀ9V—N ðîG®ÆgŽ p°ô°sæèA„PueE”¯»»ù¨-^K«++HB¢Þ»¤6ÅCz×Ô»ÖÏ}Òè KÔTU 7r;/g†“³HË6NηórHºÐoÁôGíí휂RÓiÖ©;¾ÅJ8±‘ã'OK-,;i '6Š|óê—‡r‹ÔY¿)5î;û©úÃGvÒÚúM÷oæ{Z«þup!dã´(îë‹1™ »ƒbã; ‰í·j³§+ùWrz³%fµw Ã4Ýa|s'Iï+Ö…o ôÂ;"iS$¤ÁáܺZ?[‹öÄé6Â5í/½•“¥B¨öuÕ­œlûÅKÉãÐ?©À÷Þe‚5î³·)Rnûã*ž< Ùóá˜ñÎ ÿ‘cÇ“Ü' [ÚÂý¬AR5¨5(ôgpMòCxžVÌú!Xƒ ?°Ü0pM7Xƒyƒ5(èwÈ¿ü¨ï·/“.Nì‹[ˆ?Œ[˜±?®›mÔÁÅÓÍÏ•66Ôg§ó ÄK|Â#I?†ß¹èi° ßÉ=9}þÖ}¼„5DßjžSîéÌ^Œ @¿kP üÄÏ\§ïÚ¶ÜÂ(ÌmQ]õ¬¤îÍë¶›™a„¿Ùð†øï®Æ3Ò¼­M}lÌŠ._ü°yõ›p7çåFé»¶á›Ü½–ì2wÙDÃÀ9V—N !yG®ÆØ?áÍ%/¾9æv^Î 'g‘lœœoçå ȬAAÔÞÞÎ)(5fºã[¬„9~ò´ÔÂò±“¦pb£È7¯~Yq(·È3$"ug4V’e2m:§ ô=ŸWÛ»a­GpØñâ'‘œÌ·nt!NñŽN>|%~"^Rðâ›c^”—™˜‰4bdjþüai‚ºÖ  ?rññ§ÑéÎÞþw¯ça%%ùW±B¶o`IþòÍÙŸ¯V§šíâúêù3¬äÞõÿϦF5u:ÉæÔ;"D< KûùùÙY"…ùÙYSfÏíBï@ÀôSžVÆnÞX²{øYèæÒ‚SÇ=,.ôÚ°åCõ›Rã¾ó·Ÿª?|d'­­ßtÿf¾§•±ªª*^hã´(îë‹1™ »ƒbãÉ7§Ø~Q¼ðÕñ„Á“°_¼ôVN6~=B¨öuÕ­œlûÅK;Ý @ÐÛ1 3***¨Û_áÞdì«xò(dχî;ƒüGŽ¿lMˆ}úhÊ”)¹î÷Ö>Ÿ{î9èÔ©S ѤI“$I“'OÖâÅ‹«W_}UÛ¶m+ÐX-ëðFGG+::ZfƒîÝ»kéÒ¥êÔ©“:¤ñãÇkçÎ’nކe«[Ÿ:uJµk×vX—µMbb¢î½÷^?Þayní›7o®””³MµjÕ§•+WêÕW_U¯^½4mÚ4µhÑÂlQœÏ@©òðð‡‡‡9_5óAN¡mÏž=:r䈼½½:Ù³g<==óÜQfhËMzzºªU«fÎgddÈÉÉIׯ_ϱ½ÍfSLLŒêׯï°<((HÆ Ó¦M›ª¾}ûj̘1’äp,V“9•ÞÌ·Jo mÒÍ%„‡‡›o‡Úív…‡‡›Rpss3GÁ²>ÎˬY³”œœ¬E‹©G’¤ºuëjãÆŠ×äɓͶYûôõõUXX˜RSSµwï^K’ƧݻwkÈ!š>}ºfÍšU„§ ü Ttt´9Ÿç5n;vìÐÀ– 8P;vìÝn×›o¾©€€Irxœ—fÍšéþûïWTT”æÍ›'Iš={¶BCCååå¥~ýú™m³ö¹`Á=zTmÚ´Ñ„ ÌQÀ^½ziÆŒjÙ²¥žzê)………äy°ó·ˆˆÞZ(g²f4îœ`7‹ ¸XÁ À"nQ5¿™_Ì €’së]r’gpË mÆ +ÖÂàhݺu’”gxË7¸ 6L5jÔ(ÞÊà 44T .Ì3¸q€EÜ,‚à`7‹ ¸YPDD„\]]˺ XDYŸ/Žÿ²>(K7‹(tpsssÓ7ß|ã0²Ñ±cG]»vÍaÙµk×Ô±cGÙíö\·ã5«œò;_úöí›çöëÖ­S—.]Ô´iS 2DgΜ)t Åùó£¨ç?XY‘FÜæÎ+Ã0Š»’———¾øâ ‡e6l——á Ùäw¾lÙ²%Ïíÿþ÷¿kùòå:yò¤  §žzªHu×ÏΕQ‘‚[JJŠ6lØà°lÀ€rssSýúõåîînþ@ussÓìÙ³Õºuk­Y³FãÇW»ví)I:wîœ  &MšÈÏÏOÇ¿ÍCª<‚‚‚´råJ‡e+W®TPP¤Ü_“L·þrËœç5©˜ò;_2_ÿÌ‘µFÉÓÓSŸ|ò‰$iÙ²eêܹ³\\\äåå¥C‡©Žœ~~E~ÇQ‘‚Û´iÓôÊ+¯(--Í\¶iÓ&Ùív]ºtI«V­ÒóÏ?o®kݺµÖ¯_¯‰'ÊÛÛ[k×®Õ³Ï>+Izî¹ç S§N)$$D“&MºÍCª<<==•˜˜¨#GŽH’>¬¤¤$yzzJÊû5É ¯IÅ”ßù’iòäÉZ¼x±bccõꫯjÛ¶më¯_¿®‰'êí·ß.R9ýü(Š‚T$E nƒ R5ôÑG™Ëbbb¨Î;«_¿~ºxñ¢¹îñÇ7oß .]ºèÒ¥K’¤¨¨(«iÓ¦;v¬öíÛw;ÇSéjÅŠ’¤+V(00Ð\—×k’^“Š+¯ó%Óœ9sôøãë™gžQ»víî°~Ö¬Y Ö!CŠTCN??Šª ÇI‘‚›ÍfÓôéÓõÚk¯™ËFŽ©®]»jóæÍ:yòdŽÛäö8&&Fv»]v»]qqqE)©Ò>|¸"##uñâEmÞ¼YÇ7×å÷šHRFF†¤›£(™xM*®¼Î—LAAA:pà€¼½½j£L~ø¡úôéSärúùQT9¨HŠüu ½{÷ÖwÞiÎÇÅÅÉßß_Õ«Wל9s$©@ ûúú*,,L©©©Ú»w¯‚ƒƒ‹ZR¥T§NùûûkÔ¨Qò÷÷W:uÌuù½&uëÖÕÆ¯É“'›ËyM*®¼Î—LãÆÓîÝ»5dÈMŸ>]³fÍrXÿ믿ªZµj·UÇ­??Šª ÇÉm}ÛŒ3Ìǯ¼òŠüýýåçç§öíÛ«Aƒ:þ|¾},X°@GU›6m4aÂy{{ßNI•RPPöíÛ—í¢ìü^“Ù³g+44T^^^êׯŸ¹œ×¤bËí|ÉÔ«W/͘1C-[¶ÔSO=¥°°0‡õ·3Ú–UÖŸ·#¿ã€Š¤ja7ÈúýHÝ»w7ç`®5jT¶ö9=nܸ±>ýôÓ–,:wîœã÷Vå÷šŒ=Z£G6×óšT¹/™Ë†ª¡C‡æºýW_}Uä}çöóãväv<Pqç‹ ¸XDÞ*Íú‰C”½€€>é‰+ëó¥¸÷_ÖÇe‰à` n7nÜ(é:FÜ,¢@ÁíË/¿,é:*µöíÛçÛ¦@Á-44ô¶‹Àíáë@,‚à`…¾å€ŠÇf³zÃ0Êí~€Â༄•ÜH*Ü/¢¢ü¢+íý…Áy «à­RåÆŽ;Ô°aCÕ®]»¬KLœ—(OŠ%¸õ¯=zÇî¡›¯ÁæÍ›æ³>¶ÙlªW¯ž6lØP mòÚÏ­SÖåNNNêСƒvíÚå°Ýþýûe³Ù´ÿþBÕþí·ßªS§NrvvVïÞ½õ믿¸M^õJÒâŋըQ#5jÔHï¼óNŽÇ™Ûñ øíÚµK={öTbb¢’’’ʺ@ç%ÊŸ2qûþûïËr÷ÎŒ3rî7 CŸ|ò‰¦L™Ràmrë'³}ÖÇ™óׯ_×”)Sôä“O:l.///…‡‡ªö‘#G*44TñññZºt©V­ZU¨6¹Õ»mÛ6­^½Z?ýô“8 U«V)***Û±æv<¸=Û·o×Ö­[ÍùüQ½zõRZZš¾ûî»2¬ •ç%¬ HÁíØ±cêܹ³6l¨… šËÏž=+___9;;ëPLLŒ.^¼¨æÍ››·ÍJKKSË–-uñâEsô#!!A£GV:uÔ´iS-Y²$×þ»””­[·.×õ>>>:sæL¡¶)¬ªU«* @Ç7—%&&jË–-úôÓOµyóf%&&¸öôôtuêÔIwÜq‡Ú´i£¿ýíoEjs«×_] ,ÐwÞ©æÍ›ëõ×_×üùó t<¸}={öTïÞ½Õ­[7IÒܹs•’’"wwwyzz–qu¨¬8/aE n&LÐ#<¢£GêòåËæòàà`)!!Á¥hذ¡ºvíª-[¶Hºy†®]»ªaÆýy{{+..N»víÒ?þ˜kÈÝìÙ³õâ‹/*---Çõßÿ½îºë®BmSXiiizÿý÷ÕµkWsÙû￯Aƒ©qãÆ4hÞÿýסaÆ)00PÇŽËqŸis«;v¨K—.æüƒ>¨;vèxpûþò—¿H’öìÙ£±cÇšoáÿüóÏeY*9ÎKX‚Ýn7ìv»fd>κììٳƭœøøxs^’a†Q£F C’9U«VÍ0 Ãøì³ÏŒAƒ†aƒ6¾øâ ‡íjÕªe¤¦¦fÛOný!;IFFF†áááa¼ûî»æs›¹N’qÇw}ôQ¶)ÈþnÏœ<==ãÇ›ë:uêdDGG†a0:uêTàÚ Ã0RRRŒ·ÞzËh×®ñþûïç¸ÿœÚäUoíÚµι””£víÚ:žŠ¨0¯}QÚç´]×®]žç-ZÛ~€Âà¼Dy’[Ë|\¤·ªU«*###Ûr›Í¦‹/š×eÞœ¾ÿþÚ»w¯Ž9¢~øA}ûöͶ]Nrë9³Ùlzùå—5gΜlë ÃPrr²{ì±oSX†aèðáúãŽ;T¯^=I7G¶þùÏÊÃÃC6›M;wÖ?ÿùÏl£[yÕáâ⢧Ÿ~Z;vìÐĉsÜwAÚdåã㣘ó¯¯o¾ÇƒâóÃ?ÈÅÅÅœ/ηì¢â¼DyW¤àæãã£ùóçëêÕ«zöÙgÍå½zõ2¯ عs§%IÕ«W×£>ª¡C‡jøðáªZÕñëã¨>ø@)))ú÷¿ÿ­   <ûCîúõë§–-[–ø6¹éСƒÞxã =öØcúý÷ß®>øÀ ߆aèƒ>ÈñC 9Õ1mÚ4;vLÉÉÉZ»v­ÜÜܲmW6·š:uªžþy;wNçÏŸ×óÏ?¯©S§æ{<(^7n”t3xs Ê ÎK”kEy«ôرcFçΚ5ko½õ–9l|îÜ9ãÏþ³áììl´mÛÖá-«~øÁd:tÈ\–¹]||¼`Ô¬YÓhÚ´©žop¤,C÷QQQÙÞ*-ì6…Ù_NóÛ·o7zè!£~ýúÙÞOMM5š7on\ºt)ß:þýï>>>FõêÕûï¿ßصkW¶mrk“W}†aË–-35jd4lØÐXºti¾ÇÓ·o_#%%%û“Qæµ/Jû¼¶=z´1uêÔbÝPœ—(Oò{«Ôf·Û éæÞ·Žhe^ôݼyóŽÊ’Íf+ô7Ǧ}iï( ÎK”' .Ì1e.ã–WÈ&·kùAU±•Öm|¸]Ê#ÎKXÁ ÙÐ*ŸÒzÍ9·Pq^ÂJ¸W)€EÜ,‚à`7‹(Ї®\¹RÒuTj®®®ù¶aÄ À"nÁ÷¸(Ðý]oe·ÛËí~€Â༄•ÜH*Ü/¢¢ü¢+íý…Áy «à­RùÚ³gÚµk§-Z”u)@©ãüGyRâÁmíÚµ¹­ƒ­È–,Y¢—_~YÍš5S³fÍôÒK/™ÏñÙ³gµlÙ²2®VðÈ#hÈ!êÝ»·$),,L©©©êر£xà2®(Yœÿ°‚"¿Ušœœ¬õë×K’ž{î9èÔ©S ѤI“$ýq±gæ¿“'OÖÃ?¬}ûö9\šÛö“'OÖâÅ‹«W_}UÛ¶m+j¹Þ/¿ü"s¾K—.:vìXV+zä‘G$Iû÷ï×ĉµyófIÒ÷ß_–e¥‚óVPäàöÄO˜£¢¢¬¦M›jìØ±Ú·o_ŽÛìÙ³Gýë_åêêªéÓ§ç»ýœ9sôøãë™gžQ»ví^Ôr+¥jÕª•u °˜+V˜¬Y³F†a¨yóæe\P:8ÿaEnµk×6Ûl6ÅÄÄÈn·Ën·+...ÇmªT©¢ŒŒŒlËsÛ>((H···BCCµbÅŠ¢–[áýéOÒ¡C‡ÌùƒªK—.eX¬êÛo¿•‹‹‹9Ïw¨L8ÿQÞ˧J}}}ÍköîÝ«àààÛuïÞ]o½õ–’““FÜrÛ~ܸqÚ½{·† ¢éÓ§kÖ¬YÅQn…ôôÓOëÅ_T\\œâââô·¿ýM¡¡¡e],êÃ?”$¹¸¸pm*ΔgÅò©Ò (88XmÚ´QÓ¦Mõÿþßÿ˱ݼyó¤wß}W3gÎÌwû^½ziÆŒúõ×_Õ¢E ………G¹ÒÀuíÚ5õíÛW'OžÔªU«äããSÖeÁ¢|}}õØc™,*ΔgE n·~ÃtãÆõé§ŸæÛ¶M›6ŠŠŠ2çÇ—çöC‡ÕСC‹Rb¥4lØ0 6L?ü°~ýõ×lë¹E ãwÞ)ë€2ÃùòŠ[^U@o¼ñ†üq…‡‡ë_ÿúWY—‹(­/hæ‹ Qq^Â*nPÇŽµÿþ².RZ£±Œú¢<⼄•p¯R‹ ¸XÁ À"nQ '¸ºº–tÈ#nAp°¾Ç €l6[¡·1 £Üî( ÎKX Á €¤Âý"*Ê/ºÒÞPœ—° Þ*¯;v¨aƪ]»vY—”:Δ'eÜòû«…¿j æÃ?TÇŽU½zuuíÚUÑÑÑæ:›Í¦Í›7;ÌKÒêÕ«uÏ=÷¨zõêºï¾ûô÷¿ÿ]’­ûî»OÎÎÎêÛ·¯âãã%I.\¯¯¯œåëë« .8Ô°bÅ ^¯ j×®]êÙ³§•””TÖ奊óå #nÀ¦M›´bÅ %$$hôèÑúßÿý_‡õ3fÌÈö6ÀW_}¥µk×*))I3gÎÔˆ#$IO<ñ„&L˜ „„y{{ëÅ_”$Íœ9S¾¾¾JLL”fΜiö•˜˜¨yóæ•ðQ¢4lß¾][·n5çüñGõêÕKiiiúî»ïʰ2 äqþà ŠÜl6›¦NªzõêiåÊ•5j”4h õë×K’NŸ>­îÝ»ËÙÙYÝ»w×éÓ§%IÇŽSçÎÕ°aC-\¸ÐìïìÙ³æhÎ< ˜˜˜|÷ÿÎ;ï¨qãÆjÛ¶­ÒÒÒ$I¾¾¾²ÙlrrrR«V­ôÉ'Ÿ¨ÞÂùè£ôÐCéŽ;îÐØ±cuæÌ‡õ)))Z·nòիWë¿þë¿d³Ùäâ⢠H’~þùgÊÅÅEãÇצM›$Ý zãÆ“³³³Æ§¯¿þÚìkΜ97n\ %JCÏž=Õ»wouëÖM’4wî\¥¤¤ÈÝÝ]žžže\P²8ÿaEqkÛ¶­¶nݪ1cÆÈÏÏO‘‘‘æ/ï¿þõ¯òóóSBB‚üüü,Iš0a‚yä=zT—/_6û VPP4eÊ=ùä“ùîÿôéÓŠ‰‰Ñ¼yóÌÑŸ¨¨(†¡ôôt}öÙgš8qbê-ÊþË« 6hðàÁËfÏž­_|Ñ ¸Y9;;kèСZ¾|¹$©}ûöŠˆˆPJJŠ>øà={V’tîÜ95jÔH’Ô¸qcÅÆÆJ’Ž=ª¯¿þZO?ýtIJÉ_þòIÒž={4vìXmذAÒÍ@Ttœÿ°»ÝnØív#,,ÌÈ|œuÙÙ³g[I2 Ã0222r|\£F ãÊ•+†aÆ•+WŒš5k†aÎÎÎF|||¶~jÔ¨aH2§jÕª9¬Ïmÿ†aéééæü‘#GŒ¿üå/FëÖ­;î¸Ã\^zsÚ¿Õüøãƃ>h\¼xÑ\&ÉÈÈÈ0<<<Œwß}7Ûsšœœl,X°ÀxðÁ Ã0Œ~øÁ¸÷Þ{;î¸Ã7nœáââb†aT«VÍHKK3 Ã0nܸa>G?ü°±yófs_°¦¬¯]×®]þ{hÑ¢Eží‹ºŸ’hEiÿ@Aä–Ç2ßÖ5nY/F¿õÂôŒŒ ó_ã?×WU­ZÕ\~k?/^”a2 Cׯ_϶>sº•“Ó‡0xð`=ôÐCÚ¾}»®\¹RàzóÛ¿lݺU“'OÖÆÍ·=3Ùl6½üòËš3gN¶íî¸ã=õÔSæºvíª_~ùEÉÉÉzñÅÕ²eKIR³fÍôÛo¿I’âââÔ¼ysIÒ—_~©~ýú™Ï'P°¾~øA...æü­o³ç?Ê»ùp‚¯¯¯æÏŸ¯ÔÔTÍŸ?_={ö”$ùøøhþüùºzõªž}öY³}¯^½Ìk vîÜ©ÀÀ@‡þ2•‘Ï÷ìœ?^}ûö•³³³¦Njn›Ÿüö_Þ­^½Zo½õ–6mÚ¤Æçئ_¿~f“¤Ñ£GëСCºzõªæÏŸo^¿1vìX8qBÉÉÉ ×£>*éæs´~ýz¥§§kÙ²eò÷÷—”ýµ)ÈóòoãÆ’$®íA¥Ãùò¬D‚ÛÿýßÿiûöíªS§Ž¾ÿþ{-^¼X’ôöÛoë›o¾QãÆÕºuk³ý’%KtäȹººjôèÑòóó+Ò~ß|óMyzzêPÇŽÕ°aCóZ¬¼×þËÊèÑ£µyófÕ®];בIéæ…¶™üüüôè£ÊÕÕU;vìÐûï¿/Izàäåå¥&Mš(66Ö¼~ðå—_ÖºuëT§NmÛ¶M/½ôRÉÊŒ¿¿¿F­I“&•u)@©ãüGyf³Ûí†$EDDdiŠˆˆÐ°aÃÌ·ÅTL6›­Ðß_”ÑÕÒÚPœ—(O.\˜cË\Æ-¯H*½ë¹åç%¬‚à ÔF¥@yÄy +áÎ Ap°‚€EÜ,‚à`7‹ ¸XÁ À"nAp°‚€EÜ,‚à`7‹ ¸XÁ À"nAp°‚€EÜ,‚à`7‹ ¸XÁ À"nAp°‚€EÜ,‚à`7‹ ¸XÁ À"nAp°‚€EÜ,‚à`7‹ ¸XÁ À"ò nZ·n]iÕPi-\¸Py¶©š×ÊÌ.\X|U Û ní%kÜ,‚à`fpóððPDDD–€¬""".Y³Ùív#s&::ZÑÑÑeRÝúY‡à€ò‹kÜ,‚à`7‹ ¸XÁ À"nQ àvàÀ¹¹¹éÀy¶sss+Ôò¼úκM^Û÷íÛ7ß6…­  <*Pp[¹r¥<==µråÊb/àvûÞ²eK1WP>åÜ’’’´uëV­ZµJß|ó’’’Ìu'Nœî¾ûn-Y²$ßåí;s4ÌÍÍÍáqæ¿K—.ÕàÁƒ–KÒ{ï½§{ï½W>>>:qâD¶õ¹õyîÜ9 0@Mš4‘ŸŸŸŽ?žßÓPêò nk×®U¿~ýÔ°aCõë×Ok×®5×Mž>uê”j×®í°.k›ÄÄDÝ{ï½:þ|¶}çÔ¾yóæJII1ÛT«VMqqq’nÞÜ ,Üz¯Òª™r m{öìÑ‘#GäíííÐÉž={äéé©*Uª(###ÛNr[~kyõ—ÌЖ›ôôtU«VÍœÏÈÈ“““®_¿žc{›Í¦˜˜Õ¯_?Ûº¬Ï@iÊ@Ê oæ[¥·†6éæÂÃÃÍ·,ív»ÂÃÃÍtïÞ]o½õ–’““5}úts»Ü–¦o777s,ëã¼Ìš5KÉÉÉZ´h‘zôè!Iª[·®6nܨøøxMž<Ùl›µO___………)55U{÷îUppp¾û(iŠŽŽ6çó¼ÆmÇŽ8p Ã²jÇŽ²Ûíš7ožþñèž{îQË–-Í6¹-Ïd·ÛóíûÍ7ßT@@€$9<ÎK³fÍtÿý÷+**JóæÍ“$Íž=[¡¡¡òòòR¿~ý̶Yû\°`Ž=ª6mÚh„ ÙFÊ󷈈Þ(g²f4îœ`7‹ ¸XÁ À"nAp°‚€ETÍ¿Iå–y+0pSÕª%ÜÝÝåîî^bý[Á-™¡íÖ;<PYµmÛV‹-ÒĉK¤ÿE‹Iá-·!o%ÜRRR´aÇe ›››êׯ/www}ñÅ’nŽÈÍž=[­[·Öš5k4~üxµk×N‘‘‘’¤sçÎiÀ€jÒ¤‰üüütüøq³Ï‡~¸$ÊÏ•ÍfÓ;CƫmÛ¶JKK“$={V¾¾¾rvvÖ< ˜˜s´-ë¿9mëëë+›Í&'''µjÕJŸ|ò‰Ù~êÔ©ªW¯žV®\©Q£F©AƒZ¿~}®û 4åÀjÖ¬™ëDp+º nÓ¦MÓ+¯¼b†IÚ´i“ìv».]º¤U«VéùçŸ7×µnÝZëׯ×ĉåíí­µk×êÙgŸ•$=÷Üs ЩS§¢I“&™Û}ùå—%Q~žNŸ>­˜˜Í›7O3gΔ$+((H š2eŠž|òIóäËzæ´mTT” ÃPzzº>ûì3‡ïÅiÛ¶­¶nݪ1cÆÈÏÏO‘‘‘7n\®û 4åÀ’’’rÜ&))‰àvlv»Ý¤ˆˆÞv‡nnnº|ù²|}}õÄOè™gž‘ÝnWLLŒæÎ«èèh]¸pA©©©²Ûírss“Ýn—aª_¿~¶ÇÍ›7WJJŠÙµjÕwÛuDDD„Ã÷¸Ùl6ó¤ÊÈÈP•*UÌ¿*’““j¼~ýºCûܶýå—_4sæLíß¿_qqqJII‘af{Ã0äää”íqnû ¤e~oná,«:uê˜óméÒ%EFFjäÈ‘·UcE’5£•Ȉ›ÍfÓôéÓõÚk¯™ËFŽ©®]»jóæÍ:yòdŽÛäö8&&Fv»]v»½ÔB[~œœþxêl6›.^¼h†«üTÖm¬‡zHÛ·oו+W²µÍëy)Ì>(n¹f-!!A’”À5nÅ Än2ß»woÝyçæ|\\œüýýU½zuÍ™3G’ ôùúú*,,L©©©Ú»w¯‚ƒƒKªä"ëÕ«—æÎ«””íܹÓLÅõë×wËÉùóçÕ·o_9;;kêÔ©’ ö¼ä¶OJKA?pχŠI‰7Iš1c†ùø•W^‘¿¿¿üüüÔ¾}{5hÐ@çÏŸÏ· èèÑ£jÓ¦&L˜ ooos]Ÿ>}J¤îÂZ²d‰Ž9"WWW=Z~~~’¤wß}7ßûœ¾ùæ›òôôÔ< Ž;ªaÆŠ-ò>(-|ª´ôû5nɭ׸€?®qËéŸÛÏ5n·ÈšÑ¸s(FÈJÁ IÖ¯ýBé ¸€"¹qãFY—PéÜ@‘0âVúJôS¥VçááaÞš üáäÉ“%r“ùÈÈH¹»»—õá•[Œ¸åÁÃÃC’´páÂ2®€ò£jÕªæ=Å‹›»»;Á-·|xxx˜ ,ñV)€EÜ,‚à`7‹ ¸XÁ À"nÁ÷¸å#::ZÑÑÑe]•ߟš7‚[2CÛ°aÃʺ*…uëÖIá-·9µV\£Õ'ÞWÄñªU¥–Rn¤ügJVòõd}—%ßí^òÝá%Ÿ]^òÞ륙ÑÓúJJJÒ×_­5kÖ諯¾RRR’¹îĉúïÿþoµjÕJ‹/Îwùí(Öàæéé©ÄÄD9rD’tøða%%%ÉÓÓS’´iÓ&Ùív]ºtI«V­ÒóÏ?_ ~Ÿ{î9èÔ©S ѤI“Ìu_~ùeq°°¬£Yµ«ÕÖ=õÚ뮺w©uíÖjQ«…ê;»*ùúU¥\¿ªß¯%é«ß¾Ô÷)ÛõKÍ£:R÷npD‡Ö×÷9ôµfÍõïß_ 6TÿþýµfÍsÝ3Ï<£¾}ûêÀº|ù²YGnËË͈›$jÅŠ’¤+V(00Ð\£ÀÀ@uîÜYýúõÓÅ‹ ÔgTT”‚ƒƒÕ´iS;Vûöí+î²@5]O»¡ä´ä?¦ÿŒ°]¾zI_ŸúZozMßÅ~+§ë6Ùþ3e>VºÍ¡¯+V(((H†a(((H+V¬0×íÚµK!!!ªW¯žfΜiÖ‘ÛòÛ nÅþ©ÒáÇ롇ÒóÏ?¯Í›7ëÅ_4×9R£FÒܹsÕ A5mÚ4ÛörrrÒõë×Íe6›M111ª_¿~q— *¨ø”ËJN»ª”´ýšpRÇbt<þ˜Ûÿ¥ô*éʨnÈVÝ&Ù Ù$é?ÿï$É–åëàvïޭÇ«{÷îýïÞ½[ݺuS•*Urü:‘ܖߎbq«S§Žüýý5jÔ(ùûû«N:溸¸8ùûû«zõêš3gŽ$ÇíÖ­[W7nT||¼&Ožl.÷õõUXX˜RSSµwï^wÙ È:šµÿÜ~;N“¾ Ñ?Í׆ãŸëÐåƒJ7Ò¥4å0Ò¦?æÓÌ~Þ{ï=-[¶L æ´lÙ2½÷Þ{2 C^^^ ÓÕ«W5mÚ4³ŽÜ–—«·J¥›RØ·oŸù¡„L¯¼òŠüýýåçç§öíÛ«Aƒ:þ¼¹~öìÙ •———úõëg._°`Ž=ª6mÚh„ òöö6×õéÓ§$XPÖPÐn¤þ§¾¿z7xX} PßFÔÁ¥ãÿÞÚ§vÐ#¶˜>Hƒ® Ôàßid£Qf?ßÿ½èÐ÷Àõý÷ßëòåËš?¾¾ýö[Ýu×]jÑ¢…YGnËo'¸Ùìv»!I×£áæs2lØ05oÞ¼¬K ÒX¸pa¡3ÉêÕ«5qâD%$$äÙnæw/è£ó«%I5ªÖP}—òªç­—¼^)j¹·Ån·+22R#GŽÌµMÖŒÆ@…‘ï(VÆÍõ®Î®jY§µ×h¬Z¶šynçêêšg—W®\)tEEp•Ju§êjQ»¥ÚÖi«–µ[É–l˳}i³üÜ@…QëÆ\]\ÕàŽ†jV«¹ÚÖ½Kq7~³Ì½J n ÂÈ/€uoÞC§žVÝuu#éº.d\PÃj n¥----Ïõ=[ù©g+¿BoW^Ü@…qãÆ².¡DÜ@…a•‘³¢"¸Ësww×¢E‹Ô¿ÿ².¥P"##åîî^àö7`y™á'22²Œ+)www‚¨| ‚¬¨DîU €âGp°‚€EÜ,‚à`7‹ ¸XÁ À"nAp˃‡‡‡Ö­[WÖePi,\¸Pe]F¹Å-¯òyâ,\¸°Œ+ rððð ¸åà–N P^ðV)€EÜ,‚à`7‹ ¸XŸ*ÍÇÁƒuðàÁ².€JÁÝÝ]îîîe]F¹EpËCfh›8qbY—@¥°hÑ"I"¼å‚·Jó@h tõïߟwºòÀˆ[ddd”u ·‚ ¸¿%K–hâĉJKK+ëR*,‚[¤§§—u X¿7KN‚[\\œ¶nÝZàNýýýÕ¸qã"UÞ0â@Áñ{³ä(¸mݺU]ºt)p§[·nÕÈ‘#‹\TycFY—€eð{³äøS¥6›-×éàÁƒêÛ·¯zõê%›Í–g?;vÔµk×–]»vM;v”ÝnWß¾}óÜ>s½››[Žës[^¾ûî;uíÚU®®®0`€N:%IªY³f©ì¿fÍšúꫯæKÃòåËÕªU+µnÝZ«V­Ê¶Þn·ëî»ïÎñu¾ûî»e·Ûsí»´Ž+*ð5nNN9g¼C‡)$$D6›M;vìÈ·///}ñÅ6l˜¹lÆ òòò’›››¶lÙ’çöù­/ ¹ýå0fÌÍœ9SÆ S\\œV¯^­^x!ÏmŠÛìÙ³Õ»wo30—Æ~§M›¦¯¿þZÎÎÎêÙ³§Fí°ÞÕÕU=zôÐ矮Ç{Ì\þÙgŸ©GruuͳNþRkãçxÉ)ðˆ›“““~þùgíß¿_NNNrrrÒ¿ÿýo…„„(==]K—.5—ç%((H+W®tX¶råJIúcÄlݺuêÒ¥‹5j$OOO}òÉ'ë%é½÷ÞÓ½÷Þ+8q¡ÏsçÎiÀ€jÒ¤‰üüütüøñ‚j6†aä8¥§§ëOú“\\\ÔªU+M›6ͪU«–j×®­:èóÏ?—aªU«–fΜ©fÍšéƒ>ÐO<¡–-[jãÆ2 CgÏžUŸ>}äææ&ooo;v,ÇãîСƒ222ôñÇËÃÃ#Ç6cÇŽÕòåË–-_¾\cǎͳÆÌc¨U«–ö™ó­‘‰‰‰‰©ô§Ü~oÖªU+×)·>³B·ñãÇ+$$DcÆŒ‘“““V®\©k×®©]»vºÿþû Ü<==•˜˜¨#GŽH’>¬¤¤$yzz:´›š2eŠÃºçž{N:uê”BBB4iÒ¤‚j…‡‡kôèÑ?~|¶àxæÌýüóÏš3gŽ^zé%IRhh¨|}}+___=ûì³fY¿~½$é£>R5´víZIÒçŸ.Ÿ\ßž>}º^~ùe‡^ùå—JJJRBB‚V¯^íðÜ´iÓF7nÔ„ äëë«O?ýTO?ý´$éÙgŸÕÈ‘#«§Ÿ~Z!!!9îó‘GQÏž=§?þ8Ç6ݺuSbb¢>,Iú׿þ¥¤¤$uëÖ-ßóRÐåGRRR¡–#w… nþþþ’¤þóŸz饗%éæèXfhË/¸IR`` V¬X!IZ±b…³µ™3gŽüq=óÌ3j×®ÂÃóµ™7ožjÖ¬©àà`íÞ½Ûa]TT”‚ƒƒÕ´iS;Vûöí+è¡f“Û_þþþúñÇuÿý÷kðàÁúè£Ì¿fÏž­ZµjiàÀ “aÚ¾}»BBBäìì¬mß¾]†aè©§žÒ²eËd†V¯^­wÞyG«W¯–aZ¶l™žzê©\ÿ²³B·×^{MúÓŸ$I_|ñ… ÃP“&MB[A‚Ûðáé‹/jóæÍ>|x¶6AAA:pà€¼½½j½œ¤§§«ZµjËl6›bbbd·Ûe·ÛWÐCÍ&¯“ÔÙÙYãÆÓ×_­)S¦˜']æú[¯=KOO—a濆a˜o7†‡‡«^½zêß¿¿êÔ©£ððpÙl6ÝÿýyžÜ3fÌмyóÌýd²¯¾úÊüÀDÖº²WÖÇ6›M'NœPBB‚Ì@—uúÛßþ¦Õ«WküøñêÒ¥‹þ÷ÿWÁÁÁ9Ö7|øpmÚ´IqqqŠŒŒÔðáÃÍu©1ó9ÊüCAkdbbbb*›)¿ß› ’¤„„„|û@Î Üœœœ´víZ9;;›Ë_ýõB·:uêÈßß_£F’¿¿¿êÔ©“­Í¸qã´{÷n 2DÓ§O׬Y³²µ™5k–’““µhÑ"õèÑÃa¯¯¯ÂÂÂ”ššª½{÷*88¸ ‡Z`³fÍÒ‰'ÌëÌ\]]ólߣG½ùæ›JMMÕ›o¾)ooosÝ“O>©^xA#FŒ$1B/¼ð‚ž|òÉ|ëøóŸÿ¬-Z˜ó¿ýö›z÷î­êÕ«›Ï[AþcèÙ³§Þxã ¥¤¤hÏž=š0aB¶6Mš4Ñßÿþw%''«zõêº~ýzޝŸtóuîÝ»·FŽ©Þ½{;´Ë¯Æºuëê‹/¾P||¼BCC U# üÊ o(š"}È¢E‹$IÎÎÎòððÈöõ ¤}ûö™J¸U¯^½4cÆ µlÙRO=õ”²µiÖ¬™î¿ÿ~EEE™#N™,X £GªM›6š0a‚CH*¬Üþ*9r¤BBBÔ²eK­^½Zï¾û®>nýëÁ0 ½ñÆÚ¹s§î¼óNíÚµK¯¿þºÙfРAjܸ±† "Ã0ô裪qãÆ8p`ž•d>ž9s¦9?oÞ<ùùùÉ××WíÛ·Wƒ tîÜ9‡ö9=Î|ÎZµj¥qãÆÉÛÛ;Û>ß~ûmÍ™3GmÚ´QTT”¶mÛ¦… æZcPPöîÝ«   ‡åùÕ8gÎ=óÌ3êÖ­›ú÷ï_¨™˜˜˜˜ÊfÊï÷faú@Îlv»Ý¤ˆˆˆ¯5“¤Õ«WËÏÏÏaÙ´iÓÔ¨Q#‡ÑLÛ¶m«_À»zõjMœ8Qñññe]J¹–šš*—².PÆ>øàƒÛþ½yåÊEFFVˆQ\²f´"Ûüùó‹µ(X¡ €ÒQ àæïï_è{•V$ ÝPpüÞ,9 n7®ÔC–œ€¿7KNß*­Ì²~¹-È¿7KÁ­nܸQÖ%Pî 2D±±±e]F…Fp+þråÁ-îîîZ´h‘ù=b dEFFÊÝݽ¬Ë(·nyÈœ`¼U `7‹ ¸XÁ À"ªæß wÔÁƒ˺ Ësww—»»{žmn È2CÛĉ˺Ë[´h‘$åÞx«¡­øôïß?ß‘KFÜÀmËÈÈ(ë*‚¸m·ÒAp·-==½DúMLü]'OžÑ?þ±Gññ‰2 ©nÝZúŸÿé¦6mZ¨nÝÚ%²ßòŠàn[IŒ¸íÚõ“Þyg._þ]:Ü¥ºukËf“bc/kÆŒEªY³ª‚ƒGÊËëbßwyEp·Í0Š÷Öç¼EK–¬Uß¾½ôç?û¨S§¶ªY³ºl6éúõ ýòËimÞü­fÎ\¬±ciĈAźÿòŠO•€re÷îzë­4lØ =úèêW¯¦Ž?«ƒëçŸëðᓪRÅIC†üYO>9Jÿ÷kÇŽý9öµxñb5oÞ\;wÖþý7ÛÔ¬Y³4§XÜÀm3 £X¦ßOÖ;ﬖ§çƒºï¾JHHTëÖd:}:NgÏ^Ô‰±ru­©zõjèOº[ýûÿY‹¿¯ß¿êÐ×úõëµjÕ*}÷ÝwÚºu«>ÿüssd°¸ê-Ω n Ü8vì”Μ¹¤víÚêÒ¥xyxÜ-gµoßJÎÎÎ:þ’<<Ú©Y³újÜØUÇŽÒõëi:uê7ýûß'úzûí·õÚk¯é®»îRýúõ5wî\‡õgΜ‘ŸŸŸÜÜÜäçç§3gÎH’Ö®]«ûî»OõêÕS—.]ôñÇK’bccÕ§O¹¹¹ÉÛÛ[Ç/'% ‚¸mÅ5ê´}û>¹¹¹*--]'OžÑ_ìPJÊu¹¸TSÔ»÷ƒjÛ¶™$),lV­úT{öü(Ã0µÇ¡¯C‡éÁÌqdË0 Mš4I¾¾¾Š•¯¯¯BCCe†žyæ…‡‡ëÂ… š?¾¶nÝ*Ã0ª‘#G*66VO?ý´‚ƒƒK}Ä'€r#)éªl6›.^¼¤k×®ëôéX]ºtYAA¨vmµlÙH†!½þú*}öÙWªV­ŠªV­&—;”˜ø{¶þl6[®ûúþûïõÞ{ïÉÅÅE'NÔ=÷Ü#Iš;w®FŒ¡Þ½{kúôéz÷Ýw%IQQQÚ²e‹Æ/IªV­Z <ycÄ Ü¶âuJNNÕÙ³çõÛotþüoú׿ŽëÂ…Ëæ¾~ÿ=UçÏ_RFFºªT©"›MÊÈÈÞ×}÷ݧü1×7Ã0”žžîð¯a3fŒ:$=ýôÓz÷ÝwÍíNž<©ÄÄD%&&êòåË\㬧¸ÂK­Z5tõj’._¾¬ .ªV­šš4i„¹ CJJJUíÚ.š=;X=zxêúõëªR¥Š®]KQíÚ5úš)ooo 0@C‡uX¿`ÁíܹSwÞy§víÚ¥7ÞxC’äïï¯éÓ§«yóæ;v¬Þ|óÍÿì?LGU«V­4nÜ8ùøø”Â3âˆkÜÀm+èˆQ~Ú¶m¡{îi©‹¯ÊÙÙY¿üò«Zµj¨¥K?×7ßìTzzºÞzkµžþq8qN))7CÞ=÷´Ô]wµÎVLj#4bć:ãããe†Z´h¡­[·f;Ž¡C‡f y†a¨qãÆúì³ÏJä¸ ŠàÊš5kè‰'†iêÔ05hÐ@7Fiß¾CЉùU5ÍfÓ‘#ÇõÆèâÅx%$$ÊnÿM/¼0MµjÕ0û©W¯^®ûˆ/C)7pÛŠsä©[·ÿÒ_ÿú˜Þ}÷3F†ªT±éÎ;›èÆ4ÙlRÕªÕuá‚]§OŸÖ¯¿×ĉ£äåõ€C W®\)•ZKÁ ”;Ç÷×w6Õòåkµÿ>5hÐP 4TF†¡K—.èÂ…85iROs熪G˺ÜRCp·­$F±þû¿ÿK:Ý£“'Ïhûö}úý÷dF†Ú¶½W>>£Õ¶m Õ©SÛÒ#h…Ep·­¤ÂSíÚ5åîÞ^îîíKu¿åÁ ܶ´´´².¡R ¸€ÛvãÆ².¡R ¸€Ûƈ[é ¸€"sww×¢E‹Ô¿ÿ².Åò"##åîîžg›Ýn¯\Wõ€buðàA`ºêÎoŠ>Pó×Vs|Qò‹03æ ®¬æø£åVå4ð ~niæzDü—7Üv¹ÉZ±$+.Î1"*»nŸŒªºû¬Ïå½û6þ$Ì]YÍñGÊ`ºêÎoŠ>Qf=zŠúy9:ŠÚh_¦»_+Zº~¥P$>`ºêÎoŠ>Pó×Vs|Qò‹<ðÔGÊA4r±WMÌr9?íCÈgÌ]YÍñGÊ`ºêÎoŠ>QfF|ÁuÕœß|¡æ ®¬æø£å`gÌ]YÍñGÊ`ºêÎoŠ>QfF|ÁuÕœß|¡æ ®¬æø£å`gÌ]YÍñGÊ`ºêÎoŠ>QfF|ÁuÕœß|¡æ ®¬æø£å`gÌ]YÍñGÊ`ºêÎoŠ>QfF|ÁuÕœß|£?™Y;U†²ëâ:æÎ *íVŠªØ6'UÏŠ=¨äHÑUºµ5ÑQtö¡ô1ŒÏo¡ yönãݤÏ“uUù=‚뫪fª«©ÃôO<Ò+ä•î§b¹îrñs•UUUxª©¬1™ô!€þÍÛ»´fÆYn’WµŒjjç9tDOÒ ~êÅr·K#cо•ïrèÖ¶fªªþ„Ôö€Œæ×¬îH{ÿ¹0³œÚõÉ÷&`#9µë;’ÿîL,Äg6½grCßýÉ…˜ð%õbÂ?×{ìçkgÞSà¼OW†q6+ñ µÏ§ò}T›7±¯o¤ÈÕ««\Õà«Óõ’_ìæË[>Rà쿸âNCÉS-+h¼F¡ÚË=d‹yFƬô’FqÝ¢kÇM©€Ïå½û6þ$Yˆ5]-O‡DTõLúl»ägkб?Ê v×}KµÍ]>§'Ö°šãø°53ŠíŒ°ìJêU‚†¥ôm©mzª·ûŸfÕ^Y‰±½.G.Õ]‰J%™«PUß¼_cH­•ÈȤJ)qlô DjêÇò ×TÕ·]S§€|Nú{ Øz5ò9ñÛ鑉É1W†ýˆGªqTn¨Šºjºj½Ã“uÖºì1X¶;’Üípܧ†’­nR×rѵSE契îwTümMÛ1™íô!>ÍÜ{´†ÌÅgܱѸíòÈÈÚ¸r½¨®v‰«©ÞˆŸ­UQô¨¬‰úÀfíÝÚ3Kˆ!ñ›%e?“ ¹¤¹®£Q:*qbª¢§Õ8¦ŸYšÈŸ¡ önÝÝ£4X™mÃ×^k¼BÚ”ïñªŸu/#ž“¹V¹«‰þ**}`Mð,8õVÛ^Â5ÓÛ^Æ×WÕÑG–Åj¢òrI³sªQ4Djj©ÁÎr"¢º²@éêr‚Õˆ­UxÇv¾×^(á’ãZºÇN×HÖ9΋ÆU$ÚÍtÜŽDÓŠ*À#9µë;’ÿîL,Äg6½grCßýÉ…˜ÎmzÎ䇿û“ 1ͯYÜ÷ÿrafœ¸ ј˜¦Ét´Ñ\æƒuU¶*Ú‰á§mcb{bt‹šýš½QȋЫ§ σ^VÉ–¶;·”,XfÕv¸Ô³•ò]lÔòA»ÆÞç#ÑÏ›]º"¢·ÚV@ ÞeÛ'»àÚªyY¬ÔÒÈ÷ÍÉ#cŽxä‘w{=¸v2¿]ë®ÿq¸9ÌmÙìG×Ü\Ô|V¨]ÐåOð¦rk²?ý'z)ǽ„på³ ÙYkµÆôb9dši_¾j‰]ÅòÈõâ÷¹xª¯þÄD2X*ÔÜ-~‡Ù±µ²áM2I]SCpce¹Ì]yd™j½5á¹ìrªiép9^Vºýø^Bòo’|ßøßˆòîñ~_Ê9^O]»öú;´×NèdÍS\*«ñÝÖÑÊÒÃMAC ’5‰4•\©.ª¼ÝŠÔMUݪðD4¤ Â2lA(†xmÍAª­ðTKmdÊHUÊ‘’òˆV£•®gUW"* V²öçWs²Ôxì´ÕQ×TQ­M;6GP‘H­G£uTEᢢ.›‘ߨљ,¡¹­ÓÛæò]5­"o"ÚZvHÆ1­ü_FH¢sUSEVìMx*§Z§zº[¬¶š«µÚ²* H–ZЉµ‘±:UTÆaÊK†:¯ƒb: èlÔò¤¶KECv½ú~-]K¢Ok#_ïi£—Ó]—ÎLåÜcÎèûem²‚8+ÝK[z}+U‘®‹Ecšª­rHåDEà{õòÕZüñuÒ×rŠ$[-Òº×-¶½fm$k…"8®Þ ŠÞ ^ àˆ`ãc›¼¶ x½ÃNʉ(h¥¨lo]åkU}%ö7‡Ñ©ÌÉŠºªüžÁuÕÕ3UUÔáú §žiòJ÷S±\÷9x¹Êªªª¼UTîbE®KrÛ"tµ¼ƒ¹5Œr¹úpMæµR¹ô ëÕ}Î˟Ǩk]UW [#¦F%RʉøX½%VlÑ_¦®EfízSb|Ï“wŠú{i‚§ [šéÙQ*¶é)¼]6ª'K•5_¦Œæ×¬îH{ÿ¹0³œÚõÉ÷&`#9µë;’ÿîL,Äg6½grCßýÉ…˜ÁÌ =UÿWÚ¨Ý O21ÌlÊ©›×òoTETköí^ ÁËÁzðmkÂ8…÷û]ƺšÛHÿ,Íy¯š)–G·ð§†–5Úš¢F¬ÜõÑ=DoS…ùo~Í¿‰b3ùo~Í¿‰f ˆ½(ŠÌWƒî÷La-DPÑIj­’†j¹;™PÖÒHéRÑÌ{ÑšêäMú¢ê‡7Úk­>Š—i©ê+-Wš×SÓ»tprÊäb;DÕtâ«¢jår•SžßBóìÝÇ»H"~„0Ù»wvŒÙ˜Ì‰úÀfíÝÚ3fD×]PœÚõÉ÷&b3›^³¹!ïþäÂÌg6½grCßýÉ…˜Œæ×¬îH{ÿ¹0³#?–÷ìÛø‘f#?–÷ìÛø`Ï:X͇œ¿.ÿÅ?úŠOÿËòÞörŸß=Åý=N®3ÄN±Eo§¤¢Jû­Ö©hí´®—’d²¤RJ»äÚíŒFD÷+¶¹xhˆª¨‡Ê?óbÿßüô}[Œðë¯ÐÛê)+[AuµUx庩ñ,¬ŠU‰ñ.øÑÍÞÅd¯j·szuEEDP8— ]‹-Øz²²ã„-ÔU´U'–¦úØ­Œƒ“W­BÕ:$~ÄÓb§#¹ìÙéšl'wKþ·^Ò–JD­§düŒ‹«™¹5Ó_oëÿØqÒËŽRÙ¿îÖo >õzÙ¸y=9>C–å8îÝË빎ß@êàûxwÁiŽwO²Ie|ŽEMÏ–GJýUv·sÝ£u]©¢{ë€ÌöúÇŸfî=ÚCfc3ÛèC}›¸÷idOІû7nîÑ›3‘?BìÝ»»FlÀŒæ×¬îH{ÿ¹0³œÚõÉ÷&`#9µë;’ÿîL,Äg6½grCßýÉ…˜óN:À¯Åžu.Ƙ¾Æ’àfV¶k-Å)e‰X‘r r5ª‹"µuô×]tÑ¥ˆÏå½û6þ$Ì]YÍñGÊ`ºêÎoŠ>QfF|ÁuÕœß|¡æ ®¬æø£å`gÌ]YÍñGÊ`ºêÎoŠ>QfF|ÁuÕœß|¡æ ®¬æø£å`gÌ]YÍñGÊ`ºêÎoŠ>Qf|gÿ6/ýÿÏE?å-£ ÑÁUwÏ îkjgJzx©¯ÒÔÍ4Š×;c"Š=뵎ríjèU^ªb¾äñWþϹo¹«×—ÿÍ~#/ÿã~SûÖÝÿ‰ét~/ƒèL§»²á†ï–‹5MémuòIQGM41Ìè䦖-ÌYžÆ*£žÎ æðܨª¨ˆ¡,¨ÊÛ Z,LüøÎwZæk‘â)ùêk[aW¹êªˆŒF«•xi©ìáÜž¶b z×Z³Ç:¤‰²,R6\Døe‰éÒÇÇ$-{š¦­r"ñè7Vi1>ËæSÑa ë­Õ7Ô¥+*©˜tõ{¢ÜùQѵú¯CWDF»Þ^CQŽY«l×]}MKæ«mzÓò³Ê¨šÉ¤ÈÄnˆjnÕ¨‹Ñª„óÌ]YÍñGÊ`ºêÎoŠ>QfF|ÁuÕœß|¡æ ®¬æø£å`gÌ]YÍñGÊ39±’^IÊÌ[tó»›5þ'd­¨ñZÜGÊSϲ»“‘œšnc´ÑɪjЍ}c3ÛèC}›¸÷iõ|iEøÖTÖ+¬T“r“¹ÍI"kщ¢'¢Är1©ìk[®½&ôÆdOІû7nîÑ›0#9µë;’ÿîL,Äg6½grCßýÉ…˜ÎmzÎ䇿û“ 1ͯYÜ÷ÿrafF-ïÙ·ñ"ÌEã–9<8dc$cÝ\m‘íU«å]ê]õ*h3üqj³_Ûcž†÷S\èEšÕ&¨¸úv·–Ž·‡G^4ÂÝ.”ÖlÀ¯©Äޏ2Šz¢·HØ¥’›n®å˜¨ÄTIv.®MU4Fªè¨äɨècôÙVÍkò•BÐÒ-¥Öí°êš/"æ1ɪëÅ[ª›c-•ÑÔÇ…×”Š¶GUÎû|U›¹fR«ÕbG#½$áÐŽâV¢é¦‰©Ã_WKAE=mmDTÔ°Fé&šW£Y5W*¯DOi„¦·K˜µô·›å,°azI[=®Û;U®®‘««*ª¿à"èèârtè÷&»Q¹|ëõ•øª*ú÷ºëbÕÔÚVí4N†;,ÉÖ¬håc÷nÑ\ÔG"¢5[ѸKSlðlÅ×[UÉ‘µl·JëT¶úõ™´‘,R>Šf¯¼«£WƒWF¢X9Ø¡-ŽÃ·Þ¨VámZwøÕ*R:«–OI¼“Zå“TÿU~£‰“uUù=‚뫪fª«©ÃôO<Ò+ä•î§b¹îrñs•UUUxª©ÒÇL¼Iƒ/1á÷=·WQJ”jÅDw)µvíUàŽ×¡W†º#J|²KÕp>Y¾ÝxK½"¥Rà)éy(¹Vò®åe¦kcÑ›½-QSب¥Ø™ºãlºÕaJ,$ËÊWÛêcG¬ðT±ié'eC¥DÕU¨ˆˆõW+öªtj”À#9µë;’ÿîL,Äg6½grCßýÉ…˜ÎmzÎ䇿û“ 1ͯYÜ÷ÿrafpsÏUÂöª7B“ÌŒs2ªG&ǵü›ÕUý»W‚ðrð^ƒ¼›ZðŽ!}þ×q®¦¶Ò?Ë3^kæŠe‘íüéá¥v¦¨‘«7=tOEQÇTá~[ß³oâE˜Œþ[ß³oâ@Y€ó׊¾ó¿<~O²ùþÈËâŸøÃÅ¿”ßøœñ¿G—šUul› ÚUSCm¼]ÖŠåWO+¢’(¼ZyÖÊÕGD¯–8™½ÒÑQ@ÚsYe°Ð[«mßÔPÃ\×¶†ÔάlŽU)R¡®ñ—îTYœ¦ïf»4i­Á4—Z/CKzª’ª¹w)$ŽG=\ªÖ¹ÉøÎkU­W{U} v@O1^»Ý1„µCE%ª¶JªætîeC[I#¥Jtj7G1ïFk«‘4WꋪÜoi®´øiÇy›ð?†\÷,Q}m ->e¶g¥<³+*_X“¶5HÚåÕbTvºi¢§xK”DO õTDMrßUý?ð¾"§=“[ýˆûèò'úsÙ5¿Ø–`gï£ÈŸéÏdÖÿb>ú<‰þœöMoö%˜ûèò'úsÙ5¿Ø¾"§=“[ý‰fF~ú<‰þœöMoö#ï£ÈŸéÏdÖÿbY€Ÿ¾"§=“[ýˆûèò'úsÙ5¿Ø–`ÆóbÿßüôWnžžwK|öëž,¦®¢¨b²jz‹%\‘ÈÕékšèU?B’/ù±ïþz>°Ç·[¥“ \®–kt5õ´ÔòKsÍÉD›Z®Ü÷h«µ4èj*¯áÒŸ9¼ç±Óا— Ëi¦•f‚…øVu§‰ë®¯lkOµ®]WUD׊›G„ƒÅžÛ ¶ÑŠ©-ô07l4Ô¶:¸¢5×Fµ°""jª¼¢âÌAt¡ÁtöÆQ%Òã=, RÇ:ŸQ#¯sZ¨ç#QÊí¨äUÑrkª{ïs¹ÑÜi¯.£’ãk¸IE<´º(eTk×µŽ{Õº¶FêŠçhºñP'Ÿ}DÿN{&·û÷ÑäOôç²k±,ÀÏßG‘?ӞɭþÄ}ôyý9ìšßìK03÷ÑäOôç²k±39±á“̬ŶK^2ñŠû…’¶––/&U·”–HÖ7WDˆš¹Q5UDúÏ£ f{}cϳwí ·ƒ½ÂŽåø¢†¡“ÄË %;œÞ„’(›ým{Õý(o fD"&Gà4DDÿ‹võáÿÙ£6`FskÖw$=ÿܘYˆÎmzÎ䇿û“ 0œÚõÉ÷&b3›^³¹!ïþäÂÌŒþ[ß³oâE˜Œþ[ß³oâ@Y€F|Åóbó)÷Sï_'ÿôßþóÊè~?éýrïCÎÓYmÏl5p> ÅDr5íVª¦ºñÑOh¿á8/fÚ¤»\é`‰”ëLêgD×Ó͉$s5U‹«õkuGjÅDÑ[Åu÷0­Š;¾Jd¯¬¸Ï<﨩¬«äùiävš¹Ü›Äàˆˆj""'¬ÌöúÇŸfî=ÚCfc3ÛèC}›¸÷idOІû7nîÑ›3‘?BìÝ»»FlÀŒæ×¬îH{ÿ¹0³œÚõÉ÷&`#9µë;’ÿîL,Äg6½grCßýÉ…˜ü·¿fßÄ‹1ü·¿fßÄ€³ÌöúÇŸfî=ÚCfc3ÛèC}›¸÷idOІû7nîÑ›3‘?BìÝ»»FlÀŒæ×¬îH{ÿ¹0³œÚõÉ÷&`#9µë;’ÿîL,Äg6½grCßýÉ…˜ü·¿fßÄ‹1ü·¿fßÄ€³ÌöúÇŸfî=ÚCfc3ÛèC}›¸÷idOІû7nîÑ›3‘?BìÝ»»FlÀŒæ×¬îH{ÿ¹0³œÚõÉ÷&`#9µë;’ÿîL,Äg6½grCßýÉ…˜3ùFÖ–J›Õ%ŸdÞ?=’ 9k/¡ÉjÚ¤sV-9Mv1Ïݳ¡¨à7—b|U‹‚ðÍ÷ ÕÐÞ#š²êùZGSTWk&ÇBØßª£‘wñG&š7¥7ØfûnÄVˆîvÉ\øœªÇ²F«$†F®ŽF/=«ÁZ¼Q@é€H,¡¯Ë¬ÚÄsQÛWƒ.÷š+sÒ9YG >%•ú¹Ê«émV¢§B ð`é1…Ö¯"­xÕE Úãd¤«þö姆zˆã]ÊÕv宓UMÚíOÆö;e¯Új*wâ¯/2zgº®PC ¢¨EM¨ÇA¦º£‘ïN’ñR nL]¯w¬n#­†¶èÛÊši¡!É tð·kWkQ±µUUÑ8«—U]aó1q”mid©½RYöMãóÙ £–±’ú–­ªG5bÓ”×cýÛ:Ž'Y£±Xpµ¢;'´TÝÑô5‹Z±ÐËSNú¶Äø› ë¬oTl¼¢ªi1Ê»UZ¨Ðr0Ž"¶â‹Wk[ääœçG$R±Y,µt|R5xµí^ ‹ÿ°ë€#?–÷ìÛø‘f#?–÷ìÛø`”y¥„³:Á×ÕIkœú ½Œ«‰¨÷1æ5ÎMª¬]Š©ì×TTM¹óï‚–°bŸ¼ËÍ I5:×:–ª) M3–²¡7E3è½-Tè `–<ÁÂ\iäû¹³·Uä¥Xéî±7Šè×ú0Ô{Ü“¾·9NîÆXI55º±ÑÜ)¿å6ê¨Ý]?ON¢=UGiµtÕP ŒÏo¡ yönãݤ6f3=¾„1çÙ»vDý`?³vîí³1™ô!€þÍÛ»´fÌÎmzÎ䇿û“ 1ͯYÜ÷ÿraf3›^³¹!ïþäÂÌFskÖw$=ÿܘY€Ï;YùËÁŸ¿i¿œÙŸ9ø eî¾x;a{¥ïá›|þ7ÊÕVZ šY6ÕÌÔÜ÷5Utj"&«Ðˆ€V|ìegç/~ý¦þqçc+?9x3÷í7ó4ùYù´ÁŸ¸©¿y§ÊÏͦ ýÅMü€<ìegç/~ý¦þs‡‰±nIb) ¨¸fFЦ®lu¹(fF®š±d‚v9Zªˆ»UU5D]5C¹æŸ+?6˜3÷7ò4ùYù´ÁŸ¸©¿Jß‹²~º;]‚ß°JÅUÐRÁ|…Ò>t~±íFɹîW¯Bê®U㪩íã 5ÖÑq—àÚD¨¹*7ÊV¾QˤMáÁWƒjßÄzèŽÑåÓEo³A–YmA]O]C—¸J–®šVÍðÙ©Ù$Ojê×µÈÍZäTEEN(¨kÂÐgXTÒG<ØóÛ¥r~’áq†–¦'G,R9ǵQQZäEECÏçc+?9x3÷í7óžzü²ËjúêŠêì½ÂUUu2ºiçšÍNù%{—W=ÎVjç*ªªªñUSÁæŸ+?6˜3÷7òø¨ÍÜ©‚ &~e`õlmW9y§{•5àÖ½UWô"*©ëÙó£)®–º{…>caxbˆöÇUs†žVþ‡G#‘Í_Ш†{9òË-¨2{WPå¦ÃõóA<6jvIÛNõkÚäf­r*"¢§T1–Ym_“Ø.º»/p•U]N šyæ³S¾I^êv+žç+5s•UUUxª¨Ï;YùËÁŸ¿i¿œyØÊÏÎ^ ýûMüãÍ>V~m0gî*oäiò³óiƒ?qS ;YùËÁŸ¿i¿œ‰åý]-~AxD×PÔÃUISˆ14ÐO ˆøåc©Z­{\œÕEEEN Š[<ÓågæÓ~â¦þB'—ô”´áCCM -%6 ÄÐÁ1£#‰¥j5jpkQ8" ŒªÌ ª~Fá;ÿ`Ý QÒWPÖ]©“ÿƒ1’E#ÿÖÕj§ÖŠu°æ)Èì?Y-m»10»ªdg%ÊÖbÆÕ¾8õדf™Ë5D]ŒÑ¼‡•”Ùm—•9#„n“e¦ºÜeÃtUå-«-L«LÇ.ç½¼\ç/9zWU?™w„òþõ–Ób[öSàZêz‹”SÓÒY`|Mñj©áDk+½“Wh𮫣uÑKaÌ›±ÛÖ‚Õ˜x2ž™j'©V}Ð@ïÂM+æ‘ÚºE^/‘ë§Bk¢hˆˆfÎܤŠ÷Ohvba¥žx+deÂ7@Ôj§L‹ÉµËìkœŠºpC/€p«»%&ËŒ´j­pÜ©]oÃ1CÉ5îTtOÞ¯Þ©èèôÛ®«è¦†sÍîûð¼…÷†|“æÿÆüGÉPx¿/å œ¯'·ný¾Ží5Ó†ºY󱕟œ¼ûö›ùÇŒ¬üåàÏß´ßÎ<ÓågæÓ~â¦þAæŸ+?6˜3÷7òÃÄØ·$±ÐT\3# ÅSN×6:Š \”3#WMX²A;­UD]ªªš¢.š¡íÅŠ2nñCnÂÔØÏÖF•”Ï¢£§¾ÄéQì–»dÜ÷r­béÇrôëªëÑóO•Ÿ›LûŠ›ù=Yeµu=u^á*Zºi[4Ãf§d‘=««^×#5k‘Q8¢ <Öù¸¤´•÷8iª z.ŽŽHžäsÕEEEN”7N¿,²Ú¾º¢º»/p•U]L®šyæ³S¾I^åÕÏs•š¹Êªªª¼UTŒ¬üåàÏß´ßÎ<ìegç/~ý¦þqæŸ+?6˜3÷7ò4ùYù´ÁŸ¸©¿Œ¬üåàÏß´ßÎI˜¹~ï GÞÓa¿%3øš×-Ò§åü}É$Šíªý«»j.º~¢·æŸ+?6˜3÷7ò„Ê©J‡Oæ×osŠžF§Û¢*¯ìÑŠñÓUá¯Bû󱕟œ¼ûö›ùÇŒ¬üåàÏß´ßÎ<ÓågæÓ~â¦þAæŸ+?6˜3÷7ò󱕟œ¼ûö›ùÇŒ¬üåàÏß´ßÎ<ÓågæÓ~â¦þAæŸ+?6˜3÷7ò󱕟œ¼ûö›ùÉg‚N7ÁxkÁÃPâ<_‡ìÕrEY3 ¯¹CO#˜µÕF½ÈªÝZä×£T_¨©ù§ÊÏͦ ýÅMü„³Á'`¼Kàძ±Ã÷š¸â¬…“×Ûa¨‘¬Jê…F#žÕTn®réѪ¯ÖÏ â%¡}v¾[/4‘ʰ¾z ¶TF×¢"«ÌUDvŽjéÓ¢§Özø§ Xq+`uÖ…ULªêJÈ\±TÒ¹QQ]­T{E^…ãк¡ìa¼=`ÃT/¡Ã–;eš’IVgÁAHÊxÜõDEzµˆˆ®Ñ­MztDúŽ˜_øû…?úíhoýJ{¤MÿòÅ?ÿ¤¿õ”îá\]`ļ¬vºßîºùMìt5TëõI ÑßÖ©¢û5;§ a%ädºQuÓëâÕ°Hèj©×ëŽf*=¿©Eö¢Ý eÇøMÚIݵ™ªˆ‹dH[Á=&ª¶*8ªª,NáÁ¯S¿„ñvÅ1Íäkƒd¨§TJªIXèjiœ©®Ùaz#ã^=DºŠqi‘hk®5•’¬T”TLk¦èÕr¢osXÔDEUsÜÖ§µx¡Î·c‹}S¢‚¢Ût·×­|tQUDÄ–žWƲ5\­z±ÌV¢úq¹íUÕ5ÕO61µ]êk-—«Ñ>åm|›ië^èᨎFèö+Ú×,kª5Qè×i·M«©Ÿ bš§ÕâJ‡Y[ˆßYKUOFÉ¥ZF2=­…Ó+79W••VT4ÜßAvñÞ&Ƴ%ÓÅðåêòëR1õ¢u3V8Ý¤ßøi£EDF訚®ªš"ñS?™7š›ïƒÞ;¯©Ã÷Kì9päá¯};¤‘‹HõG§!,D]tÑUT^ ½J =ˆ«-ª{ÚZé.—Øé©*$š v¶šÊèØçªª«•v7MtD]5_pS¾“ÁóÒÈ­WÃ…+£r·¡U)‹§ý€{9ô!€þÍÛ»´fÌÆdOІû7nîÑ›0#9µë;’ÿîL,Äg6½grCßýÉ…˜ÎmzÎ䇿û“ 1ͯYÜ÷ÿrafF| }X°õÞû9f#>¾¬XGúï}œ 0MÇa»uâ–ÍpÄš;_üšŽzÈãžoúŒUÜïüÈ{ÑWQKD‘VSÈÊg¹“¹²"¤Njjæ¹uôUx¢ô‡>†ÛYŠ,wÜxºOz¹:f:šÖùâ¸ÄæF‘î©ÉÅÉ¢$†{9=[ÃE?–;»(ª1vªµbW×\êä¦slu§‘¯…»U*%‹EÑSUzqáÒ·Kcª))Ûq£tÕ±,Ô±¤íÝâèUiàbª¶6rQ³TÕx¹Ûœº&®] å½û6þ$YˆÏå½û6þ$˜ôå»Zâ¯m¾[•uŽs”î©"«ÑêÄÛ®ºªG"§ÖŒwÔ§¸|ãA±nyÔÝçÃõQ¶áUWK]6)¹9´ÍdL‚=öls•f¨{Xš7kÞÍZƦð»ÒbŒ3Ww«³Òb+EEʉ»ªé"­Ó@Ÿ[Ø‹¹©úÑe/•¶R\ÒéB´‹ RÔøÃy)ÖejE±úèíêæ£tUÜ®M5Õ ¶’øbņo,¼Y©Žt–Dz ’ì|¬©r#&ß¹ÍÖ'=Îå=$OIS1E-eë!0N·Û1EòÖì8ʾ_UÁ⮆¦•%z:h’7ò{\åÑ\š5U}Uæ·KbKYÜhùJ£êÛË7Zvª+‘dM}Ñu]8!ìÆöIdí{ˆæ¹«ª*/B¢’Øpï-–¸›^,U40Ìä¨t/tW‡>7,sªñIdUÑÇj¨öë¦ÝŠQì,|V:äc˜öSF×5É¢¢£STTÝÆfni`LµòÝ­÷É^Qå|Sû’y¹NOfÿïLvšogNšëÃÚÌŸ¾"§=“[ýˆûèò'úsÙ5¿Øf#>¾¬XGúï}œ}ôyý9ìšßìHÎ_g£*üðåuñ«é¦ª·[«)'’)¢uÒxÜç9š54keTEz.­NQ>Ìg.1îÌK×¼vò.¥’_–²µ­r·IÕüWµuÓN?¬ÓñÎkZ®r£Z‰ªª®ˆˆaêón•[ð¢LOW–9+NBÛÓTT}J¢£Õ4VÂÙ‹Ò‰ÒâG²6:IÖ1¨ªç9tDDö©)ÆUV}SpŽ\Cu¤s£‡RÕ:Š #½$mk=7ñoâG¢ªhýÛpEýþ1˜——bªêÛL1­=®>ž ª³ð^+3žš¦¨Ö›˜"ŠY2(£j5ŒcQ­j'B"'B‹.³Ù"j/„FÍ=ÁÔriú7+‘]úôMO×›¼öÿH¿ö*‹ù‹03æï=¿Ò/ýŠ¢þaæï=¿Ò/ýŠ¢þbÌŒù»Ïoô‹ÿb¨¿˜y»Ïoô‹ÿb¨¿˜³#>nóÛý"ÿت/æ=+öSç=òÇ_dºxAøÅšJZ¨¾ãiÊE#U¯n­z*jÕTÕê.`6±}Ëà{ñ¯òE¶ž‡Æ9=œ¯%Y¿n«·]ºéªé¯JŒæ×¬îH{ÿ¹0³œÚõÉ÷&`#9µë;’ÿîL,Äg6½grCßýÉ…˜=?+Z¿ÎT_þ;ÿNf`_åÃx^{%*VW½ñÒÐS*ª$õ2½#‰Š¨Š¨Õ{“réÁ¨«ìÙÄØ›áŠ$­ÄwÛm¢WD’¶¥µWêEr¦ªF<ñ>Ÿ!pΊýl}ê™*ÖkzU3Æ#GUÌäU]Ú+U£¡J– ÁTVIu¹J·œIRˆêË­KwHç‘/bOdlÑ=«ªê«êOälop¹a,[…Vºަ_kÛ$Ns’:Šy™ÅŽG1ÉÃkب‹Ð­U °1غçC{º`»ÝL•“Û£Ž¦ß]".úº975¼¢é¢ÊDZÌr§Jrn]ú1™íô!>ÍÜ{´ƒ"~„0Ù»wvŒô³6»î¢;ŽWÙS–­ºÐÉOu©DÖ;]$Ìsïúår*¤léUô—ÑE5˜FÉK†p¥£PË<´–ª(h |îE‘̉ˆÆ«•WF¦º"'è@<؆8å°×Ç-²K¤n¦‘E³uJm]cMîkuwG¤äN¡©ViZ÷5ôÜåá£7ñušÿ<”¶*ú˜«ihd†šISUÉ *UÞö£š®jiª¢9º¢t§I%¿3Þ¨ðË1..³Gf¸Ý¨j˜èp¥M3÷ÃSñD÷>­Ü’ÈèѨ®bôéÁU³€ŸË{ömüH¬ßnÖÛ¢¦ïw¬ŠŽ†•‹$ÓHº#Sÿí}ˆ‰ÅUQÁà|9U{Ì™ónïIUjª¨´%šÛm‘QÚ.[–ågnš¶W?Š5F·D]]®I18®†²ëŽ(hèq¥ÎÎØ¨Ý%] :ÆÎV5UÛ4n|NÜæ¹6¹tD{Ut]»¶Äó7ð."ÇÃGA~²[(¢F½Ž¨´KQRÉu]ÊÙQv9º5ѹªŽMȺ¢èßËúŠ:‹e_ˆß®—Ø#«ti[ZTz£[ªDæ1|hº¦äEMÛ“^Çå•ÊçPËå–ïYAWWb¸2Ï¡¶-‹MÍk³JªˆÙ‘5Õ¼uM¼5]€3›^³¹!ïþäÂÌFskÖw$=ÿܘ˜€x.ak4ð;øgPøý¦³Æ¼bŸ•|{ö\%{}&*94sZ¼:>¢þ|×àŒ§§ðyÃ8 aúëýê«åš‰ÈQÒ«ªçsyj‡¦ÔÕ4]¬G¿G"íÑué79­j¹Êj&ªªº"!ˆ¬Ìî5Ûð®LU[•¨ŠDŠÝNôÕ4’©QZªŠš+bIžÖ¡ãn¹â'¬ù‡zmÖtY(Zè-­N<$E]õ<Eåb芑µMÅ-<´ñÓRÃFÔlqÆÔkX‰Ðˆ‰Á V`XîØ:é‰ñõjbt£…ef¦‘ÔVµ]U¯DG>nDU—sxj‘´Ùaªœ_œó a«E®c­·©ª\ݺhÔÔ‘"7Mx£¸hœÙáÎ;Euÿ,/ö{mÕÕÒ,qÓncyeÕn¯ToEéTC•—v«¶üùm9(ü4:7ÜR’Õ9š¢òj´³¾EETEÓnšµ5è@;8C‹ª¯ñAlª¡e¢½”hµ)¶I‘ÔñLV*k©*z.ô“N(ÕÕ©©1¹d¹Ú±V;­¯¦äiꨟÊ5ܬIEM»DUVúq½4]†½ †ÈÎmzÎ䇿û“ 1ͯYÜ÷ÿraf3›^³¹!ïþäÂÌFskÖw$=ÿܘY€Çj­TM5ÓÚ@FÐá GYSrâÉo –®J‡Ü©©á­£‰^íW¦6ÍUu~ŠÇ#UÎDvˆšn3JX©iðÍÒwm¢¤ÄŽvjˆÙ7@Å_©I£]}šqá©ïÚ0> ®mÊjin—6ªªW\¥uLÍ×§b¿T?C©úÍêÙCy´UÚnTí¨£«‰Ðͺ×&‹ú¿_°i_+ðþ’ºÛ$TIWKIãU WÅHÙ§dNíN”b=]ÅQ8&ª‰ª§÷aVÙë*ïU¸†áˆ®ÕѲ+êù&¢DÇ9Yl‰­cŠ÷*蚪¯]N<5X§ Óyýa¬Åöm« W*6Ç$üŽŠ›j {‘^í8+ãGn×Ukxœ\½ÌVbœ k¨Ê¬¼®§¶Ô2FR:º8(()’9‹¹#s•Sr*£bk¾¥V¯@h¥VÕçÅ2ÓÊ‹äÌ3;k‹Ðµ50¬ÿ楟OÖ¿Y¸3¸ I‡mõ¸\]u¼Ü&ñ›•{£Frò興Ö&»#kQÖjº"qUUU]ušÏ[¤ª²á;%MUTC%ÂælŒ¶C*½9d‡T|îkc{¶5=‰ÓÐQIN>¾ÍnÌZˆhüVšó5 «ð,Yꢥ͖dW~; cêÞ„ÕÊ¿Œ€t0…ã aL»Ä׋tuut%ž®¾µ$lÕ72•Ÿzª#Üö¹4ÕQ8"&DÓg„ït¸— Úq sGIu¡†¶Lˆ’5’±Ôr"ª#´rk¢ªkíRGUKGGàãšP[Ý M+(¯ e|l©_¥"£¦T4]Èæ.Ƶª±ª¢&¦ó"~„0Ù»wvŒæ4¢ ¹`ûͺé²ÐUPM K"nçº71QÈÔö®ŠºÌ3i1ÅÆÍ‡1òŠ––õ‘©So}õµUdLÒIçJÆ¿kQÊ»U=Õ©u­¦¦­£šŽ²ª)§ÑˬG2F94V¹‚¢¢é¡€Ã™;…0ýÞ–åkžïLúYªeŽk]‡©ñ…bÆÍ­jèÖ¦ŸŠ‰®ªˆ Q~$»ÒX,÷ºþQih`|ò¤mÜõkS]žÕ^„:1ꦡÀú¸(¢®’+|Îm<±rŒ“Ð^gøMúÓÚœ˜ÑÞox0b¹ãŒ-Uo²[.±[íöù'k’ ×µ«D­n­™W{Q®k•±îèW#•”»[W?7>/[åo"yo–Øßä9~GníÛ·îã¦Ý4öëÀPÝY[ˆl4J[•¾×t§³ÙàH©Ýzr ñšÈ܈¯EäÕŠNM診¢§—òÞý›ÌOq=šÛŠs1m3ºûÑZ¢¨ªš“×P±$’¶&²($kåXäÜå∌N:¦”#‰ˆ0Å⺠ƒª+èk¡bmM K¡{£UÕXí89ºñDr.‹Å49“6ªlIl†Ž¢ …-ác¹K-¢³Æfñx’¶IÜçéȬ-Ú«è«U8驾9ØzËAa·ø•½’ìtŽ–Y&•ÒË,Ž]\÷½Ê®s—ëUö"t"g6½grCßýÉ…7[¯·l1WoÃ8îní.Ϲx“*ù Õwàž¨×nj9¼z7kÒ‡ÄÙ“‹q}§7íx“1slYa©©§±¾<º¡o/˪ӺJvxËyvK³F*µuÿEï frâÍ‹,v9©1Ž4û®¯}K¤Ž·ÉqPòq+Z‰'ª.ŽG;wO¥§± 0Ò²ZmV;\6»%²ŠÙAîJ–ŽÃ{œ®]¬j"&®UUÑ:UT÷@œÚõÉ÷&b3›^³¹!ïþäÂÌg6½grCßýÉ…˜Œæ×¬îH{ÿ¹0³#>¾¬XGúï}œ³Ÿ_V,#ýw¾Î˜üº8Üö½ÑµÏn»\©Å5éÐý1Yápä^9ŠÙlÃ7µŒM©âÒpDNƒõ‘?BìÝ»»F3ÛèC}›¸÷iDý`?³vîí0&SS±Ìs ‰®ªÖ*1Z‹¢ª'Ô‹¢ØG¿-ïÙ·ñ"ÌF-ïÙ·ñ ,Àë„ð­ÚùI}ºa«-}ÚgŠ×TÐÅ%D¯fÉÕsv¹UÉ¢¦Šª©Äì€#9µë;’ÿîL,Äg6½grCßýÉ…˜ÎmzÎ䇿û“ 1ͯYÜ÷ÿrafF| }X°õÞû9f#>¾¬XGúï}œ 0 f{}cϳwí ÈŸ¡ önÝÝ£íô!>ÍÜ{´ƒ"~„0Ù»wvŒ ˜ü·¿fßÄ‹1ü·¿fßÄ€³Œæ×¬îH{ÿ¹0³œÚõÉ÷&`#9µë;’ÿîL,Äg6½grCßýÉ…˜ð%õbÂ?×{ìç¥á’˜BÿcÄØêß诸×Å›PÆÕÕ×lªäZƬi<­UzÄÅkºjýºôª’oŠ¡Æž9tÌlž²á»L[éá¥åï4•ï9'6M“T+Vkžš¢ë¹ºt"ö`ž|*®™çAa¾PáŒ7‡ïøVõÚ£‚І¶¦í&¦rK+ÚÅäÚÔr=ÜQ7Gª.ªq¼1'„=Ò†Õ‡+°vø{ÅAE;ïvÊúZºªV¦Ç, ª¬|¨È×]QŽsxh§ÐØÛ X±¦«Ã8š‡Çí5›å'÷œ™Ë[Æaǘ7ËâXê`ªmoT7I`F$NäÛ"3ÑHÙÃn‹§uP;Yq÷}ä9¼ã}Ìù[Æ]Èù—ñ~Ckvîå½-û·ë§ 6ûu4ÀͯYÜ÷ÿraf#9µë;’ÿîL,ÀFskÖw$=ÿܘYˆÎmzÎ䇿û“ 0œÚõÉ÷&b3›^³¹!ïþäÂÌg6½grCßýÉ…˜Œæ×¬îH{ÿ¹0³ÏÂâ¬cÃ?qÔöY®×ìIIdÊÌ•ÔìåÛ&Ž^MÈäÑÍo<5à«¡ÅçOÔÏifg?S=¤9Óõ3Ú@YçOÔÏitýLö`FyÓõ3ÚC?S=¤˜žtýLöçOÔÏifg?S=¤9Óõ3Ú@YçOÔÏitýLö`FyÓõ3ÚC?S=¤˜žtýLöçOÔÏifg?S=¤9Óõ3Ú@YçOÔÏitýLö`FyÓõ3ÚC?S=¤˜žtýLöçOÔÏifg?S=¤9Óõ3Ú@YçOÔÏitýLö`FyÓõ3ÚC?S=¤˜žtýLöçOÔÏifg?S=¤9Óõ3Ú@YçOÔÏitýLö`FyÓõ3ÚC?S=¤˜žtýLöçOÔÏifg?S=¤9Óõ3Ú@YçOÔÏitýLö`FyÓõ3ÚC?S=¤˜žtýLöçOÔÏifg?S=¤9Óõ3Ú@YçOÔÏitýLö ÚõÉ÷&cæjß:|îPyËûŒÿã¯ûžñŸúá9^_ÿ»Û·ÿ¯°údÎmzÎ䇿û“ 1ͯYÜ÷ÿraf3áOþ*¿ÖMŸýñf#>ÿâ«ýdÙÿß`#9µë;’ÿîL,Äg6½grCßýÉ…˜ÎmzÎ䇿û“ 1ͯYÜ÷ÿraf3áOþ*¿ÖMŸýñf#>ÿâ«ýdÙÿß,kŠj0ÒR:,+{½²¦VþÞúF¤r9ÈÖ5ܼñ¯¤®à¨Š‰¢ê¨«ž>š•±-6Ä·>«Ääm4”-XgÑ“w)RÄUãÒÝÍà¼z5èUãX0Í]í¶«”ëMZ”+GD“É:ÌØQ­WH‘ñ{‘5W¢iÇP4 æa»mÖ…õØzça•²«ž¾JwÈäÑz,ÈÝ«ª§"êÕᦊ½0#9µë;’ÿîL,Äg6½grCßýÉ…˜ÎmzÎ䇿û“ 1ͯYÜ÷ÿraf3áOþ*¿ÖMŸýñU¿Û<«OM/ÈòUk³vîJF¿oJtíÓ_gé#¾–ÿ+Xòæ×ãµ´9˜Ê¢—“¨ƒ{go)ô]¯nºµt]N~)Êë6š’ –ugÄ“Ö#Öh.•5Ò9·z«`§z¢&öñTDâ€XãÃ[]#¼w]÷)zèà‰³§ôtÿê3̈nvëÝ‘øƒÉd¹V­k)jìNæ½gdÛ%wŒ£eUªÕnƪµÝ)íÅ[2šÍq¸¥º“=3¥Õk’rOÄ2FäF,hýwBš*,¬MкzvLµ±Þo3Z­ÙÏŸÒM ³DùŸ]Y6øž¬z%Cé’'hæªpzë§ @²eæ› Øk’<79wIv+*ÛiÚŠ‰®±r²jíQU]ªkªpáªéϘ.º³›â”<ÁuÕœß| ,ÀŒù‚ë«9¾(ùCÌ]YÍñGÊÌϘ.º³›â”<ÁuÕœß| ,ÀŒù‚ë«9¾(ùCÌ]YÍñGÊÌϘ.º³›â”<ÁuÕœß| ,ÀŒù‚ë«9¾(ùCÌ]YÍñGÊÌϘ.º³›â”<ÁuÕœß| ,ÀŒù‚ë«9¾(ùCÌ]YÍñGÊÌϘ.º³›â”<ÁuÕœß| ,ÀŒù‚ë«9¾(ùCÌ]YÍñGÊÌϘ.º³›â”OüÛÝ~ø¿7>x³gÉ?r>[å¾é㿎r;wlÛ³o6믷N}Lnùu‡m7·Yë³»>PÎM%–;T´Ðïü^R¡”Ë~ÏÆziªk¡ëGð»êª`LìÏö²šwSËRúºæÒ¤—’r$ëKÉ*#øjŽTà«®ˆªÒ`ùòå–vÛršß_Ÿ™ÉO< Ý.üHôc’’eÕüŽÔÒ8žåãÁ5üfëêPà+Y%ŽÌÕSRÛ*®uÞyÕAEJ±ïž¶õQNÇ1ò²&ÊÅ’9H·ÈÄåY«r*¹‰©¤É*:ºÊºJ|ðÎY&£s[;~éÕ6+šo‹EÕª‹ÃP.Œù‚ë«9¾(ùCÌ]YÍñGÊÌϘ.º³›â”<ÁuÕœß| ,ÀŒù‚ë«9¾(ùCÌ]YÍñGÊÌϘ.º³›â”<ÁuÕœß| ,ÀŒù‚ë«9¾(ùCÌ]YÍñGÊÌϘ.º³›â”<ÁuÕœß| ,ÀŒù‚ë«9¾(ùCÌ]YÍñGÊÌϘ.º³›â”<ÁuÕœß| ,ÀŒù‚ë«9¾(ùCÌ]YÍñGÊÌϘ.º³›â”<ÁuÕœß| ,ÀŒù‚ë«9¾(ùCÌ]YÍñGÊ›^³¹!ïþäÂÌ|Í[€>á¼'rƒþ:ã1ÊÝ#v¨®Ó]¼Ù…ð§ÿ_ë&Ïþø§âlS†pÄPˉq¢ËîVÂë…lté"§J5^©ª¦©Ñõ¨Ã¸ÊÓŒˆ,›dJÆ>*ë¬ÔŠÖÌúw5Qͧ—r§"äTáÒœTôpÎ ÄV»½Ùk,VË…eEt‰ã¾á,²iß+êÀ´ñðsQUºéÅS]WZ\W|µQRG]Jú‰ Zˆ¢l­W¾$TNQ©®ªÝ\ÔÜœ8§ÖrÓažåb«ËjbÉqg”"ÝFÄét©»ðhŸ[´ºVĸwRËU†ïö«Õ[âËÜ”l»ÔÑZíÐÖ+Ößâ¢àØXê êgɳDÇ5Îu\IÉhŒkaÕUT*´—{M[bu-ÒŠ¡&šH"XªíòÆ®IÝ‹š¬z9Šm]zðň°ü­£|WÛ\®ÿ‘«jãT¨ã§àøú|xp׈ìS‚qŽ.§·C{f¥e®ª‘be<òÊ•qÇ]K<~è›Ék;‘"Mé¹É«ôMNÎÁ· 9w®ZŸ'Üè–¹mšW;Æh©›L‘µ¼Z»žŠŠÍQÍÕš*ª®¨º«¥úÇj¶U].—›u #Ò:šªš¦G.UF£^÷*#WW54UéTúÏÅ—áëÜOf¿ZîQT1òBúJ¸ælŒc¶½ÍVªêr¢*§BðP:€ðÐÕÒ×ÑÅ[CS U4ÌGÅ42#Ù#W¡Zäà©úPóͯYÜ÷ÿraf#9µë;’ÿîL,ÀFskÖw$=ÿܘY‰6wà¬}|ÇxåýFe~ò†èï"“ÆbŽ$Ñ!jªèÔµ¼vôñCÒçOÔÏifg?S=¤9Óõ3Ú@YçOÔÏitýLö`FyÓõ3ÚC?S=¤˜žtýLöçOÔÏifg?S=¤9Óõ3Ú@YçOÔÏitýLö`FyÓõ3ÚC?S=¤˜žtýLöçOÔÏifg?S=¤9Óõ3Ú@YçOÔÏitýLö`FyÓõ3ÚC?S=¤ŸüU¬›?ûãmpåÞùŠìµ6ûÝÎÉ5dsÖP%3¤ÖGSí[A½Ó^é|Y÷ïž ÛýÍ]X»—TM£ECMΟ©žÒËż]C}²ºš }±ðZi¨RXëscXUÞ2éшÄtލVlÞ«S]WièÜ0Æ6šÅOg£²](i³>‹do¶>ž¦Mš$´r,É#œUå–6pMZ¼TöyÓõ3ÚC?S=¤ó-|ò]KoÌÅI2O«òo*­Úœâ†ÔT_ÆôµUöhjˆÏ:~¦{Hs§êg´€³3Ο©žÒéú™í ,ÀŒó§êg´‡:~¦{H 0#<éú™í!Ο©žÒÌeq­=Ê ÍŸPYj/­·¤ñ¾‚žH™2¬¨ÄIcYžÈ÷5äâäôdvš¯Áó§êg´‡:~¦{HÎÁ¸Žµ^*¿¥x˜,E—tQáëÕ6‰Ì©½:6Ý[]<í®ƒV6f;”sÑ$|-XÒEEV¢§±ÏYpdwLaa0׈Ù),’Gx‚²ŸbÍ\®…bTÿ.Fl•VdUEÝ¢9Ú®žþ·ÐÇá (YK i«0å¾jˆ6ú¾IêÚ÷9½ ®DDUö臧^ø]øFÙ‹°ýÂ*˜dZªüM5M2DÙ²1ðº¦d“s75¬N+øÍTG%ç‡-›.uLÊÖÃÈrôõ2À÷Gªª1Ë›¹¨ªªˆíQWë =þ 8ù9䎆²üú^<‡'U:F¬_fÔDDÓ¡ fkÛ]‚òÆé‰ðÏGz¸An¡®¬Z—·ðK;Y$ë§=,в¢jÞ ÐÓjܲÁL°×Ø"´Ë ¦á;ç«¢Šº¡ÊçîÞŠÖ½íîÕ‰è¯ S‚i ¦²Û¡²¾Ìè_S@øÖ'ÃY3êQìTÑZå‘\ªÝ8h« û.¼ZsÛ_IKa²YŸAQM[CIX÷º®mѺQ« \Äl¨®UÕQüuÓ…æZ,6ËT‰%Snk96,Õ2L±³‡ ÎQ˱¼ƒtOE>¤:3FÙa|OW£^Õj«­v‹õ*h¨¿¥80ÊŸ¦LÝÿÊ–ïÿ„ÚÚ0ý–ƒ^ïÔrL·K£iÒ¹®«{ÚÔªØôU[ z5éúÏ^ÍðížõUy·Á_}d–ªU¹Ô¿ÆÖíjÈŽ‘Qú7DMȺ""{÷­ØnÅnÄw\GEm† µÝ°¶¾©ºï"nØõã§]8Ö#ø‡+°Ve].8ªÝ]}Ã8‰•RÛê®6K‹©§séätiÊ"j×.EETݵZšðM,yø/r³MôSTLùê%¢¬š™ó½îW9dtOj¿Š¯*¢t&ˆzñ%Öóàïv‹ÕGuºX/ëA ѨuJA^ÈÒ^VêÇ"tèä^•5yƒh£«ðƒËô’$FTÛnî¬cx%ScJTc$ÿ)©½x/֩Ъ‹·¾à¼5z°Áa¯¶ªÚàs^ÊHj$‚=Ír=ª©›¹QÈŽMuÑɯOñS‚0íMêÝz¨†á-ÂÛÇGPë¥Jº&®ÝÈŸ„ã»kwk®ýv arÿÛ+³3¬µ´±TÙ¨®T¢·JÄu=*ËA’º8Õ4j¹ÎUàœ8é¦çk‡½ÿÞ¸>ëxžZ‹‚%¡©\ù\• GÖÁÕ%EG5UЍª‹©p¢À¸rоç_IÊ«®ž=3.ÕHùÕ®Uå?Ôj*qF¦ˆ¨œ ^ieúG•-Á'TÕS>ºŽfÓ:µAS ®gáåôZæ±Èj*kÓ¦ºúÎJH0•&¾á:HhoNÄ4hÚvmZø¦•,RéÆDØ®~«ª¢·wÖz—«­ÒÇ]W‹+5Ί‚šzF#7ªÊÚVú)ÓÅtöèP­rÏã4—™-uqWDÅX#®«uC¨÷"¢£d{#]EX×£†ºp?VLa³^ëïVúz¦W\U²I+ç•'Tj5ªö½êÕTj#Qtà‰¢hœÀá[ í´øýlK½‰ÉIt­K”’Ïv‚Zg"µê°§(õ‘ÑÈŠçpÚº/¸qí8bÇj–'ÐQºBª°CËȰÓꊋÉD®VGÁU=N ©íS°:\¢ÂØÂ•3 b,C‚.׆¥ÂImdSUå¡âÇhäôÑ4ÕQuéSÔÅiWŒ¼pþbÝí”uwû<÷‰Ò8ZöÕà µ¨¡ÑË=ÈÕôuV¯J"¥Z …iéc¤¤·KGJÆlZjZÉ¡†TÓOÂFÇ£dUN•z*¯·S@´”ËCâ>/Rò|—"DfÍ4Û§FšpÐLu6ª\}y¹ÒÚ­µ¬sj’ 2-y9*"‘±=®wµ³¬Í“N…l*îX[+­DÔl/‰M˹&ÝÒíÍã¢7JMf±ÕßRù=-Ódo•²=œ«å|m‘­Tlˆ×*«w"íU]4ÔüÖa‹-UÎ[›©e†®djO%5L°rèÔÑ9DÍI4N »^œb‹du™¿•Uw]aŽÉwå§UM+‘D›Ÿ§k—G*'èâœJ;Ó SgŠa¨U]e{*mTQ³tpÊëd2®ÈÓ¡EW+S¥U}ª¥2»áÚÛýöjJ„¯·1c¢’*éâm;j9¬ck\j94vÔ×]ÝØl·šëź ¶VÜY$•óÊ“ª5Šö½êÕTkQ¨ºjˆš&‰À ö±_c¢À؂ӎ…‘És«K›åžï ´ÎM¯U…9GºGFôW;†ÕÑxž™‚[’ÍÆ¦ž:ÌIpedµÕG¶ZYY,­äc×Ò…#ÚF¢¢¦š¯U)¶œ1cµKè(Ý !UX!åäXiõEEä¢W+#ઞŠ'Tö©á«ÁøvªZÇËBôer«« ަXà¨UM²D×#ªœUW†ºžðqúÀßù—ÿÛC/šðOcð„ËœqW|†±UYjê\º6’iÛ¬.rûïÑš®‰ª¢kÅ ŽÖ|)c†Éa¦}-¾Ò<’¤i¢&֫ܪáЋ¡ï×ÑÒ\(¦¢¯¦†ª–v+%†f#Øö¯J+W‚ ºªˆ)ieª©•‘A òHõÑ­j&ªª¿R!1ÄW¯xã Ú$¦–¢µ,ò×Öá©)ã};#“c,ò?ñ6=®cQ­sœªíDqµ Â6*Xè`«s#r:8&¯žX#T]Z­‰ïV7EèÑ©§³CËwÃK¥Ú ½U#Ûq§…ÐGWOQ%<ɕѫãs\¬UD]ªªš¢.š Ú•­ð|Í+MáÐK=–¢úÛ\K/,´ÑÀÝÑòoVµ²µ­]Z›SØws×lÃ~‹Š,Œmö×i§© ¸±Êê™&F³c"êùREÑŠ×*îGiõ,ÉÀÔ‰—˜¶Ý„pêÉu¿ÛªhѰÌÖ1$šœ£’G£ZŠ­zµ7;kUQÚpêa %kuŽÎ륆ª’¦ÞÈù:*ª¾VeFDÙ h©«U:x(zÙ"Åu£–o3ÐØéb®·TFÈé-5/Ý*=³.¯Iœ×'5UŒUTôLÍ4½ÜòG*£«ºHµŽºÛEz­köÊH^.OÅYG»‚úk§BÏ[…lUwi®²Ñ½•u¶:—ÃQ$IRÆëµ²µŽFÊˆŠ©é¢ðUN…ÐñÐàÜ3Ed¨²Ah‡ÉÕÜúiéž–äF£•v5®âÖ·Djþ* jŒl¥ºÞ4©¥mžãjH[`m,l•]Pˆœ\åßUtá£xôi#ºPPÜürÖ{=l­žÂÔ’x›#‘U^š¯±ÉÁ~´é/)…í AQGÿ9µ lrJë•C§V5uF¤ÊþQ­×ØŽD]W^•<x' Rá&áH­›¬¬ÙÉRË<’¶-ŠÕg&®r¹›U­VíTÚ¨Šš(<Ƭ†×ö Xhì•ø–;uÉ´‘rQÇÉdXý¨ùZƯ±w*„\žFÏn³ÑEŽë‡êg¸QÅ6Ÿ±¶9©èµ\’HÅÑ=$D×]©¦æK¢[3­Ñ6z';{™3#•û·£ÕÎUr½£‘Úꊈºê‡ò݇íT Rúhfåê£H¦©’¦Y'{]­å\åz"nr¢"ðUUM@•dv²ÖÁt¹TÇ;§²ãkºÛ6Læ6–6TKbj"éÉíUôz:?ÉM+x†‰÷+ÆÝœ›ê©e¯ÿ%\Åj/þ³Ñ¸Ndž´j5ʋ쑿YãºaKÆè무’Áp{•tu2ÒÍ#®Ö½ñ9®{SrèŽUDÕOq–{|v§ÚàŠJjgë»Åæ|R*ªê®å¨ýʼUÚê¿X?]­ð¿ÀþÀö9ñÕÒÖP2–¯]f_tŠ79¯^:«\¨¿^¼M†gÛ)pe=ª‡¥]¶—bª*KÍLUünfÕF®«É¬¼›#W&‹¬ŠºîTS`™gƒ Á…ÒÛT–X$l‘Q%Ê¥"cš¨æèœ§kš×"t#“TD^&‚¦Ël«²­šº›Ç¨\Ôk£«{§Whº¢«žªåTTEEUÕê? µÓbš‡²¢–+=m­)]‡ÙK ‘ì“sª8qs´sYõ'¬'‹Íàg‚î É+#}£‘ë«ÚçÜ lš;§Uj¹×SèKM–ßkz¾™µ/‘[±$©ª–¡íoNÔtŽr¢j‰ÁNq.Ysƒ®6©m5¶‡Kn’T›Å%¶~j™ùe¼f/Û>ZWÛOg·|ž}¯iÚ¯f´±Û³ ·hš=žíù üþ„?Âá€ð@ø÷"û¸ ü?€ð@ø«ú„ÿðü-Z@ø«ú? ü?€ðŸ™à„?Âá€ð@ø ü(üSJÕ;œ¥fýdmÈæX™òxœi¼ÖrSu|]~è+ÿ}–l2muðaC•ʪWgr„?_²…á± Â,„?X,¹8 ò‚Ñï 7j#ü!ð"¿¾ŸŸÀkõ‰}¿-ºÝ²„mŸ²íçVOÕ­§ðš9¤Uºö¬A8üÕ®æµÍž¿½[85—ó {þïuåÂ/áo ð`þ@À`±À€ð,ÀÀdOyÓ§{³³löÝ?A«÷eÓþ5çbUþ®SS«ç½E?³ôñ±ÇRá Àüês¼Tþ*x| šw“g‹]>!˜{áxÁP  €ðX,ˆYý#ü  €ê_ø„?ÂPý#ü ݹ`V¯®³“5¼ûÙ»x«ææ‰Ðò[ÿm`Êj]Ÿû÷‹z-IáL³oóëдD]„?p2qû þ·×0Û>ªÿ^îÊÉû­úþÀ4Õÿ§á¨þþªáÌ\ý¼õãÝ>Á}—ð´úüËâÚ>@  ÿ×zøÅê»Ê?¥T½ÃYúhÙñ2¿ôq¾ŸÛ'¿·w÷úg/vë¾\Y¼•s¶ò=€`Žœ €ð°™,üþ`^ný¸¶@09{Á`ØWù  ˜£o×ôÜŠ—ãõ»ø~9„uýóýÞ@¿ý\Ôküd­ã–fþnµ”ÒÝל¿Ú£Ÿßú÷ÍÇ1FXš]Û‡ó÷U¹¾£4O)-×ëµäMÚö¨³8ä¯öè²›ß/¿ùâ-9·àÿyEÌW7‰SS§Íšö‰ù{Ûxyëö~ÿÎm«çÙ÷ÚÓf„¿¦5œ¿GBÿÉm< z €={þÐÓü-ùöšèoÕ±çtëQyY*¬…¾ðF8 ¨ð'³¢þ%á ü#ß¾ð8Q¥t»Âáð–\¿:·÷/üØv1À$çcTÿgA­^Á¸«ü^£†YúhÙñ2¿Ìá8Z='>á;B9ãÍ =‡s“wääQöü;©ümûSXw+_¼à ü*Ôä->á«êþ µªîþ@§Z|Âátº”®Òíõ  C>§Rj°Ý#üªÿÁíO8žêC^[óÍ<‚,ïxB¿ÜÓ°¸¼Ã÷Ð6göüL7§Í0ÌÁ·1÷xݠ¿ûàß;_º+,„?3‡ÿÞSs/üß þ#s¦«@ø%üijÚ|ϼL‘…‚áßü”¦@€{'œ= ð¸x„?˜‰wù„ÿP¼è ÿhg­Ù[=áØÁ³Øòþ*€îÃ?¥T½ÃúØ[ñ·x,-´zæ—ñòXú¯Wõ<þ.ìæëÌ.†àwÅo»þB`:á_ðüPê`Zlù¨ü…>€ðú ê§+¡¶}?@ Ê_èCåªáßcð }¨Ì16œ©·}?¨ú þ5ƒÿçǯg¹Ì¨úã­ÝSµœë÷‘RºûZ­åùžm’fnݦ»¶OÉË0o9¤”–ëõZiVYÑkÙhnÚöéæ t-×ö¿-?¶}‚´Ÿ[=U·~œZk¶|´:Í œ þê €ƒLüš=§×`>bÏá¨úþ€àGø‡ƒá¤êþ@°ª_ðOéò‰¹ôúœcÞ\Ž<?•+—*ˆ©ÕóÞ¢ŸYúøøc)üæWŸãÕüC^*ÿ•¿ê‹O¤æÝäÙâµ|§Þ øÃñ‚/ ø…? øþ€àGø‚á~u14ø…¾Êü¨üYCü¨üAð£ò&~¡ðÕ>Pí#üÕ>Âú@è#üO‡¾àGøƒÐá3†¾ÀGøƒ*„?|þ ðAøCA/ðþ ä…=¹»¤sJ©z‡³ôѲŸ%kõõE v¬Ìt<Î4^ëFÀì•?Âá€ð@ø üþ„?Âá€ð@ø üþ„?€ð@ø üþ†r1Ë'­tŸÖJim4v«©…Êÿ)¥êÎÒG³ÇòoúTGÚÎÅã­Ç‘OŽW޸ϹÐsR±Ÿ©æ—ã1ìx8Üèú¬a­p{Gowïï•8³X?0>0jåàÿx Ÿ-IZõ I…ß?Ì­úáÏôU¿­þ ü=ÝÖ™Å㪼U? üéV‰J=¼-@ø3@Õ/øAø¬ê/ü%^/س%ÓªþtYõ÷ü€ðgÅCðƒð'PÕ/øAø3hÅ~–àáÏ`Zúþ ~Ö øAø3`xGþu²~@øó‘À­âÏ“õD‡)?rå¿ø– Ï(׿·F0þŒ£3A Ùö¹êþªønïcï•Ë™ Â៪þ{þÓ ü©%¥ôòû©€þúL k}¶”ÒÝ×»–?xßrÅßÍîc6¿´ðíwØ´´Ñû0^'úyõ_ÉÇR©óËxÍ0^*ÿQ+MÓ4á?oð Ð4Møk=¿@Ó´Ò͵}òVOá€ð@ø üþ„?Âá€ð@ø üþ„?Âá üþ¦ñìW¬î¤IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/warmup_resistors_1.png0000644000175000017500000001417113634703632021016 00000000000000‰PNG  IHDRô uÜ ˆgAMA± üasRGB®Îé cHRMz&€„ú€èu0ê`:˜pœºQ<bKGDÿÿÿ ½§“ oFFsÍèü pHYsHHFÉk> vpAg“î|±ÉuDIDATxÚíÝ{xTÕ¹ÇñoB BBqm,ׂUS•ÊÁúŠ"ˆx¸Øêñ¨hE1áåp±Ї)-E¡¢Rµ¢”K •‹UB Á€Âäü‘ÁD’™ì™Ù³gfÏïóðǰg­y÷»fö;+{fö‚:> —Ž©©©a±Ÿ>wô9\¸ŒŒõO„FÆ‹G&\ŽA|÷3Ú·‘P¦â."bCQ>ÿ¾bcc+**‚½¡H#ãŽFÆŒ;¡82atVKçÜÍ .#.çO­ßUÛL¸ƒèœ»ˆˆ‚Š»ˆˆ ©¸‹ˆØŠ»ˆˆ ©¸‹ˆØŠ»ˆˆ ©¸‹ˆØŠ»ˆˆ ©¸‹ˆØŠ»ˆˆ ©¸‹ˆØŠ»ˆˆ ©¸‹ˆØŠ»ˆˆ ©¸‹ˆØŠ»ˆˆ ©¸‹ˆØ–Ù“w42îhdÜ Å‘ £…¬´Ìž¹áÂedÂeÉ4ëwÕö#.Ç ZfODDAÅ]DĆTÜEDlHÅ]DĆTÜEDlHÅ]DĆTÜEDlHÅ]DĆTÜEDlHÅ]DĆTÜEDlHÅ]DĆTÜEDl(&Ø;`Žªªœ>ÍñãìÙÃûï³eKåáÞÇÆ2|8н;­[Gi)û÷óé§å/¾ÈîÝÁÎV$ª–7ÐàôYŽŸdÏ×¼ÿO¶ðt4ÅÆ0¼'®¢{Z· ®1¥'Ù_Ä{ÿäõ]•EEÁNÕÖlRÜGÛ¶´mËM7‘•õM~>ãÇsêT=-ûôáå—¹ä’mLI!%…ž=O>ú(K—òøã”—;%‘ ‰kLÛ–´mÉM?'«ê›ü-Œÿ#§Î\جÏÏyy —´úÑÆ”RèÙ™‰·—,ÝÊãË(?ì|lÊnÅý¶Ûøê« 7FEO§N¤§3x0ÑÑŒMçÎôí˹s?j™žÎêÕÄÄlÝʲeìÞMEíÚÑ·/=Õ´iÕ}÷Ñ¡7ßLee°³ ¤ÛfòUÉ…£¢ˆ£“ƒô«|-ÑQŒîCç6ô}–sΚféW³:“˜F[÷°ì=vME%íZÒ÷J¼‘fM¸¯.âæ<*Ïß)1Ê&+1ºþÀëÙ³õ<´ìÑãÌ+¯”5oîž~ºÅâÅÍ~¸«ukç¶m%‰‰N`Ê”ùùÍ.èÛ¥KeAÁñäd'•Õ⥗ša/¡¸vLhˆ¨‘)œ}þhšÞúÀQGSû3¯Œ.kÞÄ <]Ðbñ{®#¢u¼sÛ¤’ĦN`Êk-òß­s(9* =žï²^kñÒ»v;”Í×L­uòCǪ*׿Nî•››TÝx×®mÏÉq=ÈŠnÃÝ?õö ©‘ —Uu¬OP#c¤cÕr׿N,÷î¤êÆ»fÖlÌâz„cÝvÌLO¨ÛÑš­é¨•˜‚àõ×]Ó„Ë.#>¾fû A®¿ûÛ¾ëÖQo_‘ÈôúÎóGÓÅÄǹ6ú¥ëÆï6¹íøÖîØºÅDv;çnDqqÍ[Z«V5æçÓ¨Àöínû–•Qo_‘ÈTü]­£©¹ëÓÑüÍ4ŠØþ¥ÛŽ'¾ªÛQL‰ÅÝáp}|SUűc5ÛçÏo¸oíÓ>Ç;‘`s$Ô:šNº6ΫáŽí[×|ŠzüdÃíÅ[‘xZ¦ÿï«oìÜéõÔ{Ü8×O?å»ï‚‰H°õ¿üüÑô•w³ïѽ\ßDþô ßiÚWܯ¼’Œ ×¹•… ½ë{Ûm÷ßﺗìLD‚íÊT2úœ?šÞö¢ã îŒèázWÈ[ì4l*RNËÄÇÓ¥ C†‘A³fNàí·ÉÏ÷âÆŒaþüÒèh€eËxõÕ`§$$ñqtiÃdô£Y'ðöäo1Ú}LæßKtÀ²÷xõã`çcSv+îûöj¶|9£Fátjܼ9ùùŒéúïïÏèÑ _ð@$Üí›m¨ÙòmŒZŒÓÀÑ<–üyë¿¿ßÊè%:”ÅnÅݳo¿eíZÖ¯o³vm¡Á.))lÙÂå—œ9•™Yµ`A°Ó ß–²öÖÿ³ÍÚm†Ž¦”¶LæòK*Î2umÂŒÕ'‚„Ù­¸×{ù~ý˜5 àÔ)Æ#%¥‰ÁG‹‰aÃWe?r„{îIÚ¸ñ˜Á¾"á®ÞËôKcÖH€SŒû#)m M1Øð„«²9Áí³8|²)¨¸ÝŠû¾}ìßáÆ]»4ˆë®£cGrs™7Ïè£=ðW_ pê½{sìXã`ç'b}…ì¯sáÆ]_3¨;×u¡£ƒÜ¡Ì{ÏÐC=Л« pê ½§±çklqݓߖ©ªâá‡]×ùÊÌ$-íŒÁŽ£F¹nLŸÎž=ÁNC$TUñðR×¥¾2û‘v‰¡£iÔM®Ó×°çë`ç"¢¸;w2w.@£FÌšUÒØØ¼[7×õ냀HÈØy˜¹E3kHIãF wéÖÎucý?‚½÷#RŠ;í:ÿ³Ÿ<ÙP—¶mIJ")‰;‚½÷"¡$ûU×éøŸ9ÎN¾³áöm%é!’bÇ¡`ïzĈ â^^NF†ëö¤I®I=++£´”ÒR£_š‰å§ÉXæº=é×'¥”¢ô¥§ }cRLAÅ((à7š4aÉ×eÂDÄÛyã3€&1,åºR˜„Žˆ{BÆŽåôé(àÚkÉÌl ±W—‰ GÆ KKKÒÒÒ†îUß±ÿÇé³QÀµÉìç©¥W׈SD\q?xyó«oçæÒ±c°wH$¨öîÝ›=xðàììì=^~'ì`1ó¶œ?š†ÒQ…;”Dù¼ÄLH9tȵ{¯^ílàËû11U6vî|øðøáÃ/r÷h¯V$L 8pРAkÖ¬åÙ?×î`ICGStÕ†ŒÂÎ><7ü¥ú&¯S%Œ²ò­c¸,™æsG-&gzGLZZZAAÁ#P‰*î""6¤â."bC*î""6¤â."bC*î""6¤â."bC*î""6¤â."bC*î""6¤â."bC*î""6¤â."bC*î""6¤â."bCQ>/ütÎ6βçË3£‹½{‹Š­¨¨ð:œÃY6»,q|bt‘EˆÞ'è3ßF&Ø{dRZ8ç /¿2±è„ׯ4ßFÆ‘àœ=¬,óO‰ÅßYñÚ®ç[‚> Å×LØ,dõ"w4f¦×ý|\l>?kÌ| œOÌŽÔbr¦w´÷Èä ãó™1óïµndæßËÎgް(Áù÷òY^cß ßeöÂö´LGJÂã <É— #Hx,`ÍŠâ©0‚ÄÌD‹”HÕ²ÝÄø?'Œ¸ŽTK^i©ÉŒ¸ŽŒ?µx 7Éñ…{l…u †ˆ°-î90‡˜½1üÆ>ÜdXD̾ÁdK¬Ž¸Ûª%R=|3ëÿÁί/ÚÌä;­ˆ8ùNmf÷7ÿüãú[n_QŒe †®08-s| ñ8ÚC1´ô¢·×.u€bHÂápÅÐ!À ÖŽè}‚:ù`zG»ŽLÓ&¾Èeãp8’šS¼vd:\DñB’šãp8Ú§P¼–͘`íp¾%¨Ó2ÖšÏB9`<ÈpSaà8̃©N°vD ”Hõ@o>ØÇŸdÞF¦Þ؈SïbÞFŽŸ8P̺OyìV‹ÂY“`èÃâÞÒ`a­-ÏÂXÐÉ»®ÐæÖÚ2úC×€%X7b@”HÓˆ È[[³eîú§Ñµ] "vmGÿ4æn¨Ùòì:Æö%>΢pN0¤„aqσl¨ý£Áfx$0á¦Âóp¢Ö–ð| 'ïu#4A‰Tw_Çþ"þþïš-'¾çùõœÛN½‹ç×sâûš-ÿú–Í_ðÈÍ… t‚!%ÜŠ{_pÀëlŸ™ÐÔìpW@/x¡Îö \€ÝE P‚©¢£x"g×^¸ý…·èÕ+~b~Ä+~B¯n¼ðÖ…Û§¯!³?M›X.p †š°*îQð?•uîú>€QfGÌ™p²Îö“0r£»ˆJP"ÕÀk(¯àí/.Ü~²‚™ëÈb~Äœ!Ì\ÇÉ:?ëùâ?|°Q7Y.p †š°*îƒxÕͽÓ`Äšîèþã“ûµ-„îp© zŽhz‚Á& $oMýw-ÜL÷\ÓÞÌp×´§{n®ÿÞi¯1a±1… D‚!(|Š{ äÂd¨rÓà3Ø÷™1òà´›{OCžÙ“wÏMOP"ÕÍ—ËšOê¿÷ôYòÖš<·ÍBÞZNŸ­ÿÞϲã÷õ²(\  AáSÜ Eð–Ç6¹ð˜òþß.ƒÅÛ,†Ë §I ‰hb‚Áž¼ƒëpV¹m°ø¯\v1=;›®gg.»˜ÅõÔ&÷5žH'¦‘EáÌM04ù^'êyaÕÝeÊnÆB64x%Š`?ü–ú1ráŒÇ6gÎ73å³~#MLЖ>õ‘¡jyÝmõ éÝ&ĺ¶#,ÿ›§6g*É- w(7O7!bîPr 8Sé©ÍGûÙ_Äo®géV+™› Ïú¼‡ÉÌ} ì€ ´Ì…Iàçûo¸–h¹ .…Þ~'h<¢) J›tϽA幚-{ŸK[Ó»›¿ázwãÒÖ,{¿á–¹LºƒFþÕ$ãáÌJ0d…Cq‡'áicß…Bæ_Ä\x¦¾ïäÔU Ï@®ß9hJ‚©ªÏE,y§á–•çxf5¹Cý˜;”gV7ü^¼»—ÂR†ý—EáÌJ0d…CqÏ€-ð¹áö¹ð”™Ý ­àÃí_VàÏO¨½èg‚Áž¼ƒ¹øþŒ¡Æ¯l£U<·^é{¸[¯¤U<¯l3Ú>÷5žH´¯gô¼ ç‚¡,ä+D+È„)ÞtÙå0ȧpQÙà4ÜÅ Ùãë9f"ú“ D°Ÿ¦pÛ/Xð¶ÑöÎ*²_%gQ>½¶£¢ÈBö«ž>¹½À¦Ï)?Í _ZÎÏC\À¿xQUex¤ë3‘‰å”/ø÷ïºMƒ\Xíþ{“î¤CXåe¯Uð¤ÃZ/;úÑ×ý|:\ly(„ƒú>»@‘统]Ké)/"®ú;O $ý*Ö~êõÞ¦_E“VýÝ»^Ó^#w(«?ÆÛ—ªoá|NÐÀsqØë!3•ïËìjç_5™ÉÌ_óë«Û\íeZ”l*‰Ÿ»©žßü¸]þªº×¬øØ^ÿR¨âÖŠòß–'ß’ì]µõ9¢Ç=(,,ô6µú¢*îmÂvǺ½dZálcG“ß®˜šâíÊv·þ¼â·ýÊo™\ï¡ìnd¢¢Ø4¾dÖ†ø»¼{‰Vwœñfü¦Ý^tô9\ƒ ºcÙS´oÒ¡d°ÜWûgbDï:†ë¿Çíu–‡ÂGžÎ®x ÁP/;úÑ}‚žz½ ÓÜÞið ÔAêíw=÷ªå†þed¢¢ø(‡¡=¼™¡=ø(ÇÓ4ÀCÄÁ×òá3Þõò'œçÝu|þnž÷ø E#¯³žwìs=w# n1Ü>²aŠ÷grªUÁÈöfDýŒèm‚ÀUÐføN"UUSV‘=Ø‹Ï9££ÈÌ”U>þÝ^ð1ñqÜbøÂ|~†ó!Á6-ùï˜õ†/á,cßâî„ée¸ýH8ýˆ¸ŽÁH«"z› 0 žïüÈQ"ÒÆ+g䯌¶ù+Ž•³q§áœUL_CÖ…ó!Áßàåw),õ=¢ì[Ü•Ðn0Ð2¦zY(ë•S}JmJDã  -,ñ;G‰HYaê]†.Óˆ©w‘õ¿Â­ü6-¹ÁÀ’8¦„ó*Á°˜¶cóâ~òŒÐ{à¼ãwÄwàÜcUDã ÆÀL˜hìwR"u¼³‡CG¹çú†[Þs=‡ŽòοÂs’·–,ß÷5%œW †Å´›wàÐ zxlӲ̘¶W«~(Ï+˜ÑH‚Àð-„ü\CBYÖ_ÈD˜6‰!k óhàïÓÉAN…3˜`¸LÛñç{îu?{p8E¿i™J˜Yp»û6Ânc®1âØ ‹–D4’` ˜ LJ0\žú°R÷ÊP!8¤ÕKi?x#/nrÛæÁÙý5ì3!\å9f¬#ëNnΊp4wÚÐçÝî3w`)¤ÁUnîƒI^þ¶AS`¸[ó×ôˆžž€·à3Ss”ˆ4e“î ®qý÷Æ5fÒLñöyî-ÝJÚ¥\õS‹Â5˜`MÛ‰ˆâ^Ϲ¿îØØŸxõˆ ù¶Ã«"zNðmø²k"}r€í_2¦Oý÷ŽéÃö/ùä€iá**yî ž¾Ó¢p &.gÛ«E@qò¡'\^g{s˜hö´½Ú˜Í­Šè.A`,‚ÿ G‰HSV11æu~Ú<–‰é&Ï£ü-ôìÌå—XÎC‚á5m'RŠû÷0žª³},lõæz“Æ}[a¬UÝ%¨_-‰Ù>ÿŠ­{Û÷Âícû²uŸer¸ïÏ0çMžhQ8 †×´½~Öÿ¶ÛŠŽñP]à‡Ÿ'À0ðEZ÷³+„Z±V‚5½Þ†Ñ^„ ôìÍêh¿Ë˜ÕÑšp]Ûqd MkF&¡)Gе]@"ÆÇQ´€.mkz4Ü VwlÓ’’E´iéEDß^3&>ƒ‘1sÊáx²Ö– xö,â^x2¬ŠX7AýjIcï7¼¹ƒŒ~5[2úñæö~på§yá-žL·(\½ ÚaÚNˆOÀýéØŠ¡=©©©$A1tð~v€bHÂápXñ|‚‡ƒØåõ×5?uG#sQ¼¤æ¤¦¦&5§x!. `Ä–Í(^Hû‡áj'èp8|˜¶£™»¥JaL`¬†/ñKX ¬ŠX;AýjIéË#¬þ˜ & `õÇ|y$€áJO±h3Ó- wA‚6™¶úp:&C mûµå(xÿ¶êË~¦ÂQ’¯O¶(b2”ü«d¾ñøÍww;«ù©™zÆ$™£‹¸é—íŽ."59à“ã)YÄW%[î‡oøE²Óv4s·Z ,¡dV +¬Z&å0¬àÄüE,%œxá„~µ$v¸„ã‡]ñ7—<\I9KÞaÎð2kÂýà¼áea:m÷}%¦0åLq–Ï+ÏŒ.²èÍép–Í.KŸhMDgгlNY„„F߸ÀÝz½¡ð¥‘©—#Á9gDyæŠø¢V¼¶SZ8ç /¿2ÑšpÕ ÎV6neâï#†âk& ήø×1\þÄö¹£N>˜ÞQ#ãŽÅ#.Ç :-#"" â."bC*î""6¤â."bC*î""6¤â."bC*î""6¤â."bC*î""6¤â."bC*î""6¤â."bC*î""6¤â."bC*î""6¤â."bC*î""6qËìšË_…Œ;w42î„âÈ„ÑBVZfÏÜpá22á²dšõ»jû‘ —c-³'"" â."bC*î""6¤â."bC*î""6¤â."bC*î""6¤â."bC*î""6¤â."bC*î""6¤â."bC*î""6¤â."bC*î""6¤â."bC*î""6åóB*""NÂh!+-³gn¸p™pY2Íú]µýÈ„Ë1ˆ–Ù‘@Pq±!wRq±!wúgŠÐâ²GI%tEXtdate:create2015-01-17T11:37:17+03:00¼RÏ%tEXtdate:modify2015-01-17T10:50:44+03:00cøkîIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/gparts-ss-companies.png0000644000175000017500000006264713634703632021060 00000000000000‰PNG  IHDRú®žìð£sBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœìw|EÿÇgï.—žB¨¡÷ž@&½K”QTTxì‚þPñ bA±€>*bÞ[èMZHïõö÷Ç&ÇånÛìí\6—ÏûåKnwg¾óÙ)ßùÎì„‹éDÞˆ…ð•­‚!`W 3ÉÀÞ­^ŒE׊Nè°ð°÷Ù‚âTm Ö‹L0<¦ÊVÀ ÏÃS€wï>^‹¹NTm'ùþ‡o­[»ÑÉìàËtP`º‚m´*Æ]ÝA ¢TΧºü>øƒßþ÷Œ*[ ª6†kذ¥úTùê“S j@•Fü ξMáy¾°°05%íôé³[6oËÉÉ•—õÁ·ÿ=]Å\µæ?ófÏyõ¿%%%Ž7ýýýg<5m៨Հªƒ¤wÆôç !V«52²V|·Øf>ýÞ‚ÒÒÒåÅ©tÛSy÷¹ò$7×.\ø'¾[ìÎ{oö¸£Û¥‹—sóòÜ‘\UJÒ€K+UŽp(F`8MËì¨ÃýŒñ1Ú¨ª¡+0ŽòLAk’þ3[{~éÒr²s>üèBȇ ß!„Ìxòy©`‚ìþýúôí×Û××÷С#ËX)xܥ·nÓrÔèá‘‘533³Ö¯Û¸g÷~BˆÉÄ >¤{Bœ¯¯õø±Sß·¢°°P>«Öožúð3“?zGP[Tò+¯Í\üÙÿ®_¿I‰‹Ý¿/‘R§Ní©>øúkoºõF{GFÓÇ8 dԞ̳g÷¾–-› ¿}lÊÖ-;^š9ç¥Ysn&'3‚”›ø3ž|^ø!L i³&ÿ}ãÝ×^}#$8xè°Aòáï»ÿž?~_ÿü³ÿ÷Á{‹5ŠnدAÃzo¿ùÞK3çºk˜b®\¹šš’Ö©S{û˜ØÎ—.^NN¾åLTòéSgš6kB©Q#ôî»ïòõõ%„4kÖôô©3* Ï#yî¾ÓýÌ̬ÀÀáæ¼ÿ¼Sv·ˆ¬ùå9ÿyÙØ1–L°Ÿú%;+›òÓŠÕ3žšöËêßd‡„¤¥¥·l¹¤[BÜÇ}žžžAùeõï³^~æÇ~VÌíŸë7=üС£Âåýz}÷í 'åE%Ÿ>u&¶kçÛwÇÆv..)îÒ¥ãîÝûš6or`ÿAüႪëÊ'Þ'¼‹Êp!!Á¹åŸê6nÒhÔ]Ã4¨gµZ‰ËÄÀŽL°ÔÔ4û`ùðK=dÈ€¡ÃåççÿüÓ/'ŽŸ"„Ô¨:û•í]tWéï¿Ïñ6[óMÿ>{®uë–¹¹y—.]rŠ%&™?{öï»ÇßE×åÛ¥?Ôo÷î}E/[ú£l±Ãã^Zs?¡Gü_gþ~Oyè¾U+ל>õW~~ŸŸß;ïÎ",""üÖ­áGVV¶|øË—®|öé—„¶m[Oœ4þåYs!™™YïÎ_˜™‘I›á?×oê? ïßgÏõëßgß›]dff½;ÿC'É………)©i»t,.*>yâô!Úwh{+%¥¨¨ˆV€·P­tPUQØÌcµúDÖŽìÖ­kç.ß¿°ì¦OqQqQQqDDøˆQCíóóó##kÞ¼Y¶^*!dôØ‚_|ÌØ‘‰É‹}pʤµk7ÜJNá o2™„›;wì¾÷Þq+–¯JKKŠª=hHÿÿ}±TM†;9|äЮq1AAA§NþU1ˤ\òÝ®’OükÌØQþÜÌóü‡ÆO½uËNìä°} }ôî´è]žç‹ŠŠRn¥ž:}æÍ7ÞÍ.?WçÛo3näÃádfdnܸ5&¦“pㆭ/Ì|Ú××÷ÉÇŸ• F9g¿àëk=|èèï¿­“{ìØÉ©L®U«æÍ›É_µL¸ùçúÍÞ9ã©i¡¡!7oÞZ·vƒúýº'öwhy•>ÇÌ·…ñÔ1há˜w0Û%&¿rÍö› ¿bºŠ©ñ¾!4ÜŠŒÛŽnWž¡¶æxúZÇÚ[$"]ÏÙo 1Z¥ Î1ãI5sw#1Ü ý+Ðgxå o!<¯—8-°~×ûp„#6ú$\ÒеÇflñZ‡ÁúxöŸO¹v`ºñ^ë"Õ¤>E$úi>[¿¯£‚úh°Þ 6çbŒœ6eÏ*–¹÷•¡VÏ]uQÖŽ¦•ié% öå'ãžN£“¾ìšÌ(ôj2<±(ISHÉ1£¢AåâS.ÇzjiŒュûù}n6wžù¶„jæŸÑë.±‹†£nbì=³¬×ˆª¸Ÿ‚mÓæ¦#k/-•ßU¾r°ï(èÐ"[ÏJíÚ‹h¨sÔ®hÆ{‹F|·‹OËÖQ¦+&ºUÁ[„¨„UP1ÇË[i™·Ò3Ú4–ެœnIIÉ«˜óDW‹Å¢©íЧ74(Űáìsqµ‰Ðy38êCèƒSÂþ8mæ#œ±‡PeX]Í"'¨ÍÃå™rÀ1Ü †¹ÇxE䑽£°_þ0Þ;ЕJÈž±vOký¶BºéýlB"8OôÜ»ïäǽ•žÑ¶];>/K6й¹yRÌs>?öÊÔö‹…Z'±C×o}(aîM`¼•Òx­³ú Ê@Ãê¤d9¹_€ÕÌÓMHY_JÉ0Hín³ kôÍ­JiúǬw_U}Ø~¯`´6£mÎPµHÇ釅ÈÛˆ<¡Q¯‚›÷ñ±ʘ*GÖë˜Ðzî;ÿï¡Ö‹Yµ2®ÉܳC÷.Xo0ê˜O·«Šût(«Çx“ÑíÛIñ›ÖiÛé¡·N²5ìe§N£šÁtEœÐ÷íþè"ãÝEèX4¤àÞÖe…YöÕÆWÖÍÒhƒm jéÚ2¬úÅim1 w0PooÖo'¨…çÍnõš•eÃ' ÈìëGÈ%åè.yž/(,9pâæÉó™WÒÍÙ$tÒ˜n«µ¤[ï¹_îú¿›iññ«‡rê[ý\Ë0[Œ6; Ð±÷1ޢʳ>5Òh. ©§ Å‡ ³Eå7„¼ãÏò 5Q –]â ´u,*)¶UÚ¥O‚±Kù¹zŒeW;‰Í<¼ð©®~eWÖ[˜}ý:´ët0ñ‚l1[ÿÐÉÛ§—7iزm³ð  ?“ÙdãIº%q½æ~½ëå«·ø5§ò׳îMéOɤ/ -°ö'°„õ îB":¯@lÎ+¯&õÞBæ«¥nò[ñÄ[fˆÏ5 5ÜÀZ¤&¢ÑN‘1Úž )r±šõJ5[<ówsǨڰÞ.DoÄÊx÷ ïþYK¥6Ûù‹—SÓÒÓ22sóòï`’ŧÒB¥ÅÏÜ85ây|”ò=°ñÄÃI>㻄…Ùgã9,~Â®ÔÆßHÎ?sp×#CýKŠK,fµ~ƒù ×<™¿Fó‡íxÂÏʸŽRjŒ'+¡%Ï'£®=Kô{+Átò=2†³¶¤ªº¥f¸zM{^u-¥„y-5Z/A1Ø+®Ü2’(Xn©`¾¸-!^8™GfUQѧW\\¼nóÎ1cÇ6mÜ$"¢¦Édºuëæõäë·%(äŒ'„ð<Ÿ“¿ípZƒŽ=‚CJyŽ·‘›)9’²n¦êÙ˜˜L×oäÞ¼vB¢àZ‹YõûpÿÍÉö ,/–íþN GƲ…vã8óÝ£>”aíÁâôí1Tª ™"ûíúl4—Aï’Òò.(åSEÐÛ­*Ì7µíOž0ÿÖ»‘u5¥ÕÆxkPì§±†[’¡†q¿Bôö^¹¼SOœ‚̰VË sŠfKAìñÓg‡Ѻe+kJê­’’âôô4×`òØlüÞ£7 ƒš4¨W³”çH)ýföéÄ]Å;Ö(Y»mdÇÖumúc|BQÃõÃÂj˜Íµ:ëpþ³œÖ ʨê.) вÅX‹šã0G¿Æ]å×ÄX/Éð¬ÿl¯±>`)‹Ä> –xÀH “î™…R¦ût³tô®!F•ÿ Þh»ÈwÉÜa[«eQŸr““›—’–ž‘™•‘•“‘•åãc½¯s—K—ÿ¹qãºÍÆÂÛl¶:õêRÉ,.)>õOfT‹Ž¥„³•’[©y%îi~£Eã:%%%k7\)¹vh|BAtÃúáa5èNæñè‚iå·TG+…6¶]¹*B(ÏL¡¯uLXî|tÈb4¤V_Ûb ËjM›QçJ):m9zzß̬ۖ§VL÷‚Å£ªÄ3þ´’±¾®öș̌'¿u­3¥Y }„z·Ú‡ÛËíÀLª‡D™rÊçî—SRZz%éú¹.gçä¶jݲ}§Ø¨¨¨Z5#“’.Ÿ?®¬^sÄf³9F”nßø^\Xt5ç[h`q)o2“’²jZ®unS7"",''7Ò|}\·¢èõÃk„šÍfÆ9ipBØ÷Gìÿ²<Û$Ôάµ«@}8-ìûxêàl]LÔ>/êýN”–µ‡ì}šTbWCU¦C3€wüɸ€<ñ‰ó±C…xºL/ß1¸&è|¹l T£TÆD“sŸ1ô5šùàA­þžø³6ô0¶XhO‰/;w_V‘”´Œsÿ\¾|õz½ºu{÷éQ³ 0?--íÔé“%Ňƒ‚‚k׎ÊËϳW#«ÕZ1IáöÅ%Å9| ¯¿o‰dç_¹ž9¡UHxD€ÿR›í±‘Aþaa¡fŠ-ûZ¡¶sŒåûk ¼èOY$½zhi¼ý’OÕ ù^h½!:çXLšÈ=ús/ebÈ)5bê*HwRN¬L•ô§B÷W¬¡ô*dH$¾‚Hºw¬ꪄÜk~ªU’ú(m޲¥QŽ5¬aÒÑ9÷Et±4¢\Õ¥M“JYá N‘yù—’®ûçR©­´eËVƒÛu°Z­éi7oÞH¾u+7'· ° ?/¯´”ïqGBAA¡Ðqçïç_A/ê””Ú1Û®gæ'g—ò&ÿ_«/!œ¿Ÿ_íÈH‹Ål2™o¦ÌúÖ?´Ac™øââÜ+'?šîkõñQÎÜ#â~ó©4$¦îfò‰x÷' ZÑÅ"/AÌ;^©õJ)q¯gÕ@ù-»™!±ô+£Ê÷Rè9êe:ÆKì×ôÖId’`ý1p¥|'›žJoMøšœú¨ =ôÑ1O†øà¾¢Ì¿÷¦” ã—nÂó¢\»i{T¨Ø®qõêÖ%„øX|n$߸pîŸ+W“êEEÖ ªxöÂÅÌŒÌ&MšeffšÕЬM¯`Ê9w%3Ûf6™-Ö€ ó×JZ7ã á-³Åb&„”––>“]¯sïõýg*Éçó¹¤üÜtk¨’¹¯RçŸêÐò7Óe &÷í‰èŒ;27g5a+„©¨íTU!7‹ÈÃ%\ÕðÌ*[éL“ð@`ïg1T )¹Š%¢PA×yh­—*Œ‘^™Öî) ×*cöû•iðˆ­o4‡,Ûe@A^âoÞL}xªÙâãëkÍÏÏ?yòÔ¡ÃÍ׬QƒØöw:~,Û¡u‹µ[v6hаMë¶yùyÅEE53³ÓÒPÖÖl2×òÍKNË !&³oß_©am’r›7 áÊ7‹ÿs­àDj€h?“Ňp¦¢¢ÒpÛ›-@Ñj¨^Ì?ù¦Ü_ÖLß]°=—Ö`çþ¸´>uÊQºt¨B·Ý ºW C âBcýã)­x-í’½;½ý`þÑ‘LgCõ½´Ð©¦9¦e¤U‹3éæ"ÚÁ†z¶âÌgáº`ÿTW‹õúõëÇŽýçŸ ë׉ïÔ.<,TxäÞÇÇçÎñÛ·omÖ¼EëVm¢¢ê¦Wü3[jrf6›E™“Ròük„šL&Ÿs6ßá×#g»¤fvh@wòŸÂÃ7jæÕébåÌfÞÆå¥å·¯Y`6«9ן!{φ;E_K–Yû55âÏ»Áƒ©ãñ1™Œk¦x Õ{æ˜I#ÁÜc4WˆÞ¸›9æÇã°aR[8Ì=Q”Á#8 oUc5›Ì}ÑÌ-]úUhppÝÚ5; ºÓd2I#„ôëárÒö­Ó22óòó¸ÿ¾ìœlÕ:«¥C‹“I' s"ü}ýÌ>–€–¼ÀΛ2¸u»K9“_p°C¿ `³ÕÂS^ ¾ñ[ëX“Õ¢üj¨«S¯ë­j”ëDô'†ˆ\ÉB¿¿“î°ojÆ:ÊÀqHÙ* ÷ Ô–)oβÒd·ÍuÂø5oÅ„ùPþ–Ë ¶ÕTÃÊ0ãá•ÖÔfÍŠ¤"—0Sï»Äø­W)Ón.âôL\Mަ~_}V’9޳H5½ºBl%ü–ÙKÕÛk±øD„‡vj”¹óÒi‹s¨Õäc6ûûø…û˜Ì>œÅb2ûpf‹Élá9sa6—vg·¨›a5",fùÖÍ|õ­R¾”‘ÏZO`´vÌß0} êÓ25œuí‘Ý—F[ïeýŠi#lýƒ¹QÆzeDÃp`¨àžð¥Q¾2-¦#ãù S÷§ ÖMBØ¿e*ts¾ñ¼EJS»™Îó¼ý|+§ß„îöü•ã8á’+ÈÉ)ÌÍQ‘zY&Ž èܪffΕS—}ø†1áVÇqœ‰pÇ™8“‰3™x›)/ƒäÝÙÆwWÛÆAþ&Qž÷²í4 Ä*ÓA£OÂ#›U ´`â C‡rJÁºÒp{óÏp¨ªý+`üM?«²qT›m+Ðô‚™.Km¹An¶|…ì°îy ûk™á0Þ_@ƒþ<6¥hÏ|@QÙ8äÒe†¦1?<ÏY$›ˆà×·ñg2™á8ÇqGL&SAA¡šúÂbõñ «qGÇbÿSN\HI˾3 2Ü/ÐâÀñ6®8ñy©9þI«:E$uhæãc%Ô§È*kB}èî•⌿“Ñ¢<ÇökiæZEëTŸ]žé)ç¬×Ü™·Ol`ï¯gˆ–¿Åiˆ xN Þå‡lÜ ÝÆ ©¯v#®*˜~–É©cËõƒõëÔ ŸùŸí¥…iñxUµšÒÜOË–ˆ|96[ù¿6ÞÆÛxqœNp¿ Ö~™Í/ÜÈ)(ÌÌÉoT§¦\îÙl¶üü‚ÔôŒë7RO_.¼ž˜mŽ.ñoLÌkáÕÒËõ‚³š×%QµÃ#ÂÂüýýʾ(Ð’iñÄaÜ:=‚v iÖS‡¿B¡«ÓËýfV)cï^Â:èÌ´Hõrtùãxº/⸧“áöâË+¤0è‘„êtµãªeßÎt1€…4H¥”H¥6 ýwQ«8ÙÒM 7§¡QÈh¦´.Ðn¨,Ðp"±»ž/7 L±ñ„ãLÄÄs6Ž7ñôÒ±W!ŸR¾«à´tÖ4òéº j¯ƒádˆª×ìlž2]¬f;§£ôŽ_ÆkVìe[é´èϸHO%õh\y _zï¾CcpüWV]ÆEÛ G8³‰3[}}­¾’âU'ÂË\U ¬U í‹<0¹öèü]9%#žßWY`Ýß±–/y¡*†îh’n€ÎÄ÷ _uqÙæØ§žPÂ8£\Da¾RZéë1NÒ ¦¦$Œwž0A(ñÀ:&ÓùTpž·(Ôy–3Yê¹µ¦õLÊÆòw+iã’6u‘²Ÿi2´ˆ*¤ß[äeý¾jÓ‘-æ_¢Rc¨›õ™*š’ ^vc½†NûU=CU!â7…‘V'ˆ?ãm”…ñäG—T嫸CÆ 2t¡é3ÀØ—ÎüãdÆ6¬Ìf$‹ð¹­^)Q¡á/,íˆCÖÑûÀ8Zï»áœú($/‚þ ÏlÂb„–ml·Ø±žN°öyÑ˦_á¦ÅX͘}yÆOhѰá‰é©n´[òÞ°.ª²ÞJ¦'S£Á†2Øßo ^B“tï {÷+©¾°Þ§¯ÚÙ¢ciC1ÜE‹®Š%>\6\¦ÙRÝòK 8 êæaò^ f-kúOÆ‚õ~*OìÛ Å`*1.#ÃU9â‰m‚LƒËD°P{¤áègEÌ›ã¯é7œÒÊg½¥•õ§½„hè1hàØÿ¥bjtÜ$v“Óÿ¼9ç U¤ZÚ0M3Ð’[Ží_OÖ²YÈ@Kô„Ô–¢€Þ³Ì¸/5ܾKÂz㸦W@ÓÊŒhl2oŒ¶Ã‹-ÆJ-Ed¤Õ))¼°™G'ŒuT…k÷so½›FÝ1¤æµÎP¹%„Ð× ìeg*Ûo€ét‚êwÀ|³[ñÞëï8½á06—™¿)ãŒf¼kÈ-S?ˆ& ¶ -Ū‹, ÜìŒØ•0Z–¦0¨T7<ïÍ®ôŽÂ ::/ÈSܯÕUÎèҸͲnퟚbŒw4qlj£‡RS’m6[e+ãQL&SDÍÈv»øùùW¶.0ÁrúÄÑ&Í[™0ÅìãSÙÊx”ÒââÃ÷œ>y¬sL|eë,É7¯w?áHQaAe+ãQÌfK§˜n‰{·U¶"°Âb³ÙÌŸêfëBJJŠ­¾~6›mï®-º•ÎŽãü !ùy¹UKsR Ó[óh„|A]à8. 0¨U›V«oeë@g,Â?Uz r“èFM- gÈ3x]áy¾¤¤$5åV~A^ÕÒÜ€T‡ÂôÖ<!_FÐAì9û׉vb*[!Ѓ` IDAT:c!„ž7æ ´ÌáyBHiII~^ne«BÕ×7,¢föÅ UNsR Ó[óh„|A]2råÒ…ÊV€þX!¼1ÿB{„<VµL…AÁ!„ðUNsR Ó[óh„|A]2R—yÀ‹6óðÕµ—çIÕœêð!USsR Ó[óh„|A]à«äF$ÊXHÙ^ž*?Vi ,ÓU1ë6žª©¹©…é­y4B¾Œ ƒ.ؼ D(óîWÓ½û‚w¿Êæ½êjn@ªCazk/#èˆ"|ª[%Ǫþƒ†n\ÿ‡["ʼrU/ï6b#USsR Ó[óh„|A]2Àû0‘2k_„Ë—¯¼öúÜÑã& 6òñéÿÞ¶}‡x¸JbúßÝQnïW½ÿ„q¹ÒÕðŽÿªCa2Ëã«o,ôÊ|VÚ§k¼”òs÷ ïôàêÕkϽ0ó_ÿº÷©O÷÷÷;þŠŸVöìÙÃã2‡g¹²ñÚ›½6óIF™j^%бx U˜Œª £Û¶}'!¤Oïž?öˆÕj%„ 2bú“ÓVü´2%%µ^½ºÿžþĵk׿ÿqùÍ›ÉÑ ¾ðüÓ5‚=÷ì¿›6i"ÜÿsíBˆÍfûêë¥k×o(ÈÏïÖ-þ™§¦ûûûB$ü|É—W¯^‹Ÿxï„!ƒ:çžç‰ØTgΛB8B¬¾Ö°!M7Lˆë௡|_ù‹U~/¾@GÍ=Ìœ7?~uæ´Át)^ùÂtLKƒp•ùrB1_´bóèëkmڸ᰽4Ô–JÜÇÂ"_z•maaÑ–ûÏü}!+;×jõ‰nP7>¦CãFõÕK–‚¶ÀU†2Àû(?wßÅÜ?|øèÔ‡¦ˆº…þ÷õÒÔÔ´ÿ-ùŒ'üüwßÿê›o§>ô`y¬#óßúoHHðªÕ¿¾<ûµ®±]Þzc®pùþ½¿à!ر'>[ô!äÝ÷>øú›oš2™2ûÕן˜öè˳^(..YúíwŸ~¾äÅçŸÂ=v|Á»oþ¼rõ{|´ðýw…û‚zßý°üìßç-|?00`ѧŸ/þâÓŸ˜Fyû3¦?×5=#cÙw? 4À)#¼ƒ'^yñqBHqqqjZæ‘ã}úåNS#4˜®tÙÁRE5—F¥RW¥Raº™®!|êJyÌÍËÿsó®5ë¶Ž=˜­&úÂ&_º”íŠÕëÃj„Üï¨à‚ü‚._ݶë@£èz’uQO}x¬€—b!„¤Þº™“™êô ++«¸ ûÖ ‘¿¹yó–—_|º¸ ›rϸ‘óÞ~ÿ®ae–ô¤ cHiAVzAÏî1ÿûzéÄ»ï²_~³tÙ­IB° cFÑÇþÆÛïÚŸòÆk³!™iÉ„Cî|êùÿ³‡Ÿx÷(¾8?;#¿Ïq˾ûÁ~_øñÇk_|v:_’Ÿ“™?jØÀ—^™wÏØ„‹Å|ùâ?µÂCÂÃjLš0ÚËNPh„|éøøøDÕ®9¸ö~¾Ö-;öÞŸbãù-Û÷>vº¨¨¸eóF#÷-µÙ>þ|Ù“üËÏÏWˆ˜_P¸hñwOLøö_f‡ÍfÛ¸uϱgl6¾gBL÷¸N¢¢¬VBȹ —7lÙš–Ø+!¦sÇ6.ª)ŒÌ¢š—””®Ý¸ãÔ_ç!m[5Ü¿§Åb–Òíõ·9»öË×ßZ4t`¯ÝûŽdç䆇…Ô;==sÇžƒ™Ù‘5ÃïÞ/²V„LÖ^kѰ½wî=”“Y3|ä°;£"k¾þÖ"á)·ÒÒ3²ÖoÚyñòÕÒR[ãèz£†õ ðw f×J*k¢ÉѦ#R ‰ÞU¸Ÿî{ö)*.nÛªÙ°A½Íæ2=ÞÙcï£ÙÙ9³_|ܱ´Õ—û&0Àpÿžï/úFªð‰D=±sýÆ­Vþ‘×9>¶ƒ”„’’’ßÖo;}æ¼ÕjíÞµãÆ­{ÊZ³† &_Ž…/ˆÓ¥l/^¾z÷]ƒ„Œø·mÕ¬m«f„¯–­ŠíÒ®]ëæB°Ì¬œ/–þôÄÃßz‰š–EÙ½ï°k’ª™vÜ/LU !„ã8Žsþ +AAAÙ995BC]ãdfe׎¬%D©Y++3Ë=88HøáëëëtYj³ÙƒEÖªižYýïs¾_¾êâå+………NZŠÊ~¤§g<ÿÒ»zöˆO=ùèª_ÿøù—ßüýï›8¾K§öN‚‰º¾œnvêÐúË¥? 7wî>xýFòÔÆùùú®Û¸sÃÖÝCôjݲéÁ#'â; á>Ù®Ms__«]ÔÖû“o¥M|·Õê³}W¢Œ(BÈêß6Ô»EÓèœÜü»;uhí¤žM؆D©ùæí{³³sž˜:‘ðä—?6mÙ±¯ŸîRº¹Š²_^¸˜ôÀÄQþ~~ûûnÅoÍ7¼ïž‘Âåšu[§L#“5BÈÅËWü×h??ß=Žü¶nëC÷ý´ÿ¼ýÉì¦ÙSùá§ß÷ï9vä€ÒRÛÖþÜ´ë®áý\ƒÙHeM49Í…)“è}Q…/]¹öè” „_ÿؼeÇþ~½» ÷¯^»9õqþ|E}Ô—>¦<ŒháÙzò÷ùK¿®Ý2|Pï–ÍËHؼ}_aaÑŒG'BÖ¬ÛjOmCPÊ—cáBô*Ûõ¢~[·µkLû¨È‹Åb¿G÷˜?7ïjÓ²©Ðÿlßu >¦ƒ0+PÓ²ˆD’iTà}”™ûÄÅÜoÛ¶Õ¾‡ èë'4$äVjZíÈZ„ä[)!!!·£;É‘¸´G¿•šZýƒE‹'Ý3®C‡¶þþþùO{JY,ÇBjÔ3û۰Nz6iÒèÙ§ç 9zìÄâ/¾éòÁÛNÊf iÎ+®7m6[^~póà‘#‡ô.-.Ì-.ŒéØâ‡•viÛªYÃ_×mkÙ´ÉÄÙl|âá㣇õ ÿ?rüô]Cû”ævíÔJF!Äd2%'ß ò·ú÷ˆkïªaqQ‘ÍŸ<;zxߢ‚.fÂØÑöèNr¤.[µhþÂK¯ÆÇÅŒ3J¸ÿèÃ,ý~Å{ ? «1|ÈÀ=ûÅ ?F òëïëæ½õ^zzFÝ:Q£GîÇvéôÞ‡ŸÞLN®õ䣹æQ˜ˆL\nž:ûOƒzQÂÍÿ»Gõ t¶:µk±ïЉM=ñwŸ;bœæ$þÙ9¹NŸÌJ‰ª1|POBÈÅ+×7mßßä_£\5Ô¤¹_vN^hH!$;'ÇßÏOF7“‰+-µ fGAaQ1ûr¼”ÊšLtÇûë7ï¾£[§èúu¬VŸ¢ââϾZ)ŸºTÖµ•¿ïzS*!õ ؃åäæø+ë©æ¾;fúÔ Nw¤ _´žBÆŽè·ò·Í~~Ö.ZÉKð÷ËÎÍ .Ë>Qª-žÉ—«½ÊÖNxXHï„.Ÿ]–b“Fõ÷<±çÀñÉ©ýûÄÓºKD«b T™Þ‡°£TÄ»O©_¯î³ÿ~Üõ¾¯¯õ±‡'?öðd§û?|³XååÈaƒGs>(£kLç®1í—ƒö“—cÿÁqÜ]#†Þ5b¨“ÀÝâzt‹sÕßs¿¤¤4=#ëôÙþ¾påîQý…›íÛ4Û²3±wB—à ÀôŒ¬‡Oî—@‰nPgçÞ#ÇNóñ±DÖ wÕºE£m»õïçãã³ïà‰^Ý;ˈZ·iw\—v¡¡A!¼wÕÐd2iмEÓ†Û÷Ð;޲}ÏáÍÊèV3<ìðñ3]:´*(,Ú¾çQa€:^JeM*¼¯Õš‘™V£Ì”,))µ˜-‹%+;wÏcRÁì÷¥²¦¨­šÂtD*!©û® ïØ{¤ï8BÈŽ=‡[4‹Öfî;‰u¿Â8"Uø¢õ„0nd¿•¿mæy>¶S -š5ܵ÷轺 å@”j‹gòåX¯²ýyÍæm›Õ«éïç›››ðØ_Qµ#ìÁºvn»nÓî~½â,æÛÔª4÷E«bP™Þ‡àÝ'.ŽoÆx89 „ñÎÕëOùðó!>>–Рèúu&Žàï'<êÚ©MâÑÓ«~Û’“—V#8®s;»„Ní[nÞqà®!}e ¿»Å´ß±÷Èw?­ã ‰ïREJTÓFõß°33+;,4dÐÝE5Ô yB׎[w%~ýÃï„æM$Äv”Ñ­¯¸ Û÷í?t"( ¦Sës®P­áÈ”’hø.[ý°j}qqÉ¿¹—Ò¿wü޽‡ß°3(Ð?¦Cë³ç/‹³G—Êš¢¶ò÷]oJ%$ußUázQµ–­X[T\ܼIÄØ*—°ä‹Ë ãzSªðEë‰ !( `Üðþ?ÿ¶‰·ñq]ÚIIHˆí¸iÇþÿ}÷«ÕǧS»—®\g×ÔçË)°^eÓî艳›w$øG×Úÿ{0gªܦE×¾BñR´ )6•à}pïÿwÖ„ûËÉùÖ&=üã·K<–œ A!?.ý4,<\9¨Á ÎÎÎujZFÈ­•U1@íÀ„rï~õìêï~œêaƒ×P Ó[óh„|A]ð‚,ÅBÊöòTÇŽ^˜äTÅ©g„= ÞBu(LoÍ£òet¡zŽP°BxNä æêÏñ¤jre•*¨¹©…é­y4B¾Œ ƒ.xÁŒ€(«µ¸ Ïl±T¶&•@qA!$9ùfe+BMUÔÙ°T‡ÂôÖ<!_FÐA„Œ¬]óse+@L&SÍZµ;tîj).*òõ (,È«l•*‡‰“§U¶ èL^NÖÙ3'O?\úŽTÛyðbÌKt£¦Ó‡NA×QBv,v\+š *–ß+š3+¯ºìTƹo¬h%¸¨%j–?SPCåœÐÕWx³òS5»1pÛ”SŽÌË\I#gÍ+,D;åQ­M¡hêÈÕ+ï>o#„Ü8u"=é’Z*F¾v*¡º‰÷U›š²HÇã¸kB¨È 7ë²'©‚•ܦ²jކjãQUuï+ª¤¥ ¹mîÛOIOºÔ K,g6ËsSÙ‡ íN9m…%¥àº{U9“BE U¨¤¡Iiñk鵨 ”VQn½a5ž1J‰îE¦‰.¿.$*žö, ˽‚T«¬xà½+[ Òº]B¨ÜÚʲ(Z…Ÿ+8ÈÐŽèòŠŽK;º 4ZEÑ9”ÅSVLƒ^5U«oŠb¥TÜdâ~U£üÚ€T^1b:ì‰E·•–&J¬Ýº !dÿž]wôîg丙‡çám6b2Ó|é¤ð]VEek«ÒìPÕ «ªõú ëóœL@±J½GˆÓZ˜†é„ÌæþŠ(Í+ˆªÅ@ºÙ…ò’"ï|C:º좔vdØ×RØs¢¼„M /›žbd• ˆm˜¹­€´xÚÒTÚÒªßKæ¨L&-?|TÆGÓLNõ‹ÕÃÌ-G|_¨ã-võMÆE¯[¢Ò‚Øu˜’)ÔßðÒM$5F‹ªz¤®Ýð.»z´TR—(®·ºÁEm^2ˆ„MÈËÑeþ¦ Dù+ % œÉÌÛl¢›ó¼û|iù›.®_±-ÖPã@vÁÑ%%]~òSç ÒA9É'òHÙLλÄ!¥ŠÂTM6Tͨìwe%Êf–ΧEó>ESxª“šV‰ïq”UÜ$“žþ¾‡Ûªë¤CÃÛ_Ý0ÀÌ·ÿÏxZÉíàÒŠ˜$BÉí,WŸÅØN)Y<¬›½ŽæƒiÄàÔ¡x"£§f]T,[Hï²r´áZÈnØO4”ö¸¨¢”1ÅÏÝ×ǹ zÞ&k4*/ZV˜¹øpÝhYœ*_°xaQ® Iq[¸º2Å»„S(—ÄmœxE]ŽPªü‘~[fì’œpZ'`bŒÌÔEV¼ÍMkSQwùo…\B¸‰Šõ¥2EèiM:ªTÆ@F0”v$!„º2©m/Ú”G…ŠÊK¶ŒÃæþ>ÛŠj¨r²¸eFÓ¬›J†_ÉÐe‘Ä5iÑR*Å(¥…×jpk×DÉòæ ÑÞÔ¿4Í >Š8~ªëü#9%õ;Î]¼\XT\·v­;ïˆïض¥>ÉVDÇ¥Ëg^y»U³ÆLºÛÑŸþÌ«o/˜ó‚J sUjITx‡_ú|%êº FÑ8Åšà5*r[…µé†ÿUQ€¦É¢Ââ‚´LÙ Ž›ß–èn{j,µ áÔ×ýŒ’Š8åBݺ´2pè÷Ú›Û(ƒö¢n(u'ßÔëÓîITÚ¸ U´n¡¤*n2/úS?DÇWUÎÍòÐîª%îzRvHÑûÎÝlãªn1=-.ÏË&U)©éÿï‡A}ÆhµZ¯ÝHÞ¼kǶ-<¡¨{øûíÜðŽø.o«}Kúo›Të§[&CÍßW’¶*Uõ,¼DJ ÓçRÓ¾jãlÆV^Ø0Lg¡º=h’®ÑRMR#•ªªÎ‘QæFÑC cÔmýµ*¦MÈ…é>”ù`Ü”’Ò}jA-LòoU;Y•µtûo5(ɧ¸ äY!NŸêBx¾ìǺ-»îì×=¦£ð´Aݨî)<*))Y¹vÓÑ“g!Ú¶=äN‹ÅByvÎü±ÃúoÙu 3;§VxظáRÒÒ7îØ—ž‘YóÞÑCëDÖ‚ ïßkëžÄ¢¢âNm[Ž6Àb1BRÓ3Y·ùÜÅË¥¥¶fÞ{× À€r±6ïÜ—•Ys¨Áõ¢"?þß ];un×JP/=3ëÃ%Ë^|r !dÌÐþ.YÖ¼qtdÍp§ÜÉ&¡¬¹ÍƯݲsÿ¡ã…EEm[6?r ¯Õª÷{¢FÏoÈdQ—1®Ó‡5ëÝ*¦Xšw É Ó/ ¦à„±ùO;\iÂEUzªŠ­n<ÝŸè»5€‰ÇSêúåöB«>‚Ý”%÷·inÒ!„ ¬Í_Zèµ1–þ@/ìf¼â{÷ !_¸4b`ÑGk7ïÌÊÎ5ýažïWý±vË®z Î^¸ôă÷øûíØ{hñ²Ÿ[5k<íñÂåŠ5ëg<ô/!ØùKIÏO›Lùá—uë¶îÞ¿!ä‹ïWŽÒï¾q#Jm¥ë¶ìþeý–Vþâ•éMô÷õݺ'qÅš?Ÿš:©¯n¿¬ÛÒ©mKÁøÛ°mOÏn1~¾¾„?ßqÃ|·êéS&šÍöGÊ$¡FóM;÷&]»ñô£÷ùûù®Z»ù· ÛÇë¯ö 0D'«BOùtÜJÕM%Õ¬,éó ê¨Ö^Z£Ùf£x7F™µ¹ô~Õ´~éÔ%TÓÒÕ“Ûæ~Ò•‹„¢¢Â›7®Bróós³2òs2]ã$;yïˆþ¹Ù„ž]Ûÿ¸fS\ûæÂ£>q ó² ó²[6®ûÇæ¢^]ÛÙ/×mÝ)H&„ÜÓVˆ~GLÛÖlêÚ®!ä1ƒ!i©É„ØvÍ>[¶Ú¾W×v¹Y¹¤MÓú¶ï¾yãZ@«‰#[wíiÓ¬Qzfö©³ç¾g„þækA~æ:µÂVþ¾¾W\Ùê„ðH& 5šïN<2~h_á~\‡_­øãŽ˜6ú½ ªªÍ}o eµJQ­L6C8;¦¨¨P°ç¸mîÛGnᇿ¯o~aaP€¿kœÜ¼‚°Ð`!XXHpn~¾=n€¿ŸðÃêcqº´Ùx{0{ôѯ޸µuïᛩéÅÅ%N*ùûùºÊéÓnëÞÃmš5Ú•x<¾s!E{¬^ñ¾]µ¾it½úQµì7e’P£yNnÞ’s,ŠjeSä*UýÁ¬Žiº\+î&£§šÚþª‘éU™úZùxÖ–Õù°O,aé@%oæaûÍGÁÌ QÓTÔÜ'„èúQg.\Žm/rO`€_fvNXh0!$3;'ÀßÏ.Ù) ©K{ô¬œœ@áþ/vޙХIú¾VŸÂ¢â÷¾X./¶Eãú;ݶïÈÕ›·†õëîØb6 ï—°jýŽÆ²ß¤MÂé2(Àÿ¾1ƒV‡© IDAT‚\ˤ2ÑÉž‘"Ý­I$§”ô3MYq/ÿ ±Ý,\5g‡©JBo£‘NžGLVº?\¨*ÅóG|[U–’ÞõLZM¢b'È髈vù®1Õ6K¹4%>Š£"£n¯󛪃‚¹_^[8áGÏ®—­þÓb6·jíc±$§¦ï=|rô ^„ÖÍmÜupXßî„»Û4käPӜҿܴûÐÐ>Ý!›vlÓ¼,zqI‰Ål±˜-Y¹Ûö®]\NB—ö¿lØ1¤O7³Éìú´fXÎm›oØ‘h¿©* ¡˜¸Š‡"s&BHç¶-×mÛ?àŽ®!ÁA©é™»5°§Ln¨>?¤8‡ÆpÓçˉÞUBªoPwYš¤)ÀÒ¬Êó¬“nº/,°S¡*àMy1 U×ÐpªŒ3¢J¼® \жbË`U$'ZÒF­¬8‰lò’¹ñ‘¦7Q<H0=Ö|¨¦."wiÌ'ÕTÓ) 'ZœŽÞ}‡„„Õ¾wTÿmûŽlÝ{¸¸¤$2",¾s[áQïøNîØÿé²_!­š5ì߉ÒÚ'õëÔZòãoÅÅ%­š5ìß‘3q„aw&lÚ•¸r}npP@|§6§Ï]îBì?œ.Íf.¼FHÇÖÍLwíØúÇ5›!œÉDvgM»W®ßß¹íés—¸òoyMfÇ 1™L®— ±í÷:ñý¯³só"ÂBzÄv4™LâmI䮨-Ѫ(&Q­kAÜÀUÛ´¤%ˆU’RˆäŸ•£NQÇu¹‚ÑÚ¥¸È¤ÓJùü }V~Ô ¡ØpD[^•bK3N´šÏ*ãL?öPí}Q](6ÀèP«ä?pI€²Ë¢‹T†¢>’mgÍÑÙíâó]j¦J!!â¥CQ`¢ÑÅÝ.wy©³?—TÄTÔ\vâ?㪬v<;ñù¹÷ÿ;kâäi…y÷í „¤=ܬ¹+A]¹p„7>úú¥'¢"]‡ +~ÛÔ¦E“v-kÐO‡Ãõ¼E=÷]h2ÅT;žÝékÄf&nŒ#sG¾˜º…ê? ñD2U§¯-m·*š*Þ°òüBY†‘ ]4ÁÖ|OÂæïûT úm½Q¨*âËÑ´±DS$™Q™ÒCNkÍKÔ+ŠAT²fªôg¹UµÕ{ÐÅÐn*hߨ¦&·š‚¨9¡UdLÖ¦ŽªXŠôŸcdý}6¼cgBÈõk×îèݯFxÍ‚ü¼ßYáèÝ7 Kg–’¢<²qÎ?E£˜8—pö+¥µ?ÁçyþÈɳi™Ùm[4Qžœˆ>w¼©éÏHyl«±:‹Âef"Rk\ÿl»KEñÞ8ßRiO«µ.U®Hˆ¯„ˆÄ•øÛôâ  KTçô/}Lõšh™¥ËŽËnزtw7ansëa%bb …>~/ÆSM=s ¢ÜIIÞÜ¡XR¸-Qƒ9);ŠKxµP.J¥­ÍI…æDîJ™õª=O®ù”]6‘ɋ⚈àÇwŽ*Ú»«r|ŠåRTV…`MDM5”s]QìS*s[9ñ7H_ —©yŽw6Ÿ”Þˆh-”ɦÔB¨ÛÜv³p1KìOÓMÅÎNå8—ít/(Æ ÍÀ$„}õ©‡+\Kvª²¯^{zªã¥s‘R-CÐÛètÐ ¯¨ ­*nªîÐ8âÔo¨ô+MU”‡ª–I‡ššZ±ÉO{í¡¤Hh£æžXŸ­Ò…©jP”VDuùJ¤œñH¼™ýŽ´ÓnZª”Åíe³F·7ýhÝ"Uñ¨?¥»-P­ m«?.f®8®NÞñ¡\º.¦¶‹hµî•ŠÁl¼KëWlúe3NÁóóV,EÈ+e/í¶eÊ‹…C¬ÞÒ6"Åu —4\KDÞ0Ó®Žë,I4Îíi„¤Õ-¦“S>8ñF ØY¹<+îûáxž·Ùg2q²æ¾`ÝÔªyî¬Ê¯ èìXÊYŽNè—L%ÿ•gvT ?¨†Ä”› C]Ø¡õ§ΔnwUÿ£ Z¡VPX7 [×y EäŠÏhJ[Á[ê¸æAu’BÁÈ=V_¦Jï®Â•S•­1ÕI6¦ö¨2©*6¹gªs&¿O§bHÕAe5pŠ'òg¶‚ÊÚ|ÅœdH§l’[‘5€dlNçɆک¯Þ^W)™"•e¯Rj}TÖ²TŸ-¹ÀN¥*µ±Äõ®œn\….ÊȽGõÖ²ó¾0¹ÓrøŠÕSítJ»eïܰåJ•Ƭ—/+µÕUÄq[1¶DÔWW×$e|²ódù~@¡!R¹œk˜Óc'=ED«¸¥¶½¹¢jÚ£ÑÅ«êžØŠ#†k±šÈ9^È 5þqb‘®MÎ+4sÕ¦ªl‘óNryyçÆm±öÞ¢<¼Üf —g¼ÃU…lŠluïB‹'’r¥E³ZRÔꚸ¶—’v oªX<¢õ­¢â5Içø.åW©X©9û¿¼Ã•ý³Z©îìvàÛe,/õŒw.q{¨ ªBëí½DC±‹ uÕ!ǹ„”™¸Œ:rG09M+*Ö…´¢$‰W!ïÜ@ !çžF¶oQ´Ë¹mîÿsþœT @¢m‡áÇmsÿ±§_©$ez’tñŒðÃS§ó<Ì}¼˜ûx-0÷ðZ`îàµÀÜÀk±H=ˆ‰‰±ÿމ‰yæ™gêÕ«ç­: iîB==ýûï¿á…–-[æ)Å™‡ã¸ððð©S§^¸pA¸STTôŸÿü§W¯^½zõš;wnQQ‘pßqAÀñ2&&fÙ²eC‡.úé§áÇÇÇÇOœ8ñÌ™²?°k×®ñãÇÇÇÇ>|õêÕzå€j‹ª½ûééé_|ñEûöí…Ë?þ8%%eõêÕ«V­ºqãÆ¢E‹%œ8qbÙ²e‰‰‰ÂåÁƒ¿üòË­[·öíÛwÞ¼yÂÍW^yåÑGݱcÇ’%KŽ?®);€ÛÈmæqôÖ‡„„,Y²Dø½~ýúÏ?ÿ<<<œòüóÏ?öØcO=õ”|2Ï<óLXX˜ýrÖ¬Y!!!„ûî»oñâÅÂM__ß”””ôôô¨¨¨Ù³gkÊà6rÞýƒålÙ²eâĉï¼óŽp?55µ~ýúÂïúõ맦¦*&S«V-ÇKÁÖ'„øùù•–– ¿ßyç½{÷Þ{ï½#GŽÜ¾};mNN¨ÚÌòÀ=zT¸Œˆˆ¸zõªð;))IpóBÌfsAAð;33“V•¶mÛ¾÷Þ{›6mzñÅçÎKà„*s?''géÒ¥5.8þü´´´´´´ùóç4H¸ß¢E‹¥K—$''¿ñÆ´ª¼ôÒK.\())áyÞîòhFÕÞ}ÿN:½ùæ›ÂåO<ñÖ[o5Š2`À€Ç\¸?{öì9sæ,^¼822ròäÉ7n¤R¥wïÞÏ=÷\RRR£FàÝÀ}¸÷ÿ;kâäi…yõµ¬le:tñLA~Þ↓Pµ™P¹€×s¯æ>^ Ì}¼˜ûx-0÷ðZ`îàµÀÜÀk¹€×s¯æ¾8111•­îR…Í}XäÈ#gîŸ?~ÆŒ={öìÙ³çŒ3Î;góä“Oò<ï^ÔþÎÉÉ™?þˆ#âââúöíûì³Ïîß¿_Õ<¨‹Á  IsÿÊ•+=öXïÞ½×­[·nݺ޽{O›6íÊ•+ö¡¡¡Ë—/WL`æÌ™%%%Ÿ~úéÞ½{W®\9xðà%K–è£;@Isÿ³Ï>›4iÒØ±cÇŽ;iÒ¤Ï?ÿÜ`æÌ™?þøãÅ‹åHLLœ1cF½zõL&SXXØ€ìBl6ÛÂ… û÷ïŸ0kÖ¬¼¼<á~LLÌO?ý4räÈnݺ?þÈ‘#kÖ¬=zt||üĉí‹ vWzIIÉ‚ úõë×§OŸo¿ýV¸YTTôŸÿü§W¯^½zõš;wnQQ‘£ðáÇ ÒΜ9cÿÚk¯õèÑcÀ€ß|ó]'‡½L¢Â£˜˜{–-[6tèÐØØXùÒÀ$Íý}ûö 2ÄñÎ!CöíÛg¿ ~ùå—gÏž]RR"“@ÇŽçÍ›wìØ±ÂÂB§G_~ùåéÓ§—-[¶qãF__ß>øÀ1õÅ‹oݺuðàÁÓ§Oß¹sç§Ÿ~ºmÛ¶þýûÏ;×IÎgŸ}vþüùï¾ûnÍš57oÞn~üñÇ)))«W¯^µjÕ7-ZdðàÁ/¿ürëÖ­}ûö7ožpó“O>IOO_³fÍ?üpàÀ™I%*l.:xð }—‘Œ'NœX¶lYbb¢bBhçýÿÎJ¾~ùÊ?ñ‰-))q¼SRRÒµkWáw—.]„ï¿ÿþÂ… n:’••õá‡Þ}÷Ýݺu:tè;3™™)<6lØÅ‹…ß)))ýû÷·ËÉÈÈ~ççç;]ºê0dÈ»;ƒ ºté’ðûâÅ‹ƒ¶Ç²+à(mðàÁ—/_¶‡· wÊ”|¢NetHNNv-+táÊ?ý}êÐûÿ%éݯQ£FjjªãÔÔÔ5j8{üñÇ÷îÝ{äÈ)9ÁÁÁÓ§O_¾|ùîÝ»?þøãüüü™3g ’““ÇŒ#ì~8p`zzº=Vhh¨ðÃÏÏÏé²´´Ô)‰[·nÕ¯_ßéfjjªýfýúõóâ*-%%¥^½zöðRÙ‘OT½µjÕRL7‘4÷ãââÖ®]ëxgíÚµqqqNÁ|||^ýõ¹sçÚwÞKÁq\£FžþùC‡ wjÖ¬¹víÚƒåhÞÙR«V­¤¤$§›W¯^~'%%…‡‡Ë ©Y³¦=¼ý!Äl6¿333åuSôEÒÜä‘G–.]úóÏ?çæææææ®\¹réÒ¥S§Nu Ù¤I“qãÆ½õÖ[Rr6lØššj³ÙnÞ¼¹páÂöíÛ Æ7oÞ¼¤¤¤ÒÒÒsçÎÍš5K[†þöÛoß¼y3;;ûÝwßn8pþüùiiiiiióçÏ4h¼Aƒ-X° ===--Í.„Ò¢E‹¥K—$''¿ñÆò‰_ºtɆVôEÒÜŽŽþä“O¶nÝ:hРAƒmÞ¼yÑ¢EÑÑÑ¢'L˜à´óÇÎÔ©Sׯ_?nܸøøø|0??ÿÍ7ßMž<¹S§N=öXBBÂK/½Ô·o_myxä‘G7n|Ï=÷Œ92**J¸ùÄODDDŒ5jÔ¨QµjÕzüñÇå…<þøã!!!Æ ›0a‚ãi<³gÏÞ²eK¯^½¦L™ÒµkWùDï»ï¾I“&Ù£ÓꀾpïÿwÖÄÉÓ òê7jYÙÊt é♂ü¼ßY!÷WuU˜ûx-0÷ðZ`îàµÀÜÀk¹€×s¯æ>^ Ì}¼˜ûx-0÷ðZô7÷cbbt— Ѐs=UsÿÒ¥K,**rºŸ=a„¬¬¬ƒzD·ÛäääÌŸ?Ĉqqq}ûö}öÙg÷ïßïa¨rˆ˜ûÑÑÑ;wþõ×_îÿüóÏíÚµ ñˆb˜9sfIIɧŸ~ºwïÞ•+W>>~øðá«W¯¶þé§Ÿ†?qâÄ3gÎ7¯^½úôÓO÷ìÙ³{÷îÓ§OOKK#„<üðÃëׯ·G¼qãÆ AƒrrrœôILLœ1cF½zõL&SXXØ€>ÿüsáQLLÌ×_=`À€=zÌ™3Ǿ(³lÙ²¡C‡ÆÆÆJ¥N),,|õÕW{ôè1`À€¯¿þÚž5§ KöK›Í¶páÂþýû'$$Ìš5+//OM)P)ˆ›û­ZµªW¯ÞæÍ›íwÖ¯_ß¶mÛèèhÇ`¯¼òÊ£>ºcÇŽ%K–?~Ü~ÿàÁƒ_~ùåÖ­[ûöí;oÞ<áæSO=5qâÄ7nذ!::zÁ‚„‡zhñâÅöyÅâÅ‹ï½÷Þ   '}:vì8oÞ¼cÇŽºj{èСüqÍš5iiiŸ~ú©ýþ‰'–-[–˜˜(•:!dÑ¢E999¿ýöÛòåË9¢X^_~ùåéÓ§—-[¶qãF__ß>ø@1 •…䧺S¦Lùæ›oì—K—.¹wï^BH÷îÝþüóOBÈåË—÷ìÙsÏ=÷¸*3þü¨¨¨¹sçöéÓgذaóçÏÏÊʲ?}î¹çÂÃÃÃÃß}öÙuëÖÙï?óÌ3aaa2©BþüóO!XXXØ3Ï<£X^«W¯~ñÅk×®0}útÇFÃ"õ &&Æd2%&&ÆÆÆîÙ³'44´mÛ¶NaÞyç%K–|öÙgAAAÏ=÷\¯^½„ûöýý~~~¥¥¥Âï£G~øá‡gΜÉÏÏ'„p'ÜŸ2eʇ~8pàÀÏ>ûìþûï÷óó#›g„Ï‚ƒƒƒ§OŸ>}útžç/]º´téÒ™3g.Z´HS¯^=û””»zµjÕ²ÿ–J=%%¥N:Âïºuë*–Wrrò˜1cì—v9IsŸòàƒ~ýõ×±±±¢®}BHÛ¶mß{ï=žçwïÞ=gÎÁI/ÅÌ™3Ÿ~úé„„„ÀÀÀ¼¼<ûÜ wïÞŸ|òÉÂ… ;öÚk¯ 7¥ÿá8®Q£FÏ?ÿ|Ÿ>}ì7¯^½Ú ABȵk×"""¨Rˆˆ¸~ýº0a¸víš=¼Ùl.((æ™™™öû5kÖüꫯ"##er €A;w¿W¯^7oÞüý÷ßÓÓÓ\¼ôÒK.\())áyÞîÅ—¢  ÀjµZ­Ök×®Í;×~Ÿã¸‡zè›o¾y衇|||Dã>òÈ#6lHMMµÙl7oÞ\¸paûöííO,Xžžžžžþî»ï<˜*õAƒ-X° #####þ¡ŸÒ¢E‹¥K—$''¿ñÆöûãÆ›7o^RRRiié¹sçfÍš%Ÿk*9sŸã¸É“'Ï™3G8Ǖ޽{?÷Üs=zôøðÃmhQ^}õÕ ôèÑã‘G騱c%L¦† Ž1B*îÔ©Sׯ_?nܸøøø|0??ÿÍ7ß´?íÔ©Óøñã‡:mÚ4ªÔ§M›0tèлᄏ}ûöKÙrÇìÙ³·lÙÒ«W¯)S¦tíÚÕ~òäÉ:uzì±Ç^z饾}ûÊç€J„{ÿ¿³&NžVXW¿QËÊRâ™gž8p ”c^ž˜˜½þì×Å‹g̘áú¨Z$]^ Ì}¼˜ûx-0÷ðZ`îàµÀÜÀk¹€×s¯æ>^ Ì}¼˜ûx-0÷ðZ`îàµÀÜÀk¹€×s¯æ>^ Ì}¼˜ûx-0÷ðZ`îàµÀÜÀk¹€×s¯æ>^ Ì}¼˜ûx-0÷ðZ`îàµÀÜÀk¹€×s¯æ>^ Ì}¼˜ûx-0÷ðZ`îƒÿoÇÞQŠ(Šâõ A|~ {±pþ­…E@´ˆ D°­D,/N"ج5‚SnYr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr2ã,IDAT²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹YËãï÷çxY>vÛCöcÎ9ÆXÖ³‹×íËÕõÍž~(˜s¾ïÞÖóË£çÍÃÓæñûësÎyèUÀŒ1NN×Û»ûf‘pl£pIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/gparts-ss-documentation.png0000644000175000017500000006306013634703632021741 00000000000000‰PNG  IHDRú®žìð£sBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœìw TÅõÇÏÜÝ·¯¿Çé½÷*Š ‚H±`‹Ñ˜b7M¢‰1&úK1ͨ±G1ö^¤( Uº¢€¢‚J½—;¿?îî¾ÝÛçîξû–ïÇä±{ïÌ™3s§œ93w–5œéHxK«à ä•“&¤ÃêÅdt­èT@Œ ‡½// uã³^Ìgê€ïQZZ€,‚œÃS@zï>iKàøNSœä}ÿúëÂwßKq¢€(x3KH]Áö[•Gã>ÖA ¦´Ì«º>|?øþýíg7ÞÚÒZкñ]Ã@.ÇN•?vr ÌA hÕ˜Äyÿ#"Îy]]ÝÑ#Å;vì\¶ôƒÊÊ*{Y÷?ð·ŸÝàÎbn‰Zó‡?Ýq×ïïnllŒ½˜}ãM×>pÿ#n5 õ`éÝ¿ñ†[ˆ( uèpܸñ£oýõÍ÷þóÁââ{q.ÝöBÞ}YAJpM`×®ÝãÆ^µjmìÅ“&ÿæë=UÕÕ‰Hn-h%éÃ¥•V#†bþyZfGö9ègüßFU]”— Z“õÏlq"¢úºú}{¿Ý·÷ÛšêÚ™³Î|æéˆ¨]û¶sçžÝ§o¯@ ðÅίžyæÅÊŠÊ=øw"ú×'¢z‹U0MöÔ)§ž6erffææÍ½üâëšÇÝ*ü€ýÎ>wV‡íËÊÊ-|oíšõD¤(læ¬&ŽÍÌ }²uû Ï¿RWWgŸÕ%‹–þðÇ—®^õaô0¢@ pò)ü×cÄé_þ]SÛTòïîüõã=µÿA";nôúu‰èøã;^yõþïο$ôRÈ1^דJø TÈ´ÕÿøíùMÿ€’q{2ÏÚ5ëúõë£}¾úš/_¶ò7¿¾ë7·ÝuðСóΛMÿÆŸÞ¢}° ¦Ñ«wÏ»ÿ|Ï¿ÿsA~þY3§Û‡¿ì/˜¿è–_üöþ{îÞ½›vqÚ´)]ºvþÛ_îýͯïjhh8ûœ™ŽYØ»÷Û£GЇ½2jôˆo¾ÞsèÐáØ`¦’wlÿ¼WïžDÔ¦Mᜓ™™ID½{÷Ú±ýs—@ê±¢}(/¯°¿ç›½=ú"4hÀ%—^xûmwQYYù=ÿx ¬´L4˽?õŒÓ¾Øù唩§.Y¼Ô ¬¬üžüK'¹®®îÈÑâ#‡5Ô7lûtÇŒg :èð‘#õõõ¢ Ò…cê@w­‡Í<¡PF‡ŽÆ3bä°{þñ@øbFFC}C}}C»vmgŸ}V4pMMM‡í o…· FDçέùÅÏ›;gã†ÍöbôãKß}wÉáCG8qEQ´‹«V®ùÞ÷Îåå7Š‹K:uê8}ÆÔ§ž|ÆM†·nÝ6kÎYcÆŽÊËËÛ¾í³ø,SDòFÉÛ·}vÞܳ—,^Ê9ß°aó…»|Ù*ìäÈ} €ä`éÝðá{8çõõõGݾãó¿üùžŠÈ¹:Ï>ûÒyçϹ¢íåe¥eï½·|Ô¨áÚõ÷–,¿õ×7gffþôº_Ø#¢¯¾Ü}û·ff†¶lþxþ; íÅnݺíÊ«~xÜqí<ôôŸÓ..^´ôŒi§ßxÓµ……^øî÷y^²xée?¸X;eȈ•äÛ?›=gƦ[ˆhÓÆ-çͳcÞÓ@~ÓðlÈ -­€ÖŠýQß8ÿD±êW=÷¨&Þý‡ù§M„ë¯ý¹·”Z›|µÞL@˃qè6“Þ¯²!áÝ$¼» H Ø6Z5©ö’ᘴ ÐU䃞¤!ATlÉÈ.ßcÇÇ1`Ö=€ nÏÝ^aò-þc¤m§ $€V¯nà,ÏÝ­©ïØ©ÇNNpl¡´´Y°…ó^jiRrNÉÛÉ ¶»Ú‡{±#ÁÍMr3áÃ"G¸VˆŠoÕûѼþüÖ ü¦OËLæYþLLƒxËqÁKvy:¼s#VDŸ€Ç(â–šBºpq¼X¿‚ x«Úòð2ò*ÜeTé%ê·¾7½»¿²œL¿™)•Ô«ÍñäTkAd²žä‹Äñ"_¬·vŸÿI’aÁ}f°x^ñ›sÉFŸ }Ò~龚cÈ%#<—nÙ ºq™‡8¾r?xBĉ(<}öŸ‚1¹oðË^<nžYÄ·á2¢x–±ùÝ„t÷¾pÒ‡Wï ¸­Ö¾¥¯È_ü`)ñwyŽåˆø²¤¨|ñV< éHïˆÌSMê¹ûÒ›¾¯4O´Þ39Ãâŧ­þ¡ÉÂ¥ø"½µnù‚ìžÎoSÌ->JAòÙŸƒ¥Ï:w¿õ[> $#ßµ×ê; ÙØôCANd—?©Kîâî¹Ëô$ÝÇd9ï²AúîE‰â)üÄü´J$»Ò™©“|ŸJ”Hn-_ ŸcŠï”Ãg»¢ÅEËvª‰—¨Ï4Í—ë÷õbT?Ö»Ïæ\’±Ó&|/¾Ì=¸¯|µznÔÅY;‘V楗ðÙ›Ÿ’{ºäûuúÊwhJ_ HV“át’æRlFMƒÚÅ\ŽMÕÒ˜þ;+éç÷%ØÜ¹ôm ǘƲ»<É.&ÜÄä{fe¯µr?…(Þ¦7ÒMGÙ^>QZ¾/jy ìßQˆáEv2+µ±ñPç„]Ñ’÷9Œø Ÿ—­£RWL’vTjÿ ‹ŸHì×ÃÅe‡KJöêfÙ9ÝÆÆÆß?´á®ëǃAOmG,¸¸™àA)‰ý ‹ÎÅÝ&"æÍ`Â'†ˆDþqÚÒG8¡ÎÈ~»5šE:„ÍßåYpÀñÝFºÇE”’½£È_þðß3H*-=ížö‚üm…bÓñÙ„EpNÉÜ»¯óã.)4x0¯.·â@UUõ®#»þ½õwW ƒÂ:™uI}×GéÞÉ[)ý×:½A9xX´,§Ä ðót…ûRñH¾ÁGªxÇw›md“Üܺ”–ÜáXöî«ÖÜ÷üÖf¼­Ñùª%qú${‘“ˆzqrT•gdëlÌ‚ëêëò;t6qÀŸ\õÛŸ ®•1jds-ŠØ³½iÀ¯c¾Ø¬VîÓ¬Lò&JÚ»;–â}6­ó¶Ó#ÙZèd{ØË.œÆ1†ÔqïÛ=üè¢äÝE)èX<¤ØÖe‡eöÕÆWÙÍÒoƒŸh aéÞ2ìúÁym1w0ooNÞNÐ çŽf·{ÍÂÙÈÈÉ df}ãÝp“s^[׸áÓƒÛ¾*Û[¨ ÂKÏ …ÇOþãVÿöG½½øøÝ#8õ=ö\Ë)0[ü6;ÐÉ÷IÞ¢ÊeŸé7GüÔSˆ’ŠCåâòBû1òÅMTŸe—R¡‘·ŽÅG%%·J§ £âIHv J?W/…±ü‚äjg±™‡k¯ê&¯ì½E 3kèàá›6nvmfëoÞvàƒ-%ù=»öÔ»mA^^–PTNǟЮqì)|zõí—÷poñ{2N}ä¯—Ý›ŠŸ’)^@^íO‰ìܵD’<.€Ùœ×^Má½…ÒWK, ç§’Š§,žkj$@"µÈMD¿"ã·= Rðåbµì•j¹¤æws$ÇhÝÈÞ.$nÄÚx÷‰'~ÖR“ª~õõž£Å%Å¥eUÕ5?¸üÒŒ`F$m·SUuÙº½›ÕcÄI=»uàŒ©œTbM*5qâ uìÔ¦¦ÿ˜»þ½ú÷WõuiñK7NýxŸ ü,Oú­ð“©ãáÇæÄK4qwzwÀ—{Ä-[FÖ…Ì-Ò·-Äk'óج*:úô.]uÞܹ½zôl×®½¢(‡Üh³‡œq"âœWTÖ|°¥¸Ë°“ò rš8ã*R\RZV^Z^YZ^ž‘ºlÄÈoöì>p`¿ªr"®ªêñO’ÙÐØ°}wY§¾Ãšˆ©Mtøhõg×l{ oãß]²·ñ»ÍN¬íÖõĶEmÄNæIé‚iË·ÔX+A†6¶]D•¸Ð>ʳTÄkT'V"/Ê …Õ÷¶X"³Z‹fT?B9E-ÇTï{Û’¥õÔ΂ŰyT—¤à@`Iß÷Bò×ÛÕ)9“Yò¤Ñâs’HèLiC ï¶q»àÐl±4–R=,Ê”9Ÿ»¡±©iï¾ý_îÞSQYÕ@¿!ÃGwêÔé¸örss÷íÛóÕW_†ë5#UUc#Ún|o¨«ÿ¶4c|anCW´{_yûàw#žÐ®]QeeU‡ÀþóÇ×wërbÛ6…@@ò/§K N$¿?’ÿËòr“p;³ö®‚ðáH¢Èïã…ƒËu1 û¼„÷; ZÖ)²÷ERpIT W™Ž -ûQr¥â?éc‡ ñbX\~lpOˆùrå¨G©’Ä“s_2â5Zúà!„¨þ©øYq$[,¢˜§ÄÃçîÛ*r¤¸ôËÝ{ö|»¿ó 'L>õ´víÚ×ÖÕoß±­±aK^^~ÇŽªkª£Õ( Å'b)xðÀ¡Ã‡«*«jëjkª«›šøI“&ÖÖÖic,;+;N/ê46©DJ}ƒº¿¬æPYCW²³s2C™D,;+«c‡Á`@Q‹ko{6»°Kb oh¨Ú»íÁ2CÒ¥{Do>-†ÅÔÝà Á>‘Ô“ø„Á+Iq‡ØK0óŽ·h½rJ\ÄëÙ:p~Ê fÈ,ä•QË{)’9áe:ÉKò×ô$ÖKl’ý2p‹¼g›žKoM˜¼M.|ÔF2ôIbž|ñÂ}¼Òß÷”Ä7݂Ĺiß}E§ã;3¶ó 'QF0ãÀ¡»¾Ü½÷Û};uh_T˜Ÿw|A^îÎ]_—•–õìÙ»¬¬TÓì¸ÅUã9Jå—{Ë*Ô€†rò¾ú®q@oNăÁ@0 ¢¦¦¦-ŸWt1¹Í‰YÄ”Æ^ÃöÕT•„ Ì}—*è?ºÃËKÜR”=x˜·K\$’d‘)¹9» &^7Ú¹ªB QŠK¸µ‘šU.¹Ò¥&‘‚: ßÏâ«rr[DB¬/JÑZ¯P?=2¯/Ü :b¾»ŒåïW!%¶¾ß²r—m¹ÅoÞ\yÅ•`Fff¨¦¦fÛ¶í›·l 0Ö»{—ÑCN}Yv耾ï.[Õ¥K×U×T7Ô×·k×¾¬¢$& gmJà¸ÌêCÅ59E¤2ó²>;Z4p_UŸ®,²Y|÷wµŸ=>§[–Ì ¦Ô×7µU÷ªjŽ£#ÔW;½¤¿ò->$$¾†m[¼»{.­ÏÎý1´>wÊ ºt„BSÂnФW _ âZý‚ŽÿŠTT¼—v)ß.J²ýqHé(¦³¯ú^QÄ‹ÔÓ32rŒêÅ™.us‘è`#<[IÁŽ é³ð¤}Uׄ`Fhÿþý[·~¼{÷®®'?nøà¶E…Ú­Øð§Ÿ4nÅŠå½ûôÐ`§N'”ÄÿÌ–›œîûŽTg·)T%#'PÁ‡¾ýÑΑGˆöÊ!bÛv×m9оúøñ¹!p•U× i_ä»9×_">{ξ;EßK–eû5ý5âøÏ»!Ÿ©“ò1YŒk©¤ Õ§æ˜I?!Ýã7WH²I4sÒÇõaöp¤{¢ƒ;FÐo­c5›kæ¾iæžyæ¿…ùù'tl?tú銢X#¢¼œœ)'Ûµgߊåï—–U×Ô\þƒË**+\ë@¡àоÛöm««l—™Èæ´ VçŽx¿”-\ÓÄ”Œ¬üüì®YyùP“R]JùÞ0ZÉpõ“êU“½UMpHüÄ“o¶ˆïï{ò›š¿Ž2H~œ ¶Jß=·eÊ£ÁeöCžì¿¹N$?fÿ­˜HÎïré[M=¬ K^Eí@oÖ¬I*v Kõ¾[ŒßÉ*eÑÍE,™‰›ãÉñ Õ•dÆXЪyL;e©œ‘ÊUÓ01’¨g·{v;QûVSY¶ó‹íÚg›½4,rlo0˜Ñ®máðîe«¾ÙÌ( )@vFVÛ %Á‚A%ÁA%ä,PWÁjv®ßé`Q›vÁ@†}ë–¾úÖ"oÊØˆ—­*ðÛN;éOX<†ðŒHj™úκNÉîK¿­÷Ê~Ä¢|¶þ!Ýè=2ò0ø*x*|i‚Ì‹é(y¾"ÕýéŸuD$ÿ) ‘4ççA+M£f:ç ù é¯áU#ñG ù~Ye«¶ÜVàéK]–ôÛrƒlùÙ‘=Üsû{™áHÞ_ B ~[Ptj^ hibri˜¡yÌç,hÙD4¿¾Ê9W5+ŸóÈ7ÍPçœgĈ… }¦( c cŒ1R¥¶¶ÎM}aD¡ŒŒ¶Em& kÈÞ¾ëÓ]GŠ+NÏéÐ6+7˜‘øÊª©¾žW­ÌÞ÷Æðvû†öÎm[T”‘"áSd5C¼ƒ‘T÷†¸ä÷d¼(Ïä¾--ý§U¼NõååY|ñPp~ {Í]z«IŦùþz‰xù-N_d uJpÃ'ä¸!ºÁS_@\WH}-S>VÇ–'Ùo¬ 7|é?Û+ŠÔâI®jµ¥Ù«Ï=aj ðªùWå*W¹J±3bšû]³öÃ6¿v¡²¶®¬²¦ûñíírsMUÕššÚ£%¥ûݱ§nEnE [cv Cuß4íéœ_ÞçêÔ±m»¢¢ìì¬ð^2í1ž9’[gªqÐÎB!Ïz&áW(’êôJ¼™µÈÅK8 :K-Òä9Iùq¼¤/â$¦“ïöâÛ+ä0$# ×ézǨ€`ß.u1€È!O'R9%Ò¢"ù»¨]œl™ ¾›Óˆ(ä7S:)ˆ¿nè,а Yì®çBa¤rbL!…3•q…s®ý Gc,lò+ŒE|ûÄædµÉÍv_pŠ¢äädƒÜœìãÚWTTTÖÖ~Vßð …22²²²òó òórsB¡ÿÑõ˜¼ÙÜóÙ>d?éÅlv(à ó¦á´cKÉ›x¹§4IйdÕ/½S3ÉnI—ôY~B:I~'ˆ(ÙfTâx˜J­F)èV’¬Âû4|w8Rò—¬Lî'9×Üô£[$<½²½~³q’ß—&,0Y­zFŒóð^EáœS€EÍüX#ž1"b‘}ü‘üDV3‰˜xúÛŒ2B…Á‚ÜÜìúömÕ&•ˆ”€ CÁ`0CQ˜û¥tfóÍOäytÄÜÚâÃ}p<¡Tœ3äÉQ,<ê$PL.²‚}ã2Ú8õ]5JwõÔ«—ÑÓ)ÿÜ}!Ä2¶w!_P’ßU0/µˆ|±®BØëà»rõ˜õæ©ÔÅj¹s:ñG îø•¼f%ÿhP¹•΋þ’ÕùTVÆ-×ð­÷îÇ4†Ø÷qm¥‰eÜ´Ý0b…B™™¡LKñ®á6ßZÙ*ˆöE)˜\§tþÏï‹ÃEd÷w²å[~q#éx’îƒÎ$†Ä _wqåæ8§ž"9¿\DDÒWJ[|=F'ÝgúxJÂg` ‘ D¬cJXç<èPçeÎd…çÖžÖ3#øËßí¤!má"•?Ó”þD1U(yO‘Ûú}ݦc[ ÒßDÆW¶ì3U<%!¼ì&{ ] ù«z¾ªB”7…ŸV'(ƒŸÿ¶ Ú"yò“”Tí«ùMÉ 2b¡Å3 Ù—.ýådÉ6¬Íf¤ öºm²RÂÃ/,øíˆCÙøÑû 9Qï»ïœÉQÈ^„ø ©Ù„% /Û*än±“=íó—-¾Â-Š¿š±ü"J’7žˆâaÓÔSÝD·ä9<ᤨ*{+‰|¤ž ,ŒÊg¿ß ¼„féÞ×öî·P}‘½ Îiµ³Å þÒ†ˆ|7D‰’Ô Å/.û.Ór9ÖòK>“æaJ_|f-{ú'!{?U*ömˆâ3•$—‘瘟b› Ôà6‚ž0k˜ø¬Hzó‘üV£ø†SQù²·´Ê~µ—ÈC!“ÿKÅÂ$qgÙE–üóæô)øªH½´a‘fà%·Lî¯'{Ù,ä£%z"ŸÚRˆ{–%÷¥¾ÛwI²7Ž{z"­ÌƦôñÆo;¼äâa¬ôRD~Z °’µÍ[ °–Ì+,LŠ, ìüØð[–ý¦ð¨k¤Þ›ÝâEtti©$^«[Ñåq›Epị=Åøöù§ Lmmͧo>z䪪-­KëFQ”ví; 62++»¥uH>Á–Vxaǧ÷ì3་~ÈÈhi]Z7M [6­Ý±mëˆQãZZ€äs¿Urèàþ9çÿ€Õ×Õ¶´.­›@ 8|Ôø~ÐÒŠH!X__÷Ùö­ÕU•I=.¼ÀËÎÉ%¢šêªÖ•wƘªª`lýÄillef©ªúáêe­«¸§õVu{ü/?èc9¹yý …2[ZI&¸sÇ'Š¢tëÞ+ 2_žC+ÎyccãÑ#‡kj«[WÞ5ÍKŠ‹)É?èt¬Óºª{ZoU·W IDATÇùòƒI!š‘Ÿ}:x訖V@’ VVVtíÖ³©±±¦ºª¥•I)¡ÌÌ¢ví+¾ÞÕêòÊÌ$"âÜŸç·>8'¢VW ÜÓz«º=~È—tH ZFö~³«¥|‚œó@ Ъ*oÔÕÖæåñºÖ¶%¦®¶–ˆ¸?׬¢b««îi½UÝ?äË:$-#X0€´$HDœ£†#gD­Øh曓§V\ \ÑÊ«º%~È—tH ¼UnDàLˆHMƒ¡Ê*'j­¿:Ç9öî'‡p)¦wY¶æªn‡òå’‚šy`Bø ÎcÙplµyÇÞýdÁ©WÒ5~È—tL ‘z¬º÷UR©õ®ÂûO4uúYï-Z¨”°s6 ³uWukü/?è´ŒH?""5üâç1÷?mtkq5<üˆ72uúYS§ŸuÆ™3çœ{þÕ×ýôñ'Ÿ*--5 ç?¦N?ËC°% ç'!íH¦óÿ¤Uõßÿù´Ì—ou-pð°ö MiÅ›yîü˃wþú§‰Ë‘š÷d)iŠ©CqñÂwˆ¨¶¶vß·ß.^üþÕ×ýô¾þ½cÇŽ’tH".ý£’ܨ¾j’ª¤<¶xѵ¸)ÖA4-?”€$HD*7ßÌsähÉÒ~ýÍwõ kwÒø‘û÷J¹†–üþ××'hù©Ü|þ®¿ýÌ»‹–ÔÖÔŒ?îç7Ý­E¿ñ§×½ôò«G‹‹»uíúË_ü¬WÏžÓfÌ&¢igÎ""-•ý<òèãoÝÚØØ4|ØÐ[~qs›6…Æ`Q­¬²fšœi‰YUƒ(¿ÿõõâ‰îúËC":VQ±öUˆ23C½zt9íõ¼÷±ÈÈW²Ê¶®®~ÙÊõŸ±«¼¢*ÊèÖå„q£†öè~¢{ÉVˆ¸ËðZF¤A""³]àÅ%eO?ÿæ)'ž5ýÔP(ãÀÁ#kÖ4 ŸÁTjÕp" ××ï~u544-.ûè“ÏýÏK?ºô¼6…ù)VÐn¡¹îâ™Óϸñ¦_jŸzú™£G‹Ÿzâ1Nü÷Ü÷ßÿ={åO~DDÏ<ûÜ7ßìyøÁû³²³ž}î…¨¨è×-[>úÇ_ï.(ÈãÍ·o¿ãÎ1£GþõÏÔ¾Þwÿƒ÷ýóïDôü‹/ïü⡸/77çáGÿýø“OÝpýµZô·~òÏ{þš—›ûÚëoÞ{ÿƒÜwÏ¢oO?k΢oGS¹ã÷ÿwýµWß~Û­ Ï<ûü£ÿ~âW·üÜ,úÁ*k¦ÉKÒ˜Y ­˜–†{|áSwªêUÕ5‹—®ž·pù…çž)W“ä"'_I)ÛWÞ\TÔ¦àß;»  ¿¶¦v÷žo?X½¡{·Î’“¢žûðX€4EÛÌcÒÍ/_µþ¤ñ#F¬}í|BÇ Î™®}nllz÷½•Û?û’ˆõï}æÔ“ƒÁýß_>kÚ)kÖ}TQYÕ¶¨pæôÉ%%e+×n*-«èоí9³¦t8®lê©Ö®ÿ¨¾¡aPÿÞ3§ODTRZ¾èýU_ïù¶©IíÑ­óÙ3§äædkágN›¼êÃÍ•UÚ·3óôNÚk×µ]å|ÙŠu[¶î¨¯oè×§ûì3O …2ˆèË]{–,[s´¸4?/÷”‰£F hÈ¥Ãø–‘‘Ñ©cû3;NÊÊ -[¹îÜYSM“kRÕ‡þýÜO¯ú~VV¦±¦¶îáÇŸ¿þÊKþvÿ“a%Uõ½åk·~ú¹ªò“'Žš0vxbšÓÑÃ+ËŽ¯>°/ö«ÚÔT^^®]\ºtÙí¿º¹¡¶‚ˆ.>Οþvß93Ï ¢E‹—üæÖ›xcMMEÍÜ9gF%èDE¿^zÑyÔT[^R{ò„QO=ýÌ%œýú¿gžÓ‚-Xðî¯~qo¬©,«9{æ´ßüîOÏ­E¿ä‚³yCMEiÍ©“Æ>÷ü‹¦ÉýùÎÛˆ¨¬øÍžqúM·üÖ^+«¬Ù$%¯°±­°ªü¦×ÿ﯑öW«V•ÿÿþúð´ÓOúpÃÇ•wüêºhÝ6­üF±‰WõÜœì3§ž|ßÃÿ#ë–hZ‡£ì?pøÅ×L;bÜè¡VßYôÁŽÏ¿ …BÆ {oùZÙMØM¾b _—”²ýzÏ·œ3]ËHNNö þ½õïMDÿ}îÑ#ÐG VV^ùä3¯^Å%½ï 7ý'­Y·ÅX…¬jf”Ä @+EÛÌÃîŸÝßì;ãÔ‰¦n¡¥+>¬¨¨¼þÊKˆÓ[ Þ_¶rÝÔS'h·v}½ïòKÎÎÎÊZ·iëó¯¼Ó»G×Ë.ž£}·pù/=O öÍÞï®þñEDôö‚¥ËV®Ÿ2y<½øêü3§žÚ6qÜ-ü¦-Ûì“™ŠŠZ¾rý¡ÃÅWþð‚P(cÅê jNDŒ1ÆL~Gw±¬¬—–•G¯ÛˆŠ~ÍÏÏÓ>dffê¾6©ª¬¤¤ô–ßÜeªm^^®1¼.¹/¾ÜõÂËo|½go]].º©VVY³IN'ÁM5 ëÊozýŽ[¯ýÃß¹ãÖkcE™V~"úö»ƒW^~~NN6¯–ÆÊo›œª cÕMë°勯¾yûÝe³¦Oî×§‡„¥+ÖÕÕÕßxõ¥D4oárJMvÊWláQ²Ê¶KçNï,\>fÔNÚƒÁèõIF-^ºz`¿^ZÅ[±zøQCµYA"ý§M·,”éGˆJŽ©¬¬Ðݨ©©­«­n¨¯1ÆùdÛÎsgV_[MDF~cÁòQCûj·&ÚÔPWÙPׯç‰ËV¬›8vHôë«Ö—‡½ÑãG Ò¢=øÍùËFéCD{U”—ÑÈ!}ž~ñhø c76ÔV6ÔèÝuåšÑëÚ‡M}:gÆä¦†ºª†ºQÃú¾øúâ £‘¢(‡ÎËååfŸ4vH4V”†úú¨º‹ªªV×ÔÚ$׿w×·~ЯWEaªÊ7nùäÜ™§iᵿ}²ãœ³Nmj¨«i¨3¼‚š“f¤š™ûº‹ËV¬<°¿v±° àðÑ⎎#¢C‡h×Û´)>ñ„%ÅG­Z¢i&¢«ÖmühǬ3NêЮ@»h%á“í;çÎ:]Ë㸑w~ùµì&ì&_6…Ÿˆgœ:vóÇŸ½5ÿý²òÊœìÌžÝ;1(33Ô¶0GQØúõíÕµ´¼ò‹¯¾¾ô‚³´è‰ôŸŽ5ÐeF¤A«Y™™5µu¹9YÆ[Õ5µ…ùaiA~^MMmL¬PXn0 ûªÆüdcA4z^nu$úþƒG×løøÈ‘Ò†ÆFƒ2ær4ªªkž{å]£žgM¸aËöõ›> …2Nž0¢G׬2ëHUumvVÈ&¹¢6ùm‹ ¿úz_Ÿž]¾úzo§íòórt "^ðähnëݯ¯¯ÿnÿÁ«Ö®[¿éÎ;nÕ.N7ú™ç^¾úŠË‰èÏ¿®}»o¿ÛÿæÛ n¸îJ›ð999:þøð”£¡¾! e†BGŽ}é•7¬‚E¯[eÍQ[í’IñQÄÄŪòÛ4 ¦•Ÿˆr-Þ%µ¯ü‰TõŸx™ˆB¡Œ.;ž6iY·DÓ:LD[>ù¼ŸîŽk½b%¡ºº6Ú.ò#«.$§ »ÏY~":d†2&Œ2aÌ"*)­ØòÉç —®={Æd"3|Àšõ[ûôì²~Ó§#‡öîºI¤ÿt¬Iì´.Âæ¾Ñ:±sǯvï6¸1NNvVEeuaAUTVfge ‚D^YU•“޾héšIã‡w;ñøP(£¾¡á±ÿ¾î(6lfg_pöÔ¼\ý€Ý±C»YÓO&¢¯÷îÅúžß?Û´Ül‰Ù¾sw—Îì“>¸ïºÍŸöíÕõãO¿8uÒ(’¹9Ù•Uº—}Ñœ1ÆÈDóK.¿š1–™êØá¸¡Cýåw„½èüsŸzæù›où-;ꢹçjÎ?gös/¾úëßþ?ïìYÚÅ«~üƒÇž|ú·æÍ™yæº ›£ÉéÒ5ýzö¬oÏ_ø§¿Þ[RRzÂñÎ3Ó>ú¬Ón¿óOµµu/<ýo"ºúŠËŸyá•{x´mQ›Y3¦­]·Ñ4X4ºUÖµ¥ÈrS Ⱥò»o¦•ßLèz"Uý†+/Ò]±j‰¦u˜ˆæÎžòú;K³²B#‡ö·—“UQU]˜Î>ÉlÂîóe”¬²Ò¶¨`òÄ‘ÿ~:œbÏî'~¸éÓµ>9pèèÔSÇ%¥ÿt¬.3 ý‘¢(Ʊjü¨Á¯Í[ z÷ì’ 9Z²éãÏÎ:ã$"ê۫늵[Θ<–ˆV¬ÝÒ·wWÑájå‡M<–ˆV®ÝÒ·w7ízccS0 ƒåUk7l%×Ͻ—­Ú8yâÈü¼Ü’Òò [¶9e"-|ÍØ‘ƒ óW¹1Š¢…ÇJnll*)-ß±s÷»ö^pöTûäºu9~Õ‡mÝþeFF°Cû¶:Qúvÿ`Íæ©“Çfdd¬Ûôé)F$¢yD°þú‹ÿ{Ü,d˜ÌÌÐ5Wüðš+~¨» /¿ôâË/½8öbî]ÿò‡;¢_§M9Õ4 «¯Œ±sfŸuÎì³ì5Œ~=ïì™ç=3z}̨cFˆ~=sÚÓ`ÑèVY³×6‚€¹oUù­®g†B¥e•EmšMdÓÊoLËþºNlâU=«–hZ‡‰(?/çü9S^g)ç|ôð6úöîºúÃO?eŒV$¿ »É—.p²ÊöµyK‡êÝùøÙY™UU5›¶~Ö©c»h°1#-|Í”SÆÍ/Ô&Ò:vË.3 ýˆx÷ .Ϣ‚óf¾fýÇ«×}ÜØØØ¾]Ѩa´`Ç [¾zãÓ/Î'¢>=»L=LÈïKD;÷Ü+ïÖ74ôéÙuâè¡Úõ©“Ç­üpËü%«òr³G °ó«=Žbµc†ÜøñŽ7ÞYVY]SÔ&ìˆÁÚõ^ÝOœ¿dUYyEQaÁôÓ'˜úÂMóNDÿú÷‹D”‘,,Èëvâñ—Ì=3';¼¯É*9">¤ßÒ•Ιqj¬LíóøQCV~øÑó¯.äDãFN\sÆÈ"C@ Íì1/dÃE«Êou}ä°þ/¾±¨¡¡ñgW}O“`ZùiÙ_׉M¤ª/ZµDÓ:¬IÈËÉ9ÖÔ×ÞyŸ«|ìÈÁV&ŽöþÊõO=ÿv(#cøà¾ßìÝ/¯ »Ï—.p²ÊvܨÁºséÊõõ ¹9ÙÝNìtÖÔIÑ` SÚæìÛÓØW8~5­BŽÝ²ËŒH?Øý[~~ñU]yÜÿØ ?»ú{)KΆ¼¼üŠŠrS× Ï)).¾è²k*ËMÞP¢ä´{é™G‹Ú¶uš0-Uù}XÕKJËß\ðÁ.™ˆ?äË›ó­èÛ«[¿ÞÝ$iå-#&ÞÒŠH2A"Ë#åá³ÃfÓ¶ÿIýSKWR\ Zä©ù§ª°fóøQƒ›Ô•k·ôîqb‚*ù!_¢:pη}öUiYe¿˜­\~ÀWÊH"A"­›O­¹ï“udmœö‰2¢0 ÏIÂz3œÔZâ©ù¦ªæçþ÷…yMM½ºŸ8q̰DUòC¾u¸ï±ç òsgžq²Â|¶Wý ¤)A ¿¨˜º$o¾öû©KÌ÷OkƒcxNÚ ‡))Ë–ªüþ©ê#†ö9À'qü/QüÓêðAí …–ÙÌãü°À;¬¥šiƒæÝo¥ÕÀ­»ª[ã‡|ùA‡¤Y`JÄÜ?& Gæ‡^afq0jÅÕÀ%­ºªÛà‡|ùA‡¤€þÒm3Ï1j8†í¼Ö™wάÎãbpÆ©ÕV—´êªnƒòå’BÌX˜¬ªª*-)ii5Z†C‡¶´ Þi¨­ƒ-­E:ÐP[M­¼28’®¹óC¾ü CRÐ2òî¼×ZZÉAQ”öÇu:b »ïîÛ.ùáµ-­ðB]muK«&dfå´´ ɤº²|ççÛJІÝÃ0Á± ê?ÒŒ@0Ø­{¯Ï¶mmÞ rôðA"F,r¾#cDŒgŒqFŒ3bŒÂ8cŒ8‹ýÎçûqbŒq"98†1"B<çœqâDœ8q"âÚ5F\û¤ äœGþåÄY$äœ#âÄ5œ8 ©È#bŠ>N]aLûGaDÄFÄmŸjäH"Î9qNœT- •W9'•‘ÊIÓMÕn„5‹-Pw›^mBqëPβ 1b.ðØœ,ˆÝ¶ËÝîàm¿o9>•¸o–¢­v>s›ì³fÑñé{x6O³9ƒ`󄘾˜™éÇxtÅdÎ:g±§€>ŠÝ=ójº»Tlp½>¶áX”€M½×éfYê\Aݵn– Ù%ɬ*¬Q ËïÖ‘¬D4-7Iz¨;úG/–3·=™]4m¸0ÇV¤åóˆ/š#£8ËNU/Ø2ywAŒgL³ý›h´$-;P;“,fþ™Ç‡Ô&â ý@|#k¶ŒM,š«¸š§·N̳ÓÂy¬n‘ÙbóµøB3«ÙÆF~|&GDǨIŸ7ÿuœ˜¶PføÃLú´h•ŒSÜTŒv3—&£è–]aüLÀÆÀÕe.‡¿ØÚÿÌôª¶“wF³˜ÙšEÖP,z‘ÙTO³˜6ßôêéÛ—YhwÃ[$¾YÝ2i<æ¢ mÉb¾j£Q³8;#Èz/„c-ðh,Z&âÂÂ7ëI\<fºenÀ΢ËìrioÁ“Þˆ·6;ã$yµãõ-ê£Y[|³ÕÃ:­ø®NoÓ[ùp¬³6ëí§ë1€Ý&t·dYöúH-oÜë5²Ô'.ß6ZXÛ÷â%—2ûÞ*XŒ¹ÏUͤ!R5KŸ©œ1¦2ÎTƘJákĸf]ÄXüŒHåšÈ´Š­-gœÔ¸Þ&ÜŠÔHd­¼9…ÝõÑn"bƇ¯1Î9g‘yÊ…½ðQ×¾öØ®p…WUÎH!…‡s¶ä¸ª­ChYà,š1ŠN9¢".•‡$TR5i:˜jUØÖç]Äw×VMTß©ÇW4‹fßíM4“¾&’DÜ(Ã,{8“Ñ(¦ÅØšvS]eVM:³ØX±rãT¬B¶]¼ÞÄŠùW憦ÙÈÏcoDžgd`‰ÈÐ{2[‹Á®RXdÉä»]4¿á®·MÄö³îêÃ}…°]ÁôqD¥‰FŒ›F®éËÆ´u™ µPÀbêh…]ur´ˆ›^u%ÉHìð$! ‰cÆÌL{ÑDl#˜FæÎ £ñæøˆuáÆnƾ3`ÒØ]Ú#æ÷£™$,®N .–« Üh˜[…eºîÒðåÆñÙ€m?×;©qáâãÅß‹½a—´õp¯NL±Û=)›¬Dk67†5ÆuÉe‰ÿf·º«Ë‹«ØÞ°¬1G»¨œ3~`û§¥{÷p®{¤¦æa|IEF¶X[Æ¾ïŒ Óü˜¡¦™XSIQŠºtë4`‘é¤WTRÃ~|EåÚn$ΈQdÿ1®†wÅ­9p6ù‰´ÝBÞHÄÕ¨õOœT2©ÖÖf“þÁÄÏ+ јñ^¼a¨]2õ¼’Á( Ÿ2Ðh£¸0 ´²ÐÜZZd¯—ÉM÷]¤~«‚}iÕu˜ØS&EÝ,È´îÆ¢e{3*À-¿;N[R¬óÁãpd0³m'3l|0úû&éG9åÛ¼í®™H´èpã"ë}ž&¢ù0¬:`½›Í9ªXð”Ir2¾!Ù&d"â<8ÅcÖ¸œãšw\nÓ4oŒL¬>ó/SñI–aåBT‚Mt£,‡†di›&c0ã]§äll[†Ð, ‹Þ,V ‡N\×Wxýxi•‚¡¥Äû:ì<æÍÓ¦æð‚•M·Nn›Å¸hmS1™i7ßs¿`™Fìf•8+ÙûM—Qc•` ¼o‡)ĉi›wÂÉi+<º3_+ט}ýÓÊH«Má9áúÛ¼K><ŠìâÑnª¼±iÏæõ "Në×®œ4yJ}}çÄHÑ65…_?PÂ{´Gáµ } âqâL團¶óH pU{Ÿ6ÒºTÍ›¯2®„_êe,š…§)á?:Ç3…7 …7Eþ‹µõyÄâ*gNyÓ ×å[_ –ãCÛ¶`S³Èâù«¿m:AÐÑÛ¨&õØÿ ÞÍú]¬(]hÜÉÅÉmîYÉ4 ë1LT°íá É{áâGÛ'¦KÎ|‚Âì],‚˜OYÇ;w#†qy*š¨•2®¯Æ¥c=ì8 ¬n`®ì.·ö^‚Ê€d ø¨\=(ž˜ÁÎâÅÀu›X\²©Ía×´Ÿ´¶­•18\Et¼í¢4äÂ)5çºà\Í c‰Ðó‰µ.µÝûÑ# MÓ1¤d:~¸I´ç·EâÃ9LzÓ ÓlFÞ£UYØØÖ¼îÚ!m(üjä5›ðKÇ‘d9ýøê›ž|ìÞHJ<šdÔì*ªò¦hì¹æ†_?úÀÝúG³i¾KÊ=v³2N$Ýf‹«N>}cwce®ÙèaPÄnû 9ÎYwž-Y(c+¡9žËmµ.ÝyîíiëÅ×i›Ä±VÓ£«ÛEš±‰xNÅÉá0IÙsÙ„Ò )Ñ;Õ…OŠ&: %ÓB“±fš‹p–x}¼2·ÛÇ&#p•ÈzZâ=5ÓÈN»ìS6 ¨Â;*£1“c32œ /K(Æ(6±e×x è|ŸÆ¥¡„RÐO5ônN]pÛ%j³šÝ¿´KáiRÔD ¿«²fSžqâúç¯hAˆ¹Õ^áPÂ\Ì‹šøœˆ©—<Åéu¨Qݵ÷†yäåTNœHÑæïŒ3ÎT"vÅ5¿xòÑ{"k Æ2ÒåÔÒŒ|•5Ÿý£Ç´X¯½ñ¶Gþuw$€uîíV¦š±žQÄWpÃÔ±ù6c×ÞðëGøK³Lk¥¬õ1,i'&¹uX£4Åè½¶ñs6K4¢/÷ïeºÒÕÑn¹ö'`Ž›‡3ß:­3ŽY/mw*“©hiçh†AϬn&Š‹;טŸ½›&î™”X\-d̦ Ù¶¸¬vÕۤl:M)ýŒˆ†îÞ™§3‚Dìçwþ}ÎôÓ>X»±¼¢¢G—'Ž>bpM«’²òÇø÷Ó§ërÑü5òGmjÒvô0F×üì¶Gÿu÷57ÞFDW^+=vÿÝZ4µ±‰ˆ55©o/X¼úÃuuõC÷ÿþEçfefƉ5œ"«»rÝÍ·?|ïŸbo©ª:oÁ{«×™È4Jkhl|ùµy›>ú„ˆFzáy³2‚A"jjjzsÞ¢u·4©êŒi§M=u9ZüÊów~¹«©IíÛ»çåߟ›Ÿ—wÝÍ·ѵ?û išDU²~ÝÍ·½÷AYyÅñ:üà{sOì|¼I•ñÉy•ÍJ¶›KÒÐÍdl“™aÚßtš>%ɺs'&™¡¢H·ýŒGJ*œ?-ö–"Em¼…«‡ÄVûÔ“<Ï", ßæ Ý6UD†M,„ðÊhÍ­n|±ë›ÙÓN5½õä ¯Ÿ;cÊesg7©M —­ysáÒïŸ7óžßÿòwýãŸwÞBþµª%+Öîýnÿ/®º,++ów—¾½xùÜ™S‰hþû+jjj{Ó•DôÒÛ‹(Réç¿·¢¬¼ò¶®àD/¼±`Á²Õ³Ï˜¬Õ°=ûöÿüêËòrr>ÿêë·.>¨Ÿf -ù`íˆÝä3¼ý;zª¾Ê¹ïO×Þtû#÷þ‰ˆTU ¿Aʉsuá’e{ö~û›_\Ÿ•õÊëï¼9oÑÅçÏq]¤æ,zïƒ=ûÜÊœ·`IYyÅ]·ÿœ8=ýü«ó,9oÎ "š¿héwýæ—?ÍÌÌœ¿è}-ð#OÿJ‹µqë¶ïÍžZUQJD'òÒ¼÷Ç飉š8r@UyiUyi›ÜÂhùêµ{w/)«Ø¾ó«KÆÒ4Í…Ýõè×o÷}£}à‘ëœó«?¼xîY•%•4väÀ'þ÷Ú¤qCm¤‘æM×øÍϯŒ £}°‘i”öá†Í—^0«¬ä2aÄs¯Ì;b­þpÃ÷ÏŸ© ?*œñ]r6<ð-Þï¡Ç_Ð%­SÛJ¸öµ²¼¸²œôíº`ñ2«Â mpaî·>Ò0K>&- ½w<’K³¹ö´Ù™™5uuy9ÙÆ8ß8¼|Ý–ƒGJµ+J  0J@‰ 5¬²ªúñçÅFT‚A"ª¬®)jS ¥RTTHDJP!NUÕµmÛj‡ã·-,¨ª©Q”°¬üÜœ¨ £/ÿpËÀÞÝWoüd܈Á€;`[ ÞŠ¢1ÆÂ÷Á ö¾S ˜Á9"ª¨¬~ì©—c£ëÄS¹ýWé®èÊÓF¦QZUUMÛ¢Âpµ)¨ª®Ñ>WVVG‹.ʾï.]±îÀ¡#ÑÇa%Yûj%œˆr²³´¡Œ UUÓÒjEH*{¡‰ow§u næÄ»ôdœ”£ -=–”Xº ¼¬'&Åñ’,;I›yyXæ©XÖ21§)ÄÔÜ'"êvb§Ïwí=¤_ìmNŒ1öÖ’US&îÕ­sf(T_ßð?¯YÉ1—µWyórs~|Á¬ü<ÍRonMy9ÙU5E…ùDTVZND%¾^Y]TX@œÊÊËr³³•ˆX%àœk'ñôíqâÊ °î£ož9eBõî]6æ>cLK: 0bÄíÅ` œqíCtÿw $Îóór~rÙùùù9‘7¸®Yí0›+Ú‡¼Üœ}ÿœü¼\ã30ÆÍËÍ)-¯hÛ¦ˆJË+ss²µ0ùy9¥å•íŠ c¿>ï½3NЫG—Pf¨¾¾þïÿzÊÞÜ·nÞç$®¤àq/1YjaqC\k³qÜÝs0%m5tfäÐw.Ÿ1mraAþ‘â£+Ölœ;û Îc~c3±¹ÂˆhÔðó¯˜~ú¤Â‚¼#Å¥«>ÜtÞ¬3¬âì×kñÒµ³Ï<•ˆ/]=°o-ÌÐAý½¿zÖôSC¡àŠ5›¦6‘ˆƒÁ`0,-«X¶r]T`VfæÑâ²vmÛèT²n¦ £ìic4³ÀD¸ÓæÚ]sÊÅÕp{0?ÑÀ<-_¿"+Ô¼—bGÒí3{NçzÅHä¾`„K0_nò<üþ4Í[ É4£SX’íkw. AìîÛŸl›ô ö®µ «AEàÄó¹é5óÔ¸‰*nEê4± g8éÄ]0ñÒ‰cs6ëÝ|Pµm[xɹÓ?øpó²µ›;¶o;qÔ% Ñì3&-Y±þ•Ë òr'޲mçî€Âˆ±‰£‡>ñü›õ wýâJ"vÊø«Öü¿×Þ­¨¬j×¶Íäñ#•`€ˆ¦œS˜¢}a è" ":eâØ‡žx®¾¾þ/wÞ¢%ˆóÓN÷Áê O?ÿFEEe»vE“O(*çÑ#tŒ&–ÍíÃIãF¬Y÷ѳ/Ï«¨¬j߶ͤ £¢þøGc#ÞqË5§Ÿ2öÝ÷V=ôÄóD4°_¯)§ŒÕö5:iÌ’ekúeNtÊÄQÚÅÙ3N[²lÍ+oUäçN;|ûg_) cDÇ{òÙ×êë~뵚ÞZø)“Ç-X²2"¼÷”SÆ)ŠV¼Ñr]´±Ä˜kaŒ—LÆ/C,£%ír¢àª×0š]¨á:.‘1óÌ2¤•P‘  {»Äbfâi~è0'HÔ7ï"ºÛûq"u¶µ;þX˜ÈôS¸¶àÞBw÷8å•coiy«t™&@CJ¢ÞqËÄâÞOpBæòèƒ9nÈL=Ãn[Û@fY7r¼àrÎÉuߥ0ûÛ.h©É»ïîÛ.ùáµuµÕ›×¯bDG>Ú\ا?ca¿.1m¤ › Œ‘¶§‡Â^s¦ýÒ. 7‘{QédmGpΉ—>óêü›¯ú>…+ÿGá_ÏÕùѼú‘ÓuèÅ·— êÛcpßžÄyÉÎÏÛÅ9ÿîÛ}“&OÙõågÍ–¾¢9÷•¨—Ÿ‘Q–éu‹ü näü•sâaÔðâûöì™4yÊW_ìh.ACÄ©¢8˜Ïƒºã;î¶ ³;Ý)Î9w áÍŒsaÜËÂM3ˆˆ³Þ!¢IfÚ‹ºšNXÚ&×LCЬ–XxŒ[_öxÇÆvqªó l`r# HŠ¥œÐÖ°1¯uÄèI.7Ø8W[[lgÈv zÇ-=ÞVrL V·¢ÝÏÜvàæÑÕ@æñGZ=Èî2}ñY”c®ï;žµj–3Á j߀§‰Ì+´ÒÛÿÝw“&OiÓ¶}mMõü·^‰ÙÌÃ"F6•c ýˆ¡6óIi6˜5Âûdˆsmi ù.'2iæ¿·âô“Æ66©‹–¯Ø·g@Q8㜓BQÃ^¤ýÚ×f*WÙæOw””–î×›猑”è†ÆL!ÆEû‡)¤0…Ó¾6;øYó,&R–ƒŸsN*)ŒsÎU•S•T¦p5ò _,\V–OÆ¥]îÊ‘«“lßç ™ãÆÛ1WL q+Âö·³ÑŸÁ‰… kÛaªeÌ‘YG.^Ú&Ö¼ 7…!–bâÒ‚·R\Ύ̪„Û€ÑM’°yjeR8þŒ€µ@¯7Ý&ànÞ(,71“òXž$êr+:×~Ú¤ÌÄÍj'¬Œ'·ËÍ„ÌzkÏ/s 'µù~lP çbMØ|QÚ…kœ´3騗,kVÛ!ŠqÄraƒÆk¢8&â Âåm6wEVc·•'ÙtK’±“Šû>Æíê>g|¼ÏQÔgg%;Hz?½m¥vá²™©™…Ž·©D›*Ããî:<»øW:­‚êïÙî UlKL¯ëböî+m¯»Â‰¢{u(bׇ ø°ÍÏHsqSx Ý3 À¹ÁΊÖD§ŒuÊøQšu­Ö\øŒk9 oàQ‰×.hØn¹6ü8㌫MLaÈÒlͶg )Qc?lýSt—Ew&EÍýð«¸Ú®âLeœT®r✫ŒTUeaï~€™xWí¬öØ;¶mÃ¥ÉîÞ^1VmO’¥îZflòŽöu\Út’“¥øÞV`fÛfÒö»ÐìŽL®@?*< "b¢;a‡uÇÌäu3qm+»žÃX\µ˜XØîú1ÜM¹ZÊF——®ÜU²¬¿äÈ·´$L® ×ÜmbúPfá\XÕnLvEdæ&wu)î¶ã2¯><·¾uuWj¿ƒýgg­êM½ hó-N1¿6ó\L+•îf³`›ruèÁuÇÚ†5dÛDG³hîÓ7­»Ì,&e§Ên¶`™¶C1X¨â°a©ÙÜWbŒåtìXòÅgÄyìp÷oœù¤·¥ÌvX¤lRµ¹î:ÿý'¶Pr;vb 1ÎzôêµoïnE¡§>1%üŸ6‘Ñ0¦0…ˆ”X“R[]à*ioªª¢Ê¤¨ŠÊUEå\a Wzöê½oïnR˜>gÖÆ…Ñh²(—¦>ñ¡Žæ{s«voj» $`™ZÜ. ;»M/°9¬û~×´Êšwõ„ô­Ä05·–ªi§•“øT`–eûÝ0Âĵí`Å6>ÙW=ýdÛÑt0,¡ØwÙ™JчîÞâ´ä¼á¼0ÕB´G’?‘pž&ï;± ¡ÁbpÛ…ãÙ~ce-=Ó†áÆ¸ cYªŒŒ-*6°‰Qß9l4CgÌâ¾Yè »miÕŒ`Càø˜ºžÌºr ÔðÑ¢‹‹IÞ6qÔÖ±™Å݉46Vn\H˺Çcô gñ7­ãٌ˳‹¡Ilz  Æì·L_­ænsâzñn=zîݳ»MÛöÚ×ï>1⬠[ÏÂ7ñh;ܵX䟸ða/Ì¡—‘ð<º(¾Dyä[Îc6ìpÞìa¸ØÃNwâQï{ľÑü‰‡»êˆ†¤mà gA‰|S"ÿðæMcÎ9ãÄ9#…+œ©ªÊ•¸B*'¦2Έ)œ8ã*×Þ]°7&íMõh%0]üЇ²_)³±ÿ,µótÃÝÈêÞ%oÌò[|ŸbWnÖâ,ï$üŤíEú“pæ Óçg|ô.Ÿ²>œ«2r–Ý<¨Yφ\ïLsç­pÌsÌÜLÄüÓ SñŠÙ§/0_²0ÝL>‡ ØqYÖ³õ/T8’thAܽrç*cž ~§- †5z;aÌ89sòSǦ«32ôÂtý–‹ÂZ‡X“ΤLj5CmkT¬IoÇ™44V¦Ó$^I}sµ3©âúW›'¥Ÿ;5o¬·Ó¾9¤Ýyß,cLE1³ÀcÒriãÛ}V¦yœô8_²u%6™ƒšÁfó`7½pÌð›–˜%l6 Kß$˜ArŒu¹E8ËTã½Iº`±q*aÛœ1…È㙔ȇ¨½¯D>PØ’Öæa)Ú»²±q4]¢sÂV:c*gZ‹ç*1F*çœ1…çœSI ˉ©Äµ×ç\!•3ÆU"bšÉscÍJ(1W…iÙU´³)U•W¹ª¨Ä‰T…1NŠÊ9±&NŒ1…HUˆ"¶¾j|x–‚LJ1éÉÐ3º53›ŸASÌÏ|ÔÛù:wN&Á,SqiÜ[EÛ“f ÙîÜpShÖɳØÈÙ~³S&Æ45(`]hîLü¸Fnc5*î -®Ôm‚YÜŠ³&, ͵YoSÜ<˜u iññLôнÎáÎ,´ ÆãË7F·³1ñÆcϲn»˜ãx›-§»fÝ\s¸ ³â¬Ó V†ŠEzCÉ΢TâîXXKññ-í0C°ØŽÓjÑÈÜ‹©3\ì‹ ç»Ö{'­†[o43 e½£ÉhP™m0h¢f1xñØNÕzSK¼ÏÓ< Qd—´S0¢f'‘Ãò&‹þÛ¬\dS“iLO§ŒÙØf½ß\ùã±Ñ›ØVõA§@ô_f^‰õÄÕT«=0º³L¿ù·9 ‹MÓ¶2¸˜’±®¬1Ÿ¬êC³¹¿ë«/LCZƒ†ŽÒ>4›û×Üü»RLö}ý¹öÁìün@Zs€´æ>i Ì}Ò˜û¤-0÷H[`î¶ÀÜ m¹@Ús€´æ>i Ì}Ò˜û¤-0÷H[`î¶ÀÜ m¹@Ús€´æ>i Ì}Ò˜û¤-0÷H[`î¶ÀÜ m¹@Ús€´æ>i Ì}Ò˜û¤-0÷H[`î¶ÀÜ m¹@Ús€´æ>i Ì}Ò˜û¤-0÷H[`î¶ÀÜ m¹@Ús€´æ>i Ì}Ò˜û¤-0÷H[`î¶ÀÜ m¹@Ús€´æ>i Ì}Ò˜û¤-0÷H[`î¶ÀÜ m¹@Ús€´æ>i Ì}Ò˜û¤-0÷H[`î¶ÀÜ m¹@Ús€´æ>i Ì}Ò˜û¤-0÷H[`î¶ÀÜ m¹@Ús€´æ>i Ì}Ò˜û¤-0÷H[`î¶ÀÜ m¹@Ús€´æ>i Ì}Ò˜û¤-0÷H[`î¶ÀÜ m¹@Ús€´æ>i Ì}Ò˜û¤-0÷H[`î¶ÀÜ m¹@Ús€´æ>i Ì}Ò˜û¤-0÷H[`î¶ÀÜ m¹@Ús€´æ>i Ì}Ò˜û¤-0÷ðÿíØ;JCQEQ¼¾!ˆÏO¡`/οµ°ˆ„6¢•ˆåÅI›µFpÊͲä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ädÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}ÈZÆ¿?ÇËò±Ûz °sÎ1Ʋž]¼n_®®oÆðô@Áœó}÷¶ž_=ož6ß_ŸsÎC¯ö`ŒqrºÞÞÝÿÚ:Cé“̸IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/gschem-sym-2.png0000644000175000017500000000703513634703632017362 00000000000000‰PNG  IHDR¶Å&´C pHYs  ÒÝ~ü dIDATxÚí1r^·ÇÉLŽÂ¹[±Ì¤õWqëIcvÔ-¾?¾ñmècêp& „`Ü|"©%ëâà€`ï ¨XfÈAÝ#m篖/–ŸY_y™ëÈÛÓzž(Â\´²˜ˆÌ'ÎDZ­¡wFÅ×è[ö¶zkŸ†30øý¯É ùX‘åEÄn»½×–³ù,hÎìQësâ<œÑíöÈæûƒ%åoíˆõN˜?|uQȤKJ(éü­ïaÉ]J¥MÍþüSr_ß @Ñ–ÿƒ†p³3} ¢Gmäk 4ê¡ïÛ°WúlÍa¾ ”„cõ—ç$œˆè;gœ¸¡ôY"’ÚÍ<æºngÍnSè%Ä쌻JIßáä·è¨ùy<‘í#j‰è£±&úa„ëå÷4ŽÔ‰H_¤‰Q[Ë%Ž[ïêaÔäk©ånÝzJVˆ¬ˆ[<É.^‹)Þüª¾)ÞùX¯[Õ¬7Õ‹µ&7ð…x"áЇó.^¹U1!ž¨ ž¨X`Èû¿üí›oþó{ûëóó{÷ãï±¹¥ôÕN’²¯Ì£Ê))­¾U¡Dd'ìÄèø¾Uò$)åB“_•çß—ÛØ6„±„['%Òn™w¤\PòkÓÏ9åÌÿ‹ìÇ),‘´ÛŒž´ÞW¤ÌGšQf¿¦­ì†c‡H ÇMDÆ>èõ«Ò®UJÓÚá%rÝ:°£n§Èk§ï–¥áŒ&‹±È‡z¡™3`‘ δ–Ó"OÐãìÉr¹«¯ô¾míÆ/Cý¾ò’ÏA?X°®‹EþqÚÿl8 gJs ùc2j 6ª¦òÖÃà œ«úIÊzžÖeö¢UvcùØ#{hŠ·Õ»QŸÈ”ß×:ý(r‘mµzfv°z+YønâøƒÎ†[(€¿ÿëíïÿù_)æí*™‘»âZ—KYtÔQH‹òhf»ê¿BßB5,‘ù š±óa­åƒB€ B@3v~<+B(PhvVd{ìƒïÝG…á›C©^«ä c9Å.Þ8Œ:Ž[’R~¹¦$¥»ôÕÔ.g°cKæœ>'§~î¯æ;»œÁŽSˆHúØÍ?¶ZÇh'û²S]öÀm83êø"É ué¬õ ½ÖòG8¤:B7³(çˆHƽò|òŽª9MÒíëyFý±C'ýi{`Ãp¦ÞQ[¿Ì¯í“¡Rn’ûÊK¾+­*'ýuð‰ÄÄm8S:Þ9~W5³«éÌö\ë· œ§xs«DÿPZ?Ê«t•9ò1ö.’öÃͱJ<‘˜à–†Vˆ'*N±wf¾! ÆÖ‚ ø ‡Pð‘úr~†!PKD2U%-íó.#ÄÅyoN«9þWò¶¬§”/¯ê['¿Ki²¼ÝÆ‚”@‰@{gFÀë[õó4ù>Tý.žú½ê‘GJòQ ¡a‹ÔqÎØ…À“lÕ—lü¯¯/OßNI½JŸµ`v¦HIÎFuÈÖ}(}â¾’c}€Dä,‚ô]+)‰¾Ã#Ð "ÒÀ¨˜©1S¢E„‡ó°À¯WPúZc¾¶Öù€>öΤZ¯¶wÎoé*ë)^}|≀ ≀ 7ŸñDö€x" bÙ™˜q:ØÕ p°€ˆDùHAD@Å)DD¾ÏU’+&RÜ–½ÏÜ*–®y¹Ûà 8%Òœ±VZÓ©_^*ä8gF- O¯Åñ 0KÄns½¦$Ї³%’GÁÐÛHÀLÍΤ‚"‘’Rpc†33q ðæýëë»ÇR¹gD~-1», ¨ ¨ ¨ ¨4;+â "­S°õ(çùçüœ™%Ï‘ñí]R€ý)Z"W·qßêc"rMÇBM÷#BM«}{m±,b²•cÏÀ|¶‘l€™l"" y¼X^D_ÜV¬ÒùöÀꩂ ‘»Hq£øâ°Ø, P—ì€ø8Ç! Àê°‹T,?;¾ " ˆ¨@D@…ƒˆ\ݾýåa»àf‰R‚ ¬Ž›ˆÜß|ó§û›ã)X—N9‚² Í–J ‚°Í"rDZÎõø+%Ø&kÑ "©|¤ß•’Oyb›¬AÃ.Þù»l)9þN¥$ý|¹,ýÃN29è¤ fgfž|‘ûMìøÒ ŽÖ4–H)·O%Á6˜Msd³’{Õ ü&¾ ˜‰CIPÀ‘%’^rÈ÷_ýóÕ÷_Å tˆm0UxÄ‘"øMê[Ó­ %é)]UO™§)uryJ؃¢%rc²¯¦^¶Ik`Ê4}^ß<Øe]bêwÏs«·ùØH½¥2ïM„š-‘ó¼=45`›´Ö4…’LÔ[©t­w-c•ä 5e83Œu×–ì”úp&MÓú>ŒðèÃ(‘Á¬e›ä¨Ö‰¤Q-R)ñ®T@ÃÖ‰ ç¤ÙìÅOŸ½——coúã×Ou×ÖÓ[4áÅáÇ:V‘€±œ"Â`Çæ1V‘k°DZ;?Â0“­,ä`> X"u_¶D€,f‰ ÑXÆA>bÚA8âTD8``‰vÀŠ„ì€uqì€=(ÎÎXÇL=„#‚|ì–šîM„š:„€XfĈ¨ø?YÛ­¦BtEXtsoftwareImageMagick 6.0.6 11/29/04 Q16 http://www.imagemagick.orgÝ<Ž‘tEXtdocumenttmp.tiffý òüIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/one-sch-1.png0000644000175000017500000001217613634703632016643 00000000000000‰PNG  IHDRC$ º" pHYs  ÒÝ~üÅIDATxÚíÝ=oÇ~࣠…[)”ÒZ² ÔÞ¤[ÁØé.îp!Àì¨æÂ-Uù·%RJ­;—qÀ­»›bÅhy—»š=ó²óò<…@ÓË=;çeç?3;ûìãÛO/?¾=@ÿtô0Á@Q‚€¢E Šúç£(çòæâþòf{›í™®k{0?–p‚†-Ëmæ‘3ÿ¿Óï×þ –tµLá^ÙözæMãP—PðHÈ8Ðrû½ÅÈŒñÀp¶Câ¼zHE8ÁÃY›8°7  ˆ!x` ¯Ÿûúùö6ªr<0„Û»÷¯nﮯÞ|¸¾š~Žß§ˆâ<.  (E Š<%x(JðP”à\Þüíó\òÙâž9Šà!ÌOßiOå-î™c ÈÇ·ú—<×íµ¸gŽ"x sS­0?}O?ç¨!ZÜ3å àLËH«ÏÔ@ð@·¶Oß-V'êž>èPîS³Z‡Q·¾á.„}·±ïÖímãåÍÅýwß}¼¾ý1îïß½–Ÿ×iO÷©ö¼|cö{¡ßÿ’êùùGßþ8Î'1*xú~šFhcß­;¯ß~zùëGõéTëëR¾Ö‰—Îë¿Ø½åyo\Þ\ÜO‘VÃ{/ù3¯« hrTfïžußÕCðAZ×1 ¡N‚ø¬žê$ížÕ:µ<ÀW¨uHKðôT÷¨uê$x€U-®9­Ö©Ÿàž°\Ûmä=“–àVµ¸æ´È©Ÿà (Á@Q‚€¢¢Öjc.dñÁíu¢Öö0ŠjÀ8T<‰M!±üwú¿kÑ2ÿ}ø_´HðRµ,·QëýžÐéÑ1±aYRr ùÖÜmqÏœGä¿AÅó™Z‡–Ýn£ú†¥æƒgºüjúùÙ³˜=½{öÁhqTæ¼=Ç^?ñû_R»æ13¿3Óñã‹kšžùõ½µ½½[¬uR^?1Æüœp{o—Þ"õ !Œñœ©ÅQ™ð=;eÄsV›ñ ž,Ú­uœ2RYÆOµÎ|U釯5½µ‘O”ª“zöÌdm\'ä6êç)ÿj.ë‘C8Á“X‹‰Z'‡)~¦§Èiýþ1Ëúæá÷£L— •æ'Ô#÷„ì¶öÌ\ë÷Yûj¢Êá<‚'Ú¦A»çv¿<þ·?¦>–w/ž>­/ ig”=ìí‡_¾6!B­Ã^‚'™W›9Kç,Ô˜sRûãÇyúõÊqs‡¯&§ÓSG¢{‚ØQ-Í»×tµqÁCÛ[-…,zt›¨Ymм½lkóÓBlÏÊÓùFÁ‰Y_`ŠœÖ'…S]mйT³ÝZŸN=tËtyê$x +Ö‡¦~‚:¡¾¡‚¦¾¡E‚𤾡]‚𡾡‚ ¾¡'‚*¥¾¡WQ+Œ°.Sßmì»u{ÛxκÔ9…¯/Ð÷ëØwëÆ1ŸY[ &–ú_òœ”1Ý ª¶¯>ùX« €¢E Š<%x(JðP”à (Á@Q‚€¢E Š<%x(ÊêÔtn~W›´j¾GN¾VïUó³TÑV§v#8:7æ‰oÌVÓ ]m%x(JWƒ é©ÛjjuîÝÞ½u{w}õæÃõÕÑ-¦F‚‡Aõ'iÍ#yï³4ñÃ]m0)HBª½ó‚y3"‡5*x¢ÛmÌzh;B*¡˜j‰qô¹6Þ³üÍrËó~]m0œµhYn¹NÓÿ ÙæèSðYHÚrûyü„ï“‘ THE2ßf-BB¶9]mÀWê’ðÊf{˜X$à`£-ªâ (Á@Q‚€¢E Š<%x(JðP”à ¨¨µÚ.o.î/oÚZû`ºBøè£ËÛŽŸð0@Á3œÛ»÷¯nﮯÞ|¸¾š~³=BòC¶9ºÝ@-,™3yä,ã  Á@Q®ã (c¾ýô²÷nœžÚøÔ8P?­[oµ6~±}ZÙîbÚÞ>í k¾çíÖÕSC„¨§líò=Ÿó×ÑÏpŒ1YÆÆöÀõööÛ!tÞµÇ.FdŒ‡Ýžê‚ûá—‡ŸtµÕiÙ)zô1.ÁÙÏ…{÷b½:úHº˜\PÔt"žþº;ri‹Š§¨)lDÎ65!T?íRñPµ:k ‹Ÿžî&ýôg_)J3]¥E‚‡<>¹äûr+‡¯Ý8ãï?=ýûЛn¤¿}Æ»9ž‘ÖˆœVPrý·o?½üõ¯muqþßžN©_GÓüy?õÀNÓw§ÛÓݱñ3†4oË2J}Dë´ýº,¿ï×ÿ Z"¶-Æx2š> ËíüÔ|TäLa?m¡†¶®ïSsýÉDÅ3œsäÖ¾o:Ô©¿×%w÷ i žÃ”üx5e •ŽšqLÝ¡§fïк]±y§µBðUþ{Y™ÈYkW¾!_öªmdñ<ÞE}0ÆSHÉÈYŽß”©r–írš¨Ç´mIõu!Õ54ç]:šê8Ã÷ï}Oð4É]>I%Õi´•Óq+ÇÙ7ÁÓŒÚê€óžf›É4-8|*pHÏþœoÄ›Ym 9“ù•(ÓÏçíg9ÏpïjÄ@ ÁC3R­ ²8&àGÄä&xà3lP†àŠ.u„†&r <ÁC“Ru‹‰(OðИTË\Gq)M _l-x, G<4,&0R-m 쥫¡©u <Á@Q‚€¢E™\0„ù½|â¼{·7+m‚gN÷@=tµP”àTºÎ·¯‹¹iÐÁêøpšß¦ZüÁ3¨iÔg-Z¦ßÇ ¥ºg(Г ØmWká´Œ4€ITÅc«>ÌCb»{m^ mGÎ|›c#g„wißmì»uc¶1*x¬sÕºµHXþ>UçÛmìÿ]Úwûnݘm4Æ@Q‚‡G ¶kš’“°^ ‚ÌiŠŸÑ -Ñ˜ÕÆg!ã7©¶F¦â (Á@Q‚€¢E Š<%x(JðP”à (+¹¼¹¸ÿ ‚ç+>¾ýôò×?Ž> €~èj (Á@Q‚€¢E Š<%x(JðP”à (Á@Q‚€¢þh¼´ä½^qBtEXtsoftwareImageMagick 6.0.6 11/29/04 Q16 http://www.imagemagick.orgÝ<Ž‘tEXtdocumenttmp.tiffý òüIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/screenshot_gschem.png0000644000175000017500000117461713634703632020666 00000000000000‰PNG  IHDR€àê#—ðgAMA± üasRGB®Îé cHRMz&€„ú€èu0ê`:˜pœºQ< pHYsþþ“üà vpAg€àÃA!#€IDATxÚ”ýg|”Õóÿ?çÚ’ÞHƒ@H ôŽ4éEŠ"(vDAvQT¬ˆ{Þ‚ »‚"M:"‚©B*ɦ·M6eË5ÿ{ƒåóýý¯<ö±YÎuÎëÌœ3¯™9sDJ9©!éw¶›˜z_Çã=‹œÕŽyÎK(¥%ûhË Îlj'‚"$pˆ„³‰ „ÀI&1dR@Å81q €"‚^N‘MþÁýˆ-úóˆ´Dñá'€ƒÑšCÑTÓB®’gå;ìØ‰FQNa áÁA¸þA±I8Ñú5Ïê5”ëNâ¥7#å–ÊH’¤7>\ä"8pZ=ö͉C‹‰Ðb«ÿN8QEQÀŽå(G‰§†j Š’Ø®ËYÀŸlå L8èK†3YFrnõP‰ ÍŸ`ËÇ$…c4â£ñDEpâ$@¦fC1ÅDàÀiõçì/ xðÏQŽ¢Ø±[mœ}PQŽ“Ä1ê ¥ƒ‚“Bh ¯>ν‘€â0^|ÔË$y@Þ#4ºâ§‘z«ÕÄO(v츱5.>l8qRL1ÅzšL2qâÄÙ„åÙ> &`rôõ¹9A™  @ 1ÄN8ذaRL1I‚;&ª9˜˜Ö{Bz†ãüÄKÜK")ZBaq£L|–˜ú0Í×CæyDö±R#wȪ9Îvp’Ò@+ ôRNë; å}-5ç6㡌p;ãˆÁ¡O±•bšÈ7|…©g8&b/è+:N'ënózÓUÒyXçé|Ê@z°^ד«-´Ÿ“$I„Z†cP†«´Š*fÈ fLIúª¾¦¯áV7nËL .“6 §5zH_PÕ§O`£XÆÓ>¤ÑNRu9kôI×¾Ú/ÙÄc-Á-¤ mh£ YÈ"©#u$dОšðükÙ…XÕô¹ùV÷O¹ZØL®êñá% %Iãpj"{´’ï(æI}EŽJ¶dé+ú2ËXÉr]N;2Ÿt8Ã9ÄB]”«×Á¥-Š(¢ôk¾áí¤´£$’H¢µÌ5߯B %T?ã3>³èSs’ß é"]tŽ\ÿ$½™ÈDÚ‘N;}KßÖ·¬ïÿš“p ç°æ0kY§?Ñ…–´d=#d¸F±BWHwÚ’FÕT«¨(Öæjkæî Ês{ÚÓ>Ø]ÈB]$Áù öJQTœ8Aƒ¤ðs>×nÂ(.çrd=ëùžj¨£%- ®3lcÅÄcáuÔQGOzJOܸխÕZ¥Õ¨ Nqâ$ LB%X­Ÿ•Tâ¤BrY/e 0GŸÒ9ú ÏñLP®¤=A=­§ˆ$a›ðsˆ_tᓤ™ž6Ñ:RGê"²Ðš/?ذ!ÔRƒWQÑUxðà·¾ÿk;l$’HÚ³V×2„ *ô~•=ò'-µ•&Ò‚8∠’HÝÆV¶§QG=H§Qø±³e@%ɘ„j1ü¤?À%1€“³Ô×G8á´ÑÃÖE¬g=#±a,°œwI"‰$½ˆ‹¸HèíÏ6°ÁrÉ™MzjÒ–¶Dñ€>À.]ÊsØ™ÈÅ à^Ñ7ÿÅòÏ'hºµ#™dä0‡%‡a2ŒUQÄV8ˆ±ð ºòÉ'ŸE,b±l—í²ãç8ÝèF7‹¯e-ßG-å:®“vìD (ëí!€¡Y@­lÁdœ,%ŒAtf¢ åG–éw„ɯ„QÉ}T2’ FI¥x¤’J(±´ÌÀ „ZjÉb<ãe½¥7‹¨£Ž|Ëe4«µ/£d$ÉR)•2•JhÀ޽ ¥`›%”P"•TJ%#e£,“×h2wÔaPHojyPÆ3^œÔÒ›( êXèžuÍùQ¹C®2îà#6ëG8°5¹—8€ €qŒFÈ FkC @TQªQL¹ÖH“4éLŽäê.&3™ƒ¬×Ÿˆ'™xNé)ªd›l“ñ,’Eô&Ÿ|êpàÀ‰ ”`bJá„q‘Ìà.¥^ꥑ‰:Q'êjVó¹´¢-µBФR*¥RF1Š‘çààÀCóÉ'_±HË6ÙÆ6²È"‹Bi² h`*Så’%™äsÈ­%WšO>‹e1‹e›l“sÛÁ²ý‚&¬Ê 9ü¾¹T×áñŒg¼ô¦7½µŽ:êÄhšCC«©¦ZF1’QÁ1þM®B¡–,²/Ûd½YÌ"êÈ'ßýÙÏ‹—’iK–L•²Ö³‘'Èò ÃŽ“-¡A*¥’©A9¤šj¼–|%+è–îEo`<ãZjášÕQ9‡`ßòÉÉbml²ÈBÁZŒR+nì2S>`º$ãÁŽA›Ìý !„,Í"ËšßŲX[ë@pîšë×ȳúÅ5ÿ¢_‚`§J˜ÊT©$™dFY4H°aç,ñÅH*©$€‹‰ » Ú´[xðXr5õ¬\©/"gw ÿEÀbÙ², ‹k h€@ÐÄóÿ‹\Ñ›^ô¶vɳëB€b‰"_ ¤N±”Á²M~–±šEµMašE-Y²ñl“Åô–EäSG> –,zÉ2ŠQL•J©¤J+ìtv½’säjä?ä*Øf°ýÅô–EÁ÷’E-Y„`bµlÿ©”J’Å(«Ò¤ïFp=‘Å,¢wp±ÆBÈY ÕJ@"°!ÊtQ"°A Ùúÿ7ýb½e±,>G¿‚n£ ÅE2ÉRÉT®£„r±#RAc¨%‹ÆË6.¤7‹¤7uäS×´úÁµKF2Š‘A}׿ú~OÁN ”H%S¥RF‘Ì(ªñRݤ¥ ­#Ÿ:é-‹èͲ™Q¬×§x„ä^ø÷x7~yú]Ó¿xôñMÛVu³§ÝÖé—Þï´=5è¦K^©Ts¹{xÃÚú±u3yT&JušÍWø0-“§XçiœžÄCž5ƒ&P>xYB”¤s!jˆÞ­ë ’I“¡Ôâ%€6±QWënfÊÂÀõ¾ÚÆQCêâjÅ/å2ÙÖÃØ&´«FñRೕ™k5Þ”×C?Ѝ‹)¥³ä]N°C{‚Sûên¶ð§Úuˆ¦ËOr½,ôÞ]7¼æ?þ¹¾ÍÌÄÏs!Ÿ…ÅGœ4vÙ—„ôÖt½Ç¼C’™CK6Ëv£¿‘b¤ݨ¡ ­Ì=æuÍ©¦ÍÌ–d¦q'nÊ)!?~I$YS5]Uý|Ì"A–áþ—ºx¾óåxÏoÈ!4Òí³ÃCŸ±Ÿ±…-×aú‘^FFqMS(”I¡ýt±úyFoã6½]Z’D -"‹#Ôá¦BÒI'A'éÅú²¾ÂU,þÌçjüø `b †h¢t O°GŸÑD#/•4Ò@´ •¤Ñ‰^:—tÞâ&Ý«3iA%wê1ö³E–ð‘|£KxD¯nØU›_ý´ùuà’Àh,¿ðQHbøÚ¨~Æ¥Æõö§uªte —k„ÎÖ9ú6Ÿ±ZvòЈ¯Nä Þ1œÇyú„^Ì•:‰Izi\EšµÅI ÁA%nÎ(jµ¨ÂVÔÆIoœ2œ»¹N»ë1-ÓUz;sY+ƒIç5}ŸMãz’8M<µdi”&Ð@)äq˜mr%ϳÓÜj®5gzçÔ½ZÓßì­jœ’Ë$&ä±ðNQZËÛò?y‰{HÔµ¸ÙAwå ¶%U[N~*)$‡pbIÄ 5í¥7×’Î{muÓèÇyœ§·3Agñ¨>Ç´%…¼V¯}øH%•Tüò2t޹@`é¤7“š™ûÉêâ ágý™ŸÿA0,t/ÏéoLR'¨c=õ–ÑvšÓzZ^•ƒrû¹_î7‹Ì[ÍbË@ m^i¤ mi«ÿãQýýµŸ¶¦#­¤Œ””è|že&)ú޾M)tÔH$ÊÚV›`/^õ’Fš¤é$úêd®Öçôj®$ER¸²™#àzb§/?ëIЇõUlØô3Y(¥®u÷Gžæ’BФjº¶ÓVìb—þL4ÑábŠ)ávn—ŽLñ<ªw›Ošwãg5‘|Œ—•˜$óhWu¿ñ'‘ZÆJÁ2AîÒ=\ʯxu‡ú47±´QÑ6¤aÒ /^j€82°éKÜŠ‡Gõ~½¶Ú ^KO›á€—4ÒHÓ»u“t.§ô¹ #€*ª¨²p4F£õuÔý‹CÁKTj?õsJßãU= [å´ü©µ‹v!†ª-ch»È×\MU‰T†jJ;)“iÜÅ41%Y·³Ò\­u$p7"­|/^|Ò–¶¤è續1ÚŸþ:‰.t!ø]¾•,]  ¸N‡’®—söÒ1ú3e¤M4ÑÍäÓK;ÚÑ´3¿±O©•[åcî0é]m¹ lçhäߟ ”žà'ä]Þá]ÆIŠÜ‡ƒH:r=£y„Zjq#ÈYƒ‹d\2ŽnLeäJ JH–éŒg:ÏÉs²TÓ5J2€®ô—r9,…DAø9¥!È”3xåS© •‹xBæÉ2]ªg´d9@2ì¢V†â¢R²%_²µ”RJ-Ã%„œd’Ižü*wÈQy†gØOy¸pâl2ÜÜE5Û¹1’-9ò¥”Rü7ÈŽ=ؾäÈÅ’-CÏPܸq[í8‡æB¹b€ab·vÉj©—¼ŠOòƒ_ÝM8]!eäcåi_äK “Lk\ü UR%•¬:P.‡yd­,rÉ%˜£cì¬$€KJˆÎ2^ž‘>ˆÀÛŒ¦€“ž8ɥɢ¬•ô—!kF€ ܤRM?†2Fr¤AJˆ!üßô‹bê(• ²B²Ã©¦7†õK7nÀ$$[² PL)‰]ª¥ˆ&;.\K£ÇÏÎé:‹TÁÇù8)§š€äò i+ceJ{V°F4‰ÎÌ‘û-·q3 8xžz‡Þ¢×0•Ûô]³]à(ẃu™ –-L×T½ÜxÆ6Ã1Äý´{VÙ;ÕÃ\SNÞï4Bn [Ó¸Â;Ç{­|'_Hº¼A9Ct&^‰H9Ôeé £’it3ì´&UŸ‘™<'Ñ»2ךŸébÛÃöŸ•ý™;÷è>6û>kXäÃgz_‰ßfiç]Ñýîëî+÷ŽkøÍ8l«´×5nö¼TõRå›U—VºH£Œчcžˆ›rgäg±íÕen ¼Ï…Ü+oZz‰$h‚vÔ>:ȼ*ðˆ­¯£&deMhÉù¹Ó<3+’ CˆÃNhøð¸§ZŒÕ¶¡Ë//}[¯’Û%̸•"‰å?é':O}º†ë¥½¸¸^géi}Hõ\:I‰dІ 2‡ $¯ã™¤—3RŸÐ'ôŸr? ÔS¤=OKZë—zŸ^¢¢yzHÞ– C 2HÕgtѼÍý¸€ú‰^£-¨ä${ä|©“6¼+Ëí:Ϭt¯}§x`öî|(d£÷Oÿü@hÄ¡Åç]oô5®°Òóô=³‹FëFý‰‰ÒR&êvó%s½™!Kd¶|%le™Ò/u®NfÈMÆPã.Y­†Þ«-´«þŽ$³†VxYI ἂSWñ´n×w5_ÕÁzÂü„PBe¨ô•_x„OyHnÑ«õAóAé@g’ñFX£ˆ’B ‰ú¬v ^/¢^$éBK-£Œ2 #ŒplØP úªã5¨côßp¨¤3†hݦ#µ£>ËúK #H¡žÔ“ˆI¼¶e¸öнŒ¥¥ª-ƒÉ“˸…R}N¿dUÒþô×I:]'è«\Ç$êA²4÷»Ð….<ÏYj>­ýÌQÒ•®tµâÍ p"‰$j†ÎÑ v3Nÿ g p}–[ô3.Ò™’N:é–3—\n“uü$?É,¹œYfˆé4–Ürš·ÓK—r·îd‚Ž—óijò¥ñ©1N³Ì|=£˜ sƒi¥êT§ÎÿwÌ|ÒIgFê z‘þ̳<")¤ðˆõ®`ÿ£‰&Lw³‹Çé¬ôk lêâ ”J.ÑKôuòÉçm¼´æu hªfpš¬³pޱB å!RØÎ\Bž¹L§él¹Š«¸ŠJ*©$@¡œDÐÎÚ;ùüD W2†¾ò»ñšñœ>£¦ù Ez€WÔ«;øAk˜¨’Néx­G6iØ4\wPÇi<m$ ÕÿB€2m¡Yº—DrxÈaó qÓù,`µ³öĆÛ:>akÚ€½x‰ÂO„&h¼ž$ŸodŠL’±ŒS‡Öj‰„‘H8vÂu' äÓV=jˆ‡:D=Y¸Èâ#úJ:-ð’¢™˜t%'aø0¬í5˜<ÖJ í¯ \H‚úLGâ©‘u²š¡êÕÛùžˆŽÐp­ãbðMtÓüúðá§#ñt²z©•/äc¾á*ºÒE{ë!Í&’(’þ3Ü<©»#2UÊå=Y­!ú¢®à!yXæÈD’ʬT¯³¸ðàcqøeŒDK#.º’À7ò¨ÜÂ-z«ÞfEÒ¢ˆ¤^ʤT  `X.´¿°8ø•I"‹ß˜A'’8CgpPƒ‡j¹j†QGªDI£ЋFJ±ÀŽÅI.~òùž)”py˜"¢qQtŽ®¸qM"y'y’‰¿™Ay67$„(¥”lÉ‘I 5!8Ï!~à 'e<ÌJ5ûŒÛñÈCÄaPN­ž¢€YÆRž—WÅ.ÅìÁÍ^’9ÅFê°£8°%œ2 ¤HJ=lk]FY³È"Kò䌜‘ti+mi­-µ)„ŽŸ·ù,èÐl²É•u¬“ï%[æñ.\¼…aÍð>ì¤ó³g¸Œ:I“µNW1‡%4Ò‚’¦¥”òˆäIžäÉ0~µ(csl×B Y( x“§e§¼,É%—E8q²¨É@/å 2%S2e(C¸áŸDZ]¸pÉ<æq“¬“¹Ò’rÈùO\#5Ró/Dʼn§æ’Ëò=ßË÷ò\Åøpáj.êÆ[F1Q’%×IÖ9øl;9äÈ÷¬“Ér—ÜÀ<«ŸŽs°7N¦2Zs$SìÒ‘ÒGÀÎ\@2aŒ LKA©äIždÊ0F‹›ÑMªæ´õNù^ Asä/Ð{Ôˆ]ÂÿI€éˆ˜GH–´ÂilN€µˆHáRht‘rñªŸ0üè_z*NœˆæŠWjˆ€Œ–HLuie…˜b`€º1QF ’'±’©¥øÎ%lrÖÁä£T2%Sò$ƒ Rõ¬<4'ÀU´©Ü”J,Nì”KH6ìZL¥’I¦dŠS†¢îèià’0à‰Y§@Îßð_reþ_rE¹äŠ—Ý²^Jå!zk%.\TX˜#À1Äà’rRªÅ*©‘­ò¢ºÉ%7‘D’C.9RË÷¬<,óÔÓL>=M„Í-•œæ€dJžäãø;——R*'È“LNÊ0Öý‹£ê¬~¥3O²ä{yTsÈmÒ¯æíì OòØ(Ãö´cçaÙ*ëä{Í!‡ÿ¡§Ó¥FÊä¦ÿÄ3¨_ß°ŽuüOî—Ó¸pqóß+nÜ2Œ¡Ì O2%—RJ‹»]œÈ#—‹e)ßò­¼#·HO#ß@&H+â‰b(Ýhèlúõ°ÞÈCTI¬E>.ŠÎÁ3–HBY©?qÀ~ÈVjŒ`Šta|`y`¹®4ž7öŠÍ¸RªXäÿŸù®¾/·q/mÙ$CåYœ¦ž:R_·E"c#͘a®0/5ív:1˜4fÈãò›Ìå¹@ßç=r¿Þ¯wãÆƒ—Y\ÊÿTóB½¾q~òú®TQd“ã=ûj=h>m>LkóvÍÁÆl&q;ëx‹1tcOè”Ð×Có¤‡Ñ]úIwóJóZóÃv{û¶ee+*»'Ý?{ZÔ¸ç§LûÖ‹û´»â¥¹®ºdÂØÁC[yë»—_3ãð<ÿO»†éïG=!ú$Ï›øM}F·›6&ËãJã+]ï?h럨ÏÂý›7-zïÊÇþ÷}ÕæËö$¿<ëÛ·MNLjõ¢1ZÇ<†[®´vô¯ñ”ív9n ½Ùÿ7é$]\y²jZã«aƒ¢~Œ+ðÚüÏûŽç†c>I$…‰“0¦R¯ªïØÚ~q\áØéxª¢¼ênwç/ÿ|î›»ž•qLáêËç=r×…Éfú½ÒËå"ÆËSòµÞŽgª4Èn­×íú?ò­ðÖ±H®•m3lGìIr!YæHÞTt(©ôf”>Äë,õ窗.mx&s!×PG=z'ØIœ< 'lÃlOØ?“ÝúKà;ë }•¯lÏÛ–™]µŠå®þ.¾IÔÓSÛ±çØc¸F»úOûäÚÚ1^§ùV›ÖIþ˜½Ÿ|±zNÏ'º¾^ðé[/=å÷üžrWô°˜™Þ ÂíϘó5Áìkfn üÁæp‡vç8°BVÈ»Ì×õC½˜3œÑ빊 ™ WèxÒH£-!D“Ì~>å1’¡òžíRÛpûaŽh¿ÀÃüÌ=z3©´£'»õ7~õ]HÌ’^FŠ=Ôi\ ïq©î4ûC—ò¬t±ïöO ì6¦+ð›q©4·ÙbmclÐR¯õ?á¸ÎyОZÚ·4´áøøÄÁ¯öøáÉòû—ÎX2õÇ9Û_tWº½Ÿ7>ùmÄìˆwÌ/8mñWû¯ñ¿¢5æWæ“Æ\£…íOc—qJ^ Mï ´ás`¤™=4L®1îò?x-ðy Èñ´ísÛ+×j–u¢vaÄè}ú »%Ï8nž”·¥·‘b9` ¬ðÑ»u¢¤&´;“t‰Öqä’‹Ÿpƒ˜ñøðéxRHщŒeu v Lꥎ't¾Þ«#ÙÍn"ˆ ”ñxP¥QœMÜú7œNºŽÒ!ôfCôYE )ÔãkF€£µ£pЃRõj¨þ"½üº‰«Ë]¬£èMG¦ýèÄúé³:ä¸è@iKCõ"í¬ƒéLÇs’á›à¶ÚVÛÒˆ›‚ÿ$ÀýèI:ýô"M×~`Î# t³ô¥Cô:YÇ…‚‘àâÞ¼>t#•:F[éPº’JGí ÉÚ¨ ZJ_ºi[íA Zhˆ†hÈà ž)ÚS;i =éDŠöl†C3LwJhÔŽš®-°aÓx鎇P½HÓ5žpìÔÓšÖ$hª¦j4%äE4ÑDYoìF z#Ñø¨!‚†é@ÍÐ!´&”$b­|‚瘵½¶ÁA±Ôs1£„M¿Ô´µ9ZCéJ6IšF["I×q¥é¤…—ZhM6MÒ0êˆÇ¡QÄ«“:|8ÿA€!…xœš¢ñê¤5 œEl,#¤¯…[,az¡öÓD5¨Âñ/ò ­Im©qjÈ9Ÿf…Vp”óô<=D¢VŽDÏ£.Zi½+8ãçSI¥ö¤-q¤OŠ)&®9f0ñ8uô#“Q:NŒ¢‘:ê_ð:3ŠdJt¥ôdvzââ ÃN£(¥”<Ú££B¿à£pÎcÐH 0žÐñ`Æ  ã '\ÆSCMðóß°‹VÀ(éÔë: §©JC0<žE”N™N¦†ÞL&ü\¬“qâd29¤è:O5»uC˜üaÓÉLÆ['3Œ¡ä‘G*“ÿNØt2vìÖ÷yä‘§W0Œa\ñ/xðã"RŽQJ ÉÅέ:ôRê°så”’'—Ó^§é cÚ?° pé<ñÄ®cÚÿE€ÿr•C9ºN®ÁÏqÇdnlF\Ï!Àœ £ÎcšL!™(]Ãä’K¤E€ƒíÌ+8©ótÞ9í4#~zÃÄŠ[ÿ/LžÜHÃôÆÿ&®:™2TZé:nmæ`:·[Éc˜Þú¶s«\ORuwÿ_ŽªÿxÞ-7Ê:OçýÓQeáðÃ&‡‹RJ9†»•ãs§Éä µò¡2dIh|x§¤Ø„ºøïO¾óçÊ??ØrÓÎßaëkt6žê?àÚ—ät «ÛÕ°Ñ1Ç^nä—]VyȽU/Õ[XdŽ×UêaŸ~b¾îŽHŠh•úH{ézWØã¡­BîýæÏs}ÖèiŸjïh{80®á­SÞÃßïÙ_;¥î¥úäZŽH®Yf6š9Ž:ç:ïK|?ùÆV¯ÅO\šr™¬ Bg”×­ÎÛ\|wá¥KüKü§}Ël«lQF©Ynö0sZtޱG½—<½]C÷‹ù„L9ÃV1‡›xŸ½æºï»Ò…EIYŸWøÊSK‹ý/ú}f‡¨ÑoDMœ|²õ%¡ïE.±›!þ¸’ó æŸYZ¾­d{‘üMGêÃÎîaË#²:•$öu>@mme}kïô?ºÜ»¯uÙC…+¶D<±$êæ¤Q­·¥±Mt.yM;™‹ÌÎ2Qn•ÚAízL¶óÓÈ&|Vé|}\?Õñ:Z.’™2SºYW2Wf“™8ãoU”šÿ[VmÙeemKÚêJó€yÀhk„« bök¹¦å7-×DöIèÕz{aJ~IöÊêÕ;«  —r"æÞ¸gâfÇ_—Ô%Eœ B?‹lx×çGäQpaåsåו¶wF9[…Þãjš¶ý]"» ÊFi‡ŠîõÇ ò~ÏY㋚yªE|Âê„÷[Ü–¼¤Í#–í8¿a’çÃêÁ%\ž Ô«õ»_y;$>ô—äå­®i=7ª°Åœ–oUÏÿøÔW%—ì.ÉÐ×´§¦©æ[ƒ­›í#û,›aê]çKõ÷уܡO~¬U÷Ø’ڶΔb©“:ëú®à9^îTQE£•Zõñ«"‰$ŽëýLÒŸþ’LKdµ¼*ÙZ¨.-¢-miM%nˆ% ýOÜHmé@˜~L&ÛyŽúfØI<&Ñô&}|FJt¯î‘WåaY¨šÉzNPÆ!:¥Ÿ“Én–PG+Rh¤¡‰C1ÉÓ½º†,Æ1;åt¶þd¨Á´äJIÄK[Ú‘ÉNvý ®%…$NéNýŠ,&1‰.Ҭѣ§u‡n Sn–››mÝÕV²¯ÎÓ=úùL`{©àÚi¸6ò!Çu'ÙÎ…ÁóŸVÂí`(!3Ä㥀_Yƒd’h¤±‰ÇC˜fé.²é@]ƒ ;“4_OÐÈÆãá gȱú&´£ìe5ÍpÒ§Ïx‰ã:_êBÞ'—½œF)²ú$Xu$bâ¤C] Dæq”– Ñ 5ˆas©¡„B tŸ~C!㘈ƒBÚ൒@ Hà /ûYG#EdS‡róo8Ø) Bâ0)d?XêÇ,Ѩå$ï’‡I¡µ 7dzFpRKáÔsZ·éWú*ý¹‰™¸Éb'µä`M$êâwvÒŽ"Ú¡4’„—¼„QL¦¯´f7ßènŠØÏBŠ© €0|„C€m‘B‰еZÎI $Yd¦Š<ê) ƒTÚPÌavÑ@ ÑVì7XB.ˆCÒHÓP³Zÿä1†êd ܦ€JŽáÇl–ÌøwìÁC-«y“Ð9z–q/÷ YÉ ÿ%RWLŲ˜?Àn>ç5V‘%Y:B3t33™É,äiIr0)ýß pj#ë0t.ìò(Uø(¤†Vج\n6ã&Ÿ^TKÙTPJ…U\ÊINu‘O®¬eŸ®%—½òWÄ/x6ÍÃJ¥K%Œ òÈælÊkPrÎd"ýXÆ2Þ8§WA} žt=©[u-'›áùÏp8ŠÉ%›œ¢T?æ$vy,HÀ,Ä!›rd$^²ÿ…åá8ƒ€#lòÈdž“ë¢aáJ(¡„–v5oi ~lU4Ov"8(J´”0ʤ;UÆÿwl1Èç ¹×Mº–£òˆ<ò_D…8ê9m%  vþ—<äM¶ ÅËiþŠ;75@#ÙØ9C%£T (À.Ãi èp·SN¹ÕNŽ ¥’ÓVªªvœ8-ü€®äÈ š§@ FSŽLa„Q…û?Ö«`Ä2\ê&]Ëïÿ"Áy‰¡…ãO3\?ä0ëd9Íp0½ÿ þÐÔN!.\„þ-e×M•'›<²)¥‚ ìÖ»þŽg¶…g%G,G|°WAIös½ô}~e­¼Gn³pð—TP¡–žVrü?õô =ô=ö³NÞ Fqÿ=­ù?ñÌ%—=ºVײÛ¡BK¶›ãà ‚#d“ÝD€ƒ£jIgôMý”Õò½<à Žm™Æ+Ó¦8±¼fI½×ç }Ðùœ=ý—çOl+ÆÝ½®w¤ýV[†qŒY<ÏÚs2ŠXÅtoW_c`Ò¨á=2ZÕËò´ÿêÁÝSr–Œú¸çË­V¤}—´?2eË©Ãq®7Õ®]ôB9!å=sœS”sšž„éìæ¿2š(Âa'ƒ. ‘€Ì0NIã.ÛõÒΰÛâé¥kõ1ù4ßP±ÆôÜššÁ¤ÃϤ>g»ÍñzXTöù'?üåL|LK³åÌVsRÎï4.ð¬ï*o™qÂÈ”áÞ…|Vès˲þ]~tnúýŽï®h‰#Î8GÚ¿v·|$ȳcÜEík u¿ 7èƒüIÛÀæhs¾ñ‘-Ú6Ï}¸ò£²÷Cï¬ßµùž›¯˜ßúÖäóŒ©Ù6)d cÑçã×güâ?0ãäÃU0rðŠ>á]®[ÑqQýÌ{Ã7‡M )üãƒ?Gä~·êàšÂíýnÛyÕº F¤·j=2igÕ'5ç×\óákóù¨ìû—¶<±»ÿÁE§¶-rÌþæÊ¹v»Íc;úbÈ&G²ööÙo­]=|ãuÞ/}3®Ð!³Bª4L¯ÕQò?)’W+6¤e.͈ŒËÁqÏœË.½heL§È#a‡ÚŸÈÏé¶îê]Û½mî2ÃÓ‹Ü*)nÓùûä îüprêøcgG¾~éç ?ußÕ¡¦Sý^_$0®{ö’FÍ K{,u;lvÛ–Ÿ~¹æàû®=^“Ò¢o›?;ßfì³-·_«¿iwýÁxQ’ä6Û[½- {ôe½–gYÊ"óg3Æì«…æ<3]OÉ#´1êŒ2™SøvΜS¯œ÷y;{Ìö‰¯\ï¾2>¤Ê9Ü^_¨a©7¼arã³k^~ó“%¿®ž^´¢ñÈйÎoQzÁ±!¿_ð°}𽝑±c¾ŽGmûä÷wNݶ7©{{»»ªpQVÝЕ=.L2Ý3bžüL¼V½±ø“Ö-W/ÊÜ ¤-è1;þªÒÆãÞÅÞ|+üÅo¾ÿ~ÓÈ=7þÙ¹4¯ Ǿ8">® qLiÙéÙÓóǹú%ö=¿û¢óóý…Zó騦íQ‘Yz•ž–À˜úåOmžÝkÒ¥áá—…¿úpÈçÁêßj¶xŠKÂËÛWõL1“»'tÇ«ó´qõÑu‡v¼w¢Â^³9©$õS-1ǘOÉbzj'Íä> ”d’­j¸Áèô šB¹[+9­3ÉçW±K-óõ1½Œƒò±¬"‚HÄF±”‰C=Ô5 >4Ð tÃÎ!¹Híº[Ð@Úൊ`%câ“hb´Dwщ*ê©Ó:Ù!³ðòWËaL†¨)mI£ ŒÔÝÁrH£~"Ç,Ð%èD(;ä"~Óíæ…æot£›tµ*Ó—¹H"‰”Dh ˜ÖZ«;iÇïÄ}î`éI=8,×èiÝ¡²Ÿö´§Ò]™dÊv¹–,~ånqQ)eø©úG¸5m0åI¥Çu“Žç8½èCa&aò¼\¨9ºK'’GI4PO½Öýk,/´£-e2Œ¾®ïÐ_¤;¥;vüViH" —mr­žÒot¼ñ6ìºN–Ë)Ô¯õ¹‚Ѝ¥ ­)"Šh=ÍVu+1ÄÈY¼øÔG­¥µ¼)cuœ~¡ãõÚÑNÚYn?~5iI’DÒ’dZÈ„è^ù“ä7ñÉ`¨/°Rߦ‘e ©ºS_¦‹®¥çK_ÊN;Êq0LcÉgµ~ˆÒ–ÎD‡h±YÕÖ›Š`I{ÁP­×E¬×hK[ÚRÃqjˆÁI ÇÍ„áÅ{ŽCáìM„t"%M>’çõ#ö²’?ô¨ŸRŠ2Ë8Š£µ´•7I×ú$ID‘B:)â¡ñŒ”qò‰Œd»ÒtéÇ ÐDöâÔýDb6n*®&­e‰:„Î8õ5n’FQÞÓ×yŸ—e+iGÚÓŠ‰d'NÝJ$¢‰ †pˉ"Š(6³™Íl`¤.àj¤’H¢‰Ä‰ƒ( ¢¬·7ÎF’C@f¶<¬‰ÌÕtù–ölR)•R¾&]FSMµþuF1§|€ƒãò$±r´—5r>?ËÕ¬WU“Îvë-AÊ+rNyƒYG­¬ãò#.Ψ ãÀ1¨&•jF1PFR+RK&%š…~B±I¨¼j–ì ‡lç{$ûɧvëuZ›Ü #CFá’$qSB1Å–ø'.=ÅEt’ ñК:ùX.à¾cŠL±hFsü!zZ“%SÙ)WËyœâqÙ#Ǹô“l® K°ÙòKðJ’Ñ™h츭z gK¹YÌDØ#B G9N(.\zFy\Ηy˜¯/‚¼(¿È ñð-1äàÅO 4B¡d‘¥Y²I®‘üÂ’o”§9ÅN¹‚ÅŒ”{$ÌxQè.H™<"Y”QN.vìëêû±cࡘJå˜ÜH5§¸QFQÝäàsPJ)åÒŸþ´§DJ¤‚L2ÿf Ÿ-*VL±ì‘©a£hÀM5õÍ k?ùäS/‹¹z9,iR¦Ç9Á™ÿ*‚…!†Øˆ »U¥Ä¤š2B°a#‹òd»ÜDµ¸yLZJê°QŠIS¢ˆ"JŠC–RËVqM¿å0°áÓ [ÖËÝTJ‹¥Q ȧÞêó_g€ë©£7 dIµ4ÈvJ‘lì§ù€Ç"À%”Ð(R-i’Eobõ¯C†S ó)yB©cB%©&;&5xðX=Œ§v±‹!±ø ·ÊUbà$ÈDz X0T¢,"B ÅO#~=MÉ"J|R#†Äà'¢‰ßR=É*d—ßC¶!:")*îˆM×Nùy«g™Î»TŸë*rϨx§¶Â»ÈYál{Xh½ÞÖ\>™ò‡Tx»{¯13/ï3dP»Ï[ÎÓ°yí\És¢z pt\˜¸-qFL¯Ðwë\œçïˆÑ7å#[îã'~ã0Ô£]ä2ã¤1\V;hÍrb׿‹ff]©ûdù‚šVå&8Æ97;4÷kWýظKJ_?݈tL‘¤´e®KK_)¿KŸôMsÞœù‚uæÝêoëNûZD ô\~MC•op}Oö_†þꕬ/~ZyÍŽ?lÌ:³  —§°òí²@éuýC~ óÛ¢B>³=^WPÕ©tùg`šo"WRU×—…?–väü[»¹dÝè—û?úÑþo¿ÜôIÕgî>–õü]s™öZÇÏÒÿL){=õ“YëR&‘yÞ¸G{Û;·Ùñݾ‹ŽÆo«­ü­¬,\‹âhWxÛ?;äV¸ú瓦#Þcò€@v`¯ßÿÅ–&l=rרk¯¢agÃS /Ÿõ…®¿¾"¢þ0ÚciàÞ‹?u¬ÿ<ÿß"ÿUog­¾vÃLc£õÅûÜÔñ²¡Ÿ„î_÷Ç¢üWŽ­ÒkB—ö¸}‘|n´”6½øBàƒ7z·êtÛíc<¿÷Ð=w÷9øÉ«¶Eí{ïù׿}ñ²~¿t_ßaî•{îYôldÊE-—'M~¢ÍÜ^³Þó`Ãþ/¶®¿m×ý7ºâð¸Öéç·iŸìûßµ_½³q±½¼uÑ󿥵áí¡Ϧºöuφ×ÖTv~ï¼§Î{|úö¿.<¼ôÝcŸ½ûc—~¡½îîèùùÇ?~pûñë\sIô€ˆ;–ž÷Î¥Ÿ½qI× f ùäù¼‡~¹i̤’Û_xê {'çg¡ŒuŒÒ«÷ò®Öó^!mèBË|¨§žz¥%:ЧIg§þÆ”)a×è=rµ*ËõiG[ºê ”é0Vj<¿“H‘(6LËô Æ0lz;«ôFh%ìâq\– ®˜TN–c²Ÿât ‹õJ.! ®”c¨ 1/2/1/!Ÿï¨àJæR àáVöêzPiA(õô ½Å'oÉpÓoŽÓáTKý¬…{¯à€N`¬NHÒ½šÎ><ìf n¢±a`bPRSGèm8XAŸ0† Ζº€z|´“|Òy—*V2XwëI³5x(Æ §U•9€Bll×ɪº]·êC|* F+i…GßäJu뽌XiK[è>öýK_“FL È œ;¸Œ_تóh¯)Ü£ãyGߤAoæfjiK[ -•\Å)6éÍ”S®-Œ¥²ÐØd×ÏÔä¿k'ÎMÇô(‡ñ0œ ’,ºäÄGK¾$‰$=Iƒ&jW½H["¤K°Ž«PzS€S_æ0Gy›3<ÂlÃk¼)÷1šv\i~`öÓ=ØiE]¸›¥ÚU (g¥~§ÓH “ý(±$P¥Wñì–iÌà$ZažÖLÚ³P§É’L/^”Ý8q2V³t%_° )8pê ì¬á^”;‰ÂK‚ÆpDPׄ§ŸH ’cØ9¢dk¡l–LÙÈ®fˆ®Ñb-ÆO= ØhA½šAÔð†â˜öâ  ÔàQòº|._ëOÎLÖnzX'ÓSßcõ$¤X:ñ×õZIÔ²NoÖ÷¹Qn”rBi–é0—ó?nÃCkÂ)Ñ Ž±–m\H>]hC­w2÷y_ß§-©„É@ÙÆöA,‘Äâ£Q—`9wâÓ;IAH±® º‚g½ŽÈ9Â>çnÝ«#Õ †BéLg¹€cD…I€ÁƒÊ6ùƒ5Tó¦±H¶Hµö –—yQ—°$X!x1‰l”ld3d†å€h.Ï‘DIg4K6ȫҒþÜ,­( –8¨Ç\ ˜ŒÇä¨ !–2‰•W)g³hY”qј²–^ôfíÙÁ,ºàÅE4¹™Y„ò†ô š|òiM,±rš®t§“vL —É2ˆâFnÑëôZ®–?å~åEºZút%„Q²!ŠYx¥';è,ÏrÅÔɼÍÿ¤NÚÊæÕÚU¿–g)â43Œ®$Û’Âàu)ìøÔE)OÈ|frXVËÛò>Op'dK=òÑUM}ß¼AßÑ^,”Î2›{0©#x;ÈL@(Ë—I\B:pš7JKZÒR:‰GË%BîÐúoékº€Ÿ(•qŒ¦‹øy¡/B¸¬·bKC%“ÅI1# à&€``§%-‰a OR.×Ëk¬b™|.¯X”;¸êÚ­Výø¥Œnt£„<"pcbZUcÏVì5)f ËÍ2˜ïd$y›©RÝÌu¥(ô¢'=ÅÀCM*¨Y/ë±1ˆóhä(•t`-[‰“¹\ÈtŠè!뉔 T¢TŠ`§5]èB(!V•ì`Eñq}i'È÷F»$„uÌÐP|øÄa]ÜcbŠ7»åK†bÐWFr#^NËÃ÷ÉÙk õâÅ+ã9OΓzYÏJ"›]­t?´Æ$ñ+6ÚɇTr¾¬ÍdO4ËyJž¤’jªy™gõeú0޾܄ÈÍòÞµbžë°9$‡y˜à½¥dQÆ­Ì”[¥›¼Îóì¢HvHWúqµTS‹Á°j3œÇyˆô–J¼Ä2Œö´â¨$[—PŠ•`ÇÀ 7¸Lq$þ¤»Uuúì\ ©xñ2›Þôæ|ùD^$6TRÁSØ€EÀ1é€îä<ë;‘îØ%/!ø°!¤‘ˆŸ»d¤tc±œ"_ó5Ÿ7ä#yCf1“Y´¤û°Óš —Ð ;&e”RÆL™ÅLyWø€"ò(¢ŸTK? Â1š"ávK»„LÇË:±ÑžIìæKk] V®D¨Íœd½¹Ö¸ˆ òªô/yÄ‹`‚ƒÄáe=÷ÓžÑò,r7id½Õ^NäÆ$‚‘üÉ)"?«xáV™”RjÕPº-ºÒŸ®ÄJ,Gƒ5Õå YÉÜÌÍr;.Â8„“• àVi/k0iOeZFµÌ–ÙÌâ>^•ŸÇˆ!† $Šb\–dç΃ÞêÂEŽ´¤'£¤¥¬c-ÉAšà`&‚ŽÐ‹rz*±„Zx׊夬áQÿáÀ(ó€wªÿÂÀÃ1y]FKozé6ªéçÜhïfÛn¿Â¶Ý˜¬íõW¶È#2Yêµ”RŽÉz*ÄeO³µ2¦ß> ´ Îoœ÷«†wüwù*½}X àñÖ5DOpN4#†Îïwo·§^˜þ^ßÕ_­·éýà v½StÍ@z?Úo~c\ØÆIõÔm úª¶ÌþeÍïÅï|ùõ´«£vÛÛû3î~`:“ét^Ú#-üµô÷GVºÔN©ÿÔ—ÖØ¯aÌÚÕ;®Ãâd¬ÞhK2¶[Ö_¹ëÒ}Ëß¾ûë;w|õŽãÀçw3ã…ÉKÛži¹ªÅBϱšªo2ט_˜n½Ö\ÀNßøÆ­ujö0_ |ÌgèÒï½þõ¦“ó£*o:?·»‘¶åŠùçŒN©\SVTzõèý·vy¡ýc©ïµj;sõ#Η®ßÒþð‚A=Éìy[îøò:†Ö‡×å{ðo·MÔDçË´÷§ø'~o8â)¨ëõ„­«©|Çð~áëî›r¿ó~ûœõŸl=½§°òG÷™Ú[ͧbjœ^qÉO#§z¾ô,õ¼þä'oŽÿâTÄää‘í?ÝsÑÑïö Lõ’FçbÕK_ß·~Ú‡k¯Ø[Òïévõžwµo"#ˆße=Q?ÜýEÉ«H#<Ä?M§jyåÌ¢ÄÜ_v‡¥qeøÐˆß"¶Ëe°|æW4ª°íCF÷Æv‹;•´§liÉk®nïñò '£G ŸòâEߌÉñ•6x÷šÞ¡MJÖ¤ncFÝ£ža5cÂF9ºrØìÊ?À·Öæ¶=Gɇ'¾ì».º²¦zQÍʰ™F‰dÜ‘}ÝÀI®Ïüªv½Òå“n;·ZÓvoFNIfÞg>sÙÌ‘¥=?FñÐKž÷oÿrÒºW«Ï>2Gúù <îSM›÷¼†Ûb®q>ižœØf´ êô}—»âJ-K­8oïLJ.8~ýÂ1÷»á¥Á‹zlH›üáÕ_õýé b{§Ú{üæùO=õÞÁéo\þóøSþ«OÍ÷>Ÿñþë¤ÞF®’‰ËG¦ö7Žª¿Ê—Zo÷`+“Ö¬×<ž§¯îÒùÚždj¥;ÕQGŠŠf[Ѫ£\EGÒH£VH±¼¯EúŽšlÇIkMÔŽf7fò3ßC4m¬ÄÙ³‰¿mˆà9®ãÍÔë5•Žt¦³ås >ÁXÜp¼´“t Bï`. ì`»~+—ÈãÆ³•9Å,±R?$†8"H ƒ“|†êV}ø…ƒ ÄÆÆçƺZWªM¯Õ·t¸uÇ£‡ÕlÔmúˆÆ°$ºá¡N¯ÂÆp~E(ëº5¨£N·i¼ §ð“aÅÔºõÕ‹—~´§=óÊ0VÒ“áú¸¾«£)¤°éŒ\ðñÒ@ƒ\Nºè Æ1D½ú½>gô‘|¹Xg1‹ïõi[ ~$¡TÒñœx]ДÌ!‡y]æÈëD BoÖ,]¨=u¹vã fp»ŠÞ¥ …dâ°á  n*å%y^†˜¤,2{šÌ'i¡†VJÒCÓÏ11ƒéµ-I&Yòå„é=¥‹µŽÐ|ZSÅ›Ô⥆4 =S.ЗIÕù$ÓšV¶t££QG!œ3™ñâÇ”ž¼Dˆžf mt¡ù†¶  §éˆ$sïèeØ/û5IÓ+t¥ŽÑÎz¯®ÐÙ´c5­­êÍÁ~†ñ;ªI‘iTé»ÜË:½S»ê ´§íq“Ê¡s"Ÿ±DÍŽqH‹µL—Jã[¶°X‹ÌeæOº‘Pb‰%‰$’É ^W诺•´"Œ¼aèC±ñ ñ±„æGú­¹[Ñ­\IºÞ®ðJ4sN 68›g0xU¶IwéÄú¼^cîÑ=º“p’·R‰à~üÄH{Ú‘ ¥ ¤Dëb=@ -)ÆFkl„FªE2SiM‹XJÞ¬—ê>Ú“F{+ƒÀº\*ªd“l’Ÿu–ÎÒöSÜt3³6Å Œ`Ô]†0˜!ü$ŸÉZy^ž—'´^þä”ö2O¨©ð)$O…Q(3¥…ìæ< y÷œª¿Á§’ *qQÀbé)áòÑŽ7pŠ ŠÈj2šmüˆ#dsDnÂȨš÷ÈÇK>!ÒŸÈ£¥ ¥2\ò„Ⱦ§/[È!–l+jÒ2ø¦–jŽ`ÇÎ6J(“·¤“¤3˜‘ô –*jðS€ŸRn¥ˆQ ¦‹”K¦ô¦„Ò¦ëOj©µ¨âq YK5ÕÜÆHFR(¹2@ºÐ‹<òØŒI&ÇÄZQ‚ñÁ"@2ŒµD¡a’É>à×snv=‚‰É*”§Å'ƒåÛÉŒ«åll”ÒŸjÙ(¦ü&²Cvð«h©·ê­:—ÿñ!QãoËÍ2Wº²…ï²Èå$!„ xÉêÙa%Ãà#_JK6rŠ­ò3d‘‹xù¢éF\ª # © òÈ¡œãÌ :ŽÝ„áfY “<!y”Òùo)Ðg÷}“:ê©7fed`èL½IÚÑšTÚá£gß ?±ä.È>)³ª uÓÃkA§w Ò¡iÀËI¼ˆåH;”É™2|–s¯xå$#ø|lÍR—ÏÞ®|/euKÆ+Ù×ä&_}¯'g¾±êšÃ“ÓÆ„.™óЖYûÂN„Î ½cѰ—g8å㋾?±¥süwq™±‹f4æÕÏ®îížìžÞò½Ô–º°`JiqÉš–ïD„'|Í{À•µ¯ÔIý¡°ëCn‰ s¾ï.=N#pËIiO®ãö‘Æ Û•µë=Iõž–ÜýPQ×ÙW´+c6À‚^(zïÃoæïY’ól¯‰)öI:•vr""'|`X»àèêãêmõn–›y¿ð~ê[À¡ØýÑ—FÞ½±rç[û—<óõ“?¾ç¢F… œyE‡‹ž]sÚ³¼nÙÏ>n{uÀŸ/eOv%†¼ïâ0*£Ü¯{®ò~ÙðDÝÜ0Ÿ±+бÌSúDéi¹NÞ2ò‚o¬íV÷A}‡¨g#î ·Ù‡Ú‡ÚÞ\¼®Uz‘‡ž ÍK¥ ©”¶±µò$¾+熕—·À¤Œ«¾Žøiõö×NÊÍ/˜VúdÈ}–ôÉT6Øn°w7Æ;;8.·§š¿›ÃÍ ŒK¥šc¡—;/v˜¼À5²LÉ%r‰\Éý’Éncž— ó˜ÙÊl‡“Ø,÷Ž:”b‰±Œi/ 4’Bk#Æ1ã¹V×è7ÌÐéú#j´`[t±U<©9nM ú4;HñDO¹DàÅÛ´ XB/“9F$÷²‡ Vê`^×0É&™*È4ªq“Š 0ˆ! e»€4Ò€´°ŠÁÔÀäBVÉvY%c0ðЋ>4²…Ÿ Fá$’H^Lê±R®LëòœàØc'«¯©·4Ò•®Ôëh}UÈïrLŽ2‹Í$s„#”ZiEg °W‘ ŒÕÕ/ eµ¬–öÆÆF½ÑüHý2M¦IÚJ Ôÿƒ+ÙdÓÈ{|$ÁKæk幋F*øŒŸ5T;èt©–\ ÇË)Ê #ŒPqˆ#‚¤È%<%÷ʇ2IºHWj‰%')x à¥öœ9˜€Ý“ž$ßß»[›Ì¹^®§Ìêg ÔDê, jå2ð’†H–|Ù¯ßè7|##d¡\N ´æBÚPËEú1%r…|BmÈ%@#!¸‰%’’%­$L/Òwt(˜*Èår5…¤‘ÖdÜŸ%´ x©ÁË,£‘ ŒàŒL’'¨ ýDáÇÛäp LñÄ«_±ƒòÊe4Ô 8,ÜìjKN^á^Ô¬'SΓ÷å÷³WyáÇa%ä{ñ2‘4*¸XßÔãr,‘%¤Bƒ…Fóû«ShM‰.Ñ¥•‹eBðº<ë&ï9³\E%éò™’_¬segÍß¿hFó{qS¤^Np3!ˆŒ‘[åSnäBI`¡`é–j©þ—³‘A§p¡„³‡ü"wËlyƒ5²\f1A3ôBy[¶KklØ¥ˆBZó »¤Fž•õ’D.9$ãÄIgo*þë¾e.Ây’#’&ÉüH&¹Ôž³gýu²†’’+¹@eV;玫9áF]%O²$‚RJIø\‹Ú’J*ßñ§q÷q¿^&ßÉiŠŸ$Z¿ ÎóÙ3Ï‘„K•ÔIÈ9¸=³ÊOe¤‚œ‘pšœ=ãý—Lž=¨â$„\*Èå9#~y„Ó À…‹ÖVÁ«`ÊYÊIà#\ÒUÞ—øA¶PŒ²—B¬¡9†2ʤ"ëX”Íàä3\\R.”PF‰íkÛ8£®zhmN]ìÄð!§ºÕÞûþ5!#.ó?xÐ|;y„CöglOϼöyʎΟÚ\}°O‹/cƆWæ|æ0‚UÄs¥RòØ(.©—å:y8pÔ ƒ]xuñý .›³4ýã·üòÌ-Ú6_ûxäÃae+Ãv…Äë$­Ö'%EröÒG'à4_WÕÎl8Ú0aQø¬WÆßè¸ØÖÚ8ôuÍÖS̲®×ÓéW<ñÔ-ßNxã²æíøß÷¾r•ù…í qœfÇù•pd‚ü,†Ì•_e»¸yxÚÙ1QTRJeZ ~u3Žg¯ÉêÒ%D®–ëuvàšˆ5!Çébcïܺísï®Söv-ÛdSÛ_þhìp÷ E/YÞ˜ý¿¯Ò«^w_ä¿E^¾oAÛèÖGÏkXi[Sr]fµ¹ÖHtLÓz¾^Ä\F!¥dq”–Ä4MR™žâa”fÍn¶ãKû϶€ÚºTµ­®¨ùrHV¿n=Ÿú*û§Ûvµ=¿[ïÄaMe¿|)K¨Õ:¬hyXÆKK¼Tp@ÏÓK¹€còÑà|c1KoÐwøÙþ¸c°s¼ç#÷C•³ÏL>ÙÿàWÎTÛ]C)G¹^®–h~ÃO ?èyz±Þb½ñ1®g(ØÎ7ô¢#—Xßò'¿Ò‹TzZ=¹[K@ŸÔÏÌ#¼(Ù²xkï ß1´è¾ªÆú=æIsDà…¡ËûÕw»àȆ“3³Þ´«ÏÝ6°Ø÷’/ÒÿZÜ–°ÞFÞŠ§ž®ŸSöÖ«üæñC—¸ÖU®O¹5)®ÅVKÿ³£W¶šÝu‘cÀ½Guy·G.Þ7bôÀÕ=Ë>²á“}½¶ìYqè+?¿°åÇÎÿ®ûý›ÂwÿíŠïöÔµ‡Ç[?¦ñK_²d…Ü¥Cé¢-ô>¢¹€‡e=I`!Gø®ôaBàº@i`YÔÏѿĄ¿Ûâ‹û6]Û¢_ìOŽ·'ìíþx9sOahÔáÈ]½Où^ö6FþuYLãñ7²Šžâ%à÷¾Õ]¤½ûÛ¤ÃW4znéR™ÍM 6Ö{Wõ<Öù¢v‘ÇŸÊÌ÷òØå«¿œwý Sã6¼tdÁswz¾×ù`ûçÿè“}¼ì]cö-øã‹á·¼¤÷­]=©1?ÝTx]6ǽ¶ÿgø¿¬2Wq# xÝ8-+ŒiæýJoÃGGÚX—ê¬v¾W‘[?ÖìïêS4®ä'WcqbùÛ3œsnúqïpÿ<ÿöË:8lt£«áëÆå%鋇o)±I¡åZž–/ù…Ý\#=Å)u\%2žÕ¼Á£¼Ã@YBh`,é½±R&ßcǤ–R\”YÛIø¨'Ê:7ܨb G)à4ð‡þÆvêx‚©”S¢YTQ“˜4XåyÎàpìx©Öb²ñpÙÔÚ]lþœ­äìÀ[]œ$ŠKèÌãÌÑ[ %”ƒØ00ðcB#PM)PE`à'€ ! ÕZLnÆr†ÊhA5¥äRE>(aøñ[Ô(€ès°Eõ¿£ nº™§ge‘Ìã^àŽr”?ðRAÞ9›A.‰e*7PJ9Eœâ§8M-äPMÙDjÑsñ9{5B%g¨¥‚<‹¨x(á >j©%‚Xb©¢€¼¦Ú¿ÑDk&‡ù]>à=ÞcµjpšéL'Ž^ô¢'~øG­à`Ÿ=”£´‡¶góu„\Ê)&›Lpvj0ô 54ð8J,áú©®`™v&Mûè BØ)CÊhꨠšzJ©£ŽbëršRpœ_$CÚI;i©Åƒ‹ê)&‡:Š) ŽPìÿ‚Å|F |‰  œ¡6¼H3Âlb‚॒cüN#ósù•-ÚŸpa§“*ò©±.S«ÆN=•ä ÄSN9|ËGò¤v¡=¿s=wéDbR‡b²h$@.@´E€ƒR”Í)J¸Ÿ[¸… rù“ýleáÖ!„Ròω:Ç[O ¡x¨ ZÊqQKH“î4×£:Â0ðPE!5¸) 7ŽÁ͉߇ÿz‚FX=*u';Ù)Ÿð ŸÈËò²¼l6û˜yäqŒ»‰¦'=ðX}(¥T(£@†QJ>+ò AyRæ~í¢]ù“*qQGùÔQÞt¦îÜY'5@. ÎP‡›|ê¨Ä…êó]I0ç‡ \ÔPÉÜTS€›*ò-b4GOPE•¼D–æÐ%òå$À è_Ñ`LJz ¨ÅÅ .ãRyMž–'Í(Ó47“B$ÿ£”,NiÅœ‘a”‘Mí?"ÀP† ;ešC¥ò#JåüÂ6~ ŒR¾&xâ(§S„"„Ðäàr©ò¨%˜øJS•c?µ”ð;»u£¶Ôülà;6Ò†TR©ÀEeS¯9å)¡-à"¬¢V¡„r…\ÈE\ÈdÆËHæ3_çSGg¨¦T³pS&ßã¦ìo÷÷Z¦ ÿïÇa¹'j)ÇC1¹ÔQB*uçàv®|Ú¨£Œ ª)!*Jš.Í‹uURFª(&ª¿ë ö3ƒ,ܸ9M%E˜TRB!5ÿ(îõ×^&á@5Ô6}ÿoòt8„N-5ÔXŸÿ^(„S”RÂ"åkÔcõD4¡(£˜,8 §ŒR²(§˜*)$“ Él"ÀßG*pᢗž¦Š"YG …äàý9+ 5¸€Z Já(œKxܸh‰›òpÿnÁõ-…LáRE:PK!œ@²€³”ÓÙìLi¸uÒØÿE•*È!‡jòÈÄͲpŸS¤ê/‚×U‘¯™Ôà’u¸) ‡†ÈíY\Jš}.j’žf˜JÜœ¢’Br(§\*)¥ü_#ájµÈ¹‹Ì`ºeuœ•ö`òÉ 8 ¸ø“àæ8”p†Ê(à$司“ò¿ápÖPŠ ehåÊ:ª) 7NœÿJ€ƒïÍ×L _Ö5õíß p.ZQ‚וšÿ3[놰u¡K—^“¹À5è•]ŸGnÿ¶¡oã'þÕt‘.t »Õ9ÓqÙá[2ç¸ ›:ÔÑh®2{èk“ÇeV±½Îgvl3¯ŠèÚÞYóó£û§8‘?§lªãf{¶­ÄùãÛ—áo‡ä8ìQ¶ßW³“y9Ñx)¥‚¼¦•>xíÙýX«Bîuœ°—|rÇÆ¨ß§éïú}?ž½>ò÷7&tt[çÕ1­‹â½T3ÛØ$Çyšyìg/%œá$%äñ'EärB+€FVa2Ô~Δà—PB ÑI8Í‹dËݲCŸòm‹ú0úª¨ñ1?%ä%tî|¼nGƒïÏVůþV—8&åÑÚCÕÃϼsÄã\a³¥^RrmÚ“^o} ±K§6þßúŽš{õ4Ѽ©Ï’D>ÆE9-¸›)ôðkàÆÀWÀ6zIw<ú‘yùk` ×r)„\ï,s\Sü˜{š1oÁˆeýÿ÷¿‡.½mòÔ±kz¿WþdeD]ø¡§€%`ûŸq±á£ßê2ºr-øKüÃü/Ê]2ŽžTh¦ÞŒI6Žiô7®Œ»#¡°e‹¯nýëš+kƽ1pÊ®éŸ^vÁ3»ßôqôz¶OÙ×7ÿ€?5p»¬b «­˜ÅmÀ;~üW>‘ ô¥—÷gßFÿËÁßËhîc¼¿¿sàS®fœÑÞì&–¸@¼?Å3ÕÑ]¢Ó¢µÏ9Rêæ¥×+>úôÖ ×M¿´Ã¤»Æ|rþÀIJ³c[Ò@ÇЀ=êÆÈ5‘ŸŸß¦¯½›÷‡…?¯úåãßkò玶%GµÈìwWÏn{N¿øòã‡Ewlñã/7þ~ôè—«ÚðéoK; ëšÚ³Ï‡å?ìÝ;%ðX`ˆ?wî·n¹úØí!×ÍtýÆww>òû¨3÷N=l‘Š@_sª9ŸË¹W|:×l~À…Eæ{ær/k™)¹Z¶® üä}+ÖØ²Õæí»ŽU7g ßÑDŽã‹Œ1t@DXäÁ°w{7¬kØ?<á¾ÄÃkm ýÝ—Rž0/êýÅ_ß¿ð¦7kûy¯;œöPë+Z¶ó¿åÿÆÿ}øûU‘W™O9>ü岿*ºoåÌ5W>3(jmD×µon¾hwÍþ1¾Vt²Õ]mó3*ŸÍü`ÒÚ±wô½ZÆd¿Ös±ížCÕ»Ý_Ö^·<õ‹‚Ÿþô½ëKõÝÃzƒÞjÞ'Ëä8w™k/¦³Àoh»¦ñi¾ ɻᅺUŽ{ ®/ŸèØ›ûý÷ï8«¯yÆ™óÛ™QEß~4ëÇϹÈþ°3¥x1û¿÷ýæX~çkå=é³û\ÆaÂðs%•¾×ýƒüÏZ÷½~¢2œ€ S7-ÌržÓj–ðoñEQdéå?ÿ VÌ&›l}_ßç=ùH>â=¥ò;Ãf]fòoÿW,}7›Li:ývn øMs£?hÊ'@‚4›Zæ_þµcÃfÕ0¼EoÖ›qŠSžÆÔ¡¬¶ÿ«Ÿç¶¤M=ú÷_þõ®rÊånáfö²Š•´¦5­ÏI$Ñàí¾¯ð /3œÃ¢?íhÇãd’I &Šý?Þe)ypi°¨…çÿÇÞWGG±ýþzf%Ù¸'„žà îîÜÝÝ5xpîîîN‚»‡Ä“ÍúîL½?fp{s¿÷Ù{‡_ÎáìYf{º««ª»ºKH ;Ø1;ë“¢u ±ß[¾—ÒŠTêa†EÐAwðà!üærȬ96Sé.Ý¥»ÖÅ»°Õ‰]ʹ;Q‹C&Ò‘hŽêl7ÛbTš8„3ØÃŬ5ƒÿ:R Œ´Ð@Ã&¡ š‰LdÂ+¼Â++þn.$ Û¶8гì^¢5©Á‹/üëèèÛŸñ'à^Á*¨à9䈷ީJ©w~æj‚€`Ú±æx_êHåðÇq5Q5!HwhÙèóU¤{Œo99©µC;,ÅR4Èv#÷×Íó︑~9ºœ= àÏü=¾ó’ÊêU „’²HMjLÁLF QzkfVi“÷×÷JF™¤m±Gì   Ð\Ày‡qp±røïzûW9ýÝ¿¿§ƒ¤¤«_ ƒ§à gz€¥XÌÂ"¼8ZÓýŽ’É(UÁ½‹Ç¸ËaX=šKsh†0©ø™Uwål^¾rH„Uƒ¶p†³5›éý)þVâÛH%N{‡·x‹÷x÷R<°5å«éû÷ýa`Ö™­ˆŠ¨À’X"K¤ct”Žâî#’tÿ^Çþuöþ¢ÕD¬ºéW³æ3—øGn½Ùý{ÿ{ýÿkÎùõÛs*iÙŸÿ§¿T¤~;’¾‚˸ŒÃ8ŒÃ¨Šª¨j娜ÌݯzAÿ8ÆœŒë×íþÓß³,EOsààk-ãgBü·#’çEšGÑÊ׿k9ç}ø·½ý é Qg幯=û¾oø¹ñÿfGvÉô•ÖÖwJÿn6r:ºß÷ðdzK.}›‹ßÿû#ÿübÖhÝ¥|ÊtyQÙÉOA_ö§|¹ù£%±w‰…±y¨u¨AAh­*Ÿb£r¥Ü_öfÓ=*Ž&¨òc…Jlž(ûË-÷j¿¬k¹ôÉÝËpX°\!8­c]WËLÑUÌÇ&£;¼¬53þJ7Q¼MNÔZé+gü¤3-n z5:¤ ¸èǼ×=g<ûîÓçÞw.¿lãîœhßÖö^c/›‹p¬ÄæßPÏJ»O>FRI’áðCpA]!$[®É+Ûì°¿È'y~v?ÔO,â9ÏÐFì,v6.’÷4ös>بÙK»8Ï.>ï :ò‚Ü™g¸céa3ËÖÝ>ž=a…ÙGl@ËÆ²½¦PLƒ}æ˜ëàš›GìnõXÿøÄ {]sGçP¸ã­y¯‚w6Ø; XøVa"½•×·[§Ú®8øpçó–¯ã:OYeÞ³ø¦‰óS7]­l¹‚+ÇNÇ`˜s fzäàïþØwPã]ƒ.že°3¸èæjés#W=K¬©ºþI]êÇÍ{/tž !…Ku Š>ZøVêûrG²®jŸ¾±­|.ÓèîèWzóÄ8ZOÕoýübæ½æ¦È\#r-ó‰·´4Ý5œ¯}³÷òÙjšD¾XQªlÙÔòm»/žºtý2‰¥ò–-]~ø²I{J^>ºÜ{ïÝËY|cU¸óaߢÎþ6»V^>YyÍþÑ7Úöv~èYߤo£ov®óõÄ»‡ŽN¸ÔðîÐäe©õÓGQïâm A7´€âÍ[Û[_nhêÂkNï?ë‰%—¥ÅÖë†G]÷²Æ&Ü*ùâíé—V½¬r=_t}*+îZë¢Mib1(e=”'•uA²2±ÿ`ó„³ÇŸyïìqîé£JoÅgyÝ;ól±¾q¢qœlQ-¿žf–7]57°¼öïkïSìóÞ¬$u­šæžg®4Ì0÷q½íæíÚÂgñ´LA"ážeܳܯ¸TÁäb½™©Y’°RX)®‹óV –m{Ó,Z$ë)Ïeë¡T)^2_u3á._gÎòí—ŸÛÞ“¥"|[Y/ùÍv}€9D2†i’ªFvÝ4m¼ùº¥‚0Êï”oí\ã.Oz¼#öDÕ·]çL˲ µxÐd——3Îï?ÊÒ?™_ެ²ôË!²í#/Àq'ø>üb]yÑÌ/“½wþìñ!÷ðÊ‹:]™¤nЉU"O™GåŒí;ŒÞ²ü-šA„P2½LïrAáÆ­¯Î|\¨ß^ól¸²•ãF÷üÌ–­¤ZNŒù3bùQœ]GvÝjlH›ïŸÕ¨tšøïðj¨I͈;NzÒ“Þ’=èçøï¦©d þÖ þÕ‚óW%õ;H­IñT˰ ˰•zQ/kÝÊŸï¾þoðõQ %ã1SªCup÷qßZJ!ûb#=K±ˆÅ'TÁ{ÔDTAMö˜=Æ¤Š©`aøoß(™yÎp†3Š¢(+Š7xCÒ29âï©Ç¤*ÄOнNFcô?Ð_š÷D$"‘JP *a½ξÿy̰ÀÌÖÀÞ4s0³i -'" ,1*¤åákQ 4ÖH¿(D!ʺYÿw1«ù*XÝÚýYV eh+ùâ)˜ÕQü˯$£8XXla ´em‘eX`°ÞAýncÁ,d!ÎPÀŸ`7£ Ê£²u¦~×ç츋»¸‹8@ ‡+à7¸ýÒþŸG¶q±cì;F—é2.£ê|­ªðà­›6°±*-iI w¸ã#,ø˜#ºýÇðUyðø  4l¶²­ä‚-´ Çp *8ýCk<8ðHD*ÙìÀÜÁ&¬§wô–ÞYåôç»Êƒ¯ –¤Rd’©ðï)#Zrmu‚œ¬é©d¿¸Ãûù·ÀWy!Bd/Ø ö‚–ÒR,E/ôB/ëqØc<þcÿß ‰[¾¤µ®Rñ$)Gúÿ+Ⱦ¦T@TÀ=ÜÃ=D"‘?Ô©–æô¿NRþ;!Ål=¶ÿß7ø_†¯‘ì …ž€ÿ Ïiö¥µO*Çøÿ7: .JÓ,:OP®•’Å«¶(cäŒæÒj\G« ‘kÄʰ\Â\±½¡Ùt“ŠK¿Bô?î Ù8tA-q-¡ãv½lÕŠÎcTõ•‘ÊœÙ|M a†èHÇÙ0„¢%€ôo_?ÕCy—R,Ê;_´j[K¡G”~‰q´Å¬zfSF¾ÔîŠm Å¡¦à ªp¯(2ðìÂßZ¨`C7ð„^£-Æb6ªÓ ,¢‘”@5¨+ÎÊÑS³J;ÛŸ9çeOs§/Ó¿lÐ?0¶1{y)Û)ꈭÌ1Ú8¢˜¤]I+Ò¦$ùYF+9SY¶U,ÁV½¾ ¯R#¼B´´‹®à}> uåf¥  ]T¾W•ÓDAÌcßÔ¾ w€–SEjOîLomÊëÊ‘^'­[jóÀ‡…׿V+¶|R±‰5S£2Ï5|P½Pù5‘½ïx’ñâqLËôÂ>öyN䟋uÜM.Àæ‚Í#§ Á"*+Û¨ˆ±é$Φä.ÙƳ¨Œõ¥ACm·9m×¹5{~ŠÝ»|öÙ"¡´8_,oó‚}fóYTÄ™A9Ïv…p]¸&^cUØ6Íæ9[džÓÄÓ¢ÕVyÌÁ‰,V¦æÔ‹®SÂØÌFUÚˆŠü)ÅTÛ!´^œ,Zw•iÊIY^ÿظZµ+,.=5_¿@ïÕ¦Ö–-‚}Óܵ²*6ÝïjÈ•{™7Ìå[]‡zÍôëNÛè]Ttd YyêMûÄO´”¦ÒsnÿL±C»ÍHéÌ›Í=ä*?³âl º ŠX‹j‰E¸XÊ)Ê)(^ «ÅÒòÛÚ'–ÁT“?ÁûÈçªRó{6> +Ä6®ª#l>Ó°6TÔ¶–ã[÷ÏâZJÓm^ªö±1¬¶Òl*(fŠjxÐj|¡p¤R³»¹‰À5¥¡kƲ&øŒ©XA)Ø‚³èÜB)1‚ð5GZh` ŽãÃxâë¸VuãÔ¦ÀžÜ[–¾ßRéèmY »Q.½d'ø'Ü8Q%Êä5'Í«è;Íæ)ÃäÝ•çØ,fÀ}ÓZÊ_æö±HÎO1Ó&Ú¸St¥ TÍÜ‘ÖË'(«¼d”íU•…¼Â*ñM[ƪè×Ù±†GuÑš‹÷”%9D§è3ÊgËVò=„Ù|Ò%ˆ½©šˆ‹è W¿ÊUâ‹2LâÛ;øºt÷ŠÞÔˆ[OtN©g¹ÙÂ<ñ˜W’_ûBÜH:Ñ2²£RÔæëÂZQCñ•À]á‚¡4˜šQ­Ä*‰ "˃JÓIÚNûÑþ,/üÿó)Ö%âE”‡òpgîøzŸ(ÅÐfP2àͼácEE"’ò‘?rÁƒyà,°À à/.Ðäg8üÂúkžü@5ªBÕ¨7 ÂxÌfùðCoWeŠ¢“tÕXÖ.x@½iêà ÞÐ.:†sÖYøz¿ |u%ÊD&2YBP™Õ`MІ)Ûé(."’R(éäJ®p‚7ó†·Õ\±^Ð;¼c;qƒnàöa¥‹ˆ‚JÁnpÃÏ.ÐÒx%:ØÃöV—øë&øH@3ppGQdâ¦c!"¨"½¡ÏXŒuØE‘¸‰§ÖB?øÀˆ†ðƒÂU$ÃïqiÖ2!:pâjq¢|ȇ|؈ô”NÓu4†?óGš•Â’ûÖ'ú„O\c®SR=Ä,…ŠîÐiø 'rÂdk?³CŠ{@¯Ï.²KxK-h:êP"%#µY-Ô¶&mò€<ùIQ¸ƒÖ*ŽŽp#;‰-l;壞b\Æ]¼D8@‡| ¤Q$€§pàénOšÙÜÈ ?VÅ‚xˆ7tðÞøŒ¬_úH™cý‘ =TpG^ºŽ»x‰\È…Ì_¸@KßÏÅ}zE×ñMé¿t­Ï ¾&`û„O\ ª£:}ÄÜB+Ì¥•ôoW¤J±`É^—’]¡ÄÐ]Öþ8I'q’Ù2[f‹”ˆDªEµ(4ƒ¸ÀÎÒº„¨Ÿêj~‡T·ó€ì8zJç¡f #rÉä°ýZ¯’M@$žânà™T'S2Øs¼cïè-¶Ñ1Gƒ1žl¼Áãâ{ Á C&>#“U@]T`OÙ–L²%wšDó°X~ä·¶ Ñá}À:Î*Cù‹$X $@Ʀà.’qwÙqºŽtœÕ‚ÂꆚݘþN‡Oì(@·é0ÀÆ}Ëý‹ë²²*0§|@Ì/êô~Åw§W‚ r|A>Ñ]ÜcÝX/ô¢M´ ›H |ÉãTxƒX<£gxÅf±Y¸JÇq—­µ=¿p%ýgdã|¢ˆAVæ¿ÐM’b%”xGïðž]c7p…vâ(ΰf(Žr´›±Åz*¥|«‚Tèé>þ‚R??Gg¡†š `•‘Œú€Oøü[ºe‹F2¾}þ{è¯õQÕßêKšÁ.paSPh¶b?Ld‚ðQ™… ý§º¬*$Pî±ql2èN!7>á#®üÖ:À&°ñ(B§q§ð1[=ظԫ̪ôŸ 9Äÿ 4©¡fUXe$R >~«³ýkº}£©a„Š© 6ÀWhùÏgQ² b¿©+KŸð‰-Å :A‹¥:½”€ÈÙ_] ¿Òa|é4Nã4>ÒG|„‚eç[(XM`%€Þûþ\vèǤ¦Çl«ÂÆÑ3ÄàR)©±Ÿè@ëX²(é_ÇEÙ8HêI‰¦NÓi€M`¬zã.Ðì;æá 9ÙéÝœ}§Ã6N´§qWè#>¢æÏ.Ð컾'p ïõ¥à)&œUÁë±T2}燘òíúŽÈÑ$ëóå™v—í`_Ÿ‚ oç~Ð1ˆ¡¨Âª°Êˆ&5ÔB¨@tYèÁT¤bW‘β Tx õpå·šGâŸøˆOì4;M',Å âwºY ¼„;Ô '9F! l¢8Óˆ§xÄQ4¥‘ %Ó²茦„HgÕ_58Ð2ª`͆=†Ä&5ˆëö~¯¼ò¢MS¼£é$G[Vï!n1Š™ê@GÏÑ–Òª§Š2ÜJËhq™X–BE ÕÄkÔ Ë4“dè‡y´†vSe¤à5æ“(vO R75øÔÅpÊ+LqB1Sö’ˆl©ò  ªâ-â:\`Ä'ªBU¨ÍÇ2¬dþ@.¸¢|`3¨Ê6 ¯ÍWõÝËV(xÛg{þy~Þžsâ;&%¥º{áŘJšTóÖR5Ìö¤FØ&̆²ö¬G©7¦±ˆPV %—bxXà,Q‰.c7VS"%P {Žhöfˆ`è„ÖÔ”¾à `‹ü¨ŽÏx‹‡(N¹Éžâ„t¼¦÷ˆC9V…­Óv—#EYÀ >P Yàg䆅âp®Ì6¬-Ú ª¸ƒRh™l 8Ö”«òþ’IùŽz4pÙí ¼ç“<ïîÅèí±e¨ïksR®‘¹òþâ1ñÝ‚Š¹"壪Ôñ¯á{ÌHÅ; ÐC[x€@T„…êRC³1 vð‡ xiU}JäBA¬¥94žšPE”F2R) vðc5ÆàŠÓjøáèò±ŠTŽTs ¤YTª!ÁÀMº‰,e¢7V!oi‘8—Y Ã(!Z(*Žrœ¯|JEj^ VI·–Gñù^n~?#!߃#¯êÇ­´Y`×Ó±=Ä®Â@§ÅëôX½ ^€IDATEà [a„fØÃÌEÈžìÈQ…ËÁ›ÇÆÐ:‰ L»ôþ˜„þÔFÑP„L˜ÀÁþ¬´xC1(„tÆk|¤¾Üvîg/ÒºFaâH±j!Ð@=DØ1_h!ƒ#ð€Î ŸðŒ”$dB‡2(ŽBV~¸ƒ‡xâ(Š|°*zLiH‡?ʳNHÄgúÄ’YK€à@Žä_ø2_¨‘Ij²#*è %P0’‘LÉh‡PÊòqù˜ñÄÈ‹vŠÇÄ«ˆÆ[Úláýƒ€ü,€:£-ufå„r´“ö`'Va%­²Þ ßë#7|‘›¦b6¦¢Õ§j@ÞoÙk%|5€ÜÀ€r‘#/ø€!iÈBeTf•ÑõQ£0šF[o*.à2.“#å"OxÁÅ`…TÀ7µèôÍÖBG*ÉNúü‹z¼ðGՠƨ)˜IS¾¹rýÕ ñEnøÒlLŪFÁT5D#4d³¹ÙÜ,š,N§à9žã¹UgwÏf£"*¢"scnÌ•ŠR ‚0siŽø™¾Ð["IÅ|à«)¢„Jz×xÍ^á%{‰¥ØD›iú£7s§R”"ÜàŽßÀRý’€¨8ªA‘‚l<:cä¢\¸àœ8Z³‹KÀmX´f»±—í;P3±Ó^ì…Üáþ ØL`y‘Õ¨>Õ§©4³‘¾ðý ¿åÆlL¥©TŸªQUäE €)ÛÁJÎ!Ñù1Ñ#.“8ÅPŠ•¢xŠãP %Y©oQîßëR&" ILË‘ˆJ(ÏÊKßs§¸Sì d! §’( L0³Sì ®`›Áf žâ~¬ À{Ùup8‹0¨Ù$ı*ˆ‡œ%@P9³…ñ‡x6‰…aαHvwé6î²n¬ºã;ÉN+¹’+ô0ÀÈl˜‘)­‡e¿3€ ™ô™œ;——ó`ÛmbjK­àG8YkÒJ’›ˆD$²,d15j°¨ñ—lØÒã¦a’Ø6v–% YV úÙVPâ=€÷ìÀ®±0aˆ—Ý&52¡fUPUXËb HBâ·ìÇ?⫝̸ j e°ç,†uF=Ôe¡¬3×™®ÑUñ*aÁ¶°…áȾ°Dö ³1 Ù)v’]ÁG|Ä{k,ë¿Å÷ºÁIH`Y,^ê?ÔÈüÉ–’ýÄâŽ`7;Êòs¾,×è®! h¡ÔCd øJ5‹ÿ‰R?߃Ç"‘ 5F£ª /S³–,ñóßÀvÓ1îëç0€¥ú¨Ó1Núü-6X*S”Œdä†r#Ÿ‘Șš%àg:Hpâqal³°ë8ËMÂ{|¤KPþÊfrÄ#Žâ1‰…±Iì ®³³øˆ÷ô (Ùp&Ôj  À²X<€D$áïb€3)UPƒÕ` ,ë[íßÀvPAÅ8¦eì ¢Ï °+ÀÂ|ÍÍñƒÌtLÇt¿H&ˆ¼Ç{¼gרu\C caRA _ÄÇ#ñl›„I8Ëΰ³_ `üdKA„¬:°L°æþù>*ÉN‡KjÇ&³*˜Œ,=G*’~üu\v°c:Æ1^úüý#õG2€Ï²³›„IÈž:;~ ®±k,Œ…!Œâðwt˜†I˜„mì,;Ëžà#>2)Énf6*|}Wâ„! `ר5ïñÞúælü@_ઠ K` ,Ášñg:HÏg"jV5P…e15K@âOúê{RÆDij&µ/Õ=ÎÌæ ¨b<ã™Núœ#¿*I_Iºë ;î±I˜„0Ä#þ—t‹Câ†06‰]aWp Ÿðo©æãjŠÉ¸äj­tU5G»´gµ4vo}Õ#¢²¾çg%u¼wZSSjl ²4z²å¬+ à#Óru•L*,N=ÁØq¶J“/d%X;ÖíÑ}à_æÁª2o”¡tƒºÉRøOì ÍYsa9é©6– ò "˜¬•I=àå§x(DA G8‚³º•|F*2´h´lsÖ6M!Ýi]´.¯®Žrœ²òžÓ#Ç­öNüjÖ„µb”˜É¶°]ìl¡@5§æø€p„#¹ r˜aþÉÀ“îÖè&ã1ü‘yQEPqWpÕ:UÒ4K70îäA‰úÌêò'ô„ž|ýü­NOïƒ/l kÇBĺ…ÈŒÀÌmY¥Œ»MsÝUŸl7ØŽwªï¨rXˆüba¡®8ŒvÓŒÁH6FHx—Ö(”_¹xI7 R^ÞæhP8…È…\¶gÒÆÞ8DA -åÇ ¼€8È`°¦óŠÀÃæÛFÜ|Èo‰7ˆo=ñ—ƒðÝ…(òYKØ@‹[pØ—]`ÇØ‹(47¦WÍ(ŸÙQ<,î§Ùç±f¿Í>FÕÍæ°@°¡CA´‡éH†"Û-¥ô'ÍË ¼Ä è ‡&À¡<*ø€Ö Ÿ¹°„–P85C34“\4aúfÈIÙß#&Äb BPƒUÀlšEþT ¥PPà‡›À_Ò^À2ȬFä°æ8~Bz0`‚uQ—ÕÅB,ÀBFQ* O¸1OdÁLYäNOàDÒAÆdàÀƒ³šÁÛØf¶ I0¨.­Àƒâñ³…u&Ì ˜™/ð¥Y‡Y4 DØ#4p¤dZ+å~åd‚9rAŽD„#ï©9ÞC(@0}Ýw:QД/x@fMÚ%¹ÎæFnäÆmÜÄMØÃÞÈ ÜÀKÊOÁ> Xð¬I€8ð`ࡃ¹ã ¹KŸ­ßí­ díÛ{j†÷Ö>Ký§oò‰È9r!IN ¨Š¨Êî²Gì®Õ™\2Ñ ?Äæ}‡ÄÝÒ’_ %Q oñшE,täHŽØ„{¸KPB è›#®tïWùQ©0#tñàQ¯¬”“jÔfÇtxú:d½úŽ>â¥áÚ³V¬=b "„B(yX^ä–40ßùÂBͨ<°„Ž¡(dt‡Ž ëdzü,/ËKïè½ÃÚI;ˆÞà Þ°¯ù{¿I"%# ILÃLL‡!hƒÁTŸ.P= …-µgy@Èóƒ,UãÌ„™,va*Öž©HIÞ¤¤‰4‘y:¡ƒdð@~¼¤ô /Ë4ÌÀ²° i5Í×b6Üap`pÃK€òC <G˜aIrŽel#ÛH³i0 FÜÃ=Z„¤À2Ȭµ£³CJ§€?üñžšQ3$"á#rYý'¾ó!ä#IH¤fx÷ð‡ k®è %dá’Äbff¡£Fa8…«¸jìýQóH)É(ÉbX 2à6ƒ0_XK¢×ôš^ã îã>²`{vþðÇXxÁ V—È¿J”oÕàÀ±cð„caFÀØ»l7ÀRvS3ØXxb,Ž!€Å{èñžp…—5RôÞâ=Ü‘¬(KDQðPÇ×úŸ…Ìp€ œ Ws¡%4K¨(£¢¬,Ê löŠÇdV”"Р‘ýxëÇà‰l,’ÙFÅ;\Ä'ÂjþòXÊé+qu€xÌËZTú_5D¨!ñù;eï ’­5K„Ô¾"”¨ W¼ag `pw)™HE}ÔG}ä†/ü¬Z^ %ìàw–€ñ¼ì(;мÖlº (þnºRß’aA²µÏ!°Cˆu,¾oÆ`0#fäa‘ÍpÍp [q ®ð„ë/éø :Hý”r€5l`‡”GQö޽³ò3û…CTà–‚_?ÿ†{`å+©Æl –Œ©7û5¶\&ˆH€©Ï,„Ù!„²ÓAÌ”€OÌ“e‹Àޱ§0Ñ'zûñB&É%`,óbcÙ1°cø}‚ì/†Ÿ5;„doXl•ñßqˆØ1;öD²Õ+䯲LÖìÍ*¨Pœ¥°pPA‚€—UÞ¤ÙÉn§°–ò 8ûz€À žð² f_U¿gÃN`c1cqŒcÇþÆsA’X©hg €¯NÑßG%É"|¡†/ê!õØkö޽þ››pAKA ”>ËÍ!AêÏ'|ØQv ÀXŒÅï’`ýŠ^ðü5˜ H 6ŽecqˆcǘŠ>Ñ'¸XãÿÚ¶´“ób^€¯;ÿìe±¾ß‡ !ì{ËÞý ¬5Ô°ƒBˆ@öXl=Xýªd`HF2,ì{‡@„ vÖ¬ïRX*G –býL ÀLÒ]ì;ŠŒÅXx! V}– ’e—/xa,Ê!˜Ý`íØ@t·Ì±8YN,ËoW@‰šü`åƒ/š«ák±Úûŵêàlªš@Æã £ò¥'K>ô¹#oª0ª˜ãs1¿8Ìr‹5†îp½Ø¶cX(Šá9> Žu@Wô´¶,WHO)ôQ U‘5Ô€+2ÉD°Iô!%‚Q‰„t0Y‡Q &2X«zòVq”îâm™-lC øŒâÐá2¿ŠïÆåc+Ùfv Á”‹ì„©âzq½§2GcÖ]ŽT$[7Ïf˜a Y cì¯["<ã!Âö°X u¤ƒ.Ì®¿˜#ŒßÊxä ö9ù“²àGܡ۸ͰNðàsÛ¸‘Ldž¬¸xNÒj±“8Cðù‹dYåÔ90X¯þï wh °öÿ÷’L`0B #R C \àk"­_ÓAñ›Ö¤ï `LÀÀC ÅOE~œrÏWdAù¿èhíßÐAšQd¡‡ÜšhðïÛü*  ÿ›• €õ­¿§Ú¿øºR)¬éßþ9VYóíæð+ý¯G–¿ú­2ÛMãïzƒŒ?\iün¿÷WJ_Ë¿®0hh­T•ü²ïT%4ËRß$s÷ïw‰ÿq:|ßÕÑO–Óm5z¥’¯±Ö];þ¡Ï°jI-i­6ÔjÖK÷s_5¤ùx HºKÎ0@™õØøwT ˜Èá .ðed²ØŒÉžŸ—Ù,ÊR抬aõ ¯žj7CÃji4»¥Ù}YÍC[]ÿ¼5cJ¾k#Ô‰HË¿¥ðñ íÔP=všaç~xM"bñ^ðC~‹ÜtÂØC\!‹Oʆb6²Ž«é eÝRB°¿MAÁ³ÞŽþ14HÅgh‘ŠÏPÀ.p„;¬¼_·Lߖ促hÝL}ÿûyi‘ ¥Üø7øu;_§ `0C„¤á3LÈB:ìà o¨àb={c¿ño[þ™=þI0$ŠýÜæ×ÔýV2¼4–õÖ¯Ûrñ/ÿ#À²„O0ÃìáŽÜ°‡3ÜÁ¾%aø9_ßßÓ!û8)›1Æý–¿æ×cÖ?ß©žp9ž ñ'îÉnPý|“ÿ=ƒî¯~õ5w ƒì7¦oö_¾–‰—Ì>ä`y­ú÷-¥Ã¯úùõÝåñ/ãýý[ø_PîçÞ~õù'ygßôBvNù>Žœ‚g=>øš%U’ ñ7³ö#M¾ÊTù3gFQÎèð뜩¿K$I…Ä?_[Aß´÷Ó²çÓü' Kò+ퟔdç´ßo°%šÿL[Â×sîŸyõkþÚæwÙ­›.f5™r I[ü“q$½™¾qç¤ Íü·,»ÿÔ2—Íù{®¿ÉFÎhÁ¬¿Éž¹ý×’LVJ|—Ðì:6û–—ƒð¯’ÚHkhN’]}}æïÇFVɤošýŸgîûËþ¦]äP£þ<¤Š¶ÙÓ/ýl$|¿±bÖÿ,ä¼Ï "$ßÞJÁÿ8X¶é_¬³ÿŽ{B÷uRŸÿÞˆúzœSyÿªýþyåúªëþ-÷ä4 ÷÷Ôìôÿ~<Úø5¾ÿýÓØ¾ïgr†Õ×Õç«obÎ’ 9¢Ø¯3?ÿgÑA°®M9m;'_å.綃DÃ港vý¶…ÿh:ɯ’ñÏy DíÅŽÔAyŶ½Jó°þíŒÇÇž\Ü|{}çKe¦µ«=fÿ¬©ePž9Ñ>ZF·Ø6™ë©q×tÒD›Ž™šBõÓtaìgÏLTC,N|I¾1ßÝ2Îj afÎå3Í6œ7›Š¢X€ub<‰LðH~P$B¶?%9…]¶¿¶õíÿçã?oó#ì³ý+Aÿ_ú¾ÿ¾‘ý~¼g¿ @ó_Öÿ‰ñýwöøÝþí¨¾oÄ¿n[þgÆú_ýÖïGQÿ3cËéávþ##ûŸÃ¿Óÿ÷3ÕþýØþßÿ|þç{ñ_;¾ÿÙVÿߤîÿ<Ýþ|ÿ}/þwŒð¿ §â81—eï#@ŒÍj¦y¨ÁÎ3OîÎa/í }½²w„œ±….ÓAÎiYE3y!ùÊÍÞ^‹K—·V4W6Ì5%×J_û'Á¯?Ì_úRYp´éœé¢1‹ëËåà9"q‰e²ö©H±†£ÿ$"‰XUX%Ô¥¯ùóüþ$bY“ôüïtB#Õ]NËi…pY¸.DÉÞÊ^Êžâ áµÃÿfH·Ž’Cc,â+Lf sÅ­âVq§¬¼¬Œ¬8å¢<ä'ìvûø¾_–+Ær…1³1çݼüÁÿ‹œÀÛ£=BÅqâxqå¥üT€ßÊoà×¢ º¢«5‹u2Öh…V––¢–â|M¾*†²¡lˆU“üÿQ”⿇žÿ¿âÿýüÿ¯à^úƒ?øƒ?øß€D¼Æ=Nƕ㊳åÜL6 []°G>8I:Xfuõ”Õ\`º°8%ŒÆ Wý.å9îo/‹9É}Ì>–ŠfY)CémeɲÅ2Ã\yÙAäÁpôÂ$hð÷i.Í¥¹HC*R­¥œcçØYK´åå“PE¨!Ôb—Ù%v‰ÜɃK;©Nl¢eždžažK7é&Ý‚”Pre¹r\0ƒ¿ÊŸgÄD&Z“žÿœÉSÊ)š…P„üI “}¤C‡Jª*]zz§´1©G¹–\{ÎÍiªóD—IšÐ¬SYºQº2ÚAü|~1¿ò¿d^~¯;ÜáŽmØŽíBu¡¶P›¯ËWç«ã,Î᜵Âêp6œ ’…4!Ñ2Z&v;ŠÝå£åCå0£1Ÿñ_þ‡7"?ÊÅ[Ë'¡†PK¨‡ ØÀֱά+ºòÕù¾Wš+Á"ñH°º½ýßU³üï€4_Ùª\šo˜ïšsA\®l£,B¶’ºQwꎼȋ¼Ö_"4æÓ…B…Á&Ù&Ú&*sRæÂÌM|ŸÏG3iÍB]ÔE]ÚH›i‹Û ·¡®ÕkÕ³‚Å"b X ã0ãþE½â,dAÃF°ál˜h+Ú‹ŽÂ:aƒ°Y¾C¾E¾ŽÜÈÜY‹e±––Ù–yÈ?äá3ù4>Éìeö³(ìJ9G«i5­¶éù߀œÓó¿R¢¾ú¨ú¤#=̳h–Éô2µ,•+ÆrEXV…U¶¬·l²l“~$ë!ë"ë(}¶l¶l·ì²~?U6Q6ŽjR-ªõƒ/éóËì»d™kY`Y,ég¹Inkú9µrªš±!ãp†ÈÞ±lÎã<Îç¨ÿÏ'ÿ7úü?RÔ« ¶°E øy…¡ºPI¨ÆÎ³‹ì‚l…l‰l [ÅV±Åx†gxþÛ(¾ìô ³Ì±ÌÿÎËÿ6ün\Rÿs“ù±T–ÊRÌÍÝÍ}ù¾|o¾§ç4œš–ÐRZ8üà§…ÿd½ôððÿ1ŒÆXL ™x‡BØD›a„ ¬y}¬þR2kÂ'©„œQ†ÐvZÉÏâÇñCS¤tH©,»)ÍŸpªèâþÉùãô÷wsO÷›àß’Å5Gv´òRIc-}ží˜f'ÙË8KWK]'[çËÎcm*Ûl¶åá ñ ±L©~¯.›9WaQŒR®§Óâ5áÞM§›Åo5aƒÙŒ-XÞ¯¼£Ö¤´ÄÀÀ2t«ùWPàoò0ÿ#Ø2¶š­¾XžY.©öٳ˴Ou8çX0 ƒ­]Æ9¬Ô¸eU¿ÒñÚçÚ)ܾ:ß‘:R;jÉ9qöœî¤î’îæ©Õ§4§k7êݨfÃâ.%\Þº†ë-ú{:Ð{¼Ç{§P§©ÎÅÓߤwM]Å›y&M-¨µÈQBðìC®âαD–É >ýsuòmŽŠ(kÍÖ Ñ$ºÒo§e¥}o‹/Åx¡ YkfJÔ“ ª8ˆƒˆ¾èÏãkðå"ûDúDÖ=Ñþøû#N8jÀlóTs¤ùÖ´9ÓçL×7kÕtL³wžWøX>CÓGÓKÓƒËà2¹Lë–KÚJ÷*RG)-“FZeQö’ e‡ÔÏã8Žã,‚­b«Û:Ör¬“Ų„,›ÀçÆÃpš -…Ê·ÊgÊW6§mf(GË*ȵÊF‡Ò¯§}Ë‹¥Ä3¨…h†Wx×`ÙšZÊQü ÏðÌúYÅ<ÁxžJÚ¼Å[¼µøÂ¾ÿÒàg®û•\l²å1áÆ~LƬ ꊭõåô× \®׈6ÒFÚ„LdB '8Á…P…¬ô‘Þþ 1ˆA<âg=2d\25Ýà7d ™x‡÷x´ÐZÇ%=C9Žfù$ý)žáàöûÎuÔgµ^¯‹Õ§«Ÿ¨Ÿ¨ñùü{ªGõ¨žd‘ Ù’JÙAÙRÙ ¦JLç˜)¯w¿yôÆØðUƒÂ ^fõÊê›5€ã9žã©/õ§ŠÅŠ9Ši»ûï9¹wwMVó\ÍxÛ 6Cm†Š¢ƒè`¯œÌEqVŠ• í„ÚÊ\Êá6Q¶SlÝm§WLפEóù üAK”e“eœC‡7ŽíhÒ|]Wí[mgËžžÓÓ6¥.Iá¹0n·ŒÖÑZ)yRX“ I:Jš‹T¤"ÕšÙRâé› ¨€ HGÒðŸ¬ñðfxªïJ³üñXâvHE$‰“*¿Æ+¼F"’‘LäI^Êʙʉ1­cFŬ|=÷Í‘7¯m lp&+8«vV Ž8•(Š"V®vËö'éÕ—ˆF4<á«Þø·úJ¢sIV’•ï‹ÄG²E²¹²›=wzíSßμ”ñÀÐÝÐß°†ÎÐzšîàëpܱCžu0k´zŠ Š8q8éX -œOãÓùt¼Æ[¼å×ðkøUŽ-C ¿zÝòõ”Í«¶<Ú’ÐúDë+mBÒ›¦·IïddhS@J³g×Í®¥]ƒ¥·–ì\:­B³òkËO²÷·‹µû(–K‹e­G9€)^¯ÛEÙ·;ôèÑ£ úE†FŽ:0òãHÕĉï{=ežNû&ík¼ß‡w æר·±ÞÖ±#"†ž7xî‰9þGMní&þ6—’­”-’-¤Q4ŠFY‚,– ìÄ.ìfõY]V› Ì l;Èsµ¹Ê\óóó]6žgcù7üsþëϰB¡°PL\".—ã<Îá g挜C1 #øÞ|W¾«à ¨!EHÒùÛ|$ƒ·ðÞh©mYiY¡ê¡j¦ªòjùëó¯Õ[–o±Ù2¢õÛÖ_ÚԜԜԜâ[ðÍøÆ‚·à-xóù`¾¬˜)êD#­¥ŠÀVìÀv./çÇù’+9“©)‹²XVž•'™È” KÛzñ­ø^ü`SÌ&ŸÒ'±iâ°¤ŠCVí8̵²÷ÔÞ\ð­à“eMŠjŠóЇúÚpXÄ¡}mgµÝÚ¶¯ðDxayu¨ù¡­‡?ã.âb{ïö¹Û/ú²üËÁ/GåÅåEäPÕQ™|È›\¼zy ðê³©ßæ¡›_Ë5rùº»ëgÖ³pÿÂq W†¦†vn×Z€à$ä–’нžb_,À|„sÄ œ™b(†>ý '³Cì]s»¶vž~òâÉ™ë¯oœ¿ÑbŒlÌÂ1ËËÙòå5w;È‚zhø!|¾Ïòe+Ú‹N,‘%²Ï4’†Ó(Ù ÙrÙÖ‰u`í…\‚à%ò¢L”±¬8+N2á_˜Á’ù´Û± c}Ù@yEykyåCÜáÇ…}‹÷6Ý7×k´÷*oÃÀ1¢ÌʧÌÇçc¼aŒ4Þâ ðyùÜ„ÊÛñ¶<'–ˉåMé¦ Sš{m÷Áîý¨Ø¼„=ØC;Ú.oû²ía’0Sßé±sÄÎç’ïC—¶]ºv¹”²/åvJ˜â¡â®âÇqŒ&X„@qž8O Ç,À|.…Kâ¾`&æ`&7ƒ›ÂMfcØ06ÒÒÈÒÂÒ’:P{ê 2fdz¦•ím‘­£i4•¦ '„“ÂIE#i$s‡;Üé_ÊH뾫ÑUæškßÎýcöב¾ow¼mÛ¶ú¤I“î{‘—ÊËcqÛÅ®KTN®|!äT©¥>—£­«­¯­-Û'Û!Û’}~M·LM/l2l>ÚöYZ}é’¥ý+¼*Ÿ¿|q‡ö%í-S,3,ó9Ž#ÎÌžà)[Š%„2TêR=v”a‡)š¢éÕ/¼´þàþàþ çv€…Q~L:VÞîeDä? .*Âì ÀZnyjVšû9½t²8wæ:q2nšðJ˜'4öšæ-ó®fclkè|8‰—d¡\äGT‚J  £°tZ/½@J 6ÌÖåüÓ ‘\Ê—®WƱƌ•ªg%^NŒO|–§ ßd?±J‰*Ï+ë•7””epƒ¥â*·[Ä-±v´®¬¬¬²Ál˜lX•54+<+ÜáµCŒC_/›‹–×–—–XV‰Ub•¬'ë9†0B+L² êc§¿3ñNÆ» »8»ƒ›ŠÔ-éJrtr†™7=7¿É.àyÀ`ý6½N_MQK^N^Ng«ë¡“îšQ"£‘è+w)—Ù,´™F:±“0½²sÈþ-}‡äjq)ÿ¥#—O\Øp^vï7§o—¾ŒŒ=#lËØ–¶-%Dƒhd…X!–#÷9ºE·è·‡ÛÉmÓtÔ ÒL¹}á¶ùv¾ù;æÎ77d*\‹¸&^ë>}ÁŒ3LkUÁ©©÷S£Sc䂜ÉÏqW¹«Ü5 @ô3>1¾2ÆØÕ°+cWèI­'ž\á ²œû¢—‹‹/žyûÙ­ô[/'¾ìí~ûì­¥7?ëìtõt‡M7M/M ºT'I¬—ØNUGÕRÕÕîƒÝ+»(ÑMt½MmML]xG¼‹z™z‘z†PMh%4vîíÜÚ¹–øB|!¾`EXVäÆ{îÓ}®%לklhfèo˜çˆ;uXíµµ»°0¶‚'ˆÅ©Ê§H=JGw ꈟÄNú·:Œc[Ù8ÖWpÄ׿ƒùÚéeÒk§wƒÄ+âKç ΕËqù¸‚\]m]-]G…ƒÂMn97“[f~lþlŽá\8{Žq¾\>ÎßÔÑÔÓ´+°óe e duE¨u¬+˜³üA..]Øt!©t§RÃKij5¯u¡f蓉OW?6óÚ¬–³ò.\»`^ø‰âžÅKŸ{"öA¬Áb¶ØXäö%ì+Ú{ªV¨–ªÂÌÌõÍmddd[…†BS¡aRZKò¶Ýo»Ýv£¢µ¢‘¢&  þÔG6Z6B6œÃ÷æ‡gÎ:•õаÁpÖðØ¹¨³‡³ŒÉd2³e¦%Ì2‹5` X©.ß¿P:Fa¤žÔ“zrĉœ½/úXôö-u6ߨœžøEó%µqFcÿF)Œ1‘ÉѽÑ]–ÌGóÏÓ·døe”CÅvbnw‡_$»Â·‘Í„Èt²8Y´ùˆy‡ùPêá´;iŸ•ƒ””!Š eoE{ò¥žt†LGw¨(¥Àœð••»TdOŽòIòþò¶Ÿ…Ï¿ô¼’rµì•cç=6&Q?A¿U[VH¦áQùÇm–o–ÅÊW…nlg×¶F­Cµdµ:OšúðOùGüÆÆ³ÙÉ+“Ï$_]‘•wzä´ÜižXV,#V´œ°œ±œcëØ ¶Õ\ÀœÇ\P“¤1i^z~ñ|äyšså8UrV²sJ ªGţޕƒ=Ÿ Šw––û–F•ÑÉè.#YªÌ6¹nr«”Áv‚E•îÐÓ¡™C=cacccí÷Û”"ªãªcª1NvNF§/xŒY§˜ª˜¥#v*Xt‰µg$nq;ívÊí¬í@ÛÁ¶C´…µµõÃ}mY›Éf1‘©™ÞtÈ´Ót€SrΜŠÈõçú’;¹“{v=ÿt²/|‘‡jS¨îFÜ[q/a—Ã.Ó®ôü=JäûXüAñ—Åô¶wlOÛ^ŠšåuŽÍçn2¾Þðz‰õ ösígÛÏŠ*tsÇÍl(³eÅ.o¨lèI!BULsL M‹ùËü1þº¦Ž¦š&TÿR¯Õ»›dæx¯Ö¥éè^ÛØÛÈmª¿5FÍ—S‰w£ÝV»s}¤˜©«˜(Üî wŒAÆRÆòü~¿ù=¹Ý¸ßxÌ.Ñî­ÝÃè´èæÑ‡Îo>ÿèBž¾kû¬ê“ßèi,d,¯z£z¥zÉËx _È—«ÌCfo)e)ii(,–ßϨ›Ñ$£ŸqŠii—³·Ó*§í²Ç²‡²(ñxX<Š³â¬¸Õ»$'jÔפÚTWy@¹U¹ì`äÁ‡únÛ½ýĶ#5Ž Ð¿îüºÈë§cZŽí56dUû•+º¹­s[ï¶×ÐÅÐÝÐU~Z~E~&eeÊî”ëv vwì®((/(¯òù–|Ù¨"7£¢°³¬ nвA\µðZx+| ¬80pmÄiœÖ]Õ­ÒõQ¯‡Œ¬Ü¨Ê ·×+×(Ö³X‡b-u7uOuï±ó‘³HÚù˜ù(…2¶ìµl±¬qoç>Öÿe…–=Z”)=¹Ô¨RË[hS½íLÛFª™vלo—ѽl÷¤îÓ믮߰žÙ~¥Ã*GC+®åö–u:uîðxmÖºëó>/ù¼ÁóuåRË­-'èßëïëKÅ×?2pr`¡ û°Ra¯Ã5Ñ \ýÛº 83pûÛ„w}ÞúËËC-§¦Lõœ2«Yf³¬æÚ9.³çÌJ?rtÀ±>}nø¬a³9wvpWäη;ûdxeäÊðãçñóøõlÇvK#KKKK—½Îa.SË¿+_±|¯ºµwŽÚrHé!¥5‹4Û5Ëžõ{^ýE¿W³^zsnÁÈðróGêGMMáeçWž×Üå¥Ës—ñå×nܽn·ÝîQú6†jŸ¦šÔhâ8ýøô'Ó”}}}úì;¥oï>·j=©ùº¦¢Nïº5êùµÚ£ÝÄ‘¶h:"ßH˨uÜòʯpÀ¹þ;“ê$uIÏoã7òks$œÙå"CøhyÔ¨@ãÃOÕ ¯5©VíFhŒ&Ï&žzæñ§Š1 bf¼XõbÕ‹=›ªnÎØÒ&É-I‘dëšÛµ©ËÖð:ó+Ío]¸\áÊ…½uíuuýg4š<#¤)*ýæÅrÃËõ Þ™I‘3–-_zfirCKCsƒgûêï[t çÒyK3–†f¥kêhæ–¦ÒÉ¥¹9f˜µÜ6ÙVm›.žOˆ'ÙYö=>'p+\Å®bw±»²Ÿ²³²ÛNa×Õ]6aÖ}FÕ× ßĽ©}Q¸táÒÜæ=›-m¦Ý©½¬=|è‰i'mU_l·x‚wº÷IïÞb°X@°sêéìTÀ]àó€ÏG¿$Ny3EœÒ÷ÓÛ˜æ1ùÊL*ó¥Ì´„ w?ï‘”/”W %Ò¤! †œÇ¥“y‘¶`9fÑcº%Nt8àåXÌ•+â3(Wg_V”+Êu t«åÞAÓ3+1+YË´nºBK÷,õ\ú¬>WïP½>õ3Ê…Ã;„§]5ÿµCæ ËNËšA#>Ø»OHŸ3½5g›½sÖmD­‘î£Ò+»†‡¼x>ïEÐ ×]Ãwúîè°cÖΔ}/œ½ð.åEªmêùbU‚¼‚ÌÖÎZ2K™zçû\9´JñªvÅÆê|kû-Í­©“†O=éDµQûÅà™CR‡zïÿ~ü‡ªå+½¼Â²Ë«ÚŸ´;g÷ü±úñžÇ³f ¼:(ôZÝë_®Gú<ðÙî]%Â~M·ˆÔ9ñs³æ´¬Ö§êܪi-·µÑrœÝL»v£»Q÷¸îã:né˜Þñdúµ×êœñ!#-³ wš;ÉÏWÄ!ñ\A.ç¯y®ù¢É:e:5ïôÀU®+“Vœ¸îvcß3ñOãå »$ÎI¬»5më½­[í·:,s¸ø|ìó™ÏgÞ C؉Wvˆ;{ÛÅÚÝWݽísÛt{ñ5û«®W«-.µdývxü¡©‡Ëy ôxèq:÷›Ürs…·™S8@[_ÓJÓu†ï.õ‹«+ì?$`ˆûƒÊ>\›w‘¿ÑÿáL›™KÃ.”L(u¥ôõöÍO6ïÒe^—1]Îÿ 'm[îkÙ¨ƒSûˆu‹×'mèí½0:2äcåUÚ®«¸vÖÚÝåš-ûöpÀ‘¶GÎ-IXÒd©_vùš%›éVʵk?×V7qhÖB[mÑfd6Uß,V.h@njÊTÍ”xw;w[w{óróró –Á2Ø?ùÈHx‰hDóûø]üÖÌr™«Ô;%>|xðÄ5&Ž«»¸ÎÉ:YºÍº½º=YųÆjÒ·œÜ’¼µöœósWÏ5”é]¦bi]Áõ·Â'×O?Íâ6°Š¬ó¢=‹ú,ó¹Íç!ŸWmÕm-¹m»ãJÇ—ŽkoÏ¼ÝøŽÇõ%צ]~Aq¡ÅÅ‹B¨ÐEp®x¼bJÏU:{éL¥Yò9kçxj»iìµ=üÚæÎÈ}bzÂô‘ÓT¥bK?/s¸}ÍÐØÐ©úꆦúbšX€|ßì³êu—ñͧµx?röÈÏ#Îèlô¥ôù·_\oñé†w"Óämäeä§Cë·‹lû°wÕÞ¦Þ©:]!] wš;ÅüšêûºßƒZQòuëçvÛ} ÛÎÍæ7ú¼ÌõÒ÷X!.СŠÃ:Çh„O‚B¾KÁ+Ôç¯za×Ò…KµKWeŸß™ÅÂ*ÎèìâPÓ¡ª.A'êÞ¸ßq?ç¾mã€M×7UÙµg÷ÃÝ¡¼ó/y!¼8ý"¢ý‰öÅÚÜlp‘AA&”„|àŒy“ÃÀüÁüÁüŒ ˜„)4W ¢aø@›ðþxž=dFf­·%Ec*¡„’)˜3ó3.564Êó%ç?S`€l Ÿ.ë¡ß£Ÿ¨›\®s…š•ìuM4/³2ØV—íYÐ1ܾoÕ…ÕcVcù–ûV\ɬ—™'CïÁ?·¿Ójí꺫®ñ%ùs|—~>ý]ûO)ð&ÿÜÛvÏܾKu¢ü‰ƒ''›2MÇŒëegd¯dW5Aš ÍóÞ'zèuaÅØË«N0ML·ÐkáÈ…³xõî¿yfà¬V³z5;Ò, Ù¾g;Ÿ={&WTQ0Eh®]>Ó}‚E{Leq§1›ŠPú' K\±[±•ŸÉ_ç¯~ øXèc¾·çßNz³zÇ£í«·E_X}ñêEïå"«Þh10aàÓA‡Íf6<[îaÃÂÎÍ”j n²mÈ¢Áí¨•¢‹a%ÂÎάm~oºc\gÙe°ìÖ‘>H7kÕ¨UXÙß_ÌÛ/_úØ’cæ).ß¡+w—ä^ò§êXuhV™š­kž¬ÙlãØ O×—›Zuêãé4?4|K¸ÿ.ìÂnû›FÇ‹#ÅB™ôd¨¡»þË—<.#Â÷ÍWͳ7…ç]°óXÒñÇãÒæ§NIÿHxröɸ}v•ÛÕdËÕ-e”¯5ikEŒ,üRxäü€yÆùO'q“NÌÓed×ñÝNëw¬ëÑêúQú*ú§l«Éê¢,j¡£3”³C(5ÔP³d–ÈuÍuݵ½·%¶Jä*Ä—ŸV~L\tÜä¸5n#Üú¹ (U¬Té’‡wìÞ»ÛÀ@½?ó¸ú]žÃ~ýÖîé´ûàÎÆ›Oly°-`ò–)­§–ºØïbë‹gFÆŒÜ5¢¯%¼Ê„µ;7sˆ¸A˜e¬žšµH½žÉà‡‹'„–¡óßÌ/®éÕ­@·©Ý|ºï0¹Øä'SâÃß„¿_» »±ú†~ú©Š±rƒ"dCµ w×ïS+ÕÕ;ZfµÒzcóAÍ_7ûlìgt468Ý÷´åÌü{Š»õîŒ÷‘w“—8äsèá¡c–%ƒÅñ¯©$§œi*Iê¥u¿4y ¢]9»Kv²}ûÞî[D©ˆ¨LfÉÞÉ%=&»Oó¼™|³{Ô³¾÷ûxõ=4ÚåÕÅËvØ1âgý±;²6b~Þp„W¶ø[ –8ƒ}xJÅ94 k¿º\V±¥—j—l6Äl ºUÙ jP ±`‡ñ-¶àZ¤¥•HkšÖš/Âás¾ñðð?ƒŠR ’ù‘ˆT’Z`1Þ#îÇ`©ª›P%PR˜%l´,•½–=—Ýx}äUЛ$› ÊC6ƒÜ|ÜãÝ«<|uw/õüTÁähp7|ÆÅ,ÂBÌgyY^–—4¤!µQÈš³Œ5’ów’ççryGn$߈;н,ƒÍD"T(‰ò(òˆ‡œ#sdöf7s¸ikÔ㨫7£eÅøó² «ï¬IŽ8 í m -šV8-3͇÷å¯Ë®ÓzHerû÷­‡QâY Ü¡ð7óA0ò`/làƒ¢xÎò"“ÊMáªe¹dËR§%¤®NmÓ>%taèí¤+Ig’2úîíwª/wnäùçú¡.ØÆ¶±­..·kÎj›k[˜Ë˜æ¢b´pŲWÈ%ø yeZYšì3‰DDÿ¢çiHC: £ #?ò³üPA…#Áà @ƲNèβÄo·4ãØŒcwXo¦‹Š¼xÃuäÚóć¢Yœ¦é­é£ígÞfždÖ£Ú™ù2KeÖÞ[b„ëåÓK¤µ”©ei²„{Y÷ÜËý^ö^õÎþüÅóAÞò%yw¾ï­¹·ZßRb0R`ÎÚ¤9–u¤¹³§Íø&æžîw fù§õ×ÚØÙ(m”LÉ”bMÊ•°Ò¬$+©¹¨¹¢5—»QnO9ÛC]<ì}ÂéÄÄB?†î y|܉1'ÞL ž|mrË,óDS ®!—Ë«ŒS~Vj>týXéÃÔÈ‘-£^ôZÔgmß~âXqœ0òÆù#ϳ Ժ釦¾Mº,x±Ð{a˜M¦²´M“Mkô®Ñ@sJãŸÕñ©×Óˆg]L>¦ó¦ªeš– ,“ qÑÔ”ãŽq»¹­hŒº¨—C®û.6° ¿’[Á/¦Ò¤ÁÝ@Y`À„Æ%šŒnô6`V>›€év‡UWU¦Q[GyŒ~žh›x?q%Vx.¼Š?ŸoÍ}ÿÍýazõÕ+½ç 1Q4ŠN V Šµª¬®¢ªˆ…ÄÒbˆq¨¡Ÿ¾©Ì^¦ÙêëëËè+£=õ@£»¡¸^+$ï%ïžU_3#«K³;M·4ÛŸç“_I¿XóUÓaã2ÎsáœcŒ‘!ÒðÔð&`G¾É¡ºvMÛ­L¾“œž²ªëÈ®sºD†ækïÙa`öÒ.ìf½X ýƒžìÌuä ‰Åqæ‚ö’ö²9Àl4ûXRÍѦëLÁì˜"½YZ³´AQ™Q«nö˜<ãùÌaÙå«ðÆ"ÓŠ °½zëzí•´§ÇÞ{oïpÚÑfgrß}Ç÷­’§ež¨<Æ-ÆãÆýì<;ËΣ ¢@Ž´ŠT†GZѤ /€‡¸ J¢òÃi0ÁލF¬ª´¢ØnV-UMíãЧtŸ³‰Ë%uiÿ2´D»«+±òÐʉ/Ò‹¦53Õ5Ö4Õ3½2ç3Å«ŠësË›ËÈk±6hÃÚp ùܬ,ǬYNi—ÒÅôM–µ÷n¿59-yorL÷2Ý7vÛ:¡}¿µ‘Æ£ÆëÆ«½ü{î9‘»Á­gMü¶å±ø·ÉUÞ§†ëçk_ª|yX94Ä9ä^õªÕ£ªmmÛ&¤íðb\{q²˜ va“ØD6÷?¸î;!“ n(7¸ÃÝ*õf¸¡ ô™JÒ “õ——±´!©CRE±¨Ã7ÃÖŸ…”…^zŠû(ŒÖ4‚ÆÐ¾?œ_¡^¢V«/·«ÞöhÛ¼Þ÷½Ozo¢]´ƒv/{+¸×ÓjO><½ØáY‡6Ci>-JE4C“1–?øƒ?øƒ?ÈŽBßÖAÀ¶ÌÞ`döDƒ2ë£RÅÈR(…Râ ZF .†ƒ†q.\ιòvìòÚÛYºYxó»¼qy—Ô'‘J“— š ©IKÕ©:U·æ;Ív÷Bm¨#õÔ110ÕÙrÔ½‘3j>¯Ù·–AÌ#nz°ÛXŠÉ†æ†Ã†‰ÜNî8Ë%s,Žxg& SÅ9äaïQ¨uPëW­º»?rïï1B?D¿UwÞ©­S9'oÍÍÍrî9ͽÇ\ÌÂôœS‰–ÑjZÅ,œ;£™›õYs)Ô)tèžñ¥ÇßÎfžd#“ï—/Ð5ÐîÖÊc±ú˜"¼NvC¶#-9mZZwŸxŸò>ƒ_/뽊Rpee$šòøµÜjæÇ6q®ÈGy…®²òóò“\~l ŸÈá—ˆ…Åb>Ö†µam¬9“sÒçÛt‡î I¨l4Õ†¹~=ýÆæ™5{ÄÕœeÒ3Ïš?ý$¾ÝœÐ‹í¯Ç„† ^oˆ·,'-¢å¡Óç.C©–ègÑë‹é¡ÛÍç§ð >ðÝd÷e1¼Õìá×ñüJ™A6\–‡Oç?ð¯©S°ýûkvKë¬w¼~Þ2¥ËPédýZýMýûÞ z-éE6·mrÛEm†FÔÓa @zñ)W’+Ê•¦å”J)Vs=çà!ƒÌ|É|ÉÜÜ=Ľ¸»¼‚Åõû?°lÇ6lÍÑ f—‹>ÆPS‘A£6ŽZóF̓µ¶YḃM5G5 4WRö§,HyÓã\¯‡½zt‘w9Ñ¥uAmÁÃ<ûäèÓ5›S·tØœŠÞ˜¨ª«ä*J IªŸÜÖù‘ó.ç*Æ/ÆIú±©©GÒúÈŽÊËò‰óè…åîã?¦ëþ®ú®ý¸¶\'6UWCWY×!·!÷àÜÇSu)™Éwø‹üižËù=ª˜ Æ‹ñb–(ˆNÿÒ°ÑXÄØÀ0ÖIéTÛéy\@\×øUòåòõò\€Ê@›6§¿LH‘X«@ßcòŸŠ‘0ÑÈŒ× ·¹Üpî§}´œ&ÐTšõ/b€ƒ)˜Ê²Él*¬Í«í®=Z1oŹÛMp›(ŸØ\ûB;B#ÚÚÚû°Ö‰%fi²>e¥ð}øþüYA™Qö 1›}ãä=CœCÒ*i÷¬í¶ uƒtÕôK;tì¨éпȭ")EÎ\~yùýe'6Ž»À*b{:_r~äœ~oнµ÷3&n›4rÒåáS‡v×»†—¯×ž}-÷Ÿßß1aFÂÛϬDwþÿ†»kzk6˜m¹Æ\=î6a9fÙV³q±ùô¹ìçŸÈ,‘ÿAâ„ݤ±ò‰ro9Ç7•m‘% ÅÚŠ}…ãl;ÛͶ›&š6™SäÛå2ùp‰ÝÏw£ni+Ú¯,½²`‘|EÏ /T¤`DÁ¢üÞ‡!ä* õdµdUe•sRÐE|*>Ÿ¢ú åžy·yåÙªçæMJOK_Ÿá¾{Êû½:½¯Þ]Ÿ+®zܬ¸5™53Ý3±šÜ\ægÓDyÎæ¨²—M¦í4±·ÐÄŒ%´ËlžÛ®µ¹ d6Omý„–ÉæÞ\INÁyŠÄxq¼°I|!Ær[¹‹ÜM6”ûȆ³Æ¬)«ÅõfsY+C²a£ñM²6epÊC߃>ë}®¾ÎõfÆ›éJÒG©²òÃdL§–ÉXVý 'ô:Ýzþ–ÌI¶\Üm:n>.»!ß-÷•¹É(Öð~¼'ÿP„˜*ÚæM͛Ῡ뜮\׎?È×’Ü,wfÚÛÔR)Šuw°­s¡Nç:ЏRq3âNÏ8vtfgÑy®S ¾ÞTx‘µ-+%KËíçör»sÄÉÑMÑBa 0Èö¢íqÛ[žIž =OÞzs;ívá:…k»ÕVéïêÓõI=|´+hR`É¢ÐÄËâ}ñf|lÂâxû>òW;ñ¹Í犟ÝŽá(&{+»-»G ©15¶}fÛÉö¼òšÍSÛ8a½e–y0Äú³¾,?;ÈòrÞœ‘Øz”ÂÄ´-iÍÓvøäöì½âU£W^RÞTLUL•Ìy~ ßSÖÝ0ÌàhØNrÊ ‘«ð .x '!PŠ;—p69¿_eܹquÓ¦½M»ræáÙ&çº é>äÙБ‡S»|–±/ãPf/~6?›Ÿ™óÅĺî7fáÜ1Í\Íg¬Ý§v%Ú©ÇûŒ:¾–ö…ö…F´›içe¿ÿaÁGû¦i[k›ioº´vàÚ'o¿¼Óü·vÝÖ•ëÚ5ûüú$øDú¬0egnÚdÙ$)?Ñ:ÚB-ø2‘_×á“"Ξo.›+‹GEêDsÓfDe´ò¹â³×ûm_ 4„ÆÑA‘yüÁüÁüÁO É4•¦SÊCjA•©œpN‹ôÌWXÊ1É@ \¦×xÁØqVÌÒÞÒÁâ©]¯£Ù!¯+ï)«{ Ï¥»Á%q Ø^v†-;‹=Ä.˜‰0„Ñ|šOó­eW¤†C¨&Õ|ÏÒ}zú99aÞçÑY“ÔC3 &Iî™\Ï3ܳg#Ò‘¯¨¥ÜäMÁÂñºi±XD ¯*owÁ~^ ®ùËfÏn߸óäŽOóÍüš J«‘6 =߃÷Òæ.5©ÔÔRwMѦ—¦/\m®6Wë_Ði4Fc4º‰5„ƒJ¥r¯²pÔ®¨7Q÷Î.:sõtãdcrã” æ&æ¦ñ¥\J=+žïq¾Ì|“Ê?.ç|o¼j|Û ®mk¶ÒæâêZ#"êjè^ë¶K Ï„há™36¥ºæuõw”Ø=ñõ—Wû½÷»ïkRZ(U¬”—S”Ó5§K‚`'8aæå0òg.æb.y’ 9ÈÎÈîÈÞ¥D$÷H.(òàêÏ ­ ÍŒnœ¿Q鯗âMбbÇp*VUx¶­Úö¨‹9®g‰‡¸ˆÈ6Q™QKíjÚm¶;6%}Vz°°ÄòZ¸ƒ‰(å£K>¡§ÐƒXÖÁ0Û0˰¦ãðŽAóÝÞuËöv` ¤Ü¬{mî5¸PÝ«újšgížMx¾6¾z¼SÂà%A«‚R ‰Ææ±y,G<)‹Š%œö;íušsáäEÛK2íÔ±êØã™Ç'½ï^ÍÍèQXUQUß6ï¾[ûfﳩЦÓ[ŽNÚ<騄ñ®½\λ¬žÔpbÃÉ[C …t«µFÑxÍäbm‚škP7÷l~¾™ãüÉójΖ,öìÙãü¥‚——_>öéÓ§€Oó g…«¸@\ .°JGÎc€È…ÜP*Q!vš%°õêtuOu'q¦pÞœÿ>NW" 2`sÀ„”òÉ›SžÛŒ·yns´ÔÒ¨µ¡úbg¡‚¥H›åmº¶i¼ßk_ý[¾Ôý²"Ñß5Ÿk‚«áü©ókÎû;4'è?‘?,{-ôµÜêâ#ëÀöáQY¼.žv'˜6×Ê{Ëbd™OMÍ—çžy<¿îÒÏõ‘ËmTKKc¡Ôt6¬ [ËZ˜“ÍqæôV»[h•gþ¬p!¼Mò©äÏ)7KßL»Ù¯_ó~ú¾Ãåé²òÒÂR‹FXú0oÖ°‡="°’„2âA ¨Ö¬š_ÕKÖ¾Ž("쉻;©fïp$£z†±—»Î]äîÓ šA3rRZ˜"Lf»¼qyä|hóÕÍ´õPá…î3=ÏôæÓJ‹Yb]±‹]/»Öv•ꥬó[×r]¿¹·ûå:q"ä„ϱ´c~GŸ4Ø_ïu½cžÛ½B<÷^Žº\÷JþcÇŽî:ò¢IÛ&!MBÄü¢IÌ#éáÂÆ±1LˆÂâa™¸BøÈš o#•JeLL¥˜ð˜-áó;ÎW×P#¡¦ç¦‘›Flòoy³åÉã| ÛŸW8Tñà¶ùÛ½wìË®'£æE•ˆº¡­8¤|n³J9^9+±aâ—/Ã÷·Ú×bïÜàÁå‚‹–,êUôqðÐà•Á²{mî-øQ¾b+ÆÖ»¼'Ø?¸Î¬Ó³ÎÏš[ôLàÉÀá>~ÞJïåü`¾>ïNØ£ôŽ"hò£,êÐ.ÚA9:VÃNìÂ.KSK#KSÇ~Žýû´xÛÂÜ<`NÌì›sVd8§÷IÝçõÚ7i÷Ý›~¯ý²Ì¥U—N7-44¼úí„Î k,®Èú”õ)«í¾·ûní«W1½bÑ jUyU •ƒk^·®þ—¿\.s¹é±qGwyÛ¤}“rMʉ2j-š+›˜+;¨:™Ê™Ë·+7`íºËÕÕ5¯g²çÏåË,ÿ¼GÙÝêô(¨ª!¿aŒa Kf ,êS-úÇ.¿”‹\¾õÄ…¢¿'ë-k(k'ö{‹ìÚï±ß;ûÔ¬;³nè±Áeã €™öÕi^» >…sÕñIL«“ꚺ½Atý·õ?pO¹ÆÜôM¾÷o*W§HóuªUÙR¹få-™O3gf~r>ç¼Ì¹÷ð˜aׇÞXcãóMæŽ{yž±è¢§‹8të×íS7/í1íyíu6žecrç)MNêE=ØN¶šm7ÆËV7«ßìFÓ«A–ÀUA‹Ì#ÍÌ ®77œ«Þ¢g‹6ÍùÌ7™#2ÛÛµ÷²Ï?¡Ê„¨ñ‹j.~µ¤Õ‘žGìçÜ7¤¯@³Eñ©Þ^磕÷¬Ñ£rÖ¬&‚˜a­Çº˜õSÍox£aFß}öï‰*Q.Ök‰uHMZ2YklæOðÏŒeM!¦¾^E½œ¼<«WªV¬êgã ãÓcååIåHsmsSÓ'Jº–¸È?ãñ‰––†–&4êÐèKÆžô‰é÷kô¬~²ú™À—âsíJصcw´¶®vž¦CÃGÞ7êàVÐm®ÛF—-.{œýªn¨6µê%ýaÝXÝdímoÝäⵊ)^}X‡¡ÎCžlðÛXgãÆ\|®æòhYªeDËM¦žf© ©„4‹®a¯Cø**›)jS#ªN:}œ>MŸÕ¥[çÄÎ8ëÇhSýM/7¹\ùpˆ·kšk3×c®]§¹t©Ú¿ÚѪïu7uGt7ÍÍ]Í=½r{5ñPuU•U=´S5òŠ(Æ)*ú6Õ`nõ—I_J%¶Éu>×§\–xm¼_ü\¹»ÜA.#%))g=#hå§<¤B6“=fOÚŸíp¼ýPŸ÷>}L¦¦+¦‹²"2/YN];ìXàÊ®«6Wo4Úß(²aë—ë¢÷¿¬‘‘QªÜÜàÕÁ‡šÅ6ÝØ4 ¶mLflîÕ÷×\ŠèRÓ¯f¿šëŠŸ(V»x ñ0ùˆôËôõ Ò¡Iá QÅ:å›q¸"š;š~š.ýÃû±¾3ýuþýG®{»Î{Ý®š jN©Ù¥WDOMÏK_}^óyaï½wôZÀ†°û,&»žquÄÚIì5{…'…öšYèqËÕ-K´ ]6dyЊk‹ï.Ê\8+èDДÀæÃß +1láí†ÆMÙå«ë®®y»vÌ—1.£]³›Íî6 ݽeõÖ‹©”Ò+Å4´ÔÐCê÷-n.þFª¨¹†åXŠÅ9—Aë‘â<„c¾>QŸ¬×5W6‹ivW-¯+Ÿ¸ýÉöç;ºyez{{™çwžw|ÞqOÏKžfcgãHãû…öíí Õ*X«xM÷M+7©6OÌW/ß⼇6œ8¤M¥{¤kë'5.Û9fUìºÕ»ÖDDdX鹨¾âÃ…d±©°ÈÔÔ¸Ïà3öùnLÕ5µ×xG„­¯»á冺µBkÖ¯Ù½ËÉ.m;O5Ñ»kQ=³Ú°ªW¼xönj~dÞb¦»©¤;YuyµæUm·8÷r~ïµÊk‡×ˆRÞ¥ê” [Òeiê²m¾g|çäú<¯æÜŒ9õµ£µSµ¡ÜXn7‚Â(Œ¦ç\Kë¾ÞS7C» èEPpÐ2„@˜Í LÔ³”+•FcoccÓ㕪Ÿ¬~ÎÕÛÕÆ5Øv¢m'Û#6 ;¼ô†K°qSöùí2ªKz—vYsÕå3‹7th°²ŸM;Φœ:V}G­¨_®~®z“_ x•ûUð3áÙ—çCGŽQrdŸ@—À˜ÀÓšÚšAš¡Ü îw‰’(‰’r>–?øƒ?øƒ?È ¤@ ¤<äHŸ¨µ¤ŠpÂv8A@Ì×`V{r£¥­lÝrÕŠ³ÝoºúPVDí™'  šW2šh»XKV[¶Z~_—K7M›é8ÒÑÇñV–!kV––ºˆ6â+¡ƒxG|BþT‘ʳR(Š¢dü^€­`ËÙ2ážðHxæZÙµ««~•~‹~Ÿ¡¡¡¥¡#gÇÙrJ±„XJ,íþÜý²û¾ÔÓ©÷ScìÛͰÍV²l¹úŽúµ:™çy;ž9õs qÊo;JµZ!œ³¼²¨3XÆãŒhÓ^ÓyÓ)vœeG)–b)6çdb£ØH6R<"ž/©Ö«©B¸ wµ8Jpk± ûpŠ-Í|“Y-£‰fR—•)³È|ŸÂ'Ò"ZLÿ&SwvX`…-a‹Ù"¡’P]¨íáðÖá¶M)›ü6Þ© S÷§F²‹ì;/ÎçˆóÜ;ºÕu+‘á“”YÕüÊüΧܪܪ\èrÓåŠË1~‹l—ü½Þ¨{¥½©®^¥^,ؼ ·íbÛÞ¶™j¸ª—ªC*—ê™ZB‘Ká®ppzêtÝé`êûTmª#d X`„ fR“šþEñ­‹óÜYî4b‡XjK¨³MS›b6¥\æ¹.iÈØjfiì4Îò‡òOò/)eSê¦tV´S4PÔŽ<U7ªu çK[ÎyZæ±æqÏ¡QÃ{›ç1÷ùœ…öšV(ظÝxÆxÁu¬kS׊ŠÒÊæ6»ÌÞ&gãë e†}†½¥·¥¯¥'Ûζ³ôŒžÑ³¨ëÍz s„pa‘ýxûöùyüh~´ú³Z¦vc¬ BÖ`—Ÿ+À¹:v^åà¼Æ<ÔÜÛ“žô¤ÿºÅ‰91'ÒP©É%ìÛûÙ»:\r¼æ¸OØkùlIKkšVÕpÍðÌðÂu³ë|×±U¶TT­ÝÑ™G®Væ™ã?)ï`s€© Q‘ú.ímª–䢌lùú|u¾®Ë.—É.=åNŠʸlô¿É†±ÑlLæêÌÝ™gämåÍåu]ϸlp™)•~6“õåu¹µ×2zgL͈/‹WÅ®•] ¹ºèWé·è÷ßcÉâqžîêã*sÍÐOÖÏÑ/1Œ1Ì1¬táXÛ1ØÎìÏÁIhdéo™žÖ"­`š‡EmÅ…±él¥P ¥ü *b#ÙHÁYp¼Ï:îu´fïW×W‡ªûñaüT~¢ÐQè*ôt­èšßÕI§O×õvzw½¿¬Ÿl˜¬›Ë—«.‡˜ß]2º˜¯™oš#æ:qêcWÏ>ÔÁwLܘ£‹*«+j(ëÎz7»Ûì÷–j檦¼YNYîYþúwúWúT®׫KÓi:ÍøV_ÿƒ?øƒ?øM¥4Ó®’½³Cìç;Ó#]ç–Ùv¼‚ÓØÒ/ZWŒ¾ºÿÝ´e_ `ïæÁû£¦o/>;XmM§WJ„”¹Uað«Å/Ý_¶ëlŸd¿ÔÕ×­†Û©W÷£¹Jì,q¿ô&fhÖ2ÒŠ?G f,†ï0½¡7ô–=`÷Ù]Ë0ËËD®3×kÇ¥q)\¦Ðš†1l e¶5;™ÝåÏä÷å·_!¯€wx‡÷ü~Fé =. W…(ÑUt]Ùev]ä›ñø\ÉEâá‘”Rè_Ð)±ˆCÖ`µÐ@h"4³$ZÒ,Yì ;ͬe¨5¤Æ2g™LÁ¿ç_ó/ií¤Ý–B–¢–’ÄHNr®$W’ ¤{t—î+6)Ö(–›É,7«¸Ü\n6·˜[Ì-°è- „#Âá„¢ª¢¢¢ kÊš°F8ˆƒ8”ótPÖ»P¸À…nÒMºi^n^kÞ„[¸;P@öØ»ëðºìoàß‘tÉÌvȱCvÈafffh¸affh˜¹af††™™ã$¶ÇÌp}IšóþawÛî¶©Óv·»¿W?ís{këŽF#éŽfæh˜sfvÒ é t„•f¥YqêK}é[¥“ÒMù–ûqž_. R ÅQœ´FZ&-¡gôœžóZ¼o “NIGh/í£²£ì&{iÞj^há{|M™¥U˜"*ze–2[™‹ ”@Qñ“&¾ýÄã3–a)–(7•;Ê#îÌݸ‡æˆfŸf{ÖäÌ.èŒÎ¶B¶â¶Ò’^%Ξ²'ì 伨rX9¡œ¦*H„h!Vø,Ö«‹ÕY<‹gq|2ŸÊ§+—”+Ê ÍQÍÍ.>šåã•¾Ê e¨´KÚ"m`åX9V>+€œh¾âäüòy±˱ö°‡=|àe·²GÙ­\Sn+÷á /äJ E…bt…nÐ5ÑItµv?Øí°Û±¶ð:ïu¹Í8´úP 3/·¤ aƒ; >Þ¦oÛEmL–i–Y–¥Ì˜|Q¾&ߢ´¶³V¬-k& ”úH}XVÄC<Äïh“шA V`–*=•>|½¥P" ’úH=ðoð¾ð…/U òTY^ª¬VÖi¼%wÉž?à÷ø#Y';Ê®¬+Á㶬 k Dh¤.R{©¹’+¹)C”aÊnäVnF £„¡´‹vÑi”4DÀF²lbƒ˜¯˜`ŸŽt¤c(†bwãÜ‹ïä{ø~i¹´PšK^äM>,Œ…±Pe™²RY‹<ðE1B ClÅl¥m4‰šhM8à!*{•½Ê!E¯8(N؉Ø&ŽG‹ÃÅ.b±¯Íëñ|-ßÀ¿ÏÜ>ª¢:jÀtŠ hÒHi¦´f&–Á,¬&«Êªáîã¶æ²æ¬æ„µ—u u¸TUª •f Ø|6±ˆA,>#ÑòFù{y3?ÉOòsBŠ*$H²”!¥ñ¼ïÍ—ð|•4_š%MÃ6lÇvëiëEëu âì5srÏÙ¹sØNÝ®‰fõ_ÝÒ ºäI×óë9OÁ é0"ã+ÎÓOø„OØØ®tQº+}p?àŒ¸E\'®Æ5\ÃõÌX¼9oÎÛðpÍ£E?ÑWô‘OÊgå‹äBÎ䦽¯½©½Då©U”Ie¥P2¥k[hik)W•ÊÌìb[±¥Ø,óÕƒÊQåDæ$*¢U4ÙžÚ^Ù‚ÙX6Šà+ø:¾Ipt‚VÜ+î·³:¬«CSh2MVÚ)]”ž¿¸N&Q ¥ŠµÄªb%¡§ÐCè&‹²^vPŽ(G•“ÚRÚ¢ÚBl&›Á¦ÒnÚE{å¥ò*yý/ί^RW©+kÇÚ³öœq¦ìS+§¨ u¥Žâ ñ±øD¼'Þo npX!B„øu.C† ;ØÁáø„J>¥RXiª4UZ±³ìvVœ!NÇÓ$šB3œ8ov^Twx½:õ<¿·ÛØiã>·oÜšºUVö(»•ƒ’—ä!92³2 }¤ú,{˹d?J¦$JýEýG!Ñâjq™¸ˆ¦Òtš)7”›Émè<§ ‚,È‚U'Ž10b\î+’Gß]„Â]á¶p ÝÑ ÝäñòTy¦0@è+ô®…sòryµ¼ŽÏàsøBv‹Ý`—ÄÕâ2q…0A˜ ŒÆ+¼ÂëÌ_u Çg\ÀœS–+«•¬°8L$ö#?ò#ËbXtÖõ¹…ÐTh,äü_ZH hñ¯ßvRK©%[̳E¦µ¦m¦ƒ~Ûý¦øuœÜarü”™¼*¯Ê«ÌŒœÙaÆíðôp÷ðòº ºcº½b/±·Ø GpG3ïé_½8H¥R©T?çó™|Ž}qãëǵï¸Y÷»”Í5Of8õ)u£M¡77„M[õcØ­fÆàÝ·¶ïh8Ý÷Чµ­fœ H):ªä]sªÙÝ4×!ÒÁì¸'ãtÆQc¢nvªÎžÖã–f4Î2Î¥ÇäDE(Š2(%P Å`–¿{÷UªÿÏä@ø°Íl+Ûžü$9<9ESUSZàæôÊé¾â§ø)ÈDdAs4G󬮻êÿg+°+…Bq¡HÚ7éƒÓ&YßYžYƒ=^{Üó8«lQ*q ±ïðï¿öAê¿Z bËF³Ñl¤u‹u§õ€f¾fŽf6`=ÖgeÌÆJoÕ¯CÂØSö„=–KÉåäÊ™oK¥ûÒ-*A%©üà¿¿» *•Jõ Í¢94Ï>§CªãÍÇKïáæªùÎ[úœ*èÔ¨Ô¾6vo¶þÇil®p‚3ÀœŠEÍZ©ƒtØöÐWXjÚ±)ã{á»È&Ú¦ØnZK“'Õ¢ :;MQm¹=הּ§œÔz@A „ V²þÝ»¯RýC‚Ä$œÂŠdY+åÝÖ»“Osª‰ÚTG!–lj!âGцžèÉzà"i²úÕV…ö˜ÈÚb$FQY·Û®SÜN O„IÂCÛzÛfy›TDÊ`ûpo™?L0‘I›ú?Åf@ £çö—íßÙ;ó±|=}Ä6Ü$G8‘Uˆþî‚þr@nV¯ñ€ŽJÍ¥jš1™oÓnºÍ"¹YK<@ò?FªT*•ê/B7(šJH-¥"RIÑKô†Ò\ÀPl€3zˆøi ð©šk׺}dWß™ÖÞš>gÀù| å)RƼ<ãv†MÆ cñOé!òÁùa„ &Äá3Â( ÁP\Æ+¼‚3 0€ƒ Þ2Uªÿ¬Ìm,b‡øHaYï@VÎp†sVpµ£Ê”¹˜B´xƒ7¦(DQ$+ŒÂ,ð€'88øß]PÕ¿AæÑÏ\Ñý Ïè9À eó“zÿ~:³tE(²Þ÷‡?ü²fÉ©×a•J¥ú7à'è ¿`÷În¯Cÿ‘O¦ßï½Éx2ìþcÇ!%.·ßä9PušñÇàhö´‚fÒ(×®ñî)^Þ5}Êg|0Þ0& ·Ù!8C^",ë­ƒþØÕ( PÔ¯J*Õ-Rþñ: ÷ÿîâ¨þGl„,‰<ñwç?$³»¢aø€¸K7q±ˆAfh¥¿££’ù(ÙvС +‚’(ª¨ 4þ ÝÓh¯qíoØÓÿŸ$þÝP©TªÿÛ¨4ßI íB_Dvv«àžA›y>­áŽdÜG46ÿØî‡Ál?È·s£÷ ŸÑ>»ÜºßôhçÖÈ­‘ûiv†=`uÿîÝQ©T*•ê/E C$2@$ÔÂKØá1 ëÁÙ!×C Üa‡ðE$ì`C*"àäú»+N¥R©Tªÿ2Ñ êJÉlÛÅ"=Šx.ôÉÛóã4µafÅqß¡Òà7xC/ØyœG’©¦é…©•Gn*müÖ8-½–PE¨"d/¡J¥R©Tÿ+ôÐB‹[xFÏðÙ!zOè1ÛŒ®Ð±Bká‚TˆþS‚3'œk¡ƒˆWô)8]¤,ã/øDá”ÐDøˆƒ˜†i0Á›:QY¥R©TªŸãÝx7ÞÓa§alíc]^l:Va/ò`*üÔΜÒlƒ +Ê¢ê"5YÔ@UìE>ül:¥J¥R©TÿÛxŒ;¸ƒó¸Ì^Ñ*I{’ $ NXûºé«O/ýc¶Ç,Œ¢YKD4¢ röòKÿAv°ƒJ¢Jà;´ÁjCMƒÖ tœV¸Q®u¹óåé¬-®[©]‡õ˜uÈ?äSÚ©T*•J 6j mVΊˆ…œqág‹ìg>u¶‡v˜Š%´–Ѻƒ^ƒ‘´…¶Ò¦¿{oT*•J¥ú‹¤"É@UTÂ#<Â¥ô®iÉi>÷§ÜÃ]a³é¼Ï\ïÞïùšÊû#ù â?î›ÿp€žÒ<³†,ˆ…‹ þèÂãe bíÛ-ÌÝ'ÏÞ<Á6³í³íîb¢‘ŒdÄýݪR©T*ÕžèÞà8‰ãxïi=›†ÖÐcãO‘ª~º‘ D(‚|fðСae‚¿{oT*•J¥úkP0^á.á4ŽJ‰â6éæ»ok¾­Æ§ó}ÜP¨F¡…ÚŠG¥ïÄQ‚"t¼Š÷xì`÷ï.N  l˜ Ž>ì³²«öì3®½8ñ|Ú³òþ óíËwÖ:ТXö M“†·ê=Z¥R©T* E€O |Ægº…°å§ßù±LP @¸`Õ¤Z4ìè> %oò¦|ð„ç_P¢Ì‰ÖÈ@’Œ¤-3@„I¡Å]h Áˆè<4àË [¢= C„Ä:P0À_°$±ˆE’ô‹¤™¯3“ʸÀ.ð†7¼ÿëüÝT‡ÏHÁk$  @›U“™¿—9‰®ÜQØ/þïÅÁ¡ÀpÄ` @¬Å&ìB:Røo^½öc[ Æ”…*btpBOd×L6pXŽ(ˆa8ŽÒ¨tD#¢?ÒaAâ¿eZ£ lȜȅá‚~è‹Aüȇ|HFÕüÀ³Ì€L  î"÷²^3ü5-6ó¼Á ¢¼Q>ëõŸ?ßÿÛ|ùú3ш¦>x„»ÌWpgiÒž¦nR´ÊMù¢¶´f‚f¹2C©«bùÆœð? 8âߟå^„ˆBŒ cz¡ºÃ6ûö'‚Ÿ7z»—c儊äJ=¨<ÍÃQœF4}¦H,Çb|‡\ðE>|ƒnèx·ÐB Ýß}0T*•J¥úO žäMÞd…ÙQ$Õ¥ZL±6È™¿ócXÀàœ†ÀŸùQÆ*4G¢h dE¬Ìî"àÂv…½FwÖugˆ™G2ˆ< ÇðÇ ÄalÃa>]§+°áÓ)Ö€. ©,¿x ÅÕð 8 !“:ò›Ü"yU$ƒ#š?Ý ¶‡=pîÒ-±©XEì¬òD¹†º¬6šA ‰IY+ñþ<A†äF,Ó Äá-†²üB’f5¥12á5$s`Ųæ<ü]r 0œŽS9q®%]à}È'=P>#ŠMš#F„Cƒø—}®<á…E4Ÿf‹V1FÔòË|5_Fy©'õBGÖ‚µA2`üÛjæÿgØÈ_x±<Ô‹Gò¾R´XPŠDCc$˜õXävƒ3Ïe=Dè #"•ž”Ê«!FŠ„"ÓÿŸêùúãO¯aFu@!´+0uf}¨qjKXU€…=e ì»o„á p„ã¨ü ñH@$Ka&Þ• S~ä€; á UCI”@Ä"•zà$Ž …2Bcš‰ñHy(Ml;‚„g%/Tl©T*•êÿºæÔ‹¾E2ÀŠÀ~xG(x þÓ7¨Ÿ¦@+Ap†'ì©5bUQêÒaþ€W`ËPåÙZ¶‰måqô‰Þ EY9V“žâ îÃì~g4O 4ˆGâ…oY6Äòƒy¥)PY£ âVxá#>B€@ÏÑ%Y<{Ãúòu¬½™Qžg'’g0'¶)mµ8E|­™O½ørÓ0ñ¡øJwŸØ@÷þ4’§û¬E>VNS Ä/A†f…öúZQˆBÛ…Ó8AÓh:mOïž6,í£"(Š(‰ó°–ºÛUµËawA˜'®ÚNYÃlCP—ÕdU ÍÏZè‚|`7q w… !¿PŒ5d XJ@²:Þ­OHÂK¶Ã«4QfXkçÚÒŒßs i•k˜Ã:á*›ƒwBI­U¼« ÔÆK+ m)q øŸwšHãh„°B(N Û²íC;¿ÚùÎÁû(ã嫏лT“’€Ø?µ+œàƒú¸NËé’ñ˜LBaéšýns©äJOc5íl¾9„½âVÃlºLyÈØý©DÜh&?¥)"žÐ7ÿÔ%Ù÷ÕV÷Bv/r¦Ù‡j»»®²ÊŒŒ‚bGVKH§ð«`-œ?q,2«Êž4dÓ5…4]?öÿx#´žW†wzŽ–ú1:ƒî•üIÞ.¯Çx6•ÍÍŠ  úW™³XdÔA8SE³Šr¬œ•Ý“îH^’RXæ q”ÝI³,9ÑžêÒ4>Ín¸ÎÓÐ&u¸INÄÛÑêÅZP74‡ÌòA²æ0|78ÀÖÐX«©%>‘*‰g…­b z†( ÊÚÃÿ¤ d ƒuAgtæø`>„»pWî!]•.Jg©:¢|á ߯Þò¯?´5°>Ô’êÂ*PcØpÇð7q“ñ4–ÚÑHêIFzGïé] ‹ÿÑpæ}áâJýx×ĵÐÂçè8¼É•®P}Þ‰·ÔÜÕØ4¥£¢;GµÕ–ÑŽÔùx|öÈë¹Ä|Ù|ÑtKh&ôÆS2’ð=²*•J¥RýçyQ* ™ÈöÔ -ÁŒe~úú±»%ƒƒàÊôÐSW\ÅþŸOÓÅæRª´HèÅê³vòzåœrJûZ;\û½5—¥–¬KbZz‰x ñ‹¡A©Ñ5o4Ê£#OB}ºížŒµgöìk0…‰,Si ú³¡1?­ç:¿_Cgý¸^ŽN9R›¶*¥†¯-Mî¥ÒíÄ‚s=®y*2Á3{ñ‚ÕQ˜ÊKhXQ rÁÅÐôÜ‹dwL#qˆeûØv¶•O#l¹¾õÖæK¯š¿Þÿâ„ÃûÊ”PÎ_‹F1NÔ¤{¥×M»ÏàïR ¹‡k÷^='xõõòö^„åŒi„~ø6«[ûOp•På•òK¹º©¹œ)˜?¤4ƒ¹¡8ŠPÒ‘ö×¶¹³5s=fæÞdY÷k‹ú´}81ê‡S‹sÖq¦ §²šª4©ôÐÀáÏ<’ «t™Ž£{Æ>™?˜ÍÛèßÂ÷Rê²JÔ ‘vС¬eÿ7Ä ŒMgÓa¶¶fíøzZo´G{X‘†´¯ªO{†/.R"éX fšØU£s½íÔŽf»–dü†ÕTî(Û)ð>ãcv6L S¨°ö¨xVópOèÀG5gŸ.S«#ß&ñÚ1ºcÚ<äF"¹£ê ÐW׃ÞÀŽ*c:_Âsï’ÿ§½ŽÌewAdWCqækwTFNTþX¡¤rŠŽÒ&„ ‚Ö¾˜]=û ‡2†‡ #›` Cô}÷ÕÛÿâõ‡h5m†‘êP9*rÀ>P("1G°Îᮓ…^Ó\ÄE\ø:À‹T:‹$h!ÁŠ¶Ø‚çxA&,ÃdzIÁôÙvźÛjÙ$4&‹­Ù#á;66€S^ÒÑZB 1ˆú•\¥R©Tª¿ ‰øýÈH·h=UÁ|ʉ§¨ +ä ‚Ų&';1g4 é|£´HòvDÄ~>{Yz!ùh¸pñqRÄ·LÞ¡y÷É òM¹ À]¼C*ReMo>’ÆÐ¡¦À„Æ/;¼,þ<®ñ‚†›öÍÛ%oõ¼ Š4<ÇDˆ(?LO,2>½QìèYÈyÞE)õ`³-(~ÅŠÂ=\5Ú6E.ôàdüE[èÖÉëÓwK;]s 7ŸeZ9žy¡ªýÁ£mƒ 6x ^TUQ‘jQ=ªBIÏpSÁ`½!h,¦O’Åhò%}m°¬5›Bá–KT½…®a•æ}õ4í*~^ù œ‡ˆx’˜œQàwÁØÓ{¼Çe+ÏPvã=;аG,ìA0ü£õºB€+9ÑjgÿܰÓ~PlÓ¸q];=Zq©XS¥É¡&—Rw¦L»&z _Ÿ‹þw®?TŒŠÂ¾ä GêEMá K1…ZÒyœ¤7TœàInðð8üSØ ,¨‚*¨LV’‰h=m¢­ÂdaŒ0 GpÇàG8~u«NDèEQ"U""'€npÀQ3¹‘ÒXMVH¦:¬ûÀê²—,?+D{ùz‰Ôåñ…)˜yÁ5k‰J¥R©TÿgÑ·T„ŠÀJ¾ä 7j‰¦ ˆø@Ø?gXq‡BËPui §â ACt5µt•1›ígm²Ö[› uR›d;iÛŠaB}¡ ãüfQÐ:Z@ňQ ímÝyÝ~UžSÓ§UN R®QZL2™Œö¬,WG˜¢-à—SÞ¬ eõ…™ »\+O8­çnüVzo}yÛ¼ØÎí6GÅûÞ¿§Ì }õíZ×X§9JgÛä?PlÈñ 9˜]€ …€ß]KÙœÞQ0]ÄG<æ #9vrøÖ±Vz²qXú¼g†§÷ŸxÛ­°[a÷Yn*×³í·Ÿm_ÝaD±˜b ¶ìU/þàïgíï¤`;›€¾ˆ¥xd †¡Ÿè.æõúŒ|&Ÿ#/ùGÖŸÖrj•µü”¼ ý¶ZÊ™«™+¢éù’—.ÅîpÇ~ÚF›Å¹Ru©‡¸]\.îgEåÃ8hZbÔQ¼¡éat²nJøñˆ¥éã‹÷&íÛÓ0ï\‡©¥5âÖK[J{L§ÓŒÑtÑ•ÑÒ¸'kŽWÂbmö¶¶T–¦Ðx3/æµ¢ûËM°u¡¶$Á¥°'±2PƒZ ŠÂ›²@Ddw|,s“:8À'h2Ÿ†" )'Z1YÛ.Òð|À$o4±•z_/t¥#³£^οX°7 eßh;×%ÇNÜ™ç7å¥ Ü wÂ4*¨\C%Ö_(ăýEknep²"7œYašI—©œ`{Ñ"\•µÛ%Þ´>€¼P™"×màT|ý7e¬/lË,r=<4hH—ÃŧÎéW`†g©r…ŒÇ,r²I°g¢pXaÖFX‘òÕ+„›ÓsºEÓPzÊ‹t{Ð Ñ%QŠV"øÄY`vŽï¯H#¥¡ +ÇZózÉ‹‰¹Ø"±˜Ô\˜!Ñ] Å]H!!©eWX vNÙÈWÉ;äg´P9.Üc—…›ØŠ7´ vØŸ‹¸»µàk«#×¥•®ã]wˆïÇ]{éÅû·³³›aŽ|#m„ׯü­V€yÂÄb„h„g½îHEø;SˆfºP70-±`ȸ¹Ow¹€&€U>©|ÏÓ5O^t³œ´žC¸¨ËÞyM]p“ô4 ši¡½Ü ¨x(·GÅ ýÜK'õ;‘ô@qIz' a«Å°ûºˆÄÌY„µ¦OÖ—¦–ÝÖËÙÝ U+iW[ûòò–>̅ݼ¨)øW=ø¹Ìy@¯é5=Çv…tqrèV«”“X …=…  ÿ¸ïü@opp›(X3š_\”¸èââWá›Âׇ_mÖ®yñóä¦r1¥†ÐT§§~mq~çúÓ :(Š`ò`"¾Ç.|Oø1¬¡#´¬”F÷©1žá2îǪó¼ð…/ݤÛtWš$ —¾ÕÇëïé¤íO;’>žucYg6‡Ía³ñÏñü+–º$" ü-ÿÄãhաܘŽF˜Ž‹p‡;M‡/ŠQq ½3*Rk„ã#Fá9žc[ˆv´AÉ,"шüƒGV¥R©TªÿÔŒúÑ fEPƒp þ(Ž0(?_Ø÷S`ùQ KàÂdOyª<Ü9Îe¿‹F¬"tÆ(U•7Ê oŸÒ>Ï-#-SÍSP‰•f­ÉŸrP´úb¤èäIžôy?9‘–™1+&\(‰£6؆ãÚ<ּ疃o ¾XÛa\®Ô=ù™ÝvÛ+µ[R"sèš%Qšd¿¨V-‡W9Z_{ïøc­L'/;&wOépx–Ï1Oñμ£|PY†üpas@È`ø: &OòÄ,ò$Ol {DÔ=ÈÝöÊúFlÊkjd½ß6¾­1&õ`êÓ*ù¹|PÞ Ñê¿uhì°Ä¡2Ì& â0ŽU@.ì„ËÍvb-Áš’1­ø” ]uÍdÖYo¤¤D¤-s#êHÕ¨,:'}}´í¤"•Âøe~J{SûAëø<æ%{ñýË"¯¤…õÛ4• seqµ÷ýχÒÒ#jUlUÜÁðYJÂp}»ã’³Km3±²á#žà îž?sÖz1Øõ“fbÈ~³Y¶¤™œÇº~rhQýaÕkµÎIµÅGbgªBV² |ãwÊÖ›rP˜I$„"2…!¨Iø ddkOhÁaC*žÒ)ò¬âý]¥«í^zx”ÃóÙÃZصwˆ¶û6w˾=ÁÞ‹MçØ]¶D[ê³éÑ oל¯õq(ëU°Á(»&î*|buÙ0™¾ã-,—1……Š;‡÷Xš?ÒqTGí@e¼‡öf:TD¼"ÍNs¤[YÚ‚MˆrÃßIse ;$®yÐÀZ,õ ]8,ìGÂ÷Ð{”¦Ò'OŠÎVq“39àT k¨(`±Ecò…-Ú­QÝÝfX_Êï¬SµŠtZ;@€]6ÇOá2‚³Ð*9jHR{KŒõy¼pŸé„¾tÜÈåO½?¥ôTø^ˆZ&XÞ›¿+=`ž¶t†¬)ÜØ+tPF‰­•}|ž|L(ÎFˆÒ÷RYiyÂM³[µ½š<:&Ë/ä`Ù¹½×F§¥h‡ÉDmªEaäI/¿º<_¾þ\B.ä¢Ü@9©U§êÌ ÷‘Aè Ö`3ÖÓDÁÆè3=£¼À%<ƒŽ¿¼ÐZA«_8žrXs{ÉmíÝ’'‡ž:vªþòŒe«—þüèó›Ï•Ä>b?q«Îª°Šx…Wx­zND"Ø6¶mÃvÚJ[ñÎÁOh7vc õ¢*ÐR>ÊKw(•,Ä '£­¡4ªŒÉdGçé y‘7¢¡üˆ*•J¥RýoéGÞäçd;Ú€Z4ßã\~>·ñ§)Й©ˆäJ7èÍIÍ{Íõw·ÞNþäi¸g˜¯õnàã˜Ãóyô³!O”v)3¾ì•Œá2:—„[Â=<£×ô›yi1ÖaÊÁŠ·Ìè‘'è¿Ê§RªÏÒ0êÊ×%—g¯uÝr]UŒÆBæi¼†¥ñ›³šn–Á‹±…NØjc«®kƒ}È#·;èËVJgÄ<¹dkh.w²µ¶ŠOÞù9ïG &¢¾_^æD!(‚@?œ¾\cŒw†¡ÅÜÁ=tÄ´D[´"®´VÚ*!É”œj,·,ï’«íí[Û¶‘ËmWù¾‹'¢3º`0® ßÑ.ZM[ fCš¡ö#ãQWîY½Ï¶%ÙpðC+Y¦£/%oTIJ²B_Ë‘\Κš%6)îTì„5ñã¢ên©Sº®g¼›<7Dëø@SÇ=éT«®¦ï” ¶(Ìò —`PP7¹™°=ÄGæ>¶Z«ÝÌŽ‘^v½5þù6çØY¥TÈæWw>yð.ïÛKÅ6}Süš¼An,7`ÇpG§l½Ð¡À-Þ"2dØ £"Þã+ƒxñ™>fs¯m0!Š¢ñ³XKÖ «­•ŒË>®ˆusvö9—-e}jø¬ (Ý,–OÇÒSc݈……OTõ˜ÒÚvÚ,&­±ŒÌ0ÄÍ™ôþô†FÉ3?‰»zxÙ7µ¦&!_Îmü®¢˜¶°~ì­P)ô‘ƒAøS£˜Ž¹SošOGY<›'8Ks„Öº£W¦„ÞYðê¾v¾*<:裸÷T.t¼Â¤’½«®4ƈţ†¼ŽN]p yÊyV(Ù®þŽòZ§žìðèûEÕÌµäÆ©MKÉÕ¿þÁ‹MWQi:KCX äCç¯h-¡x‹¨„`DÂiHÇ;¸B@ EÊ¢/´Yíð‹`ŠG<âÙu¶—PÞÉÍäjNËç¸ôŸˆsÄgØ`qL¯¤¨èjÕ3¶ªÞFŠÝ49ì‹kVÛûñäÏ#ÅdvK°_ÙŽk–ªäRëVÔ®9dåF»¡šx»Ñ¦Ë¶ã&O±•pH´Ã'Jüúó"“TR*(¸¤œJ)f9ßësW]‘‘•–mT0Ý” Yô_  |ðòIb>á3Òpá/ß?£8[:i+f*vÔ6Fèš … a4?k3[§ß¶óÛ#g‚OUÝZlë°jƒ/çé\vSÙ’ò™´ris„Â!á8å¢ì…[ŒÃà=@xWÞ0äİ×g^z‘6³ðœÔùŠä4F.“d6²Œ6²åÂ5¼Á[¼@*KE2í£ýt¥²T–œu¤œÈ‰\XÖžµEÊÁ4S)VûPê«•„zb ñ}¤ôó†¼ÿX=g}Ö-¼Â-v”MDG VÐw/#¿i•]4Vo„ÞY…ʋׅ[qï{xGYXa¡²ÒÒšÂ,»ìkÙm±ol;f3ÚÎ*0:K?0=1úêäC¿wý¡P … À‡ŽpÈÐ@G,L¤ –:ñTªÀû3#Y€_¡L‡é0U^(gxcÃC˜þùî>{ZíusíçÚÓµË$ç‰{' Ž–¢»F¯“&J“¤)hæh'8ýÞýÀˆ'… ¤#-Œaƒ7Œ0¢Þ!Ä*"ž8ŠÅ#hÑŎϨ#Þ³2Eb(’>ÿ™ã«R©T*Õ?ê‡;¼§÷(Bɘ !dõvü|˜ƒ ‡:Ís³¤Z¶[:û¿É?!ÿwÒ ©–”ÏdËX˜1¼\Jc¥‡EþéËX032Ð@šBSƒUXõ›e™… XƒBˆÃmˆGzLpƒ'òó<œïçKé-]¥ž4B¬B›«pÃдÐbËf£þ»zRGÔs{jš¤c òÙJ£%ÎI³‘æ³i§×&  ç )T󱎒±‚Åcœ±¦ÃHÓX ¿¼dÞ!—q»híB)ä‚„´‚vP]¥ŒR’/‰ýÄG4š¦ðï‚»7x5šUc¥…QHÆG:‚ÃØSfú ^ƒ§þñ< ý(Á,¤ ßÉ·•;ò}T¡M(I+°u0×p—fà>}õa^H®d/ÆIÏ%æN°8¿riîêìnsíþrÌÑ}Ú2õVýhmŽ¢Sr‡VÚä1ÑçXe¹,ŸË0ŠÙsMGã9Oâ« ÓyßT:ðà\Ü—oÿhòíà‰jü¾V‰ÓùМ=ìüÂ÷f#TAÝ çt‡L4¥ØJ¶òËãÔ‡ÖÐJ%_´ÀbJ‡Œ,¡´ˆ!àøôÅ–ós)ˆÀaT£ž¼´à¥©àÜ<îÆ;·©X]Ù÷u°Oñ¾í;m‘?LZ‹ÜtÔr@eö‹øŽÔ8,¶ß£Y&ùçØë×&h^¹ „fQcF•}ÚbpIŸè º+ºjúê'ùô§äm[‡úØÀ¶ƒCÎæèôÏݦáDs±…&jr±‡Z÷¾yï±¾ÿ“EñgÏž«y±Ü®†ßÅùѬ׮+›æÜjgúÁ–xZsXœ£¿äÐFºé±ãÑ£áxÝr ÜÛtH©r¾ÈéF¶)ׯŒŸX(Ðcwù¾ŽõÇ=ˆÎ£.߃É¿¢l³ñi4-Æ[ÂC䇎Մ31VÓ2ZI…‹­b«~g8 ]ÐY~ ¿•ß¹Ên#݇o³mË·uUØñ®ai>1ž|noX´oÅÆVÁî¥*½Ëc¶àªù©&·À «i7vÑ$²ÒR*O/(QÙ¾ÒªT*•Jõ?‹úÓjZM©*&b=öb/ (†Y½]¿ì+p€¨>/΋k÷j}µ…ƒç¼ùJÔê´‹´îžù¼Þy/z\â¡Ãý§EZM+¶V® ”Áj²¬ >#¿ùt™¢(™>‘'S^:ƒ\Â}ÁfEϹ•\h,•£ú|„&E™J{”yÒt‡ÝA£äÚ©IÛó@Kí˜Dh.•1F\ Wf0’·4÷´¬Nâ{º‹§sM,û õ•ãB¼£‚n§é9•fàCnÞ€ŒŽýïÔY0Þ!˜\IKFtG'ªCoè¥ðŽÊG~J>(‘ó‘3¤¬+Çê³¾¬³àÍ"XËOwèYÖ—;`€ŽdEàÆN³+,‰/¢e´„SèÁN¢+;Ï[òª¼)yS9Pwú†¾A}ÔDý¯˜‚È0>”&ñ¾ÂwB ðCš-mvš•9ˆ{Ågvö†ãÁ–w_z¢]è¶E-ÛÌ+S~Xo«Ÿ86å;cmhŠ“nŠb7<ÄÏØåN«¦OJ®š¼Õ´ò‘”²¼Is~/dÑ.#ë}¶¥ã‘qAZjjõ´5,„ÝF J¢Tš„aè±YÁ·~K´C;„#‰ê# % шFCªG#aa:æDaôžÞf³M3´AaÌÇNåºm‹±‚WùÀQ£ô1E^<švîñÆÕa^ýòÊþ‡ÍW*2§†ºYÎmê߀‘j™§É·-öŸ¼MƒS|Îø:=u.Rï°âb=à:4¦ê«Gó›ä™PîÀús|¯õ\b-Ôe6pFn´ùšsNM1†‚ ~ÒiûÀWrÌÈ›+n„ÇX]ùZÙ<5ÎÜܘ°IÖ‚yúëžûGúõÕ›*¯Œ¤ŒM¯ú¾ížØ÷Æö"±.÷jõJZžn¼Ÿövþ¿ÞmËLX’î²Kä}Év•?± Æy\cÓ¨DúŠéÁEaTuQ›®#±`‡òÔÚ¢Ú òÑ&ÚI‡¾Üæü78ü Ž·îÝlã̪g+“WÿœÐ8>ÀPY›ÛP1b‚uaäé@µÞÒ±„Y%vNñ†ÝJ9R*CÂ[l1oÉp1Oh²¶°_³y[s<_¹}ìóµiN/êÖòݪÏxz¡ÔœØ ¡]z«´·i1Jªâ¨¸àÎà4Âþ{ñÃ)E‘³pQ𦃩>©Pa“ykõôî;Ýjš¦ÊI²jc;¾G%,Æjk™c}Æ“ñ-ßløþxÕ³ƒ_¾ÝÖkÃs—.‘.F§¡ºsúB¶Z8A#‘€*lŽî ­ Ýüb”忍a37kÖK“DWËÅé±Órðsþý ß™õfW$°6,{­¨#iè>£ˆƒÅ§R#œŽöÆ9Ú×ì<-#°Ó½AMô´¿¹SÿÔàÈàøà+,}bÉ9çlšsÕ;ï÷Þïúæì‘Ó–³[æ&#c#çFF,SàzÁb‘®Q‘”Íò ¥Nñ˜â?›_å@•ŽUŠ¥¯Nß–~„õf½X¯híÿªꢚâÍ)žÒ4íriñܡݽæx´ÜRþy˃¾¿Xnã„Çí¿Že]üï<=µòN¿5OÏÔ_3=× ý‚\q'¾ÎhÙýK)u¦Ô‘@Vúúù_¼þÐk Ù“+IT…|Hû0#¹€@”Å2Zƒ~˜ŠV”FF2âžâ 0üÓRšš¨‹F´ „H” ÔÀ @³Y³\3kU¯ÕÃÖLQ&)”7“MÌ9!6ZS+fºØ\l ÖÀ4LÁd¼ÀK¼ü•µÁ™àÇô–>b6u¢Ò¸†M°Çe\Âi ¡‰ÔEÐÍh/îR]ªƒX‰ è‹ÒÔ C©#šâ5jÐMú@VDâó×?`U©T*•êL{´E[Ü¢Í4‚®¢49a nÀþçßly»Íìv]aר=ù ì+_rWÜ‹yŒÒ—Ö›õ¹¨+µ¡þSý§æ+ŠÈ hP`®Ì‰¹ÒzN¿++N¦ &¤C *ãÒ>‚NQ ¦ ê®ÍOk¨¨ëPe°Íì¼íXˆö¨°]˜«ïÊÚ>¬IÍ2¤ô{»;>SW·Õ¾vjѾªr™‚¥<æiqN]æ9ð©Ëuä㳩`ì\‘ 0Ï*Ç—¥! ip„#œø~˜v#ïPA©ÆÇñÊ%Pù‹° ¾J‚¹#á'xa¹°IØIçi „0fÚæ ù(^•ÑbȪá3+¥y¢™/åƒ °–ºãºûºÜÂ'a WÔ@¬pf]eG bÅ’ðšÙä>òEÙË6Ñæh{çÜÌžì*¥¸"»«á>»îÒÐæñ^T]:ë‚_ßœCN×¹¾êŒÝ|q2{c뮼·Ö q4×þö”üàð¶‘§}üÆKmØÙÅbg)oÉ0œµ Ó;¡5f²™–±–‰–s¬'óeMp çp 5P5~³„VX`˜³"ÄfþX`™,d! ÂðÙí@ ÌVÓs*jÛ íÓUöZãxеó#‡ÙóîÜ:É÷h"1¹mÊ«ò…»9xÖßjÉ›úw_Ç¿OìÚ-¡É“Ñß\·…[No£Oy͇ôþ9Ý¿üÖå†O›ˆ€ƒSö–¹–»VÃkF›µ\ò=<À0æ˜ ä¯ÊkV˜a†Ê?°¬V÷óŸ/v€Y1V‚ãy]¥¼û[÷îmÎæ?|æ…®ºÝf]†Cû]Nû­ÉõÍÁí>ßÚÙB—$XtI¢ÏÅt”¢¨€«pT7_œ¥;ƒž&ÌÓlu –6t˜×áZG—¼º´my×ÊM5-lmMŽSMÃ|sàä~KÑÒEYÑõ3d4bkØj¶òË»+~#VfJZãôNr@ÃõwùÜít»S·Bž%?»! µÏkïŒfäEa”–rgô+ü¸°¤Ôݵew øäšíVhâ’tmjnK­ M%&é£â;–NŒ–¤ßïÛ±òÝÐ×÷³ãðCþÞ€Õ<´Õi8Sh~¡ÙXb:d: ³°ì£Ï} ÌòCùüðm,­´Àg©uÇÏ«®[Ôoaó…dû``ëžëu®w9C‘ˆD@wNw\œÏ5l¾Âúsºãº}™›4×·4·t°O²³³ .ÔºPÅ‚½H¢…T×±™cuÇ8K9K5K=Ö†µg]¾âÊó[ÜawzD•é>&£ FÙÒ&~l%)U£“ºÄ•Ý¿ ¶2 ”Wé“‹zŸvªé0ÝÎÏ,mM´L6ϰ…Ê…mOì¢pÄðcNKeýeûâõ'kË,PŽtÈðF^ä¤ÁÔ õé.6ÒnºO%H;¸Â‘>Ókz Í?“ùÙ‘ÊPÍ êÇçð|™¦¦²&h­ïºüë…žB¡É”í“O,5$úm´3D’… BVŒÂ)üŸ"k •<( ”¹É VL‚5ëùµ9ë<¶fí§rÖ#TÛï“X˜å/8¾*•J¥Rý÷ûé»®9ënø/ƒ‹?v€S‚TÔFÔQ®ÊÕ+Ê8™É“¬¾VÅúQqà¹x>‡¦žæv†OFŒ÷¬¸è#¶å;”#Ê®ã ÄoF:å[ù¾I¼#ÞŸ¡µ£¼*¿Ê/óPþ”&s wR6óÓü®è†‡xà;÷mŸc–‰Ýwõ•ªDWíÞ‘y"gbk]®ü>L¥’îŽ*l.¿}Ü$ôrÐôrZÓ¤±’ÑÉ×áf™ ¶ãò$—~‚½²ÃÄŠd§Æ(Ò(Ñl!äJ úú:{{É>¿¡ùQ}®ˆoÄAâ7Ì…áxâö$J¬GÏùwвpFL‹bȨÉ*¡*Eó—tßÜÕÜÝ26¦}ÌÛ¸c K*%kÑš ™° Ÿ…¹ú­ö{‘·¿bQ<•œp€#˜ód^Ù*íºD„šBI¡rÚ€´îiÍ1”dœó:÷u9`òÊx™1ÂÔŒ7I=\/&oéÁ QÆŒˆ‡*=P–Véá_åóìÕů»LjXééÊe7>œ ûøÆ­OùÀMß»³C¤nZ*ÉLvzw~S÷Ây§K¬ËÉ„K‰Ýžº¿pëèþJ¹¦|Vn±~¬ë÷›%C#i¿D«é$-§CG2Ò[ky¹üU`=X<Å#ÜÿŠfÍI¦tä`.lžóôt~^¶æ·ú ÷¤³ó¹ä* ÎÝ`ùlt~ëÖáÅÍÝ]sÝÏß/_T.¶Îñ.)£Crï7+õg\ž”Ž“ÛEÛ(J_1i>Q ½V ±b1“d}~!2‡qrpí¼rÞó)jÿÆÎûÊ;ççàÓææ)i\‡žÅ¦Oí²ùjÌ÷cºÁ—h•].£1oÄý°×®ytž\,~vƒ€gžC*µMjmìã"¼aí$æÁ¼˜ D ¾¢„Ä-<ÞöB¸)ÎãéäÅ"ñY.¨”’“e_¹™ìÌ ³Â¬0dÈ_ˆ<Ó1×ègTŒ½ Þ+ø}!ïGm7yÔ*öm\®ØosóÚ‘kzlì“W±þ€S21̶:c†¦†ÜOSYiŒµJ[vuÙiÓaåé°; vžÐ”v*Ö ¨S½zJEOÝ’Šob>¤_‹-W§N­ÍµkåwÌoÍ_.m`ÚØ´¹xŽ7xÉX øòþÊõä©|œ[g×úú£+¯¬ zQèsóøÓŸò+X_++‹”ãä¡y®áøü¢ÓËãæðŶÌ–. N½ì*7k|W#åÝŸ¾V|•e´[x‡‰´ÀX û4ï´gïÝ;åŸöWðsàtÑWÑ+¶+–}–Be¡²!´…6eçèÈÓ”«ò\îj‹°mO‰²8S"b2±g_ÖÙŸûU¡0»”˜0c§½í›uŠŒÙs1Æ…ív ;¤YÊaå°Ò]–Y¹)MRnfnS©-ËŠ¬VV+‡•ÏJ„Aä@ŽÊbe‰²D.!ç–]å¢rQ¹( dìë£Ðÿ¢yˆà;VŠÐzÕ„…ÂQ\BmÜ€E³0æn.crÊȕȓBý™]G#+ÄìÙtÞ“¾åN>JM¥–RS‰V>*ᄎ8_¾þTbuYS~“ßç—¤'Òcé&°uì9m%…3¹¼¬•—Ù¬—mŽÊñµpWp Aÿˉ÷ü¿Ooµu´…43ä$¹¯-s:}”$½lím½lô´õ´V_3cíêx‡ø7q›Ç´}ix'Þ‘÷FJ —qùŸ2®'#ÉÂEá–pßöÔúÌêÇŠák@e©#ùÚnÊdñµ¡6ìÛ,¬äWI9IJñ¬®â«ÜV¼e«l+%…’bi„|å£F•J¥R©þñ|4+_–­²U ‘C•PÔfA¬6RÑžR>LY½ãé˜L…q¶èžš”V7õžãI‡óNÅõ=74Jœžx3Që©ñòòz”jMí˜ú^<,ëÓ!:D»³,›±QP€¨1U3-Êàfa­ð„”â<‡’ Ei¤Úf÷’û*UŠã]øPª/ôrîÑ%AØ'”‰` ·–ÍhK·)¥.R¤SkÓéÄ¢†*±/c+xVȽ7÷£¢Ih@Þò@(ìö’…¬ø({O¾c( /…',$r^䣈Éa³ÂZ…!•wá}ÂÇšØVSŸqDwäé‘Íf=Ü}§³—ì•Ï-À”jîcò"jG:ZH (œîSæ|0O¥*M•\R]j:•d7Ygáî¾±òíÙQpaK&çZ›kP®Ñò&ÙUÞ”5.š«°+Ø5v’=73Ÿ0™„-,Šuè`b_?¹RrϤÕú8ÃcC:¦ÉÁ«µUÄ{zÅu—õ¿yfȳ…›ûžöœàu³ó“ç÷ô˜_(cu[nÇ–>W­oxœi’RÐöF)b›¥”“Û8írŠsj•²&Õ;%ÐËÞc¸×ù¼l’÷ááäo–p FbPÖhËÏG`Ìÿ±|ÅþþHÀéeæ"–¤|üžÕ‡dmÅå>~EùÜb1n¯/×$äðƒÍ^+g•U¦úçέ‹:»æ)Ò|V̾Ož”pûSž™½óä—2GÄØÇ;Ë`ÇZ³"HÆDz@²ÛW”ì#’ñœÀ å1[iºe¢¼Ôäê¦×YsïNªjv‹ôK®œ´-yöà{eKo—ó’ËÓ¼~^²ãjßa7“‚¿=6ÛÅŸ*å ìù¨äˆÅƒ}Ó]¾Â2#±¥°‹Õ"X¸±d&3™²Fy²ß¶³NrXç°Áœ5œùTÌòÓ¨XÖùb˜æÐLš£í¥]¢ÛöÊñÕ„—.Ý쿙Э@Ø·ó~lgïa¨e7()ÖÖ!¹§fÏàZ{Ïb†1ÞgµÛ¸¢]ŠëÈë¼!Êð2BÖDð‹™&‹¾¸þæ‹ ƒ¶Ïýæõö\5ʽT3ÆozfüÀ(;ùË9ËË5|@8˜ËËòf§åHu¥šBîäö©K,£{ì|"Ðw`ÁÞ—‹\‡³)Fé©DRí[}{mÿyÚ—¾8àõ˜§ù¨„u‡yœ¼§×Å®ŸŠLÙwWQG¶15;¶Høå¡1Ö5Ö G÷–^¼ûòòImŸÏ Ú·˜ß¬QNs¾"~wXƒä É›é‰T]ª]¶[ø4\ÅÜÌg–ü0?ÍOnßwüx0Ï•YÝ/^‰ß´çðÐÍ}n¬¸qåÆÄÈâ‘=£ö¢)*àMΠœ®9»¾[òîý»z9+å™ópæ&#—D¾,RЮ`á‚]#DŽ,­TŽÊ{‹+VüHÕª[«tO³¥É¶]Ñ¡(žugÍØñ ³ã˜E·Vlã$Nv4¶±€.C쫟«¨?j!<°K^Î~`5™ˆ;(„;( Íþ±½?v•²uýÉúIGÒ‘ ÈI½hõÁRDñ4^´‚Rè Ń#Πÿ§™S9àCNT‹ •îÓþàÂWð5|å¡ÂTM?RßLïÝ¢Sóéͪ„ÿ|"¢oøˆð>ŸöÏé¯÷«l®kîkîÁ¼˜søÅ–µÐB&ò å¡ÜäŽ7x‚ƒý|8óµ ý?F€­°Â3XÖ,‘?Z‡*•J¥RýoÑK™wú_æàà™¡›0 ƒÙkokIˬœsrÇK5D{©Ži«iFFZ`záêEÒw¤ÏM{&J ]¨U¡Úh‡6¿ºZ’ÑFÚMëI$Ò`% 0a-ÛÊ&ÒuÚϧ‘µ Hò'âÍ©9ÒjÀûyF*וA¥×±éæm,Âg¶E˜¼Œ·SÆ‹û4 4³}že¼6Ýq\µ<æ`Bª¸W¼gØÌwðÉùØÖA D;´Éú"•­UµÜ•ûpWñ¸¸AzqªÖéû§ÎV¾^ùY©†úI††= ,h'Oãuä™´ Gz§õvë¸E¿E_At0¦gT1UU•ñÊ¥Ž’®TP"yCÅI‰”ç(fK²e¥ “Ð «Ä©beý­#sŽJçIo¥ûRÊC¹ÉFÒ0ÎÚewÅ u¡žÔY˜+ Ff4Èhiîg9n9©£[­¿p½ý·WfçXš³εÞü¶yC+ê4ú^C”j·6n_ÛöÑìÞo>zßêh¡^ÇJœ]Õ?çz¥%½K¯óØ\Å<ÉZððÅîæ»î-ßûâv›ì7ÆÝ‹g8ZpmÀ:@´‡-bOÙâß,áxMCтɊ ˆF(D# Qõ¨  ¿Ùr~ó ƒgvϨ5¢â¸ ;V–DZªŒ¡bJw³¿÷ËÂÆ‰…{k“)|÷tO\¦·ÖRäÌmͤÝ|0ÑHsNe¬Í÷P NvŠ%Ï ¦µ< Ñ8Á²vXÿ{«L!øÄ+ó˼“¦¶è«·y?±Ÿ“ÏË—1.c©'³¿é_ÚTJÙpw1_ÇŸ+e1ž,P£¯\/ý“T¯{ãªvtΣ{ë5ÊxÄú0e’Äܤa˜‰Y$P„S3´BšCÈʺ*AÊúZŸ¤à""¨ÆÐe\BÌEit ¶ÔŽÆR²Ïj_î/¢ù´H8 œ¤UKk’Ö~CûõÏÖåÓ•5Ô×ßñnå8ÙëÔÏûJ ó>îiûW¾«Sz–¤ïåÒôŠÒ!‘/ÀgQÇS‚ñ›µî~¸µ¸è\KÙ¢hìֶЋøÄ¸—±Q|盄X!TˆcXA–ߢzQjD²Órˆ‘D%ÙJLAˆi³ÙKΓ±Ö\Ayà½RKV·a. qßzÔvçÅ"‡ ]¢ÏA-í’¨‡\Q#^§V¨‡å艇ÈG3:AYyÇýÅJ/z7è³cgO˜')ÝfGϼ›ºbtøh…8_`'gN1'#"Ûgô \§ùô9Ñ7QšnÊ(÷|æYÐ3v¼ï¸·ãOœ¹hÇÄ›R~B±–ZÖÖ•ÂVöÐU>¢–W5íÝtsÓ×Ên墒5sAÌ)ÖÛÊÓlc$O±ºÔß²é8`ÛgíeÍ––ŸÅÂ…ÅBøWŸ‰_$T䢮õº»uºXònÃ󽿌Úw¨6·ð$2>áÉáõû^l^ÓkDÁ{=Ö¥OSG°yÙvŒÕdݳêä[êC}þXÙ~çúÓ‰:P74C4Ágº 3šb æ£V 0-Q|K+Ð ¦Ã±x‹HHÐCó‹O™J³i• 7Š6‹ÛÄw™ ÔÚ¶n3½u­‹×.-º\ѵƒKQ—„­Êæ¤W"C¢ÞFÝKsM[—þÖ|ßüÎüŽugžìvb7vþb’‘Œdú®ÓmºYŽoQö¸L—èêR²Ð ²R%¸£,½‚;Úc*"ò`8 £¡Ô…ÂÑ„´ä›µÆÿ/;¾*•J¥Rýw¢Q4†Æ¡SIϋ۳[o/y÷Ìå9ñÁ¤ûIww•\êC™ÆÆè´—B”pQ,M×è]ü•Rd &œÂm\§ ÔNã=ÚÀÛØæ»yîE7øgN §Gô‰ÞÓò òp>‚ Ú5!Ì_ OÑ'OG4¢Ã¶»òi†‚:ð‚Ž:>žNYrQ#z³uaâù0ÓQƒfÐ*êöO>¿\eF¥aºá‚©—y²©H…üÒ«ŒuØn¨¿gI²øXú)KHG‹ø]å%×$\Lì»ÇVŶÒ6Ô&ØÈMä÷¶­r„âN#y#~MÉÇgó7Êe¬ÙٲȺV·MWH;O~k‹‡#ÛȦ ¦ªf¦æ:½§$ÊÀ ìÂ.šA«({ÓnK¢<ᕬ;o¾dN2•Uœ•ⲇ&@c–>;or9ìÒÚ%Þy¦ËÍ舘×Q-4Í594ßëŸêšÛmØÖûéØþ)Ëņ¸¾d;üs~Þ;%l´5Ðeý¶Ð Êïäàäâ4Э¯Û+÷>´„[ر÷]ß•|×Ox*ä[ÒizIh­¢ñ¿Y‰‹a4ŽÑAêCF Rh-¢El›ÄfÑCºK·²wx@ ¬ô!ö°‡=œ˜#s„=9ÐU%BùÈ-¢o•‹ÔК˺ÒÁœgfË0hÆ{f(ßb€Óê¤ÈˆggO¤ÛGœ[õ$Ϧ|Ä÷©ó5J>V3½F¬ÝVOåŸ+lEÒÞ¡‘ÐfP)Úþçœ +•ÁzþLSšl¥¨³›¶fÛ³.íØõsÕ…v図l฽]_hg¤ô¿_fúºUU^ç^ÚÁÍ»}«|)vW…Ï®©c2XRgñ¹ðIêÇϱǶ‚“à+e³„UÂú¬çX‰”H‰ˆG<⡚ìtƒIG 4*M¯)?žà5ª 1´¨H3i5cÂ@é]ÌJó„B¡µ¹¹¹±¹yPó +A]Y$3³TS‹Î4Þ}¥ÛXÏ‚ËÃ=^W¦ûö„=ßß_® ‹B@YbS¡–øTišQN)Ü€•Jª?äT…IÇNžLn}›2Ú:ÄöÆ:A/¿Ã+úH¯²ßÇÿ-™ÿØÖ §³j#'œÀª þ¬«¸@\ ?~³àu‚âPØ¡ðr‡N¶Ù@‹Y– Bq™™¨á6-çߤ¿‡;T+W[qùPñ(Þß\·D¸µ(À–}ûþÛÑÄÅcâ,ç=ø ¼ÌBöb‰Ï¢›XHÈ… 6¡’¸UÒ†e•ê‡Ê­šæÓÒwjÉo6»•ìùñ¿mߦ¼õ~[•U@ æá;Å·²ï —^}óò€o1_{߬EŸ^|Úúɳè”"3‹¶û4ðS¾O äÂÊRÙ®¬_™Ie‡Ö“êí¯;$u{êãÔGl#[ÏÖþ©*þÞŸ?ç# }u½ mž?«ûbOÜÓW£â»Fš\_$åŒz–Tìú\*~½y¿È û;ò²i}ÒŽ w„d6˜¯äݨàÇ, 0 ¦_]ˆ/^Ð=Ù*Kgh?ÉØEöÈ wè0Ñ–òP9lâ»i=ßð 0"Áˆý×`êN½i °‚e3S3R^¤ö/Q-èÛâ¶Yûg&NoÓúT«²-SÛGu êün¸v„mô¤‘FøsOû”–+í‘nˆ®«®ÄÛòv°GwôøEùS‚a—°HXDOi=_†Ê8NÏŒ`:‡CØ‹¹°ƒžÆÒBZHÍðJa3º"Ö`=vSMzHKÉP ïè-½þ«Ž¯J¥R©Tÿ¥Fc,ÆÓZŠÂ”Œ®H@<ŠCú1ÇÄÏó2ˆÂ7,/+f­byc¾œ÷ ï]¿)†DCœa¾±EÆ·ÆÅ¥7—Êݲ.·¶²Êìn°‡(L…ñ•ÅuüJ®Nz…—fÛØ&6Jy.wSJð%|8Ýåùù"å 6ñÕü3=¤Ñ|?í$3Má7h½¤kKéô=}àC(7:Ò3êÍ·HÝÈ@«ÄªÔ‡Ûø6¾Š×§2–Ææriè"UÁ[nÏñ HE9ÜD~¼Á¦…ÚìÇUfEQE©/½¢ŽÕœ¾wÚg\`,’Q&aAB­¸h8Ñxy”bUŠÓkå3/€Ñ¸Á<…Dºgigc©g+/‡)Ýøž›÷Pú( ”öT‰O >¦c¦U¦J£ÔXÜÐ=áYÚ<ÏN½–é\õ£uQôŽÂé¢Z±’A¶²žR%ФHœ¦[ð—Н¤‰¦f›y•´S:©©\Ê­ÄÔ2LÇž³2^²g¤÷vèà/~ˆ†Ò’œ£±!÷ l¥9B 륶©·.Q[Vça{m{hó3”04Õï·ºØØÎjƒ4ßj¿«ó¡Þ»1ì¨ Ü@<üi&*¡(²²_*-M@(BQïð§A°A„ ¶¬wÊR…°²¸‹ßëgö~2Ã2100Ba&?µ²ânJK¥¥ÜC©« Rú(5”ËŠ‹rYyAÇùóÔB”½O­C)µ:…\Îð k6üCާ¾E£wZÖd´ÇÎÄÈ$×" ÞƒƒÚŒ dÓ0›m ¸ˆ¼¬5Æc)xvÅÏm‡3›e5)Mߥú4«•ë}DáÁí{VÛÐðT‰EÝ _Ûúzóáý9ž/˜³»Ñ+¿çCÛ§­³ÜMl÷ܲ2Ú*Ä3„ñ¡ƒøJ|'~׈}ÄâR-1VŒoKw¤›bá£ð‘"‰H–Ù à÷ÖkÁŽ“xáàH‡Ê „BP!0dÓ/v€)…&Ó¡1kÂgLÎx–ñŒ¢(‚¢p;Î?fyt9‘ïÍJ›Ônÿ £T’µÕ\cn(‰'HÅ ¤b|X)>ŸRxc}%}ª^J¾niìmlƒmQâm±²8˜*ÐYÚÿå6ög°[˜e¬¼ÎúPpˆ}–·Ž>7ŸOâ)p›ñ Cþ1âgC:ÒÙ9§ÙÍñYóP¿âþ¶SRZCìpƵ„Û"vÞñ±ã^h•}Š?+Ê–² Ár,ÍVf"!¬ñmpœFš¬Mh™p=¾…Ç´ª}<¿Y“g•iå(mñ¬®h%ÿŠîÃm'î7kž¯±½º§p_¼#f­惕ŠJ )]J–n*•x^ iõ—kŽk&¿Mÿ&½=;ÀDæÊ ý•õ,eˆ’Ô+Á;ej¼w×mµëu‰é¸¥ª¾ýJ…øGþV(É‚™Qº/=Ñ\K,›jŠ‹|ÙwÂ}6•…²­y¿÷ýäÛÃéß%4A:ÒØ]ÜÀå¯-ׯ?¬ B)”Nà=ö ¡pgv¨†B qÈ@=:A]q›® FJ" ð¯yÁY,Ç‚ô é#Ó×,ö¾¨Ëú#ëÖ¯ñH.—T<©`þÒù^úxí÷çåû"ìå¡—m£ÉxYS]Z%õ§ÜÄmh {Øÿʤ.’B ^’:X ÞÈ@*!ï 8 ïàXÄÁ ‚P”ÂÎ*à\™B(s°ÚV©T*Õÿq4!A|€áô鸌&À~IùiX† \àB÷ùPê-9Šå¤ÑqÖMKmO—ãUÇžNm?Ôz?688—sn!OoZN](HቨODüJ)Z çp€%3½õ­5вOâó•%¦0SnÓfí i»xN¬¬P Ñ@T¢éÔ›×æ]øF^‹NÑCzÌ‹7ä¹iÅÑ,¾˜>ò Þšoä‚ÐNˆ¦ñ´ĆÊmÓäÊ––æ@óV\!‘´$ ihÜàö+é%~«Ê|IGz4E >ØNZóY{DKÑùâ§x…zõuñOL¨ûŠ-`ŸÄžÊ~ÙQ^¬ôç£ùveƒ2K©jÉoif—[ð ºÄ»s›ÒN VºóÒÜžûOÓ/—;Žv\k¾fy`¹jf© ×¶-îÖ.z‹¶®¾¥t2ÑLxÂ3[Gx.zc°u‚µŸåª×\²ž ç _ð½Ø·wb¿cß2]+ízíF¹‚2[qç‹ö‚V_X¿A¿K› õÓ„iÇèVhšÛnØtÖÂúyú-†º¬$üØH¥™Ò_y”^ÊØ;ã®Ë,çªN·’>'AÞjk/—ê>°ëînƒå¼¶¼6',£´ŒfRýö$áIðbH$F¼C(d C(&Ð<i6ËÁrà>ݤk¿³§™É–|‘yè3EQ”<[Nä£òkùµ­µ­Œ­ŒüR V>È;mmZ¹¸ÜFž©8(käã ñ9U”s¥kÉNš’ÞöOON”äòÆê=Üê3kŽtßncÁ’ü;yIFÅ]± MD4‡.Ù<?—€¦8Æ]é5ß+ `9ÄÒM<4ôÕá]/ãV9:ëþ“uS ÷õ# GcÇ$ y´ÙxÉ36=:m¸¹\ê3V ¯„(ñ½0Y, •¶‹û¥JšÍ iŒè&-¦HÍXé {ôœÖÒ`×…öB{Oçè\f³ßiáÒ‘3ÆÐâÐb/íEð³ÈÞ4ÜÈ ÅáOÈ_Lpµžð¤x‹`–ˆÙ˜Át 0Â.(„‡8ªMªkï0oÍ!VÚ†Kpƒ#ìÁ:$T‘f±jâ8¹3/gÛÅË𠼯0M°&Ñ~‡Å"haG3¿úd“/Ô†KúR£Á¶vöÎIMË“¦KÕÙUæÆrS=´CæBý?.˜éøˆO(Ï|…ñgs²Îzâ½ðú +‹Z}P°ÿ7…»ôðñ,Z¾¨ †$k’+}#ÞoA¤Ê^ÇrùPšBDzÜAÞTÐ××MÅ´t-²ëd÷ÀîŒ&„ÍÖLÄ ¶‹í‚„¢È‹Æt˜v11Ú@M¨Iæ&Y.¶…-#NDÀ6Vˆådg± ¹=Ý¥»\ËÍ< ÇÑíi&2þ@Öëß²z8R ¼Á%ö„M`Ýuõußén“#<°“y²Æø@ЧËC71‰ý+ö›Ù7ªáõ†;ÙͤcšêšJ´6ÒÆ¯.ׯ?s91™ìÈZªEÕá=D :G%i'ZÐì@,…" 2‹˜_¹›h D‰Cñ‚^´ˆñd%ÅÖØÒÎ2Ä¡¸ƒ“Cè†jë¯ lÙ¾Õü¶å68î{¢rçÃNvl¿%þq|KiŸ´]úµ™&)HA ?Šs¸ÄÃhmEMè1ϰ»0ƒ\HA*奼°#†a4„†ÀP°U¨ M¦Õ¤ y“7Þ!ñÙñU©T*•ê¿!oòƲ#;0Ô¢r(Žœxþ¯S 3£É:@BÇYktà9é95vIç¥ N9d­…§b/»½v³ì×ê̺|z£¥ŽE¶Dˆƒ„ÂÚL›iͯ”"¾ÈËF¡ófTõ>A9©—t÷ôº7º¹Ú™ü6ç1ðE%Ð"]Qìi8­D N`ü¨M¥ÕX‰<8B]ù+¾˜>é6ëtºg¦oÌ m7¬Om-­³lUeWùγÇl%õÁüàt¿ŒÛù›t‚FÐ*c”Êì2ñ¥Le¬—_^r>­æèZç+,¶>³„ÈKi%*<„*óqt†&Ge(ŸÄ×+{” >—B5ªÅ•h„o„‰ÔF„öêÓíŸÅ¬‰éœ0'XûvGhƒ’Í‚ú•®A¯1Úƒ ¸@ß`"f¢é—âiÿB(‚PŠÑGŠÐÆiEíÍøïãYÒú»£ï×{¼Í#Âc ûR›»ÍÎÖJ¿N{B;Xº-…ˆ›…‡¬ëâîàvËeïs_–硹¡©½¹ŸqvÆ5Óeû#ö»ìªÆ/‰GB>MGÍ' ÷~ß,4-eZr‘´ã=f|c„‰ìñm)ˆ9À™‚ ÿêØE¦{(ŒÂTÀ{äF]ìA4¢¨Š¡kŽB(Dw³±¿™SôõÌŽÙá,öc?V {„=0ç…ól °QØÈIKZ/DØ q ØæÄò ”yú—SEjÛ¸óÌ–ÆÕJ«“ÇåbŸÛ[uìÓ|fã-ù˜·Òi!Nê÷äD!0ÀÙSýW ÈÈÇö ;y%ZÉ'c…(©D÷â×§í¼õècèÁÙá«Rn½êSþ{?Sõ•¼ŠàÁc5‡4Fí]Ö ‡˜Âº±.ì€p]¬.–f…YEÖ›„¶¬ ë#Œôb}1^LGOöн"?ÈÑ%P"k"ô—/ ÎL½ÀaXp Y €g˜Hõ¾hŠ"p¡C,B&Ù²µ¿¿øµ™?ª¼¦þÊCD =BQù“´·ƒ!æÁŠUpÅ(4B YÈF´Ïv6ì?#ƒR ³J¬[ž¶6}™¼–ú #=gÈ WX‘óŸA ( Ç<äc…ØG–ÐgòÂYk‹F‰X;«.¹~J ÛËä„ä\Ø$™¥hzGDÊîMχª8L=`(ÞÖÚÊX@lÊÈ]” \+$ øGœG ÔÊúã±0À€4¤#hþ‘ó< 1áœE4ÃVÑp 61x@¦1_ˆøýÇdëºÈÏzQU¦îJ¡J @‹Eh‰Ã°`(<Ðûñaúáú!úµRj-«¥I¸•07Ñ"Ý“6KÛÉÑ!4…²ÿ¾xýA À(‘öÐ* †ÜèÒ‘S°ßa5£i”‡Ž§HJAâ÷›SEˆ)™’)§)žâ…Ûl[e}hI²˜µÅ4îí½ƒ¢V º\Ù:À´œV²fdI¶¶¡¶Cžc=ʹ{ºÝqÓ¸5¢¼1½–NH¡šÆòje=o!Ë øIº‡R`7¢šÇúÄöL¬’ÚžÞñWü€À½ðV9Åë+£µ=5®š[1ûãr'6O÷5î7¶)´­Ðå‚i³íÝôÜQ©©,d[¨Ž` Ęß,¡3£a(‰’(ÅÛR>X7ö=®Q9šƒ(ðÊv‡_!_òÅPÌÅ\餸@x 6üµþ“h JSžƒçPº(‹•¥|šòXy„áX“È@UúÄ<™£ã~ñ·êHƒ¤~ÚxÖ‚›n epÞªc—„ñ£ÓäAŸà‡’(—ýió¿)\)•Eb;zÀŽÝ¥šroj[óu~§Î•å5ò}ùõˆm¤ÙÁÔÆV1}”ö¥î³ã:T€3¶c [Åšˆ·„œÂtáœ`$ÑO¼*Öš ÎBÛ.Úˆ©˜Š4ò"/äBñ¬L׿G ?¤¡Ú $ïÊñ|¬ªbE¢é1—rÓ x#°eû¸ü *@ùP 5Ðø«ÿ (ŒÂªæ¿¶¬Qò ÔÀV¯õ[¿ B*Üà„søŒg–Ž1E£ï›OQÔNJ=Äæ,D('ØQM§yðÄJ¬þŠ¢ÑÚÏJ³|(h‰’sZNç’–œ³àŒ•Nëžð±W4MYoÉEQ Õþ’½/üHgãòÃ@uûÕÚ$Ô‡ \¸rY¹f‘~:ý¶tBÜ'î [t›nÃk°æë?Àï\X”DIÚD¾ä ”Dxã{€AtÞP[šCûN[è8Uâá<9€x°lÍ'JD"Ʀ±É6/›-·ëc—Þ.í-ÀúuO3¦[Ó›MCLù„a¡0›Šò‡üá¯l%)H¡7Â á ¹ÓSz†ÇhìqGá@ ©@€Ž(Ž.´ ð‹8†yØÎìðï°€ˆ|™§bôúÏœÑ*•J¥Rýð¢‰4Þ”‡\àF-Ñ„SüÚ0‡+ô0Põ¢î¨È.³eÖVg«Ì<˜Ó²7¬ëglm¬^š=ºóÑÐÉHAòo>œùÇc•›W¼R¹]¢]R»Ä÷éÓÄô]æ‹Ár[ÖËSå¶rCy´r^IW ò4îÍGó"4ŽÖó¥Š ¬[Çü±Vì&vŽÙ´ûl×Û¹Ó4§^îÝ<6 Û†|x†èGå¨Ú[ïJ³µ.}.6ºhžŒé¦b]è%ÐGy­ÜTÞËg)¡|ǃøNþ-%W>‰•å¸'…D24ÌÀö ù…}B=f–ܥ풨›£¯ {åöÌõ¦[”«Ÿk.·)rm¥›rÁl7K&FßÑw¿YÂ|Xƒe4—|È]— í®;«,S~W’O±&ZHˉ¡!êek3G7#`ƒ áŽs¬8pE4‹©bª˜$Ñ1Í3Í3„ãb!ì‘-ê"Zl¤ÒQÂjFYv2OÖW˜ âþ˜*‘ u±è/èúfr£gY©HúÃÀŒìœÐ>c¶,&÷DZ‚ؤ9Vö­4Uí Ð1Ö¢!rÀ +±ƒ}€7¼Q%P[™;óÆ{zOo¨>£qYé[´Ù •¥:U¦’|_ÌïjõVm8ÿ@³i(ròËt†ê‰­¥Í`_Ìüÿ³ÌZqœ–2¤ü€MtðÓ¡Ø‚-_»a¡‘°G¼•´ÚHɣΜÐñ‡ÒYÌ”’ífjjÚí3}”3L'„nð`ŸèúŽÎýÝñ§ežg™+]kà&n°‚(€Ï¡ÎÔ@gtþSÛÿòõÇB“i213)ˆ¾§ïá WÔB"Œ0’ ±›]¦CaÇØQ(ˆG<í5'iÍE”G9¹´\N®U<¦HLEÑI,*®–±®ì,ßHfJC(Žâè¯l"©H¥`ÅIRè]Þ¢)¶ÐSºIíPöÔÓ0•?âÃx)§TVs…5ef§œU:)Õ0td¡©4•>à«s)«T*•Jõ¿…DLÂ2â ìP¡´/!ƒÿ8 ÌêLn¼¬µÁ=GMëàý·&í(;]¸óZaæð@]ñV%Ïe¸Ç ›Ùz¶ˆÀ'xÃ9 )qˆeÙIÄ"@€@f˜af÷Ø}vW(+ä*°pö™E°el6›ê¨zh‚ƨÁª£ê  bAȃœÈ‰4‘žõÏ9:Gç¨Z£5½¡÷ôZùA¹£œ@AÊOˆG<a…õù¿–:èènâ&;Àö³½Bs¡ŽPñH@8ôÐÂG8à 0À>kL r"7ÈP‚Aâ#2`„3œáŒ"ȇ"t‡žÑ[šÊñùt·q‡¹Â.Y}³/sÒ]:Ò‘ÎÊ ,ÊAb X@Ø(Lư×ì †#ìÖÑeX ”EAäg9QÅQ‚µB]´€ŒÌ°ÂŠ(‰Wx‰¸… ¸M©-µçàvÜYÉ¥”UÊ‘‰ÒHaA( a„ñ7Kh€zƒ7x%ˆ‚½À›(¥GöšÅ0#eÀˆt–íÚ¿hÜVØ`ËêŠ @ ÓÂÐýÓd`‚ ‘ŒˆÃ#X` ZøC‚`Çþª®ï¿–öÇì£Xa†FÄŠwÈw”f°ƒcÖ^d–!³%dfå5Á,0Üõ˜I -´,ž… \àJÛ°…B~¡&ÿÄïóCpAnäa-ÑŽt¤ý;êAõ;ì …®â®‰3…íâêoꤼäç•Pá ·é(ÞÓ1æÍï­÷VýÎõ'ŸFé]4´×1ºÝïNá[ùbzDˆª°6à]¡aV²L²®f.Â[!„DÄ"Ûà¿@fèÂqálÆ¥Œ]"{FvŽúÜ%õ›åÝÚÅŠÙ3AJ’jH © å'_á¨pNxJ2ÅÒ{’HGvwñ‚Þá-^3"Ä¿û¨T*•JõïÅÇÓšfßÛ¡ˆ#Ôõ®Ûí³ç}r|•óéRJ›îoNx5mÁO#Àƒ#p‚|ð£0cÅÈ yПîA Š!?òÿcë°C xÁóÇ`+ÙÐ ¢äDNò5åºr p÷P…àŠxŒó˜Ž 8€2HC2L0ˆÏx·™½¬ŸNhˆ2B‚0]1œ‡Åa€$øÃù/Ç›øS8Õ¤šÊrå½òB…Ÿç¡ÍŠKL ™ 3@D9ø£Ó 4Y%ÉÌ[›Št¤£ ª£ [‚Ä¢+* <5þC^2»U B¤H‡Qž¤tUza¸2Z™‰÷LÁ°Á )HÀœÃKœ…'‘Ù´CætN` €Š°CièáŒápÁUxÁYÖ”-@U4D ÖU£ê”N!~at=³®F²B¬²Œ/æóXaˆ°‹rÓCºV!RÓ?”ߦõ¯ÔªÿÅ­5Gž¬8p™3~ÑB¨éŸj/_ÒìW]¥¬—u~£Ì™-§ÍÏ^ÿùÒf¶Ûƒl[¢,äßq¶šma» à +U£A4 "Däú·Õ…ê·e¶ã9(ˆžÊc^\)ŽÇÀÊb +KzÈdC'û7¶ÕÿK¾|ýi '8Ò%$!’Ʋ2(‡Ù4…z±»l[Kçénó ü7°¼(ƒàˆCþ3àÌèÉHE*<ñ Ùfv€•¤ °£EpG]ÄSiÜD>"䀾góÙe;ßÊ7²J¨Š¨À*°Ê”d²¢%Š¡Ø¼ÒªT*•Jõ?…š!¨‹"`4æ¼Ãð¬L2~Z =\àõ¨Eµp Ñx’7yÓ\æÉ¾>î—…@VX“ßn"Aóÿ\:Œná6dÜÂm:‰%ÙL4òïó/ &èÞ¿üÎÏ& Ñ׬ ̮̠Eƒ2ÿƒåe¾íæ©6š¢1@äÀÞÙü;'rBf`µ%ÐÞÙý[Õ¿‰$"“0ƒ†e}+ÖBÀ'›ëÏUªÿ¿qýIE2’q")üŽÒM µïbÕÞ™Ugí„]¼_ÇMÚJÚZD²»ì Ü¡‡[6×ÿYFd Þȉò ¬»žQ>£†y€³»Ó#g­rZqQŠ †Ñb¬¢³t™–B‚ˆÇèƒþ?£Ì:¯ó Ïß]ÿ*•J¥RýM¤©4&“¥a=Õ šX…{pG‹û~ÊLQŸñôîÁxV6Ûi¾²«¢w4T–‹)9äʬj£)̰eÍôù÷°‡=œðÁ¸Žíl» }’ªKÒ^¤‡¤_½Au¡&ŒUÓ+ˆ¹/a|ÑkÕ{´J¥R©T™h"¦b*@A ¢" d-3ü‡Ÿ¦@+á ¸P9ªG5è.E“ž ”›·O2¼ŒÓYg6Ÿ•ù»kE¥R©TªƒÌ©Ð™QýýùY!V…U+Üàö7—Ê‚ÛÈEñƒðˆÒ{ôøÛC>ªT*•Jõ×#è`À8ôAaPYˆNz:µÒ“¤ ‰îXAó±EY7t£(XѵE]´B-ÔÆC\F°4XÚ#ÝË-å¾ï{)QŠmeá=èõ„†ãàžüØöF.äÅjt£Êš¦š]gí4Ýýyµ|X¾ÏÊ2?Aí«T*•êÿ>ð7þîbüвÔ{±J¥R©þ/JE*%¢*¢‰TSê.†ù„ú}èý|ß3Ÿç—4Û´/5ãð ìæÓQ¶ã-®óÅäDkP(ã8ÚØŒ¶D[çØ!±WãûiZ ×x$»€S8z8€¤Ìú)– 6¸ÂyQQxS-zHCèÉô™ÞÊOüÚß]+*•J¥R©T*•J¥ú?§º¢¨4[š#-Kl–˜‘8÷ŽÝí²·ßT¿[ãHÍ+>” ‰È?Ã)œÀCÌCqLWjËee?ù²^îGœ—äŒ-Ó OÞ´ÜÌ}ã»—‡ŸM| Y5QšHšF"i3?꧸‘ Î\áìANxÃ9`…'rà/Î(«R©T*•J¥R©T*îÑz&å—æJ“g'¥'³»o?Èþj&­…DcŒñ•ñ<Rkj)÷—ÊCñŒ®ÎÜÜòØÌ•uÊT%™à»xAÏú²ö%Þ—Ü^ªÒ¥+çŠ.É:³»éXE+pþ¨ƒk4K•J¥R©T*•J¥R©¾ÌŽÙ3{¼Ç ¼D#ôb=ôýõ:}V Ga¸0H˜ÀüXcÖA©ÓGéžêŸêeûö9ìË „o„I’Ar‘üŠ(¸ic´¹µM¥šÛÒu¬Æ",„+ó€GÖÖþî}U©T*•J¥R©T*ÕÿÇ8(p‚ \ððïæ³ifÖÿÔp+·jöiB4 ”·ÊÅ1ÕÇlÓøP½ÃçwtkáÖÆ­ï«ôQú±óì;M×éßO©LÁȉ\È 6Ø2·&ýñRªT*•J¥R©T*•Jõ— @@2ÁüP…Rgi„4RyÌgòƒú6 6\Xw¡à…ŧOž)|¦ˆÎÒá¶…Úäo™Ô*©UR{¡”˜SšŽ×˜‚Žÿš2Pí«T*•J¥R©T*•ê¿}ÄG„eýGœà8´ÜPû¡zy®¼G>ùäàãׂ¯z|øIظ6ãÄqŸÄ>â^±R³Mó7Ýž‘‘÷[[V§@«T*•J¥R©T*•ê¿!3<³2ß²Z*Z*µÉÓúmëàÕoW9¬Ò8Ovîá<«jLÕ£UŒk{¬í¾¶¾× ¯“^M•T%UX)VŠÿ­PG€U*•J¥R©T*•Jõ߀eNZf>ÈÄ€ÔLÓLÓ´~‘ú#ê0?4_7Êè•1Ò4ÌúÙjé]à\sùÛóV¼b®ožmž'ä¦ •5ÿõÔ`•J¥R©T*•êÿo6Ø`c9YN– ~úÉzÇöS¡l±Â +ËÍr³Üè‚.è‚븎ëÐC=þ{wE’þüSÝ=’I&î  ÁÝY$¸ AwXtq·w×Å‚;ACBâ6“±î®ß“½ÛûÝÞ}÷îv7ÀÖ;¯ÝW^=Ó=O×LšyºªžªŒÊ¨Œ Ø€ ĸ÷8¾uƦõ™û°ûèOô'úN‡Óáè„NèTÐ7øË¹Öø]ˆ qÁAÄAz‡Þ¡w°;±¶°…í?Ïe>+xð0ÁVåXa}ˆ;LNsf¥ÙÖìˆ~ˆÄ·ÂNa¿O¨Ç×ç›H¥'ÒKi®4OZÊäp‡¹9Ü25QTF Žn=ZaŸ)Ã0 Ã0 Ã0¿@Añ:èÀ€ü©Ÿ \àB×Ñut÷üï?Ö-ÖGÿƒ<‰'ñ¤+éJº’[Î-ç– Ñ M£i4Mh!´ZðÝøn|7Ú6¤ I $û:g⌓8‰“d ÙB¶h^i^i^iWhWhWð¹|.ŸK×Óõt=)IJ’’!B$¥IiRšv¤iGÞÂ[x‹³³3>â#>b>æc¾5ªÂ~{˜A‚ HC "ЃÄo-ÓÄÖ õuŒESc= - • 3ŒŒ]Œ­ŒLKóÓŒ‡ŒÛ^Fo£3]GËg„r( Ì0YƆ@3 Ã0 Ã0Ì—Ï  %nÄMîF[ÑVòSêH…»d3ÙLc…,¨Áƒ)H”v—q™Ä â™2L¦ ëf•‹ÊEå"ûÈ>²*¡*ý›W7Ã\ú® +è i­´VZk j B%¡’PIÅ©8—³7goÎ^!Aö]ì»ØwLjcÄ1ð| ‡z’GòHwŸ»Ïݹûåî—»³³³Kß(}£ô Û5¶kl׈}žb_ØÁv©¯7ð†¼™y3óff6ÎlœÙ¸è­¢·ŠÞ¢•ieZYÞ o7Ô–!C.ì7Œù{ØÁN:/Ÿ‘ÒTÕ\Ðx½÷~‡·ÁF¬Ÿ¸v•œ*ûÈ ð@¡ŽC8‡<<Å3<ÄœÅ(G2¨ŽFÐÞÊCÊͪÃüjNä·’¼Ã8ã,¶X_Š%À Ã0 Ã0 ó%³@†L‚‰+q•·Ó¾´¯â=׈kd“£(«(›÷­éŠé IcšEsi.L ýòR‚” %8èôúƒ¶mÚÊ[å­òÖ~ú~ú~úôéÒ;(¼^ /òùü@“hM’‡ÈCä!´íE{Y“U4Gs4—‰Ldâ|×ù®óÝYÛgmŸµ½]J»”v)ÞŽÞŽÞŽKú,鳤O—R]Ju)å"¹H.’ÏãóL L L æ{Ï÷žï½0oaÞ¼C!‡B…¬Ûµn׺]6Sl¦ØL©Ð½B÷ ÝÅâñC^T^T^ÔÓ´§iOÓ4÷5÷5÷-i–4KZ€]€]€Ýä“;LĦ›Jðcø1ü˜•§Wž^yÚ>Ó>Ó>“¥CéPòм"¯äŽrG¹càÅÀ‹§¦NMšºN±N±N‘y9óræe>™Oæ“ñ ¯ðª°ß<æŸX`ha‡ëx€hñ¢”,,‹`Q[n[Xžšš2Ÿ3ï72ÿdÞeÞk>h^a^c^kžg^h^lžižcžk™h™`™hek™(»ÉÕh3RÁ¤< 0Â`})xðàAñsái†a†aæK@Àà¡PD> ЛÒ}×Ѐ–‘_Øaþ&äÄ™T°ŒFô„´@8­GR€ca‡ùYP‚G¼ FH§Ò©¶­„®B×+òå6ÿÚ´kÓ¼•¶Ûl·ñ·¸\"DxBͯÍŽp´þjÿÉþ“ý§S5OÕîÑÔ£©GÓÃ%—<\K±K_]~uùÕåãŽ8~ pvàìÀÙAå‚Ê•£GéQz÷p÷~¹¸ó±Ë—A!C %d'ÙHÖ-±%¶Ä‰8GâF܈+q'îÄÍZ>xâaxO¼ˆ'ñ$ÞÄ›øoâE¼ÐÐ`øÇ"Xf˜aF>ò‘%P€B.¸§Äa†a†a˜Ï•5Ô’bœåO£”:ÇÕŠc,€eòC€p2Ì…ò¿dM}+é­/K© ÔTÃÜ8å2€ÚJR–Œ`FVa‡\hÌ!?ØÁNlN‡Óáv7F…ñÛ¼ûy÷ûû\xi`·ˆ’¤$:0èmÐ[cš¸KÜE±Káò/Ò¿ld#»à÷žè‰žºãºãºã=bzÄôˆ©¡ª¡ª¡Z‘¿"E~Ò÷Iß'}O’†¤a«ò­Ê·*ÿðÍÃ7ßÜê}«÷­ÞO]Ÿº>uµûÉî'»ŸÊ4-Ó´LÓ€8_t¾è|ñí³·ÏÞ>ó)îSܧ8žâ)žžX~bù‰å“†L2iHôÞè½Ñ{ccccccÕWÔWÔWr›ä6Émò&éMÒ›¤ºº:ý{ý{ýû*ý«ô¯Òÿ¹ýçöŸ;™2ÿd¾¦¿¦¿¦ÿ†à Á‚“æ'ÍOšo=•C^ y1DþVþVþ–Ü$7ÉMëãÂ~ ™Â$ÀÞðF)”D)œD2M†÷·Þ`†a~OBBZ––…,¯’WAF ˜`X‘~†aæ· .¤4@·Ê Å ÛS@VîÓŠŒÓ´€û¾} c–0²ôÒÜ €ç@O?vä¿r.EHc@vŸ‚­& 0ÇfêÁ%ï¾ô¼ƒG©Kí".C²œ×å¤× ïè™?#8H°ÀgRÔC?zÞ“WÁÄ_ö,ý .0ˆc¤8)N£1óà t°€û¯Wcñ†-l©H[ÑVÚÇJ¥M\ß¼eyËú‡_šviZ÷g%iI: rÙKe/eŸ5·3·#1ó ÎCüÅŸ¬Ër“s“s“»Ùu³ëfW¶tÙÒeK—ùXæc™1ƒbÅ :t6èlPä¤ÈI‘“¤EÒ"iÑÒ+K¯,½r}Àõ×tŸÚ}j÷©|¾ßgpg o o oÌÓÌÓÌÓìëØ×±¯C;ÑN´“¡•¡•¡U'×N®\½ ^/ÃöøíñÛãK…– -šn—n—nçÌ9sΜ¶«¶«¶ë®ƒ»î:¸1zcôÆèõ×?\ÿpкAë­[´8hqP ÿþ%ü_'¿N~•H=R¯`ùo†a†ù?П(ðqÊ@¢SÔEàN¥ —‘£GB9He#†>„]H×™DÅEjËPJõò€Ô#õ ;ò_9—•ò€{'<ŒÇ³¢yò`ÎJš—|h=òÝ.T/ Uu¿…ˆ“S½’>”JJÓ€ÔãþŒs![¸Ãž¡ÎÔ™Ï$ÅH1›*ðƒœa†¹ GñÇNÚÁ =Žâ(Îͦ‡éaÅKù™üŒ.F-Ô‚›õ–øÕV•p¹.€ xå™é—é7¸ÙÕ%W—t{YòbɋەëR®K–£)Ù”ÌE’éd:¾EB ó¿`]+`-.u~ÖùYçg Ÿ?|þðù6?Øü`sòôäéÉÓ{–ïY¾gù¹Ýæv›ÛíMÆ›Œ7¥|Jù”òÑq:NÇ¥îMÝ›ºWl,6+¡„îéîéîé¾£}GûŽöôöôöô¾’r%åJJ}RŸÔ'پپپú}€~¤çHÏ‘žù!ù!ù!Šâ…x!Ô9Ô9Ô¹þÅúë_< ÿ@þðÝÃwßÝìH³#ÍŽ¸µskçÖN0 &ÁDƒh ¢µh-Z‹T!UH,Çr,ÿ>5ÌgKÀ2º Ëhú‰n"½Qþ4 “p·À¡Xa‡Ç0_9YN†hsÆæ qVD+èÆ£5ŽÖ ZÅJÅJÓ3NãtaÇÉ0 Ã|DÈW” {U>» *›£ïà*?‘1%ÖS:àÂÂtP7SCÇY(Ç­ÍáJ\ ;ð_QM~ HÍÔó¡°Ïzwƒ:»‘“g±4Óô#ã2ÞÜ^KÚ]nbWê™þªê%”å¦BB3îÏ8—Z¨%Ï Ñ4Z8ho±·¼-®¢r¤ŸË|–ùdè“¡O†öìÛ³oϾ &&LÔ7×7×7׌ՌՌõ9æsÌç˜u–oýñõÇ׿·×Þ^{{ûûûØdÚdÚdjõZ½VïÜȹ‘s#Ó*Ó*Ó*Å|Å|Å|§ÊN•*ïw‰»ÄU7VÝXµê‰ª'ªžèß;¿w~¾w¾w¾÷˜ˆ1c"Æ_aü…;lì°Ñàið4xšph¡ ¹3sgæÎ´™o3ßf¾\B.!—€ (þ„O óÙ`€FZ†úSº‹0„xà ±–ÏxžÃ|¡äGò#PU*¶/¾<ŠÇþIþIèÐ}I÷%X—±%c Þó)| »43 Ã0ÿ*Êgþ¥zè§yE(bÊΟ“¹N–D¯û6iÓ žßûö9rKÕmÁÓò €¬"O ;ò_9—ò]€[®ÌL•’ ž®J{§ÌzwÑ`Û6àSS5Ì7ì—T¸ÈSŒ·ò„û3V4y$‡&йיëì·—£Ç6ÃB,D ÔPÃþ¿¡ÅWñ/1>¥OåEä*¹úíFþ-ÿ]± «ˆ"(ò_Ƴ”Þ 7”ø%ü’GíÓrÓr—$ænËÝ–»mh™¡e†–‘´’VÒ*m”6J›|¯|¯|¯¸ñqããÆW˜TaR…Iú)ú)ú)²$K²ÄuãºqݬÏÿFûöm­¶µÚÖjkjojojïXÞ±¼cy¹™ÜLnfŽ4Gš#݃܃܃6ÝXtcQ›î6ÝmºÇÎŽ;ûEô‹èÑ+k¯¬½²¶]»v,;,;,;°ë°îOøÔ0Ÿ-¡`Ý$W¸ÂI0à Õ='a˜ÏÞ¿QRŸÔ‡Â6Ó6n6Sl¦O­ŸÖ¾çyg–3 Ã0ÿ' ¹²é`Èe›õ&®¹G µèÖçc¯½ÆÒçz‘·rŒÍ;úG-k Dm²ÀV´*ìÀ…E#s€}Ór^ª\äK·Sº×¸8â® o¸Eżá0cª-€ºxù'ÄFAá‹‹¸HOÀŽB,&a’r4Ð@ ò?®©[@€ Ix‚'¤ Þã=ÙJ›ÑfX…®è Õÿ¿ï`>RB“ˆÄ°AþaþaêMÂOÂO“ÜNº4oiõ-Õ·4Xé»ÀwAöHÓMÓM>…Ô&µa àA~µÌ-…<àx€ä 9Hj3´Ú ¤#é–>–>–>¸¸aN6'›“íííííí7;nvÜ,n7ˆˆ?ñ'þÔ‰:Q'k²r¢r¢r"I#i$Mž+Ï•ç†×¯^ÛRÎRÎRÎÐÆÐÆÐ†Â?áŸÐ×ô5}M•TI•HF2’ÍOÌOÌOÔcÔcÔclâmâmâ%µ¤–Ô4ŸæÓ|n ·…Û"•’JI¥øaü0~˜ÑÇècô)–S,§XÎiŽ4G2sfÎÌYœ,N'ìÆnì.ìMÙ„³¿.2ä‚W0‰Ÿ} æòËî((¨œ-gC„7¼a‘JH%` ªÂ“a†ùPHmE§BVûX†À¬ª†"c¥¾84µœfÃ’1-},Â%åy$ÊÚÂüWHÈ 'GËÎ!%žS19'tÊÙ++<—êÂ,m¦,PKŸð»­üG³1#hDˆRòoÚÏ—ÑT¨ô?W!¶~s÷Æ@ ÌÊ3Ý7ÝoÈù¾÷}?ovõµÕ×Nºx{ÆíóVVßT}Sƒ¾‹|å&˜Ï™Ï‘NXŠ¥3ÿù›¾"ì`;z•^¥Wi M¡)«æÁ ?üá_°Œüà'½“ÞI爛RO©'Þà ÞX÷-H¤UPA%o—·ËÛÁg]êÆ°Ï°Ï°´%mI[ò”<%Oi4¦Ñ‘XW¨±vÎUGuT—öKû¥ý‰«µ|¯+\áJ)¥ÔšÉÈòKù¥ü’4"H#©»Ô]êž7*oTÞ(k2B†!4œ†Óð‚H˜¿0¡°`˜¿0k¹ '8ýmK1þ^‡‘a†aþ-  !jMÆôlþP¾˜aôÏÃqIw€@ü,Sß_2ÒC!|)@Ê7Ûƒà !Iåã4·y V¾ $B !>kâh]G·ø¼w©ß5øtâE¼²:™ÖšÖ6Pû.ó]6oeõÕ7N‘nÛ޶ٹꊪ+êÞñYà³Àd–VJ+‰‘ˆ„ðOI )¨u-A‚ö?ÿL† ¶°…-Ê£<ÊÿË-°À‚"ÿÿ`o2šŒ&£nÐÑïf}À:RµJ Ä¯™Ï‡ZR $ävpŸ1k…ç\˜`"z Æ`²§pª ×—/(CÅ0q,f†a†a>'ùÈÇK!ˆì‘6K› jÜÄMZp ÕAAÿ¿w™_²öï ( 8 xf©/Ã` 0Ã0 Ã0 óyÉCKª’ªJGÉ]r?Ø›ž¥gq&ΜI…"Ã0_*V‹a†a†ùœxÁ‹ö¦ëè:~œr‡rÇ›-$›d‹áô-}Kê Éÿã:º Ãü…±`†a†aæsb¾p†3]L9Ê©j!Éd”PÒXì,Ã0ÿ5vù`†a†a>'&Hàƒ`Ë+ €oAAaSØÁ1 óec 0Ã0 Ã0 óù!’a@2â¡CÂa°‡†Ñ0FÍÔLÍÊ^Ê^Ê^úyúyúyYAYAYAüYþ,–FÐQاÁ0 Ã0 óð¹xƒdjж²Ž¶Miàô6¥Áä×wÛN~}Qã¢^ù’×)_:´Uíph+¥iòXD!QPƒƒš¥Á Ãü{_o,B„ˆ¶h‹¶ /…—Â+ºSt§èNý®ô»ÒïJæÅÌ‹™I$‰$‘€€hD#zL§1Æt:²üÈò#Ëí<í<í<Å!âqHaŸ Ã0 Ã0Ì_@98¢—BÎs)ÆLãicææã;nÞâU94daÔŨaaW« »“0îbŒýb¥l¿˜¬&åÉj$ˆD8@‡Â> †a>__mL܉;q— ²A6¨¨¨^|xñáņ††G•G•G•öåíËÛ—'WÈr%»Sv§ìNWS®¦\M1ùš|M¾ˆXØgÃ0 Ã0 óU£(ÌaFyH(/Âqy´Ît_Z7<»ÂÙáÙжXy håõîa•×OšrkÓ¤)}š_¬Ý§¹"Š¢ˆ¢I/â0âq¸°O†a˜Ï××XË 3Ì´íD;qó¹ùÜü”ë)×S®'š͉æ‰ý&ö›Øï°Ãa‡Ã&ƒÉ`2˜ßšßšßz_õ¾ê}µ“k'×N®¹OsŸæ>-8šj¨ û”†a†a¾R($â ñ¢íp’¶“è )AiÏ-UÚÛÔP½¶©‘Þ4_ŸÞôn«”æw[]ÿ6YwýÛ3f–˜Ñú@ÀâÖd*Éd!‘…ø Žø©°O‰a˜Ï×ט»Â®âFq£¸ÑÅÎÅÎÅnO×=]÷tͪU!«BN\N\NÜ›öoÚ¿i×qµ;ÖîX»£uWíhíhíhñŠxE¼b3 #Œ0ö)1 Ã0 Ã|E,a=”°Ç¤àØ“Î{rwÈîŽóS›ºÎO3]3žÛð>ð܆};__Ý·3ÇÇÜ.Çgð¶ qƒ·Õ/ås¶~)[µâ­­Zÿ­¥—þ[ôE%ô…a‚SaŸ$Ã0Ÿ£¯1^‰•XI‘Gäžáž]‰ºu%*gwÎîœÝ×®\ ÈhÑ £Á­}·öÝÚWoA½õXw•®JW¥«Ü~n?·¿ ¶ [ra†aæwaêlìˆ'†a†a˜¯‚”88Mß#¾.“^ÂåcoÞ-<ö¦›ç9ßnžgËÇ»Ÿ-ߤ…_“&-4oVá@óŽwc;ÞÑeXœt†H±³!’ºÐÍÔ…„b: … ¢uí–ú2 óï}=À•Q•É$2‰L2º]®m7·ÝÜv³ý!ûCö‡RRRÊD–‰,Y÷lݳuϚʛʛÊã^àEðšà5Ákˆ-±%¶Öƒq¯¸WÜ«Â>%†a†a˜¯Â$á‚t’.’N:=RýàôhÌÅoÇ\Ü›ðzÎÞ„ÉoMöˆØYîiÄNÇñ6ÝÇgFæµÍŒ” –¢’A¹‘sQn„7&Á¹0#*ðPö)1 ó%ù `n7‚‘§ÏÓçékÕ ªd]îˆ&ÒDš¨>©>©>I&“Édrß°¾a}ÃäÇòcùqÎ¥œK9—šû7÷oî šs5çjÎU.Ž‹ãâX?0Ã0 Ã0Ìï ÜQƒïO*òýõ®“ÞõÛùå«};ß#Ýæ½Gú‰ VŸ˜²ÐÐ.easQuä“€IDATcÑÜæÆj‹“ú¸¥k¸¥ÍUŒÍØd×°ô&;1^n+ÆÏ¾gš<îâõÕã.>Ò¥…<Ò¹¼³íïòN±˜ X,åÐÓRöã5öÃj8‚€Á;¼Ã;ÜøÅÏ<Àè ƒÿtþÓù\e®2W)ôú ýˆ™˜‰YJ¤ë`ÁOå?•ÿT>åZʵ”ky±y±y±r¹Š\…,&‹Ébk˜Ân,†a~O_c0Ã0 Ã0 ó¥ÀA oCßÀ‚6°(ÊpŽŠ2ù¾âû|_Ýds´nrÐZ÷2AkKŒtmXbdÑúv÷ŠÖŸÙäÞØ™Mž“ÌOÏÉþ§MËïj›f·À6­o­>ƒûÖzhz¨{hÒ„jB5¡¢è#úLë8­ã´ŽaõÂê…Õ{ûüíó·Ï'Ï™¥Oõ)ú}JÆèŒÑ£¿Ÿðý„ï'tÚuhס¾C}‡ú5Å›âMñÜn ·¤°›Œa˜ßÓוR‹x/y?Fa”ª%ïÁ{¨rùl>[ÞJAA‚‰ qÜßÎÝ 2 €=ì±1ˆ¡'1ãm+®)®qËÈArÇñïÿa/†a†aæ?¥%©I¼IM9³äMq¡¦¦¸Ò“/¡ô|°4uɃ¥ÝÖŸ{Ýmý<ÏNó<›þXdSÓ—êØ-7Œ4…FŽ4)¿á*¿ÉXf™± SQ SQy(KÆ’Éd¬y±y‘yqýäúÉõ“˾-û¶ìÛ£:Œê0ª©Sÿ¦þ¶™¶™¶™¢³è,:kžhžhž*~¨ø¡âΞΞΞáŸÂ?…ÊìœÙ9³³¢¥¢¥¢%}LÓÇ…Ýd Ãüž¾®tÎ ’KçÒ¹ªþÿâuPÎöœí ’.S—iûD1[1[ ’ŸÊO‰7la #$H$p KñäšøßhÒÁÿÞ¡”Ç)ùÒ:i·Œì!{Èj2 Ã0 Ãü‘D¹4­ —Võç_¨úßrø´ø–÷ʫ/¾U.qx¿÷üÞ®ÄW>¯|Öî«ß²~K‡Lå å ±H'¢!|á[Ø'É0 Ã0 óŪÔšQB“¼sp^”*?›òÞªMÚS5+ÁÔ&+¡oé Óú–žôöúóIoó÷Š[ó÷:”Tvs()L徦¢. =Š1ô(ž!ÏÈ+C^Ik¥uÒÚ ™2+db+¶b«îµîµîõ,çYγœŽÞ;zïè=ÕdÕdÕdóZóZóÚšjN¨9Ïãóø$7l‹)Sfwô«=¯ölêÞðpÃÃE'h—i—ém,U,U¸Êäò ò`…Ýd†a†ù/é!BOãCã¸æd×<û„ikö‰rß:_)÷íâ~µï,î÷ nê±uº½ëwÔ­ãÊ3Ó:®l™ê_£ej÷%‹u?á5Ð6Òk Äɧ%ΰO´3ìãªq¸jùíò;ä·›}~ö¥ÙçmwÚî´Ý)9KÎ’³aˆaˆaÈw¾ûð݇ÔA©ƒRYKa!qˆ‹|ù$ò‰¦”¦”¦”<]ž.OÇj¬ÆêÂn&†aþ(xÌÂ,Ì"³ñ=ùž&  P@ea‡÷_ÉfR Žp$S± ›r*š{›{¨QöhÙ£ÝCKf•ÌðêÒ™Kgâ–çÖÏ­¿uøË°—a;»ÅŽ»ñrà  ÑÖÐÖÐåZR,)üzâI<­•¥YêË0 Ã0 ó?±N¿ã@ÀÑë4‘^çIE>Q_Ó©¯™;Ð|!w`Å%n|Å%ÓUí=½Ñ†¤•7$¥tÎצtŽ)GÊ‘rX€X€„ D´íE{oooz‹Þ¢·h:M§é®Ó\§¹NãôœžÓÓt%”_èw`†a~wp—ޥ锢I8„Fö2dÈ…ÞE }\ä ÕPÜÇwø.§®¹¿¹ÿ€“å~(÷ƒÜ ѱg .pœ§ªº¡Rƒ{ îý¤õÖz믉ÛÅíB’JRi2ôÐ[+E³˜a†aæw €ƒ$˜P(Îí%®Ü^ü„óøI`™¨ Ã@†ù·Õ¾ðo»Ä¯Vö¿—³Ê½¬¸Ý{d»yd‘(ÃÈ"5"=·×ˆû$tߨ'–¶4ÚÒÖ#ÂCDì%"tÐA‡ d Ó0 Ó,Ç,Ç,ÇðOðĈè#úˆ>¸Žë¸oxÃX`)ìbæÂÁ>ħpŠžÂvl§;ˆ\áÄÂïÀƒ€ f˜q­ÐŠôÇ*¬Ê¨j$F2èièˆÐÎÅ--ú_fe™•¥âœ;ÖûZ",|ÒFß 9°°Ô—a†aæc-4¥ƒ:´Eq´%­°˜´¢Ë0€.³Ô”õ–š–ú²ÆR¿ø‡ƒÅ'õÐV/ê‘=ß47{¾¤“›I:²ÍÉz|D >’XÄ’X¸Á n A*HƒÇc<ÆãnàFÁëO,bñóóYêË0,aZháG⺀_MÚ—Ldš¢)U¢*ªb |à£òRNTNT]dAÆ A#È[’CrhálÕ_†a†a˜?@­kã²ñ‚´$EIKYGKÊ:º¾ Û´û”µû̯äó«óy içó–7{²vy³€VöZ­mPa}hH7—š!ÝrE³%W$<&¡Fcè`ùÛÒ•2dȤ)AJȲƒì@WÐt›¿Íß–fJ3¥™rC¹¡Ü° ¯x=Öc½°VX+¬•ªHU¤*t1]LÃŽp$öÄžØsQ\ÅÙr¶œ-M  Ô:yPQØÍÊ0ÌÿM(Ht¥_üü=íý’—Dú%„Æ" Y¤ £1–àäAò ©L£&`ÍÁXŒ%”¥¾ Ã0 Ã0 Št‘N²d€ä(_“ÅX¹³«Ñ4µk£¾št/zCÒóÙ’Úêº%´7<´×¸á ÚúvkЖ†Ð©4$«­¹QV[Î9GØÃöÈ…¹3-°ÀBBI( •3åL9SñLñLñLq^q^q^_N_N_N® ׆ W…«ÂUœÆiœF-ÔB-]U]U]U;ÁN°øü~DAüquv:;´UÚ*mµ&Ƶ£†ùìý•Ê»+Áƒ/Ø 4ES²”Ô&µIc1Ts}Ùý;†a†a˜?‚<$‚”#òÚCÞa×L9Ä®™Â^‘¡°ÛŸõ0nÿwŸÿñîñ)›îŒké?#¬åÊsucWž‚‰Z6ºKÔè.O¥+ä©\ nq¨7TB>,Èÿ‡Ô·4)MJ˳åÙòlõ&õ&õ¦¤è¤è¤èT]ª.UWeE•UV\?|ýðõÃç¸sÜ9ޝÆWã«ù òä3¨õíÖ·[ß>?úüèó£o»Üv¹íÂõáúp}RRRZK­¥Ö’íÛ¶ d¬‘5¨‹º¨[ØË0Ìÿí¯”3 Ã0 Ã0…+¹ˆ“âåcR¼}7eŒ}·ME_¬ÜTôqlú÷cÓ†¤ðÕÎ ð]·º¾rÝêE%Šf囄¬|óØš7nÈ$ÝHD’x¨`€CÁñP@AŠ’¢¤¨ôBz!½ÐÌÒÌÒÌúäûÉ÷“o3§fNÍœª×©^§z탷Þ>ؼռռUµ]µ]µýååe¿×~¯ý^!ÅBŠ…›aœaœaìÙ)²S¤å­å­åmìŽØ±;6ÞÞx{ãíñÅÆ_L¯Ò«ô*ÎÄ™8Sa7.Ã0ÿ76Зa†a†ù³¤À€¹êÊuø{|"ïVÞ§1·òÖ–~2nmȩ́Æ™OÇž©4cì™EN–(š%EçFq-‘ǵä†`67FP Rß_âÀ#Z¢%Zé¹ô\z®Ù«Ù«Ùûºäë’¯Kñâ7Ä/xnðÜà¹&ÞÄ›xëNÕÞV{[íí´ˆiÓ"j«Q¬F±Îå;—ï\¾xï⽋÷’…d!yêú©ë§®ŸÙyf癿¹÷ͽoîńĄĄðøGü#tEWt-ìfeæ·úy-6„‚‚_Oñ+†a†aæsRn¨(ô%1Bß܇¦ç¹.¯ùláòÌ‘—2;4ßS´dó=í¶Ÿ¬Ûnû¾™¯+î›™˜œˆFtÑ$œ¾ø«ßUP@!‡È!rˆº¡º¡ºaRVRVRÖììÙÙ³³'ÅLŠ™3²ÚÈj#«åGçGçG[w¢Ù4›f¿0¿0¿0ŸI?“~&½¥®¥®¥Nm¯¶WÛ¿[ýnõ»Õæ@s ÙÎÍÎÍÎmÓ°MÃ6 é2Òe¤‹1טkÌåîs÷¹û…ݬ ÃüV 0 éHG:”P@ ù«)Å0 Ã0 Ã|>8šÂMé':›~R?滩 í¹,¡ý(]ˆç(ÝÜ ÕϰÃÿUÉþÅ=5:ŠÆ–Æü<2™Ÿ‡(Ä!êŸL³hÍRD("YQYQYQá|8ο<ôòÐËC555‹]».vµùÖæ[›o­{ÑÝÙgwžÝYþYùgåŸU-UµTÕRIå“Ê'•/Ó¯L¿2ýbÛ͉mSgXau†pá:µêɪ'«ž´ ¶ ¶ &ÉGò±°›•a˜ßŠCUTE52šŒ"£ñïé{¨ þÿ†”0 Ã0 Ã0ÌÿÎ:Þ0 Fd¡üÐH¦µä`¹m —ȹb”s¥ÆP¯U5†îèöMµÝ<ìqÚÃÞtE´5]!É Ò€ôk&È2—q—åòyÀ€…X~4ühøÑ¼´¼´¼4E¢H*£2*[÷Ê™’3%gÊ£5Ö†>†>ÖÊ8šWšWšWƒçž;x®eºeºeº¹ª¹ª¹êwO¿{úÝSÇŽ ˆ»Ä]â.ëºÁ…݈ ÃüV¼áM¼è|:ŸFÑtŒGâ / Ä.ˆ°vx Ã0 Ã0Ì_†°Ã$ã鈭¤#qÂVâ„ãÈÃqˆ `ýZ,TPÑwô}gÝ`­ñJÎ3äŒÔPj(5,>©ø¤â“J9—r.圙™i{Ôö¨íÑÞ½{< žO,ÄB,´‰²‰²‰Š˜1+b–ñ¦ñ¦ñ&fafùLð™à3¡¨{Q÷¢î¦ïLß™¾ãp¸´+íJY-h†ù!ƒÂö°‡¶°ƒraÆ0 Ã0 ÃüeY—ê4È'“P4ð/æÿþ;4™&ÓdR’”$%¥¢RQ©¨X^,/–ç¶sÛ¹í´8-N‹ç×ί_›;ÆãŽQjCm¨/õ¥¾†U†U†UÜîw„fÒLš) ‘†HCĪbU±*·‡ÛÃí¡ïé{ú¾°›‹a˜ßJ(¸ƒ&ÿâçë^Éf˜EQ@›ÓæÓ8  /úB€ôŸ_X†a†a˜ß  "DCÔ‘Ãqgp¶ð­W"@€ðËžaÚƒö = ¶T"•H%ºš®¦«!A‚„R(…Rd5YMVl7À–` –!œ†ÓðÂn,†aþ3\að§Ó£8Šˆ@}/Ünc)™Af؆ma»Â‘a†aæ/Ì ¼àüHshŽb.’„yPB‰·  Áo° ÃüNþr—òÌz·Ëä2ÝdnÉÜb“iò3ùÑ»ÜIî$iJïÐ;…#Ã0€©²ÀŒœ¿mÿÏz¾vz$ÈÁKŒ`­ÄüU±ëFa DH\$œ 6×¥èö¶CñŠ>P¯… 4²3À³°ÃdæKÅáçq ¤`èóW~1çfS ÕÄŽØ•-™ô:éµcëüù;D=·’[‰Y8ŒÃ…#Ã0¿fâà º°#¥²ƒÛ §<Ãâ¿=G†XØ! €N @ê]YÆM…~R@IœPV%‚ùª±ëFa±¶¤µU_c¹›Ø Esþ|é '%aBœFš [øÂ¾àb†ù ó$ˆÀC€P°@ù×ê)GÊHF²ñ®bb´«ÌU&§p7PßâÛ‘ùªQPAHE*ýyá/x‘›¿xôK^…›‚PB Ù€|T> ¦` '8R©=O”è|:à£3R…„B[âÀñ•÷ I­ÄÖdq1@ú“v2_ØMø§²‡@ÑI€°G šÜ zGZÂÅ*6@§Yæ@¦ÒC€T'u‘WØ3Ìâ ¼nȧäS¥‹ÒEj‘J±_–eœÁX¤šRMXH ùÌ«¼¸ @7ÒÅž“gô%7€ŸHê’¾ò}câÈi¹FÄ¿G*à±4f!ì~*ìÀ†ù²° Ô à@ƒ䀇WAü5²‡± Á7ŠºQ7r ;°5P5ÌŠ`10%”$èt²œ,ç+lß‚-rØ/M/ì@ÿŠ!Š!P!É ð‚ןÉ*ôP3Sm³ îñŠ¥<ýôÑëtòKõ‡²¯"‰+ŠF1߀ ¦vþ©Nb€h ä™2æÞOáH“rê¿ ‚2aÒ7Ä5À¡~/h‘CÍðÙ ‚¨RØ3Ìâ ¼nÐÍt3d²•l…‹ÃZ‡µt¿&\Ž8ÃéNåœÊ‘ÁOðƒ²°÷ß:€ï„â ¨ÜA^ªw7€%`õÉËÜÛMœú!¤¬z˜ÕÁÕ!"–®P¤°ÃfæK#``q%"× 0È!÷×›!Ì0¸D$Òáp†3_Nê)õÌ9ö÷‡Ê!‰ÒpùÂÿA×AoÈ7 H@¤Ûö·íé÷‰¯_!‘åcÁ#‘B$žòK€Ñ8Ô·ê#_WmW=ÄY6™‚Qêɨï‹ãꫨ´±´³¸¦Ø8’{Æî°kUØMø§²•÷˜­~Ê:þ мþ§§À Õ–ÎÃåné‰%éö‡9àº4Ú¾(´d®Ø2ŒdVaÎ0ˆ/ðºA]©+dµ àò:àu"£ÏEŸ£kO×<]¡9‡sã-‘¿ø™'À.r;€¦ª€Z¾›CËõûÑEõ]^iöRûƒ=µ×´ô¸±ÄÇ>®€iiV,@zñm ;p†a¾,Žá(Žá^ÑWd ¦` MÄG$¬Î0ÌïN~v p·ýßÿoÝb}ô‹–ˆD€óãüÀŽŽ!oŸvŸ–ŽTµRµ‚-H'þÉsH­ƒþ2‘Jš  ÿŒFœp÷@aíg>,ðÏ¡†À5z 21”üH~$±§?еáÖJÌ_ »n6 Ô§ÉE~ž\CX»3 ó¿ðOéSª¡yô݆­ØJÜàŽ:8 ,…Ã|u|àCçÊñÛùíº”‚í ÐÃáÚ¨°Cü}("6ÀbbBª¶ÛÛn/I—·È[Îõáúü ·Ø¬CÛb3¨yTSTNÚ]¢ßEvkiͪ­'&-J—èv î%®â’@Ð ?vëý©¬C Ã0 TWç)ì¯ÏP¸Ò&Ÿº<úŽv®),~H&É«s Ù(FÍà0—<A V/ùJ}ׂ!Ð=IO¸<[ûl-ÝχóádmsçæÎäžØA쀷ÂHaägÞlÝ •@åÒ˜ òb±GUl»ñrî`Ú(8±;‡\ÿ#BàbÎÌ „HÜø…2Ã0_"ð î°‡=à=Þ#*¸¢1hÁ½¶¯¿‹oÉnd QÈG>ƒ÷Eb>f˜ácý•ޤ#ù_ FdÁ£6°)ì0ÿw4†Æd)Y "5’Ao¸n¸NßæGæG"‹›ÉÍÿ‡a-f£¦ÝeŽjþ{úÊH;æ“]Ïû˜ÃÏÓüì±YC‘ŠG´#2Ÿì0 »õþTöðä·r :§r¤­Óê¾e©×Í%wz¥H«:]øÖi ÓÓÁ¼Ä „iEú‚Áb¾^_àuÃZË®·]o¸äôËé‡ýùÑùÑx xŸµ*k}/<žæ °µV í  9 ±$ ¿÷ÙsáßJîc€……› â's €Úd m[Ø3 óe`åoüÕPC ú'Õg-4…¦Ð3Ößåmò6Sê@¤¾¨€ ¸ #ŒØ[Ø12_5SÁïîp§­þÅ£êÂôfMãŸà €(ÂÛñvPr×¹ë¸Ò\é?¡غHF2Dî4 :UÎG5\4´ŽÔ)ƒOPpAÂV¸@ãp±é@Î’ëÄã¤W´<­Fí'ú·QÑÀXC3NA†q‘<'”§çp›fàïë 2Ì׿ ¼nãä8d>›Ï& ¾#ß‘îçêru¡À€‚ïÊw…‚‹ãâ>ó[üÖeìH@.#5¡—¥àè1n#44_v¡‰’#€ Ø@OçìJÄ0ÌŠûÛê¿ÿùª‘éd:·¤>ÚYÚYA×ÝÝÃé!zHü åPŽ,*왯ÿ·¿²Ç¤S3âéÏkjaí_á/ñOÂA @j`;-r  =@a‹ªB1 @>MÄ_/õµ"àdà#mŠ£¤œâ¼\A¾'N°,½¹41ȇüfš –ú2_;vÝ(,Ö–´¶ªµ…­­mmyë»`}G¬ï÷™÷h3 ó™úë}¹ŒËÜ ÐL “¢ÁD©¶TÛ+Gpļ©HÅÑùJ„øÂ@|­„v´ƒÐÎÆŽ»acgÝ"7 Qrèa<xHÖþ9@òGê’º¤®\C®!׫‰ÕÄjb±ŽXG|'¾ßÑEt]TPâB\00AŠ“â¤8)JŠ’¢0 “0‰¸7âLë‘þZý\4E „+#œ¨ V$–þöþü•©¡¦Í…(å1Â× ÷·æ¦#('wâ&½k%毃]7 ÁÏ-lmmkË[ßë;ÂJa1 ó?øë%Àwqn@·Xš[šs ä òò‘,'Ëé-d"ó+zÊ|žÌa¦ƒHdÝY‹È¬;ÒDcGZ·hm•F­­ØLÄf´ÚÒnÄ vÄ "dˆ¤6©CjÓ8Gã´å´å´å\^º¼ty鲨e±Ëb—P—P—Peœ2N‡[¸…[òvy»¼†ÓpîtÅéŠÓ§ëN×®#¤A4ˆYÓé¿DÌü{*¨`‡û¸Mä1yÌ-å8!£àQ¸Vn†a†a˜/žë}4àÀ|åC/í`# Ò”4•£É,2‹lD)”"ÓQ ÕèGøÊó05&È0‘Xr—ÄJƒòïIƒ|ÊT¸îSæàÞ'îÍèz¡OF×ð%ބר:dzQÕ9ú÷æ6ú÷–Dy„%‘«C¶puä8Y/Ç)w)w+wEÍ‹š5ïÂÛ o/¼•Èä®/]_º¾lÞ&¼M¸{´{´{´ÒEé¢t!ÇÉqrüPü¡øCñòùˆ|¤¹¦¹¦¹¹ÈE®\[®-×&¾Ä—øÒ4šFÓ »™˜B"C…ì Å\Á,ÄBú¢!"[€a†a˜/"D|D"a€pà¾âža ZÜæâ5^“ŽÈAÀƒ‡” «aþ öPÀžÉUæ_æ›+ç·(Vty‹bëêOZŸ`;]a°>wõýŽsWÛìJü·Í>мú¨â6¬¸-_¢#åKòy½¼DsGs[sgRÛIm'µÍöÏöÏö …Ÿ¤OÒ'iõ‚Õ V/°þ'­IZ“´füáñ‡ÇŽÒDi¢4—Ì—Ì—Ìë/¬¿°þ¡14¥Q¥i_Ú—ö-ìb µ¢È„Z<+x„|õ7G†a†ùK¬_‰=É'nèN‡a7Òq ¼ ;<†ù*Pü­Ð}M³ékR4#Õ²û˜*g÷)âj/qe¬c˜e|¸!ñæÃ ‹z>t[Ô³Á·G‚|{xA‹Í‡Tiï^©Jû<‹´$ÏB[Ò)´¥Ø_ì'öŸuwÖÝYw]j¸Ôp©ar29™œz,ï±¼Çr}]}]}]û.ö]컄wïÞ½´²´²´R1K1K1k²i²i²é\‹s-Îµè¸¹ãæŽ›3Ÿd>É|ƒgC†a†a˜¯Ø×ÛÓË0…ËšðæCD>);R„A:Ä’*ß°¤ª+ Ùꊮ&MqWSüð\eüðµ'L_{r~̃]óc„cüpáØÖ¸Æ­¶Æ•~ï[ú½±œtÑXŽØc ±'é$¤Ó~´íwHuHuHu§ÕVwZMo;½íô¶Þ½{7¶­b[ŶЯSã©ñ¬2°ÊÀ*5±šXM,á Oxi¨4T*7’É ¢M@ »É†a†aæ%à%^â%õ§jšŠÝØ]d\1»ÙŒ/†ù¯Xû{Õ ÆDÜÅDñͯ©ïòýÕw‹Ø¨‹<{—ÖôٻÇßÖ;|øaÕ4ÅêÚOÊoµŸiƒ"iëÏóq­?ÏòQºmùh*%GšJÑtí‹Ø€‹˜‰ù˜)÷“ûÉýv†ì Ù2Âw„ïßçœkpîÇ裌¶Vx6ß2ß2ߢ»énºÛ´Å´Å´eTî¨ÜQ¹Áª`U°ªYl³Øf±999¼–×òZÔAÔ)ìæûÈ!#š^Ø!}68,`AlW°üÇ0 Ã0 óE ~|á$Á6_†ùOq à 3r‰?ˆ¿Âï¦pPâªE—Ìœ]r}Ëg¦õ-?\ΫÿáréUNK¯»0´öØ…5gú8Õœ)†‹ïÄðì-¦>Ù[¸zäG®ÉÆ:’ OððÄk”ÄkÚ€6  8Îs8t.è\ОÜ=¹{rïo¹¿åþg“³ÉÙ$~?ˆþ …¿ØHl$6¶tØÒaK‹† )2rØÈa#‡ªªªÐóô<=O,ÄB,t>Oçv#þahA*"!A¢Û@@[ØÁ}8PpÈ‚YhLŸ¡16S‚Í*!²7†a†ùò °~-´@„XP”b˜ÿNLÈ,ôèµG§ÒýÚ])¶ÒîJ õw*Öéy­öÈ~ïʶè÷.¸¿ëòàþX„5X”••;+‹kKò¸¶B{¢ÚÓ8äÑ8„‚þ7ˆXXNè„NñíâÛŷ볪Ϫ>«ÎŸ>úüéùþóýçû7ø»Áß NËMËMËÝwvßÙ}ݺ=t{8|ÄðÃG$k“µÉZÛî¶Ým» {„=Â*R‘Š…Ý| ëí> ²‘ 'tB'rðˆæ" ž÷Wf‚ªã-ªS3YNÍr÷NŽBsì@s¤A V!œa†a˜/žPØ0ÌWä'¼ÃO|q.‚/žýÉx%ûSäëË ‘¯ÝÕ^Îî£tÁ÷GéZG?Ø:’_!4åWdVЭʬ }¢±Ò'¥–{¯Ô’uð#ëh"rh"þ©&÷Š{Ž2M2M2MÒyHç!µ´´Œ¹Æ\cî¼óFÌq¶ýÙögÛ‹]Å®b×7Íß4Óü®ç]Ï»žª‰ª‰ª‰a!a!a!>ðæ½÷vÞÛn%ÜJ¸ò y†d˜Ü@€lh­³¦ÿOõÎñ÷õ|ä#Ÿ„"Çʱr¬´FZ#­‘6H¤ rQ¹¨\T–dI–ð=¾Ç÷¤iGÚÑ ´­€Vh…V$ˆ‘ ˜a†¹°”a†a˜/›ëúŽÖà¯>aþ($² MÈ69…ž•Sì……vã¶W\9n{ŒüÖ=2W|ýÓኇBß®<ºëÈ«»Ž´å´å:o té¼QèËúšºJY¦®â9ºE\Ÿ÷9]ŸÖ'ÓåYŸC}ßæê{¢[Ü“ÝjfxM©™ÑmF‰ÅÝf8+U•ÒzRzŠÅêX🳠ÎA>r¾Â6Ì€´.ÒüqRŠ?~]JÞw]2M•2LSó½-‘ùÞÜ£ÆgØŽ}ØÎýÀ­á~ð¨ìQÙ£²Çuë×)G9Ê ± ± ±ôžØ{bï‰\$ÉErí¸v\;,Â",*³Àcu+†a†ù߸…Û¸XŒ Ø‚2ð€a)ìÀæ‹eM·”à ÄiÄã4½†)ô1"’yW.ŒwµmƯ¶mf¸%66ÜÚ´ðY×M 7{?ãx3ûª<û­gù×n=«ãœÀEç¨*pÞª †öRC{®+öp]irh)CÊ2Öáͤ5iMZ‹ÝÄnb7:Œ£Ãp §pÊZ|p€F`F`9–c¹ðQø(|„üà'…H!R½@/Ð ¤©CêÀ#Œ4¦Ót( €âoE¾T¶p-béOˆ’h’¤Š†¨¢L]Hª©‹\‹ä’p†΄b(¡p… \ ú9­+<þ‚áŠ`n69ÃÍ67’Ïš­!õ’×Y‹ïŒ›µxM†ê5=œïÛuv¾Oã¥â4ž´'©¤=kegÀh˜1@9¡´/BÒpÀÔÃX?ã[q[10™üad~¿)jØ÷›Ú® i»¶ÚD7Õ&æ¼7·ÏyÏ 'ý¹áh…²hE»Ñn´›ÅÓâiñ´\³\³\£4æ{æ{æ{šžšžšžjŽjŽjŽ–é\¦s™Îù§óOçŸFqGq¤#é¿6¦Ÿa†aæ·âƒdÓt ˆk¸†kÐÂö ýZ¡†aþ%2ñ…ñÅLÜÂL9‰ºÈIš ¡¡&Ȧ ³i“»ßt'wÿºrÏ2וk£?™ÝFë짷άU®þÀZ+ø:N+ø~ËÊ ý–‘ô.©a¬)4Öäî‘+Ü=š ™fã=Þã=·’[É­Ìí“Û'·Oê°Ôa©ÃHÒŸôç›óÍùæé®Zhqgq–ÛÇíãö /…—ÂËLM¦&S“y"óDæ ¤ )¤9iNš“ª¤*©Jz’ž¤'~ÂOø ö°ÿ D½†¯É Ü#ƒd'ûŸ|‘]ìä‹Í1Ï›cŒ.Òc£‹ÝCE¾ÝCÅ;N«x'ÿ@9ùRx‘ê0C‚ù?¨¥\¸ŒaÄ!4Ã!Ó\©±inÐ9gKйj=<›Vë1àÐ…£åt½ò ©ž¹ŸR=Ó‚r§§¥™rÒLiÙ¹ñiÙiÙ¹7Ò²Ó²s¿IËNËÎû˜––ûSZvZvnJZvZzîÛ´ôtEnJº"unNçԹƞ†>Æž;ƒŸ4Þ|YHì{YˆœXnEäD}–¥Œ> ]Œ®hŽ¢hnM@. 䂸T|*>µ´³´³´“~~~P×S×S×Ó¦iÓ´« ›ÇšÇšÇòeù²|Ù‚³³ÞŽa†a†ùàÁC@1ø£¡ý[êûed˜Âd %l霦øåä~¹]†’³Ëˆi1<¦ÁÉŠñA'+žéûA{¦oÉK•üaÞÒó––{ï_î½ÍÞÖæáˆ´Üp$£«¡vFWþ(©É%îØAÜ©™JÔLoÑô–êê­êÝ…z\è±ùúæë›¯'ŸI>“|¦ÑöFÛm¬¬¬q,îXܱ¸ H¤éD:I•¤JR¥m¾Û|·ù%GÉQbÎ1ç˜sz½êõª×«~iýÒú¥M=šz4©HEjÛm´]^-½Zz5¡‡ÐCèÁ)9%§¤»è.º Îp†sa7÷oVA¨/¾—Þ‰ï*Ûs¨¼©Ï”ú›ú,¹÷øÉ’{{ó^¼Ü›×1,pWǰVþ‹[ExxkŽzxç.7“»œ«NŠrÕi,ýDca€CaŸÌ¿e¬ž rICx“†úb–îúb#‚Ö Œ¸û!õ‡»¶Wz¹½Ò ˜òü ˜ÌQÆá™£øtɧà ØýŸ¯ 8tœæ?qµøO©.†©.ŒÏ«o0Î ªÞdVÝ4Å{»iyŸ,óó> ç¸KÂ9¹"ÚÊ‘Šx¤Z??. ]º,tXæ°Ìa–a–½ïù¾çûžqMãšÆý<ĺ:¡õ£~Ô¯`‹XXÌ0 Ã0ÌÿB€µ6ª˜!C†ÌR_†ù/]D<.röägŸßXœ‘ßx¼úV¥ñê7n9;߸UçѰڸõaõSׇïp¯ø{s¼ìgŽÝ客{^¼eq^<Ù…Õd—Є Ýá Nÿ0·<‚Pžr”PŽ›ÄMâ&Í]0wÁÜIII«íVÛ­¶Ûè½Ñ{£÷è€Ñ£PåQ^}\}\}|ÓýM÷7Ýêý©÷§öåïËß—/Ž Ç›·nÞºyë>£ûŒî3úñÍÇ7ß´<µ<µœ{L2¹Ç(”*ì“ù à  ïу¼·ìwZv8ÌU8Ì7&tø1ã÷Þœ=~o¦>Gê4 lè`ØÐp@|a8@z`é¯Ó &R‹x’Zb?y¦ØOÛMÓvuí~Ô¨k ûÞm°¸žw§zv™OŒ2Ÿ‡¹Âaz‘~¤±Û°ƒ’@HÊ“ò¤ü Í Í C¼C¼C¼íÛ¶#žº=u{êÖõÛ®ßvýÝÑÝÝgºÏtŸ©ŽQǨchÍ¡9¤iDŒTb†a†ù¯| ³ÚæËA 9ÈFoôFoØÂ¶ÿû´®W‰«dooÿòå7J¿D¿D¿DÂ! Í Í Í½ÒäJ“+M ^/ƒI&É$™ßÄoâ7]zqèÅ¡Wv\Ùq¥}ûöŽ8q8âzÆõŒëiˆ4D‚Wx…WBo¡·ÐÛúŠÆ]waÜÝíw·ßÝn“d“d“$”?Ê »™ë e°Á4ÜÆ4:]è ’Eº’,"Ó8"#É@5åûÂÑdäÓd¡9é#4Ï~jª˜ý´j+ÏRU[5ïTÔ©y§…7¼_xgèœ!‘Ø@"‰7lˆwÁ —jIR—x‘º–²»e„óDµ³óĽºW«÷ê’>賓>Œx¢ñ$7ŬËMá»’H¾+=DßÓCÖe™¬7Mò›ä7Éo2wîܹsçÚÛÛ‹­ÄVb+¡¤PR(Ùw_ß}}÷ »>ìú°ëùáùáùáãmÆÛŒ· 6›ƒÍºçºçºçd™CæX`zˆ¢‡dQe‘ÆÑ8‡D$"± ˜žæÓ|šoM§­K.,øg½Õk ð~Àô}A_âA< ú™†a†ùJYû•HAY‘Ÿk¥²>`†ùo4B4’3©›œ©¹/,ÒÜ_µ®îÅUë–ÄÕÚ³$Îv©âŠíÒ½¯|Ø{È´«U†L‹.’ž]„K&I\²¶ˆb¬¶?–ÆeÚN”i–Ò,kož5 ¡×è5z íÑíõF½QoÌÙ³!gÔ3SÎL93 ï€¾úvéÞ¥{—îvÛì¶Ùm³t±t±t±<´<´<ì²±ËÆ.7è7è7èŸx:àé€GñâÅ'M8špTè)ôzÒôý V«‰Õ¶½ßö~Ûû•A+ƒV9Vp¬àXA2I&ɄڨڅÝÐÿ‚ PÁûð û¤St³t =ŒžÚŠ­ÚücRŽü„K×<ázM¸ØkÂTÏÛ}§zV¼ì>§âåÝ»¾i²{W¯S¥;ô:•Ÿ$ËOâ÷q¡ü>T€3*öéý‡¬ËqÅ"›Æ Ç8p,k£áLÖÆ‚{Œølž¼“õ|'¯-§ôÕ–ŸÐÃâÒ‡”&}`€øó`oâ ñ’†ËYÒpÍqA­9þ¾aî“÷ 7ÔŽ°¡öø£¡ŽãÚÅ*Œv±ò:j’×!"ò­õÏ­Gà*r¹Š–@K %°Á ~lðãÜSsOÍ=5¯Å¼óZŒõë=Ö»qÆu×±X,æ æ æ þkü×ø¯ÑÆhc´1x‹·x‹Z¨…ZÖYëh “‹“‹“‹úºúºú:õ¡>Ô‡8'âD—Óåt¹"Z­ˆ^ ¯…×ÖR[¤$)IJ¤¾Ë±Ë‘ƒ䨆ª†ª†ÒEt]Düˆñûï›a†a˜Ï›3Ì0T‹UT|• *¾²D˜aþzX 'ДlFÑËÒ¨ÜC¦š¹‡J p\Zj@)_GïR¾=G”,ÚsÄá;ïξ3)ûÖûIÙþ7í‹øßlŸYLß>³ú¯‘Õ‡¸ÚÚ„¸Úæ¶5–Ìm+‡¢‡Ê%(.Àáõ£ÞÔO3_3_3uQu¿÷í¸oÇ• *Tæàùƒçž¿~=üºSˆSˆSH®k®k®kX‡°aìëÚ×µ¯;¡Ã„:¨K©K©KYÿö¥1ÒiŒû"÷EvtØÑÊQ•£*G›qlƱ.}\ú¸ô1Ü6Ü6Üæ~ä~ä~üìÊB[S_58¨…TDÉciš<ÖA§Úá 3Ï—*›ç_ör¯C}ÞÞ8Ô'&/s}L^oçÒÝ{;‡õõoÖ×ù¤Zç|Ò4EJ7MÉ9mêsšÉäGÒÛ4žÞ†"ô_L-è_" ¤¼I=rˆŒ!‡p qjæÙªógžºýÚ¹¡ÛëÜðz[ç†ß!m[¿CÆ‘R–q$J\ùPúœfÑç´/.ѾÜB¸'Š\QÅ€ôá«´îNïõuwÖ;î3©Þñ¬1Ƙ¬1\]’ÅÕýçV¢wèz‡¬&«Éê¼Áyƒó§J9”rÈ}¥ûJ÷•؈ؘáŸáŸáï5Äkˆ×ÑUt]MkLkLk¬š‡™‡™‡©'¨'¨'µd-Y3 f@Ì€¸æqÍãš—ñ,ãYÆÓ'Ö'Ö'V$©FªFªFf^ȼyÁú wØá°Ãa‡´YÚ,m&åH9RNn+·•Û*Š*Š*Š&g'g'g»u;êvT^"/‘—öÛÆ0 Ã0Ì…ƒ|àƒ2(ƒ2HB2M†J(ÿÖÌ0ÌoÅ€£¡§1 Õ1³%ï9Ûüçâåüç†c¢­á˜}gU5û΃ž9z~Ì6Ìñ˜m¦ž+j4]ãù•õ7FHQY#¤M£ž‹›FÑ[¤*½¥¾ÉwTß”«ÐúrÚŒÖ¤Íø+üþÊ“ˆ'O"ŒF£ÑhôûÁï¿lKØ–°-á[Æ·Œo™¬ŽY³:Þêt«Ó­NŠtEº"ÝðÄðÄðÄÝènt7ž\yråÉ•' ' ' Ê^Ê^Ê^âqŽ8'§cNÇœŽ_w|ÝñuÕqUÇU·ôÑÒGK{{{Q¤‘4²° g²^© €aD"YMÊ“Õö‹•²ýâ‹1 ã.Æ kvµÄ°f‹2]Z”Qº…“PºÅ‰ú-“OÔXPºBÄÍ ¡¢æ„®¢E£«h)&çYŠqCˆÌ ¡·i2½ %x(¿ÈÔ×êýÀ\s,àšUÒa£ª|5×rå«u4/ßÑ0íù]iÏ…œ›Ð`F´2=H+[Ïa' ²sTÚ9ÚùÖûÐθŒÜ2q£Ò*ì•–×ÒìŸ×’Ø“QÄ-á–¿ÒV°„Â@a`ÒØ¤±IcG‡Œ¢´‚VphîÐÜ¡ù ¶ƒÚj»a݆uÖ9.r\丈Ü&·Ém}€>@0}úôéÓ§Û'Ù'Ù']â.q—¸¥«—®^ºzkÌÖ˜­1ó·Ìß2ˋС/BíFÛ¶Ð-¡[B·ðráåÂËýTë§Z?Õ²«jWÕ®ªtQº(][‹­ÅÖŽ 8.X:hé ¥ƒú_è¡ÿ­³ÖYë,u”:J ûmc†a˜¿$k÷« € :P|DôH@ò‘ð·ßÿÕÿ­ÏÑ!iÐ#fðàþÿN]áG®Wë™&w‘tÔ†î…Ý ó"HÁ\Ê&ðCÒÛHäÁ‚Ÿ‡½{öBm«¶UÛ:«œUΪÖk[¯m½¶Ç¡‡zêS¢O‰>%®É×äkr³ŠÍ*6«¨[¯[¯[Ï+œ|ÐR.¤¼|Ó丄x\"¹Dr© Rå5n°òZŸ…k÷Yø|df×ç#û{•]ÒßkÙ Ò‘ËÙoTÙoÌâ ¹Yœn°ù†n07™dp“‰c‰v`WÂY{•¿ÜÔ÷—à  ŸO??Ô'~†dË~Cò€ýeר³ô'z³ôƈ˜¬ƒtm02›Od6ãÇ‘ü8áÔ ’8]+qúe¢7üPfvãjf7Öæ)Òµy9ƒÍY9ƒ…™Ü2a&A×Ñ•¨^¦—ée¥¤””Ò™zgê©-þZü5þ#ÿ‘ÿH숱K™œ29eòFn#·‘«j©j©j©u¥Ö•ZWÒj§ÕN«}ëé­§·žb4Fcôåý—÷_Þ>>||øø°òaåÃÊoë´­Ó¶NëÏ­?·þÜ,ÏYž³<£F=ŒzhuœÍgóÙë›™™yÚyÚyÚí¿³ÿÎþ;ݺtƒ#áˆ8€‰‘‰™˜‰™…ý¶1 Ã0Ì_†õÛƒœ`@Ÿãlè‘ãüLÌty&^nŸxýr{:• tj·Œ’[»exìÑøxì±ôm,=¸SÜfî”ù€ù®ù@XZXZXZ€ È™½3{göM M Mtuuµm;ÚvôñsÇÏ?ç3ßg¾Ï|óóóŽ^ã{ï5¾¢TQª(Éûä}ò¾ u+Ô­PWwKwKw«}ãöÛ7–÷Ê{å½ú0}˜>lYïe½—õι˜s1ç¢é¾é¾é>§à\a,BÀ'mH1ÒF>L{ˇ5ÎB#3Þ@ƒ7:oË57Ù‹ d¯HË­÷üØzYNš…ëß&ϸþmыڦE/Vçqºê8§ª–N3 ·D{Ã-s_y´¹/ïGZò~äÂÈkù(ë+öÇèwEP"a‘̃ä]æAÚžÊqÚžc‹‡FŽ->Áx3m‚±®Ñ˽®1°¶ã•ÀÚº‰æÎº‰ö½”í{êu¯ä¨^ žû>hð¼N¼·sø¬™¦íY3…sÜ-á½F“éµN}­ˆ?ñ'þ–®–®–®õ×Ô_SÍž÷ü¸çGy¼GÞCûÑ~´ŸË —A.ƒzJ=¥žÒ¬µ³ÖÎZ»cÔŽQ;F©®¨®¨® 9š£yÁa6?›Ÿíîëîëîkݱ0baÄÂ[n·Ün¹Å^½{µßÇ~û}ŒÛ·5n«.G—£Ë±>Óé€Ó§W^yxåá ‡+æT˜SaN…ù­æ·šßJ<)žOb<Æc<²‘ì‚Ęa†a˜?š¥ TlÞAMZa©åš¸€ÖʯkÌ7‡Ò³t@žª¤6‘ƒ¤.Jòðƒ¼ág8 4”ô2Êã¶t-¸ròt$*¡Šã<ô0ÿüRnà:®Ë»ä]òlÃTÔ"ãà†®Ø ËߟÆ0Ìo&B"®PWZh ‹§ÜÎâ©,ËW–u4«ç8šSû럤ö?'Ç+ÎÉGÕï›U'lÑÙ$léRBÓ%d¢Å:ýÝô6sÜôÆR¬q†xPÞ!$Id(I¢ éUºPX)¬VV¿Yýfõ›Övùkó׿¯5Äb ±ªiªiªiÕ–T[Rm‰©ƒ©ƒ©ƒY0 fÁö¾í}Ûû Ñ A&’‰d¢n¢n¢n¢T]ª.U·¹isÓæ&¶c;¶[ªXªXªðŸøOü'·4·4·4ËQËQËQò|  ap.,È•‡ÒÖòPU*¯Q¥>N­ø ئ‰PܦI…¦Í*45æËAj™ m“U¬I›¬&Î~5›8_¹ŸXñÊý•£ŸŽ^9Ú!QyÄ!1¼w‰zá½ëô}S s[›nÎm³ƒ£³ƒ¥žô–Ô“%ƒøXT‚*!fä”"ûÒ„&@G„²\o¡l®Á—k¨–ãùCµœ½‹üØ¢÷BïGûz¯6Õ\mrþ¤Nsþ´gík›=k“vëÝ“v/œ[«Õ¹yc,Aycødÿ‘æP ÍùeÉ«_1ƒ1˜v¢h'5k<Ö`faš¢)šZkëëë·Þnx»áÖÂlSc§ÆN=oö¼ÙóèL:“ôǾ~óúÍë7çÝÏ»Ÿw×ïÒïÒï¶[„-·7ÝÞt{SëZ­kµ®e}¦ô“ô“ôùD>‘O×3®g\ÏuÑë¢×E/m¸´áÒ†¡ÅB‹…›¹yææ™›…ÁÂ`a0ÕP Õz¤©G÷Ò½toa¿m Ã0 óõ£éUxðd35äo þ?õzQQ^“Ò£?=“¤å’7®Á ‘î¡Ï¡¡:°t0]AÀfœÃº'é´ M¹Ç uƒøÉïT®Âa~An:™.€€n€PPÿÙºp‹â¯ßÃgæÿdía+ ;R”¶Æ9Úš8 -qp¹¡±¸Üø”š¿ïSêŽjO"wT‹ª–|#ªš1YšcLnK´%GVèR0Û¿b˜ÿ†µàP7\ Ýø½¤¿7¯£el^Çõ3Þ^?óFÅäe7*ºMPßs›ÐálñÌg[t¨×¢³ÚOT»å„‹ä„“:òR‡ìÁ²‡è0˜è0JŒ¥ã §ãð@AÍö€Ö/èDOôD8Ä!κ¬ ¾Á7ø†¼"¯È+kht ]B jÛþó×úîÑ¥óè<:ïß?ç_¢ )CÊ@IWÐ8IShŠÐ]=A=AEßÐ7ø–¯Ç׃wÁóÝ`€½ƒÊôŽâ¡üLñô§Á¤?Ž#Çá àðEøb&õÂ̱IÕ:Mj^)àyóJûs^YöçÌèwwîŒ~åKº4(_²ç´Ò{Nsü¨ÜáøÑpF´7œ¡ÙÔ™fw¼ÛñN›¥#Ú,ÝÓâõ§=-ÎãÏœ5‹{ç{,®û›R »¿ùÆä×ë“ôœ“žÛ)í*Ø)½è|ºˆÎ§×éuzÝtÝtÝtÝlc¶1Û J q!.Ä…î ;èkÙ'ÛW¶¯l_‰=ÄbÓ"Ó"Ó".Œ ã –³úÃć4 ïè\úÎÞOùÊÞ#óø8ê‡ÃÔ~°ƒ_ÁýáÅp€m4€óæ7pÞ«.Õ-±êÒ˜o®Ûùæ|‰Ûó%:[Ú!¸‘CÀÖFRÓm©ŠËõ;—)h€òh[¶/|©¸Oj’e¤¦.Á²J— ™ä}’ ¥á‚Òx‡Wx‡õXõ­d`l]•×ðÊHe¤2‚·à-x/¶`Ø‚a­›µnÖº™TB*!•°¾H‹-v¶ØÙ¡M‡6Ú ê¡ÞÎÒ;Kï,­=¥=¥=0%`JÀ”‚xÆb,ÆÒâ´8-nÝîîî›X5±jbÕìüìüì|¡ÐGèCÑAtª  ªÀ#ŒÜ»Ã0"lQEè^:„!Eé^º—ïÒ`è #þ@Ó ;P†a˜Å ¼G2F’¡èFói_ù¦ÎÛàaì’“ª 3FÔ€J²—¯ÓQæÅ[ñó\K+Y#éä´¥ì-“_[FŠË¥+ÎãùaB.—»bx(àJ­]/£„ÿ1T†aþn;^`;ß•ÂwÍþÑx3ûÇf«Nœh¶J»\QG»|äöoGnïÐ=0¿CwáŒrŸp&çǼZ9?ê˜ìô T­…ÞªÖô=DÏA‚Ò<ìV ò`y0Ϋ%µÄëÉErñ~±éý§÷?÷’„‘0UOøÂ—>¶>Æa&S®‘**×\,Y$÷bÉLƒ:9Ó ˜"û)¦Ð¤9ía] ŸOÄ݉³)JZmŠr›c³ÃmŽÍPÅ6C£¦~5u¯ü|Ã^yGÑWö;ŠžOh=ò|‚ãåUÇ9R®HY£"ÃÀG’¶|dïÀàɽÛî,ÕvçÎ’Ï{í,9L}íÒ0uçÈâ‰#—/û&{ù²IŠ)d’âÔë“ÊS¯ù•Üy~¥Û=·{n÷†»wîZO¨'Ô¤ÛÒmé6B§Ð)4„†ÐÛ,Û,Û¬•¶+mWÚ® \¸¦M“6MÚ4ɲ„,á.!&Qù‚D¢Tk¢º~8w ë‡g2î?û`;]n;]‚Nò‚§ZKµ%Á I´ M£eœ x5>ÇýÕø\G³K®ã¯ô3O¼ö…½IÝ&É1ˆxMÄ÷aÆý_¾.ÿ€ó²Ë™Že—ÛÓ¤i§=M‚ú;ÛõÏï,öÊï,Ï’×ʳT¥T¥T¥Âž…= {&f‰Yb–uß°õaëÃÖk*j*j*ê&è&è&ø¿òåÿjvãÙg7Þã·ÇoOÁÚ¼QˆBvÚ5jר'x‚'¨Þ¥z—ê]Æ<ótÌSÕ)Õ)Õ)ú޾£ïBCCqGpÄ:³·ûÆî»oämy[Þ¶°…­î€î€î€ÓY§³NgËv-Ûµl×̈̈Ì!CÈ2>»å¾æ_ F06˽åÞ|ˆ2R™{̾‡}¬,¨ƒy˜g~°Õ-†ùì© „™È@&£ºs®Ün?kF¢`?2 ”ü[î·‘ÏåÂ鑈ÇDÄ'òA®Éµåî’d;ÑÓ×42fáí?.ñË`†ùý´A1´‘xù®Äk(_ilÜÝ ÇÆÝ˽ét°Üöì—¶g?=”±çé¡{¼7ØSµ¿Ïʪý>ð£>ä0¶ÉÿÀÕåêquéMz—Þ,Hù¾DEPjy¤<uýýå>NøXÞøȸ¨dbOìÉ%<Á$XŸNAÉzz¬ØÈ¿Ø(ëÈUY‡»xŠ»ÈFdC´Bi%=¢9ÖS:9ÖK8¦›“pì\\ü÷çâô.æzï@ÛKÞƒ&¥šh?_c?_¼Jk‹W¥{ò~鞣ê£w‰Ôã.ݬŸ{³ÒéR¦Ÿ.uo|jܽñ#œ‚7pj'`vû;(ƒ ”9›qfØÙŒuk×ú¯[ë9ȳ•ç tçtçtç¹m涙ۦ⸊ã*޳/f_̾˜©¦©¦©¦Ãy‡óçt<ÒñHDZüX~,¿âðŠÃ+#1ˆ‘ëËõåútÌÍ'NÜ|ý‹Ÿ~ÀbuÍs‹Õ–ÛrMËm2Ž #ã‹"ˆý‡,a‘=é²§“Ÿê™“ßù†ŸÿqG…Ø‹;*}ØâÍчoæàÍBu+~Ÿº= wzÔúŽüò0d;´d»l¤D6:>Qõw|b´‘ÖmÈ*\"«¤"’Z*bçfçfç6¶úØêc«›¶›¶›¶[÷;lì°±Ãè2ºŒ.Cc4F㜣9GsŽ6•›ÊMåq âÄåÆæÆæÆVº^éz¥ëe–Xv øJ|%¾²¿lÙþ²²†²†²†Ø]ì.vϵ˵˵k¦h¦h¦(8ÚÙœ³9g¥ ÒéíOûÓþÐ@u6òÇŽ#³«dWÉ®"h ¡Ûévº½°ÿæ7‹E,uàúr}ÕÓ,ƒ-ƒŸit º„+§`b –a™ÑýÐ]Ø2 Ãü2((ÔP€Ç|@6v! ‹\d"/ÀѸˆ7Xx…$â5]†ãx‡aÈG< #Š(^âîþ5`ë=Á+¨:Æn2ÿ¨à€˜‘CvFdGð-W»à[Õ{¯v8.,ïq\ØŽá/mw _îø¬õrGŽûytp œÍ€î&T¸g,nò0'ùD$ùÿGa¡Ï™uŒµì`C7Òô bŒbŒ²¾²»²»j1ª¢*J@ %TÏ¿ ×À! §DN‰bôŠaì° dH‡ éÒSš&=Õ:)kkxûòð€]—^íÚuÉæ™@mžÍN«vuvZíö^vµÛŽKã Ç Ä T&^V™l†::Ý›rwîÞ‹¯Vï½ø"8ëæ‹à N®m+8m²kxf“g†Fᙡ3šFêŒÔ…ö¢.ü ®*?£Ô²R K-sžà<ÆyBÀÔ€©S“C“C“CÍj³Ú¬–k˵åڎׯ;^?z:ôt¨u‰î|w¾;Ÿµ+kWÖ.´C;´+˜!üG7g’ÎòÚMÞâì >åì@n£¹K˜ŒKÐ@€æŸ÷’-()[ì̪=vfÍVÁF³•·'•y{aµÍ!aµç‹çe_n¨²/΂ÇÙ_yá^0¡ê‘2¨'æÈ-ÄšA—Ð 4„+B3t4™&Ód´E[´µÎ¶îJ­òi>͇zè9§ãt–þ–þ–þÖµ¯å-òy‹J(¡Öªµj-iCÚ6Ò i…´Bª#Õ‘êp6œ gC“hMB?ôC¿‚OãE\ÄE¾&ÿÿØ»ë°8’µoÀ¿êfpKÁB¢DHBÜÝÝu£wwâîJÜݸ !!B "ï®úþ˜Ù³»ß±=çݳl²}ϵ\³Ý3ÝU5dèêzꩪ|ULÅTLµ…^[»Á[°[ÈYr–œe*¦b*Û^‰ä[a"B‚‚¬ëÁæ1æÀ2Ñýö†½aïq ×pf˜a†?üáo›Œ030ƒˆ ‚ ?ýþK“à%Éwê¯×!Ú.kìqØM–ÇòÈjôC?(þ“iŽÉß±ŽÙª!‡šÝe©ì®eºxÏ2ݸH¹g©ܳ¦ ¦³ÜT}¶Üòfqó!oî÷Î{t¿w•äÒáU’õÞ†Gzï?¤—ôGµˆàJ'ÓÉÔzá•ø#༶:ª‹Å#ƒ<,ð„þo«‘§Ã„t:‘yÒ‰–qÔÏ2βD\fYÒõEð®/Úu^Û®»y¸pÑ<<³¯IÌì«_Z ç ÊMÎâúdvŽë³âðÓ+áô׿p=²+8®iZkÉš¦A+\Ž­Ð¶5>Ò¶Õ†˜+kCØm6Ý&ä4É0›Í‚ÙÜVh«i+xôþèýQÖLÖLÖ¬Åé§[œÖTÕTÕTUÖQÖQÖy}çõ×wæŸW|^ñHm¤6R{Êë”×)¯Œ²e3ÊÚj!B´Ýnûb™0±LÈQr!šv¢‘ƒÈA%T üÃJdF*t'@±hºˆb­Ø!€,ô™%€øÀB|[:ÿŸuìWxŽW¨OT@qÈQ:ÐÙ:ÿzè¡g+Ø ¶Ö¾¬µÌÖ-Öùí¿L͸뱞~¡_èGq§hZ&Ñ$š-´Ð¢  |á _Û\w¤éÃRY*KÍïŠI$Éïï¯×v‚),’l&›ù'dÙÅ|‡8v-Ñv -%ù¯Y»ŒCŒ“¹'™«ø-?|-«ëõµ¬g²¯grkU@xk•ÞMˆÕ»È' $Ÿ`#ì¿áè_·ƒüà¶Ÿÿ\€í¿ÿŸ dü:®¿N·Úâ¢[ÝvrðŶ“ùûhÉßÏœmà3gã0Êá°¢ W[Q%~wΩøÝ»^¿¶ìzýâmæ£oë*|ÖÔUŒ8R¶éˆ#¥’Üû”J2 ³( Ã2Üt+2Üd~Üi™…xóW„é¨(LgoÙ[öV^Q^Q^qÀšk¬‰<y0ò ]DÑEk ¬-°¶€²»²»²{ZtZtZô@Ã@Ã@CãSO5>UlQ±EÅ­ó[ç·ÎÏÙÎÙÎÙÎV ëÌÓÿ}›[)[æçßÂB ÃàGfòf¬ãܰkqkQÕPÞÿшÑVëíEkü·7¼áý«ŽÖ-¿dÝkm± !X`±]¾ÿëz­7¬Þ_nùåˆÖß—GêúJ¾&<ÅSÜ´n2è :C^¶¶¶¿õ›M¹E¹E¹åÔàSƒO ö)ìSاpøþðýáûåOäOäOl“$‰ä;õ×ëÂ(Zìtj_µïÇòÃòÃ…zÓ'ô‰×P<ÆcËv€ôÕ/ù¿±^ôÛC{–K$C •§q yšõ%Y½Í%²zs>Hä|¬[X²Y(”Ò…øÿÇ Ûð=\ÂõÉkjj•×”µÇ)Öž!mø¶kÙJ¾7§â{O ¼«ø) ·æ§€7–̸ÑòZÑà–×”ë¹Êõ_'çÆ}Ìùp¥9¹È¹ÉEv­Ø&G“ã$48‰ØÖ‹Å&ƒ› n2¸ýÛöoÛ¿TqPÅAç¤ÏIŸ“¾ðÌÂ3 ÏÄGÇGÇGç-Ê[”·èTÒ©¤SI—².e]ÊzPýAõÕ篞¿zþjD ÖàÞünÊŒ"‰â3‰ÃgY=a³¬žÃuc{‡ëþ˜Dúc ÆcK~—T"‘ü{ô½@mS¢nFÝŒº¹rÌÊ1+Ç=Ñ=CÆ1¦>¦>¦>b+±•Øj„çÏžýôÐ@V‹¬Y-ø®|W¾k~×C"‘H~ÿËL,N“0IÜÊ!Ú]Ú]WÇš[™[%+¸ÁÜ`ÅHÄ"–…ÚVé|ŒÇxLshÍ!EIQR¹ÈE.q%®Ä Ð D‹h-bŠ˜"¦ &j¢¦u)”ßèh€RŽ”#åðóƒ„üüøÕvë+­+ŽJ¾E8–„\–dÛ0¯¸©è zÛ^Ã}/ÑÏ¿3ë 7¨àÆN³ì4׸î¼iÌ;aêc)‰¤¤°ŠžVíŽiðbwÌ{Kûþ¸wgï×;{ÿ8õ2ùqêe|Á3Jyö«=æibäC41B2;+$cnc‚uTô'ƒH:žŽ§ã |)ð¥À—ì³Ùg³ÏÒcô=¶Ø{±÷bïϽ>÷úÜ+24242´F¥•jTŠ^½4zé-þ‹¿árÃå†Ëâ‹,`N6'›“mµØ„MØ”ßMùOìd±Ó"ð¡Á½f^{Í žï—Tð¸V÷Æpò»ˆ‰ä·âærs¹¹ÖçmÒÚ¤µI{töÑÙGgžxxâቮ\¸Æ†Ç†Ç†¿(õ¢Ô‹R=C{†ö Í1ç˜sÌ2­L+Óæw $‰ä¬1\"øŠ4¤"‹e ™ÈÀWä"Y¿=sÁ_oX 5©H"a$Lñ™L&ó àE5TÃ(ÜÂ-Ü"}I_ÒW=G=G=G¢ч¦¤)iʆ°!lˆl…l…l…ãPÇ¡ŽC­ém ©†TCªe¡e¡e!\á WÛü´2¯˜T"•H%ú†¾¡o===­Û-1–KŒõ¹¼º¼ºÜZZ˜wšwšwrE¹¢\QöŒ=cÏò»)%ÿµŸº¸ ”4ûÅö§¿Ú+ùg~šk­€Ú¶ÅF´„?ZR D-|sro>X_úË`}ÇEftܱ«Ðëó» E>‰‹‰|²óö«î;oi_zóö5NœSã¤é¡¨7=4»ˆ÷Í.¤9É Í m u mçͯ4?ȹ´sçÒ¦¦¦ªUªUªU«óVç­ÎûèþÑý£»î³î³î³Ùd6™MÈB²äËäËäËšôoÒ¿I¾'ß“ï©ÒGé£d²@Y ®ã:®çw#þØ#‡LÄ~2‘v%iWKÞÎRŶ÷9ñÅsRY‰äψ€A4,~,†e  ˰î4…š*›B---m³ëÝà7<Â#,7zäÃv‹ìi÷øÒ¦O[/mšß?Úe~ÿõÓž¿]?mè²Òû‡.«àí\Á[&#çe2Ýáµn@ðû`‡à÷æVæfæV¬;ëκ[Ü,n7•»Ê]å^æ‡2?”ùÁÐ×Ð×ÐW~O~O~ÏZFe´@íµ Ô¶æ¶Ü²Ü²Ü"_ÈòåOšk‡4hF:á.éDjb© à,ßhNr‰ä¯ÀfØã*àþr1²$j‘%! @7šÔáFówùòüÝ}˜?é·“D"ù+ËB2I/Œ%ýÙM6‹Ž3\0Ž0ùZz Ûi¨¹eƒX”]B+\'k¸‰|'èƒxào«ü¿^ô¿Äú°>¬L#ÓÈ4o¾9øæàñ+ǯ¿¢l®l®lŽÛ¸Ûb±ˆXdͰ5ÃÖ ë§í§í§Ð}@÷Ý· Ø2`ËóóóìÇ~ìüÁß2Ö2Ö2V(!”JáB¸nÙhÙhÙhTF…ì¦ì¦ìæÅ}÷]ÜwFyFyF©XòóãŒ÷ï3Þº_è~¡»õ•bˆ"†äw;IþL0‘"Ö§¬ëÄ·þüû½’ÿž¥ÁÀÒ0¥1@>™¼“O›²L±if1ÃÀÌbneU ne{¾+þ°ç»­Žu+oul>Æ¿\ó1KžÌ^ê4Lq=n˜âÎ×/ï|U ü¥ 78½‰e•YQk’$®+וë*¾_Š/õôôÈ]r—Üe±,–ŲhÍ¢‰?ñ'þ–´ŸÖ-Ö½ùÝL‰ä»ó…ð‚´c!¤y?ßß¼_;×n¥ÖÍf“6lv~Q"‘Hþ+ÓÙ$6ŽOäï™w'¯]^öµ–—=.­¸ÿìÎý›âƒÒwü¯‹[õœ‹ “õ”í—9¢>«À|ÿõ!ÿJ#Àa_ÁØWëæŒÙÌ™Å$vÛ¡ÅvtAtávq»¸]ön˜è*ºŠ®Ö0!E„"BqÙpÙpÙÀ›y3on3®Í¸6ã¸~\?®ßž»{îî¹›ššZd™àƒ8Eœ"N±nÖ ë„u­F«ÑÚ§šM‚&A—¢KÑ¥äwóI~'F‰ uYyV¾Ü‘ŸwêÚöj ù³¦JúXg ËÁAÎ’ cIĈ©Äȯ!éüã!È8Æ2œ”± /TÆé`¡2u¦‘ u¦%°œ˜¶7åÍæ½)~nŽýܪw.U½³!OhoȃE ƒFYKbI¶(Œ‡xˆ‡?fb]€çW)‡¹$D"‘ü®Ødû‘w;òî™E4|f‘§üÇ>mˆ~­OúYÓ`q…’¸²ƒxÇÒ‰,‹Nä WŸ'ì*KbW¡šü®“D"‘Ž’Ó䢰Xè,|r×9ìØ½Ë©î' mM},{Ì3„ë4Íd¾h Ì;]»‚ô&.ĺþÅ?½îúÞ;À"Dâ ;âɪ㫎Îl7:c€Aª÷¬¡ê=gÏœ8{6=ØdrŸ¨È}Ë'Ë'˧F§jtjÕØUcWˆÄ²Ï²Ï²Ï箜»rîJ›Amµ$Ä ñB¼ò¨ò¨ò({À°v3ìfØÍx‘ú"õEê>}û<>þ8øãà‚ 6(Ø@Å©8÷éð§ÃŸ+ ƒÂÐfK›-m¶´´´Ì)3§Ìœ2Ï»>ïúÜ–wñ*w•»Ê}=öõØ×ÖUûò»A%ÿgNpâ<ÀÂ-ç–ûTµmŽáfן÷²÷ù]Ðoµ'ª„ J<ÅW.žvæqñ]·—¸¸¯R£Ãû*•ãþ¥ìm¢¹–6QÖ‘Œ’udY0°, J)è$ÉŸxÍtb§Ñ‰<ýÉ#s¨p*˜˜l7÷ Žíá’½Ü@õÅ'õ™¼æyy-H]âK겇ì {˜ßU’H$ÀÖ›uãWÊæò%rOj+kç\îtéÌEOYkYùiKeK)K¨=ïð^S¶hLÉŽ¡¡B€ 0•þׇü~C P¤0Ô¤0+Š=¬(·Œ¨¹eÊRrge)À¼ˆÊ.Ð *;ÍN”f'Uòæ€ æ@Þ‘wä]nTnTn”uþž-i„:è § § §ƒÓƒÓƒÓ…GÂ#á‘8F#Žñ^ë½Ö{­[·.n]Nœ8ìœìœì<£ÛŒn3ºyv÷ìîÙýΧ;Ÿî|û~ìû±ïk?©ý¤ö“7>Þø˜Ö£õh½ê «/¬¾pðËŸ5Ú×h_£½¡´¡´á§òYGTò¿CAY  »È.ZjXZ·ü¼Wò±¦Åâ@Àá+LøJ—3F—«>ò-UíÉÚÙ7Ê(`ü˜Q`Q¥˜ðE•Ú¯:Û~ñ@?â1§N•6sê,iRýþ’&%?¸†–ü]Ó´ »&7ƒàf°Èa ƒð—“·®Š«‡”@.r1͇IùÉ%’?1DZPX²˜ à#,øH~ %ÈÔ‚¢ÔÂ`&{ð5Å0ókJ—„ µ»$(‹ñöÊbÆ@á¨1؉N¼I8ôþ–9E"‘HþxI7Ò“ª©‰¦©6«RU¥JÅ–nWVUäd±!틌+V±db¡¾…¨éy!ÖÆ ²ˆlüׇü~;ÀÖ{œ7ñ…Ý$³É&2[¸ÆÚ ×6{ÅÕßìÕ®Ìi}»2qÛDï¸mÞãœÖy³¤ ,)¤éD:à#>â#çÈ9rŽl›Æ¦á-Þâ-‹cq,®ÄöÛKlßTuSÕMU¦8Mq𢼡¼¡¼ñ8òqäãHÑKô½,å,å,åŠ/R¼Hñ-![B¶”v)íRÚÅ%Á%Á%!tmèÚеµVÖZYk%¿›ßÍï6L5L5L ½z'ôNÍ'??Bχž=o0̳­^âuD%¿™õÆm¨¡&ÛOë–Ÿ÷JþÖ€=2ˆpCÜœ³T•³>íÈ­þiÇÒÖOæ,mÝ-ëâ¸nY©=õΩ=7§Ö Ûœ:£nX¯uË/õàË/Õ4GiêªZèªòI¤<ŸÄn±$vËÖ©¶þü¾0`‡ Á€.èÛ„ðR÷W"ùV‘¾¨CúÒn,vSm“Õ6çåNÙΈØròÑ!»ÂGÕ-õ`Õ-÷rŽmÝËñ‡¸Aü!æÂú1R‚øù]‰D"ù=}¿!Щ0"•µACÖÆn>?ßnþä)÷:Nžò™äuùL¦U«2­B™*nöeª –7@—% Óe‘8\#q̃…0¾_‰¯ä½Û{·÷n<À<0Þ5Þ5ÞíÉz²ž,ÂaŽ0O\;qíĵÖEÃÃÃSSSë9Ös¬g¹o¹o¹o-#Œ0âÒÑ¥£KGë}®>WŸëãããéé™ý&ûMö›_VB~L~L~ÌÅÏÅÏÅÏýg^GT"É/7‘Š›Ì+˜§b¿A1bN½ïçÔ»Ú/iØÕ~•Ó¼jUN‹üPoyäÿhG£´9F 7ljéÆcl–ȳYÜC\âb?ñÇ~`&ˆ0Aî;þžü% ,`AÔ¬0+Œ¬7ë…è…^èˆäÀ’ßE”H$ÿ q‹‡89ÉíœîOø2÷þ„£Õž­.ÛCt²=IÆ™IsßÞº:÷m¦‡±y¦ÇÎ¥né\hˆú]¡!¦ âtÓ"DÌïzH$’¿¤ƒl?ÛÍ•âFs*Ýfc+£ãËFϳbò¾²¶òI–K¢¥¥Ý •æHQ¡Äಇ1—~Äd­vÈïöÂŽne [ÕL¾IÍ¢â>?ˆŠK9§›–r.²SÝ‘d¸“²ÙëÍbözþYËãÚ’\[võaÄKâ%ñ’&^¯‰Ÿ¿sþÎù; g g gq÷qߺ2ðè£7ŽÞxtìѱGÇŠÅŽbÇvíÚ»»»µiئa›†xЧxjL4&Ë/?¼üð õAëƒÖ{–õ,ëYvì±wÆÞ±?oÞþ¼XO¬'ÖÓõÕõÕõµÖ¢}rûäöÉÖçú }>Èš¡úOºŽ¨DòçÄ0pàÁÁf8°£LdG„"ql„"t¶õ„ÿ²ëŒ‘¯`:¾k ii0Tîr~—O"‘H$É_ÌR²ŠlŸWÄ¢êþš š& G4 l¾ÑxÐÔÌ2̼I8E£,r!Iô3´Ó»ëÖGòžìûׇün;ÀböB¬#_ (*_p´|ÂÑþMÚùjÒN¾‘Ÿ-ߘëk^—ëË+Ic^‰æP£9#,…ÈÀCÆ ±B¬?›ŸÍÏÞ¼-x›©£©£©#W«ÎUîw„;^^^cæ™7fžõŒúÁúÁúÁÆÆÆ^ݼºyuƒXŒÇÇÇ:t<èâåâåâeºeºeºe]؈ÿÿ!´-F‹a&`‚Ð^h/´·Óë©×S¯§Öç–\K®%—舎褕ú$’_©/Ô ¹˜Or-'Ä¡–ÓÚT Ö¦ó¦¬W7JX}4ª¯ìrÛ¾² =+Uè8´I¨qh¯*Ê^Uè|Fè|ôƒúÁ®ðÀ\Àº›î¦»cŒ1ä"¹$—ä’\n27™›LZ’–¤%CçÐ9b3±™ØÌ:u‚¿Íßæos7¸Ü ºƒî ;¬ój¹V\+®;ÏγóÒ™ürÈÉ8Ä!NèEn’›N{Èv²Ýu*˜nà N\Y`ò» ‰ä?ï#eøuºq½n\……ÞS+,¬\=,£[î Œn×ï%μ~oj«êg§¶¢_;úU¿ß°W¿ß<]äw=$É_Ò¤ ™,&+EÐôǼy7rMW-q¬eeµØ‚ÎcGØ-ì"È~4Faöâ_ò»í£. ´ÜBhÓÇ{¥³¯)«k_“/A<ùâcvL|,jØ Q#Wp¥å ®?YÇõgØ[vP˜˜Á0Ò0Ò0’÷á}xë:ŸDMÔDm.c.c.cxjxjxŠÏøŒÏ¼ïÄ;q׸kÜ5ë` p±\,+2‘‰LÈ2„ îîîÖƒõ`=L9¦S–c9–[×æÒ¹t.ÝZ ë ¢Öçœ?çÏù³cì;–ß+‘üÉä‚\ë:ÀÈ€2²]Œ÷³] ÷ÒÜ*ÜkÌþбcöw‹+Ö¿[Üfßg9›}úÚ0Ð÷¼kŸç]ó|LOó|¸ŠÞ¢·èMJ¤„uK~7Ùßa`,v°#uxñ-öaŸ% ½Ð‹ï";ßE”HþR¡G*™A*‘–ÓâmËiº ƒé&tDt´}×ýªfÓ©Ú²‘¶´l´l¡±–-ô ¥W±,`º)†šn¢#–¢£i³‘š6çŽ4VΙ¹Ö´!sm#Ž; ѶÕÚiÛæ,5 9KÕžrµ'_™¨ùÊlK`Ûò»Q$É_˜5q ’‘Dú ?q¡\Çq/¸]l3÷ŒÓ³`Ö“Ncûð‰­£ P Tã??äwŠ(1Œ(Z ðk¦‰ðk–^Öè‘^–ëAB¹Iöj$4 Cƒ¼Ë†°¼Ë"Ä6"HiR˜”fØö¡E(g䌜‘½cïØ;Û¡ó‡<òùü`ýDàø£:ª£ºulöWëÖbµX-[©lyf~¿%-H ÒÂö?uQuÙ]v—ÝýåëmǑ֕Hþk’*k.h(áÁ"„eŒOãÈlÄ’Ùmì[y´µ¢D½Q+ÌåÏÍ噳lsFœqâpÁ=!A¬=kÏÚ_}zõéÕ§ñ-ã[Æ·¤Õh5Z­È¢"‹Š, Ÿ>1|"Nã4Nñûâ÷ÅïXì±Øc±b¢˜(&¶+Ô®P»B…nºQèFZÓ´¦iM­ë~»17æÆ„`!XF6²‘ 7¸ÁÍz›ìOt-Eäã 4ÐpëA@°.¿‹'‘|ÿHkR‰´¦7˜½áòV=Ûå-×…ÄuÁV àøÿý»h"SÐDn Œq] 9,s)d·J¾Ün <Î;Þò8¯8̇a]+}N`…'ÐÓÇ»¶}~¼+Ä48¨:ä]ÖŸÏ»,ÞkŠ÷É6D¶±,E–H$ß (Ä¿]„}'x®9ï`ˆ550Äv-_4¸kùÅî;/v/ÖÀ¥g±·æ%‡Þšw¯÷—¹÷zϯ>~àáΛƒ‡ŒBWƒ‘ßOCH$Ön¤"Ì+BHq,#Å€—îQ*ÜÓ% ‡tI´“lí„hvÑPA ­OËÒúõê9Ô{ºòéʧ+Ï,;³ì̲à¨à¨à(âB\ˆË¾Íû6ïÛ¬òWù«üË*wªÜ©¥K—.]ºTóZóZóZÌsÅÜÅ9‹s笋Y³.æXßc}õŠ E…¢c.¹4æRÖ¬Yd­d­d­èRº”.EmÔFmëmµün>‰D’ÿÄî4Fìîè­8êè=üÖ•Ão½9=íÍi;OÙ3;O¶CÙâ¿ëʱ®Šüuʼnäé¹úäé*fOýP±SÃ;5ÔU¶ÌÒUæÎ;cˉà %\q qPœH³Ä‰Š¡|cÅPm³‹¶ÎŠ&5\W4):ÌùaÑa†4¡!Mº.’H$ß”PBg8ÃiAï¡#Ì¥á—f,/œ7–¯á5¢R„ç$ûåž“:¾:/ïøª^„¶^D}êë\Ÿ:ÞU”v¼+øÐÊ‚9…ªäZhß5H$ÿgÖ«65äP£9 £9מLáÚŽÍ"šÃÍ!À [Ë­åÖš{›{›{:QèD¡ãÿãø=Ó=Ó=ÓeUeUeUg­˜µbÖŠ›ïn¾»ù.qEâŠÄ|¾ßgAá…FaFááO†?þdßµ}×ö]Ë]“»&wà/ø þHA RÌr³Ü,·Îù—ëåz¹žÝc÷Ø=køt~7–D"Éd<‰$ãM1bmSL›_´ù!'Õ¼/'•ßDæð›pKpá¼í3rñ™Î@O:CŽPF©>ÊÆ«>f¯2¹f¯â‘+ü#ÌÄÌü˜GœÈkâd'n4s QŽt ±xÑ./2]É€ün‰D"ù=ÉPåQL!?’ÉhНì+äpÅ„ü.Øÿ=ޱô¸¼(R^ômrö…·É)?ꎥüÑ´òðˆ¦1»Ó—Äì>ôøÝCkw(”Q»ƒw/{ï^–¦ô¤¥)Z|ów$É?ÂààN`›‘ÀÈR²”,GŠ#Å‘šsšsšsì*»Ê®’]dÙ•ø"ñEâ‹Ou>ÕùT§í‹¶/Ú¾¸ÒçJŸ+}Å Š“«ÈUä*¬3{®¸jàªýü~~?¯§§—Ü.¹]r»Ø±5bk,Ÿ³|Îò9]žwyÞåymÿÚþµýuWtWtW¸R\)NêK$peÈ,®ŒùÕšoÔi죯ӘûÊíä¾â«‹xG¼ûo3"F¨p*TDUT¤ÓX9:›Eªp³àŒ pFwhÐýŸžø.æá.ÂI„ç]6Ûç]ÛÒab[òÉK¶Ú4ò,‘H$ß"nán±ál[fo˜aA×ü.Øÿ•øŒíŸ97Tî*õ¸Ú®RÕ›$Õ›þð°äÅ Wi¨p•;G>pçôó,+ôó „·†FÜB4ⲑб‘ù]‰Dò»³€Á:èÈ[”Žð|XsÖœ5ç3ùL>S  P>}4z›y›y›¹qzãôÆé ë7¬ß°þ1ÇcŽÇ?~üØ °A`´A´‰ÿÿ!þƒ ‚Âu´ëh×Ѳ'dOÈÞWf_™}eV„­[V#·Fn\}€>@À5är ó»Y$ÉŸ»ÊÙU®8\¹âÚ*æÚÚ*ììØ3Æ8Æg˜ñ¹0#y efhQ@5Íæ³h¶CÙÞ›<æ½ÙbÃǨáx¨à †j[ŒLiÈP÷‘‰ûÜs\ãž“Ç(O³ÏÈfŸa½y(‘H$ß ( ‡j¨AAA¿ýðg`‹Ùl1À^˜2¹&¿õš0¿õlû‘íÉymÞ™ó:»˜©ev1±2{!V&çH rŽ}€VJó ‘|‡(ñ‡r6á·Ü…ÒyÈÃ[z€ äÞro¹w|z|z|ú‚Ù f/˜}vúÙég§0:`øÓáO‡?ÅlÌÆìV­2Ze옽cöŽÙFÑ(EcccŸíO·?Ýþ´}çöÛwþzøëᯇ»Ÿî~ºûé™±3cgÆ^©y¥æ•šYW²®d]á{ò=ùžh‚&h’ß#‘Hþ4Tà¡bï¡eïÉ.'»ˆ#‰š”‡)Or1äò«ˆ¿J¦%‡eZ¹™ó–›iütEšbW[1Ê¡“|šC'ge°³¿ì=g‘½WŽæ/*G+šp•MäÃÉGùpÞ´æý¸=8Îí!MàGšT!~/:€IDAT\4npÑd BÉ–ˆ<–¸ï7aªD"ù“²NaÁÀà(àwØ£0Ü`?xÂð‚EPEA¨Q ¡AIøÁ*(À2kæáÿ¯w+ƒ ú·~º º¬9`¯”´W ­h°ÐJ¼Á¾ˆ7Ød¶„MÆnÔÃnÉQJ‚1¿‹.‘H~W Îp ½«¸*¿KŸÓçå-HF²Ð›-gËqY5N5NÙ%epÊà”Á§œ:pê}å}å}e±NÅ:ë?+~Vü¬eaË–…-ÌX˜±0£ñçÆŸN‰H‰H‰hÑ.¢]„)D ‘{wîݹw…Í6WØüÎÿÿ;ÿÒ J7(Ý 9kΚ³YõfÕ›Uïaׇ]vmV¹Yåf•s•¹Ê\%N^‘H$ÀO9íõ ·ŽÓª |'•Aù_RùÝÈ ÑÆ;â[ãS¦¸Ë”i‰¡~–sw±·¹»Ãyù‡ó—Î'¹tþܰÊsÖO«¸|Zª½¾iª½j±,UµXÖ‰$뤜ſRÎRÍ-UÍPîãÎ*÷Yf°j–&OÁÎä)ÎdÄ™¤(ª“¢Ö®x~7ŠD"ùË0 £0 ÀŒEUÚ˜¤]ÄsÔ…"Õà -ͦ©ÌH½©ÝIÑ‚¬?õ öì-Í£¥Ù'ñ-@cÙv¶ƒ5E?"ˆí2˶ Ïw{WëBÀu¡û,·é¾†õ}cÖ¿aI.yÃÒvLк¶cÜ—Ûop_Žää]6åå]§Ó™âtR‚x’ìË”Æ%’ï´ÐRoTFe¥çËù6/ƒ—xi.A‚H÷Ùa‰°¸¹¹^vxÙáe²õ²õ²õæ æ æ F³Ñl4ËärÍ&Í&Í&CCC•®•ºVêZ©I¹&åš”CqGq—Ù.³]fçäääää4ýÚôkÓ¯¢ZT‹êœU9«rVMȘ1!C¦Ó‡é‹ê‹ê‹rƒ¸AÜ ün ‰Dò§a„#ñ…šø²›Hb7? ÈíúaÀç5yµ>¯ùX77úcÝ$™Ž$É’—çI^žµÃ융#§•é]N+S}k Ê£÷Ï“R=w^Jõxí¶x±Û¹÷ ×S§®g—"‹±K¡ƒ˜@(ŸßM"‘Hþx…P„”Áz6œÕ—×½ç?:ºªïÚ5•4g eàdä‰"MbeM×̓µyƒ0”æ‰EÄ‹ô†(Òô¡°UèD‰ýUœ² ENà‹h‚3ò Ÿz¿Û0ÿ””åŸæ5§æm¨mtí\Òókçx|lñ€¢]œ‹í’RZ?3¥tË®þ-»z”³Óz”³Э–€ü.»ä;e.p‚×OHAõ‹½=þ¶×ˆL|~ù»BAÁA %ŒhŽæØ ,XøÃ—ù2_Ö?Êå:¹9¹9¹¡*ª¢ªCg‡ÎÉD2‘Ld˜ žωçX Ö‚µ ‹ébºØµ¯k_×¾„A$–K‹¥± ˰Œ³`ÌÝânq·X2Kfɦ ¦ ¦ ò¶ò¶ò¶´ íB» (Š¢(ôÐCŸmÃÈ¡ð ïöéœbÎ{…3  °à ÏÏR"ù®¥@‡¢!SˆF|MWˆ¯7nx¡Û¸!¾Iöªø&žÏíŸ{>/5É•+5©\H@ër!>›.ûlòð°ëåáá£Õ<ôÑ^ðqïÅ›†½ÈÞ4ìðü6ÅÏONÈ8’œ u2/Ð:}­?ýetœœØ„9qG2{ǹê˜Xÿª#É!#HΨˡ³G]O(ð%†åÆ­8‚›¸H°Æ0ˆ1bšN›³-¬ÝLyDZzLF—³ÁŒ}ñúzNåb+Dâ­|-Žx…?ÅùÊlCÁäÿ J\‰+qeÇØ1v [±[É5r\c ,%@0à 3 $$¡GèVƒÕ`5È\2—ÌÅ{¼Ç{’NÒI:Nã4NÛ.Q~2eÉÚhsÕh~¨jt§èà–¢[l?ñ¨ÅvÕ3ÅÕ3må¤ÚÊå÷÷R~¿Ï^MŠÏ^ÓESGÓEÄ"…#þÁÌ0Äø¬%k Æ:³Î`Ð@ü-@ÿÛÆC°Sl(–ã[©šL€b<€XÀŒœü.òw‡ƒÙÈÆ~²&˜X:J в‘l$)<ž ÏÑ ÑÖèdk~„Gx„G(‡r(‡ê¨Žê¬ëƺ B‚€wx‡wxЧx Ox“5d ÙO ®Üà7¤"©ô6½MoÃÖt\ÐýÏ¿{ÿ5€$¼pš¼È;Åp0®8ôÓ¿<:›†Cäb¸DP0dâúWi½ ÎD&@v’àÈer`ïÙ{J(ó­Õ$’ÿ oØÃ›õÄeÖ“¼!?’7×—82p½¯“ã_'‡bªãÅPZhˆÒ¥eQZÒ˜%Í"—Zä˜ÎŠcºN°œÔ ¦âiÓF´ÒÐZnÏeËí}Ÿ¨Çù> ˜«Y0·–ÏãZvÄ]©!QygÓF!•^Fª)KmÊâús¸þª&Jª‰âââmOÛÓöt]EW___Ð4šFÓH{Òž´gi,¥åwóI$’oHÊ"K¬AOÃΡ˜â<‹Ïv\š3Á}ô_ÜYK»Vì3)ˆ;$ ‰'LX€©øLb!ºâ8„ d‚p•aå‹•ž´«YçºË<úíÍä™ä«ì CøÃÙ.ï Ðà Ѓƒú4MTì»Æ®‘’CrÈb²˜,¦wé]z—xoâÍ2Y&Ë$%H R‚•cåX9»x»x»xeŽ2G™#Öë‰õP5PÃÐÙÐÙÐYœ'Îç‘A"X:KgéÖS±’ØÏJrµH2W+k¢éCÖÄ ŸÞ°q¿ªÙéýªâ‡œiñCÚþæ×ÚþœcP§Ÿe1ëgq§È+îÚ"móû×௅“`€MaSÀøÂ|a¨”ÕÉ=Öa€—x Àöù]Îÿ’µ«pŸµÐ‰ŸÁ]‡¬ÚpTT:“ª¢Hnt`²ÕÊ€ñb Íq7¿ þâ@@à¶Ëµ [×z®<ÊÿÛ ?ëë]àT@TøÕ^8Á N¿Úbí[‰móRò;ó‚€<€$;ÀrY8˜wÞ2‚w{oä¹+RÒ`ïXÊs<ÈDq‘£6) @ó?þ÷h€@@° «˜ÙtÎtYâlq6$„„€±–Ïm'‘üÞì ƒû]a?pHIn€ßfG•ßfÓ[Ñ`z›>'·{úî ¹Ê]!ÉH"É$‹Ô$YŒ²âŒb6&a6·…¤p[H 2”HsS‘€©æÚ¢Ê\[ô䇈žÙ‰ÚˆìÄÈûÛÞEÞÅ¿:öŠ·ÿ ëmÿ¡åÅÖ}Z^¬žRÃX=…^[Ðë{'ì­ºwÂÆOl«ÍËŒ M-<œfÒîTM4n-Þã rp ©¸€*x-²p<¶ >î°}hÅB½ä”“Cbæ Q¯f±}¨„dÔ‚;ð Ù:½!¨†¸¡J@O0übºðïç3>ã3I $A\+®× /„ •«ÊUåjéµ¾ua]X¾_¯ð®è»¢ïŠ&¤$¤$¤8-pZà´±ˆElÑkE¯½æPÉ¡’C%º‹î¢»l+z1Ó\‡+WºßüòáÖà’ ·~%-üýçµðg‹0-âNáwÊ0HÈ3 Û2AlKv£4ÙÍÚBϤðŠ dÁ8{ÎòÜŒÜ Ä¿&¯ ;(>ä¹€ŸºÁß"‘}X*i ‘Š8˜¼¹Û®|±ÂØgæ ó#QÝŽM­P2"”L#V‡%p€o~_òÖüP»\°wå>‡ìãúÕvÈ”ÏÏýŠ7ŠW²X¯NC‚°“î‘{²C¡Á`Ä•DüOKUEAØP6f®× × ¶+ØŽ4ÔÌÐÌ`i4æÙ¦ð°ün>‰äwEÁ@'²}ì-Ûg&v4 #ÉèK’å7¹6ò›øÍñ£-]Áf!ŘÀfö0ÁFX`PÀ%Ö—ø—üþ¥XHˆ ͯQo~]ó óaóŒi›¦Ü™¶)vBlÏØ ·cî¤ÝŽ©ú¤ZªO^Ǽþú:æjêUËÕÔgnœ¹q&sWæ®Ì]‡Új¨}BdBdBd%Y%Y%™!Îgˆû3ÜÍ“H$ß°˜À¡ ì)£È%ôÎf¦ÕŽÒ…š³h8C»“3\9Š,ä!Ï6haýÚqðÈE.J±«¸#o¤¸GJ˜ËÒ>ä<™‰; ¨…«?õmeÈCÓ‘ ¤©€4ŒCE¦CrqüïÝfØv@}S}S}ó.¹Kî’‹3/μ8sö„ÙfOÈ8“q&㌠2È@hMÐ$h4 ¶,ز`KÖò¬åYË+”«P®B¹K?.ý¸4¸Sp§àNÃN;9ì$é@:,•¥²TxÃÞÔ“•£ž€¬p×ð%ö®¡ãæ"‡;næ_’üˬ0SÓ¬0RHn4yÌ& Ј,`‰Ð²DHëÝýáÄ\1f§ªNUIá=÷öÜca‰/_"®À±ÇPÁb° ÃflþFÿºÊqÀ6âBÖ± \.?ñC0ÛÄ“ÖâIq/Ój[½¹-«KÛ@Fšó¥À °vù]ð_±^Ýä!yH@lQ#ÖQÐB(„Bp€Œd$#Ȱ½+9ÈA_øÂX`ùSŒJî³áÈ‚}Þ¤÷}ØYsrO”üjî3güj|ñ@¬›0áz4|,nv/A‰H@ÄmÜþŸ–j6€ÈÛËÛCL>—|ÊBy…òؙà ‡:snæ\èxðÒ·õŸ5VÂú‰LdÚ¦,ùÃþð‚¼l‘hÖ(‰D$"Ñö=óË8‹Â(ŒÂ¶ÛÜfˆ0à 8‘8NvÚ¶› Àþ?ËA“hMÒDivh¢N¯9½æôãWcšñë‚ /,¨*¤Ò« ù4/TΧy3ÖtY3¦|¦|¦|–•–•–•ö2íeÚË´Ý/w¿ÜýR›¤MÒ&‰þ¢¿èïôÅé‹Ó1BŒ#¬×]ùÝd‰ägM‚•J”‚=¹(" 5׆ÛG¢Q ¥È[ÒŠ%¾¿êÿR.r¡…9†$®5—JâˆóŒdhȾbÁ ^Ä“E²Hv[1†U á‹¡ØÂï[/6ˆ bƒø©üT~jF‘Œ"Ež|zòéÉ'ë^ZV£Õ¬Ï9'ΉsÒÖÖ3~Ìø1ãK­*µªÔ*ÙvÙvÙvëÈj‰Õ«%v¯Ý½v÷ÚW<®x\±”°”°”ø_ÄöÞ­C,[GÊ¢)+kÀu•5™HžÌ$4` …¬<[ÌÊà ¾p²-? ù#Y;·ë°Èì“Ùèܯs?*ݽtwÒ-cËNJ‘RßèÅ®:q@,ýt¿âh¼¿3plÛwRʼt€ôà~/aé´žp<ÔðËï‚Û.7­_1oðohDˆˆˆ“F¤iD/ÑKô’xR<)ž´^Úrƒ¹ÁÜ`®:W«ŽP„"”L#ÓÈ4a°NXǪ±j¬ˆ@[Z’¿6s›1Étƒ÷¬Äíμón«éAZçgu Uk-Š(ïâø¨‰‡èG,"ó€‘ (…RÿËB±"¬Dâ@àõ|àólóÉE'a4D\ÅUö ¤YÀ*¿ì ª¡†Ú:×\'×Éuþ †?CÞ7äÐ[è-ôfûÙ~¶ßšN‰]`Ø.•KåR¹‡ÜCî!r‘‹\q†8CœÁF³Ñl49FŽ‘cì-{ËÞJ)—~;º‹í¢»H0™M‚cÇÇŽ°3`gÀN§H§H§Èô“é'ÓOÊÊÊÊÊÊ £„QÂ(ÅÅÅ® ׆kÃ:³Î¬³QeTUÊÒÊÒÊÒ—¦_š~iú½í÷¶ßÛ~H}H}H­¤¤ô÷×¢‰Dòç$³ÝsµÞa5Ã…¸@€€Î¶ˆ_Ê_¤,y‡wxÇmà6p¬ˆñ HB’È3òŒ<6 …źëV¬›q¤q¤q¤Ì$3ÉLo¼mð¶sSç¦ÎMŸŸŸ™Š©˜ v°ƒõh\2yÌ%Âs ¼«÷Ýð®Ïže{ö¬M¿ÀmmúÞ Å ïµó͵ó]/¨¾º^PôäÖ*zÒ#l$=‚²pGÙüþhþb\¬32€/Ì´‹´‹ðÉèiôdïtëuë‘Aî“ûßhØ:à¢úŒ:À\8·Æ2|çÁ'p©˜ V»:4Yí³›‚r%È~ðÁË×`ÖtteIYR–¾¢¯è+ùrùrùrí~í~í~ÓeÓeÓeuš:MfÈþý!Q&ÊD™xJ<%žÒvÔvÔv¤é4¦³0ÆÂœ?9rþ„(¶1aéŠéÏ <™ ÐBoÆ»ˆþÏTïÜ—èöºñ«›W6ÜýX¿ÉÅa ¾êÓÇeŽâÉb>MÈJDþ/ Å¢X¨C–C\så4ÂQ~?Þè‡~x8H±B¤ iCÚX&)ê+ê+ê‹ÅâÀ¬¡YC³†ŠQb”e]0ÌÚ¡¥hÚA6J6J6ʬ4+ÍJÝ1Ý1Ý1ò‘|$ÕïÕïÕïe™Af›ŠMŦċx¯_fýük¤ú‘~è ‹¦—¦—¦WŽoŽoŽmz YF–‘eÜ,n7K½B½B½‚¸â½ãÞqïj]®u¹Öå!AC‚†Y__qfÅ™gî‘ï‘ï±åƒçZq­¸V8‰“8™ßu•H$’Ofë芿xü|Qñ{ ?*;bGìD¨5ÖåCÌ*³Ê¬BGtDG>šæ£eMeMeMé#úˆ>JØœ°9aó‰v'Úh÷`ȃ!†ü°ý‡í?lwè8Ðq P^(/”·)xÒ–÷׎0w֎趨Xz·E?>¸nøñÁø;wRÆßIóÓ»§ù}ª?üeèò¼[–çÝê|§èVÃS!Çð””Åj"u€ÿXX~zÊ‚Y0ÀŸàO@. —…¿‚_Á2HKÒòí[)ˆ €ÂO«qâj*͈̟.à#kÀ̲ò»È$€ZŽ–£åìWÛ¯¶_}¡Ö…ZjmŽÙ³9Fw@w@w ¹¹¹ý öƒÚªÖ¥Z—j]Ö¾_û~íûW'^xuB©ÎTg^3\3\3tòêäÕÉkNøœð9áááá²ó²ó²óù]Ë¿<#K ÇCä'X_Bš‘ÕÄÿéúJ¾]t7ÝMw˺ȺȺd.Î\œ¹xvÏÙ=g÷tíâÚŵËÖà­Á[ƒïº?èþ ´ÆiÓï-°·ÀÞÊÖÊÖÊÖÆrÆrÆr«7®Þ¸úŽå;–ïX¾¯á¾†û¦½K{—öî¢ßE¿‹~N-Z:µ'‰“Dé/õ¯Yà €¥†sO0œ-“­eËVà¾pþÜ]I]I]ɲÛÊn+»­Ýªv«Ú­Z¾où¾åûV® \8ýéô§ÓŸîXºc鎥¹Ù¹Ù¹ÙÁÛƒ·ow{îöÜíù¤¼Iy“ò"‹E‹,¶ uAê‚Ôϵ?×þ\Ûzrz˜¦‡ó» $‰ä·úC;ÀÖT[bU±ªXÕ³™g3Ïf/=¼ôðR§Í6wÚÜæn›»mî¶Ih“Ð&áŹç^œ;çyÎóœgó³ÍÏ6?{¹î店ë~?‰ŸÄ^{ìupéñ¥Ç—ç{ò=ùžd™@& )H±ž‹Îg:_}Wž¥¾{Á-±Ñ7s&íeÎ<;¤yÌÙ!­{D·îiÚ)Þ6í=Ù6Ñ“4 +I–Œ<–œßÊŸ€5ðµ)D ±ÃbhÍ¡94—æÒ\ÎÂY8z zØ’}ÅW|e÷Ø=v‡p‡ˆ'ñ$ž¿¼å!±B ýÛ–LûÛO+ëÞß?ûI\".—Ø+ìöг©gSϦÖ[Xoa½…Å[TlQ&—ÉerõüêùÕóëüCç:ÿà6ÍmšÛ´&Û o2\ÕOÕOÕïHÍ#5Ô´Ž ÷»ÐïB¿ –ÖÖÃ|E¾"_1¿ë'ù ØÃ ²×ñ˜Ì@_Û^²a‘º¾’zPꡬ¬|Ë|Ë|Ë\àn»îN:8éः¢§è)zê¾øøâ†††òNòNòNù݉Dò[ÉþÈ“‘5d Y£KÖ%ë’KдݻaRw¦îLÝÉð|€µãä6Ñm¢ÛÄJé•Ò+¥_½xõâÕ‹æqæqæq¹‡råÂp Çð‰… '²¶¬-k‹s8‡sÐ@õ\b}'Ö—/VË›?ùؼzµ}Ôõjtj8Ðÿ¹“¯ÿó.óKj»ÌÏ;¢•wÄÜSaîɽ$s¸—ìÊ>ä÷G“ŸH $ÖÔJ“Ò¤4Ù´+hW2È c9,‡åèîéîéî‰GÄ#â|Â'|R4R4R4¢Q4ÒÉt2l›[®…ö>É7„µcíX;<Ã3<{<ðñÀÇp|ÀqÅ*Å*Å*k\Þ¶¼myÛäååååå­ÓLî&w“»5ñUñBÅ /$»%»%»¥¯¢¯¢¯Â­àVp+Ø vƒÝ°&¹ÉïZJ$’ß;ÎŽ³ã¨ƒ:¨órÅË/W¸”s)çRŽ÷ãýx?S–)Ë”EÓhM+³ Ì‚2 â߯¿k¸c¸c¸ã4Ëi–Ó¬¼—y/ó^–jTªQ©Fmµ=ÔöЙªgªž©Šø€¶8/é{ãïuÄtƒ9™l?ÉT×~’O‘¬é>EðñŽÕ¢›Y-ÙLE”l¦e†e†e†®£®£®ch|h|h|¥Æ•WjŒm؆m:µN­S U…ªBU´C;´ 9r0ä`hthth´õêËzËÛ¼Ó¼Ó¼SŸ¤OÒ'qrNÎÉÿ:)º%É·îí·$-IKÅ¢X¯åµ¼¶ò¾Êû*ï“•••°-{ððH§ÕiuZîwˆ;ô!èCдE[´µ&Dz.™`jjª££ƒ9˜ƒ9°‡=ìm 'tÀt€–[mz{c¯ôöêÛòxõmÄZ² Ì©ÆJ™SI¸¡$ —)¸-2ñ&»ˆ7{É’Ø·ºÖìïˆM`Ø~;¿ßþŸñ/¿|üò1}LÓÇštMº&½Ì 2ƒÊ Rù©üT~Üîw$uPê ÔA!!!v;‹…^¤éETATù7§¤ ¶ šêx×t²‘ÍÕ„ 2XoXçK_ÿP$’D[ª£r)åRÊ¥D“hMj®©¹¦æj¢&jRǨcÔ1©uRë¤ÖQ:)”N¦5¦5¦5®ï\ß¹¾+R2¤dÈÕÕU”,J%ë×!¯CÛ¶°-è€èßµüî0 rpã9²ðœ5B=Öˆ–f5hizš¥§ÑgÑž]B"»Dº£éÎf0;6ChHW ém¶…ÞÆE|ÄÅ¿Sº¶•ü[¤>©Oê[Ÿ—4•4•4]ô¼èyÑ3'>'>'Þa¦ÃL‡™ybž˜'^=uõÔÕSAaAaAaš-š-š-Ú Ú Ú ¢·è-zû5ókæ×¬ßŒ~3úÍÈ|›ù6ómôîèÝÑ»Ã\Â\Â\òÚäµÉkƒª¨Šªù]ã?L8 “¬ÃF²ŽVánÐ*†™¤ša¦uç°mÃ,ö5Õ<¼ù¨N-:µèÔ"ä‘<’ššº}ÑöEÛ _9|åð•–Ú–Ú–ÚÖ\Üx÷x¯_ª_ª_š7+oVÞ,r†œ!gX,‹e±Ö¤Yüþ€-gËÙòün‰D"ù­þÐ@K–Á2X†õ$“1“å5Ék’×$+%+%+%K—¥ËÒe…g…g… …‡ÂCó3ó3ó³ì=Ù{²÷d÷Èî‘Ý#+7+7+7ëuÖë¬×º–º–º–ð„'<Õõ%†%@Ÿ~4Sü*dh!Za[-ìãKsíøÒ²5\¶l ž¢3ž²{ì »;È~Ê#ýW&v»Š]Ö:¬uX;´ÐÐBC ­º¸ê⪋ۗo_¾}ùºâ늯+¾áΆ;îÈÈÈ|Ô}Ô}Ôµ¼ÖòZËkok¿­ý¶¶}1ûböÅØ86ŽûM§TAE€È[òVYЉ¯øÊúƒ÷ün•¿"ÙÙÙíLíLíÌwÜp'vmìÚØµW:]ét¥“[o·Þn½×[wnݹÈ!‘C"‡˜G˜G˜G¬j²ªÉª&÷{Ýïu¿—õ8/^½xõâU®&W“k‹ÑÀHŒÄÈü®ßw„‚ÂF\G®³hÂZÐ̉ÞPõãǪú¹6U•umêî¤^ìîä~\ÓÚý¸‰Ü7k\Ü7»3¸3•—¢°ÊK‘ÍMVdS9+Jm‰mXt, PXll‰äïðçùóüùœÖ9­sZ7Üdp“Á!¥BJ…”œ48ipiMZ“Ö©…S §n“Ü&¹Mr»uîÖ¹ëèèø©Ê§*Ÿª,œµpÖÂYï½Þ{½÷J0'˜ÌÏ 7iL“æë„¯¾Nx^ëy­çµÄ41ML#ŸÈ'ò‰]aWØ•_}¾ÿ‹e±ô,({Y‚,Ao©us‹B7tsêŒxÄ‹+ào3%r›Ü&·i ¡!NÕœª9Uë«ê«ê«š»a"ËD–‰,#ó‘ùÈ|Fs£¹Ñœw®w®wn£îº7ê¾ûõî×»_ìv°ÛÁnyÁyÁyÁ---¦‘¦‘¦‘Ü îw#¿ë÷Á oØoVÇYm‰—,R¾—K”ïU´än)Z2®0Ù㬯wg=¸“ÚìÁ×ã³M¯Çg”5†f”5Ž Ø/“O³_æ¦ÚåVISر’FfÑ6–YJËß;”0à«"—¯Ê` @ÌLÌd4BÉhööÕ6Ú,ùË#›È&²‰UeUYUë-ïÁÓO<-â|Äùˆóý:öëØ¯ã—÷_ÞyžžžüuÇ×_wd5Ëj–լĺëJ¬ Ë Ë Ë›{rîɹ'…ÛÂmávK»–v-íjt¯Ñ½Fw­³ÖYëÌÍäfr3ó»®z~ðûi-yç*ÎUœ«´$-IKq.â\Ĺ½{ö:xÏòžå=+ìIØ“°'QE£ŠFmáÒÂ¥…‹5zë\}I$ÉwáíÿÈsÜ$ÏM~b˜É/ôœG`è¹z#}ÕÙ«ST^†v--ÚµÂ#à œb”NN1x {¼<ðp†ýß²Iÿ5Y“WuC7t#µH-RëÕ¤W“^M*µ¯Ô¾RûŽÏ:>ëø,Ç/Ž_¿XÖZÖZÖÖ®Y»fíš Ò¤7HÏY™³2g%7››ÍÍF6²‘ý[NH¼‰7f÷œ›Ã͹h"×ÉõMp×=ߣŠè‚€ßijÉ¿ÆâY<‹çªqÕ¸júÝúÝúÝU½ªzUõZºq鯥“;%wJîT©b¥Š•*ºÔq©ãRG'êDX#¼FxðÂ= ÷,Ü3åhÊÑ”£W¯^ñÚëµ×k¯áááßïÆw³%N“ü§²aB6éCJ>â&ˆOx ç ZY-mÊW]£”¯Ç%<>6èÄ«÷y'^y(íNx(CÖ»L Y_®½{ÝríC½Cä+øò¦Uâ{Óª¬8c߬¸W ²B^5¸óþEú÷é­ãüÒ[ÜŸ0½àþÚfÇÆµÍ.^*/¯¼@Ë¡¼@¶ÛÙ®9Äu`»Ùk¶jÈ¡Î撚ä'–Ä’X©Ij’šLÅTL%Ìf 3§Ñit®]#º†µ[þ^ù{åï`€ÁvË•FÒHÙNÙNÙNYr_É}%÷±ìûPübñ‹Å/ZºXºXºØ–Þ G8¡‡úü®ñŸ×ëÆuÃQÅѺûë¿Ó¸Nã:3åšrM¹}›ômÒ·‰Û·3ngLѦhSôàðÁáƒÃËËËùl>›ÏÎïH$ÉÿÊwÛ†ô\b¹}WËV}× K>°0(Ã)0(ãDÉxÉ’]Î^ÍìrörŒídØN¨¡†Ú6›” ‘è~ZÌLò+(2žT$ã…J´»PIÝGž¨î“ýÌÔ=ûÙð57ú_srÎ{ç“s–úW¿µÔ_í·ëüŠOsyQ|šÝ4~Ý4*°bTзÔÑÏ®kn™]7Ëbš˜eÉéi’ÓS_^x§/Ïm'G¸í²™œ ›Y"ص|‰àÚZ6j…–ª2(ti阳KKÏ|ÿ`ÁÌ÷\R–k£èÈ5Tt×1½¸Ž„*Í–غÁoÙ[öÖšH uQusƒrƒrƒ²5ÙšlXG¬#Ö±œ·œ·œg¡,”…bö`Nâ$Nê&è&è&è¼t^:/r\ ¬©.Ùköš½–º¾ÿ ,H7¼1UP…üô/ñ>îã ˜À:‘N¤ª:UuªêZÙµ²keû'öOìŸZA+hÉEr‘\d‰,‘%æw•$‰äE „ß0UóÛÁ€ƒ ‡­ÏÍ¢lÙ€= >ô9/øë±¢+]YŒ\‚Å;‡€.ù]ü|f -;Š£8J½¨õJ–:,uX¯í½¶÷Ú®[©[©[Ù+§WN¯œåË–;T@TÝB·Ð-ÖÀi¼Ã;¼ûF€bËó ØÁ +ÁCç` ¨?¥7“äkç× 3Ì(Žâ(ÎqÜuŽ£/˜}áxG¾ÈñŽ©½jjo¹LÍ–Ë\0)ÃccR•ƒf«|©fk^ s¥¼¤6™Jj³‡ì {h›;úz|! IU²œ@3r‚&²ù4Z˜¡… Üw«ò[0ŒøBC|ÅŽô¢ØÑ!F>È!&iŠ®nÒ”¡Wnœz¥\q÷åŠo˜[g͆¹4šQ1Ãx$c†ó«×µêVÀ¨UÃÃnf [^¾z‹åååÉÜy²ðŒž8¢°eR æ-üuY§ZÿšôGô·ÝEÓÑY—ÒùÕë­+ATC5T#ÕH5RíW{­ÑÒVûXícÖX_`½å€å€åyD‘GÿædÖñ"Jˆ¶ õÉAV_\ÇzˆëØ<œfóà¸ØòÜJ~_YÈBéAz¬ÛÏëë^Ûg¤$@‹}3!YßÌùžŠs¾7¢ðÍC# ߊKYt+Îî¸ì¸ÝqKEÑl©(ŸÅ}‘ÏÊæLÕ²¹®ï/îú^í / vÝèMÑÍvLkÖbOØÁ“ŰÉ,F¨Cû uðéx g(áüoF­åoD‘Fì ;ÃΈUŪbUq‚8Aœ ¾_‰¯l õ<àAÜmiö¾-(š‹e4W¾”ï*_ª…™h1fð-Œ\ëtÁ¢µNÏ=_uðÜó:Ë@K®ƒyC®ƒó'ÅEçO]o\¸ßõFNSûœ ² îª,ëñë¹;äwDzT\oYšeÔgG9U*œŠ ñ¦©Bü¾ ‹ö]xçöÎ7…£¸™e2ïÍ2)›òÁʦ‘«ëNˆ\-ó&£dÞSß+:µ±| —.ßB<  ¤q%% ‡EšŸ)‘üaÊ  ¹L×ÓõfÅ Å ¯“Ž={Tó4²lã›ÙnezÀ(Ò(’(‰’(†b(f·—º¾‰ä¯€Cy”G2…L!“ñ_ÙWÈsØê·ÈF8Ú*?Šyp£È*ì"«ð^x Äï¸î¿™uþa³a³aóØ7cߌ}£ž¯ž¯žõXõÚ@m 6°ÛÊn+»­ìV«[­nµrbsbsb¬°vÀÚ⇋.~X_R_R_’Ô 5Hs2ë`–„2Ö ª]ÔWµË‘Ê’)íÆÒ>t0{I¨ˆ‡mdIû©Ã,ù/™a†™Ì$3ÉLq–8Kœ¥HW¤+ÒU%T%T%hyZž–·.[9xÈññx@–‘d™ë‡#®åKà‹!Ïÿ‹SðñœBÙÛá¹²·ÃTÕZ‡©,‘•`‰b[*ÄÇfŒˆå–’ÎÜRÖGX_ëe–ø?8†+6:†½–påèµH縜Hg¾ߊL'Ét[hô?Aº“5¨OYLYLYÌõ…ë ×®\7¸np¦ÎÔ™1’‘Ì’mß (,ÄÄ›l@5²AÂ5S„,jûxù¢¶!©.Á!©ã/W˜8þrfž~jffà:fp-È®טTãÇÈÿAØM« »ÉcŒ ™/v2_Õ2Ù2Õ²Ã1ñãÇt¬}±OÇÚ¯kgß}]»æe·þ™‰[,O·LŸÛ°Öô¹¹úùª"2OUË0qºe˜¡ pÞPpU\Í­«â²¢L³¢"§ÅDNÓlU<ÒlËÓ±ÄÇ:J)Ökˆ5pWp…”"¥H)´A´œ'ÁÉÌ›y3/î÷‰ûp‡pˆt$IGö”=eO©õ d:™N¦ÛŽÿ=y×ØÍ…r¡–DKKy‰y‰ÀP˱œ¤Zkmmkk°Wì{Eš&¤‰mŒý—¬¯H’tF§™óÌyæ<‹«ÅÕâj¾k¾k¾+Ìf ³­áëÄ›xoëïL~7Ç_žõï{( %¡¨…Z¨Å °¬€ux™ÈDæÿðìÖï /âE¼¬×tDa6`}E_ÑW´8-N‹“Ùd6™û¸ûtEGY£ÌH ÿàwR"ùp¸…[¸Å†³l  ñ†–¿£~ßdÁ8Ûl"é®çO¬¡Ënpƒ“39“³;컃‰˜ˆ‰$“d’LÓLÓLÓL™\&—É­Y£Y%V‰UÂ~ìÇ~ÛúÌÖlÒÿÚð…1Álí7×®[ÜÜk㳊]¯¼'[ª¼ç0K^Ùa–ÊÎ ©èŽóèNÜaGÜ¥Ù†ÿ$’@q¾8_œ¯.®.®.ž¢LQ¦(ßL3ýÍtUsUsUsº†®¡kð9øÀ %{¹¡BÚRh2»ÑÝØÙÄÜ>µ &îyöˆ¸ç;5/ÇîÔLžrõÐä)ÇñnÝq8è_tâ+–&¾âÖˆs둈£H„nPB½Ê\èUòL¾<»ù:¹ñÍךMòšMvudñvuèÖ€dpøgµ ]iWÚU¹A¹A¹ácÒǤI›&nš¸iâºWë^­{u´×Ñ^G{‰ÅÅâbqRœ'!lÛ‡}ùÝö¿™#p¤1˜NcT PáJçÏã¯tþØ+÷üÇ^SÃÂzO Ëñ6fæxsY$žËâ>à÷/ÁðÉ8†dnl8·EÈ(‚t¼G:¿‡øó{2wÕ™»/½ûüàÒ;‡Â ®dÌnMɘ2åÝ-eÊï ¹ýûõ©HARdåX9VޝÃ×áë¨*«*«*[s­“¤iñ?)3³¦ÃdÛØ6¶¼&¯ÉkÍCÍCÍCn87œn—`—`— ÉÔdj2é.º‹î"HRAcÔ5Fë,¶œ-gË­ÇÉïAò}â €rh †ô» þ™ño#p€-cñ,ž=ƒìà ÿØXTPAÅV°l…íž®u6W{´G{,À,°~yY¨ØF¶‘mdoØöÆš=ø··'×_Èu7Óy™Ç5Ijr½IÒ•êº÷Wªw:|bv§Ãw~)w÷ s!E#çBŠiü]Å4t,ÐÙR(IþC¬«ÅjñøüK{K{KûF4ÑèÜÎs;ÏíTUTUTUŠŃÿõ)d{ƒlö†F:¾ÐÀ&ˆ0¡%΢¥LËí•iIƇƤ¬ù¦Yó‹;e æ<É;Îõqõ­“þÙ)(G9ÊÙ·;owþqÅÇWŒ¾}%úŠK]—º.u¯¸RàJc5>ÖØ!×!W3BÔ‰:Q—ßmÿXþo! ·P§Q…ާ7èøužÉ×u÷¹÷™è°‹èØg¤±Ïœ?&sþì-²Ù[Û¸«Ôð¡3ГÎÀv¼ÄvÑ“Ý=\åÛ\/{]2ÞŸý¥ÿýÙaG½÷„mšP¥iV`5ÇÄÀjâ4ÖTœfiÍ[ZcJ`K„‘%²h–Æ¢Él&#Ì‹ÅæÅ…giÜ Ïêt"¸x§Ë{? \ÞÛ~¾¢ý|q3‰³ƒ4ÄH7ª¾IiHC½OïÓû²%²%²%q5ãjÆÕœ½|öòÙ˧¨§¨§¨?þxøãa—./\^œhx¢á‰†/Ÿ¿|þò¹*W•«Ê/‰—ÄK2µL-Sߟ~úýé–[–[–[Ü$n7‰ è»Ëv—í.?W=W=W<|òðÉÃÖn°ØLl&6‰ÄGòþòþòþúJúJúJ[Gn¹u¤©¯©¯©¯ÜOî'÷Ó1Ó±¥ŽK—:¶0´0´0ìX¶cÙŽeô!}HÚ·+nW<É1É1Éñ„ù„ù„YÓUÓUÓUô}Eßünâß•5¼ÙDD‚`Nè„‚A"Âaˆ0ÄeË —AgÆŸfüŸ>|T:•N¥£«è*ºÊú—ÝšÁ[ŒãÄ8{Á^°.Ï»<ïò¼6ÛÛlo³½ÕÞV{[ím|¡ñ…Æ&lœ°qÂÆ¼£yGóŽòõøz|=VŒcÅò»9¾qˆì`‡µx¼;׈kDÖ’ê¤:â$N7¨ ²u’ÿû‘ýÈ~”m“m“mËè‘Ñ#£ÇÓܧ¹OsUv*;•è.º‹î4æÑ<ö‘}d‘ŠT¤Z?¬ÉÒØv…]a#Ø6QÙgö™}fÙ@6^ð‚—uJ‹fÑ,šMaSØv„aG¬c¼Ö…“ÂIáä¹Üs¹çrsäȽ6zmôÚ“¯N¾:ùÊÑÕÑÕÑÕd0L†³ú³ú³ú¬>Y}²úð£ùÑühV™Uf•óûÃ|Ÿ80P0ˆ ¶Ù•ßw÷p‚ÓOAÎd3ÙL]d Aâ ‡òï¾~;k7ØÞð¶¥Ê°²vk­alÖ/A ,°Ø‚KU¶/eúçëzÃÞüVbæ·ê?môZzûœné½RWmõJ]ƒõ¾õ¬_u66qÕÙþ¸º³?¥¦=z”Jš“’¤92aB&²`BV~7Ö7èü€Äóâyñ¼ýû3ög ™ ™ ™ô>z½í5±ˆE,üẆu¥kd縓²sÓ/„—™~ab¹j-&– )å¼2¤TÏÜKzæÎ‹¨Óa^DkÚ:³Iç kIfËZþýÉY2±dÕf¾¢jsÂíÄ„9GÅ£ûb;÷Å–4Úr‹ŽEÿ´ü”÷æ½yïܸܸܸ:Ãê «3lñÐÅCí’Ü%¹KrÉ%G”ñªð«Â¯ ™Èγóì\~7ýo`ìE3‹ÍNE'ñYﻛ行á2,d„Ù…N0»prŒàäì tì‹-ùŸµÃG°vìkG×2F×jf*.if~úœ;âÓç¹µeÍ­•\LW&¹Ø!Ë»Q‡,/È:öò‡Au¯9 ª›µÛ4'k·Ì—».óÅ~¼Á~ÛTëñ`Dk¢µùma>Tcz„Ó-ITcIº=<¹ÐíáN»~N»èa¦¤‡­£ýùÝ ’ÿP4Aùùù’œ#9GrŽì:¸ëஃ...…# GŽX4cÑŒE3òÜóÜóÜ­?¶þØú;777q½¸^\/»Õv«íVO«2­Ê´*yòä= H'ÒI¡Wèú¬þYý³ú·‹k×.îÐ’CK-áñøGæ=æ=æ=ŠÃŠÃŠÃÆÍÆÍÆÍcýÇúõÿQüQüQ´^d˹ 6È6È6È´ÚmÄЉC'ø¨Ë£.º-p´ÀÑʲʲʲŸ|vðÙî²»Ëî.ËâGñ£l»ß' °PúŒ>£Ïx ¯á5Ú©Ú©Ú©súÏé?§ÿÇœ9sT×U×U×É~²Ÿìçâ¹x.žufYgq½¸^\¯X­X­X½)dSȦbYŲŠeýøúÇ×?¾îW»_í~µ›º5ukꦸ¥¸¥¸e a‰‘™ßðÀÀØB<ÅS®1I%©ÙOLƒMƒ¹<’BR8ž<'ÏéKÌÁ g8ÃôÿGÛ±Íl3Ûìàäàäàô¼ÚójÏ«-/·¼Üòr*O•§ÊS¶L¶L¶Ì¥K!—Bª(U”* ]Ð]¬±òýòýòýökí×Ú¯Õ,Ö,Ö,ægñ³øYª…ª…ª…ŽvŽvŽvòaòaòaC”ÙÊle¶¦¦¦}aûÂö…ÙAv´Æ‘Ï=ž{<÷ZäµÈk‘êêê#6ØaŸðíDlI¾)ßï2HÿÌ(Œâ¶€á”ÚWíÛh¤¡OLŠ¡ù”ßEü˰v¤ó`AbY.b1Ž˜QÌt?£X¡Ç®Ðã~ƒËÚ÷<¾ÌËöæ¾ù8p`‹«W¶ÐÖ0oÓÖà³¹Š|6Nâ#Næwe¾=Öu5ÅÅâbq±u‹Ï;Ÿw>ïèAzþ4êëw¸ÃTB*±Ñl9H×.s`*xÛ©?xÛQ³DͦíºR¦íºÉÆþºÉœ‘kÊÙlaÿàB“¹³ÍÌ]Ñ–?¡h›Ø3ïIbO»dþ¤]²keÕ^×ÊB.m$ä’P‚üðO+`MÙÒÐHœ'Îç¹_t¿è~1½}zûôöà +4¬Ðãºë>®Û×»¯w?oãyãyÝM¾ß‚o‰?¿3HÀ´Â´"”»Eè©€÷‘§ên÷q®»Ý®¡ŒÙ5¤.¬ ua)г(ÀCaû7e <®Žý¨NÈ$Áù˜r‡ó±Ëቭ/‡wŸpÉ»û„ÞUŠ·î]åkH¿Ä¯!·?´3Þþps[Û7·=ÛqÍñv›e×í6ÓcŒ§ÇÐ~hô«²q àˆF;Ã#Áßðȯ¬S¼_Ù@ÓÍ@Ý¥2‰Ï/•‘MæWÈ&³r8ÅÊá´øß *ùE! Qbª˜*¦Ú+í•öÊ)¦4šÒ¨ÏÇ>û|¸àþûËU,W±\Åm·UÜVÑ%Ü%Ü%Ü}û ÷A³÷ÏÞ?{¿üŒüŒüŒu”I·L·L·Ì,-û"û"ûbn`n`n0®÷¸Þãz=YôdÑ“ÖYÄÖ“[ï£êÏêÏêÏö¸ÜãrËþœ?çÏ•Î.]:›ù3æ/é^Ò½¤wíÞµ{×®ÿˆþ#úh´²ÑÊF+{¶ëÙ®g»¨È¨È¨ÈÏG>ù|ä+ÿ•ÿÊ[SåÙjG¾ÓdŸÿLC4D#™B¦)2ã2ã2ã2ó2ó2óøh>šF/ôB/ÓÓÓÓÓÓ®!×k(Öë‰õ¬^ /…— v4ØÑ`G؆1 cÚ¯i¿¦ýšêÉÕ“«'˾ʾʾ²Óì4;mÍËßþÆ}@rÄUl[¥)¡Ð+ô«·Ä>ˆ}0ãáý¹÷çÚ}‘‘!:üˆ™=Öc=©D¼ˆ×/»Á¶q]€à%x ^º¹º¹º¹Ö-¯c_ǾŽ=ÄâqïrÞå¼Ëáwó»ùÝt:N§goÌÞ˜½ñuòëä×É·ÏÜ>sûLnhnhnhâÑÄ£‰Gol¼±ñÆÆÔ ©R'ðgø3ü™¤I“6Þ=z÷èÝ£/¢^D½ˆÒôÐôÐô°Þ^‰ªU'ªNûðöáíÃ_;¾v|]¤N‘:EêКBmK:´théвôÙÒgKŸ)S6¦¬­½YoÖ;¿? É÷Éz?Ÿ€ÿÛøÞ÷¨6 “¸®`~¨Ý¥ÝüÔÜÊÜÊq=7˜,ôE,b16¿‹ø;±ŽÊ:ÀÖqÇ>Ç~ê„©¦NȉɉɉYýrõËÕ/e2™L&Ì‚Y0£'z¢§|¼|¼|üâb‹‹-.Vɽ’{%÷)u¦Ô™R‡Þ£÷è=ëɵW´W´Wf´›ÑnF»ú·êߪkΆ9æl`&fb&¯­^[½¶Fωž=§t³ÒÍJ7óööN¹“r'åN•uUÖUY§X¬X¬XœÒ?¥JÿÇ;ïpÜ,šEóO߬±å”¸.‡ËÖ×Ð×Ð×ðŸå?ËV9m9m9mnµÜj¹¶å¦N¦L;™vbÁ‰'hii=}÷ôÝÓwêo¨¿¡¾OiŸÒ>¥—æ.Í]š»ðøÂã G‰.]ÄXÛXÛX›6§Íis´DK´dé,¥çw¿qEáÞ™Ô#õ´Ȯ͇Ç^*Ç—ã? Í›‘7cRÓ» î6ph(¯/¯&(‚"Ld+ÙJR®pµEÿ2j¯-Ú¢-{Ä1Ûª[T[T[T†_~aø®™»fîšù¶ÃÛo;ÈvÊvÊvö¬Û³nϺ˂–- ڥߥߥŸå4Ëi–Óœks®Í¹¶wÚÞi{§­ ]º&ô‹ì‹ì‹lÀûï¼ß“µ'kOÖü÷óßÏ¿S³S³SóIûIûI«.¥.¥.îîîJ»Óî´{ee¥y’y’y’µÒx*}¤|—%_e?EöÜ~ж¼9L[žÔB]R ðÿ¥åãÁÀ³{ô1»§| ø |”ê‘Ô9»spçì———Fãk4®SñN¥;j6¨É ±5,5„ª—óˆÉMTtP¾àºÈ”c/u£@™‰u…#ò~c»þLŽxâ ¾°Âp‡;[<Ô`ÿÍò]âTVGœªl©˜®lW%Ó%®Š&W¡ÉõÚe?Îk—Ñ ¦ l»Ç6°º¤«k{Ûsdá9»Í2ØmË,ºÁ2+ï’EÌ»”P\û:¡ø–캶d.®É.\B9}Ÿâí\Ëow€½[z€%ûë 'û—:ïÚ£ÔyË|ºÞ2ŸíþÜÿ@­lßœXÖßÎoç·;Vp¬àXÁ¶žyB"Þo‹·õŒõŒõÄ41MLS¨ÔüþÄšZR,%–Kƒ`X‹bQhˆ†hˆä '¿kù( €ÂºÌ˜XH,$rnîÜܹùµÚ×j_«={Êì)³§4ŸÙ|fó™Í4;ÐìÀ†É&o˜,!!Q#¢FDÖv­íZÛ5ˆk× Î©“S'§NvãíÆÛ¿-Ün +¬°b@­‚µ Ö*¸/u_ê¾Tí í í‰ô°ô°ô°µeÖ–Y[fëø­ã·Žoªoªoª¿v+ìVØër¯Ë½.wÑî¢ÝE;âI<‰§ešešÅv çqçQUQUx#¼ÞˆkÄ5âs_s_s_"#2"Cô@[÷à·¤i9((Ò‘ƒV„s€oèjáž±g¤ )Hj[7O„'ÂvŠb§¬[:&tLèˆÏøŒÏX‡uX—^:½tzé'EŸ}RÔ¡ŠC‡*p‚œ8Î…sá<9OΓ›ÍÍæfÃ~ð³-2ÇýûM¿É/Çè‹¢(ÀâX(»Ãd– Ьßuú…fØ¡Šà!2Á 9x üO!åÿཌAÆjN¤“õ¹mûÊ $j¨ét?ݯ:ÞlœW;µvjÿ¾WÏ]=7þÒ2wÊ,˜~8ü°¡«ÐCèA{a&q™HûÅPD,bKôDOôh†fh¦¼©¼©¼)< wï Þ48hpÐàâ1ÅcŠÇ$$'$'$o9¿åü–ó§Nœ*3«Ì¬2³¸/p_àÞtaÓ…MvÜypçÁ÷ß|ÿ±ÐUè*t]{wíݵwã£ã£ã£­1 _4~ÑøEF›Œ6m¬óÄ<1O§ÓÇÙ†L¬w•»Ê]Í»˜w1ïâç Ÿ7|Þ€¥XŠ¥¶Ûñµx ÉB†Ú¨Úd™NŽ ²Y6x8a¾×Õ€)¨-çógÜÄM² _ðƒ€¬·Ý7û.ÐdšL“y#oäúúú111çtžÓyN©ØR±¥bÓÞ¤½I{³®áº†ë8àüó•&VšXiâ¨å£–ZT0¨`PÁè×ѯ£_¯ê¿ªÿªþñ=â{Ä÷è›Ü7¹orÏn=»õìö1æcÌǘ¸#qGâŽ4wnîÜÜY¯×Æs¥¹Ò\iÎÂY8 ‹eOY, #…H½ÂÆÑ+ª•¬#çƒ$4CC‹Ã¿:Wf!7±7Ñ;ŽæÉbódLF&c¾bªÁ ÕèÖ†Nd=º˜µ¥‹5nòÉ7Y¬}„,Ö©)éÔ‚¯CJòuàŽÍpÿÕY¾Â_Ñ Ñv”m§=?zº{~ܳsØ®C˜q—!,§WN¯œ^ò0y¨¼J‰=Åç–¨ˆ½2{˜·~;â—sø%*ÅE„DU±š]3 4Õ#ªr>Ê!ì?ja< #Ùl ‰"QJ;Ö—õå+á+¾bdAýŸ~hÂ=Z[¸Gz)W^_¢Ìü—(×+ÊÚ®W<Ú:ðhKßÓ÷Ür›{ó«öq€ âÖCÁPVç 8øÉ†:ø-õ¨Æ–zøÞWÇøÞÏò4EdyÊ›s2ysV„Ù³"ìñS<Ð/ýë$v!ч|4kè³Æ7T­ö 5Ä †ØÌqÆÆ™ãd›¹Õ²Í؂؂Î:ÿ—ÿô=EO)‰’(Égþ3ÿ™ú|èó¡Ï¿žûzîë9"UªW©^¥úðˆáÃ#ü{ù÷òï5ãùŒç3žßœpsÂÍ ¸ˆ‹¸X2©dRɤé?NÿqúN:'“Î6ü/ñ2¿kù/Y;0ë°ë dh4 š„=öTØSaÄþˆýÓ¦;Lw¨5·ÖÜZ¶ JkWÙàmð6x{[¼-Þ–Gl±qîø¹ãçŽO L L $1$†Äï Þ¼ï|Íó5Ïײ„,!ëÚµk×®]»ñàÆƒ\]];­é´¦Óš&C› m24¤“t¢­­ýäæ“›On8Zàh£öKì—Ø/Y¿hý¢õ‹/%^J¼ä»Ðw¡ïÂ{î]¸wÁ2Ç2Ç2'¨YP³ fŽ?:þè8"[iÍ0ÃüþvˆñhÈ$²€,iPu…]AOø&ngXSZF³hmÛREPk±k±K°„­akØùùùëK”›”›”›ø1ü~Œî†î†îưÃF ѤV“ZMjûûûGGGs§¸SÜ©ß9‹¨ <Çs0âK|!³ßj¿n™™ÄMŒã`ù͹F~ pGy”ggÙv‡;IV“ÕÊ2˜„I¤<’„SàÁÿ´”¦ C6ì`‡JHD¢Þ]Ÿ¨OÔ'f.Ë\–¹Ìºl’K—þ.ý 8h©e©e©¥ª¦ª¦ªV²aɆ%Z)Ôê õL½M½M½íïÛß·¿Ï]à.p‚Œ`¸vwíîÚ]¯ŽWÇ{DxDxDPUP…lll9IN’“¬!kÈlG³Ä,1Ëé¹Ós§ç‡²v€¹0.Œ Ã#<£ßñs–HÈðéHGgtAÔ€?éÂ&à8Dÿ9TSòí¡›è&ºÉ±²ceÇÊ·+Ü®p»ÂÂÀ… l<°ñ@Ù#Ù#Ù£sãÏ?7>©wRï¤ÞŽ=8öàØî×»_ï~m½?&lLؘ°%‘K"—Dö™ÑgFŸ%•‘í#ÛG¶oý²õËÖ/É<2ÌsXç°ÎaÞ]ï®w'Á¤$ ¦óX:O1ƒ¤˜ñviηK·É_vÝ&s'{Λ; j¾× öȸ²Y#ã|Ë«+û–g¥Ð•ÊÜc蘹‡;LÖp‡e霽,Yè,Æ!—qÿà’ýÏI‡D€L#-Ô¤ ´mf–¢ã/<ž¤‘@(n}™Êê» è…ƒ4ž=b‡ˆ; žü_W­UC$¶š­Æ ®×Íæs³„Y™c Ox¾›Áf°·\k®5×ÚöûLƒi0^“{xÍo¢öü¦ÌvM3;äÞO˽Á_c'øk˜ª˜ñ÷'d/AØK¹†Û,×|}d˜ùõ½Í4ô6yKz’·l*곩òln‰<ÛXJ¿ÎXê‘ojïG¾ˆ cq]ÿòº6#ÃX7#ƒ¯L8¾240Aó«ôE4úÒ\òÿØ;ï¨(²­í?§ª:Ñä$‚ˆ" ‚"bÆ,æœÌ9ç09ç<æ€9çˆ"fAA‚$‡Î]Uçû£™ûÎýî½ï;Ù™¹ýc-V¯ê®:§Î©ê®}öÞÏ(–8OW§+ê㘢¾ü‚r¼ü‚â¦ÅXÅMÇ\Ç\Ç\Z,L&3²rT=>‡¼ö_xAç—ÑjûÇÖÈ8¾~\Â\%ÍŸ£/Æ!…[Íô„¨Q ‚Hf²#Ö« B¢!3IP ÊäýLe¦rñ{2‹Ìb® ùxQê[øÉðÄ|£2ï.ƒÄ[É[oeð>ƒ¿S/éñzyíõ«òÚ³Q¤ 'èÿQÙ˜NXA»+,ßHÊ[¾) 1î( aŸ“ÝìsMþ–¦W¼çªÑ/TM¿”¿&zb‚1C˜*¦ÊTÒH™Šmø0í"ÁG»ˆäö$Ù‰%*­J«Òª G…£Â1~hüÐø¡âq¸çvÏÛ=o÷ÌöÌöÌö¼4òÒÈK#O¯>½úôêæEÍ‹š=¯ö¼Úójc94æ~«~«~kðúàõÁë­,­,­,ù0>ŒCt@‡o}~?,d!‹L%SÉTv;ƒ±$zIô’èc}õ=Öwä‘7FÞ ‡éazøT½SõNÕk;§íœ¶s”J¥R©ä¢¹h.Zè$t:õôïéßÓÿãµ×>^;×ê\«s­˜÷Ì{æ½õKë—Ö/kgÖά)‰DH"L-&ä&ä&ä2G™£ÌQ¯m^Û¼¶)ç(ç(çÐ{ô½Çöb{±½Ê%”K(—`×ß®¿]¿*~UüªÜˆ¼y#rÇ´ÓvL«7¾Þøz㣿þ>úûZlh±Á)×)×)×XÅXÅXEn”奱$¤1iLã6nãö¾@a€ lÈ<<ÄCÑZØ-ìÎß8ÔÁs<‹¿O9™ßÒ³ŽCâdY²,Y×—ëË•æëV»SíNµ;7Øì öö´ÛÓnO;ëyÖó¬§];»vví¸Ü îFÉË’—%/ù]ü.~—f…f…f7“›ÉͤWèzå7în’@I:I'¬a‡aµû2ǬNX Ç„%‰;ù-µ¼½à…hú‰~"W¹yÜ<ÝpQ#j>ÊEFdø@²‚¬ ¡PA…Çÿ´—,X´£I4‰¾$“Ȥ̥ÊuÊu4 “0‰´C’J?óËàñŸQ*¨„´í!»Àîbw5·,ºüéù¡1½bzåÞÑ׺X{íý$˜„’P|A+´‚gäyféméméýyðçÁŸÛ°;`w@X#¬ÖX³g5.­jZÕ´ª™Å™Å™ÅJw¥»Ò]ßMßMßÑ0F#µ’ZI­´NZ'méoÄUâ*qUd+²ÙY†,C–áø ãƒŽzUöUÙWes÷çîÏÝø.ð]້'O$žgÎ3ç™öÝÚwkß4"H#™…ÌBfò¨ƒ]îa×m-ÚZ´õËê/«¿¬6m§j †ßøº2cÀáÞá-õ¤ThDã,™ { Ä÷©l%3ÿ“Åd1Yš‰š‰š‰Õ ªT+ðÝæ»Íw›f°f°¦TXÈu·ën×ݯμ:óê̵“×N^;™Ù:³ufkÅYÅYÅÙ³ÃÏ?;¼òÁÊ+lÐ$ I€ÜEî"wé«ê«ê«ºÈ_ä/òu§ÕVw=MOÓÓ¦cæjr5¹š„ &T=_õ|Õó¼Šgx=MÇÐÓ²Ol‰ìÓ»9ùßÍ9k“ârÖ¦åñòa-7½XîuÓ‹•Ú§W¨Ò-Sé’•.‰K#Õ¸4|D >¢™ñ¿õèþLxh´%úAØ R|óÃi…haØölob5ôEmÚýý„{yøH÷rP –>…~eëð 7hÍ#“%±’X:Wº_º?q¹ú±úñkFÏèåÇi{Ú^œkÒ,Ýëá­GÒi=yž‘WyyÐiÃ˃©‚õûTAf)”“YÒp2™†ÿ›# C[‹ÔckXèwX èG¡ºc"ºÃ‰Žƒ“Ì;)sÿ<[Å}ž}¿N–åý:–§%Ö–§7ö{]°±Ÿ.•Ñ¥’déPª?ü#H]G’ [Øá†-uïg<ª{ßæˆ^msÄøÍŒÑv@Ä#ñ$J¼Ê¾¥õm*©?XMŠ©Òì¬<ѰÞe—ðÌÖÓèM³ò‡“¯\äcµþ­!NÌ:•<}Àü¼1OE*M"{É^VÐ-Ó-‹,k'k—d@2’9;¼Ækú ˜Ÿó*¶DŠØÒ6”T² MëÆ·Lë—éÐ6.ssÉëi›K4G…Šš£¤™AºA¶4ˆ¾ÔgK_Ó½ô5ÛŠ™À¶ÊËÕyåå2JòQ2ƒÉff°8º‹óW„ý‰`… ÔG¨?@ô9¢èsqµ÷¡!j£!-ÆZLD€ü–Þšß‹p ùB¾osÆæŒÍëvÖí¬ÛYÃÖ&I¡r ¹…üú²ëË®/K·H·H·x2ôÉÐ'CS S S _¬}±öÅÚ±Éc“Ç&;õrêåÔ˸̸̸ )Hù“K‚™ô#^à^ooo …†B[ž·¡Oè“ߣ·Äƒx€á¿ç¿§†ÆÁƒ1åÙ®g»p€‹à" §{èP<øÕ¿?n±éCk‹ÅÇLšr¿r¿öº¡’¡ÒÓ c°1X՘ēxÖ©H¥ÿÜf!d‘ûØ„MÂtÒŒ4»×°Ü‘rG„éä 9H:á(Žš>ó »eòÛB )ÖÑš ¥¹4׿ˆ¬¬AÁTÍ+Í««ƒÓN¥šYÒ+¤—õTÉ-É-Ñ—iÊ4Õ×ÌÐÌZ´0h¡cKÇ–Ž-<<<Òo¥ßJ¿µÀnÝ»6Úlh³ÁUî*w• 5„BùçœÿÑ8Û8Û8OñOçVŸ[}nuûÎöí;ÃŒaưÑõF×]Ïrå:Ëuê½ê½ê½o£ÞF½²ðµðµð]rpÉÁ%=¬<¬<¬zõ(êQtõúÕëW¯×ɬ“Y'³z“êMª7±o3Þf¼áŠáŠáŠî î îàëÂ×…¯ [nm¹µåV¬À ¬`Æ3ã™ñ¿ÇÕeÆ $pEY”EdB„øg‚1óË1…£hÆiÆiƹDºDºDVYPeA•º›º›º›h†fhVký­õ·FGGGGGw9ÔåP—Cz½^¯×o½eô–Ñݺ=tk“Ø&±M¢l½l½l}Ιœ39gštkÒ­I·íqÛã¶Ç )R4Än¬ÝX»±©MS›¦6\cpÁ5F \ݪºUu+ã|cã|v8©Å/Î7zçw™[©b—¹µcÊ<ª³çD|£='¦=~¸sÚc×Êæ®'<«–0ᙯŸ]9_?mO>WÛ“#ªù7t†Ñ ¤.’ºèô(•ÑúógÿZ ME+€y/ù|àÇ q|’=½=€atÝZWùÝe2½|çPŒDLƒò¨ @ å¯l]„HÊ V4)Ha ÑÍ q­ÛÀ¬ …Ö8‡s8÷Oû¾Æ@¼L¡~¢Ð¥: : Fý[Ö=¤ã0UÐ ¦†æÏl1ê¤k‹Qt1µ£‹É1r›S]5^R]õîYf˜wÏÑ»«éFï¦Ïø¦ôÙ´ÑõMÍW2Þá+qÛ™Hn;PšwõcLÚ‘¡š° 4ð@{èÑøÑƒÆcZƒpŠ\ƒw>Û¼ŸîðÝ®# Úý…uŸ %Y®Ÿ:Ö&”]½ ùgk=>âÝ‚ð³F8$mÐÆXÚ³x‡wìéÒž"eî¤ñÝÄ,¾·†qáÖ_ˆ½]|!ô”vHè©é¯ê_˜þJ°çÝ{ö*éÇ^…#~"Na’XC˜ÄJ$±¬¤VÆÁïke,T$Y${H1‹ŠŒ;60î4 %4íWùà0³ˆ”™…ü ´`W’ÝìJÙkö¨ì5Üi¸뉈wÀŸ<ôׄ¢'ƉqÖñÖñÖñWÇ^{ul¿}ýöõÛ§™¦™¦™¦ÑitÝÚе¡kCK"K"K"«H«H«H›—m^¶yYÙÙÙ•±¯Æ¾û*Å*Å*ÅÊwçÝyCCCŸ¿@Ɔ<àA_Ó×ô5ó„yÂ<)NG:ÒKÍã¸؈ØhÒ 6éMó„yÂ<^Ïëy=ã03zFÏè|tðQUUU±ƒØAìÀb±ƒ„!EH)s£Ì27Ê­-·¶ÜZ­­ÖVkËz°¬u¡.Ô…”'åIy1T CG6Žl©«¬«¬«l ÂTF(#”“gLž1yÆ”¸)qSâ„p!\W{ª=ÕžúúúelÊØ”±qûÞí{·ï5»5»5»™UÌ*fÕÿ²Ë€@“hj‘qdü¥¶R[í|º•nÅTXÂñ€Ÿ÷mñ a”Œ’QšF öÉÚ'kŸäOò'ù“ƧƧƧ\$ÉEöÑõÑõÑE„F„F„"¡ÕÖÖ¦wé]zWÐ :AgÌ2f³È;ò޼3ÍûïÒÛ®LW0•A…’VÅ­ŠÉ¦vkÚ­çpö°Çoª÷OI¤Š³{5B:ÔP,‚9@þÿ¨, Šú˜Ù2‘9éŽ "€Oø„V˜„I¥Ÿùù˜ö’A†4œÃ9±!}H2u¸z\½‹Ùñ—ã/´Âaɲ¼:mê´±¿!ÓÉtºmÂfa3cK>F/ã2ã²2ŸÊ|*óÉÍÆÍÆÍF/è½09drÈä)g§œrVäDNäÄ­âVq«þžþžþ^yÿòþåýµs´s´s0S1µÑÂF -Ô×Ô×Ô×T×S×S׫}ºöéÚ§¿ÖþZûkíFV¬YÍOœŸ8?Qì*v»jÆkÆkÆ/_<>,?,?,ße‘Ë"—E†i†i†iNƒ; .S®L¹2å´c´c´cÄNb'±S‹×-^·x]©{¥î•º[[[±„%ìŸüëÒÌ_¦Ì|©ék¾Øþ˜Ä-˜©ÌTfªIùY?A?A?½ÉÞdoš>³²ãÊŽ+;r§¸SÜ©ç'žŸx~âËÆ/¿l¼yöæÙ›gßx?àý€6ËÚ,k³Ì$4œbN1§ŠêÕ/ª/i+i+iëL©3=c}ÆúŒõûŒ÷ï3¦9OsžæÜ®z»êíªëÚéÚéÚ‘dÙAQHÙA„a•ØN•Ø9AñÊ óG…fÌõÞ+?ó½×šÚéÞì¶ÿðfÁU.Wú¼ŠÕÐ畺Z·­Ô•)CV2eTóø¦ªyÌhìaF“chFŽÑT”ÐÔ?u84 þ ð]=!VôhT «'¯#çã>" )Ú`5 s­rÒLUf7¤(4à—(ý˜‚o5РUQ•žDWtU½CK´¤åa{´„›þ;E¡mñ mÅ6¸'¶¡ŸH#ú ñ ¡‚äßÊE©‘µd&óY23'J³2' íÑí1»0±¸‡Xæ±cNa©X*žå‰gsµº»¹Zãvu¦q{~/ýÙü^Ìe’Ì\Fm¸ ö?_ Ä"±Œµb<È´&kð 6ø ÄxŒ'`6œiˆèAû(6¸'°-ª;¬îÈtÝÙwµžfvOún)ÕéqF|UwÉý©Î,ÐãgjSP¨!…”4ÂU\-î‡z¨GkC9¼ BüÿD¼~ü2q¿ÌÙEqÜÙÅÆûl|âNjºÅÌÏ/¼”Ÿ/ö sÄt)vÓ¥˜ƒü ô¹x-êéQoe'©ne§jb¸¡jraa*aáàÿàÁ!ÔAÝõ™Â)}&WéÍU§ïh>}W*NösΠ´ÎÓv’·L€äí×9šI_çÈ\Y'™«õ+I¡õ+>–îåc±±àW^ÅH 1~ÚuÚuÚuöööM¿oú}Óï'O ž|i㥗6zÎñœã9G\*.—† 2(caÆÂŒ…®p…+ò÷çïÏ߯zªzªzÊ$2‰L"üá¬ÄJ¬üÖ'ù¿b2q«£:ªÓt]‘·2oeÞJñ‘øH|„Z¨…Z¨ˆŠ¨h2M¹ ÜnB© ÔyœÇy¦"S‘©H•TI•t,KÇî*ÜU¸‹½Ä^b/‘Þ¤7éM¿Ð/ô iH’†‚—à%xÏÏϰ+Ù•ìJzˆ¢‡LÝ¡ÏésúœÔ%uI]õ5õ5õ5“QMI"I‰‡ÄCù1ù1ù1b‰X"–°ÃÙáìpVÊJY)Ê„2¡¦ìkSá¥=þÿ Rh‰LxQ{jÏ,€=ì±j¨±Oïa:kf"3‘™¨™¢™¢™bZ Ä8PGêH‹6m(Ú úˆ>¢)!%¤„IgÒ™tr‡Ü!whD3LðãB;¿KoÐiFš)iVÒŒfÐ ?øÁ”Åý[Â…ùȇFb¤0×p­ Vc5Âp/}bþ§Žä J(Åk„%,Í‚ÊÒí?×ø5}^ŒiI޾ è©¬­¬íŽÏû>ï{èô‡GíÔ4¶nlíîbµÐj¡&߸Ǹ‡q"¡$”~ #éHÒ„‘°Òëÿ€á€ás—¹ËÜÍo”ß(¿%”PÂôaú0}È^²—ìe>2™†Ù†Ù†Ùì\v.;×$†§Ö¨5j ³ŽYǬc®3×™ë%_K¾–|µXk±Öbí‚ ^,x‘GóhÅLÀîw‰»„áŽát2L'ÚÚÚ| ¾_ýýýú‚¾ /ØÆlc¶±éž­Þ»zïê½uɺd]2­EkÑZ¥âj*¨~0¥3ÿ+\éÊ¿©¤ ÌnT³)üWƶ°¥Ûè6ºÍ´¦ÓtšnÁZ°ì‡m¶}Øv«äVÉ­’²²2_êK}©×5¯k^×.·¾Üúrkww÷kŸ®}ºö)´ohßоŽG:]7wÝÜus+}¬ô±ÒG™ÌGæãïï_qLÅ1Ǽºøêâ«‹áÃLJ7[¢)4…¦ <* <]O_ÑõŒ@F08‰ Nº3ºéº3ž*›ÍžªqׂÒÇ]ë¾Ò‹v_yèËËC_[Ý0تþ¢²)õu£^ŸºÑàLçÁ™Ú;FOí¡'½$ô„%ÚÒ@ã?#&#¶i Р†¦ ,±’à @1€GæãÆåAÃï³®n gj !âõOߊYÀãa5õôRdJì¹ÄNúŽ(}‡*°GBBØ@ øÂ¾­8îWìwÜŸí¦e³Ýø´ßAÞ•}#ïŠ x„ ¨ƒ`Ôù§ãëèP@•Ò-s0ìFàÑ#À(®<ŠEWÍÌ–ösÈ ƒõ»Ëä T°l ¢K)¬™¤4,ÝJÃHAVŸèKà!‘Í$‘í %Ûù†dßÐûƒ­÷‡ÇS³×>žZô\ÿ¸è¹‹§²¾‹§þ¤ÐM’è0œèJwó‡Á®Ü, $×- ¤C˜ Ò!»z¼»±«Ç§›Å[>Ýœ6/ØbÚ<Ë6’8Ë6%–%%–„“XÒ¯Ðѯ€@ò“„åLáÖét)M—æ¾Ê¿.È[óºÀ’J¼,©s‹yÎuŒ%¢ÜX‚¹ÅÜ_3(&óo8†c¸ÁÇàcðqövövö°qÀÆÓ¥=J{´sÑÎE;­›±nƺ§2NeœÒitÆÛÑÛÑ»ÔoÿÄþ‰ýE¬"V+E£hDc4Fão}z?Óì›}-` n7û!Û¿%(à€×xýïA„A&kÓ£m©ÐÔhŒÆhv4;šmúàËäü8€Ö{N÷Óýtÿ?õG %”ô%}I_þX`˜¾£ïhiL§á4Üßÿ?Jå ]hÚåÿ8þÿ $(F é þ[OÕÏÄŽp4@éH~Á|ù±'ÜTŠ}Ê>eŸ–n2͸IˆH 5Ô¿_Øó?a K€>¦Kµ %¿þ?“Hª)»{-¢aiênß~ˆ“ìûsŸ¦¥`ÀKpàDk„ ÄV-+»ýð»¯ï¾¯Ø3±çþ“Íî6»ë±Åj¾Õ|UEceceîq&Ît.´ÐBdÿz¡#:¢£)ø…(Dá¿6^z§ ¢ƒè ÚÀ÷YD‘E$‚DkÞš·æ…ËÂeá2ÂŽpS¢q!.ąè.õrõrõrf#³‘ÙÈb1‡èº€. èúiHCšÚNm§¶cæ3ó™ùd0LÓdšL“K-3f~S`„ñKWYؘÁæ@è¿<ä!yHš^;p>à|€ÌNf';®v\í¸ºêöªÛ«nß0eÔ SfÇÌŽ™3ñèÄ£æäæäæäN{2íÉ´'.§\N¹œZ˜³0gaÎì³Ì~WWW¹/r_ä>ÓѼnðºÁëc#<6òõì׳_Ï>²ðÈÂ# å]å]å]K×ÚY°¥& ,Qá Q±•H;¶’ÖÀ×Ô4óë5óÈmLî\íêäΧ¾kå}ê;ç= ¹óž™ÒÇ]fJGºÝkÔ)MˆPY”%)LY\Å\ýÖ#ýÐÓ<u0à‡ÉÁma„Òÿ¦-¦wMŸü{³°Q´%¢;Ê:vÔ¡¡ž¨•ªìÆ“}ƒ+ø‚_'¬"ƒ#€7t€$f1 .0:ä­a3xq$¿„h˜ž 4–Î …Í·Ì.rŒÙ¥VÇ«UÁvNg‚í èR£T³S£dÕX^V -q-ÿi7S¾´-d°Sh1E:Œ½(vб¹÷AGU†ñƒ*£/®)ûâíƒüZo8Ì“7p˜Ç?¢ÇøG¥` XHþcé£Ã'6E ±©äˆä¶äÈóñ¹kž·ÑK]mô¬ ô ‚RŸ@΢5ùËÔr$MISÒ”fÒLši‘o‘o‘o;ßv¾í|Ó»#Å‘âHQ“¡ÉÐd\×\×\×l(ØP°a±ßb¿Å~«z­êµª×¬ÐY¡³BKî–Ü-¹[ö]Ùweß®®®a:¦cú·>?3fÌüéI‡ *þ==MO[}/9%9µ­ÂÛÃo¬“02aäÎUM&7™ì‘dUƪŒú(¿ŸßÏE“µd-ý -´0üÆÚØÿ?¦õ¸À…î¥{é^S™4ÒŠ´"­|ä›üÆ4ŸæÓ|tB'tb, ÆÂP];`*,gZhs†3œ #a$8Š£8J3hÍ0›¾f~?S€yOÞ“÷hæhB¢Ø¿œÔ™kÆ5ãšijjNi6¥Ù”f¾U|«øVQ,T,T,ÜØlc³Íº6îÚ¸kcÓ×VýõoÔ¿±íضcÛŽÆÆÆF\¸q=hyÐò åÜvn;·}l—±]Ævq¾é|Óù¦ÿ&þMÆ^{iì%QgÔ·wÙÞe{—jŠjŠj CCCòм"¯¾õHü 0…hkK×– §ÿñß„éÝ?o0÷o7ïIoòÞ"¬3„¸6U*\›jvòAšZ}z–{I¶q/é>ÄÓ}¿Ac&-yéLxçÉS$@>`!ÿÖcòO¼G_¼ç?‰uøOÊ›²=Ê›¾Gìûy“súyŒ1CL6f Ì#A¥†«Éd5-\² `‰CˆÚX^ÔËK±m$6TkøxCµ¶ç*hÛž“w·dLÞÁQ ìÁQöµäík‘B2ŒÒùˆ ó¡}©¼Ö¿.†š¶LÁL‘leŠ$[UÝuTÝšÌOh´À) hW‘mÏU¿£Åâwè‹Êèû­ô§BÆ‘qdœz—z—zWà‡À¦T˜RaJUŠ*E•"9-9-9½¢óŠÎ+:{Ôó¨çQ/h\и qãûŒï3¾Í!›C6‡¤ÞRo©÷XåXåXe¹’r%åJ´ùÚ|m>2 Sa!£Ŧ2„°„%,M…jLÒ/¨ú¨Ol‰-±ýɵj͘1ó·‚°d</Þ£,eí*ÈæÊænzÞðFÃ[­"¬"4eøWü+¶*rCQ„¢Ò²PLì¦)RÆ NpB@ i!-,U2cæO{ØÃó1ŸÌ‡3ö¢?Õâ Rpï7*enæ›Âø1~ŒŸ1Ó˜i̬ð¹Âç ŸMÙVúóúóúóZNËi¹Ã o0¼qËÆ-·¤Ÿégú¹hKÑ–¢-â}ñ¾xßj¶Õl«Ù‘¡‘¡‘¡Ø‡}اï®ï®ï®-Ök‹­Ü­Ü­Üm#m#m#µ±ÚXm¬¼‚¼‚¼BÐÆ AµiÚ4myA^T ” ¥™ºÔÔRQ†Ú'£ ÁwÖö4&h{ V4A°B ”C‹?u´™H1ŽHõ*A¢WUx`µ¨Âu?£RÝ/oœî@Þ¸JǬ™JÇtÏ„gºgØ `ó·îïNôÈã’™]\rI¤Îª$2rˆßæÈ!£ú݉Õ¯g¯5=ûXÇJåÖ±ÂgúUøŒ °A…RÓÔgñyxÉT&O™ÊB¾xRÈWyé+©¼†',ž¼Çi_𞹓ž,š;)®(Ç"®hNÝš“çÔU$p¢"A=Þ¸D=žõ%YßÒã|èœÉ÷Kïa½g©å6XjïÉÜ~ÿHv#.»QÇí÷vÜ^TE§)ªÂ*I-VY*V÷gÎÒÿ1ýÑý…MÂ&a“e9Ër–å¬:Zu´êhª©.w“»ÉÝØçìsö¹]±]±]±jžjžj^ð¨àQÁ£jEÕŠªe úÕêub_±¯ØW©Qj”Ã{Ã{Ã{]/]/]/æ"s‘¹Èø3þŒ¿#ä9F0‚M9´’Á’Á’ÁÆKÆKÆK¤,)KÊÒlšM³¿õИ1cæÁ –°d–°êy|¾Ogo¯Å^‹ 7ÁMío¬e¬Åf2/˜4žЂÒla3fÌüd¼Á¼¦Oèñ v`v2p†3Œ0þfþ`èMz“Þ47×ô½ÁTÝ$ñ¶eÛ²mKòJòJòòZåµÊkUp±àbÁER“Ô$59·óáWó«ùÕùùùyCò†ä ÑlÒlÒlb1˜G¥æt´>ZÍ®fW³«…ÂFa£æŠæŠæ yD‘Gô%}E_‚‡žŒ%d¬¸ŠâBif´‰}Gù`ûŽŸœŠ.|rZ×üeÅuÍûn¾V¥ïæ¯å4ª¯åv&5Ù»3iÑœZÍ©¶ÉѳڦⲆ=Åe…†ô“ÐA+r*Í 5Á(B £…&†Ñέº9_„'Á3ý®ªiú]fqd¶¡@ý/ô€q`ÀcˆÀGÐÑ|„ûLK'÷™õ‹Ëîª_¼«Áû »(#%g”‘ü>Z•ßGæ“P2¿ô^0™Á&ÿíA$à YCŽ’5L yʤäÏÐ9æÏ^ç$¯;ضyôÁ¶šÅüIÍâ¾K¯Iû.*ødŸ!·³Ï© :?R–øÀšJ‘‘FÄ4Âz4ÀzÝ(ášnÔQÅÇnGfz>í0Ór»$Çr»I“…HÄ bþ2¦/€(ˆ‚(ƒÄ` –`‰E3‹fÍÒ i†4CÌΘ1;…žBO¡§qªqªq*ó’yɼTõVõVõÎï—ß/¿_îÜ!¹C„¥ÂRaiNtNtNôýÔû©÷SS®¥\K¹&/”Ê Å%âq‰ú©ú©ú)R‘ŠTSá1ÎÀ8C¶_¶_¶ŸIræÇ:f~!¦;Âô'èjDÒÕº^ØÁ×y¾–q”xÈ8Ê`#Î5Ø»Š;Œ]¿!´¡ã…6¢'­)z¢Fýµ®g3I !Ò£ô}Á|GIbÉG½¯Þ×°Kx"™]Þ¦ìš0:ón÷Ñ™Ãâª\×s­÷‰žkU㌽TãˆF¢#SH0™büN¬hüΡ‘â´C£M ^ÎÛÔ@?Sì­ŸÙ³¿7Ó³!§¯XÈq9d —C@M”æÿÿE0i–2Ç™ãÌqƒ»ÁÝà~´øhñÑâo¼}ðVÛKÛKÛ«f‹š-j¶²aȆ!p7q“ñ`<úо¢¯QŠ(EÔÛ%o—¼]²qìÆ±Ç*V)V)V•T*©TRièᡇ‡ö ô ô œ?hþ ùƒÖ‡­[&Ìæ sçÏœ?sþL÷÷÷œ!›‡l²YsKsKs‹t"H§o=6)LF/ܺëþ­û³g5Îj|Üö¸íq[ëZÖµ¬k jA-¨1“1Ùä7–dI²$Y½k÷®Ý»öFçÎGqtÄу§ž:xêãä“?N~µùÕæW›%z‰^¢ŸAf$qbâÄĉã:ÆuŒ3¬5¬5¬%¡$”„~ëñø‹`„#±…ŒØbÞc=Šñô(I$l¤"€{¯°ñ—m²ñOö).Ÿì³ó軃;Nìu·éÄ^½ß\\×ûMÇgÚtlÐ3èBµžA£ònúÊÛÔæ¥÷¦6/&å®{1IªevHµ2—'Sq«™EÜjjÄzjD\Eâqú/X1óû!‚‚¸R¯ùÝŒ™_yµÒÌï5¤°&ÈÒI$XéƒüÙŸñ_Ô^¬Õ^LéV¼5¥Ûä/Uo$'íÌ´S2ša%£-=$––ByúB(O½J½KËç˜VôŠJ­™_†bi5Œ €ÚS{jÏ/ç—óË…zB=¡ž©œ†©z$)GÊ‘r4žÆÓx±•ØJlE†’¶d(_S ãkÚÜ’]¶¹µ½ux×í­Õ÷ Ô÷Y5™ÅªÅºb±®0Ž¿$ŒÓ4ÖW×4vóT\pó ìcÂBBXº‘¾¡aQZGù¿ Xâ€)ÄA½Ê¸Q½ªÎuMëÃWí2|ñ¨ ;‘£‚žFf‡?´–‡ÙGsÈ!îQ«o]ÄnÏnQe{¶MŒì¦M &¶âÃPΨN“QL“ÑnèÀjI_V›;_ó:w~í}ÆÚûf>ò¸<óQ¦çý·™žd¥bYÉÌ •™öoå«ìß_ð±Ëñ+ׯ®\»äIíNKž¸ ²¨å2ˆ?%†ò§È@T&¿õýrÈ:²Ž¬ú }…¾rW¹«ÜµOdŸÈ>‘C† µý`ûÁöCEËŠ–-6'lNØ\ª}™^¦—™ Ìfƒ~›~›~[åC•U>ÔPÚPÚPÊ«x¯ ˆ ˆ ˆÒŒ×Œ×Œ7I¥Zì´Øi±s¾v¾v¾ÖTCxgúÎôéö7ìoØßàóùlj‘ù­GåO F¨H7âEº‰‡0^!b›ÅÛÄmýnø ôëð¼â“Ï[¿ñ8Øú߇i~C´wŒ6Ú;£FãÂ陜žˆKDš‚šRê%3ó[!ƒ 2âI<‰'­B«Ð*Š:Š:Š:²(Y”,ʤýXr²ädÉIq¿¸_ÜOkÒš´&ÉEr‘òly¶<[]V]F]>ä!|8KÆ’³ p²_à¤UòéZ%£[U±ªiU…;ÂçŽ ©HB%ìC%±åÄzÆŠ%5Œ¡£Û¡ƒJ?§}ë¡ùF„ÔBR‹YBb™%ENúýEN=¢½Êöˆ–f3/¥Ù“Ú<ðšÔf`„ïñ=öùÜî±Ï" ±Hðï`?Ç¿ƒf7¯Ñ욊{„¦dÙN&‘£hEŽ¢)Ê¡)—t<+%N¬Tki<§µ”½ídïÝ Ä|÷î€î±ðH÷xQæÓM‹2oiÓoßÒ® +·>ªºƒã‚êE» ¯Šv±óÉ>v> -ûO…#ÿRÐOôýD‘F¤‘øB|!¾ÈÕäjr5vvvvvv;Üv¸íp‹­[;¶ö´¯Ó¾Nûª¾£¾£¾cÊãû‹ýÅþDK´D«9¥9¥9eŸgŸgŸ»?vìþUñ«âWŇõëÖ¿&j¢&bJbJbJTUU{½éõ¦×S²‰a¥a¥a%ÑÑa<Æc¼©ï·›?%:Б™$„ÌvQQØÅu'×]‘Ë}Pä^nšöìrÓ­‹Þm]¤Ìçö*ó'†mZe­Ãº*k-Œ\ˆ…Q®a—É5’0Æ # I¸Cå¸Ã{м‡q0=eœÝ¾Bãìöó÷>¨:oRFq礌~YïõËŠxå÷!âUO™wxO7’¹ÆÔãëÎq»˜vÜ.ÚŽž¥í`9ì¿õ0™1cÆŒ™ÿÁl6˜ùýA!Òg4›>cüˆ=ã§·¶ë­Ð™h[±uõŠmÖ± òÖ±ñ‰êøÄµu_Ü_[÷öçôÅ·?×pqZXÃ¥Ÿ—o»~^•²m啲‹Ïéó¨#G<Ñ›xÒT¨hª9ú7#)H¡5h ZƒÙÅìbv½Ã;¼Ã¹£çŽž;Z¦A™et|ÛñmÇ·ŠŠŠ’*’*’*… ŒÍŽÍŽÍI I Iåø |=ƒïèÍ\~¢f.9CÏ‘3’…Ò)’…÷vßÛ~o÷5Í5Í5 ãΔeÜïïïCCBï†o¿J:®¤½Aoа͟¥Fï·æAGóˆB‰s“|anV4„VìøÎ³lÇwŽVW=º>-\èz÷I†ÿÝ'7WŠê¼9<¨<dﯸ`ïoèÅ4ôÒß:ëo gèáŒØŽ;0ɦ1w–|ÏU¨¤O*;oEy;ï’ Á¢$èÜÒ4—sKwF=é±3Ê>Çâ }ξ¶Í2öµuIRD¹$k …ÅÖŠ´a­Jã2LšÏ]ì`;FÃhEgÑY¶é¶é¶é›Ÿm~¶ùÙÑ7Gß}³µùÖæ[›—O*ŸT>I® ׆Ûm³Ûf·MÛ^Û^Û^Ø-ìv+_*_*_îºgèž¡;5;5;5½§÷žÞ{zäÒÈ¥‘KÓ_¦¿LéQÉ£’G¥sQç¢ÎEEzDzDzPJ)¥ãTãTãT…¯ _¾bÜ7ÆÐZð­‡æO@I5âDª ‰ÔAH”6dZH¢‚Ðiþ̘óg>XŸix°~òÙê“϶Ù[!³Í^õ£AýAlBïŠMP ‡QM{€ÏÔÐxã€Æ›vÄ;Ú‘ÔÃR›Ñ›%û¸ö’}ÒsÌzé¹2>ŸËø,ÓðÞ²1Ï&§Öz6yцgMmxX6sÈò‹Ô~±¨ã*ùgÇUª‰Æ¾ª‰ÜT&„›J·ÒWt«IÖî[™3f̘̰™? Hh"-¤‰¥ÊzÐó×Ųüõ¢qzÿ¢q_­Ô_·G4ëº=âÉ쌅Of¾ñqõáãjÜ}8®FÈÝ2µCîéåï=¤—Mi ›‚½(øEC°æ èß ÊQŽròyŽ<'uNêœÔ9Û¬·Yo³v¾â|ÅùÊ›[on½¹•––6#lFØŒ°üÇùó/,XX°°àéõ§×Ÿ^mÛ"¶E~™ü2ùeØ:¬'[‡øa/ñ:ŠÑBG›çY6Ïg´šÑjF«!5BjØëìuö:jA-¨M¥©4µT׌mƆf@C3 ‡5ôlbdÛUÖŸ.ªëP- ÷p^‹'‡óö |oØ3ð°ß‡¡‡ýö8¾¹Ç±†ŸST ¿Ú9.Ùµs|®Únñ¹ê*ßä*Ïä:É35+‹4+³$ju–äÞÀ¼Ð{ÏÎQ|vþ½ìÄ™÷²Ó['[¤·îíèÕÛ±{™Ê5º—QOä·ª'ªÏðÓÕgXG&‰u¤4ž”êNÿÕ¹ˆ‹¸hJàÒ¸4.íL3=ÎôˆY³6fí‘aG†VNZNZNZ¼£xGñ…ÂFa³{ðîÁ»‡¾ }ú¶BË -+´ÜÓyOç=5~ÔøQãG6Ùx¤zxõðêáô½Eoa'vb§äääcuÇêŽÕ—E/‹^Y/²^d=ÿ þü/4ˆmÛ V'è@ŠI1)þõ'÷7Á$p%©øšÎ_K2˜Ó’ a­,,šÀÞß<5®ןøÔêÓ‰Ov®2¥kn„¶on„Í@Ù'›†ò‚ÖPÞxM”¯1õЩ‡ShS¤„“;°$wÄDôiMz“Ö”6`[Ià‘дÃô+µÃªì³[Re߉½­ºžØ»`_LÓû†<¼uvÈóÂ*nœåúPyÓõ¡Fi¼ªQ²îÄŠu§PÓ óB­3fÌüøK†¨™ùËcRË4=.7‚;±e™vlYCmÁÕPûë#•Õ×G!Ù.C²×gÿœýsö?yúäé“§“*Oª<©²ï%ßK¾—†÷Þcxãiãiãé;tîÐY]O]O]ÏkŽ×¯9³g%ÎJLXŸ°>a=©Ajè†nèö­GåO†Fhˆ?±'þÄ Râ$ÙÉäJvÎnùØgvKÎ…Là\voh2m÷Ù86T6.»•69»•ã~ËÇý¸{;&p²ð8À¦®”±©+¶@ ±…Ik€T'N¤:ÿ™žæ?K:3)’ÎÊhÎ[}FòyïÉS¹çµ§rî{a÷½Æ Äk êTc'uêâËuG,¾Üð¼«OÃó“FÜǤÅ0bHV±½%«Ä¬KJÕ+̘1cÆÌŸ³ØÌ·@…`Ò̤ß#ž~o*:‡J?1W¤Ÿìê(6ÙÕIÝP”ºáZLZöµ˜‹ºÔÀ‹:¹U‘‡|^XhãyaÖ÷¤ï¬ï £Ä·Â(´‡í¿õ)ýCÂh?Úö“­–­–­vÚè´Ñi£éMy+y+y«®ª®ª®ªË/7¾ÜxmôÚèµÑåg•ŸU~ÖÍÍ Ò†´ƒM69ؤ–¬–¬–¬æúšëk®?Q|¢øD±C‡=¬Î[·:b݉u'Ö9€Ž§ýèxÆ’œ`,Ù(ld£ƒmç;¿I/x“p÷ræè»—Iž“¼œ…Ú99 ey’`Y™‹þd.Í¥[hî߯ô &Á$ØeŒ2FÙ¯²_e¿êúç럯68œ ΆdC²!™À`Xž·XëÊ·Çñí8gâÂ9ã»·ÒŽK;¢2« ÄÈì'Fš Íd,Á1–Æy¢¥qžUIœU;¢æÈ´a–Nöòz^äËë+>¶»â£ÁGbðá0³¸ôöÒ#ù£5³óGO½QÃzêY•jfUZÑùyû—øÕ>¹ÄO˜'Öæ‘qP’q4 jšeЇúÖCiÆŒ3ÿ½˜ `3¦â&OQÔÈÝPWtÃØaÃ;…Úá]Þ Í´¼k­â¶¬µº÷:ÓúÞkn;±æ¶­È­׈0èˈïõe ç…ã†óBi©:´¹øÄ/ÃT¬ÙT-ùȧçè9zŽT&•Ie¡ŸÐOè§ Ñ„hBLgDZãØq NÁ)¸¯~_ý¾ú™¶óFÞÈù™üL~&6b#6^J»”v)­ŒgÏ2ž¥’?a1a1aNÎNÎNÎ ;…Âî ÝA»ƒv–],»Xv©êRÕ¥ªK@b@b@"ÅD1QB´-D#áÿÖÃô¿"@€@* ¤‚xJ<%ž’õ“õ“õ³ílÛÙ¶³é#ZFËh}ˆ>DÂx3ÞŒ7½B¯Ð+$‡ä»{v÷ìî‘XKb ´þZ­?žà ž * ŠQŒËG?¢~‹>`Ùb`Kx_ñ ï[Tݰ½¨:Y‡kdÜšý$·VŒáÎ*ÆC8B¡ <Ð;ñ;…3ÔS8ÃÙ2”³5¨Ä¹•®5Ÿ©k]ÚÈff· ø„Ú:Úó/°$ñËpAY¸ÐÉt<ÌŽdç°#•Ê©ÊËd˳–É$“ä‘L<Æ#<t‚NЉÃÅáâpéJéJéJimiimñ€¸[< #;*c¹^–HuR•TÇ Áz˜¦‡…FB#¡ÕR-ÕÒXKc™"¦€)2v2ö5vbú1QL?êIµÔöp€=xðfÿ!%$PŠ¡4L ••a%²2 Ó ¦%L»È¥]äÖŸi·þŒpŠ §„dê*$³Û™Æìvþ’0œ¿оéϽ"ýј,Bc€6@1”DñjÉ8ÔŠ›S+nöœ{OòæÜs§–«Ýéá=-:Þ£œÉ±Ê™ÚþBˆ¶?i ?Ò–ÙƒgÌy((òÒyyÍnTsøìFýû__пÿÍž_¦ÞìÙåê4†6Žo§#Ö˜C¬¡í·J3f̘ùïÅl›ùý1iØ–ƒ%)G·àÝÂx“LÆ[Q—«¦¨«É5nÔä®»vÈåõi».¯wwµtrwœæ·>rZë£âZ5Ä  ñ…× U ¯³½I¶7¹GræCGóÍ¦ï¯Ø{bOÑcô3‹™ÅÌb¬‚U éH7y2™P&”)­Djübübüò(ðQà£Àš“jNª9©ô8ÓÉt2+±+M[躀.†HC¤¥Æ3w‚;Á ûé~ºŸ;ÉäNw=îzܵL…2ÊTÀLÌÄLÕNÕNÕNá°pX8LHI0Yèjl`Z™V¦•å{ä{ä{Þ.x»àí‚ÍŸ6Úü‰?ÉŸäOŽÁŒAÀðz^§×9‘9/á%¼d—ÿ.ÿ]þo¿=þöx˜c˜c˜cËŒ–-3 Ä@ Û±ÛÑ ½Ð ÿi8LžXZZ1RK|Á@|!"_¡ÁWá µž@E'A…VЪÔkÝUИ~G¿£ßÑkô½F>à9ù@Ú’‘¤-€cô¡ÿá¢Áß9QÄB@,ê!õ0HLÇ ¾Þç ‘ˆþH„|à_T†/\ࡎPO¨ƒ`¸"upuðQØ…B.t¡VØJ­P@] ÅP …7¼ám*3,¨!BUØ€UÌ[Ry+̤…™$íH4MFMþ¯R2åýÆ!qªX¸K;Y¸¯á_Ü[Ã÷ˆööí]~UBù%+ÍKV’qØNÆÑat fB9ÊAnª Œ#XŒ#ˆÇhÄ“vNÚÙÕ’_´«upT{pÔÖyoJ¶Îë{¶²¶ïÙ¡ÁU^ VÇ{ªc4턚vl{¶=¡£i M@!M`1“qõX#êI' ¦|©ž<åË¢YO%‹f5léz·aK œÃ œ3•"ûûEO˜1cÆÌ_…ÿÖŸR3$<(xŠ#4”™AÞ23Ô2c#µìxõDßãÕOÝOÒºïYd³Î³hB`ÐÜ F¹mk0JÌÎVç+uËó•d$v‘‘\âÈ•¡™ÐÒLÊBKÙ¿­ê„ž¢§è)¦Ó‰éd¨j¨j¨ZR¹¤rIeÙrÙrÙrË©–S-§æOÉŸ’?%}Núœô9/6½ØôbÓGò‘|$QG¢ŽDÑ=Ñ=Ñ=a嬜•“Ƥ1il:²O[Ÿ¶>mbbbPQQS )ÐØuµëj×1ˆALnܹ=dI²$Y’ ‚ p}¸>\ò<$K±þüX–Ò×Ò×Ò×<ðhÀ‚C -84L1L1L!¶[‹­'ùLò™ä3Øüaó‡…®]º^j%µ’ZM“L“L“è/é/é/µ\ÚriË¥§+ž®xº¢¡»¡»¡{»>íú´ëc¤Fj¤(A JLmýŒ¾™²M…Xþ÷r,Yp@> ‘ )2ñX{øM1™XOñOIO²ôä_‹Ýø×ú(¾¡>Êê…lºÕ ¡© 4%Ÿ1˜|¦¹ÐÑ\èa€ž4FiL]±º²×™Sìõ’¦†Ç%MeƒØ‘²A\}FËÕ§Oi8} 8À¿tÁÎp$v;ú:úDÀ‹D}Ð+Š>Ø´‘u´i#øˆ;RHš†šö_j8q àÄT&ž°qzØ8<ÈÊ`dsE+cnƒ¹e?5˜k8.¶4G?„ tà¡ûÇÂivyÃ?BwðGЀÍCÑ’Ž-'¥ßŸ5)ýí¤|ÍÛI«/ÔŸ³úBèê2µCW,×=/XN2ŠìbÍ. éú,È) ¦ÀfF‚qŒÄÐOô3ôóko÷Ö¯}Å$kMÅ¤Ó ’ûœ^Ðkªwã^S úëÖ‚D°y½t3f̘ùËòß÷#jæ' Zd g¨(œQ¾•”W¾½èšÚè¢ë¤ƒžO:xÖ!%ðì”á5¦ ÿè³2ü£pJ¸%œÊk¦›‘׌“18³˜X2‹it4Ǥüùã‡3¿q«¸UÜjaaaaañ:ûuöëì‘-F¶ÙâSΧœO95üjøÕðë0¾Ãøã»;wwîî¼/d_Ⱦq/ƽ÷Âå¡ËC—‡†"C‘¡Hé¡ôPzŒ6:̸¸¸bDòˆäÉ_l¿Ø~±mäÕÈ«‘WêèÔÑ©£ƒ²‚²‚²ú¶ïÛ¾o{»)vS즰wÙ»ì]n'·“Û‰>èƒ>4‹fÑ,SEâo=B?a WŠ+Å•’{’{’{Çýû÷Ÿv}Úõi×{Mí5µ×Ô>}úL<}ðôÁÇÇÇÒiÒiÒiÆÚÆÚÆÚ>3|føÌ˜67lnX[Ú–¶¥ÓÒ§¥OK?ûøì㳋->ʆ±al˜)³ú[ŸëߌPQ먨lÂõQ69*M|vTÚká5×^ ¹H2’‹¤ ì¢ ‚c4¤t€‚‚ÒZ8IkQ5–S5w•¹Ã]í~unïô£ƒ>ú¤¬ÃuRÖ¡ 6QÆÔJi‹(Ú§ii »TZò2=/àezsõY‹æê¢›úE7É|²ƒÌ§ ¶Pæ¿Zë>ÅH¡ÕqŽVçf²k¹™×?¿¹è©¶¹ç©ö²IòÒ>ã+hŸÆÅ?ÅDü Òfˆ½iS±·=‘Wµ'©ŽI©Ž}—_“ö]®YÌŸÔ,>ضyôÁ¶Á뜄àuùçtŽùç˜Tò”IeÖ’£ÌZz€&ÐÿFòM Rš Ííh h§hÁQE‹&{ËÙ6Ù{®bòîs‰ÈÜ'":à!:à>á·P3f̘ùïÅì6óûã%ÜÙ8R+ö3-öëùÅ{kÏ/>«l{ú¬ÚÖãíÉm=&¤Üm9!¥î—quGD¬®±Úò’ÄÓò’ÎÍ0TçÆX3ekšM³hö·>™¿ìöûAå¢rQ¹ÔUsTÍQç§ŸŸ~~ºz­z­z­ÑÁè`tè}±÷ÅÞ8 pà$žωçô-ô-ô-ô/õ/õ/1#1RqMqMq-¢ZDµˆjêÉêÉêÉnËÝ–»-_]°º`u3žÏŒ‡Zhu×u×u×™cÌ1昡œ¡œ¡œxG¼#ÞA0‚ü—,}4c1–d ’‘ú9õsêçjÕª¨æ¨æ¨æÐWô}x,ðXà±³7ÎÞ8›5°ÖPÒ­¤[I·A5ÕTC­R«Ô*¾˜/æ‹Y–ðmù¶|[ÓrŒ0Âø­Oòo)¢z±¤7WC—WãòžÔ¬Ë{Xw¢fÝO^J 9y©cå}óé¶ä7b¥¤+-=Goœ}®ü¼}î¡ôz(Q“ZŒú².­áe]—¢Jãº)|¹î _1êÅt“€) )Ë¥rþ«ÌY$sÛkùÞw¯¥ë‹x×#;οk±ãüü°Zoæ‡åÙhÔy6œ#ãìP #ŠK}È&“øò S T¾I‡\im€Þ¦}r…IДœ ¡i˜ßtùª®¢‡Œa/ɘ¯Õ¿^üºI³íë¦6QuÚDÁWTÁÑÁA ®tN¥`!EŠ„¬C€Ån°ÅŽƒ›â]nÊ©§«•S¯ýÊŠšö+‡ì¨ÂÙ¡if<¤iVRݸ§¤:›K²¹øVøŽ.¡tÉÿ1Î pP \QOèD§* ·©Qi¸t»B:ìm‡<ú¶C¥ë:•tÓ„~ºiäî’gÀ¬™1cÆŒ™ÿ³læ÷ÇôˆVΨÁÔ%K˜º†Qb7èšÍÊd×lVßÇU_ßçâÆä¦7žÙ÷åÀ™}}åÛVô•/ïÕöøò^•»–oP¹«.ݠХ ú7Ï?üá÷è=z„‘0Æ/äò ó ó óÙ¥ìRv)z z˜™Ô}Õ}Õ}IÒ€4` ™B¦¦?-´ÐRêA=´³µ³µ³™§ÌSæ©ÐFh#´)©VR­¤­MkÓÚ¤©Gê‘v¤i+XÁŠÄƒ†hˆ†Ð@Íï|º,Dˆ(AŠè4Æ~e µ \àbª+©*©*©jlllllL'ÑIt’D-QKÔ’å’å’å’.’.’.´€Ð´A´ÑjµV“¬&YMJ|Ÿø>ñýôÍÓ7Oß~2üdøI›«6Wm®¼ ^/ÔAÔùLJÀ#x”EYØÓ%t Loˆ/Å— L óG-OÐgôDzƒÞ "µ 8F;ÓÎ¥­‹bœñ?ö‡‚‚ÈF6ÖA %­ X "ÄÒß¾¼` 'ÑúŠ~¥ñlþ¨>²ÙM¢<æ&i2¿ÜÂ&óOvLÚ}²cëÕËZ¯–j˜ÅRP›žj› U0K¤Š‚CAÌùÉ)3ÏOQ'`Àˆ:7ç}™ss^tfò¾è̯ý6x­žbtSOaÃ$“iº0Ùr°ä•åà»þ~wý ãôu ãfÏ ±š=绯qS¿ûšT³Ð7©¦«—²Œ«—ÞQ(Ò;’/xJ¾@94ô;šJ¿ƒ/^Ààˆ 0Bø§å Ó5ÖCN!…åAAKCpšñ,@ ââL†œ¿Å0dûvë:ƒ ‡c`‡¯¤,Šð‰®žzÃv‚ òóCëi=¬¡õ¸~¤+×/=CEÒ3T­çT­}æÚMò™«*â3TE˜ˆa˜(.ÇHqyé/E"Š‘HßÒxúÂ$ˆ}i}±o¬[ήX·]9MîÊ©qÁٵƅWÝéWf% `V²•ÎV* 87B„ñ§/1]hLvŠ…CqÙÊše?XÛJEkÛ÷w󯿿[%Ö~W•XÍK~‚æ¥9ŒÉŒ3f¾fØÌ…7m`Kض£1£¡†j²’¬$+K«ð\Ã5\+Ý·E(*}]•Q™l'ÛÉö§Ž2`þç¹1©øÁÔìŽîè^úú0}MZÍE°‚©G–‘e ÐMÄWàÀA ¿ÔËZZ¾¨ÓŽi—w>ï|Þy^Ëky­Õ.«]V»ž&=MzštYqYqYQ˜R˜R˜Âîdw²;¥Ý¥Ý¥ÝÕ‚ZP kâ×į‰VûYígµº tèÒáR‡K.i¶h¶h¶à:®ã:Ú¢-Úš§—ñ‘AVº´dÊ6®!(HVá`žòˆò\8 ΂8üî3eÕCEI‰¤„8(¬Öô˜ÔEêSëÊÊpà䜜HÿÍÎRHቤÐ!$šD³Sé!zHÖpca;$C„(mŒC´1qÇFâ.ÞçSÄûfÅ÷?0kÙ㺫–=®›é2µnæ¾úñ›÷Õ¿Õ*½ú­V.V¼ÝábÉ1ã¹’c¦ݹŠîW[%W¿ÚJÕÔØTÕ´ë®Jã»îr=¯œæz~ú”G9Ó§ô¼#{ PáT´.Ò>âD¬'JÙRç-3ß|Þ2³•£Gq+ÇFW+¸7ºzæmòŒ3o4? éü¬Úsçgiñý´‡¸*Œ7WE 3ÄpeŽâ…2‡èØIDGãè”OiÖ+™ÈF6†bf‰;q·õ•‹Xj€JÒô!Ùÿ;ñ ‰? ?f켫·±-,ÎúØB•ïÇÄÂÒQãŸOêÑ z?:qL¶'±%Ö²X:‹ÎÂc”C9ÈÀƒ‡üç^b?ºEì'k ­/k Uª%ôW=|8vò@åF*·ì*YoÙNاÒݬ`„•Á 60i*@÷#ˆîŸ;½æú¹Ókظî¬a“kYÂåZJ%Ì©„v@ í@ÃQLÃÿùËë'3þÈ/¦íùÅö÷d›íïÉw³e仿d©ð% `¿¨ ÞPþ€ÉŒ3fÌü fØÌÅõK ³‡”cöà"Vâb¾Q÷*ßè K8úÓ:ÿé {î…Â^,K›ŠeÑ•ÑÒìû5ó ¡ aRñz »…ݺÏ@€ü0žã9m¨ôËOÞ’·ä­XA¬ V¨6°ÚÀjW,Y±dÅ’Nþü;ùg»f»f»ìx°ãÁŽä¹Gî¥}Iû’ö%-!-!-aôôÑÓGOwÚã´ÇiO¿Yýfõ›%o-o-oäãïãïãO&‘IdCçÐ9P@Åï2J‰H„ þðG$N‡‹i=Óz×Xöa×2¯%âr éä³Ä,³¸kq—{Ÿõ> ÇÒ—§/§ÇÂÂð4¿i~Sãqè±3áÙ4SÉ2‡Q‹„EEû˜vL»Ìª$Š×qr$‚ žïJù®v]$íºìNI¯·;¥Ê~Ç™UöHí»HiNÓ€~'*;ô;qôãÇsG?6‰.7 I4ûŽÔdß™Z,y`PòàhÌÇsGcúyW>ÐÏ›öÅ}Ú·Ê&ûuU6Uicß´J›ÝÕߟÞ]}Ü›j¹ãÞdGª­³#+)¶:WºØ:%ùbk~9Ã/o>¸|IóÁØÆ3ØÖ+Íût¯´ÅCŸ_<ôýã¼åï{zÚDzzjÊÇiÊÉOKFÈO?›ü>ïÙdÜÔmÇMn{››„v˜v&­ZD‹0˜t'ÝE8Zm1‹PBݑ䷯ðŠŽTÿ)3BŸˆ¦·ÜTU7Z 65zW0 ÆÏš1P¨of¼Â3ç‰ãi"éeY‰¥b[ã¹"zéÏ£"èP:™ÄŽØáÓϾ"éB1Òz¼$Âzü»Ö9«ÞµN.«*—\öVzJÊ­ôªŸZ@™­$œÙJ¼ '^¥»± `ËÅ“Æå®ë•g]×§iKÆ¥ià+ ®1>×°iÌ;6Š˜BEð`Àÿª:½!pFˆ˜I=ÄL’Ç} y’AŒ\2¨h»!½h;@úˆÂDa!€…¿ÿdÆŒ3fþ̰™o)œ¬”˜2¦¸jL®:¡':icù/ÚXº µé&Ò 5I't€¾u§Íüe¡ È öÄž‘Ó»ô®š´‚öäJBÙb%Vꢀìúe‡gê2u™ºj7µ›ÚmÁ÷ ¾_ð}tDtDtÄñöÇÛoOåTNå³GÍ5{wŒ;ÆË}œû8÷qqçâÎŽªxUñªÂ=ážpO¢Ã£Ã£ÃUçTçTçZ†· oî;ÄwˆïêL©s©ŸÜäÎArà/x•Vˆý±"ºÉŸ‚¤  Ê Œ)à`Àg|Æg¨ ‚ª´Â°)}ÙE® á†eÛ—m_&ÝÕÕÕµnÊÅ©§êÏÓšÂ<Á<@ü4keP¢4Wš ‡4eš’KIÁ–;Ÿï|ÆÓŸ$1˜øwà8 > É@‰¯Þ 7äÅqݸnö³zVoœH¯Ò«Œ8ÐÐ@ }GÖÐwòG¢§üQþw6Ãó¿ilyo¤QƱ d\Á½sÁ‡N=Çwj¼gðû´=ƒ¼ÉŒ{ð¦éàr£š65xwé—íw—Ÿ3¤ŸëÔØ³^§ÆùôÃóÙ^“6³½ÖeH%ÿ.CVEÄ5_Ñw—oß] )w^!Õ¾²µ¯N?øÔôôƒe‡5ô(¶îëQüõ¦zô×›µŽºÎ­u´lC‹e^˜ZÿÂì± km Mdœ¤‰©îêó©îc¢ŽçŒ‰ê8ÚzyÇÑÖoå¬õ[á°xM8 /X 'q’ð$˜óYFO£§‹‘]Ì.vvflÉ#zƒÞWÁ VdöO™ÒŒÞĹ²îí¾,‡„lÐû 1»PI*VIDǦžºËˆ»øÖ¶ÖÒ,>H[=ÿÞ‘´û’V’VLzŒC2à}ðs/ú<}«èIŠ=:ñá ’tVÍ“t[ª¾žº¥ª&S¨¬Éd†‘Ì0„CúÊá_Óâk+kÉ+ë„!…džH]™NRWÌÅÌ…$°€ t¥,˜_l ¬é<¦SR Ád& B©ZÅsìÃs¤ÒõHÈOó¼›1cÆŒ™ß"(h©ÈÊ¥Ì^63&c¸z›6,4'YpÂ]8AhöýšùU0` ¦I4‰|"ãÈ8þžÔVj›(Эt+;–°¤+_q‰¹Ã娑ìHv䀗^x9ððÀÛ>"Zˆ¢<àC¤!ÒYå]•wUÞµž×z^ëyhŒÆhŒš¨‰š@‰©Nl±c±c±#EgÑY¥æëP ÅP²‹ì"»Js‰ía{Ów8q$ŽÄ‘Ö 5h âK|‰/¤BJ§Ò©t*­@+Ð ìv »†9Áœ`Nð¡|(j’Ú"Ť˜Ü3>0>0¸8g:gºj§ºLu©p/ñRåŒ ±;n€üª!û¿¡kéZˆDJ¤pxsäÍ<½1ãÆ <º{ènò”OçӑĹqnÿÖ@;Œþà=«±:p<€üü÷àG¥ÆØ l†\(„\í¥Ù­öÒ•ÆéÊ2—H&sI\ƒ âšÑKsF/ÙèüjÇFç¦ýËÉ›ö7í¾ñä«mOŽŽ ì9:Nœ'q{‡x°wT“Œ–ªI ê”]Ù ÎѽïÝ»/&¾ü¾˜‰›jérî‡3—s?wQÅ~î²,³Îˆe™%µôËKjI-˜ R µQŸ¡6ެÖ~|äðg·ËÖiˆç»NC* vØZiðª+÷ƒV]é3¨ËÔ>ƒ&, :aæâ:æ"Õ;È`‡ P ĉèŽîê N¦ïfóÿb&б y£[dBù oÒ5šPÐãÃr:&¤ÅÜ)dé=”­Gêá¡þž"Þ«>ºc~Õ8À#ÔB-¬€Ÿ/ECQ–† 2‰æž6½ã=mÞôXû¼é¦¶ïp`*_ÝX›¯Îíe2¸½B‚þ±# {_Ãé@i5éÀ.W£}»\5X Jƒ%3éÅL£óh&‡N¤èL§ˆ&7ô…/úBT?£ä^< ÏìÄQf'¦ ï0]˜"~'L±&“[¨@?RýÄþ&·Š3f̘ù™pA )`äýWÕ|4óg‚‚þ#+¬%$FÑ €Y-Ä̯‚Rš€Ld’…ÔžÚËöÂöô,ÔP—u¿8|Â'|b ˜¦ äKÉ—’/ùÈG>, , , $û%û%ûŒŒä­ä­ä­ÄD1QL,r-r-re˜&€j©–j Æ‚±`²˜,&‹YŬbV‘ d™ Ün ·å—å—å— K K KKó¨eAF:‘N¤“Ø\l.6ç¶qÛ¸md4MF›„Çdddô­ô­ô­TTTìÏÚŸµ?«  @ËÑrÔ]Ò^Ò^êRø¦ðMÁŽ ‹ ]_ûÆöääyDn‹¢ƒèE&’‰˜=ôÐÿ~F/ÑK•EÊ"8­.Zcê`u0’h MARþ¡üC4‰{Žú·°IêL %©‹[¸¥¿Oxj¡Êa'ôÐÃäÙÔÈa@R@çT:‡íÆô`»1ûÐÙ‡ÏÈÅgÃcAgx\oMÙçõÖìÑ¿¶Góí—¾7ßš<ðÊ ’ï•êÉËÖ­'7œ‚ çÉ.Œ$»„[t¿pKú•m"ýÚ©‹§}§.»û½ß³»_¯!ù{ ¹Ÿ:ÿb|KßòZú:ì°(ë°#ÏA«Ìs¬b–HV\„sßsv2ßsAwÏÝ9_’ây¾¤Ù¾¸Ù“Œ“êG''î*stâ.ÍÒ"ÍRÍ4ÞR3‰$ý™È•hR@9>à^‘(ƒ2ÌZ8ÂmÀƒ§!ðÃ}Ñ ß‹ë!Úú{Ÿ€“ó  Ö8òñÜÍ&8ë¿£÷xèr‡ååÒ%d2ÕÉxrY%X«m`Ãj¨!€óóóØÅ8ºOŒ³’JîZI‰J—CT†g4Ïðì³[ÎËÏn×$ý,® ñ¾` d:)(]6MB!’ŒõÄ[Æz®Pr®0$ƒ É—š¦=ºÔ´Åàò[ ¶ðàÊYxhvó+5»-{IXöÒúéÓ 4šV@0œü÷ÀÿÍY$ã,ëËô`}ÕQ†ê(}€PVà<Üb¼óp@ŒÈU´'WÑ @³ßï2cÆŒ3ÿ Žp‚ˆ@x2ã0––` Þá>$pÿÖÝ3ó_ öJ¼½Ð‹?‡<äÑšÐB‹ €H’™¿7&c@ ’ˆ@qpù•†\@Þ7ä ŸÆ§ñi‡üùò¿²âÊŠ++ªŒ­2¶ÊØéÌtf:“Ö0­aZÃÙ;gs«ýVû­öN1N1N1*•‡ÊÃÉÑÉÑÉq˺-붬«¥©¥©¥©º»ê‹.]*ºä0ÕaªÃÔ#îGܸ_lz±éŦ{õ{õ{õÅÛ‹·o7iDËËËäää¼9òæÈ›3–ÌX2cIíøÚñµãcÅŠ´uøÖá[‡ç¶Êm•Ûª½o{ßö¾=>÷øÜã3¢3×í®Û]·Ü“º'u&Ý:Ý:=«]¹våÚ zdè‘¡]”QÊ(e”ÐTh*Äà0ãðï8]géYˆÜIî$‘²Ö@1RF )©@*@Ê}Ç})›Â¦ü[€I.‹&?8ªÙ™ÿ˵ÐÒã)(D l¡€-55$P ~4Nð³Ú,éeµ¹Ç6ïµ=¶pM(<à g8ùÇ;ï=ÞYõ— ³ê_ÒÊx¬¤ÑB ZVBš±’|è'ç£õ• |ë+‡>ºNXïû²×zßO]Š?uY,­%[,-¬¢«\X…›K6sséêF¯0·Égæ¶–ç›iùa%U쇕LO|5=ñc|aóñ5ƒÊÄÖ òké ñk™¯ÕmÍ×J’¹ö’dlÃ6lû l ¿UþŒ) ˜ L,DkØN8X(wÐã©õ-Øa1Bš¢=œ%rÉWú”æÐ0àØßà:atXÇèÄ÷L¶ø¾ìK¿²K¬I†X?ú :ü9 æBçk5ª"ŒÖªƃD1¥>ÛŠ ¨Hœ°ˆ8AàB°Ú(½lµñrZjêå4c¦øÐ˜9ix5ëIý¶Ù*¼¶Ýš÷Åxk^à‡#w$½Ù ’Þ”¡‡(=èÿIÉâ?]JKðŒ.‘va<¥]²ªÇdTóµÕÁ^½l¼zñ>Â1Þ‡„à ùõcbÆŒ3f~ ^â}AkÓ:¨C?# Ÿ!… Ò¿d5N3]ŠPD–›^Òt€ÍfÚ‡ö‘<‚üè:aDà·î¢™¿¦¢\©P!YÐ ëg7þèz†ž‘…ÉÂda§3OgžÎLÖ'ë“õÛ·lß²}‹ÏÖˆ­[#4Aš MÐ¥Þ—z_ê½ hAÑ‚¢’¬’¬’,VÃjØÒ%žKï/½¿ôþó€Ï>`ϲgÙ³6l&ØLˆ±±±_øyáç…ŸŸã9žƒ dÙ@Ñ(E#Wž+Ï•7®1®1®Y¦]¦]¦=«>«>«Ft@‡’ã%ÇKŽ/]»468>8>8~娕£VŽ:òäÈ“#O® ¹6äÚ‹Í›-6Ÿ®ºþéúsnι9çfLhLhLè—€/_>Ìþ0ûÃlÅzÅzÅzS(õ·žÈß“·ÐTðÆ Öpƒ(KkÉšjöC89¦ñæ_h¼ÃSÊ7O)Ø­[Q°»ÀKgWà~½|¹ðëš þƒ&ˆE r´´*lkTDkf62ãôþð¹Uv›»ãÑÛ¸:[WÚÔÙÚÂR2ÆÂÅ(@1é _ÒJpP¢Ê£RôâOúô·ïÓßgµ­ÒgõUyš÷Uù€~²4õç4õ™.d%Óž°çï8J,dX¤ 3€A(%óùY?xtÉ$’Ðü߯âÏš¢³hMÎê¥>Ác€•Ác€^êj£>>wÍóñ’#’Û’#bS´›þ“™Ê€£_¡¦_RP…-T!j6´ÚPÓï ]¿ƒ£wÞͽs•mœ~•mdø­3‘ᔙ¥lûH¶ˆ>Á,úrp?Q¹º%Ρ¥¬Ë˪¥F©f§F Ð+ Û9 ¶S«ŒãÕ*f9ÆüBÅ3f̘1óëaà WâŠs8GÏáÐÄ Žpü·îž™ÿ&Ø ö€6k üw ; ä§e©™1ó¯˜ÌôP!åÂÞe±wIoT ½épt§Ãq i¸Vú˜ûã:N?åðÉCòÐXÖXÖX¶j½ªõªÖ›ø`⃉l¢m¢m¢GÔQgDOµ?ÕþTûùD>‘^A½‚zùN÷î;}òíÉ·'ß–õ”õ”õ,=Z1)&ÅâGñ£ø‘Égò™üä›É7“oN¯7½ÞôzNO8=á´½•½•½•xL<&#y$äY,µXj±töÙ7fß°¹hsÑæbÇÚkw¬­Z®Z®Zž4/i^Ò¼rŸË}.÷yDĈˆž=?z~œòhÊ£)îÑ{ô^éùŽ(7¢Üˆrž3^T­6U+·@¹ Ü}˜à§#ÙxA²a€Ãï>¦';Øp&ç<&þñ® ÙøMßRú¢2úŠßÑbñ;®"Ûž«´À) hAB³‚ù ÍTÝuTÝ%[™"ÉVLÁL)õê›þÿ ê¬p‡¦áŽj¢±jâØ¡µÇí.órí.›l¸}y²ÁÝqÞ[“¸³5Åê)&`cq‚‚8•.¢ýÓ#DIæ‘ c†˜lÌx“súyŒï»Ç¾G”7e{”7ùObþÞ£/Þÿî3eÆŒ3fþ Œàa,Õµ…-±‚YvÈÌŠ lÈsà;½d¯S9D)Nã=Þ‹ @‚ߺ‹fþ²è!@Oº‘Z¤ÝG}è¾"¹fW‘\•„X¶—”·l/ÖDs±¦Ø“¦ˆ=‘„"$•š<ÄÿËØ#ÏÉsò\X/¬ÖW¨Q5Âj©ÕR«¥ç/ž¿xþ¢UUUrŸrŸrŸv³v³vó”S6NÙh¼f¼f¼¶ÀqãGÓÑ"HžJžJžšª1/ò_ä¿Èà˜cމ¸q9â²f€f€f]J—Ò¥–Ë-—[.ßï¿ß¿ÿWï¯Þ_½/Z¼hñ"r˜&‡IkÒš´Ö¬Õ¬Õ¬ÍZ”µ(k‘©ãgãgãgÑɬ“Y'³Ži»¿•¿•¿•áŒáŒáÌÈy#眗ý>û}ö{Ï[ž·çV+ŸÓ{˜Eï™|¿ÿÈ„þ‡À'F*–le>K¶ßiüŒïn¦¤¿¼™2uq-Û©‹};Ù/õítâz’׉ë‡G´9<Ú~¤…£ýH~­X™_+žÆ$ñ4©JHÕÒo†çF1>³I¤›”W^›šWþÆñÏa7ŽGöÛ9¸$R—_É%3[¸däA¼o= f̘1óß Súólqùé2fÌü¶è+ ¯p‡ùJHB’hd(( ¿uÍüeÉ„ˆLºŠzÑUd;•ìy9Dæ÷rÈŒºÊΨû¢nnÍu­·I›YoS>”lW>ÜèsÁÔ'n¤~©oç_}>?‚~¢Ÿè'ØÁv†ù†ù†ùˆF4¢÷ßw~ßù½Oö>Ùû¤¿cÇþŽ&˜7òFÞhÚwõÍÕ7Wß|ñ2âeĉ'œx`hhˆ±‹±“ÛMn7¹Ý‹Œ/2<úyôóèw8àpÀá‘y‘gãØ86îêý«÷¯ÞŸ^³[³˜¿©YÌ$÷L=I?Гÿ&‚@ Ч4ƒ>Å] ÇÝ"O}÷"OÑ—‰¾$$²4Ëô_›ýˆú‘©NV0Õ«Ä5ÆU%†F%L&2™Lº™ÆÒÍ¿}Ê’éY%=#DÒd!Òr»$Çr{‡™žO;Ì<ªøØí¨B7J¸¦…õh€õ¤q#P #ŠülC­°ZÉ_³í䯗ÎI\v£÷çF7zß›˜qîÞĸ+¹ñqW¼[Ù¤z·ZûêÅžµ¯.I¾|éˆýEÅdû‹dÉÚ„ž¦M`¦b~d> %óù}´*¿O)9£ŒÜÕàý…] ê—ÝU¿Ø}¦¥“ûL>‚Žæ#ˆ€1Dø)¹Äf̘1cæ÷ƒƒFññTP…ŒÙ6ó‡B@JåXžÃ VÄT fDˆèÀ\³ÚÌ/§9Ð\h)´ZZOSβžvbÁ¬à Ö=ŒÝ´îáœ51–sÖø_²[å)¢‚ Aw/Ý-^`èQ¼€©¦-€–@ Úsügx†g¤©Ej< £ Ž68Úàù×ç_ŸÝMÖê×ê×ê ,*XÄŸãÏñçLëúèúèú„[†[†[^¿=þAƃŒ|>ø|ð‘O”O”OÔÐÐxäñÈ㑇®‡®‡®‡â¨â¨âèý'÷ŸÜòuâ׉_'bf`FªoªoªoeÇÊŽ•º;tw订¢RàZàZàÊf²™l&ª£:ªc%Vbå·žÚ?S®¸ ,dô)Í¡O™7Lã¦:éo:õ<äßóЙ_zߘ¹wÒûQ{'º´{Ô½¼ï´󾓌c‚$ãÈ9ô$çÀã-xNÊÄrRíU>V{ÕÏÛ¡–Ÿwšv@ë4-×›´áz#ý‘Jž³CÈóK#’µ—F,¿ñ¼Üò/Få~~1j||`ÔøxãZ:Õ¸–¾ ô™Gj‘yÆt!Á˜î0AÑÄa•ð´ WŸ6Ë–>m¶;£é¸Ýš4þ¨&ð…h´ô7Ð0cÆŒ3¿ÎT—’¼"WÉ{ŒFs´ÀdÜE8°(û­»gÆŒ3¿“/Ž@!¯ÈòŠï%ºð½hoņ¥N æ,uJ[<*ýí.÷·Ñ»Ü{»Ò®×¹>#+?ê3ræÍW3o]Ó¯)ºÆÞ!Ø;…#BÿµQ%ªD•õZëµÖk—Ü^r{Éí+V8´\ÕrUËUÓÊO+?­|ó¤æIÍ“üÃýÃýÃý.ú]ô»hÚW;S;S;Ó»­w[ï¶32fdÌÈxRéI¥'•³³³§$OIž’Lý©?õ7Õþ-æ‹ùb~bÖĬ‰Y†­†­†­m×·]ßv}×Þ]{wím|m|m|-©*©*©:»ÓìN³;©ï¨ï¨ï„¼ yò¶Y@³€fÛo>¼¹õëÖ;òlólólÇgÏŸmêÏú ë'¬Ÿ ŽG¤Ç¥Ç¥ÇÓ¶§mOÛno°7Øøæ|s¾¹ÉtÿÖSû0™šD°… ¶¥ÛM[~Š!jŠ&( ËüÂþ”åfÓ^&a-Óÿÿdlÿ½aAÀšD­˜³Ä™9«©À§k*Ì;]sмӑGnîˆ<âê«<ëêÛ)Þku§øüåZEþr1›³²çZŠóðRLÃKÄÐÄÉõqErÆŸœgü 9BÅ¥t™¸4|Eùºá+*gÚ-¬œ9«Ã£>³:L0>X0Á¸®¤Á½u%šcYMM£Mišý$ùeûI/—ç–¼\¾ôɳ×KŸ,©T§ñ’JÖ¶’0k[Íqþ´æ8©‰`R³t)ÄŒ3fÌ|S8ØÃö˜ùd>œ±ý©W‚{`À|ëî™1cÆÌÏÄdNðÁwXwñ:¦Š×7±à&Ç]”¿“†1S¥aé5‹f¥×¼5$}Ñ­!qö¹ú8ûúÏÊ©ÿ,¬ÈõbX‘a±àaXÌèÈIF‡Uè‡Uÿ©Aæ0s˜9¬¤¤Ô»Zïj½«µÚÙjg«%[J¶”lÑèt§TœRqŠgUϪžU}ù<òyT²¶dmÉZÙÙÙU‘ªHUägçgçgwéý¥÷—ÊBe¡²Ð‚Ù³ fóýø~|?HI }GßÑw /l¼°±>F£á^à…’†% K" YÈbª1Õ˜j#^x5â•ü™ü™üÊ¢,ÊN7uÞÔyk}¬õ±–ö;íwÚïÆêTù˜ïæ„nûnÎôóŒÓÏ‹ûÕ÷‘ÓÆŠä´Q¾ÜÎ#~ '^¹Ÿ2ñÊèÅ]F/®SÝES§zÑ*ýÆ¢UŒ)dÀ‚1W³7cÆŒ™?Þà ^S-_! ;PLƒ3úà0Œ€ž¤3fÌüV ˆ ,ˆ Çt¾1Šö3FI/2ƒ¥mä‹m>?/iøùù5¯´š×¼Ž'>9Vl»Jg»jÒÔjG&M­apö«a`‹ÈN¶H£ác4&„œeB¨µ n¥erþr‡Ü!w„4!MHó ð ð „HB$!Ä‚X ìÅ^ì5V2V2VÒnÑnÑn‘ZH-¤B¡P(’V¤ie*ƒ¤o¤o¤oä8Êq”ã(¡·Ð[è-N'‹“eQ²(YM¤‰4‘D¡¸¬¸¬¸,\® טp&œ —K‹¥Å¤é@:Ð9tcsÅæŠÍzšž¦§   ˜\&—É­Ö´ZÓjM™*L¦ŠÉ„ÖUÔUÔU$=IOÒÓûƒ÷ïUÚUiW¥a KX>Œãô–ZK­¥è-z‹ÞdDÑ<šGÍB>f¾ “b6a°0*j¼ª¢5æ9u¨1o}^ؼõySë>ü2µnü‰‚†ñ'†GUÝ3<Êé€bƒÓÊcìšW£µâËi­ Ç…a†ãÌ$rŸ™DÖš¬Eoø 7­FÓj\9ÏE©ó½UÅÂYq£Ç^ç1@1TÞR1”—ÚóÒÝÇÞ¹ï>¶gO¼×ž=ÕÕvOTwŠöìÙ)ºÐIŸYèÄä‘7L©…¤-€ž|ë3cÆŒ3J5 0”J½üwT™1cæ¯)ÔÙ XÑýH û1 ä ‘¯uÐäÕÔúæÕ\û]ÜöµßÝ{‘©º÷‚J"¹¡32k옑Ù`˜«wƒaú‰Â$ýDC–ðÑE“°”&1¡XÈ„Ò$:Ž&•˜ùá¦ô}E_‘Ф"©¨‰ÒDi¢¨õ ¥ñ5ïðïÈ1rŒ#wÉ]rW8%œN‘’@h<§ñPB %QQžžž‘mÿóGshÍ (è^º—îÜ7Á|%_ÉWšKsi®IȦКB*“ʤ²à%x ^‡qÇtd:2iÚƒöP§ªSÕ©HF2’± «°Š`ò0kOkOkOk´NZ'|ÅW|… *¨HCÒ4,5}³i6ÍþÖSnæ¿“””,ä,CÚ°LñgÃëâÏA™#ƒ2÷…7k¶/|îª'ésW ÷»Õt¸_ûëûµ¿Þ¡AEŸ lyÅd[ÞØ‡e죟!ØègðõÅb¾¾hIk‰–ÌM²‘¹ÉN%]Ø©…’‹B‰¨pˆ|SÀ]S§4¼¦ÞÿèU«ýŠUF¾Xµ¶^ý«këUÏuX=·°ƒ!³°Hž1¤ Ê‘&4jšó“•3fÌüiàJ¿’M*Ð?3˜Å¯Ì˜1óWÂT²è,Rp–™D¶2“ŒçEÞx~ËÆ×¶l¼ø1uÁÅeÒ-H™ôAn~òAnmô¶Ñz V†ž…»õs w³ e/¢zL"4 %4 ø © RH!¥é4¦üÏ_)npƒ[ék/xÁ -Ð-þI*X„°€ #a$Ì´™ö¥}ißÒÏa„Np‚€„S®Xd&3øÇ›i;ÚŽ¶3½þ§¾™*ú:À?î?®â*®þ뉚½¾fþtè @gÒÐf˜ö¬“šð•ÔÄn¢Ìßnâî§M†ï~z¼R¢ûñJŸ§ââó“I¯Nú¶­í{¸þ*×ðú«ü>Øõñûà²Ò¢Øe¥ÕjéL«ÕºÃüiÝá<Ý <‡eNÃ彪ŸšÜ«z&àÓ 3_^Ç?üòºvq¦vñ Kþm]bs˜ZlNÕ¿(¢l¦Û†^ ÖôÍ€†f˜%¯Ì˜1cæÏWúüÄ”þ±¥úÏf̘1ó×á(Rp”¾ÇúžÏLåÆ÷¨~%±Gõ´j%ŸÓªÍ+WóÓ¼ríûx¶_,Ó32}ÎÌ’193™êLU¦ºÄ•|–¸Ò÷(¤ïKU%` ùÖ§dÆŒ™ŸŒI{}Kw0͈;ÓŒ_-vâWLÔ³»‡y¿éÖrnùÍ-çÆzæ¼õ|u3oÔ«›—Ù´„ËìË·ówX¦è5…)ºta±.]:…ñ—N±®(Ým]Ñ}†M#÷®ÇK×c5N: ¯qr}¥Í×W²oÁ¼·oQ4ÍW4M,¼Ö³ L0›@/ÐzÁä—þÖƒbÆŒ3fþ=&Ï/‹Âþh!8¸a´Ù 6cÆÌ_†VpC+‹i$VX) +—µ¬“»¬åw ÷¼ÛÓ$¾æž&©US·Q~XË[[lÑŽ1VԎѰÆ< ˵aÎsmÈ' ŸhŠh’¹V§31¬ …}D³è#Æ Æ‘l"¯É¦üº›ù$í™’ö ǹ½j8®^ç²åëuVÍ3†«æé* ƒu•yKÑ™·ÇÓJâxE&’(î™Ã°ˆ>µˆàwj–ð;×GÜ·>ÂÎWÖÃÎ7W^|.W.Ée;IrÙhâÉFÓšLÌßfÌ@€¡tAÙ–°Ÿ‰ÏÄgÌ,f3‹$’D’Hci,5ÅO•î•|ä“d (¾ß‹ïq‡q˜éÁô`zК@À‚5‹É™ù-`|Z€6hCÚ -Ú6(@! Í™3¿¦å%Å¥ÿM[þç]3? p°À4Æa.Mæzµ·qñj¿\]÷ÕrõJŸº5Wú$<-X•ðt†Ç#n†Ç|·Ç{æ»e°jcë§ïG*‘夒0’f #ñ _ñ¬ô˜¦b3f¾% àÀAà‡°tóòmù³Î‹I"+:š‡^ðF/¶Ævyê#òÅÓ ŸŠ§kò}µ%ŽL‰£ÍdiY›ÉŽIòAŽIέ#[;Íqša›-;o›-Ó³2½±¼˜o,¯¿-äêoΉ÷ çØud>»ïÐïèGÒfÓ×ÌoŒ 98px€Ld"Å(†ä'TiáÁƒ'åIyRK°Kh ¡1$„„¨¡†úwì¹RHIMR“Ô¤”RJ-^[¼¶xÍnb7±›ÄB±P,—‰ËÄeâ&q“¸I¸(\.Šn¢›è&‹‡^ /…—d‹d‹d ¤4”!eH™o=%fþ>˜¿¬Í˜ùc! ¦õNšŒ2(Ëÿy‹®1—û˜ª¤@‡2ÁdŒqƒøÒ¸A?T?M?´‚ÚÚPA½CÖlíYÌÓÌ¢˜§G ? wŸ»o´1ÚmÄ3âñÌÓYOg=åœàœàœà6Ðm Û@~¿Ž_Wª—Á˜ µšùµp°‡=±Ã\ ·ðh ØÁ £K̘1óÛƒGÁØ„Mb@éö±˼žî„ 2Ø|ëŽþ1y~  £0Àv eç'‹m“ó®¨÷ç]©ÞÊ©lõV5.9?¬qééɯžžŒ¾ñéuôA×o`Ðõf5Ý·5«Ù9§’}çœ2í¡eÚ ]/pÐ"ÚR©-3 H À{¼§WÈr€ä’dóÄ¥° qšÿ­;ú_Æßc^¬!…uéÿÿ„=Šaò°AyØCûÿ¤oÆÌoŒ”®@,b™DK´…“õžzO­4TŠsC]ƒ8Ä…?üÁ—š…ÿ[£iEZQV$+’¥Ø¦Ø¦Ø&´Jh•Ъ­k[×¶®…' OžDWtEWÆ‚±`,˜±ÌXf,ê¡ê Ý…îBwÚŒ6£Íˆ’(‰’6¥MiSlÆfl&ÎÄ™8ãŽàˆ)TTØ(l6â<Îã<õ¦ÞÔ[”‹rQn÷ÝwvßÅãŒqÆmå¶•ÛVnÁÞ{ì½ätÉé’Ó±ÇvÛ¡lòÿØ;ï°(’íï«{0ä¨" ¢(ŠŠŠ9‡5Œ1‹ŠŠ9L˜"fÌ(¢bÀ¸fEAQAP‘†0¹»Þ?†½ïî½{wïÝàº;ŸÇgžžîšª:=CŸªs¾Ç¨“Q§¤AIƒ’µ×þ]ûw›ºo꾩û«ñ¯Æ¿ÿnÈ»!¸²âÊŠ+d6™MfÓÏô3ýüiI=zþ'h¡³þ3h«b÷õèÑóÛ“‰L~;/âÞsïï¹èþ×ùÿïêùŸÑåéDqÞAFß‘ D‘ Á+F,xU>K}«|VI’Ò·$©Ù©jåÍN­;ÝfõºÓc¶¸%ŒÙVô¼[XÑûdïö†QÂXÃ(.fr¸ÜþÚû›Qu1Î?&ŠzI¤/ž€¤³1›ïòµ»ø·Do=z~oÒ ƒŒ;E7ÓÍÆEn"·°Úϯ<¿,N‘8Âø¸è‰è _BݨJ\ˆ Ê¡†úÇ ðù‡üCÉÉÉ•´§iOÓžFt‹èÑÕ²ZV+1—˜KÌ-¯[^·¼nüÜø¹ñs]½zâK|‰¯Ù³9fs,gZδœi1Ôb¨ÅPK'K'K'Ë•–+-WZL³˜f1Íâ¬ÅY‹³ìv ;Æl€Ù³k-ÖZ¬µliÙÒ²¥¥…¥…¥7Ÿ›ÏÍ¿tþÒùKç½ã½ã½ãF8p‘½;{wönÿDÿDÿĵ{ÖîY»gWÁ®‚]o6¾Ùøf#w;È58jpÔ‡¸qâÊ4eš2 Ɔ±aº½å¯m=~(ƒÄWýãÀë]ßoÝC JPRU½SdºÂ*° l` [ØVíí¿Ã;¼ÓUø¬jAwfmÔFm]1üL•=¿W¸R? n‚k‚k²Õÿÿ-r ®p¥Õ~Uûº;AgÙä §ê®B!¬`+TGuTÿ‡ö;¹ÈEnU¡š¨‰šU¯¿õº ^°0 ‘ð§‘d,¹JÆZÍ2 V³Þ K¾îy÷*cÏ»”ÅN)ÖYz篳ÔÈyРF 5-*²«Èyvzý¡Í×Ò߆d$SO&œ uR÷S÷û"*;RväV º¡[›r,Â¢ŠžðƒŸ>çFo=z~o<`s&Ž4'ÍË¿WßPߘ3Ås“ç¦ñ/âã÷oK}ú`âuwww÷â®ÊÞÊÞ‚%ŒãEChM‚ø_|TPAET@«¾–÷Ïß?ÿü­ ·&ܚбEÇ[xóç=ŽZSkj}Úê´Õi«·mß¶}Û¶z‹ê-ª· È2 Û.Û.ÛÎæžÍ=›{†C ‡íbÚÅ´‹é­Ä[‰·s|s|s|s]r]r]`°„‘ÂHa¤ÀGà#ð©úáˆD$"‰q"Nìv ;EØGØGØGØOØOØÉÎdgb5Vcu•³¤[ÑóÛƒ•î%=OÏ3EºÿÿõÝÿ $à#>â#üáÖ›õf½…s„s„si‚4AÑ Ñ Z iD‘FXˆ…XH܈qÓý)B*R‘ ÀàkOÖÉÙ‰à!rñžB=EjsRËpª@e8Uüž-¿Ý—Ô0tß”+·¦\³5ÅÁá÷;~ ¿?6£Þر\Îp!ô}Mßa"a"Ô຾®çwG¬ð1–,&‹Ù Ä‹x‰&T½+…”üð¤“{±"VÄ Ð h øßãûª;YŸÔó[¡·‹=¿7ZPP¦.YHr_ècúØÊVb.1 h“Õ&+rèë ¯/\Ú”–fq]¢‘h4=y†gˆ ÌaÁ¿äÇ6Fc4ÆvlGU|™n××b˜Å0‹a¦]˜vaZ¢6Q›¨¥OéSúta…uÖ¯¯¯ˆ Ä+³Wf¯Ì.]Qº¢t…í&ÛM¶›Â   î;Þw¼ït4èhÐQáNáNáNQ?Q?Q¿%C– Y2äµãkÇ׎B¡‡ÐÃ-À-À- Ü­Ü­ÜMÙ]Ù]Ùl![ÈÑÑу §.œºpÊ2ß2ß2ŸL'ÓÉt>™Oæ“™úL}¦>YGÖ‘uºJõßü¢¼ž? úEÚocØn¦›éf&Œ c˜kÌ5æZåþÊý•ûåYò,y–(K”%Ê2)2)2)Â}ÜÇ}. ä•FJ#¥Q¥Y¥Y¥™NÐè{£ï¾7xfðÌà™öºöºö:z£7z£å(ÿÚCý‹ñß)LéÕóîS‡V÷'!éH'ÃÉp2\ÐVÐVÐVá®pW¸W¼¬xYñ’}þaߘ|6ùlòY0M0M0M»Y»Y»™ÙÉìdv²ÙÇìcõõõæ$s’9Ici,­Š øó£“§ (DOQ§õÙ§õÉbrš,¾)ÿ<à¦<¬ë eXW‡óÒvç×µõö[×ÖËÈæ—‘"Qk¨H,º¤|QtIE ²à x¢ Cö¥ôü1PPh!„5‹\lÁ5\£^˜‰™_“¯ÉÛÒn´í¸À… è±—ØKì%//¯Z£Z£ZSUìOWlCïnýzþŽváÀƒ‡JQJƒ€@÷»­‚úó¡ 5IM€®¤+AùËüehñ朗;ÿîncÁB d°Á ÂZ¤ …ÏA:Ò $°©ºÿÿÝ–A1$ð­ðOu¯«ŽÿoØCÒImR[öVuSu³ö-SSÿU-’[$/ÙÿHþHni*1’5«gcfcVNÕ7Ô7†xïªï€¶ -h QgQgQçJûJûJûèÉÑ“£'§E¤E¤EÄŠ?¨ÁÌ3Ìlªnªnª¶p³p³p›ßy~çùÑÑy÷¤Ý“vO ôôô¯Ö²ZËj-OæÌ;™'»/»/»oÊ›ò¦ü8Óq¦ãLuÎvÎΜ9;åò yFéÃÒ‡¥UR[4•¦ÒTq¼8^»çíž·{næ6s›9³³³€9ysòæä)•J¥RiXhXhX˜ç‘ç‘çÁ½áÞpoH( %¡ð€<¾öM¦ç¯€þçû[f/öbo•0@Úƒöˆ Œ Œ ¼sãÎ;7²eË>fénénéîqÛã¶ÇíÉÉ““''3Õ™êLõ©¦6šÚH¡ˆPDΤ3éL‘AdÐRf)³”ip£Á74Aš M®á®}í¡êù?Ñ•4¸Žë¸Îöaû°}n&ÜL¸™p¶ÝÙvgÛe̘=Pâ'ñ“ø¹>t}èúpj¿©ý¦ö³ ¶ ¶ æ‡ðCø!ëý×û¯÷§è:`íüµó×Î/ZP´ h`±`±`ñ×Þ/@'f“òIk’Öæ"‘Ü\ôbXÑúö?Kn¶ýهȲã"ú6Š èÛÙÄÁº³‰È•©%r•E©\eQÄ‹Ô%^B{F(´§©#}Œ ¨Q¡w}ÿD´DK´Ô½”ʤ2©L’.I—¤ëb[0 £0ªdhÉÐ’¡EöEöEöÖæÖæÖæÚ6Ú6Ú6$$šOóiþׯ_Ž¿¶]xð 0„!xLÆdšƒ dà•^…öÏ ©Fª4œ†ƒ2ë™õ§§“ꌖтÅ[¼à ן½¸•p‚Œè:šFÓØbCbLêcæ‘2h¡EÀúŸ®Ó%‹év&?áÀÙp6}CßBúsþ7’‘ -TPq%Ô”švµv™ê2•]Œ¸"Jž4<ŒoÝ6Úú…¤¡¤¡â·„[‚æX…UºËµ5´5´5Lo˜Þ0½qpéÁ¥—ZÆYÆYÆ]ȼy!sNû9íç´Ïm’Û$·‰€°V¬ Ö+ Š"&b"Vz)½”^ÅŠbE±¢ª¡”Ó•Ó•Ó™P&” åsø>G÷Yùoòßä¿‘ÈdvOìžØ=±r°r°r¨¼\y¹ò²ôµôµôõ­Â[…· Ϲs;ç¶9zsôæhÏÆž=s×¹ëÜõÒìÒìÒléuéuéu—$—$—$ƒÀAà@÷Ñ}tŒ`£¯}—éù+ w€¿at{¿Æ—Œ/_º«¼«¼«Ü'Ú'Ú':ž~<ýxzŸ:>u|2Úf´Íh{Ùù²óeçâIÅ“Š'Uó®æ]Í{ìȱ#ÇŽì•Þ+½Wº®µC‘‡"Eos¼Íñ6›?mþ´ù“ª»ª»ª»^mþ ©H$ ‰eIeIeIË3–g,ÏmÚ>´}û#í´?¢\¦\¦\¶Ìw™ï2ß ]A»‚vÈ>} ;*4*4*4¾y|óøæŽÃ‡;Çe\Æe~¿ˆ_ôµö‹¹lÜ õNë ™ùBçåSŸ4[>õÚ£·¯=S£ÞÖ15v´mç·£-ã«ÞrGUoÕC¹½ê¡Œ¼a„(Ãs”QUQ™¾¨ÉŸ*£2*Ó½~(}(}(½ásÃç†]N—Óå’/’/’/Wj_©}¥öó…Ï>_xxÍá5‡× |?ðýÀ÷²k²k²kúòö¿Y»è\)¤`‘Œd”SGêˆø„O˜ŒT¤Bþµ»¨çŸ¡a4 ”IaR T1*…Ø,SÚª´äÌæôAŸŸuG;¡  [覆¤¤AYcíCíÛc´Z E1y@0Í|ìûÉU•BˆÍ¸ƒ;¼^àÅ«MV­òä6¹M6ãîTók0¨ªÌ€Ñ~ä)OÍS%~¿wýee‡ ¾¶ñÚÆheÏ3=ÏH*ØIì$m q"NTK³h–Áƒ#L-M-M-ìììc­c­c­7ÄmˆÛ—Û ·Anu¦:S™YžYžYîtØé°Óav*;•Jž’§äiµ„j ÕÄNb'±“®;ÖÖÖ&wLî˜ÜùtäÓ‘OGÖ]XwaÝ… à à C‹"‹"‹"Ï(Ï(Ϩ3»Ïì>³û´ò´ò´rdÌȘ‘1k®¯¹¾æºE’E’EÒÍQ7GÝuzôéѧGwòèäÑÉÃÛÑÛÑÛ±"¸"¸"X÷˯ç×óëI0 &ÁXŽåXþµï2=ôð·Œì`G\‰+qUÍVÍVÍn~¢ù‰æ'ê$ÕIª“”Û"·En {{{ÿ0ÿ0ÿ°Ê¾•}+ûjóµùÚü®ûºî뺯ԹԹÔÙxñã=ï<Þy¼»frÍäš ¹@. UÊàzÉ??ºçÇ}؇}ê³ê³ê³µúÔêS«OãÆŒóy‚<ÍH›‘6#ûŸé¦ÿ™Cm8´ã0ãÑF´ÎMç¦s§gžžyzfU›ºŒbTP}íáýbÌ †‹ët¬à4¹*8mvL¼ØìXV¿²‡YýÒ7Édé›ÜΛq;ÏgRc>Ssžל§;0™î *l *ô3ú@ ú\£Ÿá‡ª§ ̵¢VÔ K°Ktkó¤€lÅVl…ò8 &0 †0Ú–¶¥m™öL{¦}UY áÿþ€ÈŒcÆ1ãTmUmUmûŽê;ªï¨Á /¼ÐÆÚÆÚÆZ­ÖF“º¤.©ûµ§ïïÅ_Â.Õ@·»%éC€ú0·G¾v'õü¨%µww ÒwŠw z.öeìKº¶ÇçŸÉúŠöí‘ËX2–ßÐÓ/ 3ˆ!æÓ¥t©°7ó‚y¡\ªÝ©ÝYà­x¢xbyW²^²,‚ñ_˜#$€TzVîªÜÕär“ËM.;Osžæ<ͱ§cOÇžjgµ³Úù¹Ùs³çfcÈ2†˜Ï6Ÿm>Û(Ê(Ê(j}ÿõý×÷W5U5U5E"±þðúÃë[DZDZDÊ?Ë?Ë?†††³VÂJ<«yVó¬æ0ÄaˆÃ__ßÎË;/ï¼ÜT`*0L¸?áþ„ûgÝϺŸuÿ"ý"ý"×`^ƒy ^´ÑþEû¢£EG‹Žêö™é)zŠž2R©ÔÑ“¢'EOê“Ø'±O¢Ù³%fK¸L.“ˬéÔ£çWóíüèùW>â#>’=dÙÛóæ¼yÉÉ’“%'u!g‚‰‚‰‚‰š#š#š#²²²Ìf3Π3è ¡ÆPc¨9¦9¦9iiix½øzñõâ¡]†vÚEsWsWsWýµ©ç ›©Ij’šG8Âey²±|býÛõo׿mwÑî¢ÝE£££·Þx{ b b (@áGíAíAíÁòå'ÊO4=ÚôhÓ£­F´Ñj„N ‹?Ìæë6~¾öM¦ç¯Àßû‘î[§š¡ÝIwÒÂ×Â×Â×Öw­ïZßÕ½©IפkÒ¤FR#iEIEIE‰zšzšzšU„U„UÄå•—W^^¹õíÖ·[ßZ¶l98P( ”6Œoß0^e¦2S™‘V¤iõµù§„ ‚¯P‚W´;:Óî|CÚ–oÈÇÒ@>ƒqƒéu|¢×‰/ê_ò CÉ3Þ—nã}±AX Ð_p+‚"ÝC$iL“Æ6]mºÚt~~~¦»énº;çUΫœW\k®5×Úþ„ý ûºK5ã4ã4ãtõúƇñÑ'Ä‚XT•PúóS5Ê )½%½Vº^ù t½“»q¾“ûÜ\Ï>ssG¤¹:H;vúműÓmn=›hÓ>¾úÁöñý8éÿ é^›.M÷rø}܃Šš5m˜±‚6ô ý@¯T‰lýC£ušóƒÉ`2˜wàxww÷¼’¼’¼’¬óYç³Î‹ûŠûŠûºÌu™ë2W˜(L&r±\,K†‘adoÀðB•P%TåTæTæTZ_°¾`}áCøŸùD-Xhá‚<¸P/Œ¢^ür‘`)PA*ì*He‹Ê•-ªÊ¶ýxyas“¹ÉÜd'°Ø ºßɯ=‰ þ^váÀ€!­!‡œžÅ^ìUlGôa³ „’¦~íîéùt9[ˆ˜\&D5_5%؆mx_ò}É÷4S0V0ög•þI‹K@ RJSŠP˜üW"XùÈÿU"X:gÙ"ˆpðIÉ3ì+0-~ö0ñaâ³²feÍÂ;UïT]Éìcö©Žó‰|"+DÒè:ŽŽ#Mˆ'ñäjqµ¸ZZ¡V¨’1d S*,– iÚ‡öa^3¯™×º%*&•IeRéjºš®f*˜ ¦B÷ýU* …LÇÄ1S™©ÌTÕ;Õ;Õ;²ƒì ;¤iÒ4iZQ·¢nEÝÈ-r‹Üb±ƒØAd™D&ñ-ø| ë1Öc¬Çp\P,, i=ZÖ«*ÏY„"±/Øì 2•L%S­R­R­R9·óáóø<>žð„g•â‰=¿½ü-³K°De 2P8y8y8yd.É\’¹$¶]l»Øv½ïö¾Ûûn’’’ØÕ°«aWä.È]û~ÄûïGÄ,ˆY³ |]øºðu.c\ƸŒ¡Sè:…?ÇŸãÏ•/*_T¾ˆiÄ4bÑ'ô }òµ‡ú'@çéÊáUÔ®¨}мK—.]„+™öL{uÅG±¶¤„”Ðbª¤JPˆ ¢)4…¦èšüq8WÕïíQÅÑŸ|îQÅQÝ™ôG›ÖŒ’Q2Jt@t hÚ‰ñ_ð…ÇãÆ „ÂZH i!⇸*u÷p„#\ÓYÓYÓgqgY«bUº$üXfF 5ÔºRš^š^š^ˆˆS8…Sz×WÏo‹Þþ†Ñž)¶+¶+¶;Þt¼éxÓ/Þ/Þ/þЊC+­8\p¸àp.¶ÃòË;,w_î¾Ü}ù0 Ã0<ýðôÃÓšdM²&¹x}ñúâõd&™IfŽN2:¥ß‰~'úP(”ßJ ìï ŽØÁØÑ8O;ÐH¥„Ç™OÂ㢾Ì÷¢¾T€›TXRð ±äɃ¼^O¤Í/U¥Í/j¤l\ÔHYM­¬f*\fjj¸Þ.Ô5Ť«kJßZ õ­eTGXlTGëÊ»h«4)éJŒ¦+Q+Q‡ÌAc2‡@A ªv›ÿŽp„#·‹ÛÅíßßßžqoƽ÷Bö†ì Ùë“å“å“%8(8(8Ø;´whïÐâ«ÅW‹¯&L™<Òã˜Ç1c&é&é&éõNÖ;Y冷If³‚YQUú[Aw³ªÁA wXÀ¸!„¸¡;8tצðµ)²KÜqÙ%Ãa‚±†ÃÖ×nsc}íì7e«³ßD8¤$E8 ¿xµÏð‹#§Õ}8rÚâ›Í’ß”]W…É®³wÈöšÃ Í¿ö ¿´9mN›KÚHÚHÚd|Ÿñ}Æ÷[îo¹¿åþ€O> øäûÌ÷™ï³Ï‹?/þ¼øù±çÇžãXŽåXîw»g9Èrå XKbÉáy‡çž§ |E R‚„ D—¸Qµg¨c9b¹`7ï)Ø]c˜]“ú±úóÔ­øeDÎ/ccö« ”‘ö¤:iO^ãyÍ¿ ,ÿ`…FP@û·]¼ømÑÛEžß›÷(E)·‹î¢»,HÎJήêý$üIxF£²˜²˜ˆãzwê-¬Ætb:i|y/b;’rRN_ÓbZüÅäk Ö°†5Ò†4ú¯QÞºDªÚ¨ÚÈD&2«ŽëŠkþ«Âª.–í ýB¿üä¸j¨¿’%ôüeÑ;Àß2ö°‡=£e´ŒVn+·•Ûv¿Úýj÷«îÅîÅîÅɱɱɱNœ:8u¨W?®~\űŠcÇV$­HZ‘”9?s~æ|ùKùKùKA  PH'ÑIt’Ë3—g.Ï´-µ-µ-É ò‚¼ÀŒÀˆ¯=Ô?œR¨PJÆ‘úd÷œj¹ç¬‚x³ £2A{£²œ‚Êî9ÑS2£§\xó¡âÂk±Ákq½Ýæ‹êíölÕÉs°I=ÑX“zÂ-¬p‹j÷Aµ­ä JZr𣧬ýGÏÙc¾>{Ìsã‡ãŸ¬áZcdŠ^ÚˆŠ^&¢ç&•~ÜéJ?z é1Ƈœf|èQšFB !¤?Ó[]f&%”PU]U]UÝz6õlêÙ„6 mÚì‰çÏ'žæ'ÌO˜Ÿh"n"n"Ήʉʉ2È d•‹*U.ò0õ0õ0­§¬§¬§,ß[¾·|¯ÀUà*pý¯çíÏ€nÿ\ Zâ)qào`>ƒ÷§¼¿$UpY’*jÇ4µË®'[’]ïÖÄì5·&&Yª’,Ú<«6±Í³v²ê—ÛÉÔk¹šêµŒ’œe”Á(„üêž}Ãðýø~|?ƒÕ« V?Œyó0¦ÑûFï½÷Ýä»ÉwSñ›â7ÅoÌö™í3Û×sqÏÅ=—Wþ]ùw)R>¤|ˆØ±'bÏ6Í6Í6ÍZ›µ6kmªÌUƒÖ 5H[Ò–´ýq¼ ½JZЫĊïE¬âO ‹üãò`'Ÿ‚´YE˜†ª<`I<è(KG©OóùêÓ¢sl_Ñ9ºŽ&Ðu°ƒ¡>sì·@o=z~w,af)1"FŠ}Z3­Yš j.˜<ÍýºûuQ_FÆÈÔOøÉüdfy@Ї4—æB /Ú¡GÏ/EïËèÂE¬ˆ±Ò èÔùª]¯v½Úuç3ÎgœÏ¨óÕùê|ùùù¬Â*¬r>ï|Þù¼›ÈMä&"fÄŒ˜a7vc·NõW%UIURå%å%å%ò<$éFº‘nüÚCý)†Åä"éK.j/ò»µ%D0\Bè.Úî:¤zóöêhË4Ó£-ëå™·ª—·AàµAà¤6iê¤6Ø)hj°S±%œà9.¸!mGkÓv9/ÒÈå§Õ*ùi&Rº—‰<Ðå# KøÂÔ©á _ ¾ùáÕ`ßê5ÖøVÿn`­˜ï*¬´5VÚS”מb“fìbº‰&ÒM€…äßuŸiÁ´`Z¨ìUö*{©‘ÔHjÔǾ}{­›ÖM릫ÅW=£zFõ îwˆ;¤­®­®­.²ÙŠlÅ Ä Ä ¸.‡Ë!›È&²‰úR_êûµMò‹ùñŽýJ<¢+5ëè(Í:Ñef‚è²Yšd­YÚ§ÄòöŸ¯×ùèu½Î©²÷O•™…ˆ“ÌBæÎo|bîü¦j›zMÕ¬Œìger¹ö‰\Î4#1L3ZƒÒUaœKè;ú޾ӽþ0óÃÌ3N'SÕÄOæ&s“5%šM‰.ƒKW0£Ì¶Ì¶Ìvbÿ‰ý'ö¯õªÖ«Z¯ä‡ä‡ä‡¾„| ù’›™›™›iøÂð…á ZBKèO³Í¨€ÀsèJÌ!rmK"°@΢ˆì ÍÉ®œ¿Â•ãLq¨ rcA»Ñ›¯½ùÎå/ï\.‘ª¸©dž`ƒd3‰ìf&ÑSô==caüµçõDo=z~oL!‚ˆéE¶“íªHn&7Ó3ת¡UCõq¾+ßU=‚—ð¦ˆ<'Ïi- z×Wžÿýæ[†¦*ãB $ä%yI^ªÔ*^¥.mXjXÚ°ò¼¼]åyš‚Ö4…ÙÄôa6)(F+”¾)Í.}S:¤´zé¢Å%E‹e%+ŠeʶÊjʶˆ!WCßÒ·ômÕ~Ú'”ãÊ¡AùOòTÿJèö ç“fd¾¶9ï«m.'ü$WúRå[úr掻gîˆYóÁ,fMˆS›ïCœvÕìðnWM·eæ)nË –±» –ñZZ—×VÆi:UÆ•¶V÷*m]â¤ÚXâ$»¤Þ"»¤¬ÍS ¦yØJóL6 M6Û–Õ³-_/ò½^0¹Ñ€É›’joNXùáɆ•˜¤3@4„é&Âí¢rniL¬Iã;ój¨¡Ö)î’«ä*¹ªÍÔfj3Kû•ö+íW±ºbuÅj¼Æk¼VPPàŽrG¹£Äœ˜s~-¿–_[ud+ÙJ¶ÒLšI3¿¶I~1ºè+caL#ÆZ¤a­ålÉËÙêkÜ`õµ-â¤}[Ä÷* ®NúèwuÒ¢Œ¦Ù‹2Žïêæs|—g/«Þž½ËÔ³ËÊ—ª&•/¥uøu´¿ƒåw)1#R<Æc<¦fÔŒšñ|ÀOå§òSy¯àx€x +Tö‚Q0 FÁEr‘\dû6íÛ´o“ážážáž˜˜hºÐt¡éBq™¸L\–6+mVÚ¬ò!åCʇ(b±ŠØ&gšœirFóJóJój{ðöàíÁå[Ê·”oɸŸq?ã¾(G”#Êá/òù‹?ùHØP =J?+ô€,€ŒF2šoÏ¿äÛKÜEK$îæ}Ì>š÷±œ+õ·œK›¡„6+¤–b…MuÓT›ê‚<6RG õ¡„4$ޤáמÑo½]ôèù½á@AéUú‰~bºc=ÖË´ÉÚd®ïÏû3ɸû4™Ñ"½ë«GÏÿ†~øÏ®ôˆ®ïÌÁêC}¨Ó‰éÄtúIýLÝw Ô@ Ɖ˜2NüÌá?ˆL˜¾"qû\V!ÓäVȘWÌ4æUUó9Ô„Ï1})¹húRµŒë¥Z¦‰â9McI×2–ôJéÝ®‘’¹DŠd!™Ö ‘´Ü`7(ÁýG™s¢«+;Ã1\w€\&—É媢;ÿ?Õøk8Õ%0&Üþ7Ä(I8Å(){Ie§ì%þ7ïÆøßôt³åé¶gmÇ{Öò ”çŠV(Ï­0['n`¶®ÒMó¹Ò†Òí4Ù¨‡lÂbÓë^ÉL¯°&mú„5~aÞ ¿h_òþÚ—D†ˆªä¸~,!ócå ].e Rò¯YÜUGÆb,ÆÒ±t,[õF?ôC?ú?ÖkøªˆÁBŒd"†™Kö0s5±¼V»{Ç˱»w\~—µêò;ÛlCb›=¾F=Éø½TNG{©Ôw¹n껥‹”.¥‹Œƒ¤sƒŒ¶{m¡‡é)z˜æÒ}4Wå¦rQ¹©7©7ª71 L“ ..^U¿T $´mGÛ)[*[*[ò2^ÆËˆñ#~?“ËôÍÂLb&1“ÊÃËÃËÃ[ŵŠk—ß ¿A~ƒ)£¦Œš2jÏŸ=>WÇ]wuÜ£ 6<Ú°ù»ÍßmþÎú¢õEë‹;^íxµã•nÁ®hUѪ¢U½özØëa«F­µjTØ·°oa_ÑHÑHÑHz„¡¿¨ªªv¥]g™$‘X&]¼ùäâ…£$6ÄȸèŠqŸ·âÒ/oÅ>m¢ëû´)2Tu)2ÜZ£­ëÖ®3ÌžºÎPäk)òÿìêKß&z»èÑó›! –¾ƒ 2B± ñ„’_!¯¥GzøÏŽ"ˆððˆ,%KÉRÑÑÑõZõZõÚŸÔÏüˆr|$»H{²K3™/ÔL–ž:HÏßöÊ~sÛ+Æñƒ,ÆqçÕÌΫ¹û+¿äîô'/ý­¬¤ ©' €IDAT;­¬üÞìíÿp€‡sêNiöòNi²nêö²n„ÅEÂB ”ü`úšŒ”"…ñ&žŒ7ÝOSè~XBËÛ%”P’6¤ iÃàpþ¿‘¿‘¿‘¿r¶r¶r¶¦£¦£¦#ê£>ѹ ì/œß-xhùr„òåÂR6JXZvJmZvjîÔï1wj{ƒê®í æÇ7›:?¾ô’bré%­ßHkdþQìhþqÄÝ«­GÜÝ<²õ­Í#-VHn[¬Ð¦òvÚT¸Â ®d q&y­Ï PŠÌ6H†˜m(ˆ+3-ˆ;$Õô<$í¢±ŸÛEõ˜ˆ[ †‰[ˆî4è@ôô[wJ¦ßZÚð³´aðÂÖ…Á ¹M¼ˆÛDj R“> 9ôŒ „ÑWº;ÿLœD&NÒטA_ ˜ù‚€¡žWßõüظüÓÇÆ+ì½2VØ÷ÝäêÒw“XÅ$‹U…Š´B!éJo®¦ÕL™V[ùie畟¢wDoÞÁte:1]«m¯¶½Úö/f¼˜ñ¢³cgÇÎŽÅÅÅaÑaÑaÑï¿{ÿÝûï455ëN¬;±îÄ)aS¦„UUUpe\WF*H©øÚSóÑ]Ñ•H‰”Huu ttÐQÕ÷ªïUßÏ_8áü…&2™‰, G@€ÆWŒ¯_QžSžSž«ÜP¹¡rCŠœŠœŠœnó»Íï6_ùQùQùQPSPSPó¿-‡Ã"‰)T>ä+º4«å:p¦o£Ù3}•yڽʼŒ¹2&cî¤# <')Y¥L*Yeá#6±ðÑØòÃ5¶dFI_{Bÿšèí¢GÏïÂßZTžß}àÄŸ› T ‚ÄÃEp\ÄË/–_,™l&›É¦Á4˜ëN$ËÉ ²œ—ð—y‰Ñzq¸ÑzñX£WⱌˆMgD¹Š §\ N,öµØƒ<@Àl>ž(å>ž¨PªW(‰†ÙN4t½CW1·H†ácLŠMŠMеÑÚhmô÷¶ßÛ~o›?$Hþ6M`hmZ›Ö€?XëO·¿m#bGö 5Ù#ªÇôÕÛ401lÓÀzyæ.õòæÇ7]8?¾¸B¾´¸+p+˜>$—éÃô ­™é™ÅóÒ3µGùÖÚ£ä-æ’·C9™NéZ#~˜ÖH˜À L"Eö&‘W‚>Æ\ âziÄצ7m÷¼^ó^Ïë‘­ßxE¶Þ>5ñíö©)Õò#RªYˆ¾X<Ä‘êêê^\»¸vqmáKáKáK µþÐ)6&|–óI&IpsØçù7‡e)˳ÔËkìR/™²XfÇ”t¦„ÉÄ&© HÅDã ³[0“ÙºÄu«ò¤K A‰ÖŽ÷ÕÚ™Ü=7¹¯œÁ½UÎXøðåÂÀÐÏ-BW,ޤӂ᫤ͺ®’ Òc‚‡4h€ žY)ˆçúÐ<®7”¦rCWïn~jõîËç2o\>—¶ dAÚq]V(®Ë7§íøæ?Þ®’CËD&2éez™^6 4 4 ´|aùÂò…ù5ókæ×È2‚Œàòùƒ:¯VÜCÜC܃åcùXÒ‹ô"½h?Úö3\k¸Öp-É#y$ßã{|¯{4ç»ñÝønnnnÒ·Ò·Ò·ü{þ=ÿž, ÈûJ]¨ ua²˜,&Ëì’Ù%³KL ÈꔄV­6Zm¹Ðr¡åB«««Ó=¦{L÷OäùD…TH…†©†©†©ÒgÒgÒg|ŸÁg%d Yòoíh ±±[N3¹åuúšÚÕé»±²UòÆÊ`·V-‚ÝÒŒK6¤ÏK{Pg^Úž.o­ötžeêÏBBÞAÂ%sÙ\òæìÍÙ›³woÚ½i÷¦sÑç¢ÏEÛ·o7ž[À-àÔýT÷SÝO~]ýºúu}{óíÍ·7W_=|õðJM¥¦Rc?Ð~ ý@îw‚;AòI>ÉÿCïäß]Š4šFÓ°[±UWGZyTyTyÔXb,1–°“ÙÉìdå å å ÜÇ}܇rÈ¡†jBCG_Ñ8z—fÓ»Hƒi¸‹Ï¸‹ÈŃŸüÿæâ!€€¦ ˜¦ *Èè\Ü£sIl"MTm8¨Ú”uU,.몘ÃPÌé–Z[Ö-UI*Û+I‰©*¸Ä”{Ìoã“E^Ðw(ýAÐëÏ©Ej‘Zô;úýN°H°H°Èâ™Å3‹gV­&ZM´[‰­Ä&]MºštES4ESj@ ¨5£fÔº–u-ëZÖœ5gÍYn¶Ül¹™²BVH[ÑV´q%®äçÝuj0à ñ÷ƒ{?c‹¿±]ôèÑ£GÏ_½ü§†zQ/êÅ^a¯°W’W$¯H^ñùÆçŸoèö °ë°îlZ'gR  ‡àOa`Ëé,gú9Ó÷ãÚòž×žŒ1^úx©N¸ˆiÏ´gÚóãùñüxéEéEéÅ'ä yBb}b}b}Œ?4~Èõâzq½¸gÜ3î™p¢p¢p¢¼¹¼¹¼y„O„O„b”b”b”Nï÷AƃŒK‚—/ Ðu@×]ÅŠ?ÏUp\…p¨p¨pèCdž cĈ=`ooÏÕâjqµþƒ5K D ™&d†f.oª™+›¤Z ›ä”l¢pJ·êö9Üj®kƒ ¹®±¯£›Ç¾&ˆ6 ¨ßúä#ù¨Y£Y£Y³6zmôÚè—_^~yùeeäÊÈ•‘‚V‚V‚Vg³ÆY^ /~¤é—ó*çUΫì¢ì¢ì¢ê竟¯~^=X=X=˜Ä‘8÷ÝÉ$,X°UUc0ã$Nâ$÷”{Ê=åñƒøADMÔD]¥J b ±D4> Zð™‰|D’ ‚Ha2#& “‘0YøŠ‘_ýäÿDV(L{@hÉ\Z²…¤[0î€ð#>ždä“¢{Ì Ñ=%Ù/°´\.in¹|UÛÖ™«Úr™ô—i°P`f°t#I7zô,L!‚éמÊAAAiÚ†¶|/ø^ð}QË¢–E-·vØÚakß¾+|WL>ýùôçÑã‡GçycÞXl*6›† ÿþ±¿gÏþž½föšÙkæ‚ F,¡!c}Y_ÖW· õ¯K, &8ƒ÷8#(fNŠ…¦Œ“ÐTø„ŸüŒEþnvÑ£G=Qô9ÀjCÆ1TîUîUî ¼x=ðúø ã'ŒŸ@óhÍC}ÔG}Ý™l?f5Û¯üúpùƒþƒëø÷<,¨¡Ï° ëïÒ=¯¿“7P7“7XèÙ:|¡§z¢ŠSO,Ë’_(Ë‹pÂe8!@Š®5ÚhWÖŒ¤³foÆ•ø¾W¿‘eýú´VÔ@kE²É’2|F ÿþ.",a « Õ„jB[oi½¥õ]&³î]qœ8NGi Ä œ@©n(ÐäBCNMopjs…¸£¹"jÓ»‘Q›j¥›«•^o–ùŒz³Ô÷xwõ=Fˆ×Œæ£’æƒûl{Ha¹HÁ\n5à†$ º$ËS´¦ò” y‰÷7ä]i•¥õ õ þsýúÏU{qgÔ^2V%cÏ™»‚ç´7I{WÉ8 Á@%´P¢?œÑ_}„ï£>ÒvyµŒ¶Ëã7~RÇo¼?óKû3[ØÙÚ·°+/R‹Ë‹;RÀØ‘{ä¹G. äÂVÅVÅVÅ»mï¶½ÛÖ¯v¿Úýj_N¹œr9%µAjƒÔ[*¶Tl©8~"üDxÂâ„Å ‹” Ê%“Éd2™ñññË÷/ß¿|ÿÁă‰-Y>²|$Ý-Ý-Ýý4áiÂÓ„þÆýû÷˜ÖcZibÄ ˆQ·U·U·•)‘e¸2\Ø,°Y`³ã Ž/8¾`Ô—Q_F}¹µêÖª[«¶ÎÝ:wëÜQÊQÊQʶ~mýÚúó<çyÎÓô±écÓǃ9 r˜uyÖåY—ÝÒÝÒÝÒhhhµ¥ÚRm©.)þßa@ÀÐ(i Ôpš]Aš³+4ãø:šq¥Î ¶Ô¹I‹5Mz4? tj~€ö e´mDGÒFŒ„™ÀH‚·oÞ>âÞˆ{#î…| ùò±¢zEõŠêæ«ÌW™¯*s*s*sb¶0[˜-Í—7_Þ|¹÷dïÉÞ“×›¯7_oþxøãᇻ ÜîÅ|Å|Å|·ø—E§–¦[är‡;Üÿ퉧ðžžbVcÌŠb‰²G±Dóˆ·Õ<" ñ' ÒPŠ´½Šw¦Kxgõ®‘úBñ;ÅÊâwŠ‹ªÅEÕ`9U ί”çW CØ9ªžL„1&"÷ QÑL;B8˜é'Ì[SOÞÚÌX|ÇÌXÐ’™+hI“èš„º0Cݯ=‰€÷x÷Ìf 3F¨ T.àp 8·šn5ÝjŽ&£Éh"›,›,›'‰“ÄI¬â¬â¬â,oXÞ°¼qáú…ë®ûLö™ì3Ù@d 29~vüìøY-‰–Dó¹|.Ÿ‹•X‰•ÿ‡]ŽÿÈ.Tóˆ´"ëH+½]ôèÑ£GÏ_½üç¦?ú£?B§Ð)r ¹…œ aCØ|Á|Ak´Fk݉t5=KW3»˜öÌ®ÊEªÂÊEÄ_MÜx/Î÷²3fÚªú@ñ”Ê´â)lS2œm   ¸Ÿ–l¡~ˆ§~Ä—|"¾7ÊvdÜp~lÒÑù1}Bmè"G‘#!ÿw÷i M¡)8€8 ¸¢¸¢¸Âïäwò;ϋϋϋ“&M>:æÊ˜+c®h^j^jΊ B•|çwŸÛKÈÀ% Ç '<“Bø‹g?\ºxvØv³aÛ  ‡Ê_i<Ê_‘ÈID@TµÓ(…R Æ% Æb´Ábs*^kN_:š½t^åô”]åd2DÜÔdÈáƒ]æ>è`)}å`Yá¥9]áÅGc.-ÃÁz…fÓ+`AþÉOb@ÀÅ3íRųš«MÓk®v®4Ít®¼ÞéÓ«ëZO¨~¦õzQô(ÊñÊu9´ô&½IoŽ‹¾}'úÎô éAÓƒÍÒš¥5K <x2ðdÕ§4B#4²Ûd·ÉnÓê‚Õ« Ö­-Z[DT@+:WtæÎpg¸3Æ·oß¾äsÉç’OH›6!m& ˜0`€ôé ÒèÓ‰|Ë/Ë/Ë/?6¾ÉÔ&S›LõøäñÉãz¡z%¨Ô êæG›m~txëá­‡WݽIæIæI橃R¥ôdГAOê†Ö ­Ê-âq‹ªzûË%@tgŠÁBLßAFß‘,œ&Y¬ŠˆXUIcíÖ’Æò©Ì+ùTx¡!¼àŒ8cÆ`BV¬^Y=Z}×ê»Vß=ryäòÈÅ¿¯_ÿ¾Q¢>D}ÈPd(2WŸ\}rõÉ„zLè!©)©)©ùqÕÇUWÕñ©ãSǧª½Ñ½÷{ø_HKø…ƇEŸŒOȺÕmBÖ«¢Y¯BŒÖ –­ç§Á‡Ÿö3—•á=ʰ ÙXÅÇSc>žëCßr}Ú=[½ÍQj†®Ô G`ŸªFÛÀ6‰É&c6¡t´Ê»ttTÍîû£j6°±ØÚÀF¾H;Q¾ˆìÂi²ëkÏ  Å(f²ÙƒÅÏŠŸ?Ë>˜}0ûà‰C'8¤‹­€#áØÞª½U{+…ÂF±lì²±ËÆæ¸ç¸ç¸¿9óæÌ›3²ç²ç²çmN¶9Ùædý!õ‡Ô‚a†a0…)LÑmÐFo=zôèÑ£çïäóP°‚ó?ŽŒ¦©ÝΟÐ#ˆ0À¥x~_Å=b ‰.0Ž÷àM¶%òQˆØGS±ô$IÏ‚¦ û‚¦VÍ$îVÍ´/èií êKP_zÔ¥~ftð †(à;p;ø¦Æ=LÖÜ[“»æ^ÈÈ‘!#Û‰Û‰Û‰Oo<½ñô†ñ²ñÌø£T£õ¦IÀ[ó-E±O¢iàÐ"ÊÓHºy¨†êÄŸñ‘: VtX°‚‚‚ÿoÀ-¥¹¥â¾¢å⾯[›¿ni\. 2.·=b8ÏöˆRÁå)t}D÷ÐN¤.íTuÙs”à9M£…4MSÁmÖTTÊ4ã+e Ég’·]h;}Û…¯,}¼*¾¬<_|™­EÊÙZÌ<`žÐßÓ…Ó…ø%ù÷ZPh™$‚Y §õ”sdáá6è$}r’~qªtüâÔ ÎbTƒ8Íz~·f=1…/1E IÕ¤jRÍž›=7{~Ûû¶÷mïÕé«ÓW§ù8äãºæ©’*©’=Êeí Ú´³¿Aƒþt>Ðù€Ý0»avòÛf·Ín;ÅwŠï_ùùù’ùsæÏ™?çÕ”WS^MQ_R_R_*l^ؼ°ùΆ;îl1?b~Äü3úÎènèÝл¡YYY*•Šn¥[éÖŸÙ5‡9ÌIgÒ™tF JP"?(?(?X¥9üÿ¿5Ìíÿ‹ÙPHÁCI²cÙ±l´`}Àú™&{Möšì¥ûè>º¯riåÒÊ¥+‹V­,ÊØ±;c7u ÔaÚíi·§Ý¾6üÚðkù Üî‚n¼B‚躆®!ÉcòøÇ:ígè-šMo‘îÄt/3Qß+3¡5±ˆÖ„%¬`‰ÃÈÀaº‰t#öà%ö –~D,½‡/ôÒ Fv ;ÒÑŽèª["P‡t@;ءƓúOf¢™‰™hˆ™h c4F!Ž•‘v¬Œ$’Á$‘¾§…ô=¾Nɵÿcš@A«zœà§ª:ð?ªïÍŠX+*_X¾°|aŸ >A}‚„¹Â\an¾k¾k¾«[”[”[”ígÛ϶Ÿ R R R›››ð¾ÃwXƒ5X£·‹=zôèÑó÷p€ y *4LŠN¼‚Ú¯O‚¨rYÅ+°\XƒRb!=d\A‹F.hô;õ§r·éK€46)=ŸåEUo]€Êøó ܪónˆRxNø=ûBTNÓÕô’í-Ûû¶7BcBcBcÈH2’Œ4—  ”tF{ÒYàÌÍ8£mQ€×¨ÄëªO\ƒXñã.¨#ù¾êHŒPŒcïˆñû1šßà*@ï"›Þ…:®ì•úVÙ+§4“l§4£Zâ`£ZFCù£¡°BøÏ–-Ɇ ²á‚Kpá{‘µ|/z˜}OO>iΤá>m}fû´-ñ+ñ+ñ3±4±1±°¬mQÍꢠŽä[·|bN¤Rcu瑜¦þ$c1½Ô؇XH_K›@Š“8Lç’4’!6 ãéx¶9 P€C@ékí#¾ƒö#ÞBÆäÞP³¹7,nŠ;XÜ´hVÍz ÿAy†ÿÀ¼%÷™·?i3¨ÐŒó££9?vŒì††¶4jshK#ç$ÓÎIEΊ~EÎÂ2v¦° 2*‡ŒæBNsñߊ΄daÉRó“ÔÆ¥R‡ÆŠdm-Erñ£ùôYU¾ýŸTØ2…L¡ñ4žÆ5)jRÔ„9ÏœgΛõ0ëaÖWqWeÞ2o™7 QˆÂÒ¦¥MK›B )¤Æ¡Æ¡Æ¡U­…#á¢y¢y¢yUK0:wZo=zôèÑ£ÀßÅ>@y€q^T} @ôp^àBš-ð~Þ•ÙÒ‚}°¡Æ£úÄi>\™MO‘ŒïïÓZLçèüa:iNB•ï±{<1¸2¶âQ¦õHíÒ ¥g ,$»Û.ÊÑ/ª&̒Άœ-d ÙB]h+LÉX˜2~ôã§>É6PŸÌK0¬ÈK`jÓ»Lm@øw}ÐDðÉšˆêŒB«wÈ’—˳äâãLŠø8¼Ð ^xuxÏc,¿¯­-¿ý±v\tµî†³«u×Dò 4‘¤T?[i.`7„4á†ÛhÒŒmÌ=‘枢hÃdQ´Is“î&ÍÍÌÍÌÍ̹(m®ìÕ–×’ƒÐJõXð"ÜE²{ÑÐ>ÏEôÙOÊè~ɶvo±ÔO™¹\ÞáÃa¦.S·ì5YB–0WQŒb<ùoöµøwÚ¶°Åû[v¿¿õE+Ô~ÑÞiþèN뢾ª¢¾ì:bË®ƒ5T°®ºLnÄm¾ÚKßU<×DU< `EÊ;ª'”w„0¦‚Jh>%AQÕîåÿÆ"4Á"n>”›/®ù‰+´íxSm;ÅÎU±†¾¤€æ#™æ3ö$‰±g±‹ØEA‚.]8åwÊï”ß´ÓVL[ÁÛóö¼}ʾ”})ûšŒn2ºÉhQQQÑCÑCÑC.Œ ã†ÕVXýwÝßu×ý¢ÏEŸ‹>f©f©f©µwÕÞU{gÌsÆlW¶+ÛUWÙõMç7ßtfV3«™ÕuöÖÙ[g¯Ñ2£eFËèz‡ÞÑmeÙÁv(S•©ÊTMv7ÙÝdwXvXvXö‰='öœØcîbîbîò¾ü}ùûò.=»ôìÒ³jš3‚ q®8W\äO:’ޤ#nã6nÿ÷_9P0A„t|Á¬§2*¶F Jh5lÇv²Iaª0U(™GÌ#æœá g²™l&›©-µ¥¶r'¹“܉ÙÀl`6дmQâ_â_âä ‡½Ì^f/“WäyUåúŠ!Ö?ÊÿT^6”È&­ &­L¾ÉL¾c; ë±µöÚ6Zûâ »â E…JZTX¬YV\©Õ,¬Ô*¨¶½‚²ÌÖC49-šVY_[·²¾x{H<ÍðŠ`…ái7A ´›y d½y eŒ$Þ2ÆÄØÈÏÄ‘ü DV¾PO«|¡­ÇÐÖ#]ˆéBÑ\úèkOÊ0‡9̹¥ÜRn©±ÒXi¬´Yi³ÒfåÊk+¯­¼ÖJÜJÜJ\ºµtkéÖ«ÜUî*7¶ÿØþcû£#:¢c¤_¤_¤ßÀÛo¼5/k^Ö¼¼×y¯ó^ÛÛÚÛÚ۪ϩϩÏav`‡Þ.zôèÑ£GŽ¿‡übÉÚK•rr§ôƒÐð÷XOâˆ(e<-Î\úèI9–½“rv•¿\°«\~’«%?I|È"âó“} ]Á’Tz¦²=˜@¶Ga²Ò¹0™ÜÄFr“ !›™þ1Íå£j CÕ¾# î?düþ;œ` 'Z'h}€¬h"ÖÑDþ5æ¡=Z¢=Šéã9yçš›š›š›êRu©º´~“úMê7¹Ùÿfÿ›ý/¯»¼îò:ßV¾­|[5Ih’Ð$Áÿ¤ÿIÿ“Ž+W8®Pú*}•¾Ú›Ú›Ú›3[Ïl=³µÝN»v;¹2®Œ++{Pö ìçÀ9pÂÍÂÍÂÍŽŽŽS§&NMTñ*^ÅkWjWjWÊ:È:È:Ðát8.|%|%|µlß²}Ëöq6œ gÓiu§ÕVKºHºHº\o|½ñõÆ©×S¯§^ïKûÒ¾´Çž{zìÑOò¸åqËã–ùJó•æ+ÕÆjcµ±ÀIà$púß:;H áµÈD¦d7¥±ýc#6ªgá‘gŒ'ãI”hŒÆh %”PV¹²™ÈD&á OxêL©³Î¹e)KYŠ:ÿÿF‡Ñaº{»J¹%(©ú|3˜Á¬ª€Ùÿ¾ým"ƒ22”Ô"Céz•.¸E³“oÑ™…Ã^dfs•²9¥)g 4U„hv(BÔyü3už¦ŒÖ”S’JLs_U8æ¾Ê8Sâžq¦C3§1šU–¨‡W–Hž ŽHž ª“\AuIuA¥¤ºä– §ä–ÅpÑe‹áu Íãë¶Úa7±Õ«¦Ó­šjNðË5'_Hÿ[ã¸ðCù¡üPqº8]œÚ(´Qh£ó]Îw9ßåpÃà 74b:ÄtHOÏžž===Îyœó8§«ÃÜ£gž=zÞ7ºotßH$ uêԽ愚jNP¨j…š´$-IËŸù\½]ôèÑ£GÏß’¿‡<Ø\’j#`8Ô¾>4n-œLlže®‰¤kÌç»ÎÁ«ÖE!J’lãR •àq 0ówêÏpÀ&P|À% #¢QWdÝÙºø5µQ5Ðpm{oÚîÙÆÄ®Úlo là#ö¡cU ö°‡=n 7ˆ €/œ!€ä Àôßu$×H)ê'ª%ê7¸û…žƒ»Ëö«ÌdûâÍ8  ©(ãßÒÇü[ãMB+ãMçûôîy¾ùqãæÇqŸâ>ZÃý êÂp €9 7„0Z„ ù`óóìqpÀ d¢FÑ=ï}Ž­L}1+8Ÿ 3yX{-YÕ|äê–ølº¤Foâ…³°Ò´FmÔîË"©l4 ð@µÿÖZ>Wë#cìae—n—]j~N1±ù¹…Ém.-Læ,´58 öÅ^ƒ,ìMn.ß”›ËJ„ÏXI‹œ£G[ä0»ˆ³‹Ñ!£¡ñXDã™8ËŒ Mqš6¥ ð. =±ôD)Ô(Öóv„Žà-Ž0KˆˆY‚nÚñèÆ“l°ø%{Rüt(C†ž¤ûèIæ1ó˜y„ ÉHF22 ¬Æj¬Öí—d–d–dzwôîèÝQ£Ò¨4*íPíPíPD! QŒ–Ñ2Ú Û'lŸ°½"¦"¦"†PjÀŽgdzã¹(.Š‹²···ßb¿Å~‹ÂLa¦0ck²5ÙšÔŽÚQ;âH‰#ßœoÎ7ï8±ãÄŽU#U#U#å}å}å}[=iõ¤Õ“ç;œïp^W EçZWÚWÚWÚë*ñÚ~´ýhû±†k ×®ºÀc&„ aBtë ÿ5&AF3Ðí™ÕÌêÑxê—0‚¹ 4TCˆq ëézº³1³u•Ta+Xq)\ —¢ËõE34C3úž¾§ï™¦€)`÷°{Ø=\—À%PoêM½Éyržœ§%´„–è”~urGø‡ñÍRJˆ“‰œ{H­¸‡7 >›ß,¨4Ò.©4rªm¼Å©víÕ¦½k¯v,é0ض·¡mo³ö¢fí ƒŒÝðȺá±7ùåù½ÉG÷fV(+Jù@ÍJùÀ¢ª€¢ŸvV\ý´3K^n˜%Ï/KÏÓ7{åM_i ÿês¥—«ÏUáö«„##¾ö¤üB‘Gä‘¶³¶³¶³åË!–Cf=žõxÖc¼Å[¼…+\áÊMæ&s“+NWœ®8­»tPÈ A!C98ä VaV)¬V +Õ;Õ;Õ;æsŒ9FÇÑqtœÞ.zôèÑ£GŽ¿‡\ C¤a'À]áÎAá¾täQÔ‹KxãJMêFv:I"M\ö£²ðMáhú–Iaº@€¡ú;õÇf®Ð`€ §ó rîÒ3˜Ô;×éé,œ¨Ò©%6DÛ+v,Ü'¿À\cŒÐ §0òŸ´£ œ!ƒ3t6ŸEÊù,4E"šBÿ® šÜÍ‚êãLîU§LÔ¬R&2wH ¦ómžw±¯ÚÍußEæ° Õè2B:¤˜™¡Ó‰逩°)…ÖhM[B ꀯRÔþ¯Ðnà·k7ØØœ¶±3uÅ!Sפ³rŸ¤³ÅÅ¥WŠ‹ù¡t?”®ÇºËР˪.KD!yú’7‘¶‘.ï Þ[Þáì®ô[gwMÝÐÀhêòáäae¤¶~e¤x--^+<ÎŽW\Òf+.1ïÉmæ==IÓéÉÿ ¤MPÚ±´0…i LÉ[&Ÿ›·L\µW7I–š$kèAmVÂ+á OxÒMtÝT\\Ì?äò«v53 ÀF`Ãf±Yl–¼¾¼¾¼>ãʸ2®Ä˜cjD¨IgÒ™¥¥¥ìö {…Œ #ÈÝŽ(iOÚ“ö\®WGs^s^s^§ÞLÑcôXUÇi"M$­H+ÒªòrååÊË:÷•ÅŒbFU¯<^y¼|Cù†ò t#ÝH72k˜5ÌÖ5d ‰± Úm¶@ÝEÝEÝå_ÛÿŸàÀ‚E#T¢’vA(B•" Ä@6J(iq'îÄv§ÝiwÖšµf­ÅKÅKÅKK7”n(Ý@3hÍšHM¤&šišišiE(B   T÷T÷T÷J”)=bÖȬ‘Y#.’‹ä"É}rŸÜ'~Äøñíøv|;ŒÅXŒ… 2È~ÝÈ7E ¡c3‰¤“8+¹ÑžYɯ Z¼NœN§»µénµ=ß]m¯©É+45•V\ŠÒJ|[ÞD|[6K^_6KÑWÓGÑÐH²åj¶l¹áÁvÃ;^Ò§^µÓLâj§±]ئläÈ)Y-+YÍ *n„r–vªr³…ä0[ðãe¸? º{L·£}¯}¯}_ܬ¸Yq3¾߉ï„åXŽål ÃÆ0˜ Ì\VÙ‰²e't [º\_¶;ÛíÎx1^Œͤ™4³jÁå_—ÛôvÑó×D,꣎øÈïÖ<øªR‹ú{Mž¿5X‰"€øl€ß©©©sÀh¼rªt'Ó‚ÚŽÀg°š4Wp_àYC†‚þŽr€R Éš\+¢i*yK~§ðd¤3w”Ù,Ø/ØCŠÈ2 ÿcËîÜ¡ üÎÕ[,À[€­0Cˆ†‚•x‚•ð…¾d,ꑱt]MY¯“,´^WÖAUÖAÜŒeÅ͆1C&"ìgZ®P‰fÐÕ.0 —0 £Œúw󀺠Áš`´‘t³9Hƒh fš¡«~Êi} ,©J§ókŒ@ö1”ìÓ¶'‡´í]Þš›¹¼}4?Ë£ù²DÕ#Y¢³Q;gÕYÎGu–(1…ü î\ÝÎ%9 w9JüY'‰ÿ©-ïŸÚ’Ò©X’Ò)°«'ص¶‹YÓÚ.Ÿz”üÔ#»Y…Kv³Æ±V‹Ç*}¹/J_b1A9Ô(ÿ·ûÀºpëlºžfK¢y’¨—%Ea/K¤TXGJm¼ WØxkÊy‰¦+Ð+t»0„! ++?Èžéä£,a KÜÂ-Ü¢UI±  éH¯Ú’Ôéø³þ¬?ë_Õ‘BZH «^?¦iU!%] ô0=Lÿ¤çF0‚}A_Ð?N¦_èúEw„éÀt`:èJ|ýdЃè :è?´ÿ?r0`PÖ°fæ‚‚Ò,@íD;ÑNdÙ@6(((\%WÉUCch UÏQÏQÏ™w8¹,¹,¹¬SF§ŒN³3ggÎÎŒiÓ8¦±®Žwÿíý·÷ß^Ø¢°Ea Á(Á(Á(FĈQ•co Xüê1þYaAÀÒúÆv¤:i'µ¶•ÚU¶WߪlÏ¨Š¹f1sG G´B´dºmì-æ{KPÄØŠ˜ ò–©˜AÃ“Û Ï} nÜnçÆRÓÖT£ 0“.€+ à*ºÌL]tÁsA~ÈO ]à@ºÐ¨hɯÖoŒhÍ¡9ºŸ6žgãu¹ôUúçoðo~|“Çä1y?ð|è.ºë?ÒÛEÏ_ ©†"Ñ‘è‡~¬ Žá˜¨!¨†A Ó~ø+¦Gž¿' °ÿøûùW Ìc h}dÒ€ˆŒNŠO¨K Qp{igL#{Qf(üÝ•(u™ å4 ½ÈöÂ=GºðS@ÑŠÔ”¿Èõým™Bêc MÆ:šl³ÄÀÂfInźÜ>¤;YMºÓíxE·ÿúùñ<ÀsŒ Ÿþ…z0@38ÛÈr•ôóo=L9ÅDTVh*+š˜[Ÿob^2VeP26k]ÅÒ¬uâÆ¬VÜ=p=~r™ DB)íJ»Ð®‚QL‚`Ô±I]­ŽMª–aè_-Ã/úf¾_tÌ»Œ’˜wAÕŸUŸ¡º4CU1Y³´b2[@z±ô¦ÓcÿAK¾3ºñ…'„·…' ÃLU¢ê¦ªšcÕ5ǪÒ8#U‰Áw$æ7¿ þVè‚·…Âa@ñ£âGÅž¯¾þùú) §4œÒpúÓéO§?=²ýÈö#ÛSSS ¿3üÎð»ÇM7}ÜÔ±¥cKÇ–{&g⧈OŸ"b:Ätˆéð²ÉË&/›<‰}û$GpG    6l4ØÈð|CÆ1_{ô¿÷ä °‚V4æÓmS~‚¶)Šd¨ 5y"hÍäLCñŠ¡¤Ö“N8Mzà4'°@ -Ô¬,ES,%b19…hrŠ &L0O¶²ñìb²Œ]Ìu¤¯¹Ž¼%mÌ[’4"´ Zðµ§ãOƒÞ.zþzT¢’n‚/|§ù>DÖ„Ê }wĽi:Mç}í.êÑ£çë#€jhPŽ Tü°áòµ;õ;Á@ ù\g0_ƒÇ8|xlÈ%Ï@˜£F݇àÁ)¬€ü×ueÿkt*É Æä.cxàUÍÓÿ½kahCÂøí´¿½¦¿qnMÿÌVeû2[11P318‰¶8‰a Vµ„òëçA‹J–h`fÕvèCà nþ…¼†/^këóT[ßôµA¤ék· æCÜ&$Úä'ÚxçÚzç’F8CAš* +Ýxu¯Ÿ`0žp÷øqÜ=Í~ÞU³¹SKÑr§.Ù‰]<¦Ö¾=zjmÅíÅŽV«™¶ºx2ðݱ“Ó½õœî]´Xñ¾h±€%[,T PýD"K÷`:÷1OX‘ ëUÜWv¨¸Ÿv¬de򱾦 šj±‚Z¼Ÿ:ž÷c/‘ºì%¨ÁCýGÜE˜;ÌæŽ*N§Šs¸äpÉáÒÍÍ¢ž¢ž¢žA¦A¦Aḟ˜1±ØGl“MF41¹ë䮓»Ò<šGó···ì°cÀŽ3ÍÏ4?Ó¼ú°êêcž3Ï™çºO¹1ïÆ¼óÌ#Í#Í#›{6÷lî©ø¬ø¬øü‡ªbqàÀ{bOìuU‹éT:•Neê0u˜:4•¦ÒTœÂ)œ¢*¡<ÄC<Äp Çp–°hЦhŠ €ZQ+j…%X‚%ºR@ H¶b+¶ByÕ®;Så&YÃÖX +,¥t4 ¤]iíªÛÿ$ÕIuR #ÃÈ0r¶ä$´PÿBq;]Ì‹Np®: QÑø:¥ücwñ×ýZý÷èjùêTÁ3‘‰L*¦b*ÖÍ9@ĸ7]­ª(ŒI˜„Iô%}I_¢å('^Ä‹x!ˆ ÖÄšXS!R!ÿ–Ë¿ÕNëRÈYr–œ¥Y4‹fU}®j¨I-R‹ÔâcùX>–Ö¤5iͪ¸ƒlä ›d‘,’EâHWµÛÌ÷¶ý9í¢ç/ µñ ø·°¨(¤Àfí^êÑ£çk  Ú  ÙF¶’­ÈAÍ…Â?|Çñƒ¤éG +å©òÔ!Z¥VY^B@Àrø€8øµûø'à,¾ÃY^JðR[³ï]lßN(Í;õaF²>ÔŽ¤vº’_»£¿‚"¨P$øÀì|(÷S—ûùM¨·ËoBüéOíâO9*²ŠÙtÒ–MÇ'”áSÕU:×T÷H÷%xC¬H ±¢3ЃÎPY©¿¨¬$Q‚I”$_,Éï:ÄÑ´ëõ>»Q/Ú8£"Ú8ÿBå…ü Ò6ÂZÒ6Ú$ÚI›DjÁ˜Ô ¾ÊÙ€@@ïa ½g”(5JL8Q°/áD~gyE~çþvµö·“¹+U2w¶‚´`+ 寘‹¿7ºPóÓô4=ÍLf&3“U©ªTUjaÂ:…u   ÷=Ü÷p_ÙÙÙ‡nñÝâ»Å˽ä^r¯Â€Â€ÂŽçxŽcùÆòåþÛûoï¿=×Mžë– (ؘ °0‡[˜½:S|ðÕ™M}’ªmê#ÐÜ—˜N1¤}O—kß“•¤#Y ”‘ö¤imh‹mÊéÜuåô“ï|Nô[ìü´ßbé>atçG?p~x‚¡xòìÃÿáÀ'£Éh2šwäyG·À[àmÞ×¼¯yß]}võÙÕgo£½ö6šypæÁ™u›”ŠùŠùŠù6‹lÙ,JóOóOó_1¾b|EÓ6MÛ4mãàà`ª2U™ªÖo]¿uýÖÃv Û1ìðÓÃO?uç:Îuœº‘º‘ºsŸ¹Ïü^×þ¢Ë©f¶1Û˜mšTMª&5Ï+Ï+Ï‹]È.d’pNÂÙìvÁ›Ø7±obï©ï©ï©³zdõÈê!öûŠ}ù&|¾‰$[’-É.h^м ùƒÜ¹ríííøÃüaþ0û–}˾Õe}W¹¾qˆC9ANü5þíÉ”'SžL9[y¶òlå… &\˜pqþÅùççÊ•7н"¸Â^¾Ù¬Ði}óøGü#Á!Á!Á¡OêOêOê ­.´ºÐêeÐË —A,Çr,G¿§ßÓïÉH2’ŒT=T=T=Œ¯_#¾ÆuÕuÕu•ª¡ª¡ª!º  ºë ë ë.,\X¸ðb׋]/v3Ót2»ð†7¼AA·Û?ĆÄ*¼‚Š™N„ÌtrŽL&ç¬ЄX£ ÙÌIÌ›9Ùf.³ÍLXXÐ2a¡×\›^s2®µBÆï¾QÏ‹ 4 šË”à3S"о’GLtl`3Ñq|»x£ñí®Ýø¤¾v£{¡£s÷¢0ÅÍ¢0ás¶Žð9&Ó¥˜ŒgÈÇ3VI:²Ján&_¸»²·Ê¨²wP€w· €°5m뇭á—Ðvüæ«d|™^~þËô¥ÊGqK•cÆGŽ=ºhlÓÝ‹Æ6K²iÕ,©ÜZ_nÍ.g³Ë5[xgÍ˶Ñ–mw¶}±bg[Õb~„jñ°1.̰1¥U­R €Œб¨¤cÿÇ ÃztØÀ6üD~"?Q8V8V8VùXùXù8&6&6&6%0%0%0v|ìøØñº}3ùRùRùR£=F{Œö< zô,(rtäèÈÑ‹7.Þ¸xcŸÕ}V÷Y­k¸Ô³Ô³ÔÓ§‡OŸÖ~Ö~Ö~¡I¡I¡IËv/Û½l7™Ef‘YtD'ýA#Õ@ M¡)4ÅÈÙÈÙÈùꃫ®>¸Rz¥ôJi„o„o„oÉØ’±%cÎ?:ÿèü{Ïî=»÷¬Fãk4þx÷ãÝw‡Ÿ~zøé~l?¶ûDñDñD±sÛÎm;·YÁ V(¨VP­ šó|çùÎóg\Ÿq}ÆuI?I?I?®:W«Ž€F-Zµ|Ì€ žPA€J@AþÂÎÿ§$Oi@*~§z ¿“q·©@ÂXA +¾”ÖâKEFÌf‘Ñ\iãVs¥vA†QvAÜÎíaœ±qþÚãøÕ@ €9D0çÒh4—fb&ìib¶ v“µ×Ï|örýÌ Ë_l´ÄYhÍøaZ3Úá´;º“Õè髦pîtíI7«d6¹ªáªCŠ(Û7(]£êXº¦(@>¾(À$Ec’!ëä!ÐÛ¹ú€ÞsÝÍ;233v¤1# 2fT9UG˶õ,ÛF»½‰v;âCøù+J¼z®(‘ŸÒfËO1ëˆ ³Žæ¡’æé]ß_}GßÑ·¢)¢)¢)EŠ:ur{Èí!·}ßù¾ó}÷¶ÅÛo[Œóç?Îl¯±½Æö*èUЫ ×Έ;#ZLi1¥Å”‹Õ.V»Xíˆë×#®Ý¯v¿Úýê[7nݸå°ÇaÞ޹½s{çî ܸ3°èVÑ­¢[w+ïVÞ­4lbØÄ° ŸÀ'ð ÐP P€@H€ÖWë«õ™33f¦lllî”m‰¶D»{î祥¥l¾³ùÎæ;ãeãeãe«]W»®vÕío6Ûl¶Ù¬a·†Ýv ÙýØÚÚÚ‹‹ ãpãpãp+bE,ßïÇ÷ŒŒŒ–­‘­‘­i¼³ñÎÆ;O95æÔ˜è^ѽ¢{ÞszÏé=-×µ\×rÂLa¯0#moÒ'ISœ¤5Y­ `'@hMÐÕ‘† L`¢+ TUoY—O«;®ËgýãiÖh-T ÕBµÌTf*3Ý}÷ýÝ÷Ûœls²ÍÉsô=Gg š1hÆ ÈΑ#;^úyé祗].»\vI¿˜~1ýbÔΨQ;Ï9{äì‘Ù²?dßh~£ùæOÅOÅOÅåååW¢¯D_‰>™s2çdNk‹Ö­-ÈKò’¼VVVã[ñ­øV¢¢¢L]¦.S·°uaëÂÖgî¹wæ^ô èAуâ>Å}Šû4ûüìó³Ïë\_º•n¥[Q Õ~¶¾:pboÒ.zôèÑ£ço ê“.GK” þeÂ)Õà &^Ä–xñn´5ï†Í؎̓G$ÞàåøÇ”ÃlÜÂlB ïÝé_ŒN^E!„(D! u9fÜn·€Äæ±ilÐOôý¤;_øži*|¯&¿®”צoPžéC¡Êôai»Ê‘¥íèr‚^¡µ™…´6iCö“6ͤÖ›IÕ§¸^êSÚ·| í["A%‘èÖªPA©Gê‘ztAGh§j§j§b0c0Ì`3æsˆ9¤«TIïÓûô¾®lÏWžI Xb‰yIJ2DcVâ½Ò®‰÷Ê)I MIš>ýŽßôé¡~mº‡ú5ŸhË4Ÿ(‹UMÅÊLU‡d¦û º5ØW`úR¼Ýô¥¶ ßFÛ„ŒÇf2žu!¦¬‹N%•ø“⯭M}µµ‹(Ú7[ä¹fl‘ltj¥lôGÇç“?: ׿!XlYcË¢ÓKÞ:½$lËóÒ°-[·°å±ÝxÃzvãu{ÔÌvÔe¶Ó"(iÑWž·¿ä¹D.qé\:—.Y Y Y°lϲ=Ëö¬˜·bÞŠyå~å~å~ÊÊÊÒcÒcÒc¹¹¹”””ñêxu¼š¿È_ä/–9”9”90m˜6L›êñÕã«Ç{:{:{:«÷©÷©÷U¬} ___b²b²b²”ï•ï•ïe7d7d7>¥|Jù”bVϬžY=ééé¦.3u¹^ì®—Åùò6ç¥eÎo”°ƒÞÂ+½éEjL/Òát8Ž}؇}d&™If2Û™íÌvm‰¶D[Â4eš2M«ÊwéD¡þhgÚ™v6˜h0Ñ`b²]²]²cʘ2¦ƒºê:¨káýÂû…÷½"¼"¼"›<6ylò\ø\ø\è?øAÕOÕOÕ¾¡oè› ',œ°ðl·³ÝÎvëfÐÍ ›ÁÇÔ©Sûõêd~Ôü¨ùÑVY­²ZeÕ ¬X3ÐcžÇ–R„E¸äœAäœÖA>Lë@ܘ‹Ä  ±?tçÇR+ìö {ÆTmª6Uã1ã±N †kÎ5çš—¿/_þžqcÜ7ú”>¥O¿òL„´€-iÁ‘&Hf­:,³z¡Nµ¡DùÌ QþÜ^÷ëÌí5n´Ûéq£‡r½=ôaš ™aZý~Ëê÷“ÔÊå¹Oü~î™KÂÉ\r=ÉItºÐ‘ô‰á¸ŠáüªàïhRÐQ“bw»#Ò Q¬´BÛÐöX;þÉÀµãïr¹¡w¹mëÚÕØ¶ÎÓÒj•§¥,B,‹`W’CìJº º\/Qó›1óÉ|~¿Ï5ð7ð7ðo7­Ý´vÓtn3ŒÆ C@eTFeµ*jUÔr¿á~Ãý†0F#ŒÁE\ÄEr$uË@ʃʃʃš)š)š)âBq¡¸Pc©±ÔX²¹l.›k]`]`] 9¯9¯9¯SߥLÞ‰Hèt:N×é ÛZÚZÚZrΜ3WÍ¡sHŠ–--ZªÚ¡Ú¡Ú!&&V|½øzñuÙTÙTÙT$#ÉEŠ>}`³ÙƺšÒù5òkä×___x›ð6ámÂ~ñ~ñ~ñß¾|óšå5Ëknnn¯ ÁíáÕ뇗"P¨œ‘6#mFšïß;¾wä‹å£ä‹©ŒÌ¢2Ñ0.\4Ìx£Bm¼Q×Ï/‡¿$9l“mãd“ÍŒeÆ2cIÒŸôç÷ò{ù½rFÎÈi=i=i=.€ જ:ÐÔïG6²‘M6’d£–j©–Ò`Lƒ‹²‹²‹²å‘òHy¤t„t„t„,L& Ê…r¡\ôZôZôúó¸Ïã>ûÜþsûÏísss¨#u¤Žè†nèæÜÞ¹½sûĦ‰M› <¶Û€mÀr ¸\àÄ ƒN vwØÝawã¯Æ_¿Z/§^N½œË~—ý.ûÙζm;ÛÐÂÐÂÐbLŸ1}Æô1œc8ÇpŽ—»—»—ûꫬ> ö{ˆ=8wÎsÇk¼ÆëŸ£;²áNƒI %pwE ߀]ôèÑ£Gž!€ Lˆ É&ŸÉE²30ƒæb*®á „ø–\Í ‚íDch'á=æœð^þ …$І‡‰Ï6R ½0\²øÂðÁ鯧³mµÏضt4ñ¦£ óMøþº¢MiSÚ”‰`"˜ˆT¤"O^dl—npÃ.½L®.-“³Æ¤k\¥­×|þmÉF6ÍÆFl„ •¿Ê_- , , ¤—éezwpw d8GâHÒƒôw‘w‘w¡Ô€ #:¢£. •¨D%³‰ÙÄl‚|àƒä ‡‰f¢™hÞž·çíy;ÞŽ·Óí<ÓLšI3ÿ ‘êbFê¢.tUÆ¡~®~®~΄3áL8Vc5V#±ˆ5š M…b±¿Ø_·gknbnbnb´Ëh—Ñ.ݵ’0I˜$ÌrƒåË ¨ƒ:¨£;nA,ˆ!~Äøéò¡‚PA(Æ` ƈóÅùâ|]àwÿVý[õou ×^z©6©6©6ÑUt]¥¢¢BŽ’Xr°ø¤ˆß¨.¡ÓÔUÂN“×OŽ›¼¾×Ç^ïz}œÃÌaæ0••••••:kóˆÍ#6Xùzå땯Ñ ÑŽp„#z£7zÿ~L–%d‰ÎÊÒ¹Ò¹Ò¹'“ÀÉ®‹]».¬ëÅzå¾Ê}•ûÊ´Ä´Ä´¤"±"±"±Ð´Ð´Ð´cRǤŽIy§òNåz>úùè磻ï>¾ûx¡E‰$p=ízÚõ´ÀQà(p´}cûÆöMå¶Êm•ÛÌG™2%=)=)=‰»¸‹»†‹ .ÒõJxFxFx†[Ê-å–Š/‹/‹/ß«{¯î½ºv¾v¾v¾š¡š¡š¡ŠŠŠÜî ÷„ä’óoeäAŽHÀ€oÅ.z¾Itï  @PˆjƒýÔ†š œšÀ‡^Â[…÷á=à ioúöæÏÒzüYjEý¨dØÙ׌=zþ\0°…-l8@#°û‰ l`Sýírïp„.ú pEÁÒ¸Ç.KãÌžŠÎ˜=ݽ¯C‹ÝûN-î5ûÔb»ÙÒp»Ùê.WÀ´ÇV¦ý×îú/… ¨€ ÄâqÁ—e_–}Y¶7xoðÞ`íííšWÞ¯¼_yïܸ;­ËÖeëR#jDpgq–áOó1†¼a-CþÔÆ“ñ§6^¯{=õz]Ñ Ñ*ÑŒ#nG\¸Ý­~·úÝêF=zõ¼ÐþBû íC•¡ÊP¥ÄJb%±ÒÞÑÞÑÞ!H#ÒH÷`͇ò¡|¨4L& K®“\'¹N°$X,1ïeÞ˼—z«z«zkUÈýŸ3¾€Áÿcï¾ã¢HÒÿªº'3"Š1b³‚9gÌ9犺æœsÆ5bŽ‹®sÎbA%3 Lî®ß3w·÷»Û»½»ïʆ~ÏK^ㄞš.fè§«êy(K‡†¥ÃöðåÚ#×^•¥?­ÊªïÒ¬jüá3­J>Swˆ»{Ý!‡+½y¸Ro×Kµ{».®ôpéâJ7/§gÞ¼œ7D¿-oˆì0Ý";짘åÇ­"u¸U_²‹6~ɾäó)ç’Ïì]=fïZ¸õ‘báÖϳ ï~žÕ9ÍWÛ9mïÆæ®{7:MUTvšZäišQäɹÑNœò Gžúþ*Ì¿“*¨ B=ÔC=r›Ü&·©=µ§öT ¨ u¡.ä¹Gî!A2ϧ ÔƒzPŽr”3Of¦ŽÔ‘:ZjçNÅTLÅ*¬Â*ö}`Ìõu‰HDZ2$Ë!‡ü›¾_-´Ðš¯šË±‹ì"»h¾Eæ&s“¹%Ç>Ç>Çv¼íxÛñò#ò#ò#Ç+¯x¼¢ý)ûSö§„"¡H(úµw­ ´‚Ö¶†m ÛçGžy~ä\»¹vsíüzûõöëínïnïnu#êFÔ Ûm¶Ûl·]=zõèÕ£™û2÷eîk˜Õ0«aVSmSmSíAïƒÞ½uQº(]”N©Sê”ûï_¼qèw¡ß…~—Ð/¡_B¿«ÉW“¯&›CßËá—Ã/‡'‡%‡%‡5½ÞôzÓë‰}û$ö1·êkÀ×€¯¼ŠWñ*a 0P˜žž®¶QÛ¨m ›6)lÂD&2-Ñ-Y6ËfÙ?û& Èï«_$¿æp×rØáÞᛉþl&9IÚ‘“²µ4]¶ÖêÖê†Ý Y»A E…ÓE¦Ó§E§§@ŧ@‡uò²ëägdrù…gTX‘£øüe‰ÇB6H\ˆä! pPàïÖqI$’? Ÿð ©l0Ì#+ÐJ¸¢1ˆMÿ;$TaÏ„*ŽoqŽožIØzðŒSÅ<§þKûÔ?²´æ¥ñªæe³eÞêfËLíÅê¦öºÕÂ~ÝjZ¡ÕXèïâû°*¡’RP Já}É÷%ߗ̱ɱɱÙþaû‡íò|ò|ò|&‘Id¹}!ûBvç ÎAƒò]ò]ò]ìììž•|VòYÉ+¯¼rpÿÿþ•OT>QùÄù°óaçÃ9täБÀ<]ótÍÓ5/ðþèþ0À­EkÑZBŠ"¤˜']“wäy§öR{©½ªûT÷©î3cÄŒ3FS=ÕS½ú¾ú¾úþoh ôO™kü*ÁCÉ~dÉìG®;-Ëu×T4Æi*Òëä½>îYÀûqϺ7-×·{Ó'ó|Ÿ »œs%îò‘5ャùW¸ìs\Aƒ² ¿a²¸Ø0Y™Ìù+“mÖŽ¶^#¬½¼FÔ›Qιތ6ÇJÏis¬v·µûwàkße@¶KNÏl~-¯á×R59MÕì4Ke§-ª%’ÿ™¹¯QeTU%·•ÜVr[³Í4k`¾×)Ó)Ó)si·¥Ý–vÛUgW]uöÜspÏAJBIèÆão<®o o o0ÏežË<—-Ó·Lß2}¬õXë±ÖæQ¾q‘ã"ÇEV4U4U4iÊjÊjÊÖ+¬WX¯°ALƒ˜1®!®!®!Í×7_ß|}“qMÆ5?øÁO^I^I^‰ì'ûÉ~öûŽ}‡hD#úïš^ePÆ|Õ6Ô6Ô6tØÀa‡ Œœ9;rvÅ·ßV|ëûÁ÷ƒï‡‹J,*±èݬw³ÞÍ"A$ˆ±l[^è…^¿Þ¾U¢JTñÃøaü°'vOìžØŠ:u(*âlÄÙˆ³cG=vô&ïMÞ›¼Ož ½ûtÓnÓnÓî¾´/íK›n:¸éà”g)ÏRž]¶½l{Ùv^Ëy-çµô=î{Ü÷øäðÉá“Ã{GôŽè±¦ÑšFkm¿¹ýæö›4‰&Ѥžµ{ÖîYÛü-mËÛò¶<9MN“ÓÔ•ºRW”C9”³d~6Ϩþå~óý"ùM3çjiD÷3ˆ‡é:Y]38µCÌàÊŒìð€å°z,ÇØ[,gìmXa8aXAEB©Hû“ ´?{Ã2Ù›ânû/ÖMЄ `ØÅZÅZÅZ·Ín›Ý6›ïT¶U¶U¶íêÞÕ½«ûõî×»_ïÞÝ®»]w;a0H$ß'ß'ß÷ðîûïÖSsLÍ1•*TȨ”Q)£R[¾-ß–?~2üdxÚô‡iCýCýCý7uÝÔuSWóö‹ž=+zö}‹ï[|ßbbÒĤ‰I¢(Š¢¸Í~›ý6{÷jîÕÜ«¥*S•©ÊØA±ƒbq¹‹ÜÅ€!C†Ð`LƒÙ%v‰]*îø/)ÁAÉ~`Iì®"qâ*2%.1en„VȰ[&¿`·¬ÝžÒíö„hK½ Ñ1N+£?#<П1UeýMUÙd6€M¦¶äµå h&_ k‚`Y·Ž.ËÜ:žéø¢Ã™Ž…ŒÚ Ì0#A(Açb/˲Ù6–-Õø•üß"IcÒX“¤IÒ$ùoòßä¿©ÒJC* Q-Q-Q-1‡ ÍcšÇ4©Ï×çëóºsºsºs6÷mîÛÜW¬W¬W¬×ÖÓÖÓÖó,ïYÞ³ü‚K .-¸¤^¤^¤^Äßåïòwí^ؽ°{ašešeše•m•m•=vÆØcgôµékÓ×FvEvEvÅVe«²U‘j¤©¦Ú¢Ú¢ÚÂsÁ\°yùϵœ~ èøÃþµµµ-«µ¬Ö²šx^)LÂcwcwcw÷êîÕÝ«Ïm9·åÜ–ùó'æO´í`ÛÁ¶ƒõPë¡ÖC5ó4ó4óÈ9rŽœë}²÷ÉÞ'[×l]³uMóûuR:)”ÚƒÚƒÚƒ%SK¦–L}iö¥Ù—T;T;T;lذ`ãkãkã+žO‹§×ìX³cÍÍÍÍÛ6¶mlÛÈur\×hu£ÕV3Ó1 $ ÿ¤ÐÑè·ß/’ߨlh‘M‘úd‘é‘xÐôHq{©8¨Èãú+òn}HO¹õ!Zž|8Zþ¤qæ°'ýï9iýï­.á´ºã2_ŽË\Ö+—»¬W&pu• EQ¦VEQ£‹FdŒþ¥ëð!ê¢ãçÒãOÅçÆŸ¢×ž^ ×Ú”wÞݦ|-æ±·+(«_YPV4±C¢‰Î!ué6‡Ýgsàÿã÷bÎjnNçö_ðEü^ü^üÞ²¬à¹AnÐ’´$-IÓãô¸e €:è,§œÌCUHREÜ+î÷Š÷Ä{â=þ¿ÀN²“ì$à‡âî6‰ä€Â¼ÐÇáw=áùÆÈ9@£5åi´| Mâc¸Æt×ß‘ºøŽiÁa! 2õýÎÎÿ¥#éä¹C£à¨©£©£©c¾“›ÄMâ&Yu³êfÕ-sJæ”Ì)æÛMKLKLKÌ×s½s½s½Éx2žŒ7ß" † ÃÌ…44š@M fµfµfµÂ 0( l:›Î¦›©ËÕåêrŽŽxoâM¼ž×óúc Ž58ÖÀœiöãàƒ?Þ¢Ú¢Ú¢z|øñáLJ¹—ÜKî¥yôøwSƒÏÞ#Ÿ½ÇôÃn"™ÂM4µ‰©µ*Á°S•`è/ì2ôWVædÊÊŽ_ÑŽ_Üf*¸Ítog5Ö½ëGåP×áò’á²´ª¬†yÃ…­Œ6…­ÈCt#‰ 2LCML³dx–B_ɯÁü¹3/u9‚#8Â|™/ó5¯Ãd›Ø&¶ÉØÔØÔØT¹\¹\¹ÜÉÅÉÅÉ…÷ãýx?£Ò¨4*ikÚš¶6:Îæ•½Ž±Ž±Ž±6³mfÛÌ6úýþì»Æ®±,–ŲHiRš”v{îöÜí¹ÃM‡›71Ã1œFù»ÁŽ‚BN£h=c¾i€Ç%iUZ•VíâÝÅ»‹w”{”{”ûãããZÍZÍZWºWºWº9•9!Ó¯¾o½à/¶™mf›¹ÜNn§¬¾¬¾¬¾y ½ÐBh!´àÝx7Þ­Ä›oJ¼±êhÕѪ£©±©±©1éL:“Îætkâ4qš8Íù“ó'çOΣG;W‹«ÅÕX‡uX'< deeeeeK)q¤Ä+W+W+Wc¶1Û˜-4š M­Û[··nï^ѽ¢{EåååÀ`•X%V‰å²\–û?O¿ÿýô‹ä·Ftd+ &[…âzá€ÝY » ª8Ã5U\Äá»7#/ÛütͲÍ%›[_.Ùüø¥6Ž_Ú¶¡ÙÅmúåWlÚ/¿îk÷ º¯}wÙ¯ñÝå±ÎºªÇºò]®–ïÒ LÉa ÊŒ^\mÜèÅ‹×Õ«»x]ûÁeÒÛæÑÜ£iwîΟvgÅ€§§V  'i'zRžHŸÊGñ¦àH&“d2Lÿ‹ãasq/ór½Ø‹½6ÍlšÙ4s½êzÕõª‹ÉÅäb²·³·³·c%YIV…(D!œà'KèëC|ˆsgîÌ×ð^ã0×a®Ã\öнb¯HKÒ’´,în“Hþ8xK%àB¨Qhùèr°ùýv“ò=‰5P¥žs™*õR¶«S¶›ˆØÕDøÇd ÿ˜|&õÉgñ2s/³ì p@séâ~¿€yvtA¶ícû(¥”ZúΘfL3¦Ý«~¯ú½êugÕUw–ùv§N"±ˆ­öµÚ×j_/Ô½P÷BÝl}¶>[ïîîžp4áhÂQ\Ã5\ó^é½Ò{åÛsoϽ=‡ÝØÝ–Wß‚-ØB.“Ëä²ÌAæ s@;´C;…ŸÂOá§z§z§z×¢U‹V-Z9säÌ‘3úWúWúWúªúªúª–@Ú\gò÷²ÚÜŽšOÙB[¤aÒˆˆÁDD4È0'á Y ÑÚZæS£ ‚¡Ä(E9DËA'éõ¤Çÿ×§"Làÿh ¢DòË™‡­`+ö޽cï,_Íc^ð‚Žã8Ž iBšf9]e.W–Žt¤39“3¹96¯dþéi5ó÷€åÀN„Ñ|Àg¬l¬l¬l~]Ë#ÏáÎÁ¶°µ|ü4;ÀßÚiÃ>²,ŽÉ˜ŒY¾+´ç´ç´Ñ²;²;²;ÚÛÚÛÚÛ,šE³hKâ±ê¨Žêt+ÝJ·’MdÙľ°/ì˯¾oÍÙŒë¡ê‰Qb”eI€˜÷˜˜&¦‰ibº˜.¦£.ê¢.|á _Ë~nŽæhnÎÕoJ4%šñðÁœyÛ\Èʼ¯ÄÚbm±¶e;ÍÑÍ-Ó˜B¢($ ùB¾oI1U¥QÚr¢!ùÈ·Œ;ý§)Èý"ùíBF|àL|LÓÄN¦iŽ£ûG?¿˜}õùÅYï™Õ±JIç«UJî™Þ¢hÏtϱ¶›<ǪKëTêÒª:ú{ª:$“Ì ™¤¼IôF4zÃ9°A'|Nb [%¦pLû¸ªZú(U-Ï*Ö³=«„%Õ( Kj]Ó¹e뚫ۼÈYÝfD‰k¯F”X=¯Aöêy®M¬ú¹6Ñ<2žÑ<â|‰çËRPÀR~Ñihó·ÖIœÄIóg™“q2N{5öjìÕ=‡÷ÞsØ­®[]·º!êuˆºÍþ6ûÛì7]7]7]gX'ÖÉ<ïÆœ)]^N^N^î뤯“¾Nº•+ÿV~/}/}/½n˜n˜nØo3}ŠDò{Äã+2XÙJæ‘vÈ@Ʊ±Ø€O¸%‹»yÿ=®2éÍU.Œ×Ÿ*ŒHüÓ’IìæÖI,¤N©°:å›8¤—ob\(Ü6.¤]HíBêÃÔg©P³Tóˆ_q¿ƒ_ "*¢¢0C˜!̰QÚ(m”¹Ís›ç6ÿ<çóœÏsžoy¾åù–÷ä=yO__|}ñus¥Óy{çí·7dcÈÆ­·µÞÖz[L‡˜1Nž<Ø}X÷a݇ím½·õÞÖUVmXµ¡O)ŸR>¥žF?~M"˘­ò–ò–òV ¯^%¼žÍy6çÙRŽ”#å²—f/Í^*—‡ËÃuûtûtûpwq7ïPÞ¡¼CVG¬ŽX±„ýLÉßóHg(álùù¯ý«‘.‰ä[1ŸšQþäòÓæp×~ðû'Ï5‡@æB\¥P ¥~ö1æO·ÇO.ÿÈüºÿø= ƒ oñr€ •(OyÒ Ã0 ‡éAzîÄLÌÄ,Ò÷o—Òùl>›ÿöªù]˜ƒy¯Ÿ\ÌÌéÖJÿäò{ÌÌ|ú 6j£ö?y̿ގÙOr}ÿ;ØÁâ/÷{ìÉoÁ_ÒM@P²AißBîkßâA㌕O;qçê´£+Võ]±¿¿ÿõþþEµ ²¢Ú9-Šfå´`¹ØÈrei¢¬#Yˆýd!Kš¥XRg™ƒê¾¨@úŠ©ŒS{¹öн²…ü"ÙÂü­âõü­¬ÀúT¨ã ªPg_—æ;÷uYºìIͥˆߎ¥ÃoïøÜiÇ·½V'ÜöꣅúhbÄ0 àß„ÁæSWýÐý”å•å•åï ¸3à΀ÃSO=<µwQï¢ÞE´mF›I?’~$ýC‰%>”ßt|ÓñM D?ÑOôã'ðø b¬+ÆŽÌ™52+µ]j»ÔvƒÄAâ Q3A3A3ÁüÑ—H$ÿ;Š`“`$!‘$ØÂD¿÷*£´=VÐö¦0±¼)¬´Ñ6¶´qÈ¥J!C.5ísêpÓ>îGÔîÎ×7¦8_µ$ÛóÕ›òÒ63D†Òâï"ÿð— ®EEEÕŽU;VíX—µ]ÖvYêê꾯ξ:ûêLz>éù¤ç¡¡¡æq˜\—\—\—˜1+bVX½µzkõv7‰›ÄÅ'Ç'Ç'·=×ö\ÛsVYVYVYÃn»=ì¶If’™dåê–«[®n¿ä~Éý’E…¨Žœ#çÈ­3¶ÎØ:3n͸5ãÖŒ3JÌ(ÑÆ®]»êÊêÊêʾq}ãúƉÅŠbEÅ}Å}Å}Ë¿Ÿ;ä•H$³Š¨H>‰ÏÅçz“ì‰ìI©Î¶Þ¶Þ­'€ö,¦` ÝSÜMüS’úEòß1@€%`!KPÖá#”u’ÚœMj7ûìý^³Ï†=®Q;ìq·þþ¹Ç´Ýsi·™–j·9)Ï8u\þãçŽËóâõ÷óâùô ?wðwH8’ ø=>O37ãi§ÊòNÒçõM_¼þþçNëïí èU´‡6ØÃEË„mEËÔ›gÕ›ç ¼0gPðÙR›‚φ¿¸³2ü…^'Øêut;9D·+Ȉ40ý%ƒýÏúŒÏøL§Ò©tªÖIë¤u::æè˜£cÚ†µ kÖµ\×r]ËuºÕéV§[‹-~´øÑËÈ—‘/#œpþÁyÛ–¶-m[²AlduÞê¼Õù5fÔ˜Q£d³’ÍJ6sÊpÊpʰÌû0WÌ–H$ÿGx¨|„!œ…³GÐâ<±…-Üpáw²>óg°WÈe¯"D š‰šç_²>ÿÒNQFh§(»Þ.¦ìú÷ÎnÃß;;V°zåXÁÔEH1u!µ0‰ÔBc‹ûü“1“Ù{öž½çVs«¹Õ}VôYÑgÅ ªƒªª*žÏŠgõ­ô­ô­ŒžFO£§ÑËèeôŠ´‹´‹´]EWÑ5?0?0?Ðk±×b¯Å«mVÛ¬¶á|8ÎÇcŠ1ÅèŽèŽèŽÞ*¼UxË×èkô5VH«V!­à~Áý‚ûæu€ÁǃoÓ Mƒ6 ÐÑY!ŽGèžèžèžT\_q}Åõ­ Z´ær¹ÿ݃D"ùÓy‰—§‘4Òô£¡³¡³}ׂ#Ñ ­ i˜‰™t5†a˜4ö“úEòŸÀ À2XÓOäý$³)bð¢Êº.ªÜ+­|a¯´®‹Ê».ʧõÈÇÛK¼ 8܇hˆÆkÂyã56ql~ÄüˆRPŠYa;³W²`q¥Ë~å—ý×Ǧõ»>vÉÂ'nKÖàaUoÀtçZ‹¦;«Nh¿WPPÎIA1Õ0>O« ÍÓNïWkïô~cîrcVyöhÕ™%%ë9,)™ûDw&÷ @ðìûÊ€ù§Ã¯¹ÈE.GÇÑqy~y~y~éõÓë§×ï¶¡Û†nr+æVÌ­(tº]Ê­(·¢ÜŠjuªÕ©Vç‰ê‰ê‰*ø~ðýàûv:;nYѲ¢eEe3Êf”]¾{ùîå»û…ö íjžmY^!‘HþðHF RXUV•UÅ,GP£`ú}Àâ^F޶e‹m_Y––|eYâsU«Ä瑱!K#cm(ÙH  ðªvmáU“¡s¢È.:€%³¥,ù5”€Xö³-* »ŒxA6Yò /š“(”A”a3ÙL6Sk­µÖZ………šs½Ò|šOóñÏñœT'ÕIuU_U_U_"Ü|n>7_8-œN«›ª›ª›2-Ó2-™Ef‘Y´:­N«Óž´'í)´Z -MµLµLµèº€.0'fЧéÓôiÚJÚJÚJæY¤6©MjÓÞ´7ímjmjmjMûÐ>´Ïï çó·ó—qoLÄ÷'·ëþî^‰äÏŒB|Â'2œÌ"³ØU2Œ 3Õz¶°eï‹»‰JR¿HþCÄJâ*6BˆØÈú{>Õúû¨Î …QmÇÉlÇ Ÿ]9køìÜ íŽÜ Ù¢“`)(d)8'8äÁ•I6*Ã¥à‚gHÇ3±ˆä½èy/Åen·âòÚYÏ3ÖÎ:ô±æé¤Éåkh'—ïþ}¹”îß«®ê£UWQíQ¥@P Áèƒ`šFòhšº‘᫺Ñô/5OOÿ2nÄÍkãF\¿õùÂõ[ Ý=<º7¾/N‰‚:B Ôÿäí™Ïë›#,ÅR,5R#5R2›Ì&³Y a!ŠJŠJŠJ懛“Þ±:¬³¤,=<òðÈÃ#^}xõáÕý¾û}÷ûR/êE½Œ‹Œ‹Œ‹HI ?»ØD"‘üWxÈ!ƒ Pf™-XÊ ýŽÄ…`öZ–-—ûÉ–Ÿü1ñÔàv×ÊŒmwM‘M·+²³T…ý³Tð…|e®t·Ì•‚|OÁâØg÷MZˆBË9E»Ä.‘þl.›‹~x€L LÈûÙçš§©›WÒºÃîd YB–XV‰\Æe\¶<Ò#Œì {žütn;»Ê®²«?ݘ…zèÑ-ÑÒèšo6ÏY6^²ÜRŽ”#å8gà –ç–EY”5§Ë²<¾ëŤAÿ¶Âœø?ô´Ü®…öïï•HþÔÌëŒe!_ñÁ¸…[d&b"Ò BüŸ2Kþ[R¿H~9#DYn³rÓÈíwØ÷c«ß—;¶zcJ“à)Ú9ÂvíNK‚9-K‡†¥ÃÀóŠaó*_G(àȬÙf-cÅcvDÖÝŽd7ÑÎÈn2Av?j‚L5ÌðP5lçÉ`¯'ý'9󟔣ÖuÍQó3H~y9yÆÒQÄÒÍk†á {ø Vìº`å¸H1ÆqQÿ ¿ý3vÙ¿6î²oQRÓ8óðóP©(Á¨ŒÁÿd=° \à"Îç‹óí ì ì |:ùtòétâɉ''žôÙÖg[ŸmgËž-{¶lb×Ä®‰]“¯&_M¾Úou¿ÕýV >‚à³oÕ¾UûV½Ê|•ù*³Ë’.Kº,ùüñóÇÏmÒmÒmÒÉwä;ò&`&˜“žw§J$Ôòåò— œ¿ë ÷ïôÄ%ôè0 {–Nž=Ëz1ߨz17ƒÎäf€ƒ ò`@žå«°¸"вÏEÙÙXÑ´x6™Mƒó¿M©$ù½ÑCÏæ«¬ë%„šþ㽉D"‘üŽ9CgÓH¶Ð4Òá–r¡Ã­¨Ò Õ£Jú•p ô+uËö~©[¦zâ@S=L@ L€t9×€¡6ÜQ›ma£Ù4ÃY4³5)ƒlM·c¾\½ÓïÎå©ýî”ò²}WÊë@h‹öB}ëÙõ­—÷Iÿ*ïެäÏ‘èE^°lhY6à °±Fˆ0’OD>i«!Ú*A9ƒrlȺÙ<8?<¥êùáNוî MÙ¡©å¹ÿÈ ^ðˆ ÄVÞVÞVÞ½·öÞÚ{ëE«‹V­¢'DOˆžðÉî“Ý'»ß-ønÁwŸÆÿi|Ù“eO–=©}¥}¥}uxÍá5‡×<»ôìÒ³Kû3ögìÏ8þüøóãÏm‡Ø±ÂÚ±v¬:¢#:wwJ$<8pà-Eò¡bùàaƒqÍ×÷;E˜@€”no·¤tûì[v@jÐnŸ­mÝ>£%?- ¯jë^ t@ªoR%³¯ßl t0‚ų`·AaTÏ{q÷¸{~•° Ëøc'vêÍçï÷•üÑAG€¾«ÅjUÎúÛ]z“å^;Ø!¬¸*‘+sŠBè§ Gq–µ H˜?•à¡d¬aNOqz›úr¹MýÍïŸïÙüþð’÷k/™T#{jP÷ÈrÇ»Gì6äìŠ×Ň\(ÙÀ…B JÖÖæŸ$Ý4‡Á÷Ñ÷õT8¤§n‹m¦»-.ßÕ±Mù®w«}ÕÞ­Öq¡ïäŽ É2.qì8øô⎃“ÓTË’Ó”ù—ʉâzÖW\ÿ-Ûɰb-àGªçªç>{cfc6VYVðºQ7ê&·—ÛËí Y†,CW–+Ë•%Nĉ8YÖôšCbÉo“‘º„ŰÝ»‹›ü·{%ÿçÌ«¬«¢*€¯ø &h bS±©¥jëïxÎËŠ=Jâ±DŒåü™‰V%!8Fê :´4`"ÇvÁ MOAH=Ò€îŸ&¨‘üßùóô‹/Ì_Üðö6#ŒÁwÉBÓ;hÈn$D¤Ò 0švšÎƒ‘d8€t¼,¾&‹çÅó…«ÂUfN'pLEF\ÄE…BI ø§ã{"D¨`+Ò†=aOđċx±ïà7”±Œ:þ딜ÿÈ “é£xÌôQvV6YvömT^þÛ(k¾™µ‡³»ò¸³»&ÍôE“&êXˆ¨# ',ÏC6â„H6UˆÔQÓw:ªig¼¦iW±£“[ÅŽs×1g±l=lx I>Ûo%°Ž@q–ìAÔ-î†ÿÁýyúe”¶á ˜f¸ÚŠWó†°Wå_¨*åNzb]·ç¬ãñÈ)0ä H.¾&³Ýl7D²—ì…‹Ã6‡mì˜u/ë^ð…3œ‘íTÅ© ñå½yïŸ oº€x¬ò ‚Ja>|0W+øÏ²¥hÓbZCòI<ÉÏoi\”ßÒ3ÉÚà™äúÁi¨ëáˆ1Z8Â.סÆõ¿>WSÙ,a*'Êvs¢] ¢œ]à¤þÕã'õ—yÐP™GQ}ãä¢ú²qT)DZìŠ`DÑ¿ïýG!JV 5 «J¶²‰/ÙJwIX »”_N(¿¿8ñû°C±œ ñäê ê}xôáÑGGut”1ØaÌèÝ©w§ÞÆ4ÓtLÓý½÷÷Þßû~™ûeî—YWk]­uµŠBŠBŠBœSœSœS¶ÛvnÛ¹ ¥AKƒ–VëX­cµŽªUŒ*ÆežË<—yG^yyäåyÅyÅyÅÞ‡{î}Xp°à`ÁAÔG}ÔW+‚Áy¹y¹y¹c}4öÑ,‡Y³j©=¤öÂ)…S §¬|¹òåÊ—§¶Úvj[­µÖ¸Êc•Ç*çñÎãÇ­+ZW´n†û ÷îÛl[°mAá´Âi…Óè:‡Î)¾ßb‰äÛá-óýKîg¾áj6›Íf³©õ¡>©/S_¦¾tttä~ä~ä~dØ6A,+–ËZí°Úaµ#±Tb©ÄR¦S‚)¡Âí ·+ÜÖmÖmÖmþÇe B;,Ä9¶Rè[¨ú´áªÚy’Fí†?ª3ü‘éšXÃt^ Éô‚f©q½f©¶µé½¶5]Öt›Œ"6ùÛw†ùŒÝK÷Ò½úwúwúw‡†vhX‚1Á˜`´¹osßæ~öªìUÙ«î½7ö†L€IDATÞØV¥[•nUzÜq7ÆÝpˆwˆwˆj 5…šß¾åÉoXOÖŒOà ˵ɵaOÏ9=ó''¡!ÇÉño0çEòK؈ǬR¾£“~Ѐ+Œ¹äº$y.wç„g°íœÇÔÇ=!Ñ^ [²ÔÔ "tdaq7üîÏÓ/ÙB[sì3@Å'íQ¤ûþÜn¨ø‘6ýÈ­÷O7fçSýõ­q”ô Œ…Ò /AÀm®“1Wæ QÉ+y¸¼÷}ï‹‘q1q1lÛ… ¦ê”ê>rW¹«ÿ4~‹·lI#iŠc•Aõ:…ûžûþÝMZž–ç<°K0ö°GúОHTc‘äŒèCÎðël–óëN6*êr²ë*Œd]I;ñ¤‡Úd­6Ñùä;È`gy2@Ä¡¬§8TéÌ}T:9^”óå8k‡¬±£˜bìÈ™HSÎÄŽ²ìèÏVèý寣Æ iì±ÆûÈçñ>¦Cb/Ó!Ý a»î9L(9̪±×¬ׄ÷äš¼.x]ðúæã›o>>v娕cWÈ{òž¼VXýaõ‡·ÞrxËB·B·B·m+¶­Ø¶¢ñôÆÓOï¼£óŽÎ;̳/,¿°üÂrÏž<ÔØ_cýr¹ƒüa™‡e–Y˜º0ua*­KëÒº\u®:W]<)žOÊ}ä>rã:ã:ãºå‹–/Z¾(:;:;:;¬YX³°f¼‘7òÆ3oϼ=óö˶/Û¾l{±çÅž{–^þyùçí}¶÷ÙÞgQþ¢üEù1á1á1á#G>Ž”””d%YIV²ø~%’oœÂÁ<á™XΜ}³‰€â>qŸ¸Ïú¦õMë›3Î8s ºœºœº׊kŵÂ",Â"Ö’µd-> …ÏÆçŸo|þóžýðL9B9B9B8&Žýã–Ù*6œ­¸òÀk}.}­/½Í®némì Ǫ ûU ùõò+ AìµD.ŽäKFÁopìô ®àŠÉÕäjružé<Óyf·ÝFta—g—g—'”J %I&É$™ÅÝP‰ä7É ^€˜*¦BPvVv†]/u/5Yoˆ6D£ˆ¬ +¤Ð÷7H€¦¤(ãƒAX$Ì`d™Š |•¦¬‹?_¿˜‹ñ(ÀßÒ€IŠŸRP€ËØï¯—Àµ )ƒ2Âmá¶p[ÑAÑAÑ!l}Øú°õ\/®×Ëî²Ýe»Ë.§]N»œ&ËÈ2²,gqÎâœÅC|†ø ñ9r*äTÈÍ-7·ÜÜbÞΆ³áæä-4—æÒܤؤؤØõgÔŸQÊ)7¦Üp¾í|Ûù¶ T‚ŠØ[bk=ßz¾õüÙWg_}Õ!Ú!Ú!ºKl—Ø.±æ`;³ifÓ̦7;Üìp³ÃX×±®c]y ¯á5ƒÛn;¸mfpfpfð=zÞ£öí+ÚW‹‡ÅÃÈCò,ë‡%’? æ/s9d[ÂàoøµÎ"X‹ ÎÔ™:š÷iÞ§yÂa€0€üH~$?²!l"ë$ë$ë”?#FþŒÇ·ß~|»t³ÒÍJ7C_ôE_¼Ä˺î¦Ê£À:Ö þ˜µÂÔY¬`ê,Üd_…›l[Íf! Í9 ¼ €KšbaYâ+úо ?…ŸÂoHĈ!Ô…ºP¤ )p†3œq÷p!AHáÕ«…WM¡¦PS(ùL>“Ïì¯É+% ;Øì;†’( ÚhQ£Ed6ÁG@Ld‚I%&~Cþ6Õê–¼Á3›ì;ÕÝ„÷(ˆŸy™ ôuhVvP1,%/@PþçW–ü+ž~1O^„`šÁs ¸s‚Nes>]¸ÊW2Ž’vu¿|W 2þ9†h ‚Ü,¾&[¦@$áòjÛ«mì׋ëE¶µunëL™º›ºã#?™ŸüsS ÉÐO€*q‹±µšÞ¡Za3€ÿf tbꇑ£|XZËÇ‹ÒZª×jwª×ÎüÐÐeæ_¦@×!M¹:(”ÿësÅ¿NΕíær üäòc é…¤—,þ Ë3”žÊpÃᆠǘµpŒ»D¼¸Kho4FhÀƒþÂ…-›‡Í\R‡«cúdXcúÄ—¡ ø2JÂR¶½dûÈbx‘Åìsg7¸†\C®aÅòËW,O’HIâcùX>öÉž'{žìa]YWÖÕøñ;ãw—T\RqIpóàæÁÍÇí·sÜÎ6hƒ6àwñ»ø]\(Ê…â;|‡ïU^TyQå! ‡,²0Ô-Ô-Ô-² ² ²€sà8›)6Sl¦ìÏÝŸ»?7ãdÆÉŒ“›–mZ¶iY·vÝÚukçææ– $ B¾c¾c¾cÝu{Ô푾+}Wú®ÒK_,}Ñó‚çÏ —O^>yùä\:—Î¥ô }Cß°HÉ"Q ÕP­ø~%’o‡Fðï†B¨ÁÁÜ7Š ¬`+¼Ç{¼§:ª£:R“Ô$5130ƒ¼&¯Éký8ý8ý8—‰.]&¶x×â]‹wEŠ:u²lág–ìÓ>´xØxG<ܪ…÷ËV-nÓ«Ü4v +·µ[˜ë:ëí®ë°œ\Âò«ú«Â\q¾0—T&î¤2Kf¹ßl¸J˜¯Š“È#qÎgœ?‹GÅϪ*­jbq±æŒÐB -Ì™º'c2&óçùóüyò‘|$-i $ÉO ¸Ã@2u®:—}† \8À²¨ÿ†Ø£ÀüX%€W(ªµíc×Å6àésÙ*–77±J삵ˆ¹:ÊaœØx bæ .N}¸ 7»Ã¾`C~ •lC™âk²9 –í`ÛÁpQ S Ã1Mœ&IÐB‹¤¼My›XÿšýOà¿&Á¢mØöD;’x/MÛÿ“$X[M]­ü]£dÉŽQ 9“²[çíÎnM»‘/´›ø‚)Åd8*á–çþ% Ö!ҞʇÚSu;ý5u» Q/+lˆšS»îØ9µmªÈvÚTÑ–1½Ò–qôStwôSÃPU ""°g,›=Ã/ ` Â1$ŸÊ-–OýrµèÈ—«Ê­ÜåVÇÅ ÇS[jŠ@j!»±»¹}Ü>nŸ±…±…±EÜ‚¸q NÔ9QçDRËJ-+µL&È™@Î’³älÁÆ‚ûöìßìZ³kÍ®ÍÞ3{Ïì=Š·Š·Š·\ ÃÅ„? þäyöóìçÙÃí‡Û·?*?*?*/˜U0«`–*E•¢J¹wûÞí{·Ãz„õë± hAÑ‚¢ÇW_}|5•¥²T–íßÒ¿¥K‡¯_¾j¬5Ök¹R®”+ŒŒ„ÒBi¡t9¾_ŽWµVµVµ¦éAz>ð”þJògã$J“œ!ÛI4–¡@Pƒ‡¿úë›Ã¹ ¨€ ¢Q4ŠF¶mgÛhD[³ ±1ùÅüb~1;ÏÎÿ5S®†–¬‹{A¸êñ† õø.ŸËtù|ýÂçW×/¬ùôôª‘~}ýüú|©¦™ÿ¥Z§¾e–têëVÓªÀ­¦ÑWüÞèûM{ {æ«Ê†ÆÉʆ\+Qǵbsq„Íå4\§!‡Ènrèg·Ð ÐIõ•H~–yÊ¢ù›ÂöEgA†Y˜UÜM“üæy8 8¬0 sÉ €t⪂‰ÍL§ÀQ2 d|-÷Y𦾑üçþ<ýb.ƒ”K­@Øiãv$à$tä ^Ëm˜ŸðÂ8eÄÒ¤?’/ɲX6Û€ƒ¢øšL¢I4D.ŸË'2®׃£MhÈpÇ!ãúp} £É4ùgGq]€=†Ÿð‰Œüß[Å¿§Þü{cG6ÎØ±R„ÓžJ×ö¦]¿¶77S×67Ó§”]šO)pRçC~@ùÁò4àH[D"”"¯UŠÖCdÁÖCŽæ}I8:¼LìŠáe> <»ð™[UëúnUw½Z´#h`®ÿȹÆTq1•Á@ŠÌ•„ÿMZ, €²ól;¯ÜÇÙ*÷½Sç›Þ©mgË>ÛÎö¸míîqÛ¸E8kÜ‚Ž˜…Žä+iH¾j?i?i?]xqáÅ…×ó¯ç_ϯû¾îûºï4XÐ`Aó†MOLOLO,váõÂë…×[ÔkQ¯E½Žö<Úóhϱ«Æ®»Ê½£{G÷Ž~Oýžú=]7jݨu£4‹5‹5‹sI.É%Éó“ç'Ïv ;…-…–BKáÊÊ++¯¬¼}ööÙÛgSSS_×]ÿuývûÚík·.¢‹è¢ãK/=¾tÐäA“M¾Ûên«»­^Ïx=ãõŒAÏ=ô¬puáêÂÕxŒÇxl €Í5%’?âÎzʃt¤#<$ÉCY¢,Q–({%{%{…*¨‚*LÎäÌr^ŠÝd7ÙMøÁ~ÿzÃ$ $L쀱ƒr*7^9µ×“ z=é¸÷‡Ç÷*ã䛕qAŸ÷Õ:2ây­#¥Ù})uH£ÕÇPã·ú‹-Î!qÀäÀ›wžÞ¼«êc]£ª?VôâÇ"ÏŽX±æäþ$„x‘ñ›'>2oÖ% h]Ë>³XXƒ‡uqu¦D"‘ü0'´1@ î,˜¥0±®lQ°|ÓX.ð9%¿Ž?O¿pPÈE ÉÚŒì‹2•2t××zß™4'U*®ÇVœÚ²ã|ÆÁÞ|ÒìnÚÝ´»9yþäù“ç_I¿’~%Ö£õh½é§§Ÿž~šUf•Yeò=ùž|_ðcÁ?N=}ôôÑûöì«`¬`¬`l¯l¯l¯4ÆãŒq²ž²ž²ž³Î^8{a‡äÉ’íßÛ¿·?*xTð¨àvNØ9áÌ‹3/μP~R~R~ÜgpŸÁ}Ê— .œâ›â›â[³°faÍBa‹°EØBª‘j¤BŠÐâþ­‘H¾_ðé¬3ëÄ:áVbìà€Ÿžµú™G€; :ˆ#ÄâˆÌ–™-3[¢¡‘aºaºa:ŸÄ'ñIŽp„#à ox£E(ú×fUp„U¡MI:mš7CŸœ7cûŽWS·ï8¢lîˆÒÿ¸£è¼`„!¡`„/µ/çK5 ŒÍz–ÄÓ³è†ræ’¿>V•`Uqá\%3B묈Ö:“@±= d—H»D€ç¤9)Eš‹kØpqbwC±Ê¼ýa¸~ mNJÑæìûÊî}›–K$É7bïÿïf™².ÅéÝ/_X.˦&âE¼t!ÜNnçi{Å>ÍMÆS<-Ú€üþ¸¿¡UhŒUb Úˆ)œ/§æ|9–tkäxwÿ—Ñw÷7éæÙ¸I7‹x [È` 5 PC t0AG”'J¡²8N¨¬j§Ÿ§j7‰ª5‰WEê«"·N|UëÄ€ ®š€ Q³Þ­ˆšÕ¤¿×Š&ýÕ“ ùêÉt)ùž.%JKû,í³´íඃÛÖ4Õ4Õ4-x\ð¸àq±ŒXF,ô.ô.ôîú¶ëÛ®oÑ ÍÐLýFýFýÆämò6y{šÂ@@|M׈/¦²ù˜ `(§ÿ2JϾ²•ì«Ü™Ž’;ÞZxûóVóížmmy¶5~+¿~£6K$‰DòÇF@ B*£ 7”jƒ¼€5¬aθáXÜ ý Ë…¹üN2—ß©º­S«n÷O©8¦JÿȘ¬þ‘i ë¥5ö¼o³ßó¾éšlº†Ñ¨†Ñ0A„É\ wðwØklf¯íÜdJ;·‡ÓSn?œ¾72ÞyoäØMU£Çn:÷Cò¦s?ÄœO®s¾MŸòmšt»é׸ÛÍì-…³·Èè™qE/âÊÒQÄÒ-¶ 2æƒ}ÌÇê5kõúºK»îRdÜ]Ô.¢t½vyót»òæqK‰œ[JbH,‰Þ ‰ÂûJM+5­ÔT%‹’Eá)žâ)q%®ÄÕ8Í8Í8Mª Õ„ZÅ[Å[ÅÃ6°Oˆ'ÄÜGî#÷ѰհհÕUçªsÕ‰gųâYaˆ0D¢XªXªXÊ>°ìH’V›¬6Ym: „N´5mM[Ë äòRŸÔ'õÙt6MW:)”N,å±<±ŸØOìgjjjjjêâââïïoô1ú}4u4u4uÌÕUè@:´?mÚþ´pU¸*\µd™)°d:—Hþðx˜kd`„æŒìßðÌ-7…›ÂM)Ê.Ê.Ê^Š¥XŠ•·VÞZy‹°V@ž'ä‰a‹a‹a‹ê†ê†êF}VŸÕgøßã{µ«ÚUíʵàZp-Ø3öŒ=ûé–EwVStø@àžöëË{ÚÐåO„îäÒÈ;.-¯‡~@^ÒÔ"Ý(Ã%ÊÈ,´$³X Yð ×,AŽ"8"Ž,‰\`I¸„Õ¸„±ÈÅXAa„x8˜üĦ&?‡z6•êíú Êî¡æ ÏKë5º´^ƾ‚ÀŒ}r ·P®ápƒØVǶ Vpûv=*‘H$É…PCl›AoÁÖøtPwó~ód ‘hDVˆ"6²Ï”Ëì3CÃ+| _—ôâÚº¤Í‹Û¼(‚°#ïI‚xO–‚B–ó<#Ù÷x˾—õ¢ýe½¾ì*òú²«ü!‡å½éžü¦{…xÇEâ½[Úòn¹Áá…ëÓ–ezú´üÄЧªóúªó¬2 ¬2œ!‡3Ô0A$ ‰Ó’fœ6Ž>5NÔˆw×¢FŒ.¨º`t¸Ýb|0 “àŠI¬?‹cý‰/ñ%¾šåšåšål›Ä&Áp@@š‘f¤™9¼u¢NÔ™q‘ä9ÀY"K$J¢$JÃÃÃs(K"H‰`Y,‹e™Sò½l/Û+x ^‚É $ƒe³l–m^6È’Y2K6 „ Bsj.Òš´&­ñðH·S·S·S›¯Í׿“)d ™Bü‰?ñG0‚̼˜ó¼oÁû·_Ü¿4É·À[2'™`‚é¯ó¾YÌn³Ûì6iD‘FêêêL`àø›Ë2‘±d,˵ãÚqí ÷ ÷ ÷Í:­CëÐ:ì»Ãîü›—1Oz1׋ó„5<‰=Æ{j…qÔ ƒ!Ã`66ô75uËœÄÿ²ñA¤>‚¾°9¬¬`s˜½E{ ðÙ€sCeç†lÎFi:š>k:Ò ¤:Àް÷ìHq¿ ‰D"‘H~§8P¨a [6 V}q7ì÷eCDz‰—ˆ\{ÕÔN{5ô‡ò¶¡?\³NS]³ÞµøMá®Å#‡W5rxNºV™“Î/#—øe‡ x€po0„{SpÔP®àh‡&¾|‡&[ùmëÜ }q}™f3ÃÒIÌ5§ä¼kNKÛ>[Ú6nqŽWÜâé•j­™^IÔˆ?Š 6°yü–6£Íh3.Œ ã¸ö\{®=7›ÎM§¶Ô–ÚšÓ_111±ûì>»kXÿ³´O4“<£™€é1Pÿµ‡±þë8Ç>ΡÆC¾½Î—3…‹¦pTAª`âE‚͉¦Š»S~â9²ðœV'Y´ºÈšŠM{ºß´×æª/÷l®ºmUÜžm«_>äÕø²ÿ­ƒð¿µøÝã‹ß9NP.vœ`ÌùÅý$‰D"ù2G8G‘8ûÅ!¢óà%œ,“uÅ¿®}–ü38sm^чÕ}è5²Ž^›ó}Ý>s¾?ZêÃÔ£¥NÏù ;=Çe‹U®Ë¡‹êˆÞ¬¡èÇxÇ25—*SÓÇÄŠ>Öö5öÔöÍ:©¾—u2û¨úûì£ÙMÔîÙM²Ž6Ì:ÚtP©šÚ÷ Å°}>й?ŠóRnÅÏKqèa5Ì¡‡¾‰§oÂ6#ŽmvêguÌ©ßÊħ_W&&m+’¶MëR³î´._ ª‚/¼#éÂ;²ë,]·´_"‘ü𨊪¨F‚ˆ? ‚;F`ŒuHÆ-Èþ!½ÅïçEºr^£ ý Fõϯتþ°GW{ {tàuBɯCk”Ï ­a÷I¡³ûTXBß³°„`ͬkR.¤2K†ê›Õþ×*Á•Xe4`•© r©ËÅí¦]Ü>÷Óƒ&s?!%¸ðzP“…×S§©7¤N³½+l{W}MÿB}oIíø–j÷›H$‰äwFr¼ oppÖ>@&·Pîæû)w”G”W´¤O-I"“Dö*öÑ2oKòäà '1—TÔ=65×=ö=oŸä{~qãzc7žvâÎÈi'ŠâM¥‹âû‡úŸìZTÛ]T;×IëtöBû”³dÝi YwaÓ ä)t§<Ÿ`ƒOæÙ‚è‚.yGu=óŽzžrÊ÷<5yWÂägƒ®Æœ b}Ú±>6¶\ ­òGÙå‹Ôk.Rß]ù…Þ]¹# ØqG€BÉe(”úÑB_ýh2F2à¥5±Éo©ý5óÙ|Œ‡çIuXÁ!þžÏh’;èJìµi·Iæg·iöµºq³¯-êô¨þ¢N÷⿤܋w}èêúpèc¿ÏC—X¥ØSb•1^Tã´û/^Ò|ްFà 2ñÄ’há_©d€  ähcNÁ^#—½¶Üû˜eâ1[†WlFá*FYÕ²ÝnUËê ÓZÁ pÃjíI«u%B„¡%B¸óôw^Hg©d ê‘5,:ŽB¢ícûØ>ö•}e_YÖŸõ'WÈr… ÈBCh3“39“SgêLÙv€€œàTܽ*‘H$É7‘5Rˆ@&Ah"ÆM®nNM½ºy@ZAÍiešÛä—i^Pư¼ ŒÐVl#´¥ÏI}ŽÆðDcK6c)þ)bùÇNGZqº‚+†W‚F–è4rãÔ&Ý6NÕñÞ™YŸ½ÉjöìMXB­a ž…¶K= Õ»u*õnÓ%±ŒéÙJF‘­ä0Z‘Ãè ?ôF98 ž! Ïè2ÂÑeúýÂYý~cwS”±»c'jpìD’ø¾¦Êá}ÍÕg^Œ\}F(ÁÔB‰]wC^íºëÚÄ*Úµ‰f°q•f0÷ŒÔáž±(`ÿM a‰Dò»E‘‚¤°J¬«„\F ᘠÀTÜÍûï±LhX& !KhˆÎ_¸¢óXâÚ7`Iä¾fN‘ûš(¿²ù‡˜¸ ŸbâRϤM=£ü^1Gù=ó`®Ìã?~1sõÝ;øŠ;$ &é2®ªÌ_v“ÙMÙ+ª”½úÙŸ7)d7Zà²I.[æB/È\Z =ád²'²OÔNöIqˆ§8„©:Lmç[¾z;ßvåë´ @_ }¹":…ûûÒPÄÐC=iGÚ‘vV9V9V9ö»ìwÙïrÌuÌu̵g7Înœr¶r¶r6 d,Pö\ö\öÜÚÛÚÛÚ[ì"v»Ád0\Üý)‘H$É7䎒pÚ û„vÖ Öc¬šxu¼ÔÄkÔç+7G}ž9ú.?s´z‰a…z‰ýp¹³ýp®.íÏÕÅ<ÅR¤¬>ýFˆ0²wÈeïø<Í究몶Wkäü¤Z£Ý†æswðeðeÈÊ+6CV®Ò=ž°J§M1ÕѦ8>/y||ÞÀºâ‰uW•o _U¾Ösµ¬Ö¯,Xm2¡–ÉÄõ¥:®/[Ïž³õÒ¸½DògðGÿ+ÁAÉ®±4v:@NŒýY´±?û °ÏyWÄм+â=$Þ#[q’lE[LB[ÔPë—¿Û€lƒÕ2n¢Õ²WªI¯ú¤\jÝ'űŠBíXE8À> ~öÉ2´„ŒdbÉ4tß:®»ùrߺ›šÇ©74G" öÃþˆ‡?º"]ÅÚì‘XÛ¼ùºT~$û“nmö§¾~ù}#¾¨°ðEÆTõ®Œ©%&¸•˜p ×^zªr¨Ê¡*‹n,º±è†×&¯M^›î ÷„{£nº=êÖ°JÃ* «ãŽqǸ4yš “0 Âjaµ°Z €%‰Dò§`NmÅA‡MŒM†÷ÂjÃ{£SÑ;£Sý>ÓëߨàÖ£R@Ԋ׵£V,]óÔwéš vY†nÍü†å×ÌÏK×?ÍKçî‘ÖÜ=4…š÷[úMr…\Ù*ö„­âëRO¾®Ñ V4ŒcÅƱË{vo\¾®¡DŸº†Œ[§Œ[B2­…<é—™ý¤ßÙŒä¯g3²kgdÖ?éYoÅXopߥôqßUkD©AµF4Ë÷ºÚ,¿N7ç:Ýf©¥›5F»¬ÀY»,è¢óI$[I"­Fâi5¶ˆe±E–Ù|‰äO€‡&˜ˆøÔ(гrõ÷…ZJ¡¦eÈZ†ä¡7ÉãâÀqq°ÇZØCúЃƒøŸÇyô,.гÚ|Ó)m¾_mÇ¿Ú Þý;'x³Úl)«:EŸ}r#(Ð/€ä©NN`Öb[Ëö³µh‰P´´p2‹yèˆy–[®à®1ä$c¸,´4\Îߤ›¿‰ïEFó½ÌIþ˜ü1ùcð‡àÁꔬS²NIÕKÕKÕËö_Ûmÿµ]¥v•ÚURz*=•žmZ´iѦÅö‰Û'nŸˆfh†fA™¥P–D"‘H$TZ˜ …@d*¬f*Ö—õb}v(ê:í0®¶×îóòâÞ9—û¥†\î§;kÚ¨;»Y×dûf]«æÞåZ5/Øk(*ØË=%Ó¸§hO´0Oú-î7ö&9»Ï¾²ûÄ â€x…êãu'Ÿi¼Ç)ë:§º•ý±KQw¾Ü‹î<õ ÉÔƒtÀÒcPcŽž¦‰¥„iüB›D~áÓ[¬ÿÓ[—åñ§.[Fà‹l‹leQ|)Yl1¶ì-›ÀÞþîçnù¸åã–‡ÖZ{hí5‡k×¶xnñÜâ¹¼Ïò>Ëûõ-ê[ÔW~O~O~O^M^M^Íü¶H0 &ÁÅÝm‰D"ù¹ˆ‹¸hãcÄ1æáćN<ùñäÇ“Ïô?ÓÿLÿ7ÏÞ<{óÌ:À:À:QˆBš¢)š¢7z£÷ÍÓ7Oß<Ó6¦mLÛ"c‘±ÈHWÐtŽáŽ™CåÓ†¨€ B§¤ã8噄Äà3 îß¼=áþáÀ÷Ÿމ®Š1ÑÛ®5Û¹íZ—GeÓº<’/ ©ò¹µ²ÜƤ2Ö’Êü~²˜ßŠpFEË$j)ô•H$’ß0WqWXÖ›-„‰'Œ0 oq7ìWŒ`î9uTÆŽç¹{Ü=ÛXˆ…º÷؉äñ·aÒ…ø’.â5¶R¼&O¡•å)ÖòiÖE}0*³‡úIfx–÷8ž¥µ*œœÖ*÷¤þmîÉì3Z!ûŒõ%Ù\ëKÛÖ<›¶mM`ï’c{W?èžTý ו¼æººx)9/·‰Êcn}fÛÅûÌ.}×Þ±ô]Çë6M¯‹3ŒaâŒÂX-Œe» a»PV(Ë)9%§TíSíSík±»Åî»mÙ²=ÃÅp1܇èÑ¢«úTõ©êÓ߯¿_?Y?Y?Y?¿~;ývNH›6!Í`g°3Øñeø2|™âî6‰D"‘üq°il›fsÀæ€Í‡cŽy8f@“M4©•P+¡V‚!Èd"5IMR³E`‹À#ºŽè:¢«ðEø"|98ãàŒƒ3vî*ÜUèéíéíé]ïr½Ëõ.ví2Ú…$“d’l®x’(ù/s½@.^°Å¸ÍÓ¤€¾8Ý5ñí鮯å6yÕhiÅzg–VlŸR®}ûMgý Mç¼Wºéy¯¸tW‚Ë'«¹|Ë{Ù Û.Í“’H$’ß  ( € \àŒt0ˆÅݤ_[Àç`Z­ž«žëþΘkÌ‘‡×xV¨„JÐÿ§[k³¦bmÅRî¸biòŽ‚ É;޵þpîXëW‡r­_"àFØr2Þ–³òà­<”ž\ ¥'mJѦî×I¼ûu¾½¼!ßžåÐO,§°¡CaƒÂ¦F…’Î\L:£­#¸iëè|M#t¾ªS†DÕ)ç/Š¥Î_çx^kœÓ­°ìñn…d;YJ¶³pv—…Ã6p¡µimZ[÷^÷^÷¾ÁÝwÜmv°ÙÁf‰HDb9–c¹V¥UiUšpM¸&Ü£•G+V¥†”Rjˆf·f·f7]C×Ð5¿ädºD"‘H$¿»Æ®±k¼+ïÊ»f¤f¤f¤Ö¬\³rÍÊÇŽ;w`ÃÙp6üÝúwëß­Ÿ“2'eNJ€ ˆ¥‚J• н{7öîß#¾G|}wùîòÝõÊö•í+[4B#4‚j¨ÿMèkÖåÐ<ÂBòÈd{šŒ{۷غ·}tlÒÜèØm¹¯ÖlË=ºì½ËÑeKk÷ŽXZIãT½’FÓÜ8_ÓÜ4™Í6M& H’çèEž³lèX¶´¦T"‘H~ûxK\à îç¤û€,d‘P:ˆ2•'óÉ|2wp‡<Ç b/à?Ÿ¼ÄVá)[ÅÝ$K¸›ÆÞt6éFg÷Ú_þ}¯ý^ñ¶þ^ñ.\.8T^p:ik”­µ5r¾4Žó•ï¶N–ï¾ß,3î~³þÖ•‡ö·nùºlfË×&OMO“§6Ïô^›W0Ðp·``Î]NΆ,Ýò,—?¨~øøC.Ñ Ì%¢7ó½ùH{þ6"›hN1Âö±}lq$ŽÄ±È·È·ÈW=O=O=Ý`7Ø âA<ˆÉEr‘TMÕTmÊ6e›² Á†`C0·š[Í­fÙAv°¸ûM"‘H$ <ø¿bä/òù‹òy\uHuHu(kGÖŽ¬b3±™Ø¬°zaõÂê¹³rgåÎ::ÿtþ§ÖŸZj=%`JÀ”]5]5]5?[?[?Û‰½'öžØÛc“Ç&MÂFa£°1¶ ù0 5ጚl;Û̶>06.|ÐmfYu·™[•\ظաOïÜ}=öºfôØ6÷}ζ¹?üeå†Ã_ºVUVs­ª™i*ÔÌ4Nw§qÏI[î9À ,Éœ¤Š²‰Dò›Ä[ÊÛ|Â'|‚Zh~RéȬo° ›H]¼ÆkŒA}ÔG(Äÿ¦ ’µÂ{j¥me‚¶U%;Ǿ•ìªtiV} ²—¤ì&Ža[Ä1Æqâsã8Ó=qéž¡¹ÐÁÐ\gc˜¡³)Yl èO™ÞëO©­´!j+qˆ¶º8¤ Ž¡aA~½ÌpÚ£°uÚã¶ÈêÛ¢jmè°jmšezVh–©½or×Þv3^Ø-°eb40Aci–¹€¯hh³¿]0S1Õò˜&h‚&?ã5çaûÙ~¶¿¸;L"‘H$8&˜`»ˆ]Ä.v‘v‘v‘±wbïÄÞé´­Ó¶NÛ’î$ÝIºSªd©’¥JNX5aÕ„UYGÖ‘-™°dÂ’ /x¼àqõöÕÛWo/Ë‘åÈr¶ôÚÒkK¯(.Š‹â¾kô]£ïv+ìVØj©–þ|bK aB!™díS´^Yýż²¶•d=l+oZýðø¦wøVî¸cíóç5×>ïkÚ×~XÿJÃúwJôµî”hŸ,jŸ¬>c¨®>Õ Õ¸ìûÊYrsÐÿ¦º„ä`>„QC=ê"yXf¹‡Ik³% ÀÃ.p!ËÈwdv£ ªBƒ$hÀýA³@ÿz̵þ¾Bƒ¯hAª£…ñ¨ðÅxTŸ.4Ó§Ã VpBkÔAk2 Yd¾ ¾Ð†$6èm€Î'‡è|®YÁ•¢‘¤#$ûÑìg+Ù5¶ÒÈX¢‘¾EÃw˜†Õ˜†tD ÝINÓ¨‰G¨‰|è‘/u–H$Éo<=CÏÐ3ù³ògåÏê¼®óºÎëN:t:étõÃÕW?,¥KéRÚàiƒ§ žÒwô}0%`JÀîwŽ;ç‘è‘葨¦¦6¬ò°ÊÃ*O¸2áÊ„+ô#ýH?"@"‘øoZ€céаtP4å¬I3ÎÚ*.7¤¬DÞ`åQÕÚ٣ꦒMr7•¼Qùóþ•×¥¿˜´.ýlçä'g;?[?[ß³D@}Ï‚ÛÆé·‰ <‘Aùß’–üÚŒÐB‹r¨ˆŠ¬†`3׿X< Š»‰‰¤øñ(‹²(K²HÉ"0 Xà%î‚G…ânÞïŠÁœ²ŸíaoÙ!EÄ g‰“åL³ÙË?`p`@€<xöÚ‘2h‡ÎH@g¬B¬²,/zà‰9Û$ÁƳPÃ(M¸’H$Éï‚yö€¨ˆŠ¨ ­ ­ ­ññ°Q·FÝuëdÝɺ“õؾcûŽí{Ìã˜Ç1Î;;ïì¼s×È]#w¬=½öôÚÓ]ޏq9òZõZõZUH i!¥mi[Ú–%°–ð´ÇüÇÕ\X ÔÄáÄ0óÅiÆ|} n–>°á&¯K 75iXêû& wõ}•º«oÿ.ç÷ÿa°ÿwƒíf‡×Y7;\5ß°G5Ÿ{K‚¹·h 4.îÝý§¡‡žD «Ë>°\]ñ­øVùÜ|'ËbYèˆ)–Hþìx¼Æk¼_‹¯™Ž=@|%npG[œ€ÆânÞïyÊ“xXY~þzþõ«`€Np‚~ÄøQ¼,^/‹Eb‘XDôDOôÔúQ?z‹Þ¢·Äsâ9ñœØGì#öa®Ì•¹Ò•t%]I Ô@ 0Â#óa>ÌG˜)Ìf’hM¢¹.K <á ÏRY*K… ²¿N12Ï«¶†5¬‘Žt¤ ±B¬‹Ld"“[íáÖkbM¬Ù]v—Ý…-la[Ü](‘H$’_—¹ö¯QeTU%»”ìR²KðºàuÁëÌ÷jhh Y7dÝu†v†v†vO ž<-h_¯}½öõÒÃÒÃÒúOî>¹ûd‡Í›6Û´°iaÓbRܤ¸IqºÏºÏºÏ4&ÐØÃö¿¨AæÐ×&â [â-^ÁtñŠ8‚e‹#”§ùCÊӊײŠ×™™šÄÌÌ Rœ/T¸øèÓé‹Z÷öžÕºwÓº^ãšÖ5<žÐyÄ–ÎÃtÁœâÞÓ2ä|Èùõ+ëWÖ¯DkÑZ´æÇñãøqÎ^Î^Î^.»\v¹ì²µµÅtLÇtæÂ\˜‹U«6Vm\–º,uYêÜÖ¹­s[šHi"kıFÄ—øߟž×·¤9I@H[Ò–´u|çøÎñó çÎ3äör{¹½9ð&]IWÒµ¸wœD"‘H¾Ò˜4&5U4U4UüOøŸð?1¢Ìˆ2#ʨީީÞÑ-t Ý/xÁkl™±eÆ–©Z5´j¨:@ èëÔש¯SÔ€¨Q6~Úøiã§µ)kSÖ¦„ 9rÄiÈ4dšK(ý¢¦`ˆ;¬ˆ;v";KYyãRîh$[û áu= ¯Þ Ý ïè]r‡Þ…làSÜ{úO†‡ d Cì@Š$’I2z€à %”ä@q7Q"‘?(áGè ƒL }¿)ò“öÐÂ2˜  €ÿª'(((;ÂŽ°#G8ÂÍ«§nö¸ÙãfX.–‹åJ†— /^¯A½õT]et•Ñy òä-8Rp¤àHAZ«´Vi­:ùuòëäWaj…©¦'âDœÞ¾~ûúíëèÙѳ£g—h]¢u‰Ö]Žv9Úå¨uëÖÄVb+±Þã=Þ[Âà$$!‰\!WÈñ¹ø\|šŸŸßüUóWÍ_yÎôœé9ӰذذX*£(‘H$ p‡;ÜqGp„UgÕYuXÁ Vä¹Cî°pÎÂMn&7“ÏÅsñl$ÉFŠëÄuâ:§~túÑ|jUl.6› …‹ÂE”@ ”€ZhÿMm^óÑŽd°cû‘Àöc(0ÔE£\ï¢É©«õÏ©»~õ³ëWßzþE}ë9?ŽŒàÇÍŒ«93®ñÏØÆô;N¿Ó˜-Ì0fÞˆó oh,¢uØC6Š=„"ôRa¤oŠA dd²%vÃ#u2êd”S²S²S²½½½½½½ù,»B§Ð)t‘‘‘ åÊ%”ëˆuÄ:[}¶úlõÉJÊJÊJJÛ›¶7mïFïÞ½M#L#L#^q¯¸Wܶ9Ûæl›ÃÙp6œ àpVœgÅûñ~¼¿Î_çªrU¹ªú'ú'ú's&Ι8g¢ãÇ+ŽW„ÂNa' w7H$‰ä2ŸV°‚{ÇÞ±wlÛÃö˜—í°/ì ûb>kNdÅʱr¬¦a¦±—ì%{i2šŒ&£ñ¬ñ¬ñ¬à 8¨ŒÊ¨lÉüKΧ*ÀAh$#š†‘í4L8Ç ç¶mŽóضyðû« ¿õ9÷á«ÏCkTR­q´a›¨£ ëŸð°«"¿‹~n~ƒ0Ëàáf‰ÄÓˆ+ûŒBö2PȤз˜P00ä‚‚¢5ä“s€(Š»y‰¤øñ!@D>ò‘o^çù‹þlHþ¯8B Gmºõ£Û¡CtÖb ¡žXƒæ^ÒèŽê¨N‚H /ˆDK-Ú™v¦ÙEv‘]„ l`ÃܘsS)‚A_å_å_å{¢÷Dï‰> …Yò,y–ÜOï§÷Ó7XÔ`QƒEÐCý‡~8D?D?D\.¸\p¹°aÃ6¦­O[Ÿ¶þ2½L/Ó€!C†LÒMÒMÒ©ê¨ê¨êŒ:~èø¡ì/Ø_°ïܾsûÎí¿ø:àëa¬0VËuãºqÝ<¾÷øÞãû£áGÆg4ÏhžÑÜÿŽÿÿ;ü*øUðËOÊOÊOâïòwù»ì2»Ì.w—H$‰ä›!B„ò'óÈðOC\á WËuó½æÜµQµÿÉ6ù,¶£HÆQöØ[~2ÎOîUóÒ‡^5?ÕP§~ª1¯TÝÄy¥:-ö+Ûi±BOÓú¬Yê Y³hMZÖ”y’T™'{‹|öÖÒZsÐ+‘H$’ß<JXÁ ј4ƸÂFè`’Âàoƒ#ìGÀ¸=`Ï>Ž |æv«‘Û –§øÀòìšSW»æšGšGšG„#á˜s`2“Ì$3±·ì-{kZnZnZNÛÓö´=»Ê®²«ð‡?ü?Mÿ4ýÓô{÷îÌ­0·ÂÜ !³Cf‡ÌŽõŠõŠõZ>dùåC–>Zúhé£þsûÏí?wJÝ)u§Ô-X]°º`5×—ëËõíØ¯c¿Žý>ù|òùäþcøá?fÎ>œ}Øá°Ãa‡Ã]ì»Øw±sûÍí7·3nfÜ̸ùcæ™?fzÞô¼éyóBà…À ëG­µ~TÏž<×=\÷pÝÃò¥Ê—*_*¿q~ãüÆœ‰3q&6McÓŠ»7$‰DR¬Dˆ‰ñ ¢A4ˆa0HdI‘XeP†É¿ä_’#ä9Â>±Oìñ"^Ä‹`'Ø 1QtDGt$ÕH5R<$ÉCΞ³çìi9ZŽ–c—X,»Dž ‚<V‰ªåmêg/osàM­oö„Ä×Ý’\x?%¸ÍŸQmÆTÝæÚ¦ê6í£¯v‚†3æh8¾==Ç·'‰LÙG¨ØG©ƒD"‘üöQTAT¡UhR… Á aYÈDæßåò•üzÜ †›ù*Ý/êè~ù,^.Ÿ•{3·tîÍûµîW¼_K~G~G~Ð xwÞwÏ Í Í Í{“÷&F¼¦¼¦x_¼/Þ·"|Â'|â"¸."Ëãò¸ ß ß ßá'‡Ÿ~Òi¹Ór§åÃG 5|”W˜W˜WØ´ÊÓ*O«|]q]q]<,xXð°Þ½3zgt:Ùéd§“?:þèø£cü¹øsñç¬êZÕµªK܉;q—ÅÉâdqú8}œ>.'3'3'óeÁË‚—Ãj «1¬Fä¡ÈC‘‡&4šÐhB#óزÃu‡ë×ùr|9¾œM/›^6½01‘”&¥Ii)ÿ³D"‘ü©™O»›'Eï`;Øå;å;å;—½.{]öºlvÙì²ÙÅÕÅÕÅ•Ì 3È v‰]b—HR…TaýYÖŸ›ËÍåæºd¹d¹d¹uwëîÖÝíƒÛ·® ® ® Îל¯9_ã^àVUcÕH+ÒŒ´Â&c“0—% sËwrð(ßiEQƒ—+ŠVù5¨»Ê/áQÞš„G3Kßãg–žïuÏ|¯t®È˜Î¹äØLvÉ!eÈrRFǾ ãðÙxn©Ë`‚ø×d‰D"ùá-«kܘ `»q爜€~’ËWòë1€‡Á|ULgDLW.³Ò*—%JŽLÕ¥T—Q]Jíß´ÓþMÁ4˜Sã8ŽãÈîÝ;»÷”£SŽN9j2‚ÐÑ™8Gâ¨)¥)¥)UÓ·¦oMßs±çbÏÅžÓžÓžÓ¶Ó·Ó·Ó£º¡›íeÛ˶—;|ìð±ÕƒVZ=hÂý ÷'ÜGtA—/‰_¿$ެ7²ÞÈzõOÔ?QÿÄÞV{[ím52ddÈÈŒ¹s3æ^•_•_•¯<¾òøÊ+›¬l²² ê¡ê™ß‘ùàƒzSoê­·Ö[ë­Í·³íl;ÛŽvh‡vlÛe)R/‘H$’?+sÚªhD#šËár¸œGÁ‚Ÿ›{nî¹¹b±ØÆvªíTÛ©cŽi8¦¡•Ÿ•Ÿ•Ÿ¨•¢’.¡KèM¦@S°²ßÊ~+ûÝ¿?Þ¦¹Ms›æö#íGڬѾFûí»xwñîâínånåne˜m˜c˜MÒQt ‰!gHŒqºxÎ8]?R¡Y¦ÈÞP¦(RÑb}¤âáÃ/ù)x7ìHÁøó7ÂÇŸ¯qϵc{ã÷V¿8~¯‡ÒÚÙC©uºj]„ âjaYŒ†d1KC!K³G”H$ÉoErÃf²l&^á5^Yª¶ ¥¯ìoà§I2´H†–¾¤è˂̂ì‚L¿²~eýÊžyjä©‘»7íÞ´{“ùüù5ò»¯»¯»¯{9óåÌ—3m®Û\·¹ÎâY<‹7—Ò{ë½õÞ%å%å%ås:ætÌÙ7~ßø}ããÅx1^Ü¿rÿÊý+SÎ¥œK9wÒë¤×I¯„ 7n\øzáë…¯ñâÄX¾uùÖå[;ÔïP¿CýÑKG/½ôüýó÷Ïß¿esËæ–Íž‰{&î™hõÆêÕ›š[jn©¹Eã qÐ8¼™úfꛩñËâ—Å/;ÙódÏ“=mÚ<´y(ŽGŠ#™–i™npƒÛ?Yë%‘H$’?§<ä!.  èc¼1Þ?ü~øýðjvÕìªÙõªÙ«f¯šŸ>}úôéS”6J¥UîTîTîãÅx1žÅ±8'ë/ë/ëß²}Ëö-ÛOˆœ9!Òî¾zô"(úTô©èS'N8œp°9bsÄæˆì¡ì¡ì¡Ì(3Ȍ̗Ua¾d9éM–s¤-ç` #á9e‹vå”­iëö¢¦íªæÆ¯j>çe]Åœ—¼=Ãû +ŒV¸Úå™qµK–«&2Ë•ÛCªr{˜›™:Ð÷n•H$Éÿ·\|à|†Õ_C_)$ùö<à"#2"V+„埖ZþéÚµ!kC&ZM´šhµiæ ›6¨2TªŒ¢gEÏŠžÉCä!òq˜8Lg8ÃrÈ!§¡4”†|(øPð!$0$0$0ɘdL2ö=Û÷lß³ 5Ôpи›ãnŽ»éááa_Û¾¶}ííAÛƒ¶%E'E'E¼>ðúÀë¡®¡®¡®Ö>Ö>Ö>C]8táÔëS¯O½î;Ùw²ïä¥K–.YºÄÜ|ww÷X]¬.V—’’Ò3¨gPÏ 6?´ù¡ÍšJšJšJãcÇÇŽÕÑÑ¡è: ¸wºD"‘H~<à–ÇòX-¤…´p¸ÇpáV¬X P•F¥qÆwfÜYXmaµ…ÕÈ9rŽœÃLÁÖucݸ\ ®E½€zõd²YÁؼ±ycóž„= {òyÚçiŸ§zzzš_0åAʃ”6~6~6~®›\7ºn¦ Ó…é8‚<!ö8JìùQTÅÊ/ÔwÏ/äj“®v¥}eå·ˆÊ Q+^WZ±tÍSߥk2tÚeº5ó–_3?/]ÿ4/»GZs÷ÐhZÜ;W"‘H$ÃÜ1Ñ# –|ŒRè[LHÒƒô(r.r.r®v¨Ú¡j‡†]vuØUÇ3ŽgÏ|÷ä»'ß=Ù³7foŒO¶O¶Oöiåiåi¥'ä yÚyÚyÚyt]D±Î¬3ëL"H‰@âg¨e¨e¨5R=R=R=¾ûøîã»›¢LQ¦(}ˆ>DRЪ UA«:mê´©ÓæÀÊ+¬¤«éjºÚ˜oÌ7æëÊëÊëÊëÆéÆéƵjÕªU«V†uÖi˜8B!Ž(<\x¸ð°zè1lÓ°MÃ6ù­ô[é·²dPÉ ’Aúl}¶>[?A?A?Áª¥UK«–œ8 pÒµÓµÓµ£ûè>ºÍesÙÜâÞ÷‰D")V„}dÙGRÔ#õˆŽèˆŽûÂ}á¾äxæxæxò:äuÈË·¥oKß–,‰%±$ŒÀŒ0Wž711!H'ÒéPà¡ÀCæü®¸>àú‚Ì™ 2¿¬þ²úËêH!Rˆ.lº°é¦Ie&•™T¦ä™’gJž1~g\`üŽš(£&–Že, g½Øp—J£ËãZáŒqíÞ//î-q¹jãËýugMug7ëšl߬kÕÜ»\«æ{ E{¹§d÷-à‰0B„±¸w®D"‘HþFÊUXÜÌÅÌW_“פ‰ñµñµq«{²{²û=‡.]ºæ­È[‘·¢”])»RvËf.›¹l¦pH8$RWW'•H%R‰zQ/êe>t°Fd° –a9©Ñ}ÑWÓFÓFÓ¦pPá ÂAä&¹InÒª´*­JçÓùt¾q‡q‡q‡¾š¾š¾ÅF±Qô$=IO’d@6“Íd³nšnšnš&C“¡É «Éj²šFÑ(¥}£}£}SoV½Yõfé[ë[ë[ç®Ê]•»Ê¼eÒ™t&ñðA»V»V»–ž£çè9ö}`Š»$‰Dò›ñðH\..—ÛL°™`3ávÿÛýo÷_ºmé¶¥Ûê õ„z„“NN8©uÖ:k¹D.‘K4'S4Î7Î7Îçãø8>î\§sÎuêw·ßÝ~w‘ldÛµ²ke×joϽ=÷öêu„:³Íj<«QåÛ•oU¾­ ×MÕ…“Ë4Œ\&9d5ÉQäÞ(R´¢.'‚>T<eŸð<ÊÞ®¶ü²]íÖq>™­ãz}-ŸÖë+_ž›Î—Wúªƒ©/vP_¦ÓX¦@KÕ€%‰ä7F €‹[! Yšù*ÛÉv ZœÆi<1ýhúѦù¨ù¨‰á¿ð_ø/Fo£·Ñ;gTΨœQÄŽØ;®W«gÎùÌrXË1O~¶l™þäb€M¢I4Üß5-f‹ÙâŸ>É¢1£±å1Y,‹e™—ëZ¶ÐmÑÖ|`aËÕLÓLÓL£¾Ô—úò®¼+ïÊn²›ì¦e£~ðƒÙF¶‘mlÛÆ¶÷®—H$Éo†=ìa؉Ö­+ZWŒ9s:æô™¤3Ig’¦´šÒjJ«vVí¬ÚY¾¾¾j¬4V+ò˜<&Å’bI±$V`V˜7æ˜ì˜ì˜l.˜d¾E]C]C]£mDÛˆ¶|&ŸÉgN)_8…{Î=áž ßÂlSåolS‹®G]¹¢¿°mí«YÛÖ:|–Ÿvø}.ú\¬EkÑZtÞŒy3æÍ8Úìh³£Ínv¼ÙñfGóŸ<–Çò˜!ÌfÃaÆaS{S{SûFC i4¤•w+ïVÞ£ÞÊõ~ƒÏ†­|jÅÔ8^+æTńЧ*žJHl}*ëCçq}&®­¾vâÚÀþ%¶öwj¨8àÔP»ÃTA»#w•vjî*®2YËUæ÷“öü~¶¶Z˜ •B_‰D"ù-£ÿû&$ÿ“`sÏ ¨£Â¨0vŒâns·KBWtÕÍ„;ÜIAq7Q"‘H$’_Ùc<ÆcæÇü˜Ÿ6A› Mh©h©h©¸ÒçJŸ+}Ö½]÷vÝÛÈèÈèÈèøíñÛã·›ŸT¥N•:Uêt^ÐyAçüþ Å8Ã8Ã8cÔ­Q·Fݪö¦Ú›joÄÑâhqt× ]+t­Ð¼RóJÍ+, X°t}èúÉëCµëto´ëø§ÜþéÙ°äEgÃÞTíÞm*y¹Ñ¦Fͽ®4jîzɺ”륂dž§M'Ù.ÓI.–¬çb±ÁØÊ2 eà@þ¿éUÉï‹yìÂ<ÍOý“‹ù–ÿtdã§[ËE.raNcÏÉ@2P„"Yj‚$"‰x×xm®f 4Ðül­ܾù"Õ‘üÒp1c ØòL«ÕsÕsÝßs¹â1Òtãð¯Ñ •P úân©D"‘H$¿ª¢*ªÒªµj­zì…±Æ^¿hü¢ñ‹`„FËa±J(Å=âqO^B^B^B×V][umú]èw¡ßô)èSЧ¨bQÅ¢Šõw×ß]·Éd2™Lª-ª-ª-•fWš]i¶ù:oDÞˆ¼5ž×xPã9)K¢HÙY¡glïó»÷>¿ZvâjÁQãûà£Æ3)IÞgRÚ×/½ }ýÁ‡*|ÛY¶³&¬kØÂ„âÞÉ?0‡«…0Â{È û7¬y"Ÿzè‰7ñ&Þ–Íd³l– ™e ¿4 þéÖ*‘J¤’ù³Ì±Ela„†è€¢è#úp7¸Ü Gãhœ¹¨§`-X ÖXõXò(òÐA÷×Òb6° îâ.îÒŽ´#íÈ\™+se§Ø)vʼìÎòí!‘üi¸˜‘¤„99DÑA¦òDETl&îà%”(,î6J$‰DòëbçÙyvžö =hüù5òkdÝϺŸu?Ë-Ë-Ë-Ë.Ë.Ë.+1+1+QU¤*Rqu¹º\Ý … 7äØæØæØ²Á"èú~ÐÔÕÔÕÔ5%˜L Ü"n·HŸ¬OÖ'ëÕzµ^Íé8§ÓÞÐ>ÔÞÐŽÔv׎$J:‰(Uî†(•{óÊÞ«šWÞücÓøÍ?No\S5½ñ³YiÏ^ þã¡ÕÎ|5¥³X‚ÉÅx|¼.î='‘ü„"DRö°go± Wv]'^° t ülk^‡gq– üÛÅ|‹åÞ÷êæ`Ûöæë¦w¦w¦wæ[Ä›âMñ&¹D.‘K˜†i˜f*m*m*-WÈr…IkÒš´y>y>y>:‡ÎC6P6P6„’Pj^^÷w£»ïðïÈr\0>5>5>EÂfÎ5ƒt¤#] –üi¸¸™`‚à 6a©‹×x1¨ú…QšR%‘H$’?<'8Á‰ýÀ~`?pøÛÅ\âÈ2šä¸àîážy Ê<òóÓôl Û¶XnÉArÌüé‘°å¹Fª§FÜÁ#ÜaÎLÉœ¹íä%·]å¡ òàü áü›Û”vlnSÙÉæie§Åqë./Ž#Ý–“Xë?ÂÍIE4/î'‘´0ÁDOâ)®`]XnéIzÚUä*rÕÇôwôwˆ/ &Á,‡° üý̱ØGìã”å”å”õCÞy?ä ç„s¹ŽY³:få÷Ìï™ßSž)Ï”g’WäyÅ^²—ì¥ižiži;÷ÿØ»ï¸(’¼àŸêžÄ0„!(AĜӪ˜uUÌqÍkvuÝ5çœsÎ9gW]Å&EÅ," J“Sw×ï™ÛÛ}îîùíÝs·ìíö›—óž¡§ºº§§¾ÝUߢçéyv0;˜Ìd0LÕS=Õ{žñ<ãyf[Þ¶¼my_Ôú¢Öµü¢ü¢ü¢Ö²kÙµl‹7-Þ´xãçç·¢ÛŠn+º! IH254545ì׿_ÿ~ý›nr¸ÉaÛhÛhÛh{PÍ83ÎŒ3'p'¨Ö©Ö©Ö]8áü…óEg‹ÎíVµ[ÕnU±°Ž£ãè8û¹¥´wè÷E¼,‰D"‘èÏÊ>vW 4èpô`Û’Al[ì@ vèZYkéZ¡’ÐÎÕiäêNG€Ò¨Š þu"C‘¨Ôp zćøgèx:^6ƒéËô5¤ÙBl!{j¿Ìx™ÁÖ`z1½¨®¦«‘Ž”üíj„l![ÈF<âŸt,éXÒ±^Lx1A#‘Ƹ5skæÖŒ‰`"˜{pKŽ’£ä¨ç'ÏOžŸ¼r¼r¼rœ;w>μeÞ2o-S-S-SO|âûßÏ[9o引¦]˜vaÚÁàƒÁƒ?¶ýØöcÛšµkÖ®Y{Ô«Q¯F½ª×¸^ãz7ŸÞ|zóéá­‡·ÞzÚ¥i—¦]Ò Õ Õ U6V6V6–ëåz¹^Èò…|YYYYYYD! Qµz×ê]«÷Þø½ñ{ã5g5g5gÙl¶ƒc\±Hô7ĸôà¨Pæ§%µi_y´€bh°â=ú?û(1¼Z"¡Î?=ÚÙŸÇ“‰D"ÑoãÈä< 50‡ÀU²M˜M·Ð<áeéj\¦å!…3ÂAÁÁü;™ðÀÞZ°·ì­{‹ÂÎÞÒ°·:þØþlõ@€DâÁ'Sê!]Çh­µ–0]˜>æS‚S‚Óó.E‹.Êz2-™–´ÎàÌ?\›J(í¿:7vnìÜø^«{­îµZWm]µuÕ–Þ]zwé]ƒÙ`6˜¥iÒ4išðDx"<™™33gfN{üØãÇ«c¯Ž½:–ȈŒÈp ÇpŒŽ #èI5I5I5]_]_]߇™3fã†qÃûÁUéªtUÆ1qLc”%FI“fMš5ir7änÈ]f³‚Y‘v)íRÚ¥—G^yyÄy¸ópçá9usêæÔ½'¿'¿'÷/ã_Æ¿Œûî?ºÿ(¨µ FETDÅ_Îí)ý•xX”@¼Im€®¤^YLWJÖ€…3[„^6àá€S`ý×£T¤€}øò§e7d`ö%ögí¯Äï¤a%‰D&ˆ&ßC@a‰d¶J t¦.kÝÌl’Œ#“©“pI ²€šR,­½…ÀÃp´ì­{‹À_ZöVÇ*üû3׃}¬oQ5ï&ÜnÈŽ0_3_Û„ Â…¡E×~¼öcˆ»ëg×Ï‹êÔ˯—o®Ï?áŸ%؃=…;ÜÿÎ:íY—²Û²Û²ÛOÌOÌOÌå6–ÛXn£ ¤‚tÕ¥U—V]2Î1Î1α߉- …B¡Å7ZÜØ½l÷²ÝËÒº¥uKë¦ê©ê©êÙ5¤kH×ÚêÚêÚê + ¬0ðóÆÏ?oŒþý9ú³µŠµŠµŠ9Üaΰ§µcF`ËzËzËú[‰­Ä¦ÈRd)²Ò'¤OHŸ°uÚÖi[§é#ôúˆC!‡B…Üó¼çyÏÓ^æüoò¿ÉÿF¸#Üî8F/[a…µ´w•è÷èÏwQò×m&—È%€oÇ·ƒ‹à"¨•ÇC!9OÎÿG/ ¨P Åt @'âkXÐ •ÕÔ*PŒ†›°z²û”ãöj;"Ÿ™Á$€AØã¿ €û4æ"ßq:H«œ›ÐAêèB ß'xÂ"xY{¢>Ìøïÿ’‰D¢ÿ*¤!ùfñíÀ8»z¼¢m'>Ua7)fåÞ÷¶¶×g[Þé™hë`Tâ.YÏÔð çJ¥¸^„Ñ‚RO¶Œr˜h0á°ì¡Vb¥ñ8 ‹­Ø¶ ßÙôÈ+ízþ/« l0ÂHÊa<Æ ™Øƒ=Âxè ƒ,XÇ7ù//\ÛÀ€A(4ÐÐñø_ˆŽèP¹È…éçmÒ)TÂtšBS”äã¥ã­cùÅüâaÝo,¸± œÑu…ëŠëêm®·Ù´‡‹ábè :Ät¸ÃÝ‘ ëo“C© ‚Êþ«fffÁ°çÞ{Þax‡á†·üÐòCËS¯L½2õÊE¿‹~ýš´lÒ²IË7-ß´|Óò­ï[ß·¾ ƒ% =sôÌÑ3Ù]ì.vj¢&jZXXh«k«k«ó|€÷x÷Â]á®p×qgÜ·înÝݺs…\!Wè:Úu´ëho£·ÑÛ¨  ÐôsÓÏM?o¶ýÙögñ¦xS¼))()()hÙóeÏ—=ÇvlÇvf:3™îÈ ¦¿ý¯þ|ðOW·~?¿pé6AŠÃŠÃ$L®–«Q@¾!ßüGàØ ÀAé`x/¦Ü…—ôè÷ø2wæ“kÕ¬ èKü¼*U‡Q¨‚‘xPÚ•'ú™P @ÀÎèá™åภWWD}p€ç뼦áLÔëÞ{HôØ,äœàSÚʼnD¢?–H&ƒu|¿˜OO©;á³r]X‹äÌ‘N·éc³sã+w1ÝNx-D(¾¤{@p–)•ÒnD-•ð´ðÝÛ6pιj?=íÕõu3|ùbJ¥ýȨ4¸w_R‰¸ €áx‚ZTÚÕü_Vlú°iëÕ­W·^ýþÐûCï¥.L]˜º»Â]á®8û8û8ûÔ¿Wÿ^ý{ë¾[÷ݺï*÷©Ü§rŸðõáëÃ×ó«ùÕüê2 Ë4,ÓÙÏìgöÓít;Ýn³Kéˆý®ýùà†hø—ës®Þ®ÞÀÁA¡›?ñ'´†u¤u$ x†gÿÑëF5° )’`¥UKQìwà;t¤†3dmñôûSéè³ÑãÓ˜â­ír`cZú¡É³Ò®<Ñ¿H‚O1}AÈ[˜Ü 6=@bv’!X…y@Òçiî´×ú7Æà­P„ÙC·‚B'æ.‰D¢ß™'4¬^N«ÀTœÜ]¾Mÿ‘ަ Ô3-È~xúñݱ £(cYSKŽúÌ3ý~pôS*ßÑd!íyuôE’é¦"$OÉ—É÷ç~GÇ]ó®<ÎØRÜCMjpÁàñ µK»žÿ»êÔ 5èÊQNÒW¥V©ß',Ë•:t%]I«¢ Ú`.xðÿ#¹ÔDÒ„4a÷ _ _inËså¹w¾ô{é÷R6ŒÄ¢ ²˜,þ7x}NŸ³7˜¡ÌÐ÷“´îZ÷ÆN~ ü,ÏoX½aõâókókf9D1oÉ r‚fR=ýÇ¡¯}¥DJIÝ*V¬xvÍÙ5g×L èšÝ7»ovßvoÚ½i÷¦þúwêßIÕ§êSõ ·n'ÜŽ‹‹SVV~?óýÌ÷35*J£ò‚¼àìì|gÌ1wÆTù¶Ê·U¾Ý™¶3mgZŒoŒoŒï4Í4Í4ÍΫ;¯î¼ÿ2þeüË#?Žü8rd¿‘ýFöórórórÓÖÖîÞ©{§î~˜ðÄ&ôØÓcO=¶,[–-«èqÑã¢Ç¹ rä6 íH;ÒÎ1c°ýn°Hô7J;¶Á 'á$\¸(\.Òñt<Ïæ³ùl>M¦É4Û° Û„3Âá ¤‘4#0#ؾl_¶/yE^‘W4æÑ¼¿Ì™ðÞ%’D’H&ž‰§ÍµqÚ8aTœÐMÑ”ž¡kéZ€éÈt$q —pÉ1Ýö¿ ýD[¤-û5rô™°d¿NvEH^ú t¼´‚rÒÑ‘^Kz-éµ$zVô¬èY%J&”L¨”[)·R.“Τ3鬂U° Ã;Ã;û!–!–!CgCgCg¿j~Õüªi¢5Ñšèä¬ä¬ä¬.l¶ i‰´DZòúåõËëç–á–á–QáQ…G !Bˆ"ƒ`ð2{™½Ì;[ílµ³•ZP jA:O:O:/É-É-Ém€m€m€Í}»ûv÷í|Ƈa(†bhi›¢ß£Ò€Ýáw:—Î¥s%w%w%wå‰òDy¢1ÆcŒ!ÕH5RMX$,¹†»†»†³[Ø-ì:‹Î¢³t¡ºP](­L+ÓÊ$Œ„‘0úž¾§¯«ƒ<àA'Ð t›Çæ1LÇ.p=ìzØãíM~@ Ô ·Ø6@zÐànq·¸«ä 9Cîã>áÿm«WC „.È:Ù ͼ·Sóó«ëOAïêfƒ,òΈ#¤«¼»´#@7Ñg`A)ï-Ñ¿JÀnç¨ `¼e*à§ë'Q.¹êÔDhp: fö ´,#”ïI$´šðÍH.ð.êˆD"‘è?Ä‘±Ò4ÀêÔÀäÑ9å ªÉθÚ¶°§¿DÙJ'ûÎ#•éRK8Ôg.£ô¾£7á,@|H4`9~pæUÕi‰–Kó„5ªÙèí¨éu,RFÒ•Ö‘ XM&X€&¥]Íÿeõ`ƒ .(D!¥zªw5x÷ÀaÆUÌÇ|Ìð?»@'Á +œQ •È—XŒÅ’‘|[¾-òÑ0þÅí}‹–h‰U°ÁÖV’’¾yuêªÔUCê\ov½ÙޱÍB›…³.]>êÇÚfÛfKüÈ|2Ÿ¦A ¤?72KÆ’±ÂZa­°V!SÈ2Õ-Õ-Õ­àÁ‚ÐAtd|d|d|dïØL¼‰7ñ®{µîÕºW%‰’DI¢é€é€é=HÒƒÜ=îwÏd ²T ¨P…ÊNe§š;›;›;_8|áð…|¾?ß¿dcÉÆ’!ÇCއ¸q=â:§á4œÆ4Ð4Ð4S1SÉ1rŒãÚrm¹¶~+üVø­°ÆZc­±†š†š†šMŠš5)’¬‘¬‘¬¡“éd:™ èÇÌáö‰¿E¢Ÿ‘ B 0 ¿éAr×q c˜°¦„)aÒåéòtyu5ÖÕXÇÍãæqó¤‘ÒHiäõøëñ×ãß-x·àÝï;Þw¼ï4 hÐ4@zLzLzŒïÂwá»à^á4Ð@7¸ÁÍ1 öaÓ‡éÃô1Þ6Þ6>ÐOÔOÔ¥–}PöïbýwúïlÞRVÊJ,]8ºðýƒâYƳŒçdÎ…sájb+¶âÑ¿m«í!M]Ä€ñàlÞ C½ëö€¡> ”ëhú‘Úº[6(‡þl0ÿ†{FôïET†+€÷ÆM€¢gÙ(ù‚* |ÎbŽ’’°âZ€r@2ô€xÚ‰D¢ßT4êx€òLZ•Ç÷|•[Sá‹fÜ’«4ŸžÄ<ž Ì=ù›—¶ € ¤$üDž­%nlc0¼Ùܽ{É0Z€¹ˆÀ ö­,ÿéz Àƒ3†b(¿È0TÂ?L¹dfl°á1nâ&M'q$jlÄFü5ù€‹¹ô!}ˆÎäùðuù¨ÃQ‡‰Ÿ¾¦º¦ÚÞì‡f?vì2Ø8…ëÃõa¼± »h1,°üí;ÓLšI3I0 &ÁÂxa¼0Þâmñ¶x[J,%–tEWt%ß‘ïÈw¤3éL:Ót] _«_«_‹ƒ8ˆƒHCÒHmR›ÔÆ]ÜÅ]&„ aB,i–4K‘ˆD’@Hˆ@öööz€ ÌõÍõÍõ̓̃̃ð~Àd:™N¦£/ú¢/íGûÑ~„J¨¥­¥­¥-‘ ‘Сt(*m-m-mM¥TJ¥ô½D/!°÷-íCSô{$<ò‡<˜a œ«Ìi‚·à-x»Œrå2jöåÙ—g_¾–z-õZjJõ”ê)ÕMuMuMu·&mMÚštÏ|Ï|ÏÜøXãcý0ú‡Ñ?ŒN–4,iØTÍTÍT ±ÿ|$ÉG6M`„çÂsá¹ð­ð­ð-ÉD2‘ªÊªÊªÊ÷Rî¥ÜK9žw<ï¸d‹r‹rËÂìkÙײ•j£ÚènÜR¸¥ps!3ŽÇŒ_0¾`ü¥"RDŠ[›­Ínÿwo<,”d ìå:|+í=€|AF˜Oî‚! 2€àøøŠùìþ»Ùó97 ‡z÷¬þš1y’|b:!/Ø ôþ’;Z$‰D¿-Š¿œ±•Äàjë÷tMÈjæ¦/)¤Hs§–Öw4PÕ˜ñàëôí/˜– ¤³Fú!¥]½ÿµõ`¿kjŸ˜²'<áùOíòh @*R±¾½#ó|"#2ÌÄœ)Ymá-üת¨ Q°<ø!Ç®õ¸ÖcËʦ1Mc‚¨Ž¨ŽØº „ ±àÿæ» 2Èh6ͦÙöޏ¾!¢á/ªºÒÂ_¼fÖaãé·x‹·ŽW>§Ïésb!bAmÔFmÔB-Ôr ]´0ìþèO8‹°‹~Q*‹#6ùé®5©Jª’ªŽûºH  „¿Ü¦²ßõC_ÑÿJ‚0„¡<±’LbC:£3ƒS(B<$ðû¿¿=ã\ô@!\ÂÍ÷Í÷Í÷©;u§îR?©ŸÔï`ÂÁ„ƒ [jo©½¥vÕ}U÷UÝgP”e£­¶6Ú:2edÊÈ”23ËÌ,3ÓøÞøÞø^WIWIWIYMYMYMÞIÞIÞ)¿E~‹üÒOÒOÒO†C¡ pGáŽÂ¸‰›¸éºÅu‹ë{qÌÓÌÓÌÓ ½ ½ ½ìKhÚ„þg: 10Ó\ €è8)?½æ/Sàˆ¡ï= 5Ñ\U€€™ùÓ³öù Mt&Äù¹E"‘¨4 ¤Ì´@cP@L ¡SPúÃÈþZZ{kAwçÉK€è àh]ÀL?þ7ËŸ±Ša…¬E4aV“’R<Á’fIûzFT­¨ZÂjÊQnVýûÜ}no‡Ø±=¬Ë…JB%òUP•áåhyü¶ìsY”ý)à 韻n½ýo=àÇr±Ã³èWà#>â#mIche\ÁZÄ“qpCù-:È0FÆÈÍyæ¯~¢~¢~Ò!¤CH×®\\?rýÈõ#럭¶þ™þþþAàÉÀ“'ÆŒŸø4ñiâS¿8¿8¿¸ 4Ð kNÖœ¬9·Ý~tûQVrVrVr@N@N@ÎãqÇ=ããó—”W?›M$‰D"‘H$ú]`A@ì#{Iª¡3…Ü!wJFYwZwÈ©TP© C›Ž!-ÝøD>‘Á)œBÜàVÚE‰JãHž…,dÁL?u3ø-® üüz½S„ u¡.È@2H.É%¹7ƒ›ÁÍ<É<É<‰õgýYÛÛÛÍ Í Í Õ.Õ.Õ®‡üCþ!ï¿Àÿ‚„É “&lj;$E—¢KÑÝ9rçÈ#Ê^Ê^Ê^–Ë–Ë–Ëoz¾éù¦çúSëO­?µgÅž{Vlè´¡Ó†N‰óç%Îs:êtÔ騣T?›M$‰D"‘H$ú‘CßC -¾GuT'»ÐÍ­Çù8>N$×È5t&}BŸ &¼áý’`‰D bï÷ä7 }íìá·j¨©/õ¥¾xŽçxîxV=ôö|n΋;/–˜$&‰IºXºXº˜|"ŸÈ'œÃ9œãOò'ù“> |ø8²0ºUp«àVAî˜{Þ7{ßì}3MMM›–…- [šwhÞ¡yÇ;tìÐÁ +¬0ÆuŒë×¢JE•Š*•ö®‰D"‘H$‰~:Ø`Ã@TB%ôB8¹UÂ:aá gÁ;‹D¿ñ+ð|÷Ÿ£hòœ<'Ï7DmˆÚ5øòà˃/_ëp­ÃµZ‰V¢•Hs¥¹Ò\Lƒi0—Ëår¹öɯùd>™OæM¼‰7ÙßĞ׎Œ"£È(ó ó ó „#áï Þ¼·Ã·O­$ñ•øJ|K»RD"‘H$‰D¢’ 5äã øÁÏ‘òJÌ(#(ý¸Ê¡߆o÷Q¾R¾R¾qaÄ…llll…¶B[᪫¬j°=~{üöøÙ>³}fû8-vZì´xã‡6:ææm´´ÑÒFKqgpƾ$¢cDLjŽý&ô›Ðo‚}Éà€Áƒ¢ZEµŠjåL©3¢…h!ZÅ©8Çûò¾¼o‹+-®´¸‚+¸‚+|w¾;ßÙÌlf6—r-‰D"‘H$‰D"‘èÿ¬´à @¸)Ün:;;÷]ÑwEßæ3æ3æ3ŒÁìuÏëž×½Ù·gßž}±ˆE,F†‘a–J–J–J%%%õëÖ¯[¿®=ÁzI­’Z%µB7‡nÝ>7|nøÜ’.%]Jºô¤=iOÊ)8§ˆ.].ºœö€ö€ö€ttt®¹®¹®y½˜z1õbìEÓyë¼uÞl,ËÆÒšBSJ{g‰D"‘H$‰D"‘è_WÚ°½ós}ÔG}{iZgZgZÇœbN1§èº„.áƒø >HwOwOwó0ó° »°‹YìaÖ0Û™íÌvkkk{2t¦ S†)ïæW󫹪\U®*£e´ŒÖTÙTÙT™<"È#[¬-ÖËôfz3½é)zŠžbÚ1í˜vÖ‡Ö‡Ö‡ö¢15˜L z›Þ¦·K{7‰D"ѯf†fE¢H”PW¨+Ô¥‹ébºØ~ÁÑ‘yA$‰D"‘è·'{f2™L&“™{Ì=æ¢åiÀoU„ß#Œ0"ˆ ëÉz²ž®§ëézÇ4Ö£1£©©>AvgtFgût_„'á:q‡œ¸C…`t,¹†,\CÄ£?\ … •c#•ÓAèLÑr¨EËÑ‹˜H/b/^a/ …+ Å<Â,E –?8?ÀÁàxßÞ¸‚Þ¸lܶ—‡®ÆPºZø„ á“À!Bà* ¬C*Ö¡<ö¡<ºàº(ˆl`ƒ+dpEcœBc(ÀB¥x„¥ØƒWØCµXIµØŽçؤP‹"˜Q„¦8¦pƒ nö%Ô[¨ †.t˜àŠ*‚«ã}íïEÇ4öõðÀÓÙèOg  |¤-Ñ’¶¤o1Ÿ¾ErD*5©ˆìG„`BÁ$D DÈA°Cg¢?‰wÐà)'R—ñ—i´¡„b„ ÅBÊ yt âè@úsé AhA!QA0 @%޵%a&Mr” ,Ðüí Á^„8¶(&äÓ5J×ü¼þ©;ªRwŒBFÁ ,œ¨ ©ìïì÷Ýx‰Ý¤<ÜHyÌÀ=Ì î¨BÝ=Â=õF5êM7`Ý€‰¸‰Ž=e?ÒD"‘Hô;#À"‘H$úC!>PºOéZfQ3ËCF†ÞÀ'z H °?Ú—NLì+R•}%hPIÐÈö2ýd{]?Èl®ÜëÉCÝë)ã%^Êx’@z‘Ú i'&›$3ÙÌsr‹yN7ã9ÝL¢ &QŽ÷ÝIÊ2;ÉÒÜ! I²Ð%CzÐ%ý‘lƒ{#w¥ÜÃ]©.–OWKú0w%}$·©ä6¹D®’Kô œ¤_p¸“pÜC.î±RÒœ•":d0ïIóž "ëÉ ™•](³¢<ŠqÙ¸ -¬Ð’$´` ¤k@:4H§uKëÈÖ3Ýeë]ŸÈŒ®OÔÓåµÔÓ¥ÉÌ i2Î#çIY(IYÈÀB#•k$!Ê5êÊ _ue7l¬›N‘ÇvPäÑ7XNßP7º…ºIf0Y’ê`yyu°ÚU¾OíªŽ¿WG¸”—s)Ït&ó˜Î´NÒì "ag¸=’-t{ä¶XVßm±º‚ü˜º‚ë Y/׊ѬZ1Ú}ü³ûµ¯D€‰Ã4’K3ÖõYo×oÔþò\µ¿û yc÷AªUÒtÕ*Òl"Ýá‰]ð$M‰?i ¸ÒþLˆD"‘è¯Ä1À"‘H$úC¡'NO0£ÈNf”¹ˆßk.’D‘k’(vÓ—Eýè)êg%I'}I:]ØÏ_7=nšº{Ë.¹{ç6}›;8ÝOs%ÝÏð˜ëdx”§š”Wî‚kýr˜òÄŸ)oÞÅ+Ì»ÐåÐAîÁ.‘{hoa3g¦›*q M•¤3Yƒt&éÒíV·ì·ºÙŽ ×lÇ­‡ùGÖöÔÛÖ£Ú×^C«}Ea‘ËLéw.3Ù›$„½I7áÝD.¯ÈÃR®—a©ÓXÉj§±–ÅüEËb¦;ÉbºêÌŠB÷§æÞ#¸>B$ׇAÀŒ :ºšêŒQü;c”ì {IöÆ©€=çT§7iòôïxÍw¼~÷­~\峞á•ÏzÔ–o÷¨-ô¢YB/   )Ó’,cZ¾Ü[üòåÞ·7JŽ¿½á$¯éœíâœtV5<è¬õ¶l½]üƒåiñ7埦ܔ[· —¬[…®”ºzf*>yfFó¼=LÊž‘‡Rm ©wžæT¸óTÊ2C¥¬Æb}­±8/ëü}°Nõ.X—~Jë–~Êt’3™N2w˜¡ÌþAÆÿ0Oe ˜Wñ‰úHÅ'Â@j:¹³‰NîyzÓ§ÿ±]£<ØÊ£<9uòldëͶõ¾µ+{Ý­]¶“¶“öúç"è(.":Úã‡è耳ªg³9ãœlæÃ{?î³áIPŽjxPN¹T×GåRI}4%õM=ù SÏûcrŸÜ£ ³NЄɢ˜M²¨2iÊïˤ…÷t¿ÞS:šy*m›!Ì´Í`\àĸÐbXhqi2D"‘Hˆ°H$‰þ`8)íÂI=?9Ù_©J”LW%ÞvÍVßvMÈÈžœÑsTØÃž£f5¿>«¹SªÄÍ)ÕÜ›{mî-Œ G„ ø¥5|0RW¥ÇHÝÑOÏÛý„ãôŽ2DE2äU6æU.óIµ©Ì§¥ïž[ú°Mõ ñmªÇx{–ñ¾õ.»Á­w+…¶•BxÏmáU&»®˜ñÉýPħÍoŸ¹l~«[g5ëÖmØlÓöÅ,o‹/¸Ì‘¸ÌùÞíΓïÝVµiXoU›­Þu>ÑÊåª4ÉåêѾiÚ£}k³euµÙ‰ª}=ñƒf›¥¬f›~Ž­D?g~×d§ù]7y5ÕlòºY3ë«›5·}ûüú¶oUÒóªˆO× ;?]*öxU<:>fúèxu‘:>î|àÓ§9ž>•laÞJ¶Ð( 3Èt ˜ž¤„éiìl«hìì¶«ÎëºV9¯£FËaj¼=æÓ†ÛcæßKn>ÿ^³e}êœÍ•rre‹›4¾¸I‹×å®¶x-œ"…ÓL'® ÓIÿÎÌêß™¿â÷›¿ò­¬œç[yý¦–/ÖozÔ­ äQ·CÝÚ7<ÔÍ·¾kŠoý8ëñ„8ëˆc€E"‘Hô‡B¼A¼Ú`*K˜ÊHcö  ›Èá¹ãt3Àc Ì1Ú•5Ñ®ž®²3ž®õ¯ù^¬MqƒYvFIƒì ·;ò\·;’üæ5J°»’åô7øpý ³‹š]òÇ›ÂòÇ[ZXj“î–ÚìPf ;”oC}ù6€u'`ZaM3­(1Z•˜ ŸuÛ Ÿþ$`]FßY—ÍË©3g^ΞɯöL¾?<ïÒýá’/¥ã$_ /Ø8á©…"R‹e‹ÉQ¡/ñúzrN™žÜ„ÕzM0· yèÜ‚¼ñF÷¼ñ2û^¦p)Rz»ÝéóàNïʧ=¹Ê§ûè*vê£+ng¼YÜ®ÈÛWäí·GµØoüóBþJ˜OõÂ|tGtÇ}ú÷I9ò†”ãc>Üœ¯oÎÏ;bxšw¤áÿº wôP„­î¡¸<33ãòL÷E]÷”ô%ËÒ—ä4)LËi’6%·IÚ”¼uz[Þ:¡)ú M™Û˜ÅܶN¦­“­m ¬m,—lÓ,— ×è®xg¡ñGcѓƜä"Ÿœä×Krš¿^’•W7=*¿»±m~w§ªÒíNUïÎÉñ¸;§òϬÊ{ú‡÷Š^ç½Öl7RÍö*w¼¾«rÇí¸ÌìvÜÖŒ†Øš¶™¿¬c¦^jÌlY€w˜BêV¬ïäúcù•¶~e¶›&&Û-d°{·ÁQO=ÖD=åó„öhï/~€IDAT|žt¿džtÎFÝÞœ%Ÿ4sK>}YäüqäšOÃÖìÏt_žÝÙÃ=º³ñ wÊx8a,q*íÏ„H$‰þJ €E"‘Hô‡Bóa¢ù*B*õRF÷! @Y°8²€p…3ØTì6´á6Úäï2“¿‹±2Kk ,%b¼8ÄXËë˜o-/€[xqåBÇ•«wÚÇ·Þéé±I3§ÇJW1ùÒUòõl=ùúß茿‘ŸcÈÏÄäÙYmÎ/Œvèúóa‡Z˜ÏþÐÂ̵¾çZ0žä㉑C7â݈Cx‡Cò‡lºü!»š8±«¹Û¼œ»íÝUéîÝõ͆â­o6¸”kÜN©}¯Õ”Ú_޼ÐàË‘¶Ü>4aKnÓÚÜ&2=3I¦ç9Tä9rÉe馕tM¶ÑÒmL?é6€´œ©t3|ú®ûäÓݤ—\»I»Å^ ê»PòðÃB‰e!_`YH²€=uz*âÙ&Šx€Ù ð =Ë3’¶ÌI[Ýzkœn=÷µ0ûš¸â[â 0ŠÿQÿç˜a²s™èغèö6Göf6=ÌÙöŒl„å ×Ûr¥°»¹Yawî3mÃ}vO‘vOÙ–÷|ò¶¼ŽÛñc þ¨´ÿ9ÂøÝçˆùsë´™?—íLƳù4ƒï#h#¥ý™‰D"Ñ_‰°H$ýùH!…”ꨎêý_h!-¤…¸ˆ‹¸ˆÁŒÁ؇}ØG+ÓÊ´²ð^x/¼§“è$:É>Wîã>îCT0à 3ñ'þÄŸ&ÒDš(8 ΂³ $‚„®¡kèd"™P@ÿ¡Ibä`!P &%üjjæW Óè|a¿VXÁ¯Pƒ°À{€¼FoòJH¡”³y°·ZñÑ[M7 é力rÞMÏ'u;z>É÷¶seßÛÖcÜ)ë±â1!šPëšÐ¶E"ÛÅ8yÎŒqšy+){æ-&û™Dæ0ù‘9ŒN$H²ˆ4!Nd,qÒ,²æjMq©á9Å¥¸º…/®¾iɳ ›–@@V!Ým|…ôü“¦[ù'…ü5aCf11>AÊ>Ag’:œ<“$õb¤^Ú+V«ö ;¸°Ó‘ #rI#ø’FèŒòèÌѾ\Ú ÚH°Ÿ% ^?-nñúiL‰W˜’‚U¦Ñ«ö튳o×ý½»Ýïq|uköøê U¿ K¾º¥N>³á`À€Ágð™ Ç&2• F%€ÄºhÛ6]ô>e‹íû”‰Uz8%VyÕãᣨõk·X¿Ö9HºÞ9°uÂ/¸Ý¿wÙ””wYÊé„¡ò0V%*ÒBE·Šò~n%ǘ%’cTíT Àò?ê¿:¼QÀ"@Ñ•uVtõ¬¨ðô¬H0›pYB;.KÞBzWÞÂÍ ûÂÍ YÈ|–,,X`zT°`:W3j:w³^o÷›õæ×®S~mÜRI#W¬b)V‘®d5éŠ]x]ÄRâZÚx‘H$ý•‹D"ÑŸùi–×|ä#_ÖZÖZÖڹععØYë¬uÖÊâdq²8&ž‰gâ%I’$Is•¹Ê\uí4Úi´êêêâŒâŒâŒì¶ì¶ì6ÓƒéÁôÀœÁCbH IGÒ‘rw¹»ÜÝ©À©À©@¤ RÉ+Ê+Ê+’d'Ù‰çxŽçp†3œÿ#[jA,¾„Pa…êºKê麋Y ßÇ,ðبì±Ñ%AÚÙ% šJgÒT:‘¯I'Z§ ¡Öi'–½;|b™e6¿Ö2Û³­Ó:϶W²Þô¾’Å*p‰UȺIÖɺÑü#ÚBo¡lÉ@ÉvKQÉv€XÂm¡–p¢¡ƒˆ†^ƒ ½iMâ iÐ$,€'ªÂ ÓÚŠ¥­è—Âú%Àù3§Ôº2sJúBm|ú‡²×<8$,=(,dðÍ„ ZIÐJhïD>DøŽ‘ø‘Æ¿%‹ëù.Y|êMzÚ©7ï®7|w­ùÍwç45Èÿ¸00ùàÂ@Ö—³¾Î:É:gÝü I›æOˆ¸?vˆgÂêYÀ5¡£¸&hƒ(´¡ôÈÜ£‰Ì=i¤¢±4Ò¹£tsÇ}Ö—[÷Y¯dd:]ÉèT3TèTS3ßRS3Ÿƒì›Ij³™J7i}¥YEUt%}LWÂf¸ÀÍàG7óãéf¼ÄF¼0 m޶Å%Z—´huì£Õ¥ÆOªqî"¹îÜE?Þ¦ÒoÒÇ{“>ù*S÷|ÕÂÉ—¶¼"ßH^Éö³]dûÏ/Ëèw~YÑæE?H_1…ÒWêÿú?‹`œP°¶vZ[ž¸öîʼnk¦ü Ó2…Ne oºdV¾éò¦yÉÞ7Í¥ÙÌTi6ù𯑝 »¬ý »Î迲b÷þ+½:í÷>:uýwS7H¶’õ’­$ß’:ItJiøE"‘HôWb,‘H$úsÐA<à¦%Ó’iy}Ïõ=×÷Üßwßý}öû±µšÖjZ«iL—˜.1]Š=‹=‹=[:·tnyRyRyR©m®m®m¢ х袣£]w¸îpÝÁEqQ\”¼¾¼¾¼þŇ^|˜¾#}Gú¾_¯æëëÛveÛ•mW*:):): Ó„iÂ4LÇtLÿ÷n(Ó[™®ˆçò_][¦Iuíˆw7?ŽxçÝü¾Í»¹Ž±IuL­Ä²j%®œÒ`äÊ)!5Ý®…ÔŒZà="jAßÅákû.ž·(ùмE}W^þ¡ïÊ¢%Ö-EK]T ]†FÖˆ>È@Ÿ¨ª^!QUq-q½øsè%!%p @ÓAš~ð½¢Úç{…÷jò>R‹-BjùbCб/6ø^QÅø^áåBe^.µØÊI-_ÌÚóÅŒO}€§ù£ÍßüQµAú•jÃt¶&3ÕN·i§›§Z_›§V­^ÆRµº<’ý$”U—¬UWmíVmÐO²ÓO*÷Æõx¹7 .×õ[pùÐØ7_«¬.뫬>sKíƒ3·l}ð\ºõÁÀ“WcžüøNßèã»–'}ZžÞ9jÀðΤ™A:»„õÂ.þ5^ñ¯]êɈK=Ù÷’Ù²ïcÞîácÞ-p™´À·§òšoÏ©.5ZOuñœ«è97:ÂkstÄ˜æ‰æ1ͽ›'wðn®û`k¨ûPgVÙYufÍ][çÑܵ®e=\ áüj!Ü%̵Eµs ÐÎÅiªäºÓTœ¶¹àtõ”2·ª§Œ>— }ÎsÜýLÏqü;Ú‹g>·7‰Û_Þ3nÿ„ü*/&ä{D)–{DÍ0Ö:5ø9ñ٬͉¿½:xà·‹ulÆâyå¤òê÷ ¬7;P;› øyý há‘î®iºîîô˜šÂô˜Í/žíßü¢ŸçåÊý<‹ëbÁ–j½ÿ¬EõÌ‹2Ð\GÃÈ6žÕ"Û`¢0‚n±%Ð-ü'Ú…ÿ4uyÝS—ïŽ~õÝîè̉úv™‡¨¬C,ÞÉbÁw¨ŠïJû ‰D"@ €E"‘èÏÂ~ÇU 4\[®-×¶…¦…¦…¦$¯$¯$fÐ šÑþzûëí¯'%$%$%Ü÷»ïwßoLó1ÍÇ4ït°ÓÁNwÚujשa¯‡½özUÙUeW•U©‹ÔEÞ§½O{Ÿ¶î¶î¶îf“Ùd69uwêîÔÝu>ÕùTç“û[÷·îoêÔ ¨#,,,˜“`Â7øßü'6T²“1HvjŠÍžšâ UªNœPepxäùÁáü-ºˆ¿…Ê£²ô[¦žô[ô‚½Â=ÜÃÂ=Â܆'°ÝÉu¶û\}Ó\½6Õ:F›Ê% ¹DÕCé&ÕCgWégWm€åKm@ëÅÁu[/F(ܪ¹iY«¹)_Î ’/×´²djZ íY}h_Ú?Ðö–Wü]Ë+Ko°$ íiÚë.ï€5´ƒ5[0Y³yŽÊx®|ªÛÜò©G—´Þqt‰eïoY×êm¬Õ[ÜA6î4õô¯ÜÔ“Ž£«é84 ¾h 9muÒœnÉå´ä›6óÖ´Y‰ÊÌ”¨‚rT·‚ræäÕ>7'OóØú^ó˜$,àyH=$¤7YEzóáoA#KxCK„7²—lwÙËÓ§Ûî<}Zû•5Uû•ÄÈ<’]6Ë&¸lVla+)¶”ü`ˆ*ùáÛÓU·|{zÈÅÈ5C.òèþ*CŠÊÒòÌ5iye°¤¡2XhG¯í˜G$†yd2p‘&ÃÄ Õ¶Lœ@/Ðô‚&Û¤ÓdOˆ«*Ÿ7Øy|°‰_A—ñ+HMŒ 5© ^Q…‚í¡Pž$–ô´ñ±–¢€ÎgfÌù\û̜ϚYÖךYüUáÕ}¾|»û|&œpL¸Ðž.Úkn[<4·‡v¬>´»½þMk¸e¦5茋èì»Õ¹ÈwëÌ»µç̼«k­¢Ë=:pTÑÒU´Ò]ZE鮕š¥ZiëÁ“Zgðºï­?è¾FãKa´º¼©ºÁxm•ªãµÜ}ú=wßZG¸k­ƒHÉÒþð‹D"‘è¯ÄX$‰þìc/í#o¯á®ÉVÉVÉV9¯v^í¼š¾¥oé[Ç+#$! IöªûªûªûÊkÊkÊkxЧxÊ6e›²MQ•QÙqo9¹ÈE]ÔE]ÆñcüžM{6íÙ4ŸÅ>‹}œ 8p–m˶eÛÚÙÙ)‘)xðàÿÍ[êgø ¤©^³ßzÍÂbŒÇb”eèYŒ§gù1t#?†Þ¥¹ô.q!U‰ ×_påú“«DE®ª7É%êMä.$ä®ð‚Ê…ÖJ|k%Çw8N†“Êd8Là`Â5¸áÕÂJµ(‚;Šh(ÐP¦8ŒÐ`ʃEùÿÏòó´çéKÑ—¬?\Y.J8ÌE‘}$†ì#ë1†¬G]LD]0 `h(Ri(½†%ôtô-tŒ<£· æoÚ“ûä"¹|ºù¶•Â!ÛJO^“xõAyú ùùä n}Ê– ‡„帀Ƹ3x˜ SУr û^nñYëÜËg-ÕÒåT+쥳„½Ö<¬;HSÄ’¦$‰Ä‘$¯Љ^ °ã°ÄQÏgð =Ã÷ +ùô}KÁNð†V((Å&JLP +Š È¯YŠï½fa#²±OP€'hˆùh(¨ |uá_xBN!‘ GÊ_ö;MEMebp”‰áëÑã|=RÌ"Õ ±1º‘>¥¡ xÐûq.‰D¢_ ûp01‰D¢? GÞ*€;ÜáŽ7xƒ7Â[á­ðÖžàÊñ¬'<á‰/ð¾°/àñ‹øEÂxM?ÓNô3׎š¹vh MQûPÇ Ä1G½ýœ?TðžQá™P§ %p†Îh9ÚcT$PQOzœzÚöQmß/êyf`*b%*B ©£Ì H  «écºÞ0à ¸@A =A‰m/ÕÙö‚ 4,ððE|¡„J˜ÀÄwèwô3£Ÿ¹ÖÔ̵FcðhŒr˜‰r( %ÊB+4޽öËz–CIßÐú~¦èçb¿{@ú:úZB ù´1Íwü•1ô‰D¢REa¿h¡`…U €E"‘èÏÈLG8Âi,¥±Žp÷6nã6æ`æÐò´<-Z¨…ZÐB -ÝMwÓÝXˆ…XÈ?àð M M MtJR§4ì1ì1ì‘'Êå‰\4ÍEg’L’I\ιœs9ÇXkPèz…Þ‘ŽK 4Ž Òÿ^üà ?Çã?b¿G§€@! *8ÿ–}Íö ×Î䨷‹ç¸Ïig¿ôÀàÕr{ì$` A¸¡(ú‹÷uqüû+û:íajy¸¡¼£l ˜ÿÏvý£š¬ Tþ‡¯±A€íWÕ³½üöuÚ·ÑJøüÓëù9û…€_³]özøGõükÖóöû_Ö@À ,œPöï¬_$‰D¿=)dÍÆg 6Šeö6rÈÁ€óÓûWŸH$‰þ`È|2ŸÌ7Ÿ4Ÿ4Ÿ ÷ ÷ ÷ ¿~#ü÷‚{Á½(3½Ìô2ÓkÙjÙj٬ͬͬÍÉŠdErã /4¾À_â/ñ—ªW ®|#ýFúôµÓÖN[;íD܉¸qEŠ*U¨¬¯¬¯¬?ìrØå°Ë¶yÛæm›wÑvÑvÑfõ²zY½È&²‰lÂj¬ÆêÒ® ‘H$‰DP  ,©H*p‡À lx‹·x zèÁÂÙÓÿ㛊D"‘èwˆéÊteºZb-±–ØQ!£BFáᑾ¢¾¢¾¢×.¯]^»Ê4*Ó¨L#ÓZÓZÓZyŠ£Ïè3ÊR–²ô<=OÏÛ»@s¹Ž\GG2ª{¸‡{üþ ÿ†Æ ㆑D’Héez™^¶DZ"-‘$ˆ‘ K[K[K[s+s+s+ä 9$–Ä’X2“Ì$3Íiæ4sÝK÷Ò½öòÙd6™MâH‰s”0ÉHv¤æ‰D"‘HôÇö/ñÒщ¢Q4ÊÞJq´XþÓ7^ÇHìsBb6f“Ù(ƒÝøŠšð#2(6JD"‘è¿ý‹$ YÈB[´E[¥·Ò[é­œ«œ«œks·¹ÛÜICÒ4ü;[ ÕPÍñ{TA•â}½á olÂ&lr,Ùƒ=Øó‹×<Ã3<+í ‰þp¬°ÂŠš¨‰šÔ‡úPú‰~¢Ÿ˜0&Œ ÃnìÆn¨¡†º´ *‰þ¼è-z‹Þ’–HK¤%Êbe±²ØÞJÁk¼Æk°`Pó·)‰Ïð ©Ô‰j„§ÈÁ6T#“P}p6XK»¢D"‘HôO2À™Cæ9´/íKû¦VI­’Z%'6'6'–[Î-ç–ÛÓ\•vAE"Ñ¿‰/|áKCi( •dH2$ÒËÒËÒ˦צצ×$¤‘4\À\(킊D¢?±åXŽå’¡’¡’¡ùòå?¢Oèú„ì'ûÉ~tE;´8ÿ§ "qL‹a¿v(@…˜üJ$‰þ{i¡…Û±Û…H!RˆLÚœ´9i³ç'ÏOžŸ¸v\;®Ê£<Ê—vA{6 $(%ŽåîÃÝ‘oÙÞ¥é±çæÍ…¹ð„žŽé‚ìk¶?kŸË× Ž,Á¿fÍ¿ÿíåý»Ø›•*‰J¢*Ê-Ê-ÊÍËËËËË‹ºu#ê†y›y›yéIz’ž¥]Ðß¿d‰§àðZ¼wdw.gÚ*û¹"Fäà#´øè˜àÊžeÝþWvö Éìë´ƒà‚ øÂ¾âçQ$‚üà'Ù#Ù#ÙSXTXTX$ŒF #óPheþÓ‘8>ŒH qd„“_‰D"Ñ/?øÁ>§Ïés¶6[›­=Òi¤ÓH'3ª¢*ª ön?-h ÚDJ¤DJrI.ÉE;´C;G‚«[ä¹…û¸ûhЦhJÏÐ3ôŒððð QˆB2–Œ%c™&‡ÉÁ|ÌÇ|d"™Žiöþ5ö9Wwãv“ä¹Ï0à3½L¿£—%…ÌI!wE¨Ã]AT@Á‚"Çß*!‡Ì$¢b& 4H(Àe|ÄeÇÒ»ÈÁ]bÃ(b#5È\RC8I%ÂIŒ@4F f:. gÀlLFuL–¬dfHVrIB#.éï¼ïoC2ÜCîýÊ/ú é4¦+•‰ÊDm¾6_›o>b>b>Âkx ¯)zWô®è»‡ÝÃî¡UhZE(+”ÊÚ£ä=yOÞ3×™ëÌuª¤Jªú}„>Ž1éHGºý Àè£Ã<ÀÚ“ö¤=‰„HˆX`¡ƒè :Èþz¸À.¸ˆ‹¸Hý©?õG<ânè†nÌ^f/³/ð/èt:N'ÉArPè/ôúÓ@H ‰!1Ìpf83Üž×@'ŒÆ1£˜QÌ(ÇÙÉžP'˜Ó`âJ\‰+ò‡<ÇM¿UN(C‡à:Â~"µÙOô>Aï T4¤ &’2HF>’á 9<éPÜ C™¯°ù ·‰[Eg,—‹ÎÈž0“eO\ãdpã’ic.Ù~ßXÒ„Ü‘4ÑUµUÓUµtækZ:«{ÉÛ©{‘MhL6 +0DXAv¢)Ù ¬Ð”öQ#ýæîâ.îJïKïKï)S4ÆÞJ±ŸÀÁî·)ˆ‹D"Ñ‹=`³O/äø°}Ø>lÖƒõ`=„!Bˆ€¼à¥:¥:¥:%k.k.knÿS[;[;[;K®%×’kOVÖhÖB‰P"”»ä.¹KóhÍ“¬”¬”¬T–U–U–%r"'rá¦pS¸iooÏgð|†`l‚<"È#{Ó™¡Gè‘_ŸŒGNs…áêÊò0uåÓ%ï·Ÿ.!£IFwز£Ãþ“uc>NöX¬8í±˜Û.¸qÛ©ë©’C¼…o÷I3÷­nýøðêÖ½›…çônæ\_zɹ>Vá V©ÚJ+©Ú>ý¡°ÉÓî#÷»ûøzuTÿ¯W°´-:ÁÔ"yL-{Ó–­Oº°õq ?à˜æŠu·æŠë™›ë.‘Öåé:›> kÈQ²Fò=ùVò=) CH0•ö¦ò„^ç ñ ‰l]Ò‹­Ël$'˜ô}CA)T$ î$L¸ˆ‰ÂE~‘°”_DŸ`}Â6%ýÙ¦ÌfR†ÙL½PzñÍ„—|3º)t¹KcÙ—ÆÏï5y~ïÞÊœ¶÷V­9ghÍ¢V–“E­äl¼€é€Lú%ô­#lýáЗô%}iYÇ,d2 I ¬ëƺ±ËÙåìr6‹Íb³ØAì vrrrÓ—éËôµX¬¦G¦G¦G’)’)’)ÎMœ›87Ás<ÇsD#Ñü,~?ËÐÉÐÉЉ¤’B.“Ëä2ߎoÇ·³_ð"2"#2¦S‹©E7ÓÍt3ÙH6’ò÷ò÷ò÷Ì9æsNàNàL‹L‹L‹ðñ˜´&­Ika‰°DX¢*Tª eíeíeíÍÍÍÍSÍSÍSí[$}"}"}b-¶[‰sÈr†œa¾d¾d¾ä]yWÞMÐM ‡ú¿SK“ЛN’*˜!RE^éH^Єu·zLX7å\ ï)çª7õ¾]½©ÞÅfѻÈ#‡Y–IbYS/n©×Ö“Ï£¶ž¼™±ùB¤{_…·{ßá-£ú oÙâNàÙw=2®lÎÜyeóNåK·ÊÏ- ý>·hW³Üºv5Gš¢ÓFšsØkŠ9ümº‡¿kè„kâ„£¢?;¸ƒ;ì3öûŒmǶcÛaöaŸ£ÅB~»žTØKRH Dü0ŠD"ÑF€Kä¹ôxùãå—XðaÁ‡d*™J¦ú7ñoâß$Øl ¶JtDgO£¥¼«¼«¼ËGóÑ|´$F#‰É•çÊså©$•¤ëëëUš*M•VõzÕëU¯»”q)ãRFÕUÕUÕ•ëÏõçú›ÜLn&7æ+æ+æ+z–ž¥gM‘…lê$dã†ì+ÜHöÎ)Iöf6“ûÌæŽA嵃NzÓøà¤o§Wíôít§–W§–Ò1’8éz÷¤× U¹–†ªÒ5Ì éšã웲ÇÙ¡É•gMöØìrÑc³y¦á°y¦ldŽlAÑÓ—Ek®öþÀ^í=²r-ÿ‘•]ö}\ö(úÊž)ú™e‹³l)zbÙPôä°á­ö°áÛùÕ¾øv>AÆ“d­t YK›sÍhsý‹N†?NûðÇ¥%Li‰{CYª{CôÂ}ô2Þ±:ïXÏ QÖ³LkRži§´Oé|$ÓùR “+•¸÷uêæÞçØ8gkylk°Ø¼ ¹]/78Áé‘„GÂ$áÓ„)Ç4ù°E³ñÖk->T½ÖbäþZìÈýêùìQõ|[ˆ-ÔÂMîsÓˆªZ3ýmïT‹~h ¡1ì@v ;PwIwIw)ñsâçÄÏz'½“Þ)ðIà“À'Q¢E5Ê Ê Ê zZùiå§•y¯âUü5þÍ+Ç+Ç+§jvÕìªÙ‚¿à/øgggª‡«‡«‡ ÅB±PlQYT•e¢e¢e¢ôôôPI¨$TJ=‘z"õ„>AŸ OP~P~P~¨¨ª¨ª¨"³È,2Ë\Å\Å\ŵ§kOמk?®ý¸v&ͤ™4¼\x¹ðr¡oBß„¾±zZ=­žY1Y1Y1AÎAÎAÎü3þÿLè-ôzkÇjÇjǺ¦º¦º¦Ò ô½€ÆhŒÆ[B­)8Y%?8Y_­)îüjÍ鵯‡Ÿ^ûmt•Üo£™jdS¶ÆVÚš´Â2ÒJ2Ì‘L?TçMΡ:Ùn†nÙn·_uÛ~ûÕ3÷‚ºÏܧ½º1íUh×{¡ ì£ñ·Ÿy!Ù~f~p]ÝüàÊm½hå¶£Knl]rPöfÍAÙ°;Q+‡Ýáçñíùy(†ÅŽ\"‘è7'qt–ËÂ'|‚&˜ÀÀYœI$‰þ`rƒ&›Éf²M“M“M“Ï­8·âÜŠ:›ël®³Ù¶Ò¶Ò¶Òô•é+ÓWWã®Æ] hÐ2 ¥9Ôjmu¨Õ¡V‡ŠÒ‹Ò‹ÒÝߺ¿u{è¡ ‡.O„'ÂÿÞþ½ý{c(†b(Žã8ŽÓš´&­yôæÑ›Go¸¸¸Õ>VûXíc¦4Sš)üú˼JøB ÐïFK@-9„.´1ºx»aBûw½õ•ßõþqæ›Ù?Îü¨¯ó)ðUóå;+ûŠ©Á¾ê^-¬S÷j¾W”ßø^ñ&N»¼IÚfKÚæMÒzhò°\þÀ‡åªÇ—iZ=~@fÅ2=½JOï÷mµú÷mõ{“z¨©Ef‘Z݆”¿ÑmHh–Û‘Ð,K_×Aá&iÄ&‘ºlÒçóÓçó»O=,Ú}êÍÊ’oVö ¯Ô'¬uÿ ²­û§tJ >¹å]ÈÉ-ž¯­=_ 6D>lpQË·º¨ŸoÒØžo[|¹üØba …ãJbú+ñ½«¬å{—G¯ñãÔ.íÃPôÛ¼oÁ[ù£òGå‰7&n|šò4åiJõÖÕ[Woý²ÅË/[(Æ+Æ+Ƨ^J½”zI?I?I?©Ü²rËÊ-3®1®1®±Ð³§®É]š»4wéÏw>ßùÜNÙNÙN©X§X§Xw{øíá·‡ûùùåææ¾ýæí7o¿ Z´8hq@N@N@޽·ˆ|‹|‹|Ëû3ïϼ?óx÷ãÝw‡Ô©R?-,-,-L®W‡?P>P>PZZZUü¦â7¿Ù:f똭cÚD´‰hѼJó*Í«äææžÕœÕœÕ º<èò Ë&“¿ÉŸ¹ËÜeî¢Z¡JP‚û|ãìZâÍ®ÕÖ¶j´µ¿èé狞u«öª[];Í–¦ÆŒ&ï˜Ñ¸ wÙ—Lö¥æ¼u•æ|òƒü-É&¦Uõš˜fgíe6ÍÍ'lZÓÿwMveNØe¯ç¦åýg6-_a—Û¦ »Œ¬¡ÆÃ"¢ ‹XÞãñ®å=zT³.éQÍù°´ŠóaÞCxÉ{ˆ°HTZ$¨ˆŠ¨H\‰‘”A#ôF:Q€kÀ¯´‹'‰D¢ JΑs俌_Æ/S´P´P´h»¬í²¶Ë¸±ÜXn¬¶¯¶¯¶ïÓrOË=-§P¨Œ%Æc ca,Œ…ž¢§è)tFgt6šÍ S¦6L­V\­¸Z±u–u–u–­…­…­טkÌ5®QR£¤F‰b¿b¿b¿Íh3ÚŒÿpþáÄŒ|Z€´q9O¡çyÂãË v)fg¥n.<žº¹ÍÁàm.æž\ÌlP½ØP!½êØb;cL ÛëfÛ[ñ˜úJÅc‡—½=|xYÅõþŠa.n-Â\»»…>•“~êT΋¬¢s/²fZjq3-¯Æ¿;cmR…kǯÚeüñ;i9Uî¤éÒlÕui—Ûg»Ü~Nh}sB/ŒÍ8vaìÑ+oqôJŸj=úT[Zôˆ]ZÔHæÛHv°æ›Þk*ö±+û&ªÝfò(C€¾²!€|&mÈg•JzK¥Z·ÿiĺý|„0™èúªüÅ®¯Ò_iG¦¿ºr,³Å•cgòÓµgò[œ êØâÜ“59ØÿM½ƒý+µR7¨ÔJhF•B³/ÓB}™ö´bÁ§7¶NÍØØzÙÛ-—½ÕM¶þ¨›Ì€ÄëÛBñ™X&–‰577PF(#”-Nµ8ÕâÔ•¶WÚ^i›———mŸ'¼ö¼ÚójÏ«žV=­zš¹Ø\l.–xI¼$^ÖXk¬5Ö­[;·vÖ±Ö±Ö±|ða@`ÿÀþýŸjŸjŸj[—´.i]²ã펷;Þz™½Ì^fNËi9­¦¬¦¬¦lt½èzÑõ555ÀƒwÕÝUwW©ãÕñêøv#Ûl7Ò;Ý;Ý;=ófæÍÌ›WÖ\Yse{#÷Fî\Ô.jõkÓkÓk“G¬G¬Gl…ü ùòóØ<6%ÓÉt2m϶gÛ“(E¢„y£o×R޾Ý4»_]+:þêšùž­Ÿùž>ÌVAVÿ¡Ï¸ú‡‡~n^;¶ìçÚ±O™ÂãO™£åÒø£å*…ª×V ¸§švàž†ï} ¾×Å[ƒuñ1ÒL–t…Kéz—.¦\¸éCÿu7ô_Ç/¡Éü’k2«_ëPùƒ§¼ò‡CKÞ–?´¤'^½'ߣU…°­fV¯5sfõq5ªïWÃt€s3ˆ¬ãq/²Nì¤ [b'uó +ìæ›Ø6{Fb[v ÏŽ¡z¬¢ú¢æE$npƒÿ‰ÿÄr±ºX]¬ñßÅÿÝôúÓëO¯oǽ÷v4~ÒøIã'ˆE,b÷¾Øûbï‹ÙMg7ÝtÃà ƒ7 Î2„ ߯oã·y,÷Xî±Ü+Ì+Ì+ìÓÀO? ¼³ýÎö;ÛcvÇìŽÙ­8¢8¢8"ȹ ¯µ«Ö®Z»Z}lõ±ÕGSOSOSÏ3ߟùþÌ÷÷Ëß/¿¼ò¹ò¹òyŽ*G•£RõQõQõñ:íuÚëôç;Ÿï|¾Ø$°I`k˜5Ì–3(gPÎ ß¾3|g´ïݾwûÞׇ\r}Èß¾|•ùÊ|e>©H*’ŠúJúJúJ¶ [†-ƒ´$-IKGÖY½E³é-fÙÀ ø~gÚsf8‘0ñ 5±M¶€} [àzZÑÕõ´r ä³r ÇRù4¥Y!Ú÷Y!Ò0¶ª4Ì*æZ%9­ 9­};+'ùvöí¤œäÛ)§1!§5JXa’ªØJRUf¡6)³Ðs¼âçxYö¬ }Œ9ô1œ Si"ÑŸc?5Ø“šà âñ‚¼Àƒ­´‹'‰D¢{žçpN­IÖ$k’[²[²[òÜwsßÍ}×kF¯½fÈÉÉY¦Y¦Y¦ ABääëäëä+ñ•øJ|ÕíÔíÔí?ÆñÓÍÕÍÕÍ9zäè‘£§dNÉœ’Y-¢ZDµz•^¥WíI¶–ö_ÚiÿK—".E¨ö«ö«öó¡|(úO”Y‹lh²ö „½ÔÆŸ§6€&ê×Ò¥ê× G .5¯P›šƒÇC ê=*=Æ>’slzk®•ÐÚÔžmjÐ^€ÆmÒ„:BˆPI¤/’l‰4Ó–¨Q˜Ò4 ÙRò½l©u©X—ü €EÕÌ(Œ¢70 u¡7s¾Çƒcó=,©¼Ù’úæË¯7_Ú^ ëm¯ÓªjΦUMþ:»^ò×t:½@§óù\ ŸÐÞ€ñ=×Âøž@%@ šß*»¦èwç Þà ëÏú³þ%êu‰ºÕ„VZM˜RcJ)5äååååå_ð/ø¼ñ‰ñ‰ñÉpÃpÃpܘ91sb&nš¸iâ¦Ð™¡3CgÒItdÓÚ´6myyyyyyæÅÌ‹™ŸiŸiŸi댭3¶ÎXû „ B…÷š÷š÷çÑΣGÇuŽë׹׊^+z­x¾ôùÒçK‹’Š’Š’B™P&”)r/r/rÿ |>~õýêûÕ–þ,ýYº|‘|‘|‘¯³¯³¯sÁã‚ÇC¿ ý*ô«F›mn´ùô‰Ó'NŸÐitF'‹“Å]Šºu)*ssææÌÍr¥\)WÒ@Hõ ‚*z ô0@|Ç{Ð8~’ÁOÂPÖC³FëÎf>újËTFBFcòœcÚšù|éÖLuŒÛ!uLþ$ËÉüIç‹ß'œ/nøÔ·fç _úÖjøòü‡÷×ÎÈÛl›·YÝÒ푺å6ÅsÃ6Ed¡ÇÓÈB÷-²åî[xz—÷AY(Q¶´ ‘èÏKâø €?üñNp²7’J»`"‘H$ú·r‚œh%Z‰V’Œ“Œ“Œ 80p á˜á˜á·™ÛÌm¶gŠöæÿÌÿ™{m÷Úîµ/X.X.X²&eMÊšÄ=ãžqÏ:v ìèsÌç˜Ï±#÷ŽÜ;rÏc”Ç(QªU‰ª$6<6<6\]G]G]§kJ×”®)W<®x\1?3?3?c¾a¾a¾ùõE&Qd ‰ø·@ÐW®c‚¾b—0þìã,[‚qVÇca–ŽÇu­”5¨ë¦ˆÔ5›".}ûññ¥oã?}ï?Ïù¢ÿ<ûzªHËþXE*»ÀÖ]ø ò–×èÈ[òf’òf¡ûÜ‚C÷•¯íÚ´|í[—²n]ò×»Lò×óËi$¿àëW<¯D\)#sÞXFVá°‡w…Ãþç]¼ýÏ»–—Ÿq-F´9y*W{ú½sï÷® =ÞŽ¾Ñ”4|£;/áäØy¾Îðºðõá‘ñC†Ì"àÕźW?Ï|—}<³þÅrë_|¼îuâãuKÏ=ªºôœô)=V¯ŠOt½*ý&Gtë7ùP»7+µ±þF³ëµÑÖhmtç}¡Ë:ï X®j°¼"ñš^‘¼ÝaëÉîTÉ*ûC•,~íͯ"U°•T)íCPT:Èmr›Üægò3ù™Þ o…·‚Ç¿ãß9«ÕÎêNU;UíT5¥|Jù”ò¶[Ž-çÔ§¾8õŵ£×Ž^;jñ±øX|SSSšÞiz§é2“Ì$3C†4 ix»àvÁ킚5jÖ¨YÃÅÍÅÍÅ;ÂᎭZ´B©ÔGßt|ÓñMòy‚èƒ>öÚ`f‘ËÌ,¬áO`M¥K^—*]r},Ûçú·Ùy¸ý f^΃šýc~¬Ó?æI~Ÿ³OòGX+waßàA×ù â.Ÿ4Æ]f–Ì’Ö½‚w´îU½¶wÍ굑 ²[Ÿo4qabÓ‰ Í×yóõ £.IAG'®öÝÄÃhsh/ì¦S„ÝD'"Nƒ$• ìãÂlàÀÙ§„üíRP‹D"‘è7SeQV¨"TªÈåòÀöWÚ_i…àød#ÙNp‚šnkº­é6æ6s›¹íöÒí¥ÛKÓCÓCÓCIII©L*“Êš¥7Ko–îîîÆïã÷ñûdÇeÇeÇ555ís ×L¨™P3/ä ùBk?k?k?æ æ æ z‡Þ¡w~M‘ÙÆ¤ÛX7×®›ÛyVh\çY$–|Kb­ƒ„ÖAKÕÏ^2(«’~AV¥òÁn•ËMvÉ šüæmI›7o+Q·«p½­+Ñ{~ͺWæ×t; «îv@çi<¬óœ`¬*L0JW²Ç¥+å›™§òÍ}^‡[û¼î\\¾Kçb¯ÃŠN^‡m„#¶œÌrŒ“Íé86_2ƒq—̨7Ügj½áÌtRÈL§VúŒZõSõ7õS«ööî_µw¥]L¥]Öò6ÖZÞã{ÅMïÃÛ»û†·ÿ<À0î󀲓‡”ŒÖ8Pm¶w·j³+NQÛ*N1ªô;ŒªN³C·wšNÝãÃiA¡ù›‚Âj÷¼‚«Ý+ÛKù¬l¯q=ª¶×㥱8õ¥ÑÕU6Îյ·A¶XËòÖ²a n ÂteŒº2êÓò5êÓó\ëÌs5Îãã<ÆJÌŒ€ki†¢ß“Τ3醆†1º]ŒÎ>QæŽæŽæŽß:¿u~ë¼á oèx¯ã‹–-)ZÂ-æs‹i ZƒÖp>î|Üù8{Ž=ÇžCs4Gs¸Ãîœ:9ur’Ûä6¹Í>•‘ÑÅèbtiÔ½Q÷FÝÉGò‘|, ( ( °Ö³Ö³Ö³'Á*[©l¥²•X†eXÆg¨ÏPŸ¡N«œV9­R5S5S5+ZS´¦hOŸ >Ô“Õ“Õ“m«m«m«Û·mß¶}[þ …¿Â­äVr+›¹4siæRcqÅ5kƒ´AÚ  + ¬0È äÚ_IΓóä<íCûPG, '×%áº-æ·º-ãÍUÖ7Kë³-¤õ _º¾n^+p`óZ«÷Úú°º_”ó ¿(§ŠO§Šß5¯¾ò»æÃ øÇan7eSÝnÆìó¬³Ïò’÷²¼„<Œ=µØžÚèÊžõ¢+}g¾Qô]U…wûª ÷ϲD÷϶Pá¾-”è1Œè!N$•*q`‘H$ús`Á‚E2’‘L’‡ä¡b›b›b›à'ø ~ÐB ­=MŽÜõ¤|ëIõ)Ò^}Ê–$$Ø’èZ@ŸÐ½xE÷ª²•‚ž¤óéIÒ ¤!-ƒK´ ZŠ–|Oa?ßS¶’¹.[)Å¥£ÈqÒ†6¢°Æ³·åÙnË;ß]ÚùFëAªÖ'tÌjÝ×F²ç®<+*ÏŠæ©ü óTiSMšVï Ÿ¼z_°™hö ±‡-ÅØÃôŠkzåÔ’}ìÔ²Áq—Çy==ÃëMa\[S{–éÊžuyÅ>ryÅïöó»™r—Éq="+çz„¿"¬ä¯ Ð ZX¡-íQô›«Ú¨mÿÌÊzÊzÊzÚÏ á„p‚/æ‹ùbI¨$TêyÕóªçUŸº>u}êâC|à?øñI|ŸdÝmÝmÝM‹h-â[ñ­øVªaªaªa¨@)KYÊÂÎp–§ÈSä)E(B˜ªLU¦ª}¾b[][][]Ú–¶¥måòy÷-÷-÷­/|á‹@Ÿ@Ÿ@ë ë ë ®׌kÆeŽ2GOÁSðDUTEU¾€/à Ü—¹/s_Æ]ç®s×Íß›¿7Ož'ä ¹En‘[4›fÓìŸWùÕÈwÂ÷Ô$|¯š$k¥šD7Ðátƒ-E𲥸5“¸5+SÞiz™ò¦ž\{SO›“pÍæ¤î'£î×~]¹;í×ñ¡1o0¤rU ©´,ý‘– –#ȱºIeÏ×Mbë0ëÙ:Æ8ÛVcœõpÍúŽ1ã;ÆL=ÄX$*Ub,‰D®p…+M¢I4‰®¢«è*,ÄB,„f˜íyžé~ºŸîÇiœÆiS˜)Ì昤^d8N†ã,Î⬱•±•±•}naûD#¤+éJº¢ê¡£ctŒÎž5šv¦içºÈ90ÒRõIy!‹^² … Rf?2û-gù‰–³î—äIî—&Ôªê6¡YGN’uô"íG/Zžó–çÂ!:R8Äw§?òÝq­qœ4…?iÊ ëø lF5lF£ ßQ`ùŽÜr<æ–“,"PC5Y€ºd_YØÉWFÊ#Wp Wð^xŠk(Â5òŽô#ï„-ô° èˆã[‘qÏÂàz³…d[ÈÊr#-mùJ–¶ÂDÚ[˜ˆ( ó`þ´y0Ólg:½èB/]¬m–.–ÖÇ ZŸ±Á‡±1 ^2 _†þÈ—ÑM·íÐMG]ø .ñAñ¡ +)øÕô!¿š|D+ò‘^§÷éuÞŸžáýI.‚I.-€‰@FüÞÿÒ@ éH:’ŽÂa°Ç¾˜´!mHšA3h†=j 5…š¶¶¶°Â +tÐAGê‘z¤žýò™={3nánñ}ø>|´Fk´FâGDAÂRa©°Ô>Ѧµ“µ“µ“=0F$"‰uX‡uö –Þ¤7éMôDOô´¶²¶²¶²,·,·,'sÉ\2×>z™2”¡ ]N—ÓåŽóUB‚k¸†kœ‚Sp ûúÉ@2 ´‡÷öÞߢÐÑ F$‚¯ ¬ç+`2*c2Cê01\}áWß– Lµ%Þ˜Kz“èN:pþÂ.ο¤Àr£¤1Iœ'M0•0ȱf-½@µ:Û?­ƒW´# #3†3M‡–¦ƒÀbK‘¨ôH€ŸMÈ(€BøÅ‘H$ý‘د*¨ Â ÌÀ Gpkçw¸c4Fc´}Áß™³·Ê¡š¢)šþg«  ªÀ#ŒŽ{ÎÿR0ÒÐÑêýe1:ƒ¸a.qŒô³`4.àЕ4‰®$åÉW¤³ÿN€[?Õ€6èñ}ñš}ÿG͘ÁÿTž¡ˆÂPýéó› í§zƒc˜¡ØÆ‰Jl°Â B)þÑE3‘H$‰~¤` …Œ¨2¨MŠñ”3GH s„ÜÀ5rUáªö ÖúþFeSB%M¡ù4…©„|¦;ŒŒc‡1f¼`Ìh ?4†6[!‰~?Ìàa&åàBÊÑVhE[Ù{jÀ8;‚Ø–6H#âKÑ"¬ EöGûÇÙà÷Æ6âgâG9¬¥Ÿ@÷ñ \:mÆ¥s„væ·‚–ãVðùô Ÿ=¬øËDköKŠ»¶ ÄTÀÜÄ:é<òñ'_ü¦C3~ýþÕ ­½„öÒÚKîØ „ßÕ\9ö’Û·âŠð¾uö-ýÅe€j%ñ$žÄ“©˜Š)ô>á¤BVÚʼnD"ÑŸ  žBEQÇPŸßL×ð›IS@šB+Äì©¿?Vð°’ÆÄ4¦ÃG‡ !ôB¦‘šd>Á€O¥]D‘èÿAE‚èB<¤ ek™²µd‰%{ðÅx äŸïKA"áA"©ÝM}$Þ̉·ýѾÄþlio÷ϘÀÁD겤Žp ã…SL<¹ÃÄ{8+ºy8{VsžåYÍ3ÇÙÙ3Çs®ª•ç\·¹§[‹æt,éB*.'ö€t½E'0Mˆ†i"ÛËô‘í¥5é1ZS ˆî#÷s¿ÿk~;øÕû—Ô"eH-êL·PgÙqæ+Ùq{Éí[aߢÒÞU?c/ùKã¥}‹ì[gßRûV—v_$ˆD$©„—ÈÅDz×pŒ¸Á^¸(N†$‰DhÙÈF¶£ ´RHá OxB %”ö1½(D! í£ËéÏ~ìÝ ík°÷\tƒÜìS.ýbý?ïUéx8º[ÿmŸ#'HàDWã]ÍXIƪj$;©j¤_b­_BZ Ò‚Þ§9ô~iWß•ÿ}ÙÇgÚÇ|Ú÷š 6دùß÷€”‡;)/ÓÉB±l!;K¶P–Ä4“%éÙäúGÌ4R›™FwÓçtwiWÄŸ˜ýmžƒä8ö¦rÈû—Îñ©ÿù_©¡†.p‹£›±ýX²¯Á~ÙÙ.ûrûP {CûrûÆþ.Å(F±ã³¯ßþ^6GßD+¬Ž5ØnØËl/¿½Ìö‰<í¹³,?û±—Ó¾f=ôÐ;^i?ýÃÁÁ(…ût£"Uf’^“™T†8]/CØýL v?Gé8dÁ€,ÂŒBøA ?ÂŽ1öö.ÓŸ Ç'û…!†34L"0ç%BáGóÈÂÈ…¹ž¯Û<_s®B1çŠ ´E‚à‚ G0“ 2}XLàaB8¡ŒãnžýÝí¡fy¸¢<<áOpÀ! zd9.É\ÿ ÿ¦ûAþCEí©%iÌ;Iš¡7ßСfŠwÇš)±õÅÖ3gð{ÍL4ÔL4}búzpÐcR±éHÌLGãIîŽñ¤^b{¤—”ýN©-û"Ÿ©¨È·°ü K7Ñyt*Á•=wì%WA •cOÙk8Z¤;jÆ 2¸!.È{9&ä!FäCú=Rè÷L0)f‚3Ÿê ™OË(Ë(ÙL vCÐ9† ‚©ÝA½$M˜»’&Ÿ'/žärLú¥Ë1åI¨rˆp–¾΢)üÑÔ1D¥fÀJø:z'}€Ë~œü¼G’}_Ø—|„Q Šk(”sÌÍ`Àþ´?ÀÏö\„ äiIñ¬pg³ïšneßõssÎósfS«0Ñ?u·?Ú® è|˜‘`¨ì(§Ì0€ƒÞPÀÛ±½öãðçËíeû/éäÏ ixGƒh ÂUÄ#Þq"ãÀƒ+íâ‰D"‘èßÄÞ´71‹P„"RT XžåYžmɶd[’PJB ÐD$"‘¬$+ÉJGƒ5™Ètä†]ŽåXN6“Íd3cŸÏäsŠ9å–R‚¦S‹©Åæ±yl{ƒ½ÁÞ`SØ6…iÀ4`Ø×dÿ£·ÑCäâ!»–ø³kµÍ­‚¶ùÌ×­dÊΰ¯eg„¡4NZÚUù_‚Žx/âõ‹ýEÂæ"s‘¹ˆ d ÑÜHTÌ~f?³Ÿ5²FÖÈ&²‰lâÿgQPPZhEEuÖYQ=­ dNZÁÙð÷š³á.¾ÒU.¾|ˆp)íêø³‡VXa%!$„„0þŒ?ãÏæ³ùl>“Çä1y$œ„“p{`É.g—³ËÙ 6ƒÍ`ײkÙµd6™Mfã>àƒ=1éNº“î¤ iBšààãxkIZ’–Ž€Ö>¦×‡ø{®x{ê,ûùì'ûÉ~Ò–´%mc‰íÎìaª}^&” %$‚DÖÂZX û5û5û5ÓéÀtpœ—æ‘ydi@ØØá8ª¥Bê(¿=As4Gs¢&j¢v„ÖvnÁ@?ñœHãL¼wzj¤i:?Ò4]z…±I¯ {ÀN'*vº4‹q•f1ÇÈ9æfã>f# ÙHÂ`\Ã`¶/¡l_É^f™d¯0•ö¦:ÇË÷9ÇŸhøîú‰†'*¾+¢¢ó§çd6ÙCf3óÈ^fuÁVêb€É2Ò€,c[3ÛZ²”™!YJŠd³€`H*2 ’Š’PæŠ$”Ô@Ry0"™Ð#“I& L²ô#‘>` É#¦Ýñ#º“`¸`G5¤YÔ#ÙL9éZ¦Hº–µ1ÍY› §¡‚^Z›¹/­mÜÄÙŒ›F¹9aô˜;‹<_ìôX¨xî±Ð•Êò\©ê†T§º±.ò©ûºÈ¤ë¹G“®«\¥>*W>„ÞçC° ϱ ÉÈC2Ovñ.QòV.Q©±…1©±K×>Ú¸t­*\© ¿jÈʸj°*ùÙV%ë´e]¤_1/¥_IÆ0ßHÆ ~@œGÎ;Ú³ÈÀYI;f°¤t1óYº˜ÙJŽ3[€„7Ž¡¸¡¤ '½$½˜Q’^ì|âÂÎçËÓd¾¼òGIåSzÜë>¥‡q8g4W°]äiCNa5cµ-Yh`Kv^ hâ¼`yrŠßòä§æÂ=Oͪ-Òª-t%†Ð•?}¾HH x“öû瘃˜ÃŽ&Rv´ã89NÎ3Çñîà;¸B WÇe $(†ÅäiMIº2_KºJO2&éI²Ž4"ëPÇQÏÑ+jîa³šaVKß2ÎÒ·ìâÃî@(ö!TºŒÉ—.3 æ™Om~ïÒÔæª1ÒdÕ¾ýÀ÷ jȈÚѰ_¬)‚EìZâÍ®•^exéU"!cˆßã¾'ÁP‘`û¥Rãr‰=v‡ îŽå°8Bôÿ äA†D ÎŽ+m„ÿ–^$‰D¿ŠýŠx P@f’™d&?”ÊÕÞÕÞÕÞ5ì3ì3ìÜÁÒœ4'ÍÉr†œ±O†ÄT`*0HR…T¡ßÓïé÷¬‰5±&{SØ”kÊ5åZ&X&X&°sÙ¹ì\ækækækNàNÐVÕVÕVÕùéüt~ºûºûºûÖZÖZÖZd YB– YÈúE1[ %máÔB’çÔbÛçí¶XràaÇ%œIº;5´´œ Näó«âOüél:›Îfͬ™5;öW¡©ÐThlḻElÉ!9$ÇÒXS­©ÖTmª6U›ªóÐyè<þ÷ýe¿Fäd,‘ãºã¬¯îŸ›õÕ!·7Q‡Üزhö7“Îåf–v}ü‰ÙG½Å[¼µ§¾3×5×5×Õh ´f³‡Ùƒì!{Èæóˆy¤_ª_ª_ªë¦ë¦ë¦wÒ;éì ´ˆ@"8‚^û‘°;±“¬!kÈ<Çsð~Û%²‘èA6J§ÒRéÔºË2nÝe\âj2¹’ÉØ.c;”‡Æ¢o°H`j°ˆ(&J‰b\õü/ì…½°¹™ÜLnn*i*i*IôNôNô–m—m—mWTTtê0Ôa¨_G¿Ž~k'ÖN¬xáç…Ÿ~’KÈ%䜆ÓpZ 4P(ý‹Ç‹ pñnüï&ÒÐ"ÍÀ–¿ÈÀVtG‘%º£G}Iý×i[§WóæÍéÇÓ§ñ0âa„¦­¦­¦­ö'íOÚŸ':NtœØâØâØâøµøkñ×bn7‹›ÅyÍyÍyí‘ä‘ä‘äëåëå륳Yg³Îæ×.¯]^»¨fªfªf½ zôŽ|M¾&_ç~Ëý–ûMf'³“ÙukêÖÔ­)c^ƼŒyù›ò7åo>vøØác›8Mœ&Î î î ®L ÈáwÃï†ßÕåëòuùe Ë–-,u+u+uëÉïÉïÉo±k±k±;Ÿp>á|‚(U”*J5ÝmºÛtwÛx„ñ•ã+ÇW6o8Þp<Ý,Ý,Ý,P(htÕèªÑõ}‡÷Þw°Š²Š²ŠÒ¡7Bo„Ø^l/¶7édÒɤ{€=Àh/%;²ŒÀ‚ÊX¤œ«Ý—r®ÂK¶¯ÂkÚÉ×§<œßkÕá| w ý:a×м7¢žyoüfš”ùÍ\šíµ`i¶Ã©Ãœ…?sÞ?û#ëþYŠO<¢øt¢+6ßî¶rómÕö†+ïȲ?¾£µ†>ÑZ“TWó#©®S‰þ N%ó/y|šÉÁL'ÜÁlñƒÄ/‹àØlÕP}oÕpK3ˆrK«Y+­ªY[êÜ:®Ô¹ÑSÓè9Yå²}²j ë=†-{!¾[öâxeÖÀã•/cÊÆ¼Œqrѵvr9ØÚsßÁVƒn|_ƒn²´“ìÄj2)r5‰ q=*,ŠhÕ(ŠdªzJ2¯Át Þ—Wvx_N ñRZ¸2Ï{Îʼ1ë^L³.t´íÙÐÑV+4c¬VìZþÕk×òIJ­Ä²/!µ¾„ܵÿQ|×~úV÷¢é[EHf"B’r?^HzŸW©õ>Oo ï¹Þ”Œï 2¾[šjž°4î r!J l™Y|p÷دֻǶ|P¶| ‰B*pT™£Ã¨²\‡Þ#¸ÔX"ƒû¢¦tþ‹š³¯¿¥}Ý|Z¹¯ù´V§Q+"úßÒèÎSõŠœ§6…*¶5…ž[ò>·$«¶Á=«–ó’|Åy9³ Ó˜™ë,¬cÞ³™7‹ú$R‹úHU $Žƒrlz Ê™³ÉmàœMdGäAvK*”* B¥L®Ôá”mVå)Û ƒœOL¤ `±*@R¨z%)<ÿ)×õü§5Ý»4¬éþ~Jå¥÷SNØe-?a—3¸É;g°ßt“R¿éˆy]X6ÌÊLÓËÊLŽ;9ÂO1?պȩuqeäÇà•‘¹Ç›8¹Ç›O)7Ÿê¾ÖÔ¸ûÚ9%nQsJ¬^kεzýÓ°åüOÃÃz™ñ‡õ>TüP`—©MÛe®]ÒÅcí ×aô·†sÔš ”nU]–nr•`7y^°;}@½ }À‰EÙ½O,ú¸ªºèãª`[›NÁ¶y]yš1œ=š1Y«ze­Nªé’4{½[Ùìõ²ÅÌTÙâÜ‹r/~^\cüyñìîcg/häÈ»6rH@ÓÿË3N¶}¿s€P Y8ƒÛÄã.Õœ!LÐÌ`•x/kˆœ‘ „r(ƒrà‚j(‡*h…fhh1–a.g;w+ׂÐ$B <^㘠Â?øP¯¨¦¦¦ö¯A R_ˆ/ı…ØBl!§å´œÞòtËÓ-Oë[ê[ê[®~»úíê7__ßÊÕ‡+×05L S¢(Q”(œÆ;w¯»Hw‘/5^jðÞòÞòÞK–8,±%¬%¬%¬ÂµÂµÂµõlëÙÖ³ª&U“ªió¡Í‡6bËØ2¶Œ ‚ $ ’I‚ÊAå r@ ¤@ŠßÞ”‡VB Z©¼É$*oFÛ¾d˜·é’!^¥x58A58ýê¢üßua]XÍÍÍ”øñâ;ðZy­¼Ö¡{‡îºW”)ÊeÞw¹ïrßÅù‘ó#çGÍÍÍ&Ú&Ú&Ús¤s¤s¤´‚VÐ Eª"U‘ú—Ž˜ÌØj°a«¹!¤ˆég?Òïø°ì3LJ S€ö;Ü€ÿ05ŽÚÿ8â@î î î ———.c»Œí26Œ £Â¨ª#UGªŽ$]Lº˜tñéɧ'ŸžÜ`½ÁzƒµM¹M¹M¹ê’ê’êRLMLMLM£££?5’I,///Þ_¼¿x¿ë.×]®»lõlõlõ°K±4;/;/;Ï9 Tp¤àHÁ‘o~¼ùñ¦¶ ¶ ¶ Ø½Ø½Ø½¾ ¾ ¾ ï~Þý¼ûÂîÂîÂî£&š´ô>s7gΙ»[wù ÛºËÓÆŒãiÓsÃ5ÿž~¾nþúóµÇ*ËÕ«®[fU]·L:_³(éüÈ–7"_ú—¾ô?Ü’qàp‹çÏ;Ãb„·ÅøÊ¶Åø®3ö]7ÏáMä<‡k/ ¬®½˜´ÚeѤÕ0† ®0DnD_Ý^‘/¸½bZ¶kü´lú»“>"“ÑÏe²Ø›…ãboÎ×òØ:_ëêÕü‰W¯.žæ5}ñ´®­ »n¼u4kí­£—ïæ×]¾»tCç!K7š¨€ÐTéâÞ*]**á•IÉüW&§÷öÕ:½·ÛNóWÝv.ˆOè¾ þôל†Ó_×u=¾>èªòªï¾æ…½û+8óXiêÐÒÛ©CcÌrWǘm¹ØíÛ–‹ÏL‡Þ~f:Ðæ¡í@› {«ê û†‡²û ©µH@­ÅQàˆ£P.€r•ç˜wÊs«#}üVG:{›ÊeŒ2Æ2¤ )³Ñf£ÍF+j5ŠšÛûo�_Cª!ÕrŸqŸqŸi_Ô¾¨}Ñø©ñSã§¥a¥a¥aÜ+Ü+Ü+=Ïö<Ûólú¬ôYé³LLLœœœ’““ {ö.ì-N§‹Ó­’¬’¬’ò?äÈÿP=·znõ\‡Ó§NkÅjÅjÅ ?ñ{â÷ÄÏá¹Ãs‡çœnœnœnmás3¹™ÜÌ&£&£&£Ã8<€Ž¢£è(‰ŽDG¢#,,,Ø"Ø"Ø–––ÿdÛ“mO¶}.ø\ð¹`5ŒFq|8>ŸÐé¡ÓC§›P&” ¥T*Ñ`4 n{ü×â/¨ Rö{›}§ªfùªjá ½Õ¬þVó¦eáÝ›–ÅCÄЇð:¥†ó:Õñdêxµ9ònµ9ïM«ö½7]¿¬ë®õ˲;d78Ë.58êãØ8ª·‡0”Û#Ö¯hy¬_ÿ+—þºŸµœt?Wd4ž¬ÈXÓÅ}a̸È'Õã"?ÕTë}ªq`(rÐ+ÙBÖ+™aw†áù><ŸÐ[mh«ß2VoŸ§· yŒ"¹yŒx¾ÊL<ßu²þ ×Éw¦~º3uïêû=÷®. kq/ óëhÚݯ#ù@îÌøË-jŸ·\˜dm˜Ô(•°Ò~Ë-w÷[¾iWÊÑM»zl0ã÷Øð}‹hÃ÷-Ì6¼‰Ù&¿Ãt’ßi$ºÑ4èÝ’ªÓï–DNµ{95åMÙú”7e‹Z»”-ZJyZJ‰¢[‹¢?fÕü˜µ[響[iªõÔ:”³…ðäl o×6~_ezÙ¾JèÉ·Tù–y9ÌC£ÞÂ…F½p:€ó;½Zçw3cÝbgÆ>,šð Ðc«Á­ý‚¬ž÷ ²_¡c¿nâSpÓhŽPj4‡–àÉtû‚RòwÌsù»AK¬%ƒ–h<ÔˆÕxØdaØôÞ£òè{7Y3ßdÌãÛÌ3Èå›äÊß(;ÉßÌus¿?×-šùr!š O´»ž¨ šÙÚ€6CÚ #Ð2Ançd‘ÛѬ;>ú3\ÇptHÁ 21«jVbÖÍž…7{–çKjÊó¹·R_ro5,G6,ø9¯Åúç¼È­öÚ‘[]ïèÿt½ÓbªìÜbа-nà½âNä½2-6š–µRòq­ÔþƱû‡V?¾9´:EQ”¢¸´cµq;‡=»Á`| Œ@ é´&ß\×ò´eq ÃiH„moE@[£¨­Ó¹mrõÀg555µÿ£Ð^´íe¸ —á ž ž žõŽïß;Þ?Â?Â?¢·Ko—Þ.â#â#â#IÓ†' Ïœ—9/sÞûþïû¿ïß6Uφgó‘‘‘i›a§geÏÊž•EVEVEV%›J6•l2ð4ð4ðtmеA×vØy`gsç<Îq49šM<ÏÀ3Àlá÷Ó#q.Ô õ(-Bx*ÎÄS †À”ê$êïÓ6ܽío)o)o©ÂOá§ðãúr}¹¾pnÂM¸wà‡ÏásøÊƒÊƒÊƒ†G íK÷¥ûÒvíÚD д2!2Ûç‹þsRP€œ>Ø#}ÜWâ~Д å¯.amw¾B ²[Ø-ì¾߃ïÁÝÄÝÄÝ„ŠP*b|_ÆOÀðïPïPïPí#ÚG´¦¦¦ô´èiÑÓ‚???­¢[E·Šn¹½s{çöþÜü¹ùsóÇ)§|œÒ ß ß /$‰ùlóÙæ³¿$|Iø’ sGçŽÎw¡»Ð]øm÷ ß60ÉL2“leeE·Ò­tkXjXjXjufufuæÛÖ·­o[9¥œRNi[øÌ]æ.sWëŠÖ­+ƒŽ :6èØÐ C/ ½ÐǨQ£è#úˆÈäò€j¢j¢jb¯~½úõê‡×ãõx½ý6ûmöÛ† C…á÷Îß;ï\ö¡ìCÙò ù†|[` li/%  @² ²Ö % Â=`vwÎRíîPÎPç?Øì®ÿà“®}6´k‡â¡]Õ¾oXT‹/ac|)Ö¤ès¬ÉÍéøÀæÉ£\¹“G¹êYºJGÓ»¥£±žˆ-äÛ˜uòm̼•9€J8M¨Dd«ÐÙ¢)pMi¯žil76 rðNÈQñ˜*^Ûãx3Þ€7ãø#^ a%,MãG4VB´’7‹êÉ›@­`îâfæ.šˆÜÐDèàÍÒ€µñ~¬ €ðž“yϱ9¼ÁæªpÖV0"¸ãÈÜqü>¼.ü>¤>Dê«Ä¬@%Æ4ìÇ4ôÀS0‹§@^ ô6ú½ }oè‹N:/T']c9e®±Ï…x®BÊ)¤3ÍfÎ7u/œoÚVO–?ðrYþàZÆëk|ÍÁüZiÝB3 ø6“€H´‘Œ![ÀÒyìa:Ó°Ó(½C‘ÒBe®´Pv…ž%»âl çèl0gœûƒ9ã%z %νà:÷ÂMÅ@ӛЀQf?FIµè÷R-ª½¤Ê‰]豋¾ÂÚÐWdG˜Í²#dbÈ©BõTª˜òüõØ)ÏëFÉœëFíÖô_¼[Ó»“ÁïNõ³¥9õ³ ';7²ÃÁƒ?G€;‰;“;‰Ñd72š¬=¾ÁÚ€n€VÜðwŸ•þ¸ÀE…¨Õ0Ch7ÚÀô§©ÄÔÝ3¹ó /Ÿß÷î1þœ€Tÿ‚ž= ÖôÈî±Ó7Ú7ϯ¾‹g×]+}¾úˆº,ñQy/÷iò9ê³¹‹„C¹QÆØwþ` &`ÚöVDûdóPù 1´¶Op¯NƒÕÔÔÔþ/i»ÄÙzCov,;–«MiSÚ”çsÏçžÏ¼œ¼œ¼4Ì5Ì5ÌëîÕÝ«»§ÐQè(tfì™±gÆžEì"vk{ÇöŽí¤¥IK“–ڻٻٻ}ÜðqÃÇ ÙG³fU>P>P>Ð÷×÷×÷ç&r¹‰LO¦'Ó Ð=tÝkhlhlh¬#ëÈ:’È$2‰L¸ —áòïâ$Ò ÒP"ÌB‰|Dõå#˜ ±0À~uQþ/ñ >Á'Õ@Õ@Õ@ó®æ]Í»~ºöéÚ§kّّّ/Ë_–¿,oÙØ²±e£î4ÝiºÓ”+”+”+L”&J¥ËL—™.3-À,_Ç×ñu\ëqýÌ È4‘1\ ^¢åÄK^5u—W “P°C}~uqü k›9*‚ ¨m¾÷’Ê’Ê’Ê‚œ‚œ‚œÄ‰7¦¦¦›?0`þÀFÓFÓFsÜÊq+Ç­ô5ð5ð5x;òíÈ·#%K%K%K+*****ƾûrìË¡ B„öÎíÛ;7uhêÐÔ¡ªtUº*Ýí²Ûe·ËÕªT°µ±µ±µ±×¶×¶×7ŠÅ-:[t¾¾¾n›š‹à<‚Ú9´shç"\„‹0öÁ>ا=þ8ˆƒ86›Íf³Ûæ¬AM¨ 5)eJ™RF/£—ÑËP*@mtÆ„1!¶Ûˆmm§R ©…õ6õ6õ6¹sæ$ÃÉp2Àð€ßRÀ¤`\ñ+Æ5`—ù­€]g+¾}>[á‘fØË#Íg¥Q©ÏÊ‚9Måsˆ…ˆ!Û·Þ)¶î F w,óïÌYæóôÛ˜§;E_lwŠºV „®ëë>ǯ¯‹;X¼*î pg’p·…Ôæ¶€ÕÁjT€=x8a¼ T51‰ªæPö|Båº09 Áeª›à2¹í!··/wtçÁ=íë¼uÚ׫HßWIQÔÆ¤(:fètÌ`Rñ4&•˜G¤óä+ÙÛò••‘õÅ•‘}84úðB()/„ P A@ C ù'_R锕nl#Xml³þQ—ùëjñçje/o˜œ½ÃƯ”¼>rq\^îÅqMûMû¾³ÖøÎ3Ë`’gÖ÷µÍQß×¶Õ“Ÿá-µ?à 2ù™Ú'9´Oç>Ý<œ{j{NŸSÛ!‘{).qšâÏPñ }ƒ èüÄ)ð“=D d¹z]ˆ°FÛ~a9Úgr´©ÄxjAy²Ø§<™ø„ŸŒÂp¸‡X]67«Q#7ëzFÕõŒa!O‹†…ðûR{ù}søµ9ü’ï-ŸK¾;ê;¶îQâÖ=ºõ|3ÝúÒË’šÒËŠ/’NŠ/tÖ9<Ò8Åé¯qê~~Žô~þÓ쟚O³¶fTlÕNâÒNÀϘ"èLÕ6 VÛÂi` ¶¬=Û‘íØö¤|”|¼—b´}]}]}]âq„8b`` Ü$Ü$ÜDŸ£ÏÑçÐ44 Mû·1b¼p18£bã),Ö° 8ÎþzžÎþæ|޹£ß2Úh LúSŸÚ³z¨‡zî#î#>5}jú”Û”Û”Ûø }…¾Bù<ù<ù¼¶e455K^—¼.yÿ.ÿ]þ;¢š¨&ª}‡ð6ó6ó6 †$&1‰­£¬£¬£ÈäFr£@W +Ð5Ê0Ê0ÊèÖ!­Cq‡¸CÜ1Ÿl>Ù|rÛ@e­^Z½´ziíÕÚ«µW˜)Ìf:r9ŽÍ@Í@Í@Aµ ZPm·Ón§ÝN]Z—Ö¥ºu1ê",– KùƒùƒùƒÂÂÂu¼u¼u¼fÍ0šŒ‘12V„*B¡IõIõIõõÛë·×o‡ópÎûgøgøgp»s»s»·-ëÕ6ƒ´ñtãéÆÓu¯é^Ó½¦Z¬Z¬ZìuÒë¤×ÉŽ>}:ú(ã•ñÊxb#±‘ØË`,k+Hô%£‡ìH8ÇŽt5ÑëïjòqZµÛÇi&™&Ã’lë‡%}°«úñÁîÆÏï.7~ºM18î6¥óCaç–´VZvð 35ó û±¹eÍÍé“ëg¥Ovë qbójðÃû|GÃûÎ[ô¦;oÑ×çæéë³:ØÕ!Lð#ÂÄüªo~Õi‰®§Ó·'ݘ­Ðˆ1[ÁŒÆ÷˜ÑvË´9vËlü´:Ùø‘IJ‘†­ÙiVΚ[­œ=×&x® xc& xóýzó®ïׯ‘û¯‘zšåzƒlò'‚©TA°i€†™i€Ý íŽvƒÌM„\söd?‘h蔤›ç”dúI£ÔôLJ<Ìñ ¶¼l6@#ÒlÀÇ·Õ^ßÊcégòعãܯÌqÉ~PÄ%Ywº^ÖõE¨/ûk²;Éõ§t’»öÐïêÚ#½ªÞ3½ªðh˫£þSM'ùO î`“ÜÁʆß`ecQ£)±¨qMÕ7wMuÝ­¿Ôu·é~•éåör‹æNê›æN‡ºCV8…ë:…ûÚšfûÚfõjXœÕ«²Nº¶².w~#7wþÀcÖŠÇìâ5‹íâ­k:[ï0Z»¾ÃèDnÕãD®pµI8jÎ÷wshepßkeèGóKõ£ó¨¦éyÔ{q¥Õ{ñhp\5Íè0hŽ˜pd„ï!#³4a¹Yšë}ýo®÷ƒ¬-ìnj)ú¹éÉçâÙO>«tÙO*ÝÑþN‚Ñþnû nû;yíäÒ¹Ö4¥óõäïÝ®'»Ðá: «µ±¬«53 g2£¶NKÕÜ:ÍÎS{ˆç A‡ÓƒfOÌ6Ú Ðîm7€üNl$¿³±+»±Ã4íë¦ÙUiÛUyÒF³<éŠñ‚Šˆ³­ß†žmÕ{Ç Ô{¸ÂrZà r5ò&Wsw¾ÜÖ]µR­» 2©g‚̤5I^)7{}dš›kßinö‘Úö‘‚ôU‚’o×L¾}ûcáäÛ{<1ŸÝã‰Ï+£ZŸWZ‡9Ï´[wÔêdÝQwïŽî„ËÅùg/×m” ê6[„f]6p˜i©à®i)ƒß11H sÑ_ïSePÖ¶8¢ÄIâ$qºy;óvæ óæ3Ìe)CÜtnWÖ˜Û 7K• ú.k]]\G)½”VJ ±¼u|ëtÝ­z=kE˜|®â8q‘xA4S¨“Ô©&hÜØWh.LÁR˜> ú`öŽjH—×Rï)O£H'ã†ÜoU Rõ=Àjjjjÿ„ !b!R[©­ÔV§ãNÇŽ· |%¶[ˆ-Ì4f3M³X³X³XG[G[G[ùCùCù²!²µçjÏÕž«W¤W¤W$÷—ûËý;wíܵs×®G»íz”èAô z´ ¶7‰›ÄMÁƒ/_¤j¨ªj¡jÁŒÁX.–‹åbÅhÅhÅè¶x~—U Ù…8Š]ÈÕ$s5·XŒÜ"NseÉd´–HÆùxÎÿÕú?žhº€.  LÅDyò<äy¨ËÀ.» l[ØFÞWÞWÞW¢Q„hykykyë®Ó]§»NU¦*S••D%Q‰YÌâ¿q¹=€`ô@UÀ^S¿Ò8jüÊâ‚fƒÅi Ý_CìC?ˆ}!wVû§k»„¡:¨:¨:hJ›Ò¦ôôsÓÏM?‡8ˆƒ8Ìæ óDÎÊY9 …P…l4ÍFÓat†Ž #èˆëe×Ë®—™y̆nüI†nKY¯%KYâ5~ÎvÅÏ[ì/Zì:&ê ï˜ÃÁ†Ë:Ð}d¨«Ä.ꪬŒ’•u³0yÒÍ‚ögkiÿÚ 4äNtªÜ VàͰ"p‹EUà¹!sZnˆûãLÜŸ^„ßÓ‹‚Î[æ—eÓËeÙv³µëíf¯ ìr`U µÒž8ÙʳUI°÷”„ê“¥ºähYä(›Jk˦ÂaÈ„ÃÜ r·"ÐØbT ±ì<­!;Ëa+,o)Vè¶{»½övõWY\òW@0€R¦ SÊdh$ëç Î0ðÐnÔí–i?‰°c¬^zÇØ _mx H Á†@†1F Ôj©zÚjÙk¨yß^CU[XZµ¥Ã+íܯd“陲Éè EGŒª4zU™n2;(¡JcÒû×oKïŸv¹>$ír§éú›:MNá¬Náº&\ôÂÑù3†”? ˆ4;Ù§Éz~Ÿ&<‡âbÅ`±‹øƒŠˆÛÏŽGÙut‰²ƒHrD*Ó;”é2KÕ,™%¡‡Žz2.=NÆõ[húÖo¡ê1óUõûÃqì¿(¼³Ã¢pp¤^‚#¸ájpc~ª3?[ϪfµžÕÒåŒ×Ò]¹½ËÕÛW=¡º¬zÂìSf2û¤žª©'{û±ç÷, 8¿g™õdÍëÉòòµò}ßYjö}§¬aç+kÚïüŽÓç¬ÅÃ>g凘µòCx¾ˆçLŒvÉ™=å§hÊ<‹^ŠgIÎ+ÞKÎ3ž˜a<áÈáœa´Ù‡ÐèÇ Ñè7ÈÚ&~µK’ÞI—$2qÈlùZF)_ë`èÐk•{¯äTÖPÕIJéìH6]nÊô•›ª±óT‡‚Y :4h”½Õ Q°™¥a3Ô0 P£hd§+e=èY²/ºFöűpì×¹ ÿfá=‹ž¢§kǬ›²nV¯=ïöLz‚Í„…ËÆ4/#–é.ïÞ¥µË0Ÿ” qãÆÇ6uum^ Xø¶²Õ6߆Cq(|‚Ýp´À<·8¸ššššÚÿmy†hAÑ‹éÅôbÕvÕvÕvº/Ý—îÛv¯"I‘¤H"‰ƒí÷âfC6dãUx^¥P ¥(…¢Pxoà f0ƒ¨€ ¨hënumumuÅ'ñI|6ÂFØññD2‘L$Ëld62‹cq,Xƒ5XCäA!!$„„0!L“öUè‡Á0öoñ`ÐèÁC(‚‡ò8å^yi‹H[¨‚îPõ»íÕþ’¶;?½À ¼ÚîàUÎVÎVÎÆúXë·‹»Ä]â.JA)(…J¥‡â»ø.¾K¬"V«ÚÒ›¿«´;¡˜C/ÕR|OµTö–È{"ö0bpfÄê£öσàø‡ÊKå¥ò¢´€°ö¬=kO¿¢_ѯTv*;•]Û â¶TS\*.—‚Ä F•¨Uû‰ýÄþöµ‚]À\rBNØ;cge“²IÙ„’Q2Jn[^‹ð%| ß¶éµða|V( Äyâ{ÐûÖÚ¡5DtMV,ºÎà ÎÄ+ô„xEöFr²7Œ„'0d@ƒ ,À,À´ÁVŽÅúdWb4Ù•´@/I `ÁX(”¶,S9¶,C  -€bˆ€béZÅ;éZv(ÍE]P4êBÔÃa¢ž\O¸’ëéJ¼’®”² S)ËaW6ˆ¸‰4ˆ›d ±‰,A<èxQÇì⢎)Kž²´ÕX®Ùj Að‚ˆRô(m?¾® ®¢U¨€¼Š0y…ùøhÃåˆÌ\È !òQ2‘O.Fväbô@  äФ\€G*´Ê/¶zKõ—yK»mè(ŠW8Šâaü„-•ªn-•ÌW©óŸÅ ðYâ(j&Ž¢4 Ũð@Nð9‰ŒUçEÆÌNÉuf'Âh!¨;,C݉µÈ—XK¸#áÎÔ‚Sû7ÎóŸþý§­ez zÐú@P Z»92s0o›ø’'â5ðÆŒí?¶ÿò)+>­HJvNî–<çǪŸ{òtü´çhGÒ4|Ðñ ñS±ˆ8Nœ#ÖC>lü£@PßuÁ‡†ktì0/çCÅåE›<Ÿ,?/Ø=Úå†ÇRé%ÉKñwt@'~õé]MMMMíocÞ3ï™÷z«ôVé­ò_â¿ÄÉ“aO†=¦o o o‰‰Ðz@_©ššÚü Ãß+rE®ßO}?õýÔ'Î'Î'΄)¦L˜ÒÖ;J®$W’+u¤jjjÿÂ~Óilhlhl;$vHìÇý÷Üßx¹ñ|ãÍ5š4?~¯(è^°ïû·2¿s81:ò©ÄMb'1f  ëRýRv¤l™:riT´ë—å{ê(s,äè ϲiòÛ2•LÒˆçäâ}Í»Nl›^”ÁÛÆïz#Ä=ÿÞ¯›ê(hë-P‚ ”íW‹Õ‹Õ«©©©ýï• ÉŒQ"J”÷–÷–÷Þøiã§Ÿô;êwÔïÈìaö0{ÚûcÕÔÔþOÀÁ8sÇpÇpÇ”ç•ç•çýÿþ#¼¬¼¬¼¬\rPrPr°í~Ý_©šÚIÛ¤_& &Ø_Ķø9¬ÄÏaXà ðCðB!h/ ASÀMZAmû äjÿs”B)”’ËÉåäòÆüÆüÆ|y²#7b!±ïcœS?Ñžß¶…&~uIöŽ{ŽxIIDAT¨©©©©ýw"4 BC~V~V~v黥êu„:Lg¦3Ó¹íþ·_£ššÚ'”²Q¶r‘r‘r‘ùó5ækúfôÍè›!y%y%yE,#–Ë~uŒjjÿ  Ú†Ž£T…R CTL©è‘JœA÷ˆ3hØ¡amÛ¨Sßÿ¡ÀÚZ#m-“¶VJ[‹…Ð „xÀÃO\ÐýÓB‰Ø;áä`r Ù«Õ»e}Ë>«÷V–£¨jÕ_«¸¯xOÑctGàB| òˆj¨1È@ rÿvŠŸ nÏÅ ‚zA0Ð õPÕþ[MMMMí<ⱟØ%++O8&pLo"H#Ò¡Š¡>Àøð«cTSSû'›óaþïY Kaé¯KMMí_^[kd/ì…½¬ëÅvn¹Ýr­å"1‹˜BLd៸×yRÑ8³¡¦ÞBj!É’ÌШ&³p6’ÊñçtáŒg˜TšáÕðZy/©[Ôªˆ9Àè0žÆ®Æç ¸]òÈh+*†°p»-„?%À @2B(Ì€Õ¸?µ˜6šíE\CY¨ª}€ô_ŸÆ‘h†V£ShÚÎàö ÈR°VSSSûgÂÖØ{C|‚œÆÁxžŠçB_è }!^þÂX4 p#Pà®p ìp^ÞÐ Ì@P©Ç%ýSñ ÙP<”‚&ÀOäûá+$C@P/.¥¦¦¦¦öϤ ›`+ìEQ0Š ¨OT“pŽb¡|Ž|“I‚I‘éf‹:«YV~Ï.=ÝõøV§Gî·†‡áÙì&н‹ <‘]ªÜ©z­Êb´˜$ú)ÅýÁSš*½ }TãX3¦6ÜE¡=‰,åýüWƒ:£öuìÿ”+A2p‡.Г-e?°c©¾d i¢¯yYszG|'v(ะ3bƒÜÁÖd«èÄ^B6s)Cb+cŠá&rÏPŠ+Ô7Ýü·Ó!hÀ| `7Û¶MJ4»áÝæ{„7KUÑìZŽZ  žþê@ÕÔÔÔÔþ%•A%T¡ë(v²VìCl ºÚ¢Ù²†¸Xb/·’;˜{†‚ôH@h8‹·Ã"ì2L Ãè8ÄJ¥E/z=ŒnE@ж@=4À0Ðü§é?ÿ”ÇÀEˆ!óˆ"¶¦gí¡šƒùa?ŠlæÚö·;ayIJÈÒ†íÃvaMÐx„JØ=xÞSñö 9˜KÎc¦²ÑŒ­¦³æ\­¨g—Ÿp— ÷Ð g˜7s7ÛªôPÍP®FûaÚý«KWMMMMí×`àwØK“8sÆ¥›/¯ÿPš¡¤Œç¹?êf".û©('"‰®Èþ¯Üj£ö_€âÕ°•{šSN}­üZëÕt¯öä¿‚çûu59Óœ$õ¤óÈxâR_zPSSSSûðXŽ—sïq¶qWV¾¯úP¥).é!Mì,²¸E»å{ËU—ìHtbÏ31l ꌼ‘7ZE¬DÇ`î½P Ñ™[ñ¦üVYúÇwg$væiRPB\%…d ¶Æç!þß`싽°OÊÉš ašVÚ†qySœfš˜}6{ˆÓЦ@4Âkh†n‘ðnƒ9$‚n²ÚÌc¦…P’<ò˜þqƒù]µ'hÝþ4M±Zx*û)ük!¼Ð­_]¼jjjjj¿û×ãxíZá[î.ƒÕÑL´êí¢£mzÓø”Ѥfq’l:iIì@סš@þ‹Ãm…hÁ¡ìX‚{"ŒøH¯íI¬Ä͸ŠHFD=K³µÌ7b+q8^à]A ü˜ù‚ŽÇ½ ž·™7–cƒF"[¢Sãå­Å¦Å\Ë»|¥˜§#—^Ä™_­ššššÚ¿¦‘ ›¹É¼H^†²­¡ªçîã7KüMÆš2aÄ5Ò1Š n‘RÖV€7Œ†ùPK@õÍpÁ>»Yv;ƒJïJóªYgâ't"HÒF`/Üæ@<äý©ø¼…7h+zŒr[ªZ#[ëŒÝŒ[ŒO*–+ú(ºa.&°ŒMf_±¯xN†ÏÐ,¡7hƒ6èƒ>è>€ú;ZMMMMíùS¶¨: ‡:Z@ ߀“ A¦' „EÂÖ§ÛžÔ=©ÿ©*r*r¿”~Éä’ÇITe©Îª.;ˆGÄkf3¨˜ïðçÃ<ЀzéŸn¯úóu€I–}Â.Æã™SìVf-jFˆ'ÕšÉ\ZxoÁPÌg£W=\å¾ÊR1A¥ÇL`Æ0!ð j°v;èÝa` €­ßü¨©©©©ýkjKY@Ô ÌØhüv2s™X—²cñwŒp-ûŠ¡$¿6X6‹5`/ó; .‘sÊæ–…•.Ô¬sXWÜölÙ‹²¤ÒxOKo«®ŠrúüÌí °]bÿ™XBî£Dl Û›5#0“_\æ€ð; SH%Û„?°çØõ8¼¡ š€)A 4A @ý­¦¦¦¦ö‹´å‰|àÌÁ¬àža°bŠñ`œoµŠÒUWZµwºùtévÓFM›3míá]‡"å4pt¨ÍÌ|f?³H€mÐÄ ÍÀpþ})ßß÷S€€€F`AÅòñm¶†îNWy ¶¢ó_f¿ÌéqmÇõ×Åhž ލ¢=Q;·!¨Þ¹Îœ‘$—=ÅHèìƒEìAðèÏ! u‰ª©©©©ý‘ EP‡.Âg.Òþì!¹P@¿OT¼¢1AQTCë¯ “]κ²þÄ9Ùk¥'–Ó ¤u˜çø@Û³œœi¼=ÙÅžw’¯§˜¬êŰx3GïÃçðvvèCÓ¯.n a ü~à§ø‚ñ/.m H@˜#q"sƒ¹€0"6 k–`Fp” R'Àjjjjjÿ#4@ 4@ =ñEV稺(W(je«e“d‡5fi¬ÖXõ­OŽGö³»Î*Ï­9¹Úiµ¼Ï¡>ÑÏ›µšÙæ¨7òGÉŒ‚yÉô‚j¸Ï  ø>``ÿ|ôo“`-Pà×l:ëÀƳÙù 4J륔”\}uUëªÅ­cZ>·Þ8~"þ䂦]6œƒ („/ŒãÅtŰx‚'¨` |†Ê_}—ššššÚÿ "h1ôDýP¼wÃJæ*sŠ1˜Ö›7‘ˆ¡êW'Àx$‚GËçÈɧÛô²Øñï ÿ•ƶg;4Úÿì¨->%Ù)éà¸ÇÅÑ£âéO`î08bCܸÀûåÉe[l…@G†%W±‹YÌN`Çn¨<8ƒâG¨¦¦¦¦¦ÖF J.è€#¾ pSÌ… Ùï¬^ ÚB_a”×ét,éIü ¶ã\(ƒæ_-²‡(QÐÎòHÝŽ&¯ØZæ½¼íYÝ;†”éxi'és©“áBÓV‹‹tjJ@Kسôx8!0à_= 4â þŽ¥øš‰6 ±L5{ƒM Šq2ž‡¿b–ƒMq¾‰•¸á—§ëjjjjjÿšÐµ¸çà/°Gâaà„uÁš¹Ãl¥71–´+m*{EÑS†Oq›Ì79e|ɘ۴£ñcc6Ó—íÅö#v#7Ô™øA¨%zCí„£p1P`*L ÛÞêO ðx˜“°>~ƒOö1ú`äü}mAV¾½Å 7s_•¯5b°?Ã?q1¾ŠoÉÄsâIÇ£NŒ­®|¤üÎLef1;……ŽÂAœª†#ç–sù}ùõ|ßFgÐz4]CO~u骩©©©ýÌivÎâ­çæ½àTrgq&rt9¨^ÂÁ)ÁC¶3‹à¡K$¡}` 5 þÅáÊAR(ðÃ3°>Ö†§œXÞƒög‡â`¼“ßsUc*Þ‹O±ç¸2ê ßÙÀfØ JPüòeœÚ˜ ›áq0ŠÛ‡»Ÿz‚÷3ç•»¨7ªwTWþJ¾· ‘ÞAd“úDoø«ÃUSSSSûW„#ñüŽ÷÷WÊ5àEòQ.Ônª³Æ;q²#RæS‹¨½Ô1ƒ)Œ­ì¦<¨¼Î걃Ø!H„ž¡ŸÈCrGùùËÒű%b£@£x㎹ªyS3šˆ&ÃT³a[{Œ¾¢L”Á| Ó+½·xw÷füˆ(ÌÎÌÉœšŽLãM/™U3JFÂLE$j†Sø!¾o ¢q2’ jÅnÁ|þ^,_ZVSV^v¼°1“¬"דQôbUz lG °õW¯ššššÚ¯ÁÆâ5pHs=/— ­ZQåÖÌû)©h¼£˜Á £²Q1t5œ‚(¬ýêxÿÍkð²Àzµ?¶¦ýO \ƒ‘0nÀ.(ÿÕÿ™°ü¨Õ¤7QUÿC4Q2Ä0ŽøÔhö}c¾m^UËŸÉ#¯±0üWª¦¦¦¦ö/i î멽œ8jM½~}úÛeå*â^ ã7Ç/Qè(NÈ·£"”Œ<ð|<'ÃZX‹Ö¢“è$ Ç,©ä+ò YSýª:¦êƒ&_ó™V¸÷@ï oÕ븜EqË¡d¢ X'PßuÁ‡ Üõæ½û|yá¦^OT1[vYY”uXa$sXƹtk¬O`.ˆ€ÅPP4Рú]ÐþàX„ëqטۉ7@ æ›ðž A  ¸ šAB¨‡W©©©©ýË: EàE Øseߨ#Üé ²Qd b8…0ÈCp•LìÅ3À¶ E …îzÀÞ¯ôÿ`  Æ@8Û°!ó†í ˘ ø&[ÁæÂ-ƒÎ¯TMMMí_Æ¿Zûð¯ïï=|îÁIÐ(‚F¨"’ˆçè2q€H$¦â8?‡a ƒÜþà5U h@XÎ’l[GÝçäqIz }• Þ¨" Ì!¶í?ý)&€ª ªPä!%#f.17$çÄoÄUè,:N‚ TP ¨…Z¨EëÑ:´NõIõE•Å^`/±ïP&Œ…ð¡€j¦È d(9ŠJGУ àP»©íäVÜ B XƒXµÇ0¦À6Íe7ohÆÇ´=,Žw_ B‰Vâ9œ‡Có Ô¬Á/Æ‹ñ:‰þJgrGÉ‘ÀQ8ÇÀŒÀh ð€ùyLý†~Ã<`°ÏÀ:ƒy™¼A^!H[ÒŠugÝÙÎìvv7»—óœós»awì NàŽÿéßÀ¼›à3ºtÏë.l¹Þ"oáagL°Ÿa:Ì@ÓAªÿлþŸ­XO9@|G)(>«VªÖÒ›a ,‡%Ô-ê2uÞÀx½ ôb –d fH†à¸pì9Ö°öÁ¾ö×ùgS€m>ð¼/fœwƇ2£ )h)HèÃôaú›Íæ°yÈY#kê,u†:‰"щ@´AûŸí_Âp`%œÆgPúAhjGim-@SP::ñð^ü*OS0¼¯Çë™—LóšeXĒкBò ¹—ÜKf_ÉÏк€´@ ´€ d ƒ%°³$Ëayìaö({’ó˜sŸsówŸ‹ßÖóµºçtç·¶¶vmíÏ eô}Ž'“#LÞê¶„·ÌoYCw§{Ò}hšF4‰Q+já.ãÎçÎð¨†j¨;°;X‡×áõ´ãÈtbDZ“؉äFb±š\@- f¶Gȸ2®LgæSΔ£ï(åQUT9U„¼ò€7ð@tþ°¹_ µP ëa¬S}P¥ªÒq ¾€/Á\˜s`¬„•œNŽ' ECQP@É,b¹Ìhz"=HòyŠ!TMH!’!àýø mÇ8ý‡øs©2*}ÅNg3µÎiuÒºðd\*áJNKÆ¡"ôƒ T üeuø¿¯2€ è‚_…*˜úø,8CP‚\ÁéW‡øHÀðœ!Σ`¨D°ðêaðR÷¼«©©©ýMm— Á ñL<Ï`&13˜Yl(ÂG·ÐUt…Ô%I=ƒp!œ¡š¡ù.aÿóÚ‡míül”…2T!ªpU±€˜GÌ"BE(`?쇠Z ¥Peè<„X:™ùÂd°ölG¶#gg g%°@¦`&ØcKú!G¿à$s>pÞÀ˜ó¡*¡òïº@ÿ×÷w2úŠŽÀ;x o¡Ê ïÄqg˜#à°ÀB%È!÷¯¼>58ŸÃ³´2µißD†(EA®Ðˆ¶ ©ßý·¶Ð%  ªA¹¨„Ð ´;„…@‚ö ' ™h »•ÏŽ2Š4îdBƒÈäØ×á58‚=Tµni™×|N*…Hk¼v¥ö(†"(–”‹óÅŸÈÁälR/ÂSð¼¶j=q ÑjÖ*ÓúöùÑg:Ù0`ß ¾ÜnÉ3‰“Ä=B±è>t„ŽÐøÀþ¿-ÞÄ\8E“óÈzz‡ô‰Þ‰j›Ì‰ ¢œhÆ ø¾Õ¶ÈuGþì ö§Ð`†Áj0ç÷XÛÞ)7* åö­[uZsùÏøz‚CüDþ:þ¸æÕÍÖ".ùެ$5ðb¼ ¯…ð~€ uPuþÐZA b(€ïð” X‚%Xâü çñ‹øõü¦[á·öÜ’ôÉés ¨‡à¢à>ÿ:˲ÀF´m àÐ ­Ð …P…íýcf`æ`  Ãïüéxþ倖¢5hSÊÄ0oõõœKÉšˆ;ˆˆw TTŠ$8ã*¥ » @à®Q,¼%rhšÛx„È&* 1¾‚wàCPePÖ~ÅÁŒÀ Û{´J¡JA4@£½Û @ìÁìA@¤A¸€ ¸Õ–J $¤C:¤Coè ½á3|tr(9” Ñ·1h5xß¼EôIdsð><ÆàºAÃrê<'‚³Ó±ƒ¸µUÜR¡º¢zª2C¹(¥ã›ø¾ ÍÐ-ÀðÀ œÀ ôAô¡Š ¨=Ík+ÕFh„&0s0ƒÐ:´ïc[/Üw(„ÂöÓ™˜ƒyÛE‡öm à'ü„Ÿí\ D/bù\¦#³•GÝò¿µôV\¨^h}h“¢IÁ*4Ð:´û'ž¬i FŽÈ9àø>ŒRÐ[”ªHÿ¼þ1"ŽŒ£>·×™bŽ"AÒ( ÿÄ¡x2¾ (À #>ˆ×ã9üÁ‚ó1ÿ#/‹ß£ùUóDÑr+yLÁ#ñ<_ÁWð5þ þ'~ò­´[ûnÉúT÷¡ûhk&k>×L¬®¾V}4]™Þ5½oïݽ§ö×*Ô®•,hÒØ/ìBÌbQÓ´¦žÃ°?î‹»£(4á8[¢­ÄfbÑfý0ýKÄr+Õ_¯œ§ØÔ2»e~Ë8gât4MBÓY'Ö”ákr´jóp‡ñ‚Z2š·ˆ®ál`Á à%¼¡>PÏ©CúÝ ´ ‹›Ï5‹EøkÇv„á0æC!|‡‚öxlÁlÁŒÁ¸½]-(à=¼‡÷Iè’ëe-2Žlù­ð[{oå¶ïo³)4Ñx4­hÛ_”~¢ÒöýÕ=Ðk¿ôð—’m €5°6‚l”‹òaÕ¿.þvCâ¿vÜ™ÃÌAf¿°—°¿pÈÚ k†­aÎh9à˰i¡âУ³[g_™eWÔ£hZÑÃ$£ŸÆ’›×ol¸9âÖö›ãoúXt¤Sé:™\@Î!çq>r8/Ùxöû’¯%0ÓpŒS¼w$Nóظk|M©†ãÅx3ݨýÔnj:ŽŽ££ð~BQ{r•yGÚ¶¤½ø¹8V|sãÚMnj„kŒÔǼbâ™?];©‚J¨d¯±·Ù[ÜBn÷mŒò|L̾Ÿá©ÃÞ0*x”Ö½{÷3î§jiøhxåÅæmÊzØï°øð=ÙFÑÆWèôVz3Ú…v¢D QCTɃä.N5§Œó’!Rá8…“Ôfj µŠs³‡šQ jbü˜¦2Ô¾ûÝ\—ZH$ÞÄ>b/±‡øNäßÈOä2.Ãe¸k`-¬#íIG²'žó”KDaDtƒnà‡ì‘=²kOÉÚüÝå@7Òut~©¾H_ulÑQ»#EW/_3¿ÖȽÇMà&a]¬‰µ8îONÇ^NSÎÊõ»×¬ShxjtÑðe”Œ‚Q Ëè*ºÌ™Ê™ÂOeSiT*ü€Bø ëa=¬GŨ©D2ñ™œHŽ%GsDœ:N9áFt"\a<Œ…ñ ÈW™pB]QWÔµ½ZçA>ä„á ‡áB¹èÊ•®®‘.Þzgë”­VŠ#ŠEŠD<áC8w>^|üüPÉйCm—ZüaQ|)QÊ)=J]¢.P;˜‡Ì}æ)YMV‘¥œN'…IERÃá œ†³pŽÃqb1‰˜@l$ÖëHÒ†´à$r8/ˆ!D01ÂX„ !@ô€¿­·Äb'±£ýã½¶Â6T•Geq&sÆqF¡‰h<šH¸®„³´»t€$|ßý\ææòýXšÅÿÖI1#0ÂFØ›}W¢3ž‡+púáé‡é4üúðÀpŨˣfŽÒ¸mw[r;„Ä a¢‰QÄ(b0±œXN,!Œ #B[ïœ^ŒnLÆÆôYéá;ÓvÝ1ÖÐÞhŒÑ4Õ{ÕKÕK¢ž¨$ªÈd!™«1V#T£ß¾eû›Ìi¾ÒÛü^KGÛZÇêà½CwY½ïü¾sâdã“bÓ ¸]q³_û_ôŸâï0%fjДJÚ‹ö ]‰ Ä%â–c9V’–¤9)d²˜DF¹m˶QÑqC;†ˆC._ØwaÑE9ÿ&ÿÿ³‹ÙÍìÖ´ÔÔÓäÄǾ8ï5œþtøÌE½¢…z6to8̳à™ó0›Íf³ùiXsˆ9Èìö ÃÖÎ]c±æsÿîýšú] ªú¶OP øôç½¢˜¢Üuœ­œ½5^ ®äH²Ë¿Íš 1þÑøCx^N8÷­ô[Aî(6¸€Ø0r¦–éðçñóä<†LÈ :“N¢“Ö–¬[ºviëÅÖ;­·)+Êœ2‡¯ð¾þó+ŠššššššÚ_õ ¾Á7dˆt‘.ýΡs¶Œˆ¶¶=TzcêÉ)s¦Ø}º‘dùɈÜE^%/7¸;4@#4þöáµý¶Îñgó'ñ£˜~L&øÚÛ9ßÚGkfBdÂØ »¨¾d/²7ggg+B¢ûö2âéÑ=’rx[Þå¼èÜé:f::Vl¶Û¯­ˆÉ`Ò˜/ºÝtè…=«|zþÙâZ;Çì4'xd ð>çˆbgSRSBSŸåxùeûeˤ ¤c¢ú úTÊœ2¡Ì)Jy£.ÈVÁ*Xš  š`0y¼AÞàïàmæ­’“M“-Ú·k?u`#:Óð‡û› ¹7à&ÜDæÈ™ ì?¶Äà1Æ_q:Îà äôåôŽ[ôâå ÍáÆ+‡ïŸ”>9jÒ ÝíºÇt?¬¸Ö}Ý×f±¨¶IâñÝã–ûÊNUâ:í–.—míæÖrp ä¯äŸåq5ëjOÔÞf3ñLûô¤Š”“ä‰ÜkÛ#\®W[Ûü®¹ˆÑf4#‹¢ûiÞ6d‘ø@¼'Þ*„ …ųnÏ¢Ÿgqrúpzàg8·'~Œ?ÈêÕè¥éeœÙyÆõŒíK‹øŠWûÃ7†w / y9ô[È Ç.½Ÿœ«QaW9¹(¼hWñ•8«³âžˆ•­­-uªxU‚ê#«dY–¥y4‡6’n’®”®y]“]SN£Óè4'‹SÌùܲ°eOË¡ºŽu=ëÆ!ðÁ˜zD=£î`Kl­99ï8/™Xæóww‰wŠ®¢å4Ûªj%Z­5²AŽ9GG²P2U²¢Ö¸Ö­v[Å6°µ”ˆj¥jp‰G#[d‹:´˜¿»؇ìcö)áHv£']þ\œlºI¾iÞfæ;SΔ1ç˜óÌUÍãÂCµ‡ö:rï.º;ñn?”?Å¡7èZ‡æ£ùõÖõöõ=D‹›£›Q{©ýÔ¢•Í̶þS}! G#P¹‹ÜKnÇ) )œwœ×œ8¸·àÖÿ§Áäƒ`0 ÂOñSüЏD\$6­º°Z¸æ\fxÖÂÌ1cD£wV…t 9?äPœðÅšš¥“Ê.—=¢ÞRO¨ª!ª`ÕX™ÌEַ̯,²|‰ÉpÛ=P7Òë’­’Ü ^%÷½€ÞA¯©Ñ¯q­¤lU"¥€ƒ8 G¥á«ÑYÃ<RÞìܵŽ5Ùµ13/ÍPΠݬÚo·ËnºmàJ·•wVtúTúÉ&i‚d‰dƒd7±™Ø@¬ƒ+p .]ˆ.„Û)ƒÓüÓ¾ÙŸ³;e‡OOœÑqúñ;9w—ßýû 63v“î7ÝxÝ;ɹÉÓ“gZydÊ‘WÎï„wC\䆸»WìiÙûJî/·“!ç’ Éi ¡0ìÎoÙ8ãèPBŠ÷bhüÉe³Lg]ŸÙu¹ó²ëK]=X°è³ÎGí×ÚwÑ[â!ñ¼|AyBÅÓèí;ï¨óHô\ïÑãÂã…ûÄ;~ì8Vyªbse®`½`‹`Ɖ¥'g:óçñ?YütÏ3?:“.¢¿ö¿×¿wÿ![:Ûu¾ù¢÷‹1/Fr”)GKq).ý§×555555µ¿Š-bKÙRJïß¶:mËÛÖ\Δ¯+7ûulÆØñ]õ»9w½j~¥êêzYoY'Y_Ê™êL9P_¨wÔË¿Ñ>,âprpG숩nTÕùÚÛ·¨ÛÔ¤@*$GsÐ 4—Ãá¨8’ÖLq¹8¿N³Î±®|†/ðv®ç5Ï»ÅEëömjî¡Ö9­«[w¢FÔˆêá6Ü;¬Û•õ%ÏQ·9¯J¿”¶” Ö½XO¬Wµ¤joU,ñšxMÄisµåÚewî^»×z„=²ý¨ -@3Ñ RA*I ùœüL>l lß4¯iNÓʦ㤊h"¤DG°ƒ½°ös499†²Ç²TÙçš µÇjá:ÜŠ¥ÜÜÎ ,Å,£|©Êëö÷a@cÏ>—òxhæÐžkB×vXw$dÕÆ¬%——h/ÍnÌm oŒàwåëñ52g²™ÜßÖÛ-3¶Žßz˜1eœ+ÎÎTÎôs{ϽŒÙ1Ü~xï§Ô¡×C»ìMÛ»lï.h$¨Sl‡-UT•/`$Œ„‘íƒçÿɘÌ"f‰Þq½h½ÕÏ®<“=s–EÊfHuw>Ù±q‡(’Š,Ìg2N9~z œ{v.Óãqßcô‡¡Î}(í‘Ús]Ïk–®í¼®x꽩«§Ùæ¬Î¹“vÞöüž bÑÂišóËcÊí*"¦lšÚgêõ‘£\FÉçÐsås{•Ÿ-/,ËÒ®FÿÄǤº}Í™5™gZ]°~huX/ú ʲѲ©·Iæ3¬%,Vo­îlÝ(ú}Š>‹Ö ÕhÙƒìNú4mþÙ o{½íûîí¦››xmBB+†}š7`Þó¹n·ân…Rc8K¹›oFÜÚ}«çàmƒðÀYc Æ]?u“ƦiÞT¨ºYYðÍæÛ’os5¸-b¬‰µñÝŽ€„Ûî=¾ÑEÎgÎ'Î'"’˜LLì2Ì|Îo4bÜ]ØC3HÓååë—M¯¶˜½1nÚi©jÉî% Kg-)Z²È¤Ü´ÂDúúa‚ÿC€Nù†ÿFÿ;?ÿöž;}n§ñÏðwñµØµ lé5Ä-xiðù×Þ|~³› $}Igü§â´v=QSSSSSSûë°K±‚šAM§Æ¾¿ú.áýâés¦mŸÖiä¨ÞQªY#g-˜í¾3eç©>dwÒ—ì@¦OÈøs)ç蘽}¨tWz)ýÐR´ -£GÓ}é1ÞÞ¾%¾5òÖÒ•Ô$í©EÔj̳íÏmžûGµqÔÅ‘ŽQ¥QsîW>¸ûàæcßGþŽÄoz™úÒpËÇ­C·äÌ9;·×Ü"­:­Ziì&v ýÛ †•”÷—¼¬:ïéüùå•—V¯&PÅTõ:kg¶,Û§Î¹Î¡ÎØd¶‰¹‰TeCûÒþ„#AæÇ^³9>7bqdE‘#w}rìÛñ)¨rFÞT?*„úu`ZyšedòKG×¹0vþÚäu ë‹ä+äÛ[‰“Ä)âݶ§ýÿ`]níºu‰³ˆ3Œ3 k`=¬Ïá9<ÿGŽ Ñ~)ñ›ø›Ó`¤A|E/ˆxâ¥b†b†|ÎÚ‹k=Ö\YŸ²Þg=÷mÜÈñå¾—|/ú-šiZkY7n¹Ô+'ä¹AÛ D'm_¸£2jòÈ'#u’©ÏÖI›ýúwóg` îEŽ"Æ’¥eÒliìΕ;}vÌÍMɽ’[|‚bññy¦M'™ê)+û)G‰‡Ä½ö¨m‡ð:Ü€ô8z=úA_è M ‚¦ö®$ʉRåjÅ\ù¨ÑëF9FUÄV<¼»~aå–…3÷ýÜ7rï®zïz¦~’i¨Ùtó%»wíÛÙÚãZé=í¿…ÛðíN‡ä·:l‘ÿ”ÊU-ZšÌ/žŸ=¯"53µê‹ã7?k‹tON:5åôÀƒ1böû%–½7}§Õz¨·:ízfå[j'’;ƒPDÝ×/_9_s8s_Ì‹øl Ö€»ë:®«_[Ÿ³8çü·†Ë“/?¿Ì½øòÒš‹Ý³˜ì!Ùö:vr|BóÄô“¬ž—~Ž~<=Ÿ^H/ÿÓ'òï-(ƒ2hïM’OOVÌ =z|¨ïÑîÓz¥ƒ²‹râõÑ×]ÏéUÐëCO/þVþNÁ:2‚ÏY|Öùì’sHˆ"߯1i«Òö¾Ì~yèÕ®§“žMZùíQΜœ[Z…šZŸ‹?6”ÎL›¡;}_öÞl«,;/W/o­Ã‡Ý¤ s¢“L Ó‘›ãax†``Æ`¬ÈWþTVQÅT9•&]"é%žS:¾tnY· î»ÝÇÔUÖÖÕÁv¸…Ž8D8qšPÍ­d*)…ƒB[aÏ äxrPjF¢üOKòOîݽ7ro\ú ôéòœf7ˆ37Ï„‘Ъ®Ê.„9áLÚIïHVHwíÞ°ëòÎÖôèôô´¢ÖòVE«ûƒ¨ØÈØ ;®–[öɶ-ùm½õ“ûnð Öè«Ñ]£Ó ë#ã³Sv¦–¦V½µ}§zWŸãÓ%gHÍ»š5Åç<|ò¨£^¦Þ;½›L¦ëÿÿõdý ¿Äo‰ƒd uå[Í·Šo‘VG,K¬üCMüL#³Oe_ʾ¾È}áÉ…Ö;ì¼¶ó]sçæ‘Íë9‡8k¹Û›ÄM¾M5 ª|Ÿ_û’yÕñÕæ ›Ê~©ŸØ°¸agÛëï”츲s¶WIg¾Wp†SÆô —>}/F4÷jöné+è'*è_Á­¨®Pihi4´GëÌÔÆžaO²Wç×w”Vr]Åzå6å´m@  ª ŠèBt!|®ŠN ·ækÍGD'ìõívÂ&ƒFƒÃŽNN½ÊµË ÊïµERš\ò®4µÃå{mwËFJ‡Júê–éa]4 MBåMd¿©7u‡ºEÅà­x+ÞÖ>%Þoî¨GÈ u¢séïtÑ€—÷w9;ì\Â9‡=I{úîåN8©rRÞ£!¾>J]ä\ÙZÙX)5H0¸np ùrB=" mƒÁú'«\«¼ªŽâBüý%‹²þ<þJý ãʇ(Å £x'ŽÆ;ì®Ù]²;_T[Ô\$'Þ£÷è=žgâ™ÿ?ëŒššššššÚŸ#Ök‰5Ê8å å›Q7FÏe³µq[þ¶kËC–w^öô´Þ©M'á—øö7Ú`¸ÒpæóÏ7ÄÑ)[S¤–ýõö¡ò©2^ùúÌÉáVžµ<;óÿÏÛÛOžôyšXtªèyQkUcUÇ*·ã©ÇœH¶Þ6xÛº7‡^=|¥¼å¯çoù<ôHè°°ð0EØåãåÇú»x}Ìõ¸f¢XÑ[Q&)#Åds{·ˆXÑl:´u¨hhô×þiÒôjÕÌ®I{üä±õc_s¾9k~ÀAæ vˆãMæ†sCâš^ô~qö­ï[ÑÛ'JîÜëvïÜ=ònKÂ×·†¾¼þ2ëU$/ŽË;µÝ úÒö3WÏ89sËÇc³>Š­Ò­Â,;KNHÎHîéT§é¬ÕÙ™ç_,x¶ô™8ûrNvŽ‘æ8a¸°NÅ_þ±.¶”µOÿ# ˆÈ?˜`é?BíwŸFÁ(I>"î’ïÀzâÜ>?‚&ôánš²ñü†öù<Ù(v ;ž¼IÜ /KHrÄéuïëÖ×}›xr¢ÍÄèê÷5Êû0Íaˆ­€kèî`Ý¡º~‡ :ùÙê³0ùýåë—O]–kÏÑ^­}Z¹P9O¹˜  šPá\œ‹sÿöŽþ Õ‹ò§º¶o½Þú*ümø¨ð¼–÷_®crÁ{gºe¸eâÕ{× 5©õu=k« U†*Så3åkÅ'ÐìŒÝÄc%ó$³ýûMï>¿sž—÷DÉ|ñ„Ö‘¥JkJiýúXo·ÿì€=F³Ø¶i„YäõwSõSO}ÙÓ‰ü’üºìÚLýY:³Á‚— Þ¸8`ÉÔ¥¶‰D$±oÈhÀ -‰×?¸pÛœ·éÀæiáõá§Âݾ}«òö¦ï×¾|Ç0­ÀSð <ý©LO:3yfúÀDØ#6ù/2ìEØea”ÐG¸Ôk׋+Û";!=Ó¶}F¯ÌW™÷^¿|SÿFq)bàðæ…V *˜¿Nyüæ–¤§t’´¿´›,PÚßo¨_‹Ÿ¨ó¯ ï9Ò É~ÉQÿVÿ¦î£JŠ~¶¿}è Þ¨ •£Ræ.ó€yD“F„1Ì‚¹xŽfwM;MǤ™Ÿs?Ö3ÑkÖ“Ù%Ûn·Ý'WÈuäšè)z‹þ´j%(à´ÕYâ)ñ˜x¨`”‚3ëÝLÏ™vg[Ï­<»h`ËÀ+§n¬ØøaS×ôóÝ3g èzÚZ×Ê´B˜_Øó°'¦{Ì¢Íó¸ün/·3îÇÝtš6îo:&Û"Û'½V;²V§nÖoëmèÁPU(£ ôÕ /ì÷ãbá‘ÄljF‰æÓ¸ÓnO5m¤ÙHÍ'KŸ~{6¾J¯z\UOŽ”SÁ©Ã/Ù7lÂ?rÔþÓÚ>ém<À Ü áßOyt?:˜ª§Ò+×Í9óêldz' Ö\-Hc‡±#™Á¾ç}‡ûñšçõÑ»ErR¼§u+"Ò‚[pßj{…œÃߺäèMÚ7éÖDAƒv½nÝœ1'ÆØq´e·Ûn‡|Ž|¥|j@u¨É‘ ýiú½*¨‚J 8À¨€[ÉV³µø=›È~ðƒ$ÿ6ٿϔ޶„Ûï>ä@* †ß^Ì#2!2á ¼WD)QBÁ=¸÷Û'WhÛp¹€\$i’TKJ£GG»=<ñ°ì‘ÿƒäØÊاk¢Vÿ\3ußÒýfÞ²×™ãôFòuž<ƒó ç´ß—Â4¨@Õ>QCÛ茿?h?ãâöÒ¨‡F¨oû€ü¯^øHMMMMMíÿT‰ÊQ©,U–'+›0÷î\‹)e“å“ 4._lŒß?µéàæ ` mÒ¹¸ Ø³¸CâúÄŸ‰e½}È|c~2í-ä ÿÌç™7ÿ¼½ýÊçõÃ׆JOe¤Ò¹´¨´¼ÔKg¸v¥6Ý{Mà¨>ÚâÞ’1’íçÿ<ücÛë¨x*¡J¯enËÚÖ=J…­Ü€˜GÌ%æà8‡ã~»_82q9ÕêOe_žŽç¹Í¹À4ûdö›l¯=|íŸ,}--”V ë„ÙÂôÌ'™š™Ý&û~èæfyÌ*Þú«µÐ:ßûíðîž}?Û2[—)eò˜ªúuõŽõù£»õ¬Á¿¾gÝ€Ù’Y³gMå'óx¯Ú÷wtf^fÒ_Ê/Zå­6­$ñŒ¼C>ÄËñ ¼â9‚TB%®B«Ð*´ -‡å°¢}2붉ªÿ/ð/Âaƒy}yA¼ -[¶*·.Ü*Üzp›ó¼ƒs—̬ÙYÓZ³}s²Ž¬$KÑAbÚK…QèAÄ"…xY¿½þD}¼‰µ mRجh¶oÖoÛ^òLòXò*ªë(÷¨ Ãg† \ð¸PqÁP8O8LèM~ SÈ÷8gãäƒ|÷ß¿Ãx7Þ…÷Èd¿F¢ýÒüFt7^£µ6ymŸ‹ÒK.­ª¾[}µúQNÊ7é7+Í}ÂmÂ5”'åÌéMäj.5 ½ƒ×è5Ã!¤½(sˆ|âÿ>ÿ6ï’ì¼l·üD`;V ‘',Ó,¯v­é_$¼,<¦q¨m{áháX͈9½æØÎ‰Ox–Ð)¡KzQºCš–ÐE³³–>аglwÚFv1¹ßäšI›æÏ»4×%úÕöžÑ÷V[õcepk^KFóWêu“ºòŸ>ò¿xˆ(A?N:8gÐÃÁ½_°ñ‡âŸwÓµº«Øúõë(ZHk3íéWÉ-ã¶öèÐðuÉ¥ÅÞ‹ïL]4UcÊ•kUWƒ®nsÍv¹î²DþVöIžñ¸Þ^>[‰uÄZUªZ”9eBµk<›ÍÎÃZX€…æ†fF'Åű’›*¹J¥Rj²šUš?S‡¥œLù`ØbXne0Êp‚Q¤^¦Þu½{àˆçâÍ?n¦|¿i*7Ãæxå¼z^¡l‰l»l·–¡©%ž˜2éÂä¾'ÿ'ÞŠ/+&,OýuÔÆQ¬Æ# ¦‰Q0@–RùdŽÊBå©r€¶^Í—L“ÏÔ“’K"“,)'žéÄÛßÖÛ¯–±-ÁPO†Aä0ýîáî}ç¦Ì™>§nzÎŒÙÓ™SN;Y7üaø˜pIÓ‘¦«Mñ¼Pþ~Ï?šþOƒ|PWäÅf0oéxçnÎ}³ËTŒ)Gõê^ÔÆ¸6»V»Vm”mÚ¶YËgÏŸFñLÉ8I8µ‚ZF­@æàÚ?ËF¤ iH C!(˜4#Éö1|G>æë×ôªq«bÐb(2ª©7ª7¨·TœSžW^e¬cFß|¶ù‹}²/²Z™¤uiË”æD8IŒàÍâMææ¦ó~ðëx·¸—¹gõGë÷Ó÷zkvÔ4g†b¸¼~¼ ~ N„ÎLÝ)?µŠŒ~êë5è7ÔÔ( ê,[--#Ú"±¶·édmW¼ªø`ÑAÁ-ÇÂW"ÿ&«F-|Ç` ½SzGõÆ)S•iÊb¥‰ÒZi´‘&ÂGøí_øÞ‡w KèTgT «ú¶\i>!:+o”9H‡ö8Ö#, EuM5Qu¶Õ°ÕºÕÝâ»ÅO‹œÆ^ #Gâ,Ö%ðd–Ãj4f7–4D›eš%›ÍF-êªk¥ÛY·ãŸÇo.²¨3Ã3ñ ¼MBÓÐä"‹"‹"['[;WÖûa?tB§ÿÙõDMMMMMMíoH‡tÈ@×ÐÓr¿åU‹hè•ÐÀaú›Îoî¼yÜùñç=Î?~ýîMé3q`k`KwŽ3Ç”cë¾Ò=ÀÝý¯·ùx·y—ÚÞ„«â–sÅÐÞÆ×Æ\=ãrÊeŽ‹?›Æ°9ŠÅÊCŠ#8‚ucô øÍÖ!½Ú£] Ëñrí‘:}µ=¹™¼"~»Š]Í®AÃÐ04ì·C ©ïT.•®ÚDoT±ІFø"ýÒdmà`éîîê(K‘eÊraô‡þÂ5K…³E‚¦‘”€)rnˆoLoü*ÈÒø x†£ŽfDTÓŦ“M· >¾7zQU9¦r.Ü‚ëèFûþ¶p¿sëþ`\õ»º¶S„«£«HºJºMzˆ8B"ü#€!0Ãcx O J ¤}@à_W µP[Ð6´Ž£ŸÑk¯×ÄU§4~møRŸZ;¼Õû}¬¡«šÊÍâò«{õõ˜°Ìj¹xù™G{%=ÒÛ{m_ÿ}§°Hž©ø*Ïu™é¼Ú9d·Ý® »ŽÝøv³ðÖì½ ÷ÞÛ§É\`Ž3qpÎÃIÜ÷ĽÿþfÖ2ë™ÍÚ«µjºqåFñÍéë<×[¬K¾×ó®ÓÝûÄûfí3â(9›¸c,æ˜G™ Îv öÖØÔØÔ„Þ³»;îÎ>éFéé)‚"è]Ìn¦ýHS¥éÒòNU2:mÔ¶Ò²Ðz¿Z°zîÝöåæž›¡7u#í#›"·m¯¼ |¤|5¦¿›î0xpïùäüQ èk—¾?ã–à¶Û}™oQ7¦NV¥ÌL9.0  øücÔÏæ$¯Ï{>шÔè¯Ñ­gE¬è?}ä3š'°“d«eÛ¤ûìeûòŠ/åye¯C¥Co %›·5_l>O¶’µDcÛö£¦G}y²)®©wÓê*¯ê¯Õ)JÉ M(p½>ºþfýY*Ê$s˜&FĈÛßñ€ýЭÐÄm¦=ö<Üù|çÝÛƒ·OÞÑû±Æ£î[J¶>ßZX¾¼üqÅcñkñgñãòc*îztsç¹sa?ÞÂwµsU¹–zžôLòlZé°jõ*í' ïDŽ:2ãȽۋo¿M-ælážI½¥¥'a-¢ I‘œÎßæÄ6‰›DM­äjµíÌta}q1þ‰K`ôÃרøšòµ2Qù•+ᱞß{Ö÷óÛz»ßaÿë‡ÎÔÇôOí?µŸ¿A_ƒ7¾…å–çÊ5œN‚/i_8_äkæÍïÏÂïÅTÅ«Þ)?þÁÐôòyÜ/š #š|8øZðr.pYú«Ä«7>ÔyèÿpÔm½[;o¾+æ—oÖߪ·Roê¥*A•ÀÌfg3óÚ_¨'ô€ö~Øì<¨íáðQaG×GË¢çl»<¶ÿƒÑþÑë¶[”2¥z¥=•J%O)è^Òý¤ßäò;åÓË«KªKJJœõvëmÐQ’W¢(±x¸>öÕ¦1¯©¶‰¹ïtܯ¥_M¾†rÒ8Ÿ9IZ6Úš-½÷ê×ëÓÆ{›Â¶ø=¼›õ@tDttÓ±%QÜ‘a#ãé—ªKÊc#]GˆG>;ÿÜ..þªå•ðËG7UmÚ¿ÙÛT×ä•éþî³ý¸~L¼ëË /_Ìß1ßaÁG½aúáª}ª#ªSíŸ3ÖŒµììl<ÖåX×ãp©ô’å%ÿ{â=ã×MCÓ¿L?ÛMØ­¢kBB( eŸ¸ÀÝLÕ êËÕ?÷9í?¹¿ë¾iûë÷«žR=µ6¼Ï€À7}ÊἇÓ}6öY¨üóøGl‹ü:¢·|’||†¶\»L;ïéŧ۟öèc81°/“ÊäÓ¹¨ òBÿÙõDMMMMMMí¯c›XÛ"ˆl¬Ø¼ïð>ëÝ{wîºy7öÎÓ;cwÝY³wÌèhÛ±…^Ko¦·÷yØ'$ÐÉp™Á3ƒ¼¿Þ>d¾²_Ù̶wùKíí·Uo{¾½^|¿¤°¸Äk»W„Gé‡ë³+º¯l]yònŸ»{ïeŸN8=ì̉¶×1>o¼Æd[ìÃØ¦ØÞ‰zï{¾›Î{»ϻÉ~a¿²i¿ÍV±µl=]D—Òm9ÂÀ´¾iK¿®_ß{Ý“µ?™±ôPUW’K"’u‰&ö—õÏé7$ÿXAlþí#‰‡O8œw¸ÿ¡Å— º<Ê:äŽn£kèN€ÀˆÔ²Ë–,yš÷tÍ“s;†îصÓ]yLyZyµ}ûG]¹êò‹Æ·ýÔ¹×…×õãôåpzà¡8ûO´ß!€èƒû@|NÀ‰ö+ªß Òû3( BUwTUÏ× >3h¨æRÍ™šcÈ*²œ,¡„—²–¬"ËÙÌq:Ú}´»³»Ì­ÅíC§Ã°Ï_!]n¾ü‹—‰ÝݳçRbF»[¹mt/„Zœ†3=:º+Ý?v¸a»Þv‚Þýƒ{ÇÇ{rÔ¤ª¦ºwÕÇÚ˜šµ¸ë¸¹+°>Ödžíaµ Ûærwpo†ø›Õ¢ˆ "›Hkm½Øúr˜$lpè]­4M/Í1—F^šsñræÅŒ=Ç7¥l$7<1ëdæg&µ×¶KµY±,bàò+B]‡:ïºÖ¬Áª¸W^ŠžOñI6šYB÷ ƒé~5W â7Fn,Û0«þDƒc{3÷fÀ­÷Ó®LÓŸ¦9äip‡`É<ñŒÖñ!ÅCv ñ•zHûH'ͼ<ëÝÌÁãÏ[B&Táb˜è¸ãÞöÛÉŽ:ÞrJ¼zþªýµ÷Å÷‹L_c¸š\uÐu„kwW¥æRÍ©ZcRíÇј6§­ÍªLSÍöYèXß²w˜SÓåÓaZÏ^zGõRœp8¡ïÜr>ãrÌu˜éÓ½¦þ§Ž68Ýh&œ?güÜõóÁî¢=÷üì>ÄOÛ/ãêÝ«:W'”¿uy;O`/°èÐѪíôáY3ϰp‹ê$é”~ºó™”³ã#s†ë ë?ÌnØ2‘žÈCÔÃ7Í·—oÀ‚¤ù…ÿ¯½3¢Zúÿ§º{f²',a•-V#‹‚ *z%* ¨ˆŠ(îʽ n\q«€"(*n âv½¸â‚Š"²‰È-!ëLfÉôtýþèNH  ÷ý½ïÖóÀÓO§»çœª:uê[Uçœî_üÑÛý–¼á´r"NË[·Þ:þÖÙ¾p yR£ª¼X^ì”h—X¯hõJìwx‡w¼Ñ1Ò8ßQu[Õ­U÷œ;èÜç®ÿh}Ÿ }_ø`îÒv¸¡Ã=R|ìÄØóìYök-/m™Ù²éÝîj~çò5[Ö䬽bíô5­Íº«ä®¡w<ÓòÁ–Ï·}):7úѵۯÙwÍ¿oÿÙS‡\7ø3«å³²?nôÉ=ŸLZ=põÄŸ§ ,¸9¿[<)žb7•6ÒFŽù¿Ö“¿è/ú‹þ¢¿è/ú‹ŽNÆãÆÆ´ª3ªúW ûèÅ?^Ünÿ‡ûý×¾´è%û%§|B¹Y~ìc»ÿÑ„žÊYÚ¿ÃÙÎìP1qÛÄÂ›ŠŽî‹ [8tdåðРàéGô·¿ït}ç›ü3û‚&¤^•:(uÔ”S&_6ù÷p~ø¦pþÛ?/9áí¯úmî×¥ï±ÆÑ&᪇ÞðÆõç–U–5*;ç•—^M}õÆ$3)šTª³tŽ>g¬2~0¾÷ðÚ‰yþ¼_òÎÈk·Ã9=‘g“Ô2ÉL ûºû:úºÅÆÅ&Än=û¢³ýC>H<“x=1·Û¢n½» »ëÎ;ÝùúŠùßöX1âÛyßîývÄÝ»ïêpWö±»îíº72&2!rÙSï\pÇwÙ…ÙåÙžÛöÜöço6âœï†u}Òè½£&WžÊžvFðŒâ3ÆÞßN§vz¾e°åÒ–Ûc-c]cmåßò|øÿ#A9óæ! ×F-OßøÖ7ã^6ïÛ´ôêçZ>4­óì¼Î=ŸïªL dL7þi¯Óôެ§\ÕðÔŠäòóËæ; ',ä:™È%Œçjg²s©sjêGiç¦í“ö´—œàSA*n´v[¿[2Ëz*KÌ|3lÍŒ½%òÏŠuå÷”÷Ký5}rz'éG_9¹bVÅò¡IS“ì¤A™ŸeipSùü²çKÿ_/‰gJé.]xˆ‡xØúÔúÈz·ð?…k /Ü}Ñœ1ç|{ÁŠû¿y³ìŒ²eÌæ™f:Ð:…yÐ,4~4Ve–fõÊ<ÆèdØVkBó‚·Wܹ(òpôSó-óYãêôÓó2fû^öŸá¯(½µä‰â׌Æ•æCÉíSæ¤d•Ÿ^z[Éëf ëTk\â{g•ó“ÿ]ß¾+3WdMÊêÅ4bratmdyøë`J°]°­üGʬ¬“d5ܼºâ£r¼G¼2¾:ó†¬S²æZ¯˜'›e%–ô-éi]o]f Ë<6kKÖ4ãcÙG›9»7Ê¿+/)óÛa;Ùî-ÈRyƒµ¬eßò-ßý)>ÜËT¦9œ¶‰D挬± ;F#‘'#«.‹%Gß—sŒËÛt–>©eF²Ù6c_æ ™#ËÖ–Ú%¹z¼þMG¦T¥’”zZZôlÀGã*‰]ý¸btÅÊŠ³ý}ü¯Ú$Ÿülr¤üѲå¥19SΗ+ý-ü×>Jjž|òþ²@éi%·ûóÏñ/ÉÊjð}ƒ], $Ûbƒ¢G¶>Jº59g“ùk·×¬¿dý»– ømÀŒ3Oˆß?9~!èÏ©2JÚK³Œ™™ù™³|ý}KýWé)šäl©¸¤|jùüø‹ñ%ñ/ý¦?Ýß$ãâÌ¿euáZngjÕ€ØóÑ­ÖZ«·ïÕ’ñ% ‹C)½R§ær£¹¸òÕPƒÐWÍSG§íO»çèzý5jEšU® ý+t‹“ì´tz¾¼øWÆ’Œi™ãÙ#-ä{¥}UÁ‘3pQÒËI¾ä’7”O/[QêÔ‘cjò-É[ÊÇ•>W²ÆH7[›½3Ïμ"ó^k¶ïÿ߫މ•Äþfžd½f%•}\Úµä)s†y›9¬pMáªÂv«wü|ÎÏûÏ:­Ãiû2^ÉÈÊx*e{ê½iÍhGRØN!áØØh,úlE^Å]å_+#›Ç™ÈYYƒ³>ÉÊ5µnóu¬J=§¢gE¬b“L–éòœ³ÂùÚYžzEê5©¤´Jm’ÖIÏrö9“Êú–=XºÚÜbÍf;ïÙ9{×’ß~ùÍù­óàÓ— z)Ô>Ô3tš1Ìb ¢­h¥ƒ4_æžI¿9clæHŽç .H|™hhßY~QYYéÚAr©s§s»sWÒ×Iï$MM¿"cXæ )¢(8³âÕòÅÑk£“£o÷3ƒIŒÉ:7ëˬck·¿l\Y·²´ÔªÔhªÿÛ‡¿ÛûÝVãbé,÷ô|³çäžýœ[œÉÎß RA埪Ðù‹þ¢¿è/ú‹þ¢¿èÿŽšÓœæz©ŽÓ+üÏøoõOȸ.s[fœ<~‘¯ù€–zuùu¥[Jï°£‰ÜÄ@çSç3ç“À3û7e,Íx<óÊ#ú‡c2“³Þ/[\º±DŽäoÇÖÇúF§…ºß p í¨çùv[K­é™UYK\-9ò””„3*©|§rQøÛ@q`K`iFÿÌnY¹‰'>L|^2¢xÂ[Œ÷Œ]4£9-jðÚyiûÜK*Ï - 55Î5þnöÉ5r Wljûí4ë$«—uœ<É“<¡;ÙÉNvñ;;äKùB>KÜnO²§#FÌ\j-²^×9:×™k±ÏIŒÐ¿;ÿpn3>3?2?¶~³~µÖ%®¶o°'!LÄüÉZi}ãLwžrf$V'ÖØ›¬}æïÖVi $S—³œ/XËZ~ò½ì›o=WxBáÙEWŒ}pì —ìþ´ôÓ >ù¼òƒÊé•×™½Ížf•TR)y˱ŠúÔgÿ;ñAb™žïŒt†s¯L‘)æ sy¦y²q’q‚ÞÏdÙçÙ89ÿt¦ù7øò}§ê…\”8=qf"ß÷…ïc߇ÚRÑVr-×pó½Uoµ»ÚÝíã¹\/×+o̯ÌOÌffC³¡ |Äñ´x#+×jç;FvIÛí¶vn¢Ûج۬ævk£³E7ëæÄ•‰k7:³¹Î|cŒ1Ú¸ÀœjN1'=¤§«+Yɤ“N:ßñ=ßû^ö½`Í)<¡p¨Ç‡=Ÿ:Ÿ^õɪÊE•“+G™'˜=ÍãøßØ,ëe¬‰ˆ_`Þh^g\cT £Jgè fÒ‰Ntb"™hgÿ_ë‹Xe¾ú?ò£3Ó™éÌL”& ›…ºP_30ï5ïµn3o6opúèÉÎɉ;ùùú0Oçë<§«ëtO<™˜áüË·Æ÷ƒo…ÓÔiå´±O´O°OÖ}Z¢%æJs¥¹ÂùÞùÚù:`²-|Y¾†¾N±ëbgÅ:°• •t¡xˆÇx,ñ¦ý¦ývb­³ÎÙhtŽÒÞ|ÖzÊú§1E¦È'S3Lû"{Lâr=]ê@s‘ùšùš3Øæ õõ ôõ·K‰0{ÙÇ^ë&k‚9PÔžiÏNÌ¥Š1k‘õºõŠÎvžsž·ÏN OœïÜêÜêÜin67™¿šÉf²ir2's²ž¨':}ì™öœÄjgv5»:ÇiwçøÄ‰©Îþ·| ­:Oç3_»8ÝœcO;3g}Ë|ùÞ×„ŠŠ}®}¾=ÆùÝÙíì551pžsž×¹¾µ¾|ßêÙ:TÏõçëäkd­\k|lT¬s”„¨JDìßíB»T~e£lÔÓ诧›??šßZÇúºYíu¼Žç ^ä%]`·³s‹Ëqæ}æ]ÆÝæ?̬ëˆ&ÌéœÁNÇDn¢›½=±7±W6ÈYk©·¢ò¤<ÍCÆ£Æ,ó5ë.kš5?vUl@¬•t‘îÒ›XÉ÷D‰¥=è¡}œ>N?{vb^â9=N»koãeãecžõ¼ùŒ9“…ò²¼B?úÒß)u*œ`bLâ2ûR,|øÍ7Ì—­ Ã0 ‡ùy”ÇtšÝÖn›èìŒu.uÆ™÷˜··›KÌw¬7µ\ u—¿‘¿¯ÿ2s©ù‚yWôÓè[‘Åä3T†‘L*IÿéÚÕÓ«‰%ıÿ—ÝWoOë'·҉›(6ZïóÕÚŽ·­Ù¡­u79«{×®õ—?¢#=ëþnõ3îïºãÈ©i§ËU÷Iwlº£Ò©áÃÿ”ª¿lbÖœÔ Q»Š§ª¶&¦W¿õgx`zïþ7tðñ¸U{ÀÀ¬y¾š«õɱþG´Ö׵曖·­Üÿ¹ü´<®QsÆÿùŸ'µ$’Hò¬±»h]²¼öürµ.>¯Ž/þ§Þ;Yø°0LðtÝ!ñ‡|vyev_ ³æl‘?ß>wÜÉrâ¿×Û?ûÆáz{d:Ú^9u{õçõV‹d,¯-öQ­ôÃWæöË÷§ûõß’käOÈ÷¿%ÓÛæòGð‘´öHœ8ň“®t¥«sƒþCÿ‘øýý±³AÑ“*©²æZ/X³å"%#¥3é윪§:§Ø³ì/ÓVÛi{ eF¹5ÕšbÝMY¤Ù¯ÚoÄ—øÄ÷…õý‘YÎ,gv¢,NÄyQ_ÒÆ sºù„5+ÍR¹™[ø»3Kçèsvo»¯ÝŸó©£ÌëÌ+­ñæûæûæbGqö.{_ü€|ÉWò…o„¨oNÖÉ<@”1ùR¾/·Û“ìÉ€‚ù„õOë=]O×Ó] &7Èõ\wâ¾xŠÕÉÊñµ–m²…‰;÷8÷$^H¼˜Xè äJs¼y±y¥q©q™þÊ&61ˆÁ:ÄÞgÛ!µÕÖ¨1Ð8Ëì¯{t·î÷•øöZ;ùN¿çûÄlg¶3'Q–'l^d¾dÌ0¦›O›~Ó4•ã9ž^ÞæÍµgêjù ãt¼^žüfòúdgÕþ•Ǭ¸î®§ŸxôÍz¯çE#ò6v}ëÖ)+åÌmCvh×`Ãi ¯»ÿ«éófݹ~æ Ik&˜ívv\Ùí‰è»‘o+wÊ0j á("“dJI!…dÓ˜ÆÞdv¨B+q ! øP?~”SNe”QN2É$ц4¦1™Øð#GÜÚu ÜH)¥%†’NCri+miÃ8½\/ŸdŸç[èÑ÷8³t6Si,iv„a'@Œ5×õ“ƒƒC#šÑˆLÉŠ8àqÀÝE¶>nÄÅA=XâF,е˜bZK+ZQ…ƒC™d’I )Ø88Gl‹kF]§°¶£é¶°=9äp™^Îøx~|P|¨®ÿEß ú³xžf4¦1µ'õÌ d'Înv³ÛëQ )¤x_®ý+-iA6~øÙÄvЈ†4ð xÂs×܇ã€à $‹%JC²ÈÂö‚*†wF€€œÏî,ÑwœwÎngŸÕÇìeæyoWߪáCXxÐõseш†4÷\J)õL|2Iøqp¨hNCü¤“†ãîIŒííå[Wî/4$îéxýî¦++jd)ÏÁNRi’é9#îÎÀa¦”RJhBiê9Þ6É$ãЀSH!%”h Íh&ÍÈ ƒ cÍphŽƒM‚BŠ(¤! iäqÕl ?¥$QJ %Fc‘]¢¸¼H`™„Ô£Bžr*¨`ä3@¯pnvns.v®ÓkÍ*3d–Óœæ4¢’JŸH2F¤~ˆºÏ•PB )t ÁD8’Û"L%7ËE\§w:·è$§™sŒÓÊzÛzÃ|UÇèXÆÒšV´âÏ+×a„BŽÁÇ1X’D6qoJ.Órʈ!BSiDSÀ=}Ø]¼at#˜(71ÑYé¬rV1BÏÕó…ææ’‰á'ƒ)$£8¦UÞ¿CÉ_!B=¶¡-˜´¢Zëk~|øjÆ‘xã7h9²úf™¤A'ÄÛ;B”½TRDSºÒÒs7íZ‹5\ëQBÅ´#@KiHª»ov5|Þ(tGdÝyçà(­iNð{a$Àu¢t{Ø+~hNc"$2HÏj™˜êÎgQ"D¤Çp >¢ÄÉ"DÔ¥Ú ÚµT|XÄiL&•Ä©Â8L ®|ÃTÖRÊ)•¶${;Ž;‡ñ¡X*phÐsÌ3õ`(Ç@q  ¤F ªg0aŠÊ==wmWsZЛ \I¼“Ðõ°” (~|øLÊ('Fè(œUO|TªÃ} APbTaRÈ^Ê y<ü#ì$ÜÉî»÷÷ „0QÂlÐõl ‰4¥ íÉ¡=UĨªáú^ zôY_Ô rjë BhJš#Fô¿†ŠRÄ> "„ñÑŒ2$•4B¢²Þoº<cà£êâÔhïPL A’i}DÝr¿ì£Ú¶SBµÍ©ÎuƒBåø€J&iœ×Ö#wWý ÷úZs°W•”ã£ÓëÙáϺ:YLq½ÚU÷›Â>Ðbª€øQõÖÕ,ƒBÖ²“B[ÚÑΓ¯ã…Æ]Kza¯íG  (,L@x®ýq=@7¼’L2~OOª;sÁ¥€÷ïhd ˆî¥˜bï„#ëªÖèDÝðW}O*ÉX˜àå ö °Ö+_—WåøðåÄ÷n1{ÿ@¾Ô´Õ÷§l½k½÷RR£çÆŸâÑ,’«3&•©¤\PŽ)ÖûV}ÚXpƒjµ9í¶©D‹ñAZÕÞ(öîÔ î˜@1åTk¤«nÞp=ü¨«å•úš.v¾Jþ6õ½´g7œ²zÈʳ\¼¬jí¸çö¹`Ì¿ÞùÖ9“wÉiÛn9çëÏÿí˜7–]½5úm/£opöq~•’Äͺ™où–\ÈEr)Ÿ±‰sYËz6±…ú*Yd‘U+Ëä:ÉI´Þ$€²)ìb»À0˜Á Æ ¼Ã"^Õ—ø„,¶ëð¢tÕëZ}øØÅNv2T†1RriC’.××A”8¦ô“¾ô“Í²ÉøÁyËYìQÈ~ÎÄÄôœ¿ÚB:%Ñi5×fv”$RIb13Y¬Ëô}–É¥r—M#²YÊ»¼ëq£ÚMwæ(Ò èN Ø)g2€3ÍùœÏ=ÜÇý.4ÓÏø”OY®ëXKúa°³v{mÀ&È&Èð\OÁp§9UúÑWÖÈ&ã7g“óvbDZŸõD0 @­•Ĉñ -iÉí2I&ñž.Õ¥¬g=ë=ì®O#de¯èn¶±[1ƒ§x›¥,åk¾â+ÒÉ ‡*„&1üÄhK+ÚÒ‰Îtâ}Þç}0»Ù,ÒHÓWYÆ2VèÝÀÍr“ÜÄz6°eºL—‘Nš¤Ç!N:NS š²‹=ì¢ MhRs¼— ^tü-ÞÒ§ØÆV¶0Œs8ÇÛÈm [ØI~Ú¢¤àžbú+I§1 É–l²ë„6\½LÂÞ¢è~üT»ÑZG^nf6 $[?ÒY$H©ù«K®¾¤)ú °Ž… ÓC2ÖÇr¬+Ãd(Cu¾Îcû©$L6¿é&Ry—¥2š Là<&çè3úŒ>×,g9©d’ÊLR˜I ™¤2+¸’Å,f±[ÓA*ɤRÀv2Œí £ Bk^c1¯‘D€$AqˆiZ|,y kIR<¸!t594D?áü¬?QD›æ4“ž88÷ ›C!“qøxu|Ë/¤F²g bĉ1B†1’:ŽD õ&ƒº¿ J Ä à-vû Ô+³?¢ƒÐצ5•$Ñ›q:•½Aª8“¦„QFaQo61aúy\@‚¿á!#8OFè4¦é4Úц¶Äp¨b·ŒEê¸`î.CQ9 ŸîÒBv‘ (ƒ%_Úr1¨§"Àu±,Ð"Š€ ‚Tg½Ô ö¸!ïmiEH®à&òéK˜ãèîñ³. >è4šTAŠ€"/³WÛ†¸× üÜÈf†Kw:IŸË—,g.s™«ãu¼Ž§íi‹Cd"€~‹ÕŒéºc\0‰¡X.ã2ùÞô!Â\æ2ƒ¶´!ÇË-ÿ쎲d$s7p9}Qò(ä)Ö³œ5|CާOŒ½b ˜„1 r‘O!,¼¹ Ž1r1c¤}¤Ÿþ¢÷j§VÕ"Z{(qQr>x{Òºyr©eÍaäSG>‚Þz@WËd ýyߣ֗ ˜„É#Hù‘O‹÷×Ú:æÂüß#{ׇÃ$·¯• Qþ2JZM‰áÚ.&Š q‰üÈÉ¢J'ê5\O{iORI%ׇ°y^¸ép>¸Z" ô#C>P拽µúäV YÜ+÷È]ì×ýDØÀ I" -hI‹:Úåjûn`÷gÒj3ªQþ.£d”´¢)M‰Õ£«µnP¬þ€EuÂÀÄÐ ”’±\H>ýèG!BÌ5jÚ ¨ó$Ÿ"Šyõ;‡¢ ·*ÆÈí5×z„Þ¹çéÀª Vp¶~>„‰•e£1hJS¢ÿ|¨¶ÿ!ÂäÑ<òC>!ÊÕã ái²I¨ P$c‹2\w°FÌ`£Ùs˜´Ü'ÜÑÙ”=Pk8 v[SFdŒä×hdè0{{ çȧ8ך'Üw•aLú‘G7s Eò°ÑÝy¦ê¬ÈK­^É{½_z0ËŸßbÊÖ¡ïÍyìk×äm/m:/É×|Æ'7'YíÒNþÎ79zÒ–äãHa>¿sß˸K&s·Lf;sõW†i/m­(d3ýêdü€M&ÐL¯­b –~N”RñŒ—Ë$*JoÍåvZë)ÚX›Ó…ýºŒ;ôÒÙ¡~$‹j(§¥ZJ)ãä^¹LLyZª†ª8O8¶óÇJ[Nä6-£„§ QÈ˲M»hWî'—\š#VkÊ4¼‰Ð.Ñ­5ׯ!"´q°iB2MôL­§°_FÊ\žÇÏ3ܯ×êý´£7-<óäxQ÷LÀäzL*t%\#ƒ¸\’d¾ìÒµ3½i¯¯éH]!ÇÒ<í§²Y7s+I´¡ Îa…Rµ ¯>úK€%4x0ØUÏQ¼G”±¬a7ÝYÁ"ÞÖ.¼‚K«ë‹4¡‰£wkcéBº¥‚ ¢äÒP#tÑÛ±õ?´”ŸäE9Ÿ{¹[j}Ÿ&äK7Rˆ‘ÂÛºTï&Ä]ò‘<-¯éh}X'RJ)e`%Šj’†ôà¾Ñkµ˜ûëÀ`›ÐŒLЉ:x–_,’©Î#WË+d“ ´×OA—p Ѐ6@¢–t Š4  +@§ð+h9Ùø%ƒmhˆsxTΓår‘Ð5:MÛ± X é':^'icYmŒŒÅò1Ö¹ÉÙèÌÓ ô9½€€4&S/Ò±ÚJºJé*WÑP®rÖ"ça6±…MØTa3“kåRãr JXjwí ÇëÝz¥»2–8¥Ä‰Io —I éÙÀõ¬ÚTÕSþ#ä’KBÿ¥Éb*Ó¹›ç¸™‰ŒÖïH#}8X8Äô7ö’+‹äÍ}z.¯ÐF:ÒÞsÝŠ)¡XæQ*÷8Ó4Û™Æïú+[I"…¤:“„„HšQz;…ÀÇ€¬Z¹¿?G‚E!Avq‚tçïò÷Ï&.wº:© Õ¾z#=åNgnaµn”â—ûd2c£úOª´”* ðcá§|#cu7q]´‹ÞF{rh‹𲂗õ}]âj2É&—„§YP=Ç€—€^ê]»÷ýøñëoüF,–GdÍhè/ÎM:D Cœt’©¢œ Je3˜¥q÷SæÆÈõ1½x˜%à–œ8DÂ1 &¹@®¨·ç{úlCÍÔið°—û¨±²PŽç& ð®~¯¿ê{ĉ¢^¥Æ.v²[²åÉà#y_;8¯8ó5™yi4  °ù76 ­Â&“,šq5¶V鯠?|ùºÁ¿ªã€]ü $“ŠA¹Qúɲ”¥²X•ô*ݪ'j>_r†>J6Y4f#¿²_Ö±N¦Êƒò„”èx-ÑEºEwè5ú=ãÉ"‡;IÔ™uþH»nÁ ’;\JPFË$™Éû Ó‰´ÄáªÒ¼|«[UT@e2Çe¬Ü*d+6p“Þ¡§ëãDˆQ†á•u‚[ž 7RÜ(/}„(¥Úå¨MxYÚÍ2 CÖ1œ°L§”®`ÊfüÀ>ï]?!ÐzƒL—Þ¨L¢ eÏÈHžã3ÝÆ6&s/7ÑŠš0OžÆ&@*µC³n;-PD©LÆ\)~Ζ­ºVgñ”’ «N{](RDHþ —ḹçj|è@„Í !"ëä{"2]®Æ @ ¿>q[&¥@!ÃáL¹» vIqH ™ ¹PVÈzC+ž²]nãbæ1?Wè‰ Ö \A~²HPFähØ]ÜR l¦¥ÑRî5¾4ž”*½VÏÔU<®72ƒÆ4¦Q½Eæõ“C¡±¼(×É2SÚ1‰RÉ«z¯ŽÖfÚCÖ)24ñcRJ¥ —é\,wËËr7El¦ˆ)(§ŒrR¸˜]|Hvw0„$ã`x¡0€M,^ÝÇ&0Jä<àx¤•QÛ1`›) ó$0Šá@gK/kuïl­Þa/‡`?&~ (¥@¦3\¦s•ÜÍ,6SÄfX5N‡ ¤’*ÈWH%àݯ;–Á" eÈlÉ'”!šÅ²ðc°m„Å’ðµ e˜&íøX§êC<Ès,a ÍiB6²—„4gp—‰‚Ü.†Ž¼(€Ê[g%A*’$Ÿ­\Ákò<£¥ƒ„åV³šßu¸^¥—{µnë@@€¼ìå¯ú1¼e,ûhETnŸDÉ'Ÿe”{5Aµ-ùän.ðÎÉ0kFE€n˜XC9Ûäs.”°¥/Ó ¢£fû11)ÐRJ9U†3\æ1Iæ°™"ŠÔ)£M @*È^¦V_{÷ëê–I9PÎ9ÒèLˆÔƒ]>„ØÇ>n•§¤L>—|z{z®‡óAkóaø!|¨î—ŸBp=}¹RÖÉ…²Ž”³™€—îªÛj(% §0I6E5uî‚}ì£\“Bæ/ÝéL™–Á“PFg|™²–rÐ}^^ùH䶦\7wÈc@_™„(€ZҪŠPºY&¬c8È`JL¨yÃÀIˆJéËù §ƒÌâV2øŒsxS.¬(‹÷‹´ ¾µqÔ§“ÊÊŠNÚ;]¬¾Þ¾!r»îîqFRZÊ]é£â-c“­X!­Œ ²‹íÒ‹^ô"ƒ4’©âCæê:ýYWKsZJK×êô¸*~K—ƒþF9Ql"TÑ]zÐ]3Hë"é"~ÐXIsÚp Ùl N€R'ÚVÝ=Ã+#ìNzÈ9KëBýP1›_XJ*>’HàààÃ"@Ålc';Yå¼jX]EàSZr¤‚µêèo“-´` 8Ÿ¬e5kYÅ*VÑ‚´¨‰¿ºßp ÏWQö¥Ým¸èÀ›¼Å"ÜÕí¤¢P M´˜"âXøê)wK2¬?þÄ6`›gzêFàÔ+LE¤;%ð©]óWjÞ0ÓÅQÄïìæw¯ôݪ)eOÀ¤ ­ØF?Φ/Sù’oÙÏïìòrGqªˆ#$#À* ÁfdÒ„ EC¶±mžçÆ£m|øhÌN Ȥ˜bºÐƒž”PL1;ÙI·ZÉâg;Âv¾#Î÷äs ùüÀ*~ð¤àfÅ` «iLÈ%‡Úñ _óqâ"úŠM-Ù̆Ëé°Cg«ø‘d¯ÌØñŠÜé ýM—ao¢>´\ÇÃÉø€ŸØ l£QtÝÙ`‘“ ì$à'Aœ8hL#Ú‘C;Ö³ž (ql (£„ïØÂNâzË%r)—è4Æ4Š8@‘WÅPÀ v2† ¹ˆB )ä}>௠îÄÖ<ºsãȇ|‡üÂ6zõJŠÒðÑØÉ¿€bös´HéÁ¢DÕvà'H˜ãåD:òµ~¥áÃGª§ÃJQ|Ò‚Nìi¬EºGßA§T$HHŽäH;§ÿÑù^NØð ¨ý}°hü†ŸC#ˆÿ B‚*¢¤’M[ÚÒsx‚;y„ŸYÏ.RI%ÉãgZÓš†4¢!ëXÃzÀ="½q͘Î#c½rî ؉ß[-éÇ"m‘ÍOìÄ&R+ÌR»üøSÐOkaÔDkÝÑœæ´ðÀÏrý’½ØÒDÚaxK ª4Î)œ"§°Šù±z éj] lcx[p*aWj>À§;S ê–‰º†rJ)$'­¤çê+úÏSI˜HUî]éBg™ CÈÑeºŒø™ŸYë­ˆvá ü†z[Žòe@ø(Å‘.(ö-Xø)/â–¨íe/ƒ8›!øˆ³ÙÎböÑ”JüØXTaS冚є椒Ÿ%,àkö²I‡Ì:G'õJ+ýøÙ£{t7½¥—œDsŽ'D)•ìÆ¬q´V‹M6hLÚМóˆr"¿ð?!qHá´zÎy(¢$0‰Q{n¨&7—âôZ“ƒC61Rˆ#tDpóêå)Á&4¢¡ 6Q‚^•AúЇoø†oH'TΠ#N îÿ~ ö!"=8žŒ’6äó‰~È$p[pä:‘"@/zäHÕ¸ÚOºïŵЏîd­¥-Ù4¢ze|ݧݺˆ‘’C/ —çìÖ-?UÃÂÒ•UT±šŸXÅHF2’ö´§Ÿò Ÿâ'?Ê”£—@\ t¢iò r¾»K…®d%+ëY²t4+&TyK|¢„hOOÈñr–\E%ì×ú²¾â-å¨ý–kisÈ&GzÑš^!^íô‹……¥EQD˜ AH›š2ǃ .\ˆžˆôl" ¹tRH¯€s×G€Öô‘Cu ¹¾¬÷Ÿ-ö´6ÙäЈÖô¢5q"Ä©^Ìuð7Ov&éâ]×_E$Þ*Þ=@.U@ Bý!׃ˠLÚ`'miF†\&—Ëx¾ÑoôÝÎvD2ª£ÒZzÙäñzøàŽfwW€ Ù@­‹ 2 ?\‹ÿ‹nd«üMþF[®æ*Nð²¥_°œÏk’]B5œé]×—vCŸ66{È¥#U¤‚Ô£¥î(ráíñäµCBµu'E8‹8{(¢5!‚4ÂÄÄFkY²j;#F#rÈ¡5½äxâD4r¯~C.쮹®O^âÖ"IþdY^šª>$Qc­µPré(§’B –çU‰½êåÃÁV 6&6ÒˆÖ 5q,âÞ_ëëW È!ô¢ˆÔÌ—ç”*:’Ëé¤âU¶V÷Ë­kÊRè_£Ûõ÷úP]t÷ôpµÐÕHÓ[(ú‡óŽä€dk ´îRE1±‰iF’C¹´çd Aœ_t†z&W¥^í²*Îýí½_Ư~âÿ“Œà›{L "zTXtCommentxÚs.JM,IMQ(Ï,ÉPp÷ô 7â‡}öøIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/gsch2pcb-libs.tar.gz0000644000175000017500000003577313634703632020224 00000000000000‹¡š|?í}}{Û8’çüÛþ¼ìÝurceˆ7RÊ]o?Ž“™ÍŒ“xíLïíÞË<ŠÍ$š–%¯$w:³·ûÙï|«%‡¦íèÈRE$P¿* …ë³OÅÅhýåâw¿¹©”¦œæBÈï”ä"­~»ô›4Ï™ iÎòü7)!Yšý&7Ö¢JºZo¦«$ùÍûÙ|¢ëÊ¿§écÙÿ«b>ý2Ú¿žóùˆ\žožÊË=Ô‘’4Í8ÇúŸe<“ýŸå‚RÎÔX "ä7IÚCÝé÷ÿ/ MSJHÊö~JX.‘¦  KRý߈¨å/ýoïXþ¿"”½¥¿5ÅÞ¿í½KH>N•9ÉX^5×/g‹ÅÕÅûbõiP˜:4źøWÍ„-ZgûæÓ÷Åü‡Ã·¯_¿}³÷ï²cI“«ª‰û¡ÈuƲˆmoP4Ú ²saŠÛðæÐ×Ï\ý¬U?Cëg ŠFýÌÖÏÐúßêú-E¥rÓ4¥ÊEƒ¢Q¹°€V~øöÕ±õû¯€1OZ?mP4ê§¶~ªŸÊú.Ô8Mõ·jqu¼Úl;’€\{ÙŒu8Û• ås•¯Š æ»u¿¼.E˜a nœº.ÑÎWש)ß¼©vùcSü¸›ë˪’Vî)s¬Ú-/N‚ù4)t븧PŸ‰* «&íhFl†yzE%oçó²„4O2vc•‰ üê oæ{¨JdUóŸëë®—¹u<µ½*‹Ë*Ÿfu>/5ŸV¾½.°ûÓòþ¹?·Åò™{˜@¾þFÚ¯_™€óÝuu?GÊçö ûWr¤}ÜvSžBïçëæTWê±ë—éüªøAˆÑŸž“ÑKBO%iR®ŠçÅú‡?ýØ¢p(÷a¹Ü\®f‹ÍZ×"Ç/Þ¡´çÅ/³³â‡“—Gÿ¼wsò¿¢ÿÏ–çÅ(íI髤ý¤”ýñŒ¦DÒ3Á£þ7HÒú“=À¤L'–»‰åâRªŽV$+LoªuŠ«&ž&-iŒb÷ï¶xj‹¯êKò;P¸Ò ÆV ƒ…}  ÔL¦6ƆòÞ6ù뮌öÝ.7t·{«mÜ¡2Ÿ€`òB‰V°4zñâÕÛ/m•ˆóB6Ü‚ …1޼‘uðÄš˜î^ªÍÿ׳õf¹ê]tâƵý‡ËŒ1IÏO#þ‘Zø_"huNiÑ-ѹÃO ¢Mñyfëä œ€c/ '´iÃÐÓ:}Y š·³Ýu=7ïfön†Ümì' ‡ïæönŽÜ­®ÃÈ¢{Šˆ€“—§¯Nß½=±/RéÆ,9ùÑ&Åÿ?ÙŠÆÕ[OÒÏã(!¾¡TÁÿ³éåôl¦Àår>íQ tàšSáô.Ô\€!hÄÿ!R ÿ Ó@“´>hóR,óŠŠÞÒþqSôzá-œº)2\¸µÚCèy «1ûp }a%=#ªnõ·e:˜$BÙë&IÖ2×ÙÖ1œŽ_tvÖìÐί~¿…]áðD¾¦]äÿžÀ.þÏ”ÎgùŸRµþÃ9‹úß ©Åÿ~þdQl’š£›ò3º, ã  i6f49îÓäbR±š\,º¸¸e4\œ>5|L­2‹±ñŽ\|ýTáÿÍjº03Àu¿¾Û®ÿçD™õüd,®ÿ‘þ~(x6þ'Ç:·ý/ÿÕÿB*‚ÿ‡Hü?ò¨äÔ´:D7ìœuô5.kȽvSSàÆÕ5ßÜN['uýάù¾×&âŠiÓkˆ›/—ų…–-Â÷3bûæq;§…›§§×´a½®´Oç3[ØÀ3g¨ÕA} —WßD÷òªöo^œÍæ1×< 7¹æ¬y…}ÿ$Ø<Óû™@,]”c mâ V²3ù=WÕU>“t9´kîƒóß™&ˆ€~süæ/ïNÞxKˆ¦6ï ±ïÞŽ&ti 9,­5 ZLoÿÇïµ=Áÿ×ǧœãÿ%Ç%óò?Íôü?#YÄÿ!Ò½Á–ÂèõµðÏ:àŸmÿÙMÁ?é€áÿúðFƒß6üô1 þÏJýŸ§Qÿ0Eüÿjü/î6þŸ ‚ÿ%8J€ñùøÍqŸ5ͶPÏe6'˜z.¶PÏËGSž¤9`ü÷×åýmy?œÛ,üU) ÿOnEÿÏ3­ÿGûÿ0éÁãÿ×›nÿ¿Þüsñ? ÿ£"þUÂðÿGŒŽI? ÿ³ÿ¥â¯ð_ðˆÿC¤ðŸ„ñŸÜ.þÓü§·kÿ‰æÿ³ÿÐŒŸvX€ ~Ë& ÿå¨êi°þkÿo‘Åý?äÿwÜþC;ðŸ~»ú¿ÃçÀ À Tœ\?¡øÿR™eúqíÆÿ¼´ÿgÚþŸK1ñ€ôàñ?êÿVÿ§éQ—þoPðž„ñ¿ÐNøŸSƒÿyÄÿ!ÒƒÇÿ¨ÿßYýßâsHÿ7('×N8þ˾lýW”ö% ÔþÏhÿ$ €ÿ,Œÿ,®ÿFü‡ð_fwÚJEôÿŠ„àÿ»WÇL çÿYâ?QtÿIÔÿI^ÿöŸkÿé\ÿÕ(xø [‚ø¯üÿ×}Ô±þ íÿ)X\ÿ$=xüöŸ»ªÿw¯ÿj”ÚŸ£þ¦þ÷äý¹#þƒÿ$Æÿ$=xüúÿƒÕÿ;×5 >Xý¿¯í_;Äÿ‘øÏLüG÷ ’<þGýÿÎêÿë¿¥¢úÿ5 ÁÿËÅåèì}1Œÿ?W>? ÿSžr½ÿ7£qýw˜ôà÷ÿÞqü¨ñ~ #ÿõûIþ/.£âìýàøo|A%þóÿmôàýî¸ý'Æ»û ˆåg ùrÛœÛO èÿÅû³¡ñŸå‚üÏ¢ýgôàõÿ;îÿùPãÿDý˜Òÿoÿ¹Žÿ)õÿèÿ9Hzðøã?Gý?êÿþhÿg¥þO„±ÿÇøƒ¤{ƒÿ´ä|âòïÈ žÿÀ}M!ü/†·ÿ§r©ñŸÅõßAÒƒ·ÿ÷ÿwØÿ'„<ðÿýÙàþ?,Ï7ú´ÿ ’¼ÿç_ÿêÄÿ›L!ü/·ÿËÞ Qÿ2=xü¿ãöÿ¨ÿGü¿Éòÿ¹ÿÏ4KþÏ&EûÏÝöÿy¨û¿¢ÿÏ0)€ÿ·¢ÿsN#þ˜¼þÿõöŸèÿñÿÞ¦þoÿçÊÔØÿcü·AÒƒÇÿ;¾ÿ7êÿÿo2…â?܆ÿ`YÄÿÓƒ·ÿÜqý?ƈø“ Áú†MR>Øù/Îÿ?91ç¿Ðèÿ3Hº7þÿwWÿû¿îáúï»·£‰ ‡¬ üÆ‚+ø¿>[ŸG›bu1[Lç}ÿüM7þ“\Ÿÿ.±œéý¿‚Šhÿ$Yü—/|ï¹b52™h¨eM÷ßîßÞO á’X~H7ñ‘D©IB±üæ¼DØ|å¿“-šH911\Ø`ÿw/O^¿zsp¤¡NÞ.&%³’q…]´% Ñ(©„Ç#ÍZì©ÿhM¨¨+ÍíhȆ² \+I@ŒH›…šëH±%0RTLS×ÒzÁ4T0C ŒüS3ÏZ³PÁ%PsYðmþ˜*øÿ©˜ž«ùµ·ÀÏ6uá¿Rÿ¹ÈHNÕú/WÇÀDü Uðÿ'­c£vÃy.´:¨¾›ô6[X( .©.ùî2Kv—©©ÊÖוLÊáÂÕuŠä»ç‚ó+(ÈZØ]Ÿ£´e_ …Š@hH‚K±|' ²O¨Åæ?¼Ãt@áŸSÿ@)ÒÐkõ=¢@Ï¢3êÊZ{ƯhÔ(7¿ÆÅÚÐx4†x¢I—ãrºÊ¾=m¡q" ¦áy˜&­•¨«¦‰žÝkßp]*g"Ÿ1È/e"¶øŒ‰ãhPŒí¨ÉÁðú’ŸÁ4Ü£ôæ¼bb A{êX xàŸÊŒf;ýwÅYÀ³Ò6Äþo[2É·$ö/~ë’·kÆ‘—«"_ÜBñ ìÚ‰F(ØèHÒù%2éU®v=*$4ÔHD…†¡Hít +"¤:?…ŰxŽŸÉP”rNF¬v3µ¹Ëy×iÛ5`ý³$Ù•ÊZ¾µª¾R§Ca'D5ŠŠ5ôÕÑHÎÏnÛÔ¦ŠýoUïßÑùÕt>êÑرþCSNÜú?å5þ_ÑÿwÔòÿõΦÒó|Ñ? ùä2Ì"0VFêÊ€àÇgP ™P[¨¦Øëzñ»…‘fЏ…Ò4>„LJÔú4¡¥¦#VÓ¬tý¥Œ™J5¹jCª;bÃSoŽ¸å¹ŠyW¡½vn_;G^;·Ý w8ÿ à~fï§ÈýÔÞÍuÜuØýÈçÉàœŒ«ùÕ× êLÞ «Á/o"ùm±­U‡VZ6'/½{3O‰*Ÿ€BëÄ-ã±&‘|éSæ6]iÝYÄ;QrànJ­˜úJ¨üïѤËÿ#'¼”ÿŠNÊÿ,ú ’ZòŸ[ü¿UüÖ:DspЦ7Xüo£ï±ßÈ!Òæò w9¸øÌÈ»ek¡OƒBßèc?n;ïklºÅµ‰#]¤Û…Íñ˜°b3<=DºÛ]Ï‘îv×ÇHw»ë9ÒÝîúìîÊó¥Ý«Ù¹¿ºi«)¬:&«ÍÂíÕˆ &ªÙ‰jÿ7«ÙÅE®€û?ådOíÿ„HÝGŸÿš’xþÓ ©åÿ—W|ÝA¯¾ˆÕܤ8¶º5¸G±Ë÷/¸9Óyƒ›3ÝÆJæx¸V¶ÛÝWÁÀæÎTÇä’qÀ¬(³ÞŒT~x8ŸBÛä³úëoèEaðn{9CïU¹°Ã¥2Íɲ3³ñ•XT<ûì³)­-6ÿtpòêàùÑË¿Ô&T©Ž7œOÁ±ÈŸ\…ý¦' TîÞlªºÿ¶™£çƒûK½_ëÿDðL}´ÿ7‹û?IµýŸv_b®×±ìjV•ãü·_õx§ýEÒš#—úWÓËO³³éÜlQO½3Œ¨ðêÉËŸ^¾zûæ™±¢C$ÏÿùYRñJ®å½{õîè¥^q(n~5Û­HøÄ‘ð B’_Šý®“Üv_ÝDªùÿŽÞÿ7%<zþOrªÖš¢ÿÂÿG 1¶lºäØ´-ªÇVƒ)µ¸ú"ZîLª5‘ŠÚz¾Ü¬M”»,^£PÙf~ž[§„VöyñáòŒìÓ}fé&Íz}–ïgû¢²¦tö"V¥L2íÙXsתè«vݾúœ5m•úWD›S´`ªBÏv‚K;wJâµ²µ?Z¸z{Úé.Ý® »§EÀ{[”¤ƒ%¥ðÞ­¥Úû¡ðQμ®ÂþèH`ÿá‹WÇ㪽F¶(6?üTϸ£ ÅÙÙ³±uÔ>n•×å%F~K‚ÚÿÝ·èÄÿ4+÷«ë„ËŽŽø?Djíÿ6{к]cvÝ+.Ü®xÍìk6ƒ»V#»½…Ýí å;ÿ8ÿ8©ëF ÜÓÚ8:#ŽÖn·7¼<´‰œ†6‘›ÝÞÆVÒµÝÛEüÀðVo÷&iÅ-¦ ·§¯ŽYµàþqÞBxÏ;jÚ† œ5»Ð­ÿ[Û4Ü¢·Í…·—ªóÿO*ð¶÷» ¼sÿ7g%þ«X°rFÅøƒ¤ þ£Q~œVß¹=»b¥mmÏ>.Ý*ZpêüZBÛË'iuGÚÞ^~ä[NK¨¿ŽXRÝuŠXbýuÄ’ë®SÄì¯#–d=…¬š›gjØ^1e:-5eºh€˜-Ó¬†Â|üd¬±Ðº]×{•êû¿Iþî @ñŸrƒÿ”ˆŒ1…ÿŒñˆTÁ†C˜?üùèÀ@ŒßÁƒFפ4=­,‘Ãþ×r¸)MT]­ºˆóÓl¡€ ÊQñJßi[mdMÏÿZqâÖ»4„æÎNÒ¦À•þÖBa[+Åö3ÓOiOªË×\_ïð= yžJä’ÖTÅM2BqÝý˜JéÙˆ¼µò½û÷Û”^~M5ñè½Ê#¡WÂmñØKá^B:ãŸÀíõ‚ò³J>!!«”Ù€ô>)ãQµ°jâçÖÿ´–1²ÖÁVÆØŒVQÿalýûÏ÷ü¸¶ÞSÿéàøÏÝþ…ÿÌà?‰ûI5ü׺1¶£Ùá¿&ÊšD-ü§Ö°Ý Œeðÿõ‹šR{ñ[7y óŒ@ ËsPx‘åMÐõ*Æa‰à*q¡à0‘3'^/¿µÃµ ÛY]*8/ɶk1õÒ¹-"¥sí4ª7Ÿ2•× •™ °Ô_†Áung‡*—¢ÅOЀɛχfWUÙø;ŠÛæÅÛHÿ6¬ÿ?¥êÌOíÿ)rª÷r™ñˆÔòÿ7Û$·óÿÏ·¢½iÿBì0bÏ …Ž(Clû 5• ÞO½î¨î‡6@ÕyŠÛÛ G‰§X~¹@ é®}Ù^óÐ h#€•ʸ?h¦Ÿ¢ªöWŸ"pœC êžü&‚/$Ú£M5åË÷<¸|Ï·Ú³ ”ÇB¤×Ù‘·A¨“ “Šú&6ÿ0*}R0ÉèÜßœ+ö#ú‡üŠ2yÈÉÿ¾×€ºæ)å¿PgÁJùã¿ “Zò¿¸¸iùŸÛ–äˆôÏ­ð‡ò}Œ0k$­oXÄ>_•úa!…K}d[¡—ú¬KêsÛþI‡Ð'A¡Ï¯+YP –B?ÛMæ_C‚ò 5S?Àðý9¶¿q9y[ü_ÁÿååôâRÿÿ…±ÿ1N¸zÿËãúÿ Éâÿ$ÕS³\cüQ[ám.ñÁ¾jö`°Vè ?o^+ŽqwÕèÕa+Îõ #aò3›ß^b?®_®[Ò²´ô/  ®JaJm˜éœm)O›VÀ,-ý'Ú…ÓE£ðÊYxÜY®êñ=Îʈø¨‘¸¾©ˆ$k¡CdB£%|$òF-‚‹k~«„zŒ8ÖG3H‹¥›4éÀ˜ ´Õðé|óEúÃé[O ’“¬rÎCB‡¹m^¾N*ñÿé‰Ôÿ/Ѝ£sÿG¦õ‰ùDB‘²ÿÉ·÷ ’ö¾ûî»ÓåE‘,–›b,ÉÅ—Ä ŠäL¾›åE"ÇÆûå|ýT’ŽvJ{{¯¿¸»õš7Éòj“|žm>%ÓÄsi"yzz5ßÈ+«dºHŠyqQÈ˳Şl‹mÄåÙû‘ÍX'óÙû§{{¯’OÓ_Šä—éj6ÝÌ– ÝúµzWçæÓt“Lç+9°¿$ů³µ*T^-ÜÂ=YÞJ–R¬Ÿíí%2ùH¸:BâÓëÙ¢HfòYΦóâ\>Ã|¶ÙÌe}Óù¼X%éÕºH6Ë䢨K©Ò_™>q%9_Ên‘Ì—ËŸ“õìoÅy°¤ËÕòr¹RÏ/Ûð%YÍ>~Ú$gË‹ËéJ6Q¶D«uë`Ó…¤\M¦!²§ëo¡ø»˜®å“ŸÍ—g?žÉ‡]-7úõËW{>;›nT'®VËÏÉçO³³O;¿ÝïçEåu,¾ßè®–íº—{—S•¯~wCu¤)§¹òëB⦩Ážå,SgJä” 7ÔžZzàø_ë©.‘¬ÿ::Ï`¾ÿ #ÊÿCjñü§AÒÞKÓùÓ_/&ô8x”<Òÿü¦?¦fQ"µ&“’þÉÞã½ïŽg‹Ç©6z):ù—Žõýä‘£$)ybèL˜Ù&%}T–é()HÉJRr€’ƒ”  ePf ePæ å¡™9uâ Ò˜¤ÈƒÁÔya05Ôe ¥†º¢ÔP×”ê>Œ¶Ù–Ž”r÷x¤Mà&̨èÍ|•1b!ŠQ•bÄpý4¥è†KšƒÕ™+Ä îõ–Mödk=©‰ÿãÀ˜Îø_÷øÏS-ÿø?HÂðü­Â?ŠO„ ð  9€6„M à æ0¥U)î<6Åtó©¥ÿóþëè\ÿÉsÿ43ú?ñ¿I¨þÏ¿Up»ú?ª¨CSTO‡¦¸šMp5šàj:Ôk¸šõܶHf˜ˆÊœˆB)FUЇ+ køÿáj]œö_G×ù?9/ñ?Óñ߉ø?Lñ_‡ÿnÙßñBþ Õl¬¾²´!š`ݦm‚IÕ¨:‡é¿´ÉdF.Qn>†ËÂ4“mˆ§vSÑûêõÿ` ¾Žoeýÿ„öæÔÿK”ü/˜±ÿç1þ× óÿ«8iÙïþl¡LÌ"Ý$¼ hVÜÛÄ@à\šY ‰³ ËjT€¬7O¨T9rýq*m“1MÆô%â*°$É3ý™ dÂ*;ú3†É„«©ª’ú:[ZÇÑΦ›¸³ b¢×3õ!09º4ªÈÔÚ¨*LÿÁVG³´V¦~¥È˺xzß®ÿõgêÒÿ2VñÿÊ2£ÿÅõŸA¢ÿ±ºÿ‡j+³/¼ÌÒŽ`kÿiPvÚLè]ôÙÊs›©ûÝn)@R¡@ F~ LöíÌÊ7,¹Ê –b0¸«ñ%dŸ€¶ÿ§â¿rãÿÉ•ý7îÿ¹ù„öÿ»·#šñ£>êèœÿÓJÿëø‚Åõÿaˆÿ¶ï«;ÀÍAI÷pnzÜj·i¶h¡ýŸ¡mîÿ¬»ýë›tH …Ú¼ú~ÿ%B`ŠL»»R‚yæ~Ðá0»ÏÔÁÿ½DƒèÜÿò’ÿ9Õü×ÿ†Iþ¯E€0‡¼ëÖ}á™ÛGM@ÇÁ¬F“¡$êî %™ÓÀ;kr$ÝõàÕ”Mñõ|æ„ø¿/ý«{ýyþWŽêD˜ÿ˜„ñ¿¨Nÿ¬ðïÿbvêB;€ë€ú,Ž-ÿ«If|&gY$SžŠIÀ%ƒÌfyZ(ÞƒÊJåŸ (§â5¨‚L¨lcƒm«DÖ+¸BtGT…ÿOh?utñ?'´äå ù?‹ûÿIÿOhr+ý³îˆý§åÜaÿ©x 6(ƒÜoÖ?æ83ZRLMó»ÅŽƒ§ þOÓAôµØïõÿSÄóßJ¨þ/û¾ŠvÙÍDÚØ8Ý,å`)ÃòŸ8¥^ÿ Ò¥YT·™»›¡$úî-jr$ÝõàÕ”MñõôYü?„ý¼bÿË ÿ‹¸ÿwàÿšýo¬…f2â]S€[ƒÍ™ø íDÖ™ÑAN„ÂØÿÚ™.¬åF}z/ÌÔ¹›ƒNË>DÃiF¤F„”#õêšT^÷e"ìÁÜ ÂœëT¡]U²{ãý Rxþ×O0ÐÎù_eý'K þ³¸þ3HÂçKhØbË  ª››R3¤*‰8 ´)Äÿ„fƒÌÿ)ù_èó_¥þ—Eþ"aü¯ú¾z„‹$Ûå”vkˆU®R~²Â£Â¨œ!àe>bï5õ ¤~n²y™=8¾ÔøU̧_Èñ‹wýÖÑÉÿ™·ÿR}aYýÿI ÿûqP1¥þOÒ¥P³óŠ#€ ¥M M• L M…Ž´’CsÂ1Jð y ×ÞÒµY#,þ5{Ñq@ü#¼)ŒxXÄ=‘ÿe>"þËòï¡øGù³š]ôå°‹ÿ'7óÏ&Áü¯{ßq¿±ý§ê„QçG‰OÿõdzÜyþŸú4iaë(æÿ±áÖqŠÅv°9(1¶ÆþÜSdAÀŒ[;eô.çE$¬-Aáà­¹ äoutŸÿäù?ã¹öÿË¢ÿ÷0 •ÿÕøf°ÙOéî²ßnÞÀD´Ýüfû|D‚§¾üû(Á¿.áüß[øÿø_€Ðç¿eqþ?LÂø¿ÿß-þõ¢û_ÿµœCSsÍØ"¡H¶6“›üJ`Ë÷‘ÿ?÷vüãnüÏ©áÿ8ÿ$aü_;ÿ‘oÉÿf¡nä. Ê.þW6v0ÿçZ¾ƒÙê>›?B lùž òÿçñ¨¯Ý Ý뢴ÿQnìQþ’pû¯Ûÿ¸]‡îeýï{@Í… €ØÎaFÀòæmå¬ ‡•Uܯ9Dÿ?\­‹þ¶ýøÔÿ›•ñH¦~FH\ÿ$ü¯ÇAu€ ĶÑ*«zØoÔ˜[´0£0-ä4iº #€×ÛÜG}4Xx•ÀÑ7âcWÆ%ɪ$HSÿ=e‚gŒe1þË€éï’•ìþéºx–È.OÈÓÉä¯{—œO7òŠL¿_Í’?^ÍB’tòŒ“gi¦ð€I9I\iõj’ÇÏÕßšÍ×ËÅþþþIði¹Þh‚?ËJætoïøðùãGjˆém%Ú_SrËÞV³óÇ4}ê!Hÿ÷dïðjµ^®”¿E¦,ÆOö~?Ÿ~\W°JƒE!$^üaµ¼º\?~DöÏžÑýõ3öŒ?ϲgù³ñ£'{§›/óBæžÎ>.¦ó}’î ±OÇòdzãåçbµOÅ~–î3¡®ü~ºÙçiùÿ§?Ï‹/ûã}–íÓt?—åí~¹x¿œ?þ>ù>!c…€Oü¥ÿ$/Q ŠæŠŽä­æÏ&@…¤®ghÝI¨ëeà2ŒÖ,‚ØË&§,äïàB¨^ 35ÖsˆÎ!­"tñÆ §ž¥s\FYõ†ª–˜ €RÔÞ•j’*¾µ4M\%­¨{¾öÙÀïí7BÝËj?·zH–Î1ù­Ö1ý²Ú/Øö o¼Æÿ÷ ‡yS@sìÛë^.±½4‚d¹Ë`—¤¦ÀV·[LØœö‹2!:Á,ÕÂÆðlfé~4Í..p'’E¡þ2ÄϾy;ü¯(,2ÀÁNÖíD:†W†V£7y aÃ*P»zMºÍ®'Ë÷ô=üžHYoIûxçw ¾;¨O0žQè‹¿ó’ßË¢ÿú„Hg˜à³àtÿNÕÿšÀü[D&ìZÎ>‚L Œº+-‰ŸÂÄúM6 þÚÿhk´é5øêRdëúMÛCF_£P D8¶Æ×Õ@Í­Ž‘ò¡ ôÐx1u9´RL@!ïˆÐA­¡¬°¸1V0§9RØŽ ½å΄¥@X†‡ø A H2=Ñæ_a!\¼Íª…ºL8¥Ô; LþEÜÄ;/ŸC´0LVœ4ªòßÑ×C UÎN Úù(‚ûy=”ÓÔÊ~@Ÿ ìõº- ,æïC*84lY =Ô xº¶·ùŒh6BÔÝç¼×â ¨Ë(¨Zàsó­§×V‰@,¬Hõ²™ÏC Ü.†:,'½æ,.R›d¿æÃÃOÒ›žèÛÕ„µCT/ßJŸÓÚR¢_ÀßNç[{ëS| ¤`S_â8 ´PñÛWû{ܺýø©7³,üPáèkÆX¶/„½³¦‡¶æù‡]^·Sñ¶‡¤WXña G‰ª]«,ühá˜<Mµ¦d0 ·¨!“ˆ?í6zƒÓ¶öíV: y½+ƒæk 2éj/v½ov­Ý©Å½Ž‘YVú—Ü÷Éà µã]DÉÍ ÚmôïüÖz¡©Ê‚Œv²‹)å&;b›â&͇8½y‰yí Þ–²/,119»¥†X¾©w»t7¶ øg$wU,®aªä”Mú)Ð$t~¸Ó”¯¹ñ2þigqG@ÝÇÉ p”Uÿ¯y'™ÄPu‰aOÁP(3ʆþóŽ —m‰Ó•Ñ1Ü àA¹àÿÚCmõ/^ ø_øÚÞpEêcRµ™èÿìÐŒ ÜnÆÿÝu¹£µ\ö—n»AIðÁ-ÀÛw.ú(8¯Ëvs|Ò®‹¹¹bpk¯ì-îê»AÚ»D}ïã98\/]Ò†ºÚ{Ú¥¯†1%墶 Z>ÿ¿":y÷ Øß¡V>âªW®Ã”SˆÖ»©[ž¥n¢ yLI²¯Í@8u×±ŠpÖ–„°³z}x60(«®ÐUÃA,Xj¿„Õ› ‹‚F¬Ï}¾¼QðÊ–ã}0‹á¹jKiàOKû ‘Û/ÿ×Ç"¾lÕÔå¿ôóªï– 3®eóño»9lã®Y˜íæß`àƒg[fvjØØ&²ÿ¯KŸ.Iÿ}gß}Ì+z‘¸ÔAŸ Ùð¨Î†«fa±s‡´¶ÒÚîöAèñì¶ µöÿ6c{˜y®æEOÚÙ*c" &ŸÚì'{GÓ/Åê1I-/.— IûÈl»34y´^ÎÏ‹Uí*KýáÍ‹Ú%ž<ºT;þj…¼[ï $µË™»Lk—óäÑÕâj]œ×®ŽÁ«UÄüçÚ5’Ö.ÞêþÏÚþßM±º˜ÉÇ­/‹éÏŪ§:ºâ? âÏ¡¹Š©â¿ÇøÏƒ$ç›ã vŒ‰²Ö}œ‰Æ£¿h ú0˜¦…BAéxEyI­ 4”:Á £F„™ÃUÄõ‹j¿WHeh†ÑLjåè_@AT/1Áµˆõ´¤CXÚ ,ÛçÂÅÛ ŽÆ»w9ê¡i2Ö›!Ð&¸œ<Ã(&öuOð7™g% Òi®¯ôŽbrœ„rÓLs§#¹/1ª Áÿ^AuŸÿéã¿0"ôù_yãÿ ’:ð¿ŠWÑŸt¡¿‰µ¢ÏÙÈPôW Ñ‚g框À߆lÑŸä6FŸùnÇ›iY~&"¡0–Úõ Gªq9ª,˜Âå¸ÚZ'ˆfHl˜ÃTÀ¢×Á zü'ÙÅ·ÿ)£ÜÇ’ÿTü§,žÿ3L‚ã?™qP >ÞúøÏ-@Ùð¿»€Ê KäH¦Ìdg׋î¤MКY&VG" 3_(sÊÖË0‚J¾‡‚aµˆÿ¿_ÍÎ?½#@§üOýüORêø‚Äøßƒ$ÿý8¨F€.,SûS4ø7­êÝüÛQªs[ÄÄGHÃ3=ÅxŽûF>ÌËÔa\ìK¡î1×Ñ ¥ÀùZæ›fx°™¤öü±¯D ˆÿéÀüŸqæùŸÿ[PùˆâZÕRóGω»tsf˜þ hDÀ´°¦…€€#冑 bÖRBZ¹>þоZ²\ø™àý*_•lé€ \ÝŽru Æÿ—Ÿ–‹åèüjÚïHïŒÿ/|üÊÍüŸ¤‘ÿI ÿ—ãœû÷cùe;X~µ­-…¨1pw¸€ÔˆÝWÛ‰ N/ºÎ$wG£Àºƒ===(¯P ‡‰ºÓ—G-eäBôzb^< \—>ƄڳÖ@ŠJ>…@ÌÍ•àÜ‘;Mjäæ’ðñ$p#¸½™£¾|^­ç>ho8UñÿéI1=¿(z¯£ÿEƉÆÿœHˆêü7FIÄÿAÒwß}w(_Áò"9>|ž¸‘ÌIudì%.¶LþŽWßÿR$g¿‹dó©Xeëùìã§ÍüK2Ÿ®>«ärz./ÎþV”Õm>MÉÅtñ%ù²¼ú~>O>Ìçªq²(Ýàùìýjºú’¬—êÒ—älºð7¿/’‹åªH>,W²þÙâc²ü|˜Jåölº™-e!ÅÙ§Åì_¯Š§{{/fËóbŒ4_ÈsÉ Éúrz¦î”U^Ìæ*_ÞûI’&³ur)¯’½mßüŠ^H(µ?„ý!!«ÒrãmñÕË ¿oú½÷BjÉ«Å\AêñôìçéǪ¢2½Ó<5ï=9[.dÏÏŠÅ™¼¶öÝvÁÝ0¨ÝûèÅ«£DŠäurjžõ‘êÐärµüe&SÞ}ñÔ´ðÕ1áþWæ~ÑÔýïí=ד˜dUœmffz|é'XãoIßí¶Q_JÏ>è_µûåùûn^Ê©¯þÇȽù?Ìýàî‡p?2÷#w?Æî‘ÝãÏo܃_òfRüºYM}Ÿe²‘Õã*æ—òÊL-nŠä¯W—Ūþ:צ7Öæ--§«óµáLuthÒHÉïhòyºÙ7@ÞTm?j¯I|>jSéç™Ä×Ï’WÎ¥ðür¾ü¼ð÷œnqTyçW—ö5ÏkÞ£¯³DùˆÇÓ•/½”#l­FúëÃ×öîËåf”6î>>”h°‘Cj¶¼(L ¯—글„‘\õ1©ÜL:n¶¤›Õì¢ñ>K$”$‰Êº¨ÕBÙÈž, û¢Å ¶8MÖW>Ì~Uüyª^bŠ«K'0j´GÚ£é—D½{ðÝÛÑ„.ÙÔü–°ù$Êù¹d…ï uËD2ÝòÇu±yÚÀª¹¼ÑK­äÓT*Ró⃾g¥T']Êâêâ½|äåê\²©Òp“}ºÏž˜ÂdÍ„f§î7¥éQåwy=ãG•ßþºØóRþZîí½ž­Ïöü{ÔÇú_§R¥üîñ/Åj#õ,)ÎôÕä“öÎ,ûˆs2:aÔ‚aýäÛ½ÊGÒç$Ë«†þQ²Xª'_›;µ­¢ü5ªæÇ¶6’‘§dbîY’kÈñ‹wª¥–BˆÑŸž“ÑKBOeïŠ_Ï ÙšÒܤ}!ô³ÉGÒg.™¥†Œ|D«"Ô(*•0>Ês50ëTÆÍ®Ö`qøŽ*ÂÛž ÄSL1ÅSL1ÅSL1ÅSL1ÅSL1ÅSL1ÅSL1ÅSLw>ý,ÄÐlepton-eda-1.9.10/docs/wiki/media/geda/board-2.png0000644000175000017500000001260313634703632016372 00000000000000‰PNG  IHDR¶DU/¶ pHYs  ÒÝ~üÊIDATxÚí¿n·‡£ØRJy?ƒ›”:î¸Q©Ún®ª e*p¤Š››:¥ê¢6M€¼A!iR¸ð-˜‹0 É;\îüù¾â@8âáÎ’Üəݳ{øÏ¿}°‰Ûÿ~ýôëO^?]Sfý± «°J^Û+ð±¼ ˆ ""ˆ€¢3X…UX%ªè ˆ`;"ˆ€DD " ‚/VaV‰j#Ä "ØÎ€DD<>Úø‹çŸžž<ÿôh+¬ÂÆü(X‰¨ùCÑuV½ÿþýû÷=Võ”\YF³UŒ+¢3Îaãy=lg@ŽU0»æ°jÓ+ˆ€·Ñ™wüòîá›—ß~öÍËÚgO™õíÐŽ8¤Å|ú<]\>>]äß”KýÚó’í2å±zα]r}$ke¦q¥Í*¢3Ãä á‹ï?ÿé‹ï÷¶¶}É¥>õÔz6¯§§ÌõïÝVsئ¤­Këa;c†ty”IíûYÈZý%Ñ\ž£Õ¬‰Mˆˆ+Ú—zÏE¾M5¿ÕIÐoZX¦¡ßÞ,Üß½}rw´½R¶]äWÇÚS¶˜?É( '"ýòa…QÿÅܵÆ~Û([Ô77ßRâ6:s{óêÍíMù}.©žž=¿ÎçAzJÊÛ3µ˜6«öh«YexvÆ 5í/W"é{Íógÿl?º‘¬#tFgŽ¢}¦åhô© çX-»Sç ÜÆ~çâu²™E­å}odá|"‰«ëÏ®®Sǧ¿k%5Ü'Ò¦ôì”ë, ¶äcµ5iˆ %áV"9mù°Å¶Ií>×Ñ2µ#zZååH¦O™Dhñ‡ü>‘m3¹W±h3*þä#áÖ±j m·rk†¶Ò†Û¯]«t>TF[Yo+B¼Îav퇶Ò>ˆ€ˆ ÷‰Ø"fì¬ÀJDQg•·ʬ[Ÿ":ã6,³`<¯‡í ˆÀ±jf×VmÚ`%"á6:Còªö÷H^%·jn[íqD’W•eÜFgH^µ2y•ü¥ŠsÛJRÿ($¯b;cýÉ«Êò^§¨É«ˆˆ+Ö'¯Š+!yUNÐ/É«zèYGh[k¼j=áV"^“Wµß„*ß\Xo¥½i'¯:Úº}q!yÕ¬öM^•×V“ßÏñìŒH^UcïäUµzf4=Eòª@¼jý°Ÿ|h†äUá yÕhýÛÎb½|¼j=áV"9$¯š•¼ªöß§¯EH^•ZDü±>y•'i…äU ·ŽU[h»•[3´•6܆xíZ¥ó¡2ÚÊz[âu³k?´•6ð‰€DD½OÄ‘#  V" ‚èŒ:«t>TfÝ*ÆÑç°a™ãy=lgTÀЗC+AtFlj$0Û rhã :£Î*ëqV1®ˆÎ8‡YtŒçõ°8V ÀìšÃªM¬D@""ÜFgÞ=üñË»‡ôöíÚgO™õí@Ͳe•Ûè̬—÷kH1šd«?…Õ¶;×~%I©µG[E{^_Ë\‚cÕ ýEyŽ»žýÒ67Ž6úsÐx•|"f¨å îOÖ½M>Úõ–÷Äèj×kj«Ð"r÷öçû»£­˜ÉèFc[me™8‘È?) ºIòQ& ü`É'ö…FžºÜÊÝÇÚYʨ?É( ·)÷¥ÖçϽSUŽúbü%Íì¡6мúAr܆xoo^½¹½)¿Ï|y=m)ÑùPY»dyŽ£í™ AûXý%ÛG-£ó±@B¼N¨-#ÓÌK‰þ9³?Â2ê^­¹ýÛÑcmCgµÏÎw¤&Üv&ug~Ix’Ñ=.°YqßÔZ ‚O$¨c5uíÕõ‹gW×ùßeI 7›µ)×+Åñ¨ã¶[cï£ôßp+¯Hn*ëÙàôo "8V%S‹§LÂíJÄ_WõÐöòø¾°×“ÆXÿêÃë˜t±kUÿ?‰ÅéüòÑé¼ößZªü,ë©•é¹k¶,Y–÷ô^’†ü3=ØY~¿Òªme¶Õæ6:c ý•é¶Ò>ˆ€·ŽUOàͰDgÔY¥óyëV1®ˆÎ8‡ Ë,Ïëa;£†¾Úð(X‰€¢3Š`S#éð(ØÎ¨ùCÑuVYƒè´ŠqEtÆ9Ì¢³`<¯‡í ˆÀ±jf×VmÚ`%"ˆ€·!ÞôŠºôþËÚgO™õíГ&*}ž..Ÿ.ÚyçÊ#–åózÚ–÷丫q}[íqÄþ±§Í*B¼ÃÌzy¿†”’$[Û²ðŽþª'‘øšäUëÇ3/jf;c†ž—$×~[^xí)×~•ÿ¶mm„ÊèDå5+Mh¹¿{ûóýÝÑV̤vy÷HFOÍÈGB"þ¤$è}"I>z¶ ÷woŸø9ýŠõ‚r¬„•"ëO2J­DÊ}©u¯P³s>cÔF‘W?HŽÛèÌíÍ«7·7å÷y¾Ø2±S­6•õ”ìi«‘—é?¢ï‡yÏ µedšr)Ñ?»öçÙí͚õç(=‘—õÑ™£hŸ]9=­PÂmgRwæ—'í¿ÀÚòQÃS[Í¥Öò|"A«©k¯®_<»ºÎÿ.Kj¸O¤M¹.h‹£oùXcgM"HFI¸•ˆWz¶<5©êqÍÊÝ·:·!ÛL-ž62 DÄ£·m«­O’QcTüÉGâ¶3Éûå¯_½ûò×½ËÌ­-=¿ Íªž2ÉÿvvvvvV+SF—ÊÿæGlËAÛªüXým%9âܶš{IJL) :ÇÕ~V¹ÎØBÛó š¡­´ÁvD " "hˆ×œ”`V" Âí³3v­Òù<ˆu«W<;ã6,³`<¯‡íŒ úrhã`%"X‰€DD˜¼O$‚RÛ63B›'´µ¼~Œ…xÓP޶ì¹h×ôN›ÕV+­"Ä[–1æXÝãu{:Ñv¦Úìáìô€OD " &£3mö{Y®××Û٢ݿôÑzÎNç—ên¤/ýêÝ맯Ÿ~ýIýEi³Êô”üñ÷‡ÿ>ÿôììììýûÓù壇ßË2_|ÿùOß¼üî‡ÿëöæöæÕ›ï~¨«§L^òÝÿ|rZÙVé|Ó÷Ï/NÿÞSkz§§Í÷¶*õéh~óòÛÏþ/(³Îqåh__f[m£3žV"ÛÒ;ø8zBÞ›=½FtF>ÕèÐåcn=PáO¤‡rvÒ<ÔòôTk²ö韙mõ o­DòÁ—_*¶r’$R+ëÜÆ6×i»‘˜ý$"¥|”3¼f)IÖö'÷î§æûжééÍ=ècÏÎ$zžq¸½yõæö¦ü>—<ÍR™Ñ¶§¶£Ú*Y›·C™æ2}ž..Ÿ.jÿ-Ÿ‹© ÇúçAfµym<;³­¶@Ñ™ÚJ¤ü¦§mÈS‚}!oÿÑôû€4ȱšV9ŒzäC?†~­Ë2G[‹@>‘DdùæÅº|øc›Lp'ëQZ‰ä¤wuýâÙÕ5òazMáV"`…YkÖ {.:3Z¦¿¤Î¶²nU[Úý’ÿvÖ¸ÒÜVGY(:#‡9M{ø>ˆÎHpèáR÷ ý« |" ˆˆp艉§ÛÞÁnC¼qBqmù ­úKÒVÛjs⃆×ú€q%Ÿˆúpˆˆ4¼‘ b‚cÕ0å‹”¶I «NDx`Ü:ô 6BDgÒ°+_ùøV­¤f/zþzÇòót~ùètÞ.£?â°¦‰Îl«ÍytfMê#+¬I71’WéÇ­c5Nê£?ˆÜo²ž8=hp>‘„ÔGi°>÷úèA8\‰úÈ:ô -­DúSYpW£øîA»¸Î¬O}´¾­VFH^¥¹­ˆÎ 0+yU‹É«'"þ`æ„cqëX…’hkX"b¯¯+ "†é—O¡_ІóïJ«Ž ñ&Q(?O—O5ÉHßGh+Æ!Þ?!Wk ´$ãJÑ'0ôá(à  « "ÜJÄÓmï1¡µ":ã;y•ž2û‘äUš­r!y•uH^¥·>RY‡´B8ŸH‚ÔGÖ¡õàp%Bê#ëЃ¶p("5úSm)|zP'n£3’Wùðí× yÕú2Ûjs!y•uH^e‹@Û™ž]1;gÍЃ:q("¤>²=h‹ !^æ+ëЃzp¸IúÈ:ô ÜFg"$¯Š`É«ô÷ ÃèLvÎÖ!y•6ÂùD ëЃÚpë€5 " ˆˆpâ]i•ζªþ’Œ«mµ… ñ”0®$°ˆˆ@D@D¸;V¹íÝ:ô 6BDgH^eÝ*’Wi¶Êyt†äUÖ!y•~ÜúDH}dzÐ á|" RY‡ԃÕ©¬CÚ¡ˆÔ õ‘uèA¸Î¼ÊºU$¯Z_f[m£3$¯²É«lh;Cê#ëЃ:q("¤>²=h‹ !^æ+ëЃzp¸IúÈ:ô ÜFgH^åÃ*’WéïA‡Ñ™6윭Cò*m„ó‰ Ö¡µáÖ'k@D@"" ûDrg…Ûï¬2ëˆUš­"Ä[–1âmàˆˆ0ìX­aÅág#Yë‘v ¬üUþÛ8ý2 W>+ò‘S¶ÿ¶³ÐÙ=ç’[>z­µ·½K0YÁ™[[»LÊÛ¬ª]BGõ`iOº8ÓgyŽeùT&ÿÕ¶cÕZ>ý*ÿ-Ñ™mµ±9˜ÔþµË`ô¬õôfÛ*‰ÍåoGÕ'zÚÐ }"ÖaÏ¢ß?bqúÑC 9êâd€Î¢¿%ió•âôo÷õZ‰äì÷†NÞvÑfô"—x‹z< 'tt¦'¡QIIz¤<š0ÚV=ñ y{Ê{p4rº¸||º([©çXeIž!:ÓE¿×}åJd4àã>‘Ú ¢ge1ºúh—ï‰éŒpYŸˆ"$ om‹ömâX+“ßÓQÞßQ;Ö¶#jkIýõ‰ôS®,öXÅ̺OÄ.ëÏÂG»i©’ËGþTEú~¿ ‘§åô¨tͱflg>@’‰|I\îç‰Â$ˆÎ| ž’ G1i‡ %Ñ™œ•¨yòÏ2~±_{F‹8`U¢3 _‰”~þv=’èŒ|—n«7}{%lõ…|" IC¾î(Ä>‘8Ãη|äç¡O‘*5)ÙÏ¥a%"‰CY!?ÇR‚cõH’quýâÙÕµfùÐOù¨—ïþe%¢É;5¶Õ`ë|-çÉV"ư(‘o*Ÿë8× !^àmk«Óùå£Ó¹¼¶ýzPÛK5”ÉÛDU’Ú‚†x-Zeq>·h3­1 >¬_Ë]È÷wo¾¿­s¿û€ÓѵÝg¬ÓªQEÈ_ÿ§s~K±­5ÇjKUí¿{_ÆyŒ/ÉkêÁvÔÏŠ¸àXUW—ÛÒE(Y=í¼×iÕZ‰h¾Pu® ¶Qndöcîe–×&Yô[•Úª½R›eÕ~„ŽÎèL^5ú^û<³Ú³?’•Ÿcíòè©­mUº´ÖÇ×äVåm2+†Htfv£3³VI³ÎQ2Ãç+‘QoHÿL»f©?:ó®Aön¥5ÚÎh&Ú«Vz ú£':­ZŽUcD–Ð "býò‘ÏzlKVåŸG[ôÑGO¢Çªm°©Òóâ¢5–藴ÿ¿{ûäþnåËÚÔúhï·äZ´JBèèLYO-¶_zÈË’r«úc.z¢3I>öx•d­wF둟£E«¶•ÙVÑ™?‘ϵ&Bt&—’ü¬GW"s]˜íÚ"Xµ¶3Óüꟹu)OAÊžwЮ¤Ö#X5DäXÙÙÛ^¥§ç|¹”kIŽÎ‹3o¥•ÏíAèèÌ6×é¬åhNùVÎý~0—Ð"R£gK²÷Ž´G4¬>Ö³ÒÐ,V­!ttf½}ôù𶔬ìmÏÎHj›kÕè³3µ õض’XEt¦‹ÑèŒü==5ŒFgjßôœµ¶ggý{þýžUe¿§xW¶ÏØÎ|€ž¡¹·»Îî ~Wº ç^T³îjí¯¡§­´Ýk[ZD¶¹Hº“Õ–”¬D~™íÑk:­ÚƒÐÛ™ÄÜ5Ŷ\¼í-I¿|èéMý·ê¯Ç닚C¯D³ô~¿yÃ″h3lƒ›ÍþDòø“\>z.9ë—¥ž›âŽ:÷£­Ø‹Ð!Þ²žÚ>¶ Ú•%gYµíõˆ{·ç¶¬I†Ýq%/“·‰«$µáQd•|¾ÒÜ›^=œ5>ô»!ó‡îíJßËû8ç˜@DÔ‘Kƒ$R£ OçÒ&Zd*cÕî-ÃÀv”žÎ¥$š|$‰ˆäÉ4õãOJbÊG"ttFOòª|À͵Js¶78:ÇUY¦”Óùå£Óù±V­l«@Ñxj gr‹6ï+IX‘yË[ßÔΨü^Ï9ê·p=EÄ.ý¢aÔs¹ê±D'ˆˆ ¶Ý’áF¦õoxãr£ "*Ж2B'GmT}·ª·Ñ»VʼnΌ–)ïÖÝ/¾V»'ØJ[­´Š•ˆ "lLÀ+ˆˆàÙˆ€DDÁ*¬Â*Qm8V@Ûˆ€DD " „x± «°JT!^ÁvD " ˆˆ :ƒUX…U¢ÚˆÎ€¶3 ÿ$Ì¡¬àáívBtEXtsoftwareImageMagick 6.0.6 11/29/04 Q16 http://www.imagemagick.orgÝ<Ž‘tEXtdocumenttmp.tiffý òüIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/gparts-ss-connect-types.png0000644000175000017500000005706013634703632021666 00000000000000‰PNG  IHDR=b3I}sBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœìwXÇÇß-×8špÀÑ{DQTT”XbÁ^k¬±¡ÆX5C~{‰±¡±Å.&j콂bCE¤÷Þ¹º;¿?iB„’ù<÷ð³SÞ›ýî;³³3B* ¥¥ ÓhVü—.ÿ¦RŸ;vðù|†aþm»0LÓC.—§¤¤¸¸¸”””|L>|>ÿõë×¶¶¶R©T%5åJD¨ü ¡P¸lÙ²ÜÜÜ„„¹\þñ¦c0˜f€H$JMM511ÉÎÎþÈ|’’’¬¬¬¤R©H$€ 6ƒÊ …S§NMHHÈÎÎV( b:ƒi°,˲,B¨Ò M}QåÀ²lvv¶D"sæÌ …ÅÅÅ¥}1©T𙙉»` ¦" ¨Aåù3 C’¤ê­¥¥5nܸ¢¢",@ ¦!•2TÒ ™L†âr¹åR¢‚a…BA’$—Ë­šOy&R©T¡P }úTÕ³ªÀ7>²ÇøICé8ùÜÃÇÕFŸ È‹ñàÒñCç_T>}jAèýão[zöÓËB«{ÄúÁ e}Û¶mr¹ÜÐÐpòäÉùùù;vìJ¥•úhPu\Iõ†ZaY¶}ûöPË«W¯Ö÷·5'¸f½Mn£YÀѵlÓsTáí+/_HÕhWÓ†àë;x8xûûìZüóÙ<#¤)R±/V1œ¢¨˜˜˜uëÖÍ;wÖ¬Yׯ_4hPvvöæÍ›år9I’•âW«e*jóƒÊuèÐA©T€R©T*• …¢ü¯R©ŒŽŽV%ÿÞrh³>óT”{o×ê]_g+hms÷Î „|3ß‘†vkm®E‚,+òþ_û÷üù"ŸžÃ”í«{·€”Ó[¯öÐÁBCžúààºg¢J¸5B@p}†Oîïa©CAI곫Gv¸‘ E@pÅÞCÇ óokÝ‚¨$ýù_¿¬¾ëµvÃ#¢Õ⃧àíÖ‰ .e—yh«/¶Tár±IõfW‚Ôó™²`¬X› lQÒ³«Gw¼•,«Ò”Å옶äZ±¶™[÷ÑÓ†µÖ¶ùj^ÿ§s%²5dÅZVc᤟‹†Ì¯¾\TZ!°é=监]¬4$‰wmÜú×ÛT«Á„ÀºÇÄ)C}D<$ÍI|s÷à†à9LmuÞ¼©å¹EQiii¿þúë”)SF•——·aÃU¿¬jäòñ ª~YþOµ=¬Ši¹¼c~æl"g>§°«$ŸU( …\.GÕZýw Mºô°Ƚ°zãŸ/³d,båùñ¡<'Cˆ4èöí/s<̵ˆ‚Œl)OäØeÜA_:ò¡Òš5ðõp{&#€kì5>0Àœ®í©ß囵 {Zjç½}ñ:…6nÕwÎê~"!R¿Ë7ë¾êmÝ‚ƒ ÒÓrH#7W-ËŽOÌ+=Íy©ÉÉÉ1‰Š ç‹­.+ªÍìŠSg[­âøáÂ_§È5ÍZ÷Ÿû×ö¼êꪬé)eÒ’ü´7·­<› `áßÙ”®1«j-døµ• ¦CæMôi¡Ì;N\1ÃKj5˜¶ôí4'ö:üñ³¨lŽy+k!j«óÿµ\ÝA(•JÕ„ê{MT½.Êý šTPO¡P( ¯ÌÔVÒ¢³JÝ—ˆì+“uQJþº¼Ôéi³…chg º'©r”kÕoT>€ü鿝¸œÉs™¸9¨ŸÈ¤ß¨v'—=,‹”x0pîÑÎ?Ïs%MÚ:hN«ñÐ ºßhO €ô“ßÌÚ%¥Í†lÜú¥™ÇÈ>–·_zj@±… ¾*F¤ÐÄ’[˜’»êÛœU‡¹z¶eîÒ*ƒ)Ê”sU"pm'n¯Éì[ùïl&íì¢QÇ‹A¨×B‹Ç7í·ôûÏE"_³}‘o?Ü»’ÆÝUÒ§“ˆì 8_SV»ªZý¬¦r˳O>:oî¡h°½~íPC¼EþάÙà=+=È:¿i守"@kjÉ”Àµ©±Î÷Æ4ó.d-~˲úúúÓ¦M+,,<{öl@@ÀìÙ³7oÞ¬r…*E.—³ªE|`<¨¢Ùefï2ÌÉŽhGœi9§* ª6k !´rÒˆ½–É*‰¾ý(¿_OÊÂňS¦Aé÷¦È‘YéÅàªÜ»wo##£ÄÄÄJù Õ£/vK¤ëž”;82!¸$Ü*ÿè?>ʤ3«s]=¥­f‹“‚:L* /¾±øØ_òØ3‡÷œåÁo={÷¾Ù<#Rþ<Z€@\K®5¡ˆ=s ¬×œv:Ý—ïtx™‰tÌm ¹‘ÆÜ‰ ÙúY §†Õˆ_÷NKWhëÅüüÅ¢;…Ьè,hmÎó·þ6";ñÂ/?‡$¾w—ªaM-fW„-Œ‹Ê[]nûI3'Ü—:÷ö«ÃúS6Sw›úîßâð?ŸJP°üÚ²ªlá–:”k6bÃÞù„ŽJŲܚK¡M‚Ö~N&¾‰Ï(&ENnH{“©§Õ\çU‡›UǃH’ üø1MÓ**þüùÓ§O ‚ é÷´E%@U;hðÁçbª/r¹\¡PHŠ;úüß,u¶šj\Ó$$r¹ê¹Xùìj3ù/ KøsÅÔ[ÿ É‘€2?1üü³q2„”é—~ üåtXb!Ò1ñåY‘׃-Øûª„EèýÎûëj<¤Ì¸4ûçc÷cóxæ®nÜŒˆ[Çÿ|]Ä"eÆÕ ÙAGïÇæ)I±±Ò_DdÈB²¸Fæ# tŒÍml y•ÏU•L­fW@òjßOû¦É ³Nýº¼Ú$®–õþ­J^uÿô–S–Ÿ‰—~(«Ê¢ÈZË€¤c«wÝË¥¹Ò¤;»¾Ûp'—©µ&'âNx¼BÏÁ½m[7K¢¤ðÓÿ[u&IQ[7w‚¨ö¹EQ*•©N’$MÓEUMÂ0ŒJ°*„¦¦¦ŸŸ_µÃEÓ¦MëÔ©S‡ªRÁãñBr¹üâÅ‹áááÛ·o¯)&ƒù‰Daaa^^^éééÿ8‚ D"Ñãǽ¼¼RRRÊÆ¹uëÖ‡ûb·oßþ XâçbL³DCC!”’’¢­­ý1ùÄÇÇ#„8NÅ@ôÁw5Tô1c0˜Oš¼¼<__ß°°°ˆˆˆœ EQ&&&¾¾¾Uššš]»vÅ‹a0˜j¡iÚÐÐP(þãBEEEYYYªW¾ÊaæöíÛ˜„Á`þã(ŠäääÆÈù]_ kƒù÷ùðxƒùÓàÞIÕe?0OƒÁ`ôþ\GPIÛÙÙ©Ï$ ÓtùÈ­ «¢Z±"„¦¦fdddÃÁ`0uÁÑѱš×70 æ_kƒQ'Xƒ0Œ:Á„Á`Ô Ö £N°a0u‚çIcj¯ õ_`êÔ©ŽÔhÔCƒX–ÍÈL#Hàóù<._KS[&“$Yç-0Ÿ +V¬P· ˜FdéÒ¥ê5 Ÿ££­cffÁãò(Šær¹ …"¿ ·¤¤„eEÑ# SOê¡A%’b'çÄÄx–e´´tÌÍ,d2¹¶–ŽŽ¶nqqqn^ŽD¡àó4Íùp^ õÒ @&—J¤—Çã RSSbIŠàñø¾ÀÄØ´°°03;¡¥©;h ¦.Ô㹘††frJŠ©‰yn~®DRBÓ‡G‘\™Tž“›“žžJ`ea£¥¥•ž™ZT\ØxFc0˜fC=4ÈÂ̺¨¨@¡·tvMNKÌËÏU…SÍ¡y$Içæå%$Åñù|kK›¢â‚ŒÌ4¼$ƒ©zôÅH’´¶²Oˆ¶·utunùö•T&120V-JD’”†@¨PÊSSSø•]jzê“ç’S€O £«kh`h,6©´¶>ƒù/S¿ùA\×ÊÂ6:ö­ØHloãŸ÷6æµØÈTK³tß¹LþôéSmmí<ãlsskG{GŸofjAS´L.KHH {heiÕÚ݃¢ð€ƒ©ÿ`öö»™Êò-Ç^«¹_òp®‹¸öSïWŽ£Hùë‡q};º˜ŠÅâ.ÛbÕåS“zjœ½X,ðW~½ÓbêF¼7O”””ØÛ9†>¼ß½›^~®R¡`YV!WˆL´5ubâb !Ä¡8E‘$™™•ÑÁ§Ã«×/>ހ꠻uͽòFl^è±T§!Ú€2öèy©¿_¸qëÔ·V7¾ÜýVlÁýÕ“W„YNÜx4äÔÁå~ùÁs–üU¨vHÐÒŒ9t*Z®úåÞ ¾¡}øÁ§,bíðqÛÛ/:pþÚ+§¶ö0,Ê’° y¹eX÷iKü¾?ð÷ÕË!›Æ™…­Ôcîß™u=§íÊÓU\:ó]몽}y aÒñË…ßvÿÐêÊ”ßü×Ú ÞmGSç´˜ºÒ”˜”تUë‚ÂüœÜ\3S³Â¢šæH¤%mÛ¶ MNK–ÉeÏŸ=oݺ\.'I’¦(š¢K$-Mm—[XØ(ƒÓ”¨Óp’«'_›{÷è#A·AneÛÕjt™1¦­.´QçiSN{Sœ}cçEÞ¨sû¶±61sè/-5YW§B,MÑ”‘™îâìÒ¦µAJ¥²¨¸P©T–N BË2ZÚÚ…ôžÐn=¬ 5ÿÄ£lóä¯ú.q(@F0 ¦l7b±ˆj¹üìž>úx]·ú@hy|Ù‹´ÿÉwîfö¾v»ÅLq¼ì eôÙDŸïïò]»šlæÕà»}Ž´Óüü±ïˆ\~5phëéÕé³Á£yó䩯RAìk«õž“Á3okIü_Ä:|ÈÚÀ÷ë•\ZY ‹ß^Ú¾üÇ!#Ñõ³3êýdB½gÖzfÆéñ¶i|}cêE\o4ÍaVɲ,Ë$I« hÈÉÍNJNˆŽ‰Š‹).*"‚ HŠ¢hš¢(š’eYUÌFAÓuHw°C§ˆ1ï×ÛêG­Lzô&_ÕËb2Ÿ=Ï×q°haænÑ—ãÎW}!„n_p/ï»÷âÏý±nc?W<Ÿ¤¨ËÄ®Ê ûB €I½¸7¬Å€/Ý…|»1»¼}ø×®Å#<µãÍàÙoí³’ÒCånAˆ­Ã©áZüzÒ ?¯¶í» _¼oœÁó=^}`t¼*Š·;gl¦ælkƒ§ô7>  A:::9¹¹F†©©)4ÍQùA%%%¹¹¹Yyyùr…œEH"• –¥H’¢(Š¢išâp9ÙYYZÚ7ºÇwø¹î£í‡âmô4«xi(o^}<<)-önð;Þš vtŸÒGxgåÂm_$¤¦ÄGÜ=¹uíñüà£ð†Ö¹²lÉoÉžãý ÞoR„®÷„Ôµ}÷2Îí{f}Êãò¸\.‡Ë%‚$HŠ$)Š”+ä.II\7&6º¥‹ÛÇÛP\›>–û~ÕÒý½»3m7f¼ÙÕÅCÖd1º.ƒÜð•€ë³pÏÑšmAã÷ð œ}úOÕÁuk7d„ñúU)}ujA€äýƒZmÇõß±?8-ÒjÔvûj»E<#;}汆~#[³K6Žê5£¬Åfßøõp²èó‘-5 ~jRu7‰úëÕÛ™Ñì²éúÕ¢R·«øÁ€E’ïC6÷v2Àï5  A"}Ñ­Û7€ƒÈׯ\\\Eú¢¢â"’$)Š HŠT}š –e8A\Ž +;S_O¿A_Óh»êÚÊŠüÔb¾Ç„ΕZ¡ç=mû ™•RsLºN[ßuZÙóŸc;õüëÑJ®U|ëƒõüWï×¥b&åè”9·œúú¶²Ò…ìˆs›–…Sí~j­Å±¹váñ^?ø²pÅœþ­õ±7‚Wþp’?â÷Eí5r€É‹‰x¦_öxÔ²t¶Ö);»%áëW\Ô÷íàlÌ+ŒºôÛò½®‹¾páÈ^l¿(rÀ¯›‡™ÑÀľŠ+”DeÊPIÊëçÏŠú6ަBÅ»8ZN.eæ¦iQiîäd¥PSZ<†øÏi˜±˜V®î7n^ïÔ¡sÈ™SÎÎ.ŽŽ¯^½dYDAI’$I$IS4 D$I“Æ©­\[7ˆÕ€˜âü¬¸s¿þ-í¸ª£n# G¨«WÓ1žãðQ¶[þ§;®¯yi{#uܺ9žÛ¿aæºÄ@`âÑ{é±c,9œ–3]6[»rÓÒ¡s”@ºÍ9yú›z¤|°d@w™·ßþ2d€^©¿JñyéÖ~½>] À1rïûý‰•S¹ÀÅ< }Ö^ŠŠnúu_•b×øÏwÎS·øãÔD i…µ¥ÁÔ ¡©©ù‘¹ „®\»äæê–›“›™™1tè¹B/—Ë84—Ãáp84ÍáPÅ¡i.§!ПïݾCƒüŒj(¾ÿMϙוf½¾ßº¼É;7HïÝ×ÊÒZC Á²,B,BÀ0Laa!ÄãñLMÍh;"Íâ;3=Fœg¬­Ûì×⟠ðBç!Î n¦éÐ`*À0LaQ‘@ ‰ J…@ ¸tùï’‰‘‘xÔˆ/"‚ (ŠeY¹\.Ò7HMKm¨¢1MÍ®Áqiê6Ó¤i°±ZŠ¢Z¹¹ß¹sËÄØT[[ÛÔÔÔÐÀЫ}‡ììl‰D¢šŽŒK’„¤¤„¦i¡†°‘ÞÃ`0Ÿ ù¼ÈÌÔüνÛ,ËjhY–Õ××oÓ¦ ˰!ž’Ë$I²Q›—‹roÝ:-»BÌ†Ñ „Уǡ·nß:x‡ÃU*‰„Ççs8œââ"S³M[Ö?yN’$—Ç-.....²¶´IMMiÒ1̧KÃhP^^nzFÚôi3ôE¢ø„…B!“JõZèggg™Y˜ÛÚØYZZs¸Ä"’$ @Y9ÙÚ:Ú©i©xó æ?NÃh\.—J¥R©X–•H¥ È ÌLÌrssòòsZº´”É¥,ËpùüœìLK ‹ìœì1ƒÁ|¢4Ìs1##±Wû{öî=òK}=QJr ŸÏjj¾~ýÚ£MÛŒŒt'W‚ 9.Ã(…BaBB¼\.wmÙ*>>N¤/j0,9º0ügT4,ˡڛï_)•BgOm#¾§Y/¬=™š˜&‰Mž¿xæîÞ:7?ÏÜÔ ±lvN–®n ’¢Îüy*!)ÞÎÆ¾¥KK‘žH.—geg›˜Ü{p·e˦R˜Ú)yÞÂÙŽäÕtÙP¿+êýÈÕ¤­9·jŽU2¬Gâ,¯ËÏ©åWטœa˜ï‚¶~8I à‘ä¿þÅÏ mV”›—ûâųœÜ™LÖ¹s—üü|…\fbb’‘™illÚZÚ_Œ[PÿòUDZzÚç½ûhkief¥››äåå*•J;–æQq÷0eÁ¥ã¶^{ó0E‚H g/ïï§tñÓ§j ÿǰT[]q8œöíÛŸ=w¾oŸÏùú‹ÞÞB¯‘½¡÷N¢Úù‡„b†eY_”œddh,‹ ‹ ml슊‹´4µ ‚@•×&BèÁÃ{={ô’ʤR©„æp¸^fF†ƒ£sBB|;ö$IR¥–Y[˜:B@”7_EÚº¥·Ñí~ü~`{]”‘rûQF–„MRwkø¼‹o;-ÿ~`+meìÓРàÝ=cG]˜él@T;,*ð9ÀÊœ¬z›"RËløXÏ–FBº$óâñ¿/3Ý1¼ÇûÛ”)RŽûæ\†ÿÆá–fiB’T TìYÊ2ÿ—´ìÑg–£?7æ·—G­ o­ñµSÔþïàe~Ã04MÑ©S§ã'N4Ïá íÞVƒÏmÄ hJïHÕ»Y–eYV©Tª4¨]Ûö§CNNš8…Ϥññq2™Lµ‰ „”J¥\.éh4ââ"­‚‚¢¢B--m©TªÒ š¦UÒ7ÂÅ|ª‘ ²æ«Ìо˜Ì¸ª×Ø–\s#϶ª9‡·\zdîõûÎÎ\ks/c¦SPÈÏݬ׶,ë T¼ ˜¼àùƒ}¿¾2Hëæ›–Å3°g½ÅÍÖ§w ò"³Ïøó§‹1ñRбp™95`ª‹à}'„ãÖ«KÙ”;ÓÖºYÎ}–©ì¡Y¡y#éÍß/‡;ÜžÙÚ˜ðpV™Q!¾õÚŸ¬Ëþ1u¡â[½¸Ÿ×ÁN¿¦ðÚJQ©DÓ´J†ÀßßÿÐá?FÁãP[ xœF”¡¦4¨W¿JD±,«(C&“‘$ecmwìÄQ aI‰ÄÀÀ€ÃáÞ¾{KG[WG.—Ëår…B¡T*-,¬víÙqëöM ¾ÐÆÒÞÊÊ® °ðæÍëF†b™L¦Š£R7ü.kSDuRVõ¡øÚF´ôÉ£ä9[ Ëd½9EtÐÆ‰*D"÷Ž£ô‹Ï]I-)}*&Õ®·ˆ†Ó}áŒ,)§±³N,OÝ7À‹*¾¾=8ð™~àw3n›ºÑ§x㊣'2”ï'¯PzaÖµ+/SõlýDÄ{‡$©!Oåökþb;d…ë̃kBó5d¢ú(¤J–#Ô§QÃë÷`FÕàË[{Ÿ>}vîÚóõÚ£î¾JdHÉ|T5}ú´ý ªˆ óóóÖ¬ýÙÊÒÊÄØlßï{ôõ tu[Tibl¦¯g”œøûï{µu´‹‹% £l¡ÛÂÖÆþãÍÀ4:UtMû•œGînyFÓÁÞÜËÍ~¿›—-ÏJO-_.Q±¡Ó:FįI9E¬êõÀ÷/Õw•6©F¾Ë"09¯×Ý¡§õnA€ùÀ~3noß÷¤hH7­J÷ÏÂÇ]z+M»+{ùÞëq ’ܘbæéñæãúŸšÄ}}åì¼U¿k§Ì·¬þ`‹bÖí3ô×Iã½|j ¯M–öÅÊ{dª#C‡•J%“fÍÜ·ht÷¶N<.ÝðÞú”ûbªzT„©ºNªêkéâæäè’——›’šlanejj¦êOUì‹©ÞУ(ÊÖÆÎÚÊ&;;K Ðàóùª*ÆÇ£BM”ÒçbåÿÓvþÃîwÌ ˆ}ø&áÆ¿ž¿jü´ò/ïùû±lÙL¹ŠG+²ï%—¥Ç¿•å„Îýq]…èÖ%«Ui·D¡cß‹kJŠ 2¯þyiùʳ6kúw¯0¤šWÀ÷ø|uo»´úbÀ«Ð‡®dÌgÂ‡Ê iÚöÿ9*òe®U6¥°–ðzÔI« IÒݽULLŒê¸D"»ê÷3ASÛ;YÑtCo(B &Ô«·T.ª“jxHåLjii™›[¼ÛPŒ *ª‰ªë[_ 0/¦ò$X}š4U}WƒâiµóhÕΣÕôAí~š¿k˱˜‰Dbxü,E‚,4ÞKEöãt¤ÛRW1ˆ}/ÕwÄË”}/‹À²ˆ4ݸuܰJKâWye„äi:šk¶±â<›v|Ûónݼß@r†\È4×"%tÕ‡=i… –©¤AH–¾sÍþ_äÞG—´wå°åZYSø?e ÌJMM½sçÎØ±c¿újÒo×|Ý¿ƒŽP@’C 8£TÐ >4ŠÈæð\Œ ˆú¾hú’`šª¾XM×¥i«Ò"9«e;Â}wúI”G‡Ò޲ŸÞ?œ-ü¼‹‘Ë”º•ü (÷ƒHŠÄ”Ä™ÛÀ«W%C¼ë¼™©‚U¨¬bƒ®fÄͤüƈK( _怾çýŸƒd»Öî_UèñÇw¾íøDª>üRæeff40?¿ `Ò¤I+~XN“T·Ö<.A‡¦8$õ±eU¥‰õÅšËã'yäÆ~ílûnCr6ûϱíý–<*Q£UÍ Õ`MÙT7&ë餟BÖ^|“wòØ™åÑd;oc-RwäW]Û$^¸æÚñ—ioS.ÿsÐúüÎ}ÚsJKåDĤ>+ý¤Å±ïžÇ\ódrD\dVQN¡ é8Í÷å]ýíxФ茼è·o÷¾°7QùÞ¤;IòÆ}7>Œ Jºöè‡õ]'­GÛóVñâÔáþ›Ÿ&)€fß'ΣóK.'¼INùóÈ_;³E£;ð+Æ‘gí[¿oi´É7Ã…éiÏbRŸÅdeÊØÃ?n¢`rrò€€þîæzÎæ›7mâr¹3gÍ>xõ1bŸ«-à 8ˆF˜£È6¥)Š ·~P3…U*nxoøÓ±€bJïËÏÈÏ$òÀé3ë²d,€@Ϥ׈‘?tѦ–6õ:²RkÝ‘{Ë‚îä0@¸õ}r …bËBÊ7~÷.ãöSÆ‹Ã"àtØÉsÓ…Ïf¡Û©õ}»Ž³GûbÐÞ½[ЏZ­ÜÜðß™€haAô¦ßn&H¾³ËšïºÔÄ0…©É¡±f†Ez¹8ÿØï]Š@ÃÐfêœÏgš’ˆQ”ÇaKRN>“ĬZ³ª4k½ùA“µªŸkòbY1|X{ã)Ÿw(‘É'lÜ4{Μ9sæ¬_·6,2þ3G>·Î34ë K5©góÿ B’è3¿¬Ø~îe–hmkß)kV ³äÈ’.oýiëéÐ$ hÙu·`ñè6:”2.xÄÈ¿;ÏòŒ8ò8ÃhBÐgW¾»Öí›Îo»ŸX¢áðíÏ zšÒ >²jÕ7Ÿ'¥çÜkÒ’o; Õ^Òz-íùò·Ý·’ãŽSƒV&ÏþôÃo—¢‹ôÚŒÿqõO]  †ÒÕ]Uµ¡D(sã žhä¨A#GUŠTúàLhâò} Ë÷HžµgÓþe÷^>ñ7í¦Mðû-^دjæ>ߌ/Ë\héup­×» A»×à!½*ͺï¡›þÄ)_N¬l ½¿š“òÎ*®[·¾ºõ­1ަKÈ^—ê~y á÷\ÌßÕbÜgí[Y›ð8tkkã-[¶,Y²¤µ»û1\¬ùœF»6q_ìßG™²,è®ÅÔ§ÎÙ¿zН1‡` ¼"ÌrâÆ£!§.÷Ëž³äï ÕH§2æð_Üq{®>¸»´”ÑGÏr¾ÜyùÞíã¢K«~¾šÍ°JÒzÀ‚m'Ïœ9ºmºÃ󵛟•õû”ÑöÄz/ >¼c¾KÄ–À¹óþ÷Ìuöö?ö,óN ^ºóµj/½ ƒ°l½>­7aú¨ø¯ßäÉê™¶¹~HËF÷œÕ¯“»•q ž‡Z<´ëÚ5«{~æñâ…‰žvãÐüæ5}ØÂ”|ÚÔÓÇÅÌ€‘‰“ycçEÞ¨à¹}í8`2qјˣÝÏíý9€°ûì >†ŽEèõ˜õE[} À¼ÛH¯u‹oÇK{èk8ç¨*À8 pî­+AWbeî-)aÇyßóX}5èÀÈCÂ%¿ŒôÑ!ÀnÒèƒÏ<Ê`ZšæÔPzQÓ½-°ì?»…<ÑྚÖíWp)20À—¦(‡" :8Y˜7ürø›¡_|æÛÒFÈã4b]51?è?¡A\ë~ƒìޝ 8ݹ“_ïíÍ4yrx¼4éÙÈ»+Ä4KÍc€ Œ]L+,&BëY‹J{ç”°Ož"a˜œ°}«×¹•Sê½ðýŠ”Pâ–f< …BÚ°¥…(ûäI¨¹ô&¬AªùALj¾Ÿ(š\.AåõÉ#)7û– äq9Ù˜õŒ>íùAM‚âÒH)QT˜Ð*+QIðíÇïºÐ9ôÚÍ{÷nmŸ±c×À͇º#Q-—ŸÝÓ§Ò[?Ê8‚ ˆŠM€ +NNA6÷úŠy»sG¬ùc«‡¹._öxY¿y%åSˆIª,O‚âÝÛoªyz5•Þ”Q½7ß”n¡Ÿ.ïZBÙ¿<šâÑn|WÏlÙÐ^ÓàÓ¹j‡Ö³5¤3ŸG敨 IìãdèdTê¿ÐZ¶>ýÇÏ ÚuhUÛœK!‘R®‰»9D_zœûÏîÊ´§QrçÑ#}¬Zð)B™UPŸeÂ?²tõPú¾ŸOûƒØ&µ~PsÑ B·ý—Ý5Ÿoø~ÇÅð·±o_\ß÷ÃÊ«JÏ‘~F4€ìÍ¡Íû. ÷¬­Ù4~_ßÀÙ§ÿTº eÐã»Ea WtùQKǸíñÝï¬OC~Téj!€øh¢…ÉûÁ5o°õá_SeS°Ú‚«Õ}c¯Z,ùà»AD=w«™¨¹ìúmhF¼÷½ÚÊ©óY (ESrƒ€ÐÔÔŒŒŒT·˜&ÊöíÛW¬X¡ú.‹~Y²·IË$¦ „4{ 廵Wý»téÒ©S§ªËGGÇfãaž­ oîju[in4—ñ ói‚5ƒÁ¨ÜÃ|€¥K—ªÛLsk¦6;uêdii©nC0B\\Ü;wÔkî‹a>€BÑ´g-a>¥R©ö=l°„© gg爈ˆÐÐP([M/¶û©£Z‚™aÐÐа¶¶þ`’Fk¦6lmmÕmŇiâÊØdÍS9¹EEEj´k¦6Š‹‹Õm¦™ƒÇƒ0Œ:Á„Á`Ô Ö £N°a0u‚5ƒÁ¨¬A F` Â`0êÏÂÔFZZÚ¹sçÒÒÒ€(CÝFa> „jª4èëë«Ñ¬A˜Ú8yò¤M=€,CÝFa> „Ã0 à „ÂÂÂNœ81yòd5Úƒ5S,Ëúûû[XX¨ÛL£ §§·gÏõÚ€ïi˜ÚÀ¯æMS8¿Xƒ0µA’$EQê¶ÓX4…Î5Ö LmP¥ö6Ši<šÂ=7/Lm¨½bµßc°©ƒâûßtí¾ìQ‰ºíø0jo ˜FEµ.zmh.ÏÅPþåÉþ‹ž”þÇ5pí5iaàGM<œúq¨½bµŸâæ¢AÝvÑîî\yÎËÓ¿üôÓL°<ù½‡¦º­V©šþ$/f¼xkó¦)øAŸä…Q¤PlaccçÔ®ÿœÅýõsï]‹zydÙ„~žžžžÞ=Ç,?YŒ$:dåØÞ>žžžž>݇-8¯¨6\ŸÝõó5/eÀfŸûª½g×…Š oÎîÚë§gR`‹^þ~´{OOÏNflºž¦PÆñ¾éð/SúúzzŽ•ç?ž3°£§§§ÿØ  ÉrõÕR½ÀãA͵ŸâæäU€äjÐÀÊ” ÒzÀ‚?Xé*S\õsàfûã ݹÉ!Ë‚îZ/Ú±ªƒ1™ÿêU ‡e5„†c'³ü“33IÔh‚'{}/IîåÄÆÝ‰DŽ­xÀd]ú~úº·ÿ¶ÊSw&è»ofr˜æ@€2æð_×í¹ú«žR’yyÉ„_ã{.Û·¹5q`ùª»Åôçꮤº€ý æMSðƒš£1ù¯ÎìIç¹{Ù¹u÷tWνu%èJ¬Ìݾ0%Ÿ6õôq13 À@db ¯.ô[µmºõ2´aú½H^cZÞ»õ4SiÏ</0ê¨A(Ó¯¸K}¾ùÛm„XMY9íæ ½G^ûÞ@Ø}öC‘ûð}~À¶Ù}\„f³=¾þÕE5ÕNýP{Å4*Xƒ$¿9ËÏSõ]ÃièŠÅ]µóÂö¬^wäzT£ æû)kÝoÝñ•§;wòññëÝ£½™Qm pͼ]8gnÇ·Œz,±ŸÒ½c±+‘…ÝåwSDí[éÓ HH!,GÙi¨\Jäî®Wø:®ˆqÊØÅTŠôˆT°o'TY!°ñ±æ\ú—k矡vGÓ¨4 jNw9‚öøv÷áÇÿ8õ÷«ût\_1owªï²?.Þºÿ0ôÆöϵ)„€o?~×…?ÖMö5Ê¿·}ÆÀaA÷ ØêA`ãk+}~ÿõó;ifL]½tcn¿zuû-·¥··¬ÜjL Š@ªÿI¾•&9œO¤â)ŠÂ}±f Ö †Ô4µ±³³³5Ó× @™ö4JîE(s£¢ ”eQi-[Ÿþãçí:´ªmÎ¥Hi ¤®‹qÆõ3g¢ô¼]tù¦ž.èñ©Sd¶lÀ»š øûÑ¥à0YOŸæhÙYiVªVŽØEŒR#ÒJ7,U¤E$ÈпQ#Ú(¦±Qû)nÎ-Œ9˜’q×e2€$±g7îŽRù'²7‡6ï»ðèmJVVÒ‹ë×c‘>·Ú@ ÅíÚhÆeZzšÐÀ·ñµL¿~+ËØ§¥. ´a×/:(Ïý¸æôÓ„¤¨;–þm9h¸³ ’%´‘ßHÏÜ£[þŠ•"$‹?·í¤½6þjo ˜F¥)øAÍi<¨2”Aï…-\ÐåG-ã¶CÆw{¼“’Ëͺþë¼­ÉŸF­û.]=Úš&ã« àYut机ïØÉš@h;ûZAXv›vbUÍQ¢ÏVnÍùyÕæ¯×ÄsØêU“xÊʦôZ±6uùÊqÝ7rtÄm~Ù6ôÀ¿]ÿµ7PLc£öSLhjjFFFª×L“åÂ… ýúõ‰Dê6Ó(¤¦¦†„„ôïß_]8::⻦6ðs±fÚO1Ö Lm¨ÝQÇ4*Ma<·0LmàóͼŽ"¦©CÃ0ê¶ÓX°,‹ûb˜& BH*•ªÛ Lc!“ÉhZÍDZa>€B¡P· ˜ÆB©Tª}<¨9ÏÂ|<ÎÎΡ¡¡P6~©öáÌG¢ÚàPÕÅÖÐа¶¶V¯=Xƒ0µakkëèè¨n+>LWÆ&kžÊÉ-**R£ Xƒ0µQ\\¬n0Í<„Á`Ô Ö £N°a0u‚5ƒÁ¨¬A F` Â`0êkƒQ'x~¦6ÒÒÒÎ;—––eïX7Ùév˜:‚RM•cc }}}5Úƒ5S'Ož´±±éÑ£e¨Û(ÌGb†a„PXX؉'&Ož¬F{°ajƒeY u‚iôôôöìÙ£^ð= S¸óÕ¼i çk¦6H’TûW˜Æ£)t®±ajƒ¢(µ·QLãÑî1¸yajCí ÓØ¨ýƒ5SÕ4PeR°¿…ï–è[]±b†Š·:šwߨü`*LC€÷ÕhH©7¶ïîåééééÓmàØow„å±ê6ê“Gí ôŸ ŒßágÑu{^ƒ¶.¨ý7—góò¨]3æïçüfý2w#NqÚë°;os¤lÝD–U*¦ÿñ™øÈäM¼xkóûA †23ìF‚VÏùsup±µµoձ߄=T{ÂË’.¯›>°³§§§g·‘ßþžÏ€2.xˆÏðM‡™Ò××Ó«cwoÏþ›ßÈKsCEw¾õëx=Õ)¹÷ˆàØæÚwøàx›¾sº¿³±X,¶j?|ÅùäRçIcÏü0¢ƒX,›»÷^ðWªd‘»gôõ²‹ÅbS×3÷>/BÕçYðdÇ$_;±XìøÙüS ŠZ B%‘‡{·2‹Åb3'ß {¢å…WÆtZúJþz¹·¹X,všõ ¤áª£9¢ö!¿f¢A”ÐÈ€SøòÁë¼JbÀÜ_=yE˜åÄGCN\î— ƒ7_¼vï܆ñ®€€•“Ž£>q7,ì։Ů¿óchu+Å*^ýúóóö+Nݼ°k{$pÁÙL¶¦‚” ‡f|{Åzáé{áOB//èaÆ%´ºÿ~{…3×iùýÄ´´´×›¼4¯z>y°Ô`ºç}ÓM<å³N½†OY´ãÌã 9`²oì¼Èµbnß6Ö&f'.côäØý\Õ@‘°ûì >†’Ö´î`—qéï9 Â§§žÛhuL.Рškw¥öªL9¿í =d}З^vÖ®½¿Ùò­sô¾ÝOK˜´³¿œ”õÛ²}nïVÖfÖn~ÃÆt3æ€ÀmüÌ‘~­lÌÌì½G-_Ù½äâŸQÕí]¦í÷ãÏ_ù¹9¸÷³È~r)JRcAù‰9”•¯_kc±¹“O¿=Ì9UÍ’¦ AÍe<xVÿwªGòËGž>rïüOS‚OÚóÛ²ðxiÒ³‘vWˆj–šÇ @»˜ TA´¸s‡ûÿŽ™æä(}r* y­j­I€4¹nÉ›/µ;êò”ðDÂnª‹–J‚9âöíEùOÞæ—@h,r˜à®ó¾43Y··,\¶óBDVi‡Mðy¾²j䘶µªRr[˜å %lMу†}éèéy°g®ÝzÐÙZØ\oÖ †šºu6uëÜÿ‹‰C·Žóû®ðA_°ˆj¹üìž>úïW´2€ (¢l@‚6ôíï°~ï¹è©Æ§÷O­4 @uLÞl¡(êCcÒÕ­6›}~ÎØuÙ“÷\;ÚÁZO ½?£í—ÅÕV I•×6€  ´œsæyï[ç.\½vqõð_Ö~ñÇÕÕ]5kµS¦ Aͤ/V®¡¥È ‹ cwsˆ¾ô8÷ƒOéiÃN²¯œ{|ïÔ#Òg€»&פ®É›+µ7P®©‡9z{ãUéîTŠ´‡³t\ìtæžÖÄ› Oó+JŒ"94Bî>eR7;}E(³#^U¼«A$Ð:Ž~#g­ÜqæÊöŽY!‡žKT"†ØÿìI«Xƒ&ýÜ·_/ßqúfxdttäã¿[¾þ%åæï¬kØ}Já• ·]|‘šq÷äÖµÇcª›8Btà”sf͆tÇ®ÂÒ°:'o¦ÔÞ@iã^Ó»+ŽÎ]rðat|Äß¿Ìüß+Û±Ý5(qŸyƒ¸Θ¶áÂó¸ä¸ç×þ~5 \,ȨswÒ€J¢Ž._Q½¿TŸ‚¤/v¬ÜrêÞëÄ´´ØGçÏG*œŒ¸@k›ÓÉ·ïF¦fåä7×G– BSðƒšI_ŒÔrì`{õdðÒÝ)Å,ߨe×YÛ™Q$ø,ܳF´f[Ðø}E|gŸþSuªmû”¨ã@— •Ï4û´,óæIí:'ož| Râ€-G³~³²Ç<à™ûNܳ}®+Z!ãÒ‰«IDATt[ò«Î‚Ÿ¦|ö?)pÚŒ\åKX·úÎäùííçk·0ë8vVŸ{këìªÔPœÏM?4vUBž‰×ˆ ÁÓì9ÚÌk?a±›ù ;,ä1~4Vj× BSS322R½F`š,.\èׯŸH$R·!˜F!555$$¤ÿþê2ÀÑѱ™ôÅ0„Ú'°aµŸb¬A˜ÚP»£ŽiTšÂxna˜ÚÀ/‹5oð:Š˜¦A Ã¨Û LcÁ²,î‹aš4!©´º÷)0Í™LFÓj~8Ž5óŠÿÐ|¨ÿJ¥RíãAÍd~¦‘pvvŽˆˆ …²ñKµ`>Õ‡ª.¶†††µµµzíÁ„© [[[GGGu[ñaš¸26YóTNnQQ‘mÀ„©ââêVøÁ`<„Á`Ô Ö £N°a0u‚5ƒÁ¨¬A F` Â`0êkƒQ'x~¦6ÒÒÒÎ;—––eïX7Ùév˜:‚RM•cc }}}5Úƒ5S'Ož´±±éÑ£e¨Û(ÌGb†a„PXX؉'&Ož¬F{°ajƒeY u‚iôôôöìÙ£^ð= S¸óÕ¼i çk¦6H’TûW˜Æ£)t®±ajƒ¢(µ·QLãÑî1¸yajCí ÓØ¨ýƒ5¨(ょøŒ:’òܱSí Ó¨à}5”y’g9Þ]û}9gõ‘G™P eÒ¡FJn*‹¶—þŠNs.d—™Tüpaïé·ÔµŠO I.®ŸÞßËÁD,‹Í]|‡ÌÙ|1V‚Pî™q9–múþþ¼U—GU”ñ;ü,ºnÃkÇþ›` j@ºíâ}GŽ>¸oÛ² Þô½µS‡žLüÔ4 »³mÿ릱|µ‹·J_oÑyÌæûq¿9wéò…cgtæÞZýÓ½BÕq‚öY}þæÍë—Žÿܳäè‚KËÔ «PÔyëgLý †Š-llì\<ü~½æÀöZ÷×®¹–ÅÈ£,›0ÐÏÓÓÓÓ»ç˜åÇ#‹@ÑÝùCÖG+Þ®àíééÙ}y¸¤Úh¥ ÜÐ3úz{zzõœ°ú²ª_VC|$‰Y9¶·§§§§O÷a ŽÆ«„P–tyÝô====»üö÷ðüêü/Jè3Ü³àøæ‹éUŽÖPœ2.xˆÏˆ]çƒçèäééÓξˆÂ¢W,áçééÙsò¶Ð¼²œêdÀûÖTR& \ùÐ~ɹµÓúûz¸¹º{6|ÖꣷwÕ.K¥mnçààäÖiä²Õ£ ²¯Ÿ{ùt÷Œ¾^öb±XlêÚcæÞçE@ñvCGóÎ+~[2ÀÃZlbní³ô•üõros±Xì4ëAqIä¡ÀÞ­ÌÄb±ØÌÉwžhù‡ÌÅÔµù5+ zBØjøH[yØÙWŬ’´°`ÛÉ3gŽn›îð|màæg% Ùá—ã¶»ÀÓ÷CCC¯,o#¨6š åÛßwÇw^qìÌ‘õøgÏÙýV^C¶ LYt×bêŽSç·ì_=ÅטC°÷WO^f9qãÑS—ûåÏYòwF5"@êuúú Ó'Û÷>¯Ü«Í¼è{b½—Þ1ß%bKàÜyÿ{æ:{û{–y'/ÝùZ õ0à=cªøALÚÕÃáT§Ù£y•¢RÕ4&’/ä€R.—‘Ž£>q7,ì։Ů¿óchÙS¼ÙyŒ7ûldJRL䜹NËï'¦¥¥½ÞÔ6ëÐŒo¯X/<}/üIèåà≠x¢RCƒý Æ…Ö³·ÒP¤'(ï8t\gscck€À¹%·¯Äʪ¦¨-§ÝìC<Ìm:Œý~Š]Âéco¤5Äg SòiSO3‘‰]Ûîý|Mh`²oì¼Èµbnß6Ö&f'.côäØýÜjºˆk5dVwYȦóÉÊ:›'ì8ïÛažövmú5È,÷µpü·#}mÝzOm—ö(ƒ©Ñ€Úë°j•§½J#7+¡J$a ÝK\ç>(y/ª"÷Ùá5‡Røî]ÚŸ9Ò¯•™™½÷¨å+»—\ü3ª¬³©Ýwi Ÿ1—¤5„tE‘aòs(+_¿6ÖÆbs'Ÿ~#z˜sj7Soš‚5ëw5B€“¶oõº#×£rJïû|¿"%@e'´–h´™‡ŽêdÑún®ºyoâ‹Yç’ÇÕÄçZ÷dw|e@ÀéÎ||üz÷ho¦AÈ“Ãã¥IÏFvØ]¡<³Ô<DU›©ã=e¼Í°»Ã{Í­›y”¸¥™Ê/!…BÚ°¥…J#H¡äI¨ÉQ-UøAGï:çĵ1’Œ³Ó‡ï)ÓS$»0Ò^¬ú.t¿uMOÝœÛ.Ûy!"«txNðy~©åw ~u9óì‡}éèéy°g®ÝzÐÙZˆ¡kPã¢Ì‹Ž/áŠ-tÉÜë+æíÎ±æ­æº|Ùãeýæ•T}VÃÖ-Ú;jŠÏ·¿ëBçÐk7ïÝ»µ}ÆŽ]7ZèŽXDµ\~vOýºœrÊ|ÀìÞûgn :½NæïzBÚ*¨ŸevPT¥¾Wì,†CÏc‹+ øb;g1£®ñ.W‚ö:õS{!%Ð7³0Rlö_cƮ˞¼çÚÑÖzéým¿|7ÒFq¨ê¥EÐrΙç½o»põÚÅÕÃYûÅWWwÕmΞû¿OSРæ{FQñ³Ã‡¢yž}œ5”iO£äΣGúXµàS„27*ª ´“CR$ ¶ôþýÿöî<.Šºøgvg—cY”;ðàDKC%#}2ÌŸfæ‘W˜YZ^X?ŸÔÇnÒRË'Mðz)SóJ43<²<Ê-TTDÅD`q¯™ù>,âÎìβë,ëçý‡¯e㳟ùîg¿ßïÌÎò/LÉÑ󕦙²'o7‹n­¸Á¿<­ŽL0&å“ÿ®™ÝùÖ®œ2¤c+(ÜuÔÜàËÊ+nìØvV.û½Âšð,€Éý TþHbÒãìþEk Ì fë–iÚ¶]»v1áA*9¯Î7tœ0®g”Ÿ‡œbÊóOß6ù=‡€n“8brÚò­{–v+ËYsB+&vd¬AöÄÕ\+¾p¡ðü©#¿l^2}äÄo«RRŸñ“Éý£[È.î=r“¢-Ú¾0ó˜>yiuH }íp^áÍ[·«îP|‹€1oáüÍ•\+úí«´eçZ£âY^vÍ—Ù¹GÎ_-++9ùóÏE¬”ŸRðì„~ªƒi32vž,.½z)ÿ×ÍéŸo¼ påÝâùÉ”×­8á}Ö€ÙJ‡¾¼`V—‚ÙýM[ºíÀŸù§Nüžûõâµg9…;m> : ]kÙ¹^3¹sný òÍGN{· ¦¯øµ ´ìÖíÍÉåi‹¿ûíÌåk׊ŽìØQÀµ RŠxÁÈ ÎÐr¥±aŽÌyí%™*¨ÍãÿHYòúÐ.4ô~gfÞŒÙ{|¬nÜy蘞GW˜>l½:Oûøôù#ŸŸÞý–ÿožÅ€Ž5:d÷Ì¡sËØæí†|üÅØh¥ÌoV¦T–ý¼$5ýJ eÐã/¼7od8 ”wÂŒ•óýçg|2&[à›0`b3Á*¢ztLr§-iGMÃ9ï«°ŽL|<’í&mø%bñÜÅ™S¿ù@C@áÕµOêêô±<Ì\×$´`ÞÁñÓžh3ÍÛ§e·×&÷ûís³‘{w{;õ‰×ÿÝ+n4¾~}§ë;>ymvq·®I_d%·ÁIiû“¼Q^^^ÒœVnnnÿþýýý…æ­QÓUZZš““3`À©ˆ‰‰q©±²;É/`CŽ&ù!Æ„„HÞQGå óAØÂÉo²‡ œEQ,ë,·@vÇqŽÅS#„ètÎñ~äz½ž¦%>9Ž5Y`46µÛŸ «1 #ù|+]„ì/666??ÿðáÃP7)ùôj$Óš†ØžžžáááÒÆƒ5 ‰ŒŒŒ‰‰‘: Ëœ¼2:mx¦N®F£‘0¬AHHMTw‘E œBI kBHJXƒBR„’Ö „”°!„¤„5!$%¼>!dÛ¾½lñ;±Xƒ3gÎìß¿ÿæÍ›PwŸ§½äY‰búº&&&FEE ¯rùòå'N¨Õj±GŸRUUÕ¡C‡V­Zñ-ƒ5 Ù½{wTTTß¾}@VGê P£BX–eY–’——·k×.‹5èøñãIIIîîî,ËŠ*Cr¹¼²²rÆ Xƒízõê%ùíƒøúúfff /ò¬Z­–Ë妟 µEQjµÚÃÃeY¾A¶-$_®ÍšãK¡(J§Ó ßÅ…o;:Ž¢(â…ýj$D&“I~Ÿ=ä8Î0¸Æ„„ÈårÉÛ(rgøŒÁ±"yEŽfågŒélš Û·¸–KÄ1¥F>5<»˜mðY ;A®Íúßö±XJ?á]¥D*wï5ó¯zÏø¼˜¹eRØ?ž¦§dQ5}Xƒ\žõ‡X¸šØ|îÂUjE?žšžÒÁÃô‡Â7Ô½¹ÇÄwâ%ŽªiÃH»6Qý ‹Y&ón[«mTÇ?þÒ—ì^0éŧãããã{Ž˜þÕŸ•,0³†&$elΘ28ñÉø®=GÍɽ ¿}ÿõããããŸìóê jÜ]þ¿;²RuO0%;¿ZszÝ¿“ãããûŒÏ8|›Ú]S€óA.ÏÊC츱˜KÕ kqU‡æÿ(/ô…ës¾ûæƒÄʬ)³~¼a* LáúíŠQ+vÿv`ãTÿ]³?ý©œàYø ·36oݺ>cRô‰Ï§~yüNí¶˜ÂÕ+‹žœ•µvù´vù‹§¦¤Î=þè?—®[ùþ“%Yï­8£³°;g‡ý ×&¶dá&äJ5ˆöMNŒ¯5$³ˆáYŽ-ÿeÅN·—?Jy!.<¤eôÓoÌ|5è¯ ‡*8ðí=ù•Î~rÊ­UÏ]å§\Ò¸Ç = !¶Uppx§SSºiì)Ò×nMÕ-uúðø6QqÆnYqF5fúˆ„˜ÈÇúŽu;ïÈ ÖÂîœÎ¹6gø½yW’y¶”C™Ùå Wþ¼¤+9>â©úר·,½Í @û†û+LOÉU>n†«Z€½•—=oÁ·?Ÿ»UÛ{qOÔ0r?Ò¾¥ÈT*:°}kU÷¥½­evçïüïo‹¹6g˜r¥T;äu÷o¾ŽሼýÛWöó»7ûÌE dõû„ÅUüüQjfEÒüuéZ5w×}¿꺼R2yÝF( êPÊ´¶Àîš¹\Žc1fe 2}Ùç¤íFÒ±î:jíhˆ¹vìœ!v䈄0w9ÅTœ;WÅWÝì±;§"yG9Ú˜²€=^E#xvB?ÕÁ´;O—^½”ÿëæôÏ7^àý>žÜ?º…ìâÞ#7Y Ú¢í 3ϘžØÝ9¬A®Ml?¨«)>yìÌu­Ðckç¤]j,f-™wÂŒ•óýçg|2&[à›0`b3Þ4Éz¿33oÆì=>V7 îèúõëƒÁh42 Ã0ŒéÁýò­nºøòî%˜wÿ¬QfƒeBM—L&S*•4M+ Ó¿wÑ4­T*#""Ì®È[ƒ‚‚‚-BÕ±BHJXƒBR„’Ö „”°!„¤„5!$%¬A!)a BI kBHJXƒBR„’Ö „”°!„¤„5!$%¬A!)a BIÉÆßY%„°,kßPœ‡\.wÚoB°‘4€ 1Ë–tìØ±íÛ·ûúúºä•ã¸òòòþýûwìØQêXš0l$ `BøØRƒ¶mÛ–––¦R©†¹ÿ­L±Ó š¦oܸñá‡b j l$ `Bx×»‚Ñhôõõ¥iº´´Ô%oGOQ”ŸŸŸZ­6 …Bêpš$l$ `Bˆ®AÇQ¥Ñhôz½ØuíËqŸ F&“qç í»¾}°‡¡ì|ÞÎï2V·ÍHyÌÝÖ,`:‘CÇq¢Þä64kâˆ$Ô'.lŽ#Ä”ËÉiŠý B{j©Û40\Ý—µ(kÇ_¥:ð ëþÒ[“‡<ê-«W¸syÝÄ䟞ýXÁ¶ýʵîmžKž1áé _Ò½¡5zHd#aKXuºõè%ó’”Ù.¾×à ƒ‚è/æ,übˡӥ5 kÞ¦ç+S&õ‹ô¤€¹¼nbòÞî“ 7n;zUëÕç­wÞ|怮îÏN_µãÈÕ;@ûF÷žôþ›Ýýä[”ÈW'*VíD( „­9»uñÂ5?Vå#ŒŸ2ú©@š7 üÉ1ÿÎ2“´iOä&/»È²ÑÏ/P÷úqÃ4û&ÄÄ–ób¦™­Æ3E÷½Ç­Íú¦PÏŸÞäðäÁLÒ<º¼¿b|˜"lüÊïwìØ±>Õ¾ ¹KÂ~ †Cï é{ïóÑ@a+~[ý‹òÅÿŒë¦€À¤·†í{ëû#‰Ï¨W·À#aôÐÇÔÿ®£FEÉþ¾ð•·Ú6*0ìÙ‰¨Fb,+*ÿ.!îæ²¯ŒxaX„éa@ïqãX¼¿X-#Ðüé×?Ö\ÜmPÜòO~¿¬ën<øÍ^}÷÷¦'Å«)ŽàÊwYnQ"_˜ÅkW^K 샛òä=?žÔ§½'-_ù׫¿]ŸsvØ”óIx:–'9¬ùwÖ3qÜŸ4`K­ŠÛÖ„˜H:JÞ~œñ±u]ݹUï¦×Bˆ¾ôd‰¾ôô¤kë­|½’!žÏI Œv3…ByµŠTWž¿BHL£Ãd'¢ :ÙÀÝ>¶!cÅÖCE·k¿uîö”ÆHˆÐÍ[ûЦudîÍ”ÆkZNíÔUÒú…HUýiU‹ùêÄ,ÖìD †סŠÐÚò$óiÛ\sþ²†6ŸBx’Ó‡sI« ¬IέAEqר¯2Ž©ƒÃ""o>º|3I3íÕÊ9i›ß5¢çƒLû°82´Š™ Õ>¥Œ KûNT²æW»ûYÁ^;~¡Ú´SvúLµ:<Ø^¡!›ÙÐHd~{F±Ç6ì,6Ô𩮏c¸qªÈ5¨\ o%LeÑE [¿³pïQ#DØ6˜*þýœ†«·!+[”(vOˆ@dþÑAPrôbí<S~êT¥Wh OŠ' „79æó`6i„€L„3—³Æ%¤>éç¤Í>Eù<5¢§ç‘/?ýzß™+ׯ—œÍÛñÕŠŠ ¤A{`òW-ýáäÕÅG6|¹öRpïç"ìv‚It#‘þß›#£.e¿=ké÷‡ò ‹ Oåíúfî”i_2>áP%¿/g§-Þ“ùmPÏrïûŒÊ'!éiåÁŸ­ÿý|éÒ£{~Ì+ã¬lQk$V%D ~]ufö~¹,÷Ô•Ò¢Ck¬¾Ôâ¹"Ýø’ÀŸóy0›4Fæè'¿yìÄ¥òŠÊê;öMÈ]ÒÎÕmªî©¿·-SÅM˜;Ógù×KÞÞTàæ×ëeU›Ù¿[ úâР_?›´üçÝæ¹”w‡…Ñ çƒìDl#q òÑÁWoÚ0ÿ‡ #€ç#ížŸÔÆÃ§Í›ÉÇç¥OJW©í;4!×ð£j//#@å—<'Å+cõü”o  ðiÓs\Çg)+Z”ÈW'fñ»ZX‹/ n”¢Û”o/ËÈž‘¬E`‡~3R‡‡)ax’À›ž<˜Mñl?â¥vs—O“^‰[VÿÓ¾ 1¡¼¼¼ ¬_Á`0¬Zµjøðáƶ]Ú S²qÊÔƒ}Ó?ë(ê*{‹¼½½³²²’““•J¥]7ü°p¢Fâ0¢ &„OLLŒdý Áƒ üïæÍ›­¢^, åþ c?ÈD5ö`UcxàÔâ×çIŽÍ/M²´iÓ&áí[„C¾;†5È.Döàœ‡ã× ¾ü8Ort jÌ.íF2xѺÁÅæÙ5Ô€ôÄalk$˜ûá=ÌBR„’’×ISe0ì“ɰ476’0!|D× …B¡ÑhÊËË}||ŒF£m{uf‡¯J¥²¤¤ا1°‘4€  ºQ·mÛ6ww»ÜSÉéBôz}çÎqZÚfØHÀ„}"0 sëÖ-­V+vgM…§§§M7þnh/l$ `B̲ñEš¦mX=<°‘4€ დ¯!)a BI kBHJXƒBR„’Ö „”°!„¤„5!$%¬A!)a BI kBHJXƒBR„’Ö „”(BˆZ­îÝ»7Þ6!ôÀÆ;wVWW×öƒ†qá»+!„œŠV«eÆô˜2ýà‘Z­îÒ¥‹R©tssóôô”4<„ËÒjµ:N£Ñ?~¼ººîÖ P©Tн{w)D¹º@MMéOªÁ?ªÕj ‚B=4LÝŸ»þ\, :nV"¾IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/warmup_add_component.png0000644000175000017500000000230513634703632021347 00000000000000‰PNG  IHDRº ggAMA± üasRGB®Îé cHRMz&€„ú€èu0ê`:˜pœºQ<UPLTEÜÚÕ39:×ÕÐxzy“•“VZ[8>@wzx£À}¯La£"c£$±N¦Â‡ÛÚÔˆŠˆ_cb.46•–”068ÖÕÐsuuÆÆÁ¢«•8G6†·W¿Ô«ÖàÍÕß˽ө~³O^Š7DJIgkjÊÉÄ5;=ÎÌÇhlk™™—»¿²8L0¢¸åçãÜÝÙ†‹ˆÛÞØËÎÊjoo@IDS…'Ö×ËŠ‹ŠHLNOTUÖÔÏ;I:BLD`ffÚÝ×ÔØÒ39;Š;@Bƒˆ†ßâÞÂxˆ´ZÍÓ¿] àäÞ×ÛÕÜßÙÖÚÔ168^bbÃÇÂÞáÛåéáY ÔÖɯƔ‡·XçéåØÜÖèêæ~³L¹Ê¢‘189àâÝèéæ™Árˆ·YêëèãäàÝßÛììé³M_¤ìîéæçãåæâßáÝ179`ddÈÊÆ·¸¶åæãêíç~°L¬ÌŽîîìçèäáãß—š™7=?¥¨¦¢Ç}†´YÑÕÄ_£ÁØ«ðñîéê烇†ëëèHMNQ€(Õ×ÊÄϲl¨0Š»\ÉܶâêÚáéØ½Ð«y§M_Š6KPM^cb¿¾ºÑÏËÚÙÒ¡¿~°Mb¤#d¤&€²O¥Á„ÛÙÓÚØÓ’”’fii”•“ÜØÒÝ×ÎÝÙÒíœKõzö„õ{î–<Þ˵ç{ùÀþëÎþèÇþçÅþêËøÄ…èzÞÆ®ÙʼÚv é”?þË€þÉ}ê˜BØsÙȵÛÙÔÔÒÍÎÌÈÉÇÃĺ¯Îr'߇4â:Îo ĸ«ÈÆÂÃÁ½¿¹±Ëz6Ëv/¿·®Ù×ÒÒÐËÿÿÿdH§bKGDÆúzÍ oFFsÒQ45 pHYsHHFÉk> vpAg˜Ò›f4IDAT(Ïc` ?`dbfaecçàäâæáåcâ‚É ‹ˆ²ˆ‰KHJIËÈÊÉ+(*!éSVQUS×ÐÔÒÖÑÕÓ704B6ÓØÄÔÌÜÂÒÊÚÆÖÎÞÁÑ ÍJgW7wO/ow_?T¹€À Ÿ`  C’„‚ˆH ˆŠæ@Óo ‰ahö%%§¤¦¥gdfeç ÛÇ›—_PhST,XRZ†6å•UÕ5µu‚Œõ רÔÜÒÚÖÞÑÙÕÝÓÛË„*Ù×?aâ¤ÉS¦N›>ƒm&Ñ‘1k6ÌÁ”›;o>,Xˆ)·hñ’¥Ë–¯X¹j5C׬]·~ÃÆM›1$¶lݶ}ÇÎ]»÷ìݾmë ¹}û 9 8´õèÑ­LGˆöNy„gŸ/ó²y%tEXtdate:create2015-01-17T12:39:27+03:00‘Þ”Š%tEXtdate:modify2015-01-17T12:39:27+03:00àƒ,6IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/screenshot_gerbv_thumb.png0000644000175000017500000025523713634703632021721 00000000000000‰PNG  IHDR@ðþO*<sRGB®Îé pHYs  šœtIMEÚ0À ¹ IDATxÚì½Y¬¤Ùq&çüKîy÷µêÖÖÕ;Ù$»%R”h’#iD’eCKжÇ0 y^Œ™—±lc€y´ûeÆ4¶aØ /#$‹4(KÝÉf/ìfwuwíw_òæžÿvΉðÃÉÌ›÷VUSâŒLp¢neæ¿s"â‹/¾8‰ÿÙõÛ§Vá+:Yõz©l7׋cM"ÀŽ‘Y­ƒcÁÀi Œ±S¨\‰rLˆ(„Œ BA*&íÐs…ˆc œ²%Ô"`Q²"$±ÌÎbH €X'€Ž$P1¨ÒQÛ :@ ~Ð ‘$ òî>Úݰt=l\'(¬•×Öu5ì·Z¶uÂÎ5›[[ÎeŽ Béøàôäè¨ÇŸ|é¥Ôß{ç{ÖØr¹,"\I OS$*•KÖ‚ˆbÊäßá…—²b0Tƒ’ØÒH’\D*VÆBʬ# AbÃ]ab Ÿ|^ ”γì7Þ¸}û¶R qüecLF?þc¯<ÿ“Ÿ .7 KN@‰Ap ÙÙŽßøÎ»o|÷ud!­PÛŒíg?û¹§ŸzêŸÿÞ”J¥é­µA|õ«_ͲìßøF–eALîEœsׯ_ùå—K¥Rá,àcï3qHk [ƒ¼¯bÝ ;#ûÐTM­¹¹TëõFŽA)"" ªs?w@‘j”kŽdTE(ˆÖF¬$B³9—kµ^¯w0P@hE)åØ&7b á(ÔW——¬¸{û»Ì®ÇÄ€Kl¢ˆ&MäÈuòAäp¾ÓJ÷÷Qëh¿€h’~Y%ÿÚO>³¸Xû³?~ëÝï>¨¬>³ñ ­­F‹ó5·z뵯Ÿï˜ ›E1t÷Ûãje)íé“î/-/¯l¬×jõ½Ý݃ƒƒ ðüjШ7ÖVW“ÂÞÛ9$@ÂШbq°°"üÄ‹O=³ßÙÛÏúíòK/<»¾±9?·prçõo~ûÏÛ«TºÜ5/Œ*v»q<ÐV áÇ9†€È»¿¿¿³³ƒˆÓ§`æ@ëË+7?û‰—ú'¨(Ø#Æ¥jÖêþé÷¿jgo¬#"DP"Ž…ëÕêÇûý¾_šÓÓÑÁÁ1f{{»(Šé§~Å—Ëe?ž†ùqžE ¬.ovä¸sšqÒ¨™´?Š¢•þpp°{27榿ЬGq¸·wh9QþU›®ˆ Ñ•­-¥ÔÉɉ1¦T*)¥:NµZÝÚÚʲ,Ïs9::ÚØØ‚ ?è§iŠˆJ)ç\žçþ<‹ ‹«««̼¾¶Þív¯l]év»·ïÜÞºremu5ÏóãƒÃ¥……ƒÃÃ^@$¥Z5kÎGQ÷)s»®’LÇÌr?ZÐwN;å£ýϾÔþ¶m¼ñ½Á˘îTŽjõ9×’¤y¹6ÕÁhTÖa¸ß.V¢FÙ…ÜŽªA”tšeÌܨW»CÞ;ê ”ˆç¢Ø ¦i±X®ÍÇå§-C²—µ†ûy¾sÒΜ­–â²Ò"B¢1 KqyN—îžì—Ãò|½Ñô“"]i4:ÃÓÃVïÎöî­÷ƒ(üAÑ ¬A4ög¾Ð¸rãc¯„aÿðð·þÂWj¥2@+G]–·Þ~?é7W6—[íö›o¼¾´xEËü[÷çç›~ôaµQÿâ¿xçÎòÿñ`0ˆ¢hj˜ŒF‹sóÿïý½Íõÿöúßß½}¨lÁé>ªBPŒ=ÉŒ¼—Ã…qµ¹¹/ýüg»ëÇ·‚?;n—ö_¯üÜ—~æÓŸùôfyðýÝþ<èÞlW® W[åëGkz{÷µýL‡:|’b‰¢(M’© ÍFËÖñɽÃk%$p²Q€  P•bwgg4³·L¿ªR)/.Œ²üî»I’L?šµáÝÝ]"²Ö>úi’$~øA–åBèïðü +ë’0Šª¯\;Þë—òîÓ æ[oôâ%…OﵯßX,Šƒ·ß~û¥æ‚Þ~ûÝ¢A`/žíÂøËãÞü‹¾Ð9W«U‡ý~¹RAD­µs®Óé´Ûíï}ï{NçæÍ›o½õ–¿ÕjeY¶¹¹yéÒ%ÿ÷ƒZ­–Ÿ‚z£qùÒ¥“““$INNNŽûý~–gwnßAa6Æ@^ß÷ÝÃÖ‰"X^\3[ó óYlÞ¨§÷¤¾yà^jWH·²w¶»‹QR-U·úݾÉnŸ´ÚqÕôN–vŽOƒ.\&ÜÞ=¬ƒx»3ÀåËÒ5é0Mã ŠÊñÁÑIž›çž¹Ö ­„„X¢¤ÈB‚›ë«ÈîáÑaŠvШ%i—Ê'Irç¤mœ‹B•˜‘˜âÒêf^˜Ýãû+µ¹;»óµjß·wŽ®®®CÝMÕÇ÷?øÿ"á V¯i÷8ÖCJÛÇ;£½á[së—®­¿üµ7_3´q÷Ã7îôÝfù…RTn–7¯_þÌüÜêíÜúàý¿ýk¿öÕŸÿêÃí÷¿ÿýÛݾ{ûö ×ètNQéG6€øÔÍŸºqíÅÍ;»Ÿ¿sǾ÷îï6Ö¯=ý¹7–—è­wî¿ëgnüd^Ø[ïßrfD?œ]ž·oùø—Ëû»{k«kÕZµV«íííß¿on~~_˜÷NNމèèèxee…ˆZÇÇY’t;ÝV«Õô{½ÞéI 6._Ú}¸Ýíuà tÆììì<|ð ÙhîíîÀnGÃË›—F£Ñ;ï¼ããvwmáµ\VW cðx0l™Ž~öÊ2…á»6ûlšésÑ{\º¶_ ÝQ^›ƒùÅ¥4Ï ¤Ë=ckQ¸¹¸„¤;€*Q  n4æœcc$¢+«‹ HAE‡©~–v¬«7jUd‡WJˆX+Om®!"!7Ë¡sC‘RõM²¼¸àÐv‹a­‡ëª…¨±VYÙ-Ý53UâÜÙ (bv¯¿¹ýÛÿÍ?[¯Á»·ö†P¼óÝW‡Eå[tÒþöo½ínïÝ7ßÊ3#.Άæäønoãßxï½÷îß¿¿¿0ô ñbÂF˜çùoýÖoݸq­R­çýmE³Éñ@úŒÓ ÀÜ}ÿvj—FÝ¥ì MÜÿàÖ[YqÁÛ-ÊÙöÞÓ[úvžì?Ѐ (zâêEp¨Ãrµ•+Ö®0  £À1#Q©\&Ã^ý“,0ˆ`ÇfV Ëûý›(:*ËÌSTžÚŠW—HѨnvÕ“®©”Mqµ¨UHhP=Ñf(êmn“¢óp€+›”ç:›KËwÞ¿÷æï¦Éh0håÅ€Ç-!<‚ÏÆÿl¨H.\À}<«’'iQÉw¶æYÑh6z½Þh4J“4 Ã~§{çÃæççuöi†Qíííí<ØÖ¶ÆÎ/ÌûIÒJ÷Úk-"Z)NOZ ‰­==9IFÃ;ÝvÖ!áîö±s¤5[+ ®®Tæ6V÷/ç˜dTZ.s#Šðó_üJßQîmQ*g¤ 0*aF"@d­‰‘˜Ñ'E‚ˆ€(ìE  €0²ÄsÃ+ àS#q€ÌÂàQD„ÅçF–˜ö>ø`oç¡RjºêQÆŽ\|ò‹žaQÎ::°©” q±ž7ÔZùC•RŠ”€c‘™gC‡ždÝþÆü8xp蜥"8 ÔJÆ<Þ"øŒ°DAya©^ŠƒNFIÒ>mÌ7ƒ(F¤$u‡ý¸¬ªAäHN†­Äš\”|<&DtÎU*•jµ2 Œ1Σˆ…™e¾R§¹p°¥„ŒGrXe¦y YJG»wÙHDå­U•(2–û£ÓnÇ‹Þ½áø¢¤Ô\³©µn·Û…14q|~~¦1&IÔŠá Òãd‰0³‚§n^Ÿo”l«;Ú=ì'‰,,¬\¿¬‘ŽOïÝ»KJ¯,oåyÒíµ-"‚è >Ü0N†ÚMƈðkÌ È“œ6LcÃtÀ¦ú>–€Œ8‹p®V¯"*=~z!?àÞßà¹E7uV 8Z'~ |4fïiQ&«ŠýQˆD0ã~Î(Ññ;H(ã(-þãyC <ŸìÍÖ#! 0®²ˆFñs,à‘¼S5}Pñ”)“-€âýó̈¢šúíÉØ ‚ˆ/§9Iiȳ—ø({‚Hˆè&nfrû (ÚσÆÉó8ÈLŽDP˜˜‘Áá9Ü!"‚¨p ¦îg'…@€Ñ¡ZBa ÖÀÈ“³ÌBA ¨¬°BA!F«dº:d2€3ã/ã›G߯Yª)8™j@žeÈý§ €J­òS!ShÈ ¨P€c3ÄÓ1»T!¤ilœÜàÌ:3(ì‡Ï7³Y«ƒ'CžGýÈì>8ÿðu,DE8 ×W5ŽQÆC6¶ÆÙI™É.½¥ƒ÷x0}ã@æ-Y&ÕÇ Â3ô gKì5øbš‰Ó¹œf–øÄ!›µdÇ…Q‘düTN€QˆŒ±°Lo\ÐòˆÀì!(ÉŠñÈç{"" Ø#±ðÔÆÇÖ Dˆˆà}R "à- D‹0xHD 4bŸ”NùæÉ­ jDáñõ¦V‚DcWáÑ å­ˆA€³:ÆÍµõ¥¥Åþ`¸½·›& )¥Yi@T Ì€H2uy³Óƒ“çõ(‘™a6]ðÏêN­e:Ú"€ˆ¨D„ °°‘dìûσÇâ£ÁxvXØðtNå‘"0‰Æ0‹f/Tà.ĉº–ë´\“¯ÞËäæÄ9tµfDåO7ûˆSPúWñòqáü¼ïT.œa2g @„ÁxHyzœŸGãR B>쎱ðÅË)¼€¯|:4q:óäã7… ……E”‡é×>ýÚä¿‚ Îc á±eN »0ŠWWWŒÍÓ,UJù¹ghEDñœ"²°°h œ`3´<ëëÏCþ±›Àp‘©>çžr§‘óчÍó|~~ÞZ«”ÚÜÜDÄv»íœ³Ö.//ß¼y³ÕjÝ¿¿^¯—J¥Á`ÁÖÖÖüüü;w², Ã0ŽccÌT#"zêЧYDêõz­VD ϬÈØ8ç<3ì X¢GÍÏO°ˆMgñÑïøÐ¤µžr*Orc&ý“ý_À'“w¦0äÜ9gñä8ž›¹GÊ ¢D&œ¿½ñz$ƒ“ÿÜRñäóL,:·F§$3È«W^xáy0…ÐJ+g-‹µÖ´Z­ sóÏ?÷ÒpÔç7â ZZ^::¥êõºady‘Œ2­”XgËqX˜ÚÂêååµKo¼ñaVØËŸ™ß;~è’áç>÷Ùo}ðpg¯^«cªµJ¨,Ë[§§ÃaêQŒ >Vvúè¼ø±bÇ€ìs¯3Îv‚Ñk>ðL È¸XpFELìjJà!;ŸÎ°Œ}è.ÕÏ¢R¿|ιþ¿Hø½Q Ýn¿ùæ›—/_þÒ—¾¤”zï½÷:Îh4ºvíšRºÛíܹsÇëv½@õ…^èv»ï¾ûîÉÉIÌäQ_QSüàÓ€i¡hjoÏÚáYþËc~Hëɬºu6É£ |¼lG|’|aªñ‚úIf¼ÃL–ŠÀ$ãꒌɯ :7ÖZ¥È^^7&ŸŸŸŸkÎg™í÷ûEQX MB ­–V×ÊÕê+?þr¹¬ß}û{ÍFCU*–:½~­ZÝÜÜôÙûáÁÑÞÎv¿ßñÅç»Ójmþ¹ç·Z'íJ¥""iž4ªÕ<Ïã…æ Ƀ8¼|y½°¤ ² "]kÔ¯Q­ZÍó|qi¾Þ¨÷zÝÑo%£ŒÈ—§÷=15Îslˆóz6LÝëcÜô!A>ãŸZÜ ‡0cÕ8^Ä2.#¹¿¦Ç8¤/?ž—™ ZÒŠ¢HÓ´×ë}ç;ßaæápØétŠ¢888èt:ÖÚv»=<¨N’äÍ7ßDDÇì¬uÎ¥iêugÎG! "úË\¿qã“/¾hÓþ[o¿“Y ãRšŒÖ××™yo¿Yo,,.ìïï{S´Öv:íJ¥EQ’¤aÞ¸~ãðððþýûD†Q–eqÏ/Ì;ë¼²EVVV¼²4Žcï‚ 8:: ˆSnäøÉ³Èéë03àyê˜Eäñz qïQ´3\Þ8d˜Dàñéå1ÇÒ˜+zÌ#8P4a_q:ÏjœE{WÖ:­U§Ýyý;ßùäK/­­m úíÝÝÝA`]¾´¼Ðëõu 3c†³³ûðÍï¾vzÔÒJ’Ñh8ba¶Ìvûä¤ÅQ‘›á ¢{wï9gºÝv’¦iš¦£œE¬µ* Xk¥ÕJ€î¶×¯­ºÇùiŸ4¼ÿÞû‡GÖʵk×;ÎÉÉQ¥V‘I%|ñdbÀÂ,çÀê…„}Ìãá³úÿ…ˆ=Sœ¹à-½ÓvËYYI&Ú `žT P3ýg—{|‡…ðEwýè‚dö4xì 2[…ìt:ÝNçÞ½{?XÊOèŸ&Ù”1™„œ±cÊÎYµZ-Šâþ£ôþþoì|÷ÿ£ßüÏF:.Åna~‘†ÃQ³Ù‡nW*Õjµh}çÞÝÅ…ÅÕ••Á``¬]\\L“ä¿ö5¥õêÊÊîÞÞÊòò+¯¼’çyµZ†ÃѰ—ò¢h6F£ÝnW*Rêõï|çö»ZÑãMí1m<çø}SLH4kÆŽ£»å³é˜Áxþ¤güªÊ$œ’<ÁFgëN|À ÞÈ—DÆ“±DT&þÀ+"͹¹¹­­­…ÅÅ,Í;íN§ÛEâ¹¹fšfH’fi­:×öövBVÂÖ ;¥t^äG'ç™LPšDpÎ0i@vì«Áˆl !}æóŸ;êô·>}y)éŽÛÖ 'ÙãRE+JGCç,"¢//Ÿ1Ï­ ƒ ë3ž³—suq‘™¬”Çã-g<òc†V¦EG<+WÏ,”;’êüÑ2Ê£©¶Œ…S^gæe¦qÑÀ§ÏDÂrÞ! ˆ8ø—`ÆjDpâ´Ö++«gbT¹PBt®89Ú½³·ûÑa{ïpT(*ÇÇÇ'ˆdLÇq’$ƒá(ì=ã5¤EqÜï MÓÝ}fqŒb¥ÛX+yaƒþ ¹s÷ÖJDòüpÐ,//“Âá`Å‘1æä¤ ÿÅ!Î ¼Å‰*I­/uŒ '‘sõ9›|ŸoɸtŒþ3?y,B€Sý&£ÈYÙS¡àãeÈI—q"^ã3på×)£°;ƒø@Hìøè´ÛêïmïÉx9 ;&qÂ4>ÿ©O_ºù©,7óókËW_@D#ÌZX‚sò,¯9ûzRâY@ø¬™É³nyuõšNOO5çŠà†(–Y†Æ)Dðµ,B$EþYúâ°€C!À˜÷³Œ³ªm¾¬5Ñ9éñq£4¡xR]ÔÞ*&áññºÚ±èí¬Îâ.Úî8ÍÆÙ;çDP΄¯<&~/Èïy\æå‚S„àßa¦Ùãœk •'Åå ;»‡ï|óµ^¯ã£Î6‚M}ÞÂÂâéik}cå™gžÊÓä›ß~Ó™U%XžŸ£‰2þÿÁ9ð$7Õ?àäßx þÔÏýâçþÍ_ï Ò–¦®g41޽2žÆ˜õõ ‚àõÒc-úEÆ*cÝ)ã{¡ðãppI€f&g¦4?†Î~ú'p’p8ä3rjœÓNó·3òjVŽ2“, ŽßDa–qèðñYDg¿±›ôûÓÖÒÆú»÷AéF-fá¼0Ýa&JÒ¤ˆ¢8ŽË¦Èçê%ç\’æ†Ù"3"Ú"_,«KËÛ‡§AeYÎÎ5µÂº4ÉæË!)À¨2“²³q©te©vç´?( ZRåHc †´©UË †€•Öynæk5Ë®›ŽŒ‚I§áDÆ'^6>.GOø¢½’Ff²$ >fÉE™8²Ç¶"à…hÆÓdûIG8–ÚœEà‰ Ú—'‘Y¬—jÉYô¦3hÌÈâ%œŒì½Û¬e:/øñ‹kâzØëñü#L‹pˆåP«Ó:ž"<}¾N3þ»ÈÍ—¿ü¥¿ówþývð_þ¯ßÜ9j—° Š#Ä€ÄΊ8Ð(ÌJA¦€…À1‚#MÂ$à41 bEÈ„@‹cp'ŽQ‘!ð½ÞD‰ywE„!„ˆíçß°x¨(¨BTB&Hʉ" ‰B'B ‘ y•ˆÖ A”‹ìHÀ)4 ¾ð(Àœ†@À±Ÿ9ö…)FTHb‰-3Ð “8a‡ˆW;![ë,°òõ"izà9u»Ï­™¥ßnŸÞþ0Ðv6›FsM;³¶ZÛïðq{´»{耪õæúÒ¸¬^ Wç[R¥*|óÖýƒöI) …k+Z¸¦E7¿P‰"::êéPµír©te}­?Ê^{÷ÐXÖApvmµ^ ! Ö¸¸wÓû‡Ý,=¿µºÚ¬y±¾¸0%&ÌUê£,¼{¸ÏBZ)™n!‚>ÐM˜äi!sü–Ï$&Zå»V€&–€ãNo4ö¡žCÏ ˆ,“< ÜgýJ21_9Ï»ñxYP„aìa' ’±0D± °Œ5žx>ˆµ'2&©ÆÞdÒÀÃãûEžÅ\þT¡Â•a_Ó¦¢~mLA¡ IDAT’b»×ëf£öþ^ûýôrûÔz#Ë’<µO;J©$µÒ,•JÁÑqßY7_.;ÁAaÓ¼PD« ÍFIõ’t·=ˆÝX]Õ¬ŽzƒÁ0#$F1èb­ËqiTdKz‘¦i–›ñÖ#(‚1Öðüæ2³|´}À€„(Hj"J58¶!âÒܼ8>==m–Ê('ÖR&6\­£H=ˆZƒ¡aFBƒ ÌرҪZ-'£Ì¸‚jpJiY™«»Ì´†ý8 ó¼@¢Z)çNGyަ‡ŠÑ«H9p†UäØÕ𝕹n¯ŸäE=Œ-;TTä…ç"ð8%«¥8c¤iJQ€H½Q* ™ÆŽ{ÌŸ9âqñeØé§§\ ÷ûzgÐÞées]Yk´†æ¤›mŸŽL‘Õ“þÊ\ôáýN­ViÎÍ G©tq¥v:ÊNšÍÊ~«´¿·?׬0R õF¥sÚÛ=:m4›îHáI’çûí–õPà o’ÒÂm8 ¢(¦ppšfEZ;I/uÖŠªFIšuŸº>7JÝþIj¥•GÈ"Çr•1R›¢«‹Å#QS<{†e¦ê7œV1‰…=rá3uï` NlC@„Üi11ÅYËleÚ¢5™Fq" ¢x¢€± p~Ê#ãØ#ãåø ³˜b†?Ÿ5à±ÇaQ@Æøt„Q?ÖzÆ¢3cíÎÁ!D1S#Ò¼µØ-7»ékß»‡(+Í€8¿²µY"TbïöÞ¹Û*´:W.%©•…j¬h¾¢“$½¼X…ÕFZÈöaçöƒ£¸^Zi†ÌZì³×–†…ìžôçš•ÄÂ{·öûóµð…­E%îúúJ¥Z~°sP+‡—W—OÅ·n?ìŒFsåx}~. Q•Åj•4‰ØÛ'íºsåøåf-V°X«FqX®–ŽÛíÓáè™Ë—EÜûû»JŒ]®W†Î³¢—§wÚ-6x}y!B H£—êµ¼ÈF£¹R´P®H»ë8o–JÓÕZ­Öë÷w;íۙ㭥EÝseyÉ€¦8jŸnÔ³°ÈIâJ Àò÷÷ôºMŠ_غªØ.Dáâ•k{í“ÀÚ«Ë˾sç¨k=ŽÚ €Îgâµ.žÇf“tÛÁ W¥&rÍ9§÷߸½/@B€‚ Š’"ëüÞ»Û;¤k²PQe 3Ì:§#]+ÅwO†»­$D~ïÁ‘q®Þ¨íöZi!ιn 0Î5j•¨6÷ÎÃÖ`˜R¨Èò˜ˆ.l^€kyXŠ Á‡ï~0¥Q)'ìq5ð´à?›–¸ÇЇ"v¢ ¥Ò˜—œú‚b¢Qa;K§{ÅNÈΩhn¶n%hDÆIâ4SF7aÚ.Ú—°‡ñ|Æ‹œ/šÊL¥‹AÜ4 pÆú(àýñ,4ˆa)¬ÝëN““V¿µT¯¸KˇÝü “lu”Âåݰ¤L?7õ¹¥v^g§ƒƒã^Àr#ê÷œenuµ°ö­Û÷N“¤R.Uƒ u¸{2<8¸®5&}öÊÕwîí ç‡=£ÂH憦5HÚíÄV¾þî›å/¿xƒÓÌX‡Zí·¶‡;Ç~QP{0*iÌ÷G¤Qîwúû½AZð;öÚ§._î%y)IŽ[Cc®®lvz½;{G—WÖŒ-ŽÒa ƒRXê¥Ù^§ãX/4jq·áÀ:3%Yúáþ®¥M‹ª_Ø¥re˜÷º½aa»£… ÄãA¿ŸHŠëu6¦^7à~»Óêv#9€N>Âa_9hÖê}kîuNç‚ ì§£á¥ùÆ’˜û[æJµ|0è=ì´ËZƒ8÷¬Jf°Ø¼×ºÝëó—ésϦ©Ñ³8(Š€Ь0Tx}I>¹9"ŒŠP´¡@!» Ž¢(Ì 3ÜN\!„åR$Ž‹HkA‹(¡  Ôš5Ê3vsˆÈ(H€¬ˆ­¢8ˆJ:°N²,gPˆàâœèE }FÃÑ„ð­Ó‚Ó’ø”£˜è¾Çƒ ¢q‚BSÖ‹€&MÅ3V$Åà-°c¥ŠÆøBDaPJ‚˜ƒˆ‹0¢ïêà±ÓaBFÏôx}¥O£Q<+BÂgÛ Èfä³ê„» ³óƒg·SñáÎsÑ2®YMÎDq˜Ý}ø]÷úÙ §š§©3s½^ÿO~ó7ã?ø÷¾wïàWÿ‹ßݽ»q t(]Ë 4!j ¨ƒ@#ƒ³à,ûŽ'P„ˆ¤ÃŒ1nR$@¥E”¢8Ë ­Ð:ˆ"Mè  ²À¨H¸\QÚÉÖÂ’ŽKwöµ¤´jE¡&_œðK$Ó{@a‰ÂÙ!8ïêCXç,s(£ÁæÅB\^h6ºía– ªPi5nHdfcM(E‘›³@vNê@Ö: •–f#6.ïö‡S^ÎzųÖÚdÆ ²³J1ˆk—›ÍPÑNçÔÒD%(縖q‚ä.cÞëÂÎý÷§¿òOþÁ?ŒuØîv«µjª1ÊqÌŽÙYVšÂðl_Höf ¥ˆ…™ÔXèïcU ˆ´€¼0 ¢ÆöÈÌ–™Ç]¾“^™q‘œÖ*Mq±Žó³€VJ+g­cD&Ä@…@ÌÆZ>Û¤áB?+2[TˆâœB5á8Q4‹£I­Þw :æÀGl‘ ÐíÞàÖG“SHAK„α²Ï]¿¾\¯ŽEœ„V h"ö½–Àã¾NÄÅá{ÏPŠòhçã‹ ?t‚ßÿðwý×·wwÂ0\]]ÕçÅ_SKˆÈ –£àìé­¥8P"`Y!Z€±cù›s‰¼t"Ô sc@13Žv8!H 9g­ÖÊo)âœBTD¨Ô8 ,œ(†ªåJ㊀Eœ—PÓ¤2N+?ãú¯±N7'Öb¨µ¶¨1D¤›sJ¤ã€üêò¥x0V …+D åÅ´Ú‘×èEZ! eç<€a Ñ: „ä\¢ˆü°° XgEX‘`væ3k뤔'D/öœE`†îiëô•æb9Ô@´¸8?³^ @Nª@t¾$¤Î6år¾ÉfÍ´0‡'Åj©6³Y¬]ØLP]ØßWC…`‹ º ç÷µEH:gcgGäTÒAXþ˜å{2ºO.[¨<:˜¾€Ýi¿^^jÄçÚ ÝêÝ]­\ ôªgæïœt6.oAhNïg\˜tm­—l,4§7x2ü J•8ºq~àÍvçí•úF¤ÖäUÇz¹ì ÷8•R>VüFQ©Z¿~9üOÿö‚RŠ”òÅpfa¯B˜a0füEœ×‚Vä÷Ñ´Ž'<@ˆâ¹ôÉæ¾þFc)û"ÕdwâEíNÑÄÏAŠ€ï-GPˆ¢P«1 C¶bÎrW—ÎävÌDxÚéµ{Jþ™X„«•W—爧{gŸú8O;ÑB>AcyQ"J¾pfÁ °F"ù8½çX!nçðàÕ?YÜœ_ Órµl1&;:í%õšzå¥ë‹ë f©Özº›4 üŸ·ÿéJ´ñ…뛕xnúþ‡­7^»û»WêŸùò³¿2+Pÿöƒ?úðèÕŸÚü•g6VÙ)9MSª4V¯” :½NøÇ W´ü[ÃÔNk³¶¾ûßûïži~îó×.)M3Ð7ÿ¯·vÿ·O­|åå­_ú‘pZäS?."úÑÆi HžçA®5`LÁ†Ñ#=õ Ì@“ &wœ¦É\³ð#Û²G‰s¢QǪþd,#¾@ýö½ãóùùE„ûƒÑJj?ùüÓÿïlþ—Ô¸÷›õ 2[c [Î ˆ¥8F]“,É Š,m?<쌡 Òm —7cW¸H–OU°}R˜a§/fÍ© í÷·š«ÍÅWK¯½÷·^¹rõÚufvÎZk=Í;‡£‘‚v§£ƒ Š"ÿQ…'Öí½ƒ<ª÷þèÞþ•µÍZ3°­ÞéííV† I!÷Vš¥j­jM¶½wtÜå°vý¤´½s¼±¸f [kI)HL¿ŸíqQºÝµÀÖrå§KzŽ ÌÑ è;¼ü'º”n._•‚„\?ÛÍrì›ÖÞèõ¨7j— /²8 t;;¼—sõ4û3§æ*¿<FNL2:Ù,)ÜÝî«$sõ+Š"k —Ÿäv˜åíÛíQ­Ì¯Ô_V¬ˆüHf|º—íÅf†Ç¶SÌv æy¶³³†¡Ö½JÉTë[J-À­[ïs£Ñȳ¼\­­®®@ÎòÚ[ï¼þÁöâÒÊÏ¿tumyDÄZh¿- Z_O“ÓúÒÏÅåù®í÷ö¾1´Ç/®~¹^ZcL@>AB.{£Ã½‘%›:hôvŸº±\¾v•ÙüÎ7ÿûãüh©6?̇›ÕK?ÿôWý¾ªÂ®›wGy)¯.®é tŽawÐïC°öÌ e)ë¢=<ív·‡IV-•á¯Ùöa¦`gœ.lNYE&ˆ†J©¥^%¶¬³¼H“ Œ[Ü>>®V«I’ܺu«(Š ßÔŠ ìÐ:b¡JXq&· E–ƒHµ2q©ä:gÁfI8.@¹œ“÷Œ)Ä)gM’ÖQ'ý·vþWÉ{öärù¥µ—Mj„’‡Gï¾×ÿ&ÇYέåŸÚˆ_Ê3¶xrkÿÕám.R;øäâ¯Ôa#¤™ÍBŒÒ‚ï´Ž¤ñÚ|¥mÔ©)ž¶ð™ý¡{:ìžn¿Õ~•ãQ??¼ÞüÂ¥Ò§ó‘- ½½ÿ­ûÉëå¥Ï•¿²¤/“‹ûQÍ8"V«U¿Õö™?©·göåÈóÂS-Õb­]v˜«År}ÁdùÛo¿iu´°¸ž[Ù\ΛJ\*»<­(9ìeߺ/̆_yåÙÅõuk­1ˆˆTÒ~#ëüSkn÷ì-½úbyÅ¢3¾}ü?~£ÿÛ{£ý¡üÇ?»õ ®( Т)ÌÒüÍï+Ñùææ¥Z\[«l(… £ï?Øû“?zÐ2E’ŽŽn}øî Ï>*ݨUn^kì¶z%v‡Ûû·#¾~óY\_\º²<8ž¥÷ðn¾¶Ð\\ZvÎYS£åõæ ·Ò?mT~" kÆ%(n¾tc…ï$P“Í«õ/‰¶Y¹ú'N`ÿ0¹µþøfô’f—Cî˜E$wyOærõœ¨?ÈÓ‚àgzn?ßÎ U‹o4çwvÿ(–Õ­ø'ʦ+õK=zpwøÍ¥Ò'/7>#6wh~„ó±Sòc"°oÜ÷mºY–EAèûسa` PvŨ^Ÿû°£öƒQÏðB³y] ºíëKŸ}Ž¿ó ƒ°ÝV›‰e¶Æ0 @̶Ìn-+ZÙðO>YYýe†œ÷Ûßk}=7|Y?]Q IfDò¢(„ ºÉï}íÿ¨®Î_»rýëßüÚÕÚÏúǬvšHN 1J Ë ÍÁõÊÏ,¿Ò¯õÂRÄÌIš(Ԁ،Œ‘á(íõûÅF–eBáðtd󠈆Éÿü?ü³»»wšO¿´;ÊóQšk*¬ùkbºžþͲ,/ O’ù|;Œ‚¤ív1q1 ®¯-ýW´sÌ×ã•:±¬„Q;yAÁs&w•²ª7®¤Aì'Κv­Zö’€´F‡¤ÆÛ\0¯®®Zk[­3/,,¬®®z°æW•X_,Ǫ™÷£Ãöðèd÷©ë7¢r©ɵ­jµbl‹°Ýl™"Öq½TzñÆFkÐNÒÒÁÝÝã㕵5"…D¦UŸYúÐ ‰ÂŒû*–`©z9Ä/G¦• –Á%¬•`¼Ùxº„qÃ\YŠŸ‰8L !  ŠsZtôÉ^/*Š$ªn0gàœã`.^ûdéçJI5„ù9XM¸/:Ò VêO³®¼2§×b[vº˜ÊÅ~dy]LåÎ 9fÁ½wì>r:ç”Ò¨¢ÈRÙXÃ6ç2¬›ÐJÝv£$Õ0t–ûƒ‘³æ™ÅRðÒêÊ\-Íó4ˑбSF'*¾j£_O‡ïŒŠ¯Y¸„ÀåbÈÕbëøò§æ¿8×|ʲa[8çD+“¦Q)øÙ/ý­“^{ÿ›zcyq>ɰôÂ͵bPúÃ?»ÿþ{ïõÕÅgŒÅ (È{¦Ó7ƒ².Õ‹"Z±aýøS?¶µv)î” ›¢(œµ•8ÝÉ\»ÝݪվúïüÝ^»ýá½¾.Yn¸° ­@øQå?çºsÆç,ALD6 ¬Uó¼€(Š‚`¼ ØB½¶º´¤D@Ø:W¹3 B s¼;$*—ë%kòJ¥|íúS"bE$P ˆ|׋ßC§Z­>÷Üs¾­Üwqc¦ñÁ jŒ–æ©Ië—WGÉH)U¸‚][_®±sk+«Æ²ˆX¶"\)—âx•ººrÉ9)ŠB)%ÌŽDÀ*ž_ú‚)XЊ°%à2Û+Õç—¿hÑ¡Xƒ9‹È —…h½¾¾Â„ ƒ3"XÇj¼‡­®¢c ¤èlqº1[•¸üÂÊÏËìÀäNıšWšË1ø/M…L7‹þ—Y9öE˜=•~tû¢ ke̯[3$é(³Î”ãªXE\¿´ž™k{z¥T¯E"H*xðpÄ­WÊYï¨CêòåM"b&ßpê W•Í8·¨©\þ´'­ÀBùÒÓs?“®\aF¢‘ЗïÙQ ~ü¥Ï®¯Ÿö[Ïo=7_žëúÂ\ŸW?ñµõå- 06K ›šé•+ŸøÄÊ'–—VkE}¶çÙeöùõç¶Ìfår­^mEáwidä‚l‚  Ÿý…_œ¶¡T>8¥q¼7€üe7îú«0`¿Ï³ÿ;Š"EšY˜±@¤ü^~ÿ¿ý¿1’$©qc—ã¨Z.ù¼À±cNPk݃‰^Ç{_ñXr >óCêQô¹Í½`²=0ˆÆh¾Y¶Î.©Èmžçþ·òˆ0ÏóT²q! À‘Ò8ê÷gv&!¢Ü·<ñX+a&W«/g÷H€Ä? €@9d).ÄênÖËIi…¢”Æ`®¤:ÃÑtëâ\["ùBÆÌû?ŒÏý¡w‰ô#ì=²ß¦jV»¡?æ0¿£•s. Ã……oÞD%­Ã xssqk¹b‹RT8ŽÆÓOß´Ö’R09Ét»úñŽy¡‹V·ˆÊd AÇb‰ÊW–^.ò@# ×Ë)"ËPÄZscéÊÓëO ŠÁQÚŠHãh`H7_Z#I®…$Ù0Âà_ú×ËQ4•ƒò4™÷›…ÊÒ¢Z"VÆÆE‚¦©²Ô%˜UûΩFã¬]!!/Êû뀢yò‘ a8Eñ1Û¬ùôuºÝáEÀ… •FýUüä÷7ðI­ï7»’‹¥³€ßXMDµZUkmŒñ[)MwÀò·Šû‹æy¾³³F‘VjqqÑïåÚ±#¶sºÃž¿A¥ôtÿtDdB¹zi 5ãF¥mž½ûþ•JåÊ•+þê0ÙØuºEÔô—AýE§Yèt‹¨éצ?ê/ª”JÓÔÿ"dµZ]YYñ—˜žº»Þé9øÁœ=žçEQ„a¨µŽãØÿNˆXýØm§7ÍÌ~ <=S‘·Ö „ˆZ‡¢ÙqaX@HQ½^ŸÝËÎC¬ õL¢’!9Õ¹f"À‘+Ô%:kÀùV`P,ƒ¼ë„H _Š5Ö ÓÈœi &pH¥h‘­IŠá´z:‘®Šd~§`!Kcå’>eq÷4‹óC£Àe¢lÖqùò‰ Ó‚gZ@äAاÓ|8‚ÅÅÅÁiJ©^ïÿaïM,É®;±sî½±G¼ýe¾\k¯®fW/\š¤DRlQGœii8 ØØ²ýÁöþ'üÑ0ö 0Þä1<–²Æ¦,‘¢L‘ÍEê…ì½»ª²*·—ùö÷b½Ëñ‡Èz•[e-ä `F‰¬÷"o܈¸ËY~ç÷O&“9ì|þœçŠ®ë–3ÿ±íÀ¹ÙïyÞáïG¹áŒG£v»]ªÃœ}òymÚy‚@8^iDض}žþœ³Ûóߣ(²,«( )åC/qFû–eF£Ò>⟺۶]^rn­Í Ç!îWÛq ë”Ñpxòß_Ã- €yEûAñ”u0Ç|¼²ùkJYÃ;§Ï'Ðà"ÐýÂiD` Ø1ìÐÇö‡Vö‡3¼±\[Ôd„é‘q.,]‚;Ñ:;çÜqœù>Î1zÄžŸ0G\º®ûÎ;ï¼úê«ßüæ7›Íæææf£Ñð}’$ñ}2™Äq¼´´4ÿ¤¸J)!DÇåÌïv»¶m×ëõùi¥”éúúú| åœß»w¯Ýn—È“’Œ J>ÇV«•ç¹e‰Ò¡(Éd²,B”u{{»R©„aÇq¹jdY¶¿¿¿¶¶&¥,I°ËtÚêê*cl~Úh4Êó¼Üiç?êrgæœïîîzžW­Vç§%I2 VWWá¾88¾…ñx|Úk‡]ßÿ¡ÔZgYV®ßgè¾À™Z2sVÚV®˜ÔQþÎû® ˜*Ò>LA|¬vPøžÜ8L# D%„éБq.¥:Í™'ÛŽ‡l˜sJþ³Ï9¢ütâã-Í­ñxœ$IQ–e•T†ëëë%ãaµZUJÇãÒw*g¯1FqïÞ½RKÞó¼z½>g.BµÖ¥µmÛe—cžçF†|ä÷#Ì¡¹.¢ÒFøÞ÷¾÷‡ø‡RÊjµº±±†a»ÝžN§ý~iii<gY¶²²¢”ÚÝÝ-‰···ã8¶,+Š"¥Ôââb© ¾¸¸'qo¿·°°`ŒÙÛÛët:žçíîî"b¹@T«Õf³9ƒÁââ¢ã8»»»Ðét¶¶¶\Çmµ[yžß¹³¡¤t\Ç÷üÎRdzµµ†a­V»wï^½^¯ÕjƒÁ`4­­­•<­‹‹‹išîìì,,,.v»»ív;‚ÝÝ])eÉú¸»»[­T]Ͻ»±1ÚívàÚèÅÅÅÍÍM˲:N)\¶6™LVVVqggÇó¼òêå-ìïï !¾ñoÔj5¸Ï8}ò<ŽÀ!&ÛrÄÄq¼»»ë8N¹bàžN§%§ôiÃ16 8çµZ­\NÜ‹F£‘mÛQØN9°†Ã¡ïûå|2â,M“$©T*Žãœxc¬(Šñx\«ÕJÿêø RÊÝÝ]ß÷Ɖkc,MÓÙlV¯×Oœ{¥›Úï÷§ÓéÚÚÚ‰”ÜüãñXJÙl6O»k)e¿ß÷}¿^¯çy^ÎÞr!SJM&ß÷ß|óÍÛ·o?÷ÜsBˆ7ÞxÃqœ………’3ô¹çž³,+Ïón·›$‰mÛƒÁ`þ¢9ç¶mÇñŸY¹gÚ¶MD7nÜBœ–Ð:Ã76ƤijÛ6c¬Ûí¾öÚkßþö·¿ýíoÃ/G<®\¹ò¥/}©^¯—FÖÇ&ðCè´(H9?K_k6›Íó~‡½¬Òç¶mûXäÈ9ˆXšûÇ'p9&“I«Õr§ Ìœ¸é•óÿÄk•&C™¾BœÖŸ´¶R%—íqÉ)!„1&ŽcÎyÙáãS«ÜÍ”R–e(f]úWe(¡œ§Mòr§*/zâr#¥Œãxž*Ù³çꡈ¸¿¿ßn·ëõz¿ß_^^~å•WŒ1åþYÎUcL9ŸÛí¶Rª( ÏóÊ´M&)7ÌÒ®³mÛó¼,ËŽ±³áŸ;-×… „QµZ­_NÅÇNÿj­ïܹ†á¼ì\y8¹t¶A­VK’d2™Ìqí‡"[ªd”ϲì´´ÖåxÊóüÄ cL)Un›¥Å~Ú@ ‚ ŒÎapÖjµ3®5Ïj–ÌòÇÛ)žëׯ—b§Ýc¬¸¨:WNËÒ_=Ì;|N¹H)ÏDu:r²•—+oAk†aé=–ÇÖÖV­V;õYYY™Íf·nÝ"¢………r{Œã¸´ç<Ã%ÃËøH IDATz‡1ÖétJ«$‚r),ðsâLî šÒ‘HØ#‡¾Î Š‘b•u} ˆüb!7œ˜ ùAé=cpæÃ:J×uú= ¡”*óía6›Í>úh>YQŸœ1”R¥7µ··×h4:ÎñíñD¨×ñ)zöJ1Güœ#}h;G<‚Ç>ç<ŽýC³|sæ—'ÉöùKÛ¡Z­zžWúÃø‡ûëEQyžÏ]ÖÒ´)³ s§·V«—,bŒ-//ϳ2å išÂù”rçá’Ò1)7áÒ)cHt¸‘ß¼Ü" I=àuä ­‚íÝêÎ’jk‘Ùý;c•hV}¡RY«èD›s>ïyåÿùϸJ "Ç0æšA$F –ú®6$uÿ£ýx–P¸\õZbpg¨'šëša+ÒFÜßqHGÉäÞ¸81ëüu#âòòréͳD$Î9LçßÎóugL°3ÚyèŒ:|“´óÏy*™Û§ÒÎÛ¹á&Î3Âær N§4Cºà˜Vê œÓÂÝ'f&ÎÖ\=ÞþiæññzÚžØ>SW;í–ÏhÿÄüʉÏç´uüÃ#~f­V+C”O÷ ¢étêºn9tæŠxs4X¹ˆ(UpÎÚˆ4™Ž-Ëj4skBkmYÖÒÒR¥Ryô.Hãç"€ pcEZåïlä_ÿ>ÑúÎlw§•_iF—#=Î÷¿×«þf«úµ¨À>Æ™…Ä€,I¨ì,ÐV¡\p“š,_Q¦P‚â %q´ˆÃ$×5¦kvÆ$81Û—‰¹ûÆVêÒï_lýÃÅÙnší¦—ë•ç«Ù ¾Ñï ššŒÃ,jp9ØâD-òsf‰Ksxn‘‰‡ÑiË¿”òpÊäÄøpãDE²#_—Ã9œ=Ž:»ý#BÌ'&-Oûðxû'ÎÛó4uüÃ#U_g÷ÿøó9ãÕ”Ÿ‡Ãíííz½¾¼¼BŒ lRõÁÿõÎþíD@0¶V W^û¯nø×ª­¯.¦û³ê+ ­½?ØÜüã­KÿÅ•úz”óûÛ/ãŒ2“U1ÈÔ0‡ï«½¿ê;Žhþê‚$¤„²Þl÷ÿÞ1)5¿"·Uÿ[º¢§é÷óÕ¿íòÏÝÌÅ­=»X0éš´öÜ ë}ø/ßÉù•ÿü™ÊgBýïÉm§ñå–×vïý×·zßÚ{æ<ë~ÞBOPlä´ NÝbGÀ‡Ùi?4hôPùøŸŸñßÃÁχ^ô—í?4êëû~E½^oee¥E—9° ¤”­V«¬ ‚`žŒít:PÂ?´Ö%Z#Žã9|½R©”)îÒ~®T*e|ßw§Ùl†a¸¼¼,„X\\ûaÄü OÆQ%ô}~$Î?›Í&“É£æF÷öGÛØ¸¼(BÁ´AƒF áU+ÞnýÁÖÒb7¾Ü Idöþ×»ÿ⎹^30 #à #Ž¥J‘ÓÆÉãèsAô|¥ÿ/{–C¿·h¯¸ª˜ŠÂò:Þ¸ÞCáj0Vqn²…/¯ØÏø£Õï½½Õùô \U5iíYE§+³P ñÁëÝýçw/…—jŸªV?U§ÂŒÿ¸¿÷Ç["áÁÄOÞ¥4Ùf²ó×›4Sõ——…#X5éqfÙ‘ÍUü›­ûy—×þÿ¡ýrGQtéÒ¥O('íao™H€f³YæðKIE‡]q¥T­V+‘‹‹‹órœ9´àÊ•+—/_>Èðû."&IZBßæ*Óõ¥æó£Ý;ã°üÉõöõ¥ÄÎÄ"ÓâØËH1“¥µñ,Ñw¦Ømoðfoøƒž[õZÿ`Qwt1–ܶˆä|-Ð@ÉEIm,´.²©ÐñkãÙɃ´`FC£f`µ›“& L¤„e)5æƒ{<íè镤õ[˃ýIÿµýþqÚz¥c/9ý7úÓŽ…p—_XÞøÑFÿûL“,4³˜…lø'oyÍ@ʧÆË#æ¡ÅÇLb3üN öœvè0ýeûçy;%ÁÍa$ÉqãüÄTÿ<±|<ÐXžEQiúοš{X‡Ãч±mû0ø¾Ì']»v­Dù?ÒQi×–?¿ÖOGäÈàfUöHº9q,zœne —kØdÅÛR½®]Ë_ùÛëøŒÐϰ´ÈøPy5ÏrlM’Ð äÆ¿`Ëü`6üö^å7+É ÿÏ㼟d½Ôkû^Ý›mMµ2Åw&*ÙͶþd£Iuj²Ê§´m,°© U×ÖùžÐmƒŸTëu÷nÑ+b™Ì63jPã›õú…VžrG·ÜE´˜QÊõä¢û­Ùv\XÓã®é‡ß¡€;Žsâü²ýßhYzZb¿ËXcQäÆç9’†¹ÊóÕ¥ DçY:JýzÀnŒ&TšÐö~ÊÒ½¤@Þ¸æoüј5œK¿·Øk8{oÚújêkh­ú¯,'?Mä;tñ·/š!»R3ƈûS¦kÜ#í VŒµì­þîu•JJr Ãm‘lÇãÛo5ZùbÑÍeÊžYÐ8™N¥N0þ(3Ðc†¹aâüCpþ:yü[x”a§Ùl–Ä1 [[[u]÷Ç·^Ÿ¥#ÇEA˵¥ë«WÏÓT‰?ü®Ë¨òáONÃÛÇãã)nH’¤dáy4àJ…­™â•ËÑèõi|oÒüB»òLM©8¸…ãjêfÑ%}’+ʸ@£Á˜ ¯æd³d”Œ}׳}‹ iA† °>ç¶× åøi=¸<>é·~…ýŸþ˜¶¾ÑaÜ-ncði¿ñ÷š³`¹ÄEÈyl\´ªÈ‡\%vŒL gÌpjs6Ø&Ae°{úÁ¸²Ò†Ìý´—ì+û®îR5¼îM¯Žî;&‡zî¥üþ‹`@\œßÑ*Š"I’‡†^Îóíñ ÍÙIÎ_|ûÇ2ðÊs€Õ!ü·¡ÿL)!úý¾RʶíWðƒ¯¾ò•• +ÿÃwþù[Ý7Âzm2Èþþ ¿s}õê^w/˳f³™eÙÆÆF¶mW«U×uïÝ»'¥¼yóæööv¿ß/k§”RŒñÉd\ÅÊÊj¥mnnݹs;Š¢•••ápX–O+Ç“–Õjõ1Š2šYþRµþ¥¥å]ëÏÝÕßXæ‹n¶UÄ·fÉ °×ýâO‡¬üS …Š ÁÙ˜$iày²HfwÇë!"F¤€¼WÄÓ·g(R]gVÃÞÿ³ýäÝľæ›*ýÙÐT˜ Ìø»=SM ¾¿Gº¬På@„¶ö×ûL^Ëè"Ú–4š0Ô(­U255½üõ¥àŸ|Ø3U®¹ñ¤Øú×»:×ÿÖÕ°é >ü˜†Ú£›Ð*pÅi #«li¤mnnQù€Óxç*œ‹8?Ðâç×þ}ôìÑÀèÁ“+ó‘ý?“ ŒeI’æynŒöÃÐõ’áöt¯jéýYf&i’íïïÇI¼±±¡µÞÚÚj·Ûe}lY‰º°°P†¦“$¹}ûöæææt6{öÆ D|ûí·+•JÏööºï¾ûn †¿wïÞ¿øÅ£9­øEx$Oþ„U ¥yÿû;ƒŸ±à3ÑêWô†Þýp‹v Ô¤UÑ.§ÑÞ}Ôè-­¾²†Ú÷ÇA§tÁd­Vm òd†ÓL[dRÆbGkCÕØ¿äî~gÏÜÍš¿ºTøæÎÿ‘S÷‚Ï´ú?Üw$E¿^¿?"­Q°H­˜_ˆÚŸ[½>ˆÿ`ÂA‴œ >Ô^¬Ë¡âÖÆ4ùó=ÓöºE+ÿ¬¯¾?•½ì`ç}Jþ–8qèœ&×àºnYqvä´ã…Ýg¤@Ÿp"ná8:âÙþƒ?9à)[K4Žˆs-8†ÜüùõÿŒ€-ún¿×ÝÞÚ±Ú63`æU°Z§P‰ØâÌr„-@;T>Ô·’ Ñb¢æ…¹¬ºÑ¦Y¤Åœrèœý|üþŸ:{ÁJUëÏ.,šOé,ËlK€üÿlšÇ.ç©™µÃŽàb©³dÈ\¹t9Ë2D6ý hÔë×/€Rò·Þæ\,-tjµÚåK—µÖŒ!"»´~1Ës˲¦ãɧ^úäbgÑs]Ïó™‡ßœAFTÊ Z–èõzƒÁàå—_Ãð‘ÍEC†™Ê¥j°ÚäBdƒÂä²ÖôânL¼ wv{|Þ]ü[ýŸŒ'S¹Û¼ª·ègã©ë8PrnèTh RåŠÀ%çË®˜íïì]ýuoôÆHv§Õ߬M?œå?éÚžÌ@J”°@QúÝ¡óB´ôk»ß¹»÷ã{ܱ‘ƒEuyI,»»ï/¸¢ji2Yå¥JòÚhçùhí­Òó(ÿL=!ˆãð 8ï.ÑÃY‡s¦IÊOÊêórÄÏ–ź@PÖÄXÜû„i˜9àœì~#¤K|ùýz­Õ¡ÚàL ฦL’1Æ?Q’L“ ‚ $j:cö>y錺\È £N$ëK»U©#‚Uƒ­T©±ZZ~ö‚! „™„†‰kEˆŒŒaaÕÙ^S3ÖU†yÍ2a«ªœ¸`ÍæÈbĬÕzÐÀlOk]xÖ²mãXÃBõS‰$¸ïM0œÌ é1› GΕR½ýµZ­’êQ±FyzbüêÈÿ”o꤫ñZ;™·heôÿ\¾Ñi?ê·Gr„yƒ…Wlhç2MÝZÈ a”>æ ÑÁ D* / %•~ƒ ËÖ7åøoq›¹äÏH³œ=ûè¢oë,ÊqÍ}wªo+ðo†Å»8ü³n¥Y]úòzÒ‡¶lyñvŽ;ýÓ½½?Ú ÿË -ÐAwÏ-`8•òÄ£ÄÁŸð<Íå›g)ê•âBh­ý0‚÷ûý’:ã ³öü€“ã• %^¿ É”2¨ ™mÙDF1Àõ\-ç{3—Óbº3ÚŽãÒ’$J¾T[JFÉín1ƦÓé7*•Ê‘Bü§Õÿ³ssuZÊ5}0ï¥S0‰lËÎ~ÜÛ.°@4à0?°ªŒ•š·€ ñ@²TS%@b ¸³@@wº©Ü_gË”ïß²=¤Ç2†ŒeHëƒR[@LMdI»ò矿©É²ìQ‘Xó»Ô@åôõ¡¡ö™Úxc(½kGZšÞt\©‡Ÿ_ØþþîîOîÙ·YýRK1;~}ÏE ‘Ô†<,2ˆ÷Æ‘Af¡Ïu®õ,nº6éT›¶àˆÈ@#1Üq&€Þï÷¾?ºú;Wªÿé‹ïþOïÅïÎÂf… e{â¿ý|:MïüõõkËÃ;{¸æò†Ŷ‘c ›GEŸd.MqþÐÂñb8'x߇|àHß¹sçÃ?ô}¿ßïÛ¶Ýív+Õêt:ý[_ÿºã8ÿüŸý³k×®ýîïþnY§þPˆÿ‰Ùãge‰$IÞ{ï½½½=D‡ãé´R­‚1Z=ªDõzýƒÞ¿páÒÊÚU•3M lC õߟީ‡­…¨…dPqÚJ7·Æ›M»Y +©¬¶;LÖq¼cOÖ:ÃÞfŒq!8#CȈÁ Nòј¹¿³sõÊ þJíÿØüo6åGU¤rðBíoÿÖÒ?šÍbi ÇqPêÙdæyî« ¬ÙlFÊTMcäÎ;ŽëךM£5p¡ŒÖù ˜ˆj “ÉL«$'Nà ÇA´lËA2@ˆŒ6Œ i…ˆë.@¿ß/i}9gb”0y§/h¼T!TR¤h4‘EñLëTëÙfëk5õW4éÎâí¾Bf[…P–$™Ãà€¥øp‚Á¢Ö81ÆTÙlGùwn:Æ2d0FȘ0dqFLÅP1l^iÅû“áN·þlûâ¿wõÖ?y·˜®Ø=Øf8f£l|;ÆÄÍ’8Ù0aqnAZãØ rK¥„ñ“2rÖÝö³­é­droÔ¼T›~í‚éOW?±4{]¾ÿ¯åU_ @2’¬'†œ$æã\¦ö‰ÇÊ{%:nÎ3Ú>_Ƭ­¯_¸páÀf\{('…Êê–‡š®=óŒ!÷·²ã0€³«ÿ…Ðð€EieYÖµk×îÇ¥˜Í€ è§Ǫ́¦]'e„Ã'c™åš[¹F#„à6†«ä%£YA¹Ã¸ALaØpñ$ÞÞÛ̲Üqœ$InܸQÖ À)LÞz(”ò汤¿ ²,{:™ §C!„íp£©‚õ[ xmå2•ÛÂ!ÀÙlV*ª7…ãpäyšÏ&3×òšõ2pwaqÑulÛó”,,—·L„ã&EV¤‰šÎ‚г +aTຠÙãïƒLeY„XÖ->޳‡ Í‚«} ²i6I*œ3¦sÅrÇ¿ßÊë—jÎ}Qü½Xn(+òÜ—Ý4˜N{ç6:Lg ™ÍÒF“p„1F*lûµÐëßék¡½Å0y?Í{qx)`€ãw“êËQ°‚»ßg(Τ_åY‘õÈkñ^<K»Î›WWâÞä§ÿû[0-8`!5‘݆\ðÉîÀ[ðã!¨Ç[ä|†ž>”òÁ:Œq 4¨K‹Ù–åLŠñæp«W ‰h ‚KU‡ÙR)cž›ʕ€3ÄÈ0Ä,‚ã ïw§½Y¦€ åʶ×àh‘Ö $P†š ³$Ia¶›îJ2Jb\£4ÈÆwý{"a½ýÞh<žN§ãñ¸ÓéT*•#–ÿ/JI °µÔŽí`c¡p}$£ ñ _ ¿~UÇ‚ù9 ùE!"äV )Û)åIkUÛÍRÁ-B³µ½eY"ªVƒz»Ð¥qÃ÷…c×–®J[^mbM(\\Xh³À·…£Œ}8HË´ÖÈJ™ƒpŸ@ï1X€É(Ñã­Éø/ǾmõwúÐXoN¶‡J™ÊJÇY1’•F5çé{¾·Ö¹¼piáÝ?ù ÛK;¿µâ¿öþf‡ûv1•rs^k2ñ¡³ºuôÁ¾åÚQ§{£‹¿v1´õx<+~ÔtÆ÷FÖb í Ks]³y1JÒm\m/UDÎF?š„¿b¹!‡1^·v¾·A¹\úÝ%n9jÅ4×–ìfd(k5–-*BK€'añN/„ùÀÇI[γ-Ý:\k`dq‹˜&®öf½½éЭ@U˜ï9ÁƨçñþZÅ1£t¤ã&ñÇ7":Ñ1<’1BÃ…Å0`ZíŽû½th@¡¡jP#Æ6zwœE+r}@"FÄ'±Ž §ÓÈõ\†„ĉ˜2ÉreqeyÕóýK—.-,,”šgؽgl¤çÊñžŠÄ:ˆB´­V­Z½ (eADÏ4¾ÆÙÙ(%¤E¾èû¥ÌIôK–7ôãyž †3Ψ^‹8·É2ŒÖèWËeÿò‹ˆ¥ee~ÜgBÄ”rŽÒ !!R »xñâc ±ˆi£m–' õtóS5ÿ³¡½[EE„ÓŠ)”Û t.óqê´<>ñŽvLbbwÅ­>[¯þz-ýIÆ ÑùÚB’Ïò™où6Ø,ºiÛ‘Ç . cqo5|w¿ûÝÖ3õ,²XÛ8àä[VõJ\ÊFdù–»èû-?¸î{+®ÅXïý^! Î G£€rU°ª.…þb•–´¶k,ò«a™”Ù6²€¸sŸƒÑãA)ŸÛà'c¡OrœÇúøÞwðƒ‘0šÃYªÕþdo\Œ"6ìf§²ìi@±¥`cã#š¨å¥Θ9 GÍŒã×¼=%E†€ ð¸ÒéN¯;U g,zNe‘ÐL‹éØÛ/d¾»»‹àsÎËg’äz•Nà kz/Õ‰Bq2@•Ð_ðZM¿AÕöve™ŸËýb2mHô-þLÓ^¬Ý_,À–JeéLKÍm„%¼ªŸ°82*C3€ˆ¬L©zÔYG"ƒ¥6ärO cx({i¨”Ö`ÖMÎÙÞÈâ@ ëc„TÍìwp—À-æTmÿš¡à‚¼©!iXÓ&IîÄÆàû:­Ä\X‚;,àvǵB»° ÑdáU$c)pA<@3rl?Bv;3ˆÞr¿=ʶsÞèÍíÆÖx'Ùÿ~ßø+—V‘Û” íðS‹D&{/O,Së4XÌváhGZÊ um}iv-ßÿóîtoæWœK7/mýô#ï²k {ïû»áõг0‹=ëÀ?y n§— ŸŽÃ<%gs»BÁPlõïLåОÇü–»°PiïϺ·÷n-D¶:œÅY²ÝßYZ\f‚¤Ùž‚ œ±Üd·º¹I|avØ m¯±=ÝÿÙþ‡k•e¶Å¬£ÝáBûBy]° gF`WbžI3CHB**¤ú8¬Îäß;Onéì‚Ä3+û 0×ÂÞ^ïí{›ˆøÁ‡}þóŸ]ètþÉ?ýgwkÕêh4úü¯|þïÿÞ7Ëdxoo¿^¯q˚ƕ¨‚8@<‹ ™×›- ®ë…Úßß÷=oiuå†!²cxôÑR’! ,é IDAT"=€‹ŽF£ÇAbÄC -1›Î&oN“;ñø½¡´YõJCnŒó‰ oÔ‹ižÝ£«ê¿Ö»x#rÉÎn'*1 wyogwðÚİl¢ô‡¹÷\U£LÞZk5¯åÇoï Ǫ\ií¿Ñ]zqIZÚ® `Êr„×rE[€ciÈm‹Ð·íÈî0Ý—v½eLjÃuh1n¦ZyQ4þá{ÜûBHoK«ekà§¡·ê¨L)IyŸ´äĘyìr$: :'‚æO„ãN&"šÍf¥Ôè)‹”´» [æéxÖkÅzǵ\£xLùÆlóNï£k:•ÖBOŒÌêæp8Ò†3rˆÄ“ãDs›âÎö`ÑoÕ[ËŽ±äÐ쎊·{»·û³%‰`³7knU,ìîÄX£ÞäcÄ @[%˜†œÐhDÂa:#ïS‰NŸíG Ô‚ÛÃÑ´»×ÓZݹ»ñ¹_ùüÕ«¯¾ñú› ‹ ÝînsqAJõƯ#cÓɬÛݵm»2ðý$‰/_¾²ÛÝ[__­7[ï¼óÖ^}5ð#!„eY«««Ì²ºÝn’Ä;»» í¶ï/^¨×ëæq€¡²üP)A÷{^©TJ½²Ç ¬eskÅõŸ ™‹`!®¹X3îT‡—™ð¸)ÜK.&&¿ë£e4#YNÅ2Yæ¹Â^pª7Þ85u[¬ºÆö­À…ˆl† t!¼&’‘‡ŠHgáõ rô›"z)ªþú’‘y²Ÿ86ðKïI=ÎÐwÅZàKgëý(«1×O&ùô§ÃÚ¿SK‹qöÞtñ^­¾åTP k7šAÇyå­¼ç ñ¸ŸÓfÀ0p ‹êq¸LF,¡n<´@!0ʶE§¾ê¡grƒˆ€r!h€”5·ê9‘Ÿ¦•0h·›6úZ D˜³(<éfÙjòkµ–Ç…"%,„冸¥ªÇ ™i4¬¦eyÁÑ‚tÌ€.ýƒÈ€l `¤@Ѩ‡ÓŸÆ¹yÚƒ:£ââx §¬óq€†ñV«‘eÙÅ‹ëF¢(¨ÖÂJ%Ȳ(Š‚étrçÎß÷ãxÖï÷ÊÝØ±ç|0è÷öº í&t»ûû{=kÙö}×q"Óíîîìì2†YšƒÉdÒé,J6Ìa†eg8‘0‡#5Œ±ÇžÀ€JE`kž÷JÍz±nq•Û™'C^+@M$Bnºë ”+í,Mò°¥×eí õL:Ú)â.k~¦&\–¡_¬Tö‚=%ï($gü³]÷B”ì©áGÊþ’rbf6 Ó3$F:þ°;‰uX¯ ×JŠLå·Óøƒ^øKý¾Üø§ïZ9uoùú¥Þ;ƒe žmU®WÆÛ}ÐéÑkð°ÅeJËÆ Àœ•òì±Rþ×ó¼F£‘¦é5nøàjY"(¤´m+£œs˜½èµZ^qîY¾¨âæðî~ô×Ï?ûÂú… Ú(CøäI2$à\m$8!.æF!Y°º¸âp7“YîÔ-­^{ýϽølgi1M€¦ñ¾-Á##Gn‘%é6x¿&éç²í>z« ìívk2™Ìf³0ŒŠBZ–ýÕ¯~õæÍ›aL§³^xÁóÒK/-//§iZ2­—‚8%ßÿt:ívw_ýµ7n¼ôÒK–e•bÜeà£d¨,é{ÊŒú}§éah{!ÊÒÅn·ûØO…˜’üƒ"Ø×“·{Ì‘õkÍáG³|’.>·šL’é~õ™¶A>yuwuuÙU˜ßšB–׿îï÷ÒŸL÷ݽx2MoªÏv47É[#-²ýñO{ÜÕgZ{¯ö[Wk(8¥™B›±fŠÉDçã,Z -äy‘¦mÆY¡d&ó™‘› ††s[pá]s[V.Ê·&ßßâÆ¦ Êaá¯FÔ•2Oª+d×jþØ${0AÄÙNÚ‘ „RꈔæÑxõÇÅev-´JÞ½e‘³^´˜Ã€ÈÓ)&EQäy1­:i1çšÂðg˜f —¶µŸ¥oî¿Uw«ëh¡˜Î”ÆÊ3V2ƒ­{c‹59 ò\*Y@‚¡áSÜË6“4Yu–«­U)J|"Ãûq[æÈó9¾î‰Åa纖œu«««åÜ€o~ó›‡Ï)IaOÜ =Ï+é)“$9.>¬®ðHöÃsguuõ1°Ðó‘„`$#–He(#™‚˜rÈ”–k& àBi©9Ò¥æhi eÀhm ¥bJ£62UZK0¦Hµh4i0 š¼úé6¸\òõtôÅŠ!ï¹PÙ9SßÛNuÄ›‘—ÂÖÿv·ùð<Ë &›U½'ƒÕo¬V~#$GC´¿¶Â7}w‚û 4*e„x„Rgþ&æqÂ'u÷·Ã,—:ÕRÅ»ÙnÅ­BÄ5çb,GÆè_¼éòʰ—32æ) T87#gš¡Ê(ßÚ'.·å„IÁx®òÝѤSñ>qã“i\ì¼7 Z¤]£ FÜ#šòÍÁÆ­é­[ƒ;*¿ý …„üH|õˆx?£ö±wu~¨Ìi…Ä÷ŽŒ™Ë²Ïá–‡O˜£Í,4óÕ¡Tl…SJÏ¢œÝ+!DQ=fVPkrZAxÕ©¼R-~+$.d­¯Æpæê|…Äv”g8ú\1\©ú+n¶ŸÕ:}–-ýÎj¬§ + ábëï7™c‰•߬¢Qv£‚.ÑmiÐJ·‡AÛÃÈeu.’¹BÚ"Š*,ñd¦¦E1ÉœŠ#ݪÏÚ!zÆhÐHÒÖÚÂáß ‚¶C>×VVÃüN¼l9+O¦èÄêŽmFÄ AY±Y±N“o~T{ˆN‚áƒÔ*t£µÆfXÝmrä yA9gœeX°¸Ýl£¶s AñT–(Î4U@‡5Ó´¼/DWîUÝÐ26cÌ ‰å,õÄj+¨»QûŒ!$²ŸN‰ WÛ¶Ã-›‡NtÑ ËÙëInÒ†Û ­ V4©ŸüäÇËë+—.ÕU.I# 0åÉ ÅååËÍ :—× 1e4"·m–&Ù({žK@¶eß÷ÐG6ß5­‡?·³mìG}þ§Ñ3oÿ8÷ÀÙúR”›Ÿ6NKõðÇ3¡9‚I²ôV‰¿;! ÕÕúlsªÆ…Ü+òi.oÇæz.…ïΚrÁÒ¨úE*´Ž Ÿ¨|Cî½Ú5S™ÝžD×бø½©¿8mkøöC¨÷uüî¨ñ© 1É £ó|öFN ý—k–¥S©Éh^Ûc~Ç‹»™\âŽåìüÑ]Ïfú 9CD[Y˜¢·ê­ýþÚôÝQò³ Q>й&·ãc`à)„MJN¬ƒ1v²À÷ù‡ÎQòcý»GM  !!‘¥n÷76û›××=6Ã~¿§¦²Ôƒ ›´õä&4˜Ð4âXie›€gï6îïÞ\|!bQw\Øz²¿›®ÙÊÇ·´$Æ B ã2õ<Í-cL##†¼×nmÞ{÷·êµæóÏ?¿ÐY ЦÌj S––ÏòmÁ”:§E¡:ON”t=#´qZûG¾=.g'I7=t/¿j4%_ÏãÁH¥2VÍñ½V¥mO¹`,²“†Î¤ÝqLah@ÖB$G¹Ë-²1e_öíe+ë%þr%ÿ¬\û÷Wó"Óã%'`äPÞo:aÈmYפÀ°Ú(dO @ ¦o ä8µ_ Yl3àW0½;³]7‚ô£™I´ £+¡¸2Ú$û‰ŒØLYÄg6G‹Ð(”O!@Kæ``!â±j¤ÓdÎi¶áÉy†È 3Œ”íðÀÖF+•d©ã8Ÿ|ùEAašz &tiÇ*’úàȉ ∀ùd(§,ާõæê—¿ükãá8Í<+Pœ1c@Ã\Q6#@n`ÈCbH;{Û;£Ý„ç&߇gFj û•ˆ¬›ÿ;H|²G£ÍÁ¬&¹²¶à-z´U­x^äH-…ᤠàœÊ•Qô9‘Xg3r<ïô“·£Èù­èr?v¹%Y‚MI¾#yjíÿÅ6¹zñ‹«û?ÞɇÉò—Vâ½Ùø½qýæ¢ãÛ{?ݽòâEß±ó;3•›ÎâÚÖæöä­‰Ó²f۳ɓæg:ÄôøGû•ËÕðj}çÿ¹cyÞÒç.ôÞ®¿à )ÝÅ úb½r£RíVE…³B @B3Z²7«ã¿é÷¼ÏWøúß[þ`ˆ‰™ !!ÊmºßXLn§|[‹€Ìèûýø£C†¬ä•&‚“óÀ'bž³ä•H€É`öÑà#ÁìÕú¬š(PR+LÓl6Lꕆ¡ÄFd=•l*’ #ŒŒìiQ¼»÷^Ým¬×ת‚.0WZQ(“VŒ.s 0UÕ$/ˆvJAV£Å€j¸Cm§` )§>r1Êbc ]¤ÈÐs=8ü¼ ZÿfÅqzÌõÆc/Ç…2¢îBUXŸfígZl²EëJ‡´r×R^𥪜˜ÅY›8¤RÚkÙM÷fÞJ]ÞÄàÓ5|Þ‰¾Ü6 Máó÷=››Õ‹—$ «[-U7•mç»IöYï¾¼7ój6óx¶›¡“NœßÓýŸìköúW¯ë¾ýx€æ€$ m˜Á UûÑì_ïcJL£zþ#K$" –u›ˆˆç5¡cI’ôz=¥Ô\køœWf ]lŽº”kžñÐP“A²˜3–Ã8ž]Y½â»Ñ^w†dƒáOeÜpÆ'PŒ4R2¡ü'n´í ®F¡FÈs•ß+ kË7⎷ûNÕ1žFCBó#>"v@vF I€¬æ4<ãCÁH3-@(¥ßÜzÝ¥u1Ž{¿zýW«Q]+Mð˧œð?DÄ(lÚ ×*ÙܶCg’ä:Ï­f‘ÓéÄkWÙžRo&àX,ôX` Î,Çá‘Õx¶)≜¦¾ïë€%û…_©ÙNfö'ZˆÊrÅ|0NwIr^ÄÒÏ50£×æj£z¡2}mO4-·í'3«áÖ½½ÿgÝî÷ös(dT‚š #t¬ä^ºýß~è¼5^©ˆmTJ#¡6Èñ)Dwéþ. €GŠN6ïOàRZöÈ>|Ž4*÷?µü,Ht B‚¢B •Y¥…a„¾W$€§¥ÁAãfÊòÔ‚íõæ§9Y¾ðlœ+¨Ö­ŠÍ e8㌠ ‘çôaì>©i$Df9®Ú(<¨~Æt:Sd*áœ/5–j¼†¨×õi¤ÇËÙ<ÅöŸ_‹ßÍDŽê~’£ÀÅðZµ¸# //qÞ46¼`3z¦£ûÄ©x¨˜áÓÈ)†Y©×étúýþ£Õ…!hÐs:þ"ËÏ(S¬Eè2Ÿk6Ê{·>ºS jÏ>÷œ!Cô”v`.ŒÊCÉÚ]µÃ  $Ф IÇ e¥N5샷ßê¬.]X¹l”!M€†ÐC!/U‚4Ñ5š0Æ’ŒD䄆Îç+ŸÜÜÛtw¥y3KjIx®4Ò£¦èêÑ<…~\5³¸k_´¢ç#)æ8áz“WzÅ4_¨é©ä»zµjFn$Ú¢œ“‰„[³EžY‘«vý¥6ŸÅ¬âV®DÈóÁ_‰ÂJ€. #ê—[³YLDÂP>šÁ¨F[&Û艶ž7û`l,†ËÑì½ñþ···—þ£õ½{[· ¥Ù“KŒ ˆ–Âê+­xg'o\ —þÎÂþ_vA2¦ž¢uŸwN|l”ž±ÜZ–åûþp8<íE bÿ!Pc ¹·ºlìÝyv幕h}ZLgq qOÈÒ⩤‘§Ä`³„´MAŠ9œýlÿÁÖ§Ö>U•ÉPk!‹\d#6‚=”NÁ Í?¶X1ÆT&µÔŽgG"  ß&gÜgµ¦Ê}ÏwÁ‹yʨ¬ª#ú¹ |?t÷ûÅ”ŸÝ‡Roé ÒHÚ\^Ö'Yãæ’CB&qô| ˜¶‘Qô…Š&âÛrao1g8ÍskÅu—Y/ñ›•숢Dø•ºIá`çó‹š “êÖ‹m¥5ô"½‰Š[j?ɾ—Žm+yoè.ùîR˜¾>3È«IòîDgÔú½jÞMºßº -\,”aŽˆ’t0¹=Ýû£ê˵ðW˜¾E4ÓOV5SL FOGZŒ1Œ•n°8xD €P‰ÕdDHÇ0#DtbåúÇ8=NÍÐm!üì½é“\וxîúö—{fm@(,A¤(J”DYR÷H–ÔÑn{ìq̸1_¦ÿ£‰ùæˆñ|;º#&ì{Æ=¶zänµºÅE$EŠ$‚@a©5÷·¿»Í‡WU,T …,€ê+ƒÁHdeÞ¼ùÞ½÷œó;çü~)­ã(Éá ëE~õÂU îxP"0FËgBÁ42E2U‘.Ï3# Néd¢£)ôûYŽÌz¼Øò.]¸Mã­Í¡U³µmv@ÿGç÷ èæ’­A !Ð¦ÂØÂü%·\jY…(÷|&³Ó7»6Ò)‘xå'ô¢ !EQ¬®®ÎêBƒ13’nDf•èõß¹Žì]ëŒo$Ù(í~­“³èæ¤ýJÏ(¼õ×Î,ÌÙü<ŽÓ2üáÅ­¿x¼ýtœÆ7¦—»ÉÁ›îJÍŸ«~¹Î}R»ÞüíöÜ™EÐ`-×oúÞ²Üé’¦ô›MEd¸ìN?®%c ©œ¾=*sIFXÀ´ H  ìçýŸoö~Ø+ÿõ8|ÝÇ>ÖÒàgbTLÝB”>Rë÷ÈUƒÃ~õ³Z`³ã´‹hæ‚Ä€Eç+K­3H# l˜XO¦QÔ½V»aŒ2èY•R¬Ðéz„œ¢ÚàR›¯Õ/½+;™(R×k8(7[‹uËr@#Ð2HXA„a®Chö˜Ôi²[¥Ž(ÂVÅ¢¼'Èæh–¢c´‘ž*ô8¢…j/ðÅ¢˜‰Rʲ¬•••ƒhOsd 22Uå°$9(ñ(©€%ã´LJZ21Ò „ 1@J °F¨DD`¤p>NMT°‰qX±‚¡©)x®- TŽ œ„&90vÈ "ÒDñ65‚äÐÉ~9‘«ñ¹?9K¬úgÿëÇI†->œ¥1Pk÷œéyqðYø³i÷Ç¿È0 vUñž¾³oDá1a'ÉM¾mGÒÌùvºÉ±Õ´Û±ì(³×Ä}ùöï¾üâõë/וÂZÛÏÆj©‚1f[60ØL6]ÔÜ&56A!T7 ±xû—¿úÖ›o¶Îô„,5Ò02ÌÀþn_Ãr,”QàœqE4»«Ó0‡7ñV Ž`{>~ÝÉR6CúSr¨À›¹ãÀQ²÷Bˆã83'Ê´×óø·íð'|`b GÈLãYmG C@M¦û¥‹¹©Qév!tÁ™ $åùÿù\g:׆‚ö1 YÉ¡9œ—HØ Œ–¸+ VÓ;#&uñv4xg-Xi炵Ÿ~Fë¬ñúüôq2šÌý¸'Jè¿õÐ¥ÁÏñÏÖˆA)Lp¶•n¿·É÷¼…J„¹Dïòk>ƒ‡6;õ˜•ÃKÁXÿKx¡û‚Ç,A#`„GjZäå…ó+Žãõ·'Ú0Y©Ûú”"DMµNÌéLOÿ¿oϹí×Î\—K¬8‚Rd«Ñ8dsË/F}ý Ó G€¢È#-ԣɠȔáXi£5"È L¤ï‚±2H/™ 8ºwûä{r6ÿùïÎø{,ËfF¡Á"¦(óâF¡˜(îg„pV·Ò8Q…n´BQÈxœZs §hz#jœo‘ÒÈ­²ÀPãa<ÎÄm1þé0Ïòl*#®ËmiÕ8¸T¬šqÖ}2 üЀ±{ÌZÒsØü<8XºþOÚ„ «B;¬±„dóÏÇ@E÷‡‹d¬³>׊1Ê¥UªG¹I.ºóßé…®7HÆç‘©¯Êï)2öhŸ²ÔúI.ôîñi0Gü\}A–I€@µ2ª(snY—Î^F¤0;\<ÏäçiÐZj­„,9%:Ërr¡‘6 µÄ¸Ð(Ë‹–G/®ÄQ"U† ÇÂh òÀ®“ I©1Òš!bÀ$éØsB%v š÷NÚª%éòIÞð´ÁðlýÆ&O6ÿã!„RjÖÓØ„ËH«‡ 5V®ž{i©øxšrò ^³èãaûÕ®¡d²>nÈ&5¸eŠ+Ãd¼^¬&Óϼtœ' š_[ÄFNÞß´.6ܹpøöºå17饷§µWD«f¹/…ö ¡¤Äbº”.R !ôÂézÒÿe?û‹QøíVóõÅÁÿ³QÏ[”Û†*£5V”$Êš³çþñbqG¨ ,/æ@y¶;wÿâ¤æú‘øÙ¸Ð„Qµ_l_$†ÍÕš*­5nîMß{ïýN³öÊ«¯j ð,(u€Æ%‰i×P`gæ®+ÀB#Š4Å`0OŠL׆.6ï½ûó3Ë /¾ø‚ÚH³CÇqƒc€©iu82d4Lòñ¸œdýú\sÞ¥ìÔ`îsî*€ õ=Æ…>êžÆ…žmüÃ{œcr^mà0 gH#í°º ¤´²Ú>Ëüoyþ÷/Ž$+{ß]Ö’á@´³E ÓW f lœ鮄t‘ÅÛýæB_‡ÎÌ•:•¦c„&6jýAYD"Y{ó`mwì®­ÔHa„ó;eü6É_ Š[©Õ³h‡¦7 äêÑŠßL“Û\{=œþb½; ¯¹†ªJ5JH„­½ƒæxñë)ëø»T÷ÏÚ©Ý÷œ>2¾y:¢­£:ø /FHkÀR3j€àru´º:~0ïÌ·Y{¬†Ãá(Mó¡A[±&Œz6.4ÖS£¶‡8,dd•¥Ñ` %du¼º=œoœãÀNS—¢ñ@ªlìÉ„yL­Ñ1-!0 Æh«M ˜R‹·>xgk’¼xùÅN{²Ã“¿OxjGõãd Ð1Wu6ìÆ?ðÁ§±Žœ!DJyçÎj´Y´‘öL0BJšI˜–ŦМ³É'e™‹†¶ËR&ãÔWGFNK®„ˆÎ4É´CH^¤**)e.Š¡a!ÒN·JÖÄØBb]¦±ÃÊDXIRh®­†Mkn1Qxž±:3Ó[Ønyü »öU€»5·”Eý-s¡7æÌ£õ)Qç»ÂßdÛÿç&ÊŒ^.08#xž¥®ôq%ìãÃ¥:žÔ„öE1 6ÈSÓ"Úm.xs®çMãIúo\ý¦D”Æ J?“pŸ`Rš’sl[̲2ƒq:ä—ørÈ\š˜^·ùÕË/õ·G¦@”̨Fr&‚fƒ2NAk£´k¼.ëIµm&‚Ëݦ…“wó<Û¸ô䃜œÂv†ù•AmnnbŒ/_¾<3©CMÇEz7Sjðë¾¶P÷êÜôÆv6Îåë ù(‹nŽ×Z„‘þ­å¯ pú RŠ÷g×·Öã_7TŒ‹âFT¿ÞÕ`F¿Þ¶/úþ\8úå&qiýZ«ÿÞÖÙ×–‰Öî×úV=x!l$ ÌŒNŠÚ;Zˆ†ë3Ýø0rÏQ‘"õ›>åJÚFÛ€„Áœ‰Œ·Ç uÐ 17™Ì‘ÒqÊ2V%ùsþj) IDATš{Zí¾*\íGz¯¼uUJ•eYiU=©G!à!M€*IÏ·Væ›ó¡ú4PNg*Æ£á¸Ýh5n4<«J,J(Qd" Q§unpƒ4æ5÷¥—ίԜ†ÖzŽzdÙ =g3F´2 1¤ZšÄ­¤0`(·^í Y–RJj°”²j`Bæ)T_¬‹xâ+Or|¹ãÄKµ¶,ËuÝñx\¯×ëõú¬1RZкq^ü¯×è«.c˜¿2g„±æ\]øõ‘{9HÓÒ:c;‹–ˆÒp./éî7'ò¸ønÝöØØ{ö|qįrq¸à.ÊÒHl‹ò­aùa–ÜŽéb5–šM.¹ùj U®%E\"—i!ˆ«ÌTIÔXâ6QîÖ\\-¤v,ê†îù|òÙžcÆ8ßÛÁŽîÝB<ºÿÐ5Ç| Š"cL’$ívû@«÷±í„€ VFærŠ%ÆáÄ☋LDhZ b2ܼñÙòÂùëׯÐê)$QL3ç¹ÌÒ«$Q)hJÅ‘å"«ˆE,â<ÛÙèãw>Y8³øòõ—Â'ÐgB!Û¶0Æ<£µÞiG9´OÞŽw¸Eþy´>íø§i'Ü£°¤”–eÇñi–/fØö,gÑ1S†•+©K@ Ú±AæÓ²€h;´ †8„ºD)E8asçý¼0(×”öñ8sM´çsÀ{6¯ó|Ëh„d&I„dT&ŸÅ6¥˜âøó)®Qöð~Œµl|z²Ò5›hªÉÅyçí&«]ë]6Z+Ð ±R”[‰ð±²X7ðµ{Ùüb ScŒƒ 2¨'÷~xõZEðÅ¥¨®á!Ýõç©t*Gú„ Ùiæ_‰Î\¸pÁ¶í8ŽgŽ FY>,G¿—«jó7›šëÎÕÞôÖ çÍW{ù8‹?6_ê!Fúo­¹x8û,5‰šÿÑRÿþVüîä_Í&Yö›¨ñj[#3ühà®ÔÜž7zwƒºVýÅÞöÛ[K_YäªôV|û~xÑkÿ³±pžþOZPÈZÍ¿Ÿlýí½î7B1Î'w“Ú×ê<΋‘D6’Ó‚Õ •ÅÖ˜aF;¸à>øëûñ'Iï ã_o™g#%hvÜ„À˜#ie¾+Œ1ß÷÷ë¬QTtD ŒÑcDz¸Å:­'Ü(ƒ`jѵ:íËW¯®¿±–(IšKéÓ6ÏV…H—cƒju.ZJݶ[[ìÖ´Ò –Ë"Ñ¥Z»õÊ‹ÓAGàrG×i¯¾ùñ”7‡k‰gâŽüþlFûyÏÿq)eER]qÁÏmK­IÈíÆß$s¯Ìc„„)Z¯têÚ*ê`Ð[಻Ý3 FÛ ;cÅQ´jâ’©}µEóm Æ6n½áSd)%ƒ—Ε h 5¡¼o0±­Š_N&$š|y ®·` ßb‹+¹{3‰â©½Yˆ‡kÉfÉu×k³=Žö§¹_¾¼èß—ñ«ÝÇñöööÌ a,R•}8-µNïe˜i¿IÓ”…óÓ"ù@ó[fºülÒ¸ÐЙTÛ¹ ñ gé­rãÿ~(‹²j»Å4+ÅCi5<ðíbcŠ(”óùèWÛõvìv|†Û]6¿h¡ ¤çÿÇe@Ê©qp°Åêxl¢ÉüWÏa¡Ú—»†´|±"ˆmC¨½–%nö¢Óú‘ÃdòvÔúZ7yÅ ©ŸÉ%ESBÂôÐiúÔð£hdUkbhƒ02œ¤à#ßo_2DM“É(J"oo§¹0TSe®´¯0Ì•VUä¹;ÔÑÄâð$ýΰ¹Ú|Ê‚„´t=¦Ì0ŠIŽÒ[ƒOd¦`C4Å´ªé7k¶·àõª REð| ÞŽžô×SÌÿ„ò¢ÇÙÕÆ?åüŸÈË13#€A¥i©úÔº‡ã¿è‹ ´¿½œ¼5J¶c÷‹ñF:ý`Üûú<²èt}Òu‹Ð²Ÿb&ÐÙŒòü^æßÓ~6ýõ¨÷Æ’2øÛM类c£Ÿö­yßt“ͨÑn¬f¯6Ü«nz?µêX+£SmÀ‹!»¶½5#.…k¯”DŽÐ¶ºwœÌÓV !‘Ó ¾ÿ•0¿æk’Ÿ÷”.ó­ ô³8w8jìqbÌ2=朠ë‹>X Ö$RF¤Pͪ·ìvå NaJ(v©ã2_WîšÝøÄTv@5‘Æ€*”Tw› •Ër˜Œc!†B^³‘+µœkÌÙ–ØAؘ#lïñ~ãéÞ§L:¡¼ø—0ÿýÏ÷#Õ{E­Vkf‹£¥òÛZ´ƒ7<çœGX•Ju¾9×5†`ä‚Ýùçs†aº.⌲i,Jçrݚ瓇Q}¡ß4ÍßoØÈiþqWgŠVÿq 8‘Ú\øö#5i𚇾FØÄ÷&ù¿M±Ï¢õ‘SwXÉ ±Eƒ¹zz/šÞWYØÁ­Ao®³ñá:òH·èŒLF¿é‡IC â|UÚgƒôãób-ú4JïÆéÃDLDt?ê‘…Ó_d³/]KB8®ª©äE‹v(ÐÞ&RUJ% PÇkχ=c@-¤Ðhö=²ÍíÈ|ÌšÛ›D*"?d„ÒBÒ ºsxÞPZ)-KUrÄk‹RI¥ÕcfŠ„g›ÿI¶ê%8æŸ_Úü/Ë™¹V *s F;²n$@©ÛôеL¥{®!Ó2ÝJéRSœ ·]ܶK¥Ê¤Êó`R&*AÌ0ÇY_yưI63Öõ,‹äkÁ˜x¶N T$'÷vD$rÈöŠs’¢ýSâVTc !f¨©E= Ú!cJã"๚Xàp*8¦„Îî'J@û®*݃¯Ž?Åc[[[ÓéÔó¼=Ë#\h„v·înSÏ>Ns„v¥ ”(e¹“¥AÚ³zGºvO¥p¿S=Rõ°ìäŠ}Û£…Ô%”°›%Âk£s‘ïøï»EXðxô‰.èiçÿø1gƒÄ¿„ù?.íLÉóüÞ½{§àÄ gÙèý,¾;o¦†ÿB­Žu¤¦×J1ÉË»Soeªˆ‰?›œÿVÝ– ¤i! v&ÙÞN?˜Ü1·DTäwŠàJâ›±µ`óK>"‡zgÇ“óo\@cŠáI¤Á\-ƒ ÊqR ‡‹aV¤½‹]IT^fNËi\h)l”ÍýyÏÀÔ[iæitkú¬4Uõ…úÌ 1_7¶ Y{4GwÆ¡iâ,O7R´È̉ýòR´ÕŸÞŸÖó9T¢Éú¸†[pºÇžæÖÎÞ“ö>þ˜B´Z­………õõõ§ÈãhGO(o93­éïÆ?¡þr漯N)==ÝšU†[\Û´ð ?oQLrQZ‹>B À`‡ÚõPÒx­)#Ò9„ûLN2ìk2ä"b“ ÑÔyI^r%%J ÷b(4£7Û_ü–}K\ƒFðhYq.¥È’ k*µVe.¥s¢K©‹ÂÖVž”Hâ2•2+…(D©e.Ÿ]~ÐTIt¯„cßF»‘”ÒXâI¼»Ó3ÿnüSf¾üùp¶£(š¹ÉÃŽû“l˜ÿbCÙEïóƒ÷†ÙvÒûþb²ÄïÚ__¤ŒmüÍý —ôëô®Ì!j_C«ÏÕQƽ|4%Råí+-ÛC«M|/ë.Ô·t¢–…Q³»Ð;nÑ.KÉŽÀ÷^ ¼™ÀÃ'óB?«n›“`-¿ÿißó[œÿ’éz½Þn·g>‚´2Äá´…ð"ò¾î#æê&r¾âñÌ"]âúñg¨Dþ\ˆ”Ò¥ VN%«s«g±®Å=¨…œÍSÊLýÛMÜrq€Âo´¦°Î8a‚Æ8ú,¦«­’£äAQN„þ )>/‹\¢:LûX[yž˜éo±è´„SP6j­w|xãêܤ¼¬x[ŽÁHŽÁNž(0} æ¿©ñŸ ¥Îó›ÿãZ…÷§Pf¡ öXý¬Ûüa;ØÁC. (íyL)]dÆø6l—|(ÀâÒ²é¢Ã,™·çÊËrîK±Lt)‰BÌ#"ÖØöç2õ"AÏ7eZ~ŽˆÜñ”ññ™Rîþ»Û8 „ÐíÛC95Zêü³1¸|á_Îù}ó_}>ùÙ¦”J–ææÿþ1Š¥{ÎC Ÿžof·WpOâýiÑÎç]ô»Ç)†¿•‡Özÿ*ï™Qh0€Jã$¹•Êí2úlLxgÂéF¬¢2¸XIQÜOìåÐh=zwpvåœc°¸“ÊD´~07º?NÞ‰î;wЍÈÆþÙºá8»“Ú]7QtkªlÜX¦ïl4..+Fš 븊@% Ú”ú;LŒ¦Ð­?^®ÿþüøß®ªí²Ô;”r г©„G»ú¢€®¶îÙ•1@ÿ¶VÀ1Tl¿ÿïïõGqΫ¦Â™ö¯A°"Øh %(Q£ f…F…LŒÁªP5r'§ %¶–å0Bk…2ÆXR™¢Ô#@H`.ˆZj@¹b­ÀZtv{rôî“ÃÿÁn=´c¯±E;²2ÿßwûÿþáÝ?}`4ˆ=bÊŸÑ…5;2ö\è/îىÀý|ªv¹Ão8žfíwã?íyú[™ÿã˜üë}6ÐH¤ŸGÖ2ç®=úud÷œðœŸÝsëËÍ|§ƒ,8[S‰{_ÇÝLñ#„WˆE©ºp«HXký¸X‘$IY–û¹QŽ'X™Y¼ë„.ÿÍŽ?ƒí}Vó?¹o¿ÇQmàS¸ÐÈH4-8k»ß­ûßó€ÜÖ÷æH‰,×”?—.ÈÕ}á*¬}’ae_¬; öt+m.ÖÍ·M矵ÊÂï•‹ $rUëÇ-æØð»—5RVÓ&¨-±ø/—†É`.aŽF©xº7h{¹µõg:3<²¬söÜuE*Gÿ™7¾^W×”÷[œØ^ÝŠYI€1Üѽ,)¼³^ñA’~<ÑBÍ| #„ŒÑÚh„ÑŽV)}N~ØÌ&I²µµ•$‰mÛ‡ieO/Ÿyä¡þ»ñŸ-­ìó›ÿQp´Ú{QI’ÌÚ ThDrÀˆÍz 5·çn}°Fë®1Ë>ŒYÎ1šŠäÓ‰˜:7ƒ›[E’z7ÝÁCÒ¶ÜóAòñØäeûúB´6ÍÖ£Úµ†H@3Õ¥³Ób™G:]w›e;Òüp¬×GÑ2îå„lŒÇ?ð×§%ˆü’SÇÕµÖ¶m_¾|yæJ,`”æ ¿Z«}+°îúˆb·k‡ŽÈ$»ÀTªäzË:g㑆ƒ ‚H¾è°%ž$Êm…å Åü,ÅeZ "»U'L×Ö8m7GýkeP[ÈÑé–Õûƒ¥<μAË^`„¢ú«Ýu±ÞWXiqÿ|8 ŒUãÎeËp]j®4Z¯´èl¿jaÛfsAíZHTa-úaý¶Am‡dá”óC JrÖ•H¦¡P ÆK@µqã4k‚&„aN]íâRåöyi ž`5¬ŽUŠr<Ï”DIéÔ˧ÒWι€(šáyŒf´džåú>ª#ð4÷éiÎIB¡d· º"Ÿ3ôبµ~Z•àgxœ³°ö,p–eI’üVŠ%*¦òý>KUþ%Oc\µN&“#5;ŸÇõÊñ÷¸Ív<Ʋ,…˜Q8Ö€a„fÛ±X+ðß{箲ÌÙ¯žëø0ÄKß>âÑûƒ¹¯õˆEþâáò…sáñí‰Jì¹?º¼º~;zkÊ]¢è½qïÍm`ë—kÁµv¸®ÿ×;–ow^]Šßò$A-ïfƒý…7—!·Þ~ظخŸi~ü‹yÓm^ïFoM©‹»ÿCo{°µõÞ¨ûO—l€Ûï®éiéÞ oÿõgö¼ßºÖÙ|ûÎä¹7.o~öproÒûö5Í‹,mÑÞéJ)FE€wˆÝ+üy_ðú”[øä¸Ëñý¨G®ÝÉd’çy3Ó”žæwE!¥¬DÞŒ1®ë:Žs xðyÏ¡úºÊ:LÍñ\¯ÿÓoЮ†0 gg¥PF‘€BLjEQÇ-`P´rïÏÎ=­¦Ûi èY*‡p.ŒK%X“±Í“œù6ë|޹5‡Õn!ÌpÇîц .´¾=ëÌ·1ºvË56´æ»¦g¦m§Ã›na—oÏ3‚í.m \\LKî0wÎÉM®µòç<ÚcrÉtþA—XjáÎ+m&ïŽÐ3?ÃòMÁ#û4i$Ø©‚¦„håCÓý2 !ŒÑiˆÝŸ(Þõ´ý¨û‰Ìž»X¯×»Ý®âË4}Æ˲nݺõùçŸw»]Îùx<ž››«fòeÚáJ4¬ºUJï˜Îûguýa&q³CÎÝÌg–ÂŽ_®…?êFbF‰v4DÒà]×]NrÓäd¦D×Ý»§ú÷Ä÷œ®?œ€R!äyÞh4zûí·BÍfó4Ê ˜Ðb,6?Lf“;ÌÀ_²µX¤Â;_“©(Öcû\)˜¼Ó_A˜:®3)†ÆÆn`¥ki(פQŠQ¢$H¥8³mÛ›æ`Zs´ŽP.ßUcQæ \J\f&ÅiÀ]òÖî§/Ú áéÕwž¸£÷§'ºšOÕsÌ9åøGŽ ”Rιã8{Vw?æŽ\Ín³õnòWU¨•Üf³T%þÕæ¯2s8b÷F¨ø÷LîÌWæq×ç$ýÀ'¿>®J@«ÕâœA0»¸ ¡…ݦä<µßtÏ~ëPšŠ¨ý3-`2@^–‰Ñ¦Z*Ï* ²²ð/ö"¯OsMý:i~¯é)Gÿó%5I±ƒ:ÿ°‡±*eÑøæe ‚Ô‰€‡yó»µH5rA“À¦µ÷4"Ÿ^ýþÕ\^ÇE™ƒd+¶knëºÑ •R ×k¯†ÙUuñWQ©5•Ák+ØÒ©NæØÊÀ4PôÑDܰ´8… ½/Û°ËÜôÐî5{ÀÃa©âµ;þ+žX$pòÙ>î#{ ÕûsÂOûG¾ÿøù#„úý~ÇÕ¢”RV‰œj3W…âû3mÕÎyžçqSJÇ©¦JY__B,,,Tv¸ gŒU­išVY÷¢(BUõÛIÚf;7O}Ž\0RÊ(ŠšÍæi𠆍årÍX6²©-¨¯çwE$œk¡ŒDñùFpÙCo~¼Ý9ßs8Ë7“ËÞ÷&ãµüV}§qQ<ØðεÑ“[Ûl1`u{pó!³Pc¥Y~¥£œ~Xˆ‰x°á¼Pà¬üÍÔYôy“®Ý\E®[[©g72CTû÷&éhrwÜ…2ølÛxš+Þÿt›®µL?ëƒ.+Íh{meÁK­üÌ7’&9 ©ÚEA%¯òˆ´Êa}êlEJ©л?߇RªBƒ+'m†Ý;ÛÃqœŸÿüç?ýéOßx㥥%!DÇQAÐl6£(²m»(Š­­-­µã8Fciiimmm4ݼyóüùó/¾øâ;w0Æ/½ôÒÏ~ö3×u[­ÖÍ›7‹¢BDQTE׌1)¥ëºŒ±íímÇq®]»ÖívÇ ÷¸TðoëQM¦½víšmÛÆ˜ f_¶¤â^ÂL?6$ÓûÃ<* ˆ¸˜Þ›¨DaŒÓ­‰Q ‡’0ìR=Œs¹f¢w&ER&wb2ä€D|kÌ6„Ýò¢ÆÔ£zŠ'kq™ ëWCÙÏ¢µ)J–jüÙÀß*ýv8üp„뉊Šì~An,Uæ¥ÚÖ¨”DâloN½‰7ùpL›…Ý—É!*ìéz”mfƒŒ¥¢ :]é`Ûæ£ýÀ_”ÒétZcì_è›9C¼zäÙ_Ù«ÍÍ͇†aèº.¥´ÛíÂÓ‹ÙŸ¤þaÿëRÊ¥¥¥ëׯW8–çyišæy^«Õ\×¢¨ÊvVf!!dcc£jˆ]XX¨ÕjJ)ÏóÇ9sæLel+LÎ÷}JéÖÖVǵZ­×ëU‡Tõæ¢(*w¿ÇqÀÙ>9¦5³~Ìý=0±=ÿ/ô9J7ôØ÷yðû^ãžO±>Ø™k ¶B)DkTŽe†ŠY ùH:ˆ¯Þ‚¥¦Icɇoª•q.Nâ2SŒíšV¿kÕ-aáÆV[圱édj­\úçGYÜÈJ˧6w››-Þp´AþOj—í¥`ãÏÖtNd.ì®^­!Ÿ(¬:¯v[_$˜´0Åv›ÅÜhTc ÕÕƒÒ;ï>ÅÅZèSË~í-r{¬”{¾Ê1F¯²3“Éä‰|3ó2íGD]×EÇcƘ‚RÊ«6öó¶üW®\yá…*‹råÊ•j™À… ª ì¡SUøú£ýˆ²Çªý{¿÷{• ó½ï}¯r³¯_¿¾Óª2óU̼G}TÅ“{GƘ1¶?¢9y™Ôl×ÿä÷÷À·T×d:Î\ •\³ÖåPä«B­É’%*Ð:\ÀDNe)é镱R™ º¨”:§F”ƒŽTm,òG(w ² à"‘™Õ VÆH5*6Óõ4ÉJ’ Q+2Vº„ÔäXC ÓDH9U€•BZK-sQ]*£R#· ‚ˆ€bq^ L‰4΄-ˆ)Åt¾™òT@¬y4F!tÿÍ8Æ…ÖZ[–Õh4Ò4=†~a¿<%ˆr¤W\AÁãñ¸Õj---íãñx¡Oµ¾«?í®J粊6«xµ²RÊíjrÎ-˪bݽ¸wmÚˆT°ÓþˆƒRºgªÓ§,˽ŠÈýX5Îþ$êWF£Ñt:m4»PÏãús©½)Š¢ßïgY6³Å!ÅÓH= (¢Û?_n±øõ¥Ñ{ãl˜u¿ÓN¶“øÓ¸ýêœdxôáúù¯œc€ŠÕHçÅ\wqsóAüAf¼i6L²O§×æ÷ßÛ/„Î™ÆÆ_=´Ú|µ3ùuœg%ü÷ÓÑa÷õn)‹ñ{“p¹îŸ6vŸ5óÕzòÁ9ÐuÇãñäæx^.qÃßôu.Mwó/Z=§y­ÕÿÛ-YŠù°¼~k3ºµ_ï¢ÔäB Y]èÌ.D <ËèÉÛ;OhÍ€^ÎàÂmooW˜1¦,Ë,Ëc½^¯ZvÕŠÙÞÞ®œs¥”mÛa®­­Y–5??_ÑWF¬ÕjUæî$y‘~¿_…mÛ¤—çyõd¯¦²’ž9<!$Š¢ÍÍÍV«…1®|ïn·ëûþÓŠU?³ ›OˆV<:ò¾N#Nbþøñ+GJiYÖÅ‹g§•E ¥qC®aç5Þ¼²@ˆâ®_i…ôš¾%üÚ·ê¬éÁXÑI»´Qb[¬>gΜ/®Êö·yéˆ7k–cô«×,ÊØÒÅyD ]pl\x›NûfüŠåeñi@ÎW}X˜™3—–$`1Ôy©1J'¹íÙõK-‰IIÊú•zýZC_†…«g ã´A»š3S£ëp\«ÍùÙݯc£fofØ›FáiœÒã"ôèãÀ+_24R}£mÛ„¢(öo×uçææª-M)]]]½{÷nš¦Zëf³ÙétòMS)¥ÀQJµÖJkô¤ \yÔ'ìC:9Œ÷ìš»Óétfoc3œDSñä«büëm°¡qu>¹9(ÆYøZCLÊäÓ¨öRQ´ýöÖ¹/Ô{x;Êâbþ{£ýèh ßÍ&Yt#m¿Ü03vϺÁœ7ø`y¼¹ÒšÜŠDT‰í"½•4¾Ú*Qÿz⟠ݶßÿ`à Üür<þ`„CÔûãîd<‰~Ó?cz\³Ñ{C1”îÇáà½MÞàáJÝ–¹î]ŸŸ®’µ´y½“GRiÙaÏ€ÙnÇ6   ò¨;ô…¾¶R+U¥¤2K³¢(²,«¶M–e_~%cuЧiê8N­V«PÍ éÑZçy¾·¼ÇYYYÙWŠŠ{æÞÿ+ËyÂ,!$IÎùÂÂBY–ZëjÿïéK•e‘$‰1@°#X®ÑƧ¤ÛëJ¥‘1ç–— ˜$I¢8® B°çzcm Ù'”q Õi@¦c>øL@¬Î9clæ5«µÂØ 4|ÑÒnƒpãô ¬û8eáR­ÌKÜEÎY2ðWL°"ÀšiYE<x·t¯ÕpÄȱç\ÃH½†vÀBÚaaS¾d¹›Dp¥–,äø wz®C|Ák(0APw¬8ùÈ2‹Œ`×a=[2$˜q»¾{Þå+¬î7‰ÃÝž‹\•c…çQm®IÏ:þ%‡ÜËËmdN»i Ú¿‘1¢‡î„BYšeñÓÿ²vM”"D†öÃp<Wˆteî8ç{• ûG©ÖwÏìç¨Ê8çO4}ÜÒ©˜Y,˪¶ne“«ú‡Ã³Ê;޳?ÞSJU.ht¹:Ó4­Êž÷OcÇq5ÿêK«ÂßkÍwâHaL…6´à#m$M(b41‹‡œ<|°.¤²8ïÎÏ»¾¥i´µ½½²rõ•k/!N Á9k§»O^×ñlieÿÈ|ïu˲f/¥D âŽÇ–\ïû53ä6ت…Q³}©¥Sú̵ц¢÷`S‰ç8›·Ä4å]f_²[ßìÄEÈ&Ó˜¸ ^õ¸]X/»9àZ3ÀSëEë[m;ŸjSLj:¶ÍÛæŽÂýšÁªÍÕâõ\çBÅÂò{)€”öŠå¿Öd/ØáW|‚,êþñ,jiBsÒÌ›sñûcô~|ºf´6°ïvÐäGaLÈÇë·n|ü«wß•Øâ”jY¤iª”&„xžWE›ã$IªºWµ'WÑ©RªÚÌUåpµo‹¢ØCn÷Ë#îÕW‹GÞK)w>XP}£eY#­ÍaWSÁ9Û¥°­”Rk½¿!þHˆˆRZýÌÁg…ZW¹Ø-,²üú˯þÃ?ú'¡rJJ*&ŠJPN:iúÞ|·9Nòûé¯[L•.­" ‚†e»EEÜs¼þÃÕõoþÍ+¯¿yqy¹Þl`LÐ!"›ý{¦ºæÏ ‰xkÕÜö(uúýþÌ¡#¸˜dÑ-‘mŠô“bà­4âÕ±œdµ«Í2*“{“àB‹ :ùÕÖâòÿOÿït{PãN¢¡H²­þ`}ÔÇeÔB aí%Š«_ZEU7ò¬*Ø´=®“äi*ªÀ¹sçjµÚ)L€6 S‡9…Š U–MSZ‚es“)-1›¢ F#d2Œƒ-Ë.I¡KECT!¥1la¥ÅÌâ"Ø D-P© íM¡(¡ÌµA2ÈbV‰0£4B€…(bã…Òµh Q›SŒAhÊ(p$þæÞ¬W®,;[kgŒy¸3ç!™™Ì±²²ª¤*U•º¥ªn¨Ú€4ô`~ñƒ_õêŸb‚ax€%Àè 2 VwWK%©*ç$“d’Lw¾7¦3ïiùáÄ ^ŽÅ$³]Md&"y#➈³÷^k}ë[ß§ÍËíÞ#QÙyqvÌéÑ{FNk×l·.v‡ït¶:A£X÷ãá?ûÑïü¤E“éäÖW_-¯¬Uù{?ùÉ·ß{ïöíÛú§ÿ ‘[Z¦išçÅ[o¿k­ñƒ Óéýàw~hŒù·ÿæßTª:áâ[o½uêÔé4Ë¢(ÒZ !˲ˆ£ØX«µî´ÛÆÚO>ùäç?ÿ¹s‘=ޤ9k-ãõ0ó¼¸Ck­uN€OÐ'@"çê^îSÞDd´a 9ÇJ ¬_¾òÖYÞlpÏ»¾wöZ~C¦ÞV¥8¾³7½ZÝH§iRme¬}¸Ý½=›%6ŠÌÇ>]'[7ÌdT9ËN4¤»ûûç^ˆ i­Â0ìõzÖÚÉd’$I w?£ëûøãgÈÊ>žT¿€¬ì1ß÷ã8~áH®¬ãýPž ¿Fÿ|U0^sâÇä$kBkÙ­.Ü^µªWÉÜœw.öÖüt7Oõœeßoxè­àIWæ:ö³¡E ¦hþè¼và5¼¾×,wãÎïu ±®])½N÷ú\z•V'~ÿ¢+ jG *ЮåA¯Ñ{  çt÷Ývë&\’ýŸ¾g›ßo’'t©†Áú ZÆ®7ût*¯0g^&Í9RÓa€T'<­T¶¡/š’k“WÖHÑ[nu/\¸¸¿»sïî]Ƙô%2´Öh­=ém¬¯¥izñâÅýýƒÍÍÍ;w¾ÚÜÜÜØXo·ÚN»,Ëv§eùx<ÚÞÞò}¿(Šåå¥sçÏß¾u{:.//ùžãñd6JéÕÔÿ‡.‹!¹ªª¸”\ˆ#Ót|°»Ám”ñ}ŸqîÉÍsçœVÊó<|R‡£ž#ϲŒs†Ñ3¨ÆhÏŽUMµ+våµ?sÖãGé²-ÝWWw9›ºÕªéÇÍsØPˆxg/w.–×$²ƒ¬Ìi; <_Hßk÷Ö¸ŽºqGQ¤µ‚ ½Ÿ'Ø~]ÙÚ—‘•}"3¤,ËÉdò"+€8ÃjZо [0¹6BÉš§ÚÉVfÕ¸ÐUYeîfñ¹¾ÖvteåÌZ„j·tÌt~¯—ü|’Ý.&W&:­Ê{û­S¡ñ\ò娹Ôñ»8½9vöNuŠky>Ñù§ÓjR{yt¶Ua•_…Mê²ñµ$ðq¡QÜJØj§?ªÆÙ½ñÐ[±†vo&^Ęó¿,£Ø÷ODé—‰¥2<ßT{I¹SÄoöÔ}¥Jä/Ç„F ‡à°Å$žÊ}aäûá8|XM3,Êé•O?¼òùç{»;@pãêçˆ0:ýê!… º/¿¸J‘/>ûøƒªª’Éá/® €2O¦°y÷öÎæ½<ÏË¢l6›íû~Qι(ŒjÑj­UžçÍÈclqìÏóáú BDÎ$ 26ß±´x¡["'qTb³§deȤÏ`(¹'Î9Ο¬2„@œ¡'%çÜZç'{,ÝW×  ɱÉjº ÆzÆ2 •×9`H@Ö•Y £ˆ#êRUe G Íã¡lyy¹Ò¬µEQÔˆà ôŠÇŸž!ìþì=üœ]¥²,_˜‰Èå7S,Tz3s‚»Vl¥:Õ4òTZV÷fz-£b7wÆ%;1è¡'=Vf³šþSjgÚÜÊhÏãÅÍÔ¬k¯çeW2ÓdÒ{¥Îíá?¡)ö w œ3éíTm’ß’åµ™m¨j_å_•²+™ô)³î0Ê¢aå¡QÊå×Ò²]xÛ™ý²pZóC^Tùn©kÇG/5Ì@soµyÚ…Lí8„oÈuõ"±ú }¬s~‡ŽCðçZ(Œ-'B ç¨ÛnnÎfiB޹E“ìq*ËñðøŒ*ô?Ÿ¬ìךúâœc_$…^|Gh¹3ž;üBºƒÒIF$SCTR‘AšY7Ë‹–…aÚºÂ`i¨Ò†¬1Î&0»1+ÌLUàÉŠ3A™åÆ1¦ `«rZŽ4å:ÿò · rQŽœ'…žPÙÐÚiðe3§xÜXeµ1 me­qÆR±;Ùœ¯XŒùXç’—¾†&q¬u/wÚ=L~}kžd’›{ŒŠ'-h`D`ma«éLù¡ya žÓå4-9"ã ÉÅ>¶QR¸|–F¡Ú8 BçŒ'ei¾x{Ž>GéÀpÝnß9œYccæäRR+ö±Ù,³F"C”žTJÕ;–ˆbmÙÈ9÷$VJÇ™’‘CÆÉ 8çÈ9)E¥4‚Ó³vé7Ô>©™§Üóü¿Ž½ÿNk]*ä¾CkŒ1eU"`=êüxclÑiÎúë.‘o¼ŸTãù/Ìü©ÒüÚÒ‡{×…víûçöþa¿˜e?8™î¦“ë£á›Ëʃ+ûgÞnÂËî$V•ËËk»»›Å'IÒ “íircºòîš½ÿÁVûT§u®·ù7weþï'Ÿå:Mƒ_Åíl|wºöíõ™É>Ükoôšgº÷ÿãMÙ ûß[N¯ä,‚ÕÞÚh:™]=<qôéHØÜîný§[^Ç[ýöòöÜQ¥=ó£³£ëûÓ­‰ûΚÉLU•ÃrfXðŽÍl:GôdšŽN†x°¿ß]âëKݼ4ÂǪrÁÞ$£Ú«-É<«ªa»ÙnÎêý´¸¾¹Ï8ôû&˼VÜhD \ž—‚³ ðwÇé$™pkÃî4ɃÀï5ü(w'Ye×záÚÒ°PÖE¾µÂ9ò¤`Œ«§‹ ›Œ'ža–eÞ=ŽäPŽ“â ¨¬*ά;ƒN‘¦œÜ´„å~£ªÔöAr8Ê û/ØwÛ:§,ó\DÂó½  |y¸î«? ÄúM‰f?ù£YëyÞÉ“'_Ü™ÁZwC¿-üwü•WÎú¬¢@ Ï ÁôÂf#pAû‡M× ìŒ–f«àA¡Txº¬é^Þté2ÄïÅÜbSÇŒ{ÂÃ3ß:-B©<SÛÎ Û<ã»k)–¼}¶ÍÒÂeLö¹'C¶ °ÄÑ#G8îš§›Ù'S:É¥•„`€è}h®Fî<è½BJéd~O3äfI£bÞ¾hžiNóÃt”~3ÉÍ\o›‘sâÉü8BÆHƒL”³³YäÅU©îïN‰û…²‡‰¸·Ÿž?Ñ÷dz®Ý®´âˆ…¦$UÖ:Æ}îû‡‡›ŸÞ^0+-¿7)˪Ð:K«ÜÒÎ4{ãüzYfÿøùW³BO&EQ¨íi¾º²BEñé{Ó 5Ï+¥ŠdV$IÚÝž…‘˜«ÃÃÑ;Û™AäaŒ&éd<ã@;Ó0ÅáXoïO÷Æ©ªŠñ,¿µ5™dÃÇ ŽJôÚNæ7¶ÀZgˆq…œIÀ;¦#á»릖ݩ÷öb;=c*ø±¾®.ôñçL&“fb"æêW{å•ivs¦= ϶ÕfjŸk©TU÷³ÆÙ&M>™œ¹t.T¼¼•R^­ÿ«¥ý½Yþ÷ÉmuËÌ´»]¯45ºüËÄ_Â~^›aÀã3ÍìæÔ¤FýOÚNu¾_DçZθò«Ä_‰dÇO¯Íx,‚³QñYæ·¥ç¯ì&_ŒWË5VúŸæ“Òÿ?ùb,Ú¶™ºë IDAT¾¿·22¶y¡]ævG7Ow‹¼¤†_j¡­Û9ù ¶ŸÊ„@èâJ7WPäÆ:HÒÂNpvrÐRÀœƒ,ÉMU¥©1„’£ÏÅÉA×ZëûÞ;÷µ1e嘮¬¥¢Êb,x£ßFÆ*¶6·+c&™5„k†kZFvÿ`ÎŒg•"Ála¬k•ð½A4°Ö¥ùêî>uûËI¦¤š®/µ™rNi—ç•6nÝ1éIé-÷?pBY¬û…"윓ø› ÃƺN3Î IÎÕ^}U³ÙìîÝ»ý~}}}6›9çje©ZÕ ,˧É;?›ç×þô×&äÏóþÍfó…¹Ð„€Ž¤Äðl£ýn –8y²±Ñ2K¾Jux±e3S®FñÙ&æNo+ Î{ë3§\ùb]¶ßï³J/‡ÑÙ|+–À_ømŸw8÷dûl*SíëÁ·VË,õ÷ŠðTåC.µdÛ=Æ}¯{¡³7Û$T b!‡’Kn„•ƒ }©çŸ X×a³nt½Á>8Ý>5Tã¢8˜uÏ/ewgéÞô¥†è¼åaë£Tf-àÿýï/htó,çœ{‚ƒ1àù¾rΘª")|G„€ ¡­;GÚrø>CçZäˆÈÓÆ(mPpéûÀ¬åˆˆ¬PÊ0ÎQ0Ñ:`<ßG@" ª'u8"cŒàœqg5Ú"ãÈg µ& ˆ‰HÀæ´*G‘Õ¤èùe …x¼=w¬Ç„/›±îy=Ï+s½nç/þïbïÎmKX÷ºsµÙáááÖÖ–ÖZîÕ³W®\9<<<}úôsªêO4~Ig¼ÿÓös=Ìp÷îÝñxüÂð<çüË rÜüh¬½¾±÷åf>É×ß>‘Ž’Ñýå7Ö=.ïÿbgõÌšÏE~3…,üdmkçNòAv£tñÚñàåä'äCïg­ñ/'φ?[q ÷?ßbF{÷â»¿Ú ‡qû•þÁ›N¹wNïÜßß ¾»ä§&%ør˜ên°sô°û# 0¨ªBi훯oôË*µâ°Î"ãóHˆTW5‡qŠ:šïo,ªJ0#eôhÄ€ä‚f5gºLr€HÀ1p•±ZÈÆ#]QœÃ°À ]ýÊÅ3’ÉáW_Üp•Z;{jxâô€ÅÕ=¥òMòjç0‰â8ö øÁ×Ùä”ä³<˸ðÃ0Œƒè¨UÌ~ÝJõ´2ÓÉd2ž¥B”¥ž¥ùÒêZg0ÔJ·šÍV§[ËʇqCYÊÊê‰ÔžgHê<þ7¿öñ¯åc=#×à /^ì÷û/”Å@ ·2@2NU 8sœÒ*w€(d®”âÒs•Õ Z ]wå‹ (•ÕŽ3ß*Kèse]QZ&%!Ë3å¬çLJ`­ðx©µµšIQ9‡•"O0D—(gDh- !c`œqÖ0`•q¤,rf”™.œ0IQ)k¹Ç]6w€ðMphÞbtÎ9÷¸°{}d~øA·Û›eY»We©É\úóÏþŸB~ëÂ÷‡á…@†–ªz`u>Y¼—wŽ92$²Û»›_Þ¾ìKoÅaßsÁ9Ÿê©Hiý˜sÁÿ»Ïÿb¶õãwÿ¸ë/••Tˆnn²xl¤¾&˜C!ølrø«¿ýO;7n—yÖÙXúÞ¿øéÒÚ §M½õ_‘õ5x f•û«¿¿r0­â¸ÝŠÄ¹¥à•}bÌ1Dz8-|d°™3æ!üÓ?|ò÷ŸÝ–~¼Üí¿rñìÙ“ÝØ#wœGöH M®ÝnW¥¾rõúÿü¿þŸýÁ2ã|®Ïàmv "€#J¦Ó¯n}ùÆ¿ÿ½ï>±cüçùEóž‘ø=q>ôùÊ>´Nû=Ö8×hýtïucÎ7¬ì‘Ñõœv.U¢-p…  <„ë^•eí¶1xâOÕTk”HAoÖ Â¡íý~×ÄÃxö—F݃?<36½!ú¡§Vd3¬\ÕW]ÔÔYíR€º2˜`c)²¯W2ëdïõ¥î÷{ø¦è¤ NAتýŽñÁú0àC=Uía{öéÁô³ñK93<|þÖ<%ñx½ ³,K’Ùx4RFçºJÒÉß\ý³¿¾ý§•Ù»¹ù‹?úöÿ¸Ñ¿Pê|‘¿ Ç>¸ãž džÍþÝø«››WQ8%ßûÖï†~h¬9v{ð8¬öøCUUW7?ú«/þ·ÝÙÊ¿þ_þÀZ-ȱڋüþt4»Ã¹Ú¹sëú-/ ãføÕÕ½õÁÚ†¶},å8 #DÈÜöa–*{éô2Y:,lªmYdrΫ疩,KÏóă Á¢·;¦‰i {“òÞÇ_ý®—×›Î)K| zJ›œÙÚ?Ì?º·v1ΙŽÌ‘-`ŒpQf³éÞæ·ß#¯UGx»™—é!?Ê>~gYvxxø‚‰#rVå•ÙžY!¦w&Rb°æ{3[ºÎ‰^•—é~l±'_Žú–™eÕ¾Iƒ8J÷Ë/gã¿]E~˜71y,Ûʽ\D|²9)ÌF;»šè1ìýbw–L̨l­4cÉÖ4ê71ÀÉNÆ=®NTÙ„ð`XÌ’d3ëÆ¥wü%±±Wl¥¾ÆKQygfÀEË,7ù¨Ð§ór3¯& ùKk¸°cøx ü0—É8a¢Âª@iâÈgP9§€œ!8Âλ|¬¾o ³H€ažä ¬eÊX)­¥Å朣ÁÒ“dLÀ*›k%4ƒy5Óá&±ýÜŒQ:$N€óB°Nº[Ñ!c\øA Ú̶·@’ïLìy¸FFÌ=D󙯳9 M£t(–‡]­µ³4ƧÏÁI;BD@QS6 ¹CfØ¢´w€וt<”Nœ¹2¥Ïm]v88>úˆŽ1’"ÐFXG6Úýµíþ2ã¼Þ®È9²Ó‹Œ1dÌäIâq5ZDôÈà4üFU)+Î?1¾>iŒL,.çjÛ0‘Í>›°¯ðìzVM*÷í@O«âó¼!™`³YÏ,1zl0àER˜<½>)¦F}žˆw¤e˜|:«Îépµ•ÿÓL†¼ÈXv·Ô™f·¤ÚSùÍ©xÇÓÎ¥ŸNôI/7GŽýv€9+ïf¬)YÄt®Ê½‚ò-仩 !6ÍâW™VtÑÍ>ºÊð·ƒìîTßÍ“œë™vƼä0Ã<Æ"Õ§><¤J¹`y-T³´R*Ïø›'~וžGX`¦ @íÎòɸlxÔ=c”© "GÆ=BîÈYc2fçßi½½™EnÕJ?O©ÊK«íJS´|*M¥ >¤„àÙ,½õåµn·Ý~«éˆ¸¾zAÀ¤¨•±Ø¨ŽGÿ"C`@Êá#çsš{©£ýTä8.ý³p±j4/hð€€Æ §£ö÷ý­Žö:λ•°åœnˆŽscë;=ÐÆ4O7à ¿Ø›ôWÛðZûÃõLU…9€&zÿrÅk€‘vøÛ=Ç´\õø_yf»üá’Ê-–§\TzÒ3?]å-ÒP]üñë ±Ê!GPÌ’¸^8nÓ÷V»ïwÜ«ýt‰ƒãMè~wÈ„3 Ýuí*UŸMª/Jg^BVˆÐ£9•ÃZû(•òhÏÿëœs¤¬-ãFïÛ¯ü ¬õ€{\Yå¬EDÆYNŽk Œ9ÅGD눜CÄååõNgÄ®ì]`#±ýËûÂÉ·Oî¶•îû'ŠÃ4½:^¾¼ävx}§ñí³¾ôÊû¥©ÌJÿÔÎÁVöY>jNŠÃ"¿~Ø{á¸Ó<Ûmlt7ÿîŽ×ðÄ["ùdTæEüâd{6¹5Y}CWæàãΙng½wïïnýÞd§ƒl´ÇÓ­ôÆ·«àüñh󼧯þûÍhؾº¼ûá}UUg~ëüèæÁôÞtùÝUèÊV(Ø ;3Iê`=˜ç}àÇÎÝyÅÅ7Ælmî$éxt8ý\]gB®,öö9g¯½öšçyÎYm*¬c%"¢(ŠrJë#¯½ žŸPJYkƒ äœ+U¶Ûm)Ñ9RÚ""¯CðñÀæ…šŽG­vtåÚ5"ùÆë¯÷ûýZëñ2l^%"VJYAEU)²¥²Ê äÒ—qqˆµ&˜­õ±ˆ@‘¦é_\›ÍRë(O“õ8 c;»ûqÔØÙÞl4o¿ý¶Ò\ dŽ=N§ÓÑh¤¬%c<És!¼ª¬÷vwwVV—ß~ûíc05¢ÅŒ­9ÂØ # ëw91"pG59$`„Dd,é'Ö•¿vFÿÔxº˜û×'´Öú¾¿´´”$Ép8ìõz/N5uÖïy¬'šß޼·Ï gCïݵ^åÂNë°÷ƒžß—vê\AÁ2 W=*:+x—ÔϪ\—]á÷]û;çyK €Ó¯]æ¼õ( :áNØúQsÙ,;¢)ZÜo|'d=ϼyA Û\ŠŒ) E™—rµ_é9Zcï~çõ6žÃ“ß:Ï9¾|y] g-9øîZw´®…ÙÍ©¼'ȸo€ð‡@ ™›=z³ºàÂQ³ªÊýÝ(ŠÚˆÈ•¥2ÆA0ŸC$¢(Œ¸ài‘WU…¡Þl–†aÄ9/ åy’sim-ìH4§– "@àu«ú8¸RI–Vãèp×¼òÊãðÌ#þÚTÃÚÒ㈤mete*á8-D<Žgµ½Ã¥K—jÓÐf«©´Ö¥¢ªÈUQ(¥ê¾‘ÕÈ…`x“ªÃc·ÛuÎÝ¿:+ýþ`y°µµUV™< ƒã¡«>+kZX-æ ŽˆÜ¢¡ýy.GøoCë =…˜÷Déܧõ~áé’:ÏÙ®õî'“I­ôâëÕ!îu<ÿ”€œ Û Ì+m¸ì[-”ïøR |ãE9 FHÒ“¼…á 2S¥Ö F¨=’]<à¾%pÞŠï7}šÙ`5, ¤BË&ù^`¥“‰À¨!8`kµ•´'ÊXÖœyR椖¾ðz-¶JiäBö=+˜ˆ-­`á‰ÐÌ*³«¿¹IM| +û+@˜Ó襔—.]J³^}í5ÆPpî¬# Ïó1#™ÎZ Ãq&}¯=Ï™ïGµ†k³Ù\H«ØEõMäŽ0š”íúÿê}uîÜ9!DGƘ:ü>.ìtü%µµç¶…­ZÚ6D¶Œ?ª°þ°N§Ûí:gë.‘µ–#)=ë¬s®–Èk(¥´ä訥mŒ uÏvye™I)}ßï÷ûÖZÎçì¸>æÑ5uïpþØÑ\ä&Ü0tD±Sj½|0þ„Ó§Ñ­žXÊ>ññ³ÿòyè\µåÅÊÊÊêêêx<~ag `Ëi1ûh–]OóÏÚöÅ^öenSÕx£¡¦ªü²h^j“‡‡쟺xN¤Bݨ0ÕÃ?ìߥ_ÜT·lªòeûµ¦—_I£¡X ³O§ñøB3¿––ª*ÿwçvÕìî¬}¹ã¬K¾È¢õ0^Fd+œ\ðÕ§©ˆ…÷¯V'ûûãÏ–ó%cààÃQ±§‚üé'#Ù‘ñ©fz­0ºè½ÙOî'ÅNÙz£Œúò›Ð¨sézœðÐâñò&‚zÃÔ‘Í:ª›Ñz1ãv\š1F–€36Ÿ>')8gj¬óSÕÑ8µlEÝn÷ùƒDÎ!¡<ã‡oøÔ$ôD¼³3™iœkš\‹¥ <ßb”w ò¬JÖÑ“TK¾w[n¦‚œŒ¬ÞÁJÀz‚ˆ5ϵ)·8í7ºÕ‰„­óö©&ñ¦ 6b¯‡í e£ y!žM,VÎRÈd?vR2Sy}?~¥!ÏI¯é56Ð`š„1b«Rîf½WÚÕV‘í•d¿±‘·ù0ÓúïhœsŸKç©C2¨ŒUÖ‰£·ÇqŽ:Ï$D8*Gó·õ¨Â£ÐËñÉõgüèèÝð¸/î¯EYkè‘Áq¾è†×ÿðÇ>›o$ ‡Œµ €´ÄÚk{>Ï(„¤§” «Ä…|ü3®Ü:ç{ä2d8CvÔâFŽõÄgsé|Æç¡µøçŒqƯïþFu „Ækmm‰¼ø¼µSä ”¿TÓ|´ŠÛŒÖBÿØ{µA\™xS2ÌIdаèh¯¾1°œ«Êø+±·$‡¥¿ÔˆÏÛþ¥¡‚Œý6T©†ˆ·Þë“NË gÁB³gü-ݾÜÌ uùP)Aø¾AÆM>[¹¼šjìľP•äAè5/´4 q¶q©Ùx¥m/ÒòÛ ¬pê^Lr[ØökÝJWa,“Ï9¡x9g†ã50’{LRgñÓ…D\†ÊÑþxÂsÚÚ~«±ÜjÔ%ìO_Îy­\E¶g €#r­õQŒ }êcœ¨§nà§³Çö-=àhý¥”’1°×oðd¡I¢ã½öù)8wÊ Ã8Žko Æ„"chkwBÑZïíîåE¾èŽ>qƒ9rEšîìmçY2›Ž¬CÆçÌ1Áa^(×M`V#ØE:›w¶6¯\¹Z•2æû~»ÝþÏír¾ø§]õGãœÇã¢(”RÍf3‚¢(z½^Q›››×¯_1‹ˆ<ÎÕ^®®k6“£÷1r7†“ÏGj\¾»R‹éç‡ÃËCÁpûï9þÖõ3øý὿¹]ü2Iãh’ÎÆW¦KogŸìÇgÚ­aãþÇ;^,½º2ùä@M•ÿïd¾•onöß_ž±ÙäÃýöz+Xï}r3CïÕNöÁÔÐýY/ùp”|v°ü³¡Þö/÷dFÞVëî¯n{ƒFóBwüùŽ+ÝÊk[;w‹»³¥·V‹IU¤yO ^<äÂCÂO²V¡…>+€'E¥ÌÇWnnn慠óƒÎw_½$=¦œeGf(ŽÎ·&c8è1Fµ;™Ö:Š"2Æ>¾Kë½Í›×ÆG«¤öC©ã[M>òjÎYíxR÷o$DôçbŒF£¢(â8®_^Û_Õ6®ëëë“Éd4µZ-)¥Öšs†!çüþýû—/_¾|ùòþþþŸÿùŸomm}­6’¶–µx÷|sé'ýp;•úž´U¢µ :2¦J§~'À='CÈIˆàt®ù*SÁ‰vËòÓÿíÅi9ÌqQ„tÐ[MëÙþ¸DàñZ›ýå½êNuâOåùØT £–øÓÑA££²mRÂÊázÿÖÿq]••«(è¶âóʆҀõÞi~{Å{]ö“ž@?êÙÞ¸’">GšÍªøô ùä0ýå3î%Sç'9žöÄš,XYÏ#:æéý¿™æ¼¼«`¢¬Ç,ËË|mmm:&IR{q+¥¶¶¶¤”KKKJk DDQÅqÃ÷#Dô<ïúõë7nܸtéR…Ež"‚ÒŠsEQ­;qïî&ãbiiÉ9˹888hµZž'GãÃÃf£QVÕíÛ_…aÐétÆã±ôdš¤i–^¾üF£Ñ4F !IÖ:î®ßÚúàʽõ~cµ×Y[ßÐÚæY¹½³;·6ï[§Ûí–òî;Ƙ啕“'6~óÞ½í+7îvzíH²·^Ý(UƒFJ)DD­ÁY†èÝÑ(å”β´¬ UhW2éUJC¥")|”J»JpY‹H!­³ÖTYVéR©,GàÌ÷½f£™$I£Ñ@i’Z 1ŽŒC:›íîퟘ¬M¦3]•u®`½9ë|¤v«‹Òúq}È.¤¶àëXosη··?ýôÓååå÷Þ{ÏsåÊ•²,óIìÈlþ¿;*-`¬År…ÕΤì40ðªÑŒI>[N“Ï2 ¡ÖÓ¢ØÊ¨R¢tÕ­Ù¡ oÛs[9>f;!²ÛÐy©¦ey2Ï·K›ê—™~@µªGîŽGà(4<(,B©ì^Žéíû_¸¿°Ñ™ýøíˆ¸(Á²²,g³YEÓét6›Íf³Á`°··wãÆ Ïóz½^U–•RiY,--M&“µµ nŒ©±\kíÍ›79Ç,KÖÖÖ¤”;»w´ÒZ©•ÕU£]7®]»&…h¶š7oÝzóòœ±0ÆãÑxXp¢À IDAT©Ã0œÍfI’TUUUÕ×U·#ÎQ«Ê$Ü“_Ì\l—ß?1ù4-ö³µß óƒlúéAð®Ï$ŸmÏú®ratÅ…lÆn¼m¶ ܶö°}:~oìýãa|‰:'ºÛÿ¸çGá*4ʃ‚Æí·ª-3ûdõw¢ÒU‡¿8ì^¤ðÌàð?î‰aС Š˜ßðfŸØM#&¬0Ùf4cæ±­Ÿï‡«ÍîåpòáØ”nå‡ü‹$¹=•΃ÔU{Ù ŒÇÆØC\h ‡úò ™#7³³¡n-Óù?ØRK•Ì"8n¬®s¶ÝÝ]!D§Ói6›¾ï§i:ûý~†Rˆ¢*‡ÁÊ`0˜N§l^»Ùlº¶º¶¶¶:N˲TUqòÔÉF£±²»RÅd2æL8‡ÍV+Š¢ª*Ó4]^Znµ[[[ÛBðétvûö­uÎyžµeñÒåוRív»®Óæ-¢#0ά¯¶Û=ÿfSm~uwggçÌ™3Ö9­µs¶Ýnݺ~>þ¼snkkKHi­ëvZ—_9×n„Ÿ_ýìË›_¾÷ö»UU! ã¬nƒc9gȹ‡}œœ"ku¥J÷Lc|ÞÄêŒ2V¢ôD¤•®÷R½Ù<é1†Ýn—3nµœ™²ÜÛÞ’BÔd’Ð÷ò,·DAU•5VkgÙt:IÓÔ÷ƒÚu¹Ñhcê·­kœ²,à 4Ö b±<Ï·8Ïó:8?íyÞ›o¾)„¨Óà~¿_'MQÕ¨{-ëûþÆÆ†æÙÙ³g÷öö>úè#çÜt:ýº°Ye áš~;XÿÑy Ò˜bå;k@\¢hbgðG+-ŒÍ­„¢RÁ…V°æ÷f­¾Ï[¿Û—.ýë¾-­Ž¼³ÿ²/YPg¿ÿšµ4¼~Ü)÷tãÇ­Hù+ÿzY[Ûö:­Ÿö9çºÒg~û-§ßñDHrÙ:o/UŠ[eº¿µÜy­‡gñÌ.3Ë„Gñ·Î[)ÑK¿uzXÑ”Å3ÿŽtúkòÕÇ´xñÃù ŸsDȰێËàŒ;y)Ý>è¹ò  ­¡£ÚÝ£îxž§µnµZ'Nœ¨ï¥Biå…!t»ÝÚ€†Ã¥F£ˆ­VÛ9眭ѩµµœóZ\kCv»ªJ¥tš\¼Ø´ÖA0 ã8n4uíÝ鼆a°@¹±îó:‡Èj?îå8¼÷îá鳞ç—e)%_YYò<Ùn7…àµNzMÙ={ö,c¬žÒítân÷ÒÚê²5¦4ŠÀ !j‡ñ£½JÈ"9µÄ#?›Ü¿u›·¹wrt8­ØØ‘†ÉÜÁ‘È4Ÿmïì|ñå=&¹”¢–eŒù¾Ï9—BÎ’<ßcÎåélr¸Ÿ {{ûûVëŒçI’´Z­4M‹#Þ":kɺTJk b"DQ–òHã²._¿–c(c¬õ5³ªŸë»¦”ʲlq|ø¾oŒ‰¢¨N îÝ»÷u“çůåÀlªÁÓ¼TÅW1)—½j§p9‰Ó [Úr«ð7$+¡Ø«ø«"Q• hwYU•SUéR§Jí·"tq§ŒûkºüNéBæŸaÕT»±æ3«±îåÔÝÒ6DŒÕ— J†ÒNà±WRb&„Ì^iNi¯únÆ"ÁÖýꞪpÃ7;ZáŦ©œJÕKöøêN¬Cp "Ç©sõ¯©´‰<ñã K›{T*Æä{M½Ü^jø ­ 9ÐÎ2ÆZ­VÓë³|Q,Õ«Óó¼…#v=$Tÿ®Úêþ»F¢’êF/CVWt0NëÓa‘à !«JÀòòòÑB(Š¢nð<ÂñXMºÒ\ðáÒ’Vª,KÆ ŽÃúMê­Rçp4«U¿0/rÖi· RÊc`­©·‡Öš1¦æ€ÄDͤ˜£;Îk€°÷#Ñ”ÕÊùæù*4œy5À^ÿÒöGƤÖÙµÕdCD^àqQcù j>iÝP]Ø:ƒ#«³ì̉§OŸ!7—׬]Ôë`ø »ƒ5©ÆÚ£Ãq×ÒI}€‡=4AΫójk­”RJYÓ¡1ÓéôÍ7ßô<¯6¦¼~ýzÍi{Þ ,¸ÊËâãÌÜ«f_LtÝKƒäV¢§ªýZ·JUq3i¾Ú$MoŒ›ïwBëûÊj%ZkÅáAþyµ#wM¢²[yïµ®›\MÃAÐ÷“O§Øåùæìzæ Iö@¥·ÓÆå9}‘†ëMÙŸ||àµâ윟_ͼ¦ß”d2ÉnO¤,ùrjs^÷fùÀ N7ò«V*~§_ÞÉÕ–ŠßŒMf€ã 3<øþç²±õœ%ˆ§Rµ€qti¬Š˜È1Áb.}²®^  '?-ÀOrÎ#ƨž¬×÷âà¤îªwtMÏRjÞOZìÿE©Vï̪RŒ¡'ü@6ÁØÄ8sœ¨öhs ¹"Ï‘sFdíQcý8f»x\÷{×—a3æœErŒóš›5Ÿó²×_ª#ª_¯”"0ï¼ûîøC@rΑ1š1G1c<Ëóú ©Ñ¥*e-¢–øœO k 9Çz€àaHÎUUÅqÁë=þ(§ ‘¬ñ¥p€ÚاÅÕúðª/æ×Ù 2æY"s¼uÿ¸Þeýe.\`â8þ³?û³?ù“?988X—ÏBk‡½ïµzßkD›-ò‚ í7RSÙÆF¨*Sí õ&Î+% ÁF&8å‡k°p9Š¿Uø£S*É͸ô:!Å¢±›{]/Aü.>Ý‘}¨w³õÿêDšäQj¢A$›í̘1ð+’ÜœlýÅW¨-åÚo5ãó}OJ®t÷R«ÿ­eöºВ‹†Qòþ”ÈÆý–®¬:(ÛšéõI~£x9s³ä´Å:´^œÑ =¯Õlõ:ÝÀójÆr‘ùnã"\0ëØ» úžÇ„p@GT,¬{!Gw÷Qc„cDd•ûx|C-8™ߟþRÊp©y¾Éä,![ ?)9<þý¹GˆmÇÅ(jB£±ÌÇ <ÏcàÈZh6›EQcjL.ÆY½kŬf£áûA»ÝŠáâWlïìmmÞÌÆ¥­þùïüØ÷‚Åbxšv=EÊÊ"B_¾OÙKµ¾qË—Ák§×=ÿät8€™\]]}¶­ñ{ Büì½YŒdYzöÿ眻Å=3r¯Ì¬½ºº{†Ýìn²g¸Ž¸È”)™„a6,Á¢ 2èE À_ ¿øÁ€ ¦`>&(@IQ"-‘Â329ä=3ÝÓk­]UYY¹Edìw;çü~ø#nÞŒ\*»º%èÁ‰AMuVæˆ{Ï¿ß÷[§äŠºR™+…«\„E„*”è «RU×”¡Wó,€‰3ב®rÒqŠ ’òKö2¬$„(}ÇÇ©(…"9MÇ©I+·&]m#p<é+ O„Bj(UBa3§neEØ Ó4’TʼnLb58Ußo(ª¡+¥S“¾v@úʶT–ª!²#‚”s^륩§´3ËÍ&Ûòh2–Jf2=4?œrá,Ë¢(2ÆŒÇc¥“FBÌÍÍy®ËŽ–ìÑû` €§c5äq“–3 Bš&‰‰{½þ»_ÿÖÓß L~ñõÿáíµ¿fM’ž1À<ÍhÅYSž² ÆÃ,Í$JkŒ±†KëÖü¼ëyZk¡”kL.ˆ¡)ˆ`@21KH‚´N󻇇=¾÷Ïÿå?ï/þíoÿæï½tõå}iUJNµ5èÞ½{ÃqVr!Àµù¹ÊÜë^`4ý›óaµº°¸ÇñüÜ•u „yN´þøþ'_÷чÛÙ/¼ÙþÙׯ8®/•šáu»Ýû÷ï/..v:¥ÔK/½”gàÜicù> Ë›!­Ívž~½RÙ¨Ôo±Ãà ¯yäêéB™³,ã“ÒI»ÃΟ zw†ñý®‘¢ºÑm÷£Þ°~¥¦Ç:Ú*—*„8øpÔZYñ÷ƽû‡½ÎpííÒáNÿÏûæà^§£§ÃÚF,õ÷ÂåЫ{ý;]QvJ‹Aÿᡉmº=Ò=j+UMzüxìÏ;~£Ü»×uBÜ]©ô&³þ¥+÷|{'|»„î~ûÙá½v©ôôTM”—ÊÃO‡Æ@ýrmؤmݹÊXˆ†«¤ÊW]¿%£°ˆ–ÈX0dÕ);r¦º«DBߤ,dô<µ»Š¥æãÇ>|xõêÕ;wîDQôÊ+¯(¥ƒÁx<¾¼¹‰Üfœu¡hšr ,t'€kÁUñ*‹Õóx)®ÖÙáaoÐÞ{öÁÝgßèÒÃR}1ÞŸßÿ'órùÆò[¤c:ö–úåD¨ btrÌ'ìÃ"­µãÎ(N"tÈq]×ñ1N;Žãµµ5^›è(Å<'$2“´ €p²È7§À¸Û7ï¿Wÿ§ÿdMÈ:R©¬ Z¿`­ÕF+GM« @ÄJ¹\Hâ4õÜcS|4Œ³§£ñ'»OèÚ%5×hÖª!L„y m–Ö„Y®Õ~çÝ'ß|÷þ•r¶yõz¥R9åry4ýÎïüN½^ÿáþá"À#7à)ºâñ³¸óíÐÜwï;¬Õ_ÿœ‚>Ï…/‹˜ˆáöÐlG ¬»¿KP‹K+®ëd¨›ëM””(Ý®•ËàaëÆº „S••/•]ã+À°ä††ƒšÈ–n—•2“ö’;~r }3eQ“µ ƒ…²×lH™ÿFMhê7æ%"U¿^òZJ¿:߈^š£|±ðò‚ɬbþú<"Éú¦o€„Pµ¦ ’Æ;1T (ƒ„`_dYÀÄ€°hUgqf²ÍÉ% œ0Ýf2ÏÑhÔív­µår™¯×¯_/•Jqk‰Þ:N“[&µ”ÓèŠÊ¹­qË Ãlôú£MÔï )–Ê7JvÎ(¼ßû׿ýÑÿòK¥ÿm¹z=Õá±O”7̈,WzXy§bñ†Ó¸/¤ì²­Îpa¡9ôG£!¢ØÝÙ•R®¯¯#"WÂ9|ÂX+izš§ýÀÉÛè?~ôäïý«úÍ›¯•¾z¥qsÅ“’™ BL\Lÿ­5Žãzž†ÁX®;Í™è(§PKåÆÃÊôjÆè½ÄQ\«–æ !3C¾ ߸\~ØÍÖë¾ç—˜ÒXd’å|©ýýý|ãaáŽM|«µ…À$>tß ‡œ´?–¿ì¸ªf?kÏŒ€@%òn—äÇ%L úà'Ö$fþÕÖêÑ ‚IÖê0V4•¡±Ð0‡V西ºlþ#+"!A€DЄ$¬kN•öZ(z[•J­R¹ÔÔ23I€$’E"B…ì„¡¨…U “¤úf½%—†•¾°ªõæ’% Ƶ!!Y0Ê("Ð` Mƒ…ÇøÀ'ÐöxÚyöÛˆ˜¦éÒÒÒÒÒ’”²^¯·Z-!D«Õ2Æp ŠˆN,(±…œ¹xéœ 3M.)e§ÓÙÝÛ)—ËRˆåææ²wE*UQåvw{íßÙûæ‡ÿïFózªÏqç¢<Û¢,Þ ‚”aµŒ…ÉpdGãñ¸\.3n$Š"ßót–9Ž“¦)§*Æ!ÌëDœ*P¹Áüâ¥_ù»O­ú‘3Þ©vÅáHÛŒ™‰ˆ“^ _ŠÛcQ%IL¤GãT‘¦ QQfÙáÍ©Õz<ÔÚ„«óµZ9I2@€€ä8N–égí^àŠ¿ú¥%Ïu†ý¾7Öjµ\„ˆ<Ï;88Øßß¿}ûvE[[[«««¹æ ƒ@Ò4™°ƒÐ Âqýg·üƒJùÊÒÊ׌:Ž/r y$vq ‡@A±O(aœ’×üJ3È€ ƒËkà’ßÉz$²¤aÇOËD—Á‰À­9¨/ÇÚÓð™ÝÌVm‚ ´r­‰+…®¢¨so»´¹Içé‡çj¥FMc 6r-²‘µ H¢FCH˜ ×JcS u)ܯIVY-I „¤U•plšš­?oöF ¯ÌW¯.¶³A4ŽÄ´^}a"!Z!P‡Â'¸Á§ κ¢ã89߀çÀù˜ñÄïrz{êf(xV/š NMG%‡Ãá³gÏJAéÒÚ%6TÏó‚ Ȳlj2˲‡À¥K—x€Ìž7¿ü–³··/–J%!Dkã'­•HÚêQb¬”êby ]œ¥3Y'ÿz:&î¥Ò• ¡äª mÚöç°=KYœ%Wº0J!véu/3äf‚2Bò%ë-K’#¬$´®€-­œjõòj¼ÛÙÿøÉÒ[kÍ7ÝÞýC_6«_­&{¿ñȹøo•£(Öß?ð<€2RJG­^ZA4ê'fUas#Âi´¡©Y€Æ.†ËÁჃ¿è¯†Žràó°úé(;6F«3¨ð§¯®:)ü]Ì¢£(bd%"nllðdø´¥¹5NÅäÉ/b`Å_äÕ¸žçÇã8ŽÃ°NÉ­îµm«´¹V¿5™tm}8¹è¨ê>iÝÓ#F˜Yô”ZŸ+W|Ñ,7rcþnÈZ\ËIL6FHByì‚RÊþ¨ß>l—À;Øj_Ú …ÅïüÅ;ë7.ß¼uS’°Çý '´žçU«UÞÿ†á`0h4, gŒÙÛÛSJ}úøñ‡R­V=Ï‹£”ã,..V*km§ÓÙÛÛ[\\d(r³Ù<<<¼{÷îÂÂÂüü¼‚©B­õûï¿ïyžëºLŠÈ²lccƒ§ y ÞÞ~êºî`0 ‚Öüüp8X][1Ú¾ÿÁ¯¼ò MçØç©[ÅÏù2Ùà—•x-Ui„rÝÀ»k:íUêõ4Jå\`¢tïÚ¥9ŒÄàÛåÅšÛ 2MER,6Pd Èx*úþЋÊÜlêÊ“¿ÿ ‡­Ÿ_HþU{ü½õ_\·?PÞú¿žÈ¦XüÙ¥è÷ûßÛoþØ‚Ópíа̑@`ãá8±iéjÍõІ$€8*œØ‘ƒ$‰bç_ï>û­íêåªX ²?ËNŒ3_œ•¤rO G2k³¹ £ä"jggçÃ?|ûí·góèÑ£+W®pU|,Œ"æ9ÀY">ÓŸ·Óšxƒ°V³Nšëºõz³ß„a– ’:üêõ¿~ëÒÆigì׳¼}wºÞ(!Sð‘”FJ ¨¥#-YGJFPÙ°`©Xë¸.'¥Ö’Ñ©ƒ Á 2GÅCt’xØÞw=‘ÆñÓý§W^¾ª¤Ì¦`’# Q­V{øðá³gÏšÍ&}ôÑGõz½V«±§`s¥RÙÛÛÛ~º7›RÊ~°º¶&”‡õz]kíº.£Ðß}÷]­õåË—ûý~–e¾ïÏÍÍå ö‰Ü†d’³y×ÖÖ&Íaÿàà`4¥izpp ”ÒiÇgÜu9ú¨?úîxÿö¡,zÉ7b¯¦|Uªo4•P™Aa˜¤®¤Åd0Ö‰©–j˜âhû%%@ÁäØªT€ëdå4s´ÉPf¤ÌÚ¦6+?už©Ó§Yv7Uö3VÀÓ_Çð*a9Ö.J gÖËíÛ·kµƒ`•RL ‡EøNž…0Í€Îö/TàÖN—YâFw–eAPr¯Ûíno? ðQ››k´<'LÓä$¶˜í#«ÖŽgǶÎ#H×-Eq[";+%+Õªëº6sG @KJ*c Xc¬Ð0É¥‰fµ\±súã;Ÿ,­-U+ÕØ÷¿öS?í9N' }ÉEˆ¨ÕjI)Ã0äT–×T«Õz½Î!Îqfq.--!âÊÊŠ¢Ûí®¯¯³…3¬5 ÃñxÜl6Çq]—iI’A ”âÄ~ii‰ƒðµk×Ò4ejþÊÊŠÖš/•Ó†Ã0¼qã"V«Uß÷•ãXc”RQ½öÚ;ÛÏ-Ä.ú5$·)ýÀ‹ßƒ°\²<Ô°²¹l’±S6ÿ ÖíQï7wÓq¥æ›óCc :0€„ÀýꞤÙ0Ûûí¶….é,»¯Ÿýƒ$MbTb÷w:h­Ñfø(Mÿ~Ö¼=·þ—/Aê¦m“z¢•VDÃ±Ž“°iGIì•}‘8ô§#ýÈZR€˜Ú±®ç¦ï_õb7F°ÊH¬ºîªÛÚÍþp(hGA–ë±]Ø 9‘£™6JŽ9>«€Ã |:˲Z­Öl6µÖF£ÕjqÆâÖÚÉü?ŸöNë]<È9ÑjÄÙïóXëŒ9–…j4êD uf(1&;Uî´PèZ^ŸXl©#‚”‚ˆŒ±¹dŽ“ @\_k )!«ú$IÂ0ÌÛnÆZ 踎Žtê§Öˆù½J¥[7oñ’>¦æÅqÌ&:“Rú¾OD+++$‰ã8Íf“;dy 7 CùÌÍÍ1©Ùl²`#ä—˜ŸŸ÷<¯ØÂàZ:'³ Ï •Rì)rÄ2óøúaæŒâÜnsÃs²bc..ú3xÖÛûîÓK_^Ùy¼ïøfó/݈‘’vì*lë÷…°õ/µ¼R©{§=Ú~©ôs~Ð õáDêhµ#ßé?{'­¿¹Vÿ™õ'¿ú±qhýoÜŠŒŸüã'«?·^¥¹ûÇûÙÖT‡[£íºí]"}Õ±ëv“Î2(°Igi© ƒ8 êA8RíIï÷vUè¯T‚šÛÐßÔœZý¯ÖÄ[A‚i áðÓÞá?ëSbê?”ËVçf2ÆŒ ±vÂkjÚŸcŸ›?èÉSæEåÿzr#_ŸÍ8Ð8Ù㡞Û^æßbá ÕÀ`vÞÝ­k ‡A20”Z¿â&íìÉ¿}ˆW½+ÿõ­¹¨¦h⃅öoï?ûÍG;¿µ·±~Íi)J ߈TE ý{ÃðŠS~¥á.¶ŒvýÈ –]¹âd—õ•ÕKN,:²ãd¿á‰ÙmÓú•ÔF£4‹Ó°Z)ÇãÈ«¸‰îïmïýîSg¡´öß^ö¾ìH×YØ]ÞûW;;ÿlëÉ?ztiþ†¸âE¥qðã5³¤@êÊ[õÃÑF°T`ï^܆ÖTìªu²³ÃɰÆ.´„¾ï×ëõ¢ÆŠ”’ypÌ2gv”DÖX×u ï?¿cG!¥ÂÑZ³Ê ‘aP¹\õý2Ç–\Ç'Ë2!dš&®ëôû½n·»¼¼Â¦Â3çŠyr\ð~¦éfkY„¥DËyæú¥•,ˬ1ZghD¥”ïû|Ü“$!K¬ÑÖÂõ\=> ‰ÙR©V«±Aò¶ë³Võ;ü§’=>oF:µÕœLr2±ú·œúê®ër$¿8Þzë{Ûñ@W6jv¤‘pøt´ÿþ®qôõ_¾Vý±úá¯#ƒ$ IDAT‡‡Q{Xzµ¾òß­šnvðõýñ_‡kå4Ö¹Î!¥iZ¿Z5ËQç›{ñã8{2¢’ðö¼äqЇ¦óÏæqɽÖTVn³»»cûGË­þ~”T¿Ð@êŒüJY ˆFcURޝâ'ý?éxA°þ·7+?[8=4_­®ýeÓNwþh?}8 7+™T¸ŒÕå* ¾cŒ± l3qfM´i/ß Ò‰.4G"+zÜ$IºÝn»Ý®V«lÃ<„h·Û{{{·nÝ Ãpww—‹®$IÊårX*íìî6›Íµµ5¥Œ´9E’$½nwÿà Z­`‚À'‚^¯¿½½{ãÆF£¹³³EÔj5×uwvvÚíƒååå‡Ãååe®èâ8zòdëúõësss…X4óÑŽXÝn7I¢~¿ÏŠŠJ©Z½–&éwÞùÎÚÚêõ7}ßßÝÝ£èæ­[Íf%Cv%ÇÛ"x“AËQ•J¥RŽG#ÇqXéšm‰}{.¶,3Æþ‹-oy†ÏãåÏÖˆã˜} öqE©ŽäÿŽlø"ƒ½S¿îïµîZ\ú©µõ_ÙT­¿V<>úõÇzKÏ}-©üË‹s³ùzÃÙ:6…©$!"ÄÂ.ˆÚ/Í›? xd—ÿÚÊXD.yõÿ²uøn{ôI4¼âÁ±S½„×6“ÝØDþÍŠºæYy®g@ÆqäzŽ:ÞK¥,üÒe!°ò•`|·½÷ö‡[Qÿçj+¿piþ—×[?²‘ÎÅi!H¦Ö ô¢·– XJ‰×鲲ϭùZÏž={ï½÷x~xxxØl6?ýôSÇqööö‚ XXXø“?ùDlµZ÷ï߯T*AÄqüCo½5í¤¾R€ÕI¿ûÝïì/--7µv{nnîÓO?UÊÝÛ=RnnÚï}ï{Ož< ÅÅ%ÎáïÝ»›eÚ{ÿþýGqϹ\.ë[š¦ÉOþäOž€¬@¾œ•”òÁƒ‡ûû;Žã<|ø°ÑhðvŸ^¯÷o|ãGôGçæç¿ÿýï?xð Õj=¸ÿ–J¥F³)¥4I*¥bÎë Î6÷öö¶··çšs͹æÓ§O³,[hµ»]ÛpŸI*uïîÝùùyßóâ8^\\ôƒàÑ£GŽãøžwÐn—Ëeèv'9|­V›Ÿ›—J^¬¤D"+¥l·Û¾ï !îÝ»W*•šÍf¿ßgØjµúÉ'ŸÔjµ+W®|VÕ›ÏdÀ/8þ´$x Ff$3a„V6±†¤Í€ J0BòxœàMPñH®‘:Özþæ"°¤“!LÐfƨù×.9‘8ð»B¢¢¼%ȳ¾ P7ŒÒ‘MÑ¢6š2ãyž”b܉32&D à!4‚A°€Рф–¬1hS„ @"à‰æEïe‹Œ}k d†óoîLõ˺sW¯^]]]]ZZr]·Ýnó\±^¯_»vÃò7\×][[[[[˲ŒcH¥RÍ´F;ÀE w’Â0¼víÚÊÊJ«Õ*—Ãv»!¥ÔYV©Ô®_¿Y­VG9޳´´¸~i]á¸n½^¿tim0d™.•J¾ïó&AÏó¤T«««f‚'.b'‹±hŒ^\l…¡Ïx2ƒì¼~æg~fss“ˆ®\¹²ººê8ÎË/¿¬µ.—ËÖB$ˆ­ÖrÉ @“,͒Ԥ飭‡û]Î\zƒÃÏó®_¿þàÁƒp'tçÝï½»¹¹¹¶¶úé£Ç‰Ž¯\¾üçñgBˆÅÅ…Ökõ ð·Ÿ=ó<¿–¤o¾ùf½ÑHŸ³sˆ‘%TŽ/¥êõzûûûY–}ë[ßzíµ×8›Fõz½Ùl¾óÎ;¯¼òÊúúúx<þBgB|{A¢ÇÉ „!‰€¸û»[æw-”ð•ÿéËå¯/ýç:ÚJo4lŠû¿ºµóͽ«ÿóÍð%™vÍ´TB¡ 'uQ騋l,@KXåÈFR‘%0ÍDjGǪ8ÖÉHb–9 A#  …ŽçA82XÑê0ÙýÇ[ñÝìú¯¼þ•ùú!¼­qãJÅ÷îþÚƒoì­þ7«ÍŸ¬'`¬&°Â:BI/@*Ì·öSHÄ)”²ÐD¤çŒ¨8¯T*Œbo=77GD7oÞäLÌmŒ››c°Ã•+WøûlZkŽëBä¼kM¹\¾uëÖ”úoçæDöÆë| ÐYöÒ­[RÊ¥ååi :eÆ#v:ß÷Êå Ã7nd™Î²ŒË!D{². 2,°¼¼$Ä çs,eÔl6'›¦)6¡™1J)å¨8Í€€ˆ´1¼ÏÉ÷ýÈ$®ë±ºˆRòæ­Û–¨Õj--¯‡CD±´¼*• Ãr¥Þh6æ@¨µM^J²¶¾¹¿¿?_ã­å¥%›é^·+•g ªsGþFm2cÉ’´V«±bÑ×¾ö5V#¼qã?D"zûí·ëõ:ËŒ|áÑP @4F¿€ú<)°@‘Æbë×ÏÅK _w_÷w;{ÿ÷£½ov–¿riþËKd3×wa§y€,A\aŒÊU0Yœ­&¹R@fÒ¿v ‘ÀHSÇ¡#|0Ú«¨å·7|øðño|º!×çhN¼¾:¾wøì7wºÒ®,…ÕËi¨aÄÚÀh”‘B: Ìg%#å5ðLÏBÍuŽ2[:oŒÓÕUÅñ‚0&=¢ÈdiÆœ’#]­'ëBÎ@5²¿8“!‚Ö€d)".¯¬0Zó$Í…U~¸Bf;†3qŒÑÆœ|f®vì† ´ÖJ!¥’™Ñ 9BÎ/.´À¤¼ôPY@ÖèÊü<ÌÏ( –ÀZX^¢4IÞxùå°\!@ˆÅÅ^¿ßl6”낵k«Ë µ=<Çh  F™†Ì5KKKÜEc0æÒÒR¹\Î(»WæHü;jb ¡\×ýœ56‚ zïf[i÷÷UU¦÷úýûc Vjÿîn–Ƨ²“'J3$$¨tœŒF6!¼¨R$"@@AÊ #\ >’ãýÿûÝò­¦ªŠøñhxg¨ˆÔÎo=6žFMùÊM!1zHBsq Î'‘ìúeQaj¦¸=k8{Êa‚¼Ä@)¥#<äfÎô.Qjck~v“ëà¤ûŒ'ܨs²Á ”§Ä¹…Ÿ\™ÛX¾m%™²‰qÖƒ@ý8séæ©Zp/"t'Žc$@KRÈÞ ·µw …wTÀP^?ͨ§xÌ1·RJÓÛç»-¥”ÒÝÝíY²„9—å|WŽDä¢h–‚Fà"À`4‡ürŒ²êõz'LJ'‡‹Ÿ·øa‰±Õj~þPnÁ ZAwãÑ·r¤PJ¼óT€ÄózÛ$@øV! HúIòígùÕPªÑnv=žœ „²ð  +P|?BÒDšÊª"…p‡/Df`a$B"¤á¨ßÏÚ ¤%$‰(­“‚()§Z*Ãñ…:D„Ä’Z9ù9ÃG¤¡2=ÜÇn½8Òä3»H‹€ª =àC£Áü ­)˜ì÷äýg¬>ÌǼ3°–)¼ÁJ!¤”¬E@ £Tß{6䔄L€dùÔÖIMÖ‚ÍU²(1 ÉjB2$È"x€gs O 8UJCA(‘&ÂÑ Íåù×”M%Š  ~&ñÊÓÞ J!'çœAýÂ`þi;£x«µÕùùCæ/ª¾§ŸƒŒ> fÌU›­½èø€SWýðÃ굆ï{ÜÒ³†ˆÄ±õ¢y˜:?^Å£gïýîÿ³§·À¸d¥•@v8•Ÿ¿ùwÞºþWHXKÇ!GE(%äná(âÍDË —ËÚ|)±Ì ˜Ï%FøSœJr>±ÆüÔ¹7ÿ0Í,O™³ [qr{„İVI9É8HEnQ‚8 ]× Ã0Ž£8KJaMjF#'ð•T‰©’8‰Æq¸®WT$è3Ÿ9+š±K` ‘'± ÕâÛÇ1C_™ŠÌ#nα1Ì.ô<ïóÇaDTJÂiË_ÿÿ¯ó¿xÉãêÚ¥JXyúôe€Óщ}¡”ò,Ç^D¥² HŒtçSøö.t!‘@&!BXªÁX÷€ôd9=5€cYñ*Г0-DL’´×ëEQ„ˆRº,YƒˆIs»ÛuÝ<ÐÉü°(ßS %Q®ãˆ¢ßïõû}®ÜòËÈÐÅÅEF}Ÿ²œ@¢ ×u•äš–¤’ƒÞîh)qzCGÈÅ¥Åá ßé^zée_‰îÖöÓ4_Y*U«OŸ¹(´6ƒá@…a¹Öh.¬01ñ³²XÈZ´$Cx&À™½½½(Š|ßÏ×,!xãQ«ÕÚß߇ÕjÕZË?Öl6sÃþ<ÌÍ…f³ù?ñ®ë®®®^¼[VL²Ne5ÍdaçM‚Ù_D8ΰ?)\1‰WGtÈü;§V/66+*þ²·ÕZ/..ÎÏÏ/-.€Öóéý±í„“ ÏÀùbn@$²Š¤ç7‚èJP$HØ!èRà‚S),: ¢>YÄå"UÇãÍÛQ̧QJiM™|R)Õét¬µAöãú'ÌXÌP§ Á±’#M³n·Ë…"ÿ™ç“?ÞÜܬV«§ÎKÈJ)yó($¨–²fÐ; \ †ÒñÈS"ô= =èGF'Fgi4®TÃ$FqV¯×j•Я5ãLƒµR ¤# +&ˆ7î2{Œû™|D8zžçû>7Õó¡Ct¾°i5·ß~û+_ùÊk¯½æ8Îù¸‘“ˆ´SŧþÀY?6s…œ¥\ÈÔè´ÿÙ^ý"®d&ºL±VÈÔ®ápÈÊ õzÝq¦s !¸‰Â¢ujæñ?ŸR>íÕ‘’µ*$´YIúKá—0¬ØŒÆÃ¬6!Ô@3ÑF>§5Ì ŸYrHÌyù8{Šs²µZÍqTšêáp"ˆ9*•ÊÉÜ¡P£)( È™¶™ÈþÏZÛh48ÉäM™Ngqq±ÑhÅE×BØ,“Ž‹ŒÎÈ Ê¢\¶Z·üºhq\/˲…e™SiÖ¡¾')¤”—.I)¬µžã–ÂP&©¶ÆÐ‹Ôl–¬BcÑ +, c ÍÍÍM¥§äY­VkfõDqÚ÷9¿¸Æ–R²Èûs#ÕÅÁ['Íf²:sÔóƒÁ•ÿ19´iKè˜Îá ›œ™ßçL¶rŽG€‚.w¾}’m˜ç|óóó(cÔ‰ÈuRŒ¢°!éù 8–Ø´d „aÓ×­v'Ö£HÃZE*¬E‰g&2Ó®YáOqNóÇZëñxäûÞphF£QÕë ×uNöEžçg‹í ó×b¢,o- ðV«ãÆñ—8"C*%•P‚], º=„2MÅô&±âÉKw.UÁZ€–^´%@äk#- 9®Kd';ÊW4Åí¼óíxsä ¿ 5å!/"eµÚ³®ÎKÿ)ÿ']ÌYWÈýWQ$ä„ðÃév{þ7ÏúÏçf¹ ó_øÎÌÍÍÍÏÏ÷„®OˆS:aþœˆˆì)=ÎS%u&F8-AI7I£Nÿ~Œcj¹±jepÖ¨cò&HÂqJ=L…N¸ÝÉñ&Çqµ6Ãáp~¾µººEñáa{Fìö¬»6Óßž¸ä­fnð&ÑÑhä8ÎòòrµZ½wïÞɇ—·àØ ²Š²”¨Ax o4d£Î¯ËûÄ'ûY„Æ ó7 Êt†“ÔCYRD}®ØÅ9ø»hlûÝÄ 4H¤%ÒÏ%îÎÀ¹¿f >£©°éÑäfxî& …‚(çÍó<ÌòuƒA.·PL†Ù|¤ä©dY†a”ˆì9H‡SÏÿ¿Ÿ¯üœóí:>˜Þ"T§ÔÜ“Èsz²~ÔÊš˜/ZAàH´i6–~i}åUaU¦Ò4Ù(€æä@uBm#â­óùöqî'XþÆtbDGU1?ƒz½ž¦)mo?MÓD)9£hwÖÍ)Ž—ÏÉÇÊ]«ÑhÔï÷ùÏ(Š&üªS©—0‘Æ" ‚ç*_NöÄã¡r×ñ ‰Ç¾ïˆöÁÞþþþÒâb½9?SÄêlœ¥YÖàE&ÈX ".Ý>Ÿ|Ϫw¾ïK)Ùå~ÞYÅVtÁÓŸÿÌh4b˜O ØöªÕ*Kp²ê@þ|ùåâ8®T*“TYµZÍÓív™’1Ý#'ƒ“½ëÇ1»`!ÐkŒ8f4ÔjµjµrZôÊ×d9î‰ÇD¼Þ Iaó9pqùÐ9]èS+ X"cG´;Þ‹ì÷<ã!ªQ:2ƒŽi…@*ù| Ož»ˆÚ0tçàäé[SD@ÄO°(«p9ŽÃ´¤J¥ÒhÔѳ›fSšâð =³ý-`•뺕Je<sŸv?§³Î¤p4ÝN@Ä·@:B®ûäñã?%¢$IXÎêê•«‡ÝÃÝÝÝÛ·oÇã(Šâ(>ìöû¥Ri~~þwÞaP÷`0øøãßþá·/_¹ü"GxÇÑ´ƒpŽrß±~¿Çq½^çm D´´´”³Žª•$ 9SY¸½|N®˜[Z’$ãñxooù§/¿ürÇï¾ûîÊÊÊÕ«W|>÷÷÷Y¬Óé°µ—ËåÃÃÃ,˸¨áÛ¾¾¾Îœg>뇇‡½^«kkíÆÆo×:S*P" LµÑ¹2ѰҴR%$BP´ jÁü °»R;Hde¦´W£—„­ÊĉJûè1[{¤a‹ÅFP•1ùOÇqGÅqÂÕ§dÕj5 CÏs¹rÈqÞ¹¬]ÞÐ.\ð(çÿ9“T³Þsúâ8BÔj5ß÷…F›S9½4ÓvÃ%RJõúý8Ž“$ùðÃÙ’$‡½^ouuµT*mmmi­+•ʽ{÷x{ÐÇ,¥ô}qqq<ïíï0’Í€²pFqdRp~Óˆl¥Raþ=ª9eFÃá°T*q{-uv}ß¿˜žFQÄ»ÅYŽ‹A¯yŸóBqª9~xx˜¦é³gÏæææ˜cT J÷Ü¿uëÖÜÜ܇|fY«ÕªT*årèûáÖÖv¹f™~ôéÃZ½~íÚuß÷ŒÑ'à™”Kñ„£×ë%IÒiŒFƒµKkœE+¥îܹGѾñF¿ßßÙÙYY^™oÍDQT­V;íö“'O®\½zéÒ¥b5¿ët|f8ÓS=cX}z´üLÛIüûo˜,sÁsŠ.^¡o'ä[13ªÉw8•ƒÏ?žçy^Ðéô>øàý'Oml^"B^­1Ž k‰`Øm=?ð+ÕjfH Z÷úcr‚ ð\ß‘ s•ÂHËõ< GÃáp˜;S"€É^>dõ|K–P@½ÑðƒÀ+Žª!‚â/@ ÜL¢³Æ?¹Q’%?…!ËtŸ“ѧ/2ñ „y@AAÙô<­F^§„Ž£>úøN·7P®Ï†¢Žßô3ü'‡iš>xð²,[]Yéiš)¥>xÿï|õ+:3ô =fžûþË—/‡ZyùCLpú£ÑhëÉÖh<Ú~úÔ÷ýÑh¤¤Üzút¢ó–éÝÝÝÝÝR¶ÛíÛ·ooo?{ÿý÷ð´ÐZH’?~´¹¹áºêˆ¢4[î8޳¿¿? >ýôA©ä¥ÀZ;ûƒÇÏ(ŠÞ}÷ÝhYk3mooïïïÏÍÍ…axppP©V×××ᾯøìg‹ ÑSÃìI«.þÖYŸ !I)ÙžÕù„‚–È Ñš_"/^ؼ‹r–¹‡:-”aÇHjоõ­?~øé]ßõºƒ¤Ò\[ß¼üìéÃÞaGJG@*!­Õë¥R8j ëÈ, |%¼ašô“¥Ûœ[qýj¦)8=äb2´‚‰¡ˆó4:çÝä$À –˜Îb-ÙéHéHÜÐ!Ú|¾:dZ@XK¼ÒÈN7D–8“¨n‰&Z"Eœ©é_aÚ‘A†5ßCš8²…… UÎp¯TµÖg#ÁóÈi3Ø‘R©4Xí%Ó:I’ÃÃÃ/ùËå°|ppÀZ-µZm08Ž£”*—ËEüJ1ŸP”à(, !× !¼qóæòòòþþ>?¡z½^­UÃrX©TvvŸe™ž››ƽ^ßqœÅÅNc666Z NgЍç¢w¬ëºRŠå奥ÅÇu»Ý. ´Æ,.,–ÂR¹\~éÖ­O?}Ķ¥”çº/½ôR¥Z}’ú ð1jÄÅàxg!OJÛsØ<†Ås6Q†U&IR©TÒ4eõB˜®h`å c Cü8ó?ÁT÷ä[åÈR9Êu‡…Vk+\éݽg:K2€°ì/­,mn®+ånïT+Ak>xã•ÍÍ•ùìþ?_ÿö'ÀñJõ…$6 ß!î[¢ÇºÜÖN3ó‘5ÐiñØ-M@¹Í¥éf"k¸·@uÉk ÂÄȬ¦Ð– ïµ<œ <ÈOâ/Y"–Ȳ<£©"ÎÀ'É©%¢É’dD² ¤’R1ÎÔŒŸ9=gͳœ ®8+^YYaŸÍŒ­õk¯½V.—wSUî^;ÞG‚¦DRþÜþ½}û6LuLËkˆ£õŠâÍ7ß²–”òˆÀZ#%.--pΣ”+„äF”1„…}'Ó;f'GaÓÍÇÍü÷"††÷täÓ˜ò‹GjFk:M¤¹R),¼dóÖ(¢`«”‚È A$ådZÎ:uR1€±¦tþÆø=óú2ÞÀfŒqÅ/Ÿjž Á=w@§®†;5ά¡škŸ>™?~ýb«8‡?Õ€y2Ç#:¦ˆpXfÙ`îð÷™†ˆƒÁ€ûɼNÉ÷ý¼?ª3ÿ”µ &ûk„pQ TŽ«”§„§$ ®²R„µÚÚåÍ…ÕyõðÀ*JðÛ°Èã TBÚ£›‰B"oâQBqNj,Ã5…Aóê—ˆ x pb‰%ïÍ´¹Œ6K¨rÍ |i…à> ®I-"oÞÀI2/$²G˜®Z`: (L‚r%s ¼x`šËu¼ÕiÆyQ†¢´wñ¨å¤Ù¼™yêa?‚ÅÉ|ë˜Ý'—Ïåù¸/ÍNÇË[k;ݤÊ_c IDATžš/+EÀãÈ š©§Z!$@PÆjcŒR® zM.{jÙùÜm¬'¾ úìësf43Ï;ùæYº™¿˜±Ä• ön\'ó_8—æL$_}xj †,ë-ådÙ:i­ã8ž,ž'"ŽÛƒª[©•EœfýQçÉö΃J(‡ÃýgÉa;PH!%3âät’7ýDõ’iWŒ1R ¥c笅é ù<+ztêïó‰&›O^ùs’K²M“56< )$Ï·ŠàPm&S¡„å`Dd YÜGk=éa‹4ség¼9Û‚š‰~PÜnvv =Ka'âœ*ÿ0¬ºP¯×yâ2Eœ ,3†nMþ¯ð*Œ§F¹âàû¥J¥2Ó‚‚Ž­/;‰…>ëèçï°?ŒÐuœv·=èuW[«ÒñŒKå9%%…µOL/”BŸÕp>5—>¿qõÜ_/~´œÖ›¯bš¹, Vç©ÓYYzŽ$eëùhgù |ß·Yfât0LA¢[ ‡ƒîý¾Ÿé$©‡IF™õìþa»ãÀq&1–BM§OM8Ó’-'Ãs’M‚,YIbÖÿÒÜ(EÅ¡—:q¾±°¥øÌz&ÍÓZF£ÑhÇ1'Zlf£Ñ(_·uª¬Ô©QkšÈLðÓ«óŽã¸Ýnó „³Áñxì8jmíRµZ5Ææo“ïê©øP¢YºÕŒI HrxxwïÑ¿plg¯oo»rìT/—[?S÷¯8Â#2$¦]Ç0‘Sõ>f,óTžI†Ï¹ÿ§þå,ËÏññ/¦es–'úLÌ )™L8acýÕ…ÕMk²÷ÿâO÷íø‡RTä–*‹K—o³{ϲLÇNåÀ6¼v Ào­^«íÞ½ÿ GÛ¯ åjmYŠI#Á%–Ð’xäÐùD™iØÄ‚­æmšélb<ÅÁwÏc9xNZUü¯Ì?AD‘/·'Bjº‘ËsIî¶ò·Œ%"+鈿ÁUzþê9d(E@)Oóµb#µ5`{{{wwwccƒ[ÍÖÚÑåË—sî\L€úh>ÊÈwF!úýþ½{÷Z­¯_ÐZw:Á`øê«¯2Thjœ³øÐBçXILÇÇì?”ã%qöÞŸÿÆbåЫþâv·Û~ò‡¡ÈÜù¿t¥ôµy9Ef†ð\_Ù-Á³šLç$;§þúgmb‹”/üé=÷,,Qb1/68êö­Õ¾+8<Æqllfm&2ˆ½ý¶ÎÌ}üøpw'ð"êõz{»;:JƲûôÉÏ)¥qªµ’‚ Q¥")T©ÒôÏ¡5,æJ÷¨ò¡ÑÌ,m:û=’Ž)&E 8Éó)48'òìÛ'­r  ŽdZµM:Ó£ˆGí¡É››ï'ÊÒd;áLäîÙ9ø¬ß¼”äéÓ§‹‹‹¼ÐL1Æãñs§§0æðè)÷´2ÒƒƒÇq¸QÌ xÈ™/ œ)qÏÞB\ V1­Iˆ šÔ»ƒqÚT)Í•käÕJR¸dT ä”Öq › SnæI€ÔùáóIm§Þÿs®Ž¡žEè¿ÈN¦+ÎùÍdiÚ?xºýxëàÁ÷Ó$öå:®ò|”ÒQJ eãxëÑ žríÃlÝÚ~åÕW._½z÷î?üþpx˜ez@Pm.RÆdœ‡1ùáš 6Èw‹æø–Écø³üÜ[K ‘ ¯býÂ=-Kz‚X+Ådj#™Â7Y@{´òžûXŒæ0vâ/"‘,Êe寬f|6÷¾ÎòÍÏ%XpYÊWb¤GÁzÏcÛWG€c…<‚›áû8…š¡µÖu½r¹¢uv¢ð£|—x‘´À] Šj•èZÞ˜2#­tZZ±ZíØ*¥ÇeŠ`€A6iP#k¬ÖY–¤V›óGÃg«Åûs~T<«­p‘jå ¼þEÞ~Ÿ=Ï_X\k.^j4£á€ ãaÜj-4½½ÝÑhÜh4P`¥\ÞÙÙ1Ö–K¡5Jc7 êž«vŸµÏ_Þ¸´°ÜªTKÑpÜë§ÝÞhumãÚÕƘñ¸ÿɇýžç•FÃn)¬€S"2ÊØ*¬5DfjÀ¹ÎÎÑ ž©üðé–…â¡ñL9Y HDvª— G=?VH™Î•&©øTgGP0… ¼ùK¨ÙÇÆ£îB*gœÃ#©j)=¾±2,7—–Ö­5Æ­ŸºB(kõ¤ŽÅ3á^Åv_^©[kQˆœˆ€(!}@W¿Ñ\ ‚@ Ñ :CDG‡[ÆEyYB…Hy:o‹_K(tƒJ)K:žØ¯•µ_ È‹ö»%Ñ p"¡%&ó†ÂòÇ6ÆZk. áøÜjâülùœ–عGÏi=÷úŸa¦5áJƒ’A¹TK …Tš’rÐï--Ö´Ö:Ëš†1&‰ãRXÚß߯Vkk—Öž>ÞŠ†ã……VJæà°çºNsqI9A§3ðK¥ííg݃öp0´Fß¿¯årxõÚÕÁ°÷øþCG†”tkË—”‡ÖX™‰ºäpU¨isKÖšcš$Ó¦g±›CàÖ‘qåµlÞ\C²†Š¬5KVð˜w Uà‹0´[1%H/§ HU¾š:1~xN¬8îbù¹aL6zJéVÉë¶·­µB «Ó$NBß«MÀ+S±:«f+¢š&“¸\8KˆTwtüPa›Œí¶?î $Dà@'AfƒÓÄœ¡ð tÚ‚rÓE $‰$´eéŽ5ƒ…j{­%³Ì‹‡bo¿¿h÷æ«W€Y+kµapÒ}o:ßfž ê¸È/~Ö9óÅ‘^§N§ÎšJœ^Wµ!•@H£8 KŽã4j …Î$Ñö|?ÃR¦5 FQdtöL‰g϶k•ªç9[Ÿn)ß¡ryEÉá ßí–”ìõãh< â$~ôèÓ¥ååÛ·_j4ªýÃî³O·ö\g”’AÏ)WÊd Ñ%ÆØi‰{]ÉA]t¼#²,µRà¥MÃä[o.œ Ÿ§…táš*¿‘=ŽžÈ­”àØà¦è5&/²‘ ·žèy¾¶p¼€ÀJéšäÎÎÓÿÃ¥o¯{J½ûT“E²P ÄöNÕ˜¿uóæÏ£Œ-W PœÓž Î¸@á(èïü~¶÷k—çTÉöýhœD™€;ézîߪ×W´NŠE×twpj̳Ç1CLÆ"…®±rw÷Ûvø¯¾´m(Õä©’©Ɖ!üÖÃ;O[­ÿu±þ=MÐ3 ™3¿Ê¿ ˆwuö >‹hÛùÎå9¿ŽI:îîÃ(êY„ý0̲Lk£€R¤i–¤ Y+FÃáÝ;§Y†å'Û†ƒã{(¥5V*©³ìþ÷¤€e:Š#Dxç;ït:í¹jµ¿ßo6W¿ÜëDãÃíû±çº¥°T_Ú”~Õd)£é gãp,Ìi­ bÆdפ‡Œt| •ó´&çm¢ 5E:ä,ÚIJYè‡H)µ6Ÿ"h²½ÈÀœmKާÐ3c±s‚pÞ@'.—T –®1d­’–¨Û¢ã»NÅ’e@ˤ_~¢Ü?uyÚ,Y5[±x ­E6Ó>Pj Ɖ MÕnQÐ2¿‰Eqã9üñ*-D¡dilÆy• ’iW€A#lb‡F•I k¢,MÈ>E÷ÛΧ˞ŸHCAîã³Zoš¦¬3|~{B¸ŸÎªOÆç Q(gDÅû{{Ÿ<.Wڒβ"’o˜òLmšöû}"+p vq­±(ƒ–¸(ý¤óÞÇï}2{õÆËïWþnÿá?üÕO>¹c²4¶F—ç´ä¬;šJÂàŒd|1Îwô±p|òT)æ¼0ïÕjÅd' ÍÌù§0AìYfš»G]4R3cÒ³"ÄI`íôÿ(Õ™[ÚÜØüÛû{}@‰J)F¥¥iZ ÜõµMÄÔRàÚbL˜yÒ3Ùo>ûš—MŒ¨¬ýô¢s[GÂáVˆ‘°–––šauÞØ,ï=®|Ìž¹*Îü9ÌKA¬ÕRÚFãZñ¿ÇÒH)‘þ¿Ú¾­G’ä:Ȭª¬kWß§/ÓsÛ;W"µKQ,–ü`@² z°`6lÀ/þþ†áß`~0lCzòƒ² ‹(J´¸Ã¥–;;3;3ÝÓ÷KÝ/YY™qüp2£²ª{†Ã•8 ˆÁNuuUfFÄ9ßù.( ¢@ÀdšT«^¹¼=î‡Z'°ä¦ 7/D4 Xà6 ¾IÆØ|tÕõý+ÿ߹çÔMA8ùñ¿Úå¼yž·ººúzÿô7D¼þVDÅ(„” €,‚̈Ç)šÄL:}Y “º§´ ò’w%ÝêåzEI ¾ýëÿ÷~ïw>ýá_y À ô¤ö‰ÖÎg_½ùÒ×­7k--LösîeŽ¡Dó¼®ì?¦ãÉ\—…€ €¥œ7`úKy¦TãdóX£›E§86¡%P7Ìúá•ÓEfÆò»xžg´ÌDÙØ¾sk»Çƒ~•JÅ d­Ö€ ÀãTÿÀÞhŒ†ßHÒrzTý³‚Ok]«Ô×W7MbâD ÏSŒø*°ÓxSVK!ã$fâ;W¹sª³²¥B ò•/µ½ûw¢11‘UÊgÁS¬“8Åñ=Ï')¤£…/d5¸šJ)Å,"H$ ?ˆ}%ê•‚1–Åz »,ÿ¿N’Ñx¬”*—¡@xD‰˜Nu§×©×ê×å™yôQJ†!+ÆÞü¨=ö&¦<øJÕHJW2È‚6ÆZÁ%ž0Ø‘nÀ8#ª¦o€ý1²øV¢0à•ïß¿çô}ŽzÍ& ©£Ñlí¹…qä;kw­cižw¼Ð©eh“Í$ƒŒ,SêvD$¸—Δ¿éØSþ%I)¬±Ö·Cå3º€Ø…¸ÑR‡M¡^Ń»¼¼œN§Íf3Š¢£££¥¥%!d9JAñųÓ(ŠÞÿ}"úüocîß¿DZçù‰N†ƒRÞ7¾ñÁéé)V*Ö± T¾å`ÿÇÓÓÓz½¾ººúôéÓN§³ººª”ܼµ‡ýÿ~xïÞÝ•••‡V«Õ[·n†#¨M#"ÚÞÞŽ¢èðð0 ÃÕÕÕb¡h¬á$žR-Ÿóißï÷ëõúÅÅE£Ñ‚ R ÎNOµÖ|ðÁhÐù›Ï?O’¸X(ÄIR,vvv“QÂ.³Õj•Ç!kkk ¿ÂY1ÉåqoðÓÓ¸(éWß«NÆÝ³‹Ë{÷î½|ùR)EQ³Ù¼}û6óRã8'“b¡ ŠÅ³^8Ñ¢êE#‰¢ßïsy†a’$ì5ÅfClþårùƆ¿ÕÄÏ­¯à:$X$H ›·õÊøÙ$ÀÕÑ¢äñN>ü5Í}âC[€RByß3±žÄI‚3¤*…#2^¼±vÔ9 Š2g’”˦ÇÑ‚å,&c‰@€þ””À’%0<œ!$ M}æÛk­ ™ Òæ])æ¤W)Õív;NEgggƘóós~ÔÎÏÏ„çççœàÂâÁ““ޱ¼¸¸¸sçÎááa³Ùìv»Ãá°Ýn?{ö¬V«U«Õ·ß~;ï°ãºŽóóóv»½¿¿ÿᇞœœ¼|ù’ˆ&aØë÷kKK_}õt÷ö®¢Ûíj­[­V¿ß7ÆÖ¤ ƒ¸Ü¬ÕªÎuÀY”lmm¹Dní¸ùÿÚuïkĉ_§NO2  $2I,fßÍ£€˜£ß¬æàX›ºÀ¡€h-hÂyNu§HžãðÞ(•e’Rn\‘SÑ^C­%j˜lÚ DA¬ED$¤µ %K`1[ÒnÿÍO•g,TkѦtËTr}rࢴ¾ÛŽóg­V«\޲EpÜt1bT(øp‚€Ÿ¡r¹Ì?²½½½··ÇÕ¬k0æað´Z^^fwó+«å ”JV£¨±´Äzc®ÓÄT¥˜ƒÍöè.æ¨Ý%ð”ÚÝ½í ‘h]¯V­µÚ£µð|ÞJ¢(bLŽ3>ܺâÏæÎÐZƒ‚, ò ßÞÞvA|¥(J) HeH›+›¯‹~SK%$™ˆç·ÿëÅ*+ã^e‚õšøUÈó«°è™Þ¯üW$þßÌzåÍäŠôŠéãâÜ SXK%•(¤8ɦÔ+ÞméZ樴R) MK‘22ƒ¯¹¥•9@ f`uúÁLnKÂüÍÖâ(¤£OqZäz`!0uŠä°¹œ§,åŠ[þ»Êº·\ÝÎÖx.Ïg6+›%²©d>á¬7š)¢š^w»_gÉJBHö›‰^ÕQ¼^|ã Ü‚yÔáðª×ìÜ?“ÓÔ4ØlL˜>Ž6o¾•{Ó&*Ë- ²Æ%«5e>b ÆäVõâ7Œçc.笵 Ø"ë÷í¤”:IÎÎ/¦Ó0q©Zï ÌêJ“ˆÎÎÎ<Ï[ÊŠ GcH’dyy™¿>çù¾Ï„{Â|ßwR-W.l—¯9â^¿\¯ÓË®Œ×™ô*ë“´:%áHÒ¯8º_å.òJ،؟ÕZkˆ@ÉÖéŽÁköÚÈmfÎ"a~,ÙÜ\Õæ´‡3áOúfnõf÷ÝÁr)-óˆ”%ËfWv> ta봙ø’¿° ²¹þŽÆ o"ú}ýŸE‡ôÇÍMJeʱ"Í#òÕŸùpç1&c‹ìùAV%kÍk>gþ/.N-H릫c‰y$¿ÌMü-‰îóO=ó…^ûXWÞ3Öžžž~ñÅ“Éä;ßùÎêêêË—/£(ª×ë£Ñèüü|}}ß§P(p„×ÆÆÆ‹/’$¹sçN¯×«T*<-ËGo¾‰Æøë±;Þðn8êù ˆ‚€4Y¸É rÙü*ÊÛkϸJ¼-[ †ÐjALQdÑ 0(€!kÍÍܧ²d…Ír1Sgç\²³ ËuË0™“ÇQVxK@^uxC6˜ÍÑ­{BÆŸD[D”Ö{¤oR#Ýt^åú‹þs}_p±tfeÀÎ`Dù9÷á)Ûë‚Í6m|Ã/•!F©sx΀HÜPÊd\„étšÏCà§w<ìÇ£nic³gƒƒýƒv§Õ¨×xGDÃá°ÛíŽF#ÎR-—˽^ÒÏ{â8^^^Ž¢( Cn9†“W8S¸\í4ˆh/€Y×ÎŽŒÀ’µÆ’µyÎ÷›•ˆ<} œbNaÙê㦟2:…ÄŒ6…Ba}}=óÖ»¶¶c2kÆód¨I±‚³}ÝØØ¸ææ… þLù˜¸ë­¾Þ†ú f_½YY—z(c&raó…<~ùæ' k ‘ ‹(”çû¾’ ®gsÚìäöX°°æ¼hò6ù‹ D ƒÙÜRŸs±Âœ\çšWq9_üç=ÆÓ×P–Ñ{V£¨{Šô0As‘jƘ““­õÊÊJ§Ó9::º{÷.C&Ì ò}_JY.—WWW{½ÞÁÁ“7x‰²K8‡Söz=k-ç°8Œ²”M&0œœœ‹ÅµµµN§S«ÕàððÐZÛh4Úí¶µöüü|8nooß»wÏó¼YžÃ|µ#²2(ñíìÏÏ+šMK/"@´ 2ìßùJƒE¢kclOI÷ ¶/ <žu„s”Fj«žZbÑ Y³ç¿ü)„¹*ÀÝõ×X/äÇìo® þE¬í¹„ 憄ÍéÃrxïus¯×'E¥E©$‹ mÊNs3 ,æ-+¬E>-e¹btsÉŸùÖZk ç¯H!øDp·c暘•“î¬â“3 ÷¯×§0 ,ˆŒÐÅÓcGÊ‹.ÔLp—=W(Ò·ð<¯R©pÅÙÊ£Ñèèè¨R©lll„a8 „£Ñhuu•ˆšÍ&Ÿìý~¿Ýnó9¹¼¼ ———I’DÑDëäää¤Z­Ý½{÷êêr:ïܹÃqÒµZm´Ö××K¥’Özmm«D\n6»Ýn¥R)Š<‘æ£{ÃÈ=(׋Ÿ7~ÎfJ¦|gaA±zSXi¬‚½Æza?q¦|H!¤Ói<y<žä¯íÐX¥ƒf‡&Ž¢ÉÚꊒ«ž¼²Ô=Oœ¸ÍÛchä_¹P¨³kgŒ‡òp¹IDATü3‡±o('„›,“nžZ¥àjš–“惹a½à¬ÜÜèÆ0Çü&Äï«uÇI¢5A–hÕÆø"0fšÞüGÍ˼2ÉuN¦B°¬É¼oЩÙ‰ˆ$ ;׿‡^Y©/²à{ý8q Ê<:x¯Ï;Wç[åÊ÷Ùî•Ò<Ì(‹ìÏιìœÄ»³³ÃaíÖZ®~¹²å ó¥yñ³gkkk0Äq¼¶¶&¥ZZZª×ë¾ïGQT­V¹r®×ëAP* A(%'“I¥R©Õjårãp¼±±a­­×ëz/qFN_¼‰î¯ph¾Ö⦩˜5Ï®uAD`1A®„^$æŸÛ$I2R ~=ÓóŸ°?*LÚ-sù½Úµ;¿»¹¹;ÆûûÏø.¾óÎ;Õjõääd<ŸŸŸonn–J¥n·;™LJ¥ÒíÛ·•R=ZYYaò3³åVWWó¶LÜžÀkMs¾6ˆõµ'©‘<Åse‹³†âŽsëÕÌŸäoX#¤Ð4ÍašÀHÊBçB™6³–w„Τ£2]¡ËdJÏp˨VºöÜ `]„é˜jqòÂõ)ðiɦ݄ÛGàšœÊOœ‰m Ž?ùä“ ˜ÄÅ3“¨ò‘°|-˜*3Å´‹b\'I¦ÆP¥Rc›«x:å2Ò23 :r±w|• …‚2ÑÉ4Ž=Ï‹¢¨X,ú¾§µ‘™-§3œu»çu4Ø ÏæþÁ½’ïGz+pæ=›]cÓðÌ*O_s3fÐZw{½AÐ\Y#QŽxîЧýÓdÿ{ÔX9¹8ŸŽû'''Ìñêõzý~ÿÑ£GœzAE§§§\ƒEQT©TXæÑjµ˜©Î.óF!Ë+{•%ÝkÊæ”è5#Ù×̇fYN`PLý¢”[*`‘Ð!H!ìÅÇ!JB´1H¨ L LP CÖ¦N¢)\d­«éfE/€É8ÒOóºWA@†å÷–'Œ,¤L¿½°)À¬ÇŸ+%(³aå²™¥¸ÀÛŸuŽP;çøIJI"üñüÙgŸñºÍtÄîü­Í[æÞxÛ²ö@jú¶Î½€4d2Æ,Ó-e Zk  R°gwj•N (Ã;ºÒ"ÛDg(ÉHÜPzJÏ¥s6˜èºÐÜR…9òAVƒÉ¼iŸ6F'Éööö7~éC‹0Ckw¶óS2O4Äíßñëƒ1øžW,ƒ ¢0 /ð<åŠL/çÁÒt:‡ŽŒ ™ïG¯×Ë—ÖQåRÚh^ö=ÃQónØ9R ä*:réE7:aå븪㫨™ó#S,(wÏ0KØu´08W½¦JÏp BRdbB˜Ûe¤«µo‚Êr,+›Žís‰ðü…R}‚eq>HHÆ:Îv¾ž èš/ÍDDÌÍBæ·ˆE“üN*R&VšâÄG‡ò ð‹ƒ!çÅ'"wZ¦õCv¥nê]Ù„Á¤#\) ›²ÉíÌi=+vráO9 ’@Ò÷”kíî ïª0˂ĔKkÉ¥Cjž&ý!̆ÏLR0 m ))•R&Ö³€yÝToYõ.’¾­G`Ì¿ …Â[ä»s)åòò2ÿ¸6F)I–ÄÆ†£ã­1ç܇ˆž§D¶™a6}u˜-œ¸Ö%bÜ  š¹‰d¦û¸p/ß……žrŽé -dVR®^ÊL’¥`ùU˜Ç‚ZkY€63‚t¡vùõš¦ a-I¹˜Ú%¦©Ý.£œ»a~ìįG´–,ÎÂd¬É´„&“B¢içœjbnX“G"¯µÊi­æ¶ÞkàÜ–“»SsêN$Êãþs;<¤¶Ô¼!ñ©%®U²ÜÖgTe‘J6øe‘²=pah –À¦ì+ÍW×ZÁkŠ9%&Íì„@)ú ”dÄ Pæ;ë¤fÏ )s` ‘0"f(Ÿ–S/*–ŠˆX,”îÞ½¯§I/$ˆBZiÁ$‚2r¬£“9Mâ̦“{ì9#Qwµ …ýpv„»ß\÷‚Y;c3ßű´ìw[K‰;3³xºZkL’}›I‘­ãïeæ!h]Ña²Œït'ˆˆ°h¬Cy[›ôlM+¶Ô‡ÜŠM}Wg©° ®r’Ñ=ÛHÈæz`· Þ¯- 7yÊ-ÓÌ–U0üR¾XC›mi®p‹–ßÀ |aH¸G“ˆÈ`:×Ëóæøk(¥t’€àV®ñZD‘ÎÚŒ¥t;”ÀU‡R ”BHIA`ÖC€E%óNôîF @É.¾|oðHì>d×΂ôäd}ï{Ö=!­6B SïAØDDZµ(„¥¤ç„_Déƒ5H&5Ä3†9!Ü#ðšK¿Zªñ±YÿA˜+õ‰(щ§ÆI"¥p7…ùCæK–'œY>µrß ²H ‚ÓXKVÈÌÄ)?ƒ±–+ üžèûþ_|†¡C@²ÇΈœÂ–¡k²{Aˆ9x vs@Ya5ia5o[ùî—7‚aª @ †÷¦Ô Êӧ怕4T) Œ·×,#a_F(q´š3¬$óë$qJ! 3LrÜ{˜rCÀˆ€*ß)Ί˜1™º@àh_n¹; #å:rGtÀ…waÝæ˜"µ£œ};¸gòvíù¨QÏ÷ã8¶@*}ÄSŒ‰7Nææ¥M>‚TJÊC)91ŽçKίQdj1Ǹ"B¶ š‘‡Ò£\Ù3;£Òo-•”R Æ“OþÏŸþÏÿõ¿‘u¡üøI!ÀÄá ÏÆ.ž/+•r¥Ö¨Ô›^¡ŒÌ¿¢Ù5œIv²ËÈëÅÑéˆÀ¸”|Ž)ì™`ñ¡ÁRk‰ÀØôqõé©d Zc-Ÿc©˜Öé$áÑ©µ Yâ@YhX.c)‰½T*1ržc2@Þµ"õb ,¹˜òå\£»;†N†¹€6Úä'´œçN¥Ï0H)…µ¼£1¸æ¢4Fp6œ„”h Œ©bgféÃÅïær(ÌÎØ{¼)àœqlž¡5oψ…Q±dÙ_vÍ|…õ*©æºMáê©ùW"féW Ÿ„ì6dE†ë" !)‹– í”J4¦…bÁX£ãXCzæXœ}\íô'J' X°V$$’4šÙ ÈÑ_@*™æ7 sÀ ¤dÖÅ tQLͤ¸ÉTÉ¢_’Ò€Hh­a@N@ãÃxf¾R¥rP[nÖ›«^±,A)©ÒNAIà1f~Z–­=K„ g©`¬aCXkÀZCi¤µ×¥™=,+¥T‘e9KÝf¤_þÚ2lÂÆ×ˆNpFiP8‘Õ ÄÓ¼l+}M*ËòtÉÍã±o6j"A„ÜKdè¦%±ØRñ&ìÖ¿¢ÄFQ†ÑdôÎWAÁWÞîŒ'V€å~‘®7²VJ™.`ÄD'ÂÍ•ô2óáÊšÚ€`I9%:¢BI“dº¹¹yïÞý(œè$Á GDcµ7Èå2uJ -YkIHàu±èÀì0Ç!åG HdûÞD'l¼šÙñvàÐJŽ5²Ԩ׫AeEãÑ(apeñÒC!­5i'°Q«骖 Mê|,ì¬ó(Pk­Ë—‰ØXÇa2õ‹%OªN§3][_ûÖ7?ºsû­J¥òøñOð—߯Ֆ4y^©^,©^÷*(W`Øk—ƒrci©×ïWÊÁöú²‰£iK¥”RŽºo½hŸõ‡}O•,™z­vrr®„·oïìü½_B?}rtqÞEa=õ•o-UƒàþûKÓ:9L»è{²¾T€i-5›aöûýfs5‚n·ÛëõX:Ãö:žçñÐ2 ÃÍÍÍÑpN& ;­­­MurÙºJâÄ=¾BcM'‚Èú J¥Bµfj•àÎ;ý~ÿ«¯¾ÚÛÛC„££ã;wöJÅÒÁË—ž§ØÝ(¶·¶Æãq«Ý.—ËFýää$Šb™ŽyßTÀžLeØïËÕw÷*0m]>kw¤ò:q5^¯Eß/Ôkõi<ºR€R" 'ÚˆZ½ž$‰NôÊʆçy‡‡‡ÖÞ3*•Šsa½¾”òìì,Š"‘¦x@Á+&ñøÉ—?}k›þá{k@ú°ò×WW=ݨWËåòúòj'€d´ '“Fs¹Õj¼üåoûÛ~ÑûÑÃýà?øàƒþÁoþÆXŸÕzØLüÕí÷ï¼÷n³Q~ùì«Ý½Ûø“Ï~Rk,½ûþ‡ÏŸ =ypw×ÄQ¯?(•JÅbÑõñ4F½¥•ÒîíѸ·³uçÇŸ«çû_¾óÎú;ïo$vüø ÿÓŸþde¥±T¯tºçÏÞ~ûÎo|w¯×þòð˃§>xë­ûW-766ÆãqE­V+NâÕ•ÕïÿûA,//×ëõ­­­V«5èúý~»Ó.ø…^¯Áp8äÒwŽ­£ÑU«U‚V«µ¶¶vÿþýGµÛmÞ‹¾·³½»²±½½w§V« ƒýýýG­®®ôûýápxïîÝ8I;î;ï¼A§Ý9<: FÃóýƒý}O©Ããv»S(”¾ý^ O>ø×¿üÍoý»ü¯+ÑÅüçÿòý?ÿ³{>¼¼¸‚`mmíüüœ \¯®Z,ɪ”JåRñåË£Q8N¬~û·ÃpÒëöÛíöÞÞÞ‹çÏÇaA¯×{÷Ýw×ÖÖÆã±1¦Õjñ ö÷÷™Ùf´.y§¼vë²ñvc³|1ì·Vj;ѤqÖpçW÷îÜñ Å^¯wvv:ïß¿¿±¹Ùv»ÃÞöÖÎt‚’@„®­¯¿[yïOþ䯮¯ŒF¡J¶Z£ÑèÁ;oÁ`Ð_n.‡£q¥R©×WW—¾|t~rêùþ0{B<üѧÍÕÆÇ¿ö+–’ýƒç­Ë^¹\ûøã”R'''këë­««~¿ÿÁ}£Ž¦ív{ggg4õ†ƒb±Øëõ*Apqv>wvw½Á­­[AhÐùÅÅógÏâ8¾{÷n½^¿:>F/^¼ RI¢Z«N£éúúúîîÎÎÎÎýû÷?ùä“ápxïþ=OyÌÿÝßßÇÌá­T«Ó(úÑ~”h½vk<åÕ*AçêÜ÷ý T âfsI)õôÙWÏö_<¸¿?èíùè¼|y||ì 6…—¬±I±Pؼu«^­wÚíýƒFSsã^cï­étzðÙ§µÂô_üþ?û­ßúÍ«v§R«üÑþÑ_ýð/_òäâÿNW;·¿Sûô_bwe;ÜìÙ‰!¬Ö›ÅB¡ZþjÔk_ ûrAEQ”D“N§Ã.kÎ,) 'Ïž¯îö>øµVqR:8=Ü?:Q—ÝÁxòtÿù4žŒv%>$Ò¾*ކá­uCÖŠhöŽOÏ ¯MR¯×½b¡7czƒA”Ä—WWãI8Õ‰_*ú¥âóƒýN»-¥z~pðÕWO?xÿƒr¥Üîu+•JëâR PžBÄÁpx°¿a²qã ƒÁÀó<%Pz¾ªëZkMñäÉãÉ$j·»ív['úóÏ}õì,//C''gWW­Édz~q( ÅÂåUPv:½n·çû“¯±~1žŒnïÝ.zÂ÷ª#ýճàº2ì¶¶·¤”á8‡c.ü’$9;;Õ‰ÙÜÜLâøììÁ)’{½ÞÉéi»ÝVJM§Ó½½=kíññ1Dãñ¸Ûí¶Z­«««z½îü‹³ O¨Zµ<ÚB¯ï…ãi{]\ö»®±€¨^¾<êt:“É$Š&ûû/>ü,Š"káËÇK¥’ýôÓp.--…“I½^k·{ád•^¯oŒUJÅI|xt´w{ïªÕº¼¼ªU«auýÖÕÕþË—ƒ^ß/’$QJ‰““^¿S(zI’ôÛýãã“z=´Ætƒv«¥”ºè÷ûJ©ó³óóóó½½= §Qœ$Ýn×Z[«ÕF£Q0 ²—­ÖÉɉ[)W*Õ *uÕnŸ_]ŽÇãá$,ø¾@ìô{Óh: Çq’ø…B§Ó1F{^aÿh8œ´Ûí/ö'“±”bsóÖááaEFãñãÇëëë»»»'Çǃ~2™9¨øÓ/Ÿ<ºµ}+NâVëêèàåüÿérúô;ß]£rRh˜h:\mû×¾õ“/¾|r~úè o{gG‚i©hÇKÕbÁk‘¼Ž˜ „¢«V'òŽD±Z)ãþáÁ£Ç?Á{o}°½»žè!Y‹ ãçÏO†cU*6—šëk+ï¼·>–Ãý'­ƒ‘ð| ë ΕBkÃN¨¬“zÿý÷“$ùòË/•Rlé†a¹\ö|ß÷½R±tzz*¤ô=…2\t1k’K>²6N"RRlïÞ¾µ{ÇóKŠIra¹¾¾^*¯Z-ö¦ØØØÜÛ»ÍÆìÒ¬TjôU* …âùùyÇo’-rƒüMÈ^ûòé£ÏÍúGßzßWöo~úòñ³ÃrÅ×ÚxžW,2(Ò°ŸA¢õ4Š …B¡XŒ¢ X@‘š¿&Iâ­8?á—>ü¿|ü˜Í1-_É$I¤”Rˆh:U(ÊA±Ýíîn¿þÁ-4öxÿÙŸ÷;Ó¿ý+žç=yò4ާ¾çBE“pR,h†,‡J’¤T* )­±ÚhDáû¾1š¥Âla[*•â8fò97ÒÆ­ÓÄ5J¥’$‰óHžÄq±TÚÞÚºjµFÃáîî."žžU+•8IzÝîöÎÎöööÅÅYË÷ë­·Þ ÃÁ­ã(’R&Z/--•Ëå³³3~jy+ ‚ m¬²Ë+¥$²¾¬¬¬ù¾wtt8ö„@OyA¹ÌÖù|õŠÅ"ÇÊ8á»1¦R.#b†~¡`¬•BðƒÁãä¥R ˆÂÉ„Õ`üƒÆ˜‚ïkYBÛjµ¢Ñ°àßÝû¸ZÛH”7ìœï?3m./×ëb±ŽÇ/,ï•ÿå¿ÿíûßÜúÓ?üô³Oºßý§¿ÿO~÷}ùÕ‹¯^œ\¶;Qb*þê7îolnh+¬Ž-‘1æððpyyyii‰aÏó†ƒáýïÿ#Âýßûçßl,U.ÿÛüÅÿBÚÍgÁVIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/screenshot_gerbv.png0000644000175000017500000415564213634703632020525 00000000000000‰PNG  IHDRxv"‡…sRGB®Îé pHYs  šœtIMEÚ F™! IDATxÚì½y°%×]çù;[î™wy÷­µo*©J»,-á aõ`3ƒ™ÀLCÐÓ¢f! »a #Üô´wãfh: ƒ¦=˜qà˜˜f0ÞÙR©´”j{Uõêmw_rÏ<ÛüqÞ{U’JòLɶÚ:dܺïVæÉs2ÏùÏïûûôÎôÀ{Þñþ«ß(æÝ´THÆ´¨¬–j„¸+w Èz%c$<À¢²Üjꆫ0VE&µ5¬­šyÙL@Ùì¶DYõ4¸–ã5ò}ß²¬<Ï€’e™eY!¸ùRJ¸UAaŒcJ©ÑhtðàÁÍÍÍ0ò¥®Ò,vlß󼺔Zk‹¹RJZ#  PHj øQ2™î[^If±cY£nii©äõ4ž-./¯m®·–%%¯eÍ™RDÁk,a¥m ;÷‚@ïý ƒ´óÅÎÆ•í Bm P‹d08tèP¿ßõÛMl‘ ×®,//+¥šŽÆ‘ë0Æâ2—è—&€(@XÒ€$‚š(‰oñ{Œoñ-Ö;gعSWdj¬÷>ïýU#P¬!¤kÁ9G”RÙB†°eY¢æiš" Žçj¤n´‚ùì8N·Û]œ_¨ëºE[[[íf+Mcßqí4—¹ú^­ôMÿ¼é¯i  ˆ¬$‰€¸öx6 \O•u9š=pòTÿÊõc‡a)ôš;ø;¬h`µ‚¼Îüs‘ÖEé»Ë¢*U²†–ß®òJTe+ Ó±u*… 0󲪎‹™å‰F‡Lâ«@R¢Ö‹Ë€ˆ´E¨”¨Ô(—XJm íê AÔ]/øvÔ¤®C«R¢Ú ,‡ÕSU¥˶•‚¼,4"®ëJ­À¶YYæï¯¯¯­,- .[ÚàJ)­•©µn6Úy^¤@UŵªJ¶Zºˆµ–Zk¥”ÌÐEѵk×<ÏÛ¿ÿÕ«W÷ïß?›Í\ßãœ#B„žçÇc„P»Ý.Šb2™4›M˲²,ãœ;ŽcY–Rª®ë׵˰ҷü> í­­#GŽ\»v :4 Á@i š€k­@ @i¤Ò4†ïš¢ÞQ(E4h^ÕŒ1 S)%ÀDk*¶ªQ0×,Ú-Qá*-—ç´(,K¤ÉQIäY‚1ul¯Š8Q)$CÀCRTE‰A»¶ÒŒçÈŒ9;c¼&²Æ–e+PEaÌcJ×Y™1Æ2=ˆA k`ãY½¸8_L»¦…x’Ž»—ó<¯+­©Å™U`•#^Q©å›$Š úÓþD¿Ê÷„DQtþüùååe°,«ª*BÈíz¿,Ë’RÚ¶mN¸½½}çwæÓ8PÙ´Êï|àÔWÏ– DQįuü§JÙŠ[R!P–Ô>‡ÌR×J`p6³ƒ­Ea³ºRuRÔ¾½`äÙá¤pÄk½)‰pEQ8¬A"{Š*X‰A#صD°œŒ *¡`gbTAüú¯ÿºeYW¯^ÕZŸ>}:‚~ðƒ¯w›‡a˜$Éþýû?ô¡L&“4M-Ëj4žçÙ¶= Ì7†B^077Ç97l€†ªª¤”aZ–Å9ŸÍfa¦i†¡Af-M)EqÎÍ­5ÛRÿ²,Ã0BTU…16Ä! CcyŽÇã(ŠÆãq«Õ*Ë2‚ªªÂ04 ÂàƘeYEQpÎ˲,Š¢ÙlRJƒ ˆã˜1–$‰á J)óv'IÂËóܶmsÂÙl¡?qE±¼¼lY–ÖºÛíVUÕ £›-aCL_S ¡?5ç–©¼ëû°äPI,%AÄ¢®L§¡T>Ý·ØLfcÏ Ú ×ºC…©R iØ8°‘Êg£tF:s#y] ЀÑt<¹ïä]Ÿû>CÏ}y4‡¶žþêuÇÝ®õHÑž ÐxQJ3Rz8³%Åy§UåŒæí*lÖVPÕÀ§EÕKeÆ­GÁ;œ`?ŲpŠÚIU²„ÌFV‚ÏÆ“JðÈ‚F4OÈ÷@Ãä– ",AWyÁÛ³´ÈCÏ/yN²mV–uUqß‹p•W€1!L# RKóûN#Kr†‰àœ(plÛqœétêû>¡t–§Nà×J¼¶\)i)d¬û—a‚ð­@ìR€—…Âú¥Þh‰ÓéHê4·Ø§iìû~©êÍ~7ê´•’¶m/6Z>cÛW»yžWß4h­ \0ÐÁ‰A`õMÊÔS¡—¬í•R7 v'r5¿´x­·O¦Æ-ìº.¤¥TJÒB-•Á¥Zëª.¥¯”Kh¢æF£,K^V!F©RÊ÷Ý<Ï_i*¼yìPjLÖ;OŽ ¥ãÙ´F¡í†Àî=~²;UIâ¹ôõ6E^W9&E–e®G•Âi2­ëÒwü¬ª@¡Ë.Öyzþü3ãAFÄ5Àsaßþö¡#÷Ï/œ°Ù²V+­±SsÀ D ±Ê®‰¬°“§î¼z½wæì.tg¥yðX§³BlO~`þ‘<Õãt×ç6Öz—ÏuÃFwß|#Îs¤¤B(I™mY–Ъªªå}KeYfI*…8}úô¡C‡Úí¥TiºNß1á •C$"¬¬¹Öh2ž]»¶qîÜóÏ>}!MÁ›Öp à ‹¢(ËòCúÐÊÊ Æ0ÇŽç---ýöoÿ¶Rj{{»Ñhœ8q"Ïs¥BH)eþ;!Dkm¨ùëW¯ґذj)¥çyÛÛÛ ­Vk4ì²D €™*Úk+ º1—|Wƒ° ÔW „µªI…0Fé2Ël*YÚvÔôü4M×UE1“BeRI PK™§RAEŽãH!f³™J(Yçu:‹£(ºyuƒÆ0Ç+‰•Àµ\V±K„1hCXÍi"Ë<ŸbÂl[ÓvHsX^hL0ÂD)Â$`@²à«¬Ž‘~€†;ï¼scccÏíyžc|=ÛJ)J©‘IÖuM ÚÍ™¥¿±}%Ô=çþÛÏþ•ÛðÝÈË“Ô&+ÓæX""0c­l)˜’¯Õjg0q ¢Ê’à Õ(A`=ð*øÒ¿þG¹”!×µl?Ðy y ¦ø5+&Â@(À 4 ”ÌòÎ0zóºA 5H)µÖQA$Iš¦[[[·T,ÞÎ÷Në,Ë ×ëWäp8Œãøï|ç·¾ß›ÍæÅ‹¿= á冨Ni6#ÎyÍË$IL´ÖZHÛv½fÓk6*E™ÉZ€¬”R‘96±©õ}ßûÈsŽwùÒ‹ò=Ï絬x$Ù®ŸJK¡mÏŠ¢fEB(­ËºR”JAàG¶m3‹Ø¶ýØ£wéò‹–å`!ÁÚv™VZˆ:ðí}ûöey,d™¦u]W”eHˆ²æù+@~1¼!çG­=Ï3.n#0vÎ… †Yÿ]gUUf |[®[×u–eÆÄšŸŸÃ0Žã‹/ ![­V–e†ÌÍÍ!„&“ ÆØ¸å !Œ1JiUUfiÖétò}æéÕÕÕ“'ORJ•R³Ùl8.--™µ½Áƶm›øõu€½ÊÓ¬”2¹ñx¼oß¾ƒöz=Çq"hŒö(€1Úm·]_èËæ’ï.ÐpÓúË ×!–mcŒEÍ˲Z{ˆú´F#qQˆ¬¼æyæ7ƒJhÇ ¸¬ ^bËãU-t¯7°!„` ”R%A¶\¯–j×ßE´€Rµ(ê"li…5ÂJª2çJsfi J#a8FfYÂ\·¸²=Tª4Ër¡«)O´¢ mŒE¥Ak¬$ ÅK¡ï öǯz½^¿ßOÓôÆë,Äm¼®ñƒ™ø)HÓ´ßï·{½ ÍxÉ"ÿÂæµÿæø‘D—%Ò³J$1HÐX!,‘ Œ©R¾¨,©^9¿ßò˜QZ´$@)X× 4R ¶€õÉèćÜV³¬`0›¹| 9¬67@W{•|mîq Ú¼Ø@íÌ˰3ÿ‚ – ÏÏËâÊ•+f<ô}ßó¼K—.}ýÿH¸±6…°±n=Ïû¶ô{¯×»å¸­¿ÕoÊ:\¹rŲ,ʰÖclÛ¶eÙÄ"ˆßlB_Z]“ÊñB ´È«²Ê ‚*%Ï<}z:˜ Ö‡éþöZat÷<®eÙÈ"áFÔäµ^]½2K3Ïõ (8Ï9Æ8Ï3.Š{î==N·6ûiƘֈ`P*ÃÈn4óóóQ9.³m†šNGJ×!Ƙc´ ЛZ†7n1®þ²,˲DyžGBV–ʬjfÕbUåæ³Ÿý‘wX|”LEw£¿µ=qŽCð[ÑÅ‹[‚ ×¹°ëZ3„íš!N‘oû9Ȳ$Iº³RJÉXpø®ÛÛÛ;sën”µ9ªâÖ¤ Ìã’–5šÕ¥&Þ åu­”„b”!„<­8—BC0Æ;š¥( ¥w ;\¥U»ÕˆÓÔö½^\¹-6™¦– RN+(‘³5ΑEвÐEYz”uÀË” ŒÜRÑ •6\cg„ÖzOv¦_²Ü؃ӌYÈm¡*ÍÁµ6†ýœW’ ¥†ÍÏûË“¼w}cg‘¹Î¸È¹–7yFK­ôÍ9 v>hІ°¼rJÄ·ZP}1  5P4h£5U i¬uÜf3¢”N&“îÖ†ÖÚõ=Û±gijƒXj­1—ZkŽ„óÊÉßÜ…ãôg³f³ÙO“Ö¾•A–A0™Œ˜Ã^¦l½¹ÞH¿Ì°¯€¨°À 1L[e]…®'%$²ž鯍w{+͈ª7,i@ª, ƈº,KŠ’°½µõÜs/\8ÿü{Þý؃}û;O/ìÓyqµ½?öÁÍÁµÍÏþç3Ÿþ4|ãËëýõþ©Sïž[„Ìúv‡·RA§Ù:÷ü³È±–ƒæ3£©ÌŠá´ç4}ǵ¡Fê§+„9B0i)°”xåü~Ë#€ ‡ªˆ)…A`,ÄWýþPjÿ}sŒÿ‡ö¿ûáÌ¢Z¼ö‡Yb@ ¨l>P @*P£€5dy¦wU]FL{äÈ“©áõÇ„0š‚¢(Ìãsû¶ô{«ÕZ]]ý6)0Üê"¶m·Ûmß÷9çyž×u=ÍâªâaЖ`%IvåêºÔtaÑ­Êb4ϵÚE–ÅãX‰²t|ZÄÃj-›sMÏ9çy^Ö•Èò¤*¹5hgW¯^—-.²ªªFÃÙ|s1KËÉd&dÕˆÚŽ0f‚òý×OަÈÉ+Ë¢HƒT‚Rì8ÖòÊb¾š¦ijbØ<Ï;pàÀOýÔO9.Äa'² ´–æ•M“!Òh´¶ƒÑŸüñ°D(pÎ¥Ôæy»YÑ µ6“èÒÒ’ã8Žãlmm9ûÌsÏ=÷“úÑînmm ‡Ã~¿ÿè£FQtõêÕ²,<ØétL*µ½ C¯#’·~ØŒ(.MSŒñt:}ðÁev’z×§tsþ„ѿ킵kì¾ l‹E!¥Ïñ/t\×^òÂA;è,ÄÕ,ðœV›Œ³¤Ñ¶ÇÉ$lùÍN˜D6ɉãaŽ’¢@Ú­“‰kËr”R&j!RI!¤6>å(.3"¡Êb•–™Ôœ(¢% IjC&bÀBF…@aÀVYk©ÚVX‰B!aak:ÉlÒE­5 ”Âa@cš•å4ŒF£étºçÍ6Æçy³Ùì¶\×XÆ{þ+!Ät:GKAs0“¬Vqޠξö\‰äx+ËÚ:°Ä&$’ ‘ªª× @SªÕ@ ¸V‚*é–¸NK¦¨H*Ôœ[”¶õÎÿú‡~÷På7áÒG´†ZhZíF”q5Ѐ,fQ‹2¥Ô´‰ñO¾®ýnb¼9çRJÃgMw///ëû}4ÝrÜþ‚†—_§,ËÁ`°µµ•¦9DQÓ¶m‚¡ *$%̱™¯$dY €·¶º½íMQæ¶…K¡gY•u%R@œx½ÕMÓ4Ž¢†e»„Ø”Ø,%+F]‡ÙJâ,­ÐÖf{»[Õ¹e¯ušäyVÕu„>£–‚óÜ„éQJ‡Ãa£ÂfÆ ªB˜j­8—7ÝÑ› áZ \Àû¾O1”A)E‘뺞çE±ººê8΂”Ò@ÃÛ2>(¥Š¢‡&É‚RÊda0©·¶¶„ÍfÓdm0a&ÈÚLµ»Ýn«Õêv»„íím“Kb2™DQd.îýÞäw¸]öÛÑ£G9çý~_kÝétÆx<6ª Ó˜³Ų̀3çüìÙ³®ë !²,˲ìСC†<ýôÓJ©N§“¦éd2¹|ùò[ßúV)åµk×cËËË¡áp˜¦i»Ý>zô¨Q×öûý$I¢(ªªÊ¨ÃL\ù /¼°´´4NÆd2ñy×<èíë×^(˪9wòðñ¥5>Mf¡Ø •e‰¦®\º<Œ”ëúRÁ•«k×®¯Åñ ®µ4›Mhmž@BI©£Zº¼zaeYXƒ”½òéeŒmllŒF#­µÙ¡æØ±cƒÑð‰'žH’d8^¸páWõW———?ò‘pκ˜Òï÷M| Bh:~»fI’”eyýúõ»ï¾»ßïO§Ó,Ë4@`¬÷h‚y5ºÌø }—ÓÞ,×Òx×(V„¸eUÙŽuðСã'Û¶U”-ëãwE+í詳ßX9¾x0˜ïlù+GŽž}ñroœ¶3Yoô»RñZÈpê®S •$˜À`8øèG?ú /˜ÌišÎÍÍA°¶¶¦”zÇ;Þqï½÷=zôØÑc?ó³?Cñµ»–5(r¬¤¨KÁºÈ’¨ÙDH¬µIqg¦fJTÙâÂÂÆFúø»ï¸|ñ\ž“2¥ªLÏVµ¥Ù)Ä Ðb'[øKZcJÃKZÒZ톷iŒh¤‘F»áÄߤtPYZÉ*,'à“ÿÇ'+IUÜ÷–ûÿ¾ïn÷&½Ñ°?jà•r#Ì™dæR»{'hd ZƒÖkôÊödˆÞ")…A#ô² )­Œ²+¤Èî_‰V¥¥;Oܱ°°pö™gþøÌ™JðãÇ8zøîÓ§'“I¯×J©iO)´AJnìŽaJŽe‡Ž÷ý½ëóŸÿüÂü|·×ÃŒR„R{2—E‚=Zñ’©çäîï%A`w»¡ÀqeÍ™å;–…¤*’´|ƒ òyŽ'ÃØ÷@0µvusqýÄþ«ñøÊ3g¾ôáÿÃÿ§ð/û¿çÑû6×àÞ»Že©zò«×ŽŸ¸ïm‰.a}{óèé¡"®[ &‘¥H„5`EË{Þ?œ]%Ì_Y¹K‰öêåëH”û÷¨ Çv.Ïu·Î¶¾°‚DUöûçOœ|l:ŒÇ“Š ŒiQ–‚W¥Ø$Ë5yCÃ0 Q£Õš›·ŠÝ,6b7h)4Æ8Ï«á`Œ X»~M¡Õ Ú-&½ÂÁƒ9çív;‚øÃúû?m¸ä½÷Þ«”zë[ߺ²²Òív‹¢ „üÀü@EŸûÜçVWW9EÑææ¦ã8¯¯‡áU’AEa|’?þã?þÔSO™ìMÝ^7ê¬hdâ•›D€X+Î9 ù&hxÐEQ¤i¼¸ÔY9´ï¡‡¢_[»Ü»¾6w|‹üó/~îJ¹ÔZl\Ý\;Ä_yá«+ûOV¨‘ñÙ,#ÊPQåHÚ³ÉøÀ¾ý?üp^Tqš[–uáÒåÏ~ö³?ÿó?´Â (¢µùÌtºèa¬Y-íY‰ê¢ª¢f¸ïpûËÏü`SIcM ivÐÀ,»ÑÛì.7[Lé}a»mG´×¹Øi¥H $"5A”TJõwTó¿h0yÂÍf.{޵½] ÿÿ“—Ûl6¶·šåœ7›ÍõÍÉdVòZ(5š%¨Þ ï9®IJ„50°"À©âä.ƒ[µ–àZ‚À@´Ò * •ÀJªx2M§ÉÖÆÐ¢wÜ9É3hÏÁdó›{œoÊ<€„é¢r2 ¬‘ò<ŸWu£Ñ0ÙËF£‘Éù­éý(Šâ86Ⱦ,KãÜû¶ôû-=±¯?hÀ7-¿_8çZ!­‘mû‘~üìÙóçÎ]ðÝ6cîx4µ]·Ùîlll´;sÇ»ûÞÓýa7É“šçÓ2í&£I•’©£Ò\ib[æ<óϾxî…‹®1ÆF“©ã8Ív{cccnnîØÑ»î¹çžA”峚gY–M&³<+§Ó©ëºy^‚¦F3 C­µ æYY”ép8Ç\”ŽÒr6›¸®}ch}4¼a‹ÙÑøÞ"oaaᡇÚ·oß'?ùÉüãFÞòÃ?üÃ÷ÜsÏ׿þõÛµYÌ#<òôÓOÿÎïüÎÖÖÖc=öÄOX–5³,K’ämo{ÛüÈlllüèý(¼ÿýïÿûßÿéOz<,b¶°,k4)¥~åW~Å|X^^~àüq×uŸ|òÉ‹/¾id¶mEq{Ì „Â0,ËòÙgŸ]]]5ÌÔ¶í<ÏßûÞ÷;v¬Ûí*¥Úív³Ùìõzq/--Çãxà‰'ž8sæÌ—¾ô¥_þå_6»xbŒ‡ÃáéÓ§§Ói·×ý¥_ú%“ÁÑÐÒ,ËŒ·ªª•••K—.™ð$M>ò‘¬­­EqäÈ‘ßøßxßûÞ÷—ù—û· ¿ GŽ1Û[˜Dûiš…ïââb»Ý~µñP±‘n€‹Zµ[¶K,[IUp1N›aí”ɲgýÛÿõŸWýµ•N@5/뢖x0KÜ ±´²Øžk·%ˆÀq(@<êy¶õOÿ—qÎWæç²é¸»~åä黳Ù8òmÏÆçÎ;uçÉ$M¾_å…à•ïû®ÅFI<îñNÃè:ß·4·±±á~™M?þ'Ÿž ¶X>þ<Æxn©½¾Þ;~üè™3gçæZ¾noo.-­(Îëf3Šã4ާ®ëGQÐíöÛóétÖjµÒ$Q'û÷ï¿tùr5oìÚ°ÛåHc€YØ¢æ ÷˜‹4W6£[ëW®ÿ«Îÿãÿôÿøÿù='îQpI‘…ãþP ¹²¼\e2ù¾¯„(ËryßÊ$žh43ÛÂ\LûÝÞ\«] >?×é úHaÔ²l©•Í,.…²â5#T‚äª.eEÍ$IµFAägYa»–J¥–XÀJÊ$«¾ÿ‡ÿÅü›4MmǼðì7žÙÞîmll8x°ÓìdE>Øîû¾¿2·¸±q])A0n„Qäùãá°Ì‹Åù…­­­¥…ZÃn¯LUU”i’4 %´¢È²{ï½÷…^`„6›Íº®ë²F>øà•+Wlfåy~ðàÁíím.*ß÷µTUUùaJ½xþüþ5+rBi™æ¡P>©$”)ß° AkŒÀ ‹ùç/>•ð÷æ}Ë+ÖúOŸzïþp]×ÿý/}äƒ?ù @pž®ô7Ö§iÜŠüO~òÉûÞR8vò­ßwýÓÿ÷ÚÆàÜÜÒ‘JY@£¢âÔm% /¸|÷”r;+×÷-¿«»™w·®iᯮ>ó€ìÜ×)y<èw]×Ò@Ö7VƒhPëP’‡£ö|~ñRUM¢ÐÓRyž3›°®JJZI’Ôuíy^’d÷wŸk·±eÉ$I|ß zžïض]Y·Ûo·:Óib1‡{8œAPE†×®n˜l½fsʲ,MÚ!„Ћ/¾xÏ=÷ „®]»öüóÏ;ž»½½ý®ïÿþÏ|æ3QM&ÆØ×¿þõº®¿ô¥/-..šLfF>` ø«l tÛ %ÈìŽaÂüšÍæ/þâ/Z–õk¿ök'Ožüà?hÛ¶IDZ„®¼xþÒ¾•FcssÛf–ïûœWRJ@Ê@E ”&% Òp›Â¡ß(¢¥v®À@Ùc޽¶±¾ïÀ ±Èx:X9¸¬HñGý|ËÉ«rýð‘ª%U#º‘8ý)4O¸›® ¥ ^Å °. U1)êN§3ó¢šÆé=÷ÜkrP!­‹¦ÉÔ&¶[ùhÅãùýáo{ä¡ qô¯>óÕÙlTùÖÖäÁÇžùò‹GXœ”#m×E]9®?eû÷™Îz²‘椶+±~õÚ©‡ßUÏûŽ{èžw}á‹g¿ðäóYYëÈ/).AbŠ™$ßQÛ[¾ÚÖ{*\³24Ž&#½-—圀9­¹Džçµ’«½mo.’‘Óç[lÅDIJdsQYWD“@e\ i,&Zð5¤ƒTTs)+ð8 <Ò¡•Xc ¨.êxvC˜Å õ7uËŒ€@mà%4='ËJ…A*Xhµ{“1G@]W—%rl]s”HÇ1¥ÔÌÞoúuŒQ›$‰Y˜ykkëÛÒïRÊ[ŽÛ¯?hÐ{ÛgÝ8Ž#…®*^ä%B4é÷G óûxªBÇïõzDáVu×7ϵ£N†cEÔ8ºãðß}í³ ÍH̦‘ë¥(ŠÒsŒØúõíÅÅ.‘ëøiÆ]ÇÓ5›íÁ`„Á;®•¤Òqœº®Oœ8ö…/~¦ÓicŒ×ÖÖ:.¥>þâ'Ù±c ®ë*US†{½AQTQŒFŒÁ|ΫW¼äúÆm¾YÞ ¥×ëíå,ìv»ËËË.\øØÇ>ö¾÷½Ïl릩ïûŸøÄ'†Ã¡Q=˜)¶··——— ùÙ{ó(»Ê*m|¿ï™Ïï­º5We¬Ì €„!"l@DmìnTPA¥QÄ´Û/2(_ƒ¶ &@b@H !dªJRót«î<žù¼Ãïî[¿%*?=+ë]UY«Î=ç¼Uûìýìg?àû¾aétzbb"‘H–X­­­÷A`@~Ñh”’Ïç[ZZî¼óN˲2™Ì¢E‹^zé¥ÑÑÑÛo¿ýá‡6MSÅE‹öØc/¼ð­·ÞjÛvÐ’iii .»^¯†1kÖ¬R©dš&B(õöö𦠅8ç¥R)•JpFÀiýÏ-À1ƒ‚!ÔÔÔÔßߟH$B§vÚ<ày^¹\njjÊd2²,#„J¥R"‘¼á†8ç–eÝô•›<Ï 8,€s.B xI)}ÝAƒâû~g„B¡\.×ÔÔ GúûûabbâsŸûÜwÜñ³Ÿý,0Rxà.»ì²«?ùO+V¬ŠF£žç]pÁÏ>ûìÒ¥Kß,²#oG€†Àá#ž«ä‘¢L·Ïã‚K¹Èý;“Ž»¡j_³=¼byZt«šÈ!Ÿa&6Q,QÔðC u¶l Ùk4‘4 <‡—t•¹>C H¢èbÅÁ& !ž/7Š8ÍQ¬úEÓ­YRÈ+–ê/ì2A±„f‡Ç}%%D‘¡7nùTôµ¦vÝWÄšhm8£Dg\#Üc4?59{ö츎Q>Øÿ©+Ö.˜=«\.ï|qëªU«þãß?¿mONÓ´£D3xä‘õv£,p¯«5uÆi'¯\±¸­­­½=2>^.ŸôŽ'Ÿ|rjj"N‹¾]!rËÍŸúÆ7îÔ#ÑúÄÇfÏŸI€Oá©§^Òe¡V«V‹ùT¨û’Ë/M§Â žÞôJÃ0¾úÙK9À‡>tÁ¬Å¸æºovõt¿÷œµÅÜäôä°® óßûÞ¶¶¶æ¥Pö—,˜¿ñé§0óZÒ©‹ÞwNÿáCG/_Á4%d—À}ÿùP&;Rät2ö¡‹.J&…†ñ ¼ð¶»wq†"máºaràat„°8pT*”$Ä#¢ª ¢Œ%Às|»á EšĘ́ª*,œ;sÌ(!Š¢ 8ø¾sÎÕÝÓÝ'TKÆ/~ñ‹ª;X,gó­'zʼŽpàùçwïÛþrwk;Æ8‹½ãïXÖ“ð6¿¸ÇŽ¡á‘¥K—®\¹ò¤å³\`ÛŽ}/lÛR.”eYÔô0õ©Y·B¢ #ÎpÄP@AÀ¸mY¹†ÑÞÚ6::ZÊTU09Z²pÑÁßûÜç^ز%—Ëõ:(c1M¦š“W¾ÿ²nþ’ëŸþç«ç'Z àìö;nEäÏ^y•ðïÝ:îVÛ•øg¾ù¯¾åt´µ.;nuKKËÿp^D‰ìÜ»ó¡‡Ò4­§«û½çžwàÀîîîÙí³Ã€öM =ùøc½½½½óçwvvªH-M®zã–Û›Û[_À@Á¢*H˜qË4Û2˜âšLSdŒH>?Ù0̹ó kVâÀÁís椧gÆëuÂyÂ#‘™\]‘GÂ-ùÂàªcŽÇçOf‡¦ û´˜2ìéÏ-“‘‡B¢â;D×°î(‡¢ñT»ïMäg*- '¤·–‹Ã[¶>uêiÇOfvÍš½J‘hØ–$E¥LE 1Ä8FP<Õ¬è‘z%/;žo¶E}ÇPD|¨ÿ ëº'­99ŒO¤šÒwß}÷¦M¿x≇çÏŸÏ5ÍF2'„LLL„CQ]× á’¨ $…ÃJ0Uè8N`«özÒ€Ù™L¦»»[’¤}ûöÝrË-¡l6+)òÀÀÀìŸü$™LÞu×]¦inݺµP(Ôëõµk×Ú¶-Šb¡P† cº®¿ÕÍ@ƒPJiÐèK&“¡–––p8¬ëúé§ŸÞÕÕU­V}߇ñXlljÆå²¬EÂür¢Œ¦…€[¦…  Ú) rDûöoŠÑ€ØåqüöÆ''K‰¦h(¢# c“Ã…r¾wÞ¬öÙmR[TêŠ5ÂÞ„Ÿ¡ùšÇ-E—³4B-“W©àº^CF""¢Õ¨Õ¥œézHÀR6;9ͧšÓªªvuu`Š…lGkRdt¢ÿÕötJïH¼´ù¤cŽ c±œ›©esN£áqד=$™©N5”f ÃõÛ®>ö*ÔLŧÄGE@\àD£ö‚ötoÛœ‘=¯ä†ÇìJÉEˆh`p^Ãâ8êÉÿzvàÍ A†úÛH…q0Ìÿ',t_?íëÑ@„b¥¬»Ò¨«Ãs›Ä ‘âœaÀ˜SàqŒ8ˆÉ„ÞÈ–û=+GÜ(EÌ@À€8 .æ2žçaı)€€iš„Ñß2ëþ`:ƒ"‰„’ ¤³M‡xC±Vc€AU(—0… IDATñÄx‚4ê ¢x÷ìêÐ( i àOEø½7Ö SÊ9w]7Ø‚¿È¾ÿθýgb4ü“#мì5†Z#c#EÎßãg)¶íT µb¾dÕ­rµT¯W+¹‘°ˆ–-œWªœFI˜k”˾–陚çsMõ}ŸÂ0–0R ù™¦&‘3\¯™å‰Éz½Ž0xž‹E0æ”ùžmOLŽT«×µs¹\4•eÕó<߯F#É®®®h$î8Žaš±x(æò™jÕF-ÛEüß5þwãïÇÛâ ‰!$(wcÁ”èÀÀÀ²eˆ‡‡=Ï‹Çã„={ö,Y²¤\.'‰o¼ñ;ßùNKKK¹\ÔL7ÿzó©§ÚÒÒòÈ/¹é«7­[·Î÷ýÎŽÎ mذaÃèèhJ}Ïóêõz €ä3F£§§!499Ìv-Z´èç?ÿy { >ìØ±ãƒü`€=˜ ïêêÒ5s8¿Ln»í¶³Î:+×ëõ½{÷^yå•kÖ¬9ú¨£'§&~øá{ï½wñâÅ+ä\pÙe—¥R©Z­v÷Ýwïß¿¿Ñh„B¡}ûö{ì±çúw>·À]"™L …L&“N§9çÍÍÍ---»wïîééÙ»wo¡P˜ÎL¯=sm ®<í @ ?ÑÔÔ$Ër½^Ïd2Á¤ÃÁƒJB>Ÿ!Hn'&& •J> –mY–å8N©Têéé Ô.4MËf³Œ³-[¶¬]»ö”SNyàÎ<óÌmÛ¶}ôѳgÏþçþçO}êSo)ÂÄ€9à×x²°„eŸspvŶíé‡~8N=?uH‘·oß~èСùóçŸzê©Çµ¢TÈû®ƒJ…|LWÃ*…l:_zÔÑóæö<÷ü³ÅJµ\o\tÑE›~ýÔÒÅ‹Š9ö…k/¿ãÎûI˜š˜¼ô—,š?ÿ;·Ýö…/ÿû—oþÌ=wßhJ勯i£^›UEv-ë„ãoI¥vîØ615žlJ]xþ? ÌÞ·g/¾¨#O¬Úôô3År)ެ:îØE çe¦ÇY=óŒwmß¶}ÿþ¾æ¦YS{{V*s9Æ&ÆE9pÜÄÀ1C8æѶ¶☤áÔë ‰#@À’¢ †kǓɮ®®i …¢]k(-©ôT£*!XyÔŠÑ¡6ýšxþ¹g¿çü÷¼çÁd½òècŽ;v`läá_¾ØÑÕuÂñÇO<ꨣÞwî™ýýC½í¶E‹}êŸ.™šš˜˜X¼`ÁG?rÁSOm½ttxxXTäåÇ­Dc$rŽ|ÇÇÀ–éH` Pà@ÁÇ"'éh,W,vÚé¶m …R¥¼o߾ɩL<Ÿ÷ïí;ç¬øÚ×¾ÖM¦óɦļ¹s¦GÂáè篹ö•—wÞö‹oK‚¸`~ï9gsß÷òºÏ}éË7®»ëŽªÑUE“•¤ŠiáÓN:e×+»tÇ]mmm§ŸqÆ ÇŸ°wïÞÜL®'ÜD.Ú»wïÜ{o49û¬3?{Õ5÷?ÿìsÙlVPäù‹žuÖY3åb®\‰0Egˆ2ÌÁn˜øíܦ€0V9ˆK¶m7 hï…®ÎæìÌÌàá)ΆººW劂®Í²]yÍÉ—¡/=óx¥bFb=­ˆï;´•@]A´ °è ˆ"Ì)õmÇñ™I‘P³U«W²ú´^Ÿšú „~pû×>ý™«.þÐy UeM%|A`Ž83ÚNýh¹â…" EÓŒÑ ¢ë:¥´9 ¬%%IjjjÊçó;vîz÷ékÏx÷;¯»îºjµ\©–&&¦cqÓpÇ7–,«” bÑ­V Ûdªª-»7 »@GGG`­ ÷|±ã8<òˆiÛ“““étúW¿úU8niiikk›™™i4mmm;wî, –¸¿ÅŒÁ÷ýP(T,ƒŽ\@~C-^¼8€Ø1ÆG¶ë"#ÞÔj™ñ¼h4ê»±œdWD@ bðpëƒãFŸS¢È¢í8¢®‚Œà¼cÏ%ÀÁçÀp!Uóˆ­55ÛÙ 8I š–ªüñk¯¹õêÏc«+P\ ¾xË1nŒ[øÀZ8°a£”þEö]„ßɘà¿só'b4ð×y oüš¦qŽ(,Ëb ÕjR±*€ÒœèpÃ2+fÕð%»Q.  Ìh¤$±Y;;['Ïž)bwHAû\¸°žGãºU­fƒQ"86µLßqí|¾ìº®ªÊ¦a "´µ§,êÁmjJ0n75%+•J½^•eÑuÝz½%0gf²ù|¾¥µ)‰Çã Î㸠‚€L«.ê|ÅÑ‘çˆøH?ÞÇë†/¶b©TŠÅb>úèç?ÿù¾¾¾±±±ÉÉÉjµ:::‡gffV,_˜³…zPŠŽŽ9Õå—_þ…/|!EüÖ·¾uÎ9çüà?Y–o ]×׃‰‰ Îy&“éíí½òÊ+÷ìÙcF4Íçó½½½/¾øb¥R Ôdëõ:Æøè£®×ëAƒëºžç!„úúú|â2‡c]׃JÞ²¬ÓO?ýÆoŒD"çwÞe—]vÏ=÷\tÑE§žzê·¿ýíR©ôüóφqê©§~ö³ŸýøÇ?^«Õ-Ztúé§oذ¡­­­¿¿¿££#›Íþž8#‚eYÍÍÍAf˜N§ûûûß÷¾÷=þøã•J¥££z{{›››ßøSy1Èÿ'“É×ÇÙËL]Ó¯¹æšcW[©V¶oß¾{÷î{î¹G„yóæyž×ÞÞnÛv½^ÝF£‘L&çÎ{øðáÕ«W÷÷÷ ×u1†a<úè£kÖ¬™˜˜Ø½{÷òåËÏ=÷ÜýèGGãÍâ!Êœ¿6VüˆÐã¢(BMÏu°íP,õÙФÆ2±¶Bª«Ð—]+ ‰èÀÁàU°ŠÆKCbh ÖLAtˆïF(ûÄ£„c$b¢KlÔ±Fˆ×4ZV„Æâ¥³Ì&¯R²Öݽnõ™'Z&¥DË7ˆ-±Ç5d_×Á²-¯\Šù9¢”C•Pºn/‹qO QF­Q aQ8í´ã?ÿù¯È²ÜÑÑñÄO|ÿûßùþ÷gjµZð ´yóæÀVÔq¬ŸÿüÁó/xßý÷ß_(à¾ûîÛ·o_­VÛ¾};¬^½ú™gž ÞdïÈNÏ´wÏ^~ÔŠ‡ùÈó/nõ9Å¢·ýÛ÷g#cã333_ÿöK¹æú–Ù¸óÎ;o¾ùk±Xl23¥¼ºoo"•$”¦R©ñ‰ Éd0 ÓN9á¿ØðëÍÏøœ’ˆ1^²dÉ«¯¾ê8X·n]±X´m{ffflbü«Ÿÿ—Ç7>Q*•zò¯ìŸÈ‹xlbüàáÁîY³ò…R8çˆ< 3ÕfcÃÑWt "G&…R¥RwL›‘w,˜7Ñâñ‰iŸƒÏضãe=œ=«û'÷ÜûܦgN:þ$ÇhÜùƒÛoøÒf¦2³æÏ>åä~µqãK;wëåáñ±W^ÝeËË,8ï¼szø‘ÇÓ-M–eÝxów¿ôÅÏ~üÿÒÙÑ­cØ¿ÿÎ]/·¶´wÌê~lã Ûjkk+UÊ¥ÒT[[p¹ZU…rp„{Ccg}¯¼òꫯwÜq©T*‘Hôôô|hùòH,zÓM7%‰uëÖ­>ñ„°r<×sœé©™U+ûî¿ÝVÊç}B^~ùeBȼ9sŸþùrµǺ±Ìô´Ò)jwSó…çœ÷Ì“OýòW*вcÇŽ†ižyæ™O>ý”O‰ pÇ~842üMOŒÞ~Û¿mÛ¶mûöí„3„±Ëé §Ÿúê¾½J$Ä9W±èøœúز,×uóù¼"ÃÛ—ÑÜ‘±Z*•"Q‹p¨7Àh@"‘ ‡Bù¬™É˜»wí™;?ÔÖ™œ=ç€ðË/mÓ#MOoÜtÕ?_|ñ‰ïùú·†jÌê™Ùב¨Å±„DÛh¸H Öt=, ªßˆË´33VÌòwÞ~—M­ã;N×¢õš!É*CÂ.C @ç$äy¡RÅw+E¥rEµ ðD4ä»N27m7“É£hù™ÜCýâáëŸÿܧï¹ëÇádú=ï9¥V«ÈŠèy£ Ë*IЬ9Ž‹*M©Æ€3ØR"„sc˲TUEMOO‡B¡€èLkKŠ<666¯·wÑ¢E?üpà0?11±råÊ•+W†ÃáÖÖÖB¡@QUUÅ ¤¼¥;RÔjµª(J¥R™;wn`T©T¦ÆÁƒ»ººTUÍårÕjÕ#>µýélNÄP$‘/”¥---åj8äŒtÄÈVüê7!†Ñ2ŽD¸C –&9F]’‹(¤”ˆeÖ-ß©4 Ãõ]Ì©ÄŨ ÉŽíHP£ŠË\A‘Êõ3ň"–å9.R4QR$EE‚0+™¢œ×j•ɱQýô5ˆ‘Zi&¦`kÖ¡±}Û[ñѱÜcŸËÖ`ºá‘P´.{¯PD’r8&êj"Ù’¬›,뮕Qir½2]¨ÙõjgSrN¤S•Ôj½±ñ×/î/VLÁ`šÏÀe~ù °ñÞŒ„Pð§°Üƒ¼‡ýé†Ô‚S§ >¢R©`@¥™EàN1—7MÓÅØrà2,0P(ˆ d‚Žà"â.ÀÊâˆL‰È|8D€`ìªÈuq£X„4Je "B¼R+cYñæ¦4 #ùœclâ‡î.ž«€(@$´ê”w‚ ŠªÕ*B¨V«¹þŸjÐú÷í» Ét 0´Ñœ?ÿ¾¿þ¡FŽh €VvÄ5)Šú>sΨ{.å\T=Wª”Š%⻞e‚,0LJdV.¯Z0+-ž<«§MÄ'6ŒÊž½»õ\þàèhº··îQ@Š$"EÖ8CœaסŒ¢\¶”+ä1âs] b333+ZÈîîi¯TÊÓ3£cCÙ\¦\.‡ÃQU yžç:>pl™žaØœ£@S#ŸÏ‹E>ÂL’׳ôÿÂhx¸ñwFÃÛ ‰çªªf!Ó41Æ÷ßÿ /¼°dÉ’•+WžrÊ)^xa$ùä'?9<<‡ &Äb1BHggg¥ZY³fMÿäÔä 7Ü011¡iÚÞ½{?÷¹Ïmذá–[n æ^U å‰D–-[ö½ï}¯«³Ëq\uÕU===®ë–ËeUQmÛT dYŽÇãP.— …Bžç¶—‘HD’$I”æç<ðär]7—˹®;==½råÊÕ«Wñ‹_ìëë[¾|ùÎ;¯¹æšë¯¿~Ë–-ííí_|ñõ×_oÛv&“yþùçwíÚÕÞÞ>00ÐÕÕèbÖëõ7‹3ªª†188HÑu=›Í …óÏ?ÿì³Ï¦*^|ñÅåË—B–,]¢ëzp/A š^033h4€a¾ïÿò‘_îܹóÚk¯Å¯\¹ò_þå_¢Ñèúõëëõzà;‹Å‚&™ª¨ápØ0Œñññ“N:é3ŸùL`ºyàÀ|!ŸÍfׯ_ÿ¾sÎ 48J¥Òš5kŽ?þøööö€ò;ã¡8`ˆßa¢Ë°+H¾GM詅 *Pƒ–°d¦¢!WQr–!Œ•­üˆDP5Ùಕ0IÓK®× Ä"¤a®çyœJXà„š¶åù¾(9ˆ[ÔnŸ»uUìrêØØØzà@ˆ”ªùI5ªøThiê2ªã3µšÙl׸>¯™,d˜rÙŠÕkI@§1MŽ[¾.!d¨¢IPi4lÛvööõQ€9½½/¼ôÒÙçž91=-I4m&WD¶ÏƦ¦ç-lÙô¯/ÄÓM¶OåpäÐÀ@<ÍåKǯZµxɲ3®þÇf^OÐÖ?þø;ßuÚTæÌŸoûÞL>F£j4@¶Xô7¡Ãó[·FM’®TÍÚSÏ=wég¯³,Ó4+{ \U›áÐè(È‹„Íû¿ù¯Ÿ:4Óx|ã“###“Ù)—º>§¢&5<“>4‘ÙÁLÅÏÊL¹õzWs«"À§®»º5 °óÕÁ?114’ŽÇ=—S³\*›µK>ð¡›®¹H@4>>–ŽÂ®Ý;¶±`ñŠiä³3]MM/ïÙõ…ðÇÞ¹ö]ýðù"€ pÄjVö>°spâÚë?™É^¼sçî§6=C$1W*aU±;W)ƒ,I’T5M•Ò×^ÛœsÎç˜ÓÞKg&'öv¸Z]UÕ… ®Zµê¢~ðþûïç‚ðãÿüéû?pñõ×_ßÕÕÕ1«k`ldp|\—•=úÞ{áEÅlnßîW[ÚÚ§¦§mlj¤RcfãÐÐpº«½cöljÛSÓÓ‹{÷öö^rÎû8€óÚ-›¾Ë€¾áJ½6¯w>×e›‘RLLg±¨K|g%q\ë5Ûô}?*«žÇ‰Mmßó(É• žY{; °’m5’ |8P0M“RšH$êõºgÛz$²xñbÛ0VwÜÍ7ß|ÓM7½÷œs‚«* ‡² @H‡9纮7ŒF¹\Îf³ÓÓÓø‹ªª”R×s_~é¥àÕPȱmà0Ö5]Å'6lXÿ«õ+W®lI·ÔêµX4xC¼´e l|bã;ßùN„P4åœoÛ¶M–e«Ñ „LŒŽÆ¿'ß ¨aV£ÑÒÞÎëïï_»víÄÄÄî;±ØÈȈeY;vìPUU„@®BÓ´€rÅÓ4Ͳ­C‡ɲ0°|ß×uýòË/gŒ1Æ|ÇÙµkW&“ùèG?ºeËæûÉæær¡ÐÞÕeF½R€ï~÷»«V®€á‘ágŸ}ö“Ÿø¤ÛÚÂáp¡P ”Þ}÷Ý«W¯^¿~ý­·Þúï|Dz¬`6äÍâဆ`z^*’¨²,Ç4ÍZ­AdfÕ­¨î²ê`"Í"´Þ¡ÃÒ¶¨Úܓи„h¾\%X$X%¢Ä±¢†Ã1žX6§ûŽÅm˱}ÎDAŸÚŽC8×\‡:ž4 ²Çpe—+ÿñ覞0­ÍìúÀû/ŒÆâ+Ú;%Ø*rBm$ €ÁqÏOŠRJ#¶»`ö‚~*g”`EMçJ÷üßÍëŸxæÁ&, D-O<³Yf¢®B²¹Ã´ Â¥Ùs»m«A–˜@€ŽMŒgKÕx,V·=QA •+à1D; ¨I**ˆLT†Gq.챫ûúö·5·öî³ξuë]3“¾ç©’|Ëw¾yÔªwÈáh8ýã„Òxsªf».G@Ô€$À°<%›ž‘u…N Ë·<¢Ì]¸xx`x¦XNÅS…ê´ j¡„ù÷u·ÿP“Ï=÷ÜO9é¢Kß?2:ñ£ÿ{ÏTa ª:à(p¿~Ý!‚y„Ä£¡öx̪Ô=ÇmÀ7¾õ½†gùœ–ŒB ÐÚÖ ó˜"‡£Ú—¿zÿzòš§žh”jõr‰þÄÏïÒ£¡¡±a ¹=]¬9ìÚÝÑ>6:Œ2€ŸÜ÷Ó¾¾¾X,fÛ¶$Iåryîܹz4|ó7¿¾|ùòŽŽŽ¥K—ÞsÎwÖïÚ{çüßñÜtkkk´)i1‚}&…4™7¥ÀÎ S¥¼ÖÆó3©T*ÙÞÒh4^ܽcp|ôÿóƒoLNtÍžõâ¶—Î9ïÜæöV—øúð¥¿~iK®R’ñ?¼Õ²£‘èÜ…½×~âãOlÝúãû~:<>ÖŠ´ÏînxÎèŽí³æõRŸ„®ýÆ×7>õä¼ÞÞªQÏ‹sö õ Ü’*ùÖžƒ°$õ´u4 ªmJ®]jÔê@fJ%r}êc@À8ñ˜ˆA–Ém ØÛ÷ÅI2Àذ,ßçUVF†¦wìØuÊÉgØ&ë;´ëä3ÞwÉå–ÞúÇŸÜ:ô’Eí½ûbˆWÞqìÂF=+‚0· Fúø.PÃ! «šX Aqz$3RŠE£Ÿ¿öºC‡:gÍ–A)eÙþ=Aa„Ë·¢17 ù*UÃç<›/ä E°mù`Û`âàû¾ê‘Ææ cl_ùÊ×¶½ô|w÷œ={ö‹"^лˆ’J¶X–M‘%I×ÃÄGñx4ÝÜŠ €#Œq€p/QAÖ¬YsÕUW555 *ŠÒÜÜ\ª”UU½éæ›s¹\kkk£Ñ8ÿüó1Æ^xa*•’e9~éK_rgݺu[ EUí?‘ô› Aru]wǶíàÕÜÜ\©T4=ff¤Hkµbã)š^(I­êê)—˾eP@E¯ €^w¡ù›øNàkn€8°ÿ„˜í›¶…0G" ‡õ¡áRåt¸™B\L ºÒíåÆd>WTe/¥%üš©(mžÃÁðÆc U ù”0€®®.U×vlß–ˆEN:qõ駯9ûœÓÀ©Ðé7ç·V©•º›êœ[¡`Ø>xU (d=ÔÖÑmr´G¢%ÏÁž ÚªX±zaqKJnÒSJª\¶FrHhš°€q`ãÜò) aŽEêÑ¿.× ü¿1^ÇÞ¢~Ýë_W*Ž‘ƒÀÇThŠºØípõ IDAT/¾‹ì<Ø" X,è> €ñž+G@0ü¡®"€ lÀ I@™€MŽM×ð%T¶ª©T«’$ý¿Ü hu! À 9'Ÿ<²mHp-9áÀ„Ã@›`°T­VA,rrß[¾ïs^”Ò MZ¯×ƒ°?ÿ¾mª7ÞÊxø?†×(÷©,lI’TÈ—&'§Ý`J”Š"¢¾&"B DÇØþòÁJ^¡v7…Esg¯Ôß6BŠ’W„ïîÚÉ1 ÛwK¦iõz±X¶MâŒ1ÖõH(®5Çñ$Ið}?Ùä—JyQâ]ÝmÝݱ¸‹Å_Üúr9_u(A78‘H55¥¦õF)p¸$”Rߣ>A"lÎÿ4üÿk°m×u9!¶aHªê;N¢©Éq×uÛÚÚ¦ÆÇ8pË-·d2™+/¿¼©¥¥¹©9hä ^frR×t-v]7—ϵwuMONÆ’Él&£…ÃÕ*x¯Ù=T*êy‰¦¦J©œ#Q½"o0(V   ¢çy‚ %•p\öe¸¥RÙ¥PÏWxèð<A’ Ïd*S‡1ƘÈ aÌ9 .XTü’Lª¸X(V)u¬¢›ãÓyµ¡¸,šîÇâ¡Xô´“Ž©o:ŒªõhT«+àۦʽhL‹ !¨’p:æ,Ûó@Â2²YÌ£’(´'ÛgikßÿÅÉéÉ•G­‹Zup¨N¦Ëu˨šn<#X Ù„ì8l¯<þäá©ÉH2=wAïóÏméž?×qÅ1¿òËç3“™… ´¦[ÚSjíܰ~÷nþT²¥£\©ø r3û\TõXøÐ¤wâ)ïzqû‹‰t{¹^]¶lÙoú§C‰f™úÀŽW,]¼Ô´ÍRµžjír$=æ0à’*†´§~³©/½rÕ…½_ ©Ì' ˆ¢øÈ@õk挨f˜£2`î¹1US#€CªíÖCñh{:4 Û³ŒZ@‰„ªvƒ PnT¦ 3VZ:Z-XìxÌïèé80– Ç#u×Hwµ)>šY4gŽQ«n %£u5D¥°Ê‹6'¨e³¦ÆBc3“¹ÌÆÍO÷Ì™û…ë?ÿ³õMÙl–Š¢ QÆB#ây8°×T åD…³Î;wÆ žë1êɱpTºæÌ² ˆåzU¥GÛð~pëÖ­¡hlóÖç=ÄC!­êX÷Ü÷Ÿ çõjXüÑï¹óö;؃÷éñhÜP*QœžêXº¸\,/ìê|ä…ç´H4Ñœ¦€/_ÑR«Nf§=F›ÛZª‡†ôXtÉ’Å”³CÏ>+Pé‘H±^u!"R@Œ·¥-âñ@9qP$¬ÊÜ÷EÞ¾® r,J"¢>A&§Üí/È)ÂþãV¿33ÜnNR-\‘*—aYæáÝ;Ÿí™ÕN$²kû+Ì@GØçÀaœ{iäÕ‘Æ¿wÛÍ;wŒ6µ,hÞ s{Ž™iíL†*uÙJŠm]’ª™.›*Ö§4mnf&W®V@”0FL–C²Ä‰ÃEE)ðwèèèpªÕ[oýn>3*KhÃú_ÏžÓæQV¯›¡W^9ÔÞžr_”PÈ©”•r½Ñ°Š…ª®ë’$aŒEQ Ö@6$IŠF£‹-š5k–ã8‰D‚ŒŒŽBúûûc±X£Ñ8ûì³Ï8ã Îùää$ç|×®]AÅáº. äZ–¬ioé–©¢E)•J‚ ”J%BçüСCétºÑhˆ¢ `Ú®eyb4žL¤LíYž5kÖ@_V#„€bÀŒ#ÆÿÆ ÷€ƒ0FCODj"Æàû¾]®«!<15NŸÛ2/ŒÔ¹Í³E(vÆ[íß92njªe'â´áÏNÏA#QÑEÌiïìâ Õê¦eÙXFGG›WuÒêãóô+z{*™ÁÜH_kT˜£Štñ™gôs_Wˆ/{b qPMI 7ê&—M`\²Pi¬B‚ ÊœxlY¬§j[¥©òðtqdººðè%–Hà2òÂ/H)ɈrNLÉ'ø¯h‡dmç .}‹ÊÝ×?ŽÉB{ \WÛR-ºt‚V¥t¸â™3Ì‚ßÚõqD˜à?hÀc*q„]‹ ".ˆ <,t40D€¥C–È$F5M׉È2 á-s9p „ЍFßÉ%ßÚ»âƒi— °Aе¶€€Qq]WUÕ üŽD"Áœð[ºïeuà÷AEñ/²ï‚ (Šò—c4`l†qÄ#‘3QJp,¯”­H$N4U© )27M‘æ¢rÍŸî﹦ȼŽXtüÙ­F={ò²£‡^Ù/ÏîœÓÚ66=%Š*gHÓ4ßcÑ„*3 ×ueEÓõ®‡#1b𦢦::ZÉP$*•Š®g ÆcÉ…‹zÁ§²ïáææ–ùó´µµg³Y=$¢E‡«žo!A”•GÅÿþÿ4¼ @¾„sŠFÍz=˜6ºæškn¹åæûõz0N$“===•JEÖ´b.7848oÞ¼ƒ!5š7o^¹Rz9©Tjzr†g x¶m+ŠâÚ¶(Š”J±ÑD‚RjÖëétzbr!Ù¶ýÀœ}öÙ™Lfthˆz^,™¼ä’K6nÜhÛ¶ 9¦U°øŽCTÕµ,ײ ‹þù¿üå/cɤišÛ¶m;ï¼ó~rÏ=F­–hjª‹ÝÝ™‰‰z¥²yóæÞÞÞMÓ2ÕRIÖ´@`¢­½½^¯Ë¿+ncì¹®±ô¨•+ÛÛÛ7oÞ ¤…ÃXFµTZ´téÁÀu]A–;î¸ß<ÿ›@»±V«E£QÛ0  X(åóJ§-Ëò<¯µµulxxÆ4@Ö4I’€Ðë®»nݺu×_=T«Õàúß,ú˜qg‘Ç"EØe"= ÒNI’°KBZÄ­!ªHØÕÃ(ÕS¢ÑXLô=»‚H°ìcÅÙI²_ŸLèMDÊãœcÄ0à8ÑgQ˜"R_”©€£8‰7;»mÅÖ¾|÷²•vvúÚM´V*a®ÖUR3gR¢•j aŒ ˜Æ@ÝÈû!®b]=âºÌó@\óŽÕÃ#þèäD2™ì8¬éaA’&&3Ͼ8såÇ>qï½÷Ú_ùÚµëÖýtÏž=ïz÷»¿pÃeßüÖOFFÛÛÛe€ärèàÁƒÇsÌég¬}jÓ¦j½!iºàsp—#Ë'¯î?ð‘+.ºý‡Ld¦˽ëÞ{o¼áK5Ë&úðeÞ÷³9½‹fÍŸwź}#ÃËV¯ÎxÐ=g®58JE@Í´|ÏÛºcÇ—œ“kÔ‡ÆÆÍ×\}ÉÏÙZ©Û•z ´vÎËttwMœ¸æd`¦PCŒûÛß|ø—÷W*…xJD’2+©OeEYnmë¨Gˆq΃Ž  vFE Ìõ9 ©À $_®aÓhnk5m£Q¯GT½£«GÈ×kÍ͉ºé%šÓáD¢lö‚…W|äÂ:@Íu ÛÚþÊ+½âÒšOö>8»wÞW\ùƒï}ìÞ³ÿü‹?T©›c“aMoio;óÝgÜöoßSýË7õŸÝ79iíèîž¿ D ’¤j5Ã,—ËÉdR‘•R¥"IÒkrkˆº@œ j¦uÁ §vtu¿üò¶·¼ä2¿wÁ¥¾äÙ¶´uuކÃú+ûö_ú‘ IzòÙMŽëʪ"ˆò¿Þø¯O>öäî—·#E<û‚÷bMw± ‘@Q4]ÒÔ œë¾ôcW4˜72::<=ÙÙÕõõk?uãWo²¨æ/^T(—úž{V3'µp!È×ës[Òv­ ª"Ê’ P©ÖôX@ÀHÄÀGHA”€JcìJ3ÿúVŠ(–»apƒlOÍêš'bùôwžÒx`ÓcDCñÓö¿ôøåçœ5+ÝæTCb§Õñ1³RƒÍŽcÀYÀ’¤*¢*±oÞòÕ\nbñ¢Ùªûû¡aÃr÷¼%u«ìY´T‘¹ Æ›#‚¢Ú^©aøm)=Ó(³ˆ2‚çPAtmÖ%Ëòò!žëŠÎÕ âSÇj8fDÕ¦‹3íM­KYŽ樒 E<›D"±d,Y¯Ô=Ï Lï†ó 4ÏÇÇLJ‡‡;::¶nÝúè£.Y²äꫯ¾ï¾ûòù¼¦(===àå—_^²hQµ^O75ÆžÚ¸qϾ}²(Nf2ñh´ÖhPßëö ,ψsžçår9MÓjµZ ¼üâ‹/žxâ‰7r.—³m;’ˆ5ªðX¤µC‘˜WΦ4¥"ÏMg„Eë°h`G*›?îê0Ç ýU¬Ü•#˜zfFpÆðÒLF M©8p¯¿ïÕl>RÈN³|YGSÚtk±P´`L‹ ™uª©ÐÝÑ“Ÿ*2p»È†8E.Q ñ1Æ]­C#£?ùÉOzæô„TeñÂ…f£ØÝݽo_"$tÏ_2Ô÷ŠoZ'¬Z½ÆÐHÙô–@Ä rÐ0Pφãº"„D.#y ¨,ªK1ç/LÇÇúžœ-Ôk¾¨$’\îp¨K‰$q,QÌ€ùàûŒLþzâå8ð‰äÿu ‚DŽ‘€Ñ á?ÐJòX1Â3΀J)ÀDIŒè AM"Eì¸%I’ÅGø/ 0G˜"àˆ1P”>þ·sA¤ˆ‚èJ 8 É ùX¢ÌAÀeL)îûÁðÿØj«RÈö=ê \—Eyë1+@–€øÈšá2H&€ 4_«û­lA0ÎÌ/¼ÕLPch!$BRð`}hà¤ÁçÿŽ."„±È˜€A ” ‚àûôþ~rÄàÿ!ªü+ H  o,Â=N|_ŒÔt:‡Ãápלy™J]‹„íFU!^3‚”ï*…|aßžì½IIzçI«žÛ8£1ý˜3O5¦ÇpsЦOU”®Î´ÐêžÕ…5žHMNf,ËjnN9ÎâætªR*Íëí,—'“ÉäÜä쎎¶ññ±Ìôd[[ÛâEKŸ}öùr¡H®xž'Ër©Tzê©'O8qegWZVDË2€»€Æ@=qá ¯ûP¼åQå­z_üÞw}Y¢cÛA/ݬ×eYÇã×]wÝ»ßõ®ûþ÷7>þ80öÎ5k>ö‰OüŸÿwÏu`zzú³×\sãW¾b›æ²+Ö}ÿûÉD’ú>£TD„D,V)—)Æ„R ŒÉ¢hS* ‚‹#ÚðØc·ßyçs›7Æ'|ò·o½õGwÝøMs¹?¾þ±Ç¦§¦~þÐCÔ÷ßñÅgœ~ú¹ï}¯Q«µuvÖ RétÉqÞÈ2˜¿`ÁÚw¿û’¸oÿþÞqGðÿ÷ÿìgçž{î®;,Ç~ß…^õ‰O¬]»8üñÇ7=ýô»×®}u÷î¥+VÜðÅ/^ýéOs¹ÖŽŽÉñqQQüÏŽÅ<ÛvÇsIUW,[¶eË–F­–ln.d³ñTÊw]âû-­­ƒÃÃ-ÍÍÀ§Ô§”xpîÚ¶ç{š®Û–åÚ6!D‘$øÎ·¾õƒ;îxe×.ÛuWșM›>}õÕ”TSS©X, ÉæfIrÙ¬c[¡h”RÊçQ¤”NOMIª* ‚íØ±H¤Ïëšþä“Ožyæ™CCC ÃìÙ³ç²ß 4PÌ1Æ1 0†(‘b”øœYžSwYñ™çSÆ€Q @(ò¹@„0ˆ—(gå‚"Š:d牶Íg”2„0çÀcŒã¢{"R3’b9Ñ8DSß¡¢TquÁVúÍLçX}ì¢;ï½ Þ5:OCj«‚¢.”&³cSŽ)µ´>;6V–Z¤x«®…  Dò*2÷%ÿ¤3×<ñøúö¶ÿ½7·ì,ËDßoZóZ{:SsêÔ”J*3H@P[QÚn±q¸ÍêÕ¾Ý4ÃõzQ@ЈÊH"H „Œ5Ïçœ:Óž÷^óú¦þã«Ú©@M¼ÉmÖë·kŸÚk¯½¾µ¾ï}Ÿ÷yŸg¦ª*ß³ó<¯Ê,Š¢¯Ýþ•—½ìe»w-¹·~é®×ÿôk~ïw~&Îà]ð· ÂZ·7€Ïá‹oÿµ7Fï}ïuwÜq‡çyJ# € Ó'SÛçO}ëîÏ}á¦S«ËoüO¯ýÃß|í±6|êSŸ«×6²ô¿ó¡×¿ö5ûÐï €ð™[¿yÍ ž{ÑUϺç¾{¯¿ñŽ×½áµK5ÀÿéWߥ4`ÛÞ¾}û·Ü" ùå·þ´ Õpíßß¾ÿà lUWÙ­©ùS§Ö®yÞ‹VV6694›sáë>uãÞðúiÀý§³ßÿu¶U„”¤X3¥ P@ctÎ3+°Ýtƒ/Œú£q 4´¦fòª´©[j¾}Û®2/*O—PŸ^,Eñÿ¼ûƒ¯{Ýë~æÇ^&ŽmU7Ýuüê«/ ¥û·~íîL³Ÿù™7Ì»pb¤ï½ÿÞFk¾?ÜòÕ;{Iõ¯~ýųa°Ëë>ùɨ¹-‰ãÿ÷ã7üØø©KgÃàäÖøwßñûRëZX—RÖ£†¨¤¨2‹X0°³”PQEÄïýÅŸ}ÿ÷ÿÀ›^õú·½êõ€Ã§OÞ{ß7á–,‰vììvÛ õŸÿå‡ÿë›~ñçÿÛDa%Ô§o¼éÇ^þò·ÿì/äëq÷¿¼ëÈ÷hÅß÷·ú­_ÿ¯-@ôÖÞóžww77¾tï7ÖóÑýÄËÿÏ—K€[ÜuݧoÀ6K³Œœ<~bvۜڵ'MRa¡€À®5p—ZK»–6a\«5’8°] ˜k¹E^J„€Pˆ 4 ³„ëgÒ^R²P@1±Ý*Mµ†ŽÕÃZÝwþòÏþx×ÒöW|ï•õÈíÚ‡|éî…o~æŸNµZ{·í^;Ù¾ÿ詸„‘€@€DD)…B‹óó/úþïݽ´÷ޝÝ>¥?ü£‹£í¹uÇÐÉz›å°RŠXH± Ä4WÍ*¶ûݹù™ÆÚáãgöÑÃ-(3ˆƸÈJƘb»\JåÙÖú©ͩڱý0Æiß#¤A#…4hU!›Såöf¹ñ(ßwñÞ•Ó§ÖŒ1ÂÖëu3Ÿzžg4î»ï¾V«¥”ºñÆo¼ñÆÁ`ð–·¼åË_ºõ'_ùÊ©fëóŸûÜT³õÿñ?l®ožwpÿ?ý³÷}é–/2Ûb„fy†y_åS7^À7={¦¤ªªøÃ„BÈ 7ܦé+_ùJcg&Ìx­ÌÌÄý•;¾°ßŽW=kßÑÃwÎ »È@ é: çÎ1z<{¬1B€ÑÓc¯Ðã=s³×†® €"ÀÈü#¥²˜®‡Ã|ªÎ|W-ÎFΩÖ4MDŒZw·%)Ù³ûŠûÝk»ÎÎ ‚´õF ÁÕ>øÙX°·/Î Ûšÿý÷~3Ïó›o¾ù3Ÿ¹nºÕ¼æùÏ;zìÄeûžÕÝZ?6²÷]ô}ƒÚ’×$ CËWg¨àª„ì½¢6ìlª\Õçf|u6ךS®tT“uÛ™ÿw~ý·ýÓ±¯fÒfît¥% Mq B5R”+¬´’B‘Ç}žê½Fgï¶/J€+. ÊóÂ,‹©Çá#ùОP,å9E£IºŠÀóÝ,Ë…gÿ'Ëa<Íg´=,*¾Ñ€À±Êª73ßè–CVŠJ €B£ c =n‘*‰Ë‰Dh¬TIµ"IÕÌÐt¡ãÜÒ€”„a¶UÉž ×,ι¢à‰ÆÒw~ãÆOߣK°(0 œ@‚”vñö/ÿÅO¼:#ŽlkI§íû.BÚ Žcý æ»Ê²€0ô77×=Ï)Š,ÏSÛf— )…ÖàûnšæOÊ÷ú~˜¦©ÚÜWSÛby^"3jü°= @¡§îþ?×™Lp„Îåá 5¢QJK•ßtó?îÛwÉüb+žlXLða!{Äa1¯h™6óAõ­“‡¿æoþÉ«ç!K!ðŽô:ûð.[(`¾Ñ8µyæ¶/}æò«¯Ö”RÛMUÒ˜×~¥³d¹âéÆÚrèÝÍ¢Ýëך­ZØì÷’¥¥]A†ÁÿæÚ¿ÃŒ‹…A4ì%Íf½ÝÞùñO¬./çivß÷ßð©ë—––” Û‡ƒÒÚf D¶\k4î»øâÃMÍL󲢄DAØô?uÝ?þ›ÞôÙþ rÛW¿úÁ÷¿ÿæ›>W¤éÌôLLJü¹7¼ám¿úÖw¿ûÝÉ8þæÝw½ô^’¹c;[He iöûzcc}M+½±µ9;=Ó>ÿ¹›ÿü/ÜüyÏ÷˼Jþã'¯ë÷ûï|Çÿáùw®í\ÿO7üÙŸ¾ÏuÝ<Í>øþ÷«Š¿ï½ïݵc§Pòÿº[[¶e+!6ÖÖ1!Ð#^7¡¡ÌsÐú~‘åUQ¼é?÷ ¿ô‹H(Å(SB4jõN·Ó¬7DUåi¶c×ÎåS§ÁÎ;oùÒ÷ìÚ­ÆÃQoÐÎUÏ^[_³0€O]÷oûÕ_}鼤¨ÊÛ¿zÛO¿öµ7ßô9Pj<B³Ó3[í­ùmóaõ»½™©©S'NQˆ4p)ʼ˜™›ílµ«¢°™òqïíwŒÞÿþ÷OÏM5k­µÍ3K;v¼bÌîúðÑýýM7ݬb˜%y‚5ÎÊ¢³²öÖw|¸×à9ú¦_þÃ<0Óš!¶uÛm·Ýy×Ûç·w]‡9©¹é™ÕÕåw¾ó] )‹XÈÂ[ýÁ·í¿çžûâñð+_ûúmw|½ªDYæ‘•••?~ïÇO9RqiYôSŸþÌç¿t«Å\Î¥Qa€ñxüçû•ƒïÚµ‹1{yõL»Ýþèß¹ÛíK)£·üòïY65ê£\ JcŒ—c|0Cn@ñp‡sss£Ñ ˲¿úèçV××jµšçyY’–yaQ–çùúúúõŸùòácÇ›µ¨È’¿ùÛ~Dë,Ë„iš^ðå úI"0ÿÚ×ï¼û[÷*¥’$§I½Y#ÌRZ?°ÿÀ¡#GµÖF¶ÙlEQqqÿƒû;N©ª*+ 7 ôytOs¿’G±§B@é#?rü¯ Bˆ(%¤ÔJ ÎeVä^w}c}Ïž½/üþ}æÞo^YŽ‘c9RÊo~ã®{ï¹or>_œÏßòÅÛ¿~Çôô´”²ÝmWJ¤ãaç®oÜõàýžç›îªªªªJƒw]ûnÇy‰Š+!Ϭ¬¾ò­?§…T*)˃wÜùŸWÞRŒãÐ \Â(HWc]J”AUžícyî1(±F dy)+Àk›ù=ߺï¢?^¤Éò±ƒSG–ŠežÒ¢¼âÂ‹Š¢\ï N®n®¬öF)@  ¢@)(ù™ÕS7Ýï¿ÿž¹–ÿ‚¼àå/Õ±‡›ó¶¦ívw‹uj UɲL¸33Äq^4DŸ>¼°¾¬ŠÄV˜(¤ ÁiVxžãº ¥ìwLö IDAT\Y>½´}ñ=ÿ÷ÿõœç|ÏÆÆæ·õܚ׫««W_}u»Ýv]7Ïó••׳WVVŒDòX¬Bêõúôô´i,¼òÊ+Ã0ܳgmÛ/ùË9rÓM7=øàƒû÷ïç;ß955õú׿¾ªªd€–JhF¢âOéxJ›ã8F:Ȉ·=zÔ¨BnmmÎs½^7`ÄæÚ*MÇ}ÆXÐ[­Zš ƒÈy­õl*v¾ö~<{¤Ï}Pÿ¿ÀXƒBøqŸÿC4øóö ´ÐÙHk%Zͺíì #ë@5Z_[¦òÂK.ݱ´óî×:[É®WXN„nÕæÆA†  °$ÚA³9áeÆË¬V«]~é¾$I6666×7îÛ¨?NëõúÞgßsŸÿü¢(ºiÖ§ ÂE™j*Í5"ߣ–*pg-.#<ÛZºjßóµ€ûï>pãí÷P7ét¶FØnèV>p?Ír€`#À 1ÖÐãÙ˽Bß¾uÛ cÉhfY–RÛÆª*?›¹PÄ3÷ô'-xPk©ÿkÿúÃyž×ëõ—¼è…—]xaØŒH@ ²:›«ƒÕ-_Z‹ÚáƒûŸ{ùeïýµ·ÿÊûÿªâƒ¿ô¿½à{.^ŽBË¡q¯G>ù‰^ÿ¹O%UqÍ _°s÷® jad[Ö²âbXö‡¶kï½Áh}½Ýín*] Y(¥£FˆõƳ­ýû÷_yÅÕW]u•Ø/}ÙÜ{ß7o½õ‹¢*êÍÖpÔ­mǪødÈ”<ÍÚüT_Õ'´=ñõâ)^ïÎ~…zZE‰Z*”^VN'MÓW¿úÕcß÷MßhyN@)%¹øßø7¾ñišº®;ßýîw»®»¶zæ…/|¡–ªßïÏLM·Ûm&Ø5×\sôèÑ lfuÛ³,'¥¯½öÚk¯½clD» ¹É¶ìv»1f»ý«·ÝþÕÛ,Ë2ìÔf³YU•”Fc@€k ?øÒ—-//çynY–ÉÂcBÛ¶]×­ªj4Ýð©ëoúìAEQU•ã8Íz£pÜ^¯÷|àcûXUU&Ë0ðèoý¿ù‰O|µªªñº1ÆÛ¶‹,ǃ†ßþíß>rè0(!9ç|8ZXXüàСCÏ{î5¶m›xÒs½Ó§OÿðþP¯×SJeYvÙe—­­­…a¸cÇŽýû÷ÿÕ_ýÕ'>ñ‰$I¦§§MçlUU¾ï3Æò<ït:Žílnn*¥~äG~dcmÂYžqÎgff½¾RêEß÷Â3gÎ˜ØØÈLŽF£……… :tÍ5×<*ì<¸^#P´ôë‘TÄñlÂ02æ2l†$/¤‚~<°Â¨_ÊQ{xbe-¶M·²¢<¾ÖÙhwêÍ[N7ÉOœÙTŸuTÔ!„%cLiY–yž§iZI¤0%6" ªŠ ”èJêq’ßy÷½ÇŽY9¹ÚXÚ Û·Ç2‹ßºk¾èG_vÉó_¼ÚGð¾ëØØV™Y,ÌH%•¤B=t+Ýhµ¼À³¨Å¤-¹DQÔí šÛ·€qœd I¯?Œ³Ã\òÙéÙ ¬)€¨ÖèGÌfYÒ_ڹēZ†AýÁý÷]riœÆÝþ ÞhÕ›-Ëv½ އ§–W„ŒäŽçxŽgÙn¥+­`B˜åø~§Ó ‚pvvc²±±®”fŒ†a´cÇ®ÍÍ­½—^ŽžžžZ[[ϲ\ÚªÛíîÙ³‡0Ïóf+zàÁ{.»|Ÿ¢55Ûëõêà›w}½ÙŠò<¯x>=ÓÌ‹´,3Bˆï{ˆ’²,“tD0‘"˜æ¹nµœ'f˜ñbkîŽ;o #·5USJ ‡C×ca䆑[ñìÈÑSÓõÀuj¡  ¶¶6…Íf“1²ºº AàÛ¶]UU”RAÌ-Ì.¯žö<Ïu]“Ò !Û®GáÖÖV†Q³!„ˆãØhÒÎL5{ã¡ÔÚ8ÁšØe"£úHŠbfªY•i–i’J¡1Fmf‘¹™é'‡ Ûæ¤(¶/Ì¿à‚}?ý«oÙ¶m¶?:®M)åœ'ilÔYgjÓEQQÜ$I’$YßXsÇ÷ý€˜€QœÚÚÜ€ ¢(ò=Qú¥Ï~¶µ¸èyÁ8ðý4˺››—^õ¬ÕõµÖì,"DµZýcÇf÷]<Üê`,d)1¦ª(²,Ëóžz¿ñ§z£”rÍ@I-5% %%>ÿÝßòyϾâªË.¦Éñ£‡’ao×ÒöK.Þ7êõ×ÚÃCÇ—.÷×q„¡¤Ô€ £ !]¤½­­ÞæÖ‹^øìïý¾¥ÙGþú£Ûv\úâúWã@ó¸ %ÒU\ɬì­÷Ó^ûè‘ãq§3ir3zÆc‰1F™]UÕÁƒ…‡¾ãŽoÔëIûÄd«µ¾ôÒKÛíöõ×_¿µµµ´´¤µžŸŸÃÐÈ@@Á¸¦.ç|×®]»wïž››{å+_©µ&„`Œ_óš×¼ùÍoþÊW¾R–寯†òÉóüСCãñز,“çØ¶mòoP <ÿQFæY3ÿxAÅ1sË¢éxhúKµÖ¼(¸øg´-1cŠsUI{ƚ˂çÌqxY‚ÖUV@\ *EèD®Ë¢z0l¬mzÔ3Y’™ÙÞgµ P0äpý„H€Î he¼ž- S¨D¨_æ>.ë3S0ÕTJ@ù„ìJ¬äC¡¡D3³Í¸áÂxˆÀæ*øV£Õyc­aÏ ƒÁp8n6›Zk̹|ªÇ×¶í²,Ûí.´ÛÝF£…±€EU‰ª€9 „mÛÅyè•Æã”× ó"€áhçÌ/ž^½ñ–Ešza¨”š››+ËRrÁ*År¡”àqÖ;¾š<ær›œÙ\gÊÍñ¯¼ý×`-2û¥7½í¶÷}ÈÙ& 2ž+€¬È[Í•ëºKKK–e„³q¼¹º¶|òÔæÚúxœ-î¼8Nó]»wôz[ߺçÎ$òBµµí²,yY^ô¬½KKÛµ‚ÙÙéNoeÇŽW_}u¯×ͲÌó¼,ŽGÃ!&軋Èÿ?4L˜dúL…&)­×ëeYCJc!aþ§)‘®¯¯§i “â ¥Ô¶íDQ4®eYG5™¿‘€eŒ™æ©F£ar~ãR‰16N䌱f³iÛvÇI’ „Œ¸Œq¬0Ð$®ÏóÚívžçF#‚ÕÕUŒq­Vëv»æ©wÇTžŠ¢˜Øú&I’¦)cŒR*¥FA(¥êõz«Õêt:Û¶m{Ï{ÞóØýYRJ3q5 Îù—¿üå‰.c̸’)„£GN$·<Ï€'NLuäÈ£j±²²b.‘ tÛíöY¬Ü²Œé˜{(¥FüÀ–eù¾ox œó~¿/„ˆ¢èÀ¶mSJÍçù<š± Ÿ3©ÕXä8`eóxkÔ¦.¡VE-Â4‡¿ð¥;æš¡…d;4¯²,#˜­¬m6¦fÃzkum}׳¿§ºåžJ—eY %-ʰ.EÉ9õËu˜k[D!…)µ,DB( |Yf p}f[Ãgk'¨eØúÐÍ7átà„eÌ·h]]é†Ñö½ _ºµ¦«°§0ö²± DaÐXæXYŽ¥i–ÈŒ4%ka”$)F¨]€eY„Ð0 çç0¥FVDJ¹ž@D¡Ú¶Ýn·µÔ[Ý-­u£ÑÈ’LÖeg«³}ûvÎùéÓ§cõz½Õ•R‘I)³,‹G±ëºõz1–¦é Û÷£°Ûî@H£¸?Ä€§u7ð<4¿}qÔí3ÇîlleIêÙNPó(Õòx€(t{õVsõôò%—_6ìvAW ÉFÝt{¾7ç2”'#⻌hæZRñ"qÍ•F€µïz¦cÒ€”B@,@[k«Eo›n­ÆƒÖâR:ê ¡òdìº~2ìú~Xóíöú™F=´;AèÉ \—0ìŰ%#‹XU•hQj¬×Z(^ô;©g!²d”A SÛÆXó£èÔ?]Ãlsju£3ÝlQŠOÅ(ín­:tßpsc< Á€¬”’Š+¥ÒŒ±Ñ(€­­-!ä5×\ó¼ç=o<çyalMà­#GŽØ¶½wïÞ«®ºjvvvkk«×ë:xduuµ(ŠIC²‰2…ÆyssNž<911Ž¢(MÓ••Î9BhqqþáþAalØ”RfE1žðÿ2­ø'0^œ#„ÌÚ`Bp­µÁà“$!„¬¬¬!N:U–%e Q‹9TÕ`0Fy’€”ÔóÄ#a"Hÿ/L™yõ¡æaÀ£þ(LO̓fÃ~Ž1®×f)jµÒ³ýzкü¢ç [ò´’©×ò§‹Œ»NK•¬æÂ€+8 qÖë-­u2ŠÖŽííÚµk<ÍÎÎQ@•YQ£A´}ÇnßïEõ°J)³†‡v½ˆå‘“'š3Žë„e,N/·7PܬÏÔÃé8m;ŽåÙˆgCÄPX$Ú¢køö©xæÿKKKeYÆ~¤ã1¢”/F”X–””‚G§úk­‰ei­•”€ÆØØò²D„h!Àèœya8·0ß/FyyžƒFÓµ†ò£•NO[ץΠ3 ÈèX"І׀áÜêüX{–@Ä4Œ€ƒÅ1R†À,G ó˜+ý®çØP=Áì8–΀ŽMµc(p(+…oӦ祠¸,sPÊ †‰³‹¢0¿§t|MLl²ŽZ­E‘”²,KÇqlþdâàI½ôIøÞ‚B„…Ñ8‡A8??ÿt»ÿeU™TͶíW¿úÕ¯xÅ+â8ÖeéWÒ¶ÉHä¾çöÉÏö5Kd𦼶gù¾ßï ­Æh˜à‹öíÛ6sfu+ËÒáppÉ¥\~ùå_ýêW½6e¾i<ÂÎÓh@çžPôÐŒôÝí™°MÂ*BˆeYffRÕ@Œ±ëº&Mý6«ß÷ â`R_!Äüü¼áP›BúÔÔT¿ßŸǃÁÀäÿ&3Ý¬æøœóÉãoþ¹µµ5IæÃ0BdYfà S2@ƒ‰MÁÕ$êæ…eYý~ßyžEa´`£(Â{žWUUš¦†¿à8B¨ª*¥”eYãñØämo{[»ÝBÌå;TzVÛe«³-‰š@Ä·˜g³šÃ0ÒÀÀ¥–²Z+ƒìïo¼«L†º»†íõºï†¾‹1¶-w£Óõk-'WV×­»ÏXNèSGk­@3ƈԖeQJ©.S ¤oQP¥ ±‚(F\òªBaz =5ëj‘Î[H 3ͬ,¦fš AÓ³…Vµz3ŽGyž[ŒZŒ"‚+…lËr˜MG£X#€ÕÃáÇB»çò¼¨ûÍÀÆìXhµÝnÇ Ü¹VHã±…Äâlkcc³8-wAkYfe͵´ÐU2ªùQ=œÑB¼P\‹z¶§*Ò"ÎâKóY‘–y%µ ˜i¤D%K^ÍÏÍdEZâÚ"P<+R¥*„”Ö@ÆHkŒ(Îb`Wáµ4;HBFÌ" [ŽFj4o›™›¾úê_þ­·ãéÙ©+.¾¸Ók˫¼*…I0¤Ê‚—Uµ83“©àŠP¤8WU9Î\«N-Rð²*9 Í(C˜yĪ8£„1FŸ}õÕISÏs)vlײ™ªW”;/Ú7·}þ[½)ù… ÛO<Ñt½2N*QÚ»6µ ‘eñLG„…5ÂZ¨R±1¦ZVà9°C7?xt¼m "ß-«"u–8>Ë›’IM,f•ƒâJʪ⠹k3‹¹_r™úúOÝpôèq üØÚ¶Å=³­¦ëø–Mã± ú½åÎ铇N;yŒ "ç–Š‰08¥!D’Rïß¿ÿOþäOöîÝ;??Ï“B?"ÐÐh4Ž;)„0ëŠÂ÷ýS§N-//›IÙPs¥”Ʋ:ôGôGUUÝîÇ÷'¹“ñâœwÛ[³¾¯˜3Ê’,Ol7ªÏÌ¡¢s²×93Ž9£üÞQÚ}ôoÿá’é…AQ´ææÉJ¡0*J¾÷‚‹"Ãý‡.ºxŸRJ ™•Ñ`êZ6¦ÖÏÿüϽëÿèÎ;¿ÞtxQR‡)¥úåÚƒnDµ»ï¾knvñ½—ÄÉèÊ+/ÿÊWoùô§?=ã,Ž”…Oå»ÛÓh0¯M“)œ#)› Í<žcãVC1gÓ†0yÌ…ëëë­Vk8FQ49ø5ðu2p/ŒF8P‡ØN¯¹ pœ[’3­5 !­¥(‹Ž¡15e{TVŽe{”!©r¡AаT aÍìºÇ,˱m&¥.°tGnâÚÞuÇ…;w%ɘsI)E”¹4 ÃZ++gžwÕåaXët¶²¬PJø~hÛ¬ÝîîܹtâÄ©VàPÉ5Ÿ¦”À˜¦­*á;4ÏKŒSŠ1^x¶í2Fò¢;´YkÄYl[¬9ݬòʧ¸W|v~[Z¤ s k›kSµˆÈ ]šŸ®úíéÀæß™¹pWZäëm´‹š…Æi2x›vXl߉¶ÍTUa|h)¥£ªªªªÜ½m u˜î‰ÎÖÆâ⼡”1S@å:æ[”RBø!L)³("¡RPYQTZK'¬¹®='q?7oÛ¬(ª²Ì½ š¾à"f»"-®¾ðb®¸‡Ù»öÔƒz6UI1„P©šãX†þúŒfjŒaŒa Bƒ”\(Ä0¥–Ê·ÀµYžñÕ.@7G¡cô,FQHD0aeÁ4¢”b¬u%*ÉK]R|òä©·ýÚÛoþüWO:¹ÕƒÚÜÁƒG®zÎ5›mÛaãa·ßÙ(Ò~<Ø‚*#Õò\³Ÿfm£wÛ¶[­ú½áWÖ¿"„vN#ýáÍ€(žçDQ´¹ÙÆZ­V§Ó3kádõ2+¥y±¼¼lÈi“Nß÷ѱã8ÍfÓ°û,Ë ‚`ÒìgH}”R˲žÄÊÛcP'xŠÖZaž/³V™Ï=÷œ9s†sÎl«,*Û÷±m›D‹¹®ÖZzŠ™ϸ€ ଈ"`j»Ñ»ïºÿ/?ôwR* <Ïó4+Âz­äE\$~èY®]T¹‚b I’ô’<Œ¥€ì=v¤ý‘­‰ˆ©xž†¡”r<—eiŠ?¦p!òr³½¡5bcêÌÉÍá 33·†U‘a¥â»,`àI”\%Œ&eª|·É â; ¢¤*Ð=Äê?¦z` Ýnר•ïÝ·ïØáë««¯ú©Ÿºá†âá0®ÕëJ©x42êâ±µffŠ¢HÇcSf £¨( sÅyÅ9i —\r‰ïûã<€*É`~ òt”Ô÷ÌµÜÆ¨×§JQXh)‘+L ´ÖþÙ=Ò`I°° JªÖŽ'Ó$Õ  ÝîîÙ³çØ‰3G­†k€ðît‘`,Öy ­èÊÝlÈÆC(0h ˜^¹g7”Ý[¹MwÏÍé^_+åyÞÉ“'9çœó$IæççMúÔm†°`Ha{öìq§V«Eáûþ%—\rÿý÷›’¦™Öž<“KŒæ‚sÁ Í÷§Ûý_U•âÜñý;w>ëYÏò}?‚Ë.Þ—&ÃÖTc:•qjåUE6Ó`,moDþñ‚k B€e!ŒqQÈóê€1 ¶VóÅE‘¥©b„¢¨1h÷üÖ‘´äPØx`P%” hš@´í¬\ Œ@ s‹³Ýõ¦ L;å9ʆz„åãé»mnn¾ùÍoþµ·¾uß¾}ƒÁ »µE‘1Eß6¿xÉ%—pÎ8`|Â'~éß¹]sÍó———;VåùÂâÒìììæææúêêùh‹E¾ï¿øÅ/©×ëÐ;–öõo,ç¼å¼ÓíŽFY{±Ñ¢JS…°Æ ©BHK¬àsê_o |ä=…(й„”ÆŠI¨+ÜDø÷ßûÞöþåÕÓ«Q=û²Ë~÷ƒ²@ÁÏ C<þT5æ¶%«®ØŽèöÇý6H ŒBQ¦ãµ3JŒÚ€Ùæá# Õ®]{Þô¦7Õjµ;ww:¥à­o}û¯ÿú¯?¥ã›$¶m{ûöí?þã?î8^½Þ\^^®×›/~ñKÚí®©Å=¥ÐXšqq½^ºÝÿÍf3MÓ}íµ×EÑívЕc;p¸ä㡼Š$,8a÷ø²'ͨv÷' Xá‰*v¤KíNïñ¡ã§OyQèx.¢Dk R)¥TJH%¤P:šû6‹£¨Ä ×ж瀬¶ïÞqòÄ)äzöƒ>0 ¢šû‘¿ùÐpÔó£ÀÔQ™ã¨,Ž1{D ïöM<ÓBD„(¥&Á6Q½ é'‰®ëº„Cæõ$d2Þ^¦+1f*ü&£‚ ÙlšÞTM M`8Öj5Ó×`ŽcØ æhÒ J©ïûc#h ÎU…éõÀ7v»$I¯×3…+˜žžNÓÔ $yžŸ¯%gòvp˜ÿ`PÅÅÅÑhäû¾Vfgg766¦¦¦:Îc`…¡4MÍ…2G–eõzc< ÌOö}¿V«ŒÃdyY0 EQyÏóL7“é 1?Äd@&4]Y–2…çyEQ<7IãšëÜl6 Ÿ×dIx>ò» ¡PÐÊÀˆ†ÔEµJªºçÌ·ê—îÚá¡ÂTS»Bb¶MF²x‚§¡ïy,%¯—1×ËJ^Iå‘à™Î|„E®8P‚)Ç;§ç:zÃ/üç¼à÷>x0¨7ÊJWJSÛjDZÁ{,Jªªr,úÞúú&'¨\‹rà8ŠP €}7ÊS¥*¢%&ˆ(ŵ,)Ó–ïŽbYqeº‘M®K)5Êyž›’£iDÙÚÚÚ¶¸0!óŒÇãÙÙÙ,˲,›ŸŸo·Û–e™{È ÿÌÌ !d8šV3ŠfÀLŽaÈ„†mˆ|æ.̲lÛ¶m«ªêÌ™3\pmÛÃáÐP¬9çQ ƒz£ÆyÙívgff‚ 0•²,=Ïëv»ÓÓÓÆˆÎqœ ÆãqYæŽe¹®mYçeœæ\”¶åºžÍ+ù=Ÿ)×uWάnÛ¶msssqqÑtBò<‚ ÓéìÝ»÷ĉŒ1Û¶¥à6£Q­­­ù–¢(fffºÝ®¡°Ð Û¶í<Ï«ª2¼Jsds7›Í|d¢#µR Ai©Ï b@“ý·^ ÄÃü&[Ç qcŒÍÅ”R:ŽCNóÄ™‚ °mÛ\Òªªjµš!_z•ïûò̲¬*J¨ïz„Ñ2/Ò< ý< ý0àeU x>"8Ïs¡•mÛ ‹‹<ð€q¯Èóܶ,ØeVÍ 6ά]qÉ¥÷}ëž¿~ÿŸS‚Ñ3­Ç”XyQFزç\) Œ2PJH%ÏÉ.cfÁK¥A]RÂEÜZ#Ob% „A+ÉÑ9²¶@U0½m¡³Ñ`‹{ö9~ 4 ÛÑ¢Uùž-ÊDˆÜ\JD0Vê,4>áÂÐ׀Ć 6éãýÎÕQkíû¾á¼5›MëÕj£Ñ¨V«•ey>·Óæ63“¸ÉØ 01ù:31#;j0oÃn0ÔcÃjOEë 8ç“ZŸëºæ< !fN˲ŒYçÕCI­ÖcÓ3òä0,žN÷þÃ…r‘ÁØ[jlìîε`ÅK/ +ž‹2ê~2ŠÀ‹¬"­”LÀriYIÍ5  ¾/Ê ¤! F.£šs!! ½nœ!AàÇP BÆÀ1ÄDZ˲’R»®¦%ð,.rÁ\—90ÄYÙ%`X–Hb]aÌ^£”' Â;?ßëõ„ ¥‘q¡H9è‚(9¤Ò·˜Ìx3ðã$%Œ ‹2­u^q (øµqsP”2‰€+ ZQÇJ‚ ò9 ­‘m‡I?0˵µ–¼(,×ÀU^‚Fs ;ú½aUT„:Q¥Ù°*âsͰ ,Ï©òüÐpny˜t¨iú” Oh=úŒïS»Þ=Ì ôi±M*y†•< ô`Þ™døÆ/&Ïó(ŠŒ”£‰Ä&qšÉ·'a˜&'ÆOzfMåfB.0 F!œƒ©»Lâƒ,Lè f†1Ÿ¢È|—‘ëš´x˜Z–eB&ιÉwàœÂâùòŠJ©©©)ƒ¥¿Ç 5˜“1‰¤É.M jÚ(´Ö–e™Émò“£™ƒ›b®ÆDÍÑuÝÁ``.³„ʆ)¯>ÚÂÂÂÚÚÚdŽBL®óù—}|À99‰o;ŸGü]¨¦#PX+t¶x¡B¤äÕÿþ+oÝsѾƒGŽ{Q$)„±fÔpÐmÔƒñpÐjÕzýN³Ùˆ³TjÎÌæ\Œ“ÔvÜt<Ž(" %#ˆ‘Á`ðì+žuÇw ûÜÊ+h`€ €}›î‹:ÏQ\*ñ‡l@cÐIu.egß|B…ÚGH©žàìöˆT= €Ÿ›?áY§e ÏS4Pð è<¾~Â}Ÿÿ’B¹~|{s‰¿j7R ¥büØã«÷Y=ÚïÖçNX‰à‘@ZŸ¯uÆÿ(çÿh”ÑG{ÿÑŽó(ïc-*t>RÁÃÃìç&Ú¼£¹ çP%&uS3™iHP“±ÖäœZ;FÈø9)¢%A´Â ®Ï9o>®‡K=Ñëù¤‚OÊKÅèáÑþÇ,Îo™à}~ãÓG;œ×l9Ù ýï+©¿íÖÁò”=OÐêœäù@Ãùw—Y‰LeY˜»4Ñ+  ‘¹ÂàÜm/ÿ'{o$Çu žsonµWï€HJ$ÁM¦$R\D[¶dùiä …<á÷"^Ì„ŸÉ0*R¡$µ­¹²åK%x÷½=”ï)^Ê^@©q{xÚYÒ|aË5>’GT)ÚźÝW¼$MÒç ¶«uÛÔž©ÁÒ`H cļsêž­ÂÅ#Ò-rÝÑð €/ÀÓ“v eHW]C‚!´ð]K«ñÇ? 5Xyˆ‹ÀŠ +…€-_[(¤ÒÑœ?‹¡ýÆžC|vó‡ÙZ\—&µp¤‡£DÐK½æ˜JÒxˆ>1•¸Tëöˆõ$íúŸ4>#lºoüGI ñ3BƒÅ§Þâ-j;’…!ŒåøÒÔ¦ž[@Rpr+lU¹†ÞkÂT„š@èèÑ ± ‡á£¶íÅHÛ½e}³&qšu Úÿ»0˜ Ï,ÞÚ4ƒNužéí§»çSŒ¥´“ïÔ~Ø›@L !\@‚´FЄ‚ý‚S…&O;nZ€ê¹·Î;@ì­ $at;€¹Œ™Ïz• ¯i†ÙÛ| _hô4"h#܉û½5@€ÁÖ‚ÈC¨¶Ü<öO””\Ob‡Š”´Q­‡O`Ii,2@æø +a´{(Àp÷ˆo9 Dï} aþçøÎ=†b8lÑìsêv>ŒiR‡JïH)uBК‡UÊCŸW”G„iÀâ¼ÛmýFˆÀ•2H÷$/>H„ä±Ñ1ˆ¥_õvb€ €Mœ¨ø3Ï–e­–mÓ™Ø(Qü DC iD-¸ÎvØÓÔ‹ô€Äöwàäø±¹}0Áø@aŸÒw¶é]ÿíÝ4 «Å1,~GöÆ[ÀsPK ‚ÀèßAŒFF^™˜ï©ÿ…ÀD®ÎCØÅØC´äi @†XU¸‰·EMÛh½Ñ2ˆ4í­áÜSSÑôj8j BpH Ön 4Ø[d´ØJAá~¦­µq¬£`Óª7/ @ S¥„Ô‘ÀÐ`Ú×@¨Í4kˆ.A %4d  Z€¯< ¡µ”¢oΗñ~‹CÎ)¥¡§ç·nó…hœ>>&t2•à§ ¢²&(@j0(í¾Ò„Ć¢ÀÞÆLCÃ1À¿‰ˆD"4D£kãB¹á†.`+Ê¢G›ñ‚>SÝ_¦ý´'5œ’:DLÛ»5Ôûm¿1¬.z¨ÐÈÇøî£…$MPìw£¦YÉ•š­šž!zëƒÖÚíä@zZS7ðZ@XXiU•’,C¤9ñznŒýy ºçH‡ùŸá­éA7K€6tŠˆ”øÞ0úHz GHµ÷i5ôãð¦ L”DGÚþö^c¯^€P hµ's>q£Mµö4ðÞD”À¬käÄ<ìØÃBÒ€QMD¶»Cƒ Ãp †.C ÙˆèÇש(Rˆ«²n¢¢¨ô¹R Çw°'…Jì•C>ÔqL\{K3âÖ-n3Ã%]ÿ`Z[C"ûÖÀÚµ ^Ž6Z$P ä!¾X”DÈj£ É5ïx @J–w€Z›€h‚„TZAf„õæm»—°GdlÑíóã‘¥¸ªkâú–´YPÒz&Y ê3· ¤ÌQ!!•”Є µI"d´è•ÖŒRãw8’­œ(Œ,µ@¡Poµ%mjaâ¡&´A‚B Á´„¼]†ÌÔà–¢0›¶Á}t†>”QôÒm@†³`Ñ0©õVô|0Œ=ÙI,û ô}÷v[ÿÇÄûL¨„¥À „$Ю-¾á¢9/5,.ˆ¤P1„ßÛbEo±ØÚ#0Œ¨ð‚ÑÓT–½*b1P½¯Ñ@§â°MyÂ…-Ó:ØÃû÷ÌQï›h½¸Wãðƒ0¸ÝúáN€zÕCB7ÄAÁñ‘ð…FÀ õ­èÐ.² ý_*' tËw <;sh~þÀ쬡cN~´¢Èžç ) ÐèÞ²fÄP ­Z4!Žq@‡¼ÅTfãеO®ië˜@«O_NǨeã0teà¶#õùO=꥜aÁ¸ÍG)±Ü4žÖ0®ó  Ç~Џ[ „çIüØ÷ {œM7Ñ…U÷)M‘QOñ)†[ÐÄ\²-’vÎ@ Pë¸ (6ªû 4á/$ÚÕ1¸áÎZÐG2úìØ-£¡/žFp"9ÉEì ½Q¿†WbáÖŸ;¬ƒB!l1ƒ(6VG£ ½"R!RÇê% €ù#¤o‡iÂ×.0¾…í˜z3mÇ ®¶§å' b÷À\ü8”:‹AoI†Rƒ‚8bÀË—Ô| Ÿoo¾ˆ„Bh©…¤È–@ Ã-¡º$D¨D…©, RX êá A „6*Eá’ÛGàŠ2 @ñϧdZÝìz2θʘp9GwØû©~H?ƒ04ZÃF \|dÍ$°44B‡zg„ÔBñæŒüs#SZâv@¯ÕÍ­´S ´|0쮨ÿû˜\ûŒ†ýv7½åb?Èù^°¥`¬4 f$0+}4$h¥|0 ãänV6Þ|ýuÃé»DÛ0û IÑнäW&iéžzsL0#Æu©Ü֑ǤóìŠ'ŸÂÅå܆8—_õÃÂ[Ì„´ŽÖø` ¡ [ P?nÿhÉ|w:ò›R<Í¿;†O‡ÿÚ›Ktûé@¦ßõP—T`l¨o)9Elá^$/òsâyRѺfTk·w #ÚZºâCÏá T¢˜&¶[üI™¸ô÷ŽÞ»~žÌyú¸ »¾˜ÁH"îa„g2ý“šÑÀƒG=Ñé˜PÜã‚ÀVjl¥ýlN…N»Ø†Œ$€ì §éprñÜH¤Q€HH‡Yü„[øE/·®‡˜§ª¦íà ø5ÒÏIݦ6€ÈNT’fŠö´B f. ¼ÿr«r@‚{l.L AÐ  P| †@ƒAXšÿŠL.s1W@ „”ˆ2ù …N›A Hoñ*BPx‹†i í7D‰}Z q9¶:E4‡É#V¸“ ) ~†HMj=Ùź=þÝ ]áQ()@T"âÉô6N-4dØœ[APc)$@ @=›%0…mëäZÄ÷ýh D¬•ÄΘánŒÏ‰:Ø·-£aû…í3nÓëÜg4ðÜôûø=O!â{GbAF)ƒvF$£Î <Ѐ°{ñÐÁ —.^]¹nxl¦Pÿ "ˆ1V¤-j„ ¾*bè!Æo @idÏ–$Dôä䯔ÜÒlŠE$‘9αçmöŸ'µd7¦‹ð³åØèÑ1Eª¸›EB«—¤S­fH·`¾¤ê¢M„¡×‰$â9ÿc08hë5ËœÄÄNB”z¯IÜA «Þb+ÄB‡<—ALÄ z¼›-ŠgúV<<Ô‹2£gêq îEƒ4‰PA…‚àáðAb$,Pi¨ø@h:ìø|ǃÜq¶ÇýLH '›Tïö" *‰£¤`+uH ÆÞ~‘u<Y³ŠK8S4Bƶ–‘Å• jbž;¢FH„ZƒÄZªjØ Wü<·ò2¶VJ}ë­É Áq8b°%yÝcFh£Iâp ÈÐ µ0ˆXª‡Â*áh‚å@²ØíÖ ¹Óq‹á5  <ìå—©H~4¥÷B¡@m +†{”–ôbQ‚{‹ISüÄ•“úmP r0B>q1ÈHl²ß÷)ÒÖ'¶·Û-cŠë[¼?ûšÁ®Ó= ¾¦ E±} ®ÁbD €ÍèƒÒ®ÝpÅ È<Çaßw+ÈQüMìÙ ñôF±ÓŽƒ7áJ§.Ó {hw MØg4ì·Û»E›ØŠ¶"èT6þt¬}? w6YR’º^‡,ÙÑ0HdtOo!:“Ö[‘ì1Q Òï¥ø@&„)ô” †E$€`€Ÿ0?å!Éy P¤c4 †á¢"Õ:¤30&eMœQ2|$ôÏ—¤eÚå-%EDß‚ÚÇ4þ‘pý )·l$¦íú¼Ø­š Ø ¿ÇT…žF‹ úÛZoßp9‚$ÄM:êé—m&¤ùjÈR2ÄUÔvÏ1ëIÎ’ÞŽ`!¡ €‚(¨‚þ´¡áÇQÁ´7ài;Ò“ƒÄ„Ù®‡U Ðú¹€†é¯=8d÷1_¶þâh"LwzêÐ`B¸õ2 *Æ=c%a Äž´{ˆþ i$¤‘y‘ˆíÍ[6b/X½mgGÔ#rò§ØÍIëÏv/wG¬wå© 2lŠáÎdZ¡ÐI€B@РQ&M4j–£Úñ¨P(AB @ H€’°»ˆ"Ö!×]Œÿp4‚Á𒆑C ¤dÏ2S(Bý,$ AßÁÔ‰¡ý–”:ÑMiŠqìˆÃö½3àr‚©ƒ…<†v#"‚A¸æ)uLP6€ T”# 8Ý3x#NüéåN0;s0fÉUœ½ÄOŒøÄ6ß!–h65¡ìýÔ‰Ý]Ï} (ÿôôÃy·ú-ŠàŠ˜_¬·ü%6  B ªYÓçÛöÖ+ÚE¡”@0”‚ŒÑ!œ°ø°è]÷ü²Ê0¸á6ë-FI`,@ ”À´ÝïqL^ ¤W)¶ñˆ¾‹uºßa§¼" ßð"w—z.1¥VéùfãÃ6˜¨¯9¡±;èÔ'¹öÃø@C89Ò] €aãjʰ[DüvÛðFج[ý©'PÜAq*búhÜš°¡ÏF³Šb«°¨^\×+Öů5+Ù^@k¸ô)­r²}"Œ™Du ڸ׃(‰{ÔØð8²jLâºIæPOÎTD üÜEDý¶I<± ±¿P5—æ «`…ç´Õž’ŽˆŒöý"$3[û® (TÊ`1×ÿ ÐpNµMIaý$O†§@l³×‚$`P‰eA)úboƒ–;!!@÷ô<·qs4 zK"›ÄpÏí¦i£Jc2’&hò ¯¢ªÛ݆öÉ~Ûoпü'̶ IDATuÁ(n@{«zeȬÛ¼?‚­ä;£Ûm…‚û¶U.}×/0„$""­A€ýõŠdc·° T iû¤' PœL‰0]êDBKY is'µU“`Ç£æÅ@¤eRôC,CC9¡>úðzÉõfA£$Æ9†ç™f餞PŠQ ¢ä#€N]ÏS2’¶’ÈÄÕ±%qºpCÚz¿i_)Íè„Ð:~¢-³TÄ©Ë4ŒÆ#Ü2‹aËÎé oÒ!!#ÁQ–°í¿_oCj^ %±o;¢L Þ~ì bhþk‘RwühÃû?‚¡ï†‘êyiݳ0$ æºkÐÐ5N @vÉ„ˆ(:LOë;&/‰¡?=…°ksèHI¬Wo "¥5›¤R°ÚydªŽu”ˆCMw¢ÄoÑ6˜…{uÂs^·œ¨WÞ¯Ÿ#3rá\*2¹Œ€0PFE”…ˆJWJ( Å0£ B ’ï#HD@¨zþš 2%Hãüë¼·8}Ϙ&P¡0„@±mÎj­‡Æ“î7uÝò­aµm욦¼Îk®!J[”)ŠÞï¹½áõè­ßBƤFCš¦-Q‘ïûZkaJ¥tÀ%µD’ ÐBˆv³ˆÒ4LÓ4 ƒˆ<_ù¾ ¤”RJaHAV)MR*–!MH@"™j ܉†Œ0¬ÈÑBåµŽŽ‘‹Ås¥ú“A4iåùÒ2-à íV ‰I)$) ü„5)f1ÚÁσÍÅYùóšHke1tÝPA ÔÀÕê …ý£Q a µ4µq¹ ½3­5Ï>¶‰H)ešfÿªÂšµÛªHµ BH€R“öHƒÐ—@2\0„&‚V:$1±0H˜G¡™Ìzª‡†¯D¬ŒŠÀû¡ˆQ ò·¶Ž´uôSÚoé«k¥Ãz$Šþ«e*­DwGX‡¼>÷è9Ži­‘‚¤}ÈþŽdÆEvã{MÒ>žvýOjIvѤìÛ¤ëÜ+†I]OR?$ŸÔûòdPdSŸç5а2‚üí;Ž˜¯ÈízÔ]®w 0l4À‘&Ý«ÍÄ”-L”É£5Cì3TzÁ€mÒr)ŽÓn¬á”âiŽ)sþ“0ôïKcwqþ´×—ÛŽHŠé©"ôE)Ü]÷ÿ–p·è) C,Ò)±a"I(Ò¾Ç~p¸Øö @Æ‘‘4G2¶-D½#"—\€mGĤ¸ÁÄ6¶PÞr:À%ˆ‡×&Àñêì´ŒDÕ6²Ø%I÷j—òkŒb¼8Å#;NhüSÅCn÷¼]QßZ¡C?ͯ3(@:³Û/#Ä”qûÕ&Xˆ!F•r$¢bxIJZà ·´T¶íl=ƒ©ÿ(„H¨ÑRBm÷”@ª¬gÁŽ\bˆ,~L $DH°C•òcO Nìɢᅅa~‰Z£PR ­*Ò@Z(ÈY­ ”&MI#)Ò…B!Њ}T¥””Ò²,Ó4Ûí6(BkE¤µ4i­,!e” … {¯ ˆ­lrH¿É°h8ž}Ò¡òö£4Í¡v ™$¥)øõ$B‡H®òk)eŠKÒž>˜€Bhi ê¥`Äp4Ɉ'¼éXæKÒ H=Ž…+IË ±Å6 ¡=ÒƒòÜ` HE:›T@kGzàµ~ïc:„£µ`vÞƒ°ÿØ»þíÇdûj[œ(–—‘ÔI«œž0´Ëç2ö~4U{÷;íóO*…dîï %4J!Œt*ÞÍë€L c0»l_žd¿Mj‚ U´Þoûí§düOObp¢ÑM\mdZÝžÙŒ}×¶Siƒ)>ÇÑ‹;ÆÑ'“Rßw<?ßxøVhkXkšfªóOÛÐì{jªié®sðqs$¹hHÒüqb)ÌCJ€çy=:Fp? ­Á÷‰#øÄþ²†n·M¤ˆˆ¶³ölÛ”RJ‚Ð|К´ÖN6‹ˆBFË‘£°c•¥ìëáþ’<Æyî ìøùTji¯Iµ”=A€¢Á‰ëkƇY_ŸÓ<1â¡ç‰ÿ(LŽ)9t°%ÍkB€‰—!¹¹õjRŸOê‡½Ú £þdÒMÕqM­–àHbdL»Ÿ§íا=ÿÞ ÓI0«Ñ7ÆÉ4Ûoûmâú~»³é½AŽ“ôƒ^öiÐÐäò–»;Ÿ?sûc ;—c0Òõÿ˜ËW\ð?î¤íRŽ|Ü»PJ 5õ“Ο– ‹"Ý*=šZ%Ñ奥ªFIqË›ˆ˜ >úz†FûNÏTù¡V¼@`ôz~~V)åyžï+Ò ˆ„@)¥@”Ò6 ƒ‘&¥”ïûR®ç¡†e2‘ƒ ð}¥$.4 @DŠ)¢Db(Ê0Ðáþ‰Ž#ûÏ+ú‰hÐîÈ,nšÖ`Mr<ÒŽÛ 9šˆH'úÞѬä'Â,•¾QA„#æutž8T1´bqD¡ï»—Äy¤a"€àÐ~㑚ŠÑšZ¯&“–6Ò>܇)*‡Ã™ÜƒE©¢$²T÷5©­(@Ã^]Ïí`§EY¥!£aи¼5Á¢ýöSâˆö ÷;g¿í17yžADxw¥lÿÝa · JÈ-«°0hõ3w¼ÔAp!mdC)Ånó´{›ÏEãv“Ê5õ}çô)ß;Eºú:3ºßxsŸƒ=†ŽÃúMÇÏÓgè×ë›ï{ž§µ–Rf2™L&cYV¹\6MÓqÃ0”RN§Õju]wccÃSAžò ß0MS!L ­D0 c¶åˆñsÅ“Š×$‡Ñ ~Q:€ÖzÄç‡VÄL ®ë¦?“rÐp§ ÓîgHfC0mch&Â.:çLíT©“jƒ¹Ù0’ñ—K{©ì˜E7Û#ÆRÊ¡ŽqZ k¢!žì ¥:_ŽñŽhˈHZtûqçß¶í¡@3/úú?΀èk¶möãsÈçq‡ ÅRÖ4Í|>¿°°°´´´°°ÍLÓ”Rj$_yÖ¾ïkÔ¦cfMifaÙ¾V ¨Óli­I¡( "Еùƒ6N¤qjýˆñÀ¬ !;J© ’ žQ¦F¼Cªñ“tI šiû¬24°¥NDbJ©$ a0”ŠÑÀÏkÐÿOzޤÓͯ>Qa™=ÍŒ†éŠAB:G4­ãº£䮡áÝôÃ(±m 0¥µ£ÒöÚuc´ÆÐí4ìý™þ¾n7iwŒhÆP›iß!Üo“ÂöÕ~Ûooƒ‚dl&ß$ÕóŽ!MŠÑÚè NF6ëèt÷$ !"Õ+ÔAàyÃ+%]X2—:ႤK;@Óýn²¥DáÿqG”Ëû…Å4“‹ÿ€„þ|¿¿¦=w¯¶ý3†Ô] °¹Y[Y¹ñî»ï*¥Ú¤e(¥€‹Ú†£ A MØ27uè"B?€”¹U ºø1û3öÚëtR­@†ˆ:€ÈKʵæç7£…¼©ÇäÆIòìMó»\bë‰G_G!HkЃ¨ê„î=ÇøÙø©v0¢';0°ûŸ;ÿDïÍ-à,ˆI ëúŒ lÑ.ŠÃ¥ÕhüTO E €E’ŽQôù¾QZMfýÝd !^Þ²o[IµMjCO«¹v¿û 3Lo·ÀÛífz1>”'ÅÚo»n“Bø&U_ýf®çÖgVO¯q-ôAo¯Ä¥”Q~/ô"KBˆÄЩޓIå4öí¬[GJs=¨wሖʾñ`YVªqÂ9ù0vNæ ÛDú15É™ìóM]^q “P£î¦Æ'ʤûŠ¢²ñ`cŸ!ý5. ÿÅÁÈdÜp¼¯¤§\,¯\¹J¿÷ÞåsçÑ7ï¨WC4{s¿·ŸdYV³Ù,—Ëkkk…BáòåËO=õÔ©S§†îSñ}?Z3‰(ŸÏ»®Ëgãíéĉ/½ôÒ‡>ô¡«W¯ÎÌÌQ§Ó±mÛó<Çq”R–eñŽÌû3Ȳ٬ïûü~·ÛÍår™L¦Ñhxž·°°°ººJD™LÆuÝL&AÒs4MSkí8N­VkµZ÷ßÿùóçMÓ¬Õj…BÁ¶í ´Ö¬^<¢3Ûíö±cÇVWW»Ýn6›ít:7nÜ8}úôéÓ§£H”"Šˆ¾ïGêÅñùeÀ~Ûoûí&¶ÆÛázîö¡}¨Õj Û,Â|<ºO}Êçó–e !Z­–çyÕjõÀõzáo!D6›ív»†axž…1¤”–ei­ƒ ` ȶm:¿8~üøÂ‚ã8 4t»]Fì³¼³=zô½÷Þ+‹™Læž{îYXXØØØØÜÜ$¢l6kš¦ëºN'“É$Í;ß÷_xá…üàAضËåêõzŸHöÎëÒ¾K°ßöÛîÈ[éÏïXg~L{hWMê:šÇÉhâý`uƒ[#žºWqڈĴ#œƒ …ݼÏðÝ}à±ÕjµÛmxî¹ç\×½páÂÕK—rÅb* Á0 FØ a¬ëõzè±³Øû“m9CÏÃ’0ƒ#Ö-l Œ4$M(0bš¦eYàyžçy–eñŸd€p]—­xf;ÿ•a”¡õA ¡÷WÉ$)'5H‰–e :vÖ:pàÀñ»Qm£¶¶Q¹zõj£Ùnµ;B‘ô_£Ð„„„$Q¢0”ô@Š„ °ì¬(bu£³ÙŽ…Z)"…D¾¦4¤‰¹\n(Ð0©úö#æ×Ð~ë#¼À°Rã0"›¸ïÃü¬Ç_ÒŠÌí¸þl¿*¢(uâöX'Ó¶$FÃD"À»vtàû"ƶإ8èÐ wp$ÇU°ç€þ>а×@yžÇþüêêªmÛ¼­48¥.Nu„X4(Î2jÀ|„N§S¯×766LÓô}ß÷}>‰aív›Ïó˜’ç|µZ-"âF +ضͤ °.ŒçyRJ&†Þ—eY­VË0ŒJ¥²°° „XXX‚àùçŸB‹ÅÙÙÙ jµZ„\ =ÏÒÒ âð/ò¥¦š;û@Ã~ÛoStnÁ‚Ûç‘ù>Ð0ñ lðTãTIØ&îHôAÏbKëíUä04Ä͈]‹köýbÚû*–˵j´6çäÉ“_ûÚ×ÖWW år£ÑH4˜¦ÉŒ b¾@d9†ÛcG«õᆋm÷)õV‘“;ª¾÷9|Uü <Ï‹>Ðn·‡X!bæg4ð?y¾ utÙÔpt…@cëÌ 4 Zk!4 Ö¾i¡e™Žãt:n«]k6H£eÙ(LEH(|MB ih˜ aHð„aš–“/Ì8Žƒ ³Ù¬cZC«ÕZ_]A©mé†~à‚&)ÌN»­‡ùŠi´êñ}øQô°¢j}Q(a4Ð3æ\Qö5Õ}%µàCsÕ‰›ß÷'Um!m (준†$­ 1rÿÚæí€B¹»þÜZO€ &µÐ4ôõÞ |sÓ¶3o=¿ƒÛÌÌ g.ðël6ë8ÎÙ³g£‘‰rQ¡ßÈNˆÏ  Ç-¢¤1±} a¿í·›rTn͵£Ã6zÚoìç´O9¾ÜÌÙ«úÒ·tk~÷ö¯­×ëÅRIQ­T±V«Ù™ 0ƒ ÐLúj7xž‡T´Ö¤5ÙN>©g8Ÿ3‚$ø»Ì/_£!Î܉#¦iòŸØŠ""˲XÚ€o9œÀï7›M~Ÿil«ù¾ÏòA†;¢¾¥hö.Fj" h’4jI)—–8P,æëõêÆF½Ùt]Ïó¡Ð \¯¦mÚJE€ …aXÒ°,S:™L¤» Ÿu¤°æf+k~»å«®a†@ßwÈ0U&“ 4¤uÓVè«n!^ý$ ˜ƒaÕøú€§(î· ×hœ~H ÈÆ‹wÆ5`"@CÚÕcR@CRêÄD"ä»`4Œ€†fQY¸ÆJ’hb 6´úÌ貑{4L–©÷ÁÕh˜v`osszd„N§Ã³ººZ*•âU„ƒ3 J©V«%¥l·Û®ëj­)ØÜܬ×ë,ÇÀÀA§ÓÉçó_üâyuµ,Ëó¼v»ˆÙlvccãwÞ‰¾Â’ìÞ{žçº®çyJ)¦`„œÄaíÕW_ýµ_ûµG˜ÃÌÒÞ¯h­;NSâ9½ÏȈ4MÛ¶…C5‰ÑCÊŽ ‘$Ç@% b "ÈdœòLÑ´d³Ùl·ÛÕjµëùDØju„4³…¢xJš¡TJ €@ƒ@Ã̾î‚TЂ–ZæúÚj³V•Ò°-Ã4MhYV3Ñ0©õ6É0M¢XM1€äò¥I I¾åŽÌ—›¼¯1†ˆÑ4L[ÜqRë¹±'@CZJßxØb-ØÅ:?8®"‘ûí·½Xfz@Cß4¼e)™“j“Ò Ij¥R‰ûÄuÝn·Ëú‹…B÷#Þz"]†¾Ý­OÔmÛæÔ†x°q~oaüyÛ¶-ËŠ¢oe³Ùf³ÙjµVVV …BÄY`”Áó¼n·ëº®ïûÝn7bz_<òÈw¾óÏþó¯¿þúþáþñÿñ§?ýéz½~éÒ¥F£ÁÜŠz½Î+vAèk…B!“É0\ÈJ–A‹Å(µdL²Ì>аßöÛn‰1ȉÿîŽË·çÏw‚Žñ8CeÐpßKhúmRUo&5ÎI¶7DÂ@ùŒ´ŽG±X¬V*/•lÛî´Z–ãpªB* !J§äƺS¦i2Òu]œU! C!åðœy˲ØÜ |ˆ„apÈ…mñ†$½’X1M“m,ß÷]×ED À²m~Ÿí­ÅÅÅN§Óív£ŸfÈ#"¸ö´¸ˆ×vFƒ$≦€€d‘@i333óóó†aT«Õk—®µêÍÒìœeY›5¿ãšv¤¡µRn |¥­-'“Éä²Ù|±Xn¶»Ýn×0„' Yo™²–©¹]‚@flÇκÝv«Ñ¬ëF&›ÚyÓƒd' ÜÅù/CƒÃI©}OvPëá&Õ”Ó®#зaãµÖà N¹ªÔÄDsÊ7N$¶Uüœäú LW<3œõ0ÀåŒWÓ‹7?ƒÕOö&%§¾¿Ð Iý3©ë¯ÕjÑ=]ÆF£Á]ÄÙ…¦i2.¿5J·wf<û/RRpgvv–Χ@D˲˜‚7;;»ººZ¯×=Ï㔄¨zE&“Éd2¼Ùu»]Ž0‹¶—1hÆÌÌÌ×¾öµ_ÿõ_ï½÷~û·ûâŋׯ_ÿÎw¾S.—gff¤”ŒYضí8NSìÂ… Žã°@Cô1¦F‰½ã„dn; !±ï>ØYöÛáˆö-7·ËÄÏ/%P$uüˆ`ô½j¤Q:CvêŒf\ø§ëÐ{;TR}ÖyÚþD mAA ñ¶8N#eƒ#y|òxæ¢b[GD‰È“šbÐPHçéÿ4€­‡½¤5€I¨ B-AjÔ‚@£$bGШyìžÇí´2ùl·Ýö¼îÕËT©[ë´… Ã[ˆ™ÿÑèuXô‚ˆ@a@j”¶‘µ;k?úУõV}s}smc­Uouý® DRþÐë!…Aà“òQ@.“-–Ëó³³™\îÍ7ß ¦ DBˆ4¼Ï°ZÎËð<+rÍÍÍq!®n·[(:–J…ùùEÃUÏë>|¸VÛÜܬµÛÍÞcŨ2ET”±Ïш`#"K "A¤9ú¤•R(„å8¶“õµÚ¬5<_gò…»Ïä²õfwuu½Ûí‚Ê÷ÒȘÆL©<;7Ÿ/”Ý`Åw=!-Ðév_ tÊå¢ \Ô3‡ï:8S(nl¬_¾xi£º™„Ò$¥Ô°~ÖBCû?ÉáŒÖŸ©‰Š} âq»˜ÅüD"¾ÉŽûÅ´¿¤ñàH»^Mh±ÂíGÀþwÒA' Iý³c€¤_û#íõ#‚@Ð?‚‚@iBEz¨Yª2ÒÓÆÛ5˜°ZNàV’fñ1 1©ë·m›å òù¼ÖºÙlž={öoÿöoK¥’²,˲DZmÛ4M)%‹ŠA2G@±¶¶Æ§B¬¬¬¼ñÆ/¾øb½^w‡á"šm4gÏž½råŠiš™L&BÕ¿ð…/¼ôÒKׯ_/ ®ëV«Uf@üâ/þ"ó:Ž”’ëDDù C×Ã0 …ÂW¾ò•ßüÍß|÷Ýws¹ÜŸÿùŸ/,,°çªŒT¥wQ–kê@o`¥R‰kuäóyîÓ¡A‹œ C׈o UÏYÂw@˜®zù­©ç|ó׳‹ç2Á {°%!d{å Nœò}ûT¸L6@G-à}’•°]Aªç›vÃAå¾`…9Ÿý×zÄF;MC6˜ês˜ÒÀ¥ÉÜ—Ÿv¼¡`c.¶˜#¤„ëñ’ ÷[YÛ¸¶,ÓsÝl6Ë ¸IÃ`z¿`†=°q šÈ&!hB )üOƒ¶ Ëõº`9^à‘fü¥!I§n¢†”Qµ¿B¡ÐhÔÇévš‡ï: ÖV¯;™L·]_Û®7‹³åv«c˜Ò2 M¤•É:v×¼|®P­Vm;ÃAÈL&³¹¾^(—Õj&Ÿo6›DT,ëõú§>õ©§žzjssóOþäOÚí¦xþüÂÜÿø?üûÍêÆú:7?ûoþͯ¾òêËßþ»ÿ·ÓjÃBåÒ ëfu»]¶ä”R‹‹‹õz½Y«ÍÌÏo®¯g ŽÃ!êõúüü|½Ù°mSA§Þ–µ8?_«UI“”Ò°íN«½xäPiö@¥ÞV@®®u*ÕÏý«Ï?ñÄJ©W^}òlÍZ-“ɹžge²sÅüʵë™Ùò\ÎþÂç©£ü?ûÚÎg²ò=å×êÕr±P­5²–}ÿý÷ž|àÃGn×…BáÂòòÿñ¡(ÈÊk7nX™Œ×é8¹/’¾çÙŽ“Ëå6Ö×íL¦X,®Ý¸a:ŽeÒn×Ëær¾4ëU'›—†Ùª7í¬ã¹]Ï4çú™L¦ÛõØÝŠj"q¯_ˆovƒ9öƒ û`*D¤Äñ{“rõû"ÏíÛ5ú¤Îö…ö@ôs1ímÆPOzÇ}jÌ‚‘ŰǯϒnNF !†®p:P„}2Ð5) 8>NX·Ó ƒûoØR t F»á;ÈWˆ„àú_3 (¥ @DRú6Ó±B@dÈäfޤ°ùÆ0üf?(LÉiû;ìŸÚ¶½±±aÛ6iÊf³N§X,*¥ªÕê‡>ô!)å•+W|ðÁJ¥ÒG‰Ôg[­–ã8B×u¹d±Xä|†x›››;pàÀòòò½÷Þ{ðàAfU!–——µÖóó󼑙¦É2üÅ|>ÿÎ;ïDË<`º1Š÷+¿ò+Åb±Ùl®¬¬<þøãßÿþ÷766|ß/—ËŽã´Z-×u¥”‘èo_«×ë'Nœ8{öl>Ÿçª–¼GGÖPZGß2«µž:Ð „PJmnn?~¼P(<þøãwß}·išl]  &ùHšØ¼&Áù`HDÃ0ÅŽw*ÐðAGw¬{¼ß>Ð-íøI›ê3õùKÓ]B§MÁT]úA*Ç”zëö¸÷5)¦CÚu,á<Õí¶óùüââb£Ñð<¯^¯çr9ÞìãÛj¸×öÆCŸ9;;;ËRÒP©TæææšÍ¦ežçqY9·™½)¥üÆ7¾q÷ÝG¾ð…ÿ:—ËU67޹ëíwÏ|úÓŸö¼à+_ùÊ7ÿú[ÿîßýûãÇ_¹reuõÆ_þå_½û.DZÞyç­ÂÇ~¦\.c™L¦Ýn{ž7??ÿðÃ>|xccãôéÓDtìØ±§ŸþĽ'î9zô°Özii©Ñht»]¥k.R¯¾û¢Lætguuõ™gžšŸq]_˜ÆÚÚša§OŸn6›×-Ï,­¯¬”çæ|¿³±¶å¹9Ó4˜pÑn4˜iÎÎÎrþ›k¨9wîÜc=&¥}øð)N§ëy>KÝn×4MPòÜùùùÇ}tvvV‚ÒäÊõ!¥$hò]·åwºKóå‡9YÈf_ýõõ•ÜÿââüSO=õ_¾û]aX™|þÈ‘#•JE)U­TÑ´m"ÚÜÜ".ùi:Žm›ÍZ J¹–•ÉÌ/-e³ÙKËËå¹9Ã0ºf×÷}MÊ÷ýÀw[¤l+×å^±)ßü:9>y>žb6m{¬o¾ÇyÑw@Ó˜âˆñw(vöùé“]_ÿ8wÓ&fÜ"[JLâHCÞß Éì·Äu Ê’ÐZsm­µiš†ad2™\.Çhì=÷Üó…/|áàÁƒCÅ ÿ÷ŸSùâ*‰\‡’‰œ4ÁšÇ är9þ]Æ|mÛž™™a…%'yYÎd2–eñÉùl‘ÕÁÊIÀxàèѣǎ»zõêµk×>üÔSO!âÙ³g/\¸À2“L|à[zžB¡·‘Ës¦íç© Žã …µµµO}êSçÏŸÿÁ~ðÍo~³ÙlÝ0HP¸n‰ÐiÜ •ÝäzöA¦‰M×’’I1¦MMLÛŸû€ÈîÚ´€TÚzéIpÚúê‹#í ¬0«µÖh ¡É†XZZúÒ—¾äyÞÌ֚̌KRGzÔÛ:?4ı†Z­Æ&“YYY¹ë®»*•J zäÈ‘—_~ù·~ë·.]^®V7J¥‚°¶¶f‚Q(8%áÑG=tèÐûï¿þüyÛ¶/_¾¼¶¶ÁÁƒŸ|òI®†%¥\ZZ*•JRÊz½^­V-ËÊf³µZmvv6›Íò©\×å ÉóÏ?ò‘‡;ÎåË—¯_¹bg³Ò²:ŽaÛ÷ß±X¼qãFµZ]YY©V*ùRéè‘ãc˜››{ã7êõz»ÝvÛíB¹¬”j·Ûù|þí·ß¾~ýúÁƒ}ôÑååe¥T©TzðÁÛíö›o¾É*Ü jµZÝVËÎfçï¹çžB¡°¹Q_]]½rñ"|ìÉ'‰èå—^âÎ<~ü¸ã8¯üøÇ€8??ÿý÷ÿøå—ŠÅ¢xÅbñÞ{ï5Q¬¬¬lV6VVVÇi·[ýøÇË só‹ sK‹¯¾úªòƒ/þ7¿" LÓluÚœ‹Ûñ\d¢T*ø¾/–,<ùù¾«•Ržï iš¦bÁðV­îº 'NœX_YyþùçW¯_ët:¿ø™Ï<òÈ#/ýä'аÓlž?>p]pr¹O|âW¯^]\\äì’ÕÕÕKËË`YÆ“O?Ýl5‚ ˜™™yíµ×ÖWVî>qâ±ÇÏf³­Vëúõë«×¯Æñ{î9räÈk§ÞŒD=ûò·'GùC%F¬W}Y Iöäöå¾TµÞ ‘¶œó˜Ô:¼¯µßnçÆp¨\´ˆË)¥*•J±Xä’ÆAär¹\.wùò塌†¥¥¥ÙÙY¦3!Z­C¼Î0ÄÀY¼¿///¯­­1÷¡Z­ !r¹ÓúXÄ«/u:¦-ðÙX*bŤ’Rzè¡ûî»Ï²¬S§N½ûî»>úè£>zòäI.ÁIŒh0ÖŸd2%Íu]Çq¸sÇJØK ¡ÕjµZ­ûï¿yyù½÷Þ»zõ*Äj„ ÃzbZ1Q IÐOÓ’u»1)Òi‰i;TÓVÅÿikÓv“¨°Iã--cbb@ÒhH @Œ¾Îñ “ÒR¦SŽ7]­V4C õz=‚z½nÛ6+6GU¢Î7Lœ/5Û¶K¥Òúú:³!+• ‚À0L"bÉk·di¨Ë—/óS˜ív»ÅréâÅ‹<òÈÿüûÿÁu}­á‰?Ùéøuùå_þt»­LKüçÿüçÿËøƒŸÿôÏ;vLÚuÝ  …ÂáÇ]×}å•WX2znn®P(üèG?bøCk]*•²Ùì½÷Þ{âÄ Ó4›ÍæÚÚÚÅ‹/_¾¼°°ðÐC-,,xžg†ëº³³³Åbñ7~ã79\­Vß}÷Ý7ß|óÌ™3n»í”Ë¿û»¿Ë’“¬ný÷ÿ÷ËçÎåóùÏ~ö³Ùl–Øææ&»ô\<Ê;Už÷Þ{ï8pàž{îqg³²öÑ'ž`®éúú:'`þìÏþìùóçô£Àã?ÎL !Du³Ñív¿óï,//?þøã‡ºqãÆ•‹ïýð‡Ÿ|òIÃ0^ýu)åÉ“'?ñ‰O¼}æ­•«WþèÏ<ñÑ:tÈ–†mÛׯ^û›¿ù›Ê憴¬gŸ}vñ®ƒ…RqñÐÁ••R×VWgggû¸Lsm·ÛD¨7«•v«+Ë,B2„D‰¨É|®fÛv«Ù¼rñ"~ÿý÷ëõz6Ÿ3 C £P(4lÛ.‹ÿøÇ}ßÏårÕjµP(¬¬¬üã?þãÊÊJO<ñ„(¥,•J¾ï×jµgŸ}öØÜÜô<¯Z­¾õÖ[§OŸv硇zøá‡O¿ùÏ‚x~o$iqóûã Øçè,žp1N*AZÀzÄïöeì3аWœ;ÈØ«ýk¿í·q' ð2Îf@»Ý¶m{~~¾Ùlf³ÙR©t×]w!¢ëº§OŸ>zôèÐÎf"b³Ù¬ÕjÕj•ó¹fG Óé|ñ‹_|ä‘G˜4Ñh4 “Éxž·ººZ.—ùl®ërj_§a‘€N|íÚ²Ùìúú:c÷o¿ýöåË—ëõúÕ«W—––Ö××™²Ák ÃåIvwK¡Ph4\Ùšëk¤íç© œ$ùË¿üË_ýêW#…O–ÜL˜„™½=”5ÄÊÀÄïrYÚoûmOà‰ IŸ’Õoh¯€†i3}&õ»i Ó'4t.—Ó:`GÝÈÍÍÍ òù¼èµø–oF¼4`ôzuu•¦iV*v¿9¬ª=Ï[__ç¬"b/tmm³‚ ¨Õjï¿ÿþ‘»‹ÅZ­vìîcÿëÿöåãÇïi5ÛûØ'–——ççç_ýL©TZ:0_(^yõ•¯ýë_ÿú×—ß;¿¾¾Î‰ÕjõÚµkï½÷Þ±cÇF«Õ€ÕÕU˜T*Ã0>÷¹ÏµZ­Ÿüä'ׯ_?vìØƒ>HD.\¸~ýúÉ“'}ß¿xñ¢ÖúÒ¥Kkkkívû•—_ûÿúË\.÷™Ï|擟üäË?þ1|éK_ò}ÿùçŸ?þüâââsÏ=÷ñ|ùý÷F©TÊd2ÌSh4N§T*åóy¥Tàº333ÕjÞ}÷Ý|ä# swß}÷feíäÉ“Zë³gÏ*¥ÚÆââb¡PÈårù|¾T*=úè£RÊù—9sæÌá»îþìg?ûÔSO]»vmyyùèÑ£÷ÜsO­V;vìØñãÇ…l3=z´P(´Z-3“yæ™gfŠ¥_|ñì;gNœ8ñÄÇ>þÄOüÍßý­ò¼b±È|®%^¯×¿óÿýCs³öì³Ï†áú> !d2¶ïûJùZ¦i6jÕ—üR§ãÎ/Í[ù,ðÿ¡Z¸RÊ÷óù<Ôëu°£ YÞìv»^ Iën·ø>Û¬ "¼òÊ+o¿ýöƒ>øØc=÷ÜsßýîwW¯_uçÈÑçOŸ>{ö¬ëº¿ôK¿ä8η¾õ­J¥rüøñ|ð¾ûî»|ùr¥R¹råJZTîfÖÛ1úêÈÞâZN ׿Ïhس@Ë>аßn}ã”°,«Ýn9räêÕ«AضÝh4êõúÌÌL£ÑxñÅ_xáØ^å—÷÷R©Ä!ûð…B¡X,æóùl6Ë`t6›-—Ël¡}õ«_õ<ë\r$€Yår¹ÝnGÕ+]×åk3 ƒå$™S/P=ôŽªÕêÆÆ׊r]7—ËÕëõsçÎ]½z•KT²[,Œ $­†a8pàÚµkžç±A’–Îp+€æççkµ'Àlnn®®®¥|…ÛnYÛ†zEéAÃv]†´¥(öª|Úv»QúÓj.¤xPÄ ÷Ûèç¾ ªíDÆÕ¤"r?m@CÚ”“i ·Y •ö=ŸHq%)¥æææ Ãèt:‘¢^œÔࡎ ‘!ªÔaJ¿eñ;€š÷x˲r¹Ü‘#GÇaÒ§H¼ð øÈG>¢”Ê ¾ï®­®´;íN§S©TŠ…ÒÚÚšRê'?ùÉsÏ=«µvSñæ›o.­-üÎïüÎúßÿãåË—3™Œã8–eÍÌÌ=zô£ýh¥Ryûí·=Ï{àžxâ‰z½þÍo~“+lw»ÝÕÕÕååeXZZbU*×uËå²Rê½÷ÞÓZ×ëuÃ0ŠÅâ[o½uñâ…L>_©Tî¹ç'›%¢………ïÿûkkkœjaÆÃ?üÒK/]8Þó¼¿þë¿ÖZo®¯@DzBD ‚ [(¬¬¬\¼x±\.>ôÐC—¯\:vìØÆÆÆÙ³g#ü‘cG,*™Éd666X¦«Z­j­;–ËåÞyçGyäàÁƒ¶mßwß}žçår¹'Nœ?~~~þÂ… ízýãO=uôèÑógÏ]»vs ‚ 8yòä?~÷¿t»ÏóšÍfes£í¹F£Z­®_[!/p‡M.Æ•8"ÄY¸…bÞíz«k+n»[ÌgIi$ž*ð|gJeíŒõ …N§Ã†c6Ÿ/™6¯ø¯Jzçw¾÷½ï5kµ•••b±˜Ëåx¢1ðôío{mm­T*Y–µ¹¹¹±±Q­VùqŽI§Ùó™_ø…_àÔÍZ­fÛ6GxšÍæ¹sç8ƒ´Ýn¯¯¯_¼pÇ9wîÜÁƒï¿ÿ~ÞÜŸyæ™øÃ‡^YYaû -Ç)‹,ñMJåŠE^8ÉÂÎfkµÛ^J©3gÎÜwß=ÇüñÇ-˺téÒ7ØlàZ¦ªš¦¹¸¸X.—Ëåòââbe½*¥ÔZ8p€I"\,óàÁƒ¯¿þú‘#G{ì1"*—Ë?üá ÇY__gwýsŸûܱÃGÖ××3¶Ón·³ÙlÇsÙžët:µZ ¡k­…4J3³Dh•±²¤´ÖºËΖKZër¹¨mnV6u2Í ­%¢Txç†Rr­˲Ð0Üq2Ö'¿ï¾?ùä“KKKÝn÷Â… ÿðÿÀù´ˆX(—€8pà€eYö<¯Ùj\»|ÙÉåî¾ûî™™Ó4õW•MÌÅÅŵµµb±XÉålÛ®V«'1oûˆ¸Y·£¿öa ;~¾O}êÔ©Ë—/ó÷<7ë´ý|+ BˆJ¥R.—kµo®¶m3Z߿ʀ ÐORà‚=ÌhØâ5D_™ÈBv»!¸·›䤮3my¤¤¶/¹·-­XWÚÈù¤æéÔçÉ=™_“š‰CJ–õ¤€†´--0‘àОçI‰¶ms,ß÷çææB>Bl@FYî¦%û†"›à_áÚݾïk fgg3»Ùl2ì|òÉK¥ô…BÁóºÕz½ÓéüÞïýž”æ‘ÃGÿõ¿þ·O>ùäÊÊʳÏ>ýå/ù·ç*•J=ôP.—ûÖÿó­ ×ugff<ÏËd2GŽÉf³.\Èf³ˆX«ÕVWW[­–ÖÚó¼7n<ôÐCï¼óΙ3gšÍ¦ã8,gÅfW—Ròw¥”µZ-—Ï·ZM®]ÍêŒ š¼úê«ßûÞ÷–––8ž“Ïç—Ïˋׯ_ŸŸŸ—R*€L&³¹¹©W:wîS=;Íf¥Ryì±Çž}öY)å©S§´ÖùÈGnܸaÛöòòr>ŸçðÑKï¿êÔ©B&{åÊ•R¡È¸Ç ˜§àû¾mÛ¾RõF 4u»]ß÷!,Ë2„DDdÛfÒÀŒã.Ôk›ÝvK¡ŠHù~àùM‰¢ÓlI)çææŠÅ"'ßd³Ùµµ [~œ9ŒˆÜáÌÅmÔj¹B¡Õjq"Ïææf§ÓªT*Gï>’/•¢•§N:wîœiš×¯_Ÿ5Mó½÷Þ É±JAG"[y² ²TÖQŸ¦ ¿ž”ã:b݈C½Ÿ¦ýÈüdñ}à`¿ÝæÍq`cc£V« …J¥rþüùÌÏÏÛ¶Íf=ÏËçól Ä7w^:jµïL:¸|ù²eYËË˧Nzÿý÷—––<ÏãdŠb±A&“ét:,¾®ër5Flb™ä¨óµk×Î;wöìÙ……ß÷y?bÀzèMe2™Z­677ÇD¿ùùyFœΈŒæ_¸®›´ÞÎÏÏŸ:uŠ¥Ça›$Z˲Z­¿A>Wf¥hFÕgggGêõºÖú“ŸüdµZ][[ûö·¿]ž)"bxÇ¿qãÆ±cÇ Ãxá…†ÈçóÊ~íµ×Ξ=Ûh4VÖV…€L>ÇBе_ÿÒèСýèGwÝuW©Tøô§?ýo|£\.–J…ÏÿWŸû³?û³æfÃqÖDxë­·Êåò3Ï<óOÿôO?üá?'Nœ ¢K—.Ù¶}åÊ.èÐn·_~ùå<÷Üs¦i¾õÖ[­V‹5&VVV<¸ººÚn·?^,[­¦mÛO<ñD§Óá]C)uüøñ\.wæ­·ò¥ÒÓO?Í»áòò2ãë‚”at¥—H²¹¹éär¼A !²Ùì÷¾÷½ŸÿùŸ¿÷Þ{_}õÕüàÿ?{o$×u ž»¼5÷¬½ ; H‚ Zn"µÒj/ÃÛ²¨ ©5ÝážÿðtÇü›°üÇሞv8ÂáðDÛRX¶²[ÉÔÒZMR"@Ü@€@¬T¡P[î™o½Ë™7+Q2ÉJ²`Pv]" ‰¬÷n¾|ïÞs¾óïø™LµJeÿFÀÒuÝË—/'I2;;û /\8ž1çŸøD6›]ZZÊäó'Ož<|øðÁƒ———•R¯¾úêÞ½{?üᯭ­5›M…Ò²¬·Þzk÷îÝ/½ôÒÉóoæ …Ã‡OLL|ë©J£ˆ’ÏçkµÚ¡Ãw›MßÏfk5©u' ‰ëDQ”Ïe ›ÍÚ¶M@ÛœMMŒ¯®,æ²>%˜ËøzÝsÝl6»¼´è9n£Q+‹ˆxúôéɉñ;ï¼óÅŸÿßø ãM6W_}õèÑ£2Iò¥R«ÙÌær†²{çÝwŸ>y²4:z÷Ýw///'I‚RšÎgN'—ËÍÏÏ›>âGŽ1÷ä²Ùl³Ù4¤ Äì¶æÉ4§yPû–>™íø]$ Ì=°É÷›7÷Ú°›Y™_¿y×´þßÐA£÷YÞ྾†Bk­a00J6 ó×3܈\ôúÌß„o\g6¾«˜kïb¼ámí>{«÷ßM–jö.5»Åûõ6°²µßã­N1ÆjµšY%zÙþçŸÞüë‚án>ÑÒ{e~~޼ȫV«&øz/ó|ê©§þåãHöê; æý´u6J oįÍ_ùíº± ÊP.—…†GJáœ5*+¾ï#bЬ*•(-Ö£\×͘ÞÔ¯%p£ã½ñæ ‚àž{î‰¢èØ±c€°m›snÔ¶MÉŠ‘7o†ããã««Z¹aÖ IDAT«ø‡Øh4þôOÿÔ¼ÁFÃ÷ý'žxb~~þìÙ³¦fÕh{¢GŒ¢È$@LÊ SæV3ñ¿™§qˆM`ŸÏç¶"Þqdz³³_þò—[­–çy„^ðo~Ñä—ÌÜétz¡¸ùW£ ÚÃM Ç<<¦Š9K½^ï]1sÑ §×÷ý‘‘‘z½Þƒ÷LU£|f”Éǹÿþûkµš¹>­V˲,ó]Æ ½id2™Z­f۶͹ÌØHi1HDoÏëÝ©·Wj{líñ>ïÑ?~Ça˜Šfu2:ù|ÞÛ0ÌìJÃ0 R£`òö—/_65f=4’N¾ïh¸§M`Ôž ú\*• 1ÒìY¦÷„_ Í!UÒp"Œ7sÿýMLL´Z­B!wâĉLÖ£”~æ3Ÿù§oÿÓòòr«Ú4 !Äo¼!¥Ü³gÏã?ž¦éÁƒMæÉ“'Ÿ~úé³gÏNLL<ÿüó“““>úè>ðÓÁÛô’h4F­ºZ­®­­A8Ž?ýéOqdšXŸ:ujyqÑrݹ¹¹;î¸ÃÏcccI’¼öÚk­V ”*•J¦ Žã^?ŽÞ&b¼)h]«Õ•¹Œ½­Ó²í^AJqÇQtöìÙÝ»wèC²,kjrçüÔ©S†_jàž©©©óçϯ¬¬d³YÓ`luu5ìtòå©S§öß1ûð~á _h×¾ïËT,..Öëu/›-‹æË ÃÐ$0V®,çK¥òè’nš…tt¤ôk¿ö+£cåå«‹ív›PÅ9µMã(Ñ4ëgd*–¯.å\ÿcûX*âµµµÕÕåóçÏ”KŸúÔ§üc“““ÕÕµ—_~9—ËQÊÌFïºnf—ß·oŸëº<òˆ¹1””¥ÑÑ}ûö…Q`rµZmuuõðáÿ÷{¿wéÒ%ÏóvìØqîܹå«Wñá_þåÇÿÍWÿNaäB ˆ`$†m_½…ÙÆ]þ‹,Þ¦¤î[u¾÷„Y_Œ`;àÜÛc{Ük«x·zÜ6 Á°GÚí¶ ³»€$aE’Ô÷BH+ˆm›k% <AOÇÁ ÊF‡Ó|aš¸ºP(ô@qƒM˜­Ô8mõz½WsbôŸëõ:à?I’$I&&&LBÉ÷ýZ­ö­o}kmm ‘¦V«ÎIï¼FÀ)MSCGéíšÆÅìuR51¶ñ«L~ Ö™™L†1fÊY Ä`ö`#eò<Åb1‚i¢'ìÔ»ázzc¦1¬IV²AŒ$‰I˜SÒŽñ¥Œ`§9Wq0³5E>;è]=3a“§2s6¿e¾²²b@ß÷{M\lÛ6ç¼çÇ›oª×1®G娶Çö؃ÆÍµÖïX >ÔñÇiµ"×uÇÇÇ Ý4¾6E›år™Rú¹Ï}Îó¼\.'„䆌f™ögf4Mž¶×º²—.eŒd³YÓ©›s^(Ñ,à¹\Î`–eåóy˱…pc‘Ú–mÛ¶ëú§OŸþØÇZë×^{­Õj¼õÖ[;wMg³>cì/þâ/VVV|Ë3{Ÿ”rnn®V« !yä‘ýû÷›æFrzzÚN:ÇñîÝ»BÄÊÊÊÕ«W…ÓÓÓ&'333S¯×M$Üjµ‚ (”KI’œ8qâ7Þǯ¼òJš¦###£££Fãܹs§OŸ‚ÀrÝ3gÎ$Ú¬ö"M nJKºTB ê×_qzêÔ©zµêú¾ÙhÌ~¡µ65¨—.]rg|||ttte¹²¼¼|òäISûZ¯×Oœ8166vúôé8(¥çÎ[^^¾t阬»”§OŸ¶(+—Ëy?£”º|ùòÏþs@dŒÍÏÏÛÏ|YI’pΕV–cÏ_Y¨¬®úŒ²,Ɖç9Ùl6è´dšØœ Àå•«ùÂÔh©lÛv]i‹ÓR±È!Î}ñùZÍÆ<àyÎùóçO:uæì™B±lˆ~]ß&M•ëJ)×ÖÖêõºI̼òÊ+¯½öhM)=yòd*ƒéWWW9Òét&&&~øá¹¹¹3gμñÆ€˜/•ÆÇÇËår¯µ{Do›»Õµ÷}³ ïBœò†æ/7'77Üü:2LÛ@ÃöØÛãÖÛÅÚ*ÆÄmZ­ÖÈÈÈ®]»”Rãããív;“É4««Y‡1TQš‹Å^z,†*è¹öÌÌLµÖ˜šÞ199ùÒK/Õê͉‰‰}ûö´buuõòåËFfÃ(E8pÀ¨vÍÏÏÏÏÏçr9ÓÛ#ŸÏßwß}¦)zÇïxâ‰'Z­Öž={>ùÉO~ûÛß6À?‹EfGQ466¦”ªÕj£££û÷ï7A¥R¹té’9,ô<¡©©©±±±L&ãûþk¯½&„èt:æãïØ±czzúâÅ‹ æý¦œuÿþý³³³W®\ét:—.]ꉊ€ëºµZÍÁ¨IÁ¬Ý¶mÃ\èm´FíëŽí۷϶í‹/ߨR©H)}ßßµk×Î;ã8¾xñâââ¢Ù#Mnmjj*—ËÅq<77·¼¼lX Œ±ƒšÓ™ù›.è0;;ëyÞÔÔT’$o¼ñF½^7ÞùwÜaÔ:FGG•Rsss­VkÿþýãããW®\YXX0Žf¯|´÷óö³=¶Çö4nH3n¹o„ ˆl0Y³@cÌ`ÖÕjÕÏsæšhYkm¢â±±±jµšËå åÁદ’Îv8"2ÆMƾÑh\¹rÅUšzûV«e:r¯®®60Žl›[¶¥Q?þøã–å´šíåååJ¥bÎByá…¤LWV–^~ùå}ûö¥Abð_SëW¯^=qâÄ™3gΟ?¿°°022rÇwÌÌ̤izõêUÓ·òõ×_7€»Y‡Maãßþíß"¢"Žãµµµo~ó›/¿úŠH±P.EQdT™m«4½xî\­V3úØN'‰cƹa.|ç;ß)‹Q§C-ËT2šF¯ÜÔð8Ìyà{ßû^&ë×ëuXÿLžà¯ÿú¯×ÖÖ’0€cÏ?ìØ±B¡@)ÕŠ!Âv›­KA½øâ‹Zëf³ÉGJù“Ÿüļl6ètr¥Òüüü¥ 9ç…LÖ²¬(¡´Ónÿð‡?œ_Zœœž2EˆB×÷[­Ö÷¾÷ýF£Da&ãƒÒ åÑ£Gï¹û.ÎH’ÄŒ €n·›§Þ8Ñ ŽŸ9}vjj*MÓ+kË_ÿú×3Ï\ÏFµúüÑ£—.]"1¤B˜¹ì&‹`¶rÛ¶M¹ï±cÇŒp×ÚÚšÙmƒ øÆ7¾Q(æe’jÌÅsç²Ù¬¢ÓlÎ …B¾T¢”~ýë_O£(›/½qãQôJnWW¦^¡Á ãÞEŒ¾t†­šg=z½¦Ãvw†í±=¶Çm~QÍÛÉhøÒ—¾ô…/|ÁxÇ¿óÎ;s.ç€E Nd~ü—?¡Î-,V )äžxâ n9–í"e«ÕZ«Õúÿþ q´Ûm#ô£ýèâÅ‹A¸®;66ö›¿ù›†õúè£þå_þ¥ñ|ðÁ;ï¼svv6 CÓÊÛè`™4!dff&ŸÏ’?QÏ}îs—.]úû¿ÿû(ŠöíÛ÷ùÏÞ”¤ …F£ñãÿøüùóAø¾oÊ" …ƒ>8;;kRRùÈG^ýõ§žzJ)uÿý÷?öØc† pß}÷Õjµo~ó›ËËËFªôÓŸþ´eY<ð@½^ÿÁ~pöìÙüáøÁ¶Z­µµµïÿû¾ï?þøãû÷ïgŒ …b±øì³Ï>õÔS†aûàƒÎÌÌÚÅ¡C‡ž}öÙ¹¹9ß÷'&&²Ùl¹\fŒ]¼xñ;ßùŽñ2>üÑ~”Rj*“gffŽ?nšŸ?òÈ#¹\.I#âÕétÌ¥3Å/+++_ýêW³µq3ÞVdÜÛc{láx×mðLÛ)e±X,—Ëqg³YÃ50-z3Ji«ÕZZZ2¥g”ÒJ¥R*•lÛ62:=Ôjµ±±ÆØÌÌÌþýûwîÜyðàAÏóLIÓw`vvvllLJÙl·šÍz¹P¨T*O>ù¤e9íV§ÝŽÖÖÖÚív±˜ÿßù©éñŸþô™o|ã¢(:yòäDyÜl †az}›5¹R©˜˜öÌ™3FçÒÔý(Ä|S'èºn±X4E§SSSJ)£O©µ®×êÍN[ ÙBÁôËÐB4êu@£`Û]c«Õ®·ëõºA c´ ˜ÞqLÊl7R Î9Íf{Ô¼4I MÓ\±hЩ6›M-!_(çÜì•Íf³ÓnJ=ÏBÔÖÖÌ”2™LƒR*‰"RP*¢XkMX–E´"]˜›ss™ÒHcB)n9qмpú4h Œ°l–Rfr­v£T(ØœÊT –a§U«5Ëóù‘R)MÓ(h3 ®e»–½š$Üq¸ÅšÍfÐj0æûYÃ@ô<¯Ëéc,ŸÏsÎGFFÚívÔéÎQÊ\±¨µNÓ¸ººFI„€íy†Š8::JIÓÔ|¶çaÈ…ù«\0HÖ­«5xŸ;ÄÃ2¶ÇöØÛãý6~QB¤ÛÉhh6›µZÍ€çÏŸß±c‡G½Ê•s“ã%К»þ¯|üÃ÷?øÈK¯¼ú•¯þÝr-ªÕj£#Åщ—^~un~!Iůÿú¯3Æ^}õÕ vïÞ}èС~ô£ËË˦AJyõêÕW^y%“É|ñ‹_üØÇ>öÝï~?þñÛ¶ýòË//..îÚµëPJ}ík_ûÊW¾òû¿ÿûsss_ùÊW ÅÀô‰¢Èè~‡²T*=ù䓜óãÇw:={ö:tè#ùÈÒÒRívÛu]ÏóöîÝ{àÀDóC+ „Ü{nãœ8qbnnnß¾}=öØáÇ;ŽÉ3!Ž?¾cÇŽ½{÷ñ‰L&sôèÑÕÕÕL&óÄOìÝ»·^¯}Šjµº¸¸È{ä‘Gæææž}öÙr¹üÐC•Ëå#GŽ\¾|yÇŽ=ôP¡P8}ú4ŒŒŒLMM9räèÑ£³³³‡²,ë…^ „ÌÎÎ)5SÓ±Ñ0Îîöj²=¶ÇöØLÀðŽb ÃfÛí¶mÛ¦{Âæææ¤”Õjuß¾}Fÿ/Žãþ瞟Ÿ)%%vÞ¿oß>£2=::Úl6{(ƒ©¹‹ã˜2صk×ÈH Éÿ•W^1eeãããfé[^^¾råÊÜÜ\½^o´š££å(оüå/7›mBØôÔÌòr¥Õj‹Å0 ßxãÝ{~ýòåËÍfsïÞ½Q5Öê¥RÉôDìt:¦Ï‚Âu]­u6›eŒ-//›Z£gÜ#K™¦é¥K—Œžv¥Ri·ÛÓÓÓð3f[QÇ P©\±h L¶Ü$Ì¥”@ˆµ~^Câ0HÇFLÇñLKB;މ½{儽žÞ=â›EÌ|@±X4¢ÜzÝó}Æ¡4“ɘBÂl¡àyÞÚò²°m×ó’$!Œ¹®çº®NEˆmÛq§M-Kkm~ÑÜ®ëvš¡“É‚§Rc"‚(,øYTÚöyÇ¡e¥qG”)çR]¯×³¹‘Õå•ÕÊ*€6èü… $JÛ¶)#ZëL>oJ0’$áÌRRÂ:cÑ|Y.\¨×ë„ÛóŒ|µùì„Â9¥”;Nš¦–ë–J%ÃÓ\^\Br…‚çyqÇa¸¼¸Üö9ç=(§‡ïÜj€àmž»|Šw¤1nþ¹~w¥ƒÎ~CFñ†io~=ÙÛc{l­¿(ëÌm .`YV&=’Éd”“û÷€ ƒÅ¥zcîƒÞß Û§O¬Ô¢Œ Ûív+Lžzê©Z­¾cÏÞwüÁw¿ýãýÞ|óMÛ¶ggg …Bdžqú­o}Ë ýwß}÷ÝwßýÜsÏÙ¶=22òâ‹/~ûÛ߀sçÎíܹsÿþý###+++;vì(‹išær¹l6Ûn·M-ι)`ŒMLLh­Ÿ{î¹ýèGpòäIs^#ÖÝÓ[NÓÔ8(óóó þçnä©8`¶žyæ™4MÏž=Ûn· | „¸zõê~ðƒóçÏ …ßýÝßœœ4’“=.ƒAz—Ñ4 OÓtllìòåË}0”Ts¦i:==íûþÙ³gŸ{î9£þ[¿õ[=-.Ã˨×ëKKKËË˦ÒxïÞ½ccco½õÖOúSDô}llÌ´%ït:A9räÂ… ¹\îž{îÙµk—çy¦ÎÂgiiÉÌabbÂh@v:‹/~÷»ßm6›­VËTjüìg?‹ãØqœC‡™.Û@ÃöØÛcóãf5x³õnÕºE‘ﻎã,..ÎÎΚ.VívÛdÑ=ÏÛµk—mÛû÷ï7-‡<7g™³±±1£þc4ƒ’$é©öd³Y?ãV«ÕlÖw§\.uÓàpyyÙˆ<€ïûžç1ÆÏMÓxymõ«_ýêòò*!ìî»3æA`Ž“$ ·ˆTJU«ÕÝ;v¹®kÖRi›S˜šÆ FC‡bzõD.{Q"f³Y#!aö5ÇqŒ²r†>ËB@ë4MQJXo:ГBh)™ee³YJ¬V½Îòù4Ž !Z£J¸Q¥ß0)‘sfðó†4M³‰ñ —Äôø0§³,+ £v»A>Ÿgœm…Š?¦='X–ÆeYBK)eE(¤R ˜+¯7€MĄQm‹ÉÔVÖ $MÓ0$KKKíf“ i¡Í­¬Ï=/k¹ùF£áXŽëÚùlŽÛŒR*£”Å)*åú.!D(I)×ZƒÖ½²MÇqªÕêÏ~ö³f³¶Û¶ç™{¾Ýnk!¼¬o2ÆI „˜Ý”š˜žB4 -„›Édóy­µmÛq$z}Ô7Óài“ªþïz˜ÖZ¿ ²Þc( aP׉­Êøm„c6#]¹­Ý°=¶Çöø·(¼ï€†«W¯rN§§'U¹\ÔZ*%4‰¡U‡¨‘‹çÎØŽÿWùG^¹l[@× K¥‘Z£Õj6]×-ãNGÉ” ¹f³µ0éî»1 ŽÍ•LU³Ñ˜œ[YY{éØ ¿ýÛ¿m[lÿ¾="/_ºÈ(0ÆÚ­ÖÜÅóãc#ÓSíVãõã¯ú¾ï{Îìþ½O>ùd†¾—=~üøK/½vNÙhyd¤Tö]•&ÅB±Ñl,\ž¿óà! Äæ–Ù¶Ã(T(”f÷í×€Å|ÁñÜR¡èeü$Š3¹¬Í­0Ž2^6CÇr4h‘ÂH½Zw:Íz3ŒÃÊjŶm 4›ÍîÞ¹{|rœ2ؽ{'¥Üq,ÛvÛí&!ŒR(—Gƒ  |ß)ær9T`Y–t3~¹PæÜöl¯T*e<¯Z磥"á$ìt^~ù土™mîkzŽßét’$3휄RJÇqÂ8*—Ë„ÅÅEƒtŒONh)ŒªŽ)94ņ‹Ñjµ„;vL†a¸°p9hwUšÆRj@•Éä#­V§Ó¬SËQi,)÷|×qœHK¤RtÝ&J aÐê7è ™Ò×µ9%¨$£ŒÙJ„¤iDZV*—ÏPÆu¼$I¤Ží:¾‹¨•ÖRÉ4ˆ®k‡íf¡\N’¤Y«h-t.—iÕ«<—-•&œÏ÷3O ­QfœL³Y ÕʪmÛT«b¾àÛ¶é)’Øq-­·¸íÛÍZ›Sh4J›Ó4‰:a$q*i'ª'«µ(‰J¥²mÛ—æçlÛf¶Ebb»®Ë<ƒæt:-­ PÊ)¥¥VÌâT¥¶mû¾_]Y}ëç']ßД€æœ*¥´ë9:Ž"Çq gD¦)Êå•«WÃæ ÄÀCiK×E ZkŠ*©…F=ÛᜫT(Š`lï‰*FxÓËäúÐëÿÊ€( ´¤HŠ„PMàf»IFÆVƒöÓ x|óMmlsÓá¾yž Hßù}_¿‰Y"Q€=«I_ ï«ùç*™…4 r‹,îý·ŠßŽÒoëØ sÎð/,¹¾:j‚ÃÅ6·h ”ÃDà&ó@)ärB1ŠƒòH1Žƒñ‰‘õTó¡½¾j­^­42ûÿ¾üß_=~yÇÎì……ÑRQ·£¨Í’˜§U)ILÆGÊu«^ËzîøH9  °¶²6>R´qd3 JÊ$%}Ƕm»Óé­ˆVa»JœÝ_©TDœ²™°ÝÒZ7¢ §@P¹6W"‰ÃŽ–©H"% ’ˆŒ–9…N«‘Ïúµzö8' QÿÃ×ÿntttçÎSSS¿ôK¿4»oÏ×¾öµÊê²ks›S 091¾ººšó=J©$;¾ï›/Ö±­(h‡–ïØq’r Qœ2JÒd½s)*NS`5hFÐb„€–Z¦€šä³~³ÙÊgý8ì¸6ÏgüNNŒ(‘ä2^§Ý€ç~úÌ~ð?÷íÛwøðá‘‘‘ÿøÅÿ—õße– ÏÖR:çK¥R† €çpÆX­R³9„ήSóóóQÐ)ú®õò˯?ýôÓÓÓÓNÇäš:­NÖwlNì¬g1PBˆ$)åþóŸSÎaeéÊ÷ßZ J)hÍ8aAË„þ¢—Mêá2«ƒ^pJ(Ý7tí õg}á¸U–"%€È;[$ ‡@MÐHˆñ$‡?ðº9æÍ( 9ÿ¡}Bn¥£3ÈÂ-…(aƒÎÎ(tÝBIPk¢©E)Ñ©îc‘h€›±ë×̓Ö{J}- »ÿzÃq,Î5"! QkD*e9N‘¿ôÂË qñÒb*åΙ˜kÛܶË"Œ1B4€ç8RkP t÷?”¨@i¡W*+éââb¥òÿþIÄùRÞõœ7^?áûYßwÇ£ ¢JS)e*bÁ©uúäéF­yuá*0ZÄiR[©J­–ÚáââB>—K…àŒ™­h$°xy¾çl ÿÌψ¨.ÌÍõ^¹pùÍû†ZFÞ–— Q.©bn3­%¥( À&„‹1F³¨”)µ,f~æÄò|7 Úžc‰$²I¢ÀbÄbVwzJ§¨’(J9#€ Ra1ŽPj‡ÛÀA&Â,rRkÆ,Ê-)%L¢Žç;VÝs­î½€Òq­8l€ãZi8®UY]r\‹€¶9 tšÆ½û6‰R?ã…qzen®”Íõºe9åR½Ò`¥BÇIùÙ, ®T*œ@; S•¦B8¶E@ (™* ¶•÷ H1‘ wx*S…Úõ}¡$¬ß®–íZ@â8Ö„Øž#QrÇÒ€(ðr@PnÞ#¨4ãšqŽÇ4ã¹Z¤œçÌáÈ$v”¤”€ˆ#àØhd”™/ܱá Ô2 %`:~$HФoøÒç.ÑÀè:H·nÍw ÑDz7x̨%!@)PBº7**ÐÀ(¡º³Ú`¥ÆÌ²t‘GP6¨‡ ÌÖým4˜F֠럑âuVke@Ž,ë/λµF<Ó ª­Öª¢lÂRF¤ 5 ¡„óU(‚ˆäK¡f×[T  öæwË¥À µîûþAv“Ò†]A÷VÉ÷bµÒ]˜àK)ÄÍÚ!€a:ZÀMÿ 1ªó·*v%”R²i€Ußõ§ïwor·àzöeDv·NÒ¶ÄîCxÝä ¥[bd–Ýb¥4ä3¹vÐÀŒãÅIì{~Çz}0x4 »d4£éÛkepÛ õFãž{î‰ãHqôès,XDÖN^^¼,¨3½çÐ÷Üý?<}a¡# pœ Œc™$  mËšœœô}'“ŒïLMM™‚Ò LΞ=»oß¾½{vÎ]ZPJÝ{ï½¾ï/\Yj·ÛŸúÔ§î½÷ÞsçÎ5šÇf»wïö}¿Õj%©šŸŸGDðÜ‘Ž?J#û\*äóÅNV«õ4d¶¶B IDAT•““Ó¾Ÿ  ãg¦¦f„Pi*ƒ0âŒ#pï=÷>úè£o¼ñÆÑçúÞDràÀB¡´¼¼\©Ô&'§eË+«ÓSÓ_üâ+•ÊßüÍß´ZÉÉi×q1I­s[J£Í•ˆXÈçzy­Þxú™gŸ{g¦g–––€s×…V«@NŸ>óØc~à‡Ž?¡5÷À|îóÿ‡ã8¥R‰²´zZ µwöоw¾õÖ[J©ƒÖZµü•jëÒÂòÞ}û³ŸOSY(ä€{‰$È\`®“áH©Ö¥8½k3ˆÐËWV^>~òС;>õ›Ÿ½páÜÄÄÔÔÔÄüü•v(l/S›v]ßñýN0—9Y¤N¢hRï´#Él¢¨KA@¹@•ÒŒY Áþ_»E¢©ÞׇÐþ¿¥hÿë9èýƒ¬ÒÃw%SÀ+d+H²[FYkÎ?é4Í“³) ü–V[ 6¾ÜÌ`¤/#fè”Bßã²zÀ:30°gl¸p]½Ç´È­p°†­f  àgs¾ëVÖV‰¡o 3nÐP,ÇÆÆff¦;N»=ùòË/?üðÞŸE[Žî¼crïÍH·Sšh;1èÀBà.ÏS T©·ZÏ9Jgf÷®’ŸÒèèó/ýøék Èx*ðä[gøì¡;‹¹âsÏ?÷̳G,ÏO£ôïþáìß³ÿ|`|b¦Ö¬½ðâ+ÿôÔ·)zòÔà–Ÿ)äË#°°ädü$ˆÀÏä#!Jå1Ûó×*µ¿úÊW>ù¿~rÇî%?¥ÑÑçýøék…ÈØÞ}Êcå /¿ðâÑÿ䙇}øyàáB¹pî­sG;ñÆIýêk'Â4Ý;;{èˆÅÏžþèó/fò…l®xiᙘÛá¥+Wâ V„°TkÝ%{SM€P‹9Œ­@1 ۳-j…i¤…Ê,fk¢µÐ@à¹#/¬T«÷ßw¿@}òÔ[³g7„^º¼ð­ï|çð‡wìÙ´‚sss/>ÿüòZC¥éSßýáG>ô¡}³³…¢…„|ó[ß¾4?߬Õß:w©Ë9~!‰"¥ÔêZ-LôÈèDµRyñØ+‰Äî¿d|*‰¢“§O¿òÒKiŠ“S#‹ËU™.!u¸ÙÂh'ˆSE3ÙB*%ãN£‡QšHÀR ˆ ˆ@8ÕÀ(À¿ ‹ a€›´& Ö' }k$ƒ«/ß³UäÝh4ô=¦‰&š Ѧ¶µ[á:äüÍqn¦é›#ß<6ìüõÀ2€íúõ¹  ·Úšê–-8Ú°~Å0Õ+]²ê @t½›R@¥‘¡Fv¥4¢:%„rÀÖÚºtÆJ)mî‰@àŽM‘2e”@‰º›ö°¸@¡O’DQœ:¹Œå»ÈéÇõWöÍÞÕh49çŽãQIÎyE¦[aììz,¯§6lÄ  [O:ݸödü ƒ‚Dª‡ªb]å¦Ü3ôÜÝÌË ZÈ´SNDðmº!Ìå5ÒHžç¹ÙÜ®;ï¤L£8I"%$e`QÆ1¥m” B”¹X 9PB ')‚Ò %¼ÿú<à \/:‚=úÅMuI¸‰*¼©õM“t­A ’`J·>Cs>Bà::@OBoò~ÐDë!kà ¼sk5}ì/›ßÞ…å„÷} qN˜&´#CõedhNhß=ÞÜp›¿v]æÂ{>Î  ap‰Þe½•@ûޢ€dØiÞòxVª¡¾/5d@ˬ'ÃZCÿïãïQ†›_kE |¹MbœÛ"I]Ëļï]8wþÛßüf§Ù‚›\)ò¶YFÒk.uër]J©?øƒÿçÿø7j4Ìì˜zóÍ7=Ï ‚ Z];qâÄÇ?þñù¹³wí™IàOÌ ÐÏ}åñ_ý$ws"VÀ,He~lœl,-JŸÉt‚ÎØôT%@A$" Ú„Y¨ !6·˜•Æ!a·¹c H¹­e HföìjÖ› ]*–ëÕµn¥1·-Dz˜Õ ; T¦X°¹SoÔA"÷lÇrƒvƒ0Ûñ츎MO$Q E"£ E˜*ÍGZêÆÎv3™œ¯„6¯û…,#¼ÝiÚ–›+dÛÍNæ~¶ÀmÖª6ÌïN¬®-‰$hg\‚Tj¡%"¨uŽ'¢pf3%4hH-³K#Å™©í U¯6šõJ¡4úäÿþÙ¥ÅågöL£Ú”€tdrLKlw:2މe¡Pq=¯Q¯Çqìºn*„NÓâè¨ë8Ë‹‹Üqd’0ˆj–ë"@.›­7 %0Ûv=O ‘„¡yíyišö~‹»®mYa”F¼ {ÿÖTšÉP' L‘}–9Õh€îÖXCiÄÍ.èH /£¯Hƒë!†®vþ0@;@“þó'Œnzþúmæ?`ã ôöh4ÜZK·ä¾ÖG#C3hÅè ­+’4I)P „˜èº ˜¥¯[Ô~­†B Ñ/2fY¦ÿN†€È]d3$µDDX—ÜGJ£*MÌ ù_¾ôúßþ0öûÿùÿþìgÿÕÅeS+‘$‰)»0ý}ÞØÅ+&n¨Õ"€Lí—Ѳ,kc=Hwž„h=8„Ýú侧뜘·‡¥ å¨ rpMï*DtÂ0BnE©0Rë¥Ýì5"ш¨^C d—$Õµ±„оk:tHÿ²ºAFï4lø„5 ºnzƒ&Ý +`‡€s$}æC€öÔˆdú/e·hèít7‡ñlÀ½U– Ї9pÂû‹,¾Рß?@à'þ퀆-¶h^£áV/n)Ð@¤”tÓë‰~»½¯ï¬¯UÛ½·„‡V}ö)ÝÅà‡)x dKXÄ·«[åØJH›2›°¬çþôG?ù“ÿú_[k£½ÝËI kÕ|ë­£ñK_úÒýÑÝNÓmkiéêž={lÛþô§?M€\áVŒ´éÎrÕË–ÂD£D@pZ«Ë€@;¶mq…X[Yé=On&ãû~mm :¶mÛv‡¨„ëd,Îljã8ê¤Ì±¯\1n\*Ó¬Û²¬8 “ M(5É/‘¤A£ @½l6Š"N P q»kË}Î+D™|¶X,..,0Ëö<§¾ºfÞ–-ä\×­×ë U*ƒj˜‡¬<:ÇqØnc…r1™$Ë Wºq¸c¿–šŠT™Œ¹¾kÒkŒ±Fµªân'µ˜é¿„`FþðcÅbñ»ßýn:=yÿý÷ÏLM?ûô3Zq¦$ÔÕåÿg ¥TJç<ŽãFµjfŸË…iÚ¨Tzß ì‚^\255¥µ^^\4XR½RB ¡Ò4Xï[™/•‚ H£¼l–1Œc)Dw0-{•ÏÿÛAá»°z³–èáÞ?”½¶ôlÊšÕ{¸y;2Üüé0ó7¾×LJ.6°mûX¼=Á‚°q_×€ZµL/F@t3Ü0zq§ øñúJʤK¶&@ˆùÆy†Û¨"*Ôˆ¨M@E1X AkÎ9¤)hÅ驳ß:¹Ñh˜Æ„Ó»a UûàhÄ7„®]4ÕØ—Ñ`YÖ ½')¥”ò z®› ì5"öÍ(Lxôî‡:íúú¸›Âóx^ÓFZaY–Ñ¿0œBn;„QF-Ê€1rWˆÈ""hDD ÝV‹H‰F|›Ò°A ”›½÷Ó¡6„¡>¡8ÔF¤É±%æŽ"×c œRè§ø†8d<ƒ!-Ù÷~Äz—É´MwØ*;PÃbÈ®¤ –ßÀiÛ›_'¨úöžöóšç°Çš ªù'¨·„Çj+ŽCõz»Ùßü¹Ís¸YQÀ[Ç}„Ám§ß&c?Äñ È¡+›ìb³¡†ÊmÜj1È[=:":ÀÆJå;vï^ªUZ­ôm-DÞŽ™sÛ€†N§sêÔ))…Öúç??yþüy!„m±°ÓTWW*¹|ùô™³~>1X( ¥<ÛáDƒ–ZÆ•eY!“Ï…a(…ˆ;í¸ÓÆyÜiÇÙ\.‚v½áúÙmFQ!ÀuݰÓÖJJA=ß³,«Ýnk­Ó¨“ÍåÒ4õuâ8ˆ —Éò‚ßh4U&—éž7hÄA¢N‚V5hUÀbŒS ×%„$Q«Ó¬˜+ŸÏ'I"„ÐJÔÖ®r˲l"Ò¸Y‹?ãK)…”R‚)€€$jqÎ%’(ÅÞý×í%GÇáœ*%8Uh€ÛáÚÊ•™©ÑôÑB¡`YVeíj³¾ *ÖH=×¥ÔRJÅQ”Æ´L*íz;ŽãŽŽŽ..^qÄ93¯•R5€fŒ3@)Ó« — ¡šf|ÏÀ­V @sne2@´êU×õ€Q­uÔi¯kDS#6¾îåI µRô6Õ&Ý®1är¢©Ö}Ë¥‰jÓ÷n3PÌlCVx£vþ»x :ïÐT½w"ý+Ôh [s_Ñ¡R ‡+ ƒK'6®3¨{‰tíÙŽ¾á¡ E’š ´îr¯Bçp½ªˆùsnlÛ1]ñ€MyDÐ@ WզΚsÏËH)Ó0Èy>ØD¥<ÖÐŽe3L-ËR P€z/äBc/Gd àúª ŠIßëŸHSD 5•R›OÌÊÝpð˜xÿ°¡D¢—=¾öÙ®ÿ65E`}†Aû¥3ÿÄñ™¥¥ÖH˜mÛœR­ Õ €Ò 4j”Kâ„nðM{½Ró…^£Ì¼WÝ£ÛÜ 4¬Øוºl†¼ázzf†{ªqX}]ßäÆ6–Œô]µtý”º0¦TõÍ뀳-M`ô Ôom+f¾yÞÝÛ32úü´R\†aL œÙdìê~ÜÀÒï/ àú¬n%Ð0d?¡æ³U@ÃÛdì‡4€Ú aï¦pXçMþ#ür^¥"ã”âT2àØZ¶A˜]ÃÍÛÖûh¨TO>ùäÕ««01Q\Yi€çCÂȈ»V—ˉ:±“É$Aœ{޵ãXÆÆ•ð „A§2%YߎcÍ9‚Èq,Æh(5ˆ$-…ééé+W®º®Ç©LCDT ‘ÀÄøh³Ù”R*ZÆQ¢R “ñ’¨-¥NУ£åZ­Ö¬WÀóœ(ês^¥”éáûn&“Y[«&QP.Z­–RH¸ŽE)ÕZ‡†Rc£åJ¥¦DR(äši žëDAÛ¶¹Í!MSÝU!!ˆ•" #®ëj­£H€ëÚŒ±(Š´%"‘tŸlÖã˜QýOßüßûηîºë.ÏóNœ8¡µîtBõÝN§œSÚs­( ËõÃf¶5Õ °ÁÚä–v"í_ʪ•úg%³.nþó’!5¹ø [ãÝ.†P ©…PiF‰„èDIÐ ,¢Ò ·‘Ñ ”²m›snèˆèûnÆ@ R©Œ—ªÕúÊJø¦<¿ÙŒƒ$A’ÆŒA€@ešÊÔ¢À €Ž…C@ÇI' Sá€T(Žùj„tÂÚâU‡&©C”¾þÝ5×*æZp `~W†A°D[ÍJ­§d”X2Jd”@š @'‚˜>c"Œal~îÔ›œ¬Ÿ.ívÿæëhWkætq«m~Ðqâ!a}&×’ÔJ3 Q†Qï_1I¥9/YAØ=©RZ©“¯½Öû^œõ7t¯4# £Ä@†" @D-ó ´ìÞ7B rõ²¹:µ뚃Kzw@ÔHÜîò¬@t毢Ӱ®ùL×w%ëݶ2úíR¢Ce¼‡í2p )èPšûåzºÿúþÌ)b\¹–èþ›6%ë ß'V›9÷^!ÝŠýîŽs³öýý-%lýh×Y­ Ïû‡ïƒ=°úÄÞúŠC½PFzàÆ‰[´q^k×úÎç]/ âøƒüC½^Zפ®5€©q¸FtÁîÞ±¡Ð‚˜QiÀÉ!bïºh¥-B@%)x– 57T4ZI ¨ µ¶;”B¨è„a$“ÓBú™B¥ÑFÂáaÚ¶G©) “Rj­3™L†iš …(ŠD’îܹ³Ñj&IDZïûAŽŽv€s.•B0Ër]7ŽãV£Q.–ú®ˆ‰––í¦ˆa2ÆÒTH)s¹ÜèèøÉ“'ïºë®Ë—/{žžçEQÄt÷ngŒ™¶ išJ™2‹FiT(z÷p™L¦ÑêÀèèèÊÊJ¹\®V«…B! ÛϬ/êOÕS°9KS•õ3f­ËW*«ÙlˆÕî´]?kÎ+¥ô<Ïù1Žc3=Bˆ‘·p]—1vñâÅ©©)ÏójµZ&“ ‚Àu]E-L¤ª&u| …n4ÆÈøøäÜÜØ»wïêjE)™Éå ãCDZ”’1˲,-…Þ«¯ß¶m›äž)r ÃPkíY–MIF###Qœ&Iâ8.·-!„åXQ!P×uh˜Ä€Ôóß¶&'')¥µZ­X,¶Z-D´m{ãSc°0DÈ$­öÌ®f+Lâ‘b©Öl”ò…Z³‘$ñÎ]3­V+ŽãR©Ôh4 …B£ÑÈçó½"škš&ˆI1ÆÊå²ÖúÊ•+wÝu×êê*"¦"1W>ŽcPš;6’¤Êf2بõ„u[mÊB !7ÃRhwGè–d°-`[rNÙP™m:¨[ÇkÐ2‚p£%îþu–IÔÛºéýÐïý­Ðªÿ¬†JpPW©™s¶h«\»þKˆSÞä²ë~øf­ÖjÀuÝJIß÷+0½ëo²”¬;ã×YÔÞß×b·«È7A®3z*5 5¹ë–’A]„ÈÖ|[X Çà „f” T­8L•t|l’´Fè’è7èƒüÀ[4˜ Ò$IzήÖÚq,׳›Í`uµŽŽã´ZI £@ PÚuö1}™FE”t†ž÷·ë![¦z›2äd¸û–âíBÔ†;>RE|«B­·æ†T#*´Âþbß—%–és¹.èþ–Òÿ_a]´fÛe{ñV÷y}x(ÌУ†ô€û|P-ú`è=oTïf=D¼):h,9°­é€*õ¾¼&À,N¶¸ðY5ÁõÚÆu„Y™ã$RضmkËæVØj!R)t*50©S© C)5CR«U|ßgŒA”H…Ba;ˆ´Öãã“Ï¿pÌÏe÷ìÙ“+”†ëg—–€1fˆîL£B „øùB¢tßëC™¥44›-Îy±T\^^.•FÒ4}óäÏs¹e–ëe4¢ÖºVoær9Óì3N!„Ñ?ò}ßËe;a;_,U« ’Î8É犠•Ï—ÛfKÊ-Bm »Ù\,ôF™PÒÝ‘u³Ý)·ƒ`u­ê{Ùé;ã8n¶:S3»­6e,Œ¢L&³²V±,Kk].—™e !:ad"dBHœ Îy&—o¶;µF3—Ëe@Yid´Z­Q¬”2H«0ÆãÜ"FÃ÷;¹B Z°Õ ‹Åb½ÙbŒqÎc@8ã ¥±K9»13–tbD@ I8·³¹‚e96Å Þ0»çZkm»N’$Ž— Íתe¬@ªãŠZ­Æ˜µV©…a˜ÍfãD©GGG+•ʵù(¥R!„VöÿOÝwÇÙuU箵÷i·ß;M3’,Y]¶å† ØØ² vB6½$âç`Ú#qy„$@„B¨Cì!¦ ¡¹Ûrd¹¨Xuz¹ýô]ÖûãÜ;šÝ+æÂè™7žßþÉgΜ9÷”½×úÖ·¾Ï±;ºó˜©l$U¤À°PR$UÍ Ò™0Œ…R›–  ÕhzéL®\©%ÇGD"hv b¡Ôïy^K¥T*“›˜š©×ëÌà©TJ*Bbœ1¸ á‡!¥ H€ñå¹A/®CÄöðGèü“–7îÒÔ0©ô/•¦ÎbŸ‰h—ßêpêŬz4÷kíu«±´ IDAT½Œm Ù¯¢$µò£¦Î*úTÛ[®X‚G°µ«_¦e¦€–3j­{#YtuóÑ]㇞ò5ê­U€ˆiÀÅ£VË„ZN> ê s v\N)°ò€T‡uI) NoA˰N9å@C10Æ …‚çyˆ†1,%²mÇ:Š"ˈcP‹>¨ص=“ìÿ¿´;cOáüÓ÷wYWFgogÚëçbØë Ù-Á Súb¯ÔýÒJv^sº\ˆnyFO¹k· WÂìw‰[Þ2Nü‘øÎ©óGËòØëBÛ-‘îtµûÂna×I“_ìh HŸgê6BOÏsÒ¼üã)z2t/3CÒ haë~26|7‰S´ÖI®h›VÚv¤”RÊDôAJ™9ÑÈȈã8A¸®›d€Q¥ÓéZ­vÑEMÍÎìÚµkÇŽ¾ï %QJ)I€P2ιeYRÈnJ$e(Åq¡¯Ï ‚þ¡¡FµºnÝ:×uggg÷íÛwñÅ×j5Çqæææˆ(“Éd³YÓ4“JCE^hP¹b™¾c¥97…ˆ Û©OM¦2… Š|&4I n–K"d-£Ä–ŸFÒ<"Ç###AŒImظ¹é¹3ssÙl6Žã¾nšùbË•ŠmÛ¦eÁ<åPˆ(Џi®9í´z½^¯×s…BµZ-W«®ï'{Ó43¹A arnY6GjÖk±,6MD2 V(â8c¡¢˜1#Éð‘CGí0lÑ(„r ‘ hDY¯{õò̪¾¼–qà5]?Ô@†eNLLŒ¬9Í÷Û¶ÓŽM@Œ„Áñ´ÓÖzž§Ëº4PªÕju·ÄAÂ)PJ‰¶+7¹ƒf¤„n‰êÅ#«7=ßõí´.0£\© i­›Í¦ëº©T* Ä71<<œÍf“§B¡”2 ÃqÇqʳsŒ`®ÑÌf³…B!Š¢|±Ï秦¦"k­‘cY6g„ÈL#AÍ:Oç.sÏ–K‚†m#±»d0£[­Hwn]dØ«ŠB—ãÿ®Ö=Úûõ¼ú®LĽ"Ú[„]{æ»$TúéÊ:Ç™+ç:q2`¥‡Uy倆Nëã¢Lu™_ª‡“ÑH€ô©j}%ÔBu³ã…“Ø3Ÿ: àÔHiET;tÒԒ‚ϧ‹ÑN§ƒ 0M³^¯@©T’2v]OJiY,Œ¢LÓð| Œ (€†ÉçED¨ýò´ÿÿÔ~uJ'ÖSý`uû»Ý8ݲÑ:¡·Jã)µÇÓÝl»õzu9Ÿ^möV¨7¬çQtÚ®Q3Ãì<‘™|æ‰)Å{z¤Ü÷6Kbï‰(ýéSžêó×½ò$±ÛûÛå>b½è]ç¥b õˆ4ôöÜž²éZ?âÆò¯'!èÎL"àÝTë{ù\4éV1`Þ³ É»À2mS¸n c'›Éf³u·©´ %ˆˆ”AJBRŠ@ÏLM$‰¥”rdd$•JOOOÇ Êå²iqÐòœgèTÊnL×¢|Ö÷ý0ŽÀN¥8çZ $ †©”„$¤ZœP©Xƒm›·ì=°¯V®pÎBÏ')§¦¦’ïÁ³/}Ö“O>¹yóæññqÛ2’Ö€je.E8ç¦i2ƒa0>>ÉC­9¡UèM"r¯Ñ`‰D\„¶"©Ad8é„w›doØÂ(N»n#e›ùlnvvvÕЀcZa{Q`Z\ËXªxr|4ˆ£8ô%iÔ¤´0BŠ˜šŽÍb5j?pU,b%k•¹XŠgnß{`è»ÄP‰È󛌀¢&©‰¢ ãØ†aeŒAÒ­@-!P*Šãµi€ó$ã£ã8‰–…BÁqÒ #“£“ÏžGa:›O§Ì8 ‘TxDDqƈYŽMaèE~“„š¤Š›õj,¢gn?pè`à5#X8j`ܶ50 ޱŒ-´$i.µ”ò¬³ÎÚµkW†qPb¶²p{ò>&v§DZ¢Yo ¦3wìxàˆhfr 8ó}?Š"Û¶¥VÉ#ꇡÔÚ´-Ó¶â@°¶S÷/’L(±¹ÿe#jÉØ’OzòQ`ç¿«Q.˜G„=‰ÚóäÒíZ/}N>b—ãw;N;®[¦w’ê±z‚+•¯Ìª¯¡3ÒÐ9ÎÁ§ hèwÑJ]Ïî d/Ç'­I®ÄçêÄ÷ 4ô´ÿñ*Î ï)õöÞu5¶¼‡:¼M]j58N5ЀRƒ–Š „( [í)‰(øeFã§hð}’8£X,~ùË_Þ¹ó2Çq*Õ¹t:-DœJ¥”¶e )þñãŸ*7E3ˆ•Ô†É92!"XÐÐØŽÿØâ`óÔ©¬­Ïê7 h8éƒØQ<¯7$žs³7‘ÂÁ3zÚ_køAŠ—ÿ¹@kêÉNq¹R.O×ש>B­{AVVJ£¡×ãwS‡~º\`N2OötŒÞ´'4bgJ¯¶XÝ?–V Ak¥”–J)Jƒ&džaøM÷[ßüÏõÛ6_xÙ%ŽesÛÒZ’’DDJ’’¤)E@_úç[D»Vãeøô§¿²wïÞÛ¾øW¯}ãû8çÿð÷7ÝxãûMÛèkÔ«¥R‰¨”â 4’ ý ðšét>ê…#gÈMöÌ‹/j4«cÇÆûJÍFݱM%ã8aþéÛ^òö?ýøŸ¾ëúw¿ûŸ›Í&ZBжe˜¦É9WJÅ"èëìðà ÒrlÏó7oÝ29>‘ËfD‡A6½R0Š„ÒºÝŽH#h$BÐJJ ÍÙ±£G× ¼éMo°Lø‹ÿý·„á­T*eW+•Á0„”…|^EaHR­nš)Ë,­.W*¦aX–37;=84ô{/¹æsŸ¯¾oZ–ˆc·VC€B±h§,…ÍÊœeÈY&“ÀzeVkˆ…†N:›ËåLÛÑZÇ‘PJIÒZuVA¯–+–ei­ ηnÞrå•Wl_ Ö„Õ9˜O–Õ§jŸu›µb>£"!•ˆ ™¡¹e9¶•MjµªcÛ)Ëš™ž*‹×¼ðêýÒ—}Ï33MƒqŽ2 ”¦.BÔ”¶¤Î0Ùs¯¸øØá#AèQÊvZ½y&{Η=|$‚y‰”ã$¤Ïó|?ÈçrÏÙù¬{÷å …òÜÜÈêÕ ´e˜J)ƒs3m:Zûa˜@¦iq0—ŸKhìî‡Ù-K¡ÞrË®À.un­êv6Ý4nz¦.÷X(êq×=Ï +”«¯Eœu3p¡.KÅÓs âÞû“µŠôòüSo„Ô=1zîs§^Â%óÀß)¹ÌAëÞ®Îÿ×@iEÄ’°DiÔ-‘:¶P9i~rNÌ»Ÿ !ñ 6MS1;;›ÍfÇ€{ï½÷Ì3Ïìë+<±XÃ09öÚß59Wk6›¦iÚ†™ø_š×Z'~ݘH1'B<¥¾ë¨ñ §ú«Ûßíæs®ugl¥×…!¹ï§îëêvе$Vêø]ê-±aŒ­ Ó+@Ó¸A¶|U^Íè7Ëí¢×óÇ.ªÅˆ¼ãvŠp€°n÷«ÛþÝ€¿nûwÛÞísõ:v±·^co ª=7Z÷(Ö«Ø’ÔJ’"©””RJ%$I…JÏÍÌ:–]ž5úãâêUë·m±-‹§l¥©4’b qI2Rð¿ÿÒSûÖÕL*;¼zÕÜL¹TȘ¹ŒÄ2Õòl¡¯ÌN™õJ™™Œ×Cä†Å-“ !´ )‘j;>*!,RrãéFÕR5jÕ¾þâ`_éð‘ƒ×½ðÚCGãU}}¤MsÚ­©0T Q3f"Å6@bRª¢HiRʱl0ÌXJRª<;§¥ÔR…¾/„p Û¶9¢e‘T ‰XK~J1 JÕªUÇtLkû¶-¡ë§ûÒç{îÏï{Àsk&3C2ÒaÐDJ†sÓ>1Ê8™þînø5'í6«ƒ}ƒ™\ªY­0T›‡ Võ›~:—NY©R1ˈi^#ðÜÆöMÕÊÜÜ\>— (ðóžZ£.¤vµ0–Zr–h`“–E û E¸^½^ßõàC°¸!ÂÆ†áâï^÷Ûÿç£ozn© _ì«WËÅþþr¥ ÈMÛèÓÀ\?p›u"aä³ÍFÅéïÏ‹*Y&n€Zu6—ÉQè7ƒ0Ž9¢iÛ¹L&θ~¤Ñ8‘î/âXJ©•ÒDZ©õ%`ˆ¡ H)%I¥€Hªõ%à€A²¹ Žü¦Ûh4lôRŽm˜©¢-ýpm´Tn½šâ(bˆq–Ëef©LÚN9&çB)%#Dƒ'e±åˆÿͯËwàle\:Û%öž;õçtÓrZ! Y÷Œ2Щ¦ú÷ßëE£A?]••aô|=ÛÊ…=F­Èç:‰ýíòߤ¶M/Kjš=^ç.E×ûÛcwÌoФ5¢–ŠZ(¦dÆ^RŸû%óØ©~Á’AƘeYq;Ž“ˆc']¦¶m'ûX–…€ÙBq×c{÷šš6M#•J)-’NTDÔÀP#0ÖN­dâvêþS @tKŒ»"å]|_{M°»-+…p÷ ¬p°R÷«ÐÀŒžì<5ãPýúÇ ù¯ï•¬‘{paf@HÈàÔ¸6ÿ?9ÐÐñüýïŸÀÂÿï†nA·ýWŠaÔ3“;Ǿ]ìmÁf]zcºjªKE´×Jc—¨KGJ*Ð$•RŠ„TB’Ò¨´ŒbÛ0½FS”gÆÊ3Gg& ¹\Z³µ2–"FB)PɘqRB1bJÂÑ#‡ôºÓÖFA¤£Ð#醴øÀþ}ëÖ®Ó« Ë8vltdíjßkpnL»õ  }ÅB¾Hä4>@‡ÄX„‘Tñ/~ö“ϹòÉ=NÏÍ’¡ç?|pÿÐÐà«^rÑ›ßñ¡É±‰O}"Ú¿÷‰Uƒ  5qè5ë tÚN9™T½émÚ°þ‰ÇÏò–aº¾·þ´u{l ¯_k š6mX?9>!ã°Öh ¯BhÐ H%¸ 9¥ˆk©¨¯Xºðüg|ñó_xñuן8pèà@ßÀìÌÔ¹gŸ»çñ=kFÖp„R_±\-75M44ÜG^ì+zÍF.“|7]Ò2ð\ˆ ¿437ÓÕB©€„ÕzÕ`ÆÐàÀc»ÿ{ÝikLƒ5Êe°9’=úHßÀ`,itRN:ÕF£Zž+‹„úD‰°ÙFÝ´¬t*524È‹…p›uºÓÛÖ½¦¿ï+æ‘›ÍZYÇÑØ‘#«Ö¬©Të •€Õ›ža¥RÁw«–Á*s³aè µŒ@Æá¬Û4m˱ì|>Ë¥V" ]ßg<­:Íp¤d³QSBš¶å5]¨ÌÍ) å.ØÎ*åYj6j©Lº0Ч¢ B?ÖÄëÏ@ú3ÓõÓ7n86:Z*•üÀ;}úr­êûž‘eY‰sd•ˆØòçi`ØÓ\ƒ :»Zt;»`` Õ-|X¡ÖÕ#•]©ž‚UÝ»L€^)¶ÿ dMÝò²® Ûo Ðpj]'z+ªkR+¬wmud¬7 Aëåß1BÐÐùøÝš½ ½\ÿÞ ¿Qb 4CÆ´T¨tkh½Có kj´>]@C>Ÿo4QÔ’Ô’2&"Ë2^tÍ‹ Ñl8¶cYNb*æz¡Î«øšŠXŠx¬"NIb¦Óˆ ‘‘h³ÎÏÃR)ŽÖBµÜ>‹¤^w¼ñìd¿Æ–¦‚mäµÓóÊ8ð5hÑtC -ÖZH¨)mD™uyh±5:G£ã‹ÊpAÒ²hanuæB«Ú¼(°^è»N‹Åü–ܵ8ÇöçX8 ,<±.»îv±5b§»¡‘÷”ð,ú»UýÛên‰Ê|ÂÞé×u¢û¶8‘c Îù*7ɤósÑõDóxo¹&œ?,’" DŠ[6BL·¨ƒÇu¨±õSs¾›jñÈX«ëªãOçGÔ'û)*M¿ü8íW‘ˆ-0@Â…fHÉ«³øøÇÛJ¹þNJ -šZËT—‘-þ] @-÷Â$']xnز¦kmi?ÏÔ~:Ÿcÿ¢V­ó_ÜãG@‘Ñ¢c€ÇÝ•ÚKD›æ;„ç ï7Ú^´ÉŒ‘é1-%0Jô|!hPíç?±xJ®…c‡§„YÆŽOt‹Fvâþ‹{ŒYû³'Û“‘ö6·'Ì%3ø[Ùã‰ÇñI@/|…õ û·ÚYã€:н&‡–¾òb×ÙYìMô .¥µ$RI0… jƒ!CÆY,…R’L8Ú¹Œ ¥2Ù\,¥T 4pe)£Vš!ålhº.hp2©™ÙY¡%ã<“MìÃoãÍ9M· ±nÝiC##ïyÏŸõ÷ÁÌ|÷ΟÜ{ÿ}žç…Ñ\àGùl T‹0ˆÇß?ÃÑ€¿¸ÿáW¾î«×o:tt¢X2>ûì³öŽªÉÉ©¡‘á¿üó׿ìÕêû”òÒK/½úê«7¬eSe¸çž‡ï½÷ÞCGÿþË^qáE¼ûÝÿ›”¶ÒÖ`*õªW½êöÛo?tä(År è‚‹.94pdÿþý“3Õ~þ«h$bH¤8‘”ÑÐð*E89=µqcfºR™˜š|ͼ¬T*ÍLMo<}cìMozõtÏÕW_jš5à'÷þùÏ>51Ùl69ggœ¹ýâ‹/~γ6À·~øèÏ~ö3$ð]ÏȦ3o{ÛwÜñý‡zH Že_xá…×^{õÇ?öÉÿõçœ7Z ¸ÐPð¾¿ùôØØØªU#çwÞ%Ϻäô50S‡Ÿýì‘ûx¨îùÉŤžë àîÇÄZ‘N¥Ò}CÙ`n ƧgÂX ®Ú¾}Çu/¹v0G+ð‹{î{ð¡]µFúKÅ /¼ðÙϾà´"4|ó›wíÞ½›1Öl6Ã6tË–-;wî<{ó Ø;Ú¸çž{ö<¹?V¤–ºh °ÒNúštÆJ×TŒ®WT2C_k5Óu#€ë6†††|ß?ëŒí—_~ùÈŸ®ÐÃ?¼{÷îéÉI‘NÍ5!N[–õæ7¿â¡‡ì¼dK0= ÿ½gÏî=–+•@(Æ @Ôˆ²—sk•ì%1“Ô›‹À“2Ž„]«ÅJwk=ë-äD=ÇÝv]Fêìž,ù[‰Ú^÷Oo‰Y7Ñâ®Z¿ #£'îK¯À‡î]´w cÙÚaŠzKÈ»}®Î.QÔ _— ,ë‰aA °m׺øhJÉ•)H!ö°îSÏ(Ò¯Ähè!ßéÑ@9I¶šÖ°mê ÇSQu<䣧h`nÓoÆq2Y##RZqfäsù(¶m'fÌ–™6Ms|r‚ RÙi/¶,K™@9ËŒ¼†Q¾P E±Hås~ÉÀ³ ^,å£(òŠ¢ òù¼mÛSSS«V­JLìO f1Xlµ¯+£^˜6²öƒ¢-'U­V‡††jÕ*jê+–Ê3³¥RÉ0 ÏóÜÀ_52<=7›ËçÃ0†^¬=í´C‡õ÷÷'Œ*xÖií8NʼnR뺥R)Œƒ ŠýE·îPÊNû~ÀÑ`Œ‘"hasI¼›$ùŒ™V½^äœGQ$„0Ð8iE-)m·– b-Ø©…3( ¨E+¥Ò);ã¤HÉ(Šjz©¯è¤Ó‘ˆ½À'DÓ6,ÃŽ¼0yßk!ÍHÀ R†éW뫇GŽ–Àäˆc)8A±XŒü ^¯sÎcDä8ŽZ`ß8AÈãTð…OG–T‚”bǧ¶ Â`F,¤bÀM#ÂqÏm¤¸i\J©lÃŒ¤H¥R®ërÓ@ÄL>W­V•Ršˆ!š–ÓzZ’ZäÂöÛdåÇ¥åÅR8QUº¨ÓGB,L?ñgæ¥ß]—Œ!i­I3¥P+Š¢XŠ0Ê9i ‚4Ôë¡°R)OŠ8ˆS¨E,I+nq€¥œÈ&+å|3¤Rq³)ªµr*Ž"ã@j8ÿâ‹®yñ•_øâß»óçžÁûþòõ3ÍðÇ?þ‰“JÅÊ$_&¨ç|u(Q-AfDQT\µñcŸûÖo?ÿ?øÉÃqM¦“ƒØvöÙ{öí󄘮V+$cRgŸsÎU×¼ðç÷Üû'ï¸}Û¶mÿðWoÞõØch8ïÚuõ5¤³™¹¹9Æá¹Ï}î[œµëÖxêÐáÒÐig=cÿ~íÛu×+ o<01gX€f ÛR­Šp’Z‰§Fž±uÛu/}Ù·ôäl­á¹Íþ×ÃgžyæÝwß}ðÀÁ\¡8œ‡«_xé{Þû‰z½žNg¯¾úùW½àš~ø#ý}Åéɉ·¾åúÛÿýgo¾íöHÄ7Þxã…_|×]wyA®ïñK·½ñ×ïÎ;mÛv'Š¢áÕ«÷;V®_ÿÇ!ãØ4ÍÕÃ#çŸþ†õ§Ï¹¾‘Ê–®½î’/~á»{÷î]»zÍu×]Woz?¼û~‰üÄ„¤!| ÀçGÏ“UÏ3c”}•Í—.¹òê;v|îK_ÛóØk×®}az®:qß}pÎ9ç¼ôš ÞóÏíØ±ãÚk¯Íä¾ýío7›M`¦ÜTJ]ñÜ«'''¿øåÛ9rÉ%—\ýK~tÏÃÊHKÆŽ7!%—×hr”"š9:SÊe#€þüØø!ÒzhhHJ=;7‹ “¡·y˦«žåOú‹ûï¿?ŸÏ¿óoœ+ÏLÏLVÝÚ@ß÷øúuJœsþ–¿xß¿¸®Þ…Á…£SÕ£SUÓ²ëM?–¢ÐW¢§ ª&ì¬yÑ…!ص¢Ø+3±W—™.û3†]¢º&¼§DBh`o-uÝlU—ÏÕU¾×ãŸbºDoô¤œÓ‘Ø‘×Ûõé–¸vo-\™D´+“±† †®>–'Ih;&ð¤tG ¡]ˆZÑÆþ~ý–¨®0R`¨»ÖÛJ1_NJJZ. ¨+, h`‘²à ôî3Ä™©|d`9q«‡ ±%ŸÈa ÑÐZ3Æ’™ö”3FÒ ç‘o|ãÛ¶mÛ´qk*•`q,lËtœ4i I€À„6€ b¤çæÊ) dRP,ãz0†ñ¶ëö=ùD,ÂT*•˜9Y–Q«ù™TzþÏ%OªÒˆ„µ §‹¥0 -Ë2M3 CDZâ8VJH)Ȱ-Ë4@ÅBJ©ãX2FJOOOgS鉉 Û¶ÇÆÆfgËdØ`¤¤”š#¦-¤š·‚u[ ˜B¨×šhp’ÀZÜHY¶iñJµÚôB+í ¯^7]ž›-W³…âøÔ´ÅyÖ¶#ÏÍÍÍç´žç™¶eØq–ÍçæjÕ8Ž³éœ å|¾ý 'Ó§<ÎhßPf"¾¥9×Z·Aƒ[†;04XMÙŽG ?(äòH”/”š®ŸÎeÚia¢¢Ä™‘ð¸2¿&$\$“€ É–%Û5&Õ\<‘P21v€ ®âœsfÚùT³Ùœ«€¡)Qù^✔•?ªc¬[ÍöÀ5OÎ'½9¤PÂ"NÇÙ°€AÔð×u‹Å"3MFhÎÌÎ¥sY` Õˆ'#Z¶ Èc¡T*$ gœ¦7,f¡PhZ¡” ™N–$Z‚V¨c HgrœÙ²éǨ)Òh67¬\ÑnÔ}­ÔÆ [MŽ£iùq01SÎ2sIuXÏŸæá•E_ë3&Yœnÿ:bA8¡igÌX‚™2‘Ûn(@³N I«|ÝB¯ æs²…ñv&TËÕþÁ¾©™™(·lÚaÓ÷LFxcŒq£Þt•¦†ïK)™m*Ʀ*e0Œ@ˆX  µ&­Ã0L)eÛ¶Œb¯Ñؾ}ûáǵVVÚ$àF†Z14˜ ˆ$0B„šÍãæš§R^›™L¤´’ çØ¡o…j¸äyNøI†nƒÙ‹ IDATã€Ú÷\Û6;•J¥€ÔÄäTúÃC«Î?ÿü½öÝ—-æKýýÉ Ü¦d˜…Ä$I ±uï  †F£áÌ ‚(´` H#)w|R)U(JÅ¢çyÕj5Ò1­Ž@ƒ¤„@ ž¥ih˜Oø µdˆø%(ƒž¿×†Æ1³MÎ0R’8úJHƸaqlYGŒ•BfÄB)d¶å4=7(WÃ8êïï„09oz‰ë !µf¶0ÐoäñùQÏûÒ-õ [ÚVóØCCwwUùNjð„ ¨Ä &T¤¡½lŸ*—gʵ 2a&ŽcÃ0„¦i2€ô¯ÓP¡ßÝO…üàwïzÐØ¿ÿI΂ »w?R\»ví§?}Û?¸KîÝ¿oçUoü§O|ú?ü¯éÙŠÉÌzä"ÓÉ7!ÓBI˰Ž=¾×óƒ7þዃP0”S³§¯+mذáÃþðáÇGFFŠ&ìß¿ßqœ›o¾ùñÇŸøÐ‡>´fÍšGyäoþÀÍ7ß|óÍ71xãȪáýûžtLã¼sÎþ»ÞzÃË_ùÙÏ~vó¶3†~dbïS xÝ£¤8ót h5P*¡8räØö3¶¾åÆ·V«å3Ï8㓟øÔ>÷/63<ߟ¯Àß|àŸFÇ'”RB¨ÿüÏoýÃß¿3Š¢=»ÍgÓ¿wÝ›ç*³Ì´Î>眛n¼ñç?¹í+_þòÔÔTà±G™šºúùÏ_·ví‘#Gj•J©TÚ²iÓ'?û™}3™ìää些νà¿ùë¿Ë¥œ7ýÑ~þ ßúæ7þ#åØ{{ÔDúýWÞð•ÿü^Ìø2+Ò јnHbû,û¾úo·ø a[##«¹eÖëõš×LeÒ«úšKíø:ùK¼»1'“vÍL&(˘¥l†Ì`\"@­1Ñ—RväÌÃ%:ð`>™g4$ïˆF­‘‘&lQ Ú®HJ)×u3˜5;òƒT6 Á‘‰8öM–ËY)Ç÷üt.+âØ@¦bAJ+­µTHà6¥B1Ѩ;±oÇNL€Ð™‹y²À´—ƒ”=è¬miI ¤n¹ÿi¥X:±œ‡"DB…±Œ„2„ŠbihB&ú¢¯ÿƒ?-—Ëq[–eÛ¶Ö¯pöÛ÷îÝÏ.8ïÜѱ‰ß¾|ó .ßügo¿^$:!@ä5ª‡¯Ù~Vùó ›°X¦¹fxä`£R›||÷èÅÏ8ãß¿3e—]zqefzÏ#»L… ”Ëj­/;gà‘}Ö÷|=ƒ Àðê5fX_¹õοðù÷ßóÓUƒ}ZЇ¸÷w®}Ñç}tlrç¥ÏüÎwEõŠ•+ƾ+„L\B’Ž A3Ò䢛µSëW¯ š‚”új³åÊÌìÌÄäP_áþì8ïüá>Ø÷Ä£µzSkð<¯¿¿4ä@yf2eš#ƒýø†×_ôÌÍÄ Ý~Rf'' DO§ÊÓSw}ÿ{¯xÙKßò–·ŒŒŒlÙpz!sÿÝw¯Ù´ù‰§rù;w¾üú—þã‡?Tž™\;ýØÔÔT½^£À¶Œ5y¨×*°&zuvrÂõ¼Àw=·qËÿx™mG °áôuß¿ã›ßÁU·æïnûîýÍf3Ž¥TË£¸m†Þ†ö$ZÕ7ìp“‡ÜŽ}yïî±/|ös“Sã¹L6‚z½žÉdÎ<óÌw½ë­Ùtnh€.?c%ÜxÕó.Ì& à›ßøþB¦§&…ëKpôÐC÷{ölÙzÆýwÿì ¯{®¡m"‰PEŒ“¤¨ Ð)A=‰=°îš vqd=Ðk±³F9%Ñ[&A¨‘aŽË”¨y÷”tIø»kâèÞöïéø+g?ÙÈè•@í\z¹@X¯ ‚vt¹l€ 4Я9¶ÏgévBÒÁíDú„í] +4`b¥ØSËœRqÖv¿ìëÓëØ–ý[ÐSëM«š¼ü÷¥Ç6GShÔ+)µ‚„áØæpB‹± xÒ+ÿ´ WýÖUÇC(ÆlÛB k)µB…Bj!5ç$¤âZG…–‰L I†–(§ÊÕ¬çO¼äYû¾_.—× ÀÜÜÜÀÀ@BÕ>h @™x籆$<-û5I¿éJ)•R‰ýR†›6mò£0ß÷cŒ3¦µð¿¿ÿØá#çw^­R=tèЖ-[R–íű²¤eYA"wý ›MÃ"µdÕ¾%l||‘ËÎd2 `«qzzzÚ´¬­ë7ÎÕ*sssBÛ¶F&ޤBh­Ë6 £2W–±èïïç¦1SžJŽœ¶6k9 Q©e¬ô‚…í8аÐoy>@W Hꤘ§ x«Â „Q6—=tèPºó44D'¥”)+xMÅ–?¡ B+N>2¶SARŠ4j" Eói[RÐemå…$‘åóùf³Ùh4eYù|ÞB%a‚×´õtëÅnVÝR©„ ‰È4 ß÷•LŠî PÆqìyÍB©/ˆBÓàB(®•„Dª^#€ˆ”ë52¥‚Á¹ÐÚä†ðC)•;Wíß´9–ú¡Gv]|ɳš"t “s®Â¸' ¡Í:þàÉæ`°L•ö=/MG‘ßhÚ¶E‘æ'Ös¡Ý€Ðn$jA K{g[´/B”+äÇÆÆÖ­^‡ÑÁƒ‹¹|.›M²b"’Jù¾o§­5"¶<ÞýÀä2Š)–À9 c–aŒ×ëõT*UÈå~~÷ÝW\~y…W­¹ÍRi#jE†a~mÛ-A–ت«äÊH©à^ÓM;)-HE†ÖR"ç>/œè(64h<þÙçB+˲F½Zsì5…B¡ZÕ³³³ù|ÑtLEÚu]d844$„/:y¥n‰?*¤Éä¾ï§3™¤<ž<„aÓËçréTªZ­V*•R©”Éd\×Õ]ìÁ䂸bQNž.~H@ƒ¤–ÔE‹1”¼Q1€( ÈÂ0N+!mà = B?0¹úA:ÖBrËt›M˶S™lÃsµz£R³˜a WòxlJÝŽ6—Kc»£bÙJÝS'iÝ…ÚA-_´€RŠ´VJ*EZ‘ÒD”@íóÓ—F††ép;Å40ËáÀ¸a(äÌ4À¾‚TjÃYgMLLÌ•««V¯vR™R î½ïîb¡OLMM5Ýz5€—¿ê]/”ZWë3Ï:{ײé¢g_òÌ==Ü?²®M±i¹…%—±QžAèË„^ãßoýâ'>þî{~òƒþRæ/½æïÞÿaË0úFFFكᡡz½®ÞýçžN§wïÞ}úé§3ÆÊå2gldxè«·Þú¦×½ ˜/¼âå×÷;ß’"ú÷Ûn{ÇÛn~ÙË_}æ}øÐ#¹|.›Ïº¡0mÓJÈCm”f¨fµ¦eü¿ny{6ÿvëGHC–€×¿fjjj×ÃÚÇ:ç¼ Ã04M³V¯¸ ô¶í[^yÃõíþïÏ}þ3O<œÉç\×ýÑ]ÿ¶eóFÆØxúK–Éï¿ïžß¹îÅ[·lj6›/¿áewüç}…ü‘÷mÚÇñu×¼ðóŸûÌSöõ J¥XÈÍzð±~äÀ“ÇÆúúú†W Î4\ÛÎ!cŒ@㢑ÃÒ-Œ€=¦ønÓä¬ÁÁû øä™‡aøÈ# @!—MÞ¯Ç÷ôÏ·ïÚýDè‚‘dæ€!1@Y›©Å‘J2iÊÂåç®ýš ¸–8Ø?¬bäŒ=úÈ#Y˜™¬Ä"âoë{ ò/›ÉMMOn8}ce®ž+¦Gp2i0735<4¸iÓ–©éY0xµ&Ãb>Ö…ži #è¨b1ì´Ìö[ޏ£n'Ý:‹JZÌèL€NØ'l7ë¸c§ã# ÆŽgË¡ãvÞL^fO;‚îRÓ])ëSlÓÎ{/ìÎúîrü^45!ñÞÜ—æ—øEšG„'Mì¤vÔå:K'm¾¿æH­9~1‰yGFµ»ŒY‚5tR{¬äwcpÒÝÜÁ:22žÅòÆxÏ­[¹èþêd‡–¶×¯>"ëñ8= ]^<ƒuDc*ä As$Žd0@`œkTœ:¼tݤWž6 ¡V¯9Ž”ˆävªmۉŗSJ)Apšk•âÆìôt.“–R;Ìè+ƒ²¹üȹç9LDglÝ2;;E‘eY‰±EçÙ’1m#ڭܪ\.@­2·aÃ¥„a"ŠÝz£á¹B+Îy.—ËåòP¯ÕjµZ’äoݺ5‚ÉÉÉË.»ì±ÇsÒ7+•Êàà ˆ‚¦–étZXN:äïºÕ}Ý–'X·n]£Q+æ SS“å©™\>M¥³¹t*›9xèsì˜eY•J%RrhpuµVÖZ»^“œ“Ò~Ó]µjÕikÖ>|xÍš5&0"œ—Zõ÷÷Çq ™ìºvDdµÖJbÂ,NZ»Y»ˆmXæ–­[ÿÖÏXÚÄÔ”a™™LÚw½ŒigŠùf½±jxµïûÊàåÊìêÕ«]×]Ò2“0I4ãKªzÁ¶D@Óñ´þxo'2-ã¬3·#©j¹‚*ìËç›FyfŒ¥³m>þâ¿BUp‘3¤’l¯Õ>¤ÖR‚†U—ZZ·&XÐ?&Ai·Ñ<묳ÁÞ½{s¹l,rF‹ÊØ`Û¶m>¶'Iö¢(BËBœ1Àõë×›7g ¢0m¦¤Ò¼ÅhЊHr)˜†36l~bÏc Ð ˆb¶Ah ;cËÖÊô,'xÞW>uä°‘M‘ɵLjEËõ ž=Ÿ°iS2Û0·lÜ4==ÍE¡eu¡Âêô¥5M$¬ö)Q“ïûBˆz½¾qãÆ5Ã#»~¸P($ô¢(ŽÑó< $¥J‚TiËöê !D‰‚FÒ9æ».)¥„(ÏÎ]õ¼çÍNÏ(%·oܼwï\‘*ŽbJÇqŒˆB«¤ƒQ“Jà†Ör#(V˜²ìÀõ Ã0Ò"Œ˜mw§†¶2òö•OþÝY’rò<Ð Yk¸ ¾¾>@,W+Ízƒ Y"?©‰C¬¤‚l.³víÚÆd%IÈ$_ ¬ cÅ"d¬V«ÉjGA¬ž›š¶,«Í™Œk!CÏadØV·JÑÂÇcI…G-þ‘FÐJ-yþ)i¯¶iËæƒ‚P cIRKŒ`ë–-‡J¸'2JH"BMJJà€QmÞ°±V«!;.~°D3‚T‡‡€Xµ\@¨zìá$J>à’Qu¶ëÓĈ”$­•TZi­@kŠ•Z%×6y¤t$)V`*ˆh„X1¨j8ç·^03335[Ie Q(¦'g6mXGÙL~íÚu  Z­nÛ¾íèÑj>Ÿß·ÿàú Lk×ý÷o¾ð§žÚ?´jÕàÚµR褵¥×¢£èB¡6=Ö?8`´g÷Âùgm™žžD<ð@ÂÌÎabb"Š¢ŸÜsøÊ+¯¼ýöÛ9çÉÛ:44äºîì쬓N<ïܹóâ ×ýõ{199ùÆ·¿ó^óêW>µ¿2=9‘ÎõP³V-J¨µÔ A·ýâiݺÓ#ßËçáïÿü‘ƒ‡FGó…òÜø;/yÛÛÿÄ0Œµk×ÀY;vŒŽŽ2ÆŠÅ¢"ÇÁ4Í»îºë3ÿøçŸüøÇÂ8Ú¸q£øÛ·o€r¹,¥t˜™™±m;Žã¯~õ«¯~õ«¿ñolßÖÿêWjÇyç+Ã,æ 7ÝtÓ÷¿û½©‰IFF¿Ñh4,“?þøát:=55µmÛ6Û¶9ÄÓY)CÍŒdí[8"2BÐɚؑ$IY² Žãµk×NO{¯{Ýë¾ýío':×]wÝÞQ?yÑöŽú×]wÝO~öÓ0 ‡¯¹æšJ%\·nÝøøxÉÆX†ûöíK§Ó÷Þ{ïwÜñ™BáÖOýÝÅÏM~`C2ÕbRfID×­Û¨ãÀ2ÌF¥òÔ#059—vòNŒ|ö¥—OŒ d Võ·nÛ|ßîúšÕ§OMÎD‘’‚­Z;7Û@0æfËI aš¦°~ýúƒ?úè£ÕZãæ·½­Q µM·žÎ´a¥ì4¡Ö {áØa; N°ôº‚Ò´ä 18ñÊ·¯?žxý AéÎûƒî²?ôv|­t—ýY§ý[QÓòήn;Ôe½k ‰îÑΰ·ãÓJi4H¥OÊ8XîH˜ä K¿Y‹;~){¬Àw»>ÔÅIÑ)u}"ìÁŽZ£ êt}t‹ ½Üï­å‹¯?µ:­nÌJs@”Ü©ŽçÓëßí>öv{ýê °ÃùjÜ2¿×¼~)-ˆ2F# šH%&;‰w:—ßDFÃ~ô£mÛ¶mܰ%“É BÆŽmqÎ7q……–Rq®””œ©úØ[Ë5)‚OŽÂç¿üÍ'÷?ùõÏßrÃkÿW1_xÓ›þà½ï}Ÿ”rÕªU“““v§@_J¦ÚŒ†ãò ÔlÖúú·mÛöW·¼²CÁj…ƒ`ÿ|ç;ß}è¡‡Æær¹¾Ré´ÓNsÍF£ñ¶w¿ëƒü¨eYï¼éº×½ù1­åùçŸ{ß÷€iš^˜¦­5ÄBÇê¸ÀZÀ,xâ‰'6lXÿžw½L$g\qžØ7z×~ôÈîÇ6nÝ Œšu?· ∜t:öƒ(ŠÂ¦÷Šn(Šÿó¦ëž8åß¾ú¼«~ë¼óÖä˜qácŸ¸µ\©uôÚX‚˜&“‡BPÔƒlgÕ-Š|>¿jõÈÚµk-ËRB0ÆHé(-­ûòC¿õÜçíÚµë ¯{ÕG?ú™R>ï5j­€Á‰êárÁõD› YtY;s HÊ÷Ãw¿ãµ‰àgCÆ‚ÿì¿¿{ç@¥uŒ†D8aš¯ÊêV` ºíb5/‹Èฬƒj?B–iV«Õ5#«¯ºj'#¨T*ãÙB^žh%¯ùsžó¬££Ç’¾ ×u™mÆqœë+"á%—>sì›3±”œs!e,êÐF-F)PH®ØùìÉ#Ǥ&©dèù†aÄa”+oxÙóßÿ¾O8Ü|ãËŸ÷oýÛõùM1€ïû67pÙ@Ì ‚.l•[¢;°°ˆDZišŽieRé+/ßùµ¯] ¡Éx‡Ä Û 9-xBÚ-,-ny–´‹Ö†722R¯×c¿û»¿cðèîÝ–e!¢ëº°uÛ¶§ä–E‘¡´ŠÅ9;Î~òÉ'MÓôbi¦¸R* \ÏëëëSJý‹?yý»þöÿ8¶õÜ˯˜ÓR«(Ü0NK!2Ù¬m¥" ÕBp¥ ÎØºíÑÇöä2YΘ’´&©:W¶; thÁºP*ÎÍͦlg ÔW«×kÕúæM›.yæÅ›7¯‹„ÎX |üñïÝùýÇãi§“RH 8hjeÕ€ HkEjûöí»Û“vr1&MðŠ>ù™Ï9rdÛ¶m©Tjjjʲ¬L&IÑ‘´"tÐ ®1óž$ªý ‰Šµž×)ióílÛ¾bçΣGŽ(¥ËŠ‚AÐ礯¼|çè¡#$•m˜a bàE¹\®Ö¨'½ã×¾øÅ·Ýv[Øn'ù'rP2aXt€Ã:ë­”vO#Ð*Qâ–ZkEJk¥•$¥ "¥Z»Æ£¥"©Q* „BAÁàØØdmzš§Ó¹BÆÌÄÂó&gËs!ô¯9<6A†œùèÇþé3ŸýÀMoù»C‡2n>ï…/zãßtÓ[þdæðáÜÚõ„FâšÒºBÑÐP¿!0Êe3ÍZù>ô/rÓ»žwëWÿÃJ§ggË‚hhh8ï@Ý r¹Ì~úó+®¸|ljflìØáÃG_xíµ—_~Åûßÿþz³1/|÷wÝ|ãï~åë÷„RåûÂ8þêmw¾ý¯}×û¾ Œ+ÒqïÛ#«#7œ'sÏaïü ŸùÓ_ü||zf`ÕÐGÞÿΦ?VŒa) åz£TêOæ}=rõ‹^ü¦ÿñ–[oÿ/âV¥Þd†sý ¯úæ7¿ýÈ#zt϶óÏeŒmܼÅ2ŒûîðÅ¿óûÈí{q·ï»ÏyÎs~ïúÞúçïn±ú—ð´Xg×Ã05@­îyáÁ¯|õß_vÃKë ÿ¿~úã ŸqÑ;ßùú|ð‹u×Cb·þÛm·üÏׇB>òèžK.¿üÒË®üׯ|õÉ}ci͸åd¿xëW¾ôÅ/MŒÆv>÷yw?6}ñ³.Ý{h[v\ &¤WoãéîøÎ7Êõ)À-GsnxÕk|ðÁ;¿ÿüðEç_pÑw¾û}`†åú¾P:—+(¥ ,÷¤%£N-(Ù´FdQ±¥#jD„ˆ´h†H­ °pD£ãvBè¼—ã°ÀF äKœ+ŽcôÐÉi¡DßrÆnöŸˆ“NÞ…‘1ßãqƒ»0>hŽÐâíÍ”´ƒ)ëhSÊIøÄ5i9#¡FÔÝ8ôîdW†ÐSONg †Ãq'þëŒØjª_T×щ$ Ê¢‘´&ø¿Ì}w˜\eÙþó¾§Î™>³3Û³%B3J€ J¤| (Š TEéE„>@P¤HĂ҉"- 5=¤g³)»Ù6³³ÓË©oùýqf7 Ìúe?ñ§Ëu½×2{ræìÙ3ç<ÏýÜE@ãW#6z¨ÿûþÿÁ:Júäë.Ðà†‰_90^å^ìY¹SöÉœ<¹ãœHÝÃÙgebŠ&¿ñd®Dj¾EMéå@1GÀà ¸Ãå £U‹h¾·‡ûïôhš¦ûU« ”RŠ(ª~Ç)as„޵ IDATÂO~r·^,è–™¯XS¦îS¶x,u¼šêõ( K‚"‹ùlŽJ2öÉ/a£»¢[Q,äÊűGÝÖÚré÷.¹ïÑ'Y-Ãÿ ]jÝA^µ©ÃPµâsÍ )Â¶1hTC±ÇÞóª[Ûܹs+‚9Ÿ;÷s/¿4€§  „8Žƒìº9¸bÃ0f·ø,Ë*«ŠEÀÈ¢a™A[g€ Š9âlJ8¡¦í€$pʘC,˱!ä”óE 9çŒV,&4 6Š¿ *Öà~3öðøX¬.ƘÂR.•fÆ%Ë4±¬H¢´&¥œqăª,œqoÑP éä£Wˆ3ÆDQ49tÞ!‚##…#Ž8bÅŠ®SC0š?þ®ÞI’8ç¢("‡¹`þ–›¼þ@‘çQ²§œ#ÂŒPŒ{­J’$ ─ÂlÇ&ŽX@˜j†Çï#ŒV¥ˆ€+qåXD =ì£>BŒF™C$Qä„Ö,€ª\ô €Ž8Cc¼`^Y²"‰,_*æ³Ù޶¶ùóçG"¡^øëðH¦Íš9cÆ´ÓO?}Õš5[6ll Ô¡±xÐ1›€±$JGyä†Í›ÆœS˜¢(2€«"1u£X.Ù¶íóùBã=øÇž=l `âãþîÕÉX>˘D¤jã7:xýAÌÎPÐÐ-‘0I’ •²ßï7ŠÉôéÑ:K7!’$•*e¿ß_±+ŒRS7TYÎJ•òô`Ô6Læ÷ê½81Å£œ/ѯ«­žfHMÿ¥9Øܰ ס™¹0c 8ëT}w™À1B‚(ÊX°HQÆ”cAÄ QRtÃÀ‚(§39Œq¬e 5u¿ ™²%ùC6@°¾)5’YþѦ‹/ûù•W_ aWõäž¶)n;`n¾\±êM˜#6æ5…€íÚ½Û#Ë%ÝÐ<ž`8òÎ{ï^véùSgú¯»õm4I#\-&ì`]£(âW—¾Û;˜üÖ·Î[8·.Q„¡!ýÕW_ïOe›[v ŽÈ«6|í‹õÈšê xýÙlvÉ«oœxúÖmÞ*iA›EaÊ10T»rîM¹×^çs.ÚÿñÇ_$šZZJÅü޾^Ec­ío¾¿ìë眻lÍæúlÝÙ?uÚ´Më74´wvv¶oOƒ¤-&\sÃ?òèç]r–_†~ñ›×/:÷ø`]ÃÐÐ@ oÀÙR%«ß²½ç+§/¸ú†gö™sP׎ ‹k]tØY:œå°ÀI'OĪ_ܯc|÷ÛW\ûm A×¶ÒS|IjÍ£&5qðCƒìwмž¾ž7ßù`Ú~s¾|Æ™—_zæÎüüÁV­Û¤øÃ˜ã•ë6ýâ—¾~îù75@w V¯\óêÒw¾àÌöYƒhÁèp¶xûÝ÷Üò“«>Þ]ÙûÄïÿ´qk·?ÜìJ'U9 îœzJgg©X(æ‹¢€bÍÛRÐ9k¶eYÙ‘tÛŒ#ÉᦎÇ´€p}}2—úðÃæiS<ä®=“|°6ß½µk •ÑüÚÖ4óFëMÝ´ú#GûùSÏø|wwiõú-¯¼ù–/RU®AT}]7÷¾ÿâ€^5Nÿ8Z&˜ßÖ6o«é‘ˆñ ^G‚0)Ê7Bâ¯Ã$€N„Æ'AÖ¸[q<Äüñµ·¢ |ãÚÛS6ƒMŠñ1ÉýsÆ#ôÏ›€ˆ¡6”ÇjÏD+š ˆa‚û¼ûæÂ$]¥™Läa! Ï¦«µÿQ¯£Zl=Êjz£‰(“œð£Úçgb”_`ÿ|›>éãœØC}F@Ã$÷3É7Eã*°Oü„òÚ`¥ 8^E¥ÝËU&ûÖÿ6 á¨£Ž’DÉ5ÀSUMUeàÕH ×’sÄ9"®ù"pM€R©„„#u6/‚¨›åT&ué¥wËÊÓÜH8¡¿oÝGfÏž­›Æx ÁZ3D™(Vë`¾§eÀ9`Ê™MIP†T*e˜Ç‹ÅrÅ"Øm­2Œ±ª(ápxxxØçóq€b±Œßxã½…BÁçóuÄÀ±LË0EEÕu3Ê‘ +„r>ªõåãW±R,ºñB!dYÖàà $ }ƒ÷Þù£h4:22¢jMÓÊ%K¢ã8 X)“ÉÔ…#‚ È2<ÿüóª(x^Å÷ñ¼ìóe2™j‰Ï8ã®|ÏÍ—PRí—Ñ8E≠¹ ª*vêò/²…b÷Îçžsæ_þòUU1@¹\ŽF£6å‡>ïå%o ]uíÏ"ÁÀ²eËŽ<êˆl:ëÞŽ ‰UPíAþØž{w)ìcÀv™Ø|•Aœ1Î0pÆêóù<‰Ä”Öæ\&½lÙ#ÃSO8édB™LaÇ…ªªæÁºÍ-Úƒ/P œc×úÁÍ_7T)hNÅeyÚ´–gžY‚9?㌓eY®T*X‘ø˜;ÿØ-›ÍŠ¢ŒFcHLÓ´ 3—É@©T(9įÔ9” ’D qc£äWO˜kù|ÞÁà†EAÙ–EÉš¯‹eSéŸÜñDScc"›fR½±ìO¤NL”)>Öga^Å¸ëÆæNªÇÖÑdP÷KSTÇqÊår¡P€r¡(G">fYVM.ÚØŸâÑÒd´¹W 8jŸážmAúûû£ÁÐ!‡ìÿ×%o¦É^röóÏ?ßÐÐ`F,ïŒÊŽãp†¡©*PÖìË4sǶ¥–eQJ‰,aŒƒáP,»ü–ŸÇãqD)äG2¢¬ù#!ÆQMÓtýVFU5£˜ŒûÿœË‚ØQ@Œ17˜Æ§(6µÇføc+“æŒÎÛ«ŸÑïÙ¨×Áè]%‡G(øþb¾€°°ÿAûüÁ?üáér±ŠóÅÂë{uppÎÂcŽš>}zï¶í®+£{Ý0çÀ0‡0Qj k%¦mUˆmqêõzïxà¡Ô`¢®®!T)•}~ŸßïïëëS½Ú§+~V yÝ#‚ø§“âêÜyŒ_ "ìÆ÷¹ÿNEô2Ù,‹EQ–BѵI’‡L&ƒŠÅ¢$Iáº(±I’0‡R©œûý~]×{‡‡@6› øüœÐÑ«(â”WÉG\/!µh¨ÞÔÂk·6MŠÍKÝû‚ñQŽ)â qÊ™ºäšŽÎX5Æl5\ãzÄ?¹|äEÔ¶:fÎîÙ´ÑWß )òÈ`Òë÷xìw˜à1lzè/L%ÔP$¯Ù°åßùžišuñzŽ —Ë™™l8ÞTÈ&_˜í¡¡¹:‚8ò…ëü554XÒmN³­ož÷½d:£EbÉdfJGG¹\ÞÕ½óÂïߊÖ?4T‹íèOþàªk=¸^­±¦)ºÃË{GßÐw¾{{ÉdCïÀÎúÆÆLQ?ûÜ+ `‡#‹0$‰h}¡R»ë¸@µ+©>õ«bŒ)°T>«ªª„8! êÒw—=òÛ§± -üò•áxSÏ@jæ¡G¤R©ÿþáµ Åš7lÜ8uŸiG-:«¡©‰#”NÆãñÇ~÷G¿ß¯…ãg~ãz"¨œs“‹E‹LúÒ›ÝTô”FTWß²àÄË)uêëëûzwûüÞææfƒ€æ‘Û¹äÕ7Ÿüß5Êå2ˆABmBi-ZØ=”ºüê»7lØÐÑÑQ¨{ì·Oßûàc~¿ßÕ|¥ åp8 ¹|ñ½Ukß]½–R(—4MkjŸá8Ί6_yã=ƒ#…@ .šgç Y–1ÆnB§'±u1¸=ºàlG_o¬.ê ùñ’eüø¶{’ƒC’(RJw'Ñh´¿¿?/>ûÇÉd²££CÅßüþ÷ÍÍÍ¿{Žf2¿ßO)e²œ3ì_>ôøªu[öÙg pß#¿!–ÓÜÜL–É,.¨ äsEQõøƒ¡TÆãÑ&Ѹ>v5cáÄÖÔf»wY^cÌöQÐ1®ý:Âlrq†Õ‡ÃÞEÞ  ì‰Ë·2V{?¢(Õl² ¥5·ÇX¨ùúgµÿIy(üŸV˜Ôö±Á'þ‘ÃÞÖ¥oÿ™eN(-Gµ+B>V5~leÀ''™@?1qö¯;ÿ¨±GÿbéÿW œš N¸ÖuîJWO„DQT$ 0–d™ÎÐàž8—˜á†´[–e§”‚8öm#$qÎUEæ$ÕÃJ¸ã0$ˆÄq,›p€L>F{ûûê§ $†°ˆÇî¼ýâ›nø)çÜëÛ¶P4¯:gΜOþBKÊþø§÷ß|óMA”)!¢*ØÎؽƒ!àˆ»|¦J’m¥R \«ENh:V|þ|©ˆŠF£ C9äÔ//ôz€Røõ¯_BñxÜÔûîúþ9Þúø׿-xòW×S pæy·äŠÛáaGîÒ(kîƒG®„’ÉdÈëïéé™ÖÙ‰0'œé¦i"„ùÅßüþáP¬{ç¶úX¥ô¶;¯¸úŠ»,Ëúõ}W•uøí£7 §ü×/={7øÑÎ’%¸èÒ»(¥°ßÙßü<±<ðÀ3»z{šš[»ººžzìæg–¬ï˜:íÙ^à'·ý¾»{GSK£n;®™ÊhV\u O ÙÝß7˜ÈN›6-™Bœ• ù ?Ð9}`Íš5¿¸ù’knº·.ÉeÒÌ9àK'}Aó`¸ï¡Ò™l&›_´hÑçæxß½÷¸\•h4zÃÕç^zÅ]¾@в¬RŸýö«ûÍKëׯßgÖ¾CCCªWsÜé.w[ ×™‘sŽ\ ža;Ûwîøý©áD±X¼ðÛ_µ,+ §R©óÎ;oîÌ,]Ù³dÉJ©Çã±,ë°Ã;ôйm°ž}yÙY'Ï¿âÇ¿$„hŠ6{öì/eðIðÆû;—üíU‹Po( ˆ’CXE×EQ”eÙ¨èª$K²`ê†, š¢Ú–œ77MèííÅœ‹´65öôí.xC½cXóæÍ;jÁœ: ¯¾ºÖí²B¡P¡P˜={ö 'ÆPbðáë+ ç\ÓÔdjØŒ„£¾ÂHѤQgˆQàf”"„1*‹jÀgÇçó ET*?¹æ[_u· ©H[ZZ¾pÜÂfôæ`ùòëׯ'„ˆŠ|Ë•ßyú•e‡vX{•þû·*•Ê>ûìsðœÍi©pغ-½äo¯˜¶‰%ñæž÷Èso~éKÇ…UPn¹÷ÉÝ}'.þÒ£ŽHPá°~}ß+¯¼"I’pÚi§QJÔ–%J™K—.ݾ}ûm·\öÛßÿ-›ÍÚ¶MŒ4¯÷â ¿rÇ}OHŠÜÓ?ÐÔÒbZ Ž] ¡š| „8Û¶§M›&ÐÓÓƒ9(MMM¥R)^rÞÀÍ?<ßÀ7ÜõÀ-W^‚þçúKSEh Àï~ز¬;¯¿ôíu;ƒÁ଎º ‡ÇÿÓ?¾üG7ý4êÀþûÍ9çÌ“(@„÷–¯ÉF–éÜvÅE7ÝûH©TR$Ù0KÓ;§^ðõ³î½ÿÑ|÷\¸òÊËê$€ï]›Ëè™3gαÇëÓ b@W×¶7Þx£lè’"vvvsìqu> °³`¬YýÑš ë\…Ž+8^Q+*R¾T sàLÇ…Ã;wîL×Çッƒ^¿/¯Z¹æèEÇRÊeMþñ.zì¥WŽ>áø˜,Ž,Y²d÷Ž]^Mûá÷.€k®¹:$‚ pþO~lÆ£7þøü+®±- !t衇~ñ‹Ÿ#ȼúÆÒuëÖBãË/¿ìƒå+öÛo¿6Ÿ7 +ùõÃŽãDCá¦ÆÆEG $€aï|øþ;¼¯xÔt.ÛÐÔX*•ª¶²Õ•$™øAÓ4m‹H’’ÍæmË©¯¯wŸ‰Ôpssó÷/¼PÈ0²téÒmÝÝ===­­­î£]„Ÿ^yõ¯~÷ÛóÎþ¦àÎëo/}÷Ãe¾PP·,7šqŒ3zZkÄ;MZ7Á&45©ý:!6ç.¿„qJcˆRD¹n’$e³YPÓ4c sJiXóPbK"Ž…8ÕK•iS§ýöwײ"0€¼ !spþE7¥RI.j BÁ)ÚLFJ&`‰0 ²6’¯p€d±®q0•űÚï‰?Äxy(9ë¸E?úÓ6?@Á„  öè µN8õº‘‚ÒÂõº›Ó¢øM÷üɾ¢É8eH ׌ïèFŠÏ ̉—lбh‘"$….›`‰b‹Aãì­1®>òðmÍ^ÈQˆy ‘Q^z®½þW]Ûv2-S÷ÙÕ?(Š¢§¥cG_õ7OI—L-\_4(o¨¾bƒìX ,*¶ézþÆš:fÍš5oÁ‘>øˆA„ÁÝísö/”MI H„bM0œ)ËÞ0([ $ˆpÈVÀ2gÀD¡¦;ŸeZ‘H¤P(”Óé¹GqÙeçN‹Tû `ûÜ{ï~øa,‹·Ög³YÇæà ÅLî7%»šÃ,j! ]4 \ßÚ—ÌʾˆƒÇâHñ;ÀÁ2(€ÈܤT c^ú|t‚&ù=²Oëëݽόi·Þ|I“y€(˜êèŒzrðßÿ}o>Ÿ÷„ÙJ D¯Ç`0QDeý¶]-SgeÊ–À°Çví¨««ÃŠWS½6ÅâJº#iÀÒ¤æ}nÜé§ýí(c55Õ»CƒO®%.Î÷‰#¨ù:úiM8 n*ħEˆ×~jkÎãšûçˆ×4·j18Ü€*Ðð €@k6Ò„MÐØKhû÷\_…ÚÛ˜ÜþùD–¼t¢ó6É`’ “JLtý§YMÑÃÄ´6Øëíçµm &mÆ9Áñ Œkb+<×Ú£ûùÄþñ¤ò‰ÒšøD`á³`(À„‰ÿð|îm£þ8&çÙŠö0Š÷ϙ̡ ’L- ƒ( ‚i¶icN©R…@ÇS¯þ]ÿFçüoûÛ¬Y³:;¦«ªÊ9˜¦) ²(йB>W(V$ZLw¸jZŽi`nš×k:6ÂÂÐpJ × ¥†E„"ôìÜe†_ŒP2™<ýôÓÏýÆ¢}ý·–F¢±[n¹Â!ìå—_EÑ#HÝ¢¨êÑàe¹XCƱbÑ"{lŸÏ78”Š„B‰LÖ 0ƺºº?lþyg-¼æ'—J¥p0té¥ß€eË–Åëb088øå³~ôâvÎ7È¿ÇEYÑ<ÉtÚ0÷F„8ÇÀÜHpó Ïϳš››bY’¤Ý»wK²ðã›òúëëÀå0ïÞ½›8ÐØØHl+32@×õî­]ç]tÛS]Æ×¯S$©¬W.¿ö¡;o¿è‚‹nQ5OÏîÞÅ‹¿xÖW>ÿß7ÿz``pÁ‚—]vÆÏ~öô†›‘€€ÖÖ¶u­¿ûçoÙ6D1&’),É|MF¹T€ ˆ°lù¼C}ô¡IÒT510xÆ_yåµÂrù¼ P,)¥Ó¦N=ù”/<úØïÖ­ßð…OüêWO}ä±?‚P~çýŽ^x`8Þ²eKKKË”–VƒÀ‚ ÞXú¦€•¦Ö–L ½½½Œ±B¥²ÈöH6Ù¨€‚1ÛÌ8@¼ª¯¤mSgÄb±Þ,É éBùÉoyáµµwÝucìÑGïdìKO?ýt>Ÿ_°`Áá‡Ï}é¥WW®\Y__ÕU@¡P˜9m:¥ô¼3ÞóÈËÃÃ), ÷ÜÞ9É‘ôî¡M]Û¾xâ—ʃF¡TEqN9g:1+º"‹–êÛô¨r¬>¾téòx<.p¾té²x<¾}×N˲’É䡟›7wîœ^XºbÅŠº`øê«/.Rhoo§”úá3¾|øãO¿ñ÷¿ÿý 9ûwæ™ ±mASáP®\)VtL°$°1»N1£Jò€ †CýÉDf„÷z´€ªy˜¶å^<Œs ô˜£ÍÜgŸ^øëæ›Ú:Ú/¿ø+Œ±wß}—–88öØù/½ôúß^{5647555-\¸0ŸJ_w믛ëfÍÙï¸cŽ]òê+Û·oçgŸ~ܯžxÞ²¬l6ëU=gžõÕéS_~ù­7vtt455…Ãá=»4€¶Î–•ËÖ\}Ç«Mõ SgL?á„ÖmÜpßOã[_½ïž‡LÇV%q$›9ó¬cV®ë±m;W*ʪšÎf Ú"b×"¹Š5 ‡2}úôgžy¥T*ezåýÅ‹?ûì³¶mßz÷Ã×_qÁMw=hǶmÛ4ùÀï.úöÙþúI]×MÇ.•Ë!à÷ûW¬ZùÒ’$å,‘H²ª&GRàì3Oúù¯ÿüË/}åìs¾vÖ—éìÆ®-HÊ•JEÄ‚¦ª–^ܹ­ÛÐÕÕuσO\wñ·~ìÉÝ»zʆ †š§´v¶µ·´MYµjÕº¢¡ða‡/8餓^\òr29t饗nÞ¼õž{^V½ÚÔéÓ¾¸øÄ×ß^*J2Å®(€ïyØ‹"F.VÊ’$ËŠÒ>%öÒ /Qʇ“#¢$q†FF2¡r¹üµ“OTU514„/^üìË/þù¥=|þ5^ô翼òÖ«¯ßûÀ#×]rþÃ=¶}wO^/«á@kkk†Cg[;B( ŸqÂçûÓsoýýí8àëßüF4ýÍOÔ75†â õo,}såêUG}ô5W^ñã›oY¹bųOþæÉ?=;00à ¡#ŽY¨ëºðÅšSIIQ˜c#7à0Š5`–a2›R¥bQB8 …BÞH¤·g— IÒH6ÓÔÔtÑw¾óÌ_–üíõ×;ì°EÇ7”H4µ4oßÖMÂáðŽîmàœ³¿~ïC¿úËoœrÆé_ûê73¥Òªõ9Ü¡`WÕ‰«‚ —­Å&a®FIÍíÅZq­§“H©€Æ#”S†(ÅŒsÇ(7(q5V JJ©D CU$íxÿ½oŸs»ë³èZf‰¦öö@ 0°f­:u*ÿxƒª\¡=æªÝ*Ç0€XÕ¸a>ÆY‹#Ém›®¾öÎb±8ÐÛoh%!Ÿ+Äëê‡ú“áP] ÙÞÕ-z4(_(9U´€ëa^}èC5*˜P^³°¦”>þä à׿»vý¦ööv‡¡Šn3>–CÎ8 wŠLÇT²ˆ–ØÌµEØÍ3–刢 ª¶yóÖnø!$™L2›544ˆ¢8<< X¶)ÊäËeÝÔÚ+šÀ‚ Oä( ×Ö³ÑTB Ù¦Ín¼éW–aöïŽÇ㉹\.pÎÓétCCƒÏçÛº£+×:,)j/ —ʱxdÛ¨Ÿ ɱ†Fâ8œ3а+«zq<K¹W{ŽsÿSŸ%Œ…šBãÕ}{VA„š{„j3ü0† 4ù“ÚËãÜ[oYŽÐhÚó'{`ŒkõÆc@ŸÚÞqŒš×Ïèç”ý‡¬üc½Ü¿b”·/âhrB‚If.ìý:½÷úšÜðSNª°ØÇO„€qM3c5üÄO)!š%×z£ &Ä'‘º2:ØF“´P­³Qóu`}ÿ|6ûáÀaõ pÊaõ ƈ1Œ"Ž$ÀŠ$ƒ¬`̹cã28úG!ÀÿŸ€†ñ÷…B~¿_Ó4„ãpJ©m;–eå Ål±P±A°™îpÅ6©e ”wÜý?‘ød Eøò?pl#o¡¶¬ˆ`hh€2èèè¸âš{wìÜÝÓ·{ç®Þ[oýÕÅ—|÷™çŸ÷ë6l Ö5¹@ÃX(7æ£ÄÖË«bˆ×]÷£ú8È€@ÎôéÓ¿öµ¯}ÿê_~´v­ã8¦nD"‘K.<Õçó…B!P*•ŒJIØÑ½MòøÊf:ÂÀŽ^†E_(JhÕ8Gœ `‡Á¾þæ¦ફ.À'V!­D n¿ã݆ٞS͉L¥R³Äà@SCœTÊeÓ4S©è0Mó€9û¿üÊ_ï¼ý¢u›6xýþP$|ôçýá¯nXÿ‘GõÞ}×OóÅâ9ç|õ«gרÜTbðæ›onß±³¿¿ßšùð4 IDATï",V*F6Ÿ „"£ .WšpE€Ñ·Þz묯,ahh¨¹±¦ÎˆÞq×ß4E`Ä4Éf˜mzè¡Ï=÷ò²eË@ö‹_¾ý®»úò+o²ŒŠi‚"‰’€ûúz/ºè¢?ÿùÍO>îOÏü#ù˜ãuumRµgw_<ÏWJ‚,Qì6'U-˜ÀYsSƒnAA·Ò™\_ï©'ŸÒ9sßÍÛ¶[¦c:ÆÙç_gšfSSS>Ÿ¿ð‚k|ðöG.†ÃáCæÍ{úÏ/_¾\’¤¾Ý»÷Ô‹—ûË©äY.Ýÿ]?ºñÞþ!GËä²×^{ûÕ×_{åõ7Ä›š§MŸ±bÕ*ʹæóç‹%¢bŒ-£Bâ¥*±êX”(‹ü³Ÿ>¼nÝ:óÜÿê+.~íÍ7LÇñú}óæÍ{ê©?¯_³6¤R©'žxþŠ‹O{ûí·ÛÚÚ¾wê—Ÿøý믽ùz}}}OOÏ+Kþræ§ôõõñ¬¦F£:a6E~¯¿XÖ1c(æ ÄHS.¸ø¢ÖìŒ Ê€lÙÖeËÀ²¬b!§y½Ë—/p‚ëo}ଳÎúàƒdY*Ü{ï#™Lc‡óùü Ï=·sçÎ]½¨df›Ƈ>¿T*…B¡¤?»÷¡D"* ±h]ccã‹/¾Ø½µ c¼qãÆ•«V +ªÊxðÑ;vB½½½C©áE‡ÏFoܲ™2Y/äm„1ÇÌ™ú‹ûŸ0tk$ŸÔ×'GRŠªU ˜a×4s’ڭʸ¥¥á÷Omá”É‚øÞ{ïü‰D"lÙºU‚ º»»}¡`&“Ù¿ý–/_~Õ%g÷ôôH’44œlimµmÛX¶bù¦-›Sé´¬*¶mS€²e˜¦‰î¹ÿñî½óçÏï½÷JŽyÌ¢ãß_±Œx,ÓLõý°_K§3@–å«VkgÏ.I)gºe®Xµrÿý÷gÀïèA_À_‹ä³ÿuÚéÝÝÝMM -^é–瞣Œ¥2é²^yåÕ×Cuݶ9ª .¯Á-0©CdAð{}̰¼›·n‰ÕE“‰¡@À'Šb¾Õ×›†­ìîéS Ã?úXWïÎ8 wWÏÏ~äÔ“Oùàíw–¯ZiÂù»víÂ’@93LsŪ•7}ëÜwÿþN{{û÷O9å±§Ÿ}õµ×šûúú~øáóÎ;1–Ëåt€ßýá÷Åb‘s¾~ýúíÛ·ÿìn/—˱XLØÑ½0ZýÑZ‡T!»u[W8Ÿ©k¬ßÞ³+RU$uŒ–"pXkH§F8Àw.¸pf<äV&@  ”ôÊî¡®»î§÷ýrË–-ÁPèÅ—^*é•sÎ9çªk¯Q50²‰Cîÿå/»{w|àþo¼ñ†Îèq‹¿ôÚ»oSäz4`àcTÍmÙ[â,bˆ±ÉÄÑP¶÷¦e€c„sÎq9tc@bTp±, ”b96æŒ}žº Ÿ1ÆC€Ú›{«kãzMÓÌJ¥Ì©ªª‚ˆSƒýÔŒ6Ìš™­˜áObø¸¸åq%.Ž–lTÏÉ8â‘h$;l '’P©(šWñ{‚Á°$«¢¤êeÝ.w÷ö(í¿1æ:pµ©q±q@ƒûv5ó.£‡#’ 0 "b 3~hä3õ3¦§†“™L‰%N¥\ÐËú@0,•J㡺ºP8’Î@ ùb¹eè'Þw‚†bu‘¯œyƒ®ëœs,—MK""7~b˜Í”ØèŒrLùÄ8k¯Sæ‘•`K+!¤ÍqÎ#Á€°eê@<Á¶mÇq~/g¤&pÃ&àʰÚL†Á©&¸Yd£q¯1NíX]Ø6ôL:a¦$"T¯èÅBN‘Å@ €O 'D¡iú´Î|>_s788X‹ àæ–Ç6‘T$YQ¹à)võw!à\€½n´ç„#RãóŠÅ $ øÕ¿µuÉ5³IŽ'Š“D“°}õKÞû¿/ª= ižš›†ÿA_ŒO@GŸ 5MÎsÇ}‚“T³ÄP]'æM–º?‘t«º \ 6¨J >ݦâ <ª\W“½§˜pïrnþy3ÑÚ[˜†æârEô³Ù6 !b˜q׃o¯êU•- à Ô1L§¬ƒa1RÃŽq5ÇÜп h@UyòhqSU(óE‹‰‚H+—Ë¢¨Š¢ˆ1¶‰ƒ9³·(ÇÄ6G"„ŠœP€ ¾{u,C·é–iû0AàB sY,$‡ð/ѹðˆï›¼"p€á2Ôù Çޤ7ÐÖ15™)Qäz¯¹<"pŽ€øTÅ«ª®&ë’K~èX%ŽÍh2›ÙïÀƒ2Éd¡P8pºwíÚµ~ŸÏ²,¯G{ñůùÞ©ªª®]»x½^Û¬ À[6mJP÷öîÆ¶©‰D:Ú éùT3º¨ÀŠ9cœ]×2pÙ¯M'†E €Uúá?Z¼xñÓ~®§7ȲìØ$I5Õ7* Ãðz½‘ºèHÂÑ gF‘° P×Ü(«Šn­Ú7;¿øo~Ñ/@…GàA­ 1,[±|`(¯o¬‹Õ÷PJÛ:¦&†‡ÙÎR5à €1&b`ÙÔð®]© üá·Oås¹ÏaqÏnshx$àõ}2ˆP.ëâsök™·_Ë‘G=£=@v¦¡µ©t0à]¾|õ~³÷ùhÍš††BÈ‹/>ôÑÇÌš5kÓÆ®©Ó§½ò××-Ëb€Jã›’Q÷Ìa «×­ùàÖ;nk°–.Ýxÿý÷ùCÁR©týõ×O HÑ¡^°m;‘H4-xóÍï{½Þ\.'ËòªU« ç~Y’„d2Y§Â7~?,ïñ¢Û·mH4wnq ŠÔÇ•²! 2¥ŽeÚš¢‚ ˜¶Mlg¿ÙûnÝšÜÒµ5 ¶nݺukggçê úûû÷mõÜ´zµß£éºîS<ëׯ'pZsss©T: ÓÿË_®”$©R©€m¯X¾ü‚óN™>}j×à`¡PàŠÇp˜Eˆ æUŽ€bF0Fû póm·ÚÀ†sŧi^/fÜ6Ìçº=jM [¦ìȦŒÌžrìQóë} lî¯ìÛêM$²G ¹¡ÃÃÃeC?ñä“¿ýío‡4¡C.AîJgü±HPŠ¡ ’hÛv¼¡>3<²_³ïW]]Žm›†!+Ь*^¯7™LVzv÷ú‚EQR©ÔðHÊÈ ­­­Ï¿ø—ùGþÄã¿ÁŒwÜqºÛ·o×B›’^±9åŽ]Õ0rY•Ñ p‰Dü^%Ÿ/;޳yã¦æ†F¿Ï·uëî™3göõõ͘1Ã…5Ãá° Û¶mknncÙBÞ£iƒÉD,–­XÎ G#’ª¤3 P.)’ toß^ª˜SA^¶|ù%ß<ݰ,\(Š’ ÊXȧ3´b º®·µ·‹™lÖï÷G¢Ñ]»vµ¶¶Î»oà¹?>>¾ßª‹Çòùü/¼ò‹;oÞ¼c`Æ «Ö­1cÆ®¾^IQ)ޏË}­¶¢(h>_©TeÙ´ ÐÚÚšN¨ª!!^(”ÚÛ§dLÓTEV­ZiˆoïÚ†iëÖ­×_p¾®ëííí2@&›õýÑhtË®mÍ-@KKK©TÚ¿µáîeË%QÔËœ@{Àç^9 ‘HB4Ÿ¯X.{ýþ ÀÎ;9øsË6m=묳‰Äç>÷¹L!ÿÂ+Káa[™B>«“TE×÷ÁGQ¨ol ¿zèÁÁÁA›8–eEã± WË%^zô±‚^¶ˆãøÑ¥?ð”|‡ã’šÍå<èhon’vmßQ1õt1O)Y±bÙw¿v®aš\YÕÙŸçèhKU›ÑÀ&H Ts¢bM”*2FCur”1”QJ9c˜PL9fTt¥(g„Š ¼RÈ1G„ØåbÙ¯IÓÚZ Ë@} âÈð6Å"Ù|¶\,ˆ-ä÷R—fúñ‚+ ÆÙô`ÄEàˆ»Þ3ÕŽ”°âȰ&‹ADŠÇ0ãÀ(`L‰ãÑ´††ˆ"©#™T<\7’I)’ªi¢ß«¹,‰ñ+E@vkLà¬êÝÉB®I¦Ça ˆË‚ŠFi²ã;(½˜·,+ðG"Çq ÌñGC²¤ú4/ضY)`Qª”aÒ<”0×ègì}«r’À]AÆÇVŨw÷Ά–6Y•áµ§¶uô‹²¤˸1)bŸ4·sÎÇxÜöãJ>$èz™Ø²B³ MóÅÂAF2)½l8˜‚ SbIHôxU §Ï'GÕÌ…Z v­ÆÌ@„’I\ã!@Ñ ic(bJ4¯* Í2õX(ÄlÃ'K‘€&Cc©R´Ë¥’cFÃuŸ>†A¥H$ÀͺhÈ;<Ð[ ø4¯ˆ°‹;fàBGƒ$OJê‹DÊj {%ÔN˜0¾q’¯OÈÈžh˜¬¹,ªÍ¸™xÿµ¿t7nüS_aMû&:Eì31ÛûÔçôø$9ñnúõ¿’ N'—š4‘`£–TpÜýjoÏ?žÈ/Yžìï5·Å$Õ‹è3òJo†ýOÙ"LV:ñøÈLB:1éëDd›‚FQãº@¨à+(qЄÈè¿ h@ˆsþ Fç<•J©ªJ X–åñ A$IPD‹˜9 0®ª0be)$R#œ‘b:]ß93•MÛoj¬'†©üAˆÅbCƒ[{ì\qy©h  ²ÖÜÒR1ͺ–)„°\¾À‘#¹>q†@Ȥs¦G–%lZ¿>^ ø}œs¿ßßÛÛ{Èᇺ/Šb>Ÿ×År¹œ{±8ŽC ÃÐT¥hƒQ©ˆ¢*z5"(áp4‘.ê†É±Õt\Á…Í]ˆâñiÍQH§Óœór¹2¥¹¥\)>øàƒO?õ³ß<ù;A,Ó4ÙÛÒÒ""ÈfF‚"T*áM›6E½0<2âÂ4-Í:€ƒx©T œkNÿÊ¥"pð‚‘°¢jï=ÿÂ',v#0dYÅb‘1 !¡X,aThqÄ܇ÜX¶g< >ûì³—^xÁk}…Xö—Ÿðà“ªkhL öÕE¦¨åsàôoü P,Éš_Ô¼²'¸rí:AõNikyã7~}ϵ=öØ9çœó /ضýÌ3ÏœqÆzå÷áp¸««Ëçóå E¿?h™Ž(KŒ;§=r¯lžÒI~pÕMz¹bTJñx\DÙPdõ™§ùðÃM÷ß{Ÿ,ˉDbÚ´i×_ÿÌ‚ë/È8'”9$„¡£½mHJëpÏ=lß¾½P¬PÎ$Å›Îçž;Iâ¶Û}CÇŽ(+X”LÛa©ªÊÑu]‘Äã?~ÞtÿQOýÊÇ€¢¿vÓ¦JEEQcŽã UC‰£–%îEåŽ(!¢"‹Pu¥ÀѨ?«VÃcÏ?DäMAe)•NÙœ*¢P¶ L¹WU‹‰t S^ œIªÒ¯Ã“Oþ¡”É%ûS鑹s纙’^éÍA±Xôz½~¿!Ä*ì´ÓN[¾|ù¦UkKÙá‘é³fÞ}ç媪f³ÙŒ •J¥¬ë^¯×ãñ–é&zɲlš&^6tÂ@Ñ<‚,¥sYŽ‘êÕ|ÙB¾®>¾výºãOøb¼¡>›HáóŸçƒå`:Žªi¹|Qõ{â"å¸ê[æòl.•JW\þý™õþÛ®é@<~Æ-·ÜÒ:eJ \.g2EQEÉå󮯞¢ª²,ƒ¡`:€äQ-âŒä²‚$‚€%Š8”¹}cÀ1`„FÝ?=ŠÊôrezg›G”×®ø°¥¾QÐMÃM¥±ˆCŠÍïS½Ž¾ñÃkššš²ÙìŒ3V­Z5sÚtÓ¶¶mÛvõ}nî܃:è+§-þã’7†RI2F®ýs»_¥JEUUÍðùƒÔv6 d÷?ðà§~óøô©S qA$)“É,\¸pk×®ÖÖVs8íJÇqGQ$A€®ë”R à8Ž•Ï×ù5ÍçedÁU~ŽÞ™c„QQÃ0ª„B¡t6›Ïç]o9‡Ã###<ðÀ>¼¢(Í­-Ógí£¼ï¯Z‘3Ê™R!Z7ÛAÜ sÆÎ#Ý=; gÓqÍïã6LS/£~?°l»uÊ”À¯¾"‘H„¢EQdEéîBdÍïëééÄ(PÀB‚ pŽmf`O„«žVè“+V#Œ®šË‰jp ?åô9 ¨£‰ÜUk{lž“êlbÔØ’1æ0êJ0Æ®G2Æ8èU"Ï“Ie$4YAà„ûTµ”/Óɺp]Ð#©\“½±=Ç5ŽR.ÖÔ1Ì]WJ\=†ªäx$ò( #5-Ó6uM”¹€ ™„ê÷†ýž r‚*©àhØïõ{3#Ž8â|üJPÆÇ tÌèQ@˜#6 1pZÕ¥SLl´G:±§ŠˆD†axT/vh%WðJ¢› UÎD4û5Å㥠¡×! 0·ºoйÛ_Wß×qµÛŸjàK©ìŽ;RS½+W¯˜Ú1­g÷®tÿŽæH¤R¶>4Œ¦Õrô±6‰;»9ŸšLú}Aä "°œ!‡XÄa¤œ­8Ä'¢h_”K©ÀGÌÔM£³¨q«+{©‘nÀj¤$ 8.'ÎÅ(wï«ÐÐØËådA”%É®²$‰¢˜Ë’°"‰‘ u¨žI‰€‚>‹CÀÔú4—1P½²ÌŒÆ¬¢L™ª@Ø'饲ÖSÍw¦N&ÙÇÕ6u×ýT€ò…õdõÏh˜L÷îP÷38žH X€Ðõÿ œ1„j7+ŸQc6ÜË?Þû8vÆù—ž!Ÿ AéDŒ âj§TŒ=ÿ'§6kÌMf¯>t|Ôäÿ_t<Õ8”ÿ0 á³t&@9±nè˜EP|‚ìÁàˆ PÕ3ÿx¿ÿ?€†jã>pG¿–/_>cƌ֖vÇC)2 C–< €Š0AqŒ;œqàñ€…;æs´g¿}7nÙa+ ³ZñP‹ëº1˜âùBvþüù>ŸÜÜØ´­´kêŒ}TUëéï×KzkG{6_äÜA² "8Â@Ìy¼¡¾˜MgKP}žºº(gdp89mö¬›6¯L§›ZZÞø°÷àƒîïës'NŸtÒI‰,T*•C=Ô5ðóxøÑ¥—2w^.“ö¨ðÎûtL›™L$˜›¸‹_·%©ªj éÚÑ“×5-\t|r$;˜è7$ÂN\ü¥H(п»—3¶aÃúsÏÿêÂ… Óél®Õ7Vðz<ù|Q¼cµ¥ÛŸ¸eæÂH6O ›Jš/‹E]ÏGƒÁ\¡àQaÉ’%–euww~øá²,Ç5€ººº5Ûr ,X¾|¹Ï磔tÐAÀêÕ«Û§´‹d³éb±ØÐÐÄ @²,¦R²¤644˜–³y[wcc“ ÉÀ $ˆ ¥b‘8dJKë¾Óý§}ë*Dz#(åsŠ,þî©_6Ö7ˆ¹Ìªm™Ã?üÍW_sá†ý÷ßúûûVl9øàƒ_{ëÍ`0H9_°`~¾ÝÝÝTUµ` D`äõÃá Úz0Œ0G€1¬@rxXòy¦DŸ–J8†%{T  ±©);’–ê›=AOb8•J&âá¨a™===–e)ŠŠFÚà(ŠÛµºÕý¦Ö­Y³f`` É wvv´µ#ƘÇãiRARR.yý¾\¡‡ßÙ°{êÔ©=;wɲŒdÑ´hE×U¯Æzúû"Á…@ Lp€¦)­Ã©þÖÛoŸôåSV½³,€eË–y½Þ #‚(;Œz%ÑáFÍ «„1Çþ@ Q¿öÝ«„=Šjéðx<÷ýü'ªª&“I@ssóH.K):uê`Ïn + …ÁÁÁæÖñ9€n™’,F„3¢ºc.b cÚÔ®m;ƒ±è`:{è‚ù%·j´:::úv „5ÇŽ=j¡ ÐØØØÓßÇZšSÉäàp²µ¹yKWW‘À”ÎŽÕ+WÖÅã±úxbhÖ¾³IN·nÝÚÜ:åõ×__¶lÅðàÿüdÅšU¹RÉ [eØžxK@er9`Ì1-³X\½zõ¼ƒ>wø‘GíèÞ–Ïf777ï³ïìyóæ­Y³&“É(„À¼yóVoÞÐÞÞ^4*³fî³)1ÜÔÔÔ××ÍÍÍýÉd2ÙÔÚÔµy ôõõ555­ÜÖ3wîÜ×Þ|# Ù”444l¬««#Œ€þÁA¯×«sλ»»³mmm#‰dÀãýÍã·´´8„Ì]pØ÷Ï=çå×þ†<²nš<—µ(Ó4Ÿ›ºRµiÇÀ`3÷à ÉrQ¯Èœ ²$É2ÃàP²%•˜>sÆË—ÍÊþè:klß±£sú´æ)­ÉÔ°‹ð*5ÖÑÁ:::ºvíŠÇ";†9dnW1‰EÁaŒb7g§×Â8¼êZ_C !µ„ˆr^ÝÞ8GWA&’NL†ÑÀ݇"bûlp±TîÂ$cEA\RÄ úê#¡t:í½õ±mÛI‘b±‹×•J%„ÆX4Ÿ·bY´Ê¦ÞCxEDQt n<ÞÒ‰ƒÀ°+!e{ø5ÀbŒ!„2#i¿æõ†c˜C(¬zÉ2Fdl¯Õ0 ¨²àÐR¦-¨U¸ ŽeWéŠ8ª 0†81v±"˜!×Óaà¥{`7¾'ŒYUÕJÅ`ŒJà ~¿ca$ŒÕGCá€eŽ…‘tÎãQtÃaÀ[£ÒÅ1å«V²µ YEQvlß ¥£1Èô€ š&6¼§V°Ñ±[µ'’Ç.€‚k±îóù¼$H1HÕTM«cŒ•ôŠM,×ë†ÝX–å‚Ñ„¦ÆPMéÄØ“qoV×Ê=fŠÆ˜˜#(rA…~AtÊ$Q ­ÑHj8=µ¾c\, !š¦É²ÌüÞš+G`3ŠÀ^±\(#̹" :|ZÀíªŠ°j²¯k 2©^˜LcÏ0þl´ë“&ÞÕd¸Ô\Ù˜Èe]¨I· ³æýª%VÿO’Ì?ÛU@|èÿN¹ÿ+› 58 `ï©ìÀÈgC‰Ÿhÿ”1Ä?}­M.{ƒÕ¦Ü3ÆødRÛ\FçZFxMÖDÌ,ê°š¯3Ä8Ú[C Ü…N?ç6Á^ öqNvå>“ý¸!ñ{]oàÚV±¬ƒ €û°ä!Ä#ÊÔrÀrÜ1 G„˧ø·1&º›G£Qצ1fYÔ%óBpu Çgœòê<†Èí[¶o£†ý1Éäs‡Ì€‘‘ᆆ¦Ö8B½û—¿ÜßÚvÉ%—ÜzÛÉaEñsÌ1§œ|êm·ßQÉæÁã•%ßhÂàÌÍ€à(ŸÏ‡ƒA¯¦lhmmV)‰ô÷÷Âá3fôöö¾öÚk?ýéeß½äÖb±8gßý¾þõ¯4G`¨¿ßëÑEQ¶nÝjÌš5sgßãXý}¾º†x¬y$W°(s7÷8w‡Ù³gçs™‘"x½^p¨¦iã¶¶¶‹¾{ɪÛÚÚâñø¦M¹… ú¼¡¡Ä@ç”ÖSNY,IàñxLnü?öÞûÅ/º®[ £ÇŸØ1´rÕ¦M›r¹¼"Rr”O IDATM 9r"ªV«½™ô¯½àùîÌÆb±TÿÀìLV­ZU*Ý1z饗~çûwÜyçoyË-A¹òÈ#ô÷÷¿êU7OûðÜç>·\.ßqÇïxÇ5Ç{î¹gÛ–-×^{mOz{{U,6 ¤Â* (”ŠžpiN#i³h#\‡Uk×Ì”f'''£,•«Õ˜íDRfضH%g%<úøc±LjÓ¥¿û=ÿý ŸüÏñc'×®]û²—½ì¶Ûn€þþþl6;“Ïõõõ¥R©ÓR‘N§³'³/éËž÷«@¥R©”"˜ššJwe&''+¥òªááB¡ðÒ—¾ôîýxç®]#[6¯Û´áÀ¾ýO>µc<‚ÁëÖ¬=2z/W+>@*“.•JŒ±»î½çê«®ºîºë|pO6;ˤ@ËjµšL&ƒ 0 ] ³Fö×õ×__.“eYZ*×uIªÀ÷•ROï»îºë¾öõ¯Ÿ,ÃÕW_½c×ÎB¡°wïÞ‹6m+š5k&§³‰Trôø±îÞ^`&—[¹zUÆíŽ”DÎ ˆBÏõàoÿƒþÓ'¿öoýîßü»¯}ÅÇÿãkŠ4JùÓ݇_|Í5Ýw¯®—nÛzᦠ@)åxîq_o½èÂr¹<“Ï•*•M[6ô㟼õ-o–Rž<5žL$/¾ô’ß¼öºÿùÎwö¥Ó·ÝvÛ?úñ¡Ã‡+•Ê ÿí¿íÉÇ'&ÜVVBX14\Èå9’"á¸'OMNf§^þò—û›ßàˆÅâìÈÈÈ–-›ÆÇÇ÷îÝ;yjbUª‡Þ|ë­ìK_øê·¾ñâkãí·¾é“Ÿû‚”Òó¼cå`ëEæüò©üt©ZÙ¼yóD¨Ÿóœç„aøƒüàßþ6bxÏ=÷\pÑ…ozÓ›îyà~ÏófKEÉdˆhbb"¯]¿®`jjJGòÖ?¾u×λvíRZÑÑRÑ`ÛýýýU aIE¬V¯Tת&@.?[¨†‘TDŒ#2, d¸¹0››Ù~É%ŸþϾફžÞ¹ÓòÜ¡Áx2qË-·üÝÿ~xÕJ`¶TÔÈÀûŸüÇ?üí»~ôŠ[^óš×¼îã_ü<Ô9APÓ^3 ]Œ ϱEÁ5ÀVuÔQI]/c Í–qÖìéÍY†­÷·´ZC³°¹F@4œ7sÎQ’e ‘5«óÅ/õ<Ïó<)¥mÛF-%‹% (—˾ïrD¾Y˜6/2‘ A)¯ µ¿-Åj*!jŽNÅϹ^6;Ý•J[Ü.f^lrz²o°¶<Ë 7¯íêê à Œ±r¹Ü.B¢Q#Í€8Iƒ8’@V£Ö4JCbˆ¹.1h¨Gj-5€ëº±XŒJ¥JeEo:íÙ6ËfÉôT.ßÝÛ)•Le²“S %f^C74!0aª ,Üâñø†áÞuëÖ …£GþÚ%lܸqß3û±t}R$‚y’É:   Š–~b*u±ïû¾ïGQT†8GÎ4'Y£·iD´,+‹9Ž333Ó¦I;¬z¼BÐÀL±PÀ…íº®Åm„~¥…¡Í…ëº+â©îÞ>˲L’RA`n¬ÕÍ(-T<î…U_†QÜqñXa&纫 h0¶t=eÃè§, †\P«÷ÕαGvr×Ï‚Xm}¾üĪN ŒêÄÏEnƒmY-Ý E©#žS‹š¥”´–Vw&ÂW²:P«³â>¶u+µl  d.í€ÕQÿG͵Q¸_.pÀQtäx+¤Ž4,PBKà£SÛyÖ @|eÚTÊYÖñ!ó4hKA”›I'’1Ûq=/ÉD±Tìh<ü¹0š‡{2tq¼üò+,˪V«årÕ²,Ïó<Ïeœ〜sDEÄ4zzWäòÓ^2Sš­ö¯ì?uâÔx¹(|Åó ¯ÝËôç‡w•û‡þÛX*e „¿ùÛO<¼ýÊçí=tH©ˆ@(¨R4Ö¤mÇSÈ}©¾ÿíQ]Òü·íy¯N¥íØýÿôõÿõ¾÷n„£§à»ß¿ûmo|ÉŠ5ëC`tlâªýúßÿóWÿè¶e]ܸæeo—ŒŠjâvXFBM|÷¾éT¢'_øÒGº@€© ÄbpÏ=ûþþ¯þƉÅwìÜ÷ÿüá·ýÑŸ\ÿ²«û06ÿö™/ýÕ»^sb|ª§§Ç—²/ åPÉcS[¶]RHvõN+%?Úðè_¼ÿ¶üï÷öe`¦~üàGÖnÜrìĘà¶—éîÊK¤©·»kj*{èè‘xó¹/y±X<•ó¥ïÿøÞ[~çº{ì>p¨opxj:÷ïÿð×_öÓ'ž$γùBÿŠŠ_µ V;/¢ ,Ç%Ëq©t¡P@ÎÉT6;ž´ñkßûÎoþæõŸþÔm0:©yäÑ «že‰Ÿ>ñD<ºö7¯ë›Ë'¸ýk÷½ü¦kD<5S¬ÀßýÓ¿¿úU¯yóP¼Ç…Ý'èŽ;xhttíÈ†Âø©Ë.»l×3{8çÕjÕó½óá'ž\}ïÆë~ëÆßÿÛ-€O}þÇo{Ýo<¹{ã¹^©ôÙ¯ÜùÊWÝðÖ×ß0U…»~ðàK_úü²b•bõÔlÑK¥{zû¦syÓ[5!š²W§¦KÕ@¡fv¦§«ß¶+¥r6_Œq˜ ÕÄÌlLÀ%Ï{Á©ìÔg>÷¥;žùÃ7¾>æ@ƃÙþõ_¿®Û´uàø©¬°X<ÕÃÜØ±‡þóË·ßxã+~ÿæ_wöñݽGô^Ïôr 5€íÄ€9¡,mÞrñî]Oõß¹æê«®½áÆ?¹õ¦cÜuß#ÿõØã«W¯î¶ ä‡ûŽº®wb|bÆÍpðÀ‘D"‘N§}ßð¡Gþà¦ýéû¿ÄláËg‹«VôžóâqF 40@eDð hÍÆŸùÏÿ‰”–ÑñÉl<æÆ{zggó߸ó‡oû›¾zÇ÷¾þ½ï¿ò•/½æ¥/é±à]óOÝÿØ·üá\ RoyÏßøAèÇÉNN–«•®®.PªQüÇ×¾ÿ¶wüþ¿ã÷ÔW¿wïÃ=n»Že{ŸýüÿâÏþ캫. F÷=zd;lœ*Vâ=Ý_ýÖwoþ›ßúê›#€7ÿé{sՙəٯ~ëÛ¯ý½[ûº=`tºøõo}whÍ:†wÞ{ÿåW¿ðmoxUàÀ¡±/Ý~»OC 48# 033Sš-ôö!wd¨víÝ÷àƒ¾åÖ[ûµ¯Ý:«ÀøÄ©|.÷á}¶íáõX¾qçn¸é¦·½ñu§>öå¯üôñÇeödº¾úíoßô;¿sëk_Uxý»ÞY*”ºlöø3»“éT¼Rú¯|í¦W¿ú­¯{͉PÝuß½ûø'†V­d®(d±,¥ˆ‹\±¤¢X*y×ÜrË-¯}í+%ÀñìÌÿï‡/6>“Íô÷ê0ÔZ!Ô뮡ƒ«“/X®ë*É,K+éK)#É•–§r¹hr2_©hËúÓ÷þEÒKº€ãåÜ¿ÿû¿Ê²ìik7m>´{wðo_þò[ßùÎw½ë={KÙ/ë›ÿõð#–m+­±6ëgÆÔó0…±uΪÁ´çYDnB¢ ëX·š°–1ß¶ÛßÚ‘2°³™ˆ™®Ú##‡HD ´æ´úæ—?ß“é*UbU΋Å"ç\Ñßß?vð¥R)­µRʲ,DŠ´ #OÈ‘-øÀ 4 fuFC-£ž¦ŽW ³³e¿X­T²S3«W®„ÈÏËUƒŠcÙÀðøø`èXv5ðc®×2¢"‰iÄ©VzÉ ëF¥ßøü†×`^œ/$y“n6h°\‡ˆÂ@úœçæóyD¾rx {|L©pv¶¸ný†hf&[œžšžIfÒ6³ŒFh\T=„½@ëx±ØÓÛ½óáQF==]¥‰£?9ðtoOÿtvÂÔ1©¡Eó˜Ø5–/k´Øz‰•% ‚À²,k) ZëX<®A+eÆX*•bŒegg£(2t³v@ÃòŒF‰Y‚y¯ ÆX¥T€L2šf*ÆX,?‘Ïår\°¾Þ~])WÛž—ã=Ç4Ñå`¶oEÏÔÄd‹ ‚•ƒC÷ï[³fMqv¶žÀÔÈÇ1mÈ`㛣 ²šzB“‹Ýš‰ ‰aS‡g dm¡òA£æy›{D¬ÇÃ[s¶—çø1¦±³<¨EX`u6”¹9CÈÓÀ´ÀV šö o DêF+`©ót°Sv,:çܨƒí$•ol#Ò¹àõ6¾k£8Óh¢Ú§:O€¡ap›:‡êÝR/F®æu -ëÉSlþ+knÆšá 5ÆÍ\7®Ë[ãº>±ú‹› 1/¿¿Ãå3}ꌆs˜RT#õ,ÓÙuvRÚ1¤àŒ¾gQê„fË/¡)D– †Q5—WlâÄI¿R¶m>ÐØÒ ¡^{xÑ«i7½)¥þú¯ÿê}ï{Üwß}_|!"*¥lÛæÜÊf³ÝÝÝŽã‹å÷}ðŸqÍöÏçÇ¥r•[vI×ó¢ $R®m5(”f4b 4“ ›æõF>ÎQìXc ¨iY7¥Õ‡=ݼ>hÎ;b‚›<Èv)ÂåSIL›|rÃÿ$d€5uëz5¯Zb(0ÆYMÆçw¹a͈] \”®Ú”Ñó¦p@ 5熼Æýhœ7*v}¿^°e55µyô<LÏ¡ôzÁÐÓPѯw@òC`nÜRmCYg™°æ\ØVÓDË–øˆJÛ!@ÉjÔL3Ý•îžôÓ‡:K&bÉD~¶ä‡‹…QTݬ±ž0…' ‚^»CZ(~Ö¸øÒôBÕ}Ít-7˜p®¼60bæ»5Ÿ5½]§H„†Ü»B!,Ô`ê·ÏŸ"±y½B‹Ú¦± VÆiN]™ØÜjN‡ÕÊ×?ö¡W¼õí„008hJ–ËeÑ4qj˜‹¢s©›ûIóLÛ²6D’jrþŒ×ð^cQý;­½)“+ÞšÔÉH“ŽÚ-4OïœôíùØþè­!©T:=•Ÿñ’©\!Ÿîé.WüšÕ4¤0j›ãzººÙË%¥¶¥³,gñ~$AXÍHi‘”EL+¡:“O»îÄ}÷½ûÿ~è?þíSà£ÿô‘+/¸$›'´FÀütÇ•W\¢©¶V” ÄéævÖùú…ÍŸ}¨£Ö¹Žå\5 h´”ÔÔiacÓ<P“Õ¸OhªUX«NU«Þ… „šŸ›ºØC>íÓµe#ÌK‰9­]ðìІ늧»lÿiÑN¶ä{¡NÎÏæ'@«ë.¸ç¥ŸŽ-qßmzQ»>~¨T*ñ˜cD™"Pa¨wl.šoYH‚qððŒ:^Me†jin–©A) ÎYíÓè°Úc­…#ÒÀxK Cà„˜;!;£þoþUBµ*“iáà8sãÌÿº ÒÚbLÔ>m³úÔJ¶EJimñ˜ARA¤€Ùµóø!X<Þân©©{˜_•I¯Ãz­G‚(ÎÁâó†ˆN¿_Z¼’œ;Q¤ ˆTÀ¹ÍÁ@µ¤Ò gtþ|ûsJ~–ÝÏÿS›QÄ—6€²yäá—¼ð-hÝ ]R3>¥ÉI )ï/ÿò/?ðÑ9g4(5 "ιã8–åÀw|kË–-[¶lñ^ }ð Z­J­E n5ㆠº,ÐPoayªÈù„5Ñ0$ &Î s1¦šrhq®04Þ šË¡m«ógÂæ ÷£&Ñâ½›«ðV½‚j)‹âáÄ¡~'ûQ¨œXW@¤’* Ò+…a „½dH P+ä­ëu+hMP–ù».Ý·ðÖîh²`ŒmÊÐ?àðlYhjÐÔô¬M>Ãábx¦ý¡Qà –„'æŸjR’¼q´[*ö¡qrk_1ÎC®—sÐ"ôh.äÐJÓ÷«mÏР‚ˆBOXžÍê—µ<( І€ã ¬å¿€("@BhÆ mc@ ꫈9~6h‰^–ˆ(ŸûÖ8Mkém¢CäÔxnÅ@—à¥TBILf+]=1lB£™Ëj³­’D gh1:âHœ ST1R‡0‚HCÂÇ®IGah VcÅÕzkà­¤5C2EsÏk!¸öÂçe&OtöAšW ° ¦MMss*Ò¾`q‹svÞ÷>¿ýl›”R¡”æFj»O2Ÿâ¼!º0ôóÓhÀúf„Íûúúz{{ãñ¸Yš&…qa;¶ëiÍ,G:žÃ˜l›ÛÀ€ÂòÅ<gEÄâVËýF¿d1ñ©à˜/î_›m;•@Ñ‘xL»³µ;Å„füO…Z3`XT¤1½Ðz^¬%h¡"S·–ØX"Ѳ°Å{’Å]]Ï=6\“›ºr03zøÈÃ?Ñ•é¿å ¯x÷[_1Q=ò÷ÿä¡é\>æÆ¤&? iEDȤք„´Ð¶»J‚š|³eŠ4ÂrEèu¨*ÜæËn ®U?^æñK]¶Åñõ öš“IÀ€´Æ@§RÉ‘õk8üØ=?¾úú—}àÃï)+øŸ·}j27¡Hdº„e0,“\ ƒùñtœ·¬'5¬Ö´XåžRsÝûЀHŠÍòˆ®ÿ·Èálòpê–´¢ÖâIØr~'Cïà?m¤]‘µØ:‘JŒ'cÈ@+OÆÃ òâ^ʺË4ÏjSWaqnp›ýhjF.:O;[»ÿå¯;(ß…' DnÌðÀq­XÂ+UŠš¤mrï »!iÔØ¡SÛî<ñ¸×h*Qý èZ; (©)RR‚bP ®IÕÁ²¬f †g0³xV9Ì ÐÕfÿ”u4ŠaKX«ù‘k*c¼ál1œ»¼^ªØ¯ÆB³™CÉZâ xVÎmÏMñÖfÎ#-çêóÁŸåÜö³È3c¯¥T€Úv¬Ær=Çrô\@œ8õ‡ììî…Ukw”*R*Ò´âŽoæCi À5ï;“‘B _¸f©ø>!œÛ¶u­N}ƒ] \ÇR)b–`dzbº ÃjÍ (ÀD-ÁÖd3¬ (V£-Ë û5i "d H·ñÊ´ÅÙ9z^ƒõ˜ÚIs¤(–ª®'†HQõ%‚eq°-8¿ß~áÛ98窾ýd)¥Rê%/y‰YÍÎÎ&“IÏóÊår©TòcÕ ê‡a £0D$)5"E$[F€Y›ÈvTX%ÎÎ#kÞÂ!$4ZP-šªe]kÐJ"I`Ív‰…¬bª£…oÛë¢j©rlY` °<+L¤ÔH‹5[B¸ÐFQH¦}³åL˜Ì×f H¡´TmYΊ¸#4jû7TâÁèÑノe?pÿÝs÷}‰X̯Tǧ²=ÃCžã¦ÓiŽŒ1ƉHKŹh¤²4[ß÷[’΄°ZsÉ*˱šuXA§}ÝoÝ6*Øê§NS¨X+‘­FF7ˆ ($`\ßÿ½‰Xüe¯}•`ümïø€”ríÆ‘B¡‹Ç¹åÈPIiJÇAèG¶m·T°†54YM­¡d¨Ç̨¹ Ø\t#“Ú`¾î&‹4?¦Úˆ'™“-ÅDXX×}YSÝ’n¹±å~ššÿη¾™ÏÍØ¶¨TüXÌ-—*‰DŒ`›g¡å~aµ7¤4Áu¶LËZ\qik^ä¢Ñ [1AHèCÿxøÐÁþ¾@6™ÏNŽ£à Y=‰Þ(P£de›ê“ÈZÅ.;·¸`X·J†‹¿vF€P¯ýL„H5‰šl·B$é35V™à … p!Š¢–Ê|gæêáÙªßu.½¯³ ‚èEþê<õl¸0¼–þƒ¿BXÂiàœy  .l¾3Øêhl×?k]Ó¬.æ',á‰â’¾÷b {»_ñ»h-b1ÌÔBЖÍõÂYQÌOýY~¸²F"@ Î瀈0”Z Öèü +rnc¯“¤Int]Áæá@HkDÑÑ·«î¾ÿ‰OúÓ•JåðÑ£ˆØ7ÐäÈ‘twÁ\¨Âä™*¦ªTÆltºL; 9DDD‘m3ä¨ªÔ 9ç–àŸûä¿m\Ýoò_ý@¹‚-êr&ÎÝóH€€@ æÂÈ,‘HH š€qfy.Ó*:3@ãüv~û%„J)ãö›Jà–e1ÆÆÇÇÍj©X,ÆãqÇq@G¡k[‰˜ëËq­ ã¶#d¤M­éTÞZ$¶ñ›NªvÇ·qðt]Ý`¹ÔÜe¶Ù.qü’ß–ŽXþyM\¸•W«N¥^`[¿¯ZUñ÷ùÕøÐºµ#×2çÙ(Ç4 ÌâAº/9=•UJõu÷ÄÒ^µZMx‰í Δf=Ïq]W©(î8œ£Å90´„è(b)ÚLt¢š‹ÈÂŽÄf8o#†ÔF‹1l-ÖÒá|Ôš0áœðRCËÃÀ #kV†A°o÷Ó¶°‰‘=zð`&ž´¼c,ŹmÛDÊ÷}› ¨Uµlõ!/"Þ“©-@lž­U`‹± b|¡^0@Åj¾÷r—:ÄŒW;ß*©¡áÜ6,`»öo·©¶íßZ¬ˆk>vôHLǶ0RéxŒ+J%â~5lÑ>ˆZAËý yËý XG*ÐíÎßÎjMmRZ{{wírëI§‰TP©Ú -×F2ÒÍj#scgHçÑPŸ[&ðФ7‰3Ô¨%0†b®ç80&„ˆ'b0˲ e½X,*¥ÒéôòVã0Oîä4kœçr±žÕÏ{íªÏ¡wW#y±%²ôÛß騂ò Ë,9'X;]#¨EÛÖШý¦[m„îpùËZ«.,Nµ¨õ{}ZxëçöN Áuk¥ã‚0ŠT‰qe[Ž@»yé^Wdgð0²—aýmFÂö4é0"Ô̶Ѥ)P : HÔ³<4*`¦hŒ B‚7ÒjóqX ßüÁOåg·mÛ¶ù’Ëb±XOßÔÔ”åÔ -LJK+¦™ h $g ‰sä#úaYb„+A¥Z(üÍmû{[oÚÁZö7"ð0¨Úm¨œŸÃçP>€¡ÓÜ¡%P |Î\‡ÇA"qe8¿ý¿44»=–e9ŽcY">öØc6lظq£mÛ¦L—ÖÚuÛi×Ò6·mÛ&iÛ¶²•)$Þf¢â8Zg hXbnhIýÅ%=¹VðŽŒÓœ¹ƒó°ÖuÅÛmQ5­6欰ùüÕmÍZoéHK)[†ø×í¨œjž}¡.ÝG€DÝkVÚÂRJUJeG+K›TÂf 8DUR2m!³íºÒˆŒZײ[^WG²åñˆº©KœÖjƱC :éÿÈÛœŸ¨Sõà–?J0ªÚsꌒ¶¸åyŽÀt¥\ *‹'{zó%Ÿ7߾řmÛÈH¹Žïû 4R›¥©åK¶ IDATY[5Yb ÷4ɪ9(¡0e¨ƒn¬\±e²oëïH#c\·L¥Ñк 3S·o¹E¹:*ß…ÝéLù¶CÎRÜr]ϑڳ+”óÙB5Kµœ‚Eû•&¤E–!!G‚eZjyþv–Фª-<ƒ×àý+WAÕ&€©´p„%œŠ_ÖŒ Æ9¨‚€"Þ@p¶R'Z£P€DD¤(âZƒ&"›£ãy1nAQÆm—„•*d³Ùض}ÁÄb1!„ÖºÓya‘ÇØ ÈÈ&ÏêLb¤ç ehãÊŸÞs=s'»á®ðZ\½™&ÕÔDuСùå^ì´Bšô|AÆŸ j÷*Q·zûléjí^ªHj¶H%³ž —ÖÍM1ðCÐŽ#8!€Œ NE_¿YÖaÀ€€"H­#Y!ð™Ep¡ ´,[`íÙ%‘ŸÉ€ Ì4€$P$Ð B À²ÀBämæÞ¥††|vìÝ·mû%›·m‹%âa¦ÓéÕk›[ÎÝÓÒb´– 4ÚŒ;Âq-ϲœ\./,+ÒªâW"EMÍLçÆNÜ}×ýœ×½Ëå²—IœfNçðyÍCHËX]W‹(´lËH‰+_çóXüWœtu~;449<Æ]GÄ(ŠJ¥R¥R‰Çã©TÊuÝ(Šfgg}ßWJYº\Þçq"æ8V‰„eq¥@Ñ8 ÂŽlì0tÛ¶>óRŒ¾üó˜2Q Ý{ ¡õ~ÑaR—ë&;h´ïWÛœ'Ñr"Œ¢¨u¥[×¶¬Õ¥ n`2Šº2 Rzzz¶×ý«‡d?¾~ ,.ƒPy¶#IƒÒNÌ“AØòüíöÇ2ñÖ÷Ó‘€™îHz¹3u»ÃÛ}_õ+ ˆ/#-¥VQȺÒI«»'Š¿Å|—3Î-F )‶gó˜UÇ›t%Ygßµ¦:üWã*èz5 SâÄ”>©" Aªe·³&&«Ë¨Ã  XGÕ¿M,|ùûÃ Š®­¥’ZÙ±¸"w\$XÑÛ×Q}òvçïÔvZÿœ”l¹Ÿc‹vÔœs¿R.ËœcÒ#Ûr\¥S]s¬ŠfæðŽXÚv"š~5lÉÈsÐZkmÒ #%%*IR±¸ž‘àHè‹§( u54ìÇq<Ï34@":ݤvÚÌjÕ:¤Ô =çÏœugþô®Ä"'öì¦v`kpÁ  @aM|ÛHÊ9¼15ÀÙZ‘¼:¿BÛ‚ì’9‡†…âˆü OÞº_™¼CÝö¥V1¿-ßDëEÕ+êê}óRûçJj›r“§¿ç³Ùû€¨•Qð””0¶d bPgê³e¦“Ìßü˜œÍ,€ 4Žñôìd<–‰‹4‚iqëÌÞ, ‚IP.éÙ8s-à8cÀ$ÉH[ïˆÑC¾ZÝ~ňÏt%K¥Rn<†áâ2¨ E  "¢ªŠªR–¥xœ¥»úm§«èj ƒP+‡»{Ò‰š—äû>@„eÁ’™sô¼õ~(ÐuJÍ5„>´ŽÍ8€°<€ó: ç·_u ¡áv2Æ´Öåryjj*ŸÏ¯Y³Æqœ™™™C‡i­-ËŠÅb*®¹b{i6Ä×*+–Í•$a±Ö »¥ê³sýD­ç†6©íR¢H5šm§©íl»³µ;a‡Taê,(DëzÈ–û™°—ŸjÀíÆÜ‚MXƒg;Ùl–´~ΦµY¡PB¼à’-Ù·yJ"å8^¥RRŠººÒÕjÐÉuÛ·ã-S?Ú¿_8 îCÞú×6(F§@C»ï+"l¤47etmÇ÷}Ðä8GŒ¢ˆ:žëGX -Ë ‚ TžŒ§ñÐ÷›«À6ª<ÌAPË|^¥ër€Ðà¸h2uÈó˜&¢¥Ÿ‰Õ‹ŒÎ³L)ˆêaæý*oãHwÆhh}ݶ¼æ âÉD¥Te”N¦ª/W¤µT-{BP‘<+@É’ÀD ¹Ø–bÀÆC·+×uµÖ¾ï' @,—J-ƒ¦œ±³ÒÿÛúmæ£v™½2RD¤IE5œ!Б$-+¥²¢ a÷ÇR«»ú£ š°Ъ»»;‘H”‚ ðÖ"i”ÞPõè¡PT/Ä ®çÍ*¸ÀÇ£_1½wœÿ6È`¾ @6)év3´}¬UÅJÖ8 9ÐiÿÔõSé…ÅMbÖõ VÐM(Ý/€àcЮ‚ê±'ï}ìñ»#9ûÜË.½ü²+kè6‚7Gôèüà ˆAp<ø™=;v=³kìÄÉWþö-+ÖÅúb4†¡ïX¦mŠ(¥$I"Š¢(òƒ(ôaÍ C½ýP ÒhgŒöõöRÉŒ@¹\&"×u«ÕjMÞHצB“FaJ;°FµË0 …pëš!l^—@j@ÇDXöíx4éHWý(žÊ´n °,+Š¢ð!¥äœ?þøãÙlöøñãJ)3×@__ßÄÄcÌ÷ý®®.ÆØðððe—]fÛö¤ ¥£(R®WŠ{ô‰xÐubQMMMÅânWWzrrbÅ`ÿää©xÜ+ËCCCÓÓÓ¾ï¿ÿýï×Z­ZµªÈÈVÕ¯z®U¿j9®&”_ùæ÷žÜµ'Wöwï?²nÕPZ*|ÞÖ5¿}õ#kÀÄÉɾÞnÛb ´ŒB.,´lŸ0­¤ Ž¾ï»®KDF¦j×®]]tQ§]kê§RÊD;ÌÅb1‹qÎMS·¶L'1ÜR˲öïß?22²„¾ ªŒ f®K/T3iï‰'÷ŽŽŽÆ’±Ç$W˜Ù²eCo_ךõk.Þ|±WÂ0”RÆb1Óñ)û6ß ‚Àv]DæW«Â¶„¦éFOŒ=ù䓪V‚x<žÌ¤c±Ø›¶nß¶%Ÿº20¥@)íõjB! "Ûq`¶PLe’011Õ7Ð7“ËwuefK¥©™é;v”ÊåélÖ‚ ##~Xýµ+¯Y».P‘Íô¥ï ×Ä1LqåÆ7 4ñ³ô~V:"2ÆjÚ@G òjâØÄž½G]»¹g媭»w>5u×É5ƒ.¾àÊÉ ,”è ²c§N%‡JXñl]¤™J?|boßprdËóvxòà¡Cë†o»ð²n¯;n;šÔ™ ‰…Bè¥9 ¡ŒT£ÜwóÂKÖ¯^9~üøïî½úò—\rás-rœöwODÏ<óÌÖ­[µÖœsÓ©B šAª»çøøøÐÊUš±JÅã Ž\0 $d8g9XƒãÇJ]š¨øòXa߉÷_°uXëÞ™™§vìØßÝuÁÐÐ¥ž³ ­d…‰\õGÁ˜ šÀu¸”Ú²,Òr Ìå¬×íÐnΤIC$µÔ*T2ˆ|¿†‘_ÖñDi¶Xœ™ŽÊÕáÞDz*³%°mÛuÝx<ÇM,º¥ÄOýJ$¥RéÆoäÜI%3–e<Cj0™A¤!bŒÝ³­ÙÙ22t¤AK`¼^áe®5M‡6„|ð(•JétºP(\{íµ###ÆÕdŒ9Žc¥TE®ëZ–500p×]w™œÊvLÎ9C€æB£££W_}MoOrb2H2‘pIg&?žJ%“)ljûî{`ddäæ›o¾ýöÛ}ôÑT*•L&ÇÂÑ@pn@9(Å›@8vä[wü °7[¨~á Ÿ‹u¯è\åÆSÛ/¼h6æÜýô‰©GìXòº^BÅb¥7“Ìg'‰ÄäääÀа%l£ÞDZÛ/x)gðQOOOGQtÓM7Õ£¦…æš#RÊR©ôÔSO9ŽS(ÇiçØ/¾“ÓÞŒëy^Ì"„{ï{8W(Í䊛/¸híúuû÷žõ«n<³qpEø¥Jxß½Œ¬Yû‚¼ ù³jϘС lË"߳șعgïáÑÑ­Û¶kͤÒS3ålÎGÎ8óR]nß³{W._Èf³/ºæòT:Öb¨M@Œ¡Ö2RÂâ@P©†ñ¸#5d§KßýÎzúú{zû®yÑ úé###V«ÕžÞ•ÉT<–˜š´NüË¿~â·o¾qËȆPJOØ­.Ñú£;ƒ÷EçÜPT ÊÂŒew=µsÓ¦•ñ.^ÈV®ZuìðäÄØL±XŒ ⌙bš¡ê(!_£&PŒ©Y˜™š;<ú̆­k“=N¾2³nÍÊl6—ššÉÏH%î "ïlúBð+Ú1DR*ðÙuèøžÍ®KtYS§f3½}žHÞ=v2>~ÑÆç.]8cñ(‡ØbAiÊ™7ÂKÍ3¨z30‘=zêäžJytÓE ×)…C+&OÎæKV¡ÒYãBØüù B›ù¢êkÏ;;ÏÛºŸTÁŠ ø¾â‹|Èí=ü䉩Ûž3RÈŸ ¯Þ³koöÔdÚ:ïŸßÎâÂÆc Róh03™@M®„QdhÆY¢V'Ž^¸us'g'CxñˆÍ¥kþ2ÚsMgèè}ÔSwçšÎµTüŸã Ã›?·$#¾¸mÎrÿ_p­yvƒœ¤H0Ò2 -&¸-¨)ýV×Qè<žÒÓÓM„Vc­»¢°PÈ¥ÓÉ:]FÏQmIˆ¶Q«6è'Šó“Ð/nö›¿ð¥9`þ˜ü³|’çv“¥J¤UE’‘’~T+A†Q ÆeÖÚqÏqÌ4‹Å¶oßÞ6D<e IÛ–˜˜8Õßߟϗ&&&ùÉ“'úid`„ÓaÚŽÅcž:Ð(„Xü]hD ‚àÀ›6mBtuu!b¹\îííBŒíر£P(xžg2(åœoܸ±¿¿ß@ Kä›8¶S©§§«Z­vw'sùÊ‘#‡,›åóYˆTÚ?5‹;~U]þœåóù§žzê²Ë.»ñÆ¿öµ¯Ý}÷ÝoyË[ 7P}d &€‡ªzÿ½wgÞÔÑoûƒ?^1Ðóð3Ç?õ¹/f§s®mw¯ˆõ®¬ów?ôÄÐðÊ‹Fz3™$dzû€ôЪU¿‰‚H8Ì„þ,ŽhOOO6›5BÚ¾ï?øàƒ•Jeÿþý×]wÝÈÈc¬»»{zzR©ÔòK\ÖÍÏæÒ©.¶ë™Oí~fý† »zûWÞu×OÖn±…;‘=µb¨ºP™žÉ^qÅUw}÷[ããã{÷îݲe‹ïûF=d‰Ô &9ž]Ê®ßwèÈ©©©²%’ÝŒ ˆ´ÔLÇql‘Ž;ƒÃyDܵû™þ[·¬b媎{ [èwh Æ#ß7ºÛ`ÿc·ý[—>çòOí´½Ì»ÿì_ÃK‘yOízzãÈÈûÞ÷·¿ökWtwÇŸsùó¿zû7ßöÖ·ô¦3&lgùBgåý. ×èÊ êàØS"Ùqðe™ æA¹\M&º]'ÉÁàˆÌ¬iø\íe rP£Ç÷NçÇ­8&2ÖDöx5,û²D\zq;žŠ;Ü`[,®yšñM€]…ÒÑ™½¹±d—Õ5?>q„t"Tɤ»ººŒj|‡6WÕÅà õcõÛMp³Y]…!;}Héi׋R)V(žŠ"¦RRId̲í˜"ð#M>ã ‘ “ZR†€î9z^¨yNžÇIH ÕS3ûžÚe'C;!g'²'í‡A¡XíéZ½jÎW8¿mwþ Æ·s¾J6#fC:ÑÄ%,Ë*‹ Ýl¥”g‡W®VJC+ª¼ÑoEe§š,س@ᑨæÀür 5R;Ûú}!QËø/ëBµ8‡¿!ÔBÜ‘ #H£ÓÈ'a'5$@c£Ìò9Òà Õ‘¦¶QéogY›æQ­Y‡As¬r¡OgXèXÒVu|ADJ×Z´ì¬CØ ˆ€)ðlx晃oÝ‹§£H!h Ic­X®‰¾u‚vʨêìøÎ#íg§üm§[»ûìøüÔÀ¡Nߟ5j]«ÒRçÈÔ˜2š5þ¦½´hë’¼ØNÅqc®@p£ÈÖ2Œ"rÎy5àÜG)%s8·„ð¬rP–:"NJJn‰jµÊ9·,Ë÷}ãÅ5fØÆ‹ "Œ¢À¶íl6 år9ŠTOOfåÊ•JEÈC†€È#8uòø`_/jømÅ! ÐI¶ÿ"jz»vízÑ‹^´wïÞL&“Ë庻»¯ºê*#Ϲ}ûöt:íº®RJç|fffhhèØ±c©T*—Ëe2™výÄB×±Ã0´­X݃( V¯^µb°;—Ÿ¬ú³=}‰‹·­õ£r¥ÍÌdûúú~øá¯|å+DdôZâ2ÀCà1ns J©<1:ºiË–¿zÏŸsaN¯ÜºÊyÓ›?ñ™Ï¦ 㳞ï_9¢*…CcS[Fz9@È©ñk×®nð+M(…ê°WóK9Þim­&„mÛù|Þ÷}ÎùðððØØØàà`___<7¥¦‹Åb"‘`KŠž6ßÃ7C(XUù6=õÌ®ÁU«†W¯™Í;v=sáöËwíݳoßžSS'/»ü²ÍlV›˜Þvñ%Ê/>|xË–-&êe¹ÚžyYV\“¨À3û÷ºñÄڮѱSÜŽ{n’ 1!5˺Xò>4¼¢§««+‚;wnݲJJàœµ9;¨(âv­ô“RÚu,صk϶m—ýøG÷½ëÝ^ñå+^qýÿ¹í“©ôð† Û~øÃÞ~ûÇ©$ãÖ>ðÞ×¾úæ»ïºÿ¦›npP´º‰ŒèÉÏú~߯53P=|bïäìñÍ›×—…b%ïÏ–Ëú‘‹ûúÖ1ˆ8X¯ÔK=i4€†Ð‡âû+jjõúA'Á9Ö×7xàðnBoõšuÃÃh¾Í w¢£-÷$@T òOï~B£¿vÓÊ@•¦ §V­›™š*NÈ ×]±yäÆD§~CfcDŒ sÔ(Q›ŒFBš¯ 'ÈÎŽg ¼täÚ "î8=GÂÀK§V¥3+„m—_‰8U‚¨q¡Æ  íßo<áž»ç°kÓ£%d¥Iÿð‘ñ]ÕhrÍHo®8©AÆâÉ“ãÓå"m{î¥ëVm§sH;¿ýªog…ìùó`44æ¶æÁÎÌ=f\B4r+¸°É=Ç…[Z뫱€µŽªýòØF©ðse8h¶Ø²E¶&¼QÓ0¥ÆÓÞ›‹~tRÅ£#Ç56?Ëòî¾ÇxÖm£¤_¶íèüºeßuuˆf‰t \Ï”éb^"¡ŽŽe÷u¿§)âQƒäÀ0-¿=5@±XœíëééÊ$‡W” ÓþЇVuq` k¹WTKÂB6ÿANÿ¾:Ë4ê•8ãèûÏhE8+ŽzsêÄéû¯1¥z7Qû£qM¹­·<+ý| »ì/ d(• d)FªÕ°ê˰R­ø¾ø¾ík™¯–=-#Ð\ˆb±ØÐhpÇ 1H3Û6Ä #`hhÈS©T„(A`YI2PP“Š‘Ì¤ã–# •в£^¿UÊV*Ríú¢Iâ³oϾƒo|óë… ·ã{c3+V OfOnL‡ Ž9rôèQ£UA; t±R´S®Òúȉ£SS›6_OvÇSIDàKPD€ã‚s™éê–U*UúìÛsôØtwW&“䦖òb™cRÚà>Q(ˆpüx.;3»eóªD²+‘‚÷¼÷ï‡W½èE×k­]'}Á—~üw=öèÃïú³ÿoÛ¶Ë‘;¹ÂìØÉSë‡Wέòš†f­5çgáý6u IDAT>#ùˆÅbñÄìh5,¸qè_ÑŸÉGJiâù¼‹õ®[»µ;6à€VÀYçs†®êÒØÌ‘™Üƪ«ú¶Ç2Ýñ}»¯غrõpÆÉ@)¡8ZOHÈ€@iP''Žœ<Þ»ÆKwÇLe<ËåÅÊt¤í¡¡¡„›AKÐ%}µ¹…©î`ÑÀ5 Óu²Ã|j±P‹üØÉ§}=™ôt,BíÆú=wèо,ã«zûGéþ B‰¾¶Ê$*Šj@ƒé`h ¢v#;KÏÛùˆp P wøØÓÙ™£ñ4‹wY§&&âé”eÇ ùl21ØÛ³É…Þ:2q~;¿áfF$óÝ5²ºžu@)¥ gÁ  sèb„a˜L&ͼ¨µ>9>!¡öI/°íâD@{¶0ê$«9—ô—ÍÖ\ï¦râgÙ¶Y S«ýŒw&‰Ð:dL‹ö78kåÊ–y•Î$#ˆézEƒeÞÿ¹ÿ£ŽØÉa­0X½bȼj&H5çî‹a‘ÊÅ.'–/ù„–¤ÿŸ½7’ìºËwyû‹{Dî™U•™•µ«¤²d-¶±0–d¤±-L7Çn0fq÷ MÓà`h¦Ý¸ žn` Í@ÛîCOÝ6°…l/ÖV%•jS-YY¹Tî±oo½Ëüñ""³6¹Ê6à>S÷Äy'+3*âÝ{ß»ïþ¾ß÷û>øðGûÐ=÷cEW [Ó-¤è€)„0”[nR™Œëº ØÚêJmsÓot~åCùÝÿð[ia˜Ä•žñE/û®g7yÙµv»ÅI¸µùú¶æùæ^½;^|‡GÙuü?¶Û!ÜL'9€ìÉ×¢Þ„¶¯ÆèªQ—×ÕïDߥ;ïVç+Ás$"$""8Œ&„TÁŠŒCµsiCÓµ„0ƱLƒ®ë}Rz 4lߎǭZ+cBˆ(Šª™¦Œ­¦EAa‚–ˆ@RPI;–ת¥S/^› ÃPœÇ#){¢3 $XaŒ-ËZ[[‹-ÆÆÆâ¯Æ›¦‰Êçó¹\nxx8V‹4MsffæÔ©Sº®çóù(ŠâõëBê6¸z½3‹öîQTÁEzbtôÄÙëÊß}ó«ï|Ç»ªÕr¥R|ä‘G.]ºD9qâD½^ß®hp˜K1P†8TCÎU„NïþÜ_|þ—~õßÔÚÑ®˜šé×~7“Lm´ÝµZ{8ëŒîœn–×ê_ü„µ`îÕsßøÚSv"ƒÄ Ó E*&=Ч;G¡>*tóͶmÃ0\×M&“>øàƒ>ø¥/})‚G}”RZ(Àqœ¾Å>¿ï:!®l7¤k!¡hêüâY˶C&šÍºn"ÛÎìœÞsâÕY¬€@°^ªå‡‡Ó¹A·Y[[ÝÈXŠišÇŽ{ì±Ç W{1BÁ„$QÈÑ—_J$“TÕ«µFËå€TªØºáXFB"†ŒÍ„èø5„¦¡Y–577WxýÝ]ÊØÉÞ€ªD2†©Ê9£Ú1;{1é¤-+ávür RÉÜÛÿ§ws;¾ç‹éÝÊåM„P>—xõÕóî.ä‹/½t|bx‰P·¨Çy_Vý;œ_ι¢(ñÍ+¥ ‚`eeåÔâi-«élµQ’릵YªR51RØí˜ƒà €m!äR^ŸdwÝóá„­—VO¼zÜr4#Eèíù­\ÞÙØ\µ£8XÈ¥s0I1EAR¹5ÆÀe´´yéÒ¥ ¦¥8I£ãÖý¨]( ¬o¬©Ý“N*+>¿Æu»}MÃ}äŽÆ€¥ÀR øÀ Ho×…®d4Tš—.—NÙI©ZX1̶×1ÌÂÆ&p^L§§Ò¹)¤8®ßb4Ýc¸)d_]xŠA AºfUÝ ÝÒ‚Åw¥¿×L)”‚CgiýÕåµs!jä‹ 7l –e­mTS§w1ÔAG|÷ •n·ÿ¶Øf¢ßõ—»ï9 !^Fû¤†ùÌg>³sçΩ©©þM)íëÑ Ž½í&ÚInOJ^÷=¯q¼nðzÝ¿^õyйý %GgŽº?³mûbt½ßô#@ä–„|qx­cl²¸u&ۮܧ_™ö¿þÖ ®Sý-²²²».‹k>ªÿžk}³ñ•?ÜÐÓËon‹]¶Rù¨÷Ë+ê-¯»*ÙnÃ!ÑÿeËÁq{ÈÒ+Lj7åq¢\DÀ€„`¸«CF´@‚T€á«G¾?ÚøŠ+YÄñVÿ=áugõ¾h{ÖHn µ½¿«€$Ù³[ßþ{Ä$¡Û‰´0m]DϽ|úG~ìÇ53™Hçœd*¦=G,d,Œ#>+²Š]‰wô4êíNaD§”FG½v #ø?þý¿³lÄûY 1BKÓ"Å­ŽÎ?MáÛù–°£ü.Á·æTß·REÛmeãŸN«’y ‰@¸O™‘HH„ÝwMU$@qßÏe2Å!˜`%›·Ö<—뛥PÏ’Á)Í@‚ª!G—×6 Bææ×wNMÿÉÿ—R9•J…‘§éf)ËaAOĶy‘߯^mii)Fˆ¢(j4¶m×ëõ\.·sçÎåååV«¥ªjläaÛök0Dâï ^úgr£<•D">¥ôâ¥Ù|aL7 ª)gÎÌÏÎ?„B"”ÎB­~¼øâógÏ*8Æd!±cxpJµž~æëš¦A¤(šëúªª^µX" 3 ¡“01–—î{àÍŠn,]Þô<^ªµÖ7ê펩¦ê¥” &ÂÚ¾™÷ïCœk†qqnö ÷½. AA@xÛä@”tÚ-;A‰‚%‚f§¹º¾682ÑöÜ7=øæ?üÏŸxÛÛkºmªê ÔN½år‰§÷øðoþÁ¼ûŸynyÇŽ]/<÷´1ý õ|²»ÜU.¾•ù•€@! ÀÅšj8Œ¸:f˜ L:¬µZ]œ]:µcB5³‰ùóó#Å [Í.­\Ú1°c8;A…&¸ @0}]c‰“ˆ ̘D’ƒ$ 1’”áh¹2÷êü±{î=èd•µÍy7èäÓÇŸ}þÀž×çÆ,p8HASHˆBÀ¸—8A¢wþBbÖë^|sQÑ[›Û­5ÅÅ•3—7gG§Sv‚nÔWUª¡_:a¢¸ÿŽé{-ȵü0m?ð5C½A‰ÊÕ-¾˜)`Ì5!!!€[{„â JP@*Hb"@âh£|±ÞZÞ1¤Ù«¸Ýf€ñùs«™×§ì] }˜3} ’JŠ#).g„–ÀDB÷,°DÝ! ê·Úßë•tÅ««@€K,˜ `ä! qXî¬.oÌÖÛ+FV&ÓÙµ²©'X‹æòÖôôØ! gPÉ…·†Ûí;¶?&¾=RÃ?’YŒ/DQÔ×—¶,k÷îÝ1§Ž1;-»¹±@J»íÚ¶Ùl¶ÇŽÓh{šnŒ$H€€(ŒÇñ?Ù"n%6‚n,„·§¸q/Žj6Zˆ•4áê¦ûÖ(”ŠŠ"„@ª@Ë “m±™Üæ²Ðö¸aÍŠ›Éš‘€0Cߊ~9ƒþ‚ À‚@S ÄDÕ$“@n° "ˉÇãù$!ˆê !ÁÝ„|wëD‘® €¨Ój; $iUË©l\_hzB0p}°ì­¾ã>˜ÒÏ‹÷2][‰Åþ±"´ô3 ^šÀš–F@Çó,#„¡¦j^૚†@p@g1áz…*±Ž4h7ÛIÇ–\"ã:ÝBEŒ!ê#‰/ômç,Qüàr­Û¦ìiÿôŽøŠÍoœÂýÜé‚s‘ *`¸" °c# „¹ 4à*…Ðõšt -È©H„‹.·¿w†ßj˜iëre9•Í7À³ÀrÀ¸Å"<F<Î2Î(¡dEÛ3‡W,2À˜dŠÔ0` PA´Û€ÔÊõô`ªÖ¨9i[‚Ä@cúúµu \pð_UUŒp$$ƘA±Ücs 4‹kŽ^N‡ ]UаP ’y[¶Ý©·BÏÇ80|úÕ5 „Zª@ ‘$ˆTRY3`)¶¶ºŽ+ëV>õæIÁY¤(J£éYŽÍ8h¡›¦·À-WXÞVfú.é¡WøšÙ¹î<"„Ñ «ßà;?¢ÔÕ a„ÈÖsF")¥ä 9Ìa@8"!į q$€ƒ£2b€°mš1c(Šßwu]ïtZ”ªqªÁ²,Æ„”H‚ÐÐMß÷óm;±¸p9•Ê=úÔ¡C‡76W$¸®!Š@ÃFÜ ÀL5;¹°ö„çivÊi6]UÓv˜íË )Ã0rÙ3ç/îšžqrC'Ï/œ8}~öÒ2GDŽ1î8‘@jÓÅbñó_ÿ˜mé_øÚñ¤exÍÊû÷þÒÿö³dŽ€Dä)Ç‘<×M9vys]2_£ü‡¨Õ\M$å“ûøÏýâ¿€°<`Õþä÷>tFÝ÷}×Ig\/R“®¹69Q@:5Ðu¹dº¥µ:M+‘éxœH…~J1Zn;‘JŸù»gí|^èVÄÂM>ø‘ÿè ºPnï¼o¢§´Öjå“Ccão{×ÏÜ5³ó§ô‡W×ÖxÛνø¦ï{c»S3LÂ"@žç)ŠãA¦i†ah¥´Oå@¨ë©A)­ÕjÅb±Z­f2™z½.¥L§ÓÏ>ûì“O>9<<ü}ß÷}ÉdÒó¼ÁÁÁ#GŽ(ŠR­V‰D¬{…1þä'?yèС‡~Øóhº²8¿211ìû Pk€z:\8Ò—LZ²áÖÕÚÌäÔ3Ͼ”Ëd¿ò·O¿û=ïµë-°“r(•¤i¢L~ãÿƒ‡ï\]ß=½ë™ãÌo `ŠªÄEy 0GXå!Àš`„B­^N¥r?He’Ë«»Š*µ[ÿÈ»ÎÏÎOÎìYÛØÐ“–™Ò+Kݰ ¿ó]ÿ´R_!2Ò4£V«qư"†º²(f+Þüüª ŒCÁ{ûT«õµõÍz½}øÎd¨¦´¼‡„øåúÂ+—þntOzh„œ_xerbG»Ì+՚ɒ‡F;J ö©tñHFR0$)ëhšŠˆ®ïº²î$Ô: ¥‹ ——L+‘Í åÒCÍKI;M·ÉÖ¾øÍÏÜõÆ]ö)m¬rŽŠÎhéR;Á GîNà"KGJµÓ,`hÕÁ²cf“PtDM/¬©&À766Ö7«Ñ|v$› ÄˆxØAÀ¯½TKÉqœõh0D#©zõÚ¹Fé2ÕMœÓ1M/WeÛ¼ÒéÓ/ÜyïHº@7jK‘ç¥r’'…ºsì€&Ç‚ p &M ¡‡^ÇŒ¸àSE€XÐ ý–ž ¾ WJkk¥2 ZÈ2ƒ*Öãþú~íú\×’’LHãòæÏ_Z>—Ì[»¦&(ci#A;Ðn²ÆÓ/~yÿÝcÃ;SsKs ;£áä¥3ëZ”>8qOVÀÉA‰`ˆÝÞUÜnß!Ö†aŒP+Šr-ÚGn„qÿ£I¦?üðÃ}Ž_Ÿ6I¹Aṳ́c@§Ó±,+i| ˈSV<£ÚeáRìŠ X_<,ŽœºÄr¹šÏf¤€…Åʼn‰qÇIð  ¼¯b‡’[IlEÁ ÁkuT]‚u%ÞÚÆ†a€# qj—Š$@6k2‚) : (tÿO?š­·‡@( Uãè—Þ˜à‹G@€³€Œÿ)z/À1àøˆó˺¢~K°Ž“ÐA4Ê뫹¡a”ˆæˆ ”TS¨êØ ––k£#én®¸+ÑßK !¹%ü»-ÉÈÑxBûˆKÀqw0FÀ7«— ™ÜÚÆ¹ÁâŽz­šJç–G(”`÷ëªì'BÝ噳blÁýaê¥YE/ñÝG®¸®U§—W$LcŽîQ!âOÃÝHfÛÍæ»ßÑ;.Çp ‘E€&AQAªà)À±náEaP¥(‘€¬êB¤w¿~[^WHh¬V“ƒËI4Ú•B6×*Á&…»é»˜V€Æ7«±BcŒRª)êk„}*¢žë™ª-<„5@¶: Ò…¤ÓÉòZ:¦DíE\×Y®bU.‚(A×5lsk¤Q—Áª‚¢ EEÃ("(Ð@p)u'ñÊé3o¾ï0Š`inóè çܱ{­ÒbXJ  @"BPŽ„À’A¤”Nˆ@¸ÿ‘±ÒBckƒó÷Zêrkø.7ò÷¥fòÝ=^Ë–“½£D#)‘ÄD`"aû z:êH’BÓ´j­zâä+–eMŒïŒk(¤”Œ±­l*ÁA)„0MGJ™Íæ1Æ“““Žc‚H컈êIA‚ŒÍ±’3i1a2©"I…d¢«p)®")¸Cϵ Í÷ýŽô¡—^zi}}]J™L&…ÙlÖ÷}MÓÂ0l4ãd2¹¾¾þÕ¯~uïÞ½…B!6ûˆ Wcd!Þ&^{&7D­ÑÛñùò“R ååå“É0Šžy~qfϸaÓf® Å"ÑœÝH'S¯¼r2Ÿt¸D!aÈ8G¶m‡¡Bô†x !@€†a6Û †Ej13°0w¹Ymû>L횦Dá )@¥Ë Í€õMà?ûü‹ ¤“ +•L´ª›½'<– 8R9’&|ŸD <¯£HÕ.Ùs/¾4³ïÀÂò<5HµQIeRétòé¿;z÷‘×­®Ö9c®[ȯ–×F‡²Cƒ#1cA_$1gñ–æ·ÖjqZNо´zæèKO—«%ÓNm67 …‰ûï2°µZ_>½p íô@~³ty PlW::Îl¬•M> ÃD¦ˆ !$ŽD–²tB§éÁÓ¦Ù”gæÏοzêìÉѱ#ûʭÍÜÎŒ3èŠh¹<—1´k<•È´Ën»͌ߡ˔&4Ò"‚áne C"â-ù¦#ªêCsucéÌùWϾzSmfÏáýÆáLfPÐ(’Í—O=«$…“×ý¨ÙlUMͲÔd«ÒŸ-î3I3ÝÖ É¢vËÇ ¼£¡?ªÝÑPÌ€NÍR݃bd§:þÆìÒÉÊâ AkÍçHXc…ñÃc;Žz²YZ]_=14’°¸Ý©I$Ò™|­æ¯­º¹ÜŒ®¦Ué`) ŒH7À†é0Âã¦ækT*–@{ecþÄùS§ÏÃDÛ·çÖïH åá­õ7Ä”tê¶n:)0*šj+¨¬T.½:ÌŸoÍWF‡2;ï[ÎÉ—£õ—Ïurz"«ù¡ 1«›mõ±ÁÉ|j…BP‚ݺ^õív»]Aø†Ñp#˜Äu]Û¶¡W‚ó®Ûb%¤ „†aÄïGGÔ8Âà˜°n£®èš¢Û˜€r€ŠåW®MaA>— ‚HS•ÑÑÑZ¹šÎgææ/ž}䈷ú’‘„@ãÀ™¦QPïÚqöÜæì©g‡öÛ‰±f«®êHÊ Lƒ $„Aà¤Σ(Š:­ÖÂü¥ÇøŸ„’6ªU3“ÿ§ïz|viméâ¹ôÐé·4CiW«!„£ikéÒÅûo>xùry|(—Íf=Z¯×uÃâ\B¢(ÂqÎãR¾­@w²zh¼6Æ©Úb±¸°°J¥^yå•f³ùØc•J¥“'O~úÓŸF…aèyÞöªþ(Šîºë®Ý»w¿þõ¯ùå—¿ùÍoBlj»&¥ŒO 6ݪ½vÍ­DÀVÁ"Ho7¼T"[-7;súÄÙ?ù¿ÿß=ûö¾ûÝUªþïýΧ8 ÃÈͧ !¹\. C˲!aèg2Éz½¥ªÊ£akC‚|«4Á"†Ï ­­–uÕ¬UÝo>{ôøñ³TÑΙ@!(в{j—Je*fsuuµR©d3é°ÝŒ?—#"¤I`‰È÷¶1¢È÷}¢™Žm¹öÐ@áøKÇ.ÌοûÇÞ÷â±—vMï9yòd6?ðo¼EÑÄèÀß~ù‰7ÝwgʱÓÉÔ™“§ÄãÆ@ölІ›Ÿ_@$•NÌ|¹±´:·°xQÕÐÔôD*“;vìU7ìDà ]š??¿|zlç ¢«í‰ÌX3ªUkmÓHŽîHGJ$8 Ù@ˆ˜i/9„¬¥€@€çΜ9ɱÿðÛ~`£\:;{œ³‡ï¸oßô—Ö–žüÚç?8`¨J»îb¤*Ô¨V6¥¯ì™9¨S #MJ™`Œ A @ð[!ÐHHßíÔLÇ—æ/þÍß~qrz×›zC¥V?{þÄé /ÏìÙwðŽó+³ç/œž¥Fª®$6ÖꦚšJðHºNÒ´R*ÕºåX7Ò˜¸J}FÁ%çœDÈ+ÕW£u0³¬ºq ×.è¬sçáýk¥òRÝ_Y?ÛôZ:µ£J©Q»óûõšK4SUòåõËÕŠ˜:¸Ë“>0»A“‹²_]©Ö뛬 ?!·Ýi9¶—.]ü«¯üåÄžq/œ;yöüK¦÷¼ãÐÜêÜ­ô·l9ö•;W)AZŠrìäÉ…µsJBŒ]¦…AýÒâ«þ&9°çŽÙÅ—Nœ;zÇë'6Zµtª )oV-ep÷äž\º(BA8ˆÛ@ÃíöÆéñR¶ý¼U7±4 áÉ'ŸœœœŒÕ° Š¢Ø~âFïÿøÇ?ëë댱t:W¥º¾ò¤ ˜SQ"4)*=¸ÿ€“LGm'€+„X=H IDATFP×Qæ:yE!@øaúé|Æ÷¼WÏ{ǽ‘­”T¿:]" ˜Ôõf³yæÌY)Á÷|ÓÔ A×V1€q.åÌ®ÑrÃ,úþì¿îß¿ÿñÇߨT}&Ü@Ô­j­ùÔ×ÿ®Ó<ðÆ×íW4 À´1 ‰˜äRê~À›sc1]íq»Ä€@ƒa@à5Á°0•Ai®ôf_yéóaÛ¯ J²QZKæÇ– ¼T½_D<ËÞ‘Ü]ØFŸG}HXÔT©)€‚Lƒèÿíÿ<¿öÕ_ü׿ª†a"¥ƒ€\*Q«-§³&íæû{]¼£'Ä€·.r[!EÌ‚D€ûU®#Ü×ÈÈŨ–nÐA@ Ó‰%5cÊ óU( • h»5 vW3Y@€×"T#AhW—_=j•µ¡ÑA¢õhý§~æ'’㹓Oäl£›¼éž=ܘøô|Æ4͘Ëc†7Âøš¶ãØ­Nö!õ Æž¨D d¤ØJÜw=“z­648TÚÜ̆¾%ÐП»v«18XŒ³[‘=i˜Âc@B!€A†¾ŸÉeÀNŸ<ùö·ÜY/¦k¾ë)*E±3+‚.¦Ðe!ÎA  "1w÷á¢ØûBBàzœ¹mu»}o·0 ³¹Œªª©d »®Ë˜ˆÚ[ðžÒ_‹RŠ5MsÇó<Ó4]×qFt½ÇH×b ׿Ag¦må‹7-'Yi4«µFÓó¸D !.‰"Ž•P$à–$Sªªžßj£ªâG᛿ÿû¹„írnÐçÍœpÆ8Îâ\ —˜êO?þS?ùÎP4,S¯NLÖŒœ Èåõ)ñƒÈHñÓÅÂàè'>ùé|ÄØ]óˉ4E±R¹!8†a7ó²Ý¬û¾oºAÈ!eÁ;ßv÷_<ñâüì¹¥hhpGµYµ©IyôÙ¯ÿþG?l@”MQ&»ÝlT«å‘ÑD„qxÉ9ˆëµxë6ƸšÆ@!„R*•Ž?þØcÀûÞ÷¾õõõ\.‡µÛå3c–¾çyÙl–s~ðàÁ¿üË¿œššŠ'½ïëq-x´]Yàº@C&™»¼¼±{jÿòåµ}{ï8vüÌøØ.Ïyä±cÇŽa€}ÓºŠµƒGŽiU7ÓZ2•¸0{®XÌ Á•` ŒETA á jõÖÈÈxІ[ϤóÍN4<4Þvßóž­ÔšaªªnHEQBtܺi¨À‚î5ßðÀýÙLjcår2aÅŸ+ Š÷BpŽ$‘Äw2™,—Ë##£_xâÉýÆoþÆG~ëÞÞT«nŽ VkÍ»®Õjñ¹ÿök¿üóðŸ~çÑGüë¿þë÷¾÷½À…€ë ÅÍÏ/ˆÈoº©”µ¹±öÌ7žî„«GîÝ7÷µÓŠ™Ø1µgx|Š«k³gÏç CÃ]“˜ UDH!€¤¤+}ËË"Š¢b)zÎñqi0±!€&„@M1dóå³Oyõ ÷9pñ,#ÙJ:pÀa¸š¡õH ]eCˆÅšq°=ù½Þ°âm$ Ý:±@U›žDÅJ“Ù)Ê ˜¹ohæþþÿüoö+þZAßÑ©ƒ ]ÌG^Y±7ß_¸îÔ^=IJN±žƒìéUwAÔSx¸Ž C 7ÈíF\“I†I;¾WmxédA±4)Á @!$•Š€H† €é`=iƒ¾Ù* V+àèÉÍÌQ~‘ËÖ YºY®,&³Ù·>ö–ñûâKƒ{ȸY A*né©#±ã¤„¦ëðH‹8´âàc.p tÅT(ÐÁÁ¡µË«ƒ#cÛ46¯x„â-rëàû>’HÉ$L$–HÆyR` Â]…o²FµekÆ[¼óôéMÓ45U‘‘$DZª)]K{Œ)I8Š ÷€Ô™ˆˆBà6§ávû^nñ³V«µÛmÓ°Ûív"‘L$an%ÐÖž Ãd2áy¬­­%‰f³Ûô±ŒqŸÑ°ÝÐ_coˆ"n‰¦ªëN25¿´´ïкˆ*ˆw æ°(¶ìAT‘ˆDŒûAh©Z®0púÌÉ·¿ýB!%#RÆzHŠ@•@¹”\ˆIÀ%„ÿÐcÿ×ÇïÇßûÈÂÒì¹³Ïìž*”7/ GJ›!#ᘊ†‰ªXÍÊÈøQ+OíÞ{'B<‘Ht:24àvÚµVgÇ®© ´Ùú7Þ}pïîßþØѰAÃÎîñ/~óëþõ_Î% ””¥¬­,šî8N©TšØ1Õv]…j)Ùµ1ÒU­ÿWŒ±®ëµZ- Ãl6R …“O>y×]w™¦#J¾ï¯¯¯ \¼x1“Éħ„V«U©Tžy晡¡¡õõõ¸b"Š¢h`Œ]5›Û¸¾+`Šïñýû?õ•§sydh,ˆ Úì(@C?Z_¢@é4;,ˆÓ +Aà­®.¿å-F,@Õj¡a\D1æJ S¢ n'2tgp`|ý•SHÒü@e³Zª5MMgrÕ#BH>>=óÜóOïÞ5aêÚÓϼøØÃo„Z­VÂ2®8%jÌ5麮+J6“ZZY'òùl­Zq,󥟛޽§rdtDZ£Ï•Ëe‚D½Z›™ž’œi ¥ "® Üª’€â Ò›Ÿ_$q§Ý´BiªÊkµåÊêðø¸Ói×¼U_n«“Hši~~~q0?Ù©K·!³ÎÈØð¤Âœ0’#ÔS^޹ R ÀBJÁ…h ¸"ê¸ívËt]ŸŸŸ·Óš4wÕ—øææºfš£ÅQXs½‘в’¡õ•JÞ;¸÷nÁt"5$u!p\32–$”>".¡*¡ˆP?Ä[mwrl Üùå¹tÎ)Ž9v~üÒ"_Z^"Ì!%¨ÕË’)¥µŠ£öì<¬¡„ÛöQ„4E‘Q(8Öâ‹èº®@×XŽ8‡TFt$( %Õ°Sé󳜌•Í¥…©´knZ™„Âd¹Õ)›‰ŸÙ³ç×A NLÝ„ƦDX.A Œd¤IÅÔ–(ÄÈ#„"È ÂfÛŸõáò|*oGNvüòBtùòelò±ÁÂÍö—_ÉmÛUÊ„Y&kÛ¶ú­–[&„ %P76JÅ‚­Ú†Ï:Ï%Š^Úh׫A6=:1²WÇk‡ŠÐ©ŠÜ( ”Þn·ïkø¶]-ÿñ†‡z(æ/ô3^h8yòd­V‹×µN§c†išåòf"‘À˜a„h Ñp Ž0‘S“C/”Òea`ŒS5P_˜÷ê$üO<ñè£o×÷Þöè®—6©¦1_~ê˽lvϰ”J¥ñÑád2éºmá86<ª^õÑq\®„Lÿê¯þÆØØ˜eèú'lÙê7^žÿâWŸ9~ú\ÕéLÎÌä×6ÿêKOÝפªiH*À##Põ›äªÄ;†žþÅö89Žüêiœ5‰—k‹Ï¯-½8:ÄGÆä׿üTï‡Ì:H¡Z>›·¯à  -igy}:Cÿëb-o!ºlØæJå•áìdžžR«°&`EŒêtqäçƒôsýçsneqïà8°ºxqhÇà-õWJ†½–V¯@$ôŒx7u&{1¸€p˜Ä©ñ«WÒñÍG(Õf;íU––AQ ›Š@JB@’@ BI 0„@çpé25l{ 6áSï~¯ÞZßLÿòK_3 ØÚ®1!cg`¯‘Ïæ:à×ýÊú©Š3šiûÖ‚Ob%}ßòØ ü/þ×§LÓŒ‘»þè½FÉRØðf4A0@P† ’¦ Î×/íMíQ@[Ý\VBúÖ7¾õüŹ›©î‰eYBÝZ$)$tEàîš @’ƒ ûW#@',Ãõ&Ðñc+cC Å¥Írª˜‰‚@à-0HŠ®î)’XJ‹e„%²%+A¤@·n·ïíÆ9/•êóóóŽãLŒï´m[UÕþsóÚ݀뺦©·Z-¨T*®ë¶Z-Ã0úVÓ}”¡ÿϸ]7ܨi𯀠R­¾VmMìÚ„¢ ƒÂÚZ†ÓNšE^E”ÒT:rô•••Áá+€`)ú±¨±êw q–ÍçüþïÿÔŸýéå©Tf‡†ößyÏÒìé7~3@DyõòE+aUd!E¼ýñüâŽ.,]tœXÃ~¥ãB5tŒ0LÕ5ÏóT ªª...Ø·—b0UZÞ\÷ްš6ÖPòGÞþð_=õ´)å+Ïý×þןÈ1¯Å_«·ýN;•/LîœX^^¾ï>Ì£DÅ䊢›©qµm;Þá$‰J¥—º|ík_;tèÐ… ªÕj6›5M3“Ɇ±ÿ~!ÄÆÆ†çy…BabbÂó¼f³ã–eišF‰Eâ‹ä* éµ§T«Õb¡ ¨ªã8'Ož|à/-­©¤µctä«_þMÓî}Ý‘;wÌ]¼¶b¨”R<::¼oß4 V«†~08Tl·¯†g3…fÓ­ÖZ;wÙàÐË/X[[ÉåZ®WÈ¥%ÆšŠuÓŠ8¢ÈÒ´—½p`ÏtÒ66×W§'w%‰¹‹'gö´ë5ØR‹2V‚ ”Ƶ QMQÀÀÀ@­Þž5u•ø‰÷ýèðHêwÿS£#CµÊÆ…ó§?ðŸ1TȤà“ôâÔÄc†aä2Ùëzn _<% ä ‚G†fîÞ7¿&W–Öü(Q)–+vÚšÙ?Öòší@1j¹µ _F*„´]­Þ{ç›D dìüúJ-eæzu!`Ù5vB—2ŠX ¥05{dh,Xög/,Mî[¯.•j+™BbjÏàà„éù-BX§UÇ‚"NÚMsm|xr89Ùl‡:6W@€”a@ˆbBrUME\„,`Ô4R3»¼ôÊ #; …! besÑ é¼>6yGµQÅ-\¾h؆¦Ú«Kuæ)÷¿î- 5¶‰PÂLD‘Qè».Ö(¿A–âªk! 5[óCÏ ]•$TÝN¦ Lz'OÍîÞ‘#.BOÕÅȨ#ŠÜ’M GÆ2©Ôª¢Ý´F†öeÒ{åP!$$Šä€8¥‚Ú˜ZŠ¢h:;.áAˆXfz÷Ìç_yvp27:0”¯”¿žÎi£“‡ª&|³ý…´+-ì‹S`†¡¥“NT¯onn¶½2Ò859¼3md¤“ÑíÊùKç5]O& Ï®)23>¾ÆÚÐ÷: ›››~DRÌÌÌ<ôƒ–*Õ{ïCÏt ËÿŒß¯(Š¡+››ss³Q) ªªÜ(ìVÍVg×ΉÁÁÁû¦ ¯»sÇj+ZÚüÒÚFEwrÅ‘‰&¥ÍÆÆ¿òâ¡É±©‘<ÆTŸj³ÙqRÖkí ®,¸åÙ0ОÙBHb€[¥ç^xö¿ïݯŽžj-J§Ï>ó©0Rò»†‡÷ÙÎ8Õ%o"’0zº‰qÅ1·gŸïÚÇ#0ã "‡ö@Ö(Ãùoûꋯœ}uõ´–«³ÄüÎÖ“ôž{Þ÷áw~⃀¨5šC;†YàR-qóýB|kö; ¬g)¯´(íêÆã®Ç(˜l¿T¶Š1biHM–,0x§NÀ¿ú—¿p®®ÐÁJ%Š ·ŒË7tœHMk€P3«·j­êÚ£ÃúW6”Q¸ÍUÐlP®¸zb ("È0ŒÅæ|ÒI7ÿž¸»£„Oüâ9ptÐnÒLOÕ†D¼Å u]ÍeTM8ŠêQ+X%€ ?€PIQ¼ÂB¡ðñßûÄÂÂRwHn‘è/U1Ð@!]ËQ$„€ÄJuxÛäÊÞŽcÕkíüxæ=ûO¿zveqihx´ÙlPMë Ä# Ý $E?¡ŠØZ%%Í$(˜¸õö³ùvûn®ë@"‘( ¹\.Š¢0džçŲ×j.¤ÓiUU³Ù,Œ§R))e,Öp…a;ÐÐßO¼6â€éºÑì¸–í Œ-^^fį¬m´É*q„ Ùó•D5êU,˜ŠY†óókéL2ÛÒbYÊø%Â@¢Ø\!2bÂy­Ö¾ÿ¾G¦§G~á~á·û×W/ŸúÍÿîý÷ÜûÇŸüÝ¡áíNÉcõý‡f\¿sï}bppwq°èú-U#„H!K$œK À9·,«Ó¨éªNevvö‡ÞùËÐu]_XZ¶S™b.].—KåÊC4-ýß}ø#¿ýÑX:Re€€q¯ùž©©†¡MOOþ¯¾@)‰o„$ÈîÇ àµ„‘í{8ˆ¢HUÕ<êt:„z½¾{÷îÏ~ö³óóóÕjõÉ'ŸŒ™š¦u:ÁÁÁ˜¹P«Õ‚ ( «««ïÿû)¥1ެ(JQ]u‘\;û×Î0AÈÔTŸÉé©íŽ{ùòÁj>c­-ÏíÛ³c¼¹±æØÚÜìK7fvïZ_|ueu¼°¸´cl c°f\™ PÐï=¤%’B’Œƒ¦ã={'//¯•K«º¦§s¹f«Ýh7–Av:'eí9røà_øk¿Y}û£Œ æ—ç%c±îŠ{º€5âœÇÒ\RÊ0Œ†?zþè˯¿çuö©ÿb;©ùù¥"j½ãíì?}L„¾ç6ßúæ8‹öÎL뺂uŸMz~=ä[™_$q«ÚòæX¹”=°°Záë-Í2}ȳRz ±©ª!ïl,W'«h«ÅÌÄØÀs1¤iº”#$»}ÐýF‚À¢(‰P&vï:DukicnõrÕJ;…l*­•õ¥¦»i'´bº¸x±\LÕ6ýÚ†»sìàØð´IlQ¤DH",B)9ãеØ\¡–à“ÄÌÌ­ ðE}aiÍJ¢DVMç’^ØZ+-YŽÖéxår}bdªQñ•hlhïÔø!¨˜«*Ö ¤@’KÁ0RúÖ›½î cDÚö=/DÐHhNz$!xióÄ®1?Ä¡P¹@%!°FyÍV330³¾î]^ ‡ ‡ÛM ° Ægˆ I)=N2ŽhÔp˾¤ ¶–°<Þê@•Z~­Sgœ¹~'*x®”L(ì.Nª\a¨ÌBßÔÕq¸7ÜnßAÛŽJ÷w·jÏü©Ñ088844488Íf“òºtRʸִÑhÄ~Ñ©T&rCŒ–‚3Ì¥ˆp$"‚Öiû µ53 ÈT ¸¾=ˆMkzL{aYÆî™©rµ’K¦öìµ`º^®¼rì%$c÷cÔ-4E3Ó»ÇÆG–/¯¶Ý°O§ãœzuF½ŸÖëõL*•Ëd0ÀGë#ኣŽbX›Õ©ÍÉ|æsŸ?ZHê2¨o¬d2™|ðõ÷¾ÁIZ7sMô)»B½K%ÆAnoœû楹o8-½`ù¤©“7ß´ÉŽË4¿Æxê®×¿ƒ¤v€hƒÄ ´Þˆa D\“öÕÂq?,—Ýr[.!à h>s᯾ñÜß}dÇëöš‡ÊÑE”iºëësË<ö–~æ½û=÷LÜ+!Š@Ð[é/—’\S:¶—<ÄÆ$$à x h±ë–L80 ÛÝ 'ß­›„,2YXX€ÿø;>¿X=òº‡/µ4ߨ·gg³z’ Aëm•¬éEÆ`››Œ¹B¤¼315ŽÖwª»j£¡Ê@ׯª»éÁ¢Ö¬$½àÙ¢“×:a{©ºÎ% é€s“7Ž%ú +‹Ë4Äå'7$5P‹k‹ïÿå÷×”z)Z?8~â‰\&o+ná`ƒ¿ðéç_xá…]㓘7DF·"üDÚÕdéæ0 ¹U¥ÒÕħˆÂ1h…d©T˜(ž:9 ,Ú¿{jqiÑ ƒXäµk„") ««0! )AH—|o§2ç@ wÏî6Öp»}7Ã0섉1¶,KÑh4(UcŽÒµ ê˜0_­v¤”A8Ž¢(ív;¾õn][Lqý~ÀãÕZmÇd~Ͼ½§Î]Ùµ 0ò!#) ö›G"Öè´›,ô ™$D^ø‹ós÷9’NiÀd¡Ý+`HHˆ)ñø/R !ct³ÔY[azgîmüèG?òÉüüûmã«ãc÷ÿôOÿX:9ÐöKT 4‹ÿá'>vüøl:3³´8Ë LÔª¬\Y×ôD*¥–*BTι¡Óf•B€ÕÕÕB¡À9ït:S“;AÑV––rÅábn³Ö<²oú3òŸUŠßMšªË:éáÙªÖ¨¦ TËe@ ‚°ŒcÁë¦d¯ øãÒu]Ïó!œó\.7<<¼¸¸˜Ïç]×½ãŽ;‰DµZm4Ùl–²¶¶V.—MÓ´,KQMÓFGGcaÎyLa`ŒõTU (¶ÏõkRWþ?öÞ<Ê®£¼ý¾ªÚã™§>§GI-©5yell° 8$Á„˜áHrÃ#ÉÊD !!ë‡ç›qår/!Á97äBÂL @b0xÀ–%Ù’,©[êy8}æ=Õð½?vw»mKŽxÉÊ}ëEõ‡ÔjIûtíÚ»ê«_ýS­×ÖšÀíÉ£Žgÿùÿü_·Ý~Gu¨:>^Ÿ™™áÌª× CåR¥èìâÄcÍÕó<ü@¡Pzâ‰Çßù£ïdJ¥ÂòòòÅm4««Ëc㣚rë­"Þ|Ó¾øŸú=¾{ßþZÕ×fÐîömÛ6ã\ŒT§c>Ü\Y°Þûóï¾îêC¿øÞŸŸ½0SÊç •Ø!#“檦ÒDä*ѨÂ|1?16²²Öœž¹pà ŽK¥×¿ö5+këgΜ«7†I ¾ï5¯lTKÓçž:ñèÃ/ÏÍŸŸyÁák~ìïØGÙæË`p“õ~yãˬWÈå²Àk¥J±P*žžyüÁo»ã•·-¬^ds½·jgE”Ä͵î‘{¾õä²é¨koºVF¬”«­®¶Æk;›«mGl @ÁàF)‹ƒAäÙŽí¹J2%ãFu——-ráüóC_ªOäj‘oçdÆÍ8™Úzkñ¡‡ÊñF}÷èòÌé^+Úsórfxi®;^ßuÕ„ cÌi"Ò÷3`;Ž&Q¬t.Ó¸õÅßuâ©GNœyx½Ýa¥!/˹eŒ™›=oYUFN}Ü¢â¾×‚r(á¾ÚJa¢¤gÛ¶mƒ}GJÛï*çwý·sqbUrÃåbßRŸ»ï¾ñù±ƒ“ÅFIGA÷[¤QåÒð“O®--š—¼ìp!¿ûÂÙµz½ª¨VÂÁPÌ0®Á6à‘B°Œ@Û± ½~+Iµ2Ñ IDATT.[¿õÅ/?zö‘ÇÏ=¸Þîæç–10á<·Ëì/i¦Hl«õR³FCƒÎ`r×¾ÑcÇN=òر‡»ýÁN¾Ó/æ:r^â`yyq||Gƒ سÓË.« —w”3#Zr-¡àæH&I4(rI¢¯,šWÚ¿kxîÛ÷í Ϫþ·~ÝÚ¼ý+[jRµõõ–=/ì Lí;uêÉ~\}õÕçξ÷ÜÛô™†„¤×íUóe›é¥ 1”š¥ä›1w|~ùž×~d¢ @{%ðâs VBEzK0VÐg@kð~áu?wFžõßþ×C§YŠRTK#FDPåòÙÆiÔ dó¾iƒg÷¢¶²,Á3 ú`Œ±ó LÌ"`fã¾m)´Ó/¶¾óì;l8€Ø1¾ãÔS'ëW%29zê±ìP.[ÌÿÖɂɪ_E`êõúßÿ4Ø4]üNÕÂ[\¬(ŠŒ1@q ¶@d Þ'ð¼ "'`ŠHj05" &dý ÐŽáÆƒGsòY/Ÿ›Y^ò‹Å8Ñm˃Nφš@j%Râ–m€Å|Z·,1h#8:!pEÓx¥ý›·ôØù¹á©cÜö–~gk•B¤A[ÀR*5ÿ“BJ)SÂ¥|”…žçH)…½^/-ÓEù­›?X.—[[[Ëf³ívÛó¼n·›ª;ÎE¯ßj·w°°,„ zår‘&aˆhT$§mà©ÑTð­éÓOÜñ²[Ξ<Öm­¾àÈA/Ì{Ûò&C:ï™|>Ÿ$ª×ïØ®„}n‰A0ôF†÷åóÂÆø¶[wìß{Ó‡?ôg ÷ŒÞ¾¾ê%aÖb…nw1Qñ¼þ§>õwŸê´á›ßWTdZ­öÚÊÌ™3OŒÞxäðg>ýw?ýS?ù×õ¿î¹çž×¿îûŠÅb«Õ*•Jù|þÌ™™Ý{&×Z]4š Æ˜`Ä e³tºÆØÍ7ªVNŸ9;wþ\¿ÝnÜxýÕÄ…!|ä‘G¦ŸR­µÕï½ó»ÿä?öý¯ÝÙÓ§~á~á=?÷îB¡ÉxÀøêÚšïûœsËI’\æø"¡¥‰c)+çîžð3ÙB£½ãc¿÷§7¿äú×îÉÊK͇ۓ㕳O.Dëûn©î´˜3èÆžiw;ˆéÑ÷X³± À|/€IÂ]‡û24+_³ï¦ÆÈØCG¿úøC7vdö^=’q2=Ñsxò‚÷|ëǃŽyé‹¿s¨22ãäM‚‚ÙŒÀÑŒ$¦Éu3F Î@Ș!ËzÂ×2‰e|øà-;w<ôØWOýÖÌ Û»ol|tÏúÚòøðˆI¼úòƒ®9xS%;®Cî‚K i£laq‹# ĿԶ8I’ôÞnaCD¥tdT6Sê÷;”%Ì9¶Ó–꫼ëaqåÔ#Ï M^516–iŸ¦Ïœ¸ù¥ßõÀ7O..fºÝµnrùªЄ HA¢QkàÚ€2h sìl»=Èú¡±×MËqt´”QÞËèäøC}õÄÑGf§éÀž±±±Éµµ•Ñ‘Ëﯕ3L5¤¨##uB–]¸jß ‡»fæÏž{êÌbûì-ß}°Ç®“•¡©–‡ÏŸ]áÊÛ1159¶Êò…“$R±mFàüJ¢ö•ö¯ljãØó¼ RrÜó„Uýc4<÷³ÓïÜqÇ®ë&I¢”ÚR}<ÁuZ¥–WBˆt*7FÆ0B) jf€:c”ä“&–ÑŒ1Ðh#™;õœ'Ê€€½“»Ÿ8q2_,¹áÆ©}W[ÝäÂ=zü4r '@BÜò-¿xpçîáá!ÅÚu³NËϸÏÐóoZH2ˆÈK4†jIÐcÆw,aÙðSݱ‘†mÛFcqy©·Þ|Á¡=µÆÈÙ¹n´:{Õ¾ÝÊP”Äa"Y?²]ëy€†ínÒD,220,Å¥ßýí_yÅSž"ìŒG¥ã™µµ ÍV¯R™˜Ü;¶0=üÐ箾Öñ‡Š@6@i(€¡•—ÁePŒÀDIˆÄq!A˜­=5óð‰³Þù†W\h>¹ÖëaÖ­Ž–×£57ëž<=ïÛ01éɰý乯ÿÛ~øOþêÞ÷½ó·ÈdlM›Rÿr 7šŒa™Á ɉ!È—ŠÇÕj€æ×æÊÕÚËÿÓ÷tÚ½oþý1Ä.8&„P‚qâD&“Ù¹cÒ¶íL&“&^ôs£(êtÂÔD°Ñh¤khŠ5l¯¶–à”Z˜"q@¿ß_YY)•J½¾ëºA¬¯¯ÇqØétN;*üB$‰X¤QóÌ Ï÷™¨¥Ùs*ì˜ÚU-€N<%š‘ÙF9dÐê5mÛö2v.—„ëúZ1)ÙÉ“s¾'¢Áz>cUJ¹Ý“/ ÅYqôÑÅ8!ÝB\5Z¨¸…ÜdeFFöçó Æ|iŒÖRŽL1N&‘½^Ðëõ²ž«µî÷ú\X™\aii)Š¢ùùùÔ;Ór<Îy6—·ý rFŒq–¥Œ1Š´)J««kNgvö¼”q¿gŠÅ2„ávëÖpo/¶ŸcRUK±X ‚ছn:sæL†_ûÚ×.ZM¥×u=ϳm;G"Ú¹sgú`¤G;RJ€ Òûs?÷y D.À@œƒïA¥â*äÝ3O9.ôûQ¹Ü>¸wïèhCA²oßÞ¿ùÛO ¿ï}¿øž÷¼çwÿêÎNïRoÆ&©M"Fˆ’W½ê޹…ù“§Ï6=3]*UªÕê Û½n¥Tø¶Æ7µ„äd£f‚˜oñjl×ýkÞ¶´>óÕ/=èe­©CûjõêÙéóÇ;sÝÄwVòu‡yd8#É…eq‹¥Ù3-åë©' c)”XñFn¿ù{ÆÎ?tü«üãÑ©C£cû‡²jîì:H·V,—2uÜD ¦Ñ(MPj Úüñ° ˆ 1åŠ"Ïûv¿×昽îà‹ÊåÊÌÜ“Ëçƒ$TS»¯ö]¯ªŒ¨¹ÙFÎÆ3ÊA`DfS†B”Êj?Oqr DL ±ÐX@Ï×@A¹ÊË”ÄúìÊÚÂý÷?9ZF·¼xêÜÌŠ’¹|nÔójÚ¸ZmØ`mŒ£ J—Åy‚@Y@ˆxJ¸B#r¾èëó×|Q­Tœ»ðäò…@…45y­ç]n ÓÁB d©5CRž]0k¥-!Ê9[Õ-£<Û÷N›nì(ìÝq ›;¿º<Û«í»vêzJlPÂhàšÂ+eÌ•öÿ™öï-ØJË€Á`rRF_Š \ŠÑ† ¤ ¦"MæKeZD(í ã²5P6I\H„TƱ¸Ôʠд‘1€@šÈ¨”vøðáÿýùû,/ë;™¯ÜÿÀÑã§W×:^¥PDBbÜ3Ìd©+ägîûr¿½^+ç-2;G‡HÆïÿå÷æó¥8ͦOÁ¶Ä ¦%ãpÐÛ?µ'ô’(òÊõ·þè»cž7×i­6ÛáÞ}SQ¯Çr½Ýýðïý~oñÂÝïûùBÖjŒ$IâzžÖú¢@CZR¤pÌdcP>H9* 9h-˰~«ùÖ·¾õ¯ÿê7ßt×K\^ž›w9£ÓÓÇ˵r¯×n¶Zİ&ÜB±F .œ?¾?·Èô¡Ñ€ 1ÑÀ@#¦âÊàÁpÎD"Áõ!Jˆ ®!þÆ·þ9b݄喻Ë^!7ýÙ¹Þ…¥ÅÝz1yæôÉÙ áÔpá¶Û^øßû·þç=_\nwËvN"q£/³¿¢ É m8$ÆÈ€áAkeÅl€€‚W¾ýU¨·Þk™u7ãd½¬ÎM‡nÚõK»~üÝ?þ«¿òZvh¹¹÷…{ïþXų˳S×î•R]”ÑžE¤¯ùÖÉ- 2Ú6ˆ'ÚhMÒ 6@\€(,fÎG`H¼”ñ½G\=÷0r3Ù( n>rx¦ÓüÖ§\7uüäÒÕ׎,/ÁÂjÐhø‰!@4é3ŠL* k`Z9 Hk0 I‚4 ®¬ÐWÚ¿£!=…~n{.Ü^'=”. •J¥Ñh(¥0 ÃK1òùüÒR?e2Æ:NÇBˆKy:ض½õYý~¿R©!¢(JA‡‹ I ¹½S»ÏÌÌ.,Í·{g5 £M™Ù–­úz»ã»½<ýxÞ·¼èưë«‹Cåƒô¨ÀÐ6y£”±12–r0tzýXêX’mg÷N.2õ5Òrrbtïî›Ú­fÁºæZ0š%ºédT6­ÖÊ™Ó(>ú’ÛzIZndš3©I©uâf³YÓn·5`§ÛsüœÆ„­ eP.,!g€ žºIFX6¢R©LNNÖn« úóK‹#cðé|±EWÙÊ…g*`ÓûŸòVr¹ÜÜÜÜ¡C‡¾öµ¯ÍÌÌÜxãœs!„eY[Fž)‚>BI’„aØï÷ƒAÇiJEš”™^ˆ„)â°õÑ[<—Bš ÀhcŒÒÀ…kóJÉ÷=^)_k Ëb–R* Â( HÆós3õ‘ÚUWš››ãøÃþЛßüæ·½ý­ðËžÁ"ݼ>¤ ÄWƒC’L ”1µj®T¼ÖÀa I ¢(Jò¾$jeyé¶ÝôŸûß/¹í¶O}êS‡®ºæmoÿáw½ë]‡^^^ž››Ëä²¥b©ÕjÙ\¤^ÈÛ°ÃÝŽï¹öîݳkW†½`DZ&k½Ú\[Z¼à»îÚüÒ ®¿nnfzh¨úÉO~ò®»îºó•¯üÈGïí÷û²r¹ÜÖ­»üñE0ŒA†«ÑÎeîú~&“aÀ(ÕóAou½ÓÁœÝј*øeRLF‰RZ0EŒ€1›Œ†MÄ 2bÓ阡a€ÀСçy1Ø{F¯±,çÜ…ÇÎ,Úztd|öÌtÞ«T&ó~ÅHaÁ$™á P#3À (M—æ†, €m$qèŠÇJ±’s \:³sg×g×Èå¤t„ÅáÚîJfÔ¡¼6¤µ‰ˆ1Æ¥‚”K'ÛäÀOχh@bŒÈ!†| %*SØ5š¦ås K§fÛÃmÌœ>9`ÖP©8é8U™˜DƘR D­p@†ÄOÂbÃBžq0ŒƒÅMàÙXñJù]Y;±fÏ5g×ø’¼üþ"Ñ&Kˆoh­ç±$•HîÙ'[¯d9æ³ù܉ÙÞúü@¶ÛZ›Öj¿à Uvëc†´!ФÉjDƒ.UWÚ•öhxX¾UZÝwß}“““õz=›Í&IÇ1ç<Õ^ªP㜻®ë8ÎÆ&Ѳ9 FàÄ0õ&›>öY¥ì$F©˜e QŠƒÐÈR™'ÃI¨-{ú$ŽÃ0,—«;÷î{èØÉ»Þòƒ~¾¼0¿äY63Œ³4ð @µœé®wJyoö쩜+>ó7Ÿô²ŽR  !hxÎR )¥N|â%·½LÉ8ãù:‰P˱±jyx§•)÷gÛ*‹½ÁàÈ‘#áÚ¼e;šÈÏän¸ñ¦ã'ž¸þú#þy»Ïé:·EÕ3Æ(M`$jiŒHK?`,_Û™tozËæÓ÷ÞqÛÕí69hŒ OMÝV(V›3¥JG›xiyÎsX&[˜>wfÏÞŽ°*D’s[†rÐ:ÕKH’HƒaÌ0Æò!JÀèω8âüêÌ577š­™B¡ÉU«v¦26”ªÏçŸÇiûì:::jŒIÿW[6Ïš!‚0$€Z­2<>–/TVšíP¥Ár2[Š Ü< 5€€ŠY¯ßk1-¯Ú¿7Ÿ¸ ôyxáLÅð¦1< @AÂPšÚP#‘*ŒbÇr\¯$*^¿×éõ#“¤mYN¡æ«tû‹IâNMÝxøÈuµê¸íæµFid„À‰45×V”Þ˜”<×ÎJ;vNv‘!°¼Lµ1’)”<ÏKƒB‰¡1)‚fc ¥îQJ™'Nt:Ź Že—˹ñÑa¥ ló¹ØÓíäÛ½µˆÈó¼V«…ˆœó\.·{÷nÛ¶{ì±ômigRжZ­n) „Žã8ŽãyÞÄÄlZK¦þ­ÛÚ§¥Ûãt·|Q©,Cc@ƒÖJ“!`‰VqK©uGIj“„IЄA`¤"ÒggNÝùêWu{íÏî ׿àÈŸüéðƒüÀ>ðë¿ö›—x>yº3Æ ˜ô€Y÷{m©L’H©ÉÊÄa”$’¢duy…ˆn½õÖŸøñwþéŸþé‘#G:ÎÞð†|à÷Þ{o.—ÓZWË•õVǶ,0Ï<÷ßä5¬®¬0ˆKE‘2Z0޶ð!¸™9wz|lÌÏØû§öLíÝ=;;»ÿþ?ú£?úà?ø®w½ëãù—óKËyŽiú팯!HgˆB1éDƒ`d9IÀƇöVÊõùÅ Ož:½´2S¯ÚóBßÊSb5HÅSÜ€Êhí9îÓÀÍæŒ˜Þ0êN¡=D$Ît ad9Ù«wÝPÉW~üóg§›çÏ[˜Í—ÅLƒ¤É”¤e<°¹§ØF½LÀG°Ø–±kªÖ0„ Ä¿˜ Ûl8ûF¯Ë[µs³ÇÏ=q4NŸ×vŒ 7J“.å€d$3 gÆp`ÀìÔý™6ÒÓ/2]k@à ¸ÙÂ1SN‡Eätúd{ó2ÕzÆqª½æôù™³gO=¥0[jØVÃWJIˆ0’‚IÃ1 Qn €¶,9pÓÁ‹ ÄÅ\!¤ Û]r÷Ž]WbCÓ³ÇÎ>ùD”„—Ù_@0H„&ÅzÚŠP%¤#ÃTˆDŒ—u‡€³«­äÄé‡/Ì7Ii‹»{÷O5JãÍ¥V%—##‘˜#˜Ñ\¦‘™¸²ø^iÿQ€†g‘Ów¡P(—ËAŠ2¤ÊˆKL©–ã8A¤ §°¹&m@3ƒ(@mM´¥D,Á($I‰OÓ½A)ÜÜÄæó9Çö”Ô‰¤/åþ\eT/´––3N†€&„aB#ä?ôÛëvƒ4¹ŒßÕÊšd}¾é¸9ý¡­ˆŒ’‰:ùÄoyÓ›[­õJ¥4·²þïø¡Ï~õ~üø¡¼øSŸüÄ/}Isu­`ÓðèèU·Ü`»žåØûöíû½|ä†ÞhŒ¹èDœ©[ËۆėÀ$0ŒHE@È9`¬$B2ßûÊŸúä_þÎKn;¨Ô:Õ¿ûÛoÖ†GÖš§óEhŒä8wrÅhÞé¬ƉT˶Ã(´×¶_ H!10ŒÑD!Q“;ý•\q×úÚ Þ[šÕ§NÍ..=î8¶åDo|Ó«žŠæ±xêøâ½á¿ŒÃ‘ ç¿°:5±+î Ìe÷—pƒãgÐL)q AF?ý³?»Ö^ŸÞžû‘óñì?<øåáááÅÙ¥z¦^,çß[š{‡§Ìâ`1ŸÏïÙ¹ú@ÁÕ‡®ûó?úóF½–-Ã$Ã8iÏK‹ìTîú®?Xoò^‹— ÓÍE9±#óéϼ¶~[ ÌY}ÃË~›VZí¶…PÏ;;œÞ—?¼÷å#Éc‘áİÿfM–f Û ³´Øl Ï÷çŠÙrk¥;öDcâö©[WO7Oœ=6ßœí©îéÙ“ ­yæ¡cßÌý'ΟoÎÆ&:yö‰nÒN’ä‘ÇÒé]^KàƒWjFÍ…æ’Ì(põȵ#9Vè«Àg²¸;‚XG]™èåæÊ‘›®ëƒ‹JRˆak7µ±ƒF€ÚÒÆ K‹Y ˆ¯4[‰W@·èKÏcÆAma„&ŽÖWó/Lb`[^¶Ô]YiìÛ»tîìUÕÊß{bÇpýÉ“ Ý^2¹£øå¯ßs`J=ˆt«Ý]m­ýn c ´!i ÍS‚é¦sØ áJû7n—#ØŽ/<hH¯“êó[­V¿ß÷½l¯×Ëå ™LæRÒ‰4¥ÂqœÏ~ö³ËËËív;—Ëõz½-Íü³N\S¾Ã®]»lÛv'}m~oTu IDATSþE¯ŸËå‚04¤zN¥œuTÞÓµ?’I%d–ËS+³ _ ]—ëµ…E΀ ´E$FÈàÂ…9†ˆ™\>Ãýë_Ÿ¾pž”v,›!”D!#Èçªíu•Í—‚h]Ø2NÚ#ãCž—šäìØÑ\.óªWßùé¿ùÛz½vï½ —¨¢ 2H "Ôšã̪U‹At:Ý$”$@–õr,Þ:yêÖ[o=qâÄc>R(~æ§òÍoyë›Þô¦N·„±TÆc"Õþi­ G‘‚\èÕÆs{öLFQÐëõh ÉâÌ#cHž>}rxdD—rùœ§#uîܹƒrùO}âS¯{Ýë>üáßךÒòuqqqrç®A¯ómŒ/*¥‹s&2\[Ê)4Ú€œS 5påɰ•Áõ\¾QtFP ©’ôçæœk£t¢”R®›¦,™M¬mZ‰†”¦‰o– d‚0¬*¡,NÏÅŠ]»ûæ¡ÜÄé3O6&† #+=¥)ôn1“$„` 6ÓÝ,@NÀ6×÷ôv ÀQ¨$¤„(²ÙÂX)c¡#,ƃ¬U:”³‡âª(D£}Ÿ!K53 ÐFB$Žˆâ©a[Ú®íó!#@T 4•Z­p ¶WLdЋQ¢‹8êû–°^¸äúy!FÉäã„”‰¸`dPÊ€ÙÚ($R P+Ô’Ði „Aà@€À@34@BªO¬l&畲.¸ÜƒärûK¨·áfã• 0JIDÜ–Z}iˆ€YQ¡Ìž=#l¬ z ÓË@Ñg9îH ­5d`P£Ñ p®,¾WÚÿÿ†çâé|ûí·§²Ïn·†a.—#¢Á`p©‚†oænG‹ Q¦á Œˆã†Š @Øš¸ÒHÌ*1D.ˆl$F ˆ ‘!Ðé”åy^«ÓîöB8åRM¶Þîû™’J41® &4 ƒ")hŒNÎ&´Ö˜¨t{•ê/•òq°­.ÐÓ¿I)±ÕZ×Z Á]× ­¢©Ý…jýWëw_|ëí=ñ#?ô¶3'Oår¹…铇_ró˾ã¥I¯!byµƱ.]´Ý~ëÒ¹ Gm™ °C2ÀQÛaKyΔŠr–Þx×{>þñßüÞï½a½NNÞñâï~lŸœ_~lmýÔ h)Iëk+qqF2Nú¶ŸÔREÜeܘøÓ›‰D„aL 0(Jt5(Ea¶wŒOœ<9Cá®W¿ôµWïx¡„þÝ÷ü_ý³Q.(ž~hæoýåÝù[VšØ¨ìŒ°¥âÔòèrûK›L„hëor¹œQªT*ÅV|rñ©±áñ¥ Ë«ÕÕ£;3ÚYZ\[ë­¸E'Œ 2“õFGG_û†×ÔŠõ‰áBY/{Ñw\sÝA@ôW‰4!’bæ.À›ÞøÁr©AÒ4ÊÕ¡êÈ.5ºÒí­vw2ÐÀp9Ço¿53sl×ÔX{àÇqÑç;n)ßuîñÿÒT3rO] 7;¢8lX°£`BjYÊhÁ…Ń7_óKßx_-_yâØ‰Ý;vkЕJ%ïç×Úk»Æw-7—3™L½RoõZ{wïm¶šù|~rÇä 7€K+rŸûº®,4…g1—TÆȳáSÁz</ ÕgÃ…1oăL³µîyžPÑÆ(<Ï»¿µwڨψdiФ¢4Ü Y?ŠíPqÌ, 8׆ CŒ€±N§ D†aؤ¥3§ÁµÁ˜W¾úƒŸÿÇññ½ÍµÞÉ3ƒ×\Õ‹‚„ô Ž»á 3â(–Ê€2À)}†6!†˜" + ÕöïÀìÛzžõųèZÛÿJ)ÕYi;w.ŸÏïÚ¹;›Í¦QˆÏcÞ\¯×ï¼óÎ^¯—îjµZ¯×»0‘š¦šÿÔÿ) ÃçaZ–eÉÄbØìv˜ãh­É^¸07:2žîC¸Ù€Jˆ£É00Ïâ¬ä ÒIÞ³ó¥B¿ÛChЄ`°ZmXkɘp|7“+~0|xl¤”/¬®-Ë8*æ³®%â0qÂÐbá–½º¶P,¹†d½QÑ„¶•3Ú!-Cd¨ÈÀr϶]άõv+u²_XX¸ûž_ó}_JiŒÎø¾”2Š"϶djðBéÖYº ‚`ld4—ñ_s­-:O¤6Æ0Ú¾GJy®ë>w#ºQ ‘jH£(*‹ËËËcccBˆ”•Aqo ŸmÛ©Gƒëº[Iáé•“$I- S!5hØþ“l_R:A ˆ †Ñ ±Œ¶DâWÝïY[Ù24±Œƒ(ÝnwÏž=¡ º]^©¸¯yÍkî¿ÿþö sÇß±MOúŒý#d€fÌ 2ˆÈgff…Ží U @\j“DRÊøE/¼±ßiïÛ³; Ã|©|ôèÑ¿ÿû¿ÿÈG>ò‡ø‡¿ø‹¿84Tm6[DÔétòùüêòJοH<6‚Y^^”*–R"@6ã1ÁH›„äžÉ]‘áY~P·Û½áú÷Oí³¹ýå/ÙÍøïxÇ;Ž=6:1>V]^^Éúî·3¾Fê.‚à‚ .,ι&F ™EqÒ‡„—3µòÑ`©Ä²…gƒaHœs!8爜£Pm†(=5¤PÃа®KŸO‡skfxÞ)Ùܹñúî±ÃaºŽÏS±2È82ÁPsL!òt„92B½ag&Èl‡ ãÚÝn‡ëź1Ðn·ÉØ»jò{÷™Êûb_F H¸žËX„œ€iâH¨-@d|ó‚—4¤ä ‚DÐ 4€e  –FƒƒÌ!ƒDʲ­RÝÚ×5ÚC 8¡@Y 9•ÊN8AšCh6N­ÐS€ŒA ß­NW¡®¨L¿µ.”½£¾/Sô{Éåö—h@óÌu`À ‹ `œ4—QdŒá–°yVFñXõ Å!‰ý^Û³=S` ›1‹§àašÎ°+•Ì•ö‰Ñð¬+…£( ‚ ]Sÿ…Kñ?·€†n·kYVJåœË$[!€ #€â pE†!3âènøÙl ¾[ë«Ù³g¯ïgó¹âòjóêkŽXÂ%”ÂÊDq€šiä¸Bn€0D¼0·lÀâ¶“÷½ µrëKn†ñ3 ^·í&IìûþÒ¡úݶ纃nÛµDd4õóïúé»ó¿8|ÓC|Ý¶í¹•¥Ÿøá·]¿ØwÁ‚‚ŠÂ(ŠÆÇÇâæyþû¼Ý2‡ GÈ10†G€0 Ä@{,4ŽŽÁñŠ&š”o¸ëü'¿ò]ßýýO>Ñ~ñ­£VÁ·½~0XXlNŒ»•jјid t':Ǖ₴~ÚJ'µ)ÞÀõ@#d¼L/QÄe&ïÇqèôã3o|ÕMT^\ƒý­”õؘ=ö¥Ç¾õÿÌouׇÎê=;÷ÏÏÀîÑÒzÛ/7xñþAš4OÿHi¼eEZQ~¨¬-€<€ `×®]ýÖÀ7|th,Sô%$3«3ˆ|vvþ/þüã»|vfzbh‡oeš«­ Êå0E[Ø !ãbXÆéÿÓƒ?5s>ª–]/çÎB¹¯{ÍgÏÍÍ`ŠYøÂ‡ß0–‡pæÆ¡’Âz}yVyÒýÀOþútã©Ã×øO¿þQ¹ŽXq/Vô±F}äÔ™cVžÛ5÷šƒ‡XÙþÊ¿úÁw|èÔ…Ó/˜¸nzzºZR*h///æœl»ÝÎf²ÓÓÓ‡züñÇ:433“¯.å©64RiwúM¯ßëèN¾P¢ví,—Ë:0®—qÁÓ‰VJUËÕf{ÍÏyÏ?lGcÀ€0C@†€2e@dÄxúB éúÙùÅùš—:tpåøQ ð«Õ`}í/>ûY«P¬ïÚ}ß—î‘Ëe+*†õö,£ 'D¤Ò—ÌFìf "]Yš¯´÷ö\Ÿ³íxú³<1ŸÏ×ëõjµ*¥LEÑ%¤ Ðív¥ŒÓ=s.—kµZJ©Ô>ú¢ÿ>›Í¦aéæ9Žc×umÛN½!žÛÚíVE#£cÕZÙs³‘V6õj‰›8‚ád c€ÕKå¡R¦×ï 0©t9@Ò‡MköŒtYbZAé8|Eq—Ëåb¹PªäýL»³¢¥ôÎÈ€ÑFËA?ä"ãú™N7¿cǘTÒv§3#2‘!3:äBàÚÚ‹ep]7›õ_þò—wº½7¾å]×¢HJ™ñ<­¥R*“ñuÀ†cXÊ`ô=O0\[Y²¸@ÒQ;µÞ¥gqX1ŶOƒÛ Ùl¶Ûíú¾Çq¯×Kˤ(ŠÇß÷}ßO½jÀ$ ƒCíÞ|©†Âñæ–VG&† ,sA¶ çça_ ºóËd°¬»Í³C•:®»¿ñÿꯆÕi@°üœ4¥›ø†‘WWWwïÙ?ß›‹<3s檱ëjµÚU{—§—æ–—æÈÐ…sçe¬Á™ÓÓQ/N"½¶¼rafÞµì^'X[^ ú¡2òÛxg£0îtÛÕ±Š"½¸:ØUØÕ™oò)˜;}~oe7Ö ÖF‡G‚ h®¯ Áñi´a¼‘"!7Œfˆ "‚Ë$Q2‘R*ÅA[L#Ť“~«¿kÏæìÜÊÉs€Þ7O¿é¦›ÜL¾&™øÖÃ'®¾êzÛÍ­®uúƒ¨R©„*"ι`–e[–%9g[‚Î À(US1 †@—õ~]iWÚÿ‹åoû4•nKž˜>k•|Îù¾ŸËg·S E·Ûµ,çÙÒ4[w½^ë÷ûé^Ô÷ýõõu­uJ§¿èa@³ÙL= ÇI¶mGQt©~U*Õ……ù0 {^ìÊ•••‘‘1›C`dMJg`@H€hV—ËÕjÐïe}7“Ïjå9ÂD!Ä&ÊÀ¶ÁÖÞL¾ï»¶„†< °/þ°X©\02é÷:¾çæ‹yÏE¾ï!Od²¶¶æ¹Y†¶ëúZ[ZoX@c i.˜àb|bçz³é8J=èw{½ž—Í•J¥(ŠR—c c 5¤â–4Ä€aja€€€ˆ,_,kûž³¾ºV*QÄž³MÇb{šø³êœf³¹k×.ˆãxxxxuu5›Ín§b–47Ñ“Z¤Ñ•D”RR”!ýcš3’—z,éyáUDJ)24cŒ[œsEX–%l‡GCq"UŽÏ¯ÌŽ7F;½ÞÊÚÚΉÉS§NÚ¶³ýyK·úŒLZ“–VIÈ#œ,D\Z\áœ[Âܵ2œ " á 12 Rv»ý±±±A9ŽsáÂÜððp.—;}úôÔÔTk}m0pn˜”ŽÎÌæ{Ç1c© ÒuÇqûÂsWÖV²^Ön·ÝnÔçÎN혿0·wÿ>cL«ÓN’du½YÈå·ˆ!—?¾–ð´‘Jje"ޏÐZR²çÒH.÷ ÙRJßͤÞh€Hc<%§lRÀ¤•í¦4·¼8 h•èj­¬4­.,“`õÚˆ!Z^Xõó9@ƒ6!Ô !MÍŽdaÓP¶P† ,³€ Ò¬Óép•JžÚ½®åû¶•±ì<<@@pÛ® †Æ ­‘o #ßÎÖØShiœ”M¡k‡,‹$ª …±îIe³…°,µŒãÐÍT"#áZšé8Ærž—gPC#ÁûØ{ó(¹®ò^ôÛ{Ÿ¡NÍCWUÏÝjM¶dycãØaÌ5C‚—cpÌKÌÃ&áú…$BÂË…e’»²¼à&ܼ¸&'å…m†Ø&ưÀ¬®áz’,ÉjI­ÖÐSÍU§êŒ{ï÷ÇWuTjuµÕFrK¨¾e—ª»OÚgŸ}ÎÙßoÿ¾ßrWrU¸Šð)#@| ¾Ô'„Z–›HƇz­¦H–IP5³¢*QM#§y¼@tì!ÚÌAð#‚û®Ÿ)!]×uB8¾/€Óx$jSJÁ5XØõ}MÖJ&! F!”HJ!’÷û+'ý8€†e·ÂeÓ_>PŒwÙ̉F·oßžËå|ß/—ËÉdË {±ø|ß×u=›ÍNLL=z«R#FÔu øÐ ˆÀÊ-³ióÑe5¥ è:Ó[M[×(^Ëiï€c!ãŠ7¿uf¾Ò€Pvö—ÌFRùº]Ó$¥ªìH‚‹3>o5š¢åyÖX6òÌô¹ — TÒ-š„Ž IÍÌîܹ3žÌIÃÑDa©ÄÊÍp,îsþ† Yñk—<ÿüó½å­#ºÍL¥züh<&"z=—Ëe3É…¹£R¬|çXfUÕîg*¤l­¨ I8÷«žÅyL¨×íÆ›ßråÓÿ¾[3…²›†pÕtjM÷¢tvv¦˜È›/ MÆSÑFËå × †~Ë rP…¤ ŠÑRåX,i¸VsûÐÔÁ¥—ò0IJÚ‚à®r 2¿´ÿû'6ïxÿ-·ÆYž†õzÉ’ò£zÉr$u©Á9¬lÓ³òñ“\¶Sd´#†¶¸Ÿdò³ÿí/ ¥¥P$Ôp[ùìàEo¼˜9Ê»~ï?qÅ·,˶íd,™ˆÅkÅê‘™Ãÿñ£Ÿ2¡T¼ S)|%L…pê-8 Ç!`@ ©‰zÝ¡’¶×£\Q#¢Õê•t&µudjã¦~ã=ï.VŠ­jýþÿþWÿùÃÿ9Ì"q-l;-ÝP|é+m ¨îÁ‚N”9ç Q@ó€H©ª 'Ìâ P…Q…Q……0T…¨DhÒ’ÄRCû¦çbZ§þá+_=°ä~óÉgo}ó›o¾ê]?žÝ_¬0¯IÊÅB4‘¸@˜ç B©B£ÊB¹4L8%~R‚h{_ö£g•¶€©à©ö–ø›H$bÛ6ºEpÎ ÃÀ’{ÎeµRWÍq<Ç©QÚöiREJéºv:žŸŸ…BBú¢Ùlb¬iZ¥R‰D"­V “Õ …°¢Þ¶md= OA¯¨Vêa#æÚž¡‡%À`.'|—îËŽ=á²² 5šf(lp Õz€xžL÷$N¯ÛÉ ig¸´½Z `[¦¡© =7¢h´ê¡*QσjÅ ’zÃ6©fSF„¤-» Réܱ@œ ËËrUZ–Ⱦçûžà·ê@'À‹„Ê]§ss@@Jä„Ú çq<"¡Öl±p¸î¸@¨ïqœ½ºk¡2D!ÝÝ‹Íf³¦iâ_ë %ºa)Ä7 “ïöÇ¿ªªêû¾išxÞc8f\×M$•JEÓ´ãAÄ»  wÏ…à´¬ÐV"d ˆ¬×Ìh(Q­š ™ÆÂÕJ=ŸÆ ȉ±€æÂ$Br „P)p!}Ÿx"Õjµ\ßÓe”úÜ º®«ºQ7[àÛN"™F‘NU¡‚{ÉD @˜Z>Ÿ¯Õj”© ñ»: ygnF)£€§ŽÖpœƒëÙQ-®åZ¤Vkdr-ÛŠ%cu³ªÊ\ÇŠGÃx„Ï­G¬˜ÀR#ìyìê$✠ÊPE‚/AE0 š@£ ™ð9HWUˆ$ H¥D)|¨A)ŠŠŠ$‚ʶ—'ž"áQ Ú5»eø/U å¸ ©b¨P÷šÀ "A—\pé‚@P1Å%€*%) ˆŸJèõðåœg2™Z­†)Î"$3¦éÉÁ[·ª!½TœÝ4uõW$ÇÆ_B£ $ø |‚ª,¤D9U×%)„"…ÅÀ³¤ã0N¥„U…«ùnZ…L&ÞºçèªR­Urår™2H&“Ô¶mË º®IM·A%%†ÂNÿx¡M½VÛÄy¢Ô´¯g ¸ë˱0¾¥1J@³Z®¦F4êõQ(VFwÐEÇ­ï<Ñ®„_Q°*§èFØ­8iB躎ŒÈr¹ŒÌ¸ ÿ:õu ËbçÎRJ¬9D^üzm¯iÞ¸ñÁLq‡¢káefàx´á°AˆdŒ!Ìz“Erª«!")¬ TP BB[–G˜Z5‹›¶\jûB G-4-äZMTÙSh  ˜ôãc„çS»ŸæŽ÷ÝlÕí¨ ž/½å íò9Ó4 #òüó/~øÃ÷D£Ñƒnܸ—¤”F#9ʾõªË·Œ E£áR©4>”ÇãRJ9”§”º®ýƒ§ž|÷»nZS¢ÄëÐ+艛ñ¤ ‚sá ÝçÌ÷£Â'ozóÛ”P¸Ö´ s¦ãA>?ÁX hK %Ñl\_‚Ê%RR!š0to–W¥¤ÇíhL§ÄõÝ–ÍÀ‘áÄäÌáƒo¸èŠ 3¯Ù3š1߸eëÑã ùðÿåÔñRR¨@!X‹P)VÏ×:D)•Сž˜dTkÕ¬‘Ke²!=Ä+¥j±…xm©ºTŸ+ÙåD2>øÅî_È#°ó–·>üÍG©¤L*(“„Éö“û”§àÉf]]3Ùà}2.+‹/ÝüÎ>-29 2ª¹2@aÈ_ºi[®1?›!B $‡Î‡H!bÇâqM ¯ÏkÌåG‡¤ÁçŽÉC~ÏÁ½étZJyÉ%—ÌÍÍåŒÞD*• c¬ÙlªªZ,ÑÙ.‰T«Õ5õ&N‹=îÎæŠV!¢‡g§göMïÛ¶mÛÿü¿)}ƒ» IDATüÉ{ÿ¸Z¬Edäâ­}ÃúF~0W«¯­4$°ŽqÅdgHœ€$¸Õ©ÝQ.ÕÇ'&™€Ïþ÷¿ËM¦âì‡Oý/ÈeOþûO¯ë55Ó&¼Ù¬×$%RrA¨‰tœ¬¦Á}ê»ä. Ò,÷ãœÇqå|´1Æ4M£”®8w Ð|¼üc„HDÎrK{\1–Iâšê¤÷gÉ«ü¼ìSôÔÉÊ-•øØô—=^Ò«‘ôUŽà|„ÉVŸftÎ/ ¦”ä4÷)ÈI}yÂY%'%ñ}#N¬ÝŸ¾˜ÚÊåŸ =6]öVvý¿ÒßÖÒ‹Rj]»à<@×P’©ë¯^ç Nn§žò÷×´[^­î5ê¤Þ Vùº7½!¦ëÀ}F(—‚*ŒRjÙ®”¤klp„¿†ã :SžÜØ“Ç_~úÚ ]ïåI›ÉöÙì Nõ£;pá!¨¶ ñê+”¶‚ÑH*ÄÕAÌÐ;´¾µëxÌÕjUa†®ëHÿC4aÅÀZJÏó*•ŠªªÑhM(jµZw\·®ÒÜÜ. 9ŽF(ªºâ0ÑóÙÔ®ý‡s…¹# •Å#ÆF' Š2°R‚Ä”š‚¤’›ÉDuÍ3Ø÷‰{Ëo˜–ãG¢ºçº+¶?Pí´zžŸŸÇsL©Õj†a4›M×uMÓÄf3ÆæççãñøÀÀÀäää*ý³ÖX&{ÞöTãRW´R©@©R¯5]O=Z.ìáÁA Ç–šB(¥Ä!D‘`âº~"µì*Hfµ,#½ø¢Ëö=8½÷°F½f%Æ3§1:2Y:ÞИÁ}I@ S{Å«1ø«$žËå€j­V'uÇsG†Gþ¿ÿ%»!ë„ZYP‰š´Y³ë:ÓÕ\ÃmªœQA™`LP"Ûbk]«"¯ ` æl›Ȧ[ÉŒÝ(@ÚNË·jI–çÔê,Y` ÄÈUüTšˬ0o•Ð0Íš]ͤ2Ùx¦4·”MêR©Bá²Ìe •J¥\.{ž7==]*•*•Š¢(Žã”J¥éééL&#¥,—ËF£—¨[Ï)¤š¢‘Ôežäÿ·Çó™|ͯêŠþü /d´L~x¨R©Nï›Ê?6GÖ<ÛL‰ªK¢]îBÛoB-Š Š$RQ¨ô¼cÇŽÍ›Íâ²Kø×þ?o|Ç_þ—?ø×'ÿK„î+šêJˆÆ %„ ‚ÎÕô„[Ðeá¾vR?ΑÀe‡`™ ïñy±âöhdˆ‹«Š¢`@'ìG?λñ(’HWô;§ç·Ü”#~ÿ-?þxíøÌÌÌÌ·|`tttaaýìV˜ÏÚ‘q…e¯@ ÂTESTU×tU 3ï}wÜl†eYHWÁô̶í38ïG?^·ÀŠKT›¶, ón!D"‘Xq{´@BÄÁ÷ýP(„U{k½¯ÐðôÓOg2™ 6$ ”; $‘W Ã0!©TªÕj !ªÕ*\ V7‘#Ø ÒBE©×ë™LF¡ªz×@¹^q`ÿ+åÂbeqáðôÞRÓÍNåá‘lìØiB“@9iËüã£ÙÑ\ªQœ¿úª70´XøØ¡ý2 úÊv2„jµ:555??¿¸¸¸yóæï|ç;±XLQ”l6‹ä˲\×%„ ât£Ñ‡Ãº®ïÙ³g`` ð$;Kpƒ”P,tÕÆcµúb©R¶!<‘HLĢÔÆ]‡pI4 TR ¤ìj².t–ÁQÊ‹¡DÓ⊢l»øŠ—½òÔÏŸ¼ìªËøäOÞtñõf±Q0ÍK6]ñò {‡s!à@(A3€×~hmöm;ÇJtUeªªªªÙ4·_¼ÝïP½2Ÿ’ •&èpf”{þôþƒ#L0*)”JT,$R°5Øðÿöþß×ðPh–ª Ö@'0·ŸožbŸúàGtÑl8ÕÜ÷ذ$ª.€H ’ÀHvhÿ±Wbñ0Xzy13FF³™9>sQþbÛ¶kµÚÈÈH2™D-±¹¹¹d2944Ôjµ›Íf*•ŠD"½Ë•Û/i<³LÛ¶¬j¹âQ'ŽVͪÒ|—ï¼|çÑ…cÙdV!Ê%Ûv|öÿþ‹‘‘áz½±¢½e/@@A ‘„É6ÉHA„$Tå„pB800ÒÕ¦YÍåÒNËJ§ãû÷IÆãù\a~£QQ45ŠQ…ÇáR €¶%' í¨íd÷ÏýèÇ98£Åä‡ããÌídã$™Ûˆ£Qe/w‰~ôãœÎ!)ÅÙ0’zíÒ>ÐЮìEø\¹9yÏÛs¹\$B …æØ`¤éÂj¢+M*-«]K¡”¨*¨*è !<Ï‘R"{Ée¯!ÑêG?Î…Àº\„Àâ;Ì”{Í+ð¯X@!¥L$”R]×WÙþÜ„©Tj``§Dš¦e+[,ÃúƒL§Ó•J¥;™^ Ã'„`u¢çy”RÃ0lÇ;àDÿdÎç¶LM,ʇöïš/™{v½ToÙ?ûÍgÐÅJzO¥ ~¾´H„ˆ·óÚ«÷îÞ¾yÃÈø˜1êõF¯ãÅ£C@Rjš&Îq‚ˆN×øXeŒµZ­@*‰ úpÆy°AÉ †”N§Z­’ëÃÒb­TµÉL:“Þ´ér³a($éó• D‚ô¤%`ÑMjUUÍó¤ï‘x§¡çB,S‚DvC8>tèÐÊrE)—˘›yž‡Î”Hìwf?ÎG Íó<Çqp­åqÊÛïœ~tºP© Ž6kµ£¥#±XÌ4Íâaô®•>@‰\¹`*™Lvs{‘PÂOÇÃÅÂb$Q¥Ùl¢ÑìêUÞýèÇ9œsTäÁt\Çqb±ØŠÛ£•r( ¨”1œ7Œ†ë¯¿­ÑhàqâuÞkûl6»°°¤I„$¤R©·å•WО*™L¦R)¼/Ô M á:qÛmÓb†®^´iÓøøä¾ƒ³±t^0݈ÅK¥ñ-R㤳"* è*•¾ )cùLX¥¥Jq8—),×#Ñ‹?…ñx¼X,&“ÉP(T,¯¸â ÄP¦+F£QBH8F;«\.gÛv¥RI¥R6l°m{J~¯1tOj !’ U¡–VË ™ñx$N(Ì"Ò㊒…KA™!Ž/.äG†5EI ¤5M›˜Ðþ¿3Uñ…o¨*P"=¯%…À'ΕíÚqÑñØ„¾ d?Îð<| £Ñ`ÆÀÀ@6›íu?÷}_Q\mC`möúÙó.‚É ’ðG êwN?ºÊòû›ë¹šªõ˜kÐòä¤W³Ú Ó•ª ÅÄ #:R© b–Ắ¦iA¥z?úqþÞW‘;0ÅV™'8Žƒ ¬–e…Ãád2©iZ¡P8?€,%@‚\ ÑÐËÜ'^O>ù$Šf£9ŲZ‘e=ué¥—ŽŒŒà“ ëLcvËÖ4#H4ºR*¼¨¡¥ÓiUUXÒö¸ªk)]ÄÂ9!A„tª'X–è¾Ý kÌPhÕôÄ*Æ~Íf3g³Ùb±ªªNLL„ÃaMÓ8ç…B!‹éºÞl6ñ^&¥L§ÓŒ±D"F-Ëz饗¢Ñè™êÿ@f, 5pÎ%NÝ4 Cáñ|:U¤”ž ÕªŸŠ§˜’TS.$`„öÊÌ!@׆©ª¡D\/—ªÑL˜ùÞPzÃÈõ›Á–?ÿé/6Žÿô§ÿû?½í&ߨ `”„צÖ%N†0P¡CW5U×|ß7t½XXbT¥BÝ8:F4ªVÕ²¢Ñè–-S`ÖìNñ…S’®1%":šÇöd£QvªõÚÐØ¨o×5#|øÐÌ@n¨P®l{Ã¥@CSçŽ/ŽOŒ¢øÝ{À‡é–›æ sœ;®ïª>Ë'sÿå#4nŒ“‰ýû÷çr¹H$bšf³ÙL§Ó/¿üò† 8çÛ¶m3MÓuÝr¹œH$Pê|Ma™6çܮَpôˆª‚ºir #L‚ŒoH”Keîr×öŽÍËer¥R):°æ!Š VY íj&Ñù¯}QµÊ(ÓC†¢ñx$jY–Oi±\õ}¿ÑhYJU*•±ñqDPU éÔµD7¬ ÛbHQIû †~œ›÷çÀR‡¢iZ,ëå4‰ #c¬Ñhèº …,ËÒ4-p%èG?Σxüñlj„ažçyžÇùâ\kéÇù‚û.•€Â4ÈçÂ$¢×8aŠÔe ÉxB!¹’ _pásO‚ Ìl53™L£Ñ`ŒÅãñB¡‰Dúã°çcX–…ú†œóX,6::Š\ž^Û£ï2}êõ:c åäÏFÃO~òMÓ¦¦¦ÆÇÇ=Ïk6›Ífs ‚øÃ¯¼ò ŠpÎ#‘ˆ¦i­V ]N$-÷¦i&“IÎyµZ5M3 Åb±p8jÙ'WgH ˆ”Œ1)}î¶r©˜'8_º"—0À·Bå”H  A é4r¡ƒ‹åd>kÛ­d2^3áXÔç+Ÿ³d2 ;vìxä‘GfggwìØ±oß¾t:mYZ—%“IÏóŠÅb*•B$¬§B ,‘HÜ~ûígÙêX"„H"B‰X4’­Õ FTMÛI¦³º®Í( QFpN„Tõ–SÑdƒ)Š¢iz±XÌå²áˆV,T«ÜStÝp,ñÈ–×É ™?–Òøøø¸eYõz½P(äóyJéÖ­[‹Åb$)•J±XÌqœt:mš¦®ë½•UnLñx\Ál–L% ¥%ÔCE"‘h4šMgÎcÀ†‡‡5¦QJ}ð×v²"!È.BÊ“>N¥ À "O¬[PU«Ö±Xl®XN$ó‹‹ÙÌ@(l 3rèð‘Á±I#-5š­zs@3Sˆ&%Áý€D>‘€J+I‘ŽÐ5¸~ôã,„®ëš¦)Š‚å‘Xd·Š.ü®=µxýèÇù““““““™LN^|ë3túÑ=#@„kYša@«ÑÇbÜuY/±FÙcqÁ÷Aʶ(!@)0€(B ¬tÆu>|Ó‡ý8ç®ë ´ÍÆ{¥Þ¨Ÿˆjªª"µ×ÂÏ Ð¬¨Å¢øf­Ô5UU1gÆànMÙ¼y3c ícÑht~~¾×~jµÚàà`7 €¦ ËÀ•à}<H¤ñxÚžÒ´‹Þð"¾ãûª ÀÁu€ø %„PNP !M†æ`6)¸§2Â¥ ”ø‚÷2ÍB8ŽsÓM7ÝtÓMgcQJ‘j;66V«Õ‚®î™ãuÝ(ƒù(‘À¤ b‰4æÓÑHÒ÷4¦©†ªK¤š°mˆÔUÍsüÎñ’NN¶z“ÕrS©Œçùµª?äÒ…’’ˆP8B$±šÎÆ©­DR" )ˆH B‚­×|¼+j4tÛYG"‘–ÙÌf|×£IQ@á :…Â>x(j(hÇešH"‰Ê{–ù­pÒAhZÔ|Ÿ4œx&߬5U-d;-°ítºQ/¨ %±šÉóù€Õ}Ð’ˆv×r2©³aF´hX·,{ 1¨úºã8˜c âIP¤–+¸ÎÙjµ(¥kE@ëžç "E©Wš¢[u{0;„S³ÞL'3–eIß‘½mpÍ×pñR:88X­ÕS™t©Tˆ††YÇ¢fËóVDWá‚k+"¢‚ªIRh(k4m5³=`ZÄ´|#‘iyÒ¬·¨#‘±9Ø¥¦fÄ f:à9­T*Q®4¹Ý2TšŒ…áfÝE@WTá;Ø×###FSésûqöð˦§è”tj€çy¡P¨Ùl꺎¤?¼ËA§|Ýó¼H$‚lÆjµŠ›9ŽƒêèHgx ¦3ˆžc-h8Æ6sÎ/´ :Îáði…õ/„×uû‰ÊêQ©TÞøÆ7B‡¯Ž4^9¯«Õj…Ãáë®»îÉ'ŸD!óB¡ÔC5 d-qÙï_ÑÀÇ5ÕÂí óp<LWz¢ ½bÕ•>BàÒ;~öìÿ ‡Ã8Ëå2.ûõµBÖ7vêª8ç×]wÝOúÓf³‰´wÌ1±ðï!ýN;‘ö+ÊÐÐÐøÃ;wâR÷* p8Œâ8ÁMéDÂØ¥Šˆ¯½ö³6FÃk¸ºéDEÁÂÑíÛ·cájü ªv›<£]—M$9áÞ,)mËÒaF€áÂ5ˆI%‘¤$B‚]zr ~Š»r?Û•êµúŒ€‚é{ ÔOÁ#íò´î¼/Oôi§SJ$ ¨Ê€B >Ò@d±V¥INlNdÏÃ<H"„$@@ C‡Æß¦Ù ˜¤”ŠÓ=Åœ(œ„‚€K¤CÀ#@I§P„P"P À€â›ÎÈ<ÑfI(! ¥RH^ò§|¬}xvD%•:ºôîR×÷…çÊTƒãÀ rÒ+í2˜¦†¶NCßõm·Q‡ôü€¢Ú>£ H ’R œ(”0zýD?^¿™r¸žÓ¸zP¯×DZm¬q^…zɨm …jµÊž%“És­Db~~^Q”L&ƒk&õêº~¡¹`àÚ Nlœ}­ 8Âá°” À²,DP`—g Q‰~§­v}­…bJÑÆr-øô@O®å¢kfÀnèǹªªÖëõx<^.—><99‰‰t¿gÖÚXåÙ/àDçµä*„Ó)×u[­V³Ù„Žše­VÃ'±ë@Îzí“ þ=Q.ºÉêTvµAt¨ø€Ð%xÒ›ó»p«M)mD†&ªB›T&‰>‘íìÝà¤c )?ùŽ.Û(€B@P Är,@žÀ :˜ÆÚºTv}€ž7Ù0€ÄçäÄØN²ó+‰èƒ …„8}÷FN¤G'À$%  a,é‹Î·\…¢Z¾„‡Bžt,p¢$BA)»·:ã!„¤XV Ú}Ý=èE°ìlvšþÁÁaU% “ÑXX±šŒ ÄÔH>eh†®$u±°¦j èR¥T©6=.¹ máÑ5ZÚÔÒb@@&ôëX$¬ÆX¼,Epâ†æ7A—¾”¾¤Dõ‰ðc‚ô%!ûñzE³ÙD}"ß÷9ç®ë¢É±¦iÁkÀòc¤q% EQ<ϳ,«Z­¢.ò9CCCøÆ4M,o6Msjjj­¶XçýKQbÀOщ>Ðp!Îu_gggGFFs ìÚGNe8ýéǪˆµ|…çñF£Ñjµòù¼ëºˆðöQ†s64MÃ:—t:ØP½^ï çÐ` ¯í– FCð Åç.¾×4-©Têu Æu2O¼’®T¹ yAT :ë´ø.œ \à=%w:¯ ”H@%0B¨lÓ°gEã…v‡Å¢+ó¤])|/¥=Ê:ëá¡FWnK›X!N¾AÔƒ¾Ð@—}„ À{ ]€J"h[ ’RÒ>ã @OûSBéd¿@4 %•À@J " #0,NBÅ)=ƒÇENð:@ éÉÚ8£ó6߇H*‰8õI¿oo³–ñ/6¦¢0Ƕwk*Ó¶'7…¨§x-¯^²|[ªªB0I©Öb> é²!¾€I  œJÕ²,ËáÍf˳­DXKLs»¥DÀ¡@(% %Š Dðû†~¼>ÇhÀW×uM¨ÕjÁo,Ëj6›žç5 Ã0йÕj}ë[ßbŒ>|¤çÔq9ŽƒNZhϼyófÎùÔÔÔ…V2€u˨š}ጠ6¤ ª*R{¢Ñè~ô£gŸ}ö©§žÒ4í×~í×®¹æš·½ímÐ)£è÷Ø™GyÖ²ñÜÜ\,Ãqüøñ‡zèᇎÅb?øÁú=yƱcÇæçç¿ýíoïÞ½»P(LMM½õ­o½ûî»û=sN +ʬõA â:UUÃá0 HõD¬Áu]Û¶}ß/—ËåYFz‚´}#AútòÝ©ý†´Óh*ÈI©òyM¼&mÃ?*€I"8¡ „ø8‘À$ɨP˜ ‚§b¥^ê ¾œšË“˜ð´ƒ1tÒ´%G<à5uFÚ" y‚S5Բݩ©[¦&/¿èê‘lØ,©ð¤ô€ Â%Ä'TP¥ÓúñºŠªt ÈhÀµMÎy(2 ¬C¡!sÎ[­–išwÝuW·IÕ¹èõoÿöoGŽéeÏù«¶mSJ‘J:XàÚW­¿0ñ… àyqqñ[ßúÖ%—\òä“OîÞ½û¹çžûÚ×¾¶iÓ¦±±±~Uù«ÏWƒ¢Ü³6LÑU²>ÐÐ×-,ËZ¦¥„„Ó4ÇqŸžÐQ`ŠF£Rôââ"ê?Lìs'P âñ¸çy •J¥\._PçKHº D¤”,n?.´ˆÇãRÊ@áòñÇ—RÞ}÷Ýžç]rÉ%›6mš}î¹çÆÆÆÐIÝÊú±Ê”u 5HdÍvÖ¥RiãÆÀûû¿ÿûÉÉI¢iœ IDATP¥ßóçf,..~⟸çž{ðÜmß¾ýþûï¿í¶Ûú@Ã9 4Œ†eXÃk‚©çܲ¬ÙÙÙh4Š\PÔ¸2 £Z­þâ¿8Ë@ƒèN<%.x““Ó+L %&À$ø%Ѻjç¨"Ð<ŸïÚXOPA(§B.©+)ªúL•Tñ "TÆ Ôc¾¤ü a™F=ñT¬+‰¥(xÑ•Bw€ÌW‰/éÚ€~òúö*@C;±—JÞ·‘‰t4tœ5—Ärº‰(¡ NЕŸRN(ï’KÄ…w&m Ù ’ˆ@ÝP€;ÓAP“RÁ¤wVÞ>¹'.z2Ž€ƒì€7L°5 ‰ø@³Ù k’ß·¤K˜Ž›>sAáD£@4|&…ç¸mˆÓö›“¦˜h¿‘*:gêðؤí âGª‹&¤ã3¯ìŠ)B!@ ºTw‰*Ø} ¡¯[ >"28礢(Žã´Z-ÏóJ¥R©Tò}¿T*9Ž‹Åt]O&“Xƒ,’Ÿk‡æû>–4û¾¯ªj$Ù¸qã…Vv¾°°€tNôA]Ï~éÄ…÷“ã8?úÑ>øÁ …B7ÜpÃý÷ß¿sçÎD"ÑG^uqâõ´B²&U’N'=Ï«V«ÙlQÎùÙ¦]÷ã5G>Ÿ¿çž{ÈcŒ9މDÖêÅØ×h8#.X"‹étzdddddIJ¬­[·–¤ªg¿.7&q"õ%¨Õ"¶¤¼ó­ @ „竚rb(ðå—"ô¼êªŽ1mO ©ž_BµÍÅ&ó×kŠÉù5„¡>Yi8÷£g3ÐT¢»t¶m„Pš!‘H ÏÏÏ{ž—Ëå0GGÛV«(|u®1Ð;£{qE :tA_t Âû@C?¤”8饔.--½ãï(•J™Lf~~^UÕk¯½öOÿôO‰tÙOôcìà¬î½V«©ªšÍfkµžÆXà4Üs-ÐÞÒ4MÃ0§»ÿþûã7~£ß3ç(аL9xX®5 (Š”²X,ÆãñV«å8N€b¾\Ð{Vƒ,÷5 ËIXv8qS[Q~ïWÈï¤éü9pôÿ“’ÙV]”þ©÷úSoý¼«ÿ;ûoMœÚÏô—y,;§ž¬S~CO§+ºö¿M„Ž¥‚p°$‚/”“¢§Öt,?"IOê͵»r¬yVt2CçT¶Â«nðªãMS©/8w‚&m€Ò&p)Û aû½:‡Ÿ|Š Pê;.ªd†g»„ÃE§V… à’´oý³¬yÑ 6»€“U§Ãe@VL˜¦‰€B³ÙD^ƒïû–e1ÆPÁ¡Ùl¢DN§\×5 £\.§Ói\ÏY_[/”ÍGŒ ­BÊF:.‹‰D¢V«¥R©b±˜L&Qѧ º®«ªŠiùùn‡‡÷ïß饗â J‰D'ê_«Î+• oJié­³³³ÐYÙZ}ã 0áøñã###(ÓˆãMQÀ099yøðáÕwU(P|/=4Ø[eJ´ QÅL&Óh4°Ê¦V«á}½f‚cÁ•?Çqt]Ç»^ÝÁ‘:Žsíµ×®ÂFf n‰d¨Wí¥V«uã7>ñÄØóÁWŒ3ÒNÏóTUÅã®Vk$×ö44¨ÕÞõ®w=õÔSƪœ©îfà±ݲbFdii)—Ë% Ä}Ç 4q8ç¥R)—Ëáà|U`(øö` ö B8 ºØ* TºÁHƃ¼{دW;ÏÈuŠÀzp2ÆæççÀ0 ß÷Óé4>püñ_|ñÁÄqì w‚¨Ä™jçùrâm UŸ°ˆÖ:Ÿ N§ÖaÝjÎ5ßï~¬%x¿ ú=Öï«~ôcMæî§r€Ýó“A‡µî? !b±Nžðuõ9ôzE£Ñð}q‡V«…ýÀ ê aÁYZ_xÿÂŒl6ë8N*•€………ÁÁÁÕQê[¶lñ<1Öjµ4MCÎ^Á¥éD"‘Ïçó[èÈ‹(ŠbÛ¶®ëÃÃë7ÕuÝl6‹éh©TZœ …êõ:èºnš&âk±X¬V«…ÃáD"rfˆ³Äãq¼.º}âUUUUÕ¶íÀ¸ c`Ñó<ÇqB¡P·>È*Ù Þ…°Ð)‘Hàýd•Æó¼3ÒNÌáñãÕf‰+R®£…ôf³O&$#v3¨']í  ¾ïãYîµÿz½Ž<²À„1æû>&ØŒ1,£@|a”Aáyžëº‘H„s¾eË–Õ1B8œphÉ|¯–RâYF"Zxh8ÈkµÚê)ëÙnçÙ¾NQì·ä‘G¾úÕ¯~ç;ßA„• ©×ëápxÎþZÛy¦ÆÿÙ¾N³À*„(‹Œ±×¹n@ùFõìG?úÑ~ôãlš:÷FCðf­û'„¸®‹Ë€Áüï’É$®&!ÁUQ”X,Æk6›8 ÃE¡@x .úq¡ÅüÁhšvôèÑÍ›7{žwìØ±|>ÿž÷¼çOþäOVÜ<4Ms'bNÈ9ïµRW(òù<^,¸-¥\6;oµZ¡P(Û¶Ý+w br¹ÜìììÄÄf޾W² žçB6mÚ´¸¸ˆrƒ†a(вwïÞ­[·ÖëõP(”Édœ%¸ÌMÓ ÈÝŠ'˜"öú^ÌyRnÆââb>Ÿ7M³—fŠ¢(˜«wß@âñø*û?#íD6G‰B …Âàà`¯í»™#ØÔ€§°âö­V+âásÎmÛŽF£«l~45M“1f†çyñxéc”ÒJ¥’J¥zèµ]Ø6ÌZñæ¼Jzž744„ƒ oé«Ãxüaü N»ñJö±5›Íh4Úk{ÔÏ+ ¾ï£d;B~½¶?SíÔ4 ódÌ]×ýÌg>S,{mÍfÓ0 äI è,/¯Ñh´Ùl~ìc«V«Œ1Dêõz¯í§¦¦êõ::’ç¥Ói„wó¾÷½o¹+FP(‡Éá±cǤ”­Vk•ç…ëºðÑ~ï …VWG -ö9Rcp`ã‘@­V»ë®»Ö«gû:D"¾ï?ñÄ=ôÐg?ûÙl6‹ªªˆ°pÎï÷~‰agªçËuJ¹ùæ›}ßF£Ï>û¬”2ŸÏ¿ÂIÊ: ý§i?úÑ~ôãW>§nº&®¨à øq*ðd˜w̽{÷nܸ1 BÎÁ‡,!$«ªêºn,£”âò/:tb/E",»E¦Cð\€ +¯¼òСCÓÓÓúЇ>ùÉO®>Ÿ äK<Ï+ ÃÃýøð˜– 5,.9âk«ÕBª³®ë(¥Riu;Ãz½>00 „˜žžFêr ïÐëÐ0=‡Ã;wîüøÇ?þõ¯ýÞ{ï]ZZúÙÏ~¶o߾͛7-xôÑG¿ô¥/¡ t¼¶«ÕÂÊ ÌOz})nŒ;I&“Ï<óÌêÕé¶m«ªšN§‘s„WeP>pjœ©vD긦i¸Û^MŠÅbŠ¢`òïõ‘H$òÌ3Ï$“IÌW‘ßkã]»vá25&Ûø]õz]UÕ¹¹¹ááadfE"‘éééW- YZZÊf³¡P(@£zmïû>VÀMOOBVþP¥T*@&“Aæ¼mÛŒ1Û¶ÃápÀ½Çĺ´ól_§®ë~÷»ßý¾ðè£bÍ‹®ëx¦_ìÝ»¹ŠöÁZÛy¾\§033ƒm‡ÃžçMMMmFú }é~ô£ýèÇ…½J'È)XÃkø ,Iø»¿û»/~ñ‹Èæ=7H\êB†qàÀMÓÆÇÇMÓÄjJÃ0P]¢V«Žþ_?~%ã²Ë.ûÅ/~±{÷nß÷ï¼óN\äÇŒnÅí‘Y`YNÖ±`+ÕWÜ>ŸÏcZ(„h4¡PH×uäà\?¨sÆÍzñŒ„¸BfØ<˲zå„H$²wï^Îy4F£·Ýv[¡Pxó›ßlYÖõ×_ß}÷a‚iÉîK±Hä#:ÉC}»z½¾´´Ô«x¨BJ)EeUú'‹áý—XQE‰ë½ŽëŒ´ Ô»k¾p·½¶ÇóŽÍ«×ëXN‹ÅV9_°‚Âq¬™ïµ}*•ò< .LÓ|ßûÞ÷â‹/NNN^zé¥ápø‰'žn³±X¬Ñhô:ïø½ÞÔUúÓ²¬X,‰D]]×W9_„æÀ¡‹= fÛ¶c±&êA1Âëßγ} !¾øÅ/Æb±;wBlÛ‹D"ßüæ7ƒ‚ EQ q§6´Övž©ñ¶¯SÏó.ºè"0Mqº={ö¼éMo:Û÷óu^A´ýèG?úÑó.V|Ëž€¿dét–Pž~úé@GêÔh@,.=Õëõ|PQ”øÃ£££¦i:Žãºn³Ùˆëºè/ûÎw¾³»úzY ïfÏž=“““ÃÃÃBÓ4WYÑÅÁÿ–·¼%#n¾ùæZ­v÷Ýw7›M]×qiZJ900 iÚÌÌÌM7Ý´´´Ä9Â%V”“ŒF£¸jQ±X¼ì²Ëza”XBëœû÷ïß¾}ûáÇ'''Wi'J\qÅÅbѲ¬d2Öžgª˜àáDZj榛nš™™Ù°aC¯þ‡Ž¾ìW\~=«èü1Æ>¼}ûöýû÷oÙ²;$Ð85¼H$ð|}ýë_7 C×õÀÄÇ[½^D"«,#‹Å\.‡­:tèе×^[©TÂáp/ѾX,†]7<<Üjµ>¼mÛ¶UNÖÂÂÂ;ßùÎb±‰D°–¡í€µ_$¥Ÿÿä'?išf£ÑÜ@Ï! ¡@°ŠÚjp&Nýåék—ËeàÉd2GŽÁbN¼+@µZB´Z­x<¾^Œ Ó4—––° Õj5c׺´GQ÷F/¥t:íû>–®K ›/¤iAG´&›Íþüç?Ó›Þ„ 4ÙlÖuÝõ:RJUUëõz:ưÂuÝU&:g5P•]UUô¥GyáF£Q«Õ.¹äÛ¶D£QBH³Ù\½¬ôÂé7Tåq]·V«Bðª¬×ëÉd²T*!O›1æ8N³ÙL&“g»V­W`"v—®ëår9£0òzMôS©T¹\H€ÃÃÃsss«W ®K¨ªª(J¹\ŽF£Žã ÐÑk0n8#5«¡PèСC£££(×T­V‘í¹ DÀBt”'À(–N (”aápµèÏê^ß«iî9#èL‚Gv£Ñøüç?ÿ“Ÿü„Rzà 7|êSŸ€~ðƒ÷Þ{ï5×\ƒe«(wÿö·¿ýé§Ÿ^XX8zôèW¿úÕ—_~yttôÝï~÷?øA¬?ÃÞðéOú±ÇÛ½{·â±Çãœßwß}ÓÓÓ®ënÛ¶í-oyËwÞLƒšÍæââb8^ZZ ÄpmðÞ{ï½ÿþûÿê¯þª^¯SJ …Â÷¾÷½;v8p€1¦iŠlªf¸nS¯×Ñ¥ çžç…B!,¥Æ¯À"^Tä"„4\. …*• Z5›ÍÑÑÑ}ûö%“ItÓL$¸ÒE9~üøÄÄÄ®]»r¹ÜØØØ®]»FGGC¡ÐÑ£GÇÆÆfggQÜ; (£iNdQÍk½n&ë^=c=ôÐÆE·SçÉd2?ÿüóW^y¥eYÓÓÓSSSï~÷»ùÆìÝ»w•¿îÙ³ç4÷³JMûkާžzª×Ÿ¦§§ƒ÷§¯ÓvðàÁ³tN?¾ÖÆüòí|å•WNŸA¦®)víÚõªÛ,=Ÿ{î92ð¹¹¹3;8_[œÎ@Ý·oߺ·ó<ºNÏxW¬ïup*÷ìÙóƒü'è|©(Ša…BA×uô{Êd2˜JÚI8Îq©àì ë…B!‘HàDIJ¬}ûöýÍßü & ‹‹‹8½H$È®Aui'tÕjµH$B)­Õjº®ã i½Úƒù<¶jqqqÆ èU¾^§’RŠ&F”RÃ0°…‰DÂq\ (—ËXNfšæz%Z˜ bFú /LMM…Ãa,ê[—ö„B¡p8,¥,•JÕjUUÕD"‹Å¾ò•¯=zß×jµõM´Îµ~SU!˜T*…+è³ …šÍ&æX^èû~8^¯Üoî­VëСC—_~9”¨É¿.í ‡Ãår “Éä0;×´u0 Ÿ™™Éçó‰D‚sŽH]—ö0ÆÒ"‘ªô5ÄŠÖ€×€6Ú®ëNMM½ð š¦5™™™G}TUջᄏ—U;"¶žç¡3VjPJ ÈÇãïyÏ{>ýéOßwß}»wïþîw¿û»¿û»_øÂþìÏþì_þå_®ºê*Lãñøg>ó™{î¹§\.›¦ù_ÿë½óÎ;ÿüÏÿ¼Z­Þwß}º®ß~ûíÈþçþçÏ}îsQö¶ÛnûÀ>ðÿðµZmÏž=/¾ø"ú{áÌ& Õëu\jCn'!DÓ´L&3111;;{ùå—:t(›Íš¦9;;û¡}èŸþéŸðщDvïÞýÌ3Ïüð‡?Ü´iÓ{ßûÞñññ¡¡¡‹/¾ø‰'žøáøÿñ###”Ò÷¾÷½oûÛãñøsÏ=÷½ï}ïg?ûÙÜÜÜ 7Üð|`hhKRÇÆÆ¾ùÍoþä'?iµZÛ·o¿÷Þ{'''÷ïßÇ~øá‡zˆs®iÚ=÷Üsûí·?÷Üs¦i€ ÕõJDqõ WºÐø+ëLÓܰaòåR©”ëºÁ¤ùõüj\åûÒ—¾tË-·d³Yô[—ö´Z­`UÑÛ¶ëõz©TÊçóÙl¶Ùl“øuoçZ¿u׫7›M˲t]Gì\.Ç9G…! Âäp]Ú‰ŽG…BáÑGýÈG>‚¸Š¨ØÙ\2™Ììì¬a¹\Îó¼ýû÷¯^.¸.ãMño|ãÖ[o dÃ\×]/æRjµ{ß÷«Õ*ÊzÝŸ s ¾ï¿õ­ouç¹çžÛºuëu×]Ç9Çã«(Á}"‘×Ïç]×åœ?ýôÓ¦iV*•K.¹$“É|ùË_6 #•J>|xÏž=;vìRZ–õÊ+¯Üxãžç}ùË_þã?þc$®g³ÙO|â÷ßÿí·ßŽl©¿þ뿞œœlµZ¥RillìØ±cï~÷»K¥R&“¹æšk†‡‡£Ñ(Þä‘ЄâäA…HÐà¡¡¡;vüøÇ?N¥Rù|Þ²¬/}éKùÈGÞÖ6lØðóŸÿük_ûÚUW]õØcÍÌÌ|îsŸûË¿üËT*õÒK/}ãßxÿûßÿÛ¿ýÛù|~ß¾}Ï>û¬mÛÕjõsŸûÜwÜñ‡ø‡õz½X,>øàƒôG4::ºeË–+¯¼òSŸúÔ¯ÿú¯kšö•¯|å±ÇCöÐOåz4­ž×¯ï»ï½{>çs>aY–åû~¯Æ¨¹J)ºò«ÕêÎ;wíÚ¥µÞ¼yó+_ùJb«U8‚^Í·KmÜjµ¹€µ|ùòf³¹wïÞïÿû?û³?K©)ù‘¬q¯€-Â(]×Ý¿?UÅ©#±WãfYV¹\.‹ccc>úè¡C‡Çùå_þåK- ®Ö¾}ûˆAFŽhÔ­Ó“ã™™™Y¹r¥âÛßþöw¾óÏóî¼óÎ[o½µR©,úyBˆrO/„ŸŸ%í¨™™™åË—k­“ŒE ÔL·w!)Ò$;ÝšèîDlõë×?þøã÷ß³£££6l˜]½zõO~ò“Ï}îs<ðÀK_úRê~zä‘GÞûÞ÷>öØc$ï8ÎÀÀ1î¼óNÏóÆÇLJ‡‡¯»îº‰‰‰B¡ðîw¿[kýÝï~wÆ ÿôOÿD,ÐR©ôö·¿ý#ùÈM7Ý4::úôÓO¿ò•¯Üºuk­V»ýöÛS©Ô¯üʯd2×uû·û¡‡zñ‹_Lý,¦i~ýë_øá‡kµÚÉ“'ßøÆ7khhèÍo~óððpŒ±µk×þ´-Xéážœ_bA§7~ÑZ'ò IDATë…x=ôЉ'èÏ{ØÚÙ~ô£?m‘Ïç Ó¯T*Ô%@TH€Z¢œÍür(u§RU{÷î™™‰¢(•JŽŽ"b«Õ¢Âoâ9Ô“…æ³Ï>û’—¼„J©´ö¥¦ú^ Ô‚.„H§Ódè’8–÷ h Ñ ^¯Y³FkýÃþðºë®k4dþD©u¯f¥”išdØ[( àwzrrä•ËårEƒƒƒÔ/з­5ukµ~ÇŽßøÆ7æææ^óš×ÐÑ’a2é_ôJ¤6ŽcrN&cdºc8ŽÓ«–D9vìX­Vó}ÿŸøÄÜÜ¡H— І!ÙףǶí^µmܸ±^¯‡a¸{÷î»îº‹„ž}öYR:3Ç¡‡7!I­ “ÉÌÎÎ’ÚB©T:xð c¬P(œ @IDÈhMÇq«ÕrgíÚµaNOOò“ŸûÀ>°yóæf³išæ<@OÉ›nºé/ÿò/ggg‡††¾öµ¯Ýu×]$ÄP*•>õ©OQHT…ä릦¦ÎàŽ;¶mÛvÿý÷oØ°áØ±c?þñ_ýêW?üðÿø‹¿ˆˆdQÉ9'íƒJ¥’4à(¥È0¼X,¾öµ¯ýêW¿úÖ·¾õ±Ç{ýë_/¥¤Ôý{ßûÞ7Þ¸gÏÓ4ÿâ/þ‚Èn‰G&“Y»ví¾ð…+Vlܸñe/{Ùúõë'&&Â0, =ö˜ÖúöÛo¿êª«†††2™L¡PøÁ~pâĉ/}éK„žP3ÚÍ7ߨ_ú÷£ýèÇ 48pàꫯ6MóàÁƒ×\sÍÁƒW¯^M%7$«‹¤Z| ®ëRU„h¥ÃÃÃW]uÕØØ=z´T*Q{j¡P ªo¯è©TŠ\C *êTìÕ¸:‚¤»†Þé•X }/õƆašf.—#íáÇ¿õ­oQežJâ=’ÃHÈ Ý·ÙlRØ+ $[Ȉ{``€úMvìØáyÞðð°ïûZkÃ0Hø·?n–eÕj5Ã0R©ÔÔÔÔŽ;ªÕê-·Üòøãg³YÆ¥y­Vkppä$zu’h+¦RÊÞÒ+LÓTJ†qÍ5×LMMýõ_ÿµëº¯~õ«ŸÛ¹­' IfzžG‰+Á^Ýß*•Š”²X,~ãßð}Ÿs¾jÕªûî»ïlbxaÒ $¬ÚIª0‚D±^¯“ âs?à=Ï#™zj§€¹¹¹l6»råÊ;v|ìc#ùëL&ó­o}ëèÑ£µZͲ,*øö³Ÿ½ãŽ;<ø±}¬Õje³ÙÑÑQ˲ªÕªëºÅbQJÙl63™LµZݶmÛ±cÇHÂcÛ¶m„0®Y³æú믿õÖ[?ô¡mÙ²å¾ûîËçó„xRÇœïûê‘ÉV’… !î½÷Þ×½îu6l˜ššzík_»iÓ¦ï}ï{+V¬Ø¼y³aAüüÏÿü{ßû^bHQƒI†ù|þw~çw¾õ­o‘0ħ>õ©;ï¼ó¾ûîK¥R¿þë¿þä“OÿèG?úÃ?üÃ{î¹çÞ{ï•R>óÌ3sssŸøÄ'®ºêª;wZ–õ®w½kff†X‡£££¦iNNN^sÍ5ôbÏž=BÏó{ì1.Ù°aC¹\¶,K)uèС÷½ï}O<ñÄÔÔÔ׿þõ¯~õ«wÜqÇÕW_J¥r¹ÜæÍ› ׬4$}‘äEw¶‚A¢éCÊšóóó+V¬èás¿ýèG?~Ú"Š¢+Vì߿˖-k×®}úé§·oßN™,©)%<ô+\£>N"—ϱP Ò\mÙ²…¦t©T¢½9ŽóÑ~ô‘G ‚à™gžùä'?9888<<Ül6Ã0ܼyóg?ûYÓ4ï¿ÿþ“'OŽŽŽ*¥>øÁ>úè£oxÃn¹å–Z­611ññüsŸû\©Tzúé§W®\™\/årù÷~ï÷î¿ÿþ›o¾Ùqœ/}éKô²Ù,u…PgA{ g‡ú csss¿ú«¿úå/ùmo{[:>yò䨨˜”’è!×_=A¦i’Ò»ëºä¾V.—·oß^*•lÛ~ÙË^öÿðäô±eË–b±X¯×¯½öÚ;ï¼óOþäOÞò–·(¥¾ùÍoþýßÿýÌÌÌáÇ׭[·k×®“'OJ)׬YC]<ð¬ìÚµ‹s>66V*•Êåò®]»n¹å–0 '''éì …eË– !nºé¦(ŠH9òÓŸþôÍ7ß¼aÃÃ0ž}öÙM›6ýT-X SHl\iz<Ǽ¥›ÞÌÌL.—ãœÓt=?ï€~ô£ýèÇy"Z–µråÊ#GŽ ¾ùÍoþÉO~R­V3™L÷ÒåÊ×hp]×qjRõ22òk¿ök¹\îÀZë¹¹¹b±Ø«Êäèè(t„äª@ëž^›çyÔ%K.kŒ±z½N†p=9ß÷MÓ¤t”–ÂQ…aøÿøDsÍår–eµZ­ ²Ùl¯†Î÷ý \×m4ä#¥,•J½·£G¦R)*£5›M!Äèèèðððèèè×¾ö52všŸŸ‚€|Åúã$ö199¹ÿþ;w~÷»ßýÚ×¾F0«#Ã<Ñì!Ó‡T±ÑhÐc¬WÇC m022ò¦7½É4M­õ±cÇzuñ‰_ø…_ MÍ0 ëõ: IüÞïýÞÞð†l6»}ûv"ÊŒŒLMM•J¥/|á oxÃšÍæSO=õgögãã㈸{÷îW¿úÕO>ùä÷¿ÿýuëÖÍÎÎ~ñ‹_$¦èÎ;}ôÑøÃù|~ýúõÓÓÓŒ±Ï~ö³ï{ßû¤”?üð[Þò–5kÖRõäääM7ÝôÝï~ײ¬KM9õ… Ã° ‚ Š"jö9ÛzŒNýúõëI¯ÔuÝ8Ž×¬Y311qŽHn‹À:ÛóI€?m÷L/òÝG‘ÒsÏéû§/Ðú´}öɧº~Ñå¸=Ûyijž‚KìWt0>¦ù"óá×óM9‹ìY'Ó¡{<ý<ãH¼¹à\àY°K¶´¼e?˜üöœÇy¥DETß]½zõøøx¡PxÓ›ÞôùÏž‰ ÖpÞréK^5ö*'-bÛ¶Éî¾Ùlå2›ÍîÞ½ûcûØöíÛï¾ûîéééU«VÍÎÎ*¥FGGgggIšŽža/@Yunnndd„ª‘”KW*•t:Ý«Ji>Ÿ·,ëСC©TŠ(1Ë—/O¼9^øH¥Rœs:®ë†a¸oß¾üà7Þxc©T!²=e€=´á¤TÁ¶í¡¡¡ÉÉÉb±X©TæææÎf/w±£P(G†úä«ÕêÄÄÄÔÔT«Õºá†ÊåòÈÈ5„Sm³W—Ú¸%ógppðž{î¹çž{èÿ~ä#¡lzzšÈáF£P(ôJÛbnnβ¬ÉÉÉ¡¡!‚?z(êI‰YE»wï®×ë”øQüRCâ—/_þôÓO¯]»öĉžç]uÕUQõŠ †áØØØþýûÇÇÇ÷íÛgÆ-·ÜBƒ³?â×ëuÒÄåœSý¿P(<ïó— ÞÏŒíÛ·oß¾ý7~ã7’wþû¿ÿ›à˜cÇŽmذannîÞ{ï%- âCe³Ù;î¸ãŽ;îøèG?Ú½«eË–ýó?ÿs÷;étúÅ/~ñ‹_üâä¢id³YѲÙl†FƒäÊf³¥R) Cz(Ð#»^¯g2™T*µcÇŽ±±1–W¼âÙlö+_ùÊÎ;mÛ}ãßHõ†{ï½÷K_úÒÎ;³Ùìêիɉ3ŸÏß}÷Ý_þò—wïÞí8βeËþàþ`ffÆ0Œ·¿ýíÿñÿñÐCûãÁ|üñÇ Ã¨×ë·Þzk6›ýÔ§>Eº<ðÀg>ó¼äœèCú»¿û»#Gކ±zõjò1Móž{îù÷ÿ÷ï|ç;¥Ré†nøÝßýÝ={ö”J%Z±\µ³¹®Kð ‰7]‘ Vº?$}¼$|g'5Ð|¦zÍ|"š]™Ëy º-ìüüôœJŸ5¿zž»!ç h÷ ?}oº\q @+ÞÁ°ûx:H;J@n‚àÀ´TÈôBô¤2ðvªÈ4ð‹–HwÑ9nÙÒ÷ŸdÈü, 9.–_ [`¼+½ç §Ó‚™†‹%Òì9QÅp~êSº"@ `2€üô/J¦;û—âéã§€d]¨V2¿õR®ÎNíšC>Ó€§a É´ÑW&ÖÐh4FGG÷ïßÿº×½níÚµW]uÕ5×\óçþçozÓ› …q¨h8!¬uc‰)EboLmÆå>@†alÙ²åÁt‡è”•J%—Ë5 "’(µò¾"‘¹\îºë®K§ÓôìLŒýzÕ£^©TFFFhÝÓl6mÛ.—Ë=ìý¦Å-ÂZ­ÖÜÜÜÞ½{÷îÝû½ï}oýúõ/zÑ‹6oÞ<44DGØC[Dº´Z­V¹\¦é¤µ&eû^•»I^É1޶´L'a Ã0c=tǸ¤Æílñ’—¼dllŒPHÛ¶éÎH’=9R4l4¹\nzzzppPkÝÃë4NaÕªU{öìùæ7¿)¥Ü²eK¯Æç9¢\.Û¶M¾ªdÊP©Tze zàÀU«V …T*uðàAºNÇÆÆÎ`‘´J¢±”<¶[­É—2ÆH%Š¢jµz¡42â8.‹³³³®ënذaÏž=ó7óéOúÎg­µïûétš.+â÷år¹|>?==ÏçS©ÔÛßþv¾ã8FDÇqgÄ­[·þæoþ&uü1Æ6oÞ¼aÃÚ‰ëº333ŽãpÎ7oÞ¼víZ¥”eYŽãxžG\Â-[¶lÚ´)ùüüüŸ—Rš¦Ù+Q[Îy6›5 ÃuÝë®»nÆ Œ±T*u6QÃ^iîÞxãT '­A‚•{rµÝÑû„øR¦µ&@–ìcã8. Ç'zÂáÇøÃîܹsãÆ«V­zàÆÆÆâ8VJöGr¼tTôÓ‚ Hî½Tð!1Ë|ß§N@âP$Vaýø)ž–cQ¦”¼± 5\:æ­ I8…5`§É\Ÿm$o‰NîÜùj~Æ—òNæ šêâ|! ÒadjßàÖ}S_B…`ѵ=§Oã¢çÕÓ©¡«Tß cðžoù©Ùu :@p!ÁÛgŸS‘¿ 8X.£?W€À;):‚êôÙ¨Ó„<’¿á€Ú‚6‹^·'#×í­FêìXÐŒÓ> ÝpƒîLTÍÛÝHœpPtÒ»qn—£&¨ŸÂ•ºq(½ ã #GެY³fpp$®€†‡‡)…L¬ßé_—ªwÙ Zëw¼ã™L†ì”<ÏËår¤Nõw¾ó‰ìs­V£ZúE=žF£1>>>55Eæ´ é­½Ÿïû$î¥Ri~~žˆ£½B\×¥-Î_¡7eÈD ¡Î—ž'ØÐÐ °yž†!­#{r< ¬@€á Ä\ Ý©>Aýq{îë"ß÷mÛ& )e6›íU¥‘„Qé`hèfgg-ËêÕ¸‰Ý4MR™©×ë®ë \j•XÊîŠÅâÜÜÐŽ¼{r<™L†Œ]…õzhAœ k&‚½îD’µ†aH¬Å'Ÿ|ò¶Ûn£{íÚµÑP¯×©Y€î©Tê¢ 4ŸéfNÆœD¶J¥R$‰âyžeYóóóžç•J¥ÙÙÙ0 ‰Ÿ‚ˆ$îP©TÀ¶m‚i¡ã8ŽišÔhÛ6J)ÇqÇ! Ò`&)M’Étè]†õzܵ}ß§f ‚Âé‚Mžòd¢A~Ò´,s'—Ë‘Ö,5nK?ëþé ÊÓôøë3ÓzX4õyž@µ¨ôB'½›ÏX[ wFãY ’ÓþÏé(ë  T"ޱ»iFåE \b+[Ò®“ý“b@Épàgþ.ÄvëÊ%Ñ:±hÅ¢ç4‘rTÏõ ç'‚nÀ§>uZo kO=<ËìDU3šØÕˆÈ€uˆ ¢Ó§ð‹%œ_dÏ£vI[v…ã @ϲ+V.òÔÔÔøøøàà ‰¬>žˆ;žÇbþ²*• UKÒét6›¥vVꘘ˜H¥R®ë’V«Õ¢uÉE=*dQǵ’Ré¦W•@êà º¦”rnnŽÑ^‡aHÞWˆH«+VbÕ‚ S™ïÕqÒ´ñ}«Õ*yF6jm´å[ ƒÖ LCµPº$Vy½ª˜]jãö‰i—PõXk-„h4½b‘å3t³êÕüp§Ùl’°âððp³ÙrÑn— ÷4‚`@û?ÞùÁ›¾³4Ð%î™–…·3cì@pzÅ)|看º==‹ÆÓgPk?ƒ€ _`×ì9͵£PÁ€sPuGÝÅk“ ½BOC-$`»qC׉V);` —Pø¸^àŒ“Ø}!ý"®^@WN=z4N&~ôèÑU«VQµ2Š"Z*é’Ú´Ï£ZoгùLê5ëŠäýÂðDD¤ÞHZ[PöE⎔Ɠ&B:¦H¸¢í/v–8äµZ­b±X«ÕHj»WãFCu椃´‡ÔÍÄ·²»T›ØŽ&âKÁ ‘ÈDŽ€Z­ÖÛl9¥D :•OZÚöÇí¯S² %ª5f÷ e€\.W«Õè* ¶ã8=Ê÷’¦zóRC’C¢GRÿÐ;/aznÖj5=jz¤]B;ì†$¨8ÐÉs–äi´ÖD¹ÏårD½¡8 —NMM}îsŸ›žžî–]¼d£X,žßl‹wDDõËtj@™²l®˜ôeйi+ÔüòÌü7¿ö Á¢ cJI²á2 &#‚4€  P1 \Ÿæ|?ôf%Ôº2m f™Ú”aŒ # ´¦{`ËóõÛÖm¸åj6țдÛ’&×¾WÀ4 ?sË82À4j† ´¢É¼@j4SÜDËShƒE€œ8v¼“kiJ3©9rC» Eç…ß"ÓšKdÈ3Æ8r†€ÈhË‘3dÀÉ'Aq‹XñŽþb‡É„ µŒbÛ0-Ëò=O)5’±jÖ_}âØä±FµN§YËh>º:ü–†³®múÍ̇PЀÓK²¸† n‚Á87²)dZ¢,-YíÕ¥Ñ!É”‚X3͘ÖÆ~8 W(ºúžÿza§ øk Í¥ûUï¿þõ;€)F€ÉO)G^žw Æ’äŸÞ!  ð5膔R…Bˆt:M¾ŠK­9]6@5#ÄqÜl6©Ô°oß¾'žxâG?úÑ¢Ÿ¿á†öíÛW©Tè©O-Ç—~Ù§ýèG?úÑE#)Åû¾_.—© ½ÓÜé­.ˆ·ßMètÄ\îA­p hÂKİÈï“ú}ÎÃíè™gžaŒQ“ 1ªÕê<°wïÞ+s¢hé·ª` ÏùÑ‚•5Cƒ¡µl{EpäL\h ÙÙéE·2hå \òúlÝ5Ò¥Lq²yâèÑ£J+×q%¨8ŒÚ¥`d„íbDƒ°úgVnÚru:›æœ~xrzvúØÌô±©`"†@ˆ2nHÅ7A ‚F"5h‘ª®MÞœÛlÙ“3'laAÌ.¢ ëÈEJã‚-jÆ Ƶ–”_ fžëñh¦4 ‘ƒ0™i¡#4G (!½¢-|¦@1Æ‘1ƒ3.”ÉÐhËöz‹  8Pà9h`Hïp†œ`Å53BÅe›m¸!¤S©Fµ–6Si7å·ZÂd7ë 9w`.¬ûIu0ŒQ‡ ´ù ä¶â¤`û/¼Ò.eò¦`•ù¹£Ýw¦ÔÊÇGØx­ B„¸Ù$ÆÁÜÉ™‘æòa{4—ÏIkŠÅºÍ3A•´~Ž× '}Ô Û=#ȸf¥üø‰“À"³Qi\]Þ8éçQr£‚À¶íÛn»í9tÎùôô4 !“ÜRŸk— д ¬îºîúõë_úÒ—¾ímo[ôóܽ{÷ÀÀÙq{žG¶Xý%Q?úÑ~ôãr Òk¤ž)»¡¥@omú¤è™4lÄå~^¢("ú ¡ $)MýµZ‚„Ps-™Ôô”Íf©_ŒVwSSSWì,aíE7 ‚¬‡­8Žc”” 2ä\ †œ¡Á€I`Ši†Ÿw £Ðƒ’GaÌ$ ›áž½{²{Ö |d† 0RmV¼Ø`n½ñÚUWÙi+P~-lº®cÛîøêU+¯oÖ½™c'+“ÕÃÿ{¦44Æa,9GKi’áÓ*0!><ùä“×ܺÅɺ†Î€{1{'80\Ìà ½e¬Ý9À´Huü% ŒqàœiäZ4¹6xȵ‰AµVoÛsÉ ÆL`4p&¢K'«â* ‘FΑ3ä8h$Ä!çÈHAqc¤¸:1´SqˆYÜ 3£BUkTÓ®¨`×Éïýóÿ¦ÐàŽmK ÃXKj2;­ ÀŒ^;´íE×-ßtÕ®“GXÃTÀl+?ß0¶~ٵò4¦+Ÿ9ïhØùKà lSDŠ¡– šÑ}{Dš¯Þ°Z %YC¤a=ŠŠð(?×ë€#gÈ4j¦´@š'Ùêl¢î),3öclë^\Æ t‹î¾Q“3trû]€J$åùT*E¦W$g¶ÔÂÆe4¸®KöTäVÝl6-ËÚ´iÓÙä6mÚdYV³ÙLtž •ï•¿z?úÑ~ô£ÿ—Hú&È2“$2Òœ)Av‹¼ÐÆåîdI5åÒL£u§RÊ0ŒL&C°—ïûÔ7q27óóó–ee³Y­u­V€k¯½vçÎW&Ê`2@ À¤0P›`ÍMf0A‰ !´àÈ †ŒÍA3}.[3“‰cɘ>›>trjfšI¨Ÿ9QA F†øøu뮽ášüp®Uf¼Y-•“u|˯`Uµ*ž5ÓéÑÜØðòáM£_rí‰ýÇüøpí@&u !릤¯Úòˆæž89½|fûí/:éÍÔ¢Š=»5u×o‰1¾¤ù©™V1¡LSK[)1 ´ ´ãب †0S¶ápf€â  Ž— ‡Ih¦j’KT²Í¾ v \è6ÊÀux  ¸B(.“¦ Hݘ-d3n*ð|7e—†KµreßýàšY ªÖ À`#°î%ãk·®Oä”!}îkì“i`½Úˆ„ÏlÛr\ÛIÛÆ¨SZ5°lÝXp›W¨Lì<ÖÜc ÁA.ƒX˜®Ë80»ÿ¿öÕžn@ | N1´ZÀ¾ïýddùx]ÔœqK›x1[2X4‘´ÅS(A3%8?÷ýgŒ™ˆ(Ð2”)¤Á«X1©Za ¥Ò Lnr@Î2B¤Lˆù¥"Ëb)&LÓ±ŽQ!hàÈ9†¢ k Ö ¦JEM§hPQœN¥|?l5=S¡>x¤¼»!,˲S•Ƽ\ƒÕÈ|Íÿ÷jÌjÈóØ•Sz&¡²43ØèȲ0ŽüÈ¥©V¨› Qhžânz$5<´|tÍʱ«VX}èèŽÂ$ØP,Ö±pòÀ±ƒéµ[7(S+C£¡Qh­5‚BD¡‰£qN׋f\ƒPŒÓši` @sä†â–k® @ 1T‘æElêÜ@"ßdÀDHÜ$òù<½ [4=Ѩ™âÊ*• =áÈѲ¬5kÖŒÕëõE??66¶fÍšññqÛ¶©° µ®T*4^ýèG?úÑ~\^A´¾8ŽÇÉçó´°mûrOh/÷¤J©V«%„°mû°Ó¾ØRÊ4Í '¥TEäfš&™˜’äö’ö???_,Àó¼ÙÙÙU«Våóùáááýû÷_‘óÄ0¹8 d3Çñ…#3L®¤®9r@L3Æ·ê4Cà žw‹" Á&wb-gʳ'¦§@XBŒ!ˆuLl¾îÚÛ6îžØcŽZƒ«K!óç¼™V£Å3,½Ž“àÄÂB”2ŽÅ»¿öã ›7ˆ¢ÉLD†p.[ÅœûAâ!v¶Ši† ´…¨5 ‚DÐhš0¦‘Ñ'5 לi.4C…¡8Ä€!@ÌmÓ’,V\rÎÑ@)âÃ@ZiÕÆé¬ð×X×U†À@´Ï`·Bwty@p¦EוÛÙCªÒŸš„j­Œ¸ŠYc¬P‚B Hþ®Mg8õeJsšs`É¿‚aJcàË´•ry¦~ìp°OA …¦€ ׉e`^öÚ[ÝñTͨ5x=À@*¥(@Íæf‚¥u‡2Š5ÓšK7í˜9'öä\£,C´SNnmvîZü7ÚJIÔ`8™”§£xFr#"3/Í@j­ .’18—-ž’íœ/†àZnÓh¶íKÓ„H‡úJP\î–Ô!Ïlâ©- 7 )%ý+=ËH¦gÉŒ†¤‹©[R8yçÒÁãÉ<"qu&ã 2¾^4ȇƒVf¤ÒDô¿+CºýèG?úñÓaÒS?ß÷)壧aò|dŒQ‡ eYôì3M“t<Ï#ÿ¦¥V$½IDœ¦#éÕó”sÞl69ç©TŠRSÇqÈ¿ N×jµ|>_©T¤”a.Úƒúáûþ’öCbÕÿú¯ÿ*¥¼ï¾ûcI3K£Ñp]×0Œr¹œ.v(¥‚ HX¦iFQtâÄñ«®ZÝñ‘ç§a Øå$ºãgÈâX92Q«Õ>ó™Ï¼ÿýSºR*•JÕj5Û¶ í"ã‰ó`Ö xžGš#QѤ½"/^ ’"udò06•Ôj hr4¸6h@d¨™–µ­80®9uÔ«X2Æ€3Æ9CT@Ӄ͹š©œÌþ¯½FœÊ‹¢/èdíj0 Àz±æ5kj¹z9] _ d1j_‰P8ÌÎb 4ãn& &6­–·4CԀ̈ZBÅN¢zù÷š—_k ¹÷_{QP4 ­…§«~ÕšO{‡<« 8´åQI¬žÊ„g“["7“d›µç°fšBk… 8CÀ¥Ž™Œ šs•fÊí"Å@ŠX-&ˆˆ!mðXóØÔˆÚ’¦meDÚô h)UÕ¶Ï…´1ÒÀ,Ô,Š…”¦ö…¯´Ê…Ø‹•DÓ´93•B@.„Ech!CD…¨@G“À”Pb€ŒL:Dƒ®þ®M!3€k:êNž¬U,‰ k À™!L´q6žæ.:nŠ¥M]Uµæ M‚É™i0B?A#“JÈ4¢ hr@ÀÓZ¡``Ù©¼; ¨¨AÒÜØ6˜u¯Ž^üÆ—èa=mNE¹ 6dŒ!JfhÃQ‹™Å\"(p…]0ÍT3l4£º.pŸ{ÚPb€G¬®´?tMfÅÐËžüñÕšàp®Cn€Íë)<›q¾óo?¸ýõ·ç2G«Ç(î²X£›Ik_ž»«2.P3Í;XO»í‚k¡#ä  ã4qÙ3 )¦{¬mÛÙl–¤‹Þ¬£çˆ”MÓt‡|H‹úlÏå¶*'"¥Û¤Žl@?úÑ~ô£ý¸lÃó¼n~{"L˜(G2Æ ÃÈårqû¾¿ÔB!Dœs˲([¦=ôªe£Ñh¤R)ú”Æxž'„ Úm©¯„ K=Î¥î§Ñh˜¦É9¿ûî»ëõú±cÇ‚ ¢õiÔÏÎÎA „¸Ø Ò´"˜)Žcj¬ ðިµó2äm¬¡{]Þ1¥ïTùÀu2d N†ZkÃ0h¸ Ç955•Íf“Ñ ¥É+˜žÃ:Ld -9*м# (X»°ª€Id× ¸æ€ Ð䀌!n0Db>0P ˜`˜v\é©cÇA ”G½ÕzRX±}5Ñdu¬û,@)áær¹´JY¾‰-`L81ÍK¡R¥ta¬`¤LOzõ°…`r&g`s%4g"·*ÏWƒÞžö€PàQ¹qdï¡ÛJˆ£ÁµÖR#ÃE¿¶>±†¶}# ·BÖ6ZÐ ‘!(Ð ™D®4 hÀ…æ€c˜B`J¡Æ40Îl.l†èÁbPa¤[±ð¸! B0&µ68ã–ЖVBÅ<’B"€l…PG”J ŒiÅP#ÆÍ$2DÀ$¢” c†Zq@ÅA1 ×§) ¨ Aê<$4L3¤«8ç@i22!Lf Di¸fÄOù†crÍ ”ІÔ€ ‘·1FÚH`Hj 9)x ±Ž¥Íy¬¢ù“õÚ\ H à!ø40 YÈ^;PX5Ȇt™ÏûØ’(cŽH9˜± >ç†ã5|¿´â ›‚|!=’_628<ãMI¥Ð1„ˆÚä&:(R¸æ5Ëÿ牠ªC<„˜´âƒZ¹j ¤ F3Æ8×ÀãKº©˜bæâZÐC~ U`º_ þ?=úCÐ~ô£ýèÇå”ú¾OulÛ¶‰™ØP‘뺶mŸ‡H!•Ä©ìlFµZÍf³QõJóˆ\ ÕjÙ¶M?Ÿ¢Z­f2ªû¾O-¦çñKÚÕ…Ž?^*•jµšÖzpp0N=zÔ¶mBJ¥’ïûù|žèu|H 1yÍ9§w´Æ6{OËÔÚ¯ ,Š¢|>ŸÍfiI)éŅб±1:ÎV«A±X ðZ­^Á—*72È‘µïšk†š1¦8ÐȉQ¯€Ðœ£fÈJmFã  Iå3 Ó:P¡“¶î>º2 ›-C0+%D€aØ´eZƒ êM'ïJ¥LfÚÜ–ÍøäÑéú‰ºöuu¾Ò¬×cvÅ@±ÐÐ~ô£ýèG?.` zQ¯×Iˆ!“ÉPñ™JÄRÊ|>Oo‹Å¥bˆH$ß÷]×Íçó”á÷ kR’L@¢Xáy^*•âœçóyß÷é}ÆØùq.â8^Ò~H#›ÍÆq\(ˆýÁ;xð {E…BA)588˜$í)`¢¼.ÉîcJ©Ðе== î40ç\HtéÅÿ=HÿæUÏ IDAT" CÛ¶ƒ (—ËË–-£1¿Q¢À«O›kèô0ÔL3¦2­¹Ô\1œ!pÐ$’ÈhTŠi±bZs™äšaäÊ&o€ éH r HCiM¾ìÍdraÝ*Ö}ß– vT‹ê3u=C®›Õ¡B–aFqÕˆ†CU‘é¬Ë¹Ï „lééF>U€ Ò€ 6€0!Ô¾RHú ‘¨ dH»[0¨#‘6 çšsàˆÈ 9“çÈM0€¡d #!0ÉãBƒ%™)ÁdÚ°ê‘Õà<4! Å"6]K¹š»JJkdȹf&˜3$G@`€æ‘!7´ªjB0f Ã6 ‹1aƒ´M Àˆ c@Í)Tì 3€Oñ„õ A -QE:4"€Ö1US¦c›¶É¤–JÅ`‚a ɤŽÄ"ˆ¦fG@ä’f{ø4ÓÈãiiEozq³©à˜€X€ qNÆBj¥0ÂVše™Ïý•êáZ|¢edmŽŒ;–ÁcLÆÒ¯{ÐÄÚÉZÁÉÛ¶)´J‚`Lpͱ¦ë° ` ¨  ˜ñN[Ù¢=„ŠÙÜM®Ö T¬oÀÔúÑ~ô£ýèÇ(Šâ8ÎårIµÜó<ιã8###ôN¢¹ä ‘rWÒD´mûÛßþöí·ßÞ«K¹ %ÿžç!")GÔëu˲’®þð‡/zÑ‹¢(ZjîÁ’öC”Rj~~>ŸÏ»®»cÇŽ+VäóyÃ0Ç!CÇqþó?ÿó•¯|åÙÄð.Th­•R”Ý)¥H§C)Õ–÷&–6²ÅDî;btÿ?{ofYUž ?kÚã뜪:5tWWOŒÝ4„†fiFÁ( 2\ùáH ¢à€(ÄDL"`.Š_¢´2è Ħlh ‡ê®y8§Î¸Ç5}?VuI|ß¼WLÐ×ðž›ó£8Ã>k¯³÷îýÜë~î[›š_ù°Y–Éü×a”5æ+Ç„Cr•W#°†%¦Uˆÿ³¢BJ“:Œµ:ô¥– ãA $NP¨&Œh Ô²HÁ²+ž}:+zE ¬eYadйFÒÙ8¢\‰,ÐH9¶Ç"Ã|á ÚjÍ6!BìÍò˜sαF¾A’@¢zïΗֽæ0ŽSL1&˜Ž ·—ydWr„mqŒ8GX0i’¶QGS…±¬Ôæ´5t ÔiÀ@ˆÂ ´T˜*L%V¢ @bɑЊàXK­5F”)Kk[E Aª $¦–FšH J3-±VXk_§4•X`5Q)‚$B TH€ÖŠ(Œ8@NµÆŠX"&–Æ6Ö -$ú͉/˘ ”¢@h@!…,M ¥Œ´D4hL…‘ÀœHŒ¤H%(À’¨Ž´%f@€i®µ(fŒÀ5ÄH‚Ô a%@a­5Ò%‡%I‰EÀp‘r$.âÊqCáʶ¯} $ÆœØÄrœVÔD4ÀYªˆE¹Äu´“tR^å¨qjÓ°Ԡ•P„ƒ¥À‚…‰;Çœ|Y2ŽÑ˜#­²xÕi+e°]ïô•úR¶¢fG4ý|Æ𽜛,¦ˆ#¢H%àB]¢¡‹.ºè¢‹.ºx%Á9Bñy½^ÿÁ~ðè£NLL(¥FFF^ÿúןsÎ9…BÁu]Ã>ü®=Ò¦60´…)Âï¾ûî-[¶,wdüAYŽÄj4¦@ݳgO¥R1O6äë_ÿúÆÿ‚íåü·ÓétŒ¨¤R©´Z­ÙÙÙ·½ímëׯÿ›¿ù›C@8Ž3??ÅW<ðÀCCC¿ß"ëßÁ¡]@/{üVZ„´éÚ6F›ËN†³øß¸Žÿ®h4¹\ÎuÝééió#¾ð ¯ê¬V¦?Ìr´IÄ¿Eøh´tp+@ aУeŠ4´4«Í€¶ ²Xˆ(Gú˜özÇyA4ïeâ(ðl'J#æYí¨ƒ,À¶¨H3„¡E- 9QV§ªÑ|R`ŠÆ‹1S” ¦ \×w,O6äx01ºyTØ µ-Lrˆ¤À-Å…8îÌͺ#3Èö(Ny8¡¶Š i‚›³Õ3æˆúý ‡¦XƒñÀ@c ¢ Km+Š#+% 4©sI8Ñ ” šPeQp©tHJ1×,`¦lB¸Dˆ£TR…]Äl†ĵHU SÄbT#$°RX(-5`H"¤0‚Å@4F˜dkd)miÅdl%&SòÊ ÞhˆZ2ƒ\N0ä~y„¥€´ZŠ1ưÖHk¤8€Ò8¡JP yˆ0¬QD¥:&Q©Ò ´DZH¤ÖœP3€CÄ¥‘ÒX*H³Å ²¹ìÈ'‚Ò”º®ÛÖ®%`óX ¹TK}¥4L4BÀÖ! æÃÎlH𥠔@ Ëfvä%­ÉF0T(  !€±èäʇ£‡rN1 b¢Y6›íÄ-+C›a£Óiç eÒ¤­ÚZIÇ)s­îÍ@—h袋.ºè¢‹.^I˜ G˜ššú—ù—Ý»wŸuÖYçŸ>üÓ?ýÓSO=ÁÖ­[W¬X±ð»~EÙlÖ8(¥vîÜùÊ Ò MS³/†^™œœÜ¶mÛ~ô#óL§Ó±mûÁ4‘Ÿ¿ëþf³Ùßi;FOQ¯× Š¢L&³wïÞ£>úÇ?þñ\¦iÃÃÃã}ûö­Y³¦Ýnÿ^'Ƕíÿ¥EOå¡"B*n‹r’¿±„ÀJ)Ƙ‘rëÍWðw79í°mÛ¶§Ÿ~úˆ#ŽhµZœóWëyjRô‘‚áQª#‰Â(¬‘ñü‡%„I-8”È ‘B—|) °EˆMµ…”‚«‹Joc±.²º‘tˆ¨GCœâ<>8=±jõH½Ñ  ÒÔÕXˆ4híŤàx~Nfy‹SÍlÇ–Zu’N’FØ£ÄFAÔ #Ø.(kItJ¥ 2Ri*#biÇóÒ IE›*)°¶cf(*Ã5üžX†ÿÕ\c¬Ñ„C )¡] mI å)U S+Ñ€SL£àØÊQ©íF$Š1ŽÀJEZaš Å5ÒÈ%,Ã$’Ë4M‘¦(Ã)¬5R€4PÐ4%À0E„"ƈK!KiK)[i‹ )1IS²ÔH³L1kI€(P¡k Š`ec…@K¶®†VäJÆ(Œ"‘ÔXaDÇ(U)ŘZQ;†(‰¹fJ!%Uˆ‚–Bkô7—ezuÌ¥€9ÌÏ9í4ˆxà]êVØRÄV‹D+meœ|63±w²l•Ñc¬1R( x»Úi-´H`¹¾›Fm‚j qc’)ŽRˆ!¥F@Œ†ƒ IˆXª| mÈÎB<ß_î%®qÞÑ1CGŠ1†™…-Ö½ø#½?ùßܸüNPÿºSÜE]tÑE¿?˜jmqqq×®];wîüØÇ>vöÙg@’$gŸ}öç?ÿùíÛ·ïÞ½šÍ¦ ªÄ·ÛmŒñââ"B¨Óé˜ÅFŒ±I¯0)†Ë!ÛÙlV)Á²+¤i½Æ·Z-³5ÓÅ`¶Ójµ’$1yã¹¹9“¶`>EƸÙl.k%Æòóœsó¼Ù‚ÖºZ­šg8ç¦V1÷Ê&eÊår†f6â8ÎårA0Æ\×5[Ã×j5óG³Ù\Vv,ÝüüüòØÌdš} Ã0“É=ÿr“¹Ù¯eM¸™êR©dbÆM©ë­·~üã7é’†17ã,—Ë¡z½^.—“$qÇlÊøGš&—L&c¾Ý²¬ BÙlÖD?!Ç™žž.—ˆý1£âœ›6‡N§S,gffŒ«¥IÐ0ÔŒ”Ò²,ß÷³Wq”Ú–Ûn·s¹,’BSJ)¥Fþ`~‘8Ž•R¯¸‡¥ÉËDÝÿýܾ}ûO<ñÊEüÑ!›ÉƒÐ`3‹ ŠrekÂ$vÁv±ã ›i†9Å!‰ ¶1±1±^ö`ˆØB"¥1`‹P›X6µ\Ê–©B,“©²ÈB§)-Œoò¨£“Â@i¦Qc9ß.d5#a !8çIA’+-A¦R¤Â·J-J,ÐXK=99aœG𭢄m¥…í0׳•–œ'®gÛ6SJšV‘¦©¹@™^žWkPJBÆl’RJ)&BZ­–Ç9a3J;¼Ç+õ8%XL 5té+tnDåB‰:n-°—æ+iûÊïŽ~Å»çéúJÈ f{´„v»­”òsY'ëJ$ÛiÐNƒREƈ˥Dê ±@R!LÇöØa ‚N,8ÌÕ~¡ØN£”!ðY S¤)•,oåp‚]íäh‡0\¤ f ±c‚Y‚9Êvë‘LÙîQmÅë±3E¯ˆ%‘lÛeŒ)©c™h¤¼Œ›Íg°ã4€ *“v³“1A8ëùA(¥l×õò.ó¨b:¥\R¥ ˆÄ˜’¥Ë; “ôÈs‡RÊ9â(á©@* ;–k‹%< “xxxxaa!›Í"„8—6s ^oBó¹B§P„±DJ(- lQjY–M-à°¸¸ØjµÛÍfsZ#žJfY`³”¨ñkNQŒD<Áz®Uï_5<Óªvd<´v$ÞH;ij»ç3¢¡‹.ºè¢‹.ºøã‡‰œìééùÎw¾sþùç[–•ËåÂ0´mÛ,οãïØ¾}{³Ù¼ôÒKã8ŽãXkÏçMÅþîw¿Ûd >òÈ#—\rɉ'žø¡}èŽ;î`ŒU«UÆØ 'œðÝï~÷#ùÈÞð†ãŽ;®Óéôöö !fff¤”œó«®ºêƒüॗ^ú¡}È”²wÝu×c=fœ)þüÏÿ|rreX‹Åv»}ê©§nß¾ýsŸûÜÈÈÈÖ­[¯»îºýû÷oß¾ýýïÿ™gžyæ™g^ýõù|¾Óé˜øá‡¾è¢‹Î:ë¬Í›7ïÞ½Û0«W¯Bœx≛7o~Ýë^·k×.ß÷þú¯ÿúÚk¯=î¸ã^óš×ÜyçSSSJ©b±˜Édîºë®³Ï>ûOþäO®¸âŠûR©ÔëõF£áûþwÞùÁ~ð´ÓN»æškî¿ÿ~S`w:V«uÌ1ÇòŲ,CüValšÌùÈG>õ©OvØa¦æ7±Œ±_üâ_ýêW/¿ür„ÐÞð†;ï¼Óp4O=õÔêÕ«{ì±ÓO?½R©ŒŒŒ!zzz~øá×¾öµ®ë®[·îÏþìÏêõúW¿úÕn¸1V(.¾øâ‰‰ „P&“ñ<ïÉ'Ÿ¼ýöÛBozÓ›®»îºƒ¾ôÒKù|>MSÆlÆì0ˆ«ÕªqÐìï/ÍÍÍ­\18?¿ ”êí- …Ý»_,•JË=ÝSìA' ¸–\CŠ×(ÞJ’F$Ú) ãÔM)DHÆ’ÇZÄJDÀcˆX«H#Nt‚y¨“–ˆzÆgÜrË- „˜˜˜ ” À[Þò–믿~Ó¦M­Vëî»ïþØÇ>vã7öõõ}ÿûß?묳LÏÜÿý'Ÿ|r___E&¶À¼ÇñwÞyÝu×]ýõZëüãïxÇ;Þõ®w½ýíoÿÚ×¾vàÀÛo¿ýK_úÒ¶mÛà{ßûÞw¾ó~ô£½½½ýýýgžyæ 7ÜpÌ1ÇLOOoÞ¼ùg?ûclaaÁ𠜚š2šŽ±±±|ð3ŸùÌg>ó™|>ÿ·û·<ðÀg?ûÙU«VÍÍÍ}îsŸ£”ž{±ûî»ï‡?üá§?ýé¾¾¾'žxâÿñ÷ïß™Lfaaáo|£i03ü[?„á –åœ—_~ùÖ­[W­ZµnݺR©455åû¾)‡}ôÑ'žxâ’K.yàî¿ÿþOúÓ„K/½thhHqÍ5×|ãß8ꨣcQI)ï½÷Þw½ë]^x!çüÃþð‘Gùæ7¿ù=ïyÏç?ÿyøêW¿zã7~á _(‹;wî|÷»ßý‘|d|||jjê[ßúÖ=÷Üó™Ï|æ_ÿõ_Ä!bB1lÛM’da¡644tàÀôÊ‘Á;w ÁSyä‘N˜.‰.ÑðJA ³$W*æ–Cµ‘Ô¥ž„Œ•V&6á$#´ °1ü3­ ‘¢IešèD¨$0IekE½\!ÕRñT ©©µÔÖaÚ‰UB=då]ßòÛi(¥Ìf28ÅíÛ=}=Ss!,ÈXÇ?Ÿ¦qœ& +êRAD¨bæ0¿’ï©”;4à*¡„€œ•”r Ô#yO3™¤R`j¹ØÑ\I©SÉ~“:‡Œ?_©ù4îR›óM*¤°ÆP»Õ¢Âr€ðàîñ™_„q€2ÀFÏí=~ÄÆT•´Dõ`²¾^™·;zñ¥©æù¤Äí ¥2 Ç®X»q…-¡Pb[¶Æ˜'©Ð$ !1çX¬%D![~ú±gzüâ‘£GR׎›"‹p9ÛÖãéÆìDcº0ÔÊ$¡’ÂâîÜsUÔÀý¥² —Y6e¬Izd¡¾o±UoÌÎÎ.,,ð0ij×êí- ®È•ó8¥Hb©`—Ëi­ÇÇÇGFFŠÅb°~ýz£MضmÛå—_þ§ú§iš:Žƒ1¾óÎ;ï¾ûnÇq¾ùÍoÞwß}¥Riß¾}'Ÿ|²eY_øÂþþïÿ¾§§§P(¼ÿýï?òÈ#'&&†‡‡)¥£££sssýýý333<òˆYÞ/—Ë×\sÍE]ï|ç;üñÝ»w¯\¹Òqœ(Š|ðÁ/ùËJ©0 K¥´Ûmß÷{zzþê¯þjppÐXKÞxã?þøÛÞö¶r¹<77·jÕªO|â—\rɶmÛfggwïÞýÖ·¾uÍš5Åbqjjêþûïÿð‡?|Ûm·™­™˜ÉÞÞÞ8ŽÆa‡vþùç{ì±J©5kÖ¼îu¯ûö·¿mŠçgžyæË_þòúõë€1vÆg<öØcgžy&cì§?ýéG?úÑÑÑQJéÙgŸÝßß¿°°À9¢¨\.ö³Ÿ=pà€iè`Œeø2ã`ˆÃ5@š¦þð‡¿ð…/œp •J¥Ùlzžg¸•+®¸â˜cŽA½æ5¯i·Û÷w÷Æ7¾!”Ïço½õÖ7¾ð ¶mŒŒT*•÷¼ç=\pÁž={fggo»í¶þç~ç;ßÙÛÛ;44Á©§žú•¯|å–[n Ãðè£þùÏÞn·çææòùüUW]µiÓ¦“O>ù¼óΛU ’8N’”Rkn¶öøã?{ä‘G|ßÃ1²båÐÄÄÁ›núŒÖ( CBˆ±äX.»¤Ã™lÐò°x͸Y ²ÝjÏNN6«Ac¡… µˆåÛÈÁ #©F&@á× `†…âB ©Æ’Ø”ÚX[ˆüX&I˜$AÄãD !µÐ ±OĨÇ9bUÿš~ *Rܵ(èÀÄf¹Þb½§.6Ò4âŽKJh¤‹BjÍQžõ®ê“¶îð°D”Șc ¾v­Ôzüÿ}$C‹Ž¶E”(Í©’¦M”lzӱЍe¢Á‹¾R‡Ò‡\5¬FcAJÙ¶½0^}ñ'¿†@(èLXðÌ÷Æàá±ì»z+þH2oÜ€tsOu×ÏvWŸž…p),€‚Ùþ´×Š®¤í¹Œ¹R£N'”Ji¥€+$K ®zóVë©ñV2îŸá•¼Þ¢]È"faúù=ÏMÕöCÂÖõñlÊU `±pvç\Ý›¨TzV®ªôõUq2ízê×­f3]H–¬HH; rƒ¿œX±våª#W—‹ýV3ÔrYÔŽ±©m!¤5@1¥aOëTA¢4 A¥R*¤(B3°%Vˆ ÀZ2¥A!À¼£1šj%”Æ´FX‚Œd«Ó‚DG¼¸ëÅÖ|ÛƒLÅ"€)‘L*ÅÕW{îÂâøÚ²)çi$ƒ|±ge!˜©Wy•"I¦X .9•#IdqEo¶'¥1—ZZÌÁ«HŠ0ÙóìÞ­…b”Ïä›aS3"=çžjY“\.›¤i,c Ýæ‰W5ÑÐE]tÑE]üR !Ôl6­€Ñ€çy‰¢!488xÔQGýøÇ?~ýë_{÷î­T*¥R)Žãñññ-[¶œtÒIããã===ív»V«BÚí6!dddDJ¹bÅ £·Ÿ5©™Q}ó›ßüÊW¾’ÏçÇÆÆ†‡‡ !¦ö>ÿüóo½õÖ¯}íkðàƒö÷÷÷öö"„J¥Rš¦I’T*ÎyµZ]·n]­V³,kfffdddfffõêÕ†4i6›¡™™™L&ãûþC=ôÔSOÝrË-®ëær¹ééió]ÙlÖqCPJ+•J>Ÿ?âˆ#&''{{{[­ÖGQ.—¥”ÍfóÉ'Ÿ4#õz½X,^xá…÷ÜsiyöÙgW¯^=??ïºn±X˜ššJ’Ä4PìÙ³gݺuphq!dL–…— ³³³çœsÎOŽã0 BG}ôŠ+fffÂ0Ü´iS¡PÀ/,,LNNÞpà ûöí3 q !Î9çœxàÈ#¦”J¡BŽã ===½½}¦~ÅŠ¡É©ñmÛ¶µZ-¥!ÌøküA=ü^팠ñ×cg Õxnfaì¥ý³ûç‚ÅT7_vcnîÍ—^þ0À‡2C–ÃCLl€`œ –ÞŒA‘è|4ŽõU²?Ž«i˜¤Zœz6óŠ~®7Î7 ®›²í2W8(;Õš\ÄùùBy×"4LbK[yä馄'u'Yì˜ïÅ&½Àòÿ0€ä÷IÚ,õõI—6d @ØL¨eSD‘oë|­CCJl `CÎÎå!·Rš¨Ýïšzr/ œCÓè€u:rÈé±H¹”˜SqDXQ­…– 5 ¤5Ö!¢Ðô¾IP5xî'œR﹯;—iôó‡~ÖjW!à•—³ ®S[е…‘é½/ÖãzTn÷¥…^^˜~vâÙ_þ*jÇK¿¾`1À8‡@C 4VãóHd¯8jU¦”ÇÄ y©ƒFTb¦c¨ÒBiL=¬ˆDH„qŠ´B(F€‘@’8Ìv@!è8TÚ’ZD+¥,4M¥ÖiL§6·Ó˜·öÕáyycÉ1-±óƒáÚUkÊ«z&gRB\ßOiÒ‰:…L¾²®~j!™l% ˆK2VŽbGsó@ñêÐwF…eœHÄ©H0£–Ë@*Ö™Ô©þë4ìH4t e [Ëb’¦µÀZʈ"ºkðê%ºŠ†.ºè¢‹.ºøÃ£Ýng³ÙV«µyó­Ãb IDATæ‡zhëÖ­ ¥4^ƒ###wÝu׉'žhÞ|õÕWßpà [·n­V«·Þzë5×\355544T«Õ&''cF£P(˜dG0ëö”R­u»ÝŽã˜²ì øÙÏ~žzê)SÐ:ŽsüñÇ[–Õh4N?ýô{ï½÷À«V­ú‡ø‡¿üË¿\¶Ÿ7›"„¬Y³&“ÉÌÍÍ Ã2pÎÃ0Ìçó¦IÛ,ÕšÕZ)¥Âì¦ñθâŠ+>ðüð‡?<÷Üs=ÏkµZù|Þó¼;vø¾¿iÓ¦™™™z½>44tì±Ç>ýôÓ===ã¡¡¡þð‡'Ÿ|²RŠrüñÇïڵ˶mcÉf2&Ÿþùl6;::ºsçÎz½Þjµ\×½úê«W¯^ý|`ttTJ9;;{î¹çŽ{ì±õzÓóŸ÷}?›ÍÎÎÎrÎ;Ž¢Õj}ûÛß6ªÏóž}öÙ4M P(h­/»ì²»îºë=ïyçü¤“N2òJ©qmPJ-,,,..šñÏÏÏ›î ójOOqC°, clÛ6ç|ãÆ¥R)Š"“(i’#wïÞ}üñÇi­³Ùl£Ñp]×qœ\.g¢+jµÚ2Ýa®Y³fÇŽ§œrŠÆØØØUW]Å9¯ÕjG}ô“O>¹fÍ㳸wïÞÉÉÉf³Ùßßßn·mÛ6ã44ü[3Èe†¥,J Š¢O~ò“W\qÅgœ†¡ã8ãããÇwœÖzÓ¦M¿þõ¯+•ŠQˆìß¿Ÿ²¸¸E‘ÖúðÃït:f;Ï=÷œmÛ{÷î%„€ñãÙ¿ÿÄÄ„ã8ÅbÑalß¾ý…^˜ŸŸ¯T*A<ûì³Q …_|qddxª¢(Z¬µfggÇwçÊ+¯üÚ×î¸à‚ Ö¯_777ÿ‹_ü¢R©ìܹsÅŠ!è¶K¼’PsÎgƦ_Øó|ý@É’ j ÚF)ÖZ©C,Ò@L&` ÀØlH*-V 4€…h D&@@`‘ˆ8X "€9ÐõÔ-y²#”J¤RBŠ•bÞÉ…•0XìŒÁ~læ3–c~ÙÏöç ý9åh¢V”DêŒe«¦Ø³óEH@Ûĉ%"Á¶ò#E‹8„D/'àìžX&ø!­tÂSž¤ t.—kϵ¦åÙ½¥>}â&¨B¡°wj¬T‹«Åõj'Í«`oꀣ”Œ[Üp+…SVýÚ#Ûz.ÖH°R‘qŒ)#˜Å‰¤„0¦@¡Re—v„€Ä0÷âø¼žô7L"°ø`I%5¶5åD« ®à(ÕnwÚí` KÙ²@<°<‰x pÝ‚ÛS‹Ó¸]Û=9½jx´¸¶”ë³p»­@„A„Y!­°D„ ¢ I‰•PJÀBaHkG#†ᑎ3^EG#$”ÀQ3ÒZqÀÀéóú¦É¤‡ø¬ 4aüù¥ÑàÙ^+hCv†µ£¶O³ëûmÏN‚°YmÕçë:V™l¡²b ´¢l•ÊàHEB êP‚h”ÄXЂ•ŸÞy&Rð ˜UÐE|ÜÐF/¶b­ ÌOÂÄóÝ”ËCŠš.^¥Dÿ§hèþÕE]tÑE¿? !„q¸ë®»nºé¦k®¹fxxز¬'žxâ‹_üâqÇwÊ)§˜ I8餓î¸ãŽþþþ¿ø‹¿h6›fUÿýïÿí·ß~íµ×qÄ Ãðž{îùô§?mÛvù|žsÍf³R©0ÆŒ,ß²¬›o¾ùÚk¯m4?úÑî¸ã޾¾¾Z­fè€7£‡w¾óàû>¥´^¯€çy¦zw]×u]!D__ŸÙñññ™™™¡¡¡5kÖ˜@Íf³Ùét,˺袋®¾úê÷½ï}§žzj«ÕúÅ/~ñÐCÝtÓMZë•+W>þøã§všÖÚ Õ¶m)¥ëºÃÃÃBˆ$IV®\9??ßÓÓsÉ%—Üxã7Üpà 'œðÓŸþôÖ[o½òÊ+cÅbñ²Ë.ûÔ§>õ­o}˶í;vÜtÓMÏç“$Éf³kÖ¬Ù·oŸ‘x˜\£hX¾áÑZ/ ¹\nlllÍš5“““guÖÍ7ßœËå’$Y³fÍk_ûÚ÷¾÷½·ÜrËÈÈÈóÏ?Ùe—]uÕUiš3ÆÌÄj­§§§K¥R’$F‚ñÒK/ŒŒ4›Í\.7>>nYVoooš¦•Jezz!´bÅŠuëÖ}éK_úЇ>ôÌ3ÏìÙ³çÊ+¯´,kqqÑ0a‚ƾŸ)•!Ts!’B!{ÙeïÉd½ÉɉZ­V©T¸HŽ>úèz½fÜ(º§Ø+ŒkPº¹ØÞûÒú¾ (”Ž¥À `` «D‘¥ÞŒ—Ú$0J¾ìœ¡X&1פ†C²{L€2`°îð6Q0Íéª=À8J™ã§¡À ´¬B9W*&­¸±PÜ0$A¦:Ñø=®“wc-DUÈ[‚+!ŽÄ̵²Aµµ¸« €ƨK¬Œ?²fµqg0Šs!„™Zšÿ›¦zý»T‰D«Æ(¶”Ò)fÅ"…Açi!uÔ‚lfòÙ‘Vg";ŠâìÚ")ZS‹ ¤Ç¹aâ—vl¦@Å*NJ ¸.·ö´ CǯçY<N3Çã"ÅÔ"©Rq*‰mÛ¶lŒ#€(AÆÃÄc~Ü ò+œÚd JPJè0N€¸y >¦.órn4ÑÖ1Þ3î‚:@   ›¥!ˆ@F8|ÓQƒÃJÁìôls²ýÄ??™DR C &žÏ æVoY£ÒŽì¤2.v¶Á q J—˜PR#ÁµR@¦Šƒ¦»ÌµÀŽRšŠyXj ’k®±¤0kìÛY¬!Ú+ú‡ööìé,¶0#,Ð Â])…šŸ¨¶«a¶§À©˜¯Uí‚cç½fØàŠW†+#ýÃ8ÄI+I” ìe|æÙ'èh D!¬\æ×q˜`P9æî}éH€ ðm+…AiÀ‘ŠÒø¾—Æ ¶ ççæZs€Q,‹1…6'hŒÆÆâi0²¤1 Dc ˆâ6ù(€(bTB @5IW/ñG@4tÑE]tÑExpÎÍB7BèŸøÄ“O>yÛm·íرŽ?þø‹/¾xË–-`nú¥”_|ñÙgŸÍ»ð M ÍÛ¼yóûÞ÷¾ï}ï{?ü0çüôÓO?ï¼óLS†q”¬×ë¹\ÎL¶Z-ˆ¢èK_úÒUW]uÚi§år¹R©ôæ7¿ùž{î1F===F㢋.ºë®».¾øb ”šçá9ÂÄÄ„ïû†ì€8ŽÇÉd2ÙlÖ¤¯ù¾ßétúúú2™L«ÕÚ²e‹RêÞ{ï½þúë·lÙr饗@»Ý¾îºën¾ùæn¸alllß¾}œó+V´Z­R©dx8Ž ¯¯¯Ùlžzê©W\qÅ 7ÜÐn·W¯^}ùå—oÙ²EkM)=餓.¸à‚mÛ¶—J¥÷½ï}¦³`pp0 Ãõë׆(ŠLd†ã8†X1ÆãN§“ËåjµZÇ###årù’K.yûÛßnâ8ç[·nÅò“ŸÜ½{÷ààà¶mÛ.¸à8pà缿¿zzÚ̃ћ½ƒïûZë0 [­V½^·,ë…^èííÍd2I’,..~ñ‹_üøÇ?¾iÓ¦ V®\yÇw\~ùå†áÂÐ^ËnZëN§cŒB_…@X#€èÿøÁOA*C!è8Ði0W~"º{e¾ÞwÚÚÙ´iá1GÔbyA´Ô”–l€™hC¡¹”R°$TÒJ”#ÅìoÀ4X1 €ÄçØüî ²ÇßßöÌ¢A Vže;q°Ð® àvÞR :a=ãed’:ÔëñK–¢¼#07cUóŽ9}´I>qÛS:’ˆº’s <ØpÁÆÜº¬(êboŽ'Üå,–Ò­;wû§þÀã€ë hÄœþ[D-:íº~‘D0ü'Ãa_xæk·>öÏ?K~ÐHy]Ó鉣Îl+[•Ù4ã¸q35‘(\ÌfÜR¾‰£±.Fna&9ĉŠ(²BDRÝ"*&¶ëeݲt“Ùðr”Óãbñf*[@cj)+l}™’ Ò×_ìh©DR   ‚Ưk;*¿>ùͧ´¢v_ve :ÍVGû(ÅÑA½×Vv õÙ®k{8ÕI:€õ1vÈB}®Ô[Æ€šÕº¥í‘b¹½Ø~ñçÏ<ÿàA*„ ‰€,XÊèÔ ¹§¢ÝjhfGBß ulÛ6¡Tr•tbÅ¥ƒlÛHbª€(J%F!…@i"Kó‘¥! qH E6f¸#LÁHÖJSД2)bx5úM.3ã¿Íåò[a1ÿ9“„.ÑÐE]tÑEÿaJAp§··÷¼óÎ;ï¼óÂ0Ïó–o&Ì{(¥žç}ÿûß7ÿââb>ŸÇ7“N:éØcݶmBÈ L)øÜsÏ¥iêyžã8†)øÉO~Åbn¿ývß÷1Æ­V«X,¾å-o€žž¥TE¿úÕ¯Ö®]»nÝ:Óˆa|µÖA‹Å+V#IÎy½^gŒ9ŽsÛm·™–eÃ…›o¾r¹\»Ý>á„6oÞ¼¼SRÊN§ƒ1Þ°aÃ=÷Ü“¦©ñh6›·Ýv[©Tj4¶mSJcf;¾ï×jµ­[·¾õ­oŸŸ—RöõõB }@)½øâ‹/¾øb#¦°mûðÃ4“ùÑ~Ôø2ضmn¿LˆF§Ó1Z€ýû÷g³ÙýèGår¹V«e2„ÐôôôÊ•+ðƒÔj5Û¶›Íf¹\¾ð ßñŽw$IbÂ2LÏźuë¶oßž¦)!dbbbdd„1öË_þò¥—^ò}ßt@lÙ²å‘G!„ŽãðÃ÷}ÿ¾ûîËf³Œ±‘‘‘ï~÷»¾ïŸ7õ¿iy‘¦iÇJ©B¡€2{ý*=M 4ãZ¨ Èüv+ÐÆèA`Ì2Ò„§ŠƒJBÀ9d°ˆþ-×`:ù €ƒx@ ” (ÏtŒÁøÓ³ÎðÊÒÈ€†„C¤” ã’Ti&žZ” :•\¥"JWQg²¥Z½A"d¹}¬E›[‹/.@ ´¢ÀEE`Aù5#Ê )„ÈÒ1†–…Cè%9Ãé€+0\ÃR+Àa• mc§v°pcúÔ½ÿÚÆÊµgvùL{ª ‹žpHbßbT+àišà”›  @`¬yýP»§©2¼\ª<ÿس«×K†1£„àX%¤™Ê¸ÞL,lg-Ÿ1BRš.¸JíØ°•ä¤F à (™pXÚ®8ù‘·ÓZT«Ïµ*^¥Ð_šfñÇ~½÷O~5À´ÓÍoåì´ƒ g¼ö”¶l! M—„~›e:(4€õï\Å¥-Ån1žhìy䅱瀈ÄĹ‰ÇæN=ýµi3îCn)¡ÁþÙ—ž;°fÓúÌpe)0¦<+:ЄÆ@Fa`íº˜2êüÌ®=~(ÜÕÌËYŽggÀW‘P€h#¼÷™ŸÍe…Åzmjz* S«NV˰_Ì3439˜Ø@×Yåþ¶Q$¢©êÌØþƒsÙÅ{U’MË^¹qtêÿ› bÐJ¥\A?z£žUkÎ.zÊOµX»v-éHßPme•L` JkÇsÍ7—5ËqXÖÒˆ'q¶C–Ï ª‰Bi‰4L—X8jE@LR©DªQ‚&NÞå<ÑaD-ËA )…˜°8Ôf˜P‰Ê}ƒ#ý3s’H…Š öwöu~yÂñ—†, Òvs¾C¢™Ìf2¶ãs µ8“@‚ ròù~¯Ï¢öüÔ•$k•Jù¾,ÊÎì›ÚÕ‚” €5Hã=I ïä)§¢-”VSB©Bš 6P¨¤‰PRºÔv©§ÙZ¨WkŸÿŸëބֳgFkQ´8Û’Ð’3s0} ?S©¬®”ûJ•b…‚ZÖ ±>$dèr ]¢¡‹.ºè¢‹.þ/Cš¦fÅÞTìI’˜úДë¶m&”RœsÏóÚíöââb¹\6­û­V+›Í ‚©öÍb¾Y7E{’$¥R©Ýn·ÛíÁÁÁ)å²f¾··×Ï„ÁÁÁO­dœG‹µ9¦iÞ/¶ËLŽÖ¨Ó齜)w_æ‡AÉÔG †5#`Q¤‘ „îwŽP«§ž?Ø™‘XAß³XmÍnŸÌ ‘S¸èŒ1ÓÔn!Æ9ðR¨ …Eš¦qJÿöÞ¬G²ì¼[ßÎ91GÎcÍU=E6»9ˆº"%™ p?øM2`@¿À ëIг.tu-Cׯui$›M±ç©ªºkάœ3æ8ÃÞûûü°3³‹º.»EØbw,$¢¢NFž8¹ãœŒøÖ·¾µÈd’Rʳ®¬qZMÂÖÝ{·þá]ìËs ãA. Õ´€‚¾l“¦š#Ï!Ú@FÃF!ˆÁJŸj:>Á§’3°ÂH3§fL‰9¡ñîž‘ÕQìÃ2ëÂk ýãƒÃ›÷>‡ÓŸxyyáÚ¹¬9o’.4ÐÍÀ,žÿõ_)Ü/÷¯}ëY¶"©,syÿ?ï‹R¾â«/]^^Ý<(ú“ãbpccªó{8^[ܨ/ÖLª_~ñ¥×Þú‡ºjMˬդpb £$©Ù (eâJç‡S¤°6ÑZ Q ÒZ“Õ* ¬ ìCÄÀ!#W‰É¥É´AFZLé\.c¨,Ëf§±z~ãá›{ÓB,N¥4 `Lñƒÿð7 6ŸÚXY»\%Õ ì {Ãq(¨S÷†²¬a« ÞûÁaÎÓI'[ÈT½ZêÀÞ»»{ã›x¿@V­YNÆ ,,·Çùxš3<^zö¥+ë—§¾—“àÙTÿFÚ£$h$1)<÷z÷?¾·óð‘l…Ç Œ²Z) å+ x`§ÝøP ´©g:3€ ì$P‰.†¥«GU‚˲la}iýùõG?~äüéë!'­pxøŸî>œ»»÷ìÖúëíõNm®±ÞÚ”ŽÙ ‡S)\îJ©4éT%ó4ŸêÄŒÌd/¿s÷Þîͽá{Ñð–ÒF˜VQ­QäUQ0—/œ{éù/ûAè÷í=ê¥/33ƒ©•©ÊRkc™1ŒŽËq©”Öd´RJ{æàìÀŠÁ™1…÷ `›ïäï}¼óßøU8hB`ðì@¢Û0#f˜a†f˜á ‡8e›äZëÈœÍScÔ)ƒA z</Äz;¶ýc9꜋|ü®ˆ/--Æ^}œƒˆ&ޱ¯×ëq·b fUUçÏŸï÷ûKKKý~ßZÛh4Úíöd2qÎYk­µQý”RDt||¼²²B8³žÚÜÜœN§qD¢ÓéŒÇã3G|XäPò<¯ª*MÓ<ϵÖsssÌ9‹¸« ï}ôÎìt:Óé4ΕˆH’$µZˆ¢«E·Û$E·ÛUJ-..F9Fœªˆëo#m±¼¼üþûï¿ð kkk‡‡‡qçµZmuuõèèèèèhnnN)¥Ýnw:N§ÓÇŸ—™ŽŽVVV”R÷îÝ‹ÿ]__ßßß?þ|QEQ,//÷z½Þ9¢åäÂÂB£ÑX[[‡KKKÖÚGÅWªÓéäy¾¾¾>77·»»ù¦Ÿ1^$š\Ç¥8ãþåxá…¢Èh4ÚÛÛk4¿÷{¿=?€‡®à ÈçÂb‹ÚJãÅW®§í41Ô5õƒþñÖ­DQ£•US}çÁm%¸xþ@÷ïÜ%Q—Ï]*‹"ºèCHŸ()söÌTAWbªIg©Ùïðñå¯<ÉIúñ?ÜÔB÷ÝOô…jš;)k&„ʄҚ©¥º–éÄjûžïõ¶¶<Üï½{ pÈ4)/È™EÐXûòÒúë7wn-®.çUÉcŒ%RZ‹(,"BJ ×5¨O•M¨„,´rÒP`/&ä•Åž¤shÜݾß]XÊÚíæòŠ_î«Ò7ŸçÅ'Öu«>ªòªì¡ ôFQóÿîßøï^þÝýÒÕU멯\»qðÖÕÚ¹•õåÍ¥Æ|>Îc.½!#BZS¦kF#i›£å•ýÉ,bu~c>]F©îÝ~pj]hÜ¿}gã…ÕåÎâ Œ†cY¨°„ÎeÂõV=³fïÍ- 2ܸõÑ3ã/uÚNKº´V–;`Ýh®5›Mí|KÕüî«óíîøx¨ Œp2–"â98xk@išú*è ¨bF„`À$ NŒ%"ÖDPÃ1˜Â„ jFY¶¨$8°2JY[“‘£jT©ŒJr¶™=ñâS;wå¸BuÊ20H  ø=ìíîühtžœêÅg–¯.µ»µzbˆ(„À•— Ú! ê'ýãñöØßŸ T¡f˜9*›ªx8.@¸xåü‹/|Yýƒýhï`— §6% xüŒ Š S¤ƒ€=@̈ÕÐúÔ0Äç>žº°ÁÞÁöòVFV¤ ,¤ 5„1Kà™ 3Ì0à 3Ìð…B,¼Ïšäq¢á¬ó€™Ë²ôÞollÄ=ÒÞû¢(”RËbfÜ«Ù8<¿¹¹[åœÎ¹èqpæïpãÆ§žz @…À©!ò ­V+š8ÆíJ©6q¦kˆ}þ8ˆùkmY–1ŸâŒ%!¢³ ÿhOÉ‘è×è½?<<\]]-ËÒsfåà½Ïó¼ÓéœÙXˆHTa(¥¢¢ÑhÄåÊó<šP(¥"÷W&˲$IâïxåÊ•?üðܹsQ²±±±½½½¿¿Ÿ¦éµk×///¯­­ÅËËËY–i­‹¢è÷ûÃápcc#pæy¾¼¼|ö,=ºxñb¯×ÓZ_¾|9.Ý™»1¦,Ëùùù<ϳ,ÛØØè÷û‘ Š“˜~*"/^üTçÕáááh4ÚÚÚZ\\tÎEQ¯×ã üBÎÛwÞyçlb%âàààí·ß¾uëÖçh Œbϟͱî^^|âé«Kë .§ãÝG;·nÜØ»}Œ'˜Gwlaú;{8ÄC¾w¢?ùÂé`!ša(˜6–/·W.o,_ÙDÃl\??¤bÿÕ•….‘A¬« gD«š*ÆÅÞý¼_6Lý/ÿŠ.ÆåöÃG÷?¾x;€JÀ,ă\tÏ€4ôs8÷Âù¢Vš%;£’YA‘Äkü4[ägÈ‚3]ç^OÅh° UÙ&í+ΦÓg/œûQ8Œ3*ú)ÜÝßZêÐL7¯¿hùhÿÑÎů­ÔæUVª(›O¯ò(’&Ň½ñí£Ör­¬ÍwWj¿1ž››»¸¾¼ØêªRlíßÞ-‡%‰&&èŵÅö“íµÅ5:T«\ÊNwnÎ,·°¹_ÿऽÏáÎ[;ϼr\¿ÔY­­ÊùôAm¿ÝYXYZ¡¢jê¿ñŽN_PmüÖôÁÍÛç_¾Ü ûÌ¥'ú «Å¤X[\Kë† ?|¸ÝæàCÚ€´ÑÊjè‚(fãHÓ|» L\U†Šˆ”1¢#xm¡Ik)U œPep¨%J´/à8•´nŠ¡ãëÍú¤œ*Ös›‹ÏãÅ[o\<èųZ;Àz°‡*Ñ€Ã`tüÚ{?@Š‹¿º±qqùòåËõ´±·³÷Þ›ïüöîä+a5§º Ýr¡š`êÀœêP1€öbç¹/½h­ýá^½ïþp8ä {b哚„„à%œÜ ` •5F 3{ v§‰-4Ÿ5'ÅHÁ8¹â|øúk««\A ó-gÃŒh˜a†f˜a†/$¢½Btt‹u{T7œ•ññ¿Q;P«Õb/½^¯Çô‡ètBPJEBH’$–¸Ì‡#Äz,k[­Öh4ŠSQ°P«Õ"µq||<77÷ÔSOF£Âææ¦sîðð0áF£ªªFT"ĺz2™D‡…H¬¯¯ÇÊ?ŽcDûÕ••èdE8‰j…(Ĉ‘™£Ñ(ÖØÆ˜ÕÕÕ~¿•ÿ¢A#NÃ8΢:âDIUU;&Eg%ÆãñÙ$B·Û‘+‰G²¹¹ùðáÃ?øƒ?ø³?û³?ù“?°°°°³³F#›RªÑhŒF£È›ÄÕŽDF»Ýît:ý~?ލ4›Í¸Œ;;;Ífóq»ÄèCQ«ÕâQ­­­íììÄXn·{–4¹¡£££åååhÍ "ý×ý©Î«v»Ï¢ï~÷»q)†Ãa|Q~!çm¤x"»IŸxb|>¯R” 9é·Cófãé‹Ï~õŽGÛíVã`ÿÑÿþU>”@<ÐÆß}ñ…®KàTÙZš}ôá­¿ÿþßbÛËiSW Xàe€ÀOqX gO?wýÖÎýæRçåo¿òùÃ>‚:¨0eWÛh¤Yï¸<¾uŒ‘»É_üíÿq¢ü?ÜI[u@€â ,¬5eéAp¢Œ)Å…—.×6ZŠƒúzçáÎVšÖ %Z‹ -JiÀrâ®÷˜®áÓ ‚L”wd/º*7ס 4ðò·__¬%GÃQsecãÚJgecîù$“šmÖ_}åËo컞;À>”ÅÍ×Þ{é·¿Þ®éýÑøëßúÖáþ©T8 û{‡·^¿5x»‡ÞiH a÷‰Ìg/]YÍV°È%ŠV{nxÌÚ$åÑwä„h ö0x0¦4­w›O­¬¯Î].C𿙬fÇöÆ_¾ŒFw?¸³~uÍ´ÃFga¡Ó<è-.·‹ñ´ædçÞJŒŠ|n®u\ŒšOZO¢”1&ÑAÂä+UZQv§ ~R•÷ʪ$µd +Ñ–i AoBÇN)mR«¬òð…¯´Q°ª #Ôëq>ñ¹k5»O¼òì~ïhw§@Yð‰û'ôI¢)*“—º4îýÇí{Éö«7!àPœÐ+šÐ°P¬™Åñ0Ge 2(FÅØ…ôù—_˜_›¿ñþ·Þxû“š?j*£Œq›ñì0FAQJï‹Ó«ïôÈã¨(ÀX%Â.§3[ÃÝqŠZ›À³Á‰Ñ@§8û»ÿòÏ~üŸÜ~¶ÔÍf˜a†f˜áçATÄÒzwwwuu5¾ŸåcÇÜxVÇïFaB¬î˜9Ž3œm‰µ“?„êõz¼˜ŸŸ¼8ìt:qÏñ‘¿X^^Ž9Û)O,2#ÁqöÔdL²ˆû~üw¼0>;°³ÇG&Þ_XXˆGüî?ùMÏ#> tœ-ÑÙB)¥Î,0Îö¼¾¾BˆÑžŸDD\–HTEê¥hˆþ "ó&âÜÊ§ïø¥ºP=а(œ½¸ø;¿÷ÛÇããi¯Ôîþîƒ×^{•{°‹@ ×,.üƥk$j˜ç?š¿2ÿ»¿ûÿç??i€?®k €<à£î©FxðÓý©\æÂâærPîüÕÍ*ô†÷r䘺ñ‚aã Ÿj›´“ <Ð?õ ÓÇÕ KÂŒR<,PÀU¬åbíÜÜ#w<5e:m¬t(‡ äËÊ{_U>«§QÄÌŒOj uRA|Ê®±(­}•g‰©Õ“ýÝݵ¯7vÞœ|ó¿eL÷ëIÃåzÚ¤R?qþê^ÿ¡qV*y´»½’Îý;/?Xýø½¿¸ÅC¼ÿ“ûÏ~ùË­ÍŽmwv}*x1YFÏïLï÷° ðIþ(ràPå÷§ÃÖ¨µZ_IW É]WëçöïßüÁÍ(ãׄԚiá‘àæo>Ÿ¾´”.P?3ɸªxàTû½¿}Óö¬;tðF+¤aï½í'ïm^ßÔʺ0j¶4gù¨×ý÷ÿ×O@ÐuGXÁ•ç¯:å‚°P^(„YyÇ yžÛ´Þ¶]žŽ{“ɨÌëÝv»ÛbWeéˆê™Ö*)Bá gA€vAªIéÁ:nšf½9žŽ«P¶ç»Ô?h¨ÔÔŽÜñBf.ù Û°ÿî}>P ?=5 ”B ÇFpàÉc™¬ÁaÈÐ4 PV(5T F  †_ùoumyíµŸþãÍ×?€=¥ØxN”„Oþ*Wt":©tNø‚¸± ŒàPB[år&´[Íþh à`ç@•»ŸË/$>¹B•z¼Æÿ,Dà 3Ì0à 3ÌðKŠ(ˆ÷»Ý®ˆEÁÌg\À 3|ıçÜññq«Õ²Öþ–g†Oó±J'\Up!Yj]¾°IŠkí¬œS~õǯâH æheni}i¥±Ñ®.QûÒB^?¾uËMý…sÚsÅ`ºú{뚕ҬHTôkð EM[“ѱ;øàáôƒqY!êÄ·>؆ØzÚ^º0wuýÊR³u|yïÐí5;"LDÝÎüsϺùƒ÷06ñ¥ïþJ+kÕTÚÊš'÷°ì¶äö½­ƒ‡È±§·ž®?Õ˜«ŸÿúZ¤N‰"AiÃ^è5ÛY³œŸ»Vß¿´{|󸸟cß˼uÏÊ®,œ›_«oµ:5j±E•y%È’´¥Z¶´µÐhPÓ,ŒCBÄ'e¦yÁš¬QI¢êIk>S’Ÿ„ µµ¨Ðœ6:³^È3H€¨kâàB(%žT1ób ÷©‡JcBžµh”I%Pï´jO,ov›º[³ì”êMvÞy8ü1nïüM`z²ö•ÍĘ#5êg¹½ êíÕy„ã‡ÛÀì?8øû'û(‹±ƒ@e™HàÀÀƒps÷ÆÍäèÔÃBb¤eU†Ê¦†}ð,–È9Á壼ñaóT}èu˜ S=À `Œ€ ãHf<ÃŒh˜a†f˜a†/¢Mc2Èó˺ͺÏí0X#AÑIÆ­©© 4(¥@Ð2¿¾s‘We¦NJI× eR™àÈû"yk5S"˜YG%=3ƒTÀY€""QJÝÿ?­*[ r%b¡ƒ”®ò>ä€iu ê»ƒãT{Œ†Gw·†ï»À‡~«´íùÄÛÑ!ÛÔÎÍ·ìJ” 9àw"¹×ʆñ‰‰ û ¡`ê‰g‡\ŸÎ˜0š­v¡ ?­ àÈ“œ;%`Œ|$&V›så¸Ãyxg-XBém *Œ w?Ú¡u»xn¹ñtgû;÷ú=F‰ôbréÙË­ÍÎÀ8%&@ˆØè˜îAÞYä!Ai“ TÌÅplŒICLâ b”¶JÕ +'p(Á i¥ai­ œCÉÂ|'ˆq?YKŸžö©WžñãÊO}fJˆH‘(‚ )/F`˜`Q"ä™BP>PðpAª%Ê’Öd)]­-ÖmÃUU}£~áú…Z­œõ‡gÙFš”ÖVkm•OUPü¸ð Z6äù$ºð4F£–çyt”Ùöæõ ¥ù7Þù©Ürè &Èóò“ô“h h9¹ f\ÃŒh˜a†f˜a†/úý¾R*κÇÔɯ=f˜á³!y¨×ëÌ<gDÿ%|,6órZ…*ØP…€} ƒ¥o^^Z[ŒTwëþí{õ“„åÕÅÖ¥ÆòÖô¨Z\îv’¹²WÔ¨Abˆ”‚"‚"(#îj·= E^øR³hÍùõ õ¥ôÆß½+Û(J÷ðÎ$Õ…Ù|§U,…/ËÒ•gèr\–“JŒî‡*hbA,þ•ˆ’`üÁîaHY%ÖÔ´m¦i–êLSªÄrïÁ d4)¤Ês`"BLD$`""&8çH+¥@¤‰”‰}Ú2Σ¬JLÄ3‰#öJ  ›T¼ìoïïüx”HÝ´3˜ *½·z”Ý^hoêsT&ÓÊ¢­ÓÆ|LT*µë¾¢]0 NBpP@錡?­¢bßš”DQààÊÉñP4Ò9-Fª €.à&|bu¡ÉZ# VñѸ€SòF •º²ŒýÿÁ{!dÛKب/Ô¸ /¾ô•W÷TÝ®.<&/TU5•R³Å™á3c0t»ÝÃÃÃsçÎȲLDò<þ 3|* ¬Â8tãºr>¥B9Xd//¬¬,k„v³‘Iú÷?y{üÚÐøÕÚWãå K—ôBZÖ«'®<‘èìîí{å8‡- ¢£Gž¢°­Ä¶ë¡f'Öë:™óéR}a4š{¤z¼…á4¼ùÆ;xïÔ-ÝÅ•'y>O|ÊA‡‡¿s'¼>EàO‡Ò£W¿9õ}\Ρynn¾=϶¡” ƒ÷Cm2JScÓ”L&å(V›gñD¤²tZ“¶ÆÁhDÛx1äç¶×=u)›DI`04‚â¡Ýî6‚Ë{Ý…}l8ǰš.6‡“I9ÆîOwù’®­64r‚LÆûé:šºvÜÈB&^€! À£ÖÌ|\^èü›@T§…¬\é4´†4´Íƒ«€r`{Úg†DkÑ¡¬¼s*k*xH  E@T«Ù(«IåyüQ9Õš««íÅ‹_{I=i2øŒ ”Î}¢U‡"ÄÁ)ö&3:SIjS©'T8°Ç^9òŠX¤ Îe2ÑJ¥dM‰à žDHFL¢µ¡ %À9UÁzeíþxG“ÖmË=?(*­“¹Œ›v!¸J\|%>x¥5Âc\@,Þ©ÆZƒŒÒV£”UJ‘†P‹òñDDl#U¬ÆÓQ©ŠVÖšø©I ×j\C°ÀqÂBZÑÖ1f¼fôŽwº­nU”âCYncÛf/]_ív–מڸÝzÏW€`¾SŸŽ¼cÁéqÆCăúâúBΈ†f˜a†fø¢b2™cúý~½^ÿ£?ú£çž{n:îïïŸILg˜á3€ˆ¶¶¶þðÿ0I’˜Úl6?›÷øh ¢0ú©,Ö(7R®ÿ›ÅoþÚ¯£Éäp°½÷pÿö£ñ[9  Àä­|Ûìµ®Í]N®%õ,;LúžõþÀè E¢¡$@zã¬S çkúJ;»Öi®6lÛÅÆW—u2Ü«…¢8 ÄaŠ…Q DkeÅ‚NFøTç¯N‰†HÑþͶîR«Û®µê*ÕNòIž®°Ö ”‰ËŒç$kd:U‰¦L‚Ç•sN˜"*ËÒe J)­…ˆˆ´|Ê"Θ©Ô+6ªªÄM¾ _9ç´ê^ÚüÆ¿oýZvêw<¾ù“swò%² çuR ÎL']/ Â0BµºY­û{‡ù(§:Ð4Tùz³ÝzøúX ¦ÐPI3Mò²×nÒ˜¤` öÕY;Øîc Àh2šT²|¾$ÀfV›[©ªpïC²ªÁA*?Å!ó›ÅÁµñ3k%z«çt× Χ>»qpš•ÑJŒB!„Pia°B ñ F)ZhuKWN\á˜IY±š)°G¥E"‚…˜À¼øÀ̦)xd¬ŒxJöÇÚ¨LIÊ¥óST0Í´(Jb‚wì|Á³rJ((Qh&‰±15Ik@œ!x†Mëe^åå4ã,kdi-çÓÑd§Ùi‰á"­‚ Ð?¨üb IDAT%€ žD4„ˆ‚f¥%J«ç7êY}ptìóRDà!Â4§Ž™ØrÊcÌw 7œ*àT HŸ KÌgDà 3Ì0à 3|Ñl6‰ˆ™ÆÜÜÜw¾ó8QEñsBŸY—ŸmÂã­ÆØ„ƒ|Ò–ú/vòOp¦9),~Ɉ†Ñhô§ú§I’L§Sc YkQñ–_,ÈCr ‰¢æÆ-ß }•¨¾öâÁÁ.Ñ2ÝÝG½Ÿä¨Ðj`Ô>ÀÍ÷oÞ?÷ð›ßüfZ«½þoì¾ÿðÄïq³=uÒlMTóðãc|ÀXFý7Ÿ¼ö+—õ*åÖžX«kua½lʼՉWe–†E‘a‘ª¡³šºksó¿þ ÷µÐÊæ¸òtª{Wš£m¢9õC;(Ç`ÄS ÅTã@œ÷ìòjJ$’£³´^+}ð%8xÏ$%ÄLÎÁˆbh4Ayàç=µШ7B >x&k>I²Q>Ñsç6–×–úÉ$¿yˆFQN¹ÖȼræRºtqmnµV˜~àI«S»Ð]9­3x§’>¸³Ó¬ÕF¢$ÉR•èA1Ê•[»¶våÅ«‡j­Œˆª©kH¶ÎÓDM÷ó&ZÎc¬}YW®¡8Qâm¨Ô0,ÚFRBú£§/_ºxq½ªPw Þ«ÒRº Ý+¿óÄíÜ:añ  IL¤„ØÇ7¸/˜äÙÈÌg—äÙv¥ÔãW¨ˆœØ21C˜ Ä™¢a†f˜a†>Ÿèv»eYæy“)Œ1ZëXãED4ŒÇEU¶ççèJáFÀ‹B) ¬Àá“AVR‘V`(!hM•wÌœ$&Ë"©!E^dµ_šÙþv»=NkµZžçqËg¨ê«ªJ’$ò8ý~nn.Ž·|?Å_ÈñükCôz83.§âçÕXD5˜) ês™KÜ4Œ„3UT[·?z÷ïnàF‰ÔÂ&~0™–;ÍÞ`J‚Î,¤ò*³Yƒ’ Æ@ö†Èƒ“ ÿ0ãpÃÞú¸}^©N@ÍL!#/ ›¬†Qâˆ]#­S‚8ÏÏ€ÒM¢1•œµ0â³€4p¢¢D‘k"(h!¶¤E±×ìÉf‡Š‚b{v*×dH´"aÀ»D“°0« \9A4)Plx@A˜ “®òéPÇÉ­@yÍ$+bXaˆh„ ‚£²¤˜æà`µ“f°/£61KÅR=iÚK-^æ´[«Í7Ķ/6—6..ìÝí7¯v¤ 'Î \xåÚ°YUÌ·²÷n¿Y[êT ¢,!¥›Ï%ãTùøÔÆ"Å3¿õróÊÜ>õÚÚÁýý÷ïé‰gÊÝQ«S{ñ›Ïþíûo#`0ÃÖ0á©®Z«©¶rÈ{ýݽâxù\²|ù|µ[ñBÙ¾TÞÆöp5žVÃ<«[/ .=*x¦B[o•…/+GP‚’ LPˆåP’h¡ò@¼eP µÖdàu,*eX Š| ‘a!& ¢ BR*Ï>€¼²A“(#–´*ŠâÄbãô ?e“–l>ÝjH“@ <À ñ Aq³1çDŒOŽîï¿q÷ÑOî P‹ñ1h£~13Ëéàöhnu±JЖz8ôï|øÞ×ïâ)Êp¾±úÒS矹lSŒ} UÁ†2ƒ4È×Éeš´•¾è‚©›$sëó'—ÓôNŽZ*ЇN:f’†ÿ ­®N¦Mâ+*nœ 3Ì0à 3Ìð9Äýû÷/\¸¦éÙ …ˆ(¥¼÷µZíìa!„$Iͦ;ùÿøE}ZˆÀ¢¸gÿœf{ i/ÞRü$J6ý¥I+˜L&F£^¯Ç…ŠˆŸa?Qc+çHôt:ÏбÿEÏ¿6 km𦑅QJ}^E*pÜ¡½¼Ð©5tUÓG½£‡ï<¬ª<ÁA94 uì…1V€>À  J<xÀ’ K_^^¸²záù«Á¨GwiBzwøÁ0B•>qŽªñ°¸ÿp{gôh×Îç“qÒ“Ödms}Š|¢`M¬×H<±ˆTâ|àBØ2±†šÄŠ˜˜X‘!CVYhdªQré‚+\!^˜ØF"Θ˜” ¬¨"¸à™½†fbŠRbPYy%ÍfH%§Dè¿$1iVð†Å0Fü#¤ÀÕ°h5ÛÃþ°•Ô[Z#µ_ÿò J©½Q¿±ÒitÛGùNâ»ïío=|Tn7žnl\½êÉÖ瓹—Z½7GðQ»…öËK¥– Åt<*$-ëKÇ9 Odp­Å¹çž½¾pi!×ùðxäêY-3íã~oïÞG` Û“ÝÚùD-­-vYµ ¦’µ/•ϵ.U5M5·;N'ʅʳ8¿P{®öÞèƒÞO÷@8S/Ì ÿå˜ 3Ì0à 3Ìð9Ä… b9×ét†Ã¡Ö:2ãñ8Ö½GGGiš6›M­cR¸R=Þ¸!€ƒ¯€ ö@üL+à8KŸo`85:¥epÚè|:iÔZÙ_–¹‰³XУ££••"ª×ëŸmðADŽ[­–µvkkkssó3È~Çó¯ N'žŸßûÞ÷þò/ÿ²Óé\¿~}ÿsy1z`B¡Ð€$Aº¦i'rûõ÷~pÒ‡^\¹þÕ—׺T7òæpgp|oˆ#Få!)ž}ŸHj¸þo^´ öêezþü|»V’üøp #èU‡2 øxk”¿1ìc'ŠÃÀ²¯tÆœSˆHCQ´ôÂŒÀìKñšÄ€,KSyaâÉkk` ­iÖFl¥KòÊ‹ó!@”÷4¥„†ÄXX1¬{ïá\A€"‚‚g†( ¤$k i"M¤?Q.HÀ?G4(xKh:¥˜’¼/,Ì1W6kQ£É`)ëLT.ëýú`>‘Ò•KÙüïß.ïä`|4¼‘ñòåKÃãé¯~÷·þâ?SsàcÀà7çÛ÷‡‡Éb6-¦~ÿ1zP©;ɵfVv¯\¹özö£JШ7'Å ó[—{z¬‹Ê ¼óW Zøáÿýîw¾ó­Ü«²(žþõ—>üw¯CÃÖõ_½@ ~÷ƒáÃþ½¶ðhzwrè¾týºmàÂõ·¿ÿ&€€ˆ¬M¼žVÚ;aV€ˆb¥À†p*$8» Š*¼ŽìTŒ(%h¶^{V:fÑ¢H˜„=‡i©$Pjˆ4i ¯ÀÌBJœp餂*K/ÆÂXN × ÛFmòÏÝœ*Î@i@±‚Ò0ÆèŠ€áxvÆTäÐ@}­{áÙkóçVPSU•Û¤nUÍáƒ>~ðã÷± x  L h€€;“ò|ù«_þÒ‹ÏŽ<©\¡pÒ+‹A.ã Õ%ßô5ñ, <¬®.׊¼×Ãv´èüYÚ}f€;#f˜a†f˜a†ÇÑï÷ûý~§Óɲ,–¸ý~?² ±Ò;›ùGõf À'‘አ`†˜! –“/ÐÉFJ"'¥ Õh6T.}•™¬’@yaL’Ú_QC’$Ñ•`qqq8ÖëucÌYµÿ© µžŸŸ?Û­sî3ìçx<ÿÚ "Nç{ßûÞÿñ¸sçÎïÿþï߸qãów%2à@5LмU´Vï½&ísÞV¾õÄå¯=íêaT¬¯tŸ[yÆ–7_½ï?ßEE™meÚŠã´Ò—HÐþRmýÙµíÞá»·Þ­´›??·Ôš[}jéÜþ¥^w<΋5§ŠzgNÊ$ßÃ"Qíj26mñQŒRÑ*öZ ‘€ Å#(„@ŒgbQV¾ $‚s4H‰aöJL½ž‰eH‹8xFà€P¹²‰bQ©ÕF¥*Q– Ÿ3@D¬HB$„@z*RZ)£þ_öÞ~öðŽ5Wª:s§ût7Ð4S7¨(ÆHЄ½êÍw?¯Æ Á8Üøq—óé2‰æF1˜D3ͼÔD‰ ±UˆÊL354=Ÿ>ó©ªSÓ;ïáþñžsh¼j\‰J=«zwZUû­Úï´Ïþýž‡h­ •ZO™:­•TKªADZ³¥‰QPÄ6¤…˜)_Ç2«Q‡C·I¸œ •¤TQ$CD"€AÒUÒ7 ¸ÑC#’€†kWM$µÈÚ‚9-À©aZÄ5Mδ0cåIdJ–QàÜ<¤P€(H†~¸aé × ÊÔ*V¤¯(“,&ZËP t¤ ´Šçœ;j­"ˆÍ¸Ç|á ŸI)!%Óšn”Ê+žûx“„h¶¦ìA4˜bLƒ)J·eÒ€`:†ÖP„hPB5 %S’*B4Ñ”¡ƒ" Ž¡!#©bÁcH-¨fL!ñ Qj£Xã{· “!íiªLI Å epÍ5˜&Ì´ìØóc3ŽÀ€Ybñ)‰A¦ZÚ¼cª:>ìY~ˆX9’˜Üâf/î,t—¡"1y&#ÂUÀ°,âá»tÂhrlÜ2¸mÛœ!Õ!1´v˜ë‰M ÏóºíN¡š­×룣Ãós3ëÉyƒb‰Ñ0À 0À<Â0$„lÞ¼€çy)ÑP(”RÍf3ŸÏ[–Õï÷£(ªT*¹lN¦Õ©iÆ(Q )• ~í]7$\ÄLj¢Ó*U—© W*ššíQÅ/Ô1ÊÙB9Sþ_oW!Sdø «¼Où—T8“1Çñ—ÒEQšEÒívkµZ§ÓÉçó?„ÞöêûüXa~~¾V«qÎ'&&ÒWòùü‘ññ“™(¸€†ÖÚÉå‹òÈÀ(º €“¬¾u¸º¹ý¶·z|uqd¸R.÷Ô‰3èS©Æ4É`cûÞ)£b ÁÌÁ™^ÒG#8ïܽÓCÛö^rA¯Û\ŽæÊ;‹]æQÓvò¥‹ªCImÔ®ûÝŽ¶Â·ºFìP.)“„DŽŔ&šX†E(QL  × — ‘Ð’ûR›±ŠA¤”Š PI(º’j¢¨É`b‚ %b)”J”ÒZË$…Á9(WœèÄPZ+¤h¢5%š¢/{„0Ó`ŒQƒP MA”D¥Ï7ZM”`Š€ÐR+€¦9Úâí0ˆ8õ¥4§2:ÊR2óžîäâËÄFWöƒÍãÇä|´ ¬Ý›†§FW£Þp¶òÍ;öˆ–˜¸ï›ßØ}Åų^ð­ÊKÇš÷ÏaÚ¼5[¬d“ÂìS‹‰PL#^íÁÁüOl}Á%:ð¼‹.Úùäã‡Û}yæ¾siäsù\®ðõO&ÐFÖD«S‡m.—KÙ„yÞ¼ß)nÛ¹ë .MSóGN"P€.‹U¾J ;2¨V„CBA@5…jMiãôv=À['ð4ÑÀ,H¢#"UZKM$x¬© D¥âDÀ¤š10ª “Ì$D(ª@´T*¦¶%ÒÊ‚ÿk«Y RQI¸¤\Rh¦ ‹t¬˜–®¨ì,ˆÌö¢›© Ýf‡ó¬EVÞ®Ž×‰ÍÚADçr™ÆrS y9¾{ŸŸŸŸù!X†á÷ù±BªgAªbšæÐÐÐêêêOåÉh c$,ÃÌ–‹½°Ÿ+å·½bwTKÙŠQÈ+Wù²×hŸ<üÔýýzì²Ü¶ñ3ÝÑbuûØÊÉ…$Ž;2p ‚òdéÐÜm?ìÍÍ£ÔÑšn4EaÈ)¶;ªP(©‰ÖÝvÇPV†ç²< Ä’—eB• ”sI EH¬™'H¤².gŒ‹I†$€ôh,‘œPJª(I,© ˆ& …ÏMn3”"Œ©a©"­™¸’ÙŒqNÁ)ò9­d"D,¡•@ ¸Jd›kbR[Rn¥ „i-%Õߌ¯@±©24U šk(E $7V¼Ù™P³È°I®päà1[YE£bÎfÖÜ2¾+Ý쮢YÏÎ4Wj#,«Ýf³qïcÐ&FèzK‹F±8±\gÓôt³ÕªîÜY® SæŠØ¸ï¾û»ž2®è"Z\vœ‚Jôæí»º1¢ÆøŽÝÍžOˆ³8»Œ£k9J; X}Ë¢Ê(Û£gÖȰQ›˜¬TʤÍÍ=ô#è%°iäÎÌ'C1¥UÆšL&aH¹!©æéóÓ[¢Á%¥ÑŠ®û>0 ª)†&0`0"9щa„‰™¥I" %Š „òXEšF™"Li¢!u$³L‘øû<þ‹+:æ*2‰hˆ4X ˆ "âÅ,0-ªÞ‚ê¨!ådáT8á¢3#¹Œ¬Xô©¡«4ò<©+cX6|Úê÷ûͤcæ*"Ë%a†‰Bq|OÁ>1tpåÑÎWîz¨h£”©˜V6‹ UÜT¶NXß-š;wïȸ™ë! m¬ÝüˆR:M”L ˆ†`€à»†a’$•JŲ¬™™™J¥‚u«Â4v Ã0Žã|>ìØ±¼ðbŠu²`JAI8ÑRR" WJHB%IY†5}i¢ Õ<ê (ŹË$†$ Ôý a°îéØjµ~é—~éÑGí÷û…B!±¨Ÿ4AJ™ZBžqÆFc£Vå?þûü¸!uå°m;%_RóÎ^¯÷Sy2ÀhB„Ò'ægK:SÍÉRcy•!©Uj¾×{èÁû01w¼gçæw•kcÓ“+z˜K´¢Ä倔P)›™9>=Ò_^@•ŒóUN$ë®t2öò•iÛe'›W…b’$–qO fÆdBqI 0Œ+JcÉp_r_1&cJ\’P"©°² „HN™"J-¤T€RRJ‹†a”QÎ!””Œ€Ú2V2HHD(£Ì ¶íF"–ˆµ ”” `D(hMHB)eT20B@ˆ’k´çi­ÖÕÀ¸RLëT RHÛµÃ~§P(ùÝ0ãæ©fó_æÑøqœFñËoúEÏLT^†sæ®3b©;‹s›óÛŽ; _#ˆm«ÆÁ–³ò;ëÝf»XÎ)×^zgžÿÂL¶(c‚^ûÁâçB˜P1rl»r’D"_əȄŠåŠõ‰-ÛOž\(—ªÌÃãwÞ»¶*žE»ƒ±ic¨P·…í÷¦)G'† #Årív»®G´/V냀—±yzØÞQÎeU“Â9ÝPPk­õš‘Ðwoš0E‰¦ Pd-fV„Œ ¥Ì Ä`ÄЂJ©|(eJÇJL"D¢ ÕŒkδH$a D3B¹–L+"…¤*Ð ß>ƒ¨Ô"Ñ2Ž( ™šuÀ»– ’2eÛ4 ¼~fw¶=S¨–¸iDÊ[r¥ÐÕ6|’t%K˜É­^³Ñ÷='c–7-·û™|1 â#Ë+%331VÝÂÎb֑ů,µÚhé&•M€)@p Œcxxx|KÖ6J©2‘b=y!U TOüØ §ûÜn8m~Ç+§Ÿ?ªí2Æ„†aPJc'Ož¬×ëé,j°w`€xÞ¶íté;-Žèõz¹\ζíôÖ™†v¹\îÝï~÷Þ½{ûýþw“­ÍL NÀµf‘€Ö š@­ Õ€"ki T¢TœD¶kGaL4MMÂÒù¦Ö:Í¡¨ÕjéF–––êõúFLÞëõ(¥¦i††¡mÛívÛ¶mÛ¶;ζmÛžxâ‰J¥’Î(:cÌqÆXêË ”J£zÆØêêjº•´çgíGJÉ9ß0†BÄqìº.¥tee¥^¯/..b]³0% R#ô˧*›FFF6¶%„PJ™¦)„H‰†tÌ;ç<Š"Ó4ÓLÎ9!D`㛤mÚ•Ö: CÇqVWWëõú±cÇ!ù|>I’”eR¶Z­jµº¡þEц‰i ¥TÇéwøñš€žÆ¹h­Ó?Ó!ýéƒI€¡P(­®v,Ã>sê¬{¾øLÖtíL(d§ÕÉW gìÚy0y=6ÑL>'}|éü&2‰fAywaÓù£ÍÅ–išžç½ø¥/:|ôˆçE³P°s÷~éî#?…ó^Í3ÆéÒòò~ØñKª• •óÚ çÉÒyÿ㢠ìjbuÛñöá­÷Üó­î¡–@¶A&§Êg^x®YÏt»6Oò£yƒ)Å„b å‰ÔÚ¢”3F¤ÔÞj¯Ûê•J…|>X†Nl襖ŸËÝœG¡·Úë©~.—/ :V6áTHH¢53˜‘gSŠ0Öf Ì„eqÆ!„ûÙ‚C‘ QÓŠII•–RH-4 éˆQC—¸ÊÎÀ²9]¨=…§$V`)j¹Ù'¿ztó‹·ækEÇèµ»í2å#Fqåá#‡ÿí>E”×ÙÚè?»;q½(ÑÉrôE5W¤¦…>‰ÚaÅ.~õŽ;Ð\H GpåÕ/ ª~Be³åi,Iªå1ÚÃöÜD¼è;xÐ{àz€hdÎg{ùóèɾÈ7éwýÐw‹Éf°ör{ÿçnÅð®Üù/;[ŒbAôй’ ä3Y €g1FPà‚PÆ^DZ¡©T½¸Ï3¼X+q ýØsùˆ­ #áК†Ð¾¢ˆ †ff$ah›[\ªHöCS».5¥/KV>脵zY{ IDATéd£‘uܸ×gš– wye¥bUl3“DBRZÊ$TôšË–Î8B1Ó¢Y;‰“FÔ5rFuÏÖžTÞÃ+X‚p¸‚ ®$iÈ=”‹•Ø‹ ÃÐRi­izá¤Ðêù.¹q€QJ7è­ÿL¢á?q (¥Aäóù^¯W*•|ß_^^N—n`€ày‹4ÜMŸçr9) Ÿ.’g³Ù7½éM÷ÜsÏ«_ýjßóÖ ØŸžY¥"lJh¢%…" DQÈ´ÄB&éš½¥&”U„s©•–ŠæE¯#Š"Û¶kµZ·Ûíõzccc)Ë$‰eY¾ïçr¹8Ž Ã‚ Žã0 7t+µÖFchh(ý³Ûí¦«úŒ±ÙÙÙJ¥âû¾ëº„4Þ®ÕjBÆX§Ó1MóYûI#Û$IÒ¸s¾Q’P­V¬®®6›MÃ0J¥Rº¹”e˜››+ F£P(ŒŒŒ?~|Ë–-Zk¥TÚmšqÐh4òù|Ê}0ÆRöd#øo4###œó£GNMMQJ{½žã8)Ý õ}\YY)•J©šFú ×| ðZ­J) ÃHY› –!Žã$I2™ ¥ôÇex¾A AL Ò•Ú”WNx¼œ°¨ÃK…Mgm-ÖF†k›¢éNO®ŽÔ'mâÆqì–œÎæ,Ž÷SsŠìÖâ+~ö‹ñlg¡½õœ­Ð[ZZga#l<Þ8þèqÌýEß¶éZÞ²Å$X]FÌ›‰ ƒ.FÀ"‘±8“”R³5ßì.¬âÂŽ‹ ‰Ã'[I÷Þ?³wzËÖeâ·V[¢«×)9Yj‘X'^»ßõú‘_È]3cr‹ÄH,fP[‘D);SîõýÞBR,Ûµ.¸^‰3¶ÃMC(Áí¦šŒéŒ-,*¤RšRb&猪µ"„®WÉ?ÝjP@K®@•&J*¥hMmE¸”B3Å-ªK¡=éŒÎX§¶•ëýFe¾ûØ—yìGŒ³+“Ûdž†r?t ý”‡…5'EXàÛŒ=/ßwTÌWìœZí?ùð“ívgltS­TÕ¡Z<2³ðX `PÇŽ‹v'ÃnÌ…òÔüÒ‰#§8Él›Î'V÷Äbçøò“MhÀÌ Ý³_qÉ#Þâðpõä±c­CÇEÇÇǃ¼>´ôdãðóÏó>ñ‰OlÛ¶F:«Z[ ¶y•&kî—dƒ?Ѐ¦J­OÎQ’R©%J‘4õTbÛv£Ñ0 öí»ï¾ûÊ+¯|øá‡/¸à‚ë®»îÍo~s¯×›™™¹êª«öïß?::ê8NšD@é÷ûçž{nÊ•B¤”‹‹‹J©‘‘‘|àŸúÔ§î¿ÿþK.¹äõ¯ýÞð†ååå^¯wÙe—ÝyçCCCµZí{ô³ÿþ /¼Ð²¬“'ONLLPJ=Ï‹¢¨\.§9ü·ÝvÛßÿýßß~ûí»víºîºën¼ñFÃ0jµZ+++ýèG?þñû¾ÓM7ýöoÿvZbÛö—¿üåw¼ã<òÈ–-[ÞûÞ÷þê¯þ*)e£Ñ×Z8pàw÷wwïÞýÖ·¾ÕuÝ©©©•••jµšî~ô£üÇ|âĉJ¥rÝu×½ÿýïßHaøßù/|á ßúÖ·vïÞ}ýõ×ßxãiÏœóÏþó7Üpƒïûaî߿߾}¦iÎÌÌLLLBR"fpRügA]¶&‰ФZf&ovñìw»}ÕE~ÉÊÕ†§vN–q„ ©OÖš=Æሟß^ß{îCñªYS}ýo·KeÈÖ=;ý¾gvâãówÏê£IZeÆVŽå ’鯒T”ˆ(@ ^èd )I)?Ô]ìeÝR_¶ 5aÆPKOô”q ¿<Ú¶’•n;K­Z©’+Wj‹[mÝ^ñVZVóЪ“u,®•Ô(WË#µáLÑíŠ^#^’­V¿ÓíHåSF4¤”›Æ' µj¡TÎf[Éj£³Úî4¢^Tš %"*(%Ji¥äwP kDÑ šhe@S%¡”ÒBh% ‰m€r)@"#kiV豌=?³Di ¹¯yôþæQ ð0€2rû ›önQ›(¢ÊBÇo>9Û¹¿ƒUÌê“‹™“n‚h&AlÀsé¶ÉŸ»°¸P.VOÍžxèž" žÌ·ÌžŠO!/P"À§Èîq'.>w¾¯à¨påÔì ù`Ü]Æ’yÖzXf{pþ…;LÂ;IÛ ùèˆ~ô®û0ƒ•øû>àôúe<³Ô‚lM/$1°Xj®®4w†Sp¢^’/—fé¢XÖÅ8 `±¸ºøÀ1X†1M“k"¥J”Z“Œ›èwˆt>WK4Mü„J”fZqBc EÂ`åœåîªN7ãf˜©ýˆ ešfB¨°lžÑy;à†0HH“†8øÍƒ¤ËhÌ ÛÒš^ßèŠ"3d’dJ…Ñ©I³œ_Õq(‡dò•aNg¡pÏ2z¡–±Ž×9¦(Ñ·;¥ˆZ®ïÏ\Ãó“hˆãø“Ÿü¤çyåryÇŽI’Ôëõ“'ONNNöî 0ÀÏ[d2J©v»½±–Þjµ¤”®ë.,,Üzë­ssséÚ¸H’ïêàô%)r³  4¥àÐTREtš›’ëEÔDahxz‚–>Üzë­¿÷{¿÷—ù—/yÉKn»í¶ë¯¿Þ4Í믿¾^¯>|x||<Žã  …B·ÛÍf³™LæÁ<ï¼óî½÷^¥T.—Kcæ~¿ÿû¿ÿûûØÇ®¼òÊ/~ñ‹o|ãóùü5×\S«ÕŽ;666Öét¢(ÊçóÏÚOšO†a†”iÌÿîw¿ûsŸûÜ—¾ô¥;î¸ãï|çW\‘ÏçÇÇÇ Ã¸øâ‹o¸áÏó:Îë^÷º›o¾ùƒü ã8ÿò/ÿòš×¼æöÛoß»wïc=öÿð'NœØ¼ys­VŸŸŸðÁo¼ñÆ›o¾ùú믢È÷}Ã0ªÕjšñÙÏ~ö“ŸüäÍ7ßüÚ×¾vaaá’K.B¬®®†Áûô§?ýž÷¼ç®»î:pàÀë^÷º\.wíµ×š¦I)½ñÆ÷ïß_*•ÒŒÎôwmÌ…~:ô#‚A Òs¥À)\ÛΆÖ(€fï}RXFv2oæuµV\9µl†“Ï:y'{f6$þ|îäî³wUs¿áK•´ÚówÎcÃ[ÆE¯)æžÀa €†©M—g)3lË‚ t‹K#Æîs¦*…¼vX×ÕjÖÎ]öýO~G—‚sÄ1fmáp Јb4ùÌ“›MOO›¦);J·±pÏqôxý:QÃÄÓÛvmi/Ñ!íGsÉA ZK˜Í,¦Ù™gï®ÔkT$q£sâÐSúæW€ä™±xV’a½M9Quš/ÀF8½¡M+޵A6pH Dê; À,XÛ0yö˜®ˆ#ˇjõ]Çö?Œ¯Í£H ‚è (XTÙ—n-Ÿ1v2˜Ï”œÖ²äÛ‡qP@8¡â¶€ ”³h¥i{÷¥?³Z7·Oe+¹ß:€£ š€Þ @¨»PÝWÏoÊÒ¶èÏô{§º'ï[ÀI ùAtšõA×Ç*½x³ub…!¢3úääŽ-ùl±0\9ã…ö㹃­‡jÃ'RQÈ¢Ÿ6ø QÒø¾…$€Ñ`뻉­ï2À×}_ˆp ‹ÞxHr"B57"#>%wzˆÁL׬ pŠÅ8ÆJ¡£z‡7Ÿ½£\ɯ2Ñõ{1ÌZvìÂ3瘉{g±#üÕ š ¢É:{®žµd4ÑzÎ9UêA—&Ë*PhN@*©¢Z(rÚ(Euê7—zÐ!NâÔðbÿþýûØÇ^ð‚¸òÊ+?õ©OýÖoýÖõ×_z h¡Pˆ¢Hk‹Å'N¤ a8zô¨mÛ÷w·oß>—^zé§?ýéw¾ó×\sM§ÓÙèÀsõsêÔ©L&“ÉdJ¥€ ¢(J³?‚ PJýùŸÿùyç'¥¼üòËÃ0¼à‚ |ßO‹fff! …Â?øÁ믿>­RùЇ>ôñü /Bœ{î¹åryÓ¦MJ©åååV«uàÀ·½ím´m;­IwAEÙlvqqñ–[nùà?xÅW„aèºî‡>ô¡W¾ò•¥R)íÜrË-/}éKÔjµO~ò“¿ök¿vÅWÔëu¥ÔwÜ‘Ïç+•Ê©S§\×Ýø]¾ïÇq¼Q<2À4…d T@i'Šq À¶AB °‚Å/?Š<`«‰3Qš8“U5­ŠUÚ™åîXu¬¬Wd=S¿ë«w>òÈã°ó'çvî9ÃëúP JB‚YT&Êëzù¨Ç¡Ôb-rÓa €©Ý[s#Ù¥¨x~%ÜuꛇJÇWÍBL@%ଯ„+è¦?·8›-djµZ¶Óõ³6-=y+@ˆ6qêäQ»dT'ònƵ\ýS%ÌÈ=tä‰Ê j³B©X«N$ÞYH: @ZòtªŸƒh ëýL23ý _gRöÁZ·ýØ`%R’"Ý„ô£W'Ïßed×ï—ÌÜã·wÍ£ÄpŠnûÐ0Lð¾³pÖÅ{ŠO÷ç—–æ6çÆý—‡ðXà€ÉKhd+H1µ·|ÖÏ^Øc cnùä÷à[ @WÂA¦­"ÉŠ8÷U/\ìXX™å5¯åØKVº "žÉ^PêY{-•ÚL¤,£‚‚Ô ½¾CçÑÒ^Qû£çln“€9c˜hy+8(×(˜ vãt*'½C„Òø¾OÊ`P ‘ˆ4à€¹ÞaPÀ*LÅK™˜QÖ)%¢—¸Q¨,Ê eQðØ%k»ÕL  t0sgØé=¼ó¢33õ¼/B/’„ê\µ¸uïô)J“{fRZdc|ÔÆmkíJs÷´°³¢###©Ÿ·mÛ²¬N§Ójµr¹\š ±ººšæLMMÙ¶½oß¾ùùy)åÄÄÄË^ö²xÀ÷ý AÁÕÕÕL&cYÖ³ö344ä8€••Ó4 …‚ã8žç¹®Çq¡P˜››Û¶m[:†óóó¯|å+MÓìv»õz}yyùõ¯ý‘#G<Ï[^^j4)—ñµ¯}mÿþýcJ©M›6i­¥”„¿ú«¿úÓ?ýÓC‡;vlëÖ­J©ùùùÑÑQß÷ÓIËðððwÞùñÝn×qœB¡pÕUW1ÆR§ ÆØYg• :ŒŒŒ$I2;;›æe0ÆvìØAi6›•J%ÍøX^^Nõ)\×ý)p©ø‰8xkÄ‚ Ä"é&QF0öQ*€k·×ñѼ4J ¬®Š©1³nôIǶJ,ˆ~†V½÷ñc÷H—í’39:Ö\Y.šF ©bhÈ@AkmÚF»Û$&E ðµ0¾ºÛ-Ú^ûØñ£'­^2ZÝZ(ŽŒNm]}p&Z™®|  ŠÒÙ›F&†ü Çq6›Í ÛV™»Ìr…5±gôðázzrhµZ†a”Ç‹ÙzŽš šn¯Ø£Û'¼^' b­D%†Å;»JøPa8¿©ºcO0Æ<""„HÅ×R ºçÒ×D)¢¡ ÓŠi¥µL¨NˆŒhÊa„ÇÔ”ÔT0ݳBii‡»Óq¨£cÕïû¾ï[®Óó{š«Úx­4\M'+ó«¸}ÃD> 6zqÜľ—_P=có¡æb±bå³ÎÃ÷u<„ Œ@@¦t#,/(V÷”LÍ¡Vû§âÎ.Ú€ŸfUеT鬉ò…õÈF ôÛ?tß‘¹óÑ#‚èD=CD‡¬_©Ÿ5¥_+H E4 PJ@˜f:ƒ@,&ü'p2Z’‰]}a]˜Af¢pŽqÁQë`ï¾ÞZ^C¶N­_Ð4D·9ø÷È89½]g€”„ÒXgjÀ¶³Órܸ›œzâTx¸ ¥…‘Rn6kgiŸ¬*0&´J¤d JAƒ‚Œ ¿ÓÍT³[‡·¯,¬zø)Ì¡ó8NžÚlM—JÎT/ô"¡‹åröÜmǤèß;fZI”f4¨§Çõ´:ŠD¤‰‘¹\ŽRÚh4Rg×u£(ìÝ`€ž·èt:iº¸¸811qèСýû÷ßzë­_|q†_ûÚ׊ŢRªX,=z4Žcµšâi1sB4¥ZiME@©ÑŠë5K)¥ ÕZa]¾h:Ík ë/¦N ”RãããiLR.—gff†††NƒSÈ Yr¹Ün·]וR¦«ôqK)Ûív«ÕM¹‰ÕÕÕÉÉÉ”;HaÛ¶išß£¥”ïûi‚CÇBˆ”†Ø *6oÞÜëõÒžSÕ†ô W_}õW\ññÜ¶í±±1Ï󆇇OAX]]MÓJ¥R®ëZ–Å9o4_ùÊW.½ôR–eŽŽ¦Vq{ž—Ïç]×ݨãX\\L³Rõ‡ †††*•JÊ&lÞ¼¹Ùlj­çææÒ¨lff&­•BA°á»!„° ÿ¹0@‹ At X Ì2µˆ„H¦ÆÊîäáÇOöVZ Ì’BA%°¤ôYÂËåÒ²3¯3 ‰Ôòñ¥Ö“ûo0«3u³¶/#Àpmäþ'°ÝŒŒã§‰ ;c7”É ¸@ؘڳEY¢µÒ<|dMÌ5š{kõ Þ²õñú£h6©×°ý8„J˜Ü½{ë¾­}s™PÓLˆRÑ"=ÕJ–lf›®iY–½ƒ Å…”J BˆU´›IŸ(j0Óɘv±”“Yà ƒÀ+¸Y!b/Œz¢ßôUÁÊ›¶£Ë¢¼·*Â( Ã43(å°nø‚ï$/¹Ö7´æ@jâÈ Õ’ÓDCiÊ5Æ É ƒq‡Ò‡ïIO¢Ëó„ŽÂ1hÀãJi,‰ÑXèúËËvd,?¸¼üxÈS³®2MÝo) Ja’Bá¼ wO¿`眜o7ù„zO>…ƒp{¨£JVdÇp 8¯<~ÅK#›o6«Ú:uïcÞW1):2IàETå¶X“ŒŽŸ7õÈáE2äïÏ}ÕÇ2 gè^R³ÓFbÍPD=Ó Ób¾–ÚHe€pPB#éJ¡9 äqq²°5éc|ª2YÏ×-‰ÃÁc­G=ôà0B.4¥¡“Á`JÄ1ÂïŸô6¸M9‰À6aìüÒØÎ‰m{Îðü@y˜>óâÃs‡¾õDÿx@dJ@Ï …Eq“0Å,Þ3zŠ!t\ewåμtg圲p(£#ùpgqǦGîþfð¨¿ôpêÇ·œµµ82Ä@ã(PbµädÏÚµõD$^Æ A5´&À38œµ¤†Ó_4üЫ?é? ½+·Ûí………ûî»/MwLE§`€¾Ã|û{¶ßã³Ïõ`€/(²¦¿¨ … ÒBÃõ_ù•_ùò—oùË_>2Rߺuk·Û¦”z^ojjJ©dã —€$*$”4ÑP4­…H(…\·h×iÝ„&k ’ õ´ šÀ²¬Ng5‚¿øEŸýìgU.—»ÝöñãÇÇÆFÒ3Æz½N’$€2 cii€ï÷‹ÅâÊÊŠïûJ ¦ÉmÛž˜»ýöÛÓ31›uòù,!$ ýL&3??Ë9ÿý$IB)²Ù¬”IÚ§ã8€ÒZK™ÄqÌ9ýÇüÇ\.399éy½x`çÎiÆX÷Ýwß 7¼elllllÄ÷ýoû›ý~?ŽÃ$I.½ôgÿäOþ¤T*xžW*†á[Þò–Ï|æ¯^ûÚ×~æ3åy^¿ßM·»°°`š<ŸÏjrròŸþésB@år¹;ïüºÖ:ŠÛ¶kµ¡?û³?#DW*•0ô?ûÙÏ^uÕÏBÆÇG“$ orr2 ý(Š8§™L&I"–eضýƒ\ Ÿ¾îˆõ#jcÒø:ó8í"9ÀsBC)$12°³ÛÈpØl MgMm:k2[6!5—ŠB0芃V‘N!G ®„$aÒ[nÞ÷¥MÓ" qB l‡ž:\ß<“\¥%9ž‡†”F«ç™®cYÆZ‰ò#ÕFâ£è¬E««ˆ¢( C7ã0Ç‚a%=:†³.9gË}Ù_ ýݳÅJ![°!Al •3xèusy;SrºQgÕk2S› ½.I´CÝ‚[p­œ‹‘Ìàn¾ÙóBEM'ëfJŽéRÉI "À&S,Hè‘0 ¡O£ç§· |„¾Ž>{GbÀ :h4äb! ÀjÀùÆö_ÜwÄ?²j´ ¹þöü]‹€,HÕî3/²1qqeß/^TØT<~êØäøÔ#÷<~àŸŸB°$}äL!¹Z{J˜RX2±„4Õw?`ÎúÃ…v[Ih>ó=ô}Òï¡¢"E– FÃGÛFÇoY5kÇ‹w —E¾ž¥{FX . #–€£þï[ÁVpDÂúé+¢R9 ”Q˜.oÚ»y±}üØÜ]ÑÞ5<~áV1Ê`@3€ $I,cE5µ(U°2Èç+ÓU>b4içÐÒßÑ[öžqÞϾ#€‡Î7qêá㼡j¤Xäy¿ç5ýŽUw'Ϲ° °˜¡`ZmPi2iœ®û8¸¨ýûñœ §{fžÞþ zB§6í6ÅêÌÍÍ]tÑEïyÏ{r¹Ü ^ð‚×¼æ5–eyž7ص 0yzúûC §©Ü­uº~ ZSñ ðJ4%zíî ª4Ñ€TOß— Õ Z ‰“Ø0 jye±V&”ÿíßþõ‡>ü»µÚPf2i‘+(Jqi -!bÈB1 ªA¡©–šB´6dM•’ ɤ&:=?c:4x t¢A0ZE~¡èk_÷š|ä'"xõ5ÿ塼îuÿõOÿì€:5{ò o¸îÿ}ãõú½ßýÒ—nûÃ[oÀ8TµVºçžo¿üå/ëvÛù|6ŠâÅ¥ù÷½ï½CÕâe—¾â+ÿzǯþ×ÿöùú, NÎãßðöwüÆ{Þý[;vl®~(e‹KóÃõQÆÈÊÊRµZ!„JJE¨6MD]{íÿ³ujòìÝç<öø#7ÝtãÛÞþV@=uøÉŸÿù+þÿ÷¿ï¦_ÿ¡jù¶Û¾ðæ_ûï–e˜&oµÚÿó7ßqÃÿøõ±ñúå—ýÜã½å£øGtëºkšºð¢½wÝõ¾è¢v»ý–·¼YˆØúÛ·O­¶›·NÍžüèGÿà×oºaË–-“c­fû¿]û«)YÇáòJã–[>2µmÓ%/ù™{îýö›ßüßÿæo?Óïw³Y€ãX€¢ ¦aŠRJ)Kw1cô‡"$EB‘Pr :Õ˜#zm-pMjŽ@Z¯Õ[?Ë<ã8J)JiZ5CÈZž¼”2­ÜÙ(!ùéCÕ ±¢€†3’„Z…4Î |dJ–‘ ;jDØn¶“Hð‚…úžáú®1ß@)ØVyê¡goëÂFäG6 ß"ˆXÅ\ a®ÈJhÔ̺×I`dâÈ%v±´D£tf(|ù_ïù¹^Õ—~õ±Ö|7oV'‡*®RI¿»ïÂs¾Ý^Å| Œaú¥g stßéõMgdùØêâÊJYÓ2#\ÊX­,›Ëg¾àœ•¹.¸ÏLt[Ù‡N?,g*$ñ:aÛ³­úÄXi¤&é‰ ‘ba¾é#14!‰=ßÐdbdtbËx7êkæ8Ä Y¬”Ї<¡ IDAT 5˜i(*RçÝg´ iC7R¨Èš™®"ÐæÚqÈ4]3/ÉrÑŠÀ¦4㤮˜±’Ú!R´caË®ñ©mFćX™FˆãØS‘gI‘¡4gr—å,Ì/P#Фçõö¾xyp»$G™4ľöûÌ!FK|%š={gÁ`¢¿4³í̱ìö©ll«(¡‘T0Ƭ¬kæ3Ò0úZfãb{µ7}Ö¹ö4å‚™1¥’T#!:$$ù¾‰-$,tHÐ(Õ”h€¤VAk³˜5Ž8á2Ì$:ClÇ2\“– «Û·íÙôËQg¥]ËV]åD Ÿ‡¼æ¹Ôñ£Ð'‰ J¯el¥ý®IS½vã’à$Sº};èš®ôˉ_ˆQ¡íÐó—[‡î>¼i»/5/NNmý¹<ø•5ÁÆ0†—¸¤7 *‰µGEŸ@ ^zå勿Ü챓‹§âó†¯qŽö¥Y îtÖ÷û8…æ×ô‰ÞÌøÙ;­5æmÚKܾµ Ù|ž[]±òŽUP΋vbƒEæ €lüyH§nDë©›òw0ÏïB(¥±¿Öú'¾tbttôŠ+®xùË_ëºZë8Ž1À p_ð}¶T§UæÏ *žæÒko¦ zM7À­ÆÖ'™kS$Ó0ƒ0ÈçÝÅ¥ùáúpº\Ï9yå+_ ¨¾×7M3ÏóÎ:k'b€‚ÒÐ JC!M …âJj&4Q’jMÓJJM44Ñš 0±ÆÁiÍ’(Ö±6t „q,çè±Ã¥RéÚk¯õ}ÿ}ï{ßÛßþvÎù¯ßtÃå—]¨‰ñ‰·½ý­ïÿû÷]xÁÂÂÊe—½ìꫯþÆ7¾a™V£¹ü…/|á~áVVVÇLJ{ì±B¾$úú7\ûîw¿ûò˯ܷï¼ßzß{öìÙ¨Ó;þËk_ý‘|äW®¹úÑGŸx®~h•ÊüB1uýT3§fÊår6“í{]!ð§ŸùÄ›ßüæd³Ù÷¾÷½W]u vŸµû]ÿßÿüð‡?<¹iÜ0Œ]»vÝrË-×^{­øårqëÖ­ý7Ÿ¾ä’Kº]÷î]o}ë[ÍF>Ÿ·m®!]ÇݲuÓ׿þõ›nºé+ÿzÇç?÷ù|.ïùÁtc7ß|ó«~ñªãÇOMLŒüæoþæ»Þõ®8‰¥’~ó]ï¼úê«ã8žžžþ“OüÑ9çœc˜lqiqt¬Öë÷rÙœi˜?§ðÝíš«<Ñkì*ѧ‰ù§GÜÚÿ§‹Å=û„€ã8ií}·ÛÍçóYÎùFªçy©ÎÅO#Me®‰ŠR¦5Õ4̱à¶AÇï# ¸(³=—œÑ-ÑfuzóN¹Ø™ý\è*ëS Ħ‚–ɦ;-c nr+”Q3j×6—ŽÎÍBÀà ¢ VžläÎ,Ž oÉIG¹EæP2K¸Uó¢«^tϽwëF¿¸»VÞ\ IEAÍ-~ó“·ÃBtCœð×~²xèÀì¶óG'ΜÖBʾä‚/>á5Žzà@Gë‡+çMNï>ÓÈ:ž—Fÿâ~œ\÷5ð1ëÌŒì+Ÿ7%l•ilRIiœ$Éàò¨)Ñ”êg9D9çšhnT0¥©N8›é-X¦Ås\ŠpÅMÉmX†L¤Ò¡”‘°bné¼isòÝP›QÂ“Ø ¥#HN[jØl²PÓ±[±Ù3 #ëÚC˜¡êuÙRÂ|PÓv„ë0ʈŠÁ s¸Ë(c„QF×T¥ •”J².ð}´,Uï\E=ýÏ|'jÊW:V"L´+0éá!¨UÈÏ.-!†«57±Ú•ާ Û.KXº£7(ž5KËõë]“†„N´—¯fªÒdÇs=’gžõWW»ã0fp³˜LꕱaŒ3€PB‰0¡š͹¶\#PÎ2Yiö\–q»µÚ‰ŸòÀðÐßÚ|ÆŽB¶¸{ï¹÷|õ®Ô~eæÀ²F¶šÍ¹¥€ÉÕhÕâýLÅ(ï,õŠ~n"Ç„•RKsNÌt„žiá̾çŠÔß ?ñDCZúX*•R¾Üóã€øžçf2ICé Î;~~yã–Å2™L«Õ-2Zë$I‚ Ùˆð亵h¦­©PJ.©ÒJ¥Û3$§€"JB(HE”&Šhšµ2Ri"Xžç( dœ$*™Ú:•nâ ×]ÿë7ÜÈ8I ÀÊòrµVÛ¾mûGþ÷ŠE¯ßÏd³®ùå_ÑJ1B§·m_^Z†Ö dyiIgsDãí¿ñ¶w¼ýšFehÀòÒR­^ß{ÁÞ[?ö‡ùB! ÛqžµŸ´ö{yi©Z­Æq &'&à àÚŽVIàû¯¸ìrùÔÀ" »N¾P8ÿ¼óÿäþø?þG¹|>ýE/{éϸŽë{Þ–Í[’8î´;zÝîÆŽ9J@ZÍf¹R9û¬Ýw|évÃ4¥Œs%"ï;®;:2ú’‹_|ìè±ôSO:ô±‘QÓ0aÀëµÝLæÕ×¼úè‘#SÛ¶¾¯”²Lk¸>üÏŸÿ§\6`ã÷þ¨®Ÿk «^»è‘g«VÖú´å¿ïÀ¹çžÛjµLÓ¬Õj³³³Û·o/•Jwß}w:ss§×ë---e2™W½êU ÏÃS;Žc­¹i2ŸHh ƒÌ{Ñ‹^ض<»œ'y»¹ØàK!bÀbéX°c„ ´‘D2N¤›ž±}"˜Ž…†ÜÉØ o‰ŒìBò¸DVÒ¨¥–?ÿ¤î’*©äJ&7â°ßî¯Ä^$¡œ!ëÂWœ…!QÚá–séØÒ‘o݇GaÅ Ò€]‡Ì Iþ"ôeÇ1¥Ô1‘Ññ8’Ë¢y H æüÌòX©À*}¯;44äž1ê«yô” O¶2»†ã6³ à`J)©”Ð’Û?‚P…èt!áYæBÉ” #„€€*ª¸`ÄÒœBk€B•Ä2ÇqW©>á±eÂE‰eå2ÒìÂñt.&.ÑÌÒÊ¢m§?ç‡K‰ÛÍd¸ÉB„>‹BÓ¢Yžuó®“çÄV¢$N|ÉeB\jªþ{ï-ÙU—‹~ó±žõ®ÚïÝ»w÷îW:„$txH4(Šr®r^.Èàªp "¨å8†Š C¹<|^¼**ÊP9ä IH'’î¤Ó~îîÝûUµëµÞsÎßýcÕ~tÒÁŽ&rLê×{Ì^»vÕªU«æZsþ¾ùý¾rÀ“ŒWÍ`úažö–C¹\e*ŒƒÌ’VYÚ®mløeo1¸”D4Žcù^ѵlé:^,HsÂÀîxp4´y’ ¹Øl{ÒF‡ý^_&|¼WQèÎɪZ«Ž–ÇꬮhýA‘—Ð:c"Ô ¥Ö6ÃÌ«z69ˆq¥*ñʾcPú€Ì?tºSbÛü½¥ ÒžL…ôùäØ¸ÏƒÊHÅt(Å•Ï$wø&ƒ¡4Ãh¤”qw:ƘeYžçÙ¶-¥ì÷ûÃowÃxÎgf|€¯_M{…)6 ŸÄ±t ÍÙö°nbÿk…aŒƒ1ÃÈ/ò ùرccccö:¿‘ﮬŒŒŽÈÒÔ²lh€0–»­s› %Œ Î$gšbë@ƒ’‚ ¹2\6ø#ôWÖlæe¥æÒ~¯Vôi¥ÙÀ›- CÏó„”Xç[¶×Öj…ë"óù*÷üùó3Û·¨ÕëA>¬3f´Ïw•e™‚ˆ†ZWƒ\¿œȳî+îGåI¾1ŒsÇuÓ$ ðZ«å/YZZšœš’Rz¾ßj6×Z­Z½nŒÉÅ KƒÄÞ²¬(ŠÆ'&äç|ee¥Z­ !6Öê;yr÷ž=Fëz£‘o !Ș\µ±X* ¾¢n·ûÞ÷¾÷ñ-ËjµZozÓ›ÞúÖ·æè‰_(<òðÃû¯½v×îÝùÆ…ùùüUÏ?x€ÑÚ¶í§©+1€F&73½"ðµy›¥o2%?räÈÖ_{½^¿ßŸœœ|ÜÓ´Ö/^º‡O=Ì⹃;êc®Y¼Öæ%É$ *Òi–*™)æË €zä:C¨á94pǶmι”’1–ãCRÃ0†1Œ,€WÓ>ñå3é­¹Üú* i ÃøÍP6ªâ¢l !ÿkþÃ…= „4жm›…1 ÞZY©Õj…Bh=RQq&„Щ¶$­ë—3€qÁs«uþ‡ïû] Ò04(¬ØØÛÐP† 5åoÆ!%d·ŽGA³l÷£,ËJÕ*hÓi·+õ:Õj£»¶Öï,NLT« “f¶íAé™™Ë —Êå²ÖºP.¯­¬V*•,ËßZ¾t©V.Ù†V«R¯K)0Ã’ v\·X¬ >޾ò~Ç?~ôØ5€pסC/¾õVÛö²(NÓ´P.ONn£L™ÌÀâ¾ã»…Bo­]ªVAtêÑ“»öît»…r@±h//\JÓtÛì,€©©™^»íWKA· —·›ÍÝ»÷ÀKó Û¹/GÁ-€8)ê­uKÕj¹\{Õ+_õæ~ó]wß³oïž7¿ùÍoû¿Þf{A·»ÿu­å•úèèþý×01:‘q†µzÝh$‰W,>=ScfA-ž+Ò°ÞA—ÙÀÑ7ŽçΜ9S­Væg~æèÑ£÷ß?€(Šúý¾RjrrR±}ûö ç¹ 0 ÊŒ&0ÌíÙ]™+\9=º{ü\{ei­µlgµW€`° \¢…38ÄËà…(eR…=Hdg×Zß8·ãy;ÖH;{w„T7¬F® ¼NAÏ'gŸ>» ãûË#;ë…ºÏlìØ6¶rq>¦Ò¶òö•¥Ö‘/ß—žÈ࣫`öú{_~‹½gâ¬uX,\«äÍXqÄú¡ÑŒÛ6ó]ÓÓ™RÚŒÊ&µˆ@JU¶ØíÚ±í|Ïó.\\`år9åñüÒ’ïzÛnØvzñã<Ó)Å€!M†ƒ1Á×MùíßÑæC7¿R7ÍÉ­•çDd¸±ŒŒ¢ Ë´ã¸e»,˜u“°ÿì)trçˆÍ’~ŒÂ:èo›/z>‘Š—;ɼ<ý©ãX-;ºÄÀbôá´QöâÀÎ=鉘µ—VÎ=µz| «@†v{ Ù9¸®h >EÏd?䀱¦P901µsªT©}ß—Å8̲GÂSÉÙª¨ºÒñ°+mä÷ŽÐ 0â” ƒÄŽLÑ+îØ;1éNVD©n7šgš«ž—1j%±œjaeÆ!L¦r³!@Êüüœ8öèÞ‘Ýã7½àÚ[ü³³;fN,.¬všQïÜ7WX1Ÿš·<ÿ[PWzç0Œ8gÆÀ ±†a| zõ7E"r0·V[õ‘šíÀL«¹VkÔ£ Ìtƒ®ïø–gKaWÚ Æ·LM.ü͉A•j4€`.‹’K¥AÊ@TàK[@”ŸC3ázù»Žåo·›%¿$Y©€™°øåB¹ÖØ`±N§­S]kŒMNçGQ¿62fËYZZŸœ~ìÌiKë´R ‚®€p‹^¡\Ýd*i¬uZ¤èŠû1©¾æºJ½Ýëìß{ÍÃç€ë»i”*2Ƴ¤#í#GßtÓÁùù³SãS¹ñç®}{óýkMq¹–Ûê´6ö¿¸x±ä—Jµ*ˆ*e¯Ž4â~ä\p99³M'ŠIƹfl¯$ag¥965žïóÜ©³¯yÝk_sûëÀim¥U­gQ †?º÷Ú} ^©×Nxl׾ݔé:’¸SðAœ .5­[“šo  iHbWJÐ6TrX®=ð$eåõ⑉‰‰|ä#·ÝvÛ±cÇ’$éõz###¹iš¦–e…ah̳zNO—Ö3q!c,IµÊ†j½¦iÆ/-.w­tª>–õS­]g‡<’K3B*ƒá” eÃ.”|±6n]ò¡"8 ®Aï(VW®µjîÌHmnb¹ç”SOíÄšq»´ Ö‚ž›úœKáX™ÇìzQ?$µ¦¢Ôd@ ì„sÃ6³«ŒXÝ,Z bÖMã6¬vÜ+HÍ›ÍEQôJ“£¶çDi4»}çÒü|³Ù´¥ô×…‚h¼Z«‘ù¢àZÅ~¿ñür©Pg hc´ÖàœKÈ\äéÎr%¦Çól& 3¤A­F¦-XŽt\Y´É‹:ñò¹•Ö| ËÈOR¬ëØ@¡{»Ø¾³1>]ÎD|ñì…‹÷xèBèĆ˜•Øô ǦÎÈR!Uziaùü#g‚#=4×a ®ÁNëK|`[òÌ Ä`4 (€«è\hÙÌnÍzºZn¼à/8j=ع» †M¬áÉ`‹ÇµXàab®:1·‡ ¥~GõÚ½ì¬N[N=ðØùO…ómt5|À†fJ¥Ê÷ÆicK Tpp,?|Zå¦å vbfei™˜YX¼859¹v¡3½cÛÉÆ|¶Ø€àÞÖ©ìD톽™jÄigÂåÜcŒƒgdb ¿Q›ÓôÕ¡&×shð}ßu]Ƙ֚ˆ|ß/•JBˆµµµá·;Œa Ã<5 àqB yHFB9'f×S ¡îaü‡ögÚìˆË­}\31€«4´×:L >:šwêV«U¯ÕË•[O ã8u,·ÛíV*Õ-ËP|#5blƒLºÙÝÖ—}ÈâÜp6 5PI:œÛ–ÈRÉ“0îF½R¡\­5@H’$KT±\ðK¥ü¨~îìù‰©qÇv*N„ååe[:ÕzÅhòü"‹‹Ëãž_T™®ÖÒL{…b9³ü²MS‡‰_ô¤µúÈ“í§T(lë‘GO‚“c¹•Zm4 û‘_ôâ(¹éæƒY¢f¶ïa~~~|tÂv­æj«R+—kµ|½®Þ%$K]Ç­Ö®ã6›M™±‰ÑµV»Ö¨p0qéââøä˜°í~Ðûm.Y¹Xq\¿R“?{æÜ޹ÙÙ¹¹f³é9¾Wpk##J)i»D´wÿþÁ™—ö®½{ƒ Ür,…q¦SÉ-&à¹ÞåhÔ¿½%p hƈq½e®¸q3dOqÚÝëõ>|òäÉw¿ûÝŸýìg/^¼877—¦iÇÆ˜jµ €1Ön·ŸÍ(ÃÇ£ à\XÑ` Õ+ø ÝKcm÷úœñÙÿÛ>ðWà¯xÍw}öO>‹ŽQí~OòC´À˜_c¢Ø›¾¶ö»Í#¯ÀMàv@œÿ»s[Ë#µŠA³´»jm߿۳—={`÷ »AÚŒWCê_Ù GÖY°æ;ýÆø¨ÖÎé‹vQU_z =r'‚·¿Ì¯3ÛËË*ì{½^¼ºÚm¶ýP7…Õ!¨(vxiûÄØ¾¹é©éh>vÚU{9Y]\ {™2Ìñëo¸atb¼ô ƒW¬,]잺ï<œƒsc@Î!ž£ºÐ`¾Y‘ˆòà\¯IJ¤„¶Æ"äÕ+@dÊI¶òú{_>Åg³Ò6W›~ëÒòÂé€p e’êUÅHÖ1²¿4~ èе4nu¢Õs‹ñ¥²ANÆ,Po‹/Ö%¡ÄÅyžÞ¡eý-h]¡'NWNŸo4ܵZ­P+íÜ¿ë°Ç4 Ú6Z~Ù(Á°iDc؆{'g¯ÙUk«xéüòâ…K§¿¶|ÿö"¥ÏÇè¬Á°Á&\¯èõÓ®€‘aX§«tÐzìâ¥ñ2ǨhØÝ¨øÂŠtbLê«õ¹´ .É‘öéô´N§Ý}vŸ…š©„ŶçâÌ&c›º 1Àî¡s‘Uf†XÃshPJ…a˜[h”J¥ jƒ÷tŠ! cÃøÏ9¯¬¹]½$¶è0FÜ0ɯs/se • ‡ñ­HR¸aàyÈ®æåO0àz’È4C¹Va ,.®–ËåZ½'Ú¶Z­n½^Vš9.ʵ*= ä¶uy ½bÃŒ81®¹$& Œ"ML`Á"‚´GkÝšç ‚0±,«Pv0„Z½žf”eÙöÛ\Z\ÑZŽå¿NLŒd J©ñ‰‰~l(,@ÄI¡à„Qæ8–´ìRÕÐëǹ¯Á÷ S†)IªGô£¸h¹ý(ŽÒ¬^/aêy6íNÛÌLþ¦ÅJ•ÀSEY–ù¾Ýlv eÒŽëöƒ¤ÞhäϬ6ª­µ^­V2„r­Î8O3²B.“Ñ톖kÙžf4;7K@¯å¯Í¿Xt$‰±m‘‹1^º´299jÙ>cŒ·àºph bHScçÞ~O\T|*­з™fÂ0¶Y)v5HnÀؕчœdZ,ß÷¾÷ýíßþm÷ÝwßÜÜÛ¶7D%rŸË™™™cÇŽ=WpÃõÿ HJÉ$¸#ŒÒNÁOºÚéÉQkzéîÓK{.ŒWG1NÃ~Ék_òµÏ| )hÊ¡ 3oxFëûÆT±Ò¤ãú> š(¥¨ÂKÎðsÝcÒ¯Žî-úãþùSgc×ßQzlå„_¨–F á…YF™"b¦jÛWZ½ÎŠ-œòXÕ/—ª“ÕôVåÕ¼J©˜Åñ£g×î;y@ ]‰nš‚u Ñý‡æ/=6O¯úŽp9˜Ø6>5yñÂ…è‘ú€P¸»}×›®›Ù3Ç«•ZõàwßÖo÷l!-!ÁéAV¾ýï/ F ™+>‡ƒmmÁŒ1`Z0"&á8Ì‘Úva[ÊAžY´}]Û3’j_:Ò8uâôÍÓצ —AÇ@Ù†IÑÃ¥#«‰ ÷ï¼N3$QbBæp»`s!DAæÈCNÔZ¿D‡(ÃÓ4l­VÚHù_ðä*PùH¦”Ê5 …³œ}7Œa ãrÀѲ¬\ŽXk[µ !’,M’Èuýr¹EÉÒÒ2cbd¤®”Þâß¶ÙrKjm MnÌsÓ`MœËÕ¥åFc¤Xñû­(MÓzµBký5Ë‘DA½^眯®®ŽµÛíz½¾²²Òï÷§§§cÍfÓqÆX’$®ëzž§µN’Ä÷ýµµµ!0:Œ+ü`8"Ƴ,Ñ Órµ)Ø9“@\¶Ö˜A¾zê ÖKõrØ'ËyòOH!£þj5ø€M:X ¤\10¬Ï€1d¹Åe¾71H®ì‚“L¾; Àb–egë‡J—bã× €„rã€7ç1žµñ ô¬­Ù)ºùÆ÷“O‚ò Ë·ó3“NÑÍ€êh-¡åÛùé*T‹ïËìÀ\~ÌåF%„+Õú§Ûz„ÅZ)Àï‹m’WöÏ´X¾á–¼lËñçÛ_€‘ÉÑ|'´qó!€Ù<{Zz Œ ]Ïu¤6àçÈRcI®å8ŽÖ™ÖÚõ½n¿ïº.=É’k>{üÙŸýÙÛo¿½T*u:‰‰ ZwýÈïÛJ©$IJ¥ÒÊÊʳ,Dîk ´ær½Î—[²ô¥-ÓHáâ⥲_=·Ð-£…?uÏÌËvÌì›nÛU{éÛßømÿóÏÿK€Pxä·åv±ë‡wŸW±š-½úæåòc“é IDATøçN¯‰²]Œƒ®³‹ÿtÏöx®˜”¯uÊÎZGrÎ]ÊL›º’Q1’‘ÃIp¯¨¦Qè+Ä*â^è×JºÊã ÛÝm£玟[ûü ¬nÞ/FvÊvZ°zHW X|ðÄC7Ýr}+vE\ÿªkÖn®Ÿ?s6lÆ9Ð μ¢Ú壠8Ò´2å3âëü¾…k þýb†c]½x¤ 'Ç b†qçD‚2Mš‘âŒqb¼Gaê$k…Īø<+dË µ ¾²"!M"âE(™W¸®ÌÜÔ‚„U¸xiEhÏ/ן;J8™tF€¸áÈ82aiRLƒò—ÏÐÀ3YNŠN&2˜„”ÄmGHáÃk']ËÒÈ„ðX£ÜØaï¹(ç³/Dp™k9q7Áæ¶€P&ݼî§Ó g(Œà¦ï}I{¥]pe÷üêñ»ˆ…H{]»÷1U*â»ð{[i»Ó鸶tª_{á‘û¾tÃXÉ8cåo{ÉKv^¿óüòɉ‘±ûx |Ýö ÕFF[A¯æÕ‚4Ul‚Ö@;Ô†$hÝ;ìî-Üüâ[âKç;a»æÕ 46;¾ÈÖÇ%nÀh£Lì9¹Ûë°!“šß·‰hȧÆ£u›Ø;¿Ä0†1Œaü'¼À5¿'æ@3Š”St fµÓ”RNÍNˆ¢ˆ$­çA—µ2 &Hf˜a†P/¹˜TYÖZigYVòË©ÒîIªÔΟ??==-„xàn¼ñÆ£GÎÎή¬¬”Ëå±±±‹/V*•z½ž$§iR*˲8ŽmÛö}+°;Œa|ÓT…Æ9Ìp2ë æ ÿ(ƒ4ÓÝÀxn ŠöSàÞè-¢f[…ˇ-2@änl€Õ™-sÅ'úmòõúßaügIŠC8VA¬²u•Qœ ÀÁ Ç`qøjdqÿþïÿžˆÞúÖ·.--‹Å^¯—k7äê RÊqx–klÑ•üŠ[„²a„î¢TÌ*ˆ‹˜ðl_µw=oc÷ÈÚBóÅ?üü»î¼G*ÐD°"Âc‡.ðËb§H+Üyñ®´¼Fÿß™‹ + éHeâÓ­ºuâ(`ÀcH©7 É3;ƒ­767Âr¹ý»¶ïÛF…âšYKƒ–U…†Ï ÕÃw:ó¥ÇÐCy ¯ü¯/ vR”±'"®2­cƒ“•õilUp\×vÊ…âÎÑYAp]—´ ¢0VYßêÅiÂmiUÜ’ë¥A"ÖÁªg 53W¯Q"Ì`½‡ó­ýœ1AÑ#ÖýV ƒpý°m‚ÅÈZóJɘÃx&‘Q—_LŠ™*×·˜´)µtǦ>+§ž¥mi˜¥¹­¤m8‡àŒÆÁÀ„! 0’ˆ$C™yÆtî9:QÏ1‚x´ãšç³Ûf×Âv»Ûf.l×VL¹uwçõ;/-]ì=҉̳8‰-ÉÖGÃÀÌ€*Ú*rL/‰V–zçBôÀ(Æ!md) áÍÞðâçi‡Ù°™a&¡‚,”ÜòJ§¹||(=G*ßóý¯bŽ8ù3{Ç¿þõ/6“fqÏŒp,’F ^Éî³”’ rô4˜PH1‰ìuV»Y–1 Ú2šŒ&¿9À x>?d¸’¯ô0®*†@Ã0†1Œgа‰2CÂA‘ã8e—V/crŸš+O™QB`,çOtæÂÙñ‘q×w¸¹Y’Faè<&ÙÒÒR½^_^^¶m;7l›˜˜ÃPJ¹¸¸833S*•úý~»ví:sæÌÌÌL.(³‹pÎŽMÃÆ¿†2\¡Ï"_X0œˆbe:½~7r2m²$¾ú¥Í è åÚÔ(Á¦3\þà 7Ê­ÀˆX®ŠjÌ`#.{kAz4üg ¿èë,â,Õp X½ŽÌ€N¼ž¦{Ò™xEŸùÌg~îç~®ßï»®›eY¿ßÏ@ò[w§ÓÉ5p9öÙE³Müa°òË€q .¹ã'/,Çq¬õÚgkgw^³£Ø("¤=·ì;ÉNã$ìÔÒ½òKõ X°-g›t&xÊTÐo¤_o6Û z€ ¬kÁ¤HmÀ$R$)’” €…¦}Ô—¼¾³âù’\—Û{9 uIB„Ù^L߸;=ÕYé›(K˜#­2q_³B¤S™m,r±Ù‚If K)óL¥YÅÀ„Í™ Œm”IÆø3«B àWÓŠ; E嚘É[#ˆ˜Ñ\k–D\i'-4Ö¼øá89iÊ…(‹ú¢Û+¯uÆVh›.ÚnÁ·ýÀV &:ÓÏ–S$‘6†§†'ZpâŒ8À5ƒH…Yg4F¦ŽÔÏ”½%‡.ºÄ  Ä5™T«ÔdJ˜±`’˜ç»Šë4NŒ¥ ¥‚ï{#/©=J4¶ a !‘)äê‰bK¿ÞDÓl(‹´ËÃ0]¾¸„e¸ ¼)L Kg›·óà¾mÏÛ´WHn¹ÒŽ{Ñ™GÎ>òÐä DmWýE/zQµZ6 (,?üðc÷.b,%FB3ei%ÆܰͅÙä@’V€ H:“\8³˜Êtº^’Ä 9¸Éq*¶Î¡. †a cÏÁÈ ZUTyKÒH›\ß“ór™¢W(Ø…^ܻҜ 8bž70Æ`4l×JMD‘k¹¥’ßJÓ0‰cµ•f³P(>|ø=ïyϽ÷Þûš×¼æU¯zÕÞð)åW¾ò•~ðƒÿðÿpÛm·ÝqÇ·Þzë¹sçþðÿðïx‡”R¡µ.‹œó(Šž øÆ0?WÀ y®O€á0 c´†ààBq¦`2mç†1¾.5òÍ[Í‘>~ÅØ`—ë˜\nG.Ÿ¯nJS^^nÉ Ò€‘¹Êã¶ßÚÌdAÄȤ†r Òœ@CF§M9bÿŠæ®çyGýÑýÑn·{íµ×9r¤Z­¾ä%/‘R~àxá _˜£ —.]BŒ=‹‘Â'À@ù^Ïg cÆpN’˜J °„Õ{—{íà¥7¼´¶X¹î%µ£Ý»q–%XGûÝrç««ÊÊ&_>íLñŽ•–¯Ù5×?¹ªÂ0•‰]²-Ç¥Tºa‘\½hŸOìÈÉ+s¼´`ež­FÜãVlªº‰/ìÑ*óâµl­{¾­bgÇÜLömÝKŸ[€…ë_r`|Çì©Å…ékv5ƒn®£ÌªdTHuÂÍÙ…ˆl£-ÍËÒ/ЬÚMûA(•Nð ¾k;9¹/Q±ïøÿwk1±¶Öt? Òû¿xPƒÇ=â–ÍIñ(ÊRE&)š Ä@2È€ <Ï2°RÃ(1©Z_õa`ë Ù¦ò0†@Ã0†1Œç`lcùcLsujþTu¼fYVœÅ^Á+òb„èèÙc9õà I1Í4cŒƒH"FZkM“# ¢,.¯.m›š)”|m²N¯Çõûý?þã?~ßûÞ799yèС$I~é—~éíoû_ÿõ_á _øÇüǃÎÎÎþÉŸüÉOüÄOÔëucL–eµZMk+Ë cW2\™VžSc˜°¸\ZLÊÀ¥íh"n˜¹ŠŒq¶9ÓÄ¿›ž`­2`³­ðùäåøÝº â`Êi®úx†í·²eP©Îθ´¸ØLºžLË0|“š‡¯|å+Žã4›ÍF£‘eÙÍ7ß|÷Ýwç p–e9ù+¿-·Z­çÿ†é 2éuÖ|»R-”ULógOèxNÆAÅš÷Ýßû=…’¿Ü\*z¥Ó§Oßuèn€…Š^¨Œ]ôDÊtÌ`‰¹ã´¥h‰a@j`pŒSAi­aÝ( åïh ÃÆ0žó@€\Ä1Ÿ §&Û5»çSwþÕßýÝoµVEï·m›êtzWÄõ•Qšçà’IÒP©6™~ó›þÏW¾â•£-»Õíw¬šU¨ûÝîØÈèáÇ¿ño:tèÇüÇäG~äôéÓÛ·oÿØÇ>vË-·ÜvÛm¾ï¿à/¸á†ŠÅâ½÷Þ»¸¸X.—9çY–%IBDœó¡ä0ž ‚#)%1Á8ãÂê§JqÆHÿÚ…¼Dy—á¸Ìt‚Asc¸á9÷a½Î‚oµ ­µ̸Êã¶ßÚ–A—¥dœ˜ëžu9–ËžàéËóB2»ß(Š–——gffÒ4µm{÷îÝœócÇŽ8pÀ²¬©©©A‡Óú¹ ä}™7ÛDj6;¡#«ÚC` ÅD¶µœþçSUÔFoœõkåÌÛ^º{E=߇^’ ØH°øµn»áÅ»¶ïO-/ÕV‚4fÍ!Q*mÇÙÜvt‘g` ƒ–F± ,1Ì´’&cY’Iê¶:Æ[:ÛK³Y«%a¹\™ѱѡ ð·Ô>s÷ , ØVY.›gÌ-@œšÝ š„+Œh&#R ZWvÉï4âNçþÍ;§-l &·Ø7°¸¦ \”ö—FŸ7ÚDK/«~?¼pb¾{Š& @Ât“œöMÁúÍØà®K  ‚eç’oô¿Î_ùâÙ³J+•·j+‘´tSŽX×¼hߣüdp¸ ¬Âh´F.Í`¶žù¬qaIÉ5pa2p¾´¦ê/¸õE»§G–{͵4­šf&lyîìÙÃ_þVô˜aøöïx¹årbÆò¬§N>ðõÑV Ìxf!8žË4‘ØTº @ÏEI ,FRΈIa[Oãà|£l4 †a cC ë«»I’ªÿůüóé‹§_õýßû_¾ÿÕ›éj'Óå©5Õ¾|Ê@3Œ”Iˆˆçœ £ŒNµJõïþß¿ëºî+_ñÊz¥Þ^Ð- ®ï?zòÄÁƒ?÷¹ÏýÐýЧ?ýéßüÍß|Þóž·ººúÀüÚ¯ýZ¥Rét:¥R©P(\ºté–[nP,;N®‘¦i–ežçEQ4ü‡qU]}}º³¡ €  "Gî/fÀ¹°,ÛÍý0¯†>ˈ óx{ÂM‘?–#yoJ†AñÜvŽ3b|Ð>>ÚàÍšÁ=3Äßaû4·‚ŒNÃÜk"_Ýä†1!ÄfÄé ýäJ¡”"¢\žÆ¶íååå………^¯wàÀ\ظ{ !‚ xV_ÀÿÚ×ëÀ•HÖÏ ¡ ”2E”²¬‡^xÿ§ï€yþdS·G÷UvÔöß•=Ò{¨BHй÷NÑþFedw'q˜²yÊbÆbÁBNÚKK~Sp’™È2™¤V¤D’Z ±Ô"²¥ãeNº°¶r¾™tÒm#3¹éea µ’_«¶¢(N³Z±Ò^éþò½X `£x]Þ5—eÏ%Ûbõ(–& Ò,DÊ*Ykr)®¥$¨ñüQ··W³¶!;cˆc$†àZæ™Lç4Wßÿ PNôÜX Ɉ  0Îc1F`†›qž±$Pý‘ðYu´Z­WºŽ‰4oÙ éG”•8UY-¹¥~¿gŒ ä@i2^…² I£$)A$ÈfýÌ)¥’dZê˜,c %W/6O?—u"ž)FY‚UýÚQ•¨Ñ£e¿œÄ¡*g!õ<«Pž*ï¾q÷ÉìDx"¤ržFÎØLÑ \ÃOµö=KH­b"  °sjÿõ׎ÌNª,Rq`9™ÍL/ŽÏ,œ9rï¬ê¶=2QݵkçÃ'zE?ì÷ÿË}èЀ‚ð<é2Ê—Ä5 r}¯ËÂ\ncCeHaRÀ0FL³é¤@¹·%ßD†ÕC aÏФvÝÝç*€ùa<{³šgîÛô1ð\è—{Bu%mé‡lËûTçˆƘ6Ìnˆ#Ñi_ý¤÷ÅúÂk_ÿ_¿ý…/ U¸Ø»P­VËva¡9_¯×Ÿø)ˆx^¤È9ã LKòTqý¯øÎ<Ðéµ_õ=ßW-VÛÝvÁ±œ½{v///W«Õüã_þò—õWõÃþðØØXEÕj5ÏóÎ;·gÏž•••µµ5˲Œ1½^¯R©X–•$I¯×2†q•Áa  †q¸ÉÅPµ&Ñd$8˲LóÇÓd™Ç»­äskâd$'¦òy§a0ÜhžhÙÓ"!f A`PÄ´Î ‹ÉâÄ92ÜX |~f ´ÅLAh+×TÓš]m öæ§¾j»§|>ipN.­Y?Ûùýeó! þ”Lõ6îo»å[¾‹ ›ï“[èmùÔæ ƒ§jâ›{`æqçjË?þ“n1ù»:¸ hÝá ` œs€Hb\3™+70NOj5/¥ô<¯ßï‹Å4MÇÆÆî¹çž€PJ !,ËÊá)enEñ¬ŽÀ7Gº dÈŸC ÅaWZƪ mBR¤23¤éÙC¬Êî¾ï:&Ë¢æ‹oá¡à.,‚h>„Cßø:¬¯ç(|@®Ëóåk¹!`ÈÁª2ä–Uz„@h”®_™¨Žù; +¢+yjW‹d)£D;íc 0€¦0yÝÞÆusÝ"“v"DF çÅê¸o÷“ ¯S¸qêw”`Ó÷\)¹ÌÅbíq^(Â43lplöêÚ+6 Gmº?<•1ÎÁ#\MK •jÌ0N#ÃI2 ŒqÆ8ã-^â,Ž wYBpÛ÷,rÐJÂùÎjÅ*S æÊÂÄÈȸ/3A‘Žånk˜¹ÜC˜“a€ ÆH2‚´ Ú.”(ñš¤›çÎ4Hä7gE¹MƺJÎ@‚6³þççò+gÄ=Ø,e÷¥²EÙik«ºEQ¿ÉËžAšÍ÷ ï}iõ¶±Òøc‹‹®#J…"×"޳ÊLýZïÆcòXt6rùƒÁ­ $ [–ŠVÁHÃY€Ê´ÿ…û÷ïÛÝY^l·›ÕñJµ¨Vd—Ÿºï8éÃ.CŸt˜îyÙžs gvìÙqìø±»¿xB€€p¦RßÖèF5/’ÌÓð'j°›¤ ²­ò,/ì`€Å„„QF+†|È$dP4 u¬Û)=ó𫚛ü [ÅØ¶¶Œ ! §3lÛ‚À÷ý,Ëc®ëFQäºî¿øÅ~ðƒ‡:xðàM7Ýô¶·½-¯ÿƒ?øƒ¿ú«¿š››Û½{÷OýÔOÕjµR©ôš×¼æ7~ã7öîÝ»°°033ó{¿÷{o{ÛÛ^þò—ÿöoÿö ^øb!؃œœüÔ§>õÚÿý‡þ嫇>þ'ÿï'?ùIÎy¿ßOÓÔõ½ÜIÕw½Wß÷þñÿóqÎùìì,c¬Õj%Iò†7¼áÓŸþôðËú†çy‹‹‹£££Y–q΃ ¨×ëÇŽûèG?zþüù(Š®½öÚw¿ûÝžçÅqüáøØ±c_øÂn½õÖw½ë]´mû—ù—ßðÃoܾcÎvß÷?ðüÜϾS)õº×½îøÀÜÜ\“cã¿ò+¿ò ¿ð Íf3Š¢·¼å-IþÖoýÖþýûëõºmÛgΜ©×ëJ©üx~þçþK_úR³ÙpÇw¼óïdkíîh}Ôñ½n+ð …^;v}—ô â×€8“Sr‰e Œ8‡á #rû)ÎÚÁÚÈäH/íµãn¡V–žýàü½ÿƒ?ü¥ÇÎéÙÌ “qnÆ­ªË­¿õW(%5˜ÖœˆfqÇòè;_þ2ƒì3Ÿù̶۞÷¼ç…&œ(ÛíµÖÒJů~ä#yÓ›Þtûí·OMMý·ÿößþôOÿtß¾}ŸøÄ'Þò–·LLLŒŸ:ujnnîÒ¥KY–p]w~~~ûöíKKKÛ·o?wî܆âú0ž‹pÞzàòÚÏóÒ4•R¦iêyžÑ™ÅH2d çŠÉ”Û’ Í„0Ði¦Hi† ÌhãÙÖjs¥^©¦išeÉìlãôéåmÓciª“$ {Ýjµª•J’¤X,¸ž½ÖV`F É¥5rž¹Áßíw9±2 ITqÁ"†< ¡J¢¦ ùILF\¥vZýo›Œ«"3‚¬L¸Qq T)• ˆ„ý4NÒéÉâ‰Ç–f¦Ç/^ZÙ=7º¼špÆlÛVQ’$I­QVk­v½QÍRÍ…Hâ¸Xp{Ý \.¬,7GÇý^è¹n©ÊOžZšž¿tienntu5aŒÙ¶$I’$FYk´ZíF£š¦Zr±zi¥R.[ŽL³Œsîy6q„a¬Ò´^/Ÿ9unjr’åZv¿ß¯T/.uꣴÖú¶ë¦÷`–%£8ö=ײ*Sʶ,¥©F£¥s§/íÝ3FgIZ*z½žc{Â’—––-Ë™œªöBtÚaµä‡A  R±ý"’ý~œ¦éþÝ廟Û69Dñh£¸ºŽ5ü‹Ë]Ûw 9'ÖívkµZ»Ý­u»‰JRÏóZ,³,{ç;ßyûí·ßsÏ=o|ãÿôÏþ|ûöí7Üp]³¹öŽw¼ã¿üàüîüþ>ÿù¥¥%×÷|ß÷‹ÆXª€8Mîºë®w¾óŸøÄ'cžç½ÿýï¿ÿþû‡ßÔ·6‚ ȵrGß÷ï¸ãŽ;wþÑýQ¿ßÿЇ>ôñïz×»^ûÚ׺®û¡}hjjêðáÃögvíµ×–J¥ßÿýß?ô/_ûܾh{n¿ßÿõ_ýÕ;î¸ceeåúêßøÆ#GŽØ¶½´ºò¾ßø÷¼ç=Ÿüä'?úÑþå_þ¥ï9?ýÓ?ýë¿þë;vìp]wçÎQ9Žãº.ýÍßüÍ#û?>ÿ¯{ãÿ±}fHe§K)Köˆ%¥¤žæÔ IDATeYœñV³¹AúÝ4pÎm"0ΉeFpFDB ó¢o{áÞkö¼ï}ïýë_ÿ/ºíáÓß0wƒSu¾~×½wÞyçóŸÿü›nº©×ëi­×ÖÖÞò–·¼ÿýï¿óÎ;_ýêW?øàƒ<òÈë_ÿú©©)˲}ôÑ믿¾Ûí&IbÛv«Õ¢ Ãxj/„Bl@ùÈÍ`‘€ÊUº ‚ÀuN³Í½'˜f``†XîÇÅʪÅTöÞ_zRi–eA¿Ë9¯U*ív{jbluuU0^*•‚°wþüâßþ; 3 ˆƒ<0h%“Ä] ýÅØŠ·®rb‚…ŒEŒEÜX"K4“KÄSM% œqTñL‰Èðb¾øV)Z…¢ö©µººx!ó nµ\+—íÕåxfzܱP-[«©%˜JµBÒ¨:++iêÌde¯öÏöº¶ïø&ÓBª15Úèô¦¨ßi§©¿}jÜ–¨•Ší•Ô,KµA2RqVVÓ,ÔÚde¯õÇö‚N÷7v»èva˜VZýHÚ¢è»Ìs}»wÌNák‡Îîš›«ºÞò…åm3c—Úi”–ª¥¢#Ã$ƒãË$Ì,ÎÒ z™-ì‚çHÆ"èj¹TpQ*ûÅ §&åEÕZ^²¥e¹N­Êj•ñµ6–—Clû6ŸkT vØGkµ{ébàÜJ¥\+¹wÝu²Z­Ö+Ò-~ùŸÜ¿wÐQÒß¶Ï_š¿é¦í‚—‚NgǶÚý÷?z`ÿ>ã;q¬ZͮʌÂu]×±,ÛÃ4_¿Üºhüd-§µ,Ê+)’œ©²f\Xf†Áp¢§: o·Ûù8õ±},—i8~üøOþäO>›† ‡<â[GɳM/@#®²mãäÖ HuÑIšf h œÈZéâÝßvÍÔD}D­êÔ\N ñÿ³÷æqv•Uºðz§=œ³Ï|j85'©ª$dH¨Ø·õâÐmƒ6½~Ÿ¨¨­6¶ a°üÑ*J#ÚèEi‡þúk?½ÐÚ¢¨€(’B!Ceª¹êÔ™Ïß÷]÷]‚Øvë×ÝØm­Ôo§rj×>¿œýî½×zÖ³ž‡pnDQEŠL$œrV(jŠté,ÿò–sJS*Š"E)Øv’¦ÉTm6Ÿ.Úq–¦ä~I6þË`ß2ÐðŸhBÄedEJ)¥Ôý÷ß_*•¶mÛV.—[­Ö§>õ)ÆX«ÕúÑ~tï½÷f2™-[¶lÚ´)›Í–ËåU«V!bGGÇ{ßûÞ믿>¦m÷÷÷À•W^ù?®|Ëž={Êóó¦iÊ(èëé>oë9ÿäG«†½0€0 kµ7D&•€0öîÝûÓŸþô’K.7 ã¾ûî«×ëËgêEG(‰D'ZFœó|ðèÑ£œsÇqî¸ãŽF£Ñl6ï¿ÿ~­u†Ífsxx¸P(ÜtÓM÷Üsclhhèúöoþæî¹ÉI@-(M%Ê÷Ö®ùàûß÷‘|$•´-Ë|÷/>ôçWþé› Ãp]÷æ›o¾ñÆò“ŸLMMíÝ»wýúõ‡v'ŸÏ !Ö¬YÕjµT*uuuE!rÆççê_ûÚ7úWLMÎ5›n L,õ â{œ¢¨ŒjŠZQ­P‡ #Ô!hŸ'ijÇöo<ûôÉïýøK_ó¯Úôß’ Zx>¥pâGP©{Qàe³]¿hÐè3¢ §LQŠH‘˜™Ÿêª@í¢—_üµ¯|mxhtÃÊÓóÓ ÕM›6½ímo»õÖ[wìØqæ™g^zé¥+V¬èíí}Ó›Þtï½÷¾ûÝïÞ¼yóUW]‡Þ°aömÛæææàøÀM7Ýô_| y9~“äõD!8ç''ˆ¿éŒ¨R* ‚\:ãyÞG?z}6›í)¥}ƒÉÉY'ai­ ¹Üôô ¡ø©ÛïÔ‹9Ì¿Mã‰ÆÅ/ÔD‘8!’^š’àÀ8äˆ A M & ˆ€lìàD¡»3ã†YD ÌA­Ú \ß0YÐVJFù¼]®6¦­µŠà”ª¤mq Ÿºae*•!Ì/T1JÌÎÏô ž[̽€6Û-Ó`^[©(*ìJ¥iY¶Ö* €¨–Å<8¾qãÊŒ“Þµk>¢dÒî,帕JØn·£( <ïøq¯«èÑé|&óŽw¼c~jftÍÚkÞÿ®ž"#°Pm•ç+#«ó»vì,ÌЇJ-" QI‰Ä4øl¹†ÉgRQT*ó+º­vÚIZÂð#ùì3³‘Ât&o0® õÚ03^éì̧S`˜i¥ÓB€T²V­­?e$›†}ûf —þæ®ÏÝ~Gà‡&çïž¾aàчönÚ´ž({ìÐäúu«[ OÁdRŽ”1ˆ"¨7¼Ö\£˜ÏýN­ùcõ<ï„ Ðš5k–]x–2xn0‹g‘€€Ð3@'IE}dð,´ÛÇ“Ê.SØ>ívE¶à¦!±ø"pÎêѯÐ$@‚äW¿N(c”R¦” ÃQs.’$™o;ÙiÔ7‘Œ<¢•°x¡‹nX¿FyèÕüÊÄñ¹£sc“ú8‚`Ph¼ DIøÏ<'xâ,ªýÜ@Å¥í ñE ¿Û'N.É[žä ø <µÇ)ñœ©8‰ ½à·‰Á ¨ àRZ¢cCLOP‹®DJh‚ÈPSÐT=©Í®"¡H**%‹4•1]"&5°“Dª(E ŠPM€iÈ4Xdª[-h™¦ihÕ '1tZOµQ}4x0yš°vìØU%}]é’e:­F³©Â$FÖI¢ù’ͧï(?êïÁ¶) H@„AêPz`¬„•#CÃ#kÏ—¡"’%¹M|6utjlÇ~_t{ '+q"¤Z)ËŸ÷}?—ËÅó>pã7^sÍ5rÛ÷£l¾“Q3 õ+^ñ*e‘Då—@ @#¡@LB5%Akª#‚J©0Ìv廞ÙÕ7<´fÍ)ŸÿâzÓg Ÿãð4cÌ ý ¢Baš”óH)€_ž¢å4Õˆ¨Pj¥$‘ˆØÙÑydæèÌÔìÎÇŸx÷Õ×@M·•K2ƒÆØe—]¶iÓ&Ã0òù|ESSSívû²Ë.»à‚ ÆÇÇ׬YƒˆÕjµ¿¿ÿ¾ûîó–'qâ KSOüô·;~o¯=5©Ûí¶Rjåʹ¹Ê‘#3ˆ˜J&S©T»Yïèèh6[ßúÖ·.|ùËvíÚÓtÅ®õâ.&±D#!@4 D!(ˆG“Q$TäB#€ÁD04šˆô÷õIU+Í(Š8çFd(¥tô”ŠF+­u!S“í\ÊñÚA;¥¥Ûšµú½_½ÇþW Ë̦Ҁ t”ͤÒpÑa0Šö–ŠF+ ­uGf&Ú¹”ãº× ¥TK¿Ôëõ¯}åûª«LÓYÕD†àºÊ­xRJ;i§Ó/$Ûm2Z½zø ¯}Ý-ŸøÄúÕÃÓ³ Ý}…ãÓU”ªw xtlú©ÝÇ“–½aýÈÓO= d0iÙNÒ69wƒ ‚„™î)e*íd6)˜‰i‡Œ¦‰÷¼ç=ï¸úkׯv}JÐÂ`RB_^)¨UÂHzœ3mR¥"úO<¾cdd$“´Ó©t½Z­(t2!l:q¸ÜÏ98aYV©£Ø®7,ÃÖZùaäyž’š1f%ìDÒÊd»?øZÿÕj5—ËQJ !q¢ÒÓÓ³¬Œ»øèCª#J"ñ\¥ZCÄ@kh@*ˆðŽÀ¡pÛ­ˆ3ÓÄÒÒ÷#Ï“RÆ})j䟡F«澂Zi` P£F‚1R‘ eʵíÍ™± É8µAÒ¬W:R¹çœ>fZxªáº‚òòŒ2Ùj·Cf»;s…ŽLG;DR`° f9pô‰G~ 'SõcŽÇâ U …°@û°ôh„ kÖûѬۨOÏLy¦Uhv.‘™(ÚÝfïêáUO°‡Á舗êr, ¿?]²ø)ŽˆRÊxúQk],?þñß|óÍçœsNñë®ëþù>øÄŽïߟÝzë­*’¨4*m[v©«Ûõ=adpAQR1B !ï{ßû¾óïÜ}÷ÝÛ¶m»óÎ;ßúÖ·>úè£ËŸü®hµZ–e†Q,mÛ®V«Ð××÷7_øâW\±{÷îf½x¾Á ôõàÏÞÿ×~hý)ëß߸aãìÌ LMLÞûµ¿½ÿþû?ñ‰OPJóù|årù”SN€±±±îîî;vtww×ëõ zzJÍFä¤E½ŽÍfÛ2‰«Àót½Z–±8FÔ‰-冈š(% C΀Y»Þ utÖ)g•½ÊPgÿ§?ñWÛ¯ß>ð¶ÎÎÑSRVÊW~³Ñ°Ì¤c$ íÖhÐÂ"@PÔD#¡%C¦P 0’ÉäǶìúnãÚSC?² +rÃ|¾855•L&”Róóó¹\®§§'Š¢ãÇ …SO=µV«-,,är9!D©Tª×ëQe³Ù F&“Y²YŽ“ïÕ'ø%j."ü†Kå™gf2iG‘Ïçƒ@ !” ûûKž=4888<\zꩱgö>=55Õjµ:;;5¡¸8y±4èEF"ÑšH D! ÆØß"FG5 GÐ8C`1.¨# z®DipžJ&b"•`4UÈžßÕáÔëúÉÞÞÞÞ(ðeèw ­–KA8:Ü7qìè@_¯ë{^»ÕßÛ‚H?³÷P2倯„“Œ<èê|þqB? ýŽŽB«åB é?~t ¿×ó‚§ž:Ö?8˜Jè(Љ„m›a33½½Ý0d"‘èììô}•ÏçO8I Hœ„½¢«Ôn†‘/·ž³¦Ñ‚Ùéy/ðÓNʰLTr~n:•+JÔЬUƒvâÙ\Æ©,ÌS‚NÂt®çv*i”‘*—ò©œÖÚ4åd4*¸œ±l>æšî½û§ +á¶ÙT"ðš¦i{íf«”žº¾g|&ìì4v=y¬£££ÕnÚ¶K;ŽÖÐvµçyžçüw+åËåraš¦ƒãñô„”rùn‰jkp1îƒÈ@[&ñ|É—ÍD ÂÌ4”™?ÅÊQn†RFQ„ˆŒñˆ@ás£Ô'£ ùÕªRJÆ4cAk@¥¼ÖÂØ¡]G@ÁìKæG¶ô‚¦Ð7[‘íiÃb U*P@ l5¬]3TêÊk \¯¥ÖJ pŠñ  ‰<#j8$`@2M¸¦LS®Wœ"gšP¢=QoSˆÈ‹Ae§”ž¢;ÉñŠú^ĨirSPF D‚”SJjr‘4]ç+ÕÙù™°æI¯jJä9yKX¦=پ繓‡üÄ> ŸïL–8š͘²©6–ˆi€Ï½‹>ÝXJ„hh¡'}_yÄ3g¤»œt—“Ífç×öœ²çé=‡ç&G×®Lq§q¤Ñ“JŽvNO/´ë##«²¹t¥R ƒ°˜)zí c¤ŸZÉf´3Üç‚¡@iT ›UZGžŸJ:Zk˲nºé¦w½ë]ýýýO>ùä¾ð…åÓô¢‡ïû‰D"™L6 J©mÛÓÓÓû÷ïw]—s?£(ÒZ?ôÐC…BÁ4ÍV«Õl6ï¹çž¡¡¡0 K¥ÒÔÔÔ«/}õ›/¿â}ï¾&ðýU+WU€Šä;®¾ú¿øÅu×]S““Ùlö±Ÿÿüꫯ.õö\wÝu7n”RƼ†‘‘‘jµÚh4J¥ÒÌÌLwww£Ñˆ¥bËg{D«é£f„@"RRDÆX*«·€~ФŒ C`H8€Míl¦2~4×™?:6feRëû×ï=´÷ÿ~ÛÛ¾þ{7ŸsÖgœá8޶UD¼ª?Ûn·³é ¼Ñ” H PT ¤Ž¤VZëÝ»žúòÝÿës·ßA‘rÉ„Sž/:Ësó¦i"âøø¸¢··öìÙ†ÌÎÎNMM%‰U«Vyž÷ä“O Ã0|ßO¥R¦i6 Ã0Z­Ö2Ö°'3¥þO2mýíÂ0Œ®.§Y“a–Ëå+ºªæºaOOO£Ñ0Eî»ßý®`üŠ+®  R™4(B Ðx˜|I|nX”J!’¢5hÏúM— \l·ÑņÆ‹ ¡Œ¢L6Á(?>~ìñ_ìxjÏîj¥F(œ»õ¼WÿÁ¥ 0‘´ïüìí_øâ]µjÝ2ùÌôôà`ië9/ûÁƒ?xýëþxzvúu—½vhåh¸â-W¬[»NƒÞñøcVãÐC®ï¾ìe¼úÕ—‚ÆD¾ó³·á wÕjõ„Á禦K[¶¼ì‡?üÁ/ûã™™é7ü÷×­XÕÝ3xþK_~úé aX9Û?„ÙÙ¹þþnÎáñ{>÷ÙÏ–º»ßùÎw2 õéOÝõù¿þƒ?üƒ];wíxbG*™ºá¦ÚÍöÎ];ÿþïþž|xåðY›ÏÚrö–Áû±ŸOÞù…»Î>÷¥Æ|v?%xÑ/ݺåìvn¼iûá±£Ÿ¿ãsƯý£ËßÜ?0”-$ïl×Z™ŒÃLßñøcO=µ»Q™'ÏÞ´yçÎW_}ugg·eˆoýÃÿ[./<ûì³½¥ÎóÎÛ:3ÑßÕÕyöŸ½ç=oþÓ·;¼cÇŽS6lÜzÞ¹§¬_ŸÉe)O„a¨5üæÃ7ÿ) ´Ûmß÷ …B¬\³|7ˆ#iZñõ„Á€ ÀiH°ÛþÒƒ§î;l©»Î—Æ×rýMÊ-½dvb‚?ÇVΜºvƒÈ±¹úl¡»¨=ê5BâX¥áN× X]¸¶—8Ïî<­Ø·²D¸òC4tš¦%ó[à’a ‰¹¨8 !”( 5eš*¤‘b )ÕœàsXEJPSòb ¿€”e…Rmn$™”€šBA‚Él‹ /ŒfŽ—>½Ž„P…FЈÏãóÜO0ð$*ÇÉœò«~åÄn°Ô®—KCd©®&ÏݘŸ·3ž$ÿI—\H8@¬ÓÑuÃ-¯•YÙc VŸÚsàç‡{^Ò³jp$jDÅRÉdµR96y,ps);騶 |ÂhMµi§3zÞKŽû›;çxd”ö³¹lÂNÉP) €Ô2SL[‚$¦Ž?þ“'¢™6XŒG¹ˆ ðK/½ôõ¯ý-·Ü244ôÈ#ìØ±ã3Ÿù ¥´ÙlFA¸oïS·}ò–Õ#£ŽmIÏ­Wº;ŠœÂÌäøíŸþ«ÓÏ<ö͎®â]wÝõðÿéò?~ÝëÞ0000??‹•—ËeDŒ ±ña ‘H†ÑÙÕåµnås® B"ƒiÑ€ˆÔ@$ "!v" H‰ÆX>Šj'~½a0¹áèªQ×÷ªåùÓ†7<ºÿ±¡3W³¹`jçÈÈH¯UR¡ÊâhÃóS,ÀA¡ZB A…ZƒÒZ*…wß}÷û¯y.+f‹6µ|7<~x¢ÔÙÏ[­†”²§§§^¯/,,0ÆFGG+•Šiš¶m'“IÎy¥R™ŸŸ?í´ÓâÈÂÂÂüü|±Xìèèh4Ë(Ãr,Ê=.Å ¡_Xjšýv‡Íf³µZÔ¬ÕcñÑFCAP­V‡zÆ7¿ùM×u_~Á…g5z|¼Z­VñD× ,¡ '\å⤕,‚ ˆÒ )‘@”&’©©B­U\?h‚HõóÚnJ‚’33³»ŸØÙ¨U/8ÿ¼•+‡MS|ã÷ÃïÿÓ–-申ÓS: 9%&ç̶ÇÙ¸~]³Qûâ]Ÿ¿áænýø­µfÍ`ÆÐŠôôTðûï?vtÃi^uñ%†m|ýkßüÁÿ´åœsåÌÔ”’!#Ä08h{ìБ ëÖ5µ/|þó7Ý|Ã'>~k½Ùt]]è*Tê‘øJ9Ü ù|þøñéb±xƧßvÛmþà¿ô¥/-Wì§?tʺÕ+þøMoÈ8nò¿ÿÆ7«êŸ½}znzvjvÏ3{&ã›Þ˜Ë¤kÕÊýû^¾íâ+¯¸¼Ý¨?ö³G¾öÕ¯|øº}ò–OÜxãÍï}ß52Ò¶“*væÇŽÎh­97´V `fvúÉ];ëÕê…çoY1dZâ3Ÿútyfú”Ñ)åÌä±ÉÎâ«^õêw¾ãí?ÿé#ûö==:<ÂuŒ®\±ÿé½/»pÛÞøzÓN˜¶…”4 …ZaVün‘¦§§S©”ã8Éd2™L€išË⸋÷DÓà‚ásµŸ´×Ò! ÀX¬¼€ ”@  ³÷!ž]g‚*©Áža/<>P¿eˆ)TñWü ^Ž Â!•ò‰¡AøhO•]ˆ! §§«§cµ#3fd»ÂŸí˜³­¶;Üê]]éd6$áAA‘hMªÐf'às&¯tñsŠ$‰¤$¶ŒP‹^¼/*Ðã©EÌz½ÙvÃ0 ™Rr@&¨6œ•°ÀnÍ”'_€'ÃÅ´‡“Ùç¡øœD]rBEB5 ”!Ï}F'd-NÀ DƒdKîôùo¤Ÿ‡ePÚ`F†¡×ðÎ>ýì]¿Ø]Êô¬zåè}_ÿÇ©oNõ_0ºþ¼3ö.<ÝÕS2 ãÀ³{Ý…ÊéëÖ§­ÄäÌŒÈçgšóF2S\Ó£}ùÌáyÚ M`†I$ÍØM‰K–` ééCGìÿÅ3ÐÖk½ IDATÑt$8F’1‰Uã < )xâ•r*"?̲~ù¾÷³;7ŸZM¥X¢ßN0Ïk笓èÖÚv[øÄî} PB("ý/­ÿåX~o†¸Y»Çí¯³Î:ë½ï}ï_þå_ž°·¼ä’KÚíöW¿úÕÏ}îsçŸþêÕ«W¬XqÇw´ÛíÁÁÁ×½îuœóx8üÎ;ï|ãߨÛÛûž÷¼‡s>===ºfõäøÄöíÛ·oßžL& Ûz÷»ÞÙÑÑQ¯T>yË­·ß~»`›æåo¾âþ躻»•RŸÿü篸⊇z¨^¯¿æ5¯Y>S/r'$™œ™™‰kÝØÞ²»»ûæ›oþÜç>÷¶·½-¶·ü“?ù“jµzûí·ß~ûíW\qž}û6nÜøö·¿}hh(‚Ë/¿|pp0 ¼Ð¾õ­o]ýõ³³³+V ÿáþ¡R*—˵}ï¾ûîûã7½Iñ·_ÿÚÏ}ìïþîïÿìÏ>ï|ç;?õ©OÝ}÷ÝýèGÇñ{Ó™ßÿþ÷/~ù6×uÏÞtæÂÜ|"‘=Iй¼ÒqêÕÊÍt:íûèyŠ’H$1$ôö–&&¦R=Éd²Õjù¾ŸÍ¤+Õ…Õ«W¿ôÜóc…l®Õj…Q¾ñÔ( ÖŽ®^·fm½^”%‹yßõ^ÿú×gó9tý¦U^»ñ‹Ÿ?R«T…SS…\ˆ¨6šQé´“J93³N…0 ðüV£Ñ],¼të–b!}`ÿÁ׿öµ_ýêW'ƆÑßßûò _¶víj]x(ùÿ|ýkWý_ÿ3i§<¿}ñoQn5œŽ<µŒZ»å†‘ašL,ð3AaLIÝv[Jj;aq&”–JêZ˜j‚H~µ¤a˜JI¥4¢&„ÆZ1 I$(AƒCG,ô*RúØá ÌÍÌ›L`µÈkø¾¦¤`[éÈÇ#ÇçfŸ8̳:rÉŒC”`š€b¡¢eÕÔ\àB3­ * Ð*M´$'HQ€T„bŒxþj׌×-c Q#­"ÑZ#¦¡<7[žž¯.Ô@S &(Dpž”Í`ÖL’Ý£0ŽÓúÎzÙéíä‚gxH¨ª ‹¥5ÄŠ±v£f¨)ÅXj.íL"Â5¥ŠÐØûˆ$ €„"ŠdLÉ E@R”JJå"÷LÑL#CÍ@RÔ ‘)3ÃJž+•ÜæŠF­ ©Pp>µ0µáÔõ¤Ít ·½ô¢?~ⱇwε_ÙïzMfˆÁAÝjÏÏÌB:(ærsç+ß'‰”…F§cv[á¤xèÃ$~ØvtšsŽŠ«PFaŸzl<6`f’Žßjp€Œ‘®…5Xô‡ ' J‘¡B€ °èPFÆ÷<›«®V9žLJECÊÐ¶ÙØ"°èà HJsbRjS/nxž—ÉdÂ0¥”eY®ë®X±â¶Ûn{!$qà 7œüŠïûð‰O|¢ÑhÄÊÆ#«V|ãk÷jíFõ“Ÿ¼EkÙöÛv2±bÕÐCü¤Ö¨~ïïÉ lµÜlzQÕ¼Ýn_sÍ5±®ä #¶MAJ2°,Öjµ2•‚z=à€h@s€Ä8½B·5(B‚”"¸­6cÌ2ì®b—”š&De¶lweÿûÆ×üé¹jbzr:•Nv§J>¸Q(4}Ž’§ R¤ÒW¾¢’1Æ8£@5hIª®dwµU ™wòœóòleêØ|wgibîøÀP?¥T· S©ÔÌÌŒaƒƒƒ»wï.•J…B1V©TbÓ4=ÏsGÑjµb¢ÇòŠý½˜˜QI)c|!¶‰‰†x]Åž— Õotp×u³Ùl­V ÿþõ¯W+å‹/¾xíêÕ<òÈÈÈÈÚµk÷ìÙßßßïºnšè˜´@OÂ#œSªGÂ(a” DQª4ÕHAª)A… ¤ÒZ#‹"¥<ÐFO#(©lË\(—‡?tíµwÜqGàûåyÏåÀôÔT2‘ OîÚ•Ëf}ß×ZSÊ´Ö”Ò¹¹¹b±(„ˆ ÑL&S©TúúúvíÚuÕUWApøpÙ²¬•C+¦'§’v‚ <ùÄ®\fñ8Œ1Tš:?;×Q(\˜Âh¶Üt!ƒH(åÀÀ¥ïûLÐdÒŽ"•Ëå\7Qdš¦ba¡â¤’­V«¿¿ß4§Ÿ~fhhHñÓŸþôŠ+®ˆÅhqÛ¶mÿøÿˆˆFƒ1–Ëå ÓäHŽo ´ÛíH«Öº¼0Wè슟ãívÐÑYü¨Ùl­[¿âc7^ÿ©OÞÚl40:ò…”•8väpg!ßöƒr¹¼eË–göí_¿~½[¯oݺõ»ßý®”2‘Hxž·eË¥µÒ±ÿ‰—M,)§µ&¿{sÉÕj5•JÅîH†aH)ãËá÷-âUÊ"ã‹OQMRèÙ>$d†rg]pØìàÄ‘Tg¡­êÒ£ŠQaSJ)Ÿñ¨E[> (Ø€†Ðøõ3A Dà ¶º¿âu †HEžRQÄ%ObÒ«ûå½ óó¶œ}hÀ( B¡¡”I Ã2ƒ_ÀÙŸM@€AùÑñ5Û6&#îÍxBšBqˆÍ"Š'*fÞÈJ¢k^Eqie-)¢ºWEH©F¢£ˆ¨"-¥\êuëÿÈm¤qN àZ"¡Â–ÅBºÆ÷WǪ0¡ tcZÄ àÑ¥y„Àz(ž“©õVÚPiÉ 5,Kj깡’Ä0,“ ˲‚ Ô*J%ì0 |×µ žL¦šõf •e§ˆ0Ý@y‘$Œ"ÑfRaK—rL„ íÖ¡YžÆ"IIDH¨QSF£ Z"a¤Vè5©V¦$ðBI‘PMµ)1Pb$£ Ô i¤h$ mâŒ8gwŸµó§OÙµg®8±fÓêÒ@éXè[¦5Œ`¡žËå’”L~o×П¼tßñC§–†ƒª ††aŹR]¹v-ˆ¢¨^¯w9½†ãLš}ò?õ4©Ýȵ‰µÂ†`†¯BnDCˆ(Zk¥7D»Õ^t ÀF!L=6f7Ò¥=…tˆ©K&{ôÛ?m@Smk ‚Š ‚„RÎ9çœ"µ2µÖËiÉ"¦³Ä¦„4Ì“­—†åx‚ÞÕÓ”ø¾ßl»¨´mÛ–0LÛÒ).ÂÝš,ဋ}ªå2é¿jõ9&^<½4° ¦m!@Ós=Ï#Œ¦R©d6L§ü¶Oþÿ{GD!ò…潋_ĨˆÇ“)\ßÓZ3&†Á “‡m9š Ã$¼¤w-ÔªÕz¹ÜÝÕð<8› Dœ‚¡|Šˆ¨´"”P BAÅøÂx!]`L´Ûí$Oe³Y A) [6›ÍñññáááééiD\±bÅØØX&“yÉK^255e†mÛù|^)åû¾ïûÙlvff&Oéëë‹ñ åXŽûN祒5q,:räÈðp÷öíÛýéÃßýîwwïÚ5??ÿ§o¾ÜqkÀ䜇­Ž¯z '¶)JÔÑ@ˆV„"A™´"JiP"M#5„É ã‚˜À(Ô>hBK&“ÓSZÁèèhÊÉh”­¦K(vvt÷ööŽŸ”*Ì犆a0*Ún³³»03»@#­tnàG‘*õõ–gË¥¾Þ(ÕF}||²ÐY ½½=žöööŽOJæóEÃ0ív³»»03³@•RZƒïûQ¤z{{¦æÔ°…`”1fÛ¶åû!*s”’É$"rÎca&“Éj£n0#W,$‰é¹ÙL&ç¾c;N&zòÈñ#JaµQT˜¶ejÒôÚ&gN2ɨ0mK†e%€²\.çº.a’1ᤜr¹†agGall2‚¾¾Fcö¯_wJõ`£V‰D6›%”®®5‚Р𚞟ËÆŽ–‘^¨Vzûëíf<üBi×±¸üïÜ“zaa¡P(ĈØüüüàà ç<¶Cú½{Ø>Ÿ¯„ˆ’©¶fqzÀ2×ö×½*„´¯³«åû”€ª ]²˜%4!Hüé±qK1 ô_±g¼Õ­Ú¼VÆÌ¦h›è5žšñÇŽÖÆ ÙŽ¾¢™Ëù†çé¶"!ј WFC«†ŽN( ²4¸’E:…×Ғ‚ •LJ-äBÝV·n*O{…D‘$ÐU®yˆÄ¶-JQ-e eè«Èàœ[œ3ëEYÕ±¾U¤#B”ê0 à #…ž<Õ;…¨Ö‚ ) LøÝ<3Ðé§[G[åžb‡¨‘09ZY+E$!H=70BÚn+­B M}M•‚&“Ú–Œ)E‰Njš I¬Ùn8T4üÈ ÇHøUE$Cà”r‹PM¥4Š¢lÄMÅEH´”iD •F¨Q†RÔˆH´‡nÂNR›†QÉ€ ‘Ú˜˜¼}¨ú4{jµ8MØ ‹E»×jk†@€ &u1ì¬X½‚š¬å·Z®_H÷tæ Ô#Çö}úá'¡Oˆ¤%[ž–ÒGd€™Tf¾YÕMß]ÌÔ@¤#Ã25‹Á@hPBù;{áQ¨ŒfFò¥|«ÞÚ»óiõ¤…²†È¤@(PA7EÖ}ŒdApqdŒÒßÏûÏ¿o²ü,ÇóÚ ­ŒpÛ Tp¨”b4f®/ÙæÄÏÂe˜ÿòØ@ÌØ‹ÅŠ5,y;£f”P“ÔB!ÊÀkéHÙä·ÖñZ"F²¨_DNr7:‘L }?PÜ2½¶))„`‚iPZ)Fõü±#+GWÍ…ÙÙYÞÓË#ž7²ªÏ+/À \'”BÊ)j%¥DJSŒ1N("B$E²´=ßËr‚ˆVà*ÔçnÕíêꈇ qnnnÕªU,‹Ùl6¶;räH6›5M“s~èСR©4==+ŸyžgYÖòb[Žó¨×ë)Çr‡s>;Ûn·Û¯|å+/ºè¢»î¼³^¯oÞ¼¹^¯'íD½^gœPJ)"P€à"Ê@ÔÔÔŠŠ0@› eDE9Á´If!¥ †ï… J¡jN˜ÉYµZ-vtq.¸0yôÑóÎ;·»'=;[þÖ·¿JgtÚ4¾ÇòùB&“Þ·ÿèääšÉæ-ÃÌå‹ÕzÃÉfZ®—§Aä­XÕöüU¹|u¡6;_yð¦2Y'•6-£¯àÀ¡±|®É¦÷={trjÍäò¦aæ ÅZ½ádó©TŠ™$Š Öli@ÇqLCD‘’JqΣ(4„ð(ë„L•R®h0›c@hZ…„"¤íz/ʪv' C)‘R"‹K÷(ô•A3«¬¢RnÉ«·£–G%B*•r±Ô€¬z5‘¶LÒG?í''9Öo6ç‚ À6@©<3MÓC *™KjˆZA`šà{`À©ÐÉXˆT*…Ê Ú’UæàÐ)}ÅîL@•ÆŽïïça‘¢„5Óšh©„`‚Q©|)Æ‘3¢A2 ‘ƒ¢!P`pH %ÉJQì*j #åq#L%¬S:FžùÂ>§;Õ;SZ=È dÂN$T c€Ó¢œsè èɯ\7z˜Ï‡¨€0CXQ{aòðüØ®#0Ù„‘AQ…€ŠÂœ[µR†Û!ö–(5ÊP‹RšÀDj·4xàNÖ÷ýxÄ:© ¨jÀ—È<-0…%ÐED=óŒéfË Óe a9þCÇ.;ã†ipB)!¨4!DE2îp-j³œäØ»ÿűr´´$Ç A8cŒrÓ¨µÖRI$  °ßnU%ð ˆzPãR2öüöE¬Q§‚(’€Ì4 Û×u¥”ܧ/å3vò®bI0Ë—n<“Ö¬:Ag8‘iiB…iØHWH€R@B¢ÖKg)Ð g¦)|7j¹Íœ•)—«ÙlvÛ¶mårùÙgŸÝ²eËÆo¿ýöÍ›7?ùä“anÞ¼ùÔSO}ßûÞ×ÑÑ‘Ïç`çΟùÌgî¹çž\.×h4²Ùì²ärü;E:>zô¸ ¬§§§PH–ËeÏó8çW^yåƒ>˜Íf'&&B«ÕʲAàÑ fÏÂÆJlT2¢J)T@!ѱDUŒRˆ˜ œh QZ†ÍP†DƒÎ)£2TÕj­`ÈIÐÕkÖ=½w_GgwWGg³Ýš›-¯=eƒ!,?)á¿xü‰—œvzWwge¡63[VŽ›È¤ÒI'S­5ÌDeÕðàÞg ¯\µí¢W|ù}åU¯¾ô¼­çîÞ½{f¾¼æ” †ayAH)ìñ'Î8íôÎRg¥R›ž-k GŽMdSé„“©Õ¦½Poù¥ÛfŒ1­d|%FQÄãœ7uF)!$‚„0‘@£Ù&T0n„‘n·šN*{Æ™›vïyê¢m¯X¨Vöï{öɧvçs…fË[¨Ô¸iµý —°©ÑÚu›®¸AhšfOÿÀ±‰É|g)•Ît”2s ÑO~vøã·ÜòWu[­Rèíºàå/ß÷ôž\Êê¯V«ßûÞ÷öïßïû~Ò4)áGŽYÓßßÿÀ~455uÆæ³'ççÓéôÌü<:>5Ëåè¢ýÇI ßÁM«Õ Ã0•Ji­ëõ:œqÆü}»TO&'ÇÿD¦0Ýkz¥™)5á/œŸ}ª UÐ t Å#Æ E0÷_Ž5‚Ô¿IÇL¡„0’$”¦†<Ø ê´j­c»V'¦X–z¢’¨Ó˜=%7zön˜}’jC€u`÷ÓÓ;Ò>Ø¡Á4¨„ô…B`ºia±$ Dà‡ °!¹6»²°r¡ºL·-‹ª#‰¡"„1ÓÒ/ÐyRJJ& !c”ééêqËæ·Pí"r#¿ÚÝ]$[ÐM—Hpt–6 :ÙhÎ.ÌÿSÚ!€%(8Ô´¨hìkàG ‘‚k´âë8 !¨4@Te‚Jí€(‰Á\v¸ìÎÏÍVôÓ-К‚   A¬ŽR T‘šž$ÉUHÝcí£ ãl£‘íN™ ކF’)Óè‚ð ÔE`õ0äË&®R ðHŒ+­Á€\O‡•M¹8mši#%PâÁ}¦‡™“Ü1@Ñ"e SÒUàÊpñô"€–±‹J+p%„JKë€Ær@ M„®!a@¡€’‹%'À8¦ã‡º-C-!¦åÜ0 Ã0(J*i¬›¾œ9, ËñïVRpSx:ˆÕûˆF‚ ã” ÆqQþžh4/K©ü_š` ÄZôz hðCWú*R %”R&¸e™üVü—Z’Ž#ñHÎÉs0š¦¿„€Ä E„ŠÂ8S dIQNUŠ̸íg_þîýÿX©TÚí¶É…ã8QRz’´õÒ7BŠd˜bR "PD¢•RADQ´ýºí×mÌå²¾5܆ 5©ÝÝÓ566600ðÀxž—L&Ã0<~üøìììÄÄ„ã8ÓÓÓÛ·oÿà?øéOšsnYÖ­·ÞúÀ|ùË_~Ë[Þ’L&µÖ'œä—c9þm#™´SÎ@䇌±ññùÞÞÞ\–?óÌѾ¾3Î8caa¡X,j©‚ Èç³}}}‘‚&D¤€@50M©¦Žá03rCAeŽhÆA $U€&!y !áR_AR`‚Ë(©ˆ‚X$ ÂH¬¬5Dã‚m}û¾uï׿±07Ÿ-äÏßzîðê5VÂîÈÚ¿â•Oì~ò¯?רÑ#çlÚœL§V¯=¥£»”q½ƒ?~èá}ö3 ¹a»B(õõ_öú7<þÄÎÏ|æ³Û¶mì]cÚvGɾè’WîÚýäwÞuøè‘³7mvÒ©Ñ5§tv•ÒN¢¯ðG?yøÙÏ;ÿ‚u§ž62²"¶#ŒA)ÏólÓ´m#.!Ö­[÷¸´Ö«VDu ËT‰¤³ùœ-Mßëÿ|»í$W ®yÅE»Ì™™¹|¡‹ +Œ@«È„XÚiÂL ९þoßúö}¹éc]ÝúðGÏøôžõëÖþák^[kµ‚0ò«µþ¡~$ïúâß0Côöôuww_üêK‘@¥ZÍuv2Ëú?ì½idÙU&øÝ{ß}«ïî±GddDdäV¹Ve-Y¥*I­”ZŒ-@jöÝ`   C563ÖÐô€õ« ë‘MkÔBˆ’@R m%Ue-YU¹ï‘±GxøþÖ»Í÷ÈÌ’¨¦K-Aű°gîÏã=¿÷ž{¾sÎ÷å 5ý¢z}º?rç¢þíeýÖ‰8Ž=Ï+—Ëišž9sæU8Uû°·¥„1žCɯ°˜Ø±½¹T_?¿ºþB Ž„¥ÁîÐH)BúrÀ$ò2« œ£ÿÑ 0‰Ž4¤‚Yߌä&…é+_xh,5¡Ín«<\Î( í*)/þÍшà¤C&Œ6@%ŒLI4 ¿äÀa2ìŽIn÷ÔÌf}½³Õâ„– IHª1ÔsÌ·ò‘|Ï÷|çy}]·Û±WÜÖ×7‡‡ªQݸqã'ò'cãc#Y–uZ­jµº¾º¼k×®N«†á‘£‡¾øéÏüÒÿòoûÐ[}´Ë&R-©’–Q0Zjj¸ñ… IDAT  %ŠXÚØLX¶¥)7š+ÂÚ͈iIÉ”Ö)%Ʋ-‹³U¢4I¸˜ßS~ïþ0¥$ #×uú:z‹Ë¹vpà®#wŸ¸Û² C”¨åÅe¦ ÞþϾÛáN£Õð]Ÿ0Â89ùàüWž¸þ]þ³ï}×÷1Fs^@––7‚Npð®#wß{7gÈ$,zû<úöyš«ë›CCCŒ!ˆ’˜RÊ+ŸÏ÷:BÁw]×÷Ù›Þô&ÇqDœjü¡r…^§W ¼„ðf«S)ïàÁï~ÇÛ;½$K2PX¶ÓhbdlòÇ~â'ó·ÑN’°W)=××?·— :ÎÔ®é÷ÿÂ/NL•“ ­¶8ýü†ã?÷þŸou¢RÁ/–r•BJ¾ûﲉîuÚçÏž­U‡mÛ­|àWþõþ£ÏœY¡߬×kµaâ8ùš]çÇß÷S~Á6„gY¶½vÓþújЧ²{9µòÿ]6BH†J©>EHÇccc¯B¬á–VbÿWƘũ¶ŒIƒ£S³pqiýó‹è‚F3ÚçõTPØ®Kzt}=‰¿ãˆoøýÌp¿~@ôÓP€œï+­´4ŒN©1FI•&@óÓ¨—ç¾Ei–ö,?:`À5P ¶,­#%Aô@|ѹC•{¹§Ôëõ~à~àÑG ‚`ssS)544ôä“OFQ4;;û‘|¤X,>|ø‰'žh·Ûœó|>_,û5Ã;¶c¯¬U«Õ8ŽkµÒ?øÁ\ÎWJ5¶6Çñ§XÌomnB8³â8žœû…_úÕn¦t¿¢ކn¹EM C©K´Å¡.À TKS Ð ¸+M†â 1 ÁÁÞÜûй|¯Ñ٬חn.w/4°¼Ø šóù·høšiÔZh¶*Í\9(MW¦ £íÇX^X².uWÀ<ÈÉCïÞ;zxrÙk*O³ÔgcscküÚÓÖ_LµÞî\ÆÔk‡&ìñ†‹AÕõ<l–Fòh¹tãÙk›Oµ‘¤ýwNÞÏöœÜÕò» §Ù :vÁTÝòPéÀÍê ²kaë©€Ô€YLJ¥´“Âhx8ðæ9g~b‰ˆäL!o•’–Ü\«î¿|ZºÓk+£)c Ô¡–ée †Ä™P7®“6#”mkØŠz„'ÒÀ€ç<Å2M)ã\!S5‰˜‚Ãi&4€Ü˜·ûžY<¿oÔ—6¢ó=l S h„qOɨ±l Á`0J×»ß÷ˆ êOT—GÝ)øóûy•Ÿø‹Ï_ûòy,€ØfkpÁs.çÜ#„`ŠZÿe¤wlhø¶ö//ý•~MôþÕMé¦_×úq¦ßÓ>ð$}ù\sÇñŽg Ét£×|ñüÙÓÏ>{ýêõ¸æü`vvvffî­o~ j(»Õú¹ƒ2|; ÛÃ| ôÓß@ô3ÿ·Ùwp/ þ¾t4*ª$“ŠªþÙúý †@ƒ~ò“Ÿ¼vãúÕk7ºQÁÌÜìÝwß}xÿ¡š—Qék>Sóu‡ô­ñi $`QM¡=j´"’ö9Òµ­‰¦Dh( èÁ©îü‡u_œjÂ8t\F¡6˜Ï•E–š+§ž}&¯ƒ7ì{Ýt~ºÕl {C€înt½œçjç«QÀ­™’ZfJ‚‚Z”Z̲¹áæ=ïù¿ýÛ¿ý7ÝÏÌÌîÚj4ÚI›ZfxtduuÕó¼_ù•_©×ëÿøÇ?üá¿ùÍo^]]õ}¿Õjåóù <¨µÃðøÀõë×è‡~¨P(\¸páðáÃåryyy9—Ëí æû'»"†jˆЇþ˜€¾ú:ë÷ãcŒ&„'©XÛhù¾ß ÓJÕ§-Çõòi–¬¬ÖýÀ[__?¸Î4ù¥«‹¹b ÌcÃn¬1e¿õáïÉì–dR‹Ê1Œ!”¤ Ú#* °¶4Mq4X"’Às™J‹qÑ«vêY˜%€×ŽCcç´F¥V£VÊÀ*µJ»*¨Z¹@yÎfHD.‹3P–©”®T¼8†ʤº×‹r9¿ÙéÞw¼v}©´±±^*U:7dÆår±Ý Q•JÁç9ËB–å’$#”Å/=Þ>O{3BPN …B©â¦)¢$N’Øu]BÐÂ,Nퟺy£E ©ìÅåž2Ä÷ƒnWŠÅ2¡–”:ŽSÇáRêM*]ƒBYR9šXš3kka«ûx1À]Êý¤Ý¥ºÂ ¦À4,¾ ýzx¾¹Ã}ÞzlȯÝyüªLÀ€¤RI(€Êþzã Ú' îˆ$Rš…›À´Ûabí »kšñÂDïzopˆ¥ALe¶¹ú5óü}à£ãq·×Ýh²”l}e­¾`s;SèvEƒ¹£æâ‡nÈK/~»(ã£ùvåL¿…äŽ+½ý²úšÄäÕoó¢›í¦‹Ÿ¾–eÍËm¬ æJ’K‰—H+Êt/l%šÄå ¬]¡•N½í;Æ@)ˆˆê_ˆ1PÁø‰Éµàªñ% zTsi,!¬(넃+ÍÀµF9…€–”ÙyËm,liÛ"UTSÏOzÒP0BŠDÆPp}ß8–@Ýó-ês««“­¨ß‰£šYˆ›<:}àþ½Ó‡§œŠÕŒëz§},\¼°Ük†I’¸ANS“dâИ.Jê[QìÈ¡à¦nÖ…CãÝ nê¶’ ±”gÓ,lv»û^¤™vš¹åR.oƒfij±Dk"çÃX’Cq%™Ñƒað’Ì—"ƒñòê±T=ø =·^zpÌ+4ÜÙ]Ö„¾ŠØæÖÛî,ÛAÈö¢ûÒï–Þ±?¸§CŒ"ZýµŽ¤/=Ý'2é·Y”ÛÄ2!Íyñ8É‘‡XŽe=cÃŒ4™2JÍ8%6½xþÌ_ýõGDÿèüÈC‡OÞl,}îó_\ܸùã?û¾úá~ø¾GW—öíiÔ×'JÃQ74t§yâ[xh0ChŸ;ƒMo{Y3hE PtÀ°@¥ŠSËæ¥”h£²ZšL-)¥ýWµ¡ŽhÁŽ‘%"SJ¹®owzÝõú}ì£wÝuèûßûýûöÐZ_¼xù™gžùË|ô»}Ó£¯k+iË83¦Fvµ[m-´k;/I©õyˆ$ÄP“#T–4%1M %*G©"´A© Æ¡j`šˆ!ĵN#gÖÊòòØÔX¯Ýò¹ÓŒZŠ*Î5¹ùÉg?}ö¹s¿ó‹ÿ¡d•h„< hFmÎ'͵f­Vûz7T+™Y 6,e´2Zi¢5­vãç~öçÿ×ûoþô?ÿÙûþÇ÷9%g³¹1T®]<ñØ]Gó7óýï?¥ôo|ãG?úÑ~+„ëºBˆ~ç¹sç„§OŸfŒÕëu×uú§ú³Ÿýì±cÇ\×Ý)ÕÛ±oh¾HbjiËÀÒÒÖZ3 ›ž)êØ¤Û -ËdŒs)´”ú³ŽÚv««ÝBEÄᎠÔFg6ZÄËW'4@ ÑÆpÅúˆ­}ïVY6Xê P9ØÍ †hš!²¿©ÐM@Œ.ç­¤¡<Ïa.$àås™€íºB‚XÜ!i/ A’Á( CwCÀ(˜eõB Œ Èå P­Õ®.@mhÀmÇà’ )@wP Ê­nÆ4ŸËi‚\18õô©Ï<þø¥K—”R¾ïSJ…L“$9qâÄw|Çwì›ß»Ù‘Äq”Ö­Øv}ª µ0k ²ãù>›!ÍP*—£x𕹶 A vOÏnn \ÑŽç¥)u”DÎâÕ2‹R#`[Žîyðá{O>t M€$ÔÔ-XÂHçý²‘œBÔE!(%!|' êëëíéËÊÿR)mˆ$J¢¯2esÀb64, [KKCcµ8¡ æeÕ9ö÷-œóR©Ô§|BüSu؃ ÓÑÜd®ÒPAB%Ì0-AZ!rÈtèÙ^û…Z”qmð€¾Ÿø >@ ))Œf¶¥2 Àâb9SZð,Hy‹±f» @ –ãÉ4ÔÒ;‚p YÚqÚZ‹ô%%‰\¡Ôk…“OR©¡9wD†‚Üh\¯ÌæÅæµË{ù~Ä`ÆÉq¯£ZN‰éT¡@Ð1}ZœÀÐý»ÂQR7Ï¢­[ÿæ2ò¢”)»šËµZAi}XÇ ˆÒ€3 ¶M}J)˜ƒ(…ºX9J•Ö°A3h (mÓŒi(€@jÁ%¶Éd&tŸëD3pÀ>÷t 4°«¹8ú¦ñÙù]–k×åŠ7á,¬Ýä!¤´òÅ:€ƒ{Ož”ÕíuÆœ™'ŸxŽºvéÀÈ••Íù`äÁ9óñ  ÷=ðw|×vÓ½zñF3ìNMMÙ£ùÎF4:5w¦¸ V%z€–Ud»A¡LHãFW¬)w4(Ï›qÓñò1ð Èsf˜ê $bE6Sª™„hˆ¨ÉšöÇ=‘F]4oñ5rÉ„N¢Ôä¬|”†1/HÑr´õX„˜§J'²,æ²”CYJŠ4Ç(Zí†?즪¦®Yv’¯hÞДhäWÞ8×c§“3Õ˜¯ß¸<>>îÏMì˺)Ñ–cÙ”IRÉ22š K+¥îz÷^–ñŠ[m-µf+CvÑN»m׳77;+ç^,Œ;xW¦Â½©×LŒÞSήç°4â,v f£kq«…nKEÆ¡Ž&“×T­þ2I¤e@¥ ô« eèGîœPc˜r”R¢Õ6ùÒœ·ÖºÏ]BÑZk­PJw*¾ œÑýo‹š~åô Düöó} Yf¾NÚ@KÕGp¡¶Ã)¥ZkH¸¾GYÔJ3và¸yOS•™”¸4Ó ,ä켆º^¿þ¹O}î¹çž)–K¯}äÁûž¨–ʦÍÛßþ]+ûÕÿøûpuáÆO|ï_߸éÆ,«ÛéäJå¯ð[{ЗLõAsµÖ FÝÁ° ÷sJH•Ii4!Ô£ 5°]Ë"<I/éAÏó‚Bþìú%äÈh0Î8[î­ÿõ'þæÌó/&qö£?úÃÃã»&¦‹¼ Ðàh°kl²ÝmþÅ'þËÅëgöGÞ/]w£vÜêE½ñ¡±$ƒ´¹µZ÷=w¿¶D{ 1 D[`š 81ºŸ½q<›ârwùæb%_NªSUÌXÇ4gÅHþêÓŸXX]|ßÏþT7ìh-9åšh(‹ä¼Üø®±n³§‰¦†Þy4£„Pb4Ùm4°kxw=©¿ï}ÿò·~ç·>ó•Çï½÷ÄúÖÆTuâÐ]w:uêcûØáÇ;öÜsÏEQtíÚµjµzõêÕééésçÎýÉŸüÉÞ½{ƒ xì±Ç¾÷{¿·P(\¿~ýÑGýð‡?Ìëv»–µ³ïØ7˜¥ŠPC¢)41ÐÔº_™F~[ƒƉ"¯ÈèâÛÁÍ­•†}è 8ئh¡wÄ BàÛ3tÔÅRpâıƒ÷B\×%„$IE!$ß÷1I’0›nàûlu%ü6‰ü&Cš÷-—Û¶(@,@RJ‚ÙýžÃÌ Ëg4¡;ùñÏžúìÉB„•J% CFìW“£¶cÇqvšÿχÿëhmh}e5‰R 565úÔ駬‚3{×Ìå¥kg¯}Ã[¾cßÈÞ<¢5”XDe*LÂÈô$l’7„b^z4JSC4@)Ñ”0j! úf}q²6¡ŠêMoøÎÿðïçw÷wï=~áÚÅÀxwß}÷>ðßû½ß;sæÌ‘#GÞûÞ÷8p X, Q|ÃÜÑ{çÊe&l7 óEOòs{vët±»]QÄ®»wï=~Ø)å¨Ígƒ©C'ç›ë›×Î^¸þ™°K 7ZI}h߃žçIyŽ/R•s ýB‰=»öUó•k*¹àÂÙ‹$†i"òÔøH— êbâ¡#—Nÿ-\`"àµ<çöâÍÅÖ ¹uÆÚµ}åÌOÆ. 0èŒlÅÕ v¶š ±(p M“„3²”˜ËA)¸†:\f>0‰Ù5âç=#•#d¤× Ã…6Ñ zQ/æ»]qI½Û†hCÔÅKƒl?¹ÓÙÜîH½õm'”rb§ Ó`è—ó ‚344í•®_¿Þ<·† ð¹§ÏÎÞ¤Gˆæ–0ZK®á1‘ÐÜ⢠·2‘ è´l· 5Éê ˆB©ÛÖiØœr¿X¨2Ï‹ MUê–Š–c±vÊ:”ÉBi¥41Y¦…R ÜJùn_‚ÙYâþ[Ö±[ðmi}‚èA)C¿½?Ê™Ôf/ÑýÁO ÑŒih-³Tk©µÖ0«Ýe/ðÏZGi¤¡¼À-Ž®uÖ?ôñÿüøçϲôÞûï{Ç;ß1;6ëÀÉêT¥Bø,Ç ëF¡Ðº–/¯l,}÷ë¾{¤öåßû?÷½ÎÍvkbd"NÄηõ­Ã¨@·9ÛÊ£_݃9hRè;f´N… Ê%Œj#„ÔBeÂ(ÛuQ¡Œ²4Ë´5œs«àÿåcŸøÒ_ˆãø­o}ëw¾î;mËnw»^#°]jt_‘‹PJe†™‡Ž>äùöïÿ_xxÿ!ŸyœñÀ n¬\ªŽ¾"—¼YoBò^β7¿åQËj­”e¢wâ_ýOí¤ÝŠ›…rùÓO~ú O}ñ£ÿÅëO<Ì4…2š—;–˵P[ÝzÞÏib(ÈGB@RCA úDnJÁbºª»¾¾þ‰¿úä/ÿò/»¶‰îPeh8?œeÙÛÞö¶'N(¥\×- 7oÞ¼zõêÚÚZš¦ÃÃÃY–¹®»ººúgögƘµµµ±±1ÆØ÷}ß÷¥iZ,›Íf¿„xÇvìŒA4nòÞzžÑmÙa¥…1Z ¡”;ÔV'f39R5F ¡Ò¤g’㺾ãðV«AˆáÜ)Žm»Æ¨8NÓ4MºM˜WËý$PŒgDé,NÀ úœÐ;kÕG¬‡dYæp## swí)ŒyÎ.¹›°Óa56ßèÕO, €xpöWä^cu6Fz"²64V´r»c4s7²šk-A§øÜñÙâ¾b7ß‹h/$a#mJ¹ÜÞ|¾›ïÖÛXªûù8 IDAT,ø•\÷ªw÷Þ¿—Oqi‰‚_qºš­î::1:Q½|á:@ªµÕ… Tðà›lòºC|¢ µ£xóŸ¸üXz%¡C¬ʘ;>;ïLdê½$µ¬ •‹¥hløü¬k^L€q’3u|67[vFY×M»i=#R®PØ›Ÿ÷.×pS®$›¹ƒ%ÁåȱÉfró…ål#Ízwnö–ã‰ÇÊð7 ùwÏš¥tT£µJ9We²›Nž˜Ü[¸fàðáì³'î™ò¦½ÂPi³¹éäËÓÀqw9“×_¸&ÝÛjY–e{¬­{9/Eí3>´×›i3-ʈ’±*b•(3œ3¡ä› ƒ‹Âz³5º«b9n®P GZav1ׯE¥–oä!lH[ .•­˜ÏQ¦(»A!Ïr–ëä¨bY'F ªàX$cHRa{ëë†g†Zõõ+Ï]$qv衃nÁ©ªz7 áè|mthÔ(X·Ë”ú(ƒ¢RAj"oa Ûì†nsýd)1Ä( æx™&]‘µtÚEÖ‡H«ÄÃ7¯|é™Ã¯=žÜóà©/<ƒ½ó÷:–§²ÌØÜ1Ò$I¢µ²R+—÷ áó ':“‰²`»ÄöGÊõ¥‰]U¡{õçC:Šî=Cº Ch*$°òV“-e• h*2‘)å$ÚpÎHFߺ¼>þN£øÐðTè§›1Èè[;Èm‘? ª úí÷ÄPfnQj ÚÇ´ÖÄ¢ÜbRf©Æ˲l9¹-Õl„[®ëzy¯Ñn}é‰/ž;wîâÅ‹ûöí{ï{ßsäÈ‘<É ¥Z[í­²[V‰ ¸Sôsi’4šM+pGÊ£ŽŸOÏÌ̼ö‘GN=óÔáùýùržpò²UvìÞ*ãv é'6ûÑÈKßCtßxÜâ *‘I$ÒLKj[pX(cÉŒ“ó ($çnœ{üsûüSÏìŸþÿÃ{Ž?†a·Þ«V«µ|µÞØb”J,Ê(í‹Ë,kÉöÜÜÜØØØ•+WN × c¿rò¤RVD¢¦~®`”’õF L]½|mhr¨V^k®Ÿ8rÂqœ?þ“?œœšÚ5Qt‹´J‘³sÜæÄ6Âʾ¶u‚jâ0nB"„­ ¥Z— ¥µÆÚÏü«Ÿþ?þ·ÿý#÷­7ײ0Í%‡ñs×ÎW«Õñññv»½±±aYÖÄÄD³ÙÝÚÚZZZšŸŸïõzafYDZ”’²¹¹yäÈ‘ÕÕÕ0 ûm;ƒyǾgñõŸ7JõU`s^ÈŽ2Rj!Äkïß³žÈn‹2âRËw¹æ–ÒRŠD¤½œek£TÜKb‚ZœYÔr¬~Ÿê«Å4%ܶÅ(éý}Wß.vZ'^éoAëþmg Æ &fÇÓB\O¶×W;­£ÎôÞéÒTeWafvÏ´IslceéüpÙ-ú­^§ÙÚÚÚØ\…55>Q)œr÷©¦›Ë”ä.ÏÕ <ç„"ŠC‘$"xÄâùaïàÇæÏÓ TÈ´ÑÙ,Uœ!÷¦\ZZ] ðš+O–GI’–&ò¥}në|2 Ìó1v|ŽàƒX¥/>yAQuâØ=nÅÕs÷LŸ[¸˜Ä@Hm÷¸?áE^L˜súôÓZcf÷l{«Q¨÷Ý}èÂ…§‘‚hf¼Q+7WŽs¢m,//ùœž.æ‚`´4üˆ»ë®!‘H‹2)u”„AÁgµ¤±ÞZ_¾ž©ÔbC|t¼VÛ}owmËÍF¤’sn{îÐx¥Ýk¯,\Y¢šÏ—sA.(Ìß?Wš«D#´Ÿð J¹ÒèP#ínÅs7Îú®7Z,ËõÚȵõ¿ªÃfH4!$Iu¬RN¬¼[LûÝ®?sqìðØðëGon^œ9²·ÙlG¢W™Ëq^±lÙi]ì:’óÅ‹×GæFƒ±1øFå—½F65=i•¨$)$^xì,Ðð®kBB,^š¬ma„«5{Ü |ÇIí>C–fèõ·ˆö¿áäØüäµÅ+7.œOOµ!pò;î]élåÝRefDI·Æ9³ÛVØíaОM´¢ŠR*‰RLwl5 ¥ÛI/ô{ ÙÖƒ¢ZhE•b¥ÊãVÕKý.B¤1ÒDŒÌ²=~5½^Ï‹ü›ýçÈùš)+ ±Ö‹Ú§šÂ¢™2¶qSZ²lžºyx7“\Qe-ᓜń˜”Q¾›¯9 yyrd²V«‰0Û;2»tu¹µÕžð†=š[™ʵ‹I³.X+g9±%93œò[¦ÛYwÐ}N¢5ihøÇ¶o¤wŠ—§!V¿íÆWºý7Ô@@S­”¦0 œX–eŒ&ÇJ¼\ñjAÁ¿´~é3ŸzüêÕ«C•¡¹¹¹÷¾÷½.·ã2«Éº1&‚±ÊxEÃuÔé…I’÷½©áüV¯yõêåÑÙénÔ–™zÃÞð§ðG¯¹ï>&vÃa>1;¥¹ßB°ÐmªÛÍd Jƒ€BkÓ§³&R+©Ef$8|Çwr>@Û¢G-³¼¾òù¯<ñÄ©¯H£ï{àþ_ýµ_»{d§ÑèÕÃÑáÑ‘<6›[½´W«Ö¢(RJ¦&%„Fûœ ’ˆD&B‘w¾óúGÿéµÇ±m±¾¾>5:ÙçhøoÝr½nD(KÃ4L³˜å0¸®[Ƀb«Õ¸qóúì¾Y2U›úÅŸû…?þ³?|Íë8RZÝZ)Ê>w»ín‡šññqÛ¶¥”Y–ÍÏÏc.^¼˜Ïç³,+ ”Ò$IÖ××çææêõ:!dbb¢^¯§išeY©Tj6›Õj5Iv»ûF±½MܧeЄ­ %Æ€€®3Rõ …TðÙN=Ãßgj¡½ç3_C¨mî`Í{¹ ÔHÓ8ïº6Ñè«îI£-B5¹]ÛAÌŽ Õ7ës<÷ù¶úÅŠ*=xô¨Sph‰yLØÙÍÕŵÕÍôJ /è'‡‡gKÓ{ïßwîÓÑdDºgï<-Óµl#³ëOßDÙJ†¦¢ƒûŽí9¼ÿÂèÓ¸ c mì96ïï*…l+jw¶n,´Ÿ•Y8ÇñfÜYW-»êUGkëë.sj%—9&¼º¾öâ•Þ&Vk‹ã¯ß+”)ÕI6;aj+æq7ç—SÝåvÍ÷HÜk¬^h\%8t rüÄWKÚ·ÁY’¤ÌÀrì.·¶ºn%wîÊ¥ÎååEo¾Z›¸ÛÉó=Gf×?Q§H$©5ÓšRfU™–©‚±@,t’õ…õYº«œò åÀ²ÈÈÈ(Á"%6£¾ê×7MB<·äËæéH¸{vªÞÞ”RȦÂÀ1`!' ,ul'sÇ¿P Ãv)(gumß6>1JC,AW†Š•¢SI·Rîê‚_tsù›k«ãc»VÉF–Æ×nܰán¥-{gü|Ë÷"· †>#׃´Õ š)(4`"“)#@`yܶ-¡ÕêÖz'îÖ[ͧž~êùsgòåÒw¿ã'ï}Їo –––¦*ã„¥…Õ4‹+Õj¾˜»q1_"í×Î0Î(¥š@‚• »ê²>99yþüyÁ9÷<¯/ƒòŠÌ×sÔ¸AN(h ™¤Üq—on®×WǧFï;²Þ\#690¹5\™i·Û/^œ››+úE i`ò<Ÿ"ýzóJ*1”0Cˆ6ÐPÚh¥Ìoÿ»ßúßø‰Ñ1Ÿ=Ñq˜³¹ºQ­ÖˆD*…Ö:Žcß÷Ç™™™qçúõë–eõAÏó!qW*J)!¤P(ôz½B¡À9çœï ;öÅwp_÷§H?¡šR"4@”Ca‡ÁÆÐð EÔBÂ0†>ïP*n?¾å‰…€Ã_](LžÂö\nQ hc,c@h¿ÛúŽmz+0ÞÙ‡¿Âó—»RJP˜4Áü¾=Q–œ»ðâÊÖ £~iñÓØš>>“«å;Í”–œ’SôlÊ ‹®¯,Ÿ;}= $®,\– ŠáÃ8ö“×O ÕvÏÏv¾¾Ô\[[GW"¼€v©ÇçlpK¤[)NÎ*¸…K7/·»õ«Ï]@˜xîžyøÇHT:??wJž Þp×›fóÒ2R€!º\ßò­™‰)oÈAV×R)T*'§wµ Í.Â3Ÿ?äuÃõå•|®°ÒÞû^«?OÚÃ3£kÉÖBtãÆÕçâ/™ŠÒ&Ò…Íj­8{`·G»ç6®-¬<íŽú¶ivV7·..¤ ȵaÜ|òÒ¨•Î ONOóŒšHÄa¬dR­T—¯Ÿ?¾u%D8X[k¼pæùÚÁý]­DW‡&eFsswøÓgN§+Mø@·žÆ3û¦víšÞ ¬ Å)ˆÖZ»Ü ü|"’$ɨqjFÎÝ,?[(îbbøpi¤·5.>s±óÄ‚ÀÕ0Ýâìê箩‚šš®vÁåT›,K"Vwµ 4A”g˜vã=“”r!XZ“”m„"V=‡ÅF ÄJª…±Ù™}‡ö®-߸ôâ)\h^ÂÇ—Ÿ?Í&¸ÃÝ4Ô:–±[FqO´%î 2TjBûúwšX¿?—J 5†n«†Ü•&šNH¼„ÉŒ¨ù©!×õêÁÍ­/o¦ ¨/âÿýà''öïš¾ûøV¦?ûø§$Ø^c@P/tŠ‘í1jòà³xY ˆàR·ËCTñÌ=‡Í)ïÛ™/¹ÚÍ%A”´„‘3‚V?»)Ómõ,ߊ“v£Ót[ærwYµµä”µ<á^ÆÝ~ì¡Öé€oëäÞë÷5–<ò1“¤²`@€gþú©!Bà+2™1¬õGVw˜ZµªMצ@ƒÔË[qp(UL!—˜™€ÕZaßáZ#Û6:ŽÝèÕôQ p$-œ>0súà òYt¢´äªmÀ÷v;’®f96d%ÇÉ0ÆH0–-,ô[Í»ªÍûª“oÜ´ë’§O7í.µï¿÷^Ì ƒÀ1 %¤à aSG3Öœ‚ضíg³kP†A)§µ-ÿ) „ZëµkßOMmýÒ¯Ù8Rª?®ALÓluÚr…‚ã8‰ˆ9—š’N¯çx.¥4扔’™Liñ8áZÄóò±æ9ðÐC4›Ír±ôá|ÄsÜŒ—µ,‹J€ƒhʈÉ"ÃT6á1ÑÄ‚vc-t¾”úÒ`¦a›RhƹA ‡‘ÊdÄw½P‡–eB,Ë"ŒFIhR§É=ztçÎgΜ±m{lllyyy]HÿÕ1ǵ:NÌy6绎›ˆ8ÐÄ`Œœó ìƒ×µMÈ5o&‘ñÔϾ÷û÷Ìž¹è¢‹nyÓ-—_zyê½ð¨ §£Ê``(`Œ%IÒíõ¸®«©æœ3J¥š(h ƒ0Ûp”­{èù¾_«Õ(¥…B¡Óé8¶Ëd?pðÊ+ö¶;M¡Ty¨ÔlÔÈ+Ò& &3‚¶íp.,Ç&Jz¿Ñ ,FA”’P–a[†©¸ –Üú†·Ýú†·ýxCQi"­ÑdEÏ D'ŽeQEƒ^P)”ˆ¦ÐÚd†R*Š¢¡¡¡v»íº.!„ã8RÊ^¯G©T*J© ҙжíUŠGšs±þ¯Û½Z(œßÞ¥Œ(B“HeŒQFÓí(`A·çg2v;—ÏCkG‘mÛqÛŽ“¨Ýjå …( ÷€ z…¤$ÊXz4ž$æÊZôûÞK˵ÄQ =¥n§“Íå^îô@0 ×ó–«Õ¡áá—(W¾šÖÍf³X*Õ–—Ëå²gѵàÁ@)E#ŽÛ±t¹¾»8¿T©T “ýÐó¥eLpN)¥ŒI!(¥„Ò}»—ÿ²¯ cpcZ)É}ÛÕBp!¡4c†"/Úyÿ$”BˆÕ­!DaF»Ý^èƒç6Š nA‡ @(lóKÿõ¿ýÂû~~©=·sÛŽsÖBm¹526¶ej“´Us¶Vªûnœïj37²®€›PeMço±ÛgN•ǧƊÃ#´ìÅæÉç'킨“ÉY&#)]Y+´Èp'_ÍL—‹å¼•1­Ø$‘ÃBV †‹QW›*XˆwÆýñÎö`ž¼àgò—L]"[rª0uÏ·ï”Øì§Žž²¯±-˺öÚkïÔL\}ÍÕʌij3çPDŠ’Ò¯õëoý£ŸutgÛÞ˫ϟc¬~ñÔ‹²~»c‚âx Ä„vð·wwÇ/]9zqÅ®LÚ×É“sËb8ß›ðáZZ¸…Èsb%ëT)Îv²—Œk`¸ì]·gÇ6U2£D9ZQÇ*Æa¤™AL¯'i·gËEk|C6Š»þ‚›ÏŽON÷,O´"›;ŒCD#Ôu][ú46ÕWÞôÆÇ>îÚÖ΋¶9Ü«äóO>vÍ•t, Û¶Ó½i;A+æíJ5•˜EÒî—ÝLõØÙ‘±‘¹åf(–€<ºË° ·Ÿ(¸ÐDZ–¯F]xSF@J;goºî ÛÆv+oÖ[„Èg玀ÐOó)*‹SðæCÒãhÛrÛ¯¼vz|ÃâÒÂÁ¿û– cã“£Ô²c0a«Y´©•íu"·G|€H£kå–*C¹á&êta¡‘͘ﭺß*͘ šMLÆÐW–å´ƒ¨‚FG“†“7P}vAY¶]6.ÃŒ6ÇJ{Þ|ýaþ Θ ɨõ‘)€t©X"n'€aBB#ÓRLôÎ#ä€@±ØmÓ‰Û:˜ýâéYr>@€P€ ˜€ ˆŒ×j`Ô.Ù#8–׊bi ÏËDí(Žã|aEù—ê°j­Wy¬ºíJ)¥TÊÌÕZ¯%!„(¥Ö:øé¿+¥Ö ÿÛï$=ÿ‚à|®A6ŸgŒµ:ÍSgNÚž›Ïç#‘ •G—:ËQË%Ÿùݤ§µ.zåvÒ¬5êûÛÿè£Rƒ]}õëÿÕž=97cqâ™®C\¦˜VZ M4e`ý~èÚ®Ç\ª©ãš^ÆG£Ñ³<ŸèÚ@P}žE ¨^©ŽN¤”>øà_üÅ_|æ3Ÿj4ívÛ4Íõûê—Ò° 0„QÔ úB j0Ã6]Ó¬Ö—)¥#CC´4»¾éÛ‘óÍo<ôÐC¾çÝtÝ ïú3\,CB2EÓ{ÍVô}ˆ¢í ]2L&…’€ŠxEçyX)× B4¥/Åž½ï¾¾òß¿<ù‘?t=›“Dk­”dÆ+A\=[‰¡i*ST„J­…˜bD[?¾|›¢BQ(¢˜†&«©Lš0M©¦TQ¦À4ˆKþ×!Óu{õ éóÎ\ªLvÁTk6XHÑÔ6 r/zé&Àv@ÛŽ¨°×³,+_È*íùÀÁ+{Ðy8¶(F4 çÔ4=ß}©ãGý¾ãûPÍZ­X©¼|©¾\Íår¦ã(‘N.ã½|ǵÅ£Ètœb©°¼8?4šÖÁQ+N²ZÛ¦'=áѱ@=ujzóF@WçGGG “)Î9MÇ Eâùîêa—‡FGµHˆñÞb¥ÒšiEµ¢/s‰©ÆJ$ó„þR”!Š")Ô0Ùlv}°§›@M‰NëÆ¤2]1ï6zs§g1”³åâ–r·X¶çFÎb{¡q¢ºt¸›ánQ—rc(;vÉÆá-SÓ#c¶Î6IqÓÈxŽ˜FWö–šÍ£K1‚°C¸¦Ê“…M…é=F6 g³þ)ïäÈÈX9S2#sáìâ̓碥8£2–Ãú^whK%GKùJa×ØÎ gœpéFÞÆ±ñà\gñ…*À ñÌãÇn¸áú®ìk-÷]³BkM%ñŒÌ¡§¦y:¡%ÝÞÒÌ’1Î …œ»Õ²ÝòDqLNc±ZYLýC1Â¥~ÜŠ³Ê+Æ]ÇjÜÒäÔPv,©Š¥cgŸ¯¢×ÈØ¶ÍUÀIßw‡+ÓîH!.;…ÊÐtqKTN;{üTØè3jRËâÀÆKw0–ws…鉋ƒÒ”m0ƒv-2K쯛ÍJ&¡Ívclã†×ßxÍr»5”Þ³árÛ2Ê,-Ä奓‡OýPÕ/ R›àg|Ý¥ b  ‘D\qÉC‘tûÐİÜcìšž*t;]„‰…áÀhÊœ°§;ÏïÞvéõo¸6Œ92jAÌ·sMdà ŠC½ :æ}oNb²l1ÁMÇÎ,œ>õôýh¶àÆ›nšßX¯6ƒ·+NÓm€Ñ|/¡»ËPAº‘W¬dÍÂ|tNŽóx¨{±”: ‚tšX­­NbT¦§m¶ãpÀ‡àœ‹Fw<_M§>S=~ôØÖ=»ËÅçñµ¿tóáûˆe0²«ÐîÀ¡€‚é@)0#Eq7“WL…ýþÊN5 É•ÅÁL.…¸™êF9 ƒlF šÅ½(ò™¢T+½¡Éù0Ò\ÅÔçÑëÙ?¡­ ÿ$°²JIZ¡èH)›ív®-VÊ–ëø¾GA›Qç\k¶T(¹9§ÚX¶,«’©ÔûõÇøÁ~Po57lØðÞ÷þûm“Û:¢Å9sGy/t`SM! „VJM0Ñ) IDAT!ÅLQ$„FQ´°°dÛv©Tr3^E´¦UJC¥´_X+ø´*¥µž››ûÚ×¾ögög###ÍfS)ešæO/-Ý^ÎjålÎ÷²žÐJ(©) ËÑf£4R‘‚Ÿ[:g™¦ç¹³óçØÿðÃGï¾jïÿõþïíã[5d¯Óê÷ƒr¦È“ÈP”©ÐÀ4ˆ¦Š’q»q¿±Ðˆã¸X,:® SÈ!V¹²i½ÕÁÏKp̾ò•¯|ä÷ÿÇqÂ8î÷û†añÊØh)B˜|º 4!b°6 Öcð(2^Æ+~…ó¹iÛéø©V«£Bˆ$|ßyÇ;% ¤-€—ê_^á/H)e’ü˜º8à?\äE] ÕZKN KÄ¡a»€b+PËèøxºòQJ©iBëf½^¬TšµÚÐèhØë]K^ãÀ´"Pl ¢¢‰ÖdP[þ‡q‰WlóóóÃÃÃîM­V+‹ëÃ|pM ‘RèIšB0,ŠãO<Ó¯\ŠPÊ72åܰÔzæìéù³8€e´aÈ÷Ï, §cf6[»ÊõK#9æuësÇÏ}îdõ™:t)4P·-É2rûTaºT(SnÈQ=³têà‰Î‘:ÚT>£=׳§DÌ¡tÙ(ç}ßgNëtýÌ‘:gbpPJlÁUçXõùÃÏî\oLÌ/ÍÙŠ¾ðÔ ñ„‡A™RD †gnó¶i³¥œ« Æl‘g=}î™Ù”ñ(` ³‡g²Ì/;ÙÊÐT¥DX6ZËO/.>ôBüL]ÀB_Ì.öGöL—vOOmÄX©ìeqºÓ?^]8r"<ÞEÒ’„P8³|ÌÝçN_>5앚I]&<ã9ù¬÷ä}‡j÷ŸEmz˜=sò¤1¼u÷–XÚB!ŸÎ:Kµ'NÏ„OÉA&Â*Ê¢E„ÑPpH%x"a@ÀCé™ÔöCªa˜µ ôy":Ø!d¢8GO#?iB&€Ž}÷¹îl¸kôÒ8L¤Ë«t¹–[V9E‰eÍF·G‰Ê­¨ÛËëL†ûvh¢ÖžÃlØÁ¶ï½Â.Ÿ]XZ|nÍ„fél¡*LRŽÊLÓkºcš¬L‡;µÈ£õe±ä8Ž= âR"5ùzÝJ0Rª)%Œ*•Ögå0  „v`m/Ö–qlñsŒ[³9*¹éŠ/¨§“'"È$ÝH*Äi¨®µê®ëQ0R:×™eŒM•ÆšIó¯¿õÕÇK©æ–7NLL RJ;½¦çy¦›ã"ñ¨oH¦…ÖZC)¢‰¦šâdŒf­ŸË8^![ËÖkíPŒ$ƒ Qê|”øB'¯ˆ2Û³gÇq‚ p]7—ËõS qÝþÑMŠ9Ã4¹’ݨ/”¤“I?ˆƒJ¥Òì·Ërsþ#ÿàžøÆØî×]ñé?½½ty7»µR6?œqÔi´³¶Ë¥ L“ó@SœÊH »àLä' ÀUÒét²^¥ÓíÒ•Õå<+ç¥÷šûöí‹“xhhÈvÌ(I’$Îå2”*!_Á¼½êá3 ª5…ÒD‚D‚h õ£gÀýñ9½Š¨U MM•M¹t¡š¤\Ç zѰn¯êx± ÏTü!ÑŠAPPý^àÙ]˜ñýl®˜7M5m™DÌ´A`: LËÅÆöÓö—~é—/øþKµý~èyŽ*—Ë|þó_t|ײݗ9¾ãg»­F&“/UE˜‡}Û°.Ø?èö›Íúøød®Pa€âQBˆNA ~JÔïfòE@ÅAT1”1Pwü¬A býNËÏåÂ^ÇuÝÉé)hô/›…&V#W,CKhR¬Tzín±R¨išé *V†{ífú‰?þuû§Ö¦CŠ5¬”Rfœ™2O©¹çΛššÐét’$Yê«Î*—„€R€B3DbþèÂWÞÿוë²o¾þç<š9vÿsy<™1É "ðVíè¹Çç‡N\yå•Q-‡ÑÂÜâ¹S3b.‚X¡M ž‹Ÿª?Q=VÛ°qºX)w»Í¥ù…“/œÂBˆd¥g PO‹žý{lv®ºa߆MÓó§æ^xúÙî\­¿!T Pü…oÝxùƎѯ¶„h_»3ß<‹. à˜VÇiŽ}ëÀBrÉt_„lTK“9î;:ƒ©õıµHèÖþ¹ý'çÆ¦2co‰KÃËÍZëÄ\rr³ ]dÌ80·¡½X/ÌÔýÍ£<ï(+9sÿã|¾ÞK®)R7èÑö³ï}vëc»öíÝ}Ù.Á£‡¾wïâ½§ zöW(ôgqøûwÿίٺ}{maùÁ#÷Ì=áš´…ó¾©R*V —D+Hð0ÕË(Tò‘)ìr.‘¤Ú'²À2,„@€q pE¡€—n'ùÒéê|-XJÎE˜Á¹œ] Ë¢#`$Ø LRàùîqhÀ , ÅÀ.µ¯¼éºÂpåÑlÞw-P ˜èòå”Ë”:ˆ-ÑAý@`ë-ONxžÏ äæŠç­ˆIƒ1ŠÔ4mP3 CɤTy˜®E-Ó-:ýHB戇ä#gNÉ¥{w/ô“cÙ\æ}”ä € ¤Ó˜€XƒÂg™3mzD(ž$!ç°€Q¶u÷Å;w^R)ÕË80hY  „8lÀ7¬ž¢‰L«QMhº¡«VÅøõ`A`d½xï:ÐðZE¬5¨&м)  —˹ž‰¨ÕiS“e,Ã3¼³µ#•áSçNÝùéO=ýÔѽ—_þëï|çÎKv.-T7m¢0Ðîµd7 xăÄ+LH¡”RiiC0J4Q\©fÔZhÏç ÙL>kW .E?ìRæREeÊ€‚¢PjL€µéÁ¬Á0ŒTcŸRÊ9gŒBâ8^×hxuÌ´¬ˆÇ½8Š[žkyn"9ovÛgιïû÷<õä‘K¶_üïÞýÛ§§«I«;^(f²ò^t©‚o¸LQ¢%,4¨$tIJ–»¥ÛÝv¯Ûjû–—/ä%UZQ¦Ïƒe/¯¶eË&¦i¦›HB¥?‰¾Õ0¸^å$®2ð£G{¥…W©¦TZiî±VJº69ý‚é¸@ªÿOèzáøu{U׋N] ,S²e ƒÈ³"~&M»ÞŽ]—ú~vaa Œð¢8Xu)³ß²œzcY)ÕŒ¡5­L iþØ?C#cB$A³Ýîößp.Dâùþ€™vÊ_xü±ƒW^õ:Ø^æ‚=êe³^6ËÁRŒP¡àzîKõ`X©  µÙùááQÆ ráYÈ` ÛBJ_§dqa~ddÌËæµRQçŠeN/—Ï÷{½L> ^k”+%õZ­\©dòÅ—9Ÿ×B›Î¢zð3˜r  5Ñ«_úH’ŸT’Òn·?ö±}ç;ßÉçó{öì©V«ë#}0Ƶ–R‚10“QP.bÌÃÜŽÚÁîWþîk©ZLÀd @h$@ÕŒêXxðð·˜it#¾²fš+S†BªÃ‡½xælÝi²y)e£Y‡ŠÀ H3“âE=˜‰ûÊ Àü'VÁ·~’”2›³M™1³1Zº#ˆÈy¹|’Ç2Á3\$ZA R-fa÷\2*Ó¡©tU¬Ú@ÜÖÐÚ‚2 C4:X8Û[|áIFÊ¢• Õ…‚!`k8kq2Žð…¤{öxgÍC$¨u `(X€0€1[ .ôs½gž~à<ò9³}ŽƒÁ²Ì$à„ÀñŒ 4€>ŽþÏGŽš¤Õ4`ÍÆÏšQ M”$ZN,‡"Ò Ã¤²'7}Éô™^µXÌY‚Tˆµùª-R/·žéŒ0»%Ž9\ôæ+ÊÛKÄêåGò^6#¨ÄõøØwŸÁSmiÁ³2…7Ürƒs=!ž ½8—ËÙaFpÒÔQÆÎ î¹GŸ?ú­çÐ-!3bì~ÝÞ¬—™9qºyø$ú©à¢ò°•Ò”Ãì¹þY]娭lq¸$qLÏ5‹Ø¨V¸PŸ\ö»}gØÊyy{£ŸÉù‚)¸V"••0Gô€É¡ùS1¶îÝfš¦.¸S{6‡“=GQ5¬ž¬Ê:Ðä v¦"Uç&Ü¢4§-€„NÐKmaÇ¿ÛgmÊVJå¾V]±ää̶Þìýkûá»ï?þ½“`6à€øBi°D¥ôUš2· ðPCC¯¢ùÚXQ^^ßï­ ¯õ=¤ÖÂzÝN&Ÿ‰ytá‘aæéùÓx˜Úüуûã þ™[~æ÷ÿó3È"PýhëØôìÜ’‘¡Ñœéaè99¿äõ›‰–J+¥©¦,U¢ò…Ù™Í7)¨z°ÜC‡h„]k,ßsÿ}¥RñÚ«¯~ÏûÞc~µ¹”p¾}rs,‰v°$îºþP¶À‰H’$Í}„j„„%Ü(pmJQ—^TØJ€“3§F*# Š(zž×€—ã´Z­VK*n9Žaœó$á”™¯h„F"Zk¢®Â€zCõj ¬®ŠjªÈÿºÀc`j¥x›"éó¯V~;/Y²&J×Åu{5Çý¾ú`Üy𦲹ŒaºßûÞ?LNMåó¾RHbàZ”^¿o0vÕ¾}/õ‘J àŒ³­Vk”1ðdÊÒ°lÓzéâ½n˜É¤ß÷¾ß}ð¡‡çå6'K‹µ‘ÑŠiZƒs•pn™ÖË_3Ã4ÓŒ?ã]síõO>yB'WM*i;NÂSpo}ë[y  ‹µR±`¹Ú.I‘ÑÉ“'NŒŒV¦¦¦Í&&§6…awq±6:úZΞÐDR¼+ŒüVùTÑ)“É|ìcûó?ÿsJi½^ûÛßþÜsÏ­ótp ¥A hJ@m˜\vÁÁŸ ÈXžê˰ë4” ‰€V D ´A â<È×C7€$èQSÆšó¨ÖMV>Ü LëX¼}`8S¨/·d :˜ƒø0º€9À ú":Ÿ>©D'ÙØ.2ƒÑNdO""˜ÄHd40 Fžä¥¯:´'\ö9c,%h0 IlD’A¹߈d;Š¡ÏA$uHƒ&TW‹‚+xt¦2æºÙ|wªäB.1 DÜEH·h‰¤N›*¡¸úÚ±  Ê"€Eq8ˆw(Ë™æRo휜Bt *JBÀ“€Ãäæ©©Ãù‚7lf &ã$rÛTrû®-Q×ÛÿÌÓ]#hJlG9wq¹pI ¶gØCî–|Û3Í3X ÎÌBÃrzaµOÛ™BÙ\ÅèD8†W4­¼›5µ®MD€± þæm[·ŒN>ôø“Eg€…Q½}çðæÊ»)i].«Î~â~$}´ Pá;¾Ã,ª™V køœtMmKh!º¢Z­ŽUF²¹ÜôÆ93'²^,ܞѫ×Ð@c盥l$ûÞDvì’ Ža»0IOĵîÙ§žk,Ôx¨[I ( 0Ð ÖÉö4‘‚qlœFˆ¾…d$0Ç]áT±L¸¨‡Ýj+ÙtÅæž?©O@J0jIEchàö#‰`?dlPHëÂÝë@Ãk_¸@h7“É8¶Óê4¥’ä©çŸºë®ÿqâôñmoxûÏ¿õª+®b0ûaÐ'œ*C…I£»¸ubš,ž›7MhhÏ?qlÓæm‚hM51ŠJN8×ÉäÆñšX¾ëÛóð#Z¾íøæŽ]»Þõ–ß 8¨dJ"MƒOƒ„Ž»¹ÐI’PJGGG†¡”âœû¯qµí×YŽEMêØnŒèÈÓOÞûàgæÎû?~ç=ãcžã6ÚÍo”‹yJèBm¾H½‚•-g¼Dp%Á"!4bÎ,SƒjB5¨"ƒ]$§4ëïúÎ{æ™cIFýø†k®û­ÿjÆé0ŒÒu}…JK_>G·×ëm˜ÚÀ‹“С”Q3IâW$ ° –3 ¦5S PeR¢²Ê>  )Ë‘è”é¦Jªÿe›.“DS’®:D@BSÈ‚øÃ«àÊzâĺ½º«…ÖŒ¯Šç Ð8Ž` MÑiµz}箋54Z^!—цI4Áܹ¥ÿq×ßÜpÝõÇž}6×S¥Éµ­iÙ|ÿ¥Z!¤P2—ËÇ<1ç¾k¾L.¤& :%‰ãiXò‚ýwîÚ}èð…\>WðL‹¶M4ší~1ï_ø|8¨8âŽgRà©§Ÿ ¥z%vµ¶…Ö —®m‚0¥@(=òäÑF›æ±Ö„2MÅI?FF+š ŒcÛ5ˆFÇFÆ*ø±¯Ø?ÁvåZ(r^ aeå¿ÐÌü̆ù|>}Q.—W_ôz½õ‘>ðp#„PƔ֌‚ZÌID„ к:)±r–ª–hB(Zƒ ¥LCRÚ¥ˆTv´Ø­6!€,A‘ ¤FèHH)©&Ž–®Ú\IÒ ÍD †Æ@°o‚ú®ß'‘ä pÁ\Ê8’@¥ˆ$ÖÐRÆúÍÏ$’qESfX`ÀP¶‚Öé|%“ §s:ÛÑí0ˆåª…Hžf×Ð!0²Ü²tò,ˆ-ƒP)b¢ h‚ˆ¹ í€ÃðS]êÁ3é„«å’b@ÌQ©7éS@Å+Y…Tߌ…4”1%.A`ißJú=Ôü( •[ õʰ2#¯Ý{ ¢¤¡pÉôE†Ç³q»5JäÙgž­†ýñ õ-ް½0 diZÙ;”T-©ÞóIwFWƘm‹d¦}l$ªóg¨J™ÔhÌ6Ä2^š"Yy¼Yçõ¤‡a¸ãÞeW¾~¼XyáÈS3œEP€›êt0ŒzÛví o-4‚vèšmÝÜn5N>q ¤’+ĦŠvAÒ(M« 6°tôLßêo ®ï¹–„"!ªK¨I`Ó–0¨…ãß>»/»mìòâH±Ùjœ®ÕGýò¶«7—v/Í.Æ ¢Ø°½¢·'vlŠ-.tœuòe1>îŽ9‘鯖•eù+2-Ò\Xxr~vN+6>46œ6JŽ[ðF.XœÐÕ =ÆÀ(ì[R}±”_þâùmšÃú†ohxMÂÕ‚j¦%S€†¤Ð’@„¦A}Ïóý\€èÑÃZ®uû'?YÈ9Q&=Î ÉW†AJù"T³Ñ ¾ïEzõºe9Ûw^’¡Ñš€mhE´T*Q¼×ë?ñô¡Ó³gßöÎ_¼ùÊ[þîÐwï¹çŠÅ¡›^÷&ªW8B D†Å˜NsøÓìô4ª«’DŒ_ýµžçpÎ)¥¦izžÑù¨ÈÚ1«õðOÏíPžEÔí‰z¯S­v2ÙÊ/ÿÒ×ï½¾#:š+3a“…2”ŽÃ>‰g éˆhæIIyD¤VŽãÌ´Í,£&tÅYIédô{ýýá'Ÿ»åæ7ÿì¾7Ý»ÿ¾ƒßÿèS—_z¹kº(ÓTjJSÒ‹¦P ZQɈô |J€ØåbþõWÝ”/n2ê*H)©c{B¨’‘DYš¸„˜H]}"‰24µÒú¯ƒ a¢ª4…¶’¤ªxÐ6 (Ru"#]4¡ýž4bÐBÄ^Üê”vª×V­DíÈ­¡JR¢ IJ&^·u{ui²R¢hõ³f°CÒd¥ô7 ãØqí\Á[õ­^±˜Ðn!÷÷ßûèG?úµ¯}ÍÏdê’?Ò&‚¿¢³ÌòµZM( €™°©© ’D[¹àñ ¥L¯;޽ê_i‚0àžg^°½Qß°a €HNq]#›õ_êü™ )áú&€0’Ù\N(‰”‘¥ñâVA;¶“næÜüÜÄø„ë;J«8’®kQ˜·½òP¾Zm•N”FšJ•’ù¤â%Îç5Ñ’Á’=H`ˆ&/Új¯Ùÿ‰'úý¾ïûiUKÎ9çÜó¼uFdj’PnSbRÅ´´€Ô&Œb¨4–Õ™æÙz«ÞÐ匣:‚š˜´oð$ž¡0 :îC7Ñ„‘3–#ƒÄ„#  ¢X‡ƒ”þIŒo/ÎÏ4±tÁÉ °à( Ò¦êÄ]ØÀ$Š›G;Ž|!H‹€€c‘H‹ßH(Ïvêýž¤ªäd$.FAX±Ò0 Ç“Pª0ëøÊ$ZJ0|ˆ. b@´àËIK@ÁƒµÙÌzµÅ¶˜]a´3ƒ ¥^<€!àAçmÖÈU;Å/b˜"ŒÓUTÝ@ŠðÇŠT«îl»Ù·%„A B)‰ˆ’"Aœ ‡±+/®5êüÜr+ªÃ‚層%1P­R)ô–²ƒm×–… pEËþðEcî˜Q[œ5;Ç®ö%†nnÅ%Ç(Y[‡° XÀR™1¯4V0¬¨~ú̱GNòSÈ^—ÉUê‘M£³;϶æ:èyôd}±)t41Ï9t›¾q³i™NQoÚ¶y9SŸ.Or‡<}ìØ¿}@áæÁ=£™± ›G/µsnµ^?ñäÉå¹¥Wl»jß›F¦O–O£6ض[ –4(gÔ&Ìdé\AµmBkHª@¥ã8Àóè‰å·Æ§ÆQWeeèË…Ùô‹²¥Q߈!×F½…îb·Þ ©fËKO>sÊ`Ý^clzjÑ ´'¥¥s9J´!Û20ƒPG¡…,˜(ØQG¨ˆ›EkaqÆõ ' ™HÍ¢=|"ÞMOmN¯lZšÃ ,*y ©HS‡4‘ ’3hSÃ:Ÿ• ©5¥×B­ÿ’\Œ”5¬×ŠO_p±Ð$¤kÄ‹þúSREŸÁ¹²Ú®}+u5×vþñ‘]Ó49çaf2™l6kšf£Ñ¨¼„°s£Ñ0M3›Í†a˜Š:Žó“}ô?æB¢„¡ _)HJ%EÂÀ4\ba옴ѯ ߸ë{ßüê_~ΑLöˆ­s «². š†‘L¦ÏWbABú‘†B…&RK¥ˆÒTËŠƒø¡‡}ã›fÏ¥—6d÷¦½o‚`>pàg/‹© Ó „j’·AˆB"ˆÔR'–M† EÛ¢½^Ë„‘÷³nóó_ø¬†BÛ¶ c%A%„0J´´*‚ÞºlëOÓT‚nß)Ѭ—»ÿþÿþ¾ß}¯mÛ­–´UÁ0å <å'-Â5ȤIœ¾¶.¡Ò¹çï½çw?èûÙ®0®¼âMÇ.ÿÄ⦿|sØ…ÖÐ j ª!¥cÀÑQŒWvõê¦S°eh;=üå_l×aQ? ¡ e0y "™ãã…3!A2s²¶qëˆ ÒìÕŠ9¡ ¨6•bTSJ5UP’ÅœºRAª’"JÓ°  "3”H€„6Vê_¬ k£¾t8«å%4ɨÄ@rmøN VBH2¨:¡×Q³u{õŒêAz]š¤#†4”†¡Ìôiu]€ ‚KÓd¥b&޹m›…¼àöÛ?}÷Ýw7ê‹gÎÌd|ç¥p3ú yòQØËf\hÁ“(…Fˆmõz³\.Â>ýéOß~ûí§Nºä’K>ô¡ýÚ¯ýZºK¡TH8¶qâ…“wÜqÇ_ýÕ_ù¾óÍ7ßqǹ\†fY–çúQ1Æ„H–DZE̤r…¤ Sz‘M ÃLQB!”ƒmzNz}ñSs[)–šÍ¶eØã£ò-oyW)[$šRMˆ¦T§¤š&­¸–)øžåýÏ/}%éÂ$Ö¹y¦MÇ°×øíƒ|ªY¯MŒõz­åÚüE[FKåÜÄ´?55ÔkGšRM1ˆ;¦d•Ö‹ÒÚÖ ƒ¤ FK÷,ég¥t¸µ«ÂZ¹~2`6’é&=%M”|iŸj §Ž®×›X·ÿ-CX«@ú£¥Sð+ÕÐVý^ϲ,Ó4}ß5MÖív3™Œm›I’ôûý{î¹çÓŸ¾ýé§ŸN’dãÆ KK /iþNêŠÖÖV+(—‹I’är™O|âOî¹çž­[·Þwß}¿ó;¿ÓhÔ~ï÷~¯ßï+%2@ôn¼ñú;ï¼ó½ï}awÞyçûßÿÞqÇZKBÈüüüØØX·Ûãxlläþûïÿõ_ÿÕo|ãïxÇ;<øÎw¾sóæããמ={ö‘G¹í¶?ó™Ï\wÝu³³³þð‡í×~Å÷Ýz}ùÓŸ¾ýÎ;ï¼ì²ËÎ;÷©O}êø_úÒ—|õ«_ýÈG>òÇüÇ÷ÜóÕjõ·û·ÿí¿ýÍN§“Éd^&ïÛZy¨ô…Œµ?ëöS3¦@c.; L†°ChNAÀÂô ÛG®˜é™ƒ³Á<~âù‰©â5¿~ÝîÁ}ˆ’><Àò¾,?½k‚Uü®Ñ|åçíâX‘z4 ýåggUŸD<Ž}x˜¾yrë¾M±Ÿôd×ö ò²Ž¤Ñê,÷;˜CõS1…Âë­×ì$“4Êt #ž äbuvÛ•ÛX Ý}DDXꇃÅÇ?ÿ†¶èg¥íC…–ê^ý¶7ìŸý>8D"°±ùÚ {Ü xàc,[*Û%ÄÄ-fMqè­d[¸äÍ;3—ƒJdùŽåÒF·åxl÷u—ÌP«õýYNó‘ošÒ²KÛ‡·\9•¹¨X·;’F F.*Ь¶F«Ñ ZèˆAmó zÃÛ¯Ž³b¦}brÃÆ„õfm÷Í—æ2Þñ»¢8H4°ëg/ËnÍ5Ôr¢ºCUfŽÎŒxoù­·~÷ãw£¨•Äÿ44¡4‘Š'Q.•ª¥8úܳ{/½–=ºuhþÑe¸¹4£¨!•b ­Z hBç°4¿DK¶PÄ´ ôZÒÀð–1´5ƒ§?‡Ô€Ša„nÔQpg¸Í4£¦ôrþȶ)³äõâpqf~îĂͭ @"N€m´B³ÉÜÈRvTÌÏ›S•‰(‰«Q›%< [¶ïkE b‹ª~¯« JLK$‘&‡©˜àT˜~ÖÉ(fq¥ 0 H‹ã£Ù‘!ƒÓ™ã‹X4,êÄq°¢¡ˆå†æÐDªÁ WI€P¶¨^­Bñ/À4Ik{ в©•m3]UbÅJaBèÕ>«íkhhµZÙl6“ÉH)d2™½{÷þê¯þj©Tº`ÿF£1??ŸÉd´Ö®ë2Æ´Ö­VËó¼×ø½?¯Fô@7!ÅTšh¦Ù ›¦)ïq@þÖkÄx5ˆT×½þêzpãæi­D?ì9uèwÞýÞýûÿlÈ Ap$\þø‘Çßõ®w !lj•í↠º 4B@x²Îhøiše¢ÃÈ¡+ƒ§_xä_ÿ›_´ Ç¥. LKRC`h€¤ZÒ8jÅ8ïëG~M¶rbˆçjO¾ýöò­»(ôžûxÛ­7ÿá|8ìKª)Ñ„ªózãš"6Bbj”Šî~øÃ¾eF]؈\ã«“TTÃ33ÉñŽîܵÕ4ʶÒ<—÷~Zså¿G¥ ÕLÖ„¥¼8hõGsÝþyY&“n@¿ß¢hÿþý[¶lqçĉïyÏ{>ÿùÏÛ¶m¯ÒN ÿ3Æ:η¿ýí‘‘‘8Žo¾ùæ/ùËïÿûßýîws·††4›Íb±8??Ÿ>ÔZðƒܽ{÷¾ð…(ŠŒAÍf,,,|èCúþ÷¿Í5×ÌÍͽîu¯ûÜç>÷›¿ù›û÷žþ­ßú­Ûo¿}tt”RšËå>ûÙÏþò/ÿ²çya¦õµ?ýÓ?ý¾011‘ÍfwïÞý©O}êÖ[oMÿä8ÎwÜqÅW¤¿rÎ_†ê¯”Ú»wo’$–eõûýÏ|æ3ð°oß>)åæÍ›¿ô¥/EQ”Þ£/|á {öì1MsçΟýìg‹Å¢‚1öÉO~òŸøÄÏýÜφ1>>þï|GJ™ËåÖŸíöæ •ëËx9hH´²9»Ýí Œk÷^Ö3ÚE#×xöL¯Od|³­Éoß^ÃuŸ0­x’˜Ø0U©4“`þôLO&ùBâmôK—W6¦íDôc‡ùŽé¸9§XÉ—† ̤K¥™£³ù\±P(LLoÊäÊõ]MI‡¹Ä³㮕5œ±b1gwÕêñ9ßð7nñ ÛuÍe‡•œ'á@ã•Sù-ã¡\ô]÷ð‘ÇS»¯x]˜ã…ò¸µsd퉫®hèØ±<Ú‘ÿ?{oeÙU ~çœ;¾ûæ÷bžrž3•“R#B€dQKRÑ6¬.ÚxÐL7,0öòHÙ½–ÿt» \¦Íj{ÙÕW^fÌPB‰ÍJ 99EDÆøæwç{†þq_DF ¡²@¥¶äØ+òæ7ܸù÷ìýí½¿ïìf{äÌÌÖ6l¿‰ZrüÞ;š×fâå%£šuK‚’é¹s'O tl}œª¢– Göm¼JÁ«27PF%à,Yîf¦g;íÇ–PKÕ"•·Uûn¨‹¹sŸhh¶4Ì_iÝûáûK㣛3F·Þ«[ƒ}³sZ³nÊ< †:Mê,†D–%®‘ÐWB—¨ZCœ ™öææò¥\¶¤+–ϧ,¶Ú¤‚„nÄKõøü쮃[ ›Õ![bÓ¾-Ý*ñ½DD–£ÛY]È(¢q¨Em©QÍ0‰N‰’£<’Þ¤×È ‹Åá[íF§M³šÕo¶^1«õN;í©í’ oRD¾ ¶Ž¾ö¦2™L&“‰ã¸Óé4 MÓ!cccÍfó??66F™ŸŸçœ›¦Y*• ÃHAŠ·’‘^2VEÙ ‚"r%b¢«ªë)°Ô )Õyèýçþ…_ÿ_}ó¶ÍŽeÿÑ_þáo~âSžç½"ÐËå届C™â5&1¼¦÷c@¨ef²RÔ@(hë¬ ¯ï °8( Ñ6¬D£ÔÐ4ƒ°¹!ò^!#À¬†«Jy` ÷¾ó¶¿üþýý÷ýü¾=ûêKõ©ÉãwÞ~€RiPLÒ´ª:%ÒT:ÓU]7èÎί7g¯æ²yÇBä÷ …€†°HX²eëx¥še4;Ã\×{EäøgDRò‰”êŒõP(B zç`½LaÝÞJ†áäääÞ½{'&&–——ßûÞ÷rÎß÷¾÷}ðƒüÊW¾²cÇŽ‡zHJ9777<<üø¦EòBˆB¡°cÇŽB¡€ñññÓ§O›¦išf³Ùô}¿T*MNN~ä#9}úôÒÒR’$étŸÂ"a¶ÛmBˆmÛCCCO=õÔ½÷Þ«”šŸŸ000Ð××·¼¼|êÔ©ô0Ó*†w¾ó¾ï§_üIûùüóÏßsÏ=œs¥”ëº÷ÝwŸaœó(ŠLÓ|à …B½^}•ã•R6›ÍJ¥DZeY<òÈ·¾õ­ô$LOOëº>77Ç»ù曃 èv»årÙó<×uMÓ¼víÚÕ«Wßóž÷¤Å˜qg³ÙTFZJ)¥ÔÖ'Ô·°w®d¡¾Và·âÈÅþC{l›ÕÚÍDSÇOv›°oÑ#.¢QëãŽ~lJÝvv®TH kµÚåKWc¿u­`uHw|C¿…“ÏÊÄ”\ÊEƒèÍf§ÑèŽé‹Ó‹'ç ›Ë7oÝhëŽnaØí2WêqepS×õ="v¯L›y¡Ë£xs®#ý¾ÊÄÖ[÷[|r@;oÛ_]±{qnúä<œÂEZ„òöÞqÛó/|•x 8tä€ÈXK~KÖýó/œU×|±8Ûr[‡¶²]ö±ì‰žB†âMýÒ!‘Ÿ<}šwC<#­í¾¶e<1…°yy·A_j.[–Eeºìª¥Ú•úÕSSq'¶KŽÆ‚ÊÆ!sÄr²åH±ŒHaÌqÌæÜ´ÌkÔN?7ídaVÔÌÔBß(©cºnWY,æ—IçÚ•K%óó­K/´fÌÖ­·HË.BvïßùÄŸé5/ (p¢¸€¦Ýf Q¿¸Ø7ZŒì-eÇþÕmœpÚWöçëƒv%>ßÂämt\ ÀÔ©+¹íã±Ñl–÷6lïg6ãT^h´¡N7eÁ@óDšIàæÊ¹¡£I6) tÅ|–3ÅBµ4ØVó²•A•fïê;8РãOÏ@€/¾t¡okiÿÖÝÉHØ]n^>ñê…Ëé>÷z²g„R%Hâ$üñtÎ*Ûó¥ôêx~‰ç͘¢Œ¼3Û¾iܳ—1å'at°ðä‹TÚ²e¨Óq…K'OŸ™ºz‡!”X6t/ˆUÒÍT‡pO& ?¼ÜgõÁ Ø÷À˜4¢qÇtã,/U ÅbE“š»—²ƒs&â°Ì•Ћù‘ÅÚ Ô:ïì:Ð°Æ ÃÃÐ÷}ÆX__ç¼ÝnŸ={vxxø?öìÙv»Ëå4MK§íL&cÆ?«Ö‰ŸÂäšvÙUÆ×”*ÿeèUT®Òr¨…Ø•jÖN§»adìþÅ÷}ý¿~íù_¸ûηÙyDÄ “¯4¸®K $H¼Ðëv»©£&©È;yM¬Œ¢5@ƒç¦.JÀÂzp׳Ûëö3š¢„h‚p?ìÄ,lwç„êŠÄ3H¢¸§¸)øjë„4@”–Œ—E﫚Á r•w@~ÿ;ïÎWØcG¿ÿÅ?û“‡xp|txëæI—w IESÉAã BÚŽaeD¹jê4hÕ›Â\mèý‰´uB/T @׋}@%ŠG‘§˜-¼á§ÂVŽe §#éÝ7Þ/=‘KEÖîu{ë˜iš{÷îpõêÕ±±±©©©üàÿößþÛo|ã­VëûßÿþÂÂÂàà`ZàyÞÿ_ûI)¥”¦™Îy:_úÓŸ¾ï¾ûþöoÿÖó¼-[¶\¾|ùïxÇüü|.—«V«Q Bâ8žœœR5Œœ^#­†¬‡Ü‰Ÿ®oØAãÒùÉk—ÛˆÑmá‘»û®·ue°ÿm‡Ï}íy¬ÐžT6úwa¶¶tôÀ0ùýs…·ÎÄè†=ãÏk ŽPáð-·>^l‘xî…3¸è#A»î_8w5«ŠƒåÁ‘=מºšöMì¹yßµæ|¦”á®s€Äô¹iNƒ‡7‡9rbéTƒ·3•¬®ëºÔ–رԜ]˜wU¶wË­n)Ðó•®J©…q"ãÄe Â)^<þÂÔs]pxóxüé“ï¸ÿ–ÛÆ.Îϵ#ž* Bå¼­mÚ3.ÏýÒ ´‘ôáGÏ\Ùphçøh¥_ë9*ª÷¿$„H¢esÅÙós @ñÓ?zñ¦ÁtB«y³•‰¡¯ÕPAÙɵ¦ç.‘Lð©f0ÕD™ŒìîªÌ.\­”«*ŠH Íù6:€¤(,ë–m‚Fõ¶¦é%'— 0=k÷£j1KuHÐöСh"U¥TÚäÈåèÊéS'Åù•hˆø¥xb~³-vï´uãÊù©…˵dð àA!På„iRsƒÈ¯»z11eé^Mk²2+ØIS: Œ ×}V4¸NêZlÞ4Þ?>¼”;…Ó] @çDótó±¥ ã剉Ùv«^wç^¼€F*¢׈ÓQÄt§  Ãßb 8„ƒÎ`[í¦¹¡üP_Ud¬ ¯«f«7ÝrÓ$1[ÏL¢“x‰·þ„Y^n­V˲,Ó4u]·,+ŽãR©466ö“ŠÆÆÆJ¥’mÛ†a0Æ’$‰¢( Ã7yë„|¥Ù¨wo§èYƒ.2A{w)MÛŒ¥(¨žˆ’àw¼cÛ–­ú•‡uè®\®Œ2ÉW€± 40ÆtSÓ¨ËP×uÃ0(¥:´ÈV.Y˜H•Û^ïF¯Ø!e•QÜY^GW„Qjš,%µ(¡±“aI" ]Î#$½î Œ`ò†²Â†ˆÕbjõQymér¹àüáoüŽ÷‰5ë­\Æ©8Õg^||׎]TQBUb…s‘€& !±e˜ QÆaàB'4ð<{…·l•£DR‰V§Ã`ÄIX,æ»Ý¶e›„J¥’•¡þã•y?+°Ú:²zG¬v3%ÅOo[·u{3š" ¼W×÷¿ÿýiEÃ×¾öµ[o½UÓ4×uS áÙŸ´u¢ÝnŸ;w.-apåÊ•ýû÷ONNîÞ½;è£(ú»¿û»/~ñ‹¥R @§Ói·ÛW¯^MÁ…Z­–*#ú¾ŸÉdvïÞmÆW¾ò•~ðƒi#ÃÐÐP±†±cÇŽ¯}ík<ð€ã8I’=z4“É(¥Â0üIE ‡úÞ÷¾wðàÁr¹œËå¾ùÍoÆqœ Œ±´Ù!]×[­Ö«TF4r¹Ül6Óüûî»ÿþïÿþH’$ÝHZ¬ZDµZ­¯¯/M‹ÅmÛ¶ýèG?z衇 ÃH¯cÊ•˜B3ë#ü-l’À¥BÙ,4À%c‘.„5hº.ÐjÙë$¶Î´UÎE ¢@ˆ¢TR&˜F(¸n‘¤3ªé„@½Â­ú³xÕôe8…L9)z@L**±1¬Û[l‚×´4’A=zôá‡þýßÿýÝ»wÃ0n¹å–ÏþóÿøÇ“$9~üø‡?üa„n·{øðá¯~õ«÷ßÿê–çw~çË_þòÎ;7oÞEÑO<ñ—ù—ŸûÜçRA‡O|âGŽIÉ ?üá !|ß•V‘O}êS?üð7¿ùM]ׯ\¹ò›¿ù›éëœs!„”ryy¹\.kšV­V_¥¤\.oذᩧžJé¢>ùÉOþÖoýÖ–-[vìØñä“O>òÈ#ôGtùòåJ¥"„`ŒAP­Vgff8çŽã4O}êSŸÿüç)¥>ø`Jù­o}+%ƒ\ÞÚèpM, À  ”·ùÎÑ]ÿú@¸co»õ¬q³±ƒ· WJA­>48zêԬℚ‚³H3gD+g7æO¢ȳ }#d iÄæ’ .Z^£o¸ªK­³ÜU&ªÕJcC#h4̓¥±‘‘|>Ç}.FA;$‚Ú"zǦýõ¹†›#}껂®ºŒ¼¶ó¦;£P·cã¹GŸ@P r¸xâÝaŒ”Ø{Ž¿tJ2l?´k°XéÎùWΟA £¥rxäÑ£ƒî„ìݿ벮¹ ‹#ã›G7Ù†yíâìܹ+i:/=þÒw ÙÞ·uvϯÛa;Kt¼4ÛiGMÙJ1ÉÏ/.d³Y2B Z.çŒÈÂîvs  cöT*­.ØlÓñ=¦a S îÙ0Õž®nÚžºŠcë‘»‚§€´BM#8RºDuïÝ•o©èøÑ磓-$€ô3¢„C);u=€è€ ª¡ „/eH4Ãèr_,w å!R&!9[ОD¤äq½'RÅ×}®ÐÁƒ@F˜Q'VŒGZ˜h´¬Ï¹sï<=™œ†LiŽÂ]A· F%BMcBˆ”$ ËA­ßo(SÓA¥Ž›Á‘o›Þ·ƒSÏ@° x@ŒÙÖimïhv«©Wü­·—­7ŽúˆcÄë™u a™¦éy^E–eŽŽrÎËår*BñŠŸO’¤\.oÙ²EÓ´v»]¯×ÓäÉ[¦á¿ƒ‰§d5‘KIá¾A? +JJ¿ãµâz±\ØIzO^°ÃP³YzbS#„&™”rhX{½¬ëÑì*Ü@¨Tb òuÄ—„¤”aRJ MJ)•Ô©žb@TR©¨R”Š‚Ò5@ÔŠ\:V¨ë)}B:Ý.ÑTÑ)9†ÓñÚN§Tª„¡@¦ÛQ*UףР™Dzsn™Bˆ®ë2—Üóóo|cbbb÷îÝüà'&&ºÝîƒ>X«Õ>¼*où¡}ÈqœW!ƒ|ÿûßßétÞóž÷¬Ê[>üðÃé¹2 £Ýn ¤Ÿ|õ¾Œ ®^½š–WH)S°à£ýèÙ³g?ò‘Äq¼qãÆz½žòU§Ç>66–~½P(<ôÐCaþéŸþéûÞ÷¾TÞ2…iþ…y2ÿS´˜‚Au@<#C²ç¿éàûÞ^®²‹ÞâøþÛô=ºÕ•ýv¿cUÎ>{.ÛÉÉ„P…ªm‡À`¹ ´[nÙßj»šÈ˜#vÃj^ Ô¬ ‰êËö-_]"2ºm¤T)ù447|“ˆã¸œ+ÙÒqº@̶eJ3¯Œó/=7ºq¤°{ !’áþ­¾aËÈ84¯‡ZÕª^úþP*8Ž}÷‰v=xmfvllŒØˆ)GšÓ ÃÆèÓ/‡8,œýöÙ=ï½Õó[VÙÑöm 7 lœp”¹tenöÒ šè© z¨ÿèÚпúùz­>â åFsòßHBˆiåsÈÔf›ÓÏ̈ÕB_¼sˆ¨/Á„žÍ Œo#ÃÛ“L1çó]=žöø…®æyeÛ Q†,Ë…Ý·ímX¼±-?7A;->VÖ„wõÅÓÉ‚;’ë³¥¶pbÊÎݼ=Sêo›Éò&Œ _#"·gbû_üÅŸ‚¯äÑzºÚ$MË5[ÝR¾E f®E‚Bµ¡Çõ6"U.]YltÑ„B†qø W`Li…•xQ‚°˜üêKiʰA®Z•}ûo²óåÈ¢…áüìÒª5«¥ |-êšZ<M:…Ÿã$±kkf¹º¸äž}âéðØ\¯TAÇÖm»ß¾¯ÌäôütP1“é–ùAäùÅl5Kæ|§œ«jº¾ÐªÑ2¶pCO<âb¥ uU‹AQH)¹€ÐõtªkJwìb3j!f1—¼ë‡¼[*õíØ2ÀÕsK§â˜¹º% ‘IÄRÿÐ `€ê,! Ó4ÝÔ@A3 ±Ð) Y E ÞRÓ…t€ 1_›é°´1».—FF†÷ݹùÉ+'ãsë¤\ÿ\B^íʤjœk—¯èž$‰®ë”ÒÔ«H’$ŽcBÈOÒÿL[7»ÝnšÉI…'’$y³$éuÍ+•–£²zò‰zùQPòˆGQ¤„2 Ã4M¥T’$VÆR*!„R„¥”ïy Ћ½È12¶i©XêÐ@ Vê#ÖV4äóù04¦¥I0)¥mÛ JèvÝ\.—ÉdZÍŽ®ëŽcAÀù*TH{ÏŸ^8ÇÖoî×ófF·ë;NÑK\]sÚ‘›1s"¡š¤J2%™R4Õ Q` ’i$I Ø Ãôƒ@U(—DÄ(’J^öà¦QÁ…@'ö©2‹Ù>•€* ×›tèJQ”±ef»^àdŠRh¦au»A>_n.·&6l8wöìÈèh.ç\¸x¡\­ 9¿Ó2Ò4êºíJ¥>@t]¿P7Œ¥×x'i Å긓é¿N«188è¹Ù¬³°°/ÛöÈèxÚ¨Õn·ûûûëõºã8œóõÁ¶noRs]·¯¯/UzÞºuëäää«Ïã¯uÞÅÄ@Êã“$ V8 9çqW*×u|üãÿèG?º*»š®ë©¨„¦i;wî|úé§×nö#ùHºò±}ìcûØêëéîºë®»îºëe{’v…üʯüJŠ´Ûíl6ûk¿ök«{ÕívS*¾ï[–•®èCJ±ÔÒ¯ˆ¢híö«Õjó§ä ½GÌÊŠmÛ«.Ê+nv­ã´vŠO_I÷ðøÀ>ð—}%}ëÍn„”qS‘º¾ï§h˺IPMÓLYG¨5:Ú¨ñü^,ß9VÍ–y ë!ÓÊù&®ž93ýìTóù&Lʃràw´+wìÙ2±É ¢\R@hö«*_”ǽ4ûäTJ¯XÚ3çýoÙ4`zÇï’ÍŒðŸzêüÅ£çÐè‰03/íSo«ÞXÌF IËh«|àœ|ü¥¼–ëÖ»zÏcGx!¢ó±ñb‹Ç¤èhŒp!6f+˜öj_†PÒNU8ýØÓÛoßV§VJÊ¥ÜÜÒåQ{˜iòäÓ§z)€H@óìÔwO¾ç Ê‘‹íé%æ–úªY•_8?{üûÇÅó „h¢Ç;Õ9Ü¿á {(#¨ê±!ªé^ª]}|öÚ÷çµò ÐÐÊŒDeŠ»ÆÈ„Ag’˜u£}iéìß^†À”·L"(ðo†wŸæ*ξCA'.!Ÿ Íç¿w‚um!‚µ4ë=ÒGA6›ñêm«$ MÆ1¥Ô4MšP(pŽ"Ñ}…B¶ÐñܘÇÖªÛb`ö*fgOh¹lihãBÐN ¥”œs"ˆ”’¢iÚb³9:ZL\!S±¸4ßlÅáKs°ÐqøöÛÆnÚÜn·kµyÎ’Ä-ϧºF’ˆÑ EÐn¸Ý†gèVBE”$¡ì¼sû™Å³¯cª—ªa«àuZR‘rÃA‰2©ù­¬îD®àíöâß²·\ÔÝz3?X¾ãÚÿÄw^‹+Í•2JAšN$URÀ¡™šaé,}ZJ. TJIGTš;KÇvZÓ«'~8IClº¹¬¬æ×nÇÇ.¼¸‹¼ºQJ!E:¥–>´)¥éÉ_ƒ+%¥”L£«\Å«o­S¿Ù®û¡ )}"R2‘/åMËBÕË„j¥ÒjµhOþ¤zßR)(J ‘P©Ø%hÇñ5Ww»Ý‰¡ñxà;ßùÞ}?wïÞ½{?ñ‰O …5•ï«ãÕÆŠõ¤ñëgJƒJu~5(¥:JM#vEX6:]˲˜e3“ÍŠI"êõ¦mÛP´§ ¤´ ŠªôŽÏµE17¬_”„ÒzÓ¬ZÙ%¡ØÄĦ?ù?ÿݱcÇ.^¾tðàþ÷ùÏ™–yể‰±A’Šï®¢Q¸¡çǰ†× ý™Â#…B.â¾z!s¹³ôò`Õ¶Ah’$œóÞ&%cleX·7µ _¸p!—˹®›&Ã_k˜úZ»—––!år¹T*µÛí”× eg°šWJe³ÙTÉòè`Œ¥D iSF§ÓÑuݶm!DŠD¤9‰´¦£Õj‹ÅõaóÆ iD”&„xž÷ÖÀP^‡A+i:<h‡2€A¡GK­ ÿí%«smdÇÆm#;ó$'f½K¦N¼øŒ{E@éhrÀ\Ì?Ö .>;¼mttë¦þa·?ñââäRóJ=• ŒH©àÁ;Ö~²ýø–ÝÛ'¶NØr°Õì\üÞäsO<Nu Š4n,䌹éxáïÝ0»môàæ ã}Ξ›¾pbÎ½Ø gº¨FAD‹ÿòùïüÜ'÷“½ýœ²DSm^]xôsOi.˜@ljŠ&éô~þ‰³¥ŠŽ}vG4ŠV!W¶y}ï‘£¨H 4¦ô ½øõ箜¿¸÷î}#{7VK›®M/=â…ù—.`*LÁÓ@ î‹K·éß96q`{©\Z¸8w~êÔÒù™”oRcð¨𯩸qlã¢7¸ylbd,òËg._šY¸vô 8¨Ö+©`:xÿés·ùí»†wlèä±Õw/L]œzöœ˜ zäë 7x02‰}/Qu¿Ùs˜úièè$3>´È§Ð2²ˆëpU í6‘`B”5hÜ@a¼\ìÛ¸¼¼\¿<hàë_zù'á: ÅžÄÄ/@^Я0~;@p „]‡wm;¸¹µŸzâ­3rê…®4bˆ´¯Á†‘/˜ Q&‚Uênª®Ç)iO@•’½ºYEµ•HòšIÎLbºs²àÓñÍãݰSÙ<>v{{æÄe\I+Z ŒI.¢D¥  Au‘H¥D)HR:Ê!æQóužÛ£oºyÃàøP·œzì|çBY ‚<‹)Ò‰^Ñ*šž[¼a¶4¼éKBÖÊX®¬†f­q¹{)›Í–Ëe3opÎkÝš’1Æ(íOŠ®6ê+ЕÒù6ø¦MNNÆò‰Ço¾ùf×u=Ï3M3Í™¿r`¼n¯ŸŸÂz@@eHc{ ÐVÖ{g^ž)’$VQÎ,.š¦Y-U3Ž#%Èuˆá†ÞŠ—µ+#K”+ó©€”€bHY€”¥ýð±'>úƒO~ò“÷Þ÷ŽVË5 ûâ¥ËÛ·ï ýfob¡P¤·ò²¿° 4¼vªÆQ%YC=A°¸¼†Af ›uô8IÜN­Õjó¥¬Uèt:ig¥”sžÊâ¾ÖŒîº­Û?‹¢(Iß÷SÆÁ|>Ÿ²'¾J%à+¾þõ¯ý§Ûf³™ÆöX)K`šæáDZÂñh4¦ìÑ«»”®×jµjµš$I*P•N[¾ï§:ëöؾ}ûRÑn·»¸¸è8ÎC=”ª“®›)Pè(âç†è-Ô>²|ñ‘勯³¶ ¢­bè)õv64x\(tçÅå3sgøÕ¡Íc^vf–{ ƒ™A)h"tOµ^<ùÜ‹ôx¹¯¯1¿ª˜­©«$šC#Š¡CÖqéÑ —¾uÈà¥Ýõ4Na(HXAˆájß•ÔCW0U²2•~ ' (¥¨ä€‚¸ÝO"A‰©”&dB@EréáäMFšÍÀV Ùö¿ôèc¨æÐ àqpÀQP X‚=G³ú2à  ,´2 à0ž„góg^(½¡Òw-Ëú¾®{ž÷h^¤ó‘¢Ýn§(ÃK/½ô®w½«Ñh¤ÄÆÅb±ÑhH)<øè£®W4¼1vâĉµ¿ !®]»öøã¯Ÿºi{eQÊ›™ŽŒ”JKÉÓé1„Ö‚&Uª&¦¥õ1t:§2â:´lÅŒŽëhógÀ(ˆ C%#Ð4p`T—BƒÐ½…(£•ƒÄ“n¢ [áì ’ ?‚" ‚¡CïÀA(¤¨F™‘$„(i€0QØrƒÂhE0՞󂀩A¬€´“Ÿy ±ÁÑ r9W(õf£˜Ë#$À‚(±@5h'r…0˜ë‚k©`¨4»H°¤A¡ §AµTÙZDR  ù<ˆ„×Ls"Áè2’°l@ …í@c}‰ÔGê- ”@p0¹Ê{.RßCHª$…¢P”É4†þCƒÛnÝ«˜%]I¥`CZ¤ï½í¦–?uú[Ó:\E]`Ø´÷‘ Íl.Gš¿XŸµKf6SÍ –˜^¾rþ±úT¢Ö%‰ImF–õkœj‘LòŽ©¨L‹CædàÈ`ð® ·nê(÷Ø£ÏâE  ±Øýž­™2Ý´iS1_ªÍ×f¦æ.¿R{É…5 #@‚P0®Eݰ빤'"o "®£ TQ¡$¨¢DQ=Eñ Íé I€îTülô̆·íâyƒí-7mµ÷î-³l.6;ךOýàØ@€Õóþj¸v-®Ä‚+IP8à“yôß?B7ZÍLè»+êùL…&v·íyס鳧]`:qõ·ƒöúfhX·WŽšˆê‘ù­V+ *$‘ Kó™¬)dtS/÷—$d¨ÂXÛÌêRSJqι”J)CÓ5]K’W¡’z >%c,—-|å+_¡”Ú¶ý‹¿ø‹}A¬*¯ÀœjE˜PöBÐëÄúò§]¦¡8Q J‚HÂAX4(@J¢B­¨µØZ* …lÁ.ÚŠË(4¦)IY°HE+SÚFª@׊J® ²&¬ L$‘’H‚t7dïºCrhxðÏþìÏvîÜvæì…ßû½ßÛ¿ø“'ûJiÖ ++ô8íúà‘TÑ×48{©EA®ÇI‚@\[Z ŒD26lÃÉgh>ݘíÏô;ŽcÛ¶”Ò²¬ ÖkÖíÍkËËË}}}éxN‰MÓŒãøµr½Öϯ%Y Ã0;RaÛ¶ !GŽÀ9OIÞK©Ëåòââb__ßþýûëõzEi!!$嘞ž¾Ž’¯Ûr]\×åœ 1ÆÆÇÇ_E ä_˜¿'™âºJbŠ„¦‚¤'4 N‘ AGªGÈ@S`JJ §š‡0*A ÒO ÕózÊ…”$‰tASʇ’€Tl¥¦®L«¤7¹ šº P,Í}pÁ4H€s@ Ðhôúä3@CÄ 8 ˆ”…,…4t*M"%&‘Vá ½~¥OïÉ"ôü…ôÕÓj«EzÈk?F•ilLˆ½·( AHpBg«9U~BÙSg'O}ò”Ø í%€Vøµ©SJ‚ QQ»“aâÀVY5<=È;ýg.\*ÎÛºÛm—JG¶žxtº…¶³ŸŒÚÂáµîòRm¦å-W‡«ùj‘Q;;FaAÕZÐTàv[Œ"eR[XHf’±áþì0\Ö‚ÖB{ @P­dvß¹×Ú×?Ýž>{î8.õ±CõàVâ†A–‚šVÕ‡û÷¶«;Ž´Uß(C`ZÁ{WöÇËLoL𤠀"~Ì5+k Ë]#HBÎàÒ©ËÙ ½õæ£}¦dð"1r¸ïÎC·ÏÔ®É8Š}ß¶MI’¶çnؾI艮3Ópúú& †ã@×c°ª±PjÛ%°ˆ×[MÞá~6ÎYY(RvÊ00#:†Cru4`®4†¬Û:аnký=(JQ+÷±\!hؼqs-Zn-[·%D«Û²,k8;ù1%„H¡QJB©×/tò½ðøÒ—¾ôÙÏ~v~~>—Ë{þØáC‡W€uã’«ëúòg]Ò•Y  P |…rw]çéÏÔü¥‰¡m%Í@ù\ÄQTcDR))[™–‰Z)g /‡ŸÔJ?…"kH=z‡X8Rß@OÍ›'þÃø÷ŸùÌg¶mßÔj×:ÝÖÂòÂÖÍ[ÚÝÖL -g ¯4YI@JòÚé=][v±z¿@§•RŸ‚lÉöb»¦¨*åJ1$W²ÏsΆ††Òbýé³no:ëëë[E ljãX×uÃ0~íÈOêbXÿSsžâ –e­JlB„š¦5r¹¬”*‹žç½±¥ëºBˆl6;00AEívÛ4ÍÁÁAÛ¶———…ŽãŒ¯›7ÌÒ*›–J§ïûëd½°œ‚ÌNì·ÂH0p†•Ð@¨ ] éùò:ñ!MG¨R8èæ~ú¸ê¦•ðT!§!@BJ˜T ª`JôS5ïÁ4 <@Âaš4âaö€‘l x‰jª„ŠTÎÊäµéZ]hj"?H"YtBè£,•ÍB ˜^XÒó͆Ÿ7œjqˆGà6tbÊ€ú*D!O`«ÞIÚ½D=W QÌEÌ2ËiÝ+xW@ 0 huA˜èñPØE\Ð@ L2¡(¼.…I¡3P‰((*Zmî”+} )ÊÀ$•†FUÆLŠ"Ê›ú[´Ñ ºáÅvý™ãÈ™­.5³/gGw`#Ô5 †±ïÈ®LÅ,jL]®_¸à…ÖMË6,³8T°n ¿»âÙŽ©G̰¬¬Yk×ë“ ì²ê¶u«ÜgeKš¤•üü¶Å²,nÙ0°±Ïõâ³Gcp€@–©ôo´2KAkêô‰Î•¥ÊàØ;Ü3±mË…ñ3¸˜ÀdDÚ¿àhÛÒ˜¼®.‰ÂË:¯U/}” T€†Qâ8…ŒV :ÀíÉ^€ç׬n³4ÎÏŸ?yõÂ…¬2Þ}¸QåK¹:RZ²@ú´Ý6ëÝ8PD7õLØ:¡ºÝuÃ\µ g™ih¢†¥SKòt½V¹¸ç®ÃûÜ´tiihÛèüµKÐ ›! IfYsÝÖ†u{Òðr“D*"ë~ÍʘnÒýîÑï<ùô]¯;:1ºm|ç½îËj˲(cTƒä‚K ÎWò_нFš†b®xï½÷þñÿ1!ìïºË÷ýíÛ·ûcóÓÕ"_SRzÝ^=ŠIA Ä HHBAVà ’(’Œ6PûÆ7¾ñäOdL'k97íÚ÷K~À =))#k~€(¶–£A݈8ÈžPåõ«¬R¬r èÀAíþ÷?xøá‡ß}ÿ»l'³¸´˜Ï9¥óSg†{<)T¾v€«’Ȱ¢~Іº'ƒ”Š@„ˆ¾ÿÄcO>÷”ë»›·nÚè`{¡®3«dÌÍÍ>}º\.ëºE‘¦i?©§}ÝÖퟹEQE‘mÛ)XR¿VZ„Ÿ"ÉŸ~E)¥iZE”ÒUe¬ôb¼aø]Ç)æ"„ð}?—ËÙ¶öGDQÄ9_EdºÝ.V´*Öí´U«Õ8ŽÃ0”R¦—ƒÒjµÖÏ €H“q–+7V&¨êÅRÅ @æå›¶ŒïqH/3“S§^|güLB ¨ˆ xÈ›ß1<²mC_ÿPÒˆf^¸Ø=³LÕé2hBK(Æ‘h!#ÙnsøÀèàîÁ‘ícífëêÙ+—¾g]šfbRO–ìÂ|ØÖF0~Û¶‘C›‹ã}¾ïÏ\˜^81Û¹ÔT—H’V.µ²y–UT1Ê®4—à@vq„ !Ò¾Z}3¤ii4‹PXL0Cß•Mžv¡!Œ#P T‰ 1}ßÝ7M첊bq~áÒñÙÙ–pIмÒsq‚E(©Ü&gpwaã¡£‚åkÍÚ©°~ºÙ¹T·|Xn¨p ˆL˜;ÉøÍ›û·Œô†a±÷¾Û;n+¬8Ûï>ÿŸæÒàlp °X[´4t‰ÏyÒCçò|^Ϫ!‘׳7ÞðÌ£ È"ð½å晾xSØ fNLâX¤¦QË_óZÞQÍhdßî ƒŽm&æpßx¸Ø9÷Ø xÐPÝ;пg£+Âj9¿û¦m í+íé™Îé%\F=˜á[Zb–‡fÏL§E @™zÂÍ8–‰&_N§E!ô'¸KÔ09¥¾’Ò ¥Äà0…6`å¼NkáÊTp5T|inÊ©LHªkJ*©„0EhBIL f‘3HÉ# E$X‰|¢;¾Ö<¿Ðz©+¯xˆí|Ön^œ9Ö®ïÚ²ã¦æ¿w ‡Yóµ7J¬Û:аnÿ½€Š?òO:5u~êŽ;î¸çî{Î]=÷Wÿ÷ÿ{hÓÍp3™©™T)!•àBêTïµÓ¯ íÈkçFY¨Í½í®;þÛ;¾Ójµ8ç¥R‰mii)ŸÏ¯ù»4(m%}-×—?ó$…  mHʆ¤ i@®\eÂ! ¨h9h;uâÊôâ{ßû¿üÜ‘û}ò{G¿w´Txì®[î"ŠP(JUŠ’^ˆ¯­²<¼R/‹ä%!¤„’ ҆̀˜¤Éˆüû¿ûÇ$N.³¼¼ìy’‘üØ`Q&dEãÚIÙ*Z/ˆ€’DQ•’‰€(Ò1¡ÒR¥ÆZxKÑÞ*"WVÎìÆíùúµêPéþÛ~÷Øž&Zÿðõ¯–²yeȳ3g{áÐÛn®äËT0M3Òï•∕²ˆWš]·uûg…2˜¦™*CÐu]‘¾øš¶óS480Æ(¥žçe³YÆØZeN§S­VÓÍ&Iò”3ÄqœœóU!%§TJ­Â(q¯C o°†±zþS˱±±Ó§O¯ŸE¤ËÓ¤(€dx\Z?6Ý»sà훣 m'a7âƒ#¥Ý#ûì!5•?Ùºu‚P²ùîÍÛ÷m;ùÈÉÙï\N¢$‘Ó¼ÐíßB>ø¶þƒ› wM­l îݹeëå§Îã'¢™DÉ•¤¾Žwýo?G‡™—$š’)¥óÑÁwüÁoÿÿ€B *•!Ü}ûîámà šäŒ¬®X»ÙÉdûï½ïžo]úæð9(Gžm{×Mï=HʸښôëóÕ‘âÍcGF¶´_|ô\|l~ A +({ÓÆ»<⌠ÆgºF§´½¸mÛ&w¯îÇÎÿà¢`QAñ€¶ë¾›K»†ÛˆæT—Xd`÷øö»Ü‰úc_|¤+CªÀbäðK¿ñ¾FYòªÑÔ¸FÅ|u׆AÃ1'9†«iBF"UcPŠIb´ÝP„€ Djd´_Æ‘.u.i˜Ä}#p#¸ Êq23‹Kfbõ o8¯ÍBc)•——XAkq/r0Js°bfƒŒŽ>“6§j0M}¤Ü¯‹ö…@Š\‘ù,ö¸[Ñûýv7š*a­–«ËÚ¹§_Z~¾û«›öì¢Ånàj¡˜=uÙ6” 0€>T %*ª˜ÉÎ ¥(ˆªäØåL!@·+Q×yãVë[ÕËÔëÈõOƲ[m—ÆÄ$LA‚$Ikdr†‘a´†©è8d€˜$ƒVžKÍŒ¤Ï©%©€ Â"Jœò˜+ÎMŸ0Ns[&2GJŠp=kdr³uÒ¹ºÐA`o­Nló=?o°p³è-FØ:ä«•j5l[³LE ÕŠÓ PI@Äë4üS2{«›ë—êõ6)‰¤7fi©¢šÛnŽOüõÿãŸ|îÿRDyàÐÄáè’ÿü•ÿü‡¿÷‡¡ð Ìå íNw Ú×ét5M£J”\o¤ ‘=-ï¯ !B!93i¹\6 Ãu]Z!SH’8I¦ª’XªP¨®¡„B%!„Jß]¿·_Oc B8‘Í8åüNƒŽ¹­ÈP:“™´ã2…–5çÙl©òÿúç¿ö+¿ºmó¶ù–pÿ{úŠ7}åËÿå¶Ãï•DAÈžqúŵÆ*J½v®}Q2ËÐrœKùƒÕ›:u»ZrxˆBJ·Eªà·áýI°Riè¡”ÅO-œ¡Ñ©5u‰ÅËçóFctfp‰°ë•*Ù¶ïYGZzñCOÞ”ãk+7Måæír¿ß7J…÷M!'‡÷$¾”–ŒÌ(pÂÂ\‰Õ¬M¿+ùQn×°³“î®g÷ßW|r³c›–r“©ýãÎ\¦©š‘ì[&='›ÛñØ|f²œ4ÉUYWP»}eÇþ‰ÜÞl/³éGÝ( ´pò"›°àØû¿ñ­×0xH# øžâD¡¶V_Û‘ïtêZÈÜøX§µ5_š}hríuÕšM±ï©Ýu¹ÁÈ{ÝnßÛ5½3ÃE»Ñ9øä¡Kÿñ"Âa¬F¢}ßSê†^¨˜)È ºÒÌ'µ½ãG qc×*”=^RJ)Çœ¨Ä:ìø}òc3¯… …™üôÓã|.°fšf­N¥LáP50¯ç[†ö}S²Ìüxë€1ý+;u£·«\ËHÖhÖírÁ›è£’I\uáê•b©ì…ÁL¶ú®gŸºúâk! A’s<›@j—!‘ipÃë/¾øÁžŸØÑ¿5vñ…&ìtoå»wn_jÿâD‡\ÂæÕÅÌ8yNoügöõ_½Ú[À‘ƒ{ævÍ»F¶}«ûµo¾s°ê”q¦¢ËÅ÷¾ëÉÎË«‘sˆÏ½§ö[¹â¾3_;»ñ¹qI% ‹âý˜}bÊÌ&§¿ù­Ío4cþþ½ÿ·OÍîæ±¶;[­î˜ÙqñÛçϸ`LùO½¤Û™l³¾Ër?$Ž›¥P&šR_o…ÛM±Š )–.3r–ÃCB¥IZÔ×Zç.¾¾ÿÑ}Gó÷¿qé43ÄôîŽÌX[qÆWÙ°”ͺ=µ´„‘÷ã>SjW¾¶¼Ø›ÉLëI–jn;ÓÊt’¬¨=>ç©®XÏì¯ÍýÄþMÏŸ6fO½|-=Wm3®u½ˆÖ ’Ñeæ»ÖûJs#Æ8˜¤¾“Vš3qÆÀãr8Ù "h­µN¯ê#EÃ^ ÷ðö|;·–kh0ìžÞÛ—]“,.ÅÌøLGµ›ÖÆÚÆïÿëß/U´ÖŒ¸ëºõÍF­Róû¾ïûØa¥Ä‰k¦5—š¥®{àÚØfÖÇÆÆBh¡™Iÿþ_ýá¢(²˜7CCÃÈ1`¯ˆ†É˜`Œ Æ8gcdfœ È}•?ª©ˆe:…‰)[þÑ¿ÿÓ#GHBm3ËŒ,+± e¦÷qÅ¥âId&Kýå‹ç®å ß|9÷:#n›ÎK/¼|üå‹×ÖqN,ueÃ>ÃÔô!´¦ªÞοäƒñÃR¢AI#ÙÌ”³+óÜÿûq›ÌZ»µ*Èt ûŽ1LÄ ™ÚÌ£ûí“Ò)މ½dVÆÙNè’(ÙðnNÞ7ëºv¯ßê·:†›K·Úo4Ê÷W0ÍÆ«6Ë L"Ê¡ŽûL?ðÌC­Æê*­›p¯m,¬¾±ÆrxòÁdzZþÖ¾§v\ý‹[ƒì‡,{ú½OwZ­ñÙ±óW.Ÿ?£áá©Cõ¥úÞ{ö/ŸZßözØóáé>¸'WÊ]<}nóLÌ€ß|íÚô…¥#•'Ž=ÙowT?¾réò¥K—IJ-H }õO)U¯n5ëQ,¹!Èó<³J¦¬‡Ö[4è{MûU‰RÃr¨AJ:ATš[ÙÀ•7®ä*¹éýÓO>üžX&†Y¸~aµ»Ü úJ{¡íÚ=3Ù0:V±\ž*±8d]j_Þb*Šú<ÖkøÐš¾ö2µÌô÷ŽïÓÝ®÷ÇC¬ÞØB° ÚaÛMÄ£6îï FoÙn?φÛíKÖ;¼Éˆhø‚ÆÆfs}vvvss³:^UJ˜›ÿïÿÁ÷É_øçœ7M³Óì”ËåÐ+¥Ê6Ë0¬ ð]ˆß÷Ä Å’“§O~ò“Ÿ”RÚܪØå·%|?Í Œ1°$)~”0 $@$(á˧¾ü³?ÿSZÂaŽX–â†Äh€â™‰Ê£û¿nîÛ7ûñ¤G¡MUò‡öÍþýÏüNœã©3½ÍUc»·á¶Ša0>?JÐ È"HŒ•Ýò›¿™µÌ°ÛX5ˆ6× Î*•sìò•­ë ×víÙ½kï„í"SD· Åb¼ÔR!½´%žt öqìÑû«ãˆbW)$2ÍÈx››†›Í0Ç2jm¶C¹y{ÇôÌG>ò‘gžýÉZ®ÖB{¹}k¢4ùÆk§{­ö´=åÚîçžûÜìÔôÜä|™-¹Õñ:™ÃGK#Œ0Â#üÕQ †ÈpÓÖm h`S"Lžú‰÷­ÈE•Ó¯^8å¯zhâ×^yxçô=“[l-wØä}m3+ƒ¬ˆM'°¢hsq $„•榻æäå’.kö_*¾a,ŽçªãUÝÕ«W–½kzh}¥Ã¢ð@Åw‹SRl&®l.•³m‹+«WÖ° êã;'¿çwK¢§Ÿ~êê_üÁ`™:¤{Øb·¶ú[çOžG ¸yòÚÔ{g&Kµ™û¦¾ùï^Hͼû©÷-F·|Jνq1^ôàc-³*bÞéLÍLV÷Uë¯×¡½ûþV¼UËÖ®]¹Ô»°„&–^_c‰=}hÖã›ÉÚº\ë¼ÙÙYú[ÉJkquóÒzãÌzÀ${eñêdvG%›“S¹ “`J²,ËWamªzóÚâÂñ+XF¸Õ½‚ã{î;ÔñƒuÙÓeŽÌú¦¬EkVÈœxî8ú€‰[ñË•‡+ËÙêwD*%†i­S7DËÔI=¬/nZSãÕš1;v¦hŒ‚žâ„r-ôÙÇN]ìîÀ@Ëg–+{&>P}zµµ)v·•‡+Å[+ƒô HÐ…fùœôz°Ääøþ¼ì2ÎÑñ]é˜Ê”€£Q2'§+?qŒ¹òÊéËKßj£ ‰—?ÿÕÙÖ®ƒ÷k©Ö—W6ÖWZƒ©ž;ª+B—G‚ ˜FƈlÛ––"!1ó2’™NŒ$1"©c&ûpe(-™ ê sR½^רP-õ<¿ÑÙ¼üê9lbà Ê PÀõHî{`¿Iܨ/}©»äuS8ãFa>71[3&'“‚ ˜ßö¶Æ3EÞÞÂ` ±ï9ƨøý«Ãè\ÿ a¾‹Åb­2þñ~ìOþèOÜwøc?ó±N«ûoÿõ¿ý»?û_ÖÊJ)­µc9®áf2Ÿû~?ÀZ†ïI4äóyÅeLq(}Û¶3™ ›Y^Ë{ ÑÀîØ€ E caô×ý—-âH{ÄXÍ–vâ”­õõÕ~§xQ†çÊn5GÓ4UË AÆB/F ßë¡g˜ .#a Õ¬«nœ™°ŒÈê¶{IßOͺcŒ ã¤vêAÓ‡/ t›9;K–•ñBŒÔNO{:ˆÂJ¦d01È_p€>T™%gc­d‘¶ÄoµÚ;¦æ•7 Ý—pGLXNÒ÷ãP"RH"IÄLa Ò#Ö}+Ç•zý( D%=ß4iÝo·’¨_(Øýú¦Éì¼ãºÇq,€bBœ2¾(F2Œ,Ë*Ës³;bJ€Ðè·÷X47=ß[]lõÛÊTÄ(Lâ|6733ÕYZCxà5ô»a¿×œžŸj/4 >\!"b¤¡ 3âˆa¤ K—Vú‚õ‚pÇü”›°l±À,ÞÝØX• y7SœÎrž¸|yÀÇ‹Ÿ{ñ±GŸ˜Þ1—‘Bs8*îF^«o Žšƒvˆ>à‚ }†Š¤É Jt臓îdNdy„D†0Ž©ýµ#íÒ+/¿téµÛ± D€ ÜÄòÊÂrv>b#N ª©ýÄÕEËÝhÖÓÖ|¥ÀÇÑ¡Š£ØÀÛô㱑d OóÍ‚ FP¾Thžð^¾ø*ËJÀ Xœ§±¥V˜ÉE9›{èñ Z „óÿñµÊýcñÁ]Õñq×ÎEI¯k7*Ù²)zÃp¦)ŸÏŽ&t#¢a„ïF#ŒƒÙÙÙgŸ}öĉù/>2??ÿ_ýÒ§wMìV‰òñØîùª–c)Ñ@\iãÛöЛ¶}CÓ´Èáá({QRèf-'£Æª¶Éc…v£¥ìíÖ LSÊji#Œ¥ã—C6OÜ`R<&’QÂO}Hs¾Ši#c¤„à…¢ÝlÆù¢åº‚1t:Þ],Ã;«ÕjI’ôz=íæœ8NúQ;ÒQ­X‹ì¸ÕhßZY:þêq-èS?÷É[引/e‹ûvíCÈ´$a±b¾  –ž“;Þè 9Â#Œ0Â?rÈ„âPÃµÑ $_~ùøcŸxøVkñÐãG.ž<‹5Ì>2?µsjmsu²TC2% cÌà–¦]VÉ­Ú…:3”‹Œ9551•› M¶gal9ùÌd^«¤ßìs{Žì 'Üxu3{ÌžÜS-N¹Œ‰0Êsâ`‚VaµúqÄvîºÇ):}9Ü÷àcFbº†}ü[/C1¸€fX_Z&‡ç«ÅOß³øêLµ˜Éu¹}cËÍŒÀ¼uö: þÈßyäÄçNè<Ž>ò Áíz¯Ñ©÷ßú r€\+Éþ6Ñ€u4;ËÍ+ëg û÷ïw ñÅkg#}þ=¹ý³ý¤'ŠbÏ/ì½~â.!<¯Î¶Î~{ñÅ÷=ûÔ-{åÊÖuƒ³G~dÏîáÚÒêB„8óÙÎüÙ HX€0œoÈ"Õƒàî}äàTqòÄWO\:u}ÐJ|À¦ ô€tòn.I)aC%°ª–Ì}+¥V¸>>>Çqâ«ÊøSPþÛÏð5ÓŠ'±+•(ÎÀâL‚0 ¸Dðz>úœÀ‚“ˆ‘aBÇJ YL°‰\RÈ™†Á\( ‚m›Rd”ìaI7êÍÆ·›˜Â{³ÓNPl7Ídœj²©H˜‚¹® 9ºÀŒˆ†Þ¶´|ë…Œ¸†®Uj *Q±žÓGï=òk¿ökq³K;:Ñ6w8K ™í8Zkƒ›q˜àîû·#Ô6Ñ „0mÃàF¬Ã4‰snˆü(mÓØ°ºãò…ì0J`¸0 €©(†×ÂÌBˆ0‚iiÛ!ƒ3S“ ) cƒÚ˜Ki }æâñ£‡î?¼coûÃíòoþÓPùW.]+{lj3FC‹PŒO5F-ÐC‡½m¸0 D1;– e²R™ŒžçŠí16| Ó\뉩1QE^äéPÚ®íæ²9Ûí÷»œiÍ@L P¥É9ÅIqa†‘ˆâ¾(‚J’¤R©¼mÙ_¯×³Ù¬ã8Ü4 Ëèô;œ0Sœ¾ÕZž,O¾ÿ©÷ÙÜ~ò‰wÝ·ëh„¤X)rˆÿå·þYMŽh÷:§®œ~ðÞ‡êË[Å|qÎÊÄ9K£Þù;w¥0Â#Œ0 ž$2ޤp²JEp‹ˆšË§/Ê,Ok+2ÞߟèÕ e«(´îßêg7‹VÇŠyâó~dF4›”'ÇÆgŠšÑRU²å㳸[·6½Å°ßõ‹ÅLMîèòd±61næ9·ÈÌa||¼\¬ Î{[^´Âc6s…m-ݸe•3s¥|¾ÈçŪQÎ0£–›œ4 Ԋϸš./ë& qêøkO>ø^ ÝÝ;÷mÆ-)ô¾}Ԛʡðõ—¾ ÄÈâêk÷?vx¬PMòÉ‘‡îÛ˜ZÙ=3_¯56—/\†?V@‚öMýÉ:´c¿Y0/8—æfç'ǧà©úb}ýì²öWÈf³’iY ùZ¾š<àé —+Ô2µb˜o­oEK]F°,KsÄ™0Ρ21afÝ`LÅÇh,_´Ëe[Ù…¢-}6Îj#µy³61¾.{…©I÷ÁÕ©É™âØ¼°à_zã$4@”®ü³!3(Ñ:’H`1(E€Ö¥¾Õ¾téD åÃÂÍäºkÑì¹Ä‚]Ìù\77é¤ß¸Úv\øÆÙe³z¥süÉ'{ô‡ü}nðl!ïýXFÌ`¤–,d­°LZ´¢f¶â˜.Œs_¼ôÒKWOÞ,†yÐÙûàî¹ùéœ6-"2@œ’Xű6´ãY’¶0O'}¶xwßá×7ìúЇ6oÙ;sm«½™Ô‰„8ŠòxÛ ¡4ö‹hÚ€ƒŒ˜Œ•dn+ÍbÀïƒ@‰²ÈÔ…lKÝÖ‰‘ -‚IÈ$Qˆ!, ø@—®=ìN<9^-”“hÐf Åt,#Œœ¶FDÃïPZjÍÞ¦ ò}Ÿ,‚©‰iÁE˜q1Wˆ(Š];c ™$ )†mØœñ”xÑÀ9|ÛþAJÉ9gB0Æ8çœsRÄy*‹H;Òn ¾ïƒ8ѶÊ~°².L ?º•˜È Æ4˜d\R!¡!3EPD$:tÿâúb%¥RIÛ¡×í9tfqΉ¥CÄ✘¨åf”j¦‰1Á(õfÄ ¤63E‘BÔî4‚°'È,䲉k c0<ˆi0¢”Æàhv6¡D±XÌV+Ú úÝn³çu+Õ2ˆÒ’DT‚¤òmÇp3мñZ1IÎ(ŠˆôÝ«ÃGœ zAïôéÓúÜŸž|íD6Ÿ‘LØw:â IDAT—*¥F§‘-d¹Á{~¯^¯;;ˆÂÙٹ뗯Ýòty¢”©üÏÿã?ž¬N%Qè‘€a„Fa„¿hFÚàŒ+‹5I†<óí3»ßÑéuöMîΔݥ…%Hmçþü^ d"VÌyüH±–ŸŸœã ²,gõì­Í«¯^_½²÷°u4C¸˜xÏŒ~H¡¤áêÃû›¦©Z¿²qíÕí7šXÅvÌŒpjªÞÀe\Ú¸á}ÐÛ}ìH×÷vÜsp~æÐ+Ë_À" ¹Âf½¨>âËøztò½?ù¾ÚäŽ~ä{‘cËq …l^J™DRÆ*îÆÙl̺9æ0M^¯ï5¼«n@‚¹Œˆ € ó¡cO’~k£St]Ë´ Ü`Lq¥ÈL§ý`ã&¸c.7YŸ…aˆÈ®0Ȉ¢ˆEiÁ;”/f;«‹§v,¡„VKt4Ÿd€†+,¦¤ .¡"ƒg¹[ÍT˜Š…ÃA0´Á„[0rˆú€„ß J™r![P’Àæh–vZÊ –ßœóFDÃ߃v ž–yÝvw~n^@$‘l{r¥”±rfG[ä÷·’aŒAE'ÎÓoW4é4„éAy:܇˜ÃÐp†ÉçI’0Ƙ„ÐBëmë›ÛoeÛí;éÆ5©‘äpÅC©p;qvÐÈ(Í K9 ®9˜&NÄ1´ÚÍÝ“{8øâÊ¢[ÌôáÉXõ½ºeY:½ô1(¤JbZƒlšGÉt:ÞÒÒ?}LÃ&‚D«ˆÇ±”ŽaŒ™¦©cH-=Ïãnú>ƒ‰iÍÀ‰r¹|»ÙiµvdÅqÌM^,åóÅ\"#8Kµ ƒAΈ3® ƒ”×Ö—§§§ã8qGk9Œbåo¢ÆÆªÝnw³¾•Ïç=plÿþýõV}jfÒ½˜¤Ö2¡$—Ïþ¿þÿè_ýaˆØ ýq§Ö;”°‚[èÕ{®™5 žD´í†ILcÀÄÆò#Œ0Â?òÙ`™†°S…‡Æo\ ¢æu›¶òä½™{–—nñ.ˆø@Qìm²-šÕ{÷î•A"=ÝÜh_ãúâ«7Ñ@! °ñÍ•¨}âhmn"^•Ra7è^ó:»¸ $@’öçC¿Ø¼Ú:{ì=åfs]¿-@;Çv\9qþÕçΤ½ôcE·S¨_ÿ³¯<úé'“ üH AÖÒæ·þìÏÑ4±¬•ëËb,¾|~Çᙤ˜„<Üèm@&“ö¸×óôÒ0/SHpõ ×DÂJV±£úvÙ*™•îJ÷ì·^o½²•z ôn†ˆºt±~=ô’ùGöÛSùjq¢œ-/¿²®x 'W°hÀÄÀËòxç[=óôá¹}½Åv9ãäùä•o^ºñ…‹Ø S ˆÑ]Ä—?ûÍž}Om²œ Ǽ³­YYm­¬}åù¯¥²üÛÓf€1bŒqβvN94”” н#¥7! “%à b0ÜzeC›ÙÇî÷¤n%í'>þìKð|½ÓÕ nˆ¡,©oüÞW@@0† ð×42yx+[Ô‰‘.°*°pPHà0fÜcO>2·kçù‹çÏ}íUDC#ƒíÕ¥ˆ‡,OjÇ8€ºI6ž.M<÷g_ð/u2O”v=º‹™ÖZ€ ôßn¶J\hÃ¦Ð‚Ñ ›ƒ 5tĈ%\*È:i³I,cƒI&¥’„ƒ%I"£H§ãB(‘”ÝÁ'NMÌØ¶{õúÂNóà ¤ŒÉݳÒdž PZ£ËÌ_o¢!ÙooÓÂ5­yîܦ¡š#ü¨@ŒðvІr¹ÜíuÓ»SÖɆ~drÓ²-Ò”ss‘a!NŒ˜¦IDA°,+¥Ti¬%úm …B!ŒCiê¸ÖÚu]0 ;1O’l6kÛv§ÝB˜¦EÑß{Z¾¦ ŒK?:dÜBDœÃ®’"‰µi» œ4'-H "b"FÌ6òý~`¬XëõBÇÈSÇ̃¶…-ü¶ã¦ã´Z-ÁM7cÇqLL»®KŒ%2î3h¤ €±D«Ä±s=/ÈfJZ¶åôzA¡0y1åóùV»Fþ®]»®-Þ¨–+Q¢²¹BJaXŽ 1 bôLÄ81è$‰LLŒ+•Á“$aüŽè×»é/ðV­VtzbT)UB?bŒ[Ì€!,fªPç¬LÂ2³<ëÇžEL…2ŸÉ1â¾ï3pº›TàÄßö/qRJÃ0’$q'›Í¶Ûín·kšf¹\VJ5›Ír¹ì8ÎÖÖV6›ä~¨ûQêpžnSªq›‚a„¿žàœ§bÉ~ô£¯½öÚ¡C‡ºÝ®IÇКbÁ˜’!L."pI±®×žßXûúWÆ*Y;që·ê‰@H` x„Ëzéòõ%výlåúÌìÄÒò’òû)e`L¹¥&‹ è¡ýíÆ /~êvíÚµ°°7óI˜ÃX #‚Hœh¼pêyLññùÙV«!RM ÍçDB†2 ep5”N\sFà4 ³ ·Œ[âït0…Baaa¡V«Y–Õl6†b~~¾ÓéAËå*•ŠïûZël6›R£±<Â#üX¡Ýn ÎùïþîïNOO¸téÒg>ó™Ñ™Iïw¤#âZ‚1d@$1¥$Zh®{ˆ½Šã&¯]ŠsعÃ`Y¥I@ØÂõ×ÂvÐWmÁ!48dK!]÷‰ÒÅjaWIJÖÔ›Zƒ³3H‚~*b· îZYÇê!NVôÖúRj(ÀUKCB´d 0DÐ`šb?ÈÅuÒ „P’!é3­ÉL¸ŒÜW^¤"2î0€Í`r0NÍ-¶ÐL¢·TýÚŒœéVM®dØû‰êó{MDô€udÝ™â’A™H`‘Ë®7$c"[ÊP×ßh3 #P.f7·D¬L0‚` q‰¡M×I:áµo]e€Tª…õ^7ªÇ€94ÊbDŒ€tuP§­`à œ À5€€VðB «øêG<ú®ûÖ7oú¢5÷ôî›bQ¿”°0fH H[ Ô€*"@kh’é|Œ˜¼u*RØV%¤‚—ýxü}K!Ï_9¿ti% ¹4/ÏÞ3355QÈçn]_\º´¨Z28ãAg:ˆ‘‰¹ŠY’(®¿É<'n*ƒ B‰tê¨8I•(3Š˜{|îàC‡gvÍoµšQÏã›'6¿½€‰$€'¦%˜ñô÷R×:µ?—)G¦—’öMH®Ih&˜ÁÕí¶àþ’1šÝþga³S*ä~³€d t¿­rlóÅ\$#p ÃpycÙ¶í±±1'ïúþÁÎ^<»~߯þʯýʧÿ^¯×ûÔ§>Õív-ËzÇjFCîGù僉AØÇ€eHk{ î\ƒÇ·Ï<#þ¦‚™Ñ›¯µz[Émç³½Èk®5ã0JWàA,_(H)·Ûfµ°NEbpO#d8¶õó?÷ÉO|üçMÛúÄ'>Þi{ùRÞ23Z¦T4Ø›ëv¶ý« ~Vw0VÃ3ð¶À[îqÀ6[‘R \°ÁóDd(f(f(Áôv$¿ÞÁÈÜÖ/ð»H´w`‚kµšišív;›Í–J¥^¯·¸¸811Ñh4LÓÌårý~?Š¢b±ØívGCy„FøqC©TÁÔÔTúÌÁƒûýþè̤P:âĵ’œqp0DØ„?9‚a”ÞïIÁ"7Ñ’Ò¬¦J²D’V¦%8Ϻn·ßr\˜D @ (ÐIZ  ¸Ò&¤€gÉž+æÖ;«~K^Ô¹èC 47aÁð¢”Í{‘ÒDšƒr9„!c[F„ÚH$‘fÌpEÄÄȰL€ l“Ç‚Cp R%¤™ts ¨•ôh@A²†Y,ä:N.“oû¾6x¨t’kà@d@$³(M{d ° I÷Û„æ6ˆà%ð랇 Ò$4 8éÄ aÀ(g¢Ž…µf—cå±fËÛ¦ýÇL8¥Þj €félPéüE3 ÅgÜ‚HÅ ‰ êß|ýœ¡÷=¼Ó(ÊÍfûÐ_8£z Ú¦ øbàÃJ-¡%tD˜€3l{MõzàS€ ~ü¾™“Ç_:¹tj Ë€ŠÆxÚš²é\ƽgìèÞ{—Î,œ>ýúðÍÝNbPL¡TâûÔÌq-„Ö‚ 1°‡×šK¤ùå6æžš½ï=GYÎX¯vÉ›™›zä™Gÿâúçp‰$q€C ¥¸Ää¶Ö\ƒ4kÌ—`‰@¢!¹NO— gZ:¸GDÃ?0ãÀî(ºÞD.ÐL§õ’“qú­~.—Ëæ²cÕr½Sth ‹1öÖÊó»àð¡Ã&Œ••µl6[,‹Å¢çy¥Ré¶ú1mhßö}¸]ÒhûCo‡56ñ»ZT_ÿ¶„D†õÿÛÕÆ,Ü~¹âJñ(Ò‘S2g 3 ,Ñq·ÓÏg ÝnC|»ábøЃw¹}¼×ë•J%×µ¼ *—Ç ÃÐZ+ΣíŠ]²€0ÀäÛ1 ÿI\CºO;2†oBD†2„6 Å™¢»XîïAaðw:ìåååZ­Öh4òù|>Ÿ_\\äœïر# CÇqÚí¶¢T*ù¾¯”õ—0Â?†hµZår9Õ߆aØl6§§§ÓŽÎp‚Áx:™"èqª0æ!;@¡" q]›;B…JÚ†C@(bÍ#Ø€1\.7x€’DIÞí& 6“Â" ‘ÀLRÍJ®× Z JI ÒÐaŽ0"Fx+4À‡+«wr ŒÞ©zÔšižR CƒÍt„°t6ÚkÅb1WÌg‹ÙDDZÚ{œÿTl5·ZkíJ¥òÒK/ýöoÿ¶R*—ÏÄIx‡<•m[K Uè· ˆÑöݦì2ÐéÛfÑu¾ó}ÿÿøÿåÿó/×ÖÖ,ËÈçÜ[Ë·JùÒ›x­»Fõ]CYƒÀAÖ oâð] v»ÓßÑ‚Á9‘ žþK£Wi{wœ»yö]lMmÛvGJyëÖ­}ûö¥=­VË4Íjµº´´†áØØXEQ¥†)£‹Û#Œðc…r¹Çqêå8NÚ=!åÈ ~xa&3„V€ÒZAÃf ë˜}ÿÔO¾ëC9äΟº|âÕÁ­X  °> ìjxì©w)_¢Ï; ýÆ¥zóz‡ê‰ 0‚"¦Ó˜Gþ`qlÿXa<ßn··–ëáE @K‡ï C€U±Û*"÷V|ßÓ{æÖ7×.Ÿ»týÌZKÐA/ Á¡u¢Ð‡ŠPldlÆ´ÆY£ ôá3(Ò”Êû§›Å‘´¤Ë¤¶M7IɈ¬$JâÆ$›uÊ*³÷NNî­.ߺuýäèTo…qÃB@yV;8^;Zsç2I>.Y…ë_¾-õ·nz²OIƤNË 0€ƒåÃßwχBå¿ð­/·¿¸†’f3‘°ÈXæ€óÚ…s/ŸÇ­¡#fÚWo­u¨é­¯âάn”Df¾2¿çÁ=׿r}PÒ(•©‚}ÿùq4W`08,€1ÆLÛÚÜÚº±¸nu!pŽ]ÌîÎ>ü䣧>{VEȱ^‡`B+pm0 –*vïWNÿh0%D:V|ø\š¸‚Hnï8ˆháM<Ãô2¦·)†”}XXº±{n€†_e# ÃÐä¦&½íïðŸ4€„åyÞoýÖo­­­}úÓŸþð‡?¼¹¹y`ÿN·sÇŸ>ÝA|øS?ýw}/ü¾>1—Ë}æ3ŸyõÕ× …ܧåWÿÑ?úõßøßèöºwÿßÑÜÎôaæ7›.Û,%4ƒ ­ŸÁÀ0¶½4$Á€ƒw8ÝõíèAðäíox’·Ýç¾ôÙ g/„~zñS¿û£?õ3;wLa¨!„6ÀİY`[X‘n0ãûvùòå~?üü—žýÔ‰ßùç¿sïჭn=erz¢·û2xjónEÆ6·é†;™”·uptrN "®SEßv'8´8økЃá»­4ß¡ÍhffæcûØsÏ=gÛö3Ï<óâ‹/†ñ™Ï|f×®]RÊùùyÃ0>ÿùÏ÷z½O~ò“ý~_1Î#Œ0ÂÖÖÖòù|.—Ëf³iøŽmÛ©qÃ'm n ÊS˜„i¾ûá}ë¨ë‚†Ëzqº‰UpJ•ê¾X›XÌ'n ãB§’™Û77³s.SÈ7Û^³_š©–vå Ó™ÊÑü™{“ ³ãFeÀÕ¹ñ™#“Åjq½»¾¾¼9U›(‹å½e¶˜]ð¶ú¸–ë$Uç§œƒ>ž'é7ºÍ†öŠ:3³§²ÇÚ{õÒEu`> 0~¨|àÈ¡ºÝ·n®­$\çí¼æÆ¾£‡ÖïÛh~gšˆ8ôðQä9LµU¯{[ÝB%—e™ûï?:Á'Ž_ù4)˜ÀjÇÆkT¶D}«×”=¿läYV‹qæN^XÌ.J¦i¶Û͇NÏN:;Œ½þj—™–»;U ¹‰½½ËÑ–gÃ6…­´>pÿ‘ê̸.ý°­Œ¶cÁ4¢^Øßóä\Çh7›¹©* õâÔØøc3­x­ jsÙk®ÖÝ"²¼ÃÎßo÷¾“°7 1i1­™J ¯‰èÔôÚ‚ÍÀ% `hp "H ¥«™Œçû&@6ú×peýœ+s…1Çæ ’YÚ¶È6µÅ•`†05#%¤æRq%E¢™´¤­û賨•ovs[žÛÔLfb·Ô¯^ûÚÍð|lÄ)À&°,Ïv$~¦T+± öÍí­–Çš7êËg–Sô74ãʆñ}MåÓptÅ•"Íïœó£¹ÒšáÔ®Ù£÷[ª­æ‹…c=Ößì}õëßH{ú- #ee¸Ð×Z#%4 ~gG À@$H Òþ‚"2$ ‘Ñ0Â;QÜúm‹›´>RìMOê·îCLkF›½­ÓgN-ÞZüÈÇ>úàË/ñ+_ÿZ©\yßÃïÿ¾Ž§Ùª¿øío¥«I’h­93Ý%ˆw0ôîðom¸- -hžÚB»ÐY hÚ‚6¦ LB[ˆlH«dý&Ô¢;è!Âç¿óùÓ§¯üÄû>ôÁcüêñ¯¿öÊ«/?óà‘³F–‘P0@‚'âŒ8‘ J@J@»Ð0Ú‚¶Ož8½|k½Z­ÓÖÖ–`¹úf{nfÖ8§Íñ¦Jê>Õœikx¨wÞ¦p‡ ÝÅA°7ï8|¬ ` 0"K䙄7“wH”|h@îà2îø($ɾðÎù+¯¼²¶¶¶¼¼<^©öz½_þåOsˆO|♌øÊ—¾jÆ/ÿÒ/GQt;Åã{Ñw_1¸,ó=·£Ëé#Œðÿ#RHß÷ ð,+Žc˲FfÛ÷«H(¥";0vz‹@ IDAT‚ÍÍŠ;¹÷ÿcïÍ£-»îòÀogºóðæ÷ê½Wó¨’J³,9–lÙ Æ@Öjhl'¦½ ° Ý!ÆÄ$$ YôêNw „â4N€† mlp@ž$Yc©TUª¹Þ<Ýwç{泇þãÜûÞ«’lT ,¤Õ÷[Z{Ý÷ôêÜ{÷9ûœßïÛ¿ß÷M5z½³U»¾æ5{c³Ggu1QÕäàûX‚'‘P‰Ì:¹R¡LU¿¹¶QÛZXYèµÚ•ñry¬Êç©2Ë1Kp2fÆ4mJxHüÅÅŵÍÕÕU=­â‘$_ÌåF3G; ©–2‰#EyžV”~ÒºtóRëê V,ßwìôÚvsqzßüøâå­¾Ópê“=Ñ“P\°k_8 Ž{žxwB“¦êÌß{¨ùÂjßË@V‚ëw{3•‰ê™¼–à ênk½wç½ú½’BSHºûUn KväÄÉž¸…j€Ä 1 ­hˆ¦Z+XÀ&Î>sî=ÕÇ8úàÜD½Ýé.ŸÎÏüÙgG(aœ0Hª($Ý1ò`»º—é„Hpɸd·HBPA¡ ‘`XÑð—ß…ÈëÆ[On¹ßpÇŒò×ò÷HëSïÝP˜qˆ·ƒœk öîB–¹"©èÝ®¥Ÿ‚RŠ@RÄJ|ᙯ¼ïÉo8s×™ ¹ýð#ïö˜xê _~ïƒï%ª/¥²{ ‘RJ)E(˜E+•J àÅL1Ž#B$ J8@µ¦JRBR‡UF O-W à»ÃµýV‚1H™h&[)7é>·™Ú`*C ûÅ’š’BÒ[äoèësW²[\@4¤Èüùg/~ïýl.“íŠì÷|pnâÑýó¿ø¾_ý6Ï…R 2ՈР€Tœ’ŒJFþÄÈÝ݆3RΊÅ:uä‰È…&ÈÛn¥ìŒ×\»˜Å³Ïnž;þÞΜ¼kD˜6¼¨¡jÒoèÐLÁ`ê¶´žÜJf½>5£U$P.#ÐhÄå²Ë*X&RÐTî)Iïªôué}ŸÂЀÐ(òn/Š¢©ñ‘ÕÕÍßøßøÉŸüqF©e9^Ï=zøÈäÄØßýŽo‹ü`||òýÃùÑý'?ôC?ø«ŸüwÏ=óÜÓO?}óêB©ZJÓþ½º­ƒ7¥oü#êAHìj²ü¥#¾¶¶ËoÓ§¾î{³§ÎÕéC!Þ¡‚ÀqœL&“öŽ™¦y«7öÿ¯!˜ lµé5i†Á–´“ˆ@ôcß{¡ñZn¿µxñrôœ‚„žZ³ GK:“m3¿áwƒS¦ #yšÄíåå«Ï¯Â¦Z憶Ê&µíÑC“-·Ñ‰¶3¦e »`TJ(7–·nž»®›X­­XÇŒ‚áÀQ±Ìk'­–ëÍNl[Ѱ¾ºÞ:×!s­öËï>󨻺ùþ'Þû+ú[H8tßékæU—¾pW†óúÅ“ßK2æøéL—ÁB|øÃ9ïßpÞâ3äE‘ËbaãBõÉñ—¯ŽÏÁ»&ðÌfZ¬ùþoùP2¦z›XéôžÐÂõÉAiÂÈI›1Ä@'îLÌŽ[Ž Ÿ7×üëçÖåV´¼|³šLΘÉq«Û‰Y ™ˆÛ™R©H ­ÕºÍå¶X’µ¨WlÔŽ=q¸at|Ùµ©À‰` œ;¦eúÉç?ójèÆ‘”ª3cÛa}úäÜ«¹ËŽ’¾4B¢ã‚Bj¢‡iTr9Ïu0=7³¶¼ )DÐ2…¢ ,¡@Ä @ C %‰þ‡èÒŒ8eQ©hzi$¨jn„ÈœÁ?@Ì¡U3Þ† ”1wïØÜ#óµv]ûÚõ¼B¡wríúËϼrãìb_nSrèQ)"Õ R"}›“[^ìñ;ÛMó I"‚ˆìnr+h (ÖÎ.‰|éÞ‡˜œšÌÙú…ÚÿìKÐ0}ÀkÈ#¦žoL+jG0!0  R¦Ò  Ð0…Á¥ÉÀ¥V©¤àŠq ÂA†‘Ï›@êuCûî¬Rk¥ujÓª (HÓ“þ¦¥´_¤L©¤4Uù¥”+Þa ©bn¿k}/;Ú/zWƒÒñTÙ–é~?…øj@C™¶ýìóÏý³ýĖض¹í!ü¦Ÿüþ}.ÎX‰‘þªø£Q©TB(¦ˆ¡óßÿ—ÇöGQd#n†\òåAšìqhʹA#`„0B(%œmdì*´1›ãœ'‘ºðÊØÀÐFmM={î•és•ü$dP\@t°k¦µ˜ …Ð4 F¯JЗÃ$@¢¸iTr¥N½"¢àŒZ…/#°"‘î6gŠSɸ¦ “ƒÙ–Íl*Hâ'¾ŽSte_é’„L„¦S 7BåZ9‰UÜÿíÇé(¹¹±x×ñ3õ ­W_~­~¹†ýü߈0A‡ì³ 4ÑT#úö]²+¶m¦†$;ÕTj…`@«_\\}v±/æ–iÎÀ51™¤BM™H딤ieƒFÒïˆÐ€UœhÒ¿ ¤$?Yô<èÚÛŠ¬Béd§¸:}ýuÃæ!ÑðN;÷ý5Kö.XÚ×WÖßô-+ŸhP(­i¿ÌI’G~÷—Ï>3wpNÙÚ ¼—ožûþïûŸúŸ2{=Ñàû~‚8A"IòÂ+/|øÃBXÔ¬Zå7$|?èÑ@!`IâaEÃ[ ƒ#"¦#>{öÏþ‡ïú%`›¦)) TK:ð<v3ØÔ[c¯}fÌÅåú¹oÿ¶'Ï>C þÔ¿õ[ÞûÏ?ñÓ'©¦D:¨h )"CC RvþùOÿtÖ4Â,"wo^i-€"àÝuYɳ+W¶n,\Ÿ;xàÀ¡IÓA¦ˆ¶ Iû… ;’Á°v*Þ$-÷µæÍ€ÖP Q$*~üäüø$„„ÜYß^"âó3íŽ+•ø¥_úù¿ÿ±üÎïüοø?³¼¼ìdí®Û™šš(•ú–Ò:H<ú}xï/ÿûOÞwß}ïÿà“…B¡Þ¨ !öÆÖ_«Ê`¯æDß…ZïÞú÷ðÃ'èC ñŽÁÞÆ1¥TZ9ÕÈ+EÒ`L¡•W®Ý<|øÄ±Ó÷¹"ök›0P=¼ÿà£g¢1z}éºÓ"¬G`˜Ê´Ûé˜NTæÞTm@£ûÌî›×"i6Ì¥M?Ù¨·®^Þʽéù©Ü¡Q´×°<‰Üᑸˆ6 ñL6”º •¨fNn­Ôzsó'|Éz/® ‹ÉÇO¯8´˜+ÜxùFZŸàØ^ÜÔÊ¥ªu 7¯¬€aêèT¦0J}îmð)% Z‚¥7÷½ëx[tK÷µù¦Z ²E3kÙ£†ݬÑKëjP€Ú¥ÕcÈ–¬LÖp­çýs öwÆíÓ–ûÚ•åz«—-–Nyw£¶­8³K娙(«³Š:t!²&2¤H#ûÔH¢HF‰âÒrˆ·ïÀ|füž3qp¹ë`aæþ£×z-Ém³@LSÂM’PÉþ»î¹›‹K˜BõÐþS'ï*Z™Å/^ƒ‚Ànß0Ñ€ÒL+¢%Ñ ¡L@-ø¾’®tô ’¨ÖÛ`H ­@R•jà"qE"nÁ²`pXÒ(‘Zo¢ dà@¸@,-X  BÄ4Š` û;nOMšUÊtaéêÚÙÏ\À5ÑÏ4,@ 8×Ð DjÁ„`B°ä¶îì¿,q¥‚– K© ¢L¢„ÖÑ 75^ˆ=aO©”§JÞTï¸I(M‡¢ oW ‰†wÞÓgðþ@‰Ÿ€hÊöŠüéÛ3–”Y$Z1P(0;ý[>ôÉ_ýåðßwàÐÁ¬™ýįÿÓù¡ñ<ï ‰†|>/©ˆu ß²¬42°ˆéµ¼×  ¶•È ¨HaùðŠûï±ñÁâHyšxÌc¡6å¯'4¹Å¾rGÎPß’’“‘1|ã{ùõ_û7øæ'OŸ:ݨ5®_;÷Ø»ÎPªS:µœ 4mµ *›±\ÝsƒÞêú•Fk…‘|®µùýªÆ.ÑÀ*ã,WÆ™òøìÑJ®`˜\]O;Y¢ö4MìäÕ\½5Dƒ”’Y‡Y1WÀüòvÃ#·PÈ⯈’õFÓ4MÛ6×Ö7N<‘ÿø÷l7j¥JñÿøpÇXkl}ò“Ÿ|景”ËÕÍv=ÔÁ÷ýÃï}íÚÅïù¾­l.Ì\X½yß=÷u»Ý¿BÃδh²SãЯFj4 1ÄosDQ†¡mÛz½çœ2$R0#Ñ*Vœ2¡8×Wξ6ûÈ<á88",ê5|BVD•OÍ0¿“QDt „«0Ë2•ÊÔ‘ÌèþƒÍÚ¶¥ÈìøtY·Ñ°fVçâK$ÇF ž·3fÁ.¨1:óȉøá¨P(3%®ÑV†ÏÀdWq²¶¾1spj|~ªyíQa<>2695? ¾¶í ~óÒ5$ù€¯>óÊ]‡OOOΚ•ñ˜‚ª“÷ž”vüÔ=g:ދϽ½¶0„!ú" F#S¹Ü\aò]ûº‰ëoú­…Þö•ÖE”@SbF{à0Â1gâÈDntìúZ»»ÑÃ¥u,!ra)%µŠ(”1÷Èéñ#3]áUiVtý³Ÿ{74µ7Aaå\Dºo‘®@ ©P,QDÜ‘²»•„ bImPК³ÔùC‘$ýH4-~õ° ‡Û†2í H¥»éí–J¹†!Ñ0Ä[À2(PJnÕ½Gº¥LoK éŽqì ÝbšJÅñ;Áþ©ýÿãw|×ÿþ¿xö¥‰©É'ÞõÄCÇT‰ä’¼žhp]—˜Hx¡×ëõ|ß'„(* Ù—ƒ«hÑà¹AZ9•úî’þ/E¨ÜÝÝ⯠M•"0À“¶n‡q“ƒÂ""ÐÂ’b§uBJ šSMoÛß©a¢vê`¤xïã…*ûÂ_<õ«ÿöýпuvfêðÁqIOt¡ I‰M@5•4¢ Ô¡“5팬ŒX%Ú–´vZ'úoE”Ò4L3ªNìbC& `‘–2L‘µE(‚´³C+Ü¡Çú?x!RJD¦çyRÊ™™™¬ÂèøX§Ó¹££((EM“ bvvz»SUø÷>þ±R¹êÆÝïþ{ßý‘dltBCn66K#…ýo~ñÀì IAÝu,Ám¢ ;Ë9}pª¯û}RÇÎtÈ:ÐÛõ†ãmG 1ÄC¼µ°,Ë0 ¾ïK)óù<€\.7œ™4â±´a ÐšCk\ñ¶Î/ß=>‘¯fçGƒ1Õí„P»´¾qnyéO–à ”ÿ²Àé©£.—„2œÜdØáÔ/Ô^}ú…î«Ûh àLäFOO|ð«¢.0*P\²°é_{q¡óÌ"ÖÊPΣ޾r¦tßcŒíŸžÍÏ•? åæåM‹Z½­..wà @¤ºùêõcíS=ÑËpü#‚B@õ 8›Ï\GƒBB,$[62G‹=ÖËŒÀÏm^]o\]b@XŒ{[¢w¹æ+çgˇ޳â^SLºžîm5ê¯n.½°Š›@˜€…ü©,ÿ¦3¥ãÕâøl]ÕÓ.’rózïÂsgà ! ég³Ù‡Kä.#?R<4q¬PÈfl3t{aWÎ_«={×E¿R\µO?ú@ùÀÌØDÅžÉ 93Ñq³ÛØÜn¾Úè÷ Tœp¦Á¥´(üÀƒ1Ñ~y¡ÇN}ð ±áE!sø·üO´‰ùåÏýÅÒ½ÐWp”€ò˜¿ìÈ©c|Äá3f…ÚÊmµzqýâs—zWÚqèÆ, ˆÂÉâÑO4KFÀhæÔa·5Ü\yî¢~-ìö P €û>ô.{²ì©dlbrmyåÒžÁ €3  DBj“;_©@ƒ¦B݉Ÿ&TƒK Siph“À`ÐH¤€¦0$™ª“÷]ÆR¢`Ц…ÛDQ Ä ô׉ö† CÜ!4íË«j ²k2 äõ‹{À&¦yš»ÌO͆IøÞGŸ8zèèÇÿ¾š›4À®/^›®NIµC4È¢1fXœS«Ð0 Ó4)¥xäG©ŒÓàƒ¥ÏGä YhŠ«ÜþÞ«Œâîhx /ª˜‘ጱ0‚a*ËÖœCi¦c„ôù&*ÀDz=E »iü €Þ9AT­Õ*Åì?ûG?æýÏ?Øj´ó™l5;òÜÙ¯œ8v‚jJˆ¦Z hÛ¦e² B„žç02¸–ÐwD&ŠhŒLåeâûQ$Š”mÛÙl6g9®ëÞFX+ºs5ß1×p»gç&@-ËÐ`¾Ÿ´Ú›®ëw{†cçî¨yRŒTFjµšifFF*Û­íåµÕ»N" ’¨VÔîvÛós’nè —'Ên·;7;»ÞY ¼p~jT¿øâ‹§ŽŸRPTSMÔÁ÷濞&‘Çkbˆ!Þé4¥ZkÆXêjÙívkµÚpZ¶»&ÊâF¤ @bó…ëy“D¢ªò…‰ Yò:…W–âÏ.¡ ƒ~ý¼Ùæ•^&ÉXŽéÅ sd=n.dh¨“WMÝÞvûÚT¶´ïøLÞ1˜¢ù|Þkù×¶ÈBˆmÀ„F«éLòZûBòêÎøÑ#sµV½ÑnY–uýÂÕÚÒj@(bÑŒT‘hÄ_úü—Oýíã â&ЦÈÓÐúêgŸÅ¦@B Fb!Ss„ó_8w¦ü®Â”¦i†·b×èD¯¾ðBïºK4 †`Pbýå›SdV¨lž—'“I ŒtÔÚÅ奧V±ĨäìN+”&¬šIV©3’Ÿ,;ÊÒ×´g$×{á¥W;½ÇÞ¶·½­±'rVµd½×l·Vì¸Ïmá™ê!Äå°îlUȨ¨·Ê&uº2°ÑY¾º‚Æ Ó(= ®””ŠBR˜ºéFýÑìþ»ö׻듕±BÞZßܺ¹Ñ*+ÇÆ¼MÕ_^§%èº Œ£øà¤y¸œ@l·êŒ°|VeJ™ìáL!)ôJmxýÂ6bN™;2n3íNkµ¹]šŸ™.œˆEg³~@9Ê«f±”+1csiýÒW_Åu bh!€Qp¢„’ý]Œ´¢a7èø+…bš*PM(ölŽjhƒ”%±D¿ž‰ƒeˆL4RP”‚ŠiÊ$ëËCì² ÃHfH4 ñVÒÜ; üNn¿Ã2ôõüvþXƒ¿IÉGÊ%DmoÔ³…ìÒÊÒÁ‡Â$°áÔ»õùéý:„öۼ鮽„”R c,Õ¥”j©)¥´O(`/Ñàû>4Õz§*¿¿³Î =$Þ2™È2Bˆ TBi­A4’é_ Ùï‚Óz·øEÓ´+è¾½Rß±fWªGÎMǨÖ[›I’ìÛçÆ~”øœ¹7‰bšvbh MHzöÉ™©#‰¨Ýiai£Ë&ŽÁxÿòÐDh ¢4º›ZëR¡T*%|ßï¸uwÓ¯V«·]QLõK!î<^SÐú¶±ÓiY¶Á9ϲÅB±Ým–ËÅ(ºã’ÝŒã\½vynnŽ0ò±~tqyéÄ]§Â8ÐË«K¦cç Ù(‰ §Ýnot´brlÕ6‰&¥RÉäÖ'~êGçŽ>üÀC®ëݾÎû¾¤»‹GÝÂÞF'î‰MßtO„² C 1ÄߺÝn.— Ã1 ‚z½~÷Ýw_¾|y89TƒÂ-+Nbp 4‡€ÿZãéö4Žœº«Ë×o^Xl-o¬£…9/JF®Û–DàyÿâËO_´pïcóaœl¬nµEêü Ãv’fÏ4i«êÜxîœùÜ̡ѻï½ç©¿TÛhéÞ`ß J*E€MÜW·þøÅO£ˆ‡8£âä™—.dm³³#Q°—2d0…Ž;Ïn–¿óÏô›^CR=ž-Tr÷é%Äœ)ƒöËô‚àlÛ|Š3N'ô"“tÝ^AÖ®ºh1á*)]~iamqÁ³€q|Óý߸ðêÕk \5möâLeÄï¶ê—Z_ºò%PdfËS³“…rå+ñ•4†—ÈqNuŠùõzcó6?·`ÌúhµZu]Wk],———9²°°0œ™þ£‹RÃ2§öÍ”j bŒ!\Ä«KçA…`~·§àPA¦Ì‘(i  ·ƒ ²Èm˜6 ©`˜fѤ›OTšñ9 ]¹ýÊöŸ¿òyNá¨~O¥”P J’@kÄÀžÿ㳦ÓHj>Wï¹¶¶]Ä „gòB÷„P^{bnBRÕYjú"F–ebh€2eDMXҀ燲K+9ÅH¾RDP7YÖà IDAT 4Uà’ŽäËQ·f$ÄK4B|ñìç3°Š°5Œ„è@' £~§f¦-â˜DJÝ”«W–"ܱ`F¬2 E8‰ ÔÂ"²¾—$JzµË ™Ö/LÀ)ÂlCôÜ8†¡„‚J•KйÚxæêŸûè Í!ÄmzWivM d’ä³™'5J˜?¼?JB$þõKçk—% à™æÐl®À²$ãä„J4h!;.2dKwÖ·ëb#Ö_Þ€@öp…UâxYˆ8LhÓ€iÓR4ñ:Asµyóâ’w£AZ­¬!©Ìä&¿Osn1Ó ÙÚòæ=G4_[yþsO'k@„€ä0÷®c?ü`Îvn^º~áù Û—·<¯Cëïúh@K¥µ”wªôDµ¢Z2-4€hM U¢˜Œß5r÷Cg&f¦\?Ø®µ¾ü߾ФGS‰L ¥D,©ÅNëD? nœ¼]‰†¯eÁM¹£1ÆÒCíÓåÎøÎwzð!nË=È-Ìd Yßív:b>—-ÛZ§ÝËäòwr…¢ïû¾ïçr9Ó4ýÀ“Jùn ‰6Àc?Ê›˜6be€+ª€7¨h( apÆSÝ&¥”ã8 Ú‚ó¿ÿâÿö‰Oüìèh¹ÝêÎÌ̼ôÒK¦i ï¦ylM5°ñâ­AÆ)AD)8s¤`I¬ Ë!éý\1­˜Öšhh ¢‚06¹•Íf©a„žï¹®mgòåR·ÝÃNŸêÓ ŒS )¤D7ö©¶J¹Q€jì´`ì²ÚZÉØ¶r=/ÈfJJrË´{½ P¨üòÿñ+?ù“? —Ïž8yì·~ç·&§§kÛ›R£TÓZû®'3˜'DÄ‚1~‹òHjŸI”&Ðo…Šai3㘢P;ؽ\ß4¢(T.—K’¤R©ø¾¨J¥¢ˆj‡mÂ`YV†Bk-•4 à ̓˲”RDSÛ¶¿ù–Rø¯g(¥ÌàI’J Ãð_1ZqÛ=Buz›ÕZ !„RÊÔ˳X,Öjµ‘‘‘f³Y©T¢(®ÅwÒ‡iúÕ¤Äâpr†xÇáܹsiëDz¿J/ì|p83;èv»€ÍšÊG«…íf·ÿ¤2±Ó8¯C¡‰DA¹q$ FA4, ~ˆ(„¦P ‘F±T ; Ù7FG”ôý‘³–åE‘AˆeYAj=×€ÅË´pž`Iw"ýƒ´‹–BAê4¼²H’$B¤µ£µŽ¢(I0€±0Ó}N%‘vßRJ9猱PÊ $` À€ ÙmŽs»á†È¥îŸŒ)CB ©Ó •ÀÌân7ñnZ†Aã(`•šÐXg`: ‘À+›¹Õ¸ž(IAL8 ~ a"«RP -¡2™LØs9ã"UÀRÀ9Dd)…Pi-@š¥wì´9@ΈU,kñæõk\_" h47ZŠÓù¹A˜Ìòb¿zŠQe"ñ=,Öa=xæFm=*•’\È,Îm–$ D+é^´ÝÞ\Ûö<j‹‘‘](ÍM%a01ZYo6LË [Ý#cS×^¹°ñòMHÀ¤,<ùÃ;7—ëzÍ–ŸOæ?pדëç×>ÿþ›†„ý0^.M*ˆ–wæMµbZ:æ:aZDHª$€`úÑÉGÞÿ·Œ’½é¶\Dßs™ÿ³_ú4gFÔ)BÛtzRTŠ¥´ÑWëÙûáîå_ J½G£ #;1ÆÞŒЄJ(¥t öOÄq ¢ !J)(µÃ +Þi ÷nš®vnþ êêõ+ûöMOí›XYYéø‘±Q§˜³L»Ñè)(n–¶cq !Rù%’n–jJt¿üAJï° Z)õñü£ýh>Ÿÿ†÷}ÓÏüÌϤO‹=DƒP ;eðØø-d8t*›Ã¡4Ç@ΚAÐR6:Ö Õ±êÂâÂf³1R©jMŠ•*ãæÂÂJ¥RAß+¨O MÕÆŽËÉ_ƒ[^ïqEVH«À€C+höÑ|Ï?þá«×ëO¼ï½ßó±ï-G3Ë¥1/p£PàFƶ ƘJ„”Qž–Ab//Õ§«þûÞrïp9¦ap!P¤¿ ($4Mû À4¡J§nÏ{e2¨&)µG4yóŸ'JbÛà ˆã”X‡&‰ë{¹B6£ â8&„X–•Íg,Ëj·Û¦mÕQj¢„JÂ8HyÃ!†bˆ!ÞnB0Bᮀêa72aŒAv Æl§µåv¢È@SÁH(`!²€Dm•tºMhB ™f³PÉ´‚ ´#V@èéžÓ®þ\Î!’E¡‹XÂLÀ…¤ äIèÐp£€±t5˜Å5M¥B@•‹•övSR]*Žê†€hœ€8¤ß§)Z€‰vܵTB,‹q^Ìäb7Òo¶ƒ0PPÛ" À p…tc4us§2$q+Õ J¨@X@2î ÈݰÓ2@aÜI8òã…žpá*hÖMâˆÐ˜jÅ4å<¢‰ähh†8 T_=ž‚T·„(š@ib™†ß p ©´¢Õ…•ñã“ë=Ï>ÿÔb½ 43~ìø)“óõÕ-ᇎc1ƒMÛ4s¼èd©ÓKÛׯ£Š‘ÙÉýûöʹvԬ׷"JA8£¹|q¢:Elæ$™K×¢N4s¦râîc•q3 ¯^Yt¡eREfùâ•Í×–z+!@ %(ÃܽSl ëdm«»a˜Ȍۦa˜ÖÓÊ•†qÉ”ÔRÊ;ª $PLK©%ƒ ©XªØFO#Øï!6f,wÖ6ÜzBiFd&sû?½òG¯2€Aù± qbg£kH0¼m1¨' „ ‰†wàéÓiêÞ§ÒBô#Gö¼n ´‘3mÛ T°´´0;{ ’ÂLB­ 3((¢(LdœÉ9"NvVé+© ôfqRÊl6;59ók¿ök½^ïÁ\__Ÿ™™ùš ÛÛzK¯Ö'ú,CšÛ`¼îϼ"âüÕËÇÈVmS)peÓH•+•´n@1ÜÒ[qÛ½üõù°Ý“G %4ȈphžÍD¢ÿà÷ÿˆ€ë¿£T,-­®BÊåjEJ)˲lÃTJ)"¹M¤”zp ÝÞQ ïd~vØ7É2;ã4v5Pöδ¦$%eŠ0EûÚ*»f1”jB4}ÃúCEÔž¿Äë¦RJAG"Ñ1ÉÙyÝmwzݶm˜)¿@B‘ßu;¦irƒi¢LÛ –cRN˜1¤ü†bˆ!ÞŽP‰¨eY‘Œ %,„(!QÈ>Y|×ãOF1?÷ÂùÎÅ‹à@€È Ñ X˜À`âÌßy/in4Î]ÁJ$€«(/ªÀ,T¢àSGg&æÇëµzmu;¼ÒÅÁU!"Êa 0@Ó˜¼ïð¡“G·˯¼‚ZÛ–7C$‰BSxÚN0‚ Ë™rÐî*¦‹ÅboËÇ8ÄšRM„$šûг¢.b"ÖE;Ÿlù$ MÀhœ¡\HÍUÈ=‘ñ¦P<1QÉvjõÆ• ¼]Wˆ‘(ÛŽRÙÔ%&pãî/¨pI^ûݱ ]‡'à €0¨TñÌ@’ëî»gß}ÝËLöÔSÞ|ºŽcÃïî(!‚BI` `˜{ìžýÇyûÂ3_År`ˆ!‘„ @€pËö4ÈhâòË—öœkø­±#ÇUe´Óórù¢Ò¦¡ì²AbÕ³|Fâ$ˆl%FEŽ3žÑ¥Ò»«DÙ¦Ãc’¬$†gMˆ}–a2f´»­HDr#_ÌG²ïŸkî¥*Ÿš©7‚`­qõÿ~à¢Zå¾'‚uï/3C§ú¦{qó|ç…V¦ïž9]pŠ•}åæf+esÒ|iŘ"wºkH4˜VDk:¨yïûV01”¦ËÛaãéó_EÍE­Øôè»î~üž•Ͻ*5Dð÷ã€hEÓ’=äÞ† C¿kaçÅ0ë{§=z´ì&+´_])¢.ß¼jgí‰ìØfk³X.NV&‹“•±â:¡LçœTAj¢# IuãnÉÉè79™¦©yãÆO}êSŸúÔ§&''-˲,+‚Áqûî·¥«{:«†ã_yd¹šÞÒ¢²CôsÞ~® 9ts{1 “é©}³·ê[I,g§f{]—öKÔNrNª oœc“[`Mû PUÉÝBt½^ÿÌg>û‡ø‡œí¶ ЙéÉ8ÐBk( Á"©Dœ0NÇ–2¼…R ;úήìNËîuøuÇ;ÝK­èŽÃ‹ÖDQJ`(ÊU’ÒÄã³¾HËè'ˆô÷Š€íY5;'RpÓŒ’XSbX¦2CÎ9³XÖÎ¥¤’~â#í°°w¸”Ò\/öˆIˆI(¡±Ž¹ÅµTDé†!†bˆ·4,·c‹òH§j‡1l8ïª<þ»$iú>lëïx·ú»>söKáŸ^ĵyÀ, Ü]=øð=…ñ*7hÞÎŒ>0{ϡڵՕ‹×ÝóuXP¢°SÕ¹ûfÇWœQ‹8$#ËÓÞí…Æõçoà•Ú$IBä‡Î¯ÎOfÇ+N%Ÿa“c^¾¶·‚õÍç!Rã å'žŽqøñS± M]±G#¦wúî^û­sHTCœ!¡˜xp¿9íăP":½RqÄÊðãǧ7Úk]†F⹜!20ÿØÁò=“Ùe>eÄVg<)‰ûçZ—êË/,ÇçbÝES`€…Ò‰âØ]“£weærA&J¼à›ÿ—oj\Yí¥ þE †*(ãÐ7ÌŸyø>¤Ói‚¨÷|ëCú[3O?w}ûÿ½Ð¯‘€ ÿö‡ såÙñvèV'>xÿþîÚFíúÒkÿåìmy¯&”&D B„¢ H"¢yþæêµµâ¡l.SÏMŒ±jy$Ç3K¯]¿ðìˢѵ•Va¬¥®Œ?2wd¿3•½\¿bdÌŠ3’C¡·âݼxsõÚ¦ßñ2™l¬ÃìH6{<›É9ùbÆÊÐìX)72g•îâÊökÛ¸ Òƒ)á.Šˆ#¢¾d‚€ V0H—"Úp³!?`TòÕÑÑj“´úaWÒ÷Å;Mñ)@4¡ƒIïÿJÀD±˜·ËgIˆ`ð”W‹jûGÇ` ‰„R€Z'¯?îPaþmE1¤?ìürH4¼£Î¢N}%ú  P’jEÔûn½¶ ãål.ÛF·ÖÝ>4}„†RBj¡‰¢…BÒ/#Ûõà@5䥷Ûm³OúÓ‡zì±ÇVWW¹AÍ “ÉìÜlAÔ`Dÿ}ß|â7¿Î˜ÞôIj¦ @ˆ ¬?áD òS (EtWtxžOŒNXé¬dr™²]ZܸY*”tߘ©ie*ÛH5nÉÀyu¿øeoš­ˆRD¤CõÏ; lÇŽû³ú™Ïýƒóç/?y,LüëWoVK“”¶i1Fâ8‰cA­µ¦´ŸVë¾[ã­À›ŸŸÝë\½‰ñÎcÁÔØ%}Øé” % €†¤ „*Ê%UŠÒžÅmU!tåä`’ÕÞ…ùz·jÃ0zžkg3…|¡ÓíF"1Û¡YÏí0ÆXÚJ'µŒ“XkÉdb?‚ T*Å2VPAd¬ Š4 1ÄC¼ý d,WºZ (( 'Ÿ¸w‹vJ._°ºu¯ÖY4JÎÔ3á\~ý3g™mqÅ$>zjnâ䔓Ïݸq£îÕFóå™#cåñ 2ñÍlµÂlvÊ bV ó§æöß3ËˬîÕ¶µJ¥Rš(Ï– Ä2®gô¦Gh¡µ;½µùc³Ç:Vžßè5®m_åŽ391}00Øî­öyt`ö´uôÞC§Ã"5„ Ê‡Y2Þ¿í•kxÉO"p@I`SwÏðq“;VÐ몚gqŒU'û8óíó+7‚Ї²ŽùGËqR)Õ¼•ÖÆr¥X˜/Ûi Åt%ì|«rlßñûe«|«µâmnjJ*‡'”92I§oæÖt0Á HSŸ.ŒVkF×÷=Ó"£¥"׺ÙëyâØvë:| nZŠª8aŽqô=GUÁqu´ÔXœÑ¹‘‰ñì8cÑkyÀè°k(I cA¬¨i¦Á4 UÃ+O½4ßÛW)UÃDto¶W·–®½r)|±±ègÏ^¾Ã[K¼íçKÕ‰b‹°á57›ëjK¯,{K]HôÐS­Â¶_s»õfù@©0áL”ÆÛMycm!¾^[zq±Ìˆ:@P p ‹„Ǫ‡éÂ\çHW7åÌøÌH~,i$‹×ww Ñ’JM¥¤êNË?ᆄ ””éGví•ÞæâêȱÉ#GN]+.k¢çf¦#ÖâM”ÏA„0mC ­NÞ;lêA¾ˆ†Û*†DÃ;ó\¦9Q J ¢4Qço\˜=8/µ¸péµ?ùÜgξúÊÁƒ?ðxìÌ»«…œ( %‘Ì D ˆ#ƒ²ôIv«š‹"w¸P'G§Ývï©§žú•_ù•V«eÛöÈH¥çöÚ!úÖ‘;‰ëpüëŽ)“›þ( " ’*'‰]ª—ˆô¿ÍÖúôè¾Oî7ÿ¯ÿøŸfgææ¦f8ü‘oûn×ïR¥(ë—¶P¢å »ÎÉ{¹†¾ænÜç8ä€àðÿD€°µµ¥ýœÇ h(hHF¡i¬tưt2ÐBˆ¼V/¾²š¿¿zèÈÑV§·xé*V"„€ÚQ×$ÐÂÂWk çj(âÝÓloo-ÔÝëZ©O'/:E-U7î¡#š/×›—ê˜ÃÌÑ‘±¹ÙsåÍ&Ú@ Z1 ¢HQêЕ‡P@PEvÖ$3ì$£Óå“CÓ¼ÎòØX¹¶-ˆþ^U­¨ÐLj*îÐŒJJƒì ©üã?ñc­°óÓÿäŸæÌ™g*ÅŠŠt”DãŒQh[œ1ÿª¨5jÂKNžK[n:çÑðúêµ…©tÏ~ýÆ/þô;Lòð0À·@@©e‘ù¥•Õk+ˆ…ʵ`ÊœÝ{ mç¡!5 î@w§¦f®²»A6+uTA ÔZªÕjÅiì;pÔ:´?¼xÀpàđα½—6–7¢×ç„gF nRKP.ܬ™OgQ‹Ë wo­t¶Zˆ }íÖ­=v(GH„^Qb8)×É^ׯ¶ë›ˆC@„Ë‹7…ÎîŸP×7V‘¶=¦×jµcÅ´Uto^¾ÑXÀÃÆZ}yc^Z|²0m˜Ä ”BCjM ee¦ËéL&¬E€J§2 앜&Œ ^/ž7œTÜôˆ¦ Š N dZèà Dõ|kÇ ~¬d÷åFIŸ«ÊbÐ\Y5BÀD$”V€`†4\FÚëî;y mEžTz®»zguuu9—Él­UpWôH7$ƒ" "qÞ…¤JPu¯9CM”¦RB²^)(¥šsÜסõ3³.`¥ƒE?Žºª=ó³' !Åñ²›†Â­Z)4Ãz’¿4 ¶]½$©&{m°½Æ^¡‰î¥©@  UÐT} ÉøÀ^%̨ÞÑ üÎ>ó+‡ÝXßanø>Á×—O¹×ëk_ ‚âû~*•bŒ†!¥\]]ß!#|“™&½:­z¬{š‚(srÏì³Ïœùõßúoº²©¡NйxñÒŸÿ/ÿ^wÄÙ‘‘ù¹»®›IYv­VcŒi©·±ÀW4‡+Òë§ Šo¿èºnŒˆ;ÜrÏ}î ÿõ_·Ûm"@=Êeò¶mþ? PÎLB(!„1ƒN)¥”p¢Ó}=‚Lðe˜ ¡ IDAT: œ›‚H’Ò,C¿ò¥kŸüûg;­.Ô)S˜\ û ¤BR˜aTПÿO/å܃k‹_|ñù³÷Z¾³ðÙO¿X]ùï˜"\Q¢)S”hšPÄL©¾4é6rLvT0“{‚—‚űíkS¹VúŸ>ñW>üß²…­µj>“A¢rB{I{ªÀ3¢”ÅR ’1:26|é¥ÊIµUÍæÒ’*` =iMMɉ"÷4Üã2¦Iªñ5}{O@”'{>Ñz» Cª0›MG±ßj×Þò–Ççç×§&'â8dßÊ[ôŠúÃíçQ%¨DÂé A4§š&‘Mç^¼|f~séÿ«?'.}ê=O~ø§ÿEv6ˆ h“R¡H ~áÆ—_ºòâå—>ò‘÷‡ø‡Ï^yæÈ#ϼøÍw¿ýét&eÂLÛî 0° ìežç¥ÓiBÈÖÖV©TpëÖ­áááÁÈ0$r!çµÈf–Pˆ ¸yùê{VÙÉâVw«àÇXé¾ÙN: ¹jUâe0м.‰²±÷¡K_½Œ&Œƒdÿé2eo‘OX# £©´ßi‘'S/˜Ù–Pag‡œ¡ƒæxÁC»é‰œW+jPC9£C¥¬Y-4bŒ`âèdÅVå‘ò7>ÿ,ÀƒhÁvâ°Õ¦Tiÿ¤Ü$çÀy`blvZPºUo¢ 7•Û1@—o-[û]×ÍL¾ußÒÚ–ûO—÷Œ”#š 6Âç."ÇÙ³güÜi ñÒ;Ê[W+¸;‡2Çßr07’ªùëM¿Á7 ^ó›,e2æCÎìC³mâæJlòô §dv”ïEmåšdÔõ;ÄD&oeÊ{/-Qõ0„á·r™väés¥Õ B9…|Åïš”í«zíæ•& 9XDÆâi;hÅQCw½P'ÅŒB”R2ák€‡(•Wª•ÁQ¸€Úw<¦a@e¨Mi¾e‚jXýÌ} Èr¢„f‰U"!-ÚÑ ¤^ð^áƒj5 òŠCQ„Xcïtï{×Ãëh­Ýû&N\üûo¶nnÅÍîé$€ %Ä$š„ ˆ(L Få=¹D‚ú !`*j‚Ä€A@LŠ%$ð"YGõNÕ Ì·^zäWÞ ­ïvWO~ð1o왕On9! fY4(1³‰Œ"öc’¨ºÇ’F’Ieò¢¨Ó;éÏ}'¬!ùGÑ;R €±0,'Å åܱ,ßï&QÖZ)¥”’RJ)µþÑ×t' Ã8Ž£(’RFQ4;; àM 4€ö£µíG\‚`µ²òÄco[¸»8ùËøŸøÄ—ʹ‰ßùÍ_cª·Ó„G2áLf}´²þtWQÑÈ¢îI©ÙÉÿô¡_-¹2„ÅvÔ¶)$Spz·nÕ—VÓ9÷Èñý3{A T¶ iïmšô>E4¸{Ã:o.dõÚ1R ¶4 ;Ç(Vé • Nòùðpš´;JéøžZ‡Qš€I¶«nJÆØé“§‹µâ'ßý‰w~øÉw¾çXíÄMMI‹Å­•¯>÷•¯¿ð•ù¯éWÇ~Õy÷ûžþÇ/ý£ëºš¨Ó§OÇíøöÒ­B¶4Øm6°ý ,N''Åb19™žž^]]ŒL²½šŒF¯”‚ h†HÖ×·¢ºŸÎ¥…•&[Ít;SgBv #ÒJ…Ã(LAŒfùÂÊ v †yÃæîcÞ÷0þßhð –“”DAx~'“qïñš¶%?ènœ¹R©Ø9“.!ßõÎ'ÇØHÍ\.§”žxáês¾ß}úé§GGG[a3oe¹ÿǾô¹/ýÓçÿ)ëä²$¹‘­íR®Üj¶ÑÀ6°Œ?£”R*ŽcÇq’WLÓ ‚`02H²>D:†CXÌe,·«ë·6ŠG ã©Éc'OÊݺ§¢‰f¼RŸÿÔù l¡‚Æ=±êèÞôÐŒd…QÃ0µé(+Þ×Îߺ{íº*ÍóßGj~üðØþ·ì/Oå WZE™ÊÂJ)Ñè®_ZœiUa’·ùBçfáÁáã§ÈO”Kv¶•2ÀóÄ-Îêâ|m¹µM.Gxñù ýä»í‚ —ØnFPíÉnwýÆWo€Â„bˆ9ÔÜ¥ëÎ\Öqs!%'<ÝrW²#zä5ÃùKwИ€°àãf;—É•I¹ìæÚÝ¡r¶hÚË­ù³óËW—t[§ WˆfÓ™ã3û,‘!jN±€û¡wÄÛò®Î-œ¿Ž5 p©?þ­ó¦²Žç¥?Á )Â.²x}íòs—Õr„ … ‘žÍ=zÊ303}tfìHcs3KLkƒàjcóËØ‘oK27J+®I:ePDH@( {îß;ýàxªl»CC⩃‘¼xæRõ³—#"áBh dP<½ÿþÓo1††U± û¾GÞÂê/Ÿ]¾òÿ]j,uÂL ä¾ì©÷œ*)ÕѼZ»tß{OK›{7·^ZmßhFÍnDÈÃyG1óÀt7k ›Å`³µð x!€†¶çb@ƒPP©U,(¤V „)Á¥‚²{vÆzÕ²ÛþŒ„Òœ²XÅÊN™’¨n7fˆ™kHË3í‹âÒ¡‡˜C)Æ14œ³˜Q¯Úޤ§‘ ]F`3(À×€ìË1E©¦”hºÃ=‰]úwûÞˆ]D´ÖI{s „ .¼ï}ï{üñÇÛíöÍ›7kµÚÑ£Gëõú›õïæÂK4)‰¦W¯_Õžx¤²±ùÒ‹çþÏþÇýüÄ“ïÞ¿÷€IÌ ÈHzmÏ÷}Ïóâ θÙoóå Ãÿ«T4‡*ôãn³Ùìt:„Åd&þ ”ôèuÈs'Tít£ÁSú:ša˜±ÖiwU»ÕY÷‚ …A¨{†) .Ì>Ð $# åŸ~Ç£/ž9÷éO|LFrblÏ¡}ûúÇŸèzQ¿i‚$xoϳmÉ]¬ ¯déÏHÍD¬cÊóÙT,£ãY›Á1Ðj¶™™I>¦­B4Õ´Õ,Ó‚¤ A€8V‘ô:ž­ €„ë´ÿ3¡&ä#/$JýÚ÷ª Ñæ ’ä\ˆ´Ö2è€6-ÎÑZS¦ …Œ÷¾½½ÚßkÛ¶ee»ü _û_þ*¸ýÄ£_­-þå_~ôì…33‡§ÿö>vèÈßüÕßô¿ú—¿ö©¿ýäÏÿÌÏE*¾DŒ /]˜Ý»ð l`ûMš*9ølIÝå`d’}URKk „Zk láÚ¹[oŸz|åöZÄÉdi¦ÈÆâ(Z¸ôì…¸„ºq0eµ*VmäJd¨P.ع áwÖáF·þâ:. Ķ/Û>L,­Üqa¦ùþâp6·«Õª_kuV:•—Öð|„QÔ‰ À@Slú©Zºë¤2–k•©ºjmiõæ™Ûáºî$ǦóÌõCOìã"”EÑ Ð\i­U0¹©uÒÔ@fs88~8×µ-o­En¶PžÕSÕµëØð{õÿB4KuüH· "7eæ‡ %=–nW:ùu(±€i`,=ûÀ”=eFWÊŽV]s|bdÊÉß–úìÚÀìí噇—ÄQµ‚[Ï\j|-€\D‰ì4´‚$‚1M$éwl[‚ I´"ôÞ€ÊaŠ$$Ù= JjÕQ5µ²ÐU$`Ch@ÄÈèÆþ™æ%ÿÊÛÞû(´Z¬ÍÏžáS‡ú" Á™-RJBÄ=M ¢9QœÎn¯o½ÚAQÃ÷z¿l±Òßi*üÈ ­VksssïÞ½A”ËåÉÉI­õúúºeYoÊGã•¥ÝLâ°SÈÐSIØÎÀDÍVCŠSîÂ÷Åʲ ’ò@¹ÜÖTw¢P „Ïw®]<§ÞþPÓ4×—ÖÖ–6ˆ¯:k"¤Ó)¿î1@†À*®âÚ w'LŽMŽ´ªµõåÍ­ÛUT´áˆX¨ fñÎ.œÅÐÙÉc3SfÂ8^_Y_¹9¯%ℌB†µ¿ùÙù}ÇFÓC†…ÝŠßøô< ƒ!3íGd;Œžmã]Ú,Ùµª™r—kÍc¹á…g¯c ˆ¡%1àp„´þìBçÖç¹éÒôá}×®Î]¾+çˆA¨Òi×nzAåÊÖóÍoª”*ÏŽŒî‹#qî«’ŸFDÁbT‘PÈЋÿï3?þ ßç¾óéÇÒÔúúמyþÒyƒøÐ€•&Êбl`þK·ç?wûð;N<øÀ}ë«íO}ãsÞ’E¦HÛ몷½P ¦ÀˆR±ïËPˆ$@ޱƒ{ y)ê­õ»›í–/¥YKS펥ý™·¡¤”šj_…!WC“£fÁnWjòV=¨ÔƒT 3-™ce›§Ìt&‘QÚ0†²¶0^íŠZMø]™ncA3y5 %ØÒ(Sº§|ßC÷5[Õ=ùaÕÁ7ÿákú:¸ÑLÀB  H) ÐãŒWŠHÊ%e‚*Iï)ëC5vQ€%éH"…ŒÁ•†Àò@´€fœ8Vò¢ÿ žüýÎì™,Œíçx'ìÀ@ÂY8B 'ÒvZ)Æ£„QÝ£~ì##Z“Aeõ÷á'ký dawÛhššB4›MÛ¶“N¿µµµ71Ƚû!¥P·nÞ<|ðàf¸4»Ú‡'¸»°*¤½À‡5¨ µ¦š1úQ’Cøn@ÃNEƒçy55×q'¤”’ižæ¤O©wØIŒ›Ô2èÝåõDwºÕÐð:¢Ša -˜ÒŒƒ¨éùõ jÍ…äŽt "%da•THK©ö •×êk¾B1ívе™Êd³YÇÒ¢×€Gu¯å*AÙNº)¨>Ô•Ôèí·h&mfš1¡H¢@Âb9­c± 8Ð:iŸÓºÖX¶,Ç6-'Í”¢qì·Ú-!Ä. nOuÝë¸ÓoèóuOdœD±WT*ŒQ)µ”2 Cß÷}?°Ì{NֽʆHÔììô¹k/ œ¼½l:˜ÌL8°CÖëµáòp„°*8Ú ø¾g3k¾z÷Áýoé]ª­nMGµ\.A áÀ6°ˆµÛíL&†áüÁ|ñ‹_4MsÿþýÕju02RÒ1L’H-)˜F*Ò-ø€ðŠÿ©óGI–t(S9YóPB@ E“œn´‚³ûÛ”€Ø“ 4ÙŠEø­àæõ[7í[ } H(3A)àDĵ¤Ð>–*óKçç!Ð#P€5Måi(LOäì3ºmÙi£”·òhÄäJ”t¶ Ä}†.Ín·¬áBØ ˜e¢0’H6Y\ŠÄq°¦Z5¹¹²rë«+ú‘ê_0 •HÒï• wW^XEÜ J!À5LP"(5 À‚˜ëþãü"B@!2!Lð,쨘I0…h ×?{éúg.€§z~»²£w°Z3­´†Ã˜–!B àböÄ~žf baîÚâYLì†æÔrRhÔ›Œ;e)hId •µk‹ÝoTX Ù)^.äÇG ÙTèw^w]ׯG4B6kò|ívxûÜÂÚ¥pâ­Ä"º<Í‹‡‡=êÅÜ D{Qk4[k­ß¼¨¯èdèÆá0Ž9”Ï m-mÞxéVwNƒ %T/_È4˜†V”Þ»#F5%šS½í5)IH`€Lböý{öMuÚÞÚ­µÍ j90Ònìwƒógùó¾÷ÍZ:ÊjH¢ ø@øˆÌ^5P©A5gŠ3B©¢ýŠÚ/;Uƒr†ï}iRJ+µ 7B’Ú´oçKþÈ ­VëÌ™3?þøµk×>ýéOŸ8qâÔ©SoÞÖ õ­IWLON5› ›š#Ã%­Õõ×òùüÔèª,*%3™‚Š‚ˆŒøAOä²—‘î¡îÓ4ôtúÔ6ÐÀ97 C1• Y½ŠGÍT¨”R=!]ëN«Õê4]á¢d”+½ŽÆ¸æœÇ:JG„*F4§`„0hFto3 %hÖ«¶â¦")ÂcEÖ—³Ù±TÃÛÊr%–SÍîµ+K—6¢š,Žcå²&é%s¸¬óYnÙ<–a7]§-Û½ôåKÕg:Ì€’0‚G>øPá`®X( /ÊMÆg§oÅ{re4Ýõ¯7È:‘èä€ ã˜ùÀ'§ì•&ÉŠøÀý‡ºGkŸýóÏÄ^7—)6·ªšÏËßòœéT7î8CNCÀYøÝ&CF@ïä´"Iõ8Õ,¡HŸ0²'x9°ïhHøuv£ Œ1(ùæfffÞÿþ÷üãÿ¾`ÛöSO=uêÔ©77$Õ/ÃL 4lÓnÕê…Bainarrrzl’€ù-/!™e#šh­MnZ¶Ç1¥TEA5Q$9jª‰Ò´WѰ­3@z½”RK!„B)Å9g`”&oÞÖ¶|ÙêCÙ†IvŒx𔾎®çœs®(U½ÇžÌ0˜ÑÛ,±›MMcߟì4Í­f.—K®RŠr“S­ÉÎÜQyPÛ–jhÑÛC¿ ”q1—2Ìår;#Mݬ4Mfngò“7'*ª€êt;qk+嘌+¥¤BBvæÒna¢å^êŸüÜk9~ûoH9iÇqµÖív;Ž¥ã8¦iR¢ã8¼§™¾ ìW*ªC‡üÉŸü 3éZm­4Vâ„ÞÙ¸3;2»°ºðwû÷¿ñ_ÿ:gl­²Q*•r$³ÞZ/fKµJ=ç˜bwïÌ•Æ87k•:OóÁS4° ìbRJBˆbdd€ÖºT*u»ÝÁÈ$ÛÓ† Ñ TÌ”2€4&Z°,~íG±/%g€‚RTÁ¢¾R~!r@€:‚´6 Ǽ`€”ÐÝÈ_FPà&¡‚JEZ^À“Z4=pÀè (2 HhPF–ihJ¥R0Õêz~&L•Ò’ªîVØît±ÖàÀLè¤ú}ˆR j¶-KÆ‘ç8vuuC@FÜ›,é€rI2@ž{*Þæ¡L2^LÆ^,¡ `è´ šº¦‰HGˆé.‚þ’ÁºaKú&„­i’%W@¨A]À@' ÉÐo“Wm“ó÷¤”<±8 `¦ÌÍµêø¾ëíÍn§ cÌÚ{ôØèðHs«¶UmrF¸IÁ@ÚJ•é·×6Érã¹ôðH&hàw}¿æ2¹¨ÕE³l–‹“SˆÝÛÁíÖb(LLf‡J0h®mÆ¡ÌÛ¹|jxØÍ~þcŸö/DdÈe†B'œ8<ÓÌ6ÎÍ_¬,WŽÍ9yêdÜ•·¾~,iFP TKM¨ü<1M¡û̽QR $ƒ<ö8xôÔ±ºh¿péEjY?™ÝŸ9ú㇯~òzs³ZÊ7ƒVøR§~¤5=¹'ðÂìDnÏ}㱫7n®¡ÓR܉Z!ÅN D²C‰ír~@îŠk äÛ¶£|[/óÛQ;|‡6Œˆ5›Í‰‰‰ßýÝß}Å+J½Y§‘ÞÎ$ᆱ^»“v3"¥BÉïø„hXÜDH˲¤”Ýn—Rê…7™ëºÜdÝn·Ýí¤¬T6›m¶›Ûw{hhÃ0ºÝ.w¸ëºŒ1¥!DÄ"e¦¿ð©ÏÿÅ_ü…Öš3óé§Ÿþíßþí(Šú=öºÇÿ§©ÖIK?ÿ>{Ô¶Û nu»u©›Ê3ê(IÀ¹ˆ Ó šCóÙÝÞ}3©!¿î1ÇÜ IDAT˜)ÃŒ=©@*“ú„„GƒôÛˆF:ëv­ÀÒ™”í¦¤ˆºÝnÇ–m ¡Qêk"h@BRnškÅÛ~h1Û¶Ó”šgϼô[¿õ[¶mONMýìÞÿÁ_üàÚÆÆØÈX­Qwì¬ÖºÛíú"r‡S31cÆ®¨ýƒîh¾‘ (!Ä0 Ã0´Öqk­cQm/¦„íöåëLÑTkxÝggQ¨…{¯È /×…IN|ßg„j)Ëù’ eHâñ¡Ñ@øcÃc›Zh]Î ¡}â¹F:DÞÍËHB¡X,K)©¦ŽãÄ?¤9cl{Ž%8o29ƒ3°7%‹j"¶­µN¦·mÛƒ‘A4 N¤F@!ˆ¢žÏ0…Çß’¡ù¹óëWï$Õû²) â@0€*@ˆ{ôè¾é™Í¹Ååo\N’ö2”.@áR8žÑíÂJpN¦fOÍÍÍ…Kn!„§3©œÑ1=´Öíõð;È:rìˆßnݸtEÔ•Ü€ãÂo€¸·+Æ@ †ëx"²Á”'¢‘´“ÔÉGR)À0áû€ t1(ב%B/QÖä @œôí+„¾ˆyKˆH3@–~brb2wóêÿ¼F5éà färÅ5tà°%à¢ü¶üÄ¡ÑõÅ­õ/lÁttÓï\X<ÚGLÒ(ß·&ö;Î]Tº]ƒõJ'¨E“*¨=æ£ïùñ­ÊÆÅ^@C£(À¤B@÷3½ RiÒ—õbR>>þÿõOþòOwTµpì¾ÎÐJÛJã{tqd+F=2¦6¸î„~[9[F'$7µ§ñHl¤²–›‰ÝL¥Ò2‡ªƒJ…†mVÖÑFºíÖ”˜CØ«ö>NaQ›~íëך7Ī…BÚþÆùr{.q(Òm·?ð+?'ÓìêÊÜêÅÛXÁ™ -MäÆË¥ãÃ[/nötƒ ½ãëõÙ. î`vßL;è<ñÌÆò<š¸UÊŒÚéɇF®þóu4ª933tÉÌÖ U]­Å­|¶`ìwØOZ«?ïµ7àé0(´’Z2ƒËPöÜȤ>W'nØÀ^C´Ù·íå:1˲ü8N­u†=§…Ò¥ÿY¥Ô õ&A¾{(ݶvKÂ˸+DéçEur^)ÍÍßÙ¨­‹E•ÊsÎç犅â=ýp«ÕZ]]ýßøT6«ŸùÌgΟ??99ɹ¹ý˽Õd;  ¯çJÀ¡%4Ž\€M “ÿÐ4¢äýDõ…^¡M“ÞµmvÀääîüÒÔôÃÝvÇ£jµÊ >;;ÝÜ–EÔ½[Lª44‡Öë_‡VÐìÙgÎüÙŸþoo{ûûë¿ùñÞýãï)—GïÜÏe a ©†Å\f2ƘŒ•„Q¶ 1¨^]¥ C†l6†a†Aàocm„(Ã0èmÍŒ]!áËÐú ²»êa{¶'ušúõ€ÒU¤SQFA”Ò„jÍhJ˜¢LQ¦¸V` ”r(ɣГ¾f‡&P=ào`ØÀöÃçÕiJE¤];ÓÔ5Çr|é(>:|ÿS÷1‹˜2ej{öÔt;xð™KߨúÚ€  ~Âÿ¨»ï±‡òãeJéX±;aÛf«º51[n¯V«w×®}} ¡èo}ÊïÜ׊ê8„jB55i³ã ½ëþÚg¯ƒ2A'— ä2 ÊV­5f&fí®˜<•^ ;r Ѐ Ø ¦î›Ü{zßF)ÎÈ©`äxI=ÍÖ¯l\ûÊmy#ˆ¨)x\>ºçÈ[ØSVjÊRéЙÌßÿcþjüâ3Ïu¯V¡J°{ÞväÔ#Ú®íw[*ŽfîŸÑ1ûÊWÏ6Î.Áï©0( ¸˜}xvßÃ÷™Ciîš®,ŒŸ˜ÖʵÛW?;X!éBUýD%P ”RÂ0 „¬4–æV²{҅„“ ˜s#lac}sýîbwyÝ2M"euS…ÌÞ#Æf÷䇇3Ãõv+£í1»¤7¼Û/Ýh¯Ô\nw†§"áÇ&Çîß;u`Ôœ(onn9ÆðdzØîF7.žoþ³@%PMêb4`3( ÎÁ"ATlëZ«Qm¶Ýfkna¾(‹£“[ç6{. …¢JÒW2Ó_µ§ÿ­·ƒDoRk…ƒùɱñ»¥¥tWo]Ÿ|ò¡J}àšÙ†ò"–‹K›kS΢¨.Ü>ÆñôñI¿Ô¯Uq54WƒÖŠ1F£mg%TÈ ¿/¯.<ñêb4¼ îy¯MœšPµûñ!t;Ú†ÆÇË7.>tXA­o­K- ŃXåJY­4¹”Ò²¬øÃ¦aApëæO}êSôG´²²’Íòoìu3Âú R‚2$±=z}ï|×Èk®wË?WA¬v)¨\)߉<ÝØ§”ÎÜG«×nŒo“žÚAÎèñý$ÿÏÿůh­—Öò¹bà‹8Ò¾ï›=àw£0ˆ•R–e™¦©”“ŽcJ)wv¦d†“~Æ'o "#­ƒäDë¤-€”’‚¾*¸ -^‰÷í\Þ6îÐÿ+¾¢cúª FRÝA¥Á4”& Í&¸¤\RN)$c T3(ÂÀÒ/ŽPŠPJ¥dÇ6° ì‡Õ˜TÒ6&`X<Ò\r<øØI{Ìâ. [Q­±)S¹ÌTvÊے븢ÑLÀR(Þ·gòÐhn(çû~Ý[¥R”gó1x- ¿ÉLȦ-§'OŽÝ7™I7âf£æóùÂH>›*‡¼Ý½‚% ZÅ\HêöôPîø°³?[§­f­fc‡‡'&ŠüȾkÏ} ZH‘>ðØIß Òn®Õ¬¦Óéa¥pâ‰û¾zn• 2êÉÜÿŽ“(ÃàŒZñV;7i2“>púhý¹-HÀU }d¶üàLvÜh¨úÖz¥ÊäÊyzÜòb5—¹J®Y:-[5r€ ÝWN §ªþFÐöL:3œ·†âápä.­öÚ%$À`Îæ¦žJïÏÕëµfÐ,dÝ”ãFA|ø±ÏE¸aP‡qÀ˜}üÍahOvauÉqk˜ólzOþÀÕsóXÞ¡xPZ I¨"e„q(°Ä¿ÀbLUPÔ“Sf&fýoùîÒŽIªS’)ñòh㵘¤JìÄøLQ¡¨¯4j«uf°ra",Š@‰Ù}“B‘ŠášqÃF†Ã >-ªR¸Ð½PVta8c¥øè¡ÒÔÈÈ…ê¬õÃ!0t¤cÊé¶«Ct¯Ãeàû¼>`(¥”RýÝP›AÔ÷£3ôóÏ=]~QЮ¥1`—®ÄÁC׃Èß3fRk½¾‰p²<tÂ{úuÇq6*ëãc{>ò‘|þóŸgŒyž7>>Þéôå3‰êѼ\ ¥ßÐ68~?Çݔ߰“QWÛ'𼬠騅,©åÐD¦²öÂÆ‚e£cã¡o.ܰLgÿ‘V—B´Kít ª÷;@-Ë*fÿðü·ÿÇ_~tjjjxxè¹3çìÝ—vrBC*©TÅ1cÌq¬hÀ¶ˆ&QZSEô:ÐjuLÓ´,P„0J!¥–2bÌÐZhM´VZ'Íh´ì;S/{‰|Ýj1H¯„l7®A4aŠ’”I!\+AIRËÐçãú –ƒ¢† l`ûa4Â7i hy-X“<]N¯¶‰bAÛßÚªÛM{ÜÏNfzÏ#µ#]™©TÊ49€\.—J¡µµìÝÕÕU@³ýûóåü裳֑|![ˆ¼fÚV:ëš)«ÑjoT¶*[UY"¬lfәɣәátÄã¦i¶¼N¦Ï–ò Ýž_¸SÙ\ŸÈ—Ü´i踜ÏÃæ5À<@bß±ýÚ†sš­­¥ù5AõÞ½…tξ9=³ñOç{’G>ì‡íÌT¦šò‚ Ö ÖÛÕ;ë»?¸wãÚM¨>õã8ȈݲÃJc£R[÷–ë"#0b¤ó™½î-)aD nšf}«šÏeé8otósKqå‹C~~¥PÚÿèþÒþœ¡ µîx^LõðÔžT!½Ø^\\]Œ;~w¨XˆS±OrôíNGhJ(ç¹L&ŸÍU7+ Ë7—W ÃÈæóC¥"ɺÅÇ'«_Úv(’Ôˆ@¬A`@ƒ+XA´Ñº4ÿ…¯Ì<РûŒ¯ìO£;r•}‰þæ!¨¸»¹T)û±·ÔžÍŒMMO5ÚõvØTLiÅ™êMI Mi¯?¹Œm)J¨XDwï.þ›óßÎî›þ³?û³‹/?túÁV£å·» †eØŒ“0ã(DkHJw×à$Ó†ïè7žP–Á Ný CŸP M¥Š5e€$Š^"šhòj;ÕwÚzï½obû.c§ÌØ)JIƽþJáŠrŹâ’0ª4¥T¿l¹ÉMgjÐÇ4° l`?t¦ˆ’D1ƒ4:u˜€ȧß÷“¾ cCn_»°îT&UJ¹iG¦©}|´]´ˆJk–2%ë4ƒ••+—/¶;:5j•Ƴ|Ø4÷å¸G×¢VÆ•A»‹ s¸ é̇Õ[5ŒÖŒëîuS7΄JÕ:¢*"m´ô°kåÍêFu¥¾*+Û­FØî¥1yô©'>yýk°<øøÃ˺ÊcrõìÕîj Wê—N¿µäyü­G6¾|$‚–xÇÛžhªJ`Gw®,Ô×ÖºR½zòSÔv&ziü&n ˆqð­'3“ÅЊo\¹ì×:þõnjÂ!ÓiÝe­jº"Ëqº˜Ù¬-å'ri7I¿¾\ß¼µÕ^i®*Ãë‚H¹&òBÄ’‚¸yÛpmÅÕ®ûå­eq»¶Âní;²ïø‘#wç.¦ i™#¿q’Îf:²:¿¸pröà?úsõÇÇ‹Óå5¯Q>2Uu–¨ J(PB´€ µ¶%@8Ñ`1D¬(øØøüÒÆ—z4œh¶B 0ûrœQ€f=Ð$ØúúJ2ŽÉX2„aAĈc0 ÆA€° ´ßÝXy®ÚÊd %Q‹`0 %áƒZ°L˜1|%\à”•}ëh;ßnUëꎦ§j‹•o<ûåÕËˈÑSI|I¦•"’Þs˜®$U’*­õv À45Ãä]_Ü<{ÃMg2ÅQk$KbÚd¦—J§s{ï[%ëÁ¥®®v¢zHlµ+£CcèêËgÏßÙºzÊŸo¶ëÇOͺé³õ h€b2ÒÑÿÏÞ{Iv¥Wbçšçò¥Ï,oº«Mµƒé†Ç`fˆÁ 8‘®¨åŠ¢‘(2–b($î’Ò*H†~qÁØ)í2¨ˆU¬bEjER«5Ar—~ 0ð ö¾º¼Ë¬Jûìuúñ²Lg–‹ „‘òDÅCvGU!û½ûòÝï|ç;G™ƒO¶Å=g6Ä·_î᯵D ßežo,CȹpX½/s`{?u˜e0D7vvf'üó?ú¿þéÿñO§g§¦f¦Ž?þ_üÉ8H?в¸óó?ÿó_þò—§¦¦Ž?þ¿ñ½^Ï󼽕g<@bßApxüNtÀi#k˜+  XƒS=P1J b4=लB^‘CN¼Õ²! ÉÔèØoÿñoß»wo}e}uiãgþÓŸùàGW6Vꥣ)cšfBM  ”YN”•ÿøÿÖ×¾öj³Ù<~òØoý/ÿpfvbañöÌøl¿Ÿäs¾åe[ŽmóD&q;®…ÁŠÕš HbUô Gã#82B ´"ÕFù®oY–R* Ã3HjbŒÚ×B| ŠA³{öÃ*ìXrÈÆ™b)Æc”M %TSm(5T†`ï|îóûIC 1ÄC|\`R$œH"G"a±“§çïÆ7{½ÞÆúî Ó۩杻‚½õÚ½0§H™¹šØ\&ª¬o.÷îÄ‘,­ßëY‘S+EH6;«Žï8UwT’d³½Þ¸ßÚX\Åf¸³Ù‘,ÉZÔÆv¼±“n¥VèÒœ§Ñº=Õ_ÛXVkm¬\¯ì¬Ÿ?yV%dúä1°¯!8À1~|¦¡º[͵àz`нpûÌF½Î]¹¹pâÂtDÄèèÄäÈôõÒÝ×¶ÑŸ"lÃê¹R`W¾t|“SãnΞ89Áï\–7 •ÄdHì•E¤¶ñ¯ãžGÃaQÃУáÿ;Ènó ˵8³xÂ}ºÁ¢¡5=&4û c“cñÆŸ¿õÞ›ÿõ/üW/>÷âWÞýòüÁÌNÏ>yúià(”R¿ù›¿¹¹¹iÛöêÚr©TªV«ý~ÿAÍ! FÖñâùÝ)HF"h EöPƒˆ¡ ûD`ÀF „dt/–r/õgon"{M(¨xéÒ˯½ûÒÿпðègÿâÍ/½ô—_­Õ‹Ï?ó|'ŒiÂö >éÞØVdGÂé—ÿÛ¿÷ßýBš¦«ëkóóó»í]m„R"çÚ” ·¶»-dzG'F/': V,•fûÐÚfåú1ÐRÅU9×v\½F£‘…­XÔbŒg3iZk“¥|ÃàÉÝ`än4 …±>×ð`ZÖaÄ€Bª)Ùÿp „jJ ¥†ª Õš²Ÿ’q &›šaÛhˆ!†âã­H*†h hu÷Þ={ÎMãæÄèÄÆ¹ ìÂÍ竹‘Z¡¢=š Ïv ^.o»\QfÙÆe\”-Ù#(ÖŠžEsÇãn5ŽÝªW®WF9uºèÓŠÄ”„ ö¬¡uÍêi§ŽšåŽælßv=(*Œ.— :GGÂÇÄÑqn;”8‹ëë× ›|†éÝdd¦ÞZۑܸ³y!Cæ©í­Õl“ÂîaeyQžŠaÛùÉÙþÚ"võ‰‰YFsN®Ò’¨î·Ó×WÌÃ0œ¨×7Z[8 Vдh¼¢S¨ò²ïlw£ž“wFHÝÄFª>ŸæÒ’Þ¬ëOä‹5?Ç]F•¥¡„ ãDSR*ûR™$IšEŽY “£ãý4–®µìöÛ]Ú\C&ÊJ|l¢'Cœ%èØå×údm¬ÒgH`ä ƒ®Œ10Š@*A,ÆÀ8†!‰Ê d FCFØê÷9!àY»àrØ©2:;½yÇ£©×mÆPn·Í…4‚x€ ¢‘nÃäN 0 †±‰)m—Œ|òÄȇL6ÙQ­ÍµË½Æ+M„Øõv €.H £á‚+h ®µ2š}H^ýïEœi@QmŒÎô•”š_êÈ^,5vÑín_¹² H ãtòÄXe²äVœñs#m¶£_Qm·9]Ÿhn5 ¼ Àm\Ñ×èS¤“oMŽÌÔ6šH‘šDasK“Ã%ðþ ñðæ;Å~Û¿ûÛ¾m¢aŸhûkC|ÈÏžop2ÑÖ~Їns¨ÙšÕlØÏÖÄtûÝ—_yéÅ_|á/ÜÙ¼sîܹ3ùÕ_ùûOþý§?Ø:`ØÜZ¯Ôwww;–÷ó‹‹Ë…B!sÑÛ;X6†ïÙòëáñ;>ÚÆ€J2дãAÚƒ¶¡­i‘ж&Ú€k€PcÔÞd͹«³$:È.¡ÆÐßù?ÿÕÿkÿ5ôfcõ{Ÿù…—_~óüCϹÌ#†Asc(Ñ &0£¡´q mh§×OT*#ÇŽ–ãP:V¹V)%1õ´Õ…ÕÅåûõzÍq«¥*ÓÒ£ÐĪ¡%ˆÖ™ÎߨÐáúÑD(8D[„hbXg7¹ymíÒå÷¾øCŸ'œ‚ù4{€C)­ ¥‡WDïÝ~‡ä<û¼ƒÉæ Ø·ã‡ú€Ÿ‚Þã,C†” f4‰4 ÙWfÉa@õƒÖGdJj¨ª‡bˆ!>–[=¡c¸¡Hõ›¯¿ùÂñç+ÅÉYD8Û´Q¯MŒMªV׫*/bIzˆI?Ñq©^,V ãÞTŸ'[t½:Z=17ïÀ »AÄdííÜ•òxutf4ÿˆ_­ÝYšš?Z)— —"Ònß²âHSiy2–Iq¼<1{Æ¡öÕô=ÇÍÏŸy¤Ó—U«ðþû7á]€)n½{eº6ZÈçO=ÿÜ×¾üµ”«g¿ç“iÃôôæ½ ÄÈ‚#ýœ{íÒ­‘“SRðù ç–u®sãþÉÇJ ÊùÂ+ XLa@R‚«ï¼?ñôœÅ­ÇŸ|úFáÒ½;K#ÇÇOœ<é¹þöýíÍͦËÜ#õc­­–nsÆ1Rž´j´/µÜRùHåÈìÑ‚åÍN°Ùu‰eÛ®£m‘æâöøìôÄØdc«Ù‰õ‘‰‰™#Žïݰ‚ÚˆU´béHÊ)#ÚÖmuâÄ)V(Ü|ý"Êîô‘“ÕÚXÑʽúç/!&‹¨€Ó”‚Qj@)URÂHcÁä S8³dîÔ)Mɽ…eu?@øµ=캯¿ qà ‚¿âÂ8@.—»yóæ/þâ/6“f­V5 êí·ßþõ_ÿu®¬Ìžî¥Ÿ¢}ßH¹Çßú“?ù³§ï÷z½‘ !åŠCÃ9Ê™M%„0fQÂ)¥”rNL~/`H|Dç¶$Šä +З¾tãþåýnÀ$ueΖöÞ¥ÔŠJE•¢Zž•¿Ùç,5ûÿ &ã¬4Ù#..½Ûü“sµ±µm¤.zWá¿õ›ÿzñVuc¦ לÊ4ÍÔû’©Ø‹Œ­}'ÿ—zù§ò—+ÅJsc§\(ËXdË#£º 5`šÙiÎ¥®‚¦}ÿÒ:åd§Ó*–rŠjC”¢zÏ]LS®lö‘ †*CE* Õ¥‘òh·³%BMDùÍ·îݽþ;cãÕbi2Q2 X†³2…¥eúÍH}ýï¤h?¶qòÀ¯&I»·øÄsϬ6Ö§§§©Ë!íÙišîo(€=-Ãpnbˆ!†ø±!–¦iæèÔjµ …cŒ±¡Ð*Ûxq!#EÄ| [<é5ÂÆf+H‰ï;wfrzŽIês}Ùê-·¾v¿D+ÂMz¼ÇG ÏŽðœö«¹º(MÍŽåtÎS~.)4®v.¯!D#¸m»<7‘S±‰XÈêtöèdy:/S•dñ^) IDAT÷\[ÐöZoí½õöb×—~)WÜÀÚØñ±j©ÌB§d×.<ùiËõú}söع÷¿rqõú&Ú@ $p,~çÏÞ¹ðâßê›N·˜Î¾xZPÄy’k§ôÔ[ÿâËÑmŠ;»í·6úþg‚Ho°°øäÈÔã=!&Ý‘¸Ñ¸÷ÒëQ¢Ò‚iŠÅK·O}ö\äÆzª||¾œ÷üÈ ØéwÖepG56 ýr¹¼ŠæÑGN>5ðnõĤw¦ì>IGÍJÜ—ÁBÐh…†°ØÄašŒ?<9RšÉUüÉ™¹Ñ©Ù¼_J ' ó7Ì¥¿¸¤Za‰º–Bb„3Qxò?}oiÛ«–Ïýàçúý¾­m¸þí[kkË[ ƒ0PØ`Ü0W1N`QbjAE<`Ãþdõè#óó΄*ÞØÚxî‡ÏÈNüοœ¾ÀÁ€€ ÿ™Êü÷\À4W“Zj1—ìm¶þÊÊí¿¸ÒÞ\`p¤&8íN~öøÌ³GÓªh·[Gð¡òФwÅÕ?|Ϭ)¤è¹»² òÙâÄù™¶Ó(ÈÉ)çìõ¿¼¸öç ¹[°% ¥€2ˆ™‰ÉÀµtÐ4¤Úr5gF‡½6 ˜Ð\À+ø¡¡m™øg6\hhDŠ0I‰&{»b²6—¨„$ Dé Â%Ä2Œß{u¡)V‰O>3}»½xäóÇú‚ìÚ"H»^bC¡Æ¼~%›€‡°+¢XäÜ:AŠV!Œ–õ7%£šÔJÃOd…ù7ý{Fé·ú~jYRÊ(ŠåZk¥çœPB@A¥”Súm(ö7¦†þõÇmc=ă\à `bÐÇÔ Úì5T>ä ¡†jhC 1ÔM I’d´>öî»ï^xüB‘;h¿÷Î{Ÿñó¿òË¿òM‰†^¯—èØpCm¼uñ­û±‹ãØŸ(ŒqÅ÷è§ì#–ÃÐ~? „0J9¥Ù À †‚¥u£F(ÚÅ×^í?úáMBéÛSÜàjpû)º÷E`ö>ê÷ïÌ,¿ä°SˆAba%iÕJ“?úþ¸ô|å/¿úßüâ¯üÔÿgeßfTƒÐÌwк„V¨tªçfNÿÔýçãu_%pØÞEßg95ÓðVwî´VÖ–ó%ÿÌC'ޱÐhBÑÁ·rà9ÂØG&“2ÌGC(zzZ›:êÇú¹rÍËyH4bX FƒÉӣТÓ_ó 4ŸÏƒ±TJe4êp°È\bˆ!>.اªÕ*cŒeYÃÓ€¸Üf H "à SÂÒký[o]yèûI•w¼º_³1±zóþòŸ/á"A p¤%,uOÛ¹£Î‘ÜLÎòUÑjÒ\ZºýæíÖ¥M¤`ž«‚6çpê{NÏ=6W¯Õ}ãùe?Ü·îl/¼»Ð¯‡&Ò4lÑ(¶–·s~y’L帛sýœ[$„-¿¿Ø¾»ƒ]Yf¤Å7.;çòɘ4u‡0#¤¢}uïÚ54€†¬ž`@„Å·î•ÎðãH]EŠÂ¹wåf»ÑC„~f –’Ý›ËÅ\ålíXýx?í¹ÊQ»jåâÒÊK7°$€çn÷7Áp»:„ùGsõÚñ‰­ 7LûNçî;KÛWv™ö~ss½dWæŸ8uÔŸÔ0B›8Tyá,¼vg÷Zèˆ,ÐÉRmaö'Â4•œÕ­œ­8ïÐÝ»»¸ipÈ·)ëÁ0m`3ÞO#h¨Ì”‘ç0uþÈäC3wvïV'ªõùòæÆúôTí?üÌKá—q’AÀFàŸpœi-*r£Ó0œÑ‘r©|Â+¯åÛ|G áyNØÁÜsG§ÝNww¶Ú^ÑmБ³e׷휺ù¯/C"Øßã—æ ~•Üb¼\ûÊåîk›è[–í ÅA¸?^P˜LòÍ–'_ôº^àXŒ(âpbÀÕ„fÂk  á’º#‡ý`€‚[Üw,‡2NJ©6&ÅàùØî\zåÊüù:hÊ–”3Ëñmù‘F)¨T¨M¼ž`8@©¡‡Á4ÍÆKlÊŠì5Ù°¯?âÃÞ†ı ŽC†ï6Ž{pñ“ÚÙŸéÞ}3ˆ»Ëæ&2“Ûý‹¯¡)¨üû^øÂÚýõœë;žˆäí×ßù¾ïýB¯ÓgšýU¢¡V«Å*JM*LÂ9Ïåržç¹Äéît¿)Ñ`ÛÎÀ#0»Í‰Öš‚Bixo¨»4ŠX!¦ˆˆ <´]iÛÔ£ÜIa+pùD̉È\ y€™Ê`s<öèé·ß~e¢Vðœ1tsmá©'vc ŒÞK ÊxjI`sHÝQJݼ}ÑÐQÆ÷óºpù¡LîH êS¨OUK* °]ÄÊ•–A",õoòÃ%ŒËFJ‘sáû°)\b%Óž›£à¬ÁC’êðý|Ÿð#SJ« ¢("„0Æ(Ò C 1ÄÇr?cŒ”2 C۶ǰ¾¾ÇñðÌ Ð®V–!VšÐˆºð(Xk76¿úÎfþñÜóO~2xûµ÷îß^„â,¥@€ Øz 7ïÜY¯l?öÄ’KšÍÝ…; ÍíÓTƒJâžo·þìfëFköøÑ‘±úòæzc«¹º°„•,6j¯›=桽ùÏ^ÁIþÈ3?q¤{séÊWwvÌ.ÐcÌ’F&F"Æ•/ß|öÈù ×eKöƒb .}é]tÀ$11l¸öêå§ÇÏ' 7J+jHbäwï"l))ÀTC4_ÛlÞݬŸ91[+ÖZÛ•…¥íÅM4Ð@ÃD×·ßo½R¯O›ª*ùÊÅwÒ.– @) ¸õû×nýѵ‘Ó¥çžý„Où[¯¼½öõM `oäW7pñ/.]üÊ¥Sç'{ü|¿ßóÕw‹Q¦ãØó¿Ê )O¹R ”B3ÀàìùG§åRLÚÖæõBF33“e-Ožý¡Gk?3ô©L*Bp59U+–Þn;\D’rUMNæ¬'òÕÚÜh­Ó4¥ŒyÅ\}b¬X,ŽéÜú¦Ù¸µ„‚)ÏdE6ñÔøÍË—aŒXG>W,[NlËõKÝ77Ñs¹m8ŠsJ-÷È€½;Š@pQ EUª"!lf¸M‰e 5æ&³Á@ïÌ4!f/@Ú@+ȾRh4 0ÀbÙàú;ÍØ~{ê™så©;­Í\9Çs:±Øh%),>¬,>¾ ß…tÑ¡øÉý‰bèMã=Jõpt˜kð\ç…ïùÌÿý¯þÅïÿ³ßo¶›=ö˜k»Ÿyú32Ñß”hèõz’ˆD'‘:N¿ß'„h¦ ùü_!(@ÉÀõ†ÂЃ’Ö ÿS-†øwòlaLLzîuû›aÜ °uEhÙÊâÒÞ#¤¢ÂìÍ­ êöŒzÐ+öàO’ªùþ/$jçÝ7^~ûí·O;9;}ä¹§um[Äé¡¡‰íŨ&±Q.æ„jO]ÏB·Ócv!ûÅ™­£1ÔÐn;ÑplŠBiÄ1„Щ û¡›¥ZîÅ[0Ä 1ä£kȪBÙv‚ˆóPpmØ>Ü( 3a*é+NÒךR­>ÒG¼3UQ"¥Š3›eYŒ1­µb¨Fbˆ!>n˜››;uê”ã8«««­V‹1ö¹Ï}. Ãá™@¡¥=êXFk$Ïüžå.à¡ÿrøo¿ôoàÂ<'FMDbÁ( B¨Ži¡ýå׿ê×sA"ÙkT‘ƒL*Ø@,c{ikûµ­b½Òm·‘šƒ½€Aù·¸%/ß¾xÙ\„ D@L€sµ¡j0-±Žšã÷’8J”b†%´j°ˆ‚áz±2Û?¬Ã—&R;Ç´6ŒYÖý«>"¶b(‚Ô†HÈæúöÎÅí<Ë÷¶úƒà9È0°]¤H亂w×·Þ^Ïçý^?€ P@ÐÓR UBÁG£Óù“wÿ4ÝÔ¡D¯jÅ0T!èc ¸µ¼që6<©¡0òÝŸ¿P³(…Î"9NŸWÔt[ëaܺñÖmp>H´„(ŸœÚŠ‚.M¡” Ò³{ÆÊæõ¥ðV¨úz·²¤íÔÖ͸pë¶a )-øE[±ÞîNi×ôTãÞÚâííÓÏò «Mø£#õ¹¿ý,³‹ZHá3á×zË›×_½±s¯›Q$*‰Pƒ3nÏ9áó÷—–ÚK[h=@‚À s—L§–Ž¡ÛQ8Ôm´²Œq4E*-míYŒzKŠBP3ÈÀÚßd*¢¤1±Žê’ jGÇæÏ©zïÊUµÕA ¤@Œ…W‚ˆ,¨ŽÖ‹uª‰ã[È+ä!%”D𠡆DÃÊ£GƒRò`¡˜;ª¾Âx³O/ ÈUb(!ÚMYYX?9ÿ³?ñ³Ñ…Ý çûþÆÖzª…е4rhPûDçÜr¸E,šÂó<ÏóXàI ”Úg8ˆ­²‚’ÀPcBc”Ÿw@ÔðB~X•1 ,‡rFD.or>´m¤Eˆ-—jhЊf—„Pó@ê>µ`öVÏÞœšµµ›?ô½Ÿ¡?ñ7¨V©s•«kõê1T#sü!0”Š$nS[šSÆ ÂÂ0éÛ¼¤Ñ×øÄd¢5diMÅŸ©c*­,Ë.ä½ ÏGQrÀšbÕc}Ñé$’âç­Ä‚J‘ÊÔ! Ô‰ü R‹Ä 8ÊP£•‚6ÄHòq²¼¢˜sîyçÜ#„BH)‡DÃC ñqÃââ¢Öº×ë …L{u÷îÝ·Þzkxf²=›$©v,âB¤R«xÕB z ¼b˱wºh Ô¢Væ¼”BÆ›1·˜T 6À1¨ß$  àŒ•˜îr ŒqÎ)¡0i¨LÖ›·(”DdnÄ  –cºo¤¢FI©(5 ¶‡DÈQ¯°m™Ô¦’jÏb£¹"$ò 0ŒÀhpi æù[:UJÎ9ɘ ˆV eÙ°\pÊT'Ý1J˜môDŸrF)Eª¤ê ö.¢x©Ö.qeCÁ623F¤ŒHn‚´\,t¢vØ(4  9—Ið0‹,… 6GÊáK(“À§ }pØ6g¹üN·»'2ËA¢ ¤‘mÛà@b`*…êzºÉlþÎK7° ø¸öÎöѧã“.¬vÚÊö5ÌeŽm¹Ô!ý4î§ýÎÐB7 óÓkzÜÄ9Ñá²My¬|ce!—ZG«3DÉïÞX¿¸ùª¼»½ðȧulùdÌ¢v-?oÆVa;dçRsû­."x." O|ÿõùúø±#±6åÆd²“¬\\\ùËÄ;ËÓÔÚ‚©ÐV!(µÉQ¿˜W:fJ3©Iª¸f3˽PyºÙjÆ"6Ƹ9GFrzlš.¸$†üUEC†µ 7Bˆ$I„´Vyžç„zcjÃ+ø™–aàû9hž›~°3$>ÄÅÄÊ­l§0jÅi›.÷”™jee«BQ©˜À4'‡jw³÷8ÜŸŸ8\Ûk¢Ç*¥¼ë¯moŒ×j£RÄQœ £(“ÒÁDCÁŒK)³9… 4I@4HRÉ!­Gc4Ñ0f·½ê8žk;^žiM…ˆº½®”2“ÑfʲtKýÑ)ä ‘ŠÆ"åR)t’ví`4J)áBÈ^,ºBÊ)‘}©…R‚Q:ý8ÙÛ¶8·3!Cš¦J)J©çyCÿÝ!†âã¥Çq¢(ÊårZëéééGyäý÷ßžEµ´‘hYÐ ‰Ð;¦ŸR Úò{_©"V bˆÀ­¡    Ñ¡NÍc ù¼DÑ òK‘%XšSEµ0Zj8 Œ˜Ø(h%³Î?²è£¹P€Ãì’›Ê2 …¸Øé*¢2Ñ£Ð`ÐiK‡HRâÆ)µˆI’@ÖœÒRÁÑ@:Á,‰I9hLD)$Ð" –x.º20 ƒ÷äBi­”†c”™LÆkcB)¥¨4Ú0¤9ãùnÔeDƒ!’8{|§Ù–|àt(@¡”š4#©‚DY ¤Js(ŽŽ¡`C"¤H»…1‡¶(ZƒˆEêÙ1# eôv»VÕÛ‰¶ìI;)0 ·Z“ÂT’¦vQ)ªD‹°k¥;½N'òEyŠVg&Êã]…‰¢Â˜xùZä,·h)5vl:ìßmíÀ›ÃØ©ü™G]iìôC4µü(µ‹b©ýÊÚ·n"%ˆ€Á?B.<f×n/E÷wúq±4vtîb¶òÒ ‚P- Ó‘%C&ë§Žè~037c»V³ÙÒ„2m[Ææ{Û´Á¹ØóÛb†ÂPjÈ~Ù¢3^†§§ÿÌc»Içë·ßñ Åù‡çÉÙm¯u7vTF«)$WvWß_,=T¦yð2Ÿ¹08íè~-ÖîC ‰†!¾mÐ=é=TÛï³ š¤ëe÷÷ TÓ×X C5Ñ–CN¿366f9V†ýв,N¹ÙŸãßs"(,K3 ÀC³ Ãt’剦ÿn·»gÐ@•‹ŠYdH<~ˆ`ÜpÎÀ…I¤6)¡šÃ)! †CÍ¡Upr(ÔÐÐÌþ€:s„<• €JµQÔÙlLUG¨6a?¤ÊtvwL&«1ä§$U,Ñ® ¤¢¤Š!NËwý$I0pÑÙ°Fq4:Q‹“4û2’8ç^γ,?Ž ´9d…kB ù(Cs a”h™(m9Žg9žãÒÈ—Ï)£4QÜ"Üæš¡$…²9´úX…øR­´"MÓ,܇RjY–eYñç!†âc÷üb ‡ü c½^ïµ×^žšÐØáJhÍA (˜ÅìÙÇìȾûÖd§€ºÏAÂKc$à€”PžËQÐx›È-ƒNF89ãk-%U¢¹†ø 3(—ZÍ6z@€DZeVñ‡xXÚYI·\à$=6µÓm«K]T`úHÍ´.2‡¤BAÀ qÑMcª(‰˜1ŠöDŒ":lÀ( `t™H}§cÒ‚a„X4”˜®€$(@æÀ’.bI#&=TàÔý¤ÙÄ Ð‡J4RåŒKêXª‡8¢Ùu#?¾`D!GDž:J™2e"µµ.ê8qþˆu÷Òµx[Äv¹pRŦ`-‡¢ÀÃìÌù‡Ã XzýŽÜ²«óÍšh†À¶m¡#Á ´€Špùâ•G¾ÿÙ0qOò…ËÕ‹hoŸxöɲ_l®îNçFû÷wª¶m Ç9ê­ŸšÙ½Ž‹<¡v}„–«Iìôºqж ±‚ ¨UÊÒq·Û>çî‰ñY ¾ΓÑÓã)/¶uke±1ôh C|H,ÃÁtÓþñ€=}ðøÀ(;5TMÉtqaéè±#i,ò^>‹YA”‹åLª0P4ìýC1 Ê()¥”RkÍ9g`”¸2‡F³ÂìÓ „h#†WñC\œsι¦t/A–Z̲˜5˜¥Ë.Ê µ˜|s-Àà €ƒ+¸GD£mê0`nê¨Mf£†ñìÜ\·ÓcŒrpųß!„ )˜RI©T*¸e›N£c3Û±½Cÿ·A\% ûA_a@œœg3®µVRI) 9XKô± e>JžÊµÝ4ÕJHÂ%4ºÛ7ínG(¥Œæ„QJ ˆÑJSBôÇlAض­5´ÖdZë!Ë0ÄC| !¥Œã8ŸÏ‚À÷ýr¹<22rïÞ½áÉÑŠp!4$àŒ"ó!®àìòIp6Q:RwëO¾øL{»ùö¥×š_½ß#®XŠ<`£ÏUÎ>qÆó<ßɳȉ6“«K/_MמŠ+^±µ—˜ GŸ9zôñÙÂlz„R¶±¸±ôþÒÆ•M,B¶ÅŽìð&LòeëäsgÆžV£–UÏ×ê¶ú‹——6¯­¤W7UO´Rá>@]ç¡}Ç¶àˆ˜kâY¶ôyá4ïu¤ŒáRP½×ÏÅ.“‚eXŒ[\빩ñû—6 6h’&è$@B„u¢rüù³õGÇMIyE¢“¤½Ú[¼¸²ûõ%¬K$ ž/û!l‰©üñgNŽ?4RœË_¦v}Û^yóε·ïuˆU?ólÌúE„ˆCË)ÏæË«¯]£«CZVÈÒVQ¢ çô!þ'^üBÔŽ¸áy¯*Z2º/ÅŽäÔÉnßÙ¢æN©Ô‚´S9z¬:Êuê+·}k9X’—­"äÄP‹å\•v`y”gK›ýÍ•æ:vacm½º6íO\xü±×.ÿ™2”A+ ‚)Á•T’çʤ'â0i¬mmßëÈqQv빊cLºÏ2d£YØ1€!ô!y–wŠcgŽÕ§G7–n/ÜDxýý·>ùƒÏMÕ‚_ ú1¨5î"P}tS‹ºõœ»bC‚6 í«!†DÃß1 %0 àý°ßít:¥BÞ/•Ú;ÛvÏ÷ ÷ŠÅR†aæóyÛ¶ƒ(ÐZ×+õn»ç9¹ ÆTJU™HC €Lh½/·60–eAÀ=îû~&Ì&„H!=ˇ6_üâ_zéÕOê“¿ú«¿:???11Ñéô?J~³ÆdÁœ|˜xú!ÂâNÄÔ§~®Ì¨§çRf ÏÂ~`ô@ÁFtœ›;¾ïSËŠƒ0ì÷]7W¨”»í €hºÏ¨Th›zQ'öí‚g—‚VH‰ed6‚—9Ô  –%¡a¸Ñ¼%s]7O©½¹ÑØÚÚúµ_ûµÍÍøþ§éÙéÚÈÈîîn.ç{nÑA$SÏó8µ…ŒYÄÇž{#›á³DGªT¬…`•ÚÔkŒPKʨmMb ÛòÀ<)(`}œ rO…dÌp\âÿG5É€g|hgY?ƒÄŸ!†ø¶÷ÆdK+û<ÉžûÙ Œ1Ƙ"û†oc½QJóù|ö³¹\.ûËlžbj¨eœ4pmÄiVáÙÿ¼wÒoFmå'-¹FýÑsÕ‡žùšÞP_SØ€Œ¢ðéüñOBÅê¤áf¯•³rµ¹±’]­†#›ôvd‹‡™Ãÿø§¦gŸ;Ž:¶œâÂu=Ìñù±s¹‰Ê½?¾ EÀØéúÑgOös‰{$¿ÒÛòìb”KϽpþØü±—îüs D¢ ‘Ãæo6–IӼà EÚsì~úGþpé÷Õ&’8µ t)ðìßzΟ]鵎OOÝ^³7ëW?÷½Ÿý'¯ý®N'†"‰Àƙϟ<ó}g/n^.•"Ò;R8U>û_|o«•NŒ^]¸5R¯—G ¦Œ³µ‡–®ÞEPd9O1F !:‘ò<JÀ¶ ‰k_¿9~ö؈5f(QHl›”"kåÝ—þíM,cÄB£O fp¡2íRÂi¥ÄŒÃ"Æ#·soûξå>C0ˆ Ÿì?ü©óµcã,_áö‹žqã5¯ñõô>ÜT‚¥âøz·¥¢€Múª Äv²==:6Ç_¾w*GŽ–óÓTï_¹ÏËõ¢|@Â-Ù’ôFÆêdM—+£ÕÕ¯,aΨ5]ßYoVQ ~ eЙàú[í––––¦³GÏÛŽwo¾ô>4.|æS–ÍÛiŒ<ÐD$ Œ$Rq±ÝìZÔ.™üÍw¡ŠC|û ¢³Ïü¿vW¹ÿ ûûø}x*¿Ëž=ýf=¸²ˆ¾}÷ÖÌÌÔäÌøÊÊJ'ìÔGG¼RÞ±Ýv£§¡-Ër<‡1–ˆDJ™åTïi¨!:Ó2C)>)Çñâ­û£££F‹ðþÇ_ú¥_zã7–——K¥ ¿O¢«‰†q'Èa ŽŒ\€C`²?Z0 RZ­Ý_¼¿¹»S¯ÖŒ!¥jqûþý•jµ Cq0ª@‰1 †f© fF J É^“ì5²xdÍïlï p ÃŽÌÿ…¿û÷~öoÿ—W®]ý_ÿG¿ûû¿ÄÁô䑿Înjà0ŸÄhR IDATÙŒ1¦„V’0Êö)=Ð5Іð°°7 Z“Ab%‡Ñ†0Ü€àÄh€h†²/ù¸<†÷ÄC 1ÄwýfOS'e<C H ’ZGóž‡T÷êS¹»7®67šçO=çЊV/|ñlýÅ)DTpÑ;=t ’··:;‰a/È[E¯Z*V*gêg¦ž™&)a©aŒHW±s'\”ÈÖÎνw …BµX›,ç¦/L»Ç|47â+lÅÌ!ÎÉ‚W­4ÄîÆúªOŠG&Ž¥í.ó Nåq«Ÿ…5ˆF­7­”׊²³³|û® ˜:vœÕЦ,>sªûòm³a¨AÒ‡÷0áã%éó#|òÊkïùÜž­ŽwûÁHµöé¿ñÔ×~÷ëð”Žê|a=ZðÆt£·¸yoe~æDe´®,röÙcâÜ$ÔcY–"ªP÷«S刽ÆV/n+׺ÅúÕ‰ÚÈgŽ=~¦æÓBÎËã‘¶lïX­zžK“¾rù+£#ãgN=ÔnïVÏUOÿÝÇêNY÷ËÐ|1¿+Ú¹3¥õîb·}o»{?”ÍÄ­æKÔÉUŸßýÓÍý}‹1Æ ¨ç{ñV+ÛA9 $¸ü'/]~ùâÜÃgÏ^8§úÚÕË[ Ëæþ.v@ ‚h HÄÞûßßÁëïù'gçΞvÜîúîõëïË-,§ˆ€Ž²-’*ƒÉËkï,íN9úð‰cÓÇv¯n/Þ¿wíý·õFPê7» Jˆvjp1þ|%2éýûëãǦƒO±$ÖÓ#Ç&¼zo£lo‚¡w2R3pòŽg[DÊZ~äîë×ß½ŒÈÃåʶ¹I3ãn•Y€0£y¦]!æ@nm@ 5FCCõTg«­By|úXôLBl>’¯®¯/–Ëeïd%ZkÅ*$Üâ6 »¢v-Ma,C˜&t¢2$>® ß}Äé‘Å ÑçOïÝH+o»®éhiéþ‘™c‰––ˆ‰&Ô¢ ˆ“8U©—÷²‰½_¸?"ñ«”J¡2òDý­7ß®TjO=õÔÏýÜÏ ô[®›á’û0ׄ} X†¬¶À¾÷zpæ5‘Wnß<3 [Û›Zƒk—&ºR­Pr@1Ðõ·9Aþ*ñ…}®a˸¶g#Âa8çìµWßl·zæïüŸOÄêöÅ™Éé$ZkÇqlÛÖZƒ)ϳ³¦–94БÙI QË<¡=1ÁüéùU›ìl5¿òúлêVxcô «»Ûåüˆsn"im DxöùO„q¯Psß»±Ž‹€D{!èø‘óÇ…#îl,t’N¾RHº‰ÇÝQg”J7îtÂumv¡lo¯õFy•K™&,‹AµÊÙ|­¹^¬ú×n\n]îÃk¸œ¼ÿÔóOÕêÅÝ8Zkm;Å¢&¬ß߯Ë^¾³ºÜX"´â8žêº<_­WÀg,›_hÈ)¡†Æa €9p)ÉÝn´aéH°Dƒ€Xà9Äš©Á-PÊ¡$lŸ8”¥‘\‰A(¢ÚP æ9i?¡@ž‚Rô%R;‚° cd?;B)Ñ*"nj¹qô×qÚ(€¡ò°5ýÐit¥<®4»ùÆRo§UtsQ³÷Ý»XÛÛ\8pÎÖËGŠSó³)MDìÒë7° ÍÖ+’n*åæ˜ªÌPNí¥ÎÙÊpm—šh}hü›jªÀ€Ñåðþë3÷×ë#†ñHFSs5Ý7¥jåØ'i.lwß\†UæÊ²¤!Ä%Ú9ÔebH4 ñ˜,WBÿ?ì½g°dçy&ö|áäÎ}sž¹“a@@W$—¥²(­ÒJE—jlÁÞå*Ù+K–¬ª-·,É.S²×?¼¶‹EÉ ä*A¤ˆ%ÁˆÈI&Ý™;éæ{;÷‰_òÓ}g@P*mØe触ÎÜÛÓsÃ×§ÏùÞç}ÞçÁ`ÀAZQ£‰>xð@£¿×LÚ¥ÉjPÚèîtwÍ¡¶±T,•‘†hfQ©!TfÞ$æïÚ굯|ùk'Nœøßù³gÏþöoÿö'þàãadßÅ,šA$!¹Ë«r@=ŒŽßÚqP„ £A4ˆ‘ l°àD‰hMLWvx‘OO¸Ý¹íüª[¹±¹Z)UŒ¦l@Xj@@ ÞD¡÷©‡Á?î¿ÖDòŒˆÂ(J è?ùÓ?~÷»ßý»¿û»gÎù¹ŸûWÿÄÇnÞºY.”©°,Çr'©HE–Ib ¥ÈíB4Ñ!CNäw“·lUI¾ŒJH.¦Ðšhš¿ãˆüRDç…;#9Ã#Œ0Âw> †1†H h (£•Ôܵs C@ÂežM ˆÆ =B1Œä{ø¡A"7ª+Àay`ýD  PÛ‚ÖPYf”–‰[ƒh¤0@ªÓ °€P€¤,€KÊÐèkF ˜TÂ@-0…’ƒ$|ø'qü±“Åñz¬TÜ#W^¹½õâ9ì@%Ð à˜¡sò']v»Ñëïe©wu E~6 ’Ô(Br­„îú¹Ö–Ö1´ÊËÉ `špÎ(‰ ¸jn_¿~»x0?t¢2[sÇjó÷UªÕm߯ú²M̬-™C<ŸK†}»óQ¯eD4ŒðæÐ І Ú¼šmˆ~åÚ« ËKÊÈW/^xú3}æüÙååå¼ïï¾ÿq¿4æ1/IE- ‰4M÷¥îÖÉ¢ÿS][8ôÔSOýÒ/ýÒoýÖo}àè÷ûJ)×uûýþ€exÝ‘޵Žßê1¿¥çŸ*@ J}"k°Ôyà‘ùŸ­ÖÆìøü'>óûÿ?¶0·¸8³pèàáýÈÏô£(Õš²A†ÑÀˆÁ;÷ͼðWoô"ÍuD‚䌃$`åÄÇ/ü‡ÿÍ¿ùÍOúÏ”‘ÝnwvvRC¯ßÚði¹à–”:¶ÍS™&Yâ¸Vî—çSä¤1„*z'GãÍ?jIÍ0å“(C¸&ƒ5Q” "‰QÔhMòÅ×ßFgÅ#Œ0ÂßùPTK&©ÈVÆF˜)AðÚõ«ãSc¦b?úäÃg_:—ìd'ï=:9U £ÎÜÄ¡+¯ÞÖs,×f–g9ëÙ%D§ýv¯iûΘS+¤ÍÅ1>Mõ Ÿ²”›lÆ®…¥ÙE¤¸}õÚÌýX(WKqÒël·E;劊n{¸Zô—>ðäW?ÿE6M—Q*¬M£OÔémhÀWžþò{~ô‰,Ìî9öööêõ—6æ-OXê§"L—×Á‚¸ZÜ×)¸e;N¡T›õŒ¹þÌX½0i'V?îÒ!Iœe,<|ÏÁÝÎöá¥ãE¿ré¥+Ádáí<ʉռ±«¤N/$„ÕJ_C'+L>–ìT7âNÕçJÅI"íµ›[J)•« !š@Ãh­ÇÏÉbp 0• `Õ™R Û€, h°8°8”ÈG Ê\SÔAÙëlv¢›è €AjH@(@1À:¨Ã¯£¿Õ" –l×*¤È¢þ. NâØûîÉl&fÉàÜó+{_½=aІQp8R)pĸoyâä‚qE«³V÷9¢Ð£•ª]n“>²˜h…Š_¼b·×£Ä Îu–¶ÖÔh vtû©—`†JÇŠq(>$Kr‰Å•§/L¿ëÀÌÞ]ÔÁR°ôÞCý«·ºQ“ÂpÍ-i¸LÑQ{eD4Œðf‚óbmêa16·0ãÂú£Ï|ê«/>÷Ø;ý~å—[Iç×ÿõ¯WxéÔÊ5“šT¤œsÊ©6zß ú[œ/o·Ûüô§?¦éÄä˜ÖºX(Þ¼u³R)ßõ,}çÇ5]ßÌ–TõDˆÌm€€ ²Ÿr)A„!br|ü³§ÿæÅÓ_û—¿øÔ÷?ò_zù‹ù©¿XœŸ|àž·iM!C·ÎAÎ¥¹ëN÷çÿ¶ ù‰ücBAˆÈPX‘ü‰Ç>õé?¢”Vk5óòé.NMMÈ®¡½fÔî¶Ïž˜w<_tb@j¢ 1šhC¥rZÛì-<Ô븒\B¸¡™!’ä@ƒ(@‚Hj ˆþöªðG(#Œ0Âßù¡«”¯OÀƒ0 /¾zîm§³¸[˜œ™?†vµ5uàXà;Û·ûÝ »òavÚAK92]ÇçÆh1}àñãíV—k¬=3ïªÝîúõVk¯—ÅREaŒLÎøKËåƒåùzA˜¬Ppu7MóÖvëêOmN-© lÜ27YÙŸcV¹ÝFµ6Qœ˜ïïvŠRí»PbÅ ÝçÚ*UuŸ¤ÓêòlúÐÉØ/•‹•²]Ë„CCsáë—9°ïGÉñãc:­´Dü°‹•Õ­·®Õg¼\ƒP(m¨†jÔPc,£ßºóG(F52c`ŒE4å0 Ú!ÚÕ04 qŒaÚ¸LCé»y´o|ypGï0Kª!gò noÖ}rt¡a„FøŽ‡&ZS-™Õ°‡&b¢«üÄÞ]iªñ*^¸Óu¿Ö­}ù¿ˆó@®§·"¢ÇÓJP­ÖÇeª<xÆ ÂBo½»ýÜÆ­¯_G?Ž©wÍÖìZ/éP‡jK6ã½v”FñÆùµëO_Gky‡ˆÁ9ŒÅÂB¿Ñ­,ÕÅ‚WéÜìÖÌX·ÝÁud(RJ•ÞYéÚ¡jln©*Xš—LǽL7ö*ÝRüR1ˆu¡`ØÌ‚±òêê#÷KZqÜN§½ZÚNÎÿù%d@j SÀFg¥½´|è•ÕKµ…Òüäb¥»ífÒP·Ïìd_¾ ¸‘‡ë÷Ê169y à³b_taÖš·úëÏm®yÉPeËy¼ó§¾Ï4¹NðÈÑwH©wVZu+ˆn4W>¹6i(€æÆð:«U§vL¿jOL!m„´¡ÒsMh"oãØT3h¡M†¢ê9à™ÑÆ&ðÎ>ÊÝ,Ò!a±zmöðZüRï|i‘©ã‘zpæá£m»Õæk2M µ‡~ð‘½kÑgþ¿Ï£—Â&*îÃѨcæñC÷=~¨4ç4Ó­¯~]” GgæøÜYÙyv-l6$r€áÉ}§˜¤7¶7fk‹[«»ÛO_D°& ʤmÑLèTêã‘÷=ÄæÇœ²wiëF³×wéæC$7Q/“©áE£Ýª„}¯àG¡È·Œäξ„j€Éiª$eà0€jÃÖP2ÕY– ªRH"°iÒÖÃ"«¤RNP˜9>«ºÚI!ˆÉ%Ò#–áÛœhÈ›¢ÿÀãÿÅaÈ@‡b4 aH®$g°çç<÷µ—þÅÏý|ˆ¤ä×úIÿüùWþ·ÿý÷ÒHNON^¿~½à]×m5šeF:¼ äDCN1h¢5ÍÑ|ø=u÷¸XO?ý™G>ùÉ^¯Gue@2Òh4ÆÆjŽãôz½jµ*¥NSAÀáŒ:”2JlJ9`kâkX£—ñM:(ç¶"Šx†éçŸYý³?}9ê„TQWú–´liçÕ¬¢RQ•Z©)›ÏüÅ«eïÞÍ›Ÿÿúó§.¹½zë¯ÿâ|cýbšqE‰¡LSf Uˉ'½_çi' w*þ!™Jil®ÿ·sñg?ôÕb­±Ù(ËY”i ×v4Tš¦NàpÎÛ;½*sY `('SSgÏt(§î^©TPL¢sÉ@.m †CÈ[v!¢HmËLƒv¨YìX¥ZùÄ—Ÿy­\& 1Q@SÖ4QE¨d©¡z`ÆiÈ~f‡ã8q¯R->ûì3ÿÇ¿û_¤4iÔ³™&PCâ–êaž¨¹ë{W„Ç]þšÿð_b„Fá;”R„™™«««¾ïV3(;nOt0J2f+é+ÿîE,`æÔâ‰ûNûc—“³Ï}íòµ+hÃ0Y EësÍÏ]þêÔÒÜýœ÷DznzæÌùK/ž×»¹Ÿ’v¥ØúüúΫۇN<|âÐÄܘÌĵs«g_:§7ô0¥à6O¤8§¿¸þÜÂ=ó‡tLÏ†ë‰ØŸÿÙ¿Ôƒ€Å]i’XfSý§ÿë_½÷×cÅJCG ¨{EÆõ‘¿pRpA5fÜ~gU¼ðÑ—ø×¾öÀDk½3Q¬÷Óaüÿí§@Àу­ ¢gþð«gž}ñmx‡cJÅRycmíò¹K[¯®aÓ@:€S@‚*³sëÅW÷¿ý豌•'zaüÕ3¯n¬îšMô54{bÀ5|õ÷>­?üŽG¦WzðêWo>ÿâ9lkÄ · ¡Q–h¿ø­§+÷×N=ñà½s â–êììžþÒ™ÎÙ-H0lÐz Â'’qH—ƒûF& (²`ß°ø_-4‹ëõâÍídzmÇj·÷”ã.<°8sp|çâ5KÁu}ATÈ ™·õF3ìv·3ª‰ $J=5!ïÿÉýnHáÜ Ã¾!zb²¦«Ó•a—“°TUÅÙb=¬ôØÛÜÝ‹1Šã±x®…-ñ wÏ•g¯Þþìk] Ý…ÑŠ†< †øÐ;­’ßÏBÓFa7ZýòEÜ»Ÿ-Wî‹÷´„;Ôb©Tð«wê”k¯©d¦§ŒKJ--l‚&©8€Ò©Rø¶•ea¹@‰†”ò è¡õ‰[Õ Ž<|lµ³Z](‰¸kh“‚ tcÄ7¼©†1Æ2†§„Ðý5Zç×ðü)„ü¿äOÐZcX²Òèq„oƒ[3 5äî¾¥$ÉÆîúïzòæõ[SãÌ¢³î»çþþÏŸúñùñññÉÆÎnµZõ=/ê‡ë»Ì"ƒî4¥ƒÈI¿9ÑÐëõRn¨N¿ðÓ?ýÓI’XÆvePr*œsÎiõ{½žm»–eÍá%¥Œ”Âôc(òºŽîèø­iHpð…>ø£ÿäÇEœ:p[–ƒ§)MZ0Elîm-Îxï{ÞóÏ~ìƒøÔŸ~i¢<õ‹þgÔ€j0¦‘'/(‚ŒaŸN&> ãÌë.êÔ@0 „V“aiþðÏþÌÏN¹2ÃQ+b{žc €0ÄØôÑÚÁÊJz{ýv¡¿wzé ˆ…Ý=( C©–¯÷‰x«Ö¶‘êR@;-8 ëø¯æq@` DB9P wÞŒæÎOè8Hp†$ÍVWW9ƒ¹?ÒÀAspÜŸ?¹“Ðq‡E]ìFa„ïzlmmýæoþæ3Ïò‘~ô£–e­­­}èCºyóæhq¨¡Y¬}ãrÍUª‡ Í@ZC'%+pÂÂ8ÊØ:ÓÐ0œùÔEÙP—h6z*…LQ*AjdRå÷#FPð¡¡€*‹@(¸Å ~¿HbÃ8€ä}i*–í2fQ¤:‹%\€Â-Û*ôlKh­ŠŽÝ^êÁ„ÊS¤mP–qDÊ0•: ùã`ˆeBA:²):j`¢ ž„îB ŒË mêRÆ[½m@¹ùÆE€h0i`YP¸„J!sÓFFœF_HZ„6@ F¬S¢Á |Ëg„C%DOeJè “avÆÚîêÔ„•ªA[P%LU§5bqõvxñ €áìç¿X9µ4µ<¯lf³ºÈ’B%IŠ^c§ÙxtìÈ”7]^ëíe±Ù¾´}ùS/–rSv»Ý™å¯]¹5íOŒ®#¢a„·wÏuçmgbè…K¯€šwÜûèîöΙ¯Ÿþø¿ÿ9üïyÿ‘‡-b'q"3÷¢8Žã(’±(¥<,p¿~£ŠæŠýM ’ˆT§±;N¿ß'„hjBGÅ*Љ¦FÚ®õ%¬Áï•d‰ ®m++Ô €8 A8¤Ètg(ÂÔÂho”†¦f\‚J0€ &àDÃDJæ.Ø:|;p  …4èe]2Lð2ùšá×Ì`†_Üvy–Ê7úh„Ý–"BĈ‰[£Õj9ŒbhÀ$Ü¢W›»¹¾FT’¹”[ŒpÇõ<Ç€Fõ(¹´ XvPpK…¢²ÓvÇIbs>ñ ~€ M ±b{HX}|Ìf¶‘èíöTJÀ•Ù“k×7¶ÎÝÂÀ‘Ó¨àº×jj—o¾X«®·6f«3·®ßê=wר€±TO‡1—åTƒ’„äêÎüS3|dèN4 N´Ãa1ÁÒª•*õã³÷/’"íê.ábvnzʙؽ¸Ö|ekðõaŒåóV#Œˆ†Þ*ŠÁàÍ™!8uìÞVÔj·wÿñãïþà{põöUËuJ~ÙgEC$ÛwmÛ¦VÑ+žßíösy<îº*¢_O4¨ýÇ9ç–Ã-bÑ žçyžÀ2$*•Še“z½Þn·Ûí¶e3ǵ:LH¦C'Há—r©ºß„#dŽC,Æ©¤A¶a 6”jsÕ!ÆFQ£©Ììun]ëƒï~ßã>˜eÙxm<ã—êÕ1b¨ÑÄ è!ä —Äh2dÌëþúÆóÐh#:aC[†ÃŠ’¡i”„–°P¬·Û­vW´;;™î0NgŒÛi©0’)“(¥,Ç.œ*¯ÄIøºïF^ßýËV•pjŒ²,h ǧÐ6ÊU×õ(ɇ0ÁYÎÕSn¡†jPj¨&C^ÄæÆ(‹À¢Â¶á:PZS‚ìnšæî4¯ß—Œ0Â#|·ãæÍ›õz½P(ìû2T*•‘GÃÔ¡¶Kå]ŸaTþ÷$àzè8×–ç-bÊ`»$ÕÆdƒ^OÊàÏ2cL–hÕÁÀÑÆT¹˜ÜîA#†N à>Päþ‹è ¦ H8Þã:•("2 tò g•¤‘ëøZ3¡2c­0Ô–â™2©H÷’ÀaÄÓN÷„V €‹l×%Üwµ¢†ó¨›Âü²†iƘVª“u ”@"K GknôØXe§ÕŽó5Æ€€Bëè&Гà>Ó„ñ¾ª3<ÀÊ ¶¯; v4Œ„¢ T>;I€Òàù”B·dJ~3‹J õ¿7 à_È{ØYÝ[ž>pKnÎýà©­3gÑÅìÇ&&&w®Üœ.U/‘´N‹¶ë},ˆ« bÈØdufnr,¨GIÄ:<‰k{Y–YÜ*žU³³å¤©ìf ³Gæ—âp”ÀéçÏÉXn«ÝéÚÌæµµÎ•uì p€`X|h)R›핵͵þf_/ÛeKFÉÅ-\òQÁYFçD@)‘™°Ôë63æ›l_îÚ1cÁh®m.(Dž4¡U.˜BéødZÇk+g¯Ý¸jsúÐÉ·/Wî=qâÄWÎlåF¤”Ò½½½Ÿý#¢a„·Žk ßX“P ½råʱ#GvÒ¤G›?àúÍ›~­$±VàRC¨á”¥qf1Žá øþ…BÍÿECEµ 7Bˆ4M…´"Fؽ¬ßhìMLŽu{M×uvwwÆÇÇ? && ¢ûaã®Ìžų¦iì\m‹4M’0JeÆ4UJAD£@ Ln©˜œ+Ïn··bׂjßD6ñŠ…Jѵ2ÄPP C)î2$4Dïg‘˜»ÎCú.OCF]ê3Æ(8!,ÿ Ôëu[)EÑÁƒ‡úq?I¢F»iÛv³ÝpÇu¯`k­…Ý^,¥ÜÏ‚ºûT7o¹Ñò,šh$B‰$%Œ ‰~&{ ¤ ¦hhÂ43&¡¸ÃÎ š€s¦t–dqœtâ¤Å!SØ~`ÞØîa„FøÞÃââ"€$IX–Ű½½=Z™Œ1B˜¢œrÉD`À©ß?1>?µ0±\v+VL7Ön¿xúKÑ… Z"I 8à“˜81=1;¹|øM˜IÅÞÚöåÓ¯nžï ÃÖz¯Nò˜€-[so;:}ò@ez,˲íë×^z-yqY‚LJFd €sØ;üÀá'K•b¥i3;ÿ•×â­x÷ò&b•Ah­¥‚RÏñ‘ CëÚ©48 œ:JèÈ@iøÀ1¨ '6ó}7ëÆ!˜r°“æep„Äh ¨aæ¾úܽ3“'%ÅÊö^gãâêÞ¹‹¸œ"F*r„6(à£ø@uéá{K‹ÓÂg\¤ÙÅ•þõk¯í¥H•2xCÞä¤{ê]o›š›%Œ…ýtw½ÑZßÚzî :€‚± 1HèÀzÏÉÊxyaq‘{íÊíµ•«ç®Çé@é0¬¯õ !ŽzŽï2 „Î8,)ÄæêöÁÇŽfÅ€”K÷TŸH¢¸\({Òæ‘H×Úñn ‰„)¥Ã¬¬239î?eTðBÅ.‹ Ù^ëG{Ó\YèG‰¶BÌ“‰¥±±É²U>Ÿµ3w<oowÚÛíÎWÖtJë5úÀ,¼ó‰wn©µ„ôûgûpqûÒí·}ÿ)?–Ç–/%—^Z’­eãÈ­Ý5ûm/ª 5„м)jhj( 7„¦™¥ˆ-©r’k©P\OKæzë–¼‘I{ã› ÇfggÞXpÎÃ0|ãæp„Ñ0› mÞ ]'ÀâüB§Óv©=91fŒ¾tùb¥RY˜š£Úa\Q›£Ó4#ã„'q’“‚ò®à= h ­ÉÀÇ%w¾¢Á²4ÓŒ1”RJ)§VÕ¯:`ëëk…B1²··wôÈÆH·ÛÜ*r¹Þ@UNGÍŠ7„*d6ñ%R"S#|¦ ˜EF\F, 4!ŠIî6…£«6u=d²·}£[(U8w¥ÔÃ:þŽ+!5 FRý"?ïØï»3æDÃ~å,™ÑŽOí¤TAf.$:m¸A”èÙéCý~d”wmåêáÃËR+S^’$IK™”sÛsŠVÁÉ·žÃ"œâŽo¢~ë–ÓÐ$f\Ú¶”) 5pÍW zðÝYNËJ5ÈŒT.0É—‚†+ʵåpKêQæ3j\έXÈ;ŽæÎrƒŒH‡Fá{ »»»õzÝuÝüÓ$I\×)ö‘!‰ÐLq› ™¥HPÀÛž|ðÀ• “Zi’ÑÀ«Œ-¿5q¹ñ|H´(P‡ÿ`uá‘£ÓK³Ín7àvÕ –æ— ö…êÙç[zí Ú‚=Ùgæ9^84•h‘RªZœ85îîÌ­îœ] ¯ÉÞ Š 'cžX<¾àUìžè§Y¢}¼ý½î^k¾Øâ›­£ÁŒF'ŸxÌ ü’ÏÍMÉLil¢KpàÝ]ß|!Â~fç÷Sóï8>¶8KÁ%ïwúºàTƒàè=ÇWÛWE«à ÞLáÁüÀÔ‰‰¾ÓëúY¤~uìø|©}düÆ×ÏõÎì`ЀTQ½¯|ôÑSÕCK‘M:Y¢Sqäû޵¯yÛ^Ú:ÝC{W zoiùþCµ#SÒ&i’ZU÷àcŽ:vã úËgqeX“ûðOò‡ŸxhlaÜp“´Œ»î|᥇¦——¾ü×ÏÆ×¼aΔdqVð‹”Áö-·%Û¯n½vöÊÌ»ž»v±^®Ï×—e'£Å½îKÿ×9tâÃp ÷AæÑùâØÄ-ݶoÚt“âæõí›_\ß»°‰PÁ.¼eÿ!_’M€m[lΟ!-­õ×ÎÝDs(Qéh( Casd ¡ÜH‰>’0I•¾ o_£aéövb0@à`ZÕ¡)q´ô   9#R*€‚Îg y&4XžŒ§A5£†ibihj(ׄkPЃÈ{Õß”-KéSLFkÇä#<ÆÏó¢Ñüéˆhá­¥È7¸ýS ×v»ÍVµZ½½zs~~~qzž€Å݈Q( Ça¹´Ýá¶ë:BJ©&šb?ÀBPM:P4àNÞ^Î,(£¤”RJ­5çœvýúõc•Ë•(Šžyæo?ýþäçþçî¹çã@î\I~Ld£¾7ÔfÜ¢Ž&D+Ɉ¶,Û·´E#Ú‚qˆ†! J)B tÉ™™éN;lïÆårݵJZ1n ˆƒ»Î,“ Q$,Ò!ѳÕøF™g¢oSR–KãE¯¦-ÓÞkÛÍÝN¥\hìuÿæég>ó¹Ïüê¯þêÌÜt…} !ŒaŽçÙÌÖZ+©¥È±î”âC±5ƒI¿·Œiq ™ÂÑŒƒP­ efð•‹qˆ4ˆÜ&ô€Ø³Z(ÅaÌ˘ŒTʈ1f¸e$îŒ!C©Q #Œ0Â÷råcÇžç%I’‡¢åzÉ щŠ}jn”­â(ÈHÇ>r+^ÓŒa%QP¯Z+ÍTfª³Ag~§À}Á³ŒÂTŪømÓŒyÜŽ£½Mk…ÃÕ“•·ÍÜ·›v’ÉâD”d öxÁ› ”6Ûí½^+p½z¹Vžr˜™®T=ëS¤>åÖfÒ®/OM,§4^m¬†Q¯êWgçƒ,ÃXkØ ðQ9:wàØr—µ aÝNGRSŸ#‹ÇoÝNn­‚B+€eL˜±»·Óq”Ž÷Úšµñ){ù°¼\»z Ð)â^? ˆ=]ÒTH¤›«—kÕ‰Z©86鳇–ûJ–‚cóN§ µ©Ù ^³Æn£+ <Ÿï©ž³èÞ[9Õ9Õ—=cGA…2®/Œ—Æ‹pÄ^{'ŽDÁ)+&B,<´ÛÝä¡lvjÞßÜÞ*Tƒ…S[i»µe[%ºèUgcªD rØ;VV†@íV»ä\Ûc ):åV¿ƒ¦¼üù³—_{õá÷>>CæÂÕ¾h%Ï;·õü ´†”,B^À_i¬˜–mOÙGžXìµ;;;{;+W®¾pC­&H¹cUÓ4A"â ·:—/^š¿gzöÄìÂÔT÷fwýòæÎݽw! 6+‰TX`à1O¡\x!ºFàù/=êžG'-¼¿´s{÷þåx쪎ÞûÚM¤€â°mP –mõwl‡:eÏÀª1ÊèÜZž3M”1ƒxK3¨.˜¦ÄPEèÀ±m¸>Å38"’Ö‹•ÃÇc¦_ÎØbå Jd³Ù”ª)¢(ª»•f/AàŽ®#¢a„·ðî¢Í°JÙGÔë‚¢ÌäXu,îÇ„8܆æœ3(Çq´TaRJw›»K···ëãµ^bšÍÆÄĘÿi…\Þ|h6››·ù—yåêÊÇ?ö±sçÏ,.Í^ªo7CKA±ßN˜g[YœåÄÌÔ뉃ý.»v¸!„DQT­–vwÛaXšiw3ƬÁSî4âï¡lÛð /<õÔSÒÈ~ô£ëëëÓÓSJ~{ÍÑT U’t“$I]«ûId’¹KÙÀÓi@È@kB¹E‘xžÇ9m÷ÚZkÇs”R’(BL¦tµ>ÑשS*ì¶vǃ ŸÄSõ™•Õ+Giõ:·×\6Æhiö¹†»ß×f =Â#|—"§<ÏSJ庆4M¿Ëg°‡;¬øã÷“É*!}Up=¹I’Øp8e"n·6Vo¾´Q˜tÞ~êQn³ŽéyËeÒNY‡î-•ì’·¦·wxûÂß^@€£'ïM·ÌÔÔÜûúÿúßþÚ‡–€2J)¦©‚ÒZNÔ«¢+²$ñ´û-Nl©$V€×äùg¾pÆr`ÌÐ>C®‹~"ÅÐrr+Ÿ½Ë¼ö×gÀ€ ÁŸpMJ"N@úF}]Þ8sû†wE ÒIrçÎLqåÂ! Ðý˜’`ãùõwý´›Yåª,[ú ¿øá(Žî¿ïþF³€ÜéX'ا†Žð&¼î™Ê˜†6)e\*„ìC;„ºù¹`(´f D†ƒb`ˆºCÜñI¦ÀÝî ZšÌPrsãZP9Q(ÐŽÚlì1Æ éG-¤p3 ʸîtw{qŽK-SÓõßÿÄþÚ¯ýÚ¿ÿ¿ÿÏŸø‰"U¸|pA(áyv’è4ŠÓ¸—‚rÎ]Û±¬ÁèÄp¿5˜ãÐwÅO¼5—UµÓÜS€o»׌:–E”•;M7ý†hÛóÚq§ßŠ™EQ^Á·m7Va§µ ÊðëWÏ(nnµ¶æ«‹kõ…úÜVk{ñà³ΕJ•“'îEÒi4‹AI°‘®a„FøžA.dÈwö¹Õô†@˜Ô8Zq C4(x@‰‹Fïò­+úrŠ=´ÄÆ•º3·<^_ë†h·Ân– öxu¼^)momœ}å´Øúè¦ý›‹µ€Œ¹n‘f­uú̱*ާ™•¤I·³—´#ôѼ¤ëF}¼æ õ~nG‰IÂYÛ98;©]õÊ•sÍk-Ä@†ç¾ðÜ“ïz²Ô †Ò°Zö1;?ݯésgÎÝzù|¾é{þÓ_šxðä½KMºµ¯1ØÉ„Æñ“'úIZôÜó_yY_Jàê+¯Z ǶMiinþà#‡V¿xãÉïO3ê²’ûùg>‹ó!B˜ÝV¸³ÉK”Œ”D§!KM‰‹•zy‚µ¢ëgV.?¿ËÚpgñÂésÇ?¹0y€P+Ü;½¾e‘Z­Ê]2>[áåçn~}@=})ùòû~ðýW{;ÆeÞxHJ5çM‘u¢^¨£ŸZ\>ûŠyðñ陎ìÝõâÁmC´!:LB-”‚ÀÁm¦¤(*< NYxa8 ƒàË€µÌ´†PHõˆ|£®c›úÎæ ?–EæÀÅ’åZã;Ñá FãÿõL>1ùö‡ '\†’òÆÑ )¥tŸ¦ÊwFÑZ\½zõŸþÓŸzöÙgŸ|òñÿ«§iº»»;33“_¾FfoéK/!2#4RÃCbEŠö¡©132–€MA£ŒTF’›)QºN ïXƒ“tÿL1 R[ÊsƒÊŒ•²¦E«,e?®•ÇÂ4¤9Þe)¸P4¡ eÇës;ÑF—ýª–ñ_ýÕŸÿò¯üË|ä#?öc?àÁítõÖ+3SÓÍÝŽã8®ë0æh­…Èâ4ì…ßÌ ò?Ã}Dkc¨ë”]'ˆÃ$‰•’¶ÈG†ƒ¨ae†îµZåJÍ¡Öé‹§ÿà?ñÒé—™E=ϩԪqooïNLN.\þùÿî¿ûñÌätw§µ·¹{òäÉ­N=øß<õTÁ/|Ó™ä}ÎFa„ïhhýÍ â¼Ÿ÷0·­Ø`1 ˆEM>.kÚ÷}Hh™‚%ÀE–Diú¾/º]’FIšˆÍݽ^eRðz1ÝëÁ}쵚Õn—3+ãH™^’ú…q\P’di+ »Ñ Ű›ˆíVË6¦cHOÊL+"wý­õíÌJ¤” @°9DQ4U™NHœœùa¹P”4œ™˜¸å!À€ÓãÓx‘ºè#K l@£T®n5¶Ÿ"ËÀGÜÖº]>1ÉA†Ù’ð¼ ìG|‚#I0DØ aS&e¸64KM%®ëîî´u;+(ôt¦ 4…h™ìfq¶½™6R[Úg‰Q* ë•ÊK¯ßí5Q®dÞºµµ1up¦—%½Ý^»Ùc µZµ4Q®k×·¯c@8€ÒxåÚÚõ£s¡At¾'ׄPcˆ1D+#•–ÐÐUƒÙSô„\h=H ¥Ü ìBÜëq ”ƒk¢Q‘’©³h`Á¢ŠåC´¢RTéd°•îS0OÈ”ÔFJP À@*IaØpƒbûÙí¿yüt‘  IDATáÏed€J.I£Ì$$€I¯¡ulY¬“4Áb¤°ÐGØÓýÿŸ½7¶ìºË¿=œñÎÛ‡ªz5Ri(ɲ,K2Øì؈à ^¼ è,ìÆx±`át;!¤ÓtÚ„€7¦‰Á …mdaÙ’5«ªTU¯ªÞ«7Ow<ó9{è?ν¯Ê’ 8+÷[oíºuë¬wOísîÙ¿ß·¿ï‹ÍD»èDKe(«fö²,"aåû=˜Ì>pûá8Ží¬íu^|â , ( v¼É L5P¯×cŒ1Î9¥`”q­)ø×'@ᥠ„è¿×0"^ ´7òfïÁvô°¡LJ±UÈYIÕ¥ÅKGÓPÂ~à¹Nau{mf|ZHÅÔhPû¡\×¥D†aYV^Lnpckkã·~ë?Y¶ñðÃàœÖªuÇq{½þ—°·4A“£ñ+ò©E¦,jÛ×â&5a7˜É%'ùšGA)QT³¼Î…½ì±ü v•„mv6“zɬ˜ÛÝz½Î·Š|qýJ³>F5%Št¨¡@ÒX‡JIÓ¬iWL(­Vë?þÇßàœþÈ¿ûG~øÝ ØÜÚp‹)e½Ú`„ !"`oY.8ç/³·T/%×¾6ói›%ƒ•©†4± P¶U‚6 4²fj(ó(J‚yöäÙ™Ÿ™! ¦c„qÐ÷½j£î0g}o«Þ’˜€ n•]X­r±´µµcZV¡X”BÈD’—yÊàëäµ1Â#Œð5Ä—jH’$€àyçœ2"ö§1C 1ܾް¹¾yò¶µb}vbn-ÜD 'êÓóÍÉ‚ÁÑO™3ƫܵ’öÓ€3·<=î4O駤ß7¬ÂÑCGç«3*N{¢ëÇiÍm2fµ]æ¶Q/™’)¡6¬Öìl}bzºÖœÌIý˜JcÜr]Ç,)’Ä^Ù-6u²¡7"{Íé׸I+¶³º‹Ö€@ë×W²)Òœ¨¿çìåçŸÃ;NŽ—«áfw}ÓG dù–=._ºÆ:Ìf§OŸ^+,ù]¼26h¾(‹ë«kWž^„DÇÓŸ}âžto/òß~×ÖÖr`m—•Æ¡£µéiAYæùܨ¦Zë(ôlb7µÂíEÉžï¶Ú¼f-Üs޹nÔγªåš #‰CPIí¢âöÜÑ“µÉÞ5y.=sÇ=¶m{»±çy:%Ó…I {q7í:u§é6ã{n,/c S³‡ÇÊÍ­½m? òÂýŒP­©–Ô¢Ê$ š$‰ˆa²Œ€@sô<(áùITaŽC¹Ò×ÝD+A’™˜2 |™ÅýLpH‹€QP‰ ,0oñþŒ€ €†Pr(kMn)HÍà  @€`1ú‘F„AËÊfÏŒ¬b{(0i)ëñ¾)S‰ Ðlh ØØU»%’Z®i;"õc4P8Pš={øÐ‰#íh·¿»¸‚gúX¡À$´Lœž™ššZKw ÃRh -¥ÔZ«2Â×!ë¼µâ–NŠÑðjYy¢Õ-Ûçn1ÌóÆÜñ—ªaï·RTi¢$Ñšª¹…ÙvÜúýýþ“Ï=ÕêìÝq÷]„èŸùÑŸ¥¶â’½ÜÞ2MÓ$Ê•DYEQE„P235÷'òñN·[­–•RÅ¢»¼¼â8N©TzþåzÁƒ?ê‚h2¿ #`f&ÒÂW*ðu¦¡)Kc’eÄ„j¢Ñ„HJr倗 #¿„sÈÿLÎMûÈŸþ×ÍÍͧžxêÈÂÑùÙßûÎï™™9œÆ@ %DS šÛ¬j°jaª—u ×nhe¹v…£HüŸ¿ñ;”ÒÙ™ù ô¦ff\»9=6³¹¹e Yt‹¦ÉA2É„’ð:IwÝ‚­¼ßûídÿŽÿÚ̧ô3¢#†Bà)Ûf`HbD¡‚6¡%4Ñй­6%š™Úì¶:Ýí61´ióæXƒ&*:<~øÚÖõòdépsaµ»A('Ðå‰Í½•Éæ8·L¡äÑG7wÖ¥”Ýn·ä”F·Fá(ìoZ„a(¥,•JŠÅâhfr>Ý$n”zH ¸FF¡ÕÕg¯:w°4[:5~Û„cØÔg3õ™`-\~nþ°Vxæ‘'¿åúÖÅÝ¥‰Ùɸ¨“µio£}¼¸ðècäÇ€&ÿÌçßzì­Äoò’µzõÆ©gm·h$öÒõ ð H¶ž»D¸½l˜Õ±CYè³Û\w|Òj̦Û¹¾³s}‹¥´Z¨ôû}»d×7ªÖ¤¬ØdvÆšnÔÆë2¶K¤B£4iuvú­ØKR;ek·Ó¿ã¾s¨µÓ ßw7U¬¯èÁ©ô³këW¼VàÔlvÃBÓ=zhaÓÛŒT­0i; q/ã=rfêÔù• t@A4!D¢‰’DJª$Q`"Óy7æÑxøxyº9Qž4R&·‚îÕí­ç—ÚWZQêeH „:KÆÎð)ëćBÈ=åÝÖŸÛé]Ü…'¸Ò DÀ˜¥µSµ©Ó•ƒå‚Sl]êO}/ ƒL$D+J)£TÊAI¦&Tƒ ëžY4ݲÍm#VqF"VÔ$6¥\Bj[gn–kö$…å4›%SƔƩ™ÖOÖõ„ÖBUn½vÌi gĤ±¥ø,WuÅXB(+•Êd¼QéíMT'xµ°²»Q´íË_x~÷ñ5ôr¯MbC„°9z€ÉÃÕû^ûZ_ˆk×®5§J1¤Í‰$P:“r”Æþÿ@4ìs 9ßûƒÑðªÀKsÂý «¿xG:Ÿ©ü}…Ê«ÒDkª$QY~úÑ¿†AÞùýÿÌrÌ8KþꓟüÔ>}îðݯH44XFL3C³J¥R,µÖ6q.]¹tæØ©)3Jñ®w½+Š¢ƒ:^Î2š‹S‚¢àVsãŒÑøU " ’T\–Šlsš*˜Ô1‰m0rnAh I#äeìU.¥ó’ítÁôÿóç{îâê[¾õ-¯èíTñÇ>óÙÇ>wé®Ûï°YhÊ#šæ++ÑPÌ2]žÅi«' :±µOÔ«08CcvÞî´¡ˆ*ÿÐ÷ÿÔÌäÜ'?ùä›>wà€†’£†i!¦ŽÈ*E›èaá~áþé}æ€VŽÛd…"‚"£Î srðÕtQM jÍÏZÕ¯õƒ~Ð]Y[yÃ?ø…g.<{é¹ú‘wíµ{ßû}?066þÐC>qªÕÝ <ÿ÷~ï÷~þg~¾\«F=‡Ga„Ws`úŠïçjaZkÆXµZÐï÷wvvF3–¯wTr.l¤B2XJdÑbzãÂjÃh6f󇲱ÄÕ¦)ñÂå+O>ú|rè&`p¦rÛ}wMLÏ5ÆMÊ\mèv¼veuñ™6;èbÀ}ªtæ2za¦v°R˜ J³”nߨY|úÅ­/\Ç: Ø^Ù»ó¾Û§ŽŒ/ÔÚ Fº­^XÛ¼¼…Œ3©$ÖžßèmìY ש;ÍŒÁ¢AØ_ß»þÔâÀ°Zp»K›“îTêèÒt³’DåɱÕëÛÞr÷‹óÐèhxöÓŸ¿ïm÷‘'§Ú¶f–­º¹¸uù3çÓ§÷ÐǪ Ä@ Û'×¾ædíÄøáÙ“¡•8Ô*tIÿZçâçž/n!D^*Ò-Sà‘>|æðéÙS„NÄË6/m·^\{þSOa}¸}G€yÄÛAóPýÜÑ;»AÏuÝÄÍ’Vº¶µŒËD€hM QЍ$‹… Qh`îÜÑÒ©qR·aj&©S¯u3¯GÛÉ’Nò&8„£÷?t÷Éâ¤ÛN6mbÛM·2V“†îÉ6–%’ü·båÓÕw?:FÊRŸxý$,ˆùïþìÿHRñ[¿õÛ¿üþ_þÿòŸmÇùЇ>tmñêúöºk;0.8#ßøFáÕ·WAûý~±XŒã˜1 Š¢½½½³gÏ^ºti4iTS•¨/sa‹0°`Ôíe­óŸ?_íצOÍ-ØÊ zÝÝÍÍg.<Ÿ¼Ä€  ÓSl»zªR(P­e–„;;;×®\߸ÔAgx¤RÄ×½Mk™{¤17Q.9Aßëw½•K×·ž½Ž­¡š` ˜O÷Ÿì=qOzïÌáÉ0 U,jVã©GŸ^?¿=E$c'šèÌ—ûð¿í§¿õÆÞîõ2Š Ñ‚QÿÃ,B @!4žøÌÓO½>£)×ÎX­¯â~=ýäÓXÎ ä )cåÑ•zÍÎÊÙÌéùF¥ÔíííÝè´[Ùù.¶€¤ €ê¶êno\o‹Á©ñã©“½ÝJ¿<»}r ÁpÛŽ- ‡«;OÖßn»íØÆæ&3m[ògÿæ…'¯c ÐÃTI×ñLøÔÑ{JÚ ²`»¿^që«‹kç?ûÒA)ÇàŽ'„M( u†,Ýu~„C&Nž»ó´¬…Ñív¶zàcãóõ™qÌòd1íû&åIö“¾Q6ÄAk½²KB©Û¡©9©òÆ¡š5¹`#[Û™"Í(g•rqvnnzzšp¶³³µµÝjUSf›„ëÐõ=tBáQnQ©@‰âTDT™D\aܵ…×–$.TŒj±šH‘Åþ¶·T¬VHF©&†eŠ02„&‰¢6RWp¦uª””š«¸œ³2ÝûÒ‰ˆ•éH’ù,ëeP2W*Gq"&YXÊbi$76VúÏõØ*à¶F)ÕtP8R»÷ž{ Ëxæ™g6.]F„( …BÁâ)XË,ã0 Ê2õ5U ᕈãQëÄÿ(P·{Âᘗ¥´&C÷Z¢MÓÚÙÛ¾óÜÝ©ˆ[hƒê;î¸ýù©÷TTù‰†B¡!å· ÆïÿþÇÎÜuÚó<’QÑÕ&¬¯¯×ëõëׯŸ  X¢iF”•‹e I!ô0ñ‘°„É2&`Q_9ƒ¬ÿ.–áëA4PJ÷½4÷ÿú¥èí¾Êyh^6|Q: €8 Oœ8ñäãO|óýßtek±T-iªî=wÏÏþôÏpù D¥4–wx"£O=ú©ïùžïq)©›ÍÎV7I’J¥R(’$KÓ”Qƒäš”š¹ ¹äžÎ÷ÁGøj}½‹eJŠ*Ôþÿûé…wü“sEË%±2‹ ËFN4(*Í$Á­, (4T4ì‹z 1Ò'7?þmß~’êÓýnÿÄØñO}îÓ?þSÿè'ÿÅÿl3›)žwÙPÅ©&DSÁ“Àöµ)ã0IÒ¥ßú÷›Ì‘Qf1;‰RÆgL*%””Œ1“ÙT°8Àµk×—V–šÍæÝwŸ­ÖÑj)ÓÚ÷²Ð€Rƒ _ÓÌ›ä~Ó ÚÐÖDñoyÛBB I¨¢Dç~. DyI\.‘üo¿öÁ_ÿõ_ÿü¾üë],ÔT†{î¸ï—~ñ—šÍ¦e9~ö³?ÿó?ÿýúxÇ?ùÇÇfƜڹ“wxÝ®eYU»úӷԘ诵‘ç#Œ0Âß#ŽÌc6ÜÒ—«µþrC¸Ç¼ßiÛv®ßÆ9÷<¯P(ä­¹[{þkï½÷ÞÑÌç9ýÄdsõ©¡R£èR­ì¬qÛ4Aìæ¾‚WˆD€€9@ “\ó|Ia»<ÕY†D¹§S8Ìœsn"£–iw¹ë˜µ$ rƒr™"wÈônôó°Áv)Ø.íG€ºŽÛ"XZõÚQ£Qê{›’b¬Vö¶Sd°QµL+Ñ‚ŽYj/‚“V™Š2iËPB']  €”[ Ôó¥ƒR q[d‚7$ ‡HA4 ! ´„Î[,3hÄ9 C¡•4ˆ”ŒK"tÆ`ÊÒfœZ¶`‚gÒ¼Ãt¼ÆZ©TàšêXŠi)!ÁûLD²ÿù€EHÅ P ZjB2Em¦Ðà¶ aš!Em²¾·×¸qïw¼þÂÚ5«“­?׉v€öØ–a¦ÎM/Lu»m“%n!:Ê*¡ÓÛí¬=yÝ¿æ#̉¬ì4˜eJ“ºµ²U6£0a’T©•â-±s¹ã_ËÐÁ¥O¼pìΩ;^÷¦µ¥­ÖÕèò_žG$Ôðºç?Ô„á’n—Kȼú• ):Ôeh~ß·xQnÆÝÏ­­?¶”[Z€¢pÿôƒßô†N§+ƒôÙÿüHÀÀÄéïºß¨YŽÃ̈+7‹õOàTW P Õ Bˆ¾Ü²L·>[¾ãÛ˵O?þø3<Ž`ðé§Æ&ggë—×/»Õº¿ÛæOÅP””0”'ZÄoB$º^m´ýž¬2;UyåN5²'ŠMÎH?rp~ š@©›ÏüýbYVÔ¢Œ±(É8Ž“e¶ÂÑ!òãG ßø¹f®û¨¡‡Ýæ·–Ä+ä—ùQ¹Ž¢š”‹å‡^ÿðŸÿå'”–ozÝ›>õÔ'?þñÿà÷~ÿ—ûéžçU*%ÃhH’LAÀ!æ1<Çœá„d#{˯ÞãʉN(Q„øŒøŒôQ„B2F2Bk@„¦È-Ü"Í·'È d@1A–K M~ðû¿ãWå=ßùíßùMg¿ù/?ÿýWŸ~Ë›ÞZ-‘4ö † ~„"/4 )!ž¦ŠÐ„RÔ'T€f`¢Vw¢(J’”¸‡›\Bf©'•á֜ç›ÍYöír  †ÊAö[=Ã0ñ&ôë1±$Ù·£»iM½J¹—€±‰úÚÚZ³Ùü…ù‹?ðC?X­VmÛÍë~û=ïÀÜA˲¶¶¶ZÛ;‡œ›š~ÓÃoü‰wÿø÷ÿÓm»×ëqjžÿŠ—#Œ0¯!ž~úéG}ô·û· ÃxãßxæÌ™w¿ûÝ_Êör ªt݂ŠšE¾ '—ÙGŒÔ¿2™EjºVºÆ7M­I¸ïß¡“›’ˆ‡) Á8 nH©³4É凢Ô7! eG:¿k@A¬š £ûáÎ~“6@à²T!”v wwey«›€Û(’”ᘮ‹2Ð"€xJKv 4Ëx*²¬Ým 4Ù GiD% $J‡Ùƒo~-«—žþÂ3KŸyq~ž˜˜wîzí=ËÝåéIάg{ K@B¡0¦i2VDfAÆŒêðŒk™7+‚iá©Ú˜bŽðµÇˆhøFK-oq‹Ý·¾ËÅüTž’雇 ¦é-|„¢CÏÊííoyí›;»ÿoÿ÷?üØÎÌÍÜÏë¼ë¡8H¿\&Œ&„ðû-Ëk=ò…ÿö_ÿhíÆæ»~à]o¼ï-«›«ÍÊUš (M¡Éð´¨'æ' ÙÞn×q ¥bQAFQÔíyB J¹¡m^äõz¹V+ !Ò4ͲLªŒ“/¾ynÒUÿ°À“RîììÌÌÌLMMEQäûþüüüûßÿþÕÕÕßýÝß}ì±Ç¢(šššºÿþû;ö¾÷½ïÇ~ìǾ뻾‹1†aEµZmm0¯bø¾¿¾¾~öìÙ矾P(\¼xñ#ùȯüʯ¼ç=ïMÎß6oA¿VªCƒHj&™†È×X8@ƒ8(Fý A Š4ˆ ¨K\˜Hh8LÀ$Ï ¦Sq*^ÇˈˆE"‘ÁŠ@M¡¤}_A.±PéE% ãˆÀÄ’Cð¯-HKCBi@ mȱZcÇß“ÍÚ¸ˆ2ø –eœRHƒ Òh;ñvƒT´”†Ðý~P¬Ïƒ4€4d”(Æû2ÔÒê@pè@ùˆSP b€ìR'îD€â€¸Ã>‘4ÿï+‘Ŧ n‘Dj¡Ð:p€æ°ÄC :Cd™ÍAóB{8Ò\Àê\s†½D‡üT ÔT¾)‘ÿHAˆe¹ÐH¼ 衵¼{à¾ÛºEn+¢ÞCWšÎxÅ/—j*]¿±¡´N,CQBM e’MvÜ6²¼ ×KuEkÃÔuhî%i˜¥*â± RÕÛaµƒ•×— ™>—ÔS7VÖ’=GéXÍw•Å e¶UäÞ-ÉJA¸f” ¢ Fd"c°,•‰q¼ï÷Úñ!<¢ IDAT†U=÷ÏNw[a¨…¯²²2ãtšÛY)µ5ûÖ ×´¤”v±Ð Á·™Íµa13¢4c¬ÛëW80É;Ïþá›W0‹‰;ǧÏÌ_#žo¹Â4Nq=ßCušÍЦƒªY‰a€P-# JR‘³l’Jмj•jFGDÃ_"±| å=¤ÀôÍŒ2ÏÉà€WàÆã¯ýOßþÎï~ûwoz›¶m;†½¶³Ö,Œ¹çEç¼Z­š¦©”ò}?<×-ÞR¹@_–S5¿ÒaÃÎ0h>|M1 l) †Œƒ¢Š¿ärP­nŠDÊÔ>“½¾³ý=oý( ã8,MQ°®×™¨O+¡ 9UCŠÐŸ ð!§d%†R„Ó2‰Í‰ai˜¤Y¤!ciç¶©–e}1Åð7nܘœœ´,+÷|MÓTJY.—ôGtbbâ'ò'â'~¢R©dYfF†gÏžýð‡?Ül6Ã0̲̲,J©iš»©Fa„W …ÂÛÞö6ß÷ …€C‡ýÜÏýÜw÷wˆ†¿J)Ω‚…æÒO=À$ÜCæäÜÔÑ™e³t¢+7®]]|k@¬"™¨,ƒØ@8Žòtåîsw¦An{×ö6Ïo‹"ˆ£ HËÓ`³hÜÖ˜95Ó˜®{ÝÞêÒÆö³Û¸„uILÀ1 €À¾§qÛ[__œm®.߸q~1»¼îöuø¢l2³¨¤€e(‹94âŠ*³dI3ƒ dRQÈDšÄHU˜Gì„^J-Óɺ‘B+…Yà  )£L&:=é.‹BvàØl{ooãâzûBËP~¢¥“ˆBÑ8R:;Õ86æŒÙn_úÄyïFgízGõ:RPšŒOÔÆç'Ž,•Ý«—¯,~îYÜ€n#Ö° H4Ѹïu`¢8YîuúKíK7°„¼7E ”ÐŒR©©Úf4T ÀÃê WÇŽÕûÜ/¨ÕfªÚO*lìDÁòî„UL¤È„ê‹Ä7b§T*7ëÓ'fǧM–f%§^¯L«ÈŒ×;b/€d `2³ÊÆøáÚØliv¡^]p—öÖ³ŠÛ\˜OVɵå¥.Á4 4 &&ÍÉ{Ο›GYw¼,‰kNÁ©»}Ï—<ç˜V€¢D)¦Á ”œÓ(ĉÏÊJg/ʬ—f QBšÌ.Y©“K3ÆÆ7 B}߯4KÂW(+íBY*# DÆ^T?<–‰E &S96=®„ ‚`vn®R/w»ÝO?öéÖã›è60Ò•Ù×±&JW÷6ëµ)¿‘žDhÝ5sû½§:¶ŸÅ–ßÀ8â4LDB¹1(fá,¥ÔÔD1Åò"ïFDÃ/[xJnÝ‘¼ úfVFnMî‡å š¢4Q„¢UìuúËåéÙ©éÒÌVgËþüøØO¾¬ó©W^'èõ¼ ˆ(…”Ҷ퉉1Ï nI‡ šz(Ù0¿Â–Ð}s³Š@çI>šPS¢A5%·Èh¢ÙK‹ô@Ç*zhüèí–aÌÕ&"Y[_±Lglªâ'ŠHP Èûúrúc¿Òaè騖çy»~T‹ÅB±¤)‘2)í(’$5 ƒRbšœ1æ8v§_‚_û‡Å>0Æ\וRfYV©TcÝn·ÝnBºÝn¡P „„aØëõ¦¦¦Z­V§ÓYXXèv»”Òb±hšfš¦a¹•Fa„W Ã0 ƒs MSÇq¤”I’Œfæo‡i›‰ •€"E šÁÆ¡{žyÃIÃ5RæÚ¶³âу,;’n^ÞHé+dƒU· r;ñšS' E—kîž.Ê»ÔÖÉÍóß;¿ OEʇ ÔPÖTmooOXãç~ü'ÿÍßh)A†\€â¶·Ÿ--”3C5jcíåÍq§$’ôŽ7ž=ÿÈEq!€T*T1qïÓi,Ç4VT=07xfóØÖµ'—ûúº…P‰&œcÎÁמ»}šÕh@¼ íßõö;[WwôSÏ®¾à¡ Ø€‘²8þæ;ïzýk¤¡ZV(âw_~ý¡ÒéZmÕ‹Jµfo7špgdç2swOOŸÙ[cîÌùç—¯_ "fYbsk @Æ x¨€)>¨aD4ŒðwbŸn 9 ¡ÕehCG>ºŸ¥QàÊå+'ŽŸPP[{[Rw«•ª&*öeÞ©L‹Åb¥RÑZEc„R ¨Ü&à‹¾Êû[å7{¿FãW2’Á$½ßŸrËlQf>~¤ú¥Yû~ÎMzjÈE„ýx²<`ws—RzìÀq ¼øâåééi2hÑC1ܼèÊýPív»X,6P„aêy^*SBtµäh­@eÜ4 ÃdyÒ~Ë­úF£Ûíöûý|÷I`ll,w†Ï²,—ÆÉUÐfggƒ 8þü™3gÚí6c,µóø{„FáU !„ïûÕjUašæòòò¯ýÚ¯½óïÍÌß eYFØ  q‚)~€¹ã0*¤v‚ö–LY­:æÎºIR%A¡XF!BäißjXÓǦÇŒEþü‹ac¥ñéÚôøgjdûôvì%"J”Q1&¦&MÑ"Ûìn¬oo4›ÍÉæÄÔÑ©ÕJýFÒ‰ ¤`qV­Ä%½JêeH­½µ•ÝÞÒµ;O`¸YøDÃL•§Mg•„…~ÔŠS&)˜U7‹'ÆèY¦^ˆp ŠÙÓS½BʲLF{ý™©Fš¦§ï¼ÝW.  ˜p*§¦ìÃUád}¯³zyyrrr²9}¨°`UÜ…í¨ÅkµšS4ÇgƦŽÃQ[ÍÝx¨Æ­òl鈞»u#Û°À@eN+6k«%/ÕÕ¢#¥ÿØÇ2;é®nMTjX?èœ=z߉ICÑÚZÞó{Ý…ñéæøôÄ‘æòáëigØ 0’ ýª^~ D‚@‚ÜäJ€ì{LÈA' É… oª{¨—Õ ÜjìÐÛëΘBHÃ!„,]¹Æ ~êäñ^ÏÛ'5ôþ š „Œ‰‘ýQ"@X¡hg"ÞÙõ4cÄ0¹Á,BtùŒ1ƈ©Ö’1CJ™¦‘iØß³ïû¾Rj||ܶm­õÎÎN.œÞívÇÙÜÜwÇ0ŒN§†áÌÌLš¦’$ɲŒ⺮ã8ù›#Œ0¯>h­«Õjš¦ßömßvåÊ•sçÎI)?øÁŽfæïÕiš ÊûU †'*“•¶ÚÛ‰w·v÷¢0›¢ó§YM·T(W'¶*IRË)T«Uë­®h³–ßm±ž?çך•x2NªÓìÀÔl–­ˆåØ!‰½­ðúµõíÕÕn3Lç1>Ñ,N”5*NÂNÐëX¦]*Øåb”ù»K+­µí†[™›9÷ZÊÀÄmýí« (÷>xßjk¥Z®ˆD\zñrÊå‘Ó‡c¬w¶ï~Ã_¸ò3©Š©ŽÅ±×ë«nÀ’N;Û½ºI×ÚUiªÍB³9òèÕ± zeÐ Ú8ÔtÖÚÌß[¹ºµ|Ý[DKÒÆSuؼQ›¬× j9æêêjH UT~è…«ýí•mg¬æôËW ÍŠ{ºZ å~ZàŽÁÌLJ§T¬7«™’Û/ÞX|ñ¢ÃÉÙã§Ž;ºFÕ»æÜ3®kSJ‘DÔ´ZÅÕ^^Z_¼J…Ê´ÖEkr®òà·œû«§žìü(€PHB%(wœ4„r&JÔédQøB¶üü"ÊèÏoÚº¸ymWïDda|l2 •%¡×ÓDeÈç{FLÞ9Ý‹¢¨åc7ËÕ@Mx ¦¨B^ÁîÊöî#{ÎXµR+n]»î0¶A'pô™ÉÛæûV¨-æoµÚ_ÁShw°ž€3–x`¨™ Fê¯, ‰fù¸„- ö™ý5–( {üÒ•Ð$Ky ]@0¡ÞaNOOj)Dõ“×ìâïœÏu"- ùO ˆ‡b¥6`aáÛîøàÜÁóÏ^üà?øÑ~ôÌ™Sïÿûßüæ75 ýʾ1 „@\'¾š“ Œ2¢h¢~Ühž[,ïÜØ\{|O>œõ”DÐ1ärMFÀ98Qp8Òàœ)u6utf³»8@Á3§lq/ʲ7JH ³`$H‰Ë§ÔæÕrPAî:9¨¶P@X@%·#Åü›ï¨M7á±D-þõõlÇï™á^x`²Q[íê szvzm%ÛúÔ5, (ºˆ{`p vÁ*ìl÷LÊóI’Tæ‚øLš#¢aD4¼Â·X,ÆqA¹\æœ/..~èCZ\\|Åã=º¸¸è8€0 …Bn&÷ÐÜÌo ¸¥âÎÖf­VÛÙÚœ›› #ŸI’2Ê¥y.—ĉ뺖cyžçZ®"*‰Ò8VŠN‘hê{~¾Kr/¿}¯lB²,+” ² H)ó‚pƒ{½÷¾÷½Aàml¬]¼xñøÀ‰ÇŽ9Òn·)çœ1.¥Ì³)Î9 A²Ñ﫵ߑ‰¬PtS½®TeÜ0 †¥ 9ß4à ´“Ós~·›¤i¥RÉ2©”bÜTJS"‡F!:/j ±ï›ŒšEZ¥¾¯ˆ2 b¦"ÃZ=°Ã„bHtfÀHˆ T”K*åǾá’×?ðZ­õ/ÿò/ƒ’õ¯~ñ¡7¼®Z-gY¢µaY„sÃ4¥‚*¥™bÖËy´ˆßÜ c93’ë,!ò½^ïVG Û¶“$q]7 ÃüàÜšøˆUa„Føï@’$µZÍ÷ýb±àÀ¿ð ¿ðàƒæñXÇŽã$I’+Ê»öEQ³ÙTê È$©Õjq·ý¶ïûyÓ8ºÝ®Õ³j’i[†d™PšQM‰¢ßïïîîæ5ó ØÞÝ1×iy¼È Ã0 “ÛDB§iúñÎÞ®ôúÐ@€½N»Õi[%V,MÊÂ,èF^}b‚0Óoõv··!1 ÃêjÿØQϱêŒ1dÃÄ¢T2 Ã4Íå Ëq׃0 .//87Y,1ƒì|V/5ÚI‹RÊëõzØñá=lnúc·Â(¥•jµ‡0wC¬V«yh­w‘~?j·ÛfÂE)¥†aΤ”™’~†¾jµZ;R¨Ý]ÂiZfpfLqÎLƒ˲º^?ÎEC |? 9ªõ±æöµEfpBhš¦Í™™p·³¶¶¦ ln‡cS™[,¨¾B†„L©…T¥”T2‰ÖÚ0 ¼$øõ‘‹Þ"L¨j…†ô À@ K /  ”Ð`œ›Œ1%¤P‚Ü’pÆA‰ÖZj @ÉÌD†(ÆQ¿½t侬f“®ì]ëî<½‚§ì$÷$)ºÚ–ÇŽãþûï^8r8N²­]Åy¥Q÷³0a"cJš6í.7 eä¨}`þŽº4„+?MÍ’—Ãr¥ ü䮟>Ç%ÙÛÛ™œk{R£`VìnêS•*³ÉŸ=]s+:ÕLܲùH¡QQÉÙ/%½•]~ôJö`A¶â(ì•ç}lûØ+:¼³¼½õä*.)PÒtÇ¥¬heV{»›'»aŒ—gýv,’Ëðß­5£”J)…†a0ÆÒ4%”î§ú|à „!D®ÍNqçÔ©SoyË[:ôŠÇ/--mll¸®EQÎS!nfÎ߸™¥~‰ó«úÿØ{³ I¯ó:ðÜå_s¯Ìª¬½«ººº«W… ƒ)Y=’2µÙ‚çÅ£Ð<ÐŽ˜-brx‚M8f蘘¡ÌY,iæI*‚2ER)."¸€F7z_ªkß3+÷½Û}Íf…F£Z­®¯¯Ÿ9s¦V«•Ëåþ…ëºq°,k8b}ضÖ#Ó/š ÐÕk÷7Ï_<=¶ÔK‚m¹ †ÒÂô¹GÎë‚iÖ厰 g°B\³4WÉNêjgo ¨xçNš®ö¢Þa£î‹¢MxšJ˲3¥¬;âRÅã( è-åŽ-ÌŽŽ•Ó4 Z=-àwÔ°î­úÄÔdut®¢3—ö^Á®!c¸xö?_’±Ü¾·>PËK L7—×¹ñ‘'j…Öõ/^Çñ'/ŒÏŽìoÕâFˆ&C³Û†‡ë×oæžË2Ï99× »l/9^¯TFnî×Û;ƒÜ+7î9;jYll~¦álIË”'K“³Óår9TqØK”"ÜfafýÜXy4[ñœyëfëf²#ÅØÄ|Ñ- /Ž 9•&Mâ4ëä§«Ó£¥±kÖÕz{™råøâ©›[;Î8-H-'TïGi#xîÙ|‡|«ÖÙÁÔâä‰3ge”ܸz G’b„BA,B 5œÓ4xh']ØGÉ£8rëv$dB4‚0çå”H#†H­ûÑ^`k(‘ôOæ®A>SˆÂPA…:9J!–ïxiz¸oPÂØß=ö䙨BÐ9UYùöÝ+š4Ñ(عN…Hc“°38ýüñÌtænó.åÖô¹iÃøÖÎ&ÏZÜ¢š¤ŠJæ3/çáib¨a.Íx®QÜö=b#M„—±‚žð3™Vv|K‡FÙKº&Ë#Š*åB¹Dx¡Ê(Bäõ}¾úw]rd$î5÷WíÛ‡û7{`yä+•òÜXËê [äËÞÞݽ;¯ÜÁ xÀL8ï}ÿÆØîêÞLaúÒK×Ð4¸ÅR“h(k˜:ñcû†hèï=„>q"¥äœÏÍÍõw¦·cnnŽsÞívµÖŒ±þ¹Ú²,cÞí3‹’AŽÀ[½ôXßÜX:yò yÐ=ØvgñÔ€Õõõji* Ô¢Œ3M´4ÒöìþE+œ*XjCjèC?…!R Aû£GÈ€x0 ëk¿ó;ÿú_ý«¹··W*•ã8¾sçÎää´RJk­$1ÆPÊ(e¤P„ª·ì+‡øÿÍ¿)I¤TŠ‚N‰m4U†¥Œ’„(ÒŸïŠB1(‚R©¼ÛÜ5Ô"F&ÔŒÏN[ĉDbË>“O²$@ %æ­ÌÔ‡¦Üƒ8LÝϵ|0K# Vpr0Œ3WI](´À¿øïÿå'>ñ»ßøÆ7N.ŠBaÀfg{n¶±ßNâ®ÖÚó\×ua¡Æ¶Ý‡ü ¦†ýC 1Äï2AððÏ=÷Üc=V­V/]ºô©O}ê‰'žð€_p]@_ó5×öša†@P*½}ùÆ™ç“^˜;¿XZjÖF§g¢+IÅד®qÕk$ÍXG¡kyoz¬Z˜þ`gßÖÎTaÂí¸½õ ×)³#L“vØÕ–Ì;ùÜDŽOÛ!º›¹¤Z­–'ò–Ëã¦Ö;Ú‰¼SÌÙ¶–í´—òÉäøìbþ¦V6·ŒÐNnÔ³Êr³»}yM@hE×^{ó=g/0—˜*Ÿ|n!eªR­ÜbÖó¯¼v -¸®¥!||ç•×>ðäûóðešn!ÍÕOÌžÌe‹qKî.¯aS‚ˆ°{ùþé÷],ŒyOzb¯2ºœ¿7>Uœ©æœBk¿›¨bJr™bE¦!Y›³VÍÙ³äñØqœ±Ò„­¬x/hí©Ldg2Yn»‘/yêÉ€& Åòdæ…r>ç2ÙF ÎÍž[¹µâ‰¥àh*YŽŸ=wq­y8qòBöØbôljwRŽN"#yäÎá Œ1ijs ­‘Âæù§Çž:ó„›òÚÝëë{wÌaÒ582 Ÿ#ÞTîôÏ<Þìµ’­ Xn¶¯Õä2t‚ hS@p€0rÆ+/MTË¥ÖõÕñ$<Ëš•<×þáòÎ×î§—RÞËd@\8št Oâæ?|žZM[DIÔmí-Ûœj£¸ 6¡REaÒËH7“¥Úô:‘'s²«âPhÇbœ"ãÆ6 r^vmkeç¼× £FRÍf5¥IW¢&å±í&¬Øè˜ÇÝ~ÍyD4ôO"‰Ýë[{»7‚›@0ð1ÏLÚEÓãZhÑÛj¬_¾k^ƒÝ†ÍÐ+Ècñ½ç'f«‚V7–ÛÁ•BÀcL¨TQ0Ɔ,Ãhø^cú’„>ùÝív›ÍfEýé툢¨Ùlöz½\.çy^ßþÝÏ2|ï!ýèàgOž¬‡MI”[ÈøNæöæ]Ëu •(ñ¹×:Û¶…ZkÇs»íÞ; 2цhMô€hÐàBJ IDATo=ïû>µˆ$Ò²¬þ5Ëâ“Ó“>óþðÿ0—Ë‹#„°S§N5]ÇñªµÖ ŒYœCk¤©d\ E ?ºOµ³Œ:4e‘ å{%×.0ÛØVbÙÄáÄêÍUЦ’©­F{žç•êíºH¤§h#ìtÛ½r©ÒÓ‰¡Ô Úsˆ„¦Gñ¤G“š=Å@ sÄ0+£ejùY£mFÃ8‡µÃgŸùà3ïý€ã8ŽË¹e_¹|«:Y•©¨ŽŽ”R–Å´ÖQH)9§–Å4  ôkbˆ!†xw!“É‹ÅßÿýßÿêW¿êºîóÏ?¿°°ðÑ~t}}½\.÷û) Z­Þ¼ys8h¥”PCmî¤2¶©› ™ÜK6omUN—8áYj— Õ¬WÔ—¯^ºþ­7ñtÐcO*pÑ>õÔ©‰¹ªJD%W*ÐR^çš«í»_»»y#á`¹GË'ŸY,ÍÌT§ÆÆ*–e1Åvîn-¿~¯õZ »@2èÞŸ9Mæ_xʱ+©Ç)Í3—r§6Óx·U»ße>§ÝPC§7Wuç\HÔª3Oœ–T·›Þ~à¶íƒ+ûH¡Ž’8õ}u¸Ò*:e7g‹ù ’þhAú`kwïÎb@PÀ>¯nÎ>6[˜.ðò\®”cŒ¥]qçêÝ»¯Þo_>D³_ñ%T/Ìœ}ïéÑ“#nÙ=ŒD˜fZVã~íÆå«Û×Úh6`Xb'žy|áÂ’W-ô·À)G¤n½yçÚ¼‚xp׎(à}ÿd¾B¸ï:¾çVF-ß!Îê½Õ¾ uD4X€eŒ%€Œ£ σ@ARJ%F1ÿüÂâÏŸXv% ÏÍ-=6{õ[¯_þò:ºàSð/d.,•æJ² ¶§³d¾rXͯçV£F€80†ì£ÎÔSÇJ§Gí Û¶¹_Ö¾•m+ÕìˆÃnÇÔ‚­«»x}A>ßmã0P=ä'yéâ¼])h ˆu§l®®›í ¼DeWÓ ´ä§à*•Í{¢ïÞÝßÙh¡€äxuáøüü¼Ë­Æ~kíËk`ðŠ?‘«ˆŒm‡ËDŲµýûÛ 2–åŠ >²®Ç€k U,µl)`c(ŸŸ¶gK›Q³X͵îµoÝÄk@ˆQ QèÅ@•gOΛ­57G ù<Íÿå翆&  FêT¥Ôr™=”M ‰†w"Ò45Æø¾ï8N¿ºŸBÿޝ·mÛqÏóú½q÷Õïêî‰~l_Ê~t« E¡ ®Ü¾jNŸ<ó'_þìå7߸|ùÒ‰“‹xþgž<ýäD©J ¢(TFFQ†a6ÉfýÜ;ów üÁ“iš&‘Ht‰ Š¢(Š!`ÎúÞêTeúŸøÄoþ¿õÒK/]¼x±ÓŽ´&½nlYŽÑTEˆt®âDY{'Uü?$,ËŠSh„=   \…\+Ê%;"Œ¢,åzdd~«³õ—/å‹_ü¢JÕÔÄôâ܉õׂ05†2M ° ¤?ÓËÿÃoyø[ó )Kó~;îHmûî¨Q¾ïxœ€"ÛcLßG *ÖZ÷ á¿_«Å»‹nx VïÓ †è3KçkáÁË×^ùÒK_yáƒïÿ¯þëÿfmoíÿúwÿ¾äËK^ÆKUêç|/ë9SÈjµÚÑo£ßÃ2x;ÑP.—c1Ã,à …B6›5ƸÄq .!øÌg>óßý·ÿâƒüàÿø;ÿÆ÷½^7á÷\¦5º®5(àz°-gè|÷££ˆ14oˆ—ÏŽûî(4u©ë¶—8"lEíÄÂ~Ðû‹¿|Y+ó‹¿ôÏ-l¬¬ókßø“/|ý}Ï<Ï4´Ó0ýäaC (Ì7Gçü·\È[‡Pš;„‹$:ìÄ+îítÆJ±ÁHnrŸÙí}ó›_߯üÖùÑÍõÖÄtq¢:’`R"ˆA)<Ÿ1Æ”ÆQf }ØcbHQ 1ÄC¼ëÐWžÖjµR©Ä9ßÛÛ«T*FßÛ;MS˲,Ëêõz}Õê}:Æq<£ 4 ¨ G¨^ëZçåÛßÁ¦'gIÄv7j²Ýƒ(PæºÜ4i\ÅöíÕíÜjét•5vêú~ H@šæó…NÐò~¸¾±¼þË)Û¦—¢ ´ú `¸EÑê°†ý/¯à›+8]˜=·P«íG¯mÃꀂ4ˆd €ÁR*‰ß ð€ë î* ÂFIÌÄm$4Cr!ºð`”нÜÔÀ§¸$Â-ç›A/§iíN µA"gƒ ŠD+Ý»æZÃêaÚû@ p4Éû9%tGôšËõKëõK #ÞT©àç÷¾½†Ö[‘ŠžGƒ”{8øó;qy°cÅLÆë¬ìbH€œ  Ç…ØøÆúÆwÖ1íæ—;.o¾5Joé/ aFs¥¤–ŽÍI¢A`lØ;9ãü1EW®Ý]_[ÍùÞ“O\œ[˜ßßÛ¾×Ù8ùÁ%ʹP2V‚{~¶X4‰8\iêm Õ­ô2sÊ®d gÆÄ´«)‹A»í¥r…ÞX;ظ½±[Kaöy&3’A[v—7±– Ò. ë:‘HaGä”uæ¹E{–…ÝÃ9çìæå»—.a0@ÀjR‰ À€r&oCµ…pJÅÆa}<3ŽÀ2àq¤8,ŒÃôV{Èù:1ºO@RèŽgRྉî6"Òg0 ”2ªYÜ“ Ä€„PÏÓq¢.µ:² p ‚Ÿ+†Ý¸V‰!´”×6ˆ‡;QçÎ5X„2î96eèF!Ðo² èWSD"µo¹i€y ±Bã‹“"nÍä7˜YNÛAú嵿¼vnyîÌÂÂsï­7jÔ²</Õ9–ñˆÝÚk´W»«¯4‚L„ñ~åTÕóÙhÞ³²6 -ßò¥ç³LRS»:¸ç£gV¾²ýØ3OœÊÍ6Ú뻵N³ß~bDJX(ž-zf¾<êu»¨EñþÎݯ]¡\@e,=ûèñs ‹º¦èY¤¥L=C¹Ðs\o GÊб“±E.J„Ì»þ‚;gSÖëõŠ¥Òa¯ÍgHš›¢×â=#ÏäóVµ˜)B›XQ7ÄwIUû²mwŽÏÐÀÔcvè”´3¥:IC&­ÖÆ7îàõÀœÐ¨‰qqü½ÇŒ§S“Ä&¾ygëàVæ,x w%giœ¤Ã£Èhx;F©Tò}Ÿågø¾oÛ6çß÷¿àû~_ŒgŒq]W)Õl6¿§ð] Ò×1­¬0ýƒ©™©¯ó¥ßüèoZŒ ¨^Ü»zýÍÿóßÿL’jµºººšós®ë6 ƘQæ!ò‚>ÄYhbÀ5¥¼ ¢s^F!e>·2Ö}úÓ§?vºT Ø&G§ëõúääd§Ó‘Ð^±XNÓÔuÝ ­¯íõÚdl¬:=3šËgãh˜mù£ä8³%Ä7,G?ûùO?ùÞGz€IêJ×W65Ä(*U±§%üÙ?“/xŸû³Î¥W^?yâäÖÊÆü£?¾úÆ%¦)×”ô( ¨!šÁ¥¢òA¢*5tðØPŠÁL| ŠÑL$nblmûÙ?ýÌço¾ùf9W>Ü9,ä Ô²···s™<#€ÖaÚYßËxÌ€…Úqøó/<66þá‰r†ñ’HûÚ ò`?ʆbˆ!Þ}m4œó~U¶m÷Yããã¿ýÛ¿ýÉO~ÀÊÊÊêêêúúúpЈÑ©Ah{ÒÓÈf³õN„ðH]Hi½^4,ƒ…ÐýÐG cئTr€ H#lÚ÷}, >*! ,j$íýÖ ذ >0-:¡u_èN4(À (G¬Pªäµ uÜLDP@‚¬g§VÜN…¤zÄÊùž6ŒðFÑ dàѪnn­¾÷™'ïÝ»ýäÒáfÆÏ\¸pþ£ýèßûÀ‡Oœ8‘æ-QâCÚŽDƒ"LSƒ\B™FĹ`Ô謢:ám}þ•¯þò‹ÿh„{ü>Ejž"pal€ƒ¤ ŒÃøîáüâ§6\BHŸpï?ó· ¹yˆ¿Ýyð8“É Ê­)¥Æ˜ÉÉÉþ4>~üøÐ£á¨0ƒK˜H’¼çt£žƒüXqì~}>`ì4Rx€ÀÒ¦wÔâ:Æ@ÀÀó !H’£tt0Gvý«{ 1øú Fì·ÍëAÿ<§ zÊHa”b@P4:Ïhb "ýꀃÒððà°pfBRÔnír6Däœâa ´tÒ=Ç÷ÓìLùù4 Ûgi¶dÓÏz÷Ã=dÿè“J(À(ÂàÌ N5F#ÖPÀ,`KD=¦4²ÌKUšÀ$Äã迲P d0,¡š¥‡5€‚RƒÙ¾q^#BØ4˜††6Úb %1§±aµ(²ZvG¿ñ§ßxþï?ç¥,6^îBab©<~|"½f»H‡ËÌ_yÜ|[]Ñ_¥9çIc8çœë~Â9g„&IbÛ¶eYIc,ËJÓô&ì”;Ã7ã'Pn¾mÔ•H–¦O=}æ>õ©Íg×?ô3?׌Ûÿû'?ù[¿ú›ããã6³Sš‡PJÓ4%†°#³„ïiPÔ€i0j  …¥Á4ˆò$ƒ"ƒ0"ÁÁ˜á6<×ò]7ÜVSùy͸ò³Ä±œ\¶è¹à4éÛãñ#+E@8LªaBÐ4¡`€Ò ÆtP *IKŽýÂûžüÒ>Kuð¡§þë¯}ísüÙòâ¯PPPJ4%0 š5Èz臞 |ìû¨ä($•”!”T+–J+ ˆÑ”HJ¤f.ªc!ãÔó\{¤ÐÔݵûÓ…Inyž‹\v$—w™sKé~B”`@ÔÀ²?QÉkbˆ!†âo?´ÖÜf†À(¨NÔ€NPyºðì£Ï—üÊÆÊöw.¿Þ[k@>д–ðgÚö³Þ3Ïô‹ãã“ö…?ý¿ÿÿYXXøµøkž}d$?¢„"†8¶£µÖR[ÔzÀ/D{é¿ÂCaooùnž; “ÄÈÄø¦R©¨XÙ¶=ht24$„ô ɇbˆ!†â§´Ø#ˆ¡]׊©Gœ’0iÃÇìÙÙ÷ÿÃç#š€ ˜Å§ÏL?¹péÞ¥[—®èWÓAg„ ø çòKÏ>16=‘£)«x“ÓÏœ8y÷ä/½²w¥‚î™Ì3ÿÙӳ̴UóVíÕÑ'FÇJçøÆÕ­Öµö€tàÐÄ–Øù÷œ›95Ás ã'/œ:ñѵë—¾ö&jB™X‘1ààÑ_:Ç)d9±ý”éŒpIb=úKç®üÑõ¸cÀ 4(Ž?³+ÖEƒYvˆœ›aªG:÷;Ñu fs%cÛÅ¥‰Ó϶'ÝÂBþFûjåƒåÅŸýåÚÍÚëö.uâ1ã .òç§Î¾pnüÂXœ‹ªÞ“ÉÿügÚ+íË/¿&ošJŒ$0ŽÅŸæâ{—D„A׿ä=§JÑ3­{ß¾½þí ´0ULáô{ÏM,NäÇ …r!ÅÔ⤥ݫ߾öæøŒê×BÄCŽÎJw:2çdâ$Vq²½zpgu[-‹ÉæìLWåµWêö®­¿þ§/©e zC,`'ŸY8~ñôìøÜ=±œq½JfÌK½[ûë¯îÔ—÷æ¹{¤ÁF¶¦–¦ç;V™©¸9Ûë±ÉL5ïç±I¯_¹šÂKà´ýž.Ö±Ï/y•ÚÎáí?»‡u@!öó8öܱ±ñ'雷n^Y[{é6´…ž>Ë9\GìÄÝÑ@Cz,Gò¯¼_;@ýhÎ0  Ò³JÕ’JӌŠ–­U€C <²á¢o#ú.Aûn¶èÀ^Yß;¸»…& @,€Z©Aþ(§ˆ¥ †)%`‘ìE\|ú):æv£ˆ ²»²\?D„ ñýñp×yãDÃBáÁß ?î÷ôÁǃB+C p~áÜa¯n89·xæéÇžÔЛÛ'¦Nê*VQ`“BBÁñ%ô;D)1ønŒµÖJ¥Åb6“™Éæ,G„ˆ¥”RJ+ÚÏÑP J)·ل?IŒ—Æ;që7>ôë¿ñ¡_?èÔ|ÇÏ9™íÝ­b¾C©ék( è 4'oEKÒþŽ ûyoŸ™ä´6}ÌÏk‰È:çxèDµÃƒ@²òØdŠ@k ¦‰Q0J): 'bˆ!†â§·Ò#H ˜íjÀ¡ ƒŒ1Š…GOí' 'ï†N»ÝNb·àUÎŒÍo¶T'I,„¶Œ=3¹t,»Ty"Dº¹·µÝ¤ÇFƲ ùùtÞ©nÏVŒ¹ekòDÙšµ›´ÞUõÔmÖâhl|lqüx¶’¿“_;\ïXÒ÷}<_(Ÿ›ðªÙžè6;Mš’‚ŒÍºÅüt®Ón@. `Ï[gŸz¬ׂ® h$©&$¥‰\zÏ£[WöëWjKBäqîéóÒƒíf:iç°Ö*LFÇGß÷ ·èÍk7nÁ…Šd,Ó áW_ŒüˆVèý›&“F¢å¸<3ëŸþÀÙµñD˜L IDATh/„$ã“Ó± S9g!zÑ~g32]?WT£ÜË–1µ_NH(žqŸ95=?ÕÐõ½ƒm#Ädµ’õ-Q0çßV;bse׳}F¸0böäìùgÏtT'pºín3è>ÍMWf* EëŒ'ÞŒŒ\®£Ÿ¤`À c”Û„CÃHp°T¸~éÖ#³ï‹#‘Ë—3ÌMº½VØ»¨ëð-XA Ée¹0°#Öu«™1¤FµÅÁVgûíúkuÔ§6SJ+;ÞØ_u´ãÂÍV²>õ¢+‘ æî·î¼ú&8`s8ýÜ Áœ㱔í¯Üûæ ¶€˜»¥lL[Eõ¹é‰S“BÆ#:KZÉËŸy+€Ä@`¢@‘SD똔x¥Mšà)àÀ7¾ ŠÄU>@ybCw(:Ô0‡rÉp úfË…Gñ–}g Ë@öóõ 2plmõÎöÝ5 /±±ᛆÚ£4 •¡‚SO+ 22ëé>Ësv&F˜µû+«/ÝD¸@g¸ÌüµÎûo¨»b>Êwׯc@5yø>Y3­ !++«nƯŽÝ¹›¤zbd"ÉÊ8‘!FsN UB‹Ù:}§æ¤\Ñ`Ûöþn½Ù¬Vó™L&‰G†Ò÷ìPJ))„ý+ê¿i#!þjPC³Üo·Z›õõ©©©™üäþáÁA#š›˜ïv»Ô¼Å*÷ç5`}_ž£‰aŽ}ójýÝÓÆ|ÿ%¨‡ ËI­¨HìB¡ ]¦!£J¡ï¨¦¥tØ1ÄC 1ÄO-4@¨‡‚ĺ²4[91±%Öã Ù­‡f¯P(O'’¼HªfúïžNÚ¡ J[F;td¢lgD­¹»¹¹A)[ÌTˆ“q:Ò-Ž•ª=DifRæÐ.ïµzíF­Õ¬MMÎtE;°’4£FŸyzF›å&éh%oU݆n-ÜÛÝÝ)8…™ò1¦«ÌGOŒvî6ºw';s0ÏÓIûÚ¥×AñÈ{žb7 ôâSê׿2AräOýÉÂÝÃe-Ìa£Vß®{ʳ+N¥82>9uÞ@À‡[²#+jëV£^—÷[4ã'cð ÅÒ1×Tª‘”3)4•¼Tô¼Q5ꇷ×dšj”.Ðl¥4{¡Z£4ÔT( –Éd¨ciÝJ:iØÚ ´¾6Y-Š1ãO——&<îC¥<Ú¼eY÷Vo­o¯ëTOÌXF+8ñØü­[7ÉQÈ¥1†hC e`Æ·=h(#âXN¢’èµÎ+¯~.j§fr^qåÍ;¨õÃGiS‡Z.g¡ˆtCm¿´»ý­]p<ú‘§[íFk§ÕÚnc/´Sðò½¨G`3Âån|ïOn,{ybabjtº¹ÜùËW¾È8‹÷ýâ³1šÃÙÒL}íðîgV°:êŽÕºX@ñWÊ•r/æGÆË{¯}þ*Öá+¤!`b€#ㆮˆ»aw'B› ì3léÒ˜ki2vaöyhúE%ë99UÒÌ…$<Ž­ PýBÑ¿C5„Á0À¤R@#eÓH"Pp}è`=T‘* e`´´ëXF¥ƒæ sç–Æf—VI:­¯Þë+t؉š4ü  xHÔðƒÊ ~`¢á{T …ã#GEB¡„âÈÙ‡KÇOvƒ”/»®$q{·Qœ)j%ÇuÑD3Í)1JËÙ[¦”š™™IÓ4T†*Ž&'ü ±WRÑ# ^0B,¥†©?1C—ï-Ÿ^<ÐýÚ^Ww‹…õiÐéRPÒ'úR3ðB`ýDU3Phbð ã²”uD@•FïŒz½>6=•3A˜¶C˳37Tʲ,¦ð€$¥”rΉ±ä°}nˆ!†bˆŸÚ*Ÿ€2–¤)8ŒÓÇç©G§fg¾þú×÷¾¶ö.ÖJ' vÅq,¯^„Ÿr‹Øžíû–›¥QÜÜ߹߾²µj+;âÎÏ/dÜ‘ZípSíór¾v-iüB9çåºÛÑòí-ù*öN,Ïœ™;µè”œP'1• $2g=ol­ÝZÇ*ÊuZ]˜(LŒ?û¯ÞÁaÿ:3'ŽÁ³kÎæÖ}ì +Ë÷Õ¤ãåÊ'?÷íOBþÌÙS©¥:&^¾rb\oÞ4³Ú”Ìô±Ùê…ñýK{ €‡Ç~î™ýö©˜—¯¼ÜÝ9ÀËg;ÇÞ?3R,î‰f »·^oÜœ;6â9¤³ÑkÞÝïm`·Øs%-èbÁCb+ë@ê4ÕÚ8<ãpNŒHº‡{W{Èã­¹÷¿½ÝòÆ=;!2’ÔÇñ‰mºhSIïo¬à.E¯Ø…+2^~æÄä-v“°ï2"£T6±`(àÚNbô€èv7u1BCCPÀñ*•h¯™hJ¨å8ž2"ÕRúʧ^øwöÙÍ t/êßËK@#‚é$;+k;dÍÕ$! ,bò˜ʥűìôò•û«ßÚÅB·My•ÿ¹¼bÛ%¯  {Ë»·¾y-]‰à€… `V+å1ßÉ—Üb5!à;~.—ól?n§ƒLέK^¥`—,×K°¤–Œ&é'n‚A3€о)'Œ„r2NÆw]#LÎõC:ÔŠ!ØQ§…ÖÐôy ´Í‰é€à(/LíöZ ÑHÍÆí5ì)ÊÅRc¯‰¡tö¯A4¼ø'\J?<¡+äuûyÈ~ßP€è»wîÏÌLyÔ©÷j:’•±ÑSs§Û5½®k¹J¨8AàZ.d")é_\k†üð×Çõz}þX¾ÛMv÷×N,ÎT*•ƒmEÐÐ èK(Ìš!'õ“¦©p~ñüêÚª”²2R6.q˜eoìmŒTŽº!ú\<2ýïjj´&æaŠá!–úû¯sÓ³õ¨Ûju‹Ì*ÙN’¦ívDZ @)ú³¤¿Œ £I†bˆ!†ø)‡mÛ$@¿~Jb0ŒOV;A÷Õ[ߪ7öÉíÎåë—ÆNUóå‚]òŒÍ©VB¤²ÕCvZÍÚÊ>ò@ XŪÛòÜb¹âæUlÔWŠÅ|y¤,£ôÎ;‡«{*NËHçL>?¢³¬ÖØnˆ ËðãSç[ÍýýÝftÈ]Ü8Ø/ÔÀ©1Gw  ;uêÔ±¾{PÛ¿½ßoãïÞ>ܶöG23Eχ—³“vª#LÏN&§”Aap¡MBޱ4MKã#ù|v¿_Z8üôÙ“ "º­öP8n[]ëÎ¥{•¸›YÈVÊn5öZÛ3s3–¤QX[ݬïÝÜííÁŠar°²Is ~ÄUÜw,n3ÏõGÆF7¶·nܼٸ£dt¢[×oN… ’8èô˜!ÙB.ë»NÆ{镯¡ ø€Dã^óM}õÂÂ#c`ߥë$L MD" (µ`%qÚÏ,…¨ŽÃF>…E!dÔª#ë#±èc€0 I €¸Üµ=J©JE„ÊÀÍxqœB0ؾO’0DB…޳Ù\ÏŽø{ôÃçtAlí¯Ž—ªõÞê—w± Ø9+m •MNÿÌ£¥‹Ó7öoGÝÞë_¸†eX.tˆ¸ÿ¶ÚÈ3•4:õDš¢Îf¸c =1éÅnÜ‘Z5[]ô}ؑۗ¤A«¸‘¢R¤PilR ßA­B`èàÖ‰0 P q"”ÑÝ ìEÚ°ÊÎýýS ”€QÐr@"((ßnÆ=;›­ß_ò€HH,ðÔ Íé0üp ô‡þ3gk ?6V«ÕÇ‘B)e_óB1J!M‡:¥Ÿèaèá~­’/-L/*¾åµݰÌÏÍCo­òƒ-óaçMÞ"~Œ¿²oÀ•ëW?ò‘,--}üã¢ÈÍfô“o”‚18š'FJ)ÄPö2ÄC 1ÄOó~ —;FÈ~Ólÿ_>“ Ú­÷=ûLu² d‘?VYœŸÉç¸ÐI­C1”•RŸ¸å|ùø±Kg±”`?æž9s®ê•L;Ñ«'³¦œkp³›”wâØâÉ¥%§b#Žä&K­N§±ßô"6kÃX)ÈlßÞÊ8ù'yêìÉó @ Èaî‰ÅñÒx1S´á¡h ³©Vî­ ©—Î]¨Â²ÇK§ÏM”ÜÜÙF•¦F §VÓÍøÓç΢ Œ9{fú˜ëúq///;ã>´åêêªëÚÆ¨ù“‹˜F;M1‘Ÿ=¿4u|Á SÖål4\ï™&r¼4Vžœ:¾0¶XÁ„Psêìé3ÇGóeNm-‰ˆU7ˆë­îúÖ_¨œ»øDåB“À(Ff¦§OFa÷R"IÁ/ä3%n¸H´IÍß÷Ö†d&'/<1šÛZÛTäƒjÉ€"’”.\ V(BA ãˆs€ X®pd &Àlž‚ .àÁ@FQ7è¶ã(Êâ^eú-6i&I Èiå%½ôÀž÷}áé¦n†ÏÏÌ®6.ÿÞ]ìöƱø³ 3W;ûµ'çMvÂ×ÿ_öÞ,H²ë>óûÎr·¼¹/µWu-]½7]‰…›HвÚÒH²,+h9ÆÏDØíP„·‡Cö…ƒ~&%ܾ—¤4€0Ðý" H†H UÆ"n1 ° q…¢%ŒBßm†S©…RÃ>hîê˜å<Ëuv··Ñ$x‚^§ë³ìÀ ò_¹ü=ê ø;<üaíôß÷ù¿›¼1àï÷üÑæð9t— ¤+R££V×aÎPÅ( ‹ƒ˜‚f½¬Ö:ŽãþÑñ~szöÈÎÎN¥V‚Íz£4ZM• ýAímÿÏ <›j­ '®ëcÂ0ty.MÓ?üÃ?œM¾ò—»{k#C#;›‚'NãTFù‚ueÇŒAk‹Å^oà¾ònâÚ5HÂHd\ß½V€{~Äo‹MaóËåë[…B¡ÙlL™è1äîS•M!”†aÏØÌu]BˆVšAüéŸþéÌÌÌ_þ_ækXFˆ|>imŒ!”Â#„PH¨ë < 0à=Ö: Ãl6 Cß÷ÜÍÞþ· ˆ0¯ Ýj\§H-Hùÿüïÿò×?ý+ÝVsº6ž?ç‰DW*Õ’_Ntœ´¢JÓóu&2iÏD*g'ƒÇóCÓ³?›M“È’$“dr-{^ÚaqÛ͘‚2Tg 3L[ÍTïٞܮÕjÌqxÖözœí_úyäZa/.RY7!M*™Ú©Snæ× N~~ø ¨IÌË_ûB¢cöë·6œ<µÚZ:}úôVÉ—LW'¦Z­Îx~úâ[¯Á@ ÇŸýñgßÿû×¶5>>N×Q+85s ¹\îöõE³ƒ$ Á×¾÷ÊzäÜèXmÛ›ÓMZ‰‡ ]n©^®ç£#D+¸©k«Lʈ.Ãd–ÊÔPåV "b2”J¸JHÊ=ÇwR mŒååy¾\œS±·å;6j‰öb-‚4‰$'ÆÍxže³„ÊNr¤4»vi:U›.Ójw«»òÖ—`>eD+BŒï{í¤Y(âV¨p€a´/?óøSF7^|­ó½5€¥Ä‚°ØÛÉ£l2G+æÑ_8mgéÂ…Ûk/ìb¿ŸÚÀ‹™r7ì‚…¸_fâ§Gî›.í½Ùm5:¥ùlìS3cõÝÝÕ…ÕÛµƒY×é… 8²s^õþrö~»—©ŸÊ̼þåË›«ÛX:l‘-=4s ÈâèûŽÏšÝÝ_VFy#߸taȯ„I   t‚jÕß^ÝG X°Æób½ãÔŠn½Ä²‰@u§Ó-תlÞV»)z@x†Ê¦ÖF%-;“¤)/ØRÇ&drt|DÖõNýxÔD@÷khD¿»—"RÂ/Åfê;n#èÁˆË'A9̰$(¬X¥l^ÿ¶}ý]cƘ{kûŸ¤Ü‚Öžçõ‹Öljã˜s®¤²m»¿˜'œB„Œ1> ~ºæˆ†1‡÷òÎx è{þûÎÿó fÁô_OÏi¶­ édm˳Â0ä¢Àp®5´1ýYM µö}ß¶H#í$* ‚À³=ËHθˆåâââÚÚò£>:2ZúgÿôÓgO|ı±±¡:ƒJl˲A …€±Á|ûIXÀÜûâÞ©r aõg—!†Ø$TA´å+ùl.£¨ZßZw‡ÛÖ;¦žé+ø°n˳ ’$q²™<•êâÅ‹‹kwÎ}ñoNOMÿÞïüî'~ýW—–®NÌÍ1‡3Ï!Ä÷ý fžç‰Äñ`˜ 0འ缯2è« ­VkooopeH%W˜¤ÊÀ4ÕÊÕEg’Ï™:^œÛÝØcÔ.ÒÒòÞÒíW®×Ÿ = áÐ¥gç¦NÍW††¼|&ètk¥â±ÑÉp³ñÒWŸ»~aƒÈ §R—ÉÈ“³OÍfy7S+‹E;å¼Ã¶®nÜzöº^×e‰Œì•ÒÜù©Óž(ŒæG¬‘ÊDɧ^‘³Ž__kô¶{Ha%V*o|ëåìõÜHÎårhd8eÚó3T8ͽý[K@ôA{&ºØ]ÙªdF}ÏM q¹\&=½¾¼ºµ¼ñ¶%Ü ãfìH«æWŒïÐêP±Tó‰×¸½}óÅ7£Ëh£/IÀÁÈsýÜS£G‹7v—Ó°‘ËfÆ3å`soéêÚÚÕ%lVKdŸžI#»65:R«&,Î8ŒQ^ùÖ÷ÌRŒ" ]‘=Zzô™Gýrvº0=_×ÒЈ%Û¢±ØÚ_©¿}@r7? ÐQ¸¾D;ë¤ãÏÌÏä|Ct6zÍBÞÿøô1û7È«_þÖÏß2ä€<æîŸ>ñÈy6Bo÷.OÍŽ=:õè¹ÇÒ`9}óÛ×ö/î´Ä.|%‘AíñÊøù1V3V•äJ™L­0*í¥ÌÅÊÊJãÎþök]ì,áÚÐÆ7Õ¹jö¨+Æ%Wn7_ߊ–;ð€(ÒÊñÙé“ÓÕ©jŠ0;ZÆ$«G¼Âæòï¾zŲÈ.80 kšNßwÄ-yÊ•åÙbþÉ¡Î➸ÓE’ôzA'›óz=äDzْÿ‘ôÑýÝzÙ+­]_¹ùÆU¹¬Á¡)ˆB/ ™EÓ$Æ$2óe­¨N\ìPô¾°¼óŒ5›ö˹NØ ºm!¥£È篛—c( ½õæU\}ôɇ´1Æ£î2iÉŽÚ¸ºÓ½Ü=è;6_DÇ2ö|'˜O € ~âþÍÎNe$‚Õj´–[q9“+«TQˆvÛT‚hà#sÚ'SY0V#d$óFI÷Œ•©ä‹¹r†­ú.+²Ù§fçÏÏG¤·ÓX_¯o [„¡t¸wíâ2€[@ GYDq€ºkd~HOÊN¾ÑÚmßä"’)™ÎO?|lúÙºÚ/ÊqÐÙ_ßš­xcåÊõ =NÈ&Î =41qz¢4;²74:ü¾>¾ðÚ­…kȱ±¶ÒíïY6m•Jö¾jÍ„N262!hZ-û3ßé_9æ@j( ˜~úLåd-;QÜÚÚªUïò¡åüòÒÆUpÀH¥(é»3€ ‚1C @¹¢[¥ƒ³3M¡¹Tß8)ˆx{Å;àÇ´¿¸Gb¸·ïbPÑðÓ7” úÐr§¯ ôŸIôû¬øè;û+ô=. šè 7ŽÍ3Б;A×÷üõõ¡Ñ1)5SDJÚ·‘•Ò€h¦Ò£Ùl6ke`Y– [Rj”i·ÛùliaáÖÑc“ccc¶m».Ö×£¡±¢Pp\ÀeŒi ÐÉßO€LEÀµÑM }»câà…6T j6÷6G†F{aOé—³6³w;»”ê¾a$¥‡Bƒ!ÒPC)å°-ËÊçó(MÓÔÎeRÈv»ÍKÓÔqÇÏßZ_š,Ž€sPJ}ß âLÖÏB5У 0à= cLk$I.—#„0Æ–——¯\¹2¸2÷®Ý‰0+ÓViçZú[Ù<ÎÏŸðhö囯oÝÜœ{† ^è\¹õêµ,;{ö¬eYív{ñæ-µ{ £À 8A°$nl\»ñÒµüìxy¬ÖjµZ+Øh)¨åD% p½·°riaÕùááÑ¡N£³¹¸¡ê²Ÿ_@4Wa ÀãNä™î+â'tËÓÐA7*h.^ÞD hp¸aC¨/…ñ¹Ž¤1urJ¦m¡3Êm,6° h¤ áYŒiKEbû¥õí+ë˜Fåè¸ç ïo5â¥Uìh¤À& 4‡YÁÅù2ª/—NÎæGkûK/¼‚6Ø à0h}éÖ×¾~ GË'OÏxε·®D—WR÷×L BBaû…µ¿úöZá|é¾Ï­¶Ö/¿ðÖ  ßa¢Fj´!0”C ƒÔ¢îƒcèÄH6g:\]ÛjÖ›Q¯0Tµr3îÑâDþXÚ ˜¦Ýn›81ã•ýöfçÖ…›"W(NLMyÓ~Á.¡Çóù|^g‡t•h“ºj§³Ç)ݻӺysiêñˆ{VÁʪPb¸$ÈÛ9•ZQ•)û]»Ý‰ºÛËP‘Vª…J€’uúÁs•3CKíå7×/WNÖ*cÕ ]zíbë5ÙWµ\Ìžè¶Ð?ºGá€=ý&‹~?ÅÛa˜„ *~Êö‰š˜ïß®ò·ü©bèÝß• 1šèÉÙ‰fTÿóÏýÅ—^ßoí?ðÀ æ?ûÇŸVžvs4%çÚ,­ƒv!Î%ºÝ8Š¢ºªÛQêP?ŸÏæ>óÒKßyíõïNþ§ÿéïI‰bÑ ÃŽ!©eÛJ)!„Ж¦t 5¼«KsÏܽEJ úûÞQ„°?ùìŸ8–³¸¸˜ËäæfŽ~òßù¤ïe-ʉ¡L±C¡è0Š¢”Õ£(êv»T»Ðq¿÷ßý××—o^¼òóOàw>õ)§TZ«oÍNÌ.‘^@’Ƙ6zà-;`À€ïy¦§§?î8Îúúz³ÙdŒ}èC˜¿½pçLFÊþÙYÔƒj!|¨¸på \ÏB ìFRh ÒwaBH¨‹‹—òE&‰Q݃3|P@!°Kè¬×I™öz=ôÔݳ¦h œ[2@Œý½}ˆ°¹ë1?ŠB@c)XÈXVn®©f\å¤Û/lmCàÐ ¨Ã‹ wlÍ”„H”½<"`>‚%ăÁ(H`õݼ‰ÒíÄÁÒ…3…þ÷v Akˆš› Ù; Ûô½) ¤@B 0À•Æõ7^à ¸kiTK°¼ ,ˆNíך/¼þ|¿ó1GÒôKùŠŽ 4³y+nÁƒ6ˆE‚î14| IDAT{ü¾ Ûš·Šo\¾±tmÈûµSÎ:å¼ñ¢PÛñ-Ç \¥Tà˽æêâ…ÖÅ]´M÷¨›rËœy\†b‡ìxž—áO¬´©vvê².önõ°ŽÕ¡5«lOž~‚j|t|ã• BØ „$BJÁ¹mF”¥ðs^'ަÏÏ—=Á¢—/};íl@#=Y96:îWF¨°)ªÐ·‹sG쑉‘„¦ + K— ´âì©ÜpµvüñS7¿t P¸qávXiÞ?ÿP¢E¤Ó /½€q"˜?ô¢sÝÿâ•WA’#&2³œ±‹öÎåÕåöAÜ:3}¦˜/Ìœ>¾¼tãpÉJFJš0Ep® SP 0`F+€ÍŒ†Åaé÷ yâ@8î×.°{ ”þЊ†AÄO¬Ö¢îVüÜM 0ä°ÞлZfoo2ßV ÑQ~ë;ÏSN~í7ÍñìD$Ï>ûìó¯~ëô‰¥`<¢Ì ä<²0XZO ƒÏóaP©T´Ö¥B©„ìÊÒæG>ò‘O}ê·r9{kwethºÓDk;C´1ýÂHιmC2úÃFüÿ5uò¶µÁAñ5}­áÞBMäW^z¶ìò“Ÿü¹_þøÞÎþ­«·.߸ôôch·ÚLsbSœJ %†**ÃUkK„•JE)åe<2<<üÇŸùß6ÛuÝ‹F³y7Ñ{wÔÖþHaÈRhï!—Ë…aÈ8kµZIÄ3Ž7¯ x³¼¼œ¦iš¦¶m;Ž`ccã—~é—W¦¿Š£œ¥ZŒIµ¢Ì²”è…j î Èj;ZQ(hÊ-ÛcЩV0ij:- Æ $€˜Ã½–eqÃL ¨N°Kæx¾í[v°M]áâ$$J¡j`@¡¥E PP©UÿÔØ³}/a0n&ãu,¤€Z J" ¤(qŸd3-†ÈTIJk4ŠnÞNÝPÇ>2NÖ®ë†N5vщ\Ãfàœc”>Øúj ¥á8Èå)ÐkÇ@Ì˵¡‰k¨ N„<°Z¹°Ó©‹ŽêrÛt%@ L*,‹€ëH§‘b€9 ÐL3~É*äÚ­‡«ÃŠý~e¨64•¬I#ƒFgFwš+×—wV×÷Ð º«í›ôÖø‰Ù©Ùi¥S ¦‰¨®ï„Û»;áÍ}0$Üî®ÜYͲœ*ªüPIpÄq£Ó.ÒÒØðX*’›oÞj®ïƒ«J˜(KsÆrSzƒR–$ I÷XâäQÝ»pˆT#Óµv´/Û*•-4Ž QßÛß1ÃG†æbïF)έԓ™lŽÙN·wöö°P´r½½½ájm|tô¦¾fghÚÒè`õZãè“ad“VÐÁ a‹{µñwht|Ö«ý< Ô©T‡„I÷º;íí ¬¡UÜm”v+µÒèXm™Üè¯R©10TC(  £šr ¢ ¨4˜1¼_ÆÒÏÔd” R'~¼ôkî¦ ÒCBÃOÛ@Úàm5€¾§‡Bß7Ø7Ú¡&o« †h ùÕç¾òKŸüÅã§åy¾V'jå«_yì‘§a¬^º:ub¾àÑ­Ncgg§èomÁ²¬0 '&K½ ɸ…$ŒÕ€¼Ç¦œó¾ÄÐgllÌuÝÁ•9|$“H Ø .× K¥"¶- JÁf~†g A»[×¶±(¸„–JÄ2Ó`EÕ‡ˆ$JCSb(À qHÐD"lPˆ…ˆ[€±`lôlh£¡”<À$Ð;8ù¢ÐÂ$±˜Í… û§ÓiÑ<edˆvxVôbH8 6ˆ†Í¨‘FÀhdµ„I×ç®&Jk ¨©L `+è°khØ€!)€Ä@Ú#p8‘Fˆ8é¥8P\€A5SÀŠ•†ì[_0Ìâ­fLÁçÔã:ŽÓ0°m 'àyž7švtWCK%ºTàRH f‡ÍÎᢠ÷¶þkÀH-\ß@J b«±e ?=ÝM;P›È£rvnn~ε¨Xo—b¥’ÈsíœçäÝ"ËzÕrm?»¿ôÕ·Pƒ´::9El*R™6T·ÛÌe*½NÀ­ŒSÍZ/;’ov)r¨”ŽÐÐ2½½°  “XÑe°‰knÞX$µJÑÿ-ZXÞ\ôŽ:6±&¦ªëIÙb& ÓÝÍzs'R¡Ç`8áiÒî¶‚^«GGy­6\Ÿ®ƒbb|Ú³=ÊÕ…;P ±ö ”B•ÊRµ1àÑ*¶÷ÝÑ#^&K©½¶¶Ø×`= @kаPöƒÙjkw?;‘-U‹Z¦ë«8ÜÚ°»¥#©†U%†3cZ'Mf}ŠôËj ÷˜ëýêoCk=hxWŸ²†R˜þoãÀÐÑÒ'ÌêPnc1Ô(Ú759ôºéßÕ ¡ý׆`æÞ( "?lp¨2hª,ÇÚÙß¹ÿ¡íÉÌœyðÌþ{ÿ¥Ë|7ur ˜! £ £’‚Œ{¹Õ;ËS'gºwáÅï}ab4 ÖÝjçíj§ø¾óÙÏ¥ I©8ôõ/_lÔ[¥ªÕííæòÞèЉÛËkRÿ‚ëϘÁ/ûLjîKæÄ€iJ !ýz@2 PCRª©!tޱ{„jÞZòŽ2Ö/˜\X]ü݇ÿI]í¬›+ç>ðþ§ÿûÿæ¿-åKHÀ´ÅcšSÍ©!DsÅ’Ôjû£¹.1^üÞçËSeš]½¾41=³ÑëŽMNl®¬æ,›ôb/ŸÙLÛšPGðñÚñuzíú¥ãgE.> E©˜#}ÁÚ¡/Y|·AïÍ€¼GPJõó,F.—cŒ Z'úHJS®ª`SdÙ6bESØ€ ŒáÜ™'æ†ç—ß\¾øü·á"_ʫ͈ƒqJÓ KûÂäõäûOTjÁnëÚK°ÛŽ1V·+C@8, X ã8vföÈÌD§Ó¹ðê%±H€F=Õ )„¡qÊ <Œ<6|ö¡ÓÍfûÒ+—ä-Eò0]­•Fˆ€ˆ$u˜K•TDÛœ%2ƒ±¡b庌X¦—h(€£‡P(/‘ª”s‘(›sp€÷Ÿú)ƒ­¡SÈ„ ¸pŽägœÊÏzËw–÷.ïc­oKALÊ¥fœ|1‘û ÀŽ?}23ìlî4v¾»Šº€qU" REä™;5ylþ¨N“ë—/‡WÛÐ J2eÚ²~à:È@Q¸è¡'B½ôÜ+r¡”û:ÀAhQ Jc@5,¥I.[†bÀ:Xykmäá=\©=zŸ/ˆ(Ì—+E+â´³Ö+[™n=¤ÉÈÔÒ¼¤í|&ŸË =6õ¢©‰éJ¥Ö©wXj,×iZRJßö™E»q/SÈÌœ;JJtõö#Ü77vÔézq¬½¾€XìØÄ €0(‚$`Ô¤ýœ‹`çµµ‡Ÿ9çòCö¨¬hÆÉ\åÈ[¹¼ºri‰ÄNBClÇa£Sš*›™,i›:š2r3]¼° )@`Àml-¶f‹CD¨÷?zþæÂ­™Ñ£E'×Þˆ_ùÎED€D!ŸoG2™ÕUµGö £ù±âÙëí«'§OO'×6ï¼r§ß(A ¦'4 ,DMX&æLâ ¥ÂÒ2!JR-éÁº’ ß€3høñÞ̆F_\¸›:A)åúGlšÿaÕïzÐ|ÿ£C åŠ eª×`F:SÉ]»þÖ‘c3ˆvƒ³ÇO¾ð½W>ñ¾F:Ô"ÕZsÂmæX”C-‰JUÆñ9X&FÏöÄ22žÒLF 5ýÆ1IŒ¡èE½ùSó/½þÒyæV}!WÌ¢Ï?vî¿ú/þ™+l®5TƒB (1°MdL}+ÐÑ÷.¿ú©ßü­Œë/ñ¹²ÞÞô cD¾cÿ{ÿnFBA' •áÇ ·I·<ÏÛÛÚ?53|ko¡˜+zN~Æ5ÊÈTKŸp¦aŒ‘RJ­F)³¤ÑÔàÐUÔ€*ˆLÁ‹Ð¡ŒîvvNæO<÷ú·>þóÿ'¿ûŸxÔçÊâÊâÊfŠ1C‰f’Ç×–®èÅé›/½þç?ö˜§BisGêÃHb44Ñ’j€2ÉRÇÎ~úÓW>ü§”Ž26KÃÀ‚8l¤ë—ÀÈþSý/9`À€~ÊÑZ÷s× !¥R©_`Ûï¸R´<¦+>\Š^țɡŸŸ«üÌXaªæÒün#™87;ÿ3o^øîõ/.‚ÂÕ"µ¡ Î[g>üpi¢¦`Lª'ÈèɧeïÚÖ¥ç_o]kÀT àÀ?óÌ™“ï;crØjl2Ryæ©Oô6ƒ/^m¼²«:ûý³ã` ãÔ3³G?p¿¨ñöÓÅŸûèoÄ·Z;oܹô¹ËTœ 5P çù¤íZL# ÉŒ“:KOýúékz¶nvê蟫ýlžÎf7Ú»GNÏï/oÛŰ~ð“<û¿¾ À@»ßZ Õó¾oþÉÓaQ¾«öŽ=õÔ©.»ýê­õçÞÂBö# zºzîÖÎ÷œ¨M;ÃöØØÏ>’l†×¾ù^ÞC€Ø@ÿt߉'ÏG\E"Íùùó?-ïí¾pmýk·!”Eá½ÆÁÿrù¾ÉÒ±‘•ú†Hõ'~æä~rý…+·¿ø(ˆâ€á¡ažSË£9%°S‰„año–çN?¶GºêM—çÑ òŠæ©n5—ž{kçFZr‘ tTæû?øh%[Û³ÚÉ •e —•âÂů]ؼ²Zò*–eÕ£:­òéGæø£¢¨Üc…±çÚ*îxo¨åËoY]äÀ}8²;Ђh-R¨,!Ot. Œ&:6–ƒ—?ÿ‡G?Êk%¿d©$Ž{$è…W_º@5D º PxõËÏlê£ ‘ÅZ-µØn¤=ݽ´Š:$ó²*îÝzv¥2::>› Úë÷çÒ¸®•»²£m!µîvY<ñ›„G…˜Óõ°ž«—?yêç½´¸tamsi-@C%¸õŠˆDêŠíTY<±*uÊpàè¨Ë$ɰÐq!ûî…F¨AëÄß~ǃRÊ#„`ŒI)0BÂ8r‡r¦£PÍm+I’AEû 3Dƒj¢ %F2Mt«ÝÊrašT²í?ñÈã­nï¹7¾{vþ„Ë×r)¥DQ!•Öšæy%…L£ÌËÛ`@€¸f2ÀŒÖD J©Ñ(xù§Þÿô—¿þeô‡ýðs—ŸýË¿úÂoýÆÀÌÛõLÓ»çÇšB÷ ' ¨Ó0ßoByPR"ßùŽí úh–$I³Ã3Ûí­>õÁ/üå_Ñ_åóó´‡`£¾¡…öí¬ïæˆD§ÊÀ!Œ1Jú¢¡!änŸ1Ô€Rƒ~O1ü·~í·ÿ§ÿáþÅ_üÅžþÐ7_{öùo<ÿsúù¢WLcÑï°41(ÕŠCÀu¿tPä TçàE g5 Ð†I°XÐ0F2b@îÆN~O9x¶¯à ð_ÂÂ(†V`Z‡(¡|$Ÿs¥6¢06²üá\¶ú`y–TvŸ¯g´«³¼Íášá³£…ñ_nË4êµaRv>R©XËIJÉ"à‹©cp[PŠ÷:Î@Õ @öïÃßj¼ðƒoR'~"÷Ž!ÄØØØNc×÷²»Û;3GŽ|᯿ôÜ7¾þðùfgŽœ8vr¨<¤ŒŠ“„hØÔmu›ùlÞÍ»½^oo/v¸S*”ª³•(ìp£•!”1C¨ÙßÛûØ£oíuþèŸÿÑ—¦¾411ñôù§?tö#" ˆ9Œ¸[ŠO÷ˆ~ÂÈf³½¨  Û žø™÷}íÙ¯}æù£™£sÇŽ›œœ<25“C>1BÄÂ÷3^¾¢‘ˆ4 Ó”bYišÆ‘mÛýR4rŒJ‰ä£g>º³²uñ›WþúÿøêÆêÆoÿÖoì‘ßÙZ­ˆhC¨d©¦ý†O(*ßÎÈü7Ÿí†¤¢€šƒê{,h:¨r0`À€ÿvàJ]èʰÞÛŽÀ20zúÜÌÌØ07¨o5z[ͤÅ…Jrd8;œŸ|òXq´ÅSFK" ›Ìæ‹Í^§½±Û ;ß¶¦Y~Ö+Ž:g¹N¥­èY]$¶åg‹$Ïlb¥[Áâ›+##£…ñb®Pœ4 P-´Z-5’cŠ[”)%Z­»‹7 X¬Ÿ²ßh8£%Š1Iê€a ýÄ hhF P¯×+©c[,åªeRª%Ö6 9ŒÎR¥`€ï¥L5]î¾þ­7Ø5Ó\‘ €@€P¸Ü “*Õ0PMxÔLJ54¨5hÝ$Ô  H5ø@føûJ ÷Ê }È{ß¿ûÎ@hxWG«ŸglîÝBQ@P¥4“Br¡4\M?ª—nj%^½ðêç>ÿ¹Z­ö¾Çß÷È#TܪIs–222/òb)¯µnûÑV4T†¢¦ãƒ!Ôc%#¥±N»ó›ŸøÍÿ¿±ÓÜq]Ûõ2;[;C~‰J Á;¼~È÷Ô½Ût:B¡xg}­V«eÜÌïú÷ŸýÎsBÉo~í›J¥Ê™Sg<ûàØÈdÆkÍ X&“õ<ÏÓÒ$½†‘&c»¹|N%)é'hiM %FŠînìý‡ŸøT†q—‡Ô;õáò°–¦Ÿc‚Ã<)h*5Õÿæz€&š2j`45šM‰2%šôu}w u7Te 8 0`À€÷4¶Öù(ɤª t#…ЧÏËgÜvwwoyqåfCĈÆ;Ê‘öxžÁœ•ÄÊæÌ2®g<Û·ƒ ܼ³¹¸x ò–°’ÉùQN¤§”’Ýv8\ñ¸u“4©#åkkkí×o·G÷’8š=:Irı<£˜L@y®Ö4=+Voßj^J72 û,%Ö—)™½ú•7ú©°qâÑswD©Þ][]}q )e£ÇŠ2ó<¸öìeÕƒe8}ê¬Ìew:Ûû«û·ž_†n¡S+W #£'g0{ «}ø¨É¦Ò·–/-¿¹‡Ex§Qµ-•åÄNªS™H©F»aY·$Ë&AZßZÝYºr#j‹LÁbQÑ9>Cý¢7æ…† ¢”ãXiÒë…û{­ÅÅíUm±m>׳O]ŠëÞØP#ˆlß’ÔDQhùÑâÆBF&ÃÕ °G´ªMp'âþã7þü:cL0ÆP B)õ}?1-££Â`8ÐR4¾Ñ~ö[ßAîpK ÑOë€&°³Ô¢:í 6ØŒùæå¯Xå„r›!‘PõæÁ¢Ëµ`¹< ¤ZÄÂí« ÿïUÛEÝP µ xdÔ·êEv­”á0ÎŽôÏúû=Єd=7©Ë-Ï#±‚ Ts©€9˜RÔæ¶mkÆ™BŠb¾ ‚Lrˆ~þ“~.cåý‹“¨i=RÈ‚h]¥Ž¥ )DTKJr´Øl¶;—¶À •†TLP©JHX¶éG´š”º4“a.gD˜¤ï¦Ámf1¢ 5È@6À=­¹òƒrÃÝwBûŽÑ?8Ý}ßãØuÝNÔÉúyröØ™ÙÙiÊ”E>Ñì5_ýõo¿ôíÏÿõ秦¦NÌŸxâ‰'\×u,'VQ¯×ƒ&…Ba¸4œô5ÌBIÿ_ƒ¡šd3Ù^½»¾¿:>>~¤4µ½½ÝÙoÏO ZúN‰Aào+0l÷~PJù¶oÛvÞ-,®ßšž˜ùÕ_þGŒ²NØi¶;·oß~óÒ›/û•áÚÈ“O¼ÿ¾‡Iê8UqÆÉ”œa´;õ¥•‰¡¦)1 „£ûþ£TÑ™¡ù­•mnó©Ñé$J×7×l×Êç ÑÑ8,CèÛQþI~”ÖÍŒ‚fÜ(~s¬µ&„ô%†ƒ”Vsï¯eÀ€ x¯¯ã†ˆsµheà¢TÌ%*ÐD4Û ±ìf:™¤ç)JÛwe$æú,›¡9#iˆ½Î6š ´!6ÛëNjG¶E[jáfíë;‹¾Ÿ=JvãòöuØÀvg{d½{Ügm†ºŽPÀÒÖÔØŒF7^»_K —®,eŸµ2E;ï€>§s(MVw}uõrsa @±wk;ò+ǧï÷Ó2òyu§SõKŒŒß±uÐk×° vRê;wV“ªž™šÚ]¼ Øéš6qœå­=Ô[Ë[VFÜ÷èYíX «7ÚI·2Tì†mÛ¤&a\9»­¨.ÐD(ÅVkÏë96K±ì $©ÒiÚálv¨ªTЋۻ-n õ¡Ý,Œè°‡˜„4Ò”Á¦î°§Y!Ùß^zau Œ·^Ýšûòþ'Ï®½¼ ªß¹^¡¥Æ0nQÊqP‚n#u€9 ª*(‚´__`Ãñ³I#†dH´¦– Ã2¶ëŠnÌ* ®Ï4WÌ¢¤ÓQI€¤']Æ(åB ÕHRæ(;'4ƒ–€@Ò@ È!U"ç@(é'4h­‘2€ÁÍ ˜A¿ÆÔôó4Õ‡‡?L‘ÃÎY ‚ƒÞj A! ˆ(4×ZRhI!8M4I}sel£R@ '’XRSOòª…eBÙT(‰  z€Ž‘É€ èeœyr’¤Ôå®C3Zh8È•Š2'ºA‰’Á°A°åAb¸We¸WnøÁ¡á'Š»ûyêz^»×Îd²­N“»ÎÍ›ÙBÞr™á*]öøã?ñÄ»»»×¯__ZZúÆó_Ÿ››{衇N:U(ä$ì )¹v-m÷sLöoFcnݸyâÄI{Û»Ý)JÔ j†ÌØ÷îð»õŒùè;U†Öð®S­Tw÷¶‹ù&K«·+C5Ad!SäÄòOø§çOGAzûöí¯~õ«ÿã¿øçOýÂgOΟ<~‚C­ÛHe­T>š¯õ¢ö;¶òÄ$­x¨0bˆ®¯6 ÃÜô(®_¿>:>‚Cµ]âí§0¦FŠE¢Ð šBˆÑæ ƒóÀ áîc{À€ x¯/)"b¨Ë¨†å`gcÓËyV%o •1Ô@Vpý|9—ËÛ’›¸ 7ŒÊAmŸs—#¯¹ P „¡rµÔjº IDAT¹ì—5Õ¶ñÈTùÙ²Í"‰1ªPζ‡(”F…šãç]jSŸ)Ëc¹<%¶.äzpgb|r±ÙÄ&àÀ+f¬l Íz¿ì ÐØßÝÓãº\.›±|+è€ÂËVJe£°·½eX¶™´Û›•=ÏŸ<6¿Ö¾¥(²~¦”/¨¾´p@ lw,Õœ" Lë`ex#YÁŒËæ†y¦ìpÛÉB˜ëe-je«]Œ4`yøS9VËYÜõ’Ø%(1¶öî9uì(MTeC€6\cåB$Éö6 S› ¢ ×÷ •IJÙ1(X 䫵(ZSH%­LöZÚh­Ã0¤”‚ôÏÝ!ÐwGDäÂP „Žz„¤×ãpú«£µJ¸A‚4aA{FÆ€q¬@H( Öýå¸q8c,ŠhÂJÀ((s¨gkª äg¸±£×’ ®R£S Õ×(Œ1Q¸…ŒJÓ(Š‘ /+( 0¨4†\ÄZrSi{ŽM¨î4Ú m€Â¶í4’J)@ÂBt:Q1GÝ\®,{Ý^»Óï‹ M»Ô7Š`PÒ˜y»À4EFÎ=GÐ)`p€$\ÌžŸ:óà©=«Þ e¯ÙŽ÷wîj^Í^‡”3*i܃l©l†dà;ûw¾¯xáû´Üó™Ðð®‹Öooïîz ‚v»&aε}?—ss¨é\®À€@õ<Ûc†iª5ÔøÐx¹P~ø‡»a÷Å_ü³?û3Çqxà3çÎT«U‡h¦´M”ÃlÎ9#T ¢ô‰SÇW––µ”•JÚØŒfïo¯—ËÜõe0êìa#}¿ZÞôO›)`¿w›8‰£(rýŒPâØÔñfÐtl7ŒƒN³+Ê^  ½¨SÌ8wÿì7>ÿõ¿ùÊÿùÇrtnîãþÙNœÓF\_¿164ŒÃ€UMúº»fŠ´ûã“ÔqP³¼°Â,vòÄÉv§Í4!ýpUݯk RÓAtÐÄh I gF1£Œ1šF‰6ôPÃèÛF€ ºu 0`À{ŸˆÓ¶ÃX*[@Áàò«W~æÌÓ[:G§m7ŸöÄHa¸Tq„ŠöãbPIB-H뎰ã4cgËnmÊkƹ8NK~åèèL‘µöº¦nÍÚÍÎðP…8*Üëxk~vÒõÕ­+ •ÉâÄT5ïÛaëÿcï̓ìJÏó¾ç[Î~÷{{_tcßY8ÃgÈ¡(.¥…R$–'Ž\vUJɱ“”\VÉRÅv•ª%¶$;’+r"Š¢l.×!g†³b€Á:XÝè}½ûÙÏ·äÛÝ7)¦”âdêþРNw]ç|èû½Ï÷¾Ï“ª Ébnë¼™'S`›ötñøôIRpî½s¦wäðy3+'éÜk7‘!zMé7^¿Zûàô¡©ÑQN®È×ÅéÓ§½ÚxsÑŸk.€v€á•o¿váôG,fUÏ ÑÚØ­ ¨ ½}ù-y%…@¯6¾öÍ·ŸþÅd Ÿ9ÔovÆØÑÉÁÑÍ®LÂÐCN‚Öªï¹.aJTsnÍ-OÑ!5ý:÷¸}xŠÄ– ;A!T®6…&ÚB˜&| —Žrª0Ü0ì>бóEƶ,Nè|ŽX†22)b?«š×òâž}=÷&üôÌé'jFeñÎF¸ØA!Ó^)N±[ti$I à ËAªŒpQ8Q:þ É⫯¿!h˜Èiè01aP!²ˆX@pðè'÷}þÎR|·££ šƒXfu8 ˜YGÊyÀÆÀ#CGŽŸzùÅ·ÑÖXiÁ¸LŠ™%XÚÎsÄ©¨"\C¡µÖJi¹V_/T½œ›3¹ùA½½íšîÈ¡‰¤´gÎ@R¨]£¾^1ÉöôJ4éW}?vºÝîÔäT'ô·7·=Ï£Œµí\.gzNfaÚІa BHùÓ?ùñ_p®Õn½òòËÿöþÍï‡Ñc=öÔû߯P%{Ê×nØ*(•c³ã݆Çq.—s<Û)8ݰ»½µcYÑ”š(¢wÁ¨¤RÿÇ8ùJª”¤½ ÝkŸ!èµÛhì?°þ’ëÓ§OŸ>ïuEàZq3”ȃÄP)¶nøŽQXìnx•¡ÃÅi芰Š`áÚzg¡qïõ;2åÊI•ÑEI©Ó“G†,‚óGN$~âB… &˨_m¬ÏmËœ‹Ñ²U¡GÎM•k2ІœRùÑS­:%tdýöÖƒëkáŽ4R×Ä‹;GÏ*”ZÌ5GŽž÷윉œ%¼ÎV{ëÒ2 ¡c@†å·çN|èD§Ñ!Ç.œ š¹Ó£…ë·æÑ†a?Óð°ùVµ“‹: GO;8>v6W¶î-"F! ¤—³Â§ª­F|hätK4ÒJ›I­$+ZÕ•ÆÖÕ×o¡‘9Å(Úf6F<3Q˜š”äˋN'CÔaþ½ÍÆ¥%oG1 ãÈ7ÕøÇò°ødup²P–¶é™ÂðÛ¡ÝJç¾qË (í([R+g‹°j££ëëÝgsŽ'Š˜vE°×¾ðÕ]»*²W€iE´T†iö&`@Ø®9‚9;zñ¿~:eiÕË•-ëÈSGÓµæük7¯|ý¾Hd YʵsµÃ¯ÎT|Œ”F}䬿‘=¸µyç›W±¦Ý h‚$ƒ‘àÌÐù§OL<ÜnùÏžû)Ú5êWænåÕø¾$‚rô†Pœq2}lfbv¶±Ù 걿`=›b­5Š #ÆÀðPZL}Zçó^ÁÌߘ¼. Jƒ0á鉤˜4&BYÔtйÃOܽ a˜0sfªRL’Ùã³…A»mh¹š{¥ÒЩÛ÷®¥¾j‹X0Se»±¾9b`ÃHi$³fwC8ññó“ã%×uM«:ñÄL—ËTwÓÎrÐj[íÜêµ`.…F1óø åŠcgOßß\¨TJUV\‚·SØjÞmbèw3ü Äüµ©}–ÿíþÁ{>«{=¤ß\ÿ×Ý7ôÏ=•=»;E1 ´À Ë6,¢)S)h¢¸"JgZe™v”FBËãS'ÎþÝsõ ~ïÞ½ùÅùøßÿ£‘ñ±Ó'Nž8qbblÒµmE”P©å˜aø.'Ôä–U´¤6rÅJk»&a®èår^ª³(ñ…Aå‹®aò…ùu”½r¦¡4éGQüX1M³Ýi´˜+P9+‡ šƒSƒ÷žZI ËÌÍüd{?÷ŸüÙç?¾¸¼ôÖ[oýñ¿ýãf§yúÌ™'Ÿ|rúÐA ÖÉ"ŽÁ·²mâ(m¢­š]Ÿ2 Óp-GK؆-3vC(•sóœS?õ‰‡­îFì'žçi­¥”RÊD&9»EQš¦¦mär9ʉù¨%éped£µ¦ )%í [Ìü¶o3+ŸËi©Ûí¶Î´çyŒÒ0 ]Ãé?ô>}¾‡Þ;¯Rjÿ7Œ±ýØÚ>}ÞµëV)%„0M“¢µ&„ÄqÜ¿3¨³óed±, Cüûÿóóïû•çwšÑ´ ­ræz™Ø¼¾yã‹7á{ð)H&`âþҜРï;EQ«Ù2R«R(6V‚û_¹“6x0?;ß¼¬C  pð:úþñÂÉR]7˜§—ƒº¡óÞ`5/]ÇŠî¬!LaØ}ŒxÓïŸ*+l³­H4É€Ó2vœ|nÜÕ˜}û3Wâ.@€?W³G‹…Z9iÇðéνåË ðwg^”а ?ý‹?×– '” ›ñ¼£’}ô§?ù…Å?C–ei!SH|ìÓ?eV ÁÚ.'¡¸Ü•iò¾§ž\z{9¾ÑQHã8øÌ…ñƒ“ ±ÌÌŠ[Øô}¥ÅÙ'/¾Ö@ûO¯ù ¨€éÒÐF»c2SA T †Ãø³³‡ß7“ÆõíîÖ`É ¤®§]§€ŒÄ¶¶^úÜÛh] äñì'Ÿ½vÿf;èÔˆƒ˜p}â‘“jZý‡ßøÈžŸ¿â[ÐÞŽb¿Ì'„PJ¾²kòÉç\KIÙÝ{(%¥ì}e¿£áÇýVŠï^ðŠßéG/8p/qrɨ¦jﳚhÕ3äSšKS#Ó1´‰ŠS9søÌÁ‡â»yçW_}õå?xÉ ìÔ‰SO?ùþ“Ó'B®Åaè,ÝÄÏÒTg4Í(sŒ|¾ ‰j†ÍTeÜfŽçæ‘dPo7žýà‡|?èt:FÄݤÿßP¢Ázc/{ ‰ö"ˆöl¨†‘‚IªµæZ“™¬~°òøã+J^øÖ ÿÓ¿øgàì‰<õgž® GH»Iפ„sà À”2“ZêÄO-j»†ë99\ ˆHi®ÛV±Z\¸wõäÉ“Ýnw ìzEÏoûaÚ¶]©”A±½½ýæ[o|í…¯]¾y••ŒXÆ®ëÖ*?ó‹ŸÒBŒç,otxìýøóÏ}úôyoÀÀ9ßÜÜ, Žãìììxž×¿3˜¢ºÚ‰b3€hèúÑÝî7þ›Ïâ4yÿÓÏÃxç•×ÖîÎ…;@”@Û ˜B&ñ®­Ü½þÅ»gÏ9vøXs½ó‡ùGÑRʉvµ/…ïJa9{å3¯9vàÈÄÉs'¯_»é·:KõlHA¡ ¢e1omn›ü:^½|jlâè´AúüÆÛߺu €¥©FAM¨Xgo~þæ‡\TÌk¥‘ä:gV0ùÖç/óL!#8 ±|mkìÐ@V-¸&-—<ÚA#h½qù4$7a Ê—K/Þ]ZXË*Ú5óüÅã×ß¾½vou‰6)C‚rh†¥îkÿÇ.ŽžŸš¨ê(ý‹ÿõ_£4 “s•@Õ>éÁ«7ʳÏžTK¼ôµ¯Ë7ç 9›Æ©¢€ÃY;“ßþÜ+ÉÕÁ'Žž}ô|³ÙþË¿ø‚¸ÕÁ½,J@ö<4ˆ¦DQ M•R¤‚¦GéÐ5D–6í[7¯ø[ëgÎkzݦÓ<ù©Ç,åèJéNWbE\˵ Öw6Zíí¤žš:]ðÊ”³áƒão¡ Ê©¤ &?~J°àx‹7n¿r¯þôó2Ïõ‰,OµG8V…Ò`¦ª’w"›È(…dÆXõ@-2#;o#øÓ/æè¹óƒ³“Ý`+_1_üì,Àœ{æB3kÖ¦‡›AçöÕëƒÕÚPÅ*ÛAb†áºìõ•ôùш‡Þç‡;÷…†wâðÐ#Ò»„öÚʼn¦TS¦ø~Ëz¯€ìÍÉkh‹RS[Yœ¦aF8É9…‚[j¨Æ…cç;öhŒpaqáòåËÿûïýË¥~ù—y||üÀÔt!—Dd,³ò†küFhs—p¦ Áµe˜Y'i×ëõƒ£syíÚµ§ž|Ò5mieI’Ò¾Mû¢÷5) ½ÛGD4Ñ„@îù&PMb2b¥‰ibZæxmTk­Í¿ûéÿâ?ûô¯¼ýàÆW^øÚoÿó–/&'FþÓ_øBÀ@È^òª&Rgdlr42‚Rj­´aP£uǺW®\¹páÂ~s“a:#iš !˜Aóùü?øÁ'Ÿ~2ÖÉNÒ¬UV+S•©ÍöÆxqüÁƃ¡Ê`c§9T”­v;膎iåݼmZÝn·ÿ¸ûôéÓç=@·ÛÍçóY–ýú¯ÿú—¿üeÓ4gff:Nÿΰ$Ê!Ê)½1™j Ó¤F¤|ÔxY¿üõÏC‚¤£'NˆJÁW Z£½‚+×îÜ+/¥iš†½2XhšãÄ`FDH€uDkòÖ/5¤Ðívw7ïp×§+ÔÛZÀ, ù`µùåU@½FtšÁä03 E Ž"·¶‰‚cj¦”BѰõr P¦“"‚ ¤ÐKpc•Å¢ìPGCBI“Ç €H„‰™ Ó£P\@,„ÝõNZ2_yq­»=¤ÍÀt¸BE8 6”Øhݸ~i¡àÍh·°T¡©â` À0Á`1n^ºõŸÜêY˜¶‘F€˜Ú‚f46 ¤~²­@0ÿ§·ç?sÛ¶¡"˜ D¡àx¤ïŽK‚¬w¶ÈpêÜI›©\»ÓÚÙñ//¡»åÑ¡´j ÛÞêA(5ÒÔJH¼ítÃöÚêÜ}ÿÅ.b4G¶ÌDWLJ´›£áŒf™cg–æ*ÎümìtïÎó"÷ô=g¤fŒÏVN{g²že#n¾h#\nn_[ܼ´Š £w´ ´A#ªPá§ßw!&" ý¥Õ…õ;[PHKsÂË[g¿ðàå9DÄàTÛ¬w,-ÆÚˆp»{ýÜáG}9ubéæšj·ˆÒ }æ¢]ÍÍÏßMÚ«Û÷ëÁ}¬Î-êBh#3˳£r{©7ѠÄ™Viœ% »#†GŽv²[ wÃÈÇ¢º]ºÓµ2nÊêx¾:Bë‘B p`OLo› cWß¾ß^ÛÞXŸ::åx.õ¬3ï?wõÎ%ôITz{û‡û({Bû!C }¡áÇ\R­º/)‚ï™E º'1 ì!Á¨7ß”–šœqÆÓHÄ"ÈHu"XÐ[CåÚGŸ{þ£Ï=è?ùÓÏ\»vM1;;ûÔSOÍ ÔÐõ°^(Tîj íA×° Û58çnÑÙI¶7Ö6Ûæ@m0oÌ‚Y/z©ÏÚëv¡šM iO¨RP€¢ ú;® Š çŒAgR¤qg™$6·¹µÝÜ–DOŽÿ—ÿù?h…­»÷ç<˜ûÕ_ýÕ±ÑÁcGŽŸ8zbjbºœ+3›FÖ[kw f!5iœ© ˜#ÖÛ¯½´±±1ñщ\. Õj¼‚Úë’M’$ CM”¡k•š@æyνÕ;³c3ºåR1ÉÁÑI?ÖVV”•R¡EÉêêj¡Pè?ï>}úôyÏ祔Œ±_ûµ_ûÝßý][[[ŸúÔ§úw€¡àQ£  ci “|·¤K( c0<Д¥PРšpN ÆX˜FþN¢¼²W¬×V×   ÒT¤j×»±VÈÑiw›¢½œ›©$‰RPÀ¥Ð&PqXÉ '¦ƒŒQb¸”I¢µÐFo[k¶í¶ß±Æó&ÕõàU3lä%‚”Ò½ý 0\ò-ê,é:aåê R@S!@u™iµã,F²™J (J†E7vZ"Íöt‡ žAr•BГ(Ë¢Äl„šPF`YÜb–`Òix€TˆDqnÆ”‰DÂqÁ9Ž…4)XÔ¦ÍÀ4$`šL+"¥ünÃjÚ‹™ z·6“ Ô‚ÆLš:‰|å¥ÛhD·Â¥üòìɳ÷š«J3ƒs×dÒ$R‘q'høÛ]4‰¥ãN'Iì”&‚†Ô`NÎjÕW8£Åa%éÊÊNkA Áæå(9º\.VŒ|M•\˲ò¤+,e5WW¯Ìo¾SG,×BqPjšbä½ñ#‡–÷›Í­…›K¨êÕz£ÔÎÉÎÁñƒ°L˜qJª#Í [׸ÝFˆ°UoµjMåº#Ón9çÓVÏwñâcçÖwÖQwî>À&H×.oÖŽ©¡ÚDm`¼Pq›Ö®ScšŠ HÐT€ (TJÅjq½¹²´¾Ž Üë®fïòBê‹§{æsÿæ5»º“ÕMURD,y°^ç×C¯ÈÖ|a P-ŽÍœ9zÝ»¤»èþˆ¥ëC‰ß“mÙÞµ|w;¸ÞÕ¨Þ#Ñ´W>j¢4Qê¡@Á^  ÔRK €4gæzò’Ô¢š¯(H!¤HE’f™Y¦²Ÿÿä‹xqiéK¯ÿæ?ý-¯{æ™gžzêiÁÕV¼áG!a(ÖòìñN¸3ê~é_¸oþô™3£## J$Ú³Ý,ýç÷®Ñ­Õš¢7hÓóø…"zOe×4RASƸáä,;ƒ*ËRYÎ 4/”LD‡‰§ø…CÇ/9öÜûÞ·´üàöíÛ_ù˯چ=;;{þìùC#3Ý c{V&T3l̪0¤â¯\~åÎ;/^ô<1fšf;nçݼï¶m;ŽÃM€ÔBBJ®n­¿óþñË(ü0KÄ@eàwþùï ç‡V<'W.—9eLÑÀ÷ÓD˜Üè?å>}úôyÏЛži6›ƒ èß–ÞÎQE ‰– Dœ…à»GâÐðcH f Š# D nBR)%€£VÈ: ‚•6` »/‚`°ÀËyÑîö¶¥¾è‚S…‚‡n€zÔ 7´<0@´‘ @)­}šõF˜h´Eœd)•Ji%Ó´“Å™FL‘Rj ¡  Å™’R -´64ø¾#´Ñ©f¾J³8ÐTô:8Œ¼µÒ°Å2€ƒè^·ò9t»B„í^¡c¹"‹Â½|7¦`SpŠ,ÝDhPÇQð2E Ó‚T Á$¨€ƒŽ’0) nÀ²ÑI’ïmÅï ½FHz³¬HU"³ÌfvÑÀ¶€JvÙÔMý’[6`8Ü”i”*ei*‰ÓâFäe„¢P°ón%o8"¦3™Á ISKÛ6u´I<¯à¸ˆÂ*a¨ZªCi$NKj0â Û·7×îÖ³Mœ­  Ôî,·Ê"™dTZ–eçHiÕrÉrÌDŠN KA(e0ˆò™™3y¹ ŠPÀ„çy ˆeŠd·¤_š»ç+ŽOŽmm lílë¨aüà4·M¤IÚj!%P2N2­ÓüN Ri[¹c‡¼Ó¼ƒ: aG'ÊSI}qéæ*"ª¡Á‘DA¨C¸( ”¶GŠmPx—yÜGH¨=…¨Ï@O"¤ß”ê ïÖú ²g ù=ö${í T¢¡ $•jhBÇÊÁuœ4Mã,„çœsN˜äþN—èÞ·æ”Ì€AÓ¶eLjGÇ}ôñŽß~çîW^yù³ŸûÜäôÁ‹>òÇqD·æ8Nš¦Ã#C"“¾ïww:I’Ó1©ÃfGfÿçßþmÇ´F¼áFT· [DÙÕwÞ>wì,g QúÝ.¤Êå åR©ÓíöíGûôéÓç½PI+¥”ʲÌqœr¹Ü»EQÿÎT:UDK Ôíf™J@0q›>J"zëÒ;èì™ÿG04¤†&€ @ ð€bnìÐTØò·^_@ dèÕö¦Æh*pÀò £…Gg‚N°ö` 1@°dwžb¹c`°’%Y¸Ð@´È LƒB+)‰,‹T€éb±¶$¶SX€”²×ËÐûËlAª4Gª¹b”„íz &P$ b0‹Ê\Â;€‘#…RmþÞB¼æK…œd:Ð=9†Õ³•‘Zck'XÜ‘]…¤ e@f € % ŠSgÆ Ãzçöýô¢$……ÿ &b IDAT€¡°—½Fà‰'‡~pùÕŬ7Ì’€úÁƒšô"' pwîÎàáÏñûð‡.ݾ¼5O¿ïb¡Vi®w&Ì­{;Œ2+ÍIÒâX1çÖØ¨ª‡mÐRµT¨ heønÛ9çqÜ´, œ¬ͼ=zX»Þ܃ÛG/);w·›×Ö¢4džêdÕM-@CS¤R3(F™ X@;|ûöÍñ™Ú@y¼˜S·n]b–19;[̉†qëÆ„»RÜ›¿?:1]¬V&¦'Zj!Ý9zntx¤Ûwï©­­½ƒ.¼ýíW>vñg;AköÔ ƒßX½µóèóçó¥Amz;óKÁý (X Žcäà™Äd @±:¿²±¶Uœ.²,ºð¾‹o½pyâÈ™É#‡£zZ@á›/¼jÁÓ °r'Úc OȺ¢Ý.×NæF+‹+ÛWß¼‚œö…†µâø! ?¬A¤_%þøU†‡u¢‡¾Cíú4 ¢vý4‘’¦½‘{Mvô¾:$SDI)E&¨¤˜`Z ™Ž“X¨L1ÂLÆ,“P4wZšpELš÷JÏ>zúÔÙD¥¯]zíÕK¯õů<ùô“ÏðCµbíÍ›¯ÿéåϬ-®>~ñ‰ç>ð¡ªS ‚P&²T¬m¶¶Ý\ ½kTÆ]­ì®%¨žÑ~Œ&PÜJˆLÉ,II¦¡¤†© sF TùþÆŽH3Ó4 Ç®‡ #畆ÇóãgfÎÖŸØÙ®o5ýæïÿáïOŽìüñ3Ç@qãÖõK—.­.®½ÿìÓŸÜ„Im*"e‘aZêµÕuÃ0Çáœk¨T¥±Nv¢m×µãŸüÆÍë7¦'¦~ëŸþƒåóÇÎ.®,RMmfåÜ\©T¢š¦qÖª·¨ÉúºOŸ>}Þ ïY”RJ9ç½¼ išÚ¶Ý¿3®ºVƳLØ 6H7cP’ÁrÄ€AÚHŸ?½s}óêW¯`5A ¥y ¨bêÇOò!ÓÈílíxuoëöÕ5Ì-ЄpUº€ã<3r~JšVÍ3MóD#zðæÜÖ͵æet4´ÀžË£ý(Cδm;T¡„6m[çQx_±óB;‰^_D¦`Â:aéJ!tÓ€E9Æ43M…±“ƒ«›[ÈÀ $ XrÃgGŽ ±aË)¸šÜʶol¬|uð»à=Ç3Á£Ãƒ§F¼#…¡Ó£|Èloû­[íxÞ_¹|¯}«Ž†Èˆ”@íãC§ŸÔ)eP[Ûõ¡Ç*¹À™ÿâÍðjÝö̸#3!)«]üäc¢DHžé(ºøä¤l'·^¿™¼€=Ü L÷;´Ö½C`Æ % qýòåóSϦåJ~p¨Bkm U§\Íš kÛëk;÷7-Í-n%*by6*ÏOóÃQ TÞð¸Uînt–oû;ËM"Iš¦¦kZ%§2^5Ž WÇ+µ)7˜5[x{nkþÅ[¿XE]½-3€íõÅp€BS(ÂMb’$ŽSˆñà×kž040¨fàn±”)¥Ñ•ËoöJJ¡4æ.¿U|´fJ#WÈ×Tå`b|<#©íkׯ¢ 0F¤ÖXJw—Û^\/OŸ;a­×Ln®6óÒ~pãÖH5"ŽÄäÜP \AX÷oΟ<–ùj|x*;mMNÑÜZ_^ik°á˜0\Žv€·Þ¾zè¹sA Vg1TËëb‘´£núV«÷—ï§NüÈñþÏÛ4ôÍ ß¥ììÿªÑsdØ;¸%ÐTAA(ª4Á¾¸ Òêõºa–eY–Õ‹‰ÒZsÆÓ µ`:ŽG$d¦d§i”9ŽG8ÑRË8L¤”2»O^|R&òK¯¿ôåo}åó!¥<05yêÄé_ù…¿G„6µ¹¹½99p`£½–¹Y±XÌdtâǹOë© š@ABh€ìMÙŠjìÙ4Ð 87¸ÁáDi­„&šjêû>ŠmF­TÅI”fcC“™’I„"’7Æk“c#ã?ýÑŸùö/ÿÑü‘íÚ¶g»9çì…³ï—þþÊ!kîS3'áR¿í0\Ûsª®Záû>!DA !B›žÉ4ýÍü[%§87w¢:!¥¸;oöÀŒH¤H2-ÑíDkN Ó²„>}úôy/àû~Ïʧ^¯×j5‹‹‹£££W®\éßpÏŠ;4€’lœyäDéè¸o°VºÛF€RîøÓ§K9÷öŸ½MµV`“pÏåÇ/ ”Æ+ËíyšÁˆ­áá#OãܼúÍkb£«g–¡+¿0qô™£tˆ®¥ëõxƒ–èäÁ±C‡'no.ÇsÈ ò¬àäyÖšš>;jÌVÍ`Çh©ã‹~ä»rue=ëf»›Z °ñìO}"°ü¤á[¦TTŪÅÊûî'¿tõß!b¨gA&<|ZÖ°à/ï„Ë1T;ñ‘Ȭ<3ò´•Ö¥‘º6G§“ÏÄÒÂ*WöàÁRš‹ÙQ~|ôt¥Tõý€0ÍmæhbQ«vw:a«T*ucêpoòÔèðÔÉ C;®PÃDw‚¸ÖU+ÓÁâÊ¢©ÍÃSÝpõàÌàúXnu§‰ð€£Oœì0njþàÞ픋±ÃGZZ´xwìg/¬~ö-BaHª„ò#séºã»z]ÏoÎ?~æüòêÖD~ä‘çŸùæ¾   €áÄùãqæo¯ì89¶<·Y*VÂrDZœCÏÌŒ]˜Èb¡qm'±“³ýrtýÖF=Si®b ³AŠiù¤Wž9W¶½,Éb%Ìj¾¬vht­Ýl¬7˹’²¨SÓ±åô‰ò!£ËfèdÄó<’³ãÕŽ%w—V7\/¯tmG£ã£S.¾s›(¢™†FB¥Á$ 4‡Ž’ I´×`šàµßü ÍÍž86}ü§l}®þʵëþJ{WeèIH0÷¥­µ·¾å ”žüø‡sZì¬n¾sënk~~o\e¯5:DçÏ^ûÖƒòÌÄÁc³ã£cë÷WæçWoÝG œ´„P€Lv?4 5 %hæZ9ø2V¸ü?þåùÿVÝ,£™&íQþâ¿ø: (˜G)la|ów¾}áœÁ(ÛH}3ï†a<64ñµøçH.,j&™#ôæW·¶ÓoŒ=5SÉ—¶;uJvéù*ÖQˆÁc$$Z§&5`*ˆ«0®…—‚¯Ÿûù犵|+ÛÎŒ¸Ýn¾öòä[#k²`>ä¾þ÷¿tæ×>Ôl6»†IÇŠ ¶!nþþ;ˆÊSнȖþwø,¸ü°ïè½ý|o§A©$„(¥¤””±ý ( „Ȳ¬ßÑðã×¾»nÄ÷zCî}$ß[[þ¿ARõý/øÐŸEÙîë§T¾Ö’z¦ ?ðYï“üÐu(È2Ø_rìo5Í”hÊ%ýþ›ôéÓ§OŸ>ïa˜¢H4Õ†ÕnAhãØ³g³3So\}ãÁ+ ˆ0qz†{Éo² 1@ÚvÛÍQË´h)Wt©¶‚·þý 8ã†?Òr«9û°ÑØjm‡[…Cån»¥ÒlÐ, åʪkÔïo4nDíéæá£|xfX¸X![ÛíµLñøR82Q¼¿¹|é[¯ã0ñ³Æ€;”ŠìØù#«W_ƒH€áâcû^l¸Éë_ùêê8–¶ë§>ü643±JÞÉ‘}úôéÓ§Ï»i?¯LC€ÙóbägÏœ dsîîíÕÍ%¤€åës[Ñê³SC3[Yu4Q–Ì™‘¬$óï¬ôœ£0{#ycìäZiªÂÆ%Í¢;‹·+µÁ©ò„+œå­µÛëÍù!â¯a¾³šã5gÈÖVƪYfŠÈ4ëå…Û\k¬®!,`7V®œøÙŸ”®;zqúkü(‡f¦^j½ÇíÕ¹†Î\´qj“ËÂÉñc—Í@LH…Óg.\GCÁü+¯aÈ£µµ¼]-èNwvdvòôØÒ[«è6N>r6%:#j­Ý”÷4:s­ÙÑCÅÙŸª-Ôç¶ïŒ> £`3YÞš[Ùº±Þl!F—ßt94Z¬*[™5lexž[,¸¡ß}ñË_Òs!b ½—¾…GNZG*ÄáM­E!òE·ê²Š»×®èK[ Àb¶´öf±ã[®óÈc®þÞ›\ð”$ ØaÖuA+eäûÉKl·3H)EöÚûµqDzï8NlÓ¢”í°g¨¹+H%J¥Ý¶îö\?÷[ä²ì¯mCÖRfŠ˜P(¢Ðg™m2Ï0Ô$­,*(Ma3h€£-ªU´M”P!bôÜB$”Ï1 ¢,“S! µÁìHËžgDeC T+N‰$H©FÆ!9 5  ˆÔ6 •PLšŽÑ›9·=/ #™%Š˜è…_¨,L–§—\7S¿gKÁ`È4î°þˆ(cû‚BÏ a·‹Aëý‹½uËÓZ÷osŸ>}úôéÓ§OŸ>qLmj G"6V×á…\.—sá%° 2uh´Xqâ¤ÛØXÏ:ÊÐ̳œj¹Z­Ôr¹Â®í_#ƒCƒÕšMxÚét¶v¦§&-E¶W×»ÍV!W›tÚ0ŽYµê’ˆ‚X§’+Ð$»Q˜ˆ”YV±ìªÄ,££¹n·kšæÆÖfÏš¡G³Q¯ Žc¡ŒÝ¨‹"<Û«Ê$Ù­–ƒ Øiž—AZ˜¨ ¼`Q«å¦¦GÓ$X^YÝMâô°±¹ÝãV2ËÆÀΙ#£ÕœçvÍúú¦ cl|*ØnÓTo \©VÊ(E¨Õ†ªÅ|‘ida,“4‹b¿Õö[̓“3Ó(#@ŒÊÁJ1lufåíQ žçY–åwºCµ*Bï¾<À&ÇG‡«¡ßÖ¢Wbûþ¦?l¤ˆìm¦i¹®åº„sH¹ßÚ)A5 Â9é¥ÂdÄ2À4tª£n´CèE{ªÝ˜Œ:6á¼g܆½vw}úôéÓç]¶›×0`ˆDäíB'©fk¾òÂË?{þ§jM޳tµUïLŒ˜šHhme­”¸0)eišvY×Ïwa¯¦ku«Ýr¹|ôèÑZµV¯oGþPR«Êj§ÓÉ2áÖ¬ÒHɶ܊_¤?vzlhh X)&iÄÔI¬}úôéóÿ3©RËLqj@#gç»Q’Ü »[mRaÓcÎÈÎú¶eØž´³n¨7²l^dAÓ¬‘´cž~4sb&?V:S;Ón´lm•Ìr¶œÖomk“šo/^ΗóµñAƒ˜©•—8~ppfÄ÷}¯–s,Çßìl^ÝènvŠÜ+Ë‘j¥%Çš;4Qz|xíà:Š»ÕÁ¼mDFónŠHv«ß«¯½ùÌùçÚÛõ¡É±sŸ4UÕÂp{µ™K½+¯^Ý52$Ãö­pµ;X.n³ÆÌñé|Á>}ädsµu÷Þ»ïÜ$ X£ÝB®,¹nä탓U“‚)%º±Ñ`t ‹[Íöàà`š£u:©Š¥üác‡$ãÔÌgecM/ß]k̯pÃ2#%2Å‘tìð´Ž)´9qrfz|‚ås$̆ʷ¿õbýAãÀPÉRd}³94]{ì'ž]hnMÏø”Ù¶•çFËÌHÌ]Y~øáív4ü•B¥”0J‘Rj¥PÆc„!DïŠÜuçf2ËPƒ1-•Á¹išÝ®¯5¡DS¢U/ Rí·MôBd¤iºßÚð}« YO è}¸Çªå¼M)1 Å´Qtò£Õíã;x5@eÆ!¥p&_™öŠ*éeä©%Ì4wxÈ7±(ОwNxÓ3ÓŽmz6…"i†J¥ˆÃã讣%#‹T)&%—’CƒA!4ŒÀ™©•«%åÿ{oãØyŸ}>ïûž<ÜÉZX[WWUWwKÝR[’e)^¿lß8 0˜ÁÜæf0WA.ƒ W` [O€s9ƒ™ پĖíX‹mY-©·ê½ö*Vq_Ïþ.sÁêV{QÙŽ#ç‡AY‡äáKÿÏùÿŸG§ši0uîü¹µNrk¤’ˆ\ À<Ìó%)DzMH“’|±ºZ?mà­1 *5´ÿùx¶‹aj‰O„xÚÝ05‰L…†””””””””””OR¥ˆô|@D~ôO׿ðß½Ä; è¹ì¹™ÊŒ bÿîΣ:Uo1`9 ½ä ëË‹Õao”3 ³hŒôÖÆé÷OO·z˜ W4:ƒqÇï\Ú»ò/Ö_\m‰\¨WU¨ïìüðAÿ½>š˜Dá±ì‚¡xÉ\0ëfŽŽL¢+×0¨FÝæ^kûþ±&À}éáv‰ä ~ +999vª9ÊäÉÉI!t5‡ÛMÄ€ÔA%bï¿ñƒ—þ›ë‹ó£¸ëó°?æò…ã»ZÇ>z€‰,V4u3o9v¬ݾŽm@åjMË-¥þY†é8;cŒʧÁp\D\0Æ(ˆ"?Þz@ 9 ­‘P„@)Áã8ŒÏrKˆ¢ÕC’$RË4Ÿ½÷“žl H¦“PÆs¯¼P­QÒgš ¢ˆ˜NíÜœýzvëô=܈t(D˜ÃÕ×^¢‹”Z,Ž`Œò¬›ÙxáÒcŽN1¦:ˆ2°ùù« *jJpžˆˆ+ /|þÚámì킃0(%PJ'€%P@~½ºöÒå¢ë ü¶¥sJ$V7Ï9­…¿-†’Qp) ¡påüâæœ¦3ò I8#nÅž__,«ÚÖÖÛ $Ig'~Î&9U¯žÍÀ’R’Ô:¬BpÎS¡!%%%%%%%%%åSómž:%¼;ÆuŠùæ›ÍÿïÁßÕ^ÌñÅ/çíÒÖ·üð½ï{ÇBKÀ øŽ¼³û!*ú—~ý×]3Óoþèîñõ#ôšDÔŒ5€ Ä·ÅõÖõ{·öÖ¯mέ.ö»»÷·›ïnãÀ¢Å §@ÿ~ôÖÁ·±–¹üµW.½p±ßíÝýð½£÷ï⑜fgS!A¨®dòÍ?ûæ×þ·¯hNvìœÉ|&› ´7þ÷¿FpXРi¡ƒ¢õãñK+>õ´]¹¸{ªÓ|ð_£  ˜êZ¡Tzô7<ºŽåW/\üÂzÁ)6îÝ<n…h!kQeÒd8jþ¨Ñ”EÃJôj¶r6^ÁÔ…C„'cPàûû`ÿ[=±?gg˜MlÓ˜ {g 'Øÿû£ýoM}@ÏÚ"@Å$@ 8¡”ï¯ßû†€LÀ£TDTr"9}ë@¿;î~0þË¿ý| &”€ !8— ÐÏŠ±éô„¦iˆöKÅ‘z¦x{6BJÇñO”wRpúäÏn“ø'ô‚³kª™bêñqKŽäóVGàøÒï|½?è–sèõzwî Fá«¢”[†Ñç^zñ;ßlh”q)|éK_Jd2œŒ8ìÝñT€b¨ñ0@¨Úç×öZ÷÷wîL—ÜàÑñ¨¸²à,l^\zÛý{¿/¦ ovffL#îE;»wÑöo÷ ¹{ÕÊÚüÌlîÜÒ¨q0O|þÚKÃbp||øhû1FÀ'»œkW¯=ïfÊãÙù{Ɖ¡tÛš¾Câ¬fÂbÀBuy¡º0ŸhÞ£ÛïõxcB±·Ý0Ì“ZíüK¯áïþöú`4„òʹúìÜ~{´uÿÞÞíÞÔlòþ›ïÏ]¸|±¾QÙœ}Ç|cìEi¼åϹŸé0xÖšáãn¯ýøGåyÞþáær¹?ÿó?o6›µZmvvvòl2mJJJJJJJJʧ†\.À¶íéÁ[Û¶+•ÊÍ›7Ó=@’$"ÓN„3((3äPj™ðI7¤Ð5@×,ZÀcÁC 0É¡ÎÂ!áfl>ŠLæy2‰y‚šŽƒH¸„ :( ÉíDH|)% ñ4Ay ‚a0Tδ©¢\A·lîKÈi¨a‰¤€Eà € ¢ œ»…’&M¡"!uè€Ó5"4 îOwˆ„O d HÁ4ÓÔ-qÎ9Ÿ(€é†¥;š2Tˆ8â`&tÓŒ…R$\*1 ö¸a&ÑÉBI„>XŒiB‹|_ù †à± 4*L ”\g0ˆ?ÑKüT/ø$ñcÒÀO\$?©;|²Íg2NàûV6¶'|ìË8‘Šè9$yÀ„‘(>Že3– <ˆtNòšCà‚ ¥:i÷’¡†(Ë žZAyãÉ8ô‘8@‘+–b/âQ¨&|( `fœPrƒ)ÛvÀ€hšy)’ ˆ—˺ 0L„!χ#“DÀb¾/E<ð¼Nß Œ …:`cÖ-ŠIÐ=õ§ZS::ñ‹ð4Ûò_LWùÌ ¯¿þú7¾ñ¿ø‹¿ÈårW¯^}þùç£(ÚÛÛ«Õjé:HIIIIIIIù”–ÓRRJ…ƒÁ P(är¹Z­–v4  Ód`z^F<‚X8ûMÉ(jå(Îb….D|’@L€ÁXÉ:Ž38í  H $&#ž…Š$¡b`³†^r’F0 B"´ LºŒ ( Ü©B«ºIä«–€F€„Eq@ÓY¢”ÎlÓêû‚Êœ[õ Ð(‘ãY®¼³rÙD¨ÉÈ›8nV> dÌmÉt€Dˆ8’6©A³­d¢ xIäG¤©C“ 2áaHhÀ cÛ2ïf<@„„ƒ Eˆ pæb) 8–H†D¤äÝ,¡ª7‰$,À²€krÁóÑE¡9ò Ð³Ž‰‹õðì»æ©Ê@žésPSéç“™½T«\¬¸ËYgÖ)eò½íþÃæ½îŒö¸bàDÀEíåKÅ¥Jn¾°t¾î%ã‡lÄïý͇ØVþüo¼Ñï÷]× éRHIIIIIIIùtb>¿çº.!„®ëéž@ÕÁ˜`€¢Ó_¡‚úååâJ‘X”;|L'æ†QrvÃDd$ßë%& P†¾‰¹çʳë¥ÎðÔW&™ÕËÅ¢w¾…À8ŽD ¸0ÖôÒå¬sÞôÌþéø°ºTq"]Ѩ5hD}@BÄ‘'á|îºÍ.dýÙÓz "Se/ýÖËÇy÷ƒÖ-€èqèxþw¾¢2ºïËY—3ÙžÂ-­þîoî4ßÀ#†á™•@¥—VõJÖvM‘„<Š]{&CõÍËNâãÓnƒ“„Ç PÂìµúâK Z™kçä ceì•L>εÆ-ÆJ‰°‘{1³öúZ~%7ĸ5›ÆÆ•ó<Øqf1xR¯k —ó¹lu½ªu/;NT˜[Ïjñ²ö¹›ßº?@ H€!ó<®þæË^I7ê4±‚ˆxùŒ‘«U&£B÷îDŸlXá“;)PõôÈ3?êǃgš>Ép9û³xœ@GëÃÓ»äºÉ-j¹®ãû;džâέw¯ïcPЕ'÷×´ªž+•«õúðp4ñüÇïÝ>Üz ]G4Ý~„ƒ;ÝÒx”õì9·6SœtÂf§=h†;·ï«È”`¬ÓDΊŒ˜ØPªäð'>(®–¼i-ÎÒl>˜tá?êÝŸŒÒ€q€ãèÞ#kÖ\­]„(ÏÌ„Q$C>lt¨‚QP™¦[þ"BÃÓ¹‰F'þ£ ¥R‰1öðõzòõ¯=ŸÏ{žGiêò‘’’’’’’’òéÅ÷})¥a†aPJS¡áIMI5e2¡ˆÒ”"@¥»P¾ð¹ V¥1‹î5·B/™Ÿ¯ççò•…’vþbü:rÔÕ(¸5&syÛvôd+OôÂn©V­®–ÜuÁ7Ôéo·&ñŒY‘aLuZ«Ì,Ô$‘‡Ç‡ÍÃFœggg×ÜRvôêXƒn2›Sz0hçj•Êr=“Ë´:ÍqãØÑŒry.cЕ+˶îxëˆ}@¢öâle¥eƒp4Ø;ØçTÒBQ/f‹–£þJ²#àÅsÙ•k—B[hD4÷ãQT]Î ÉÖ.,—”{z½ €¶’É^ªgŸ ö‡A#\­¯,.ΔgJ…5·Ù<áIdš!„1-_(Ù%=‘×ó×57{—ë—µúÒåâ—GÌCNÏʃ‰W˜)¹µ‚S4ZƒÓÇ÷v-›ÌÍTÌ’‘ãBæâ$ð Ë Œú"Éä\:k;Þxw¸Û#<™Ÿ_\¨Ï²—–Ø$¹ÿ7?©éÂ'BýLuÏLOü‚h:ˆ ¡œ†\~÷¿ý|í×dVkt:¥L–C=À÷ÿŸëgŽ †‰8Ràøà­ÛWrëGÛ{Ùù|B³ÍN°õÝ;88¼aL²–¢!¿ý£›¦Q*¾TÓXŒBc<·¿û&îù.`á4IÔq|K›è±›ÏÐ!s€¦pr+º^ygé?¿æd2‰0”,‰>¼é½jœÊ¬-Uì"PLö’ßû0÷jÙfwn~æ…†F£ñgög§§§³³³ÓÓ;wî\¼xq4¥«!%%%%%%%åSH¶mB0ÆÄqAºgH‚„(Ŧ=ÉPJB'nµ0·¶xJÆáðî½›bãçNV/­ùndͳ@ŽE(®G¤lå3™Œ®X0ö¶?Ü=iyîÂÞʤÇmÅ-ÉV-&B¤—@ÒÈñAßëù»w÷š;A=vYÎ]tõ¬&y2ƒ|,$6懆ÒÕ€6÷nÞÝíêY¸—.ÅVne~uaséÁã=L-¼öú«['•|9œÈÿé14lþÆUSS݃Í6nÿ—ŠAÔ@®šË/¹à j`ˆ渓ԫóæ’ÐaÏg‹çŠFIoàA ºLqæ” O x)‘W2ñ<˜FÆœH³êïÞÙŸ4ÇpÔÂ×/ÚEÛ2X˜©"ÁBÛ±4ÛtfÜHEaß{|w«óA‹Í¢þª“)}=rWr‚kÃÈç:²nÁ°ìPE9f6vv÷oŸhyžäu"lQ>7Úü¤ÂÄGÉ›ÿŠS)õô‘P?ãV RžMX|BÙCQp¡œ,|µƒI(‹Ž5—7 {oëÁ*¯"„[dã$‹aSGœ@BÀ¤fwäg7gN'ÚxÐGÐqៃròA'X6Ê,Òûà UF98òPÀ!‚‘*˜ŒGlì"@@3@15"9MÆAo0p¨V°«Çƒ]9D–°IC)d³dh(ÕÄ`<- J\ÓÙ»~¿fЙ¾»’ZAþÂÊ—úW‰[{Ø_JùÓS(¥”Ò§“ê ÿ^ϳP( ‡CÛ¶Ÿž...¦3~))))))))ŸZ¦*CŒ±0 £(2M“sžî “-LDÉ’£2±Áë_ýâ~ëxç`ÿÃ|(î}È{ýám­šJ cØW±>4òÔÎÚ37n†ï¾q£³ëaŒñ‘8yØd ò¶ME¡h't`fhÖµýQ°½uм×AƒÛ£ý;îñˆJ–ÉZf†n’-ÑÐë ݉“ö{£[]tÁNðø»eÍî5¿ô¥¯Lm&µA%_¬9NãÞã›ÿt#`„ûoÞÜx¯”£ùÇ,8—P _þͯ6‡» “í7ïà ƒâí¿»7G·NW\óëT (ã _yu¶Oö·;?:ÀtYÿáðè~WŽõZf.geë´”e ›NXÔˆ½½û âè½í¨ZÒv´¬cç¥Ò¼Xj¶›q+ª¡ÄÇ6—O´†õ©TON•„ü©Ÿ'ת³[~2•ÁÖ,?‚]e¨¹¥È "œFc§Tê4{Hà LBP Î!¡Å€Ä°çÕVÖn7ެ™ ç“-T‹42…b%—s1¤<+– ´Z-ÇÒˆˆ‰Í@0ìû6ËÚ¦“Ϲ£Q/jwàðÑiœº™lÑ-Ô‹óFÞÐ8NBoF¾ÒD6£—²FÙÖJL˜‘O†5!à“²[(1Ëâ0e€X3ué´Ùmy<”UH N®˜-VE5;K‰5îù~g’QVÑÈ3©G>ŒÝ%–[,–fãDI )lòÿŸý;+ð?áéÛ…iRé3§xrúÑm>I•ÄþDŠ` $Ah‚FAhÛv©4p€Pг™|S8¸Pc/(–*Q2%“(÷€³I£˜€ ò„Š˜­ƒš„kÈÈj@!ö<éOè$c šaå¸ @®¥Û œXχFšh‚Š* Œ€ "!JÄAX,–Ç^L÷àÔ¯S¦ ¿eá§…†iG³µtO¥¤¤¤¤¤¤¤¤ü*©V«Â0œê –eðýÔ ¨„+™$fƈsP(yïÁö+/½v:êÑBÙ~AÒ jequvs¹— ÚíN~TÌ…èTêIBeÏŒŒ¼žZýŸ–ûÝÎŒêòŠëÔc/6{Z..—–æd¨+d²9+O¸TštÛQ6ëTÎçróIY04r´–£Ì!š9ŠœˆÒ‚a׬炸xHJÕ‹ë—:‰æ òèG7¦ PÁA«#+„Rzncцœòó+ -4‡# ¡(…݇»Ë¯]&áùW^8u›á¾?7WŸ¯U)åͻǸ L€ 8¾µ·te>1M}¶¢‡ý¤”kdqÍ©Îg.,QÐUÁÉäNÇt‹ÙÜŒ¶„XËù‘ïÛ«2Ÿ©èLx“`<Ð%¥ÌàT£šF3Z¹^4çô±=ö©mʵR´˜ë îùLìywYW„y”Ij¹îêó³*W}xw Ź:̼Œè÷î VBˆi{Vný+„†O Ê1ͱH H¢Ð$4{¶iÆ2N˜‚@€è ³áù€±šŒf¬™N¯eJð$†‰3ƒF ‡²X†Rt([%”kŠ+M§à'ˆ$' €J’Hc$Œ!a€€‹i«b”$R0ÂU I`³\Ñ$65GIKè0¤±ŒúÃÙ\mäŸF*bb_"=Ôþsñìó ŒÒé²'„àÉJi*4¤¤¤¤¤¤¤¤¤üJÙßß/—ËÙlöÙ_ÎÌÌܽ{7Ý9LÁ¢º˜¦nD$c€lßzÐÿê…Ì|¦Rœ7 á8&…nä‚(™4U뇧yn›eC8q`±ÕåŠ=ëf´¶æ²|¥0KkøxÜ?ޤ Ûw'ÑØÈRusK…l©T–³(°J¥âä ^’tÝ㽞?à&Éä4Ý=”3™UÛ¨KKa®¨ëf 9sùZ°ÓÞ~ë@ˆðæwßúÚ¥/¢¸¶Xz¥|3®es]/vÍìt ½3G%ðhëñ¹þóŽ™Ë­•l®[8Y^Xι™°1ð¶ºhÀˆ 8x„ÖVS´Óì™úœV&§ÝÇ•r6_ÎðØoíöö6‚ab"•,dr+f~¡Pš) +èNU—ª3f¬uwD$$¡¡"*cffÊóλ•\ýÜ¢™3mÓ ¹\GÄB8[×ï£3\_Z¡’îîí»åâ ¯¿ÒM2î\vÎ/æ ù²A-Í‹O€CÈ„†i¹õY($…tmw<ô¦³ 8+cØ–fkB bÛÍ&%j\B<}w& ƒ"0`_Ö¬rÎu3.ÕA3:Ómfn"zP€BÎ1;“!(ÈêI–ÅLF•Pœ ,{P#96 J C£”P&LPŸ È „®ƒè„Pa8lq½~¸·‹û Y¹ŠÀ9íŒFBM!cè²M*yv¡-nK"QPiGÃ/ 4gx6{âÙ•Ÿv4¤¤¤¤¤¤¤¤¤ü;°¼¼<=ãû¾ã8ƒAÚÑpVø)d‰>ðÇ0Mp…ÓxïÝë_\¯×fŒµBè+ÁiÐN÷O×ázؘL‰,×2ÖW®TêEb”gª3³ìÊ|k»ûè­Gã›{IÄ_@ô¹Žúµò¥ÊÌÆå¢–(¥”/O·ûß}œüè ! È_É® ½lå/.l®/] £“®Œ¥àtê±@O&·Oz¾^¥ÂŒñ…fpklŒÆã÷ãlBFBî¢ñᩱYè¢Ç­D«”Åd89¼µß¼ÝÕ‚³ B@4Ñ»ÙuâBæRÆ:·hÕMF HïþÉî÷{èbBÚ ˜À7Ûä••Ò•™âì›//Ž{ˆNLJìnù˜1ÀÇï®öyO®\ݬåfgWf™Á"ßœNZÛGøÎNðÈêCcô–:U«®Uósçf3‹¹R¾@ÃØoöF§½É㨟jÇWŸ©rVð€À<.½r©:[UnL,Ù ò¥ 'ù—þÛâ÷›ßÃL€Jh0qíë_–³¤T/ÄÁd†™¦nX5óò+—ï ·â› B‚:–¯.¬\»8*”žfSƒ˜ äó_{íaø¨ÿ×m!¥ :„L—„rÂ(”‚ ³Ÿ36¿r5148º$,I";g^|aS?å;MHû± ”×ù«óó¥R‡÷ÊǵÅYƒ[uwáíûßQL!5ƒùE„üødÐ?³ÎS¡!%%%%%%%%åWJ¯×Ëårš¦Åq¬ëº®ë“ÉdjÙBMB%"QÓo’#Šï>è4ö–6Ï/­]±J0Š:»{ƒ÷oàA„¡ŽÄ„Î`HŒ€Ð{4¾}RɼôÊç”@8ž4vnío5à tas™(΃wOùÑøt!®läí~§Ãþv;¹qŠ I4B! >|4ÙR[…ýîü…¥¹•…ç¼á¿ùƒï«Q‚Hp¥ƒ&oÿÕ?~éþ’4’aÐMfYNO´7ÿòÛè±f›Z… pûŸî\+¿F´H¯‰lMóɘL’Þß DšDòt§Ä¸ûí-gßÖ›T«¥òŒ?Їû½ÖV#¸¢á$ŠÐêµÃq²0Žóä-=±>øÎ=´‚Æ=]@  ÀàÔ?2úvi¡jlÑltöº“4Ð808›Á>®ÿå›ÏñUs@Ýb–wO§‡‡'èá'ÜÔÔOÊÏЪNB€àâË—V/oØyÝOÂþþñЊy’ÍÏ—ŸŸ'7Õñ€I˜À$ÖP~~¥¯ºAuö˜â¬:«gÝÅÍó¢«nÞ¹ ‚Q0V ˜Áìæb¡^ìõŽ{£ŽÅYGå3Ù¼=¬F^iÀ›‰’”Ý`FŠ‘„tKXZ]©ÎTºa<ŠB/'"¦ùÌ\}~þÂâNáPM‰: ãÜåÅËu“QæÅý~;ÑØÜâ†YqçŠeÌ!؃–†NüR…<“¡”zöB*4¤¤¤¤¤¤¤¤¤üJ)•JNOOÿäOþä7Þp]÷Ê•+»»»éž@„N 88#>Š߸ûظ ¾$ ŒC*¨Aˆâ“IOLÞüæ?B‚@`|ÖÊN –FB.#!8ÐGôVoÿû==ÓÖýI"9|”vË*ØM IDAT`Ù,dy‰ß´nZäþC„ L ¦¤ ˜ÇW~´“PE#9Ñó¥ˆd¤ Ûb]'“gÞ|PwǙ߶*&óÙ0ȲI¯›1—ÃfN9Ldb$15 ‡GãA³‡C ƒ–Ü#Cs4ðœÝ»RÔƒ¦;&x?½7¸{g€¬ LÓ808’š RqÓtzcŸÿ Þ»³Õ(ØÄ¦1Ôc 3D5-O†1“ÌÖã ÀPÞÞû>€ÙÅ\¬’Þ0€'æô#•húÌ>;BƒÄÙ~¥6VŸ»HszgÔm·öï_ß.Íâ~·óÂk•ŸåÊã¾É" XøÊ -2iÜ¿ìîr3›þ|]–íÚÒ¥µ›¹»š„ð†•—çܹâ05ZNã1ü¾^Ò¯l>Gù$SÌgªfCU°ÊÐ4J•¢@ )Z­èóÃÀ›„ɇƒá˜æ²A½T°]w¾¸úòâÁÑ!`³¨®ÖM×n·÷ïí"V¬-^tH´ñkWîÝR©Ðð *¡OT†§£Ó¤•é)ž¹˜ )))))))))ÿÌÎÎþñÿñ7¾ñ ;;;»»»ûûûénÀ9§S„ÂÔ0QÉ3ÆB(ð •Å‘,€ƒ’”“tÁ…Æi®ö¥¤°BØ1"ŸCئ.H¢X‚!1Hœµ0Çy¤$p€ƒIT„‡ià`D•¹bó¤o3ÇLƒTQÛ¶O†;μBûÇÝekšC­$ñ é`eõT–9$DãabDCß[t6@b€@º4·Ôm4H’`ˆ¸#2P9˜„i¦Êè~ 'a B!Í©w ‚‚%Ð`JP ¡ȳ<‰@$#5ƒÊHŽ£¡H†¢˜zæ@«pÔ(Š(G±4bq%”Ê´’±0a&P01Nž}ù¦Gv¥”ø,Ô´Š€H8²EL,çj'Ië¨Ó<ÚÝå·e!Z<|]ö&ý?÷ÜAá2Œ®¼þò£¸M5ÑÞ?@8Å>kÄ`t.»\«k.\Íê…0qáê%–1fçä{} ™Izå®[›ŸKVÃÉv?òDq@PŽD@B€™ÜüúùêâüH÷ÚGÍàV]Èsá‘•2¥ÅL}íÊå¿>T(Û,¸^ìíŸâXÄHD‹ºÁäÚk/?ü¿nÉThø¹—ÊǘA>åi¼å”õܤÃ/ëö)))))))¿”‚ä©ÓÓóŒ±tϤ|šyú}t~~~úåuuu5õhx clúŽÆ“£âÓ¯õg߬ @?ú¢O1=ÿô šå—<©‚ÃO®!}P€œu<<û¦Ÿ*Ó­<}áðìqzúLù!¥TPtú;zV< ½£ô욀S;ž@J5ý“O8{¦ ”Â0Ξ—Ï< h Œ€¥ç\$ÉÏ.¦ÏéÉvx‹Ÿ='›¤„>u®“RêЧW10FØô9꺮i€äé}YÿAÖ["†I€L57˜xše;7JTáùA,¤•u'IB,#< §Š¾ç)¦Ù®‹S°€¶“+Ug:ýÑüêB¯B4˜Ž‡I¥TÅ(@ (2á$Î šnz~`:€ã81©F†á 0ÍÄ ÂÔ©i‰ðCT¦¡­¢X­ã€Ø4 ˆ›­½éFÖÍÇ PÆ@ÌÍL&2T 6R­áÉRÿ™üØ(Ä“ BÈôãéU„MÓ Ã0 CÓ´g J)c,íhHIIIIIIIIIùA)•\%U,A¡œÃtÀ @B0é8 ’Á" ‚%¡ô0(…”@DP †Ð ÉÄÀ0l×]†x:4NÇ #S7BÊᘈH(‚¶‚€0Š 5€!â¡‚.`p xž—¯}(¨Ì媓£1@9Ä2-ù’> Ã“AÆ¢V®ËÏ;fÔ !"QH8 äIëà‘äaÑpÂÇÓÇ À˜n2M‹c„ƒ„ËÀ”BLUPb*‰ˆ'd S@ À 0ñ°ëõmhT·åŠIM×yâ48uÇT‰7` 0ˆðãy‰Oå|&ì §:¼Áhw{wµ¼1Wšï­,ôÕ±ÀÊ 'SºÿîVäE„@WPnß«ñ ãÜ «þƒaáüÒli> Dó¤Ýê Îì-n~pûÒzÑPöæ…µû¡ßYZ®®Ì¯ŠØn6?¼¹BýH" ÃÐ Ã$Ñ,¢€cÞ¾÷êzÝX_\7¥sØ8qò™…õ9ƒØœðoÞ„ @ŒQ³×kõ‹•…™Jýܹáîñ ò(l\¦1щõÁ{ Uþ x6{ÏŒT¤BCJJJJJJJJJʧI (‘RêŠD0 (° }ÑX¼°º¼~Õ²ËÁ(:ÜÝÙþàèa D€FИ@Ø0ª‹•Ͻ| ’ð¡hîµwníy÷Û˜@E ÄŽâ:»œ«¿¸œ[)ÑŒ>ŽâIÔßn{7؃ …’¢d€,ôËùÂòìÔ ’sÞiœÞzó=Œ¹¼?‚bˆ%‰’p\ñ ±ûývB‘ÏI°jàN,%‘LÒH¬[QžOIŇ¢¬•q«f†Ç‘†@MÎvI¨‚ÊJ­|Î ÏK2ËÊ•Ùh­­F¼•  ‹Q¤@æE{á•åò¥YV6tÉvÞØò÷º½= E˜ÀTbXÅÚç¯Î¯-Ú{z;»OîGw¼hÀOÎÚ<8à.6_{yfu!W-(%öwv÷özyfÓ >’Š(¥OûG>Zƒ„@Û7o\Þ(ÕªlãÅqenŽæ.oz u5ëÝw>ÄH*†X!zïܸpu“eÙoýÚo<ÐßO–×/ØŽ;hLÃÆêL»ÙÿöþÒæy+ɬæKuÖ:ÙY¯-$ž*ÊoîGG-ŽŠ}8Ã0 < Æ`º‡'ÝaÏ[ߘ¶Fë³kbvvÖ͸Q+ðO¢Ö[ÛИ€'íæÚr}nfѰL-SÐóÙsÏ]™´}ʃïÞ@Úmÿo€b*40Æð¤¿R‘ ))))))))))ŸCB£e‘Õ„d&f^^»ôµKV-¯ëù(€VÎÌÖ×z AÿýÇøÁ‰âUàjvý –Öë£(4¨•]È/ÌåŒRáQngôà]?ˆ|h%h—+«¯¯Ï½0OËz@ qáK·žß6T¬Np òé¤Fn=sþKÏ•Ÿ_ÕʉE‡Ãa`d^[üíáƒÆí7¡„R¢‰‘ ¯ÿ÷¿ ²D+hNɸ!>ÿ?ü§wþ+:ñÄh&8Ãù×6ô9#t…‘×K•\1c¿xíÒ¡·srk¨+(`š¸ùÕ‹Ö…œ}ÑIʉGGŠÙ^¥¼\ÜÎ=œ|à«.<©`ƒº(­——^Z*]™!5:Ñ&qÀ_ûÝç†[w?¸}¸¡0À `ç^¸8{i32eÖ)\Þ¼²ôÒú£Žzß»‰€ Uíê?o͕ݵù‘ nieÑ*¯W‚VçÝÖ[g^›Ó—ozh÷³%4(€˜8ÂíÖðq›En>—¯­Á¨˜©=ØÚ™ø g¾‘˜ÛÊßjd法ù¥pi#k™"¤'FÛÎÃFÓÍêˆL0ix9GË’Ì\åüF®bfÑúÇÃÇwwJ¨®øàœB4J)#˜® ®Ášír½T6‹•l­¶Q¦&õCo<’½S! 0‰~²x}6ÿïÓ®2@ƒ/ âDlïÖAM++ó6ÓééVãðö^|`$!  1Àqô¸kÿ¤ÃÊv©;¹¿§y²ó¨¥vp@J –·¿w3ìk.Ôg––*nÜñèwväõ>¤®â©€Ó4 פŒ'T‡ GÿGþ—ê_8¿ûpçqc›0íñ‡{¡™Äñ£ÑCëv§Õ&y­T¯yÔ;~ø¾èĽÇ-Ð4$€RéÇ̯‚ThHIIIIIIIIIù´ BˆLÖã H²zõBy¡zÄNÛGý6 TÍÈFVYÔ¾:›+žfdL·UJNNÇjô†ý1’º¨×ì%RÌšÔùúŒûºBÑu,ƒ»½Þ^³{rfFæªV\*˜Ë³h£„0Í!š9²àó~ÿðQ||ÈKUÛɌڇYËÚxý¹‡s НýÆW’–Ù9êoݼÃ)_{é9m>?!Þ…W/lmuäˆÖ6×´6VÝþ£öé½f°çí7õÂ5‹hö¹ ~¸¶1s(ýÿì½×—dÙuæ÷s]ØŒô™•¦¼í®®ên Ñèè@`a†kf(³f¤Qÿ‚ÖÒƒð®ý|ÐÓPp \¹tŽl6QvWšùí&¶±2ÓÂÑvõæÜÒ\Ô/7û¹Š[‰K1œÏ'ôÀä»ÔüÑzPl_Ï}™{u©&bÞÈwú«N»ŠWÒIÕö6ŽžuÕ‘S|Pq½Šì ä’ì°›5sdŽÉ±ÚÒtm¦&t¶¹“Ý{ŠUØyøéÎïüöW£7_»òäÏîlö$®;ó”oXcŸ=ÞìÜŠáaµºvzî åì…éû%p f˜Õîô…Ó=/$í­÷WpXìîÌ,Mº† _ÇMàÇ€–nžÓ%Å™U{GÙ³õ¼ã¶ ”Q ’¤•êAbÄøtUBQÞo7ÝÆ½ÝÛhc1Ÿ˜O+®ìy]Ç%.«^µäûÓµ±n³»¹òôàöcl@×ÐxÝ^;L_µØà0mY†‰ÊÄx©î`~üèÑ«8€£äžž ªµoßXûÏ„Ïk-"bÿ€„€)ë,çžÇò¼FÆõÀÐÉmø}L;ƒÂÂ#cKÀ`€½&T xÈz@Œ0‡R0‚Àe™Xh*8 ¶û÷¶ûà@xàx¹Z .T…ƒ8ãÒŽ‰IXHð^앉ú0@Pxø£‡£6ƒtŒ³²"‰œÌDN¶ŸG@v?F$)Ê„H§ŠŽ†_*Bˆa–µ'ÆBˆÂ£         à%BBxB $$ŸžIû½ÍÕ'í£#H`“SÂ’N¸ËÚñA_C¨Z5œª×«ž—v·ï¯ú‚!ʨÕC¯Ä”Hºhvì¡ðórÅ5Q}¬äù,Ïó¬;@È`rEDžÏʿш&§ÂúLéˆz½Àt]vØ>Êû@ˆRe†ZàÛ<¯ÖJÈ>h¤I¯oòÝnó yˆi` ƒVë Ýh++^ ËA‹©©)m™"†„@¨ÖÃÔÒ<éöúõúD4==²l¬`vi!SygÐÝní¤ÍbíÖäÌ÷ÂÆxmb²Riˆ¨‚œºŠ:©ðy©Ta•Ê!ª•õõ§Ûý–¼hªQ«CzI–wÛ=á8Sré7ʘ8š»ë++’僎6ƒ±éJu¦Ú£þqv ¤ç@à HZÔ=Þoo—Ê’s€‹á促ppŽ“°ÒYÐÈÁ nÁqõ𒼑µœñz¹"€2*>øDÙGh ä¨HLE‘Þ?R0–$ Q÷O’J†é´Pó‚’WÀ@>gP¢È02p9”‘µôØ ÝøúkSåj9(³òDeUÄ}ݤ¬ÈàùaQãA$zP±y.< âu?ô 1”£^A™ÁPÖW˜_²Pub9מ'Pü ôbHî ¼˜YPPPPPPðëeø¼< ¾ªDT<_üÿdøªñy²úó—¿”'¢$I*• €$IÊå2€aH{gù„ x3ã5áŽN€Ÿüà‡¿õ?þlRóïdw± wa²ríLRSÖAè²´Òiks×1-¯ÂÇÊo4^yÿý÷[MU;L,O%¤sm˜WÏz¦Õ\¢{Y*Êqµ\[¼0›ª~ÓuÆN׿ÎOV&ƒÄÆYª B¥^+ËüééV–ó°2qõR_ëÞƒ¦®àêÕ«]èÙ¹ù¿øÓï³èLbk÷¸®®]¬öÙ÷nC⻯4._ÙÚh…©EynbcÂ2ÞÿÑÏ–®½#²øìo\{æÝïu»×߸•äù©¥Þ§ô1 °ìàgùÞ;ÿúíñS3ûª×Ûă´qfléꔨèãÞQ+90<ó<ÑOú“éîK˜Úr¥Ü ÔÃüØÒW.ESQ¦Óþ CY^%Ÿqí¬ÊºÜ×KWæ]o¶c„˜úʹ3;Í–†žA'Ž•@¹Z‰Âh`“±Å©¥7:››^W.NÏO§*ß|ø.Í|@<Ô߬]ý­ÓòšéF}PJ«6Á;ÿæËþÅ-½™Â È õPáý47Zý>—¶ä ‚‚cä[éÐ@Ч|ôPfÿE /ÑBˆa¨Êó§cÌðU‡”ŒqΉÈSŒNüJ‘RUC•¡ÓéGwä9'È9c ŒA›þQoou ³¬"k—/½’/êù¹¥±‰:©ÃÎvGîUk¢,ŒÍ¬¦D ¢(5zã·ov½¨Z›œÍŒ;lw:ÍA½+ò(Ë„/JóÕÉ©©FÕ’ ¯±^¯ŽÕçj~ä'Ím¹ú¸WžbãÉamº<½]Å_%ЀøÀ$‚›¸þö•å‹ íæ 6^6Êwl²¯VÞ{Öýd½Q?ưvmóÜ—NO]žŽj¥¹‹ Ú˜tÞáúѽŸÜ?Hq ( —Þ³Kƒ/_Î_Y63Quæ È6o ¨yg£÷$A nÁ Øútcbc7X%Ï_>mÇ™îÄݽžþÉm(Tedò$tW“µOîŸÿÆuæÙ¹å3¦¯ü¨êåáÓ•g{wv䀀ÙHŽ¥ðÌÂÌ¥3KkÁvz­ýãƒ'{O>\ÕRt ÀÔf®}¹͹0ðÙ„£<¿`–ŽWî¼ÿVí“jY—äµß~{îâR5ðÆ‹aÅë:jµž?øÞûô¤’ð×< /îêóï0rîï·þ!Ð`>4#MÎ2”¾³pã›7±ìëVT›(ÈŽrðã­æöêzC¯G€ÀF. Ã`¡ð\(„†‚‚‚‚‚‚‚‚‚!ˆ(Ïójµ:´ [[[»sçNqd8Fš)'žV€ã8¢û³ËÓLŠ¥¹h,˜Øß8ˆ[‰:и“xfÌS2Iùcì×[)WãµR#ieýÝ8?„[µØãÐ^È"M©Íó,Эê â5ÎOŒÍíïí÷ûƒÖJ7_wh=„Ш²±’ZoPBylf,7¹jößz¼ÿÉS½¡! ‚Œ™¾»ý'ßë¿ÿ’ôãåT ªýžZùÎ÷phøÌöÂc€öÇkÙå´œV¦*ܽ$á¹xxïQò° ¡¤Iƪ½kG§iõLyìôøùåå~/m®·ïwôŠÂs‡ÚhpmW™žR4°á©°:SÍó¸»Öí¯ö²û v ðd‡f°”Ä"fUQ›ËIw·ïÇòÓ?þk€Fx‰Cï}¼ßûè•oþ†€ƪ4ài7Žš­G}ôÀ,¬Á€8 ‡P8™cî¤jvxy¦Ûhtš±“ýwÏ+øêúá®¿Ø Àèïµu€ô‘)æ%¸y€2ðzíÒ7_+]~z°ªòöÅÓó 9Õi57Ÿn­Ý_§“V HHp g=^ÜÇ‚Bh((((((((((8}úô¥K—‚ ØÞÞn·ÛBˆ¯}íkºÈœ;)ü4iÆå¨u`ÂsÖ`Ÿüïp{êÞ„œhíô´Ö@Œ¤r‚–Lª¡ ÷±õè`KŒ¿2ë{ÁþúÌpqšWËe Ò’ÖÕÎÞÆÎ70í{ã5Ýl"q茦îù%xÎBµŽ±óƒ ýþ›Biªšæ ZHà @@yÒ`{¸HY¿ÅÙÀ‚jÒ‹á!×IÎÁ=Pfu˜ƒNKbÌ󼬗MÉNÀÁƒWGYAŽ·î76š¨Ã›–“vŒ 4 !œç“¬…•NÖn=9üéÚ><`–MžžÖÚv?;† `Á <æéÄžÙøö'âÔ0ue¹?hf+ƒ‘ã@&= \«9gí  ýHºò=ÔÆjL0×íᘠ Xú\*‚e ÎgZpp€⤢ÏÁ_¢äFËW?ÑÀáÀ=¿w¿ rÆç|Ø2`@@þ öÅûGý(Ýpã^sùÝ^VJ*?ùáû½Õ)Fî ÌqÁ9zA{>Q45BCAAAAAAAAAÁÚÚšRJ)åû~vvv~ÿ÷¿82ˆÁÂ2!aë>dQŠ  s88VÎv ƒ`åˆ\.`.€HÖÈÌh­4ZïµH¨aÝHpVä1 C/HœQ™‚bè9-û¨L Íæ '™ À42 ƒf9É\f¯ïÌ ëÛ.Î’s\94kÐiÎJõªá”%2hŠi(@0 ø„¾BT*çÖ\Z€1†.àÀà ä ´ º zÔ „†¡SVÛ¼ê—e&È9§ l¹ãÀ3x%æû¡"#« ƒ5Žê•éVÜ‚ÎàаŸuó¡Sa5b~êÔqO<4  RBkx<ë#†Ù‰jë¨?<8ñ 0(\àp Ì9Îu†at IDATiÀ¾CÆ3†™À k¬.³ý‡ÛûŸn÷nÇÈ1l_$-‡àŽ»çÖ•Ÿï`A!4 Ƥ”C‰aÈüü|†Å‘Àž1Lé-ˆŸ=Ø<¤ƒu¹C©¦½ØXM¤¥ƒœÌÄȰê—Dš·µ ×êwƒu‰UÒ2²N†áÈ€6P$ÑxšÀ! C˜!r‚æ°à màI€F«ö‡Ò³œå*«ò Ü(•À‚3ðØèáø™{Ò÷[½ý0¬ á¤30ƒ³ä`†á½(ç±s@$gÌqAdâ¬7,=÷{{˜€ðdEYžØÔ‚ŒA+gUj8 @(‚RèµZGà¹ì0‡j!ƒœ üRÙø°ÂÁ*$1œ1 &c Øp8LàpxÔ—Ïk^Aàë¸ådÀ çj pÄÀ8˜8Yªw/ÁàÜ>¸sœ ŒÆwNŒ äଣ¡+ãÿç` @ΨÇ2&^ÃÙß¹\»T¿×ß–ÕZË\ß©V?Ù¬ßÚNß댒5Á¸ÓN@ð 7Qh …ÐPPPPPPPPPPð·`­†¥µZ­jµ*„(F'^xî{ήœsŸ«  Qã6Qà@ VÌŽž#PÆø(EèöŒ„Q#Sþ°†¬ƒjå™3 LAòQÍ&ÆÀ9¬†‚#8‡0D¦ð`8 Grâï/+€àèth†µ_¥^ËEÜS©å–Â*¯ ï qf‚IËF¥­ä"0ƒ®ô£À“‘2¬eŒ¥NiØœR'‰s€³f¸îíIúQ¿ß/U¢$M­5qÖB  d=ücŒ i•Ž)3 Êa€ÐŠéÂG§ ˳~ïÃÕ‡Çzè9g¸Šk¿õæ+oݰÇíÍÕþVôÍ`ã£Í»ß½…X³0µÓ¸ñÍ/•¯-u#w?[õf½·ÿ»ßôSõìƒÛþý I08˜Lw÷[ÙF5Œº½Ä/Eåjuvy¾wÐQ÷;H´’€ÅËn ä†Bs£PU6j½@ĵsœƒ1ÀÂ9a~±Ð €‹þ«ÿú«•WúªÓ]˜œª'˜È¢Þ­Gß½«?ÃpdÆ´ÓáŒÆHÊ Ã=9¸¡Ö0ò©,l _†Kç?§Au‡Bh((((((((((x™°pQ&èû¡gL…7¿úFÌ“Òx úz}w}/ß›\˜¨_©•óæñX¦,oë®jñÚ™™Å)ŠÙ…éN³µvôtº:éLýÚÒ)ˆ`{kg¬Õg3gç&ÎLQI©¼ï råæ&gNÍLVkÁ£ÊƒÖv»Âür¥f<îOT²eiçx(¥;HseŒä³‹óã“ÿÙ„pCwF ¾ä»’_ÏÍMõ §¹¹¹ÁNfÊ’s:f‚†ÞüÝ/S™ínïMN—Ë^4^ëìv'gÆgöö[ Ž€ÈŽ¿ûzi±zìZ]j9ÁS£¤g¦¯Ì|¡^9\?jît“nrz_ /•Ò(ÛïîžMÏô•ÂåpÌÌŒUÛœ\…šƒ"Q›j\¨›ý½½2êÔÌl%ô³nrö+gvÓÍæ³ã…ÉZ¾Ø™93}ú+g5wÇgæ›û{΄}À³´x}áÑ…Ü‚"€ÁÄ8x¶=¿87¶<Ñ‹{$uPŠæ–æ(S+éý4QšàÄËe.` gäI ê‘àà,Y72h„üEöŸáÍðü×ߨ_œl©¶Ü£š0þ4ªý‡;kß¿ßþÌ€3X¯k9ˆ WÆñ¹y„ƒ£ç¢Ã‹í …Ððë†1Æ9.7vDG§Þ>3ÿæbȤp'ò}×”ÆÅÎÆ£•¢0<³°tvi9âôk ëw·].á ·8X?Þ™[¯6ÊuY:ì÷Œ3åruþÜ¢$lG«ú¸ï3¯3Èèe˜åá Ã!pÀ?ip'ŒŽ9üBB Çü•ñó_¸\˜ÚL÷ó¸:^k°Èkf;vŸüùíæ‡¨9”BÑŠ­5Ö‹Ê”öÜ_“F’Ãç/?×Ñ0Tœs…ÐPPPPPPPPPPð²@ŒÊ÷y?ïBÜBº/ÿÖWR­R¨­ÝÎê)¶èÀ¯—˱Åɭ段6r¥’‰ê²^5u˜·îrý9Ýšl†s!rq9ÙoïOMji™K%m³ÙŒ÷ÓÖ£6Öpœ‡½ <‰1.§ýŒe]6HvU47U÷¥éïd›ØD¾w¸yÜx妳ækÿò›ÿÇêw €@¸þæ›»ÕƒVóð³¿ø ñø/nÿl¼:6yîæå»ÿ×ÁÀ dñî»_lÛvÛÖvºO›hân²5Y^¨Kµ|úœ˜þØÐ"¼ùw•Nô ¿¹¹š=>ÄZiºC‡Õ…š*[ªP,º¯“”’‰ÊxÄq;Ùºß\ïé#dÑàNcs0LNÖ U¨Ÿ*KV[!ÄÌÔ¬2¦uxÔÜܧgt š±¬^‹òše Qœ§ÇÇŸš®ûQÞϽDßÿɧt„Xå{Ç–Ê$ð¿ø¥·×¿ým @>gùÀ®ÞzX©GgçªAi“dq…‹——çf&Ù@1‡r­nùËr¾1Çá8Ái(+‰ð‘`!'FŽ9.¸ãAöræÅ ÒãlÓ¢ù°†XR;¡&}ðOqÌ€VøÃ¨ ²š@läÅð7&~îﺢ£áå¥ ^#å2.¶‡õí U×µÅ1V Ê|b}us|núÜÂRí§ÇÛk;Ý^¤Ûq2Û£%Y­¬ÛMãÏœçÕKc¾Íó8鵑*Æv2x÷K¥ÔÜÌ,4 Fû?>1y·µ’y9Ú@@qçVL•¦àÊúS• ³Ç"ÙÝl¢ Ôàè¨Oýí‹óOÍŸÚ|¶3Ç8{f9u©Î•Jb¤@È{x}mw¡ê¦¦e)xrð¤¹v0sq$ï¦ñàpp|t¤c +@„,k÷»Òº,KfÉó¼rµ”+»;ûk[»zO£øèöÒÎ õæëmÕéÆ}ã €n·í•m#ªîÐ Es_oí¥èµù3J€æÒqr6kâñ­{§]~þíë-;èš,¤%á×AT/ƒ\ßhb/O¼å°wÀ*nÈ3¬$xEð2g!OMâ¸eÜA8Æqb0ü±‚乡 H8 ruVõPÞx¶~÷Çð¤D’iæK!ÊÈ~þïð×Å…Ÿ7e 6T\7~Ú(ÑÐ!rô16ìq(„†‚‚‚‚‚‚‚‚‚‚—èu»V1B0Ã9y{÷þ½³ï._¾x¥Ÿ 6×6PÃâ«—_}ýº ÕÖÓÜIÝó&¼0 FY˜–O‡g&ö¾1‰‹W.LÍŠ“,é9_Ë “Ëqk°sØžª×ç—ÆjµûŸÝnßËpþ¼se£(á2®Ôx½,}¹98³8^ òÖê°ˆ«7^âýteõRÀŽ"מmÕÇ&êQûüØÎ½$j¯E³³3i,Öž­`Ò#ܽs˼;ÉJ¥3o¿½öÞ}õêç&¦ÎN/öû›Ÿí`èû0À½n_ùÊe1_oµùݬ~eìêÍkÑDù`ÿð¨ìõ³³sígMîcb|âÌ…‹rû!¿ßY?ðÅWoúUß$Y¦´‹cëÌ)´;ÉüÒéɹåÏjw;ï?P>wáôk7ž¸T+YA`¸ë‘È´¨Ù«¯¿ù´Ù¶Oš8……ë×Ï^}-kv?¾u½~*Ó*“s8ÞP¹¸_šoˆ©’_ý$k§©‘AÉ cŒ |Ã_"¡œrÒ" ¹+k…Îz&™csŽ ûƒeüïßÑÀY§Såz‰*y+5cÝì|ü ¥Ð@ræy ðRT✙c/È / î¯ ~ZðkÕFO"'†rÃ0±ˆs^ / –ÆÌÄÖ«= Œq÷·.¾{aõéÚÜòÅ™É+‡›ÍÈE6õBéÏÒœj»ñ~=¨z~€žjÆ4pã†5ث߸´³½Wò*§.4¼‰íÍ=Ö”õú„êYë&˜O¡‘B1? f.œâûsssÕÒ˜cÈZyÔJyMh;Í&w[íC½pvAü^ãÉæš0"œš5*ªHyëÓÏ ˆO>ü`q|Ùzæ­w¾´>ûHIsêâ¥NœÙž<|º3ìu6¼ðãÕ7¿8§µ_™®¸7_í½uýfo÷(îö×vÐ?)5|÷þw¯ Ÿ/Zš^œ}ÚØ›šF̓ãuª{Æwóþ…ʹƒã³ðtX¯5Æ–¦ÂSÕùùùH„¬éТ†­Ž¥Ìe=“pÅÌ1Ícfy½RýÊ«§¦çÇJµÇ[[BÈ7íÇŠÚI¨Q.—ó{s`®¿ù…‡3kQ1®ll.W&Í.”õaš%é)§¡¿‰øñù/^[¸z6*EišúBú<Ú.f:)˜9À ’;FpŒ8Ìóu|b#õ«sÇXƉƈk? {øè=@ŒœcĘe:“s5ÏVaKB §aŒ³\Œî -|F>‘fˆ=FÜqA|hìÀ#bä8YÇ@Ã=rœ˜wúÔå•U•ºK‹½íäGÿñgé=ŒîÓ ËÉ—`ažᬄ0Ì@œŒE¸“Ó'wšf*˜£¡[¥wìoÈ /J!'Ö°y!Mür•Ñ¿ÞÑ€“¦†_šÐÀùß6iÄðsµ        àŸ8iš–Ëek­”Ò£µ.•JZëâȰ ®RJz}½kÁ!2XOˆµÇ•³±Ç¼F}:˜ñbø¼Üß=ܾµ¹òÇ÷"¦bXÂÌ—¦N¿unlnü(ËçÎ^*›ªH*¶‰ì§ƒg?ydºZ[BÄ©á–ÞXºü;W½™°:nÄxMzÞxã”èðÍ;VþŸ‡Ø€àr2ª> ÞÜ¥Ùåßœ Õ çO]B˜fV¯,>þðÓõ6ú1`ãGŸ^ÿggû6Þ±wvR w¤’›œvõϾý§H…#«%t´0¸Ý¹òõ³ûõ˜;»|¶ŸvN/Íñ#ýé~ Dg`%PÁî^ûÆù¥³kƒ­ÉñE.|„j߬üpeçã Ör<…çy®ÄÎé¼y9ãO_\l³îqšNUÎæëñá§;›Ÿ<2»&`p‰¹¯žš{‹c¶T¬ˆ ”A+UµÕ‰ö'ÿÛ€FÙAjhUÁ¿û_þÍ“Ö~ ù«gÎö³¤däLÐØ»·þôÃL@&½áÃ70DpÉ“lÓm×19za\ Í­sERRJéãŠh`]F.³Œ18Áà;çqWB8 ÆcÁŒã€2ynŒ^Y–Iî MÌñ@†¾ œ±q8h£SR™`. JQXô3Ï úýÄ+Iæ¹Dõƒ²$•V8rʺ\ça¨ÊRA²ŒsU X$H2pI.²¦’«J–e‚Z‹å.,K-)ÌX2”RL ­Džr›1ÒàçGž­§‡çkoVàoþhãÑ_ÞO9À$YX ײ†ÀA4ƒ>x 3 eÇÀ"Ï‘yF!9B‹DÀRK À‘£aÎÅçá—Fˆ€˜—-*ŒFÁßúuö‚vÀNàœÛ“ßbŒ ¿Ë9BHÎsBk-^Èž(: ~¥”ËeRJžçyž‡¿kÕêŸÈ{‰¯8¸„ŽÔ¦½÷³Û‹áÕ,àsãÞÂørµRŠš~üÙÁÿ½âÇ~heî@ã@qDÝC}éÕ:·ÙqÖ?PÍ'ÍÕ÷VûkžW]™'GNòéWç™ÚäÔ|³Ù^[Ý9~¸x{»@ iÐo÷lOï³É™Y/Œ¦¼Úxäû~ªýÿâ£Ãû»ºc>¯Ûr€áûßþÎÛÿí—ƒéÊ€bËi\ŽÉ=ûã?ú3´€Ìžv€Ðècíƒ'sËsÉœ©Ö¤ÑÙAëàÑ?ëXd°À6ųO7§¦®ÌóáÂüD§Õi>;lÞÙÛýÞS@dÄ“;ô´V®”®ÖK³Aev!¬–»·›éJ¯}¿™=1Hàä{¼c”½þõ/.Ì-kÐáQ³uÐdƒèÑwã%Of}ï “ã»ôƒ/ÿ×ïöú™V6Ô‚å.IŽÖ?xŒu¸dTÒr)¥bŒ;""8×Ykýøà¯ óP©Wgæ¦'¦¦[¾RJç ¹TåI'…eÌJé;Ç,IKÂZ. €"IqÒÉUê‡^T­pÉó<ϲ¬T*3ƘãÜIá Ó¹I”V¾@ Ÿ‡’i£tžä*³µò8˜—k¥a‚ŠPHX`Ï]˜-5Xe¼”7ıé·ZЫŒé²×“¬Oq7îÅ´®J6—%Iì²GŸôäD}¶4]rÐ NÎ0i:¦ã"PÄ'”åJY•ƒ´«–ÖÒ8ÙìïßÝQO œ{žÉ58~Xªa&(Ó Šày’{’ikó €Ë48 ‚ã3lY 7ì£`Ãñ &8<æ@åƒuÐp¼2÷š”×™_…ÐPPPPPPPPPð+¥ÛízžA§Ói4œóf³Y©TŠ# 0¼³r®äpŠ9x«Õíìéƒ[XDýl¼’>¼ÿÉ#t,<Àƒ‚RL1°@ |‚½g›{Õ­•¹í™SóÍ£ãü“­‘_c¥u î $@+ßy°òÃb~üüåóƒ~²³¾µ>ÔÈ"‡&"“¤·¿ wnU'ýÉ©†ÊÔγ6ÒQÒ0 …qÉûßTyÝÙ‘à:ÏYŸ¶‘# hÁ‰ëate~/g_ëUÌ—.°–H+ÆvïÁ>AY_0ázyr¯ÿìIóì“™³óÕñ©'OžÒÎ]  êU8,ƒÇÑÙî½÷ï “_˜«ÍMïîçëMê9ÝU?6`s8€ãèO÷¿ÿ§ßÁ$^»±$¥øxumHBb€ƒÁ€@Øþðð>þbo¾y>ÏóÏnm¹£“ZÊAŒ1âÜZhgàÜhE=ÓÈ5<8 õWŽVù} ;þ= €ÏC§I÷4FKñ÷a¯ÿP|K” ¨c0@e`Є*€œDn@`’Ë“çöœž=~l „Ï´r(>`qýÂ’­ ÷t™ë¾ó5¯XÆ·{í•Îæÿù €`OLCpLJöéȘC@øÂ>?¥š 0j{!@zd9¥ZJns²d€$†Çy(/Yâ–;_&dÈH>¼©H„”'"Ïàsù²“¥†x` Æ À=GL‘S£³Ø }V’FÙV–wa‰´ã£G   þñP¯×‡r÷¾õ­?ÿó?¯×ë7nÜ8<<,Ž Au›-Ðv[8L %&Ë >dCž%¬‹ð†R¹dŒIb5ìä¶»¼ºÔ]Õ¤¡…à°Ä‚ÓÒ£.‡Þ°Y@@”<ä6…¢×80üÉHàBÀ¤@’1ÉAG£nG¨`XíC„L€´ô°»AhH‚Oð=¤)È–œ xcHò´F*ÂÎ ±PpÖJ’C“RÊÀݰh*SpÈ5rm$ À{:Ó€à%4M:0F úp|wm¯õa˜p¨ãìë¹)”|¼Ê“Nvl³4•”Vx½”R•÷mÏÄfí`@ˆ²€„hw-spD ¾I€…á’´‡Ìœ ‰D@¤ 0 F‚Cx̦é°Ã ˜ˆ9!ÔðŽ3 5—áh‡Kà,¼ÿ—½ûz’,»ïÄþ=ç\ÓÛò¶«ºº«{ÚLÇ€ú¥[iµ¢(…ÚCúôO(ô¦W=ˆ ®ôÀ%)­¸¸$bãzÚ»ªêò>}æµÇé!k Q,†G"¸¼Ÿ‡ŠªŒ[•™§oßÌóËŸÜ/ý¿"œÿ4¾–É ™L&“Éd2™ßLMMˆ¢HJiY–eYµZ­Ûíf+ ah2"Rû®AS!ÀA: €×é;ßøœö7>xt¼±b´Ø„²9©¨€ýä»Ð·1ÒÐ Æ›·%ÜøÖâõ·nôÒhõµÊþÿúüiûßþÁ¿Á`@ÊuB˜µap̘¯ÿÆksW&„Q›ßXX#Ò8ßé=øðYÿ^=êAOT›¸ò[w*¯/õªšû’MN•–V¯´>Û;ûäex0âZ€$xõ·¯H×ÔR–mOP(!¹Ç^û훟üÁ=Âä‹¶‚6f_ix Qϧ'£Á0.s»ê_¿yûGÞe\@rycöÎÊÒ·®æVб3Z›¿¼žÜØrú⻟`_Kä‹Ãðyöοø®OžÇ‡=Ù©ÍO¬þÞÞ¿¿ÿíOði,  ˜ý­[Sw.‡¦>Õ)QæÍÿâ½æ¿øÍûßýóãoo(–ƒ•BR†¿pµöêBàkYvòFáWVÿ©n¥{?yþôÏ?E¨.š/@S׿¯ß¹6¿:{ÞkÏæç/½½rõøÊÓOž=ÜÀ‚›£Ð [xuqéíåò¥ZdGýdøÏßüõ³½“—w_|¾çJ¤L@ øfý­wÞ¬V+ŠÀpØ«‹·ïüúí'Ÿ<¸w¿ÿ¸ƒ €xøÕÿö?N=iælÓµ´&þbµ»¶œ/þÆ]!áࡸ>‚å2éʘ0›õiµÒïî÷†'˜°ŒvÊ;¢…‰üå÷Þ\¹s9_4¤3ÌÞxý›ô×åîO¶žÿåÆèŒÂõpØ LÝðî\n®ÎëœÓFƒ~ô[7ÿÓÇïßßþ«Çêƒ$6Æš¿6[X©N¬Nú…¼PÏ_]]µ©û‡ÿóŸâˆ!M œEúÊ»¯ÌÝ^O-i^nLü·~/=ï=øá‡?>‡ú"-Âæ1y}aéöÕúâlkлœ›¾ñÞ­ÞöÙîOö?}*ŽÐ=ìf­ ÿ 4|Õ$¡¯š«ùÿìx¢Æ¯wa–Ëe˲â8Æ“´Ö_õ÷µÖ_ž–ä8Ž”r0d 3™L&“Édþžß€Æ—ß³wˆÌP(Û q8€˜ãöŒ¿óŸýÖ.ëË<•BôBayÄ †¿^_5/¿ø›¦Ûw”12rÉò͹¹k3më4õH`D „áX˜V«ÿäêáÓ#>ä–iBϬ²+¯.5Ö+7ɞЉe[9»è›Î¬˜ä– ""ryb:Qoýöjãµ…a]uXo ¤c¹Åi·\γ$}ñÁƹò…·æN½vuèužE+…Ú ãî.ÿ¼ ÀÐp°òWƒœ>;<_œX¶lËÖJ­­]>{sïùû-Î!”@ÒWÿÃW:…0˜d Î U…bmêΤô^ßúÉs´R}¤ÎTãRSò”ôìVJGfÁ}1zZ¼–'rµ]ÝõÎ¥²8MõW›7kî¢5’Ñ 74¨MY®Ë£•o-u‡´Ñ…)P-¨: ï̶üÐ)ßÛ|<Ùœ¬TJRÄ ï,<ýüSl#Ÿ·‡aª#¼þÞ-¿éﻤHúºçRÏ^tjötÙìv-ÂM?Éø4]\øÆbe9ßI†AÏ+Z烾_/¬¼6cºò¸Ò=eq—#å^xé½åêÕêh4è ú¾é:–ÇñÔ͸¼|??L[&¨¤¾ëO,Ï83F‚¸§©ˆiÙNÓmº ÚÄ‹óLÀR€·K·~ñv*G¹ˆ±G¼¼ë—Íå_ýÕ?þÉ%)R x@“¿ò«k1h£àè AµX÷ˆ}û×^ß|¸!» #ØHFøÖ?ûå—ãSt·xïÉ¥•˧i«ú­¦,F'÷w­>˜$œhU2Ö~q}ä𸨙+‰Êà®o;Õòê?ýÅ‹ œt‘!œ[¿}³qyö€3ÇKd*ÃØÈ•åêr0wÚ?·LS€&:!›ZY¸±â4üSuÚ1†’ ·P±‹úí_¸ñ¿|ï©ïƒgñÌ/!Æ[iò%”’Œ± òùüøƘR ”`cl|¼ÖZ)¥õEEÊøïPJÿÁd4T*Ji†qŸj†išþ-‘ò0 Ã0¤”J)•RžçU*•¿åW2™L&“Éd2™¿ç(ŒB.J ÇJ‰á¸$jë^,†ß8ïìµx F¥‰ÅÉ cÒ¨¸õ[S$%\ˆ‘"Qc®lxÆ Ÿl¼Äq>W¹4OksÍ)«žŸ·uªƒQRk®R¡Œ^.ïöφ<_\lLLèj©>¹Þ´*^Ò<—ÙžBJÒ¶˜¥\Øëí=}B¼âW_—,ñ&s×gÏ>ß¿¨~·0ymáDŒJ•BÒ‰žÞ½'(®ß¾Ãj…ƒíQýÚ¥ãçŸ ‚ J¯¬‰R‹ôj¬rpoë`ckX|sõVsjfâòâ³Zñ¸Ù ó¦8=gÂxÖzØ‹:ƒçíåµÅúD=N{¹ zûŸÞâ±îu†¾ï¦JÕ\¾n ÂöþþF?ìPßh.Ï µÆrÙ£º¹>l M\¦ª¦QeƒÁÁÑéa÷¤mØþÂäRµ\a\þÖÕ<¼sLe&‚ˆyM(šœu6[íM‘v„?Qw+~¾¶òÖêÆÎ‹Q? `ú­Z®f[uspÐ{¾µ!©ªÔss ÞbqÑYmôflj+N¡šò‘3ô V,ºg›/?þ›Ý·¬ÉU 3W§üFQ+Ã6|PÀJ‰MNÕ©Q2Z£ó»ÏwªÕêúµ+ç£3gÎ^ó.¡‹NQ%JK¥^xèM”ÚÝÞ£¨“{ûæ[õz­}~b­zé³)`LÍÖ%"JTpÔöû#—Æõ¤ä9ÃÔzý¨}ž¦Š¨Ý˜Œý Ÿõúíݳ½¶­„M]×Vyñòêæá‹‹Â ï:”Ò¯”{|´ýôé°ß{¾õ¤0UÈWýò²ÛtòÜ¥’q©™oÄNR­ ÓÑýGŸ§pej©X(n O¼ÙâTqÑe«ÇK˜E¿m r…¶Zg S3õ²u– Ø„õÎòÖ(&$•‘6t±‘÷'¼‘èŸtO¶·¶«ÅFß«]­-2‚ù7Jû÷T–Ðÿ…B¡0Ž|™ÖšÑ¯éRö&¸Ki’$iš†áºî8ãÎuݯÊh`ŒY_ˆ¢(MSƘmÛÙ)•Éd2™L&“ù¹å UH¸;)Ú 0r¸ùÆ ÈØ IºµË?k!ÀÑ\+oˆÂ|‘ÌPîT$ÍlÁlY𜢠Ð= Ï ©œRË&ËM!½”Ò†Ñ'³ó~Ž*²½½·ùlGØnŸ‰UÓ¾œ³|Ûš¢¢ÂctcbõX9Wh–l?Ü{ô gÐ~øäø¯¯¿“/—Vß¾~öx ®Ü¹Ö®âåéQçÉ£ÁVŠƃÆeZ©Î^z­qü—Ÿ£-Lªðê[´è„­°õüððá&ÎGÇû¹¦EýÂÚ¬ùêCþ8Ï-X÷zb•\qÿî†>NqÐÞv×èÜò‚štOû-n¥Õ [Ê#†éi%âÞÁÞé½´B zb-1+Ÿ³¹DØ©¤ÐÚsÌjÉOã@îíEOw°á´°.Ü«+m9À”}Ц€6„LK¥ÜˆŸ@Æ/ž<Õè’€Oî—Önªº»vseçÏ^è68Þxû5NÓΠë~x‚ utјªO±ªã8è0‘AÅ-”óå°<ø›§‡›-D8¼w`­8yßÌÌ&1K‹SM]eù^.”áÖÎæé£C 0L‘\^¾ì,íøá RTÂ…M-¿j‘(<Ø~ühk P¹àûܸ2[©ÿÊko|ûÁ_;SëæÅ¥0•ä;O_´N;±ƒüâÔåµk®á®½vóèþ_b0 å;—bsÔžî?9y(tçE£jݺúÎÎç-v€âµ_øÍ ²Çïlî|¾ a¡íºjºFqýHÚ*JUÞuªµr¯}z°³ÝÝÚG÷ZýÞ*ŸY˜/;¶rRnÐ A¶×Ôar¸ýølo /ùËÍN|ýlåòª5—‹¹ìôcÂL Ä6¨Ÿw ƒÞñÞÁÆ6tÛöý¿:Ÿ~óÝÛ»Ÿÿ¢x$œžžÒ/Œ³Æß+ùõ,Ð?˜@ø]cÌó<Û¶…ãb ÎöB†¡”¢”º®;N…àœ+õµ•rd2™L&“Éd2_;ªàJbE€†¢HR4§§R+ìuNùY- †*$ƒî¹®H³lžEG*âæcÊWœ„AÚ:ЀÀy»]™(PS¢Ãyj˜N0Ê™¾›_¦Ü8?éñ‰ÐF+7¨Ö·$†|0H»±Nb°„¥sõ\NËv§…C ô18ë§sC]*”¤€¤Cc¢Ù¥çN§{ØG ˆ‡íF§Z˜­Ôkp,@hÁQ¯×ÎDEÁáÆ&¶€È$mu;;œ¨Í–¦Ï6¶ÆY¹r‘®âT`ˆ¤~®‹éxªß;¤£ŠYŠãØf®MK’[Ãó.N€">ìêbI]®1TIÂ¥JÓ<7<—ŠAO¶»¬ œ6díœ7빩<«N†‰Š¡ÌbS3µ´ßéïŸGÛÀ! 0Ràs£QÐ/媅|.†ÚPÒD¾\¨áÑÙqØ è¡Ûo•ü‚Œ§ißîD:t}ʼÆà8Þßmá( µ' Å¡_K¸#ôå(‘BJUTË2R)Î:ç8"ÀÂ);›™™&Ôe2 †bÈu-×°”iÈîé ö.ÀÑ:> œi¿>ã×'l É!4rÄœ©Õ6ùq’Æ''qä0,w…V‰LfffƃÆ“ «z¬»Š¨î8RDµY j˜˜\‰vħ;g8$°s™Ä‰F7L…°$×¶d†E ä Õ:?8À0xz6Ó›±Àc]‘ôdkî×ËÔ­šLìïâœã 0Ñ™8 –f­Ï‚A+H-f¹‹Å¦¤š÷ÏNù¡F 9ôLi8åƽ*ev™€¹¹9¥””RÁ9UJÙÖ×"øh „X–5Î(Š¢q‚ƒã8?óø8Ž“$‰¢h\õgY!ä«Od2™L&“Éd2?4¡ŠYC%  ”h©ûƒ Ðt!X©PN·“å’_tò.s M'ýšb•¶-K8ó•íæ¼*Ê#Q/MV¼*£©•($ãÕÉE›ùq/¥ ³«bhô>;ÄŒ[¯Îüše¥$µ´f\˜ndVƒÎÐ6É奕½ h}Á•«Ó.µʸÏÇ3 Àð¸—ËS³gƒáÞÙê«“ÓÓIwÐsp P F}>òó–}eýòÓ£ç°msffºQ™â#~¶µ †q›Ã³ó¥â4†XhÖvZ-œaj½¾4³œ •J’Åúb¤Fa·df—ͲmºQQ´Ëý2W %§\4«Œ–š“q bÊ‚e>Ë‘b#ªŽBm¨äêž™?8êÛÜ#b;žÁXEÁytzõ\í°rJP©i«R¨Sm$lŸláH£€Ó³våJÍQ~cuòìÅ1PB#_©:%)eÄ I¹oùuW;îAÝ[¯½öÌ|=䮕òÕI?_K¤H¤MlÅWºæO û!äÊ¥õ'éc‚0ˆ$™¦ˆdCzVÙ­ä'­™0‡nØw}{ij®jäGíszBYÂ*FYô¥b‘“ËŠ™3¦—•4éôôl³Y/sá Ÿ%<à¦Am› å ¹ªã‚ÒúÔ¬ÁN+^yar9§KQ[=ÚA|1[1žü`î7͙ׄY¼ ¦&fg ¶ORûÙ÷>AÀ$6·^T–k\ù•ê(ì'Q:QmN6ë®¶767°%^d¹¿üìåââ<<óÒÜ+Žyt^ìÖ›ó~³i;FÐît¥RžYŽ[QbRQ³JµÊÔ¬— s4 Ýœ=9Sô‹¥h(’“N©¡©V"±¸¬øN¥áæ‹!5D±í;ùÊä¬S©Íªê Œ¢ì¨‹eTŽÜÙæe)ƒ•õµ~»•s½jaÂËW£‘Ú|¾ƒJÛ@ B=ÞxkµV.Õ/W-I¥P¼Z®Íצ}e·Ûíô|D‰ö]“«D»f±V6s9)•ÕÙV­½tùr­Z£Ž·£´•R¡-Pª¤¨‹¢Wñ}7L¢…ÆrçV«V«,6—,bFƒ°}|&B™³¤J„mzFÁΗk‰Ãg•íâ©íª3³Ž`òãÏÆ¦ Úxþrß¹^³ÊÅ¥;ëÇçÇܳëÓ®ïòöhóÑs¤€0ÄöÃÝå7— ÕæÊò ¥¤3Kó®é¥­hëù6z( !Üÿøƒ™K¿æúÆêõK³˜üØûháÚª[pMí¨~lµSƒ¢d-sМ,™–Ó˜ŸYVI?ꩊëX’: ) hÎ3xëNì4¬¼ï›•\|k½3Ó*×Ê…rºf? ’³Ù#–¤i$„Çu¿Ò(NÍ-…üó­“ZËW¯™*g¤î‹Ç›gT¶X–E)5 c¼SfìbG»uö+ÐÀ9™Ï[v]W±³³³¸¸ø3ßÞÞBäóùqúÃ8¾À9ÿr—ãL&“Éd2™LæçJlÐ^Ž…_¹6#(Ý~ðÒ}¥ìM”U³DóE£ºvÁÏZg»Û÷6ÏîvÔ"‰IÌ=µp³?ë’¨²b¡l…žg¸9»íE‡Ÿ´ží‹QZ¯5·áaíuÿf9²³a­.^Q°IwÔ?z±»;9IËŽD´öúëÚlߌ¹ï×o]w ¯3„•°þq{óý@ .ñòÓ§WÞ»|šô™Í.__L…AŸw+ª~üÉcÄÀ `ãÙg{W/ûÍÚô5^]AÀ'ýZ2 ¢ãÞþÇOÐbBDQûΠ^˜ÒžåO[Þâb8 ΙÈÁØÛlýè>BÔ—ÎOˆcL]"+7 ÎdÎ[Vjd¹ÎÈ4ãž<=ÚÿtÓèkS1.ÓÄÕ«“‹¯]),7¦ÓZÅõK}§Fª÷ìðÉûwu+±3`HÊ›ùë¿pËœÎåg;–eUê0òçÝ$í$|Ú%ÌR £ƒÇ[»·—+HÙ¥™KJñ¼óR«½süü³çí½®+š‘??ïú³Åk¿X¢‹h‰œµ×¾q‡Òühÿôà³­Ñó3wHòÜŒ¨”^¬½÷Fi¹"ûQ‰U—×.¹Ž´†…‚·ùìåóOaØ‘¶-göêôê{Kçi_r+s³ÄÊ :òÅñy9pŽÚ`އAr|pïÞÊüÕZÙY¨JZÚf¡PZêýøs$°8Rì|ôrrqŽ0§Rž›\JÚ^‡O˜'§-põÙà¨ñ¾õxû`ç5ç:³nŒ¤Â¦ô¬ÇC/8EüÅÐ „$ÇqEã‚)å­›¯üã 4ŒG !Æß‡aøäÉ“ï|ç;?óø•••'Ož„áxÒc†adé ™L&“Éd2ÿßPõÜ™¿Ii ×eP€2 Ëíngw€Iß§å¢ö5DCÜmßíîýï-œ<‚ƒq úöüJÝŸ,ùvÎRN^ø^×ém :Ÿu:÷B¤C0Àijácë߸VÍ•ŽÚG PˆÃ“QëQ;ù4D 1W±Ž ñlÿ)újõ—oOÖØnû8IÒ™ÜdzûýtW) €J`tÈ·î=­Þj’|áxt*˜®j$Ðû÷žc††TÐ`À9‚—=]¸#¿QHâÔ0‘¡ìÇç;-Äð$*~õ,è¦Zõ¶FõY;NC«ì†Ép²Ú`±ññ‹Ý¿~ˆ Åùãšá¨ßn#ß/ú¶« Á¨wÈð$ÞýìX~ð‘(`á|û€Ú•Ëå)ǨUíBÞ.DöÏÛÛú' 8R%‘J ñúÃú j•ª~ó$ |4œÄîžµå)Ç®‚¤1NÑÝéÌÍÏôÝb¡B•ò¤C<žÔÅ1.ï¦ ávÿÓðîõß|ã•Û7ÏÙpçð V«…àäÉÙðãc…¡x„4Æþøã×pë—ߘœ˜zøðÑ“Ÿ¡õEÒÆEŸŠîç⣧Ÿ ÿÙú7ß™[^ÜÜÜØøñ'hq¥F¨ SXÄ<ÛÏ_nW^VnL¾ñKoï}pÿñÝÇúAˆTQO¹" Y áb¿<ž71®ž°,k|ûW•NŒ÷ÝúK!”R|ÅgùYA&“Éd2™Læïô~µÝîLLL¬¬¬”Kå8N¥”?£XõKïEoß¾S(ä,ËJÓt0ôûýwß}·ÝngK ÀPÊÄR ©B˜°8±JE, €¼8ü|;~¦˜Òã$G. M¡ÄH€` ‰Â@wž«ÇˆD Z¡¯À#’€š»xq°ý‚l3™à‹†y&’ÄaL» †Å“t¤ÿæèðþ0(0Ó”‚™Äd–ò©„ Ó¶†R(f€¨TÊ‚áB‚¤``I,“TƒQ0…>õc¦Åâ8F,S& .¶š¶‘³…!µ¡Âa‚(ý`çÙÙŽ (€£ €7aih1èØÃ³?~`@&$ )ƒ$0Ck"Û Plt÷ø'nwì”@%± 5·¡íE=)€FÿÇûßÿt&A hœ"Õ L"Ö€I°‹ÂHý“ùý‹Éaqè  [ÁI •Ð&;;Ï>ØÑ¸è©)x0LM‚T¾‰!}ôÝ}ûGãcÆñ ›XŒJ>ôàD ÅG§/>ýëà€R Ež˜”†°`&\€)|ÍF#•R!lIX¬ ÀCéÂŒ¡  BBƒAE˜2SÛÑ–/]X ©å–xº Áp#úpëcüŧHÕÅDIaBZ Œ€P8§ ðù¿úèsDÞ„²¡ T1B¤I˜"õøßÌÞ‡a‚X€…a"5(˜E,h܆! $Gç‡ÇßýÑŸŒÇ£ŽA ƒšy *–gÙu€ã8œóÑhÁp8 Ã0I!Ä믽úõ\ʲ%Îd2™L&“Éü]”ËeÊ–Ê¥2¥”iš”Òñ`òŸyü½{÷ÑAH)Ç ½^ïw÷wŸ?ž-&¢´ËL¤±¤0,É4lˆQ,"(Xž K#’•H ¨aZ&#š+É å,.gBH-h_ܵ íê2—€@Ù®czÆpÐáp(jª"„TA#aЀu©Ã—I¢A Ës•Œ=ÛÒDéPš9(MJ%a(ÀĦÄ𨓃„1" &@aäôG  &H±àôt øÀ) Ó€aPmj!#¥"­ALÀ²`ÛOuØåè€éXT—2“0-¸€€VÌ©”·JK ZA¥p]#…E}ÀPã…k+‘€ D) CÇoõ;  @%P)˜\^¤ð˜ìb>NE¦€‚¥1^(Ê "=îÀ²áçsA”&¡Œ fBðz½~~zŒD@»ˆ€€PhÍS™âbA© £ L-Ä(§ Ȱˆiq)@PêŠH€9qi™Ô2, J@D"Ñ M@‘N)•\@„ P)RLCr  J!(`(¤€BÄ¡&•€W€b æ ÄO'\(Ø®•ÆT (©´†Õ”AÑ‹§ …0€©MMœŸŸ¦¶"‚êH;ÐÛH‚R0€@Çá3=1´Í®10n2`Y–ã8Fƒ1Æ£”†Á0 4d2™L&“Édþþ™¦9Æù·œKÏócœó¯ 40F2nÚ=¾ÅuÝãããl% %¤E @AJE™’œÃù¢† €!RA>E`Z)ÅãñŠŽóGü€k×®=zô([LJHƒ2¢¡)ÉUt±Ñ*5Ì׫¿Þï/w÷Ñ$àÂDŒ« L\ä>x¸ýÆ-BH§ÓÙÞÜA;.'†$8 ‰Ü|¥œ•ÜòµË͹ÉùùÙ~·wIá›øæþ³—?ù«¿ ÷( ®[¶fß\™¸1k4nHBÈè|q´×;ú|·ÿ“®  %…°wùæJ}¾Z™*Ukå4Hz½à 4ÁHE €‹¥W'nÍU/U¼…ÆvœÎ“·†‡^}ü[J+H’ XÀÍ_|³qmydrî±Érev½ëÓ 4 ¸˜¸UçWÞJud»Žc¹7î\ãyïÇ÷þÅ Ò™œC ISh`ðÖs+o_¯/LÔ*%¦ûæöÖ‹Ý;[÷Op(‚‹NëÞÊëësk‹‚*MÙ¢y}ЋÚ‡/þ×÷àâI1À@n™Î\^\»¹îóŠ ¸P¸ýÎ+I?üäG~~޾€$€<.½³¶|cÙ,˜Íù‰…ѵ¤ww{/>Ü8þ`:Ñ±ÊÆãŒý4¡Ìq×udzŒ†L&“Éd2™ÌÏ‹r¹¼´´Ôl4(¥c„qKóŸy|»Ý­VËÂ0Ó˜-,œNÃhƒ@˜€ L³æ™Úµ™|³ò²wZ£f®2ÙlšEuÜÙz¦ŽÍ®0ãT¸eÔÖ›“·›…Ë~מŒÎ*•ŠS6òº&ñ°ÛÅ,øš¨$å¯Õë7&JSÅ„D»ñ~Îòª«µÙY·^¯ó½!rZôB˜@Ýzë5bÂ1œ`ØæLyÅrÂÙ+ïÜùlóûx0â\»A ‚•Û—½z¹ö°?”£˜Õ*%·oÞ:!‡›Ï`C*€‚VP¹Ô¨¬6x^ìD§6ò•z®Q¨Ûø<Æ·„…æ­¥¹o®ùóåÖùÎYtéÁÜí*›ÔÕâpTÜÆÉ™…÷–'.Í‹Q±*·’'Jb]û•WîZ§/cäPª²R¾ñîMwÞ5 %Œ&q±ÅìÒj©´—‹Œä¸B€Á\+®¾»>sk‰û8 :¯_(:Í|yÆœ;îî/¦K"p€"š×ê·&Íª×æ£aWò¹\i²É¦““CvŒG!¿BŠk%^çfU3Ë„Iµ¬dÞ˜ºåNÙ/Êû- 0°²áÌÔïΛså OÏÚ¶OçËS“µ‚éú'^¢Jb€˜È­•®¿ñ 5ˆ!©ŽH„T§¢T­Ü~ãö÷·~ˆ@_äq`W_¹âúN—ÇA É¡m;_»òÆÍ{‡îöÀËFZÆ+ß|µy{! ÑiÔÝn½Vö®–¼|ͳ†a3Ààÿê ;ñöüä­9§™;<;FqßðKyËŸmŸÍÏ’v 0ø5¬^¿¼rãŠ4Á]I¨aJ©¶(_­ôh+ØÐÏgTpW‹¯ÏV›ßß»ëšÖD¹Öôš¼wwÏâíZd†±|>¯µV_øòE( 4d2™L&“Édþþ? SZ…aŒ¢f³Y,9ç㜅WµZîv»ù|Þó¼ùùyãáåÙJ^° Á 0HCA”ÙÂú¥ßÙí ÎI$Š4êõR5oýÆþMÓ“n¤Ó Dδ+žt“ýÁN·ßU’:­óáAÉôW~i}éõK"Ð9RФ§eªJútxrØ?<톆oøu·Þ¼2Q( ºPf¥A†ˆœöê®òäiëôèp¿`åW'.»ÂÉMø…©Bûd˜Zé¸ÿÁw_«NÕ÷†/a賓SÁTͰ‡‚OO-ÔV—Z[týEŽ}caRºf:Œº{ÇQ/¨j/¯üù©9¯gnÒg½$L’UZlëñÑQûô¨7¨T¨ÔJ5ïÎ/ÝH^¿D¹2(Ma{¶•÷¤½¿¹ß‹‡ZËΰÇ*=¯hÌÜšª,”t$\Ë£†•Ò1J 7ÄÑá^û¼•wfµRp^Ð~ï¿ú/{»¹ºs|ÜÚù`joM5 :”QµZ=î÷Y24L hÛ”•¢Oˆì´Ž¶ÿê9|8Óž±¼lVì62J¼˜˜¥”g¹µ|ɳ\q’¶ž$Ïâù݅¥ÿ“½÷ø‘lËÎý¾½wá#2#ÒgVVeÙ[uïí뺛¦iž(ä{ÒAi(€à GqÀø?h&@š<¡ùš ÐÔ#Ù|m®7uËW¥«ô.2|ĉc·ÑàdUu7…îÕâ ‰@ÔÉ@ÄŽûìõíµ¾µÈiDeTg>Øç­`ÙÄ­«zEiNo|ЧèÎ8ç·7…&ÞúÝ7¿µñŸá'Ð`åæÒÈï—J¥‡¿×\?EëúèÖ›¿1êû×n\ÿþß>Ô ¤)Àð?þÏÿñ©ßÔ<çd{÷äÝ Øøt¯ù_ûƒd,/-Á8Á@ÂÁ·_µfËçÌßžnöÏ‘›K½;vaÁÚa‹Ÿú鶆±©Ze£’GÎèÄüÙI÷ ¦aýz%Uµˆ:Ž%ºq†þ¸4=œ*¦ïŽÞoŽ<ÔßY5¦k¾*Ó‡¡Ä’Q(”‚ج§ —¬ol±‡)N/·Ìª›/½µ*¼Í‹$ÿÞüÊBÙEˆ^³ó_7‘G{Ù¹zãf­6ÚüL„}Ñ7 Ó)š¹œÇO£à¼ÔÚ;Ä!ž‹Ï—–ÌBu0ìnÎ8‚Kxœ«˜Z‘ ;Ø9Ùþü1Ž1X<“1å–˜C—14eœ©®åI»Û|¾4yàÁ[™^š¹5]©üÆ¿ûêwÿ×w3çJÌàÒ—VŸ÷>ÝÚNZP0=3[uK£Hþ÷ÿñ?ü§'ß„$€Ž¯}íkœóv«{Ü:>ûä ¥;Ui”õ¢÷å¯~å[ÿü$ËhÁïýÁ{Ö9—¶mxúú7?„(¸]\­ÌÔ@µÎAW]§†”Ò6hÙ”£(蟜ìì%§ n]½Z¹z㜠Ã\µ4…¤„ Jb'j?¥t·»-îZ"'—ëóÂIzqt ss9ƒùQ©à)ÑptºwöQòoÀws,§Þþƒ7O!~aç9ÙT0öcËx¶£ ägÅû/“ ^Ê ¥Y» B¤BpÎc“æ&L˜0a„ ~!:N½^¿sçÎTmJÁSÕŸ•6{zÚô}ß¶íÌö<ûéºîd$H‚ˆÅDSAäË~~ñïä [»{{÷÷àÓhß;Ù98œš™õybÖò¢d2Ga† ·íýí§O7PZˆ> žzxðÁQ¼V-ûî{ŸïïC#ª­Ѩï÷ S]^š«UróõÊúýÏϾӄ ¤xöÙ– Ʀ£k9i²ºA/Q˜°)7É÷>y—u8 @ | <ÚþÒÍUëÎÊ* ]**?Üß|ôݧÈâýñúÖãíƒö¸§ÌÆ•ùÜbõ$îîvÇJ2Lü½­=ôÿK´ù|ƒèðjé ËÇ}5æE#?Wi…ýOž|¾½·(<ÿä©S±sÓÕÕ;Qÿ¸ÖOýDœòÖÑþèôxxÂq£w~Ö>=ØßÝž›­EdŽ•ùé< ‘$hµptà‡þx<ö£Pa›Žd‚§âìè ¡{ÔJ¢8#KÓ¡¹‹v$ÅRÉsõÇO6ßûý‹~çxï¤s: ‡Œ2¢ ©ªHU‘£~÷ô`wëÑ^ò èÔˆ:çë?ç„Å*ò é·{ÉÚªUvô¼qﻡÉáÀÞîúÝõÝdP[nÀSÇHú©O µX-¨*ÝÞ|¶ý­&ò@Ïï=|ö 5j%jŠPÀ¤½åÏ© ùk/ÝäòR’ „L†y„ &L˜0aÂ/DæÑP,ñ£Rú£E¿?B½>•õ¤ÇN@Çý~2’I’††l ÀÙI3çxk—®M­Íáø¨Yk+×X h¬ÄÝ€u1NTª¹ùBqª^Ÿ›Z®£hÀ"–n¬ÍÕg‘ð¨ãóa:[Y–‰Ñmù ÑÖÖÖnÜXS,`X…î’á°;TªsS%¯‘3jÍý³‚åݸ|u~ªèj7kS•ªçy„¼ˆÜzHÛñúúº¥¨ÓÕJíJ `½RjTj.Ñh˜‚!%BŽŽ‹F.éËnu@…eÑ$5UöQ_”Š|{k-‰l3d¼ËR/¾òÚꥫD5[í…ÖtáRØWmÁ¸YŸ]¼zçš» a¢Õæn-—sÔ²©á˜¹‚bÚƒ0><=;=oœ·®\¿6õN= é†‘+¢ &’Ú¦SÎ•Ë¹Š¥;`4ôë×oBš@ 2c-­¬€*;Û;áƒ&ºèúÂP*óÓ•Wsö„U\^¹²¶p©¤X²å‡G½ð´WÏU–f,Õ¦šnÕsÈ-à+˜Z\àª%ŒÕ‚¦<îŽZ'휓¿zåj©Ö€tÕÛ N/ U5Ç+J…BÉ2NIíÒRnidæ”fµX]Z¨/-ôãà¢Ñ£B°4V)XÀ¦Y[˶cÅ\¹ÕìfEÙõ,ºj™¦ TÀàj† …˜¦ $ØÞÞ™*ԮϭÖg/aåé·2eʆ[PL'õÓÄc¢ªK«—o½º‚ÐBÐCmjêwÞBêªéyùb±œË4ÍŒ£´×Ôn.ÂZ€ÜTcíòZÎÉ·ÏÓÖX ›kªPâ0e ÕùYëm T䦵ÕÕÕ•ùE¥èý_–ÁDh RJÎy–Ýp¡2d¥”Ò‰GÄ &L˜0a„_UU}ßWEÓ4Ƹ뺔ҟáÑðrÏê8Žã8 ÃH’d2’ˆ„àÜÔ-0( 8ÝßÚ½ôÖÂiçøöåÛÏYáô¨yãÆíœ‘;>;¶ Ëõ$SÂeÄÃ01Un¸Å©ÆJø*ñ}¿ä§¼iÑáã㮥¥Bm|Nun*2!)†Ã¡båÊ\¿ÖªOϸ¹¯™ËçƒsP,­,WÔ¢6N·‹²… IDATï>¾èÇI†§O6}Í%æô­ë­êÑñÞÉRcqqz¡hæ÷îïÞ=„K1ˆðàïþë­_ÿ³„±×^ÿµƒýMâu*ž74’t0ˆSØQI‘\KôYZv{½~èÖS»Xl¼²8ší(ž½°|9qw¬%ª¥Ù’#M#×›jõÚ¹BqvéÊÈX/o]½:ŽuÍò[ã4à–j)#(ŽâUóOó¯Œ}¤bÊ›vI^Žéàxˆbìy³©ÚóWÖúò!K£j¹Qóª–Oú'¡Õe¶åF 7¨Ž°.WÅÊü•¦sÞ::X½y³èæã±ð;cêsGuMª'ŠÃCf¤†nZ³ù™áRÈjÃj£¾:½DC>«Tש&BÁ´„ÚÖ^:`Ž[»ºÔ,îÚyoúÒ•„û'íŸ>pÑù¢ç¶–ßZ²4såÎõçæ3Ï-,-.Y‰A8Ý}¶‹>À€`b÷ÙÞÍÙW=™YYˆÔˆ*J V(Wˆ·þl!¢q 8xüh½°:=U)ÉÆ ‚ø”¿þëo2ÈHï´ÆãæØ#ž©š*Õt] #F-ÍtJµ+x&šŸšÑ¼â“õ]b؉È4Õ5U 6ì UϬ֦*ÅMµ3÷˜ZÖln΅ǃP)ó¤js›'rà äe5Wj¬:Ö#ã¥k×ÖnåíÒh¿·ùÁc„€“eæ—&4ü´tBÈDh˜0a„ &L˜ð áûþææf±Xœ™™±L';àú*C¯7(óq†EQ·Ûm4?»Úâ‹ P  €`´½~ÐÞ>]º6ßj¶_[z3êÙiËskÕµG}6~ÜäÃ8Ö<¶ÑX[^¼y¹R\λ3í³¦ž’ª¬š#lôƒ³q` U5Ëšq©œ[«˜µ‚]ÐMßTÝ+æMä“ívûîI{o 1Ûq¬ˆuèÕÈV©V¸V\«¡¢A-«•ŠZ:è·¶[HØ@ˆÍ{Oo}euÅš£ßúµ/1* bÊaâpõƒO^|(`n÷ƒ“A£XŒ 7Sæ ™™/Ø¥Áéèðäè H@3ы£a¡lKžŸ;uÃÌÙ†UáC¥·ÝÞÒŒš!‘ªëæT‹æV,깩IÑð¼e«6=CCG÷ÅèØ?Ø8‹ŽÎ!ϳrö(Ô¾ôå7ºÁ }Ú¹ýÖ× žÕ йFÜŽZŸmœîœêºM‰šÈtáòüÒ—g‡'ÃËîêòÚòx4vµü¬6s²~òéAž.7Žý!Úǽ $*ר]œ»tƒr9m—Ê(‡{ýágÇáñHÚ^7{¹FéÎW¿T^­7îÈYÕW)3jFBGMÿàÞë%ͳ§¯Eõ« ó—––ì¯Q‡¾­k…±7S¨}úà£Íà’R=ˆ˜Ï—g¦ß¼LJJ¾èˆJÙÒ¨š›ŒÖÝS¨@ @ŒÇï>ºvërÍ.4Q’‚™›©ÎGãæqëhód >Aðù‡æ^]ÂY^^”«ªš(.49ˆÖ?¼‡H/²ZNöšƒÃVè/ºuoÍzffë+©.ÛÝÎÑÃýþæ1¤M]ð^yçݳœQ›¥àrº:mP[¶ƒÎ^gçÙóQ§ãغI*Ø×nÝZ»¾~|É^iÌÏÚ–UvJ¼mŸlìåc#ñÃa«Eoþæª3]mŽ¥+wÝœ.7d+ FÝÇÊK鰉̿Š=‚ &L˜0a„ ¿I’8Ž3;;;=5Çi†Qô³üÖŠÅ<€L0M³Ñh°,k2’ˆ„EK„&HÊ@.  Åžßßh,~ÙeV|êÄœ³I=ºÿhã£G¸0@LÀÁÉp¿ª×œYKƒ¾¢-=ÇHp²³»ûáîù½>R@£ˆ„¯#¸Ñ¬ZoNæ(QF!«V«Q3<ÚÛ=xxÔ{ÔÁ)ÒdØ'€†í®ïJ[½R·sÖhèŠž× Ã}x0 ÑvüôÓû—~ó2Éq¡‰"œÔ,&æÆûÚ›-0@Ñ IH†!ôèæ×®ù4®VZœ–:=u?}ïÓÞón–áo˜NÜáÿ¿ÿí[ÿÝ[Fh­TwÃ]K+8(4šÏþëÜ"†ÔôQt âö¨¤ØS7«ÆÔ•!éc¬9=í|£uøùóhóY…Êh¿Ð¤‘~ãK·Öæn²$澤±Ùi>Þ>ýð}$4Èaîo˜‘V^(¦ò¹r>5BÊùéƒÿ^×k ¤$)âçþÑãÃBZž^)ä\ 4/my·Ÿî¼;Úd  ¡}ÚÚ¦[ÕB½è¨N*RDzÃfp¸¾ÿì£ÇìQ„ë‚ta`t:.¤ÅúÊܼᤓ)£}±qÿÙó6¢§)@b¤lµ¦çV4iL{Õ²gs‹fÚÙëùχð¡9Å4AU cùLlÝÛšºÝˆxhä5CÕ%dü郧8<«0úPd|àßÿìÞÒW—µŠ&dÈ(lÓJÚÑá§›ãͲv16E$ÀÑ;h))¯.Õ®\¾$#hÅ<ŒƒýnÿÃc¬'à‰@ bãÚ×ÖÌ¢3è î€*m™{ÿûïÅë]„;)€ãI÷A¥B½VÑJÔÐLÅ >Îvº{îô?ë'/j´`ÐfI@7æË ©ñ4áç¼»ÕF›cS" ø¤ëÄÏ©RŠ5ƒ$?JvÙˇ‰Ð0a„ &L˜0á¢T*---MOMgòA–X›mCâõýþ0—s-Ë:99ÉT†õõõ‰äÅn^B%Qj ’2˜Ž‘o±óƒ'ÿÛ'¯üûkËS«‚% ä»ï~÷üé$ â"Ôâ{ƒõÝ÷\ëí·ßVuí<;x¾q~ððNÅEêAfKo@lˆÏŸßÛºùìöÛ·j3SÍfóÞÖýÝGû¼t$8UUCƒ&MDrøù76—ßšëÑà˜÷Å”V·äóo<Ä&%“ * °óÁóÅ› yYñ•À³Þhl$ÊɃ&Î/¬˜+RÕ¤<í|¦|[ðf®Îߺ~ëþ??xÿÝÂ&2¿IƒÃá €áƒŽ>X?j¼Þ˜¹¹¨-F묟¯Ÿ„g14 ËS‡1ƒ$vÿ—?Þ¾óÖN˜këýn÷áß~Šà €$ðÏZõyýÒõÕk·®AtÿÇ'»§ ¨Ã(¸U„DÑbÞŠ÷þϧøKwæ^{ãöhà?Ù=Û{º;ÚŒ¼p0(lÍd÷ï·vÿaëæoݸzm{›‡û‡ÇÏÚ¨€N‘ÄïßÛþ§ÆµÅÛo¼Z™ªî¬?||úì# }ñ&3ëÐmÜýË¿±Ws×^¿<½0Äþö“íƒOŽqD°bB˜™ SäŸÿãýß\« ‚!±cé(%a¼q÷YÞ§¾0áDÉ 6¿ûdùË+Q˜0'’qTL•»ÿtÉ ‘+KTî½ÿHHgôµ/¿ÆªnäÇ÷ÿï pEW˜*´‚ýÃÙçwÏ6®V®^žjÔGýá?ø}qoˆˆ 0d*FúßÙûNq¥|íö­…å¥~§ýð³ûGë;áB5p  ˆ“ûGϾ|³1{ijõÖJ§Ûzº¾}ôñ±B(ïIS±¸H8Yg~YBƒ¢(ô‡…)_^0&L˜0a„ &üBûÏlʹ ‚`<OOOçóyƘ¦i?¸*‹$ ¹¬³Ú׿þõ»wï^½zu8¦i:Ê—ú4I‰!P ä¬\kx.Nü§§’§Ð @•Q]c‰h# Eôÿ^°,­6 DªCRHötôÉÓï|‚ï€RvµJ@‚R(*ÒñEÈ=º½ûð“‹€VÉ…Y e8œ‹0ˆ@4DcÖM{Ó×ꌢû쬹HA#±1  :ÐKS3ÇMI(IÄr¾Žb¡0ìŒUÐ"ÍFáðao¸Õ;úîÁÇä½,… Ð*uGÍ©à =œ|çääÝØ† L@•\ð.3€˜m@û´ýéýB•à\fB †Ð)!TI&A¡L`€d?yºþäé~ïBӘƖ?H‘*)`ˆÝýÃÝ¿;„¤¸(-Q)ˆ4F,&`ê`飿{üèo»õ‡ä‡z"¤5 ÐÇÉ{{'ì]ô§Lb@1ó% ]3TÓD€à³áÝÇŸ©6R†l¬,CS"GI n¨nlø8§*ш3‰O’qDb†€*V”ÀP4ÂÍT“~T4ì.éÁR U!~šW\œÃ¶” ÏáªHYö®ÒS¨&:~òÞ·YFfÌa¤P@M˜q’* ‰ƒ:p†q·ÿðƒO~`Ð(„€Ì&˜¤@½{÷|ç}ñ‹Ë^[À— $EʤÝNºŸž<üÆ=8Ùÿ‚«×Ì4Š&]'þ$…¤?¶Â”R I¤”BàE{Kú3’ÔŸfœ)?ãùó{øÉ¯CÄOS²'LøUÀ¶íÑhD)5 c4 …8Ž£(š”‰NøaLÓ º®g#ëú>G£ÑòòòÑÑÑììlvÁ`0àyž¦iƒÁ ‚F£Çq¦i&IB)eŒ¥ijš¦çyBˆÌ>m2ÈÿÆoÙRþÄ'3Õÿ‡”²CÏó†Ã¡¦iÃáжíìÉŸv_ž0áW!ðñGŸºnîúõë…B‰1Ñï÷DeøQ¹A¡ªª”ò›ßüæËć7Þxc2’A$91Ôaë–Ë}õ¬ß®Ôªía ñ‹¨5&”B0tt@8À ¡(Š Š9‡8–Ù"\| @ ²ãbA!4@{Np€RIÀ¥D–1 &@ "4  ˆ”kùÎù‚Z¶QÖ|AJ§\+·猊jµJö0Ò #á:ŽŸö¡^|–²Þ{Q¼bé¨yàx.zƒÆÑëø€áÂüe§z0n±¬…d p’‚I !‘ ÿ·hP(\š<âJ$©Â@ ˆ¡R=g†=P R™…îð¡’Ä (r'·Î€ôxâTk4¹„iQšZ®†iéQ00LûÒ°‡?"®A …Pè…|@ap•@ ûÔ"Z*bι$ìB"¸èš).Ô h*$GJ!%¤ Ìt`§ð9!ãÄ#•fš"–ˆ$@ú)Ô€fiê8¡ÁRÓä:M«R¡R(>C…€'D¹pU7êv`":kÒ[zâ$ª?ªYch Eª dœ™‹ …cåã^ @:Ucàá bA¡R-b‚‚Â2Ü0õ/>šö"}F€0Ø‚Rh1DB% Â!EÖÕÂЉJhr™)2š]CÈÀ%S@UP@•` }ñšÞÅ’/¤Ý„ئL& ?{=Š¢)ŠF)%D!P(U…r)ª(%ªªJEÑ‘/Ò~.dPª(J¶ažDS¾Ð„a˜5eÑuÝ0Œ£££¹¹¹‰:6áÇÐ4-ŸÏgS%Kຮ¢(™Pu~~Îãœ{ž§(Êùùyæ£^­VONN4McŒ…aè8Ž¢(Y0 {AMÓ&BÃÆX&@H)é ²NQ;;;Œ±jµZ*•Þ}÷Ýl¾ÁÄ&{¯.N§^Ÿ¹téR±X ‚€16‘ì~i’€Aº¦9v L1ô}*tÅ¢‰…ü"^ÍŽÖ(TJÁáPD ¨*™ÝÀE5;^ü  11]×…iƒÅ23ËËB5êØ ŠÆ`‚Àçàâ¢D§5€ Ò$TMúaÂRa¹º à Â"Húx<€$€  ý@ƒâ‘Ô±ÜpèC¾H ÐU3Jc¤7îÑì-©€çb!¾x{à€¦ƒ§D´QºHš–|I‘ &âapt¨#ž Õ‘Ž¥™³£±? 8–KR4@$0¡\)èºî¶E°EC]¡†áh!êh|íí“­ lv}6Îì ¼T±¨X¸j'° Èaù[v{°s‚&Dš–SW˜0O¡¨€+ ¹Ë£a–^‘yp X@ pQ¼¹èåÝÓƒ£t»½¨°„LÄŒ 6 Cz¨T*Bˆó³.º‹asŽÔg\ØpDL'ÜÍ9ídHì< @ E—,ˆm× ¢ à Ö© b…L7ÛD¦|ˆ9Û)M…#L #èʬª-U™ªÔï46ÞýÍÌHB ‰$…é UÀ ¢p0€y›ÚšèpŽ0EhF!ú i,S bè«ÅÆÂ\¿;è?Þax!ÖH"8’±L@tÀDé+‹ ¢ûÙ  ŒCUªz(ÙdYú¥ò27S¹™† “’ !†Ã¡a•JÅuÝ?ýÓ?¢(ŸÏOgÂK¢(*•J½^OÓ4Bˆã8ívÛqœ^¯×l6çææTUÍÒÒ4%„Aày^fŸ>’$Éž÷E‰ã(PDÂb((ÜÌ-½ºÐX˜™)ÎÓĈGéù óàùý£GÏåf2Á,à ê¯-̬4ÜœcQÓdfÜJNíÜ}>Üé¤I” …AY4fn5ænΗ‹fÞF~g|²qvðpŸoEè)g :P›†÷ʼ}}Þ^k83e‘²ð|pòÑc¾ß=x÷LSaF<Œå P¯0@¸â©yF‘&'·ùé8ˆ‡.@áÜΓ’d ƒ¤QgØÈÕ%ªW ­¨ŸÙ[rq¤P˜=ç\þ›iEj5mþÚü ×ïï÷šëg'NÓçQ"ÑG  ¿\Z~m¹ñJ]Ÿ2B=¢1Woßènœ­?|ÚÞ Ár *PEõõË—ï\·+ž¢P1ìFÇ­÷ž†÷û ƒªC˜(¦ß¬_þÝ·Gº¼0ß¹·º¹„<ýÞG­ïŸ¦ w„H¤HÂÊ_Ï-TËóSSõš‚,8éž>Ýݸ!âÙ™¼ûZyéõÅ™« ¯îè9­ÛîtNºû÷[N± ";KVçéâ«ó·.çUh rmô`ÿñf¸/²6P° þÚ|}®vuf¶æãg§gëÏO7N±>̈  qyÊVÕ–Ï 9–Žå ¡T®çÛï˜ 9†Ê £ôªKrfÑñÆ©à†&-EÔ©Wš;‚q•[‚sÄ1ÊKæõ¯ÞDÙVëníÊ\~©œïâüéÎæãÍð\‚‹‹Äõ¦7}eqéÆåÊü”n*#¿°·¾zþ½-´) j3×Vß¾­äÝvÀEÜžol}òp¼‚@âÅûŒ:sëÊÌEw¦Øvô• ~6æãƒïª`“M×/™®d4L˜pAfp†a–“|xxÀqœ‰Õ„’$aŒe•óžçBÂ0œ-—ËI’˜¦™Ù˜A`F’$q‡Ã^¯wåÊ•Á` „ÈårYž$ybzfY-÷ÂnA1$ L`Îe¯v«Tµãø”§¬\¶¯¾s-®œ<>‹FPiÊ(  éoý‡¯¥FœŒùt­Î¨èuú–iþÆÿðkß9þ¿pMQÓ„eÕ —¾´lÏYp•$x/p\Jlgåæ6ÚêwŒƒa–žpé·nTïÌçÝ1µ’#5¯–.å„Âzþ Fè#ë"<ô+µ`/Z±¢v*“å•ŶèCt/ì*!€yZ¸\ôVr)MGáXÕ ×õJ¾šˆ•õƒ»qøYVËï,ó*WŠÆ³ö“\.W-•4?Yæ[Ÿž¦>`)I–¢oãú[·¦®ÎJOy¾¿å8v¥+äò~êÑŽ‚c ¨ªðV½ÊÕ’>¯ÔÁ8 ʳEÇr¼ÐkuO1†/Ê+J¨Ýª-¼¹àÎx=Þ†c[WË9wîK³ý´z_˜}–€Yíæï¼RŸ«å$ºÍ6UHýÖ´µP>š=x°÷=!„`@@‘_Âå/­Q‹šÄ´™5:ëMå§$äÕ/ß~÷Óï!¤ˆG]h€‡Õß|å©\éhxêš¡˜NÕ¿=ß|¸ƒç™]·~ûÆÜÛóC3Mtz<:j\n¨í¡ÏmÅ Ô‹ª™ê©…Û‹nÝ;$£¤R-ÔoÔݪ}Þmc³‡æ‹d"òWìù7æÔµ›ö¢¸åÙÎÔJÑÈÏ ¢³ÝÑ>ÆY¼ ˜@C1 kÉ1jº?ËîkS¯¶Ÿ›ó8øðêH|LÚ[þ+ Г!˜ðEæøø8ŸÏçr9Û¶ÌÍÍ™¦™Å~“Á™ðMÓ2ß2]׎ŽÇÉ YŽŽ\ׇªÕêÙÙ™¢(aær¹\.EQVI‘ùœeV‘™HVœ¯ªª"ŽãIjñÛ¶LhHÓTÑëõ:N¿ßO’DÓ´,Zk4a81¯šð«K’$ŽãÌÎÎNOOÇq†aE“aùyB0ADÂb¨H’Š0V¹«³¬’ö‚^ëì ±j¥>½0=?½`Õí©¯•Mi޹߉ºÂ•¹FÎ,Yœ¦J¤õƒQ²ŠYr–í…k_]S¡[ª1 ý„DVÅÉ5r‘šìŸíœV*•ùúÜÌ•¹\.×[í)É›EO×{-§å–ëF£0µZ­K3½ú’#5³Q,¯8§ã!ãÐ[«_›Q ªU3†ƒðɧO…/]Zò¦ÝAõN­Õ¸÷îw ` •Wæ“*ícpÞ=ÜÜÙh4—æV×Þ¸25_?»Kâ9…(Š$aFÎpŠÆƒ~¯ÉÐ4Íq!õ^­Þ^ykñ+ ÇqUÝ %ƒ¥kyw,{§Íf篆—w\©Ë¿~-×pé8&13Ñ •ºÖôÚâFûDsu¿ÝT0¢Tw9]º1×úw;s:$35ÔW¼b9ÇE´½µ£84àI/M\Ï,]¯Þª¾¦¦ÒµŠöÀ Õ¥)»lžŽš›{[gí³×®ÝÂå;kF#nE7lÅ%TFZl•-£” e8õŠ¢U¶ðÆ¢VÓº¯·XÂj…¶£•‘†I§Ûnll뺱vå–Y,——«˜ŽSD1``áÍ+…µF—Œ£A4nŽÆ±(,tÇ›º<›ûRaøA_,˜w*ù+3æÛ~èïµ|b”ë ­èægù7–Žw„Prùe½öZ=NûQû¼;8Ü8¿}óvmÆ+gî,[ãÎPãªã¸ša%T2ÖW¦c¤­“Ó^¯CôÙÙéºÙÈý7ÿþ·†Í^èL•Š(׫õKóûç§JœÈ($óÅ›µ®þÎÍ©›SšB©¤q*b&­œ›«•5;ûO·žLת7V®êZpòXDÐzÑvÂ/é:ñC'BÄ/4óóó™Kß`0Èzôz½b±81ç›ðÃd"^Û IDAT§sŠ¢ÄqüñÇB ÃÐuÝqœýýýï~÷»¿ýÛ¿ý—ù—KKKÇÇÇÅbñõ×_¿~ýúÜÜÜ_üÅ_¤iš¦i±XüÃ?üÃ¥¥¥J¥†aCfÞ“ùöÅÄ÷ýŸX:Q©Tz½^’$™š=‚`âå1áW™R©´´´4==EÉ/ÍM'óöç#JBÛ¶@$T J `íÎuXè†íæÎþö!†8Ÿ^Î]qf]sÅ|öø±£ØB!Ä ù|Ñ6 7›ÍÍïAÓæõ[׿,—v:í 4(p¨¦ÔSGlÔk ·Îýýθ[±g/zÄ&rJ†, 1>©¨†EFw¼³¿¿¹=Þ÷5útóÚÒ5Ó³g_]íœÞÇ @θöêntnÅf»98|w*<ÏStî'ý«o^n}|žœEª Ù›o¿ÁÌdŒäù~³»}ªœÅÚ/_¹nÅú¥Ågs±Î@ õ;+dÊèƒýͽÓãø„©¾æ|\g jý€ÇªÞŠ¢ÈsrõRMêzk¯ýôÞÓè$„ŽÚï\*ÌT‹Ón¤+Q;ê±.á4Ž’²W­¸éwNÚŸî\¾3wóÎ+ë'ëF£à‡œ(*ɹm“Ó‡‹ ÷>ýèü“Ãs «7æWoß"<4ª& Â1LÀÃí/ݮ佈Y»õðÛÏ`£¸\ºöÊÍÊB5ªˆv«{«”0“9ŽgF·/v·÷vO0 ö’#mÕÊ7ЍÊDñ /:‘`£”/Vª9~¸±ùäÝ8‡r•Ü~ýµ£ç'DU”y]aTK ±~ì•5ÿü°wpöÎ¥ãvº'E]³kîÜo¾rø2ÓnfPzýR»ˆýv¼sÔÝÜq\—…ìòí;‰ ßúÍ·þñ£ÿ¢+à Å«¿ñV—Dq<:ÝÞ8Ý:b¬’èŠBzéËßßa#B@ÃüW^ ªò$Øj ›‡[gr;†Þ¶kð4ÍPOcýx(>OÄt­Ñ·;³ã¨ÝÛœÓîÂT¡’øPUiMÒVSU<ìËÖáAۢ꓇GÆpqéµÕ«×zùt£Ó±MÝÔ ¦E Ïu-~ëüìày´ÑÜ;lò^omñz¨¥×~ëÎÓoރē5æ— ¥M.)¥ 䥿õDh˜ð…¦Ýn«ªjYVVN?77'¥œä±Oø12?ÎyÇŸþy±X¬Õj†aDQ”¦éÁÁÁ÷¾÷½?þã?ö<ïë_ÿzv”÷Á|ó›ßü“?ù)å_ýÕ_iš¶³³óñÇ»®[*•8çYÕ¬÷ÛOì}8áß<Ù·ÿ2$ËîÐBˆããcMÓ²B÷¬0Ç4ͬ$g2h~Å÷šœó Æãñôôt>ŸgŒýä—þ%’$)zy¢@"ky@WæüØo¥íÓÞz€HïlŸ=/ÛeËÑ´LðP€)R•œÉQÛ?ÙmBQ0àˆ¢ w35CÕ¥¡9æz2ǦfåírBãÐNNÎûg8„<ôw•=Ó4Íœ [BA:îD¾Yª‘‚¥Dìü 9>òqŽ”`¿³·Ti¸åÜìåÅï߇Ÿhs—†3êwï}»»Ñ‡ (Øþäþq¿ð믿U)—Ié=q$˹B'j߸qí^zo‡ÝÍ=¬ƒ°38Ë•ë¥)§Î.Z¼cÚ×™,ÐÄ‹#>fª .!ʰ-•n§u´·…€ÎOweNœnñÄf†PmE×…¡;úQóèäð ½}Šp0î´Ÿo®çW–˜g﫚)ˆˆãðj¥`Y¹{÷?>½ hb‹ÌVŠ–c¾öÎëÛŸÒmP ¤ÍÍÏŒý~{xv¼³  ·ÛÝÊoD&ç ˜q(CMKU Ó¶ôÚƒƒƒàèŽ4Û6-F£ÆZ@IY¬Î dÐÝožï‚:xGÞ}ðÙÍ/¿) =Œ“v»§ “Šæ¬²cé>¢Í½íãû {ÔÜ]¼’¬,ݸõ¥[‡ß|€¬E•X3å]9<÷Ò½}<ÁxÅ·ü¹ëׇþW¯ßùG J`šH€µÛ×ÿáè#E‹Ž6ŽÅ0–=ó,WÕM×YYº†S¨ª¸üÆ­sìí´w{½!¶€ŽŸìö—¥î:%Ûã œ …h¶fiT³óöÖÎó­õg8JÑÃÀ:ôh¾P*—Šý(<‹G-¿Ð<ݵ-•*÷]Ù4 ÅÞÞ¶p¨35ݸ¹xrzÄÆXÂ9·˜ÎG㳓ÓS$@„ÃôøÆê ®½qëé7ïe¿>á—»Oþ‰ ô§ñÓ^(ó¼0{ø¡×UUUQB.š[dà&Öý~Å1 CÓ´,€Ôu½ÙlZ–59~™ðcpÎUUµm»X,ŽÇãÏ>û¬ßïÇãÑh¤(Ê·¾õ­¹¹¹^¯Ç1çܶír¹üGôG„ß÷ Ãèt:®ëf-'²Õ2Ó²Ås2Â_LäO!k’jYVEŽãd¡ÚDe˜ð+ŽïûŸ|òÉûï¿oÛv¥R‡ÿÏÒ‰,'Û@f[Í솛íG£Q¹\žŒdFæ:LÉ|ëÃèõz–eåóù|>1ÇÉårš¦Åa”Õ^I.ˆŠ¢xžW­VrpÀD©P,Ky×ÓTõ¢Årš&a”ÝàË&¶°Q)–ªåŠišQùƒ¡dܵlMÓ²{œëºÂ•Š•ÝÚÒ4½èsÇá0MÓ~¿¿¶¶†ìý3€`mm­ßïû¾/¡ÛzØÇ Ó"Çq×à&, ¶mg{3ß÷€èÈn¸RJµâ ض‘]™E"Œ±`äÇA(R¦+ªëº…B6 êÔ”çy”Rž2–$,IÓ8Îü¹lÃô\*tU«•+,IFýcÙ?ý±çy¾ï !Ç!yà Ð17k ÆUªÄqœ¶Úà4›áÓÓÓ¦i" ‡\.—u"„dŸN0®€\|§žHÏÈ9®iRÊ(Šâ0â)»P¢ 1 öm0  $(• /ÿš.¢0.x’f5›årÙ*_´œš*‹Eß÷/þ*KÆRJÙï÷«Õ*t9 Fi¾Òï÷K¥R«Õ!ÈNß^ÚW .Ò4µ,+SÃÑ„¥ 8??Ï̆4€ 0MS×uJ©`œ%I„QAÐív+ÅÒÜììEðo!çzœó^¯—û±8œëº®iZ𦋋 @òù¼¦iaŽÇc˲¤”a¦Q¬RŶ,Û0¡= Œ\Eãœ888@yR7ñÿj’ÅûBü öÏ~âGÇ2Ýà_¯ëÄ$H›0a¿=AªÓé4Á`Ïçÿ÷ÿßøÆŸýÙŸU*•oûÛKKK=z"ÆqœJ¯¬¬xž7 þüÏÿâ^*GDMŒå™KI”r&Mfêš)KèOÛlì”˹rŽñ„ LYUB*QtûýhZ9¥ÏåŠuv):×O+Nauî²Tt¿ïo=x†S€ ÊîúsquìÌ:¯¿óÖãG‰Ê×^¹âèö°Ó==;1æï½÷Aå÷оÏ.­öH+}ÞºziÍq,×°Ž÷ÎøùPÏ#é@¶ñüñ&[°r‹ÎÕå«]óèøéYiªX,lÕ ÂÄM[q4OFÊXU8U(uu»8•O܈äšWµEΫʘZ©m+¦FôTá5­¢m‹Ä¡ºëjmvÎË—Â$åÝ‘ÍIͦ”ŽG¾°\Ñ™š¿âR{ÇÛJü 43_ŸÆÁîÓç8R`(øüîý_ûÝ/ÃàÓ KçéC©¡R«ݲ걩].Êv%MS*MW‹V®^¯‡Aœôå9'oÇqH˜œ¶jªFÓ4 ýÖÙÑÜâÒlm>/¸t‹Ã•Ë ·^õ¬Û ± ¹Î Ër]bhÔ„h¶æ–jõ¹Ñ9mÙž=;³\,Õ4é|ûï¿ 4=œ>y¾òæ|;ì/®]ÙKŸTóÅÙù9EÓK^ññûwÁ2p Ø|ø¬q­ -ÈÝ\;³÷á4––l¯èeëÁ80LÁGinì_½¶ä”¤î_;¤gê첩ç«j,ŸÔ¶¨a „zfŽªJReƒÅÑÐkOWŠåzÃΗ¤®F¾!´9o:RxЉ„.óžU½4nŽÎ£®3e\¿|£þ³÷fOveç•ßÚ{ŸùÜyΛs&˜j@ d±8h *‚bD‹¶’Épø/¬FX!=é–úÁëA ¹ÃjµDuKM‰YUb‹5r@ΙwžÎ<í퇓eÚ–üÐìv1îï ¸¸¸™¹OÞs÷·öúÖ·¸Ø³¬£ããØ ê…R¶œABCð¤P©]ºAÖÉ#Õ$ó‹«5£³ì½õ{èàtp攟>ÿÉv·Ï<ÿôLýÀS¦LùYÙó%I¢(ŠeY7oÞüÎw¾sëÖ­ .|ûÛßþÆ7¾ñàÁƒF£‘>§ßï§åry8ÖëõßÿýßÏçó»»»¹\.m¸x&.L‡ÌO™2ågÆØÜÜ\©Tð̶ ›Í¦{Â4øVQI’$Iêõz•J%Ûú,÷´P(LWòNdY9­ˆˆŒ$Ú}¸½ò¼¹˜©i¨dy$sUÃ7ÚÖ½o¹ë“¬0|â[ÂVJJs­Y]¬5ÖŠ6íH³žo4‹M%”:»ìoâ?ùáž B)(•™òÙrv&-R+¤R©4k MèÇ[GëûþÀ3`¨+åi¾‘Ïš¬–çk&Ïט ™ÓŠ?ö¤56€Äþàý_û¯{‡¥jéüsçB–”ª%îEkõóù¿ÿ9|ÄA6ßÛ\ýò/€;¹£fGD[½t>ðyìú‡·ÑBˆá¶œäÄ-/4Õ•¦ËŒÍÎÎÎTf—[›Çý'=ß $¢Ê²ldIfÑœ?Ó”.-//. ¬ç|®´YQgïh¼½ç]UR Évšõ…µÕ|µ83·ª9]¦J6oùÐź{<:hÕrEб=./4+7›=fm±*›£~O­Ï*ùFk÷áÇo®ÃE>gŽ'²Ø½óøÕ_x]¨róâ¥ÜÚB"bÉ:“ý¶î ÙÐR…*+Š5v¹K–he©2;ÛÈÕŒ0E©äŠÔ§‡Ú‡“q”•rŠ&7›y]‰|ßU”ÜùË7½Ð }ÿÁG_¼øÜööFûÁ¶k{”©²¢*Ù¬R63(ɪÑ\»4¿”hš®*YËJú­–÷ÞàC¢ˆûh¿÷ðò‹÷¤åyš¸E#_¯Ö=—‹qðð‡ëàˆ8€·Þ|ïs«¿È%¹tvšä2½¼¸ÄÝ@ñØ»ÿBÀƒÄw“ÇþI}I)\®6”…ês+“Vpyíb’8V·×Þ=œDv¤0™ÈŠOxóÌr¡Q-åëW¯ÂÈW¨àÇc/&On;ƒA>g2 ?öæÎ,®Þ\{´¿³´riù¬ÌÀHÄNaÒé‡ýþ19æ‚Iš13?7wv9Û¬Õš(ä’(\]%È(:¾µ‡Lï/ŸB¡ÿÄÎþaÚx– ,²“Å/ͼðsŸÕr…aìdTž))&¤öÝ'G?Ú>¹3„ Èu0‹/\ý !'ŠçóÀ'.=Ÿj²ÄX˜äeô-´î ooi«Y_ò³E™3Pä%íÎ÷>Ä> dQŒäãqëÎVùBÁ«K¤j@Rm ;l¯÷¼,8ÈQ*8/ÍsäÕêš!ƒåM¹Ä‡m+p÷aoïöãÑ&àŠ 87{•Œh˜p!Q]É隬2 þêßþ;lú˜À£À uwkríÂ¥ ÚQÈ@Š’º“[·ì~ïYÀ€zW†Ü—jkóÄT/½îÙܸµuâoÅ$9]Ó8¶O›Ðð¬Ñî'Ô‡)S¦LùT†¡$I¾ï{žwáÂ…ñx|þüùR©ôíoûÒ¥KQ---år¹³gϦ]j·nÝò}ÿæÍ›³³³333'''QU*ÆX’$©£8M‡é O™2åg@hH›&¢(J»Ã8çQ¥ÃS~\@SjFÀü,‰9U%ŽŽŽÇ™®äé玤œÄ´˜û*SCÀž|°Óí·fšgšçòjŸ{ÛO6×±ŒÀ¸’°*ÐBòA´>ºw4{ø™Ï¾¹Ñ¨Óì Nî·½->d¨DÐ0ða<~|8¬^®ÎœŸ)6 öxr¸{Ò¾ÛÆàp Y€´1~0”ÍN6QE^Müp4 >ùofÆ6¤ð„Ä! Ù÷ÿç7¿ú¯ÿÕ@¹ƒg•|YTþýÿôo1…àŠ)‡"ǽ÷ÒW¯ç•¬-¬R£rÐë5¥ò½wî£ D,iQ£¼¹ìÂ… ) :W:¶;íã{-l!H€¢žaŒYío:»É¶7²‹gÊZE5™yë{·íýÑáÖc€ 0€÷ĶûÀ>ñòõb®”QTÖmµ7öÛ €JU FëøQÿÙWΙýĨÂ0lwúö^«÷`¨£áPB Ðpë¯ß¤‹•Êbã‹?÷…Ñp¸óÁîîG£{m Aš¥â°8ŽÝwßßx÷ýï¾Û¸Ö\ºº¸¸0¿óñöÁÖáàöG€’Çb+нïœìÝù³Ú•ÅK/??³0×Ý=¼sw}ïÖãäÖíð°ðýßûœ«¼xñÒjs>‰âÍÝ;|ŒÍQ7É$‚X¼ó7ÿøÆÿKCi¨Wu¿ï¬Ñªº°ûWOR# ÕråhÐÁÖ[·j3¯¨~T‘b)î»Køƒu¸€\!;Ž;='`øÞŸ~°²¹˜Y¬•Î)s—v<Þ|çáhëp´ûÔMàðÞ¿~ Kìük/®\<£éhoÿîíÃõ!:@$€8ý5h¿çþýö[µK›g¯_©/,ôNÚwný¨õh]˜€‚ ÑGΣwŠW—«+l%#+dÿá¶³72”è€IS¡áÓ&4ài6$že\a:ÖhÊ”)ŸzÒÔtÆX§ÓùêW¿šËåZ­Ö¯ÿú¯ÿÙŸýÙo¼á8Îõë×]×õ<ï[ßúÖÎÎÎÊÊʵk×¾ô¥/moo¿öÚk¹\®T*õz=ÆXj¦”¦'~Bˆ4 hÊ”)S>Õ¤! é4ß4ø- ½»zõjª¨¦Ã4W’$˲!º®[–Õn·MÓüÊW¾rþ7`ŒÅ'‚€ 5iÆIœÀê{ÖÇÛÆoÁñ! PªBV\¸Âã8º©Ã¿þ«¿pj ˆ€$©«‘¢„I(`ÝN·{»‹ àÀ>Mp4  FxìÀµ1¹çô6oA»NOæmH@ Rs^p(@ êĉ@a &slàQË„òPÄ @8€î›2—A9ËéýÃvÃ,aN¿aÁ$©QâŠatòîñÉÎ1r€¸À°€$B„z!¡H woØ{>¾xñâ×¾öµ´¥â7Þ(—Ëßüæ7ËårǺ®ïííÕj5Y–WWWâ86M3Š¢´9M„N=Æééßt‘§L™òi'UR}sž$‰,ËwîÜyæÛJÇ"¤ÁÒ>²gÿ½ÛíÞ½{wcccº’2fÎí¹""àT$HPIæq ð€‘ð" ‰ È`‰bª¡ç9Ü¢¦4pŸØrNd pA@HE“4c’1È’Ì„Ýú´õ‚+šLˆüÐ%j Cœ€.àd ¾ÃD“ÀœƒYØ×U}UU@á…çú0t ˜ )ä"⩚P× ±eUD>1Ôt(<° ¤8†©ÀÊ<™ 7ì£Ë ÐE”ˆ!(…FQqPœ–å•dEÄ4 "‚D—ÍóüS!`pZ»’Œ€Õ7=ú¦AÌpä€Ó0½ ñƒPQ¢HæˆRgÁøéEO«b"Éš!É$ÇE„LÒ'üxý#Œ"Š‹xˆ†L±`÷Fèª I"Ž/@@L*G‚$TÕ Ñ2 ’À PÔØŠÈzˆ $€Š(£MžD!C–e8A$ ˜êØ‘…%qà# ‰etq.JÊ’R\ –h;˜À@HÑ}pIâ2‰ùÖc°gá‹T’$rú,mà!,æ â§=2àb‚(ÐT0hâ€CWÁ9‚©\ShÖÜö( cšPÄ€.&};2ÄQ˜þ¶ƒÃ 9p©£áS%4 ªÈ:ŒÇ‰*©AèÅIÄ“˜Éà\@$°£4ª £*‘ú…¬!ò8Ò3!2“t¡’(Là“‚$äi"F$BÄ\£Y—‹rˆ Pa{®”¡ýq¯ ŠŠJ‡“!rÛiѯÀóI‰b*" M‘-ÇNb‘‘ Tà%  ±@€4§Ä“HÕÔôg¤Uð!…EÀá"~ºþ†bŒBJ!à€€ÆÀbÁá3E–"œDðb¨: mzPdsºåyF4GƒªTnâ‘$¦€.C.`b2 ß,ކTRÕ8¦·™ÿ? ?ÑNü̶ðl<Û?±9Ý=O™2åg€t›aãñ¸\.§»gÃ0<ÏKŒƒ Ëåø¾¯ëzjÎçóÆã1cìÙÁ]ê~ö¿¦ S¦Lù€Rêû¾"Mjx¶3”eùßøÆÍ›7ÿäOþ¤V«}ôÑGßþö·Ûíö׿þõ4­&õyB ÃHïŠSÚîöÍÅ y?plyafáQïb@   IUƒm ÈÅšÔ¶ IDAT!Nu ÐHìEqrZ?'ºgdt ÌóÓ‚S÷iu—¶µ/*‡ÙJÁ:é#üq#( âôi„CÊÐfTà(B9³èÚ¶£œ¬“™¼²Ýï—cÆ;{ãsÅÈ©mêyÇ ÁÀ»4 †Íz&‘¯*†&XÈ8L ƒÀÜ å 1I 2 C?+yG:@" ‘H‰BN„¨¹°rYp ȰL"®À"è(´³ÌŸ$èÂFH—4­~•S·×T ‰b)ß½?Ž ØÐh6Bªؾ@‚2‡0Æ€ pâCVòÔ‹%]dR9T›½õcè§f8¤‚ň¢§êÍCÌBÏÞÐ,@Òæ!B9ŒEÈ€y F¤‚Í1pD e#ç¸!ƒC†¦ áC â$áyIó»C#W®)# "¡¥ªºŒô9-ò}?+{ÃV¹nsù½‡Ýµ|(pX>3dâB‚:cm5J„êBpk„ˆË˜Ce7qcðIÑ’  v¸Ø&’ˆQ0œ§R@:´jÆu]ÑõN›MR/ˆÁî# #Õ/è1%âlq¨w‡ÎãÀ›ÞdNËöÿÇÇ•R™8íwKwªœsP ”Ó2Ÿsž$K8=}æ?éo˜oŸ2eÊ”)S¦L™òSÁuÝßøßøíßþíV«eÛö /¼P«Õ¾öµ¯}ýë_Ÿ.Î?³ÿg’äØ^$Ð$áÉa÷ØYšÔùÍ/¾¢ŠLl…‹åÙíÇ?øÞ-Œû©j¨€Š o\Z»¸ff Jiè…GGG›·:Û-Œ‚S39jhœ›][,4+JFc “áäàñÎÎG8bˆä©B–ØÏ¿Ô\©»®Íý¸¨–¾÷àèþ±µ3¶œ‰L$.7² UÆÁIë¨Q„šHj€7±NÛT€çÀr`ªT.W¢±W2³½c”c@‘¡FÔ÷cPÀÄ™Ï-g—²ù¥+hc˶ÆÃíaw½Í÷"?DÀCÆ)‡‰ÊåúÙ×ΕϖmÙó»“Y·p|gï½ï¯ÃƒÍíSc",ÎÿòåsWϵ;M3Ñ[od=좃Ót€Ô u¬½¼záù ÂÑ`tãË¥“Ö'oÞÈsr0l1B`K×.½x9BhšYнý{?zo;ˆƒ4ñTk˜§^¾2wfAÊj‰ˆã¯ÄV¼½¾1¸Ý‚8~:Dª˜9×lžY¬ÎΘY#ö=g8Þºûp÷áÑé· p˜€ páëk×Î$,ð#Ÿ;Ñ£nÿ0 '²\ "p¸6tÈWJˆƒÐòd“ŠÕ$Lž=Q/!øBÀP„Œ qÏñ±Ÿ%9=Kq&b˜vìbØËb-e̾¼8sf>W+fò9ò+ÑÖ÷nYûýýõ"¸°(P"T>[¹øòUªSÃ43™Üæƒíÿî‡è#n#ÆÓž Èaîbù‹׌rA53ŽãôŽºÇÛ»öÑyÚ£ŠòíÒÍ+Í33¯ŸÉ˜$ćßÿ : œGáANˎé¦ùŸƒ©Ð0eÊ”)S¦L™2å§‚a¿õ[¿u||Ül6Äq¬iÚOŒ¢˜ò“2áDV4ẫ.+âÎß¼Xy®š­e Z…;1ñÅåÏ^b³ñ{ß½‹M`¨€À¥<{©>j*¡¡ J ÍùVd‚yÝ­1\¤­P!/µó‹‹<ÃìÐS%YogKÄUƒ6ÝÁ?m+¸jÞxåZcµ*™4[ÉÒXÈ}þó7ŠÅâ{ÖÄ I$$I‚ÈàK¿ö9YÓ³Z¬e3³9#ê~íóßÿ_Þ ~ŧ^zýF®˜ó“‰ÉÇívî̼¯7ž¿ö`rß¿Ÿˆ~C2XxeåÜëW‹«¥>µŽÄDš-•—l¦3„=L 'AÙ õÅ—/šçk£ wUÅXœ÷y’m(¬®÷ÒTH ¬ÐsŸqåòj(¡²´$3Åù7+Ÿo¶>üþ{x"žv7gÙË_¸YY.I­T®çœR0Ž®._WræGÿ뻪çUñáÅ*Àå_~ÑXÍÉœnKi˜s Éc²îFTи6W¿6—Y¬Äšˆ£€™Y¹®û£dÌ7<Ø8Ej¢x¥´öòÅò\]È,1åR±^¹P¼9=©.KÈÐë_¼bLjínö‚IµZÍ”çfÎ7¨LÚ 'ÄGNÏZ–¥çô¹³ 3Ía4Ú=ÜðDPnT˜,./5oöo¢qè[AxZVQòÒêËçÇÁp{{+£”3IÈ——×4œ§—¬¾S+U!è`ÔÏTÍú•F¬Å÷Žè®Æx£ðù /¬Ü\»÷Ã;Ñ»N@ìX ä¢x³´òÜòÄð·OÜØ³&“²œ=×\½R¼Z«OºI"B‘B´R¦2WÖË™aÜïwúתV*¥Bqå¹ÅLI^è /V)1ËI3gg« ³vâï·÷ÆÖ¨`fëÅrãRã»Ò>s„„H~3]/‹Æ\¦3:îôNbj¦"—Ëç.Î£Ž 5†0@GãÅÅÆjyH%·¹±…¬Tœ]+•«õ|eÀB8‰Àùsåk7®ÕIkxH¾ë„™\&§š/^ì¯÷>~9` «ó‰Á'þdÔ›´÷´%̆rÞ¾æd¨Ib$žš‘ç//%r2dŽ7qN†'å\¥Q­]ù…Ã+ÝÈqtMá" ¯:7Ó¼4ß÷íÖ 7²ìL&³Ø˜«_kÞ(Òî™ý¼K/E¾ÈšõóKų³Cæîô÷GCî‡Ñü¹êJ­VË­¼PÛy§“pL…†©Ð0eÊ”)S¦L™2åSL–eU*Çq*•Ê?üÃ?DQôó?ÿóÓ•ùç <.QT@ÅÚµ3FYÛéïŠ î}x äÌ•‹Ö±3Ì?¿<Üõò‰ªdµ‘ÛÐCÙÐL†Ý'þI«£D jsἜ™ˆ2O’%)Ÿ×Ô¬®‚ÄýþññÞvû¸×lV<j•²D9“Í,g$Õ0$e&L¼ÀÞ·waˆN|rôèXË*7/Ý<²Žª•ÚÒµ¥“ÇÇð ¸þ¹†±Kó-ïàÍû`(ý\&R2ƒÄ¿øê'ïl" ÄÍ×_ FýÑñþž;vÖ'÷n^~‰Æbiiévî$ÀpãúKgIYI2ɽÎFgtâl¶Ír7\‰³ÍæÌJA.Ó‰rJfruך¸Šãðn8D»{Voää鹟{%0l/YU”gªdßs‰ 3¹G·ÌœjªñÖ>‚F^¾öJ§½+éjþ|!MÅ  F¨ ¶é“1/ãîÛaáúùžú~ðůý¼õlj@0»ÒˆãIF‘»£ÁöÇŸ€A,ÌÎ6«ÈVKÙb©Ví ðc;ÂS•Èku6>í»Æó‹ùùùL¡’ij¾QLÓœ,!v'ÈIÑ?on³ú&­ϳÔy}¡¾âÚ~ó²b0UÛƒˆøGÎq洞nœ.kfºVûÚž»ûoïœ&>±öÜrÏ=òäpç¤ó¸Óa]2‘r³^^þÌ…ûo=„h€†ç^¼¦™F?<~¸áQQbe¬Ìü¼’¿úÜ•£û qÚ’såÆåLÁl{Ýýî~kÜuo»½È™R®r¾X/™Â„Ÿ$qhfµöä°PÍ…ÞxëÑz8ðê33uE›$‰ÚÔJÕ‚‡ £L¥DeIË—“'ÞîääšéJÎB½)×hA«pËÏ(UÔ‹âH úÖ¡ „“Ñû‘lj¢<¿t}°91×êâN'”€é Ý©Ð0eÊ”)S¦L™2åÓKE•J¥Ýn×ëõïÿûú§ú;¿ó;õzýÿ-„l A8ç1•žÆ.À@c¾Ø 퇇ØOà`këAe¡QË…š)ç:Ôe$¢ Ö=îïìíø[#´Õy¤ÝYLsÕ b´í 5SUG£öÞÎÉãޱÔs×ñ¹X)•ŒâØN\êÅ ÌElyA·Ûn?ja¾¾=ùÁ‹k/Õrm¾Š2pÈcvea\>Þýxk{C€aýöíÅ¥ëÏ/>_-— üxÜã¹ó«¬Ódýþì$p¨´g̽²R=3·vîúÚã÷7RßþÕ—Ÿ‡¶^4¶ÞyC`üe‰ˆh)ëP¯O?‰'‘E%Î$£;°Û÷7ÛŒ0fø½Â+ç—󬘈`b^Ä ÃPt&2 ííõp$b[¾îânÄ¡N¬Éö‰Å@K¥b.Ÿ÷˜×µÖ·ðP±üDSÌz¶!åU”YH''^½v‘š8ê>¼õ Ú@Œ®sôHU›õ[ ¼(8öÂÃ` ¹b˜4¶[ý£ÇÎVˆº{öåÞÒù‹‰ªzj숨“„ã2£±ï9n´ÓÞþ…>œþñ«³<¿RËƆÁÀõ"3_0H&¨ÔJ[‡½€ nó;l™¬TVË×+wÿâ ª˜™¯lO6`°Ãwwà÷ÝõÒb.›þåîÿýC0 sËógâD®w< DäOÆùQF6š³ PH%…PñüÍëjFq-gçpǺ7‚»Õ/ÿò¢))T7pI/±"Áãœg,­4[ýã­{áÃ]´Nò7”‹WžÛvbŠ vC×Ñ9§g'“ñd»uˆm'@Þy¢mI2ÏÉ&XÒO†jâË$IÒd5p&»G[ýíl`Œ'ÁÃ…\3N0sù̽¿¾p§·™©Ð0eÊ”)S¦L™2åSK:pG×õ?ú£?zï½÷~÷wwqq1Š¢gƒx¦üß!‚ÊTNxAÁyÚe Q)ò"3o¢Ø[–——WNNŒr) ¶ˆBCW+…|¥mÅý \@ È›YÃ0˜ª0Có@²¶Ê#TH”©f†çó¶9° „Fi)“Q‹sϵ'œÇHæ\K{à@`À†aøaÀÓdÛVg½Ñ(>ôNƒ$’~±ï’Äâ>2P@‰€‚Éx˜9›kG}ÈÀ…Þ0CNÌB!ˆ‡:ÁuíL3d` P443墑ó$I‚§’,Éžg×ó¥™BU™.U ™AWЉ²¤.VñÜŽy¡"±¼ž “‹K«zxp ÂèdRz)w`w„ÆÊõb¥\¦\’d’ȶÆDl PN¤Õæ*[‡iÞB ƒ¼‘SL²søˆ€ à‰^0Õb©Ûvm‹Ë4“1K…Bd<1Á¡E0$)gèÂ4B%äaFqD¹|ÉT˜NøÈ³ºæ£tdÒœ©kBn’Ñ FY’UE15u4šŒÇc0`ö4bc<¹Ä–¬:ÒÑ ’Dyg4Ý'0hjFŠ€G§9”1@P§B*™ñØ PJcI’ Š‘ €ýA7ÈAäi†l¥éŒ9°ÀW¼PŽ™Æ*Sµ|FWå\1A-F²è;ãƒnä&õ¹å³ÏÍê è‡xáÚ¥†Y±OFƒ½qxAͲXvF¡ŸôÚ£sk——^…u…~öÏÅ)æÃíXvkì´FnÇ–=ZÕË‹ÅÙ¹/Îað±t~mµºhMjj =@PÄ@€{·ï·N†Qú¥_ùl ˆêr­š¯ûãpr2 Ÿ‘ó—Íf¡Çíï:såæÙµKF ˆqþ•æüÙ ª’qz®½?À±S°…$µdk±\’³È0”Aô«çn±âu&““!s…±h຋Oáð—^œ¿|à…+×_¾þª}ýö:à â œôsjŽ„¸øâóÈEé¹ f.%|skëtÚ…Dp‡1¦«Ú™3gPš˜[]Ìçó¹\ΞXð‘Œc`‡a…Baue…UQ@ýl³‘­–•¼ÉU5d’Oà%ÞÈO×ÿ⹫çÏ]À±úÒÂÍW?§ky²hÀ‰30ä@²NÆ~×ѹòÂ…ëÊBU ƒ¢’Õ…c¿ãòq¤G²I“޽¿uØïŽëµù ¯ŸêøÌo4«s:57añéŽ)?mþ“9„øñK‡gB@þ/O™2eʧÇqÆþþþÜÜ\¿ß÷}qq1uO&×u‹Åâh42Ms<7 Û¶óùü`0PUu2™ÌÌÌc??)è…fv®H -»ûÞw߇u:¹÷áÃWžû\¯×[]]¥4ˆ©˜[Yt{¹LéÖwÞO«\Æ'xüÃ]óõåÚlcØŸ\}ýµ“ŽZœ­.µ·¶w 6@£ö>Þ8óòr;è^ºø\»0£ÐÕÔ‘6W-EñB—†¡‘1³õŒjÝR²^\;;£3-#˜Í¹M˜¯xv“0wâ°hdU–  3Ëç~i.£f"9GQI7N¶üq8Û˜—!µH1Z.^<ž\®^hÞ¨ ÚÆ\o²j§Û»ûÝ[ÌBQb#ðXàî­G…ÕùÒÊÙáÁÒ—®ËªTÊKzŽ[áàÐŽz–‘Åbs4ŽfbªÏfòµ……ôáùq`Ž‘“™Ø,×%’"„O”ÐXÌe䜬JÚ¢š,ÄÅl®¤eH–—ôB&T @äHøQ³ÞLB>—]4^Ò˜Ä ¤d·xï~÷Ö}€*À@¯çV¯™_[ª˜Í€E²¬éRVM°ûÑðØ‡©Sø$™‘¦µLY/fVÎê(ªUæK›Gwö‹`Z,Iˆbë`²½¾·š7çj«Ù\•È ÂŽ}üà`ûöz¸ÂÆñ=äVqþõky³ZhÔâJFË»gVV¬Ö`磿ÿ>°a& :ló¯Ön¼öÒÜl£Z*Ûžø‘°’Ñx¼ýñ£¦5P­«¿ø•¯hesΜ«ëeBc™KQ/í[§zPH@€ÞÞpÿÁay­A$˜E2Õ4Åuüí- àé5µŽG÷U.”c‰®j”3gboŒÚG­Sƒ@è€ãWˆbªóåRN+dsw탭½Û?¼ß¢ÓØPD_æþr­Ø¬Ìg‹’ª< áÐý»ÿã/pb£ûôšP¿’;s•Wšª^nVФf%Í鎷Þ}|ÿŸÀb€ pN?ÿÙμpauõÒÎá6O%TŸ<8”&ˆ*C i8½Íüg`*4L™2eÊÿ‡]Ÿ’$…a¸¾¾¾°°†!€|>O)Õ4íÝwß}íµ×8ç†apÎóù|¡P8<<ô|(„eyee%Žãn·[(VVVƒÁýû÷‹Åb±X ÃÐó¼R©Ä9WU5 ã£#Û¶ÏŸ??77—ž½§¥»,˶m !¢(¢”v»ÝL&“Šº®¯­­EQtrr²´´dYÖÑÑ!$›Í–J¥Ô.Q.—[­!äààà…^H%Ã0’$ø$»& IDATi·Û¶m×j5]×Ûí¶ã8ÙlÖ¶íT ©ÕjãñXÓ4Ó4 !”Òñx<F«Õj4ªÕªeYÙlÖ0Œ fff\×íõzGGG×®];<???oYV·ÛåœÇq<™Lc†a˜¦9???§ï”)S~‚z½þ­o}+½É¤oIJéÁÁAêÄ‘ey4år9Jéááaz3™B™Ê”K”K$€ …@Ønp÷í[GÖqa¶:_])iEÖqgã£GþºH$@ ÖG­=W ¶&gÏ­É "÷÷OÝúäðnaÖ £‰°†8z»ßé½¹úÊÕÊÚ\µTôÇ~ÿ¨µgÃúà}Ù"åwÇÞ:ŸÄ+—–òÅ\=Ã~pËkyÎÑ¥’ÆãàÅ÷þñ½Wæ_Ÿ PaÛvbKÛo½‡C—¤$ŠÁûï=`ÕŒ¾XŽ¥DÉT–'=ûñú:ö½Ô"A9á‘pwüwþüGÍk¹ù«sËg™ÈŽwFÛ‡·îᮈ mÀÁ 5ºßûxù¥¤°<›1%)R>|h=9²î qð4N‚øÛ“ÍÞ3Ðs³2SÛrt4ꪺOß{»¾Ÿç³X)|01(¯:Ç;-™T$r-Û®ë£/çFKX<ãàdÅþ•ÿ«ìpg÷šl4"Ô_ÎåOš˜?<ô(u]‚çž&Ç_>ñÖ®”tähв0Jõ×ö½Š2àžqøpàÅ—.îºX „xš¦ ߨéG^;ŠE Nä(¡Œ:¸÷`¶Ø•ìjÍtg)ÇÙUcéØxa2çÊgÖ¿ˆ˜ù—ã+ë—‡·®mëȪ¹6_;}rjöäŽ4`Ÿ ``Ù­q•Sm`"U¨ëåù|yqrnôð$J¿qå8À˜9/Nñ5?žM$3qÛ2J‹…܉¹å×ý¢ÉAiªšDCM4ÑÄÿ)¨V«‘HÄ4MQ?ÿùÏßzë­Û·o'„°½¸\.÷ÐC}ÿûßÏçó@ Ÿ²,3SOggçÿ{÷Ýw?ûì³±XlË–-ŒÃm‚ÝÄ(|Ž|ß'ð5~ (V‹©Å u Š’˜š@”!«ŠåÛÄf°8;½ÈMOö%„8–kW]è§ -+NWd (¡Aàž°G'_AêD%”\8@}5ÚP$A <¯ˆœm9î ûØÄ‘c©# À\À—dQò8ÎóÀIwݺnË1Åç`Ö€ÂQàxYšn ñQp;Úî¦%ñ<8Bácé u>È|Þ3‹–‘ÛWË;ø $dÔ¬@ÀSÀ1Й‰äË5ÛDý@ùÈñ_¡‰  APxQÒË´xÍzíÔKP(x9@ªòduÆ&à€ç.°„ç¾ñ’М¡QðP\p68<'*àL8³ÎrabùÕ‰¿xÅw]X`>ÀWß8ηŒ¼™Ëå É˜<£Lq!pÐ$ˆG@UVãËS㿜B Z,hÖt,`DZ¶‡E*[›[Û÷Êjê¡ ”œ/ŠP(< êñ>lÚµ¨“¼$ÔËõ@H¡”bœÂ\ðžÈó¼GøÀ(¥¾¯¨¢C=™W9Ä÷©:@ ú‚ëyœê› 3ù™™À b¯@(uD‚°,ñ¢¤{–nxh(:¹wµq“©'˜’Å$X6|Èa)_]zåy´!õ €8¬ZU„ïc…6^š?ñò(D^”AìæM¦I44ÑDMüÿEQ†ªªÇýã?þ£ëºëÖ­c)Žã<úè£Ï<ó c t]WUudd¤\.³0‚ iš&I3 ,..ú¾‹ÅXhÂÌÌÌÐÐÛŠïííõ}?ŸÏ‡B!A(¥l[~aaôš¦ŽŽ2•D­VSU5‘H,,,´µµE"‘z½Þh4XTA Ðuâ8 b°mÛ²¬`0Èž|yy¹¿¿ßqÛ¶™á‚÷¾ï‡B¡r¹œËåÒéô¡C‡Î=÷ܧžzê¾ûî+ ‰D‚±-ûØÇ0??¯ªªã8‘HÄqœX,‡yžÇã¦i¶µµq—Ïç ÃE1‹ÅgŸ}vzzúSŸúÔÐÐÐwÜÑÕÕõðÃïØ±c÷îݪª²|„F£‘ÉdXúÇqìÇÙÛ®V«---…Baii©¥¥eݺu,á" êºÎÄÌ !Ër¥Rq]whhȲ¬@ ‰D˜ÃuÝ“'O~ï{ßÛµkW$‘$izz:²¼EQªÕjµZ]·nãB¡P8®V«,byyÙ²,J)S‚PJu]o^)M4ñÛ`æ,„–Ø¢i3÷2Å=÷Üóo|Àììì-·ÜrìØ±æ¢QŽX¾-çQJ²º»ëy€š0«½ ÀóàÕl`Õ*ÏQjÇ”kˆ —+aPÈJ@á‰mX«ä‚ì‚Q=Ž% úð8 ˜+{(0:„Q DU ض³ªtw±@ ÈyT)QB’‹°§ã,Øp $¡6H‹›òºYS8…ó-—`‚¯œ¾!"Et¾ááÌÄžsÐXöðD²|à €A|ÔJïBö!Hlõ8x~¢ Ï0Ẁ @D4Ø8 Ž‚÷ßX6P «å+0Ëš·ú&)DUs|‚K_]"¢¯Z´WE¬+Abûe®a¨u`Ñg®êÿøUàÏìð—`ú‡<˜6|œy¨ÐÕ„ þL*…‰D¢jË©Âyªy¶¬¤îú Y”V߆ëÐ"UP£‚^æøÔ'ƒJpÕ‹AÁ»¢@ Lêó P‚@ 0pά¿Cá¸xÄ4àù€q¦‚å‰úà<À‡àÀÕW;^=X„Qi0zþ}W„x@*‚ŒúðÏ”pÏCäÎkÖ!ü÷ ¹ÌM4ÑDÿ Øx̦S×u:ôꫯRJ£ÑèÊÊ sK’$Š¢,ËGŽ©T*¦iV«UBÈ9看ÅLÓô<=lxx¸^¯+Š‹ÅFKKK©T:räH,c ¹\.0×@µZcúˆr¹Ì¢ …Bgg§®ë•JE×õH$‰DÆÆÆdYfÞŠD"‰D&''ëõz,£”F"‘¶¶¶ŽŽŽT*5;;‡ãñø‰'r¹³0ÆçùP(ÄÌ™Lfqqqýúõ•J…¹ †‡‡ŠÅâÀÀ€$IÌSÍÔŠ¢(—ËÝÝÝoR¶´´,-----I’´víÚB¡011¡ª*“füò—¿¼ñÆ7lØÐÕÕuß}÷½ð Žãø¾ÏÌÝÝÝìͰ•gËU,3™L"‘PepppÍš5L¿°¸¸È²6C¡çyLŽaÛöÒÒR£Ñ`*ÙÙY×uYʼn'<ÏÛ»wï‰'<€¥E²8vì‹>ZXX¨×ë™LƲ¬©©©D"qêÔ)Æutt¼A1X–EHSŒÙDÿ ˜¦É"ß|u]—ÝRDQÐÕÕµú‘”çMÓl®›¶ˆàÛÄ"’'ÈÜêœIÀé¼(k²ÊšÀkð%œ œ(@Q …Uå9ùY—E kŽaÙu‹ l"b#®Bbã4óçó<Ô šHr¯RUàøÕ&y5Pä%‘x€ð Á ŠlQߦ¾¨È*áB4°Gˆ®áC,hÒ Çs¶àùUþ‡&h$’íÏäa :d"èÃ1`YФD*ÑMâ чHV&k "|€@%PdY攼 ˆ€¿º°lÐ Âr$ªÄ#r2,G8ÂÁE¬#¼Jg¦bÀµlx¨ ‘c‹,Ið\€‚˜àü7º9&OD0„p ²²ú uÁ™ ($‚QQá!¼9¬@åVC@ KHÜ*¥Às¢ i g\o @ A¢gfnÂê)!rRDr%G q¶gˆÏb ( $ªI"xŽ£ÔG|ß§žPT¸€QˆKDHœÏý»áÂÜÕ—æ$P ÏóL¡„°ZŸ¹š%ÉÍA,Ñ8YòÈ#/½ôÒ¥—^zõÕWß}÷݃ƒƒµZíºë®»ì²ËzzzªÕêã?þýïii)ùË_>çœs~úÓŸ>öØcÉdrjjªT*ŽŽÞtÓMÕjµ««kbbB–e×u™p€1çž{.+àoûÛóùü³Ï>kYV__ßÎ;?õ©O±ÀÈP(Äó|2™\¿~ýÆ+•ÊÔÔTooïæÍ›ƒÁ ,Ë’$yž733sóÍ7‹¢¸oß¾ÁÁÁ+®¸âSŸúÔí·ßÎqÜñãÇ5M{þù篺êªz½.Âe—]vË-·ÜqÇËËËÓÓÓ^xáõ×_O)ýÅ/~1==­ëúÚµkßÿþ÷¿ÿýïoooçy¾··÷‹_üâûßÿþÏ|æ3Û·oƒO=õÔ 7ܰsçÎl6ËÔ/¼ð­·ÞºÿþH$ògögïxÇ;n¾ùæJ¥râĉµk×^qÅW]uM3h=4ÑÄoƒYŠX»$IŒeÀH=Và SMÿ剠òVÍ¢‚EðMß‚"€Ã&+Ãq(xšÏpÁƒ^ð¨‹÷d°\öo4%m¥\Ç<p ÇÁ÷\rf:Õ çPXž¥×¢|Ð&ºoø€ È`S;§€Úð\Ûƒ@@(¨Lß]opAÑ"¶ÏCã§jÂCBTP’Î#<.•MNpˆ¢Ww$Ž® +|Èœâ>&†•™ê4¨‡: à—•5Š ×k”Ê-á´åšuk  ìö,@ p‚a›Þòª_¯æS†c³ù݇çs * õU…ƒrfŒçÂy† H4¤:¾åú€&qà ‚G0$¢P¨šU„Æ ¼/ðı<߃-Á'gx„%.âé۫¯ÎÈ&BáÃñÁð8 žÀv¡)ìÕiŸ?Ã. à\JŠ Û±u6R®ä´‰EÌ3äA™qF’ ðàeµ†$ˆë¸®ÃKyÞw}˜þ‚¸D‚¨AuÀË Ï\5õð€«€Ú”ƒ)Ãô@"û®P>"l÷ GH«Ç^©×dˆx€íP×ψá7( ú ,*AàÀù”z€žJ@Ïœ«Öª( ê\ó6Ó$šh¢‰&þÀÌÌÌÀÀÀÊÊ Ó4ï¿ÿþuëÖ]|ñÅétú׿þõ5×\sðàÁ`0xÿý÷ßwß}¯¼ò ³TB˜þŸÅ­¯_¿þòË/¿õÖ[¿ýíoçóù믿~ddäøñã»wï‡Ã—]vY­V+•J=ôPww·(ŠÓÓÓÏ?ÿ|½^¿á†ð<¿gÏžjµ …\×- ¶mïÝ»wnnî׿þõ¯~õ«™™™®®®Ë/¿ü¢‹.:tè®ë›6mºýöÛÓéôwÜñØcmÚ´éë_ÿú3ÏýéOûÛßþÆ7¾ñ‰O|¢½½}pp0™L>úè£÷ÝwßÅ_¼°°044dšæ·¿ýí»ï¾À?øÁï|ç;ªª:th~~~bbâÉ'Ÿ|üñÇYGË/¾øÄOLMMµ··Çb±ÙÙYMÓæææ‚Áàøø8«»›œœlkkÓu½V«E"Ö ¿þõ¯·¶¶ªª:>>Fs¹Ü³Ï> àÃþ°,˯½öÚôô´çyú§z×]wíÝ»wffFQ”ŸýìgÿüÏÿlYÖu×]wÅWÝ»w?üðßÿüç“É$kët]·X, =øàƒï{ßû:::~ô£-,,ÜvÛmóóó?þ¸aû÷ï¿ï¾û.¹ä’jµêyÞM7Ýtçwf³Ùp8Ìb&EQä8Î÷ýæ•ÒD¿ fhb½Œk°m[EÆÍÅb1ÆÐ9Ž#Ëòüü|sÅÀŒ µÆWÀ¬Šçr¾/°½]dÞÖ}ÑÖ·§µ¶¹ãÓ‡ö˜š<­×â9bSWðÆ KIödÏ{ë[# ]5ÆŸ8yàˆ»èTõH²à<TCë`ú¬s¶ ­,¯”^{íÈ‘ƒG± ÏÕAØ(6Ü"„®sswÿ¶d6iYv½¨¿ôÓ_Û¦ JL>xßd¸å8Šàñ$¤GÚ»GÒÝ=ƒý£ã{÷ïµrËÈyptß5!ñà½U² ™³†ÎÚ¶%l]žÍ~ñPîµiêÃ&žp.8€ã!ATl8sÛp_{oWµV?|àÐôþ×PåÛ2xÁøT$HrÙ-½ý[úZûZ23:uðé8d…—lÞ…Û¼É4‰†ÿWðŸïìì4 #‹%“IÓ4Yž¢¦ižç±|ǹ¹¹x<F‹Å" r÷ùÄOìÙ³ÇuÝçž{î _øB4E±T*yž700ðä“OÖjµt: €µN²ì‰_ýêW_øÂ^|ñEöö˜Gƒ9;A0 ÃqfPEÅ@ ðÑ~ô}ï{«£+•JŠ¢°~ ŽãFGGÙUàûþ¶mÛvíÚõï|Dz,v½0»ÇÏþóL&ã8ëàxöÙgÃá0¥tqq€ žçÅãqÛ¶]×e:ˆF£ … ÃXXX`ïŠ"IÒ·¾õ-Y–EA–å]»vÝvÛm¡Pè™gžEÑó¼`0¸qãÆZ­Ö××g†ïûì(TUe±†a°.OBH2™d¡---ù|þ¼óÎ{ñÅeY~æ™gòùüW¿úÕ/~ñ‹—]vÙ%—\‹ÅÇq]WEEQþ¿æXSÛ fmÕ¬ªú¯؃› ‹&Þ<ÈoÔ¡ÿæùöÆȾøÍï· ÿÃw˜ÓŠáóY–eÍŽØÕ•çP6t1 !ÀÃô!S_ P°ù£çE†£5×(Å‹äð¶ž}~[¾}ß?îm;3ß @ÁóBÛvl¤#>)åô\@Õ6^=Ò»­ëÕͽ<P|X>D¤ßÚ>ò–a%©x2™M"Dz{úSom=uèÔüþy,³­uÏ—¹ï½ÈLpb|´¶ Fý¢xYßÕþ¬¾ûK»}ßç‘‚8>T\ó';«JÃ×íXTõbÔu%Ì_qïU?}àÇžN4<^GðÈÖl®¶9‹N)ÓßnÕlN<ß½þS;ÿáÞg Âõ=Bð8ëú›/;ûhþ¤×ÍMÒ9«—Žtl2KäØË§¬½sð x4Tð#íg_xVû@Ê@eÅ.p\pÓÙõÅê_ªï[ðd5D° ›ßwaª'Sµsñª!a­÷ÒËÖ7ŽM¾ôw/:çÈTDìüø¥^ZŒ ´žkI·f/]Ó²©“_ññðÓõš«rX°eÞú±KÑiT[jåürûöÔÙƒgm¾´ÿ'OþÚa Ž!`èÒ5#笡ª¿‚•†V•Zäu[Ö''SG÷5_·`a|SêÒöMœG‚Z–(È}|«šY³~×éý‡¼4ç˜bpm@ú°á.ãb‚- 2©ðb{º#°1Y™ÐÇþù ]ötçÕ âò;wR¿µb(0IG[O-§ŸÿGïxáK?wÓqÌÕ* WýáåFÔä"RÉiHð’í©úœqÅŸ\óÓGŸ†x5Zö$@Á•wíÔWËÆ´tä¤9…õÜekÏ[›9ø³—½S%P Ódß½&9œŽô¤«"­Ù‹ê´µë¼mWœóã'~ˆ)×u ˰+e¬{K¢ÿÜ-¨¬uE•Z9Pë¾zÝš]ëŽî}eá§cŽAB˜¯GÞ9ë[ã}‘ê•h…‡Râ»ú®Á ÿÓ/ÿ°„Å(ü¦Kë?ù¼ñÆ=Ÿ•ˆ±¿/‚ãxžA ”•sÇ{8óMžçÿÇOA¶m;Ž3::‰D~ðƒlß¾ã¸&ËÐÄ›D­VK&“,y^UUÓ4WVVjµš¢(ccc---²,Û¶ÝÚÚÊóüØØXOOO2™uì1?êÃàÑÄßþ¥ŽãX–•H$\×Çã×\sÍ-·ÜòÀ Åb1N˲œJ¥žxâ‰íÛ·³ö‡·¼å-]]]²,Ÿ8qâÆoüÉO~²¼¼<;;;>>ÎÏ?ÿ|±Xܰa‹f¨T*“““µZíµ×^s]×ó<6è>÷Üs@`ffæŠ+®èìì\·nÝc=`ÿþý·ß~ûW¾ò•íÛ·àØ·o߃>¸fÍšo¼Q„‡zèá‡þÜç>÷ÒK/íÝ»÷k_ûÚÙgŸÍ²ZZZNŸ>ÝÞÞ>==ý·û·×]wÝ /¼°{÷î|pxx¸­­íé§Ÿ–eÙó¼h4zË-·<ñÄ+++²,OMM­Y³¦³³“5Õ±tÆ#GŽ´¶¶ÞÿýúЇöíÛG)e·èÎÎN&VU•çyY–[ZZÞùÎw>ðÀwÜqG¥Rù‹¿ø‹w¾ón IDAT ½½½žçÝÒÒòÓŸþTUÕ·¿ýí,¢»»›…k,,,<÷Üs®ë~ùË_~Ç;Þ1==Íú28Žk*šh¢‰ÿâOù”)x³É>Íä«Åå¥l¦#ŠÕJvSK©]¶ ×±½  ‰Gb‘äšÔ8\ì,r6âƒT¤u¹îŒ9SKVµš[:PƒCí!i¿³K®FC‹GL‰pa-2œåÛ8_2ëõŠß¨j¢ %Ô–@œÄ@†ÞÐÃ"г/Y§¥†bs!5bޱxMòÃ>6(8rÆ©á"2”ª¢<Çö,»TUV©šÉ.Vˆ›åwD ‡­–¡6KòO—Oå+ծ޶@@jYÝ€áâP>Hà|Ùªë’Ó¾®EΨDÓËŠ£»!A«QU·¾çœ¥Ó³¤¦k1+å`PëÜÜ—\×"kÜdi®X®‡"Ñp¤Å1ÜÄÚ8 ôø?ˆŽèžl Hm‚¦>Å‘émÉt[²=Wu´‹^ΨòͿ׿û‡áÿðõo~ç·ñ?žhhooŸ™™Ù»wo6›=zôèµ×^ëº.Kkž Mü·Ã+++{öìùñÜh4Ö¯_饗®_¿þ¥—^Eñ{ßûÞ /¼022rñÅ7÷¼ç=SSS]]]®ëþÍßüM¹\.‹W]uÕùçŸÏ¶hšø=€$I’$qwã726áÃþðØØØüÁÔëõ?ú£?êèèøÀ> ŠâG>ò‘Ç|ß¾}’$íÚµ+™Lîܹ“RºaÆ 6´¶¶>òÈ#7nüÉO~ÒÚÚ à3ŸùLGGÇUW]ÕÑÑqÛm·±±6 >ôÐC÷Þ{oggçm·ÝvÁ …¯}ík±Xì=ïyOggçáÇïºë®¯~õ«Gݽ{w[[ÛÙgŸýÍo~S’¤ .¸`hhè›ßüæ‡>ô¡óÎ;ï+_ùÊÈÈÈu×]÷â‹/Þyç---_üâ———%IšŸŸO&“,|ñÃþðƒ>x×]w{¦U«Õ»ï¾ûÉ'ŸüáxêÔ©]»v½÷½ï ‡Ãßýîwu]߸qãÆ?~Ü4Í‘‘Ó4Ÿzê©Ë.»¬½½ýÏÿüϯ¼òÊ™™LsqÍ5×ȲÌ>‚ \ýõ~øá{ï½÷Ö[oå8.‰<ýôÓŠ¢œ8qB–å¾¾¾³Î:ëOþäOxàw½ë]Û¶mûìg?kƧ?ýé_þò—?üá?ûÙÏÆãñ;3IlÛþØÇ>&Ër"‘`q˜<ðÀ»ßýn]׿õ­oQJo¹å–ŽŽŽG}ô‘G™žž¾á†Þýîw;Žsá…îß¿¿§§gýúõguÖwÞù¥/}©^¯ß{iDⳟýl¥R1 㓟üdOOO4}ôÑG?þñô£íéé ƒŒ³àû>~7¯”&šhâÍC$ˆXBÐUC´,/HdÝwÏZ¿®=Ô]³±´07úº¹l/I|k: ø‰ÎÔQ³êû®¢[Ä*ÒéŒ*)KùüëOVe%¨ö [ÉLŒäÂÙõ 5Ü ¬I¼*IŠ-9 ¹üìôÜÔÄéxKKWWg:ÓL‡Rj:l…y‰r’ê AN”Wd?hÔ'O¼^/9âlÛ°ÐìbÁîíëÆ—Ct@ÄÐ[¶x1Õ€]Èå&FG=[³A!¢ œ³åÈÉŸ£ À÷±ñì¡`*Qwòl¥ôÚLMÄ^Dq£ýço;úâÌU…º9¢%9«y¶±pzræõœÐkˆÝšŒŽ¶@²U0‰©ÛV$!EQ½4½0;1ëÔL!.GÏjw¤’JZ‰h‚.ñt ð×÷jˤ¸T/,•ñ‰EjH’k¤žØÖíy;>>žN§Ù~Z*•²,‹E‘7ÑÄï]דÉä%—\²aÆú§ºòÊ+3™ €Ÿýìgl±,ëÞ{ïáÿøßõ®w­Y³Æ0ŒB¡`šæÝwß-Šb0¬T*Í•üýs 0¥ý?øA¦(Û²eËw¾óA2™Ì=÷ÜÃóüwÞÉóü;ßùÎK.¹D„jµ ‹}âŸPerr’ã¸íÛ·ïÙ³çôéÓñx¼Z­îܹóÇ?þñáÇGFF\×½ñÆ{zzØàºiÓ¦}ûöMNNRJÇÇÇ/¹ä’]»v ‚à8N>ŸÏf³[¶l9ÿüóóù|*•šŸŸ?ÿüóßö¶·ÕëõT*ešæ…^øõ¯= åóy˲n¿ýö;v¬]»V×õ«¯¾šÕËe³Y]×9Ž‹Çã»ví:ï¼óØfbY–¯¾úêk¯½–x¹\Þ¶mÛ¦M›z{{†ã8ƒƒƒLݳ¼¼Ü××·´´ ÑhX–õÉO~’5SF£Ñ|àÌaQ«Õ|ßÿÆ7¾Q«ÕFFFþáþÁqöZغuk,SUµR©Ôjµ;v<õÔSÝÝݦiš¦é8ÎE]tÞyçÝ{ï½lõ>þñG"Öøð±}LÓ´T*•Ïçî¹çžçž{îæ›o¾ùæ›Ëår0ëêêúò—¿œÉdA „Ôëõ~ô£Œ xâ‰'J¥RGGÇ¿þë¿‹EöGä#ùH¡P¼ûî»s¹ÜöíÛ_xá…¥¥¥•••T*‹Å!L–ÂdÍ+¥‰&šø/@ø€'iŽtEÛAH}Šu½’"êneßK/càpü¥SM‘¡õ]¹âdfSk­îÀ†çú.ñMÇ®Uõ™™…üÄÞ•áU'Ù–5ˆéQ#ÐJõBX¢©ÎFÑ}}̯âØWº90ÜOU"¤$ }žÐ½˜ 'ˆcNž›:²‚ræ¼ ½gãZ©%B[bV£áp± OHˆ÷åªnÏ——Ê3@*™ È©@ ~ée—<ýÊ?ñamg%¢]£vÅ­NŒaaÛ^:žÑ¸ÀàÀÀaaïjФ†î®›xÕjurf3@ 3ÆD´/ŠÇ;û»,@xlÚ±=˜TsËó‡ì§ÀÀ)w4{n‡ß*s‰€!Ïñáѧ†#aÛiøÕrnz¬pÔBK=y5¬ a €ã=ˆ–L bP5D¡Z­åޝÌVýYÌÎ/PG_³q#¯Èùr¡}}«O=§fIž¢EŽÐ©ñ©‡^E9¿t¤Þ7ÒH ²æ­C³û'°‚fJÃïL2üÛðïÀÿC¸æÿx¢¹D>ô¡õôô¤R©ñññ¡¡¡`0X.—›gC¿3ØôB)jN#h× èe«â»Ž'jº­û§ûO]6x­úõª§Ë.WµªU»âËãðiâÏv ÃD`£$Ú†oDžª`®eР$B:×°ˆGlÀÀí~8¤AÓ@u)Nôøg>×ê AD9^àVû#!€W ßæÝªëÀ8Xµm_·]×°êº[‡A Ãp%- (Qt»j³šL Ÿ8&qmx®o{Ž#ÚG|2¯À†hsµ‹ÑƒI SaÍ2Í‚Q*m ¶e*áD8¤%sµûÓ„nÃ$†"Ǥ€ðïs• Yyžw|¯nððPqlðl£`¾_·ôjàÄ1 ¸.µW+}¿FU¿Fl¯l×LO§¼C}’ÖZ ÏsL¢¿ñVË^­]ò\ÎZ±ªÅz™§©Ö¼&;uËu8‡­¿ Çõ\ê; X¬)Bøˆè*v½¡¿QEéúÎ*{N¥7ÊPžWD…ð”:€ Ôº ‹:çž®¶o ¢(eõ(&¨ƒ˜"oóœdÛö¨k:Upc2u©myÖeù†EMM ™ ·jÔÓõ9¯Eˆð¡($¿ì6|gõü7‰áÂ%WQª)|¢‹*Ñt5JEXnîj©ãë.l*ú<¸ÕÐ&ÞÝ@C×ð¿Áïà ‡‡‡%IÚºuë /¼À>¶6C°šx3°m»V«±°Û¶5Mk4FcqqQÓ4Ã0ŠÅ"s‰³1Àòòr0<÷Üsïºë®@ ÀÒSšƒÇï ñT­V}ßgñélßuD£Ñz½®ëz[[[©Tb¡h™L&ŸÏSJÓét½^_YYÑu}pp'6l0MÓ¶í¶¶¶z½¾°°P.—=Ïëèè!ŸÏ›¦™Íf)¥ápxbb‚㸾¾>ß÷———ëõúš5k\×ݲeËñãÇ%IÚ°a‹#­×ë‰D"‹-,,,,,p'I‹)UUµ^¯+ŠR«Õúûû Ã`FƒD"Q,yžß¸qãììl±X<묳F½^÷}¿µµÕ0ŒP(‡u]g䥴µµÕq»Ûßßï8N¥RY»víÄÄÄÀÀ@"‘8räÈÆËå2+þ ,âDlY¯×Óé4[Éd2999™Íf-ËŠD"Œ „är¹¾¾>žçY2åÄÄD:f±XŒýF|ßgt†mÛ¾ïSJÀôô4Çq±XìäÉ“W^y%€ÅÅÅÖÖÖz½î8ÎÊÊJ__ ‰\ZZêèè°,+X–µ¼¼ÜÞÞ‡çææ:;;———3™Œ$IF£Z­Ê²\¯×³Ùl½^w]— ; !ìÕßÈÕo¢‰&šx3ðy@ä\³ø/Ú–Ÿ›še…‹ÅÜôœÛAz::c†>îNƒGçpW¼³ÓµÜÒr8À4á S{úb±Dúü·¾ò¯/¢ƒCžát´¶ñ®d¼–ƒ Ø@ûžiÇÕç”ÍbÇ`û¸Ã Ä#‰¾6Ä5i:Þ'ŽéØ-a€ÊEA£a¡-Ú;²íÉlЪ!øœï»Žm[éêîX,åÒ½=¶4³x°†6¬ÛºÉ9êóa!4 麡d«ÄCñh0 ö/ë¢ Šx«ª†"Š¢•'+0h*¦&g×gÖ·d;»4Œ'Rh(¡†"Ôæ’\PPTΪ¦Ã1Ex J)M÷w,Ó)Ì‘ÈÖlGO6ÚÕõºR—yã9Ê’‰¶»ŽEE%Ó?P&§ì¬YϹTÔݨ-†´”,©¶íP2R¥”“è+ùjY "ÚÑ%#6'|ù ‚@ à‘;^8ÿaS$[Š ´Ô”"xd:²ª¢H–4;1ouP‡K—ó­íé°Žu´T¸"\Ä:£b8À‰ÒÂéy4p0Æö½¾uǦÞÖÎÆ¦M'Gëe¯}0%ªá Ž$^Uh”÷¼° ˼'Åâ‰î슳@ªP[¹H(¦@&dOj•ãª*¹ž)zœjñ„ÊÃkÖwQJÄ4Úú9EáÁ·Ç2cã•x8¥„Äç×ío£ê•q´a`p “ɪâà(J€Ðæmæw¤ð¿Ò5üÞ ñx|ÇŽ±XŒ‰{#‘H8®×ëÍS¡‰7UU]×¥”–J%6ò†‘H$ÚÛÛYÖ½mÛ‚ H’”H$–––úúúÙp.—ëééq]·9uü>AQ]×5MS„d2Ùh4A`ª–H$NŸ>L&ÃáðÂÂB6›e´B½^pgiiÉó¼ 6ÌÏÏÛ¶Ý××755Õ××·víZÕjµÑhˆ¢FÛÛÛmÛ>yòd2™L$L§`Ûv:Îf³Œí2M“)˜±¢¿¿ŸRÊ6äY䪪¶m³ÂHÖLÑÙÙ9??ßÒÒbYV4]\\œššJ§Ó¬^Îó¼ööö––v\ÓÓÓ’$éºÎH©©©b±800`rr2‰¤R)Y–WVVX(#Çq,£x~~¾··W×uQ5Mcr A8ŽcE-ì›’$1ñ…mÛÁ`‡YØëºŒ/.—Ëår9N¿öÚk›7o^XX°,«­­íÔ©SÃÃîëÖjµJ¥Â´ÑhÔ÷}Ã0:::–––lÛîîž>}z```tt4Äb±îî%Çqzzz‰Äââb&“™žžnmmM&“óóóì1Ìr’ËåTUM&“…B%LoBéjØ2×uYfgó’o¢‰&þkˆ–B\Ík(.T’´ïøñðÛ2$I¶¤:Öð+±•Þž±Xx±4µ2éökýµy»F*U¡ÌñT‰«\Ìí=H¯5BR¤»­'*&ªùZ#¯ žÓÎS}!*„3¡dwœ ‘Ó ¿½½=lKÈ1«`9y‹¯òa.^¥Á©\bmÆOŠâ…Ñ£“£‘`¬·m@*Q¯ì¿x U€ù xù¹}[n8GŽh‘®.PÛå‘íê’å ]£'^<„ŠÎSxåqøåW·žÝm†éÚ  ¡=•Õl1%†Žþú0æõ9kûªÖùTÎ$C!©÷œH®u>ÝÓmí è‹ §îsNPt /JT„˜ ÅÛ"ÂHÜKh5» ©I‹7BΊçät…hŠP…¯‰Ó³%OS’- -´hŸˆ¥Òb_ŸUÖ#D-œœl ¶ÄuI¢¼ ÖJf}¯Ï;ý#ÛNÆCp›Ö )Lu~|ߨP†dÃò¯:ÑuÖˆÚÒ‹Ùìxv6ÓÑžlpÊÄ‘±hÝ *±¢¼ !(©-ª–RÒ-©PBžÉÎ&³a-ÎÏò˶\Tb$—¢‚ÌͼrJnUƒí)µ-‘’´b¦ÐŒg’ƒ¸Ë cÅ”YÈËu«JœºåÈ©¤×ÖV$¡½PÅ`2e ÁFÕ›=x6@¨aôÐ±Ö º[´hjH+Åb B:‘>9üÊaØÏs~}õÈ›.RZwOMJñ’-œò}~ìð(Š€è0ÿüØŽ‘MjPìÎ^Z©WÛÚƒ©DøÆ\EÌÕ#d^6©OC¶Ÿ;ú³ZØ­é15’Òª.ål,YaNH‡ƒžîxÄ¥‚RK̈q5B¾½ …Õd†#b}iÅ\j i#a#f§¤—œ€­%)Ńáœ'§Sm©x2 ¼º?ûëùUßD“hxDþïÅCÿ›Çÿ'Xu<3ÃÏÏÏ···—J%Y–›aM¼¬¬¬@ 077·cÇftO¥Rçž{îÌÌLggçµ×^[­VAèïïÿÒ—¾ä8ÎÛßþön¸!ó›ß´m{ëÖ­7Ýt“mÛÍÅü=@±X$„D"ŽãØD-IR½^ïèè`dA>ŸgTT8^ZZŠÇã¬è±µµ•i˜Ñ€R,c±Ø=‘¥R‰@6W*6?oÞ¼Ù4M˲A`Jþ¹¹¹ÞÞ^žçmÞ¼¹Ñh°ñX–ežçu]ïìì|#N¢R©ø¾ …²Ù¬¢(lžgÒ›R©”H$ÚÚÚ8Ž«V«†ahšÆl ,Ëêìì4MsbbbíÚµù|žíü†áyì[ZZ¦§§)¥===Œwó]×3™ŒeYñxÜ󼩩©ááᥥ%UUÙsʲ\.—9Ž …BÇB¢Ñ(%±çÉåþ/öÞ4H’«>÷~òäžY{UWõ¾Ïô¬­™ÑŽöBBÆ|ÙdÀØFŽp¼Â!ˆÀ"Œ±%;F8®Í&|_ð !.ZÐ:IÌÚ³·zß»k¯Ê=óœó~ÈaÌ{Ã↥ú}ê®è®:u:;ëœçüÿϳ6>>.IÒÙ³g{{{Ûív’ËåVVV†††ªÕªã8###•Jekk+Ö8ç­V+v²ˆŸN§=Ï‹=;㼉X@ùÙľ:tøÏÀóJÕRCH_q\²¨¬6Çz÷î,Ê^ÝÑ”\–…ÏýëÃçŽÀ4Àº‘½!3qÍD.™’R’£x:ÕÓnÒ]³g^œY>1‡rMCÓC}‡Ç®çYªÊd×è6Q””Ph¬ÕŽ-­½´€YÀ8DÛöçRjªRõ¥Ñt¡0œJ¦k{›6àµêÁñz\÷04^^˽SjTkLâýÛÇBrZmuE¹Æ¡s¨@˜% o¼lésíî¾é g³Õ½®\–¸ôðc¯dTx5À«‚©¨M·wŒ]¶±1Õ54¬íHÓ–Ë–Ð’f~²Xz5 k é £dŒí½~GbÀÌdzDhIIíå9²ÅO½|úÕC ¨q« ì¯ýíÛψ\kßþ[ÇæºÛmä¼ÅúÜ—NÏù >: Fq¼XOE]…B†'yÙcul½´eºP!FC0ãX _N,ÆwU+[%¥›­:õÍʉo>ƒ À"¡¡»ïÜ7vÕÔ0IŒ=ã[“–˜ IDATš¬J)/lLžñY(ñB²ÛïÜVÈŽQd*]ÝÛ† *…M=PÖ_\˜zv!¬:À€.—î~ËMÐd3)$TCUDUÕ­&k•m4¢¬ˆASœ¾yg1ÛgÓà àb*‘ŠjLð£öù­¸éF&ÄgtñìŠÓv"%JeS]f j&ºø¦Ä²za 6¤ ÀBx’žVž)Giax`{&t%EÐZB{¥<ý̉ͣmÁ("â@{>pÀ€j”²Å´.ÈQFÐ2T%¶tâ… å³XÇ)8ÒØ{cßè&}#½;‹%Z­Ô¹%kR¢<»pêÑÓØ8uÑN"ì•]“·ì1 S%ÊÉý`êðšžÑL²™@vÒ„3_èœIÿÊt‡×rEC&“iµZ„Ji\Ë ËòÿIÓH‡þ-Vâ#ëx—¢ic̲¬l6{ÇwÄà­VëŽ;î`YÖÁƒãg¸ë®»îºë®øëf³ù¡}èÒ“wT†× ªªzžï–ã¶|‚ ´ÛíB¡Ðjµ4M‹Ò²¬8AUUUU]÷bP³¦iñÖT–åK2h"‘p)Ž7.œ‰=Óétì%ßÜbC\.×l6 ÃÐjµÄ¹qA¼µŽÕ/% Ä»úØ!~•¸¯'®q¸´[޳ëã~ŸŸdooo³ÙŒ·ÐŽã°m;~‰f³yÉß1~ƒñƒñëÆã[!Ä%ñ3E1þ­žžžØU!î>ˆJUÕØ¬!ž‡¸@#~ ñ<Äó§´Z­ø Æõ&ñ´_Rœ !¦iÚ¶  ¯¯/¶rˆ VU’Éd¿z4Ý] B_QÔV¹µzbqí•%,ž ºŠ¦"lž«­ ,¦ ¶–½Þ\—,òO=y¢zb’£R(?ôëïºÎÎ!T„ˆ@f‚áÐg¿ù]lBô!Ë’Ë¢Ø>ðÅï¾pËnж%Ï,žLu'³ÆæJùÈ‹‡½2L@ Š!Úa8óô¥Z×ÎÞ`9èîê˜×XnÏ›µ^ZÀ&¨pU@G˪‡kÕT·ÌäT!“L$$Ÿb•Ïž~õ¥”Z%A8L/çv\³w ßÇšR«mÉMpÿè·ŸG ð!ÚP9@šxî«O_óîƒ-«6”ì'[$¬»¼âϼ2ƒ*$¨2àÃaâGÿòøØÕ;FöŽká ÖjªöJ{ö¹Óx°!Eà`‚héÇó¢Ãú÷ôõåŠnà‰‚hmY+/-úÏZhÒ¤àD­p)˜þá«’Ÿîš)f’𸠦“™?4µú“e²ƒ#´éàËà奥Ü|ߎþ\:9ŒµýºË¯®®>à1àAÏ|ãÇ·ÿ?o®¹uÅT$Aµ,‹;‹ÿ㉋ õ@ðð·¿s˼©Ñn))…E÷ãÓ˜" *å>V?Tž O]=–L7˵T"­zêú©Í¥ç©NFã&Ànwî3ñèß}\È/Ø7Å5ÝGìŸEˆàû¾ãÚ©T*Š"Pªišëº‰D¢ãT×áuM¼[`ŒQJãí®ë†aT«ÕÎät¸„®ë¾ïÇÚ“(Šq|ì5Йœÿ™ø¸Ù$}(¥ñ½(n`aŒ]ŠÏdŒAÛavèðšA$éRÏ‘mÛ‹üâjžC•e ”!b @Óÿý%$Qܵk 5pþ¥³öü2é À% OD=ÏÇ6¾SÝxê)‡žR©µe7ÏX»è™9®ƒ ]Ð̺UŸÿÁÜüÓsʘØ=Ü»¾¾NíˆmUÀ‡‰)x2)­¶+ëžÄOb§ë¯×8ÖFX€K4h¦laàS/l¡}‰N$…@VB¨ål±qÞOPDè¢'ß24; ©/+Hq.ˆl~u"ÚRHHI`^û\}jå9 ˜è“¥D»²…åu "J "aÅ>ó§Ï¨÷e“¥Dcak@ð!¦`F! x)ç¨ý¯Å_D ÃûvAŽŸÆ:EøHª)ŽPÉo;µéæcŸý¶K»öíµ-kñЫ¨>¤P`P4™¨kŠø¹úÌòá™ï¿urmaÉ™n ¨:ˆ¬d|Îën½}¶9535•ž*LfûFûO>q "à6à!¤1 ro.³¸°uöŸŽ@>¢è)–J›Ë«Þ©2| —Úe–HDl}ó…–ŒsÝØ±sŒ~öüðEJ*ƒíûa Ëà—S2%Ì< :t”ãKª ewe¸ŽGR¢$ŠR#’H;Âr€Ì¡1 BÀà.OW–Ÿ@ ù+º•„¶>½€À…Â$²ÄÓ„¦V_µf–NÎdO^>ҕΞYÜ8YA\HBe„*rßu9o¬¡îÌ}aÎØÓÝ72Ønµ6^9& Ò¬@ PCA }°~¨|äx.÷Õ¯LmŸ¬£ ØP„b£Å6;÷™_!š¦I2±m;‘HTMÓâ%MGhèðºÆ²,MÓ4M‹KâÛíöÒÒ€Îätø·5!±Ý€mÛ—lã˦39þÃÄÑ6?{Å¥UÓÓÓ…B1V«ÕF±Xì”éuxí1999µÛí¸¥ëmo{ÛúúzgfÎ4?Ê0•00&‡±å†¨` [Ëg·ü³å”’åÜó×R÷È;LqpÔÀVQ}µá8>"@ øL ü€‡ñDDð4èò™îqàâQ6€ÈF±ìQè@J£˜âõSËÐqÑ1 †‚h‡ ©Ì÷ÛH)ZE¨"r‘‰§u$BD€-ˆ€XV²‘ÅÐR—qÎ]òÖT5>" †9âZÀt h³ÆÅAÆãänÜ ¡(Jà>§?i¹f„¡LÑ!³aQ® x‹΂CbP88dO”CΑàFD›ŠÎž<.0H š!„dA’%%à "Šà> `æNA!‰eQ€6 j€Yãt‹UžªWžª_|G`9 àFp XyÍÖ)‚gÃ}f}‘¬_ŠN`"jq×4@¸Ä›!d@€°…™©YJp1B„ìˆ:Ä,t>GØ ‚LPƒ0"Q’$x€0p rˆˆÀ¥”BB.ËE>‡ˆ€@l.1pYKDa1Œÿ²Õç7 âR¢¥¤Å Dš¾"€ù€…Õ•ùeÌs °HeP=J=ˆ(ÀaÎáW_܃F 4B«âà.8áéðbtôï^Žß»`*² ußBÓb5.°NøÄ¯v¬ÉZµZÍçóÂ0Œ‹:BC‡×5Ùl6‚V«ß:3™ÌèèhÜïÝ™œ—ˆ¢(‚D"A) Ã@£ÑˆÕ‡ÎätøÏ\Wâ¾’¸E"fxx8þ¢P(¤R©3gÎAEQç°·Ãk‰©©©Ÿý–Rºººú /tf€ÈˆB-"Z€BI ¦Ç¼Àl@dÀ….^&§·„¨í…—vN„ƒÈà„38‘ëø êD6$¯@@D¸(#pFA`š†(Hí¶ÍÛü§)…ÌL¨mù€D‘”Ep)PÈÐFB7àA`|F0Át]ðÁU]£Bà҂ˉd.6€H\Ô)$.pß× "SPÅ4@XÀ( á¦D#«¦žïSÀU‘ õÃðâ›g O¥tÏ ÃV´\@$Hyàb”$Ëɶßv<@—@)@ Á º L& !„€!‚ADÊACèšbhÙjè !¼”ò(É "  ` ÁOeIdMQUÞ¶úSÅ„@L=á8%à‚ÈCU&BÂ!Pè€"B6PóÄsÈâꆪ’=D,b!ti ¡'D(€LdH €@d iŠyE‘Pü¢ $@AD@Ô¤€G‘C†«{T%†Hdp ¡Âå,º ”A£ ï¢ó¢žSÜFxÑ…‘ˆ „zŒ+Ðà°#0 €B‚@  Š"bqMJJBäÇÒ’Í$µ ge Dâ"‡L˜¤§´Vk b ¼,€H²aj~£Ó:ñ«ÄóöÒ;uêÔ<»Ów&§Ã¿­ùD1‚L&S©TFl‹hF,:tèðƒ ÿ[÷D2™œžžN&“•Jeffæ?øišûØÇ~^/e‡ÿEq]ײ¬(ŠzzzDQ4M³3-  šˆB‰C†$ „q€êÅp>cH3C¥¼Þj¶Ý‹0œ‚†,`?u‰Pêj{–[s©@TÀ @;tÀ$ŒD’Rê7vè@@`@<@BÈ 9  J„ ¡‘r$Pö,Ï }?¢"wC±âYàÆppõÀå¢*Š,–œ ˆ½)HJ¢5ˆªÔ¢ŽÑÓDÖLÕ·Z^t±RCMÂwŠˆ@2h9.£¨%‰­µJ|¬I”@9©ÏÀšN;Š‚@„Ý‚ÈÀ8"BA(U}(À@(„‚6ƒ&#¢`NÀÞ„d‚3¡Tyèƒ" ˆ]GâH ˆl…>( €” kqQSs¦íØP¢ø7˜0Ðg Šñ^Ý @ú©g^U`qßk‚K€Ÿè’ÚÍÈ÷`ˆ(< ¤ jkÙ—xè#ô9` íÈ äP ²¨Èb ùmÿRX©B  ¾A¿˜5 ˆ‚¨"Â$€ú*Cü2åÁfÈCÉ X‡Û @ã9¨Ê 3PZéZž)·"@„^@`],¾ˆÚ8R:Wpat±¦ Ø× ¤©lzrßÞd:U.W§ÏM7¶êhîO«â} 0¡õëã;· õonn®¯n¬Ï­` qèÀÅó¬ Ëv*{'·o´šÖéçÖçʼX@äP.‚Ћ@‘'iš¦‘ÈT]®G.à/mDQU†åCºQ¡n$)’ñ©¯#À0 00¯  AŠ(îížÑd£¶Y__ª/ÔQƒïýT¡!ˆ"@ƒT²Ýù¡‰á\w—íZÇNžpkm,>œÈsèÅm?’€(Hn×®½öZYV>¶plëâ”:­KÅ€.@Àö}Ý.ßgÛöˇŽn-8€6P¸DÊ]7–B„nttÝtðÆr¹¼¼°¶0·, H‰ð)|°6ŠH &'vïØ¶mÛÑ£ÇëåJe±ŒM\²c² .(º —_sE¡§°¸¼4uú,oU ÍA½ŸÖ H" À^ìß3¶kÛˆ:G§Î\8Þl6}ð|^Ú¨oÝGÐtZ$/Dœ©„ˆ¢èû>2ÀÀ CB,üx àœGQ¤gQ[-Iˆ0 \ˆ¯Z².h2œøÏšÏìTt¥²^}õÈ @ ˆ‚‹Ñ’°¼QFƒWæ÷]¾GÖõó3¯ž™šÅ"aÀ½!b5èì¾zrûø¶êæÆ±—6_õ :ˆ ʨº”|_^Ïé×ÞzÍf}íÔ©©òËø¡¨AKvÃéÜg~…H’¤(’®ëqäùùóçEq§³›êðº¦Ùl ‚7ÛÇ2­,ËŠ¢tLþ:üÿÖ|ŒÅÍf†aœvÕÈÀä@¢×ä*Í[é´•ÌÏfg̺S* ]÷Ñ'^õ›7v÷TH{Y'™äоËG&曋¯ÌÌ:ƒ GœŒ£)ì|ãx˜©dÀlÄL&hÂÛóÆ}§>ˆuF}HØqÝn¡˜mëJ:\QÔ¸tàÀ®«gYɇæ†,2“¹ÁkÆ»&KJI³«OÊöÖ‡-\xö. P™ Ùcè×nzǭ戹EË­ŒßÓÕwó¾Lu¦rî'çÚ§° q 2zó®m—o§ŠPxDy~û5cw©ó?<9÷ÜôE§I H.»urøúí¶êo"ãêeî<éÔ 'WþçÉõ AiÑÄàÍãWïL”RkVCëéÞÍÎ}V8uèÄùÇŽ¡4((@€FŽMÞ´[-iuV_ æF'úýFqùÔÊìáYœ<’ÄÅ„k•+n».7Úãˆt‹y…½;ÞþæIkz}êÉǃ‹*ƒ ˜EuäýoèÝÛ]2”ÕÊ&Ô±]×ë7¶Ï]ð~´D5^©Ú2Àe ƒm×í"*5Ù ,¢Kš «»n:pöŸŽCÀe×H¥2pÄv2j4¬bÖÜyÃè¹é90H,R}GˆEÑwE÷uo»ÑNWyÛþ‘}×\¾xìÕãÏ €j>€¸\Ú}û•ƒ“c[NÕm»]»oÓ¾pÅ9úÏ/5_­£ DãE»&Ûo¸Lʦ´ª‰ÊîÁ›Þ¸Ý^ÛüÉãϵž±.Š@†±ÿ»‡÷‘6ÝEc›vÇ ýßöO?~æìÿš¡u¸è¨ö¿b!š¦ÅÁíq¸aÖ‰¯w‚ 0 C×uÆX»Ý¶m;ŽÇë”ÄwøY¢(Ò4Í4MEQZ­V2™¬×ë¶m_JµìÐá?öÁ|± U~ÖrrrrkkkkkKÓ´®®®……… âÒ^K(ЧÌâ§ ¯gΜéÌ ÒPƒÐ…¢ÏØ~Õ¹[Þ ªÐ–59ˆçµÄXvû{'VŸÜL“l zm©-xqG>µ-#äÄ©ÕÓ]™¢®éžï¥·e®{ûusS Ö–%s‰9±¸³Ø³§(•ĵhmskS"r_©w ×Ot²b®[‘*—š˜Èwm/°¼äSꉡK«¬\±k—³Q]9#õ(nµà2 `âê›RY£"ªm.q¹òMyô ûNÿð<Ðä6 Œ½a‡Õ…M8a É\S˜`jé½—í›i¦Y TrC—m»n¢%[g—N“¤ÐÍ”™ÎïêÚ£h•‘šµáP›&òJJÙ;”ÝQ°Œ¶ ŽdŸ+Ÿ/¦Åì8ºT\ö® É¡@m™Ûúº¯ ÚJe#dÌ0Eê¸Ý× Ô­5b…y%!SØ¡+vécW-ÓÍHS}E°,K£roª+;–]ÙFVQ¸´ä0°{$=’_w+‰‘ÔÆÖVÕiõ¥‹c׌2)¨Î¯ëÐAkû¶œ—r¹¦f¹þ–%ÚÄä·ÞÓÝ=˜†FÊÅŠÔV4Wµ›õD¥É~y(Ñ0½u‚Ð5(w#¹§ßÛ7\LnÀ'-;¨´£»«kÿ˜±·»Œf³n2W Á¥žÒc^~ë5‡ž^"(€.G(bÇ•{Z†P+jxD!²ªII2þ†‘³C'h„$e蘼î /-W7£vD ñ© 2;n;÷£9RY =:º'Åí×É%}º²ÈÔ4 Ë©éÒdñ*sÿÚÙE{³-)rdÊM5¼ê·6´àUw©  ËI—ô¡[F6ºàWëE3) °yPØÞÓ·«§¬QGê‘yANV³yìÚmÆb´¥åŒÚ-j•¶ww(E]t±±¨¦•ÕÊZ—šÍ n˜{iΫ3…ˆ^§xêWºœ h ˆr­º™-ä]ËN¦³šªé&ý¹BÃÏ«^‹ó3;txm ª*çÜuÝx­¯(Š$IŒ1UU-Ëúæ7¿yöìYÏóR©T__ß[ßúÖ={öÔj5I’\×ýö·¿ý| ‚¸ªù±Ç›žž>}úôÐÐ(жm:tHUUY–³ÙìW\qà 7‹EÇù¥ëµA°,ëÌ™3÷ß¿ïûñ3:t¨Ùl:tè+_ùÊc=výõ×ä#¹é¦›œ8qⳟýlµZ½ï¾ûÞö¶·ÍÍÍ}ík_ûÜç>'I!d÷îÝ/¾ø¢mÛq‡H«Õ2 ãñÇÿþ÷¿ÿàƒnnn®¯¯úÓŸ>zôè•W^ùÉO~r÷îÝñ¡«iš”RÃ0¢(úáøýïÿ;ßùÎ>üá¿ûÝïÞÜÜ!—Ë-//onn~á _ˆGÛÛÛû_½ä[’$Ji\ÿ’ÍfÇE1‘HȲÜjµâÒ_EQ‚ °m›sžH$âh˲dYN$±†¥ëz½^žŸŸ7M³X,®¬¬d³Ù88@OOã8ëëë¥Ré’ÆQ­VGGGËår†]]]QÙ¶-ËrœB@Ó4QãÃð_ë<ÄFqVBwÿÄO|éK_züñÇo¾ùæ»ï¾ûæ›oVU5Š¢\.W©TÞóž÷|ûÛß!~°Ýn÷õõ=üðÃû·{êÔ©;w~ò“Ÿ|Ó›ÞÔl6_Ÿ†¾ïÇû«8T"–!µZ-v‚ôd@„™× ¥ŒKl)b+s³å•JoWïžËvg’{ÐxG6pCAB—ÜORº’´«N»ìͼôR¾”¿âÀ,áëª06ÔSÙ¨f“Ùf³é2W-ÉbA²Cvf±<½Þ?9Rã­”†ÔPz[F‹Üˆ{œ‡,­˜ ìd3•’ØZíÂɦž|ÃäUÕÙ“õ•åéÖÂÅŠá7^Ñ–H F#\yæD bàö\…SAq¶¿û¦éÿþ¬„M§0ˆä5¹ŠYõR¦˜­s«çNÝú†·­îÁ·Ýôâ̶UHIex÷X½^-äµT-8õÜlÏxOa{:‘ORß³e);YêÊšÍf*“øf[U„Õ“óKKó…s"©4j>“Óˆ"€DŒJ†&%u%!5ªµ¥ssA½ÝÓ=0ØÕ'HÔïóÞ3!Zä†jDŠ¢D µ*W3Ý™åêÖÙ§ é傾c{¿¿m`áð²!«¶ W]sU_Oa½¾Ñ“?~2úú†ò½Z:©÷ò\vHQ%•ËB$ñˆGLAh„LÀêÂzcºrÙ›®ð] JC©twÚu!lÛÎdTƒç4Û««óÎÖz¢««¸}W½ÝLíÎ'F®ë(`9] …’@W\ÕC}msfeÞ4õÑí;2É”2ìÊáD  B.ó m–ëç­Äñ'~bäsWô¶ƒVOž\Ó½üÜFàœAõ‡ßv ‘`åj9I’sÇÎ5êk»\aE†Y,u¿õº/ Œ@)’ÄDþŒµ”ÈͽrÌ;¿|ã WÛfƒ÷‰‚,e ¥2Lʼn¢H“ÚQ»Xê«yöñã?A­^ß60ìë!»L0Ó٠ݥ¦ÔHð¼HM§iQè5Ê•ùcGôÁ\ÿ€Dcã½9ClÛ–,«9šó¢H3 [§,â‚’8üø ’©î¼qïÖr­T*í¾lâèÚ9Ï ; ÿâMA|ß&„ˆ¢È¹Ü²ìL¾B43Ò¨iÙ!ýùñ–M‡×3žç%“ÉÙÙÙ{î¹gbbbuuµZ­~ï{ß‹=«r¹ÜÃ?L)ýÎw¾sçwÆQ.×_ýwÞùñÿøÇ[­V6›ýô§?ýÏÿüϱk«Õ✆áy^—Îpþ‘e¹P(¼øâ‹ï}ï{?ðÌÎÎþáþáììl¡Pøò—¿üÞ÷¾÷Ë_þòÙ³g?ñ‰O¼å-o™ŸŸÿÔ§>uï½÷¶Ûío|ッƒ¸çž{þäOþ„1ö¡}h||¼Ùl*Š¢ªj¬­<ôÐC>úèc=öÿø;wîü£?ú£{î¹çÖ™rÀ IDATÚk¯}å•W>ó™Ï<÷Üs¶mÇ]žçÅýW_ùÊWþàþà¯ÿú¯_zé¥ï}ï{W^ye6›Íf³ÇüßøsçÎ}ã߈»Í_Ã׉¦ißøÆ7Nœ8Q,ßò–·8pàë_ÿú“O>Ù×××h4öîÝûÁ~ð©§žšœœL¥RQ•J¥¯~õ«û÷ï7MóèÑ£SSS•Jå-oyKOOÏ#\Š?éð+’F‰.0rÆ8g€@Dòóï~^åB'Í»ÃëÛ¶‰D†###œsß÷ÇÇÇ÷ïß¿¾¾>88èûþSO=õþ÷¿ÿèÑ£ñid½^Ïçó¦i®­­%“I]×%IZ^^®V«ñ¿Œ,˲,‹¢ÿ²ÿGµZ-NßsÏ=Ífsyy9•J=ztÇŽwß}wooïÁƒK¥R¹\>~ü8¥ô3ŸùÌèèèm·Ýæûþ#<òÐCû¾ŸÏçOœ8177÷¡}(Þ‘nnnJ’”H$n¾ùæë®»îå—_®T*Ífó¹çžûÖ·¾•Éd<ø[¿õ[\×]ZZJ¥R’$¥R©D"ñøãë[ßEñöÛoûÛßþÀ$‰ãÇïß¿ÿ¶Ûn{ó›ß¼ººZ©TR©TµZ}­¦xÔëõÁÁÁsçÎ}âŸð<ï»ßýî®]»:ôõ¯]UÕÕÕÕD"ašæâââÜÜÜûÞ÷>]×_yå•ÕÕÕÇÿÕ_ýÕ“O>yã7¦Óé£GþÎïüÎüü¼ .\H&“·ÜrË~ô£w¾ó¾ïOOO?öØcïz×» Ãxúé§o¸á†¯~õ«’$½ë]ïð}_–åd2ùë¾?K’øÄGñ>úh*•ºýöÛ‰ÄÖÖÖ³Ï>Ǹ¤R©žžž»îºëþûï Þ<Ï‹k4VWW92>>ÞÝÝ]*•žzê)˲DQŒë>:-K:tèpqÎdEPà¢AÆÇÆfý ZF];·Š3@Gm•Û~Ãá‘Üy#ô[^½4dE1xÓŽ–˜\ÀóQt¦mæm‰X­e×[ÔN“¶GŒøØÐ ØO3)8zr™zPd©²ì"DøËL: 3ŸvçK4„ç `dÎÃøêÊ VW—ú·÷n£”ìN¥-±Î€ 4ܧ(ЬkóåM8À2˜+¢Kt[~[´7éFÙ¯úð(¨ªK…dQ¡š³î¡IPf Qc ¡fdI3ËaA¸å‚) †©®n,ÏÏÌc¾ °ÕXËT´¼œLùãª!!˜—UÙ R²ÉÎDÁˆC'ÄW›<•"ioÁ‚H¡ PÌ7ý -×WO. !R.›F¤(-Xm[Îã>I:v{ÕÝœ®ãU€B&‰TÐ"9¾W ·ÂЈi1Älƈµ™%̰ŒYõ¼ª+e¿Ý5Ü»´RáW<1ï 3u& ee |¬Î®ìÙí‹"zRH!Ðñ‚üß°€¸Ì!†"Â/]ÑÐ:¼\]]«ÄËår©TbŒmß¾ýᇾꪫ¦§§÷îÝ{å•WÖëõ3gÎŒŽŽÆâBµZUemmMÓ4ß÷ûûûï»ï¾(вÙìž={öíÛ×××§ªj¼[û¥ÆÓ××wáÂ…‰‰ Ó4ã üR©Ôl6Ïž=ûÈ#pÎWVVöìÙ³k×®J¥Òn·ÿîïþn}}Ý0Œûî»ï½ï}¯,ËqDù¿üË¿ íܹÓ÷}MÓâr†d2¹sçÎø¾N§9ç—_~y\Šßn·‡‡‡WVVúûûUUM&“Fƒ1¶¶¶vã7ÆÎ–eßÕÕåû¾ëº„ûî»ÏqιišªªAP­Vƒ Èår¿Ôë®®®NLL9r¤¿¿_’¤O}êS¿àç}ßW%nã÷<Ï÷ýT*•Íf_zé¥/ùË™Læãÿøƒ>è8ÎÿñîsŸ‹‹jµ¥4ÞÄJ’dÛv±X¥”>ðÀýèG$“Éw¾ó÷Ýwß¿ûº=ôÐC=tøðaBH¡Pˆ} ^«×ƒªªµZ-›Í~ìcðÉO~2¶±¸ÿþûÛíöÁƒ¯¿þúz½¾oß¾ÉÉÉý×½óÎ;Ã0ìééÙ½{w«ÕºóÎ;=º¶¶Ön·ÆäääÈÈÈéÓ§Ëå²®ëétšRJ)íííÝÜÜüð‡?üÿð+++ñŸõ†nèïïO¥R«««„]×c—‡ÿ+Ä2ëëëÅbQÆX³ÙlµZ±³@,¾Äʈ¦iµZ­s'éСC‡_´jçDä!Ï$²  AÈ>ñö¼uim®¿{°Ë,V·º¢gSYI'‚å7/lªb†¢ˆçnFÒ¦ÖGve3ëëëÏ'{2,e¯.“z{8÷× !€çŽO öíà*v]>9=?‰ÑèØ]ÒàÄs?Dàð쳇ß8ùvÂj»FúÝRjvq~϶])MM2ñ± t H ãÜ‹' Ã…ÔXnlûî­ü†›¨+I™%#A,Ýå0¿’Š4¢tÕæ*NÊë*¥ÓÙæœkšö…/|Á0ŒÝ»wÇæ”Š¢èyÞ¯û¤ýÿ•J¥¿¿¿^¯ßvÛmFãäÉ“°,ëÁt]7v‹ìéé©T*7Þxãç?ÿùÁÁÁááa˲VVVêõz¥RyßûÞ×jµ}ôÑW^yåôéÓKKKýýýÃÃÃQ9Žãºn*•¢”.--mß¾ýÎ;ïüÒ—¾§<ÿüóÙlö­o}k6›­×ë­V+NÇר¯Øù’RJ±mûàÁƒ>øàý÷ß7Èœ8qB„ æææöìÙ ¶M ËrµZgãÈ‘#Íf3ž–gžy¦ÕjÅ¢avZ':tèÐ!†… ˜*kàH›i›;ÑRÓ­¹Å¾9!…B”aùl:›Îf.¬ž=þâ‰à¤P0HqrÇžË÷纇“a˜Î÷‹-¥s‚´OnÍLM§£YŽ¢äµÁ=#ûFò=bBÊét:—JÃÂæÌú…Ãç°ÅL2õ`]Ìm›Ü9´m(3²¯™Ô€¤”$ªY´~ààm€Nœ¼uÔkJÒØ>¦i ¯å¨¶R>r!.ž*kp§{¥e”DAÓ’)aËKG»¥Jd­T×ÎÏ¢‰‹¦} °ZöSƒºÔ—4sɺ±˜7S-åT½Å‹3§fQõ!é©\®Õ,ìÜžOJÒ.xpA,˜ÝV¥uêèéÅS‹q !¿«1¶KÈ–òÃé!5Gzò!¤ë«åæšûÒó'ØjS+%$ÖV;5ºæÆëÕ”QèëfPu]×EQð"¯Ñ®<»…üBk ¢sÁêfÍè1ÌLWŸ¢êª’1R¢Ë+óë›S‹•ÅMjCæ¦Õh ]Æþ›ö•ö÷x¢—,» ‰„©)’½iÏœ©_AD65Cv”FÿÞÁ±Ý;’é´9œA Œ»\ãιêÚ©i»íCE241¸ýÝï¨46“BúêÝ׺¸Qs«ip ˆP(4‚ÐÅôÉù‘›'š îÈž!%—¨Z™ÙJ@\ŸmŠ>産2³Ô¸¬'?dæóiQvx¨÷fKIQÙ\\˜?vÀà°ÎÖz‹'Åñm#Ù™v£ÝÝ•åvÓZ®>:»r¡ŠDc€Œí×íÔH"Û]’¼n;•0$ ]·gNN¯¿º†f ™#êGòNúÿ±÷æ±’dw¹àwNœX3rßî~oÕ­½n-ÝUíÞÜÝv·1Ûðš7˜á ,˜gFˆÅà'’ᵄ<–Ã"ÄhÄÓŒž øñü°Ým÷R½V×¾Ü{«î¾æž±Gœsæ¨N—«Ý 6í¶òûã*3ndfd䉿ßw¾ß÷“öCØcÓ3LÍÔGjLˆ›W/'Ží¹‹H€ðGö=}";R#{ζò…lÙ.õ7{Áj—ûp_ûõ‡x ç+!ÔAº¾˜þý¶»N Õ­Cü[@º.­ªêÍ›7<¨ëúÂÂÂÙ³gðð¥—^ªV«ALNNš¦911ñôÓO;v,Ý?­hÈd2¶mW*Bç¼Óéôû}¶msÎÛí¶¢(ßî\¯×?ó™ÏüÞïýÞ¯þê¯>òÈ#NçÀÿù?ÿç|ä#_ùÊW}ôÑÝÝÝ»îºKQ”ßùßùØÇ>ö¹Ï}nggÇuÝüãé‘!xàÛ¶Ó¸Z­¦mÒªûóçχaX«Õt]ß·oß3Ïø`jÔ—ÉdRTÇÍfó½ï}ï—¾ô¥‡zèÌ™3þð‡ûý>cì¹çžK;hš6>>EQÊJükï:ñFHËI¶¶¶>ô¡-..>ñÄù|~bb"u7ìv»I’ŒŒŒlnn9rä±Çûâ¿øîw¿;]öÿ«¿ú«‘‘‘µµµ NŸ>Ýh4ÒŽŸýìg-ËcŒµZ­™™™f³yÿý÷?ýôÓÙlvrr²P(DQD±,Ëó¼v»ýíÊd¾$IbYVú¹>ð|êSŸúâ¿xðàÁ8Žß÷¾÷EQ´¹¹ùû¿ÿûŸøÄ'ŠÅb§ÓáœOMM5›Íüã»»»ú§úÐC-,,4›ÍíííÇ{̶í^¯DZã8C3È!†bˆD†q ‰¸^yúì±Çæx?ѸU‘9;È:óÎÊÅÍèé@`€èbG®­eÇœ1EÑh¹Jü`mi#Ùn7_\—Ñ=%aJ¤wVÚÜTÔ1eÔ(ÒJ1C©p›­öîÆ¹U\ŽÐ€E›n#+ü^£E¶Š2?±g¢^©ô­kÛQ£¿»¸ D€¸•¿É-¼úÜ Þ{Äá®QÈ$ŠpÚN9dŸ9 $à 5˜¨8û•çO¿÷¸RŒcë•\ŸGV\zþìöB|k‘€K‰­——u…í¬%…ýùr©  é4ºÛ—w–Ÿ¹+>"Š$éa,îºí%}јҭ)]ÍÉÆæ.š³êƒ+¯%™°Ñ¼Ò°ÃüÇ+l®¯¯¬¬2Vݬ~æ _g»H\u@ w£wÁ={â±Zq/o”I„ÄñdÏ]»85!š‹„@ê©{ÂZ׬ZFEDŠßñ£gûÜêÖËkÑ A"7亻›ÙV%AM²*+äFÐè4æ[K›¸x¡ðH6|­Ýc)š¹ÓksȪ]¨èåW¿üÌêå÷jP@‰%¬w6÷ÊÑ“ûÇ‹•æÖJÜrùb¿Ó}õùsˆ€*Àнgž|aî}s XNç*C/Š¢gŸ{=è ªéE vœs/½Öï÷+•ÊG>ò‘?üÃ?L’ä×ý׋ÅâÊÊJµZM‰†n·kšf*ho4™L&ŸÏ{žwäÈ‘ôÆïþîï~êSŸzñÅ>ü‰O|¢×ë1ÆRÿ¿T£†áÏýÜÏ}ö³ŸýéŸþé´½åÞ½{··· ÃBø¾Ï9ÿÀ> ªj>Ÿo·Û†aüÿrœ¤éñ?øÁn·«ªêoüÆo,,,H)Ó2“L&sß}÷½ÿýï?vìØòòòÝwß}ýúõG}Ôqœ¹¹9ÆØéÓ§?ó™ÏX–uèСw¾ó/^{üñÇŸ~úé………‹/>ðÀ­V«R©>|ضíùùù_ù•_ù“?ù“•••}èCi7‡ÝÝÝ\.W(z½Þ·K`}Ä ¥4mxaYÖ‘#G~â'~âÏÿüÏŸyæ™Ã‡?ñÄív{vvvcc#µ„üèG?:99麮ëº7oÞl·Û{öìùµ_ûµßüÍß´·L[Ÿ¤o>œy†bˆ!"$T‡ôAàú. `açë›ÿøÂ&fq×ܽYZxþê+ë—¯#І! „©^à•Þõ›_F„ê»NêSÉöâòÒÓ¯¢ $P˜á%ˆ®ö/,¿ráóÈÜeï9<}ãÆ oÅÇU <جÈBÕnè%XÀÚÒüÚç¹Â‘¹#¾ÓŸ¿x9Ùåh@ÑÀ}¨âTWG±óåS?|W'ìH®KÅ9¦7þa$шî…Ú_ßñïîåʺ'}³XhôНÜxÙÅ&>7Ÿ]ilnõhTüÁ=“£öÂÅKÞY&àh¬10ª{½ÅÝ–v‘Ã裕©#ãÕæKŸ= =€ …Œ0°ü׋Ë·X8Y=vìHÇŸîKÑ¥üú-4€cóÌææÙ¿Æˆþ®úVs÷Ò+¯ð^Œ- AÅÎ÷W“Iè*–þæ" @§þÝC›­Nse»9¿ƒU bT 3ô¨ Õu“Õ§V_^PŽ©#ëVɘ¿°€°tëüç´²ë}Ñ¿ù|ÿs/}̽çôÞ½{/?î|á2@à€„¢‚,²úÿ<½ú?ž;4yìÐÞ^¿ùßžÿRzœÐuô9ƒ"ªI‚õgZ³ïæjEëÅN×é•õ±l6{ékˆ×,‘<5=Þ‚'q¶ãü{§õŠõ k¶Ü ›çB@ Ucq@šc3ÆRãò™ ï>ž©-^¸Ö~fòV’¯R0 ¾„h?»¿û] IDATÕh?ÛXœ¼8yü`¶hmn­µ¯mc€ ðo°BÁb|i÷ü¥¿?Ÿ¿{ô±úË/\øêWÏ¢$0‹ð7À0¾À|tyõÙËõg‘ÅáGïWþöEP`ˆ®L¸3œgÞBÜ!gldBòp[qÅuH‹(bðvoDL¤M’…Œ±ôçü[¾*}üæÇàðÄkx£ýû Z”ßbˆù°ŸÉ¸}<0ÆÒô,3é Mmüæg~æŽýÛíöûÞ÷>¹\ÎqÓ4ÜÿýéËã8¾ï¾ûø¾Ïûå_þå×b¿ßO+)¾­ãlµZårùoÿöo_ÿ¯‡~øá‡¾cã#<òÈ# ž¦*¿õ[¿`à˜Ïçxž ×ë=ñÄicóG}ôÑG½ã‚RU5=?©À{Þóž÷¼ç=Ÿþô§G¨ªªïû©õc’$Ÿüä'…Žã¤V”ÿªÇIÚ.dp*Ò¡’N’Q=þøãœóÔƒ \.ß{ï½w­V+›ÍøèG?šVÍ|øÃnµZ÷ÜsÏ=÷Ü38úЇúý~>Ÿÿûßû;t:ŸüÉŸô|øp¯×{#9í¿¹¨©òDRÐ`@ ¢Pb` g_}1ˆ–‡«‚Å  ‚ Pá E‘B…ô%€`÷ï^Ý _M‹çᚥ¹n¤Â#A’.°w͹øÅK¿•à1ÈïE Âñ}) Bðr畳Ϧ„"€ƒ÷ !TP ÐÜ÷ Æ P¤!L¢P%fÖð“È!—.•œ3Sc€‹„SÀT8ÑÁsHúë,´?s³½Æ@€0D gÔ0àaó¿76ÿ®pÎ ˆEU„\@HHNIÆ`€M:/í~ý¹§À@ó€‹L ªQ&ÀÒ;­ t§>—¤j  €†Í¾g“œÁDvxœ’#ðòÿñõ[Žòµ£¥hE‘N5. ø™xý…5h¸å(É ÄpÃfU¨@0 6pñÿzé"^JÓo¼Æì ñÕT4èÆ}-DˆÆêƳ« ¯¥ëèó¼Y¦¾ ›c~âÂÓí˜ín§>¾/nqßñ`€ù&ìPD  ¤€…0ðUC~"ˆ™í÷d*% ŠÂSŠ‹Dé‘8V"®ýíùT¹$ ¥R•TxÄc¡1-ê¸&V¯_‰[‚ 35"œÄ· Ñýúæß|ýÿ(  ¿ ¨HE¸T# ‚$ö¥ì*®¬>È] ¨¢+gH4¼)×)DÚ:}G¥vÿÝ00hHñvN˜‚Ûc¾Û¼É=&U¡§;ˆ†7鎑¥ßvÈ2 ñú i0¨8çƒ3Œu†x='…×lu³Êpœ|Ï•Áp@Fßqklž®!†ø¾B§ÓÉår”Ò?ú£?põêÕ_ú¥_ž™4<á$f:•„C æÑ-—|°1SÆÔŠ÷A¸¡h‚Ç18'\P–¡i&Ûix Ðu0¦,&DI•ªÆ¢0’  S·ˆ7ðE_¦Y«©i $ðC ®ØÓs½¬–3=%â$mZ™æØ©`žBã‰a:Sóf&äœJdŒ–¨é› ëÐ¥ŒhÈA€T]7s…Èó =µ“‰âZHBXœ«t¡\†€ ¨@ºI‰'ePè:Â1Ó %tE b.B @¶PGîF‚Ç(TjÒR{^ =U¦©¸h *ÈhÐÚˆÛ"„ Ð"Ö„> \Ç-ê=ÀB™ æ6³%õ½ˆK0ðôŒªPT€R)XIòHú°MS˘q’tû=)zF‡„J"ΗˆãP„ø` ÄD@@TU†Ž  ”LA (qìÝâÒ_Ê‚ZÌÇk‘ãû%h¸ó´ÿ‚ ,ádtt¼çxË1MGPPÄ YH p¡º'UÍ%ŠêÊ„šVú니Øf¶ ŠAXÈc  ƒ[MCÚ •1é8!Ü T]D%T@pÙ"Á$j†JТˆ'` …¡0 êú"d ’l©¤ ¥Ptª(D¥4”*—::-@Z€bªŠÌ&žô»}(ÃIæ­„¦iƒì~àù¶ òul¼ýÁ`¹ìbý4²O’$õß|ç”,Oÿþ“o>Ä¿M¢a ß q‡Êw$´éÌ#¥ä¯oìe3ÄÛƒÔd4½¥ îmÂúŽC®aˆ!¾¯P(ø¾?::šn9tè3\fLƒ¡1& AÀE¬iF”Æì! ¯q.hQƒÄ ’‹@ b$Q!Œ` a€0 !!€8ceb×§©vA <€9€?Š ]a$¡®ë”º\ôÚþ­<¿@$·B’DÓÒ¥þXpƒ(IJ*TfE"I‰ å:Q' ä ¡)A$`ÆJØóìb)•PÌf&M8‡àµàL2€Ð·ÄD q‘Ëh}/’P๰ýî6‚j  … ‘ŒB'„ÀÔ JôcH@GÛw5„FÀ!À‚D‡HP݆à!#  \Æ Å­%÷ @ˆ<‚¢‚I$®ïwÿ@¡äiØ oi$ÀÁʤH8B H‰È@6~éÇé8ï ÁãЇPd³ð%’ˆïvÁLž@&à÷ƒ@'MŒŽ¬o.3#K(4D§HŒ C$`„HÎ%ç\‚%\ÆL2 B¢1M‘€ïzR€èÂmÈ­-pœ¦¼¹ÅÏp*¥àÐÀl…G< °Ä68…Ln] !!Iµ!&r9ÒéH]€ 4 R"ñy pH°$. ¤'QOENÉ0|{KqG$ö=V4ܮǸƒzx£À=Ý>îxóòvH)ŒÃC 䀽º]3L ‡x=!•fªƒq2ÔáÏ‘Þn¿¥¥ODÀ\¸]æ0ÄC|? Ýn‹ÅtÕ+‚Ôùè»Ý:ç_ ¨„J•$Žeº FÅ ÀL Jï?z¥K/]ÛÞÞIŒŽÏC(Ì`¤t ¸ëÁS†¦m,¯o®n_„[1$ã§i— ¨clrÿäÈD­×ëm­í4šh”©‰—$ Œ¢"(aìøäø¾é¾ë,Íß ÚV8$F…"U]‹äáD2…@EqÌQ6‘(D*àB“tœ®fèÒ‹õI¡¸"¡Cžð9bè`eÐZœªLNo®om.n&›€’! A‰"PX£Š°De¦Vß3…òÂS—à+pãÈRjQcžD""ySrsªðè{#癯ý£=î[€ŸH$ºMTEÆþ­%"ìyÏ»OßÞÜxáÙgÅ&ÀPÉQe;h€È“q("”*´¼qüîãý~¿½Ûélµý 5‰ ’ëZÆñN(£8UŸ™¨9s&ò’¨cˆ  ¦« âC4˜U}öÐÞj½º¹µ~íâ¢l.€ ’»¡ï ”ªrxftj¼æÅîå……%à>ó/NÕ˜„…<A3èI(¨¨D€‚8¤!€9D<ɘVèøå¦ayaˆÐâPH’Ä ¤@"À‘‡:n)6öìªeò77ç/nÁðpI¡REáD&)Me36R›«ÖŠq.-^ë]í¶|A¢ºM¹€Ln™G’Ž<6>Zß\ßZ¸rÍiÄðº"e”p. aŽ25ÏŽÝ{¼ßïžæ\`@lC Ðî0"xK‘$ÉíQV:±o iÈž†é·o¹ÃLáõþ ö!#ÓW½QB˜®@òÆAT:Œ5‡xýÈÄmk!D’$C¢aˆ×O_Š¢¤ùj:« '“ï¢a@1 îj·S¤Û\ÃðŒ 1Ä÷ŠÅbE© ¬aiõÄPN8cU¢¹N  ‚r*âr's'ßu,Lâ™ÒxÕ=^ïö;—W._yò<_C7`‚0÷:ZŸªgrÙ¼­·÷îßê[ÎÙ§_t¯y^XEËëyЀì÷ý÷îÓªZ BôXYÖœuçê³×Üç'ð!­(ÆŽ?07¶ƪæ5ÛJ¢xÿ;ö×›×^¼¼ùê:€„ÆqÐ…ûþ1n›qÎÊp*z>ç¶®=8ý·5di£ÓÒ‘ÚbA¹Ï%=¢ýj¹lôŠvÎsú{8xƒ/`‰ó0rd'HôxêÙÑ#ù 37a»Š7¢ŽÍíÆ‹/-^rQ® ¬B®Óé¡r¸|ü‘9u\7Çtµªö{Þèé=åÎõ³—;gwã0Œy ¤ê?¼ëø'"øQßëħ~ôt½Tÿú^Øyq>B)PÅ̽û&O4ÊÙ¦HPËÿ»ÿC™ª/}ñÉ?»\—E6DR ˆéÇLœšYš¯Ê ûbø›½åW®]?s › º¡ ÈaäÄøôéÉâl•5”wœ|Àm;k—ÖÖ_ZÇuˆNä§Ã ¿×8üàÉüLMµØ1zà}ÇZó«ç¾úrÿ*$G@$,€JŒk§>ø c«Õ£È7W¶zN“¯|îÌÄk»ªBRÅè©Y]%–Uíî8µâxè&œÅc÷Ìn,.& bŽfЂ(§ê”°zmtc{Y‘Audtk;Æ“øÒ*Ô¤ï6 p‰8RP99~𱬨ڦ:ª[ûOî½÷áxùêêÅW^m/…‘ŒAb(€6Wœ=ypöäáL9‰Àq»l×öœ“ó8)@ÛƒÓÝcN”ÍJŽ2mÔ+L¼ó@¼Ý^xþÜâ™V˜à–„Ó˜8½âø”=b'j2mÍX«V_Ýxfåê—%w9 ÞZ l¬oSéÄ擯gþIÊ`PÞ.aH^ÃUO(Š’îvãÃk•ßmWö!þ•ÝÉ)M3Æ4!IÉ›˜Œño™hH‘N,qß¾`>Ä÷ö*N¯ß×p;Ë0 †ÕC ñ}xñp]7‚r¹†aÚƒf"¡†©J ‚Ãwï?:Òú~Ø_—¡VÓ­I¥6žïÛck_ÛÈP#¤q"9êd|n¼v¤œ©Z½^Û³™±ÏbVK&oæáI!dèøá±‰Ó{Œ©l—wwÚÛv1gZ9Õ¶ª~ÏÅ2š‰F,f0¯ÛÉ+Xse6™q•¨õF3e}¢0FDÔÙÚôû2‰!bŒ«Çï?¥•Þj$Qœ(‚¨ÕìÁwÞsá•MÜä ‘¤†£ï¼›–-•„Š¢×-U*N?8z×\Ôkëó’'"IѲ§F+ï˜dféÉêæV¥R-L'ÈÞ|ýÊšìKhĈ-Å õ¹ÑìÑ)Q—yaâDj\šÍØùLE-w´¶oYQ@`ösÕ㕦Õh;M«¤}§×rFß1Ò ±! …‚‡°÷äFïŸâš™Îíí$Dœ¨Zn®’›_î3WJ0`ã'¦ÇOL5yg³¿«ªj!c«f¦ÀGʲÛ]kh ‹|‚ÜH~ôÄDíè8r²4ÚÖôôžBÉ䌺2êØ»èSÊ5H.h\:>’?\±Æ³]áí-M#EÛª—&Êîr_k0!!ú@V+˜,ßU×L$ÁfÔR Y®Ôµ=#Îv¼òåkˆü„‚*€ e‡î¥ÕΘëW·Gò#Ša††{üÔ‰¿_D€DA’~©qv÷é»tS3M‹‡’ÄR%5ÄÜ}'.ηÐs#6HXu”OŒ–î™ Ìx{{C†½‘‘‚Q·LÝÊ‘‚WÝŽ( 8ƒ 8ùCs¥éQµÂZñn˜Z–«y»ktü™Íì: Ë™H 8W¨½cÜQ’.uÑ3ŠZ¥šµJJÁ1ƒVâ1¥ÙÑ‘»G ûJ°±º±+Åê‘j)ÌŠ^²tm©{3R9¸&ó;–y¾— ©Äâöþƒèoùò”SHÜ“$‰¢(Š¢7!Ò„)Ñš5¤5½C q;ÑÀ9§”¦c& Ãa}Íw`PºÅK'–0 o_-â{‹’^Ť··¡<0@² C ñý†ÍÍÍl6kÛv&“I[>뺞7 A%E ƒQC?æIŠÊTyd}©{3Q£ÆN«¹Û*äK•±¢¬ðÚ»Fèx¥lŒ0Q診(æ ª…Nk©Ójµz}«P¬MaÄȽkÏÁ§ytwVÇt½P(‹%]1›}wk³ÙlvÇÇsF‰jffäØT~™$Iä8N¥2' C“®²ÝF¯ÓlîÚŠ1YID¦2U¨ŒåV»i彩aîÞ»ÌJÎ¥®×íº»Û F­ž©Œ¨µ\öá{úKg"@ ÅÞãSù=£ÍO¢èâÙKÊJ¯¶×`zA/hÓs{מ™œ:ØL†î³[¥xgk¡¹½•ô¿Cã5?füá£õëvÓ÷ýjµªiSu×9kë[½ž—)™½z`U´ê½{¯FúÒ¤–à´ç»jÖrŠ}b¹óë[×nhEýÐþéJ±8 #{ ˜¯éž·»±}³Ñop… ¥ZuD;R›«ûÜÐh"œÐ÷ÓìRž›´ßw·×zÍf—í‘‘Úèô–µZs @ªª"%Q¨eªF\ =ÙÞj®mín(–R­Kû]ÓûOÂÐ"¸Ü¢–šÏl±&'¡Ó\k®¯lsÿ¾#j¶èuýžBøL*"¢ãþš&¸"›¥ëkÍ ™=pPp”ë•é“Ë_]K"@4Œ?T«yh¯¯on¯m rL]‹­Jmj¦vúÐÎõ—%A,%ÆÔ³ÊFwÍÛÞ^?§5Ü=#ã¹™‰à`’›˜Ê£,å„K’™Ï„¬»´qmiå•bÏäX%›—1î¹g¶µ·æŠfµˆÅ½¸¯ÛF³âùžÛk¶ƒžk©¦(X¹¬uÏØ¾ý¶B …‡a¾˜-Ö³lm¯¬//ϯrdÏ7Fù(³OŒݵ(†íÞê|êö@ëí*¸Å¥Mu¾‰q¨¾Á2™j’MX^{-$¹”$-£¢ Ió8I¢8üƒtÕÀíDÃp¥zˆ;©”ÃJkmÒÅj UÖC|3R‰þÀ°6ŽãTÑðÝ&ÈmÓÕ@ç'‰Ì¨ä›æ3úÚS’6Ñ•TPIÅí“0·O°¯Ÿ>oÿ¸oVšÑÔ5›@"ÝE‚JòÚlO‘ ß´jð÷|—;¾/@ß`†T~ã…ƒë—)¤"%•’JÉê†Áí†H %ý¬áe=Äß7H= =ÏcŒišE‘¦iC3ÈÁŒsÁ ƒRŠH82(ŽT´BFIJå6o^ØÄ²÷ôòÙzÇtC~Uv4WI’8q²BJAYÅ /=¿(;Ðö72y;1u_¡>î¿1yÔÝþvèÇATÒ*n7Øšßì^^k7Ý=7}xJ5”°ë¢GlA²´ÉÛY«`tÇsÖ/ãB”P>F¤9:96¾93¾z® ð@ š;pÍëºÂi¯76.ì@Aá)×êá‰{=ý_ÎØy+îzœ`rvÚ7¢~Ô‘ÍVóÉô±‘¬MÌå;qÏš. Ù4 {¬`™ÄŒzÝfçæ.® > åŒŠ¢ÆÝ¨Ñæ;¤ÂmÛZÞ¹Yµêº4ÈO[»¶íÏo¢®ïûÁƒŠ™p©xx8.+J¼nC×4jRFl%ŽÃÎúÆÚµ`S"†“ïÔgF«35§6^^K»·ñVNY·ÉR‹ƒ4c·d·B½7ÕßXÿ“y{sÊT=áRaTt:-˲<ÏQ…HÚl6Ë媡é«k£££½~SÈ[ñ¨ ’JA nš™õUÛ¶,ÃXY_ß73Ýnîj†õ-ël‚ سgÏúúúÞ½{=ÏsgrrÒuÝaùßw$I’˜¦)¥l4‡Z\\~äà_þÅŸÿØûÈÖt’~×ùû/|þ‘Gù?ÿôÏ?ÿÿ(ËМ úý…_øÅÿí'êY^]év]Ü}×ñ_ûÿûÌÄÔÈȈÂõ=!Dê‹A‘R~SU¥ ÒÃ|1—µ­µ­D;“‹¹˜œ˜ö°p¡?Ÿ,89“¯— %m·ôÆ uUš6É%Y>¿î_lÀ3ˆj.ÌyJËTí ˆ„úUL›’Îngé¥K|5¡Ý¿¶ä+¬TÐu®Æ‘BCfDš¢0ƒªÚßÜñ–ê6žÿ«—úñûâXí‹ÈT™08Q"¡zºböÖš»¯ÊsÜðÁûXzé¦ï¨‡ÆíŸ®Ÿ‰žnmr¥ óˆÕÎH°µ›7×®­ qõ¿vÏã?remáî3Vî)Òè[Ÿ;ðr÷šßëz ëÞ €!“¾±¦erõ™q àîûO_oÄÍe\XÆMäçÁ6ýóFñôŒ©ÚA?d¾iB3C#§òùâõKWo,,£MЗáyl8•“%=K}-¢RhBRBm©d¤¦IåÌß<':Íëºa³±²•QE¯«pCÐ —9éÒèfÔEWŸ]ÒE±fËÉZñlÚ#N3ÿ¬y~¹¤¾‡DQoº%ü™ªÝ §k·¾»Š†44¨ „"œsJYE¥RéÏþìÏ.]¸†áîÖ®¢(Œ±f£Q-”×–È$D<Žm;Ójµr9Û2õn·ûâ‹ÏŸ?Þ‹âoI4èºþÔSO9s&ŸÏû¾ßëõJ¥’ã8ªªGÏ(ŠÇ1cŒ’$ÉË/¿|øðáz½Þn·]×ÈãSj@Ó4Û¶£(J½?Ò±”ªè£(bŒ)Š2¨áOòÑÑÑ;,ño÷žüîRÚï÷_yåß÷F†ßAוT4hü™>R¦™|E©\(%YTUMå¯o?šÍæåË—wwwu]÷‹ IDATuÝ0 Ji:NŠÅ¢¦i„”hHCê”_ð}?Š"EQLÓ¼Uù„ÕÑÆÎ®njóK7™ŒMN$RŒŒÔš­Ž”RJAI !Šjéy@P‚D !ˆ„TTJÌvdzsE.e,Ê'®¢©‚³$–Y+cF”RË2 !ÛÛ›· ·˜_0ÆrR!‘‚$ö½Fs§Ñ<|üÔn«ù•¯|õÅçŸ+åÌ—ž{éÕg¿F¸°ÕL&“}òÉ'ÏŸ;ûâK¯ŒUKSSS c„)O~ùK«k—/\ù÷ÿÓv»ÝíÝ]ÂùÇó7ëåJjDÏ!5MK¯)Çuo¿­Ü¦©:¾ËTà £zmtöÀ¡Zmäè±GQâ0‚HtUS(•<‰¨¢Š6K>ÄC|·çír¹ Àó¼ÝÝÝééiÆØ0H€º×‘R€ ï­¬®í=zàþ£>÷µ/oœ[G¹q}ß¾|ÄìðÈÙݺ–Íh¦®ç2¹ª¥—Ü@nv^‘“ã{Æk“näî4š¾×6m…(ÌÎæ'F&²•!k½Ž7üÌÁ|¶šŠ\Zª]VdŸ÷"W„aP«ëÕzÝŠéÖ•M¹ Œâ¾“¶Z­zAkv[(ð¸¹}v0Y®iûÛ6@PÙW«T*2ðúþ…Ð8N beeî©Ò|UíïÄÄ5Jv6—-„†h¬¯× /„Ž…‹×Ž}p6¦ýÇÆ;›Þζ^±f÷M홞Fì÷©¢m¯õ Z(šÅBNŒ£¿Õëo´eÔ›;p¬>V-e =îpO$‰ð<ÏK’=åuU—‘h®m" `áðÔÁ“'N\غfÖ²µúX/ôuJ¬RÅ ™Ûlï›ÞߘÜé.‡ÐQ©•F+“‚ÑhÙ_¿²ªÄà*bms§º·jclïµõó}¨­`¢6ZÈävãˆw¼ pTEV c#¹qC±Ê%}î®c×Ù‚³?~|:_ÏC%4käufxpûaÜo¹õ±ÑÉéý¬]» š¨Oê‡î9ÇjâJI`2[±MM*”iŠjŒêÒË;+;@Ó#Õ‰™}Y³²ðܵTËÈ{pÚ^/ õ²ï¸ccõ oeU­™®©™ÌÆÒ†×AˆÀÃÆÆ†Q³)Øåj§²#94³0sàHÇ =Ä@µŒí†uÐ(‘|«éÕ¶]™˜9dÕjzŒ®%¨à4ÂNÔ+嫵êX§Õu6š‘›ÐΛ9¸¥½®piRHbpU‘¸ gï}øW_;;®ë®ë¦/’åCÜA4 Œ?,ËZXX˜™™I¯ÏóR¿†Û‰†T­f×éu•’y–e¥×XºCJã¥/yýjÏÛP.†a&“YXX˜œœ4M3 ÃB¡°±±ñí¦i¦¬ä€bHœ1–JRÎEÓ4Ó45Mûvo,Ëzê©§Þõ®w%Iâºnz„oíõ®išëº¶m¯¬¬ìÝ»7Š"ß÷s¹œëºžç !4McŒ¥§+•¥l”®ëiÝV:0R!Ì€hH ¦iA!Ä0Œôà“(¯Ô ¤Ë^]œïôzÇî:qõúuID±X–RBH)‰"A IQ Ý–Dƒ 1 $ p®%1¡L%T%^Ø_]¿ylnÎëQA^:<“$©TK·èLѲÝnŸÉ¨`¾Ûnìlº9>5&Xa ªªz¤OÓ×â¶â‚t‡TA²wôØÃÛ²”:`J¥Ršu†±³³cšæ·õ>ƒ±éaŒ¥ôJªóO¿iz*Ò4û{u}¥Ìãž={ÒãœÛ¶ýz²(Šây^ú‹AÊ7Ç1 #ýDMÓt]Bôûý^¯W(R+‚SCz<ƒŠ›””N¤VJN¥ò“8ŒD›šneí¾ëLíÝóGü'¶+–Kív[ÊÔ±@JB8^p)ACH€@"$K¢„©VäD¡:U»eeéÈ]w­n,Í\:n³¶• U’$nì¶p«b"Uœ0-Þ«)`€Óóº}OSÍ\Æ^YÛH„Ô˜ªν€p¹vseumedr²Ù‡<‰’øÚüu:O¼¾33³7£‰‰‰Îü̱ñ0 ¢<ù_.ÔÊLS™¦B))„’À oX’¤6å¸å!ãÏü×ÿúì™;ݾ¢êÙ\Q7­™½ûΟ?ß}÷º !¤”aQ"¹DJÈobúnW€1Äo3lj¢(›Í !ºÝ.€S§NÍÏÏÏŒ"¡ÆBçÐUÍç` 8•×›‹k‡f¹Ò÷h©I®X³ëùž·¾y}Í?³ÌÉU*I KuÑC§ÆgƧ«Ó3%+7Y©S7l]oÍ_¸5=#3ør”Íeª#WÊD:G–J¥¢]‚O·n®ß8»,·\ªäsãªsaæÀÄ‘{NŠ5°,g¶–ÉŒM* u¶»ç—Ñ$Àž?ÿØcïs·RÍ8µ/¡"_͵ÝÄLŒ¥ç®¢É¥€d ÛW¶&·šÙ¬^·˜™wó±±qCUýÕ–sq-ØàA! ÖѼÖãuRÞ[«©1i„år¶V*Æ.ÝZÞm]ÜD+ÜP´”ßhªxdª85bVh«»å…Áᣇv·[‹®/]YC P8òÀ îúQë*›Ý·§RÈ«R¶ºBrKO~ ÓtAE+¦ú¾=nÕÇvBY«T§+#VŒÆâʳÿïs2¹|àu œ[ß¹¿UÍŒÎt$/Ø™±B-K­öÊÎÍs‹ë‹«²ÇõìhØsÕÑì©GmF O §Êj¶×,3èóµ¥í­³ËhÅŠYµ‹™n´>2·gæÄ‰R-ßÔKZv—iZ±\%‘ÚYq6–áûˆD1Ìœ=^›~ä´]¶5ÓBFgºbf‹a¨1jÄó- )]¬½²XÝ[6ó¦5•ëp7;6¢è¦ô¨._º : °s~~æØdnTåõ¢YPžä+£®ãçhþÌçÿp¡ p>¦¾©òl¹žIXQéòPÒÙÜtÜܹtm}ñò®" ¨% ãä£÷躪g´òdÝ,›•jÉÔõ°]>³ØÜèp×…JÁ( ƒÎÎŒY“ÅòŒªvlŶírµI~ñÒ¥…W®°S‰+"±Dn"ÏŽV&så‘™ŠÒÛ;3kÑ¢Þ5(×Å6< ¾:$¾!nïï0¥¸w° ·&¿ës¥B“Dú¾O)¥ª Àuý^xaïÞ½óóóO~õ«çÏ¿:5>Q. CÓ­Lñ¿@¿¡kº¦I¦©ªŠ€dšjX(Ñß RE–e©ªšFöišgšfEÃQ2Äí ¹eYéºwJ ¤ÌÜàqú455IéÛ ƒ>±·w?I·¨ªš®oK†ïö÷J³Ù lÛîv»ÅbÑqœb±øí~ô h"ÍÍçÇuÝÔn %bÒ/˜^kß“ßq`áÉ3MÓ÷ý4g~«NuZûÉdRN!ŽãL&“ÍfÓŠ‰A{ÔÅ›’·¶¥¼ƒ¦i©È¯õ°HµQI)S"#6éi¯×j\/è9ÞînÓΖÖÖ[½¾¦éDÈÔúQ‘”RÊ%‘Ф`œJ!8ˆRH"$"&i$D‹âHa;½>5þ?öÞ<Ö²ë.üÖÚóÞgî<Õ<—]U.—88Î脤;Ó£éâ)½äÝÒkÔÐtÔzR#…Ç£1?73ãõúå|ñå^Ü¿g¯­šÇ~þÒy'ï‹E۶娪ªzwÑg»\ÓLß÷eKHÂD³Ùlw{‹ ·²vöäÉ“¦‘—Å0ðmË‘œC:|:î65ìÆn¼µ!©AX–U,£(ºzõêĪQUEJƒàê“çO*'3#ùbq44Dšæ-wue%9?EßÍŸ3I3YÛ6Ë…ñjQÍòY›èýÕVíæÚÚ•åøºÂt °±64#J…j¶8žcŒ±V¼³Ü¼õÂ.vÑO¼. «ÝÙÕ½~f¬|tüXB…·l¯Õ‚æ.J' (ýõÁü…¥Üq‡MiFYU( !î&[7Wp#D É!haëÒÆDvXäÄQé˜e‚Mé嫵‹ëJ„”CX„X`õ[+ÅûÆav͉\1;Ë9«íôÜ…ÎæKë¸à£ ¤ÜiÕ6cÍeå:jkS9ÆëƒÆbsóü&®à&€âúÂ¥Ùwï½ÿá*Ùb·×òZ¡cè9¥øÌ7oâ™ ’ˆ)-œ/î,ÎŒîÍí/e ŠËv6¶v–êè@'w$›h]»Íã¨z`|ïè!UU‹­ÍîÚù[Û/®â6"â5P$kîšQ¢©PËÏXE«Ùlö[Ýí¥í—–q9E–lö4@E3XÝf69é”J÷ÍAÐmv×nͯ_YÀbá]C¥;˜è6G§£‰p¢hOOíåß[iµ¶ýþV€ˆ9tž yÁ½:síè{NÆzªU4½¢óˆ¶šíKÛá2ˆ@JA ,Â|wãüuëÁ–Mõªc$GÔã­…mܨ * )ðB´®µ¼Ö {`¤\-¡‡[õö’¯ïÔ^lˆHR  a5·Òk•ÙÑj¥ªçÇR·ÙöjþÎÓ+Ø"€0üÍÛ1m©ŽÊåÆí²M÷ë½Û·n­ž¿Škƒ´”0áζ5OhBÉÍæÌž(ØyoµW›ß·)¶=Ä íŠCÿˆ»eÈa0ÆÕØò^£ñ7ÉëQ6 ó„Éþá[·V>ýé÷Ë¿ü¼{âÄq·ÛUTX¶Þl7ÍlIÜBàò° ÆÆƨ®[RrOÈÓüë%ZÃò Ìeì¯vãÛ0eH1$‰¬3›¦9Lü† h•¹Ê½î÷®®!si¨Âú”áû=%]H®™„A Å ÿYŸ#Sëa ¡ 1Èñ‘ öp¯y«6¾L&3Lò}ß—wç ¤N†! ²?KbI–eù¾ïyÞMcÛ¶®ëŽãÜë­3„~%Ðùš©"wÈá<”ÓFF”Ä–e™Ž=‘±³¹ÂÌôìs/ž¢°P(„¢•RªR,¡BI 4IEÂI’BpÁAʨH£4 )óãbÉöž¢h:êGqE¤ÝévÛÝV»:R^__ w¬+@Fhez¯•ÉBgIÈ@ô8á;õ¦¥êÛ«Ë,Šªå’B‰E( ¢\>åòå|¹”5ÌÍN§«Mv‚hs}“1öÜsÏÛ´÷ïßßn·WVÖÎ_<ìôqÎc‘$išA )ŠeY÷"ìÕ?¹^,$QÌâ„PUS»”Ëå ªf,,,ÈÝ^pžræG¡e ‚!îêí65ìÆn¼µ!IµžçI¬P>§ÆÇÇw±HD5Jtª…i 0 ¢# ÏÖž}¾f¿­pâÌ;@œÛË›[‹ ب£ $&Gœ"žn/-}:N>þ¨«w6½ÅWn°[.R@BQh–ù’D¼ÜX^h,ïQ'OÍvÛÝFÿf ›@p‚P)n±ÅµË‹ÕËsßsxÿöÎÎW^ÁfG‡äÞq©0ax"¸ñõ‹}4áŽ_O1aXzª¯}õ< ¡š‚„qÆ‚­n•禄"`AÍò.k½q}]lAåHl±%&«ß\h6ÚƒùAáhyt¬ÚÞj4®mâ Ð"#Ù¡´ë÷Ý ý«k—qI+Íí)2ù'¿ôU4&锈±ö§Ëk_[;5wúÜiUW¾ùÄ“îSm0À8 h@Œù ìÇÙ=Gö7ço½øÌsl½ Ð?ˆA 5öÒo\Ûxáš³·tìmg·îÖÆ¶s‹ À·³®'!hök{¥öÔ•âƒc3‡§½œ¶y{³¶¶-æ#tï" ƒÊÓ¯~ cúž³Ììß»µQ[|î%¸¶"ÄwŸŽ @„úï=YŸÓ{'öî™åwþÒõþ] "ª- hˆ¶»¨]¨í}ì„vb3ò©ù zá­—æ‘‚ 0PÆu¤ céo_BN¯ÍÇïŸÍîzíúß­`´îÖ 4 Ltÿ¶Ù-6·Žmä‹¡ Žü 3­‘‘ cb³VxÁÊúf£ÕnuºùBià…¥ Š¢è”©ªªRN)e©/ç$M3p‘BM… Dó#P9áýA»X) ¢a¼¾±•+¾*ŠBuC1Ìɽ{è‡)sD€ÒR¾H)~ë¿|!0”Ò(dHÁSÕ‚—úž’Dð´A‡nikKÑU¨æT*¾/lmntÚÝÅå•OýûOûAtøì¹ÿoÿ­jèϾðüç>÷Ÿþ»óßëé `†àZš(œ3–"Ž9cwšoGÆF¥µGÊÑ÷|šð ˆÞE" Ñ2°)|›é@ŒRJ}2‹õ…—ÆlÄ´°v·E…j`Œ"åXCVÑz* ù ÇC†i؈†˜ð°M$áƒaq«öüV½Þb€Q$Œft“ ’,ís¨€‹h£}åëÏÝ%¤P,ÆFà>‚õÎÆâ³üYyßÍZ ˆÆÀ2h)H  áZËwZ d²ÝÃ`  ׸» ÿ²&AÃ^æ×À ¸§’*Çßw 1¦hêPŽ2Š"MÓtÍìtzÅbѱÍN·5=3966úÌ3Ïé–¡ª\ %œ€Á)JÁYL 7L-MS×sGÅ8U"¾;Ð2 †Òk2Úvã5¡išl½æx2”0Ráo(©ªªëºòmš¦ÉDQ®(Çq†ô¡¢L&ß× yµÓÓÓKKKcccRÅPÚ•ÿsÇßÍÞò^ɉá ÝÑÛ{‹B×õ;Ž”¾FAãL¹ªª²—AjrÎ%3ÅqœL&s/¾+Ý{…9$ˆ (J»Ý–= r0‡øÂ½€ˆüïr¿ê÷û™\a||œ¨ÚN»›/Vㄇ±`„pJ©"DªA#B”;¶—„r %„ Ê…J#JBEUg¾Ÿºc%ŠYÌ‘3ÞrõFsll¬XÉE”€rP€PBÀE·B–Â4Í„ ŠKÍæ‹H#C0$aâ¶DÂÊ™¬£ E.cÞZ\êõ¦e:vÇz!?ùðCÿé×ýÿúÝßåƒÞçþËïýŸ¿ò¿ÿÎý¾ëy<%~·•\€f2¶©[‚'‚“T£ª '‚ÊSÏ× |·Ç’Ô2L¢¨‚PÃÊFÄEOQÍ4’4 ㈠AJ…E‘"ÁnÿÂnìÆD\¸pAÓ´8Ž}ß/ jµÚ'>ñ‰Ý‘>8bÎpd t(@*F®áuÓ˜r7­ …)’ …š Ð×)|’ "`0m wÄà4Û²yЇà€ÿj2µ¬þN ¦¦I"€Ä (*˜F‘ð;¹½€Ê¡2h€  k½$RSÊ•(`Š¢õ=wôУ¼>ï¨ÂÐÀÉ´—æÁûÈk‹šÌz~oÎÙ{'+æ€.«Ð PFH©Å™—„èÂèÁB¤wÊ%4®kà M¨NÎv7Ëv [ :˜@M¯Eh=€FÑ@"%h£BßçHS$qjel‘F%¢Ç,Îtgð)ˆ ΀ PPª„! Ø@*ЋÑ`ú]Ö_ š M Éêª0° oXšFê‡Q `‚Юà`¹;ZH€9¡8€ "D‚T e)R0„Pch D ¦H\É(6c¡šrdž…B#ŠI#0P”ó…;€”  Ê|Bá`(æò;&ër7N¼©Ò8Öð¡›Ù hR ³ Áù¨3ÒìlòÂEL! 2`P%Öäy”Diš¦²ïü IDAT QÁx C& (T€ĵ@5^’" ÝA‰hŒ"À€Í.@¡¤(‚(0,(Í„D.ƒ)†j  €Ó!o¢½ëoù/,ìIªù½Xƒ<óÞ‹2¼i®œP‘F¢(ƒ^OÓÍ4eAÞÍ[ˆ¢PBUJE£Y›™‰â¾F©  *…B \pÎÓU“Åa¾X`ŒÅÙ|Ö4Í(4ªºQ,ëõz¯×›œœŠ´ŽŽ–J¥¡›ýÄÄD¯×s§ÝnË¢¢t¿“Ä i(„Èd2”Ò $ó¶íN§S©T’$1 £ÑhLNN®¯¯¿ž¨ž$ó3‡{ZJ„ü'Y®”µîl6+ëmÛ&„ôûý(ФŽ=!DJ1ommU*• lÛ–ÌóÛ¶e¿ÆÜÜ\·ÛmµZRO^³ä¨'I’Ïçã8nµZ‡ÚÙÙ™˜˜ÃÐ÷}ù]òCÊår†ÝnWï%I2¼æl6Ûï÷»Ýîþýû]וióиQQY¹•Jrããã«««¥RièÔ@)•ÌiI$I¿ßÏd22CS%“É0Ƥa±XÜÚÚbŒÍÌÌ4n·;;;+%<¿ß FúiišÖï÷Çñ<¯R©Äq,³Ä{³kéLñm‹í;à-ÜÕz^ó9ùÿ¹•v©62¤ý?j¨po[)ÔßétÊå²¼Œ±ïQ@A–å_ïÊåWKv ç|H¸W¿àû»ñÝ}áû~6›¢HB²KwIryˆáFùOS?d‡K&“q]×4Í0 ¥Üãk~¯×Ã5ä‡Ën‹!,rïiò^¡‡¡6ªªÓð‚(My!›O“vÇuÃÞéô²ùBÊ`¨Š¦jvÆVTµ¾S/ç yËôýQ  fsŸ¥µZÇÎæ½€kZ–sþ ‰¸HhÖ.Ä ŠÙîùª®é¦Ñâ˜(Ôɶb:˜aUIá ÂbÉÔ2¹VÇ¥ ºQ¨ª:´LkXvÎan¯¹SREÎÊ?ìD £ºi iݤ)O=/0IU…C_¢cÃvÙI.µBã8–ÓL>Â\×Õ4í­¢&íÆ¿æ\÷5uª7§“û¶¦i…BA®ñññdW þžñ1M Yk¸  Ñ¾§Ù[6óß=ʧH}ø€©@±t&ZBbP?„倞89;‰ßóTpån[º¥«AœpƒÀÔÆX”$25wª†@Âa+¾€€  g`²@UHS´EýÔÓò™„¹rŒã˜Q~g"1 MmÍI€ªA3ôA)‚É¢ mÛ*Tȉ S!@QÍUû¾mÛB(òÚç’A’†¡jZ†œ¥‚Rêqš00E×EÌ8`ÁŽàEI†ˆIQá# ŒC‚@Z0IˆâÕwö€­éFþ Œßí Ðˆˆ#Q úqpglT Êïôþ«„ Nž€ H9Ð\26| 1(¯¦qÕ Nb …N ÜlP! U8¬”¥P©Jitoþ"„ˆ£øŽî…¦hŒ ÈG€~¿c#gت]_©ÌîÖu(EÆQý~haʽ£ZÅf —“…¢p‘\%ºJóŒ@Q‚$…PÀ€AÜ™¢°Rƒ§w ›»ûD6ÝEïîå©L€ PZdP¤§Zˆ6»P´Z‘RÕØ`eÀkï<õÿÅ7É4O’TÖeUUxµ¤*ϱ2xS\'îꓼj€n™Ž<îkª‡¡éÜžé}ûfÓ$Q (iB4 œ¨&ã"LÉêííí!X6ë‹Å`ôz=I—g²$IÂ0tçÑG}øá‡ã86M³Ûíf2™v»Í9_\\ÜÙÙÑuýĉ333N'Š"©¿¹¹yõêÕB¡`Ûv³Ù”éYÇïyÏ{fffþüÏÿ¼^¯K…ù×û}åàJu·!]_(eª&‡Þ4MÃ0Ξ=;::$–›¦iY–¢(Ï?ÿ¼ªªïz×»vvv.]º¤ëú#<²ººúä“OJ£„™™™Z­vùòeÇqFGG¥?‚ôœ—È…l6. …B!“Éœ9s¦\.kšæº.€(ŠÚíöåË—]×Íd2¦iÆqE‘4_J»Ýž™™ÛÙÙ‘v‰Ahš6111 ¤U¹\nµZŽãÈωã8“Éôûý~¿/["‡òò0Ñív³Ùìèèh³Ù\XX¨V«cccý~0HìF¾MfþÍf3ŸÏ¿äòì®ëº¼)ÒP÷tÉ,tX¦~K69†ç¼×X]|ç6ñV‰2þ ›lH‘ÏN¹îä„””!4ÆbÜ䜔k_Ni´ñFmôÃíbxI ¡ƒÁÀó‚L¡Xo´¢”]»±ø·÷÷m×sò…(IMÛ°m»T*pžŽŒV lôvšÅl–ªÂOãnàAÑíl…agc£r uÂ.äwºíóWÏß¼ô²3>åIÖ iš Æ„ÄP5ùü ôîd÷U¥¸w.Ž"MQÇŠJuSÓ#ªh¯¢„„.DG©àºáÜ . §åå–"6‰ }:cƒÁàõ(y»‡v6òñ\©Tƒœ®ÃǶÜäwOE»±ÿJ‚sÎb¦h*ˆˆÂ.! ¡ãÀ±cš’[¹¾æ®m!tŽÑBÎë§ŒŠ­¤ÉHz§]ßÂÁÓ&àvÞf(|x(H9ˆF’T€"F “*÷Ÿ9õôÓO¶ɰ€aj„ ¤é\A:Á©Nð8¹|þf!k47£žï AÀ‘x.LhšRÈë·#¹9•({1s¤ Ò@Ç€ŽahޤI•A¿@Ä¡ßiû¯w¶UP8l` ?ôî^^[ººŠ$ºS~—"òDA4H)‡ ä©>–-Tò¦a/ž¿ÂÂÈçˆR„d¨J)5s™z»-tÀ‚9WÙtÈÂ¥ùkXIšqê#ͱT…³ åÐÐÉØžÜÉS÷5ÜÖ˯ ™óÀ2 ë¢×ë¤ñꃥŠÞöÜ­Võm‘ŠD3ã‡Fî6„P ƒƒ‡g÷Ø÷Õ¿þ†ìÐãÓR)Aš¦^ d1÷ØÉÒÔäÒE÷Å%˜hE¡€F´PðF¡”ÁB`ÇON«ýàÒóMá À9Dš¦ÞàA?t¤adYfÊcÛ°ˆFÜŽ'¡œ(Ž àaH ‚§‰HR(ºíÅ12@àEQª€S ßOS (|'m#‡§&Fféö‹é6z Hb=M¢(\¨T€Y={ÒÐèÕ+“:¬,zõtÀ;WÍ8 ôC€ŽìÙ}ŽÜY]ÛxêzÝÃ0 pôÙþ’„H"ǃ½žIƒþzÐMP¤.ÐK@w7˜ï ˜x½ƒý½ÔTy€yÄ ùw|=¹·6kY–BãR¹ò¾÷½ëí)ftp ÁÓ„¥1Ð4M׬^?PMgs§{áÊ|«ÓޏHK&'Çw¶Š¢H¡;iA—Éd*•Êÿø¿ï}ïÛÙÙ)‹²–(›Ÿxâ‰/|á ­Vëmo{Û‡?üaÏódž,©ìO?ýô¿øÅ+W®¤išÍf)¥ÕjµZ­~êSŸš˜˜HÓô‹_üb>Ÿ=«gÉù¿7!Ööå_‡DwEQ’$ù±û±3gÎ4›ÍJ¥"/OÊI<õÔSårùãÿøâââ“O>955õ‰O|bssóâÅ‹®ënooÏÎÎNLLd2é åyÞPV@~¸tÚ[]]Büèþè±cdžyÔÎÎŽëºO=õÔç?ÿyÙQ/Y-ÙlVg+•J·Û­×ë¶m !lÛmµZNG¶~†‘ÉddÏ‚„²Ùl§Ó)•J’!_,)¥NÇóæuýÚBýÖ¥åÞåzÔIÀ((0î ö²Æûà{gÎîtšÍNû½9»tu!Y«÷ž] ž4Ãú²çFzžkXjÕIAÚñ»öÃÓþ7n‹”+Š*7vPا‹¼Lk¼ C‰C%§—-jN®¼nÿv"º ©y:{rÿøé)~”äæûagî½Gæº7/­ßxò&Ö˜#Š’€òÌŒ½÷¡c÷Ïq5¶™¡™{×çÚKW¾õBº ü>KAÖFÓM{ð~³èp…uûmëè1=±^¸í^Ø@ŠH À,Œß¿çðÙ“jÖLt2ní}ÿN¸­ÖÚ­­o¬À ÀT„¡Š=Εö•öéÕB…ŠC^ÒZo¬¿¼Ð½¸ÆšhÑQ.²~*WO½óøô‘)dyÈ‚|àƒŽ·qckþü‚˜à#LyÞÓ;®ž;÷@qv*±µ„ûöžÓÞÿðÚåùëKá­v4¹£á@}hïɇŽMN—ü~Ó“½Ðo]߸ô—±ÉAY’²4J …+]g©õ˜]15[ r÷9î·<0€'  ‡Šì鬚Ë84IS0n:¥BØùçzß\C*,BSÆËU³î†êáâ}ïyÄšÎùÚ 0Ü|âÝ [­ùÍWžŸG¾ °J8øî“{ŽE((üGöÖ··æ_œ®ôØmÎ8B'D p`R?òȃc‡æRM0–ÌM>vîH¸ÓºöÜËÍk©ÂZp œYçÀ™ÅSSƸ㠿`eN}ìäò‹‹½E×}n©eÊA{cwŸùÞs¨WYáw‹‹C$B–âÔ7ùš†èqëºN¨ ¦iÌÍM8y4—5IØ€ˆ Bጊ1QEÄUƒ8:Ÿ—¸ƒlQUÕq™€¹®KÙ³gO’$ív[!É,Ýn·R©”Ëåz½Þh4FGG9ç²É_ÚHFF©Tú~·ÜKYa§‰tý ìöÛË,ú­J˜‡š‹øvÁ™H×ö)õV‰2ʹ÷ƒ3nC:ɽ$‰ÎÈ7ÈëÄ]ÿ‘×·!K®,Û¶3™ŒäݼQãp¬dÏç<‰Ã~Ï ãh{{»×ë =U c&űq3“uÃÐ爃p¬˜9väû_Aƒ´*COÀ"ðî¶¼þ/ÿÇçM½ za,z `<ÔYÇhDU]‹ÝW4AÐIQ C (©ã蹬íd[I2¨7=ª0ÓæV,Ê?M €¤*%Šž/è9GçÉj°@]ï'ŠNa0¡ƒ3ÊAˆPÑ5jêjÆ0>øÞÇμã‘N»±qóÆÄÜÌ»:7­%öo}-ð}K†ªiB¥ùŒxL62»@€N Ùl>ŸW43ŸÏS-`Da‚¤ù|Þ²¬( Ò4¥¥  œóP„Cw{•SÞ¨}FdH”Mn&BÏóþ‰õ‚{[†à×ÜÜœ|Q©Tr¹Üµk×$ ºÛѰ»ñ¯¥lp•&‚©Òü‡¦Ð ŒŸ=˜9:–ÉŽS <Þêõ0Nrîëåãào—àÀàH‘Ì…£æõþ¶:š-æK•Š­vVã. D]”)F2¥ãcΉJ·ì»ÄÕ,JqÆršê-éÑÀQ°àzæåo¿O™Ð£-Wó¢AÚç¿xk= /"B夨¼óýöÌ–­Ø‚()À5÷ñ¶~û×çÿ+V#Æ (˜ûÞuŠŽ*}Ù\g¥˜­T²¥ÎÞ¿Ô»q}sCç TUtòì”y°@æÔ8—ÔDMS„­dÌcö4›¸ýò–щ#è€ uV=]ɱ¶ÒíZTS…673¥Sbwu| B@Gþ¡ìÈñ± ºäòNe"o{4òàˆjŸmc)è µ‘ÆõÃ9k¬´Ók+YKOÌ\›îÏcëê Ö+æÜ^ ‡ÒÛef‹±ol®9¹lu²0–ŸdÜïyM!ÛQrã{¶ëëÛJ:sÿ¨bò=ô®Þ%>P „9”™Ê'Ó\·í0õ‰«¬Ó{~Éxe`ÖÐL€ÆéêÔÛf«“c­n»Û tM-Ël.—eÛÍè&êw oüýÐ'#?)6Ýökåéb.›œ;¼¾´ƒ‚Fw·©á_|^Åw45!dañÞFfyÜzÓ;8œH ÿ|>ϘEª$™¬¦ñßÿÝm-_Ô‚iTÑ•aÄÂ(-MS=rã]?ü±JÁ,e,)•JÁ |×cïšžžVUµ^¯GQ¤ëú /¼ eÛÖÖÖþäOþduuµÑhHñ‚aqrffÆ0ŒÍÍÍ/|á 7oÞœœœÜÜÜ<{öì¯þꯞ:uêܹs/^\[[Óu=Š¢·¿ýíõz}uuõäɓǎ{â‰'jµÚëU>‡3Ücþq/[æ6¦if2™ 677ÿøÿx~~~aaannN‚MÓTåÆóóóµZmcccuuuyyy{{{gg‡rúôéS§NI‚byy¹Ûí†!É2Û—š¾ï—ËåZ­Æ9ÿÃ?üC©f÷¹Ï}î7ó7yä‘N§ÓjµÊåòéÓ§)¥›››=öØ—¿üå+W®|à8qâ€N§ãºîÅ‹÷ìÙóþ÷¿0<÷ÜsµZM×õǼÝník_3MsÏž=ÇŽ»páB†–e=ôÐCãããý~kkë™gž¹uëÖøøøúúúã?>33#ÉêO<ñÄ /¼ „pgnnnrrÒ0 Çq.\¸°¸¸(Y0ß×Ù9t *PB¤eƒÌÂ0”\•¡$ä[Õ)0Ôb¸w^I á5 oá”$ÉÔ¸áúÙ½¹ÒùRB2Á“¨ÁëqàeS’$@yž'õS‚ xG[î òÂ$8^9WÐ4­ÖÙ¢†Ójvü0òÂ0 åòü‚U(œ™È󩥯­Ü>ßèô[­‘L>ŸÍ¬×n—Gªa*ÕžøûŸðÌùa&iÊ á1>ˆ“~˜lì4œ|ÉVtŠ&¨ ÔW5_Q×:Ý[­†`<£‘BÉô£Axyc£æE­…Ä#¥PXà ÞãN§ï¶j·›*HÊ“ˆÆB$IdÁ)a„&LQ ,ýCúÀɃ•0xê+_¹vsñÄéûzä'÷Ìò™‰5w§×kt{¡¡jAð$ ýÞ·Y`ÜEšÕØÙÞÞªuºýž;è¡P´Aõý`uu­R­v{mË2xÊ•è ¥”êªõ];Þ(íEQºÝî`0°m»Z­Z–5 :N.—{½›>\Ë÷²'²ÙìÂÂB6›m6›KKK_ùÊWÇù¥_ú¥·v)íÆnìÆ›÷Ð'Htš¨$#p ‰`²£'g¼\Ü ¶¢Íu·5 Dß?eîµÊúØÞûö“^©Â'‰¯ˆÜxÙ.å»A?Т–Û÷SwÿøôÈÉêÃ¥‡¼G{*Œx`M‹ÕÈ5óÓÙNÒê¶z‘ær9bhö„sä±#ìþÃj «±Æ¢¸ínOïÆþ­å†ßŸ˜›ÛÛÜlä2y-ár!%P±çÄA½¨dsY3I.¾r-¥üè™ÓvŤªÌ4¶ƒ>×ΠMÒâÁò†ÖT ‹ÚÞ`Åíç³I1_˜¬öWØóq*ð”L’ü±BTf^êo,¬rµedL.k(;åBîØ4 ˆ¡Z†¦‡‰—¯8å¹j˜¶{›ë<îÚåRh¹…Ã…3Õ33-•SÑkÀâÂäˆôW—oÑ^ÎçŠNÖ)–ö¾coîP•w‡Å±KÙìXesЩ º7V³Ž5‘+8Ùž|åh¹¹ÞŠ|  ‡JöÞjœç›½ÛÒ=•øS…Ñ}ggË™¸Š“&ªGZ^-ÏiÛƒ­æ ¤¾£8#ÅÑéÓ³ù±²ÿ`h³LVÉ1ʶYM/hËuýÀ÷à ÖC½[“s3sÚÞÜñ’¦¨”‘ÔmÝÈŒUÙˆ2p{õµåÄíØY«::jŒWʹ"fó¸Ò„÷)`¢xx¬:[YïÜv }°9HãŽngªÎÈèÁBy&_¯õ %`6¬ã{+Çözn{ƒn£GÖÞŠ¢+Õƒc¥£#íÕ>§ŒŠÂ\¶t´TÏ…›q=^Ysk“Å‚1êdgÞ6vÎÿ@§ZÇ^’ÛÐ+y‘Ñw’zme§Ûogkjl,SrÞö‘‡Ý·{®ï $‚3Á …œ>¦­·<·ï¹}W£±êꎕ;31;nOi£ºÐ"À1ò“ÙXó›ýúüÅôðÌñÒXÕÈe2ªƒ p²ë:ñ½ª_#r/„ ¯IFd¼Y „ß›ÉdMÓ¤—¦i¹\V7ÔkW/=~fÖL]p¡R(DBÄ Òõ’®ïn5ºB(¡ß,-sÿÓÿðcûÈÇ%“ßó<Îy­V[XXˆ¢È¶íR©´oß>Çqd6.5Þ]וn”ÒR©433#¥òTUmµZ/¾øâáÇ?>33S¯×‹ÅâÑ£Gßþö·?óÌ3/½ôÒ¹sç>üá/..ú¾ÿ]QYäºÞ+‹øšŽ˲2™ÌääääääñãÇ-˳,ëÆA|ìcûÅ_üŧžzêw÷w !¥Réãÿø7¾ñR©ô¾÷½ïcûØ¡C‡4Ï|æ3ŸýìgÏŸ?ã8N@¡P,Œ^¯755•ËåÊår±X”¶÷ßÿÁƒ¥ Âììì‘#G~åW~%Žc)¡OùèG?ú“?ù“¦iƒ$I~þçþ³Ÿýl½^ÿ‘ù‘}ûöýÆoüÆ·¾õ­3gÎüÚ¯ýÚòòr§Ó¡”~ò“ŸãªðS&'¹Ì}øƒ<6`1ÕY0à«djÛªmYÅr¡<’) #»Z`Õ EfÛÿî?|ÆucÓÔYÂLU!Lx=wf"?¿ÖÒí£E IDATò:”Œm²$âD×,èN6W)ãcUËðÇlM0JôL''T‘Bå„2B‰ªÃRtCá¿1¾|íºßî^øf”–}r¬œºc\DœsS7¨€`œB¸PÄ· rš9333>>®jf¡RͧL5íAõÞ‘ã'>õ©OùÁÀq,"`˜ZÖ¶ à â»S'Þ(bÂ%†a¯×cŒåóy©@ü]ß/÷·¡l’ ιëºô¼víÚÉ“'ßÿþ÷Kœ·j]ïÆnìÆ›Œ QÀ 5Jb M!ľûN˜E;r’•ùùàÂ&bŒíßW±g iØÞzØ4$Š®é¦nÙ–ÉCw§¶ºÞZYA'lpîÛ?7«ç)1ΙFy·Ûh¶Ù0«&ÝfcóùXAó(&÷˜›ž£& ,? Œiœë|öðt½±S_os»¹xzzj¶\dk­md,'ÐIª LF“þvscyWBŒ#ñÍ£×o¦­A.-Y¥v­½»Ï|/Õ»×b ²‰àÛøf‰AâU¯‹{C¦â¶e)4ËeòYK„®J}*aÄœsͰ3?61Ó ‰¯æC°X¡Èå2•JåCúP¹\~î¹ç¢(Ú·oßôôtE­VKUÕN§³gÏž~ðƒ¦iJ\ƒ1öÿãôqâÄ‘#G®\¹ò]ßf³)åâ ÃIŽLc Ãx Ð ßÖl6¼ûÝï~ï{ß+Ç$Š¢ßú­ßr]×uÝ¡<¤k¼uëÖúúúáÇ?ó™ÏPJ¿ô¥/---9Žó ¿ð ùÈGZ­Öüü¼ªª2µ“6ò’¢(ŠäY|ò“Ÿ”µµ={öLLL\»v­×ëu:ÅÅÅR©Ä9ït:_ýêWƒÁOÿôOÛ¶ý¥/})MÓjµú|àãÿøoÿöo¿üòË÷ÝwߨØçüܹs„}ûöÍÌ̬®®8p@!ѳgÏ^¿~ýOÿôO‹ÅâÏüÌϼ÷½ï½~ýú³Ï>û³?û³¾üå/?óÌ3ÇÿèG?úøã_¸pa{{{ddDUÕ«W¯6›Í[·nµZ-ß÷_¯ø†c ÷Jñ ïÎP&PQ9ªo•ê»ìБ«÷5ÅOEQ†VŽCjÒëqÂß„ø7¹‡\²e Žc)>jÛ¶¥ïŒ$=½Þ/•¦©4(޹ôx£®“"C¤fšDº¢0Æ …‚ dtt|uíöÁÃG.ÝZ¡ –aš¹œ]°©¡´î¯ÿßÿ™³ØP¨iš‚ð$b`D"Óï%ûfÁ'I†>ïDZÇÒˆ˜ðc&üˆ‹â(ípIýëøF§ÓžžžæiÜmµMMt;ž:vŽk‚)V'1IQRN9Uâ8äiŒ4æ K#N˜©.T-$ !L€rB„ª¡ ~óÒ+µz«PqR^ë´»ù[µ¸¯+®çµüÔ‡`ÜÔtP‘¦Œs¦ÜE†ì‰4U(…\BÞ„QÇKKK[[[„ E! ¡ªF9¢(<ÅkøGòÅEY[[+—Ë”Òååå+W®ApðàÁcÇŽ½ÕnH—¸k`ŒÕëõ¹¹¹ VVVÖ××ÇÇÇ9çõzýû-Ž»»±? Á)ú”é––&LµbžÆüàþ¹0p×.µMDPºè¿µtËçf§G¬¶9®±˜rašƒÈ2µvëfˆ(ú=Æ¡IwüvËk üîžé©ƒ‡'š‹[¾»PG°€¯#Œ»fV0#rÃëi9Õ4²jõ£ûOšªrå• ƒ[p€µ¿¾üÀ¿y,› œ˜ž÷Ÿ2•ÙѦYk¯6·nÞ¦>¸†ù\AT§&Š“9䈢R$TQ°ïÐÁ†è3-l/n²K@«ëŸHê|;PƱQ4ºp ô°|hlËÛÜé­7®×Üç<Œ;Ù%–=™9zh²Ÿt×¶–¯/i–fGZƒFé@°. £¹¼óäRпyþ›½k la²mÔþòÅc¿ô.6e†ý¸ë7Ô Ñ5¨i gª0¶ðâÒúú*`€àïÝÚê>Ã5Ú`„yøÿØ{Ó(Ë®ó:lŸéNo~¯^ÍU=Ýh Æ@$8‰¤,Ñ¢lY2­ˆJœPNVò#ÒÊü#¶WþñG´”¬iYҲNJMI$EŠ"E @ˆ˜C£ÑÝè=TW×\o~ïÎgÊ[Ý‚H4MÒa3ý­^gU¿zõî½§n{¾ýíooCà:NPw+Mæ½ðµ'Æ= Áêù×;ó-¯B’`z~ÌÝÜ '#^ª²×;щ8‹•Í3îO‘¹Òüƒ¾}ý›çúÝþ­Ö‰·hxÓ‹öMV—{"ÖÖÚwh wKQØäXk Œµ¾ï-É® aõv6u®ÈóÜ:„2’çùpØ7–¨úÎæÆZIÅqœ¦y¥\_^®íßwpvföÔ™Ó¿ù›¿•dñ¯üò§>ùËÿ0Ê^às*r%Üyì®vkÊÈ•œ›[èB¸ ÄZ"'Ê  – ×L¢°\.—*åÎ`Ô?¸ÿÐ?ü!ãpR©Ô6¶6¸ïþc÷Üýúëç,1ÄÒï­%A¹´8¿4=ÛöÝ Í“ñp2‰ÆýîÀE ' ÔK)'ŒAÙÇßW*Hó,šÄ®ïy¹ ãÈó‚Z£>™DqšÔj ÇsïºëîF«ЗO¼rþü•Z9ŽÓÕµk<òÈW¿ö—çÎ]ÐÖ0&´UUF3&¦gg„p3™Çqú÷ÿÁ/xŽ{c6ò\¾ãHž«Î6mÍoþæoml­ß}×=íéé—_>ño>ûo[©L¦GŽ}ÏC.|å/O¿~À]w[xîùû¸w·Ûžžzä‘$YzðàÁ³çÏ¥i^­×ò\•*e!Üo=ýÔÊÊjœF“QøÑŸþØììì³ß~nccK½±±e`½«ÑjînwJ•r¯7øìŸüñÖÆv·ßÂ]XjF“ø-çùm÷œˆŠ»šF)1Ö*J9¥Ô˜¢Øh­µ”rÀXKÞ¹óù>£ï—³ÄX\e4çÊH•kî0×ñO0µUFYe$¥ü-¯·0i~çÆï3o?†£ïh-±vïèÆ@Ê<ŽÓ$‰ pÆu}Ω®R9!Œ±¢«ë->‡ö& výžAquÿþçɘ(ÎVk]Ü“”rJ8á4 Ãf­ÞNæöžLº¾çø úIjU{Â¥síù¥åùn¿SiV™+’,¶ÒX?¨(‰ÝÝñm·Ïw6ÆmcmcpãøN¹Z jSâ"à~ÕmÎ4¥ 97ÔcǸk}scyy9'dÿâBÅ/ºc/1Ö#1›:ÌÁªíù ½äpÂÕiÊxXÁ|?ÖC•µV+ J®àþ8I½r¹^o†Ñ––JpîÖ‡ÜÍüR½Y›ÒRc@¨‘*KÓZ½B gpû7 ŠûNµîeá'n©ì2Æ\o'Æ×å’/„¨Uª|£sQép÷¸ðægäÛå¨wäÈ‘Éd²ººÚï÷[­Va T8›Þ å|³ºÊ×ï¹çžÝÝÝÝÝ]ÏóÚíöÕ«Wó<ÿ1 ®·âVÜŠÿ€6ôÒêBÁ‚x”fªÙº4¾|Çí»›—äÐj…æff룣d¬dje®%””D¸u—°–ã­r€˜µÒñ*%âg,(U¬ÖÑÖúJ…µj¶^þ˜šh,º[1QFˆ™®Õž3V£á¨SoîãI.XP-A«@ GK.!ù8\hÔQx-h 1Zf£Ñhqiite4º8†Ûïï[Ü¢ q©aA”6õ©úµI— j`Pšâ†8^à'¯^·Y†$ƒ©ù©Lô½²¨Ì»‹ú@™—½€(ÓÛÙ$»:O¦êÆXÍ|W bÁ<_9<ͼ’"ÑvœJ’‚ƒÀ0‰Š_]š]ZéOp5ÂÁ¼ìÎ;"šäœ Tò$#’ÙÜf%ÆŽß}ô›ç_À Ñ>އŽÝÝÏ¢ñpÐ렀Ăcº\•&©úÕ™ïô•É‡à ‹ÃШŒÍÐjWU4ÚÚ\%UKrSvüDLj@>]iMW#X Ržæ\ ­²ñ¨áOÕz¹^[5´Œ…åVž…„ƒiMóœiëqA%Ò<òËÞmËs;;«a'8tge~vÆ*ÉG@‚Pê{¥ÝhKë4­”« t§Ó™vfÒ $£]ooF+ZÊ&§àT”dãpinnOôO¹•jš[äƒhëL¬“¬T'ëÝmÒ¨»Š+&Ïg9´´Yœ•ËÕ}ó‹*MVÖÇQ^ÆÁ¥C\ B9•Ô±„;ž„MFÉHKåúüÒT6î¤=ÀÇüìÔÜÜtìð00n‰Ð‚nH]¸MZ†W©LúÀ4D‹,ÎΤƒÄñK`sgÿ­x«õ‡À’¿õßbL®§÷†\›µöz'Ê›[¼ÿ@ƒ¹Nx+Ðâ‡N™´ Æ”Pš[[ áò8™4k%f³v%à2uuVæ|msgÀsÁ˜–Y+kL¬ûÝqÖ›HM‡¥r30"œäýI¾´xP²²ºæù¥Î ÿÜ·_øÇŸþÏÃq”«ÝîÌÜ‚~ÿ_þažäq3°0 ã$ ÊU)Ç„ëÒXÊ(w\Úé ZSÓ‡n?’fº?ÏÌÎk‚{ï{ \­[àúŸÿ ôGc üÌÇî‰Ç¿5‰'VÙT¦yš• pƒÁx°oÿÁ³Îþ7ÿõû+¿úË“QT©•6×·ã¿ÿ B¹VÚhC@((('”P.\üöïü CÌÕËW뭺ÚåÊ Ê„¢Û6šS–0Æ™¶$—zv~Ñõœ‡ßû¾;Ž«5*yªK…V{F8^§ÕRÕR›¥2WfnvþÚúÚ¡ý‡˜p«µÊßû¿¸0»ÊôÀòÛŽÜöŸþÊ"|ïÌéóÕzÓRÛáh²¾¹ý³?ó‰\›•«×üR%N2 ³¶¾¹ïàþñ$¢‚nïôî¸óØò¾ͩ駞|êÃýðO}äck[›Ráâå•Ýî0œ¼râäÒþ¥öÏÿéÆöN¿ÓæÛÏ|í+_kÏÌ‹÷=òþ»î<^­—³Dº¾ Àüâ²àþ8Œ…ãM¢äõ³çƒJ@)ŽCßñ 1ÔÒwb ±ÄàM#£”y,‰3ß/É\ÏÌÌ]ºx¥Vk8ÂK³˜ ÷;Ÿï320e•Ö0œrÇcŽ€²ªßéSPB¹%Ì‚ZÂ(#œ3Nøx½oï¨$ÞrÞwßÑãÞl´†dyB BÄQ:Ž33s+WV§§§]Çâ £Âu}% !œßìsÊå*,ŒçÅëž¼]çi4<߯UE§ÓY^šÜãØrVn5R•ùe¯?Üúö3—ZÓ·/7EPãåJ¥ÕªµÛ•F3¨”Å‘ã¹K#ߤL[ka,4`ì±#”bn[N†“°?TQ½œÅ½Ã—_9ñÂ{9î—ýÒT«:Ó,O5D­LW;LZ}ÛËBuç³$‚ÔSÍZ7U¤ãI&:ŠXÚòh<ìÇ‹·?ô÷ÿ †»<‰\J¬6ÊHZ‚¡ê. ¯[Ó;ß”tÆRù]rý¹Ãp½oHé<Ï¥”øÿùÿ‚ò Ûl;nœ¥2%YZ <ÁˆQ¹xI˜5JÊðæ†£·K R)5çççï÷~ïž{î Ã0ÏóOúÓ7cLìy•ÿí"!¤ÓéòºÖÚ¨pº…5ÜŠŸ¤(ăoÇ ÖØh4ú‰&*¶XˆÔf/1{+w]®iÕº"¶pÄ$S  _ýòW?øéŒtï¶ãwuÊ›£Ý¡i¶Ôf^#i¨*×Óe- ´-ùee˜¥¼47wÇûœ —/Î.ÍLÍN•ÝšNÔîåÍf­&'ªâWJAUPßaþÌÁ%%øêêêâÂr«Ý¤ÏØœ%‚f´iDYjA+6¦¬ê·ìf騻ÊÍå;ïÝ«ýsó_ùÊc{Eò0؃èºla‚gŸøëŸúù9¾»|ÛáN|Ö«`áÀbõð”å`@R]¦nMæ6qî9¾_š®Ùû|¸;×6޷ߪö“IœÄ¾j´,Ót8—kK3í:n³Ú¸ÃïM%SKþÒ½wHm¢Þ@‡jŠ×êÙH3^*7ë$t±^~xyzþšWó–Ž)5êQO~íOÂhsZžzò•÷úc£ptï¾ð׃ýµ…ƒGì¾¹å§þÕ“H‘ÔaPúÉÏ~ýÿÅǪØUñ`~5Ž,î[hÔþì_ñY\»ž†:øëçŸÿ{Ç>Q *“v”x-ÜIn{ÏÙÁjir)# 0ÄáÜ3ˆvêSÕÅ;g'´7è [3ób±‘;A>Ö¾n7l)S‡KxïX‡TÌΗpÅëÌï¯ÏÚ§SÕdA²+=Ùh¸ ÁýLi6’Ò‹ýÅêáÊ‘W^¼À§p×½ÇÚív?ÿÅ_<‚s+þXÆÀ–€qJ-%–@[£1°ÔZJ ¾GñêÇ¡Ñ@Šm¥¥k™%“â:œ˜Œ”}oªVm5š¢J]š1 M´‚VÖMXs®¦X©©²ÂCÁ«hß÷µÖ®ëçZù~é¶#‡lîlGQR®U­%ÃI¼¹¹½±±Q0¥‹‚,“®ë á†I<Ž gµZ£˜ß÷gfæâ,}ãK›;ÛAP~ÿ‡>X üÕõ­+W®$IÒh4~è©©éã÷ßwòäÉN§å €”2JkÉ$Ž‚ ìø™v{ÝjµÇ)‡sÃ&€Y F)å£p¢4Ö67F£Ñúúzy§L)íõzFC)c)u®•®!C0j-Géo¼ñè£ÆqÜï÷8@yíµ×ʵjãñx8•J¥……¥ÉdR*Uší)!Üþ(ìvûŒ BȳÏ[Y“)›çŠ9BX# (å©Ì‹c Ûë áLî:ʵj¯×»|uåá‡ßóÀCºŽxæÛÏq×9~üøÃ¿OYsñâå0‰gæÿä󟛚š:~üx½^øá‡Û³3ƒÁÈq¼0ÉNœ8ñÄOT«Õn·;¡¬µÜÒHm”%†&óxÜÝ z»Ã1u}·Ró+U7¨×£ÜÉ…Õ-7e†PcˆÑš)0kUœå“0Ç&Ï(µVK­e¾¶¹&\îÔÊn­,ª%â»Úã†ÓÆô¡„0k¥’YŽÔÊlje«$$IÂdê(éuõô>„cŽ…ÌF< b´R™ˆ¦–XX‚d®û–¯k©Š¯A %ŒPÅœ \SPÇuKeîùÆÂhÇ‚q bµ1Öj­'£qa~\¯×‹&¼ÉéoŸFCÑ{ž×h4>þñB¾ð…/ø¾_üNoÆh¸ýÊ©„vË…RCµZ-:hn‰AÞŠŸ¤(P†B9¸ðôP(ÔÜ ¸†0K`ì^žmè¸;ܾ´^»³R¡UÚæ³Sg¦¦ËSÕõñêðâdüb§"ýÔÊ ™× –o_ž?°Ô>´È§RË‹ª~Ùdzwm'}=œH òÄvá[‹ÓËwÖ[suãÒ'óûçµ&—X¿tíê™+QwÏñíõ[KóÕÃÕj»rì¶û³ˆ!„—–§G×zkW·÷PbHœyéõ<ò³)Z˜ƒ½GRc8„-V?óò ${׌Õx¥Ìx¼)¦ï4¥ö¸ÑjUIe¸Ñ_ì"Ý«½#ƒÚŒLŸÖ¶äœ­7›¶¾ÜnÍLM…£tãüÎÚÕm“Á÷KŽãä¹”žn¶+Í¥ŠZœ.7™×ªUæ—†£¤sysëõ¬¹psµ1‡+Õ«õÃ.ÍÏ LÁ$®ñé—ž}yks§1SÕƒa8µ¯õàÞ;–£J£½ï˜.3Ïj“^÷»›gÖ ¶w‡ƒîpazéàÑãåÅùÌ*×õ|QïÆñÊPöÇÔòI’eqDÜÈîwÚûEP*:~ûÌá¹V«Õ(×õ8ݼ¼víÜŠ ³2+1Fè4m˜:Ô¶Y¿Õ¥kuªé >Úí÷ßØîŽ•ÑBî–j^»?÷À²[ÕåE¸‚SÏ-g¡ {±^B„Af!¯ÇWzm¿Q®e·o» ó^¥*rÖ[ïLú!8 ` G¢ãíÑðêvi?÷ÚµR©íH߯7¹ãׇz#G¤bL. ·Oo45÷ÍÝ>5;³Õß)-N/OOo¯í®_ë_등u,gœhª÷ݹè8DkfÖ«Ö«õ¶ Êaʶ®tG;ƒd2àL[¤ðÍÂmóÍ» Ò°¹t›ö­r£ä6õ0c½ÖõG›v-WV¸ÎÒ¡}µc·û횪y/µ-55Q톯o¤—'èa½ºßeø› ù[¤X»Gdxq³ýÉ;4Øïia¾9xžçy^NR™'iFi·ß³ñ·!±Vp8”«óL¦™ üúü ¡[Û«£É®2ÙÖöösÏ>ùÉ_ü¥ÛØ¿´Øétf¦Z ÖX^ÚÞÞ62”,ÍÏ¥QȰ×.n<7æLÑn6ª¥Àa´ä¹Äè4M>üÁ~ð—ÿÑ/öº:ÏÜqäÁûïÇ_üüçNœ8‘$ÉÌÌ ƒ½çž{>ôþG®­\Y½rÙw„ïû*K‰1ÕR`=œüÉ¿ý7ßüÆc½^offÆq#sN g6Â()œA8ƒ™j9 µriÐí”ôþÑh²¹vm¶=õÀ½Ç?þÌ3ÏüÙçþTkÍ`ïºë®V½¶µ¾V Ü#·zìë_ûö3O¯/6+¹–”KvTvjwë™Sò @ `K¢þH›Ö˜[vmÍò*³Ô ÆÝîùóÏ]0',&ÈHì ²™†é‡ÆõŸ›Õ3^Ï' Ô‹õàôîäÄfïd(‡IÁÕh’飷;e¯]o(1eeɆ})·Rl *’;R1 :½µñÔéý<$E>³8ϧ§'‘ Ç“•W/L.u¡ÀnˆÔȯ­Ÿ=uúØÌ¾ï›Rk„Jì7¶ºòâËg·Î¯!D ÁáÀô1xùÏtùpÛo.&%Fœl†öµÝÑËW² Cê\O+KÆ!•ùÚb½ªZTxe¥l’æo|çVúè r÷J%*Ï?ˆr%— ¦¹—WÉh²þüé«_îVÉxó²2Õ©£sºR¥W8*óMW:»¬6Âhhr›ÝzœþhyýßÞ/ÝàcRBß a˜ýnš8¥Œ1F°”K'Q¶µÝ}ðØ2ÄZC‰¥Ä@cŒ2$Ê!üª Ñn7çÚšŽ®\»6žtÏ=sôÎcÿÇoý¦ú½€8Š6·ÖÃq4õo;tà?ûÇ¿ªrM9!–r‡ æ|ã‰Çì‰now4=zäŸüÚ¯õ]Wx­v³Rªv{Ýo?ûü_~í+¾çýŸù˜ëð3¯_:}êT’FJê³çΜ>uꡇÞsÏÝwï?°üÆ… i­¥ÊîRFx³UO“dm}5‰Òá¨CêÍšçºJPb)å†(#]á‡f¤ŒÒ\¦ŒÒ4‹óT–*5F8ŒAɃµšµz%KÓ««WΟ»°¸¼ð«ŸúTš'žã¹ãðéSg.^ºpùÒ¥4‹ËA¥V¯hiúÃ#<Í“p21 ó³ÿìŸÿ¯3íÙ8æfæÓ<ÙÚÜ~ìuòÕW§¦[žëÖj•­ÍÍÝîÎÓO=uäŽÛ~ð¡ÿáüïv¶v§¦[‚ó—^~iåʕݭ+—/¨×*¯>Õít^=ùÊ ÿÉF³~îìÙÕk+0äÚÚÕÿê¿üµã÷Þ}ùâ•þ°÷ðƒk«â(:uúäsÏ~ûýxä7~ý×Ï]8{ìλ§gÚO?õÌŸù‹3íÙV«Q\£ë8ÕZÙsÝBqàÕh¸™rã8®+´ÖB0ß÷=Ïq]Ï¥Œ}W4`ˆ%†‚J RçZQB­çºŽ'\Çá+(¨eô‡»Þ·k¼Ù¼imßÇñ|ß%„QŠJ¥R«Uažç\¹r•1B)‚¹®kŒÒšqNß.Í…A£Ò‚Tåzž×u+¶LˆåŒqÎLpM(”ÊŒÒR)©AŒÝcbÌù>¬¥0”Z ËÀ@M¯O”¡Æ:„ N¨QZk kÌeJòPå„Xf@)¨Y¨Õ•ÒZ2©tžyašfÒnl0F)%šˬ&PV+Á,a,ãDSBŒbÔ^§³Yü £S›zK Apn®7ü€PJ(cõ âe²ßï—J¥âQ—$IEœskí›Óû8Ž}ßo·ÛxS3àÛ4äy^xC8ŽóüóÏèö÷QB½áÉ¢”b×ÃS8(ž»„r¹l­ ‚à–ëÄ­øIŠùùùâOommmii Àx<¾*÷ÿC ÁX͈) VhC0D÷ÌΣg]|`î‘{>ÐZ»ëýK§/\~í"Fà‘pà«8¶®‚^ÄÅþå˳+|øƒzl·ãÝx=ëžëŒÎM n]Êà¤i&ÑÉቕK«í;fë3µÎz7=? 0x¶D“¼Ü´ƒóêÙÕgæŽMßÿÑGæ-ol®¿zêµkçVôV†°@ ¥ÁÀµV'¾râïÞ÷³ÂIo ‰–y–ŸþÊ‹H…€y±Ž­bl¼¼6{Ï\ŽË~Å@“‰ôê™K¸( #ÑÊdžâõ§/¯_^oi-ß=ëµÙÕîzçBot>Ä` ¦|—¥ˆ'g'»†BéÒ@V4굯¿”]‹º«B B`Š4èDtæÂ³ç^ºxßûï;zþú‰¿ê}m90S¦ô*^ýÜ™W¿ufá§Z¾ëH+|éåçÃ×/ch|n™uÁS£ÐÃÖó—·¶wª‹­þôG†»Ý•ËW;ç¯uÏöõJÓåRªƒ^ç+Ñùí³ç_;Û:>·tÏòÔÒÔë§Ï 6úéë\b ‡œ«cçäxeõ/«Ç–~ô¡¶®\=ýÜkñÙüÈ®FV¨¤ÀÈžüß¾„ûKï¿ÿžåÙ©4Î/]ºzúù+¸d`Ê©À7ˆä`'ž?»ðÀ¾AÚ:—ÊŒF#=¦“××*À!$4ÀýSçÆΉº6>‘„'ŠÊQºõÊ vî:WÙ^ýú•ÆêÚÂ{nkYt}Ç×â…?:^™Ä€7"€Àé} Ë8ú‘{—î¼Íñ½­­S¯œÂ«;ˆ€ÈWC3ô_«£ÓùË—ïùØîßÙØyìÉo&'·È^ D°@Îa9ìIy¾ó¢»²\]n½÷£ïëïî\xõÂæSgð¡a]ή™ÜZe~D ÁÚ&—7à†ÂÇíÝg4kˆ5 Ö£r©Œñ‚Àán¥1åúêxÜ÷]f©µJ&2Kàú~Ù+W©Ó¤½^§ÛÛôw;Ý^8îÁªßûÝßùÄÏÿÂÇöç1«+WZ­ûZºçˆ¹Cat–¤S͆`Žp¹QÔR°é©V½Z‰‡³yiyy^0G[uåÒÊ />ÿ·¿“§É{îððm‡¶66_úÎ Ã~/(ûÌõ‡Ãî¹×ϼòò‹w>zpÿ¾ãwëö;y*™¨ æ$Y¼»ÝŒ:œ¹¾3ÝœJ²xgkF¥Œ‘ÌCŒ–TK2 w¶7Ï­–KÖÇ8Q‡³…™¹rà÷:Ý,‰§šzµÒÝí û½cw]ß\ûÓ?þì‡?ò¡ûï} Þ¬ílí¾vòÄ¿úÃÿg}s¸/³TÊÄsüÀsÛ­é\eÕri2Âbia~ßÒ~edžÊÝÝÍ×OŸ={æ4±¦^­tv¶[íæþå%Ïã»Û[~ýk%×ßp_³Z/U‚o>þäK¯¼˜DáìtÛjuåòÅJ©zõÊeNÉx8X¿¶*éîî´[Í8L.^8ÿ;ÿ×oðø÷øýQ<Ù\_{ùÄK§N¾ÚÙÙ~ü±G}_,/î{ÿûÞË©xâñÇþü‹_ö]Çsĕ˵4*Ϫ咖yE^à*%ßA ¡å|«ÄÏdVfIÊ95*Wy c44%ü]d¦ ¡€Ì¤Î³$ÏeJ,UÔä–hM)˜¾FüP×ûvo9oÖêw+‡á†€0B\ÁXɧ” Á|W0ba…¡0Öjb5#Ähù®œg.%!V)cT®e¦TÎÑ*—2+:õ 04 Ea™†v¹¯”ÆÕq†70Zéžé¡Y‚Öè¤H Hx¼Ì$¡úª Äcl v¿ö—Áø@¸×/Ps‚0Š„CÊ!b`}Á}ãŒÓXSSáÕÀ8èžÃETj£5°›Çå–Ëm–$BLa XP—‹Ìõ¥+ RËã^„I6¸¶98ß“} r0Í « eÛ'¶·ÏlÃÊØ›Ðà8ƒ0°J#•†P®Oö^~ñÑ—é£ @ ¥À¶$7Ïy&C%6G˜`cíÅ ÿEH€PN¸ÚÉ `9C–a Ø ÇgÃ/é_Ã>àŽÀ\`4Š2(JáqÇ1=ôßî=ºЉA( GÕ­± 9dg˜)Œ1Þ¸ö'¯àÀÈáh¸”:ZäšÈL˜\#‹ñ\ôÜ·ž.èõFäÔGÉ€)8†\Úô¬µ®c¨Õ0ÚÁ8†€A@!®, fê ”’rZsD ]j vp'—>€v«–˜0Iúƒór°rô( ÷Ô+ˆ‚QFYX‘Û<É’Üfú"Î]=yŽŸ·è@qѳ®(Úf`„…Ê‘¾ôã“'¾qÒ 9bØRƒ>|á “JaÙεNëÚWÿèÕB9 `IY4Do­0o/£áfïç?¦å’àÍ_ÔÂs\ka N@Ižd*Uà¢ÔF>O)±Y§qØJ¹h¡¬I2M¨ÊÕz½ÙŠm³Ùœj6ŽßóÐk'Oþù—¾¤µnµZ‡ÜF`m§»óÕ¯|åϾð…,Ë ­ÉdÂ9—RÜZÇqþêѯ=õô_F£<Ï“$ñ}?Ïó8Ž­µS­ÖÎîÖþÁA0 ¸ qù¾ßžšÚÞÙüÒ¿è8Îööö`0ˆ¢(MÓR©Äëõz a*·ûÕjÕó<ÇååR)e©ÖœÂ97ÆÅc®ãüÙ?ßjµNŸy- Ãb—,f´Žú/¿Ô™ŒÇiš^¾rq<þË?øý7ÞxC±³½½³½}míêãßø†çyƒÁ`cc£p:lM58çÃá@¹Á`ØBll®}þsŸû³/|a}}}ffÆuÝÑhD ÃR«Wýþ¿øÝßÙÝÝ5Æ8B„Ðßyá…õõf³™eYžçÃá°ÓéPJkµÚÅK~ç·Û÷ý­­-mÔÎööç¿ð§A\¹r% ÃBí›O>¾zmå+ñÃá°ðéÌó|vfæäk'V¯­!êõºçy/^ì÷û÷Ý{oÇÿïýÑd2‰£h~av0¤Y\­•9{g;èM ™…P¥Ô÷ýÉdR«Õö„èÞ%r=-ïõr'¦µÎK¹”²¸£ 7D\7é,ÞðC]ïÛvž7™·wqA,L" ëJ)`¤4³³Ó…S`ÑQ¯”rœÜ÷ýw±b\LT«Õj4jÅrd­§µäœSÊ¥”©Ìµ1®ë8žßí÷XB AAÔ'”sK<‡2SÐȈµ–ZKdɈ¢ìÞQˆ±ÖZRr|†XPJJ Q„ ¸Âñ¸°JHGØÜŒ Æs)‰!¹5Ä«) ´":‰cKŒ¦Æc­²Úú´D,¥†à½Jí-ï)å‚ñ[ÓZ[£ŒÒ®ëAP<Ï«T*Eºž$Éõ6ÏóÂ{Âqœ¢i‚1vC¬a¯é툢»1ö±}lmm­ßï‰ÓÍìf‹§‚¶pã60Æ”ËåÕÕÕ<Ïgffæææ^{í5kíÔÔÔ-FíøIŠÑh$„(—ËŸùÌg~÷w·¨ú¥_ú¥óçÏßšœ½3£„ÀjP—z‰Ž €°@&Q£ãhF‘Ë‚T'”‚C #Í^b92J‚‚ÙJµœŒã IdžCqH˜bG€@ŒJuJ`êÂ] š;£kIt[Lh@"Ë3NÀ ™8I¡+岦Ƅ:I⢟›((¦´xÌ¥/¥w˜µš1R4bKˆDÎÀXƒ×BË,Äy½5¶°*GèGPZöýa"¹$&Ì:… °”BØëÂ…m29ÎA ˜ ­±Î\T´uB©-<ç”@©E‚A<ˆ¡²9³¨Tkã 5…Á–Ò{sB®§>9ØÆÀ\ îÔJ¥¯•Å*“ùPaDP0Šž u=N‰&Y”E „5æ:ý.T P©öä `aSRÄ+‘Œ†,A¸.b0‡åE—Ö(89ˆr¸„í‹ Z«¾µÄqÁYAQ±yáÏ i ðüœ*ÇZÑŽ#œ½ktD*u2îu€¬¸š½o¹@p@¸Ô:Ts ¦  ¸OçR³§“Ê`G€ÓYe^d€‚¾ :±Ø)–Ň+X€ÐúÂB££•%J øÌØ\ff,5@@‰t® «Á[ñ¶À EÞq3-*þã?¹¢²ã8!„1!8ÍÒt8J”aSÓ˻˂İZËT) `ÅÂ5a,˵iKý(Ö£Q’g6³Íµíÿý3¿rmuãK_ú’Öú¡‡rýúW¿râ¥Ã0|õå—ºÝn©TšL&sssY–•Ëe­µëºI’(¥^}ù¥4M}ßw]—1&¥,P†R©$„(l­u!Ê5ƒ ‚ ßÿvÑU[*• ðÂó!d}õ*€|)&¡T*ú½(ŠN½z¢Ø£7k+WÒ4Íó¼ÑhXk ÝÍËo\èv»…’Y±¿OÓ´è”.¸ÁÕjÕuÝN§sú䫳³³Ï>õ­,ËF¥R™L&qïlnDQô®ü ¹®[Ô+•ÊÚÚZ§³Sä6߇ýކçy…OL‘Æ[k•RÅÉ0Æ Mûâ E¶ÿn±OÿC›· Š™¹QÊ.ZâóB  r/ðó4 «fPñ b­ rjr™¼Œ™ÙæÎz_0H¸¤:==ÞÝéõ6àp­Š~ãpîI Œ÷îUVçm舫¤1¸4ü{C øZPßÙ]‹,ÞD}“ ]±¡å®çk­©Ú3KG?4×x„êÐ(b8% Æc4¤B³½¸rmgº}Ðsí©ÆÒBÞžš}ì±Ç?þs?ÿë¿þëœsÂùúêêéÓ§~øá<Ï‹\}vv¶ÓéT*•N§ã8ŽRª ¡–J%­õd2)^¼Ñ [pn òm‘ª,Ë‚ (ôÀëõºR*ŽcÏóÇ)2|ÇqŠ sÑRÛív)¥ÓÓÓ‡*’âçöÐ@)-v™ãñ¸T*,ÙBZ|{{»^.6ÎyÇI’LMMÇã"Y*Ò$JiaßPœ|©TDZëºÅÆÔS88;TÇq ›4cÌÌÌLÄ0ÆÂ0,˜J¥R"Ší2缘® )ˆ GŽ)W0#J¥¥´¨«oll4›Í$I<Ï+°˜bž y¶"¯+•Jý~?Ïór¹|äÈ‘r¹<9ç…jZEAxž7™Ln¶A{‹ß[Yå„•åÕF}sm½5Ý6RPÑ»Uî.H+7lùöŠºÖ9j‘«ÜÈǾOBòÖ–´ñ-çM]¼þÎ÷f£‘ÊRB-”5œP*816׊p×É“4×*p½LI#U¹V5R½+ç mgã;ÝÎòÂb4ô„ ˤÖÆrÎÇ¡ ÁžZKaôocŒ&ЂJ FHQE°äoZ!Ö\](¥‚p* ³„X «­1Ö¢’R3B=.¡Z*“gÂf-Ø=–qbÑÖKIÑÊa))–Í<ÉÉÜ:a ¨à7KÈõõ¸·qB“ɸÕh.,,,,, ×p8l4sssŸüä'9çµZÍó¼jµ*¥œššºÁ8¸Áhx{['(¥ŽãDQ”$I¹\v§×ëMOO'Iò–ï/Ä ß 4ÅNçSŸú”Öú©§žÚ·oß'>ñ‰‚¦q h¸?IEQ©T*nìí-ê·f¦XNc„:–P£@$µ {ªþpà/QWú£íȵbˆ ;¬Od#W PdDªÕò¼7Þ²0–^0Àª, õêüòìÖÖVÞ€@kÀ, ‘À#HtLcêÀÒh4WB£l‘O æ Ks€mCà—‚P¦šš \Î{@` `™ÞãÿSHetCMP/1fIáIá)$²€x4³á8Ï@˜Fµ55ÞèÛ^ 8¨D–@8%„c€òRi2ÈÑ¡À˜†ëäq c@ŠƒLMò1ÊG¤øØTªâ•…J3æ¸ ˆ³¼Úhîm¯¹ÆÊ\.‚Šˆ³œ»{‰·4–paQ Ï¿ñbqbHrÉ—Z+½ñSÅÑýr…¥œ3– IDAT™_®Àë¥â q–;~°W梸äÿcïÍz,»Ò+±µ‡3ÞyˆyÊ‘91G2ÉâPR•T-•Ôm¹ZRp†áÃoö“‚a¿0Ð00à¹á¬n´ÔJ%ÕÀQU$3™“ÉŒŒbî|æ=ùá܈ &É*f5“U"ã±yâÆ9ûî»ï9û[{}kiBÝBÑ-@äQšåï]ù€¨6špü‚(eùXåç·-;× âÄöüüBD1³“¡^±d€8ÜqÕ9~Ö&„<Ö c @¸Õ„¥j-Í$@™zòó!¯‡(#”a·‰2JY>žÒä³–ÓB“Ÿ3nŸú~¿¨6ÓÚ„ñ^?(VªI*`@ÈS½îgµù·*9) B™@HM-Û±l pË!–“ E~Uý¤Lk$Z–+µ^RfåßeÊmÊs°V+£µn‘\†ÐtgQ*)$5 ÐØñ"P¹)`4á`9}@Ãs‰‡œž0Ü€!TªŒ‹©…2 Ô¦’(mÌ®wɧ! ŒPv@ÁhpΟˆ¨É§ç*ò‘í^ F7Þtl›'QÿÖ;ók?º‡v ( &* £xá{ß´F+ã‡æ–——y¦L?yëO~/e%ƸV}•)¸ '¼#ÏŸ˜8÷Í‹^­Ô±"ßwmxI/>ög\‡¼õÿ¼ ‚V±Êàã[ôÛš¸ž ÇQD3aI*¾ùGÿøÍ¥¿BCL˜ rÑ‚ÙWNTFI²Á3>R©{%’z³>8ÚW.@a Àpä÷>;ª'L©X4ú½ŽwÐz¡þü½Ñ…{?¹. ÖÛR¼‰CgçN}ë|íx³Çµd³oÎ]׳Y@·n_¹8‡Û xÏ}ïUYfDwæÏ„Yº±Ò=ñûgë£#7ÿì]lÁ*À5ôàŒàÿô¼w¢z?îH¯àŸ­?¸y{´Vþÿê[oü¯¥U ”äàEG^8Þ<5IG kªïVÜÆÉ‘S•éÚÕ×Þ nö‘.cxþ{¯{þHWw&÷‚5öb½:(Ò¦ž÷ç“ù á§þÙ‰~óåVØóZ©\›l4G›Å‘3VÕÜþéúˆP|à¤wîŸÿf`²5—‹ÕƒíNíÄXubòú¿|c+XwsZ‰Fq 'ÎÕJwVžýæ7>Ú\»ÿpéXóÐÙ?|áÚÿü®f IŽô‘gOŸ.Ô|Ƕ“v'Yc²FÊÎÅoœ¿Ý¹ÑoË0ˆ P¬£ãŸ=ûíó‹Á¦,YfªØMV¦ŸŸ( ´ÃÖÂÃÀÆñÿò9áÉlÒT¦K„õ­Ž9ÀŸ;ò·ñwÙ[Ð(.¦Îμtº8U3žýÓåw“8;pfê™\=zéÊ¿º†¨Á?_=óÍóõ£cÂV¡ê÷ìèðˇåZœM ÞxðNÚÊÉ,ûñÅEïºQä˘/h(¡ „š@hµ¾¾>„–cÛ¶M8K¤s%ÉœÂn­©z6@%…a†X a%„Rxv-¤6Æ0n—ÊŽmÛ»‚ˆûñY;uŸµð}Ò×QýyÒúr]Mžøüô×lœŸè<_‚’åÓž?_?l8žùÈjCò["ÅÑÀ(ÉAGÒÝ\=ÿ¸‡š »¸y”ÉÀ6œÐCG’¼ÝýZP3„@ ÍM9Lç™& šª9 J ¨!Ä€šëF(š\àó´†<…)§-dÙP5—õÝÚÚªV«ØÃÊøŠ’>1À´Sm÷F¿5ìÇ~|}–oÊ@jèœ:æ0…:Î~ól\Ê#Õ;k‹Ag0:2VãJ‘gÿè¤óRAvuF… Yj¥Í™fu¢&t*¨ì‡ýnÐmîˆ3ùòxñˆ/R™ )ÉuX}¢V8~=ü ÉBÆÎ:v8púqö·ÛQ 4æ~äÜéîÍõps-k©ãØo<»œ®O›¹zwþ7¯€D®ÂP=[gEKxj~þNt'6—ÅJR(Â×FȺ™§LA?»`{õ",º½Ü™ÿð£¨Õ…C¯œ›å³¶í”Lª À«àyÕB'j«8kµV[?[h5Q9ÿ\'“Ì-yÇ*î!Ođֲì5ÁÉýp9Ѳ·Ôݾ´ŠâÅSV¹ždæøs§Þ~íÝv¨aN>Qò¬0 ïÍ__½³dª|òij³3µQµúi)ŒÕG=ÇBD"¶¢Û~]í¦/ ç°?11ÆlÆ«\JÉ¡Œ»ÌN-Òg$w?úpí^¯:nŸyþÂÚÆ&+zôd½ +5Ûg©$QfÙZk6_¿{kûÚ2*(8VµÎI8ñíSkÿîæ0Ë®câÌ3Q™o÷¶Ê¶ø7wqŠU+#Q› ?û‹¯ô&„8¦‚ÅR)îÏ/¬­.e1–ÌqgÊš™¼3¿†h(*qúwžSº°¸ØaÁ«—0¿µZ#þ¸©6 Æó­%™E„ö¨)TýéYŒ´Ú÷®ÞÄâÃ[Þ¬Rš•|Ë™«ø¤˜P“rh˜m™öÚw«–wóÊåÕëݰ¿yäôÉØÖIÞ³£zZN±Hmªã8¶C»A«Õ^Y¹½‰yyå™é“ž*zîÔµ¯€û&N_hì®[v—=_Ðð(±Ù¹d.âUôŠRêÖvÇ+VlÇ[Bf”Ò…jsg ™[ eâ0ÊËW‰‘Ô(i ÑDûÅ’1"_¨å[@išB¹T ýD ß'}ýÕŸ/ ˜x¢ë’oÖ>I̧WOüªÆù‰ÎcžvºoôÓ?_¯e&Á.>C4ÅB ÙÓR3L>™ÎÁóèÞû¨€ÂìA.v&³Ñfï|ÞÌ®ã8¤!BI(0¤-è A$'>D£ 10ùå~Q;$5|>`‚tz¥¢EQ³Ù̽”Rœóüi·k­º÷á÷kÇ~ÔáÇP†} a?öãk”Ç¥H3”]lI¼ôÒ‹½~Ëv¬«o_ÆaéÇ÷ÓoeÏ<øÁƃD%!bª¼Q‚cb&Õ¿Ÿà¾F YËÖ*NݦÝñ·$t …{íR<Ð<„€Ýº|góÖCh½·aGŸ•PÔvi[ s”kVøìÄÉé½ÅÔƒU Ðóo^i~ëåA¾ò­o^ý· `Cñ©ƒs7¸»~÷þåÁ†7æKçÝâøÌôñ¹P&sׇ‹ß8¿™lEiÿÚåëúAŒ ÛÛ›*ck¤Þ¬ž,w¯ö!.\ÜÞêýb¸9Àm‰+›vb9P—ô­íùžè¾qLÁ) ‹ðÐY_ÙŒ»ØJXÜXí7uÕ*DN )t&t&픈˜›š¾yãæÆë‹ˆ€MÜ\»|ñ[Ï麻ØÙì'jSC´Î¶ë´0S-Gâõù.”ñán¾øêéñÙÙl˜àx áŽ;*ƒHô;­ù%ôÃûí±u«hÅmD¦kÓ­ÞÈá±£ª®Þæ»6¯nVU£Ä+™•&ê“nJ“Ô€{#scU'™¿rµu)Ajeï_¹<óÒ9Y¤[Q&ýjÖ«g´!iIx³ÅÂ7on_YFH±xõÆô!3Þ<:ñâô_üû›È˜âdfdÃÚ^‹y‹Õ ¨÷þìû~ÿŸÏ98"wˆt0{üP £Lf‹·îb Èð0\ižhQ6yôÞ¾<,^¨¢8;š0==;ñãïÿ5Ö4 X}ëŠó»ãƒzöݘÇLpÅ$t¢&¦›ëËËï`XEw£ßíÜ¿xþB7j‡&Z7é&Ͳ¢ë î–¹õþ‡íÅ2l¾ôƒw_øƒïlpÑ%ÄpºÕo¡Ÿ6ÜòÑÊLÑbK·7¼·¸Ø¼»~´~l¥Oºæ]y´_±_Pì®óã>u a¸?3´æ!ŒPN(¥TJ¹°°¤Ùì¡#§Ïž™œ©6ên/“nY UÁT¾Êžñ|c 1 yí…1Æ@K%„ʔІhF8å„nˆöÝ‚!šú5o§ÏGé?üõ_T>«}Ú×å†|Þ=Ô½µë¿&ãü¤çÑ Ÿÿýþ­Î­?qœRþ”®øn5ÑÃÏCrù8"@1bÀö6™C½fwØUC FIºwxôÀ`;iÿ#´‚I‘—Bì¹:Ù£ÔŸçÑÓ;ôýüŒ†œsñ9í0)Éâ²ïä΋‹‹ Y–u:ƒ2Ær¡ÝÞ% ì&ðØ)FøuÀ {0ïµÞÜWgØýøZ.ÛµÒ !¨$ϱ»J8ŽåTÝt)Ah‚§VÒÉê~Ó”®Ë,ªˆRT£âƒF HR±Í)'N±È·»=Ûñ«…ÆmMá|¸.: "„q¬a<Ï/9U%uB˧`yD‹•\fÀPmRßõ Dµ1|v€Âö|™lUš7 (`¤V•I’‰&¯›0°£tbyTçº ÊñlÛæ„QËrÀ °aÓâ ˆ˜òŠ¥é€/¡§É}Ç7ܶ*fé^ŒIãL#Œ†–ÕP²¡$‘šqíY¶_ñ8ˆQp‡ô" èƪU‹º‚óêX|0ècêõF£Pℇq04ƒÈPc~¡Úí„Sµ9#!cˆRPíú$C=‰ºa¿D-»äЂ_–<´-fëB§ÛO¶SPв…D@Ê(KÃ$ÑÌr NÅå~bŒ72–$IÚëqÇ¡õXH3XJWêÍЃE$—ÂÒÔ0Ã4÷k¥0UM¿°í#Z8 Ü.y>Ó0RåNàà–#±î רW,Ëz°úð`i` }L¹oÛ¾¦ƒBn>P·¨ó‹UPj`€šÕJØïÙ-—«ýN)à‚+EáÄXŒ•Š…Bųó Q¢ä Ü‹‚ x#Å&…å–‹LjhXœë‚Ã}Ïs‹5⮃ÉN)³y”$Ow7[%ˇ+I“,•¡ “€2 `Ï&K:(Xè ìm¿Ð°,kwwd/ôðô ;JÚØ©;eŒYœ;Ž“$Iœ¤xé•Wï.Þ+V+í^ßõ T“ ä"–Z¦ A¾‹E¡ Í%ÔB¡ `ŒÔÒ(¢A8u¸M8tûû0Ã~û [E>gR3l™!À×èýî·¿ÂÖcrùÇG¼‚Ý|žæÄ²ä³WëÑ|‚ñ8ÐC&»6&ŸÊƒØ)g0ÌÀ‘{X»4ˆïü!ÍÏÃ4ÉÏoóiž„ÑÀ TT ÎöööÌÌŒR*ŽãÜ”7†Ì=w !ù?ض£y|i9üÏu½1¹úc®œ”óòòG§ÖšsÎöÄþRf?öãkZªÈeÕ¨¸#@‡¾þw?ºðg"1xñÔó—:W#œ}þùJ£ÚZÝš>07m!M•ô„pCbQÓdάS­V–Û¨LLœ>uj¼Þì·z+÷v»½¢ßœ˜žò¶BÈÔÉ)UTË×ïŒ8033S­K¡õ5=› #f§ÇÒ^ çps,˜m½5|ãÂóLj“™7Þx3®@·?ZpF³‘©Ê©‹§nÞ¸ ޹sG¥r¸Ô_Üú€ Xxó?ó[Ç¥a§Ïœ·o§kÑäÌÔ3‡ ¥õ…­…-ä™íûo]{á»/#t{pÒêÞ\œ>71yx,•Bµ1Q9PtÇ–W—‚í¬\ô›cS£s¾ß¹ãÞ^}°"Dr~ê`Í©È0ioDD(¡uœŠgGNž|¸º66>ë¼Z^xóªW¯œ¸ørDÓÕµ-ZdÅP±­Ô‘hÖŠAÖO8›ùÃKw¦³/¼b×'Ö—øÖVR$€(\ºvíä·Ng®ßÔhŒl/uÞ~‘[¾A.…ÉÍÆ©’oU/¾ô­?û7¯ù*/~çw¶a4’í~ŽG  ¸v󃯞4¡9zêðBù®qy}ü`R.¥ÜZ¿·„®Ak¸…ÜZòÆüˆÄ¯¼ðËþµÍ…•ƒÏ?S¯¹ZÙÖFH„J¤Úfª:VÃaºµñS8æÈ±#©#YÚC¶%‘–¶a¬§T»Ù"*”ã·¿ûçí?MïŠúÙú‹¿ñ ö`u©ÿáJ¸µÕ(Ö nÉh'Ê-x3gÎÖŽWôŽ7^+Mí5hýÒ÷ßw…4Úòû¢X”îÝÅùÒ€­µÄŽ.:#d¸¶SJH-2­4eÛŸ½Ã-”‚$UdHg Fƒ ½w ¡„|UÍ@ˆ#&'±'™`ÜÊq”ÜaÚ€ß+|’ãžW4ç+é¼Úø˜öØ#žò#aö'¬™ÿ%Ö O-YÁŸyïUò=ÇÏ^ø>v|¸«¦‡¯üýíŸG™§?¶³«Iؽ‹|¶þ‡%äS+˜ÏïÂÉ“O0®vÏÿ‰Y`` >¡Eöô籌ä³q÷œæSæ!ýö“çÙ{¼Vÿóï0?iKA>ÝM@›§zݯj«¯vÙgt·¥0ÃÜ^Rìe¬è¡[İý$o‚ ï±¾¬C ƒ1»—vƒ€+¸–~„\ä÷õ]lb‡C1¤dTÓ\<âs~OŸHC„)‚îx£"eæÕšý$iõº¾ë–«¥Ü*fY!Ʋ,n3cŒëºŸÔhø »ö–J)!ç\±[(¡”b³¯u²ûñ5ˆÎ ¥NËåbËômÛ–R>øÑÝo~ï¥fuìÎêƒc'/TÏÕHÊêÅʘ7±òáÒÄfSDJ»*u²È Sʹ æÓß})DŽä4aѽT®‹ÊV¥œVí¤¼¹ØîÙݱ##¥©B€~u¼P?aY¶ãÓ8ôVý¥ Ø):ìþõf×4Kž9x:›SŒØ,ã žcßxë50 2€àÍ×ßüãÿú÷Vº=¨ªT29;6Û^é¬Ì¾}ëu›!Ëí)þzåü·/Ä2Ÿä®öú‡¦–­Òörûþ9E `óïjßû'½A´0b92™áõi}{µ{ûÒ}•±Zmšs޾Nݯ†™Ñ©æÈT©èù–öj½J°)Ó‡ÔÑÜb<ƒ’k__æÄÑ„­Ø ð]1ˆ·âèàÜ’»òî»j³÷ìÔWꇷzÍò³¯^ìxz%é÷‰[)×Ò”ÃO>û§ÿÃÿ…&½êjÜEŠ…wïœûí ©eMÎÎù#åLeê°Ðê®õúË]ÝU5]wG—²ÑvZ3'¦ª³eÁÙòäˆW¤ÆÎ‚è/b[z·…cI áO¸M£&Ÿš8I\Ën÷²)ª»ÝÕKAšN•ˆRx6uÝBÑ”ðF&^ýÝgÔf~Ü˪vuõÍ@ ÈÝ J°‰ÎâêÌglnevú»ÿéËÏ£°ïÁ>0wìÏÿäG”´Stqû­÷Ÿ}á„NÅé³gQµú›š<˜­ÊD‰×>@Èüä_¿ýŸýw\­5cÛŒÌÌVfçæf'uo»žyÖj˜Ýx¶ëG* iÜ«¦Ì÷˯~û·ä A¤“–ËÕ¨£X‹Ó^ÂXž¶‘ÚXa¼2±¾Þý­ÿèŸÞ¿¿R©„‰I6Z³…ñ‡ ‹=.¶U+ÚÖ”ŒLÖŠå„'©|ùÙ²ëÏ•gy‡´}ó¯/ûʳ%ψܿÏ|± ÿ®]÷ÞµÊSg40#•M ÕTg2‹Ó$J£$Œ²–! ÌsóÍ IDATÛA¯¤Í»}C¬r&¥ëÙÑ C.yŽãXƒ0Ò„‡™©Œ¥Âl¬­=u|k}Y'a­VKMf@¡ôpÕíäËeÝÓô‘ÃüÎ (Bi •ÊÊÇ#ÍzµRjmnUÊE!DE”R¦ (#œsBŒNU– …Üxl0œ8qbaaalllyyùÈ‘#ëëëN§ÙlnooOLL$ѧ[¦ç"ÕjuuuµÙlöûýz½†¡ÒBHÙ¨×Ã( ƒ R­:¶ B””BJã ƒ~õZ-â³æO µ'š‚è½;™C;B2™fYfÛ–ïûB«h”K…$‰³|ßJú!³­jµ6€æn0»JøÌhKi–“Â5 †@ƒ‚$Ž\×6F6ëÝn§×m4ëA§*ã–mqž'ç„R#•z¢÷eFé ¦&'>|Ø¨× ¥R¥õ“žçIƒ3êX¬ß FFF:ýÞöööÌÌl¯ß·¹½ XìzæPhE¡±‡L>Ĺ(ëözs³³KKK££ãq÷ûýÉÉñ( ÝîôÜÜÒÒÒÈèxÇÝArrrÐó½m<ÿ3šÊ,f[A/iözyfúý¾mñÇÀŠÝýêýþPû‰„•ü¢ýã/ÿØÙ>ñ †Ÿ¾O¾÷Rù4€ÖŸŠÌ~lnˆB¿äûýaûÛImÎ[‚õ5XÁFöÃ~¡_ìwUÒ€è(‰mˆ¢ˆþë4ä6œZk)e”K)ófYfŒIÓ4Žã$I!išÚ¶½¿šÙ¯LB¤”Æ¥”ëºù7tß›|x;¥ˆ,8%¯µÕ§>ÈfF3‡Ÿ¾yyìÕƒîȤJ½^ÊÇÊ5#ÙÝË×î¾u£ÿãv9!K3Œ þ­æ±o?;qp| ÓX'vÄFé˜Õ1w¾ãÎë ®"Å Z¹aû¹ÑçÿðüÔ‰³’N–Ȇﱶýðúݻ߿‹U°¬àaplûÂ\½pHÛA×$œÛ à±÷Ñ¥y7¶“v6®)â7W;klÆí auŸ0BÕªÍöƒàþ;Ëèƒi¢¤tqçÅ#¯œhKÁ‹•ÑR}}³GŠRûÃ7nB¹¿&ïµ·žûç*U;ín¦,öJ^Õ)lÜé_ú‹«êJ1ßR¢ò‹‡¾õ/§ å©t´Ç½qs4¼­¾~ûÖOn³<i£4ž·½Ô¯š.:mÕ+L ídƒ›[+ÿë4ÖÃ-–AQ ²uhä¼n Ñl:“å0NË%ߊØåwÞÓ[ÂÖBËM·µUCïþúèéñí(q­Z? ŽLÕÚÙ¼÷¿½†  R¦hêÙ?nVJ–´©tÜBÓk·ZõÊX°ÍÿÍUñS5:6YŠF¿3zú½P›“~ÐÏbbì* z‹3¿öæÝ¡ ©ŠX}ðÛÿí®G,SŠzýmf$çEÙÒÅ-ô ‘ÄÅå7>(Íy#ÏŽµ§èvÚ·©_u+nìß{û(„ b„Æp+Z¿~oöìT?j¹ >Âtk¬ÜX_xØzoP(ú<¥ÝdwV§/ µ,OÏH›õ{æyÿÕû¯Ý¼ö£«ë·×l H ð@ÿ 6rv¼X)iW[ª\w ¬=Xø“Kk7yAJÿ¥ÎÌ?›#®¦´:;gRÁ…]죿ºñàµEtËB&À±vfã»ÿÉÄô¡¦±¿Y º]ôª´>ÿþUߥ¤+‹pÛöï3øy®päç¯jvwD”R„hì­TÍ¥µ~Ê@ÑTCåzßáÖP†h¨aTS®`eƦƥ>kºîÉT1j·Û=Ç/î– ÅH` Å‹7zQ?s(q$I Õà0zwQ ¢w ÞÉÇÜKˆ&,cŒiKÛ…Øð¬„9~„¥R…sÎ- Œ¥ I*’T(™ÙÌaT¦RÜ]iõRbÝ_ߦ¶ÿp³­Á듳 ~9PŸÝhB•V©¦°É©µq%aš¤á‚E@ aò‚ CBÀ !Èî)”ø,G¤/hØUˆØíÌÏéϾRÃ~|õ€BHÎ?Ê„a¸_"´óȦË3"C:g@´!ïþí­ål{üøáÃ3§ÊN5]îÜùèú•÷qcPÑÜÑZ pq€öëÛ?]~»y|jüèÁÑÑñ´_ºòþàæF´Ðñ|ØŠ¦ÈÖ¥Í7äë“Æ'ž;yìd·Ó¿óú­Ÿ,à:À—%>høîòÝÖÿ¿7f®M=wxtn4Do?¸zc¥w·­—²œOŒ~ô¿üí©ÿætñؘdÌPC(ßX^¿ò/~Š`ÔS:ƒ”nþýM¤ÂOÕ2 n±R+ëTÿð?Ä&àm@3BlÓçÿòÒí{œÿö¹¹g' ò½»‹ïÍÿìáµ }M!t’CI0·uõõÁߟª|nÊ­[+íÅ?mÝì îmûiÁ†Q&C*=ŠÖûÙùîôVkìÈôÔôx’d ·î,vÖþý}Ä(8.2¥µEÜ7ÿúú7ëøè©éúܨ/Mo½õpqãá»7±"5œI¥Xï‘VúÀüÝ¿x½~Ñ;qñÔ#‡Ë¢´þÞÚÕŸÝlÝÙÄ6`8¤WÕe‰¸·Ý{ûO^¿9_>øÒÜÈñ¦Å-îå?»´ò£M,\Yd ¸¡Ž7ßÛüÑÚßNž>pøâ‰Ã£½îÚÂý»oÍ«ùzà µ…Ît‚l ðßÿöÅg^8913-Ö–®ýäŠx7b–­ú™‚&Ñ0müìÇïý£#ßi»aV%ަq0Üo_ÿñÏÐÑܬäÖZýmÔñöŸýð;3ßÝà[åƒ%†H2K›7þߟä áb¹tBØÈVÔ»ÿ÷ßßøðÖ‰—NÏ<,4i¯lýøïÿ6˜owŽölP ‘J¢oþ«k¸tmö…C³G§Fë#bÞúࣥ÷ÞMa 2‚Îåõ¿XýÓcß9W;ÔlŒU³Øtîo¬ÝZZ¿´ˆ-@PPÌFêK½¿¾û§Ó¿qèô«'=X$–«w—_ï'á5‰0ÂȾ½å/¿žù„µÄ®ÉvÔ¯ò{;¾FÃÏéh^+›g†CäƒHKÓ0 ë# 6£$ô=¿Š¬Ý^‹„òËCs³iʰ_½8sæ !Äó¼Á`°±±Q(¾÷½ï­­­í [ÒÒ€óˆ!b(ØãÐ}´‘þÕÖƒ¿Úzàý 调Жi6¬©g=È>°!¶ç—·³ûôð¤NbÜï@ÔçY?Ú Ä6\A#þ0¹{ëþ]ï>FU€îpÝ "3PÔµ¶ÕÒŽ^øÉí…Ü| B@îäQÛ­ ‡ªã›Bö“@qSq‹j£WBÐ –4 LçÊ‘â.hš(ÀMÍ•¢` áÚb*3­™£™4“÷ÿÏŸ½¯Q`ˆ 8mhãp'Q©h¡× z××—v—•xÿ^BL04a|!°Œçåí[·o³Û¬ ¥€ö¬î:¡&`·áPp‰LÜû‹ù{?š‡D@’Wx«³^o€x8Àí×â·/]z[_òn*2jD€ ¤lcÀ9—ˆÑ½Ô¿òàl ¢á9¹oSÍÓ^b \Ï—™A³Õ;­þÛrw@ \UÊ©ÅDš˜4„ÑØBöÃû—Þ¸(@)¢¬Y‹Â IšÂF²aˆRÚ¢–QD mŒÂJ®ºLt.Œ—§U[ˆãU W¤,l" V‡" †9@\ô‹±ìsÉõÎûÿÆûä § $!°‘R Ò ×³¸‡·O•¶ÉÅ&uÙ“ÜSIiÀ€AˆArûÁÏxÔBéξ‰G 5t€ –_(Jý^ùß-.ÿÍ"l `€‡‰PìCš¿TìÊH |—R£LNOÛå5äÇÅ@C¾G•¤T :}h©¤äœ´ÛÛ”!ŽÂNL:¾Ý-:íí͵‡’Wr¹™aDïštþ" Aƒ8Jn¥”¶kK‘fYâ;¾ï9Åb‘2Kš &qØëÖË…$0€’’¹nEŽmsÇév:žëJ){Ýn±XdŒ…aèØ¾!êSˆÁ€!HÓ”dYfâ8f¢¨R)§iê8Ž1&§Èæ?䟓"'úæñO 4hCr9M@Þ]ÓŒ±$Irº®!àœ3F·S)Œ1–eUu­‘¤¢×_R‹%MrBs¤ ˆÑÒhf´´¦Šhc †:s,•Je’Æ1@Ëåò¹óçß~çe±çy®ëæÖñ»äá'è–eEQäûþ®•]Nãyª@ƒJaYV’$9zE‘eY»v {€£1è¥ ¯¾Î…ë’$I’„1&Œ‘J1f¥;dz8Ùå =šá;Ú"Z ñsúói@þÐâ~û•i‰ÚU4x k ” JiÎeÈmJ)Á¯hø,¦Õð{ºcü<ìöÎnÀc}ÛÇöã+ׯ_ÿØ M©•••·ÞzkdÛ÷Ò’®–]§¡Á¥áÃ{Ÿ2 &@ :H€À’´è•añjÎô•-0¸0:C_páRä¥q@ „C”ìÜw†Ô$0 j’ H€ Ì‚•!I–'º– ÃA)CAñ¸>ÙPÌk3 P6P@ªòR°0Àìøè]Ò*Ö“¦ÛkÝJù €¶ âÔãÃA¿—!À `À ÁŠÜ¤© ,À&ÝÈ„IP #á8vJ-H #Q-‚j„ 3<••A¥åAÄ(P(S$!„~] ½³w³£`–†€óy0 ¶ÁlõдØÙá- 2“Ð;¯\ HÑ5Q J‘)d0±¸¦ª—¶H¥lDŒžàŽÇ 2 !ÐŒ–‰ÒŒC ¦.´PÔ¾` DZ@Ɇ¿.$0Nnù”p¡dÅu«VŸ&´uÁÌÐ<±Ç'Ë[Ý•ì­ ºÙsÑ[Û«Tß…Žá¸1 päF*J‚H €&šHÀ´‘R 0 ¥¸@«TÃpPŽ4ƒ¢ÑV6€GÌ)€íør¹°ý8èkÊiEÆ ê–°ádFÎ w±›ù%ó÷ÇV&»K¬]†<Éò_ys¬4M…aŒòhTª~¯×-Xˆ‚þìì´PÄPkéÁ=îˆe'q0Ò¨ú±!‰E#©O§>›«v=W Rh•Æ™È%âîö†ÒR؉TJ0nÛŽÏ,Ç¢Är,IÓ81Jç•„ÐÆµA¯ßët766Μ9cŒÙÜÜô]O‘%)ãΧZÕc@i’¥„1hm9ŽHÓ$Œ-Ëò}?Š"Îy†½^¯Z­ænðÝn·Ñhì–/Ú¶].—»Ý'J%P.ÍI.ʨ“,•2à8ŽãÚyίµôÜÂúúzǵZ­Z©Û61†X¶­µÞ4 wæµ2Z{´10„jc 1õf£ßï½îÄx³R©õz½µµµ0JfÞÜju»]ß÷‹Å"€Á`Çq£Ñx¢i†¡”’RÚëõrˆ!I’,Ëžn 3Ñý^/û¶mc h¾ôw]7IÒO €Ö0»²£{§f¿?ÐZ !-Ëâ„¶6·<ÏUJõû}­u&„eY”’­­MÏ󌔠ôqÀÐëõ‚ Èû“³§?ÉgÝ">§þÿ~»ßþº·€RJ)ªöšV>‚(ù$Y€ÁwºûüøÏ@sX!Á£^SúµaŸÔ°_Õˆã8gNLL0Æfgg …Âþ° —Xà’X 6,f¬áJ×¢àX‰FJ„ìÌ]uròH¦~8þ €EŒdPCÄFS¥´M¤e´„Î?¦a:ÃÀ,cl˜¥lï)r¸!¿… “ 5ÚhCˆâ8IEÆl‹r¦3³¾¹}üØÉ —––´!žçY–5 ²,+‹X__Òù£µ>yòäõë×ó¢‰\Díi3NŸ>}ãƒk9@'©eYZ›4M?•Ѱ3wæ v |”RyŽ¡µ>~üø•+WlÛÊ‹)>qÜæÍ95£HÀéÓ§oܸ‘÷'I’œË°ÛŸÇ{ŸOZSCõ~»ßþÃn‰6Z)¥4{œÑ°“«ÓóüŸÅîÁ/íy÷YÇ÷Òöb"û¥ûñÕŽíííf³™+4eY–³ŸîCüN Z-´·u˜F ,§b —r °aJ‚$}3\æ‚ÿ©RÄaRˆ¾î E%ëGfÃ4IW6‘È¡› “ °ò„KˆvG*ÁÆ&,À±€!$ pzñ0[sA | òÊW©Œ6lF¡•<Ç­ùÂVK1s¨4ê <â"‹óÜŸhp (–Ö—éŒÓíõÊV©Q««X"BÀ…›$TCI(Ƕ•£Œ6ÀXÛHH©Á"Ø@…,Ó°áÌÒ¢?¼+蔃Xô9Ô€I  dRiøyÁªF2(,NA(„FÆ…Š †¥ йÅѤßQÃM{(0À…€ªÔ<™fq @A´„ìåhAŽò ¬úÿ³÷Þqv]åÕð³÷éçÜ~ïô^¤iÔF’%YrËØØL `SM3%” yC „$|oLÀ±®¸É*–,Éê•éíÎÌíåô²÷þþ¸£A‡/¼/ÌúÝßó“FÒ=GwîÜýìµ×³–ˆ±èêà(ähØ÷]b9àƒ–½²€ ò0s ®Æµ ˜” ª&œëYÄ ƒ§Ô8 ü‹«˜$ÕtL x >¨àû>ÊcA‘¿ê§Ói@€,`‘p¨j@`àúNq¡lŒsº«„B`,rOñx¢\*‡#Û¯b•ØŒR +ØÇLÄE@ ŒpÈ@ ð2Ñð_ÐÏÔÎx(¥ ±¥æjé…1ö;V4Ôˆ×u]×^æ)åß”ˆ6vwî“ï(› hÀøé ìÞsâÈ¡çþè•7ý¿s“j}âSŸx÷G?óµà——<ÿÄð v}º®K‚È0ö}7 ÙÄD"¯ºùFMãmñGž ÚÏ~~tøxð`&“1MsÉ ê?A$Iºêª«NŸ>]³f¨eÎÿ†DÌoL4Ü|ó+¦¦'(¥²,Wu³Fà•ËeEQáW<à—¤6¿"ˆx”q·}ûå.œ_ÜTð ¬öõíÃÎ#ˆa⋹ƒ‹6D_yóõÓS”RE ½"ðø—îç߬‹c/˜¥t¹.×ß뺨R»87ñb®Š/ôhøUÃ7†_5køÿ}’e,ã÷©TÊó¼ÚÜ_,«½ÉCÙæ,\¬0òmŠ~ЀàÍñæ¾®¾¶Õ“Œ97cà1ïû~Íà ZFj’ì ¨Í6 €z¥JªG=(Oå° Ó55‚‡!Ð27&û¶¯ièöy”\˜;2ZÍ9ã%p”ìsð2@/îÚÔ×ÑÛQKÃ<=2yr´0dåCP® •ƒX¸¹ÿê ©®¦X]<0ýêD134;õüˆU´x,ã JpCÓÕ­k¶¯ ÕELÓLgFŽŒ{'‹Pæx’7ˆ½ü9óÛH­.¢. µ6̧þ¥9µ–ìwI4,)–2½0¦Œ±®®®É©QQ–¦¦¦€¯~õkÙBq åeájÅd¡§q2i…B|‚.Õâv©Ñ?½¸=«mð|Ÿh «e†•ËeMUÚêù}úo,dz—",J/ˆ„!x8 ÔóE \|ÇíiGˆ²sçÎu7ƒeY-MMox‰Ú2I"ŒÕLd.­Žï!„F9B$%‰Ú,½¦Ê,–,¢Ñh]]²¬öz „˜¦©ª*!D’¤8m/à IDAT×ðå¨SÀ”-Q5JäÊB)õ—øA]]rëÖ­[¶¬{ø‘'Ïž»06:ªƵ×^{ã[5mËøøx¥Rù¥ÕNæIÀxBc€)¢­] Z-ÇâaYU"š$Z¦Qõà _ø&A8_(hš¶yóæþþþ;v?~|xx¸6FñA’¤•bµ8BH8þ?­hh«Çqjž¶m«ªZ›yE³=Ø%/8ÌBŒÕÌ.Þ^ÀDB¨·W«=‰ã8H–,'VôjÇ›–î:Dâ%Šjd#-éõÚêÀu,Ët–îG¸x?¿`)B/æ’Ʊåº\¿+0Ø¥C/ؽÃâà‹Ä:ü_– üG.ôraIѰŒeüCÅ¥ÇÚ h[[ÛÐÐÐò+p´ÄL^– &ƒ‚ êSP½Ø}íêÔÕŽÆ/øAÁ®´õ&úº7*øô¡såȆÙ@hØ®®Ý1jOy((óÀ‹_±Žl†ƒ˜yv 0F(ZÙ~ýŽÆ®Æ‚]<­ºwvtni=¼çðÄ3#PZ5ºßØÁ¯»åÊäæ®YÙ˜€2¯É¥­kEúÙá±à´1mÔ6ã*Âë?ôrhÇåÀã ‚€§ñŽÆ×|ø•÷}î§ @/ aèÛ±ª¾¯«€« ‘ôb%ªÄ¯»öº‡.üÒÀ4°­P!´~ç¦M× ÒŒ–§Š•I¥=´±0?ÐtøÑpÊ p nHí¸ùµYËy%]0Âʦõ›õñΉ§O.ìÎR *N€<…ԱﺱÕ-UðÇ ƒ#\dcCó`[ûÚúƒÿ¼{Ñex݇_[Ž$)æ9˱ýD<²²+Ékøìc§øƒ–׳ 9Ð —¿nGÚºœ“Yвf`®ØÒ·³¯­:j>ð­úEÌÀQØtãe+WèDϳL$)åKë_µ¶cKë“?yÒ?å€ #°™ãúý»û¯¿ uGç¸Ê™›¸xcëU«ZÏ>zpfï´g b\óÁ7z š‡Ìq#‹‰ö§¶'wƒÆÑ~ ‰!| x Q¸ü¥— š Š¢a›à¨­kMúW]v,}J¶Œ „8pÉŽ›¯Ž'b ‘¼^b/˲ëû;ßtÃÓùðP¬æ¢‘hÙ®@“¼îÆËš6÷”5oB4\£Nåê¾§÷œ9±‡KŒÐ(ð ¬|ÃÚÔúæp{DwªÓúLL{®jé_ßøìý{§O;® A„ƒ¦ÁúË_wÝœ¨Wã|™3MSÑÄÊ–ˆ$£“{N€¼èŠð5·¾4Ò.NIGGzÃÚØ@ÿõsÝÙ?xŽ7è²Cꟹب°Kàþ ²Ãk_ç/ýÍR»ÆãyþE§^ÿ½ ÿ{-¥ñàº.Çq5¶LUÕÚM8ŽÃñJ8ÆSJ9„!ùB1ÏÍgBªÊŠ•2¥TÓd‡bÏõAEñO>ñ·]Q ‚ ¨˜†ªªÉdëyº®—u=‘¬¡b˜šv›ã¸p$R)—1Œ1!„2GMÖeÙ¶m \5xžW…òB¨Ë‹²ªª2æçgf,ËJ$ét:‰@Í ñ³Ÿ»«®®nvv6ªÂðððêÕ«íbÑ'”¼ØVa¾Xª¢œÏç%Y}ìçO¼ÿýo?vì˜ëX"Çñ<ŸN§“ÉäM7½ä[ßúÏóÿ³oAÇ …‚a5Qƒa5fžçÏŸ?/˲¢(‘Hdvv6•J¥ÓéÍ›7Ÿ_WWÇóüäÔLss³ ˆÙl¶±¹5“ɘ¶ÕÛÛ›NÏû„ɪv1E°6d¶xË#Ì!Á4+Œ1cÛ$ðBá¨n»¶ç7Õ×ÍÎL)ªzH jŠcY¡p˜"L7666°fnÕÔ‡À#@ŒH"ø®®ë«W¯™;tH%Š€Q$H"/ˆ¦c˲ìÛÆ¹¦åÇòã÷üÁˆ«Yçú¾_S{Y–%ª¡Z°3FÜ d <Ïsˆ¿t-üÝÊB„Z˜q-ªv8Ps]!„¼`-_nq–ñ‡Jé’ûi­†ÃáB¡°üÊb”g>u]è&ŸLÆ2ÕüàUëÓ #çD5ÊóÜHq²+Y×°µÓPƒRWó±$z>®RAoìŽá:îŽPÔSä¨V.Ôó’îD["p=-&fô,VpÛª¶hw¸Â—,¡ÊÂÄ4Í JKa¹ys£TÏyEO B„J~¶ÚÖÛ¦¬®+(• *–™+a% YÈÝrÓå'<(5ón.¨q¡~-hÍYéºXƒP×óõ-uWvçŽC™-Jˆ1¬yéåÓöœHURñ‹†ÞÝØ¥2¥”×n[sú3àˆfë®ß°Àål;IKâ àŠÍClehƒ¼ibÕ¤k‘P”1†y”lŒ‘¢Ë%Ã_°Ëå2ãb]Zç•mõ !^U”¸ eíáÖm-%…Ìçæ !ÊñÀ˱GPç­-,ç´Ç¥g y®NÑ#%+A\±¹<Ïó<ÏxžçùZB¥Ôó‰EQä†Ü€0†°Ðb¥ìE9‘J2|êÿy×_þ¯/ºfÙp;‰V«Õ•+ã[¶^¾mcc¦ O<õÜž}-ÛŽÆñ Ý•bd¦$ /ð2Ä£>FŒ2@ªò}ßña! `zÑóù ¸åU¯\·¾³“ËfáðÑÓ%â©d°ùÄŸ¾åýïýÂ7ÿñÏàþ~u> õõð®}ƒbü« š¤9žË3NÑTÏó,Çž˜È¬Y³f|ø\!›å8®··—çù¹9Rjšæ'>ñÑO~ò3étZ„7¿ùÍMMM×&uyä¹Ç{Œ1ÖÙÙù®wÝöõ¯ÿÓÙ³gMÓìììüЇÞþñ~vv¶¶—~ÿûßÿ/ß»Û,›qˆ- M\T4ø>Çñ˜fgç:ÛÚ_þò—ïßÿ|z~Aѹ\ŽÝ2eY>~üx¡P¨Í)”Ëå]»vmݺ¥» ¦³pêÔ™Ý÷cAá Â5n–fˆ`Ā幅y½\FÄkj¨ fggëšškáp¸6™Y­VëëëËåò[Þò–ÎÎÎÖf(–aÿþc÷Ýw_*•ª™bÖ®Ûµxݳ÷ÝwŸ¦i<Ï/”````ÿþý©T*‘H|ö³ï¼çžgàÊ+¯\±bņ }MqÐ}˜Ÿxàöööµk×vt¨ŒÁì¬óøã?ýôÓ[¶lÙ³gÏ7Þøîw¿{õÊÐ\FG'ï¿ÿþ‘‘‘-[¶Ü|ó͇\Ó«–øÀ?[ã;âñ¸ëºÑhô†n˜œš¹çž{Ö®]wÝu×]síÆ˜ Uø»¿û—T*U(Uü`QYP2©E]" ®g‹¢XZ<¾‚r¹,†cEeÝ „Ps…bÞs­Ûv\½ó¥í¡’'ÎL~ã¾SßÐT­” ®ë*Šô¶Ûo#„™ŽHÆ_ûº›öî=º÷Ùý~@uËŒDÏó(À!” ÆbËu¹þ^W ÈÇ4¸d¯~qMáyæy!à8Žç¹‹›u¶ä¼¸ûü;Üh]Š%B¡9Tû$¯ýº†ågËøŸ¢õ óù,mØÀ€A`½çê.7ÐËÅt4¥œ;r¦sͶ-ؾë”:6wx¡ ó@æ8Ä!ŽWê[cb”·«Þ§‰b˜gݸ%Ú&ts‘ˆB‰X6 ƒ-Xâuǘ¬Lp2)>_hyI›  J\ š/:fÙ@# ¼äòB¹TæKTæç'õ¡ ˆð¡õWøÀŒ…öëVNÿ|¨lÚµ}šÑö¦™‰‘S'Oôo :æf­ÆÁþÜ‘q`ÀQ 6ô¿º?OLKâÌ¢914n,dü^¿¿ue}]3ß-ŽŸ ArsË<Éàœ6æg&ÍýÕúÁh÷Š•Jõ\Õe»þÜÂ|*•Êä°h¶^ÈNŒèå2â{¶¯á“в"Ê L²xìx'±TëpîæÍ]qÓeûÆ÷,35ç…®­ñ\ŸLåç§Ÿº1PV4oèßTWWOcB~ªT6Jˆ¯voj“Cšîë¥LÉ%þ…ñaï´;øÚMòGå&¹3Þ rt»Rªön_Uö­yã‚î9ó™ 0kVš¸¾µÛ2¥¹HZ_/‘zYL[÷ÁcM|ÅÈ„âá\faîÄYPaÃÖmõáŽj¶Ú²µ7½{|x€$4u7QæBÎüèyhÆ/¿úFbx£ã#W¿ôª§&Ÿ2K: ¶^¾…9Y–Ïž=;³0n©Ú†Ûä$ßµºkalžÎB( Xýªu³é1¥=ÚÕö<¿&³á— ¦R1QS*hš&:˜'," eš Ç¥Ùjîìáa¨BCO"ÒЙöKB»$&“I§NâdÆÅ7D3ޜśsgCœÎ˜®)#FEYb{ãLfNK†Z•8ARÀ‘<YÈ?SÎו3á¹ Xý×tL=7ã˜t™døÏãR-°±o@ñ¿zHòë›ÿÞýíZmŒ£ÖíyžG“¹Ä`¾97ð€ ‡°Ï*ºI9Y‘Ô3çÎÊ"ŸÔ T*yzYˆÅ"Ós™ ƒƒ·Ýv˾gO¾úM_íí]ñ§Ÿ¹£T1ûùÏ]?ÕPE× BÇy”úñ|B‰e4à8  _*›–ãz¨(‘hœ%ß'¦eß´ëe7müñý?~öÀ®¿þ†W\ Á¡Ã‡;ÚÛ€ã{ùèW>ññýÅ羌u«‘àÅ<BŠZ(—ÌÉšªgó–ë:üü;.nÿÇ4EQ\XX¸å–[>œËå²ÙlS=´´´8Ž“L&wî\ówwÏßÿýp{{ûk_ûZUUxàóçÏ¿åõWÍÎÎʲ,Ërggg]¶mÛöàƒ655I’ÔÝ!LOO; ‹‚yÌÅ 0Œ±çØáp8ŸÏw´¶­ïS¿ü¥‡BZX+•«Š¢¤Ósë×®+ëUÇqDQüäS»;;;ßö¶7<õÔÏþÛ–eIŠüÎw¾ó›ßü‡……9­¹*Ô(ÌŠ€®£i‡ïû@–ÅÀʺY0=CU5 i ñB6¬{ÇÛnúæ?þðùã§zû^qó«·nÝ:26ÕÚÚª` ozO«tâ\q÷žg¦gÒ½+ú.»lËäÌôÙs ¥2‡%ô ±´PÈ÷Š3L]®Ëõ÷ºÇ8L=Ûžç-ÿÃE3H¼;ñ 3HAþ*jš¾Ú am…ý?ë5³Œe,ã¿=¤Rˆ§&¹P&±A7Ý7Ýpͤ5™ŠÀóûÂ9 ˜3ž Öw·®nÉóyÔ¦ãù„w xD/ÙNÆœ c&x‰`LDÆa°‘I¨ËšÈXšI¶Ö!ŸŸ›-NÀ‚ôÃ3ù5¥uD‹)$æSÍŽ8˜?`Ž‡Ú’ŠŒ²™IýìLHÁ…Ò¾—\v­MŒ«^õ²ïï±fõ«»ÇÔBºR8µï4ΛC$Ú¨Åê;7¶œÁ"Ä<Øõ²köÚãºìMœ8 #Y°!-f›W»×´´µ6÷wΚàaà ~1¡%/LŒÀª@ÎUˆXl^Õæ…Ђ“ב.wÍ ”S…°c•©ÙÂÉ2dÀ‹g‚M«ë"Z½19bI"VÕ:ijâÂü‰ÌdȰ¿oÝÆ e§X5-¦ðÒÚzð°eb§¬ ¼¬²3?;6ŒãÚšUñx}*’àÛÁŸàظaгtîD0€ötçøèãöÏoØ~•ë¢uOIOAm$ABë ß`ˆNœ…<ƒB1×Ð…iîjFQt»–ë¹uÛ  ŧ‡}ÒŽù{Û×@¾+Åsšžt%•°$2>$kшRÊf+c“0P„L¾(¬‹u÷¯œñò6çº"E)p¢*HŠŒDff‡NÁ,À,ÀTytíó«6 =ñ¬YAÍB•U+fE b\й99^=› ó¡ò–.ÞòõU;»ÏŸ‚ÐÅœËeüæ} ô«*ËŒ.IÕø_•3üzÖ࿪- ‚€˜Ôâ-mÛö(øœËG"…Šá™ìà¦W¾jëeݵ𙠅}ìk óé¼ #c1…€‡~xëŽ+_ñŠW|ûÛßß³o¿OÉØÄøûÞÿ¹¯üõgvïÝ3=;×ÒÖjÙ¶é:’¤ð<ïÛ%>FŒ>‡Aàßü ‰[Œ>¡Ï®>ôð£‡Òém;¶ÿø§?}äñŸg2™Ðg'f¦?ñ‰·Ö56¤3 C¶X`…|,3séúúz×÷œJ9x1Eƒaºið˜ Ñ R*«!íä™Ó×îºÆñÜšôwxxxóæî{ï½·X,Z–%<òÈ#ÝÝÝ7ÞxãÝw?qàÀBÈôô´eY¯ýë'&&æçç/LùÝÝÝÓÓÓoûÛ¿ýÝ'®¸âŠûï¿ß²¬µk×>òóÓ™L†ˆZ€ùZBº„kPU%›ÉPJEYÉò6…éééÞ¾•S“333©Tª¹¹ñÓŸ~‹‚ xå-w¶µµõööÞu×÷:ˆ¦§§[ZZ®»áß¿ïóÀEø¢Û4x`ª(TKùÀ¶Cš¤Ið§ú‘Xä‹ï à oøÈÜÜ\CCÃwÞùÃ>ô裶··ÏÏÏ{ž·k×®¶¶6Jiooï]wÝ}èÐ!¸xÝ믿þïÿþï{zz8€\.·qãÆ[o}åw~:ŸÏK’dY<úè£Gu]·T*•ËåíÛ×íÝ»÷СCµWÛó¼k¯}ÙÉ“'›››à=ïùÔgžÙvÕUÓÓÓ_úÒ—þê¯>ošæìì¬Íà;ßùΉ',Ëò<¯©ÚáÔ©Sò'o|Õ-ïá8NV´S§N¥°{÷îªa={vó–Ë>ó™Ïœ8qjý¦ÍåŠ^cMñE-CkÐT¹\.Û–A}n¾ùæí—µa€À¥À<þøã!E|ÿûÞûÙ?ûÚ™³çî¹çË¥üÈ_ýÚY˜‡?{[v~‚~øÁgŸ;43>svc_zøÈñZnˆø–é„Ûc/–в\—ëï]ŘbŽùçÔ~BkËÊÒv}iu[Z1ÆKÖÿ7S'~ÛþËA5,¹+-ER×°d¿´Œe,ã<…ã]ÇVªîb4`²ÈâÜy,ÀðNĹrÆ\â¸!&E9,„ë"uŽ”47OGÁðÀñ‡yˆ L®ê3!V.–5!*ŠªàI¥|t ®&ÂjLR8Ó6Ïq}ÛÇ^ÎÖ;êb’"¸¶e” 5LY–¥ @ xžÇG……L®¶óÀ…l>×ÓÑ$‚p°˜³‰D=ÏÇo1ÄÁó<ƈ 1¨  ºàú®)"P´ÁàÀÏC%]ŽÖÇf‹Óeªk©0cŒ‘à çäd³ÉÐRêb)1”È‹N)@Žkû¾b8APK,‚lt À3Cdàêš›/ÌLç [B4f‚פ†¶¦ÊÌ$”*)`yŒj}×J}F÷¹‹AðŸ£e9@ö‰ïÄ1»XÉ;^¥.)‹EݱXç~%_…Z‰p]}²ÑcfÞÊUÜ"€—UÃq£rJf<˜6”¡fQÉ WCLÖªž8@¼$ñŒ“DN÷ül+iÅð+U©xQXœâ €yÏó„Ët  X@s®çym­]ú˜^ËA2Ç€xk:¦M]ð.úϹ !Î2,±làüÅiሬšÅ¼;ë@ÚÃ0R€ú¸¤¤d¢%€åª©ó.ò˜©¤ê :[ŒÆ(@µà¹”ǪF²™ë1?ÄcU“4YÐtW ÀsÊà|Žc qUÛö@w­*Õ!%§âZ*"h¦fVi0€ B\Çs¼@V…Åä”e>ÿ·&.é¬~!jô¢Ò„_ /jsý«ø÷ßt|ôÒ­q á\ùʬ’ã1æ`ð¯ÿöoÿðÏÎÔÌ¼Ë Q×”N§ûWöÆ4hln‘‘Ÿ©’+¯¼rdbrMoDºõÖO~øMKy´#s B8fŒ™Ž-ˆ2eže•YÄ (ñŒI@P@xÏŸÓ «b˜~@9^äDÇ Rc³üÐ#G"‘öÎŽb±xîÉ'þâÓoõIÀ <P,—úúúœÀOÍL ŠBxPô"©žƒy˜¶ã¸^²¡a~!3:>¾sç·ø‰ïû;wîÌåÈÄÄ„,ËÇÙ úûû«Õꮫz³zï¸ýÚ™,´×ƒI@ã ««krrò¡‡ú£?ú£üッƒ‘H䨴iÓàààîÝ»?ðÜsÏ=¢"ë ]”30J0£Àu]„P>Ÿ†Ã¥Re!«V­Äâ«×®QåäÉ“7Üø.MÓîù·¿˲VÇ?öá§TMî[±Räð³{÷¼ýŽW9žëa€€á‹“1eÙs¬P$\_—b¾“_HgÊðîw0ªêz>Ÿß´iÓÞð†÷¾÷½ßÿþ÷ggg;:„Ý»w÷ôôôöö^¸páÉ'Ÿü蟼N×u„ÐêÕñ|ä)UUW®\Éóü¾}ûÞùΛšš²ÙlÕƒO}êS¡Ï~öóÓÓÓ±X, 麮û044Ä[½zõÔÔT¥R©Àøøx.—‹F£–ee2™®&hll,‹¥RéöÛo¿÷®/ÖÞ%â 8ŽÃqBpâĉ vîÜ9;;;=3Y0àË_þrssóm·}”R‹ã’eù{w?ó¿¿õ§ÿt÷Þ×½îuÿøo«ªºnÝ:ŒyÛuµ¥]" ùlH‘Sɸï8p÷Ýwÿó?S3óáú¶Ùùùr>»ã²MßúƧ;;ÚC²ÐÛÓø¥ÿõ¡éŒ×Ü º.(V*ƒ›62€ª^N&“püøqŒñÀÀ@ÅÔï¿ÿþ·ßveYŒ¢r¹ª¨ªïŽã8žOãKÂ_—ërý=­ˆG¦žïûµ‰ƒZÚñ¢ZjšXšD‚€C¿X³~çŠrKІj÷¿$»Xúõr‹³ŒeüCà0=*i_T/°Ÿ;øüæ›ÖÍÅ[ÖœzîŒ^†ÛÖ)õ‘…t®¹-YXÈ3ITÀ”# |LD¬…Ûêu³a©­¡«>ÒH¨+ûbÀ0º¾a­ƒ\9/Š"…$N„BªØ 9í¾¶Åˆ“ã¡ ìêà–H@y ‚H°¨!‘(ÎÎv7¯L^ž;v`NMÀæËˆ é ó-Éi,[(„ÍŠÀæ†$Ÿ\ñʾý?¾€9Ø~y·$E­‚]Δ!À<€FÏîØ&óle[÷yç,K´‡S)%êR)BQ@B"fÝíˆvÙåqMßúi>]9›iìïTD¹°P&à¨,¤jªë[å¢ÝÛÙcêÛ]õíãc•HF`ó¶-¹9+ø`=öØk^óš3gÎtu¥2™L¥R-JC‹†; 1`€0£ŽïÇ ½\ (¥”.,T¯ºêªçŽ6mÇ ‚D2ÖÞÞÎBiæÁ#ÁÄø¸‚ ½£uhh(3—‡Ã--- EÀ£iT´P.“ÑKe±DD‹…" 1PUµT)Çb±ÆÆÆ\.÷íoûw哟ª¯¯¯…v–Ëåýû÷{ž788(  ‚  hoošŸŸ_¼.‚………mÛ¶Q >øàW>÷ž{ïUj¯ÌÔÔT$ @™ŸŸ§”Ú¶íû¾0::ª(J}}½(Š–eQ€jµêºîƒÞµwïÐ;îüâðð°(Š’$ýôþo$“ÉB¡ tuuÍÌÌìÝ»×4Í•}½¢ë×ôôôK•#GŽ46µÀO~ò“#GŽttõ þð‡ßüÑžyàŸfÒ Z¢¾fÆÉ¦ 0@MõÝÖÚ¡W ¦agægs:œ;w.¤)5Ò-‡d‘ÁÂÂBkc]H„]7¾Q””Xªá©½V­ÔâÉp8<66ƈ<'ò‚Ïå¥ñ3ÓiUÕ `TDËvü$ºÀyiÞær]®¿§uIœP[PA|~is¾D4,íÒAÀ°äxÀýÎ KëohXZI !5G†%¿‰Z]©XÆ2þ‡ÀÃ8‡˜+𮢮HrØÓíÓÇÎ \; Ä“@åîuë<Ó‹%⩈ðÆœÞì52—q”ú®PÊÂ|8kU®)Z² ^æ›R‚ƒ9]ÏXÈgˆq%ΔTKDõu˜ç€Ã\Hlmi‰Çãª$WË׋ˆ®ªˆÇISG¤jˆÆ#1¾·?¢Í…„P4™ŠòuAÝw€`9rfãÆ—úÄHöô”õBÀÑîžžR•Ô ÚSÏ>&0²h‘}ôðñ+¶7Ô§Th”ËVe[zš;ëRñ\fväìè"sÁ¸P>™Å·0YÖ¶²XŒêÚ“©:æÑJ¡¨V<Ë<‘2æaßNá5–’›×c˱EMhh­S´P>««y[Q’ ÈO» ±VMá(ãû6cE©ñ&QÐT— &¶ƒV.˜ ÕÔØÒp¾VV¯pªµÉùã‡À¹xd·ŒßŽh¸„kXúbh¸” XT4\Úë\ú,¿&Eâ¿°ÇZR„Ö.Š1W,W+¦oJ5´´&4Pµ°¢ªHTyIs(ŽÆ¾ëH$EóX¹r¥nÙçÏg›››/ V 3™ªç¡P(xžg†O¨,ËØq¼H$†0G)0aQ¤,`„ÔFè›[]ßs\_·,Š|NQá%éÌ$Y7¸add$‹9ŽÓÖÖæ´wubŒ5YJ&“³%hjm9{ö,E9œ"/Ö¹Ölÿjã<ÏW«UÆØùóç«U{Íš5š¦é:ìÛ·¯Ö»®[uaÅŠÕjõþŸ8}út6›íïïÏçóÇ…B¡jµúÜsÏ8ÿ–׿þõ}}±|äQUU÷ïßÿÆ7þñm·ÝvöìL±X´m›—Â>¦˜QtQÔ€0£!Œ±(Š–åh’øÌ3Ïl\¿áå/¿az.],—ƒr¹léF8¬•]…B--=s¾§§G’$Ç46n8p|n)¯ž"¸¨k@˜çyñx¼!™pLÝÖ«¶m>LNN%R‰jµZ*•8Ž«««ã8Ž3 ãØÙò† öîÝ»bÅŠ ºººöšY½zµ,Ë=3\»®eY ƒƒƒŽ-¤R©'žxâoÿòý§OŸ¾ã_úÎ×?ñ¥¯ýpÏž=áp<žç»»»C¡PÕjU ”F"‘R©d†$I ‰ôôôŒ•ï»ï¾©©©x<Î žçɲìŒSJ[ZZ|ß/‹axàñññ¿þü>ðñ¿]»víþg B?>“žê©§:»»¾ýµÞ}÷=½½½óe“!T›[A€.> \.›zµµ¹¥¹¹¹. š¦©ªÌ Šåy®¶399 ½½£îá£#;¶m}fß~Ó ºººâñøÙÑq9]µjø¾¯ëº°sçÎS§Oë¦ÛØØ¸sç5‡NcˆçyJ™(È„„вËî2þ@V;ýb=Z’',Ià ì#Ìa`ôK›ü_o~ü;¡j„ã‹bù›¾ŒeüÃã²Â“úp•GÀƒ¡{2äÇN5ìh™sªÍýa&eÆçSဠÀ„AÞ&õm_Ã'U©UØ<ÇDær¹±Òø¡ }llc"ɘ Bâ%Í=[}%ŽàÖ­Ip+:…Ñ …±£Á æ¼Å­fb›˜Ø> wÄp<ÞÔÒàþdF_¡$'Ÿ¶Æ Þl/Î OŸîŸ'q×äH÷ê>Ÿ£–e±*©TÒîPl@ ‚3ãGO¯¸beÑ+7w¦"1.)…:îNº{vª2€ ²VÚøžÓŽcr´{Äáéœ56=!e¨„D¨x€( :¯W›×µNgf¯»îº…©ôôÄäʦž g/Xc6‹¹ö,L§GGGÕn%Þ‹'R,Ä¢ Í…)Óœ²FOŒÔ¤µ¿ì:ççæ#+’'FOÇ·ô§”££³M™ˆ9V¼phÄ.ƒà@m„¡ÿŽÁy³nÆÖ·GýÀ.ê•êtŠÅöýëÓåaJ°hþ¦Ab0±bÇš +]+"| —+Ì šO*§æÇŸŸ¼xH딵W®÷¦<ÙkYׇmâ[¦¯OÚô¤U ^žøí‰†_îX–ˆ†¥¶j‰eXôhxA³õë»®hxQU'bãEÊ‚"ÆX-þ Ì €sð8„`h4$š†ëY&Èf³‰D‚¥ùüŒ(«ãÃçÛš­:;;ŸÝý´ÌC®PÍŠ=üØÎ]×S$9z4+jè–[nù·{015£¨Z<*•«ù|¾³³ÛqÊHMÇ•«P©–j,€ H’ÌcŒ|ßö=÷güøïxÇ]wÝuøðᎎŽ÷¿ÿ="@¥R©ý+EQr¹!PWW×ÑÑa8^@9üb/ æå)ªV3¿LDc@éƒûwíÚ‹Å~øÃûxžÇ㪪ڶ•`aaçù‘‘‘›o¾¹R© „r¹ÜºÁÁ]»vÝõ/ÿº™$õÜððûî¸ñ[ÿû1AR=BJÅÊ‘cÇoºyóç¾ð/åªÙÙÙ©Ú#Ì8ŠF€0Ä8x•R…8Ïó4Yyä±GWôö½ç=oùþ÷019–Ëå*zeËÆW\qEHßq2Ž344ô–·¾õK_ú«l1ÝÚÙó¡¾ñ/þúnJ€1 Cµï2f–¡»¦¥‹‚Y-3â'cõšáH(‘ElÛîú5뮽nדûFº:ÛË}÷îÝþð›'gf Åb,»í­o~ä‘ÇÓ !Ezë[ßü¥/ýu¡PèèèøÈ^óůÜmÛvWW—îƒëºº®¿õ=ŸûÂ>ÓØØô£ý|s–åär“±X¢Fš†ÙÖÖ©ëQTdY"¹\>“ÉŠ¢øò—¿ü¡‡Êår›7oþÔ§Þår9 IápØu]˲xž|j1›¸ýÝþ…/üùÃ<5¿5 ãsŸûüÏ~ö³©™t:niiÉê@ˆŸË, ^ÁÀ°Zðc5™…C!S¯ÂLÛcÙL!‘Œs’dYz,ãBJfn’”+U³Zzüé=·¾áM Åê\&ïQ”LÅÿö½ïýë¿ùúÑçƼåØà–[n©TçOœìë_}ëë_ýݽ—Rê”çE×uEQôcž]Þ/×?ŒJ1`ÃÁEAPÇq<ÛBˆs0C¼ H`Œ`¦ÿ·2ƒ¬±ÏA,Nxžçû>Ƹf9QûŠëº5ZÅå.gËøŸŠ€I‚Á% „™ø0½ç\k¯Ü¨X3«¯TûÝÙ¾'ö‡ª Pì{´6*ïœwK­Õ(ÇK.RˆÂéÈ9WÕ,À<€ïc$*€í>GíÎu±¦p¡˜cïWöù?›hÖßÿþ¿[­þÝ^ŸûÜßñ_W,–(¥{chm<ÏÿèG?þc?ö÷g À;þÆOPÜbçê¹"ŽcB³€±*IcA|ññ'þ§üÓ0Äü¿_Ñ* ‚`wg‹s>ÊpôÈÒ³Ï>{æ¹g:íÝ¿ó·¿çëîYÝÃúöà3úg—–×––­­m<ñÔóßð¶ûž|æEá—·¶6î¸ëÞßúÝ?xó[îY^Ùr‚Êhœx„XPXXkÁaœQJ½¨ÙlB8Êîx¿ñ;¿ýùG&ß÷ïl|÷d‹0`£'Ÿzúý£«w÷:O=ý¬ÿÁpq«›øWÿþ“O?÷’ ‚’“»ÃÒ\=eÔr:ô9çÕz}£Ý‰OâW¥\(àcâwÿÓïíu{fë‘G¡BüŸÿ×?^˜Â¥5üÑ'>ûÈ£"5µŸ|æ7þáÿøâ]ÝÄGþÝ'ž9s¦\«õû}iÐhµ:ý~†ÿôŸÿÜOþ“*Ã?ùÉOÆ zƒx¢9éxÅpS&4PkLCƺ”ËÕÊÞ^Põ}ñ ¿üËï{ßûþÖÿøàHáìÙíO~æ…oø†Ó~±hI€½nwrr2I’n§S¯×ãN&õÊêú?ÿ©Ÿû{ïœe<òȧþÌ7}ËÛßôÐ! <úØò¿ü¹_©”‹Q,«q“`Õ"}!+Ë+f©X ÇéPavîðÖÖV¥îSQ/Š“CssÆ—NÜñ_>ýÙ~˜~ëw¾ç­o¹O<»ùé?ù¸°ÉL£:L19;§‰{ò©ïû_~ðg·GøùŸÿµµõÍ\½2pM²8&„‹[•ÂØüØÀ ’·0–QÂ%ù»VÀÒ¶üôÎÆ& ‚pÍ(HšÂ€$±Æ¬^¹ q3¢6=Ó»²†®ÁÈ0W©ûca…OÓ,QqÿÓ{~GëøÄîê¶‘Ÿ 7ó\8†è8ËôÞ£ñgŸþ,¦P?2=ž»8Þek$`<ÑJƒ#SÉ+™ìd¦¦jŠ@—tæ\‚¾ðÀÍR¦À.ÀëWÓ ¾ÞiOÍ/ÈNjálžæ”®æ%”­¥‰Ì’õøÌo<{æwŸ'ý`©4ØÜÅ2öÃã¤àRWkCA+AyÐÝ]þØsË?‡¼“Õd» ÛÏÎ`BŒc¹ïëjا’§žû4¦éÄÌôª>Ó¹¾‹] ‘%ÖP £ã‘Ö/©g/=óo¾«×ë_Y‡"…$FbP ÎaåÂÚ ]›xãܸ;ŠWh |Cx4#5èTeéÐèWôÚò•µ_Ábar~zç¥+1)<ƒRƒ cc÷Ðþ“íö'·1I§—{íÎ WÐûÄ޵ ÁAÒÍÌþñõöÃ×ÛS>›­ëlŒåº@ GÍhtHLwå^4PÚÃõ‡7ïÿÖÓ¢ìÆí™‰V<‹¡ÅCÜÔ-šR8ŠSÈÔO³§ã…¿±°¾½Vœ)2lîìÞqøøïýü³®Gˆr’ ,ðµI°—`×ýÉXZL°©ûî|ôå/`;ƒ$`9h £Ñ"t~óJç£W0ç•oÜíÛ`ÃŒQŒæ•6k¸ô_Î]úƒshâø©»Î\|`„¢ïˆÄrMUÌuÐýÜîOì¢ÉN¼õ¾‹¾€«$À‘̇²V*{°Ì|5¦µ†17ùnnK”T¯Ænn±øû[bûü0 5yFƒµÄj-³à†r0nƒÃѬVÏ>ÿ‚!xï÷þ™²ÅB%β͵©Ù™Àõž}þ̇~ê_¹r½è?ò¿ý ÃüB‰+¥ž{ᥠ—– !q‡aØh4¢(RÊ0&‚1Fˆ1&ßAìØ±ãiš´Ûíñ ÿßùCåBÁ÷¢³n§í0^«WŠ.„qgÿþ~쓟úS0D£hucõÊÕᄎ²Z+×~þ~ãÒåk‡~ô±'?÷ècÄá8bŽÜ2DFËåj®¯Ák6[Ƙp4ÜI£w}×ÿê0^(—*ÕÆ`àR#„K³”k3C@ØÂáÃ0þ½?üÄG?þéB¡H¹“eYœ( §:Ì¿´µ¹_í Ƙz½NÙÙÙ)”«?ðÃ?å¹fr+' ›™[X¾¶â Ÿûü{êLš©ÑhœJÁü‘£TÉA8üèüñ~ü¥ DU© “”½µ×þ‰þë+×Wª¥ªW,¿pùÇ?øSÑ(¾¶²öáüAoK¹ËQð ã8úÎïþ'Ü-* C©ì3gÎýÃý™a”„qtqùÊêÚ¬²ÊªaoøÛ¿7;'a~èg~'L3 :Q–ýƒüÂÅë+=ðbýg_xéßüâ/m­o¢‘>{þ¥W.þÚà©Jãq¥1„0AŒ5°ÔîgzK`aˆ½ãöSQš<ñŧ§fg~â'~uKî'§æwwV«•êæh½7¾ÿG~6ÑäÌ /ß~×/¼|ùüòÚüMGFq˜ÄІ¼ÿGÿÙÙ —cCƒÿüü;ÿùc‡–7¶vjµÆ`* ¸Õ0`LpÇX‹üÊ¡-ãlaÌë­ÑDPPúzîK^óÚª­|ºY[~ce79$Eékîä =hÿ‚­±”r¦-#€%àÖkI¾&š'†æ<Ç–Yb_oh7 BHš¦išæz“9ydE…B¡X,Ȳ,˲›nü-­T*I)•R•JÅRª\.gÙ­u´<ÏKÓ´P(äHÇ`0X^^ö<ïkX¢x`öß¹mooèCúÓ?ýÓR©têÔ©ëׯô f›š@H•?|ð8³†ÃŸ`ñ–Þº¶Ò³ ÔB=VZsäŽ;tj˜áÚ*(W¤‡Ø±¹›Ç,¢$U0RAYh‡BHšf¸ŠÝÕ½›”~Â2•i@iXb@¶e¿0FlÖUwk D‘ËBXh ±–rßZ®$ã Ãtä{¨ IDAT–}Mm²—l S&Ûß,@ƒ“Àu­#¢Lé4S†QH  \x„9pK~yDF¡ÈkñàR¼¿eQ@ bB”ZXhM´²9¹@Gédpb iÇJÍÁ­…50#€Q,뽫9¥|£BeF³}Ix ¥5(ç<(ÄÃÁÚ§ÎåO˜BµfC©AR }ƒ é~iÆÞg×A@w˜¾kjMÀjÐÀõEÉ u’cœ w.]ApÇáÄ*#)¨‚Ùß:Å(W«Ie׳­ÕepßqâQF@ -šın D ±ÞØÈû|âqmx*S€—i¢A¡¦¹R$S&“’¤Q =¶ÄXëÂ! ©LÁ!À5×étžzþÜäüÒNoÔh4Æãq¡6ñg=)„'M6L”$â0cufxµ5s÷Ýw¿ç=ï¹çÆ÷k ö1¡¼"/G{ ðÍïþ10Î<Ï€ö#©tšWšøžg¾ÜÍŸš¹{ƒÝÄPBw ¿öò<ÔÒ UgßßÌõAž:×ûÈ/ýòµ•h”°Ø&À}ƤتŒ2ƽ¢!veÒ(«Œ†-î‘“w=óÂKKGo‹Ç‘xÊ ..¯– ÕÖì¡Ï?ñÔÜÒ±8 )ç•z=ÚÙ¹º¶ùàC]¾x±TiÆf9ç.^9tx±RòKá1ØiïúŽ715MX°×ƒJƒø…ßÿØ'&gf5u2%¹Ä#ùÊÕ•êÄL¢‰"ަÎåëÄÀ-Öb…~¯;Œ ±åB)(•&´%:³ÚîS hk)žyñ¥CKKoý–oýéŸùÁ$B«‚Ð,,0V(r¼÷þÙÊæV©PÜÛí…£1()ŠA±Àªµ~ñâò¡£'…EPk^]¾.v‡ÛQ¢™6`Ì#Ü1€„&”P꼞“eêÕ9ä¯É' µìë¥NYko.4¯Áñ•°°SØ}5F,!„ÃRbiÎøcÕ—$-óÞFä… J)ÆX^ž@áœçœ/išÆqœ¦i©T ‚ MÓ?ÿ:Y–•J¥(Š(¥½^obbâõÎÏ(r¸ann.g®žžît:?ïý•·n·[.—§¦¦~ú§ú#ùˆb}}ý{¿÷{WVV:@®n c@ˆÖÐ qOCêÉHŽãÈr€!e™‚5 4 ‚$Æô—ÛûÛ3MÑ-ÄÀ ÷)ñ(¸qq€Pìó˜kåZë %*¥ @3(GaÀ÷E‘B& |ÿÎ9Œ²Ú(BH‰ …Z9"©U†RC(÷ëEh£hŠÒVƒcF n Æ’jB)h5RDA+ÍMhÇpˆáZn¡8…Ê·6D kàúOBk ¤£˜ƒ+H8R‹ü«[>²P‰E¦áÃ÷`5’!º=ã b×JÁÚ\xQSX«äp4 è†Âþ. ÅB¦ÈÔMè$çP °D¥D¥$£ð}Z,%‘ŽÓ,Ä0Üß[ •Á“) % ¬Éó ^ºýá°¿Ã%PÉ~ Ç2pQMU¬‰ÑÖ§:20™…0t?Ì“ªÄÂÕ`!L 4ô¸q\xóA&%(4C¦Ò”‚+¢ R%)¥ZXârž “A;±"Q?¦ˆ§„„Bt­£Rǂ߀ü- €$Î$àÞØ+Û}øÈqkd¦$üª—ÊĤhïv@`Œ,zÝjK“½ÍŠÊ‘1e]¤F)h ¤HI–€#¥žë ĽƒEækhy†ÚþªuÃ)øËÉh¸±bâË"š„bc­V°š™OÌzsR)uþòµïøÛ?¹³³Ójµ¦§§¯^½š§a”J¥Á`°»»×l6Ç©¦Ž+J[m e¢R òJk­Ò!¿Á+®‘y,¬¡¢={Ž+B…»¼ºñ¿ÿãÿðô“OL¶š.ç»[›SÓ­µë×\á|ë;Þ~}c§Ü¢Êræë3iš68¿t}¥Z­6&'CfNÌloog™,U'êS³’ìisë ™p_žÁ’'Ù££8¥”†áøñ'ž¼tù*¥t<s&GœiFåLƒh¥Œ´–2A˜ \ÀXÀRF]!„i{ Gt}c‹ wfv>MÓ—_~ùW~õÓ>ú(5ªUvú½ñ(Š’˜ gvn¡\®îv‡ÕfKHmŒ!,ïCc8(%–1kŒfš2GBÑív«­iͶ„WZÝØ ¤nPo ¡_¼~ýzmrJ'i'ªÛ„ѱ;î¼¾¾±ÝíU&Z×VW?Î=¿3è]]¹^. …‚¥n( í‡RÙ(Ñ~ѯ•k½a\kN‡Ã~\*•„W"œ×šþµmÎy¹9™Ï¢TÊ8ËÜ R®µcZë,ËF©ÔÚº®KM.ãz£pôö;ƒÁ3/žýŸðg··· …Âôôt{wÛ÷D»½»´´tåÊ•~¿ÿ†7¼áêêf«ÕF^¡ZkNçÌóišÆiªtVª4# HùâU“ZmLåz\kK9j)µ–XFµ1yN8µ·œž_R¦É§&^­assÚæd–äUÔ²¯ªÈ²%Ö˜|Pää´ö+Ôs¿„|¬ÍöÕã Æ(I¢DÁj«•Õ†Ø/+°´!I’|vA§6äeG¹rMµZÍ!†ƒèv»µZí–×ÉÕ"Çɵ3¥”„×KgŸ ”"„$I†áôôtˆnØ_ «×ëùã8y®P±XŒãø gn¢ñ‚QB-LŠð€0Æ&cX z#.¤øPö&‡Ÿ¼2('Qj!o\WÅȳo=@Je^¡Zªh­»½Œ²\ @ŽY´ÇÃà€Ÿ_ð€"ņsQt Ã~ Pe`Á!ŠBP7ì3e곃x&£Šg"•i~e¸Ø>sÏá*3ÄBgtI‘æj­c$6Â\ IŠQ-ë&Y¤20fa¸‹A hBÁs¼¢ÍÄ ÆBÁÒéÖ‘UŠ …ýÑWƒç#ÞÑpµ_ö²(àú"J% P`C”sšFŠ¡ !@‘“.Ð}‚›i¢Â‡S$VxQ’"4 ¡‰Â¿1P`„¦šÀ+ Ž Í>'ŠJ#5Ѩ¿Ïô™_ßp!`¡Œ†c(ç:•PÆx"Î d °ý;±2J9˜•€ÊßJe¦#-¤ãCÒHŽQbd0©ÇHŒ8G7Â84m"M¤Ñ£4ÎoI Ç1A¥è•Xœ…`ÈÀÃþÀ£Ð7nÜèÍB–`_©d¿õÐÐCŒ—Àb“ì«rú@8@ž#5ƶ·³ðëØA6N3pŠRŨÚî ¯¾¦Iœ¬0_s áÕB–xµêÄã½à-n–2F±°šÀph£¡´²Ã$©5&2c7w÷š­0ͶöÚ»Ý^½^·J«Ñxrz¦\o$IÒî“”qcuŽ ä¬Zy‚k©TÊ]k­µ”òF±º¨·&6¶¶([Û»A±Z¬V_ºp±ÞšVÖøŽ·°tÄu¹EÚét}êL¹>Ñî ÅŠÒètãñxvv6ŒÒæ„·²ºáº®çÛþÔÔ”µvm}k4•ËÕ[J¦H)Çã±ã8õz]k½¹¹™¦i§¦& eÛíÎä䤞|æY?NÜqçN§ëº^¡RÕZÇR¥ã0˲J¥fA6VVªÕj^',„ „´Ûí©©©v»](’$!„ôz½Z­–ã,yçäj7×u+•J½^ÏwØQI)«ÅÀj‘i©L*Aáœ3‡3Î7“jœdi¦Œ1„ ¡« ôWF°ççç•Rãñx4QJ~øa)¥ v,`ˆ;³0Y,—zýá0 GÑ^,•g¹66ÓF*c­e ‚Àw¢3•¥QœfYfŒaŒ e…²ž_ÜØÜ¡ÌY]ÛáŽäñCνN»R«¶» â4Ga©RŒ†×W®ÏÍÍù… Œ£Ýö^©T‡ñìܼBk]©ºiš&©*ŠåJ}ooOˆdvîP¯?ÒÚPæhC\×ÝÙÙ™››óåy^ív›R P¥ QD#ó[Bx¾cÌ—öyïäÿ¶»r¹Lí ú­©ÉÝÝÝ­íNgoj²e—õÖd¡RÝÜÝ›š›WJI b¬Í¤M³|p¨pìž»n¿ó6£³/>ú…öÖP$â4É&Q*A*PÄáî¹óÔ©4Ÿ}âÉÎò:\  ¬10(¢÷ÒöË[èY,D (‹’ÑÁ"ó5´WS4Þtþ2K'L\²_~OÄhãr⻌k’ZŸ˜°Œ_¼°~âö¯Ðtã0|Ë[¿~o{OYÕÞi/_»â;>á„RðÝv»í{…b1Èycl©RòòÈ©7œf`í^{zrzáÐ\{§Ýt=Çõ×"Ó™Ë]ÊÀ)å„ àŠé‰ç|}}ÄÎOOc‚ÀÛIcâ9„Ùɉ S @«´¢”rPι¡ÐJ)‡Y–i­ …ó݆@UëUmŒÑÖhm•6Êk”L-ã¢V. !À¸”2Œ’,ÏËôŒ±(%”‚R’Ec¥T†•JåÍo|àÚµk³‡GÃncY–íîîf™*K„3Ùîª,õ Åz¡È9Ï´IÓTi+³ˆ(Å­V*BpJ™”YÅišÔjõ~¿wôÈ‘~¿'DÅ÷½8Š<×ñó–¿ù¦XÇñ0ά>ýÎÓ§¾ýô3—Ÿ~ùññ$àÞ¨½¬@œlž<}ÛÌá…F£Ge/˜Úž›¸ØXyåêÞKmX@`À’¸ów½û¸SuÃl\¤Ö¼Þ¸ðìËÃ:()È öõoÿÆêL#µ2äÉ̳ÇNé_ßYyñʳŸ>«Ç`®e”fQ †“ïº#±Õl¢2­¨ÝÜ]Y¸ð¿yÒ8# Ö.JÖ¼–ð‹9„ëªWb]ºcvSn¤D'`€À䃳G<æÍ¹¢Yˆ™gÙîÜÆÙk—{ 3¤ >thTîª-œ>ûÅçìËé—r,‚ûo{ÛÛʵr¦Ò„˹{Íž^8ÿòË—_¹4:ßÍSö!¡¾ã}ï5A™r|êÎÃ'g«égþýtj€TH Tp÷=se.ˆë«L;¾cL­:sÇÄf{}ˆ¹ª˜?=_ªV'N`}jG¨š[àH7»ŠÕýêéB…‘^ü¶ãKÜ–0Ùšœp¥•ß÷ž‡V.._xñ¼ÊQ ¶_rä»î/NO’vhRàóÇokÞ3?Zoñ?}Ö®FH€ÂZëâ ÜwâäÉ vww½…à'¾­ß¾ðÜ™ÍÏ^ÝÏtH~48uß½ÓGX@wɸ63óÎŒ7û?á‘sr72ö'Ù}­ü|c¬µ¯.Øß\ý%`¯]9sDm`5u ž¨\e©{æ…gßø¦7/ÎN"‹®­®,YŒ ^:ót¥TÕVY˜±Ä¸Âµl}}u¾Us…ÈÝÅ0”R‚+ǘFá&)½I}© ›9¶½Û^»ü ¥˜;zÔuŠ>dØÝ%*9²0Ójµ:»;áh<õH†ê4÷ŒÔåj™ø"ìí‰í{ï<†£0ŒçZ5›†6Wü‚Ði³ìÑ[e4Äq¿Àt½æW«UBÈh4Šãx¸·ùÍo{“2zo§-¬”Ñ0¦z²^q…Æã4˵.åzÙjÄq˜ÆñB«ÌÕØJ[v %i=(YK²l4Uõ‚€¹®Ûj•}’Zk³Bˆ4Õij 1žG\—ç9yŸŒÇʔˎ1<š1ÒÞ^w=AÑ/! ¡Zk¥-!Li“éLÆ !ÌsœJ£ì»xØ'Z#”çQAJ)cN–e»I_ÛIŸÉÑ^Ô%Ĩ’Ë, Ušø‚Ö›!5ª^oJ¥£4I¢ÈhëRZô]WøV+«¥RJÅ‘!ÌuxµYu]±»ÛnU _ø¬Üï‘é’Ë*%Ï4 Cn#ªÇP–KªÇ3Å£eڗѰ\.·Z¥µµµz±ØíöÊžgg²Vt]ŸéØ÷ ý~wanjÏ%.Ñ3ÍJ½ZT*󨕒4-“Œ¥L©*VÊE¥”‘ÊqwHÉ-pN…pµ–qœê,ªø¡_¢f½ÉÎÚ3!Q£@¨ÃóÍápèyÈÂ$Eqßu×]³úìüÌóϽеeª„Ë}A…uå„S¡ŒL¢8‹ãîθQ’QÏ$c·è ¢|f(˜,pEÑ ²,c çŽâ ÐäVãÓc÷K``Œ½™“]9ç7‹¯”ÚW„}Õ—"û„„ZZkÉ p‚1F©¥”h~¯øE-!ÄÚƒ•þÀ¾J#à>QPàÄ.©%°°šk ɼþB–×MXk•RAäÇŸüä'ÛíöÃ?¼··wÿý÷/..ž>}ú]ïz×ë©NB¢(úõ_ÿõ|p<¿¦bè–ó.MÓ<å'Ï•ø£?ú£w¼ã¾Öýu°½½½F£qS“%m9Èhø28•±/Þ‰F Çï=±Ò^õ[÷Ã(–v;‚̰òíUWØ¢ôÇHFTò‰Òôm‹å#S¶î^ػִ—¼™ÒŸ+ÌÖfüW*g”’•–š@W—ª³§çÅß 7–»W[­©F­^¯Õ{GWKn²“MÑñØØ67Ä¢Ë'D"e§ßéE{UZ8zûB¥,/_í¾jnuCÀ9\>qÏñ‘ºÖÛ]kKfœBO{Ãñ—Öõ#‰ 5ƒÐV¢‰Ûî?A+”;£¨? ê^@¼Ó§OOð‰§¯¼°Ï.Ai:½´xÏ¡¾3ØÎv¯÷·ZS3ÓK“-N ³;½ËCZrʾëõÓþá{ŽŠr’¬±µ‹ƒËµrå¶#Ç •Öt=Íæ–ãnȨ Ž#òܤ™ãmw˜Y™›dÝþÖ±o81D¯³¾Q­5¡Ý~gzqaé¡Ã]Ý£oG{q4ò,…U•ÃåÒ|ü¤âÖZ0ø‹õ#˜¸c~€Ñ ëI™¹ AÁqçø¡{fÇ3n)3Úê Ã>¨ÕÄP.>4wÛ|Wö"oc§R®ð¢€0Çß|\zc2èS­£ÔÀõfŽ›ºk†7¼^6ê;§ 5ošS.+[ÕïÑq|@ºüµ4¥Ô­Úð—II÷ ïÉþ‹K‰æŒ)¹ÌP¡ Ëw¥©ÚìÜÜV­´µ½}ìȾ4ã¹î‹gÏV]KÆ£6¡téÈ‘¨CMÕ¢hCFU½^t}‡Sa‰1Êj«¬aàTh-Mªe<Ø>>Ûjhµ\‰ã8tßpû‘­­Ír©:÷V/+¥Ê®82w”3¶µ½{ÏÉ¥Ñ8 ÆÓõB8ƒQª5©tÜÝv8q]Zžl¥qÖ<<;Õš¾|ùbµ W _Þ–½0§qfÂvÁ/–ë>±mÍ ìQУ³Má82Ë¥‚ó8I`MÙ)”f'-0-àø"fboÔ9¼8Ùm÷¼‚{êÈíãh”DioÐ+ ¯Ò*c&SÙÇdÙÉéV FÙˆe)¡ 6ð˜0F¸NãÌ/ˆª(d* <¦Œ©Š PðÏ5”R™”RJe5c`¾Ë#¯8¾K“$I²Ô˜˜É¸T`0Ö(ªŒ$–æn0aØÚØn¶s'–¤Î`HaqÒj4-×£ÑÈõ<Çq:ýA÷9).NV£hÌ Ü©…– çT#ÔøåÀwKLgI[™›i:žX¹¶:=;åi·Þ¬ÉTYb’x<53µ|åÚ¡Vi²âs‡©¬D91JI’Ì/-ËÇϽøÒtÕEXtåWƒ©™éÎ^— »®‰'fÒª›%ãVÉ öO7ŒÒ£$¬UJ^PíuúÇÞ}ïRgãaÈEXG” IDATÖï,¡Y¡ƒRÞ·RÛV¡ìúÍ^wŒrÂ' ŒpP;_Ÿßëì.4J%.Ý€g*¼çøâæöVq¦éYi˜Z¹pniªæÂñ8Œ¢€)¿Tð=/“2 Ã4SÕŠç¶*£áøøñãg_:w¨U­T ÅbQÕJ™’{;»¥¢ç8^’,SS‚ËŒï9·ŸÌ@Ãe¤ÕÈçNþ&¨+<&(±TêL¦Jꌂڛ߈r’ÿe@d~5PËé>,jÓ8ËÁÁüå­%&Ÿ­·˜/íAû_k)1DKK,Ò¥ Pļ†ô˜~‰4‡˜}Þ³×ÙÐçuE9$áÂ…Çüüùóß÷}ß÷Ã?üÃÆ˜^¯÷±}ìÌ™3>ø`¥R¹åEr•ÊO}êS9+d.Wq³˜â+Íó¼8Ž9çívÛqœ(Š>üáßÿý[–ûë`9OjǾïçUŸ¤”=€Xc #9ª îÔùìÒÜ èt¢ÎË/nmîMNOŸ¼÷¶Æ‘÷yyÞõSwd£’×|¯QÊøxeg»Óé´W–ãloªÒœ©4KÅj-™,:e"]¯Xâ%f#}¹¼wýÚöµîÚæ Óʼnʡʩf•ÅÌFˆ’‘)OÙ¶nú¬÷Êê•ÍËWŠÅÊNÞý•ç×ÕU»—Cðý‚üßr_¨"C-'ì©ÇŸPÌ<ôί3LÒäÄÝÇÏ?vöf¶+y“ “›j£Ûén]ÝuäZAëÐä¼í[`àp§ŠNYDˆ7z+•þÆn¼×!Óa£Ðš¿{vâPK•–ð< xùDEñ´ÝÛÚmW¯ÉÙº«Qò˵5¯y<$‚rGŠR¿^ ªå~ÜåÒ…pkÓ­–-,MÍLŒ£ão>©¢EÇä˜w\ü¶éð¢×î>¿üB)ð§gç'&§fZ3g/žY‰L–³ TgÊõÙjŠÁÅ•—._:‹ŸŸ=~øXýDU÷Bf‡HdÆ niªŽ‚Xïl¼tõ"6ößt¿2Õ€‹Úájsêž2óY¢{áˆ4‹Æ¥¡vÃöåå+{Û33wßu*ugÚ™ æ\æEU"§XlUûdÇév}ggÍsŸ¥… ðAi®6Øë" ” &ªGæ–—ÏŽ÷•åÕA±7;ÙjÎÕ*ó3…ªßgñ~uƒƒêDmrfjh‡½^o§³…aŠi2±P­ONµRDS`€àÄ}‡æOÌo`¸3Ü»vù’¾°ýÀ7=hB•Íä]““G:ÒV[Ê\8Ž´Ð‘J;ƒõÑîNØj.ÍÌUÜ`æä$&¢lËÄ0ínP)Än”2yuûÊå_š:¼xòØ ë¿LÞ5í¤µF¹D™¥™nꌇñ°õ/¼ø$\ï¶Åã§}úú•úÎnwœšƒŒ†¯­åûœW×Mï“Aj­É«ì+ë+^ùsò9_“)q³5Z~y•ÂÒ|W瞨¬xœ˜‡î;Kq*76w*õš LÃÞ6{G˜ÎâÄ üÀõ&K§ç¦g Áx0¤‚Çãpþ¡{8,ç“*SÅrq}u}rzÒj+µt¸ú¥—¦È Ñ ½^P¯Ölj¢q±P8:]2R1FrŠJàû¾ã8§Ž-D±,תñ(¶ÌfQ6Š+Íj3Q 5´\/ëT‡iè _AÉXÎÝGÑY–e#Fe”`Âõ]•)ÓëôªõªïúaüBGA¹’* mÀ(´I•ä„ ÏÕ™4ÔÂP;™v§J¥¢ûe”Q†°2#L[ÍÛÚÙjÖo70iœÅ@Kíúîx8v}7G©LëÕºã9Y’Fˆ% °Új«L°,ÉÆÑ¸T*%2ËÅ;eûÜÂF•JÍX«”áœ'Y*¥,¨”£2•Ê”SîxŽQf¿þÔ KnñòuhZAAÁ2›ÿ]¥ôäô6w·Í. £‘Ç]i• ÜÐEjˆ¡vémjoŸmj¹! ³†~Ù‹h+mf2Asb«ÉÄ¡Da™%šh¢“qR›¨éT£aÁ-P‡fQ¦ Š'gÛýÎì䌡6Œ‰ É8¦+¥(›õ†Óó3á`Ì=1èôo_<%¨ÈG‚²FPF8Ëâd0Õ+U +(£‚©¢46Ìqá)¥ÞúP’$I’T*ßqÛ½®XšöK¾5ÄB3ËF£‘Öº9Q×:Å­~-u>Sòqe‰e„QNRKN¹pE§£p$˜¨Ô*ù,#–ÄiœÆi¹Zö¯Ým“ù‰b¹HAµÕ0Œ0˜˜œ©d‚EãHjY*”@¡2åžÊÔ-ÇÉÁëàõ_}Öu]«%Œ.úNÉwµÊ /e–âÕB*0NñÄÍç]B¥Ôâââ÷ÿ÷?öØcÒ4õ<¯ÕjýÈüˆbww7gU°ÖJ)}ß°¾¾>77 ßï/,,DQT.—…Y–%I’ó5äìår9Ç<Ï˲,çî©ÕjÅbñé§Ÿž˜˜È"²,+—Ë”R­5ç<Žã<«èÀ쯌åƒïûZë<¯!MÓ¼jéÀø¾?l÷‰'¬#1Ê`Ô½ïï_êœ÷kî‹Ïž _ŒA±Ã7¼ÍBÝo .úÚì Y–(-½,*‚ cö¶VÚŸ]…‡ð Ž$¼L×SÇ «ƒn¥ìËd‡1Q Œ8ƒ­a÷ü.Ö0ÞìôŽ•¥ªvŒòRë©Èƒ’[žlMñ*»¶¹ºùÊ+¸„ñDçBá½ wnu6¾ñÛßvås¿ @†#w]eË™LŸzüyµÞÃüžo¸Ó!ôСCç›gÑÝχÿ›ßóÝWw_ÉŠÉK/\°—4ªx¾sö[ÞôM×®][j-6n/uÎŽ`ÿá]ß.æù^ÜÙéìöŸÜÅ:œé¾çÐ;DLvX7®)¸ƒÁ 1Y‹ŠÛNB²µÍ΋+ØCìuGïðŠÇbi’õˆ5D1 U Š%ªMØO67¢ëW±ªÓl¼Ûíë[cže¢HB|M, —WNà%,{þñÏ£‡‘ì_Ѓ¹¥æVwcþÞÃ?·"÷tÎŽñ¦·Þ¯“>ɽKçpÕ€dkƒk^€ÉÙùQ!Ú”R[+•z½˜’P 'FË—_Æ•!\ÿÂ3î}ǧ‰³gºYŸD$)y(VŠÊQ›Ýͽµ5¬cO­¿T!ZÓ÷W¥`Ô-8†¨þh×/ú£NgçÊ%¬#)ÆÛX­O•)oÏ»>zþ7P¥H nwO¾û?³q^yúÂçŸDßÆè„ƒ~«41Lì7ËÛ?úìÇAöɿ뻾ëZ÷ú¶Ü¾rý²ZWPèm¾rw¡5é;¿í[ë©KI€à®»ïLtªX¶½·¡ÏmÃâéGž:öΓ3$’Ýn[dÔaJRâ´jIoûúõÑÙ+øÙ{ÓXK®óZlí±ªÎ|îÔ»›ìnvsI‘EJ²ýžL=™ö{&äA†”@†‚`ûÿ °ئ0ˆŸŸà@/F[†1Ù–ý¨‘3%’==Ï}ç{¦víáË}îå%Õ"yJäû(ö=·Î9·víÚUßúÖ·Ö†{×­³lf×퉮*””D¨Dá¨.‚º¾¼xõø\ÆbqÁ¥ö¶Ûî(Ø„ïI®¯®JQi¡zíV¦Î^<}òå8 ¨®Š×ïÛ·â6îùwÿͱ'Q£5æ{§öì{ a3¢€H}Kóõ?ƒ½åäPÅh4(«z°¶”(±º¸Ì¥Çu]ëpO^K]TE]ÕÔjTëë«I= ù8J˜Òh­˜wQ‡ßŽ;ׯ$T„¼÷[Ý[ áˆÁC†ñúº¬úZë*/ÐjU¦Ì²Œ„€udŒ#_׉Â{ª*£ìh<ʹ@‘WãÉO6j[q&ý¤i*[”“4i€…Ú8¥E)yÔê‹>ÖZιÖ:þ à ^÷+­Çãqž¦“ɤÑé[#€ “7Á„J”ê†ÖãuÊ[ušÆ³0‚F£ÅEíòÈ?¤²mÓ†ƒA–eEQÔu-ë±Rª,KÆØh4ŠR‘Œ±4MÓ4’f¨«º&"¥çÒÏÁ¤VyžcÒ`ƒ—RVUU×uh4µ€5u]ב'_0 ÛX9¸árVTU´‘cLx ’ •h"šŒs!“¢ª*­u™$UUµ²(ÊÉÛàh6Úœ­}m+[û@ħ,Ó‘ç?Y\KÊ'—$M{;fâfN¶o)0!YððÁVJ gCe Á•,pÅ,“`!x|Yåea6k㤡´¨#xÓL××Öt50•RÓ£“Ò3ŸO&“4M766šÍ¦Ö)8Û€˜`¦4“|¬ÍØ“çàB o}iJFLim¤¶žchÕ°–j´¶’eIqÐBV“I]׺^÷xÛÊ*c,lúím]>Cc¼÷J©˜EiÏw¢T~lY*Ëe§Òz°ºªµFÙŒ5aÆX>{ï•›8ç”R“ÉÄ9Gív,[ÕY¶S¼Ú‰¿W¢bjÎy¢¤&3X[®®Õ©ß¿ðG!vCTU© Ƙ;î¸ãé§Ÿ¾ûî»ûý~\Õ•Rׯ_ß³gOìwxöÙgŸx≓'OÞ|óÍŸøÄ'æææ¢®1f}}}fffmmíÉ'Ÿ|å•W¾þõ¯ïÛ·ïcûØÏýÜÏÇãñxœçùW¿úÕ?þã?¾pá€_üÅ_üЇ>ô‰O|bÏž==ö€»îºëgögsY–)¥ˆHk½s½ìÄY"]UU|ZÕ›‘»@ä½ Bç,8°²´ÜÚÝ>qâÕ¢(Ñ&À±y]Þê´ yž²V·Ÿi®”ÀÒµëçO^B(€U¬õ—ÚsýLK˜ì'§®¾¾07{óÞC­¤¹ryýúÕë:Hà4ê=®ÕhA…ë+¥Ë“–Ü57¿vu­0ÅòåÕÓ§O€ïÖ°ü׫ÿöP³™ &ëhC@ $™î4;¯Ÿz±\_E ÀÚÆ¥ó¸ýþŽm‹4!M¡rÈøp8ì쯄š( K@‚¼œ,tv%¬ÝƱñ~myufvf£ÚXººˆË` b“KËý¹Î졜^>méüÜý5ª‘ê±ËWVÝ2ĺë'¯Q_\Ø7¿{^Õœ [楯KoÒQ>ºræ4]ò°@ šTg_}uîÎÛmS×Áæ“RPH²–J8qzùÕï@3À:ܹâÙÆs·¸yï®]è§Ø¨ VËm¡&åê`Ùc0GY—…- '—)ÅKg^íwº·ìß×鶯œ[-ÖF¨€¸‚åÝ—zí–«|É´æBI¥x*‡ùp²4¾rýÊTã ÄâõË·ßqÔWòÒU¾°Fèn«×îµ:Yûø«ßÁiDJÈÒ¥•¹~ðè«k#D× H>ðFÍöFƒë°„@ÏæeY˜ÝW^+°¸2Ýycm¶2Á3Ug Öu›­ÉÆÖAÀ;€¡Ñh´:ç½hÁ ˜ '½n‹6Åyí½«}–é°²¶²k~>ù¸H2íjŸ¦ÚVF+ŸÆ£D´ŸˆÝà[é40Õ¾ ÀÆpÜï¶)@€©k!DpÞ+H±_·ßïsç %êšFãa¿×³Î1ð$áÆ„¼˜diCHî¬Oµ"òÞÕ¢WS4 R&IÍ ¢FCÌ-'yÙê¶µäÁ%‹ÔtF\j¡… M™Õ­-€Ñ`Ôi7£fÒöÓBXZZš››‹5f³S»X1ˆöìN'>IG„soðRÊXy›y£Õ±ÖF @T¢‡Ãa¿ÛÝ:‰. ªªf–hÆl]ÇúcÌZ»ãÛßz×à|Øb\ð’ !¸ !Ÿ”J)™èXÓRã¼×i‚w±Æ0bàŒ#Ñ"¾ȃãàŒ33¾´¼´ka—^ðvT(Ê*Ñ)àlZ+ „à(Oi*¬ÅÆ`=M²¬‘z¸`JñÕÕ•ù¹y“|’¦©µ6nëºF{÷ì5µIt2šÍ¶àŒ6õ‰¢h~MFýNgk&¨êZ0©ÇæžÎ£,ëVKs`}}<3Ó޺䇵¾,ËV»Eo³°šÚÄ"b“šáœÇZ“ÖZ sÞÈÞè¡õÁ—eÙj¶l 6ºÝ.g|ûÇc:íÎÖιf£ßøujvâ_èS8¦Òé.æì™§Ÿ{òÿøsS”>Ø+ÇN‰ÿ7ÏI’Xk£µ^´òQJýôOÿôg?ûÙ»ï¾ûÞ{ï=pàÀ-·ÜRUU«ÕšL&­Vë/þâ/üñÇüž{îùÛ¿ýÛ?øƒ?˜ŸŸ¿óÎ;—––víÚ5??Ÿ$É™3g¾ò•¯|øÃ~â‰'þìÏþìßøFQ?ÿó?ŸeÙsÏ=÷ùÏþ£ýè#ýú™;yÇÑw ‹ÑõË‹˜9rÓ}ÝÇúüÂ… ]tóÁxP 7È¥™Ü½wמ›îäüÄó'£]­79¸ç ±õÊhÍOÜ¿¾ëÇV–—WO/׺×îÞzëáãÆ¸³c܃î|ËÚš¬UF£üÄ­»õÛo½mœçóù…÷}àùo¿d¾µ>îûoîwµÏtzöìÙ)Ý ×¯,…$ô;}s[X=sÍ#{g[³,gùRáGu|x çÏœ½ëþ;ÖòõÝ{nZ ‹¸êX› %­æÚêúòÒ*ÆS+Çë®ßú®£Ôah°ÓîåɳE÷¦äàGÒ™îõ•áõb£Õ]Øß—/_ö 6É´œAsRœ@äȱ`ájpä@N"Öü€P—ÞûF¯Ž‚€‡'8l•ŠŽ 0!@DÌ{!„Bà®° "Ž''ç|Á=1©B]’s p†¬Uª¿ë-ÁxóN2&‘·Œ¼š‘×¼N„ÐÜ% 'À™`2Àƒ€SÇ`÷ž‡@Kɸ``ÁšŠ3)Á rŒ<'z+`ó¦-¿qÏ6ÞL‚`΢®-)0Î9 "ï¹÷!„P×"é‘7 £¶æR0@N³ È!!ŸpJ$¼Œ 8—1bp)‚fn3-âŒg.ŒˆÎœ“wÄ}%„–HA›¦™Š‚$0æ*Aíh N€Pp>ÔÜUP7¾äzšó“æÎñ-FgÉ!Ò@A2/810Æ‚€›¾â*ÅÚ@pÆŽQ=u  Ëisgr;Òú;ñ÷FàA@Tåxme)Ïs"šŸû~oœ‘ѰEük4>úè>ð^xáøñãO>ù$€ÅÅÅßÿýߟ™™¹zõê׿þõÏ|æ3´Ö>úè]wÝõ«¿ú«_úÒ—úýþóÏ?¹…ŸûÜç~æg~æ±ÇsÎ}øÃžŸŸÿ¾ðñüüùóý×ýË¿üËúЇΜ9³ÿþ'žxâ…^سgÏí·ßnŒ‰z yžGÔ/MÓ ïœôøa cL€0£÷аõ¨L ñ^ Û%‡,_™ˆµª’Õåeë]3mf2cœ¥B:¼¿ÜWìÞµ·Ýj¥<«'F3É9¸…¹öÒÕþž™–ÎF“b!Ëß“Í4{]Ñm#Ñ.9óÊ9˜ÍjÞ/}ëÛî¿ÿæÝûç÷ì~Vއ{ï½³é[Ù09ñì«XŒúágOŸyÇäÎFhíÝ{`va×âÜÕý3ûfúó08{ö|qÞ Ô8ýò™{¾/ôBWuì½Åÿø°ÓÈ|+±AkßJ ?^3+ÖûÙBU棪·»ÓêîÚw×­áˆiï÷ 3IÚs¦ì¤!åŒY²Æ™‚¥®wÒÔ¼Ù™;t_g¦Õê5ù¤¾©½oeu£•)ÓŒ@%Z½fo÷üZ5ºsß]'&h¤Ùînc^VæüËg1FlñÀ^}ñØ®#{\«Öþџо×ìíÙ›Ö F¤k¡„Z}éŠ ¶Ûk÷C'XÖNfvßê}õ­ÍÍÌ&Ð&_C¦If2 HV®Œ £U_ìNw±ÛîîQ÷@÷Àb¾XE+i ˆÒ•:$º™ÍÍöVËVw޽O·Z ŃÕaôë/C xÀ‹X}õüm‡wω¬×ÑK½´­wJ er{ì…cX,"ƒàÜÉ ï?¸knþ0?¼²gy0Ìo¹ù¶>ïd$¯¾ˆ1DKyV/_(ªö¥;Þw¯õå.Ñ™ÿÑ÷_½|¥‘ôöݲŸ'b4Z³9OB¢¹f’é4•I:[tï}ïãõLʪfýÎBÛèÁ` ’’;ë\é:³ÝC7¾¾|ýÎ=wLZE¢õ®æn>dŨªË]ºŸV²ª]Mžq®;Ý{3Þm}[¿¤µ<|ðζè6mcýõ% 0øPlÓXØz1ŠÂoËøþ Å ùë&'ó:Þmwi–%i;K%<çÃkl]Z£‰àœå`ÞZšóà­õ®öÞyW'£">1"ï=WÊ㌉%Ùv§=°)¦?Òç "kŒ5FkmQRÙºJ’$¦ÐRñèÒ@ VŒ ƒPæ­% ®†³Ó4U WoMpZ†mØc„ØêãÐIB!Äæ[!„1&kµ„Ry‘WU%N !½wÞÆÀš¸QZŒº®ëºN8Þ{ïc6BZG)uð>Þ­½÷ð>òá}]Ç[»÷Þ¯­muüj­“$À9w®c8 ¡$wÖ¸º–R.„«kW×N%TôÈDà<~‘µVÞ¨ç'0ŒÇãŠFÞ{cŒ`÷¹Ï}üã?räÈK/½ôµ¯}1¶´´”eÙùóç?øÁÖu½ººúÁ~PJ9 Ž?¾´´ôÛ¿ýÛ‹‹‹GŽY[[‹v»wï~ê©§>ùÉOnllÜrË-¯½öÚ®]»zè¡gŸ}–ˆÎŸ?¿wïÞÙÙÙ™™™~¿¯”ÇÖZ­õÎ߉¦ˆ·~EQxïÛí6€(¡º›KSÞœUgó«ç®Íí-´æ{g]‰|T²š/Y¼rü⵿¼„è!¹}áÖwÞÙœí¶7µöîê©æ¼nN®¬­”ëÃå¥ÕÅo¬‰ æ“î¢"Au¡¼~mм¹ÓßuȬ]ïêl>é©¡¸~âêëO_9=@h ÃÌ¡–~Pî¹ý`2ßm·óÜ•Je£5·vá¹—N˜×'˜À >tÛ‡ö·;{Ûíî£v»977·|iùÒó.ç2F›4¿ôžö¿ÿïþë®Ne»ȤRdV²1aàŠS«¨ <—f&ß¾Àï>r`¡µ”å37õf²Ù~»7¯\»n®–`€å` Î_:}ùâùË{Þ¹03ÛO²l”÷ffÓ ¹|æòÕ×ÎÃÃ;Š!£ëÅàÜb÷¦î-íùæB§Iei½ŒååÅSÏ'ÆS6¼ó#4gtÖíÎ,4Ú­Ý ' dßü˧¯¸ŒU 9M&g˜ýÀ‡¹­Û€cʳ,[èì2Æ\8vñÄ7^Á50h ;Ü9xÿý£»X{öö»N¥˜kïÎϯחãÆB¸Ní1¯ŒÄg¿œsÉåv.ÃÜð4pº1f4'“ çy€8#€­šÍf£ÙÂf½4E朓RPI"¤äR(ï¥Ö±¼Ãu@èŒs¥¹Ò Œ Þth,bDŒ€4Mu’HÓ @’¦>xÁç=%9.T»7 8’I‚”¸œfd€”Z)§’ Ó¼ "I§ÂRi"!$˜þ…œ3éÁ8š­–P2„¦iüç)ycЬÎ:k€s.ä‚/&UüL&„$.ãY« Æ’‡"I¤ÍBh6›`ŒB!)h©t ¡’­KO*ˆI!ÁXÖl(ÄD4 eÀÓf‹ˆâ€g펬k!Ä”Ññ–²! Ò,ŠVpÆ}ð\(–fš3^;U b.¤TJ ¥îÉ1ÁE’¾0h.qÍ „dRÀ¼``J,M ®“ Œ3 ö= ß‹ïÿ­­Ó³¿…¢ι⠆: Ä8S P ˜J%àŠ (é¹J¦š¼€Ò©VàJ&àR -¥æZàÍæ¾I–Ö΂±8þ¤&^ ι”rº¨*‘D ©D|PcB€C¥id;0©x– .nÈ"¨Lµ¥fWŠØÂÏ-ç\¢“xE(¥L©ts’0l¶:\(ÆdšÊˆ“)¸ÖÓžÛ$m礜~À•ÚYéwâ 6-!¾(8cÊX}Û·¼ ‡†1Óø-=ÆØ¹sçšÍæÂÂBÄ Ž9ò©O}ꡇú­ßú-çܹsçžzê©ýû÷ ½^o}}À‹/¾»Í»Ýî“O>¹²²Òív#¾¿%ö(-,,cŠ¢¸ûî»_ýõË—/¿ç=ï1ÆìÛ·¯(Š•••µµµååe"êt:I’Ôu½sÞwâ‡.‘&!D¯×0–——w†e«H¨´6Ž÷ûÁÎ?£»GÝr ïµf»èÖ†§YüÊ%ä@l Ð0a]îã»{sƒµA*)ÓƒáàÒñóž»X^í¬X-óµÑ+—¾ã*wðÞ[TSKk÷ï:0Ù˜\;um|zŒ«À°(V&H0üf~ÆŸÙ•îÍú­µk낉ƒ7øöמ\Zà à@ÊŽ35å·þú[wÿÛÛL( 䎀À“>óWÏØ‹9,)y"X`Œ—þË þ»÷‰} ×­´¨ ªÑ‹/~{pn+ê8÷Ê9®%6mhW.çöÊ+/|ùU,Y«U^@buýâUÝ¥ê€ëHb-7áôMׯ^Áw6p~óÖÁ€~öìDÜó®û:ý^ÐúõõñÆzjå•®à8Áa ‹”0Çë«Éå†ïÒ`˜èFâ’zRKæòñ«XEɌԵóÐÊ©eÂÛµ‹ïjP’©]œLΓ³%®If ë‹“o^üæ»>ÈÜu¸§Z¼`óóóùh8XflXÆ›Í ¸ ÎÏcnϾ½JɺbçÃ|ñÔâàÌ—ƒiÇ D=ý‹{ô¡;wßÔŒWÉUŠ7–O-ûÊ+¡Ãä}¨kñ~ʼüÍ—Ž>z—ïÝÞ›õÁÚherþé‹@êqë'X±/=ûâ{oy¸ÊªÐ"Ýn”Ö6xù›ÏV—sxxcÁ æ¿f^|êÙý×ïmìínŒ—¤V³­½KW“KÀë—¶¿À·ÿ·¯Üú‡o¹ãVçkÉÓ~¯µ¶´øÊ‹¯.¾r7)TX;¶viæÂþ›oRöB/auymmyõâ —ðP‚â@5€gK,Û•5²lðF¦†g6Î?¶:3ÆiÀl«5ߨYd~€ˆÙ÷–d¬¦{ï•P[ 6 ÿd­o"|@@¯×k·›ÍF*¥B9¦iꪺÎ|àœ,æ¢Ö)¹u¶2ÖúB0µãÂzﳬYÕNe-52^yn‚pDÈMˆMæ[¾Dà8y‚¯sÞK!ó©PÖY%•à‰±!Œç+c³ëSc‰3É8×¢2ÖØ¨ÖÃõ܃ÞûAki­¯-¼Õ$„°Pž'ލt,õœÈ'Rbb­œÈ…>óÒ‘t,Ñ<¼'ÎçÎù‰Q PÖäJ Ià‰à€ñTZˆÀ9GM’@žÅÖî@à ¥±ãÒ‰ŒˆHrÁ3ÆS'Šš2«­wÁ;ƒ´VÚ@àŠ@ð\ pLU$7žZ–¸€PL†¨ÍI Œb>S;oHAD‚ ç]UûV൳®vœÁr%Y Ú;-de­¯WRk0.™´¥cŒKÆŒe7uHw$cÛ\<¶o鯝ƒÅtß» -#žØd8†àÑB2îA,9OàL=)*×YêjȪF7pO¨-c5È)xÆ–Uhƒ›Šsë¸p2žÐ©Œg¼¶6~¤P .âEͼƒà¨ë`KŠä8¯šYBZ¸ª¶ÖeMá<ó7ÒÅd²Á8(@`S8%¯,À¹âŒ¡²¬¬mdºzï…uíŒ!•rÎࡇ“ºÙœ®5B°IéC`)¸ó•eÎ1™pÆ`-%šû2øNü !@Ü[Sœó¤ÙVJ6))•Ð6]›Í)þ½¦šÖZJ-$b‰Õ{ÿ§ú§¿ò+¿1ˆË—/K)OŸ>­µžL&ŸúÔ§¾úÕ¯~ä#¹víÚÌÌÌÊÊÊìì,çüüùóûöíóÞçy~ûí·ñ‹_ü…_ø…Èt‹Ò?eYæyþðÃñ‹_|ÿûߟ$ÉéÓ§o»í¶+W®œ>}z2™„¢Ø”2MÓƒ®®®.--]¹reaaaç¼ïÄMD!’¨À  ,ËÕÕÕ{ï½÷µ×^Û.øTéP×ñf,!]ÀÒ™å¥ãËØ‡;n½3¡Æégó«ÓšÿTŸOAr‡WÜËÇÿîeà'þ«ŸÊóÕS/_xíÜTï ìëbT"êc pâøËc‡ïºã¶Ûoÿú>sýúuZ6Q-À¨…k{õO¿ú¿ë£÷ÿØû‡ƒáüüÿœðÌ,•0€çI¨Áºåo\ëýü{JYl”«–£¥Z³Þâ×Σ–Â3u&Œ^¸´JŠP-Çë…rpb×€F³SJ'ç/>óúÅ ¯ƒ{Õ»Þÿo^?qzøÊ)¬MBÓA¬MöµÄFîgêã—^8þ¿0{û-ó·Þ<ßý?ÿ?Å.ÐiHÂÄë_:õÔ_b·´î¸ë¨õ©Çéa8 #(KÀàÒW.\úÖ…äàÂý¾ûìpýäs/b­†æÊ#Ť€¡K_zíR ÌáGyøÌÊÚ•³W'gs”€X£·g~°qàÀu¼ðŸ¿ñBÿé£w=räÖ?ûÝÿ L¿ÉPˆ9¹¯Ÿ;þM¤¸ïÇÞ½wßž×O¾vö™S`›»…Íÿ˜`é˯-ýåkɼóÁ»Ëºø/_;‡ë€t\…€p8vìÚÂO©„Ma&äÌ9·úÊ5¸qÐ.á Þ ^]«þmá” à,уµñ|H®>·„€4üª°r¶úóó§Ú8üàþÆ­7ýõŸ=E¯|f à µ€ìªê5{æÜÓgöÕ(9çR Ñhd©`Œà=ÕÌÕ.„„ ZIYO!„$¹!£3®À6AØøp¥„Ö2ÑçM%Y"—o ¶vŽå¾Ê¸Øs15˜Rj­›)6„Pœ{&DgL<Àûˆ8¸p~úD›…zÅ¡·k'v6"aÞ“÷XžR¥¥ÔLpÆ$c±1Es¡¸`I’1 @HƘB,å *…ÚyAÌ{²Ö$I&ƒd‘ÀA98ƶõGÄÃæ¿·m§ â|  Tâ\œAH!8Ói*9Á{g*ÓWB@@\I!¸ l æg¸’\@h¥t1FŒq&À˜—‘ι`‚spLj⟦ke NˆAjQæÆ“‚Fä‰â5Å1°-9m»2¶~ÜLNo¢í‡Gl Núî}¶ïÇŠÑÿ·îËÁUšqáœxdŒÍóRˆz÷îé±L©LQYfë0éM[bðÖy Å$o¶[,„0Žž|òÉ“'OþäOþäc=›#~çw~ç×~í×¼÷û÷ï¿í¶Ûþèþèè÷ûœó .üæoþæoüÆoúꫯþÍßüÍ<À9?qâÄ—¾ô¥Ï~ö³½^ï±Ç{â‰'öîÝûðÃ_ºté—~é—>ÿùÏ¿úê«»wï>uêÔüü¼µvnnÎ9·¼¼¼´²¬uºoß¾FÃNü0ÅûÞ÷¾ÙÙÙÉdBDÝn÷Ò¥KG=þüÎÈL×sç%W¨=”F(Hçe ÎàäÉ`47å£L,”Œ ƒTÌYúòxH6Ó¶ ppëõæm >œ‹üìõ3—žºl‡°@pDäFÔTŸýÝëï:Æ•p˜Ÿí¯/S‘@I3ø¯Â`0Øuë.Ï083¼© ð”´ekÌV<ÐVÑUÅ|yìÝf?ê·Û(§•üH Ýé´VFW1Žë¸}á?}Ŕ٦<¢d€áØ3`Fc`Q/cmíÂÚÓW^#À"ãšB­^€#´kP) tlrâÌKS¼&€3¤*uΕcHl:æøòÓþ ¥ƒk)ª-Þ (ÉZO¬ °@‰¯ÿ/OOoº P<ƒ—ƒ¥UˆMl€rêÒÉS_>›ÿˆ¦¹S•6C “à£ú;ÿ×óß6)­›Oqð`ÄS(SóžyíØô\{pTBÉ,X£ß(L X³1ʯ6ÚÍš“Tl¦7‹`Ájàà){ ®“$49X’×ÖÐeP)¬8C7ŰD¬b'¿|/ã0Bj¥&&Áš2»‰pdÖ¬hp_\ò¯üÑ7§ i!½6p4˜‚2pö«§Î>u*Š×©nÓ:‡¡W’ E¶¬# LðÌ|KìÖ€€É¥ Ô²”ä¹ÊEæyÞÞd}ní(Ã[Å ·õ·oï8Í¢¿Ìx»·ÔÎfY–—BȲÄ{«•`Œ1­Ó¢4B&¶öB5œ B°Ýó»Àóøh˙Ȓ”EÕiµ¼sRòf#­ªÊÕµ3ÕòÊðÐÁCI"@¨&¹X˜ÉKÛh(F£€@ÄŒÄ8D^T’+kœÌTª3ï=g@ B`äµäÞ{SæÁ#Ó2‘’÷fº.8"¦S5šŒ­5Íf6p)šºa½çŒ  8#†*ŸT˜fï2ÑÎ9W#‘ÂÕ@»‘Á;Ƀ© à‚[g¬31ûÜŽ,¼e<;­öp8œ›ëú-0žŒÛ­f^Œ¥³½F¨ Æ„f’y&¡¶.®oÍ4 Ö@²Í–[“ vÖFŸK%á|ˆsÉ9c\rN`FÄíf`ÖF°Æü¯_øÏ¿÷ûÿá‹_üâã?ž$Éý÷ßÿ‘|äÁìv»Î¹ûî»OJù…/|á©§žòÞ¿ï}ïû‘ù‘f³™çy´®(Šâ‘G™ŸŸÿÃ?üÃ_ÿõ_ï÷ûwÝu×ÿø—e933s÷ÝwúÓŸþŸžøÿûÏ|ºÑhüÔOýÔÊòâÍö}ô£}üñÇ/]¾zï½÷~ò“Ÿt.ôú³L(Æå$/õN«ÑNüÅË/¿¼åϽõùàƒîŒ F\qU—Np$ ìììüÚh)@Ñn ¨ä˜êФ`JYY“µ7¾ð,¡ÀÀ½©\HS]@ Á¡SŸp€@Zr/]Yo&c-­ÊÂNm³moÏ€ 6´ùÞ´ªe3´qæÈ¬-`Ñi¬¯ç jÊ!Ì´'°„žL‡¼Ú˜Œ”»Ó–Ø0ðPÖŠ#ˆyd¥–(‚ à1áƒJumª©Ð¼ß¤c´¤¼"€‡)¦œÅ 5›X²k9Ðj`l@4g,p¼ƒ# ƒ_Ħ‚ôLÓ®OÒ~§wÖ™¿ܰå7±¥»·õ°…*|ߌ†­Jõbñ=PFÃZí‹ò<¯ªÊ³é_(cÙ\HÍ9g›•ãiJ·m  ÕjÄowÎ1–Rpñ[ „"7f2?7 `25³Y%8#ÆhÚÁ‹ÆXdÆnù„‰M5H. ÞÀP⡉mrJeJ9ïu|û A™DK­DñHgˆkÙ*rÐJ†©£ÄÛ‚ Ûãøk¯½ã·[㫪 ×o>pÓp¸Öëöˆư­`­•¼a™2Ñí·ÿ±mûFh­cN<®QYk9#΢@òf‰›(Ñ2Ñ2ý–ý $[ êqšÆ¬lëßqÿ-ëÍ­±ü‹øF!X†LEâC\È)pɹPØr‰$8™r0×ì5ÂdâAQ "æY7sþFÎIopJ„H”RÎéÈ[Ùvhß½E§ÓÚ>C”I¢bÓ÷žˆ¶2Ï4Õ@ˆ’* ”R¶¤ i|ÛArÁ5‚ÕÆ42¥“d8ØèözW®^ÚwÓ¾I>²¦îtÚ33ýj2I›­z4ÖiÆÒdpåêÌÞÝ`¨&£n·†S§_;räh@ @€ )¸#¢/„à›¤ )gR Ƙ~ –9½Þ³›½[Û¯8I6§ÊÖX’”ß_â@[ ÈÇÔ˜F£±RJÈDJÆ8’Œ¨ ¢®E¬ OÖVJFy"ï«¢PÒDr„V¦cÓÌ?Hp%¶ÌÔˆä38&  2¨ŠÁ·› ­„ šÃûõ•5­u«ÛœSË뫽ù…MVf0ÎG­¬!¹ÜšÀaj ÍNÉøg¢:Dè©´’‰’I\Û‹Ižçy¢Dý>‘!€s""⛄ Ƙd’LŃ9 Ò4Õ:m4~÷w·®ë¢(ˆ(¶W„¢ D³Ù|øá‡ßýîwGõß4M¥”eY6›Íßû½ßët:!cÌwÜñ™Ï|faa!úSJ)³,Ðï÷¥”ÿîÿ„J)!„uá‘Gyï{ß[›çy§Óc㢜™™FB+°ãÕ²;ñ/#œ 2M]Y¤ ˜L&Ó¿™ÿ%œ¥Šj3UÑiXï,¹JJx "Q>Ø)©!ÕæZ"À Žœ³ [#WÍÌæeÅd! T˜Ô6I…hˆÚÔ¨§Z†Ñc .€1álppÐIÖHÂõµkcWr“Nx²ð \ m©ëǰ±qÉd ç©F¸i‚ëj£³–´^ B¼3 š ÙL°9¼EéPºÍÛaÌá °µ¸#H8IdÏj”5ÐÁ´¡$œ*_€e¹©`ÀXØàml-Q¨*÷&«5؈YH„`«µ¡œÞYÃ&`Ä"WsWsçãA0p¥A‚Õ¹kH*]n™¨ßø(™ ³Õ€@ä"L©’=³µŸT#† $j£²”iê*Ë-¡’|m  €L!‚yžWÝš7$¬ªËa0Ø ð›´š~U ˜¼ˆ™`:a¡ `¨•Þð®z8‹ÀP‹žÎ2pR)·,L >À*G@ÊQäÅ´úlMÓšˆ6|…è8 p¯@¡®ï¬0?à£fäGWlUléÍn?8аõ ¿òí¨òu];gµÖ1³š™™©ªj~~>ÚÄÚµs.&–’ 6M%¢fø) ‚õŽ1ÒR § Â$ϵTÄÐî6ðäˆÁÏx” Œ1 DŽ<@[±ÿâ»ûI¶çNo¯˜[nÿí[p–· Ëö7Þà)yš0Ýà!Ýyw#Ð9r€J„JÚ¦Ðétbf€Û$CÇá{ Á·Ã†¶#RoJ$¢QÂæ±o½]J“í·ŒÉÖ ¼eÿíHØö×#‚°5ò[.!ß=€|š)¼‰€³ùÞ!vŒL«Û ˆxS°ÑÃÖ¶Õn!ÀX(µUÐ oS$æÛGo~éò½çÿ[¦Áö1ÁÔÓoÿ(cŒØŒ¸[Ü?¢qˆ¶O¼Ý÷ný}SBRnÇÞrÆ·c%ñÅï×±/"›žÂ[Î~»×à Ë+…J’vW ‰¼ÒB@) 몶UÙi5¹BÕ>Ƙ÷A Ô¶–o“1¿ç–?(6 _1þQ ‰ÁBh4’fÒÀà-MíF£ÑL¯?³0  ¶UUÖBɹù9BX\^̲,x;Ó›™m¶"è G ÎØµgºÓ®öÕóýÖüb–À¦ ²÷޼£~¿ßëõ”RÖZOL(¥ÓÔXÏ9çìê¸ IDATãDbÓ:ŽóØO†b4™6E;è)X†¡N’v§ý|œó A*B¨«š1–eY25çˇÃåF£1çïz÷»Ëª®ëšˆB ù…çɹ&Líj;‰—CÚȺÝn¼Kæy¾¾14µB$i#IÑjµãI£ÝY\\,Šb8J)ɺ§œØ‰!‚ ¦±ÜÁj& S¢ 0tȾ÷G3´.Ÿ¿vúüéÑ¢AÁõÿÃÞwÇIvTç~Uucç8==yfwÂ&­´«’@¤g0Á˜`ƒƒŸ ~I“Ÿm‚1X&ÊÈ06Y°e"H+íJ›wgwrìéo¬ª÷GÏ£ÙY!ÉÒž½çûëé½Û·î­ºUu¾óïOHžô åCÅ%¿õdpäfs³N"LÓ¸#LÍ´u*2íÏöu.///Ïåê§J(| ðV=‡p¸) ^²mlÇp±X8úÀÁæx3gNƒð˜Ž6:Ñ1’ííîÌÍ-Ο•S6ª€ñ è¾ïKFZ܇ ¤Ñ»·?5V$»ïÛ?…Xô=j@H Ø@ ˆ¨žôöí£”áàý÷;‡êP‚€8P¶+hFºŒïØ6R©”§öD¾ XÖ‚ Øi3-2€³'±÷Ò‹kåêòÔÒÊ©9,É6Ö ›-Gx® h@æHlpl Ó>räH%Wñf,TƒSˆ„¨ª.mlÏ®¡¡¥……ƒ÷ÜÛÃòPFx âÁTÀÍ*tw×ÍŽ+L–a„K-á³vî-’°œV .·òQM1 ÍqÒ ·Wxœ E¥>÷@¡ á;BÓ4OAÍŒùØñ øÂãÀB 0`&‰‘}ñÕWƒŽ›íêH(jûÛ²]Ùt­ß$Ö^“‡^—lÈÅZŸNuöào“5±’õèÕ£$!¢~ƒRºÊúä ˆ¤”®ÒüòU™N¥:ì¦ ±a†¦B;qzjtë ®Ûªím”ìœøè|~)Û÷ÛÎ"Y?á<¡ñýÁ8 |KRÊ(-UJ‰XBUUÓ4ÛÓƒÃ9UÔ@Äh×W%@&™R™ây­U˦iº¶ W6‰ujTœÁ3LJP!$c¤=D×HO¶m»®«ë:!¤ÙlƒA)‰å¸á FX[ñ‡0ª &‰©aA$•D°¶æš-—(Äó¸'<á 0ôU 9¨êûŽ_mÔ¥/©JƒF°«'H\¡ X)§â)UgVÓi9n³ÖT 5 RÀRxBßç²MôcŒ%S‚ QmT«åv‹öFëõ:JΗý>oçíΠ(Ôõm¢QP‡ØP¾8yá5»¢éD˜E|‹ŒuG{.é=4}xêÀ8?ì‚Q0€‹ÈÈ;c]ñD"a*F_kpìòíË'ò‹G Ç ¤e7ÛIæŽäÀÞŽÑt ÃTCLmèÙfo~ª0qÿi÷Áªgv£:ЃÑ=cÝ‘L<–ˆvŽ‘][–NM»%çîÅ}«9£luíØzÕˆÔ$wd*ÒáSá×¹Ðý¡§íœüúÞtÎ$˜½Y•Ä©‚T›©DFÄô- ̶¦½IÀƒïÔ 0(^ÿe£;:£cI½SgA?³32²w0?¾2}ßtõpYJTm4tíèÎîìêÜÕˆøO4y_æ…Ölý{ï[:R[…ÌÀzÐÿ”‹zÇÕˆŠ‘Æ@È}º5³obé‡Sm L&áx€†Ñˆ£lEgÄìH„y¶{OŸZkMí;8}Û€¨aضí{€‚Á˷dž²™¡.ÝÔ³”íp.¨/gŸØ¬5#ª kÕ ‹“ÔEC{bƒQ%‚yÛGvÔó¹£sùƒ 8µŽI¨"¼32réîh_FO…õÑ;JíHNÎN:Q;iÁ;óüÁîߺ2›ŠõÄbUâ®JÍ­TÊ+‰Ûö#¿8Bdo¯j¨¡™+­h‹hA'HwLNN7\œJ"A<(ص…… M‘„¨•$@X*8|Éè©S'¥]‚IHÀ‘¸øê‘Ôh7Oš]»Fòn3ÒJFœ¹â¡ûT&ÀÉ«z£}™ô@6’‰A=}a×ÈUÛë…æ}_û!føª"¦Œa¶uïÎÌØP W‚ÆÐh¤ç’-õùüø¾ƒå¥U^4~£÷hÏC±î8 ±c k¬»t:§ä¼ýÿúáN¥œ?/ùX7^ò!ûû3>Îz|à!éÇr³Œãe­9œí­v4¥”¦Óévõ/š¦µý«3éÓg"Çr•®MV ±UrÇ=B„¤‚ÃW5ÕFkfjú®»îzáó^Ø™êÔT*À ÚÅW‡#ë°öÖëò&Ö2)ÎåŸ]tÓPÞ¦ÉçzD›ù·m’ƒ²ùpòôé‘­[ ð'o}óG?ú!•1Ûµ†q¦c)@!É™#VpãáÚ¼i„öì/×D\ï[žÓ^;S`bCEº +ÜUÛþ‡àUÚ×ò$¼|y9‹ê$ jV3hƒ‘‡(霾[÷Q‚RvvûÃãmÓÖŸvvY¾5—þ\WtÇ0ÍÜòr¦³ËóóÝ=?ùÑ]Oºø’;nÿÏßñ£¯|ùË÷©Ï|îsŸûÇ[ÿá®»¼ï¾û_ô;Ï¿IˆÝ{÷èѸÓhºB„"Ò¾Éök³n(RBæ¾m\küÚ쳞ÍñKdôÑl¼VUýèj¶‹\Ëe°=Jαã'îþÙ½ã§&@oÿ@©P|Ö³žuÅ;&=S"*—o}ÿ?î ˜ál&ÕÎ\Ñ º®Ÿ oz”íüå+¿¡OÙ›=!¤t”6ùÀ·¿ýÍZ­153CÅs¹ã{šfd³Ù .Ü}ÉÅ—¥bñR.2jXSDU5TU[€5”š€†ß¨ÅY‚)*#ªª®¥ÅÙŽW«7Á°n\×U5Ã0ƒš¡;–M„Ü£‚rÚÖˆå’H•A@@p.y§e„F4Cm«`2¡ÀõÝz³åqO¡Šª«ºa(Ð}×ç’ .Q,Õɤë#‘L×ëM]è„PßçÉtÜðßjºD¡RJÕ0%e–eÕ‹%Ÿs•©¡h,žJ7›Í\a®”ÏëºÞN6\έ¤ã‰ó»œóvÞþGìæ TSmy _¸`Ô<°÷ê½É‘„-íÅÒ²ëøñX:–Š ö ‘8[Ñ"žîxj7¹§/µ7ˆ›sK‹²)“zªgwW´«AÅ1aWZÉh²jWI˜tïìîÞÓ§¤YÞ^É ñx<‘Žwwô “Nfœ%+Lc¡€¾TèÛÞ3rÙhª·³Ø(ŸÈ kf¶o$¹½2W·÷­&e´õ2êðÅ£JŽï;×§‚E‹©[.œ;|Ú;b¯i."Œž]],ÃDˆ65k¥B´t2۽ݯ’™¹)h@ƒÃ ¼zŒ¦il0’k.sKñx<3ÔŠ˜`tÚœæUÖBzKj];{·=iÔèÔZ …J^Û6Jé½èisG‚RZzkÿð“†C™øJ­P±&õ¸ÒÑÙaô¥âTÀE‡ÒiÚMË Û®彉^_pg%Ù®hg_§U_š¾Â= b(Ü$Ev´7=Úí|bi*fc‰D,EMWšV.;g78'Q‹ÊHWdà’¡®]ÝnЙ¯ÌæÊ+}=½Td ¹U‰›+éYaDuC±”êÀEƒý—lÕ:" ÕÂdi>À´îÑäPvŒÆÅ\f¶|[À>b‘p6ÙqA& 9MkaqVÑŒÎÑ>c0=jyâ…ÛZ ±E·v_z!‰èRøVÙñDC ‚‰½`ëäþi,RØ``ýZÏÎ-FÒtˆ×¨6›žÖãDtð³,8‡ž hBïEƒéÝ+¤¾ÀJ¹d ¼ý²>g0Ü TO&N„‹K®bðI[ºÇiXŸÉÍYåVg&ì Ê0_5ZžÍ¡\54C•œ2Ñ3:´õâQ?¬ÏV–%;Oww¥‚Y£IË<`ËzK¥ 'Š4õx_¶g{_b(E#ʃÇlˆÄ‘œµöGà-x €œŸfÓF³­ÃÿPkç ¬aëá†G 4œ _‹jnj¶mSJ––– Ã0 ãðáÃí¦X–eYVû„vóÙWªÕ[V"™6æòJ~zzÖrÅ|®‰Æ3i"Ѭ{œ{†a„c VÝ6:àCJ)~I1#à›­âפ)%š¦8Ž×^JÚŠ ;wî¤ s]—©ŠÇyÓ²(¥ÔuÓéÌ™,žvážÕßñ<ÂÀ@8ãàí×’Jj5oUKE5 Í05˜í4 iû‚1ªš*ñÕz³Õ*¶TUA¾\íHG™n0UUØŽR·¸çyí|=ÃÐ5 ­–G©Ê4¦q0ø‘„Ì/,B BH,™ŒF£íÚ™™ßõÏoÎÛyûb”„Í-P€ú ":ïé:’;$ Ÿ:Ü«ÔA-âýä©l¦GÚð™W—Í&k„;£¶ð¦¦›V£0¿¬m¬[g01Fº¶D̨Fµ\1Ws«z‡ÑÒ­V£5¿2_(,V[nÚÉp_d«¹•Y„y ÷í­‰.—¹õ`Ãó—›ù©ü”Öðëz"h½Wdçî[Bí¢˜Û.Ý­F˜4¸“³Oœ:å2><6,Ó‚ÆÅØå#‡ç¡°*B™ÚžvM½Y«8¹¹%,×Â-54$£]cý3?™"¼8“èÑcÙŠZ^±sS § ååÎf†d`¨µWí4:j´#ÙÁ9¯6ÊzP+ëÕÊbñäÌq›·:;;[–“ §Ì C™1ƒªªs!¥¡Òq5D&sãÓó3Œ" DƒA…xîð/»Fq¹W««’…"A¡)´ÛX¶–óõB©Qs«®‡ÐÕ“ì _úœ]û>{xÑiÀ$/èÎdÓFP9:}j¹´°˜‹f0›ºÚžˆlëZ@ $– Å–hx ÑÉÕ•Åâb­Qæý]}ÉÞ4cj("-R#š¦(åšXð–½åÅ¥òJ±\Aá˜:éLl R(žZ ˆ‹¢èXU»XÌ-ÏG£q=öÓVllU0ãÀô£;G»z;æy1·°’_,KDÉÞd•žK†æ “à`Û=ÊÆ<Ío–ëùòr©Ù$évuRÑÁ=ÛOœØçø`-†“K¬¼ÐÊÏ-ÏyM+48p0_ŠCÆ®ø@z8À†BWêÂâ¦cÁ^*Í–ŠyÇˤãqßò·í¬õ$}ÛÖ"„ïø–‘ŒZ1¯Ø*-V*ÍzÍ.´ìjx,µ{k‚Ù>²e{Ž'pPKÐ|eve>?=5î8¥îhGR‰1…‡ŒæŒMÈæù9æ±í»ä¦þצZx Œ†³Å Έóm©3 §OŸö<¯ÙlÞtÓMfff*•J¥RÐþ°hD»D:‘Ê zÜU MÀ³ý–f(Lˆ¦ÓÈ—þó®ïËù€¬8y©» Q⎬W‘P‚ F„&%%œIIÛŽ“¢JÏsÚ –R¶ º®¯WØÀ?;ŸM‘X“X ážýÐ6MŒªS' ~¹qßXû]P…5íVw:ûößúãßùþ÷¿÷ÂÝ\wÝuõJ Œ€Q(„°6 Üü‘„£Ï¥I±>»é}}¿k¹è›ž¿^ˆaX°áêkD˜Mñˆ ¿ðËÄu]ÏL¥ Q¤ôN±iüùÉ™c‹‹óÐñüß~Y:ÔGU^iÔ™¯ÐsV br?ƒ5P°MŸá¹´-ÎÆhÚG×u7 0gÖûðk¿ÿPäBØ®3Ð?[^6U-H¾÷†ŸuÍÓïûÅ=W<ùò¿þðG_ûªW¿ù o¼é†ßóÎw]wÝu·ßqûŸ\ÿ¦}ø#¿ÿÊkßtýõŸüìç’éx:íA(ª¾êfK¹ZTVRŽ#7EL6T¯ÙXYß›í<‚öhY߉žç=* A%’RP¦ *~ógºº{¯¸êš@(Ti´æÔT#Uëöè¶ v^°wqqþÞý‡þíû·éé³qt|ùÀJ˜XîØsÁ¶þáJÙÒãfWã¡.A]œE––§ù!+ž7Ÿ²ml箦çLÏϹ^ÃÐuMS‚Љ…BAÃY.6–æp¸±´pJÛÑÚrÑ¡Xt×3.½çó?i럟·Ç€®ú¼”RBĆ ÕzG`•ØûØ€† Tù‡9ßu])y>Ÿïèè(•J333Œ1]×Û›9žçµwZB)‰X­5¨Áˆ”kŒÛu|éùÄãp§ÕjéÄø±CGï[X™¸ðÂ÷¸kfi<Š¥b)Þ°=Ñ$B'œ¡®Kˆ3EÖ“ÛÛǶßÇiÍ!\SÔ\¿1Ýi¿>•}ÓðæŒPßóÎ â!€¥EI¤ô¹¢ÐÓÓ'>ò‘}õ«_yñK~÷gwÿäÛßþæS.¿‚¶ÄŸÊˆ$„¨#ÎѦrœíŸËZK~Þ ­ÐPΎدqæ7œßv˜7øØkÁüsEÎ7@?ë¿ ¾n£Ñp<— ¡EUÏk®T–‹Õ¹o|ÿkO}ú•ýÃÙñ“Çÿí?¿ù´«Ÿ“ŽõIÎЮ„º¡ZĪã&ɬ¯vp&äÿ«ûw Z?k·Ü@=[AÓ´µç°>ßiéÌïÓ4—cÁp~iùŽ¿=‹ßùŸw<û™ÏúÒ?|ñ×\óÙOæÃù¡w½ë]oyË[¾ð…/<ý™Oÿôß~òÚW_û÷·ÞzËg>û†7½ùÖúâòòrßà€ãú’@B¶¯A)%’B<ÏÙZÓŒÀ:އéÇö{´~,=’„³ßËn2Ƙ"ž`––ã[>#XiXóûî_XZn6¬p8lš!Äž‹.-–j}ý[bñäÌô$‘~¶3õÕ/ý£ízÕ/ʱ°®I(¡”ºž·)ÐpvV˯´¶Þ­çymÔuÝF£q.Í‘ÇŘ®ÇƤLU‚šïîî ¬\©‡S£ºh«á _¤2º<5¿û‚S“3ŠÆNOLŸ.„B¡T<ܲ=Â@˜ôƒ¤’ N„„ÿ_bGl}mÊ]ÕhÂ"žJq.W ¥¸ h§NùÂrýp8 JVS‚$‘R@B8WTª€´A6. £Œ..­(ºj¨ºi˜DÀåžíøBcj86TÝö«Ñª6K†ªA3ŽUµá‘m–kS_4l‡J’ÎvÕ+5I%ñ}OøÂã’ÂÐL#¡”Rû¾oyn˪`ŠšLwBòÅòÑã'™®·ŠJ¥’H$ Ϋ4œ·óö?Å\כѵý‹=}ÝåjùðÎ/ç !ÈzóøäÉ´’Îd¬fUš®ëû¶Í=_j5_Ÿ8| À\>nòi+ÕW’B2‹ëœ¿ÉË‹9Ǫ¸ó“Ë(ÚpØ­›5š‘” Ë­Ú°‰"dX„H°î7–f óÓp€(PÆÉ;?óÅÏV„šìJÀ`ºïH8fiúØdq¢Œ&ÀP>=ç(Ž]EÔh›Jj¨š+­þþÞYuÖŽX¨`RAµ.VV TïÊöv-=pZ1à+Þ1¼Ü(8hU-¸%j|ª!ZZJo2ljÛñ!%›5Z[œ›>6å-y¨ÀʉÓň×íðœñ¹Æ¨V#¡P4¯T Çoµ›Ê‘Ÿ)>ppË ²¥|UOš‚ Ð(éƒ~ðà~g¥ ¸X8Y8DömÎôu*£IÿpБÍfËå\Ó+/O-µ‹t6iótlÜR=©ªV2¤¶ü*ƒ´©V¬ ¸PY>9…%ÀN׋z>¢ˆÎ9±…æZ®Ùv¬«ßQýÙ…©Ùñã¨:°,ÿà/{Ó5ßóvƒZ£A&™¤t~qi|ú*@P1››‡–Y¶m×ö#t”ÒéP4/ ¥&‹ÈÖbQ/7 ›Ëξ„"ƒ ¢{ g¾q¢`•W–Š˜€†Z­ÄŠ4Þ=4†thÂ<Äú2yÝ™_X²jEÔ Þ"–'›jœn‰Ø< 5S5¥n׿ççò¹(€ ,a-éTÊ IDATòÈ1Ñ`šúÜåÍ w\ZÈ †F)¹ÿ_ï^-žRÄìáãJP‰tgµŽPC± \©Ha{-'_=uìðÊþ*Ò@3G’¡ÝÉ-™¡$ò™ÂŸçí1 güšõ¶æo*í2ÜIP…vìØ±öµÛ%Ûµ ×BkaD´u $d;†,)‘¡YmU8óbégα£Çî?ôóŕɋ.ÛÖt‹wß*ÝyÏ_ÞX/Õ¤ÏTèí<úÀÉ|÷Nêßõf”HµÙl´ì5ϰӻ^ùƒµùÏç"¬yYkç ðÃc1’ºZz‚up`šf½^WUÖl6ßô¦ë/¿üò>ð´g^}Û¿}çe/yɧ?ýéÏßzË'?yóK÷Å·Ýv›Ïݧ\yµky‰xÊw÷ýžî®£G¦Óé‡A¤!Zt.¨b=²µá§ÎæJ¬'WŸ}Åõ~é¹Â¤›Šlž@U™¡ê…j¾'ÝS¶ª“ó'¿òµÏ?ó9Wíð±H4Ù;:~¿4ž÷¬— E—šö<϶Zªj†‚†”°,Gˆ3,†6ņp@PÙî&úûw=#c·|½&ÈzAгчõšõFG*]+•ßÿÞ÷ýþK^zàÞû¶mûú?ÿË‹žÿ‚ýû÷¿ñßð7ó7×]wÝ?|ñ O»æiû÷ï¿á†>ð÷½õÆwÜtßúÛO^ÿ†7¾æ®ÞjÙ®$«ƒoUßW®ê5lzÝs9ÌgSNÎN°z$³Ç9©ô]×…‚±Ør®Ðp¸ŠwtÅ>ù™¯pCÇN´#Ý9:²í oxQµŒRÉúîm?8zôèåW^‰D&&¦4MݾcWieÙ0CL8žŸÎd˜pM•”óË”Rb›æÒl`âüÊT ¶m«ªªišmÛk?ò„¦ Š¡ê-W5tBh©d‡£]_ûÖm¾¤ùr…RU7 ×u …¦hŽc›Š~lrN 8žË!?ð‘O2Æ@ü‹÷ì~Ë^”_qC†)Ü–ç; \U™ðŦåmŒ!¡”HßsVA=Æ„ªª·,'žHÙž‰D@QTSÑ|)Á%!BÂYÕ%a*“¾„Hª¨LJâIE$BRîs")¥ŠBˆ Dq\Ïu¸$‚©º©©DRÇõlË“•ZCAÁ˜¢IË•*“RP•… p!÷8i£É„)ª!©Ò÷9ç.wÇç"N×jµX,æ8N³ÙTâ»ç\‘]×mO,k,¡‡—O:oçí×n­V«Mö) ©T À©S§:::þ;ß3Y] 8—jÂmr.ƒç»F@·áà¾úôé±Á‘¡èVÏ¹Ê @@ØHèj•Ôœ¨à¾ômdj„™¡¸iì`÷-þHªÃýC‘„UmXV…ATól.l;‰f³I;Tõ EÄ‘ Ç"L·= MÄQ Æs,›‚Åc±-úðñÚƒX–ˆ {Ç3Ms|ÿøj±É&ШVËãÛ¶m;Ù˜ÍæÁêÍŒnÛÂ9¯V«¨A34«nAÃìì,d†fd.ÎÍžB c{:³Ù,§F±X\:~¾ pÿý÷½ø²`T븤gåø =§„¹¹†çyBÃÃÃÅJU®,BÁ“Ÿ¼Ëqœx:sêÔ©6FC„ñññØöXUÓñ|µ š¡tttFb©…ù%Ì6WÃÇí}úŽ­CÃÓL–ó3˜¢ÛÑbðWStI\ø‚©Dr®®.Áùdq,ÆFFû²½VÍ÷!_××Õ$ŠêKÇjìº|û±ûŽñ9 [‡;béjͪT ¾pUÕ$‚@FH(Ù2°EòùC-Ò­[º³™®¨=|߉Õê çí1n»V5V+})"Ù^<;`¯üÆÝ%‘‚P"Û"øžï„¦ VíÒÏüøÇ¿ø‘b'=õ¢cûCa-ÑëÙ²K'—èT7õˆÉ‚s¹f­ÎnYMÏe„çy>{œîø\¸G¹±#íþåúCÚ´ Òl6=ß …Žcƒ—¾ô¥…BáÚW¾üg÷Ü}ÓM7þäÇwÞòwŸþû¿ÿüK^ò»wÝù£—ýÞK¾ÿoß+—Ë/éµ¶es©TúÎ;ø´§=½P(œs <v.‡ó×µÁ­Wk½ý=6w¨JZ¼¡˜ô/>ö?zÓ«¦çz¤™«VÒb!ýà‰ûÀè5—ÿV£èF´8¤¢ëf(d8Ž[)×ÚÙ4g «Â·’>>/êãñ¾'‰ùùùlºãiW?õ_ûú{Þù®WÿÞ+ÞyÓM·Þzë‡ÿòC_ùê?¿â¯øò¿|õ·ž÷Û_ÿú×?úÑ|ï[ßùýßû½?ÿàÿ}ÿûß÷þ÷¾÷¦o|Ë[ßúœç>×q=I Ö:Î ´lç¯F@ÍøÙôüvcòù|½å4¡‡ã`li¹õà¡c“3ó—=ùòîîÞ'N<ï·ŸC ì–ßÕi¾úU/Z\¸úëßúæ‘ßþŒg0Æî¹çžÑááåüJ¡Tôƒº«E¸4ljš‰†Ê­Ö¦b‡›Fyøy  C¬•9[×ã‰ØÁú„Âg\¨\PÏWl‡´<÷ù¿S,Uˆ¢š¦é;6¡RÓ4×uW5heBOp@(TÜ{ÏÏç °-B‰OT¢B×W”G×OüŠ·*.»Êá¾R¶²”[)” cÒq¡(PT8Y-)¼VNüW¥¢íô¯~^û³ý e RBò3ƒ(‘¼Ù?Ëåä åx$|~—sÞþÛX(jH&“íýýý‹‹‹çŸÌZ Î©9œóv‰2Ôüârɪ´ÒýÒtÂõŠ•Jg»ã½BõÔ&q+Õ I)=î›\Ó8|& îºò"Ëi馒‰¦t_§MÍ!D8BQ4]×®îé„mÝ2PMÅP&“i†êJÕèÒoÖ›åj©³«‹ ‚‰ªá-Ô’¥ ô&²ÑkùêôÉ)´ÖØŸ8qøD&T#zww6й ÄMj^Ó?öÀQ¸MWSLœ>=¹õ’A-¤%£Aÿ ›-”û†)EÀÌO­ Àê(-Z¹Z<íIv…·’ªYëëéëìì$DiT¤NÂJ$0œ–C$Ñ\Í êJ$MF„×eÉ&IÀpƒgºçIN a0¶;hCz$¨…‡·ìÈés‘€ÙÝ;Of›ÕZk¥$+k$%Þ’£i*™ÖtpëNMQ‰Á‘‘¡¾þ•Å¥cžDãŒ<5Ã=?Ûw峞,]ËdûtÊ™§ÂñP’4%j~ÈQL-©4y£FUF5…†Œ°ìêÑ«Õj[·f³™PÀ(VêE—5b»ÎB$0"<¤Ú[–åT&Õëò)-®”¼†ÛA …HÃo¢¥Æ‚VÅ ÀPw_U-D‰žD·*´FÍÞÿ“{Àá YÁøÑSñ+† Nsûö±£…üî®­±d J”©“SðǦÆ'‡F/ ›èØ(GáËžž­Š¡kŠ~òÈIx@k5÷½0‘3zcjZ‰k7 ‡x¦'KePmz¤åSKÓ¥¦…ÚĵmiR3lf’]þ(·²ÕD$L´@¥n<àVš¤Ý¡„ízõ™*1Í®tJ‰ :쯄V@²/ª&t·áZuÂL*(±q}.¡BÙîÕ 8d4Æ:©æV&žÄš¶øy{ü¶ ›éèý& „A‘’Ù.f'ADÀÔnų½ûþìw|;P·m9>s`¹2ôµ¦ÖUƒø„»’zL'ï}*Õx½U$ÂÔô(c„Ee GëñÁCÎá8=z ¬ þ·‡÷»ßýãÛï¸áíïøü-·¼íÿ¼õío}ÛgoùÜ{ßÿ¾Ï|îs×½áõŸú̧ÿâãuÛw¿{ùe—}âã{ÛŸüŸ~èïyÍkÿé _|ß{Þë:Ža˜â¡@@©|Ü€†s=ŸG5~D4ÝÛ(•ˆnšBQƒ¡¦‹¦ã¦yùå—_óŒgrÎçgg \»aèŠìŒÃãèÏ&O}ðàáx,œ/«ÕÊЖþîÞžÞÞÞ°&|§^r¹ë¹–m³‡iÿ£7]_+d­Òʦ¥XOVPA! £L#L•ÔÔö@ÕÓ=J)eФŒHA$(—ÒvÂ3hRÆ„íJ)US]X)ÛªiR †¡Qϱ”²Mç6’ýë$#DÑ~iœ ¦jñÎÔàÖá`(ìú\Ó4ÂT!„¢© Ói%%TB€ I‰B¨¤„pH*Á!™ª<ª÷w=Ãk=®´Æ¤{HåZ ÂTBJ)¹’ ß#’תe1Ûjþâ?Û:2rÑÞK¸ç¤Sqßý5:çí¼=¯¯BÏóLÓ\›IÖ(`ç1Õv[¾' ËSËKa„âÉxÏÖ~Ï’ŽãÛ9¯4[¶ õé;N=½Á¾€’ÅЃ½£}Ѭ)M=*Œˆ‰ª+ß\8\Ÿ;5Ûª¶LŰ\‹…Ôž±ž‘=#])3ÄhÀ1M=Ua»KÇç&N4s¶â+˜óÉ‹;/¹0žI‡"Ñ’ $J‚q]),-M,­´9 j‡ïÞ—½òZLu#2˜ˆºŒûÒ7iÈoY§ïžl§Ç x ˜;6›ŽGcLa{.¹¨OtfË©7玣v¦¥o±Þœ*¥¡ÞPWßXz.6›J&MC«¬4–Ž,ÏŒÏʺ¢€s-À–Þäöx"Ó»IíBRf—µØšŸ:uø”—TÀ€áKwØ5Œ‡ã©žtG¯¡©„û¹•F«Øš»÷„3[„ˆNXËö3CýòôŠWM l l-äó6Uó >3‘?ù‹Y´ŠÆ Õ2‚XºoºuõeRQ{¶íò—ÂZ@‡"ª$¹ÉÙÙVæpÁ8¸‡HGHßcD¶‡SñÕxÓ2RAÊÜÜBaüÀÉùc9Ñ@XUU ÷„½L”u9¡Tt`pWïÀ6îù¢,S+‡OÏ>Ía•šoDôìpÿÈ•Û3AMÓºdSQ´P(a¹„sbï+‚”@88|àè5—oãïîÍT¶ íÝÝÊW¨T«Ëåò}óp x€ãK\˜5»õŽþ¾ª]±KoËÏÕÕRõÔOï‡ X+¨W±rßbgWz´ç¢îžL!œU8‚ºbæÜäìø¡ñütV[³®þÝgêp œÐ¶F%÷M]Óe6Ží;9u|²Ui%bº~Ýæ[·÷ö?}û\y¹¯gÛÀÀN×ö¤åÕN•ê ùæÂÜÒrERÀÝÙ­»ÆRáLi*KhÑ8"‹…™úñ2ªPüóËé4¬g¹þÆ ’&)¡¢ý!DŠK‘Lè[?øÚOïÿÑö‹·ÓßänÅô¨äJ«îÚµ–äž ¾b N‚u+_ª.µ¬j< ¨¦p™ð¥¢ªÜüè hŒ¬V$€Àé8Ží4s¹e!ý?ÿó~ùËÿôÊW]ûWûȼöUýèGþô7Þ|óÍ7ÝtÃÍŸøÛë¯÷¿ñí׿î_û—¯oÝ2ü¾¼ïµ¯¹ntdtqiÙÔ'ø „ç;ÑXÈáÍ]cÛ>ø©„Æ¥W\ô•oßêÈj(«»¤”ÏY¢œê ¯,6î¼ûß»žÛI†Â­\ji+* †tÓ„ïÓ6¸ˆÕ äã 4<.'ˆÇâ•ÂJ(ùȇ>ôío}ëe/~ɇ?üá÷¾÷½_úÒ—®¾úê÷ðƒï¿ùï|û[?ró'¾óÝÛ®|êÕ{ÏŸûìÿõ¹Ï~ö5ð·ßñÃ7_ÿ¦?|Ýë®~Æ5†a€®óŸ(vÇ‹s®²²›Šk«Zm´ZEk:^«n×mŠ§ÇÆ¶oß¹«¯§WJ~ãÛ^O$Ò1Ș*}x~øÓ}3§mèÍìØ9кdO(„ùù¹Å¥¥dÔ ¥ÐtEØôòÿ׫Z>L?nÀÖ>?@(UES™ í2PTI '´åÚ–mƒ×e­fI?`hžð©¦U5.IÈ÷˜ª[®Ë˜ÊTJU%‚N¡IpÁT•¨Rue{œ“G><ÑF…l×…]3I™Z®Õ;m'Ž‚JA)cªàœK@€H!) ¨„ T%T‚(„J€Q" ’ "èYG…i›~OÀ$•DÒµãê¿‚I*W’rp*ˆ”’©Z{I&‚ƒJÊ=Bˆä~,ž4tµ”‡o»ÍfSá8N¥Ú™ÆùÝÌyûocí)±¸Z.—Äãñ5Ðá¼I))¨ä. 4H×Ïy'÷Ÿ¼¢ûòútÍö¼L¼{Kº§ÜªØ|á?ƱˆŠçüEL’)¦±to*0©¥)‹¼v¢^8P(m¢Oµ„hÞTi&¢‡uU3Ãf*–ô}ߪ6ËÓÕS÷Œ7÷ypẀ 0I©®hV@ ¨i5Å$h“OÍLåO-z“¢ €C ‡Ü|iüÀøÈU[%ƒÐ}I<ÉkâÔýS˜@»¶¥Ï}¨@ÇïRö [µIj,Pã–ª©‡~qhñðLb €ð€œ,>8«ù^¤Û gƒ}Ù~)em¹¾pt~ñ¾9yÒC>$\³Y*åS2fŒ¥¨ C*‚Ò9ÇŸ®V\ôbUN‚ NMí~öØåÏÕ#æÂÒüâbÞP”¸>ýÓνuÔÐòd‹û XœÉÎñ®Ë/ðëj•8Ž­+Á,µ8]Ã4Á–,::ÐÄøÑÓF-ïëHƺæ+_­+Uö7°xà@P‹7ä’&Õø@4w¤Õr¥V-/ŸÌÍÌá8`¡æù ~I·º.µÇ:·kˆä‹UGø1#˜0‚§ï>9w÷éú1@JP ¶âL­Œ#ñtG´+‹HÃmz••Ò\®Z\¨ÀaŒy<` ÆÑ:îš4¶†šÍZ*³§âµB‚¹ï–ð@rN½çàE¿µ»eS„M®(–F,ËZz`ã Ø084ŽÐšGåp®ÕY)-ŒSCkÊÊ|Ë=V®ï¯`²M àDÇñHwG¼§#˜ëfH8þJ©TËUŽýì(NIø(r§}þBynÊ<ݱ}°ÙâuÛ¢’v2ö䃇^YÝ›€¢TXš#a =”‰¤b=žk×sÒÒJþà– ;hJYœGg áì]´”RùÍaÏx4 „Ç‘[þþ“SË'vïµHõèÑ›¼ލ\á’ºœʨÊTSÑênÐ 6O5ˆj(’óV«) ÿé0MÓ‘èéÓ§{{{|î^ýõ_ùÊWþâÃÿ÷¿îµ·þÃß½ëÝïüØ_ôÆwÜð¡ýÅ›ÞøæÏþó/Ùµ¯{ýu7¼íO|àÁg=ë9_üÒ?½òå¯ …"Ot;ÏU5à×4¨ºÁf—g¾{ûm.oì¾`ô;?øF¼#`ð`Ã-1Ó#º3>y¸3Õo£¹âÌ׿ó•g_ýÜÁQÕ„d¾j*žÅj«¯Æêð|A%„› W*Á£ZÕšð|(êï¸áû·}÷ÖOî ¯ÿãüão~ó›oþô§^úŠßãuø©ü—þñ ;÷^øŽ·½ã¯{Ó÷¾ùÍÞþŽ|ì¯~÷å/¿å–[Þýîw Ó÷ýMù8 SÍdÓï7¥âˆ¡‡¤ E㦤–˜„ªaïÞ½{.î“õ²’Š¢°ÂW]Çnt¤Òv£vßÏ˜ªW‹ìs¹PÍ@¥Rè‹'¢T:œ{ŒHEc’J—» Úôÿìú2¬/)üDçMDP*9åB” pÊ}â xLÓÁQ ˆª¨‰H1¢‚ù «7,(œ2ßЈª²€Á …h Ä÷à·¨ ܧ`r³»xTÕCw Aæ1ŸC‚ÆSéH$‡-Ç“ ¾”BÆ9c*(!’‚ÊõGÏñW—‰v‰W"ɪ/ˆ<ëèKHqÖ‘ *‰Ä†#Y[Ô„l‚?#\"!„”’ Hh”꺮i(Õu={# ñóŒ†óößËÚâÜù|>›ÍXYYùÿhŸö„Oo¾45“B®K9•Ð¥eÕhüàðí—w\µû©Ö„õµ¯|}úÄq0ÀÐI‹GHÀU<˵øâøÔéãÓ»Ÿ±ÝmzVÞª/4j“5oQ*ÅÓ6·½“âþ¹C÷ß}¨{Wg÷P¶T*-Ï.7Ž:È.L¦άjK†Ó88}ñ™mýÃÂñVægM¡8íÅ4H ×Çô÷&{võ*YÅ pB¡[º½à,~wÐB(j´moÓ¿×ÅUÄèPVŠ9=`,•ÊÛâƒS?ŸÆ,ठ ”7üü} åÙEÖ¥Eb™ÁÎB¡;±ìŸä(DõXËiº¶[ÚW¼g¦ †ú#ÁŒ5¢Gn{@©Âm-(LƒÃ ˆÐ…ÛN|íöÊŽÌ…{wÇу÷Ü_½{P\$T–úÆoŸÿñDò9{†/ÞU^(Þy×70îˆEUQõZ¦Ø-ÀÀ©ïïG茎Y­T‹ù‚œ·Q|hJ´Ö²xÞ]úÉÒÒÉ%cHËgÓ]‰ñ'Ze˘Ã×9¢añµoÞÿ ({Ÿù”îþ¾ÓûŽüÛûQê€ETøà8rë½èWwô÷wÄ–cO-är“9”²Æu@Ú\ŒÿèÞ ŸU.-Å:#Óå%É}Í3æ>pŸã±z½å{V”kärqE5_.k>]¼çHûÌ bz¾¥š¹û——ç¾çEY׎-ÁžÎòÂÊâ]ÇÚÂà`’BÀEîßçs‘ym{Çÿcï»ã$9ªû¿UÕ¹'Ïl—“N§p:ÝI(€ 66`ÀL6Ñ"#ø!AD`ƒƒc,F ‚Àä tÊÒå½ÍqvBOç ¿?fvµ:íÉœl>æÞg?u³½}=]ÕUÕï}ß÷½×³¦ßrÍz}qþð!Œ(4;LÃQˆ#4ïÃÍÓ¿€ö‹-²sûgŒ½ù{7©#1h *!àmüè ¦ý#ó£5­dl9ss«Ù¹{¿¼ÇÇ"H0…Edëä.sbÑU•áß- AH(ÕI÷/”"íL#õÆ‚¦ Å’Ññ‘¬—{Ùú„J#ʤF(£)AÊT¤“ØÜ0¼Q7À4•¤AS)MÓ²\×múá£7 L!PD©åì J(@5 l®[·Ök5¤ä×^û¾ÿøÑ‹^ø‘ë>ô?ýš÷¾çyÏ{ÎÕW¿û¹Ï}î?|âãñçÏøüçÿåꫯ¾éÆï^üŒK^ò’¿y÷»®éîîöýPA=ª@À£šñïFf²N³µ¸wï¯n»ý—Ï{Ù_í=ôó\ɶK–ž†Ó³GlÛì[Ó5?Öˆ¸·yë¶<ëÚÿ«‘ѱCårÉuJAØ0´¬eY-/rì,@6«¦ý¬U  'h8!Œ™Éå½Ú"âøCúÐg?ý™K.¹äÍo~óûÞ÷¾«ß{Ís^ðü¯ëÆ+ßyÕ‡?xí‹/}ù>òáw\óîO^yÍ3žúÔ÷¼ó]—<ï9ßøÆ/ºôeÏ}Ñ‹þø)O’R*@=(R‚¨:q¼õòÐôõA4 U‘ š-í›ßüƇ>t¨P(D-ÇÁŽ-öÞò‹‹.¸àùϽ¤”˽øù—p0ËÍ6£4æ²Ô]©äñõoýrÍ€“p'l4D Á¥â²MFW½ÏcjÙ>ü`Õê­ð'cMé OSNcASq•ÄQÒŠ¹Ç((ÕM2®Y©¸¶m–m[rz^Õ›Aš†T3 „ß s®A%DMq]¥LB'$cjb)WèïÄzˆ’ËlB¥ŒH Fã8ã$ˆ’$DÓ:Ü8Ê4Ý\:±Ü`í ‰v+ ˆT’@3ôß`>?8Ò1ÁÐ PÐ% M )¥©ŒÈ´Q¯)¥š¾Tx~àyO’ ˆMíd=®“òG<ÏËf³q_uÕUßþö· ÃØ¸qcµZ=92Ëû ¥&“ Ì¢†—†P€Ž¹Ì}åÛ_†¤®CK!c3V‚‡¼MŒÅc÷B!Ú @;3…R’H¢R…ØÉÃ3“Î ÔÒÉH 4"ס‹€žÕ_ IDAT€‹PA<ÌNŽÎÞ6Šh,}‡¥ÑTJ€ùÕ(ÀÕÜ€¤&(Š´œayx 4CdªQho±>H•×ç{‡Íî\Ô4]o×°˜K…bÕHƒ–Â\NÎÎüp- m×Ô€ÆaƒÉ¸eƒhÐâ”'3ð}ï.mðjq " )h€ ¡œ£ ÿ|ö×?ÿ DÐ2”‘T ¥L æHꀉê¿ï­~u/` ‘¤%X ƒÄ ª!ãý~¿m±)B“PÜðUt3ˆ’‘[GG²£íÊí!EhD@  PÀa~ëÑÜj ˆH˜:D Åaf•LpàÞôžƒ‡[àÜ[bNky*£ Œ¾  ` 7We †Kfk¾eÙH(ah€&… ÙåhÂ!úTÝyFÍxÚЋ40bg냌d¾/¡É£³ûPÅLØ~XD€©N?D{üu Aòó¹ñ»æ` àwÆ‚hŒªP¢ ‰êÃþß»ÿú½íÉÜþá,Õf¨@r$ p”ó©y®ãŽ»&¡s©’± R_¬^bì¤ü6ûÕ1ž¶ö¯¿{¡Š(H(¥T'c–TJ8pðmoyË'¿ôá¾õoê¹ýzö‡¿¼y`C×b+ ,SwLǦå"±'¾P)WIœF†²MK7©© Nø€þ6 ·B§“ßVüd³Y7cÎÌÌй$ïÿû_õªW}á _xîóŸwÃ7¾ú”§<å‹_üâËþæåßúÖþñµnxù+.½ö¸üõozÝ^÷Ñ~ôôÓvÎ/T‹¹b?ºõ[Žç‘þ_ÔÜÜLµ>û£ÿð —_vhz_¡œ_×_ùÙíß!V¬›”hB7ÈàšÞb®G3àÍlκoßí®ëž¶ã¬8†’´˜Ïò´Ý¯% ´¤“Bhx¤Ôñ4,NÏôôõyÕÅ~ø#Ÿùä?½ú•¯úÀ>ðáø/xÁwðýw^ýž/]ÿ•³Ï=ç²7]þÚËßð_ß¼é’ç<û†Ïá…/xÁ›þß[>ô±üã¿üòË)¥e‚@‘‡:ñh+«#£ n¾¢›3Üf˜šÓfçùØèè»®z§ãZLIz2j•líì§eL=—5\{ Öl-¶‚J¡”/ê‹>~ôÓ{ï¹ëÎóÏÙ´‘´tð¬•3LÓqœVïþ—7ÍvŸ‡‰/§çs6O%+˜IlD­:¤´,^³UλAÌ#ÛÔ˜¥*Õ%%¾Šž€ùÂV<¥„1–EʘRª Y)蚦!Ì´­V)PJˆ(!m óYA6ØÝž‚T@®^…D÷Žò VÉ6±å¹ •jGr´§‹T‚Cr%8‘¼T*¹¶)EÊ\7“ÉPSÓ2O•ž”ÿK’Ífèºþ¶·½íÚk¯µm{aaáOÿôOOŽÌÒ¶@x*‰"0a¥R ¢0% €„›tÀ“ÄT±hrCQH 1aÜpÇ0¬êÔˆ•05¤2…RÙɇG©ëæ,3“$©W«¡N¡ËqÀTD¼(‰À`é"æ0Ks,_…Iäc¦“7—ê²:U !ШŠBJWÏÎÇÕ–æI “ÛýÚ08ôÐ$ÐMú’¡® ‡†& ÕX ef³Ù¶DõšNm*R 0@4‘4`H¡ÒœeÙ‘qû!oÇCPèºÎ)I$Z-ÄéíI‚{H¥0€A2 SwB¦QÒ¾( &`R]I­®@ŲÓN(D~ ¸–I‰’‚+ÂZJ PB”ÈHÓ ÃNjÌfû5 F¥&Ñ)U 8X͵ufNÒ(QiŠcœÂ%ºJ$NWW”pÙ ÆP m”–Ç) Æ© š‚i#@T[Jˆ Ã*ôñ…PƒnÁ–HÄ"‚€¡™Ž¥/6çÍrFÎSà0C0Ø-˜IL u&X*•M˜Fm©é¡¬H HZ×(× N8L× CCH]¢51‚Á(u«HJ?QªuÂV”%5Óqêa]Ä~gŒ5‚Œ‘h€ ™€CS Qˆ%b@.ålÖ²®m˜ñLݳ¡k`R‰$Ò4©°NHE®˜—>õ!H|r9rL.ªåÏ¿[@m[Ù P’*ÕŽà¡J²ÓN;srzäñ>1[´oúñW{† |ÞSöÞû‹B>/Yª+ ©.©Æ„IaRb¡Ä0˜AÕ(D˯-,Ĺbæ"ê?Ð  ÚäZ´¹ J*Š"á8nš¥Èãÿ‡Õjíüó/üÒ¾øÔ?{òÞðõ+®xËå—_þw÷w7|õk/xÞ ¿ùÍ›^}ék>ñ‰O½ùïÞºeó¶ùùy( ” %´K„®lè1GØREäÃiE’¬zFÚç¬zåGpýGÔܵ ×üã{«ÕúW¼µ)æ¶•žøôs»{ò£3¥®Lm±:5½¸qhG©R¾ëÎ{yóÛºNÝ?CEî´SÏË:f”(™Ê0ò‰ JÛtt¥$•TI@RI€Uî_ú#º[F´ß¾¿D¡X){õ†i»_ü¬/ùËûêW_wÝuOyÒ“o¸þúËßô¦¾ôå3wlûø?´ë¼sÞÿÿÞö¾«ÞùýÊ‹^ðü—þÍËßõŽ+¯~çUï¿îº§_ü—Ï{Áó…ŠBµÑ‹%—>URÕçOøCΟc[%äªÇu¦­zœ'éƒð¦çÉšž†JÓ-Ó05DZ4ÞvÛmIàï>û̯ßxS_ÿà®óËÓx¶ê[¶›+çî:8yó¿ýŒ3wuõõÿûßoWØÍçóTÙ2ö¥‚'x¨Ð‰e°`Ù/ ¬¾^¨¢²z6íÏJ‘GcæwZ(f0ªè„0@éšfèºiT %8ç‰aËШçGTӛ͡Zñ¦ïsA +#e4뮩@Š”2J%â8ID F•aJ¨Õö~‚z!´W¬áög¹<””¡L‘8M’$‰’Dp°®î¢ëºšnò4U—Jˆ8U0-gU®Aš¦Ë´ˆ•W’ß`}ðõWOÙ‰L"€‚¢JiPD*½V(„ƒXJÉ¥HÎ¥`ôÄ!å'å¤üÎ(¦œóžžžöº¨T*¾ïŸ™%Ç žÆ‚Í4¤)e8KÖ 'BS*uLg@2Æ ™ˆÏãðZK¨BšHÙñ¡€¶Q€Hßkø^J%Ôq¤ˆÃ(ð@xÇŽ¢4a -©F  /‘ÿd´"©4kçšaKs-ŽÀ}åªîr7§3ªûâ4° w„ešR¾ÄÂ`AgLkfz% F”€P¥EÀ ]rA„çM/ T§÷z;zCBÆ)x»§„$˜›€¢àT£º.™@Û¯ ¼VCµ]á¬SŒ@QŽ”C ”€%ÁR¡i°u’Ä*‰â%/Š$°uf¤2V ^3„±4Ȭcç‹D@i`:ˆ€Hð8ä2„ˆ©&‘$M€0 ¤ŠóF@ÔæÛ@ ÕvPêK§ÍÔÕRˆ4æÛ\âh(DóÓHì¼–‹y*@£8PÄÍsõ©é¹[û›¢™òÂ2àµÒxi2ØãˆR*¢DA8‡‚â•\&`T‚ñˆHFÀlˆ`Ð*f²0AÁ)£šAM*‘È8FÔª‡×f”rp?B¦ýj$ †.IH X@ØÉï (¨¡©R B‚1H ¡JÂq¨0Ñl6k€•/—µ“[ÍC;rhž££wuÒ ªûÏiÛêBʶÕÎ_¶¬SiíCËÞ—ó–=ªõÞ±"¡ZÛïÔ.ÈI9eŒJPªP¥ˆj/P‚Ź(ii¦U:ûY`ßü_ßJÇkO¼è/ï˜üùäüѧýÙÅ^ÝÏ;EVmÖëÊö{ÕØ9DºAõF}±« Ë4.—òqº:[æxçI;b0Bˆã8RÊf³)„Èd2Œ±8Ž8ŽC)ã˜ýá{tPB’U'–>xž×Û»éÀÁ}•J¥Tì¹ñßyûÛßþ³Ÿÿøõ¯yíÞ½·\õÿÞñÿðÉùÔçÞð†7¾öo_ÿÕ¯Þ°vxÓ¾÷Ó'ÿñÓ6­ßʹ ƒ´PpÃ0íÇ Hõ€V¢óº9¦e`’€*%‰z8-„âJ²¹Dðêül&—«” –×FËp}¢$‘ŠRE$ÈoÓ2P жD<"o¿âý^ºèTØ}“¿¾öŸÞÖÝ;0µÀe«ÙJKåüðÀÚÑCógí¸èƃ?ûÄßÿkÙdòqÝuïyû•ϹøY×¼ý×¼çÝ_ÿüçûØ ®|Ó›ŸñÌ¿üܧ>sÉs.ùàÞp囯|åË^öŠ—¾ø ŸùôsŸýÌïÝtãeûÇŠQ%©„R„.Qld»¦–$òÁóäÁ3ê¡[@­z\ñtÕyHɪ-Í–{''§¬¼áæL/5tDA‹1BÖoÙ:[kÍ<¨«a©dKb&­>)Æ2ó“_ÜAÙccSç?fw³ÑX3\Xœ B?Š5¢iN¢Ú›Ž8ÞúB´wHÆXûC’ IÚ1øò˜6•Jp%$—LB‚j”é‰Hd*„F40©$9ó(^[ô,·àù‘fç''æ ÌúbÄHF!ŠÂ¦ajN¶À)k¦[êr»'§gfµy¢‘–Ïy*¥†††ÆÆf‡{Ëõ–ÇZºAtÊK9¤ZõÛéo¹¢©"mí.WÈ{õ¦øåB™K„­0[È·­L>ÈjúM"…å:ªåù3d»8  ëºa)Ñ´†×dºÞÎ!%Ò(usÙ8áíð dÛÚR)å8ÎÊw”RJ¥”"B,óP–×QJu]o¿4…S•Z –ß&ËÈÅqË»ÊT))%dr LÓUµt]§n6§¢È2¦k†¥{al¶qø¥ë/¿»Ó45M3Žã8Ž—ïá«ôÏIù?åS_Q/]Ñ.ˆËK’Ä4Í(Šlj¢HÓ´ß@il/vJàåkYÿ§3žv8MJµ=iØÌU‡žšÃtB¥Ž$ d  aJ(ÀzÑ·iCÁ(Î]<8ŽPè¸y-¤HS€ $X·gxݺuccc‡~9Ò1® @Ûuu ÀâÚ¶â)§ïØ·o_2ÕÄd‡ºoÚ`‚”È+hÖaÃÎq+šøõAc‰I|¥S¶ÖÅa‚ä(•Y”É0 I^Ád…1Õ4‹7"˜@(ýbH2ŽÒ]ºä Ž Рl0M%Í–Pˆj:Ì Á¦Ç÷T²]Gî;:{O -´íq#X;–‚Bi€Žõçtmž™œÞó$Õ¤ô¤œéL#ÄOxÂÐ…™µ7DQ´ïÎýjq¤¼Ã¡ xÎzâžÙÙÙû~=hÅÔHRNÁÝ‚ã't@28ýégLMÎÌÏa^b‚#ï¢É;xPŠ×2000ð_7ÿ1xc‰âìv22v ônîëè›™šžºsq›ÜÑ6ã@‹CÕI("³)ÓÛßíyÙ}ÕvrG]‡ç7Mè Z¨Gíì¡®Æ|-3г©v´Úk(Rp¾HUR³l-My'Î%ïÑÈA7…à)‹—ÐèI˜¦D ž‰ gve»Ëî:À“PRÓ˜,L8´¥ñïGe[o6›žžŽö·Ò:jGÊï_ íä  ÁÙnï9÷œ}ûLß>Ùá¡h€”ŒIƒ±V+À¬àâÌÇíà~ùŸwÁp¤q£1zrƒÿï`)„’R©–ôùô@Ú?ËÄ WÍ¥T= äÿºRÒI·¦(Sô` Òxšò˜†~¢éd]×¶ Ï”ãã#wÿøèúÝ;ì…£Á¿}á+†æèʉ½Ô5òkû7×øôDu°;›Ï–tÍÔ´4 C¢«Æ`h( ‹‹‹qg2Ã0|ßWJe³Ùl6›¦©RÊu])eq+¥l[{øLÕÞ´V3lÖ¬Y3>>><´vvvvltâOþøOðý»ãêw½ï øØ7^ö¦×¿þõo~Ó[^ýŠ×þäG??ïœ öî½óœ=ç÷÷¢Ýuç=›6mB ‘¶íäö<œVRºäÇ£§åJöôôLOÏ*%6nÚ¼X[¼ýλ·l݆!Úë´Kߢ@Teù[IW¹ Â0ʨÔa'Ûªûi”Æ­¸»ÒÍU¤'Y3©aš,¯‰ •B‘÷¿”²‘@Ü×­œ6|Ž×þö#  ’ĉ鸭8þø'ÿñï.»ì-¯¿ìúûÒ{ß{õç>õé§ýéŸüÓÇ>þ’g?çSÿü/ºä™ßýÖ·Ÿð„'\qÙë_ûÚ×¼ãï~î_ÿõ7¿÷Ýç½ô¥—¿õ­/yÝëÏQŠÕè!O½$ Kô·iÕ ,í7nAÇ’ê ,c!„E(1tjÛf±”Ÿ™Ÿ^»îÏŸuÉ÷~ðý|òS6lٲ錻Ò?þÅÞýôWÅBvíp©TÚ¼qS>›QJ)]× A*9$(yÈÝi©ØÄýiE°Êü$PgDDû³Rdéé ¥ˆè'ýígT{þòTH(Ó¶¨©ݬTº+¥®SOÙ!aJ#0'(NãpqÁ›šo4ü”%QEi.ëf3n³ÍÍήê·M]×µT× ” B1!Ô š½«µ ß#%µm;ŒSÎ¥¢L¥õ<_×™ëd¹ˆ<¯)¥´Msž]F©ª¥NSTÂ’KreÂΕŒBHHj£ò+i,ËS;ƒÝ2:¿ÒjjŸyŒ¿úë•HF˜‚ „¢¨"Š)¦”m\N-•ÿ‚˜"€:©üœ”“òû"\ !`ºVHê–f¼Šòù=[Š^4,–×SvŠØxÞ÷ýrrï f€Úp Ÿ‚³Ï=«ÜÛ%„¨T*½gto:oc³êÝñë;Z÷„H!ù ¢Œµlذg›Ñ• œsn7‰ÒúèìÈ-û›·ÕâE 4Àô®-ƒ½›º»×u—ºŠ<à[wmºo¦zxaög#0À™P!o¿õ».ê ÒÀ4-ƒH á…^áñƒõoM •B´-mm·£•ôH ê­ÅæÆžµÜ÷³g–½¤ŠIðXµ-L!з+»ñìu<›v¯ë¥–ÑsÎP\'ç'’1`Éq †®­…m{¶ºƒNf C²„Íš;.<Í›lÝö“ÛçîñêíÊV.4 <®wûygè9£„¶Pç³^ÙÁÜ>ùË ´£í±*X¿gxÙ뭢¥»zQv¯¿`KÒHFLøÚ?ðL˜Ü9L ÿÑðÀŽ¡ž =J*gö1i¤M1z÷ø‘_ÞIÀG hųÜ眑íÊ1Û°3Ö_žqÄcFoûÉí8Ä€€AßJ×oÛÜ5Ô[îïÎå3ë›3ÌÖݵ¯v EØ©æ dqÚÓvå2ù¾œé0!Ò Úªn64÷ûi9a”P“ :†v*uOËëýù óTË_¾¨0vs=mQø1‡8ÐO7`ësB/Ш‘ÉÙ”›™3ÍÖ1ZH㈠žW.m(÷lèÉ÷˜É6ìÚÀÿ(òÆš¿þémÍ#<– à°,œíne}Wߦ|oÑv3;j ªµ÷k?Á¸_ò˜3X°é´MC§lÐs¶ ôìOJ¦ŽŒ¸kŸ¿7‚ƒ0D(l¸ClÏù;OYCò4ÑRj²¤OBïhkêGãPi§ìÅIyPTuàt¹¤Ó¯¤9…•úÒýTJµ‡ ÿd,{°¿î.yGµZ Od%„4åQe³ùS·ŸàWwO5Ҟ܆þÊæ®ÜÚóÎ}\_y@§6FÆÈ?nw8п‘ ] Ãk&JŠQ´³‰?L ¡Vk˜¦mYN’$­VÀ£”…aìy¾çy”ÒR©dF§”jÙl6 ÃG4¬®:A0??ßÓÓ“Ïç}ßãßøo|ãÌ;žyÉÓï¸ó–+¯|ÇûÞ{íW\ñï|¯/þÇ|õ ÿãb±ÔÕÕsÛÞ;vì8=ŽÓr9722ÒÛÛ½jÝû‡†{¾‹Å[o½­§»·ÒU¹íö»lÛܶmûìì´ëºpäô@©¢,¯>ž  D&‚ rn) ¨ctå(š×™1uœ²ëªÊPiœ*Ù ¿_¦4c<üŽ‹mÛq1¥Ö®_wÅ[ßrõUW]öêW¿ö²×½î¯þçùìsžõ¬ëþþc/ùK?ó™¾øâ‹?ùÏŸzîsŸÿì¿þë¯~íëoyÇ•¯½üùÄ'>üñ‚‰¶Ù܉ÀÒ? âóú ®’$‘F Q2‰C"%mw°¨Wç’Àë*–ÀãÅùùsÏ>›œMïº{߯~ñ“þ žO“à1»Ïîõ‹ÓSÁ¶­›óY-M$#J7 žÆIkº!•$ê¿éÅr¾B ÔqGg冫Ž/'tËU=]åj½Æ“´VoÖ½¤:;3qô°­k^m! Ca2M*("“8ðšX¬·Š¥Š¡Cƒ4t)[ÍEF•\pN”¤¤’\€ªNHÆ£ö*°m»Õj9ŽkYNKÓ45¦'I¢ëfïŠãTHNÕu¦1]¬`¬Jš£íª¢ªÃGR.G7,£ ËÏt™ì·|‘evÀ2ÒÔ>§ Õ¯¼Nûø2ÿå˜[:Ð@¥í RJ*¥¤RSâä$1ᤜ”ßC‘Dr–JÊ•- I© %$4ì<ï ÕMœ®ŒŒ©7ßp5«8”]§­iñV#jµYm Á]_0‡³¬bh„Ì JCiSÙéÏ®Ž¶š!tX5¸xz¾°¥l­Ëû:›aL/—rŽVÌ,曓5D YäJh´×ìÛÚ½u×Ve˹…¤¤{mw.“×¶nÿò¯F CñtÉï=çîŽ Á²F­Uç¹lÎúîs÷|çWÓHR©  8çÂ=ºc)” Õ¹F¶GK©¾ûŒ¿žüEcÒk3ÿ¥ÄX»sëЙk´.mA5G¼«˜Ë³Vf¨Â’¹;Ž¢hÌrœ¨éñ-޳{ÀèµÆã_‹éZ“Ãðsf£áBz–P ØdWÎßhn«,x‹‹*Ìå +«ù²çôÉÙ ÚÜšÀzv &yY^›ŸœÊº9ÓuYÎ²×øþ¤)‡ûzÍEàXÚz«ßQ® _7Œm:y­fJ6ŽŽ€€ö`ÝÎõåý)gÓ§LêfMˆ¬;Wð[uÔ bB9èÝÞ»åÜ­v!ã%át:o¸Ze[oP±G«£XH;¤Ð0spû ]6cUƒyË2º6te­Ü¤˜®q‘$˜iv?álOó)Q±çÃÕmÃJlç‚‹þà_o¹>¨ô2;sçN˱mjWCŸ«¨×îÒaù˜=¿®î ÇZ1N9g'rªsÿ¼_­/.vwu ‚T‹Éœ‹¨¾”$ÐF÷Öþµ;† ýÅfàÕý…\&ß՛ϙvfc¹%P2üȶÏZ§\fTœ£k†3z¡…æFgóÕ;±Ø *AÚöb¼533 ›ð¤)s޽þ¢SÓqŸôÆ7üdÜà @tòÕzBåxÚª:ÍÿÖ°üD$é¨ùô~²¢ 2IÝ0lÛm4â–j:ì_§trÓO¿^ê+óºµ0•?”5º b&\³ýÃ=ÅÆB‡^Æ.jD+—+š¦5ýƪ@ÃñÄó|Û–™LÆq2mbª¦QÛvu]Ïç‹m2Žã$á†ap.QÖ¬Y355U*•8ç¾ïú¾?rtß)ÛNݳçÜÏî‹\pÁÁƒ#/{é+Ò”—Ë]¿¾eïöí;Z­`xhÍ=÷Ü3<<¬¡aÿHÙãc§nßÁ¹¬×k†×‚(߇†ÖT«UÜ_Mc¹ÃxT•É8Bñ¨E ijˆÚ|\›I¹gÕš2›s™°·âdJð5Sf&BÆËëá7‡ß`Ažë˜Ž]­Vó×Ðôs/¼ào/{ý{¯¾úÛ7ÿùÏþ«—½ø%½îïzíë®yï{.»ìuŸøÄ'^ñš¿ýÌç>ÿå¯}íò+ßzáE}àcû§OFhZunŽ™–TD‘6°°41•"ä!-ïGm^wßtɞĚa2"#?Š‚¦Éè×¾ú(ö„?úCͰ4Šžî¾ÍÖî:£’¦2 ƒlÆMcÿ§?ûQmav×Y§2:dj ci˜ª4a¦!ùq»»Ò°lÿJ ”¢ê!Q¹ÌÂ_qäÁ@à ÚreµZõ¼F¦À2®C5ç¬3N«rÛ6­;pèh*8£º° FÀ“*Tªˆ¤%Rî7‰_KüZµ2¶Ça+ô5ÉÓ`ŠJÁ'(<Þ²îîî Ø#"C7a°jµfš¶ahiûAË0h¥«dšzFRJ(ÐàÊ´ ”1&Õ€€6.°òÈ2£aùà1¡Ç< öú}Ì Ì! IDATpˆD›XÞŽ=\ùn=ÐÐŽ&m죓dT­,‰Š’/ NRNÊIù½E u!ÌÔMhh† І`u ªV­×üjÔœot9¥µ™âpþsÝèŽA,çº2vÎn†jµ:5=EÛ’ÙRê.¯Û½©´¾§+SLæ®ëÒ¬!3 ½WG''ƧÆÖmØDu«2~”3±yÍ–rv-¹ñÔSÍÞÕQóè;­Þþî:šhQ5ˆçjóGÆËz±'_Ú²aã¯î¾­Á¡Ð£+çr±9;Öœ›.–º†{†KÃå­ÅÓ{O]›4 –ÍfgR† ™óiãàôáP†¹®¢ê32Ý•ÓÏó/lY±!bÅf(«lfºœé`v|n< ¡ñDÅź]ëzÖT¼š/SAÁtS³ËN¦Ë9<{ø¾¹³ÓŽi—3]Ý™³'ÓsÎÐì ãÓ©vtCöL·2Ô:ádcrjqš2VÌ”*ٮܠ»]ß&wnËjf07“É;,g¤¶€Z9æOÏMO®ßvªéjÅ•ÝÅÇÐsÒLÂX@¼¨9‘Î žº6;œ›oÕ÷Mª{õ¾JïÚ¾ÁÓ†”«gÖ fiº¡N¶”c&áÏÎTÇ3gÃàúB¶Ôµ®ÌÖR1’th66ïÞ\XSœ›ŸÓ¨:rd´Îf¶ néêîÖ#³2˜Y˜k¡P¬Û²©»¯—RÚl6½¸Ñj4xA”ûzû×m>-¼cêhÌŽBïڡЊBoÿø‘z«YGÜÕ×ëëÛ9\ / ,8D( ‰)µ,ÍtgZh9ÜXlT •Þr¯edþäÙOžŸZˆ‚¦m‚Gaâ—*k¶­¿ýའó#óuÒêé³úìÁ®!¢¥e’ÍZi¾¦P´YÅñôØ“÷Þ®[Îöžõë ½…Á|ÿÖÌÂÞ' 'XcBˆ•ªQ[)Ò–ž+5¡ÿáðΈ$m½½CgXj•´,C*NÀtÝðý$BCw·l<Ýp2µVë5³¤G‹r~,SƒXZfâȶMÝ¡ç2]¹L^ F*å-€Հ†ãô—n?eÇáÇg¦ç*• czà7Ø–{ÏÝ÷­]»¶X,60ˆ ÃÔ˜î·Bʰ*ƒ`Õë?ÐÀ9/—ËÍfÓó<)åÈȈeYÕêüîݹ÷Þ;»*½7~ãÚ7¼áò‰‰‰õë6“slð”JÎ’Jr%(=!ÀÓñ¦Éü\ÕoÅ…‚K©‘&-(V,ºŽã #]׋Å"Óhúú¢Hc×t Q+³$¬|”Òv9 ©:e)°„&, ÇT-]†޹æ2DJ©ëúƒ+‰,‡ZƒL=Р:S+Ù+(3÷##K·zh8)'å÷hœÄÄB@*@ñO}\Kz•áò/îùÕü­Óˆ!7¤%‘5©—1µzÍO¤G„‚¦‚4äÕtrnjáà< ˆlZÔt+»¶@Šz=ŒewqÒoê4ìïî*¸Fszlqÿ½“#“·&Ã%1¼N·²AŽ·Œ$LBÉí§¯Ó5’šéá¹w¼SND¾SÕLmca£‚ºð‰Þ|ðF0 €=ìi¤M’h·ÝvG4_Ãí‹­ž]$ÅÙgŸuè‡wÁè${ìò@|òà‘¹é©ÄWû‚ݧìVš¶eÓ¦ýýûûB0@aû…g†ºC#¾õÀ=Ac‡N,»lØ™k®—f57çT[‹¹Á|.—4 çæš‡FÒY'kgÎå]n'"öSƸÒÜ|Ö´!ÒVì/ÖfÆ“#~C;2´mãö­Û÷ÜÏäQ"­F@Íò!mš<ºþÔu7}çë˜QU oSØ;<ÜZ7µuöGãþbÒNXpÚ9§+KÆ,™iÎNÝ5 óý Úf½¿gÐp ¦œ[é&|s’€Å­–7wd?î‘£|oÒÝWÌ–TE`X&ÓõØŽ†6h6éÏž=M^“.ŸiNÙšNºõzËO¹¯™63TÝ÷ ½ÓÓÓû'÷§ ñ‚SKezJßöµƒç=ñ¼}êÇÐtaãYç¢Ù&¯¨©ÕCÈ¿àÔó~ëÌsÏùîþï¥>`:¶Ÿ~†2e†ûî»'ŽD¨ekk ëmænÚ±õŽ›oÞy¦{.º°%Se°Ûî½wrêT³hÔ*]]Ì`‘I@Ñ’+fÜ.·êWG'LG^«æXFa¨8±8“º‚k*5ÉÒ>?~ßœ]ÎÝõ³_aǦ‚Í];ÎhÎ.Ú‹S­P7¥ÂD &=Ö2ªau¦:…éZŠÚ³s»þ;lÞmSnI“¯Ó/ö‘Ðì¦[™Výkh+lJ.Gv“•ÑŽãÔêÕ8N-3£iF£QK“„P:TÙ¬‰™harçÖÇ­M³,ÝʸY™§¥|ŸN[ÅB—äJRÕh4e²æ#pçwÕjµ½{o¿å–_¦©èB=ï¼ ’$ݰaS’DBÀ4-M3‚`Ñ´´‡?yhBŒ÷÷÷OMMe2™R©äy^Oo×Ïö“§m_¬Ö/ã##G·oßÇé\ôGwÝuO_ßÀôÔÌš5kî½wß®]»æç«­VðH Ì TˆcþÁ¾wnvahx`bb"ŽÃ¡¡!)å›ßüæÎ÷>`\OM`UF€€²]#剦´…ÙÅ#c£3cÍO^÷ŹÅñ†7¥0u’±2&µ×nr k‰•• båX޲~T'ü‰òðç …8Ž}Ïëîë­Îƒ§½CÃßþ¯\ý®w]òÂÜtã7®|Ï»¯¿þúË®¸âúë¯û5×ü˾ðW/|á§ÿå³—¾ú5÷>têÎ]Ž›åBJÈW„((¢‘’ȲÀO„! F!ˆ’"fPEEŒˆõÃÃO}úŸÉ8=¼ÿ”-¶oÙ<53=::>96¶Xõ„PifsîÆõëžô„?(³µ…YË`åbÎ44 „@脤JŠã=—•væ2ˆEŽ‹Ì­ä2<©á¢N *Žc!RžDº©  üÍK_E2áªÑ ¸ÂRæB!%§Š)õ8M,ÃÌe]%b¿åe»·§œ&a)çš:å)§DA%¸¢T.%ƒx”$›Í†¥9rx䦛¾sË-·ÆQjÛv’¤BðÓÏØñgö´×{žO)]¿~ãÌÄT;9åƒQ†åƘÒeì áÁûÉÊÀ‡å¸ªåç2Óáx`Ä2Ʊòàq€È6ÆÐ†'(‘+Êfž 8)'å÷[g—RqH€6oÛr Ý?:ut~fs@ˆ92IXÜ·¦”Ï—’ M©€N¨«QKQ›EQè%-| Á‘ÉÎy)[æJ{³¾kÅ**™NQ03ô®;ý}M`È62k,¶(¢ªˆ#‹¹9sªµ×µ(ÆfFåD„iÀÀT0²îœu©ˆ7²ùfíÆNá‰ÞÞ4á£sѾZ'_ÝŸœ[ç ÷XÝÐ „B  ­í?é&™™˜äŠjÁÖ†ÒÉv•ûJ¥R“í’k7nÈ–‹Õèh07‡` žψ}ɦ0-Ú\OêÒŸ 2hÑ•ªÅ…FýÐXzH`¨@lñ)bËtŒ¡)"EʔҕHZ~ì…µÅÙä¨ý€Äœvt¸ÜÓ=Pi~§ÔaDÁžnk•Ê‘É#8¨!꘭ŒÜÞ2¼1Ó•kµší¼’ë·l˜ æŽ6F&Žb`ˆEk"7nÄÔ÷ƒfE Ky··RlÕªû÷Þ@ qO$z×À:™cs‹^-މIô¬é#âõ ê{ã3ã˜æ/<ÝyÊŽÓó¹ãš—„Ašº–£gL¢ÔôÂÌÄôD:c°0)çJF%_)®Û¼îGôÇÈ…[ÌŒÕDiP»»ˆ0E¦ú«£´ù”õße߃L]tôͳÙVk1PL FÍk®õÊ`@ÁD-A¹»k¾µÀe:9r¨{ÁÆ\l¥®i1©ˆOE(TÊx#jÎTg¦ÆÇq¨#ñø¤=i˜ÙT7„I¹Ri;¦™-9‚©fìÝ~ïí8è@‚ɱý•.¿Z+tu…LV•OåÚN¹’'TMNWåÝÕvê ™I[­ºEÌâÚ^ä¤'w™ï@]Ö–Õfm¥ZvB} bÀýÙ¼Ô’9J±œ¬CÑ4MÛt]×-êRbA DêÚYw°X°º+¥2cºišq•$3¦§g’„¼¦ßÓÓGé*•ƒ°ñHاÊ4Í;N×5ûÀwÞq·RªT¬†õØ /êÏçŠAØŠ£TJ~DZnÐUÍéU ã‡\×­×ëíä0 s¹Üôôt¹R<ýôQ躰ÇÿÁçç燇†öî½sxx¸^kôôôLMͬ[·A)²vÍúï-•³*ÐÐÝÝýò—]ú™Ï|vïÞ[ûûû ðm÷™Ï|Æý‡ḛ̂vúQ2\E½¾ ¥Ì+Ýfï ½ñ­—¿§Úœs\V,Û^s–©^_lö -LÕ·¬=¥ÑHépÚ—m3ŽW¾îwM†û~ö‹_ìÞu¶ßôƧ& ×o4¿ów÷<öü«?ü×\úʽò¼ö—¾öo/½ôÒw\}ÍK_yé+ßpÙ;ÞyÕ|£Ñ—Ë~éËÿö¤'?¹îµ˜f Sd<ЬHÓð;4(@ŠTIN(eR¤‘ß*ær矻;ïZa{»«cc놷n\ÿ³Ÿýüü³ÏÖuÓ±LBÉç³:Ãü¬[)šŒjRÄšÆLC‹#Äa²:Px?¸°ä¸–R„õßæhxè4 'h(‹qDq:?7Æôj)Wn°'[p¬&%¬ #Q ¦J©PŠ *¥Ô(Ó *™&”4%†m뺒 œ0Ú®‹À@„:1óáx233ç8ŽÆôr¹ëüó/Ô˜uøð]׺fÍÐîÝgoÚ´E×M’dnvA-à ‚ûßv”2Æ} ¬„ð€¼«¹\þ/Ël%±²ŒÓ1 Ãò¥V°a”J¡h·RJŠväVg4œ”“rR~?pEÑ$O;ttŒŒ:ëìÐÏ•ŠÍ 5Ì&lÓ)d y7?:^W¶åè&ãHT"‰•I ‡b¦`h¦Î ×5Êišh"—ïêÏd² ÜKN^Š4‚«4š¨4L“„Kj˜†æ IHÖÉöõö.ÖgÛØ‡Ù•74Óböôä LÀC;GÃüLÕè6Ó(eöX An–$‘žÕ«Óó€êhÊ&&ÆP‘ŠÒJWyf±Š}ƒ¨mÛžçÕëuÐ…‰±1wC6ôV.‰êb¦ˆn šé2sZ±œa‰7¼4’–Qtm-¦ Ž[‘Ù… €Ì Ní˜ÛŒk‚ÚºÃY·)ƒÁµÝ‰ IÍ›3q7ÁPq@ú¼Ð›o¶<‘¤:ÓH'ºÉÃjMzèïTš@N£ zJÝ4$­£M¤Ò¡<æ×ÍÆ¹â`¥& "\ÓÕ4ƒ)J2И{$©‘¬“«TŠÅñ£,£^F’%Ù§{ûâhÑÃBÞq²zŽykúÖ9rί…†™Q”´µ-ÉGW‡8A6Ãþƒ÷ìÙ373›FñŽÓO9|Déìy/ùëCûœ{ÁùöïÿûúÔÁƒ¯ºæšjµöÖw\utzâ _ù çÜÎf“4}Æ3ÿjßÁý¹ba%¶GÛùcO ÿä„ 2M'Ìd"åIæsýgž¶C×u­·gff¦·R:sÇ©###S3sÏzÆ_Ôj™™™œ›íëëœë:³,#ckRrÛ2Ò(åºFLÓÔ) “Ð42ê!×ïrMÎÒ%ÿM.<i=!@ÃôÔl&k9N&M%¡F¥\hÔêiè²cŒ&%W D)Á¹² 1Æ“4I|Ó2Ë=É“f½F„äi,y’¦‰ÆˆRJ#T×´ôQö¸®«”j6[ù|~Ï$³³ ÓÓÓù|þ¬³ÎÚµkW½±èy^wwÉ4ÍêüŒFh{c9n>ȨÁJỽ£aå_Û;Àª¹–áÈe —AI’då_þÇcÊ0Æ@$SJA!SJHˆ“Œ†“rR~ÏŤV“¡)ŠHþúÇ·^¸þ‚­k·fs‡k#Vuíàº[O£zrôà¸#‹†P4¢iG"ÌTÜž|%3h# ÍÙ\¥xÊГØa3 [­p¾Y,çEË_LʶÖww­ßÕsкóÖ_>çqës¥’iå}޼ Œ‹ .·t¡§zšùÿì½weW}.ú­µv<ûäÎyzR÷MÒŒFI†ç2Ù÷]°ÁÉæaûb\vÕÅ„w¯qÙ¾¦xeÊÜwñ3v]0ñ B+£Ñh$MNÝÓ=ÓÉaÇÞût«' IH"ÜùÕÔ®ÓgvŸÞg­½×Z¿o}¿ïK${2Ý¥ÎÒByFÏ:¶ï§³ôÄãGC å 05>Ý‘ìH8öm·ÝöÀÃ÷â¦ÛnSåyÍ…Éøê~²ƒ“'OîxÝn©ø–];„vfefeË®$dVÊ™™œ.Ï6A(œ±iÿ欙߿­ë‡ ߃Åúº†»7¤­l£ØhÖ›>;²éH*w¦¶°ÐèL%^±ï¶)çÜ™‹oúÕƒv2´¶Ræ¾LY ¡é|Ñ  =™ËY«ÚÖ,‡ Ù¾îý;n$¾h–ê‹R4i34kÜõ]–¦)#“éJq޹gôÛ¾aGo²Ï›õ:Ô ¨£²TéÙÕ%]yóÍ{ýèh®Ó¹iï¯1Ý<üÄ#­rg˜œœºaè²;wžIŸ ]±ex8Áô\"uva Ð @O?þä›·¾i¥.öŒÞàÍÒìÌÖû2–ÎX}ÅõV<[c j[2¡…+~÷@—ÑoTj.­oÝ<8B©áJ¸¡h¶n¨ jÔê2#:ú»nÛýÊ±ÌøôÃçí-™wØÄÈêΩg³)& !«¾[/··e÷ŽÜ8²¡öÀ½°4n¹ñÍB Ã\œZjD×K'^Ô¸ŒºFàÕbOøx%G#® Îyü+ñ9±µ²”RÓ®nëH)]ÕwDüWÖt)×ViëPjZf©Tˆ¢È¶mÆô(Šòù|³Ù #?•J•ËeÇIuww‹EÏ ,SwlmÙ\àz½]R hAД2”JŠsÙ¶ÄJi®¯¿½X,šy­ºêûÕJi ¨R©8Žóž÷¼gqqñþàbi†a¬AJÊÈU“Ã0b¯éØ ÓqÉT²^¯_+Qñ}?™LÖëuMÓjµZÜÚšf4nwwo¥RËfóPÄ÷醮ٶÐJ¥–N§„‘ÿV¨a¶µµ•J¥X¶€sß:×èßÖûŒ±?ù“?ùÄ'>þîw¿»½#_¯×»ÒrB½ä‹f"CÁ£( ‚ “ÉÖª[ {6i–É´Œžt [×4îHŸ¶§»‰fR zàZ¹ß‹uý—%*kŸ|­ûÐqœjµmÛ¦iÆ¢÷š¦uutW–-Ë0 mna>ÏæÛs¥Ji`óFªÐ=ÐO•Ú¶{7„¢Š`ëž=ñ÷„*`¾°’Êç €XùqÕW’UÓæ—=8ç„¶¶¶™™™l6«”2 # <Äeð<Ò4ª rÙt©¸bš”Bñ¨§³Ã÷}EÙLzÓÆáz½Þ™Ouä’”R]g†c*%ƒÀÓ5p.+åÃ0,Ë45-R°¬D$<Ã0Š?*Š")¥aº®Ç¶¸ñ¨¹1ÿZãç³<§…B!•JA ¥Œ¢(“qü€9NªX(§Ó¹À…¥EÇ6²Y§áú€TJ0*CHT2J: Ý¢~£N!ÓŒoQJˆ©Š Œ°ÀÕ^Fõž#ß÷Óé´ÆÌF£Á#ŒŽŽr®zè¡ßýÝßd¹\QÉdÒu]×u5M#R)Õš¹Z¼ƒuu)RJ²J=ˆÿWÓ4rµ‚`˜°FnŠ»f}‘…\øsÖ£q·Ú¶Ϥëý/¯9¥^ªËÑ"AhšFAtJM[/*Á×W3×ã4|ßïðxᆡañ@¹\N¥RkkËëA$åÍÈà:šRKXª!ds©Y›­{AÐÙÕÙ}Ã@­£j3$Õ¢\‘?üXw[¯ÒT±±b¥¬-;7¥YÞ¡f®7ée·Ž6?cëÎÙ gÏ>Ç8ÓÃ%J©‘O˜!µŒnnÚÑÖNŽ´“Bh饥Ó«K•s2™ìdµØ·¹¿;×Å,6à víîJš)ÖÔFûF/¹0qd U´…G~øÈ{_ñž’¯ʶݸ›3eè: ä¬Ü÷ý.üÖŽ4ŠXø÷¥=¯Ó¨cÕ…]wËEØl6Ó™d[¾ë ¡ÑQ® IDATo¼«½½½\)¬Å¼X¼öpœº'“É\.ϸårÙ |Ó4ŸOóÐK.^]y\¶3ý¼÷¤c‡‹µü‡¢ëú*Qü*a˜Zòžž]×îºë®t&é8N¥Rb̺䯓— 9 ÃP×u!”Bg81uC „RSºð•q*õ0 5x¤ð ²¤ ‚À0 ˲ְ­(Š¢(Pœz^3дx7•éºå8i­=òI$Q”XyHB¡ ]¿¿Æ¬‘tõgIž÷Ãò"†mÛœóZ­–J¥‰D±Xl6›†¦™Z«Ã¨zF…‘@2ƢЧ”B‰F£&£P„U’˜’.!¡¤ „0 É„RTJ± rÆtM‹Â(Š[›Rêy^†ñ‹Ÿ»5(!F# ÃZ­cOazžÇtËõ‚HÈF£‘°“ºnÖjÀó˜’ŠëA•\ÿŒR¨–%òú‡W­Ýôeø^œs)B•ã8Û·¦R.¹Ueër^ÚM c]ÃcµFë\o×0‹Ÿ ®×h¸Ì2sý$.¯»H\ÿ= Ó4-˺ì¡Ãº*Å|>¿¯ëúõ@µ˜Í@RåCƒÁ@›óîéÃg·¾zDUˆ ³Çêu¨Í ÞùSc§csj ²ÞxõœíéýöÝAs4hxþr057qòÐq n0pqxjÇköïIçzag5MójÞÂÅÅ™£cå§W°€FØ\ ˰P+*_ ß°¡+Ùig-ƒÙ^Ñ?þȉÊÅ*‘O G!¸àKþ‘CGœÑ„ÃÒù|^h` ¾ï=qìpTñâ‹„×R¤”BHÎ×cºaš²Ñô4Íð}?•JÅÍC׺ÿ•RRªõÊ7/Û@O)Íf³1C*΄³¤’j©LÖoúB(Ƥä³lµzý­Û`ïŠ¬Ž‡ëÆ±øDÕ:ÈAª—kÐuHB c$ ýz£ªiƆ Ca D ¸¶L)¹ÍäJEŒx"$„˜¦¹&mÏ—)>^KÒ(Ø×—Z\X\ 4Î×!×µ®Ç/]ÄCL^p]7‘H¬¬¬X–³®ë†´óóó1ñázÐÓ ‘ˆ"€B kÁì3³Å™öM}[ú·¥Xr~a~úâÄÌÅI,þêîT õ‡'Ø4922â8N­T›Ÿž¿¸èO‡ :ä )€‹8õççf #ýÙî¶¥¥¥úJ¥<¾€‹ ,4)0…Óß<>uvrpû†¾¡¾(X™:7{ñÐ9¸–#DšIô  @$>ðô˜ï³4ƒßô£€Ÿ¾ÿ(j€„NY$$À1ñã ´™f>W—Aª³Í òóOžÅâªnQàKjüá‹ãc»¶¥Û6:}›g—/.]ôÆf14À"èešõ£á‰òs°³}t(ÕשBî‰#ÅsK|ˆV™óÐ ¦ÿõÔôÑ ƒ£[7mшvêø±å'¢¬P]=3–Œ«áxõäñNÞp˶ƒ·Üä×ý‡ï`êÌõ™¡'”ËE@•¨áì÷OŽŸÞ¹g{¥V+,//Î.—&±¼ZŒ  ()>²ø`g_Çàð@O_ßéG+¥êÂÅyÌþª)¼„•Fõ¤¸ïÜ;۾ꖎžî ããÇŽ³‡‹0“H­‰~=ǨV«‰D¢Ùl®U"äóùHð€xÞàº+¡Ï¯öž×g ! …BWWW\=!„ˆ ȯ±#§„ˆ’Éç¡ãØaèë†æ^>Ÿ­V««ÐÏz6V‡Ø—*‚ 8{úÌŽíû”R„Œ BÂü òΞ=µcç¶HñH%#’Ê4Ù¢…ýìÅO™a18åy^à6û»:}·©›†$`„0Ó£ ·©Öj+;’VQ÷¥DAéú@ÆÕXOªù#“Éœ;w®­­-Þ “RêºÞ>4T¯Ô/_‹ T“ŠDQtòäÉÑÑÑ `Œ)%×F,)ELv¢Œjº .¥âBEB¦QM×Õu=.ŽËìœ>}z×®]Ï2à*ÕJ/_ÎD1Öp9}úô–-[!–e !€ƒ0/gNÝ´Efš–ˆ¸1¢„KÊKᆵg”®?oí& ±"ÔK\¥ ¢(Ô”¡ëÌNÄ]]פ\2ðè B®ÊðZã¨+æE¬cô­ j¬ ÁÆ‚”ÒµRˆçÞ/WZàZŒ"[@Ãz¯ B€ë@Ãõø¥Šûï¿¿­­mMŽ!fMŽoÞ¼YJY¯×S©T¼Æüñǯ·XŒòsÉ©f¡@$b¦·’@XB·%©ƒ®ž )8â²P»e¹°š”šÐ©UCß“ J!T±§ D+ÍV-MG0x¼È‡2P™®t54€€Ð`ÌÐô(ˆHˆ˜ðŸÉ¤Ê²Ê)…®ëÙt®•C ª ]ƒ.¢À‘³òB3jA WQhkI«T‚ :uL«i¸¡ˆ €e D19,B À Q†‚„Héz¤‚¦ ]!\‘ñì‘b0©@"a‚Z0‚ hoËLWªà€¿:úJ@™DxŠA|¡@©Î 8ŒU°Ä€––²“a­©q%E#‚‰Ö™¦%-@¤µKOÖ5²Ãf‘/T 媗ʠ®VLqgÐV[ÄÝÄVßðš áWï);Ét(Uä7!R€« oÙ7a1"$%¶Áš¦IT3´¹Jê$ a€šœÖ¥„ îs‘ÐtÂtÐcz,#€[÷  tФ”[xŠÓ†pÂC˜04è®ô¹/Š“%¤håUBe¢Ù4ƒ˜XiÚ8ê«m p[+•PC()ˆ‚© ÀtP™4ÀXíÙZSq K»î:ñw„¤„RòŠPxÆ|=÷óE^ÜUugGïÊÊÊ{ÞóÞtÚ©ÖŠ ¼³³£½=?22ò®w‘þjµÆ”ÛNÔu¦›ªµf¤õ4JªhµÖL¥Òù\¾P\®Õj_þÒ×>üáÛvâù^iêQ4 ÇqlÛÔ4jYçá³l^õÝ|°··wzz:Nc,˺ùæ›#Á“ÉäóêßuB^ú¦|&±F3âyGµZ™™Ùºuk¼ˆYúÏÂh¨Õ«©TŠ*ds™0 tAàûî:b³¼4-|i¹JZó‡?üÑæM;”d¾W×åÂ3tU©-ß{ß·‡»%XTc)7 ”FQTgc5AMÓlÛðP(T*?úÞ÷4ËIè +×Þ1²c{>Ûò(N¾â4+f¿3€2Iâw ‰  ŠH¢°ÊŒY·Ä‰±†ŸÙ÷u]÷î»ïN¥R¥R‰RÚÕÕuË-·¼ýíïtœÔ%[K™Ââ»÷[ßúVWWW Oضñ`=> ¥†e"$aÈ#¡˜T‚Rª Ë\Ä¢­œsÏó¾ÿýï Äê­WpÈ•Åi/ÐP*•þùŸÿùÿøÓét*•Š¢¨X,êN¢Öð¾ü/_ûðú£l2™Ëç¥ä•J%¼dè“k鹺Ö7ÎÑéêiT®¦½¤¥F¶mú¾äyôèÑÍ›7ÇÏišžç% )eÿ®]»Ž=z½Ñ@“’ É"E¸¯‰ÀVéôñ(¨i J@Ja J¶Èù|u8q€xW‹ƒ4 T* oñØa¬~¾h€ JA0GKÜm¬Ô[9› °µ~@DÌ´9”„Ô5J€À |iÄþ;@èGñ®>‹¼@ƒF‘ %(2z:d²ÈÀgB0 °«‚ƒ@§ Í€GRhZkåË#HƒÀ’ :1” CÅ€@)8I4ëP@-DBQª`0ÉÁ–ŠU•§M.E½UªiOÕŠuH€k4V¯’ ˆ€A]=³¬Mê [½"Õ–¸!ÞjZTÂ`P)%ƒä1šÆŠÜ& Po´ÚŸèÂP¾€ `$„$ 4øœ H@Ö %HÌEuž«-Â[E4$@`jšàQKÅ—ê…>rz@¥RBLq °A ¤ Ê¥ä´Åµ 5ÎLS@ …\€€PJ‰HÀ‡4û}²ˆ*šåÖ ©”F *†¸ˆ¥”¨¯Ë¢@¡<NX\×ø@h€ãƒ6@V 8†‰Œ1¦)E !áUARPk.'-B¤‘×]'^ðúWe4\ ¬_ÐptÍ9âŸ|:==;<¼±·§ÿÓÿÏK¥aèz~³Ñ¨~å+_ùìg?û_þË_DW’™¦k¹Ã°i•ÓVNK$ #Ì #Å9K:ùÇ=eéI"iëŽ}Î!D$¥ ÏqìDÂ*—‹ŒÎÃkë]óówíÚµwïÞ\.E‘çycÆ_œtõ×k‰ýz͈ç 7pΫÕj¬©ïéýÄÎõ}7‘H†¡O)•’›¦^oT ÃX½6u+)‚jšþøã‡ÿàÕµFÃÍdR~PÓ è?üÈïÿ_ïeõº›ÉfÝ00uCÉ_ŒE}l+ßuFcaaAÑ‘Ëþö{ßG‰r=ofqÞç‚:33søÈwÜùšÖݨž{¤*k RŠH¥@W™èqb¹¾›ZÚ?‹0 Ãqœ/~ñ‹Éd’Rzüøñ{ï½÷¯þê¯>ñÿ×õiØ*›I†QÄ4CJùØ¡Ãüà× ‚’RB)Q B %¤$¦i EÀ!¡¸TL(PÓ°›aͲ¬˜‚äûþ¡C‡~ÿ÷ÿY\¥žq~9zÃ0:—uÄ¢•\)2Ͳ>’Le8Ã0¼¤8‹Ä•2«J/qµ®1[ o<À­ö¬! È—ø–Rš¦Iiäûà¥cz¦a]Z1±V,F~"&~ÊpU¬ü2~MEym¦\¯»Š¬‡-ÖN‹ù_kð~’$„ˆo KgØë+™ëñËsss_ÿú×{{{?ö±}üãwgvv¶¿¿ëô cõzýÑG½Þ\$‘J¾ò¸Œ A„¢Eà³€H#9ÜàŽ¿Ø¬Kà И¥†©4ªxè@™Þ6C3ËÅ _pÁ.ˆa+7M´  l0ÙÙÓ¹01¨Ç;ðš æè&çÍ PP }èÈ»aP;ßd&</¬€Pè 3€Žf³¡4¦$!D·îª` ʆ ä¾D†2dä&‰Nî0q…$P$¨b:@%¸C†Àà¹å¥Ì@Dï|3h¦<¦DšÙéèQÍ»¨Ãu%”í#Á8"î+ ®AèÛѯ}j|ºZ¨C šnÄC43<( ªÐ­{·7êîücᜃA(P¦ƒÇ9p˜€ÂΛ·--,¯Ìcކ JÉ\œ¶è°A6¶wöu-=t "¨@"ð™Ð,@pi÷åËå¢ úæÎ®®®Å¹y>QŒ§A+¡kÐ} ¡@× qH£}sÑøÊD5Ö¼ˆx@¡ D€Œx d ˆ LC¥<ŒÀ€ €2Iè”…2$Œ‚²0‹‹@ ˜®i®„B耎|&]Œj²è€iP$…§¸€Òl+’Møƒ3hµåóµbµ2ÓD«W3MÓ-Ó#WpÞÂb80Ü8\¯×ËÇ&bœ+ÝÛ^›©BiPà2ât•{¢£÷•ýKKs|EÁ<¶’ ÿ:¤ÿ­ubëÁ¹—{_ £á¥Žd2á8‰3gÎÄ&aš¦%“I@ýÞï}à­o}k£ÑBøž—L¦ƒ0ìèh¯¹¾l%H­p¼hN¥R2’ËõBú[6m ‚¨½½³P(<_I„(ŠbË¥l6Ûh4–––ÚÚÚ Ãˆž§¡¼R*‘HDQÔh4êõz†•J¥­­í§ïôÖw‰ ­Ü€^휟x„e„(Û¶MS7 Ã÷ÝmÑ4íª¿•Ïg†e¥R!“É(¥ÚÚÚ×ýQò\P˜+Ò™¶Å…B"™¢”VjUª¿MkkëX)”SÙ1÷Ø8”kI4 Ÿì¾y÷ŽÝ;%72DjezþøŸž9¶¢@Á„l$“{7÷ß°ÉêL M‘_=Xš[;|ºôÄŠ'‚ðr¥„l¾i÷ÆÑ­ùÎMÓB×ó+õsO¼pò¬·AFHÝ·ŒîÙ4´±KÒH ß«û§?söß.x•ÈÊ¥1“E:a[q+ÕÌÒ4D ðÑc îÇì‹Nƒ*J¨axÔ´¤p%pÅ„âœ$ÁÒ¸õ57 l2“F¾³ãìù±º;r²zd>â%XÌ@àGv¼qçî›vi(X°Wf—O;uèÅ\ X dxûÖý·ß1]ÓuÝû•Æ…3çN=ñTm¦P$⺡ŽÛ¶îÍeõu ~±zñ©ñ©GÇ‚šÒÀM˜º^;ñB†+Ä )¥«¶f—oùhë‰ñÏâÚuÙ¯­ç5FÕÝ IDAT¬©d=K޽öbm§è-u ‹;:³Lç¡azÃ4ÕJµ§»¿Ùð5MSŠT*•Ïþóccæî¾ûî¾¾ƒ4Z­váÂ…oûÛO?ýtwW×»ßýî[o½¹\)öõõ\œžìîî®ÕjžçýÅ_üÅ7ÞxÏ=÷¬¬¬†ñ,—¤ë¦ï‡)—«òùv¥Ñsl«µˆýÕcF#VWž››ËçóBˆéÙÙÙÙÙØ‰}```çεZMñÐC º®»°°`Û¶m wÝõ†b±e7ýOÿôOo{Û[8,ËÐ4ýþûïïêêÚ´iSggg£ÑxàŠÅ¢mÛ6lìééš›[˜ššÔ4Ã÷ÝÙÙyÃÐî¸ãÕ¹\æèÑã…Âr½Þ4M}ppP)áûn&“ªVËJ ¥„m›œó«AèºÙh¸étV)hšQ*U ú&%»Åßz¶íÇç¸óyÕ÷k ·«»w~a©¯¯/›kk4=ËÊhƒÒÓéþ•E϶éÿÑŸ½ó]ÿásŸû‡L&“N%ïºë®7½éMÅbqÓ¦M+++±¯çKý ^–çà'9çqÎãÝéøv­T*¦iR¦ɤžNyž×;08111>>qüøÉÈ úуqïßyçN"aÆ#??ßÛÛ»ªËEŸãQÊgàŽs¼F£ÑÞÞÎó}¿£££Z-G¡ŸÏç+•Êøøøg>ó™ \×}ÿû畯|e¶-{þüùþ¡þÙùy™TêßøÆÿþ£b±Hùõ_ÿõ·½ímAø~Ij~õsÿß?|ç;ßÙ¶m[{{û{ó·:::’ɤ®é>pìsŸûÜ… vîÜyóÍ7÷ôôÔëõkõ £PJr@) Ê 1F‹‚PòPQF)!D( Á_@;\õ}MÓ*•JWW×ÌÌŒã8J©f³i'iËš·«—«ª£»ëë_ùê·¿ý¿\×µmûWßòkÈf³º¦½ýíoÿßù‡|h~~1‚w¿ûݾïÿð‡?ŸÿÖ·¾õÝï~÷ÌÙÓƒƒƒï|ç;_÷º×yžG)µ,«\.?O›Þk¹#“t*/Ü&(cT©–Ã%ùö3,-I(Q D­~¦”R­+s ѳ˜. )ÂH¬©0ÄO‚—ðšƒzqIŽ’B*)â#…œPPJ5(¢ — ’@(ªi_ƒ(Á%ˆ¢$•‘B‚(MkÙK)%dD$—RJJ¥KÅc… ”Hñ3c]ëñS.L9ç6l(•J¹\nÏž=kº Éd2Fú‰Vy×óFù%RÃЈ@KÐñ¦÷ÞÅõ¢_ó’®Òãõ¶ƒ¹¶m[øÎE÷‡³ZþCÛ­ƒ;nÞ+³zÀó Ûг;ÁξJbañéeÑ °ÐsK÷æ[7°)°yf1Ó4}QؘÚlýú‰lÑ´¬ÿ ½‘ÍS}úTu.—ÎLÞ¹cø†mßþôÿ\CD9,¼å7ÞUfe„HP¡dy¦n¿ù}ïüîÇ¿„»!÷x“ôª›ç6Ú­Q½»«¿Z®Ô*žn%ÞþÛÿákÿ2€’¾¨Ä©æþÿã–½¯Ýwrî„–¨‡"HmMîì9™SÅû'Ñ `/@‰]7·ulÈÖe¹.ªzs xóÆ£¹zéÇ‹-]LP‰ÍØ÷–Ýíý+…å„aKªÂ|Ð?Ò¿gó­G?û`«äDÁ¯¾ÿµQËnèýe4#ˆ@QÀ€Rø??ðku­¶¬Ý÷§Ù+OÑž¡Ç“K8*I@±û=û::‚ލÉÃ(à&µôkdã §Œ‹8ßD  -YÐŽƒ›lj8U+—v£Z­VË÷¦voÚN:Ü“ß:‰ `!`CdÏ»öÐŒ6ç-$s JéØñÚÝ{¶íú—ÿú5ßG ®O¨?iýyÙ6Ì*Qø†5šg\ܽ~ÃfÝùóÆh÷ÒéôÀ`ë6º»»=ÏsœT©Túïÿýtuõ ///Û¶s÷ÝwßvÛm÷Üs!ä£ýèÁƒoÜ·«³£íì™Sÿãÿýì[ßúÖ¿ýo=66ö¹Ï}}u¹\’RÚ¶íû~µZ½ûî»?úÑÞrË-SSSÛ¶m;uêT"‘x©­›—––ªÕj:v'V…TJQ855U©Õn¼ñÆF£ÑÖÖöøãmܸ‘1æºn­VëëëÛ·oŸã8A\¸pÁ÷C]×-ËzòÉ'{zzffæ6mÚ$„ŸH$’Þ²¸¸xøð‘S§Nmܸñõ¯c¹\žŸŸŸœœL§ÓµZíØ±£££}}}¯zÕRJÇq{ì1ß÷wîÜ•ÏçÃÐ?uê”ïûQhšfš”TJ†<^v_j!µ«í¼ýÌ¢­­Lc†^(—c†esΖŠ2鮞îáùùùÅÅåC=ö±þùöíÛÏŸ?ÿo|£££c÷îÝ333ííí•Jeýó±¤ëº„öööM›6ÍÎÎþÏùòÆkÇO´µµõôôlÚ:BLÓ~øá‡ßñö·Çf¹lj¥P¾páB2™Ìf³o|ó¯œ9svffæØé“û÷狀Öh4Ž;¶wïÞd2éyÞììì™3göíÛ—L&WÈçŠ2\²ÛüÓ…çy¹\®X,¶µµ¹®;11ñƒü ³³Ó¶Í±±sccc_øÂ>ò‘  …O~ò“¶mïß¿?Î3™L¹\þâ?ÿóñãÇã7Þ{ûí·?~ü/ÿò/…P¯{ÝëÒéôÊÊÊŸÿùŸ¿ç=ïùOøG>úèÿÅ/|ò“Ÿt§R©|å+_1 ëÖ[oM&ÓµJý¾{ø®w½kddDJùï|ç¯ÿú¯‡‡‡ï¸ãŽ~ô£¥Ré3ŸùÌ×¾þÕøÃÍfó}ë›_þò—ë·~ëÎ;ïü·û·o~ó›•JåàÁƒ/^¾*ãã…¥$Ïý«@®ÙÛ¬‘bûVJQPJA*)%‘ŠRJ(¹lâ¼6ð‚ÕÂ1EZ¾eP1RÑ*šXCN)ak·Ê*8ϸD©ØHÅŽ±1SDµÐZºîbÈ{ÍYÏÂ}Ÿ¯ëq=^ÎXXXèééN§ !µZ-öº?‘Ò㓊@1„Æ EêZ#5œ>sæTi¡¼gdW#M—ƒ¥½¿¶‡ÞÉT©QWøx¾·Ck—…æ\(x=¨Ûº¡%º›íM‰-™í9øÊ -M3ˆM¬œ°Œ¬Ù(ÖÏMOf³Y[3Û:rRƒÊ,¤ÝÙîÀwÝÈ¥6a›;«•¢úØÜdµÝ[ëË®‘¶­á™•Öæ¿NÓ£Ý>‘ÉöLÝ/]œçT ':ÒÍ…0`¸ôãI”¡à)líÖGt$ºž|âi[³z;ºkõF>ß¶óÍ7žüÒ“-¶¼(d7¥æ‚‹V?[ ¦ç.g»“^2ÜĆº¶ws_D‘€$ "ß™Ëö'=Ú(–Vš~ÝNꮪdÚÓ#·‡2¶JzBJ) å´;+ÁŠç»áYèÜ2413žßÑÖûû[ÚµŒ,{ ¡åRéfäfFR³îòt­¾äÎ4I½ÃîÈä3FÒîºipéþ¹°I $ÈÇÈ[ÊQR“ËáRU•D³™³«Oßñ–a“t"W®úÔЭ¤‘lO“¼Ô ®Ô'Çg† $Úõ‘WlŽn–Jh0|îªdèÑdsÂɤŒ*Ö‹šbÙDrh°owûž¶Ñ\$„•²<ˆ4Õ6Ø[Ð NÚ Ëͳ3S Cß0´ÙNeÊS.lÀFµ¦Lø ·¿i/éJ¸¬F#²xaZ2mpãædG¶ºÐÀF ZKy1·#o¦l×ê~µ\/…‘‘jKå´tÂ1ú¶oš[9ÛšŸ@uËËm쬈کùSÅj­o¨‹%‰1„í¯iÜÐÌ[m¶îp)¨I´”&s¤ÈÊ…ÒŠÛRV*—hc¶v믿rnn†…ÊÑͨæiš64¼±«¿gb~fÙ+…J˜Y½LÃåÚ¼¹Á8pÏ€*­†–“ ™tõRÄ¥–!‡O?ÜÛÑ5˜í3ó¦ßh’a„%®k4¼L€éÏÛ¥ÓéJ¥rèС}èCš¦ÍÍÍuuuÍÎÎnÙ²åSŸúÔüü|lw÷7ó7]]]år9›ÍÞsÏ=ÿðÿpÓM7B>ÿùÏÿÙŸýÙöíÛÇÇÇGGGÿóþÏ…B!ÞáïííýÒ—¾ôïÿþï÷w·}ûö(ŠLÓò‘/~ñ‹7ß|óàà`¹\þÔ§>ûãnÛ¶­»»ûÓŸþt¥R!„Üwß}úЇ6oÞ|ìØ±X–õ±},6•x.—½Þ¹à*Yë‹'âÏç£(zôÑG?ñ‰Oœ½ežu:¡J2%c©cÁ4MJ¾}ïn=c»¤ºX(Ÿ<ŽEœL³^Ú)’~gw÷ÂDE„0ufФÃh>—T* JËÇOž’M ÆöÍ]Q§†tN£žÇ4B)JÝš·ìž??îž)ÖGüÁ¡þÐ’){(áúõy:K3ZW²_QRR^Ôˆž8uSþœ6[ÚänÍoM¦3»öm?röÁo_nÙ&¤5–f/Ξžeý–‘HŽÜ¼ë±“(#V4Ü·‡Ýž,ñFaº0üä&Ñé ‚`ï¾Ý'ï{Åî›Ûß­·ÓÊÅ xöìÙðˆßñüíÜJÛÈ « ¡R" -ÝR’R#¬ ¸2¹táÌù¨°Œ>xc¯™5ž ú®2”H -©i9mzbeîÉ©¹Ä”{‡ßÝßµ²<Ó‘OÐÈ4]0eÀ:[¹¨ÎLL.Îÿÿì½yŒ¤W}6úœsÞµö^ª÷éééž}<žñ¾`× $äF‚{"\‚ÈUDDDHtctQ”?"Ñ']+$( (ärã/ðÆxlŒÇë¬=Ó3ÓËô¾T×þng¹œêr»Ç3Ɖ1¶éŸF¥šîê·ß÷l}~Ïy~ÏS›©uFvˆVç]£Ëg!"X€…CÇ3[][j”N}ï4²XJ½å¸jOäSûççËù‚ºXF¿qèø±ÂpgP­VKÕJ=’'‘´'jxUQ÷ŠKkþs«W:WQ¿½Ïá ²ëž½—ÖÏ!üUæhBtttÜyçŸüä'‡‡‡£(Êd2ËËË?üð×¾öµ}èC±X¬T*=üðÃFã©§žŠ¢h|||jjjdd„1¶´´¤=ÉuâÝßß?;;ÛÞÞþÅ/~ñâÅ‹Ÿþô§;::-ËJ§Ó¦i¾a<½‘‘‘ãÇSJ]×-•JAT*ß÷GGGuAÇåË—=úÌ3Ï(¥4¬088È›ŸŸo4¦iö÷÷///wttÌÎÎær¹žžžÅÅÅÕÕÕ|>?;;›ÍfmÛ.—ËÏ¿púÊ•+õzýÊ•+]]]¹\îܹsÓÓ³BˆJ¥B)½xñ¢nŸ 4;=Ó4óù|2™\\œ§”ú¾ïyžfOèüö-1 ³ÙlKKKAtuuéd`yyÙqœ¹¹9Çqòù|µZ}ï{ß;==ÝÞÞ¾¶¶öáø}ï{!¤P(\½zµ££Ã÷ý7›•=¥TƒU* B™¦™ÉdÚÚÚâñx*•:wîÜ¥K—öìÙ“Ëå\×Õ÷¯±X, ÃT*Å9w]W[?V«ÕL&Ã9×S€s¾ººÖh4ººº.^¼¨1—t:ý³à®«««ýýýðÐÓÓãû¾ƒyä‘{ï½—Rú½ï}ozzZæZ­&¥L§ÓÅb1N[–ÕÖÖÆ;{öìïþîïV«Õ±±±J¥âºîÄÄD¿ÖùêW¿zùòåÙÙÙ•••={ö<öØcþç®gÊg?ûYBˆmÛW¯^=vìØ«2¶A :­ÝÆ4k墯WûT*•l6{ûí·ÿÑý‘”2‘Hh4D@ÞñŽw,--¯®®>úè£úq,Ëš››ûµ_ûµ¿üË¿üüç?O)-•JÃÃõZmeeE/³¥Rill,‘HÔëõR©Ä9Ïd2+++ßÿþ÷Ÿzê©t:½¾¾ÞÝÝÝÞÞþ­o}ëSŸúT¥Réïï_XX¸ž+ÇÏhØÚ5MRJ^ñ»¯Ü­Ø&ÓøÑRs ë/ZÐÆ¶Ë^[u­ æK¨Äʰo» ”¶èi±Xlttô ¨O|;@ ’BYP” ̆ä}»†¨c„çŸ>…€báÔt…lŒ¼¼>mdr^%¬ñ* … ÂŒˆ{ÞâÜ”œ<€£T“Ä÷)Ѝ îÇíh¾´7S]Ã$ W/,6¦ÖÀ{amž˜¦mÛI†¸É=Q‹YmWË˃£?Z,-⢠԰pi²ÿø€3ú‡ûž!›†šTîº_½¼0½|î2†c¶ÁܱÞÃíýíZ`0å¢B°wlt%FW–‹ó?|u` S•‰úÖVWóv>?Ö»òøR€‡;,ÊFŠœ>õ¢zQÁGùrq117zÓ(bôêòÕ*¯$2© ®iÛvŽsÔåh9À*D5šîœQIÕnwaDCS % eÆm_yFÊxòù'ùi@àÔ 'qì¦î\[µZ[+ÚÉdHÉJ}½+ßÞ–H-Ï^Z¼RÂ2 °Í·÷lÛŒõfàD0€8`a÷®~C‰µ¹Ùé¹ mBј¯MÍÏ'ÖÑÛ_‹’ðÀ(ÏU×Û¶¾ÜøÔ쬚¡pù‰óá1±7“VޱáUk¼ÌbÔIÙ> `qyúü¥KX`#<ñä÷Ž»=îĤÉÃr¹.½eš`° ›»4yõô*6à§pñÂÅ~åöuí¹õ·ýï_Að?Þ¾¤ÊEÅKª²rê*Ö—ÎÏij‰žáƒg¿ò8$ú»{½ ¨…ÕÕ™\ªX f{Y›42…Þ÷9ÆØÂÂÂg>ó™(ІÖA¸Á d­VK$œsÛ¶›ò×/„~}ýX,¦• mÛBÄb±T*µmKÚ:Ó®T*¦iZ–¥9Ò¦i>÷Ü©R©411qÇw†ÑÝÝ}åÊ•d2¹¸¸xøðaBˆišçÎéíí½ÿþû ðm[—skyˆîînÓ4µÅ¦mÛ:) À”oùÚH)eggg†ÉdÒu]í'ªSëÑÑQ¥”çyõz]+:K<cL¹'‰t:íyžçy–––:::âq§¿¿ee¥¿¿Ÿ1¦=¶±êF0 Ã÷ý­#mÛÁï¶<í父BÊåòØØ˜eYúô¸^¯ÿà?øÍßüÍx<~àÀßþíß>pà€mÛõz]JY«Õ4gYVOOÏÒÒÒòò²mÛ­™†¡®Z__ÿÑ~ÔÞÞ~Ï=÷ôõõ …©©©ßÿý߯T*ÅbQÃŽzåÑ”Ÿ×°)Ü’Í6•&_Þž¯#Ð@)‹ÕjUãJA”ËeÓ45v)„Ðúj©T* C}x¨*‰D"‘(‹ËËË•J%N7 ÆX6›]]]Õ›eYœóL&ãûþÄÄD6›ùÔ§>¥Ë‹b±ØÆÆÆC=Ô××E\“ÎjµÚ›kƒþŠ9ü50Dkí½^GoóÂ|Õñ ´‹Ä+ [oàzƒæ5ì0vâmajÝëZ­Æ9¯T*¶m‹ÅL&³Ó87Àg”.™P   BIª$±L@ ãH[rKCÚ/—bʘ35í„·8€A$#BJ®d$xÂb„Rb0j1FM;a#E ;a›1“ÚDPN!‰"I9a°š’þp!D)!%ß*8,U(L©, ›Þ™&‰,éQ®kþm !8 E`(í±¹9\{ H€"B(hDLŽ‚0 †Xܶ“°595 ƒHÁ  “‚.pâ¶s à M ¨¦‰3¨L MïLÊ Ô¤Ô¤ÌbÔ45˜Í¨ÍˆE‰cÀì¦Û¢ ’+NeÓÊQû3)‚pJ©išˆ ýyeš‚±*PD€˜Á¤É¨cqe&í0ãëÚ8–°HÌ$Ê¢”P¢ñyȔʼn€Ñ4„ Ä,j3j32bŒ€)¢cÔdT1j5-Q 0F)¥Š®$´{(EH¢aD#Κ7  „0Ê7íKp0 FSÄ‚mÀ ‚ T2‚v»à…PR‚‚m~R Çf–Á¤AMN8!ŠË &åD6ý.ÍæeaP˜„™†aD‚¦¨I©Íˆ ÍÏèÎ2‰dJR)ˆÐД‚„™Ô2¨·l 20˜àÍ1ºoÌBöf»¡D"¡-ŽZÅÙlvïÞ½SSSƒƒƒ¶m?úè£ûØÇŽ;†a©TšššºpáB¥RQJíÝ»×÷ýõõõéé鎎jæóùb±ø{¿÷{wÝu×C=499©î«Õª–y{6vúèU„ ªÕªã8/^Ô CCCÏ<óL.—ÓN:?´,Kë$i„bnn.‚B¡EQ.—«T*óóóÇŽëï›«V«¥R)‹éz¥ÔÜÜÜÊÊŠ>Û_[[[ZZ²,kzzZJ‹Å,ËZZZ2MÓ4Ír¹|õêÕ )¥ã8­ÓïŸ×±ö"ÖÖÖ …ÂÙ³gu•„ã8mmm===Ï>ûì±cÇ666–—— …·¿ýíl6[*•r¹ÜßüÍߟ×Ì x<~þüyMŸJ$““—æççMÓ|®­ŽØ†#h/‰m9ÿVʶØZ±€k!-´ZE_kUÅ 4 ¶ÝÆ6 b'vâmÚ¥K)•ÏçS©”fî”NüHƒÞRàS/{•†I¬}wÜ„‚=džÇÆ¢r8˜í ªÆz÷Xœ»6\ÇN¦³]}éÝ.†`tZm±ö¤tã™ Ý.ÞîÝ>s Oóþ²ÔüžBWvW/’ÈèèÊæÚ\à V‚h12×m±ˆœÕQ[­±Àèmë3öö äÙÈÞÃ1ƒš?}ñ 2Â…³gx÷ í?°ËéíÃÈþ¡¡þðù™yp@¡Ñ€ä8{ê|T³éö›¸i‡íIî½ù&)eg®ƒV<½ Ô‰}ÿñ¸‘àµpÿèA÷¸‹Fz …î¨ø«^'ÍXñb¢+êÎx·æ¸Üi‹¥Û{R±a;;’, u§{RF:&];² Ÿ‰2÷–k1S5qÏÑ»ï…8xüÖžŽžÅ¹•Ú†Ÿ¦iR Ùz˜GkAi®˜Muôíéf»aì#=ƒýmN&-œêÔ jj@ .LF\vö÷< pÑ6Ø¿»Ïþþ½IßvÊ„-skÕꢅvÒá­2”ýƒ}ÖH.vß{°{°“˨^mX“âmv)QŸ i•‘1˜8vàfôÇaéwÞû.^絕Je©"+Âð R'¢,xE@™C»÷î?2ïG®‡ŒìíîóKÞãß{¨ÑÉj†Xí4Öfº»Žï6ûaŒýû÷wfsõRíÔ³/ÀÜ4•n`~fÞav&•Þ5÷¹ÏÝyçµZmïÞ½oŒ¤eYÚ~O„Œ1¡d¡PØ(—ççç5¶²ºº:66Æ9¢ˆRÚÖÖEQ©T ÃP»@åóùÅÅÅÑÑQ ‘X–ÕÙÙ955•ÏçuÙHggçððp±XÔGúO?ýtQqεI§NY‡‡‡=ÏÓB—/_6 #ŸÏ§Óé©©)}®ÁÝ oÂÄûzÑßßìØ±ï~÷»W®\¹÷Þ{]×]]]½páÂ?ýÓ?½ÿýïÏårš ÿÔSOõööæóùÉÉÉéééw½ë]¾ïkì¹^¯Û¶ýfÛëÇb1­öW¯×'''/]º¤kˆ†††t²íyÞÈȈîå‘‘‘X,¦Ó?Í„ïíí™™)—Ëû÷ï¿xñâÒÒR:Ö#Dì8 q‡¾¾>]¿Ž'ð¯5´^‰mÛûBø¾ßÛÛ{òäɱ±±üã_ýêWûúúÆØØØw¿ûÝû·ûã?þc*û¾ŸJ¥îºë®ý×MÇG½pá¿øÅ;RêyÞ¾}û¾óïhaÈGyäĉR©Ôòòò}÷Ý÷…/|áOþäOn¾ùæGyäË_þòOÏkÐ m+ÿÜJÎ݆ÙÙY===®ëzž·±±Q­V7668àûþ‹/¾8>>þàƒ>üðÃ]]]ÙlöÊ•+'Nœ8vì˜K”ÒÙÙÙT*‹År¹œgu‘ÑèènFñìs/j­–r¹üîw¿û+_ùÊ?øÁX,våÊ•õõõ'N|àH§Ó]]Ï?ª££ãMÌ1¦ZM®! ^‘Ѱ•³ðRß]ã…©¿»Uy+`±­¯·­Ce§tb'~qB34-Ë*—Ë™L¦P(h3Ë–yÕ•Œ@QH¡ CàüOÎvÌÅ3n>›£FÑ)ìØwì©ù Õ¹bvž©á¯òŠgDQm=íœ%ö½«Z®XÔènï´…¹4?ÎÕdCFŒ†nÃÎÚéáT¼3n¸°ÛU:•B R”Õ³eÃ7ºÓ=^ j²D“ÖàþÁ¤ãæ¤.¸çÛãé]CþBƒo§rªyú ÀÉ'o9ø®T*žêî‡äœª|w?¥‰z™_|âETA$‚ç~SȪD,žMvî­çÛs¹DÎæ‰¨XúÁ”7Ñ“ø\×­ÕjgΜÑjçsss»víò<ïï|çg?ûÙ•••{î¹'Š¢ï~÷»Ÿþô§ËåòÈÈÈûÞ÷¾¿ýÛ¿­V«œóãÇg2™‡~øÿð;;;?øÁju4`¤Óé¡¡¡o~ó›=ôÐÄÄÄÇ?þñË—/çr¹VíÀÏzï«]£5ß0 500 fgŸ}öY)å™3g†‡‡GGGF<çœ7 }‹Å”Rºðajjjÿþý FcppðܹsøÀÊår±Xäœwww?óÌ3ÓÓÓkkk-·ËJ¥R¯×ÛÚÚÇ©T*ŽãÌÏÏ÷öö?~üܹs“““O<ñDúû÷ï×õÿBˆ0 5)ÀqœŸ£.àkŠr¹üÁ~0NOLL<ôÐCsss£££étú“Ÿüä¡C‡´ç|ttôÏþìϒɤa>øàñãÇ[ö–ÛHÎo’¨×ëaš¦™J¥:”Ëåfff&''O:¥¥ûR©Ôøøx­V£” }ç;ßY__Çã÷Ýw_2™Y.—ÿîïþÎuÝ]»víÛ·/ CÏó‰Ä¡C‡Îž=†¡>¯BÔëõžžžJ¥òsyÞ !ÄÒÒÒÞ½{5ȶí÷¿ÿýŸøÄ'>ö±uuuýÖoýÖÃ?|áÂ…r¹|ûí·ìcÓ9°ã8Éd2 Ã_ýÕ_B|ó›ßüÌg>ÓÛÛû‘|D˶µµ}ô£ýÇüÇo|ãíí탃ƒwÜq‡¦üPJï¼óNÆØ—¾ô¥«W¯îÚµëþûïÿ‡ø‡×$¹5Ýz$þú Œ±xñ‰O¼ªÛÅNìÄOœó¿ú«¿úßø -Ý¢x­ôÕ¯~õ#ùH,ÓÚ.zQÕûE züñÇ|ðÁWý- ===®\¹ò‘|ä±Ç{;n·Ø€‰ÃÿÇ=Ù£Š0/ïw|íĞ߸­Ð›{ì[ßO‡°qänqö:vFÕ/—Ÿù^´§MºN)P‹°A¢tàøøí}mµùÒsOŸ|æ¹g±Ži÷0XFŒ¡Cããûö¦ãi^õ.=?qñǧë³> a)dÍ®rTk ¡léŽYG ûºÓ]iÉ©ó—Ï=9!NH@ãˆ[°6°®,°N »y,Ó™®Ö¥åò©'OmœÞ€b1ÕÌ$¦Åüˆ£÷ö~k0½•8“Y3#¯ø}þ?Pê°XÂHX°ˆv€ãþÿëþbGMÄe Ž0¹*Oü÷aðÀ¸È(±GÉãï:Þ9Òë k+˳ç®<;%&|0ᦌtƒ78"axñ¡Äèí#C7±´ªV«WNN/_\)_®¢²)= ¥+ÃÞ[w¹åhGGçÊòú©Î^¾4ãMl7B(áQ¨8:ïè.Þµkÿ‹˜K§g/ž8½ôüU³Ž¨ADÝlÀn޼åððî&Tizùü/,<½Œ b `‡ 0=80ö{n:0Ì¥ÖVV'^˜¸úô®5À7-ÄZU¸°{Í‘{÷Ùßžk[_-.LÍ>õý²T€hsW®t²ÍŒñÞ»íß3Ðã{ÕS§Î<{ò,.(x°<º/VXk\õ’…¨ïû¿X³*Á;; «WKNô¡ÿ@ð†×mÕ;~÷¶ 3âYV1¤¬ª¶jòù?~%°€8>k§ÉŠ, Èš‰î#}GvåF …Ý×&Î_}ñüÔó“bns“fÖŒêí'‡Ž¹øNh‰Dˆ #—È•jeC1“±PH‰x®~êܧ¼'šr˜u°:1@‚8·DòI~váÜÙ=`@9[p,L†4ü€—£³3/žýþ‹°ÐT…ˆCjÃS…†a€¢àOÍüà±™„hÒP € ;hp›!€_]:¿ú£ó7ÍP@“"æ x;‹Ì;@Û`C,¥f1üWò4¶²¦ÖqëõJô‰ÜÖ]¯†„ÛN¤ßgb­'õ}ÿÖ[oÕ)z2™lV¿EC—ül“ÖWJ]¯ß5í¥åÌ¢”jkkÓn¦×;›}{碚=¤}"lÛÖÎ5­ ü–[ÇVàæ§™ž[¬ëêïÄÏ.^Ý^£ÒöW«Jb‹Ö†y½y§‡Í6 ·h,Zfuëe[ƒ¡ù³›@ah ¯«;ÉNìÄ›9ŠÅb*•êêêúÓ?ýÓ/}éK¦iꪊ™™™ÆË,Q¤lP&ѹ·®hŒÐs” !Àv‘¤ð)jŽŒ,%T­PPÚ4D`†­(+œ¡–O$ykœ"0êL)¥¸”\'®JAPCZ”ùa•¶Dh{ˆRE]3ÀB_)'¶ ëp-„õ(c'BÔ# v])p—Á¨#IePŸ7R±8—Q,Ö0@AzÒ …ß(û ¦àiQDzjòêÂÀ•o¸&³¬¥êêRI”€öD’MŸK2®¥/ ƒS «`à&$kŠ@‘H ƒe’„4ŒT(Š*2 šWœ èչ2[+aT)¡„>¯U8HÙ‰À" H('I ¤ðxó4¾0  pM—(ÊᇠPÁ9åtÓ‚öã° ˜„±€Bc0)‰Òê’va¢4p@ ¬‚HÀ$‹Hj†!-F]¬m”Sf› U3çW`0Lb…*‚p0Ã0L€G 0ø$M]]°£<Ì B¢„vµ€¸UxÀ‘tMÇpýF@aRPêÃój ÀXÞ‚€É¿¶FýmÏ»nÕièM+¹hôA{|´€†mê}¯ŠÂhšÒ6]† á F‘®e4Üàó¯<_(¹P»­b«!ÅÖZ ÆØVyÛú¯¡”’H© ðÖ¯Ù‰ø)£e<¡KØ$ íܼ’@(B SH( Ð bÍÊv( ’ ^g Ä"®|xœ@ “B+/R€š0™b±±¢º‰‚ãXÌó#áéü’TÙŽI)‚(¨…!ãH€ €“-ù™V. 3 ʘIíHJ P€Ãr± •Ĥ¶m6Õ"õ‰>UˆÛ`ÐZi‘ˆ´˜a¤ùI_Ö,ÄÃ&Vd A=x^ó4[1%"8º¥všl¾ÀB)ÀÒI½Ÿ ÙzmÛÉယ@UUýÈ@ÀÌ&€ ~ †Áa@QÐXL ¦Â°ù]Þ¼yB¡ÊP …àð|(‚º_vš$ œP F ˆ ©TÔô¤l:VÒfõG D†0`h„#âAÔ¤±(µùSúѨ¤Ò ±MHÀ@hÑ€HÇ10Çð5ž¢-(J4¼b@€HBÄaH*‚Ô&œ$\UmÀ±UTÑ@CפTxa¡[H)HÁ!Tk<ëFcƒŠd JOÅ!"©6»‰51&Š@H€D0 ¤äD)I¨@Ø| ˆšlˆ*` p‹ì€ ;@Ã/ аM®\o^_kNríqôµyÎ vØ›¿N—l¨mo¸~­þ[%8çZiß²¬hEŒ·úC]Ûï¯zxÞ¢pëDZ‘Ïç[Z׊ؽsãÖjP@>k»P-jš¦6"¹Ö³ðUQv¶Hõ;ÃÛ,´Pk®µâë»×C©v4vâ7fff²Ùl"‘ÐÞ2™Lëý/z(j˜1&”Ô)4 uzi  ” ¢&[aÊR®aX,hðfvMì'ð¨¦cuS¹6¾°ØP!¼0„:ŒL&S©ÔdÃç¸MÍB‚#rX£!Á h’€< 0ˆ0¬‡¡k%,ÁBîëUI ¯{ATÜJVH < ÆâI§–ÁC°°ZÛà<æ ¦¥fàùš·ˆ1m¨4å`‰„(ÖPޤLJ0»­m ( ØÁzP2rL›Ó«×<Å…XÍÇD°:°†*wÁ€°L 6•,ÀaP ÜÓ¿(’r IA\šUª@2ˆÇDˆ'”°À…xDlb3Â!C¯S_Y€)CAEЭêÂHC  4Àª*b‰™N ŸûÊØQ Àܘ¨5J/’*3êK.Ôæø·€v4+G6š8Zݱ)@ åK± ¥P «€p€"BhÛoq½… a'~êl‡´h´/÷iÿÏ\êšäçz¹ôõ¼!›7õvt!ÚC!‹5·G½­Ó_µã´ˆ”2 C˲Â0Ô'H[üpZ"&[3@­ †¡¶\1MÓ²,ƘeY-xlñ;¼Á<Õæ [ÛSJ© vÒÊ7r^´V³WE]¯u‹¸1`×Z?[ª(­‹´-› IDATµíj-Á”m#­5*^Z (¤"x9Ám'vâmt£iš§[^^Þi½*0êHjA™0‰ìšðá}À.Ö»gpOÿ¾Kx«µ«3—Ïž9‹+: ¥Ã°4ÚG­‘ñ‘B%, ÉÒüêé.xçÊP‚¯®ÁÞdª3`ÇGvïÉuwÈHNOOŸ}îtm¢Ò¬#@ ?‚  ÿð®½élŠQPâ/<úœ·äù“5Š„ŠJ À <3°âLù I`ÇÓ¾`áyl„>2о•önBÓaF6Ñ&|c–9zµ""Š)E:ÃÏ"v(×s¨{d|$®ìõÅÕ©‰©™óW0‹fE Ñb“˜ßëŒÙßÙÛM"¥œ™š[»º¶rnó(G5ÈMÉLÆnŒÞ<Òµ«7ÙÖÖ£+WfÎÎxÏ—«%-áÉ›\d±ûî±B®«3¯¸X™ß¸293óÜ Vp Æ6CÏîìÀHïá›lT6—§.ÍÌž[Ä2 ¡ª)   Žô®äÈè®á¡ŽŽì¹3gÊÅÊìô|érYWY4Y†5â ìÛUL¶Åk¥Jiy}êÌÅÒ…2–p±Z_m‰ØÀ^«s¬ãÐð@>›*œ[\{öÅ+jˆ‚%à2p€A‡@ Å묘˅$Œb˜â¬„‚iö¨”ƈC æ…5;NCPS„ÂwF-ÿéR²°Áe¯¤×îëîÊö wEÒ§‚LŸ››>7SŸðD ª¼ 8€80÷YcGöôâ±D­RŸÐ?Ñuú§KOWQÙ}Ìaà`ïî[wgDz^Üßë<ÂèîÝéÉöÀŒÊá2Ê€\À@îhªw¬'7ÒM“V`qÇï¾ydqÿô™ÇžÃ•ÍTŸî³¾ãHr(cv&V˜ô+d®íæñή¾ÜÄ÷Ί‰(n;ËAÈ`߃GFoÛk¶;?™»œÈÅ;†G{nÝÛ~êùÏÔ_¨¢±©µQÀî;FwNt»õ¦Õ¥Îݹøºœ KvgMš°€´jÛ{ü`çpKÙ¾H’Ù g4?~!u®ülE@HRô¦Æë¶X§AlVäSf¦»ÿpoWq}âËO  Nœ2º_’1Ï •z%ã´e?Kî»åÖ³W~Œr“À¨É~ë·ÇÉ0*2FÖÂr:îÄ|uü–CO\<)æ`‡uRB ·Þq4»¿+ÈJÞa¯{Qʉí*ìs»Ï;§Ä™°Y”á ¿º+;ÐÖÖÓ&øV”(¤ ¹yÿ£ÿød8½ŠŠlÖ‰¤á°÷ܼ×jsYÞ IÖŽööáTÏÞ®3O½°òô J›Õ4 AÏí»ŽŽ$ ©¥ÚŠðD.{ ?•kŸøál4ßäíÄÐð_ …WØV¼¹öpBu»¶ºD€&V,·¾JIÙ”ˆ¤Rä×iþÀ–³Y“’ë+ò²ë3fnûÀ[©X)¥Kî“Éd£Ñ°m[{Â]¿ñÖzºm¯×´8¥º¡”°,KˆptŸ*%”"J ýÞ0¬Wê÷–åµãá™_ô:wµýUSˆ‚"/{UJé1®ˆž+Í©§‘} ½ÕYà§,DÚÚ#×"†J©·ÁŸÍ0 [–#ºµöKã»»³s¨Ë3™•+F-Ïôå»Û²)ås#c‹À@,¤zã£7ï;S;o—‰œÊPžà£·]:suc}­)!I€4{²A› ÖEªnF D̲,küÀÁÕ™òÜÂ"JÍŞׄŸˆì—³02¼JcCÖ4ÌvëÐ]ŸdUfI«ÑhX)+^ˆ[æJ°²\]ò-Ï'uÜ!ç@b_y_/…¡|^w;⻺ívwµ²¾²W»©nÔ­¤J( ‹r)¿§3Û—/óòÂå¥H„Ùt*Whs‰eº(î*ªˆ aF¡²b)§3MûÜËÕ¢·±î0’Mçc)ËHO¤aÀM€ÚèÌŽú1Q±FÕ‹QÇóC'îŒìËMÿED¼.AYÆAÆì?<¶‘¨Ðušàv¥*¬¸Cã±ÁC…g¾w¾Q©ñ7€ˆÃH¢cOgl¸}5XªU*ŵå(Û˜vÛ‘Ž£]Ç–/²ÈÈe³aͮ̌ܲ;–E,\Y[®­6R±xÂI™ ûöܺtuÉ÷j‰¤Å¥_ñKí=Ù¡ýC!ëõÒÌåYpÕ×Qèδ϶_H0‰¦JرîöDgzƒÔ/ÎN …‘ß“íÞÕ;Ì|còÙÙhÓ)e'Þ a‹ãÀæ¾æå$êkT¼Åt›øYKçû»ÖiaË—Ñ0 ¢^kú*·,Ü[0*I¨j¾Ù|4ägŠ5lKݯ¥È¾ cL¾¼YnœÌæŸ#µíŸÖVØ3HB(!¯nÛör\PªùWqÛ?Ð눥½V»¸×zä{½ÃÉë]‡RZ¯×Ç ‚€1¦·2׳-ÄÏOí¿Ò>?‚£”Ü4Yú®ksÆãîúúªëÚ›“jœææG‰-bJjëg®„[ ”~vó«eÐô²WB´¦ööW½^A½üUBI©šã›¡”<Š¢WüÖk¿¯×S½ÖuÀ1íF£q_IB©AÀÙ‚Š(„2J!RADQd›†âú[”™Ì0 J(Â0ÔÝÊ# J)%•€0 ƒ0ª%µ³Oˣ䕀‰—–S©´ç……Rªî×_F¬ PT)%lËáRp JRBcR % ç\3ß÷Á˜ëºBãX¤5Þô˲,ËÒ÷°#*¹ÿõеcz·ÖW­•PïÜô·´â©–/ÑHœ¾¹ÁÅ5Äàº.6K'4©áí 4@ÿ "[ïÕ¦Ô‹„•PRJÅ«²Ò‘ÎÂk ÇLùFï¹µÂ|á Q¬®ž½\™ j…¶w²s1ÒåX1U— ËIdyWÄuâ1š }~òé§Q«Z™D||$Ñ–ŒDMÙ~ʶVE(¥a¸™´›N®U+—/,ù—ŒáÎÁþx*ïÆR4êkD9Á¬†ŒÓÏ”üÒJE¤:R«¥ÕÕ§'¦ÓVâΔ ¹ÃÝwä‡Ó?,(àè;Vbn¶ÍKþäþ_0Üû¿ÿ·bºv1œ¸oÿÆ‹?$k†ªp˜½w/‹?¿|±‡Nþ?©œY~ kfý»ö Þ;÷£E8@Hdìö›.®^èëJøª%$ÜýcéŽl¦Aü ¬#MˆKÂzHcL¶Ë(&þòÌêúÚþ7+NQ= j‰®DÌtk€E1[µÇK¡÷♉ÆÔš›OØ3žÌº TÛ$ʱ bĺÓñT²ÁjŽAËëÕ™ÿùÚÌ#W½¹Ì`×±_º÷Ñà™VȆã·ß–J¥6Š+½]ÙÿùÏÿ†8ÃíûÆ÷&ÚÜЭ…5®léõÀ`†‘gÒbËÁä™E\®Ù÷t%»ÝX"FÌW¸¬ENÄL7&Ò*íTyPZ[Ÿ™¸ØX­Õ{Ó©}cfµþH ‡îÙguœk,ëÓWëÏÌößw¨ÔK½m4FmË6C*¨Oî*Eåd,S\/=wâ$*¿y¬{ [öJ¬Ëand‡ŠY ‚%ƒ„“´ ÂFpùÌùµ++v&–fq—ÚÔ5òãƒ{ž Š"ò ™ÉGȈ¨ä5J¥©ç/#‰Ü»û'WלdêØýw?~þGZ­c'n˜/È­†Y/i]㥕V°”’ ¾õ(¥E,5®MNÞ²´ïûšŸ\¯×K¥R£Ñð<1ÆÃצÏG![`ƒ6±*›«ùKC•2ÿöÞ4Æ®$;û"âîï¾=÷…™Éä^¬b-]›zQ«Ýî–Ô#kdH0ì$ÿÇùa `,Ù€…üÇ66`ÍX–¬±d·¶nµºZµ¨«X w2YIf&sÏ—o_î‹ÄËWÙ$“]Ù"»e€xȼ¼y_ܸq#ÎùÎw¾C~¤†±†‡Њ€r¨ÞÞv4~ wú$ûÿd¯ó¸îëqµ'|_ò>lî3¸ðÑ'z¿Y×BAÐëõc•JÅqm4GQ†áÀÂÞ*>b6 ò,íúr)ÌO$@ýq蟟”Oë0+IÛñ,Ëêvƒ0 eÂašûnDêôR]Uç¡£±ÿ9î¿qª4–Ôš)Ðõà:ß8ìg=åB$>ªŒAE$ÁL¡¤ÂÞ®áxP²Ÿ)3øAì5¹¯=H=jGíc®ƒy…="σD­û‚÷‘¹1 ]×Õ‹ªÂq ì~þ2Ò~=b/ €Ìf­ W‡ãi³ Ós“=ÄQnoo÷Vbì f467¶âHifsRYÆ¥[×vo,@íäoÿò/¾þÕŸÏç}›S”€J¿D~t˜ŒŠw¯¾ýî{o3Á?øÓïä^žyö¹-ÊÀÀSࢇùSóqSyÆ¥¿~7Ûèàöõ…Ñ3lj·9q|®ð¥Éæw7`1¾þó¿„I¡0ôækßW×n¢“ }+‚#İ ¢v›6í’ CžÉxÚ¨·jË Ô€,®¾sùô«g¦Ç§ ‡õînËÌ ù…b¬äz¥TªØFØín»ëžcÔD.3Ê– Š)F;çxfjÉJ§ÙâlÛ2eš×,Ü|ÿrûÃE(€áê¥*•îÌÈésOŸ{ãµÅ¾BG†úcþÝp;¦êÊë×PGuo]½9vîx7nþÌ÷¿s ̇`pFý†Ã(Ø\^ Ö8BÜsVÆ‹ãëíš5š‡ ä€&`bdv´žv¶ƒÚöÚ®¬c×Þ¸âÿÂd4¬,Â"3”ŠšŒX†ãgr~¡¸´²|{q] Š[¯-´Î×Î?¾©ÚÜ #t£–É,?盎Ýéõn]¿U½]Á6â$获‹Å¢ã8¶™Y¼wWe ^ðlÎÍfxí,¯Ü»²‚¨àâw_;wág¦²Ó“ÏL¿á½wp¤Åü$ìÌÍ3Øú¹ÇŠ>é4QÏó<ϳ,k|||vv6I’8Ž)¥ŽeÿžÄ~×½ÿ©úŒÓû(ž4Ðð`Öî£J©<äƒüT ‡µ — ñ¤€OÊÖ9>Y Á³l]d+mû:Ž£«QDQA’$ûK>‚2PÔ9;J) õ  ‡:~oðicñ0NÓÔv]J 0chh¨× å>Ï~:‘À bˆ®àÛÿÜ;Mgµès>Ú#¥UŠ*)!”öü•<`§†½¿'{ðÁG47€(I@ô?*¥Úa(©A“„B ‰=HKWB‘#Tw¬ÿW â¾6HŽ;²~ŽÚßhBìÇ×ö—qÝ_Fv?Ð0¨ÛªÖ7Õ|1×uÍ}à Ö†0âýþ> 'ª”TRêp±” JH!¹J™„”J æ0Q"…‚‚1¦Ý¿}}?îð`5Ö£vÔ~2 a0—î[úî›lLa¸4ÈôøÐëk*k6›Ðh4tÒÄç ìôãX‘Ž$ @‚õÅ;¥çJ3åqÌD;|W…j¨<:4=®ò,RŠÔ7 9×1c¥Z¡MÍòøðp>ÈÝvxæ±é¹¡Âd@y†Á,æi¢lbf˜“·2¶I}é)Ùa›333#“ã…‘rHy),땽¬í4¹™P;㜙9 ‰]¶lærÏÌŸÍ®HÒ­Õ{¨ïåPFØÙÜjç[ÇŸë¼²½p} SÏž<9uüΕÕݸ‚*”ÃÒÂbö‚›xtöÜ™mw3ª7FÊC“'fâUÖ7w/­ÀÚÃÅ7Þ{éç_éÔÛOŸ¸°eoöd0621ul²8ší bI•2Š”R¤$ïFŠ£ö‰LZUI3-L'Ÿ™´ËfÚŠ cžåP)—„ÚDX¥ìˆmx0ëΖMè‰é™É±‰^%l÷ºàlìçéécöj¾`ž{êé\i¨UmV®W¥.ÛÍ´R©ä'óÕ;ñòüÚòzŒôø¹SCCåÖRuu厔m ƒÚÚnù¸a{cs“­ìšTÒËyŲŸvY¸[E²'o)±½¾íMNúE>2~ïxwL¸0áY+²Tt(”$ˆ’8í7Ÿšb†s¥Ñ†Ñžœ>6kVš$*‘$6<鲨Œ›&µ˜wþô…;ìÎzfÕr¼éé™ñÑ Ji;îf„ŒÒ$nÇ$IÒl6ëõºN15MÓwÝÃzN¸?¢¤õS6ˆÒ°xè÷~R'ÛŸÇ5þOhø´i4 {Ë{¢÷k€èµÈ¶mÃ0´¢‡Ž¶é#¦iêú—Ø«™úc{½0Æ£Ÿ,£aÈñA¿wÿñÃ:ÒŸÔûR«Õ¢(Ò@C½^ïõzJÂ0¬Á2¸ß=_Hîݰ”jÏÒ} ×Ø.ŒÞ7†F—ö§T<8 ð£iZ:BI©„TJ0!¥TRò””% %U` Z”s®h¿x*ç\gÅ˃ÛÐpÔ#Ð00o¥‹tõ¢ýóPÿï@»AŸóF•çyœóV«EQ.—Ó‚ÍG#€)aTr3RœœéûûÖ?:ý-»a#³ž(Ö«½|iljb6¡ÁæÆ†XjöZQd27ãx7ɰŽ!»4zá)³Zq]oîøq€nß¼ÕØÝ͸¾Œe'Š»ŒÊ‰‘É鉡©in<ïšÅ¢3R¶ü|P¯wWÛíZ‹(t™!ºáéÓ§G‡Êí4˜Î•ÎæfzÒ/ µ×›wn|ˆ¤ÐF‚÷ߺø…ÿà‹ÍzkdvÔRœÉln¤·Û=–9vé¯ÞG"!¼þÝ7¿qò—„o™Cp3öÝU2{ö)3㺉}ëÎu4÷FÄ37®.›/½T,ø¹ñ“Agó¹‘Ñri¬ ºÔØ\«ˆDø¾ß‹"BH8™óöÄÄ„xQt:;ã!!nœ5R³Sïì6v;žP$[.f†ŠsSe¿(º‰Ó¡BvflÂwü¬2j+wÚ­žYvUÝFX*¹ÓÓÓ­V‹3nÍgO=E‘ óìñÓ¿ÿßþ¯ 6•\‚`áÆÍÓ/ür¤B–°¿ö¢€,æ cCŽ2w{»›•ÍÝÖ7¡ ’/ŒIÊr¦S(ŽŸ=áMÆÆœb‰#ª%áVODòÛO­år9˲8ç–eÙ¶m𦖇lµ;øøšò€"Ëï÷.îÛÖ´,¤$y²Uö0û±¼†€©G@ÃÐði¨TZüŒEQ¯×à8޶}uåË(ŠÒ4dF<úQ²å Ã`¦e|"@Ý—M°Á×€ï}lçG ?©÷%çf à Œi-aÓb”n6+?J&Z“X)©?RvTSNãsß®ÕPä”aíeMïC%ý‚¤äR )ˆ’\IÁ“˜JJJ!—’ !dšJÚ—^NÓT+†èˆ±¦š¦©]»ýE.ŽÚQû‰÷#¾×ušy|_Óóp0ë4éf0KZŒ=ñ]¥ÔÈÈclccckkëh_׎³ IDATäP (83Á)2ùBÔÛï¨ÚíM+vs“CÙ©‰VAXÌ£¡±±¸xí­wq3BZ#Ðó¹ ¯>?41äº'cfåo.®}ø½›üfw—ˆ»çvèÙÄ™™¡‰)£˜7©IÝÜØ½óÁ­ÊûËØDŸ¯°ysýéWž?óÜÙ³cgí¼àåT‹oß]¯-Çà€@`çƒ{ͯ‘ÎÍø® ÒaV´“Ä›½ÊŇ!í#^E{¹]ö'bS Mjt(;UÜZÜŽ—Zw¯Þ„è5š)^¿ò¥o})"ôü¹§»ªnÛLÆÉöÒο»Õ»Ô@à€‹Ö|Ûx…Mœš-çÇ=J-:Í;­Ë?è\¯ €N ¨æÖ1FùW^9ýÔéÙÂôTf¸àyDðæZcùÃíÛo\Ak{NÅÊ1ðŸÇŽ{fúéíÝmdzS+ílµêõ:nÙŒ×juAйÜÚø™µÂT~nx®Ùn0Æ ÉVïÝ\»qé:îp aüùÙ3/Ÿ/¶rÙldœLÅw–.^S·»è€êskÏ}á…ቑ™òÌxiJ E¯¿»xñ·p9A(€˜Â?úÿÉh~È™Ì*¡Ò°2®¸·ºŠmÀcè  Æê{;ïîÚcFœ´óc¾/GDì¬oëj‹©Âp­X%è!¸±²|jxöù ·då2Å@¸®›KãdûîZåÒ "€Ã0Á97y}q{ܰ‡ËÅÉÙÉMkûäÉ“ ›«k·Þ|wÐ×bT€Ú·:3§çF¦Ç†3CŒ*ÛdQ·»³XyíÏ S„€Ñ‡EÏÝJ¾OMËy´fˆ±±¶vùòåæÕ]l)ù9zêågsg'EÎ?-ãx®) ûª-Ú}ǾôA€Â§ hHÒˆ‹”Âä<ã0 (š~&« UW•úè¾ú»c:E !8£PJ ±_fYQJ˜bjïÑë[%Š)=zÚ÷)Œ†½ƒ÷­TjŸó/ 5!‘JA¤_«b€))„HyJžDDpE¡CÄû +IÓ4ÙkGŒ†£ö¸€=£tµ¦A}±=Êh8èúNÇ÷ý(Š(¥¦inooW«ÕsçÎ--- >U°™œšE'âš)píŒ>=1Ô–…ɬGý¨Æïm¯®\¾÷#TaHp °2l/V)³`ôlf¨8¬nW¶n¬ÉÅ;ÑÕ{Ûˆh{ÙZ îÏ”­¼ÝíD½F§rkm÷ýeÜ" aPD×¢«Y–ŸŸ’]!“Dúéå~°rã.v ¤€~à!ÞúÎß~ýŸ~=D«#Ú’J“ø¾1ö×ñ4d†e9"\ýÁåŸ+›ã”gG²=ÆaïÊß}€E  )‘üÎëׯóùê°(?7‚B²»So®öjÖ{·ÛØ"ŠŠ ÒhMÝ‹{a~ÞWÙDr–mŽì^Þí¼^Aï£Ø;º@EÞaz¡=2>”ó|Ñ«Û[[+;¾}»ZÛ @¬àj÷]û‹l”•®Õ\¯gs™­ÕõKï½HÁ{ißèxã/ߘæÄɧNZŽéÚ4×Z;×w±¤kCH …m¹™s‹‚SQ0–vëµÖncõÒ¢z¯‹füA.Ú—›w‚á|gdjÂÍûA’4Û͵ÛkXOÐÙÃ#ô§ÄŸýOÿúéŸ}þùÓóŽ´µw[\úpóû[HnZB1ȼÿƒw¿òk_ ’¶td=S¡äÅ×ß1{ð€^¨@Mð=Ü|ãÝùg¾UmU1lBš0òâpá‡W±„@ *úLÛ¯_oïv2åÌX™[æ­KwËÕt#ÄÐÝ«`Fë|³û¥ y*eõ²N.ën®®]ûáUµœ¢ò£•îÖùÖåLèJyÏsºAg{{{yy©y{[@Ä` ˆB$d½Ôàå252•°éJÈåÛkoßë"@Á¶ÝX†GëÌcµÏ?â„î¯Ia”²û¤9ÍF&„8Ž£Íz½‡©©ˆþãîj¯JF4Ä@Ue h ’*HE­`@Óõ*ªN Ÿ3 A{hºš 6²utNk7hà@[ÏJ©4h·P‹A~R@Ã@¤ç¡€Â}ÇÁh8Ègø¤€¦¤RÊqû²Ô2¤„aP…t.°ïg©ˆ’}‘…ÁºOÝà£mR!>‚cô˜è'~_Õ‰Ár1à–ï—_~Pxð3RZÈ!N­°˜¢%lØ\‘4J€wóßµ29=®TÚñôpqhhhñÒ¥ŒBvêç Ýh.Áª°k´ÅñªÌn¥«Áu ‰‘7Í$I @,ToÅÕåQr`Ç'ÄÕMÔ¡§$üŒÁ•ŒB `h~åÝ×WpÒ·šl´Ñ(PßcgX$°‚•ÕÅ•ï,bù¡BtÓ G þ…H¸ûÚ2®,Ãùs³éöÞ‹‘°˜Ð¸Ux¼í¾u~€5ôÅ ]ëøå຃ã™Pý¯ B¤ûSš÷óNõ^Å9× Ìä ¦eçó¹¥¥å|>ßéttÎÞC \E`ØN"¸’‚B„àJ*F)âŒëð$q«×éæ2~egkzæX½>ãëTÀ¾Öh ù1úùð˧iªS"}ßïv»:l«Ã@ª>þñƒfÔAŽÊAãöIµƒúØõÇ%îxØëضÍ97 CSý}ßwl£Ùj[–õÐ’>ƒ©v«týóO¡jý!_²ïóþyx_½_ýré·@JDZiš¹\®Ûíê zJh®¯RJ'P<â}\_ƒªš ‘ñòâ£Lõcõb/Ò¬'ê~]7ß÷WWWËår³Ù’R.,,\¸pawwc:|ÚA*…aÐ0ìY–µ¾±f@µ"†‚€›¶%¥ Ã@ðT†¥ÿŠR¢(¥ŽmbEQØçø1>Ø¢e RHùCH!Ò=†Èã<ò)¥ºÄÄ~¹þÁW\$:ªG %\ )}߯×v³žJã8–\drnÐëZŒZ&ãœëdCƘŽ6AÉd„qëYÚn·uБõójAŒµZ­ýZ¦ijâçÇ·4Tª‰-–e%IÂ9Ïçó½^o » ×ym€Ù¶}ÐzÛëõô&EQ¡P`Œi•\Çq4/UJ™$‰ã8Z¯A_³Óé‹ÅÆX»Ý¶m{°â ¤m”RßùÎw!ÛÛÛçÏŸßÚÚêõzžçýÚ¯ýÚÚÚÚ#¶6-ãºn·ÛÕ-ËÚ“b_æÚgU¥Ž/M"N!nõ@àfJ  ÔT¼O·%ÍpÉ*;qß=³4÷e9@TÚ€•Ò —= )’ HÅ@×’ìû®)”²Ø &D]ÀR ÖÅݾ‹+!nÁ\–íu¸R-æòaÔÅbѬRÝ0 |ƒ\Œ–°Slø¶ËIDybFÁÓ6@×ÁG#l´ð,3DSËÐÙ ý€ aµÓ8L¢Œ¨ö .B±vò‰! ¹(Ór»QÐÆ {Ùu$†©l Œ ÈT$ ²+Hlüpl¯Î‚ðXØp‰JâN pû o}OX‚Ô0a0ƒT”î"ZÞé#¢G$=’@.KB!b@U¬ 8@_õ>€­hfAUЫ¥ºˆF«µg é+‡,g–”KDHiDbP „;” ºaiâX”ÄhGðtÔ—ø,[i¶á™èÆÈ ÙjŒLu£(ál¼8il1 ­ äà’P:"ÍÅh@¼³‰œˆ#‚£k)µƒr@¡d€Üî&dï^°6 ƒÙ2U‰L•ꊰ€ ´6špè§ý_ ˆ8ñ L z  €ô¯W Àz0Lrhîm:\'Éa¯£rƒ\N½ËŸ¶n÷"Æê­Å™™DZ¨å2Æ¢(b¦óP¼·ÞîébDË ÏõmWúܳÌõÕµ(Š Ê|ßoÔíV³Ã8šUFGÊ­vo Â4Ø•2b,Ëzèq÷ñNmï>Ø<Ï;øøTÏA¶‡ÃžXGÚ=¤Hêîî®ö“µ•)„êQõÉc:Yà>5þÏëüw]wØY38ç63îÓJ˜ã€0 c€Mü^\ŸÿÉÁ7÷É4h@)eÛöÒÒÒ¹sçæççJ¥(Q±ßùyBÀèa÷G 1€ôEé ƒ%Iš´Ó4ã8JHbI×´÷jì)Ç!!L?>=çõK¡ë}Ô3ª 8è;°¿ßǹýûD‚÷¿éŠH¢  ¢P„¨í­r¹Ô¬Õ!¹m¹\®Ñ¨9Ž#Ó$Žã ºÝ.¥´ÝnëEƲ,]ÈIÇŸ†vù>mëêQ{tB4 )¥2™L»ÝÖ Ò¡Þ)}¾VÐÊ2:Šp_ñM¶Ò¸ÀA^½Æ,4OAosaj†—†e$I¢Lý]úF´>Þ߃¤Ôlý¥Z„µV«]¼xQ/D¦i¶Z­  ?ýÖ»×÷w×¶íÛ·o·Ûíb±¨¡;–ëQÓ „(žŠ$%JšŒÚÌøÿûß}ö™§ ÓNâJjØ–ûùõ›ݾýg™$Iš¦šb`†¦à´ÁäHdÈ!9€Ðu­>~{Ò‘Òƒ‘0 tþaïK[o¿=÷Üs™LÆ÷}Ë2öJÎïºnšr@2ƒ˜Š圊@îÉ]J%‰ìk+¤û†þ()EØÃûóäÑnÞà=Ò¿î—"|J( €HH%•P‚%”RQ/°LÓÊf›ÍfƵ£€-,,Œ ‰~Ê|R,;Nš¦ù|^?Jíѹ®Ûh4!aèÿî»ïþáþáÒÒÒoüÆoLMMݺuKS,ÚŸÁñ\.—¦©Þ^º9þtÊ´?Y{hsîZL2B*©iJÂ@8ò{ÁymÓRô8b€jFL’PÀ8LP)éy® 9OTG\‡”iž(ï@… ÔžaªX…¢ 0÷4üø^„<tŠ^ ÜS€ ,BÄÃù‘vgW GT¢ÐU0c\ä… IGVYq»+dôW•*F¹‚à)˜€ŒÃNÀ;ˆB „Œ±8ýîYpò„Y†R4ØŒ!¥àˆTdÃd†ä‰zaÈ. öò5$ºIlB00.¡‘zþ™.d Ô€è@*)ƒ‘ ®hFzª}$ ]Å{Q‹sŒjˆ…Ûc„éM`prˆšà `X*cØ<)âF/tï™RÀÜcj„€Òp’Tœ$H™êo§{n¶ØP¸b&Uà £$‚Ý7Îã^ä—óÍX¤­(›Ë‚‚æ5”BšÏåëQ °#M£4¯¨)i·%‰¥gÉZ¹vR”å¸àíþlaÀ”‰åœH¥@¡(ˆ‚P±’j¬Œ=©¡û+GšêÝ2 €¿wN²÷W¼ Ø… A*ôb d ´€&„I,a$1ÀùQêÄ“jÁƒüÜOР€÷¯Ýù—ÿÇ¿ê„ÉÈÔ±¯Í7,³Ë3ÓPB>()íF‘i[”R)¸Œã4»­vÐnþÏÿòÿíþ_–†’8ì6›^@ ÓÉx½88š Ú™››ËçóŒ1Çq´]¢¶=?“É<ôøAç$wPJÂaݘ'mC¬@Ap¨óë˜Öa[ZZÒQzÓ4´WüèAÎår:ŸVÁ´S­íËÏåüwgæ¼®4a0#ètö—xÔã ×ëi$NJ940q¨ïB(zäü§4ìG÷⺮”ò{ßûÞïÿþï¿óÎ;««˜õQ…ÈþŸÿD@yÂ@ƒJ s<¿QÝqý<Ë8ëw×7Ö§e#MaXàƒè^ùèó çHéÃm‘óܺþ@*{~Q JBöA;—[M¯˜OÚ­ÿáwÿ» Ýð[¿õ[;›”(]cUc aê<‚l6+¥ìõz…Ba áw´Ù}†šÎ Ð ”–Hˆ‰ìßõîÓù±û©&xDŠœæ¸iÈC“h4|–$I>ŸoµZ¿÷{¿§·?}¦žo¶m‡ahÛ¶Vvгô [ž››[^^~ã7ô¥Êår£Ñ8ÈNp]7MÓ8Ž5—@>ŸÃð¾[¬ÞŸéÉ (RBX") ¥çR…È x€ÄÜ7§~ág)Ër ïÝ|çí¿Û^­ñ<ЙЅ À2È÷J£Å—_}% âNµ½}o{mq­»B¤ATum#Š¸Ò¬õ"ÆÎŒÎž=^+ÅQºqo}ñêm~OÈ´‰‚¢0ÊŒ÷0oùë_™˜ž¨ïÔ6ï,/]¹m…¬u/–Œ •‚š€0  áR;ˆ B`ÛNϰ°x#CUJ„ÀYÄ^ÒŒRÇõd'²9Q\a!9@Ä¡^Ý1”§lû˜7:71Zií´×/î`àPÊbq*´ÇîNYÇNOÌŒxE×4œ›—ïµ¶šµåMÞA“s"¹¢ƒ?iweläÍSçO=óÜyÛ4®\~ÿò[ jIÄÞçhgÞƒ3ì}åÕ—Ï?óT»×~ÿò{ 7“®2ã¥ÔR¤}ZIJ3¹‰¹É—¾øòÎVeùÃ¥¥ëwE7…núVÞp*•Z sæÌïýÞïÍÏÏÏÍÍmll<RüÄÏ“²®%dZ­5(¥­NïÿùÓÿwxh´Ñí”KÃ3ó':ž„²]/IÓr‚ ʸ>U®÷3„’9`X÷dnßç"ö%4N!„B’= (¡”(ç ×®]}êÜ™ÅÛ ÇgmooÛ–yöìÙBÖg´Ÿ´_©TÆÆÆF>Ÿ§”²`îÞ½{úôi]¢\.mvŸ¡¦LÓÌf³•Je{{{~~ž1V­V÷+î'C=ô:ù|^³ cqëe|}}ýرcA Ö1ÍM°,ë ¦¡F ¶··ÇÇǃ Ðæ£fx …ëׯÏÎΆÎïМšL&£I”ÒF£Q*•tvišZFD‡4lÛÞÚÚ2 ãµ×^ãœÏÍÍéú>÷îÝ[YYyhZ­ÖØØ˜Nõ ‚ V«Õëõ÷Þ{oyyYîkûW¼ÏnS󌨂Ȕ#¯ /ÿGÿ帲rçæíkéq~þ+ÿþ?¼xåí÷‚·¥È©a?Sœ}þüØÌ˜Ìç=B‡ÔÌ\ûÔìÂÊ·¯¬ÞÚE¡âpЧrs/ž?sÜ*{œ)[âô¦†^˜»öæÅæ[»¡Œ"x,p_ý•¯Ï=ÑŽ»»JñDñ…¯üòÍ^îm¶þæÿ|KEH-‘ôÈ\<ýÏ^bꛑâXÊde»æd‡Oþ§¯,þ‹·¨RQƒ ApüßzŠ— 2>4ÜZ¯yù0I/üÜù›oÜNR¦¡¸’(bô¥ùéç¦ Ón~2ˆ ‹üXcò؇•»ïÞÛ¹¹…].À)Ø“§ÇϽzjâ©q•ãmÕLRùôüÓ•åÚ‡ÈÚµm4 ötº4~þ—^üÊÏÿœ™1ï­/mT+³_œéæõ?ûáÂ;·PÝ ËK`†½ðâóÏ<÷ ¨Ú‰ªÊ–_ûõo~Ãø…?û‹?_øÃ(å³»Í*ò€ÀË¿üŠ?æÆòU¾“™÷¾|á‹_ùÇ_\¹¹òÎëow¯öB„AlÏ|ù™“¯>íŒ;WÓÐ~iêÔ³cÅg]{óbú^ SH«ˆ$ÄèWKßøæ7ý\f·^[I×F/ ÿúWýÆÕ—ß½T½ZëžpÀmÐ ûWþÙ?¡qyÐ Ú Âñóãß8=¶ékÿâ/¨­¢Và›,Q@/~ëeê3ÓÏu»A©Tör™°ÿæÓKÿ۵؄"èÖa¦æ3Ÿ+—HÜ©+ž”Ë#UŠã_¹°´øC^ k I±” Ð<ÿk_,?;•XIÁwkU„ýÂ?ý…kWo^yó"Vö[\€ág~õ+N!c眎¦V<ôôè¿ýÌ7Hˆ?þ_þ¸µÌûõMÀà<å˯>õôSÍf}¹¹êL¿üŸüJÐíüÍw¾»ô×R„j`güS¯>?~jŠúl“×s§ó_>ÿ‹æ¿‡wî¾ù¯¿oUx{kõˆÑðØ÷/ìÓ€D¶>m©˜8VÚÞ­gŠå;wîÊ#¥R©02655U~ì¢k IDAT©Tr>`ù¾d$ ¢^·M¤0  çè}<¼í“ Ñé†a¬¬®ÿÉŸüJ¬Ýf½/?}2 9aÔv½4M]ÏO’Ä·³­!¦N(BÈC«Ääz•ÓhH¹ „@A )%QBI®8·-ãõ×¾÷ý¿ú«ÿì¿øÏß}÷b«ÙüoþùÝkÙðJÓôÊ•+/¼ðBÇÍfS)•$ÉÆÆçüÒ¥Kz§”®®El>c¨×ÐR‹ßþö·ó7³Ñh‹ÅÁ´¨Ã[¹\Öé`zíÒo‡”²P(t»]­æèº}¥íGô§V«iª£V^С)e¹\&„è…B§¡ JZjðB³½lÛÖ9Çq:ŽÎ§(‹:·¢Óéìîîjƒ–LÓ4“É8ŽsP@Âó¼R©¤a_ýÚV*Ó455?OU]%‘©ˆ™!-ˆ4ç†æ‡üãyZ ›ÕÍÛ7.%ÕîøØôäÓsô¤oÏ3:Wr”cÅ©ÅY×+ DÕÍ òV»±×R»W,•Òs(“ÄÊ–“8VJ Ϫ±jo'¼wï^c}Ý.•Ãé©ÑÑQsÒ˜=¥C/ÝV»èú–e0ߪ¤Û÷V×êÕêXyltîôFoƒ¹˜87ygc!´ˆß _{i­¶:œ-ˆPÞ¹¾È©œº0!Ú¨W¦¿t~íæuð('Ý |ö—/Äf,³j»Ö¸qi¬v½Ôñ ãNÑž¤§Žã<ô¸”‡:ÿQÙ'òȇƒre—ÈåA©(5ÍR1MÓ4çHÓÔ4MJ ªôtƒÜ?EE©eÕjõååå;Kwww«Œ±á‘‘¡réK¯¼L”<Ì =ìç¡×1âíË {_F‚±Û¨---ß¹s§RÝ5˜5:::2\þâË/RHHª ”"ZŒ™º¼fæ*¥tñ‚þïJ (ÉÀ$UT@R®ULIýÑÏ'Ž8t:­B!·r÷îÜÜÜ7666ŽMÏtZ-ÚOHÕ/šÔ>1!Dí‹ï+Òûú)\ÚŸÈüåØJHB¥m»”RÉ•aÔucŽi ƒ(B)¡©TJr(™° L dA÷ €B<”ÑðqÊß—4¾?–;XÁŒÊB E %R ( ×ÝÞÞÀ9¯ÕŽmmîl§aä8–a¹\®×ëi.z§Ó ‚À÷}Bˆã8iš:ŽÁç€=þ­¹®«”êõz†a”Ëåõõuí¢k YûóMÉy ¨V«išZ–Õív5EQ†­V«V« ÊRv»]í®¸Çq¬a ß÷u¶Å 0ç¼ÓéhP^ã#RÊv»­“)4€E‘N—ØÜܬ×ëÙlvff&›Íþÿì½g°lWu-<×ÚyïÎáä|nN’P@æ3 ƒ ˆàâ‹`„C–Ÿí'lÙ€MÉÈÈØ Ø!l>0(G¤+éæxrìÓ}:îÞyï¾ëÞæZ–ø×ûT§ŽÎí´×Z½ÖœcŽ1f«ÕÚØØ/¥ªª0 ’$‰âºîs Û¶mpa>Ÿw$š¨ýR®ö„D)EU 2€U²Š}EÉ”ºQ·ÚªÆ .¬Áœ³JËˤÚ," Ó‰ˆÈM«ª&óØ÷£Vóô#si‰9`€‘Ä=/öxU6”´jbX¹v½½¶‹­7S׆Ë1"›ÝM†\Åraædõ”n)¡í·8Uy¥ººòk½¸˜ÏLž·eîø:,P¦wo©öWª›•c+0ØòÉáìt~ T²r«ü˜ªi@bpÑ%>䔆ôÊÚ:ÜïBKlqjoŽv©þ>(›°é(iå±þÜp9ÖÝF«ÑžéÀ&Ôi=“ÉHf‘[Œ¨Ì!á„ë<­§Òé 'Ô›‘q_1M«y­l(Ø’Z‘G#äS¯±Y±çê° Í±z>kú a't/Äe•¬$A×kln®­ÍT` üþHK/GŠ¢‘ÌK.á÷üŽZ†¸ P€¡]csÝu)mÎÎÌÁQº^_ [“‰={\ßß{Ñy•ïÏ`tÛ÷켿~(#)‹ÇGsj^e²82zÑ—žPR@x>ôM•ÚI{¥ÕY_›…§6ׯLlÍMS8q’0ò\D Δr9'i%„¯Ô–ã¹l€=Òª¤dCWš0w©Û¥•ú$Uñ½ŽÛê¸'Ö`¼ÁÖºµŒTÎÄ!ýr…µêÝ(úpyPWU{­:{ä4lB¢$µÆzªXÍO–w×®ÂÌY/É_]??”¡'^;kBÏcø¿úőУ?£u\ï°eCS#é˜ÔÅŠÔ ˆœëÅÒ%¨Îÿè»Þö§ÿó}øÝw|èÝïúŸï}ïGÞõ»Ÿzÿ»?ð–׿ûMW,}böG[¥v;áZÁ—Òf¶\”ÓšífÑX±@I›HÑ¢ˆc,ág»!ªª†áû¾iš®ë*Šb†h1-º² sæ8Ž…¼°V«¥ÓéT*†aEÍfÓ4Í(ŠÄyì8Ž(“ІUQe³Y!}WU5 CQƒ2u#C`ÜдR¡¨Êrµ²‘ËdÊÅÒÚÊJ„ˆsKÙtÚw=élC˜3)Šç\H1EP,;Ž8ƒBÜ4MÁœ4MSt·Ò4MˆÕE¹Ìó<Ã0Z­–Ðdʲ,:T‰>Rb65M£4qÝn.›"$Žãв „x‡Q躚$Qx©”išëv=Ïñ}ײŒ$‰âŠ"å²™v»)Ë€qNeGQ (RúQ`ŒkµZYZZJYºã8"”±mÛ45Û¶Ûí¶ejív[7NÇ2µF£a™šçybÝ‹/˲ej‚¢iš0ù³L-IÓÔ¢(Òu­Óé`ŒÅ‹{ž'^$Š"ËÔ4MÁW*CWªÕª¡+«««†®xž'B@áà¥išxºH`†¡+ªªH’亮,ËA¢A’$a&IbèJEžçiª´¾¾®©R¯~.jéÏz=×ü »8I’‚0!„X–I)•–,!™&ÌÒõ8¢v7ÐuëêfÛÿçï|ïÄâºÇ•‰]d†'#-µR·¿pë—jµºiè¶íH’¢ë¦ëú”ò³æ<Ïü/މ$)ž˜†ICH2 ]ü1¢0Œ+•ªiè”ò$¡Š¢Ù¶mgV i˜Š¢Õ®øßjµ†!cÌ4Ìf³©(Š,c×í"ÄUU¶,}ee)eéŒÆHÊ2kµ”eKJY:‰CUcNS×HÛ¶cY¦$›?úöwï~ì©cJº¿4²#Ä©ÂøŽ§O.ÝüÅXZ[W £ëšijºa»ã`˜¦¢êÀq’Ð8"œ#Y†n>1G½€RŠŸã’%$!ŽàLá“0¨2FÀ0°gþä? ´Ø+uö¬%Äç³Äl±r!QPNº®­˜šnq§¬´Ý²á$¦4"4NXò8BI„IŒI¬2¦RÅ”`B€à â †˜Ó ‰]J|¡"E&&„†„Ä”&œSasÇ¡ï»C‡ c/ŽCIB„ÄŒX|÷ ‰ÅÌŠ ­×kCúaèc õzM’PD~išøQƆa%qœ$‰¦¨$N<»y®‚¡k*Æ,Žc ’ÄA¨¢+ª¡qÀ1w|Ç =$#Çw#I…¾‡+Ž?‰B A…†¦&Q(c$!è´šŒ$™”EâDÆ#,ã$JƇ±c;À ÝlKHJ¢ÄnÛ0§\B˜Ä‰çtCßó]Ïn·)¥Â›“(ª'°Tm´­t+ºÄ¢XG)µm;ŸÏ‹Nº® Çq„d>Ÿït:b“P²Pýˆ\QQÑ@TzÊ A”è‘tÎØ£Ê2¥T8Ý Æ“`ãB²Ù¬XNb·Ñ4M‘Äá.˲ÈrS©”ØxUUçÔ¿‡rΜþBÈ#Êï½s6qЉý_ÓÂó—5P]ŠÅ"ƸZ­ær9Çq<ϳm;a¯`Û¶ã8’$u:Af ¤â8Ž¢H”sœ„ÜRӘʢ½@â&“Óq+ôjnMsZhAH- 7ZP@B`ϯÆõªšDY Y Î,Œ2²ÚŸÎ"7h..C@èB0ïâÍnI‘-3i6òÎK˜tZ©tI3VOœ‚€@{nÓ]oek$U)Aà ‚¢¡êÒjRÀ-H X­@Ȧä›P玤ò´ŠSä Šê-RkƒÀ*ÀêŽlZHMJ N5 2OÊeË4I³ëÏm@@jÂÊã+ZŒLUÓMÉ\SPÞÔút%Ïy–c¥éå7ûuX›i·Ûí¡ÁA3 Äu ¤ ì™’lêа!P 6¿ª«ZmccrrP a.a#ª·[c¸ qð<¦jéˆ$P€3í=3ŸJ¥šÍæà@ylllumcrb4NX&“‰bZ,\ד$ɲ,]“—–×&ÆGŽŸ8½eË!aÒjµÄ0F1Íå2a›†š¾±±16:43»022‚1öü¨X,Æ #„‡-´ýç¾\ ~$„(’ÌOޱ¬h¨nvxðáT¶ä†¬jó«®ÄI’³´¬•þÑž(˪ªsΓ„ ká5p¶Xý㟖e‰·ëøŒ1M3×Ö6J¥R¥R™œ€B>Ó±]¨ª<80¸º¶Z(`£º180˜N§DS“SÍVS–åF³!õƒ °, cPµëtwíܵ´¼444¤*êñǧ§§ ýzÝÔ4…Æ –% Œ"!¬i¡P«7þå{ÿFɺ5»¼26>ƒòä)#£éø±Ç÷ç‹e$)Qœˆ/{Â@ÀX–$‰R „ÄÁšŠ%$E’Îx+žÛÑç'´£C  I  ˜Ïú“#@ ýl¼†sÛLüÇëÇHgœSÎ9 Æ™x<N–¦(ŠŒ£ ’($„Ê’~†ÊGÀ’„1 Š¦"„dIA8‡$I¡”ƒ¢™”pBb1’²,«ª¬ëj‡”Ò$‰Î0&œ$Q†¦‰BŠ",…„%gB)E(Ìår‹û¢ã\.Ç1pG±ï…¢«¢(ª¦‹TGB¸P(H’Ä8"A`¨šišAósÚ”Š!é–POϱ£rÎEseBH·Û%„”ËeUU;ŽmÛ½,½P(œíÿçâ³f¢½~½N¨¢‹È«Ô(í)P¡XEŒ&®ëZ–EÎ|op„9p?vWzF)‘Š XA,E‘ †…xSBˆPB‰D½g -ò7ñQ{ZzDˆWÝUz  œÔ4Mñ^í4ßívE-]’$ñ˜sÿ˜ÊÁ9犢ˆT¶W à…ÀD’$œ,ÑôÑ÷ýçÂXÿ«%uÿÕ—@ Dþ,ò1A"?ÅZ¥” qAo¾zd1A=j€(GF¡\ ” ,^¨&…|RQ”N§DZišCCCbðEéÂu]ÁMÏæ‘âcDQ$BI±´ÄÂè1ÎÝ9çûöí»ãŽ;.»ì²T*õñü¶Ûn»ôÒKGFFî¾ûîjµšÍf…žB°9–––~B·¦sAöÞja¿¤­Ë5Õp;Q @%Hxeaudjòüé ˜Ôª+`ÃP_açÞóýŒ2{jAv™š€©hÖ4É4̬1žH½vXy×ö½ƒcƒnÒmØ­ Õ)SEÁfδ %%1’`¡Šë¹|zd|K±4ÑÀ놘ñ”$«Üj¯·Íáá±Ò¸ÂÔÃË 0 {/ØU°JÀÒì28Àˆa}n­Ö/¸à¢Èè<ý½§Á΋Ï3·jk›a˃(·“6ÂpâØ±ôË-YWé‘YÇ›|d¨”Ïge ×*ëÎê* €@îz “;¦:ZuÃËäú‡Êù\6LnÇ(JTEAHΘz:o¥TÕ#aÓ4€m[&‹¥¾¢šñ K!Á"RÚ-õíÛaM·fZÀD_ùÂ]:r¸X*•R% ö¥Êq7i6›/¹ôeÅÕì:È06:±k˾$IN<½r p Ѐµµúöl3Ë©„§ï] FabhK6Õ¿ùRé„£6Ñ8ÎRCÅAªPhž†ôí)ögsýJìzA('aâÄÐÅ…S;ÇG·ë-âœ:{02ªMŸ¿;‰$'Nº4ˆ — Q`”2‡ -ö ç·v®ž”paÛch¬kóO/žaº@7Xs³››ÈG)âÅpCOY¥RŸ,Ëå\aöè) ”„PY]O ²^P‡ZQ•008žÍõa=³¹\ÁçGÌýÆy¥Ñ²üió;¶åŒdJ:ÅQÌhÌGGÌÏg&G¦+3îqAíG“Ã[󩾨xL8‘cBY×sL5ÕzÉ/8ýÔá…¥az`ëøøîjâÍžšëS$#¤y%W0 k,aa¼²Ö4”vŽYÈ4ÔôÉGŽ Ïš þêú?ªfÁ¿@zt3²Ó³®ØdÎ7( IDATgž_t¤çZGJ¦ 3ŒrÊÄ?Uƈ'¨®K¦f†`RÖRqP²c»¿vÑÔ7þõçOìÚ1òÃ)S‰&8S ÌAÆ)<[в,Û¶Åïy!¤ÝnßvÛmög&|…H»ç‡$DS¡ÁÁÁ0 EÅ ›Í6|>ŸN§Ã0t]×4MY–mÛVUuqqq||¼P(Áç™ÅÅÅk®¹æÈ‘#Q½èE/ºôÒKÿà>Þlvt]ÏeSQL»Ýî=÷Ü÷7ó7ßüæ7·l™Ž¢!tzf~ëÖét:=;·X.—Óéôðð°à°¨ªêu»`e2ËËË»wmO¥sCCCÍfstt4‚;v\}õÕW^yemÛ$›Í¤MUUç–¯¸âŠ8Žxàt:]*溎OùÏH¬{qg¯ŽÍ1ŠãH1%AšÅëªF0??ßét¬lnæä¬™ÉF$‹:mJ¹ªë'Nß±cÇöíÛÏ¢êO SöìÀ@ÿÂÂâ7¾ñ'Ÿ|ÒuÝûîýáäÄhBøñãÇ·nݚ˦Ž=ñÀ|ç;ßæœoÙ2õ¾÷½oßÞ}³s³]§«ëºmÛ_þò—ïºë.BÈË_þòßþíßÞµk—hŒâºî'>ñ Û¶E¹á†öíÝ'’×u¿øÅ/¾úÕ¯Þ¶m[¹\.‹Š¬T7Ö,E‘%½w¿†ª…a4??ŸM¥¼(iuÜÍÍÍ·½õ·cÎÿáK_î4½[FN=¸sçÎ]»v‰>jº¦EQ¤+gÔÎ"Œ®+Š¢pþcš@Ïç'·;—ZÖƒŸåÁ€³ŸhxÖÄã6½UAéA$"U„ !±ïû„†ˆ3,&Ëš¡~„±*sŽ G”!Æpœ$’$I’ŒPJÙÏè¹ï+[QìyщŒ··»öºŸô†T$EÅbQ ³b¸,Ëj6›Å\Qä?‚$rà8ŽpÇ ƘùÇXl;É™O+õbçO8©ÀÄY iZ&“WØ%ØI¢z/¦R×u±·÷jòb–EÖ-aσÓqœL&-*ØŠ¢ˆî€pÖÍ®·¢zk£·®Ä˜œ›n‰Ç‹ë\v½@*E‚*ž†¡0nè%„bèÄ]ˆn½~(âDó%îWܸ ˜¦)ØF½ÜßaŒëõºxJïÄ=Šœ¹ô¶&qT‰Áé¡bÞEßñjëwñKÀ‰ºK¹®[©T†††ÄwGœûØKëßwñ‹`—ôPEQ2™L¹\¶,K`GÕ'Ã0&&&666¤Ýn m¥TÓ4Ó4ÿ±ç›+öùðì%”="Ì3PNñwÇqvìØqÇw\ýõO=õÔ›Þô¦ùùù§Ÿ~úá‡Oë*“Éd³ÙV«Õn·Ÿ ˆZ‰ÿ¨Nú%ä!¨†Ò©9¾Œ™”É Ç'Žœ¸l²¶¶9=µcwqg}¡J‚Ki«’ÏÆö"ð ir'@V®T–§§/™˜Ø¬V4„2}#ˆÈa¥«úZ_¦/މãú +Zº`–JÄ(¥AµÓ™t©O"é´×hÄ%(g躮»J’Ô’$"[KÛ†^2X™Z“0ÉŒdµL·íÌ?µ>è8õÄ©ém;CbƒxÛ‹§™–в‘‘ ãð“OCLM§Ah˜ðÔž¸ðE—ËH7'§-í®Ö§&·[¹œãÐÚÌ ,ú`D2¬=yüü_{¥äü]-Õç;™™ôØ@v¬hê&©¶7V–5Œ1ëÆaÒBYË([“/ØÒDÖµ\¶$ƒÚªy€86 U3$`Š’e4P–/Nö]6™Ò5]Vj›Á¶éKªÕ* e·ÛŒr¹ SŒÛ·´;©©ó‡†Â(‰U͈BÙ÷ãÐGÀ ?S¨Æ-pàð“G­íÃRAõ å‰×ç5ÌóºFºQMì–ŸáæpªÇq«Õª×:Ð5sƒ}C»Ï—Ç»®«i*:Hu= ]M#rF Y¢ª«#;³¯fI¬ºdé“Sãs«ÎfU"D pf23Û‘°>œc íÐXÉéæà6óÕçÐ#@),BóÐúÈÀùÈäæ´QKY4æÓSÛe YŠyßý÷CX4£LàÄÁS{Ò¹\fl¸dê8Dé⠞ʄ>:öä1è„ 3 NühöòçïÛ64œãf0eyÞòŽ©]h(ÝŠÜ Ó:±JtͰU×€UkþÐÄØô–¢àn®>=51<8"QdêÇ­Cä« fœ2ÆÒ©òØðx§RÛ~Qfl‡6Šžè8¦ÃRˆÂ[Œ¸q¢’š)ŒíJ·ñáâ@ßÔö]A'.$ÖÃ÷Ƙÿ“õÙ¿ºžó’$ Î âˆ9—Eû#Òÿk@ùNøg J9’⠌˩€Îá,4»¸°ðà½n4Ûª¬”3úžálV#§žüA©TzìðCy½œ±’S•Ùò`Ækw&1"HÌã„qÄ8c˜3…?GÔÞ+× „S”Rú裊ˆSç‚?/|•Ÿ¿¿¿¿Z­RJ'''ƒ h4ÃÃÃkkkÂN!$:Bg2aÔ,ôÝn·X, …f³Y©T^óš×,--µZ-˲ÄÉ}ñÅ÷³¼¼Œ1.•JFÃmÛ¶mÔjŠ¢Ôj5p†‘Ïç{¤Œ¾¾¾v»½}Ûö™Ù™ H~ªy±»Þ=÷ÜsõÕWŽŽÆqìy^:eêÑÑÑLÚ¬×ë¢Ê$IÒze£Óéär™á¡á¥å%Q?BSÑkMSµÊFEÄ£ýýýbd²™¬ë¹Žãˆòø±ãǶlÙâ8N§Óé+÷Ù];I’µõµï|ç;W]uU>Ÿ·m'Žã={öÀØØ¥tn~I@²,Ž Æ Û¬·’$ìïv]ÓPO?aF[’¤ááa c,“IK8}øÈñßøßxñ‹_|ôèQEQ{ì±Ïþóú§7~ä#ñ<¯Òíf³ÙR)Ï=÷”J%ÇqÊ¥÷\&y¦iJÌÌÌÿÃ?üC.—ûô§?}ã7>øÐ£Û·oWåüóöD1}èáÇþâ/þâšk®¹é¦›LÓ\ZZ¸ñÆ?þñïÞ½Ž=zíµ×¾÷½ïýÁ~ ªêÃ?üGôGøÀöíÛçyÞ§>õ©Ë/¿ü ox×¾ô¥;î¸#•Jmݲn¿ýöþþþíÛ·÷õõu»Ý$IJ¥R¡Pla‰bI"Iš"Ë펽°0gZÙŽŽO yŒa(‹òÙt»îyŽ300pøðáóÏ??ôü^ú-#,J¾b;¢”Ê’$˸W¿íÉ[z=,~РЀÅ&ó@ÃOÇhø÷Fƒÿî¢ç\äì•P¡¸&Œ1Ê!`ă$fœ²$æ@1¢K 1„ÈœAL9æ b ÂœÄ “0—%Î9c@Œ Š¢@’¨«‹$JÔÏ}ßïëëC ”ÈÕ…Åý¹«W Ž(® <1—Ë@«Õ)t/™ï¥èâË’ÉBlµRá{çA:“£üL§^Ò+<óDfŽ*•Jªª ©yžçår9Ár{llLX!4ÍÍMÏó„ä!›ÍÂ8‡ä$¦[TþÅâU}± ¯¬D"sYŸ,!Áêq ÎͦÄß{B˜Þ Wñ÷sÇM+ˬˆT³§ƒX0}èaâÃ÷NÀÞë‹Õ«iZ·Û5 CÜðÿëuŠ-‹Yð}_H)©÷ =¸¤7=ȦÇn•IÔðÅÎó\fœÿ·¼{~žœ‰y„¯V«>}úé§Ÿ¦”¦ÓiMÓÒé4çܶíl6[(žÙ“•1ñýˆÀ@Ó´………G}ôž{îI’DHZ²Ù¬®ë™L& ÃýèG”R¡³À—ËeÇq^ùÊWîß¿yyÙ²,ñ‚â-~ë·~«Ýn i›ÀúÅà÷Î…gp»!µZmttTœÇŽ;ï¼ó>øÁŠÛQÙ¶-蟙Lfyyù¹ºY%I"„¨çN÷Ok`ôßF:€Ë!])IJ`Æ]?¹dM™,a Ï öOé’‘6Ó'Nšùá~8 è@ –.Ýó‹³}yßu3…áœj™Èj/nt¶y¸¶ÐcäÁØÛ?}ÑÞüX±Â* «ª €W–šsOz‡æ¡  ðý¢‹ŸWâ%“¦‹¬¬"9KrÐàñFìžp!¬c1 °||u²»Ý–<…Ç;/ÞN$ÖèvýM$¹Zx¸ $`·@Û‹­ŒQÔ-õç9gé¡<‹°]ÛhÌ®‚w¶µ$‘`“Ú³UkÄÌõ ŒíÈ"…Ùœ™{êDx86€à!¿GßyɾҖ¡Ò€Q÷;a@2R_s¹~êÐlçÐ*ÔðE l7λü²Ñ­ãÖP&1b óä™ã+¿ùDgÛ+R .zÃ+Êý}‘McS»ßüüÁ…;Q!N;ÝjPÌ LM¿´º Y¦¥gÁ§õù…ãû³ùü³¯Ùí‹’é‹2F_V³$ ÃÃÃA×=y|qù©£pº] €²°yéxî¢K²éb¢(~âË\WÁ:ùôòƒ‡Â+ Ì» €Я]ríÛ3ÅŒ®gôt$^°Ýâ¶ 5¤â ‚õ'G§ÇÌq«˜ÃGLÖ•œÎºls¹ÒÙߘ›‡N–ö ”4ËL[9KÁÂÈ„0ý' %9 à/BíÐꈶ½Ì µhZôå²¹z´¾X›}êÌøÐ=«¸å`½t‚Fy¸oº'-NçsiæÑÊæêHN¸dª¦³nÍ9uðxçGóǪ ø`L§v\¼or×–rÿ¶m •ûŠ:hq­µl˜åYlÌ…ü'ò÷sëX"<èU5z8Ê!¤?N‡8"€)h ’¬cYCãHâ@+ëk††_ô‹2…bÊ´ è°ç5O-œ:56óó©ñç}ò¾Ü²>»Üˆeš`ʉ J“Ž€ÆÎØI>ãêv»"œ“aâPQawÔójfŒíÙ³çðáâ Ôét*•J­VÛºu«mÛš¦ ‘9LLL0ÆNž<¹{÷nQªœœ”e¹Z­ JÿÐÐÐÈÈÈÒҒȱWVVdY¾óÎ;c³³³…BÁó¼¾¾>aé´gïÞÍúfE¹\®Ûíær9ìêº.t¶m›¦97?—N§]×ýi‹4›ÍcÇŽ]{íµsssãR1×î8 ™L¦X,®¬V††† ]©T*Cƒ}Nk×®à‘G¹øâ‹ƒ h·ÛÓÓÓ­VK4Ù—`mH’d™V½Q7 ãä©“ÓÓÓ†at»ÝɉÉÇq …B¹T>yêäèèèÚÚÚî]»»N÷î»ïþÜç>—Ï¥—V‹Åâææ¦®ëNg`` “Éô• ›õ–JæççwîØJ(4›mß÷³ÙÔzµE‘xL!Ÿ9yjV×uá’Ë¥GGG?úÑ~ðƒl6›¶m¿êU¯üÍ+^©¨Æ‡>ô!Q™äœw»Þƒ>øÍo~S’$× u]wÜ`iiiûöíª‚£XŸ_X*÷÷g³)Çñ×+µ0 ËåòÔÔT³eçóù¡ÑÑf³9>6Ü×W>|øÈÛÞúæ—¼ä%o~ó›o¾ù–÷¼ç]‚°Ê9ÿË¿üËÏ|æ3ƒƒƒ×^{í?p]»ãhš&B¡Iþ€†Þ.ÐK/%@s„ÎøufŒAVkbj[½V¿ñÓ ËPmB6­äL¸ñoxÃo½úÛßþ¶x‘ ìãYß´Ýn{ž722rýõ׋P©T^òk/€Õµ ÁQïv»/yÉK^ñŠW”Š9»ëLOOÞwß}O<ñÄÀÀ@†kkkoyË[®ºêªn·Ûl6wíÚuÙe—-,,LNN–J%Û¶Ÿÿüç3Æ®ºêª·¿ýí7ÜpCµV}ì±Çî½÷ÞøÃÙlÖÐV«%bbM‘8>·­£”AÐiµS©\Eïüoç4[«¯ýÍ+Êú§>yÃk¯ø;ï¼SۅˉH„D™½ç¯DZ,c!è±Ð{æÿï|õ*çBB?FùéVï8·t.Ð'1¥çf  *I’cwE6 EÕT 1Bb/pYé4a4‰9!œ3Iº,éKªd1Æ„Û"ÈA’Ð^šü v}¹\ÞÂF ‚>Ý[±âÁ¢Ož°5)—ËÐh4‚ 0 Ch¼'U¿K’$DR¢Z.n_`dšrVCHbÀ0F Ô2´éÉqI’ÖV–âÐ7u‘8ðϱUUݽsû¶mÛ„ÂŽâyÃ+++ a&$Q¤k&I„Ö)Š"+Џ!]QcpvQ¥ cßî=Žï8ŽS­V9瀀Â(ï™Ûõ€†Þ/=¤ 7¡=ùC/Û*}J©8ì{8£ÈÒ£^PêÊ 0Á濈¾*‚d!HçB ªª Ú‰Îš½o„(Å#„¶mÛ¦ëºëºaеÓéx¨ÇÅè©HΕQäÜ7ÊçóBôA=y®Rö÷œ³ÇèÍšçyõz½gº$”‰‚Ù±k×®ÕÕÕg‹bèÄÓ-f¹T*ŒŒE§€oTU­vr¹œ jš611100 V¥4•Jår¹N§#ˆlâ]!žçµZ­µµµf³) *1/büŸ¡›L„\.W­Vßð†7t:b±¸ººº{÷îãÇ;Žãºn¿$IZ__ÿ ÒÎv»-pÞ;þ²ò$rHdÅÐ%ÅC lBäÎ=pøùéK@å©B*Éû¶¿q¬V_ƒÓk € 8Kn§¿}œÍç,CW"Ö^¬ožÞd+€p[ò 4ÃŽÑ’‰™ë+úÇñÚv{®ÎûPhœT`2i[N:è ö÷‡¡½Þ>}l&²Ch$–3ñ$P£šÿ]÷½à­/PÓʆ»F0¤­bÜ–ô­a€!‰ '‹OÌoKë0®ó¢Þ• ¶ãÅc§œùÄgMû\ f9:ºo$Œ<’ãã;ÆÚv«½ÒèÌtâ…ªþY6H¾¶Ó¶¡”>+§”¸ŠÂ¹0™É u÷,œƒŽõb#Ãr©œYÎ `‰·Ú~;\~l6  8 X~l9{a!_ÌJÅ òÛëí¶ß´g;Ð`Šãù4EÐõÇçºNa²ob` çœtˆSiwç¼*±u–JÂùÐIÙRbdŠ©\º7b¯ætf;°À:@@@|msVДlåó©ì@’$q3Þ<Þ Otaö콟Éj¢ÿï“¥Éþm£}åì(ó½Í£ ³•ÚBbbH” EQàg'?µ+¿WQ‚ÃÔPi£Þ,DÖÑÇ@y@p*°*díè)33¡äb=«)mØtýðÌQ@Ž0NÝ{²J6ŸÚ2>=7»$J<Á<ƒ €À€l•Õ•†§úú5S ]·º¾ÒZíÒÓî™ñ?+ÏeÌkiv êf)“S‰ÝÕneiÕ;TƒE€à,ÐÐM¢$¸ºÇ%¯õé¾¶xè$Y÷6—<ð!äƒ<_]?¿ëÜ‚Dø Áhø1$,[\Ò È1Å1猟‰E ¹Te}åÐÓí¶ï¹±½9–5^)Ø*goþÍËŸ\ÿmÿƒ¯Áes «jJ'%S`1ã K€aÆgˆqàÏ–{ÇqÜK/E-%›Í }„(žˆóÛ²,ÑWìŸþ韾öµ¯%I211ñú׿þu¯{,Ëív›sþÐC=ù䓳³³”ÒW¿úÕW^yåððð ÃøáxÇwDQôÖ·¾õÍo~³çy¯{Ýëúûû_óš×LLLT*•»îºkttô¼óÎû—ù—ññqEQî½÷Þ{î¹gaaò?Þù;¯xÅ+tÓ¬Õj7ß|óàà`­V;qâ„®ë—_~ùå—_^.—]×µmûºë®ûÚ×¾Öíveù§KSšÍf.—+•J{vèo>ÿ·ÿøÿèûþêêêUW]õû¿ÿûI’d2™Û·üïÿâ߸½V«…¡ÿÙÏ~öÅ/zñêêê¶­Û4]ûÜç>÷ÏÿüÏ´,kjjêoÿöo?~×]wýó׿®™æ›Þô¦|àNÇ÷ýɉÉÏ|ö3_ýêWOž<ùÒ—¾tÏž=Ÿüä'SVjlllye¹V« &ÅÒòÚ+_ùÊ~ô£üÇL)íïïÛÛÞvýûovnqË–IpÓ_~öë_ÿúáƧ¦>ýéO_}Õoa2<0@X²º¶aÆ×nÿ§Ûn»íÈ‘#çŸþW\qå•Wö÷÷¿å-oi·ÛÃCý]ÇO2·¼,I’i¨këÕ‘á…ÅÛ¶E^­išejôÇú¥/}©T*QJo¸á†7^u•„zµZ«5ŠÅb&m:n ˲¦)Ífstd°²ºÚßßß±]×uŸwÁ> ìcûüç?ÿ{ï}W¿i¨ ‹+²,ïÝ»WTíNžšÍd2"mšØŸ—t‚!Â9%,!,áXšðXæ”)Š’Ëå’0ñ}°RIŽ¡˜CÇqòù¼`}‹\å'3,(¥årÙ25ÇAŒ±B¡Ðív—–×TU- ¢ûÝwß-ÂM×íªªª(Òk_ûÚo|ã¯yÍk4M»å–[Þóž÷4t:=80xâä‰}ûö}÷»ß}Û[ß¶¼²,îEÓ4ÑÕLxpnll<ÿùÏ¿ø¢‹WVW$I* †nØ]{ss3c¥Î¤¬‚އâ~§¦&≠ˆr-Ÿ3,8ÕÃMaéêû>'T–eF©Ø@BXdG¦ qÎzÅ^gÿ„Dè\|á\æóÏ‹Ñð\Ò‰^1ü™Œ†$!„pÆ8§”&„@€ëºÆ8q}‡91Âc$„UK.AI‚xÂc’D‰D˜Œu C³3x¶$t1ã1O’™X0BV išp û«H¨‚ Ðu=•J 2¯ß¤ø×l6ÛétdYâm±Ùær9‘’ MÍYƒUJ’$òÏóM©šðÁœ{nW’UA,ï|/åÙl6+xûB‹¡ëºH«¶lÙrÑEéºþÐC‰šðÖ­[ÇÇÇWWW…±§ÓIŒ„³3¼!‘ΉtÈqd ÄJ $©TªÙi ÿ]I’§aJø™eùžD‚RŠÎZ{öäçv®ßSa×'ª¾=…ˆp½‡ø ‹@°!Ä’@Lhèá êqv\×/+H%bØÅJ„¨–7›ÍÕÕUUUwìØ!"­VK×õÞWC¼ˆ¢žvF¼TÏR —X?¢†‡t:ý8\ÿ­µËC eÂAS°`„‡q>Ÿ:Íç=ïy×\sͳ þç.ÆPÌ©çy¾ï 2QÇaŠVS=©K:.—Ëbü{î×b'<íê‘c{æA=厘¦çDMå²Ë.»ôÒKƒ 8zôèÖ­[_õªWyž·¸¸X¯×;Ž 6¤R)Ó4mÛ~®ùwgMF~‰£v™R©!ÀSd9‰ ;ùdÁšÎ§ŒRíÄ4(p€dI R—ƒ ðT{íÐýk d^4…9î¬5áT€€cˆÁÐÌ !!ü˜½6s`-{úd(ç Ù›A Î$ù `ªrÄ8%°LfWŽÎ¢£}ûF¶l™Z__[~b2 " à2TŒˆ8°7-0‡w)ç)9" =ˆAá&_•À'¸‡ºäy”@rz#t DmœìÀ@ À -:M(©¬v;õài ¾/C3†*cHˆ誊 œ(:'gOŸü×Ó0ÒH¶h6¿¿>`g3R DPùÎÊw@ r»&tMªžœ‡M€ðìÃ<t&×­?4sï}3êDazË–F»Q?²p6‹IÒ15 àXÖ]ÏnÿÛ©¶+eºüÂf/U`•@‚C L&ãnBBìÇV>µ CXŸÈõªƒ üñø‘%LhìppâÄ'¬'¬ó¦³åâFe“Ÿ^† Ëœ%>ˆ>òíCÕ T'ÒÅ<ö‚ú\*°©¬6 IDAT€( š<x-öjG6¦}'‰ì9ºÆ6½¦ ûHb0ã @÷È*ÝÛÇ ê3G47Þ8² @ 78P‰…°s*:î§µ¾sýÐCÇ Ð=;øŒ9FÀ!xteñ‰•Åü£òÄ€aèN£ !x@ Úó1 ำ¸þäâ¿<;‡GFº†wt€ä¬=Hfƒ¹åƒs÷„ d^´]a¤ùø<¢À7AæR Âø,Øó«ë§N.àß·[>7Ô|µsþ‹ÂhAŽU9"Èv_u˜¬*i¬S"Ú7” ùÛ§Ít*›¶äÄ6(öf¿üW׿îŠWÕ[›Ã…á±Äºû‡ÿ¶ó²ÿgîôbR ²rÂeX¢À)0ÎgüÙz°‰ìEÀqq¤õP™^ Õjµ~øáïÿû_øÂÊåò·¾õ­;î¸cccãw÷w}ß?tèÐ=÷ܳuëÖøÃµZíñÇ?~üøK_úÒ‘‘‘?ù“?™žžþêW¿*˜ÞŸüä'o¹å–ûï¿ÿ¼óÎÛ¿?¥t}}²ºº*((™L榛nzாúêÏ~ö³‹‹‹vãÿ}Á‹^dÛöƒ>xõÕW¿þõ¯¿úê«§§§¿ð…/|÷»ßýà?(DÅ¢#ƒ¦i”þt`ÿW¾ò•ñññ½{v6šUÓî¼óÎ믿þå/¹ªªoyË[>õ©O}ýë_ítœ?¸áîºë®[oý»\.·¾¾zíµ×6›ÍèÃÍV“ÆñÍ7ßüÙÏ~vppP–å¿ÿû¿¿è¢‹öìÙó¿þ×ÿúüç?oÛöG>ò‘›nºéËÿøå(Žþê3õ¹Ï}îÖ[o½ð ï½÷Þ¿þ뿾ýöÛßøÆ7æsùJ¥ò­o}ëo|ãÔÔäìì\µZ½é¦›þîïþî‚ .Ø¿ÿõ×_Þy猌Âo¾ùæ;î¸ãÖ[oݲeËÊÊÊïüÎï¼üå/÷}d|<Š)BèØ±cûØÇn½õÖóÎ;ïÀ÷ß¿ïûŠŒñD`I_ùÊW®»îºz£=2<à¸ïû÷Þ{ï;ÞñJ©ahßûþ¿þõ¯ß~ûí}}}‹‹‹ï~÷»û766&'FUÃÅUÑÐÛÐ»ë ¬­WËŽã`Œ‡‡…ÙÙY˲^ñŠW\wÝu® ýË¾ð…·¿ýíÂ÷ëu¯{Ýí·ß~Ýu׉‚¤ÐB?ôÿÑðcã?ŒDÎHVuJ)‰CY–Ëår£Ñ( 7þÙg8`E5Ê»]—ÇîôÈÈÒÒÒž={D"àxnqì@éÄÉJéÔÔÆxss3Š¢‰ñ‘F³#r‰z½¾ÿþO|â†a¤SF½ÑôÜßßÿå/ù’K. Ãð‘G¹óÎ;o»í¶8‰Eþ)ÒÎy&“IÂ(Šp’$ŠªRJ9pEQÊåòÜÜ\§ÓùÓ?ùcÓJ¿ÿŠcõæ›oÞ¨¬ŒŒŒ,//‹û%I‚1F’$QBB ɽš9¥4 ‰¤œiPx®R]lhÏ%Ñêmǽäð¹?³GùN½·{†WÂv‰9;kÉ¥ B€ÉŠ q„$Y–d¤i²n¨²FZQ•AŒ%IÕ+,ŽAaL0'„g iša™’„ÃÈÃqª+ªXÛ" Bž!-ʲœN§%IÚØØV…bµëºnY–0ÿ ÃÐó<×uÇÆÆÄ³²ÙìÊÊŠ¢(¦fŠ<ŠRZ(¶oߎ°äû>\,ëÍV’$ÅR_©T¶Ž1¥N§Óé „r¹\¡PŸMd¹«««ï2šdÒÖÐ`¿ QÄq,a $–0lTÖ<Ï;tðiÑEhdxÐ4MÏíJ¶LOvÚ]ŒeQmv]·Ýnûž#ÔmÅBNXý C¾¥¥N'ôƒÐcŒe2™t:](ìvs}}ÑD4zVjæ?¦œëÑ €YG Q(+I’„q>ŸÏd2‚—$jÔaŠIBÑ+§GQ$öFÑ-Â4MÑ,©çMDZªª¹\Nèbztñ‘fffB•J%›Íö`acÑ Mζ>‰¨$p7a<ÔCH5C”ßE1_ˆYž«ñÄ÷ÌSȲºÝ³ ð$I¦i"„O'I’J¥ò¬@ƒ,ËÓ3ÕÃ{ÑcKH…“sÞívEC‡Þ¥(Š®ë½ïˆ‰Ï @s{rÛ2öÒ MÓvïÞý¾°Ùl>ñÄ333¾ïŸþù/{ÙËæææTUÝÜÜ}+’•J¥ž Èî¡„½m¶§Qú嬄›! n¤˜I1Éé¸í2-Þ&xõ¶g´AÖUUQÂ0ñ@"$©NÐ"1` ˆÝï.E’‰0ˆJ 8d tJJ"NbPb¶¡Qp¦>,1,sƒœpFˆ2:’ëz›‡Ö6¯É[³ q’`8bœK„qûÙ¾Å'x\Š!’J€‡I’Äa@Ãi*ޤã P¤‚ é€d´ ²©S ŠŽ:ćíÐ)p *ãp ŒÁ:deÓ‘]ŸE¨¬aÓÐ` €€Â%2ƒ‡!H@WTÖãC ÇÀðAö@0@–%QBÄÔ‰)0 ´îÈ\&ÖžË ‘ @&¨ˆG/b4¡ Yß8¶.F)+åƒCÁÑ0¨ g˜ œ:qÔ|èþà40€¸@ÍL=ŽRxίPƒŸá¢”ÂY¹„ØÅÑs®»V/âý…ðh8÷X✆ƒ˜Ú]x›!IçjZŠcAà­WVx*¢D• lW2̦õcï|ã–Npƒþ‡O.d.½‚f‹üèé ‚4†4Î ã1ãœ3 a.s@üÙœF…ø0 CMÓ,ËÝ.3™Œ@î{@Ji¥RyôÑG¯¹æšr¹¼ººúž÷¼gjjê¶ÛnûÿØ{ó(Iê2mô=2"rß*³*kß—ÞWèn›]d‘T®ˆŒ#::Î;.ãœãÇÌŽz•Ź(Š3ÞPAš¥»éîê®êÚ³2«*³rŒÌØ#îouÚbã÷wf>õLüѧ«»*+Ö_¼ïó>Ë…^‹Å~þóŸïÞ½ûšk®áy~eeåŠ+®H&“ÓÓÓÝÝÝ\pÁu×]·´´¤ëú%—\rï½÷ž8qÂçóa…777‡¡ XÛ±,;;;{ðàÁ¿ú«¿z÷»ß}èСp8|ã7~ûÛßJ&“‘HdË–-_|ñÂÂA7ß|ówÜóþþþ|…Á¦ùïëQŸ{zhyeÕçóªúÙÏ~vïÛv-¯¬ƒÁ/ùË;vì0 »\.8pàsŸûœßïïèèˆDB>øàßüÍßÜpà ñx⡇jmmmM¶.-/Ýzë­<ðÀç>÷¹·½ím£ý¥/}©§»ûßøÆÊÊÊk¯½ö¥/}©¿¿ßï÷oÛ¶í _øÂ‡?üáo¼qbrbp`ð±Ç»ï¾oR$tvvÖeù‹=¶wïÞjµºgÏž/|á ÿðÿð«_ýjiié™gž¹ãŽ;b±˜¦iííí/¿¼Ïq\AVVVdYN&[Þýîwßwß};wîÔ4í—_:44Ôՙʯ–|>_ à++’$}ýë_ß¿ÿc=æ÷û—WVEQ¼è¢‹}ôÑþ¾îb©z×]w}õ«_ݺu+j¶~øán¸! ­Ê4Mwww#{£1ÀÑ£GÛZ[°ŠF‚Ë庺ºxŽ>51µººÊ²lOw‡ª™?ùÉO^zé¥r¹ÜÚÚrýõ×_wÝuŸüä'qäëº.ÇRªªb5ÿ‡‘~£Ò×°LÒ˲Xlp\ÛfY6 =ý̯ÎÛµû>þD0' K‘–fÃ--ýýÉÓ§OïÞ½Ÿ‚z½Že%Љ~w[ɉ„aèÛ‹Å‚Áàé©Ù`0˜N§ûû{óùBkk+ƹW=œ(Š,Kã8+”J%Ó4gff‚èïë_H/ Ë&‰´´´ …/ùË·ÜrËw¿ûÝ;w^~ùåétú‘G¹ÿþûÆ 7Ü`YV{{ûM7ÝÔßßmŒeYšIX–Ű¼ãº®i1,ú_Ü÷Ê®ówžš8Y\h ³åº;}z2ŒÎÍÍíÚµ‹aSÓUUehÚq×¶I’¤²éígÙ¶e™–eQÔoÁº¸½•ûýÙ—£9‹~«øß_ñ¿ºîgïÌï~ùÛ ”ÄYiäW á°¿³«#–ˆˆVÓ•J¥TÕV\ Úb phW#̺£×M×r ’¦iša¸`0Іª7Yfªu7ÆãqŽãêõz>Ÿ/ F•$I†B¡T*Åq¦Òâtçùp8‹ÅP¦(ÊÌÌ MÓ±X çó±Xlii {Qì~}>_k{‡iš>@UU–J¥Ò /퀡¡¡p8\*• Û>uêÔøø¸¦i>Ÿ¯¯¯/™Lz<MÓPð…Tð`0822ÒÕÕE’äáÇ‘ž¶²²òôÓO{½Þp8Œ—ÛlÖ¯_o”Ç#:޳¸¸xêÔ©ååeÿnÞ¼µ²,£¼uý½½˜‘ìóùNOœ,•JJÍh¢Eç|Šwƒ3Ù“¸PH’‹ÅPÜü/äþ j …xè¶ë8N©TBª‚Ïç‹Çã8<7 £X,æóy$s…B!<ó˜VX¯×›öø8T*•\.‡yø«c±Ú4¨ªºººZ«Õð}ÑtŽ@·ctTAw€H$‚t’F£Q©Têõ:6Ø'£-N¹\Æúï‘üIOаJCÿ|¡£çR šâÍJ¥‚^¤çôhhʈšà›ð„0š¾Éd²§§+EAО‰¦i¼gðV9{ßÖ˜Pg¸'Í{µ ½ hèììL§ÓKKKÁ`ðõ×_gYöùçŸ?;0› A|>Ÿ(ŠÙlö­®¯(Š<Ï7¡^ÜyDÙþüªyÎu Ý0êpaôø4­¢(@Ð4À^×ÝUM€¶, p\\Çu\†¦xËvQ&ÏS´ãX– ƒZ`ݵf›ÇÛÒÜZÃ%~3Þ_ã´»,Ðå(¶í˜è®c/:Œ¦X —p$Zôp^P\$†©™&Mƒåø’ñ;Œš ¤ $å:A’mW5,` `mp]Ðmp(€f€°LÐit 8¯ÇpHIÒª"ø}Æ¢ `ÛP®ë‚Ká€Ék±¶ì*6+p’åÅÀÕ (, HÑë©k*¸¾5ë² À‚ë‚ÅP>VXU@{í¾r`,‹ŠÛ“Gp$¤0€ P] €5¥¸ª[ X,r;t €p€ÀÔ€fÀe]@ûïxË?œÑpæÕs¶_ËñM}.œÉ¿¤(ê?h Âqì¦7Uy½V-QtE®EZZTÓòy<šeAé–¥é¦\oyõ5ï”…&¬þŸ¯üÓÿuÕÕj}ñĉ‹€H´ŸŽ¦T>ìªj­ÑpAP ‚r ’h’×µ-ÇâÃÃP(„BD–e±¾Áàd*"q”¢¨B¡ÐÑÑ‘Éd¶mÛ†ÌÆl6›J¥²ÙìÐÐБ#GöíÛwçw¢ Y<¯T*óóó~¿ÿõ×_ŸššÚ¹s§(Šår-ë¼^o©TJ¥RËËËMöµ¢(è”H$²ÙìØØØôô4Çq‰D¢W©a‘êóùVVV.»ì²ÅÅE¼Ò¡PhyyYÅz½žÉd@±XÄRàœ×o]×±”$)›Í¢±ÙÎ[sùb½^çahh¨*×EQÌçó]]]ª¢p,EÄË/¿üÌÓ??y ï###Ùl6“Éøý~¯ßßÓÓS.—×á8Îq¹\¾è‹3‹E!Û§Ñh¤R©Ÿüä'Ï?ÿ¼¢(¦¦Å‰jµª«ª$J¢(:|ˆ¢¨uëÖé†Ís4¼ãòK—–óXÖlÛ¶mzzºP(t´·þò—¿üæ7¿ÇeYöJž‰Éé®®.†¡,]Ç,ÉìÚµ æJ]cFÕL ¶!|ó[=öØcÿò/ÿ³K¹@ ÀqÜÓÏürxxxll,¿ZáðáÃ{÷îÅF( âÅEGn𦋅\U®s‡vž>ŸªSYôw$I×už£]×mkk«×ë&Ëž8qb``   ¥B¡ ….¾øâýû÷§R©H$øLËm4øÿûTalp¶Ö„†±]íå‚tÁqÀ:|äØòÊÒùçíÈd—çç-ÇíëìïP”Üâââ/ùËÛn» ‰¸|¼U!Øh4¼^oµZÅÉ$v‚ H’¤iÚôô¬×ëÍçó–ey½^ÓÔu]¯TJ¡P‰ôhÚ‡âá‰É ¿ß4Šp8ŒAk>ŸïK_úò~Y–½óÎ;ßýîwûýþûî»ïÒK/ݽ{÷‘#G}ôÑ;î¸CECך¶m—ex˲МÅqœuëÖ½~ø¨ªªý}=’$½ÿ¦Õ5mxhtã¦uªRš››«×룣£‰DbffÆ¢i¯×Kœ‰¶g¯¹¿çºœýïHtGú1‚Jg#ziü¡£º7Å[Ú¿½ý&³Àvô† .P4¡i ÃÐŽÓUÝ»¡«ª¡Â>]Sx‘;ðÜþœ<ì2mFõñ‘å…rÇÆR­.q1ÊæŠW•úÊJº§÷‚HÔ;~ò8ÉP¥j!•jEMA6›%bxx8‹½ú꫺®ãƒÜh4>‰D’ɤ o¼ñ†iš—\r‰ªªè W.—/ºè"ä%=÷Üsïz×»ÊåòÓO?ÝÓÓcYÁF# uttÔ5ýèÑ£‚(¥R)ÁX,¦ªj<O&“µZíé§ŸaïEÅãñ“'O ‚°}ûvÇóÚk¯U*•@ °eË–ÁÁÁ§Ÿ~›™Z­¶oß¾p8ÜÙÙ©(J.—CÍT¥R ƒÅbñª«®bæøñã/¢$þéŸÿãÑÑQgjj2‰ìÚuž ð/¿üÞ0—^zé¶m[¾ÿýïû|AP8Ý•$ih oÏž=?}ê B_àyL^ (J–e/G9¶Ýh4ðÇ€Cd@`ßX«Õ ÃH§Óh² Âêêj±Xäy|:'B{{;Çq8Í¡^¯§Ói’$;::ð@QT,cfzzº^¯s×ßßošæôô´,ËÙlYW‰DÑÃD"Q­VQϲl{{»eYµZ •)HDgÔYx½ÞÇ7Í›7[–533£ªªßïoii¡iz~~^Ŧ-¢Çãiii‰Åb<á-Ô„ZPjñ']À)Š2<<<99©(J2™Ä4Îh4~¿ß²¬ýèGMÿ 8cÿ‹[SR„pU @œÈçóÑ4Ýh4®ÞøSHá©T*ȼ@®ÜÊÊÊÙ`BÕ¯¿þ:QårÅ HWÁ};ç&˲$IíííÓÓÓ¸ŸÆ ÀåÙnŽi“ŒÄ2…‡“ÀjšYKé3 0@ )pÖÑ p( h°\p  y I0U´Z°À%,KšK´p\€‚’ÛZköÀpup   àÎX3"?Ÿ^S €–aغ¥™ Ð@“d®Pl »„³|ª˜"ÛpŽô(f\h, dYÍаM; — E Àq€àyZSAäDÚ±kZDÀ À"ÁqÁ¡4šf]ñ=-°€sÁµ€qvm”mÀè&ØàŠ@hàZºkX87¡8@ÈhtªPpÊŽŒ'£a. $ Ž 6 8Y¯;f}í§l­$Y5 H0¨;àÐ €¸¦ÑHƵ5ËKÒ‡b\’Û„r€â€plp¬µóO@:&e˜Àà±Ò4Ø”eh¶å8.8.Å)¶­™``C`¸à@Ú@yÀrL0ÀthÛÑEš"DMYâI‚áiÊuL‡¢(pAµÁ”6A3.á€ÀŸèÍ™%‹²x‘5êåá€àÁªPœi[ÉZŽnÕÕ5\Ajà¸`R`Û`M¸€j5\„hŒY³\ P ƒ×=sY~sìì™›ÝËÖn`‹ÝÀ¡„µK I0h°H­AêÿþÿH'Ð<§òX4m­›î9kÉÙl@0´í¦m[ŽKÃÐGóžÖ¶ö¥ÌÜw¿÷˜í:Á€WY™WZY6&&gâë†.}i^U¹h]§]²æ. Ž® .Aº.é8@Pœ h@£)4C&'ÏóÑhTÓ4Líöù|˜pV©T–——)ŠB`¢­­-—Ë …ùùù 6à(UUÕååe|Áû|¾l6ûØcŒŒ|ÿûßG­,Ã0ï{ßû<(ŠèÈ‹Å\×]YY ƒ¡P¨»»{nn¿3ž>}ºT*Åãq,Â(ŠJ¥R‹‹‹ˆ »D$)‹hNÙÙÙéóùEá8ñ÷`@8À¯çÑG½öÚksù"vw²,#c6‘ˆÍÏ/2<òÔéÎÎÎ`0xjbjdxhjz&‘ˆ///{½ÞíÛ¶Wåª×ë­T*¡P(ŸÏ˲mm+¹$a"öÑÕÛ G²KY×u_xá…ФNž:ÙÕÕåá=ùÕ¼ëºÏ<óÌ»Þõ®D"Ñh4Êe&&§ãñ¸Çã)•J±X «sÃtAðx<–eU«Õ™™™­[6žžšmooY·njz.‰ô÷÷Û¶ð*·¶¶d2Ëš¦õõvɵÆWïýúW¿úÕýû÷—ËåRYnMÆë Ýu]$§ ¯›aèááá\.מJ.f–Eê·-‹¡‰•\A.——–óø¤ü’!XoU«ÕZ­ jŠ:;;ÛÒÒâó …båСCÎqìG>ò‘ñññP(ÒÒÒR.—eY¦(êÔ©S?}ê'Ž ºn–J¥Öd\©ÿGûã.EŽäèÈ@v)ßh4¶mÝø¡[oõìÄÄìÇž|ã€_â~úÓŸþä'?¹é¦›n¸á]×ß”ð&À®P(D"¤ã²,‹ÐÜÜæ¶Ú¶½yóæt:Ý×ׇkÇãyê©§Åðù|###étº»»»¥¥Eàû÷ïF£º®cÆ›¦i^¯×ïóÿýgþ~hhhË–-–e½ð _ýêWG†Gǹ÷Þ{ÑE•ã8Ç2×4g:¸ëF‡³Ë9]Õ¶nÙtóûßGÑìôôôÔôäþ×ö%[Z^~ùå'Ÿ|òý7¾ïÖ[o5týMcº&BŠ‹)IB“Ü4ùÿ÷Ö¾ÿ©¿çˆ¨Ûï÷ò"k9úÔÔ¤R¯´u´Fba2Pk°SË««šIÖÔ<'‰j­¢Ë”‡µ,ƒÂ$I«^/g—æiŽÔu½-µuüÄ©ÅÅE„GQÞo¦jµ*Ër¡P¨T*²,ó<ïõzI’”$ÉuÝ\.—N§yžo4¸–J’T«ÕÐH_E†at]/—Ëh7èóù—&_xáÓ²ÿò¯nÁÀK‚ ®ªV«SSS³ 쬬ôõõ|>¿°°€Z9LµdY6—Ë©ª:??¿¼¼ÌóüÕW_ÝÖÖ6>>Ž;éºn¥RÙ³g˲“““³³³º®#¢Š2;;KQTOOO<ÇxZ$µMOO{<¼Ÿqn\\-ÔUmffÊ+z:;;†i2˜Îž 7ßS4E úñÝ„=ŸÉd0bÕL >ŸÏ0 QÍè˜ËåÆêêjµZŸŸïííõù|²,#NÄ0L6›EeJ…BW `Ye,,Ë.//ûý~䤠Ïþ.ìrÑ ÝAàyC=P«¿æâºÔjµZ­†ÿ…òD«Ïž™ã$ãlèŸè&Šâ‚®ë˜¬4:::33ÓÓÓsìØ1dú M5>)M¯Š7 °ººŠÊÄš‘b&Ë2®Š’$51hd( œhÀ$ˆf´D2r IDATÓ•™z¸È›@téMUÃ0(²x+à}IáŒU úp£gó9¿?•J!j†r ´x+úØŸúfQP£[dŒã¬X5ƒ©@…è©ÝN†ñ.N-ÍŸr²UUAb5E'§n;”@Ä€“à/®»¸Z«g3«3ÓieÞ À10L4)phˆI]×70Ü»°°0;µ°8Q_Ë;àt0(ÈzËÎ-‰d<Ÿ_™Ÿ[>• ®6 ,GR…xŠ"$73¶I7$´8ï£LÃ$*Ñ͵R Xž ÑRtRsJ@Ô@Ó£i ,Y—}<§›ÐÖÉ„õ¡-û{G'^;úêˇ´%08ŠšŠµŽFƒd;Û7ÜÝÕ› ûÃO|ÿ [6Ë8 €KÓ`¸@K`k Rdßpo*•4ôúÄø±Õ7 ‹¥fœÑw˜€90Ð38:$+Õý_+gu@O,uÅj‹Ø4x¢Ð¹16¼gk¶Zž˜MOd` Ív9Ûï•j²,Ø.Ø@·¶íØ88Ò÷«_ý*·T,Ï4áꦦ9x@ãvm$Zæ¦ç枀LC®¸2åR6¸.¡à¡cSl÷î­DMyþ§/dÞ8£HL9_Á):¦¢$Á´U]3uÛtÎCs4 ³ צL¹TP¬V¨É8Œªè"!ÊZBÖ­Û:MÒŽ‡’"‚ håÖŸ¿^ IVÝ<ðí—  š‚¶ º kD <Òú-ëZZc+Ë‹_=dOø Þpë6HØ&¨6 hõtníîë–sùÓ/OÔs5 ù5¨ˆd Q†† ®Ü'u„×í³ÔÆÉç^)NØ„n ÀnñçŽû_¯H8»îm¾’ðÏ?. Á iÊtMÍ6×áhH’¤™\±¤Ûî-·}¤VoòËßèȳ°j¥TÙsÞùmë/(Œÿ‚I1 (£×\ŠpIÂ¥ ×—× €xKо ›ZŠ¢ÔjµT*U(êõ:8+ŠBÓôæÍ›_y啱±±@ 0;;;77÷ö·¿eÙ¹¹9Çq¦§§‡‡‡±ÀÂ!Œ¦i×^{m½^÷ûýápøW¿úÖ[ÑhÔ¶íùùyd*J’„¢ ÌÈܼyó‘#G†‡‡1kêåW_éëëƒ3áç8ŽE¨ñ½Žöýû÷ïØ±ƒ$I]?÷ä£1›‘Ý¥RI„xàñÇGDÊ4Mttdz‘Ë’ɤ©iápXð°$I¾ôÒK©T*5;;Éd¢Ñèja•¦é¥ÅŞ\mêrñÔùý~š¦«Õª sÓÓsós‰Dâ’K.Y\\Ì.eq´‚~~mmm?üðC=DÓT­VcYvÃæÍóóó­­­±T–s¹zª-a;0¿ùÅ/~ñOÿôOÏ>ûl0ŒF‚GŽÇæææü~ÿsÏ=÷Ýï~—ã8EQªU½¯¯ïÕW_U”±á¡~xì? G"•ªbÛvKkk2s\˜›[ÀPO]ד‰R[Ÿ856:äíë.Wj5E]\\üþ÷¿ÿ‰O|‚çÙýû2 S,‹Åb{*yzj¶¿¯{brúÆo<|ä ¤”@U®ÿÇR‚SôÓ[W\¾'»R=ôúá#Ç>ý³'YÐÑÑÑ–Œ‘Ã=øÍ /¼0?ûì³<Ï_qÅåråÜ¿»±,›Íf›–õ8›B(-‘HH"ìñh4zäÈ‘žž¯×+Ër<™™¹ú꫱`ݰañcÇ?jnnnãÆ•JE’$˲DQÔuýÈÑ#‡úÌg>ÓÙÙ‰Á+<Ï—Ê%MÓhšFŽºZ¯K‚xΗÉÕW]¾]9vôø±#‡ŸøñŠîîîîééìø×ýÁ…^(³Ï>‹Å®ºòÊB¡ðú\×uÁ=›ÂpF·¼4àˆõó½?§‰ÎÝ ÃÅü*Ûq-Û¥,Ç´u]w©x2m 3U0,U5êu­jJ5ÞOÖµz$ÙbõH8š“UŠ&]ׂ`i (WÕª¥ò²7 ’·V«–Ëe†aÐ 4ŸÏG£Ñ`0ˆ‹*êƒêõz­V“eÙçóaz%¶Ð–eI’ä8N>ŸÇãˆã`g†aÆ%Ü`0ˆít>Ÿ·mÛÖõñ'°)Å•mjj*•J]vÙe===¯¼ò ?~\äySÓ²éôr&ÓÑÑÑh4ö½ð‚(Š>IJÆãù|>·´¤5åBÁ6 †$µZ¹\N&“í­­‰Dbë¦Msss ³³åBeYÏÛ†‘_^®×ªA¿·Ñhä–³©V×u¹R\ÍÕkÕpÐ_3õcG ‚À1kˆx8 …BSŠ¡°Ö4þ¶JbllÌ󈛠Á0Â.è‡j\ºMÓ (vp]W’$DmPª€æ”M(ù|Þr¹ìõz±uDw€……´Ze9N#…)K¸®Û”9 §€eÙ––¯×›ËåŠÅ">)ªª"ŽÐôLÅÏG¦¶¯¨ÀG4¹Ñh ‚Õ78B?»²ù_¦·ü m‚  †aDQL§Óccc'NœH¥Rƒƒƒ8ü¡PE¿K¤jÖ|Ñhk ’$+•ŠªªÙóŸ= ›i»g'˜:Ž344dÛöââ"^¹c†ßïÇãëׯ‡Ãh¿Ò\ýDƒ# $F£Ñ·bš†d7œ†á.ÍÏÏ¿Õ÷;vl~~þl™ÌŸkê„AB‘s @g®aÊ ´¥}Çž!8Šõ \¨cëðºÒ–£_œ{åFº, xF©á]›bm±Y]ó°áÞóúí=éS ûŸÍ9Q N@Ñ £—oí]ß¼»X—Ccy¹?8·2óÆtýxV,'焞-=ý]^¿Dn{¢½wsO!“Ÿ˜|qÊ„c˜pÐ}Í0Ë2!ìõq6é²–—¶¨î¿Ø:û?éÍç’(È ÚÏë’áÔEНÉFõ{X®gsBaK¹º¥j@‚í@ƒ&â#‘±½Û£vl$y¼4¾"yíÕýéÉùWž}Õ9àØÀ¨ H°~׺ö¡.W$[[¶k{ÿïkŠ «G^9¨ŽWll €“è‚Ö]ƒ›ÎÛê Šõºl¨µMƒ÷*âØ+§sç¡€  º¶ ÷ööøý^NòHº¸wÃ;I–<|øðÜ¿žÔR l  .ÂmÃÝKvÝeZ6œßí”ìÁÉÓÏ3ç¡ * ¬Q¸M¾ó/Ûl—êëùåî÷]Ð"×ç'æ÷Ÿ„IËÚ ØAX÷¶Í±ÞnKdUÛŽûRñᤲT8ñòA8¡Û$uF/ÐýïÜÝ1Ö%HÄìÊËÛ?òŽîeåƒS•_/ƒ°ËŽKƒâpÐsQÇ’^ÆßK<ˆ¥€)È=Ûºgffëuàt<$nrwæ8#‘,!«²‡ãmšî¸tdá{ã@ƒ+7\^Ò2xœÑ½ç‹mR´#ÒÞÛ¶´˜¶,ëÚÏß<7={ä—/Á<4ì3<[c½cýÝC}$ ÕJ‘|{ú/ôÒÒü ¦-0A‘Öœ>¡F.>_JFmyÈh[ªu8Q˜?þâkò1É5Ž ß ½[G#ºè¸àò®h{·Ç.ªNåè ùÂÿ{dw°óßÛ ê"ÉæŸp–â$©7a Œ@¸®éX–k4å`XŽfYªiÇßxøÈzµôè¿>õéß°gÛXk<ÔÛ·B#9õ¹V_Ü5k†¦Uäé:3¸’‰µòœ7*0«Ø………|>?33¨kÅqM2™|ç;ßùÔSOµµµ…B¡ƒîÛ·odd'lïyÏ{ž|òɉ‰‰o¼‘$Éû·Û»wï•W^‰¼V¤8pàßø†mÛ333­­­¶m¯[·âfggׯ_%c2™üùÏnš&z1<ùä“7ß|sµZuçÆ¥R©«« “¥çççÑÙ+‰Ü}÷Ý_ûÚ×ü~?¼7›œ†±,ËqÜääd*•jkk …µZçù•lÖï÷£ƒ—mÛ ÃÑHxµPþ¾ðõ¯= ïÚµ+ŸÏêSŸúË¿üK,d¯wzfšã¸¶¶6´ª*æóØð#7^UÕ± ÐËýüÿñ±}¬\._~ùå üòÊ+ßùÎwy䑃†qÞyçe2ÙŽöVݰ:t×]w}ò“ŸÜ´iÓøøø]wÝuÿý÷ÇãQÓ´¯½öÚ{ï½×0Œk®¹æðá#ÿøÿxÏ=÷ õ'S©H805=wûí·ßsÏ=–eÝtÓMxöÙg?ô¡ ô÷|ï{ßûÎw¾355µ²²BQ°˜Y\HgGGWr¤õbkä÷KÃÃÃ<òÈ·¾õ­ª\ÿå/ùÅ/~QQ”€_BÀ(½¸”H$X– }r­Q©T ¥¥epp0/f–9Ž«ÕjÏ<óÌ /¼ ŠâÅ_ì8ðôÓOoÛ¶M¸r™Ôt«¿¯;“]‰F£Û¶mûõ¯ýñÿM£¡¶&ãªfþ§Å¶9$ Îɉ)QðîܱyûŽ-º®Ûp'x8µVyêÉwvv¾úê«{÷îýÎw¾cšæûßÿ~Y–Ïùq…Bá¼ÛjŠšÉd’Éd¡P0 Y!+++–eõôô\rÉ%÷ÝwŸ×ë½êª+§§O?~ü¢‹.J$ Ã$“É{î¹§R©ÜrË-ápø§?ýéË/¿üÉO~²µµY@ “É<ðÀ×\sÍàà ¶”cccX\\¼ð ;ÖÞÞžjKå––Î]°ž˜äÏŽm[vî܉òuœ”Ê;¶üèGûýþñññ+®¸âÞ{ï- ýè_r«®ë:îo_ˆÁ5†5)M£âýß}çMðqõÜôk°ãT¹¶nýPwowUöϧg”†\¨å±ÜÙÑN2_ÓXž³Ù'†ƒ¶tçŒ(ö\‹fÉëi4ØKãôý°íDhæìæM@Pƒ T¡Ph&†êºŽ+:á­¬¬$éa=µZÍëõƒAžç ‚‚ˆ·´ {\’¤jµúâ‹/úý~dz ‘ËåpDQôz½ØÝá:Œù‚ ˜¦‰$,üu谈ɵCCCûöí›]ZZÂÃADd’‹¢HQzX6MøÑÔ Z­}—a$Íä¤r`^Ão¹xž (Å/u]'`-7ÅŸßf“P§lšg}8LZ e[¿™ä9Ÿ`kn¶Y’IQôÄv´ÓíÜÒÁYSÑMÎu9"<Ô%Ž´Ù>±¼º²ªU‚h‹´„Fb®l$M™d£,CŠàâþαÞxwU‚¢Z­8ª*GƒÑÈæ'$ÌúǙᰒèiX¶ÎÖîÁ®h,bÚFM‘mÛôžP{HVk3©9Kv×.ݦ fŽVLǵm4Ê«¶n×XæXÚ8š3  ì5¯¡]#Žßµ,‹sMÑ#1_PÇ6ošÖ§s§'×2Ðmó²›®†°k¡f”tÍ«iœí¥4ª›ê»°s19ßX€åhhíoéÜš Ãlº¸¼ªVh†ïëŒòHŒèZOƒf€é‚cƒàé쉦ENY(dIlj½ë3T«ç‘²×6æ'$Á±¼½ÝÛFm˪FÁihNC”ÄX,PâÐsŽÃÓ¦jÐ Ñ]ê×IKÕz‰r‰¸'Ö3DWC-—#ËÍU ͘@2”î¢:|ªV&ÙçªL#Ðl ‰u±ê‡*P¢øjPíì tP^¾Ò¨ÕuxoDJ µÕ¸ÆBh,€UQòu'…M©4Ô\¹Êò¦äeò`è-|×®‘#‡–A­& žaÙ8X!e Øõ2Ã’K°ìàæ±…çgµÐuH×;²c#"u£Â#Yé€Gð mÙ°ðzfj@Û–YÀžvo|¸õ2éüâÊüÜè–õ9B£¹@Ðî+ϦÁ%Á%AmIô]0↪‚*×+ïøÃ^†YÖ;ß64_€ª ¶ ®Ù²adäâMÅZ¥Ö¨ËFÕaùpÄë÷´µ1ë2­Ó’FX5­^3§SýÉõ}÷Tíz±ºê帞ž$I’ô² ¼Q«ÿ7©áPËCŠ<«vm:—ýñ ¦«;®A.ÃÒIê¶¥š†n;_0—Ï¿óú*Õzg[â½ï~W˜1R‰ÐâòÒĪI–§‹jÀålÚ`däô"éW–eUUðƒìرÃãñ‹e”lôô÷7ƒ¸±WœrèPgwçG?úÑ¿ýøß¦ÓÁ`0Æb±J¥‚MÃ06oÆ]2MåúÇE§Ïçûüç?ÿÏÿüÏÿøÇeY¾êª«6nÜHqÿý÷¿ï}ï3M³­­õôÔ¬$Ií]]7ß|óg>ó™¹¹¹‘‘‘Ûo¿}×®]G¾1::zç7 ãÁ¼á]ïÚ´uëM7ÝÔ×ÛK‹‹J]ëééêééjkkûìg?ûéOzttôýïÿ@Ozqé‹_ü"I’ííí ÃȲ ¶=4:úãÿx!ýÊW¾‚Œ´]ðJž~ðƒ½½½ëׯ§iº½½ý–[nùØG>‚­5Çq===™LÆëõ*Š‚9 Û¶m;vøpoo¯¡ªýCCù|~ûöíwÞyçöíÛE›K_ýõ…b%‹)Š¢ëT[k‹i¹ëׯöÙg¯¿þz–eÁS(‚Áà—ü­¯€¾žNEm¨jÃu]žgHвm½^W’-‰|à<ðÀž={žþùÛn»í‰'žØ»w/Nžw“$éù_¿´eË–ÖÖÖK.¹5AW]uÏó÷ß?¶1@àƒüàÁƒ¯¼òÊP(´}ûÖ›nºiãÆ…BAÓ´Ë.»lãÆ>úèÕW_­iÚõ×_Çw ¡t(—Ë!Þç8Îõ×_/Šâää$@Þwß}?þx,»óÎ;“ɤ¦iÏ=ÿÜÈÀà›±X×qèíëAO~’²žåYÚqœšRmi‰~àxðÁ¯¼òÊçŸþöÛoò‰'®¾újã]×u~[7AÓ´©kg§63Þþ½XvMMS÷µÜÿ‚±ö¶°Dzm›´mÛ1E¯`Ø Ó6&§&T­4tõtÖ3™µ`¸f¾”çÈH>¯¶…lU3iÚ" Ú6\Û"H†a±é-‹Çvd¼+™L¦^¯{½ÞD"A¦¢j Ã1Ós:::<O{{{±XœŸŸM…9žUìü …B,²Ù,Çq›7oV “ã8A”Î?ÿ|Ó4ÝÛÛÛÚÖ®ªêþýû÷íÛwÛ‡nñù|8Žm‚kGÂAQàÓó^IzÿM7ÎÍÍ}ûÛß.ò,ÃX¦îº®¢ë¶eX¦®©uQð´§ZyŽ™™ÚÿÚ+š¦a”c¥R1tUðp©¶¶Tk‚#íËMžšðûýñh, µ%[—––âñøÅ^4??¿ÿ~ÂqqyÑu= ¦R)̃@þÙŒ†&Ëýرc ½öü*ŠÒ [E,fôy<žùùù`0ˆý^©T’$©«« ¤$ âCQ”(ŠápX’¤ééi´D …B¸*Z–ÕÛÛûÚk¯¡ì¿³³³\.£Ï®ÏçkÚ ÷ªV«q‡®ÆÙl6—Ëiš† õzA|T^ p ª*ÂÜø&Bä|>_KK‹išsssxcÔj5¤Å‰¢ˆwB“¨Ù/þÔé øF–$ [îp8 6ley`` yÈhØÇŽ÷Àï2zzzµÁSJ’d8ÆD“¨‚ &ìðφ8Ϧ 4SN‡††EÁû?Óçó9Ž366†¤EœÄ೉ãüæÕÕÕd2ùVê¼jxÿ`­¦ixíµ×Îùý~¿?ŸÏ7÷ç1®@ƒK€–ëšà9˜ ÷Åõ´]\1òj£Pù"žP+¥=’4–ج—Uƒ° Ê1Òš4,--8KK™´5¯´wFÄ@ '(¶ð¢G2T]·L‚c„p Áh¥Š’]]VjÕH2I)•RmÑißÐM¯ë¦ÓÖu=z¢BÕ‘³Ë‹¹ü Ïr‰HœôǤ°˜êMÍM¤ÁÐHèí3)ó0Ž¢Ṳ̀œçíd$¢¦×º·uNœÌ:0$ Á¡€Øí›’çHÍÔ«Š²Z®ÔÊBAogøIàÀN‚­%0´ùÌDÞm°’'â÷ù9^j÷õ»HÃâYÚ±lÕ´¤PÐäô¥åùSsÓªã„-ã+‘`44£"4kéA‰>¯NXžˆ¨ÙúÊJN.Ãe_,¤i– ø;·vkcI†]#  <¯ñ†ßëššÊ.fœÖÖVÚÏòa)±¾{ùЬ‡cLÒ‚(@{TÈ*­Õ”Z.—š\òÈŽ¾€ÏÓ¶¡­­¯%jU²içÞŠ+ç²å|¥ Z´¥Åv]æ[úÑ–íVµ®HþV_KÄöÒË¥•Ùé™z]M&“Bw×’œ•:íÑ4A²@ƒe³^LªÕZÉ\ÉÚõªÏ/FbqÆf–Yßj>—L ë÷¬£YR«Ô— Fzr… [$M"”JEF"+Õ‚+¯u]Û× ‰ˆÍ¨é7Þ m•&áºF[ŸØ¹}Ý|öeð¨$„úBþN¿éwòòJæÔiuj)ÒÌ 7ÄÅ6´zÛ¼"ÉÑ.iÁÒŒŸQÑ*éܼѨÇÂá°$å¶§üm!Õ2†4À1lË'‰+Ê2Ë0¥ÕL&“¾³»Ë ò½ñ¸Hr¹j‹/HˆRÝq-Ž©K–©WkZuúäQÚ#°Ãd,ðÑ|¢×¿üjUÕ\øó]ýŸ šƳƒØþØ€×q,×µ šÂ1mË!HÆ#Jå-[wŸÉlæH¨–J#¯x©ÃÖժɒñÞM;Aò•s…U¥ ê5‚ÐIÐ)×$Á$‚tˆ3a¬çØTUE«BEQéÝÖÖöáxhh­­jµMÓ¥R)ÖëõO|âKKKø‚D«0ÇqP×Ð××·qãÆ¿ÿû¿Çj[UUäÜþõ_ÿush +•J2™TUõío;Ò¶çææ°üúÙÏ~sss–eíÙ³ç/þâ/PÙ7ПËå°ç¿í¶ÛEñûý+++(þð‡?,B86MóSŸúTggg©Tz«AB3_Êå²ëºKKK×]w]4:vìJ…¿üå/cQ‚Ii‰DÂrL?9Ù××wÝu×ýíßþ A4Mær9M×,ËRåÉ'Ÿ4M3 f³Ùd2éºî]wÝU­V‘í‰Åâì‚×ëm4‰DÂï÷?õÔS( ±hln~®\.ß~ûíårÙ² ¿¯Òóó×_ýUW]…½œÏç«×ë²,»®{ûí·ò“§ë¦‡gNOÍVªŠ¢(Iâ8.ÎÄb±X,ö£ýgwº®ÏÎ¥%I*—Vñ;ÛZ[ª!xØr¥vúôé-[6OLL|ô£ ‡ü0¿QU¡£½uçÎétZyM·æææÖmܘ]Ê öÍÍÍáÔGC…B¡Z­ô÷ÔúÊê*z4pÇ2¤eC&“¡(ªXªvwµßsÏ=í©äòÊj¡Phi‰œš˜ì»ý¶[®¼òʶ֖B±’ϯ¦ÚÿA ä¹=€süø‘P(Œ„i†TUU×QÈ#d²‹\pëºÏ>ûì¶mÛžyætû«_°ººzþùç—Ëe¿ßÿý÷Çb1¯×‹äíDKôÔÄT<8¾õÖº®›Í. (Š‚dìÕÕÕÕÕÕë®»îCúÏ盵, %èxóã-tË-·àp•ã8’$»ºº>ýéO£Ì8£ìü .<'£ta||ÜëõF"žçª†[vXÒ IDATªx¯ MMÍ\wÝuÁ`ðñÇÙ¿?ÊsŽoÎÞ›áó.£8´Çá6MÓ(Šþ÷ g›Jþ—1š*ÅߤN8¶iÛÕj•ã^à&&OªF}ý†Ñþ¡Á¹ê1]ôë–½¼ZpÔ¬ÝH‚! ¾®B`h†cI’`’ä8i¥r~ii)‘H„B¡Z­†cvL' ˆìСCñdë­·ÞÊ{D1¶ §§gll,‘HŒŒŒäóù––™///Ÿ>}º½½ý¼óÎÓ4-1;;‹+>ŸW%£Tet¡Phݺu,ËNMM]uÕU®ë†B!Y–_|ñÅB¡@Ó4ËÒ»÷ìRju\gggÑQ=Y.¾øb”'$‰ÉÉIÓ4%I ðžw¼ãHqgæàÁƒŠ¢D"Ô#8ŽgfËM¤Ì°,‹.ýÈZWEs<ÏG"‘x<Ž@v±Xìëë4 ceeMš@LµZEF,ã8.˲Œ6®F½ÛÛÛ7mÚ„¬ 43FxÂëõ²,‹¶2h‹‹Ïãðð0šqƒÁÎÎNŽã …B:.•JÈJˆÅbH¸@Õ†¦iŠ¢ôõõ¡ áiŽãVWW±_Å‘¸ã8H0Y\\<[Š—»9BùS—Nhš†ü¿ß?77‹ÅÐÞbí~8"$´ÃüݣƳŠ6~B`öñhK$u bnVÚ»;ÖY-åäé\uÁ f‚³þžd<˜êÝÖ7ñ£ý¤F&p¬;´q*UE.œÎ6¦ P%VèÛÐÚ&¶ tÃÐ8V? ëÞ¹#mæM¾qúØëËéL:í;·ÅZ¢ŠRU5׌—ËNôˆA?MójaE9Y†"äCU~G§AÑk NM·¦e˜š6MR¤Ã8Ne5g*d™bsrtÃú¢¡J!ž·h]× ×}†¢5]öðÄì̤}¢ Y:Õšû}Þe{¶VPÑ1qp`0âjõúìÔ Ï µDÅö=Év#&T*ò Q†­4†v|R€a¸ÕüŠvä4œ†ÕÍqt(ÚÙÉŠ|ÕR Û4i]“õ‹Ž‡²³œË•ŽÍÂ2Ìõ,3®!Å#Œ—ñŠb£Ñ0LC8û $%‰…¥õ_ë‘UéZOb¸O×ó×oúõ³Yʶ ‚ÎõÃU³jîøáSõÉ ‹œÍ-c'G:V& PÖ† CÝ5×PUe~jAÏ©´¡d#qCÝóž—IGpaöáHWhJ^šYœ.MOÀ‚ýüÏ~>ð )?M¸tµªÛšê!8–ã$Ÿ‡`’°r¹tbNƒÒº(îY·aÝúååUow W±t`IŸèóUWJå²<}ø(œ¶´(x=¼Ç'Xaˆ„%ØeÞp=ºÁ°‚ÈS,[^Zœ™š€É†Å6N8oìÚ´Û›ŠnÙ{Þ“‡î6þøÃ °p–Ú·¹ï~ö¿üñ™A’@A€ `Ú¶ëï‘Ø#>F:6%…+²š_^îIÅŸ{¢ˆøúÙ‹ŠÁ vnž+T¼Ù%`iÁ'zLoL’Ð B#‹Š  ˆ·Ä¯À¿à”†a˜±±±b±(Ë2æŸcø|GŽ …B~¿ß4Ͷ¶6Œ[¯T*–eµµµ¡ì0›Í"K6 bòâüü|(¢(jii©««ëرc¢Žb I’r¹VȰEû1dKNOO?ÿüó½½½¸“£££Åb›[˲dYîïïÇÄ Ã00…±V«‰¢ÿ­^Ø8…`h"DÂ;ï¼së–šn¡™¼ãòKË•VÀ8¶šžÃ¼´jµ:22„ùg®kwwug²†a- ô‰ÀKÉK/½CÔÐPÊ0ŒöTûñÇÇFÇ Å‚¢(¨%îïëW5µ¡6¢ÑèÝwßreU5–WViš¦YV’$änàÙ^YYéééari9‰EU¥JÉdRù£Gvww7 âñx0à­)ªeYm­-°’+,ž±„ £=>–¡x5)Šâyž¢¨áááL&ƒžvøÄ5øš-ÖèÈèBz'udttt†Q­VÑ eê!ß¹wuÓúu…BåЂ ^×õb±ÐÞÞ¾°°°{÷nŠ¢¾ýàC•JåÖ[nAï›I’$ k¼·›¤†?h8;§Wg‚ à?k HwÍ¥áÌb-3RWX›–(”ó ­îY–çêªÆSÞx¢ÝK„ÀñZ6ES‡àÀeFPL3·RÊÐ5K”xš68°~Ýææ\1i½BÑ£M0ýÇqºººZ[[‘ÕŸÉdQŸÉdp N‡EE£Ñ………ññqݲÃá0E3¯¿þúÖí;Q¿0==­jÆÀÀ@ XLÏg³Ùl6[­VOž<ɲlOOO$I§ÓO>ùäñãÇyž—ey~~©awR©T¼^o(®Ìï÷ûý~ÀbˆT²\.G’t"Ù¢iÚäé‰C‡Ch,òÌ/žÞ½{wOOOk[ruuõð‘CÓ3S@¸‹‹‹6A¶¶¶’$Y«Õ¦¦N>|¸É_<Ñ-†MúIë°š”¯6~¸BO¨Ú¡z½u¸=ܾÛíOOÎPÅÓÔJ¶ƒèfˆÀH‘,·‡UÏr+¢Ù9qÀÁ©Ky­Ù\_^»zýzv#@¨Bm{w”fFy ‡ÁpH5X©\,UË~çÿEnôÀÝ Ë7cùÂÙsGë³GLoßÞ TŽ+3v/ó¶õNÛx)úYe¹'HlÓ‘#RŽÁh«\,N”K$OW/ßZ½x]xˆ1¶Y-MH² 2KÚµBm²X­LÛƒÕ•¥pu«„.È6–Þ½üÝÿâ·û:ë$A0èª0ÑÜ-*E¿l§äêßK>è”lhko_¶²³‡^jX%¤(è€*”9,V9aV؉q7lÌÒQ¯8×0~¹<8e·£²QrÊÓ-D Ó'­<ʈ/ EJ(ãäé…›ƒõkK×Ã¥ûX––&WÞÿÉD~¤å×&ŠÏc$#q§^©V][Y¾së&VÜC¼Ü¾´óæì¡Ãq–Fá`˜ÇÄw8Õž[)XîOÞ}ËÞ¹ Zi¯þáéùc‡ãJ!Í“Í(Ùh¦èØ‚„Ö² 1„÷¶´V–LLÖ­IÎJŸ‰4|&fôÞ×”«ÇlÜ={;ù¥4!ŠÙŠØŠÊ„0m;…b©5slñˆ²Ý½xèèÎÖöL½œÚÛý¯žûæÚÎh¦yXN ’jÕÒùƒ•å÷‚Û$’¥ÕA”ïõõõáp¨”2Åön·kŒ0Ü&¥±,ëСC”Ró6£çg)“Jõ2Ó뻵µÕh4Ò45–cƧªÑh\½zõøñãÆÕ¢^¯›èͶíÓ§O_ºtIk]©TÌù[YY1’ìG-¦iº³¾Þl6Ûí¶ #jµZ·Û5­…BÁp.L*^.—jí7âÕBˆþ`Ôn· 7òþƒ•Ñhtîìé^?0NÚc¯‘w6’`ŽãxžwåʵS§NEѨZ)ß°T­–µ&qGQÂ9ÏsÙl6;žR¢P(µZ­N§§”šžš¾s÷NµZ?}úôòÊ*çôØâ±K:¼ÓÙÉs™çéÄÄÔéÓ§ïß_šŸŸ§Ô6BÙ¥RiiiÉè`eYEÑéSÇ,­NNN …á04§»ÓšZgžþOþäOºÝ®‘d÷}}cËxh-¯¬;ŽÓj5“$ÕZÂdaaa}c«ÑhÌÏφažçõz½×ëÙ¶í{¶QÛn6kÇŽû½ßû½,ËšÍæ«¯¾úðå’¿¾±U©T‚QœçùäD#Nòµµ #]6==A½VVJ•K>0Féh425Rι9ž¹Ð£Ñh0[<< ÇqJ¥b·Û…Éööö‘ÃóÃàs‚^÷Ø šv:]JI±P–RJ™ËXrN«¥êÝÛwLÛÂáÇÿüÏÿ|8šìî oìt:Bd Q42Bn½^ï…Îu:=)óÉÉÉû÷ïrÎã82ƒmsC@0‹ëº¦SÉ”.ïܹsìØ1“™ 6 ɉ‰ Ö7Ö=Ï ‚ R©ììì0ÆLüÖÖÖ™3g ijµµeü&ˆ†6æH{ÃW ÏDÆBdŒY•rykcszzº·Ó9{ú¹¿ø‹¿X[[³8/‹ZH ÚóØ[\ !ÀnŠnÐý>¾O†¼œø ê6×Úl-¥šj­µTDëÉfk­½êp~êÄÉË|uu‰*9ÛXxóŸºs‡_9v’e¥­|õb‘I—Ñ,ŠØN§}óQÈ»ÛýJåP¥hmnnß¼ysÐëÅi:;=ÝGÃáÑcÇ,Ænݺµ³µÅ,«\,G#ßu¥Öa”«ÕüðBçF“Ç[¯¾üRÁöï^ºsïÞ@ÈáçH·ú‹õ)ynñÂ;w-““Vsj¶Ül2©Ã~4Õ*,MƒAT­:d…Ùƒ«÷‚NÿZëð¡y‡êQš-?÷h&Û«;Q1™©·Ž?¹Éì‹K[¡|мòõ×T–ê4r„ž+6©£H&8É©çÚ'OžèÁêÇ&Ož®Ðòöæ4= ˆÑÛèåU©5±ê^že°A|fÜ ÜGÈ 3ÀN%•P­…Ép5@„Ö\Ó¶H‘3 d@PÀÛ[Ý0ËŸ?uvgbòöú[ÌqÀäùsç¼éZÖ¶6{¹`%»Xv|Ç÷ •’ëY–MoÙ7䦕fõô‰ÓîÈ"¤åó‡¤Z%"O‡9e_ûæ×ßýá»W³¨‚ÓGfë‹lëþÚ`Øõ+ßõ„Ð,W[8ä½žÜøq‡Au¾~êø±­½Œè¼'òÏì-f÷Ö~Ë6ó\™û¬ynþjÔUâczIcžì@ƒÁ$âEø˜ž¨G¾nz LNehÒ{W+ýyžÐr—àÀ8#ÏuµZï÷û”RÃÍÏ´ƒ®âBÁ"B¢ƒ™™©íí¶5:ír¹ årQˆÌtךeZo …‚ùrãù2>¿æ4à‚9†RJ£…n¶Ê\V“““;;;JàœëÝ£½¿OHE (%Ê9tšÆ®ãÄ£Ðs]Ïuã(ª×jfÎh­5áLR+-Q„]©T¢h4–ý3…G3LÅx\3óó ur,ön2Þ] ás¿ R)¨V6ѶE}Fl¢ˆÌ„HÓvЫW I?`Z-ç¥ÓÏw:Û‡+G^i}[ÝBL9ƒ*ŠZ¤>#BDšÑD¤3©S3“óÉHhTyš<ß÷ý4N\ÛöÍa¿ï9nž¦ÕrEh©Š¾O´±bI F·M@4*¥É’„‚Ô«Õ,I5A£V×–ÅRáû%vvzvvö«_ÿ:¥ìø©“&ÿ÷½(sl/Žc¡ ­‰_*QJ“<·\×Ú“B°\@o8œš ´¦–å[Ö|¡¥)+V*a’PËšœ™Ñ€¦´P.¯nlÌÏÏSËZwúýb¥¢)e¶­5Í•šžQkíRµ °\©LäÔ² ©"šYŽÐª^©dá VtµÖ2 Ž•g %PJeiÎ(¸ëh)D–ˊÀ{NœD†:n &M+™¹·š>|ƒ)Œ%+•ŠÁû8ç‡2-HÛÛÛÇŽ³mÛ˜kš®%ιY+ Nj²DÓÏ?111ž4õzݬ¨ÕjµV©z}×¶ízƒŽãðÒ­Y ”Sª¢u&„"—Òd§FvÁLUÄÜ­¦¦¦LÌ0Öl6›†¸ÖšM2èÞþeÐP©;£n`ž7ÍÍÍýÈãxïÆËÈAë°©yñÊŒ…3Çì'Œ[S¼ªT*FÑD,V0!ÐXÊt8Ka˜5s?ZqÐ÷»®›ç9!¤^¯sÎM¬uÐ}Í쯙Ec0âWe0·æ¤ÍM}?¸©-íKDÿÇŸÿ_¿ÿÇÿÕ–ÜÖjz1ïwë§fF$Ï0P¶må6‘c&N( vÚJb ËËÊ~Pdƒi&ÏÏ5N¸ÍH¥¨ŒÈäû?zËôwP µ†öû÷Îÿî×–£¥ã¯Ínö\ŸÛ…ÒDy"«þÝû0B9sÐâí¿úÁ×þ›ï:­j—U[ó* ¨ã6[^¹ÿô7?ÀöSVáïþê'¿óïÿ˾7Ë‹¿õj k¥b±X–[1ê k’hA•&é‚!BNœ›ÍOdžíå¥âŠH/'Ô¤qÙåTgaÓç~^²¯Æ‘íF¥eÏN(«ŸVú¤Yœêv\¦µZ­U¨ ͥ˚'çê<(TŠ3‡jq¿õÃB èy\ødóðOY¾O)ðíõCfy›× v¥äÕK~Ñ÷Ã&»X ä”  £Dq"-ÊTiF]×±É5\×çZSÊ !ÌbnÑ×â™y*L|`Ú_­½1Óþ¬bZôs{ÄAÊ/{/î/€‚ûP·ÿGŒðüñ/”~üɧyü…½>ÕßÕ.6{ð’¸[U&ÐДB°ß|~Wwwï°î/~^·9q¿(:±¸Çh®Aâ8 GqžŠJµPð$µ9'Ãþ0‰ÃÑhèùÎpØw\ûõSßQJe™ˆÂx8 Â0K¢$®S0„¢9@¡é®ø.‘€ÚEL~ŽÇÝÙûðë†džmoo×jµcÇO~õk_Q¶ç½ÿþ…•Õµ8޹ípf3fJy’åDiB¾:8§œŽGOFcÔ/” Årµ–rΓ4F‘z3ÿø#!r4¯ JE‰†Ì‰Vc¼~ühjq‹(29›!¬i™-#g°Ž1Æ }<ÓLNhÜ 0­µvçøñãFtÐT† tkÚ[“à=â8è®m¥ˆÖRkBˆT {”ŸµõÁ``7ƒŒÙ@Ïí/á“Æö½æ|™î†±®8cÌà fBî_3ÇÇA«Á˜²,3tQÓ:tÐ|0ñ€æÇô±'íSûeBƒ͆\sHоºù¾·èÔËÍúb+œHn“Äîl®o_ÛŒþîÔžãfÏÌ>u´6Qm;Òív=»435†ÝO IDATl>xë½áõuh¬J‚PÃAý¹™ç^?ÓZ˜˜ô˜ªR¯Zæ– uÿÖÒ­\Âà”!•Þ¹éÓçW¦Ë-¯Y>\ò™WáÕ†]ëÜÜé.uCMÑï½ýþ×Ï¿Q9ZM=Q%uEáU … ß­]YA¸‹@}Ý»»S9YAÍ­mæÍ¢ß,Ù1ß¼¿ºug Ám.R!¤Ùj8wv±Ò(®vWgÏ,LÖ&ÊN©»Þ½ñþÍk›îz^€`æÌôkßúÊ¡C‡– EXoÖ9µ£NòàÊòÒÅ»ØÔ`!Hôô ZªÚ|ear~¢Ù* ”rÙÍyÀßûç÷F÷cTF*v²ô•_ÿJîäÍÊÄd}Bg’ç<ضîwzë= ƒD ÒÉ#S§Nžc­Z_¦V©Xñ*½;íËo¾Ý€  F^8vìÅcµ‰Y]²~W– õj#ÜŽ?xëÂðR@€ …Ybqzê¹CÞTuöð‰Æüºô“+ØÊ *¡F.÷6îµ9·1YÊ+‰.•uf§"]½»”´G<ÑÐ ­‡ë;ÛV‹'‹¬ì0¿`ƒÛÚ×Dm?X­uŠBTîöï¿wwáåç&ŽìpÚhM”rº³2|pui}iK Ô®(Ãâ¿:µøÒâÄ¡ÉåöJFÍÆDÁ)%qýÝ»Ãåa¶±†$#@©Ž…—Ï•ªítX›š«Í/rEYlÖƒÎÕå•w‡+9ª€r_üÚùÉÅi‹ÔæZª–&Ê-Õ—›7V‚‹›è`×ÊäÙx,ÊðÓ€ì‘4¤ÖÐZA3s©B(!”Ðq³Ÿ£ð¸Ö‰Of&\ýŸbXL¡<›-ÎO•\Æd’ùˆJ ²¦òcâ°ý‰î³iÿóç‡. ­5°{ÕŒS¦q¾g"rSÙ3„Ž?Ë'™û:Ü>ßýŠ“P)eqË4Øçy>èJçq$I(¥T*…ç9Y–Q !³Ý¢%á„0hPJxšæÐÐrРAÔS¹™0{U’¥×K…¼{÷îòÒê?üÃ?2jQËÚXߦÜâÌ‚Òyž3Æ8ÙuX D¤OÃÈ{äëF1Ïs£’$ÉÛo¿½´´dhPÜ~“nw„RJ ¥Dc ÀX„Ïh+0mD&ÅJ’$K˲L?×X{ “ûeLÍÙ쾡ÈEQäû¾mÛãÃÐÐmŒMàAÛÐq8h~>$eèÑôqÕÿÌÀî1èã@íiå0D+Ÿãôâ!ß±]ª8Pñ¬j©àø^Ð(ª±ÿQ:4WB‰\fq4K]¨Ÿ{®`ÙL+)•ÊÓLæ’<£3˜ÑjµL åþLs ÿR%ä%©|©þ/ à0YŠ_dÛÿ¯(а?ãÒû|.H¾);›RíXÒäQ€0µ»ƒæí#Éb¿ {†Ræ€æ–éö×y&jÕV0âq”i­²TSJí4Is4ÑR +eJ!Œ©]mw Иî”Ïqžíû®­t·Û]]Yÿèƒ %–M¹=55ã—ËR¨4‹mË%D !ßÑDƒPMLc†" Z ©‰"š~ÊGßõ¤–!ÚsÜÆW½a1Œ!ÇqLkR’$¦Û˼¿V«™¾ 33ZÿÈ0Ûo¡2Ö.¡Z‡qÄsgl—`vá úåcrÖxY }-6Íë&èdû†Y ïæ ûÔØ€Æà\¦QôСC—/_~äû÷ÏÏñÍ4ºþJÆóšBÓŒPh ×r‘?ºô¶{–½öÜëa0zó£·v–·ÌÅè…ðP ɼ+Öï^[¯\«ž9Vt}=HÛ7WĽ#ކWEñH^o¯^»ýö5ë¤SŸ«†aø À І`™SA%Ï¢€ÄúЏuÿ&&1uª61ÓôGË÷Öõ&Ðr#´f¥)£‚¦;ïõäwUŠÔª8„êxe¡÷î&r@3•É<AðQgøZ•c·àr+ª´ygÀµ%cåÀOÓ¼w¥óã;oâ?ü•#é­°½µ¡nh,} f¶,X°%¢Û£7ÿׯqÚ|®!ky:J¢‹ @ˆÎÂhžÇÐxðÿÞðýûÞQû¹³ÏyžwùÒåÁ…r Áža'ÔÈÐþþÒ÷ÿn©úzý•¯¼ºÞë¼ó/ïèû €°!QâÖÛ«·n¯²&޼pœX¼ßl_]Ç*À•`9`Q†áƒK+ocÖ+™h̶Úív|yË@İSŒ(zowÿñýÿˆizâóS‡¦ܾ»üö5Ä0J DöX*$A–_þÿ“8ynîÄ‘ùÞ`ç_.¾Þ…11!ªP„-‘XZä=l¸”}笔¹P‚—´ÊU8ŒÄµ48Ía1ˆ!‘Ü\¿qÌr•É5AND”®}ô! ©M}©ò´Ÿ€aõý»«×ï²i~ò¥–Ï·WÛ[×Û¢ ô È]Ö#’wâ?¼ðáü…ÃgŽ”kµíÍí;+h›² ¥Ë€Lå ú—tí.þáîä7N-œ8±¹´¾òÖ¬*$ð\‰´HØÂÆ_]ßøðŽONŸÝZ_U÷6°l‚ Q„ó'Óz6>ﯣB”Tû;&ÆáÇÏ*h|²·â)DóPÕÏ™Y]Z^¿»º¶¼giŒ¨Å=Ûù$Р@mWži͈¶¨¶9±)ùýßûÏ'ê5•ÅH¹Ã™U,RJ©†øÕÅ¿ŸhLLL¹©<ÏÇ ¦ióK•T y|ÂöåIø¿¨ß¥{c¿ÙÌ3 á眷㾆½ƒ¹ë±gâì‡ì'L¨mú’öã>?síþ”MOÙ-ý$‰”V£Ñ(Ë2ÎmDZL Á¨›&Òql›—ˆf®ãd©.øe¥¤”JJ)¥VŠHh@i­ )ïY¨þôJý<ç¹bo·ÛRj×u§§§ËµÚp8ûí9Ž“¨T¥©¢ŒY\CÊ<Õœ0­À@ÑDaüH?5Ø©ˆVBfiâ9ãÇbÍFJh¢‰V=jhEÕDk((@ bŠ5Ø¥4ì™%‘ÌS@Åa ens*òL˰Œ}ƒ‘2“Í0ÏM}8 CSŽ¢È(ÿÆÊؼ`œ+š¯ŠãXJitRžl½Õ;_)Z™Eɨ c‘_À­çÙø Ã0Œ*Ó¸ažÁé8ŽMa@U†û`¸6æÍyžÔÝð§ú§årÙ ¾ïÏÎÎÞ¸qã ƒñÈ0ÕÃëÁÁý•¿ôÑ<·‰PRïõyÄMÄCÀFò¾|óG?‚€GõÂ,†‡¥À--T.3¡!@Ñ_º¼uYbSÅ44á “““kÝe9ØëÊæ@pP¥”µaiÐ\ ‹Ý¯Ò@qa(Ú%Û/t£8‡¨Ê%Ö»mî½½³4<­›ÓJ¤r̳Ð<ÎRdÀHBöQ*³PÈXs¸vŠt²6Óîo%q®á1(ià 8€O=¢ @Ê@¡‰ì 0@e°‹ >º“;ðÍi cc>›ÛÍ}íIAU–ÛÜ4²LÛ@,SX»wußö…ÖŒPIµU*Uv –•'9õ¨—CK¤n‰G#!D(@ÂcÄgE–3­!¡5ˆÇœˆÆÔ')MÕŽÖF—\ÃrJj(8eਆVH²ºpÀ,ý 9e ­ÒÔZÐçÔ³5Melö …„Ä"ŒpW€ °A•ˤ“kKïk y6>C<öJ`BÜýÒ ã®Iþ3CêO†ŸT|Z9 ÚZ¾?9;«´È ®C›èH”- ‡£G~¤å)¥ÐZäy®¥¤y•ZÐa¯Ï ©Ô2ÍÀX–ä–eÑg8Àó¼qpiÈbø¼{eŸVBþ hxüïFQ4n©}¦Ñð´ÖO.‰yž[ޱƒòŒ»* Ðð3Éñbý ›NI’ª]×v\‹Ι]¬•ëµf†¶å¤‰äÌ—"ͳ˜WK§R-i-•RRj)eœI)­õA êç=ÏÓ4®T*ZëN¯Ûéô ”å<ßwWÇ!¥ÜbD ™k-5µ 544ÓDS © 4QÐô¡G ýÈ×KŸ0@‘( -FdÇ^Á•yöH Aƒi¢´Äø(m¤E‡œ]Ç醣b±h{®È3­$gtss³U¯Ea8F`¥”iš !lÛ6j æ°˜þyFßQa:ç !&¯«Õj&Ã7Ùc±Xt‡16ŸÊºj6o?µrüëz3&ˆF"˲±Ó³ñ¥¥2ËZEû‰*æIžçc \®Š¡9¤i†áøƒŸ¥Ri0ëâZ­¦µ^_____Œ›Æ~Ã/Ó ô«Š2ÐÄÊ„gp”Ή6ÀH ÔfÅB!lö¶A,h@²t×{Ž1pI@8$…Ì“*Gˆa›B4 E)á./ZÔRJEy$… ¢@"CBSh$’P$`7÷&JkIAgRŠq(B«$ËsIÀ©5Š#À…N”‚" C.5ÕZ²4ÌJ¤¨TžgÒÒ0æðbD¤€Ji †-çP­S¤ù®xr-M‚­…Ú…!2P­s„"!*³á00- ·†à€”H€xÈB¥‘3hß)4I9$(PÜ-ÎÃbÀ¢ƒ8¢:u¨O”Î!¤Ìw Óá{¸LjsÄPÀ4 r‘KÛ‚ë B§Ä(ϰ§·›zë ‚‰ ZÂ8 ©e©Í=*©”È2䨫J N±[»;d”…( …L5'––DÄÂQŽÉÊ’ –9ØF»QÃáŽP¡Ã¬\ "…o3Àü)— ,R±Dª¢TÀ$¬)äC,t"œÃ¨„’RæÈ0| °Ëô€B€£Á 4QŒ)š ݸ 38%b9ذR@Å Ó0a®dg)J$)dj&г|ð3ÇcûЄý(Ã~}ô±Ø3ÿ4廇ê-9M<ņBÙLÕK^·Ëd”& n IÉãú½£T#ìµ]˶,Ë"„)©´"J3ÂŒP–[*1¥!„ê9nšgÏf‰I0Œ«™±‰2¼YS%ø$lŸ~”ÀÔKü hØ>F`åÙøl³÷ãx+¤”œÓýcKºo˜?=†Ñ°Ÿ+ñ‹äž”+Å0 “$ÙÙÙ‡­Vë×~í×NžT€j‹À‰!%*Xxýô¡ÂÜú½Õ»·nb¸»U`»¨1^zý¥Vk¢ÓÛþàwŒ:ƒJp¥A2‘BIT€°Ñz®ubñDÄ7®Ü ïà"£ Y‹ö.?Ï6VÝðÏú/œ1Oò‹?º$W3UÈVJCœX$3#Š€‡ç¿}ÎáÖÖÊÖÒ{«YŽÌ±h*XÑ.aº*8õ©³gN¿ÿþû·.¯ ,ð‚- y‡Â4dšÂÆâk§Ÿ{îÔýû÷®üã%x@Š8U± wO¡ ÊMž{qáÜ™cíµ7pP‚ˆ¥Œ%%žÐY¾w‹Êó˜B8®E©ËT˜“Ò‡à’ ³‰|wjJ™Se‰h¤¢Ý½ \åÜ2/·Ê½A ˜Àâs‡­ý:è{Ø$7ãû¾)W9®Ç£6Oï|©§%Òù¤ßóYYqÆÿýߥ¥0« c̬`FfÏèð™õm¼ÚîÏô>9߯.!æ¿J)%´cÄîòü1}Çk”ì_CÆuºíÞ„Q‚Ïó”RY–W«%óJ¡`Cƒ3T«€RÑ~tò­A)’$ãÜÈÂIB@³ÞšÖž1°btà>KY[SŽí9އ=ñÉ‚ïÐû6TíÉNѧXø{7$o/[/z?ûJä¯Ó€jÉЪWÔÊ…ýØ«™Q­VË$uæ½1Ê`Œ&‰2hµZŸ\“Zâƒ2šŽXÐ~ç›ßýZöÕ¿}ëoÖßÙBHÀ6Á1pÊ~éÛo´æ&mÛ&BåsÇþÝ‹KWn¼ûƒ·Å=ºÇç'Àaœþæ¹¾~ŽÉÆÎF•¿EÞØYí}ôã+Ñ…!b@ì¥Ù ÿæs/¿ñ’U³¶v6&—¾÷íWãvöÎß¿³üÖ= £Ÿ‚Ì ß™å‹d4æZËV$“¿~¤ýßGñh´+1£üjc¶ÞÞé;ubse£f•ãQ|þ÷Îð¿|€ Z i)d _™=÷íç½9WÒLçâ«ÿæüëÑ‹×Þ¿qñ±„=Û  ÿ¨ÿÚ·^=üüag#ytjö7§³Þ}÷_ÞË/ÇR¤’`—à¡ñë“ßúoyž³½¹}¤vüü¿yýêåknß]ûá Ü=¯;0œúís §ægN·»ÛT“ÿú×_l ?|çòýÿxLçŠì¢'þõ±—¿u¾Ÿ ܂˘uòs¯ÿÛüòû×®ýó‡a_¡¼×÷AÁÏz¯}÷cgÇ*Yj¯Ÿxþ…a´týÞíw.‹û™¡i€(P`/|ý+/¿ü¢ã8;­‡O¾ú;¯]¿~ýÝ·ßU73(  ­PÀ™ßý摇¦ÊNôŽžªžøWnÜ]»ðã+ÑÅͱ-¶kžÛËr0ÿwÇl—°ó·¶z¶ã•xÙc&úëuM@‹¥( 0û›çÂhTŸ¬‰rÊ=éö<)ôô(Oô»JIiZ Ì0*eÆ×Í$ZF#ì¼i1Ø/›·X$° аÿõǸWì_4~Š&h½‹\|bäY6¶60À9'äñã#Ms˲Û½MŒF£b±È9?è4‡Ë¼mïGIš¦Ù+~Êóf¶œî_ð…¶’}î_à#>+ßcÿ,2̤^_h¾ßÚÆ¨B<„bŒçö3æÂ³ñl<ÑȲ<&"°9r‚<‹S /ÎÝêÞ*OòvaýâôÜÔK¿{¾ç|?þP즚\_œa§ŠQEò‘ˆÓ³«EÏ9âMvÅ’ Q]ØZYEQ-~ý¹™—g×ìµ( ø £`E»hùV5¬EˆÐÓDÀ˜N{ó_?3÷â± »—F‘ÓtlÍ—ësSsÍÅæÊýº­À` { ¯¾ñÊŽ7ìE]^d`´u‹…«o¼ô×oßÇòn›J@³'¦Ü’ÓVÐÀ)€†ÏÛ®òI5žtªQ@Õ“ºr|Q@ÓnÏ“ OoŸèzQD*¥v¡\“ì¥ij ci½,ËŒrû¸ŒÐêú°½%%÷$ô~b\%þ4Sq¬ aXFöÏ<1›ä°]þZý~_kC­w3v|qxäá'pœ]ÖL¯×«×«Ò4•Rº®ÿÈ4@̾ÔÇt»§œ?jóé^%é‹}|Ì=hÄq<ÖÛŸnJéØÛrLŠù­K{†ÑšÀ˜%]ÓCdD(-n™w²g(óñl<Á]Mó4…V` ‡Š[/hmŽhˆ>Z¾ôƒ©‰iËëfnòüï¼Ü?Þ§™E\–@å–žX˜.6Ýa4Xm¯Æá¨ìúG§çJÇ ÅcåÓUSÎk-2G{5[Ô”¶H§ÝpçþáùÃS´8Qž}qÞŸ,#a\hšBë%=ÅáêÁæêFÅ*™8œò¬q¤ùüמ¿ô—Â28ñüQËçÕVe ¯Ýºž3uúÈéjkšï°c¯œº³vþ.G öBezqF@U µ«Ý†ƒF©òÊ™ææÏž?{áÞE(@p3g&y‹l©õÞjweçPëPiº¤¨¬­ŸŸ|,ÆËQ‘Z´>U÷g ý¼÷`ëÁ ¬‚39?[™­r½¹’L@5MEJ=½85ð†’ª ýèöj…桉…ž=œxqòգߨ^Ùñ¹gç2›šŸ*Ôýx#«&7WnÝ L×48‰³Åß8{÷Ï®ÓaQFë\«u|:q2R¢·®ÞÖZ×ëÍÙ™…Ús­Õ³A`æj¡DjûŽ5]È*9µÕúæÚõ7/=z´QkÖ«Ô?>8Öb.±s¢“’.7kYEÊX´WÚ7t+µêÔÜ,)ó#¥îb%ϲ²ã‘Dº„5fæ…@h½wõö=ß³7¦§²ŽÆa¦9ÒððÒW_ò¦ªŠýÿì½iŒ]çy&ø|ËÙï^ë-«¸“"%‘”¨Í–-;j¯I/^fzœÌIftƒÁäÏäOÁdÐA&@wݸ“±ã¶;m¸³±Æ±dY%’â¾Õ¾/w¿gÿ–ùqn‹›"2¥HNêqP›¾€jª6šº¿Ðð÷—Ѱ=@ÃG Ø®ïÿ ©þtï~燜e õw=Û‡>p£,ÆÓ4–R†‘‰±GQ”EƒÙ™¬s[&"¦éƒ2µ6ŒÛíUT÷¹ßMC£!«àÈ€†¬Û\EišÖWW²êýb±X©T‹Å{¼sä=ÿ ÄqJ) ÃÈþºçyÙRÞû:]×Å?ûdš¦J©c4è{Ÿ¹›×°I" ÿ¥ãCŒ»YåÙ›õa•h )c„ê:·J=|¡7-=°ŒÓÎå;cg¼OOs Cꃘ âðѦÃZ Ñš??:äS2´ƒÀhçR!% 6(×3üvmnzríÚ:èÀhºw|œxvN¥RtºíÊ@¿Å0ò›a¬»rijçôôâT|HŽ3—y£®’PD«Tö[•0‰›¢áÄâU\ } „æh±”ß{dß»ì\OÄ㉧N-ÔV¤…Å¥ÅôÝ óöBi°Djê‰'NÜüë«hˆðÈ£G¼¼³Ô­5§—gÞ¸­\n¸00¯ŒíÙ}fø,¦{Š»ŽY;æñ…KçÓ¥W°øÈJÁ,F^ù²&a£YóÆ<ÎË“.mÏÌ-\y÷:Ú@ ì=¸·P(FK$¡JhÉ\FŠlzqYo®%ç:íšù¤iY–/;•þ~™ÓÔ¦PD…ZZâÆÂµí¸œkV3>¥úsC£|äÄÑ ç¢îöìûá'…ÇWü•µ•õʼni¬ .Q‡öíò†œ$—Q±¥k Fº2ôÛv«±rý:.ãj«~`ÿ¡Ñ]»½Š#M-¥Ö„i"‹ý^‡+þrÔìÜœ¼¬¦ÕÂè+²V-tŠyÚÇY¬ÑàiœÆM±¾²ºJ-cyáz|®†œ’;båÂX~æøµë§µ(rÃØ}`÷é†AwêÚµ¹é*¨$ñÞ± ?uü¥7~¨À<¦)Â8˜½¶|® D7ø¨×oôyôØë/G ™²ÆãO?æËn¨‚ —.-ML"ÀMËï¸ýƒ}VÅ)±Š%M"¨ÐÂÎÛëÁz.ÎͯÎÔ.-¢ÉGcÃ2™‚çÚÒM8gšXTp¬Fk3S³¥BqêÊeÌ£ql8”‚“Ê¡n­ËÁ-Ny¾SFƒ~  idlÜd‰Ü¬Š¸{g_r?û¶U¼÷Ö[O‰Ñ”l5ï½>·Úla4dºñÊ 6Fš¦åR_·Û%`Œ®gB¸Aÿ¦ XÝeK•ÖÒ0ì AR/--•J%×u߃ÁA³Ù¬V«èÉþ­¦‹Üã"é¬ÉNhJȇ|8°a+~´uÁd4‡¬ʦþóÝEˆ3.´"ÝÔÉ`¬¬ƒæ&µ!›ß”agìŒØÄ5éºÜàH5 bè+—|Õꯔ®üà],í·kô|rßÒj= $Ôå.50W2´}1[Ã,²H»9°Öª”…A›ÊTHÊryý\Á(>ÀBvãìµøRpR'%yé°‹®¯º‰¯ªA°wdOÈ‚‹.à|ˆ˜{çFÿ“}Ã¥~3µz0ªq0<²Û'â‰s+“KYñ|çâêôžÜC'Õ •·ãz„¢ZQ\§izóü»XöAÆÑô̤è‹÷ŒïŸ™œÉ„ö¡6óV:cˆá_ì,’µGŸ{Dxᕹ‹-Q/–jɚ͜X%f䬯40 Ô~´ûšÍ&syè:D%‰Šœa¦lttôü¥óÉ;H`7Ô»/üüç]f+¥ÎzDñÌJ©$YÒŒÙÌO'±TÑ8=kžpž~þcµ·æËe'ôìÏBu÷ØZZïÁ•X(•4‡–]׎…ŠÂ bº+¢´öí¯Ž4fç§Þ¼Šy  \Ó±±ªÜ²²Ì(‰Û" !c{ªµgtT·£ó—.ã¬ЏxöüsÿèSf!× :µZ-MR“h×±Ê/ŠÓ«×¯ˆK5Åõkס¬CÇJ{ò׬ӺP*5-?mD:Y\l`è¢^Z8|øèÒÌâ'{ì%öÃ8BÖ•£:6<,$4™›BXY… \¶ó¥Š[r‚f˜…^¼¶z½¼»¼tzÓƒži7ûa:ÌS2 Ò(â2RR¥NâôöMÌÝ\žœADÐÂ1}âñÇ<ÇÔ2‰D*¤ Œ‹…R©œÆÉÛ¯¿ ho$×âw>uÊË{‹­õÅöºÉ-f9,P¬›Ö§ÂË>À±„ÆÑ!3ˆeßîÝ0Þ‚Ò‰e¸;Æoóko×~ØŸµÑîv»Žã¤q‚žö75QZMÔ¸sï2Ðð/Ø®ƒÒ‰mvôÿž–N<è¼|X¥L06ÙìY›ØŒ×½ÔÙùŒÐþÞ"Ž÷,Њ‚Ñ;4zßC.ç~@CÖe3­LÓ4û¥4îQ)­|ßÏ:ú¾†±ãX÷BrÕíÁý-ÄÁ¶Í$‰(å%attôos¹\¦GËËp™mëq¨{²ú¦_ùÈÐÓ ‚€snšæ{´¬¥åßEêé_º¹¼ ˆeZ–iÝFl.—¤agìŒ÷¿ŸŠÄ7µ©U È„”½æÚZ®ÏdÌÌW½ÎŠİ7d¥Öpn°­u¬¥j*â晹\ÁöûGóm( >¯T0r “‚اÔPNÉÊÁ¦) E‹}~©Ýí¶I…Êe· ,h))%,QL …Ž«Çúû'«>–(1×´LÃ^_¯õè Zbm½éîò˃óå%á‡`@™–=Ó[Ÿ­S HpFD¢»­ni´âÙ¹ÂÈp{} hÁ*”‹»ÇÇTµÕ5dù ák« »ì±PŽÑ‚Óßß×7@À!Y¹ØgiË´9CdÇ2‡ä ùòjy JÂ3FFó}÷(ƒäҲ͖éNÁ‚Ð}¹òB¥…ÀBßਥí–ß^ V„3h"9”ªÍ¯)&LÊh•ª–ú­ŠWšAê§íf‘uEË÷Í~§ZÝ5»<™4:YSϲe à RÙVÂYÉ*ÆiR°\’(Ïp††úWºëðáõ¡œ+çÌ\J‰Ë%e–ËHª¥"©Ž”EŒñÁ±™‘i´Á9úòíµ6 £nÆAè&c‘j-ì èz»ûú§Ê«hÃÅÜ`©bR¶°¶Š´W8 jͶbF¡d7‚6x.gÚF*L"X@Œ =i´›ÒÜdnÎF"$°K9Å\fºKËDõ|htÚm¦1Pª Wú—++ª>X¨xsJ‰Ámmi 8Ž]° #åáN©Ù]k€ sÌ  ¿Õ‘ŠÒ$Mºð¹dHõ@®oÖêÀ ìÛ•çÕÜ6¬r¹Ì™i jÓplSš¹bÉìk$!P†m¡äõE j Ò^ͱ½@Ã&‘á¶Ò‰Mïän(ánge{e²\‡Ö: CÏó‚ °m;醣ÞÏ1ÕØR÷z—C¹Å!&Èj(>Z@ÃŽä{$?ëb4£á=úÿL :/Ûw¿ô¾(" 6‚³I’l¶{0MsS|1I’÷Xçw—N(IÁèf³ÌÍÏÜïùl^ÃÝb…!c4diç¬Ç¡ëºœñ|>ï8!$Ÿ÷6PuûÑ[ÎÐÛƒd ÓmQÂËåòÄÄÔþýûÔëÍL¯áîQ¯×³J‰‰‰ýû÷w:¥Ô{ Ô?ôlÒÛn㣖Âx°u›±?²Ÿ1²¥’5"„dr¤”Òl6?è«÷ßrœM(A*I)Íz)Ò4eŒ™† @i•$‰gÙØ;cg¼/¸]š¦i,eœ`íûï¾õö‹G^h4ÚÏŸøØùèâÚBí¹Ïy•âòÜ|ÿà¯uÒ˜J‚T¦±C¼R¥¨IU"è´sž364ÞG FC­§©ÐÝD T FÃõ.õìñƒUîŠwÍK{öT‡w•Ý’Ùí²žra˜°©’¦L[õùÂHáøžƒyËx÷òÍœi=qäi/ΉP¾{ö‘ö|¼}æüÁžñê8ú9 ª=úÄxaN:ÆÓŸ­u긹ïѽ££#Qta‘¸i¡9Ût¹Ë9·û ¥rvQ’úÀÉ;£#ÃNÒ¢™¨X3Â8¥ŒGYË‹Ë{*c•“¥ ṡÊîg{®Uk ôM/ÌhÎaŽE¹L…l$Õ=CKÍ¥O?ù«éëi*Ÿ}â“y³4wq*˜hK €~úꛟøgŸì+ËþÌÜRßž½BÇ{lÊ+ÎàÁ}ín»opàGÿß_CltÜxóô'¾øDªüC‡Í—»‰:àòÅÜ3ï¾)êAOõ@áÇõã¾øñ¤éÛs0gšaœò’±«X5˜Ýíúi#¦’qpB9üÅÖèðˆwÐ:žòáÁ=džöh_X>A À¸éø:Ô)3ÓæÆÐÞÇ-Ÿ5Œõ]{ÆvíTZ_ok)Š„CI™ˆ"„m”‹Å}{GòætñÚà`uȉ‘Kí³/ý!à?€ÜõÎxh¬[K'îè4±½^Ëfð¼™ É~6Œ¨ÑÕôÝ ·»ŠhúŽæÏDéD†5<䨖à¶ßPÊï/Oöœa$‚¦5¹çyÆîy=÷»Î÷–W{Àâ~@À}˜ DàbE75?€PTjšh"ARE2@£k meAyDTSE‚ˆßZØ6¿m¥L?Àü*%îY~þ ×³]Œ†÷èKô{,˜»ïëžÏPN(58eš@K¥ ¡”³(Šz©^Î8ç›—ñÞR»w „A45('œpÂQD ™ýL5½ýسc÷, ÷ÍF3NB!Eœ„¾ïب_¸Ïó„"¿Êî„€BJõU4 5ùÕÿþ—;·Ó6’ÀßXCTh@¥‰²<+Žã8ŽŠ¹Â민V.•¡7:¨mç>³Å’< İI‘è)’e€Ë&¢'³N·¨@|€;F£Ñ˜™™™™™Ét”3‚CÒg•;™bH>Ÿ÷¼üg?ûYý>Ÿ¨~˜'OGªz«ùæ›o¾õÖ[“S³n`9ž)•JÇŽ{î™§?zÄâÔ²lÎå£OÓ{¯î8¡îrl$ nßû6·{¢q‡gçáøó«ÝÓ2¿5¿äöϨÞ˜ãùº­R BóLÃþçnÁ@³Þ}âÄÇèc̯wmåìvG¯¼~yùÊR“ÇTÃ3ÔZÝcSm=zød·Õ6µî3óz=ª][Yž™‹B¥ˆ}ß´ æ‘Ç•ËE•¦…BáÙ?iF9W–¡\X™¹¶5ª ¢j‡w‡†ÄzœÞ³‡çœ‚Ç ˆ ¿Õ^¾0‰=QœëW®üG‡WujÙÏ~üI… d³Öì§}3“3èE¬`¢ùzK~Y³ÔŒ=õˆŒëÓk “óS—§.Ð4g—­ U“ï|º>SQD°²Ñ®ß¹¶üJ©/IË1ͽvùH¿Û¯w±i!Ÿ—Ý,¡9[›»:ù‰R*‘ µèèþ‘G1¥ ý…O}‰)Ô‚‚™ÓËéÒ+“2•q ˜í¹ÜÆ@ix¬¼µ±úä¾S¥BY(RײØ÷_~ &,× RüWæ‚w,ž«Å£ÏÉ(Ès+GóÅöÒ•ÅÙÅE)‰!Œ¨†J'ž}²T.·:êоÿü1¢ˆe˜~£³peyñæŒ R‹š©¡ƒ¼|ää±J¡¨›‰£½GžÊKDÚ”äšó³Wnêz`ˆeÅ´Æö‡c'† È+?÷ìs¶åPiû³¡šê¼k³jbm©¾2Ú}`_+꺣Cý»v]»pãØÞ±ÿp¢7¡ˆ±øöõO~éùz[ŒŒ [û *CvàhI&®ÞD»²@bý§ký_î¿qóÊèþ].s;?0<ÐhbM5o4æ'S¢ˆ”©áò§>qªé×Ý‚÷â?—Di·ÑѾ,õ_9{~bbºÙéhNtªrþ‘G©ìã O<Õ­¶ÛÝmëáþÎJ÷úkï"”PJö‚}»÷?²?_.í®æ>w¨¯¿ê ´&vb.¼6gZ4‘½>Lq¢ I Jµ"`dKF»çô+õ šØj–2‹”E'=­+}ë3·8¤wc <Ë0oeíÞ³ÙûÝÍ)îvô7WÜ*ÁPïñùŒÊ›ÕM´Z­8ް¸ßn}§|™¾S€üÎLàƒ¾ï»®;00AFÍBd>_&¾UÌf¿bŒeZôív{dd¤^¯—Ë奥¥ûµŒ¶m;!„eYœó¬ç\JIÉ¿£êŒw2A¤Ô÷ Ô ˆÑZ¾OîÉÆ‘Þž)Ý<ª{žWJÜ3 %„Ýëûï{ýï±z³ž(Š(¥YÂ0Š"Îyγ“TÅqlÛ¶"n(ÐHCAqhƒi›€kJ4Q±ˆSÝê+{7k&—.¾öÎK…å…|¡†auú‹ƒO?þ™§Oü wRøœ¤p,Ê0M›PÂd.…+!T*º Éùû­çÔÔÍïv•¢lK‰„&¢ T.·;mÇq fA lÛ–RR}‡ð?”q¶ºÑ%DgÍû²Ž¾¢ …R’Da¸®mšv·ÛUB–e0– i0f1ÓÍya'"U1aŒ1n0ƒ3%¹àBˆÌ&lö¸û¦nÃEA %‚&Rk€(­émG@ë;yg[MwöÃVDò !#@¢9§[V½—Y% Š¡çJ* ðÞá• D£6µøÚ«?}ãÊ…X¥KS7ºíΙwÎÛ^î¹O½ðýÞï .—Û«¬C×ã»F:A;Õ‘¥D´°“‡Ùã(²l¾ï{ž—]?¹3úz¯õöÇüÇZë ‡††*}  bFBªC¢¢B¢ã={džwø‘úä§>–¬@Àâݬ!MSÃ0jµZÆòX^^Î^F׳ÍÚóŸøX_¥Ï|¥T>—ÏòdËét;ßúæw²7“((lW¿“·ùèŽD% M(ÛúÆŸ|ûùO~ê‘g>uéúäà®}Ô°××ëWæÞý“?ûů°çŸ<˜Ò€(¸Vö"g°c,ërúAûLÝn7Ó(m4årÀúúzÿæ»Ý.!Äó¼l=dÜŸlGØ$à<ôˆ¢(« ÚXŸ÷Bo·`ê²¥¥J(@¡)âDÔ,Îjõõ¾Ê@ƒ8t­¢LžA`[± ºƒ5|¸(ƒêÍ2¨¾ eÈÞ^šñÙ5˜†Òf3ÑFæe°^‹5j“?ÿÆ_}þ×¾bóBÍ4ƒƒ:N®½yýúË71^þ™n.ÊÂsùýG­/®UóÇ‹»ÁÂÍ•ù‹µÕ«]4€"2âóíw™ cvU¸Õ ;%»‚¶n-Ö—/®uÞh  H ðqv}&ùÞ#û‡Üb"bÕ…"@\»pÖFÀÁ žnŸ¾|ùð‹µÂe%¢…Ey¥|õG›WÖXZň†ÈKßýÉ'ñß‹¥“´ÍŠU¨–†®¼|iùâbäl»›FNÝq IDAT€‰³¯œ>ú죱 ¹µ¨Y(Œ„Ï^ž¼òòÅîù6$ÖôjV'‚pZÎø±½ã•=ͨՙj:ùÌÉØNÛÍ· §ä¢™\øþÛí×:@Â@Ü 1‚›CKÇO(#’]»m ËI'ºðòi, AäƒM`×òŒï­7Öú½~›Yí…öì…úìùÕdJA@ ‚vs.žrŸñ†öV3mµÚÕ‘]K³óÓïNÝkïsй(JtbÛF~êÊÍïÜÔ盈)!PWq½xsdÏ!åš”z&sYdøÍ¨±Üî¬H6XX¸4÷òÿà+ÿÓWü™¾#Q(Üûì?û·ß¡&”¢iÕä»ÿþ›_üµ/¶ÓuHΦ¶!*yëÏÿýB÷ÊF²E>€¿úÎ?q‡Ö`nÄÒíö”¿§´ïâÛW&^›Àb k„™j,çsý9§êÐu™eØ,MS©{úÛç°”ýi Š”v®Í]ï¡÷ž]±™©7œË›”×n¬^}í^•ˆ€Tƒf¼25]\7œ8¼l_?uò"oµxÜegNŸÆ ’e3Û “ùÈÔ”jO§BЀæÐPPþAVZÍTgéâ_) ¥µTJJ%¤$ĶœMönæaf5¿?óí¦Þwöw›M###Íf3I’z½ž©Zzž—IZnÖioê`1ÆÚíöØØX&G¿°°`šæüüü¡C‡VVVîùýq¨Õja‹EJi»Ý¶,‹l–Þûˆ[aý=cû{èA©Ûø(x¢7Eû2ÿ>‹ÁšÍf’¸™¯¹ ¢¦©¹ #?ƒz–cš&QVJŶŒ¦›×O_|åÆÂ™¶^° ’‰îÅ›SÇO+4V7VÞ©ïíË6=OÐ@š-ÁåœC¨TiÊ>R€éCÌïGkä y­µŽ¢Hp§ B@S M{ˆ¤¾ÃÍ×Zj€]eï£ã8¶mJ)“$ ‚@k¦iËÊ@@•¦)À¥Ô„PJ%!J©TJÂXft·¢±bâÕDBCkE•ßzUT“‡žß¿Ár*@€ŠišÅ™„kÚKök!\žáæò…ÝÃÇóÎÌÊ\ÿ`1h·ª{öÕj|±°´¼ìö磊¤€H$ )ˆ…ŒñàÛ`²¢GØ¿› CßY „8Žóâ‹/( =üˆ×)#tÚ‡êÑúÜŒíæº‰"À8áT?$-àÞ× C^}õÕsçÎݸq£Ñ¨ïÙÝlµž:uê±Çàº^GtE¶e%iÚnµlÇ ||ïžVG˜·,z›ÅÛÀ)ˆ‚¢Íkˆ ¼qæí?ùæ·žûÄógÏ_²¦W¦—kÖt­¿:¶{|ßàÞâÜÄåo}ï/×k­/ö”–½M–ee(ƒ”òïeH’$û+kkkY§•þþþN§S.————‹Åbö¬Š§X,𦙂„R©´‰þ<Äþ²U`åox÷7á Û@\ ¨I¡ 4°¸¸vã­ÙÙ…Éç*ý•ÑnÐɹÝ‹5¹Þ†ء ¼vÍ¥¾7fJ6(DƒjBµM”ÙÛšH è¶hþÉÿöoùÇF{á$wÉùóg/ÝH.h!(¸bD#…<×8½øãó?>ó¹/~¦½\›^½:79½6¹ŒÚƪ*CïœyûÜ‘³?ñØžýû&ÎOL\Ÿj_l¡»[¦î.^Ÿ¸|`âÔ3OŒVÛÝÎòâÜå7®¢øÈ ”$&æ¾{¦‹ûvåû‡sªS«›ž™üÖ8 @R¥%C¢°¢›ÉÒ™Ýïà fš¶e¶›­æìê…Ç< Ð]‰ açÌH%S¯OL½;Q>68vxÏðÞ‘ gß½qöš¸ê#RXœ•rÅõÕºŒ±Ú\]^›¼2[=ñÂóóW§&nLÎ\ZÄZO.Èî3¢ÕL1h¦ˆA ˆVT'½‡£‘%V4¨[8à?{u»¥Ú¤3¨‡Bo:7sf[¹ùZë¾Ö9¦§§9çŽãH)‹Å"!$ŸÏ3ÆVVV2ù¬VV)µ)'¥<{öìóÏ?O9wîÜ‘#Gfffî—a^ZZŠã¸P(pÎ3ÿƒ÷ãØï¢4Ã2·2+¡gŒU«ÃŒ"ŒÒŒÝ$Iš¦\Z­Q®ËýeÞlvkRjºÆäÂÌRmêÂÍ7o,\œ¯OŽ´ åXòè‘ªß “¨–sX´~úÖ_4—Չßp÷C@§ž TsÂA“)`î(ánã`„·Zm‘­u¡`9–m¦ÉÍ0Ž7ì#½•=$Tnáîo%d„–e9¶£”j·Ûõz=c$e2›L)å¦|ã&u+bÌXN›pïû 8ïèý°†@)ç€Fº5&¥h·»Ì-““‚³Þl6¹0G+iÈ㥤¯R4×+žé˜¦éÎKÓXKm ­µŒ äü£¸ r¹Ü&IïáŠà|ß¿yóæç?ÿùÅÅŬF.—[^© ï&„0„œ\ùm¢| êß{IêiÞ¨wŠ•uêÔèèèððpWo\ÿìç¾àŠoŸ9Ûêv–™iä—pæ˜Vª¤Åêè.ª‘•ÏóÍøRÊàô~B*1²I»qõê?ýù/¬¬¬ý7_ùò#'ŸAþÕ¿þæZ£å[T£Xž½qéå×ÞúâgO@š¦af¯RQý-Éïg˜¦¹¸¸øÍo~suuõ+_ùÊ3Ï<“$I­V ‚`xx8»¤W^yåÿðŸ{î¹§žzêäÉ“ŽãdL„;*’>¨õIÈ,@èVBNªad” ´×Ç›„@|úôž}ú…—~ðç¿öëÿ;`æÜ"´E`°Ǭ÷ äaøña ®O`„ >ÁŠ ´ë"¶!ÎÌŸšGˆ)Û9²·‚´¢’É8+F E¨åÙ)K”/äÛòìÙsg ç˜Ie]õòÞ¶á‘”$:Îy¹V«uo? ˆ6ªÊ$ à0×’œEDB5Se5HL£“Ñ2!‰’ýôÓOÿÎïüN__ßÐÐÐ÷¿ÿ}BH¡P¸ç÷ŒŒ\ºtippðøñãív;Žã\.·7ló^ÎyÖŒ [”2,ËZ]]Ëš­2Æ2äˆRêyž @½Ó^_­-,,­¯¯ Q“~tÏòúÂÄôMÁ$4·­|u!ÜJ¹zåÆeŠNßÁ>‹µùFpÝÎ=˦KKÌ Dç !… hSž‚ð_páX™¤óS3„ÕÕÕŒ5ÆI*…kß]²”•Hl).ج50 #Žã(ŠªÕêÉ“'‡‡‡s¹%´Ùjf `öšg‚|J)Ã06»]¦iš…:h¸YN…ûwº3Í©u/oÿ¡o$[ö`-^À=3;#tF]š7—×–‚1㯓»ûFr¦wâøcËó32”œhXZAk-Í@éw%ÈJØlÛÎܬ`í!îËó<Û¶s¹\©TŠ¢Èó¼B¡Š^wRN4'`Z2­¨††‰/¨i¶Ûm;§‡¨m§¥[–eÆ… 8pñâEÇsË}¥Ê€áäâD¹…òøþCŸüäÏ ãû–eu:µµµ|>?R­NMOÏÎ-l¢ JAkPº­BK€´â`qj‚¦ñW¿úߺ^>ó¿2ñZ®<äûþxuèà£OÔ—f¾ý½—ÿÇög¬T*ee’®ëº®+„¸_÷œí¾ïŸ9s&Žãñññï|ç;µZíÙgŸÌD4•RŽã\½zõþèžþyß÷¿÷½ï‰Ü8*€oº¶Àt…в§š,­\è³Ø{éÝ+a§aqF`ôØ=#YqL扃ì´tûBÉ5¬„X¡F¤p€ xÁæ×%º½¤´i Ȥ×YRA) P iöÆ76Ì7‘Èõ4Šóð&}I@1R¤š$<lj„&,-ÒþæZ³`–MÛ’(𻥶­Â”QÃ…MDV³KMp *|;Õ. ©RB©M˜–]¨.,@!f J+¡¡ PNåÕEjP£Iöå÷ôH>\׃"(\J,®ÃkW 2¥¤Ù e2‘\JAÁ†ÆN& /ˆŒ%42D/­‡·øj#§¼ÎdLÀ14UHc8]tƒ&ÄÁL ‰9aÌÖ\%ˆ¥Ò=, t”¡š0Í!04”¡Iš¤I"Á6ÊX/¾å áˆÒ’§Š@un ƒaLÊÍ”É$1Á8(#¬E·` Hm8†•è$Ö)s SX¬¾f”n Qõ•˾¼äVâ Q –aĬ KÛ:êj™ž2‡ô$Š æRI vü^³Ìdv‘i0qÅ\bF„”±ˆ5”4E¯@#»£pã¾lP\AÉDpeÚN)QIHÑ)2CgBk U =³I$Ùh 6ž¿ãµ5t,|eô¬.Õ½êz²Io½}«“z‡ö>rQRÒ Þ.¶´âÞrÄqœÉ.ø¾èСǼZ­f^¥T‘õŠË¤¿3ð/}éKY2giii``à©§žâœß8xõÕWF†ù|> ` ÃÈúÀí<ümYð¶)ÕžŠZk˲²ÈÐ4MÓ a˜¶ÛíTˆé…ÙÉ鉹¹9FQ­¹E«VëÎÏN]¸ñêìò͵ÎâÉg;1öä©0Î-si©ö±ç?ÍHwiñúÕËgÖšk¡ÿW« +ÿäÅ1”;^±\i„8„a%¦¡)và¿mõõÆâüÒÑ£GmÓÖZ»¶©²<Æ=»c€Þ!dý×ó¼ÙÙÙsçÎÍÏÏÇqÜ××W©TvíÚU(„ªhFÖY0£Xg)eöÎfQʦÞÊû'5l~,£Þl¥aÿ]¿,è9BPдçeE6‡V0];…jwë<òw¹­æ¯Ã(:å\#l VÊ>8wãŠ)•Å™lM…RÈÒ6´·î'Èš)¥LÓܤ#=(A£ÑÈdqêõú®]»”R¥R©ÕN!’¤’¦\kFÕTƒFíD(¾ç–§pÇ´°M êõ:ç<ƒ¡÷ïßðàÁf³Ù錛ŸùÜ…”7&&–——_yõuív{xx8[!ÅbqÏž=‰Ð+kõ¾á0§0 PŠ,+¯”JÓØ²ŒmYZ„ÝG:zôè/ÿ¿ø‰ŸûÜÙK“Ò.þ3‹+«ž|NS«Ñ*Åœ™xéǯ¿úgßͳdhhÈó¼¾¾¾_ú¥_²mûƒF†qéÒ¥£G !vïÞýo|ÃqœOúÓ¦ifxã7~ï÷~ï7ó7/]º422R«Õ¶åï>ðúÜd4l…?{=³ ¤ T¡WN•¾ýúK?ÿ?Q_ºú¿øâŸý×?ÿ'_úU¿^ó*#=ÛFzx+ˆ¼•ÉÝ~v€r‡r¦5R ÍX_–¡0‚(,hÐÐ0Ž|)zN¿„AØž¥U"ÒX±ž§fŸÑ×I»)”Kµ(;9ej¡DÇŒQiRFÑÐ*TT$I’D Ê€¥”’€ò¥exD¡A@ PÎaš°bø4ëÌž”è¬ÆÍ„H·raÇZ Š‘œãš‰Å(eŒÚ¶ q.J •­n@®cE¡™ixÅ|i­¾&¤B‚ÊžUæ ÕŠ3Å•ÌÀm €Sn,ŒB(@+»ìaè÷@êHeH(‹*ØÀýb Jr…B*“8‘Bœp#’H© 0¡)@0X­D~Ôm\S ÆÀ@m81â1UÔ„VJqJ¹ÁºÝ”è,Ng Œ‚k á1ÃB H€Œ›v"”Hb®¹L…‚J Ä7AÚq”SpjÌbŠ­ê¼1ËdÜ„–Rë<5¹O”"2ÖÔ2,å@‚F"!›B´”Á”®‡V*Ò:ÖæXYƒ*Âzæ…3(!Unc3g‘ÒZdeLƒ*€*ÈHh€1Æ8J¤iÏT`,”BI!¢ŽÐWJ™†iLË4Š’€kØBõ4B´Ò$!:“Ä%° –L¤$e)SÐ ÌãëpÃäÞߣ PZAí` ïoË»[ l'¤yÈ‘µ…KÓ4Žc×u¥”óóóóóóZëB¡`šfÆ—ÞÌÆ… <Ï;yòäúúú±cÇ._¾|?ýËJ¥R­V}ߟ™™év»ÇŽëëë ÃðÃåNÿýÙ4eE¸EQ³ÙÌØ(™ƒÈ9_ZZZ__·ç•7_c&«ô•FwWû QÜisÊð¥ìV†s{ž[0ÙÚ „dIï¬ê]{3P k)}d,† hÈ8·Êû3¶Vd“¹¾ß„i­/^¼¸¼¼œý­ÍBŒ±óhYc,‹ý8ç¾ïOLLÔj5Î9¥´X,zžW¯×;NAkÎéÉSÇŸ~ê$‡>ãÍ·/üdnáz"»«ë ÃcÃ{PˆaQ,©6ç–«cÕ©É…¥÷±GŽ iO77»Í:‘oP•s]ƒ¹~Î`0B`%"Øñ·ÓMÓtme}nf>:û€šÄ±ç9ܲÓ$ ‰êeŽn^,îo ‚ ÓdÉ^ç•••©©©‹/~âŸ(—Ë™š½"ƒ2aÈMq–L«¥×i‚±MjÙû±îè"ña¡Lƒ©ÚQƒgЀ ZB§FJCàh]ø7ÿ.øñ]¿õ¿ô³„{¶+¯¼ö¹Ï}1 º†Å­œ“Ä ¨AYB)é¡;.Ñ€ŒäuÇÉ”qè{’$É4}gggGGG3H(ŸÏ‡‘¦š¨,šjF³Üâå+?xöùÏC”C!‘‰m˜Ûò¨ã8¦”fûËÓO?-¥Wtñ³?ÿO§V®L̬­­‘«7•êõC)‹q†X^©T %±½â`µ~±[Î{¹EB©4ç9Ûå.( E  ª;zøÚÕ‹ƒ»ÆŒLÔ…V|hhÈ÷ýf'*•ÊíVÝÌåµaÕÛi²>7::jšf·ÛmµZkl[ÛñÞw?ýú׿þ[¿õ[ŸûÜçÞyçgžyfrrò?øcìõ×_ÿêW¿:33ó…/|áOÿôOõWõäÉ“Â0ÌZEd„‡ÀD|}² Ò6½ _ȨÏ$‰@ˆPK 7§Îœ8vP4‡úŠëó×>þÜ‘·NÿÕ§~¾Ñ€‘‡¶@Ì…ASÀÈm¢ ;ã£=$AJ$L °á'PJq˜ Ô‡„PЦ˹EcíG©¯ÓpÎA4´Þ(J× „j0!•:”)XŽ–,‘™D%°{£Ô‚*F¢¦``>Xé-ÒM{m**´Š…„H XÃRÜ.[¹rµO3Ñ\©uÖÚ € ¤DCX†‚‡Ð%ËU·7º©•šõF€Ò†Ši„@ª L J2ÛpIÚ݈'‰„!Á8ˆâµ­[:èFÓM»ÇðéERfH€4a‚¹TJ…¤J%·*-d¢ã$ƒf€H•A˜kpI•Ÿ$B¦Ð€/_ðW¡¡% Í^!Œ(¡eŒ®ŒºIÄÀ)(a¦¶xšF"†@ ¢a`„@i©•Ì$«‰‚BÉñ¿¥] PÓ œê8âB¤ÒZi­T¢¤–€ÜàÕT$Böø.±†à€¤P.´K¹aƒ¨TÎ$—°€DI™HM ¸ÈZÙD:0¨iLs-‰T™H4¤š‰0íôv¶ü„Aª„"èY? )åÖv‘gœ[žHU;=Qι"B€Îy7sƒsÞ‚ ”)WJõzýV›Ú«Ý „ª@e AD œ0 Ë K ©ˆÂÅú^pïÐð>€†Í®ê›gv€†‡Ïdaj»Ý¦”Ú¶‘0ggg«Õªã8™ÒU»rÎWVV®]»ö£ýè—ù—/^¼Øh4,Ëò}ÿ~í-ëõzÕju|³ÌÉ IDAT|üêÕ«ÓÓÓ¶m8p`§tb{GÖ½23|„JÁ—¾ô¥$IºÝn&·Ñh4¢(b2êtë3ó7;þê™ó¯Ï/^srØ;ºÛ˜‰öîß5\-Ÿ=wÞõ C»<}È`ìíó¯;rij‡k+õ8¨¦Û„5@kÑi4÷îîï£ÐQ$þ×ñ?ÿÿì½i\×u&xι÷-¹gUÖŠÂR€ @‚ ¸H¤(µ%™²¼„»9–í¶<-9$[Ž–Cî»»íé‰hGkBž‡íiom­‘Ý¡žiY#·8ÞÆ£Õ–Dj¡ÄA,…ZPKîùÖ{Ï™7+Q$Aš IÔà"#™Ìz™ùÞ}÷žóï|—f#,ªIU«;;ÝVjyÄ¿ò+¿ÒY8ù{¿÷{D´sçÎS§N=zôÛ°©‰ˆ3žøÐ‡>ôá8 Ãf³9;;ûµ¯}m0:t(Š¢~¿ÿ‰O|âÝï~÷Ýwßí FS«Ýn¿:4äJæçeR @˜Ä€1P0‡¸µ°ðÍgžþòþÄÛ£AK“W™,™¬·±ñä³O·í¸¡ØØ ”JàðR°wù‚00™F€"@ 9ë<' >à&'.·&ÍŒAå+dΛí¥I%^Œvèþ®5x’Ê  Õ¹âìÎÙR­l$ă°c8gDòÈW¨ÅÛ¼^.1+Ì¢ÈdÖä†-ˆÖ¾GŠ ÛÌ¢@!(rE-Pëæ£·­%˱=V:0³÷騧eÊ8f­@ØoA{þð¬ìÇu÷b«Ñ¨Qmˆ³õÜO=•è¢*‡^@Y#Ì€Š<¬Ý,†¾±Ÿç™ÐZyRÊæ)gr"zDl¡Ô²µV!i­µGÈ"bMž‡¡Oq‰Ø0 eZ*4Ò˜WÎoœ>1[ÈsP>Ç&·þ8y¥B*ÆDé`Ð…12A¬ÓY‘” ‘!"ƒ­a+”÷¡@Cƒ ¸"¿Ù„r€(RÀÐîw à! °ä@e‚@C+sê+l€y®‰"g&‚L@4úµ'i-à ´h«>±Ñâ•¥šª@ÀWÐJ†„‡Öz™QÚ¨4T„E('9$4ü”3·tñB… kȵêVhÈD² ÛÌ‚XÐ@>10x ¤’Aî'µ FçPHÁpn‚B„XD i›Pßâ!¶éZÎÂP0@‘,ØÜö¸“§10± dvßˆÑ #À׎œ€®c /WÛÛl v.Ö%"}?à›¨ûˆ+ò½ gRÀÌÎ÷î·~ë·>ò‘¸ÿõøã¿ï}ï»óÎ;Ëåò`00ÆxžW*•Μ9377711ÇñÝwßÝh4>ö±‰ÈÔÔÔž={~þçþãÿø_ýÕ_•J¥^¯×l6yä‘4M™¹ßïïÚµë£ýè‡>ô¡ïÐð×ñ;&P÷ÒTó+;N¥RqMNϯßï¸ãŽV«µ°°@D®øÐ¡C¾ï3äâåÏžz&ÉÖŸ9þ(úIj:>y•±™ì¹þ‘£·üÙÿõßvlß5>>þûÿñwn¾éÐ[xÓ3Ǿa~W%¼!šN·yì±coû‘ƒ~ã«ÓsÏ-9`x§_«Ý3Hž™Ze*ɳïÄu„—ºŽÌ|Y–õw꺿ì÷¼Ìèt:ív;‹Ó@{a±hÌX–ç Åq¹V. iž%IÀD ºê¥[.ÝBÇq©TÒZ‹Eß÷™ybbbccc}}=Ïsß÷wîØ¹±±Q«ÕZ­ÖÄÄÄH©¡X,ŠH¿ßw–CÝ“,Ë\¥T)õR-T[['F¾ÄÔ¸l`ú*²õÑfà>ËÉËžOAMŠú ó\¥ÉûÞSëEÕ,õâ¨3ܨC¹wÐÞRékÏû?æ_üÄ¿ÿ÷^–¨ kwì|÷¿ùždµñ1 PñÇJë 5€¥@øJXýîl¸ 0 C··¹ t¥'ÁQåï¾ûî0 ƒ ( q2ÐÚw2á @ èÜ`È^¡TÐZ Ãæ‘¶ÿ·:ò<‚‚ ˜››;vìØÒÒÒ[Þò¶ßýè'~ùüw‹–,›ñ±ÆFs}zjfõ(}E:ËS“[R¨Hû`*ÄÿËÿÝOÿô?É2h77ffH€YF®T›ö–.,|å?{Ýv­^;öÔÓ¯{ÝÝy+Qín:^.ï½ý¶•cñPÅQßdÙâ…óozÃýÑ©/ïn?wîÜ;ÞñŽÏþó‡ ‚àZÇ DÔét¦¦¦jµÚ{Þóž~ðƒ‡îõzûöís+n­xç;ßyÇwŒø î>5ÆŒ:Y®”)s…óóE¯È1&½æÂ7NûºÉZ;ç&~ô¿.í´Š¥"xÒ×exð'î=wîüß}ùKåòôöçwß4¢ÍÊ*Á+º¾ßì÷f÷(‚“ˆRJä.G±õjµ»ÑÀ P¥ÁFl!T@ä" ‘uÎ<ÙÌ…hhêžÄ yyÚ8»%¤‚¯#J¡pSéu÷Þ3½mº÷Û½¶öÕ|½Úíµ‘P+"…ŠËOXLŒÂ‚` È" Ã%OeçÊ鞤Zü±1R†>=K¹MŒ ì¾aO±Y)NTüŒˆ¹g2?‰‚8–ç©(îVêeRä)œ½iÆvYíOY_±BÑ(ä–*%ز¶©HdQ¹¯(%%¬Äjf-¬,R®tŽ †Ž¾2\Ñ5(0*j ŠFBTVy]K,TÝS¸°Í[xæ8¬B Çà­oû¾ñÉñ ZêgI'‹­ôµ¡ 0‚ 3A‘-ª+(€‚$ڽͤŠ,±¶ „µ%¢†› €%°ˆµE2 S1âá]Ì–X6Wl®ã‚2< ‚h*ñ!„…É0²U֒˱%CÄrŠÉÌ-³ÛnÚæ[­X)니Ñ6 Ó¬’Újnêú¨¥†‰REzÓ/½Ùï~¬•E%LÌÈ‚€¬I”¶šŒÊíæÙ@p} (4²£Í'9ÓÓèý°ùWäÞƒ›]®4|bˆŒˆÝš„ )ôJ~¹×ì=õͧO CcÌÆÆÆÚÚ”J¥ÉÉÉ  +åÐSG]$[-AW“fs}ÿ¾} 4èöΟ¹pÛ-wýÊ/ýŠÉéܹ“¾èï»ã=øŽÜyô-ÿÝ;ÞñÔSOMTæ.,WjZ¸8xüëÏ””¢sw– ÚjöC߃ëJ WoLLŽÕëuD\ÛhÆ‹Ξ;×jµ2“£V–¹ßïwú=? öîÝ{Ë-·lŸ›Í“غáúž\ð7 jµZ£Ñp" Îô´Ñh8ù†•••r¹<66æ= ì›þÈ*B)åDF1Vi·k­]Éôå• _¼Œ‡k÷^.šÏz”I‡eñº=h6g×úoݽoše¶VŽ¡Ý²Ï.À³Ç­²{ eÉèw~æ~ìøÅ/þýgVV~âÞm}ß5Ój¯ +öHÔÐA;Et¹ÂDâ²}%Wš¸­Ôe•NPÃ0HŒ8Ô6`Z@Y` 4€b‘™ÃÕÊ‚–d­ ‚ X,nllìÚµ‹VÖ[çVWVÖ­µ½i6›½é÷ûns[þ¨žàA¾oªîd|ff/¸¾82'ØŠÒ^ÁOPµúDu——/ŽÕÆ«åJ”Ùí“3ïß{?ô»9|ß÷wZÎF«}ë­{ÝÎÒ⹕Ê;'£(j4DäTÜ7¿ÖëüÔÔÔHdáþàÞûÞ÷ÞqÇgΜ ‚€ˆ~é—~©^¯h ®u¶¸¾º,÷ æç‹¤ÎG&váÙÇOŸüj1ˆg択’^«}Σ ªœuW7zkžÏwÞµkq¹·²v|uµÝhšßy.Í9M8Ä+ã¯oc9gkޤZ«+„Þx5‡.ä0è­!J~ØÏâÍâ5[bwó ]Ž„#4¢ Â4OÒyž§Ó<‹£6hsxó¡Ãc“3«km+fÇö=D´°¸P­4úˆ$„ÄSàXF‡2  £O€ ,׉ˆJK÷)Î=ty¾dÆ dg?,Û Aå*Ï”Z<P€yH&ÎÛÝVAm¼Â%ˆÛQ{)«Ð@‚(BJ8 ‹ÀŒd bN$› 5 °Ç¬E PFžÊ«ºoË›pƒERˆ(@ˆ”‹ÎB_¯¨kXmšÊ€{ÐcàS_úìÎ}=û÷ÇÊ&PF‹ÉÁ*@@åÿ—Võͤ„\?AF$ÄÄ „5³P›° X$‹`ˆ, Sb@1:8ÁÁ‚À›Ÿµé¨1\JHYŸ·”€YP,± [d!;D|£pxpãrþ”µ²J±ï~Kä™ç:gÌ@‹‡„J+ Tžç*² I„,KÊ*b_±„T§F0îáÙ lžŸ!ÁÍtfɺ·º×ožÃaGØh­Kœ"8 €€H€À+z¥Õæ™s çÏ®Ÿ(o²E ‘Ä#˜$³˜LÒç¡ Šº•¿Ú¸®·N¼êÑh4”RüíßþíÇßvÛmÌü§ú§A¸ ¤^¯—J%W%k6›žç=úè£ ãããSSSý~ÇÇÇo¾ùæ~¿ÿ†7¼™Ïž=»oß¾•••¹¹¹<ω¦Ó?w½׺—õÿoÃóS®ÖŽ=}â}ïúç¥Ê¶s§–+…©õfvëm÷®®?^¯òxù™óŸõüpbzjLïbBÁëÌÖ«9z½¸ÓïæÖË¥ñ‰F¹V3̤½å‹'¦¦†òtfŒÚݸQ) gެ4Ê \m3Š"(”J¥B¡EÑêêêŽ;:Îâ⢈:tÈÙÐt{]—ï9³­uÖÚ4M=$F8.÷kx…+øVjÃw•^‡<œóŠPS·pxËç¿ùÕA Ee’öŸEQß³ Õ¾ê¯ÐxèOþóÇÿÃï?þw_صw÷þRvzu¡^+ˆµŽÒ ŽÄ /Û¿âtnÔZò*×È߸«FDÖ¸FE m~K$Å `Ó¦Ä]ž«u÷zžDZûJ333qW«Õ8Í‚ Ò‹ò(ekY/ÊAÅý~<66E‘°Ã"%I"Ìžç7[íýû÷Ç1ŠÆ°§¯" àØñçâÔÔjc L–DÝ÷îúïÿ¹ßøýÿ}ÿmwí™kvÊëKgŽ9üéÿöåwýÜ?=rã.D¬×ëƒÁ`}}ÝL^kí!‡/¸ûz~~þ¯ÿú¯ççç“$‰¢èèÑ£_ùÊWÆÆÆ>÷¹Ï½÷½ïÝõný¡³•yÕ·Þ«ŸÃ·]\Z¸°¸à‡ÞÞfŠ…xáürž´g&§“´K ÀäÖFƒ¸™å½ à™¿°o¬¶Ö&ƒªÀ°Ñ’ñ©×üö2’4ÿ£6¸`$JDâdF‘t»N,7”D9fý   t:v@BŠÀ¥ÈÎä”  °,øÂÀyƹTü{ÞüýÕÙÉšW+T«‹O¯‰¢u £ˆ {$0D) q,rz¡¡¢Þ09cÈuft¯4V‹ž4‚ˆŽlwy=Š‘âšÍ‹hTžùIêǃr'I’±=õrPÊ8³ïû: 4L£|€BÈD¢Q„PH ' (ÌHŒ` ‰7™Y8öcÅ@$,H´EA`AÞLyÝ/E"+(Œ† !UËÕzq¢>¦ÆoXœ;·~¾ m†n5ŠÆR²ÈšŒä‰Iμb0\ø%¨C›åw`CÄÈjx½˜ØÕó7û˜À"1€% !1CEP@aøC.A £Õ™3^ÊÆAAȱ!Å!¼ÉrRL:'%`Uæ( dÙ*V 1XÖÆ†–Ccµ§`î“ ÑcDbÉÄ"ŠU¹2@H±"Ï–8ösC<ÄF°ËÈTpëù±Ä™Î-2 ™2„jÈkÎ:Ad%B6!°›ÇÎnvZg/žÝXÚ˜Q¯ T¡²½R ¡ñ‚´½18šåý¹R_ Ð0Úò® ¯rcúý~·Û=|øðÊÊÊO<ñ«¿ú«oûÛ1GŽÙ³gOEÝn× s›çy«ÕÚ¶m[£ÑØØØX^^VJíÚµëØ±c"âûþøøøÉ“'÷ìÙóÈ#8p MSWSuÈ‚«º\g4\õQ) Óé»kšeY©TªÕj‹‹‹Åb±V«MLLc¢(Š¢¨Õ2ëë5j±X*TŒM PŠÓ¶É½k«ë»·ßRÀÕųë«çúÆÀtmG!´úöÏÞõ/ûF6û‘ü‘ÏöãgW"Û KºRãX:Ï®|­üXãö˜®ïÉãDñu™†«µì±e6ÖZaTä~ jÊÓÚÿîË_éEYœI±\ÑZ“ÖˆŠ]\_÷‰=Ïó<ÏÁƘ<ω: ÃñññùùyD̲luuµßïAÇñâââÞ½{'®(jŒq£~ ‚ I’,ËR$—Ó:é'Aÿ2*ô/†¶" ßî‚A!ËÈÔïA¥ÖÛ‹‹Ç¼q*@Ú ƒ`Á+çI¯Cšm¨te#×ûøý?üÝŸþÝÿ9‘l½×œÝ¹Í¦}/'OkíØȯF òù^JˆèÎö«ƒtÉ$8ÌÑZë2LR›e:W F"Ђà|Ü„€˜óÍZ7_E1WÇ|€Z­æû¾RêäÉ“»÷Ýè«a9Ïó´ç«:,¢Ds@`ò å…j-ˆ/4ï¿ÿþ €<‡Àƒn·Û¯_µÔ 7 âºõˆç‡Ñ ;V¯2Ëi|èÆ½ïÿÙwý‡ÿøá›ßÞ(•t®ú¯ú÷ü÷·ÝzóXÉ_YY‰¢(MÓr¹¼²²²ÿþk¹ ê|‹?ÿùÏêSŸ:xðà`0p–ûöí»páÂÉ“'?ò‘üÔOýÔ: DZïûA8:Ò«@ù¯l~nvt?ÿ POoÛ“$Í'¾yöØ©î씇úŪ ÈXƒ¾‰m_ùP¯5ÚÝÎsÌL‘ÔäXc×TcGP((hL~/å\ôW«¹@Ã¥Õ^¸\ lgP*y?9[ÈÁ8TS XF ’»ä í°µ_¸¢¸K[LG"±&·aÏÆÛo-MÔ3kÛÍv«Õzêñ'VŸ<zzÌ4;ÀŽ—›uch€Íp¡–—EÆÜ£0‰´Ë3…XŒÊ<ÐÑRræ/×`ù8$€h£@< p34^?yË¡›ëþØz¼qñâEå‘Ò˜‡Äæb@R™‰C=.µ1ŽRz@!³y2]É(3tÜ~qø 9®„bf²VÛÄx¾KÁD}ª¶³÷úiœôûýb¹¤jA²hÈ$¤AcÈŒC°@áK®›î=ˆ¬·´œ Á…-'Ö•\ŒbNKŠGŠj³áîpÎÄ YP„dó è¸.CÖ bph‘fòsÂHÚ(+´Ùîa‰D“…ž' ølµ*¥@¡Ò*ðÈ"¡PÄ‚Àb5XBH„žFeܵHlYô\Ÿ‰ŒN *Pˆ(HÊéœÊðʺëèf#“AwâÝÕF°( ÛvlWãÞÔþér±R.TlnLj4‚tY‘uÉK¢œ0*±69AÃòàà¸îpùÊá‡2\ƒü–FEÛ·oOÓôÌ™3÷ßÿ‡?üáƒ~âŸøõ_ÿuf>}ú´#á‡aX.—·oßGŽùÒ—¾Ôjµî»ï>˜˜˜˜››Û½{÷oþæo:¹A­õÂÂÂÞð†ÅÅE'àìñFˆC©Tº.yuÇúÃ?wŠžÕjumm-I’sçÎ¥iêÑ …‚³ÀÔZÇqÏ÷$‹¸ÙoVê¯P­Ž:½f7î+ iÁŸ¾aÇ6±ˆVEýxfzº×nÝûŸ~èÓ“Û§_ÿæû»ýõµµV¯g(,/­õ&'ìØØT>Xÿæ©Ï€ßx¸ª0ð¯_—«•ŠE?ôPafL/ŽºýHPk/fÔ­nÒœDI§HÚ Êßõã?¼xþÔ“O>yúôén·³QJÍÍ͵ÛíõõõÇ|uuÕ™ *¥’$1ÆÄq\,ßô¦7 …QŽÃF7²3¶4ÆŒ|1]òó2AóVåÞÑG)èµ.¾xÿ°  ‚X*Nöì<õäàìA·×O,?^Y3yaÇìC~áÖw>¸ã¦½OþѱmÛ·-­/• žÍ @zX~KB …GèW°¥ÎáH`âJ5D²Í‘ç¹{$"fã{*AT®û€\'H"ö E X䪦rŽöÂÌcccëëë'6v~KjÀˆJMžYcAçL¨Ã^”å1JmžçÆXåkíW–øû‰ Imà©‘À¤ç+ÆP[ü/‡¯Ø Ь·{۶ϯ­­G½N1 mn< ÊAøo~ñ7þ×ß½õÖ[!nÿë_xϯ?˜w‹‹k·-•J<~üø·hÐZgY†á'?ùÉÏ|æ3óóóN]¥X,~ýë_wÊ”DôðÃONNÞ{ï½Nú1MÓ4MKÑ©¨\é÷¼Âù)®7¼ÃÚ¦B E²]{nßµcûÊ…§¤Ó\Ÿ©Ž×kúíÞyk%,—»mÓlùy:“Éý3³·Tk»«b‰6ù•_ Xó½7È‹rQf#¼Ú^«•¼áèI}jñ+뼬Á9ÈH,p3É´# Š4ƒ’ÍD Pƒ0H4”gaæŽmc¤«‹ _úüßÁJî,ÌJkxáDÜ4LtŽ™¸…U~鑆t†ÐàžDP«NÍM®ÇÊj•úFÜ„hmx< 7“æ“°Ñ]{¦}lßÁý%¯Åq?Ž‹µ‚0:}Kf*öå zD¶llm`—“â&J.¢YHÀ3Š ±ÃdØM$$P(¤E+P®|í••´o²½Ð÷uMy•"ÙÀ3¥(ŠVÒ ?ó‹AµX,zÚ'R‰y묤-„‚MŽƒtì7Q›âŒ›XÀ–÷o" Vm‘Wà-ØÄh ÓàKž2@t¶£ÎgÃñ_dèz‹Côh´à â!´!JXYQvÛ°efdì… ™™€˜”ÒJœ®XÖ`Ðe€ÄZ±ñ69)ÔXìóWCv\÷€Q@ÐÒ&¼Â‚CŒŸœ£†±"†ÅÊÓ Ïä© ‹¾­HWºQ’ ‡Renv{Óô›&ŽL’‡lsk.^¼¸Ùyâ&=_º®W7¾ Cð:Ðð*‡‹üvíÚµ¶¶vêÔ©ŸüÉŸ<þüûßÿþÁ`àœØ+• "v»Ý^¯×ívz衃ú¾ÿØcMMM---¹8òöÛoâ‰'|ßCÄçž{Î³Õ ÁUÚ_ì’u}|ëcÿþýŽñÁøx½Ó鹪W©ôú±ëyNÓÔ÷ý0 Ò(ÊÒx£yññ§ŸÜ»Ïôö©rµº¼¶tìÔ1¥Ô[ÿÑ‘Ûv£OºT(G½>YuáÜJXо÷ÿT§‚G¿öÙÓ˧+“•ƒ³w­vŸ]ºøÔ…|]ïòKE/j/?·üÍñêÔá¹×_®âˆ³4³†¼À/–«ä”¼ àùÅñ‰ééÙmÅR •¯½@) ÉO~. {ûí·ßwß}Ή ×ëõû}cÌÔÔT³Ùt‡jµêdΟ?_*•ˆ(‚ãÇßu×]žç97wÿºî‰ÖàD"óµÛí0 wíÚµ¾¾Î,~Xnwúƒ(MÓÌy[æ®%5K•&…¿àÅ,·½^ÏQ3Ü )‹ç9©Íº CסË+ ´@q ßxü™|Ë}a±Ú¨Wó<úýêDq½¹ÚŒÍÌXíúå|ðƒ|÷»~úm¯?xáÂòŽFc`ÌÔÔTÇcccGýó?ÿó0w톻õ>ýéOÿíßþí7ÞÇq³Ù¬V«÷ÜsÏ÷}ß÷ýÅ_üÅòòr¯×»õÖ[¿ð…/t:·½ímår¹Óé¸#8fÓ•~îÎOЉŠЂŽ9C€Ú侯 :³ýÐÌî›Á¶žyôïúÔÿýÃo¿¥Õ9OªT®×ú]{æ\«T»çŽ7•m ÇëJòA’ˆ1¦^«¼¦×ó‘ªù÷\„>üuJ)ÖÍ·8OŒgz^l«ìÙ?’í&èà“Ç2bcr΀­ÅPJ¾çù‰digÊ”Ëe¯â²”5$’©’_¬Uò¸g…›Í¦;ô…Ÿ¸iaözTý2µ=fx>—á:£á[§N:tèÐÚÚÚwÞ999¹ºº*"O?ýt±Xta§Óq¬Ëz½®”Z\\¼ùæ›§§§?ó™ÏÜÿýO>ù¤S‚ŒãxiiÉZ{öìY'YàÀ^¯—$ÉV7;W ãØE×ÇÕÍfÓZÛn·ã8^[+EQ†¡«beYæªÖ®YšˆzíN ½4M—šµêT’ª± nv²ö*·Z³o8ü^»Š Ip÷ôáÏ~áogÓÕi~ôÄɱF˜rRرí&/TÍÞ±f»•¹Ršê›Åo<õùÛvÜyý¢\Å¡’V€h„³, #©ÒÙÚF;Éii­“f&J iå{˜üÌ¿uñìñGyäìÙ³q;F’S­T*ÍfsfffïÞ½333J©(Šî¿ÿ~77 …ÂC=T«Õ‹Þ•Ä]R—ç¹C¬<Ï“ÜcÒ4u¬§Ýð2@Ãe½ñ¾ qöe»´tF;ƒ‚²/v Û§“´ÛK;ͳÏ=ùô×–ƒd r~ qà,ÀÕÛ¤ÖŽ;Ÿ~êÑŸøµÛk„k•ó~ж×éìßµK÷#²2jÈcb #_аõ´Œt¯´Ë̱K ·h­…ÙXD52>ÞétW/nœ~î\X))­»Ý(éf矽𕥯ÚÜLŒÛ4Ó¤LJÿïÊ×÷ØäíÚ>ýßþC'Î9·Ô>zðÞåõÅm]ç×jÏœørÔíwMå*9»pš¿»¼Çè çÃwÝRÌ¢@H)­•ïyï³"íOMLÌÎí˜Û>_®T•"08ôz½J¥r÷Ýwß{ï½.ùI’ÄÉ+LOO÷z=—ˆ¶Ûí DQ¤”š™™éõz½^oT±tÃ%*£~“ºÌö•Èàìˆ_@þö (`Û¹*x 2­'nØÿkò_iH°± ƒô™£oz1Ž’SYú¯?ùŸÏSVÚ»«›EŸ~ø3~‘òn¿ÛÎ'¼IÙ 8Ïåj%W¥¿ˆP}¥KeEI’ÀfE𦯠è›áÞ©Q¹ œˆ€ÝúÑWk‰vŽðb­õ}¿ÕjÝpÞ'–’~¿RJÄŠØ4M\o¢›iÆóÂB!è÷».œÿåŸyO¡ybó”Ùd©ç°-!ãR…¡*˜¼ò­‚ÅR·½ÅñW¾ø¹ƒ7Ì÷º-/ðû©¹Øîkkí®a{AéJµ”ÄýrăA½Z‹ã8MSgÚâ˜z×zk‘~ô£ï|ç;{ì±b±ØjµÞüæ7ßqÇ+++ƒÁ?ð|ìc³ÖŽÏÎÎ~éK_:|øðüü¼ƒÝvìœb^ݧ¿¢ù‰ŽÑÀ ,`@\i–PÀ²Ä‘kH‚0œ…@|[ •gOužUjâØÓóÔ»í¶£•í·COÊAP1q”d’¡fMŠØCy G}4lyM¢ 8ªˆ"ˆ²‚Ž ¨­ö’@C€àgF h]¢8‰**0€úlujºÚQ(zL9“ÉI˜€-jõ‡bþ›v‰Å=Juz Jª“÷SÌJcÅι‹w?pD“õ´8V­W E`!@ÉÙFVb‘˜(WÚú€”ÅA-9\r¸5 WI0€{¶QUXóº¦S®—H©^³[«ÔöÝys±_*%¥ õÉ¢@n(Éu*‚>÷ú¡A30½4ÍUDa%Т+^Ù’±t‰íF‚–(#$mI3ø6]€-!±ˆF“ƒÔLEQh`b‹l‰ЀÊcf1lزeÃÊxE¯"yfscú”­xº\R¾§r)[Êll3›ç9dÜ ¿šd±sI‹>Ïakò?\AX×J%H¾ e’!n4<¥JØýCaðÄ©BϹë)ØìΠ­ŸAŒB£r³…däï€#ï'ÍÈ‚Æ" ø$¤Y;”SYß“@¡ç¡Zr>qæ³¥”•³ÕZȲb$±Rìk‚ýüMAFòü×Hˆ.¡ €$£ÆËÌ(–QÉy 2²“š4Ͳ$7ÆèÔ÷‰QVåb£ÑÍi; ç‰yjLÖ…N§ÙÌ¡‚zØN²éky]4í vºËN®(Ðü7€Ë¾ÎlFÎ[£Èûµ~B»Ý®SL(•J"¢”ÊóÜ)Ã9·—¸_Z*•ƒA¹\FÄÕÕÕz½îë 666¶oßî¸:anllÌÍÍeY¶Y¯)¥ÜG¤”kÐLñõÚðñJoBºìãKM7ºÆ÷¸1¢”Jc²×½îÞ,KõM¢xë›­µyš•J¥¸?Ъ ôØÉSOoß¹›“ º¥áMA)?óÅÎþñù—ÿöçæÂ;.zÇN=ràæ™Óç–ï{Ów›É9‘~Y˜éÅß]@Iè•Äh“JŽÆÄ¡&0Y¯}ñL¶¶p6Ërgz§ÈcIôG¾o¹ÕzöÙg———£(r«–»õvîܹoß>GY*‹£»Þ=o·Ûî–ùVºœÄ-znôûôs•{ åzÍ+û@Ù¶È2 i (¢Ñ”ÃÀßO¬í§±µ•6VÆËåJX„TÒ¨¯Lî¥q’$µbu}­™š›Û>99½Ñ\ÉsžÚ1½Ö>›SF¾’ á~–tIÚùÕR/fÅRS6ª¦±Hº¤ûÝX¬'Ñ sF@QH˜pdÀóæ4[ÈUU X³Icfa œº‹ÝŠ.U™µ½2©¨°äǧS $‹"HŒˆ UÊ ZÄÜ58(±Úe„ £(b­­ @A…ƒÕ¸•÷PQP(ÕêrÓ©Ž%ìØ¨3(QéÀįžyäü—!H!Ì@BÈ ˆ¯=ñÕ þàƒž³Ê¾nþžÇ¹ºü—OmCi>ûÍoü'{o»ýÈúÆF·ÝŸ(‡År«Û+”Š˜SÇÑJZ ýj0nó¬½Ð3:SyÊ÷Ñ÷1Pè‘Ub!íä„H¬l6ç4C\r|Ñj|EK÷e^"+“Ê¢"P èÜ.J…²5`3›¦Ij}/(µh©õ‰÷¶¾—âO4z¾¶ãøÏ|åK_M³KÛ óÔ(›*4MŽ}ƒšCÏÓ Q„*CO´¯=±àbÂH#@ðºä+ßjݺî:ñ@^üä„^€2¸ùºäµ\¶žóO¤R©¬¬¬¸L£ÙlÎÎ΀çyY–Õj5km«ÕÚ¹s§+\ÏÎΞ?¾ßïW«UÇÙñ|xÇŽ­8»çMõŒ.#†aÇnÙq?¿Z­n›¨¢5,×0:Ú¹sç-·Ü’¦©SÐ[•[S}_@;R² ˆØM½ÉëX÷7 P¾—€Êuˆ®ÕŽmœîÿýìoºû¦Ã§¯[ö—,•–rÞ¨@|úðÄgž#¢ BhûÜÅ—H„Lh<Ãd@ ƒ‰r€cðÖz ß E[)—ž»øì#FP™ x·;¦÷D‹ƒ¾†È^8yáK_„Ô·ùÛvl›°\ÛX9yî<oA …}µm·ÎUöÔlÁt¢Îòr¢Q+VÚzŽÔ@â*êLEuY#ž­-H£»£NÿõSpVÀe¯ÀÊ€Óá²®Fâ—jÓÝ1°€Q@PĽ®7ßÉCn@éyz™—ô,J{ª;ö쟙˜Þ9»s×~ƒÁSÞ“ý¯¯€…<ßíJ À @ûâqõðt½>µk œ¨L.ï-ÓýÁ©//”ã‰Ý7ìhÌõúý¼“VübÖÌË•bz­^'Mò P ÀÈf¼h€¶FĈT µÖ*Ržäå’BBDkìµ›ø\2„y€‚ˆHBˆ …põôÙR¡Z.Vª:#ÖZÊ@2ãµ\}·¬'EQßøìç=‘.e@&0PœövLOÍÏÍ—êÅ4OŒyAŠëçV7–šª5aվ篘 —­ãú¸¢ýÎ1dä™ù:ÐpÍQ†# ¯¤åá²ÀÄu áZD-—Mð¢(ªT*ãã㮋øÑG}àÑ=MÓJ¥¢”j6›7Üpƒ#±OOOŸ8q¢ÛíîØ±ÃÝZ¾ï§-///]X¼¸ÒÊLˤ™XcÕza¥Ö¨|ýчì½?üùG?yâ±ÇÚ;¹ýøWV®_‘«;Q+7=_›J5¨T*aIi¿Óë¦VŒI1Š<í{Æp’¥žö=d§ZkGjh6›Cn˜ÖaŽZ…·ÞÑ[ÁQëÁèÅÑ;ê s@èu®\èQ6Ùk×bÃx €eˆ £ÀòÒrÑ÷ëSSP(뵿úô§%3_ÿæcáî)O*ðµ:T`mÎÆzÊ·‰4/vU$Vãõ‰¸›%qGùÞu½ J<ê7¹Òœ°\.7G}´ÕjeY¶¸¸8??¿¸¸èjï— ”+•ÊÌÌL·ÛuŒkíäääȤà[I’¸š€“󘙙™œœ¤f£Å˰÷Y@)åy”eÖ±|›ˆúÿØ{Ï(É®ò\øÝûäSçTìê ÃôäÑhFÒHe$cd_l‚XZ`.Á|×ËsúÀ²Íž¾ö§uY$£l‚À–%!HȒЈ™‘&ô¤Î©º»ºò©“ÏÞûû±{šF ˜!ÜÕûÇ^Õ=Õ5§ÎÙé}Þç}¸¨@ÃóÏ?Ͻ™GFFt]ïîîžU%N¯ßéÖ¿ˆÇãù|ž3¦§§%I:vìØàààÅ^ TUÕuC ¼¸ E±,+ ÃX,Æícøä]ã:ɲ̧'p=ß¹v¡Æçšu7Z^ÕΔš¼‰dÛÄL‰t/CI&„Å(Uȉ\Ξ"¾Ä~½†_°TÍ>l Ȫk–Ä—RÈO‚ÞÓîóÑ.¹aߦámžK•zATéÄ'¡EI;"N–íÕ(Z8‹Z€ˆ2â3  @@@’¡wDéÊJuôÈg3§gÎ<Ò:BõI€~(¦Ì‘|wP¶ä‘º_;R…I …€îYVv$ͬªô"Ñу ‡VÀm7'„flÄì6%&Z^¨è æ,”:ë‘ëºî9ά^ƒËyU‘,È¿yí­óúìñÃÇ¡@AE9 Å8ɇPÌP„F«÷-`™I0c4"aijѫµn€ ˆ"¨¤`!bQ›ˆÆ@(Ø'[s1u·âš™ˆÉºÙqɾkžj= U²ºþYhƒ80úðsÙëöÆrÅꊕTÓ7Ýòº…Ž“§= ü±à™Ù­=^"Ÿ_œs<;Ñ™”t±{¨»£»SIËu»ÕjµDM‰Ç2Fp«^}¥Òh4,»@QUÕPRYSMª²©„b@0Á"d`H@>ã&¸ Ñ Þ K ‚ IDATŒò‚ \ìa†‡‹}Å,¢Az^†!a•VÝ&áÛ~øâß³HüñŽA ‰€z W_»7–1“¹$häy† #þ²wôéceÏŽ]Ú š(ˆT HD’,ªÀlį°^D±!Õð3W\âÛ(ßô98¾4\ áG«—!^þ£Ö“þTZþ•I¬¿ák·½Ýn뺾´´”J¥à,)ˆ øÅãñv»ÍÓ\¢(š¦I)u]w-MÍOÿÃC}FL¦¬\­Ïû¶Xׄ®î~#«ëáñ{¿þÿFZuyyîÿ˜}Û;þ›îçñƾ³‘Æ𦋔ù•êâÜÜôÄÔÔòJÕõ7ŒQ$Y×B±{pxSwWO±§X›Ÿ]ë§/šà§|CpÕÀTO¼VX£6ü„›€,xZ•7À:5xY:Ãúÿ Î\¬âý–2xQàÊèF,nˆÑå…9¤iÿÏç>««j,\><”"Š ”„†„ Ë1ÙˆÈ&r•r£7ŸÒ5E˳^Åü}A{_KÓ´}ûöaŒc±Bˆ[W*•—rùÑuG§P¯×=ÏkµZ|\¨Æ¹ ¶msI’€¸$Ÿ“¿6ÆXƲ"* ¢@”ùñ= ¼‹:vïÞ=::úÄOÜÿý ½½½ŽãtuuU«Uøi.Q(ªÕj†‹‹‹===™Læ²Ë.»ôÒK/@ó2 n4»Æ³X[ðc±Çh8ÁïÛš'_Éù¬”eù•;Ñ^Øñ¹&kÅ­j8܉¨¨H²iæ,;0ôŒª% Q$Á`H& 0„1[µÕ£Œú5?,¿˜òë"ÐÀ›Ï¯T(bŸy…p@!ô }ÒŸ0ޤfß–I”g*%² ! @ ®K毥ëÑ:Ë å¬Ï€ A2 ùžá®¾M׋ç:æ—<~æ$иæw†”ÎX,`1¢­ÌXGt4š± à„Ð’ÝQ:–ßê½¹Þ«‡ØÖ¾ |&hœ„iã̶ÙÌB\ð£ð¬XÌ(×)†_bÀ­?hý„«+ (­÷]¶Ãè霟,M{ "`MÂ…ÓèxÏÍ€$¢. ýýCû.k^6°"P(¨Ü'”B*mÎÕ,gÎ; ‚’ ª¶}ß¾ÙccVãxÁO8…Ég8ŽSس9×Y°H ¤²Å=ÛJOžÐÁc'~8 ˆ¢ @u|L¨”Ê;† CÝ19Vq¿íÇTóèžjÏYË+KA»[ýF€ ‰M™î‘®X‡ €À¢ I¤ˆ:`ÀÑ Þ 1‘b~ŒÀŒ!F0İaÄçgNŸ8³4Õ€æÙQø ÿ2÷Î9ã Zö WÅWcChÏå{’]NàÔü¥Ôõ=EQÆèÁã­ÑLˆbʈ"DÀTÔd ˜}ŽÅgãDý ö)~<^/&HÙ.Öðò¥¯kx1аqo/6Ö°vÛyr’Ÿi4MëììäBk¾ïsªl6Ûh4êõz2™äÜZY–¹©$I’$QJ%Ij4¢(jzJB𦶉B˜Íg#ì¤3æñÙ%¥Ã }»¿oð‰Çø¦ßxïÆã¸€ 3Z­”ÛV#Ö™Ik}f®»Ë"bÓv´˜¡¨F„¡ °X±ìJ¥’Ñ$Fë #‚ àlð(Š¢(âéP>lÖ„_@;zñ!ø'J ÀÖbÞó¥YŵÄÎú¡ø2¥kqË«H´þ·tuÇ] ]ÎþÚõ¼0¬“0tÃèßî¿_@L‘d* ‡!‚¡q9m 1ú‘„¥À<+èïv[žÝt#éIý¼6ô³Ã^]àÁç©,Ëœ²$Š"Oh¿Tæ¹Ýn·Ûíjµ*I’,˪ªþ´šÃŒ×@(>HDQTd1ôlt.N§ @Bây-בּ$I‚(E@ÙÅÌÄ0Æ®¿þú[n¹%›ÍZ–ÇK¥BÈ4ÍG׌1Åær9n!¼¼¼ǹ|ò/f‘_ ùDæ 0Ÿ}ü>ó ¥ª*†!)¸ÝL»Ý>ßÃÀŸk¹¼_ˆaXÀR:×)·=ÃHS¬–/Å’a@ãmgUÓFÿ Cž¯ù5ÂOŒ2`n ÉR^(ذ^T *‚¥Ñú’ýÄ@w|äŠDR{ºòS]¹Ò³F‡×vUEµƒÃ"P‰$E¢)¡¶ D E&‰¢h&Sf:-¸ÞóÇŽ?|ª«˜XÌ_»»ßT"™Îrkñôì܉r{¢ „x_’Œ™Ùµp¬(.( ºáÖë*'çOMœ‰B“L)‘ À˜$JS†)B#†)£Eº;'ø½^üum‚„"­©V¬h&ŠÙ-#F±ÒkÕ‘Eë‘0„)A˜áˆ>f I$²@$Ä€`J…0|Š#@S,G’©R¤D€ˆ-ÎÌ5§Ë²PÀ"€•š% Üçè×êFï¶ÓLiƒ¦!©3^´tj l `ÙQëÄÉÀ31YHÄ:²ùÎXQsµ™•úÒ€cÌh¡Ú¬V+Õß»u(Ë:¡ºhz|Îi¡ÕÍ•84ëõnèÖÕ˜dˆL¦qÛ¾-(ˆ"¸HTÊ0h2a˜#9”"̨”™;½TZªTà(gkîCÀ:à_eîwÐ4€4d¶t › K  [“uY¯KjÌ.×Z§^tc(qª„^AÄ€0ɰºk®m”lÉ_Éú̧3Gä×tÍ7€†‹‚2¼S8_”áÅoØÀ.ÒÄXÿbížË²Ìøñx|nnN×õ™™™;w¶ÛíX,Öh4:;;ÇÆÆVVVÒé4ÆØó<žÏt'™LʲlÛ¶ªªíº+ˆ bQS EQä¶ Œq2eúaûùó#ó‡ý=ËKËåê\~lÛm7l<” ›FBUu„„0$Ø‹?bL@’üìÁu÷ôõ ™©´"*€QR&JŠL‰c­±¦¹´¬ðÓšø‡•ä0ƬšMÀÙ,+×äƒí|}d^  .ÜVø—Á/3' ³ºÏAÌ0TE­Ö¥d*c;Ï \?$ B€0Â!@†b€¤R œÛuS9NEó‘ çsйګø¾<­Íí=ÏãŽB¦i¾”‚¢(†aø¾ÏeÃ0E±V«%‰ uÿ9Þ¡(Цi„’%ÓŸ ˆ‘…âû~Œ11ÄH2„Å‹z@jµZŠ¢ „,Ëâ < ^¯9²~çZÓDP%Š"UU‰D½^±®ê…mJ€³ÕFkýúÃÑ8[hº&ÍÀ“$I„ Îwt]¨ñynLÛÊžŽXÓ‹a'D:F®¨ª†ùE c\kö×øÀ¼žÎðky"€ …9¾[n¨aO…TCùÝK)8¾Il`ÚK–µ\wÊ¥¼i$Ò1…*!õZnª¢cI¹‡%Ž$‰8’€¢p¨*8•ˆba´æE‚_ šÎñÇa²"@>Œz}ùô®íò ŠíùÚÄè„U" €ÃÔ_sÃ8a’؆gÇ#W¡m ³ÅLW<9°¥¿e·‘,ªI=’i‹8bR „0(C”²b*bà‡ç¸ÛzhÆX`ùv=jbÌ¢žº$“e¾íÚ-K‘T` R x° †B‰$S(¦G¡à3Lb%T”P‘#E÷u\º& c‰Ñ…©i¯Á| Z&5š\­PsŸûîœZ³{Û&†"#©÷mÀ8(MLC >`"xþð±”ßÜ}ÍÕ9_ /»áŠÇ¿ó}¨ùÀ¨ùm{Uu0€2œ<| J×P\NF·ìÜ2#N׿gVaFÈÒЖá®|APE¢,뚦©±P!_,û‚p$Ëb˜1†)C” TÊD9™ï‰.ReÍÔc’¤0rÃÐ%!ùe°¤Îi\(0œÑÒŒÐB*ELeLa S3—‘¶!(FŒ0Å«{ŠjК2€€EBa‚0Aˆ¾@ á¬ùׯúìS|«]O³ÝÐhøEÀ exq\±Ñ.8Ö°þhÈ©¿Qéºþ½ï}¯Z­6›ÍM›6q¹µ(Šâñ8ƸÕjñ¹Ätªç“gªã “1`¬`„õCO!òľæÆëæûëoØ2=6½ñ8.0Ò€%aÏ%v; 4ˆB,ɪ$­¦;+K•vÛ m×,jzÌá·\]©T&&&J¥´ã3ñÍo~37¡@­Ñ~¦>Â9'øŸ¬Q²yãÐï«BÎ)Ù@’$UU£(zÕ1j|òÍå( ˆ@±êS›… bc"J¸ýBˆ×Gˆ†Bâ¯{fî×¹ŒÃ"’ÃÐw—¢‚ј(ƵäxŽ€UnOr¢^99UˆëóÇf?rê Âä³¥ì¬Òa€D #)#CC1ÃÄ(.zî+÷‚sömñò߸9ÓÓ]©—wv{òé§~tœ6W))nxíµfFc2µ#›Ô¼È‹T¦%Ë奴¨a c†ý†#Qϲ¡7œ:“¢H BN£a³H¤XÆŸ‹æyÞZ²öXC‚ ²‚0£-o¹ÒšÅ”™šï5Úí:¬ª×hʰ"T¨@b‘!¤(ˆDD†BZ HJGo–i[#”ŽÏ²"B@;À°ÂɃÏk"JJÝF6žÙÚ+©¡õÚd\ @X¡¬ÏN$ <²MÅ´t|ïë.íF3Ïó}@0c dÖ;‰O)‚‘ïêE@÷Þ¸‡è~ÎC¬:A0 {®Ù›+tªº´R«XvËHÙtÌŒ5E‹H 3 .x Ä•½c` (Ce 1D4$4 -âVü& B$ @“ýâU¡/þ½@q¹=S5,ƒ|&ÕU @,˜1äÙAÍoA Tb6@®íºR@‚c‚³sëì:N7`†W4¬™7óìÿñ¼†_G÷W>€Á!MÓcÌó_*•ø²ðÊÇ'ƸÙlvww×jµv»ÍÕ1E©×ë‹‹‹||ÆãqNl‰¢ˆ›-,,†±J· "IƵ¦¥1QÈ7[n"c8V+Û¯W[1C |€‘gÄ₨,/¯¤R)î*šÍfÏœ9388È[¿ç.ÞÖV°WaòËÃHS/‚PÍA ¯æ/«é. "”Ö6ÝzåXíÚX¨€¸\fË¡5Å`À(¹€t>€`øœÒD&Æ ;öo/l^¨×b’f׬ç¾ò(Ôξ_ߺæút*377_Hecö3§!€ ÿ뵄‚Eâ;nèØ¹dRömÜÔ&Ææ·ïÝ쫊bªKãe·öç†<Ïo-Ú;|ˉP(JXÖÄïŒ ¢$Ï?g%ÜššòO•ÀÅ~›D!c 1P%„„¨a7giüX‰)'ï¡H@1˜TDT (¢‰kÛöôÔœ¦§‘ ä … ZÂZVc~~VÑä½»öŽnU[ë|Ô7ÚϰÃ1=!J*!à¹CP&1Qª•fÎ/,ÖÚžïù!EEÖ$äý_o{mµ4wèС'Np?MÓ:::x Ôßß¿mÛ¶L&ƒz<êõyN¾F¯Å<âyWîÀ·ÞÉâåÃ쟔i\tÐÎÎÎŽŒ nݺ©ZmÎÌÌBR©”¦hµF0N¥R’$?}"™N$“¶íÊ@(¥š¢ßnZ$ }É—@<}ääæ[º]oZ]}ùùÙJg¶ax‰8÷‚µ'NlÛ¶1vèС½{÷ò»½°°À¹ ýýýóóó›6mj·ÛÓÓÓkõ¹\. ÃF£¡( ÷n´,K×u.%X©T`Ë–-ããã===•J…×O™¦çy<ÏÿR¡rº®{ž·¼¼<22R(xÄËý;;;)¥–eqz…(ëñdâé§Ÿ$Í÷ÉÀЦJ¥&IÒÂâJ¡«O”•zÓ®Õê I©Lβ¬L:Éጠ*•J:ŽÅbš¦U*Œq¿çy333Åb1 Ãv»ýR×™Éd‚ áÙgŸ½êª«lÛ®Õj†a†ÁãÕ•••¾¾¾ÑÑÑááaþ!Ùl¶T*†‘Ëåêõz<çÂÊÊJ&“Ù·oGäÛíöÊÊJ,«ÕjÅbqbb¶푑‘L&ó2<ñc ã1c¬R©ôöö@«Õ—eÙ4M®»qôèÑ}ûöéºÞh4dYŽÅbüûÎÌÌ …x<®iš$Iü.•ËeÇqz{{}ßO§Ósss¹\.Š"×uu]_\\ìììTUUÓ´••ž]8ßÌGô8†³<A(‹óóó1±,Ë0Œd2¹´´T(êõzµZíêê€z½Îý•‹=]Ss ‚ ¦R©0òÌxL•…ÒⲮȶcûE¬¶®)²,z~àzV³Uîëš™™!„äóy˲6oÞÌÉ;ÛÅ/¢DP` Q¡²Žq³åPönÛá_oÍ?s’Õ(È×µh¥šTS‚ M°âz¢'5¼cS;rOŸ9 ê.86ƒ$Üpó%ÉŽœS®ïÌææK'}  b þËë_ŸÏçlÛ)r¸Pý·{¾4 U<@›c»¯ÜELê+¾ÑÔìÄá§ù@¡/Û¹".VZèäsg¬yÈA9¯;m7LvÌqÛ—ÂBXBšÃ¡Wî~ÈpØ¡8àbˆaÄ gÕ€s€ ˜ Æ•0`"DŸzÄõd&鑬§Žþöx½»†¶*‰¾´š5 ¥õ¨^J 9á@bÛÐΡ¥ç¦f]D 4€  ‹““-±¾óšK--5QRg¢eÖ«\²óšb©²rféäwFa€Âäs§K¹þßéÚÙc7Cæ‡i5á &T ;ŠÙþܶÝ;þãëCˆ¡JA”~ÿ€9ht¼ÆLm7ƒ ,ô䌘¶-ÆzTð™@!.˜˜Ÿƒ&€?~ìÐuo¼Ži˜àDžž2@˜Q†f„0L`0ˆÅ”RE””… "Ï„D «’,Ë¢$ˆÀXZKþÿÒ{а‰D1•@èxväQUQÜf[ˆDÉ21-“$_ðkÖ*}ˆã9žà1‰ V)0¼ P‚á -ÈóÊú¼@›ihx•MQ.LÍ£Û¶9ÃÝȸ?Ï]H’„â±èŽ;šÍæ“O>900022Â[Ë$¼ ¨ûç¡Yn´Wޒɤ¦iÜÏryy™›NLLLNNöööÆb1Ã0Òé4ç·ÛíD"¡( Ï’QJS©T&“9sæÌÍ7ßÜÕÕÕh4 …?Ë>øàƒ<ð€k{éTBTØÖ­[:³E$èÀ–m×9’Ñ®µ'ÎXÃCÛ7]ÂÜú'ÇУá/|˜̨ % LQTð¶Í[ÒùT&‚B VÐD˜š˜5U¸ôÒK÷ìÙÇ£(²m[’$ÏóÖJÊ9RË|^Ê•à•` \”ŽÇKüÓ¸†hEk¸Ãy-î¿vßàðàñ§q£§§KU¤gŸ}öóŸýÜøCŒñžËö^yÕU7¿ö7âñd>[ˆ(5UÃmû®çSºJӈǘˆÅ~ø£øàû®¼R7c€ b¤ÁÒRU7/nÀ“Ïç !¥Ré®»îÚºuë_üÅ_ضÝÛÛ[.—yÐøö·¿ý‹_üb?g¬`ŒO:Å£(ªT*ñx\EŒ1Ï?3ƉD©T*‹<âIûÕýU××U½¸éº^«Õ(¥Ù€£G;vìÉ'Ÿl6›'NœØ¹sçë_ÿú7¼á †aœ›T­Ù¶¯¼úÊÒb93ŽŽž*‹‚¬d:sMËZZ©d³ÙþTºÕj9~ ©ÚäÔŒªH‰DBE¾v1Æjµ¿xÎçª×ë}}}ë=Y_ܦ¦¦0Æ}}}###wß}÷ÜÜÜ‘#GljÇã7Þxãààà 7ÜÐjµ¸`$IÕjµ££Ã4MTshŠÅb<¯V«•J…«Ø$ N£àôááa(—˳³³ù|þe2*|⨪ʧ k‰Ä·¿ýí‡zèäÉ“®ëvvv^qÅ—]vÙk_ûÚ»ï¾[×õ-[¶‹Å(ŠxV€#”RÏó*• p á„&ß÷K¥R__Ÿ,Ë333¦i …ŽŽÇq\×uÇqœl6{¾@×›ä¥iZE¸<}úô‡?üa]×?úÑ® І±eË–ð‘V*•ºººR©T¶3søùç÷ìÞ Õz•„!‰°Kq:©‡¡(Œ'4Çm3†)ÊxÑŸåû>gléºþøã÷õõuvvž¯›ÆF{•Ë>¬:æ!0D"y¨56ŸÚ´Ù‹H²¯;!›“êsö¸ßh”‡úAqm¥€°é î¹d+Ä!×_ô1ÉlËNÍ.ŽNÀ¼ Üð†ë%êkêÔs‡ÏŒ>ýc˜;k™‡Ëöï3»Ò®ç~àÍ,~f|R Ú "èïÚ¿+Ùeú‘­ˆÂéÃþæGŒ IDAT§Êc% €ûq–ÀSó2S’DðlAÃ9Dîºe—7dCl„-F#UÑUÐ bcG¯œdЍ@%@gõ>øé‰ÿ“ã0À " 0‰1+8P,! õ#B(˜²Éœha¬3 fƒ‰&¶^µKIƵɈedù¾›2„OçÕŒjÌ~2´°! uÿú 2™¨hH$ã§rý=e¨i]ºu@` À›wN=ÿ|抸 ÒÀ ”¬¼²X)7WºsÝJ\Ù9ðã玔ž)0T›«6}{wÏÖË7ùm/O¹®3797XÂ"Â2ôÄô‰q˜^u*]xfF¸M‚pŸ£g0„ãš £@#BHÀ…¯!Šp¡”RUV4MÓ#Àˆ „`‚B.B)¼†ö$¦0)ˆb€(UO`Dˆ³X*^,O/W&W–ý–½l‹¡„ Áœ€ùS˜ Š º¼ ¯MÞö3Ï¢ë¥k’:@ÃÏ4¬ñœ×œê$Iâe¨<-ÉC…(Š®¸âŠãÇ—Ëål6‹ÅÇáÅü/Ã|^“ßÀ.^[óTç´XžhŠ¢hûöí²,û¾_«Õ,ËúÖ·¾Å¦\ø­ÝnÇãq×uyò-ŸÏ …l6 œ…kšæu×]—ïìl·l3¦;n3‘J!+¯XŽí·ÛŽž`š¡R^-›Ú’в¹Ž`ƒÑp!óï‚0 I„,©² ˆ‘ã…¾Ožî3cñ„$*„± ÃÐÈþ£w¿©Zž;tèÐéÓ§)¥†atttôôôÜxÃm»mY–mÛ|Ö«ªjš¦mÛ¯n-^Ojàf<꣔òôìÏ´¤yÁšÎ†‹ºR0H€žþ¾xLžžýȇ>,"|ã7~à}æ¸îÔìÌW¿úÕcÇŽý÷Þ%›˜–$iS¯mµÏ06MS`@I´¸¸xùå—†K÷îù‡úÇoºnna©XÌ·-ë¢ MÓêõº¦iœÿÔSO]sÍ5¼ÆA–eMÓ&&&LÓl6›¾ïsß™B¡ÀÃrI’6oÞÌQn@ÃkµZœ¡æ8N?7I¥RFƒ ÇÆb1륿×V‚ ‹ñ‚¬‡~xiiéÖ[o½å–[4M{øá‡}ôѧŸ~úÏþìÏ6ŒP€å•šey¹|çÜÌÂöí[–—ªŠªzŽg˜fg6]©5E?4ãñJ¹Â€ ôY­ÏÞs1Œ1ïEQœ››ëïïçq²ïû±Xì¥4½½½óóóårùÞ{ï}î¹çn¿ýöw¼ãýýýÓÓÓ¸ï¾ûöíÛ×ÕÕ%ÂÊÊŠ¦iétºÝng³Ù¹¹¹jµšÉdb±ÆxrrrppP×uÇqúúú–––\×å Ž¾¾¾¹¹9BH³Ùä5‰Dâ¥J'ø †‹Å8óHQ”J¥òå/™1¶ÿþ÷¿ÿýétú¹çž{àþú¯ÿzË–-§OŸîëë“$Éqœ¹¹9Y–;;;-Ë ‚`zzzß¾}066–Ïçù¥9r$Nš¦ÉÝ…úúúÊår­Vaqqqxx˜×ŒŽŽvwwŸï¾Ã7Äp£\Y–ÇÆÆ4M“eùñÇï{ßÛjµÊår<çèÕÂÂB«Õºì²Ë¢(Ïçó—ïÞ=>=n·¬ÎTªZ«Ú¶•Ëå(AºªpgœÀw]×gÇbñ¡ÁŒeÙsssø‡øùÏþ†nXƒM7ö‹_Ê b!¢4D@e1 D"©zð|½IJËŽœ‘Í®m›0uGÙ_uÓ_²—ÊêhÜÖ6é‰ÎKSLGÓµ QÏÝFŸÞÀ57¹Bo¦7o/¯„^´´¸püɃͩ³Ri¸íŽ7¨†965_ÔÖâÒÿ‘UƒX,Ýrms¨{ïoîõ4$דg{j\€i‰IBËö€R±ÇuÛŽ @¤¨¬åE'Üñαœ3ㆄ°Ê‚%âE’(žˆBóêQºî¦p¯JZî3 ,ˆ‰"B`(r̵]J¦¤²´€ `Asl®¶¹(µ5,3;°¦J°´îØM™‰M—äÍÁYÉ‹ 'ôHÁ~d­”§Ës5äêÅÎ\²`t$3ùŽês à·T€9¨W—‰8“ÙRki²4M]â #w º´õÒí¥Ã%€¶/I±Ðñ}êTÝFl¾ºP/×Ë eÄpwº #,HXÉþtð*ÖÐn9†àì-ý9zÄ‘\#–E”ÉQA@HàãŠ4@Kª(k¢,fQH(ÅHD¢@)!(à Ñ_…^STIH@š­c5S"¶Bæ§Ç'N´NQ¨ø@àà°‡ ‘GÔ'Il‘ ˆ9z¥ÃhƒÑðÊôõÔŸ-oÜšWÜå<ó#™LJ’Ä+~Aà‰Qy¶< Ç~øÆoœœœ\^^.‹\gŽgTÎùxÎ)Rý3Ãv¾“Š9Рª*§Úr^®®ëŒ±¾¾¾ÞÞÞ{Ÿû¹Z˜a©Tjeeå‡?üa©Tšššºþúë?þä“OrkÌ«¯¾Ú0 ÆP„^³Ùôüc× f˜…|±áœQ%OzµÚü첡Ng{÷^rÚÀþ., ¨ŠX ””Œ?pÀÂûþø\ßs¼€1„1Æ‚ˆ0™›ŸIÄ”+¯¼òÊ+¯ä%Q¼n|br¸œ·¾ƒŸöè:/ a­2b­Ø˜/\¦÷¯üÓø¢A)@ÂE&ÄŒMNæóùZ­1::šÏçÿï;?˜íè ÏÔÌîbÈ„ðþG¾ýË÷]¾yp @ˆ"–dF$ ƒ£GŽïÚº!öäžò}Çs-In|Íu  Ø?3v¦Ë¡‹ÉËh4¼ú]Q”»îºëÎ;ïܱc‡®ë¦iZ–•N§7oÞœÉd:´{÷nß÷u]¢¨T*I’”Éd¦§§]×ݺu+g7$“IUUO:ÕÛÛkYj'NœØ³gO†\ò€ò2 ‚<¨æº’$Ýÿýžç½ç=ïéïï·m;‘Hìß¿xxøž{î9xð`__ßäÔL±§ÛÐÔ©™™b®ˆÆÏœ¾æº« U>qútw¡1cq ´Õ¨oÛ6Ò¶,ŽŠ.-- Û¶ÍE…VVV¸jwê庌Ü;ãœ×é8NGG‡eY_úÒ—žyæQ[­–ëºù|þöÛoÛÛÞV.—ƒ 8sæÌ¥—^Úl6c±G zzz84cšæüãþþþÅÅÅ0 »ººæçç9’.IROOÏøøx,Ëd2ŽãB6oÞ¼´´ÄÁ‘sh8m¯Õž;vìØìììí·ß¾ÿ~N¸é¦›º»»}ôÑÎÎÎŽŽJé‘#G†††¶lÙÿÖ¹\.—ËU*•(ŠzzzdY.•J©Tj`` “ÉÌÌÌp)Y–çææŠÅ¢ïûã¡¡¡ÑÑÑžžžt:½}ûö—×’xqó}ŸÓ—Aà9 nbrï½÷Þyçétúƒüà[ÞòŽÈ¬©T&‰T*ÅétZ–eÄH*föä ’$,,ÌJ’”I§K¥l¦ÃqüÑÑÑmÛ¶1DIBRä-[¶,//ž8q¢P(ð²±Y\ì†D !Á–¥b€4Í%0tz–ܤÇFŒ«ŠY}÷m{ã†tÚ™û³#U‘\(`Pò2ÚÄ&a¬Z­<2 2ìI\•-tö]–m÷ë…XîèØ©[.¿áä3‡{à€*( v\s¹˜H6|—èêŠï<ö¼eC,­V çWlRM±éØBÁ«8cL@ DÀª†T AР©¶…ØM—† "#€dƒÖÓµÈ ‡ Š!˜`†…0f¯h` P XÇ\8W£|b€ 1ÄD‘!ˆpD0–4¾ê¯5ÛX•c€B&+žW™Ÿ‡Ó P…ey"‘ÂXå†ßºæñÏ?Yö$ö]{µOØ$Z^\?zð¦mc?ÒY0ºöìÜûìï¶šÀ€‚41¢HoÖèØéöxL¨6F¯Ûs]ÉZéÛ>0pͦ©'Ç®á&…Mý#Žçº1zòx{²œ)Ð÷Ær†B¸ÿÕ?8þ„«â‹ó ʈÆ.D°^ƒ8â R„BÀ>ÂBÌ(€0AEQDI‘B‚cHÂE,`˜aŠè¯Bz¾®Æb¾ãª¢’Q2õÅÚôѹSÌ@ `U€ö  TŽ@ÁL >qE5N¹½ç¹æ/ÙXÅ^~‰Ã˜¨5¿ Ø(ø9§Åò ÆX£ÑX\\ŒÇã¦iʲ̫*x¦1 Ã]»vñ=žKp™¦9888>>?­ ·^åñç4ÄÚh¯(U”µçØl6¹ö[«ÕÊçó•J%‚ ¶lÙÒjµ†‡‡¹Í/¦åX—»å–[ ÃØ½{woo/c¬\.s97Y’ÀÐ’¦¡(¢¦›a¨”–­f»´´¬Ç1b8¦èÉxªV±]Ù-ýWl”N\HÅM<Ïûà?ø¹Ï}.™Lòb„Gy„R:88˜Íf—––¸äK‰Aò'î8N‰DâØ±c{öìÙ½{·ã8õzáÛ¶mÛ³gÏØØX³Ùܺe¤¯¯ïOþäOŸxâ Y–ÿò/ÿ²Q­A028 Ëòƒ>vÿý÷=z”1öÇüÇ·Þz«(г³³õWµ}ûöùùùÉÉIØ»wïÛßþöb±ØjµTU%„$‰—¡çAÉd,Ë2Mó{ßû^___GGG:^^^曇Î/½ôÒãÇå+_ùÆ7¾±ÿþ‘‘‘·¼å-®ë~èCúÔ§>uùå—§9sæŸøÄ?ýÓ?1Æþýßÿý‘G9xðàµ×^{É%—¼ç=ŸÅb/ãyÉñ8nÌÁY!Ífó±Ç»í¶ÛvíÚÅ•-Ë*‹###½½½žç---!„öìÙãºî¾ð…ûî»obbâŠ+®Ø¾}û]wÝE‘ey||üž{î9|øðÔÔÔÞð†mÛ¶½ùÍo€žžž¯|å+<òÈ‘#G†‡‡/¿üò»îº+—Ë¥Óé±±1¦œ/ÚÈñY–]×åΚGåb|,:uŠ#VŠ¢¤Óé¿üË¿œ™™™žžÆ¿ûÝï¾ãŽ;–J‹­FmdÓÈ×¾úÕ¾ç ñx2™LîܹóÏîü@Û²j•Ú—ïùʇ>òѸ™Œizè·kÕö;ÞñÎÿõ¿þç»Þõ®îîn^&IÒ׿þõ­â´!ñ,ª–„Z cYÏ0š¬ûlggçððpOOE9«“1vï½÷~ä#Éçóï~÷»o¿ývY–}ôÑ›o¾yvvöÅbpV•we¸ØëóŠY΃M&“†aH’äû~__ßéÓ§=Ï#„|ó›ßœššâ)¦x<ι\üºë®3 ãèÑ£=ö¤Ói.󹲼ؙL:®]©–¥–E‹™™tÖ,ß÷ÃÄÍt&Õ»ypÏ`÷Ž®Î~  Ú…kˆÄ ™‹p(J °ÚU×kJ’d˜¦,!YV$Ir]»ÕjQJEÊ€®â ü38ÕÅq®¤À1Y–UUáUx–ìq 8nÅÃ'Y–×ÊW±üä5ep‘+oLÓœ]˜—OLNþíÇþ:tC,‚O´juD˜jjW]±ïÓÿû3òÇï“㸠Ì<Ï "?Óž~úIQüBÌLÙ|ö?Ÿzüµ¯¿õßþãÿ«7ù\a|v,ŸÌ_ÔëgŒ5›ÍžžžM›6ù¾ûí·ßÿý=öØöíÛS©÷}$)‘H|ùË_þÌg>ó÷ÿ÷…Baffæ›ßüæ‘#GþüÏÿü÷~ï÷n¸á†÷½ï}\à_ÿõ_ÛíöC=ÄWõññqž‡_Ó;XK¼¿ðÑl6 !œ-U*•ÞùÎwV*Ã0:;;ƒ XYYq]wß¾}?ü°m[­š0Üßs칃ððßÿôªÕê'?ùI¾ý’K.‘%üÏŸýôw¾óßùßù§ÿù©¹¹¹¿ùŸèëßµû×uðƒŒŒŒ¼þõ¯ïìììïïÿÇüÇÏþóÿøÇ¹Nç\pÈी×uEùð‡?|÷ÝwoÛ¶mÓ¦MªªÞ~ûí£££¦i MMMÍÏÏã߸öÚk?ö±MMM}ík_ûâ¿ø¾÷½ïÆoäÈT»Ýæ2º>ø ×S|üñÇï½÷ÞßÿýßÿÄ'>111ñùϾP(\uÕUŒ1þæ—šD\9•K2óú”#GŽ|à°¬Un†!\c¾ð…/uÇwär¹;ï¼ó’K.ùä'?)ŠâO<ñÝï~—,<øàƒ_úÒ—þèþè3ŸùÌáÇ¿ùÍo~îsŸûÝßý]UóÒ›ó‡¼3é,Ëâ2 ßÿþ÷ßÿþ÷K’ÁßøÆ£GnÛ¶ÍuÝV«eYV£Ñxï{ßÛßßôèÑûÝn¿ë¿¾Ó”o}ýßûÞcú‡rÛï½é+_þÒ}÷Ý·iÓ¯¹éQП~êdž– ð\PøK‹åÞÞÞ»ï¾ûíoû~ô£ùùù‘‘×u˭ºѸ@Gƒe°dTb r’è`C^„Æ)˜jÍD²§g‹–z1/×—]ž¬d\xJ\IéTGBMYõãi9[“V@…é4kª©k‚‡p9ì2ãßúÚ×XÁŽÀ„ko¹u°·Ç©·.jÕ*“Ÿ‡Ù0@N+¼î¶«%SÙ‘}yaùÄ£‡a P¨é ‹ 3 ‚Axeçë÷³MàuDåj5¯f‡7å¯ê9Q>3tŽÐˆE! ¬,–i,-è*‰"0@XÔ1Á¯ÿF 0 ׆~1ÐuVDÜß1@ˆÉaŒE” !Ä(F$¢!‹ET…0±× P XXÝCÔ/ OË« 2t"µ#%®8õ< ÂLÎ-jé"p.oçÛ³.@W׿T2¯FrdEåùŠçB$ tùde÷®ímÏ—]­³ÐU®,µ/ï3¢(j¹Yž?@ ‚` ù†Ñ,¡/58Ý1Ë> KJ Eó¥yp(€àAóÌ3o}ë[÷MoZœŸx×;þëÿþôÝŸü×××Çõ÷ïßÏi ïz×»î¸ãA8OáÿgïÍ£ä¬ê4àçÞû.µ/]]ÕûšÎžtö$@XAÑaFÅm„3:Žã2ãgÎà::ze\£|¸QQ@Ô$È–„}é}©ªî®½ê]ï½ß7iC"ðgôËïäôišî®ê÷½ïûÞßó{Ji¡P8^eO¸à‚ zzz†‡‡'''Ÿxâ‰ÿøÿ8í´Ó¾þõ¯ŽŽf2™¾¾¾žžžX,Æ9ïìì|Ï{ÞóÑ~4\rÉ%ŸúÔ§ÔÏŽ×ëõûî»ïÖ[o=|øðÖ­[¯¾úê³Î:«­­MñWõW÷ßÿòåËS©T*•:Dmh”)„B!•Â@)D"j¡2Æ”~M‘’Ô»æ™gÖ­[wé¥—ŽŒŒtwwßxã=ôê´7mÚô±}LqÖ.\¸~ýú;v ª{å•Wær¹³Î: ÀW¾ò•o¼1—ËÅãq…>¿¢Eh𦠿T3•ž»eË–«®ºÊqœT*µaÆ›nºéºë®ëíím4Á`ðÒK/]¶lY¥Ryýë_?99ùÌ3ÏÌÎÎ6Åâ7o:çœsÞô–ë 3ù7¿ùÍk_wÞ‡>ô¡ ]’Éd<ÏK$CSSÅFÃ…#‰D8“ÉPJ•9E¹\^¼xñððp$9•:ñ'( A qø0*<îbÂ÷Hcsº_ï¿lY0aØ9«?Ø£×´Re.fƉ‹ZÕ&¦™IöƒM°6Ç¡å‹Ï Z¬:^4²Ù ~ï‹·§ƒf¾á ê£;¶öÒKéôÈd.­…xÙÙþû' ÙM@Ø€í]üž+b©@~f:jÎeŸ¼ûI45Ùsn®ÇvëÝqڧ͆Çl›{’îhYz&kJ¤à{–V/ç¼f+˜&ãMf"ìqßo)¥Ô¤F‘TñG?‚&„ÃË#5• T“Ï»ñ˜!Ƥ”àDpM *¸.IS,A9kªÝ’0tÀjòÈšÔâ~Ï@K4C+¬œ/ÕÖ¿îÜ–XGe¤fzæÞÇŸƒ¤’ÈåAqà¹C«Z#q3ÝÑipû©ÒÓKVöÇ[Û$êVÜé‰r­")Õ´PÂwæ&7O“7èF$"±Ö%GíbyõšåŒ!ê×­©ßO€ˆ*r§¶­ð3õz¡6½?rlð3‹»—¬X44>äêçµÉQ qâò°0eE3ŒW¨\Ppr”ÛpJ=qk”nZ IDATâüü€üØ@ƒã Ç KùÊ6‚j+pljî‰Ý­ÿ\*¨u¯ýéOúþûï·, Àã?þ‰O|býúõj.THÁäädSS“"‹®^½ºX,ž}öÙ”RµÝQ!j»wï~æ™g-Z¤²Ä”µäüá:A×ñ’çEþù£Bˆ—ì]¿„^IJû#ç áljF£ n(•Jê%’Éd¥RÙ¶mÛyç§"Ó„|_´µud³yÆôµkÏÿõ¯ü›¿y—ãX¥R­¹¹©¿`zz2•JBéó™¹9MÓ|.vÑólß+ECºíhaÒojmMgÞtþU‡GÆZzÃ…b) Êãt•¯ýq~©¾˜¾Ü#ùêP†ã¿.}E_ÉßC%•Õ„§áF‰³ÏY§›AÇóÆÇ&“©æX¢‰Pær RJÉ]._pA›Ó£’çí]•¼"«pÊ—·8! aº®i—R@rßg„HB\ߣŒ1*Õ((ÕMCxŽ«ê ¨š¿½haH)=×–Õ5ƒiŒ2HûÂwÑ‘Br"¹œHN }eOM"á4ê„ûAG{k~6ŸéhD"6<ÏñŒH`ºgÖ”NHMгÂçÂÕÛÛÛ§'§¨aÖlKÓ´JÃJ45›P0iTmJôE]‹¦¦§"¡è+]?Š5 X,vttŒ'“Éã5¨¡PHùðMLLD£Ñ`0èºîM7ÝôÝï~÷ª«®R‰•ù|¾··÷ñÇß¼y3!$*GØÞÞÞ¦¦&]×Ï9çœÇ{lÆ {÷îM§ÓëÖ­ûÙÏ~vàÀ®®®xàßÿýßkµšçyê~R¯×OÐŹ®F•P¢³³³¥¥eddÄ0ŒŽŽÇq<ÏSʯa®PŠÇ"–ë-\²”RšLgF†‡O?ëìüãÇŽ›H$¶nvçî=_ÿæ·†‡‡•Ú"ÙÔ¬ëz¥RqgÍš5ÕjU T–ŠŠfÄQ–ã‰Ñe»¨žh\pÁØØØ7Þ˜ÏçþóŸ¿óïüñœËår¹Üw¾ó;w:Ž£T‘HdzzzÕªU±Xl×®]œóŽŽŽ‡~¸££#wuu}üãÿÙÏ~öÅ/~±»»{tt”ÒÖÖ¦ôk ì;ÞyœjQß÷ƒÁ`(ªV«*„BIBq@yî(ÚÚáÇ¿ño …ÃaÏóÎ>ûìO~ò“ÿüÏÿ\*•®¹æšÏþóÝÝ݃ƒƒK–,immíììœ=xðàO<ñå/¹©©iffFCõzRªü/ŽgÃq¼õÙh4ÔsGMNNŽe2Å/˜™™‰D"ÑhtrrR!_‘HdÅŠ±XLJ922rÅWüà?ˆ'“SF‡?ó¥/NLŽwvuås¹h":[œ5Cf­Q§:*µšíTûû» …ŠÕð«µçé3„Z­Ö××755u høÓö p0ÀÆâöæ¸î»Æœ¦Ë«ÌL°¶Æf¼Bmÿ–§_wói•Z%¢Å‹#ÙìBH²êÒõ ÎYÓ`¤kíºnzñf·:·ûÙ½ã›FQ€Áa† ‚3/»(ÖÑ2•-v´u8ùÒÏ~ö Ô…oÁèŹW\Hèu[&c=ã{ƶýv Ê`>tÛ<s\[cùÛV“Û5wzÿ”ÿl!4£Ë“ÉÎTleÄO»a4DfÑdo¼ÊÊUYÕMêájõD¢É)»Dê/Sc"æ›Æ:Õ‹¾¨‘ÖÂLw¸_aNx6¸ô9m8p9³5Hêë![‹M•epq·õ‡1PÀ4<÷øÖuo>È‹‚]%«“ ½í€pˆN[cm;»#QÖJ5 ‘(¼±Š(ßsFWÝ-mÁsox]½aûÔ ÊDå™mÛ CH)l œ€â±G·žvùi©¶æ wdáéšÑQkO´Õ×üa$P¨Æ„Ëüvw0\¹ve™Í<ó¢Õ¡P¨ì ¿.z–ôåLb()XÒ‘ÂeœsI‰Ð'G x`Tuˆ$Ê?S  „‚€Q"‰¤„HáJ4!¹´mǵ\Û÷Báˆíz®ë2 ] 5Sc Bxc NݲmÛsÝ”ñ`„Z>•”J &\Á=ÎA ‘` D !DJJ¤ +¥’I IÕéæà<Ÿøœú”:aŒy¶€ƘFA¤ ¾ïsß™!¢X-‚J % “ §Qœ›™FE€êb¢ë¬æÓÏ?3Òsu/Iãsrºq5×)éî¤XÙrVJOo¾û÷¼#& Œ ÁAâÿÿáÀcŒI‚ùÔµ[ð9WÏÜùœiÕæúü¾ô£á$T©TJ&“¹\nùòåãããïÿûãñøûßÿþÿþïÿ¾ð Ï?ÿ|ß÷çææ”{œawß}÷·¾õ­|ä#Ÿüä'ßô¦7mÚ´ippprrR’†††|ßž]´hQ,SÙì§êÿ¯áT[.*KBiïçææ6oÞÌ{ê©§fffZ[[W®\Y,Ç …b¶m»®•L&ûûû5MkoogLWI¦)Ê9‡£†a¨1W*Ó‰D<ϳ½b$ŒFMî;¦2µ¸Fµ¶ä2‰¨áPACÇq>ûßæ2¼V(ßj¤žg ArH)‡G&¡iÁD4  À€g ¿¢ˆ-ʧMùù)°o^ˆ®@•}øê(ÇóÇ‹ýH5âqN}_ÝÓ¥úwãøŸ,†À€€ ’pH ""Ô×ýø*Þ¹¡ééTs±PX³fÍw¾óüãÉLS8P.—‹•Rî3ZŽ•J%ƒA³ÑhxޝR‚á0Í` \.Ç“‰R¥, Âáh:Ý2;;kêÖL[­V{ÏÂùƒ£4)'øfeíY«ÕV®\iÛ6€J¥rÚi§Ý{ï½þáþajj*‘H”Ëeß÷|ðAU«bÆÇÇc±ØÌÌÌi§vÏ=÷4ûî»ïŠ+®»üòËúÓŸ*Õ•Ò¿(aݼ ÇK¾Ÿ¦¦&ιºQ4Å‹?ýôÓo{ÛÛ¦§§-ËêëëSÝà/ùË3Ï<3pžÞþ¹B) ÙŽ×ÖÞY­V»{ú˜fK×ã¿ûýojµZggç®]»úûûëõz:ž˜˜P1IÁ`°««kzzZå8ÆãqÅÓ™÷6>ÞqkiiÉf³*}£»»[Ær¹¬ëúe—]öãÿ¸X,¶··ßtÓMƒƒƒ×^{mWW—òR=÷Üsc±X¥R¹þúëï¹çž;î¸c||üþûï¿êª«ÒéôØØX6›}ôÑGŠaÛvkkëØØX"‘8xðàâÅ‹gáºn(bŒ)fedpÆgÜ}÷Ý—]vYGGG¡PÉd2±X¬Z­*!ÆÔÔTSSÓÄÄç\[£££J à3ŸùÌSO=µuëÖM›6=øàƒÿò/ÿ¢ëz©TÚ¼y³ ijj²,KqÊår¡Phkk;äK®O…2¨Žééé+V¼óïlooïíííééi4+V¬ð}ÿÿñ|ðAÛ¶§¦¦!¹\®­­Í0 sLMMõ/èw}o÷Þ=+W®œšžJ&“Žã˜Á@n&ïyžahÑhX×Y©\¢ ”‰D"¦Þj8N§Ó³³³†a´´´¼ŠëîT½rFøQÚ™[*JËŒF" ‚ë©´=cÁ§a$ëõ9daLø‹[»åœîT† ×f€¹›m«×üÄÒ¾d,eR=xvvûþ¹á™‡‚å`® dpÑ[.u¶Um; ”ffçÿ ‡¬FÝ·‘\h.?w5 ê‚M7îÞÿÔnä9\DhœSpîABš ‡*¥œ?YD°œ\.—‰g´%MÂç¾Ë½`"èx.0ƒ!Ïun•ÝrÝm¤‚*ˆ$’àT”…—2;dPƒxò"ÔܧDš4¥Œ8®æKæqêCøÒµEÀÔÉLG—w(1‡J ðÅÌÄÌ¡g÷g´¤ÑÎú;zÍtkeÂÓÊFi¨0·oÚž®j¾a{ s~í`¾¥¢Mè]‡5ê’mäªÙ¡éêTAaüÔó„¤ÌšãS‡§‚R¶šÑD"*Èî«´«Ã%ÔA3Jmxe"47gU&ŠŒÖ‘n#!Ô-«T.ÅÍfFEÝnô .&û1Ì£ [Ú:ÛfظÛ’BpŸr I©& A€%8prdósd!)ˆ¢HÂ¥òˆ.÷|éIâ *¤ãZ’À4™¡ëjTHá) Ê ç® ×eÜ'„hD¦ÒÍŒ1É('Ü¾Ï AI„”’HÊ$4É4M2&´îDª—ÖÐ@‚N¹Ï„Ï<Ÿx>ñ}Âx$¢\*¤€Î˜i ͬ”ªT‚I"A¥ €Ïx8žByд´H¿^¦£Á’f< úàéît¸-šuò³N‘„ZÂä3S³]ÑÞîï»sûΙíYÔÍ@@süº `/ι<•=ñüCíhl¢˜‡!Že4;;4¼Êjnn&„,_¾ü‡?üáºuëV¬Xà[ßú–o·¶¶& %úU¬‡U«V}øÃ¾å–[.½ôÒ÷¾÷½”R¢V*•úûû¿ño|ó›ßl4»ví2Mó¹çžkkk;uÿ4Œ 5‘VÂ{Õ[X¼x±a¹\NJiÆ®]»:::”‡¼’û*¯¦¦&exÞÔÔÔÜœœ›+¨V«„×u«Õª²¸/•JêÊT‘fF#‘HB ÃhooWx‡ã¸†a¼Ò<öSõÇŠý÷‚š­;Þ¡¡‘J­^«7”,?Òßtñùù|vçÎCCCór‰d2ùŽw¼CÝ=U¥ã8õz]EÜŸ”w© …+y>âEä…—Ãm9–ˆq’÷ÊRÖjµB¡pÕUWÝ{ï½ÊµD¹ tvvæóùÏþóøÀ¦¦¦Òé´b{)eÙøø¸¦i ’PšùX,¦²¦§§Ãá°eYSSSêrxE¥úäùçÜ ºz…Á«¡·mÛJC‰D‰ÄßÿýßÿûßÏårMMMê/Z³fÍöíÛW¬Xa†ºäëõzGGG8Ö4-Nÿæ7¿™™™yÓ›ÞäyÞE]tçw>ðÀ½½½ápXAQ8j%€£”—>Ô=‡¢iÚ¥—^zß}÷uttœwÞysssªŸÜ½{÷“O>ù®w½«V«ÍÎÎÙÙÙÅ‹+`ô©§žÊd2–e9Žså•W>û쳺»» !–e©Q¿RýÔj5Ó4)¥œóJ¥¢ëºmÛjU«¬“ã½Ï™™µJ¿÷½ï]qÅ---Œ±‘‘•£422òÄO|øÃ^¼xñääd"‘ظq£¦iÍÍ͆a¬^½úÖ[oݲeËèè¨ã8+W®B´´´ô÷÷uww«7Y«ÕTÎB[[Û 0#ÿ)_%q ‡Ã—\rÉÆ—-[–Édt]oooF£CCC7n|÷»ß­HÑhôu¯{ÝÎ;»ºº8ç±XlçΫV­*•J###‹/>ï¼óTöÄÜÜÜ?øÁO}êS¹\nÁ‚›6mZ¾|¹Òh¨³¦.‡R©4S¼üõ© /iN± |ßÿ§ú§Ûn»-‰:tH©2o¸á†ÑÑÑx<.¥œ››;í´ÓöîÝÛÕÕõÐC½þõ¯WQ .T1ù|¾^¯oÙ²%“É´µµ)êÊ'" ŸÄëîT½Ò"  „j¦ §V©'¯©9è×ø¨Óª„dºj%¼š/=Mj¡š[p+€Ëá?]{L6?íl¡šV›ÀÁ:lX€ëÀ™ëÖ¶¤[­†°ýÜxvÇ“[`IË®ƒ"ÑXsöÙ±¶T6 î~æYLÛŒ³mÛ#¾B¸(å asSÓÃ>¯!Œp$`‚ É$£ F£V®EZ#íiôâ4î²VÇwêåÆIó0B̓Ï$J™IÕX€F¸æk=ò)±f4P6Ã3¼Žp^£‘ų›†2Sˆ÷Çž-%ê‡Ëõ¬¬o/äž›&>€p(Ÿ±öoÚ==3[Ë,Ì$ZâÒûvjL[ÕýL.Àiš„´1öĉì¡Ä¢hë`sº§I4ò±í“«~ÀA4éø’rÊßûËÝ÷ê^ÞÙ¾°=” VjµòlÕf¼£©³ÉhX¾H³µƒös§Ÿ~:¥”J ]—Â÷9e ŒP F9ŠÁ(¥ÉÑnøH¿GA Aˆâi¨t!¸Ï}ß÷]Ï÷}_ ঠMÓÔ•R .h”pÎ]ß³<×å¾”RcŒè´äU5PF4AàqŸHjêšÆ "$D _ć’É}•B© DBPC‡&5ƒjLãŒz ž¤¾å„Mp!<Ïs|_ "uóȈ•`LTŸRÃw¥hx”éé¶ö0Ì0 4êuf0/,§¬ÜŽñçòöLº¯¥½)–Ѥ뤭ÒÒŸÛ±§´e>´x"h2Û©àóvÐÿ¯OÔþ„¥iŽÚ™›`rìfõe1^»»Ã_F©-àìììªU«r¹Ü¶mÛ¾ô¥/]tÑE–emذ¡¥¥EM{|ßW Øý×ýÌg>óÀ4 Jé*•J¥RY¹rå¶mÛn¿ýöÿøÇÃÃÃ&&&N;í´éééSùOs•½¿òÚP³¦p8Üh4† www?úè£û·«ëzµj)þªïûÅb‘1fYV4ݳg¥TI²S©”aÛ¶m³,+›¦™Ëå„Õjõºë®Éçç\×M$©TÊq9¥´Ñhœ¬®õTá…ùBzƒ:Ë}½Ý‹—,‹'p=pÎ…oâµ´´œþùëׯO&“žç©Ü»‰‰ å ¯ÚÅÙ>‰|c5¥Tü]×Õí[E¨i³b¦Í§ýQ8àØÔ›“¨»Qi|}}}‰Dâ7¿ùÍ­·Þú–·¼eíÚµ¶moݺõ®»îÚ·oß[Þò–¹¹9Ó4×­[÷¡}èöÛoŸ››ýèG?ªlzzzr¹œRן~úéSSSÝÝÝ‘HdéÒ¥¯4&P¡u þSmç¼Æ ]×8 X*™L&›Í®Y³æ¿øÅ-·Ü277W¯×MÓ|ßûÞwë­·~øÃt]÷‰'žØ´iÓE]´lÙ2Jéºuëþë¿þë†n¨×ë---“““çŸþ7¾ñ[n¹%*kõ–(¥Ênö%ß . …B*jqÆ ›6múùÏ^­V/^ìûþc=¶cÇÇqV­Zešf[[Ûc=ö…/|á_ÿõ_W¬XñðÃ?ðÀk×®miiÉçó—_~ù÷¾÷½~ðƒžç¥R©‡zèñÇÿô§?­išºYqÎgffšššT¥C•ÁÊP<ÐÇ !…BáÞ{ïÝ»wï™gžyÝuשË;ï¼séÒ¥ªo_¶lÙÆÕíô±Ç»ë®»<Ïêèèhii¹ñÆðƒxž÷¶·½-NLL´µµÝpà Ÿÿüç?ö±~úé„M›6=ûì³W_}u4=šCÑ5ê§(*¾ï¯Zµê¡‡úýïŸÏ盚šž~úéŸüä'¿úÕ¯ÞøÆ7ú¾ßÖÖÖh4Ö®]{Çw¼÷½ï=çœs¶oß~ÿý÷Ÿ{D¢££ãcûØ\píµ×زe‹ ¨ƒoûÛï½÷ÞD"qúé§oß¾}vvvÏž=7Þx£çy ,àœp¼õ©¢”Ëår H&“ŸûÜç–.]ªÖ£ÑÈd2¦iZ–µ~ýú{î¹çýïooïG?úÑÏ}îsË—/ß½{÷wÞùŽw¼#—Ë-\¸p``à'?ùI2™<ãŒ3~õ«_Ýu×]×\sMµZO§Ó?üð† 6nÜxûí·Ÿ¬ëîT½*Ì›侯xئ¦SFªv aÈBF¼á–AA.Î6bÍ­~0HD ˜€ï¢>†úd­¼¯ðćØšñÆÞ EÇGÇšb‰òdvÛo7Éô¼*2 âk/Zç”°`,ݵcç¡'¶#  D¤C8$ t¢û’3“r!PÇÔþ)^ô;â-ë×Öú‰h¢§µ»>×øÝc¿ŸþÃ(ªê Hg…–ž¹´Á,[³õ¸aù¯í–†Ä•B£UJ¤Ô†np#¤Rº<ÂBN½6542SÆ´ëÏ)ð%¤ ×±Æ1: mOÙ–¨e‚@™iXºÛOÄ’å✬ ²³RÙW™hš@¨6P<ű§&Ñ }jBs<.FE![.(#z5`Ѐ"ˆ‘ÒãÜÒÑø{¡ñÃC[ƒ ÀÚ]£-Y¸$lF[šÓÉuçuõtŒOŒ¢ÍœFºÆ$R€@A‰ÊÝàtV Hª6@/Ș¸¾ïyŽË=_ÝNA “D×4åˆ .8ç „Ø¾çyžã8®çúš®i“Œšš„ T"¨th:ѨdŒKÉø.çŽð„R%Î`0X©TNV?+¨ø ÍðSVvó‘·8¾±Žj+^$¸8‰LJ‡‡gff,XðéOú?øÁ]wÝuóÍ7«·½xñâ­[·*b9!äßþíß¾úÕ¯._¾|áÂ…¡Pèk_ûÚ-·Ü‡C¡P<W®(—_~ùm·Ý¶yóæ®®®;î¸#•J½  Á?ª7Qþ 'ÇQ”„sÎ9Gý úâìììûÞ÷¾Ï|æ3Ë—/W3çÁÁÁn¸áöÛoß¹sçÄÄÄßøÆË/¿|íÚµBˆb±xá…>ôÐCW\qE¹\niiñ<ïâ‹/~ä‘GÖ¬Y …Ôª˜Oò<ïx˜”2€Ð4Íó¥tzz:™Lþõ_ÿõ'>ñ‰p8|øða!Ä…^xÕUWÝ|óͶm/_¾üâ‹/¾þúë÷ìÙÓÒÒrî¹ç–J¥o~ó›###BˆsÏ=wõêÕŒ±Z­¦±X̶mÇqÀàà "kÌ*Ÿàþ£|Óéô'?ùɉ‰ •ñ©(*ïxÇ;®¹æš,Z´èK_úÒg?ûÙo~ó›íííÍÍÍê×Üܬ¦ë+V¬¸óÎ;u]WfÉŠtíµ× |õ«_ݵkWµZ=çœs®»îº¥K—*äxi ¾Qd4eÐë8N<ÿÊW¾òË_þò¾ûîûâ¿hÛv&“Y·nÝ·¿ýmÃ0Ö¬YsèСP(tóÍ7ßvÛmßþö·ßýîw§Óé+¯¼òƒü`©T …B6lxæ™g>ûÙÏ2ÆøÃîÛ·/‹]~ùå™LæsŸûÜÔÔT,[¿~}KK‹z•J%ŸÏ§ÓéW´>c¶m+ËOBÈØØØÞð†ÙÙYE—PÀS½^?ï¼ó~ýë_+ªã׿þõÿüÏÿ|öÙgO?ýôO~ò“‰D¢««kÏž=ùÈGyä‘›o¾À’%K6lØðö·¿½R©,[¶ì _øÂ¿øÅk¯½¶½½½¥¥å²Ë.›™™9)×Ý©z5»yÀ„Qó=˜0ÃfX#TRÞ´²£ð‡I˜NÝ«ø`Á,œ(ìêDWCeËC HèEé&9Ê X0”<Ì@¬9Òqá4‘ªÕêAÝ”¥ÚÁ§¶È„c¨×`4cù™ƒF,\ª–#F¸T¨zt;*4P.=ÛW=•Î "¡°[©‚‡1¾c´{aWO¦cÒš¢Ž˜›ÈçF²ÓFü¸Ôú[û{3=y{¶$ʦ0Í@Ãmëx’§¤§Žð,*©”Œ³1£2×4ËoxùúÈŽƒs[‹(´ ÛvÕàÜ tÔâÏ…ÆLúÂ.û’€2ϸŸ ¨pK@AÃ4˜æX¶€¤`„thu§*0q4¹€4L†ǃ'¦#ÖªU(7ËâóÓs”øŽÂö¶P›sÍ€ÞÓÝ]uJ ·ÆËB¤4 ƒPŸîKóQ BBReÍM5mÇxN8Bð=Ïã¾eTcTÓ˜©¡àœKA)eŒÎ )4M3LÓ0MbP©ç9®ë¤ º)±%±Þ”áø>à"…0Í™÷†<ò§B¸¾Ë©ï3 0¨`Ì`T'f¸žÏ‰“]j:¼zrx IDAT!®{D¯zU=zɘ0(g\ À— œrAà)ˆ¯Áw‰9€GÓ^&Ôozü)ëÕ#§•óå ò…qÅ`Ä$èQ³í¿@¬áx}½<>ÐÎçùàóEÅ1ÜÛçãfä5ˆzm9© ¶¿RÊ{î¹çšk®!„LMM©·¨v.'F ÚÚÚ>ò‘¼ç=ïQ"äT*å8ŽšL†B¡p8\.—Ëå²’«èÞ½{;;;³Ùlww·òâš™™9ãŒ3fggkµZ­VSɈFCí> è×ë@àûßÿþ{ßûÞ1RN̦–„ÿ•Ëâø¬×W¤Ö9.Uédù‰>üðÃ\pÁôôôîÝ»×®]«ÈÞ j6>>þøãŸqƃƒƒÙp8¬dÛº®‡ÃáÇ{lóæÍW^ye:"„ÜvÛmù|þ /ü»¿û»Ÿþô§CCCûöík4kÖ¬yë[ßšËåV¬X ô£]rÉ%K—.ªÕ¬ù,ƒÿcŸR¿†+蕚A¾Òߣ3öýïÝñW7üÍìì,Õ ß÷ 3`»þ¯z¸»§¯o` )•6 C®ë{v­³%!\knnNõ-RJ%„Q¼•D"¡æTcÃ9Ÿ7œ …Bßþö·?ð(hàxçëX ÇØó*ú·ã8ÊBQ'cže+×I5‡W+ä¿_MéÕ'óÈ…Ò±«´]s ôðê“R©ô¶·½íøÃÆ ÃX»ví’%KŽwœ+•JWW—ÂÔT,¢ëºjlõè£Þu×]øÀššš„…B! F"‘\.Tîc,S¢t:½ÿþX,–L&À¡C‡^£AùPJkµšòÄ9AH¹\noo/‹³³³ííí„…*W…©©)J©2BD£QBˆmÛõz]éðFµZíîîv]7›Í.X°@5ÑHDQ!Tÿ©8M*1‹Åã¥NƒÁ¡¡¡ÞÞ^MÓêõúÜÜ\¡P(‹ÍÍÍŠ§iZ(S/wõÕWÿüç?/—Ë===ù|^å…B¡b± r‘H$vìØÑÝÝJ¥FGG[ZZžzê©ÁÁAJi<Ÿžžnkk»ï¾ûÔè[YÌÏÛw¨}ß7M³\.+ФR©tvvªÁ{¡Phjj’Rær9ß÷†eYÉdò¹çžknnVG$)‹†a$ eâ¨ZëX,ÖÚÚªb/ èV«F£P(ôôôÏE]>ЉD†²«¬Õj@ ‹) P(8ŽC)Uÿ«»»{R·ú`0J¥’ŠÒÔ4mxx¸¹¹9×ëõh4Z¯×-˪V«Á`°P(èº^¯×“ɤ:òê oÝo} !êõzkk«mÛ*a´µµµR©H)#‘ˆ¤R©ÉÉÉF£±páB5ÛPΑ*ÙDåbvww:::­Z©Túûûgff(¥©Tjdd¤··wffæ¤\wÿ[¥y•ÛH£Ñ8|ø°³þ,JƒEÌ…W§•¶3Ú¯[šèL8ŽÛ(Úû?Û;…¢=¤yž¿öò5‹Ï?kk¹ní˜zrçÈæmr¨B€ÀVqìˆ.0ÝšèY½,sÎÊŠ[OJZŸØù»Ç .£àñn¬Z{vsw „4<°÷Ð3›ÇŒuÄ"Hí»9L3$%q]€3}¿ 0è¬kAGª=¹òuƒÃ#ÙÑüÄáÉêžÚ‘ðE´O;sÃYÍ Ó9'_–%0‰ã;¯)РCs¤¨é‹ µ»Á„«ÓŸËýî±gqpZ¦€0ÐŽxŒû&,€Ô 4æÂBƒ+”‚<Ÿk`êºãyºPþÁ¶g !@$¥Pð,@aÔ‡çÃÑ …Âf¤-Ð bré5Ðð¤†ç3%@ƒf0Œ…JÕY‘^ÝÖ·¼7Ñ™§#cS#©®ÌT1KƒÌ Œ ÁL&<Æ9á>ñ‘’ø’ >¾Æ +£ëù{&€k;¾ï ßWP;#T×u¨FÕ Äœ‹#³üjµêK¡6'¦i SÓ4©¡ì6¤”¦ ˆJ3ìéšEhƒØeGãŒRÑ8¡ ŒH¡Ãgò¨ó׼܃H0êÃ÷„ãÁ— D#L§Ò@¼=Qç–åY®ô8‚ÁƒïJ/2®PU@2Ïg: ê2Ô¹¨úÌ’jt£V«qÇ[ãuÍznxg©1ïm^’X#Ú|ð7?E ÙDÞpýÍïÜøèo¦÷MÂ(`ƒIª# À%áÿYc òVÓ2×u·lÙ²zõêÉÉÉ—~Îrèºî ÞÑÑñÔ“[–,Y²dÙ2!„- Í­íŒ1Ûó€mÛš¦¼ ¸`¾]=Åhx•uðàA5Ä>ãŒ3Òéôôô´¦i»wïN¥R*«^¯ÏÌÌD£Ñ¶¶6Õ™är¹L&300à8ŽRÕ®Y³¦P(¸®;44ÔÔÔ¤ðˆééé®®®SGøOS®ëÎ癫ló@  Fšáp¸P(LMMýîw¿RÛßÎÎ^ÕXjš¦ÌäªÕj*•«Õj¥RéÍo¾rùòåŠÍFׯ_ñŧÓiæû~.—K¥RFCJÙÚÚê8GrÚ"‘H­V;±÷û©zÅ%©}É»íÔÔÔøøxͲ„f dš¦ñ†‹× ù={öŒÍã‘HDÑÑÑ100ÐÑÑ kOÃBÁ Š1ñ<ÇÁ0æÕ=Їÿrh/¯‘A€T*¥€ ˲&''—,YR*•òù¼išK—.=ÿüó¿ò•¯|ùË_VÓZ×uU#jYV<ïííUn‚jœ«ù|~nn.‹õôôT«ÕW³}×4µR­²²<ÞÙ ƒœs×u—.]šËå¢Ñ¨:ÔÅbqjjjéÒ¥@@ù ÔëõZ­fYV{{»r7Pœöp8L)­×ë‹-š™™1M3›Íªʾ¾>eý@Q/¤ ó\Ô D6MS¹$¨î‘1Öß߯Ôyó൒b©±R"‘PÖ?‘H$™LÚ¶mY–çyÉd2ŸÏ+G‰… :Ž£ÞyOOÏúõës¹œ¯\uÁ(IŽ:zjhP Ó4ÕÉRʳf||<“ɃÁ|>Ïëëë›UÔÄÄÄêÕ«U²Ïôô´ û ƒ£££étZõº RW‰³š¦ÍÌÌ!âñ¸²08H7PJUØ“º4‰„ëºù|^€ÉdR Fêõzggg¡P0 #ŸÏ÷÷÷ëº>77W*•æ]!-ËJ§Ó}}}¾ïŽŽ.\¸p÷îÝ‹-R¦Kû÷ïPêÇqž T*Ù¶­ÒË_ŸŠ±¨N·ïû­­­Õj5—Ë¥ÓiEåPO}}}…BÁ¶m¥¦)‹J¢‚*9çóc eýdzÙlkk+¥tll,™Lª‹Ná'ñº;U¯x‹ˆ#É‚ÚôÁ)š" …f(LÅVž¾Ô$úس‡ÐÕ)\L Mi­Ãn&êH¼¯m1N/ÆNí¯KPÀ\0îk[°reׂs>‡ƒ™™üþ'·§\$3˜­ã¼7^$£a[§CŸÏ=ó›Ç0ë4@…ôᡈSI4Ÿ e¾è×\ÂáÃâCãcCѱ-w`àGÿ1˜ͱ|èXØ7Æ Ã`Žî° !-¯UÆ” ¢PAˆÏ )÷…Sw–F4_Ðßw£È äáëhŠ¡R†ô„+Að€S¸„”œò|"A tÌ ¢^…))|Â`JŸÙUOš„Ç! €›A¡ÃcRPÉ çm8ž"ó!mÙðˆ  ðç¡ujSÊ5‚:ªõ2t†™¡éhO0‰Í6²–Ñà¦O5úš°$÷}âj2Ã$\g’pÁ@U¸0&y$ÀRJI$¤” ßBH€Rªéº¦ëŒ1S×¹”RHPB)Rº¾ç8žª1Ý0Œ€I™Æ¥ô]Ô¦ˆJ“U¹Ÿogjz ¦g¢&ˆÔU˜¦ ‚3&¨ñ]ϦR°B¨¨¦i‚.9T( ¯ûžåëQ=‹ CZ©û É34Û²%G-)ެ0"X8ƒ'Mi­R°f¦g‰McÁh,-ñ@&“ õ„ Ö iÉjŒµ½¿Ý, uˆ¡Ë×<]¹”œJü%gNŸÑ ÿ誙–¢ß:®÷’Œ†Sf¯²–-[6>>nšæ¾}ûÖ¯_¯þ½½½Ê•*™LZ–•ÍfÕ9Èf³@@ù-)5i"‘¨Õj;vìP{Ê¡¡!¥j.‹«V­Ú¶mÛ)*ãŸì;–‘®hê²Éf³Êþ­o}k¹\N$ŠÅj4U“·R©dšæâÅ‹Ï=÷Ül6ÛÒÒòôÓO?òÈoï¾ûn51nooÿ¾pÛm· ]qÅgu–b•«Îs®fqPÞf jPsꤼö>ñÆËßÀtCJéùBÑ›U6$…ßÞÞÞÔÔ@1”ë§â麮F‘RJ%‡QMÎIæýÿÖ ÅkP<…‰ßþ(ÖðZº@ °wïÞ ˜¦ÙÔÔdÛv:VMo"‘x÷»ß}î¹çvuu …F£‘N§U3ÓÕÕ¥&çsss„L&FwïÞÝÝÝ  ££ctt´»»»^¯¿Òõ¯žsóf{Ç¥—,ÕÙªÔI¨ÄÁD"±fÍšÑÑQ×uÕ ^¸Ä£†ù*æ@á©TjffF¡“­­­ŠÝ6;;«Þ cLM\U/z¼ŒFuš”òbxx¸©©IEB˜¦Y(LÓT‘BmZZZ>Üßß?77W©Tb±X¹\Ö4Ma¡PȶíR©”N§³Ù¬S"‘ˆbp”ËeÇq,Ëêíí››3 czzº½½}þ ¥øêÝ Q±Ž*vQ¨ ”J¥®®®P(´k×®eË–P€‚Ò´··ŽŽÆb±ýû÷–ËåP(4<<F•y¡mÛjÌ® ’y\O¡'ˆtQ=¶aB…8(ˆDJ麮¦iêv]­V…áp8 NNN*~eYããã]]]”Rå`Ç]×mnnVvår¹¯¯OyC6ÙÙÙŽŽŽ¶¶6õ> T*…Ãá©©©––uCxEëSAÕjÕó¼–––}ûöµ··wtt0ƪժÒ õ÷÷«hÒT*ÕÔÔ477§L‹›ššFFFb±ØðððÀÀÀÌÌŒ¢\QJÊ399ÙÑÑ¡"“®¤è0]]]'åº;U¯ºBˆX°¼†?¹k2ÕÒËÄi„55Ç—¯Z›=7ìIÀLvfâw›Oûë+íjQ »iŸ‹*3õI @øH+€ŽPß™KS]menI—òнuãüÉj0«ŽYW¿÷"Ö’+â±èôøøö»FéPs£TP 3]!]Ë¡ 4˜LZÅ9H@Èx2Q.ˆi0hŒúu §æƒ¢mAû’…Kô„>áNzÌñ ¯ÂKšoRhD¾V³)¥äœHè`Râ ns«èÉ:©;æ¶¶ÁÓ2áLëÎ-Ï ì@‚t†l¯¡Œ˜õ@ø „Aú ºi€Spè€ h°ßÕ`š0B,Tçu¾0Žp`1Ô½Ú‘ÖŒ€Â¨p…/¸§„ô A @à5OpM‡žÐ“Bøe^₳VÊ}QCE„üºS µr•¬i$¥Oàú¾ë0.)Õ4Mó¤O©ð)$™ TRJƒáÅõ\›¿AR˜J×’œs€¢1Æ!]Ç·[¥bQÆt]×™FžÏÁ ÀCfÏ ?½×zΠàć7 Ã0ŒH ¨†™žçÍ#Jòý2á3õQÑ"æKµÊ”IJ¬«¯¾zÛ¶m›7o¶mû /T­ã©çè©:U§êÿT)Žn½^WÔ•œ}öÙ.iMôÂ\xv°„Ñ~fÛ™çœY/Z {NœØôèæÒt õׂ,O.X±¸¿­“q©yBr1::úܾ=$h ÉBf(nmmmmmÕ5ͯ87üëïßšOƒ $zpî°–جpÍdÓøHîÐ/~1Ž:ÚDTÂö õA}hºÁ² i€çQ “Qøž.up"`¦&4WúBh21/ûë×§3r¢­”ŒRÅH,F*†Æõ×èxêœÊš+)ÍVk'm±™·=ºÝÚî¬8ÁŠ3Ï8XÊ™™¤$bv*{ú‚ÅRò"oŒO ?½ßª`¦‡®X{¾2cƒ™pͪ¢K¯X“êN„¢Z4)Í”¶lÜ^9TÁ!K#"‰µä+Yiz`.Rh]ÓÞ¹¸£­«=žˆÖJvntöÙÇwX{‹ðéƒBP=õE …å®X»L‹b²8U™+l-ì)cp¶W«@Fâ¡Y{q,|So|a¢¹?kOì?|ÈԢ̊òàº:8‘>˜0ãA£)8Ç+Žæ»ºŒ3"4HM &\BØ2E¬V’ÉP(ä8Žã¹ WB`"Ÿ3Æ$å¹uÇv<×'”**V8d„‚ B 1x@ÔŒæ@zvhzËÏÅ^À¡@"¢ùŒ¸”@ú`Äìæù}À¡ È£_àt Ë×-o_ÔYµ ¯±(«K›S^•£R' f&òav%»Ëã¥ìÆÁ#Ž›à€D°dÅÒž¾¾©ìäsOï 3‡ÍsÀ´g¬éíìxì¡¥mEpÀ<YÔå’ö_¤t"›Í¾ô¾Ú—š¦)éÄ“O<½xñâ%Ë–qÎ ÓKss©–6%Pz"]×uÃTâ\5´˜7P×^æLlÞ/êÔ£îÈ3CÓTN¡ÂM”M«še)*ìêÕ«8°eË– 6ìØ±c xq#tœ!R$Q§J¥bÛv(ŠÅb§vÿ'½‰„rÿž™™Qó¢z½‹ÅÑà ó@ËP×uÕbP¤bEŽPWP:. år9º®‹Å_Ú÷ýl6«dÆÔóCÅSõ*JñÔ  ­ŠÿLB © ’Ju> c䥂¼γÍÕ’P~ ¯Nÿ¢Ö’’í(@v>”XÈ©¯¼Ìûðü¼âe~§ú͆a„ÃᣧêTªSõ¿U*¿C‘Ë”ãÌü½ýÏ¡$ãð\x€Èš~Žì\»víž=»:2—_õ†_ÿìÁÂh‰…ÁkÏ?Ù²î´e«V2]Ë• ‹;{Ö Ô¸k{nݶ$£±XÄð¶k5~}ç}Á`تú¢ô‚ðàÚ52v4Ý GžÚº½ñì~4Lƪ\ÂÖœÑxÜ…(×Ê €tà:…ôT×'8,.L¦Ì´\€ê ’S-]‚û’×fëÛ·=›‘ÍÁ` Í’Ûn#HƒŒ¼–¤i""á ùÜ÷qd1W¶r,ìzæ°„õ¾t8–& hN!Р:)ÁnÉt³X RО¾ýwŽre.jëUª™‹:;ÎYZÒk MMŽ4è\jYjeh•3·޿þlð9·,©æ"„Uo9«uI&Ú‰5ÅGFÆ´¨[žX>ó`÷ÁÙ-Ã(àÂsŠ0ÐzÁ‚³7œ®Å·g|Ç5ÒFK¦£»¯?»4·õ[ýƒÞ\=¯ ˆÙj)¼îg ¬[PÑ+•ìl¶ÐÜ™vêð9K©O)çŒS€Ãã„@R"ÈüØ] *9¨¡ÈºþQ¦¤jXÇ‘ªmQ–ÀBiÕЙHH¡v6@ `e”K"À¡šCb"9±u|ïS;p° Z‡.A%¨/Á} Ê¡4h  xöå‰Y‘  ŒIWÀ‘”‚i&\׃òzv‚4õ¦¢p¹VeA" G ªƒ|ÛªFÃFˆ…˜ÆcñHÇ@f²˜ÇÔÑa™ ÌbßïöÜ|PJ ¦;¾ €8¢½ÍÁtëR(CBIFH‚S»¢?RGâKŽ™ªë+ðh˜Oª8UB¡Ð|î½Ê3Wÿéºn{{»mÛ?úѦ§§—-[666Æ;YãxØÂ‡”³½¢ƒ*Ÿüø´ªWQ###ÝÝÝñx|ÕªU‘HD)~Gz~Ù‹)HÉ^Ò†S¦ùnSÊáO}= © ve¦^Åqœù ¶ 58uFNn¶=_ š=XcTÁó÷5 ª°B µ—6¿<¤ÌçÔ)V|oå÷qÖ÷›Õ“^yx†7¯ìPŠEW{™·â?o©`ŠÚ >±mûlÿSuªNÕ©ú_)˲”'®rôP©@Œ±? €^Bø<@RÁ 1Ž¡ÒH܈µ´µj5ƒó6œÿô“Og÷å„ô&ŸÚ¡U¬Tw;hЉç:ÉDŒK!yÜ Ì­Ï–G÷îÙs X:ÁÕkÏŠw¤Ëð$̱álcû>d%lhFPÃÿËÞ›ÇJvÕç¢ßZkOµk×tªNÕ™OŸ>=»íî¶±Á›˜ÌWˆ›‰è%OD÷¡ eŽ¢ OyBI¤H!ÉM “Q 1¸É%Ã#\"ˆƳÛCÏgžj÷¼†÷Çjš6mh¿nb“ó©µUçô>»ªöÚ{íµ¾õý¾o$ LØnÁíû‘ßl H‰§;¶-ã´µÝ ¶+ÉÁ@•’j+Qq"",=ui%Z:ž?6wpÖ‚A „ìfV¶K€J ’±L˜6úª³ÝDzjúâã§Æßh‰ØÉgËåêÎÆ:\º²:Y"IeöÈôcŸý–Òf»šŸÉ·Zƒâ‰šs°°•Ô‰ªp勹åÞJnb¬š­Ÿ¯övÖ‚•L>ȳ˜{üÏFkÁf%—6ÂöÑ[Ž üAmºÊ Æó¦è­‹™:ÝFq®4y[MŒ‹Ôæ4ÇLÃNÒ´?T½ñÜœWZk®Ô¥àfÖIe Sßwlñ ûv­ÔÔc O7³²´R-,.('TÆ¥L¹J O±uj¤’D1¥S„(0B¥TB.tÄ×ÚÏ8MlÛÎd2¦cëá„’z­[»DsÎQŒ2fÙLÆ6-C)RS T A}žÔƒ•/_äO÷ Ç;!ˆ¤†‚5 æ@ÐB@ ¤€{Þ]XX¤›k›ýå¨HÁ”Äb †âŠ(Ê ½¾ÓB8Îóó'ò·g'¼Aâ–¡HB%yɇBQ §Q!›µ`Daà:ÞácÍÐXm¡p˜ŽÁ8‘T)1`†ã , r"3sËŒ3愯vY "¸" Jîu¯L+¥vDZ»óšo‰hØ¥ö¸†]t:]ÝZ«Õ\×ÕëØ»µý®ëþÀüÀêêj†–eÝrË-×ru¾Ö„d0h¿(=BLNN …½3c155•Ífóù¼Öiï4]L»{ñ_I7(Å®ú½Þ¶Ûm-Ò¦_…B!›ÍZ&°¼²N)u§ßïëŠÎùúúº^ ÷Qi_•áp¨s ¯÷£êkl·fMßõ—i¦©y)åná+ó Wîó ;ï–l+ð %<{ØÃöðmÀ¬=V´W«¶Py]|x b¤ýÕlf)†(I žþüé·ü—¬cÙ\vjSµSo:ùpøH°ª.и$Z­3ï n»ç.«˜kºõmƘc˜`f%­­úùåpMZ9$CT÷çï~Û[…I•içüSÏ^þê“" ¨I„`]Ž‚.$ €²\¸ã–CÇŽjçW•ˆv½µ½²¹½¶ÕÝÜÑå÷Jp.À¹P.HPPŠXÊKjãÂVn!oÕœ¢QTñnŠáÍ!nˆ ÒH© Ë52I/ñû!ü—¸ð(ýIH.—YÞ¸&£êLq‡HÛ‘]­Ýv ^?…@É 9@¹#µÜþò°î¯­,o?}ÆÌÐòsù<͹¹©Ó½Ç×ÀxܭÔHáì+ej5Iwkðܙ֗6»A¿<_rlÛË»ûX²?UDz³·lO–¯ ¾´º´¾²ZÎWŽ9ÑØ«æ÷ßv yºŽøÉH¯®ærC2ÿÌù õÀ?Áî?6BÚŠ$„¥*ÉÁ!8##‚@H¥ˆ¢’J*©’RíB½”“ b†é\,y|¹ IDATbs!(Jžò$’8I©$³ ­z0™a‚)Á%u G1ïðÕG·†ç[ˆuƒT ÔöT)P0(ˆâÄ”L( ãKŸýÊ­÷ßhßV{k|fü{Þñö/üÝÿ ¸ÃŠQ€§¿´úôéU˜@ˆìtF¤q*¤:èRIZÅ‘»n5 ÙÞ Ÿ3³ƒÎhù?†`€•„PH :N ”äQ<à)ƒ© 2¶&#Dèœî^,.ºgÿtu¦ö¤bê¦Í $¨D"¨iPÊ‘ªË¶‚b¾2Á¼l§ÛFñðܬ·zIµ½°pG·Þy²þØ@*ï—fgKå|ƶ3%ËäDøÒ0 ͪñj©Ç;£¤3ì 7–WåYÑôê.ñ&LXwra*¿lÐìAþ˜3ypr3ÚäþüÙ3þó R\zf}¾| ±©°@™P†$DR%¡$‘‚ B@‰ž+¥ˆTD*%OOÒËÓ”RJ©e°ÝŠ .„^À ”F¾Ÿ¦iœ¦ÒÐa¼¶m2ƒHE¡ $ܤ&•"飵'6Ð8@)S„ »i©‚ äqÐ9gòàÄÜÁÙÒĘ“³ƒ0lÆMÆXvÒ­MN•¢~ÔÜh5Vš;/n`à<„EM84I™Dª ±sz“yÆÂÅB0¢‘ôkúS ")³£4•<% iÒUC6fLš/ÍÔ.<~p®‡!¤Ð™¦&P„1GKGª¹ù‚YµGld¤Ä4-€B‚ °Ë¦r „_Î"ÝÃ+tqW¤¶ã “ÇW"vw½ŠŸØ;›Úív.—+—Ë·ß~;¥ôàÁƒÚ)³^¯OMM1ƾç{¾Ç0Œ7½éMÝn·×ëåóùoxœkå«w:l6†¡¦ˆ …B©TZ\\l6›{'ÿâ]ïzWAhs&¥Ô ”—{4Hô2Bk¤”Z‚> êõz³ÙLÓtbbbjj*ŽãÇ:th{{û¯ÿú¯÷ïßïºn¹\&„èºÍnè›=Ü Ðù¹iJߢúµ¢Á¶íápX.v{3¥ˆ„Tä5´q×2_ÔñÚè^JY©Tt–ž–#]Ñ ©_úôå¤é*m­ÕÂß´¾ŠkÐÛkú½4­=†Ã¡a{WÏö°‡×Ú¸Kyj»eƘeYü%Aøk`—ËÊ9çDQSœF$F€çž~ž8jßÁ} ‰i†½ù{î;MÛ\\žeHñ/†»®øà—L 0‹8u÷í¥éqeÕü̹.<õ¯jÝ8`•” °€*¬#ùéCÕÅ#ûÝ‚;J‡[bÃΚٚ×l7¤”œƒærÙ©Bi®ìöÜÂBa´3j/wÚKm¾`È—ŽM ¤À:ê_Ù©V«‹ûSŽI8½YM#)`S€‚PÅcÌ6ÌXøI ƒùrÍ©åž\Ùil¯£ (¨6ΰP*"D±XDøR¡¤ƒc‡ø"^ßÜòëm±Ò¶ƒÞÅÑ€¯NMÌ.¯Ǻi·ƒ õf‹ ûgŸo¼0JG;ëÛ¸ÌR™D£L®âšF¯Ý‘Ìg‹€l´7Æò%#+£8n7ë¢'À€.V½46[é‰~…˜œHPÀ2X<~ WÉ«îz?øg4ý–ìªg}áà[§4%L˜D€HB!ŠPJ¨RLIP¢© TljœsÉ¡†i‚R;ãèŠ ù’=?—B_õ†iX¶mY6¥Œ"9‡Á—4 Dð´»Uß:ßEˆõ%-©C”cÊ$†¡`ótáGöÝ6››rS;„ßT›¾K j4¥qr¥l¶ìUŠ•ÚbíÐÉÃÍ忯™­áJ =™&AÌ"ÏÈ ±ƒÍ ëc³ãFŦJ2 A±– bp$RÓ63^VqÒ ˆ4\/S™¨š“NïT?èûƒ^ÏïûË.–òÌ"nÕ5'3iVôáóx˜W¹œ›ÓÚC2ãrÞ„¼‡±·øÍŸW­i鿉äËÿfOѰKèÒZ­¦ã*µ<ûСC?þøí·ßnÆòòòÆÆÆ=÷Ü3¯µBx-Õ_±XÔ–l»%ˆŒ±F£±çÇyƒŸUR(•J:^»lA _N4he^¦th·ÛZm˜Éd*•ŠŽÓQ¦Ngkk«Ùl …b±Çñìììþýûs^&åJgÑk½úÞ2ò Ç`Š%×uµŸ"!„A ƒËÞ(JìÒ®DAB€²ë"èŠmÍàºî+;ì^“¡T av'ÿšhéåÊ)-·ÑÔ÷Âöî² ¯¼ó®ØJ_ùZ3¥”zâ‰'ö.ž=ìa¯)è,ž8Ž=Ï3MóëÜv^D(D ª„‹)(-\7‹$í¨Ó_yÁ+gmž ‚àØÑ“Ê.ôÿí±Ñ¹uÀÄå,ƒ¶ºœØG`å¨x"(…7ÿÐÛ̬™Ê±éÎúöS_|õÔæÖ¸r9F’ Ú58,àheúžƒwÞp˜6ƒÔŒÀÈ“¡µÖÛ—Jãc\Š(äa’öÈÀ‘]PCÙü–{ÛÁäÁÉ`#Xylyû+ëðe,KP !‘ËØ~¾1?µàd³¡-n"Ñ@”4@¸¤\JÓ4ò^®iõÀà1º+볓‹Ë¢n6˜A¯T1v`>fTQ¼ÂF0xŠsŸÿÒ-?vfz_ÓðZ·°þp)ŒåÄщÊÔDIæƒöhci%Õ¢ƒ®=ÙYY¾4VóÊN¡l?V =¦d4Y·¨âQD¥ ŒÒ±‹ž?xâÀÁ…CÒÖÙŽì¡0æ-=079;ŠC´t{t ÂÓO?oÀر±üXqóÖF¯7ÄzR›>t`öX*Á g”K ‘„*Ê1ˆ"/Õ¶¿ôô§ D’(Ф"B]W˜¦i˜&aL‡„RÐù»P‡ ДY°•ZÜd lÉs/œ»í»N2I%‘DÑËéz  à‚À0¤aÇ€„–P„‡*Yoìd2nî€;ÆÜ\”ÃÃÊ0Gš"ÌľÇ*V ‚s¥UL„BhOÈËÿö–Ú_q{eNåî/¿‰¢áJ®aoŠ{±²;EÔ6ÈZêÌ9?yòäæææ¾}ûŽ9²¶¶V*•®uœk™Aj ¿Ž÷ùâÊÂö-Þ:ØŠy_ô7|⳯L b þÈàÐÛCÓ¶Ó0™?r ‘ƒÉ±ñ±É±IcÛØYßî/o_nÄ‚˜÷6‡û§ô¾õßqk¯>œ;0QZ0v­a«œ'œ¶¶›Æj…É}wnµ7Î÷–Ë¥Ò[Þúæ­™­<-Î/îoît£ Ž{Ú­PÙ•h!ohdn^jœ8zçv¾wé…Í…£‡ª““¸EBÛˆ•Å ÑšàŒ¢¨“ „@A%„š@Ê¥€R„F)a”1F ƒÊ•€Ô2¦R¥<Ž"—„j0Ã0 ÃUœ' O²¶£˜>¸‰ˆÉ¾·®–ÉP J#(`‡lï€Çs)÷Ò„D¡ðRÊ©“uÂ$ L‹elj%B¤œ·ÍFg«ìŽWV÷gçÉv¯Û’W  2õS0€$/7™’H©ˆD(@("•€AMÎå(„e³Yš!a¦‹B¤ýt.-×´ŠŽiFLÑ0 ÄW.13&e†ÃPI$½\+M÷ø…o©{£€‚’PP„PPBqÍšð+k%®"'¾#ON‘Ðúa­`÷}vvv8^ëüìÎ9u¸>9º6{||Ü÷}Aär9BÛh4J¥’mÛ/¼ð›Þô¦gŸ}vß¾}»5ÒWAGÓ úà:äòÊöºjA¾~f¬3V»péb1_Pµ‰ÉsÎ/Ìïëö{„PJ@®ÚÊ×\»xII‰$‰,ËŠãp4ÎÍÍø~øÒõªíõ}ÆÌ$á®k1ÆÖ×/ž¼êüïn¥ä׺³n¶ÙjjÏ ÆXÎË5[ÍL&›Ä¡aP@zž È(^ö^„€”a( £Ñ(—Ë5›Í±±1JéµJZvûI}bõݧM®q½±ÑhT¯6š í¢”rG×ÎèÓ4Õ"Ó4£‘¯5MÚj€Ö ëÎgß°—VW`7vè*«­@ÞÁ7›Íl6»W¿³‡=ìá5Ý·B´}r¹\n4¯.Nø? H.?$"ŽB§Qp Ä€4ñì?>gl›'î½£Eû‰˜µ-ˆ$å2¥4‹¡!‰ ¦LA !B ²SÜ<»úìWžC$ðƒ¡ ;°b–„lùïž]¸³²28Íó‘SÈbŒº>O¸çd3°øˆg"˜p˜ICùˆ0!Û60 ¼xâþ;Ž>µ:ØëÜþŽ7+ÛYÙZ[ô'hËõƒ®@È +5â\¦â(HH)ešò0N Ëóâ$L’„QfX¦ÉìŽ"c” I’(Š’$QJ9ÌÌYB1 ª”,Ç5šòãÍíÖŒ3õèðRÿ;ÂJJ LQâ‡#]¨ûp÷¼9,F´/Í4“uJ¼,#6lâl÷šžåY$c(“ÆB* bHØçFàκïž6ÆfÊûî›|¦Õòÿ=²Ut í ëS¥$æ ^üâsßõßÞº<¸”`Xœ*5ûmJ©Â2m*ËÎPi*Ë`"e2J(…TI`Ôà‚3Ë̘Ù\D &,˲‘`HY 00(ª«Q¾3 ‚k¬QJ(¥bw7Ýý&\ìþH…¼\"ÓãvB¡”@¡Œ½G—Fa‹EJ©VÎ×jµÁ`p£Žßn·'''›Í¦ïû§NÚØØÈd2ß~kkk~vN÷#.\(—Æ„®“‰ãX«¬®Üâµ§kÐíR((u}ß«UÇÃà³ÜëþF«Zh6›”Ò“'Ž·;}Ïó(5qãßlnÕcÇ ÃQhF.çu»=Û¶×ÖÖ<Ï›žž¤ŠÅb’$×»HÞluç禹€­íF¹\–®ë¾*ƒîoexW½žw¹æñ…IšŒWÆwê;µ‰ ÖÖ׿fçFþèÊaê7¼^ñº”R%%8¨¤RJ¤Ø>·ÃØéâñ’ð”mÛŽaÀ2´µ^åºÂ_ PLÒ±Ìøêùå³¾ÈWc¤Èf<;rã4I€a,Cd€Û2³Çj™qE]ƒx&L0ªˆkº’µRJá°ŒJdsÇp;#™ˆx쇢±óØ(öˆYÞ_®«:º¦ƒ(ð‡˜h.7W^\!Çv¿îMÙ*)MÓ0m¦â$âAy¢’ÛWvz´Ùbé…%³ìä÷rS©à9e9}4|ÖA/+áGÝ aëÙ•±Jqöö ?„™´ÝíÕ’‚›Zgž<»ùÄ2RÀ†ÅÜd€"½Ð]lÙ4Xþ@vv¬Ú#}%—z”H.„R)¥$‘ *¦sA@ÀS.LÑÔQÖŒ=±ñä_K‘‚ä¡ vïÎU“¥…š9¡D7饑ÍÍ@Î5Î?òÜÊÎòØ|iüP•‰m8•l¥t„!%%J •¦‚'Bˆ”+EÓ¶MÓ4^rÔk!$"å"åJHB£D1E(¡”¡}£¸„[–EQ¡PJ{¢HK««ÛH’ŒQP©ä 6Øyàž£“‡k;Øâf’Ò$ #„”†ÁM$æ„7É•0…m)Ó¤–Pi~Ô§9¢ˆL%Y7;“Ù×ÔÒù­Áf “òT‚F;ƒ 5QÔT’§Œ8¦…ôks™—Ý{ßhìG.‹¾‰¤„J*©VÊH"A ©¾I)…bPºØö?µOÃU‰éW, !RòÝE/Bônœ²G4|ÑÑRv˲Êå²RªÑh ‡ÃW¨z¸.”J¥^¯711Ñn·‡Ã¡ëº¶mÆýqë¹¥.ó¶,+‚]-Æë:}Ã4MÝ.õF{4]kbv½Èçóív»Zïtº~{ž§Ã nö—Êf³J)!A‰ãØ4MF!„0 ãÀâ>î`ee¥Z­ÎLOìÔ[žç]×ñ9çR!cŽcÇqòªUý¯}\6JȨb±8 Ó4 £ðzÓl5Ç+ãõF])åe=ô°¸ñë ‹WjµÊ9Rhú€›qµ!ȵ.~í™$É®wõ,!_¡qµ¨akØÃö°‡× ÃØ5›Ð”ñÖÖV#hå[y’cz¸¸[ÿ|­®žIÚ]kõš½¸ëp>8JS &3£‚w­Î•»a›‘ó¼À"kd\–E(ÃaÄcÞn¶’4DæÇò¥É²›Ï°ßW45l Â~Ú_œ]8öÕ¸ø° Hb9Ž!V"v¤+†œÉ›©€&R¥ ix™0‰{ñp|º|ð¶CO}L ±òHwå¿×n«ÌݶX©UxÛæôéKo¢ °‡'0:HdpzðØà‘ï-½]db§lVF™"w×O/þ»ÓøÈ8)$ÀwÄÆçΖ/ÕŽT‹ ÅêTÁ)åzC?âaJ˜’™Ì2‰IKâ Šr(¤†èÙÇ—NÿÃèjM=Y6M¶åóÿëtïÜpüÀDi®Ê FcÐimì<óoçäz~£s±TßPÍVÌ4qC‚QI Q\R®”LS)mÛÔöa—Ý¥Ô×®ÕÕКz &•¥”}…AI @òQ’Œ‚Zf"ìtÝ€5/\‚H¤08|Lܽ01_&ƒFÜB"áÒ!vÖËgyá`Ôí´ûõRrÅJe,[v³ygÀ»)µ‰¢J Ê9wóù÷ÞRzkùÉO>Ç ®FŠ2…‹¤7-6a¹fŽ ƒIÓ†m:ñëȱå56ÿ½ÆàbÎ^®©R\ù{Mlí _7Q™½xñ"ç¼V«­­­Apüøñíííõù|¾ÛíÐ!iš†ax½îô׋©©©ÕÕÕ‰‰‰(Š»Ý®”2 ÃkyC¼Ö¦i­Z^]ÛäœWJ›;A:¸¿×ݨ¬P(ôz}Ýn·P(¤iEÑÍn—bÁ ¤Õjkû@ß÷“Tê芵õ­n·{Ë-·Ü~ê¶0JãD¼ ã†É‰ñÍZ­†a­ZŽ¡”Š¢(“É|GÞ¿¦iò…z£>>>®aÇév»×û}-Ëù£\.çfÜv§­ÛÇÆÆnA£Y¿F£áy^¿ßO’$›Í¾ÂÁu%Hš¦Ú¿Ã²¬]§†—›î¼ôþ×ûW{ØÃö°‡›]¥¡azí&³-0´ÙK¢}ùÒÒì7,‘@pÀ„é2 e"RËQÂ(Œ Ù_¥Y5è¶)3 ™¬$£$C]>Lš«þNO%ª±²£Ó¬´ÊÛýBµ”óÜ¢“aö3f†ú£˜òÂtµ¶8»³´@†!˜EÔ¬.­.Üy½~$@ $¡gÛÊÁ –³å©ƒ3k'V[_©CËRS` õF«þ• Àè‡a@qH…$–—¸´ôx7 ¶uƒx! `@d) K ap:¼¸™™ÚcÌqœœ—«Uk¥RiggçJ¨cº(NWOìê’´ºáʰb|3EÃË)†=ß=ìa{øÇn=.‹Ð¿¤„èù0"À| " | øÛ1o‚‚# yšJ˜€„ d°a•a ÌÔ°e©èùýbiK[ú¼µÒZ~v©þÌvã…ô€0_Këíœÿ·3õ›è*˜<Žx&gsƒ7‚fd§SÇæQJY‡ÀV @„Íåå›>2˜…£4¤šÚiGô̪süÞ¥“%˜@ PäÆJÄÉ¢ ¬]@¢Pcn`&–oÿ®Ã‘õ`A9_sÊVœA`4ëƒñéY䀜#7Ao½ûÖ˜êÄäM;‚XÆö¿uÎÿïÓ®o{*_ÌTò™‚e:Ô2%#k3 JAgfj9‰c «290#..NÜõÀ=3GöRßÍ»–ce-Ã3 ¾«­”04»” È£öÖÊ[ï¿wrºÖë· 8•œA0%LÉM›"è›±­—*&´]=í9¥­vYÛ¶MÛ”¦ä†Li*”)T¾ÔMœ IDATBHDIDø0¦ úÍ6?{ñEÀD¬ > X20Ê”åàcdºÀ`NÚÛýçŸ:{öówŸnÈ5ŽP =µ}fëôÃO>þFCN•‚JE-;«(†‘/#o¡ˆYÀ<° p†íV#á©”*¹A,’¤{ã™ÿ_„Â7ÄUÅ——N\9þÔ’Û+3Úén‚úŒi~¡R© ‡ÃÉÉÉ Nœ8q£Žï8ÎñãÇçççÇù»¿û»B¡àºîõêá_VWWgff4ù‹¿ø‹ÚíòúÿcÛeCQ*æƒÁÄÄD'Ož¼aíb·ÝvÛüü>ûÏŸ/ ¶Å¾ r_ú¥_J’¤R.ÆqÜï÷urRªV«þÃ?~ögögOž?»~ß”•ØÃö°‡=|;q9fˆó]ãg¢¨ALC™LZœ‚äŽke,ãª-¡F§×„)‘J@ÈE ”i`c ùˆ~:$¦¢ <Œ34“en:äýí^ÚŒáÃH,å ,_ E+qÐ6Ô:bYØ0¦¤ãXnÞÈQà@$X #!a&0‚"üæž4E•" O…A¨kôUoÈFÕ#'|¼ PîtULJ0`( ý¦|ÀAõ”w×½÷ÿí¾Ãß7çÝj XØö;ʱI† WÙÌR· 8ÈžÊÞúw-|בÛþË1c‡ŽÄPB@aÐÂÅ烳Ï]¨o4’0VÊRÔ%4O¢¡²J:JB(.¥T©¢)•R®t/b¨G²Ùc^îxnñþÅ̱ì@Bšøà#É…Å`˜°]Àl`ã÷TfÏ5ýÖÚöªdŠ0Pƒ¢QŒ*“R“)ÃÀn°÷î@¯ié’j™¥YÆ¡J2ÉIšÊ4I§·æÕòÙb6≔¥ LبÞ2q˃¸;2“ÏF£‘á›ý˜™²¤Ã0õÃ’ȽÊ›D@à /†—›A~­»ÂLï³çÑðuX^^>uêÔÒÒR³Ù, ëëë³³³õzýU,Š^ I’lmm1Æúý¾¾ÃõS¿×ÜÜ\·ÛÕ*ú|>¯”ò<55õ‹¿ø‹/¾øâÇ?þñw½ë]<|øð»ßýî0 ‡Ãa…BáÃþð=÷ÜS­VOž<ù‰O|"I’\.§^ƒMc†þîŽãh¹—aÏ>ûìwÝ}òäÉ;î¸ã/þâ/ÆÆÆ”RµZM[èÕjµOúÓ÷Þ{ïþýû+¥R±§”~îsŸûîïþîZ­vß}÷}øÃæœ{žwÇw¬¬¬hå9€ æçç/+Çœ,çüþûïçq\*•ÆÇÇ'''Ã0Ìd2Aèdmᑦéƒ>xòäÉS§N:uê#ùÈ¡C‡”RAœ>}ú'ò'§§§8ðö·¿ý#ùH!ŸÕ. »ŸG_'œsÏËxž÷¡}è‡ø‡?^«M¾ûÝïÞMø~ã×{½ÞúÆöÔd• >|8mjÆÜÜÜ'>ñ‰7¾ñµZímo{Ûg>ó™ \×FJ©‡~ø­o}ëÁƒOž¼ýÓŸþt¿ßדç?þã?~Ó›îÞ·oß©S§þñÿ±Õj !\×IÓÔË:¾ïßìÆ•×ÀõîŸÉd\×ýë¿þëw¼ã³³³wÞyçßüÍßH)-Ë:tè~ˆÎÌÌüÎïüÎoÿöo …Ûn»m{{ÛËzÿôOÿôC?ôC‹‹‹'Nœx衇úý¾—õйœeYiš:Žãe½~¿¿°° „`”µÚ­‰É b“ ¥RI?ª‡Ã¡—õ´Mìp8¼÷Þ{?ðüøÿøâââ‘#GÞ÷¾÷Õëu÷nÛö#<òýßÿý|ãßøWõWAÌÎÌ–+åŒçÕjµ‰‰ ƒ’\.we‘Û•æ Ú—a·´R)DZVÜh¹ãU¬óµ°Kkjiîî‚Æ® õ•'Y]Ɇ¡ã8Qé‹Y;‰PJÇB8ŽÓëõ´æ" Ã8Ž)¥qÛ¶mY–¾5DZm»ßï;ŽÓétâ8v‡1&„ЯõZŠã8aê_g‹†a¨{i½§Vxv:-èÐä©>ºÇ‡†aŒF#Û¶ÇF¾ïëØýut¼Ëh4¢”ý1ôž†aèñ–î?õÁ !Ú¬»Ýn;Ž#¥Ô_Gwìaê/E‰¢HïcY–öѨ×ëú¼éså8Îêêª~Á9ןÙ÷}Û¶“$Ñc·÷k6›ßÁÏßÑh¤/iÝЦiBô™Ôm¤YxÃ0¢(ŠãXJ©÷ÙmVιVú8޳¼¼ì8N»ÝFŽãèõzú¢²m[ßÚÃás®wk6›Ú&V/îéç¯ã8»-²{ÁìaßÎÁú•Ͼ8޵üP@&HCE2æD"õ?I¥5ôkýBRùÎ÷ü×Âñb¯2Ør›áDÔâe¹¶Â7Ã|2tBߌd–±¼«,+ˆU+(Ó0,ÊÇñ`0@j[†b~Çç¾ÈnÎòd  ×ÌXÄuý•:I ÏÌ#!Q¥HRšŒÈ@d“¾Õz¿8êdêýBË/÷Zt'e7•h Yêñ¡°¤mS³Ûo–ÌÐ hµìÖ&Ý•ûj¿tŽÙû˜ýîÿ~ßÑûÞvÿ­¨È(ï`GÕ°C[~ÎKqMߥù8ɤ"“ZeS8±rS«H|ÚÐn‹4w°WR¿’\kÂP-f wN/~ÿÉSÿÇ}wþÄwþŸÜò=wº™m«î ØpÀ†C£ŸdÂ!íù†ŸfRZæqƘ]bV‘„¤™ƒL•íÄ[-ÔeElÊM5M†•¸S ;ÅpXåÑŒ1š"õb¼nvã2:lÔBd§¡-:Âï‰ µ125Hjn¨„ŠˆðP‰ ŽtÏÉ‹¢h4ÅqLq_Âî\À²¬\Öã~(Fqê‡"ŒEÊ Â,Ƕ<×ȹnµ¸÷EɉrfÏÁ™Î&™,²É\] Bf­Pz™13E ’ÆI!ëyFfTo‡ÛÝ쪙3üÔ•µsùŒg( ‚x¹fÆ­•`ã…§ž©×ëµÚ%L)’Ïçûa›‰ð’®hÉ—99=•Òå;ƒ ³@5ÊŒÙÙr¦ã7Sqš(*÷:“»€·;"ÕÛ]íÕ•ãUý0Õ—Ö˱RÊÿtDç\û«é³>__øÂÞóž÷üÿñ?ž~úéù—ùò—¿ÌÓ¥ ív{gg§P(|ðƒüÓ?ýÓK—.ù¾îܹ¿ÿû¿ÿûßÿ{¿÷{/^|ðÁŸ}öÙJ¥R¯×ëõúää䃞?är¹N§£GóÅbñCúmÛKKK­Vk}}Ýó<¥T6› ‚€sN)­Õjÿú¯ÿz­ÏóGôG?öc?véÒ¥'žxÂuÝxàÌ™3ï~÷»WVV>ùÉOõ©O}ùË_þË¿üˇzHs:“ã?ÿó?Ï=÷lnnž={öÃþð—¿üåµõ­4M?ó™Ï¼ÿýïÿýßÿýååå|ð™gž)sõz«U¯?õÔSïz×»šÍæSO=5==ýž÷¼§ÙlrÎ/-­V«ÕÙ™ÉnoØét>ýéOßu×]z¨Ít»üÇüû¿ÿûþ¨ÿ«¿ú«¿õ[¿õÏÿüÏB¨‰ZåSŸúÔûÞ÷¾|àO>ùäG?úÑÏþó•ÊX¡à5O}êSûØÇΟ?ÿ±}ìýïÿêêj.—]YYs]×â×K ß÷?÷¹ÏýÁüÁ¯þê¯.//ÿÃ?üÿüË¿¸®›$‰¾ãÊcåúÖÖO<ñ–·¼ekkëá‡>pàÀG?öÑ_ú¥_úÍßüÍ'Ÿ|R_HÓSÓõF]Ó[¥b©Ùlöú½é©év»-¥ ^¡P)W>ÿùÏ×jµ3gά­­i0çå\×}ø‘‡8Øëõ&'&Ÿ{晥¥¥ýÑ}â‰'þöoÿöÀ?õS?åºn½^ðÁßûÞ÷¾ï}ïû¾ð‰O|â/ÿò/}ôÑf«ùØcÕjµååå‡~˜KõM‰ž+ûn} _ù¸²Cÿ想—»n=W²»»1ÆÂ0, Žã|èCú•_ù•w¼ã'Nœø‘ù‘÷¿ÿý—.]j6›Ùlv8NLLè¾ÞŸs^(îºë®¥¥¥L&366öÜsÏA0>>Þh4Êår¡PØÚÚ ‚ ›ÍÆqÜív9çÙl6MSÜëõ<Ï+•J:Z8MS!„Þ™255eš¦f4õæºîÒÒÒ… ÆÇÇ ÃÐŒC³Ù¬T*år¹Õj%Iò†7¼AS-;;;år™RZ,5uØn·+•J¶m—J%í½Úl6mÛ®×ëÃápjjªßï»®[(4©;ñññ^¯W,'&&¶··Ï;§«®æççÏœ9S,Ã0ÜÞÞ ‡®×ëçÎó<¯P(¬¬¬”Ëå8Ž=Ï‹¢hss³T*™¦ùì³ÏÎÎÎ~§>õÃ4›Í:ŽS¯×ú§zmmMsÇRÊv» @“Aa‹E¤É£ííí‹/V*Çq Èã¸Ñh=ztssszz:—ËiÒabb‚s¾³³EQ.—Óäh4ê÷ûÓÓÓZ5699Ùëõt6 çüܹsQ)¥\×íõz¯£þpßé#}üì½wœ^Uµ>¾öÞ§¿½Ì;½dÒ&Å MU‚&&† J5`@¹ ¢rÅ€€ò•¦ÀU1Àï‚Â¥·4ÒCÚô>o/§ï½ìdˆ^‚àEnÖg>ç3„·œ9eŸµžõ¬ç blbï-p˜ @ÅÐ@‚XU”*¬BʦnšJyÄ1GÊP¡ § -dÎ˶34<2š-’d%ÈAr™gyŽãÙŒ1@•dM3 #„0–\×÷<0’A=Œ<HX%€€2L˜¤€Ã+.2©ìz²UAå/Xª‰À>æÑ ™!™™aÄ1f|ì;²g©VE«”ôbÑ(äÙ\h$ÎŒ£}¹äIe_ªxÄò%“Ë“J,J,J†N,†-@F–";²ì¨Š')V=¬zLs™æÒ€O¾ôÝï„};ìYaß ú8džæV°iAÅ!.U8èÄFžƒ›6vllÙ¤b‘Šƒ,Æ|  (cÌģœy่:ȵ°[&~I¢EÙ/H¬ ³‚DK’kJV…Øv,ì9Ø·³9À<Î\`0wÏ>‘$Ñœ¨T*¦iŠù\©ï]C íæ1p{Xö%‰ˆ!îqjq—©˜*ÄZôì2ó‚Ë>)•F³%ÇqD\Ï£`‰(Kâï"¨ë9Å Ø®NdîS˲,š%žç™¹Ø€4M !"Ñ —¹”ûŠ.ëAæxŽé™–[– ‰!¯då‹fÖãÖ8Ñ0#l?ŸáïÄìö­Î°¯×ï—’=±Ï×+ò‡{¦~8Ê=bŒ1„þB:B´2}ôÑ3Ï<!4000Ö«¦>7r,ðÑè. ¡P謳κüòËgΜ©ë:c,ŸÏWUUEQÇÙµk×ܹs—/_~æ™gö÷÷'“IÎù 'œpÉ%—pÀ‚°`Y–(à>øà­[·2ÆvíÚ5eÊŒqUUU__Ÿïûõõõ™LFXåqÎE‚%úu‰DBì•HÖçÌ™óýïÿ=÷gÍš5ãǯT*²,oÞ¼ù´ÓN{ê©§B«V­:ꨣ¶oßîy޹瞻`Á‚/ùË£££º®¿òÊ+‹-Ú²eKkkëÐÐÐ{Rµ9Ø3nö¿öE\Ø×ëE'P¬/¥R)‹rÊ)W_}õ ë:!D$ôÁ ¡ªºçZ=⼜qú)ƒ#‰D‚súùÏþ’K.ú«ó‚1>è ƒ¶lÙ‚1ÞºuëŒ3<Ï«««ëéé¡544äóyYB–}æåò%ÏóD-'¢ñ‰D;ì°›nº©µµU]]]G}ôàà išsæÌùÕ¯~5uêÔX,ÖÛÛ›J¥‚ÍqéÉ'Ÿüõ¯}êÔ©cû#ÈðMMMO>ùäÑGÁúúÓéôyç÷ç?ÿ9ø$»:º›ššî¹çž{î¹çµ×^óø`GGÇqÇwðÁWUUe³ÙÇ{ìé§Ÿ~ðÁ+•Š€D~P__ŸN§ÓáK_úÒÓO?-nØ¡¡¡ššå¢0v€o(B 6™L¦Óéd2™Ëåb±Xwww  ”†B!Ã0<ÏëêêJ¥R‚[‘H$„(¦øŠ±?VN?ýô_|¶oß>iÒ¤b±xÄG¼þú릳c†a˜¦iÆÈÈH]]`LŒŽŽÆb1I’Þyç¶¶¶R© …<Ï“eyãÆ&L{+^_©TcápXQ”ÑÑQ„P2™€l6ëyžXÒ{zzššš@&Úæ†a %“IÁªŸO)à…X—äS™Ð˜¦ …Ä•¬(JkkëÆUUµm[°`ă)“ÉX–UWW×ÛÛëyÞ„  …ÆX®ë ¢V¥RÝ9qź®›Ëå,ËjnnV¥¯¯Ï0Œx<^*•matt´ªª*NK’$È}gžyæ¯ý놆ñ „ÁÁÁH$òi1ûW±(‰¹_ß÷ à îG8âúIJÿ÷€ ïŠ\‹YǞŠŸm®:­ÑkàÄ€ŠW à醦…ÛHçFX‰0Ò¹¬Í\#¦s•+Ëh¥âö•;m%°qˆÇd‡åãx®oQ™#ù2s‘ãáògÏ•“¤‚,‹ØrX¶¹çº~H I@$Š8øŠmP|"K¦ À?.éqÙ'†«bŽ-Ù·ejɾO<Š} s&3 Ž9`ˆ!,1)`)È ûu¹Ä±Äß1mÓqJâXWô Ö$qÌ)•³\ÛrìŠoûħ§|àÌ1a2¦a²D%Â0ûàºÌõ‘Ï4Ž5,$IÁœsÄ0L‘˜$QL! 0 âƒ" íF˜8AcŽÇ„aŽ˜G|Ž( ±D‹Án7G†öä]˜ º`Ž5¤R f¢f“~õ¡HDzÀ¸ç˜y`û ¢2p™aâÉÜ—¸–0¸Š9á@‰iLVœ"‘x4.™åŠU %£…AYƉA˜éR¬ê]Õ+ç”T¤.S*ø—dIQ4Õ•¼äVskë¦Ö3•aYˆ0XÉÉ„C(“cšoøe—sND‹Ky7—3Ó¯D9Æ©G™49€Ø]º CÃ#y.a3‰J†ˆšÆÆÿZWy³.H.ÀDÒj ô#ªþ™=]AIeÙuÝU«V͘1#³Ù; „âxnMMͯ¿5iÒ¤¶övJ)`©ÍVÕÖK’d{¾(Þ%Iò™÷¿Ïò?%Œaî(hº"AñÅ—/_‹Åkjj …‚àÀÈÈHuuõèüþ^I IDATèè)§œ²}ûöšš‘X¯_¿~Ò¤Ixàèèh±XIR0Ìd2¡|>À”J%Q™D£Ñ|>¥RI€)ù|¾¿¿ÿÐCu]7N›¦)IÒÈÈH0 …Bï¼óNKKË{îP—eÙ0Œ‰'‹Å††††††­[·Z–%8ÿñx¼¯¯ï7Þøãÿ(\BÈìÙ³ÇÑu=›Íú¾ÿIK¤Då8çbl,Ô_}õÕñãÇ‹èøñãÊår6›J$Ã#™T*5Ø×7oÞ¼;;kjjÒé4ưaÆI“&µMn+–Š{Ÿ—¡þ~×u1Æ---!×uË…B(*—mƘð}×c===NŸêSÈf³•JE’$!Û!K¨¯¯ï€‡Ã–eÕT'‹Å¢ íëº~ì±Ç^wÝu‡zh[[Û 'œP(Òé´ªª6l˜8qâÄ ã*¦#öc ‰D{{»çs‘y×ÖÖöôô„Ãá¾þ¡h4Z*•âñøc=ö‡?üáþûïÇ´\EQ*•Ê¡‡*ò­bÉœ8qâðð°ïûâõ·ÜrK2íÖ4-‹PÊóùßÐÐàºîàà`mm-lÞ¼yêÔ©žç lTUµ,«ººE‡ÇdU¿?>É!IŠKðÁ³pzVu{“q\J„kc Š|C2¬œéÚž£¹@áŠPÌJv‰ìq«š Æ«cƒC&ØÔ¡®,«$I’Ñ™Ì*P6¹ "]‹+¼är*©â˜ø 3Ióv0öÌ$™h”(.“<ÛòeÀ±>‹D¥ÍQÆS,€D±-}†@ÔðÌ—tâW `Ž$2E”!L$Æ÷ x0qN˜C˜#sùs„GÁsŽÀLjö8†8ȲË\\|æ!Xˆú\QÄ8pÎPQŽ(GDñUÂ0F@1#ˆ`qÀ$7`Î1Å>çà ¾;gC»‡n‡Ý“ð»…<8]ߣ¢m Œ±u]WUU´ßÄC_8_ú¾Ï|ºXâq‚@(å¾Ë|·d8(qÙ/û¦I1ä3p¥6VPq4g9fÙ-'ƒ1Ù“aÀö<(F$©KfªK¶c—ÀƒÏ˜ï{À9†¹¤JŽ"ƒâ¥jª CËZy]‘ !žéÈDšZß6Ú7Š*HWUÅ“$0!Üf=[º˜áSÕ#˜`œsN™ïûûUÿnFÃ>:óûÌÃÅöÚ¥ï?-#lÛ³£™L& †Ãád2¹eË–÷y‹®ë©TÊu]Á+ýQˆ– ®ë®ëÆb11‡,RðH$"‘‘‘÷çC¡àô "hUUU¹\Þ´iÓäÉ“=ÏéQ¹\ƒ¾ïÿ4ÿ‰çERÕl6 CA=Ô;:»Þç-ÉDrdt$U•Z¿aýÓù¨ ¡G£Ñ\.ŠFEÙ/ê‘û U8 dÞ‡š~×]w¾ýöºxàÙgŸýáxÅW\pÁïsãe³Y„PWW×Ä ãÀóy>“ñ<¯¡¾†H’tÿý÷ßvÛmO?ýôóžýñ~ GFF×X•¨âZ[[…rJ$aŒ¹žkÛv4•%™q&¦þ208PSSÓØ°»âMU¥!QJ¥RÉdRt;EÛÙ¶íx,^*—!º¦—òyAÒ¶m;“Íèºîy^:“Öuý CyðÁÛ&·ùÔÏf³Š¢މ€“'L˜P(ÆW1ßotb÷Ûžy±¾‹ýâcL‡¿#ö¶ÉÜÛ¸¨¿¿?•J…B¡ªª*Û¶‹Å¢ëºÉdRÌÏÛ¶-ÈpóÍ7÷öö®X±âì³Ïž6mÚé§ŸŽ1>ú裟~úé—^zéÙgŸ4iÒç>÷¹Å‹kšV,B¿ÿýï_yå•uëÖÍ™3çàƒ>þøãÅÙìÙ³¯¹æš5kÖˆq˜Ã;ìÄOìééY³fÍ}÷ÝwÌ1ÇÌœ9ó˜cŽ™5kV__ß„ \×½îºë^{íµ`0xÜqÇ]vÙe7n¼á†ÀÂ… …ÉÃ?Ýq1Yó裎?~ñâÅ .‹·ß~ûá‡^µjUMMM4=à€¾þõ¯Š ²,×ÖÖŠ¹]×Å­*D‘„z…`üýñܶmÛ¯~õ«ÆÆÆiÓ¦Ý|óÍžç]}õÕË–-kjj’eyxxX W^yåw¿ûÝJ¥òÔSOýáX·nÝÉ'Ÿ|àüñ ãÙ³g¿ð S§Níî©Éçó_úÒ—~üãß|óÍÃÃà .|õÕWg̘ñ»ßýN(e  cìfìîU¿÷ÿt-†æBmG‘¨ïƒ ƒÿÙ9˜è„à:€ˆ¨ŠÔZhi>¨¹`+n!XÊd³Š¢„#᪆”9bÌãŽ]¶dÂ$¤Wzó#[ÓÐkAQ†ûH'Üu@— DÆ%k.#…2Iv¹k!ÈFC\k*ŽfûòÙáP8,©Dâ2P°<ÛóW¦ Q­!M†%MF6ßCÓ`²­Nsã3ë­& € €²T€)ÐÐVkÄ5ÁDF’ªçxÿôÄ?¦á7ÖGŠKﯹöN£a,/—eyÌåñ¨£ŽÃù¢øçœG£QѦ«««ó<!TUU¥iÚ®]»ª««<ðÀíÛ·¯_¿^¸9e\.×ÔÔ´råÊX,&þýÉ'Ÿ„½˜ÌcQ½Ø¶=~üøÑ¢gŒ­^½Z G‹ÅÃ;l_û’Édcc£ëºýýýÅb1 N›6­££ÃuÝ@ ‰DFFFdY>üðÃW¬X¡ëº ¿þúë¢Ç?¼PÑ\ÝZ‘q–ÊÖœ9svíÚU(’Éd¹lо}(àœ‹T!”L&4MëìêÍåKµµµÓ§Oß¾}û;ÛÞÙû¼äóùÖ‰ßZùVª*å¸NmmísÏ?‡eY qÂRÌñV*•––¦!ß@)ݰq‹¦©”Ò¡¡¡iÓ¦mÚ´ihhH×õ¡át6›Å»®›Éd …b"‘¸}ùOï¹çžGydÙ¥—bŒ+•ÊôéÓwìØ±cgçØþxž—ÏìJ%UF£CÃé®î>ÇqBѨª*½}ƒœÃm·Ývçw>óÌ3===SÚ&Š‘6CWÄ)^¹r¥`Y‡CÆŽ;ª««%IÊf³gœqÆk¯½–Îäëëª Ã(•*Â^c<00 f”ÇùÓŸþ4nܸ\.W_WÝÙÕK)Uä™ucâb>¥Ô§Ì¥Ôµ=Ç£>c q Q‰Ø/cV?Çü±]Í¢ B½¬XçÀÛ6¼íóÕ¬XåÃFG*‚îÉ*×e,#Yv ”gˆRá©HPòŠ&7äÚȵXÅrËÔ¶Àd -D&€¸¬ßw2E–%'!Îz<Ø °`@'À@7@À0¾„ ê*ØF’#&aŽ÷¯G|X†¿Ê'ÇRÊý@Ãîø‚S%ð•¯|eÁ‚[·nM§Ó£££×^{­ã8;vì€|>/&ûûûÓéô”)SĘîyçwíµ×‹Å]»v-[¶Lb‰Ä£>ºfÍšL&³nݺ{d£ç¼»»;“É´··oÞ¼¹\.'“É–––H$2<<|ÞyçmÚ´itt´¡¡ášk®Ù×þŒŒŒ‹Å¡¡!EQ‰„@z{{Å$³iš¶mÇãñp8|æ™g®X±bÅŠÕÕÕ¯¾úê·¿ýmÇqâñxooï'ÖuÂu]ÑSçwÞüùówîÜY(¯ºê*ÆXgg7÷ý\.Gñl»¿ Nki;/×]wÝ_œ—ê×u«««ï¿ÿþ¾þ¾­[· ÜrË-ÌódY°»»;›Íxà[¶l)—Íêêêúºêh4<<<üµ¯}móæ-Bãóꫯ¾òÊ+s¹\¡PضmÛÒ¥KB¦iÖÕ¦Î>ûì;vK&BhýúõÇxâðð°ã8â:)•JË–-K&¢žç¡P:“—$©¦:)à¤R>O0ƒÁnøÑoûÛgžyæùY×c¥R‰’Îäc±X>“¹êª«^}õÕd"úøO^xá…K—.åœki<òÈ#/»ì²M›6 Žlß¾ý’K.‰Å"ñxIJ¬‹/¾XÈéïØ±ãšk®ùÙÏ~–HÄ::{êêêB¡P©ü/SØpί¼òÊk®¹Fè·år¹ .¸@Ó´L6‰ÅÆ·ŽD"étzL¹ ‹ …c=öšk®Éår™L&ŸÏãßWÅÌ™3ïºë®×^{­X*¾üòË7ß|³˜û²,ÁÏÌ™óòË/KÅšša%€:ꨣF@”F©Tª\)÷ôô(ŠDUU­‹B0ÿÒK/ýÉO~²aÆîžîTUjÆ 3š)Ërë¸ÖÏÌ™óÜóÏÕ×ÕÖÕÖ½Ï`·PÓžÉ1ò þ:1b X "ÞçsöFèžØÛib kÏÇq(¥‹-úÁ~pÎ9çßüæ7—^zé·¿ýíwÞy§«« {ì±o}ë[‡vX ˜5kÖõ×_/îµwÞyçÒK/ýüç?¿}ûöÉ“'_qŶmïܹsÅŠ_øÂŽ8∶¶¶Ù³güñO<ñ„˜­X»víwÞyÌ1Ç$“ɦ¦¦… ƒÁ“N:éÈ#dŒµ´´,Y²dçν½½¾ïWUUÝ}÷ÝsæÌÉd2±Xì[ßúV6›M§Ó“'OfŒUWW†‘Ëåt]O§Óâˆ%“ÉÛn»íœsÎY²d‰aš¦þù“'O.‹’$µ··çr9ùÙÏ~VȬ̙3gÞ¼y¿ùÍoŠÅ¢˜D3 £ªªJ8.ù¾¿cÇMÓšššlÛ®­­Åçr9Û¶S©”ðÙŸzî~ö˜‘@þŸ?*h˜Â$ñŸžå3‡+<vc‘BÔ ¨EY)`)$ ¨PC” ¼âE–À§v jøˆZž…4”¨K&Rz\D¦-9\CûÔõT.+žlö!`”AÊ(0$AN&vH Ç”h`ˆQìúÄ£Äåˆ#ˆì+ª§knÀp‚†2œ î ' z:¡ª%ã‚E—©"É&Q-¢ÚD?QMI-ˤ"㢊‹*T(©¤¬)¶¡zZ€iAPÂHs)Ä@Ø@DI™p!É ‘‰$aYAŠÊ  B$Œca ‘H@ $CSt]Q%øap¢¾ñY˜ò‡‚¾ð$Ó O19`ËG1<Ű¥€£è¾¡JYIjHRƒ²”Õ0ÑÃDIzˆèIÊj@VÅÖU1!¨ì !)žòBUZ ¢ÃÇ9¬ ¬p$3à 8Ç\Â\B, +ªç=Ôl$&S@A*AØ¥ a P0FA7%ÉF2#Œb¬i®ŒFÝJAò”†Dê€2µVª bYÜ2iTHEb-U±‰UÕuU–k™Ž)I˜z£ž®¨•Ì.ÓÙæ 0, À` &jŒÚ(Šª¾,»‚9‚Gû×L±{ø°{Sb÷ùúÿƒHpDY.xDÇsÌ=÷ÜsÙe—uuuE£Ñ«®ºŠRZ]]-Ô­}ßik0ìêê*‹ãÆ;õÔS%IºüòË·lÙ2yòäE‹¥Óéêêê_ýêW7Þxã¬Y³À„ N8ᄵk׊‘ÝH$"˜ .¼øâ‹»ººdYÞ´iS<Çã›7ož8q¢pY*€ï¹?b6xppP¤åóù@ ˲P|´mX¼x±ëº7ÝtÓW¾ò•–––eË–ýû¿ÿ»h¾ÏñÏ Æ˜8ÔÂ"Žâºîi§&I’¨RE¹êª« ¾¾^RUI’<Ï«mh0 # dŠÅbkkË©§ž*ËäòË/ß´iÓ”)S-Z”Τkjjî¾ûîÛn»­¥±±®±1.\¸pëÖ­¥R c%‰Äãq]×-ZtñÅwî܎ŶlÙ"Fˆ×®]ÛÞÞ.ºpmmmçž{îüùóEÙ¶téÒo¼Ñ0ŒÁ¡ÑóÏ?ÿÎ;ï<í´Ó!'t’(YÇ·6ŸvÚi²,/[¶lÓ¦Mííí‹-ÊåKÕÕIEQ …BSSS¾P.—Ë õ5’ª¦3ù`0xë­·zž7yòda¤çº®a¢à Çb_|ñ²e˺ºº¦NzÍ5×wÜq„ ¡áôüùó«««¯¸âŠªªª+®¸"Î*Š’J¥æÏŸ¿hÑ"¡Ìÿƒü ¹¹¹Tª´´4 ¥X44<’³Íû:9øƒmáÃ+å°=ˆçúü@@?ᄾñoüÇüÇÚµkkjj¾ùÍo ÓÁb±X®”9çÂ(”1¦iZ¾¯¯¯?묳ªªª–.]º~ýúÉ“'_}õÕÙ\6 ÝvÛm×]wÝ’%K†‡‡?üðE‹½üòËBUUU1/pî¹ç~ûÛßN§Ó¡;v¸®‹Æ„¶B¡X´Ã––°l«£££uâDÎy2™œ;w®çy7ß|óÖ­[3™ÌQGuË-·@¹R^²dÉ’%KĈþ¦M›ös´{Ú’r†9FcŒÁÔó¨˜ÒÄ!‰YØ¿ykï­éÀcÀ)g\lÑ»„Pp¤”ötuo_“ªž3û³år™ýÅ/ïºçž_ÜqÇrËr::·kš é”zÓÁÁþx"ZU•hj®kh¨+•s'ޝ˜…X,R®äEjn©_³fÕú knºéG”yÅBy\ks_ï@8b°ö©“âñh67â:~(8à€ö\~´¦&¥i’뺹ühccýðH4…Û¶mýãÓO>õäÓ˜ÀàÀpCcÝ–ÍïÜð×úhzsZ,eUUðC¡ϲ*F@cÌon©{wvî7®¹PÈ醋E{"áØgç6iÒEŹ\& 76Ö¿øÒs?úÑ ²LV¯^ùêk/¯øÃãŒû…|iÂÄÖM·46ÖV*Öºõ«ÇçùN0hÈ …™ì0s=Ó²*×ÿ»7ÜðƒLv4ŽEcáíÛv~ÿ×bÄO™wâÿ»ç7¬4©­µµeú3ÛÜ-ôõAï‹âvŸM x/*ï»Ïß1˜L’¤Í›7 ¼Lp ÀqœX,æºîï~÷»«®ºJˆ, „B¡P©T ?þñoºé¦o¼±¯¯¯»»{òäɺ®Ë²ÜÑÑqÇwT*ÑB8à€ÄLòÐÐPUUÆxttT Ø:uêÖ­['Ož,„E<Ï7nœçyB¿I¨oìØÃÿÃ<_öÇÞŽI ùÀ Mјë#à2` 2…qÀ¥àQ—ùÈgn¥»X.Eb¡3x‰«Q½`•©kÕ„B‰¶D<+÷™éwíêâyžšP]3®‡hà¨nUlÉÖ™º˜yX…€bIþ€È…0hˆË&¸°X8RÓ’" >>ÃA¼ç’@0ÄsFH gˆ@ K”nC€e»};CÀÞ3 "Ö)Ìw«0bÌ0ëÜçÔåˆK2È—D Àø€<@> Ê‘ÏãDá ŘbL% æ2Ùýpg {ù ;Œx ù>‡HaÂá¾Ìá\bŒìÑ_à€ E˜! 2!H€±h ìÕÃ爀HDòHò(å>ª¤" y˜cŸûÜç¾ïsŸSN ¿"å´ IDATÝ|IÆ)âG—«’ÌK"Fˆhò @ÈUm×q9€¬Â8 ÉS€#YQ(wM×"‰Õ&e£*!þ@©2”O§™ë+Q­¶µ®v|M ZwT{8—S\"iŠï»TReNG—]ÅsÜH8\È•1 åTP%1ì9u¬HFÜá }àâÇÀÌ™Äb 3,3ô.3 €ñn÷—OíXÆ>óÏ}¼ž{Y¡ßÇ;öé:ñáÜ%ÄÐ_q0 3ÅOëÄ¿zìë¼¼keì¼ì½Ý[¦þ]©¹ï:ña¯“ÛbãÄõ`_7ž?q§¦:ù§gž»è¢‹Ö¬Yó> þøì³>úÓ§Oïëë j¹bMÔÌYàßWx|ÈœáãýüOz¼?@ð?‚ç8”s]U¡â¼P*9–…ÆÅGyUdìÁbÃð®ïùŒFÇqä³Ï?¿nݺÚêêÃ;̱ì\.wè¬CTMË¥Óº®+Š2:ùä5kÖÀŒ3^zé%¡ý)|%,XðÒK/yžwÄGüáH$bò¬-[¶¼ ÌþøèŸ/ˆÇh @)’$I‚Ñ9mÚ41úi%5|ðç#FvWÌО)~˜TL§*@5´p@ûgÚPõكŘ[û,,5 qÉ/ÙvÉR$Åõ=d5`¸*Žía A¡ƒ‘d„XÄôjqM­îy©cÍï_W+„—¨ŠÃ¹K€ œüÍV·¬U>¾Ç&l÷²C@x4ìv^`CŒø„¹¥HÀ ƒ<ǧ®G)ó—1¦hj `¨ªÌs|ËÀe'âøî|qü®ÇââwŽ˜)v¿0úk&?Ä8Ú­ÈÀ€vKW’Ýûü¥2 ‘Ýʻׇ÷Dß8z·ƒ@Úý÷Å@s±õ]êQ—zÌõN%HB1÷úÍä3Ä1ø˜ƒL%•©¤ GYüê½RÙ‡˜¯:ŽãX2€ ÆAáCO™h ŽðŒ­ÚLsA¦#Î)÷\ÉÒ~W e«Ä®GT”Æ}ð› g1ŠCÉTÕœPÀ¾ýôúâÊ4ø282p„•ù Ìþ)tfï( ‰R*)²®ë¯¿öæ¬Y³ê !Âu"U×€1.[¶jVUUÑdß÷ÇlûÆœ/¥pï÷®ÐöäÍû…9öǧ*¾úÕ¯~ç;ß‘eùÏÏmüÉO~²téÒx,ÜÕÝ÷q‹‡ =‘ªªªJ¥’ÏçGǃC£sBÌþò—²ýß|ÑÇ÷ùÿêÉøÿ8 sß÷(>‘„DçíYr? kÉ£>‰ÈªB)-–Ë”Òp4R“ªì¸_ÿú×]p!&Ru]}oÇ®ÆñM–cë†G°0LËbÀ ëéí'¢š®GbQ„p©R®˜v2OVUQÎtÝÐu­mÊ”ÿïÉÿúÜ1Ç%’±ææÛ57oÚzðA3›*–©ªZÅ*ŒŽDcáú†Ó¶¢Ñ˜i—GFGÓ™t}cC<žÍ ¯}ûío^yÅøq)÷úûwìÜÖÝÓ#Ir4+–KŽë&“UåŠI¹?<4j»Ž¢¨ ( ÔÙÝÕÜÜÊ€ŠE,EZ[Çç ™X$aÚår¥¢¨’¦ëÅré­•+9ú¨Þ¾ÞƆú_Ý{o8I$“øÛëÖ]wýµñh€åò¹‘Ñ¡w¶mSUMU Ûu¶mßKD…`8´nýúTMu¹RQ|iJ{û[«VvÈg‡$Y­««ï误«eêï?øÐC:h’”W^üïýè¦ .øZ}SSuu•e9qM3$™0Ê=Ïù¤10 »y ‰$@¹bʲ:44–e#„dY•$Ü×Ó;}úôx<^©T„:C 0MSø¤ÆãqÁA@µµµÍœ9ÓuÝ &<óÌ3„UU{{{?ÿùϯ^½:ŸÏoÛ¶mÆŒ‚qä‘G®]»öˆ#ŽÓ4׬Ysøá‡§ÓiÆX,‹D"½½½ápXx£æóy!b†°A>¯@`öìÙð)–ÉøÄ-lèC,ìœAóÞmýcÛ¦i~šY%ý!žŒŒˆ* q†`Ì€1à¦Yâ…wÞÚ‹Åš§4Ǥ8C%@>-ò™ô¼*O´Fsé„ w1µlÏt=- Œ8ø“UÔ¸ Ùálg¡kc?äÁw©àr.‡À ävìG©O|Ž>ƳC÷®´ ï9÷#R4©gˆ{<×qcÀ÷u‰œ! ¢1qö)ÍÉ÷þ…ýÅKÐ{ŸÔ½ÞÅО_ýwÛ ïqÝÿ­ í½ö8À¢ÏLÁœû@Ávì1Çë= J`·24CŒ#Έcˆ¦lÄC’j‚Ð[öm(8Ž 2Æ@dJ3·;¶vO¯ž^Kx¾hfLVâËaÅ1]IÑCRŒ)Ô'N™—*^Éö,E‘$$W –oz!9–ЫJ•òHwºÔ3¾€¨ïP<¸U"aÕ&¾-ù&òwlâ©*Pê³C}âˆ0J( Fì/ô$wŸ¾ûÌî¯hßAgL´?Å…$ÐÆØG 4Œ­ø‚¼ð¡!ûc|òã ƒºè¢‹^yñÅÏ|{{ûÒ¥KsùR2™ü¸;*ƒÔ4í¸ãŽ£øî7{ÿ?„»®+Âñw=‡v/Âïÿ ¥Œ3©ª*|^)¥ñx<¨ÛÎŒŽÞyç¹L¶©©iñâÅÉTõ›+Wÿü|ÚF³’¤|~Þ?þÉò%KÏšuè† ëÞ|såâÅ_ŽDb£ÙR®léÁ˜m» óátÁ ?qÞé7®ïÎT/wuu¼üúÊT]CmM}ÿP¦âR-¥”#I±L{GGoÅ¥)ydNÔ•k6P-—tèìç_|MÖ"±Xd`${ï>種þ¡P(ÒÐhï÷²¶qh­ðw›oñª*î3Çë·L“1Ð4ML~‰É>a0F}ß(m*•²,«··W×õúúú7ß|³±±‘sþÆoüþ÷¿ØDccãÆ¿ô¥/Í›7oÆŒ§vš¦iétº¶¶öˆ#ŽøáøÍo~³½½½··÷‘G™;wn,ãœyä‘]tÑ]wÝO>ùäÝwß­ªj0 ¥RéÕW_=äC|ßO¥R¦iV*Ïó ÃØ¿È|ü±{X냿AÕ"‘µ÷Äþƒø×G”¿×¿r ƒìè†U¯®TUµfZ]ÇPŸWb†®ÆÑêhœQÏ6+ƒÃ#†axŽãS®kÁ@(d»~©lf{‡B!ä–¨jJ‰º#ö;+·f¶uÊ@•Ëw•– ´<•E4Sª8Äû„Žv‹ˆBcÄ£ |„—AÄ—‹)`*<(ù—®,1£€!„ÇÄž(eœs‡{ E”‘=VS8bI‚Â…/)Ì3Fd‰RÎ<ê _SÕk C;¡ |—Q& | zÞÚ« ÆÇ'H€ÅB‘¨dı©i™•¢kjJcŸsêÚŽMmŽ}I!!#&a9$}Ç·m+àEHEë]½}èÉ^(Æ” ¢N\ÆO›(Ç”1=Ù·]ÏÔx HûÃ`ˆqôî¬aa®0NeÎ €<@ àŒ;ö9°?ö(ë í0ØK*ò#+TÆ(Üc œ³ŸÚ½?öÇ?.._vé¿øÅx<žÍf ÃÈçó¥R©u\S¡XùX¿W–eQ^ýõÁ`0 ëÁý'åÿ&ЀbNBäIQÆg|̶jï¥x_!I’i[°ÇU[ Ï@wwwc}Cª¶ö§?ýéÆõž}öÙûî»Ï‡B‰Ä-<ýäy€|yѹ±xÍO–ßÕÓùïÛ&ŸxÜñ±x „b©¾þáÉ“'#ìP×jŸ~p¡d*ºvô1Ç3,ÿæ¡ß¾úÆë•bé°ÙŸ™}Øá‰ê×g3f}Æõ¸041Û©tèg-ÛW =™ mK7Â3f}&“/¦j›¿±ì[·ÞöÓ{ï{(YÊg²_½àüýð†H¢ÆwÜûÚÅ×|ç{[¶½3a\ë½ÜßTWoûè•«=ôPLôÓÏZ°kûŽSÏü"tÁÅMœÐÖÙß§ÉŠn„eE²<T Qƒ­ã'¯z{ÓÏ–ßm{îùç}õ g-4M3S2¯ºúÚßýáÑ ¿â1DÏ8ë ÛwÜ^²|Ý@|ø…¡où™]1©ªöÉmo­Y—ɱ,µM™vÙß~bÅc?YþsÇ´Ž8jîW–œ×ÑÝßÚÜ\×8þ¿¼×tìôðÈô™3¾uåÕ±DM¥TA’,aBQ—yŒ"Æ)€B0Csø$l1iÝ—FBæƒpÄ}fÛöº &»®çº®eYBùÜ0 Œq±X<ÿüóLÓŒÇã¥R©¾¾þ¡‡Z²dÉm·Ýöè£MÓ¾üå/õ«_Õ4 ¦M›¶sçÎÅ‹?ðÀÂITð¼ÚÚÚ.¹ä’Ÿþô§åryÒ¤IÇwÜ’%KŠÅâèèè\ðóŸÿ¼½½Ý0ŒÖÖÖ /¼ðÆoú¾+V¬X¶lYccãwÜ1~üxÑ2ÙÏhøGûí(ŽÓé´$I†aŒ Ú‰óõiøß` #@jÚ >ø›¡ÍñúäÔ–¶!{¸XÌ— ®PT]ÑdcÅg°‚¨Ë<æå*Çצ¬òp€Äiw¯ë^Õ šF]ס>— dÙ@ÆCjr³§!‡0—|‚Úˆ`Î3Ž̹PZ@ÈJÁˆSDÆ© I&ŒmøÝ2êfÂîrŸ1ߣ”‚OÌÚs 0 À¾O€#Î8㘋N>@ˆ3ðâ„»šêGb¨‰ð~J” Ê}ÀQ™9 ÀúçW1î,Ïõœ¢åêc@D6ä(S1•$Ÿ0@8Q˜Š¢*ŠŠµ‘ÞaEÓ¢$R¥Vë4P.Û»|  *à»às ø€Ð ‰º¤´èYž„*ˆZÜu°o"Ïáþ׃äB‚!†9à< <•9 ù{€P »I& |Z¹SUîïÉ$ÅSþ]Ç´J£aŒÑð@P¡±_£á#ƒ(÷k4¼oÖòqk4äóùh4 zûjó…r$,îeø5ÄY‹„Ó jÿÀp*•ú˜o™ÿë3 ÿ°ø°ì_Bˆ0¶ „„B!MÓ|ß·m›:®°“ÓïûÒhàår¹ÓO9å•+_{å×uOwJ{{»`ÐPÏWTµÍêºÞÕÕ5aR“ÐH¾h–+µõµÁÀЈ¡é±h¸ \ÛI654ä …ªX$Wª ¡p€3x{ýúCfhûL“ðH6¯Ê –ˆ"ÉŠŒ@¶X‚€ABP2mÏqU]Ó¥o` ¥¡N¼k(•0 EÂ]“&¶"€]=ÀøøÖf€ö$ع|) ¦sP0 Ê¹R% Œfó©x´âxU.šv6©©«EÛŽÏ€„U…ØŽo»N,˜2íÀ­×oïèŠGcÁpH“0(—­ÑLz|scÙv=Ç G‚@|uÉr2£éæ¦z°eûÎÖ–qˆàíïl»ëwÿøÆ›†*ömËÖíS¦L*—­Îî®§NùÿÙ{ó 9ÎëNð}G^•uuUõn 'Á )’’(Y¢eQZYš‘W{¼ÖÊòÆnìÈ«{Ã;;áGx- 9 ÙcËžXYöJ¶CâJ²,R")ñA‚Ig}wÝ•wæ÷½ýã«*Th 5D€ÈÝUÕ™Y™_~ß{¿÷{¿DÂë8•raîü’n£ÃC­Ž_ÈYµF'ŸÍ ‘D±@IPÎ8eH@‰,¾å[ ‚cDR ý™—€ï‡ˆxnvnïÞ½I"c2N”çæf÷ìÙS¯×ÆÔÔÔÒÒÒôôt­VSÝ…‹ÅâÒÒR&“Éçó*Ú¢¨P(ø¾¯º½´Z­B¡_úÒ—Ž9òÅ/~±^¯+„b°ˆ¬Ùl.,,lÙ²Å0 Ã0BÓ´jµZ©T|ߟŸŸß¾}»Ž]^^Vü…\.·¸¸è8Îøø¸¢Œ¥öÓ6bQ”PJ-ËBÄN§³¸¸¸gÏžô"8Díê;0 T0ÎCá“PÔ ‰J0óЮ-÷M#†]ÈÆ˜¬vªnäp“YùŒ…†a0 ¾ëzޝ3cx¨4iWÈ¢£{¤Ýˆf__:öüIï b  CŒHb^6’(„ ìøä¡­wtŒŽÇW~ã`v”kš” é• $(„¨¯Öé +RJ¹®ëšÆ$&7Ê|{ [#PÂ)JPÈX$"N)º2½ªÑµ%„aD©$©4A"€H‚`0ÐéR/èCjÇ_9^ûî œSfƒ8’˜CV |H4Øùþíö¨]š.çÆ ! ½(p‰çX‰ÔQÓ¸¡ë¨ ã J7žÞNjø:uXó\ëÔK§Î¿xš D`1ˆb@ ÀA2€,Üþ/öäv 74¯Î EÞWšÜ=U˜¨E+o—,«@iˆ"¡‰Ét“ds4Ï f´ÚéÚÙ3õιöâñE\ð á 9cI  TvÚ;·ï®‡adó T`B4B˜Í‘h”Ò«NÎK€„TP””€!y†eLžaJf{ê›)/ÿªq€Áâ†þD½i@Cß»]“$')¥-µ·•­¬¬LNŽ•Ëåb1Ñý÷Lœ:=[©T®ëq7>“(Š ÃPM^®Ðí"µ·=Рb0U=‘$‰* ¼Š 5W°tÎA)û%‚sN)U5꺮ë¦Qo6|ß眛¦)„‰CÙ܉gn»mŽ?µ{÷ŽvÛÛ»}k«å_„!%”3­±´<>>nš¼Óñã8ΕòKKUs BÍà­v'[.Ž— ®Fnh26Q®d,½ÙtŠÅ,D‘ô 2Š¢|>O!s:;}úÜöíÓŽÏ…t›N.—ÍcpøðKÞé8A6kf'FWVê–¦išD "#£ç ƒ$lw†2FÑÊ$q’Ó á‡YM×<<Ê58~ôè??ýœˆø ` HË6DÂÂ@ :¡ F†n„q¸gÛŽ{÷Ý9[Ÿ3l©¡NHn.9"B T¼)Òn¿ 'ŽÚŒ‘B€Äq,Ã8íB¨7Œ”±³&D‰1õ´~µ»‚QN"‘’ $R $A‚ “aÇ7³HÒ^nBÇ+c6Z÷ÜsèÇ= B £ÑcAÀ ðŸ­~þñÃJïŸß:ºmÛ6K7–ç–^y镯Ñe¨õBù ’@A·£È_©º@(P   01ºm¼´ey®˜I¢Eh³$ñ}¯­em=CÃV(7 !%H ‘’ $ KÄHCbEIˆ¤„ ©Ly W4¨D—2Jéº Wðn7rX)¥L5~:QÇ5‹Ÿ¦Fƒ\§€j“´ ÖÕXÿÓhøéÜ—ëˆPnÒõLm“]Ä r€£(Rá\6›ÍX™ÀuUDªJã ×p¨ßËjP£Aµ;Žãø?û³O>õÔ~ðMÓ>üá+B»R—L’Ķm×÷’(ÎXÆMéÊ©€ $&Œh‘”¦a†±•1($IΞ>³{÷nÇœs™$pêÌ™=ûö6 J©aŠ®Òl6-ËJ¯gj}‹¢¨ï–\ðV ADU ¬O,,,ìÞ½›1–2g{G^ ÝÒ ®ô Ð^wF‰ èǪì@¹ º ÐTY@ ~b`R5ä@˜jgK@2ˆ³YcrûØÖý[ÉŒËý6q$ƒháÆRÚ ¤*&¥ØUj`Œ^pöìÙÙã³PÀ@pnÆ-l„ö/{\¥xDZm’>l¥ä~ ˆW4À Ë¸S{Šë(ÚÛíE8X£‘ ¡:2€&Œ@”€²{J¼÷ÃNL®‡µ]˜ß”öN#ˆb©)UM ˜ì÷¸|{D‹Ê3j€A8È0‰H  õÈòBø§~Q“(B( Ç}ýè©ã'N%p½·‡íúà%ª0Xï:7?Ožlðâ\4\ªÀ‹@9ÐT•ªJ:7p„$éÅó ³è×#µ­X4†ƒ¸D@ 5Æ%H ˆ “îQN/‡e\ùûÆêtÙ®   Á@“Ý“‹¨„›™RÓéEžÞ÷¾÷½Ë~ØÐLUB+„Èe ª“:¥4ŒÅE0\"Ѽ)ÐZj©¥v³ù“=s®˜bŠ¤Ñ Î)½ßþÒr…]­É[ô ®h0 ®ëˆhel` “ÀG A¤ÛŸ|{S› hZ6ÐtŽÒò<_×M öFV7ä!ØÍ†Að§iš€TÔ†N§S.—ÓÁpkN`p9•øÕ•†j££ºêPJs¹œnÐTÆëêQ†Áp³%Ò%„C@‰@®(ëxѳK$ ’R½,¿¸V Éë\‚” @ @  €rm1þ[·•0ÐI  ¬ƒP£º*D å€(¼ÉG½Ê­è‡Õƒ¹iÚËJ\„J z ÿÈÁ TÕR   (b—w¨Xk†2ÆêxH €€€(N‰”@•ª?'Ð7Ý  ¢ÇÓ‘ e¯ì±¿¿„ÄñÛØTõ¶}ˆ¡o„NË!„D‰I)eTS˜ï„ç.R"ï;Ÿ)ÐZj©¥v³¹„ô{]à¹!FQ¤ %¡¯2ƒL¹+À ƒnh©TB€–ÓñõoüÃß …V«Õèx,;$HÚTuó€r»±@Ðñ]offk»ÙüWŸøo³ß25%¥ÄuÜšL&RJÛ¶àÅ_¬V«Õj5 ·ä°® jš¦aêw]׋Åb.ooݺ5½fWŒ)i/Š“Ðï91`b ÃHE}± Ù(H²6}/{ "‰dˆ$êõDö ñ 7¸Q’ôj7¨Ò‡ €ß02)iÒg¿# ¾š¦iLGÄ$–B Ná̃·…öU^!9HÉÖ HØ¿Ù8P?@‚€mú\DXO²Hâ5e+.TgpÙ­§k„!”$ï’.»xDÿXÝê ŸP•?ÞtË@*ØR‰?v¥%Q¼ˆp ’@Œ(ß® åª.$¡ „á‘Jÿ^ˆ”:¸”’±‹Û;ôÑ>Ùa°·z 4¤–Zj©Ý¬+D¿Y±â³A`šfŸÑ êñ®4(¦K­Z­Ú¹, •J¥ýû÷›v&!Z2 IÙË›æýIrWOp™tÆD²²´dú3?ú‘뺦Qè´Úù\ö’¡&h&“é÷deŒ­®®;vlË–-¿ø‹¿˜Ž‡[ô¸ÒQ$TŸÝ8Ž¥ìˆË^r@U—®ÂB‚Ýø¯JJ$Ae(¥ÙËk#‚èkÇI"»ÈƒšÖ% Q¨èïF¹rð»  @0ÁÈRÍ&ÜjM {¢ä«-x[¡]8c÷¦+ZÈ-F E“ @Hv&/"—° Ûî=}”÷ÞîŽIzA«RHB*\-4”Hž  ²«Iz•‰*&е‘\Åduùƒª¢EMÓ»Qöõ;m'ŽcÍÐ5MãLWͪ !A”@O—¡/ÙËÀ‹Ä&!-¸ª© ) ‘²çª¾8Ý-€D"»-g˜äW®éºXO„ÈÞÞ(EõøR$½Yž¨;$*õ…D^Ï/Ûõz¯¾eÐÆMÂÆŽ°¡-lü¤Ö;¶ÎþS»Êõê:5©J `­tð`¸8Ž•®^_šáÍJ'º@éòl6c:€(WíªãÛÌB…„'dƒm7RI{aá ãsñÛÿ$Å+wÝѹš^‚×mÏ-Éš“¤(7teðfv_ÔÜF{(›!fÖÌÚ(cšN!—µ$‰HA+o’¥4‚~¥Ô¶í‡~Øó¼ô¡¾UW 56äàV$'! µ2F.g±¢P:n;]®Ãéûƒ­ #CÒ“ðÇîZ»’Øõë`à”ñ8Ž‘×x,’®±ÎN†©²@©´@•Cï ߪ˜Tï®õ®É…íç/–!¼ ©Ô \²¤ãÀo*ü@:©øèÂXÃËì^‘Ã…q~5[*A$@zpÒÀ~‘â…ü AÀ·ËÄs‘C¨bÕ0øRc'„pMÓ4Mi4¨â5ÊuXËhè:¢„" Bb÷ž#’+ñÖÖ+ÃX/9¶Þç)¥ˆ¢O¢èS,n”I ‚JI¥ Ý!Ï[Z&ò#C3½°cÌš[ÓsŒHJ ‚IÀKÏÔ÷UjmÀ¨Î8R’$I‡†É)†œINAàH¸¤Dr*)4õBѶ-£]­–²…V»N ¶!¬áJÉLBúÝGú± €@)¡@ „@!)‚pÑvããá ¿ˆü’í5 —³ç FY¼>oÇñ:nßžŽæzSâz0Áà,ÚÕõåœs.I·Œ9›ÍÚ¶­D"×?ªT? !4¡”*‰êP%}·ÍtÝ #0rFeÚ¹)åF€Û6Ž¿qzßÞí­v(¥ˆã$cYQsÆ€X³%Q˜¦†±Æ¸Fµ$a‹f«jšæ.çŒp’+X¯½öÆ®]»‚ŽOz)å¥ôñ…‹.œz·ÛËó¢ã†Þiµ¶L—WÜN»=<2Òît CÓH t`·úá"•wBpcXÃÍ âÒ›3ø]¥ \ ™áÀÞÐ䃽¦›d`àšþÝ“"7½ûÙOP)/õŠišõz}ffæÃþð¡C‡&''óù|©TÊd2:7&'''¶Œ q,4M3M3ÆP:H›UaH€RÊ( (e”1NSFÛ“ *`­Ç/ @d}µžÍäâ ÌØ™0vì¼^óWH1„ª2ŠŒ@B I¤BQ„ÉDr T A‰HQRâÅ15unSf²HQìù.f 3¸þª$¤ßì‡\Øâàëƒmð~"^ÃõØþ$îÎÕlS^ÃÕ × e€”×p5€…Bé+¥†7Õhèrø`/P§Ý.Ö@Êbb„ÄDjP)6tý„R¥ `š”jŒqC“½K—Ô‰Ò8‰cß³M»ÓrŠùB"A7ÍåUß¶-n—J%å4N T) ’ОBú»›!k&ìa£—;.ÄR¥A „±üÐe³06³Y3p|Ò»&ƒƒÐì½ÒQHIn•)BDJ .¹bÀöÈwˆDýôÊCT¾z“æO!Dˆ¢HÁmWP T…Eš¦)pA±CûôŸŸÜTåjEê¬â8VÍ5Þ¾€òõ€®ÇÊ~Ëa xïr7^ñ“K_Äuþoº ”ŽžŸì?ÖÁq.‰¼â °îQÄUÂFþ òª|›ž™™™ÙÙÙ¯~õ«wÝu×¶mÛ}ôÑÕÕÕÙÙÙÿå3Ÿ- Ы’HzÆ4Ùå3 p±Ë¿Çi‰êð’ ×ø8Nn75ýÄñ7æOž?»rŠfå|ããÔ:]6)AôX%ºn$Rô5„@š`BH.¹&•HBcÌ2‚$vôÅ/~QÓ´(ˆã8¦È¤” Íï–èö †ÁÖ½Ò=® jèº)@(RÙÓG0-!ÛRùîSg+Û÷~íëjîüêC‹)EN9Ó8¥¼Ïœ ü¨ë«_pcÈ@P™HÁbàHtÊ(…DÆFÜÒ\/”‚ÓȘ*ïüà;ÿIÃÛìY©µS !µÔR»¬)íß>ÉMõ¢g›™™—d# ÂŒeºNd™†®q³$ItÅœ­³év|”Òí8ccCËK‰byŲ£„r ¤äœë„‚e˜nǢV&=]Þ¬pI¤I{ç}± Â€9v.—“"1t3jg¬bÁf ÜvœªqUÆ êÖµZ­R©¨¡õJúJ%ýŠV«eÆ•L6~JÕjubb¢.Ü,ZT©¥–Zj©ÝÊ~c¡P¨Õj…Baxxø™gž‰ã¸Ýn›º%¥ä QJ5ÆqWŽAÕ ^–µ·¶’¢ûg²^g}Aä¼ÛSE×yúºÎÚN­X±ªÍù@4ÞâÅ€](´«ê+\h&çkáÙ–<ï%Ÿ/ÚŠK–Xêàb\¶âÐÅ6YjÓ%—-¹|ÑÕÎwØìrxÌãçô’Cì–•K¶l©5j ‹‹éíH-µÔ®°`ô!g¥í¯”Þ€ð…^Ð( ÉãBqÑ–"xŽcé†ehq cã9ÓÔ©xM"ÄqH(„¡¯1öâ σ‘Øx¥7u_xýÒ£sB¥”s¸^’$D‹‡’´>ü†´0 ûT žç)]’õ>¯H4JIAqAçææ6«nz óóóJA5ýÚD±ÉÔRK-µÔR»¦”˜GFF|ßWÕˆ§N*—ËŠ!ËÓ4ˆ¢È÷ý~)îE1ˆk¹ j› oŽ2ÔŠ@²V†2hwêBºvBlFu£zEðRL ¡È8‘Ù y=` a:`»<é…DËÇÔHÆˣŘ"̤ÐbH‹>)¸$î½ob排=Ÿ_9{âÜ1¤I"D.WH±¡ÔRKí ç\EPŠÔÐëo¼I@ Eyõ?¡çþðñï ¯ÓF™Ä/ELQ—n HFÀ2LS7žøç', „CCC‰ RTá¥×q@â"ð|Š@ARè¶ÏèÉ`Kè½¢v«^QºìÑsÙ ‘Ph”øž#¢°Ùh|ãë_OGÔiJ R‘jµš*u¹Â8WÌÏ(Š”.CE'NœØD:¥4I’••…2ô›Ë¦–Zj©¥–ÚlaŽ---5›Í8ŽàÀ œs… R‚Ê]uE{@CePëoÊh¸œá"”€P@Ún·…qLLX9ÝÌÓj{¡×æë³‹­¥ª·ÜNªwˆÑjy ލ'x µXhAÂØ¸qæGÜOXkQ¬±žÄÌÕ­UžÈ”'Xy¸P­­N)6”Zj©]1æQ3¾ÊßÂ[×KUõh?yâ„Á5”ÒàgÌÒuË4\{Ñ–"0 Eä{ßøúßµêP«W³Yð<ß4 à ŒSƒ3”‰ÁÙ©o0Äþä¬þ]±û;@®é—]g<Ž"L„iPK7 ùœ©éo¼ñF:œnLë3w”£ÒD¸2CAi:!8çA,,,(jSLÓ4Bˆïû ÎDéM¦w*µÔRK-µÙ*•Šëºívû¶Ûnët:Bˆv»=<<×]wmÙ²…EQ.— ‚À÷ýr¹Ül67±jã–2U/ã8N±X´,+“ÉÀ€‡Òs€L&EÑJW6‹äu½Å>7êo¯GÒYoÝߨŸðVÏ5‘oÉþ7k?7»ˆìF¯ÏÍeüÆÛ›îJõT˲|ßWZ]ƒÿkšf*îpÇ4M5Öëõb±ãããÊgVgîû¾ed(¥ª—3ݲ,]×}ß'L U £Z@âÐoN¡Ò])âþæKI?°'€)D$RRLH#çcSù˜ø @!±(ý8â&0M“…qDf„ ”r ""UsbŠ ¨49 ¨jaÚVzmhh(Žãååå'Ÿ|’R­VÕâºneœG„¸ü„²žOãyž ê …‚¢P(ÜsÏ=š¦MLL´Ûí0 MÓÌd2ˆ¨z°§wäÚ,Š"Ã0ú}ÚöK/½$„˜››3 #Š¢8Ž•r’H\Ï ‚`½…Ÿ1¦¦T5™FQäºîØØØ<°eË–$Iêõ:c¬/¼µ÷Q¡Ëêl¡×å¡OoS«Žê†³ñó”ù|æÙgþÝßýݽ÷Þ{øðá_|q||üþà,Ëúóÿúïÿû³³³·ÝvÛý÷ßÿÁ~Ðmw,ÃXÅy IDATä”}íoþf~aáÜìì¾ýûøà¼ëÝïn5›gOŸùîÿ÷ý<õäk¯½V*•öí?Í~|ffzó÷©­‰ýTø­°¼|>oÛö»Þõ.Ji>Ÿúé§›ÍæÖ­[ï¹ç!Äã?.„8xð ëº‹‹‹¥RéàÁƒ{÷î=}úô+¯¼R*•T_‰v»=??ï½÷†177÷ꫯ8pÀ²¬‡~ø‡?üáûÞ÷>Û¶GFF„µZRÚjµ ŸÏû¾¿¼¼üÁ~Pñ Ξ={êÔ©Ý»wçóù£G¾üòË÷Ýwß#<âºîc=öñ|qq±Õj½úê«>ú(çÜó¼'žx‚R:99©°fõª $½Ý×f–eišëºFcyyÙ²,˲!µZ-ŸÏ'IÒjµâ8\‘+YÔ¬(n’gx³Îs£ÏzŸ«ÎçíºÿÍÚÏ–¾Õ€†õ®ÿfFëíGÓ4å‹^@E¬B(èA×uÕZ9·žçõ 5ŽŽŽªUï¢ÄªÊ} !(gBΤÂʃ Èduèõ8[Ëk`ƒûé;œ)ÐpÅÑO¤ €=1HF‘$DR( P$RJI@2NA#fÆà„Èã8L„ÀЗI$mSÓ4À Ãy¤À!#HäˆÐ@Pœ`BzR”È8`ê lþ„¨âß÷:†a¥RQIÝKBÈz@ÃPF]×UÒûرcsssGŽqçø€®ë}ˆAEÈi/´k6ß÷…244ÔétVWWwîÜyðàAìõû¬%[Ѱž#¥ö ª¯u]§”¶Ûíz½~øðá£Gž:uêŽ;î(—ËŽãøÿ®úê ô«'TP-3*WLQóµ-íŒÁí{÷üÉâÂü¹Ù÷¼ëÿáßÿ®¦Ñz½õäO<óÌ3ÿØG÷íÛwäÈ‘o~ó›Iüò/ÿ §ÏÏ+òŸüä¯&at~aþ…çžãð_~ôçVjî?}û;Ïyá<ø»¿û;‡Ÿ}î¿þÕWšÕ•ûî»ï/ÿË_üÂ/þâßþý×_;qº2ð<ùä“{öìiµZ¶moݺµT*­®®nݺuqqñøñã÷Ýw?~¼\.oݺ•1–ÉdŽ=zâĉ{î¹gbb" ÃááaÏóFFFºÁ9WÍ)-ËRù™r¹<55¥BÖz½~æÌ™]»vU«Õsçνç=˜¨Õj†a<úè£ÕjU×õ;v”J¥\.EÑðððNž<911A) Ãв,ÆXÇš¦‰¬º&k·Û âœBŠÅâ¯ÿú¯ïܹÓó¼?ýÓ?ýýßÿýÑÑÑ>ÙaxxØ÷}%ÞчYûërz1S{ÛØF]ÇëØohØèùß,ÀÊf|ëaÓŽã¨vKýr†ÁKJ)u]×¶mõŠçyЦ¬Z­V*ÇqVVVlÛîÿû`ÈÃXÀ(!„3®ô¿Tâ .Ñh ”’=È>Ð@I†7A‰ == À¨€J‰ˆD „ÑhÇs(—Š4ÂÑ9,‰$(íwJ@H‘Ê$¡ J†@$A©i©†µÃ®©}jW¶N§™L¦ÑhäóùåååV«Õl6Uyíå°mCçy¶m+7:“É‹Åb±Hùñ|ï½÷n™kµÝV«•Ïç-ËJUʯÙ²«ª ù‚ÊîÛ·oqqÑqõ¥Œ¨&ë]êõʪռ©âsU7áû¾ã8*ð8yò$çü®»îR§ñ–¯‚ª‚]a ŠÕ¦išrÐUñ¯yqúÔ¹ŒÁ[­Öý÷ß?33“$IÉN§óÊ+¯¼ûÝï~÷»ïg Ôuxê©§NŸZ04}btìá‡Þ65Í{ðÁ½¶iýíßþí}9ŽsþüùOþÊ755…‰˜™™ù>ýëý•¿xÇ}‡lËHâHJ955I¨îºÞðpæÄëçîºkwɆ#ÏŸ) Ù–‘DÁ™S+§OŸþèG?ºÿþÑÑ\¥r«Ù|þðáŸ}ßûƒ0* gfÏŽŒŒ0 ¶mŸ>yê¿ÿWÿzr,£³©(ŠJ…âöí[:ð;_þò§?ýé±á!ÄÃï|`fzë䘽´äÍÎÎþÁçþhzf!P*•}ôѹ¹¹ñññ“'ÏŒ¦ÝõpÔÔ#Ƴ,+—ËišV«Õ8çKKKwÜq‡ã8*¼l6›çÎSS«ò~J¥’Òľ÷Þ{¿üå/ÿÌÏü œ9sæ×~í×”¤v±X|à¾ô¥/:t¨ÓéA°ººªJ«\×UÏ!ÄqÏó,Ë2Móî»ï^^^. qïÚµëĉaf³YÏóLÓT“–eyž—ÏçÃ0\ZZzðÁ£(²,«ÓéìÚµëÙgŸU_'Û¶•fäæ¶Õ¼¥Lªˆïûa–ËåR©D)j·Û®ë:Ž#¥4MÓ²,…º*˜µ5„áæ …7ZÀ³Þº¶Y×~ßë]šq½òÍ ¤7z>½-źÞ9­[ hØ,[ïylô0xyóù¼ZS†††‚ W­Í Ãh6›†aÄq¼¸¸È+‹®ë.--!¢eYår™s®X`—ÕQV‡Ðt]A•R2ÊUϦ®ë8 ÍÐ7•£ífûo 4\ùq‘¥jdŠ”J&"‘H%IˆdMDlPÊ)¥„1äÌ⋈pDœ0  ”H¢Q $ˆPhp™p)AR‘&*a ’`D$kÚµ¥¶Iªz,;NE‹‹‹µZ­V«]1ôlJõ M”êyS5ºRJË²ÆÆÆFFFž}öÙ“'OBr¹œ’‡ð…8 ¯ƒ‚}±Œ…DR)¥¤÷ÌàëÆAƒ@CÿTS áͧì"R@À0 ‘£$@ ‘@"E¡0”rΔ Õ¼ PF ŠA—À1fDR”Œ F¥Ä €jB ‚@B@$©@ÃæšÒGQJªårYiwMLL ¸¼äÆ™b±Çq£Ñ ”6›Í0 •ËŽ;Μ9³ººúÐCMŒ4[Žã8ê ©]ƒ©PAI0j\Sägß÷wîÜ©iZ.—ît:”Ò\.×n·×ˬç@¨üXfWn+<ýôÓ–e ŒŒApêÔ)Ã0&&&ÞBrŠšè‘æ¾ç\×uUª‡ˆuN@µÚ,åÆK/½:::úžwh¶áìÙóª¾}lllxxxlD{òé×–––¶o/7«‰Švï©TJµZ£Õj1ÆÎž]¸í¶‰B––– ØœÌÏŸO^=vìÄÉã¼ó®“oœØ6=å%òÎ;§^82;99ù¹Ï}nÛ–âÒ¹š×les™•••ÑÑÑò¨½´´tæÌ™w¾s¯¦ÝÍ«7õj’·³«õÚ½¦^ŸmA ¥üÔ¯~òW>þ‰<þÄSO=577÷àƒ~øÃ. £££•J…1Æ[]]-‹ããMƒ•Õå¡¡¡H$Bˆr¹œËƒaŽÛétŠC¥ô¡Ûôq«<$•BA ¤[3™L¡Ph·Ûãã㺮¯¬¬PJ§§§•P¶hTìT*ýøÇ?ž™™Q<¦™™™çž{îïxG6› ‚àå—_Þ½{·çy¥RIõ¹L’Äu]Ã0|ß§”ÎÏÏoÛ¶MAA9räH’„sþ /d³YIg2™ Чd·Úí6!dllìõ×_¿óÎ;}ßÏf³ÇWžŸªŒS@gJg¸f ‚@qCLÓTUÇÓÓÓJ.GÓ´B¡ 0)T…a¨ÈŠó¢0ÖAàéíÐ^(ß”u£ßzëàõ«¾Â:~S ½ª,ÿúÝÇë}}nöÛfçõ˜ÑJ¸‘\b NUøûüü|±XdŒ…aØjµr¹"º®«äÉ[­–¦içÏŸ7 C×uå*›¦)„8wîÜøøø¥("B‘ |Aì .²~ܤÖôT ò*Q¼†ÞíG @•¶—À(J‚ˆHÔÍ…ˆ“XAÁI‡`h@P)‘’äŒh 0 ®p I™äD2B H€ 1ÔAÙlIÊ †ëºÕjµÙlÎÎÎnݺU%CÔ3³V6o]Q–˾¾¼¼¬ìl6«*uËå²ê_P¯×ÆÙ³gmÛÖ4Í4Í$IR°k¾¾ï µb …\.§®ÿüüüÈÈH>ŸWº8ý|þe÷³^é„Ê0 b_åAiLOO·ÛíF£±}ûv8zôè±cÇ …·L²_ßAÖÛ”ˆr¸’1Fq;N1_Ø1³= Ã¥¥H]Þý{÷Íž9›³³gΜY˜3k«ÕGîƒ/¿4;><2>2úê˯ÔVF+•J¹\>}âdÖÊäí싇ۦµ¼°xàÀjµzâõ…¹ó³Ÿøø/”‡JçÎ6·oß>7· 9’¡½û¶ž9³X*E´ÛíÛ¶y¦ë8€xôè™~ðƒõjõÈá³^ÌÌÌœ={vß¾}Bˆl6›ÉdžxæøöíÛ=×µr¹ÕÕÕÕùÅ{î¼ë=ïz÷o¼ñÏÿüÏN«][Yݺeêô‰“¹\®\.ß¶}l~¾yves¹œçy’€Rúlµu!D&“©TìF3MzoþÐí·ŠPc˜R:44亮ëºBˆÃ‡ïÙ³gllŒòío{Ïž=ªúÔuÝÙÙÙ8Ž•d­V;pà€rŒvïÞýòË/ÏÎΖJ%•÷Þ±c‡aªrõĉãããŽãLOO€çyO?ýt±Xô}_¸ÕjµóçÏ«ú£v»=33C©T*ÓÓÓ?þø}÷Ý·ÿ~×u¿õ­o)1ÈS§N5›ÍíÛ·sÎWWW_~ùåC‡) A•K(ÄÁó¼[­{×fYŸÑ „ðÏËår¦iÆqì8N©TBħŸ~ú½ï}¯iš“““RÊññq‘SJ=ÏSøÂÌÌLŸ&ÖúQª&ŒRJ½ Ñ ®¿P¢oŠGÛGúH†+J€£*šPˆ’F(Ýlao$I$”a”Æ„Á¥d– 1\—:E H‰’R` I€Ä@@B‘©Qi!aBB$)"AoQ†W·Ýà~)U™Ì¡¡!Û¶s¹œònûO ¬e4ôÑKK.w> žÇqšÍæÊÊ LNNªRÒ]»v?~vv–Rz÷Ýw—K…Õjãè@ÝÐÕ\Øøç7DzÙlE ÊQ%*ª=Ïððp­V+ hPN¿ê‚¹Ñ…AÅ j1PÓt³Ù”Rkš¦ª¾ ÃZ­V©TÞÚeOµÉ€ž2°ÊÊöÓÅêkJ$‚PAº7‚€ @&$•€˜ T¡«êCY+øŽº¶I’T*Bˆaüò—¿ü¿ñÛ¶m;sæÌ7¾ñGyddd$bqeùû?xâSŸú”•µŸüÑÓßûÞ÷>ò±ê–92>ö3¼ÿÿùÚß„I|÷ÝwÏÎÎþÅWþòÑŸû@6W”™–^oÔÊ££T §™LŽŽ4jud§†Ië+aqhÈqÝ‘‘‘©­[¿ño|êÓŸž™™9sæÌ—¿üå|ä#ªWb.cÿæúÍ¿üóÿâºîÄÄÄî>ö¡™¶éøŽzGŽùìo~¶ÝnºÿÐþä Ÿýìgƒ8xî…óO>ùä'>ñ‰L&“$ A0­ŒÁH$”ÒJi8ôüFÕ³syµ& † H‚pëDª ª$€H%@BAè«å2‚@(R‚T¼ò#¯J:›@ÉM)žg­V›ššzßûÞ÷üóÏŸ:uêùçŸgŒíß¿ÿöÛoo6›0>>žÏç>ü£ýHµ·Q¸r°ž{î9¥õx×]w)Ÿleee×®]§OŸ~öÙg¥”¿ôK¿¤íjµšÍfëGÉq?öØcýö–;vì‚ Óé8p Žã………Ç{Lµ·T …¾}û¾õ­o©ö–JuR¹Å*ý®žJEÜHÝ«k Ì]‹Rª”ÕL«2uÍf³\.kšæ8Ž¢X,*GYi4  ›Us½žÍÚÿzúF3ê·ëù3×Xo?7аYûß(pp½—×›Ñp£É™mаÞó¥ØXäY„N§£„Š”çDZR:W )ƒ øÚ×¾öÐC-//oß¾}yyYuYVŒ°f³‰ˆµZ-“ÉèºÞǺ„…Þ}‘RÒÿŸ½7–«*ÓÆß½Ï|êÔ\uç)77 ™HaIÅР¢Hû9eÑ‚-¢¶Ë^®îvlÿÐå‚_£Ë^¶_£hí¯¡Å¦•F´A1І„$d¸IîTw¨ñÔ™ÏÞûûãÍ-. ‰C©w±Š›{ëÖ­:ÃÞïû¼Ïû<”pÎ)y‘ÂóŽfèòÞ I&„J$ aÿÄOœqÆ•j#‘H+¤ùXùfåñç NÁ+y„c7 ²‹”UU]×Åæs­VCi·r¹Œ3Ø„T*Õh4úûûmÛ¾óÎ;¯¾úê\.755ÕÝÝÇ1Šèd³ÙjµÚ××·mÛ¶ÞÞ^ÏólÛîêêª×ëø²étºZ­NLLüð‡?´m»X,–J%T}«Õjïz×»NԆ׺åq¥E]=Û¶]×ã¸%_E‘¤È^$GT¡¸¡,¸Œã s" ¢2 Œ(  ‚GQÀX$Ë4•²ªÕjµÚèè(ÔëÕõë×"þíß¾?99ÙÝÝ}þùoXºt¨˜Z²hhÉ¢ÿ¼ÿG¿ùÍoN?ýôs/|ÃÈò%“³SétzéÊe ϾçÇ÷~ë;ÿ<<<üƿذþ¼óBÆãw_sÍ÷þõÿnÛ¶ãÍÞrýõ×§’F9ð,%Waq‹P°®'Љ,Y6âzÍÜùý©©©žžžw¼ãŠ3Ï\'„<—’IZZU& ¸ô’ ·ßq;:Î.[¶ì£scµYSuuÙªÓÞýÞküŸŸ>õÔS©Têšk®Ñ“Æžz2[ÈÆ1—#!8Ä~œÍ& ˆxÖJ .ã—Þ7TÀaVè?Ãà?1)£ %%ˆ%à”Ëd*•Ñ€  ”„ÛNs‰e !jµúûàŒCdža0Æ„º®àB ·V&“AÉÞU«V-üë-^À¥—^ Ë–-;€%K–,Y²dá/6 ]ׇ‡‡‘… úÀ×^{-ºɲ†áªU«-ZT(ªÕ* âv€*°pÎ9ç,ÜJ®¼òJ:¨@õoÄ(mÛF<¥!<ÏC!t¤¡áʆð1ÒXð.Vý>TU­×ëÝÝÝAàŒX2™DË º@}aŽ~LÞçÑ6N”èÝÑþÝß×ÚÝàµ~ýcõ~p'Íd2=öØÊ•+‹Åâ#×Ñ^W¯õzu´uÊဳ×úý+@a¡Î¡¿~hÙÕúKýÖ?‘.í8ç!rlü@"‘h6›¨ûX«Õ&''ûûûËå2ŽT4 ˲DZ, ËŸWñ‰Ê1´x¾7 ¥¤­ÑðǮ ”H ”SB—€`²‰~‚ N@è Ý}BA•‡035#‚Áî\w­\K(”‡À)ð<ŸPj:  š (æõ¡>£«·Ÿí+5 ‘Î܈k dB¨8 a¼ã4¼ÂZ^¯áÐèîî®V«è.›Ï瑇O‰¢Èu]U•…Â0 ‚€¡ë†ï»BI"ȯT*žç4›Íb±Ûó===66688X­V5M³,kÛ¶mQa³ý$>¯ðøÃQb ¯mgoᜂ;8}-˲ïû¸2š¦‰Bñajš†®ì¶mW«U˲ðu’É$*Õá¯SJ ÃÈf³†apÎQýÁuÝÁÁAÏó&''O:Ìtþ8 £›{,ŒP>Ð!(p19`¯Kçn° Dˆñ\GÇÿy飯è†U©×ú{zb š¬¬?÷¼U«× JLM×LC¡±hñ¢KÞööóÏ}ƒ ä/.»<ßQ”€¤r+•%²dZâÜ ß¸zͺˆ³„nVBWÔšÝ \œqÖ9§¯Y7W­PЬֿª¢ DRžÁ¾‹/}kÏpŸkG=CÝ=ý^¼!ô|Â2L=azMÇJ§DÌ®xÇ»ºº³TÕ=7ììëûÿ¾ñÍzÓö𑥤™ ²ä6ºë.]¾âôõëß÷Á¶ëX†)eͺ3»†4C×ÒÔx-•Í( ¼ç}ï-­¹ª§P‰“ù£#¿FСõõŸýã›—.âE˜$Nˆ8p”\Wq‚«¾ÖPRˆ¶U !ŽÅýhµ!ñNÁ|µ`Ûò Ç0E¨á'ÏóÇÁ,ùOIñÛÑŽcRã–Úªx[xVë;ØUm«v·o!S*•E¹ä’KÆÆÆÖ¬YóÜsÏŽŽ¶¦z_à8&æË>¶†c|”UU²kLR˜¦‰:m% úƒM3,6r¹ªò" °i†å6Ù2™ /[¶Œs>::z²l¢b§¯Iß÷C?l9æ.4´iÍg‘…CÀ$'ˆ.ÜpáÌœ—0M7ª1lŸ¹T¨Z"›L q^6ã ¡JWÿ°dÒ0‚î¡‘TšN—œŠpÆbÆ@M×ó=II†8Ï<7tCA ‚D"Ña& Ž‹yd¦ !¡1Q§k^¾`,_»Þö¡á†@ˆ"Ëj"ce€qƒ¸æ„(ŒÒfžuÞªSÓs…boÙ8H²™JAª[i=‡‘ž´TT?ë9îl­©)j*ßÙ¨7µ´êÄaZ“¦kþEÎöh†¾e&Azàë÷‘SNƒà„´¬—[#QDÈ Ú'á8Aó¢6¸xbš¾ðkLâù'ä~AÅGäC¡Ö`»r8na–z¥ IDATš&^ÈPkyè¼,ÊÐÞ4Ûq¢€äœci‡‹¦hjûê<¤ÛÑŽW Ç` "•JŽŽŽŒŒT*Ã0â8~ãßxÿý÷Ãé¯]´†caäÇ1€Â¨®5axÑ2ðºnÿ¿?ìêNŒÍþ$&‘Þl~plb\Q”™©¹åK;)]§ª¤ /^*$cù¢U£“tlʦqS£ 1NY¨AEÌ¡ípyœ6]×±ÉfÛ6!$—Ë5 MÓÆÇdzÙlË&›Ã]]]Q¡²k†HëÅ< µ9ç8¥ë:ê4 T…h9AЃ<¶z ¸"{žW«ÕÇA?Îù¾}ûÒéôØØX__vÏt]G]%ä>T«UÏóšÍf"‘ÀúÏo«Û†ÿD/â EA©¹“hˆç½'dYæÜ ô E(aþTA€ YÑKsN__bº\_”2ÒùN77äét2µC”eÙ²,+A›X™Â\Ê劮ëT3'…S‰Jü˜5+Èê²,ƒ$e 4þlµŒ¯cZ 2U%'ÕL5¼ˆUT3•(Í5‹EËqxµÙŒã&|EQ$-E‘BÍ ²Y½T†8ŽÝH€ õZH)žk0²–˜žkA€ ±cGQdE*ä@†Re.ÛÙ7U®Kª/‰¤*!=‘®Ô½TÊ` §sELJ|g’1`lþÉ☳ˆ©„€ljB×%œ*f2 QÌšAh¦´‘JÔЏ˜M{^о¹¨Y±BP8ü•D`ò7K†ÈGñª…âM- áŠ&"m p?±oæu—H- _!Ü€œ²….kðRWùv´ãx–vx‰b;*Ã0pM³,«%ÆÜÚqüáÀv—¦i©Tjllìg?ûYµZíêêBâmk/;ngh8æ$h(Šf—#S ’®%öì;mdÍiËkîö©ÙÉî®þ¥KVVªÍé©ÒÒÅ+—Œ ×Êãq,Y¼xåê5O>½u¶Zêêè–©ÅB–ˆø¥å6›áx…®ë¥RéÑGEêì²eË/^ìyÞYgµiÓ¦–-Þ¨¾ïwuu%‰;vpÎ]× Ã0™L*Š2>>¾y󿉉 t\ÏçóçŸþÚµkQ¸¡E–eÙqœv"{Ì£X,¢ñ‡mÛãããÛ¶m ‚ Žã«®ºJ’¤z½~öÙgoß¾;–º®;Žƒc(Ì»wï^×uQ92Š"´#~úé§EA”axxX’¤t:m†$I§R©“h$ í'hPEÕäП/˜ :§Pà@l@DP TIÄœHb!T]×C6«{Žˆ9gQÔÙ­WËœH„H ‘Ĺ¾OâX‰Càœžäy B)ð Æ$E1uªUWS”(à\"ðw5l'¢² º ¾Ï[¢*sŽªë -!Œ‚¨2 "–MKž– u,J³MßU"Î’ª˜šª¨ J4dBa(1‹©—Ó|Vž˜®Å¡ÍgÓM] (ð×ÃáQTâœR& . ~`‡ÈK˜ ­u oY–Q|¡=Ìα hÉ­a¥ã˜¥!­ 'àPܤ­Ñp|Â4Í…è0ÚêÅÄhh®vçÀÕ)Žcd4DQd¥;Ø@j3ÚqœQ†–Ø-B`¦i>ùä“ýèG…ûöíC>õ¡†zíщS.¨$ DB€çE”ªŽãynH†©ù~3f¾aʪ&xœø†% )vüH±iiŽßرçŸÒgQÌb*)„Ê@$ JÄ´W­ãèAð¶·½-ŸÏ£Õ™aQ-Y²äÉ'ŸL§Ó‰D"Žã(Š0 R¥T*=üðÃÛ¶m›µm;—˹®+˺,Ë—\rÉúõëK¥ÒæÍ›ëõú®]»úúú° E£BÂ'*±þs¹¹¹f³©iZ¡PèïïO§Ó-«3tÁ,‹Ø”@½O]×çÇ øôôôÏ~ö3Ã0šÍ¦ïû–eɲ\,ƒ Aã'?ùI__$8×Ý2<Ùö!¬”°=«iÚág/X¨ÎÀh@.øEbœ À|/0$‰ÄÑ%QkÖ“–6!“ Q ,ŽYÄ9£¥ •ŠnèRÌÀS&‚ù‚óLÊTTˆ#°dt¸&B™…´)‡0â¾çK˜æ@—ø`ÊB‘åÀ „N™]q5]Ï%u „0Î"œë”*²,Éà{‘\¤Sº{¡Ç%C'"›Ô˜‚q‚ˆ˜‚ÅLž²ÌˆIQrš.«jÇs‚¦–TUÇn¦2i„N)s]ùõ­Î€¸*LᜈyRƒ 8¡ ¼>9NT Î…ëc,Ng³Y¼_Z㦠ŠQ-åøz€aºv´ çíøÓ‰W-Î0 ‘÷‡ÌM´±†vœ 7xMÆq¬i‘º®7›ÍW«}q¶ã5½_qPUuzz: Ãn¸arr’²víZœœ=!,°özŒC¢R3Y‘©,‘0ˆUU5 ­éÔ•j:¹±U\Yó‰ìL×÷0m±lEž¨7ãšÐB#£§ ©"/ò¹`BUS9Ub"‡œP™W…v9J¥ÒOúSº;묳֬Y#I’뺳³³®ëjš†Œ_˲P‚AUÕL&sÖYgéº.IR6›­T*’¤=øàƒ<ðÀïÿ{&V¯^=44äº.Ö~ØÄ;€Žkrh8¶‘ÉdLÓD;½J¥²yóf´XÇ;Þ p¢5Z:v…s¢(ÂD!ŸÏŸwÞy===žç)Š‚bŸ>úèþýû·lÙÂK&“ø»²,kšÁÜÜÜÉ‚λ c³…RªÊ …sh‹êŽ^–‚ À%Á%Á*BR<"? †‡Š*×;‹êž½³\’‰DU*% A@"”H”7ý ð% …Ž\èÇu»!Q™utUSY'4 ׎SÓ³…´g7]ߣ@I+™Ð\ß‹ÝF3 ª¬˜”²\©ULÝÈgÍj9L§4Ïñç‚q‰™à Ï¥3‹y³–Ϥk• åL¢¼'k9Í:ö¦ç,Žç*¥T’ª“ãÙ\.0šŽã×f™¢º®j­ZîšPÌ›{÷”T]Seጵ\&@D,ƒ áœsB¸ ‹ùøó=×T¢• R¶3É ‹¦™ˆã˜R¨Öf~ü_ÿ$o—gÿÄ3Í_”ƒÈ­{ã²çüøçS7G-o¼¼ã?þ»Twy(G> ™Jd9Q,§xžVÝg’nñØ#¯%Ðp{ÿ í¥W~uî:9Ù¦ZÊÍfÁÇqt]ŸžžN&“ïyÏ{‚ ÈçóSSSš¦ýó?ÿóE]Çñìì,š`ï%‚T*U«Õòù*@• *ST@JªT¸øS™•€ QÀãº!@S àA•0Z?=N@„õ´ 4 ýr=! ¬:Šé J?§À¥´ Tkxi ¸ 4n°FÃä„3  ‹çÐiÈÜoÄ^C% SàœQÇçr2­Íhjc^N¦œE4ŽÚC-kO‰‚@œÏeÜF]WU™‚¤ªœE èBÿK„Œ)¥ˆëqÎ'''W¬XQ¯×MÓ< ד\.×Î_OHàd¢çy¾ïkš–ÍfqWÅL²µ¾á"/IRWW!U{q)Bà&‹Sc­á—[øêLžç¡Ø!*Áü0î†8 Š]SUUáØ9²ã+üz V(HÐ;Úãßl6Ñ$UQ©T …ÂòÕWÝÝÝøÅ‰"dµãõ8\¶wïÞÞÞ^dÖDQ„Ò¤xâµÝÓÓƒâÊ -QðV}EÙÂ|µµB"4”ÿl3Žq„!× ÕФRŽ ¨ud:.¼è‚¶íŸx¶í¦PR.×"IÍò+͉f$îD‚…¶#û͈™N1ÊB ¦R,HD © Ÿèèè „8ŽƒU™®ëÃÃ×_~ùƒ>˜Íf‘U‹¹ B×øÃFFF:::â8ž™™yöÙg+•Šçy×^{}û`žXèaáRØu‰¢(Š¢øÃ÷ÝwßUW]A__ßÞ½{s¹6"¾ÿýïŸy晩TjùòåûöíCnK&“éîîÆ,G–e&N‰Ý¨%ŸÖ‚$c²L“ZGiþ¨IT¦’¤P T•ä2©ÎŽ PCHhX4‚h?¶ñB05H:å<Eèù¦¡î:Ä»Æ÷}I’,Ë¢”&“É6“« c||<—Ë¡g–¬Q¡RïË>¿Z­ !¦¦¦[6öœh@¡4œê¡( j*· ¹£(R¿ní,¸ÃÆq|¬äŠp_øO̾Ž ÀN¥´Ùl¶L¯«Õj[„»§(ÊL&ñîK¥R8è'Ëòál¡‘|ò70ß™k¡x¯.Á^¸œâ$ÑÂÜ¿h Ç8p“^Èf3‰†ÇœÙÙé³Ï>kîgÏ×BÈfÁ÷b»9gXTV!ŽE{ Tœ†`Ü׌¤¢N#@)pd”„ íñø$:†a(ŠbYZNT«U]×»»»3™ vÅ…8õD)ýÍo~ÃH&“xÃvWÚóæš„¤Ÿ`mÃ3Msll, Ù™™R©444„?Òu}nn®•3 ÖëuÏó.¾øâ8ŽMÓDMÇqšÍ¦çyä8™†–¸î4QiŠÊYD‰Á¸ \ (z'c\ 7$††„x~Êþ)GYN‹ùGÒ~|™GôB•TB):O[„r (@ó:XŸ`b„ Œ±f³yr2Úq¢¢³³™b8éæ8c¬³³Ó÷ý—}~>Ÿ§”vtt`%A"‘àœwuu 4@{àâÕnX–`þƒäÇqZê?ˆ µà†cµ·¸ ­swæõábvvv``•˜ÐÂ< ÃJ¥‚ MíhÇ©•JÅ0 ¤QJÑ\Ó‡»ZS¸âòøê€†ƒ¦Øh8È£ 4s º~Ç ÉD6õ8–|߯×ë’$K’¢i (Ôs°HŸQU‰cF‰$K”€/¤HªÂ„¢è» ­-ñ`ÿ°v¼f¤#´|Ç;³\.[–õË_þr||ܲ,Y”%_µjÕÀÀ@___¥R©T*O?ýtµZÕ4íê«ßÓ>˜'0p:![Ïó5B4›Íf³9<<ÜÕÕõë_ÿzÓ¦M•J%ŸÏ‡aˆ®TQíÙ³ç-oyKÅbñŽ;îP¥X,â¯hš†mß÷…N¹•…|6Ü`cœÇ²B¥è%ŒBH” !0±X‰|?Œ˜¦H ‰øÀèÖSíQÕ–G[ò§êç}-…€(À"¦’`1$ªª*Æ„gvP‹a¯Ý»wÛ¶½wïÞöbÕŽVÄqœN§!¤··ç ’ÉäáX¾¸¬!šœJ¥8çÉd’‚….NÃ-„ÚO¯z?u]]·PÉAÃL&ƒe º¢íÓÙ–žkÆX8bóÊ#ŸÏ@†ÍfÓ¶mLÐö¯}rÛqÊE±XÔ4‚^ÑHX8ŠÚÂéZT¼Š|u!Äpè¬ÄB…ü¢ 4ÛàQ$’QUÆýÊŒC<ÏJ¤N[¶ò±GרB’ªe…²•ìU¨ÔfÕXU‰ÎÈ}ªŠfÆMâ{‘ÄeÊ%™ƒÌ9þ§ˆXœC[’êxD­VC°Ü²,Ä 7oÞlšæÆûûû‘·‚OÀ±¨Ûn»MUUUUW¬X‘ÏçÇAÑìöÁ³Dt V«¡D*•ò}ÿ¿øÅÐÐP­VK¥R¥RIQ”0 ·oßžN§ã8^±bÅã?~Ùe—á´p«P'„†aš&"P§ÄÐokÝo‘åpsB©ÿ…ò Ø5ŠXˆO‚Á)@£¬æ©ìh°À´]~“mpJ©îJ\Ì_H‡= Ã,±5EÑÈÈH£ÑhÏv,Ð0‰Á–eîùˆ#†¤†8Ž Ã@‚[ƒc¸Êµgò_]`ydz^¯[–å8ÎO<±nݺl6[,ÓéôÂÝðXN ¾¢“’$)Šây^¥Réêê:ª×Qetttçοýíoßþö·GQ„cA´On;N¹H¥R˜Å¡ª}Kõp£ˆÙ2´°€W—Ášúb~xèôDh8Æ™WÌDÐ%/•¢ÏÕëöãÿîâ ߺúôÑ’_®VúVõ .Û=úBZ:O_±dÙ ÛŸôæø²3н[·íᡤƪÂ$•€Ì¹"¸"B™GÄ x›Òp"ŽãF£ñ‡?üaÿþý”ÒÞÞÞÑÑÑl6kš¦ªªˆ¯ã·»×ûÞ÷>BȽ÷Þ›H$<Ï ‚À²,ц…NÀ±!×u«Õê–-[pÊ×¶mJi__ßUï¸jç®a†1¼hX€íèè¸üòˇ‡‡o¾ùæU«V¡3HKæ`!AUÕ“\¡•¸cvØ’ÿA†[†q Ñ‚¥%!ÔÂyW‰Àc œJÊëéò‘ Í ;Âvûž,é‚s¢H\0L¦8ˆ—žÀN c þ8ç¾ï·Œ$ÛÑŒ|>_.—Q´obb¢££&&&–.]ú²ÏGæZ­yã6gáµÜLq`Ç[„³³³ëׯ×4 m˜8çÈø‹ãøXi„aˆuKë»®kÛ66„^yȲœJ¥z{{÷ìÙƒ}Ã0*•JÛ¢§b4›MT*Á»¯µèyÞ7°ûS€†ƒF'ZÁæµ2(l G<Ø‹»' @pI€r¡r`  @¨˜S‡|è á4EÑô3y}hY‘hŽj€ï…M;J˜Ét2¥ÊJÚJé ÓÅ=\÷l®«ÙT2Ïù®(nâI"D,q ‚RŽJ 'WÖ‹z`@ø+{|%Å_x1¡ýß‘mÛ===6lð<1¦(ÊÔÔŽ÷£Rë{&µZͲ¬©©©t:ÔtJ©ïûŠ¢ñýÀKOÒ*õhŽÿÉõA&&&ªÕ*ç¼X,‹EøÄùÒ‡~ØuÝûÿûþ .¸`rrò´ÓN{ö¹gÓé´eYÕjÕ0Œ¹¹¹l6‹ÂøØEAnvÆ`¾ù¿pJídX²€Á/æoOA@Áqg!@)…yᗈŌq!%-Y.tU#„0YÒdEQ$J)Œ Yp ¯#G=š{àõó dMAˆ$¥ÑœsI98µà ˆB$yâ ç¼Ñh };ßhG+*•J£ÑèííM&“žçY–Žãîùº®£nÂÁHàB %~áÊ܃üS¶mƘ¦i¾ï#[å«z{{}ß÷ÆX‡/ÍúÊá œdrr²««+ŸÏÿú׿F[q¤`´¯‡vœŠ{(ö¢( Ã9‡sXG—´£Ñ[Ï vŠ¿OZÅËKª˜ƒF*@>ØØlþy-ƒML©[ 1Y>l‚cÚãµ0 ‚!œ#"&‚RÀ%&T"K È‚± œs‰rSÕ ¥&ÇaýÚ®±Ñ’E¡4ãŠ|ªJV—¸išµÚdÊQ%7´'=DzëÝ’,¨ª•¯ s£@¼™©@LT»sa1™æE£4\åzx¸ã8¼ÿç [ ­ÇדBPJ(B€¡ã”pÐã«àåÊòÃê-ÿö÷±dY’e½ŽP‚¸Åéu]í TUݹsç¢E‹2™ÌC=tÕUW%“ÉééiÓ4‰DÇ-ÅÁd2955ešæO~ò“%K–ÌÌÌ`>=;[Î糞Øv}``hbb̲RŒEŠ"¹nÓ04Y¦ÕjÙ²,JO6쿲#‚áT7DK-ÔM´×Bå…Z­f†,˺®K’ä8Žiš‹-zðÁßô¦7%“ÉÝ»w/^¼¸ÑhAP(Êår&“©V«„Y–{ì±Ý»wçóy!D.— ‚`Ïž=Ë—//•J“““¨ ™Éd0ýjN­õ‡Žný|Ug‹Ž@€’(ŽY…qLeI7ÍFJ g@©œ²’qG§Ê4ŽCEQ‹cqER¥r£VOg2„€ç¹ Ã$œ3 @©433ËdU%c1P@œf3L Áëµz&›µíF2•"â8’e…ÌÌLwtv†a j!P*Mõtu€ÙÙ™bG!077ÛQ(:N3™°Áφ®jͦ-ª:¥pœf²„cÛédªV«æ2Y`ÛDÒâ $™¾˜†F8’Dâ˜!ü4ðÃ( “)‹€D@"ðâç ƒ@Õ4Á¹ï{–™ ®ã˜‰ÄÜìl¡X$xü_ÿ±pƨ$q`D*!ÔÅÉ¥ƒ£Rƒ Š¢A`š¦ëº¸xâÒɶõ#ß¾^¯ÎÎÎrÎÓé4âðÒ×V_H:€¶Pô'J$¶msÎ3™ ¥´R©¤R©jµÚ××733£iZ†étÚuÝ(Šu]×D0þUUËåòàà mÛÍf3—Ë¡‚Œ¦iÕj5›ÍJ’dÛ6bÜš¦5b±X«ÕÂ0Ìf³”Ò¹¹94KxöÙgO?ýô¹¹¹D"Q­Vóùü+é€Ï$)™L†aèºn.—k4­•<“ɸ®Çq"‘ÀÅÖ÷}„õûúúÆÆÆòù|­‘~”´m»¯¯¯\.§ÓiÏó—ÿ`S¡^¯‹E˜M§Ó¨ }´y—®ë¶m'‰r¹lšf2™ÄkÀ÷}Ë²æææ’É$ž”B¡€ÍI,ð„bÊݲEèêêj4‰D[8’L&ã8ÆÆ~µZÍåržç†Q.—“ɤ뺖e…ahšf½^o Â# off;²@ IDATÆ4M˲öîÝ;22Òl6‰ÄÜÜœ®ëÉdòpî踄Óv©TÊqWÁÆ0ŒR©dYV6›žžÆ«E¬"ªižVÃ0öíÛ·xñâ¹¹9BH>Ÿþùç{{{w^P°CQÃ0+¡ªª®«²Bç=‚}1÷ŸŸ}k¥óIJL×uñà!ŠÅb³ÙL&“§þH`;^§{^ÀŠ¢Îob¾Þ‘ýõ?†ëqü#„¼§„à\0ÎXŒEB(œ ‰ŠâøãYïI¨ ~<ƒ „K 6¡è!€pBH‚XÚ(a$iPI"¦Êš x*‘Õ†ë Ÿ6´oÏ ©ç»öì³íhzzöÙ§ŸÞµcgzM»2>±grº45[Ï>;cOK¦ÆÙkæj%B™¦å*cº$%hZQœlº˜$/>Š…ßŸ„?•×ðJå—ÂÛG~ÎSÜ×eYN$™L‘ <Ï3M³···¿¿?“Éìܹ]‘ Ãàœ£y˜¦9>>NÁÎy6›]±bÅ’%K°¦}Ãrhë­ë:cÌó¼F£±cÇBDEõz5Ë2S)«ÙôO2”áhÿ‰\pBjQ—³"„M‘Î@éêêZ³fM¡P( žç¥R©(ŠÊå2Ê|Ža†ŠZbØ´ùô§?mÛ¶¢(ûöíËçóW\qÙlvffFQ”Ç{¬^¯cÃ;9 ±¹ãIå}…g‹" ñRZ¼ä¿ƒ‘EQtUcŒ!£ªê¾}û:;;Ñ6•JÙ!y³™TÚu]þñ!éd r™ìÜÜ\¡P8 6¿<˜†À÷]J)ÎuÇq,Ëz½^O§Ó†®>÷ÜsCCC¾ï‹Å„a¡{¼iš³³³#º®ošf"‘€b±sçÎK–,!0ö?ÿGDr€G³à²:ùYZ$t]GªšmÛŽã‹Å ’É$ a:Ž£ªj:Æ1ŸÏOOOãfÑ×ׇÅÖZ”Ò±±±¥K—¢Íôô4¢ÒXƒqÎ|AW#|q,ÛTUEI\Ápã@©\UÐ[¡V«¡ÊL2™lQÊUUE¬À !º®[–eFEƒƒƒ¼V*³?U ZT²Ö°1rÍzzz`ûöíº®ÏÎÎZ–Õh4:;;9çÛ·oÃÞàyÞsÏ=·zõê±±±þþþÃÒ8ùX(Põ‰DâpÏ?\àÙO$²,wvvâ6”Ëå\×u]Ö4Mëíí-—Ë(D)E¡X,Ž÷õõaeŽËÎÜÜ~dI’$Iò}ß4MιmÛÙlÖ÷ý\.7==0:ê RfÆÌÌL±XD˜»T*¥ÓiEQ:;;ñGFF£'„d³Ù jµÚá:¢‡ EQ¶lÙ’Éd†††žþyèéé©V«ªªÎÌÌPJ{zzzzzÐ[¯–eíÙ³·\QeY®×ë‡;ïéØá׌Å/v5°øZWÜÀö"X´™SíhÇ+ϪQ£Jz™Ô’ˆCj@_1œµ¿räãÏ5@ @ˆx±:”gB #DB€ Q/Ò„$«2sºàŠ`é½{ìã{üò #“IË’23¹ŽVÈFÇ'¦ºtöö¥²ù†²Èæ{÷î屡«$MÎu*% µ8“¨ÄNéîd Y–E’$ yt(¯€[;¢æš¦áD1ç|Ïž=Žã`V§ªª¢(ØxiÑ;‡††FGG±‘åºî]wÝ599¹|ùò 6üêW¿úÕ¯~•ÉdšÍ¦eY_ùÊWªÕj†™LÇ«dYv]÷¨UñÛ1¿:µävÎ)Š‚g (“#¨„¾d2Y.——/_îyžã8Édrpp­³¦¦¦Â0l4ÃÃÃ}}}ÓÓÓŸøÄ'PHòƒü cìöÛo÷ÿùÏ}ík_‹ã›u‰D‹·D"ÔüÙl»p8 Žv¤[c¹zõjÀ^8\(êõ:þÇÁ65,Y²¤}'þyD¹\6 £X,"Cʶíûî»/•JMLL$“Iœ†ííí]¾|y:ö}óæÍ…BahhÈq”šÛ°aCWW×w¾ón¸iSSS¦iâ:€B˜è\S­VwïÞ}Æg` =—ËáUŠ}f„A˜À…%cc;vìXºt)!¤ÑhLLL˜¦™ÉdpHÞó¼–‚ŒïûxÛ¶Ýh4t]GH4“É`i}ªtt‘-\Ò‘¥¿oß>üé’%Kfgg{zzæææšÍæÐÐ¥@˲šÍæ‘!ƒ‰‰ Ôl© ¢çÚ"U YòÔÔ‚¹\nß¾}étõ&öíÛ‡.dY¶m{ffF’$¼*`ff& C]×ûûûñ5}ßÇ^…eYHiI$Žã ³P(BlÛÆ'c&“Ïç£(BÌ+N゜Íf£(ªT*SSSK—.u'Š"|q˜Wt;ªp]wÕªU[¶léëëËçó…BaÏž=…BA1<<Ì«Õj7' $ær¹ÎÎÎf³‰›z½^©TÜqh$bß ÎÅFƒhÍ‹y,T,@F<ÀK4ðÚÑŽvÃh1âÞ_„# pˆzäëk‚+’€ ”á"‘„=|Œ AIÇÉd 8I&¾Ëþ°ù·}ÝÃÿê}i+;3UJ%“v1ÕC¯Jìõ)ŠÒh4žzê©?üáår™‚ݘ­[· ´U{öÙggggŸ{î9Î9–¬÷üÇ=vÓ=}õé{F÷ÜvÛmBˆf³Y.——-[öÌ3Ï )·V«-¤W´˜Õ''E|¡Ppëîùˆ !J¥RWW—ã8(¯…ôà8ŽW®\‰9®¦iHÇ^Ygg'ÞDÈþõ<¯··7—˽H‚°í fgg …BEÕjÕ󼞞Ìògggóù|Kµ«ÙlâÍõ¹Ï}î+_ù ‚çŸþ·¿ýí+®¸âãÿxÿÈÈÒ°`À CUÕB¡°Pk,ËÂ9ðééét:H$ð>ÿüó+V¬@8 k€R©Ôßß)r¡PÐ4 ß’ã8mE±?›@Z¸,Ëår¹e!ôÖ·¾1@r®ä”Òµk×V«Uß÷]×xá…²Ù¬ã8CCCa6›ÍÿùŸÿ¹æškSÞ±cGWW*Ôb•%„˜˜˜8ï¼ó°Æ™»L&#˲ã8SSSÅb/`\¾pw(Çqfffcù|Þ0 ÆX©TÂñ®V»¥€›Édpr>›Í>òÈ#W\qÅìì,œ*ö~­:\–e\äñ;%ß|óͨPxíµ×^xá…SSS/¼ðÂÒ¥K¿ýíooÚ´‰1¶hÑ¢Ë/¿|Ñ¢E‡{ýžžž;î¸ãᇞšš€îîî 6\{íµGëJ077×ÙÙ¹yóæ_þò—[·n˜˜øñ<88ˆÐC¡Pݾ}û¿ýÛ¿9޳fÍšË/¿üâ‹/Îçó’$Õjµ®®®Çü©§žzðÁ+•ʽ÷Þ‹VBˆD"ñøãÿà?xöÙgMÓ\µjÕðððÇ>ö1œ÷ľÎ>#F[¶lyôÑGï¼óÎT*uÙe—½ÿýïÏd2¶m›¦ùÈ#lÚ´é=ïyRùp—DöåÑs¦iö÷÷oÚ´éÜsÏœœÄ+q Ƙ$I½½½¸ŒW«U츬_¿~Ë–-a._¾|×®]K—.­T*hàó1_žC,˜[£ÀAP ÄyrÎ9!¼5´£¯Eê7q$ áPªÒëµÐ¥ ägq Lˆ%BÂeQ¬ç";Œc„‘Ðä”;c£±ŽïÝÿû´•žžžÖT•…AwWÇôôtEÝ]ƒ”Z=òüH5’\„ÕÆ”ëÖR¨„¤…Q¬BšH!#Ub`m:ñ Çqd™b¾‚Ó‰8ÉŸH$°ûîl6ÛÙÙ¹xñâU«VuttàܪbÞ3>>~ÕUWY–…ÅÕâÅ‹§§§ÿéŸþ©V«EQ´téÒ+®¸b÷îÝ=ôÐyçwÅWtuu¥ÓiY–}ßw;N‰D¢½÷ý) \ËË·•ˆ4›MÏó<ÏkU•ÈFv]7•J]pÁçž{®¦iù\~brÎq—ËåŽŽŽ‹.ºhýúõ8n=22Ò××÷—þEGG‡®ë¥Ré¶ÛnûéOú¿ÿû¿o|ã/¸àC7 …fÿ®ëbÑŽ¦˜Ø‚{u~ÅÇ!qÇ)ÖtÉ‘ß$Î þË¿üË—¿üå}ûöÕj5L‚¿þõ¯ÿð‡?ܺu«®ë7ß|ó'>ñ‰(Š&&&úúú¾ño|ÿûßê©§Î<óÌn¸áúë¯ÇWó}ÿî»ï¾å–[¶lÙ²jÕª/|á ù—Y.—×®]«ªêðð0iAàº.Μ#`Û6Œ …Â?þã?º®‹‚)xØwîÜÙß߆!b <ðÀG?úѱ±±¡¡¡Ï|æ3ï~÷»s¹\ b „xž·gÏžë®»îw¿û]>Ÿ_½zõG>ò‘+®¸B±bÅŠGyäSŸúÔ³Ï>;44ôå/yãÆØ!|ì±Ç¾óïüìg?“$é-oyË~ðÁhߌþyˆ ´¬Âr¹–ôŠ¢$ UUÃ0T%NOMM!a ÛË•JpQÿezzZUÕD"±mÛ¶\.744„ºÂØGU…f³išf£Ñ0M¼»wïFâU.—CÆ c,NSJq>ÇïñUUÝ»w¯¦iXÐâ­:33³hÑ"£(r]·T*õööâ›T?Ý)Tta!).°333ÿú¯ÿjYÖM7ÝEѦM›~þóŸ/Z´¨¯¯oddä­o}ëÀÀÀ§?ýéw¾óÏ<óÌw¾ó™™™o¼ñe_üK_úÒØØØ7Þˆ€éÖ­[o¿ýö½{÷~æ3Ÿ9ª7ÙÙÙ¹ÿþÛo¿ýÌ3Ï|ÿûßÿ¥/} çÂ0ìîîö}ÿ“ŸüäÙgŸ}ÓM7½å-oÙ´iÓ¿øÅ ®¾újß÷E™™™¹í¶ÛÎ?ÿü¯}íkó7ƒ„)pÇÇÇ?ûÙÏ^tÑEßúÖ·–.]úÄO<ôÐC_ùÊW>ó™Ï ‡ BWI’´iÓ¦»îºkåÊ•>ú¨¦iwß}÷Í7ßü±}ìì³Ïn6›###wÝuׯ[$T8Z-¡þþþ Â0\½zõèèh±X´,«\.#ÐŒæ”QáÅi§aÎÌÌd2™©©)t 9‚õÌBƒÒ„ò¢.C e󳱄„ „ƒÀñrhC íhÇkü¥®¯hháˆðróϯ— ó§âEyN8¡LRàT€,” –E(æ¦ãšœsÊ!iÕYª1wøn‡q„>tI&•ÝZ•U÷ìH§%EK…„yÞ¬e%Š]jèªoj@HÄIJ(H3be*û‚‹ù•´ǦÐBAÜ&ƒ h4¥Riñâŭ扪ª8ÚßßÙ›ïû­0²ñ—.]:99éû~6›m4H ÿ¾€BVãããk×®=÷ÜsÏ;ï¼ÞÞÞÙÙÙ]»va“''±Þ“$éX‹4¿Ž€†0ÚR^BàÑÎår(†?B¼mÛžçaÏÛã‰D¢^¯ÏŸˆXÓ4Ô¶‘$ibbbbbâç?ÿy­VK$xmlذᬳΆùŽvLLL`C>“É`K¿Åb8i[( ßá+Yçñv˜ýë¿þëx`ݺuHú½ë®»¾ýíoík_{÷»ßýä“O^{íµFãsŸû\ÇŽãÜrË-ÿùŸÿ922òÄOÜxã”Òw¾óÙlöÞ{ïýæ7¿ùÅ/~ñšk®yúé§/»ì2ß÷7nܸcÇdtãø’çy¨‡ ᣣ£x„ …ÂÌÌLGG¾á8ŽeY¾í¶Û¾ô¥/!5Ýó¼ï}ï{?øÁî¼ó΋.º¨\.ßrË-ØmC10Ä& øîºë>õ©O­[·nÉ’%÷ÜsÏ}÷ÝwÁ$‰ÿ÷¿å–[n¼ñÆ|ä#;wî¼é¦›Þþö·c[û»ßýî%—\òÓŸþ”1öáøýïÿÃ?ܾÿlh¼œòù<òfffšÍ&RZÒ³-Öúôô´mÛ™L¦¿¿¥ÆÆÆ~ò“Ÿ|à˜œœÜ¿ÿ½÷Þ;==Ïç/½ôR „H’„ˆÞ€¨ÇñÌÌÌþýû9纮7›ÍF£¸†¢(¸19ŽóÝï~÷úë¯WUuÓ¦MSSS•JeéÒ¥¦i®\¹%wìØÑÝÝ1ômÛ¶ üö·¿}úé§ï¾ûn×uggg?úÑž*‰,ÒPèÇIöìÙó†7¼á¿ÿû¿mÛ|ÛÛÞö£ýèñÇß°aÃÜÜÜ»Þõ®}ìc¸j­Y³æïÿþïÿê¯þêp@ÓO>yûí··€È³Ï>{ddäºë®;Ú÷966†èúq~úÓŸÖ4 1R©”ÉdþáþáÊ+¯Ä'¯Y³æŽ;îøÜç>÷Á~±‰Ä׿þuœ+•JÈÁ˯¯¯ï¼óÎûÄ'>B†çœsÎÚµkßûÞ÷ªªºk×®þþ~œ­‚@–eMÓüñT*uÝuשªZ*•Þö¶·éºþ»ßýndd$—Ë]rÉ%wÞy'⼈“â˜ØÑ •J™2Žãär9Ã0PܱR© A066–N§Óét­VÛ¿†}}}BˆíÛ·ŸvÚiQõôô4#ì;xê_:7Á_eÀô˜¼k@‚pc+â Ò¦½âµ£Ç$?F€?jo¹09~}ÞDp8°tQÊ[èa b!"1B¸D˜ q(Ę:ðÐú{-ÁhÆžË9£ 3õ˜)’lhfSK€b²t*²˜T­6¼Èvpȧ!¡‚G²)JÀ êÇ“D®‹È¡µ/èc8ÅŠ¢­Z4‚ûï¿_Qì8†6ÝØ¤rq$ͪªÊ»ï¾ûN?ýtÆX¥RAÌâ™gžÙ·o_†CCCš¦}ÿûߟžžFõÁýû÷/]º{e8éÍ«×ë‰DB’Ú'÷Õ p@ еH;vìØºuk£Ñh4èÂm†ëºxÌS©¶}P4«Ùl†a(IR¡P°mÓ&]×S©T†Ï?ÿüÎ;ÇÇÇ«ÕêÀÀÀÌÌLgg'êM"±eppæmÛF°––œ¬=Ã…á%V2G&¢(êìì¼çž{Î>ûìÙÙÙb±˜L&¿õ­oÝzë­ïxÇ;`ddäóŸÿüƒ>ˆc Õjõ®»îZ¶lY2™\¿~ý~ô£n¸áCúÐþýû¿ño|á _¸úê«cCCCwÜqÇW¿úÕ7¢f'Þž­‘bd>†±gÏžááaÄtÀuÝ_ýêW›7o¾ûî»ñ}†ñË_þòÚk¯½è¢‹0eÿ»¿û;ÔYÀZ-Bž~úéÓN; E®¹æšk®¹«¾[o½õoÿöoß÷¾÷@¡P¸é¦›r¹Üøø¸eY×_=~^!ÄW¿úÕÁÁÁÖ1lÇ©èˆÑ²„H§Ó«W¯N$¨ÕE®}}}¾ïONNîÞ½ûMozÓòåË%IzòÉ'GGG…K–,Amàááágžyæ’K.I§ÓA`Ó«GJi½^O¥R¨Ì×ÓÓ³k×®;v˜¦¹nݺd29::úÐC]vÙeF£\.wvv¢•€çyûöí[½zu*•šœœ,—Ë«V­êïï—$éç?ÿ¹eYË–-Cs”Äê±^¯ONN&“É3Î8#Žã«¯¾?/Žžë¼$I(r(dE»vízë[ßzÿý÷wvvêºNY¾|ùÝwß}íµ×꺎ê­}}}žçMNN¢ðá^m æææ9…µýÜÜÜѾÏîînèïïß¿?n4Èt“$ UiÎ<óL¤\¡ò¢a=öÊ.ض-ËòÀÀ 7¢Ò¦â8$òÙÏ~Ö0ŒF£Q¯×ûûûçææFGGc===8_ÓÚ}`Ë–-Ÿüä'«ÕjWWJf®X±âÖ[oýЇ>†¡¦içž{îÃ?<<<ܲj‹ÿ¨>o.—Û»wïÐÐ!ä›ßüæ­·ÞŠm›õë×oܸ‘1ö½ï}ïñÇO$ï~÷»o¼ñÆþþ~$îܹszzÚ²,T]Å•üeòðö. Q{ÆPý‘P(Ä0ß$Çœˆ–6ä†D{•kG;Ž9¼p½õÅø£ßüsFÐ%…‰€j›„ÄáBâ’Ätë4–†z4Ù"¾&ôd³é{Í “Ì–J3T€çyqÄuMñšxŽà±e€a¦ÕJ³P€¤e誦* ƒ°éjTg‘ U$…±(Œš@â¶ä±(Š(…0 E¹‡††-Z¤ªªmÛ„d% dP­Vq;Ô4ͶmTþ€7¿ù͉D½P¥ï†††žy晾¾¾³Î: «£™™™‹/¾xnn®££‹–r¹\©T$IjIèµãU © ­Ñ‰3Ï<“Rжp8Ç‹cØ3M³ÙlbþÝÛÛ;33ÓÕÕ577—J¥*•Jww7v}ßWUÕ4ÍçŸþÒK/­V«ùÜÿcïÍãì¨Êôñ÷œªº·î¾÷½½¯ÙCØÂÅ0ˆŒÂ(*~%øaQDeq@P>FPFPÙ!ÂŒD‡qÄ [6’tgéõîû½µŸóûãí.:¾1q†ðë>E§R]U÷žªsÎû¼Ïû<‘þ~ÔÙB+t C’?Š ¢n¼=f¾7CÐ}÷Ÿ˜EL¥R'tH¸Ïår§œr ßþç>çœs~úÓŸ‹E§ÓùÑ~‰ß¡P¨T*mÞ¼¹X,vtt¼ýöÛûØÇïƒúЇ>ö±!p iÆ`¸üUUµ³³5É{zzþüç?+Šb£ (î¸aÆK.¹äøƒ­L)IÒý×=ñÄ!! ,•‚ }µ+®¸âÃþð9çœsÊ)§ÌŸ?K‰ÄÀÀÀÙgŸ*@ùJmmmš¦ýË¿ü >’$555† áìËø>hXû Š"r£êõúÎ;W­Z¥ª*RßS©Tggç 'œ`šæ[o½uÄG´´´ !" ‚ är9¤£‡B!¬zCÝAì§¥Z­b< !úЇ0ÐÅ÷h4 …° sŽê'µZmppðøã×4mûöí]]]‹-Êçó†a,Z´hóæÍ}}}¨þàñxðAEÐÜívkš–H$vïÞ CCC^¯÷PÈúG>þlYú;˜¦ér¹1ù§ú§k®¹kÑ|zll, úýþ›o¾ù#ùH£ó_yå•—\rÉ5×\ƒ¬¥l6{óÍ7_yå•3½OÓ4“Éd[[[SSXwtt ¬P©TæÎ‹÷¶gÏ¿ßÿ“Ÿüäüóσ©T © 8qÎQ†ƒsîóù*• š_Z–…J¡Pxâ‰'¾øÅ/¢k#2bdYFç£Z­¶~ýzÄEÍ]×ÛÛÛwïÞö«º®Ÿzê©wÝu—Çã©×ëhcÇg 4 ƒlddxà{ï½·¯¯OQ”•+W^ýõð­o}ëÙgŸ}æ™gî½÷Þn¸áá‡ÆGñ¯jµZ,Ñ­³ÑüÓÙæ1 PŸ“ŽÇ}%P-&òÇ·œ“Y”a¶Í¶èR|ßÙDÜÏ€>“€ ÞÚ´Ç*öHïâ{›ƒ¤h >Q¹À4MÕõª×íq'ñfKÄí£YuÔÏÊ¡š/"8!ˆ2” Y‘B!—N€àwp¨e¸  ¢ƒ¦ƒS¯ÓQ+Dó«Lr‰aÙJ§ò.J‚€dþÉ¢w3:g*ö3¥§ Â“Õõ­AÜçóåóÙT*uôÑGoÛ¶­§§ç¨£Ž²íl|mÌÐ5Ú.Þ¬DÍCá:Ð4 ß «ººº`BÉ q18™3gN¹\Îf³ÇüÐÐP__ŸÃáÐuö5:L»ûPY€J’T«Õ°C‹ÅâÐÐÐa‡600Ð×ׇªìØk¸:Á¬þ"æ·qYßÔÔ„Q à<>Òˆ%éºÞ×ׇu¤¹|­Î½^/ÚÎÅãñP0TWê[·níîîÆl9j@þo¾SL7ì¢ÖFÇ«ªj!¶·Â~ŽŸðF7{ǧ]Ù&ã)ö=`6xxx¸½½¹ ûÇ2c˜QÄW=2Qz=›ÍÚôl6ÐuBQI’z衇zè7¿ùͼyóПRÓ4[swöUl[tœ€þ^9 IDATo¼ñÓŸþô¦M›î¾ûîçž{î‘GùøÇ?n×àLÖËœ<"#?æZg×ï&IʸÝn„LÓDmLDÄüg>ŸGÛD²ÙlOOÏ[o½åp8PTéoˆrƒA|t«Õ*zI ÏŸ,ËXI‡‚¯¾úªªªýýý²,yä‘7n<å”S<OWW×ÀÀ@$©×ëXÃÕÑÑÔ†3Ï<3•J!ÖÑѱ~ýzI’êõ:>º(­ÚÖÖ† s§ÓY(ð¹EÒ€ïý†_)La_ ¬ï¦Ëår8¥R ~»ÎÂëõ¢2âc=¶aÆ'žxÐ%9Y¶!ègœñæ›ožsÎ98_(Šræ™gžqƨ¾év»wíÚ…Œª|>ÅqÓÞ§ÓéDgÔÍ-•JmmmÅbŸ”çDPÀétþæ7¿yñÅï¼óNFPdatt´©©‰sŽ )ÞšXÕëuQÓét[[ÛóÏ?ßßßÿo|sÇ“ËåG&I’×ëµÝvÇØØXGG‡išh>‚0±ÏçÛºu+ª„†B¼3í]×UUÅÞqÇsçέ×ë’$]uÕU'Ÿ|ò“O>9þ|ֽ馛.\xË-·„B¡l6‹ó/NÁÅb±Qa÷&Ês¨ªŠ7V0iš)Š¢×Ìf³¿þŸß=õÔS‡~x]©–J%Y–¢Ñè7þí_EQ, .—«RQ].®p~D¹âÙAo¶Í¶™®6AŽÔ‡;]Q”ŽŽ6ñFÍ‘w1‰`ŒA …BHòù|H¨A{ )¢º®—J¥îîîèîîF¥L„}ÍËv²Ôž¦5]! ᜛¦îñx¶Ð0µ×_{SÓ•E‹îرíë߸"—Ëú|^¿ßoÚ¾Âø³ËéÙ6Ûþž6Eƒlò’W¿³@Ãß@Ç+¾póÎø›JedY²Lojq‰þs?ó%¯ßU¬U˜C¶ˆ`€îG»‘èLPè€&š„SJ™àqùƒžp!SÓV+ …ZãGQ+BÉ;ÉØYØßßt]Å"Á@0 õõõa)zDÍ(éÜ, C‚‡C¡Š{ÍöÈ»Œ0Aa˜†Ûíîîî¥RiÉ’%Ó ¸Èþû]×].—$IhåÅ9GŽ}¹\F-I»¸ÊÞ#(Ãdˆaÿ7iç»(¥¨‹iYÖ%—\rÅW`Õwÿ7ÞxöÙgcÖÑ4Ín¸}[†††n¹å–þð‡¨sqùå—ßx㌱Ï|æ3»wï>ÿüóo»í6EQ\.W__ߦM›–/_^*•Ün7Æoªªb€a÷f<¿å–[xà7ÞxCÓ´––ÔI‰Åb˜Ó»ì²Ë®¿þz—ËuöÙgsÎÏ?ÿü‡~EAò 2#>ñ‰O\vÙe'žxâØØØúõë±ÄZÓ´Ë/¿ü?øA±Xüò—¿œL&¿ûÝïÞ~ûí‰D×å¸,FíôP(4‹2¼o¢œsTÈs:@€1æóùlÆ>ÚLˆ¢FQ‡õ_†††Òét½^ojjBœÂãñ ¡Z­:ŽææfŬ,!¤V«á âñx4MC9†¾Ùl}kp»Ý˜—Îçó§œrÊàà  @ NcÊ1¤K`­D2™ôûý>Ÿ/—ËY–…ÔAPo¨\.cØy¨ô‹-à‚ß¿eY±XlttÔãñ¸Ýî¶¶6Y–_xá…Ã; EQb±ØªU«Ö¯_ÿàƒ&“É… V*”LB!gÆXµZµ,kÓ¦MwÜqGKK rø.\xùå—_~ùåHBÄQ( Ë`?õ𦡠äÀÀ€®ë“y(Ò‰°ÑèèèÍ7ß|ýõף´ªªn·;‘H *2`Oe³Y kµZ$q»ÝßùÎw¶nÝúË_þR×õZ­f[N8DPa±£££R©D"‘`0ˆ~o¿ýö 'œ€Òõz= !Ž›™®g°–A7¬eC¾O©TJ§Ó@©–e‹Å|> Ã®]»"ÙµkšO7š'»àMnº®:.J‰®ëŠ ²Ó=oÞÜD"žËå2™t¡»ÿ'÷¾úêúÓN[þê†×Ú<-“%gG¹Ù6Û"Ê0î³÷z{üÝl~ŸÇã1á …>ÿùÏßu×]çœsŽÏç;î¸ãþú׿b0¶bÅŠh4zå•W~å+_éèèøÎw¾ƒé8Œ1peßÜÜ\žh³2+ï›ys°ˆHjšfšæŽ;æÍ›‡LTíÁÚÛÛÇÆÆ(¥N§SQ”t:u¢(vuuéº^(pŠAeŸt:íóù°j ‡Z­†8Z.— Hã/‹»víÚ¶m[*•:ùä“wˆÇã›7o6 £§§Çëõb¼JÙ±cÇܹs)¥Édò¥—^:öØc1LÇ㨃K)­Õj6lH¥R˜R9t]_·nÝÿüÏÿüð‡?ÄÊ ðù|åru‘–‰D4MÃB0ÒñŠ^¯WÓ44hôz½ëׯ?öØcm  Ñh‰Wéïïïëë€d2‰~=N§sçÎÍÍÍŠ¢<ûì³kÖ¬Y½zu,³q[ ^¯A.´nii1 £Z­"ág?ûY2™üö·¿=66ÖÕÕU*•8çÈÿ"„ ¢‰C$inn¾ÿþûüã'“ITçݸqã‚ ÛÛÛ+•Ê®]»ð)¥”"/ƶ‚>ðæóùPÖ„s …Pè²xñb˜°®T*ÍÍÍ­­­Í#Ù…6±¤íTÍËvéÄä=‚@8·€PË2ñwe§»©)úùÏŸ{÷Ýw^üå‹*•Ò1Ç,}îù?.[vÜŽÛ¼^ÿd avÙ<ÛfÛ߉2ØëjÆ.!íÑÃeŸþÖÄ —S 8ex¥\3¹æ’}K^600à’=—3RUT”À¸±ŸŠ/à”•”p œRŽº5´Ò¤” §¨£X¨"pB‡vwuu5EÕ(e“£¦Ùõïiíím†¡O^Vbin£¨å~¦¬x¬ÿG˘¨—D©RUf;åÝ-@Ñ"cä,`‚erWNR«žc¥QÃf©TEÑãñ8Î`0ˆÅ¶ %.ˆ±†í½V=1²<ÔÌëõþô§?EŸ?TÎGU…K.¹äË_þ²ÏçÃÀ ã´g€/~ñ‹N§qÎùÈÈHkk«,ËçŸþYg…Ë}\Ðc¬þ¹Ï}î„NèèèÈårårY–å)y׻ロ¶&%FVÅbÑëõÚGúýþüã¨ÕZ¯×Ýn·išˆ/ T;.¬W¬Xñ¹Ï}kj°ÿ±±±ÓN;mݺu˜Ê€±±±ææfE ~›m1ÛÞÍápØõÛ¨Ÿ/Šb&“yöÙg‘|îõz‰„ÛíŽÇãsçÎ}å•WvìØQ(<O(ÂØ¯P(¼úê«K—.mkkkkk{ê©§öìÙ3oÞ¼SO=G»ÀÁ4ÍææfA0ýÒK/ar; Í›7+°LÓDÂmÛ¶õ÷÷¯X±¢^¯¿ùæ›sæÌùð‡?¼mÛ¶gžy&•J-\¸pñâÅ‹/6 CÓ4¿ß¿k×®l6ëp8²Ùì©§žF].W¡P(•J¿ÿýï …‚¦i+V¬8$úë )¥Xª†úsçÎ}衇  ‹Å;vŒyæ™8züéOzà~õ«_555![dll UUµ,ëŒ3ÎxüñÇQµñ¸ãŽ[¹rå%—\‚¬¥d2y÷ÝwwÜqöLýÍo~síÚµ"»\®F¥84E"„–.]j§ñ‰„ÃáøÝï~wÇwÜwß}8" Ì›7¯^¯£„¤Ãá@7ßþþþÅ‹#Àêr¹FFFB¡ÐO~ò“_|ñ®»îjnn®V«(±eËüøÁ`ð³ŸýìÚµk‰cì¼óÎûò—¿|Ûm·]pÁ‰DbíÚµk×®½ýöÛ;::†††ÚÛÛï¿ÿþã?«xÐc+)fÔ‚£.Nˆ¡PhhhƒÿjµÇ«Õ*g(Š‚þHÄù%¶Ö¾óÔt€1ƹÅXL㌱LS¯3Æ9‡ƒ—^öUË2<÷Xr¨··sý__îëëSêš½º›EfÛl;(XÃ;tJa‚º;Yš}hø›+qdLXæ ^À™ä”-Õt¹²,ëu(—ë`º}.9ì &ဌı—â.N(pJ8-‰rb1X@p \¨Öt–×år»Ý7 4…CAÒ)át¢/§fیڮ]»%i\.aŒºok„ôÏ4€Ä°s)H\,—Ë„Ÿ/4Û)ï¢a†Ù!9|>Ê¢nRTöe4ì?uàMÓ4I’ÐâÓž˜øÂE•ý’"Êð|OÉtíoþÖG¹/;´Ædša[·n]°`®³1A‡-x–CB žÏçC¡­If3½Q¿££C×u”\µ3]þiš¶lÙ2;ìGˆµ!ƒÁ ÂMMM»wïöù|èKÂ~x (Š 1“ìp8Pë$˲°èßñ#¨ªªiZ Àª Ìf#i? RÐmùÉÙv¨—8\ ”æ÷û>úèD"qâ‰'â~”èçœçóùZ­vÒI'Õëõz½ Q·+k.»ì2¿ßoYVww÷ñÇÁ•íJƒ™yŒ?»»»%IÊf³½½½‰D$|Ì‚Á R$EÁ¼7ÑÓéô‘G‰ña{{ûœ9s|>Þy­V+ >Ÿï¨£Ž²pq?>ÿ---§Ÿ~ºE?Tì-A0M·HgÀú©n¸á¢‹.ºè¢‹òùüG>ò‘ÓO?ý¨£ŽŽÇãwÞy§,ËøÀЗ4‘H‚ðøã‹ELpXˆÅbÅbñ¦›nZ¹råM7Ý„–]]]óæÍ»îºëÐÓzdd$ŸÏ‹¢ˆïþ~D1]!Âg?ûÙ]»vÀŠ+ŠÅâ#<Ò××÷׿þõúë¯?üðÃ/¸à¯×;<<‹Å!·ß~ûGQ*•cccc\pAssóŸÿüç|à¢(¾ôÒK­­­©TêÑGu8't!$ ÈO<¿ˆØ­`]{íµO=õÔI'$IÒÉ'Ÿ|óÍ7£ÿN(Ò4íõ×_¿ôÒK‘MÀ9oêᅥ¡ªª®ë¨Å«ë:’û4MëììD^!*ŠFQÏHEDÖPèÇ–2ÙO<3%° †¡BEQ¤TNMÓ@ú !<‹VkeMSÜG4)—Ë¢à˜-˜m³í`ÍS¼Þ(¦B„ÌŠAʰ·$PàÀ)µLÎ9KÐêf[sgÁY“¯ÓA•€èŒÎ 'lÜ´€‹|¼þ‚¢B¤d!£±€LdY9}~U3D§SvËÅj6ÜTÔ Pê&Ä1[+q°Z<§°Þ¥Œ÷?,Š)â ™¸dŽ2Wõº>Û)ïnŠø‚ h熥ÔÈn$  ƒ؃6µý‘ŒP*•b±rªa‚½œËå0f°ë&DQD”C¤Ÿ`0‰ÉaÌcb7¼@¹x¤LÛüÄAÞƒbŸ³íïÁ‚¦j‘×è0ζьišè2£ë:¢øÄJ’T­V±UîðùǘÃZÀ¢ ¬ÔÈçómmmÃÃÃ(ÐÚÚ*IÒŽ;°°H„íÛ·«ª:þüùóççóy|YPÑVÉf³ÈŒÈÔ“eñMÓløü~­VC³C4|ï£ ˆÈÛt”tY²d ªŽI’¤( BB~¿¿©©)—Ë¡5ŒËåÚ½{w[[[{{{.—K$X«E88Ž|6çÈ•ˆÅbø‚£É± è?úÔSOÝwß}ÃÃÃ~¿I¬Û·Õjµp8¼gÏžŽŽT(ˆF£###±XDÕRãgÉ’Å•J¥¥%Xg$2 ‹s‰DÊå2·Xgg'Û½{g<ïîîL¥Æâñf$, Øgggg2™tË.‡ÓaêV(kikninnkkS¥µµ"˜E„CWww¥Z1,óå—_îííýûUl+• ºiœ~úé###‘HdÏž=ñxü•W^9ñÄ1…ÓÑÑ188ˆÅ ©TŠ1†(ŽÕŠ¢(в׉)¥¢Îݲ˜eY&S9'„’C*•ŠK_œËeòùl$ñx<7nìéé­×ÔY:Ãl›m±ÑI¯¤=JÛù¼q a2bßùäjÿ/§Dî--v(¡2S¬Ñu]WÍï÷B²Ù¼Ûímoo}óÍ‹—,Ú½{·$I±h(›Ív´·°˜UwúÄ‘‘d¼)\*«±X ]ß !ÑhdçΉD¢VW’èóy‹Å²×ë­ÕjÅR©)Õt“$ç„]³—1&¡ù³ÛëVƒµ«WI$òyƒ¥RÓz(¥iºÍW«U,S¯V«ÐÑÑ122âõzqqƒŸ¯V«…B¡t:ÝÝÕÝ?ÐßÛÛ‹ôÂeÇ/Û¼es{{»(Џ>óù|˜HGW³J¥âñx|^_©\BÉeŸÏ‡vV²,g³Ù¶¶6T‡FË+TDïh¯×‹ÜEÃàè=‹«([LerªŸ+Ô©‡Ã(I Ëå2ª1¡pôm‚‰ÎâØÁmg:#´\d;}s¹dÓ´Œ‰†Ô_·[éêì( .— µ»B*&!kª‘Š9¹q•ï÷ûÑ®P(Ä¢±í;¶Ï3^þËËXöÝ{vÇãq\ªÚøŠ¢B|^ßàÐ`,Ãø_";À€«ôÑd#Û¾;Wù¨"†Ô_TPÇ0chh¨·§·V×îFNÄ»°4ŸQÃd&¦F±wîg|ÀÕ¡ÃíÛÍÎõ!ÊS–³öø‹6´‡ûQ Ín¸EÑFˆð·(¥öu1ÖÂøm2„?`(5`²Ýéí³ï9ûÞ€}ü+¢ ïmüÿaC >ð¢(&“I·ÛÓ{nýD)¢S*¼sûAÂÇÕža‘q€ŽøÈÙ¯0žÄ®6BEF¤ÆØ¥ Õj÷ˆ¢ˆ¥ò¨,€'ÿØÇ>†×Åù/Š# Vd”J%”Ùóûýöè2“†V–•ËeF߃õ>µZ-[–…ò7áp8ŸÏ»ÝnÃÐÜn¹PÈE"‘\.W«Uñ´sçÎx<^¯«ºnºÝ^M3‚Á0c¬P*JNÑdF¹Z’1Y–Á˜ úMÓd&„Bš¢ºeY7M·ËÉ9㜡2·eZ„JÀ2uQ ?ÿÏ5hj8„¸žžü {<‚¦ÍÍ­¦É€RQUõp8ÌÀrû\„óºV%@%§h˜šìrà’Œ`šZg–«VJ@y¼%& ‚njþ€·V«8!\¤"·˜ná`„r`ÀN ŽiŠN9Eš4E÷º}ªªƒaN˜¢©M‰#@9ÔõºàtK¿êš«Q³Üfg¨ªº ¤i …`0˜Ïç)¥ÈäBŸjµ:22"Z®¬àð›Ífñ@÷ ìÀkˆ¸Å½Œ"&¿ƒ¡Tpš @LN¬!¹eÊN©R*@8á«–kÍñV¥¦V«õ@ Ë2ªQ \(¦ ÜÏL¡Š™Žo ÏOØA¹î~Ü=V\ð÷_—cdJÂ÷ù.âÁƒÑ”sü@C‚¡ŸÁ÷?CÍ86ÓG¨V«£Ø™ÏçS5+ïêõú8²À,F€sK \¤ ˆ"2ìlÛšw\Ég—>ö0‡uÔrK’äóù"‘ÈÐÐP8îêêªV«›6m:üˆÅCCCn—Óáp0ÓÒU­ eMÓ*•Š?àî›Ó•N§NW:“kjŠcØ“Îä:»z‡ÖuýÍ7ß\²dÉ[o½µlÙ²H$4<wÎ\Ã4’ɤËå …B¢ –J¥‘‘‘h4êõx³¹,†7X`‰yZDôC¡˜ªª•JŶUÃU×uŒWu]G²¨Ïç ¼ÆbÑááÔ#ÄBÇ›`L8Öð.ðMø;QKb]I(èÓ—˜jmm-WÊÝÝÝñ¦¸Å¬É+iQC¡ÅR1Nwvt&SI”ÞÀUuS¬)I7Åš6mÞ4þüT: ?°ìÙ\¶«³+™JBü~¿Ïë€L6à ‡Ã;wíìéî©Õko¼ñÆ¢E‹\²«X*Æ›âÕÚ8—ïA€‰ä6)8àb$´,˲, T0-³P(àƒÑÛÓ[,Ýn·Ûí&@êJ_áÙÁy¶½oªˆ¢ˆEì¨>°{÷nšm¾åÛ®+“‡—÷_s:¹\™†Xî„@‡Ã„Ù1*Ú •Ëe$=¹Ýn{‘C‰„Én?¥€+¥É*9xIƃXBPXÒ29kß`c |9Ñ+´\­"L¸ÁßÂù×N½ŒŸŠÆ£Æ±,@O§@q8E‰Ê@e§¢ÖìsŠ‚ƒS@q-G8EµqÎ)†d„“ñ-p€q2A¬—#̰?áøÌúÅÎ$!>…÷†¹d„!ÅhÄ mHóý%2÷­ 'DœGŸú g²Ù,V-BЦ‘[P£Ò˜™®¢Z`Lþ=Ìܾ½Ñyfª5íù9æÆÉ îç 4ÌôºÌš¡{À´@C£ï³£ª1Æfô'„") ÍTôoxÊ÷3í<5 4Œ7ŸÏ‡ê>¨áÄ+‹Éd2 ‹E”=GŸææfõêõ:™X–‰Å(¬iZ.—Ãß­T*Á`°­­mëÖ­sçÎÇãÙlöðÃß¶m›RJ±fc4j…B…B¥ƒs¹\&“Éd2¡PÈ–‰Âús$, ,‚èrŒ±qbÌoÛü–CÅËj? +`5M«×ë6oYÖ ,[¶LÅý;$Iêêìzkã[XæŠnϘîöz½~¿?N·´´Ôëõááážžž;w†Ãáp8œÎ¤O<áD‹Yº®ïÜ£(ŠÇãÉås­­­ÙlÖ0Œj­ªiV¡ËªªíÉT²«³+I{<—Ë¥ëúØØ˜ËåjkmST¥X,ê »_HI’&ªj¢("äÁ9Ç^6 # íû|ªªŠÂןÏçv»e§hŽ}m¢&Æ©C&ãÚÜœPUMQ¤µcÚkøE‘.=z) 샑pdëÛ[;;;‘؂Ϡ~¿?_È'â US±C¡P$)•K‹-æÀc±X:FòpµVMÄÅRQ×uäªØF$¡P¨Z«rÎ/^Œ56 qI›×€«a—ì2Lá?¤ëÛöïX†êb¸ŒønæóùB¡€ÃÖ~¿^ÕÙ6Û&ÄÈ"ÁÁÖááaÔÚ˜m ¬{“Ú0lÞÖÌû`=ÆÓ4 9zcccè˜hš&eGK¿ßŸH$B¡ËåªV«6›5B¡ $ Õz«†cŒ¾ƒ50“Û½˜3EÐfïÀ€Juz#[/fò—"i{1…c&¸ãÀ9gD–epœZŒ[çœY\*™Ö8 Y¤„ g„qn±wÆ9'€õº{UúnË™S ÓòœÎ(5o˜L¹¦›ºa1N!µº DÅ9ŽR ˆ@.5ÌètP£(Ë~þ'ÿuRéÄ ÚZMẮ÷Í™ ‡À0,IE›ö~ Ãú?ß0JlXÎ(°ßÏñ ˜8X@Ã?šÑ0S¥!`Á„?³ïßátÌð>göÜîðûý(:‹Ìktdž™PTÀYÉîh[¤lhxg„ŠM˜lDz$Å£ìs.—+‹­­­^¯M˜QU8—Ëáô†lÉ@ ÀëèèØ¶m[0´,«§§GÓ´W^yåÈ#ܹs'öú`E"TYÇÙõ‡ !(œJ¥²Ùì’%KFFF\.W:F– ¦gqšD–f½^Ïår‘HÄív¿òÊ+Ç{,D£Ñ@ 0::Šø·m: OÑðÿ°a<‰9ÔÙªÕjµZͲ¬p8<::‡b¯T+}}}¥RÉívûý~ÆšZ¡A.Ú°‚‘RŠá:FêJ½P(d2™žžžÎŽN<“ÉÔj5\ÇT«ÕZ­†HÙl6—ËÍ™3Ç0r¹ŒÉmEQ¢‘(®ª*J…!¼gYVKs‹a€Ï ¾“ ”JyY–‘È€@’Çã‘b¹RÇçÓétʲƒóq‰2Ÿ×‹†¶ïØ9wNO­®ÕV*•l¹2˜êYxȈ†)I~“¸JCZ‡¦i‰DS6—õx<¨¬¦zWWŠ2"a+B§1´´´PB}>JErÎKåR¡PàœwwuÇb1dy)ª‚"ðÕjµZ­Æb1—ì* XÏ\.—ÛZÛ Ãˆ„#/äEQÄ¡c²X7!$I#²0~“º®( 2±ÑµQ$$R9$‡¢*^ÛpôQG€a6<1 4̶÷S³#={E‚òuøÃf¿œý/|§Ô–OΟ¿ÿZ>Ÿ·Ó'¨ÓœH$æÍ›‡+,)—Ë…BaÏž=Hd§Ó‰r˜ îúÑ Š¢H»H‡Q>ÖØ«#`|º™bä”§÷bÐ5uЬ þVóÙÇãû)¡8µe{8çœ[ŒS.!¢dbMÂJ¢c§”¢@˜É˜(Nà _øË„!¸AðÞn`€>hø>2 XS‰aà-INÎ9¥"¥@»ººTUw»©(:‘.ŠQ¤ºnÎDŠN0Â)ß{ Œåö‹›ÀK|ºã)Óî…#étjÆ×K¥Ò[om‰ÇcŒAssÌápN²¤gËL>íýkúó7Ú6ºŸF[ˆ þ•M»Ÿ[0ýuœ§ÑýÌôx`dF÷/48¾Ñù=?kK©x0Μ͙áxÞ¨´¶1=3 ¡§·굚ªišf¸ÜnιËë©Õ”½NJÞ¹.›hè-öšÈ/¨×ëétZÓ4¯×‰DAH§ÓsçÎݱcš0›¦¹qãF¿ß‡±PÉ$Ø`TÇãñ8‚”Òz½>wî\´8–$©¹¹µsPóËŒUUÅùIUÕx<žL&»»»óù<‚÷è‰]¯×qÞÅúL,ù¶3Û…BaåÊ•÷Þ{/D"‘Ý»w#…q æ]1Q°Ÿ2¼C¥†¤œ×=×ëmiijmmň$J›·l^°`®ë¦i¢.7ÎýX¡àõzûûûeYnokO¥S‰D‚RúöÛo/Z¸(™JΟ?¿R®”Ê¥\>‡€ýððp0ŒF£¸âAÍY–?ó™Ïüö·¿ ƒªª^xá…™Læ¯ëÖu÷õ}õ«_=óÌ3»ººúûûƒÁ`8Ëæ²xȺG^Æ«m­ÍŒƒ¦ 0dZ{=Ÿ™LÆ~>‡F-Ë:ûì³ùË_"È ½¹T®Á$ù ;ßr¨,L‹Å"Â@è%µ ‚ uÔQ##CÑH´Z«& u§c÷/¾M¨Õ784(ËrS¬©X*6Åš`GÿŽ®®.Ã0N8á„¡¡¡\>ç÷ûEQÌf³¥R) F#Q,8Â:·ÛH$Þzë­D"‘Τ±¶ttT–eô2@éø×h4ŠôQ¬ÄE1 RB+Õ >‡öI¦i^tÑE/¼ð ƒa «^¯7ªÁ›m³íPl²,#v†À+c,º\® Ì~9ûh¦HyÛ³ïËÏ;·­T*( +Ë2ê9.B—Ëãó(¥¨žH1MÝj%IBAMË2€p 8`BEˆŠá„0(`˜ÅݘXs{ºÜϤéEàÖ¾.KìÄ;L„ýH÷ÇcÆEÔ€z½D)%„ˆ„Š¢(”ZS ”§ P9‡Y†É¬I‚{=ÂÞ·ú޽ú8ô@áö~ÂA°‰É–ì·Ìâ‚C$‡fZœä© Î]°ð7¿þ­äEAâÀ Ýdܨ(J‚iXÓž‡Ýw?ïÉ>( @ñï·€fï™òG¤â´û³Ù\kG›Ïë?ù”jkM@¡P-UŠÓÞ ˆÀ áÀa¯-ç|ÊžýoQk€ðHƒE„OÝr>ý~J(òu¦l-6³ãG±¦nÏí˜Ùy,`„ Ùåó¿ƒ5¬2f¸ê9å@a¦Œ‰L“iÏCÀÌÖÿét—£Á`Ðå"2f³y—ìFóD”N(' ?é,Ð0Þ<’@<WUUli Ýóù|{{{&“q¹\Åb±Z­‹E—Ë…¿®ëºÛí–e9—Ë-X° Z­z<ž‘‘œ wïÞÝÚÚŠéwôI^¶lÙŽ;B¡ÆH™L&¢cÓÀÀ!¤­­mË–-‰D´Þzë­žžEQ°ø çC·ÛÇQÙ¸R©¼ð ^¯×ívc¨ƒDnAPÓNÐ>Ô"”RŒååµëõ:Ji,;~™ÃáØ¾}{{{{<ŒÇãˆÑȲŒ!ŸnèÕjÈ9ç»÷ìöx<ªª¦R©E  ìp»ÝJµªz¡PX°`A&“)—Ë æ/¨ÕkÉdÒï÷7Åšò…|±XL$[7mBmÎO<±µµõþûïÿàIܼeóÕW_=66ö½ï}/„B!üÐÛ u a¢ÖT’$Y–ó…2†ÖXIaYV.—Ëår .¨Tª–eƒÁh$hZ㜎öØôæ›]mB¡XKVì…ÚdFÃ!¤U e§ÈTUæœ;ËbÕªV(^{íµc–ãt::;;ÛÚÚRéú–Y–%˲Ç=®mV­Uu]ooogŒŽz½^M×Òéôœ¾9»÷ìöûý¹\Žs^«Õz{{3™Œa}½}š®%Ç|>_(ªÖª¥R)‘H`® %²¹,!¤©©Éét"¹‡ÔÔZ¥RÁ,¨¬‘p¤V¯išfߧŬJ¥ …Þzýu)Âá°Cr€aD[gÛl;’tPŒP×õjµê÷ûâq³m¶aK&“8x ‚àv»Ñ5Ì— ÁMµZ- ‡£T*uvv¦R©`0ˆ";„æöÈÈãcŒ™Ƀ(ë#bõEI’p€,H €DP<”És·Sò­\ gÄF·m*ÂǶ0ĸ¸Ëäpʹ%€@)”BÆåh9X&kÜ¿S7tË$§ ;Çk"Æ$'Hv)ä‰ @,ŽÂÞÿybÿ$`ìãdkêˆËåÔ S¨(Q@wOïå—_Šy\Ãb–a2à(·Ø´çÆ÷ÝÿNĵOvX¤”"ÂççÀ˜Åy£l²$Óï—$Q‚Lº9‡R¥.˲Ó%šzƒûATh¶ãÓïŸ~ L8À-'À€Ð}·@À¾[Î9B9™²%dúãÃŒŽ'û‰[¡ÁýÀ8eê¶á~2ý~Ƨ9ÇøGýGÈôû9g38ãœ()Õ`z1ÈFXg# ”†k}ÂfDjÀ˜E *Úh*iŠ  É.7~Ha ¦9‘?³­Ææg§´ñ˜¤ZŹAUU¬äG"}&“™7o^µZM¥R{öì±, k¿Š  tm©TÊçó­­­¥R©···P(<ÿüóÇs *p꺾gÏž… *Š’L&Ëå2ÖÖëu˲Òé4(922‚—ˆF£ëÖ­;ꨣP$¢µµÕív£ÏN½•JellŒF“ÉdGGG4E8AH¥RMMM^¯º:yÐôŽ.>ŸÏét‹ÅT*e¦¢*cÉ1UU-\´k÷.ô(•JN§]÷ÆÆÆPA–e—˵yóæ£:ZUÕÎÎÎZ­FîíéíèÏ—Jét:‹ª*Ër<ß´yÓœ9sçðü~?Zš•k5·Ë½k÷®¯~õ«7ÿæl.›Éfššš®½öÚ¯}íkسX%÷£££˜uÁ2™jµÊ9¯†ðùp¥R*•°s[š›Ê•ºý|2ÆPŠÂçómß±ݹ‡z]E‘1ÖœˆŠ•ÉcÍÄZçáÙš¦Y1Œz½Ž4"·Ëaš¼V«iª¢z&›Ñu½¯·otl4‘H`ÿ:¯×kF&›Áþu¹\n·{Ó¦M‡->LUU»b%“ÍtuvmÞ²yxxXQ”ŽöŽj©dFKs˶íÛúúú(¥étÚÛíõz¼Ø5ëׯoinÙ²uË Ñ>RŠ^÷XNU­VQ°Y¯@@ÂE €i™X%ÅRE.u]O¦’È3’eY%Ñéôûü8,äÕ<Ž?³#ól{?5œ€p!‚õ†Ëåfõ¿‘¹šDLÛ+P|Ÿ2žÐWË²ÐæÉ4Í`0ŒXUµZ7MsË–·}ôQ4àü·ûºÃáÆcT­îp8&BEàŒ0Æ,œsJºÅ('n¯u¯ K*å"•ˆÀˆÅMfr‹›_p_j7sãë8ÓQþû«3ÐF ëp1ÓœP¥n˜œ1‹s`"DQpˆ’ ¸ ×Ôz±XTj¤©VjÜ^(Œ8eÉ´,ÃÔ(¥¢(02a E€³c®›v þÎêYÜïäŠ'…ôÈp>`:¸®ªT)€¢i—Kt84EqÈ2·, ûRI€R„çÓž‡[Ö~Ì®÷&¨Í‚ @8Xœãg8Á Ôj5·×[¯V]ÏãmŠFËÕªHé´÷3.B¹Ïy(¶îg†Ç3ÂaZ¦3Ù´ûÖ`Ó_·£ûþÀ÷ D˜þs# S¡dÍê™Ù¶ÑùgxÝ™iy E4º¥LLð™–N‚P©TLà ”z½þh¼)—ÍBá‰a™w¸ ¶–  ¶^Ã,ÐðN¦%‹Å§žzêÞ{ï}íµ×Ž9昳Î:ëœsÎÁP'“Éøýþæææ[o½õÎ;ïܺuëa‡v×]w~øáÏ>ûìí·ß¾nݺyóæ]|ñÅŸüä'cŸûÜç^|ñEEQ–,Y²uëÖH$F_~ùåH$ÒÕÕõæ›o¢}qww7&Õýë_·µµqÎ …Booo.—]¶lÙÝwßýï|§\.vØaË—/¿òÊ+±ç†‡‡Ÿyæ™5kÖlÞ¼Ùét~÷»ßmjjBIË|píÚµ[¶likk»ùæ›1'€Ô ”q¶½…Ý&IÒoûÛU«Vmذ¡··wÅŠguÖâE‹EJʵcléÒ¥ßþö·ÿû¿ÿ{Æ †aT*•T*õÇ?þqõêÕ/¼ðB{{û%—\rá…BŽ;î¸t:ÝÑÑ144äóùš››ÃáðÎ;Q³T*ɲ,ɲÏç3t½µ­íé§Ÿž7wÞÈèH¾Ç5!ÄïõŽŒuvv^~ùåHækã[K[ât:ß|óM z‘ ÿ /|÷»ßÝ´qãñË–}ö³Ÿ=ýôÓ[ZZÁ(•J¯¿þúš5kÖ®]«(ÊòåËO;í´‹/¾¸©)R*UŸzê©{î¹çõ×__ºtéYguÞyçüž@8|ß}?Y³f a>øÁÞwß}“ÝFÿÌùÞkªª>÷Üs?ûÙÏ^}õÕÞÞÞsÏ=÷Ì3ÏlokEIÓUìµk¯½öÉ'Ÿ|õÕWc¥b)›ËþéOÂþmkk»ôÒK/¸à8þøãS©TGGG*²ûwË–-======ÃÃç#‰tvvr¹®žžßýîw}½}cɱR¹är¹A „.X° ™LöõõÕ•ú“O>ùè£nܸqé񴧿Æ7ÐÓi èv‰*Ï>ûìªU«~ó›ß¨ªúáø _øÂG?úQŸÏ—J¥^xá…GyäÅ_loo¿ì²Ë.¼ðÂd*iYÖƒ«|ä‘G^~ùåX,ö™Ï|æ _øBWW×ìà<ÛÞ7 ]1îÂÚ1žýr ™"¼ßHÿPo¨…äv»mG¡žžž ÕªŠ ˜‚ ȲìtJ‰D‚¡^¯ãB<›Íz½Þb± ùa\2“ØZ ¦Á Ã0,Æ€ ɨàp ¢CöDB5ÓÐÍñçs¼nÂ"œ›”‰ùbašÀL l_-t4@H,Á?!¡gãF"îG¯nADofU×uË2ЧYÑ4J$ŸÛ#JÔ2­æ„ˆAd„PN÷ Òǵ'9ÐIWn£0Î} „kN)CeJh+»½7 §p¯?(HTÓ * &Æ Æˆ P‘¦ë–ª+²Ã5mí½eN£5€>6®%1iË!”Û{8XÌ–@¥)GâÖ4ؾûa’Ó”Xœ”«‡CVuMrºŒRÀÁ c¨ 0±`T¦½´×m´e„0àô·Œ! €î½%@€²ÏÊÉ4{ ã ø4%3:¾ÑF¦ßoq†DŽ)[Ö`?ÐÇØ|Êv"þGmö3-U›éñ›Þ ³Ñyfho9„<ЄŸ,ËžHÄäLÓŒ={ö„#Ñz½N &A™“¯kë2À„½%cLœ,c³_,äo# ”C£‹ETRüæ7¿yÛm·-_¾|Ë–-«V­ú⿈s†(Šù|¾^¯?öØc+W®<öØc±¾tõêÕßþö·ï¸ãŽ_üâýýý·ÞzëgœÑ××—J¥Ð,ËéUU圻\®@ P©T0' …’€Î—™LÆét{챚¦E"Jém·Ý¶jÕªùóçëº~üñÇ÷ööžzꩦi¾öÚk·ÜrËõ×_òÉ'g2™o~ó›çž{îðð°$I·Þzë3Ï<ãr¹¿öµ¯]}õÕ¨(Åp†)¢#Sjí@÷ ‡¸o¼ñÆ—¾ô¥5kÖ|ðƒÌd2×\sÍUÿvÕÐð?ªT*†ax½ÞU«VýèG?:餓R©çü¥—^úÚ×¾öÀ¬^½zttôßøÆe—^¶yËæ9s挎Ž.^´kPã3ãZ'“Élß¾½·»»P*¡5úÎ;kõZ0L¥RÑh4‰T*A’dYÎf³œó––MעѨa7Þxã™gž‰Á§,Ë<òÈ-·Ürß}÷-]ºtãÆwÝu×¹çžëv¹Ñ†ºT*F½¥¹éóŸÿüu×]wã7¶¶&~þó'þøÇ?‹E—« ŸÏÿøÇË—/ߺuëªU«Ün÷žÁ‘R±¸fÍšûî»/êºþïÿþï—]vÙ}÷ݧ(J,Òt ]*•ÊäÚ×÷r{óÍ7/ºè¢Ç{ìÄO½êª«¾òå‹ò…b¬© û×ív?øàƒ?þñO<ñÄt:m˜Æ_þò—+¯¼òž{îyøá‡3™Ì¿þë¿~é¢/íܵsîܹÉd²¯·+puÞÜÜŒì•r¹¼k×®žžžR©dš¦×ãÝúöÖZ½–H$R©*³Vª¤Š¸d×C=t÷Ýw¯ZµjéÒ¥úÓŸ®¼òÊk¯½öÔSOEõd€#]öšk®9ï¼ónºé¦9}sž}îÙûï¿ÿ“Ÿü$!ä/ùËW\ñàƒ>ú裣££_ÿú×/þÒÅ‚ Äãñ‡zè«_ýêÓO?=66výõ×ßtÓM<ðÀl”5ÛÞO™y ®ÆÆÆ"‘ˆÇãY»vm[[ÛG>ò‘ÿ“ûq8…B©m8#£µ“(ŠÓîo´€C["Q3™L,Ó4  ±® £Pd´! 9Óù·ÑùÿÑŒô9²•;‘®…féÿè~Á´H$‚K#Ã0ž}öÙeÇŸ@œNÉ0,à`ëUBD‘:NÝP}~¥¤\.sÎu•N5P*H‡Cbq¢©:qH’äê³DÊ8¸Ý^E©™¦©(J:Öus^+•@`_‘Hn0µ k1@Bc¦¡3‡CªÕ+µz¥\)z½^¬¼Ótætx’éRL]%„¸e8XõzÕ2L‡S”¨ ëª¦Ü∕rAUÊT8ç&g‡(»]À)gŒY–Iêt:E‡D„!—Ë%QAѵzMe`:²(9A09·,‹[–É€“qqhfš„rÂ9j&¯™çlÜ-sÊ~B‘‚ ;DEÓ™f‰§nZ‚ J’€2Ц3°"Ên0„pF8Î 2ER,Ú œ! !ãôz>‘Óçܺ*î%ÎG€ `„Œ™Œáš“ T)EëЩ ŒŠ’Å™Ûëã„)š‰5˧ËÍÌqR6sô*q¢V/xáœp¢Ó1ñ³ÅJ$Î@§ÏôJE±LJ×u8 S¶l<†›ºß04Œâl,lᢢ?N6[e¦9} ºÏr}âŸ>÷l6Ea²Û¨½æç „ LÆð ²ß#ü-³ÁxˆŠ*S´iÀ´Ìi×F㪃O €÷ëÚÓÀÎsBM/:Y„Å1%îŠ IDATötÄ aÙ~ÿöMâñŒ±iK(3Í lrOÙ%ÓÿTc“Kº!”úÁÿÍ8îùšÔT A—Ûƒ5ø–e¹ƒA„pâry¥.·À-ôqG.¿]8<Ëho}}}ÃÃ÷Þzëu×]÷©O}J„ÞÞÞïÿû¨öçv»÷ìÙ#B__ß9çœóÁ~PQt¬¼ýöÛ~øáN8!•J-Y²dõêÕ¢(nܸQÅŽŽŽz½¾uëÖX,æt:ƒÁ ,ËÉd†u]÷ûý.—kË–-‹/VUuîܹ[¶lÙ´iS"‘ˆF£årn¼ñÆ#<ߓիW_{íµ]tQ2™¼þú믾úêåË—@KKË/~ñ‹±±±ÖÖVÃ0Ö­[gYÖa‡ …¾ô¥/ýú׿>å”SÊå2rÞ:Õ×]wÝ3Ï<ÓÕÕ…2~?þx2•t»ÝåBe2GFF~úÓŸF"‘R©ÔÙÑ92:rÏ=÷¬]»¶··7'Ÿ|rxdxÑÂE;Þ~»»»{phÐápÄb±­[·b;NciFgGg$COJBÈ‚ù 2Ù ¥´§»gÛöm‚ ôõöYºîñxþ@­^üJKsËoûñ_ÿú×ßÿþ÷œó7Λ7ï·¿ýíÊ•+±L愜°páBI’‡Ãápÿ ˕úæ-ÛDQ<í´Ó(¥[¶lûÄ'>qÒI'µ47åò¥[n¹åºë®ûä'ÎÀ Ï÷¾÷½|>ßÙÑêñzðƒ$ Ã0b±ØW\±|ùrÔ-–ª†a8N·ËávE+ÕÚ!Ñ¿7ÞxãÓO?ÝÙÙéñÈmmm¿\û_ùBY’¤L:mš&öï3Ï<ƒ2`‰x"•NÝsÏ=O>ùdkkk ‚¿üå/GFGzº{6¾ñFWWW*r8¡`hûŽí², TH§Ó(VÒÚÒ›è_AÌ_Ëç8ç‰xbGÿQ»»º5Mó¸=ƒCƒ=ôÐøÃ#<Ò%»>zÚG‹×ïºë®³Î:+IÃ0J¥R"žØ²uK>ŸÿøÇ?‰DvïÙ}ÊòS-Z”ÏçÇ<ðÔSOõôôø}~ï\ïã?>4<ÔÞÖžùãÿØ×Û§jj8¾ùæ›8âˆÙ‘y¶½ÿš ¨f’$µ´´4òÿ_ÈœBP K Q,¹R©L»?™®Z­†éër¹Œ–F–eiš†¤zAl˧w4:¿Ù 8ˆÀ½8ž¼žnT|°š®ë¸PÆÜn7^Ôé”Ç#Ó J]«×ë–eèºnš,—ÏpE1Eq\:Q¤ç(ån±8¡Àéx¸Ë,ÝPuE/g ò0 °LÉç1ªEÀ|5# ‡ì` Y@çÔ¢ìl6˜”02^œŒÂo@ºn`è¤ëµjµ&"Á‰$*Z]¡’T«UtU%4EQµºËåTÕ:gÜ0‘]¼0n™:§Ô¤ã&hzÕ0 $- à ™°;êï @ L@P-D8Æ€“q«KJp°´q冽 öÖ*˜$Ühñ½Ž6õÈ){fV00ñó´õúe ï±û™é–3 ˆ6¿ƒ‘‰êþ‰ŸÇ½E&öÌ„yÑp+ÉÓïÇóãuäZŒß›{Ý¿ÍL±?ã0 *¹rkü9$:¯0˜ì ÊŠ~ð_Qòω{ˆ0ýñ¼Û^Ý>ïjß# ¿–=>2ÙQ¢¾¿1w:€CœàLÞBC—Šñã9‡É!À­é-de‚÷:?±ÿï Eúÿ±÷¥A’\Õ¹wË¥²öêê}º{ö¥gF3#@’…$4&$D#dGp8@` ¶yrØ8À˜EâÏþ‡y„ 6 [Øl6 F³1Ò,==½Uwuí•û½÷ý8Ýw²³ªZbÄ«ó#ÕSªÊºys©{¾óï#,¤Äë¿KUiƒßJøíë kñƒü`ÿþý=öØç>÷¹ùùyÀÔÇÆÆVWWS©è/$“É .¼éMoÊårsss ;wîwî\"‘ߺuk†µZ-ŸÏŒŒ@Çàüü¼a[¶lA¸@  Ñl6OŸ>=00Ïç[­ÖñãÇwïÞ-„8räˆbjjj~~~jjjvvöÉ'Ÿ/•Jwß}7!$›Íþô§?ݱc|xJ:tHJyþüù·½ímùÈG Ãp]ü S÷r?_/^¤”Nl™X*--..2ÆÆÇÇ ù¢tlt !„8ík^[oÔ›ÍfyµŒ:þ|"‘€”>™L.//9|döÊ,Ô‹\×-‹õzýàƒµÕÕr¹<<<ìy^2™|üGÃ’trbò''’Ü—,•J‡ÔLsçÎgOj´Û!FÙc?¶{÷î©É©¥ÒÒÿù‹ÿóµ¯}í3ŸùÌÙ³g'''>rúÌéo|ã?ü°çyA”W˦iÎÍÍ‹ÅT2µ{÷emÙ²åÏþìÏöìÚõ¶ûïãߘËåc?9yfÿþéÇüsŸûÜâÒ p2 ùÌüB)e†7Þx£ëº–eµÛí];·•J%Ã0LÓt]¤@Çá½}ûvp(@ …ÙÙÙÕÕÕn¸¡\.—J¥;v „†‡‡gfft]/ º®CÂà¥<&ÁÍÎó¼ééé‹/–Ëå‘‘‘ .¼â¯X+D[–®ë333œó]»v1ƶmÛN†a8ŽS.—9 ü°t»í¶ÛÊåòO<ñÚ×¾öÒ¥K`a ¥ ‚ ™L‚ŒâËý|­–˯zÕ«ªµªã8[·nÍçò.^h6›ˆóÅ¥E8Àå•e˲ÀK¢P(”J¥­[·RJ …ÂøØøOüxÏž=ã““Bˆ]»va„¯\¹’Éd!©T*JãhçΠbýÌùg®;x]i¹´sçÎPÈÒrIÓ4ÆØüü|n`àÜÓçnxÕ ¡S§O]¾|ùSŸúÔ#<2== ;Y^Yܵk×É“'§§§•/æÞ={ÛvdN…”˜"ÌÚÂ,…™˜jº‘Ð4MˆÐ¶[­Z­Ù¨cŒ‰¶f>Ýn#U›QÄoB¤ £€¼A^©T ìÀr¹8šƒiz¥Z«VÚaÃ0‚À35–Ëgò9׳ Ážç0FL]Óu=NfÒi*…äÂß CÁýP´ZíZ«‰)cªFÃ7Ú-Çq¸ ++ËHâT&b© #aÉ©ÀRbÂŒ&¤ #¤D„¬õ÷op xˆ’’«-ˆçcŒ!ÃÆK$åú6!åQ0(Hè•XïÕk)’XÛú!\?"‚I)%|$¤ÀK‰1ÅBHÄ¿kÚǃÂG„$B!¡ë®<¶EDtö (UÚhÓüÓw=¼ž>„øzr b–à‚#¿!Ãë§ÎÖÄ2Õàï®"”k[‰ ’±-•(R†"!0–’ ,8¤ò Äe(9>¦n)"¶•¡Pï‡-@Rè+j›´’¢x£° € êý:Õº¾q)°¤ˆÀûCÉa‹¸”Q˜ ŠÈšf¨R ¨1*&( 8&þF¯‹?¡7ÏfªÝgç–‡¢ëëR ø^xE}oà‡„b‚)¡^\ Éu]ÃXF­g6Ç$Dö|+»úgÔo $­k0 GŒÑ® ½,# å\#À¥Ti4H„1ÉPêäª3´ ö†«133ãºîõ×_ÿ¥/}騱cÃÃÙLæìÙ³Åb±V«MNN‚2¶®ë†a$“É………l6›Édn»í¶¯ýëÐmñÄOLNNZ–ÅÕþð‡¬Õj?ýéO/]º400Éd Ô,¥,—ËÙl²ß­[·ž?¾X,Z–533S,çççáÒüæ7¿yÏ=÷ÀºçßøF¡PÀ=zôþáÞøÆ7f2™'Ÿ|²X,`úÛ¿ýÛÛo¿Üž¾øÅ/¾úÕ¯FY–U©Tà㌱_ÀBášÆ«o¹åÿñ_óš×¤ÓiÎù©Ó§ÆÆÆ4MKf2`ßÉçcµZÍ4Mð½ýöÛÿíßþíõ¯½buuµÝnïß¿æ¡V«U«UÎùîÝ»¿ýío§ÒéF£Q©T|߇ކKçÏçóy˲\ϵ,ëûßÿþ7Þ8<4üøŸžžÞµs—bëÖ­µzíÊ•+Çÿä'?ùŸÿùŸ{÷î½xñâØØ0bšÍf±X¿ÒÑ‘Q„Љ'N\äúF£±{×îÙ+³×¹>¥Æðì•…íÛ·ßü+7\š¹òÇüÇwÝu×=÷ÜãºîM7Ýôå/ùرc###ºF.Í\õ\.'„h4í‘‘ÃГÉä@!Ûl9HCçÅZÍÿ qã7~åá¯ÝqÇ r233³eËÓÔ ƒƒ ²088çØ—f.½æ5¯yä‘GÞð†7BjõZ³Ùܳg<—«Õj¥RBìÚ¹ëÛßùvÎoXñ}ÿ™gžÙ½k÷ÓgÏæóyC7×±,ë‡ýðÀÃCçϜžžžÞ½k·z¬¿â†}ôÑ[o½µÙlV*•ù—1 syeY×õ•ò B(™Ljš–Ëæ†‡†§§§)¥Õju×öíü¯Î_8ûí·?òÈ#÷Üs¢Ñl´Ûíééip¿"˜X–eÛv½^O&“ý's?~É *冮„—¹cš¦ã8൩Vf›¼Þ+ÔŠÊu]ð¾Å–çy hý€°ü ŒÂ^û¿Ö@@$ª™ù¶l€UŠZ%Ã6]'¢AàyĶmÛ¶Y°æOdðB`,)ÁQ4¿„!—XJÒ…BÀÂ,‘H&¬”aYcⲕÒâji F iÈ"©Œ_KJÆ„`D F„ ]Ó42ƄФ4 Àe!¨ƒ6V2™’¡L×-×1ƾOt††† ;¶oK$ŒV»Ñn7}ÏÕ4šIY¹\nh¨8PÈßf‡Bº®ëÜ Âj¥^Z­úwƒP"Œ ³=¿¼Zm·Û¡À•ºm»^(× ‰š¦QÂ¨Ž¤ a)±ÐØÙ×u &÷Ñì!$q°É©éìˆ(úFT)@®÷ØwæWÑÀùBë’õa¥V#¢ˆ¼&rÝ"ÉÁ”`‰’ $%´ëûÁŸ°hÐ™Þ 4PŒ)Õ0^KiÁ{R˘ëüßMš0ÀC©Oˆ5ˆžn“®®ŒP*CÉ4SPÌ‘Š)ɾrKÑ5óy1ÑH`¶‘âô`4Ø¡§Àx¿äˆË˜›3`œ°…÷+NÍ£HJ` (øE1º2Ħ ±ýlòN`LlÎŒÀ˜ªï CCIƒß !BÎ¥” ÝŠ;†îwBHÈ^¿›RÊ èI²#H‚±€„_r!…à˜÷b4tXï¼ "ú^Œàf üX &II‚ v¯=ÌûKˆ©©)×ußúÖ·~þóŸ×uý–[n™››ûøÇ?þùÏ^1;;›L&Á”β¬¡¡!)e©Tš˜˜8vìØ'>ñ‰ÉÉÉ£GÎÌ̼÷½ïýØÇ>¦iÚ½÷ÞûÅ/~ñƒü 8ÛýÅ_üÅêê*clddÄó¼r¹¼cÇð5 ÃðÌ™3CCC­VkxxxË–-'Nœ˜œœlµZ®ëþÝßýÝÄÄÄÞ½{/]ºôÞ÷¾÷³ŸýìåË—ÓéôÛßþöO|â###¿ñ¿Q*•>þñ¿ûÝïqÏ|æ3“““8~üøc=vÏ=÷ضL&ƒ ;=JéËhøÝßýÝ|àŸÿü秦¦lÛ~衇þÊõz­Ýh Ó0Õ*¬êt]¯T*SSS¿ÿû¿ÿ¾÷½¯P(:t( Ã}èCŸúÔ§LÓÌf³õWõàƒbŒ¿üå/?üðíz}|l¼m·yNï›®Öªûxä‘Gnºé&€™níí®ç®”WŽ9Lø:Ïó¾ùÍo~îsŸ;~üx­VBìÙ½Çvìt:}ùòå‘‘‘7¼á Ÿþô§‡††lÛ.•JÿüÏÿ¼{÷nÇqÚv{÷îÝW®\ÉåŠ3—çÀ1aË–-û÷ï?~üøøøøèÈ (z}ú¾ÿÐC}úÓŸ6 £´°I[Í–S«Õ&¶ŒÖíÕåe?éTÂóRŽã˜¦É9?þÊøøøËâü¾óïüð‡?¼uëÖ‰‰‰Z­öÑ~ô+ÿô¥ ä•ÕÕB¡€^YZ‚ó«iZ¥Z™ššú½ßû½?ú£?>tèP»ÝþÓ?ýÓOúÓÉd2—Ëýõ_ÿõƒ>ˆú§¯üÓÃ?\-—‡‡üÀÃp÷®Ý­vëº#GàüBpã 7aP©VöOïG]¼tq`hhye¹P(¼ímoûÔ§>åyÞÍ7ßÜn·ÿýßÿýÿð]Ï5M3‚ÇŸƪ |õ͇ɯNW×qò*éj½na»G—¥8ÚÄ„Â8€ùWÙ,€ƒpŸ†¡ØFDqw¿ëü ³Í¢•a¯Ö0u¨À¢°×XN¨ìŠOQÆø\±iéz¤ÑWÔ±3›_]·yu„¡Ã9ç_½‰b’™]~}Vä7z¾ziåÄ0h5žu±ÒçÌh!Zo—X§8„ãú,l@ÎÎ ºzù¡uò¼ÒÖâìÙ³ÃÃÃï~÷»1Æ_ûÚ×ÞñŽwìÝ»÷õ¯}¥R!„‹EÐpJ$ Žã@·­Vû­ßú-˲ÞñŽwÌÎÎŽŽŽþïÿý¿áÇæ]ïzׇ>ô¡xž·wïÞ7¿ùÍ¥R Xî###­VË0Œ÷¿ÿý¯{Ý놿xñ¢âìÙ³ËËË…BáÔ©S»wï8zôèoÿöo_¼xñU¯zÕ‡?üá}ûöMLLT«Õ[o½uvvö _øÂ[Þò]×ÿüÏÿüСCçÏŸ×uýþûï¿÷Þ{m۾馛Ž;öš×¼F 8ù¾‚/÷óuôèQÎùüÁ\¼xñðáÃ÷ÝwßÓÏ<Ï熆žyæ™B¡°{ß¾R©4<<œN§kµšçyããã>øà‡>ô¡“O>961ñÐCŠ•jåÑG½ÿþû‡‡‡…7Þxã›Þô¦o}ë[Ë+Ë­V+›ËUª•………ûï¿ÿcûPâ[­V­^s”#÷îÝ›Éd¶LM9sfß¾}üÀƒ##[¶lÉår••íÅË—wlßQ©Vø_˜¦ù¾÷½¯Z­þê¯þj*™ÂÃxeeŲ¬B¡0?¿˜ÉdÞÿþ÷?ôÐC§OŸ®V«·ÜrËW¿úÕ /¿ëwß ×ço¾å-‡Ž¹ûî»…Ífóº#GM; Ãd2ézaµZ_\\Ôu=›Í‚(cxù2ˆ»îº‹òîw¿ûâÅ‹×]wÝ}÷Ýwyv¾PÈ?ýôÓ…BáÀ¡Cp~Mì×ëœó-[¶|ô£ýà?xâĉááá|°/ØŽý­o}ëþûïBÜtÓM÷Þ{ïw¾óJµÒn·s¹\³ÕŒžßz½^­V›­f…|áÌÙ3{÷î- `Ã(;zôh†_úÒ—~ý×}ddäï|çoþæoÖjµ\.×jµJ‹‹…|aqiqËø–~ðƒÿøÇ¡ ëÎ;ï|ç;ß©ëzê:üñ<>>þ±} LÐßtøÐa.¸iš©dªÿXîÇ/Y½œ1æ8”åiõbuóaŒOž<¹wï^J)䓞çæb××{ýt‚`¡ã8'Ože†™ÐtƒéÛgA£¡™T*ii~Ƚ@‚„›¶W…pÁî{" f‰DÂñ9! (\BV¿Fr&˜ Da%ØC(ÆXÊG\6TÎÀ%ê 4P‰(c”1Œ1â\rŽÖ*‚!íéÜ‚)ÅëÂqXÂÂ]€´©ºþ:§bíë`¤=˼ü/âãA*ƒ/…Ô ŒÖ3Eõ.)Q”»!×åF¥”bÓD72Ãäj»[¤’™®f!Â(íBÍ\QWÀzME4ÍŽæçQ`4ÐñÝu?ª¯ ­»9À`z%ê*½.;!ÄŽYZ@D[]ЦÍÑL[Á^ê’î…™öÚ[Ts!êšvúèí·ß¾¼¼œÉd–––@ÇζmÓ4WWWcÉdruuµV«mß¾ýìÙ³€t@Rª2É0 K¥Ò¾}û®\¹7a6›Õ4íòåËCCC‰Dáè6¿Ð7¹pŸ×ûcððUw§+õêUë0½Ð-"¥ô}|l|~a>™LÂ5:Ž âcÐö$|C7ž~æé\.çºn>Ÿ¯Õjét:—Í]¸x!•J¥Óé•••©É©Z½¦ÍV³ÕjÁs\J™N§+•J.—'‚\.sÞh4(¥PÁØ:µµR­@öèûaúAÀK¥ÅýûÚvKÓŒ‹ÏïŸÞ_­U…@…üRiYJ jËË剉ñZ­†þðÐà앹ááQÛn…¡’çrø»8ó|^¯× À“;XÌWªL&³¸¸8±eôÌÙ§·mÛ¦iÚ¥K—2™ÌÀÀ€ã´7Óæ}¡[…Ծн AÓ ðÓ9²™ôâR)›M£uåöd2é8tÃ%›16777>>N¹páÂÈȈmÛ‚(ÃÂâB2™L§ÓKKKc£cm»]¯×ÇFÇ\Ï…ó ™@:ö—?áüÐÐaFƒs·0øe>ß5zçïªÇB/1ç…¤ Çszå5d¨ Q‡ö30ËbãW'W;ðOÐpaŒЀ:ì0»\Ìh ÞêèlÂÄé<¿ê±V8ºæUÏ%ï‹ ʾ”GZŸ„c‚àÖP8,8Ù&ÀA7^ BDW5-» /—“ëº …§PMÓ€Î×4<‰À~en—R6›ÍT*µººŠÊà Q·¸¸X,«Õj2™DµZ­d2Y*•¦§§AK²^¯' „,¶Úí¶iš©Tjff!”J¥¤”—/_Þ±cG¥RiµZ™L¾v¿ýù|~ii ¾8üžç ‹FÛ5y€Â&7jT¹ä*^"‚ ô÷ ܵ›¶½ög s¡D"ÙR[…fø=€§6üÞçóùv»Ýn·‹Å"L/hd !*ÕJ>Ÿ‡wf³ÙZ½†RÀ9‚€,7‚Z½–Éd`©ŽhB8/µzâyÁ:ò®3F¶nÝÞn;aß·l™¬7Ú„0BH½ÑL$’ Ïóù|¶Õj0FÓëf6›v]›¤ë !â8mŒ¥¦Ñz£ µ ´Î¡j¶ÈNs¹\³åLLL„a†áÈÈ\ØëþÀ×h ?·¡ø~á’y.[B`oˆ1‚ ·Úv:Œ_¸ Ôª×÷ýB¡É9²eY®ë¶®Ý;¶mg2™V»…R˜¦ ×3\ š¦µÛm„P¡P>^.—çææ®¿þúóçÏïÚµkeecœËå–––<ÏÛ¾}{½^_XXØ»wïòò²mÛSSS«««ù|¾T*‹Ex"ÁÃíÔ©S×_½çyÿó?ÿók¿ök€žƒd¸~^kH• `éU(<ÏAÒ× ƒsn$´qŽÄÐØh½Q }Ïö|Ý0›†äžÓhe ­Ý¨Í"šN0Ó4-•Lzn 1 ØØfB„RŠ ’’û‚<$³OÓ˜èLÓ˜A¡Â¤)!¸BÊ€bI‘¤ëYR:“×uæû¾ãzaBÕŒ-“SÍfseµ<44d¥¡lÛæR4êµz­Öj6A Ú°ÌPj­eÖàÀHàµwn45R[.Ž æ³i„´VË^XXMg mÇ×²í¸Œj‰dš#W7#‘v<á:¾žÐu‚¨HrFÆÌ‚vÛN§³~(Â0$D0ÆÆ úš¦¢QªE{Ë…-+ª< æ„#Æ‘ˆR- ý0 ¤äêSRJÆt)D 8” ¦„„Dà…ëp"`Xˆ &1‚‰ÄˆâõŠ/Å 1¢Z3Ö¶c(ÑGZ3¢ ?cŒJ‰èšò„2”R¡®iRJ¾ÎNr-oI$,•„+! Œ±äRÉCH”ÀDÓ(cªoä]ýõ4>Z!‡ÇE” ¢~¬i„i/"‰,"©éz˜1Xª²#a‰8—rMÁ‚0‚±F5H:ƒµ„0Å”j‰’)pAW¦ hUDÓ‰DˆjZ,OÆ„LSCk¬|‰fDÓ¨±®é‚¡éq)¥¡ŒïFómJBQ¼&'‚$&k¤èx|8™LrÎmÛ>uêcìܹs[·n… Ü0Œf³900°ººzùòå³gÏA0== p©TªV«_üâµ¼;Nï{ß+—ËÍfsrrRÓ´±±T*ƒ ¿P(˜¦©iÚã?¾V× CŒñÈÈH©TúÞ÷¾wýõ׃8tž;wîÈ‘#årùòåËW®\9uêCnß¾]JyêÔ©K—.ÝrË-€rB|áÂ…±±±'Nü÷ÿ7ƸR©X–uÝu׋ÅÁÁA€$^Œ‡K  ŒF\Ê-…R$B)ÚØ*H$`áKD ÜŽAc,04ö ‰ˆÀH 0ÂÄ$’Pþ…²Ř#¼VZkÔ[±d2AÑu:e ÊfÓº®ƒð6´Nð0̈¨T×4M“-—+™”EÑ(£”j„茚šnhº®³€{á ÁÁ„\úaàzë^$ £:a2 $¦ ÓFeL"L¸ŒtF 1aˆKŠB?À”Eì«ådB$T—0ÖÐU]ö¢ì 0&´Ue¸Û﵄„ r *‘”CÎzuT ޤJ»mlåPEã."”Ñ¢.†(3" u£µ3úuÝ;êQ‡v€ú •w©¿áŸ] |Ä€†(ÓA}*–w– ¢oب>@”ýÚØ+ìuª¨‘Çö¬¦wsR@—ãÅXrѵµa³õ¤ôˆ"Œ½ *ªâè­2£‰V\¢’"êˆT=?æÎ=A]¿·sH1]†Î’b‚@E ¾Ý¡†Â]*C1Ɇ(РR¯ØØ4MSGÏuôl<¤shá³_‰Ò^¢ÊJÑ÷ÇÎ{L…Dýß>Ðð péûË¿üK†E"‘ø¨ÔýèG?úÑ~ô#‰D˜‰+++ ÔeÉ!„lÛÎf³‡ ‚ \.¯¬¬ €s^©T Îß}÷…aøýïXŠCCCA?~üàÁƒÇŽÓuýÂ… gÏž=zôèààà™3gÞûÞ÷Â:XÓ´ùùùÕÕÕR©455•Ïç)¥ð c,•JAê’J¥Z­ Ïó¼Z­†úÉO~öX–e]¾|ùòåËù|^×õ¥¥¥D"133“H$,Ë:sæŒëºÉdòìÙ³sss7Üp $ßýîw¿÷½ï8pàÈ‘#ßùÎw2™L»ÝN¥RFC×uØ>|ضíûî»OÍX£Ñ¨V«½ÄÞ^¬Üí60“ŸöÉֈܬ”sޱÄ@º^ëJRJ3a2‚‘”’d2‘ËåLÓDH„…DžãòÐO&“ƒÅb£Q+—+B? ¤‹½0ÈX Ý4$FívÛÐ(%ñ \Êt1&1Êæ3Aà#„5M£3I™¦QÆL+á†B¶ÝûaJ)%„RßñU–BÁ„2†Žç-ðÅÈ÷Bà ÄÒà®àjz£©šÊr7I,£•R¥K¡ái:E‚y‘úTi=èLq;_‰Ž?ú•GûÖŠ½RB¢ Šh›±èÞ:¿WM‘z½S`%úYõ£ý¢•ª –Ý©„P%äÑ ²‰XE]9¶lrïÄéÉ;M:sõn;XÇ€"G×+áGA…?:<èü¢ Ñ1Dgõª­£Ѥu4°tŘbó _nÔlD52@¦w™Biç5›eÙ9{Äv¥Šê=‰QTb…‹_ijV•q LÔõ#6ª¨öjQ>A1С4¼Dƒ‡ZYYf>\ý™éG?úÑ~ôã…‡ëºð«êû>°@ÏȶmÐT‚rôÞ½{ÇÆÆBÅb1•Jt«b~~~ûöíÛ¶môîÝ»çææ@6!tóÍ7oß¾ä„0Æßþö·ççç“Éd±XkÃ0 —äâÅ‹;wî-¯8ž›/äÒ¦k#ŒÖÒ˜DÒbJ¤’„„FÂLfºfRͤšÎ=®ºž0ó¡$-ÛGÄAK²¦Yˆ(‰¶Ö+$E¬±ÁXÏReŒ­Qî*µîPÑ—æuzLôšjޝR²;¥ÁTÍa6a4Äv¾yCw,=‹«KÒ5É·kÆúÔ9œ‰D"—Ï/,¯X©¤R`Ôrl­m¦R)¦kºiÄ9 ÓÌä²HZ¹lÖ÷šà)+“Íæ&®//ELgT#˜b‘ÄQD¨èKWbB%“Œ`ŒéšÞÜ‚"8–EóíXê ÁÑÿµ¹Ë€j%ˆå6Q¨Bð¥”\]û:Y*ÑÜ»“(u@:|…t¢Î\=¦Ë`£øE £éÌ«;sõ(ù<úbTi2&œ×é@û ยß-BŒÐI=ˆÍ3h Dß¶¹x¤ÊM{sû7 <<+ކºÞºÂC1ç´^ù‰M*[ÍAŽ¥ózîD¾ÐƆ³Ì•p(ºªFkÆ›Ë Æ&¶“)ë³P¼›nÀPÌkMb]ë!v¿ôº¯{ ¯“ ‚ú­/åÈf³–e­¬¬Œû¾ÔÇM|¼ûÑ~ô£ýèÇsÎùðððêê*¸¨%)xN!„’Éd&“´ÄAæ V`°^ Ãpbb¢T*Á²X×uJéÉ“'·nÝú–·¼%N#„–––þã?þtÎ;‡‚VPç¹ûî»]×5 ÞƒÖY—/_6M3ŸÏCáÑqœv»½ººúä“ORJßñŽwÀÊÛuÝoûÛ„Z­Æ9o4•J%‘H<ù䓯{ÝëÚív:ö}¿^¯g³Y@®V«Íf“²mÛ¶d2†a"‘H§ÓÀ„’†mÛà²F<¾ï/..ñ’T }õL)åâÙ?²–_!¹ £!FÐð Û¶Ûí¶a«««†a@ ¬¼û“Ó~ô£ýèÇ ÐB:wîÜž={àçUÑl6OŸ>],›Í&Øœ;wnÛ¶m໲²200²ÛÅb±\.ONN.//CA” ÇÉf³·ÜrK£Ñ€ær9BÈÒÒR7ß|3Øcƒoâ™3gcFctt´T*¥R©••JiµZM§Óð-š¦A iZ2™?ÅC‡ÏeF£V«I)MÓ§í§Ÿ~zxxX×õñññ‹/¦ÓéááaØs½^gŒ]¾|yÏž=ÍfÓ¶íT*U«Õ@`’R ®Þ€¡bÕŸHäóùL&æ;/Äà%Z—ÐßÄû m¬$¯e&Hn.4°žXIW‡‰B„&­¤e& M£SLe Ó$„ MO&¬FШת Œ%Â\ PŒ£ŒqÎ5C§“‚{žW,d²©\:—…‚¿a©Œfh줦©SÃt‚@k4á ‚ø’â<ŒV8 !SÆ&SJ¡˜`ŒC !`š4MHvJ€*j” ­¼(I;–éu4åù§’íèUz¦Z3:“Ceý¸ !çïLÉ¢g6š Š»>&[ƒ ¢mÿVAã=LNÌ^ucD/?¥éÐÉÈØDÓ!J „P Iò†:ö殇1?û¨DbggêÖl}½³/c]Žóê´«³Üõ6’=€‰M1ʦ®œhŸHlº¢¹1ŠÐ7b š(*±‰öAÔ³³M ö \á1)ÓhëA,ùï%&½z;1£ÎÖ ¸®¢rê¾èDbGôGô¢Š‚Ñ´Éø£{ˆÞ€} á¥cÛ¶wíÚõôÓOC[¦‚KûÑ~ô£ýèÇ ÈÛŸzê©ÉÉIÐ&àœ×jµÕÕÕ[n¹|+=Ïûá811á8NµZ½páÂääd"‘RŽ]¼xÑ4Ít:]¯×ðƒ4›Í\.¿àgΜٹs§®ëO<ñÄéÓ§çææFFF‚ hµZõz1FGG !¿ò+¿râĉÁÁÁmÛ¶]¹rÅó¼ÙÙÙƒ‚õõÜÜ4S¸® mFcvvvß¾} IyöìÙ¥¥% 0ض].—÷íÛ÷_ÿõ_õz}ß¾}€xž755uòäI0xÎf³çÏŸ¿í¶Ûcét:‚……ð^^^ž™™iµZžç5à/Š:ñ¬v(1H$–âY†MÖú]ƒ"#|2FtÓÔ4MJaÛv†˜Èd2™°²y„DúéLª0‚ V«UkõÀóm?CN(•R¦2i]בÉÑ¡üðð ½ÐCÙl6›7¥häÒ8‘H$õ„ã¦Y5Ö#ÒCJ±D< Rsu­O)e c!xìá«Ü{øi\n “G;ÌРÒ¨0+ÙõzOq8tÕPí9–ÿ¯5Mp.¥dAÝ ê»:)î±s½¹*a,AíìÆ&lŠ4•Ê„¥hP gt·j?Jk=‡25Z§BÄ^_7 Ø€&t{'èU|\)즉ˆ6Õeì:«] €€Ð ¯ë*ÙëÖK&“`Î9œ¦…­3eb=ðh#C†ª­@Qð+†§},va Þ ! íê¼sÎ5LzqmP·¶Ïó¢bê(zuu±cˆ¯‡²,Ô…Ò}$p¾Ô˜ÕMªZ0:¯¸þ£<&E…@kχÍÜÝ.¬^½+›PúcD¾üs@Ò (‹›ò‘^ÌØ„m»P7 V/}ã_šèuµ¿Oå‹2Ïqø‹'ØVÃó:Úðù’šŸMžÛ1ÞúîG?^ Ïz½>44‹3Ã0Ôj湬C®E Þpà —.]ZXXpÚî¸ãŽ0 MÓœŸŸwç®»îzä‘GšÍf>Ÿß¶mÛÄÄ,ËÆÇǃ øþ÷¿ý»wï^\\„¶…[o½õĉ?þøØØX†Åbñ•¯|å‚çy·ÜrË¿þë¿RJs¹Üäääøøx&“™œœ\XXøñœÍfGGGÇÆÆ gcœËå‚ X\\L&“£££årÙ¶ícÇŽ}÷»ßm6›û÷ïo·Ûõzs>00ív»X,zžW,[­Öž={\×=~üxµZM§ÓÓÓÓ@Ž‚àÎ;ïkgJ4¡êÔêWµÓh.„`QM êÞïì꿪Q×!©ãW.Q BÚˆ_ ˆ?E̲S£±þèÌ ;ÉðŠôÑÕ8õ6èZlï½€†MòhJ¯°¸»£‚ QJ¼Â®šSˆ«íQ‚¨ ÜJ„JqhˆÎC× E €_‡X“˳(Ñ [i.Ä´ ^ Р¶1o‘«ðžŒæ¨/FT4¤—åD ñQ-Ñ+3ÆÑ.ÖwÞ³åmdEovqKDôl} ¡ýèG?º„¡ ®¥híSâOýèG?^Hø¾O)m·ÛŠ< 9d¯¶ÿk½Þ°,+ºŽB@1ß²,Ð&@íØ±ƒ&Óœs0¿„L^B€œA£Ñ›É‘‘Îy>Ÿ/—Ë껀æÉd‚ cKÃ0€ƒ KF€ºÕ‡†ãŠ;ÿŽõkD['âãé¡ ¨Äù6&ö²—œM¯J{¯Ü/Z‘~.Ê©½iƨ"2D±€UƒÉúé A4¦t¸ÉW+EéîÙ‹vÐD÷[¿mâ“ò¬ç}“§Íóº/b'H]Ø1\&æÌûzí?*Jzõþ’¼Ðƒ„Ô§¢rÑë… ýÜ€†¾¸]?úÑ_Öh4@ücŒiLƒÊ¡ã8} ¡ýxá]BA’iš333###/ РÞÔß“ƒý$°@  ¨žçAî+0U€RUVÆX&“ªÆ€ Ã0@Üü2BétÔÔBÐË œ5!+Ö4Í0 µ¶ó<–ƒÐ¬Z”R0§„ 6À¶€` @yàœƒé¦6Œ9@çYñŸaTªø¦xÈœóT*uMÏ ´@ÛH"‘tŒ»FÌøzU0Æ\Œ FQ3KŒ$‘3„±ïû`2b&,Ð5PLï0…Œh”RnB„¡t]— Ð C×é>×u[-Ä3L]Ó4×µëõêêêÊääd¡PÈd2µzee©T.-Ûm_× „q.—ÃÍÏÌ.•ÇGGöìÚfÈð©'‘±üJÕŸc Šùc4D[b"‚]SÖ×@½²9ÐÐy ½Ö-Š,3‰ÞGÌ hVs"PXOÔASDêŒpÎI‡ ˆúÞN MÓ¢ò]½-cǽNº^®›§ÄÏýW¬«“eü6齇®`‡ÊùÖÿ„V£®šú]Ï{§=ªšŸ®@CtÎQ7²Æ& D}FC?úÑ~<¨×뚦ÁŠ3•J å¸?3ýèÇ 8„e¤Žù|~~~¾Ðp­CÙÎÅ:ºóù<Ðõ ÜA•÷u]WK^ÏóT–•J¥4Mƒd>›ÍB‚ â@ ‚ •JA¡vØ„F:VË;E=N„aŒ1ЧLj†š¦Á+Ð݆!0) ò,xiš‰Dˆ°XVç&À¤ ­«Žš|%$aYÂ5=/ããã*cq]weeeyyy† …A)”à¹ÄL¬!„cª1­m»3DH»Ý¾téR­ÕÔ Sv³R±mcÆã>x4‘† 8!Õº­ëˆR†ÒóDÈ4‘e馩åáܹsO?óÓååå§Ï] =¸BbŒ(±ÛíZ­æ¹n­V-ÍÏÕW—/åR?~ü‡¯›,ù¬_,ÝÄ8&Æ„ïZÒe³QÂ6œÊ¨¿ƒJ™¢„s…;ÄQí „‰ô# Žž‹^XC¥[Æ¥ì6;=ÚúS4Œæ«1f„ÊØ_xn ¥zе.u©èU¬îTÓLYѾE]~(ì; $uvÁÄ,9•뇺„žËõÙ) Ú™Z?_‘ï^¶ ]w.¥$= e·©$0¢Þ%ú¼"0ML5Ú\Ó){uoY¤€3Õórê$ã(®< NQÏŸÐÐg4ô£Ïki Ol„ÄÆ-íx…DÞߟK‰¨@a0'2Dˆ ‘D#\jL0•Ú*Â|e¥¼¼¼œÏæ<8:: &a1$1BDbD8ÄH)°diH2„ˆÀáý?öÞ¬WŽ+;\kïSÎ'ÏÀÃáPK*ª\eIåš<€Æ}öÓý?èŸÒýfø­ ø]}á²nÛ××vUÉ¥Ri$)Q$Ϙ™'‡÷°úaenÆÉÌC‰,JeY¹ RÉ<‘‘;vDìõ­o}@@ Ä Äã77±‰¯Yðb”KåRÊv»}ýúõápø÷ÿ÷—_èñdYÆ„Îd|±´ªªN§“e{LžŸŸ³Z˵Գ2ÎÉë¾e¾1ÿ$˲^¯w~~¾»»{||Ì\ïcÇ‹N¿žóù¿_š3(0N;Ž”2Ë2hänó(Š˜Ál6c™FÚœÍfI’4ÙlÆŒ æVpíÑÃ, î‰`g1MSþï¬[K~9ë=Ddš†”’Ý1ØqƒRî‚€Ð!8N9 @^ :t¬!B!i-0p¬µEA ”Ra ĬªFÇFƒS‚*CÔEÄB)eT¥5§±Ñh "X²ÐI‰RŠþÎ^)…bšM'£I¡‹Fœ$­æþÞŽ ‚l6=>;½ý~»×NÂ$nu*IBÈJÛñlz<†aØï÷·vw£@¥¥©N†'çúx0{ûýöó_ÞzùÆ;w?Ì‹i#ií^ùAŸœO2!ÕK·¾™•ež[ãDÒèlcXTÆ‘ Š g¹@LÓéáÃE¥Ï'iQjr¢×ëíííw»Ý$îXSÙJkgÉ¡#ÎYD‰HB(ÎSÖ­O?þH„$@Iè¤ ø5¿ïÀ‚C"KÖ-ùpÁ\¡%IB(@ 8"dq–¬³äój‘@”$\Yà¯_š¬­Á®mm€Ëe×2àrOõ_ª³Ãên/c‚x- [˜“q> h{* a3ZÚÏ* ´züõ#ôÞd±NF@”Üê"P Ñð–" A`"rœsÖ 'P9င#ë,: ±´EìÎRH¨„kÐ9 €ÖYpdÈ!ý5†%h‚!DB@€ùkñºª*¡dÈïgÖÖZnv[šlK÷Þú©¹ h¨ƒqµ¿!­õZFCQRÿŠ¥ó»„£­Ï¥@ÃeÜ’ËðOÛÙ²VÍõ?Çš‰«¦i»ÝžL&{{{L½æVƺ%,?­YÔš «¼Ñ—sîüüüúõëgggFc8¶Ûí,˸ÿ“ɰPý|ÅŸjÁwÙ|xÂq®N†:%ì²[ÞüÀ`]®O>ùäÕW^¥³û÷ï¿ôÒK\PªcŠ|#° ©ê:©”ʲlww÷èèˆ >W÷¯GÃN§5 ¢(i6“é4-ЬÑhEQP–œèÒÒöiõóºNÿ£Ås4 d؈ÆSP€¨òê|«} *ÈR Ä „²B£Â˜´(+9LÏãØ¶úÑ`ìî~òÞïýþï¤Óa6”l…‚O•Cë T4‹T™ˆ“hk ¦™±NÛÝÀEH)j8Ø ›øºÂ®Î±Ž@š¦¾%á{ßûÞfd6ñù€ª ͲV«ÅàP‰b2QdÖI¤z­Ö£É$OgB¨¤Ñ%”i©Q(Ô¦²T  AžÏJm ãP@•*RÊrš£Jí6dy ai[DçP…3ºÓ2+¦³^Øßînõû[I7/L‘„QÒjnmõe4²\t¶C©ú»Û‘ Ó4=;=?>>”yØéîí_Ë…ñVk8Ò鋯¿¡zÝOSxù{Ün5#yži­§„ÆX‡IJ©Fÿ¥¨çšÓt<WÚ°'ÈÙè¼%­^@XgOOäY‘çeQç°ßm´%ÉVY€B „°ä¬!Nð„D)©ÐšJH ¬5Äé½P2 àÐCKÖZgÁ Ž8"AäĔNjy¾Ç¼ ª×ã”2ÐF8 ²dÉ!¹ybBÊ Î )%…BgÕZIVå4~yÀ-KLÀ©k=pØZêΠ'3&.hFr˜×‡ ÙÔåÄI©:Á›#xê»÷Ѱ‹æ”:[¾ž‹ÎûtŒáqðаõ×E9Qä¯`ʲôŸáßâÓúàû¥5cˆµ‘—>›­ëbðZ÷ ‹yªe¼ 1²À<)OIðš—|8ÎaÀ:gœçL7$"!:g¬ãäYTˆ2 â0˜ƒ\ΦãØrd^Ÿ(PkË`™@YciëðûsUH\Ö2³VŽÑw¯ø1ñcÅ7O@ó½$Zk°N8@‰À’Saà´5ÖjA@¥J OÅbÇ\žÛ ¹²5RÛb]žº C8¨3€æ×°K­‡p‰KEäg‚wQ©7à,y¯Ô÷¶ixÆØß߇Ƙÿ÷ŸN§³ÙìììLJ¹³³ãeù|øó0™éçkQ,ìÔétŽ_yå•[·n]¿~=I’Á`ÀuŒV«ÅJøuUÛM<—`*¬Ga§³é½{÷²,û‹¿ø Gæ+Üß1ù,°T³Iƒ àó»³³3ã8fÙ­?þø7Þxá…nÞ¼9N˲ìt:l¨¾@.ÝÊvÏóôކð‹w~E˜†Ÿ”ú¡Óå¯f›´ÏÃØ:µIQUдù•¬(o«_U“Éùù÷>"«ßú·; LAyæ%H-$¡-fNNeÛIŠn•ïìì}³ÝÙ{áÛ½&ììör=”€™¸¶‰Mlb›x¶¨I£;«M¥Ë"ãåoYšÙ4Œ§Y–)¥¤@!E¨KKSh‡(ÈQUe`]Øhh­…R¡’•DÒ•ÀkÊg‹¯›ß³µ3dAJ $$ª@J¥È ÒØTëHDA³©¨A†Ûû×@·ukk'Š¢~¿ÏT‘ÿþßÿNÄq`mE*Š Œ¢¤Ù4BÅ^sk{kkkgg§×ëíììô{]áH—…_ipêÂzUUñˆDÄ-‘¦f¥…”•«teÁ%) „® n6MËtjt‡`´å.6¬ƒEBnœ¤Ð9aŒNñ8Uvh„ ˆZ|œ–,òv®¾äð’²×"­'H!ˆ|‘ÿ @ '·lhAè.«´ó‚­NÈ_eÔk°¼\ªÀ !ì%]“õDtÉRqm¥d-;ž¿Õ}+–,6–ÌSØÈ€¿wÉ¥¢Þõàÿõ2KN¿ÃËXôŸ¿ ´ÚP°jW mJYH{Y„`”˜s•È9ÎqÆÎMsŠ‚ ‘ˆ‘Y’@D!åzˆ[Ìí‹n>Y6@`̓,vu·”ù‘,ˆ ~+£9@ .Ò=NÚùñ }þŒû5fŠŸuáÌåv¤¹TÍ2£a•X°äðº¶`° ¹Ld4>žL&}ôÑ~ô#H’Ä9WU•÷Ø{ZªÏ&>G‘Dò³‚÷½{÷ö÷÷ÿüÏÿÜCÝŒ/TU¥µÞÙÙñL‡¥«1†­¿ƒ Èó¼(Š~¿?~ñ‹_ ƒ×^{­×ë±:+“oFþ _”‚ÝîÒLo½²WÝ0ׯß,SÚiþ@W`á¡¥³Ò‚Va†²QÍöÒTüôg?²-s×vþà¾ûæwn—EêŒi5·€ Ð¨@VNfÓÑèa³±óðTAëÝ÷Þ{éö&³sW ,7S©9!Ð%€vN¡ÛÄ&6±‰M<-rŒÄÿ!8ëœÖº(5¯¶ÁÙùt0ž•eÉå0 JkŠÊèÊmmmu»]kíl6«ªª*FUUµÛíPɪª@Éf³iuyY‚Q·|{Ü)#°,ËétÊÎ ìÙáœûôÓO Ñh´ÛmD|ðà7°°¢G=é Ã0^6°ÑIQ£ÑœÑß¼õ ‰À @£Ñèv»Zëóóó4MyWÜð2_v¢Ëò¼Ê ¶brQ¬)}……D)¥!… >[‡J"gI#D@ €Üã ó„À!€\Ïê—Î:û8«"p¼uD@„"ɑ㴠pž+"ñNÄ[Ùë[O X’è÷ RÝ%Q¶}]b<Ùæs‰4±¤õ—›ԓõb‡Lةדk”„ Mpј°þáÕ¾%\fu†/½þÌeê’âO?,«pÆ*S`IÁ±Ž=±ÜCý×ñŸøMò§Ï H P ÎŽP€Ö.J~‚\›¾ÂЬ]Ý"qéýº²Ô¨ KR,«‰"ÔÈäK ój’™`„ï³öÒ€žïYpQ;`Mg>³¤aELÑËj.µN¬2êXrxf’Õœœ‡hh¨‹SÖ©ni +bœP“Ï\{Þ}B¾V¶ð™MWÀŸ»:J5oX¾—di†„\æð{®µ¿|–,'—ŽÓÏÏX^£Áã|lè³Â¹hXº.>Sa4¿NÓôÊ•+Ü"Á\ú,ËXùؘº( ˆã˜%XƒA«ÕbI'èt:ƘÓÓÓ{÷î !Z­{h3Nÿ›ÒhøÏ¾:QUcCeY²WyQ ø F޼bŸeøšÏóœÏ2O‰n·›¦éo¼ñèÑ£·ß~{:þþà¶ IDATïÿ~§Ó9??¯‹¾lâ‹*Ûív:^ÛN>œ~z÷gï¼õVÞW„QóXÛ1èªÐkÙü Ô{¯~粪Ÿ½svúoï½—§Ó‡ŠJ)l¨X¢Ê ° ”$X)ÏKwý¥ïÆò›Wö“óéƒ06ÂêP)­Ý|ÉÅu@€oÑ›ó²‰MlbϲÊwÈ"8~vaÅ I€BÈ­+î¶”¥@*Ž„Œa±Lo7“îöv§ÝTˆ£ÑèÁ£Ãtp¦µ–H‘¬±æI7gŸ{Û¡0Lbm+¥T³Ñèv:ív›m)Iâ¬Â°Ón7<ËÒÙ,‰ã,­È:_bµÖ†*ˆ‚“(î´ÚA˜Ä°üd³ÁhE¯ÙlrþYUUÇl2â=P Ë2.rDaX”ŠÓKî çD¢ª*v“åú–®¬. kí"ßAr†{Ú ì\ô‘8±d‰œqΑBGˆH^Ò9Ãð„³VZë %–9m–ù,þOžL½Y;¯`Ãhø‚ŪªbâÜÑÑQžçgggõWUUU½^¯Ûíöz½^xagg§(ŠÙl6«ªâ<"‡ÿú¯ÿ: ¾óï°³ÖúÅ_Œã8Žã{÷îýð‡?¼~ýúh4JÓ´Óél€†ç~Ùñ‹a.GXk'“Ét:=;;‡³ÙŒÁ#çÜ믿~pp°½½íœ;>>Çqw»]¥T’$išE1·¶¶¤”Nçþýûaîí휜”eùÎ;ïloo߸qcÓ:ñ%¤él:žé$OO?þè-[‚ˆ»Ýn®?3&› œ­œmK×jÝ"LòéàüýNgVV::n4ƒH¹t6ª–D Tà­8éZ7Û¹Úêm%q"uU…™÷šÎa…Eß( zª†ÀMlb›ØD}…½H-ãÿQ£fEBFv¬Tœ4ç Üa¬¢D† 0º’R‚PÆ’C¸`(Xí€"Šy6rYbÀEf¦mÇq¬” ¬r*”a6›M^¶±ÿhY–ׯ_íµ×^ýu¥T§Ó©ªêÑ£Ga`X‡‹ìÂî§,Å"pqGQ¤$ÆQEWªÒ4e¡® ¶¶¶ØÀ²( î›0Æ8 A$Q¬[–¥sÖp¿;éœMâpgk+‚Ñd2N«ÂDQ“€%(Ÿ7 R넳Ö:”B ˆ ¡DKŽpD( ¾`ͽ,3 ÐHGÆY`_vpΡˆ,>éœo°Kls¨•Çëù•O8מJ/à½48çäb’ÿ§%þÿê|€‹ök!¥{UuϨ™Úà×¥PkШ›Ú¬jêã gdµÜ Kñ«ÎšÏ.¬zR¬>VÝWÇm©ã`éu«KÆéÖî¹n‹#jQ–e!â“ðgV1£¥ÊÿgŽ$CkÜI´©‹•.u@Ô¿šéÚV?u—…yMôñXy¯–%`è3ᆠ£áK 2Æ4›ÍV«µ»»›¦éÎÎÎ~ðƒétÊÒ “É„)s,ÈÏ•ñxÌèT’$Ƙ½½=îªèt:ZëGYkyWãñx2™Ü¹s“$agìÍÈ?ß`M×~¿ÏœCn‘`ÕFF^xáÿ$ ¢·Þz‹‰^l<ÎÜ“ããã+W®ð³ÿää„mØ1ÛÛÛ“ÉDkýo|Ã9÷Þ{ï=xðàÆ›‘ÿ2V¥ Úí~»½ÆÍV«•fã^/²“Ô©Y€H@é¬+­ “Z¶ žM¦éë×UiÈp*Ìò,i B¡¨¤Â@%JJR*ÍÜÉÉÙ+P•V` 5)'ª5Ó¸ð Ù\¿›ØÄ&6ñ¬Ø1¢ yf(„œ§d( ²@hQ*–QÃ9hD:P„(C*A(Î'³"›}úé§yžë:#È).±_Î8óé——¬µÚV•5A `:YmÆ£sæt:ƒë7¾ûÆ›·oßžL&Ÿ´?n7[ͤQf«MU”œXj­àDW®\1•Î1ŽcÝhÌË*—€G6›M/-cl^Æ’ '''“É„ˆŒ£Zkmœ1F—ÎZ‹J‘1•uZ8pZ“1@€!”sÝ{9°$J”è D ØôR"ëø7:X©ÄZ³îÒê9£a.ôèˆÈFqd-Y$D’R ’%" @b- K„‹~r_4Ft–P€½Xö9Ÿ©zaÜ»*,ó=µžÏˆgø?Ùåm•w°¶à —ÐêéCW<»X’€!%Á‚ÚÞÖdƒÞÑs)ÿŸ y>Q]r­xÄçL8—à€º«ÈÚLû‚d@-=f†Âá2\ïÆW±ŸÀׇ× uD€ùÏtÂ:;ÒÕ³ïõ\ž0np‘ô Àû€@͸¤®ÄQG.ܯú±tj‚ ð«ÐzMhx2céì,Àeš& áƒ½'Y‡ûmʲìv»ÓéÔ9Çi*ÛÓét0ôûýv»mŒ999±ÖlmmYkG£ÑÝ»w÷÷÷€‘l¦º½üòËgggl‚ðýï{{{8~Õm ÿ£?•Y…¡ªª$I’$!¢¢(ðK’„Õžù‚¿víZQ§§§W¯^=880Æ|øá‡~øaE»»»arÿ,“$ ð×ë &¤°<äG}tëÖ­Íàñ!çÕ4âBµˆííÞé¬,Ê© sr™€ U¦2UK!Tœv<ɆÓñ7º{Î ÛíF6f¹®J‹€€…“V’‘ Î4w·ožœÇqÔu6вY'P°àµZ@$7ge›ØÄ&ž>œBëÉÎ!HÕl6!IÂ0 â( cK¤‹¢H!'Ï( ¤5z8>üôÓ&Me()li¬€Æ:‡k–XÞjŠ« \0׺´äÂ$,Ër2™xÙï Žïß¿rrÒëõ?øàƒ³³3km#é°”£wŒ¢¨,ˇú$¡Õju:km6›„*@$&;EÁËË8ŽÙªŒ{û˲œÍfü~¥‹ÇÍ,9"‡Bˆ²ÈÎ'|xY‘aE³ÙH” @:pHèœ!” QY2Î%#Q¡ã€Ðñ'‘„%X%~§¾tÕÜá’Û1Œ†$‰´kI  £0`¬µ€ŽÈq­`mÒ»” Õ«ýK´|Ÿ {_@¯~ç߬»¹y©NÊKÅA—Ú%¼®ÁÒ>9eõßî%Ù–ÒÖSw¿³Uðbµ—Þ‹®–´*Öb%ð9Xôkû;–êÛõÝzZgðáy›Æ%#’UJˆ÷Y{äJ©::ãY'uûIX4@qûÒs¹1Õ‰0°Ò±ö쯺r@MÁƒ)Ü׳zâ`«X¸£Þ ´Ô¸>f1È8Ž÷÷÷oß¾­µþÅ/~ñé§ŸN§Ó×^{m4½øâ‹ÿôOÿÔn·Y|¡ßï7›Í^¯÷Ö[oííí5$IØ!Š¢W_}õ£>ºwï^EQ]&.òU‰µl®:^[§‡Â ¬ÄqÌM•|6YdÁçOúSF…ʲÜßßo·Ûø‡øðáÃ>ø€Õ_|ñÅ0 ÿôOÿôoþæošÍæµkטóÆìÊÃÃÃýý}nÍ`ÒíííªªþùŸÿ9Š¢—_~Y1›ÍøÚÇ×®]ËóüyÍÏÏ3þ_¹¸ìÖ±öþè@Msw®5»ý›PíÓa²­íÌh¸²wupZ: I¨ë/ûÁ]Ø w@ìÝýä탛¿e\ÞŒ¯”U19ѽÖ+(.Ò³4}ÐhÉV»?ÛYÞéí¾88.“ö•H횪i«F¨ºagYJB "†“Ðä úèAÖáK–˵ç­.˜6±‰Mlâ?H°x a­ãP¡µŽ£x<ÇF–eÛíÎááa»Ûq NNNší@çŒ.óÉø|48K§#­« ÕP@ÜÅD¦Ò('hžÇÎyç6þ™Òh­µV£EšiV'áQÒh¼ó‹·ßÿÕ»ü`béGkm ’zþƒˆ…ÉŠ4óKJ΄¹"åt<ñ¾÷u¥@§µ‚(Š€÷,„HÓ‰}Jqþ)TEQ•!°Ìóã‡ót¤”R©Ø9ç´³`Ñ¡D ThJ“•Y•WaöÚ½0 «¼ÊÊ,Œb A8$°TYÍ@D+i²‚P†*R! ãJSA@œÖ)±Ö=qNDä…R2 £¤Y'te˲tÖ²7kl#¢@GÖZ°¤Á,¹ø³Àü_Öç^jð#ɪœ—U¶ëOH}rè%-=½¿FøNÎl½ÈsŸù¢(â?ôrl~' XŒ1žú¾ÔRá± Þ‰ ð¥u^š²–#)jÎs1¾¨æ[ êåôº&ƒ <¥™U´T“¯k"®$ºä}â—Ò@S³]:#~z{·>ïQ ëÄ,êYºï¶¨£Qž®"‘u–ÇŠGƒùJaò/õã 5‚ ¬ˆ5,ÁaÞãÉ® °JŠYYñg¸ü\º:­c­,ÈEˆ ¥”JHÐzŽ\Ô± _êܪš†ÿ½ ¹òõ·¦<Ϲ ¬>,RÊçÆhØôœ×תª¸á¿Ùl^¹råÖ­[§§§¬ÎÀ~$ áµ_;‰u¾¿3Ø3 îܹ#¥¼yóæx<>;;;??gÜÈÃ{ÛÛÛlù›¦éÙÙÙÏ~ö³>ú(MÓ^¯ÇVÉ=ºvíÚÇ›Íæöööf­ñå„”’ŸpÞcÖÛˆ4—_~9Ïó·Þzëôô´Ùlj­ ¬#¸|~þóŸw:0 ŽŽ9ò,˜­­­ëׯóÍ= C6ÄòPè&žS òÊ: ã¤;™_þòÎÇw¨Û†wßÕ7nêV31”V~rÿøw^ßÍ Ÿ=Dœv¶)ˆÓóôüäøôèx<B™Mžuwú(ƒúáñá/?¼ÿîGÓ÷Ž~×õÓ™Ùê5¤H¬@”@ª( Ô€ ‚ $»‰MlbÏ´Î4b‘êTU5*mJmm–>,´vERBYB»¥Ç#°˜0,‚# €$^è‹æÈóœ['êìnç\’$u¯A˜SÓ!MS€Çlp"bûÊ~]\Ð÷\(3»Á—ë=åW†á"”RB€1&æµV®yp†ÀÈ'‡¾†ADÙlŽÈ9†¢Î•ÚVQ„R:ëô<‚¬•R HÖYrÎçH ED%…ÖT \6› %©TR %% )D !H*P¡’BIDÉòRHN€sd'ççJ DiL¥µ•[­NÒlEÇq7•R$râl-9_XF9Ï<.Ë>VµôŸ/—sÕ¨jMò«Ò}uq¾º6„ÿ¼«p0а俰6ÕZ«æXßO=Ù[Âkêx¬øD¬:Rw»¨g_KöŠ~Ò.1ü|à3ë%ë-úõ<übÚv!ý[2ã¨OÝz\Güç—¼9–²Íú Õ¿eàx*€æ2ÂÅ€Fê´‘Ëû:)£Nû¯wÔ3aFúêg­>,«:£Ï¨Z¯‘k<#WGé3§´×7]¢ExŒ‹ïKu’ÈeÓÒ›u)‡%E̺ÑÉÒlÿ['øðu˼CREanޏyó&ŸÔ(Šxøû,W¹Ã0¼qãÆ;wöööúýþÛo¿Ýh4F£ÑüÁ°Näüc†6«/mMç‰Ïßì’$999‡W¯^ít:þÖ¶DŸãËplooomm=|ø°×ëI)ô£íîîÎf³üÇ,Š‚;å²,{SßM|ÖíÜ$Q¥)Ï«ü|w«óÝoûWùél<üÝßýæVo/ÍK$„& |tøÉèôÎtü~••hwÛµdçü~ùÉ´¸v¥së¥í­ýóqz7·n÷gÓîÙlôæK/¾tëf«ƒÚžk;A(õœ¿@À"ÛøMlb›ØÄ¯›à˜SîÈ’3@NJa‰AŒpZƒ«Šé‘@Î rŒ;H)ˆÔÌ…D*ËÒÔ{›ùF諾ë!"eÓ+‘ùÌÛ%Úí6¯ Ü¢ª„!’0b€»ks‘ ¢0b+­µÓ¦‚Âi#„p­žÏBëô{~ÍXƒoðD¢é4-󂈂(”+£µÖ„($X2Öêyâ*PJiŒ¡Ê(J…R"€pÎ8ãœÕP@”Îj«­µQ‚¥$ "g*m¬„ ]5¸ …€;3,‚$ÎÍ)! Æ(‰‚»¸1Ö‚³Ö†fÙl4EQ´³³³³Ã=Þ†È ˆ ¹Ÿã€rNHYªµ.QèŸ{‡©þ« ®Ì×ùùüÏb®Ë$Á¢ÕVŠÀuzìcagëyr½Û¢yÔ à¢C$\ô&XýOÎ¥ÌvmízáòtãVw—¨Ë<Ç~ ÎXKúðC$‰±£u<æÜ1†á*Öð á²¥ûgjŠ- ÖÙµLKõyT—L=æ»Zð°<(æÅDøø—ìWaÅKˆO_]ãsuú!_·Ïhxf¬ë?Mps¾µ¶Ûí2.I–xá.Oë(Š˜ÈÐh4¢(JÓÆãñxìá/YçDÀE•}_†ô“dñÚyûÆz ¹ŽˆÕ3=ÿuõÚ5¯9ëæˆ¾»g)Õ\MÝ×$ÞO™øZéRÅû •yX4žÔûA>3á_[ó¯Ó:¸‰@)eö'O`4|žÄ~5ž Ý°¶ez€uƒËÜCŸ€¼Ô®y§ £“°NäÒïÖß!aE3¢>µüwù^0?'y`Õs¿ê.l¿~‰1q³=£ Ìcï¾ÌÌö:¢Lžgtykkk{{ûàààêÕ«o½õÖx<B°¡Q–eJ©ªª6=ü_ÚjÆ?h=ëDQE§ÓQJ±à‚¿=I²=²÷D£Ñèv»|‡å‰ÁJ?yž·Z-îØBÄqÌ’­›Án˜,(œµÓt™(O{Aÿú•+÷|˜MJ´ =>zØßûæàìažfRÇ[«ûBº>*«H%v¯Ñ¾‰ŽfÃ{:¨¶®Åè`25Âï¼þÝO†‡V”¨ÆV g2(@iÒ"‰‘A `6ˆÃ&6±‰M<ãúŠé ( 7*v;­­^§(Š<Ë’@°¬òöö6\ÙÖZFÉäBª¹Æ³  ZànNnG)vwz"PÞ# ‚n·ËÔŪªŒ1Q5›Mª¢Ê ë4¯êyÝÁÁsŠ¢ðÚìRJ)¢ÙlV–eÇ[[[afY6™Lk`d·ÛåB·Öåà|T–s',µ@›`ól^N°žt§ÕšŽge^0õ2ˆ”1¦¨Jkme+à.^ÙÁ¡GΘEjÊÉËHÍÅꕚç`¸6Ñâøð‘/“r£”’ABYr¾‘ÄÌûý>XÆqEˆ Žã~”Óé´È«áéY„J…¦kÚív¤")…sä´CD¡$!àºÆõUø’Á¯u—½zT_BM*¢®P_%2³úé’XpþÅj^ ‹ÂòÒIY’?¬§ŽõÆŠúÁø¾O²X-¯´<7qÍËÖá¾Ç|X{^à2ÅÀ5 5sç‘Ç-QD|.a.ŸY>ÚyµšØ/ÎÝc›É¥íÚoùL͈¥#wÎ14ç%i½¦ìÚ6–Uò‹¿šêÔzvêŸñÜ›Õ| +´|‹×ZEÁèËçAÀŽlÕç„/þØl6K’$˲<ÏV0ÆH)9m·Û_7ÔÆË4‰…XÿgnŸWðåÇõkÆ·D2?™LˆèêÕ«u`›ÿ‰{døÃÜäÉWc£Ñèt:Ãá°,Ëf£9žŒµÖI’4’Æd2yz Á=Í=ã¤~úýùglý‘'M,ŠYQ˜FÒm7Ú¿|÷WÿíüÛdPü/ÿëïq£eSlÞÜšeY+ü,×6Ó3Ùî·¶Ú׳iüÿý¿?ÿÕÛ?þÖ·nÿþ¾|íæ­´|·œW¶¶m~òÁ/ª¹@XíÀJ$$Y6qG 9¤íP¨gûÁâiÎÕ^Û•-Ô¶rÔ&6±‰¯Ò’ BA¬ˆ$ÍfÇprr”´šfÓN§q³áA+Þ| IDATùxÔh4¬µd¬!ç¬ç@`Z"HA­µH¢@©B e B#4FQÔiw··ûÇG'UUm•RJqms6´dP:ÔHäÈI±q@®(µÕEeB©PÉPºÓá`6žö¶·¶¶ú* Íd:8Uy‰J´©5Œ16-ò*/gyjŒÉ²‚+ìlÅkK"  ¤%¥ÖšP("¡#ִ䬵•1¼Ô'°D`­ÓÚE¡µ …$W3†$ã,Xn\÷R|¾Ie@‹â¨_ê‚(ipâaŒQ O ¢¤©­±Ö9_Žfz/ç9q†aà¬uZ[mŒRa«ÕrÎy•çyUUqœL¦ç*ÍfsQ7B%•™?Ä‘ˆó'¢°DÈÏ="ÇùÚ3¥$€K[¥¦#8g‰`±.ü«€æ"uDì°Hˆ % |TeY J¬@5¢ƒã=!…@)•”¢ª ¸DC¡žyÖÄEc”%ÊÕºôR|YŽýlôê¥oY¢K¬M!ý<ôβÌ/¾°pD¼E¿e~ÐB.D ’ ò"å9ì™8aFQä]0V‡à [vlY}ÿ³·ðx B^pXÝ.15œs€ìþRÛZë AÌgœ@ÖjÖ°ð#€¾è3ÉA—ªK\ü|}æÇGgQ\¿9˦ó‹LgÓÙÖÖÖx<žå'{{{EU–eÙétî}üèÚµkU¥><‘ahHi;A2e1˳’A8•ÑÌ)`ú9d…Er2ž„F•ç@ÔÛÙ©tQfåÎî.«Gi]2š“e!õ÷vÏ'ÙÞîÞd21sö{Ûišò"ŠW2qóJõöíÛíng4‘Cëôññqš¦ˆ µ¶V#RY–ÓÙèøøX"I’(L¶ú»DdŒvÎ *B Y[E6K' 2ˆR* ²•.ƒ0aÀˆ8…@(i^DHd‰ÈK)²»™'&ÎZk­7ñ‹Šý㔕ˆáz–×EDÎç?Ï«*V-%â÷ÉïÓ]¥$Ë€.€’y™ Ž­K­-)%…˜{12;jtw~Çkˆz @½@Í-*LñÖ2nåùð^W..¡AÀR<>RJf¸ÔSйî)\h]ñUn¶Šœ»ÖþÐ3A–*ùKEu=pW2çP^IH=ó+@kõܱöâV©Ð‘p rˆ" h Þï–_3U™¹Æ<’^6”jÞBåœsPJa´€BJ䜳ÎYmØŸ…_;g…TR¢@ ÖU!눗…«n)<Ü[ÍÉ )S À žWäæ[©š—¸ ‰H<_¤œÏ.…ò sS?,„fê™Ï®UÍQ_å×ü>‹Å,µó0‚óÅ26‚õ¡`ªÏWÖeðïókN_9ÛÜÙÙÇ^¢Ã÷\}-Wˆ¼'iŽ`Áw¨oዯ’óMœï¿ŒÙó]•¡%/ÉE¾añ=¢Õj…aÈσ$Ižûq}î­xúÝ>ÕþÕÅùÉÛ/öŒ¨¢Jönª_i“´`zE^|ó¶<çyCÈÖ+·^oÅ7î~zïôä°×/ƒø´,*Ba”t¥|ø`ÜØ¢¨0Q£éH‘(…SJÄÊYt‘°M$D+$J0ÊÎ+qOýKýÄ^ík· `¡Ò„(²¼™uÎ9^íÌ×<›ûó&6±‰¯ÒBÊ !…s‚ˆÊ*Ÿ¦³,ËdUyî„$"+Ä8ËãÙdšG% …Â3eUYJå”P ‹ªÒ§Ã¬,Б t”U:«*„¼tæ>GÄ#îZµ\¨ÃñxÊ«gN­ùµÖ¬D†A ‡çxe©ƒ @çàälàœ+ÒBA$œ³Z—U%‚ B°°·|Læã9˜7UpÉJ28pK6 —iÝ1û€hÞŽø˜Ô@ôÙk!þ<Ó(´~Ü"èy´@´ š9ÙÇ*ýJ‘ ¸ñ‹†Ô+O—U˜ë?‡›Y.kò_]ßò„ôM4uØeÉ’ˆ¬ßg,q,¨§ÐKM K=øÛvjzÞr~hXdH¼ÐZÚÒ|‹L@Ç~—ƒ¯ûAvÎI¼Êò[ÀZ>ÂxTí_YÁ;‘ @þ¤€î8˜÷Là’OÔÚj8|£"œ¡ƒ«¤!Xw~Lµí¯•¯:Y.Eiâ)3õ¬à×¥6žÅì§¾_`üpâŽ;~>12çëጧc®]»vrr˜"¬ÿüºÁ4õëoðHê÷MïeÅV?¹¼P¨ª*Š"k-{—>xð€ßãxsE|)ó&Ð… åÕ"¥bæ•׺-•±oþàféŽH]5.Ùê_«O?¥2ÅVcw”Š™q*¶wã[·ƒ ™¿üR°{#–A ˜Bp.ÃH»X"@hüÍ.Žs™†/>ê<ÉúíÂ^ŒºPÙ&6±‰M|…VR*®ü±‚5ŽÐÀB „¢Bƒ2ÍJRJHKÎjCD¤Á¥ÆgM¥QŠPÎXf™E´TqnÃwc ?Ó÷®\ÙÛۋ㘙\3`•¯ÉÅÊ‘a²C’$Íf“Ww\xè÷û\š¶Ö¶Z­~¿ÏZ]Ÿ|ò °|xš¦B–‚ÒYuxx¸··'¥œf©”²¬ªf³9žMß|óÍû>µÖ¶»,ËšÍæd>vZ­–³\Ùf×LQÅl–ƒd«ýÆÁ÷~çͫ׮ͦSëÜë×öö¯X]Î’8lµÛi÷Ê^«Ñ<:: ÆçÓ»wïÑ`0øàƒ¸ÜªµîõzW¯^µÖ^¿~ýÍ7ßìõzÍf3Ë2!Äx<ÖZ3ma08Ëóœ×EBΗRUU•eem1M” „PÎ9¥b e ”2Ú9ç¥x¹Ðt@Ÿ”-±»ë¶ÚšMcpeEw™|ãâoñ3°úÞÖ®Q}eØç Ø¢Â_—~ä‰Í%k_æ_ä[ký¤å¯4ðy©»ö³qJ©o}ç[Û²&ý7M3[wî‡ãìáñùh”v KE«Ùnt“r’[muÛ?øþëßû¾v¶ŠfºÈµ.%•‘ ¸æB ÖY@  úo [z0¬B K2æ›ØÄ&6ñ¸«×Öô,·\@Ñhµ&£Q·ÛÍó\…q™çι0Š€ 9DLZMæ&dY¦µn4€È¾•EQ¨0¨ŠªÈ Ày.!°ÕjµZ-!D’$·oß~á…ªª:>>.Š"Žc柦i:›Í¸»{ááØ‹êàà`0L&“ªªNNN¸Ivgg‡›Í&s"„§§§»»»7oÞœÍf\¢(Ë2Ú ðƒ¼òÊ+wïÞýèÞÝ­­-GT–eGò'òÿ??NÓôÕÛßœN§a>¸ÿÉîn7›ž³jø /¼4Ò4€(L¬µJaE1g³Ìì]ÛßÞÛýîï|ÿÛ¯{6žX «{WTüâ­·:[½ßºýÚKßxÉiÓßí7âøWï¼÷é'‡R“É„1$I&“ÉÙÙu»Ýv»Í€ Â`0HÓôüü¼( Ÿ7²TÙöö¶Öº(³<φÆZ;†a¼” sÌ¥8¥Ây¡{ÎÛ‡U½ºz¾VY%äkÇœ¤q"äuWÖÊò=ùá»”%ÖSt¯¹è[¼ÍD=3dpþÕÞmIküó<¾½8%gžþH.kÁfàŒ?ÉŒ"-9>^ByYŠ^gmþïÅSaE bU˜ ž/)Ö`úÌÙ¿r­(Ѝ‘ôz=D‘$±ÓÆúKÝn7Š¢Ñhtxxˆˆ{{{L(ЦÓk×®YkŽƒ âây†W®\¹víZ«Õú­ßú­×^{­ßïß½{÷í·ßžÍfN‡ójÖµ~Äó*.ÏsDdág.,¥i:ƒ øö·¿ýgögY–ýøÇ?þøã˲d £,KVõjµZƒÁàôôôäää¥/~÷»ßýáø×ý×zÿæÍ›AÞ»wïÚÁƒƒƒV«¥µÞßßßÙÙ‘R*y>FÄA¸¿¿¿¿ˆ=<:<< Ã(Ë2gA)Å&/Ýê\¹º*ª\;[”Z¡”`òtöÞDI&ñþÕ«ÓÉ$Í‹Édv|6øÕ»ï2F¬?ÅÇ|ttÄO“[·nµZ-^AeÙǃCBL ðÓé$I”ç9Ψ†{DSd©QÚ37éœ ˆ’œq„ºBS•6PC)¤&À×;Û9[ãuòÿpÄ…»OÝ—h€õš-g1p¹Ñà“~ÿº®AàqÕ ¢_²Gée“«Ëã'¬W½è[}Ið´×g¬]o¬²ý=€Rwrå–¸hRwëX2Ñ„œQÆ8qå´sqŸ¹(ZÍØŸwÀ%ŽkÙ «kªzcÈ’Ï(OÝåÔO€µŒ†:âñÀ’õº—ýŠÕ#üPàÕPÏýk.÷f!;~öL&æ2E1›ÍØýÈ¿?˲œN§yžÏÕ’kmB_[^ÃZŠÔo*˜ÆÆ¡!„Ȳl:òs—O"#þ5ó½­éæŠøR–¥•P%Á°Õ«1öí·ïûefÝõés®=fX,n`A€)$ÙbX Œ š–hS´­¦M‡‚ 3 [Vx0ˆ0mÊI€7  %v±ÇÌììÜ3=}LŸ¯ßY÷‘™þ#»sjêuÏÄA`_ÆÆ‹Þ7ï¨ÊªW•ß÷û~ß×í:ž+:<Ï©”­r©Ðh4&&&Ž;f†®™I’xžEQS˲TU­V«³³ó§Ï<_^_ÝØÜô¢PWT¤rÑÖ c{w×*Ú[Û»w¶¶;»í[+·œÁ ß.//#Žûý¾mێ㸮+¦"Žãn·Ûï÷Ëå2¥tooO8̉5<¥¹ ¢(qá]%œ¶ciSÊ9C2™âÞ>|éfÍDˆƘ¨ø@ÍGIÄób8¼$›]fçÊ¥â«_#5¨£ùA8%°L¤„l‘€{C"²#d§À(޽?× ô¶pS(ô÷ImdØ6!N‘=£“™±ÜH }gt–ïÈ*í!ã‰8Jµu†LI€×¬hçU^ÊåÈèò);?‡Y·8Ȇ̉hrÔÀèª IúdSq‘‡¦f¼1âà5®?svžû­.ßQ¦Fº_ƫػ ÙlV*Ñ>×jµªÕª8šÍfµZÏ‹¿³1"ÓèMë™cã¾ïŠÉÈêº^«ÕêõºišA4›M!¤Ä‹îDÃ0Â0œšš&ÌÒƒcL4|‰ªëI’v ‹ºgäêµÕë6U Ñä±ÝAÿ᷼Ŵ ïNkÖ¨e—“ÔM 1-¢¥·×»yuëö²ã âÙk~) B4R Q+b€ÁÝ¿¤"A.¤€Ù'×Å“b‰Ì1 ú=ø½doäRÈð·¹yŒÇxŒÇxüY`à8æ`Œ…hŠ¢a¬ EÎy¹RE%1žžNMÓt0 ‡C¬(Ц•*•Vëº>;;‹¥ÕjqÎ=Ï›™MÓÔ.Œ˜¶Ýnooo›¦)dä„V«%š#^|ñEi‰/¬t]7 ã(—ËNçÆ¢Ì$I±XÜÛÛ{ñÅÿü/¾²³³óì³Ï®®¬ŠE×qfçæNž<É[^^¶,krrRTn×ÖÖ>÷¹Ï]¾|ùúõë+ëkabB\×íú«««•J%ŽãÁ` ’¶u]mÔ+KÇONOO‡Ã+W¯B|?p}ß÷CÏE©Ök–Uð8_xá…^¯733ív[Dt†!ö],h5M;(ÕsÁ>†!ªÙIÅqjè:£ 1å€8 8CBˆ`§iG¡ªB`D¦ÊT›Ú7ü“ Lœ9Ä‘•,ü]+83HOÔŸ!ލY®á¨¾ýl翼5çЦ€ó&ãrýÙ-Éyä¾QtMŽäG‡Œ<”‹iV’…‘ ÅìUI¤ZD2¹#gW)¿]ì{–ÑÈzRŒ.µ´–¡‡‡âµlÁ&g—͘¥ r̈$M²LÇ]3È{i¦œdöŸ²üξ±Ÿ??GÙŠ7¼Ø{½kEù›Ê¦Wpο“DÃ>Ýg”Ëå“'OÖëu‘T$þ®T*š¦&š¹“aÿ•<ÿ9÷iLÈÉj SÏò>0Ò™2J4d1¿l3áû1«‡œŸ²7ço¹Ò{DC–]’ó#rø Ê·ÿ·$ïo‘úƒuÓ¡¦@f³d³`Rì~±Xœ››SÅó¼r¹\­VE›x^ü]©TêõºPîÁ¯†çyq‹EŒñp8, ?óó°ô¡â´ÜYž9ò|Ë©ÎÞØo)›û*®Ë9ïùß÷ …‚¨u¼å-o¾‰‰ ¡Àìv»š¦={6I’ì¤ÛírÎ›ÍæÎÎŽïûâÅ9K!û~qG|ï8!ÂU§Ç˜r\Á¦]ÐÞûþWÎ ÖW6>ñ‰ï _©O”._~.Œl ìÞvô–§Uób]×PÑuY­Ñ:{öÄíMxë´t†ÛE:& 8ÑhŠ6Ý V¡ '”ò4e‚§i¬íneX†»ÿ½îëjöf#þȺUgkRŠ ÷lé ”- ŒS'Æc<ÆãkД ¢©ªÊ !‘4ea#L*åj¿?,‹®#è€Ê³Ï>kXf©Z Šïz…Ba»½gŠŠntC Ê`0ØÚm_ºzíØÔ´­›Î` p;¥ô—~é—677_xá…ëׯÏÏÏïìì†Q*•Þýîwߺukeeegg§X,š¦Çq­V›œœ¬V«”Òçž{®R©¤izìØ1Q1*•J­VËqœW^yåÂ… ã‡~xiiiee¥V«}ô£ýÙŸýÙ8Žÿðÿ0Š¢ÝÝÝB¡ð¾÷½ïò…Kívûíoû‰'vöÚŸúÔ§8sfuuõØüÜÏýÜÏ)šzýúõ/üÇ/2Æ …B†³sóµFóë_ÿú—¾ôåó/¯T«Q=ôÐCKÇOU™[˜_\J†°â¸þÆö–bÙŸ}dr2½~ýª°xæœÓ¹¹¹Û·oïì쬬¬ø^èyÞp8ô»CÇqŠÅb«ÕN q _L]×wvvÖ××Ož<™¦éÞÞžmÛžçY–%–ÊDAŒ±$QÊår𯄄¹ëºŽãxž…BÁs|‚@ÑÎ9£”r+0Àœ&Iš¦ K4G3Â9"„UUÄm.Žã}§ÏȃÑv†¬ºAÊn—L×uŒAô8ˆUUu]wO)e‡ƒ"¼¼/Ä£ìs.a Ä.×{bU™µè}û2-U2#¢÷DÀKyï–”-Ê=ÊBY™v‘« t¿·?ˈ? ÃÑ­¢Ì)¹<¸7¼P.9L QÙe¹\ÆçúS$ˆ•a.’~’›*í cå ÔÁ0b  (VÜ#à"K¸È彜Ÿ¬é#cLxäe£.Ä6몞¥Bä (±|—ëºâIy’H—ͬ¹¦4ê^9¶EžKâ(ˆ¹%„˜š™¦©eaË IDATxwv9'æSÆfOþl¶€œEQdâè¼ew_ι t³«S1¢§)k*¶Mߺ¾7CtFÉ©—,æèóâ2'N)&,ÓS‹ÅâXÔðýâJ§(Šªª¢ QÜØD’“` å-Äu]MÓt]×4-Š"qÿNŸcŒ÷=!0R+OT+öÊZÔt«µÒG>ú¶‚Y^¹ó¼ú*QëUÒâÖ6vÝ” PUÝ]3»=:ì;ÅBý'ÿÞû¦çšAÔI’½vçN© Ú–¹7è™Ä>yúí ¤¤k…0Ò!èÝOMF2Rû[3ŒR YbÔh|ÌÇc<Æã‡uhš&V®q¢FQ$ÐF¨ÝnonnjšÖœ˜àœw»]ES··wýh? Š1&|†Ãa¯×[[[ÛÚÚºuëVš¦"¦agggin¡\.‹y¥R ÓÍÍÍN§C)‡årùÉ'Ÿ,•JÝn×0Œ'Ÿ|Ò¶í ÇÁ[–%Úc/_¾ÜëõΔ1W®\A?~|nnŽòîw¿{zzz0¬¬¬¬¬¬lllA  Âfruu5‚jµjšæ`0p§Ñh4›ÍÍÍMèt:µF}0ìììloo7 Ë2.^¼¸½³uáÂÇqjõúôô´ØáÎèyÞ‹/¾8¸®ëŠÞOÏó666Ü¡sçΦmZš¡šºµµµe›ÖÍ›7Û;»¥Jy8 …«—.cŠÇiµZÛÛÛA\¿~ý+_ùŠ€£¥RI°$â®´²²"¤€FŒïcNMÓªÕjE˜@&»‘¥q¢ „ð•Àä©ÊÎvJiFV¹Àð>— J¢h)\ÉRN£žmdȵ~K°”5;È0"zÏié³-Ñ/dÿ7—²‘3e{-iÙ×È÷æb;%pg¦|>;?bg_[! ða[5Úà{„‘V¡t$—ä_²ñ¹MÍ >eÖ]¯²ŽHæî·È­©äÆgq;D–ÀAËÉhHªPdH1Ùã%F[F)!„bÂ,“fm F›\r'<Üë~Ÿ& ììå´äâ7›ÍæÈ2J¹üN¦NŒÇ«* PÅJ\p¥ƒªªBÎ$ž—Z qP]×鉯* ïöq”r2¡6$„ø¾/¨I‡‹[]¦iJ:\zðˆeÍx2¿ûG‹q…qÏócÊͰ€£»ý^­4ØŽÓw6֯šÚß[Õ \.L Ž¢Ó$æ\±,ÛÒKý>t¶†X½Õä˜1ê(šÞ¬W;»ÉsÏ.•‚¢14©+ÄÄH®7ßAÀ”Nç®ptÌ2ŒÇxŒÇ›c`¬0œ¥œ¦8VÕ0LU7yÊF¡ÑhaŒoݺ]­V‡®³v{ Dd8b( ÃÉæ¤F´å˾ã‡CEQ\×=~ü¸©­V‹S*’Å“$yþùç…cw©T’źÇ{L8>†aØl6Åš­R©ŒÔï÷“$Ñu}0ˆx©J¥277···÷íoûÔ©SÓÓӢ´$ú#ÇùÖ·¾%–òµZM´gnoo ΂²ººêy^Âh­V{üñÇÆêõo~ó›¦m­®®Š'žx"ŽÃ›·—/^~eccS×õr­:»0_(”J¥RÓ J¶o.·Ûí$Igff år{oïò+—Ó(¾qíú?>3=}|aqõÎꦻ~cù–¡)õz]AÄÔMHéÍÕ5 iE»°´´Ôëõ<ÏkµZ¯¼òÊ3Ï<#”¶­V z½žmÛ"Ø[<¿_¿%b „jµêyãéËœÓqMÓ8e)gœ3‘[É3 *QÞ¯íKâ8a\³‹HÕ0&‚ék3‘:1Ò:¥´;§T‡ƒúy¶m!ñd*³²¥Úº;ÔNR’’h!PpPß΢åYQm–°8 ŽjÆs ¹ ˆlëDö{%€” üUˆ@‡Âøû £Þ"½EüIJö‡†DdAï½~?¢aÔÞ2\?Ege!:MîžWÙÚki‘[%!^ŽeÈRZÙã•K£”Ä–8.¹ðT âDºÇQZEæ4Ygln(ÜW >ê½(ãQsgZ–‘É%\ÂwÐ r<^í¹/1Ò4-ŽcA0 @qN‹çC/ôöYŽVþöÆ3ù}â-°D礈æòEÎy¿ßÍ2Aˆ× Ú^×õb±¨ªj†?(-0?àDC‘ç[q:(M…èW.­Ýºxs°7øÉŸ~«®›*Ž;Û+žhàO4JÕb…˜¥¶¦ê¦ihDÛÙ<ý•óÛ»{³ ö‡>òÈ̼íÅý4aŠb߸¶ùÕ¿¼2µ‹'ŒÙÉ„¨!:pÂGÇÀ¿¢†CݳåI˜ã¹Ç|<Æc<~ˆÇ>˜TEߺ"tì¦i"¢ 6"üoܸ¥«F³ÞX^^f)žž®Uª{ÝŽ;tN=pZ%Ê¥+—g¦¦ççç“(~éü¹ÉÖÄOA)½zõªëºï|ç;ƒ¡¿³³óÒK/A`lÓ4Ëåò{ßû^ï«_Y^^Æ  ÕjUè,\wxí·¯…a Ä£V«éºî2¿ßïonn{žW(-Ë*‹º®ïîîÞ¼v8\ÿìÃgÏ>v¶Yoܸqã¹—)O«³³§Nœ¨—+Ý~ïæn»^­ó”Û–=11A­V›˜˜¸yófà8by#HÇžç‰ê´làœ§û’o,Åäbr Ã`Œ%IÄRŠ9Nã$Û (0ËÁê ôK)e,J£÷ûº]Vpo…vÔ sÑÐžŠ”2a¢>mŽ–=ÑÙû\ @.I!ªGë²Bž+K(›…î÷¹ÅÖ±³ÙYÙE.Ïî•cH¹¾˜œÎbtšøxŸęB!¶Å„Ëî€Cå ¹ÏÉL¬€â‡‹,à‹·Cc8sB†»SDyEK3‚lÎè±>Tš‘Åܵ]IU"Ü=ÇàîÙGÉ^Ê"em$qÿUhŽ•bœQÚ(·kß•xËñ8j!ÑΆ¡¸ßLLLDQ$Ÿ¢hgg§P(LNNf±¦iŠ¢ˆ”æ£L\Æã{3dˆçy[[[år¹V« ³hÛ¶‹ÅbÇÕjÕ²,ŒñÊÊJµZ­V«‚36¦iŽgò{C Ý#šS(‘”Úý¾ûÒ‹·ÛËxª~ìë_yñÉ÷Ÿ]š™­Yí(é¶i#•ì¦i¡d5j-ÕqýaÏ[½ܹ;®ÉR¸uehXÌ.«qš®ÜXþ[í+áÅKðä\{÷a­hÀU„è~ëÄ=ƒ½aËÜzE.P`$Ó ~(ìoÆc<Æc<¿ §)!„`¢M`!Ñk@!„Rº»»G)m·Û„Ó4'[Sºªa Àm6Ü^§_¯ÖªåÚCg ãh{s«h—tÕ¨”ʆ¦ôûýµµµR©455µ¶¶fYÖ™3g~øá/|á •J¥V«½ð ׮] ¢Y2MSMÓD ? CÃ0Z­–Œ©ÑhÔëõÇüúõëý~_x@Äq,,u>þñ_¹reùúõ(ŠNž<é8ÎsÏ=§(ÊÌÌLZKžyæ™áp¸°°P¬”ïܹóÒK/MMM‰îƒb¹dš¦øÂ–RQ0ç|jjºZ­onn¶Ûí­­Û*+Š¢ë&c03s¬Ùl2 I’ìl·5M޽¡©ë'Žÿ‰ûðñS'v6·övÛ¡ïO›² sq~éïyò¯¾ùW_:???ßÝëù¾/Ò+…×£mÛ¢7Û…/ Ó4ëõºMSU!ÄA´Çƒ¬ˆJŸªªš¦¥Z¢%FÀi,Åœåœ2ÆRáY€80Ž8ã”QH8ôÝâš®†‰J)F‰Ž @À9ü û‰"ÔÙj9Ô³ÚÙÃÿ±ô¡¸îõ€Èݦ%»ñ]%æ²v²}CôägÁgùçVGÅaò”Ž~NÖ¬q厰ÂÜTþœÅ3š¦ bq” 94^á>!—‡VﳦŒ‡¦€ÃˆXC0M£ ïY. ËDd= ²A!YEêè5JdŒÒ"‚M „p£–[£’0¢yígòhb«¢(Ò†2ŽY’,¹3&¾Gc8®®® H×uoß¾].—ËåröyÇqäóÒEœÖ‚k÷Mü] ĵÛó¼µµµz½Þjµ\×½víÚäääÄÄ„8ˆžç5›Í ž{î¹Ç{¬ÙlbŒÃ0 QÉTäñø.¬kvÒþÐÕÔT×UËB I=y5ꦊµ45¬¢ÂŸ{ºÞLiä»aš"Ó´*E]×Ô^ì¹CZ(Í–•°-`ذL¬ô»}PŠÀ™L„r©i€(ãônÅ~ü„¤^Ÿ´a”3Í ññx3ŒÔ´O¶ ¨ªªEÃð)Š¢ëׯ (»ººzìØ±·½õñF£ñÒK/yž7==½¾º¶»½£eia±Ñh\¸p¡ßï_\ò}ÿùçŸÇ …ÂââbEN'Š¢w¼ãüà …‚¢.,,\½zõܹs•JE˜;Šæˆ“'O†axåÊÑ#išæÌÌ ¥TÐ W¯^1U½^OtFôûýíímJé™3g>üáÇq|uaAˆ¶¶¶ÖÖÖÊåòÍ›7i˜‡C˲ÞûÞ÷.<ñÜsÏíííݺu«99aÛ¶h§ã¸Óé<ýôÓI’‹åcÇŽÍÏ/‹ÅF£±µµÕív …¶mûôéNŸ>½|kåÙgŸÝÙÙ™ššÂ†¦™ºñèÞ:q]½re{c{jb²Uo…¾—„ÑܱٙÉš¦œ1Ñ(zëÖ-C¡P ßqÂ0´m[Ð=¢Ô0 ‘ ¢iQ„·B*ôÞ†aĉ)PYÇ¢}˜(ÀS*]®8ç 18¨» p%ÖÆÇD52£M¿Ã‘3¢xT“/uàÙv)^çQ'ÿ¬¯Þh„!Œ¤MçLšáÀ‘ F¢Žò\¸O5âPO9o¹þÑ IúÀH•û>‹ÕÑ ÏQëÍÜz&ÅÅk$ÒÉu©dfV_ ®¯%BË_Ȧär7³V £×Ÿ\?‹4q”6zäf)ÛΛÁ=*šÈ!‚w“ІK"[³sçy.d^­45ÊÎdBv&³ö¨¹Ÿ¥tL4|c¬ÓéH ÍÞÞžèߓϋ3 Ýn Î^ôÝ•J%Û¶“$I’$MÓ0 …êx|¿†¸0‰ËJ¿ß¼ƒHê.‹â.Øëõ,ËJÓ4Š¢~¿ßëõǦӊ¢ …  ÃOæw}p•§&OZÞÄ/•íÇ_*ªÃA{ï½OÎ5& \‰‚F )CLS¹jï:¾K&µ‰VMY"'\¶jRN1ªum· Šn,?ö¶÷àž»[Ÿ2<ó®j¥•$Ä c3 §®0âý›[UŒÇxŒÇx¼Iˆ† W‹TU³­b¹TáˆQ Q+Ûñ=MÓN<}îÜ9SÓ'›­‰‰‰Sê ˜`¶a¶Z­V«555ÕÛë´·wlÛ~ôÑGÏ;wóÚõ$I|èR©tçÎ0 ã8VUÕu]a3¹¹¹¹¾¾Áìì¬mÛ­Vëüùó`YÖäää`0‚@x:ÎÎÎÎÌÌLNNnllôûý/~ñ‹b!W.—… !´¹¹)z½Þp8¬T*<ð!d0lnn†ñâ‹/CßqpöìÙxàÂË/ÿå_þ¥Ðlmm‰öUUWWW)¥oyÛ[8`Çu ÅâÂâñoûÛã¹…ù0Œ£$£Èóý0ŽpU×lÛNèV©Æad›ÖÚÊêÚõ§¿ú—¡j¹B¼ðêåk˜Áêê ÙÆ-]×u]ït:Òv^d´A ™¦išÒQ_ô–Š•’à E‹ÇQEº®Z–¥ª(‹&SŒ1æÉG¼»Šª<¥4M©€RD%”sѸª(ŠXS ¼:ÚŽžŠpDüsØ‹à@J)ÆHÌ Fc”e˜l”ä‚@ÎÒæP"=Áňä|ò\8 óßÇÓ!WÓÎ~þè^ç¼Ã^½°q¯Ö#ûÕp˜;C‡gñª4N ‚~Ê¥ËÝÕ¼*|È~Ìá¡ë(9ÃG´]@6CðúÿßåÏG 0ÇL<"ùÈ Œ!†9cˆc`ˆCâÅSõêìTecãF0tMLÍÿÈi–å²ÇqØwU× V)ü$dŠ] éžY(Øö´ç*NjvåÝ8Ûœx/1‚”÷–—·M³d&|?=ùÀüÛÞþÄîN·V}¬ÐdƒÝ=’îèØÅ@"Rà:ÆQ>ÛòµÏNzÀßGÝ㎉ññxÓ,É8' ªØ¶­z£Úl6Wn¯§šŠf¦[ƒ¡kYV³Ù¼tñ|±h÷zΩç9¡õõÕ8ŸxâñJ¥âûþ+¯¼Œ?qbé±ÇÎ^ºtQUÕBÑŠãpo¯ËXzæÌ™0ô‡ÃáW¿úe×õK¥B/^˜™™ý±ûP§Š‚»Ý9×&Iâ8ƒ^¯×é´ûý¾m›7nÜxç;ß¾°°`Úùó/_¼xÁ4í'–@Ó”f³éºÃÝÝ]J“n·ûÍoþõêêê`Ðk6›Íf³™&ô»=ÏóLSït:ËË7£(øÀ>0·0Ûëwþâ/þbzz’ÁÆÆ:‹Å‡:S¯To¯ÝÞÙÞž˜˜8ûÈ#•r‘1v|i¡³×ÛÚ¸sùÒ+ƒ~s^¯•+•êT«8ÃRÑZïuý΋/½påÊ•—_>?33Ç!ç€Ýºqýâ…ó€XE®7¬7Z†©9Cñ4Š¢”ƆaDq0 1MÓR§ 3-=MÓÝÝ]Œ1QŽ P(¨Š®éŠQµZ#ŽUQhÂ<ÇG€!8¢œ¤ S.6PàŽ1‚£ K9çHÁ* ”Åaè:*∦„à4¥iš†)ì8gò‘qˆäÀafcL¼Dp2ƒP µìϲÿÙJu6Ž:ëÒ'Aµp—Èê²oõ\8 åé `3AHÌå\<ª„PÎ1@îQ-$œ3ñ. —C×'èÞHÖ• û¼|5;” YÒ6¢‡"KXÀˆÆ®Æœs8b-t¨ÅC.oBòA‡=ÂH+Äh^xŽÉ&¡æÖoYÆJ¾wTks” B ‘:‘Ý…ì90ÊÚ³óºV’àÇ+ë®*æŒ q œ)YöetƒŽª°îöQŒ—PIzþÀÜÒC€+ˆÌÄá)Bq¥¢õz눻5c7¼8Y)ÆaÄÃW””Šeg°]®”’(i´íõ‚vjñX¹QòŸ|ÏýÝ—åê©£Õ(DΪ¥OÕø/ñpÃ"ÑÞuêÚ•ëËW¾yæôƒEÍ!º‚â­FÑö·j 쩪êEñÜôÉ­í!›`UÓ­N§cš à(=@{"xü0H¬j(ÊJÂä¯#@^Ë#GÄO ÍTÝ(˜l6W–Ï™ZxzQ×è2póPIn–Õ(¦ Kq­¾°9lÛŲ ¶'ªS“µøìà ˆ×&kF«.β9h,YÏý³œu»—}ä­ÎàÎë·ÓSÍË–FŽM”ÚÛçN̶¶w®.̤ƒþe£Ðð¢4ÛñÒZ¥D#F€Ýÿ*ù·C˜ìÞ?^Ëã‘××N4`¬¼®Ï?ŠeÀœ F ƒøIbÄ1F ©dàôêµBL}ßÄ4˜n6®_¿´P«)ñZ88Ñ…©ãÃ…¡ëya¬6[Cg)v?Da¤MN=ÔÞ»cX¶¦àÈÕ—NÞ¼±VÂFŒi×óf*N—NL,ììì(¨4{láÒ+×Zâd]K¢$S¶”ã3»|ð²jM‘Ž àÜdÜfq„8âÀ `i‚8 @À9 Œ€B€àÀ¸¸§3à”qûôªýU=­$Œé‰ññøXA€8 Ä8ð8 ]§O0‚B˜;ìì`:;;úôé‹/þ辿לå¥8Ž›Íf©TJÓôØÂô­Õê¦ê8Ή9/rÜpèƒÆdÍ]EQÖ6Ö1&Ç/-žX\<±páÂËçνÔh4Ã$˜˜žˆ¢pñÄâÔ±éf³Õëu®ãyîææÖ…ß9oÛ…§O>öø[Ã0/ô×6Ö:=³`>töaÎ! ƒ¥¥ãïínoéš:;3½×i'QxýÚU–&¶eþÍ7¿qóÆÕ0ˆfgõ»z½nÕõõõz«~ñòÅ_ûµÇáÙ³gŒççªåâÎÖFx<‰7×Ö~êã?±¸àû~à8»»íØ÷¾Ðë ‰§¿ü%ß÷ƒ p]wsý–išFÃÖ•áþá¤Þ(-ß¾zýÆ+Bƒà¸=˲C×ó¼Ýö6ç\Qˆe„Xº¦cšJ(MíRÁ²ª[[Ûëë”2CÓº¶i–eGA`Û„9G2ã´7è'45ucŒ€DJVICj$i1Ò9(æ`à´{ƒ8ÆëŠJ(¥aè‡aBiÊ9/©*VOS¬pEQaaä`Å ‘“ý$¦˜€iØ–màBYP€˜ªèº¡êšI4-¤ÀgÁ›P+åÅÈ-†1dµôÂwò¬¬M»ð‰Ôu=Š¢D„ŒY düÿÅ}ßᵊxؤ#˜x—¢(Žãd¤—äQº•Àb]À8âÎ&!NÎ)ãœQÆð$Š)gœ2Ž! qÊ€1„1€0FˆŒ ƒÏ¬_bfQÉÕ%kŠœ¬!âè‡È¼ŒÑ†±‡”R@,ûdîQ*îµBq¤KË­Äɉïí<¡6»UÒ #gó‘µäiDZd[`¤H6’HŸTEQ8GY»q. o édÉnOUu¼$r^aœýügG“TQBãÀ)CtU#šúº 9IÆ«æ»þ0 \˜ ˜ƒ0ŠQ²zûÒo~ö7tÕ:{ÛÏ~ÿö­™ùI/@V¡EÑ_}íöƒή­@¯×ÛÝþ†È>ÿÂïišV«Õ¾üåóïz×qÏõ Öûýáî7Ž?î8ŽýÅŸúõz½×ë £ÁW^¹óè£ó7o®ž¿ø'.ÅÙ¿ú?ý†e´¶<ÏCH/+IÜ=7 &Þ\íÜBÊñZ RUUz]gc{ùÿûíc©Þ ßúÂdÓ>¹4óҹ˓UÊtÕ¨¨zù‹/üéñãÇW—×T•­ÜüÒ•+WêõúóÏ™`š¦ã8Ï?GVW×&'' …ÂÊò—UUýÆß\˜;¾ä:áþ×O--†N/ð‡œúC'¨6ÌÛÁÿãÿ«X“º½ð?þê¿­ÔZ»»ý¢ñ½ý­X†ïãç£Ã¡\A`Ä!ð£$Š“$¡,& çIÔswþêkütïεWžóýgý ÷̷νõñÉ0…R_ÿ#8q€çÀùüŸÒS§ŽRŒsø÷¿÷͉ 0 °m³Û ÖסÑÎ1¨T ÝÛA0]χbY¹t%ýƒÏªT>á…öSOý…ƒÊeÚÇœÜɈã,çÁ0vñññÈ­?c”¦Œ¥Œs†>ÆàyŽªàj¥T,Ú;Ûw\§7|ø!×óLÓPUÅ0t¾ë:Aàw:ùùùùù¹~¿·¾¾þõ¯muuµP(0ÆDlnn$IEa£ÑÐ4•bzG»»;çÏŸ/—ËA0Æ,Ëš˜h!´/Úà ŽcŒ‘ëºÝnwgg'‚r¹\©T”Rјœs c'Q·ÛÕu=MÓ è…QE‘ã8ªª" )MÊ•R­VsçÊÕËÿÇ¿û·'Ož¼téÒp8,•‹·—o1Æ8£XU†ƒþúÊJÇq©„¤qÜÝÛ‡I’ z½ýŒ]ǃ^Ïw]g(|.8çŒQÎ ¥©ç¹a ˲„¢›Rêy®€"ˆ!M“0 8ç"K€ {K®( Q•î ‰j„¡è½g)ÕU !ÔÛë(ŠÂR ”몦«—&Ô¶Ê  ˆ…>å V4Õà˜*”¦ ÇæŒ3Äg)eCŒqD(¥”¥)PÌICð Q–L‘¢£ÂÑ!&Y©|†‚çI’² ùC˜ãîcœ”ó¦Ò#@¢³2x8Ìü/W¸–^G•J„+ ˆ# €Et' „…V„#Ž8½ýiJGb*¡ƒ˜ÄÐÝõ3?º°qÚ|9S IDATÇAap–­‹†aÖ´‚'¥Õâ¨×«yŸëƨëÄ¡K¬QÓ‡ì‹å÷fûb²ïÍFð\6Å+si”‡nU.c2S@b¹°LÁI ŸZñÉ2‰3[¸’eÚûœº£‡î˘Cˆì×ùëF5£á1|¤Kç‡nÇx( €Ü…³‹š|ðƒo9~âGã ×ëï|î÷?ÿÏþëŸJ’ȰLJég>ó›ÿôŸþ¸ ¨Â0üô§?÷kÿý?A>;;;ÞùñßþHš0B´8J?õ©ßüØÇ'''ëõzO=õÔ'?ù‘~¿?55åºîg?ûÙ_ø…èº>ô•—oD¿ó»_›˜˜âÔ4Íú S–Äq¬(hÄÙ×%¯võ‰v6·­b[jjj»ŸøÏüþ'‹S-}ogÅq.ÿÂ/üDÊ¢˜Š^ú?ŸúÍO|â­ûÁ`0ø­ßºúË¿üsƒÁ Žc˲~ýןú•_ù•JÅqœõõõOú÷åW~ñ¿ügï«OMmoíþ_ŸúÌ?þÄ;¦êõ4 œaïßÿÎoÿ7¿ü‹qŠÜH[Û þݧ?_- 9ì">À¨ |ÜÐt_ªážæþI®ëzJu )× êzýË—_ø—ÿÕ‡ÔÕ‰ÂRê…ɹþ‹#§Rµ<øÙÏ~铟ü‰0ˆMµ>ó™?ù'ÿä#PEÉøOÿƒð~„øÔÜÂòµ+ôG/üüÏÿ½b¹J“hkkç·û›Ÿüä‡Ê¥ºV9¶u}õÿù­?øØßÿè™·¾/ñµõ;Ñÿþ¿ý.`ƒ œhˆb`stH&d]ˆÐd_ã1ã1ß‹!TÍRîN)u]×÷}}ƒ „—EQ–…oÄqœ$I¯×s]Wønmm]»v­Óéxž—¦éÎÎŽïû"—!ÔétVVVÄêº.Ö½ªªªªÚívÇ1 cÜh4J¥’ªª¦iƒ½½=±…Š¢ ‡ÃápØn·E¹OøÄ~°··çyžhD§”Aàû~¥R¡”&I¥„Á8ˆ¬1„PßþÖ·.]º¤ëúp8$„¬¯¯‹XM¸sçÎÖö6cŒ! „ ‡Ã ÇI’„R­Veµ“1–$IEiš–Ëe¡z»# •¾ïGQ†aš¦†a){†žç%I"0LÇb<Ï‹ãXP3TK(èŽPÆ]%gÇ~©P(QCwoWQ‚°”›Gqì‡A˜ð0Š}ß÷<'IÆRT”K£(bŒÜuäˆsÄø¾ÿœì.•gaÉ)þIà«$I°š´Ë`$‰ $†Œè@ð&"C*ÛÀŸM ÈâÀ¬Ý#Ü[<ÏYTÊcEÑ}Â,Fù ‰ÏG݇.›”{ÌÙ+ÞŠ„d³E%p‘1ª‹ìzF¦`È&©ïȶ¢dKÖž2^‡áP&¸‘Q¨œ3h8Ô¼3÷¹£pð‚{ö먰ÌQ:#wJ~)®9ÇÐlúéÖÞoðɽF(J²ý¶£äT–eÈy^Üç(g?ðÐ ×$wð *²ÌÍ›€h.”Θ2ˆ Öo^\^{ù¿˜ÏÀ_ó†ÛšÉ»ÜÙ>gjÜÀuý•Û°×~cÐ4#Š ç_¾°V(XÕj½Õ„^÷ÜíÛ·“˜=ðÀƒ¥‹íë×Ï‹àCÏ£ë땦išŽãܸÁ——¿jYÖÖ.ùðOþŸþÌŸ'I:èõjµ2!QMÓÂÐ;8Bc|òšW-@[¥l¤ƒÐU˜¿róyŸÅtgs}/Ž÷}ˆâa”D c\½v­¿ºú•©É¥é`0ÜÙIûýsQ2Æ]ÀÆÆ7._‚''§êuð¼W¶v¶^¼0¬Ök¾ë»Ã¿ye›%©¡*Œ&Ï>ó‡Š^"ZsþøÛvÖVû훜ôg[Ç]‡²±sÊë¸íg:膒Rsæû>Qµ¢]Æ•cµmê{½îN”ºž{½—ãÈe¸è¹ƒÍmè÷¯Q ”hºµµÞ5#¢âA¿¿µ ž·ű¦¹Ž»ÇpùÊ3 ¥´Ùh!ìî^~ù垪V0±Ý"Þyùü×n¯ ~èC[{ËŒxÀtUp#C ÀÂè0N=§|áCã1ã1o¦ÚÀ=ŠqJ©çy"j1I’7nØ¶íº®œÏ<óLwàya (Š  z½žçyãcÇŽ]»vm}}=MS‘Kíº®€Ö¥RIàgâX,«Õª@×B¹íû¾ïû!áãX.—5MórÖo¿T*9ß÷P W0bJÓ•›w, ®_~¦R/Ÿy ~gcÕÔÁ÷WJE´8wâÊÅWx –Áýp‡h²VZ:Vh5[Á©œ¢±œá ßÓ4% J’$ ‘a(„¨ªF ”†mBÂG…0ÜC{^DÑéÓ…}Ž¢äÓGn'ºe:ýþâÐ8ŽÂàÎê*VSU!>üÈ•ë×ÜÁ€`ˆ|ÿÁ‡N Üdc»c” ¤§?(Õ'Ž?tF5(ǃ˜èˆSÄÏS4Mˆ IîF.oü£^Ðã1ã1ã!/ŒÙõ´¨´‹ëg»Ýîv»œób±èûþ…óç5³GV”ÐóE@Cš¦Š¢,߸8N_ÓÄÂa ƒ^Ï ðŽÃëÇIàz²ø,ÜÝ|ßJ=Uöú{;»¢ &BDǵØZŒ±7tâ8fqL4Mà^ÑŸ/úÀ1Æqh¦©ü+!$ŽãÈ÷5ÓÄ;ŽÃÓ´T­Ú¶= ý>ÂÙ@GÁð4 =?b!‚Ðu!ž¤ÔwÜl£µè '„Rc ”I¼È$& ÂÈ¥Cñü>:J)¤IœÓ8Á@q"ÆA8¤4Ž“aJ}qW¦”Q* UU ÂÀSÎC|ßX‘RÊ’”Rʲ,«`•YÙ–¤F…DAQ%I„ÂÈ&àÀsþ‚’Ê¢Dé]wÔI•sã?¸5 3ˆ»òqt²•ÿÙЇlÁ\ÆXÊž 饙€ÀW­×æàñ?æs¶…dt®îSîÎÉ1rp}4gAôàä¢7„Ô?'(È £žpˆb‚I/Œ×K_ææ3›R‘Õw¤™tìG¶®Ü÷å&îsè%;³ÏHò#Ã/÷'}LÅ{EÐavž%Ëp”@æ(•4CÍÑC‘ ½¢!·~؉a Û0 ÀÄ6¶6×76–o_‹Ódr²§þ©UªÍ°ÛPJ…‰÷½G/ÚuBˆ3ØfÿÜ?z8ŽãN»oYÖé“‹“­Aš¦ž«j©Q7þ³ŸÅ³s3_¾ÔëúÍúä/þóÖÖæp=‰ÝPßùö‚B4–Æ…J½Vm..ž°í2MR×ãºYôèÛÝÓt2^‚¼~¢׫M–ö#)©O½³*H3õ:ÁÞÛ_L"¬èºJãôÉ÷.ì:‹9Wôf³ù÷—Ç)'9çºþôG¥BmÇÛ©V& -øØO)®ëßYkkºõñŸ©MÖ§.ž¿¦“Á•ŸøðìЉʥIŠÊË×wz»^ÜõQo̬߹–2²³³<±ýÿ€¤€Á¾ÂñCÈ죂$ÆtÃxŒÇxŒGvq,=ØDÅž16 0Ɔa€ÀÒòJÊ(8\FQ‹š|’$4Š ßï@†,M!å@b Ôi‹U¶°|K9gqœ 5JcEUeÐHp¾¿ÁšÆ9×4M¬þã8¦â‹E3MÁe0 Þ¨è:¥TÓ4Û¶ÝÁÀu]Ã0„¶BÀ]¡‰M×)¥¶mGq,`†¬: ˜E9â½Â¶P9ñ9S‰}Û)äéº.¦„6[Ö¢E#Fö¶EQÇHSišBšrΣ8Ž‚}sAÀ÷óÀ,êÍÆäädk²Ùh4TUÁ˜ žçõÝ ºÝn¯×‰ã˜ÒDtgPÊ#±ÒKGÌy–h–¸»ÊÏÔl3Ø©ªŠñ=¦ ¹Rüè]{´Fõ,ÏnRö³1 £ZtyÎç r«ŽbÙ¾ƒ\iýPœÒB=ïóù¹™ÌµZäz¤ ¢Lßs+b5³ó/N]ñ[ÈÙlÎn—­£­ 9fdt’áÞñ£>ºwúù¯ºxËEY7Í,ž}& ò³Ÿë%—‘¬ÆG¶fd¹Ú\óÈèWѬ›ø]¦c„iÊæYdóD^7ÑphÜÈ›`AŒ¸ˆ2P0hÓ3ÇOœxt{;8yâmv‡{ÅS³•B)H½Ø '''›µ@¤×”l<Ï«–¬VëºÞív6¦'ZQ”4›››¾"Z}àäb©Tˆ¢$Š‚G´Ó4žÂC¥RÛÛÛ}à„óêKçnÅ[]YWp)NÔéÉªâø®;p+Ó7!³ôèxurô²EE¬¹1”„N­tÖT«ÕÊ챓4éj··¬‚I ]§R®9^¨X 0ß6›¨ê×*\×õ8Ž«e# CEQªåþôÔ´ðvš™Ò¼Ð9]5zƒ^C¹Ðx×ÛßYiLð í÷œ‘rm*¡ÖíÕÁüì»U<[-WSÐÎa¬Dy=$1]š¦¥i‚±b&QXšF”"‚«„,ÔkV’†…‚•Òs¦(8¥1ç|n¦Ðë Š… çdH¼ùc5ÏóÄÕ¬ÕÐ8§‘ÀòQu]­Ux±hƒnž:±§iF¹Ø×4£X·ÁD+ËבB(C?õÓïRÚÚˆ&&—8×€+À1 ¸«‡` !~Ïýl”e8T!9ã1ã1&ÒÈÚ§‰Õ³XUÛ¶-¸†J¥bÙ6QuQ¬Þ¯¿½z±PMªi–K%aIºn¡\F"ÂNØ(0Æ(Æ„]Óö¡B¦aPUM’DUÕ8Ž©ð'#„ Q‘®ìû%GMUE‰¢HÖðBŠªŠÍ. <«ª*TUm„öxyA,-䚦‰üMUã8_‡1N“„s®kš@t²ž)5Í !Ù"¼BˆXäc„8c#d躘sŒvÐû0FŠ"ñ’¡ëŒ1*Âí0&ªJ)M)U1ÆŠÂöáÙ>ÈdiŠ€Cš¦‘!“Ó§NôÑGŽŸXZXX°,ƒ1C{{{cccuuuC×€Q×u£(J¢qŒ8mÈÆ4Hq`Œ9Â÷ïRÌ@/ÁÀ(Îq £’CžRa‘ÓÌK «Ýf1¤ØþœOd.§ðP"k‹È¦` L•DÕQ@týekõè°ADpoÇ(q€1½926 Ù­sïŒaA4ŒˆQz(ëk8ª/І\ ¥®ë÷×zä¾Er49ÏÑ£”³Ÿ€Ã<#³û8ÚC)DXÖñAÆšæšV²={Lï#¦‘"9¢á(®-A’==Þ¸¢áÐ_Úïý Ã{*æã–ï1ß7þïÏþÙÜB}mõ&e¬h,†²VÝÙÚ[ZZZYYᜠ…b±¸½½­išeYÛÛ;­Vs0¨ª:??ÿüó—kUË0 Ás{žçy^³ÙÜÞÞ-• í¶Ûl¢(Òu}cÃ=ujb}kXŸ{Œ¦P¯·Švëêµõ^oD1ÆxL(¼¡¡D¡¼T.× = Šð'/õ:˦žPê˜éôw«Õ*ÂJ¿?4íâpè4ê­áphYÖæææââb»Ýî÷û“““Âý¨×ëÍÎÎv»Ý^¯wêÔ©›·¯[%…’† b3pãÀŽMÏv:B©Üéº@,]obÒ ’’¦Ö8àd”ŽÇѬŸ Ñø7$Ó4-|ÇqâÄ×4•²”3¬jõý¿þþdCÝë´K¥Â^g»T*¥i"¬w Ãìv†¥R…3<è;µZ#„x†õz½Óéˆu^³Ù‡¢^´ºº*z…m¸; „¦­Ì/Ì}ë¹[Í–I%IìVó$ãç:q Qà G”%r xSˆÅÆc<Æc<ÞÑÅZŠ¢ …n·;''' …‚ðJ´+¥)wž€OÂAÀÎ$I„¤ªª±ª€¨ä I‚ø.MÓ¢(2M!äû~š¦º® +þU6ËÆÈDÖIû÷luQ&ç‰7Æq,Ì,ËRE´xB …B¿ÓBJ¥’¼kˆª†ÀN²$\ƒðÏ“î cÓ4T›!X á’(ýÿàÞ4iî xá¦i†Ø~ñ¤„R¶m [Ðu]ìB(b û‡ì.£AO¹¢(ÂY# EQÊåòÔÌôC?xæÌÉÓ§Ïl+Ii¿ß-‹C·»'ÔYx†1Vm´/Õør×E¼Æ¡) Þ[¸†8Ž÷ãk4ÈÕ´GA£|£˜IéD '\G1‡YÐ+B:²ß(1ö¨-â}Rr-ÛcÔOLFif…9÷yñ}Rç³T‚<:¹/Ó"<5ä*H‚|U0Vi*¡¾8¬R>s/èåGmmŽÄ9J‰phu'«ÑØF‰½Å£˜ÏÜyGwÈì̬Aã(ó•ݼCý&ró)·G޲sö1«Tƒ”S·ÙœˆcA!# Àl~xÚ(îß–ó2ÉI¶î/ ¨ï%ºf§wü¿üëO]¹òâçï·þþÇ?²¶zã®çWBÀŽ@Ó”Wý]Èñ®' 4ÌÄTÆâ”s¦êWŸþÚco}âìÙ·z u7$ 8RÑë]xÝçóq_û|€hë“ÇO<Q†Áyª*:ç # +Ê÷/ÿÕí«çÿè÷'æçuC½|ùòüü¬0èRí€=Tö™ Žq» š»yø|"ê öfç&º½öéÓý+W¯?zöm‹‹gN~˜Å™Á¹Ê9§"ûÅSš¦0–‚$ìYz—ËGBŽ”"ª†9hrf8`„`=`ÿ«qñí!¢ rðÙ\¤i"DÑ ¶çyA·¯ª*E5ÌJ½±´xbqq¾h›iF„' ô:{»Ûݽ½^§ã»n†¡ï{žGPU•fçÙ>yÑ»!;h„?¥j¤qSD$”Ö£- À9“ÚoÈØ=dy¸Ww UUE‡‹¬%³ a‘Å“¾ïJ ÀAÏBöJ›¦iNQ.¿]ˬ¸c¬b’¦©ꣻ“󛻟EìBÚ#X’4ME›Œ8‡]×ÍQ!Y„ì’ý!ËžÙýtè*QˆL³Õx‘*r„'ãünžx0§i*~D‚ªÈrÒñaÔ22 ù›ãXL© °È‚)—E"µW’Å“\›dâä‘Ý=¢kIœ*’Ž}RòÚ×CíkµöœØ†l*Ê(`—-Ep }ÿ«išŒƒ Vr¶³±rŠA)öNª«„ Ž4†Û#¸¡±óÜ«/¥ʧ8á@`Ìq0MÕµçŽur\SÃf—+0ŒÕ¾íêyø·V«Õb‹E/¹ ñ 6ùØÔÜ[õÿgïÍÃäªÊuñµö¼kž«»zîÎÔI‰‰œD£¨ÀQQñ\ âÅ„ëñ80rñ‚L*r8ÈpÀ0‚€2 Ɖ)$@椓ž§š§]U{\ë÷Ç×ÙìTuw•K¯§Ÿz:•ê]{¯½öZë{¿÷{_ÇŠq”0 ¥õÑÑ¡¬/e¦}ðæBˆbÊI¼J ‰ËT-‹!ÆJêÍí«ÞèFÊ"ÊÄ"LT]6iðP– „X* Ê"ÂRJ Õ)5'&‡©‘¼MHôk˜ÑµXŒðQþÍßÌC÷ ÙÏ”²î@w ¶L£M–ÁúÂ\4±¶¤@ E”ye@ ÂE5„­©§ÆñŠ[÷¢ ƒP$Dü>¦›f6ñ¸Ýó =˜Já ›ŽP–"‹"–RƒN=†ïŒ@”@¡/|á @€a0»~W*XìíõVSˆ`»cç ìDлª ¯k†ÛíÎd2’$…B!g\4׿Ú[‹5L‹>Ø­N¥¬Ñ|9tu¶m³ûÉ;ÿ9ç@|äl%‘C¢ä‡–ÎCë ˲”]3¥^/k Ç¢,Ë‚¢¥¦UÕ+•Š¢”¥ÔXÚ0µ¹é«Æ‘Cª€eY„Ù™îà´~„Ó®xvde‡Žv hÇêÎwfRs˜e°áél8ë0³T5UÖÞFkŒi»Â^G°ù)¶V‚ó!:b£ŽBbÃ"Ó~Þ ÕuÈ´‡?b—: %­(ëø)¨Áõƒ8dbœrÓv©Ó'¢ÎiÒù»=2a1µ¡‡:ÝУ™ û·Fh©Ìt_œØP£ëÇ´šCk¦64Åž†B\Ê`ÊPÊÄXÄÒTF”Ze©cÇkéɉ%ç(oÐé¨ï3×ÀL Òé4Ïó±X,—Ëùý~·ÛMŸì‹È.IàEŒYB±lð[s`›¹³&'›ŠRаˤ†UOÔßÒÓS2ÌmÏýÉF0 õM1bE4-Ð0Ãý%Yc@¸× HïêijêêŒv4ËIÕ,ƒ)#Ö2 S˜ãËi÷2ÄÐðÊPÄ Þ#z£†S©T²R©ô %3™¬,ˆaÚ¦ØÄYÕ2ͼñŠ1[÷B &¼VD^—Ï0•pÄ ·µ$–Æ¢ ·7 ÖLJJ0EÑ+Œ(&ï¶‘Ûí¶,‹çùB¡àv»0’Íf›››ßU£M’$»0˜Éã\.‡òù|°Ûðz½èPý䱪O¿Ó”ûE"ŒqGGG¥R!„  6̵¹övƒ6¡×)®y?Ó4)1¦ -‚0&„6ð–gø"‹ Й;üóǼþm|ÀÞVó™>íûÃJI­ÒŒ½ZëºÎ²¬EÒTÄ ‘X¼­£3‘Hx½nYYSbY¦nš¡«ºVCÄBÄÂaŠÄ2ˆ²oTRxC‹O#Æìt@ j NĪ.ܵ‰ ¶™ všþÊ©ö:‹uGž–â^çj1 ì5¥`™u~N–A£¶šA yìÒÑsJ: glSsa–Hµ1þG‡ûÎÔ~–À9ˆΈM§9èä8VâŠY»zË)Ÿ9“ž·]®D À× Qá”~pFl”ÊyzÈBh–¹Çù‡GìäÆ?´3(èpn¸]7a3Žk˜Ž´0`¨G vLƒ¢üa^@=þ K NŒçæ-0Ü’ß@–N‹„9vñL0P öz½Ùl–eYQ Ãè]|\©0!p¢,!à“‡1F˜!ˆ‚¾=qZs\†#-›„àšEª˜•™1‰æ–­\‘ÏçÛ:ºeeâ0aâe¢=Ð@)2B ˆN‘P5(VYNçxÚÔÚ"¹d k”5¬i• /{ð\šä¯#DÀ¨³³íC§œZU*©LZD—ÇMç"±(Ïr3˜BÁ„ýJ8–PÆlx1N, IDAT×½ƒ)b,™5Ä`JJ3º$³áXÈB(“.Ȳ‡’)MmøAS4[æªCl¿`Ác¦©©IUÕwÕHRj%@à] ^"„¦”Ì5¨¤x·• ø|>ŸÏ§ªêèèh$áy^’¤wÛ ™kKdaÚ²sÃ0`+¯ë:”2MyΰYu+øL)Ùi= œ¢zG»2QDÞN¸ájó€¢A–Ž`âpŒÂº¦¹Ü^–e,ªñ¢ÇbMqÏ+J<Ç1Ë¢–eb9³»¨!³:S:CYt¸©$q¸KÔEþ ¯S&—¨!ço[ZØŠhÖrÝ:ZýÛfîXQ¨”ž„¯Ë<;Ç3ø 2ùF 3.ÚÊÎ<¹3Ó>­çÂ,p»Ç,3©lÎ4Ø®³ 6Ôˆ³4ªc:/œ8ú 9è 6O5h4Ø¢¤@¬n«‡Ô {PÙ4Iø§]iâœga44z…Î~_ìCÕ‰€LÛuiBÊÐpl«Á!“¡a†"‚°1™Nal¹Ü’ìÝ>9kòHAÕP) ؘåÆ×zG—ËuP^Ÿ 葦iÅb^$aDJaœÍªÄù‰jþnñ(E59–2ˆò,SS+.,µwtx¼^Yt!Ä0#Ê`ÊÁï!‚aŽº†™釀Pæ~ŠtŒk’ÌŠe‘EžE”c"°1š»k³?ŽŒÍ<à§nG:“w¹8™÷É.!àõ1< bͱäx’` Û‚aËÂ2Ô$˜zßñŠ ­{‡¡QVS Â2¾€‹bÆ9*±ièaLJ-„-„á!}ÇÜÙJ¥úíÁ`KEQdY0þÝÓâñ8° aÁ®V«²,…Á0ŒZ­«¸(ŠÑh#‚ÄÉ–yV”Xy:Z”aæ½ ÜØåð˜ñyÜ”Rá•b™¥\!ðbÙ€AèІ A£ܨр'D\†D •J9ÙÅ–Êy Iºi1HD”wž-ÆÌ;H9×çóaŒ …‚(ŠÕjuxxxûöí‚ ¿»6ʃ»Çã‰Çã¢(655-_¾!´cÇŽÉÉIMӒɤ¢(ü!ã·wUÿ‚Ðßß/Š+‰B¨X,ÎÕM̵·h¨ÛÝBH †N™àŠë 7ç«Sï(Ã׺\::öÙ¨po_cþ!猢Î2 !„XÖ4MŠXÑ%G"0ȉ!D’$Q MW‰n4@yæÙv p¾‹¢ÆB †æ éšQñùÅr-û½ª™•\1T§˜D ÅAÆ Âcô‰CÁ‹^ÅJ¥"Ëòøø¸(Š]]]§Ÿ~ú» h@¥ÓéZ­&«¯¾ºoß¾ŽŽ„о}û|>߉'ž¨ëº,ËÑh½+<˜k†a mݺõ±ÇûÔ§>åñx"‘ˆ sbsío†;Lkó>µS'¸.dšúr‰Ø^ú“™4V˜Ãƒ(» î˜öX›©ÿ=>_aB–!%IÓ D,—Ç }¾€(Ê,'ð,ñ”c0Ë2”cxŽc1ƒ)MÉC ˜A˜€i¢³£Bu ,ËÚ‰@gÌÙHÎw–N4Æ]Po_çKm«ñ;•ìp±n¢†ìc¤b£µ¬ËÓ†ÓÊ·;­œ)ëºÎÐÆê:ÐYkà,‚ß뀒YÆ-¢é”´ fŠ›!€€ ÂqÜ´ûs[JÃ)­bó¨!â¼#TO¶IPƒB$ô[y‡ÓTÂ.>… lnäéô4±1Sç›GTֲί8âVÇžQAvÄ™@¶ŒbZvh8Ö@QÌ D€÷Å óP`CDQôxdM«qœÀóË"“h¢À€ Q†`â|¥&­{^‘E)Ù#­ª!–Á„"Ž!¡ –YåUbB˜R‚ ƒ)ƈP B[BŸ¡ˆ`ÊPkî9H%ˆcY­¦s^Áïq‹%L¨ÀózM›‚H” „Dbx^¤7ÖðS‹4ÖðS†ãXžbŽ¡Ek1”aMB)Å,B<ϱ¬( ^ž5­`è&˱s¢GØ«aÅ¿¡™‚0uþN(žÚúÄ›bš¦iÕÂÔÐ4бÈsÅb1äþAcQ‚0C‚0ƒ¡u¯´áD)òz«¢ÂØâJ!Á˜C” †LI; D;Ô^þÁàè>Ÿ/™LŠ¢822²téÒåË—‹Å7‹Á¦“q AÀ:±žFÀèïßÊårKK ˲ÑhŠ&2™Œ,Ë!]×½^oSSS­V«Õj”Ò±± ŸÇC¾`¡CCÙN@øÐ»“cq±ùœ?IWWW0üõ¯B¢(–J%I’æ&«¹ö¶µ7t|¡†Ô4 BÈ4ADB$B)¶·?lC ›o;" Y¶ËOéì8>ö8›Ó¿ÇÁéŒðsÈŠA”± Q”µšL“eY—Ë%I’ p’(V•*¨%˜˜åu]W¥¤” ¥"A”PJ1B >VÈÌ®˜" ;hB(!S»i–åì`óð "(ŠM‰·Ó¿vÌ ¡¬³¢¾Žt0 ,rÄ üºÒž:X¡ñà”RÌ`ç·; Ðt…Nç·8Í•CZÒÑl ¿gZ/œö¶ÂÅL%™–e!D0æ(µ rã)Ëqn„èL²t6†Ì‚zØ‘€‘)µµ‹d)…ÒZÌ"LÌa†Å 9Lãâ ìÉ Ùws »$&¤©X†cXL ¢ˆ†Á°˜e8Ì –a)"” B-Ë$S³ ‹9Ž£ˆX–5µPSD1EQîÌ´[¦:× çûGDúÕà…1ƒÛ-fø˜BŠXŒ) `3?x†ö&6Ó6ÛzÔ&„Ì.bq¬ üQ)>(4p¹\š¦‹Å`0X­VMÓ„Ý¡¦i€RUÕ0 Y–‹Å¢Çãa´Ä5Móûý–e¹\.M3ܒר‘R¡k•ªe˜.É)¯W¹|Zûºó)“è.K絚…+»]Jµ¬ÔÌ"‚ ÅÄBV¹RÊsn¯«¢VÜ^W2“ôú=”¡JµÌ ,A–ä–òÅ'r5­ÊK|M«²«ªì‘•j9˜Ä›eI·Ç‹¥’K´¦J8À˜² O —ˆ·×ÍÐLj>¯¤k Ç3ÓöÜ2žç-Ëòûýš¦U*€Üjµšßï¯V«år9‹)ŠâÄêÜn7x` ÿfÆlㆉ ¼ÓLÓ ‡Ã†aT«UI’ ZI’Êå20£$II6–es¹š¦©( Ã0š¦òE(‚újY‰Qj…`Äëò‰ã©qÊšº¥ñ‡9l!+VjŠjêµd¿_5u‚¬¢R\‚…L‚ÌŠªËyƒèœÀ`UU¥¢*œÀ –ꦊYÖëªS©j†eé¤fa•å Ý,g IŠ‘ì–”š246jÔ ïBº¥K’”N§eYöù|.—+—ËaŒE øªªÂ3¥(ŠËåây>àô÷÷{<¿ß?>>.I”‘Ãõʲl†ßç×4MQA Ã;8²ßçEño Þ‘˜®ë’$QJUUõù|À£ƒ7«ÕªßçgYV–år¹œÉd¼o¹\®T*’$¹\®ÉÉIžçy‰¯é5‚,AªjEŠQ±\vyd^â1‹,djF­ª—M¢r2,Ý¢¦èÇ'ÇdTÓ+š©…"A†gªj¥R«é¦¡–(¹*5]å|)OKyVÀ21G)CLªDgx¤['2ùR®\-"–ªZUâ%«bqDâˆGÉ“·n‘óe’¹X,6:6ìòJº©i†Z*W$Ù­ë&¥Ôãñ@)»¦ið4Or¹\E1ŸÏû|>ð}/bxTaNSÅív¿eöC[%ÆÑ` ðx<µZÍãñ°,›ÉdV­Z•Ïç™cl”˜”˜–©™VÍå’ÙqFdUÓ¨h–Çï®T Ç»8VL§Ó>ŸdY5M›š£€®ér¹`áày¾R©Ào8OèFprÆONNJ’ç?11ár¹ü~&“)‹o K ‡Ã¹\™l6»nݺt: K[:^·n]6›5M“çù\. EY"‹Ø¥–‰,¸eÉS©ÔXž#˜Ô´ª(K¦ADÁ%ñnªó.Î¥WÏ p•J¥V«¥¨ •JÅårAЬ\.sç÷ûE©Õj Ãøýþb±hÃ0ð10ôÿv{o s¾í˜]I]×ý~?B¨X,‚«Q­VcYV’$]×)¥0Ÿ€ül ÃÐ4 Æd¥R%•eYMÓ"‘H¹\†=Œá¹Px®½-Ã1 ‡‹1‹(Ã0Ëð,Ë[&‰exM3̱,oè±fÌ2ˆÁ D-Jà‡ ŠÌp,ñˆÁð_£iì?·ì7éçmU‚$Çx2oûb(àQ!Q!Q®R©0p-ϳ’ÀY†fꚀyó b‘…,‹ŠYžÝnÕ"µ J J²ŸÅ3׊Ø3¡-§ZÃ0@÷c$м( LjÄ0˜aƈR‹Ë4u{Rµ“ð0‘Úa0Öæ ˆ¢‹—S¦6ÛÒö¨Õj¦i꺮il€mÀâ8²Ýì œçyX&ìÙÞ>IÛÂVXFác¦¶ 6'VFAxž‡WçÑì°4éA°ñgŸØG†uÇî±:‘Ûí†* ¸:8=[ðn€5p—K%žaE–e„špßY³n|µo·Í€s«T*°®Ùd“©Ê‹ ‹ B1¡˜"a3f¨E¨iÓBÁaB M¯Uªp›ìqe»_CJ’$˲$I°Ó ”jaLYŽaYŒ0%Ĥ¨–Aà8žEˆ˜–aš:”çY†Å H„¦j5Ë2DIýðW˜ASxE˜Rj!‡‘ªÓoµ‘ ã°àf¡C%? À†®q¨Á†Óívs Ë1,‡a†‚!¦ÅPÄ Ì3,‹aaažaA€ûî4ø°,ë-c4LM¼ý¦ë™L&‹¹\.].—a™L!á–(Šcˆ0†‰Çã²,¿üòË­­­‰Db÷îݽ½½###Äʲ\«ÕÊå2<¡l6/Ë2‹9I°C,Äc‘†ã,Ñ4‰Dü~.—Ëes¢(z½Þ")bŒy‘Û»wïªU«¶o߉Dº»»Á‡eYÄ`†a¢,Ë–év»•je||\×õP(D)­V«²Ëò,¥Ø4uÆÓé¤aK.—gïÞýÍÍÍccc‹/Îf³¢Äf2©iûG–ex}>_µZõz½@ú²,+ dLH©E¦Ô;!H»"Ä2 %„#„PÊÏĘI^a–øÈ&¥;E"ët"áÍY¬Lœ"öiØ©sߤ”Z©SD‡4œ®ö_Ùk„u¨5ÖöÛò–v€}v‡Ô•25²6êHöùØ×E¡ÔšAËLÂŽWÔøjGÝu.vS]wèt€ªd¿‚}¥tÊ,å(d#E.®yˆsØ+!P•„P¾°(eyž%S¬‰)ïJ©eáÆ#üõDH§eF&Å–Ô~{å8[±ÏÁšêv[´²nð¿ãK':;;kµÚØØ!Äår•J%Øl†ár¹EÉd2 —nY–ÛíÞ¿,[¼xq.—öz½ªªŽuvv*ŠR*•‰„aÙl¶££#“ÉÓqº»»Y–Íçó{÷îeYh·©T* e`É’%Ùl6Äb±^xáøã‡ÛœJ¥ …Çq¢(Z–•ÏçƒÁ` hjj‚€¡Š¢ÀgTU²\.G"BH6›Á4Í ìÛ·‚Ø™ú§V«ƒÁ%K–üéOZµjU(r»ÝªªJ’é¥K— e³Ùd2)B<!—ËûÖÞJ˜ÔôQ„L&3m?¬X±¢¯¯oÑ¢EøÃ€¤ðúë¯777ŒŒx½ÞE‹¥R)BHww÷ÈÈ$Üà8áp¸Z­–J%„Ûëé]Ô{pp »«ûå-/wtt„B¡í;¶wvvbŒ³Ù,Ü‹žîžÁ¡A€9B’$e2™h4 ¹»íÛ·/Z´( ¦Ói–eA¨V«ã`0ØÑÑAx!Ig³Y¯×ëñx [(†ikm«Öªn·;'“Iˆ?AX²x BhûŽí€v»Ýî@ ÐÖÖ¦iÚää¤ Mñ¦Ds"_È'SÉö¶ö¿<ÿ—µÿ´¶V««ãË_>2:þ@`Y@ÕT»ßòù< Ç’$·ô8„ü/~›1Á\.çõzA®ßårI¢¤TÈW#zÜžb©˜J§jµš¢(K—,E••©©a¢(Â8omm=ñ„ó…| P%›Ë¶··W*„(Š…B!“É‚ÐÔÔ„L+3 Óßß/IÇq>ŸOQ”|>¿ÿþåË—SJ%Išœœ …Bº®—J%–ec±ßÑÑ‘L&[ŒF£CCC¡Pèá‡>í´Ólº `Æ?W*©>î¸ã4Mëëëkkkóz½¹\dYÜn7Ì<€dBÈðð0Ƹ££#ŸÏ¿#€†X¼YÓUÍPsé\©Vöø†¥º]!^pÿøºçÓEËTÖºêªïÕ*µh$PÓtŽa‹Ô$I–e…Ãá½{÷ò<ßÖÖÉÈŠ|>dzÙìÄÄD©T*—Ë«V­‚AeY– Éd²P(X–5oÞ¼cµœîP³÷ !„ át*Tcq®¨zý¼YC9%Y(Ae™çY¿ÏKp5ò¹œÛ$šàÑÄÄ0#!­­­ýýý±XlddDUÕùóç‹EQa—ÙÒÒ¢ªª®ë###‚ !ŸÏ·µµQJÓéôÔÈG(›Íƒ/‹ñ<_*•`ì-]º4N+Š’H$€9¿ßkœÏç ƒ£££år¹··wbbاù|cìõz@4- ω͵¹6׎-1I)EÃ&² N E(lM;ÁŽÓ  ,Çδ™´Cze˜âë9ÂrÛ:Ái1XGþ·#1g$ w&ü&ÓÎܾ-iÚ_:Êà<«FCÍ™)¦A^á{‘£\Âyu´ôº’ '@$ [×ÐþóFÍ™Èìð&¸08O|H¡L¹˜˜e9¶ÏöÑ 'ZW*2K³õê¼'g­tB6”RZ_†sØy¢Cµ0ίJå¯Iü7";µ<ÎBû§H+Gê瘱Ÿ£Æ~Ç3`_TˆŸK¥êq ™.x$LÓìêê*‹©Tª­­ òØétº©©‰çùt:­ª*P€L²{÷î–––c:ÎË/¿ Iu `W„‚Z­æõzóùüí·ß¾aÞç½^ï‹/¾1ð‚ Ñ411á÷û,XN§÷ìÙÓÜÜL)…ñW( m+Hµñ<¯ªª,ËÉd>Ù×ׇ9Žknnž¥‰ÄÐÐÐüùó_{íµ3Î8cÿþýÏ<ó̺uëÆÇÇçÍ›7<<ÌqÜèèèØØØ²eË€¦‘ÏçƒT­V=Çq’$½UpŸfZ–egꇱ±1Ç399¹lÙ2 `@ö»³³Ó–ZEÑår …x<ÞÕÕU(à8! € …‘‘ÉåÊæ²Ë–-“Dé`ÿÁ––·ÛíìÏŽ‹íþÌçó „ Ï.—»úê«ô£…B!†a Øc ”jµšËåšššdYnnnæy¾V«ÁnHÑ#£#0T¢‘hµVE¹ÝîÁÁÁh4šÎ¤÷íÛ·ní:„P:“† †a$Iòù|,Ë–•òàà`ww· ƒkÿiíŽ;æÏŸŸH$öíÛ×ÖÚ¦T”½ûöBÈ€4È›âM¡\>W,á}Hoës*I’½˜¦™«æFGGc±X$ ° eÃï÷w´wøü¾]»v!MÓ4Àz¼^/<,Ë%SÉt:ÝÛÛkš¦ß羆¢(~¿ß¾ ’(ÕpÀîîn @išæóùFGG¯ºêª›o¾YHØò<_.—›ššr¹„©@ ¥¥¼Ù»ºº îíïïž7ož¢(¹\.OLL,[¶ c¼cÇŽ%K–€¢A>ŸÿÁ~p '@U‹MI6G$Éf³åry``  r·mÛ¶•+W¶´´x½ÞZ­ñ›(Š-CýH8æy^Q”·›~òÖ Ìd2òÝáh“GE€SJl IDATÞ[Öt– E”Ê*_9÷k,‡o¹ùzÑ+æ¾¢#ª›<6aª„É Ø^ƒƒƒßúÖ·<Ïí·ß^.—a¸ú|>˜c'''Ãá0üÉÕW_}Ùe—555‰¢(Šb:‡Ãn·»¯¯ïcûØ/ùËcËî5KƒRJ¨™+çŠJAôsÓƒ ¡aÙ€?ðÇB:RËÅb¶–O 3I ™¸ES)BÑ¡¡¡ .¸ÀÞbš¦yÆg|úÓŸnnn†'´Z­vvvöõõq—H$DQôûý0!C!Æ*àA›˜˜À˲ÜÒÒÛUU …ÀÍ.—ëÀÁ`P’$EQ€³TUäóùT*¬T*µk×®ùóçÙÀ Æ0 T²Ø°Fcö¹6׿Ú\›m)a˜¥aêcÆí–=2'H¢‰(AŒ ð:ÕOø0f™£™·ë PƒÕìö•ãö„fóÿ§M\7Ø3Á^'p2N5g@^^Ö Ú°é@Ó¹¨°,‡¦3µCÊ:À–ûLìAr], ›XÁ©‹óyN¦CöaŸ†Ó7ŽG%u_Ç¡°ëlIÃjŽg¿_vÏ;/|FÃaâø Œº™Ö»áÍQë´3€jp-iÄ¡Þÿ3hf5rd+Îßßñ^z–eÙijȺRP«ÕÒé4p¤£Ñ(Ð’kµÏóš¦ñ<ß××—H$ü~¿(ŠPù¼ÿþ¦¦¦¶¶¶ÑÑÑJ¥²páÂöööc=Κ5kDQL¥R<Ï777[–D¿ß “Éd"‘¸ûî»ûÛߎíܹ³¹¹Bå‘‘‘}ûö¹\.ȸ¾ú꫆a´¶¶z<€6ššš ê€„?œ ÆÆÆºººáK_xá…@ P*•J¥ÒLýóÇ?þQÅ\.·|ùòÉÉÉ\.·lÙ2Ðkxå•W|>$çÏŸ¿sçÎl6K)…Rgˆ“ãñ8Ð@ÞÂU‡çy0 „ÜÏÔMMM‹ƒìt¡P ”ŽŒŒ¸ÝnMÓ2™ŒÏçÓu½¯¯oåÊ•†aìܹÓ>”ÕI’b±Xss3§R­ØÇioiâ9>‘Hlݶ5‹ÅR©H0,—ËÍþæÑG#‘ˆaápÒ§Õj5Ò´há" «@0ó]­V«V«P“8ŽËd3{÷îM4'AˆÅb™LF’¤… J<àñx€(•üPƒ`ÆqKƒÝ©T*•KÇ-=îÀPö¿oÿ>Ó4[[[½^/ô›ßç—$IUÕT:519¡ëzGG‡×ëˆokÝ“l6 Ň”Ò¶¶¶¦xÓÈÈÑNDwW·ßïO¦’Pïõzý~6›Euvtú|>ÑdYþÈG>R­V-ËJ¦’CÃCápx^Ï< ä`?2:B)F}¡På‹r¹ÇyäBˆ ù|Þï÷ÃR—N§yžF£ ‘Ïç!UÞßß¿ÿ~–e½^oWW×öíÛÓé4ÐXkâC__ÐO0ÆÛ·o‡$ ¨A ÒÐÐÐÐÐP&“‰Çã•J…ã¸ÎÎÎO<Ñ0ŒR©444IJlOO΋Ŧ¦¦ŽŽUUGGGa  …¿ãîð˜ZSsT’=•š‘Ë—Ëe=S*g ÕɬʻЮ¾¡ªÅ Áw`$[#È *†ËíÑP.(  Rñç?ÿ"ä§Ÿ~p:`ˆd³Ù®®.1Éårš¦ýùÏŽÅb0+ºÝn¸¿ýýý^¯žî7ÝŽØ'„RÑí Ç›FŒ·vò’_©1É’6˜*gÊ“iU5kïYèvÂñ&^–d—KÓ´ÖÖVQo¾ùæ;ï¼ó¡‡ºúê«÷îÝ{Í5×€qæþýûaŸÇ‰D>Ÿß±cˆt‚üP¹\®V«‘H¤¥¥8>ŸÏëõjš™r¹\,¡ ã¸|>ßÚÚêr¹@ ¦££4P!P=áóù¡Èf³€z‹Å±±±@)–‡tf½æb§¹6׿Ú1$&1Q;Fµµf ·ç ñ;Qøäçdç7B’£î8@—hä½7ÚÔ©6S @cìÝhq¬Kð,ï7žU]@[g"På€ÚH¹ÕÑœéëcÝ?4f°ÑÛ.Ôy³œÐŒ™ ‡æ”S5(¾9-£a4¢BG¿µ€~°½'œ αžOÝ·Ï~½NMÓ#úS@.ľ5vo-¥ƒx‹†·JTòX›(ЬT*===’$ º˲>Ÿ$Ÿzê©J¥Tü½{÷ùvñâÅ{÷îEAI’´víÚÁÁÁ;vˆ¢èv»_ýu =ÓqžþyY–#‘Èøøx*•ŠF£Ñh´T*ÉúÀòžÿý¯Ÿ¹].˲ûöí³Ui³Ùì¶mÛš››¡|©¹¹ù§?ýé³Ï>;>>ÞÙÙ¹zõjJ)Ç.\¸ð¸í¶ÛöìÙóÑ~tÍš5o"ñ>{ÝDÝÖ¢|$š¬\yåbñöþþÉŠJ;Úçk†I)u¹ä±áouw7å²ãW_õ["b)_ŽR.—¤RQ”P(zÆ~U«ÕÇüÙgŸò#ùÈ©§žŠ1Îçó7n\¸páààà믿>11±~ýú‹.ºH’¤n¸áé§Ÿöù|'Ÿ|òòåËO>ùä–––|>ß}÷mÞ¼9•JqwþùçŸrÊ)û÷ï¿ä’K.ºè¢÷¿ÿý¹\t4Ÿ{î¹[n¹åÒK/]¹råSO=u×]w···¯_¿þ¤“N¥€áæP†¹6×æÚ›Žœ†¦iV«U%ˆÁ:±ì,·-gà ­1ÁxæŒúLQ®^:k@”º.ŸH$€_ÚÝÝ]*•Òé40Z‡‡‡çÏŸÿòË/wwwB¶oß׋/¾øÏÿüσƒƒÀ¸¾öÚkï¹çžM›6õÀ…^ Ï<óÌùóç …M›6]}õÕ÷ÜsO:þÎw¾³k×®Ç{ldd¤««k÷îݺ®‹Eð3O&“öŸ¶.¾øb„P¡PH$<Ï_wÝu›6mjooß½{÷e—]öÃþpïÞ½---’$mܸñÆo|øá‡ûûû.\899Y©TÚÛÛŠvúÇþ5 .BoÆÄÄÄ“O>yÛm·ÍÔÇü+¯¼²jÕªÑÑQAR©Ô?øÁßýîw½½½[¶liooïïï_¶lYµZÍd27n„ãìÝ»÷ / …BguV[[[rrré’¥[¶m]ùž•™l*ºO:é¤gŸ}vþüù»víu@ðK&“@Þ†t«×ëe5¯×ûƒüàÁ\¹rå}÷Ýwÿý÷G£Ñ³Ï>;}úÓŸ>ãŒ3¶oß>88øÃþðÁ„¢[ÿûÖo¼ñÚk¯½ë®»&''o½õÖ‰‰ ÇS,,XÐßßÿúë¯ÿçþçe—]ö¿þåM&'AÏ`”B±ð³ŸýlëÖ­W]uÕ²eË À;51!‚¢(‰¶¶Ÿÿüçv¿]tÑEÁ`ð¬³ÎJ4'&FGïºë®+®¸âÙgŸ=pà@{{{:“æy>‘H¼U÷q¦fƒ]×UU¥”¶¶¶ÆãñƒÞvÛm÷Þ{ïñÇÿÀÜÿýápxݺun·Ûíóe²˜¾/¾øâ“O>ù¡‡ªV«7ÝtÓwÞy饗 H<ÿꫯ¶¶´ŽŽF"MÓî½÷Þ»ï¾ûøÀO<±cÇŽ¯~õ«½óœvÚi¡ÿþïÿ¾ÿþû¿ýío¯_¿~ß¾}gžy&Y@ô®T*A€ ‹×ëM¥R¿þõ¯_zé¥óÏ?ÿÒK/}þùç¿ð…/×fppeÙ+¯¼rÓ¦M]]]ªªIaëÖ­mmmà fº)ªªªªjµZmmm-‹O<ñÄ­·Þú£ý¨³³3“ÉÜ{ï½ù|þ½ï}ï+¯¼âñxÎ<ó̻ᄏT*]~ùå\pÁC=”J¥îºë®§žzêãÿøý÷ßß××wà 7ü ÇôéP(„0S(—TKó†Ã<'~áœ/j&O±W5˜ªŠ’)弯þAÄ…bº=æºnÃ×?{úGãñ8Tiñ<_(~ÿûßùË_ƒ‰/}éKÛ·o‡[V.—Ÿyæ™Í›7_tÑE‹-zùå—ï¿ÿ~tH;óñÇ¿ùæ›o¾ùæžžž'Ÿ|òÖ[oµ­vÞÄU±>!„(N¦uBe;zÎÿþ·šÊ¨ã÷¡‘QbƼùb)‡4­$Käþçj‰#c Ok!¿’N‚ üñÉdòàÁƒwÞyçªU«€e°gÏž_ýêWçŸ~ooïÐÐÐSO=õ§?ýé´ÓNóûýO=õÇq§Ÿ~ú÷¿ÿýb±øÈ#|ñ‹_ŒD"ÿþïÿ¾qãÆr¹|à 7LNNîÛ·/?ÿüó»ví:餓Î>ûìW^y妛nÚ¿ÿ¥—^ºxñâžžp3Íår;vìèêêZ¾|ùwÜñðÃö³Ÿ=ùä“ó›ßìܹ“ã¸õë×G£Q`ä«b.pšksm®3Ðà(ÝwºØdl¨7g;$žŠè,„Ÿ×uýÞ{ïýâ¿ø¯ÿú¯Ç-Y²ä§?ýéµ×^ÛÚÚ  R’$AéøØÃTÓ4(yýÃþpå•W~üãƒ3*±!2„3‘e9“É€ZÜ Hp¹\@tww‹E—Ë%ÂÐÐP[[è8ž{î¹ÿøÇa2%„ÜsÏ=7ÞxcsssWW×Ò¥K/¾øâÇTè$Iºé¦›Ö®][*•𛛝¿þúçž{ªÊY–… ŽææfسºÝnEQ`š®V«×_ý…^xî¹çÖjµ•+W~ãß@y<¸7nìêêŠÅb§žzê¿øÅ믿> ©ªêr¹n¹å–+V”Ëåh4šËåA…(†«î#\;ô˜,Ë¢(Þ{ï½W^yåêÕ«yž_¾|ù5×\sÿý÷€Ú·oß¼yóÀ "CÐP§7MÓü~ÿØØØèè(˲×]wÝ{ßû^†a–.]zÕUWýâ¿€¼:Bh`p ···X*Ä2àµZÍïóƒéC¡Pe’Ò蟥ßï{Žk®¹æ„NÈårŸüä'Ï;ï¼xÊËc±ØŸþô§ï~÷» ¾yÙe—Ýwß}‚  …;î¸cÆ üà›âM---çŸ~[k[±X4 c||ü‰'ž¸êª«î¼óÎÓN;­X*ʲœËå¡0Ïó`ñÄOœwÞy Ax 'lذº\ñ®ºê*Ç‹ÆZ[[/ºè"È…f²Éí¾ãŽ;–/_^.—‰„¢(öìðVÕ«ÏÔ<O¾÷ù|ðhT«UÈÖÞxã+W®TUõ_þå_N9唻ᄏ½­R)•@t“òÔSO}îsŸëêì ‡Ãßÿþ÷Ÿxâ ŸÏwðàÁEK–ð<_*—|>Ÿ$J™Læw¿ûÝé§Ÿ¾ñÿÛÈ0Lggç 7Üpã7†1>>þÈ#\xá…ŸøÄ'ªÕê²eË®¿þzEQ$Iòz½ 5» I’B¡ÐÈȈÏç{ôÑG?üáýë_noo¿úê«=O&“1 Ãï÷oÚ´)ƒ7D:N§Óñx< A=”NÀz wÄb±Ë/¿ü»ßýîG?úÑ@ ÐÛÛ{å•W2 .$×\s͇>ô!¯×+Šâý×=óÌ3êyøá‡Ï;ï¼ .¸@Ó´æææk¯½öhæaç>À^Nê(s@ JdQ4MxÛ&UÂ/¦i‚Áí1µB¡e,º®Ã™”J¥‘‘‘\.·sçÎTJ©V«Û¶mëëë+—Ë}}}`ÿÙßß^ ÅbqxxxË–-½½½€ðžvÚi›6m‚‡È4Íûî»ïÜsÏíêêÊçóË–-;å”SàTs¹ÜæÍ›?ÿùσ!ÅŠ+Î8ã (¯8¦V*•€Ä[( ‚À™^ÓuÞ~o©TÊçó°äûãøøäø¸ÙßߟL&µ;vïØ±`hB(€ª`Q)ÂÉ'Ÿ¼dÉ’³Ï>ûË_þòk¯½öµ¯} ìpÁ7 ZázmÞ‡}³àFÀi8ËC«Z™]ó:}J¶ƒÓ³»ËîR»~ÄþŒÍ(K†ÿ…ÍWa3(Œ(§°…“lbß,@ÓLÓÔu¶¾6*}B0äçÓo¶Ù–‰«Ã}ì~€ {<ñĦiØ0„}>¶'(Ïó’$ÅÜt£"ØLªª cÆÞRÂÓj;Ø…HÐuïxFè“cŒ_|ñÅÇ{,ŸÏkš‹ÅV­Z500N Ô?44½PSÉd/^ŒzõÕW;;;Óé´$I‘Hä‰'ž¸ýöÛÁ­}éÒ¥²,O{°®T%›Í.Y²!ôÚk¯uvv @J¥ÆØãñÀjjj×Csc„îkµÚ 'œÐÒÒ’J¥òù<ŽŽІ<çœs¾üå/+вhÑ"UU{zzàhš¦ƒAÄãŽ;N×õL&}cÈT“²¬eË–Åb±b±xöÙgéK_*—ËÛ·oGxâ‰àj622rñÅoذ¡T*I’”ËåÖ¯_æoë},—Ëнö´k×.ˆ.€#ÝÛÛûúë¯ÃÃ/IÒ‚ ²Ùl>Ÿ§”†ÃáZ­&Ër©Tb Ÿùóç×jµP(‡W¬X199év» !½½½¯¾ú*–¯·«³«P.ÁqB¡}RËåsPNìúp(œÉfTUÅbÁ@N!´víZÐù+—ËkÖ¬ùú׿5ÒÉdò‚ .€ãp8œÍfçõÌÛ²eËi§–ÍfY–õx<‹/Þ½gw"‘ðùý·ÝvÛc=öøãÇãñ={ö€kÃ0ýýmmm úþ /<üðT¸µ´ IDATÃp>»víZ»vm$W¥µ¥5=9¹~ýzQGFG‚ÁàÿzÆç?ÿù›nº ä½^¯$Iöú ãäï¬^½z×®]n·{^ϼóÎ;ïÛßøÆÐð×ëíèî†éa˜O|â“““;wìp{<¡J©äõx.X¸w×®x,^*—X–ݳwOï¢Þçž{î/ùËEßúÃóPQ-•—/_þâ‹/ÞsÏ= nâv»×­[‚ P%ñ¨E¨ª UÏ>ûì¯~õ+Ã0àÑX½z5ÀOÝÝÝÙl–çù®®.ö€ùT×uxL ¬p«d2 Z- «·uëVBÈ)§œ²sçÎÖÖVXŠÀûS„@ [.Xz=O©Tòù|{öì$ §ŽŽŽYŒ'ê,‹¦­Ð;V Û˜(U”² cj泋¿öw{ûFãŸÈŸ÷ÕËårÏ=û´ß'Uk`t<ãÎÎNˆÆ‰Ä¶mÛ-ZóÞè訢(Çü /¼°víÚr¹<99 r¶ªª._¾|ÅŠ¯¿þz0,‹>úèW¾òÓ4áé>õÔSo¾ùæc½„£É¢8XÔåb JJ7Š›ÿðøÁƒEňÇÚJJE×õ@ÀŸIŽxÜì‚­¢h•”¤‹§„Xù¼âv»{{{7lØ{Ö;wÞ~ûíO=õÔ‡>ô!Øc}ó›ß\¸páæÍ›ÁU–e–e‰„ËåÒu½³³³\.à  AÜ Ø·¦iår¹³³ œD"ÁqÜÖ­[ƒÁ ßïçy~pp°§§gtttÛ¶m,Ë®^½ztttëÖ­Û·oPô:© * Ø+šÎ3lÎub®Íµ¹vFÃ!ÈÛf.Ȳ q"D¶ºnÚRv …H[Ô2Maö˜¾ÞÎÔôìcÐ#´¹¶Ä ]8ædËÛœèðJ‡Y¦D§.ƒBÛ Yh;ò¬Ób˜I¡t¦Í%$Ι|ZWˆ™>'ÀŽÛëH"Î~hÄ_Á#J)B,¸„8¹ Ћ)MfWv°»ÚyD†FOSÛ-µñ*` íü:BÂpJ–³[l)gmŽóŽL[]âÔ¼8›Ïi;9|O¦} @lüÞ:§ääô‰äwú„EÒ¦x½^àá{½^UUfYâ´d2 Ié‘‘„P[[Ƹ»»{Ë–-kÖ¬q»Ý¢(655E£ÑÝ»wƒp]ãq4M›œœ„ã #„€õR°P((-ÎårÑh 2Žã²Ù,„©àˆn˲ *·xñb çOLL»;ÛD‰‘‘‘ŽŽŽl6ÛÚÚ Ú9P+Q©TÀo¯¹¹¹P(€;:°ýÇÆÆFFF@c`ãññq„P(Z¿~½+Ð{àÀÇŠ@ ™LŽC.úíkP6¢iŒxQAfºr«K°hnnæl¾?Î ,ËîÞ½;¦R)ð˜€EÐD(ÿF  b–mjjýÅj¹,Ë2Hr¾(IR*•òù|ããã•JÂuJi¡XBGåÿgïKÃ㨮´ï­ªÞ÷EêÖÖÚ%Ë;^À,BL¶ÂÀøBHBâL˜,ÀL†„€˜„0É@2,f1Æ@lc[²dKÖÚRKê}­î®ªûý8ÒõUu·,926¤ÏzDÓ®®åVÝ{Þóž÷M¥Bï¿ÿþ'?ñI‡Ý1<2œL&++*5Í…^xÆgÜ|óÍ‹/ýB§ÍÖÒÜÒw°oÑ¢E`»èõxãŒqee¥Åb‰G"'Ÿ|ò¦M› ŠÛÐÐ088ر¨C£Ñ8ξ¾>·Ûírºˆ$™L¦×ßxýôÓNîFp|ÜëõÆâ1OuõØØ˜Ïçµ¼ÁÁA§Óéóùü~?ÜP Ü@ƒN§[±|E:“ŽÆ¢@@g4Öûê³¹ìàààÈÈH]]Ý—¾ô¥¶¶¶û££#‰x½^§ÓBšZ[‡G†œêXÔ108‹Å:;;[š[bñØää¤Óé4h´ðÄ%äœ é e“þþ~5™L0´’É$è§ „@*pßŠŠ (YÀ$wâ‰'F£Qà†@çECCdÔ××j‰D˜[›Í¶zõjBH:®¨¨p¹\ûöíK¥RkÖ¬ÉR—Ë•J¥`$Ã?7¨c(ŠíñÐê5;Ê úD¥„<ß„£šЀõz-ÁH§ôZ­Íé¸ãöÛ*<¾H,ïrW|ç;?õ¸,éx°­±úæ/Ý@P΢•1BH¶··w||ÜãñB}ôѧžzjéÒ¥©T $röíÛ·nÝ:À¡FFF–.]:88ØÕÕåñxV®\Ù×××ÔÔDaB@E“““óêPÇPƒ }O­~Ñ`ƼNºé¦‹,W&«Ä“9Oe­ Ó§R)­VHÆ‚f“F§A‰DÈ唈$+é|"•2 <Ïëõz“ÉÔÞÞ~Þyç½ùæ›Ë–-óù|£££/¼ð‚^¯7 Ú‚¾}}}0ð`ˆÂê\§Ó ³Ù 6€Gì€Õjõz½Ñh”çù‹/¾¸««K£ÑœsÎ9›6mZ¿~}2™¬®®®©©¹ë®»@XÄh4ŽŒŒ€Kk"‘H&“õõõáp¸¬ÑPŽr”c¾ïUÊ‚ A¯×  æ8NRd(>SYhJަ•jB/üM@}u—ÊÕ)¥œf’´b¬êü§\WVú~!³$ì®X µ µ+X8_«š)TYQ— 4Óõ1„ª‰ òJ„ë€f:zRM‡Â˜Õd…h@¥Å€Šþ§*i/µæ¡&£* Õ)S ™Ö›3RtI’ŠØ|Xl(…øŒ•Þ$, Wk0~殈Y ³(1”šÄi¿üÍÞÍ¢ëCÕ-8Ô…ñ1`4€ÕÂe—]öÄOh4¯×;99ùÜsÏ544ã`Ñ¢E!£ÑÚ~¿ßétÚl6¯×‹WÈžžžŽŽŽþþ~§ÓùôÓOgÛ`0”ÚO8†ýÀr !488¨Õjûúúúúú‰TŠ2™ ô/B‡Éd²Ûí²,ÃZ§ÓÕÔÔ@–k0*++EQliiùío …t:ÝêÕ«÷îÝ»fÍšP(h‚Á`0›ÍƒÁ`0˜L¦\.g·ÛN'€¬'‘H€Üc[[\«ÕªÑhÎ;ï¼?ýéO`À®Óé^{í5½^ÿæ›or—N§·oßn·Û5ÃáØ¼ys[[[EE†[ZZ '?ªa6›Á”4‹yòÒ¥KŸ}öY«Õ‰DdYÞ²eËå—_.Š"¢óù¼N§ ƒ‚ 8p®I>Ÿ7›Í„“ÉTˆÚÚZƒÁðÎ;ïX­V°‘ß²e ŒEM€`?v— ö£Õj!åK§ÃÙÜÜ .ƒA’¤h4ªÑhê}õV«uË–-ŸüÄ'ã‰øÀàÀŸÿüçõë×ïëÞ'ŠâÞ½{¯¿þúŽŽŽÚÚÚ\.÷§?ý !´·s¯Ûí–$©§§§ººzÿýF£1™Lº]î®®.Ѹ|ùòï~÷»×\sÍ믿®Õj†G†9ŽëëëCÊ`(xÒ)§lÞ¼ùôÓNØ·o_ À‚ÐÒøèèàààÄÄ„Åb©«­ƒbøØØXMM hX' ÞhTlöXÅ /¼019IxOOÏg>ó™‰É‰T*åv»A0µ»»ûßø†Çãá8Îjµ>ûì³À¦Óétccc&“ ÜCÑ0Æø²Ë.Û¶m[2•Ôét-Í-ñxÜd2 ]sÍ5ï¾û.° ü~ÿæÍ›M&S[[¤ô@“ÌH¯×FsÉ%—<þøã +QUUõÔSOi4·Û=11J§Ó}}}6› vËó|ggg:v8ccc‰D¢¦¦Ô wíÚ•N§ÁÕï÷k4šíÛ·WWW¿ýöÛmmm###---hº(èõúÚÚZ¸û|ðAUUUOOÇãéîî†Dñ°sŒ „>2K Õ$¤Ì7ˆ¤)Š…#“C}]»+6ËÕ‡œ“#Áˬ㥉áƒéØD6>¡ã”t2(Ì)§œb³Ù ºþ³Ÿýì…^xê©§~ó›ßüë¿þë·¿ýma].WSSÈÙŽŒŒ`Œ7oÞ „#¿ßúé§ÿñìííåyÞãñ¼õÖ[UUUÊߥìƝHC=Ã=Í.›UiivÔTi´º˜N1›’F}¬²WyµŽU{Ã=ãc²œ7 Ѓãv»9ŽËf³Z­öÒK/à8npppÅŠ´Úl6Ã;‡ÃoENGÑ´9üþýû÷ïßÍeË–-óûýÉdÈzÏ=÷ aŒ/æõz7mÚ´oß¾Õ«WÃ+Âáp~±sçÎT*&;‰D–~¿¿ÐM­œD•£å˜=xžÇ3‹´43QìÙ$J9V|qÄŠYƒz.²½l}˜•'`Y™=\:ØŽÖ,ð°þ—s™Ý擵¢d‘ú Ë·g]„TW øÿªPý.Ûó_èJÀ ¨’a`(%°‰.f(0…Y·Ê‘ÍÔ€Tu|¨ÄU¾ž*î'Ýáç…œª;5 C•ö+e÷Éj”òDæ^(bG»U­pX² ;Þh‘RujE…Bgˆ°~Ô_X Pá9ñÄŸ~úé?ýéOà1þØc]tÑEMMM^¯·¦¦æÁ|ï½÷¬VëÖ­[/½ôÒp8 µ A¬VkwwwuuµÝnEñöÛoê©§¶nÝÇ·nÝ:Ë~.»ì2°£û%Zkk+B «ªªG8¡²²2 (iJ’d6›ý~"‘p: ,¨Õjoºé¦Ÿÿüç@ ›Íþæ7¿¹û¼òJ‹Å²mÛ6 ÊBºËó<]EQ …B•••»ví‚ò>îÚµ«©©ÉjµBÞrùå—?üðÿþõ¯¡äÇ?þ±(Šëׯ~Ç7¿ùÍ={öär¹-[¶üèG?úò—¿üþûïg2™æææ]»vEö¨F4EšAÌf³(Š^xá¦M›Þ}÷Ýx<ÞÕÕuÿý÷{<‡ÃáñxÎ>ûìüàF£1 ýõ¯ýÔ§>•L& ÀqÜÛo¿=11‘H$–-[&IR&“ù÷ÿ÷íÛ·ÇãñÎÎNØ 3çœsÎ}÷Ýg4ƒÁàŽ;Î:ë¬D"û±X,{öìÏÂÊŠÊÞ¾^¿ßž=h@³b<ùéOúÒË/_{{ûí·ß¾eËI’ü~ÿöØc¯¿þzGGÇäää›o¾©ÓéÍY¶lÙ[o½˜çŸþÑG¥e„¹» ›Å·œ6Ñ6×7ØLF‹NKÆ&ÄÔD63žËŒ+ùP63žŠE‚þ ÿ ¬FCkc“ÅlVð#xkª…,ËçœsÎ[o½µdÉ’SN9å±ÇÄS¯×¿ñÆ?ùÉOöïßo2™ØFJhÙÓh40ÝóåÔSO…D"ÑÒÒòÖ[ouuu…B¡?üáï½÷Þúõë5M.—s:à—444tá…êõz»Ýþî»ï~úÓŸþË_þòÆo¬X±" ¾÷Þ{/½ôÒØØX&“³Uv}VFÊQŽrÌ1ÃW%„²,ë LÙ`Ž<èR‰ÚS9K‚=ËïÒüŠM´J}Ÿj1íRqè›(LP(„æfs7M˜@Ãì|vºD¡ã -5±Ð짨°…ŠÀ溬d°Ÿ¹ì¿p¥]*tZQŽÒëY eP•ÓéÕ˘eIÃj[¢™­4]§¤‡bÑ*[@;&¨†E¡¸)ÇKÝ‚ÂSžË„«&]jaûŒê*±W@ôßÒ?fþ>ò­ccc‚ 444\|ñűXlÓ¦MÿüÏÿŒúáxúé§ïß¿¿¹¹ù»ßýî£>zóÍ7ûýþO~ò“7nܰaCkkëŽ;xàöövHöïß_]]}É%—d2™;î¸ãàÁƒ'žxâõ×__t?'žxâÆ¿ð…/´µµýõ¯}àÚÚÚ/Ø´iÓUW]…êééQÅb±€†œÃáH§Óz½~Ù²e©T ÄÃ|>ßÀÀ@SSp¶óùüõ×_ßßßÍ5× /_¾|Æ kÖ¬©¯¯‡Ìú/ œ‰DV¬XE°7Þ|óÍCCC¯¼òJGGÇÄÄD>Ÿïïï‡v’ÓN;-nÞ¼ù[ßúV6›ýáøä“O¾ôÒK«V­r¹\·Þzë…^´‹»ï¾ûꫯž¾¾>ÐÎéÄ£ðì™ÍæP((ÌÍ7ßœN§¯½öÚáááeË–}ùË_¾õÖ[{zz8ðÐCÝ{ï½n·Ûëõú|¾ßþö·W^y%dÚ·ß~ûC=ôæ›oVTT<ÿüó«V­2™LŸýìg¯»î:ØÏ-·ÜrË-·(ðÐCmܸÑn±ÔÖ×û|¾gžyæÊ+¯„Žå¯~õ«>øà•—_|õÕW‘Éd€}€1†¾˜‘‘‘ÅË–­[·î«_ý*ø}Üpà ŸûÜçÒéôÄÄijÏ>{ß}÷­^½:‹­\½úŽ;î¸ýöÛ,Ë7|ÑjµÞyç»wŸ¸nÝu×]‰DDQŒÅbN§S–å={öüñ¼ñƯ¾úêo}ë[P¥ç8®¶¶öþᆇ‡7nÜØÝÝ]__÷Ýwÿû߇’ccKËI'tÕUW%‰ÊÊÊ/~ñ‹k×®õÕùòR([¬ïÜå|R|ö³Ÿ=ÿüóƒÁàŠ+>÷¹Ï]tÑE²,775;ÜîÁ¡Á–––-[¶ÜtÓM÷ß?!díÚµ÷ÜsÏw¾óp$œËå¾öµ¯mذòóÑÑQI’.ºè"³ÙüÔSO}ÿûßøýçþ—_Î#_ÿú×=Ï5×\“H$V®\yòÉ'‹¢ØÛÛëõz¿‰Gž­¨¨¸êª«‚Áà† €œ×]w}ó›ßª««Y¶lY___$ikk2›Í@´x‚QˆÏçƒî*È÷€PóÈ#ÜtÓMn·ûë_ÿºËåêììlmmž]ÍTTT@ëÓ† êêêþã?þãî»ï6›ÍW_}õaé hº-° ŸKëDÑYm~}!$÷öt›¬&»Ë’“r²œÍ¤¢^ÁHSQ —ö·OÆc!­'B~“c‰&¤¥©™ GGG<ØÑÑ!Âää$¬ùÍfó¹çžûÎ;ïôöö¶´´lذáÁœ˜˜Xµj•N§‹ÅbË–-ëíí½ôÒKŸyæ™ë¯¿>žvÚiÿôOÿôä“O½%+«É=èʃÖj°Œ“‘l.NBc‘L,k5I:AcÔëF!:½AB<N’át6¦QL’‰Åb;í´Ó`‘­Õjm6[>Ÿ_¶lÙÏ~ö³‹.º¨¥¥åŽ;îxöÙgï¸ãBÈ…^¸víÚU«Võõõåóùp8ìóùR©ÃÒ¥KAQnÙ¶mÛÆõù|\pÁ£>úÌ3Ï<üðÃ---gžyæÉ'Ÿ ÒkN§ó¶Ûn»á†ššš–/_Æ:‹-Z¹råã?ÞÕÕõ裊¢¸bÅŠÅ‹·¶¶&“Ižç­V+‹Ý”Ó§r”£s 6…t €H]5 x&_ŠÑ (Š€ŽãÐ<[á0ƈ BùýYÖ¥!S‰>v"`M1áCvŠdñýRS'­3«Œ'Š’ÞU¥ æªSSU³;ß¡c#DŒ CÑ&Ĩ¨½*ð‚B ¨XÏó„é¿8dÛ9}ßUÐ?-*ÈÂ–Š©% Q »H í§«¨ÍÊC°ëgöÃCccêçp!¢Q¨z ÂT¬U ë%1w¬13¬Aeî¨VŒhº•ƒ¥–°~ªÖž¢S[­æh²â1<]JaOÈïÿû‹/¾c<:: wÑ`0@=v^†Þµ!ŸÏ¯^½ººº`Å?<<ìñx0ÆÐb:>>žN§/^ ®{öìiiiQeppÐf³±&·n·»è~âñ¸Ãá¯GØÉdêìì´X,>Ÿ/8pÀjµ666f³Y¿ßo2™ µÕãñlÙ²t¼s¹´ƒE8žœœlmm˜˜€<c\UU5<<œJ¥\.×ää¤Ëå‚{l±X‰ÄÎ;O=õT/øàƒjjjœNg6›íïï÷x< TÜ(´r‰Dš››7mÚô‹_üâ¯ýëo¼±téR“É”J¥@h4&ÆÇÇW¬X144äv»)÷èdn·š‡Bgdd!v¡~¿ßb±477ƒf/!¤¢¢¢»»Ûn·µ´´hµZ qPª›Ûí>pàÀ 'œ022úg°«ÕÚÒÒ’ÍfÓbcìpºô°Ûí£££---:nçÎMMMÑhFWScS8ŽÇãÐN"Š"X„€HûÀÀÀ¢öE±xŒ***²Ù¬×ë÷ŠH$’Ï盚š@gØn³÷ìƒ#q»Ý 3ÙÕÕÕÒÒ$™LF£Ñ„B¡z_=BèƒÝ¬X¾¢·¯·®®®¿¿Qû¢P8ý½¡³«¤4ÆÆÆ.½ôÒÎÎN Á$«pWD¢‘H$âr¹b±¨“¢ÔG ’wdk ÛÙŪªªt* !'EÑl6ƒ5I$ù|¾²²R#hü£þšêš]쪫«s9]CÃCt?£££Ðç #Üãñ »ÝîT,^[[;>>ÇA@0…úúúÝ»w766rô•„B¡††ƒÁ …0ÆÔRtÏž=­­­ƒ/Pvnll4™L;wî\ºtéÐÐÜèH$¢Ñh@BQ”†††-[¶¬\¹šêÁïÆjµŠ¢X__8`:njjúË_þ²|ùrPò¯¨¨ðxîZØb ¼|à¬yž_·nÝ믿¾}ûvŒñÙgŸÝÞÞ.Ë2¼Àýáþûï¿õÖ[GFFæËVÕ`Žçq^É¥Ä8§ås’l¶º²YN¯³åD¢áµ91L贊áÓé4bFN&ÓétZ§Ó­Y³fçÎ@4“eÙf³Y­Ö;wšL¦ºººîîîÕ«WONNZ,–ááaÀp—,Y²wï^­V[YY¹oß>—ËåóùDQüàƒš›› êË_P·Q¥¾¾þ?ÿó?o½õV„ÐC=ô¥/}ippà|Q5¼Þ 1#cåäœÑ¢$Ã<£ñ¨¢(nwʋɞIæ ZCŅÅÔèÄðêµ+<˜Ïç/H&“À¯©=“Éd³YxóBÀÜatt$r¹\KKËÞ½{Aä5“ÉôõõQvžV«¨Îívm'‰@Ã,˜’É$pdÆÆÆN?ýô÷ßßét"„ hÄ€ÕN.—ºÈå(ŠM‡µµµO<ñÄ7ÞJ"Ô˜½¿¿¿½½Än`éïïÐ^t ”|l»·ÊñQ "À³f2D1700°víZUÿ¡z&F!¥¬Lºp1ïGUf0YÄ!„l9>'Š&«mùòå+WÐÜÜ\]]ëqX«í:—Ýd±Y%DÂÑøÀÈPç¾îƒý†&''ƒãÁX,&&S™L†S8A«‘•’÷—º0ÀjÐb±˜mNÉšW8VsæDZlg–˜ÀæØTÀŸ~Èú”Zü̱6€¦uŠŠíÁ‚‡%ùÃa”\ŸK2å展vH.Š&º4#¿ 85xKSÀ¦Eªm¡bÚÃË¿èZÀt–q× È)ŠN§SˆÄö•P ƒmZd NÞ*ÍÆÞ¯Cˆ2)J€îið%aù¿”Œ‹(: `â£>SÓ7ç(#Æ…^^ ^PO ö\TDTz=U CQµE°?ÇþÍê7³W›2PØ»L‘Å}ŽàrŠŠgQ(Ò¡BÁ>òŒQM&S(r»ÝãããË—/*Aeeekkk,‹F£@+3ÃÃÃÍÍÍ:®··!d4‰ÄÄÄDss³ ûöíìJñþ IDAT‘óh4:<<\j?CCCMMMZ­¶·· &Àem||\–eŸÏ§ÕjGGGAF!4:: HÊúõëwïÞ][[Kill étZ„T*U[[Ûßßïv»¡¦„GÌ|>oµZÁEÌï÷7;•J}úÓŸîë냧Ì/&''£ÑèêÕ«@h````éÒ¥V«õ _øÂu×]wöÙg¿òÊ+Ï<óÌ'>ñ‰SN9% …B!(€[,–p8¬(ÊÚµkß~ûí“O>ytttjÖ ©T à°oEQzzz¬Vë 'œ€1†NlX¡ŽŽŽú|>EQÚÛÛƒÁ Ùl^¾|9¼PB¡e‘€þ¥Åbý¬ZµŠã8p4ÔjµœÀÆõuu2!‹-Ÿœ´šÍË—/MN675ËRþ@_ßÄxÀj·ç¦½èœN§^¯EQ„ššš±À˜ÙlN&“>Ÿúòù<(S€Éf³½½½‹- Q‘H¤ººº®®N«ÕŽC>}“<Ï766è=PUU•H$êêêBáP4ÕétÉdò’K.ùå/ép8ºººî¸ãŽË/¿\§ÓÆ@ ÐÚÒšËçFGGív{(­xY–Á"µôEy ['"ÑÆxxp°©¹%œÔëõ“Éétæ³ÙÉP¨ÊãAU{½yY~ïÝí«Ö¬ ‡‚BCÃCõuuáhÔi·Oƒ&ƒÁh6çD1[Íæ\.×ÔÐ0>>îóùÞ{ï½ÖÖVAà‰“ááášššX, Zuu58•644¤R©ñññT*ÕÑÑBý;wî\±bÅŽ; §&‘Hx½^`¹÷÷÷¯\¹A· e!„ tÒI©Têƒ>hkkƒÄ 0¿ß2.ƒa×®]'Ÿ|²$I©T l`` ££#×ÖÖêõú\.çr¹¢Ñ¨×ëíìì„„°ø #ñ+HÁËq˘pˆÃHæ§ “ù ôYÕZÌ‹œŒòùBœÝb³ZP2’tRMuýî]¸öö_`|˜Ã$89i±¸E9餓8°eË–o~ó› h+ŠâÄÄÐ8S[[»gÏžwÞygbb–5ƒã¸@ jÄÁ`ÐëõîÞ½à'@O9å”`0˜ËåÒé´ÍfÛºuëâÅ‹aJ ÕÕÕŠ¢D£Q°°2›Í²,ƒ9ÅŽ;À­YQO=õÔ€‚‰Íf …B‡# Úl¶p8¼hÑ"ø•2¡j`Ál…™RÖ¡-‡°‚°‚H`8.!zçš¾A„“$ M'i‚ ‚ª#Z­Và !9/e³Ù|69žœË#YÁkxAs²¢H’„Á8`„‰z‹ÈÔ`¶²,Ë a+·–ZâR2dŠÿÒ„™ÍôdYfæ¹4”±Ýlñ¼TÁT.ª(²¢@Yà8IQx £±[„ajHl=œ=NVÇ¡T7 $ðpP8%›a‰°Î‹Ex‚‚žvdÒÀ')óŒ9Œ1EX Ì,ÓôÔ1D0æ’áÂc…a… ~ês¬LùYÐ Пc;U**Ž HÔ!cÌM©'’BD‰í+¡õ! §¥ÛÌŸLª¦¨¨´9ÑÜ\'èY«t1J¹NЮµˆÃB1 º!ÌÁ@<ŠŒ†ã-’Édsssww·×ë5™LCCCUUUÁ`ÐívŸ/¸\.@Ž^H¹÷‹/¾øä“OîÛ·Ïh4Þ}÷ÝëÖ­ëèèÇ>³Ù ¨ÄñV\*u<¥<½^îžšGN:é¤mÛ¶étº¢T.:I!sŒ`›Ïæ‡=•cã›Å:>9á´;rR^«×+Š299éñxâñxeee$8ó¨V Æ ЀÕjÇãÏ>ûì“O>¹wïÞŽŽŽ .¸à¢‹.jkkS%—ËiµÚãíQ—‡ŠŠ ¤Ty«ôX¿~}wWBE DVŠ.èq¸ÈÒB!2Qèv–q ¾ÃáK‘@ PYY AàUVVÆãq¯× iÞ‡€µ-ÈøÁœ `Ä#^Á G8‰HXÁ2’‘ŒòJ^É+‘ŒrrNÊJù|V‘ó Õ²uëÖ7ÞxC«ÕžwÞyµµµ  £Èd2ýèG?úâ¿8<<¬Õjç° MÈÔú‡C„ƒµ&!(Ó_;¾Þ?€Q£é¶¶¶xàž{îAýà?øÿïÿíß¿Ÿ:x ¦x4Ñ z^Ó#–žáè{‡`åÐõù(æ}ëõzFó?ÿó?·ÝvÌt‰D^VeFC9°â†Zu…“?5M/LžA¢øPõ Ð5€cà‡ ô sáõ‘¤ ‡Ìº…Od%/åYÉs<x-ÇÏx@àBÑã)ÊDàfדt•¨H2â09z݈¬¨X,E¢ÔxN&“p‚lÙˆºÓ½?SËNI’dEBi4×?ët:½^ E©¨¨xä‘GªªªÂápɵ2™ÞâC[(ÊyÉårõôôÜ|óÍÛ¶mÓ b&ÓÔÚ …báps[Û#ŸÅbÐæ}|.D´Z­^¯ïééá8®©©é¥—^šNÀ˜»0u/àý‡Jm‰°%¢[¢0C"„ å0UVY–-Ëo¼qË-· €æÿàà F£ÉçókÖ¬yä‘GÚÛÛGGGC¡ÐêÕ«Kµ*|‰Ü<ÐŒ0âÐ[vœ‚ "œ‚„8+ÌßS_+º+³Ù k hFCår¹ºº:°Å=â³™F÷e„JµbÉÇÕ¸íîîÖét.—Ëd2ɲFæC‘ ô¦e2ï­¬¬œQÆ›ýì>ú<ì²Ù,RÀz PÑòb G-”b[Ìd›!•9 ÇÃm "ÓÀÔ¯(2&²,IJ>ŸÏŠyQE1—ÉdÒ#ƒš RƘç8-?å•ȧs2ÆX¡É7Ë– ¥s’q-Gfð ‡BBa'?í7dËõ¬[J΀-ü²íú%¹bœsVhU7P…ÇF˜‚aý—qcð‚aD+álá]åþ h6«¢*ƒƒu¦€tW–ešIÂOÐ.€Œ ™ãQA2É#!$!„A!„p<ÂÜ´/&‘ ±lÂ̺6°?! Ž2Mw‚9–°+|¤HÄô)½5¥VÐLQ˜€[6À<«=fŠg©\4ZÐRåÿtψ¡“†ÅöÅq2_Nb!D0”d(Z‡‚<· 4,p ,^¼ø¿þ뿼^ouuu4Iy·Û‰D|>_4N»F£÷Ä£z<  w!¯× âõõõ„°Êƒ^, ¯~¤¯?P¿ S„‰‰‰ /¼0Ìw?ÙlÈØ<ϯX±â—¿ü¥N§óTy#‘ˆ§ª*‘H@ÖÚÒJKΣz^ ]¡×ëÁG#—Ë™Íæ–悈(Š’$‰¢- &x¼Ý`” ÛårAÃÂÒ%K“±Ø|ìB*`á´ÍŠîÝ (íŸ{î¹/¼ð‚F£±Z­V«uttÔårASÌÒ¥K¡SÉjµ&“Éãíz?¯…[X5® ´tuvv ‚°råÊ¿«÷y{{;¼I¢Ñh(òù|€¼ø|¾žž·Ûír¹*++kjjôz}:þûÊ$%‹ s799 ø‚Çã™Ýµå(Çß5¡(P{…–o+EQÌ)ešâAõT.ŒS¹–¢ R̾™¢‰ 2Ïçu:GfÈ Ò´ÊﳺìƒÖŸ)Àj%Ðÿ˦‚h¦°_aPÛ4Sã@E­§?'L-b³ñ²9yaΧ©èá©€š‡Ó[U‹hF@# ½/ìI©f îÈJ,³²ìþá ¨ &Š:†²kBžãUmˆÑ/˜eUè+Y*¿P$•6  ”CÎ hÆá©Ntİ@ƒêØŽ zGèwT‚Gø<‹Rû¢jì¸BÁÒˆuQ…g¼ 4,pH’d³ÙZ[[Apbb¢¶¶¶¶¶6›Í‚öÇq•••n·Ûï÷ÎÒk½ ‘Ïçáí ŠðÉØØ˜Ýn&˜±+Š2‹gÏG(€2™Lz½~ïÞ½uuu“““`L8÷¯¬¬Áï÷cŒ}>Ÿ^¯G#.—  ÛÙ?êWΣ}^.— žXƒÁš‘“““´·H@¦‚ïãí¾är9›Í–N§€Ãáp:‘H$ Õx¼óØéŸ¹Q‰ ÕétÔëõ555 Ù‘H$Ünw:ùÀÁÁAEQª««(4Çäº+ù žç#‘0et:ݺuë@jtëÖ­WïsPL´Z­cPß8묳\.Bhùòå›7oçmAòàïêú`çr¹-ZRDñxœŠN•£å(GÑy0é=µiÔjŽ×h4DÆ‚§y/+Ê8Õ3O¢(¸tZ¥b‰ÃòIÇdžìܸ(U2(CA-’7Íq Òã…N ôβaS}•AQ‰n•ŸB!Ç^•“OY•î²€ûez lî:%7À ?ôH ÷’IøÏó´Ó¤(Ð@éô:«Ü4TgGµY,¦PV Pƒ2X…]Fªp õcöõ§j'ìoÁÈQE!3˜/*ëB  …KYÖ°ƒ‚’$Á‚Ÿ-oš×ó8_FmaǪéU¥H™p¼5<^ccc©T ¤¶\.ˆÆUWW»Ýn“É”Ífc±˜,Ëäd2™£z<‰DÂb±P;b(,çrS;Çj]6›=Õz»,œÔ¢F£×ëðx<óM C$áy¾ºº:—Ë%‰P(d²˜³Ù,äü@@§ÓÙl¶ŠŠ °8ªçåt8ã‰8 Ð!äv*Üï˜ ÁÙḺ/ñx¼¶¦–çù@ H$`àMñÌçó⣌>ÕD2á%U€¢^4¹VŽãr¹€:Îét‚XÈLJ µbŸ.VTðvÒét `…0_Àî£&‘H˜Íf¡¬¯¯‡AØØØxöÙg×××õ#™LZ,–\;¯ëƒ‰ÓT*¥(J6›µÛíeyÈr”£³Ì/! þ¨Óé ƒÑh4™LV«ÎdàAàrb&›§Æl{¾[1&Óí•´bO‹çSÝÓ”o¶¡}.I6¿-\Š”z õ#¤&\ü”x¶Ë€:k¨*7öÀh®H%'£ y”{„¶öÎ";Ôd‘"PàŽÁ¦¯¥\9«ªP *å܉йK–ʃX·–n£Â­¦®•@ÀŒ&4Ó]R5®Ø1€ ÜCU_£,Æ1Õ"t”ó8ÖÜ”ž¸o°B’Ê2аÀvt™LìÖ, ô& ‚AºÑh„LXG{@X,F}³ð@ÂF€ U¯F£Óé>ê”WÊ/˜œœ$„ÔÔÔôõõá¼öSQQÇÁ 1dëv¹÷uïsWVºœ®l6k³Ùà9D"v»ý¨ž×øÄ8¼.A€*ƒÁT à¤ãPnC«Õ&’ I’œN'háH’d±Xòq–Ùì¹ Ò>|Î4Û ­VÇ­Vk(š˜˜X²dI&“‘$ >Ìd2.—Ëåro ¥€†…ÊïÀë¤dÒé4hXètº¿·ÖÐp›[­V ޶ TQSS¼Ì©iëßÕõ}»ÝŽ¿À’§Øòb å(G©ù Ïd4€£N§Ój± RhÝ (ôl»þTÆ5‡ô[•H³«…B^¤*EgíhSMðØÔ±ÔÞ ­Äg™ÊYŠÄam2UMþ,Ó¡p-Ä*;®XPƒíÈ û‡Õ/ë¿HI( ú¨jš |`˲Œ9BÑÖÓÍl )„WT ¿¢ŒJ¦(ÄÐL¦‰Jq.t4Óm JR(lÐ ±ÞœýA3U<£ñ *gli%¥÷]…©-Ô:³TåŠXh¦“Kg ×ªÌhXøèîî¶Ùl6› ôEóù$°·4›ÍFEx­kµZ >?V«Íd2‘HäxKP &''½^oUUÏóCCCÍÍÍ“““óÕG¬®®6›ÍÑh^š0 rŽ„3™ ˆD ‹Åb±XàVÕ“w `XF`ÊD£QhÆI¥RÐùâ…V«õxk$ *äétz||Ül6WTTär9’—J!¦³³ã ‡}áj40˜0Éd’çùx< 9ŽYM¸ž<Ï[­VhD<&×íXi4 È®ÁT§Ó™L&QÕñ«ŒðsN „ ÈÙlÖÁ@ý8uXjBl›Í¯¿ßXL9ÊQŽrË_d42Àâ*“Éd2™tsˆ'„HD¦F@g z‡¬Ö€2+…Oeµ0•+3RMØ-µ„Ï!yS­ÏU<ù¢‰®ª¬ÍæcE;TUì Y–Al+D!c¿hËêÐ?P1~~¡E(à^°íjËÂúhJNP cT¨C r’Ôþƒšn¨’gzŽ¥€Äø>fY\±}1³ ,6Á%tTLX‚ÛZB!L …4ê­Â,¨"F‰ þ·®3Éá <UxZ­°-Gf³·,~#ÎqغS/Rø,}œ_ !„ôz=u4¥B „T*ï—t:ý!  p0è †›H‹N Ç ÙìGå:Ïâk eFøO‡Ã,’BäX5Èé³J?ŒÇãÇe2³Ù 0#B4lëõúD"a4¶†Yêù‚›¥Ó逓 ù$<0Ãç@á>ï\Õ\.Çó<´™À)àÀÛªËÃ"s±À#i4ãñ¸^¯gi4ÝswX?G@‡9ìu`§Š#›ŠŸþáÆ­$Ðÿ””µZ-x °^-cxœ)•¦Ìh(G9ÊqÌBA¾Ä?– äñÏ €4Õd2qô®]»ü~¿¢(=== ²‹Å$ À[S©”Ýn‡m__ŸÇã±X,z½~ß¾}.—Ëjµ ˆ¶zÛB§Ó§Ñh1©T Ä5´8ÍZ‡Ú˜ÉddYv¹\‘HÄb±ƒÁcåNr¬Žcìt:- ÏóUUU°ôI¥R°\.G9ÊQŽÂPY-° ÓùÒ”>-Šªè ³k4¨„g4 `T(ŧê½W¹*–Úÿ\ü­T@š–²ÑLQ=J Pñüì샶9ÓlµódÓÈR•yØÛÜKsÔŠR%íô;s,0«äTr *ø£èÅ/ú ³üná},Þ‘1“[Q(QÔÈ:E0>tX؈mµ8,~§,µ•Àb˜8*ÄÍÛgžºueöÃVÝG¶ïƒö†Ú‚ RÔP†Ö5Êzíì•9¬b(ª® Õñ iWè‹/j:ßëƒÊÌSKQ<ˆ¶ ©È>e ¡å(DZ_v¨^Üs™™>(ÃqKmiŽã@2‘HœuÖY555¡PhAö/Âøø¸Éd"„ÄãqQ¡Å, 577ƒ`-B(ŸÏŽŽÊ²ìõz3™ ”‘Áf³Am$QÅh4f2Eáp¸ººº··Ì8ý~?ˆÆb±…ÒRQE§Óú#X-@¡®ÏGåxìv;ô½ûî»UUUà&S~¡•£å8 ÐÀ¸âj$Ób„˜>¹ à›V˜âÒ …ê…Æ9jÉý6¯>lB^è˜@Ý4‹š)°uo IÐ|µRaÓBzUÑ´MuaІÕïÎÏåjæ%b÷F+ê,¯d.Ö*d¤°½B…20aÕ'rXt£Ë@1©)]Œéë©jKa=S)ßf‡‡šs/RQAð³G3Õ%TXLQxkîU.ÀXK…I©`àÚ¨+P™ÑPŽr”ãCZXM˜i•åFnÑǂԠZú ãµ"‹aŒ©&´ý° û Užç'''_}õUY–#‘È€˜‚Á`+œ%K–œzê©ÉdÒd2år9½^¯Óé‰D:ž˜˜°Ûí²,ƒn‚F£Éf³z½Þn·G"‘ÚÚZ“Éä÷ûµZ-0 b±xß.ƒ‘ˆT*USS366¦Óé>Ùãêxº»»=Ãá€*to‚!hù¥WŽr”cv  Ðe Ð ø)õVœ{·BÑà8ŽC¸°·Ÿ6&Ðtw^s9߬ž&rª\&\Êæ˜‘]Ï´ŸœK3BÑÏ)\x,ÈþR©@òù|þ‚ .à8În·ëzáp8•Juuu=ýôÓguVee娨X*•2›Í™LÆb±ÔÔÔÄãq·ÛM™ãããÙlÖår…B!‹ÅrðàÁ|>ßÞÞÇ8ÐÑÑFjá‹Å"‘H>Ÿ(A2™Ì|ÅÒpá~LŽgÉ’%ðG"‘Èf³™LF«Õ$T~¹•£å˜Ë¼F•ê–›Nê[öB)Ñ‘ÏÀ…I#˜Q1‘Uˆ*1+:‰Ïò‹E¿¯â”rÎR©Q i=BEQð´–„êÔà=ÏÖÕU€Âì×ÿ°%œÃº€ ¬fHMh(¥•@‚b.E/>H{”¢®Ìñ¾°&š¨€|ZXúbHÔ¿U‹©œ,)å°äÖ¢W†ÜU\ T¬Á¤p zØåee8Q1wyàæ°â”ì–†r”£öÂâЫ˜±žfß\ªšÃß'Êp Ãjµ‚z0¯’m6›Êc¥¶¶jàŠ¢ŒŒŒØíö‰‰‰L&ÇNçÐÐÐÄÄ„(Šgœq†V«}ùå—÷îÝ{æ™gjµZÊhày¾¦¦|Ñ¢Ñh X½z5˜V¤R)ŸÏÓy{{ûÈÈHmmm"‘ƒóu(ƒz=0Æv»}Ë–-ëׯ‡|û˜Ü¯cu<ããã²,WWW›L&žçFc6›M§ÓÇP«¢å(ÇGkm@ð0Ö©RDêò¨‚ ˆB0GJéAª’"¶7SaLh~ŽfòÏ«_Èú ™b“³|Ÿ²Ð µýP±ÎùB{ .®þH­@UðÄ,‰ý,)÷ EWU]}–ã¡iªŠòYØQ¢ºD…ßG ‡eR°å.* ª ³}–;Àú˜º)H)pïÀo‹Íág—„¤ °€’LѳV2, …æÌ¨…ƒ„Ÿ=Hj6Qt ‹:•ÁGÙu¢å˜O–H¦9„”£³=>ã(/B(_ÂÞRõŠü8a #Œ8‚Œ8ÄD8‚\b;ûÿUmAÊ]'þQŒ-Áf,‹-T ΋P~O$0eÆ“‰Rb™”Ñh¬õzv¼»}°{Ûe»øœS~ýÛÿ:óôåZ!#ŠdhhàûÿòÃvuéõz½Ž35ápØãñlÚ´Éãñ€µÒØØ˜Õj5‘HäÒK/}ùå—A¸üòËÿû¿ÿ{AŽ?•J9I’DQ4 wß}÷ÿøG„бj8VÇãp8‚Á Büºôz=eo–ç‹róùa„âRðœ¶åXè…ô·%Ü„1Ræ8¢(!E&„ …(ŠBdE‘”i)>žLqdI’òy©1! QÄóE× Ó©¢‚Gˆ|¶ ‡l Õi6»¤jA¢ª¢sÉ3·ZA…ÇXšÎÿxŒÇI¹œê¸éßÊ„`Bò² 9÷”v4 i>HavGE gTû3`cc‚l9ŒaÁK;!þÐÚ+¥~6ç×s "HAÌ#-/È3Ÿ\aŒ°47ÜDu‹ò ‰'S{ƒ4Œ0ÂaÂó€çŒQÂH‘d‚‘B»E¥m,KAã•(•ÄŒáÆ„p Q8‚„Kn§ 4×-žm<¨•`PÑ?èçÔ Y£Ñ(Š’N§õz=Pâ0kÑQ} ¯¼þZ\Êg³ÙJ½þü3δcyÇËÏÙ­¨§w΄Q¦»Òm 'RžjoßÀØ_ÞØaÒ#EÎ"”£l‡Ã‰DÀÌÂét¦ÓiEQÀq]“ɇ-K ¸øâ‹·oß  !^¯÷ý÷߯­­…³Óét&“iÇŽuuuN§srr!äõz»»»+**@îA’$«ÕÚÕÕUWWgµZeY¦âpv@ áyÞl6G£Q@U,K>Ÿ‡Æã‰‰ Bt‹$“I­VËó|0lii‰F£„°ê4 ñxœã8jOM7 ƒ,ËÉdòª«®zòÉ' !`Õ‘ÍfEQ¬ªªç8N«ÕÆãq¼ÈçóV«5‰,Ô­Ìår  Ö!¢(²þjå(LJŒrµZ-´_q—H$tZ¡è<ËcŽÃ#¤ÚJD9ªóé‘­O>üõÒ‚œ/G09”§+ÓØàá2" &RdŒ /èµ:ƒÁ ×(2QÁ˜ÓhtZ^§3èuF×"ÂIyE’„8Fàµ1ŸC!¢ LØ-Ïc„Q€½.+„“å<–r ‘À±-bSQ=–Ê®ÊÓØdO)(L%ö„B0!ЬDd…(ˆd3¢‚Rˆ‚9Ìsæ0ÆsFH!°^šn !/`Žã8ŒÂqœ"Ét^†´ªÙ‚ ètºd2 ŒÖ„ͬØÓ‚Š`_x^…ºƒÐ«X”e™ç1˜(a!Œ9ÄaŒ9”ɤVA ‰ ÂaA£å•kXœÐ"?MÈ5¯( QL"Hà9žã0Ï!…`Œ9Œàª"…i3šâ²b¨€áN,@C-NØc [BˆF+HRNV!2Ïk`¯AÃ˲’—eIÊ‚R8^À˜ƒ4˘e9ŸÏ@ 0•Éô ¹P<¨‡ ’€»OÏ%ŸÏ#†\”6Kdà¿ O=‡ð·†ãeD°BŒ0!²BEB‰¢(xœS»Y–a¤òË0jI×íeFC9Ê1ÿ:ÉÑÙ¢ã×@Lu´Só!Bª-âðôÿ%Á ZúûƒÁ0Ÿ„ „ tÆ…íG¤ó‚QKb±˜Óé4ù|>Nƒè£ÁfÓ;™t²R+rñFSKßÞÅ(ïûëBÆ—žûÍÿp©Q[!s‚(Šf3JÅÏå­VC.—³X,±XLQ”ææf¿ßïp8\.W___ss³¢(CCC>Ÿï¹çž©¨¨¨¨¨†´¿¿Íš5©TJÅ|>¶jÕª±±±ÉÉI¯×Û××-Z‰D8Ž‹ÇãÐ ÐÔÔd±XÂá0ày‘L&‰p:ñx|||ÜápÄãq‹Åâñx¶mÛ¶dÉ’‰‰ €$ªªªúûûM&“ÛíÖh4‰D¢©©)‹ƒAðÈ[¼x±V«…¬#'&&ÚÛÛ8 ×ë½^/!äàÁƒ6›- ¶¶¶&“Ép8üÚk¯Åb±l6k4õz}WW× 'œÍfM&Óää¤Ýn_¨˜¿]ž­åXð·ñŒŽñ¢³-.1ÿ–y <…p!éR0A(òc0˜ Ã4@©TJÉc­V+!%—•r¹\6›}Ù|>?þñŠ"åd +2â¹¢÷˜ M¯80³¡'¬F€ªnÌŽ.ú¿J:Ó2˜ øÇ~Úe¶ V0!G8…S+à¯iÈŸ­¦ çD Ï ’:šEÏ.ù¤êb(Úµ1{÷>ópAþL0‡0æà_$q<"CïA2"˜`‘’J$S'ŽC@¬L¹“  ‚’§À…X› *å•)bDQA3ØUR: ÆÆT*óÀbsï´Vµg8HŽG*CÚ=W¨}0 Ð@ï{› ¤¯ê_PY'ªîZQùV†ƒev¨†¢Ê™²px@=Ÿ–ôéÙ ÆŽÕ8dûqf –-BïQQ3”)†…Fƒæ )2Ç÷'*h; d Û¢‹@23T'È^À2ÐPŽr”ãÈ_L³¿°>öˆÃÇx!Ë¢þì,» ;Ïd2G„X,6<<Ç—/_ÞÔØ¦×‡{{šë ¡¾·ÎZÿù?þò¦z»ÕÀŒF21)6)j­$/fk*¬Éب€òžªšt&+Šb(²Z­æé§Ÿ~õÕW~øá¶¶¶;vÜÿýf³yllL–åh4:88¸eË–+®¸â7¿ùM.—«®®Þ½{÷Ê•+1Æáp˜b±X~úÓŸ~ík_»úê«u:]ssó×¾öµ¥K— ‚°wïÞŸÿüçßûÞ÷-ZÔ×××ÙÙ)ŠâÄÄÄèèh2™\³fÍ~ô£×_ýÅ_|ä‘Gîºë®–––_|ñ‰'ž¸ñÆ[[[‡††ž~úiEQ–.]Z]]]UUõ¿ÿû¿ŸúÔ§6nܘJ¥þüç?ÿüç?ÿÄ'>ÑÔÔôÜsÏíÝ»wëÖ­=öØwÞ)Ër øéOzýõ×á _°Ûí_ÿú×ÿíßþí+_ùÊ+¯¼²aƇ~–eÇjµ'“I‹Å2<<üÄO\pÁëׯÅb/¾ø¢ÉdŠÇã%Êó ª.^†ËqÌ_ŪÞõ2ÊpüÏ›ª:-4xk4¬áÄA/ PÏ ßQžç9‚Ï)s[ŸZ¨€ŒB̔ʲuïYöS˜h± ›(ª~¨ÐÝ€:z²@ e°³¹½$I´k¯„¨ÂTŒöÊPøcYGT¤‘D­ A ªl|ö9‚žãŒ’>Ó¬Á¢ ‡³T· Ìô’`û»ª˜>UµD+Õ©Ra€/°d“¹¬)DO³ñae,PÌÄß²B+7€VR½cg)P™ÑPŽr”ãèE…‚Ëñ‘[²3Ç”ýØ…F£O$‡£½½ÝápìÚµë÷ÿý½lhñ¹^xetø´çŸwò@_÷ÞàÎ=¡%«Ï³«£6:pp¨¿oÃþ)0>9:™4ÆŠŠŠÆÆÆÏþó«W¯Þ¹sçå—_^WW×ßß¿víÚ›nºé¡‡Y»v­Íf³Z­Á`0ƒA»ÝÞÙÙÙÜÜ ­¢(†Ãa2ƒZ­vñâÅ‘Hd÷îÝ·ÝvƸ±±ñ®»îúÒ—¾äõzÃá°Ùlnllôx<c£Ñ¸bÅŠÓO?=Ÿzê© ÷ÜsÏðð0Æø•W^9óÌ3ÛÚÚ|>_SS“ ßùÎwžþùT*5>>þ³Ÿý¬¦¦º-Ö®]û‹_üâÛßþ¶ÃáÈf³'Ÿ|òÒ¥Ko¸á†ÁÁA½^¿fÍš;ï¼S¯××ÔÔ> …ºººBÃÃßøÄ'^~ùe›ÍÖÒÒ"ŠbÿOŸ/TÚéЀ Z*f$ŠøP¾Í Z­–ÿS%̪ÀQèj1wà†~XÈ·?2®¨K¢ŠþPêksœGT´˜Vx‚XpG•ô²§IÝ7ŠîŸ½æì%e¥:T—ŽÞŽC_@ ®ÉQAGªa©ú'TyáÈÖ]…Ö$ª¥‹ÊUÁõ/ÕâÁ¶Ñ+¦rW™Å–[h(G9Êq„€Âa†RZ³„üãz‹UÞ”Î÷·G6›µÛíÕK’´|ùò »Û™¸lÄ(,zèþ¯œvêéÝ=MF3ú&ZÛÖñ©ó‚ÁXz2#ÊÙuëNºå¶kÛ/‘°%—ãAèëëkhhÈd2o¾ùæu×]'IRsssww7Çq&“Éáp¼öÚkãþþþÆÆF0b¬¬¬œ˜˜¡DI’‰„Ùlæ8nrrò¢‹.zàôzýºuëÎ=÷Ü–––]»vuvv¦R©††Y–õz½Ëå2ÑhclµZb±X €ëÖÝÝ]YYét:Ÿ}öÙO<ñ‰'žp»Ý¡P(•J577Æ;v´··ƒ f6›5›Íííí™L¦µµUQ”@ Ëå$IÚ·oß’%KAضmÛsÏ=·mÛ6§Óé÷û%I²X,ñx|íÚµUUU²,{½Þ·ÞzkõêÕ„ýû÷WWWÇb±Ý»wßqÇ¡PÈf³9BÈ«¯¾ºjÕªh4ºPãdGE9Êñ·¼ŠYÞõì­e,츺e”§p(Ñ’ ^Ò/4PÐ IÂVø9ΡM€U ª*:E¯XãÉÙçM¶.]ˆÐ>‚RšôxT)+ëaóL@aŠ¢ E['P1·TŒtÀ&™E&y~Jþ²°ä^x<³´N°‡l=BÖþCE(TÀ‡jÏìé« )ÑLjI!|ÃqSúŽ,‰ƒíQýâý³¯UÌU/ ‚¤">Át< D5` ±ŒRÂe ¡å(LJ 4”ã#·T­T“ýß ÑH$ôz½Á`$©»»{Ë«›³á¤×&˜5!N0ôöÒa<œ;ÿ’k7=ý—3"Ñ[æ …'‰¤¨Ó["áxŽH¼`0 p¨(Jee¥Çãñûý±X¬¡¡Áëõöôôh4šU«VXQd³ÙP(I{}}}4…U¬¢(N§ó+_ùÊÿýßÿåóù>øàŠ+®¸âŠ+.¸à³Ù¼ÿ~Ð_ŒD"Ñh\$Ün7ø\ôõõ¹Ýn°x„ŒÅb'œp—¿üåµk×vww·¶¶úý~„ÐèèheeåÁƒeY‡Ã`]a4Ãá°(ЇC£Ñˆ¢¨Ó鯯Æb±Ø/ùË–––ÿøÇ„Çãñx–/_îv»#‘È®]»2™ÌÿgïÍ£äªÊõá}¦:5ÏcwUÏCæ¤3'ŒAHƒ Ȥ (p©(~zEÅu×{A®z‘I® …((S€HI˜BbHÒI§;=5Ïã¿?Þäd÷©ªNÂPûZÝÕÕ§ÎÙgŸ½÷û¼ïó<ƒ¡¹¹¹X,ŽŽŽZ­Ö‰‰ A@¨"NïÛ·¦é®®.ŽãR©ÔL=˜À¬®=éµvÜ×£uâ3·Ä(!=˜çÑ4 wLEQ’LP\£~E±šQ^ɯ 2+6ÝUÁ-ªTZ¯rP5^QYbYÑbÀë Ê%ð_ñR…õ+hœÃ!¦ÉaÛ‚Šƒ¿ü}<°WuT¹üªD@Š!!•õU$ÜÐjj€F99$I9+b*°¾ñÐ5”bŠ8ØÝXNQ©Æ²Q¨ÊàSQE”NSõ3ŽU¼dLøFŽJ«œmT¦«kL9ü¯ªŠeX­€ãðά µVkµ6óDÅ%ês¹[úâÜÙùK§Ó‹E¯×˲\(hšž3gŽY¯s™M#}{ÞÝüü¯~·-4>Þð¬\q’måºÆÅeVD(žO2êî;èt·°,›Èäxž/•J6›-—Ëñi2™€±lÙ2ƒÁ  C©T²ÛíAhµZA–.]ú׿þuÅŠ]]]ÑhtppÐçó)¶½Õ” kíS;ׯágn8¢¼@ÊpÓ”ây< Òh4Z­–ç&^eU/Û._§ˆrq›@„‰*D9Py>Dü”UqöD5ïL<ÚÇ킎Â5¿VÑn "\VÛ­MQ”ª„ë`§¡ªAPASðÐð{ — ÄQäTá7üU¹^Õ2T1!¯\/…(‚*€CUcR1–Æ ÊÍUÛbVÅn¬¸ËRÎP¹:–eËù8åÕ"ÊgfÄž4&T€—Jºë¨3í¡Š†j—ýqÏÑŠY(>?DïL Óç?Ä«¶H| Û±Þ÷c?KŒ¦@j«¿"Ý]&P¹]ÍÌŽçjÏuuÑšÊr>GƒDeUXŸéV­Ÿíê>þþ¨æI•š,Ë$A@6I‘F‡“$ápØf³‘Ïç²Ùl±XÔh43rž&“)“Éx<žH$b±XhšÞµk×Ûo½Y,ÄGö¼±ñÅõç,ÿÑMÿÏêó&ƒãˆt'Ej$°8tÇG–,=±®±}d¼ÐÚâ)•rF“V–åd2©Õj%IZ¿~ýÃ?¬ÑhfÏž½mÛ¶ 6 …@ Ç ‚·Z­Ë—/ß´iÓ²eËúûûçÏŸ¿qãÆÎÎÎX,¦×ëëëëwïÞýÎ;ï8Ž5kÖp÷Î;ïÔÕÕ‰¢˜ÍfW¬XñÞ{ïööö\.÷«_ýêòË/okkñçt:]*•\.—Ñh ‡Ãpüà?¸ãŽ;®¾újA<ÏÖ­[8pÁ€75Ð.8Žƒ¢†B¡ÀqœÓéÌçóPè á¾8Îçž{îÒK/Íçó›7oÞºuk±X ƒ,˱iÓ¦óÏ??‰À (Ê`0ô÷÷Ÿp 6lðx<²,ÇãñW^yåâ‹/¶Ûí¥RiFî#˲``!IR4þ`:µÅ¨Ö>Éx*•ð’cžç𮦢_užŸ‰ùy¦Öëãõ}ÜûgܯW„|>ŸÉdRz…5H!I’ Åb±P(”J%ˆv†Œµ”/ ‚@«Õ¸Êó¸Áñqb?Ïó2yhÉC‡ ²@úøIôÉ9ªär9<;’Á.+¡¯6ð ’¬¨Å_ª¨Àö ÊÓ hÅ ªT*©t YG<ÓŽäÊõ*Ö¸Ò3ÕÃg8ŽÃ•áó¢È#„HêІïOÅ¢a ‘Õ"d¸Àr`”8påñûU±:C…ž(ë½ãp¨Ê²Ìq\¬ ñs èq_†aðâˆòºT¦²÷†R×C’$ÜJÜ{>Y(”þÇù>êÎ$I‚rª¢s¡”ª, &AT ࢈¡ªä!`—¢H„¡à\Ê7*ï(ý¦ôDÇ­¢*T*¯Çzœ(Ö€†Ïe«¶VWSmåq²‚ð¡*>½ÓÿÞÊá&DQ”fbá?¶ï­ž R‘Š ½/Îs1#€¬L $Ò'4àHyCÕé-PƯÑhòù|¡P¥iÚl6 …9ÏL&“Ëåôz=”! „Xí)z3rX͉~Ì„Õ×” ó’ÓJØ3ct¹uv³C”öôEâÙÿ÷ÿ ‡Ü>},>^*•.\øo|ã”SNY½z5Ïó÷ß<ollœ={öØØØþýû ƒÃá Ân·û|¾7Þ}÷Ý,ËÞ~ûíëÖ­ëïïçy>—˱,ÛÜ܉DÞxã§žzŠçùU«V­]»Öh4Ò4íp8†‡‡ï»ï¾¾¾¾ÓN;måÊ•N§sppÐjµ ÔÕÕI’”N§ÇÇÇ›››ÁÉÂáp\vÙe¯¼òJwww¡P°Ùl«W¯¶Z­###Åb1ŸÏÃúÍqÃ0³fÍ!™L ­V+Šb]]](joo_·n]ooïW\áv»M&Sgg§,ËétZ«Õ^tÑEþóŸïºë.Š¢n¹å–yóæ%“É;wžrÊ)íííÁ`pÆ {öìñz½‹/v:™Lf¦lJÁÀÂjµšÍ溺:TS૵Z«µi¬SåZØoH4…³$”8GÕDL,(¶ˆÊ2­€ t•ŒèQwUs,ËšDõ?j¸Q¾ï‚jÿÏãÀDEW/4Y´¯<ž*p¦®OYq‡ Ä«JGԀ͆¬ÒbTé&La´q„ÃOÓ¨c‘ÿÿ IDATƒ$¨iöE ñ¨¹.åT•3K+?\éÔãù¨÷·âgÊMUq+PedVCWU¾’ Ä€¿„¦DP8‰×È„Q§ÊKUë:£Qöüª:|ˆ7 A¹ŒÏh}um/õù¾_Ÿ¶ûûqŸOùÚpú˜ôë±.œµq¥’>™R©XM}Ó+nÇ,Aôz}6›eê6gä I’&“ !d·Û …‚Éd²Úf…s£¬Îâoó"‘E"2y¬©„H6’áGã)9bƒAïxø‘G”“ÕМ6šš¦Óét&“ÐëõgŸ}öI'yŒY³f}ùË_noo…B·Þz+ì™Ö­[wÁȲœÉd ömÛêêê@å! i4šÕ«W/Z´œ)ŒF#(Váõz¯»îº+®¸¢X,f2N—N§ ï~õ«ÖÖÖ\.gµZACá†nðz½°XµjUgg'ÇqF£zU«Õ¶··ßÿý‡žF£Q§Ó]tÑE.—‹¦i­V›Ïçëëëo¼ñF«ÕšN§O:餮®®‹.ºH§ÓɲÜÒÒ²sçN¯×›ÍfO:餕+WºÝîH$b·ÛÇoûÛÅ‹ïÝ»W«Õž{î¹4Mg2FBû÷ïojjš‘ûh³Ùb±ä$ ‚H¥R5 ¡Öj­Ö¦4àµuð>Çq ÄŽ #Þ©©x¤¤ÆE‰“ÃBå{÷ÜN²<žW–T%cä E§WT5UI?4€` ðP2ÚÉåyûŠñ<Ž›” ¾ üPnШ ÐäôEQ‡ö„„ë7)d~<ç¡‚“PYÅÞ“âÕÉÕ Êµ”WLL!R8ýŽIUÝäG'>¨à ¼2Bu£ñd΀À2„ ƒò}¸ê¾(_l¥PâÈx#H P15@Uv}G5À.g$U$ÁŸŽ'РXèpÍçŒlôõýZû|´jkÏ±Ž«r— eA•DS޵â`¦J«M|Õ(Óé7|:cÊJ¡¦‰8|ÎÚŒP'd!™ú¸©ª,á•©:•P\Íäu:Ñh$"N+˜÷Gl&“©T*åóùD"ÑßßÿÐC% ‰-c:“‘r$-°ʤ×y‰§CKO<Íéi (”Ϲ"çó4„‡¢R‰âäl¡(€p •\RTCCþ}ûëÇÑÑÑ@ @QT¡P0’$i4¿ßÏó¼Éd®¯¯·Ûí‰D"›ÍÒ4ít:}>_©TŠF£Æþþ~½^ŽZ­–$É|>_*•:;;A]èZ­vþüù±X,ŸÏçr9F£ÓéX–UVñ¾¾>I’¬V+R@Í«T*µ´´d2¥š4•J-X°  Èe$ÑëõÁ`°§§¨›ðïét:§R©D" …ü~.—ƒÒJО0›Íããã ¹páÂh4:#÷Q£ÑtÂql7u:]±X<Öù§Öj­Ö¾P@ƒŠÄ§ ƒDQDô$ÝÄIÁÔKG¡À•¶.Aȓ멕€ŒTòÀªÀ ß –‡‹@ET­­hJÙšj ÕäT0M¹ÁÔj‹CkU€»·(~8o?’$åÉÝ[Ñ]B…€”ƒ¨nšœúªfÌ9ÅfšÔfœ-¢ÐTåÌÓñì¬x'Ëk.ðã+•¸º-PʹÊO¹wªÊ§;a½Š¯èÁŠ£B3ª;®b߉G>=ЦêÌÐðqkOÔ‹Oí6³ïW$JLh8¦ó”af?®j$ 5<9õ„ûy}.fúj·ð)TµQYIã9¥ò;+I¤•àW–e!>Ÿ)ã‰h4*Š¢Åbéìì¼øâ‹Çqˆ¦FAOiż˜I¤Œ³ÁlŠgÓcщ‰±T  x٦׋…”¥5ãõy&"á\.g³Ù\.— Ñh4 Úíöžž0ƒèëë3‹/O§Ó!Ð\,•J…B!™LFpˆÌf³,Ëj4šR©4>>œ°Çêíí]Fp©p¹\Æår…Ãád2i0X–5 €S$‰L&C’d}}=ÐheYN¥R4M{½^(…Á À @bÝãñ”J%𦠅BSSÓðð0hCvtt‚066f±XPIu:MÓ€tÌš5 Ô., ¼“H$¼^o2™ŒÅbÁ`°½½7úûû:#÷1C‡ÑhÔh4v»!”ÍfFcm1ªµZ«µ£nþUÑþ¡w&ÇJbV©M@H"UYN6¦BVE‘ Ñvå;´Šå~è05£Ü $f¦âp[zT4 €é7;P–u¥?ñCáá(:*;âQD–E‚ ”[5͸IeC«dà+k[RŦ\ÖД‰êj§÷ËPõ[¹xçQGr9ÊpÔøâ¨„ °8*%6oøm=_#I%SŠ3,@©S$n•ñ¯`F*¿‰OРš >ăô15 á3׎I|qŠ ¨Üß~À+ÄÊÿ:ýï­xž2Qh¨vü™º^•ºò‘ò*‘¯4|Ñ*†Žµÿ+w>,IŸTEƒên*‹M¹$dEnªbÐ áq0 ###3rž&“ Ø0P‰„$I%QÊ 2MÓ²IÖ2ÅòˆÊò")yÑÂåããQJ2fã™Ì¤Bu6Á¬ï>HëL.— !466V,µZm]]”ž”`µZãñx,Cµ··ŽŽŽŽŽòŸ×ëõ ,ÓjµK–,!I2NCŒÝÐР˲ÛíEÑf³•J%–eóù<Ã0õõõ¹\NE‡Ãa2™´Z-ÇqPû ø–±,›Íf}>Ÿ N§3677›L&Žãb±˜ÉdjkkkkkƒÜ dær9ƒÁ`·ÛÝn7ønx<I’úûû ‚°X,©TÊb±,Z´ˆ¦éX,Ʋ¬Íf“$i¦î#TsôõõÁaK¥R±X„s®-FµVkµVm=ÅC2ÅÞÒ``õZŠa^Iò³dõË /eIªfRn Ç‘ÊvMåy]|¤h7T£Nà´œ¹P-AU~ž5ð³RÉ.àûR•dù·O½O.§Z@¥¾U€ãÀù—ÕÕ‚ Âu4ê"~Jn\©óW(岎‡~-Kà㋟|¹hâtìH•±§rÐT€¤I×%KSWLL]§PG¨Ü4UºÝ¸[G¹M&nPR@TW4M“¢¬BÓà“ %\A””[?5@¦ì9ËI ø4B’Iõ+¢*¼?£ˆ&äàîc j _L ¡Ú}?*0¡ªá ÇJÕ™bâ#"’&¿Ò$)UzTþ¾†¦+¾_í•eQ– €ê¿"„‚ÄW¼\êóú\È"dR&$ü•$hÕ;„L"$‘$=í>&e„13öiÓ™šð V/P2U†.˲©TJ–e$˜;wî³Ï>[,_|ñÅ9I†ahš À2ôz}&Ã˲…aDÄH*MQÅ|!M’z¯§3‘x“eì©XÚ¨g¤bÐh(¸òàèHQ¶kô.8‚âöu ¹\®¥¥¥X,öõõù|>¯×»uëÖÖÖVN‹Å@R1—Ë™Íæl6«,± Íz Šk˜1Cñ*MÓP†0::ÚÐÐ022b4 çy‡Ã111r'1H&•Jñ<¯×ë¡ì6$IÚl¶ÁÁA¯× ÆŸ½½½ãããOèõúG}N[«Õ–J%Š¢£µÛí°çˆD"N§“çy·ÛÇM&S<NeYš¦g 0 f³9™Lžzê©À›Õétµ•¨Ö>s¤¼IIÄ´^kíh}*ɇ !$2BH"Aˆ¤‚I!I’ˆ"u:«!hš–Ež:Ü _¼$I’dDЕ?\3R)— iš›¼ñÃ÷o*E@%`F‘‰‘ɇ_Áq^au§Bž\qÔúyT½¢Ae—X~¨)ȼ¨’̪D7ÀÕ1БR!$Ë¢$ɲ,ÂaDQTv2A‘$"IŠ HŽ/2…&Q*¼ËŠ'¬Ê·ÃçEX~nt¥Ý’‚àÝ@~ß§ÀSTÿ¨°rWQ\Ìr:â£Õ"\ÐP>Þ”@‡ŠpQ|–ÛCý É¢,2"(’DA’ÇKHF’ Ñ;AS4 ä£I’“ÊW ÃF•p‡íKÅjKepâ*¸Ô¨êó4AÊɈ({EB€⯨ÜP9𠹑Ë%1 ¯B¡À²¬Ãáèééimmª¯¯]‡Ã;°L&{#†a¬Vëððp]]B[­ïh4j·ÛÃá°Ëå‚ÔŠÇã) ©T LÚ@á,F“ɤF£q:©T*“Éx½ÞB¡Ö»ÊÄÄqLs’$Á6]Ùnò<ìEqúàà Ãá°Z­©TŠã¸@  … cÖÚÚ:66c…eÙ\.Œb“É”N§‹Å¢Ífƒ2A…B¡X,Z,°Nu»Ý ã588õ¨ƒ!“É@Ý,Çq¢(Z­V‚ ‰„^¯Án·ÃwqW(ìv{2™´X,  îp8`ëIQ”ÇãÑjµ.—khhÈår{.—3‹E9Cžç+ž 0§8Žd2™L&½^/Çq0Ìd2F£QŽã, è´'‰@ ‹Å …‚×ë…9I’,Ëøø8Xèù|¾X,£þšJ¥ ’¹¾¾>³, 5Éd˜Ï&“ ˆF&“)•J566öööBWû|>p?‡Ã‹-êëës8ÑhÔëõŽwvvîÙ³‡ã¸ööv8þt ÕC5}¢êô„A BV¿"I{Õ+I$U|…ÿ’%H’d™@AÂrO YÑ ‘Ì ¢LÞiÁQû?êÂùYɨT>DÊ")þ*#z&½"„$!°=𯫠þ'è:¿ I…†w˜ÿ)(tM¥¦ üÆÁa !ê —_~9˲3¥ÑPeSÊ2<…i$PE‰Ê‰¤HÊ’Z0EÁªMˆ2UÈ‚LÈHÖ"yºuyëׯ¯íüg¶C"‘) àtär¹ÖPk_.W–Á³s°]„ ¢(N'‰dy ‡'`‘JÈMFd¥WH–‘Êwˆ AˆèØ_([t‰IŠ@‡ h I‘Ï ô(AɈ%$ðR>W”™¦é’È‹EŽãà^ŽÌ0 Ã0"' )rŠþÞèÑ( v’ QVä”p`eàñÁð84BÀçB”Фh†¤)IEQÐjX™@$"dA8‡$Y>Ì~ÅçÏó¼’ÉÇwPJ©Ú\‹ÅòÕM”€êå£ÿ^„k( ªñ/"$’¤HŠ¢%BF¤,2e I²$K2E4E‘‚kÆO¿(Q!—ÅwJÇBA¬ÒK@T¤(& 2¡Ú[*6¨ªÇJ) ,O·¨Bkü}¥RÎDA©ð^:*Ó4MP<Ï“$R&嘤”7I¬Jª b¸ûƒê{• a&GŽ)J’$!Q‘L$A’4I$%“” K!‹H¦A!‚DÉ08b¢x¾ÂÚ­ŒOÊÁ%k£ÂÐd QÅ–·nŽ¢ÏÓ=– ”¨:«îÝ»W£Ñð<¯ÓéæÍ›7222þüp8\( X— û¦iZˆ{!ž‡¨U¯×ƒt–ÏçK¥Rn·›çù|>o0¢ÑèÄÄD[[›F£q»Ýáp–¢T*UWW—L&!¨6™L £££ííí©TŠ «Õ:::ê÷û!˜‡9 &,èbŽãàÆÀ a°·ß~{Μ9ÝÝ݉DÂn·Ó4í÷ûÁÂÝh4B6ÌçóÁ¼“J¥ÂápKKK,ƒøÆ_kkkooo±X Ùl¶¿¿Ÿ$É®®.†a†‡‡£Ñ¨ÅbEQ¯×Cùq$)•J`·n·Û÷ìÙ3kÖ¬¦¦¦L&ÓÐÐ088ØÐЇõz½Õj‡üX"‘²Ûí¥R)•Jùýþ={ö †ºº:·Û‹Å"‘ˆÁ`°X,Ùl¶P(T<³ÙLD<‡Ã!«Õʲl$x¿ß?11¡ÕjNg0¬««K$ÀUŽÅbdY– FÓÓÓ³|ùò|>ŸÉd"‘ÈݧR)À@¦Þ`0@ØG2™ä8ò{ÙlV£Ñ@ZnMÓÝÝÝ4M766†B!¸œD"ÑØØøî»ï666& ¨m.‹ãããðØÏ”´þ‡Î«Ã+1Õû2:ôŠ$ùPÆJb«^+ÿ ·…%©"§óJɇ±×é¼~vZ>Ÿö ´ƒ¦¯cuo9¦FI hƒHJËш@2!SŠ !§B ™¤J+R´Œ-‘”D¢Z;NÍív#„ôz=8ƒ «Õ:ƒµVkÓ‡V‰2Íœ ãSÌcG]O•wªÕ5LwiEI„th‘E’(“‡&I$IP4"!Â!hšF4É ’"¯ˆAâ¬~²º$^t‰3Õ) E!B!´+Œ œ¢#”Œ!K$:¤ò¨ì£dr1ʨ°ºw<Ž‹/ªb~|L–ca¨ÌÍ¡<¢ÆO¾Z?àŽJ«2þ"A2 D BB2’‘(Ëò¡ëC’$‘"ÁˈT®ŠÏ „Eø«ª¼BU|¡:ÿ#§-øÙ‡'TÔ|£J’UäAWW”¸Ü1D)¯¨8SUôæø`4…‡ª»»»±±ñ/ù‹Ùl6›Íccc!–e3™L©To³… ŽŒŒ°,»páB†aàO(‹f³9‹ñ<òÉ'Çb±d2922âv»†1™Lð3b~`·ß~{íÚµ‘HÄjµîß¿¨æy¾££ãàÁƒÅb‘eYÐ-ÏårP32{ölŽã&0™L€>’$i0€â[~>étÚh42 õù|à£Ñøÿ÷½½½»ví²Z­G§ÓÝ~ûí‹¥X,þóŸÿ|ì±ÇöíÛW­Õjm6ÛÐÐУ>à€p…BAÅ·Þzkß¾}¯½öš$I‡cÙ²e_ýêWý~?B¨T*™Íf¨ž`Y6wttÄb±Í›7÷õõíÙ³gpp°¯¯oݺuA\pÁkÖ¬Eñºë®óz½ûöí³Ùlf³Ùív766ž}öÙË—/Çã€pÖÓ>ª)£œ½6‰ÏÇ´Ö޵1 ³%B(›Í:NàÕ]ù£ $-2!NæJDQ$$R&I‰’Dš:\ÑÀS¼@ %"„h‘© DZX&a¸\.@ÇÆÆ@ž³Öjí“i“²ÐXX%Ë$vU=¾Ö>ù- šL8'IŠaŠD Ð%ܸá¢t´º@¼´^ADQÔP…&xð¾Ê|QK‡"·ÉaaµhMÖž¨Xr_ʲ,+lŸ¦i("‚êàP@í@*•Ú³gÏìÙ³›šš¶lÙ²jÕªþþ~ˆÉÃá°Ãáðz½&“)“Éð<…RÀ¿…´|{{ûÀÀÀ7&“iß¾}™LÆår-_¾|çÎuuu–…BÍÍÍÐùÇE£Ñ¶¶6žçwîÜ9{öl‚ ìv»$I‘Hª*´Zíàà N§«x><ÏCYÃ0&Ó4 $Fsî¹çþð‡?4}}}Ï<ó̯ýë+®¸Âãñ,]º´¾¾øàcÿ·¿ý­T*ùý~(φÑY,çÌ™Óßß¿cÇÇsß}÷544¼ÿþû|ðÁË/¿üõ¯Ýh4ær9(éÒ†ŽŽŽd2ùè£ÛùÚk¯íèèÈår›6mÚ²eËC=äp8 …MÓ·ÝvÛ’%KFFF¢Ñh6›ý׿þõÏþsÞ¼yÅbñcMÛ~ yE3§ŠèC­ÕšÒ€:T*•t:¢ ¯#*$#Šâ%R¢HY¦d™$ D’2EJ4Eд„(‰@„(S$¢D!$“4AR]»_Ç«µ´´€ 0ã`†å©Öjí“”U*zå¡#ªÂ)«µã‹2àMEþ'¨#Ø`ÜxEƒ$I¤|tà ²°0›Àf¾J?òðà™dd ²‚.VUvªtà}¥dCÕ3å΂¸[ay xT—=å°S ph¼?O4¥Ðþ”áh²æ"ª”ºWú©Ì/Ї*@°Qu”êf©†hy/)2K”˜_¥­P^÷Q î<ÖÄn<¡BøŸ”{Xåî$å=Pí{UPב§²¬?¡Ãgl‹VM£¡ÚÀ²,Ð,‹$I›6mºæškÖ¯_?11Úæ'œpBOOO[[[¡PcYv|||õêÕ|ðÁ¶mÛÞ~ûmÈEƒÁÎ;ëëëóù¼ÃáˆÅbåÖëõ’$H$¢üûÄÄ0ˆâñxSSS8—òžžŸÏW__‰DAðz½PÞßÐÐT1A&&&Àmîܹñx¼P(€² vä·¶¶’$™H$Pèíí;wîèè(Ì•±X,“ÉÐî* £££&“Éår­ZµŠã¸‰‰ ñ²Z­Éd޶¶¶d2I’$ˆ{% Ðt`Y6 šL&Ð}‡‘‘‘x<¾|ùrŠ¢Òéôo¼±råÊ`0tŠ¢-ZôÞ{ïÕÕÕ †X,f±XB¡P&“™3gŽÉdÊårÑh”a˜@ ʹ\Îáph4šŠç“Ífà/V«Õn·3 S,ý~ÿºuë`¾(‹'t’Édºá†¾öµ¯¥R)’$½^/TeÃèܲeË¿ýÛ¿ x<ð„›´ÞÞÞ–––›o¾9™LšL¦ÞÞ^¯×ëp8~üãŸ{î¹~¿?—Ë ‚À…Ù¸qc(úþ÷¿ïp8l6ÛÈȈF£ùêW¿ * ³gϱ »Ý¾ÿ~½^o±X¼^o,{ê©§®¿þz‡Ã¢Ÿ3”ajÄá‹fKYkS7…EI’$p ð8øo¢$#YDˆG„(Ñ2¢$™¤ERe ‰"BA$Q‘,‘E|‘hÏŸ¶‰DdY”(ÙlPûZçÔÚ§dþ¯˜F®µã¿GÁrÓ¹õž IDATžÐAB„H•÷Á‡¸õ¸YƒÂºÅ#Ô% … @ÉcÃÚ'Š"EÉüãõ¨RÑèt€0Õ¥ƒ%ªâ7Q]¿škFÅ€T‚Ï)íÏÕõ ŠT¡ (šTªá¸Û¢R‘Q.õU.ð¡7oªVõd9¦Pn0Ym¢€žÁ+#>Ê&S¹ïq¿Z.¾8õPT»½–Ñ|¦y& l‡&W•SØàõ¸U4€4#BhöìÙCCCñxü¬³ÎÚ¼yóŠ+†‡‡M&ÓYgõ•¯|夓N²ÛíÒæÙlÖív;Ž÷ßÿŠ+®Ðjµ@Àãñ<ðÀV«Õ`0üæ7¿ …B/¼ðÂêÕ«].×o~óм馛.¹ä’W_}uttÔív †Ÿüä'|ðÁîÝ»_ýu“É´`Á‚ë®»Š„ƒÁàÃ?ÜÛÛ |/ùË'Ÿ|²ÓéL&“ÙlV‘™ÈJ’$ÐÄ8£££ox´†††¾úÕ¯^uÕUÝÝÝï¼óN{{ûüã–––7nÚ´iÿþýÍÍÍ7ÜpC>Ÿ^¹råïÿû­[·îÛ·oÖ¬Y_úÒ—.»ì2øFŠ¢B¡I’ &°uëÖüã}}}ãããóçÏ_¿~½Çãñûý?øÁ¾üå/oÞ¼y```öìÙ>Ÿ˜ v»}ÇŽÏ?ÿüý÷ß¿lÙ²æææÿüÏÿ‡6Çóë_ÿúõ×_VÅš5k.¹ä—ËÕßß?22rï½÷V<Ÿo¼ñ—¿üeggg$) àNï ߨæâ8®©©)ÇãñR©ÄqÈaŒŒŒÄb±åË—ƒ|= …BÈh4ƒ´ßïojjr:ÝÝÝÇ)¦,‼J¡PèëëknnnhhÈår¥R @’Édgg§ÇãÐh4ÃÃËellŒ ­Vk4Á ç A÷ùÈT,±+­í½jMÕòù<¾Rµwï^@`»»»?N 'ÉœDˆ<É%"!šR"Y‘¤$‰B¢L<%ð´(Bˆ˜ZEÃql‹}–eÝn7è×2Ƶvü‚ÖÉ6‡3u¸J\m±û”ìOpc{Axž—h^?²D€>Ž ,7NHÇP¡#ä¤*ŒÇ5ð”hlØèâ@®Â Wb(ÃÇ!yᮇ¸†HùL Dqî^1Q1⢫•úv(¶W(“÷‡²,Ë)ãHAE E•þEE´Eéy¥GjT±èt„Ƨ.UÆdÁóíj¾FY…È¡_ ˆ8U‡¨†4^»¹¹ùõ×_õÕW¯¾újpCxã7zè¡ /¼ÐçóíܹsþüùKg³ÙGyäôÓOÿú׿îv»wïÞ½qãÆ €ÅË/¿|ÕUWþùï¾ûîO~ò“o¼qáÂ…P—ñõ¯ýÆoŒD";vìøÓŸþôûßÿþÌ3Ït:6lØ´iÓ7¿ùÍ3Î8c÷îÝ[¶l …B@`çοùÍon¾ùæŠç“N§¡ 4r¹°»S©EQ6›ã¸d2ùþûïwww¯[·. ‚΂Çã‰Çã ÔJ¥gŸ}öÔSOP Hbñ¥CÞsÊp»rêîð‡ ø+š\“¯¸§á^* ³CùG%®Ã­ð÷§`û–ãxp8#«i4(F h²¦@5Wå‘T<­€ƒG¼ªã”;µ}¸MZEUr÷Trö®¶pä󄬔N£*å}ÅÏ?ᕉT«¬¶-?ÿ øÈä:”òP^4ÙK¢Úù(r$8¦¦¼£bm|ìbÕ>Æã&žtÒI©Tê†nøþ÷¿ïóùZZZúûû¿÷½ïµ¶¶², s„¯!È<§Óé|>ßÒÒ AX¹rå»ï¾;þü÷Þ{oÙ²eßüæ7‡††ÚÚÚ®¸âŠ×^{mÍš5Á`ðÄO\»víܹsY–¼ð ï¿ÿþŸýìgóçÏ…B:®ºîºëâñ8Çq===7Ýtè8´´´tttFQÇÇÇ ‚ðx<ããã>Ÿä¡üÞh4jµÚSN9ÊþÓé4AÏ=÷ð_{íµ~¿”S©T6›õûý]tQ45kÖºuë^|ñÅ5kÖhµÚ|ðꫯnooŸ;wîþýûc±XOOÏÄÄ„BñhmmÕjµ~¿?•JÍ;×ívÓ4½jÕ*ŸÏ×ÑÑ166Fï¹çžÎÎN`"Ü{ï½·ÞzëâÅ‹†,&›ÍîÚµËëõ^|ñÅwÞyç—¾ô%§Óùàƒ^{íµ Kév»/»ì²¦¦¦—_~yß¾}?ýéO«Ïã?^__è@ss³ ¥R j­Y–ííí½ùæ›ÇÆÆ‡Á`¸óÎ;¡î@–åh4:22dYþàƒ~ùË_&“ÉÆÆÆ`0h³ÙŠÅ¢,Ë}}}Æf³Q‡¯¿þz°á8îšk®±Ûí Š Y0²ý~?°`Ìf3È=‚ÄùçŸzÿûßNg4=ï¼óÀ=F£^¯¿ýöÛív{4EéõúÏMÒ â;_¬¡Ö>\j”)‰¢8{öl0åù8·Ÿ<"3") H’e’hJB1’L!ž’‘JâHÄS$Bˆ%ª6xk«¯¯7 >ø V«F£6›­4ÔÚñ]ìÊMÚ”Ô%ªD€¯µãu×pØÅ!J¢bª '¼¢ T‰'¯žÊ‡uX RùvE R2ð(‹ËÊÓ³x(«ŠÄ*Vì«\ñ ÊÁ” \áö«˜ ?ã`ÇÔ@ƒjü«ˆôå@Âèxï+¶<ÙYÿM6ÁûJ.h¨@T)…þQP†£¢-Êí€.Un:îÔ¨Ü5üÿP%ª¼©Â:း(~]ªø\E™™>ÐT~Â?¯Â¼p t45Ê£––(e5¨L*U…;Àé7¡O·#ß-xrPxG§Ó žç9Ž[½zµ$IO?ýô¾}û8Ž;õÔSô£ýáã\ˆ$m6[:…B R F …D"ÑÜ܉Dº»»ß|óÍÇ{,‹µ··÷öö¶µµ‰¢èt:ßyç_üâÇe2Ç“Íf­V+"˜Íf8GFFG2™<ÿüóÿýßÿ}É’%'œp‚,Ë­­­ ÷p8ØI‚_¦Éd>s>Ÿ/•J¯¼ò L[EAÙI’áp¸©© îF£q¹\/¾ø"Ã06l(•J¥R©±±q÷îÝwÜqG2™øÕ¯~ÇÀðð°,Ë^¯÷{ßûž(й\Îf³…Ãa»Ý …V­ZuË-·´´´¬^½zÕªUŠØ$B¨½½]¯×CÌšÙlÖd2Ý|óÍ=== ‘H$âñ¸Óé$bóæÍ>ú(A###`‡—.]úóŸÿüÿøG.—«x>z½~dd¤¾¾žçùh4 ñ9Øp tuuÝsÏ=4M§R©ßýîw?üð5×\’–4M`08<<ÜØØh2™ÀaD¯×à ڿ]]tZ0´X,Ï?ÿ|2™Üµk×sÏ=÷È#ÜrË-`KQT*•r: ÷i³Ùxž—$©··B#I’^zé%’$Ï9ç›Í600`±Xüñ¦¦&pèŒD"wÞyç† ®ºê*A¦ ¢—o U“HŪ¤Þp|Åw˱Õ)ÕÏYùhµÀ¦†¡|h”Áçó FŒ0˜.fJ &L‡ÃAÓôÀÀ@[[Ûƒ>H3r2Ld³e&I£ÃÙÔ³·¯Þå¡%áß¾~1/t !‘’Îjó46i5(›Ê B æ[FE¡<σLL0õ‰‰‰¦¦&°û10Ÿ$©Óé&&&4V«­xž…BaƒÁÀó|2™dYpÑaV—N§ÄÓï÷G" ˆÑ4­Õj3™ŒÛíw:©TÊårƒA‚ òù|ss3ø+3 366ÖÙÙ)ŠâØØ˜ÙlÖjµ …‘L&½^o<‡”Úààà¼yó‚Á V«µZ­‰D&.£Ñ˜N§ëêêzzzü~?l8âñx]]Ýèè¨V«µÛí Å“L&­Vk<Kã™  p b¨«‰AÖÚ'?ÿ¡C%,Çq4u¤ºA ØÊÓ†ÊjXmÝT©è ;-ô(ǺîT[¿Ž™©ã|ÜM$¾Ò4Í0 MÓ°ÏC èCH\K]¯NIJ²Tq#1­q@·ˆ¢Èqœ Sèpm Î_ÀsïJ¨¯ì»ðÏ+|ŠrñQÐ2‡5¨T*)lPއÁ©€0y¢É‰JBŽƒ³àc°¿U®æ^jV®BíãÀtˆ"¾ t”$ ‚  É‰}ø2 ¢<@.WUPD.álþˆR€¬0SxžWhðŠQ…Ž®¼”p§ÜS…ÉYL\^Jé1E‚¿B ü‹(Šp¥Jý°u”põ0ÂEñ22òo|ÃårÅãñSN9eïÞ½ÀLÉf³­­­ápÈ ·Ür‹Åb©x>ÇI’¡»Á`Èçó ÃØíöD"±jÕª-[¶Øív¸¿øÅ/€µ‘H$àI&“K–,¹ûî»Ï9ç†aàq-•J¹\.‹uuumß¾a¯× ö¢ƒƒƒ4M¯\¹rîܹW_}u$* EQàˆ™J¥4ͲeË6oÞ|æ™g‚ûf"‘ðù|ÑhtÑÁ Äd2™Íæîî†ÁÁA†a¾ýíoÿä'?¹ð ¡ø"™L~ú8µVkŸÑ§×ë‹Å"HÛÐ4ÍqÃ0'œ´Òíµèõ6±¡hÑbÒj5ˆ(">‡øÝíçžyZû’Áƒ½^›µ£µéÝ=>·™%–¡Ø@z+ƒæ[­V«Ñhb±˜ÍfK$~¿?g2pÞ¥i:NW@•Šá†QÀ„7T.JTe€Š?¥r¶ÊeV̇WŒÔ‚#eŒJä‰ IàW‡gå~¢øŸŽ¤ú I•oG“µ  ?8ÖNqwðô{¹œêKAší¨÷ç\ÀN@IÝ+Õª±ðJ¹^l‚[fêa¾ŽÂWÏòŠ•i¶Šå8a*¤nWy©à¼¨äÃÉД?bSDef‰C9¨B¥ :nõ@~€Q¡PˆF£P°P,óù|ooïêÕ«Óé4”ð<®(ŠÅbQ¹<Ï÷÷÷Ûl6“É$Šâ‰'žÒ’@^€¨°`0Øßßw«X,J’†4M‹¢¨×ë{zz¶oßF].—Ãá8ùä“¿ò•¯<÷Üsßÿþ÷ï¿ÿ~(‹€d¼¡•üxjÂÀ…ÇÇ\.—Ífa{ °ÇqóæÍ#ìÇ-ˬY³8Ž3¥RiéÒ¥o½õˆ½ëõz¨à€ e,ãy($Ð]~¿ÿŒ3θôÒKï¼óÎ78p ™L.\¸°§§ÇívÓa÷îÝ­­­Ð±[¶limm=ýôÓÁ t×®]6›­··7ƒ8¢Óé4ãããÀ I&“T;Ÿááá¶¶¶úúz«Õj4ažÍf³‡cç΋eΜ9 ápØd2Á³ MÓáp¸§§gåÊ•¹\fsNçr¹\.×ÈÈHGG‡Éd2 f³ÞdY`§ÁJú0È\.·|ùò×^{íÀ‹¬IJ¥R}}=€J`Ï©E£Ñ˜Ïç½^oSS“ßï‡ÀC¯×ïÙ³çSàU´ü­Ö>¯¢J«mÝ>ÉqøÑÌêÒëõÀ&kmiÏf¸`8V*!–Ö†ƒ¥½»BÏ=óŠÈ¥ÿ¿^óö–»·½èm¯íß—'—,hb2-ðìg2™d2Y,¡T!—Ë™L¦b±811100°}ûöºººññq—˵oß>«ÕÚØØ³÷öíÛ«'ÈÆa:×çóiµZ›ÍFW¬XÑ××—N§gÏžÍ0L¡PˆÇã³fÍBÙl¶ÎÎÎP(Ul:.Nohh¨T*…B¡p8l³Ù`Òs:…Babb"•JqÄÀ`0ØÚÚúÚk¯!„|>_8f¦¡¡aÞ¼yXär9Vxž×étsçÎU¶˜###N§€’X, “ɤ^¯×ét3uUèµVkÇqjR2idósÓ\/jëË'Ó(Š"&k à**J…BDGÓ³x˜…‡i*¬ÿ %'¬TÚ+Ç7•_A >£ÔÀ ¥dž§ƒ•àU ¸kü@aMyWsPVXüzËC}Ut H}y°­ü;^”Q.°ªœÉe*Ý ¨XgYV¥=ëSuK¬²xT åáL9O¥q¹P`²àVÞ·8¸s¬ãPÕÿ8†):,d[~ËL9à¥` ø˜©îi: 'šfò@5Šà$•çT9«#?¯‰& Âéf2™-[¶lܸ±¿¿ßh4Úl¶­[·>þøã‹-r:KK’ê ‘H$Nóùä“#‘ˆÉd‚ÐÂétþþ÷¿_½z5È4šL&(ZèœsÎI$E½ùæ›wß}÷ßþö78±={öÜÿý§v°B T‹u:ßïçž{zõÕWaŠÙ¼yó?ÿùφ†NÕà±X¬¹¹ÆÒöíÛo»í¶Å‹CÜâ÷û?Í1^-XkŸu !NCò«@¼"2›,‰X2ŠXä´²uk*1BÊI¤É\vÙi»ÿõ*Šô×Û‹Ùd4XZ{ú_tégœ±dÉ’åË—_rÉ%÷ÜsOww76—˃A‡ÃáóùÇ}÷ÝwàÀººº%K–¸Ýn`o±,;11±téÒjç è6p. s„¬D"!Ë2èþʲ 깉D!tàÀ`.ðŸÅbßúÖ·€Éd‚¼J±X ‡Ã¹\N’¤öövXkÒé4 Ç­Y³fûöí^¯×ívkµÚP( … dC„ñññ†††}ûöAex·´´Ã¢P(Øív‡Ãáv»I’„®–?žV17Rkµö Ðøþ[IV×€ƒOgEQÆâseWƒ„¸T¤Š´ò¡áU@®²ÏT¥p*ÆT¸V*+ ÀƒOEý€Õ%Q}¦/ÀÃBü{ËÿíU!=þÔ”‹MâÖ˜™CSž¬ò^š P©$(T‘òH¸RÁ*ówPn NvÀqrFIy´Œ›)¨æ 88I ´ƒóCx9—רî{¹Þ§—ß^+ÒTZ¤ÓX+â8S%x…‹ò\”Ç)3é:q¬MኘL¦¹sç†B¡?ÿùÏ?úÑÌfóìÙ³¯¸â PûëïïEÑãñ<)ººº ¼_¿~ý]wÝF7n¤(jÍš5K–,ùá8<< ¹t—Ë¥×ëc±˜ÓéÉFŠ¢X–]°`œÀW™LF’¤íÛ····/X° ¯¯ï[ßú–Ñh\ºtéüÇWvÁ‚½½½ a 2ópbZ­vÅŠpQ,Ë‹Eà,h4š•+WB2Ÿ ˆd2I’ä 'œðÞ{ï!„¾óï¸\.FsÞyçY­Ö–––±±±óÎ;ïõ×_à¢Ñè‚ Î>ûìÆÆÆÑÑÑÁÁA›Í&‚Ïç›7o^8~ñÅŸxâ‰X,vâ‰'Þpà ¡PH¯×»\.°Òà8®µµµ³³ó»ßýî¿þõ¯x<~Çw<ñÄk×®µÙlK—.½è¢‹^zé¥D" ¯¹æšM›6=ýôÓ·ÜrËüùóW­Ze±XÞ{ï½®®®›o¾ù©§žªx>Õî/Ïógžyæ_ÿú×îînQ½^ïé§Ÿ¾råJØé‚EQÉdòâ‹/RÅã¸\®Õ«W—J¥—^zéöÛo/•Jëׯ_¾|ùÒ¥KµZm6›…y§P(€ÅÚØØ˜×ëýÅ/~ñÖ[o½÷Þ{6lÐëõccc矾Ïç ƒÅbñ’K.ÉçóÀ¡¨««óù|·Þz«$I£££^¯¨OU€‡j:޵æÓ1?z+ .—+ŸÏçr9N§Óé ”ˆÇìïÞ³w Š774}å¼3 ÚžݯþãùG»æ·¤âÃEkERÎãj²˜ üßý£Æh4R|ˆÿ9Žknnò°Û¶lÙâv»yž'IR¯×—J¥+V<öØcƒ!V«²Àá<ƒÁà¾}ûn¸á†§Ÿ~Úét‹EP–YµjÕÛo¿Ïçý~?Hüò<ŸJ¥TWíÝ»·¥¥Åd2iµÚþþþîînÇc6›ãñ¸ÉdÒi±X, @ —Ë™Ífàb bÆÖ8ü¶V ïU¯÷¼TM†s:E¸dfµ 9n@MÓhÿ‚ ¬^½úôÓO‡W6›…Äb±¦¦&AFGGm6[$‘$©¹¹ùÊ+¯„Gqýúõ^x¡F£Éd2™L¦£££»»Ûh4þå/áyªdA€D[[[G¯;Ù IDATGG!¶4矾Åb‰D:::n¹å 5¬^½ú¬³ÎúÚ×¾FÓt&“™={6øq>ñÄ7ß|s¡P€©Êd2¥R)È´{½Þk¯½6ŸÏƒš`&“I¥R$Iz<žoûÛ©T „'Ãá0  W_}uooï…^‹- ‡Ã0¤Ö®]ÛÕÕ9³Ù\(R©”,Ë‹/fY¤ÍfóüùóçÍ›g0†Z¾|ùøøøÄÄD©Tºà‚ :::fÍš%Ëòøøx$q¹\€‰\~ùåßûÞ÷”Œâ¬Y³ZZZ@Ö±®®î¶ÛnÛN·gϿߒÉäøÃŠçs÷ÝwwttƒAƒÁÀ²,h"h4šB¡x˲‡#»Ýnà'OLL€FF,o  –d2½^d¤R©ô /X,–ÁÁA»Ý¾lÙ²/}éK’$AWƒñ^>Ÿç8„Ü ‚$ɺººÞÞÞY³f-\¸°³³síÚµ@K†K"‘Ðëõ/¾ø¢ÅbÙ$‰$ ÐEAÒòSàÕŠjís4(–ñFðÕé´ím-K—¬fY-MRN»6t•²ƒÿñßþõ/F“TϾ­‹Ì¾–ö\:nj ðB 仉œ‘‘‚ t:]2™Áãñ¸ÝnN—ÍfŸþy€hšÅŸÑÑÑj.3€Š:ÎX,ö¯ý ìr(G’$pÊÆÆÆ€¬G’äøøxcc#MÓÛ¶m[¼x1Ð%œN§ÇãùãÿØ××çr¹N=õTFfÉ<σ8q±Xä8Žçùùóç‚0 ”k-B¯×wtt „€; e±X%#Ø]±, ’ÆPðZ˜‚ Äb1¯×›H$`~ž©)î ÂØªµÏļ¤ŠÍDQ$ˆcÛâÖì?™F’$Â*íA’ah iZ"‘kxž\‚@ò1/)J¡ÂŒÊãX„„U­ÃØPŠÛ+ÆÉ¸À$žÇk4ðwŠ€\ųÀQ†ò|¸|(¯*®~9¬€Ÿ!ªd$—|\cïL|_:MAÅ A˜¤BO@‡E§vÖÁI—ƒILmĦkðIDFƒ¤’{øpã¿¢á%®ˆ_lÅ"Y–eAR¹–ª*M¦™•,¿¹SÏxŠZjùÿVJèã¸0„B!„ÐÄÄ„Ïçy‚p8Œ2›Í‚ $ ¨o‡‚U¨°ÅŠO€Æu__ß 'œðæ›o‚‘äÀÀØ(@‘‚×ëM§Ó²,Ï™3§¯¯ÔÅ¡vÕªU°•dÆét†Ãa­V;>>®ÕjaÈ644$‰ºººP(üØÇü·¿ý-[Às•H$ÀæÍ›çÌ™ãóùhš†=ñàà`6›õz½ãããuuu:è°m…æSN9eÿþý { ' …¡¡¡l6«×ëAÂ}hhÈétò<_ñ|úúúR©ˆAB÷Bذk×.NEF£1‰X­V˜9ŽÓjµù|~Μ9©T –¸¿…BRˆ ép8AH¥RÐÃP¶zpãÐaP¯Eétº‘‘‘ºº:‹Åâñx8Ž‹ÇãPùFa^p¹\¹\.™LjµZ—ËeµZ¬ijj"IrddÄh4~šÃ¼h5üùË8Õ6‚Ÿ9 AS€âCÈ–¤“©÷Þ{W©b±™-åC-õ4KE7=û×.=[«Õ>ù—?5µ-¤EcßÜ’®zz5ZJ§ÓÏ¢‹|>ßÑÑqï½÷¾úê«ãããMMM+W®ȵ¹¹ù´ÓNûãÿø­o} !tî¹çîÚµkÕªUO<ñD5 á—¿üåæÍ›-˺u뮼òÊÁÁÁ›nº) ]zé¥4M÷÷÷ÿío»í¶ÛòùüÉ'Ÿì÷û9Ž{øá‡-Ëÿþïÿ®]»ö©§žÒh4»wï~úé§o»í¶Ûn»M«ÕnÛ¶íí·ßþñÜÝݽxñâSO=õ²Ë.s:üÑ~tÓM7-[¶  –egÏžýþûï·µµÙl6XbZ[[o½õÖ%K– „~øá·ÞzkÏž=6›mýúõ×^{-P:_xá…¿ÿýïo½õVGGG hnn¾þúëÁubïc e¨µOÏÒ€§ÙéQt­g>µëˆ‚EÇqΤÚÞÞNÓôî»ïþú׿ÞétØÕ?xð`§Ó9qâÄm·ÝÆ"çÏŸŸžž¾é¦›Nžpp£Ñ˜ššj6›+++kkk‹‹‹œvÛëõîºë.NâÝÚÚzàžy晹¹9Žƒmmu.]º´´tÃÌÌÌöv·Ñ»Ý˜H>|ä™gž™›[èt¶æçO:…(‰èèÑc§OŸºýö;×ÖVâ8%¢ÙÙùåå BDÔnÏQ§Zk–Æ9~üxš¦Ýn—s’98MÓ#GŽ´Z-¾“n¸á¹çžcòv&kµZ'Ožä´gH\u‚ˆ·Þzë¿þë¿ÞtÓMN§Ñh´Ûm®¶à‰IG˜Ef}}=Žc~R¥ÔÓO?ýº÷ïN|ã›Û[/^ ¢0”ÁÔt»5@àÙ³g_yß«V/¯\¼´áÁ¥CÛ›[ÛÝÎæÆ7Þxã…å‹QÎ/.dIJH`ïwÉÚ¼ç]_³&ztŠ\±;:ÆÎÃJ$2 ö@ÀÉ©ö~‚]Žùq¤”ssskkk[[[[[[Ýn÷ÀÒÒƒ¯{íüô,$Û 3r6Š.~ì?ýâÿüÞïl­ýÝc©4k=š®¨{¸÷©“ß:|dIJž¨Ž ÃðOÿôOÿîïþîøÀ]wÝõ¥/}éÑG€ Ξ={ñâÅ›o¾ù÷~ï÷~ò'ò _ø§;U=×/ýÒ/=ôÐCõWõÜsÏ}üãÿä'?ùS?õSûØÇ~ú§úw~çw˜YfssócûØC=ôÄO¤iº¹¹ÉËÇç>÷¹}ûö½ÿýï¿ãŽ;Ž9²¶¶vâÄ ®n¸çž{}ôÑ_ûµ_;~üø“O>ùû¿ÿûûöíû®ïú.V¬xà._[[;vìØÂÂBÇ_þò—~øáþçæeîØ±c'NœøÂ¾À8û‡?üá‹/þú¯ÿú­·Þúàƒöz½G}ô{¿÷{yä‘n·ûÅ/~ñäÉ“¼ª²è&+tN hØ›9ö¶]1¡Y¢ì±„!å;ê½÷;2‰€ùB ŠåÀìõ$ö/©·CìQ¦ Àâ8îĽí^w«v‚ †A ’©Ê²,KU–$sÜ šCÁ;jœœÏQkâe1B ¡Ò” …”¦Â‚}f(`éJ˜0RŽÜm}G›:ÁhXŽÒ“mf ÎБ³Eh"ÐBB)"Ð:ãï‹oІ þ‘$"±—ª)óác*lÇW·ß¬ 5i PHîÃö¸Ð …„št>RPjÔDÿ•¨©ŠWÒGIÀR°ÃkàP3pÛšïÌv1LûçN51r¡li›¡¤•£, ¶—¤4ÏJ„$Qb–¤(…`É @~“PÁ'â㣬ÑìUÿN2?tX9¯ªtbÜ”KÜ2*RÊ©©©$IfggM¡D«ÕbqDûGQôüóÏïÛ·®\¹ÂBepìØ1Nq—RÎÎÎò%8žõ,¹žXrœ{Ûz½WqiKòJqJ \¾|Ù°sq?kµZI’0ÝãÊÊ ìÛ·s˜õЧ3"°ººÊAxDdàø¡ø³QÊYXX`¾Îü7åà?ðSpzË¿së1ôË•À<l¸sžÂ_ÿõ_Ÿ>}š›Bˆ`k«3ÕšÔ[›@j6¦5sec«ÕjkÍæ³³ó+—צ¦¦×V7E#jño§¦¦D³9¥h­§Û³€:MÓF#ìv· ešÆB@£&IïàÁýÎV§³µ°0kk+ss3Bˆ8îrÞ,.Îö+̲D¸téâ¾} qÜåsFQ¦1LOOi…!OÓ”$½©©&ðu…7=üü¹ççç4Âôl»X°©ÓÛÖ7=|iõ’@ˆZ‘ Øên¨nÒš! ¼²µ6Cg1ÖùÚßhQµ0¾¿DY3Žü4-­3Ç‚7¨íàÏó}šf»Ê˜*VP›·¦¿6ƒ@D*sìk˜ª™éêç1–D¥eTùÕöÿK¨"E×0ñüýÛ"¾ d©gB­µЄ¨ÿi‚VkzùòiÙœš‰“¬53›¤JQÒí…¡eqmª’õ+k&£ÇÒ¿333çÎãÂÜÜ¡xþâÊß<þx²~áÖ¥é­óß::›Ÿú©·|—>ñ‰ÿ÷Ÿ²¬ùýßóïér|aC¯\x: Åëßð†û¹HmvvVJùÈ#ìß¿ÿOþäOÞ÷¾÷?~|mmíU¯zÕúúúÉ“'Y)yiié™gžQJÝrË-gΜaž`Ž{ðdËÙj½^ïÖ[oýÃ?üÃ'žxB)µ°°ð³?û³¿ò+¿òö·¿=‚­­-&G` žV«Å$‹a.//ÏÎÎ>|øû¾ïûî»ï>&dÁ^,ž|òÉG}”WŸ£G¾ímoû¾póÍ7s Ÿ§ÛírŽs7AÐét¾ùÍorÕØsÏ=7;;ûå/ùÝï~÷-·ÜÂõ¿ð ¿ðáøþà¾öµ¯ýê¯þêúúz£ÑxÓ›Þt÷ÝwÀ¹sçÚívE”ïåô´f³É«8í) îm/<oSÁqå!zB@DˆD µÎ¢F„Hˆ’˺•Rˆ „¨‚ŒZžc@‡2$@“BÐ$ _ä𜠤 $ €Îž”"pöBŠ1×Áݵñ] {ùc 0"”A…2 E#Ä0a0;?×J)­@ŠF³Ùj·Û3Ó P)Òi”BHIZ+vÝ«#ç-(hš!I4·;B'AAˆR€&E4B…ì¹çÅx˜¥L{ŒY›K›´.L¬Ðì&”š%†)9IÎ#`Œ£Õj(ªLs @H¥u5iÒ¤´¥5j)A¢¤QS¦2Ò¤ÃP"‚$P¤óã T„<‚ŒÓhH9ïØÛù~§$ÕJ)¥A @!¥€ Фx˜µM/ˆ»¸ˆüF´R…H  tÆ$+ŠMERÈKyMæMEQd»ñö_ùÌFÄ€Jü¤ö»¶ŠMˆ$‡ŒÓàüÁN¯(¼Œ/l›úà*  L) š½FˆH âÆ»4¢Å#ƒ/œ˜À¢]NZ‡YÜ9–ÌQ^^ÙÍ=;é9 tÊTD9Ù+7àuËhØÜÜŒ¢ˆSñ9ߤ¬Ô„s_ë˜ À#„åß+aMø“Þ#ëc'“Ýž?¾×ëÝ|óͯ{Ýëâ8ÞÚÚâÜ·C‡9sî¸ãVÞíõzJ©×¾öµýèG?ò‘t:éééÕÕÕf³É@9©,|ôèÑ£Grò]–eKKKßøÆ7>ò‘<ùä“÷ÝwßêêêÚÚÚ›Þô&Öà|×»Þõs?÷s=ôÐáÇ|ðÁ{ï½÷ôéÓ7Þxc§Óyâ‰'Ž?>©qTš »ç÷îm»a35òH¤‘""¥R!"ûÊsŠG úå_‡Áó=™$æQÑÿ+ZÇX{‚’ïóXñKe0™‡"„P‰(jÝQR„³/!´@ÐJCî+ ¼ØOÅ«º ÿ„a(P‘N3“¼`;T&hÚ'M,S©àUÕOÑ÷&¹®Ð§A %æ’ ¹…F*2@k­‰ƒ8È¡ €œ4¨P# ‚üW|<ÿÞ~X»Ã/Ê ¢¦ 9´^ôö¼=5iN–À9ÐPáñOè_ÛþcHg¬2Ô®êÿãI“r¤w`V ¤ës;íF23ƒÁ~ÕßkØwð`Ç?þøý×à®»ï|è¿{ãv§[ºØLª¿MMM±Íd㌃ RðüÑŸšÂÜ<:Gÿßs«?ôƒ?ôþáŸ!⽯~ýæsËÇn¹w[5’Dlu:gž?¿´tÃÚ¥ ¼¬®¯¯ß}÷ÝçÏŸŸššBœ9sæÞ{ï=uêë;Üÿý\¨uåÊ•$I¦§§/_¾Üh48|qùòå¹¹9ʲŒíÅG}ôöÛo?|øðG?úÑN§ÓétÞùÎwnmm]¸p!Iªív› 9 x}}ýÈ‘#·ÜrËÚÚÚÅ‹WWW766î¼óÎK—.±ò%³Kž9s¦Óé0ÙMÇ|3—/_楰Õjq‚Àôô4s±€Å©S§ž}öÙV«µ´´túôé .,..~èCzÃÞðôÓO/,,|éK_:räÈwÞyùòå÷¼ç=o~ó›O:õÙÏ~–•†ÞúÖ· !Úíö}÷ÝÇœï{ {Û®Ý|68ÛM2½wD»Å¯áŸìñÞ·/eÈDõ9²Ê_fYFA?ìÌ‚Aq—☜s pÀž<ñ¦Ç}‹kÀ‰sò²ögŒ ŠÔ°j³9lÑW¯tjòKÙy}.Û³ÿjs1:|Šöð1”J‡‰Ð¼;Gç‚ÏÃíàã/¥†îPyÅR\¿ÉæÝ4÷YcŸk™¬ ðä<ü`gCÉÉ9l Îk2ú&¾:‰M$é”T8™5(ƒ‰NÙ©%&B3P¸áq©ä0Ùõšh¾öµ¯quîéÓ§ù™Ð«*¥ó¥$¹ÖöY•<Ì„În'8ì†å«úOUcžp‹R„¡k˜¤ñÞ#{#5†ˆósžˆGוØm)ÊUލ‘r×HŽXLÐй¦ç7³©â=Šª.°³Ì)9Ì´êv»`U=zÔ5AÀZ½&|°e³Ùd“nss³Ó騔Î<ö—ÿ—ÿ5È®\:ýÔûÿýÿþžÙØø¯½éõoùÞ7Ï<ðÚû½ÿ¶•D§×ÖZ G§Z³‹óûΜz^«˜v<¨µnµZÝn÷–[nùÖ·¾õŠW¼âÌ™3‹‹‹?þx¯×ãd‡4Mggggggo¼ñÆ••Ã@Î ¢³³³L÷Ðív¿þõ¯ÿÇÿø···¿ò•¯¼úÕ¯þ—ù—0 ×ÖÖî½÷Þ ¸^#MÓýû÷ommMOO³¶. u:D-¥#&žL¦¡0b;;]𻄓¼ˆÂ'ò¼ž@³p±âc¬ÎÜ×Å!ßÛ^¶–ˆû¡"CrgŽkéš# V‰Ä‹Úd¯jG¾Ø™¥)`¦€zÈûšÔ{¿6i[¤ªJ/Z–&}Œ{~¨8~~ß¾8ŽhssŠJÅï±ÿþûî»ïĉÿðÿÐh4Ξ=Ë?çÏŸ?þüÒÒÒÓO?}ë­·îß¿ÿÊ•+½^¯×ë-..Æq¼¹¹†áÝwßý[¿õ[üàçææþâ/þⳟýl†ûöí{î¹ç¦¦¦Nž¸ººúØc½þõ¯öÙg:´´´ô©O}ê=ïyÏöööÙ³g¿ò•¯t»ÝK—.1qòÙ³g:Î=÷Üsúôé{î¹çܹsQÝÿýZëG}ôïÿþïñqÿþý¿ñ¿ñ?ð7ß|óÉ“'¿úÕ¯~ó›ß”R;vŒåuƤ5‡={oÛÛ^’€XÉó‚0©ã½o_víAQe@2͸~ÁD)J'´^sûö†IÔøó¾÷ËœS¶ËG&Iâ8Ÿ|ª„l˰øì">†å35:žªC×gc 5voi1ˆïguÖ¸Ô×N|0„ £ŸÊd5vV¢âÀ"CƒüY–1¤¹(wQÜW—Ÿ!â”±@!âä,ø¥=üÁ %ûÙ‡ª„Øu#Úÿ»hxúé§™’YYD ü{±d4ì€,óÚ^÷Z+˜ŽY=q½J'²$©z¶ÛIæf*'\ªü­j±Óœì1É€!ȸ^[•Óëõü7‹"@9^©Ôµæh¸æ¥LcOXE£3îùy÷S+×WVší¶Œ¢ÅÅEК‰ŽÝxC§Ûsõ\C‹&“ibøœY{‚å‚€²ÿðÃ?4?×ÖIçÿû‡o¿ýøóÏ|{á¦cÛM'ѼŠf[R*‚îöÖ‘=ôÐCs³S+++SSS7Ýt>|XJyÛm·ýÌÏüÌG?úÑåååW¿úÕFccc㕯|å—¾ô¥Ûn»íÀQ½ño|üñÇ÷w÷ìÙ³=öÓnõz=&=Z\\ü±û±¿ýÛ¿ýžïù)åM7Ýô¶·½íÓŸþ4‹à¾ë]ïúË¿ü˯~õ«³³³ŸúÔ§î»ï¾›o¾ù·û·¹ˆãøÀììl³Ù|öÙgï¹çVþ‘ù‘OúÓ333ZëõõõýÑýüç?ÿÈ#ðo~øaÖzï{ßû™Ï|æƒü ó69r䵯}-ÛïxÇ;Þÿþ÷ÏÌÌÄqü¡}èþûï÷»ßýè£>öØcüÇ|öìÙW¾ò•oyË[666ñá‡þó?ÿóåååíííïþîïþÄ'>†áw¾óF£qèÐ!æ`žH?ß+ØÛvíæGhí`§tb¨Î¼}Ú±J!ìXâX@ÃKuXI)…”\7EQ†ìä‡aEa†$e"¥äl5ßœx?±m»¸ÆIb·éNìšãɶj¦IŸh0óPˆ) "s4¹ž¶í4ùát?[žïÓ‰úBÄRíL»Û2)ŠÃ IDATGçWN%¿Ù˜CÑ$z˜ó;¥£ ×v 츀±Ã}\ÉÙ”Rœ$nW%€W“µcKÒ4µósCÏin¬„)›´’q‡ÒÒ°’V`0ØYu·Œ¡Ø…0FK¼J´»Üu8Àw¹¹¹i°fÂˑۆ8N׺ÇÕÅ1øq€êà ÎÖjÏ m=¡t+"ÏU* QT `/VLDÔé°ƒ‡DT>)”·Ãôôì®êÿ½ 2Èé™9»rÌDD•þ8)#ãZsÁLn('B÷ü&Y̹ÐT«ˆgN€¹…¥Ôêêj»ÝnµNfcý‚´Ã.Š"5Q1 ÁÙ3玽afª5?׀ͭmh´ÝóÚ••å…ÃÇ{qÖ\XZí$Yª uç·~ø?ýoósÓ­VƒÕÖ××WWW766¿ÿû¿ÿ®»îb²É{î¹çĉÏ<óÌk^óšŸÿùŸ€N§óš×¼æ oxC«ÕšåªKÖBâáœ$Éý÷߆á/ÿò/ommMMM=ÿüóŸþô§¥”«««L¯øž÷¼‡¶Óé¼ãïø‰Ÿø ":wîÜm·Ý&„øÈG>r×]wmooŸÅ †œ2³2šˆ±©!ekggö‰áeà“˜ÞË'7‡1á#\¾×ç/؃ÂWWáÄ:èjò_ xÑocå2oK0‚—X^ªUûø<ŽãŽ2ãHÛGýˆF+×(ÝØÏès7ìÀzô]ŸgÁxÍÎP”0ûÅ2ö‡QJº¸_Ùç±ËFLßvìCÓÌ%®а¾¾ž¦i»Ý€ÙÙYŽÞ°¼åÐ0Áë ¼Æªc ×Ru‚O…åHäP”ÁA¦Çªî3©È¤pˆ[Ìg£"áðöU·‘AVe4ØSpò—A¦ô5_㎻IÍ3ãž§J¥‹4”æèŒ{~“²èXÛ[WX7·ÙlrX ö-ÎÙ õ„\HæàQÀ=wîÜ?ÿó?}íã_»ë®»N<ù­¥#G/¯¬4›­°Ùèôº”ÁÒáƒ[‰š^X¢•å‹°ß,ó;pÇÛÞÞ¾óÎ;WVVøaŸzê©cÇŽqfÁ¿ýÛ¿?~üÌ™3'Ož¼óÎ;777[­ÖÂÂÂÂÂÂÊÊJ·Ûã8 ù¹9^ƒˆèòåËxàÎ;·°°Àå.\`ÕáV«5==Ýh4¤”Ï>ûìÌÌ "FQ´¹¹yôèÑ$I._¾|äÈ‘ .Äq¼ÿ~¥«`8p`kkëôéÓ>øàóÏ??==½±±qùòå{î¹gff&‚çŸ~qq±ÛíÞxã—.]ºtéšZë#GŽ0ñdE—.]bM !Ä¥K—>Ìq3.ú˜››ëv»D´¾¾>33†áúúúwÜñÜsÏ…axÏ=÷LJÞr/aoÛå­uoæ@ÃZ£•Ð;µÐNuôÕÿrÛ˜‘ÁÆ(9ÊÇq/P 0VY§ÓéõzI’Tå“3ðD6“OÍ7K‚í,Ù4û6ç”=FQÄbk@:ò£l̡Þ¹åÇ¢”|ΑR^€*_¯Á˜d&@íꙜ˜ÏfFRJ€p¬h‡¼ÐA’$áZÛ€1ײcõõ£Ò8Àv0ß@0cÙ“vZÓеÌl6D8tX6ÇÍdq¦©RÄÁ¤±ÛÉ 蔂JPV*RcÇ:/Âns®õ³ï*×ÇÌåþµ£c£Y,*†áêê*ôz½*”&§\Å:îù'âï y/¦¦C;™Kæ'“"×ñˬT«®_A2§*2øþí· „àTà ]å æþµÖy61­VÛèsy†a”Odi2À¦›ã¾‚¸ùý¡áQ L¯dËN#ÿ¯šÓs¼ö_¢r¢w’ŠóHa(x¥dH1(Œ<^i„JS¦ÁˆŸsÍ›‰-8•BìÏf [ÄØ‘|<ËD™…ÍÔ^ê,3ßÛ‰|¦Ÿ8 SúŠÝ\Dš¡Ðæ>É­(*M¥3KµÝO ¨ÍóW…$ÉJ9ºIÂá óh|¡F£‘eYš¦qF¹`²`Eñ\$IµÛí^¯'Âpss3MSÖÊN3â,Ë„ ¸…Ó4 ‚ÉÌLmØëõZ­·Ø{ßû^}ï½·Àƒ¯{@¡Ðh @-Hoõ¶eÓ3‘¦.)Ȳét:‹‹‹ÌŒÀÍ8Ý`kkknnnuu•1VšŒãX±±±Á&#cÝnט8333ÌÚ055Çñâââúúz³ÙÔZ7 CTû÷ï7¨"ÿI)ÅL 6ô¶²²†!ËgÎÎΞ={–QKKK+++¦e‚?þ¼Aˆâ8n4[[[RJNv08£1‘ã86=_1ÿ–ÿÔjµ–——¹xÁÔü?;;Ûívƒ ˜™™¹|ùòþýû777'ű·ím£lJ)žß ^ECoULì®Á‚/¶íÊÆ0ÿˆ˜Ÿ¿x ÈU¦æ ¿> B”’Ža‘ªGÄ'cÑ/ @@@€¢øa™OiÍY¤U…U I¢u†³³³ÛÛÛG}òÉ'ƒ xÍ«^}MÀ f ASH( È ’FL(I‚@Í= áú: §OŸæ Æ:TU2¶·ím×È®3À1 òá×8º`… ù i¢và0TÙi¾[åÄŠmøe Çš±¾¾>êF«‰aÀï…6ŽŸû~‚„ª"ÕÓ&k´A h¨'é´ àGéœKè¿_[,ŠÜU›ÆÏa%4u%0  J)@°£¥Ù4¥…õ.ú(]º :ÅÏk¨!l·ß O§ÄØþÏRÇÇ–´Ok×é8Ø¢C|`Æ©]WR¼:ÞG´ÀªsY|¨Ò¹*ÅJ};cw,WÅ!11§R”¾Ü—iFƒ¸ì h¸^À„ŸÎP3R5YF·—ðfJìLJ| 9b ¾›J5î5íçW‰€hœk!¢À?âyœÓϸ …!yS­“ãê4—y/vpÞ碳3ÙLJ!X)^>S±£CVªLæ¤É€suNt”RÆq\Ê¡XŠ ;Ù›Ö³)D)ÄIœ™VŠ9ËÊT²‡NbRʵµµV«Ñžj7¢ÆßøÆ'¿ù+W®<ñÿt†˜PC$ EšjA0CP2BB ÆÐp·$I÷íÛw×]w8p®\¹BD¦¸coÛÛ^ ÁÏK¯ñÞ•ÈŽÁøs;È{õUîL¹­`|à—Ð$0 Øœ•$É… fš8=;MµÒ43k¢³ÎŽî€ù™’¥%£hˆŒ’̾Œ·cŸ8ñ?Û\·š’´Ö€`Jðg_¬Á8~áèeŒØ¤¥Úä`‘qV9¨5|©°šc¥8ªjŽü¤ÏWí<=}û°&“hÀ¦íß3Õ´ÍO1´S9ö°…Š¢o5ÛÔÜT$­˜Ò{?·Fî´T]@”¢W{&Ú‹l7EÇÖȱ»ÑD³õÆ:•é|¸Ó\†ª‹ €±ùê°ôÌZ+BviQVó°ƒ/‰ ¯æ"âGö ùªïgŒö´)p‡=ÔÏ•ãwEÏ¡E€(ˆ”"HÒ¤©_H‚¤´"Dyg âBΜäÆ^1Šl ( À<\€ÈÜD€(ì ")0È;J@‰B¢™Çí×  ¥´×&MØg¹F,’2Pi `r­4‚ D‚òwOdº:¢àD*úI~Ò¢D‚†9Uaè(E~œ£«W"Jˆ¤5(²R+P )B¥Œ«…VE£Ñ¸ù¦›ÃH !ý¯åô¦I¤ÅXF$ ‡ƒ&ÖÓEbŽLÔ!€Ø[®×Æõ̽^É#˜b~~~÷noÛý¦”v6·Ï•S¥†6ºé¿Ç™ZÚþEôÔÔT3¢(ŠØN’¤Ûív:em¹W¶£öôE”LG€*Uö6xZ0~±Ï³@ý•›¼P ð÷¦NÞ´Ì\B¥ØDM¶c!yƒ@eà¶ôÌNF}~WÏã8¶s^Ì›2| >ÌáC'CŸ« ËpDO h(j¡›<Ò~¦=K#Ê#Þé_K_q•šØŽYJ3k^Ž@ƒÓùvX¾Öãú FV(±q\»cMh/á®Â…'6ÝÎ轂äï׫:Þ1@_,ÊÏ;ÈÁêÒ§ðVYpt˜ýUÍ¡íÌ…Rzƒ%Û£É'ét& ç~ ½9/N±’óÛÒ'µÇ£=ï×t;©², Õ–­›í–%#@…fjjj* e–eN§Ýnïß¿¿6âNïŽ8Ì%ci$¤‚ @£&B]©ìm×i{î¹çÚíöüü|³Ù ‚ Žc­u¯×ÛãhØÛ^È­TXNÔ’ÚÜof¾•2pÖ™ˆ¾yæ$ë9µÍ/·÷e\_vº¢(jµZív;2!4xÆ=vLˆ¡z¥yÝæW®ò0Öý±ºÍö^ˆØwüLp@RÁu"íØ¾œ Ô*•²œŽ˜ÑPjv: Ž¡ëï ‡‡ËƒU`b~eoŽ˜‹B‡< *Ùí‰Â¶MeЉ™ å8ðAÌ¡>¹Û i<ë½>ðìÀ=¥Ðî‡>–T£ÎVÃ5ãW©/éÔô×1»^”ÅÃk:„“Y {"çã sfyë3EÓHýÁD¤ÉÊh¸z~©j#öÛ´S6É BJ=Xk¤JAb)%”é'ƒUGgÆÑȦ¼¥´Ã7ìø®JKª€(+¸5˜]Çá°7פhÚïÈÜ¿³¤Q)–§Ÿs€u™¥HëˆLcÁ¹9Èk«ÉÐCPÝ777gffÂ@2·åÚÚZkªÑét¦íkØiA HH¤~!(…  €hD½7_]¯íöÛogkluu•™º÷íÛÕ²¾{ÛÞvì:k¨'o3d{4Zs&×kǼ¬ªm~9C.o¿¸4MR2 ˜÷PJÙh4X[Ñas@ !„ÖªÞ²­µÄœ É’†b=Ž'æÈ šÕ%l j~:.‘°kì” GÐ1«¬îͪ§Çg³Ã<ŽSí`#f4Ô¸²þIJ±†Òº ûþ ®ÄÏeäÞ}1Z?¼ÓȆÐÝ‘íô{ü&Ib—™˜×TE.k—ø…9U~Y_¸c'µó«Ês ªK'l«F“½„²¤0×3¤ž»u"úZì‰?#¢м7ßïò½ ä€ü)*ŽïËé9“×äÈ õ˜ï 5’ ÔÒì ÿý{ð~•—U\J~Í­3Ï:oTÈ[Žñ˜ä‹Aá a€*¡²3 aP¶Ê¿¢© İ©J¬’å]·;Ý$IæçV»ÕîuW%^Mçé÷Ûòa'@@ÐV‰‰àt·<ž‚XQ%D л„ñP Úm¨ì¸ª4×…Y]_SJíß·?j6f›sqÀÙsg8@Î?nÏo¬?½4ëº×ΊB@º&ûë9,Êüúl?¤µæp:( A H# ³Ðà>bÒú5‘@AÅ÷ÈGÚBHNmsé­rÀ Ð8Ò~—ŽàªDc‡HÁ¸|š&IÜëõ:Û½í©™C³M™QHRÄY.j¨:Í&¥ÐB¨ü v?â Tzæ)")Uj/iDI¤‘"BÞè ø·ƒ{°Õl Á±·Íý„a¨u¦ðý°W"hÍ„Ñ,iÉ×­µ ˜«„ËQìâ/ 9% Jb}R½éQÊë{d}®‰¶Vß—Öªæl…f§à*ˆ-óú ÑŸy 4i@B¢VÖ÷Dæ¯HاÏÎC0ÜÞZH.š0ÔŒºÆ~óû[^ŠåÍ–:SüYó½ €Î#@q^`Ì£ÖQ*‰ZÔ:\3¶Äžmí“S]L¥º®©ê´fJ¹@Hš2­€€_"ˆ 5‚DA*#@#ï±øL¤…à½VºÔq(Í\{¯U¹£I…”Ä •V ‰¤(_¨Šó¸ç¯\Ø÷r“;ÌÈýœˆÙúS)ìOEEw%BÒŠ´¢b¢”¤ â8–"d­fMšŸÑÑK·[I)•Æ)c+BB `í vƒÙÎbÙ få5^o¿ù3†!ë6'I¢•BQ¨µÖ¾¡¦©¥´XøȨhyÒq–RBªS"‘;çyÁ!Qšöˆ2­’©éÖÜÂ|†€bum}~~^i ÂF6âTGVœê™™…ªþSeÓ'*swAPм#i­µJ‹EÑ@H AL I¹ÏL¬S°H(6¤tÞ]sÜJA(rKÝ8²H¤²ú€•ªO¯¾ªJËhG  xþqÏSª4f £Ñ·V{zi&ÃFªHQ/Íö8„Áv7ÞwàPœªf³Ç 6› 6ºq*ÃÊ0NU2lðd;Öý›ûô•áªæÿR±êyKe‰¨Ùl–ÆmiëEót¤«ÖSûn…BeTLS•ÿì /"J㮤©²õŠo„Bg/¯Wlô’&@"MÐŒ¢r¸Bk¾’ì!@–¤õÆ¡óyôÚcó™§–‹·ƒ ˆ¢H)•eó&I *+ÆûÜ 6ÉÃÐüó¢c¨"/LqKŠ\å¾â©$â¾Üå BvD‰H ’”óÚÚŒz yÎy½’»*ç+°óÑ4@~J jÐd3BÔ HMOO·g¦c•õÒÌ*‚b“Rj¡ØP Úûá%›é¸Ë5a÷@J) ¤Qi­2¥t…ÍR{>KSö5µ@‰Bðg XØz\YÏ)v„á„‚4M•R&2ï%HjM™RP VÄ" PZ $D ("iÒ"œ(úPÎ/#…AµK"’€J)•)E P !d e¦RîcüO䙆”ieã)¶ŠîFD•vb…ù­qYY ›Î&M´/a—…Ú IƒRBB@RƒÖ u–©‘PHd_ƒ²“Æf$" (ˆt’*H5¢ QÀI u¦ Lž„ŸŒà«ä`[§9PDˆm H% BÈHó“,µ9Ô éæýšþV¥ ‘e5gä „!ÏV…žbN(ÈîZ„9¾eYJ ¸3i:¬àUÓh=/Žë' ·§ñ@´ÖJõ€D©Aì“÷ð_£(2·g/ä|~­`˜ÏÏ++æ»Ò¼ b 88ŠCk·Li#ÍÌÌ ©­­­ååå3gÎÌÏÏApðÀ•Ínù}Ž4h®BB#ˆ¸ÓB.Ð?µ fiîÊ9;й}é¯Ù™y Ò ´Ö¼V v}MBõ S5i%H8'h„PŠòx{KgÅ÷dYÅfˆÔÕ@å°“SLȰÔVà £Ò2šŒ«²¹½µ±±Q³!Ã@‘ÖZ§J¡(Ó*S™RŠ MZ¥ÉX§( \ðj€ËÏ£²R !®¸®QÍp.Ñ{¥óÏÔÔTéÝŠ<P>^| !¢+^ÿg–e¹•’Ó}çk®E-Ì>¯µ]X6ý½,1øt^¯Þ±tõð@EUùØ(€ÚêêêþýûçææšÍ&t:!Äêêj«Õ²óêëO=ê5^ñ)·¡‹Y¨toŽ7ûêãÉäŽáCuobÑ»oÓ€œ§NUJ)•*¥2•P–R¦(SÝn·!J‘hÇq–e ¥išÖi†BTÍ“U“‰‚ ”ÖŲˆZ;9e`/$£%<²4d¹ò4€röZ÷å±8VQ[Sä±¢¬ÊmPuN)RBP¹~c C)¢7\pJSI¿ÒT€&°XÈb æViZÙR£nœipÚœYNõ“3Õ”Ô§ ‘©áñ[ЫÙé'P¿G¤bÈ÷ˆÀ•¡õg±ÖP ûBã4ïü¶91$¡EŸ³ŠàÓß²,3²#¶ [G’_ÐÁxÜŽ®¼e…*ß®ª\?3Ù\ŒÑ ÷g´>ÁšùkzžpX”èÙ^GüjÐ#ª jªëóÒ¾"cߠȼÈbsdx&¾D'÷L¦ä9¤%íP¥b`õÿþù‹˜â1Š"Îh()0˹yÁç_tÐt™¶ñl°X ͤi—`0ÙRÍ<0b/KÓÔIx¾æ- [>8ÂÜ à¢Gh07lŒ]Žˆ:“5³ I’!šÍf†D”ªLaét ÀØãööR¬áÂ… íV^»´´Á·¿ýí8Ž«ªq†ínO+ÒÆ)'­(ä,ÎhÈ›2b–ƒ@CñZµƒ²Ÿ=}Ž3Š’\¿#h4 P …M§t)ÐPÙÖÝn·tÈTu³úšÌ ÌÃz<‰D,ªÞ︓tÕ<3==ͳ¥=keY¶¹¹©”ÚÜÜä¡ÄãzgíSÚŸ‡LÎ@¨:Þ0::·­–Ã< IDAT[lçGº$Ufdø5bˆ¨” UêQUé/WñW, {WEÌ@©ïö €õóȆDÕ{IÓtee%˲éééóçÏonnîÛ·¯Ûírð åc$¨·gÌ_}.Þѵ¡‚®f|իͽ¶¼ôrÐPd€>Že؈­ŒÖãÎØïýŒ-îÊ2-`XŽ˜“…îøÃ¥–š.JG«(ýë?°RœîTy®¿„-§:мº_²jÏ«~ý*à±›—òË“ šŒ‚82–¥‘ØQ€{?"01‘%ûŸA*ð¶(’vLÅx2Q…Å)¥ Ve`•Zz²í:s‰ªþf/ĶñSSÚfs{ %%-u‰¾á Š¥ªõ³©À¥¿9¦²mÞø³nÕæ¿cSq“ÁcJÙ€ˆ“šdÛ~‰œ ÛUsìÄ*u<¥úuÓ‰3ù èüÕî?0B¥¤ Œ¨'hCÿ¶°Ëüs*Qu7 >dU:#ïÎÙÙ¹Õ¡ˆønËh¸F€Qa_·û)M9Ñ€0ó,à bìõzå~Áî߉lFaé¤?ÁZn6 ¢(bc7MÓ4MmtÙ•J)@ðé êkq}‘žz®Rá•Ró±ê<\3i³=s²†}·¶®’‰pšò9c 8ÑöùGÇ€”Ê­.¥§†J)ƒ(TJqE€4Œ8ûùÙ†òE‡½tñÂvwíßN|³ÓKdØ8uúìÆ¥KŽ)Y5«9>Êe;6·»„ºÿ+Ô‚€¦Ûí\ªR'#°1Äj¥ï‹ )eö‹³<ñ‘,ÁsÄV«•ÓH"ØÈ…“ƒfóÊvi*r½îzM¿u|¹ñ€f°½,u+ûÔÔtyD}L›£Ž/JQ–e^‚˜²q)¥lÏÌåTñèã2QŽW«_åö× £‹ºÅf”ï ž!1{‘!jþ HUÊ d“ÅrO¨À‘XÛ•ÿÙŸ••:üM¤„.8ÇÛoœú\¿$¸h¨DFìÿßùÎwˆ¨ÕjÅqÜét.^¼8;;EÑÊÊŠIs°Ô±úUiªãÐõhôØÎ€‰—ÞæÓðçF£aXŸLO`ŒÒÐ@ª<ªA(„ÊôPüÈwk¤ üqaS˜UXRH_rËx×5^½ãˆ:¾E:Jý‘ÓCÓx¡">Zs~'³ÕCK3X«Âr5ÀJ©3XQ²ë\ÂRn ”dKA³ Ú¨?ÕÌ_õ¾3¾®m;ìÎ È7€ªzÞ¤æèIÁU‚+ã’,NJnóú¶Ãè€Ë à¨û3Ô(´c7é¾GÒZ37ä 0PÙÉ+¥ªÔ'¿z­¬e „ÅùÌðgš¦&Ø—›BÌ‹&_™1bx?W s ø`gâ†j…ç¡ €‚‚G$œX„Ím¬ ÓD,ãWEªçGk€†¾óœelßä«8”XE£ÀdöÞôŸQ©õúú:ó¨;w®×ëMMMµÛíýû÷///—ûGXCÐÐnOZq'.£ØÞÚA–eJ¡) eö3 …´ÖiªXE ˜£€ËLéD+)Dä† dÎÏ7Ú¤Иj5|ªæ;1ÒÞª ¯Šóà˜ œÉXò¼qÛ²gf ›V=/3›K”A4!Ô¦ßcUZAÃYE×RÜøã±jºàq퟿Ýn;3­M.è‡õ–]ýœUfse].MÙu‚ŠÒ NEÖ¥ï«tRÝÞÞ®¿çøúÒ ¿ÿ[‚tàÀ!ÄÔÔ"nll\ºt‰/=55Å“çÐäaÿAìÛðEÃ˰ÇÉP¨&^nI J)(¢©ªØlQÆ4KÍ÷Œ¼óg^•R:ËpUÇÞpà†½5€²m´8¥”õ޽íûø0Èí8ð#*SµÃ«2ÍüYEQ 4€•RáWÈ:ÞoèPu‡eYä¨xލ]Z?ßú=ÇÇ[kæ1sŒ?çÛÜ Î,d«‰Õ$e8u10, Ë.ñ¥Ô¢¾ÿX‡»VÞÒïÐ ÃjÆÝê š%Δ÷bYH&{Ÿ£˜t/äs9‡C ‚~¬Ø#RN§Õj5›MÍ6®ò Æ™Íq †–ÂÒ°“:¾t#•Ö¹ÃàRag6B^KRÊ>Ç¿ÅòU'l5{ap‹ók#W鄃ª ÄL öšÁË@UØÒÖÎý;‘ê¯z/FÔƒy "¥ƒºúçâûñ›¥T¼S ¦i,è=3{ùòåí­-H’5¸Ä?(ï=TÙÊ¿¿¼Úw=ŒÇ…P3çf‰uÎd°@} t¢ì_meeÃ{…H©†œ½ úç$¨äe¯*€Ò vU¸‘D•°NéÝWÊ[Fh J夂ˆ %“âš©šÃ0¿×þðô…XÙôuâÑ猤B³¡¿¯â’°K™Ì³WË¡™ô‡žXIåç´ÏÀ%ªwþÊAU… TƒÚÉ¥‰¢&`Sãˆ:ŠšÌ5‡£Á¡ (:íAgßÈoÛn¶á8s,"£ª`›|Us…_Fá"Ìã8z@±ªÝ\6´¢¦£l­ 8޽£ØXƒ¹¢CRV% — 9Š¿i× ï¬ôÛÜ¡éxõvéî-¨÷Þ_0{Çîñdqë4ìp©"Àß…¬´Ì"gGƒ{½^Íf3‚0 MÆéµÞPÃ`v©¡½KNigò##" £fRl&¿Ë`¾a—;#E‘í˜Õg4€•^XêÛ_Ú1I¹Öº¾=Ê ­µu2læ>íò6o6½‹;Ù²”ÈY“X‹Ë.â8Nâ^†0(oiò,j¿Ä^¿í}£9•¥1C7;Öh48¹*²b䌃ª¶“£YB§išt{içK»ô‹  ¡`•!„ úí0=3‡ˆB(%IFBˆöÌ\~Mà‘¢üþKûF¢p,`z(I§‚OÖ‘„Á˜ý<«ÂL†¢ HÁ‘ü«_/ˆÈàe| ¾V«ÕbÁ ~¡½^O)U3x«æ1[Þ²Ê ®¹á¡@³“ÑÐØWÈdÚ\‘¨åDp,ûªŒ;@g_essÊRÐ^# j•aÐPUZRÕl‡Êv«TœÔÜ¿Ýùë3jÆW†ëë눸¸¸ÈT#½^ÏÉÝ\,%·— rtëÂçö{yb A¤b}%­´ ÌçšÍ0 K¬†¾‹ÒO㼘[²™8E«¼;i ãäV!#U·7ë“ïfʊ[×Ìw<ÿØl)&®(q^fÐZ—‚ ¶=Ó¿C­µœè;C6«2pýÌÐú÷Ëíà#D¶|²rèQë±-g\©Ëªu“ç7;“±þøzׯ<˜ÐàDð†¦€²€óXŽ«3œªiç·WYSjºË¸:Þ•ºñƒ ³±äªÎ¿36ò’~Ùúâktªëk>«ÚÁ*öëÙLÙZ–ÕæD\í´«‰¼;õË0Õ´¿í?ó;e‡]îN§ÃXC£ÑȲ¬×ë±Ú–77i‰“)©(å†ÑZK/EÖ1}F ˆ=dÛÉ·˜‘Šc·Û5~ˆiaÓ™y¶…”2ÓÊ.<ãIÍUØtµLÇßH«@ÃT øýÐ܆ӷ‰rh¸à¡4ó;§—ÔϘõ’»„Mì°9ðOL®8·›ÿRúUFžNRPÜû™{¥HüKgýjÿ>ã$AÄdc³ÑœJR•fÝöô¬¦¼ôÀÜŸýUV•õ7dIÛq!$ Bй z•R@‰ÒDTOX\­#„ ‚@H0ÊêD„2ÈÙæó^%$«N"Ä>Ù’ÝÕ`K¾ ±ã'JØ•gfæX%„_®éÀd­_…fª²  Â’õz½8Žƒ°eÜCAØ(-mPŠ€„_ën×›¡„‚â8#B¨boPa`·C„Ò¯û3Çûëo`‘Ú)QN'N²$Ue“ BL3ÕhNñlf߀(Ò”œ¥Ÿˆ2E¥K^`õò¡Œ4Œ­_Ã5n^{J&ªäd"œžÝl6³,ÓZ !ˆ{šRª0ß-Ñ*8/ ™¦©Ê’©f“SáŒ><§‚§Šß—´ Í Š‚rr5)l£‹“È•Ra³arÎQ@TZ+¥‚0°ßTŽ«’Jã¤h`Ú3?˜¸q’$Fƒ¡On¥F£Ñh4àð ªyA4è•Í©lOJØâ1b~bÆ#ø~<–_.OŒ[[[|ófñ­²K»P)ðdÛUÆýsè8€Qi™S‚gf~ßéZ²QjÿÐä¢ZãrÇ ?O1b¨h7ò‚4yj# ÃP+¤^Ì}ÛÌiæ½!@‚R‘.]3LmOŒLñ£” … ÁZ~#¥œJæýú>pEÜiíB ­µVd÷mì¦äÓ‹”hÃ,n fÛN°1̘ò ¹mâ¿¢kGVÌÏýbŠæÁ?óòùǪvñ{©IütøkK+>j22 -šYMfk‰”e«NØ‘vÛìq®ëˆe˜??ÈéÉ@àx¦cWMê´)hµåÕàÓ|äÉ­Eã›ïmÚQ3ßÚÊh~ö‹_Ì¥KÎ_p*U)ÒZK8ù8|þ]Z:ñâÍxoxâˆøXÑ€*0xtV[{¸Ž{ž±”Qn{”-Š"v8(E&IÂŽ. qÝzo)×1!ô,Ýx›Ô°*"„cFP³,SÔÏ1«Jå²Y ý)ª9;«$»Æx”àR/½´ð̶쬻‘«üLÌÊ~¥™>KP¿Þët§KóñªLd?ÁÄ1(ëk‰mYM0//ß9šô" ÄRó,Ð"‚  6 ò®’f™ ¢þ{Gë<ˆ 5"cùZ˜+„W“•ö'ÕžpŠT‰È€P&È,ó¶$•± ¿ ¯ô •1œ×:¨G…ìLØz±6çt3Ð µ“qã¿;3ôŒCè |·~€ÈV+°Ç»#£Õ¤¬H¾ž°#]Nñ—3"j¦q³³“±íÑjÙq°[1ŽÁ"y_Cjëú!q)ƒA.qn=(‡òºÙ¹ý¾1b ¡oëƒV¤±BuÅ™ˆlXÊ@lLK4taµ\(+ä¶½V»Y&^gj-ìÖ+ªRF©ÁÅ,uX±OÜÑ/n^]â 4ø†  ZëR µ”;ܹ®}æ¡Ü@þz]:u×h–•ZbŽ ©o§U±ØÅ&5I¥%E>4:ñT' Úß/Š îê)î^°‰µÊ™àý_ÓB’—ÞÒG…B™g²ztãZP1—zw;¸D½^ãçêi6›Zk]Ù%úØ¥µdyä_䨹QÐ0ÁòHkB£‚‹Ø!'í{PŽeü1ö™âÐ…ßÔ;se}j®l¯Ç> aú6ní жSF:w :öÁÐ%ž¨*ð ŸÎÚý`s2Ù\Ú©ˆixBÜ;q«"z¥‰H È54@ƒà¬r$ÀzÊè,Ë„ZËŽrxAaÑJ Hð{·ž:ãûÖíÄ@ä;È BÓ<½–5 Öýšw"$‚nœ¤&´Î–e " ‘€D(A‚4hÒDR ÈP†ýˆë`|)Žc€>¯*iÆW˜£Âˆ3]´—ÅDš´ÜÈ|$ÚãQåy‡ÄOGdº\þ¯Ñhj­u–i¥´5À5i3VQk0 #_Ž”i–UŠ sh„@ìG½øúº &Ú6AI}g¦7Ë 0þ­Òe Q v{h ”y“"¢„¬.h"Ò¹MO±)™OtÎ{" @@‰A.H!¥”&˜JY°tšÎ–g© æÿbªœD<Ȱ˜½±ÿŸù$ 0ùÉJiœyŒ¯Å"8¶ ;4ÓÌ«6¦æ/F6úcg¤û¢È#úð5%<úcׄC…ì‘oU­§U7æ,Ó.Íb¸ÖdÒ»3 Ç)3¼›,0T‘†¾ËÄ`„ é“ÔBÅ¥ŽÁxæJ)]&?_ÃqPõ½I„´{—“øækC¶*¥µ“Õªð¾gXZ,é Æ ²§âRñ*žhpÄûÄ Ži£–~"F•ISÊYR¼€D´8>m?—ŸÙQUJP#+^ 4ÔC;% ÜDU$ÄÌ2'·A.©ì’C‡\ÃNÌÊ“êX³Uø¸E¼+ÁTßб ãÖ^ÍùG‹Þ.úè=TpÀ;廾z’¤Ùwwœ bÚ<˲8Ž9öÕn·yÕ1¶ºŽƒÈÿ@BHCo¡TG}í“g°yÄ6Ⳅ@Yá_iŽ@MW·SXG‘´M=t×jxéÏ1nsgØòÂÑ‘3f«ä²û·MÀ@CébY:O:¨¶ ¹ß+lÈÙ—–ÂiBªƒ±Œ†Lk,Œ1`‡€Š’"1pt¡ Q3Ïú•…»ˆDÂø±@A‘yA@¬áIÔo“P„ŽihJ{|ƒƒ0ÏJòÍ£¸f§er¼mZÙýÍÉ\…ÁÄiðȺì|¼ª”…ó3Š—"¸¹ì¬HÃlêOkœ2ê³X›%Çt¨p²˜uL/·9_ì‘RáñSpÍŸì‘hƦÊ5P…30ù}Ù—0ð÷>OxM)–š§i¦q9ËgppfµmPFØtiü¿´.½f]vj›óg$-„(_¶þ¼-Ëg¿#;I­Æ±·]&CcæüÊO9XÚSeçØ¦—=ï9éc~&…ÖÊçqð‰mûÊ$3 Œß‡Œ :XƒÏVkÐ(ó¡s;=°*Á°ÊtV7©Õ ¢äÛ C}4gž´±†QHpû9ž†¡¬È¼:ü«æÏªýnÌhص“ï®] jñqÉKÙeGÏå‡%$.;:ÏÚêê ®e劾^¯§µnµZFcvvvkkkkk‹´n4›QQ–]7 ¡jál´šP¤yçóKQ%;àÀ°u8f+#¾„v¤‘f(…É i£vá]˜ƒ¼,¾q9PläÞYl³ÛÅ(Mÿ±ÿd;]ŽPøQÞ²Z“ÞVU‚áÈ#ò±û3דµïç? ·'¡ âx4W^qWM Ahšó¨2¯Áξé§bZ‘"®Ì@›þZ iMB±\)%‚D!@kÒšØd £À¶‰ È À F±ß®5çHA–q™?¼Rd¥)`’¤RÊ -s™KÈd pT¿HÅDXìù?i¨Nx9¼H‚ÏS¤c 2©¤0¯µ 0l”ÖÆk Z¢40BñÛ‡Ù+•BGPB4|…• jZnD"C %H*Ò°ú-|dg€äO”$™³Ù‘%{B(2ž èìG8¥¤ÂbË’^O…!§( P¢˜ƒ /Ì&„@Ôš”°Ø5Ü?â›Ë¥ š>v0gÄ„RbY)¿ïø“­)>¯!óç=Ô–vŠ¢mÐj”µfÜŒ×+Ar=ß©*Ê2J¦ƒ½úøó|ñyϬ-†Uá—ÎóTP{ðüÀ”Xl€qúîU~BãZæ¢k'¾'k]à@îS¹P*eâ/ÙÆýs K™kƱ”Ll¼´cÛõ}vɃ]ºeÿJW(úù=çWèTã;º ~ ¼Þbñǯý8v© ïäBM Ê/”p\ûû¡¤ÎÎm—ÚuE6çð€º-Qê¨WÕà”Î]5œ‰¥f•Fé(€c5¦óý‹¾tbR¾è¤Î_ƒôOöþ뼫Yœòòq±†¡W`ÙSxž¥P^=ÁÁO¦scÎÃÛÇq¶®ánGеÀF£¡£¬NÔÎMõ×ã yÂùàRç èxo⺶yêDz‡vE›dËöH«Ž·ÌñÞ!€eGœE×x/íÎmxvëÀÂæ/Õwr¿Áï@jDíÒH`i„uNÉÎ"ë¯èg9’¨ƒ„Úû/:/’Fw€¿! ~ H'N2,+Eqæ¶×h4œÑÄ·Ê¥¶d‰Ã½oÇUÌ• BçÇÕñíR€Œjû5Ã>½¨áp¦å$IÏ&·³[ÏÖ¥]ÂDΧÔY:%¸U±5çyíÖs\tv5°˜i:ÓÂ&)‹J‡¥*Ú ÙÙ_k —ƒŸ( C'òÉqš öCUviÃ(ë²?ûå9e¶oi­²³Lp“R2_#ß³‘ñ{šÐÅ®wm5¤nvG­²æý@K©â`©¥QNjãÉ Ûàã‹"ˆ5!{¸,£Áêiœ[”$I‹žÔ„«l{{»ÛíÆqlØ‘mbÑ«4þGŒeÖÔØ;î½£LýMé9™1Ùϯôg{•qyìÒN­·óI}{Ï¿C*ÕÜùöêæ§¯Â @£Ï\cOþfhpÚߪ8’ŸXÃ)0TÔ¶JÇé–Ñ ª€Ç-¯o[ÅÃté2´nèôRsç0šfJeõÊàù_|¥/&¤ö…ZFÆ]0ªj '‚2Tai5ç™lRø·Zãð˜öéõzI’ÌÍÍ…a8;;k¸!MºøuÙìHQ¿"]`ébã`çkɘlK¬pí„°À«tjS}½*ªV_{æ§àÖGºü*5ÿpãlØ â3M8 / 5dr~8ÂòL ¨-ð“««¤¨±·QßÎH&ÂïÒ4¿u9µuèDöÕ\¥@uý9÷X…a˜D&e(B»ú¤ƒˆl™?ÃÅΠñÕ@Arµ°#+Ë­©”îcv¬°!imòßPj •¥Y¬ÃÂÀé!Dy]=£KånS˜®¢íÿtMXÒ@€V$œk)â8–¹–LàÖ¤S•Ù°CF˜\i¥ !ô«£| Ð¡TÙu&Žw×5Ÿó‹é5”þœPÚ£QñHÙ¶ ^ô_G# n¢Hï·P@ÂÈÑ™â'<ï°ç$Ý–Bôø¶•B¡RU®ÿ‹FF·½Þ·(H‚àß’îEݱXeO>¥´¯ÀH @¢ 4MSJé~"™q=i¡Žã¨š®ëºçy¤JßµM“­LA%(íI_!¤ñ¶S$¥àBpJYßÙ9bw[ W£¯8€ŒxˆŸK8©hLѬv·Dºa˜”Ec18|¸n Œ˜A3ä –eíD …À…äEâEt;¯sn3Úשׂ (aèÏ’Gp.U†F1‡3MP(õG|Ý : …‚š „Ù3ŸwŽ"îßó¢(Êd2QušÍ\>»ÑF¨¢šÚ±;Š¢äÒéJ¥R(ù¶bB# 1AÀ”S †¦0!‰ ASô<$@$H}Ä™ô P((Ÿ&ŒSAˆh‡ø½úg/Ч;=iGßê‹@5ÙCôÉ‹ÛCpB@*’Ð)ÄÛæH?Îç*@…í*•TH¡*ðóã¶±ýœd§½ØeÞþ]J…€Ý„]D0…Q !@DÆ8¢3¶eÈi š¦¥ŒRª(š¢P•RªÆ ä„KÂ@RÆ€P)di¸ž… =›²žÃÀ·IRÊX„QDXšÙƒ40 ‰H)¨äÜSm¶ÚSÕj-“ÎI ÍF=Ÿ“R¶ZR©¤(´Ñ¬Y–åxŽN,BHA(ºf™ç¼ÓmëºÛ!¥4i%-C ‚ˆðXQ•X¼¨Y Ùí&íœõXJˆã`Š»MQv¬zru|q^ 8h*‚laüâýøÞNè™lÿ­©†.E € RÆ #ŠB¥v€õTnÿ-xà¦TPB¡g²ÈˆQ`¸/d …)Û+`›@_…ªH êÍš"ÅOÖçøë@„Ýõáê=\Ð)Q€”Ðþ¿r1ˆX€ „ ¨¢\ð(ò"A{ÿS%eLR4×ýXP‚îÛÆ³ Ùÿ&AJà PTÕÐŽÛõ\7™Jµš5Ã4}ÏK¥Ó‚ó(ŽÇötEÝdŒ)ŒQÆ\Çî•d)8~EMÓ†óÎcA¯vUFƒ$GÉáºÅa×F±°‘óÎЊ‹‡ôWï@Â÷}ü:ZzôœEFæ lŽL¬Øœo+ £‰ÔíºDÒw¦Ý]¯Àd‡iÙ?sXã]ïa`Ûàk#¨BÆ {ú ÷©@{ŒPÒ³V=ªP…Aü(â!º¢§kçŠùÀ ‚8àA<9;åÙ^«ÓÔ k[J¿hÜÎÛýß¶¼û|Æ”öê°ó‡TQ¶§…YO¢yŽ Uãyžïz˜F)eŒH¢äá¹æwã8ì{}œGqL‚À‹E”V=Œû•ƒ»èáA×®7ß¼~¸eý ÑÕ¬ÝéÍÁ_Q$á×Me¿öƒQ¦¡*,JA@ ð8ÂEGr¤ý¾Ã­ô*Öª© aèµCW%Œêº®ëZBW£ ‚ËΞMƒÞ&Wƒ;y‹^S)®©:ÈdÔî4 U€H‚irÕ¤×U•ó8Š"¬VT5EJÉI¨èº¦)DL¤”RUU14uUÑôœ¡™f‰0ŒtÍÐ4­ãÙÍAÐívã8ö}_Ó´ò‡H¸ÝtÒ`”R"®gûnPüT23 S ‘ÎÚ®¿¹²’Èå4•MÏÍ ›±¡ôrûw  Àqý0èŠÆDò8”"æqȇÈí¡ò(†( {P‘ˆA*RÄQª)ˆ(ö‚ж;ußñ¬´ÉAI!¥–ª©í®/\$å"fŒjºa‘ÿ¹ÿ[×ÕRiÂuíl:mÛöDiœ1R©Tè¶ÇƶSK®ë¤sYÎy2™Œ¢¨ÝnY–åû¾m;`š ιÝuu]÷ý0Nûvw`OÓ4»Ýn*•š˜˜@ßLJéx®DÉ!)êJ" ¹Ê§! €XJ€rIòmŒJx³HG=ÔZĬ½yi¦(‹›¡PGí‚1ð| N&|ÏcŠV¯×Óét«ÕÒt3 ÃÒäç<æ"Žãˆ£âa@•@ÈU*š~ –Å¢™‚2»( {®Q×I¿oì¨áÿGhË:ê¼Ë!€û?µ2ÑQ÷ï°C7Ív»-¥ ‚UH±¶¶6=1N O×uÌwH%­ÐóU ‚@L!d4¦” ’2 ,”LCâ: …˜ P„`â&Ì×Oì{|#ûQ ’ _‡6Úû 4Œ:_}öìYÍ×YÌXãÝ/óîÈ»ü0ŠŠ—ƾ&‰RF2¢D ‚(Ž„ïT)寯F:>xð`‡íN3•J¾ï'i!a”RÀ¸@„¢( )c ‰ã˜J¦0`o3¥—ø~£û‚Ñ¥C£ŽŒ ¼Ž\¼¨he{¤Û©Àؼ ?*Œ ô0pâxRå>EoÑ8b÷‘]Ÿ0¬ÝãO¯%Ã0TCo4õ:fwι®ëår9‘HH)‹Å¢ëºù|Þu]Ó4!â©y‘¯ßNµos°QÓ][‚1ê.V"1t¿Gñ(û !#Ùe7E/Ü,»å¥ 7ú~úÒœsÏóêõº”rbb“: !¹\nØzøi¸ºn…lšf†A€¦iØAÁdïWÐfC†HÎùää$ÖXõ7 ‚Kù/×ÿé>B”„d7ðu9A¶S±v­CM¼~F"Ï&‚)0h²®TÕ~ 4,--麮i†Ö£(Â"#ÓH^Gž |ɽtE"®&Í´í®ªªTa$FDE£l:ƒ@ƒ”²?ï=ól }2hÐu½ßQ^Ó´ „Aiº%úÑú—Ie]ÏÆš¯N§£ª ¸p×° ¦3s¼½d"Í9B*ŠE\S Ï R©t·ã$‰X !#dz …BEŽã†‘òr’Hùc„‡<‘N¨Tu×Ò-<ôÂA%xsaXÉN§cš¦çt5Mk6êétZct ÐÀ M#$ÄAd0¢Ã3aš¦É«7ZÙlÞõƒ ôóùtùžçärÙV»!cLJ"ÙnkÅ åÙlJ× Ç±;ö‹Ñ4üÏÿúßLOO†a|òä³­zÃõ쩉ÉF£‘Ë儈rœ‚D¯ŒªŠã±$Ø"¢(2 ƒRºgÏž8Ž-ËÒ4­Ó¶ …B­V+•J‘ç÷ÓPDªªjš¦eYKKKkkkq×jµ8Ž÷îÝÛï/ "éÑЫÖíÕ*Õ½„*ÇQòQ'æf·úéw%EQn ÐðÚP @pÏuÓ™!d||<‘HÌÌÎÀÚÆ¦išAyž‡<q+*eÛ†îõoà%3MþÄçÚÉbøà½ßH›Ò].'üç|ŒjPr)QnªªZ,ä„ã¥âòòrè¹ív»ÓnrÎEY[[ËeÓkëc™Â ¡Ç8Ã$è‚P L€$À Ä;€†‘ÈhF5àF”WTHó1xÉQ+ŸÅ°RšQŸ«ï8ír¨~bdueQŸ$oW)¦bÞxgìa×ó$“c…‰(âùÜ¥ŒQ½X,†a˜É¤&''Ïœ}aaá¢\Þy;ìp<—iª”2‘HÌÎÎNOOß~ûí÷ÜsÏ¥K—Žã¸\.SJWVV4¦0BÎòN ðFHìúóµ+Ì3:0=Z­­!°åuVÏëDn–½t«»ž ¦$@) ¢BHApÎßö¶·9Žãº.c¬R©Ôj5ß÷Óét§ÓéþVv2vH¢¨~!ch6™ê÷Vè#k”Rô v5¦é•f yŸ»ºœl×ä3ôÚ¶‚7eP9rí+UÈ T#£ t tûí·A077×l6ÇDŸ¹ÝêÀ([ =õ%É‹Hô¼0°,‹*,ŽcTÑTDÇ$ï‘ +ŠÒ§µÆ‘±}ñÁïµzûq_,‡íÓz³N§MÓ¬V«·ßvÐ÷ýV³‘Íf=»;hˆbÑn·EI§Ó}*œ—(£&Bø _ç|­¼ê8ÝZ³EQ2™Œâ@Ji†mÛøÎM#cŠeYˆX!îƒhE |·œs…Q¥Õ꬯•:û'ŸËçóšªÔëu]a!d§Ó1 #™Lö[Ÿ†a8L/\_õiœ…®ëÖëÕù}n\ |DÀS}ß‚@ašm»P­Vc%×k™fBQ«5ÇÑu}b|*›Í:ŽS­V•t:ÇáÆÆÆ<°¾ºzúôiÇî†áû®®ë Ë0 M¥ ³@ƒ˜ëfªRoX–E€"œÓn·Ó™T¡PH§µ­­s–eµÚN§Ã9o4k*(3T%¤ÄH§Ó©TjjjjyyùÂ… aV«Õ={öP º „쑘 A¤Ü~»’ _=ÝIòÁåh5„7«ô`T…4Lp S £ ¸a×IŒ^§tâ% d#)ža ’Ç‚sÏ<¸ºº:55ešf&“9ñR:޹èv»—œóN§“HšDHÎcDÇwu¦Åÿ‹Š Ûk_§­Î¨æ^ƒ´­nn›®›gý×4Tj5Ã0¼gj¢¤(ÊÌÌL½^GáS(ÊårµZ­¼¾ÚmuSVVSQÀB?*…ÊÆB=Œ<¦4¦2L^ídñÓ”£î—á@ÃHסDŽêûÝ·ßvnWÓПhèìzð 6¢»)@'t¥€ªª®0mzz¦Þ¨¾ýÐêêf*•8{öt­V››eŒX #“Hصz*­¢rSŠªŸÍæ?Šca%Tªªi†jZvèóðK ;‰Âo@ ü¦È™¡úBŽ(É­Õ×#ï¯õ¸$ÁñD"Áââb£ÑXXXx衇šÍæäääââb>Ÿ/—ËQ---…~0¬%í®’Š¾]x#÷y-úvƒÇÐñaï?£aX`c7Ä0 ãfeúŒ*nVéÄ0 ü0$Û«Ó›3™ŒeY·Ýv[µZµ,k}}}ïÞ½kkkÕju©ÞͲoPµsIóíC‘ÐÐpŸK¾GcçÚa ig;ÉmG`»ôfؤìÄûbT;Y޶ÞäÈ@ÛàyŸ­×ë…B¡ÙlbV 6 íÚáÌ®½´dÐ+$ÐmèHÛ‰gŒiš*¥ô×épÊ@aZ¿ß9zÅ}6¥áO5àŸ°V‚1fÛ6Fã'&&„€Ð‹¶ûôODQ ªj&kÆÜ%N$u˲D(Â0fŒºÑíÚ‰DŠG(Ÿ›ÿÄ'ÿ¯B¡¨[f«ÝöÂ0™LÊ8‚Ž®(cccN§Ùl~ìcûЇ>T,‡Ù-étZUÕ‹/¾ómoŸü£¿ÿþ0 Çð¸ ,C/—Ëq¿÷½ïÝ¿¿ëº £X=4h0 it]Ç0ªeYq»ŸëÈL›BèG×uÇqüÀóün½±ÉcˆB @ ùRqUÑ7668ç…BAÓ4)#.­J™15—™(‹ÓÓÓÝŽS­V77+X £T*µC‡Â(¥?úѤÝmkš"„< Ec ¡}¢„»ë¸ŽW¯7ƒ H§Ó†aìÙ3ïØîØØX»ÝÆ®Õ*–e¹®›KfaG•&œ$‰õõõ‡z—øÔÔ”¦iÉdRF±ô|&‘¿H"zÑÐ €ýéŽ L:*1þ?Äúá:#ñ-½Ï‘ 8 `F²jõæþýûŸzê)UUc,N …®ít»]!DE®ë**•1Ç…flg£w#‹ IDATá º®c·­0 =ÏSU ½nŠ£ÛvÑC¼dñ¦(ò[m@ÜêcTÇ`ØQ,û ,†a`KµZ-æsW®\¹çeÇ\×Åʽ(ŠR©…Ê™à=ÈM)„‹Õ T0ØflD aÔáè^وבÊ-Ýï×q„pƒ j€í–ÚÃä0Çò¬]íèv?°ï÷¯«©ÉIEQjÕF¡PìtìñbÉs\MQíN7•H.^ºè:ݹ=ÇVV–ìN{íRB?°wªTÈ{¾¡«„HÛ¶“Ét§ëPª&S¹®­,—í—V,'#ˆh•Pñ³'=Cç†wß­–'â&ߣꩡïm „qŒ\ q1BS‰d¹\>þÃxã/½añâ¥ù=sžãÎï™[\\¤@†•0èvOâm w¶ }QÒh7þþ¯L ;×N_GŽF†7¹NBÉnéz{ ™Œ·nßÉm¶¼¾o†Dtccc›››ÝnwyyùرcŽãLNN®¯¯£¯øOÊNv Øö xŽ»Ëí¼Úuûoô¬(¥”\/Óm<‡gbÊú— ~ŸÃ¸0ÄÈïg0ĭ挳,ÃumÎ#Çé*Šâº®±ç–•¼ñy§Tèw¦ 4 ”PƘ×nDZ0M“ |_U”l6Ûn·Ã À‰0-KJé:N½VÛÙ%íF€Ø"¢DZ¦jíN7ö±;7öYäB ô„Æã€`ªÖõZ¶×Š‚ØõtC1=/PSHÒétâ8nµÚf*³µ\.ŠV:-)Id2–DFK¢ûÌÐUE×uË*ÆÅÓ§3ù¼•J ““Ëkk¹\nÏÞ½ÈLyððaÏóZN"‘ô>e…óóó’/—Ë–eM-•Jn·3hè—DQäû>vuìG_F]?ý¶Ü˜obÛ6!…(ŠTÅ :¤“…ƒƒ¤‰D²ÑhH)ï¸ãÈòÊÏëŽ ¦¥jª15¹wfz.‘H-^ºòÌ3Ïlll1¦f³)¥ÕjÅq캮®ëïxǯ†gÛ……ßwín»V³yQ š¦1U¯6.$R¹W¿úát:ÝjuÖÖÊgΜ¹re9NºEÜ4MBˆã8…B>ŠÂN§Ã¹Ô4M×uì½ar [£Ñ( BÛ¶#ϵ€ÄÀ%‚A9§BlðJP*H…J¤B$ÊøÀ…8*²;ìü›åðß,D|$r¸—4ÀM‚mnJ -(ת“¶m' L@õ|‰£(ò<ÏqÃJ¢¸Ñ4­ã´ +—Ëåóùt:p)¸®‹…Uõz}yy‰”p[ŽtŸ× ú}Ðý¨Ÿ €u³j2VÇMsÈãËóÿF£ ËY……B¡ßõƶíT2Ã9„Ç\rIA¤.PJ€p`D Bˆ‘Z¼ß”}z]×'ã»Á/‘#™oÆsõ½&<¡ïGíj§w­Ü»~û½ò秉v¡§©F¥RK¥2v×AÞ5J!ŠÊÈúÊ€°,C×µL6ULk÷ÞóêW¼ìСžÛqín2¡«ªjÛd"ÛîÚªn%ÒcKËåÇÿöÓÏü¸ã·‰’¹ñŒ À£n¥|*ßð|y£F0[ \Ê[»¿n 9+DAÀÒiß÷[­V*•Êårõz½U¯cpÅ0ŒZ­&¥´m[Ó´(Š¢ˆ!ÊÐφë;W(Çâ8î'ë@2‘¾ñý‚hø-µ7ÔQP3 ÇñHýV“2þ“Ò=²L!-¹ú-Ë’Ræóy˲<ÏK§Ó ëz«Õ²,kÔÌÖŸU‰1ÆpâÂ0ìó¸19X@õã”ý‰Æ² ×uÞ¦¬î¬ÅÃ;és÷ì’„ƒ×O¸—7¾/ÈHë¿×t…Œô…›²´EÁ׎¬ÌÛhNäºösÞQ)4D I¨*6ûV/_xá…•¥e…Sˆ¦°ƒÞs÷ÝÈî Û$Fãܹs—/_î¶Z# ¯{ÃEÉårز§^YZ$áã‘‚H aÈmAXÈtEQKÕ¥Ñę̈¦$›/ÔMÛ÷2¹¬™´Úív຅¬ët‘ØbïÞ½N§ÑÃøžÇŠã•JÅ0øVƒ0ÞØ¬”J¥ÀA&•l4q„a¸oß¾Õ•e×u U4(ªŽSƒ¤O~1ª¼Š¢SäpÔ4­G]ß‹„ÆâH˜zD)% hšvôèÑJ¥ÇñÒÒåv»É”C¦iîÙ³çŽÛï ^¯5ÂȘ˜0 «^o.]YV¢(ð}¿ÙlÚ¶A¡PøÞw¿í8]Bùÿº‡ï]WMS¯T*SSS•JM‚Àuýv»L&*ÕÍÀ²‰l£QO&“„f³É9Ïf³˜éqùòeß÷'''777éÐ(‰$gT±÷ó¯}páòBf,û¹ü8ro~ß¡ gì¿Ýw8p\$*ç7771†þRV Ó¹sçŽ9R.—‹Å¢mÛaæóyôTÆW¿úÕw¿ûݾï;Žƒ_š¦u:T*Õjµfffâ8nµZˆ’ŒÕj5]בe)@Ží;º¸XÃ0DþŒd2¹¾¾.„˜˜˜èt:ø-Lè˜E,ŠsŽW朧R)Ji»ÝF8&ŸÏúÓŸ~÷»ß ©Tjcc#Š¢™™™(Š,Ë* o}ë[çççÓéôÙ³gOž<ùÝï~7 ñ±±åååD"¬ÈÜiYV«ÕÂ<„ufgg777 Ãèt:ãããõzý¯¾ð…_}ǯJB¦§§»Ý®mÛöGÚÛ¶s¹\·Û-•J›››ø¥”N'‘H ÀRUµÝn§R©L&³¾¾Î+‹Íf“R:>>¾µµ5Ò ªª6›MEQŽ?žËåÚí¶ôúqÎ]×í?c¬ÕjiŠâº®mÛÇŽët:®ëb.štȲ±±aY–®ëívÍ;D°½íïüßõú‘JøèG?nšf½^7 cß¾}çÏŸ§”~ô£ÿg£Ñú“?ù“\.÷¯þÕÿôøãO\¼x±Õja‚f³Ùn·‹Ý}“É$’6aw•R©äº.Ò¥àm'“IJ)ZŽãÌÏÏ»®Ûjµ>õÉ?€ßùÝ£1aÛv6›Ås0J†ó2==ý›¿ù›Q%†íøŸûÜç†y_¨"ῦ#â<‚T*Å9oµZˆûú¾_­Vóùü‚”Òó}âx.“ÌfÓívû±ÿøØûÿõû/^¼˜Ïç1sÍÓçŸþî»ï.—Ëš¦†åx>2úôí Ïó Ã@q‘H$:N©TªV«(¦Ç1MÙv>ó™Ïüþïÿ~•J%ŸÏw:)e:®V«¥RIÓ4|B¡°´´T( ^¯ÏÏÏ×ëu4‘¥”åry||E·mÛèÉ>|øÔ©S™L¦Ýnïß¿¿Ýn·Z-Ï󦧧-Ë:yòäáÇ5M[YYI¥RÈ+999é8Îg>ó™ßú­ßB]×FÇÅb1Žãt:}ùòå\.7b¤š»ÜͦÒÍZÝÔÍ+‹‹Ùt²Ûn)«›[©tÒuíõÕM»Ó8zàöÿáW^9[ÕòYùS“ÅFs9‘Ë‹ ª¦eTVÉiÛšýúo¼%âíïþà¹0R˜×þn©T:yòäþýûѽD1X(Â(zöÄ B0æv»V*B¥/¿ÿ~ß÷ü W.]Ú{àp~êÔ©F£ño|ãë_ÿ:– …aX(ðÍ?þøãŠ®?øŠW4¹¹¹ååe( X])„XÃ|Ÿ8Ž»ÝîäääÚÚZ.—ãœÿà?Pv2ðIy×Ñ£…Báïÿþï_þò—=öØc?ü0rÅg2™ LÓt§P(œ;w­R©ÌÎΖËeÆX&“ùö·¿ÝétòÅ"¸Ýn=öØ—¿üeÜ5•Jeß¾}µZ m‰¸®ë8ê_Çq²Ù¬eY—/_.‹ããã/^Ü·oßòòr*•ò<Ï4MdêY^^¾ë®»F2^¼rùþûï¿rå ø?óÌ3÷ßÿ‚eYxcívûðáÃ.\PennŽs^­V‰„¢(¸ª3™L£Ñè;N×:$ZÍ4MCÓTÆ<Ïk7›°Y.KεZ>›­U*çEA`hÚ©S§ž>~ü{O~OJ‰ûnnn®ÑhpÎëõ:¥´Õj:uê®»îúüç?M¾†-]4Á1í6“É,,,¼ìe/C3 0„\kµÚøø8¢ö_ù_ù•·ÿ j±ééé+W®ÌÎÎ^¾|yjj :ÎÑ£G~øáW¼üíN[ñØc}ç;ßÉd2(7„3“§Nú…_ø…×¾öµ…BaïÞ½F# Ãï}ï{_üâ Ã@³çüùóÇŽs<—sî ²O!Š¢”ËåcÇŽ={VÓ´ñññOúÓÿò=¼ß÷§§§‘%ñÀBâ¯|å+.\X\\ܳgÏæææ—¿üåGyDQ4Ì._¾œÉdLÓDÉH4l—'LMM]¼x‘²ÿþ ô‹pƒ`î[­V³,˶íB¡Ðn·ÇÇÇÑlÛÚÚš˜˜h·Ûqcjz.—ÛÜÜL§Óèe†qçw¾å-oùÔ§>µÓ†4ض­ê:åHÓà8N«ÕÂÛèt:µZÍ4M|–f³‰‘Òz½^*•þàþàoÿöo'''5MkµZçÏŸ?sæÌÒÒÒ}åÊMÓЈ2MsmmmzzZQ”jµªirI¤ÓéµµµƒA°¾¾þÕÿôÕwþów¢£‹]ç ÃØØØ˜ššBñ8îÀëhš†7©ªª¦iŽãH)‹ã¥8Žÿ·ßýÝ?þã?FRU¤ÜC“Ïó¼¿øÿâ=¾ç?ü?ÿá×Þõkªªú¾?=9¹°°€z¤Ýn_¸pá°m[H‰êõСCÏ?ÿüää$c¬V«ds)Q«ÕP››¦Y,QUÇq2™ ¢„–e !Òé4‰fFïï¾ûî¹¹¹7½éM†jüò¯üòØØ˜ïû®ë"ZD€'ùüØææf½^ãßøàƒŽÏÎÌþúoü: ÷¼ú£Ñhô#pøI³Ù Ã0‘HµZ­d2Y()¥ÜÚÚÂÑ bΉ+™òýÈ CÃL­”W÷8¨€¶¶QùÜŸþY¦¡ÿ‹÷¼{zz®ÝuœnÛ4 Ji£Z“Rær¹çŸ}î=>ú™Ï|Ʋ´Ó§Ï=zäBaÔ|C7¸àÀ({ÃßðÍÇÿ•·¿-ᥥ¥»îº«·5SSSa(m§ÌXžß ·8^ˆ!4ÑuåJeazoñÉ'Ÿ ãc“µµ CKÖë¶íxÙlåÉüþÛ R«›‰'Ày¤ªéD"xvÇžç! ¶_ ðÏH=Ðaªî‡1E)oVŠã“®ç D—(D"±µµ5== œ3Æ‚ kµZ(švÂ÷ý¿ÑuÅ< UUQϾà©ÏI)­ÕjÓÓÓ³yÇ·9vÔ ÜùùùW¼â•››•\¶pÇGl§S„üÔÔ„ÿleuy|¼¸gnfrrrb²¸µµ5=S2žœœ´»þ׿þ !¹A³Y7MÝJ˜š¦ž:õãryMÕÈÃÿÂääxú­VÃwÇmBlÏovÚ›[•_zÃÃõW_|ó›Þö­o}ë¾ûîY]]/ [[[íV§Ûíú¾¿µUN$ÍL&ãû>ê°z½>33†á‰'&&&0}ÝqìDŠ*9“I©2ðÝö±cG‹ïåË–6–î}Åë[›ŽëÇ2+«ZÇi;íH'IYš¦mlnÊÑÈ@႞!¢ FãàÁƒ/^,•J.\Ø·o¥´Ñht:̧À”{$„‹¢¨Z­=z[¤ÎÏÏ?~|øøñã‡:þüÄÄD*•úìg?ûÎw¾Ñ£'Â%ÉdTEº®ÏÏÏÿð‡?Ü»wïúúz¡PX__Ïårëëë˜÷ë8N·ÛÝ·oßææ&‚>ø~:.!D³Ùt]·T*¡§±ºº:99ù‘|¤Ýn⟸råÊwÜñÈ#B{ì±ÍÍÍñññ>¸eYÖ…  …Âôôt³Ù¼|ùò±cÇ`uuµ^¯ÏÎÎæóyT]077·V.Ÿ;w5_2™BA0;;ÛOB ‚Àu]Ã0LÓÄÌsDŽcÙär¹¥¥%´?†ªªŽã¼ð ˆA޵B¢_҇mÛõAkEQ¸ˆÇ¡” U„Uèr!Ñ}¶15WQ݆!ÿÔ§>¥ªªmÛ¦i"ötæÌ,^¢–––*•ʽ÷ÞK ”Ëåf³‰f„çy¸ç777ƒ Ø¿¿aœón·;55…ëmee¥R©:tÈ÷ý¹¹¹(ŠÖÖÖ0å'‘H *Š¢hll „„V«•ÍfEÁ J§Ó¨hUUM§Ó®ë^ºtéÏÿüÏÇyôÑGÀó¼0 o ÷Âa}ù&'ì/`JäæfyfÏœb¨ÀAØ-ŽMFN×oµ'ÆgEöïyòûOi™´žËF”$³Ù@bLhžJ)———‘dø‡?ü¡¢(ívûÁ¬×ë\\\D³5ŽcÄ#(¥ÙLöôéÓóóó„tífffZ­Ö¥K—îºë®•• dýèG?º÷Þ{î\YYùë¯ýõÛy›a®ëzžÇñÂÂÂϽòå•Íu˲êõzÇî<ûì³÷ÜsO†Íf³X,^¾|åžçyAø¾EÜv).ìõõõ™™ÄÅZ­–¢(N'ŸÏ£‡¿ººÚn·UUív»(l“ÉäÙ³gu]7 ãüùóÙl‚]×½xñb2™L¥Rq_ºt aV»téR*•Â7cÆøø8Z<­V+—Ë5R©ôÍo~óÈ‘#¦iîÛ·ï _øÂ«^õ*MÓ²Ù¬çyçÎC¨B×õ|>€‹ã8årùâÅ‹šªMOO?ûì³Øt9“É`±ÌÚÚZ¡P@0b´Å³£®Œ'û¾çû®ç9œ‹( åBp~yý©ߊB¯YÝ4tÅé6“I˶mÎ¥ÈLa<•¸òª×üw¶]!Ò—"⃲ß/_¾|àÀÎ9ÖІaèû~F¹\Îqœ×½îuH —Ëå0°L&u]ï¶Zï{ßû*•Šªª{÷î=|øðoüÆo¼éMoúÀ>Ðn·q*UU}å+_ù¥/}©T*½úÕ¯þÊW¾råÊ•B¡P­VZ²mCX@Ûl6Ñ*E, gmß¾}Bˆ—ßE›››Åb±P(`Ò!Ä4Í .`T$“Élll4›M!ÄòòòÄÄÄüã»ï¾ûòåËh&¢ð´mÛóñ ]×gffNœ8qèÐ!Û¶‹Å¢ïûgΜ¹÷Þ{×××÷ìÙ³´´èv6J¥‚€¸ïûù|}õõõL&sÇw`ËÛÕÕÕî»ÿGO?½oß¾jµº´´4??¿´´´wï^ß÷/\¸`šæøø8®™W½êUñqäȼ[Jé‘#G(¥‹‹‹‹$Ç‚#ÚÒ£Ù¶ …ÐóİcLˆXQè³'Ÿýìg?«ëz*•Z[[Cd)e·ÛM$¨d‘ú•ûÀŒ$Û¶«ÕêáÇÇI¥Rõz}ïÞ½§N"„”J%Û¶[­–b||¼P(àò6M³kwYH&“Ï>ûì<°°°ðÀ,..v»Ý(Š>ü¿øÂÅ ïÿÀû‘Nå=ïyüèG?BŸP×õóçÏÿÑýQ±Xýs?÷só7ƒb¤Ä¯T*o}ë[Ïž;»²²„ÁÖÖÖììl»Ý¶ +ØŸzê©;v,Š¢çž{nrr2›ÍrÎÏž=[,OŸ>}ï½÷"”ÓlÖ'''MÈf³§NÊår”Ò‰‰‰çŸþ¶ÛnSUµ\.K)ÛíöÊúÚ±cÇ2™Ì… öïßÿÆ7¾qssó£ýèÇÿÝÇwQ !N«ë8^*•zøá‡ï¸ãŽ3gÎ?~ü—ù—‡É“›4hšÖl6·¶¶Ð[nµZœslŠ>Q·ÛÍçóBˆ§Ÿ~zlllÐPÕV«Õ^^Kç ʼn¦›Ù±ñõj³^¯3=Aó©ï>øvàø\@«Õ!2ÆÊ/Ä}:N"™üíßþíw¼ã_øÂŽ=†¢Ûí2ÆJ¥¼ ¥ìÚÝT2µ^^/•Jª¢¾å­oùЇ>ôÄ7¾Q¯×5M³, i×Оß3?åûqÇi&’z¥º¶gvºn{Ïœþá‰OŸ>÷|¥Z¥”zaÀ¹¤”..µÒzN@TtVÛq9*¶Ó[׋¢Àvîk+ŠR,-]“"–R"*Чa¨cÿBÛív¯ôɲ€±L&ƒS?˜¦ |·ƒjŲí´[ë,úúÅBßJÁ¨—\bß7†ã8‚HU¬0AÀh¡Ó4¥ÓmŸ[x®Ñ¬yž×êÌ”ËkkkkÕÚz†–eþÜ+_nšæxi*_8ÜlØ?:þ\‡Œ…RØÜÚðos³ìz³çNMÏŒ<¸ovÏ$@\oT<ÏCJ)cu»õÛï8tþÜÂ/½áÿ¿ÿôåé™™NeLEe<99Ùh4ÇÁ¦¾A”×7 …"ô \.1Æp5£O…6 ¥tbzò×Þþ&³_Ø{hî¯ÿîk{ìYZ½¼ïÈl·ë$Ì|a5m7l×c!šªæóyJ{‰ žçÕjµ»ï¾{kk ãùûöí»rå ΓªªKKK¥RiyyùàÁƒŠ£Œ˜žžÆ 7B’SbjC}سgEÏ;wøðár¹¼¹¹™ÉdPÈ"ΊémhþÂv£×\.W­VŸxâ‰ûï¿¿^¯#s϶¶¶TUmµZ¨ÐÇ ”¢¶^]]E«ýaÄz=Ï[YYAcm¾çž{îë_ÿú™3gÆÇÇ?þýïÿ›ßüæ×¾ö5Ã0å:þ<çüèÑ£“““A,//%“É••!D©TÂ0‚sø–žx≽û÷çr9´P"´Ûí'Ÿ|²T*aH£”RÊ……UU§§§qf3™ >{³Ùìv»sss—/_nµZ·Ýv›eYÈR«ÕFÊh R0J%Pwûðƒ…#®œ8Ž;ÐAè• cŠÂ>@MŒUyøØ.tÄïŠmÛl˜EÈŽïû¡”âËŸ™™YY-‡ax×]w©ªºUéqöž?~jjÊ÷ýJ¥‚¸F\UUEÏM±±±‘Ïç1γ´´„þa³ÙÄI¹téÒØØX¹\Fd¤Ûí–7*S“¥™™™ Úív?uožRŠDç6 ñB×y¼ûo TQrö}ßu-LAˆ±*D£!‚GŒÆÿã?çë~éõ‰t"ˆœ“Ï?}ÇmXY4Âêkë…‰©õòrnbªÜj,–×½ H&3Žã ²ƒ´çy·ß~;NM*•:vìØ /¼€©=„Ó§O£Œi¸Þ&&&.^¼xøðaŒ½¯¯¯OLLd³YŒ3ß}÷ÝAÜyç«««†alnnÞqǨáÖÖÖjµÚË^ö²ÅÅÅ{î¹çĉSã¥ÊfUrøÈ‡ÿ}óûŸ?yJÓ´±±±ógÒét:•ŽãøüÙ…ÙÙYMÓ¯\Þwà¶µµµ0 §§§)ƒ­Ê†@u]/ ŠJÏž; Åb1N7›ÍZÍCÖhÏóTEÍår(ggg !ú›œœD¹Óé /Ôl6Ñh6›øø‰Dƒr”Òn·‹"ѶmÄ£¬×ëßøÆ7^ÿú×#"óãÿ˜‚†>’¡a½oß>´9?ýÖ·¾uÛm·µÛmÛ¶Ñ'L§ÓÉd1ÜaµµCó1gLF#Û꺶ãÚNèQè󘃇È2„ÏLæŸjnŒ—òª°&& %]S8OY‰”$Z×’ê—ʺ.ãØŽbWHâ3æQ˜0K—.©ªšJ]c‹ IDAT¤šÍæäxÉ÷ýÓg–’ÙÔfu3•Jù‘¿YÝ´{rr³H’™d¥^Ù¨lèºÞh7žýñ³ÏŸ~þƒüàË_ùò'NA°¹±Y*•ý—~üã×uýýïÿßz¢^¯ë–^œ(6 ×÷©” _Ýn½Ùäœgr¹L&cÛ¶ã8ûØÚÚúáñã\JÇó¢(º÷þûWVV–VV0KâqOÏΪ†±º¾^(ÚÝn"‘+­d2Œü©Ù©åµåz«þš×¼&Žã¯}íoö훟žžÞÚÚ…<õOår9„ÚWË«ÿâ·~빓'ïÃƸ÷ÞýûU]—ŽqÞ¬Tö<¸V.‡Qtòùçççç+• ¤³Ù©™™8ŽÇ £(•ÉTjµ¹¹¹çŸ~vvVUÕåÕÕ|>”f³Ù“'Oæ³¹µ•U˲rùœaífëÊâåv»}ôèÑÅÅÅ=3³gÏžM§Ó÷Í'^óЫWWW=æÚ®¢(§ÖËû÷ïg„R |Gƒ”„”\ˆ˜ó(1ÇDlßõ\Û±;Ýn»ƒÿ©ª*€§ÓiUU(%÷ßߨØX½^o4®ë6z½îû~£Ñà<ÖuMÓTLŒ4$“ÉÛo¿ýôéÓ÷ÜsϳÏ>›Ïç‰D©TB¥ƒ wZ­V­Vs]WQ”|>_«Õ}ôÑ+W®ÁÀç±×d2yæÌ™|àÉdràýg³Ù‰‰‰/~ñ‹?þ8Š…ø‡¨ÕjûØÇ¾úÕ¯bš!Æo?=tè¦Z‹E˲*• –:?óÌ3·ÝvÛÖÖÖøøx³Ù¼óÎ;cˆ÷Ýwß}Ä£çyKKK·Ýv›ã8—/_FŒ¸^¯££¾¼¼ìºîƒ>X.—êõúwÞ‰aù;ï¼óÿðû˜:: hˆ…@ß/œi·Ûvxžçû~·ÛEa‹pƒ¦iŸÿüç7662™Ì#÷ôÓO¿á o@Û=œv»ÙIÙlvqqqbb¼ÉÉÉ×¼æ5§Nš››;qâ„íØNçÀ¾ï×ÿòÞ;Jª*mûÞ'Vʹª«3 444ЀdpT`T˜Q1`fÔ1 ’Á4¢(A Ò@š†¦#+çpN:ù|ì‘Ïç}ñYïÌ÷þõ=µX½šµàt­®sö¾÷u_×ïN$ É×étF"Žã eõš×=3‹Åus·Ûít:ÃÑH:þùçŸ.\øùçŸÃ=…ÿpï½÷Λ7EÑ÷Þ{*/^¯7ŸÏtÔ•¶Ö1£®‹ÇãWÚZóùü˜Q×e³YQà%IJÄ¢†Vª øzqCb1YÃÁŒ[¦“™Šò¾pãNÆSÅ…%-M­ýûVF£Q­ŽªqºÛÚÚŒF#Ih3izå3ϲ,k·Û@Ù§ÕäeYx EI’@JJJ¾`OW·ÀñA ««Ëét>ôàòÍ\ó~ø·…†ß€é&Sq½2[Œ9–æ…¼F«Á0­(ñÉDÄf³Y­–ŽŽ£Q N;Š^{}C"È’ÝéÖèxA[Ú.\¸ì,)‹ÅR:½‘M02 e@¤àZà©dFC ²(‚ ÉxBÄaC}üÑÆý+}¾®D,N’¤Á¨GTà÷ûÍ6«Ñ`ŒÅcPð½ï¾ûfΜi·Û‡.àD"I–P\¼Üäpج6c^ÈP&M{ ùl}íÃßMšs挖ÂEQÄ%™ÏåhápPQ$6OyKEßòT*Î yU–4ZŒÀ4‚À ‚Åá4FbÝF3IiÍ…E®–æf6O;ìîl6ÝÕÕ›ó°eY¶««ËfpX,–o¾ùföìÙ ‡ê YOzWS"˜‹Æ£z›îXÝѼœo:]XR¤ <ç7˜µé8ƒªQ%Q”U^”òÐÊK’¤Óé|ðÁÏŸ??eÊè [´hAãÆ›3gNqq1Çq›6mÚ¹s'DW&‰¹sç.Y²D§Óuttœ={vÍš5§¬¬¬³³óÞ{ï1c숾÷Þ{---“&MZµj•Ñhûì§Ÿ~¢iº··÷©§ž²Ûí·Þzk2™Ü¾}û©S§@:žÛ|9œŽó Ï0YØ%ƒ^P(°._¾ü‡~1bÄ Aƒ8Ž›5k–Ûíž>}ú˜1cÊJËUùè£öìÙE"Y‘§L™²páB(Ï?~ݺu©Tª´´4“ÉLŸ>ýúë¯×jµz½~×®]Ç—eyåÊ•LŽÙ¹cgŽÍéuúé3¦C…Çñd"ÑÝÝUU5hõêÕóçßMQ”Ýî7nì½÷ÞGxGGç™3u|ða0,))5›,½]v—[„ÆÆÆ9sæL™2eôu£Ápð»ï¾Û¼ysii)Žã 1bÄ´›§€~øÑ‡Ÿ|ò |R®»îºáÇOœ01´¶¶îܹóðáÃN§³¸¸:ªTUõûý%%%@PXXØÛÛëõz»»»‹ŠŠŒFckk«(Š3fÌxüñÇûõí×ÔÜtøðáMoúÝí¿Ã0léÒ¥sçÎ5Ð@øÝwßmܸú¦N:}úôòòrY–¿úê«íÛ·çóyš¡'Nœ¸lÙ²²Ò²P8ÔÙÙùÙgŸ={ÖãñÀy×ÿnÆS¢(¦*2@QVö¢(ÈŠÀ08ÖJ‘ATQE)ðw{,z»‰@eEplNQ†N˜,.™gq …¼Ói³;Ì6»%œ¸vYMæL&“±Xl×®]«W¯.**r¹Ý°u“cY‹ÙL¤¢(‰dÒh4æ9Žçù,MÛív»ÃÁÐt0:vìXaQÑwÜñÓ‘#”Vë-,´Y­áHäĉ¡pxÙ²e”N'G£]ÝÝ}ÊËEI*šL§r4£¡´“Y«£˜,Í |g}½Ád”E)ÏsF½¡¢__J§‹'—»½ãJ8<¤ZKj|ÿჇn™>-‹±yV§ÓåyÎjµNœtýí·ý\¨?W{ò亷ß6[,(*.=ú:6ŸoiiÑhµ€þ••t6%Q´X­å¥}:»:­V«?C~ôáÀʣƌ8~ÚŒé±HtæìYo¬y'‰X$úÖÛkOž¨ EÂÓo™vãMS—/{Ðã-ÀTRämÛ¶]?y‚ pÒÁÇ›7½¸ú…ÖÖÖÒÒÒ÷ß¿´´To04\¸°aÆ . :Çñ²²²={öèõúX,¶gϘàðz½û÷ï_¿~ý]wÝEDQqqEŸ>ÐwmKò_,TWç.C‹àM¥ªªäîŽN(\bFáezØxŒD"™L&›Í2 ƒ ¨Í†_ShˆF£?|ÿúõë&MšôÎúwò\þ¥—^:wª:Ž$É>}úÜxããÇO¥S{÷îýì³Ï‚ØýÝw/¸z¿çÌ™3yòäþýú_¼tñâŋ۶mCQtóæÍ0rÕ½`0{p»Åb1bÄO< ׬YS]]MDooï¾}û}ôÑéÓ§?ú裋-Ú¶m›ËåÚ°aÃo½ùÁ¤¯UŸÌœ9søðá#GŽlnn>~üøW_}åp8Þ~ûíùó~ÿ_Þÿøñ©TjïÞ½ß~û-àÃ?´Z­Ð{,Ërcc# íÂ:ž¨aÃ0 =ðÀ³fÍ ƒÇ‡ø0ÀîÝ»?ýôÓ‰'–––Ò4ýòË/_¼x1‘H¸ÝnY–_ýõÙ³giµZXÄFŽã‚Á ‡ž:u*‘HLœ81———C§U>Ÿ/++ÓétW®\±ÛíC† ‘$©¡¡¶ wàÚ0H(Š‚``ƒÊ(°K ±ç8¦ `µX?þøãêêjQ››› s¹œÏç»îºë"‘¼…^~ùåÚÚÚ .„B!A…å+´OÃÆÛ„ š››[ZZ`öZàG¿fÍ—ËÕØØèr¹FõÈ#ج¶ÆËMMMû÷ï÷ù|€C=³ò™E‹Á¦ÝòåË zÃôéÓGŒ1xðàóçÏ·¶¶îÛ·Ïçóétº‚‚‚ªªª?ÿé~›ÍÖØø_¯sèÐöíÛ 0räÈH$òÊ+¯œ:u*˪‘þ¹\®ªªª¾¾Ú©xž///okkã8Î`0Ìœ9sÿþý‚ƒÁáCªŸ~úi ÃhšþöÛowíÚUUUUSSãt:7mÚO†¢(>÷ÜsË–-3šô™LF§£¾úêë§Ÿ~ª¥¥µ²²¿×[8qâ„~ýúcúå—_ýóŸ_çrlOOÏŽ;·lÝrçs* Uå¾ûîmkkïß¿Ÿ×[xîÜYI’8ŽWUE’  E@¤·»ÇIÇC¡P2™„·(ôï\ó~ø·M ¿!4X,FÓ4”–ð4d·9­Vë×_=wîÜ'NÀ;é¯YŸ'ã Ç«¢ u*F&ËÊç^”,™L¿ÿþû±È0­HH,E[mÎ<“Ez½¡A›xQT].[ccã˜1Nú9›eeYîéñWô+K§³*PaænéÒ¥ãÇ?~|:V%)Ä)LÊãn4 ²^éjA!$»ÙüÚÛÏ\¸ïOwkõ$Íf8%«J‚³Øf-0™zQâɸ?‚“”ÓQ„q¥×²\î_3žU%—¥Y>ïr9tZM6“ˆFBA Š ã„,ËŠé44¨BÇÐ5#*f³QC€À€‚X,&&›SIOéTDATô×_¢,£!‚ ¸lVQ˜Äþ;=ìW]åÿ «Ö«;@à¥p(žLd&²µ­éÈ1²¸Ô A‚Þ`„a¢™Ë+&£Ç´9–Îd£Í­EÈw#wi<J¥ã~_O&ãÞB—ÑD "K(‚¨N—= éô¤¢¢‰*¢Àñ ÏóŽ’ÒÚv©zð°hÄ?tXÕÑ£GöC¼^Ïç ƒã'Œ2d°¢ ½½=Wºî¹ç–åhšîîî^ºt©$I[·n¥i:ŸÏC*´3ÀeÔ`Ò×7ÖórJo¡’ù8rI6¦a°,CÓYŽy ãé0&˜0Bƒ(¨¢"ýÇnfŠ^|ñÅ\.mÌsæÌ™1cÆÆ:T^^¾yófUU=Š¢¨ÝnŸ?þÒ¥KfΜ9gΜ‡~xÏž=ííí#GŽœø ±±ñ«¯¾š8qbaa¡^¯‡»2”]¡=U¯×/^¼xÀ€}ôѾ}ûjjjžzê)˜kÕétÏ?ÿü³Ï> {àeee¿ûÝïü~?A+V¬˜:uêßÿþ÷~ø¡¡¡áücOOÁ`°X,Æ ûä“Oz{{iš~òÉ'§L™²nÝ:ƒÁN§].—$I¡PÈjµÞyç---föìÙ¹\nΜ9K—. ƒS¦L¹ùæ›—-[¶aÆžžžÉ“'¯ZµêÕW_}æ™g Ư×ëãñ8ÇscÇŽ}öùçƒÁààÁƒ—-[Ʋìþýûý~?¤HH’äõz¯6ü¡ñZŒ ’:ŸþùíÛ·Oœ81œ?þüã¤I“ž|òIçû·„EQÝéW ðÇe2™<Ç#¢Ôn·8P²N£E¶L1 ƒ«dcc#´Ë\ ¹Põk_NÏPž8}út:¶Ûí}ûö]´hÿë~ü±G~Iv€¿>ÿ—Ë?ðÀz½þ–[n¹õÖ[›šš¾úê«‚‚‚›nº EA>ŸEÑI“&Íž=ûäÉ“ûöíK&“Æ 3fŒ(Šÿüç?%I3fÌÔ'Ÿ=wáÀ(Š<cùT*UUUÏ_|ñ…ßï—$iôèÑ'Nœ3gÎÆ ‚E1NòœÈ0ŒËåúí•ú?Jh¸:”Ú[ ¯ .;W ýGe rIYi^Èûƒ>§Ûbµ™ì63à A¥S¯¹±°À¡ÓÙLRóŠŠæIUþ%þF£é[ÑW¸AؼyóÆý~¿Ûí¾ãŽ;¼^ï¦M›öìÙ³xñâéÓ§;Ž;vÀÍ~„ K–,‰D"7ÝtÓ-·ÜòÀlذ¡«« þõƒ>€!É—^zI§ÓíܹóÁü|ïç#FŽp8°4„ð Iq }óÍ·øz³U¯3fé´ÃîúóŸ—-¸{@”ÊþgΚñÈÃ+>üèý–æ6ƒIOQ”Ï׃a˜Óiè¡7nÜøüóÏ&“I˜"6tZ-IQÔ²eK?ÿüóÉS&–Lž<¹ººúܹs¼ÀOš4éìÙ³+W®¼îºëFŒñàƒÒ4 ÕÁ`=ŠŠŠz{{!£¡··6ýœNg €+ö²eË 7nÜxôèÑiÓ¦ÝyçáH8ŸÏ£(zà 7|ñÅG…jγÏ>k±XX–=zô<ðÞ{ïÕÖÖ¢(zÇwh4šp8l4çλcÇŽ~øaèСS§N7o¤ä0 =çÿÖý#Iªªª8!dÈ¿TYfF’ C%YEA”x S%I0Œ$NU•E‰ã˜LœMÆ£‚TU(-ÍÊ ‚É’ÂqB<‘éí‰)¸S¾|kþüù>úhÍð¡z½¾¤¤ä“O>I¥« AÕH,< ª²©¹ÙÌb8nÐë çEN”$-¥á„|–NÇ’1ÃL#Š˜êΞ^·nm,Õ¤N¯_ñØ#µ§NPz-F Ç~>º`ÑÝïoØŽD¢ñHžçT±Ø¬ƒ!CgyQˆú㪬XlÖUeUQe%žLäòlÛ•öŽÎŽ1ãÆÖŸ;/ÊÒ€ªÉtJDƒÉHéuî“¥)Îárž8YûÌSO?ð祟lÞòû»ÿpÛ¬™÷.¾gé²Þ^·®¢_Ÿ^ŸÏèíSQѯ²o$õzeUeò…^oõa·ßvGgwc M¥Sƒ‡T¿÷îßy|“¥c‰ø3O=}÷ÂÓoq¥³£jÀÀí;w¼³ný»ïý=Í̘y«å¹çxQC=òpA¡÷¾%‹?ýd«ÈH.§sè°aÝ]Y†þî»ï>Ù¼ùøñãÍÍÍ7ÞxãâÅ‹OŸ<ÙxñâÔ©SŸûË_Ö¾ùæÉ“'-Ëk¯½ÖÓÕuàÀ:“ ƒwÍ›÷èÃkµÚýû÷÷ë×*Œ×ô9+¿(ØPä‚uìÕ×ôË EQÈ&³~Ê ö{q'HŒ 1£Ih:“drY–ÐR¤†¤$Iº¦ÐÀó¼$K .üøã_|ñE­V»~ýúM›6>}º««kÑ¢E³fÍ:sæÌÊ•+M&Ó<Àó¼V«MgÒ===n·»´´tÖ¬YëÖ­;vìØðáÃçÌ™ã9mmmC‡…Z-ìyœ¸fÍY–¬Ãá'{õ.5jÔ[o½¥(JIIIkk+<8 8ðòåËz½¦{nºé¦ <÷ÜsÍÍÍ555Ó§O8p ,nU .]ºô£>jmm…¹$À„ öîÝ»zõê믿þî»ïÎçók×®íß¿ÿ¸qãÆŽ{íë¨jMMͧŸ~ú׿þfˆœN§Ãáˆ%â𯵵µS¦L9vìÌî%“ÉgŸ}vß¾}ðר¿_ÈϪ®®^óÊË«V?ùòeN·jÕªŽÎösçÎEcá½{÷nÚ¼j7ÓgÜîr;fÜ:íóÏ?F£7ÜpC㥦`0$ ²¢¨sîœwèð ï}¨Ók~èQAÞxý­Aƒ–<üÐ#O<ñTK{‹Éd …‡«­­$µn·TQTŽP$I@àyA&E{½^È8Ã0ìjúì·î‡ÿHh¸Æÿ0õ©T" 9¶1cÆPuéÒ¥l6{ï½÷Ò4Ç»ºº–.]ŠaØÎ;áâp ÛN·+•Îr JêRgE%/+µ'O[-Žt—`ÚòþUv£úP8ž¥P›Ô(¨À*°vbQ–åÚÚŸ‡uþ|”ÚY–Ójµ‰DÂaw̾mvMMÍ‚ ‘H (Ô ¼Ah,Ê‹œÅn3X ”Aãu~øsƒM7lÄð’¾Þ “pœ…d.ƒ`¸§ pôõ#ËÊËøüðéÌùx,¡7™Š`KÆ- tZ“Éç„L6™NF“Ù¤Gf0˜ò,ϲ¬Ñ¬ËÐ9P­Îñs׌B˜M’À9&D¨H6“V%Åb²Òéìÿ*3¨jže(‡Ýãñ~ç²ÒEQ„<ûÛ%Šôk¡~óïš~}^€H(p&Y–U Fã=]ˆÑVAhxBUô9.OcÃTTEÕ'’A­‰FÑpêìùþ}Ê’áˆe³’Ìã‰dŒ¦3ñx”a2éd\¯×X,ƞި΀¡(%!Ÿ—$—e$1\‹Æ>…=¾¶Â‚>ÇÕUUõ?SwÑh°çYÃ0étº²²ß¢…óëΞ>zô¨¢(÷ßÿœ9s ôÈ#Ìœ9óÝwß…Vpßâyž”$I"µ„·Ô¥1ø#EåMÇ.¸ É\\ŠÕeÁLÐÉÁˆä(Á ‚UQ›ËÌqœF£>Ÿ—eùÓO?ýùçŸ!kÄf³Mš4iË–-µµµ4M_¼xqåÊ•S§Nݽ{7Ã0Ùlö‰'žhjj²Z­'Nœhll|æ™gzzzpæ™gÞxãï¿ÿ¾°°°±±qݺu‹/þòË/S©”V«…ÙThcSUÕb±˜L&—ËÇõz}QQÑŽ;Nœ8 …H’|çwÖ®]ÛÒÒRZZ ƒÁ`[[["‘eyçÎápEÑaƽòÊ+GŽ ÈÚÚÚ@  ×ëóùü§Ÿ~Z[[«(ŠÍf[¹rå_|AÈw€\‰qãÆiµÚ¿üå/~öÏþsÍš5K–,immå8îÓO?­¯¯_±bìŠ,Y²dÁ‚0qP[[{ñâEŠ¢´í»ï¾ÛÔÔÄ0Lgg§Édª©©Äìp8\PPÀqÜ… A{ï½÷PíéíÕëõÑx,Ïs<Ï'‰Ò²²L&ÃóÙÛÛðûûöëGQÔð‘#¶mÛvâd-‚ ~¿éÒ¥<òÈ»ïýýÀ¡ƒ 7Ü8eÛ¶mÙlvÁ‚w/\ðä“OnÚ´ÉçóÍš5ëýÞo¸ØPZRêp8>ûì³Ö¶Öþýú÷Ýwßÿ=Àl6?û쳯¼òÊ'Ÿ|b00 ûË_þòÎ;ï|ñŹ\®O¿~³fÌØÿý~—Óe·Û.6ýÖx3YU j4è„õ$JÆãq˜ŒH&“ñxœ E‘‚ggg"‘`YN¦€9SÇÿåzPš¦»ººš››)­Þju\Sh IÇð+Vìß¿øðáÑhtíÚµwÞyçæÍ›ûôé3a„7ß|³¾¾žW_|ñEƒÁpéÒ%‹Ù’J¥âñø›o¾¹cÇŽo¾ù¦  àСC'Nœðûý555V«õòåËðG<ôÐCŠ¢üýï‡Îáp8¼mÛ¶[?…Æ¥U«V…B!§Ó¹e˿߿k×®³gÏjµÚ 6¬\¹ò_zé¥ÖÖVöZõÉúõë÷ï߉DÎ;×§OŸ`07¸Ë—/_óýCæT `.lÁ‚<ÏôÑG>Ÿ¯¨¨z{{‰„Ùlž8q"L¤ùå—===«W¯¶Ûíáp˜¢¨ÇüàÁƒÐX±yóæêêêD"‘ËåL&ÓÝwß-„>À;‚ +™Éd/^üûßÿ¾²²’¦éúúú7ß|3—ËÝpà 5556l8wîœV«µÛíEEE/¿ür6›…®ïL&6×¢´ ¢o…Ýn¯¨¨€Uoo/¬ÊV¬X±iÓ¦T*…dåÊ•µµµ^¯ðP( ÷îÝ»k×.Š¢Ö­[×ÚÚ:wî\h?Ñjµ'Nœ¸öuäÝwß… Çi’" †<Ï8p`âĉ.—ëÊ•+H\SS³f͚˗/›Íæh, ap÷,¼{É’%ΛL¦‹/Â[ñ¶Ûn£i:ž>}Z’¤n¸á¥—^ºçž{6lØPTX¢×9N#FÌÿ¯¿þfëÖ-$©%ì¹çþúê«/»\;RÉŒ$) æ/”5Kpy T‘FCÅcÉd2 šJeÀD‘%'PžI7Œ±X,‘HÀ(D>_­"þ¿¦'ßœÚù(ŠBzÑÂ… kkk[ZZdEüÓŸþ4k֬뮻î¸ýw·oذJ¢×þ SS[¦1Ðù.½Å hVo¶éŒ¶Ã”1âróŠÀ€¨èVÓØÒpÊå´‚À²,¤³“©Ñ` FÓj,–øá‡V[[[Täéêî)+/%ùiÓ§7nÆŒˆoµZmv; M˲ cV:Ρ··v·•`¨0uçg;V>ÿH¿%?ü¸OoÒ¹½Ž¢²ÂlŽn»ÒkZ,6\Õ]:• >ÞÑÛ‰-'r±XD«Õ– ƒ§ Àc2@”Våd2‰¡ÌÀg6•JAZó5?ù|>Ï0‚ؼBžCQ”@1ŠÒ^3:a3àš`v8 aœ$ÉæææBûÚû‹,C¯÷¯•‚_gù„h¯†€‹Å’J%d€Šcwj)á¤0ÃF0\1Z1>™ŒNE¢dQK`FB# ¨€b<Š"áHO6“ó:“©†¡x*•H$â>_¯Ín‰…CÅ%£Îl6ær´ªÊ²Ä‰‡E£ÅQ• AeJ‡Y­¦^_—Ùbhnê él"žÉç[¨b¦±±±¡¡¾¸¤ ±ñR[[Û‹/¾8zôØï¿ÿÞjµþá8yòdccã Aƒhš†[,d·À~²N§SqÐèt{­_ü¼¨¼¨Ý×2qòø^¿OƒrÑhñtš–³ ‡* ‹« ÒìÊó¬Ýnç81 ;~ü8<âOŸ>;vì€ü˜ãX»v-´>šL¦ï¿ÿÞl6ÃF±Ñh;vl,ãyÞår}üñÇ^¯÷âÅ‹ÇÕÖÖ¾þúëЭw.½+>Ÿª¡ù|¾ººzذa=ôPSSœìðÑG­]»¶§§Çd29rdíÚµ?ÿüóéÓ§÷íÛwüøq¨P”––~óÍ7”ÏçëêêÌf3ô,:t‚-¡‹–ïE †a‡Óéœ;wîƒ> ê®SGމÅbè{îÜ¹ŠŠ 8$‚¢¨††½^ŸÉdΞ= ¥—Ë•¥³6l((,dY6 îÞ½{ÅŠ«V­‚§ «Õ wÇÊÊÊ—_~yØÐa*P€L˜8aÿ¾}³:®¢oœzã§Ÿ~šËåV¬X`‹òšÊßS諲 $I‹«Íf³¢(ær9Q’Ieh8ÞI9DQá $H ‚ÐJ†aºººà™D–eèG‚È™«¼nTEQ‚è} I²µµ•a8ždZ[[=Ϙ1c"‘˜Ïçs:çÏŸ§iÚívW ìŸÎ0€v‰d2Éó’VƒÃ²²²²EÀ¼yó}d9 ŠQV—B¯[VÀ±cÇt: õõõ©4mµ1 ƒøô™3gVVVzTB¡¨Ãnarô=j4š«ôG(Hÿ6tóÜÔ 8s$›ÍšzgF£™LgPhÀq\88KA«ÑÒíkI¥2—v›(•ÍéL2bèt4•:tè$¢´ Ì”K  iš†ÌjŠ¢z{{Ù<»gÏÈr:th ^3ü®»îêìèð„ºººÕ«W§ÓéË—/çØÜÖ­[Y–-,,d¦®®®oß¾« È×_-B<w87nþü¤‰“î¹ç(ôôôÀûèÑ£LŽ9xð |ÄE9{ö¬Ëé‚£7‰D PUµ²²2¶·µ ¢ Òåv¹\.xøw¹\z½þú‰×?üðÃp/0½½½€ææfY–_ãõU«V;wîôéÓõõõGü±ÿÀçÏŸuݨE‹Åb1È£Ù¾}{žaªª«™³e˧ÓIÓtÇ•+¡Ph×Î]#'Bkk+¤1ýŸ¯?²¨ !I­,Ë@E O§RÙt&fÒIY<ÇæèE ¨“uÄБ¹\ HœÛfÎÑI»Í¤ª*Ši²¬ ªÚœ„Û HQñ$UþšÁØÑc~7û¶\޵Ûm&“éüÙsl.Çó|ŸŠRN<Þ‚lŠþWÉH›ÍO¤29º¥¥Á†a*xI4ZÌ„VS©!™I›Íæq'°<×íë ¦h"‰ÇŒóÅ‹—(@P" †ÔÔìܹs@å€ :Îîrår9_ »ÓLžíÛ¿¿¢(t:í-.ú|z“Ééñ(˜m¶D<>bäuZ®½­í†oœ8iÒúwÞåVKjsyZOéi6‡¢(ËsápLoÒ帼ÄË2Po=+ŸÏ'âI–¬¬¬|ù¥5/üíoÏ=÷œ?ýÖ[ÿ¾aìٳ[ÛÛ¿ùöÛ…÷ÜSZ^ÞÙѱtÙ²Õ«WëŒÆp4òÙgŸ=z´¡¡áË/¿Ü¾};“c&N˜xüçãlܸnÝ:­^èí-,)Q%)žˆ²©Ô™3gÌ&s4¥R©ßl7) @‘ä|ŽŠŠa¢‚X$‹D±x2žHƉXEQIU°ÕÒÒÒBb$üÁÌ)´ êõz­V w´k °pܽ{÷Àëêê`µúÚ«¯E£Q˜;¨¯¯?ö,Šãf³²ýÍfs$¶|’$¿þúë¶ææ¶æfï/1¨úúz½^ ½^ïìÙ³§M›¶lÙ² .@Ì˲@8`µZ«ªªà€ƒòòrÈ–‚}H§ÓÙÜÜÜÞÞn2™r¹Ü?þèóù<תO6mÚät: ¢Ñ(lr‚@3ô¯ßÿÙ³gñ_Þ?A/^,...//?vìØ’%Kî¿ÿþY³fuwwÇ!•Íï÷Çb±¹sçN˜0aüøñ#FŒ€aCÇsàÀxÆÞµkWaaá™3g`u”N§Ÿzê)¨PƒÁ>}ú¤Ói舄º@ Y £G~æ™göïß?eÊ”¹sçþíoëß¿ÿÅ‹·oßÞÔÔq’}úô‰F£P;†§â«ñ½kž*AÐêtp©‡KH+H§ÓÑh4 E£QÈï€ÄP¦`r <7z½ÞÇ{L§ÓI’4yòäÓ§OÃŽÔÈ‘#£±èÁƒúé'x_¡( áPð"PŽI¦’Æ kkk»pá‚Åb³H\.Wža$EM$™Læ¶Ù·MŸ>ý±ÇK§Ón—‰Fà\6š¡OŸ>-ËrCCDuhµÚüã±X ²xêëë?øàƒ%K–„ï÷¸ñ’t: çE"¿\‡¦`q‹ÅàhjQŠ0 Ëb:>~üøøñãëêêX–½ãŽ;þñ|÷Ýw555—.]r9]]]]‹E¯×oÚ´‰çXAŒ&SÀïwØ—/5â8¾eÓæ[nºùë/¿ºùæ›;Ú¯lÝòɸ1c‡qøÐO¯¼ôêªU/4_nÁq²²ß€ëFŒyâñ'™tÚl±È’F²Ùô¥†Æ|ž¯;sNR%½>£(RÓå6›ÍBÓ9‡ÃÆñB:•EYQ$E8Žò¼¨!°€ÏOâ]–½¾^Y”¢áȵ™/ÿ—„†H$"Šb*•:¦~§q'Ü‘/_¾¼zõêáÇûí·v‡uᢻëêê._ºhuØ®§ø¯oåY××¼ö"i°b™w?ØœäÎÞ€Õf[EßE ǽp¾p‚¢a<–gé¬AoE ŠÑHôT2™¾qÊ”ßÏ›÷ᇖ——úüÁµëÖz½Þ‚‚‚¾}ûB†aÉX,‹ ªj±Z¡]Q¯×õ+ëÇÜ•ž¶x:8dDu†ÍÄRÑá×Õðãø}Ñ^Çp­Æb¶ (žŠdœ.oUõ€“§Ï´4†0—U)™NвàîSšJ%0 )ðºy6#p,ðl6§Õš,6{,ƒ-mWEEIIɳþ(ŠçX—Ë€’LÄ^|aUã¹sÿÝGFà@pNbÙ†††¾}û‡k¾  º´®ŽCþfñÂÿ»˜¿ ùD"‘N§Z››(3@ ¡ƒ¸†Å1“²8¡h4ŒP.GŒª¬³šKpBn»r‰Ð(v‡1ìâØÞp$ÔÔ܆O&Ó¹‡ ¨· ˆgóŠ¢Ð “¡³8†â8¦ (ŠâŽåØ\2”ç@ž•T·˜ŠŒpo4ØmVœ7áv»¿Ø³{þüùñx\•A.ËŽ3:ŸcQÓ’šê!Õ‹…Î1¢(²\žeÙ •eY*Žb”A/œÛá”$®zØàžPkŸŠ¢T6–c“I6†JZ\4q" 1ÃIàêtFQ¢,8 íJ;PÔ’²Òh8RZ^†¢¨Þh‚8ID"‘¾ýûÑ4MhH—ÉEm6›?Ði)I‘APÈår—“çy“Ňq’0‘diyY8vº]|žS€Š¢h.ÏEÕPZà Õjµ[­Ö^¿AAÍf3Ëå9Ž3YÌÇõ«ìï÷ûŸ^ùÌîÝ»‡ :yòäþöâšW_Ûµû±XŒx»ÝžË³‚Lg36›Íj·%㠳ʼnDJËË <)àó«èõz»ÓÑÝÙPä…‡š8éúùóçgèl&“±;½Ý=›O&\.Wk[«Ãî(*)FQô\ýy§Ýá)(Èf³Y†Ž„Âe}Ê1 #µ ÃLF¥×˲‰DàŽh2šZZZJJJxž÷ù|±XÌív755Í;7•JAÛR,4dˆ$I­MM·»    y<‡Ãwb›Í‚@‡á¿UèEFQA|T QQ$ŸÏK²Œ¢F‚`eQÊk4$Ij2™Œ$ɲ,“¤F£Ñ´¶¶™LÆp8‚ah:Ñé(ždY–$Y’DÅA@& EÅqÜl¶46^êÓ§bÛ§›yAÑ(“ã_xá¯l^ÐQäëk^áxùÉ'Ÿ`˜\ àXÌÅÉd²†Á¹Ê‚ aÐkÑøc=Ž €ãx‡Ãî÷\.g"‘Äqùó)›Ó®È‚ªªÅÅÅ çÏôY–á°^·ÛÝÝÑHÅã2S<Ä‹$át:±X ö'!ÏÇñ޶6ä~Aš t!Auoݺuǯ®®žŸË°¯¼òÊøÑãY–%Q’áY&#“aN¯õ8=¡PAP‹Ý. ÂÅúú[§OïééªJ 8в,Ëårn¯7 úº» ”.“L"(J ñh”2rÙ,EQ¾ÞUUuz= èó™m6 A$’¢hIœ¦ŠÒšÍæT,’ŽcÇé4:šg0€ù{:ewØ2ÉL{{Dz¥Kýüóê¿þ5CÓãÇŒ•$)"8®§(FV›ÃáˆG"4M§‰Â’£^Ïó<¥Ó={ö‰Ç£(ê±G}ëí·étzÿþýþùÏ.\0èt»wî4[,,M/ùã’±cÆŽ9rÊÔ©ÿý'ŸxâíµoÙì­^Oiµ@Qt† ñTÀh2«²l²Z㉸Õf/ôú‚š¦sù¼–$•ÿýSüåÀÿ¯Íë<1^e Ac‚ ¢,ðR>Ë‚,Š¢*©>ŸÏisz½ÞîŽîT*Åd˜ É3ùL&“ˆ&¸¼ (È5…xç—––¦R):..+#"ÇæÌf3DA3 ãòx ÉEQ84ÑírC ŒÕj=ùóÏÃFŒ‡ÃW½pž—ÇãY¸pá}÷Ý·dÉ8p!—ËÁ©:]Ý]U¬­•eÙ[TØÛÛ›¡³ñdH&,XO&Ünw0Òëõ4M;\®+­­V‡£¸¸EÑúóçíG§Àb±À‘ F£Q𦉄Ñ`4YÌ=¾^EQèãñxPŠŠ`( ¸´„Îdë.,Y²díº·o¹éææÖ Aµ:*NgÇq ¥µÛíwÍÿ W^{uß?¿Dað ÁugÏL³¢(›5j(m‰ÙŒ`¨ tŽÐ9¦¼¼œÎ1ªªš­–D,®3ès¹Fàf³yÿß···gº¨¨èÒåÆcÇŽ9\Î|ŽÕꨠ?à.ðÀ+ :4 Ó4m²˜C ÁdÄ0Œåò8Š©@`ëæW_9A€Ñ xçü:@mŒWÓðvÊçó555¹\þìéÓZ½±ººÚãñ^¹Òæry,‹¢€ãÇ766 Ðúô[7oÞ|u|ì¸ÀÖ(Ïólmm=zô(Dz ù¼£oß¶¶68÷u¹$Y2™L&I×ÔÔd2ÇÓÖÜ\TZŠ¢(´H Æd2i2™Ìfswgçð‘#áÈaØ—öz½ çÏÃL«Ál–d©¢¢"GÓ§¥©¹¤¬CÐP$Œ£˜Áh{¦ÉH¨Ìa%EýÒ)NUH—§XQIQFÍV· A’U%5ÀѼÀK@ÑéMZ­'Л'P7ŽØDN“Nò6«WàU–åt:“‘H  —cP˜¬–<Ëb®"ˆT” $EVDVÁ )²ÃåeÉlµ BíMWjžŽ‡âCUSÊþ; IDATF§ã\ Úó|2’èÑIŽ2‚frœ a&“ 'IÁ¡³:ƒÔj¢±˜ €€ÝéˆÄb8I„"‘^¿oä¨Q8I¨RX\ät»c‰x†¦6gs8U&µZ^tà 7N9øãaw'‹]ºÜxýäÉ”^O&µ:jð!ݽ=ÉtZo4¨‚“„Î`ÐôÉt:Ïs:ƒ!Í(¤³Q–}E¿~„†dXÖd13F£Õ&Óé\žµ9‡úñãÍ›—-ðºÑ£{âq€"Ý݃‡Tk(*L&»ÓÇõFC6Ç8\Ît6[TR ‡1‡ÿžÎå(½î¡G™ûûyóîºË 0, P$WôëË cn»ýv†Í ©©I¦S¥ååíWªŽÆ¢Wº:©Ö¤VÓÙÙY^Ñ'‘JEã1€©S§úýþâââÎööùóçÿøÓV«v9à458{ hÚb·÷ööÆãñ¢ÒRFV‹eëÖ­Ìöþûï6ŒgYøH@R}.—ƒ z*70p‘J¥(Š2›Í©x¼´´TVU“ÅŒâ˜ÞhYE€†¢Bш†ÒŠ’T\Vʉ‚(K:ƒžÎ1’"˪¢7š9ŽGQÜårg2´Ãá”e•eó4 ‚²¬ ‚¨Ó@Ìf«(J(Š#JNa„ ˆ(T Ëæ“É´ÇS (`úŒÙ<ðç+tttÝzëm¯¼ú–Ž"ßy÷Ã;çÜuÿýKÃáËrn·çÐá〪EµÛV«MC¢’ (Jïr¹¿ÛØãvŒ?1Ÿç,[(e˜œÁ`"òĉ“€ÂÂb£Ñd2YœN|þ5JÄÁƒ*%I>}úL{û—ËÓ·o?ŠÒH2 éH2™¶Zmpf†Ù,-˪,+ÿÛWUþö‚e=ì>Á€®Óé¼ÚDâyþ×3YUU5™ ß~û¿§7Ÿc{<?Uw%õ¡tÎ[9ÈÕ§*é­^W žÇ s:-k5½^CûN§šSšÐÛÛ[Z^Žãø‘#Gþüç?}>Axž=z4Ìæ (JàĈ#2™Ì€AƒP…)¤²²²T<‰D&Nœ1·t:=kÖ¬††“ÉÄq\"™ðz½PÚðx<¹l– ˆ<Ïã$OÆôF@Õ\ž)¯(;züØî¾K” Eªˆrïâ{ÿô#¥×VôëŽF(½1ŒZ̶d2­È Ž®_÷î½÷.¾uƬ… ï1Ì¥?îBYY ¥# -,†Ο/)/‡©ªªª<Ë"P`s:s¹œN§ãyÎY„6cøqÀIºpn<ŒÎ•–ž:}jÖ¬Y‚0™ ˲3fÌàÞëõBè]ggçúõë—/_>nܸyóæy EQüöÛoçÏŸ‡¡½0˲ ·óL&Yè† :ôJÇ’$ûöí å˜k®30äi·Û¡¢ n8D–eJgˆ'c”^›e2Z¡¡ðd:¡"€Ð*ÌÍ"¨¬€ Š…Çö×Ô'——ëFŽðŒ¨)¯©q Öoð òH°S¯%p "*P _ëOsK[Íð‘©tV€ÉåG‰ü?ì½g”\Õ™6ºO•sUWuun©iI(!’1ŒM2ö7N Ã0$ÁØßØLŽŒÁÆ`ƒA00™$Ã`°E”F €Z¡s¨îêÊùä|¼¦?î ÍZsÿÜ5÷N-­Z¬¦U:UµÏÞïû¼O(s¬ËãöX¦…#‚@D1_ ùCŽ…HŒd(™C¸¡˜’ ¼dcš¤[†ýǧÿxãõ7…ažãÏ_{~gGKrn—§½­=à ¦ÛÓ§œôUd#YT†¥R]Õ(šÎÏç(Š¢)ÚÔuš¤4EAjÖë>¯}[r «)Š®jŽeù¼¾J±Ø™îhÕë²(áq,‡9Î}ûƒ~WG§¡ªŠ¤"Ñ$S/7¡°­;<ë¢p Ùr†pä YTh‚F6¦²Ðlu¤Ú«åJ(®×jš,“éóxtU#HrÛ‡~óß pBlµƒVyäö·1E“ÔÈÁƒÓ“Së.¹dÕŠ•~ùeä ×þüçŽöôOþå_ÞyëmŽç›õMÑInÿhÇSÏ##(Ò´-Š¡uÓP4ÃqU׎-UÊ^¿áXU×h–!iŠçyÛ´-ÝÒí¹Ïmx`ëÿþê–··_À j:3»sמ«®¹¶=ݹù7–åÕ׎\±ò§Wüë–wß)– ‚ÔÂIl÷§»ŽX2ÀòŒª+±Dtÿ¡Þþž¿;"D1$FbÙB³.IB0èGÈîîí.• ª*S!Í@À׬WqE£áRµÄò\£Õl´šþ`ÀÁP£Õ¤YÆA¨R­´w¤=>o¥ZIwvTª†c YŽÓÑÑQ¯T|>Çqõz$IÈ ˆ|)Š‚ZÇH'¿ø, 2E1šjøC[·IeC$ƒXLÇ9œ³UÓÒ5šDª"r,ÛA8Ãy8w™42xäøqùº‘à]í&ær'ãÒMÚAL½! ¢YŽg4]F¦l;Á’ÍfÅåæi†r0уÙ²Iš (Tªï¼ë—g~ãŒSN=yɲÁKÖ]|óÍ7þÓ?^N¥NþÊIßýö·wïÜU.‘í†c¸cY’ FSôÁýûïûÍo7<ðp£¢+Šõà#5šœTË­ í1Y?%ÛŠbY¹bmv¾`"›÷Ð6.ªzÍAªß˳4X„ó¨Q)"Çt 9öØð°a7ÕVÁ´dÓеVC’•†,6JÓs®¾é†ë¯»aŽc›ŽiئÁÒ¤©«^7ïõzËår8E‘d–s9Žƒ›ÄM ™B­Dcüa0‹Â wHQ¸ôº9Š0U³ Yh1$áá9Y0dÿˆÉA¸ƒp¯×+I’,Ëbn/ÿ€¶[ ŽÈ&WT9¤,"Ÿ9¶»Õ£áEv›†§£cűÇ~f¢¤×›Í¡ýC’Z×ÍÃM!‰¹Ó1Inâ܆ûö §Û»Š… 3gžyöŸ6½òÉÇ;y·Ÿf]ºi—kµ¹ù|¾T–'ÙJIZ³úÄjYÄ»íÃüã%Ý]}ªª;FÓ´,Ë.— #p˲0 aØß‘uœ$ ‚€_3 Ã0,ÇE±R«5›MÍ0TUåÝî%ƒËúºú㡤£c¸E„¯Ëë÷úV¹<&¢m~¿ßåC,ËÒ4ë`„¬hÕzeY’¦kµZ©RI´µÙƒAò-Z$HÃ0Ÿ}öG?úÑ9k×â8žJ§7lØpׯ~ÕÙÙé`Žá¿䑾¾>œ$»ºº®»á†÷ß¿Z¯÷÷÷ßöóŸßwß}]==‹-ê_¼øòË/ïƒÕêØØX½^_±jU>›e8nppåyMÓFÆÆEá\.—ËuóúõO<ñÄŠU«\.—Ûë½÷Þ{ Ûj6›‹n½õÖ‹/½TUUEÓ¾ÿýïWjµÉ±1A’Þz뭛ׯïîî^uÔQ===ÿü£Åb1U×Ý.w¡PeÙFˆçyœ$MËô¹¹¹_ß{ïE]ôï}¯Õj‘4Íó¼fÑh4_,F"Þå¾îºë’ííç_pÁºuë^Ø´ivv¶­½ýŠ+®xî…¾üå/û/}ùË_ýÚ×:;; Š’ù¦›n‡Â‹.½ô¬³ÎÚ²eK)ŸF£Äa€¦Ãär¹ùÙY ÃV¯^ý /üð‡?ôù|[·n½ù曯¼òÊ«WCËT,só¹p8œËf ÄÃS“Sõz½\. H’4::ê À'Ä÷nt¹LÓtyÜA(º&˲fè–eaÎ0 Í2n·[QYVUUE'BÓ ±wÇq°/>7›Mø}Ó´MÓàÖ4Q.—#Š Šy6ÖÞÞîâé?ü0õôôý¬Ñh ‚ ªºeYSÓÓÓ¡Õ«W³,.¾øR„I r¹\©ÔŠÅ¢i¡Oøàƒ,Ëær9Žåàú_ùÜõwõôÜ{idrÿÞ½7ÞrË7¾ñ/å+Õj•b˜D"A³¬eY‹f§§›‚`YÖÀàà®]»n¼ùær¹ok[»víÛïl1-3#„š¢ðöÛo ŽŽŽ^té¥?þñŸxòÉ@ €„ÛퟘEÑë÷j‰¢×ëÅ‚ ˆ/>“4­(J¥VÃ0, á8®›f"‘P4mçÎ6B>ŸO”eÇqffgËårSÊå²7$i`` X.×ëõj¥ê8ÎО=E麎Å@ç«( °f³ b{—Ëeš¦m#Ërxž%i!´wï¾f³ E¶oß>::¾gÏžjµ~ÄG‚ôòË/ C‘óÅG"‘Ýè[o½õ/ÿò/×]wÝ©§žê8ŽÇãéîî¾í¶Ûjõ Þ|óÍsÎ9g``@Q”p8¼nݺuëÖqÄp6U*•“N:IEØíUM½âŠ+N>ùd˲’Éä5×\³eË À^qÅ7Üp¼N0^·nÝ%ëÖqÄ4Ë"„÷9ÆŒaX«ÕzòÉ'ò“Ÿüë¿þë¯~õ+Žãfff‚‘ˆ(Š$A«è7¿ùÍõ7Þ¸dÙòB©D³ü9k×^uÍuÇü|¾¨êúß¶í¸úšk_Øô’å8Ù\¡V­þeóæÿô§/lÚ´øˆ#h–=°ÿSÏ‘Lr—ÏåòÙ¬ªª‰DÂÅ»À®;›Í.[¾<NMM™†IP”å88Iš¶-Ê2Âñ@(¤zßâņ‡g³Ùd:½ïÀå«VíÙ»—á8ásëD’¤r¹\¯×§&§á°a¹l6çæsÅb^Ø"þïÏ$Iš†Íqœ¦! ' à p³qÜ&qÃÿ\»J1¦jŠj ÆÓ½då/îyàÞû¾é¦;"],ãUdS” D²Fî‰"Ž9º®šºŒlÝ‘š–Ü$YÚ4MMSt]·mÓq’Äq÷Ýw›ÍæòåË–/_þÓG¹ô /\³fÍÒÁ%4M‡Á»ï¾ûÎ;~aXÀçGaúϸƒ¼.ïC=òo=^oT¼ÎAêøÔp­Q$'0Àð\¥^™˜«4ò¼‹”„¦¢H˜ƒl 14Í0áÞ ?`0• MU4 a²tƒ£‘(™È6ìÑ›ö3dÛg~õ«ßý_ÿëìSOþÁÚsþáë_o6›°žçææRéÜ|A3 #ÀÞ2ü^ÓÐÇ$C6†L±qÇÆƒ!˜Âçÿü¿È^ðž$Ô4Ë IÊÇ1A’ò)’­é8†hÝ´qgxưH$àö0O1,i˜Z«Õhµ"!RQ¥h4šÉL§Rm‘HÌãöe³³““Õ@Ðïñr›óª*«š„" Îçãß|óÍŽt×›o¾óýïÿÍ7ÞI&“ï½÷ËÒ ÃÈ‚|0KÄ@ÃBGŠlÒæÂáp(ŠF£ Ë2øA†BQ.W…B£"`W¯(VB8áw·™阔m"Yi‹ÆlBQ ‚"(Šâ8œrü~ÿöÛ}>_.—ƒÄ–eïºãŽ`0xÞyçϵ×^›Ífs¹œ"Š‚(ÜrË-Ï<óLGºcdtäù矿ã¶Ûž7Mó7Þ¸ûî»_}õUÛ³mû¶­[·^{ÕUÝ݉Dâúë¯â‰'ü/½<=3½fÍšz¥²|Õ*p„ŠÇã###ûÛß®½öÚû·ƒìƒ«¯¾úž{î‰F£زeËw¿ûÝx0_ÈüñÇ]tÑ‘+WŽýüÖ[EQ¼çž{úûû%Iºûî»EQ$I²Z«.] µ¨Ç™;õ´ÓÎ;ï¼\.÷îÖw‹¥b  )ZQ•åË—G£QðhذaÃ믿î€<ðÀ½wßíñûÓéôßþö·«¯¾úä“O~äáGŠ¥âC=455•N§yŽß¸qãSO=ÁEúÓŸžzê)Œ$³ÙìáR à»fVMÓ–.]zâ‰'îÙ³ç©'ŸlK&9ŽûË_þòå/ù[ßúÖc=¿Üh6†éèêj4©TªP,X^«ÕÀ̬½½}ff&#Û£ Ú!þ\pÇ!Ir/Š"²D"QÆq€ùa§æÁƒ­¡úlø P„Çã”×ëõz½…B“\.x&ONN&“IŸÏ7:6#I’ßï÷ù|Š¢¸ÝnY–_xáUUO8á„çŸ{jv®øÚk¯uttü|4­V«øÃFFF.¹ä’Ÿüä'Á` R©ŽŒŒlÛ¶í“O>©×ë<Ï¿ùæ›guÖ»[ߛٲeËà½`¾Å0̃>ø£ýèòË.Dè­ïnJ§ÓñX<Á˜ƒã(G†±, fÿó (j!%ضmX6`9V«V5M“$ $ÐõºÞžNÓ4L&)Ìéêêš›‡¢ñX[(ðzü$Å Æ ©´º… -áx(ìWUêlI’–u¹\£c£^¯·ÕjÅãñƒ†B¡—^z),^¼xtt”a˜ÿøÇ<ôPÿÀÀÔÔ¨‚ßzë-¯×›ÍfÿøÇ?>¼aC$oooï½÷ž{î¹Ç< ޽úê«O<ñFñõÓŸþôÉ'Ÿ¬ÕjßùÎw>úè£z¥‰Çˆªµ* ¾Þzë-I’^{íµh$ú×Í}ñÅï¾ûnŸÏgšf2™$ÂãñŒ[ºŽºøâ‹:ꨶDÛ‹›^¼âŠ+TU­×ë›7oîìì<ãŒ3®¿þúB¡pûí·ïüè£ÁeËp ïêêÞ¿H<ÏOŒ{<§ð<¼†Ã}5‘ŽgÛ¶m¡Pèç?ÿùÊ+÷í½ë®»~û›ß&R©Þ}×ívßwß}ñxܲ¬^xá{ßû^(²mû·ßÎ0Ì 7Üð§M:pðÀïÿ{Ó4%IâX.Ã\Îåõjš&ˆEQÀVDápûÌ‚os<¯ÕjA„?FªšŒaX£Ñ°,£Ñh”ËU]×MÓþŒjˆTUe¤('薬눮6uYÓ]d+3ÓÐutÔÑ+LÜЦÖ2 Ä(†CÐ N¢Ã¥cÿþ÷¿aãÆÑht||üŸÿùŸ7nÜHÓ4L5‡††þƒ 802<Ïôô4˲õzýÓO?5 ãg?ûÙ³Ï>ëóù‚ÁàÙgŸýË_þÒ¶íl6 ˲•Jåù矿üòË-Ë:œ£Õ‚æü¨Aÿyófˆ>äÏÇÇÇÕ^zé¥L&óØcuvvº\®wÞyçÑGËÛT*µ ( …BEmݺ5‹†úš—_~ù¦›n‚A°Â$+ŸÏ#„î¸ã’$ï¹çH˻袋Þyç†a@ÊþÔSO]pÁ·Ür‹Ëåâ8®R©<üðÃßþö·_|ñEQý~?EQï¾ûî•W^ùꫯ*Šòꫯ~÷»ß‚×_Ý0ŒÇ|pp¦é‘‘‘õë×7›M¿ß¿yóf05XHþÏ3Sô%nè‰aèöÁbÇq sLÓÜ·oŸÇãÁq"èŠÅ¢(Š>Ÿì !`+ŸÏÏÍÍUkÍ@ xÈ;‰ø¼¾óÿñün¸á¦›nbYöþûïê‰'¼@Gw7 œk×®½îºë4M[¿~½(Š@Àçó5 Ì‚HoŽßyççœsN²-yÿý÷‡B!pDáøã?¸oŲ|ðÁÜÜÜe—]v÷Ýwß~ûí?ü0DTŠÅ'žxbnf&žL¶šÍ@ ™™1Lãšk®9\}òýïóæÍ·çÀÁ×_½ÏçCŽÚ«C^«Õ¢9ný-ëBû÷ïÇqœ$II’¼oº#½û“O†Ca˲>Ú¶íºë®»æšk$QššžÒu}Ýeëî»ï>Žã²™ŒÇí¹êê«~ýë_³, Žà™Lfb|¼-™¤(Ê0 H½éêíÍårôyhÕÕg”m’$õöö^vÙe~øa(j4•J%‰€¯3˲ðÉCbÑá IDATÂlPápØqÓ2)Šry½.— ƒÁ`¹\†[ž IEQ@RN‚ ʲŒcè´ÓNsG’¤éééV«•J¥šÍf±X”eyÓ¦Mï¼óÎÞ½{“é´(ЇÔðá8žÏ篸âŠsÏ=wppð®»îÇ–í;¶ïÙ³ç‡?üáüìl"•úý† †alذ!D£Ñ>øàé§ŸÞ·o_{{{µV ¯¼ôÒQÇ3<<X†=xðàí·ß¾ñ™£c£/¼ðÂ]wÜÁð¼ã8Û>øàž{î9ÜëîÁ0ÌçóAY¸uëVðQÞ½{·ÛíÉ¡ 3™¸ÅÞxãH$r饗¾ýÖÛ¡?>ûÇçž{n×®]ÿ±iÓ¦óÏ?ÿñÇOwÇq6nÜxé%—¾ÿþûµZÍív{Gz(•JuÖY÷Þ{o²-9“™Y¿~}1—;råJEUÀ¨`tÓ4ÝÏ—¾ô¥[o½uÕÊU¡‘‘‘€?°jõª½»wû‚AÇ4B󳳫>Z’¤áýû—-Û¹s'Žãõz}øàp¹R>ãŒ3šÍ&d”A—Ë1Ï_\'…b$“]]8Ž7š Çä‡k MÃp»ÝŠ,/ˆ¹Hœ@Öç1q„¬…ß·q̶pGUcO Û¶¹oÿ^š`ÊÓc³™ÉZµ„3.ÄR;½âÄX½^ÃHG‘DOÐoب٪:6Á²¬›ã0$[¦,K’E%Aµu™aˆ"#1 kÕj`ÏÈ{Ü G覃!Óífë’A$BhãÆ¥ru`` \«†áñxDQüÆ)§úý~)_„ZÎës‡ÃaËÖAe™ËådYfh²Ùl}Þÿõ³ijˆB8 ‰RC7TDZlÛä8ºÙl"„AÍàv»ýþP©dHR£^kiªåq±"Â=DS4†wÞç?ÿüó‹ÚÓ©/}éËÖ,Ëœš †|ñDØçó äÈŠ(I‚¦Z~o¼^“&&&/¼ðâÑ‘Ið}äšf´Z­E‹ú¶øÁþñ¼7=kš:BA†a#Óá=]×!Eå¸N8á­×_ï(‹;¦>/ýéY¯—Ôæ\qšöb-½¾ot—j©6²xÎc›„P1ï½ó KD.Æ“~ÇÆBŰ5˲‰h9æ˜?ü¦i±Ù Çb¯ÒY–u]oÕë==`_­V[­–ÔjuÌ1ˆF£¡™ÉÉtW—¢(år™çùT*U.—ÍóüÄè(Ãó.— æ.—khÏŒ$ãñx¡P iº«« ðááaš¦C¡P"‘xôÑGÏ;1‘˜|Â.€ãøüììòU«&''ÀìÌÌ—¿ò•?üÇq¯×«(Š,ý¢(æ²Y0l4EQX–- $Ã$“É\.—L&K¥’Çã+5h˜8pòÉ'ŽŽöôôÔëuI’‰D¡P!‹U«Õp8œH$gY¶T(x|>¡Ñ\¶¬P(H’ãVžççææàc9d*œ—†a(’Ĺ\à ¬i”/‚ ¸ÝîŽŽŽ·owy½p² Ø4a,Ë2ŽãõJÅíóµ··g2(@½nÞq'ƒÁ`®PXµj•ª«V­šœÎ„ÃáR¥‚a˜e#Ç{{{-Ãìë陚E“(Š0æ…dC^?‘ªª eœ×ë}àÂaïé§Óï÷Çb±H$R,Ak4AÄb1pL½Ñh¸Ýn–e5MK&“µZÍq™ÿáÑ?Ù9tûí·Ã1Ðl6‰Œ¶ %I’ã88àuæççûûû5M«×ë===¦if³YŸÏ'Šb¹\^´h‘×ëÍçó»ÿ? ñ<ï½÷zÜôég| °†ÿABšaü]¡@Q'Šb_oÏý÷ßÆ×¿ö׿þuÍQ«2™ È&Y\´xñ__ß\­–yŽvñt£Zòy¸j¥Ø·¨Olšn:ˆ:0<ñíïýÀçëB8ÞlÕ,Ëp¹\’$Y–åv»5M[¾|ùððp«Õ ‡Ãùl6‰ÔÊåD*LJ‡‡UI:ê˜c>Ù±§¨T*æÆår9•JÙ¶=33³téÒ}ûö9¦ qÑGÌÏÏCE’Úr¹lhÚàÒ¥`VŸÍdR‚ ƒÁZ­Æó¼ ‰Db||ÜãñÁÕqœT*…¸½X,ꊌD0 «–Ë‘X "3À}­Ùlvvv …¶¶¶|>0±(бX ¼ÛÛÛ÷ïß/I²íÕkÖìüè£d:]­V<òÈÉÉÉJ©ŽFÁ3òpq¶ýn¨j$.w"‘(‹ýýýgãÆ§v5:::&ÆÇŽ8B„f³ `+Ïóõz]–eC×#Ñ(•aGw°”SUuéÒ¥;wîŒD"ÕjõïlÒCí3š¦õõõMOO»\®J±ˆST<¯T*Ñ`úgUUišL¥Rüñyç­}fãÏ?ÿœ§Ÿ~!„ã(r5›Ò¥ÿøÍïž¶ü£þB"Ë1UK—x–¬×*!QÒH†'X¯†1ˆtŸ~ö·_ùËÏ<û¾  Ç9D{ I’ 8p``àî»ï>å”SAèé陚šr8Ãýîñx`—.•J$ Y†–xá˜O>8¬­­-‹ŒŒ,HÁgpmÛv"‘(—Ë–e{ì±Û¶mƒkøâσÁ ®ë>Ÿo~~¾£££Ñh€¤ _Э€·¸o_ –$ pR]Ó9žã8.™L<Èr\:Îd2šªC!Û¶=„[ùÙY„P2žŸ›;rÅ ]ׇ÷ïO¦Ó>ø`ggçæÍ›Ÿ}öÙ,_¾|åÊ•Ç<Ïóßûö·WuÔüü|1—3m§¯¿/“ɲ>Y0¿looç8®\.˲|ðàÁE‹òú-Ë‚¯ÏÒuD½½½³³³===“““Ñh”¦é©ññ¶övÀC¡nÉe³‹ 9„(J¯×{`ÿЦ‰D*•š››SUz†aà>jµZõJ¥` “É@¼Îá¾z†a@¡ 說¯ïÖ[o½óÎ;¡ Z-†çI’ìèè( 0³m»££cnnNl6á°mÛÐ0ûýþR©¤É²/Äq<f³ÙSN9åõ×_?ñÄ·oßÞßß?==mF$’é›o¾ ~‚ LLLÀêèùüX,îÄf(B9Ÿ-Åc©D<=;3U©Ìær9]ü®äìLíÏ/¿»·€ˆD8*r©T[£Ñp¹yÇq¦§3ýý½¢róʼnñIÓ2pá ˱1YúÔíò÷ööýû¿ÿ{["=11ÇwìØöˆ @ü g?äÙȲmÛ4 „aIB\.W4…øeÀ\TUžž†Ö¼@íüñöí횦ëø}}}ãccÐ{K’Ô?0P.—GFFÓ\±zõÈȈ .—«X,†ÃáÏüð,ˆË†\ Û¶ Ó¶,kffÆÔ žå*•J«Õ£¨ðÀŠòpìhµµµQ…!ôúæWJ忆 ÆÇÇ%IäЙV«ó´`0ÊèClÛŽÇã_úÒ—ÆÇÇwíÚǯºê* ‚þþþR©D’$I’Pî7›MA$I’çyŸÏ'“mÛ===sssÕjõ´ÓNêêêŠÇãÀýfYäXªª.Z´èꫯnk c)ªJ¥J¥Ò5ÞæÿÃfÀ|osASêv»UUÕ4 F #:55•ÏχCA]“|~||Ô±ôr¥âóø«õº(™…bÅq #*•¢amí Ià8‡o°Õjýíoƒ ÍqœP4 ãtÈ!ëêêá“;ŽXº´^¯ƒ™b6›]¼xñÈÈEQp14Mû"žç‰DµZ<˶m@Äz{{3™Œ$Ið¦ l‚º Ú¤¶¶¶±ááî¾¾©©)ŽãÒé´ËåÚ¿w/ «ÕÓÓk’åyÇq|>_¡P˜5 ÃëõŽ /[±bhÏÖåR%é¸NØ¿¿ Pñ”ËeÇÛÚÚLÓÜ»wo8ƒ÷£;’©”×}þÅôün·zËG}ôá‡v»Ý ÃÜwß}Ï?ÿüì쬩imíí££ËV¬Ø¿¿mpî} Úµ@0PïBêP©Phïèh4@R (êãíÛ©”®ë±X ÈCî3@àà¾}ÝÝù|~ñà „ü%‰fµ¡ëºËå2 ƒa(Ó4yž5M“ç\@+ŠnÛCM‘’¢':G`4Ž!ÇÆL“giÇ6Y†—UÅíY8Yåš œOP†ˆ( 9‡I øÝï~÷Ë_þrvv6N?òÈ#=ô¬@Y§(*•JµZ­F£í:Ì{Šã¸Çã¡iºÑhÀÁÁóüüü<˜ãH’´°wÁ˜ËåàÿOzfØR!EmÛ¶íóIZÿáçµZ-ÌÏÏ{½ÞL&ÀAÎ](àø€ ^€††zãç"ß= ц€¤T*)଄(È7õx<à®ë:Ïó»ví¢iÚ²,A@·<::ÚÑÑ¡( þÀÈ ê]¸fUU¡3¼oÁÿÈ#Ü»wïÂü¼ö?qù†Î8’@ããr¹†aYÒì ±iµZK–1;;[)׿³yÁmžH$DQxþááEÑY–v~&î…ÅÄèèО=ÉtÃ0Ç£†ÃðÕ´µ·³,ëñx8Ž;î¸ãÞ{ÿ½p8\.—ÇÇÇ;:;EQ¬V« ÃøýþH$Òl6%I2 ƒã8]שxÜp.W&“±m;ÕÑ‘Íf/¸à‚¯}íkÇü‹/¾ØÓÝ#JâäääŽ;¶lÙ’L§!(¡«·W”Ä鉉®ÞÞCÖ'°Ï?¼4‘8õÔSaW9äõkš‹ÅšÍf¬£CÓ4hY§§§ásËf2Ý}}€5@â8˲±DbôàÁd:=1:ÚÝ×ÃÿR¹ÔÝÝ­ëúÇ;v Çñ¡p8L„,Ë™©©¶öv>žœœìéé©V;i·,K×uMÓTUM§Ó4MíÙsóÍ77\.×ÓÓÃuuíß·¯­»ûà¾}©ŽEQ/^¼gçN˜Eõ €°šFX$‹á~˜››P)!p ª¯Z­vÍ5×@Eáóù¦¦¦$IJ&“™LÆçóuvvÂa‡š¦²±‰Çãù|¾Z­5== ÉV²,;–e†ªª`Z¯TzúûeYžžÔ©«··Ùlf2Y–iš†Qù‘+WNLLض½hÑ"È’Çb»wï¶t½€ã$I¶µ·3 S©Tê•Ê!_çpƒ  {½^Žã,¿ÿ£mÛ 1'—˃Áùùù`0øÞ–-‘xœ¢(pSrGæA_Ðjµ¼^o Ø¿o_ÿÀðÖ‡´øf³Y¯×‡††’É$¸TÔëuQcmmŠ¢ìØ±ƒ÷x`»ë]´HQ”z½þ÷;Ôãáyz¿jµ:11Ñ ŸîÚ5¸lY±Xœ››óøýp%pw{½^Hå{ζöv Ã2SSÑD‚ã8ÈPÿâ:¥F_?ˆ¡ s¹\‡[Ÿ†ap<§3´ýÿÇ<òPç‘?äÕt˰lK‘à GŸŸÍÌe¦‚>?"1–D…ù©p¬ 9š.Õý<éf0äh.z¸z¥ŽH„TáB6M³EA³Æ0Œ¢(=öX­VƒÂl!}s! ![1QaÙzËÅlÇÖBŽ2cÆ»[>8î+«i‚oVs oSଦè¥b^’~/ ÇĦþé'f&KÈBƒ,˱U¦iÞë%HLUmMSü~—ËËÙ&¡ÛºfÍ–L{<šnvww7à3 Ã,_{íµŠ¬"Yö´µ ­:$„Y©î±Vƒ­ci’ÀÈÿ.Î쎅³‘m MVTQ%ð†ÕFµZ5› ¨Z¹AaU5õÖ§øM³¢(ó.Ž AlE"¡b1o™EÓš¦b˜ƒa8Â0Çqm£ÏTý’$iš–ÏçÁÁº'&&®»îº‘ƒ:ÒÁB¥¦Xˆó ‚A¬‹i´4µŠ\!„;¸P´].Êïr³nÖF|¹èñù ØœœTD±­½ÚÑùùùY–PW«ÕH$BÓt.—SUµ§¿l²Ùl2™, ða …H4Íd2}}}@±n4p®Öãñ$ (î9¼JœR>ÿú믿öÚk` øÀÜxãÑh´£»ÐkPÜÍÌÌ(Š"µZí€à’$F‡÷ïç=H¸]º|ùÁƒ].—(еrÙ4 Ã0Jù<̬@0R©T@s>5>îñû¡æK$ÓÓÓÑhÔçó•ËåìÜ\,§(jrl,‰˜¦ …@­V‡6’Ž·§Ó•J…$ÉT*5;;;1:>LÂJnn.‰@åŒÇãóùšÍfµT"hÇq8¥X— ¦+²,§ÓiÑ­Õj,Ç™¦ èDx&“ÉJ¥211ã¸ÛÍ{<YVáfV… hàºC]‚ã8‹¯ç0|hhÈÔu /´—ÿÉÐ)NS¥(Šªª»víj+Žã07cYÖëõ"Ó!Žã nªV«Ç2‘H(ŠR,ëõú¹çž{Û­7Tk¢ üÓºl6ÛÙÙ©( ÌôÀ-~~>C…ƒ;˜°/Y²ðùùyÓ4;::ü~ÿ'Ÿ|à~ 6-FC’¤H$244tË-·@Àä¼ú?[ÿóð»ÝBO’¤¦H0Å0lvv8{0³Ò4- Ú–uÚ×¾Ž(ðOÏ̤’!UyŽ™›kE"´¢èïöúõºàö„ WUÕZ¹ ëÍ4Í©©)@kÕj4kµZ4MÏÍÍ…B!EQ€ƒí˜f(­×ëÅb‘$IÀ¶ÆÇÇ;::9p §¿_EÈq@–J§áM§Ó³³³###0ÖuÝÔ´ŽîîF£øÀ  ØÞÞ^,EôÍPÕ`W×ÄÄ„×ë …Ã0 ‚÷\.Óõ/> OB©cš‚ Üÿý«V­ûè£î¹çpÌwxx˜$ÉEƒƒš¦5 EQ*•ŠÛçËd2†aÌÍÍaF§ÆÇ—­X144”H$ ½B’$o ´’$ÅãñR©tÈ}Ʋ¬x2Y,Çß±Ïå…„s˜f×ëuÇ366FàT.—…Â…B^×z½…:ppì®{6ð¤ÍÐ4á¸í8¦m›I’Í–èñûTÛÔm‹rsn *(©N¶\0sˆ­ N®÷߸ ¯¼òÊ£> Ð˲ÝÝÝããã€PÜS*•àó„Ç0 u‡Ãáz½Þjµ °^¨ÏEy 4 Ф-ˆŒ£åjµŠ<š ˆÃýè$PÂBs1BÈçó1 ì®P_ʲ S è‚›OI’°ƒP(À1lq†a$ޤ$IR~C¡Ä€G£Qر=O«ÕJ§ÓÍfžPÓ˲ ¾w0¨€,ɶ¶6–e÷íÛ‡a؃ó<ac¹\lGK¥RµZ0½Õj-¤ QZ¥›Mwuå?³„ï¾ôZ­&4@ ³³sfròÓO?ýè£~ö³Ÿùý~Ÿ\–eÐ''&Ü.wº« ä_¬O†­\½zrr²^¯Gâñl6ûñÇŸ{»~Ó4÷ìÚµh``ff&™LÎÏÎÂapdäëMõÒ¯aŒŒa˜Ç™ '‰ÎÌÌx½^¯ßßßß¿{÷ŽÌÌŒÛãq'Û¶]«Õhš.•J€¹ŽÉÎ|õzÎIÎÌÌ@3 8¦ÛãE1žLB%<11Áº\¼Öj5BƒÁz½®iÌÞáðÚ½{7Žã­V Yl Hu»Ý•JC–å?þññx|ff¦··¨£[·nõù|cccãã㪪êº^."ñ¨ã8‡fgg5EiK¥Âá0TD^¯7‹A¢D8¢A[{»®ëù\npÙ²¹¹¹V«Í<Д€ã¹á¹Ýîjµ I’ÚÚڠɇLÓR©ÔÖÖæéê:äë:^!Û¶ggg†E‘¢¨öÎN˜íyáþ&ÑÂT‰$I¨9[­ÏóÁ`(E‘h´Z­ X,Âæspß¾`$‰DÜn÷¡!œ¢`(eè:à3330I–ey~~ÊN8/X„z#‘H€jB¦æææZõ: _B£ŽÅ óÐH×ÊeÄ ààÕwÈuBQËqµZ ¨7ápxvvv§C~n + ˆ d>ˬ´rÀ-ÀÁ0sp5ê-d#Dqˤ‹wùÒ‰ÇBb£îáȱ‘}R³ÚÞžDnV•j nÎŒ#žÚÿéÎJq®VΑ82‘Å1´¡ÿÝ/cÁ¨!”Éd`2½@.ƒÞ¯®ëhooŸ›› ƒ0 >œZ ŽËDÈBŸî¬¼¿å£ÎþÔ’Õ³Ù9ÅÔTM7M“'=áDÈëæ=dèã÷|¼}¯\CÈA–‰aˆD'Rn5t]õºYŽs ¢àqsI– ‡=º ôõõŠe(`€Ñh4Ï_~ùå–ƒAE¡¨R"Õ …%©¡Owñ,í÷ûeI@")ò¿EýÌq²‘¦!ÇDº],4ĖŰ>EÖÊïX¬iáæR$Tu$Y²0‡e(¿ÇÁ1N–Lc|^ÝžÌÝìIDATІzÕêÕÓÓÓ' ÷ôôLOO¶··†aÙ°ŽqAÊ«¢(4Íš¦Eëõ:ǹ@ ^.WmÛŒD"‚М™œtû=bKÀIC„e4ËêªJPAº¦õ/ZdYÌ÷ Í#IREÌ1<,ér³õV¸lò‚á°(I†aü~IÓa J—uCÓpŒ 8Žsy€¨¯ëz*•‚à )`Áæã r¹¼ Å—e¹··TÓ@½Ëd2ÐÈÁ ¢ïLÓ¬ÕjétzËr¹ …æçç/^\©Tòù<E£Ñp8œÏç—/_žËå Àšžž^´hQ>Ÿê” àQc°ðû< ÎÌÌšãõzÃáðää$Žãn·{zz:‹8 ‹ÅâŠ+lÛÞ¿<ÓQ8Û*•Êé§Ÿþé§ŸNOO¯X±bïÞ½ÉdÒqUU¡a†QüÒ¥Ks¹С¡ óûýÇ …ööö|>Bk8#ÁžÄä‡,¤Ì“$IþLîï ¦1‰D"“ÉÔjµÁÁÁƒBÈ|Âáp¡P€)S<Ý\‰Ëåéîî.ä²8Žc¶ö–e¥;»B¡ÂI]×IšFáÛ:MRŠ${>c‹)>êÃQ‰†Ëå’* 0Ùƒ Ú`°8…ío%nع\.ÀPjÊîînXc@e‡qÈ þ€ÍP(/ö0 ‰8Áðf³Ù¥K—NMMéºîñx(ŠRU•¢(à~¹—çy`Ûʲ ËìPȱ‡ÏŠ¢¨V£‡ ]{þùçÛÛÇ©Š¤ªj2™,‹m‰˜$I¢$ùüDZ%Ià9Šf(ަJ¥Ëòš¦ƒc´ƒ(Ÿ7”ÏüÁNaF ö –e³Ùl[[xS5)TØÑhÔ4MÇ}>_6›íèèÝ×ë—ÑäóùŽŽàÖëõ•+W¶Z­J¥k²V«Á‡.…ð²™LÆGmmmÀm3ùt:M’$*9Žéííõx<™L¦R©œ}öÙ{÷î¥(Êï÷CX¦eY]]]³³³Ñhtff&”J¥ÎÎÎr¹¼téÒO>ù$™L²V<Ïó€‘5 æ¬V«.—kaöŸPÊ¡µ,+ïÝ»wåÊ•ÕjîY– …Š+FFF@‡€Z­ær¹¼^/À"¢(ö÷÷oݺµ££#ŸÏÃŒj5 ‘Öëuè´#ýÉ!÷˜™·Z­H$Íd°¹Yq¨e1 K$™Ìt¥RéÙÔôD­Út¢iœ"ËpB>dh³!UF¦…,„ü.g¨R]1rH„Qge"d ̦É»†^¨¿¿||$ÜÔj5˜‚ò šÐâÁÀ9 išÅ´(Š<σ|Ìçó ‚›l˜@FUUµ¯¯vøÃ ¦i…x¡·„)+œª_ü9˲Åb±­­ €'A`5Š¢ý<L(Š‚U ¸0ð•ƒn àË~ `Ù‚÷üPE LLL˜¦™H$AÊqèØ™ ƒSàÔ€Ö¨ Àªƒª>=(ÓáKw»Ý‚ ÀP®þÃ0ð;pR <ð2M3CqØ"¼Ã0€išp… 3…0sXùà:6T–e²}”ÉÉIÛ¶“ɤeYSSSÇ{ìöíÛ{zz˜É0 Öu½Ñhئ²Ùl¡Pèííu¹\ù|ZÊd2999¹f͚ݻw' èTæB«Õ²=hQáRáN„¯ivvöØc-•JªªºÝndzÿ~ÇI_¬Oòù<ˆn`·4MÐy ·|ñúǪ,NƒhÇŽK–,õ ¬ü…Ú°­ƒ®^½| ‡‡‡¡ü«Õj‰DbnnÎív‹ÅÅ‹×ëu8vS©Ô¾}ûV¯^=55·Øá`Ë*• à\Žã€Ö¦³³s~~¾X,._¾Æ9ÍfØ©‹/Ï F£‘N§A€èº+• puaX‡÷îÞ½äÈ#¡7¸*ŠA­&&&A† ³«« ^´N­VkÅŠ#3™Ì!†X,V( À/ʬiZooo6›…m„¦i†aA€ Üs)Šô–ßÑG ^Éd„o‰DbvvÖêõ:‹õzý¯s8@'J’ÔÎó‚={ö,^¼ 9è¨AÃl•@… ^à©T,AkÓjµàÎÅbº®¿ÿþûË–-¦|,ð®F<w¹\€ Àžfš&Çq­§&‰ÀJø¿Ú»–·Îë|þÇ}òýæp4#Môp$ÅUaÔ»J ´F’} /‚®’“ @²é¢œ,ÒU[ (4HWE—ÞØ€–³H‹m'#’“‘"Y£!Å!9ÃK^/y_ÿßÅGQ²¤)`Ày.΀ y/Ïýÿï|ç;ßN‚ Ã^xáöíÛù|rÅ~¿iÍf³Óélll`ÈT¡Pð}¿Ñh õxjœìíí=÷Üsžç¡ão>ŸãRòzž‡FK´[®†¡Á ¦׌H+¦ˆ%š©n<‰ ɸ££””‘¯5üÁÀ²ípÔê­A¿gdŠñ4 7CsÌbLœJQE³( ô|J¤ˆÒlÖ=<<„`ºiT,ø4 ¸Ña¿ÃRŸÉdÀb3”J¥vIÁã­DÇ)q%²äèУ‹—sôÒ~ñË:šŒ¢$ ‚ã¼Z)g2™îýö_wþãgÛ¿ú·Û¤‰b"F?þÉOßø‹7¾÷ýüôŸ~²¹¹Y«‰¨7èrAµru4fѶ¤m®üâ‡ÓÙöööK—/cßæææ·ßøÖß¼ùfœj„%ãz>™jJ¦cÿúµ­CôÆë_wlÓ2%¥ÉïEëÄþñÇùú׸I*¥L‘¾ðÊ…?yõ¥\Þ,Ɖ1–Äi’š0œ9®Ǧ‘ôüŸ½ûËÿþ¯[Sˆˆe å©ïåµ×Þ{ï=!˜a{Îg/^Dó* Šˆ8º!Óƒb/He˜ÐÔjÉd|éÒ¥­­­ÉhT¬TFLJƘŠcÄ1ð_<Ÿ—ªÕ—_~ùÝwß]³,Ëu]•D%iG©ªÕ›ãéÔŽŠµ:ö3˲FýíÚŽ!ÃÙÌ,—+„ŠFþ¡R úüÉd›ËØ[]]ýðÃKNœ8ñÛ›7s…Ä·È?£(ÊçóØfvïÞm´ZZëÁ`Ðjµ`„†¢e6›MÓÔÛߦ pV*•Ú÷îçÍfï…¹>†a ööJÕªwp°vòät:E{6ß/–J¶mïu»BÊZ­zx<Çóy¾T‚¤Â0 ¸l6»×é\xþùN§³œbBD¾çaŒÞV@–e)¥ö{½ÖÚÚ`0Àt¨ù| 1N9›Í"ÝŽ«:ŸÏÑ¡€í OF´H·Ý.”ËG% ãñX)3HÓP‰ÂGšN§IÊåjµŠÌÄó¼Z­6›Í&£“…B¤F±Xìu»–ã·Íf³¬kGQ´±qºÝn_|þù7n¼ôÇ—µÖõfk<çQ¶iͦA¹XÄÁ"+ÚQ7 ªÍ  – …ÂÎÎÒ*0ÄPr"\Ñ®‚*׳Ù,ÎÚqœ~¿¿¾¾ üÃf³Y©TÊd2;;;ù|JÝe¥ké¶Ô§,Ý%ð»®ÛëõÊår>Ÿï÷ûÀâ¾ïÇcÛ¶766¶··9çh“Ær|¬hXšA•Z–5öVWWgÁô­·ÞÊ:ö™3göº€Œ»wïž:¹ÖívKå2íõú§O¯ïõÚZë4Ö¥J.šÇIª9‰Éálee5Žt¯ß¯Öja¶!¥ìw»åZ-‚R©Ôm·sÅ"&o!{G•c<9®ë8Îp0¨Ôë@*KzÔ¯Ð3EQ¹\†æ¥N”C+•Šã8wo߆´ 4ÄØØ¼ƒ H°X©À÷Ÿ V£ˆ4Ü€p=¼}ó¦åºBˆ`2ùÌÙ³;;;årYD’$­V ÉUš¦õzýþîîʉÐo£]ã`,ËbŒ ƒæêêÁÁA6›õö÷[kkGÍÆ#Õ©ïŸ>wîöÍ›õ•èÿ]w1# pÐu]¥Ôx8„" :8,hI®®¯wÚíó.üúúuiY•JÅó<àÔezŒ‹ŒAO]g¤”ÑlV©×1%. éïWx6pGC“”òÅ_|ÿý÷…¦)?ÿùWnÝÚGÃá~µZïõ÷HS¾ÀGŠÙ\hÅ a¦©Ž)6¤&3f‘•þ$%N\’š‰+–Iò2ÙFâý(Â݉ýbY‚óÂRë8z^°Ô£Ö Ñž“ËåK•¶#>ð|4|BÂõÔÿcG@©mé•…8AG¸¼,,N yôóÃ÷¨Ý4Íñx  0ÈuÝ$I°}`%ÄÙe2\R©)ÞcÊãp8D‘ÍÏÈBa´´<_€аÛâ1n(¼ÑòÉOsT½–ëÀ™3g.\¸ðöÛoC réÒ¥«W¯bCáœF£µµ5D)j!Ðíc#s⃈ƒi&“yjøŒ=oãôiÔl ÀÅZ¹\>88ÀˆYð#:IÖNêt:*IJ•Êh4✃uŠ¢¨Ùlú¾,žMÐB¢¯”ÂF€‹/qêûç?÷¹;wî@$¤A³Ùüíö6ì;!Pj~Ÿ`høˆûžWªVAD>ùù!9D"Fu~æìÙ{÷îáZyûû†m£]èþýûЦ)ÄØ(x@ÿµ{HP¡A%*|ˆ’&“I>ŸïÝ¿ßZ[ÓZw»ÝF£†!ÀÒS_ç("Ï÷},ø`Ê àkµZƒÁ[jÇ–m …~¯·Òj!¢€¯£ÂN÷&(i|wÒ²êõºïûÈt°UÍÑZ“ :òЮ (­5Zƒ±“âÖYƒ-“ëëëwnÝ2Ç0Œ©ï3)Á½¢A²Ùl¶wvV××µÖhS<ž'8}Ó4u°5r8*>Ï;·µµ•Ëåú}öÓ4åšóEß„Ò KÈÅaZaãV¶N#fØ–aÏ'‡œ´!EGn¶Îd&“D±ÏÍ'c;ãÎGû$8£4ëÚá|jYÌË q[Œ#/ ì„{¹÷cÆz¢µ^*Ÿ ¸4,Íõ|6±J<œ*g…Ê5óÌ…“¯~ñÕõ“­|±8NÇÃñÞÞÞÖæÕ_ýçõIWùݤ֪ï<Æÿü/ÿúõ¯½þï|÷ï~ø·+k'º»»Ò‘J%*Nܼø3"£Ú:¹ßé‘SªÌ¦SRŠp‘]—Âø¯ß|“0ÂCˆ(žÄkõòlrxýÚVgwç»õm)X0¸–ùÿŸhøêWÿüïÿáGßüæ7LWh ¹¤Ógªp鼓áÓé8_È*¥’XY–£R†‘i ¥ga µ‘7û÷_þÏ^wn›î,ˆIõz½ÑhäóyÎåGGq*Ìü{äOõdoÌþ`èy^¿ßž@Yâ©gU©T0ui?6×6¹N9‘"¦IjâŠ×ĉ0¾ZqJ%Œ'­ˆŠøqBõ¬–!Â0œÍÂÝÝ]o<‡—¿ðŠ”²X®š¦éd2Žã¦½ðI'v ÇÇÃøqœ(ŠÐ‹¸ßß Ãp> ®üüç®ë¸®[.Êår6›5M“‘ÒZsG¦ˆ4i¦˜&͈i®‰1͉8'͉˜fD”*¦Ž¯ó³z°tá1Ç1F‹a&|. …R­V©Vëù|VCëTQLDLK¦%iÁµdŠiƉ”bZóD³8¡â±”´0‹iy|ŸÕ‘ƒœ`º½^ x©TZYYjŒöÇ€†Œ>,=>~ß°T 3Ò4…éCE›››€èðv-•J¨d8Nîc½<GЧò¸v톡À t*SL%úþQÀ?‹@aDšò ¤Ih[͸"L{拈b)§¹ Ôïv¹e1FRk©˜™h“ÔZÒsŸ]&·lƒ3Ï£É8{þl’¶U&› ‚¹Žã³ç/þÙW^;uj£×ëÅ*$–©Å$Í5Yô`¿FZªØÃSZü‡^X\ I¶4lS8–ášÒ4„Œ©ô!Žj!ù?lƒŽ*¸bîX]< -·®Þxçw~ó›¦Å39éybT­ñ¡§ˆ=<íÅoFJ ‡k›Zk)ÍÉdBœ§Iòê—¾lÛv·7BÃRhúÒ©² ó8Žå!M%L&3…Œô•+WÒpNDR>T”h•(¥!H3ý8¨'IDLa§š©c¢áÙ>Ò0BÀ ¼ùƒÑb™AÇ/EQ¤tb˜¦"âZ’L¤%[pRZ3E,NyD,TöÃ<ƒYñš[M}0‡isÏC{œ'r#šÎ0aj¨ {(‡&–„pM@MøC9–ãÆžÅ!Wëû,;¾‚c=!r r r r r Çýsý’ùùC8æú>‚h¦Sî4ÒkÇ1(¦ÿÄa>iûçs8ÍôQ#}T þ#q?ê|·Ø¨‘þ¿‰ûƒ¹8Ø ‘þ‡Ší×n8C€åÆW#]ÿ¡§}ã!ENçÍt6h¤ ú ‡X™¨«zµ¶9Æ™Vb•c½¶öQ_Æ!S5@Ö8ÔÆ€¡Ö´bõ·þ¿p¬k¦'rl>εIÊŒ£³ÿý'GrZãØ¿×&³Ÿ†i²QWrŒ-¾ïzy“°}£~º®*E*MR×ÒT}ÛÈÏ!‚§â§a‘fVÃ7¬E±ÁÜ‚éJs?² Ú÷§ìbÒ¸\"o‰°îq-‹ ¯JÍ2ëK8Ĭ@&—j ÿW-ÿ^߈_ù•jÉÈ!OàØ)ýYÔÇÕhRʶ¦;ön-pH.Ïã€~¸Ç!"o,ÑM9 ¥pÞŠE‹}üOkÛ?¤©Ú·Òß9Ø~i]:#“Râ#MÿM+f'BvbÔCǼ¯dmH§ V²·©ÝÃ]´¯A7骈¦‰¦±÷å8âuþ‰ã#áŧ`ª r¼hÛ¹û+Á³·íª^ŽxŠLdGûr¢öNÓv-ö×õßF†Ÿ_çW ¬ØvÍÜû¶¿8ô>æ8Ì¢F#Θt 2mW,Zì;F'`¿qB:¨)ƒß+û‹3ŽycOL„߈Ë1ßPÒqÀ /Î9¦5röÁm&×n–Årp¸¸výCj? ô@„a<Æžôâ¿^ËÁa'jдmµÂýÌp‘yiqä05îÐí,ƒR-Vàz⦦WªtGMHt jUŽâf=­µºŸ‡ÚÐÄ×kBV«mÇlì —ÈaꕯT|Á»XÓ’qñ;„®ß¿L;.íq¾‘¿TŽ£u@ä(ŸcÏ'óÔ îTŽÍŸ>ÈqLß'ñæ‰ÙÎÔ“É’ÔጄÈÈÈÈñj˜³ì.2òsÀ&Âì9añ™èÖ̳8dª>uá ¶®ì¹ÞWÕ;üØÂ.í¹8d¢>uéªc—vlãyõ2¦ÙXd‡|¤¿¥åR`C#냥sÈȪ`äRÎGtʽ5OÊÖ$åBä@ä@ä@ä@ä@Žk8dô왣Åó³9ªï‚âã8œõ\çƒÝ)çSÀÙIÉÞšà)ÊYÑ>Ø(ýwõÓýèžÄÖsrvgO;é´ñ¹ì·tÃa4àÐ\ þúã8Œ>ØXxþ4°žkôÁî )ÉN· ·wEr;3¼ðWßF8péþZ5åà°”ç½ÕùÔòÎjŸÛ~ Ùîçp^x¤[<õ¾M=”Vð÷qãóN8O¨.[ à…OûGz×d¶–­[³wNÊÀ¥ 8)³>ºó]}î>[•÷Âc$”~}´Ú·‘¶×Á{kÇüµï+§‡ê}ôô¹™Ëv7Ç‘¢ÁÕÈøRÇš‚ÿ÷†Q®åqÔ+þu¾tQ®åqü–9ãAl·hOîåЄFÊmÕU‚/¬óö8$ìÎ_Ä‘ŸÓN:ç‚•}ì¿v|/­Î=5é@¸<¶z±Îl9Š‹¹9Xbü(›ÉépPÊ5N0d ùQݵ.òEï±Õ‹…pfÜÔ~3s$Ç8À2ó‚!ë%?ûßÇ„[™;s¸˜—#5~ÔÈaëëCÖKLüÿ [½ïj8s_q17Gjü¨^ªk;1hõ²2ƒÇVïåÔ9à÷r`^ŽÔøQ5×½ V['ºþaZÍmÿ¨Íà±Õ‹…@Ó÷¯˜—#5~Œ^¼³0N0¤ÌI~†0ÕénðØêÅB8󃸘ã-ñèSãG•Α?ªtŽÔøQÅs$Æ*ž#1~TqÍÌ&8ˆÕ_ààhÈ®½³Ó‰D‰:éÝ´åø¹ŽÔ ¦áÞÇ1:e[ÉØÍÁ®ø”ïœÀ™H­q䛫œÀ®~÷–+ÕJp°|¾rNà`!‡·\¡k]Ÿ%Üï&މKãÞreUÌæ,çÿ9&J½å [SIȦ*óÿ“nÞ[®¬rü qqÇäÄ[®ÐµT0GФé-WèZ0ÃlÂî©ûï‚9&]w#QSëv½“ù){ 99^ÃÁ9ÎäåÁÊJ"ÔZù8u)˜c:¿ äA‡Ék݉® ¾/–c:oäAæ¶`ÿXÄ„-xž8ãåAæ#d2›â™ËâˆÈµüËa/µ,p™šmáçŽ.8 åAætsMÝKíËçÁ¾l(º°ž°Ã*ƒ×Ujð©;8&‹;í?Ÿïí8Â6¿5•Ìvy0ŸÏê3ÖÛ“WÑ3ºt?ƒ#yθGxʾZbý2nãœÃ¡HÂûTµ95ÎÙ¯Uí"LûüœÐlcÇyfé2|X礸[ï9999999|âïàèíî0Îh)5Æ-ŠÃÙÝaœÑr8jŒ3Z‡bg´(ŽãŒÞË1ÛïXØÝeî.gq¨Ý}œ‡pt;žò<9# ‡jbÎaé¡pÐphÒòÈå?qÄ®ø~Žu+ã#vÅ÷sl(§PH¹cSÜ&5åä`)›âVºLy1‡ ôŸË>ê&÷k9Ôè ¤ïÄ‘¿xÈ‘,gáˆYo·S cšj¥¢!G²^Žˆõv;ÃèA&ݦòAO©»¯¼ëívŽáA&ÊeTU>ã÷fÉ‹`™8–ÖÛ­ZzÊiªi²à.cPû8¦ÖÛ"æð§™®ªØl »èRª2`¦þ±´Þ^ °äPŽÔúåáˆXoGÝâ4tÂaÁ!c¼Œï}‘ ­Z‚44lÿ Àµ¾\,Ã,@,Æôï©ô­1m}?¦ €1?–•¾wüˆ%7ž‡ c:ž/ïqïx¾ÆÊLÚîèøß;¿ZåˆÌwÙf©"滎ez€ü‘Äñy0‰cK>?`Åz?Ç[ÖKì›+:ùP‡¶ à€ÇÖÙ½”ÀqFBä@Ž 8ööks:=‘ü…cžXÞz#r r r r r r G°èÀ^cwwé#ÉÃѾÉî.›ÏÇë8\º—ØÝ]ûÆÊÄѾÇîîÒî‘-n_÷»»ÀYí“9Z´»»—c枯¡Oô×÷ÿ‰Iþ,Eñþ,_â_4ÝßkÙÉ[eûß=0‘*ÚòEû§^¾†Ø„28+Ù_ø·nâ{¬­®&%ûoº‡®¾:ÇšK£&ûÓT…mÛWðÃNuÁ ÈQIÃ$5ªWÙ/8¾ ?!åTQ‘ «”ªè$sÑ’@À’yíGÕ™Ï7/–ch*PUðÖ|üã „PÝk¶? ‹í'ÊüðîÀsØO;Kœd.‘ƒ÷ö}å~0°«ñ}ÿ0VX—¥s|MjÛ’ à‡³«ñž£&\÷cKÉïÝî@æ‚ã¾Z7Ì&Jy'ùÀ˜Ptœê“آㆧ‡'É6 žÃ¡Û#öwp$VPå\b<çÞ5iÿö’X‹•\‡QÍ|ýpžÈ!77wqÜž£¬„e%ä(+!GYé{ENûœI¿tEXtSoftwareESP Ghostscript 7.07¦¼ž§IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/one-sch-2.png0000644000175000017500000001244413634703632016642 00000000000000‰PNG  IHDRüH«uؤ pHYs  ÒÝ~ükIDATxÚíݱoÜÈ~ðUâZ)œ.×¹•ÊÀíû‚TVk\cuz@ŠëÒ¸0`ursp+7 ^•êµÂ•R›îÊ\àÚë^ žbÚ\ÒÃ%‡œùÍçSt«ÅY­¿üíÃáÙÃõãˇëAýÝÞ;@^‚ 8Aœ NÐ'è‚ôÁ z€à=@p‚ ¸¿ß{€)7ç÷7ÓÏ[Èdúgs/Òýö”ß2¶ŸÓã²|K:=T  µá»ïƒ²ÿHúO­%}ËýÈ^kó«^‚*6VÕC3å§rïUî-¨ôÇz¨Ø’hÛ7Sö¼ûnJ….â§éÑCÖmGDŠÅHcÉGEëbÏ ¸H±Ø‹¾ü4Am¯3 ‘z¨ÒÜJ¶ÌZ~zÿ»ï¦O0U×ôP±ô€+-âÓ÷gî3Åý ‡àÒëâ}÷pøHi§zy)¡d·w^ÝÞ]]¾ùtuyÚ¶͹û< z¹´.A…êÇåò¸·Ï-ôÁéÑ'è‚ôÁ z€à=íâæ¯ÿ›kÕøú¶Ìi=ª—ëFg[f AE{¸þÓ?ä™]ã–9 ‡âänªäâ|[f9A…ê‡f÷uŽ@[f.AQË“ƒ ‡âŒ…fÕ·º¾‚Š –'ŸP7oa ëØcœ;º‹›óûï¿Û{¯Ÿ<{»ìçß½H›¯Ò¯‘× Ùµ¶<ü;ž¶å¥kèÿöãZ¯Ìמ½­ëß`¨ ¯ë¥7ƵF÷pýøò—ß÷Þ÷ἿË^µü’wiÿ“ÍÒw{žwÅÅÍù}w)á]—FëªTcW=}ËÚAëôP}yÿ|=T¬„껜-3FÐC(5VÜjùÜ=Qãj”êúmz¨Þp±„–·Ì ‡ j\RÄoCÐ'è‚ôÁ z€àŠ^ë&}I£±51¦·Pïº1)‹6öØ‹¦A›ŠúNJœ ã©sÃ-ŒýTùR~ùÆ^ã+Tߺ îñéïî½ïkŽwî+3÷÷Šx¨WõA¿$€ÄV µ« u³ôæãÛ^Ó¼JCA?Öeւȧÿ*yÅ vU¶nú”þS+ÝØÁuïýNQeÐwæÆ½ˆ?ÍØ\& }ç´ê¾c¯ÉiŸl&¡^E÷è_?ÿáöõóÃáðé[ÏL¿t¨öÀº½ûðêöîáúqâVÔýƒßÜCàôëSû«m*4è»8»º|óéê²ÿõi[‹Os_“£–;Ôëâæüþûï®_þòûÞûB+j|×Uߣ`š ‡â¸“*ëôP%Ò z(Nw'Õ±(ïw·UÒ:ëH7vH ÒŸI$MWôù>üÖ¸eÊÔÿ‹Oÿõ»°îÿwl;ÓÏ$žFƒ>ýO [¦Lc¼$šÅz› úN¾7}[¢j.èóȪqË”¯bvú=ÒØ>ǧÃ4ôCÓ3ZÛ2%è–¸H~ÿн+¦OºN?‡xšuScÅ­–oÍØŠF)ïô÷‰wTkš¨èS*—«ou}<ý…ê–,ä}EWôçï?/±{v¶dKï^ä©b¶¯å׺OÖ:+øÿöcúsSjá.`cc,ွÖ;¹…¿c]¬^yDz|Ï ú}·<œI½Õë™kµ¿×ÌG¼n£Æw]­›êíËëÏBký5vÕSVGÉ÷Š%ô³©åºúQ1êzµ< ègPË5ôIj\R-tý7ôkáuëâ· ÔHÐ'©±©"⎠NÐ'è‚ôÀÊæ.™7|~÷Èð¿{¬V‚(H?лÚúË´‰ûÓz 8Ã58­Ê¹„ ‡¸]ÊÂU[¾]Ǽk§¬QŽåÜû_»ÖΊýo°LU^0µäôcì·Wú„TwêiM ×Üz×í¥Ê ïÌ ¬z#>½ÿ>·ãï^kö½V½ÿkWqÐwÒK¨ ‰û–•Pã³¢ƒ¾»t;å™kMOÜ^wíb)cþwÉm%Ê©³JþKEã–ëê°—BOÆžvz™÷ÐÙfŒ1Ä]ùc\k®NÉclS¡} —n·0Fj´oŸ z úø1ÚºʱÖ|üå÷œâ4*z`†Ójü᩽ÇÑAÌ6·ïŒÔ¾´n€EÚYW§ÞűC}¾Õ~®yôŸ¯&Y¶ÌõiÆÇ._ ïWëFg[†í}YÑç­p×] oŽã‹c—/T>_PÖ¸eØF¿Lñ~.SõA?¬…ó]èQã–I7\Xbï=*WÖM;áÞõâÏ·ß~ì¾.¿;ß ÒºÉA_¾ùn¹•wo*®è§ßp5Vßêúíu!~Ú=‡ÛÑfýI•}î(TËÓ÷Þ±1ìôÝ\Ôîë³³Ó¶ñîEÚiÌ~¼î›µ´-¯ÓSþíǵFQ/÷×maF|kvúþé‹ÒÞB5ÖòO[^#’ö™²V–½î¯[õ{T÷èÓÕØUOÙ²–,§ÿÞ‚*{ô9ÔX˳Üô¬›Øµ¼wf;š¨è;‘êz3sÖÒŸuÓŸR™~˹öýÛ ëwW ´ ¡ So-¯[W÷]ÄÇ[PwxýªˆoGsA©®'‡H êŽõß[hLÑ×t>_tæÞ²ZžicïߦFƒ¾´Yðs·¼Ï«VžS–«}ö6Ͼ¼{ñõ¾}{ÆTÿ‘åï–§VÌñ«LD|Ë úNÝsµüмEkó¼zéÁ£˜¾Ä©ß‹×—oSÓAõ†ûÅÍáp,ħ«xÑßA•qž†¹š›uû:- —\¿:=IT×¾*z(Ú’ú½‹øþ5ý £)M›u¯þƱ­ÍÝ·”Ÿmù&è¡8k­9}MÀ0øòÍÌÛòØã§Wp™1‚ ¯ÿ>¯ýÅ'–GðôoIÙŸ¨=ìÌúïéÚŒéå=ì&^ý^¾6fÝÀ¦¬ÿ~š§‚Û¡¢‡÷í¹1dGÐCFúïÛîC‚²P¿§[+Žª£G«ÑêO ~w­¾yËý÷¡*úŽç±Ç8wtóÖ­Ì/%ÜËù ¯•MÙ«éH›?÷óþÖiÏLÙÃ-^ß’œµ9lb('4KþjL/À´î.¥Ó´n 9‘n—H Aœ NÐ'è‚ôÁ z€à=@p‚ 8Aœ NÐ'肳z%éßi]察oìéÊ•JPãê•¡Ö£§v-MËc'7­€à=@pZ7T#¥‹©²å½gÝg*6AO5"…xº”¸_rHp[ÁhÝ@¡Òn5¾´êw[Á¨è©Ì°ÓB¥ŸèÓ ®n )ÏÙ{ĬIÐS™Öbh,šç†uʲ„¹üä è¡ú~ì°wZ¬·vm‡ ‡ ¤´\†Ï_þbp2*³å´KbPÑC5ÒO¥N·eRžC$5˜¡ÆEÍ´n‚ôÁ z€à=@p‚ 8Aœ NÐ'è‚+z „î ´½÷ nE}§®KJ£uœ ¯€ûþKú  €1‚¾Ó«» 0MÐצëý”çõô•éÇqJ|w•þØg‚”絫`z%ôÛ¿¥ Ò@í}X)]{}hÖMeúuýXL/¹…4 ¯Àí݇W·wsªåcžò vg×/Kýð^ãÝÖ×ÕEüÕå›OW—ý¯÷Þ/ &‚ 8­€à̺)T9s3s v‚¾PËãõâæüþâ¦äÖ° ­€à=@p‚ 8Aœ NÐ'è‚ôÁ z€à=@p‚ 8Aœ NÐgQÎ"Â>#÷bJ è3êÖ”ï߀{ï=Z$è7Ò{¡lIÐoJlÏ­w3Œû¨wgínj˜öš<¾|¸^~ıß8¶Í”=LÿY·o¤4‚~gýpïB?^܃/ßýlǶÜ=>öÝé=Fyÿ‘-G§ ÕºI¯Ë”Òǯ}ŒÓònÝØí¶6¶Íþç’-ÇXŽØc¬qt¡‚>F 5ÝÇ1Æñ±/m×Loa:‚OÛæ–c¬Eì1Ö8ºPA¹:õª1ˆJÐWÀ\í-©åkühOl‚~gsƒ{y{÷áÕíÝøþÄ©|'†¥L‚¾J§Õø]Ä_]¾ùtu9Œû?=Š~O?'=¬§gà@ }õÒkü.â‡_ǨCÓ÷­‘ö_·Ú_=bôAœVãLjø±qåiÔרÎJ~³^Üœßÿ]Þßñìmží¾{qìb¨ôŸ_~ÙÔSØ}½'ýïns±O¿e4gÏS^¥­¯V]¾o°½¢ƒ¾^é׸ns5lÿ·,¹Ü®áYô¸Öb „&|ÙÒ9^ãwÖ=%;vVØ’}CÌLJ6 úQý©xÓsÏ—Øk ³±¹:Zy ÿ†×ϸ}ý|lîyíÔøÐ'c˜»šù±-Ôºàp ëãCkœŒÕæ:ã-¬¿¯ÿùçùÓ¿~Ø{/¶ð?ÿå¯ÿùfï½àpôG¥¬3;îŸÆÛÊ=°¶×Bv‡´FZ>=z¾AŸÓtßÎ'˜’ úÙZ¨åÇÇn}|N!î÷¥usÄôEC-ýÓ+ Oª~]¯™³A„(O§O q¿/­V O á¾=++­Æ?¼÷øgŸÛöѯîEÿ6=Y|ÙÇÏuïªÏ^Ç—³þÛûãOÿÔýÇ?ý»Ï%9‰ø- z²Ørýœ‡ëÇ—¿ü>þýóû~êçC¦2ÿ¤ÿ:ˆûmzVfÓDüö=+(§#?Ôõâ»FÍ·jòñ{ô,²¤~ïVýøëOWí?nzk<"~_¦W2[ÿÊØ%ß-þÜ-Ý÷|'oÙžˆ/ŠžÖê¿OßbPEƒˆ/‡ ç¶é¿·VÅ·0÷FÄ—CÐ3jûù3-Ôòâí z¾°ýü™ÖjyØž çûÎo¡–‡½ú¦•0ÿ]ÄCn‚¾Q®_…vú†”P¿ÛôMP¿CËBýô³Ç={›g_Þ½øzßæÝŽc,”»9*)}í§Ù,ï^ÔS¿§®^ÆX»GwV×îN+gáª}+觃ʿý·SŸ_“RÞ°½P}ˆý÷‹›ÃÁütÀ¢fô?=ÔÒ¢!] ‹%›ŠþˆáµšÝ ‹Ãå·öÛÃÓçÏôWŽŽT«§v–cHС|]äõc±ÿõ~{¸ÎâÀÝ××±^¶ô[i‹xÆúQÿú÷‡ÃÇ›ŸoöŠÅµæ¿÷QÝí>®o^^}=Þƒº>Šé¶Oÿ2öÝáÖÒ<)û3ö[Rö‡t‚~ÔðVÛO«Ê={Gë¦||;üåÓx¼¦Äît¤ö¿Û=>½Í±¸Ÿ»‡c‹õu9{Ä0ì¶w—81lµ¶¹€ôíÇýt”OoÇ çÜTôÙ&ܧ?—Ôx1HTGîÃõó›ÃÕ -”½hËìEбeØY†ˆò} ú/táÞïÈ¿»ÖïÚ«9ÓãØw·Üæ*§–_Þ£g–@È´'ÇC|Ëú]æëW£Œ÷ÆZöι¿]Óf_*ú8¹Êºöȹ¿] ïKÐg¤ÿ”@Ðg$Ü;s¯(6œQ€%}"¾ÓE|wîáîp{˜½€ÄôõºÎC@ L‘Ñ‘™à3u!.Êa Aœ §b*}H!è©ÒØéY`HÐS'`a.AOq,¸ëôd7½ºNßôsD<œFг©±(O©ÖÇ›¦¹`Ьµ2¨ºæôljIL‹x8Ö @p‚ 8Aœ}¡úkÙŸêÝ‹5¶c%N¨ /”xÖ¢uœ NÐW`~ý<Ý¡ö7°A_”¸_~HèßßUÜC ‚¾)'f»ˆ_~ wùÍÿ€Ò˜uS™ô@«î‡?;|¦9?‰Š¾cá;Œéþ#ÝOõÿ›òÌ½ÆØÂÊ”ÆX»G'è«”Rƒ§Gv9õ{ Ë–cíj ¯L9¡ ÔBÐWl¬_ß=2ÝÒ™~&‰ ¯RJ]ßñé(O&P#³n*–÷km ¨‘Š 8Aœ NÐ'è‚ôÁ z€à=@p‚ ¸€WÆ^ÜœßÿÝÞ{PŠPAÿpýøò—ß÷Þ €²hÝ'è‚ôÁ z€à=@p‚ 8Aœ NÐ'è‚ôÁýÃd}¡Ü8)mBtEXtsoftwareImageMagick 6.0.6 11/29/04 Q16 http://www.imagemagick.orgÝ<Ž‘tEXtdocumenttmp.tiffý òüIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/switcap_figure4.jpg0000644000175000017500000007103313634703632020241 00000000000000ÿØÿàJFIFHHÿáExifMM*ÿÛC  !"$"$ÿÛCÿÀn³"ÿÄÿÄM  !1"AQ#2aqBRb$38Scv‚‘´%7Crƒ³DWstu’•¡±ÁÑÒðÿÄÿÄÿÚ ?û-SxΡlSþ%îkMô‰‰øºÌ,hæqA§î;ˆ1JáÇ$~™ð=Ü"*s©vתõÛV¯`Í©äjHìÕŒˆ­vJÉ}N}[1—rîÐÐï ¹Ò [=­£|ƒ?´ÙÌÖÅæ… 0ËND,øxf'˜ØÒãÌý¿1>>¤’:*o£Bض^¬íøœ¼ð?!–mq­cC„5l¾¥ŽH»™Çùç óô¸¹w9ÿÙŒ,»Õ×`(ãkdÙü¾¨k½i'aˆÉéú­ô»Ÿ>J ]yø€þ¶«ÓÛ™­;kÅ7âæ† Nëp4ƒ#%ü<0<·åÜà®6bÏî}eª5=ÂQ§cp•nd£Ž­y#µbÁ/†0òÂö“Îî8>ÌP[ˆ¨Èu[YÒ%Ìæz£a»vZ¸œ% f=ì³<’¼V|ÞX\ãÏh'ÙvwÖu#W¦ØÆõÍ,–Nóqy‹5±•Ùä5¦™Òµ²FàÓÝhÁ>9Ar¢­´¬võS{ŠKC“oÖE;PÛ2Ö¥¯u’ÄÁèF×r¬ ðG‘Ï É@EQUÌî;¦åµÐÂïµwë÷Í ø³ŽŽÄ“‘^'ŸÔ=Þ›ËþQo†þây[úǨ˜nˆâò[YÇbv»ù“޳rÍb*Pd–ß',rÁgoqÅÌî>IAs"¬0Ñõ3Ô| +[#vJíKRÚ»ùtQK Í ôØçÇÃ{wËÃAùO$øQì&w©¶³™Û5}×K#V{ÖÖ]ŽXât9‚+'Öõ]ÙÏ--hï5ÀBðEÔ2÷êt·Þ%mðᢵ™’fÄ26é‹€ðÞw {pºº¶{´kÔ¶ Ö]Æ^ˆKZvµÍiþÜ@ Ž ’" """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ ÕËähâ1V²¹;QT£RMby ¹Äý€ 㺛.F®§€êÕ­V7P_”ô…iE÷¤|Fé;ûmSÝÇ` Fß'‚ÙÈ‚ßòžÕ×,F§6j±vcLÉUcc—‰9õd‰Í#È%‘½í?îô\þ’ï'Ó®¦îÛs?+±S8ñm²‚­EB¤Nk ¸:Vßy è$AòOò—t\‡Eö —hÕ]‰ÈÔ¹J1N¼¬í´ÏZI%{žZòÛ-Œ5­È|yX’u;§øÄžÕ&glÅÑc04i8Í/OöKãÿÚh{IÈWÊ ƒôë¨ø=î=šÞ*Jóað×~—ã›ÔŠÓ~9^ÿÚ;@29¤yý¼óç… üO«IÓÜÄZÄ”œÖlÝ(¬yá†w9þ=Æþè êD9àz³ÓœÿUr;vÙ¸âqÕpRK×±¶¥ |n¶{®oÑòqØÏ¨`>Ååku[¨Nç¨tŸ)¶ÙfŽ_3ùŒõ~H¤Š³kZg«k€ïtc–‘åÜy éTAKôOié–';Núqš9ø/ºþ^yþ7×5©ìsˆîp&N\K¾CÜ\O*èDAóöwcéVÙ°ìTz³¬ÐÇ\Åe¥Çã2SÒš3fö†:+Mh"@òáÚ×r{­ª[&GXèÆ=û'°ár˜øêäiIfáÃI$¾“¥ˆ‚÷¸DÐxx.-÷øWº ¡ôéCªØy:2ó(¶ËvzôĬ¡|ÅÌn‘Øö€Ö€{LÃÙpkì]ÞpÃ7ÔMmºöäù&c_R•š×§,{Äo­,m˜¹€]ä–žG¿ÒÈ‚£ÛÌcº+Ž¿¾ÅfÖF¶ÖÊÆêþ¤ÒvÆKšèÛÏt…£‚ÑÏ.ä-þ”ìÞÓÓ¼.wPªÚx;5ÿàu› b5¤°ÇØÎZÒ×4·†’çÏ…ÒÞz•sOÞõL[\gå{ Û_ó8ïòjØ. ì|~Ÿìî|Mï—û}ñíòŽÒ?û/ÿĦ°õ‹Ï·kºü“I\_ÅeàlÑž ÌpöÈÓôs]Ãúoâ÷MÆþ{pÄ·H ×à@_ùç"ëÜãk‡¡ú\ÆC‰ùø><û¨¯õ÷MÔ ½%ÇMˆ}yŒfÎ];£ž_.ñìº Îɲ]Ü2ö.HiGv&;¸Ef:ŽxùÿvF½¿éì¢ß†Ý¨ÏÐúg–¥ 5ˆ+lb™Ž0K躼­cL¡îñ#˜x-g·<ò8!.½Ôèõ#ªázmS")Q¯3?`I$´q€€þèÞ;Køð<Ž|ngz¨bèÕΣëúûò- Ùwv×ÂK\Âç6v9Áìsà¸<(ÖÅ‹Ü2Ÿˆ­Š-Cl§®NÝWêËc.÷ó=¾ÞÐd`iŸ$;ž}”vµÜ`üí¸f[…Ùª¸œ£²‘›óM8±b)l‘î,±ÈáãûG² ÝÞ¡u'2æk¥øØ1×/Ô¨ùjì¦Ä‘ ådaþ˜¬;»{ù#‘íî¶íõk¿³gqZ^€Ìå\¡NíÛY–SŸÓdŽŽ&úo.-kÛÉw`äŽ9òF¶§SrÔ³Óì›þûC%¯M§J¬qS}FÅeó–·˜CžÒ]êFÞðîO €ÐN›lx=~îör³ >®ù%3#˜HtÓC_Ò. |¡Üµ¡ÎàrçÈA;éÞÕOuÓqû5&¯Ƽ: ¸õ!‘trFî3ÇŽZAò u{!_0î›UÃNÙçÉlô¯T|D;þ ]4Ò{þÓ-çþ}ÐZ+¹ìT5]vÎo%ê:(KÈ¢ot“J÷GÕÎ{šÐ>åoÝÈP¢úì»vµgZ”C]³JÖd Æò~gçÂõîXéà5쵨„˜üvÏŽ³{¸rØâõ»=G {Øþ~¼ èê[µûû3µ}£Z—\Ì>©»R?‹e˜­@âÙas;ØGŽñÁpò¦ŠµÝ¤7:ñÓÊœLôkä¯Ý-öÖt-…¡ÇéÝ+ØGßÓ?ee õv×´=n|Þ´lc¾H¶ä $EO—¼ñÀÿÑné9ÆlúfeŠ»«G–ÇW¼Ø\îã–6¼4Ÿ©Ürµú‡^¼ÚNnI ŠGÅŽ²èÜöX}'A>Ç…ËèOþ„4?ú·ŽÿÃF‚f¡»~ç{°3[Ö5çlY¦ÖmWøÆÖ޵râÖ¹Ò8ů g{O%£Ê”Ö¿BÕ»U+]­=šŽklísá.´= òÒG‘ϸP=Rhêuãw£j1›¸ìmÚ’;Á–»,Nhû†IÉ?oT}ÐyØú ktn×Qµì ɲ”rIsnßÂK_Ò.lñ¸†¬Ži½hÞ\ÎÎÖ†ŽÑò8ùç•fô_f¿·ôӟɲ!nvË’BÒØ§1ÊøÄуþ Ûü8{ ’fçÈÖÄÙŸB,…öFL¥±è2W}díwhþ{OöQ.‰îÙ® éu¶œž³_Vó-G’ø·KäïÓgaä{yS•S~2tp¿…ýc1“œW£C ë6e ‘LïsÝÀž'ÂÆÍ¿æâÞ­iš~ýA‘£F+·¦±’e*ð6W8FÎîǹÏ=Ž<ñÀ÷Y5®¤×±‰Ùìm˜·k75R^Ø#c "Vɽ…¤ñòƒÈ#ŽW§Ö ±ø‰êÑHËxL,ð/‹?0ÏÔÞ U2[µÖ«5Üùiãݯ>ôliÇ›=Ÿ<|ß G#ì8úð‚rz¹š©’Ö#Íôç%Š¡´d"¥³%èžözîóø†ÿÚy øVʬ:µ¼þI•Ñ¡­ªâ¶Z¹ì´0ѳ6E±:¼îi,š6˜ŸÜ;¾`[ÇpâVz—TvÛÚŽ#>/ fþK'6µin|3 åîàºNÇðoùW­7/½ä2Å´éxÌVÅÝõ³Ÿç¿‘ò–z1ð8äóÉöö\>·T£›ŸQÖ³Yײ—3mµ±1;Ý%xÞ÷4Æ;´’ Á=ŠÑÂÉžÓº·†Ô&Ü2›V?7Ž·fHò…Öh¾Å¦ÿP´‡óöŸÜƒk3ÕgR“#•«¬Z½¨bl¾¦O7– ØðÙ^ÈHæH£=ÁïÚîÖ»…%êó­èú¼¹üîJ¼0znuXŒ Iqá¥ÍŠ&û½îúÏýʶղøìGá{dfNÉqe¨äkp;ßgÖ˜‘ã—J^×}ýA÷S±3Òè-Z¨ã±’Çë)¤‘€¸LÚ¯pûAöû “é9ÆlúfeŠ»«G–ÇW¼Ø\îã–6¼4Ÿ©ÜrºêПýhõoÿ†{ÂëšÅ>¬l-,ÄólWèU†ý_l³¸Fñ»;¸>O‚Cˆà—rD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDDA\äú#ÓŒ–jLÍÌ^ZL„Ž‘Æq°d[ê;¹á½³€Ö“þð<{# jÙ ¯´Û¥mùlLMŠ”Ã#e­£Ÿ1 c¹äò\ÒOŽyà.vg«½8ÃänPÈí5`’“©LR:$oÆùƒLm“Èù »>Ë.ÛÕ-#U“ÌÖNäG-–¡‹µdNÒ ‡(Ýç€Oiàð9áüz&«}†1f³69ÍŒ©‚̱:y CKƒšàXHöùäû’S§ú.±¡c$Æj´lR§#ƒŒ2^žÃ[Ààú¯whþÀ\¬_W4 ÝØ3£‡L^ÈüV.ÝwÃîáá’D×<|Žý Ÿ ‘/â¥Púþ®o)ÃÂ'Ÿ»^ÈJ3ÏwèxoÊ|ŸÙ¦OõJ[å­æµ ÏÚӚɿaÍsxà7Ò/1€<ñÃ|HòJæå:CÓ¼\ÕkãYrÀ±’íϰñÝà˜ÞÒKÞK .{œA$•7¯,v Žx]ßc¾àŽAQýûwÖ´Ld-¢ôôêÏ;kÆø©Oc™ûZDLqûG=ÊÜé¼SÖ›ò¬¬¦´ÑÏ'Ø2ƃØK9iáÍ‚ð¿zÑNžoNÉÚËá 29C'µZÔÐÖñälo ”³€[ÞÇ ½›ê©†Ù°ÚÖFýˆ²¹¶÷ãàm zà îk [Á#žâ8äÂìdóx¬fG¿v8-ågtbw=ÓHØÝ#€ãìÖ8ò|xã܄ޙa.ë}?ÁëùcÛkM•¤ø–ÀâÁÇsAŽxäŽ<}ýÔ‰y7Eºw.ÊvGâòg*^çü@ÎßrþòÐÜwp{íþ›oÓõ½¶Ñì¸î¯/¯({£–G²Föò<äx+Ô[f».í6—R#Ÿ†“oÉKµÝÂîÐþxí>~€ò9ŽX÷=ËYÓ«A>ŕޙ²òÊð¶7Ë4î’#Š0ç¼äö´ðƒ£ƒÃâ°xjøl>>µuhý8kAlloØþ¼ýù\][§ºf¯˜±—Àà+R»;\Ã+\çzlqtq‡"ap±­'Ï­?tÕ¶ópk9º¹3H±¶„$þ‹Ï w#þSË}Ç@Rm›V×¶Y±sgqP_“q·h™yýÛû^8>xûG·Ø.ê•oÒš•ÚñY­YÏkKÞK»É o=­€‘¢‹äúƒ¦ãvˆµ›Ùêðe${#¹¯ìlã²7IÇcîGkàçsà;Î¯î¸Æc6:Ö¬UcËà ½=nIii0½¥Ã‚|Gð±èZF·¢ã_ŽÖjZ©Qý¿¥5ù솆ŽÖ†úÏw`Ç à) ãaµ]{ žË籘ªõry—Æü†sÝ`±½­ç“Ààíǹ>ë_sÒµ}Æ*ñìx˜îü3‰…âGÄöûšÂÚááÍ燵uþ£iüéÁâ6:vïŸSÓc{ƒgôÏzO 6^Óû» ¸úð¥h#{.‰ªlZ|z†O?!‰Œ”ªÏ%V5okYú.iìàñÛÏÂUè—Nk[§i˜¼¬§b+06|ýù£l‘¼=Ž,|姇4#°-دR¬¶­Máa’YdpkXÐ9.$øªiûöŸ·Z𦻝zÄ1 kØçDO •àÆO³ÛËOÝ-»§:^Ù’fG?†Ý¦Æ"t‚Y#3F9â9{¬ùÈþæù>š¥zôêÅR¤Á^âŠ6†µ€Ð€ú,¨ƒO9Œ§šÄZÅd+ªÚŒÇ(ŠwÂòÓïÃØCšAUÔ_‡þ•ÅŒ8Ȱ™FP1˜fì9aç–özüpy<Ž>¥Z(‚³ô¿FÙ,Ô·•Á÷[§XT‚ÕkSV°ØG‘«ÚòÑö$'îWOMÓµ?6/\ÄCF­‰]5Üé<Ž9ò=ä¹î K‰%w‘#ÒNœbr°dèjtbµVq=G÷¶£ÇüË\âØG€{XÙMÑrv­k´ã7aÅ×ÈÕl•Œ•¾c‘¿µìpòÇ£šA ONÑõ]EÓÉ€Ä2µ‹-kg³$¯žÄ­oí–G9îϹH‘['ÓÍ/'µE³ß×êÏ•ìJâî×HÏÙ#£ç±ïo+ÜÒæý[[Î¯î¸Æc6:Ö¬UcËà ½=nIii0½¥Ã‚|Gð»è‚9¡iÞ‹~;Y©j¥Göþ”×ç²;Zë=Ý€7€¸ø ”zɰufÒ†|qñGW¼:V0‚égäöºO•7åk=Ï>'h€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆ(KxÝYé¾gW½«c·NŸÏ²ëØkÁ™†•ï‘ït.ol²´½ÿ3ÜâÐî; ©ù&TgG²Z†6mŠäû±Õá±o³ ÆØ !ò°|‡»’G<}Öþ ¤»N]¶3ª9kò™~& 1‘>Ã[+œç² ¹&’ç~æÈG>]ߦ¹¬­DjU fŽª£VL7ÅŽá à}f|¢7‘ÛÁò9åîB=ßX¹›Ý´ÖbòÙXìb²¬5ÝΩ™ÛoòCk‹»šxwy ðBåãñ´2tß1 ±Ø¡kWÅמ»ÇÈøÝ%Ö¹„}ˆ$.–­¥îU·ÚÛNÕ½TÍŠ¸ééCR®ÒoêÉËÜ}w÷ép÷+ÎFÚñýYÊnÖ÷J6éäaeY1¬Âúnl:WBß[Ö?3}cË»~n=‚ £†CC#¡­hú8Cú႟cé&ËŠ¦ƺ‹æ¦OølEİ‘ö"F4ò¦h@ ‚Ü¨=aÅìÕ»G§A‘EZt+3Íã6jç'Ïâq™y(â³O#Ô·‰…ÜÈÐ!cÜøýFûöýÁ*+¯i>Ÿ]ò¸n»ôØìn†FeÙí½¦WÏ;]ßËþf‘iñï÷Az¢¤7+Ù}_ñK)(uË”ëC–¡=É_^7Ù™Õ¡–(É-Œ‰[<Ϩç÷×Õ:—ÎѱR nPÒ¥¶[eÂý‚Û¬KZËq2^þæüÎcžoŸ`‚÷EóÞ¢fr[FÔÌoP7Hå×¶Ê‘VmÍŠÜо£"«<±=…ü?¼>Füܘ}Јª¯Ä kU$Ôvˆs™Ü}J:ù(äe¯õ§”Eúaݲ:#çŸÍÿåäñvö>µïfÙêâðø Ð:µ,ÌðÀÛ²²W9Íc\"ôOÈ.÷(.”_9èÚîÏA°ÝHÁnû}½¡˜VäŸW#™–Ý;Î ït/ŠRZÐî8oiiãÏó·°IÛº§¨ääÝvœ&cÕ%Êúv+¡ïi­épÖ½¡§²Wr¹ò}}Š»ènO#~ŽÃZ\µŒæ—}l.VÃÃä·\G2ú¡’:F ?ÄîHäê鞦û¿ævœ„³œF»“›„¨ÙØŸ4@6ŧ´x{½NøÙÏí q»”r*[]Ãßê>ç¾XÌíû]x|ïåXúXœ¬”c‰‘׉îqô»\÷9ғˉöp¢;¹ëúD8û›žÊ.a:‡¼ë”²’UšÅI¬Â˜Ä[Üñ­Ÿ#ßÜ ú]EÔ¬-©:àÃOeÙhÇn+l–½|ÄñÁ!­’"øÃ»_ËÍÈ=ÃÁåDÙÞOÔ- SÊu~¸ü†üÙY¢Ùî1³Ø€Wìÿ#y‘çä}}Š»ÆôâÛúuµ›Ù²—2tïX·Ìü\’[ªã,ŽÞ£É/,cÃw-p¤x]^l×¶­µü¼qE˜«4øü£!F-W•ÑJYþés ‡ðà‚^ˆ©lÆ«¿uZŽodØlP‹b©·—™â­Y#˜J"îq–É„9¼p GøP](¾lÌàögá_[Èd7 Ê<üÖq–mZÛ-Ÿ›v ŽHœàî{C$ 7ž¼û©•Švú}Ô½;…Ûv Äûs×½ŠËäŸ}Í…>O‰Ò$}Žk|öSÈä‚‚áEZo²ØÛº“C¦±X±[;ó|ô•åtrM—Ó‚·{H!²9²—ñä¶>ÓÀwŸ}V‡!w;¤i˜Ì½ü&;'nÀ½.:sæ+=͉’ÜÎ_ÙÉi€|ýÂÈEQ`17p½OÊôíû^Ç{ •Ö¾>»®e$–åI[9ŠS‚}@’2<ü¤xPi ÊGø4Éì,ÛöÑ—Š+9^9Ëq$r>6³Ô/îôûZ>N{yóîP},Š„ëV“™Åhû6×_}ÛëÁˆÖÜ\ó¶£slD%s昇UÎî˹?/•4Òúw.2îP^Ù3™í{/‰†»ñùŒœ÷Éy“ÕptŽ=­{ÁÀãö ±ÑW=.»ÃmÛMòwg¿"÷°ö§y|Ï¡7{[Ž>\øäŠF÷Ioa$žTƒ¨»¶'DÄÒÉæ+dlCs!>6Ò¬fp’gv´¸fýÏöI‘x±(‚¼“9’•A™Ó÷ÍŸJ¯¨Z«ª¶äÙ<}ÈÇmJð¾*ý°@À8qt¿âÀGgñóŽxÚþíß×l®yÚVý;%†¡Ž‚iu‹lfO;ßË>V+OqñïöWª ¨všãhêÎŬM‡Ø`­{Wæå?.•7{åeŽÞÎ[ÞÒ?¹¤{…Õè™èúÈí8K˜¬¤ù[¶¬S|N/î2K½¤‚Z@ù{«%T} ËÍrßß.¹³b¢ÉeÛ‘©.S=FIÂׇ€dhÝÑ»å÷àr­ÄDn®kóm]1Ù5ú§‹WqÒ²«¿Ë0i1㇆ŸôP>Ž õ^‘ì{–Ù¯ä©ç¶V²6±¬©$–˜ÐÁ 1ˆÀï.ôâaãŽO$ð9á\¨ƒçMeÙÇAð:Áh[|[;ðìÆ>|ŽZté8³±ó>YCCšÎIío.w¼î8}w Ô?™éæ{j×5­ZLgxÕæÈ×õI­éò9¥Ý‘¿’<‚Hú¯£Q]ÑáÎìÙ:ýÝgO·ð£ˆ¹þ9Ç åeþNÇó ñÉcÚÒyw¾™JÍCpØ´L£½ŽÊÙÌa%‘öÜ6êËOŽ_Žx-÷í->}Õœ°Z§RÓà}ª°Nêòz°ºHÃŒoãŽæóìx'Èû §5ÌÎC§¶ù[5§íw©f3ŸšãïbqR^ŽVI^&9„E˘æº2>`?þyuµ-»+Ò¼¾kú~Z¹»[°Ú«â,9‘Ï$0Ù‰ÑÂóÉket0ïÇ$@Wò «q³å·žªëû5ÌÆ ®Ó¹ß&Z±¯-‹S†Æ#Ž2y-cZò_ûIs{IW3¨éj~!5-ÕöË”ñt/ÕµržÄõÃìü1‰ÂÒ>Gw~^<«•q÷“©à,fóV›hG/™çÃc£ËÞãÀkG’Jt3”Áôþ#®*å²—me®ÖîøymLùŒ\ýKÃIúTÊÕ*vå¯-ª•ç’´ž¬’0ãø#¹¤þ×pHäyà•Q?‰½_hËlkËaÏ×—ZÍ>¸ŠÕ&š Ïàxk[Íäð}OöD'âš_¤ŸV×s¦Û¿E†®7-®!ŠÌRIÜ#µ¾›<ûžÕJúy¢èšÜ,Ëêš}×`is…/FÀc€=äw7éËOÔ)‚ ¬ö··Oë%=Öé,ÁfqlÃ_²ç|”çŽWI]ïû1þ¬¬.'€{9ã•›«ŽÊc¶=+oÇáòŠ8›¶FFt¼í‚jÏ`‘‘™ü?³ÞOøVªð[­%kPE<´²H¤`s^Óî>þ¨£Ž(™Llq±¡­kG {>Y£Ï’Û:ÓwuþÌb0´õæbê?-EÕ'žgØ2Ê[øx` ˆr@äûr¡Ö0Ûaé5ÞˆÿKezÍ©©70؇åâ„¶'Ä™Iýâ'qéñÜ^=»|¯¡‘oø’šxú+±b¨â3K™:Ы6„¶¤õ»K„`–·ÇÇÀ$}—êÙŠù N¦ZJ÷q°˜9|y*Ϋ,A¾ {$·ÛŸ?O+²±]«ZíI©Ý¯ šÓ°Ç,2°=’4Ž \Óà‚>…mÒ÷;iê>ÏÔxFÍZØ|4ßKÀé_%þ㤕Íaú†w ·Ö-ænžêql,×ogaøè+ÙŽ¡áÐE#»L¤pK€ð@ä—4x‘1ŒŽ6ÇÆ4µ­°só¸>qÔN^„WE-·Y²òZÉ›û_ÛìKO‘È<òAÒDDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDâÀ˜×W1¶nÃé—‚ZÇŽ@à‘Êö¿æµ¥Î!­’Ið WDØ:áµã2w`Èôî°¡•¹,v"ã‹Ý^WF\8³à8·?•ã#ÔΡà.ôêÆÇ„ÅAC`®Æg+2¬Í³Ž›–5òd#Ò–>AkˆÄ»h§NµŠ9|‘êüdu÷ë—ÿ+6ëšR¶‘—ŽÂÑ'Îû½N9 ðGƒ0ÙòúŸS6]oÛM~;%S=Š™’<1îà¶»‹@<ð\Çö‘ïÇ!^-‹©.Êu©³©zxñ‡à,rK˜&g­úß7žÓÛÛóyð<. ¨ýGÆèºÿP÷*ºµÍ[)^¤÷*‚x,ãc°Ä®õ${dc ÛßÇi—yã…¯ÒÌô™<R®f'™ ÅG&÷Æ‹PSÍû½{IÁüòyWóØË?„sOÇÜ«{aØ5ª8Šèfk¦|Òà -CX {(iAôO!CŽŸ#“½Z*ì2MbÄ­Ž(Ú?Äç8€òVÄod‘¶HÜ×±À¹§Aú…êŒ:U~•äkõ!Õß«ÅZ6d?iÍ #³çîïíííù»¸ãÊ’á?/ü–å>åßÂz_³Òí¿Ço ÜDDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@^fŠ9¡|3FÉ"‘¥¯cÇ-p> û…éC?Ù?K?ù´Ó?ü ·ÿÑoÓÐ4JVè\§¥ku¬ã‡m¢ÅÀÇÕθ7–ç½ß/\ãîJ’"]s^³[#ZÎ4G‡ä#’¤nm·2‚8ðÖŽ]Ï€>ËS]ÒtÍnÛí뺎aíít´1°À÷±,h$.ú àu \;vŸÖÝ{à¡ÈGèO/òcéó†µü·¸Ž@$ƒÂêá±ÔñŠXœt ‚•*ñׯ}™ÖàÚDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@ZŒÉã_—~¹ ŽÉG°úbf™›%¢BÎ{ƒIÇ‚¶×͸yËíê+Þ÷A“ÙméÑ¿Ô冩1Íàõšó¡ùïáÐÔêéßÎñŸz^·åßωôÿÏésÝÛüñÂÅÚuŒý»tð[+f‘íµ +±Ìø$pö°’ß <{Mõæ§ÃuŸYÚ©Ãÿ ×p7³Ç/’8¬Ólìá¾\My'hx.»¢±ÐnËÔ»tâ®ÈäÙš[$l Ÿ—ÓpóÇ·ÌOúŸº žOvíÊTò,Z¢ö²ÜL×É]ÎosD–’ÒŽG•Ëfï¦?bþœfÝ€voÔ1~\2P›=àr[éwwsÇÓŽUø~™õº®6i‹øê=–@?ï…¼E~Ñö5§o×Ù£Ç$•>ÂcñÿùNìÓ| _UºÖ:V¿Òopy±lǹ„Ý—gÖµˆ!ŸdØq8X§qdOÈ]Ž»dpÒò9<}ósjÕéçjàmì˜zù{mkëP–ôm±3]È‘—w8ÓÁè~Ë•ÕÝ2¶ù äõù=8íË©B˙ɭe„>)ðÖò>£|_ô=÷:¶Ùê†É…m ñ´Ù‚¡ZP×§Œ‡]”qÿMúM?h‰w‚}gª]2­bZÖz‹¨CË!ê?O$eŽù« qœÖÿ7ƒÑ2†‡ûûû{»H=¼óÁåWÝ_Òu­wA£_Œ…߸c¬K$ÌHçO“òâ9í%äqöð°þ umsXéžW%K^/lج…ˆ#ƒÕ%âÍXˆŠ0>¬ŒÑîIû ·µìþ b£ñÚþk—¨[ëÑ´Éãä{Žæ9YçÉãkäëbçÈTŠý¶=õª¾f¶YšÎ;ËO. är@ñÈåRÝ>Èâó߈‰nëšÖGU‚ž¼öä¡Èc—&çÌÏEíÀ¶.׃!ƒ o±\¬Né:ìw®çšú-ì&88IÃñÒJË@¿§b¹ÿFð}ù 2—§‡¿›ÆTÉ^çàéÏiŒšÇþ› îú±SÚu››vžÅˆ±™¬ §ÇÅv7Ùˆ9.ŒæÈ÷PªÏÄî¾ý‡' Ó¢#‹+ùʼnhN[å–!¡fh ãÉh–6>¼-¾“d1»Wö-š•Hâ _ dkØduÂæŸ¨<€òß>È-ôQ›·wFu'B®&žü|²\È:Çc´;#k9òÒß<ðyóå½ >L€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆƒW.ì‹qvˆŠ¬¹fZ‘Ì…Òqò‡¹¡Ä7ž9 ÇÑ|é@³Õ´\UªØ] õ¶y™K§Ú°'m“c¸?Ñ..'†v–ðõ$yúUW7u½ÖïX0›5ŠÚÙÂVÂO»ÅLg.œÄù bísCáh¸r×@#ƒÀÓºm»é}3ÜðL®"öc+~Gbg¹4¬Ž ß x½W9ÆFG>çÉ"åD=bº”ÕäéÞ_L×tœ~îsvÝnÃM `t.k!%ýÁîq. áÀ} R‹ÚÿVêuk9¸a(èóÓ½F |\ÉÚŽA2Jö½ÁµÜªy8J·Q#§Ýö‹6[û…¬\×ò7…Š)Ýšjµcmxã‡IKA{âÞ9q>I+W¡zÖÙªk7ñ›[pž¬¹KW¡8Ë2ÌÞ,Lù\×z‘°‚ øÈ«Rš–±Öw9°æ~@Êä³w4×låmÇ ¤ˆ ˆk#g€>K‰$’S!¤õhk];­Ýg/–Öíù+Y,–üMJh»ZæÂâ[Û1<Ê+­WºÝ>«ÚÞ¨d¶—k8ü%Zvc’ž#!bsficÞ$…ƒä ŸñŸ ÂDA\uÇ^Þ¶Œ~7©C­šð_«žL¥É¢©^Ã&k#‰àµÝœH#ŸªõÖ}ouÛt\v'¼Ìˆ½Nåßµ3!i‚VMÛ›œà^Îß x<ûøV* ­÷};rÊnº¾×¯æ±¸«´ê:ŽT>3'0>h&BKH$˜ 06BáÁh·Ìt7²ê»Õ½§£ÛÝó×_6; -Øtu#{ZÀÞópôÚß—†žãïÇ+éAWgµî¥årÝ<ÉK¨gÀÚu¬·7¬÷º w£ú?7É)pîíù€ÞV×LzyÔ:‰ºg$ÈÁc™0~[]¥ÆJÍl–&‘ŽçÇ¥‡öðOÇŽŽˆ+¬Ægoˆ v´úÉÄO6b§Â»¾¼œþ”¦nÒ9s¸kcîiàHâÀâÅD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDŠß­ð³|7nÇz|ûwqãŸõYQÏõèu’¾Ù¨k9Ž­ä!½˜Ã[»|AˆÇ9°OÂÆCËy™ÞOùB‘oPõ/Яê ÅŒ>Í׬ÜÉ ”jMÛ1Â_óz‘ÑËì ýÇì8Á»îš¥/ÄÖ—Š·ž¥ è1™ ’À÷ðæÍaôÌŸåý§õáuÿûnµ¯t“gÅæóTè]Ëàrc ™ý®³'ù½¬SËÚ?íÌ´›ÖðïŸÙäêûÙ¶á?6«rLm6îd>©Œ1±v9®ã´—@>*)·uG| Á»f:[´¶å©–³éF~µ~&v±ì-!üD;xâvŸ ¯³ošvkð™³MŠØ¨[ަ¬ê6ùØ’·¦ÈÙÎy îBåu ¥aúy±uRËK6=ha.x5ĵïìéƒ÷ôú”¾-õý\Âjøþ¦äqT-àl\™ÑâèÈ}Zï¯w2Dxïõ\â9àp8)oJ«íÕãËÿRlíÙñòÙŠ\&KÓ®Ã5WA$ˆÖñêðxò8<ðª^´çúU™ëV³_oÙëׯE®\‘ÒE’š©cæ}gÃËâs]ÙÞà ñíáX=Üôì›]¡i9˜ÅêØŠ3$ÙÛ ”$aŽíhàB yyî`‘ì{[éñÚqïä´[ÊŽÒ·úa¨ätlõ<Œ¹ì]»C V o‘Ùxe™òW0·µÇç w$v’îÌBÔÐöz{~ˆÛ(Æøëd©2ÓcqÑ÷7’ÃÇŽAä¢üéæÏ[sÑðûUJÒÕƒ)U¶ ¤°;èHð Ú¯G°Ö:Eªjû{6ïâ(v¼×ÉØ€ ž;¤нã»üÜû+Ïá礘½ RÁÛ¹Ž³[h ¾4žhƒÝÁx™ CÈZßì‚ÙUNÿf»Õ¨u¬nû6£Œ‹ù„²ER¤¾¬¦Ç§Á3±Ü>Ü+YRÝEŸ§?ífyz­¨c[V¶6ðÙŒœ.³VÐsÜe‹´°ÄÉòÞ9=ÎñáÆæNþÓ¾Á›Ønî2Ò…ö¡•õà†I¾P#…¢5§—pàŸ›ê¸Ðå7ÍG?®M·fêeñ» ±FÌ1Ód•Ú‘…ÑœÓËâ.c£=ü»¹Í<ñáD0šµü×M:•CKÆÍ‹×ïÙmJ˜=Hãïtq<2NÃÃHòç]ŒÎÏKªy­7€‚ç©ÌWÌgÛ5Y#8φFÁ!pJé½0É%¡Îã·‚ƒ²ü¶å»í›Ga«®âõË#g}Ú’åïM’<88€ØX$cHoq.ùšæKÒ­¦}»QfBýXéå*ÚŸ’¯»™ªò:)CIóÚ\Ò[Ïžçʃáv*}/Ü7,fÜëU±ùl£óXklªùc²%‚ZíôÚO¬Ùâ~gŽÞ|ñ$èF#)Òí_ÍU–žC;—»™–¤§ç¬,Lç²'}œÖv>‡‘ôA>Uv7zÚ2|¯ªO€·†×ÿ'»4n¹é/Mð³Õhcœ[=¼]ÜIhà+EP›'Tz{[ñ'…’}»(a28ënt¾!²lÖâ'}úoñþéA}¢#ˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆªLÏW³5u¬®åŽéåüŽ¥ŽlîøñŠ9çlDµÒÇaå®ù‹ƒ»[ÜAïî}FÙqSiÌÀiTóhhl|טf0>~Â=ò;ï›ÇŸ ³UnêfߎƒkfÃÓ¶T½‚³+Z Ycm·»Œ­ú íw1}Ì<}ø™¯u&•Ìí7ô“-Œ*<­¸¢ÙËÞa“Õík«ËŸú/ù·ÝÞ‹ Íš0Y1˜Ì±µå‡Ý¼ŽxPþ³nym R3\‡9vb†Ó%È|(’xéÍ%X[=†ÆãN“°=Àxiw´ãždQRØŽ²ínÖìí¹Þš²ž³FÕŠ÷îQÎ6ÜÕ„:)eôL,.c\ÇÚâx€T®ã`›«íÒ£Õ¨»üæLË ¿.tåAèûúŸ/þß7ð‚|ŠœgV÷éó57N¨Ft養Ä#aç×ô¡JC¾Ç¹¤x=Ä‘ãŽM‡ÓÜÎg`Õjf3˜80¶m0KXo|P¹¡Íqc<|Žž§Ç=ÃÉÙYH¢ÛÎÛ6 Þ? ‡ÄœÞÁ“:`@Ó`%’Bdmîhç‚Ip›BÚáÚ¨\/¡c’ÆÛu, kŸZf€î;›áÍs\×µÃÝ®ÇFˆ«Œöû·¡åuKG¡›8ªumY³k9ð|zæNÖµ¾ƒùãÒ>yúû ±ÑsõË9kxZö3˜È1yƒëT†ßIJ3É ;[ÝÈàþÑïÂè "‚çú¡­ã:•€éý{0ä3YKEb&ÔØ(t sÚ]ÚiàK‡€»[ÖÓ¯ªÿ„—!‘ÈYmRÏF>žy>ÞÈ%hˆ€‹Ë5éԚݩ™ x#t’ÈóÃXÆŽK‰ú*°Çõg'}ØŒ½}-ý%—½:YWL=yD®â+«Z\ØïÜ÷5À{| µw©;,º†“‘Ø`Ç~e5QŽ©ŸÑ½ò5ü;´ráç‚‚DŠ#§æ7ëùGóé¼! slVÏ|cËù3³Ðg‚O<ý=¼©r" "©²ýcµ+»DËg5<}¦×±–‚V‡Oú‚7¾¬9ó±Ž>\{Å¥À+d@?tX27iã¨O!n tëÆégžyqÄÀ9.s€òIQN—uÔ6çì`š_G”8øírÛ|EýVx)/à{òp<$PŸ¨Wéfrtu½JÞË ­vfH-2'@\ÏPE]ÿ/ak‹9hÃæä€·³ÝCÂPÓ1{.9–3#6a R µù%osÞâ~P\ç8€ÖµÄû ˜"‡j¥¬–ÇgVØðëÙè« ‘W6[bUË»L‘JÐ;»\C\Òis}Ã3D@EXEÕ‹îc¯âôü…íJþM˜Ø3QL ¥{ßØÙ™iq¯ÝÈõK›íÈMž€Š%Õm¾Ö—­WÉPó1rÞJ®:½WÚøvºIålm&NÇö€]þR¿4üÆý(øv}#ƒ¤!.mŠÙïŒy#†vz àI矧·”äU¶Wªc1k¦d³Ø΃%’¯;L‘ÿÇ6¼GæŸÓòÁoZÞç{bÞqxík˜Æ4柜|Qa«Öxóäa{;\|5½Ï.>ZOðBVŠ'¢ng¯ä°yœ3ð[,Dût]a³±ÑH d±J½¼–´‚Â9– ",7­V¡F{×'Ž Õãt³K!á±±£—8Ÿ ƒ2*®V²ví`ò éîmš®o ÊòŽx3¸ÉÏ¥;«42»¸?;ÜÒ9o-ò¨€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆ(Š—»BÉî}-Þ¥­¯¼[´üj¼V1 µÏ3Ây¤ sšþ@y î<7 c¨Öò{=Ndué£Öïd²Ícf—®)÷ã'yc¡îg<4–ñÈãßé—³¢Ý0ŽÌsũ֋±þ£¢ŽyY îÿ4ÑöL™—Cy馛ºß£bÇܱbƒ{jº ª¢/ C#G<8ŽxçƒÇ< ÅÓy2˜ uOsØëå¶©ÝzëdŒ< ë‹$µÍý¡­–&öò{} r¹ºßü£7?ú½ˆÿâÜ]MG¥ú^©Ÿüû ¼Ü®ú¢{YkvËb{šç4 ¥x–4ò>¬OL´ÜVí>éF…ægl9î–Ãò¶¤k»‹‰›¥1öŽ÷pÞÞÏ€LT©Zû6¾ŸlÔœ’ÇOY¤{µÎa #ûú) ¢¿›ûGÝ&ÝÞXñŠÖqø’ŸNä Ïm ‘î§ì[ǃʓõV½xº›Òù¢‚&I.Á`Èö°<þ]drO×™éú–»¨Ö½[\ÅÅŠýÙoÚlnqõ'‚÷žâ}ø€£ÛgH4§`v{9ÈØÈ‰‘æ®ÂÖ83³–29šÖß(òy÷('ˆ°cêCB…z5ƒÄâlQ‡ÈéÑÀåÎ%Î<rI?Uûz´7iONÀy†xÝsÚáÁáÍ ƒÁ÷ôAóßNõMßréþk]vÁƒÇiÙ î^ ,‹+ò/„ÞœJÁ)—ÓowÌ9ì$õ*~?4jñè²m5ñUžé[asAú–‡´ýø?ÝJ4-#ZÑq¶1ÚÅ)éÕ±;¬JÉnÏc™û̯qŸ'ƒä’}ÊÏ·êZîÛV û2;­'«]ýîŽX\G²Föò<äx()ÂDý#üAä!!õm\Ìú´òÙxèâyêã{»Jµ0™¼f½ÒüW1hU¦Ê4bt…Žw”G ù{Ú?ÕdËhŽOGDøvC¯Å“IUƒü<Äæ»ƒÉäsç“Ï<¨í~†tΆ Ãåi#’eÏß’&º73ôÝ9i´ãÂ6?WdٶܯL÷ÌΫ”¯—}lÕO††ÍInǪèeðæö‚æ9Ý¿B9QíÃ-“ÏþíÄèñ˜ü¥-®®4Ù¥\’Íb|K#ö¹Ã¼·»ž{‡*ÊÉô§y¬¤úÜQß·;§µjµ™«Í;Üy=ïís›ÏøI-úqÂÚÙzg¤l:Æ?YÉa;pØç5õ)Óµ5Hã-ý¾!{9àùóçÏ¿” £SÍåP÷JY‡g²pÁƒô`| äVåѶ\#'Ó{¸p=¥Ä‚xV*az? áó´stñ¹'^ÇÊfªû9ËÖ[Ë\ÞàÉfsIís‡‘õSÔÖJXé~#q¹ Ék6kQ™ÃÀ–;É$`ýÜÇ5Ü}DGì±tÒC{«ýLÊUqv8XÇÐå}˜+“1ëÀ–&æ2>Še·k-³ùfÁeÊÁâF|îñ<{=’0‡±Ã“ó4ƒågÖðxo ޝ¡>œ·†‚I.?É$’IòI$ èªz b Ë©Û~ůu?…0:¾!WV(œËƒßó>xßÞÞ'v<žIñÅ¢7L´m.ü¾[—¥k[<ÐÏ,ÃZ —ÓsD Gî5:#°e6>˲÷#ÈØÆåncF8Ã}JèÛ8hð ‡vü½Áݾ8S¥­ŠÇÐÄãkãqtëÒ¥Z1àŒ28Ú=šÖ-”Uk׋©½/š("d’ì ksÏåÖG$ý|-ž¦M¦ôÛ%r0i~cnŸªïÛ ‰ª¸Bâ~„ö¾1üÉÇÕlí ÐvÙìæ7#c ^$Gš» XàÎÎXÈækX{|| sÉçÜ©6C[ÂduŸé¬]Åz,€Áaî—–´Þ\â\\8¸žîG<óå{—½oý¼g²8h]iø-%̳G‰lË9–¼Dÿ˜6)iGÝR˜¿êK]'¡Ô n—–fÔêð䟺\Ùé2¿¸=âV›ŠÇ¹ÌôKGhÍ£IÓ1[æ7©Y÷|ÔšìU˜jŠ7¢žHãô«¶8ÃØî×òÂãËG<ŽUä¡x”ô÷™‡-‰ÕêV³]æJÍ{¡¬óÏ.†8ÇqòÆ´ùSDÇ[ªQÍϨëÙ¬ëÙK™¶ÚÆØ‚˜î’¼o{š cÚIàÅhádÏiÝ[ÃjnM«›Ç[³$yFÂë4_‰âƒÓ¨ZCùƒ{OîSý«ZÀí8ÁØquò5[#ec%o˜äoí{<±ÃèæBÓÓ´}WQtò`1 ­bËZÙìÉ+ç±+[ûCå‘Î{€óÀ.AóEa±íÚÆÉ·O g/m,»m]»JìþžØ£do†(ã³½¥£¿‡wroÜ lX<G^Þ1xËB9.4âdÒ9­ws%` òxã|³ŸénÎIšÊkuç¹1æÏl²G£À¯\7€ê5Ü)”ldllqµ¬c@ kGô)N°àºƒS üY½¾¾Éf\SŒ®R1Fß2Ž/åœý¸á`ÏG³é^'{Æõ+#š‹г QBôSÉ~•vÇ{ÚþXCÜyhç‘ʼœÖ¹¥®Í#‚䡘”ô÷™‡-‰ÕêV³]æJÍ{¡¬óÏ.†8ÇqòÆ´ùA4PNº·o@~%š“ ùÍê˜ú·UÓ–X|ì1ŽÑàræñ˾QÏŸ²­ ‡ ‰Øpö0ùÌulŽ>Ë{f¯b0ö< ÿ>yú ­éIŸÒz§¬ësn9}®¦Ç¿ˆ‡&È Ô ~ Ž†6vÄOéàGsÙÁçÁ¨qŒÏîØ e½Ó݇+±ü~B*ùèv:•ŽÑLöÇ,|í0¶1;hïà—wr~‘Ô4]SRž{8,CkÚ°ÐÉlË4“Îæ‚Ha’W9ý “Ãyà}ÐØ:WÓüön|ÎSY«-Û<|SØ÷ÄÛ|Ð'c0ãÇ Ô©÷³tÓV½‰Û±X<Äô+ØÈYf=™,9д»ÓâV·´¸’AÜû¬kÝK©…Îþs¾ÓÏ™qv"§^¶ ´œÉËcûį'ƒãŽº° Š(!dFÈ¢¡ŒcZÐ8ìöƒæ²áÿ X­ëÕ,…Iñ8Ù‹$F1¾Œ~kJÏOÔ$––9Þ wq$px è~ì¹<;#=gU–ÕX§|÷‰Î`qiþA<¢ŒKÒŽËž“6ýZ™·%Ÿ‹‘ÏI? ú΀;Òtœ€{ËK¹ú©ªÅð¾âd±=¥¯cÚ×î>áVýc#Ûº ÈØÖí ª¬¾>®Wku²:µ¸] Â9Ÿ‹8<=„9§ƒîÒúÓúK¢j9ÓœÀc²¯¹Îsä“3rvÈç7´¹ì’W5Ç·Ç$8dÞ•ä)âò]I­‘1Ô±Cbžõ·¿€]^X"’)û½ƒ³Ÿú2>Š¸Ò›6'_èns1 áÆ»'í3|‚¯Æ²sL8{~×¶!ÏÕãÏ<+«oéî™¶ä+ߨ°² o¦÷9¢Fsϧ#Z@•œùìxsyóÇ+³œÃb³˜kl¾:µìuˆý9kMtoo؃ÿø €ìïøïĆ—Zk¥Åá2vr%¼óS:B×qàw= LñìU'Xl{v±²mÓèËÛK.äWcnÁR»0ï†g¶(ÙçaŠ8ÄlïihïáÅÝÁÜŸ§5 C[Ô¡³¿‹Ž™´ðû2—ºIfp4¾G’÷p<Iàx “ŸénÎIšÊkuç¹1æÏl²G£À¯\7€ê5Ü ÖÈÑêŃÁduíã€|´#’ãN!™M#š×w1âVß'Ž9ÁJøMö–¡±ÃÜklWlP•”>)z2zoÚG÷K~Üp§q±‘±±ÆÖ±5­Ð/Ô4jÒl:‡áßYêF7È]1tKp.†BvC=_WÏ`wyqxò$/¥šyh<Èö?E¯Ó¾Ì68uºÈ Í–瘙1$™› >›d$’^y÷SÏâŽ?%ªaèߨ¦×Ÿ6ÅŽ.ÃOâÛvº&†ðZ p9À´9x<êOÏéTÖµ©w¾×KcŠ×­Q°:zFýA;]lâ"L‡;žÎ> ‘°áq;Æ9Ž­‘ÇÙolÕìFÇäçÏ?EÊÔ4]SRž{8,CkÚ°ÐÉlË4“Îæ‚Ha’W9ý “Ãyà}GA2¸ÜFræ$Фºíüœy¦Í'˜ÞÛ2Êç¿»Ø=kÇ>8xãŠtò½¼­ÐYóÕ]mdõ]ê´…šÅWšà÷yií!Ïž_ÇÕ[yþœéìèÎeõÊvïŸOÔ{ûƒgôÏ,õXl½§ö÷‡qôáw6 .+`ÃψÍP†õ í– [ËO‚äÈA[eï[ÿoìŽZ~ Is,ÆÑâ[2Îe¯?æ ŠCÇÚQ÷T¦/ú’×Ièu¥å™µ:¼9'î—6zL…ïîx•¦Àâ±îs=ÑÚ¡Á}S§êºþ£~;^ÆÇJ $3L{Ý$“H@òHò_#¸w8“ày\7ô›§NÎ?3ý+HY’‰‘sÛ^I»ƒ½W@é:N@=å¤ÿ(?vüQrYŠÖzƒŽÀÐ14|$Úûn8?êïPÌÏÇŽ?­X­Æ—á§z­›ÙaÏäŽ>i>&¾4Sk`¥ìì?('Ÿª¹WäŒd‘º9×±À‡5ÃAú½³°hSéÙx7üŽÍW9”«›fþ„±Î8õjˆ£k˜#¿‚çÆ»Ÿºœug[Ö6|>ž×˜ŸR¾Z­¨%Šøªd°Çþ”eÇûœx ÷ç‚ÞõŽšhºÖdeðšíj·×2÷½í¬×ØZçÂÓÇ‘h+K­z :®P׬6›j3% ©ç—¿Ö…±’I€°Ž$ –wÀqàû¢"" """ """ """ """ /&ezòO/pdl/wkKrxÉþÁ{D¼ô²ß.a·,•ÑIbÎìDöž,µŒàø=Äp|.¦ÛÕUÎÄÌå.2üõþ&(ëbmÚEþfºœÒ#žŽG>áUÝ=Úó5uÍ×]ÄôÛbØ¥ŸgÍÇíøfP‘ϵ/Êù(phç‡Ãõã•êZ[O6þ’á(`ìm™ûËÚöA®o{»Z]̵¤‚;ÁóásÿNµr-×7“¤ÜFW!²Ìëøvïˤd100¼|¯sØ!{|P}ŠÝÂÊ_gÿªØÏüE´XwÍV]êÆŽÜ“Û°WƒâRJ“3º>.cÜÀÉ8ö8ñþ…G[ך»ñã3ô~4Pò;Þ£§ìsû~y!¬q<xä(¯X+šYnåZ뺶®H;‡|/ÅLËl¾O5Ý) ò šÃôR¾—âñYh²™ U`µ- ³%fŒ§Ï¤÷=ìïoòZ÷õAއ]:ew#> ÖDX’ÜT¸—~6¶y Dl{k /oî#÷e*¯§Xœngjêe\¥8íCß–2Aá²ÅN›ãw÷kšþÊÔAÛ·½_TËâ19ÛÖ+\ÌÍèPdtg˜M' v÷FÇ5§Ï?1>À•úw½\uú ãç;Ë? )NZ" ó/g¦‚?w¸ãßÂŽ~##unŸC³Ä?[XÊÓÍ‘2?ÞJ8úóÇÕcé»›êþÿµž ®§€¦þyÅëÊGþòÉöKö¯¯[ÆP´,ØÈe'ôiS« –iH¹Ü cG—=Ä÷ä€t7£éšŽN,^s0cÈË®ÚUªÍjÇ¥ÝÛÞc…xo>9#ì£Ý?hÊuè¹k®µ‹u=&ýE‡m‡ö/’bOÜ1¿o8´ø“ê4Άc ÷kH²HÜŽPv-uw§µ´é¶ésî8zökGFÃß^^ÞîÙblfHÏ™£ŽGÝdغ«¤køÌ>K-#lË{¨9¸k’:Onk".c#†¸~ƒÁU/Wš"Çþ!"Š ÈŸ†ÇN÷ƒáÒº»Úï~ÖGçëÈû+­ñú¿ÀÿI 9»tÂŒÖ#±œÈq^Ó©É$x+òEë6C`‘°–¸÷Žßò}¹]|Su|®­”Øðc-•©ŠœAv(1“²ÄNícú2µpkמ${|(÷[1Ü/Oñ”ñT¢©]ûv*ãŒx2I’‰ïw÷.q'û«#‰Æãm_µFœUæÈØø›o`ó4½gqþ{XÑþˆ=áòT3ª¹\UÈnQ·e‚x^ÉG ‚>‹iV]kq»GQµªƒ·ØD´ã¶/‰­‰Xß³}Yî>Äx'Ûin–vMj}k3Ž£‡¯mîÎ×±_¾KP–pÆÆî>Rý¾‡žk‚Lˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€¼Xl¯¯#`‘±JXC[Üî<9ñöå{DNi9݆Z¦ci¯žmüŒÙ˜±Ÿ éK4Ž’_ýkûs¼{qÇÕ3ÚN{#ÕÌ&ï_j­VŽ*¤µ?-v/Ôt¬”°ËúÞ¨í$ÆÎ>CÇß•;DL'OgÄu/7·TÙ@ù)íâZ|pÆùœAýO–¼}­#åæO'»ÇÓž¤SߦÛçêv&Å›U«Ó·u~ÆÉR=á­?{\}GŽî¸ñá[H‚tÜÔÝQ»´ÜØéØÃ[ÆŒqÄ_ô¼Ÿ3ú¾~w<þÁàñôådéN.ƒ¤I­Áœ›%'ÄO4W,Có´=İ8wòÑÚ äwpOŽTÍWÝ-ÑöS?°äó›,ë3–¹¡ƒ ð“ˆã¸;ÖËÙGoþyú+†É‰©Ÿ×²X;íï©‘«-YÛ÷dŒ-wÿ‘*9Ñ>œh55”›/=Ê™"Fs_Ìâú€ÍÏY‰–þ:©f±òL#õ£c§UŠˆ =`Ò6MÞ­ X}ºž¥[P\‘’â>-ÒM Ì–"ê³´0r8<ýÂ’æ§Ø1Ú±~2”ÌÛ"cÇH*Å4§€^â{». w“Ç=”A鎦ýK_š·0ÌdmË‘Ë\ííÚ”‚âÑôc@kߣи}R£¶ßßt«äòô«ÕɾÆ]°Æ> j¼=³»KícGw——ü ‹‹Åb¼•ç²E+ ÇiÑ{^,=ñ×’H¢tÏk l`€^@ð>?Ê‘ú{CðñEùmeÂ`-l2nW1uhú!öÇÞ0ÀI#Aoöh>êQÔïMïàLö²ú–*̆Äp_!V›cs«–ƒç¹˜îpþ˱ »¨L&Ošè~G&Ë[ ¼Ì!Ùlc›’Éž#æýì=§‘ìG!tðNêŽGpÓòV‰?d&ÛÖê]•a±1l,s!/-Š8Ë‹¹ïy4ñºn“s+ÕË•°Xù!ÈÖ‰ï{YâfËU¶OߺBýÔ_¥á4ÿÃ^½Õ->‹0Û>/K/bÅg¹ƒ ÖÄÇÏ íµí‘¥ã’ i e3Ðõ ÃQÕº~ ¹÷ šü5ìÄÃj¤p¡ò÷pÂÖv´÷Éa#Áò°š÷R6>’à:Q—Ó$ÕñãéÐÍe,e+LékÄÖ c‚8\óÝ aos‹{C‰ò| ¶÷Žþ B½²áuÛÛ¸+¶jøÊ‡‰¬rGàŸòxðžîc§’Ö>µ™ªÉRYbkß„ÄH°ñã‘ìxû(·X6 ž›ÒÜæÁ€ƒ%ìmOV¼Y ý*ç´ŽC#Ÿ—žÈî<G<©³zÖO[Åä¯R} véÅ<õ^yt{þZI胠ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆ0]§Rô"µ`³^Ù&Œ=¡Í<µÜ¨ ~…gD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDn¢îÔtlTy\®3'f“æŠ5FÄàÉ$xcCžÓåÄ@ sä…û—ÛäÄ2´Ù-W?iíCYÓµµålN–FÆ×ÞHÊ–VÉߨ¶ ޽“Àe0ô-dÖ_\™^ç¸ÃßÁoh÷>äxAÛ«±á-m7µz÷ØüÅ ÑZ³T5ÜÇ…ÁŽçŽ=§À<ñÈ笡M‹&þ­ìšÍêøçV¥Š©~¼õàsgs%’vúrrãÝÛé÷ 3O©[[¥æ(EŒ¯[t²ø(1õß,”¿FYc2‘ r؈w½¥ßâãÈ[¨¡2l™ú]VÂêw™Œ––Ofá’¤l‘K®—æ¸ÌHð>ëO[Úv|›w¬|ÇÌŽ¹|V¯;+KèÌÓZ)ù{=Nîx·Ã¾œÿ,$Un¥Ô–ÏOqEØèb)ëRk¯ÊäCfƼvH{;ÈùG$¬uz¦èèk‹÷µé+çmÕ­.6­€ûtMž.p”µîc^Zq žÞ²ÑÊåñ¸©)G¹wß²Ú•óæiœ ƒ>§†¸ÿ`OÑo*c©¥ÙM˦›ùô¶² {yñè|%¢dÿÞ´÷ZÏbJ òìßÖ¬´ñ‡Yü¼¹ö Ïø±o¿ÃC8íôû<óÏ<ÿo=”,¦Í^®aøjû¹Œ”P²{iƒ åÁy•ìhî,xžOiñÀ+F¾õŽ»C9gË_“gáoÖŽÇ3$2W$sC¸kÛìO?áåC÷œgRõÞ ä·.QÂìu24áƒ'†¹gáç@é¾hîcø-wÀùçÇW£d=­’,†±oVÚkZ„æñvel¥®t-lR±íðö9Œà;å‡ûëk»õMƒAuÄàs61³Gë@À õ¦ˆKÚßWŽv’ÈðÒ³ê­m¯G‹nÂᲓҳ«Rz šË>í^Ñõð÷4ø*­é¯Öéïý$‰Æq9ÏO"Œ³Ó¥‘>¤No>§Ý1\@ä>xòª¾šÜÀꈧ`°ÙüfO¸`ãžI+]l½Ù:ƒ‰\ZÒ@t‘»¼‘Ç%§Â“þ.^èú9$Œ…ó9¹Œk„lã¹ä[‹ÀäÉöò@þPKòÝ\<Õ?©py|[vV+—=Á꿞Æ=ÐË'§É<’@ç’—*§¬šæsªÚ\š1Àd04¯Y÷oÝž³½8c‘²b–Béh¸ŽyäñµXÐÆ5ƒž8žJ Kµq˜ÛY+²ˆjÔ…óÍ!öcÒçô­mg5ØõÜv)š†F´v«¼´´˜ÞÐæòx>GÑp:¡‘ÃÃO…Í_£NžVãc°ës²6:Á’FžóÃû[i𣔩_ ²ôö¾Fµèõ<İR–>¸} ‰–»»¹?G9¾çŽÎ9ð‚éE_¿hÚdëý¼x¦Õ Z+¯‚Bèƒç’/MÌõyý.A£Éûpì8¾ f,tÛ5°3Z³•Ëâ2–±o£Œgs¬I£’6¹ÜñÀï-.$G'ÝŒ£Ú~ÛOfµš§…Xk‚Èm±ÂC$9À‚Ùyçê¸ô7+ú“KKÉÛÆ_›#B{uæ¢Ã t&0øåa‘ür$®ä{8qã“ÀÒÎa»OW€u1‘fzBÛQ9ñÈá­ÃkšG'Ï'±Al"­uÇeÚº{§æ±–0±e3OâìrÒ•ÑÖíkÌÌ ‡DæÉqùœ=™ÝÀó˜ê}{~gV³Á`²Ôt*åÚc9.ø˜öÉŒŽ{㸇Fïà ›YØð•¶ªz´÷ØÌÍÚ²[¯TµÜ¾(ËCÝÏ£‚áàžOž9àñÖP)¶<Ý^«`pic__%ƒµwº8,Á$.®qyikŒ¿aûG“WVèmŒÆ3Ÿ×†^Ìñ2æ¿?0ߦ Àš2×È ŸÌ ðHûµžKX\\@ä4qÉþ<¨^ ¨pf³ù¼?XÏI{,qdï…h‰Ò3½€?å¾|süùSUCi9¬Ž¬½i›«å³om¼|€R}vüÂá§Õ•‡“üÿì‚έ½âÄ™öf)dp'R;·‚»Ä„H×FçµàzOçƒÈãÙ~lö¯a¶&Ãs#ˆËËZ:÷)±Žc~!ìd.psšî×äÇ×…ûF;—ôêûRVv^Þ#¬Ã߇³¼÷±¥¤‚\ïbîöú*ósÏØÚ¿:ŽÉnµzÓäò 2C"6Þ®{Z'€‚îE^[ê$÷Œî¯ŽËa1.Á2Ú³”p"iåaxŽ6 xk{ ŸÉ¿€<ßéžÕé¥ÒØ"Š8]3¥†x£—Ôc&ŠGE køíïc¸w‘Áàr‚Hˆ©=šßX×jX|NÁªCN|5ë5kÏBÓ¢ô™b»A™­œwL;À ÇB ±¨û½­7ƒ¦`ÇÞÙsS¶H¤˜Öªf—Ë#Þ{‹"hi?âw<’¹ºŽõ{£¨msëWåÊUžÅ Ø)é‡BZ_ ¬{œZîׇ5Áß7k¼Yˆ¨|·V7[Yí|ú-Ž6{0ÕÖ²óÊÌ¥Ñ-cÇ/c[êÐðZæüãžGWñ’êV?‚»­å°Ø¸'Éã °ÉkÌgõä´Æ–÷²@ßDò›Ç%½Ã¸r‚ãEÀÒãÜâ«`nwp¬AØš“@ÀÎ<‡ $y'Ÿ¨!wÐ@z‘›Þ±™ºÑà¨cp­ªf±ÏX{D“ñðì {K>_›Ô=À{v•Ø:Ÿ±ßü<¿©Ú…|-[táž{Õ2,’ÌGÐt‘ËnìäúŒù_ì[ôóà.$U~ sÞªnZ¾3sÆëõªí1N*A’WÏJh¡3–J÷|²ÀáËZÞßñãÏRvýÿ\Ìe.T‹L«€Ç×dÕãÊÝtvr®ì.{#xwl%®£¹î'è‚ÒEËÔsuv]W±QlŒ«”¥ È[ áÁ’0<üðWQ×=K?¼jl×ðß–BÓr­·ÏnÃÚA†fÉÚØÝÏ= sÈãŸcÇ™®4Ý’W%R¥k_·Šó™›Ûÿ´æ0ÿ§ mVתfµ÷iêNR¥'á¿$ŽCNyf´#ªéåú@9Ïõ@ìîùxýÎQ¼¯²ZÕºnµ*®öáÏØ‰ÝŽÒË ¡‰òys»_Á'ËϺ»W%šÆ´Ëbã5ìCl‡ú‚aJ0ðïówqÏ?ÊîCw9²ê½BÃ1‚ZØËš7ÜêäÇhBþI qkÚb··Ï'ÈãÏ7[Õw,>Sz¹ Á]¶Û®>*XŒNô"„±ÿ¤ï¬$8sÏ9þ;Ȉ"ƒ´ã¶\Ö[>2íL„º<}—¾Ç2&±Òz­kø'·ŽÞÂ8kO#ÊË«k“RØó;NLW|»+Ã,uÜçG 0úq‡8óÌ’8»µ¼÷ÇÊ™AìhÉÖÊÝDe®Æ³ê3Õþ¤ÁüÅ/Ûåd“7þÐû$ÚOëdEe°Æ·hÍTú““¿o•’LßûCì§‚Ö=5¶ôû1ªá›c²Ôå«%‹vƒ¸pØÝßõñË}‚ëkæèê°T¹Où…X lŠãݬó-äƒãµÜ+¶ˆ*­KÜuÞ©nû•ˆ03õÉIÆ»2‡Uãt~æÜÏøxã<ò¦}CÔ1»®½ùNBI«ÉñÛ¥n=Z–bwts3GsHö ‚9ÁR$A§ó%6ÐÈIƒý’dê¾N÷<½µÜÂÖôWõîö:[akØÍ~Žà1sÃ,ñܹ+e•±µÁŒh8ÇzRy,ã†þå3DïY5 ƒjŸYµ®;Zö -N+V¬½‡å寇µ±»–ÈÇ“ÈãÇ‚±õ—TÚw­" HpÔçuºÖæ’[Ò9¬t3¶NÖñ. “ÛÇ'ÁãÍŒˆ0cßqôØì„ëÙ<÷ÇÆV'ŽZÒ|phûy÷YÑE1´v§õÎ_+SÜP§ð´½ r>Ä?¨ç=ÄšÓê-åôÇ—óÈàØÔ¶ªýo—|Äņm‘Œ¹VKÒµö»dïŽcÄ$5ÍåÍã“È>áY(‚½´EÖû‹+áŸBÆ,["7¤þ”³JÙè‘ó{Ky<Ï'Ùp¨ô÷m“§[v«c)Kc7”·‘‚æ>Ô¯s>"É™ð;˜ØCx&2öžHq 4€­”AYÝÑóómÖw Ü5;XöS©+œÈ¢°Øû¥c½&‚昘e É.ú-7”Ôö=§9´Ï€¡ObÉÃb'3"âc˜Ãháùâ`qqy—†Ÿua­| 9*ާ‘§^ågð] ñ6F;ƒÈå¤| ‚ôÃWüŸmÛïCpO‹“++±†+[–ÚÒ=çû‘÷[¯™ÌEŸÇe¨kÙÜfFgm¾]ÝN'DÆö˜Üó‡¼pYû¸çê¦ÕkÁV¼uëCÆÐÖGCZÐ>€,ˆ+gi{%}çYÉÓ’„ØìlCf±zAjq(¯ÌĈi€øî=ÝÜòßeŠ}+šÖpØ®ž½‘ÉÐøGɰï‹õ¡-q•1‚מÒ9ˆž8ùUœˆ?$/¸ÆÖ¹üÐãÀ'ù<?îU¶ƒ©m˜£n;%è0rTÙíV™ÑÅzRú¢D\y„ 9ŸvñíçÝYHƒG3Á†žUj²Ù1öEóbàø<¹¬qHá§Øâ¬wOwô_YÐcn Ö0òÐt¶]zPÉRheoÐ$únÛàòÿap¢F+WËà¶ÌÆËˆŽ„ØY^\ž>{OlpÙŠ>Ã$RˆÉp- iƒžÀáÚIcr—rÇkØûl†&K¬ÉÄëÂä.íš»ÞA‚ßgòæ5®w>Þ|•/^%†)]¥‰1»¾2æƒØîä}Ž’ƒÚ€õWÚ­nX»N¹‡#Sg491 ŒÅ;á¨×F ïa‡ö‘ùã–û©ò ª÷N—DÕ±9 ¼Y\æµÙ$³5v²z}’ 1<üì¹óÜi‘çNzq“ÃîPg®k}:Ö⩱6kÑ5²ðt“¾6:6?¦Îy$râ ØD´úSçÄå5ü¤Ú>ÉŽÈ[»$V³1Øšz0Í#ÜÈÃ"PÐáÀî·Ør*Yµè6²=,ÅjTs/}ü9¡5K×Ï5GÆö¸ò{Ì1~b|©ê ‡h8Ê ÆW=¹å©¾Åè † f:Y_N›bïåÍ2p\÷—üÎío†°pxåoÅSoDžô™|{µ'c›Tsñ ·ßÉ¿ü½¾8çý™ «wM;o©mغZžlY§ VðÅ#Î;°¼—×í<¹½Íá„–óÝìVN›õV¿EóÝ5ªt›ß’Ëa¼ëVkþ™&–Rb<0µÒ45¡ÎsÉð9¿;Ö:µ”Ût<ᩤ0knš[1Œ•¯Ô|°Éƒ?CØ1ÁÀž9w#Àò32ÙNÙ²dq•ôÌ‹sÒ’ÍÕ–k¸ö˜ÚÁ m‡ÆÞæ€èø.ò’®4A èÖeÖt n³²ŒC¤ÄWŠI±óHñ4FÖ5ïc{^H$´wãÉS$DD@DDD@DDD@DDÿÙlepton-eda-1.9.10/docs/wiki/media/geda/faq_attrib.jpg0000644000175000017500000006255113634703632017263 00000000000000‰PNG  IHDRôo›ÒÁ oFFs^«*±ß pHYsKJòk{eIDATxÚíÝ{\åâÇñYE..ÞJÍ Q‚™‰ÅÒD‰4Ë[G…HJµÌAͼÑO-DA­<¦çxÔÊŠ2÷ì”–šGDEPTT.ûûclÚv—Ýå"³Ÿ÷‹×93Ï>3ÏóÌbûeæ™Y•V«áìé ñÿª·ý‡­Úº÷g¹Gî»aþöö”Ér÷¼´”$iåÎ;ürûΣU+**Z4oþØcžM›6• ·îýù‘ýå¸ï¶îMnáF„?ÃÍ­[·~Úÿs`Ð+º/ÿqÑJ{ýú£GÞ¾s§Ûëæ{µ“ÜC”iç?æ¾øæ"¹{QÔŸRz4PZ­¶²Y1*•J¥R™ØD¯‚ÑrÝ-û÷ﯷAEEEyyyNÎ…ÂÂÂø¯¿)++íÛç©Îí[…r"@Q’6.ñm–¸¬úý@‰«—Ü=’Yý< bOtûÀBÏ|ñlÖ9£/uïÞmãúu¶¶M7n¬[®Õjy´‹ ÿûõg[[[1Çè–ÛÙÙÙØÜK56F÷®ýCyy¹nš4±uumæäätéÒeÝšœ¹ÌÒûCßôßý/¾¹ÈáZ†¶mOqõ~ÿÛù¹†ʵZ¡äÎËù×gœýOÒþEź5_~Î÷µ¡ý7nKþ6ñ§zx@î÷ù{µ“Ô7ÎåÒjµ•%A>rãÆ gggýp#.<ñäßü´ÏÉɱI“&‚ ˆÉF„‚‚‚fÍš™ 7âÙ1ÓTT”‹Ôꦾ¾¾gÏž­(/Õ­Ì™Àz§Ìœpõþø—UÿÄ^z饿tUľ‰åöööµi;Àÿ¹g‡Ný¿U—¯Ý¼WM¥ôÌ“ŸlürÄ þ_ÇUjçZÈ}=Ós¯'ô­þœUê31¦|¿{{ii©ð× LåeeC‡,.)nÚ´©ƒƒ½Þ†ÿûõç'žü› =}ûìÿ1ÍÉÉÑûñîâK[·|]VV®[Y?ÜH©F7ÙHço´Z­Þ•0ÎÜÀ Ù6±yë•ÁO?ùXÉí»ÿÙ»ìðâ_í­Ü›MÐÕóáÆ?ý[ÜÆí7‹ÄS ;vìáÅ7é­ ‚°ósÿõmâ°=Ýœxiò"Ýsÿû߇޸»ƒí¾C«¾Ü]ú×½µÒg‘t^Dd¯S^"gJÊÏü'íÖ²qÞ‰ûb¯¶±­ Ouñ(,¾ýÝö-Ïõ{¦W—¿\¬0l´nˆÑó@†»mÔH5æ%¿€§»9ØÙ8šùá¦%·ïêu¸²:MlO~å…>ݽģwï(©*k˶‰ÍÄQÏ÷ññ!õ—ôµß쑺ª;´ºýµê[[[ûF:—Ÿ*ÊËA°ilc8G¥RÙÚÚøi_Oß>‚ ôêÝWzé?[¾¶··wrr²µµ• „›²²2Ló—pSQ¡mô×Y>œ¹z-p°}“F!ßnRvëí·ßþø«}U7¿ô;áNpð+ã_üÛ¢5ßú¿6+iãñ,ˆJôVÅ¿õ=›Û½9¿8/[UQ*èœðööž4}®Í‚ðio¿Òÿñ5[ÒcóìjÒgñÕÊþ!ë–oÛwü Þ,ÿè_wÕ ‚0ðén[w'U¶î=0xРcÿUÞÄQoó:; †ç wûêÐjþVäÜ;×/O÷úóÝWlÚ£U5ÒípeuÆŒzÁÉÞöµ‰SmÊŠ¦Mª{pŒ¶õZà`G‡q“§Û”EL¥×5[RÅ®ê3=°Z7V«›:::6jôç¿ÁŠŠ ñ%à Å*•ÊÆÆÆÉÉqÿiºÉæÛÍ_ÙÛÙ¹¸¸899JפÃpS^^v÷îÝ?bÍŸçoÄÿÕj+´Â_ògn`…úû>ùNTô­[·׎ÿÚþãßžê!‚½Úé­ÅÿT]>ªui_fç¸1ñèúÅSíï®Õºyˆ[‰gGtOŠH«ëÖ­+¾­ZwÕ6º÷ORü—µvíÚ[×K·Nk·ý°øíW?ýf‡Ö¹míöYøã”ƒD÷,ˆî?ð’2­““cã²[öj§VîÍëÔ.fIŒêÖ?;;aô ¶Íì.kõÿkP—Dï¿EÒª´Ûúõœ½¢ ?WpõØðëÇïNødÃWÚfíu·ª¬ŽÿÓÝgÿ_Ì­[EÚfþ¹ýÇ=|t›0lk@ï'g¿·¤èæMÁ­Ó'ÿÙ·x꫟~³]ìªîÐôO»VC¥R5jÔ¸Q£FºáFz©²Mš4iâää¨Wèää$NÁÑÝð/áF«Õ–—W”••ꜭ)ûã¬Í½’FÿÒ*gn`…š= Îýíäu;mIÉo9—ÄÂÛ· ;wj7aê’GÚ?dog+ˆóK®ß®d²ˆîêµk×n»<"””轚››{çŽ%%ç¿ÔÌÅE[”wÛÆEw'I—ˆ â=;z«–ôY¨|Î^'[¸¹Ü,**Ênß* x©¯³cÓo¿ø·ôê þ}WoIÓ6j¢»«º< •íMZpsvú$fTA«Õjo]½m릻Ueuš= ¾|.ãŽc»ŠÛ·Ï_¸XYÒ‚‹“úÒ¹·Õí´%%ç~¿èâì¬-º"vÕph,'ͳxyôiÉ†Õ ÏÜ”—–ê…ÝËRÂ_ïÎâÌ ¬ÐõÂ[-ÝÝ.5qUëæ÷&ÒÚ«¼=æßñ;ÿ7¹øæU{Û&_ýµJ[aø÷½ñU'WÃW[¶lyÑÆUT¶p-¸Y¤Ò–émõ⛋T¿ÁA´m{ê­ZÒgq¡²97ºÍ ñæèÉsB#›\š=ߧǸ©ï^É:&¾Ô²eËØØØÏ·&ÞUÿeus@Ê+*ììì´j'AœÔz{“ nENŸz5?_Ú§JPé5ZY‚›·Z5w›6ר…÷°çžùrËNÁÖÑNç Ä÷? übÒá•‚º¹TX7dÕWßO ô ,¸Y´ùû}}ŸzÜh+ÿÑl\Ñeé;\]›]¸|5~ç^‡Û¹Ò Qeuâ~šürßM+æß¾ûŸÄ{uë,üõ„^[›vÿ÷áÏ|;GP©öLÿê‹ÏuóÊNY ”Ù/ÞÖ{öŒÄ§û“}ûùݤ[·'T*U£Fú'{¤¶¶nùÚÞÞ^œA,‚4¿¸°°ÐÞÞN 7*­V+~qæµk×6}ñuøôéׯ”–ŠsŠ+ÊÊJKKË´Ú{ÉfïÞ7W—ÇŠ÷öß-+¥­°-¾ÔèÎÍ6mÛEEE…-iÖY„Æ¥…MŠsUå¥ÚF6¥ön¶Å—Åù+6·ómŠóUB…ÑU‡kº7ÎH«×2J›¶°)¹ª´eMœJÕ­U£êõ×DŸ®éu®Ôú½í„FÚÆ¶MÔenZ• ö7Ï•:4×»=ªqi¡MIþ:èÖÁiT~»IÑÅFåw´—9¸7¹e¼AlJòmeÚÆv¥öîå¶'ãu´Mn]j|÷¦ j\æàÖ¤8W¯«zm©m“[—ݽ)B¹í¥M[‰]ÕЀœ>˜œ¼u£´ZQQQRRRPPP\\¢5ˆ:Tª¦Mš5k¦V«u˵Zí;wŠŠn•––½å»I“&ŽŽj{û¿L¸—Ú*++—f ‚PZZZXXTXXhcÓXj+-%é/áfÑâ%MÕŽwïÞ)++OÕˆw…‹ÍkµÚÛ·ïŒ |î¹bcý‡½öø³Cå>Ú€ Âþðåî4›Æo¿xáÒåõ«Wj[w“»S ì3€úãXê6Ýp#~Á;wJËÊŒÖobccô²”x¨¬¬¬¢B?Ü4j¤²±±iÒÄÈ×/ˆm ‚ ÷õ eeewïÞAjë/ß îê껤ªCåâ1¬SvÎÅOæM°³³ûñðñÏ7¬+µq,«÷ÿbŸÔ[â³g*›RcBãÆõ²KµÛÏôHW£þ,—ÎÜTÇ­Úº÷çûxä€zÌí¦-›©U*UañÝ y7*Ì]~®bŸÔÃüíí)“åî…y¹,ÐÐ¥¥$Õ`r"@ýC¸Šò—¹9áEÐÀ¨Tª3™éÒªþÄcæß€$-%I¯„ËR@Q7@Q7@Q7@Q7@Qj-Üxxz×q×ë¾EpÿÔÖ'{MÃM}Hõ¡õ§X¹ª}™§Þç÷™ÌtÝgæÔÔ`ºéUOïj÷'3óô’˜Ø_á©>³fFxz>b¶ŸºÍÝC@Cdô¹&ÓURåo*¯›nÕqPøí·ì1¯…N›:eåŠe‚ ìØ¹{Ìk¡_µéá‡ÛÕe7@ÍÕþe©òòòe±ËÿÖ«O—®>S§EÞºu«¶úz÷îÝYïÌyü Ÿ^½ûþó_ÿÖëƒô¿Õ¸<ôáG«Æ…¾8ÊÑÑÑÑÑ1(pÔ¸Ð×?üøÒþ׬]×Ó·ÏãOø¼3{îÝ»w6'-ܹsçÝ9 ºuïÙ­{Ïyóß닾ø2þY¿çózbȰ¿Ÿ<•)–§¦í4xèc^O<ë÷ÜWñßÔÖá ~2Œ~òZ®öï–ZýÉ?ÏØ¾uóŸÒìííb–ÆÕÖžW¬üøÚµ‚TMâ®[øEïUñdOõ®”ý÷ÇŸ†yQ·dèüñ'iõ—_îÞ¹M³7áJ^ÞÊ?6Ý\Üò¯\¹²7ñ»¤„Ý¿ÿ~aÅÊ¥—~üiü—ŸÿzhÿsþÞ}wžX9cöÔ·ß:zä—/7}zôèñZG¨W,‰ †Ÿ¼–«r¸ÏU˜8AòÍæoçÍ{·U«–jµzFäô= ‰Õ¶n+RCÛ¶ïœ;çWWW77×¹sÞ©Å£\PpÝÝÝ]·ÄÝÝýÚµiuÞÜÙnn®îînóæÎÞ¶}§é½íع{îœwÄúóç¿«[Ñÿ-hÕª¥ƒƒÃøqcÓ3Nˆ…öövW®\ÉÏ¿úàƒ­ß_ü^-Ž ¹è}”ëÆK¢B•>yõÔþœ›Ë—sŸøçY•JU#b´•üüü6m—Û¶mSÝVÆÅÅ9??¿eË–ºm¹º6“V¥vÛµm›——ozoW¯^•º÷p»vùùù: ¹ˆ öåååâòªW~¼jõG¯¶··›?ïÝçüÔâÐ…Ñ Åâ‚%Q¡JŸ¼zªnÌjÑ¢ù毿РµÅÝÝýÂ…q’ï… 9µ¸çÞ¾½¶mß9!lœT²mûNß^=¥U©Ý߿м¹»é½¹¹¹Iõ³ÿ]®wYûÉ*ARÓö½3{.á l–D…*}òê©ý97¯ž37*;û÷òòòS™™S§EÖÖž‡yqñK ®]»¶øýhà ÎΜÍ:W=O™òæ¿Ömøò«¯‹ŠŠŠŠŠ¾üêë­Û0eÊ›R…ÅïG_»víêÕk‹GK³s*knðà‹?X"Ö_¸èƒ—^|ÁtëÓ#ff;WZZZQQQVV^[‡ €úÉ’¨`ô“×Bµn&NߣG÷1¯…z?Þ}úôYÏøWc'F¯ÒM}{r3—>Ïú¿ðâ°§žêa¸UØøqÃGŒªÆÝR;tøtãºÄ¤½¾O÷ó}º_bÒÞO7®ëо½T¡GŸAƒ‡öëÿœ››ëÛS&›n."|ª›««ß€ýý¶jÙ*|ÚÓ­÷ë÷섉“»tõ‰Y·lI­¿#Ô+–D£Ÿ¼RiµÚ³§3Ä•NxIËÔÙC‡€PÅOÞ´”¤Ð S¥úi)IU˜scôŒH­êWvÞåþÅ Ógzˆ5T‰ì¬U7Š|6±,- `²°Öþœå‘ýMÀªÔð“—p…p…pEBqZJ’Ü]¨¾¿„›ê}@ýñ—pÃmA ¡ûK¸éôˆ—Üý¨•J¥{‚FÎ _¿ÃéÂFžPlUçoĬ÷õëåîˆ f/X*wêŽJ¥Òjµr÷jDïü„RUéC9ì醅ƿ~ÁJÎßèf½w£–ÉÝ:•—{Q°¾7ÚJÆ @‘¬êvf ÿüV©TU7Ö)a×7rw‚ŽšH{<Ä( á( áÔwžÞ–W&Ü€zML6–ç ¨¿t3…ù†pê)Ã4cI¾áVðš <²²{È”u‡¹ø+¥˜GH™ŽÂÆ Nõþ Ì™›ûHI±F¤¤yOï3™ég2ÓMœðTÒxÀzn`ít i€ËRú¤kIº×›ÄBAçdŒT¢·¡P•6bzW¯ôöcajH<¡·,ƨì#¿z[Õ[–\„j¸£ëA¸1BJºÿ+¾d´DøëÌ›Êfáèå!)»è-îÇlîÓq0 .f;õî]…R'õ.Q5ÜÑ€Ôä»´7µÆð\Ž£)İÐì~,¬SsUzbR ·ªcbŽ©F:i£€†N¥RÕdsÂM­©•3(F¯=ݧ¶tIöºW—tÏRTiWµÛ·zEÙ£€zB«ÕZR­² D¸©}µr©ÈÂs3÷õ²”È’dc´Ž²/Ü({t »š|+8áÆ8ÝÄ Íù•ÊuK*«#›ŽcI»º3ˆ-ìO­Ð»R#M@щ"MU«ÖÑ­Üà>ûõFgb¼ qt`=7úôb„aaMJªÔ–ÞübÓý©zغAÇh ëÔO&ÆR¥@}Ãsn€¢n€¢n€¢n€¢n€¢n€¢¿¼&_è€ÄÚÞhk/X'#ᦆ_èÐ@åå^”» uÍÚÞhk/X-#áÆÚS6ñ-ASƒåîH]óóó›7ožÜ½TA§G¼äîÂýböû,g$Ü|ýÅz¹X×4Ü]¨k~~~&99YîŽÔFãçç'w/ F¬ðÓªzŒÏ¹y7j™Ü«#y¹Ås6~©2p `•~·Ôýþ®i€û[Á€¢n€¢ØÔ|Jò⛋äî‚;ÿ1Wî.Ð`pæ( ᨵ{Úý¸£­æûlp÷Ù™íp½Q½íX=ı‚! Բû÷qË9` ‹ÂMÀà‘fKãÉÎNyeËÊw¾\1ýµ¡86Ëwþcîÿ½¤÷i6ÌS]<¢§‡üçÃÙ_.˜5n„›‹“X®v°Ÿ5nÄæ³¾ˆ™þÊà¾Ò†*•0vø€øØÈ¯–E¾6´¿Þnplºáý·™js_¥§§wêÔ©þìGÞ&di«>´{Ÿ:Víçf™mNÚ³aÊ‘¶MHHppppww ÉÏÏ—68p ^ߤýìÚµëÙgŸµ··wss ÌÉÉ˯_¿èèèØ¼yó¨¨(ݞ̚5«Y³f®®®³gÏÖÛm~~~Û¶m‰b‹ùp0xd®otÓŒ‚“ #ü{mK>ðÊŒØIï­¾Ur{fèp饛E%ƒŸ}ÊèVÃôüOÒþWgÅ…Îû(ûRÞìñ/‹åo ºSZ:v·ß[Ýʽ™¿ïbùÀgº{wjûÆÿ}òæÂ5{>ÐûIݽ½2¸ï÷ûË}$.111  þìGÞ&di«>´[ß:V“æ¤mcccÃÃÃóóóOœ8áââ$Õqww_µj•ÑÍ—/_‘››{þüy//¯‘#ïýwþÍ7ßtppÈÎÎ>uêTVVÖúõ÷a¿víÚ}ûöedd?~<%%eݺuº{‹ŠŠš8qb7@™p#&A¤|#•(Õ¼¾8˜~ööÝÒEŶ&{{´“^ZÿÝ‹}{´iåf¸Õœ•›ͼUr§äöÝoêØ¶•XÞóñGþµ9±ðVIá­’nNèÝM,гëg;R®Ý(ºv£ð³íš½ºJ»jÓÊí©.[’öË}$.11ñ¹çž þ–V¿ûî».]ºØÚÚ¶oß~íÚµÒ«qqqmÛ¶mÔ¨‘Þ~$·oß svvvvvž4iÒ;wÄòÒÒÒéÓ§7oÞ¼Y³fqqqbaVVÖ!CœœœìííŸþùË—/›èjIIIHHˆZ­nÕªÕÒ¥K¥®–——Ïž=»E‹M›6 ,,,Ëïܹ3vìX©¾´CJm¾ Ÿ|òIûöímmm»wï~ôèQÓ;Ô;\•õSïíX½zuÇŽíììºté’––öé§Ÿ>úè£vvvO>ùä±cÇLäʆl¢io·Ù¢R©–,YÒ²eKµZ*uCzkŒ¾é–ALìYú_Ýß^iÛ={ö 4H­V7oÞ<::zß¾}RU«V­ZµêäÉ“†¿fIIIC† qvvvrrš1cƯ¿þ*–ïØ±#..ÎÕÕÕÕÕuÅŠÿþ÷¿Åò7.Z´¨uëÖ>øàâÅ‹7lØ íêäÉ“»v튈ˆ¨ì_ß}z—I•çÜ(;Ùèy²sÇ“Y¤Õ[%w>þbWÄkÃlWzÜìm› íÿ·ÿ:oý¯œ?Ø\\h÷`óÓ¿]—Ïd_’ÊA7â¹/v¥Ý--“{ôJv÷îÝ~ø¡ÿþ&ê„„„¼÷Þ{………iii¿üò‹T~ðàÁ_ýµ¢¢¢²ýÌ;÷âÅ‹§OŸÎÌÌÌÊÊš?¾XuìØ±Ã‡geeýöÛobá!CÂÃï\¹’››Û¹sçððp]7oÞÍ›7ûí·£G¦¥¥IuÞÿýC‡>|877×ÁÁaÖ¬YbùüùóóòòΟ?ôèÑ””©~eê¶UÙð÷îÝûÃ? 6lüøñfG¡{¸*ë§ÞaLJJJMM-(( üðÃ6mÚ899EGGoÙ²E,ß´iÓŠ+š7oÞ¢E‹+VHõ+kT·­Ê†ÿÉ'Ÿ´iÓF­VGFFJÜ›…î᪬Ÿz‡qíÚµmÛ¶mÚ´ixxxQQÑêÕ«ÅÕˆˆˆC‡™>È• ¹²¦M¿Ý–•+WŠÝX¹r¥Ô ‰Ñ7ÝÂã`zÏ–üJ9r$22rÍš5º…}ûöíß¿¿a©T*GGÇåË—KGoРA3fÌ((((((ˆŒŒ,**Ë‹ŠŠÅe'''éüÓÞ½{srrÆŒcºÃ÷ã]$͹äîjêòÈÃs&Ž\²nKΕkz/}¶#åÉν:µ5ÜêÅ7œ³3å—ic^KV}ùSS‡O?˜öÉü7r¯^¿YT,–—ܹëðGÐijo[òÇéÖñ/û¯û6ɪ¾ÅS†×’ }ûí·‰‰‰>>>íÚµÛºu«TÞºukÓûÉÍÍíØ±£¸Ü©S§ÜÜ\qùÒ¥K†sE÷ïßß·o_GGG•J¥V«¯^½j¢«—/_~øá‡ÅåöíÛKurrr:wî,^¤hÕªÕ•+W¤ú:t—¥ê¶UÙðÝÜî]–mÚ´iYY™ÙQè®Êú©wu›¨¬ÅÊreC®¬iÓo·%Dj¥cÇŽ†W¾éÓ{6ñ{"JMM>|x||¼§§§^å… &$$üðÆûÑjµ7oÞœ2eJhh¨X²zõêk×®=ôÐC;wnß¾½U¥ SXXèätï.ŠˆˆˆeË–I×m+s?Þe@b>Ü$ìúFü‘»«u§×Œ±Ã>øç·g²/¾ZVV·qÛ”àÁö¶†¯–ܾ»%i¿gû‡ÄÕ›EÅ‹×~3bjô«ï,Ï+¸y4óÞyéì‹y<|ï?úíZÿv1O\îЦåâ©Á;ÿ1W¼UЦîÝO›ââ{¡S÷Sù©§žÚ¾}{^^Þš5kÞxã ³û‘´lÙòܹsârVVVË–-ÅåÖ­[geeéU9rääÉ“srr***nÞ¼i˜ku›hÙ²¥tiãüùóRÖ­[_¸pAûñ ­Zµ’z¢[¿²FuÛ²dø–Ât?-Éšäʆ\YÓ¦ßnKˆÔܹsçZµje8dÃ7ÝÂã`zÏ&~OAˆÞ¼y³ae[[ÛO?ýt„ †sAprrŠˆˆøùçŸÅUww÷-[¶_¾|¹mÛ¶~~~b¹··÷ÁƒÅåC‡y{{‹Ëÿûßÿüýý¥ù@5¹aªªï2 á²”¾az†0÷ÃMF“(ûRþwûM5P*‰|}X»Öî5ruv â'ÍÔ™òRsWgÛ&6½žx4xpß/wß›'±÷À±1/õsuvtuv3Äoïþ{3_|s‘ô#Ôׯƒhè N:%MDèÖ­Û²eËŠ‹‹srr&Mš$U >uêÔÝ»w+**¤?%MìG2zôèéÓ§çåå]¹reêÔ©Ò½*¯½öÚ”)S.\¸pãÆÈÈH±°¤¤ÄÞÞÞÞÞþܹsÒ–Êš ŒˆˆÈÏÏÏËË›>}ºTmÒ¤I&L8{ölYYÙ±cÇ¥!LŸ>]¬¯;Æh£zm™¾.Ó£0ÝÏÊ£i•äʆ\Ù!2ñv[x@ÂÃÃÅnL›6-88Xo·Fßt ƒé=7kÖLš¬·m\\ÜÌ™3ÅóL•@//¯I“&M™2E*yõÕW322ÊÊÊ.]º4wî\iocÇŽÍÎÎ.))ÙºukTT”4ñ%$$dîܹ—.]ºxñâœ9s^ýu±\«Cøë”ªª¾Ë€¤ÊáFºD¥ÔkUã_~®¹«óêù“ÄÓ';ÿ1Wš(£kGÊ/ÍPK«ûžš:bˇï|øn˜“Úaɺ{ÑOœ½;cì—K#^|¶Ç¢5ß\¸|ïÄÀ÷?J?ûûêù“VÏŸxüôo ?þ*÷¸­Hrrò3Ï<Ó¤IquíÚµ[·nuvvöõõíׯŸTmðàÁ/½ô’Z­ž5kÖçŸnv?’Å‹7oÞ¼S§NmÚ´Y¸p¡X¾`Á‚Î;?ñÄ:thÓ¦X¸~ýúˆˆGGGÝÖ6±páBµZÝ®]»ÇÜ××W*çwžyæ™4mÚ488xĈbù{ï½çææ&ÖïÛ÷ÏÇ,mT¯-³Ã×ez£ý¬ì0šVÙA®lÈ•"o·…¤OŸ>]ºtéСC‹-tcâM·ð8˜ÞóÌ™3Ÿzê)1.èm‘íåå¥úƒtýH×”)St¯v :4((ÈÁÁ¡[·nW¯^Ë{÷îÝ«W/ñò­[·>öØcbùĉŸyæ///ooïgŸ}vܸqUzïÇ» HTZ­öìé q¥Ó#^gOg|ýÅúw£–YÉu¨'{<=*0X£Ñˆ^ÔÏ3%µ~qJ¥RùùùI£¶F:>iÒ¤Î;O:µ†û¬­ýT¯‰“'O¾ð †—<êópêU»µÒ1•JU[ÿˆ,i®¢¢¢I“&åååÕØÊ ûŸ2å‘ÒÈ×_¬Ÿ½`©´Z™´”¤Ð Sór/îØöMè„©g2Ó¥r.KÁêTc†Ç}ÝO•š/((ÈÍÍ1cÆË/¿\KCi·¾uÌ’æ~ýõW£“oêí1äb#w€ºvöìÙzµŸ*5áááñØc6ÌðRE=N½j·¾uÌ’æž~úéèèhÙ» Ô„ !™ùä“ŠŠŠZ?2r €\Ì„1Ê‚@”Â$&&>÷Üsâò'Ÿ|Ò¾}{[[ÛîÝ»=zT,¼}ûvXX˜³³³³³ó¤I“îܹ#–«TªÕ«WwìØÑÎήK—.iiiŸ~úé£>jgg÷ä“O;vL¬V^^>{öì-Z4mÚ400°°°Ð°éï¾û®K—.¶¶¶íÛ·_»v­øê;wÆŽ«V«[µj¥w&cÉ’%-[¶T«Õ¡¡¡RôÆ"ñððHOO—?ýôSqáøñã&F§Ñh–,YÒ¡C‡Æ7oÞ|äÈ‘)))ÂgtÏeee 2ÄÉÉÉÞÞþù矿|ù²X^RR"õ_ªoâ€|÷Ýwîîîo½õ–««ë÷ß/•[x¨U*•Ù#SÙ¸„¿Îj²°9ÝãlxBËè‘1<€Ò‚‰ß4£¿™ºJKK§OŸÞ¼yófÍšÅÅÅUi &~Ó€†®ÊsnĬ4hwïÞýá‡įÙaïÞ½?üðCAAÁ°aÃÆ/Î;÷âÅ‹§OŸÎÌÌÌÊÊš?¾´yRRRjjjAAAPPÐàÁƒwîÜ™””TPP0bĈ°°0±Îûï¿èСÇçææ:88Ìš5˰é÷Þ{¯°°0--í—_~+ÌŸ??//ïüùóG•>€EiiiÇŽËÊʺtéÒ‚ ŒŽEòüóϧ¥¥ ‚=eÊ”ââbARSShbtO?ýtXXØÿûߢ¢"ݽéžK† ~åÊ•ÜÜÜÎ;‡‡‡‹åóæÍ»yóæo¿ývôèQ±¦ˆ ÿøÇ?&Ož,ÂäÉ“W­Z¥Û®%‡Ú’#SÙ¸ôXØœiFŒá”˜øM3ú›©+**êØ±c‡ÎÊÊúí·ßª4¿i@C§ÒjµÒ7IuzÄëìé ñÅéÌÞ²ájC”–’:ajrr²~¥¢µ}‘¤ÞxSSSgÍšµÿ~AT*U~~¾››› ÅÅÅÎÎÎ¥¥¥‚ <ôÐC)))<òˆ §N0`À…  ë«Õj£›·oßþûï¿ì±ÇAÈÍÍ}â‰'Ä¿àu›n׮݌3†Ú®];©omÚ´IIIϯœ>}ÚÓÓSü8T©T§OŸË333 ðûï¿ëíP¤R©´ZíöíÛ¿øâ‹¯¾ú*:::..néÒ¥¯½öÚ¨Q£ÆŒóÒK/U6ºëׯ/[¶l×®]§NjÞ¼ùË/¿¼`Ágggi·FoqqñÃ?œ——'ö?--­cÇŽ‚ œ9sæ‘G·ªì€deeõêÕ+;;ÛÞÞþöíÛíÚµ;pà@‡,?Ô–KÆeysºÇAwsÃã£{d*ÛÐÂß4©ºÚ¶m›””ôè£êZ8Ê~ÓPŸ)û?ÝRöøú‹õ³,5û5—â‡x^îÅÛ¾ 0UÊ$i)I͹1œ>¬€dk¦wGüï¾ M›6-++—sssÅOhA:uê”››k´~e›çäätîÜY¼ ѪU«+W®6ýí·ß&&&úøø´k×nëÖ­báåË—ÅvA¤½ÕŽ;J—Œ^“¡ÿþ?ýô“ ›6mú÷¿ÿ½~ýzAöïß/žÉ¨lt...‹-úõ×_oݺõÝwߌ9Òè1ܿ߾}U*•Z­¾zõªÔÿ‡~X\nß¾½T¿²²zõê¼¼<•Jåàà——·zõê*jKŽŒ…ã²°9Ó*;2•±ð7Íh.]ºdtrº%1ñ›4tæÃ4}X*!Ù ¡«,èjÙ²å¹sçÄ嬬¬–-[V©‰Ö­[_¸pAšØ+Í“Õmú©§žÚ¾}{^^Þš5kÞxã ±°U«VR»çÏŸ×ݧT~îܹV­Z™‹££cÇŽ¿ùæ''§_|±¨¨hçÎjµÚ’Ñ©T*//¯U«V¥¦¦àÈ‘#'Ožœ““SQQqóæMéþ–-[J×Gtûoô€Ü¾}{ãÆYYYRyVVÖ† nß¾]¥£mù‘1;.³lllÄk|‚  .•™ÊÔä7­uëÖYYYÕˆ‰ß4 ¡«òœ’ º‚‚‚S§Nùúúš®6zôèéÓ§çåå]¹reêÔ©AAAUjeÒ¤I&L8{ölYYÙ±cÇ ›>uêÔÝ»w+**¤¿§ƒƒƒ§OŸžŸŸŸ——'Md…‡‡‹ý™6mZpp°Ù± 8púôébÍW^yå­·Þ'ܘ]¿~ý¾þúëÜÜÜòòòœœœ¹sçöìÙS|©Y³f'Ož”v^RRboooooîÜ9Ýé bÿ§OŸnú€|õÕWO=õ”îiƒ:ôèÑ#>>¾JGÛì‘11®ªêÖ­Û²eËŠ‹‹srr&MšdX¡²#£w%ÕøM“&#¿öÚkS¦L¹páÂ7"##«4¿i@CW‡øIª¸ Qrrò3Ï<Ó¤IÓÕ/^ܼyóN:yxx´iÓfáÂ…UjåwÞyæ™g дiÓààà#F6=xðà—^zI­VÏš5ëóÏ? ß{ï=77·víÚ=þøã}ûöÕÝgŸ>}ºtéÒ¡C‡-ZDEE™‹x«Î¨Q£A ºpáÂóÏ?oztQQQ_}õUçÎííí{öìyýúõ¯¿þZ|iæÌ™O=õ”ô±º~ýúˆˆGGGÿ~ýúI.\¸P­V‹ý÷õõ•úfô€¬ZµJ:e%yã7ô¦›eöȘWU­]»vëÖ­ÎÎξ¾¾º—Tvdô ¤&¿i ,èܹóO<Ñ¡C‡6mÚTi &~Ó€†ÎÌ„becB±Ü½g¼“&MêܹóÔ©Së¾µÞ´Œc±ÄÉ“'_xá…j_7±Ñ™¼õüÈÕ£ìÿt×é„b@a,™pÓPš–q,&„‡‡äææÎ˜1ãå—_–¥õóȨ6rw¨kgÏžULÓ2ŽÅÇ{¬¸¸xذaâE¢ºW? €ºA¸PË&Ož,>”¯nðtz¸,…p…pÅøœ›´”$¹;PFÂá3¦O£ÑÈÝFÍxµÃH¸±ª[Ä$§àg"UFÙO‚b¼‰?Ò,dü²”õ<¡Xî.€ZÆ„b („ („ („ („ („ („ (…OoÝeݹûZ¦2Æh¹TßÛÛ[÷ÁZ­ÖËËK·‚ÈÅÅeÔ¨Qyyy†jµÚY³f5kÖÌÕÕuöìÙF#™ààààîî’ŸŸo´Ã•«ÿþ†*k×’þê-óáÆÃÓûLfº”cÎd¦K?rwµOû½eÝUÝBAš6mº}ûviuÛ¶mjµÚpŸ™™™M›68q¢a£k׮ݷo_FFÆñãÇSRRÖ­[gX'666<<ø ¼¼ÜòžWÖnUû¨WªnÄS8L¸±6•ÍniԨь3¢££AˆŽŽž1cF£FF~¯òòòÂÃÃýýý _***rtt—œœ MtãÈ‘#‘‘‘kÖ¬WµZíÕ«WKJJ¾ùæ›ÄÄÄÈÈHËGTY»Uê ¾±hÎÞÜaiÎ ùƪT6çF„cÇŽmذáøñãcÆŒÑÛP CEEER(ÑåèèXTT$.:99UÖ‡ÔÔÔáÇÇÇÇ{zzê–7nܸk×®_|ñE•.!UÖ®åýÔCæÃ Ó‡a–­­í´iÓÆnkk«÷ª†nܸ±yóæ–-[nîíí}ðàAqùСCÞÞÆCs|||ppðæÍ›}||ŒVhÔ¨QEE…åÝ®¬] û¨Ÿª|Yг5Jeâ>jKDFF–••EDDTcÛ¹sç^ºtéâÅ‹sæÌyýõ× ëÄÅÅÍœ9311Q/Ù?~¼¬¬,++kܸqÿûßkÞ®%ýÔ[6UÝ@ï¶p¹ûºcø˜ÚÚóĉ³²²¼¼¼ÄåqãÆÖc“XGTXXèèè8bĈàààŒŒŒ–-[Ž5jñâÅF›èß¿¿î(ÄÎWÖ®%ýÔ[fÂn|‘–É4ФVL¯Z^nIR©T111111–wO2räÈ‘#Gšm"99ÙÏÏÏÂv-é Þâ뀢n€¢n€¢n€¢n€¢n€¢¿<-%IîŽT‡‘pSÃ'Õ6DFî.0jÆ ¨FÂM->y¶þ“œáãÝO£ÑXÕ¨­m¼‰?Ò,dü²ÔÙÓrw¬.põ åaB1P P P P P P PóáÆÃÓ[üÑ+”»ç¨M îîî!!!ùùùÕ«£KõWr`-Ì„Oï3™éâhH6ÊžŸŸâÄ —   êÕÑ£Õ!÷ÖÂÆòªg2Ó…?âùFaöìÙ#.¨ÕêèèhWWWËë¨T*Ý좷 @«òœ1â@Á|}}k^YTáÌ ¬Á‘#G"##wïÞ]Ã:"Ý©6œÎÔ î–ŸRSS‡ïééY“:æÜêá÷ÄÇÇoÞ¼ÙÇǧJulllŠ‹‹Åå«W¯Ê=€µ«B¸a±‚ÅÅÅÍœ9311Ñ0ÙH—–*«Ó­[·eË–çääLš4I™p#Þ%þHwK‰)Çðá7h¸"""²³³½¼¼¤ÇÒYXgíÚµ[·nuvvöõõíׯŸÜCX;óŠõnân)E21'Fz©²:O>ùäáÇ¥ÕÉ“'›Ý'÷sn€¢n€¢n€¢n€¢n€¢n€¢¿<-%IîŽT‡‘p£ûe‡VB£ÑÈÝFÍxµÃH¸±ªg¯‰IÎÏÏOîŽÔ5FcU£¶¶ñP$þH³ñËRgOgÈݱºÀÕ7”‡ Å@Q7@Q7@Q7@Q7@Q7@Q7@Q̇OoñÇD º„„„€€ww÷üüüêÕÑ¥ú+¹‡°f‡§÷™ÌtñGL3†%P€ØØØðððüüü'N¸¸¸U¯Ž­¹‡°6–W=“™.woq¿ìÙ³G\P«ÕÑÑÑ®®®–×Q©TºÙEo€:Vå97DÅKHHðõõ­ydQ…37zÄëSr÷µìÈ‘#‘‘‘»wï®a‘îTNçêF5ï–"Ù(RjjêðáÃããã===kRGœ@Ý«N¸!Ù(R|||ppðæÍ›}||ªTÇÆÆ¦¸¸X\¾zõªÜãX»*„Ý»¥äî6jY\\ÜÌ™3 “ti©²:ݺu[¶lYqqqNNΤI“ä ÀÚ™ 7âýÞâ”i¤nWŒˆˆˆììl///é±4EEEÖY»víÖ­[}}}ûõë'÷PÖÎü„b½ó4œ¶Q$sb¤—*«óä“O>|XZ}útéÒ¥¨¨hÔ¨QQQQrw3ÌÏ¹Ñ +†Ù…4£ •Í¡™9sæÌ™3-¬ €ì˜s…p…pS¸ühp7@Q7@Q7@QŒß ž–’$wǪÃH¸±ÂïAÔh4rwQ3^@í0n¬ê1ÉùùùÉÝ‘º¦Ñh¬jÔÖ6^ŠÄi2~Yêìé ¹;V¸ú€ò0¡( á( á( á( á( á( á(ŠÙžÞâ™ÌtÝU£…â*"éÉÔ–<ÅQï1ÖVõàG@=g&ÜxxzKyEZÖK0Fë ÁŠå_¾A ÔOU¸,Ej±B*•jÉ’%-[¶T«Õ¡¡¡wîÜ‘»G˜Q sn=Ê–––vìØ±¬¬¬K—.-X°@îî`Fu‡§·øcXNÐQž•+W¶hÑ¢eË–+W®Ü´i“T®Ò!wø“ù ņŒ&’RuèÐA\èØ±ãåË—¥ræÜê§Ú¹œd£`çΓZµj%ww0£ áÆð:”TN²Q°ððð¼¼¼+W®L›6-88Xîî`†™ËRg2Ó Ÿa£›r ~CÐi ¤©3â‚tÕ©OŸ>]ºt)**5jTTT”ÜÝÀ ósnôŠav!Í(CeshfΜ9sæL + ;¾~( á( á¦pù Ðàn€¢n€¢n€¢¿<-%IîŽT‡‘pc…߃¨Ñhäî£f¼€Úa$ÜXÕ 2b’óóó“»#uM£ÑXÕ¨­m¼‰?Ò,dü²ÔÙÓrw¬.põ åaB1P P P P P P PóáÆÃÓ[ü‘»«¸ÜÝÝCBBòóó«WG—ê¯ä"ÀZ˜ 7žÞg2ÓÅŸ*åÂPÞŸŸâÄ —   êÕÑ£Õ!÷ÖÂÆòªg2Óåî-î—={öˆ jµ:::ÚÕÕÕò:*•J7»è­PǪ3çFïB•îIqYú_Îß4D ¾¾¾5¯€,ªpæF$^¨2\Ö%^ÃâLOCtäÈ‘ÈÈÈÝ»w×°ŽHwª §suƒ»¥ð§ÔÔÔáÇÇÇÇ{zz֤ބ97€ºG¸Á=ñññÁÁÁ›7oöññ©R›ââbqùêÕ«r`íªnÌN 1Zi7 B\\ÜÌ™3 “ti©²:ݺu[¶lYqqqNNΤI“ä ÀÚ™ 7âìñGœCc¢Dw’ÑBÔ[ÙÙÙ^^^ÒciŠŠŠ,¬³víÚ­[·:;;ûúúöë×Où ņéÄD‰^¾‘{t°”‰91ÒK•ÕyòÉ'>,­Nž<Ùì>¸˜s…p…p…p…p…pÅø­ài)Irw  :Œ„Ý/;´Fî.0jÆ ¨FÂU={MLr~~~rw¤®i4«µµ€"ñGš…Œ_–:{:CîŽÕ®¾ Üxxz‹?z…r÷ü~IHHppppww ÉÏÏËU*ÕÀõžp(=Íy×®]Ï>û¬½½½››[```NNŽX~ýúõÀÀ@GGÇæÍ›GEEIjµÚY³f5kÖÌÕÕuöìÙz»ÍÏÏoÛ¶­>*€š3n<<½Ïd¦‹?R Qp²!666<<uêTVVÖúõëÅòµk×îÛ·/##ãøñã)))ëÖ­ÓÝ[TTÔĉå>4HU¾,%ƹ»}íÙ³gРAjµºyóæÑÑÑûöí“^ZµjÕªU«Nž¸xñâ 6H»:yòä®]»"""ä>4HU7ÊN6z|}}¥Uggç5kÖŒ3¦´´´²Mnݺµråʈ«z×›Ž?..¤§§÷èÑC\öññIOÿó¨FFFFEE988È=z$&WêÈ‘#‘‘‘kÖ¬Ñ-ìÛ·oÿþý,X`t•Jåèè¸|ùò+Vˆ%ƒ š1cFAAAAAAdddQQ‘X^TTäèè(.;99ŠË{÷îÍÉÉ3fŒÜ£ ¡"Ü—šš:|øðøøxOOO½—.\˜ðÃ?n¥ÕjoÞ¼9eÊ”ÐÐP±dõêÕ×®]{衇:wîܾ}{www±ÜÑÑQ :………NNNârDDIJeË5â} šø5">>>88xóæÍ>>>†¯ÚÚÚ~úé§&LN·èrrrŠˆˆøùçŸÅUww÷-[¶_¾|¹mÛ¶~~~b¹··÷ÁƒÅåC‡y{ß›£ý¿ÿýÏßß_¥R‰·JqÃUeQ¸QöíQzâââfΜ™˜˜h4Ùˆ¼¼¼&Mš4eÊ©äÕW_ÍÈÈ(++»téÒܹs¥™:cÇŽÍÎÎ.))ÙºukTTÔüùóÅò¹sç^ºtéâÅ‹sæÌyýõ×År­Á`Ê0ËÆôËÒàÒMRz7„+o~±x›’———TRXX(Í‘L™2eРAÒêСCƒ‚‚222\]] /–÷îÝ»W¯^7nÜèÝ»÷Ö­[{ì1±|âĉYYYb+'N7nœÜã@!lÌÖâ‹ô̹û|Uv²Äðñ}ßÿ½´:räHéÙ6ºÂ ËU*ULLLLLL5zL¨ÂœÅÇ L(ŠB¸ŠB¸ŠB¸ŠB¸ŠbüVð´”$¹;PFÂ>ò_£ÑÈÝFÍxµÃH¸±ªgljINúÊ'ë¡Ñh¬jÔÖ6^ŠÄi2~Yêìé ¹;V¸ú€ò0¡( á( á( á( á( á( á(Šùpãáé-þ˜(Q’„„„€€ww÷üü|±\¥R 8Pï ‡ÒÓœwíÚõì³ÏÚÛÛ»¹¹æääˆåׯ_ tttlÞ¼yTT”´¡V«5kV³fÍ\]]gÏž­·Ûüüü¶mÛZᣢ¨93áÆÃÓûLfºø#¦Ã…‰ ÏÏÏ?qâ„‹‹KPPô’»»ûªU«Œnµ|ùòˆˆˆÜÜÜóçÏ{yy9R,óÍ7²³³O:•••µ~ýz±|íÚµûöíËÈÈ8~üxJJʺuët÷5qâD¹ ’MÍw¡0{öìÔjutt´«««ôÒªU«zõêåïïÿØcém•”ôçÃŽg̘ñÁˆË;vìÈÎÎnÖ¬™ +V¬:tèØ±cAظqã¢E‹Z·n-ÂâÅ‹çÏŸ?~üxq““'OîÚµ+##cÞ¼yr ž*Ϲ9“™.wŸëNBB‚¯¯¯´êìì¼fÍš1cÆ”––V¶É­[·V®\9`ÀqUïzÓñãÇÅ…ôôô=zˆË>>>ééÕÈÈȨ¨(¹G@ƒTý Åâõ)¹û9r$22rÍš5º…}ûöíß¿ÿ‚ Œn¢R©—/_¾bÅ ±dРA3fÌ((((((ˆŒŒ,**Ë‹ŠŠÅe''§ÂÂBqyïÞ½999cÆŒ‘{ô4TÕ 7ŠO6©©©Ã‡÷ôôÔ{iáÂ… ?üðƒáVZ­öæÍ›S¦L KV¯^}íÚµ‡z¨sçÎíÛ·wwwË¥ SXXèää$.GDD,[¶¬Q#îb šªó!ªød¼yófÃWmmm?ýôÓ &H§[t999EDDüüóÏ⪻»û–-[Š‹‹/_¾Ü¶m[???±ÜÛÛûàÁƒâò¡C‡¼½ïMÍþßÿþçïï¯R©Ä[¥¸a €ª²(ÜèÝ®ìd7sæÌÄÄD£ÉFäåå5iÒ¤)S¦H%¯¾újFFFYYÙ¥K—æÎ+ÍÔ;vlvvvIIÉÖ­[£¢¢æÏŸ/–‡„„Ì;÷Ò¥K/^œ3gÎ믿.–kuSv€Yfî–Ò»\,ÔÍ:Ê :‚ xyyI%………ÒüÉ”)S $­:4(((##ÃÕÕuРAñññbyïÞ½{õêuãÆÞ½{oݺUºÍjâĉYYYb+'N7nœÜã@!Ìß ®›iÄÇÛÈÝçû«²“%†ïûþûï¥Õ‘#GJ϶ÑfX®R©bbbbbbªÑ`BæÜ(>Öà® („ („ („ („ (ÆoOKIªâ~ê#áÆ ù¯Ñhäî£f¼€Úa$ÜXÕ³ãÄ$'}å“õÐh4V5jk/Eâ4 ¿,uöt†Ü« \}@y˜P …p…p…p…p…p…pÅL¸ñðô–~ôÊåî9jSBBB@@€ƒƒƒ»»{HHH~~¾Xž™™ V«Õju@@@ff¦X®ûëôôô6mÚÄÆÆÊ=Á’37g2ÓÅ)Ðl”'666<<ûì3¹GÀ=Užss&3]î>ãþJHHðõõ—sãÆëׯ/Y²dàÀRµ-[¶Œ7nçÎ$@½bþÌt’†Xc Ž9¹{÷nquÕªUO?ýôüùóAxøá‡üñG©æèÑ£ããã»wï.w—ø ‹æÜ$ëšš:|øðøøxOOO±dìØ±!!!×®]3fÌØ±c¥ÊkÖ¬ KKK“»×ü…EsnÄI6äe‹ˆˆØ¶m›T˜ššºcÇi΋‹‹ôRhh¨»»û°aÃ6lØ0dȹ»À=–ιa±²ÅÅÅÍœ9311Q7Ù‚àååõÁˆsn¢££½¼¼t_2dȶmÛBCC7lØ ÷¸§ÊŠ¥gÞ>ü WDDDvv¶———êEEE‚ lÚ´)--­uëÖ­[·NMMýüóÏõ6ìÓ§Orròœ9s–.]*÷ ³—¥t/E1ùFÁ´Z­Ñr//¯äädÓõ»víš““#÷¸‡¯_ŠB¸ŠB¸ŠB¸ŠB¸ŠB¸ŠbüVð´”$¹;PFÂJ¥’»WuM£ÑÈÝFÍxµÃH¸©ìynŠ$&9???¹;R×4UÚÚÆ @‘ø#ÍBÆ/K=!wÇêWßP&E!ÜE!ÜE!ÜE!ÜE!ÜE!ÜE1n<<½¥ÃB¹;Z“ààààîî’ŸŸ/–ë>®:==½M›6±±±rwSÌŸ¹9“™.þˆiÆÃÓ[¯ žŸŸâÄ —   ½ ð÷÷‰‰‰ˆˆ»³˜bSó]@öìÙ#.¨ÕêèèhWWWÝW“’’BBB>ûì3¹{ €U7g2Óåî3„___iuË–-ááá;wîìÞ½»Ü]À<óáFºö¤kÄëSr÷µìÈ‘#‘‘‘»wï–JFO²4͹H6Ö!55uøðáñññžžžRáš5kÂÂÂÒÒÒäî±èVp½¹Ã$EŠÞ¼y³nyhhèúõë‡ ¶}ûv¹û€y–>çFïn)¹»Z7sæÌÄÄD½d#2dȶmÛBCC7lØ wO0£:wKéžÅ!è(ƒxƒ·———TRXXèèè(­öéÓ'99yРAyyy3fÌ»¿TÊL¸ÑÍ.F'ß@´Z­Ùò®]»æääÈÝSÌà뀢n€¢n€¢n€¢n€¢n€¢¿<-%IîŽT‡‘p£R©äîU]Óh4rwQ3^@í0n*{ž›"‰IÎÏÏOîŽÔ5FcU£¶¶ñP$þH³ñËRgOgÈݱºÀÕ7”‡ Å@Q7@Q7@Q7@Q7@Q7@Q7@QÌ„OoéǰD*DC—ààààîî’ŸŸ/–gff¨ÕjµZ™™)–ë>Æ:==½M›6±±±rA°äÌÍ™ÌtñGŒ2Òê™Ìt¹;ZžŸŸâÄ —   ±|ôèѽ{÷ÎÉɹpáBÏž=õ6<>>ÞÓÓÓðÕ±cdž„„\»vm̘1cÇŽ•^Z³fMXXXZZšÜ#À²97âlbÝ|#-t#>>>""bÛ¶m>>>F+¤¦¦îرCšsãââ"½êîî>lذ 6 2Dš¥sn¤»¥¤›§.T)H\\ÜÌ™3 “t§·——×| ι‰ŽŽöòòÒ­6dÈmÛ¶…††nذAîѬñƒ BDDDvv¶———êEEEzu6mÚ”––ÖºuëÖ­[§¦¦~þùçzúô铜œøàâÅ‹7lØ w0£šáÆÃÓ[ïú)==½Gâ²Oz:'íõùËRRˆ1¼>%-@©ŠŠŠÅe''§ÂÂB¹{€æÏÜèͳ9“™N ±ŽŽŽEEEâraa¡“““Ü=À ‹.KÉLç"”uòöö>xð ¸|èÐ!oo~ õ¥sn¤|Cʱ*!!!sçνtéÒÅ‹çÌ™óúë¯ËÝ#Ì0?çFîY®O)‰t¸¸ Þ>qâĬ¬,///qyܸqrw3Ì„Ýø¢;íFîn£öé>»O¢R©bbbbbbäî–â97@Q7@Q7@Q7@Q7@Q7@QŒß ž–’$wǪÃH¸‘æf=4Ü]`ÔŒP;Œ„£sS*1ÉùùùÉÝ‘º¦Ñh¬jÔÖ6^ŠÄi2~Yêìé ¹;V¸ú€ò0¡( á( á( á( á( á( á(Šé—=<½¥å3™éz…R @z2µU=Å <6fkèfš3™éâÿê–È=Ô1ÓXá—o†ËR@Q7@QÌ_–Ò›a#^™Ò-¨?ÌŸ¹‘2¸*γt§Ô]–"Ç€†ÂÒ97äÐ ˜Ÿs£‡97J%Ý..ð´@e&ÜèÆi™L£H¤€2p+8P P P P P Pã·‚§¥$ÉÝ1€ê0n¤‡¹YF#w5ãÔ#áÆªæ&&9???¹;R×4UÚÚÆ @‘ø#ÍBÆ/K=!wÇêWßP&E!ÜE!ÜE!ÜE!ÜE!ÜE!ÜE1n<<½¥ÃB½šrÕ·k×®gŸ}ÖÞÞÞÍÍ-000''Çò:º´NOOoÓ¦Mll¬ÜX/ógnÎd¦‹?b|ñðôÖ+H6 ßòåË#""rssÏŸ?ïåå5räÈjÔ9pà€¿¿LLLDD„ÜX/›šl|&3]ø#îo´¤¤?Öø ªu’’’BBB>ûì3¹G°j5 7"1â@nݺõÑG 0 Ju¶lÙ¾sçÎîÝ»Ë=€µ3n¤S2„ÅgÏ´hÑâ¿ÿýo•êŒ=:>>žd¨,šs#l¬ƒV«½yóæ”)SBCC«TgÍš5aaaiiirËngJõprrŠˆˆøù矫T'44týúõÆ Û¾}»Ü#X;KŸsc4ßxãÕW_ÍÈÈ(++»téÒܹs}}}¥—¤;½MÔaÈ!Û¶m ݰaƒÜ£Xµ*O(ÖM9ÒÝR⪸À¬†hèСAAA®®®ƒ НF>}ú$''4(//oÆŒr `¥Ì„ݤ"-ëÅÒŒŒ9Òè³mAÐjµ¦ëHAèÚµ«ÑPgøú („ („ („ („ („ (ÆoOKIªâ~ê#áFz"­õÐh4rwQ3^@í0ntŸÉ¦xb’óóó“»#uM£ÑXÕ¨­m¼‰?Ò,dü²ÔÙÓrw¬.põ åaB1P P P P P P P3áÆÃÓ[ú1,4Q‚Gõ½Bi9==½M›6±±±r÷SlÌÖ8“™..xxzŸÉLÿ×t‰ÜƒBuˆO¦®ìË780lØ°ØØØW^yEîž`Šùpc9ÆJ$%%…„„|öÙgþþþr÷3jnDDeÛ²eKxxøÎ;»wï.w_0Ï|¸‘fÒ˜ 1\“R¤Ñ£GÇÇÇ“l …ù»¥Ä¼B²±ZkÖ¬ KKK“»#XÄ¢[ÁÅYÃ&*l,44týúõÆ Û¾}»Ü}À÷Âß-ܶ†3ˆõTz·”Ù™ÅÒ èÌAÀš™x&åq¢1ç(JÂô…ãUUgAÂÒpC²5T7q¢pC²µ¢B…ùpC²µè~G óáFzž1@ÍÝïhaÑe)ò ¨u*,PL¾5T7q¢ ·‚“o@µÕYà!~@Q*ýúˇ|?œ @–`<ܨT* ··¼&°*r…#á&ìéµûåœÀ åå^”¥]#áæÆ™FýÃ¥7 ›šïBñÒR’B'L•»À"„3Äd“°ë›:n÷à/ÞZV7íŠmq«?@¸( á( á( á( á( áF ”» Ô„›ê<òÝy‹µZ­^¡Ù­jÞ®ø3|Ôk‹>ˆ»qã¦X^÷wªPoYn²Î{kÊ´OõîìÝmøˆQß}·Gîn׈‡§wÍwò€³Óö2‡„]ß$ìúfýÚíììV|´¦î;@=g>Üdgÿüêë½zõLJÜý¿_ŽZ0w×îïäî¶ü¦¼1~ûÎï¿cøREEÅ¿7lùʸ—†/^²¼¤¤Døã´xÞE¬öËÁ_ÃÞœþÂÐÀ1cßÜý}Õ¾ÞÁÅÅù ¯>rT\•ö0xäÎÝ cƾùÂÐÀ7ßž™uî·š·@Ãb>ܬüðã°ñ¡¯¹¸¸ØÚÚ>ñD×?Z!¾tçÎwç,èÖ½g·î=çÍïîÝ»b¹‡§÷¦/¾ê×ÿùÎÞÝ úË/ÿ³uÛsƒ;{w{iè˧23¥jkÖ®ëéÛçñ'|Þ™=WÚÜÄn¿ø2þY¿çózbȰ¿Ÿæõij~Ï}oéõµºé´)–,û¨¬¬\ï¥/ã·džÉZýaÌ×_üËÎÖö_ë?þ¸r$žw«ÅÄ~¸ÿù€çÞ³@ªöË/wïܦٛp%/o凛ßíOûã¿üü×CûŸóðî»óÄÂÕŸüóøñŒí[7ø)ÍÞÞ.fiœ‰úâ— œÉL—¾m rÆì©o¿uôÈ/_núôèÑ㖻ǻxu{¢Ë§›âõÊ¿OHž<)ÔÝÝÍÁÁaÜØWøï£›ÛÚÙ^½VPpýF‹æîáoOªÒÛvãÆÍÕk7tïÖÕð¥©oMpww³··9â¥3gÏÕ¼-óᦠປ››Ñ—vìÜ=wÎ;nn®îînóç¿»mûNé¥Å‹Þkݺ•ƒƒýØ×_+..^øÞ|qu\èëÇÿùFóæÎ7Ÿ7w¶´¹‰Ý.ú¿­Zµtpp?nlzÆ ±ð›ÍßΛ÷n«V-ÕjõŒÈé{M××coowåÊ•üü«>ØúýÅïUéð½>&ðÐáÿO?©[˜õÚ¸‰ÓÄ+P£ƒÇ_ÿcÚ¯žùïFþõèä·g¿>éÇŸ~¶°Eq·¯ëöíÛS§L4¬ð€““¸`ggW^^^“¶hˆÌqf³f.W¯]kѼ¹áKW¯^mÛ¶¸üp»vùùùÒK...₃ƒ½Þªô‰+B›6‰ íÚ¶ÍË˯Òn¥ý\¾œûüÀ¥:*•Êt}=«>^ùñªÕ}¼ÚÞÞnþ¼wŸóP…Ãgc33bÊÂ÷—}´ü©ÐÕÕeeìûîn®¦·}ÔÓãÿæÏá—ƒ¿Æ®øGoß¿YÒbõnŒª^[4DæÏÜ<ÝÛw×.ã3ˆÝÜÜ.ü1£6û÷ßÝÝݫڼ´ùï¿_hÞܽz»mÑ¢ù÷%‹WšÎd¦Ÿ>U…KK‚ t}¼ËÚOVýrà‡E £æ/ø¿ªáávm^|!àãÕÿ–J^°â£5/å–——Ÿ;Ÿ½xÉr±ÜÑQ­;9zéÊ .–••Uhµ•¯ÚR—m /óáfÊ[o®ýçº/¾Œ¿~ãÆÝ»wÿwôØ[S¦‰/ xéŪÚüâ÷£ÅÍ-Ž:äÅêíö• ÑsæFegÿ^^^~*3sê´HÓõ8›uNZ13ëܹÒÒÒŠŠ ÃÙÁ–úÒ ‚‚ëÒjà¨á]¼›õî{/Ž^ºò™Þ=ÅòQöÖ´w¤;›þö”ϼ÷¢_ñê¿Ö>kÆÛÕh×ruÙò2Yª}û‡?ÿt}lÜÊe±ËKJn?òˆÇÄ ãÄ—"§¾÷‹ý að ƒÂ§M©jó=zø <´¸¸ø…Aßž2¹z»8aüÚ®óZhnî•N;N~s¢éúaãÇ 1ª¸¸XœSܯ߳&Nþý÷ ;vˆ[¶Ä’në]R©Tï/œ£»8jxà¨áz[Ž8r˜´Ú¿ß3ýû=S¥ÃUÙ5)©\¯‚´Z¶h TZ­öìé q¥Ó#^Òrððô–nYª·ÒR’B'L­ûGüåÀ»QËê¦]±­úÿ^`VZJ_¿…pEÎpÃuPë8s…pÅü­àáà/j¾“Ô. áÆ"ïF-«ûFÏd¦K_]^mÕý¸Œ„›´”$¹{UïÈõÙOæ ªþnΞΨ³S  €DÿÌ ä Aãn) („ (6gOg0ƒ(Æÿ@]ð<Ï)IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/suse_electronics_menu.png0000644000175000017500000015143213634703632021545 00000000000000‰PNG  IHDR|€7U¿©bKGDÿÿÿ ½§“ pHYs  šœtIMEØhøxItEXtCommentCreated with The GIMPïd%n IDATxÚìw|ÅûÇß{—+é=„$„Þ¤ÒCW@AŠ”âWEø©ˆ (ˆ(`èM$ˆˆ  "½÷’PB éõru~Äœ¹4š€ó~q/²;3ÏÎÎÎî~væ™E!H$ÉCÏÑ£GïŠÚµkË”H1œdHä‹Q¾%þþþw”>..N¢D"_I ìÜsšk)¾¸iÓèÙåq´Z­,q‰|)J$‰Dò0 >«ÕÊ‘cgˆºb"9]G¥ µ©U[ÅšMQ>r‚† êÊ—H$‰D"yß•+W9}ƒƒ/ÏRÔ®áL€·µbEØlÔ«Ê®ý[qqÖs…¶mŸÂÉIö&K$‰D"‘<ЂÏb±pêôY’RŒ¨4žT¨øÞžœu V‹C–™,“ ‹ÅJù`'6mõ`ÜG qqv¢T©žxB¶öI$‰D"‘<°‚/11‘±ñ•£\y F“‹ÅFÎØ_› \´VjT¯€ÎFÍÊnìٳǯZ­–W@"‘H$‰ä£ºD‹OO/ü}\ìbÏb±aµe«¥ËѺuªW«Jtt´,}‰D"ù (Š,‰äa|œ>} ³Ù@î©üT*5‹™;·±uë¯dff¢¨´ûkл¸—d"   {÷î—¥/‘H$‰Dò  >€Ò¥ˆOLÉùv@­VsåÊeöíû‹={v’œ|“Ý»·qãÆ5ô:'ʇ¸òÓogÙ»÷{÷žâúõëò H$Éœ¤¤$žyæôz=O?ý4ÉÉÉö0EQ˜8q"5kÖ´oOž<™ÐÐP´Z-‘‘‘qW­Z…——-Z´àæÍ›…Ú‰§mÛ¶èt:Ú¶mKBB‚=nBB­[·ÆÏÏ/¾øÂ¡u2¯={öP¿~}t:AAA,X°À!îìÙ³ñ÷÷Çßߟ5kÖ°iÓ&‚‚‚ Ì{qãU^É]|f³™óç.°{ϬV¢€¢€Z W®Äàãワ¯™xzºðë¯k9yê4µ«úb´j™=g6óæÍdàÀr>3‰D"ù3zôh¦NJZZ àý÷ßw a÷îÝöíØØXN:ÅÊ•+ wˆû믿rýúu^|ñEÞ{ï½BíŒ5Š^xôôtžþyFe7vìX:tè@LL 'OžÌ—ßÜv^yåÞ{ï=RRR˜8q"#FŒpˆ{âÄ ¢££ùúë¯7nû÷ïçìÙ³潸qoU^IA(%YZ-11‘·°uëRRl4«Cm òÁfX,V~øa5aaMرcŸ}ömÛ¶%$$R´mÛžþ¯¿Æî¿¢×kÉÈȤyóæ,_¾///y5q>˜2ƒ;P³Z•=/wÚº'WÚþ˜ðòÐ µÚI ­N/‚CBD½ÚÅÌw‹Ÿg>'~˜9PÜû—(.¹OÁd2‰ 6ˆ¡C‡æ ˽ ˆiÓ¦‰Úµk !„¸pá‚hÚ´©Ðjµ",,L\¼xÑoëÖ­ÂÓÓS4hÐ@DEE•(ýÅ‹E£F„¯¯¯˜1cF¡Çß½{·¨W¯žÐjµ¢téÒ"""ÂoÞ¼yÂÝÝ]Ìœ9SLŸ>]¸¸¸ˆ5kÖ+üòåË¢yóæB«ÕŠ ˆ3gΈ“ç^$\+Ôrø¹Wz\¬X»þ¾çåÚµkwô;räÈ=É »-ÇŽ+1wî\±páBˆ÷ßß!Ý?ü âââö9RüñÇeË–u™™™b̘1…¿zõêbõêÕÂd2‰ýû÷ ///{¼Å‹‹ˆÊ•+‹ÈÈH±fÍ¡ÑhŠÞ±cG±|ùra0Ä?ü š7oþ@ ¾ :abå? ›Í&_1_™2e âããEZZšD… Ò%%%å³/L&“„J¥rKHH‰‰‰þþþ…Ú*_¾¼=~||¼ƒx °Ç¿~ýz‚/·­œœ‘#GŠZµj @(Šâ?11QX­Vûv\\œ}ûvâUvRðÝŸº}_^hÅkÃ(6&“IÌ;W´nÝZªÉCO±FéfddðË/¿Q±b bbbÙ°a#kÖ,%.î"¡¡!¼3ê¶ïØA»vOsæÌ8À‘#GPDµ*{Ò´U{B¬” fãOkX»=nMu<۪׮Äá_Êöÿ‹Dõ·û‘ŸFrCÓ–§Ÿy¦X>9§`2™Ø¼y3¯½öW¯^Í7*,g[Q z½WWWbccqss#99™   ì £…øøx|}}IOO'00ôôôb§wwwçÆ¸ºº’––†‡‡GÇ‹‹ã믿æèÑ£:tˆèèh‡x:•J…ÙlÆÉÉ)ßyîææFFF†ýü5 &“é_kMîúÊ`~Û¾€Va˜3e!¥ÿ•¼<¨£tsºB º-sFäåÝg6›íé,‹}ɼ¶roçüm³ÙB V«Q«ÕX,–mét:L&“Cüœcçä+wXÞãä¶5mÚ4FŽIûöíyÿý÷íÝQ¹ã”çÂΡ8q‹*»G‰y”îý ¨‘À%¡oß¾¬_¿žŒŒ 6lHDD•*U’]‚’‡šb­¥ëììÌÚµ«©S'š„„$Ï¢ÑdZŽí;þ¤Aƒ†¬X±‚íÛ·ÛEÅWÓßÅÇ-‹L“Qg37âΜ‰¥LL›±u`+°*œÛ¹ˆ˜ƒs)[»$náôže,;vúûå­V›oÍRSS¶sÄVÞ—k΋/Ng1æÞ_œô6›Í¾?÷ßyÓ?ûì³¼þúë4kÖŒàà`‡‘^¹ãåŒÜ*ÌNÞp›ÍÆÍ›7ïøp7qÖëø`äP†ôë%×R.!\¿~””ûè¼”´LoÞ¼‰V«²Õ ³ÄÅ‹INN¶×åœÑ¾¾¾Ü¼y“””ŒFã-óõᇰråÊû6˜ª8e'y$\”îŠE‹É”ûì3¢££éرc¡Ç?qâuëÖ¥fÍšL˜0á®]ÜfÍš1cÆ ¬VëáØ[«zU¶þ°”7_}IŠ½Û W¯^,]º”]»v¡( ­Zµº#›'NäÇ´xÜêØ«V­båÊ• 8€N:°fÍš|ÝDÎT‡æÛo¿}hËN"‘H¶/¢[b±XD§NDåÊ•…ÐétBQˆ2eʈ§žzJ”+WNÂ××W4kÖL<Ó¡‹¨[£ŒðÕ#ô ¢wŒBX…B$^:$Žü4JˆÌ¿„¸9GœXTELTEÄž+R.þ)v¯zG´zÌU4l&Ο?_l>½^/Zµj%Î;'„v6ooo»£yA~çÏŸ5Z­V4kÖL\¸pÁoîܹÂÕÕU´iÓF\»v­Dé/]º$5j$BBBÄ÷ß/´Zmé¿øâ áííÏé—Bz‹%„V«•޽™8¶gee‰!C†ØïÁvíÚ9ÔI ðYÍ[/Èã[7mÚ4áîî.Z´h‘o°GnŒF£6l˜ðññÞÞÞâÝwßV«Õî@Þ¬Y3l¿Ïôz}¡¶V¬X!|||„0`@ù*É9'nQe'}ø>‰Dr‡>|B:wî̆ òuMV¬X‘âââ¨8uòžÞÞ4®®cÌm ªÎþí©ÛºU›þ;ÕU–ŒyŠPÊú˜=÷/ŸÄÏüÓ:0ó§7ÿÓ¦M¥_¿~ÿо[þ f³™… òÕW_qèÐ!ù•ñð__i£(_Á’âååÅØ±c4h—/_¦fÍš4kÖŒ;vÈŠvŸù¯ûðI$’Â)V—®¢(têÔ)ŸØË ¥R•êxº¨(_ÊŠH‹gH¿6´èõ•Z½KÏ÷7“…%îGH˜ÏÕ =ˆ‹¥rý4›Ëÿ>^AúÍk`¾¤€q#nªËXmjâããÚÂíÛ·/>>>¸¹¹ñí·ßÞöäÒɃÌÂ… Y¸p!¾¾¾Ô¯_Ÿf͚ݷ®Z‰D"‘§âFìׯ[¶laÕªUû3339}æ©qç˜22ŒÚ5_à̉c¸ºèÈîQ”Tb/îbÁ®µtx²bæÌ™Ì;­VK¿~ýðòòbüøñö8QQQ´n݃ÁÀöíÛ©^½z¡]­ƒ ¢E‹|úé§|þùçÌ™3«ÕÊo¼——ÿ÷ÿg¿gϦNJË–->|8]»v-0ŸyóP¡Byñ$÷•bÒ-ì«ê£>âã?&8877wt¦ <Ù(ˆ³çc‰M2²÷ðaTn50RY?­ Uë?NæÍCÌ^pšÍçÐéô$%Æ“˜G… xóÍ7éÒ¥ 8;;Ë+$¹'ü×GéJM¥QºÅõá %&&†øøxt:îîîT¨P¨¨({¼®\¹ÂüùóyõÕWìç]™%)) ///*T¨À… HHH@ŸŸeË–åâÅ‹öøñññxxx ÕjQ©TX­Ö}ø ʃDòP>«ÕJ¿~ýX¾lõê×çøÉ³2RðRqþÈ ÜC[‚é"\ø†§»~ǡ뮅fV“‘–Hll,z½žnݺñÊ+¯P»vm<==Ñh4òêH¤à“Hþク WTq—Íˉçââ‚^¯§V­ZöA… ¾â.)XÜeÿŠÊƒDr?QÝIbµZͧŸ~ÊãuêpìØ1Ô{œÐÐPn&ÛxµÿHv¯}‡¨-˜óÍ6õãáÂ…k7‰:wŠøøxÚ´i÷ß~ËÇLãÆñõõ•bO"‘H$Å" €””„!òùðEFF2pà@þøã[Š­¼K $''“””ü³¤`I)I$’NðAv3õÒ¥K©U«qqq<ùä“têÔ‰æÍ›s.ΗQ“O0l¦‰%ûÊrùZ,QçÏ`6éС=sæÌ᫯¾¢K—.ãâârßÖÖ”H$ÉÃOq–Ík×®¯¿þ:*•ŠqãÆàéé ä_g½ Û-)XR ʃDr?¹£.ÝÜ\¹r…éÓ§³oß>Z·nM```¶_EB"çÏ'*ê<ÞÞ^4iÒ„¶mÛR·n]üüüpvvÆÉÉI^ É}EvéJEþ‹>|F£‘#F°bÅ 222hÙ²% , téÒùº];vìÈÏ?ÿÌÖ­[¹ví¯½ö5â÷ß/° Ùd2ñÎ;ï°xñb„¼þúëLš4 •JUâ.Ý‚ò ×s–<”‚²}Ž9Âï¿ÿn_!Ã`0àááAíÚµ©V­AAA¸ºº¢ÕjšÎ%)ø$)ø$ɽá®6­999Q¯^=žxâ L&“ƒ#­J¥B£ÑH‘'‘H$‰Dò0 ¾EA§ÓÉÒ•Hò°håª|÷ŠÃvûTªy{¿òÛPÝÒ†ãv6ò¦É—/¥€|݆¢ ä)€|vòäývl¨ny¾ŽeXPÞ•bØHIME ò,yÖ!Ï.¹wdãÙ¶må $‘H,Á'‘H ¦oxY‰D"‘‚O"yÉÁ'‘ÜOÂÃÃe!H$’b¡’E ‘H$‰D"ŸD"‘H$‰ä!FvéJ$(«~Ÿ‚“› ­Í“Ž—(íoûf»9º„½‰^ç* T"‘HþK‚ïÚµk¬[·<==yúé§íaF£‘eË–áîîNbb"½zõÂÍÍ-Ÿ ³ÉÄî/>¢lÊ9l]öÐD‰éY¤ÔnO«>rqi‰äŽnn7AVµ“hÏ4,qZ+¦ì´Q•dAJ$ÉMð?ž#GŽÐµkWEaÉ’%<þøãðçŸÒ A0ÌŸ?Ÿž={RªT©^$V+—‡µ#ì·Q¼;‚b³O© „ªœ0Þͺ‘ýèôÙ¹ÔšD"‘<È)‡í)‡l 'ßö-®]Au¤¨ðâØà6 Üw+›·a£àD·ÎÛ"ŠÈg±ŸÁ``çδoßÞ¾¯L™2\¼xÑ.ø®_¿NµjÕÐëõtïÞˆˆ†nŸ—o÷×ShÔ¯?Š«‚bŽwÈ"²sëT­­ÏeãÚµ´ïÚU>I%‰äGN9$‘<Ø{ÐÆ¢E‹hÙ²¥}m@›Í†J¥"33ÓÇb±8|m©Õjžzê)-Zdßgºpµ— Š9ÅœŠbÊõ3§¢XRÁ”€sÝúœÛ°–»¸ò›D"‘H$‰|…!„ÀÃíVkßB R©°å™AÞf³ÙÃE!88˜øøxûÚºV¦¤BŠ1•Ê„1%Åay6‰D"‘H$IÉ)V—nBBÁÁÁv!'„Àf³áäää ÈrZþl6›½Üf³ñØcqêÔ)š7o6+JVX-Ùݹ¹ð”l *P3BA¶ðI$‰D"‘ÜÁg±Xpqq±‹=Èb>>>:tÈ>R×l6Û[ørâØl6\]]‰ŽŽ¶ >›!•-àSTÙ‰ÇÁ˜5#ðÞx4J$’¹~ý:—.]àbÔMÒÓl8ÝHeoú>´=:ŽºuëÊ‚’H$’GYð©Õj‡–;!!!!DGGóÕW_a³Ù ³·òåŒB V«INNÎ6f³" )€T‚ìaG*H½×·‚aóP”.ò I$÷‰Çv‘Vv•œ©Ü {J3Û0¿~™!ŸD"‘<Ê‚O£Ñ‘‘———Ãpe!M›6Í7„933“¬¬,¬V+™™™\¾|½^ŸÆ˜‰-f'j?gPkÀ’†X0&€JÿO«žVvåJ$÷›j­¼(ßȽÀ°Ã‹¤?m^VoüÆuj ã>GRR+VD­V;„%&&b³Ùðóó“%‘ÜŽàsrr"))‰ÀÀ@‡Q¸Š¢Ø·EÁ`0‘‘á F#iii”)S&{ŸÍ ™7!CÉ5':Ÿ¿ÿ RP4æüÊHj>˜2ƒ;P³ZY’G‚˜ë±lÙµ®íZÓ¦Iý|sÂIî.ÉÉÉ,[¶Œ¦M›²dÉbcc)Uª5kÖÄÙÙ™?ÿü///èÙ³'ÞÞÞ²Ð$’¿)ÖÓÉ××—Ë—/c2™°X,ö9þzf³™ÄÄD»ØË=`Ã`0EHHHv˜JÎÞ ó½/è|³ÅžÎûïŸ/ŠÎ Eç.¯Î#ƱSghÝ­73¿[,G_ßERSS¹víZ¾_Zbé7)‰™† †{š¯ž={æûåì¿Uº¼Lž<ù®æ«8ù(.&³…•?ÿÆ´ˆå$¦¤Ê y9~ü8;v¤~ýúôë×wÞy‡®]»âââÂöíÛIII!..޲e˲|ùr"""HOO¿'y‰ŒŒD«Õ¢( z½ž_ýµÄ6îæÂ9nT¹¹QÜcÅÇÇS±bE,‹Ã~!UªTáêÕ«rA„‡”bO¼ìááÁ™3g¨\¹2ÎÎÎvA—••…ÑhÌ7{·Íf###ƒØØXœ©ZµêßµR…¢÷½Ty‡é(`±¡è3J|Ãh4V®\I׿'kÎñ!¼[tìØ‘õë×ËZs²Œ¼÷ñT6mÝΜ))( åùé·ÕdzžGï©qØovÏ@•ìG–{<[®~ã{>&e»Ò4¬Ù=ÍÛŠ+îŠC‡=pyÊË©¨‹|øå\út~††µ“/Å{ñÑxìuêÔ`úôéüõ×_4hЀ гgO¼¼¼HOOçÒ¥K(ŠÂÉ“'yçw gÏžT­Zõ®\—ÈÈHúôéc߬\¹’îÝ»óÓO?ѲeË­| zß•ôèççG›6mX¿~=Ï=÷œ}ÿï¿ÿN£Fì3vH>ŠÝÿðÒK/qîÜ9.^¼H\\)))¤¦¦b2™P©TùÄžÑh$>>žƒÒ±cÇÖÔU©P\üÀÙôþ ËóÓûg‡¹x—¨’ !X¹r%}úô!22ò¶*ú­øùçŸe¹Klûk:tcÕº òáqÇØhý¶ob IDAT>öwøuŸZŽî“*ÒmJh¾°ú½<þu‰„„ÆGŸ>};v,ׯ_wß·oŸ}yFpl™Û°aï¼óíÓõá‡Ò§O>øàûœŸ={ödõêÕ 2„Þ½{³oß>;ys7È4d1wÕì9rBVË{@JJ nnn .^¼È /¼@Íš5™?>?üðÝ ¨Õjñ÷÷gÀ€̘1ƒþýûsîÜ9¦L™ÂøñãYºt)GÅd2ÝV>ÂÃÃY²d‰½q!<<œyóæ±ÿ~bbbhÑ¢:ކ röìY{#ÄôéÓyüñÇí¶>L5hÒ¤ ÑÑÑ%N_’F‘¢lçføðáÌ›7Ïa_DD#GŽt°Y˜­5jpúôivî܉¢(üñÇœ;wÌfó]=OÉ]|}úô!**Ь¬,‡‘¸yÅ—Åb!%%…={öмys6̵x»¢g_Ѐs¸:þœ@ïâì]b!еkW–,YBxxx±*¥¢(|ôÑG”)S­VkŠ9Mõ†:uê°cÇŽ›Ç·mÛ†—— 6´ß¨y+êÅ‹iÖ¬:ަM›Ú§½¸té7ÆÏÏ/¾øÂÁnîô{öì¡~ýúèt:‚‚‚X°`=Þüùóñðð`Ö¬Y̘1WWWû9Ü*¼87ý=x§¦1`äV­Û ïÄ;AQ8ôC»&ûwfkÚ}ÉZA]º9ÌŸ?ŸvíÚA—.]øæ›Z! {öìáå—_¶·Èån™óñña„ Ì›7ZµjÁc=ÆÜ¹sÿyÀ©T̘1ƒ·Þz‹3fäË_îãÜ \œõ¼Ö£ ¯!ëå]àÚµkL™2…I“&1qâD®]»Æ¤I“xÿý÷9qâß~û-3fÌÀÍÍ_~ù…Ñ£GóùçŸóé§Ÿ²jÕ*Þzë->üðC,XÀ¡C‡0têÔ‰-Z`±Xˆˆˆ¸­®X³Ùl{9ôèÑÃ.ˆ† Â!CHIIaôèÑ 0À/$$„]»vÙ·W¬XÁÞ½{i×®ÿûßÿJœ>¯¸+轜›¢lçP­Z5T*—/_¶ íääd{ëê­l…‡‡³víZÖ­[Ghh(ëÖ­àûï¿§W¯^h4šÛ>OÉíáT’ÈAAA‘ššŠ‹‹ *•*Ÿ(S‹ÅÂ¥K—(]º4;wÆÉéŸÃ¨ÕÐxÞ Ô9ûs*§Èþg6a³¦!Ô–7¿wíÚ³Ù\`¥üõ×_Ù°a `ûöíöÂÙ³gÙ¸q#ááá˜L&z÷îMïÞ½™7o‘‘‘¼úê«ö•CrŸï¦M›¸ví“'OfèСöîÞÜuРA´mÛ–Í›73a Ä/¿ü°aÃèС£FbâĉùÍþ•W^a„ tîÜ™£GÒ¦MûËI§Ó±mÛ6zöìÉ”)Sìb7竵¨ð¢Êä~áéáÎôÆòB§öòN¼Z7nOll,”À},ÐÊ•+wÏóVT÷é‰'8xð`®gÃ?#.W®\I¹råòÂÌ¡^½zh4Ù]اOŸføðáh4:uêÄàÁƒíñ:uê„F£¡AƒúÞê8%¡zÅr¼Ú½>ž²RÞ%/^̈#Ðh4Fûs-..¾Èvç)UªÉÉɸ¸¸’’‚··7éé鸻»ãææ†Åb!##ƒ3f0bÄ222x饗˜2e íÚµ»Ão.ÇÙ+¶nÝêàþ“SWsêdά£GÆÕÕ•Q£F=Ú»$éó6¸ÜŠ¢lçfذaÌ›7ñãdzlÙ2† Rl[áááôë×Ñ£GóÓO?1{öl†ÎçŸÎêÕ«íe·{ž’û ø*V¬È¹sçìb)/9ƒ9bbb·ûûÙX£%¦ëGÑù¡Òê²Å^.½‡Í†°d’qâ<¢JÇ»2ê­¨J5jÔ(ôz½ƒPœÄ6„|ûí·xxäHnnn¤¦®`s××Ü/9•Jåð̸U½¾ÕqŠƒVã$GéÞ#¬V«ýnÚ´ ‹%» ##ƒ*UªàììÌ7 !--˜˜*W®l÷/OMM%++ËÞ l0°X,¸¹¹QµjU®_¿Î7Ø¿?õë×/v¾4 ‘‘‘öV>!‘‘‘öÞ%›ÍÆÍ›7ñ÷÷Ï—6¯ˆÉ½diNãHIÒ—”¢lçæ©§žbúôéX­VvïÞÍ AƒŠm«jÕªF¶lÙ‚³³3Ï>û,ï½÷?þø#&“‰zõêÝóó”ä§ÄO'gggûú¹y[ßrO¶ àm“þC9²å8樫Ø2ÁfRa5ª±UØŒ*D¦ ãÎýDœr¢Õ3Ï”ø™ï!ŸS©r|ýrûmT©Þ|óMV¬XAHHÏ?ÿ<ß~ûmÇÒétvû¹[rÛÌý2R«Õöx¹× λqîôÏ>û,AAA 2„ 6ä‹—s r·¢'¼¨2¹—8ëu|2v?.˜#ÅÞ]bïÁ]Ì]úE‰ç£Îÿ«ù®Zµ*6lÀf³±uëV>øà‡“Éäà*‘{ʧÜT«Võë×c6›ùé§Ÿþ V ò§¤”)]бƒ_¡]Ó†RìÝcBBB¨V­UªT¡bÅŠ9rƒÁ€ÍfãСC bbbˆŠŠÂl6£Ñh8zô¨ýl6›Ñjµdee‡¢(\»vÁƒc³Ù˜8q"'NÏ÷2¯¿xîAÍš5cÆŒX­VæÏŸOXXX¡¶:wîÌÙ³gùä“OxòÉ'Kœ¾¤”Äö /¼ÀÀiÞ¼y½mEÙzá…èÕ«ݺushõëׯßmåEò/´ðåtmæý’.Hø®Ñh¨:ó7Vß5 ôvC£uBX†L.ÝLç´om†O Aƒ%{¹oº¼•jüøñ,X°€ùóçó×_j§F|øá‡Œ3wwwÆŽËÀQ…¤¤$ûÜN½zõ⫯¾bΜ9…v 4oÞœÏ?ÿœwß}—©S§Ò´iSÚ´iÃgŸ}ÆK/½äpäåĉÔ­[—2eÊ0bĈ»~Ó·LWe»Ãå<|w™sNÐhŒßÐâÛ˜È#7¨T±Ò=Í[^¿½Ü]¼¯½ö³fÍ¢oß¾1tèP‡¸lß¾ *P£F  ÄâÅ‹ó£ÿþÌœ9“µk×R©R%Þxãå1÷qJJ÷gž”ð>ñûï¿Û»uÝÜܨ[·.‡¦I“&èt:8@ëÖ­Ùºu+eÊ”¡T©RØl6\\\0xxx Óé¸|ù2=z”=zØíýõ×_Lš4‰^½zéòÛ_ø§Û¤0Á§V«‹ô½óññ¡÷ôù8pƒ'OQ¥J233Ù´q#Ï÷ïH›êÕñõõ-v~rŽ•÷¦»ÝJ5oÞ<ú÷ïÏ‹/¾ˆZ­¶ È'Ÿ|’Ò¥K“••eÿ2«^½:Mš4aÑ¢EÚš={6½{÷fÒ¤I4lØÐþš9s&=zô`Þ¼yLŸ>½{÷˜þ“O>¡mÛ¶¨ÕjÆŒÃÒ¥KïûM·ÿÎ[òŽ»G¸x;áê[üÛY料çy*Ì/g@@ãÇ/4¼C‡ö}ÿ÷ÿW¨ÝR¥Jåóƒ-(^ÞÁGò`‘Ó:g4qrr² ¾ôôtNž\¨Í¢lU¬XÑ!O•*UÊ7·ß휧ä_|jµ:ß ¢Zö i¥J =u'aÅIXѪ²+@IÄ^qn€’Þ|Mš4áäÉ“ùâoÞ¼Ùa{À€ùF8åµY±bEvïÞÏVhh(»wïÆl6³páB{ì±Ó:Ô¡åcøðáùâô÷­ÂKrÓKlÜ]¼ùaPNG—fLD8™PYô¸é¼ f:4s–…'y(È™ë579ƒprÞC111üøã\½z•J•*€ÅbÁ`0`µZíÓ‡ BBBHMM%--öíÛ;¸¼äôbI$Rðñ/ZA#Ûòú³ÝJ¬å´:99ÙýÉþ ôíÛ—õëד‘‘Áã?NDD„¬’Û¢sûnt¦[¾ýkN"«Òi<Î×¢ãÃdAI:rÞYYYŠ0›ÍÆwß}Ç×_§—O4lBZZ+W­fĈtêÔ‰víÚ‘’’‚Åb± ÀJ•*qêÔ):ÄÇœïÃþn­Â"‘<ô‚/w—nA-|·êÒuÈ€“«ÕúP}UÝ©0-¬ X"‘H$ùò’ššÊ”©ŸáìæÁ{‰“V——899‘–’ÄÂo¦Ó¦m;æÏ›K©R¥HJJ²fûóÏ? ·’ÈÈÈàĉtìØQºD ¾ÁWT _A#F BQ´Z­}=Â(‘HþNÿ‘LÒUcaÉY²€$÷«ÕŠV«åèÑ£ìÙ³£ÑˆÙl&=#“À2?e&>>>ìÙ³‡'žx‚3gΠ( õêÕGçìÊïÖ0ú½1,[º€ÌÌL’’’øë¯¿øî»ï޵~ýzúôé# ]òHr[ó899Ù[ñ„Øl6{‹WN÷ì­Zëöïßφ  A£Ñ Óé cÅŠ÷|Qw‰D’ŸzµšP.ñ9œ÷>Í™NÜvž£+ÓqÚÙ ç½OÓ©U/YH’ûŠƒÁ€Z­fÓ¦M?~ܾÄgJjV dß¾}ö©yâââHÏÈÀÇÇ›ŒŒ z¾<ˆË—cX±bZ­¸y󦃿yJJ W¯^%88X¼D >{¢\ݹ©©©;vŒèèhûrky×Ö-ˆ£GÒ°aC¼¼¼Ðjµèõz*W®L5øê«¯òÍM'‘Hî-¥K—¦Iã&4iÜ„òUª¯"¤š 6 Iã&Ô­[W’ä¾c0ÐétŽl«Õ–«†ŸŸ?:›Í†ÕjåÊ•+\½z•è¨(lBp9&†´´4:½ðó¿‹°OÀ|åÊ•|ƒ ׬YCß¾}eK¤à+Hð™ÍfV­ZETTgΜáÔ©S(ŠrËnÙŒŒ œquuE§ÓÙýøœñõõåúõë$%%É«#‘H$ÿarDžZ­vh6ÞÕ“—_~???Ê—/ÏØ±c‰‹‹£S§Ž´iÛ–ýûöñöˆ‘XmV‚ÊrñÂT*F£‘óçÏ;4J$&&b0ðóó+vÞ:Ê A#xíµa <’'N—øü^{íÎS=yÈk+ï/÷1Š{¬ôô ÆŒŸ¯áGÁرINN¹«ùþ¯Pb‡9­Vkâž’’‚Ífãõ×_ÇÝÝE‹Ù¿šÌfs¡Ó³¸ººbµZQ«Õùºs†ßç¬b!‘H$’ÿ&‹ÅþÎq ¨Rá¤Ñ¢Óé°Z­¸»»cµZÑétøúúsäÈaT*Va#æòe<Ü=pvqáòå˸»»sâÄ Þ~ûm»½eË–•¨uïС£Ì›·˜_¦nÝÚìÛwˆ9s¾ãÍ7_§J•J÷¥l„<Äܹ_k_Q¸¹¹R½zUŽ9AݺµìûOŸ>G… eñòò,±MÉm´ð•+WξđŸŸnnn˜L&<ˆ¿¿?*• “ÉDFF®®®…Ú1 öiYr€¨T*nܸ¿¿¿\GO"‘Hþ㤧§£×ëíkèæ lÙ³:DDDÀ™³g?~þøsbcoÙ-\¿ý¶>šl·s•?ü„O>™N\\ãÆ}Êõë±Ü¼LjcíóÞ¯<”$ý­ÈÛW˜íÜ´mÛŠ?ÿÜå°oçÎ=´k÷¤ƒÍÂl}øá'ܸ‘]†çÏGóÚkÃ8{ö¼½L‡ƒÕj½«çùÈ >'''nÞ¼i_—°GìÝ»×>ŸœÍf#::Ÿ"o    ’’’¦xQ…+W®P£F 9ZW"‘H¤àC£Ñ8Ìä ¨ÔÒS¸~ý:Z­µJE||<µjÖ")1‘øøx¸|ù2f³™+—/‚Åb!33“Ö­[Ûm-Z´ˆ_|±Dù²Z­v¡•Cýúui×.ÛîÒ¥«hݺ_~9™öíÛ°pá?«¾x{{ñÞ{ÃíÛ{÷d̘‘Ô¨QeËVаa=<ÀGhذ^¾Y1îuJ’>¯¸ËÝ[EÙÎ!0°Š¢˜˜do$2 ”)\,[õë×åСc9ro>Àþý‡iÔ¨>jµú¶Ïóaä¶TU«V­Øºu+­ZµÂÕÕ•:uê „ÀjµráÂ~ùåúöíë0¿Q^êԩþ}ûÆÉÉ ›Í†Á` ::š6mÚÈ'D"‘üÇÑh4dffæsý6+É7c¨Ù %õëg‹¡R¥JáâêBpp.®®x{ûФI¢££9wèT*-Z¶Ä×ÇǾÞòåË— ÅÙùÎVÉ-næÎý‚3gÎqôè û¾ÜbíñÇk ÑhìÛíÛ·A§ÓòôÓO2|xörnÕã믿ãÙgÛqðà^z)ü¾ç¡$ésSœ®Ö¢lçæ©§Z²cÇ.ºtéÀž=hÕªY±m5hðß}·„öíÛpäÈqz÷~•+#éÑã98Lß¾=ïè<ÿ3‚¯zõê˜Íf–.]J•*UðòòÂl6sêÔ)bbbxî¹çhРA‘6‚ƒƒÙ¸q#Û¶m³ûhFT*AAAòI'‘Ü!ætЫ†°–|Ý\5Zt§«cÉKLIþ=üýýqrrâÚµk¤§§;AcF ñ7bˆˆˆ@íï7uêTâââ°ÙlÌ™3!>ž®¤¥¦Rù±˜Óç£x¾[w†¾ù?®]»Æ{ï½WòûC­æÐ¡£ö¶¹s¿àС£|óÍl6Á´iãîîV ˆux ;eߟB€ZÝéæëëƒF£áĉÓX,BCCî{J’¾¤eÛQkTaóæm÷^¤e˦Ŷ˜½´Þ©SgÑh4Ô®]ƒ5kÖsøð1, eË–¹ççù ¡ºÝ„µk׿Ýwߥzõêddd••EÆ 3f íÚµ+ÖòjÏ?ÿ(Z“?ŸÆ‚… ™1ã‹Ïý:pàËÌ›·˜C‡ŽŽ(*W®`*þ¹›O?^¨­Y³æ{“_~ùjÕªØ÷7lø3f|MXXÃ%%I_RJb»^½:,^¼’Ê•+8Ý[Q¶êׯËܹ‹¨W¯íçøÝwKÊô^žçƒ†ÓÞˆuêÔ¡N:·•ÞÛÛ›V­ZÉ'šD"‘HŠäĉìØ±Ã¾ýØc±wÏúöíÇÖM?Qºl%V¯XŒ^¯ÇÓYEÏN­1f¦S«VMN:ÅW³f‘™™I¿—_ÆÓÛ­Þ»ó,`á¢EtîÔ‘wß}//¯[æ¥nÝÚ ðß|³À>ãDÎhY€>}™?1o¼ñ6¥J•âõ×ûj«gÏnÌš5777»XË+ßÿ#ÕÿWòP’ô%¥$¶6¬ÇæÍÛèÕ«{‰m5hP—ÈÈõÔ«÷øßÛO°nÝ/ez/ÏóACwº(¬Dòrýúõ;JGíÚÿ8L¯\¹Rªä¾îèÛuôèQüýýïjÝþ77nãÆ+2ŽÙlfÍš5ìÞ½›]»÷••E½'êR«V-š5k†§§'®®®¸¸¸ R©;v,Mš4aÚ´é¤ed ÒhÐêôd2Ábfÿ¾}²—IòH"‡ÂJ$÷àÅ+‘Hî???Μ9ƒ›[¶UaíM›6¥iÓü»ŒF#YYY¸¸¸dûû¤¦¦’™™Ipp0Çgß¾½œ9s†Ñï½Ç©S§j5&³…½{÷òÔSOÉ—HÁ'‘H$Éý`àÀüùçŸsÐݪS*'\Á±cÇ8{ö,Í›7§T©R¨T*š6mjŸ¬Zµj¬Œ$&&†qãÆQ¾|yZ´h! ^òH"»t%ÿIîv—®Dò ð¨uéÞ ¬V+k×®åôéÓtîÜ™åË—3iÒ$YY$ÿ9d ŸD"‘HYÔj5ݺuÃh4²ÿ~ÆŽ+ E"ŸD"‘H$":ÎÁÏO"ù¯¡’E ‘H$‰DòhSì¾Ì,3'ÏÆ"¸?. Õ*úãæª“WI"‘H$‰ä^ ¾Õ¿ãÿ¦m"Ð÷Ÿ¡ñ‚ìeX ñ÷¶ýïbÄ)$(¨ )9ñoµ£_÷†òJI$‰D"‘ÜKÁ÷é׿óÁÀ6xº;c±Ø°Z« ‹U`µÚòüæøwNü‚ÒßYïÄ™ ™8s£|‰D"‘H$w@±|ø®Æ¦âëu×ÓLË0¡×iHLN—WI"‘H$‰ä^ ¾ {Ÿ°D"‘H$‰äv)V—®¢@ýº¥ILH¶ë°!–#Çrë²Üs9‹\‘D¶3Š¢ümW± ûOT ÑhHIÍ ýËçåU’H$‰D"¹÷‚OA§U¡Ñ¨)W¾ôTˆ\;„ÀfË¿­R)¸»¨QÙÂ'‘H$‰Dr'Ü“.Ý7l¬‹Ê^ûÐ`˜­Å{ÿ„ƒÍ›¼JL™ÁñÓgeAH$‰Dò0 >£RL‚ÿô1ªè¿ÍÈkÛLÔþÝÄìÃÆb‰=›-W¸°!¤à{d8vê ­»õfæw‹C—H$’‡ EQP•JEhh(›6m²‡Íš5‹òåË£×ëéܹ3ñññiEA«ÕR½zuÖ¬YS¨íœx‘‘‘w”O‰ä® ¾¢þ²2x•+.*Ò\iXäÄé*Z¾ºbeÏe {/›Š%ö@ l°ëÆËý+ŠŽ;Þõ›¦ py£Œ!ËÈ{O¥Ë˃¸rý†,‰DòP"„ÀjµòÅ_ðÖ[o°páBæÏŸÏ† ˆ‹‹£R¥J <Ø!‚ôôt¦NJÿþý µ-„`åÊ•ôéÓç¶EŸƒ%÷Bð­?iãˆQÍò'²‚lÿK¥Åç©°à45V\$#ÝLçÓVž¾¨ðúÏiEнºtE±Fé:vÿ矖7ÍÀ¶¿öШC7V­Û ËW"‘<”(ŠB‡8>{páÌ™3ùòË/©^½:îîîL˜0V­Z˜N­VÓ·oß"íwíÚ•%K–@LL -Z´@§ÓѰaCΞÍv‘‰ŒŒD«Õ¢Ñh¨S§;vìphx¸té7ÆÏÏ/¾øÂaàäG}D™2eî¸5Qòàãt×,™œü¡ôÎ$‚ãnä¥".ÃFjJ*GS (ÈɾÄ$Y0Mh4Nv_=G±'BAØl·íç( ãÆcÞ¼yÄÆÆ²råJžþy{˜‚5jðÃ?P­Z5vîÜI³fÍØ¶m-[¶äܹs„……qíÚ5´Z-B®^½Jÿþýùã? eÉ’%4hÐÀ~̵kײiÓ&¾þúk‡|ä49Ûå¯k×®\ºt‰ððpΟ?Ïûï¿Ï[o½õÈ ¢”Ô4Œƒ‚ð.ÏÊ»Q"‘ÉÖ#kø~ÇÌ»¶Ä§—«£{|ƒ§«ïm¥·Z­¬ZµŠjÕªpòäI‡w‚««+o¼ñ†Ãó?7Ó§O¿å1ºvíŠÙl`È! 2„_ý• 60`À¶oßNïÞ½éÝ»7óæÍ#22’W_}•sçÎÙm 6Œ:0jÔ(&NœèØê£RqöìY6nÜHxx8&“IV4)ø gÖ!+ç´6ôUY…Ê óúùàéî‚ÉdáÏK,>c%јNKZöz¸ñÁ–L†5Ñà®Î'ö²Gé lâÖ]ºÝD9)oEÎZ9áááá¬]»–Ñ£G³nÝ:BCCY·n-[¶äûï¿§W¯^h4»Ý7ÞxƒÚµk³zõj~ùå^}õUŽ;@ZZ«W¯&""¢ØåVÐVÔù¨áéáÎôÆòB§öòN”H$Euýû/n¢Ï³ob±™ïŠM?ç2|ýóXF÷˜s[ Š¢P¶lYæÍ›€Z­Æf+ü•óî1™LlÞ¼™×^{ÍÞ\,Á»u+ëׯ·o缟&OžÌ¸q㜳gÏòÄO0wî\êÕ«gOãîîÎõë×qssËw¬7ß|“ÐÐPÞ~ûíB—wAùswwçÆ¸ºº’––†‡‡Ç#ÓÂ×õ•Áü¶}gv kÄœ))ø¯äåúõëw”>..ŽÚµkË'ˆäâèÑ£øûû?’u{ÍÎoð÷÷ã³?z¡Ö ´Þ6P@X +^ €ÖÓ†)E h=²ÿÖzØ0¥ì½ôFó٬߶‚/ýFúémÄýø>>mFâYï¹[н‚žË]»veäÈ‘4kÖ̾oÏž=4jÔ(_³ÙŒ»»;YYYEÚŽŒŒ´7¸¸¸péÒ¥¯ño¿ýÆ®]»X¼x1o¿ý6´ÛruuåæÍ›¸ºº’’’‚——W‘ï'É£É]ñá³™ì8.œ¹’hÌåS§P-À·jêp-ëF ‘¢`I¤äôB¦eù;íŒÒÍS…QµjUŒF#[¶lÁÙÙ™gŸ}½^Ï?þˆÉd¢^½zñ‹YêëëkU©©©·Ì_î¯Ã¢¾Vœõ:>;ŠÌù×ÄžD"yøˆO½JNgŽÕ¢`JQaJV!l ÷Ë~6«´· D¶øÐxþM3&¡Ó8“r0’ÌÃ+)÷Ê4DúE’v.º­ûŒèèèÛ¸(‘‚ÏN¨¿FA&Ü-6ˆƒxOWºþl&5Ëæ Þšø9ãì£%KQã”aá™4tZMÓ´@övqºtK‚¢ü?{÷Eµ÷qü3³5½@€„ÐC ½c¬(""hP¬\¢^ìñ^D‘Ç 6°¢€Rô ÀXÁŠÒ"Jï%Þ6Û¦<l²$„„¢”ßûåšÝém™ïž™sF!'''øùÆoä–[naàÀ@à2ïwÜÁwÜq̸={öä¹çž£¨¨ˆ… ïÛxâ‰'p»Ý¬Y³¦Ì86›E‹‘Í AƒŽ»|çò³MËæ,ÿè]îz‹E¾}Bˆ*Ë*HƒâÀ– Þ ðÅxž ¶ÈÀ9£*U…ÞlšæåáÝöqôÇXõ/"Ûô!ëë—Oh“““1bÝ»w'66–-[¶ðÌ3Ï”9ÿ(ŠBTT‹/æ7Þ¨ð<¥( )))¼óÎ; 0€éÓ§³bÅ BCC™6m3fÌ`æÌ™L˜0‡ÃÁ¿þõ¯`÷/¿ü2K—.¥gÏžŒ3»Ý.”¾óø…6>¸*—þ-Ý/¤ÖÙ"¹p‘—Ökø´@ Ëóšn1ù³Ð‚¦Xy9'ŽSý4ÓRRK·j÷ðUµY–K/½”øø#—¥SRRHOO†±”” 2dÈ1ãNŸ>åË—Íøñã™7o^™þ5bîܲ¿ ,X@JJ III\ýõÇ]—sù‹ùÔ£÷ÓºE3ùÖ !ª-§ ¥øŒ¥ÚMTkàR[ \º.z¥O TV¿#dë:®ŠkLÍý0ÖMV£ÉøöMb{¬tY*»ìyÛm·‘žžŽÛíæÝwß%4448NÉËív³|ùr’’’ÊvÉËçóÃ@ãÆùé§Ÿðz½¤¦¦’œœ @=øóÏ?Ñu½Ì8%ËY¿~}~þùgvîÜInn.­Zµ*w=ärî¹­Z•6Tµü0eµZˆO¨Å¦ŸŠÀøÁT`“ÊcM^Û¡áPÈ×TvcPƶƒé†ó˜°,é;ÎñWÑZÑüõ×_—éÞ¤I“2Ã&%%¡iZ¹ã6hЀï¾û®Ây•¾ù¶¤Û€ÊÔz=zt¥ËWòÅôûýÌ™3'øÅBˆó™Ë]¬¬Qæw½ªÕ<ôLÁÐÕbbj執’³¡{½x/„¹îYh9ŠÌ ?ckEì%ÿ8§¶Ýí·ßÎgŸ}†Ëå¢]»vÕª\(ÎÃÀhU¼âÒ³5}l‰±£øWU4þL…î£fcê™´ß‘I¿¦å—ì• SUý^¾˜Bqö²[z³‹KJýXÖL] <«‰©+(VCSPl`h函á‰)°·þ9h9’¬Ô_°Æµ FÏaçܶ;úÊ“ÀwœÄhF¤<¦iÒ¡¶•ë6æ°¸n—§å²Y ak›ø ðñ@pÈ1iòõnþÝS£yƒ冽` Øyöh5ùb !ıœ¶0 Š_é¾.Ñ7ѲæÕ(6£a 왺‚¢š˜†‚¢@fþAÞÛðd©°w3 .º1öZŒ #õlq-Ïɰ'Dµ_E%|Ávó“—{„ÓeM:×µVHw›ŒØ«“êˆ/ÄX )ªaÃ[×@< ›DápØÊ {Á+žò,]!„Àg£À“j5A9rå§u䕼úÓl¡*šGÃb³¢šVü†§5··»Û̆½»ëÝBý b®³Å§þB®N²„=!¯tàSË {%÷Ü…‡X¸»{Š¢RÇ4‰Ú_CÌnã ñ}ªOÚÆÓ=7É|„„ÄTö€S]KW!ÄÙ'Ä(áS¬%í—\Rh`éâ7±[Ã(ðeRÃQŸ4ïfØ;²Ç\‹WsÂ^ý!Ôï1sÃó˜Íïæà†Ùëóak/M• |Ge/é–×f^ !G5ø¾§âÇþÛAšúu å:{(­~ÚÍ€ö*ñuâŠy,¿ ¾@“,H ŸBœç|~á!‘dx÷ ÚLPËÞÛ}Ƚ¯QHˆ‰KÏ!×wˆB-·–O¨# 6ÏÝõo¥~þ˜^Àl>œƒ¿¯dÎÖ7é9p¹¹9²‘…¾`à+uI÷H»yeÃÚÑŸêA~¾ MSˆ‰‰Ä4á¾ÞµQUµÜ§k” {Å•6$ð !Äy-¯0—°ÐHv¹²QmGîáSP1LƒB-Ðè½ß<µ"ß(0žÿÝÜÍèP#†„.Wcnx³ù0nü™9[Þà·Ú ½T“Ì܃ÕZžáÃÇÏ‹11QÜ~ûÍ$'ÚeýöÛøòËoÉËË'9¹wÞy ááaÁq 𶸸š ЗŽÛ•;í’áFŒ¸“NìÉ'ÇaÆŒir‰ê>Š/éVî‚ÃkÕ†Ž/u™6ðÈ´’§o(Љa(¨*˜¦NQ8jšB!ÎßÀ—MxhÙÙXÂŽœ­5)ôeU8^G ×Çt#¾KÌÔ0› #m㯼½i:?ÙA;h²{Ç>²ò2ª½L3fLÃ4MÖ¯ÿùó2qâ8V®\Í?®b̘‘ÄÄDóÉ'Kxç÷9ò®à8š¦ó矛™5kÞ1¯ôpëÖ¥2sæ<† »í„BŸ„=QZ•^®U#‚´ô58ð«»@cÓÆÍìÙ³‡ÜÜÜj5>¬( mÚ´"==¿ýö{n¾y ññµq:ôïß—æÍ“Ê/Юm]+~‡m6ì6Þxc6ÙÙ¹L™ò£F=ȤIÏsøpz0Žù #F<ÀSOMaÛ¶À‘Ò¬¬lþïÿ^àÆñÍ7ß»>†O?]Æ£>ÁÈ‘²n]j¥ó>| _}µ‚'Ÿœ,åY¨J%|÷Þ~!ïy—¶Ík+T”.µ+ÝH²‰yÔ{ÀÔÁ00Ì@4M#Э8 š%ïM£øËx¿uÇ^îÞ_ö’BœÇò rÅåË#Üz$EZë[NH˜òÀ¦Bx4®•a„ßÕÅÞîQö/y‘Ǧ¼ÌgM,6°8L<¹ jV}»Žç žÇjµIïÞ½éÙ³çq—Ë0 ~ýuññµ8xð Ööw8ìôî}qðsé˵))Ž;ÚŸãþî»ïÓ»÷E<ðÀ(~ÿýOæÌ™Ï£þ“3æÒ­[gî¸c0ëÖ¥2{öÿ˜4é?ÁiÌŸ¿6mZѧÏe|öÙÇ„ÖI“þÍÆ›xãÙLŸþB…󈉉æ±Çƒò\ |ÿ¸© ý.kɯ©û8¡'¯˜Åñ¯ø‡Å/ó¨¿eÞC§vI$Ô©!{I!Îc™¹iÄEDašF™6ø"-u³7À÷;Ý,×RCáBû V|´ûŽX~\³…®y÷shïNÞ\ü+Ÿì5±G€=LÁJà~@›ŽÕzäTXTTÄ_|qÜÀ7|øE!66†;î¸ xÛSEJ_ÒÝ´i sçÎçòË{Uy;lÙ²ÔÔ?‚ŸKžI>hÐu|òÉRÞyGå²Ë.áé§ÿ]f¼M›¶2lØíØl6®¾ú –,ù*Øïª«.Åf³• –Í ]»dl6›”çjà¨U#œ¾½[ÊBñ—JÏ9Dd‚5X~ { *¯Ùù M#.BuZ0 ¯_Ãã/¢ã X>}4)ï-cgfºêÁâ€Èz ª%ðè5¥8äg$4ôÈ­Cááá\zé¥Ç]¦òîkÕª{÷î')©q°Û®]{hÔ¨AÙ¯ÕB«VÍ),tw>ëÖ¥—a˜¼ðÂ$""ÂË s饗P§NmvìØÅk¯ÍâÊ+/¥gÏ ”¹” ¡GW„,/¼U4ŸŠ†çXàB!þY¹é$jÑx2, îƒóXÒYoý×v+‡‰­ÈÀ“iÁi<É@+Rˆw;KÁ¡â+2ÑÜàsŶ00b3hÙ±cïKTTaa'~ßøõ×_˼y :ôV¢£#Y¶ì\®¢cŸ¦é|÷Ýe‚aEaoæÌyŒq'M›6æë¯Wпÿ5Á "cÇ>ÀO8Ø¿ä>›ÍFãÆ ¸ýö›ËNÉpG7Ërë­)Ìš5{îy˜Úµks÷Ýwpûí73gÎÿxóÍ9¨ª ˆ%n¹eÓ§¿Í?¬"%e»wï©t=*š8»)¦iJ»'⼓––vRãgddжm[Ù⌒ššJ\\Ü9ul·hÑ‚={wóÂÂ1,\ûb9g±â§ù\¦·RvØ2Ýhßõó|¬X¶šÕ«WÓ¥K—söøÐu•+W³|ùŒÿ¨|aÎ3RÂ'„âŒfš&6«ƒ&1•ÿ ¸Ž_ñ§`}¿@ †Yz˜#÷°×<2® ¶Â8LËÞszû½õÖ;lØð>Ÿ—ÄĺÜu×9¨$ð !„g–:ÙЗΡVºÂyäÿå´ÓoI‹e:–¹¤e‚¹7š5¼|wo¿¡Co•ƒHHàBqær8|¹ÙIË«†¶¢o½õNgQ™çÅ !O!„ø‹lذá´ÏcìØ±²¡Å9O~Î!„BHàB!„ø„B!„>!„Bñ÷øK*m¸Ýn¶lÙ‚a†®ëhš†Íf£S§NeÌ,„B!βÀwðàA222HJJÂb± ª*¹¹¹lÛ¶¬¬,/^Ìå—_NTT”ì !„BˆÓà´_Òݲe µk×ÀçóQTT„Ëå"??ŸuëÖ±}ûvV¯^-{B!„â49í%|ªª¢( ‹¿ßOZZ{÷îåÀX­V5j„Ëå’=!„Bq6>ŸÏ‡ËåâСCDGGBtt4~¿Ÿ¨¨(, .—‹¬¬,ÙB!„§Éi»¤»sçNþøãêÔ©CHH(YÙ¹¸=gµë$R»N]@%&&–† ²páB¶oß.{ä6~ÊT6nÞ*B!„8ßÚµkÙ»w/uiœÔšˆÈ8lV+¦ï ZÁøò7cxÓ‰¡f\" ¶¤wïKùóÏ?Ù¶m›ì•sÔï›¶Ð{à^~kº®ËBœ•RSSéÝ»7¡¡¡DDDpÕUW‘ššZé8Š¢Tk%Ã_{íµ'<eëw2ËP•ñK¯¯8ߦideeЭ[wjÅÅÆ/Ds/5´Ûˆ)z˜š¾ç‰×_ ‘mCFÃBÕµDEGsùåWðóÏ?cFµæ¹hÑ"ìv;Š¢àt:ùòË/OÙúTtp–t?Ùƒÿ|ãöxylÒ³ô¿s$ûÓÉBœun¼ñFn»í6²³³IOO'%%…ž–y}þùç§d:¦iž’õ«ÎtþÎõAà+**¢fÍx,…¢]aÝw9!Ú»¨þ¥(ÞO±h ±™‹°ø?GõI˜å]B²¯¤`çx,V ‡ƒ‚‚‚j…½[o½• `š&sæÌaРA|÷Ýw§uÃîƒþ\·bå/t»f ï²D¶¥â”xRQx²Ôð’Ï'òªLff&;vÄétÂСCƒW§8@Ÿ>} ¡yóæüúë¯ÁñæÎK‹-°Ûí,Z´€_~ù…Î;ãp8HHH`öìÙÇ-XX¼x1£F ö{ñÅi×®ûöíã’K.ÁápеkW¶nÝZf%$6›öíÛóÃ?TkýJ/Ó¬Y³ˆŒŒä•W^aêÔ©„……×ëèe>úsyë}ôúîÞ½›‹.º‡ÃÁ…^Èž={Ê]gñ7>§ÓIvN>ж…×Qì¾@ÕÈ:P³Ô¸b/†¸ŽP#œ †yˆ´ÎÂJ99ùØl¶*Ï/%%…wÞy‡?Ïœ9“ß~û­Ü£¢/—¢(¬X±‚èèhºvíÊÎ;+ý’VöU“—_À°‡Æñþ'Kdc!NIÐ{¢øä“'qõå‰ãü>}:W]u½zõâé§Ÿæ§Ÿ~ ö»çž{hÛ¶-<ýôÓ :4ØoÇŽ¬[·Ž ’’À]wÝÅc=Faa!Ÿ~ú)<ðÀ1 ¥ðá‡òÒK/»%&&²jÕ*FÍèÑ£ÉËËcìØ± 6¬Ì²2„!C†àñxø÷¿ÿ]fùª²~¥9V¬XÁK/½DÆ yçw‚ëu<å­÷Ñë;räH®¸â òòòèÕ«#GŽ,wEÕ(fŠWîÙEÖŸV¿ŽzÉÔmÔºÒáßÿ`ƒú5Aõ¯ýpxÀY”x ®ätd‚~ü±`iI~^Þzw+÷¹§ê+ (•–)ŠÂûï¿Oß¾} ¥U«VLœ8‘ë®»ŽÔÔT.¿ürrrrP…±cÇòŸÿü‡É“'³fÍ>ûì3EaüøñŒ;–eË–‘’’‚Ïç ÎWQòóó5jo¿ývµÂêùfÀ]£øêû#ÿpDEFðâ“sc¿«ÿòKãiii'5~FFmÛ¶•*Î(©©©ÄÅÅWÇvé`÷W„½~¿ŸŸþ™•+W2þ|FÍðáɈˆ --ðððcÎEEEE„„„”9weddðú믓ššÊºuëØ¹sgðÜRúoÉ8÷Ýwõë×çá‡vs»Ý8NÂÃÃË4uf³ÙÊœ³^~ùe&L˜ÀÀ¹ï¾ûhݺu¹ÿþV´~¥—Ëívãp8PU¿ßÕj-w¹K¯oU× ,,ŒÃ‡Nnn. ³Îâ¾üü|>šò8WGÿF­^ø1³º³7¢AýzÇ ¿lÙ×tn–EÍð æhPÛ6 tÀxŠÿ~ ¯²nýìHoÀ ×Ÿpà+}à–>(KŒÊ²ÌÌLjÔ¨Aaa!uêÔ¡°°°Â/ié¿GÅñ_¯ º1}ÊDãëü-Ë"OHà;ûíòÂ^U†=Ù°w´œœ5jDnn.¡¡¡¤§§—øÊ @]»våî»ï¦qãÆÔ­[—-ZTø&L˜€Ûíæ¿ÿýo¹Ó eÏž=Ç¥‡ûꫯXµjóæÍãá‡fĈU^¿Š–ëè÷¥»åççU¦ûñÖ»d]J¶eAA · G”¯J—t###üø>wöåë5ë€,bj6dÇ®|´ð3~úiU™ûîš6m̾ô:žE£€éÀa×ví@dï÷Hs°mwM“Ukl6[ð2kIÈ[¸pa™’¶Ò¿úöíKBB£GfÉ’²—†a”y¾oIØ«H5ÈÌÌ”£© Bœžyü>ž=ýo {BˆóÏñÂ\uÂ^“&M‚µVý~?k×®¥I“&ôìÙ“çž{Ž¢¢".\H‹-*ÖüA‡hݺ5'N,·P#''çÈr>ñn·›5kÖ”;½‹.ºˆ©S§¢ë:³fÍâ‚ .(Ó?99™œœÆÇèÑ£yüñÇ«µ~Õ=7ggg3hР*¯wéõ½øâ‹yþùçñx<<ûì³\xá…r ŸîÀWzî=Žz—,äPÞ|86{öì£^ý†Øœá,ÿnï°˜ŸVþLݺ ì8èÇݰF‡m?@þ÷ ÿÆa0²A?®TؽVëàïËÞŒ7n\­X°`·Þzk0ô•®ÄQÝ/×-·Ü¾}û˜- ܸ ä"ö¸®cɪLF^íeY´h)))øý~l6 ,Vâ8ºè÷¥—^b„ X,Æǃ>,Fž1c÷ß?=zô`îܹÄÇÇ÷>„’¿S§Ne×®]L›6MŽª³€\Òç¢óé’£Ç;ÕAPˆ³>ð­}ï5BóÃݤ1Jì…ԭ׆èè(¬V+™™™¬\¹Š5kS ªÍ]Šèpq€–µ æ÷`x±:M¬.)D±‚iDâsÇ¢û’WÔ‘×æüÌ·ÞLRRÒß³!äž |ø„¾³âØ>:´Iàâøªô,ݰµ_Ò¼Y$üÂfŸÊGŸвY4]Çëöàvû‰OˆgËÖ]¼¶1‹KѶ]s¢ê]Edì]„;ö¡®Åš¿ ·á$ßèF/W¡ÉÁƒ66oý®ï÷·…=!„g' kBœÂÀ·©ýõ|÷ûb,Ù*û‹‘ž]ˆ+¿ñ DDDŸØ¯¾—-ÃiÛõ ].¼®,þØ[Àáµ^2sbñj—`1šas§bÓÿDWê‘kÒ¥K3î=‚ºuëþ­BJ÷„B£çuà»~Èäå Àãñàv»q¹\ìß¿Ÿí;v²eS&E.…EE(Ö0–¬Ø‹3<ž„z‰Ô¬]“ðšNê×Vñh:9yõ8œÙ†ôÌr³“QÀ/ }|´üSšÔ Eãš´jV“ääzÔ®#mÚ !„(ãIyœ¥§/ðDEEüœœœÌUš0)**âðáä§§c·Û9tèüñ;[V¥³ã€‡¬B…"-M ÅÅV;¦#Š¿ÂŸÛu¾Iõi`ì!ܶš¤úVº&‡ñðˆî4mÚXö”B!Äé|QU•ððpÂÃÃË´ÓÓ·/èºN~~>¤§§“‘‘ÁáÃ9dff‘•]HNö^ìÑ{©ÕÙ†#&‘\½Y¹ 鲨°ÙÊÂÏ#hÛD—À'„â¤Le!ÎûÀW‹ÅBLL 1114kÖì˜þùùùlߺ™[~@)úžÆõ~¥u'ö¸0öý‘ÃkºÓ«ïå²—„Bœ1—s÷ï?Èüù±sçTU%)©ƒõ'11¡ZÓùöÛøòËoÉËË'9¹wÞy ááaÁþ¿þºŽ7ßœÍÝwßI—.‚݇Sæ<;bÄtèplÍêáÃÇ0cÆ´cþ |¹ÈÈH:vîJÇÎ])*ŶmÛXüÝj\9?Ó >Ä„mDUUÙKB!N©“)Ý›>ýmúô¹Œ1cFðË/kxýõYLšôŸ*OcåÊÕüøã*ÆŒILL4Ÿ|²„wÞyŸ‘#ï*3L·nY¹ru™ÀƒÛºu©Ìœ9aÃn+7ô QâŒIS¡¡¡´k׎›nÎm#Þ ~Ë׈köaaa²—„âs÷x, M›6¡iÓ&\rÉŒû_܃:uj¡i›6mÅf³Ñ¶m2 ~Æúõ¿£i Ô U«fìÝ»Ÿ¤¤#­PìÚµ‡F°wï~Hãùç_)3Ͻ{÷S¿~â1˲n]*‹E!O!ÄùöNuó+ãÆ=ÅèÑÃHLL@×uöìÙO\\`ÿÎ;0cÆ\.¿¼']ºtà­·Þ¥oß+‚Ã\ýµÌ›·€¡Co%::’e˾Áå*¢Q£¬\¹šûѧϑV*–.ýš•+WøJ*mŒq§4BŸBˆ³Ë©i§«½Q£þÁ§Ÿ.cçÎݸ\E$%5*¸ºtéÀ¢EŸÑ©S»âÏùä“¥tëÖ98LBB.¹äžyæ</;¶åöÛ£ë:¿ÿþ'ÿùÏ#eæÙ«×…Lœø7ÞØ8Ò4KeͲQšbÊCdÅy(--í¤ÆÏÈÈ m[ùVœYRSS‰‹‹“c[q ©´!„B!O!„BHàB!„ø„B!Äßã”ÖÒMKÏç‹ï·òão»Øs0›ì<EE)®a¥A][×¥OïÖÔ«— {@!„âl|›w¤óÒìŸHÝ’FŽ ¹¦wKZ&Õ&¡VVk 5qÃ0ÉÉ÷°co.kÿ8ȘI_R;ÒËèÛ.¡M›–²'„B!ÎÄÀçñúxnæ|õã6†ÝÔ'¸’š1a( º‰WÓQÃ4±ÛTë8iÍ¥Ý⻽¿m<ÄóïüHƒèÕ<úÏA„……ÉB!„8Sßù l>-“ê±à¥[©]#œ"F~¯Ïi‚¦ëجìvšj:¦höOUº´®MǧòÑ—[¹mÌ žw=7”½"„gˆ ÈFâ| |;wícðƒqSß®ŒÜŸ¦“‘S„b‚œi*†&˜€ahÚ‘ñM3УÈãGAaÀåMI¬ÉÈÿ|À‹ã®"9¹…ì!„Bˆ¿+ðegçrç¸%ôíÙž;oèH^”@¨+((Àëóâõ›hºªZ©‹‚‚a˜eŸi‚a‚i˜¸=~Z'ÅòÏ\ǽO~ȼ"HL¬+{G!„âï|Oú€º5ã|m[\.^Ÿ¬œrróÐ Ã0QE± &6 ÔK¨…I ÔÏ0Š‹ýÝ0Ñ Ó0ÉÎ-¢}óš\vñÅ<0a>ó߸‹Å"{H!„â$U«¾÷ˆm*×öjŽ_ÓÙ¶ç0ë7nfÛŽÝdeç‘›ï¡Ð n•¼"¯f#:*¯×Onn!†nbQ-¦IfV….7ºaâ× ¼>|——‹:Ö%ÓǬ¹‹dï!„BœU.ás¹\¼>?•mZâ´²aË~2Ó¢ a±ØÀŠ¢Ú—wM ͯӼq-ÂBìÚ}€CY$&Ô¦ÐåÆãõât8©_Ío ëF ¤Ï6›B·6 x{ÑJ®ï›N­Zµd/ !„Bœ„*—ð}²ôG %–Œœ<~ßvýûPXËk£À礠ò =dçºp¹¼´h\›VMê`è:‰ µèܾ‘aèºN\l, uja&†a ë&šfâ÷øü:±Â"ê1áW²‡Î!ã§Leãæ­²!„Bˆ35ð-ù~±!ä±aÓòóó)ðXÈw«äøÈ+p“çÆi·qi÷¦´kÕ¢ ( V›‹E%<,”VÍW3UU1LM3Ð@%M7q¹|¦Aó†µù|Ån<ì¥sÄï›¶Ð{à^~kº®ËBœ&Ož\îû£ <¸Ì_!þòÀ—–vˆŒVÕä»5ÛømýÎ*"ß­›ï!7ßMn¾‡Œl ëÆÒ¤^ tÝ@UT‹‚ª‚ª(( hšŽnèÁšºEš_G×LtÝ ·À‡a˜Ôˆrr(×뾋ӥ<¶­"×^{íi߈Å<În—Ç&=Kÿ;G²?íl!Ä9oݺuå¾?Úüùóec‰¿7ðmظnl6 uj„q(ík7ç‘_¤“[PDn›Ü7ù…R·¤Qèöa·[QU›Å‚ÍjÁjUP•ÀKA ÔÔ5MLÃdßÁt  ‹|df`µY ±]ƒßÖm:©üüóÏOûFü+æq®Y±òº]3÷?Yh—Q!Ι™™üûßÿføðá,]º4X"·}ûvÆÇ­·ÞÊÈ‘#ùî»ïÊ”Ú]‚7xð`–,Y£>Z¦;ÀîÝ»yøá‡ùÏþCzzºltñ×¾­;Ó§MR<£÷bäí‰ w°:yùò }äxðxü¬\·‹Ù Wc±(ÄÕ#6&„V‹Š¥¸´EÁ0A7ÀátPà*"3+—O–~Ïš ¿cQU Ý^âjİu×á*­ˆ¢(<ùä“Ô«W»Ý΢E‹‚¥%÷íÛÇ%—\‚Ãá k×®lݺ5ØÿÅ_¤]»vN«¢ñž‡¨º¼ü†=4Ž÷?Y"Cq\nO…EùºòNÉ+¿ ÷„n/™={6:tàÕW_%///Øýõ×_§ÿþÌ™3‡G}”¹sçKíæÏŸ_æ}‰ØØX&NœxÌ0‹™xJ†ÏëÇf±Ó°^—tMfÁÇ_“[à',"L€Ï–of¡Ïϧӭ].¿¸5ªªû÷ ÃD×M|> ¯Ïäƒ%«ÉÊÎÆUX@˜3šØèP6ï:Dç&U_™Gy§ÓÉ€ðûýÇô_¾|9Ÿ}öYðsé/Y¿~ýp:•N«²ñEõôº Ó§L$1¾Žl !ÄqišŸfÍš±ïàî`7¿æÃfµùì÷a³Ù·¢îq5jc³Uÿ £¥à—~?yòd.»ì2Z´hALL >øàq§UÑyÄjµ§/!§Bké—Ê)PråÒ0MÜ/vëȤq# !ƒ½{ö•ë!'߃ǫc˜*ŠÅÊï[3ع7UUÐõ@å ¿ßÀçÓ1M…¿XÇ¢¥ß±ú·_iܰ>}{u ¿ÐÍþôLèòÊ”lå1 ƒôôôâ #&>Ÿ¯ÂqË›Ve㋪ q:xæñGøxöt {BˆjQ…-›¶²ö·µdgæ`³Ú‰ª|Ùlö`ÿµ¿­Å¦ÚƒÝKWò2 gHHµ—£uëÖ|ú駤§§3eÊ”`÷ýû÷Ó°aCêÕ«ÇÂ… Ë,wIi_é÷•yöÙgIKKãã?&99Yv¾øk_tT^Ÿ¥ø`5M‚%ê>ŸŸ?·ì$ßeà7¬º¼z(py(py),òq8«ˆ›€© i>¿¦é8ìV¤ç±hÙÏXì´i׃5›3™½ø'~ù}7~ÍOX¨ý¤ÿÈÉÉࢋ.bêÔ©èºÎ¬Y³¸à‚ ª5­ŠÆ/=Q±6-›³ü£w¹oèmò‹UQM“Nó–ÍèØ¹#±5cðù½dçe_>¿7Ø¿cçŽø _°{éáJ^šæÇétT{Iîºë.Ö¯_Ï„ ¸ú꫃¥q7ß|3“&M⡇¢qãÆÁá“““9rä1ï+sçwòì³Ï²yóf†*»_œ´*•e7iP‹UsP”h ÃÄ0M¬V+eðÜ+sp«uq†G`Zà«Y|Ÿ&hšAˇ_3ðûutÃÄDaëÎtæ~¼†‚‚|,zõjµ¦~BMróÝü¾- ¿nR/>ê¤VðÒK/%>>ÇÃôéÓ¹í¶Û ¥yóæ¼÷Þ{ÕšVEã—ž‡¨ØSÞ/AqBtMGU¶mÙNAA>õë7 f­lÛ²¢¢"z÷êMv^±Q5Ž·¢îš¡a·Ùqã­Ö²Ô¬Y“§Ÿ~]×ùî»ïHLL OŸ>ôéÓ'8Ü5×\À¿ÿýï`·Òïn†åèJ/¼ð‚ìxñ×¾ömš1ýý/ÑõÀuÝÀï,ͯ±zÃN\F4ΰÈ`Ø+MQµqS·dÒ÷R?>¿¦ÉÞÙ¬þ}/6ÄjµáÎËÄÔŠ¸¦÷ää¹hÙ(‘…_­$¹YýÊóß?qt¥‰’Ï_ýu°[ãÆùé§Ÿ*œÆñ>W4~éy!„8 Ã4hÚ<)ØÍç÷?—.É;ZEÝCœ¡8œ!˜äš «¢W_}•µk×âõziРA•Jì„8+_ƒõ©æ¢À­ãp(„…ØX›º‘¥ßþ€Ë¬#¢>ŠbPQÍ)‡Ýʯ6Òç’æ4iP‡"ý‡óù5u7¹9™8í6¼6~¿ЂŢRàÑ©šOrr ÙKBqžsÚ˜&Ç”ð•.¹ËÎË öèÒ¹+QQQ–ð¹½nBœN ݨÖm&÷Üsìqn>€^Ýëñå/‡©H~‘‡O¿Xξt7a±µQ•²íYTEQP7ý ò <|½ruâj°tÅ&ÞXð3ùù9(¦¦MZ‘AŽKÁíö¢i&î8Èmchذ¡ì%!„8ÏÙ6üšï˜¾Ò%w¥Küt´JKþ¬+a¡g¼Ë}ÅB_±úõâŸÏ¢°(]áWcsúPÐÀ4¬Öâ§j¨ ªEEUJJÉCv¾øa+ËÙÁ¡ÌB|> «Í V' µ¢ÈÎs³'ÝÇ[ $:2š´[¸atiÐX!NG å„-›¶ârÒ°a#bkÆSÂWÑ=|%ãtëÚˆˆò]y„„†¢i~ìv»ld!­§ôiÀ¢ïvÒ0>Šð¨Zجùnk$»‡Í‚ͪbµZ°¨ ŠZü5L üšŽÇã'2Ôæ°áñiøý:6ïÇbQpØ-lß—…ÇŸÉm½C¸à‚²‡„Bà°;ðù|4oÙ,Ø­¼¾Šîá+=^Ií]Ó4q†ã×4ÙÀB_iwÝz=_ýø^­‰µ¢Ùؤn´M ´Kg³Z°‡>‹ª¢ZJŠøL3Ðþž¦ø5¯_Ãf ´ c±¨X,*yn ì´¨}˜QCï$äÚGBqn1M“ÐP”rjéVµ„¯¢î‡£Ü†ú…8¯ŸÝngÒ¿n`äã‘^…¦ÔÃa³¢* ¦¨´¡ªŠªz¤Þ“a?JM3Ñ (Š‚ašx}™9.\^…k: íN‡dï!„Àï÷Ž×ç9î=|Õ©¥«ë‹½ üW&<<ü˜n………eº›¦‰×ëE;ªTÑjµât:ñx<Çô;æÄ]Á°%ÝŽ~_Þr–,WaaÕ_ZÙ4«³=Ž·<Õ8  yóf<õ@/~æ4{4~¿AT¸•P‡ »Í‚Õ¨°Bðr.ž5k?RÍ0L4ÝÀë×q{}¸Š|¦[ÜÒ””›ÉžB |aaa¨ŠÊæ-[*m‡¯:µt³ó²°XÔã¬ê¨(@•t¯(¬Y­V4M þ=^à+oØ’ ~_Õen;|Õ©¥(á³à÷Wï1™ªªâp8°X,x½^G•ƒ¦ix<G0¬)Š‚ÕjÅårVüD«ò›9«hØ’Ò´Ò¥j¥KÎ|>V«•¢¢¢2%{ªªât:ƒ%†aSòWÞ4EÁétb±X0 ǃQÅ’Ò’yªªZ¦$¯¼ù”ÞÖº®—YÆÒë$NSà¸ð‚îL­U“—ÞXÄÖCÑ(ª»ÍFLd¦©ã°YP-ÅM³šnâ×tT5pé×DE7íhþ<ê…îfèЋ¹öÚ¾ö„B”á÷ûq†„ ùNù=|‹o5Ÿ‹n·ÛÑu·Û}LíÞ£/c–5M+ó¼v›Í†ßïÇ4M4MÃf³Uø¬öІ=úíÑ¡Í0Œrƒ‘ÕjÅívc³Ù°Ûí^J=zú%÷>z<, ‡·Û}Ìxåm»ÝަiøýþcÎùåÍG×u<Ï1ËXÑ:‰Sø’’’˜üÔ½|òÙR¾ùq;£1v[Mì6VÕÄDGÁDU-hºŽÕb¢ ãñRŸî=ôíKÊ£HJJ’½!„âØÀ§)‰;Õ÷ðšþª^ó_%%l>Ÿ¯Lè;‘Ë¥V«¯× ƒv»½ÂÀWaË®«^n÷’q}>_¹÷ÜUÄb±”¹ôZQ‰dyÛ£¤dÔ4MüþʛıX,Á yô2V´Nâ4>€Rn¼+.Ëæûïâ· ?“–¯¢X¢°Ú#QUkàÞ=]ÇïËÃçÉ$ÄVÄU]èyÉÍ´hÑB®× !„¨æ÷£* 6›½Ò½)á3 ã¤Úà;‘¶b­Vk0 ©ªŠªªÇ´J¡ªê1—H«3ìÑ* d'º~Š¢àr¹Nhº•]²®ŽS1 |' 66–ë¯ïÇuפ¥¥±wï^223q¹ƒ)=:º>‰‰˜˜X­_B!Î_>¿†ªªøý¾JKôN¤„ïD_É¥Ô£/ÍV5ì•®…jµZñù|eJéìv{°ûÑãoØÒaª*Á*$$¯×\Ÿ’ eµZÑu‡ÃQnX+}9Ùf³a³Ùª|yU×õàeÝŠ¶_É|J†-¹ü+¥zg@à+ýK£nݺԭ[W¶®Bˆ“æõî;%|¦i`«æU&¯×‹Óé ­Ò¡¥¢{øJº›¦¬¡[Rãè ä÷û Þ«W€Ž7¬®ë„……QXXXæ}UÖ^:-©ˆ+F”µ’iú|>áááÁJå)o{x<žàöóz½Ç”X–žOɲØíöJç#ŽO1¥LTœ‡ÒÒÒNjüŒŒ Ú¶m+RœQRSS‰‹‹;¥Çö‚ þÖuzðÁÉÎÉaûö-¸òŽ”X)ð¤(*Gšÿ2Põ¨³œ‚i(ê‘î%)-+a‘Ü{ï?ùðƒ™4iMš4©ú ´8„U§tKˆ¿‹Ü<'„âŒfV››íÈ¥WÃ00MÓ,yxâ“f膉iV!ŠÛ5‹Ç1 M“ïTcy¼^o°¦¬gMà“M „âŒ=IY­|žªbÔMÂb±œ–y,_¾›ÍvB5n…À'„Bœ¤)S¦œöyôïß_6´8穲 „B!$ð !„Bˆ³Ø _Ò}þ…çÈU=GnŽ­æ£i*Ügf©÷zà¯^꽡ù¬›D8cñ-ȧ°°PŸBüͤv»çqà3 ƒýžC¸‹ò|†qÔ«8ÐùŠÀT/]]/õ*ùl‚hžO=5æ¸ÏB!„UsB÷𙆂ŽbšI”:“âWñgŸ—ëZ^Gr­dðûJ §5ŽX+ŠiE55 |B!„wàCÑÑKJñL|nlXޔܸ=\ÖàBbìàsƒ§ð¨Ò= ü&xMÐU0,:`êò€d!„Bˆ¿3ð†¦†iê{ô¼Eôjp!Ó/Šÿ»äa,†Zàr­ÛWĸ‹Ç0ÿ¶÷Ðv xŠŽ„=‰ÓFø¦ ) +:¨ø„B!þÎÀgê:(†¡ƒ¡aµØ¹+y 㿎P‹³øž¾@IžMµòå–¯÷ñc ër щàóƒ×$!*‘/Æ,åí;gòüàçÀg¢k ` kšì!„Bˆ¿+ð˜^øLLÍG‘¿ˆžõºÑ0º.v‹ š/PÂç-bÅöïÙ¹k+._!‘ö°@ /üßÀÿcYê×\ùô•¼ùÍlPœ˜ºrß9èÃeß²ÿPºl!„âl|Zqà3ÐýEŒ[þ_Š\…¼òÝÛÔ5pjNÐýø5/“úŒçíQsØ•±ƒ­{·€©à ¤Y­fLûâuü./[6¯Ý‚©«{ø¤„/í0“^›/Z-^qj™&ÚîÝxV¯Æ·iSà>ò³TEÏôýþûïiݺ56›ääd~þùçS:}qn;±fYt xóIT›p{ü4‰m@Rˆ¬ýåÆíxj8™º|cêcÃÂê¿€iÂßå!Ç•ËÈ^ÃX³}uâ¥OgbhU¯´1xð`æÏŸ/{ò,áók,øü+R7ocè ~ÄFEÊFâo°jÍzþغa7:ûWFÓpÿú+Ûnº 4 Õé¤ÁË/Ú©–øøsfŸÝqǼôÒK\qÅÌž=›Ûo¿­[·ÊÁ,ªäÄJøt·Vˆê2¹µÆm,¿é& ~ˆ¡W¢iL#^ûmîˆÐ!¯ ƒu;~cõ–_À°>+º£g=@›ÄÖüóê{ÉÎËÃðé˜ºŠª˜RÂwŽÛ´c7O¼4ƒ_6üišgôIqæ{Êç ×ËäWg0ôÁq¤ ·X˜&ÞõëÙÖ¿?‰ãÇÓrùrš/[FÎÇ“ñÆè‡òYÞxã|ðÁ|ðÁÜrË-ìÙ³‡îÝ»S³fM¦M›,I[´hv»›ÍFûöíùá‡8pà}úô!$$„æÍ›ó믿ç1wî\Z´hÝngÑ¢EìÚµ‹~ýúát:¹ãŽ;8pà(±[±bÑÑÑtíÚ•;wwúëׯ'99™=z‡ç¶*á3QHŠiǓݟ ¥û•àS‡‚L£^{mê:°:Á¯?uMÕ† zñ_ÕÆž´=ÜõÂP0mZº¶ÐULŒ@)âIÈÊÊâå—_fûöí4hЀ{ï½—øøxÌí·ßΊ+˜2e ƒfРA|ûí·äååqÿý÷Ó¥KÌøñãyî¹çˆg̘1ÔªUë˜ñ322xå•Wرc7æŸÿü'5kÖ$33“©S§røðan¸áæÌ™Ãüùóûöí¼õÖ[ìÝ»—ððpn¾ùfzöìÉàÁƒ1bsçÎeðàÁèºÎ‚ ¸÷Þ{ƒËWYÿŠÖÿLRäö0ãý1M“îí[Ÿq'Åi3ç2ûýEÜrýµò/…8'lÞ¾“G'=˦mgç ~ûέüøë×eºõŠo†{ÌÃÔ}w?y3ÈÚð-݆ ÄûÚ,ÌÅ ù³AMöågî ¥ÐS72,šk.€ÓR­åxíµ×èÕ«ÉÉÉLœ8‘åË—0fÌ®¹æyäž~úéàðC† aÈ!Ìœ9“E‹1tèP¶mÛÆ=÷ÜCÛ¶mùðÃYºt)C‡å÷ß`ÇŽ¬[·ŽeË–‘’’‚Ïç+³ ?þø#7Þxcðó_|ÁÁƒ™ÎùD8aO×A§8äYuõÈ_%l‘` †=ôÀ"l ߬Y³¸òÊ+yûí·éß¿?o¼ñF°_ll,'N<²T•©S§rÿý÷3uêÔ`÷ 6ðúë¯Ó¾}{Þ~ûírÇŸ9s&mÚ´áí·ß¦U«V̘1€Ù³gÓ¡C^}õUòòòÊ,[éñ_ýuú÷ïÏœ9sxôÑG™;wî‘4nµ2~üx–.]J\\÷Þ{o™å«¬eë¦ q2ü¦þtk—|Æoy?3ßûMšç]×™5ÿ#nyÿYö²²³Ø°ëz]~ôîÂE—vçŠËzúÛzâFÂhߘÎ÷àÊ«®"±yM²ëóø Þ›O'[W'4¢WRsšv©|µêÔ”¯¾û¬ÚËÇ„ èÒ¥ &L F|óÍ7<ôÐC„„„0vìØàð“'Oæ“O>aÔ¨Q4oÞ&)sóVúK¸ã Àî,{Ú‘°WºTÏ8ª„ïè°g¨ É<É>Ó4yóÍ7™?>óçÏçÝwß ö+öÊû|twÓ4QUµÜáKߦªjp¸ÒݾG­ôø“'O&&&†+¯¼²Ì/Â’áJî)/°UÖ¿²õÿ;ÙmVRú^ÁƒwÝ|F…½´ô îzpÿ}åM {Bœr ³±¨eÿSê?û,¶ÆYxQo¶-ø€¨¨(U!¶‘­Æ’óã kT9f&áõ5<Ö,{õkófdd0qâD~ýõWž|òI222¸üòËyî¹çعs'×^{äVäädrrr7n£GæÿÙ»Ïø(ªþïãŸÙš^IPZB“& (JE@Š  @ñFþ^v½ÄÞij¤(Ò.@•¢€Ò{ Ð’žlÊîÌÜ6,&Š ú{¿\“LÛ3gf™ïž™9óòË/pÛm·1nÜ8l6‹-"**êšï»bÅ |ðAÆOxxx™q$11‘÷ߟ»ï¾û7—ß}÷qôèQÞ}÷]î¸ãÙÁ$ð]Jãܹö<ÃO‹ä™GðFÂI :ÞîξõŽÒ'l.†=­œ`WÞ0µô›É |‘‘‘,_¾MÓX³f cÇŽ­ô2&OžLFFßÿ=ÑÑÑW&**Š¥K—b·ÛY²d ‘‘‘4nܘ%K–––Æ|Pþ·Ö¤$""" cÑ¢E×mÃ^õ¿Þª…ðòãp÷­­Êh!ÄŸ§Zp_އþßÜݬ7ízäågc4• |ÆZµpoßÌfŽÞõ–¶·âëë‹=ß@aa¯îδº_áóÓøÆ!Ï/Åj±‚bÒ)pdb4U¾‹’'žx‚7Þxƒ¨¨(^{í5Få:füøãÜvÛmŒ3ÆÕŠ6}út^{í5¬V+Ï?ÿ¼ëÒŸ¸¸8Ö¬YƒŸŸcÇŽeöìÙ×|ßaƱaÃBBBP¥L÷*÷Ýw 4`Û¶mLš4é7—?qâDî»ï>Ö¯_Ï'Ÿ|"” ·ãÖ©S%K“’‘†GN:ÇÏ­ƒÆÞ¯‚j/ zhÎG¤¡®ò2‚~ÉßW´ò@7à@G©D 0`@™¿çÏŸÏðáÙ2e C† !44”'Ÿ|²Ò•Ó¢E þóŸÿP¿~}žx≫Nóè£2yòd¾ûî;êÖ­ëšî‘Ga„ ¬^½š¡C‡rìØ±«ÎÿàƒòöÛoc0èÕ«6l¸.öz¬ÿõö@×÷[ä…ƒ¢œÒÿDF£‘GôáÖ–ÍnÚ›6rós0ŒœM>˱cÎkà‚‚‚iØ éùg8RûV%¢o£ÿ¢–踩XüUöœÙÉ‘4‹¸—lÛ9 æÒ3.:äÛ3ñ7Ö­tY.\èú½_¿~ôë×€š5k²eËìv;_}õ 6 mÛ¶|X>ÿ"Êüùó+Ü'†®ëäe¥sî§ïùEÙÆéF&ôB]UÑ*¨ ºj(}ц‹; Χh¸BŸñ²xáî]uòRˆöªMý®÷P#¢ÎßR1׫?UUùõ×_Y¹r%ï½÷žìq£þýû»~OII)wºËïdÒ§'¯<5ªÌ4éééå¶ú ñw‰'((èšÓ\~úͲoO›;™»ºuBÉóâÄÉãÎ/jÕB‰ŠlÀÑôí¬>2 w‹ƒ[¾I‡ž¨÷¢3̨E ÅYÔ"&O {ž‹¯Fq¦ö{‘s/½îŠAùãg† ÂÒ¥K)(( &&†©S§Ò´iÓ?ÿ@®(7t÷VâÆ`ªìNeÌO§û­|£q”8Ð4]ÕÐTÍùÓ¡¡9ÔK^šÃjW±; ”hFìW{©WêcÏ+áÀÖÍ[àû£>ùävíÚEqq1ááá<öØc²·Ý$¢êÖfaÜ×AQˆ7«•çŸNÇ6·pàè±›¨yBG×5B‚Cp+½¡ÁËÓ[±³'O‹/ƒE¿ìÐVÎYÛ{&«‰¢Â"<<<þp/íeá¯$aO\÷À :4¬fKa2†bÕô*ªCÅnWÑKh%4ÕAÕ0ª*š]TÕˆÃn Øn¤Øa¤D7£ê&TÝD‰j¢D5R¬š(ÑÌ”+¼‚þ¶Šù£­{årPâFжESÚ¶hzÓ”W1Pww÷+î`-(Éáxú!š`TÊÚŒŠw‹f³‚æfÆê¦àð0cR¬˜-l…¶ëø„øG>«0óÖYÁQ ]»ªãáæ†’‘Œ!ý,AÞh6sEnØCÂq~ùpv¾ì“w{&šÉDQV ¹V?ŒÕk¡Ù퀂^zª¢@@X„l!!E!f³ƒrõ‡ÝÍ‹÷ÐñçµtÅŒ9ì¾ãw-Âú“mK£G±V»¿†ÕË€µÄL¡ÍRÇBße/„èž^1ÜQRÄ‘YãiÜ>„Âbí»˜oíA‡víÊLW˜™Æ©%S©V„¿·ë7Øæ6"jÕ–­!„âê+“ “ÁrÕqîfo…óÜGk8¯µ¡ë¨3äŸÆQØ ÖÁúe¦5êj…ª(ù…ÔŽô¤ÆÝ¦}ûÞ<åê­\!„¸@UUÌV3“[™áÅV“óTlpw>yá~ºÜ?ž£3ΡºƒC/Á¿¸…~Eõ9¯fàWT£v÷‚PL¹Ù9RÉB_Eœ^±˜˜êg¨jaåéܬ„û£kŨö+/&5˜Îçêlø9ƒ®=üy ƒYó¾âΑÿÏÕo‘B`³Ù°Z͸™<Ë Ÿ²î1îi4Šy;_çÎŽ»†[Ìn8,ïÕØŸ»ÐÉ,9À¶¬lʘÅmz/²rÒ¯K9‡sŰiÓ&–n49òaš5+{'ôöí»™:u&#F<Ì-·4»êò“’’™?ÿ[Nœ8Á` nÝZ<ð@OjÔ½f™¦M›ø§o£É“§2zôˆ¿ä=/Ô§¢(øûû2dȃ4jäìTzõêõ¬\¹šœœ\5Šâá‡âååyÅ6 ªB¯^÷мyL…—]Ѳýžu¿´þnØÀ—º}ÕŠ6Ò(ÚȾuçX›ZƒÈžf¶\óÎ!¥ºBÁŽ lÿe·tð£ë¹$V|½®ƒ’Ý„B¸Ø °º[p7{—~6ç([N}ÏóçãiñEUUŠŠŠ¨P…’<+f¿ ýi–,Ò•¬œÌëVÖòö†ïÞÏô鳉\&ômÚ´Ö­[²iÓ¶r_\Ü—tíz'cÆ8{}غu'Ÿ}6ƒ·ß~åoßFññ~³®§iÓ&¢ë:{öìcþüE¼ùæKlÚ´ 63fÌcøûûñÃË™3g!=öH™r9*fÆŒÙW¾ò–ýG·eêï† |9'Ãþ´lU¹c*ßït£ñ°ÁÔª]±ëñ´ÚµØ5ñ,ûNѼ¡™Ô5[Ù¼º:mïè$ÿ !„ ??wONÍœÍÏÓæ‘öÈó¨Þ<ÜúÝ‹ ©)ì?¸Ÿ°ÐΧEcóÛîlÑQ̨º³Á »Väúi1x€¢‘“U©òdddòùç3IO?O]˜?Q…ôÍšE;˜Ï?ŸI\Üxç±4'—S§NóÎ;¯ðÒKo’““‹ïU=™ŸŸOxx˜ëñœíÛ·¡}û6dgç0sæ<Ž=N@€?±±ƒ‰ˆ¨ ÀæÍÛY¾|%éé®ÖÅÌÌl¦OŸÅÉ“§¨Q£:±±ƒ føð1 ú ,¢W¯{Ñ4•Å‹—¹êÉ“§™;÷kΞMÆÓÓ“Þ½{ðå—󀋭[~^«Låyë­qtìØŽÖ­[¸ž\nѢФICââ¾`õêu<ø`ªU  gÏ{Ø´iëUæƒA¡mÛV^öðácèׯ›6måÕWŸ'##“éÓgsêÔiÂÃk2|ø\ë^^ý^­NÞ~û£2õ÷gùÝ=Mee‘±r·FÛ±ÂÒMfüî}¨ÂaÀ`49ôqÖìð'+S£C3nÛ–rä*=’ !„ø·¾<=<¨Ù§7Ý?Àˆ>mѧ &·ºÝ5]‰½‡ÝŽ›Õ{ñÅgä6ñíJ°µÍüîÇÏJ›€xýèô(²ó*w ßüù‹hÒ¤!|ð:¹¹yeÆ >¦Ì«¼Ð§ªªëï-[vЬY4îîî4mÚ„-[v\u¾‡êÏÇƇNfÙ²;vñ‰)sç~MÕùøã·¹ÿþ{˜9sžk\zúyÆŽ}Ž‘#æóÏg–N¿NÚ3iÒûtëÖ™¯¾ºØ™ÉdâÙgŸä—_~%00ÐP¾ür.Ý»ßÅ”)2zô,Xì )—‡•k•©Hrr*¯½ö>³g/àôéÄò4íÛw»^rrj™@iµZèÔ©ÃÛæ±ÇþÃĉŸS¥J@…— àïïÇ‹/>ÀìÙ hØ0’I“Þ'2².sæ,¼lݯ^¿W«“òêï†iáÓì%¤;¼X¸ÍLq¡Nq£–tjݺÒËq ¤Úý0ké·˜LìF#ެ,ùN!Y9øûš0ûúÖÌ÷âñÃìΘoZЮVoµ|Zµ©Q›ãÇO’¤î"0)VR-;É)9O’¥›á'-?S¬äp x õ á8%•*Ï¡CG‰‚Ùl¦[·»X¾|•kÜï9hoÞ¼úкu æÏ_D—.W>вe˦4kÖ„'NqüøIæÍû†N:СCÛÒ2 ÆjµÒ²eSZ¶¼ØT·n1›Íe‚æ‘# eN#»¼iÑ"“ÉDZZ:110 ®ùž}öIÖ®ÝÀÖ­;ILLÂf+üzºz™ÊVzÓ»wæÎýš·ÞwÕ:>| Š¢àÏС:‘ †k^Jvé)ÝC‡Ž0kÖ|:w¾½Bˈ‰iäj]MH8ÁãÃl6Ó¥Ë<óLÙÓêåÕïï©“¿=ðy‡Ðú‰—®K!6¤cé3…BˆKÏ:‡oXHÙF]¥cÝþD·aÊêg 5í¤SÓøùú¡§Yѵ"Ö%Ífpã),ÎC1fW0ZtÔptPìƒR©ò\*t]«ôúìÞï gÎ$qöl }4¥Ì4gÎ$Q³f+æ5Ô«W‡zõêбc;^xá :th‹¦•_Ž !¥l –ÎøñoãííuÍé —=×~Ò¤Ï騱õêÕÆÏÏW^yûš­d¿åÒVÐiÓ&’˜x–·²wï~4¨ÏÿûÌ5ÃÛ¥6¬Ï™3IÔ­{ñLãÉ“§©U+¼lð1iØ0’üü‚ /ûòz¹t0 WÔSyõ[‘:ù³äŸ!„7²Ìì tE-{ðRŒt‰ŠÅÃâCåNfmEÕœ§w}}}qœw§(ÝÈ΄ÕÄìÇ'[cú¡áÄíÁ§ÛF2óÌ£|²u$ûÏ®§²ÑmР>+W®&==ƒI“¦V:ìMŸ>›‘#œ7kôés/Ó¦Mt½z÷¾—M›¶]1ïK/½ARR2àìªæôé$‚‚œÝ™EFÖeÅŠÕ”””°k×Þk1€zõjóóÏkÑ4 ¶ðÞ{W¨üÉɩԬYƒêÕ«±té ×pEQ°ÙÊögX‘2]ºÞ3gΣZµ^}õy† @xxX…ëöþû{ðí·KHOÏÀn·³dÉOlݺóŠé•µk7” †•U¿~V®\ƒÝngÅŠ_¨[·V…ê·¼:¹Zý]o&ù§D!Ä,+'³ÜçáÍ£Âðt·8¯Æ/ |”X0ºëxx©$šÐUÐ º j±‚b4àUÓA±W*ºR­Rå8ðââ¾dýúÍôïß‹S§N»Æ]~ÝÞ… saø¥Ý²¨ªÊ¾}yå•gËÌsûí·òæ›ãèÛ·g™S­?þ(K–üĉ§((°Q·n-Wp|è¡~|ñÅ–/_EHH>:øšëðÐCý™1c6O<ñ !!!Œ1´BëÞ»wÆÿƒA¡{÷»ÙºÕy½aTT=ž~ú>ûì£KÞ£re®¨‹Ê ­JÇŽíx÷ÝñÓ¼y4C† ¸bÛ˜Ífj×gÈ÷{ Ô—iÓf±|ùJ""‰\¡ú-¯N®V×›2þ|yê²øWèß¿¿ë÷”””?´¬ôôt¢££¥RÅ %>>ž   Ô¾CBÂQv\OnñÅþòt´Ò—Ž®—¾J‡©ªÊþã;±xé躆¦;‡kºêü]×ÐPÑuª¾,ýd‹¿ùžuëÖѺ×¢«ªÊ¦MÛX³f=cÇ>';à¿ÜŽ»™>}¶ëîë´ð !„¸aÙívªJ€G(.öç©*ª¦¢é¥?5UWÑU‡®Ò2¬+šª¡ê¥ã´‹ÓiªŠª;P5 OÍ«å%%%×¼àÿR_|1‡½{PRRLÕyä‘A²¡'Nœvµ¸ÞïÒV!„âFÓ«……-³ŸDÓJ¯ãÓ)mÑÓWNÓ5çïº^ÚÕò…qúÅaZuÐÑ)С©ås*q߯°aò€q¥~ýî¿¡Ë'-|B!nXƒ÷+Dvn€ÉtY e® œýË *}ç†7 |B!nXû÷ïÿÓßcìØW¥¢Å?ÿËÓŸý¹¹¹ôë×¶mÛräÈ©q!„BˆRàËÉÉaÀ€lذ›Íƽ÷ÞˤօB!þ ïBØ‹gÙÒ¥lܸ‘ÈÈHz÷î-¡O!„âf|ÂÞ¾}ûøöÛoiÖ¼9žžžÌ›7úõëKèB!„¸™ߥ-{³fÏ¡uëÖÚ!'¯ÕáàÓO?¥^½zú„B!nÆÀw!ìíÝ»‡¸¸©´½ív2 ¡È˜=È+R±Ûí¼÷Þ{ú„B!n¶Àç {{v3î£ ´½ór  ØÅ(QÁݯ y¶blù¼øâ‹Ô•Ð'„Bqs¾¬¬, ÀîÝ»xý­÷¸õî>äC‘ìªó¥)™‘MÊÙ$rò ÈËËãñÇ£nݺôéÓGBŸB!Äø^xá¶mÛÆã$*º£‰8JÃFHOMgǺŸð«R•˜6ñð­‚ÍV@DDçÏŸ§oß¾ú„B!nÄÀWTTÄŽ;0›Í˜ÍVîÞÈÉ# è°k ˜à\ò9Ö­ø†µ¨Ó  Šb¦AL üƒjðëÚ5äädc³Ù$ôýÃý`û•ŠB!n–À—œœÌÂ… ™3g}ûö¥¤¤„/¾ü’c GؾúŽ:ˆÅÎ¥œãçïgS="’Æ-Zã(mùCWˆi{+Ñ­;¡9T òó±ÛíúþÁö:B§>ƒ˜üÅlTU• Bü«)Š"• nÜÀg·Ûùúë¯ùî»ïˆŠŠâ–[n!**Š;3“'O²dÉRNž<ÁºesXóÃbV-šID´êpª š~ñ 5ÐuBªVC1°ÛK*úš6mÊ´iÓÊ ›6mM›6­Ð­GÚ‡ïÂòäC}QaQ1/¾ý!=~Œ¤”T©!„âF |YYYŒ7ŽªU«Ò½{w¶lÙÂÔ©Sùᇠ¥{÷îœûŒüü|òòòøè£Ø»wo…ÖiÙ²e®ßu]ÿS*ùÏZîÍlí¦­´îÞ‡…?,—úBÜTNŸ>M›6m¨R¥ 'Nt}©_¼x1‹³ÙLÓ¦MY¿~=gÏž¥k×®¸»»ÉöíÛ]Ëš5kQQQX,/^ @bb";vÄjµÒªU+Ž=êj<˜1c>>>L™2… &àéééšOˆk1UtB›ÍÆÄ‰0`ªª2cÆ òòòðòòÂÛÛ€fÍšaµZY¶lžžž4jÔÔäDÆÇÝ"G1 Pd×™ôþ›d¥Ÿå ŸL½ÈF˜F¾ž7 ƒÁ€Ùl¦ÿþ¬X±‚êÕ«_³l½zõbÕªU®ŸÝºuãÈ‘#®È¥âÒ¿/mÓu½ÌÏéÓ§óÔSOñÎ;ïàp8xùå—™3g½zõ"11‘Aƒ±uëVbbb˜3gõë×çÔ©S 8ýû÷3cÆŒ+ÞsëÖ­<ñÄìÛ·ÀÀ@Þyç~øáíΗ“›GìÓ/¡ë:ý{Þ#ŸF!Ä5%;ʃûá:}I´X¬tºýNÜÝÝ+5ߘ1cèÞ½;Ï>û,o½õ–kø Aƒ4hÓ§OgñâÅ 6Œ„„žxâ ¢££ùæ›oøñÇ6lûöíàøñãìÞ½›Ÿ~ú‰þýûSRR¨Q£5j+W®dùòåÄÆÆ²nÝ:¬V+k×®eÀ€|ðÁÌ™3Ç5Ÿ×¢èl^ùä“OhÙ²%AAAÌ›7»ÝŽÙlœ-Xº®£ª*‹…;wòÓO?ѦMªWÅ`4ÑgÐHÚÜÖ–’b˜ùÉŽŽçÅ×? ¨jŠ Á`ø|Òx¾_ðìØ±ƒO?ý”‡z¨üPŽ9Â|ÀôéÓ‰eðàÁÜ~ûíeBÜåáëòŸ—›={6 6t}¨t]w}¨î½÷^ Äý÷ßÏòåË™0aëÖ­£G´jÕŠ§Ÿ~š÷Þ{·Þz«Ì{4lØ7ß|“ûî»øøx:wîLVVÖ¿fgëõÈã¬Z·Ñõ·¯7¿þ2}ïíö—ŸöNIIùCó§§§-ÿ‚ˆJ||ÿüó?\1<ðV«•„„zôèÉdÂn·°fÍ–.]ZæÃ°víZ,X€§§çßü~ýõW>ûì3þ÷¿ÿ±{÷n²³³ÿµ;ÞííZ÷Á›Ô¨VU>…Bˆ |IK¦Ní:ä]u|qZ:¿´lM·GQL;yåááI~¾syù‡×’þý+t~ß÷_s>íÂõI—ý>zôh¢¢¢Ø¼y3½{÷æ™gžaäȑ׼Iíj­‹š¦‘––vÕðîæævñn2ÉŽ!*¬B×ð­^½šV­ZqîÜ9 ð÷÷ÇËË OOO|||hݺ5ýû÷§GtîÜ™Ž;òÞ{ïñÜsϱsçN|||ñõõfÉÂ/8vp7O>7–ðð4XŒ`6‚—'ìÝÏÚßrúôi222xûí·iÓ¦M…V¤C‡L›6fÍša4¯:Mnnn…+ÆÍÍÍÕêtù‡ê‡ñBËæ…¦tEQ\þ«}Ûºçž{ eÔ¨Q,_¾ü_¹Ã¹»Yy÷ågù~fœ„=!D…b0”È2ú²»ïÐ ‡½ ÿN›-rv-ƶgŒGÏ?EÖÆYל¯sçÎŒ7Ž'N”¹ñ¯Q£FdeeñÒK/1jÔ(^~ùen»í6ƇÍfcÑ¢EDEE]sùíÛ·g„ ®Ë§Úµk';€økß…&ëììl¼¼¼\aÏy^#š6mŠÅb¡¸¸»ÝNqq1ùùù >œ'Ÿ|’5kÖàææNõêaxy{“›™ŽQ¹$ì¹CÂáV.ýšÍ›6’’šÊ»ï¾ËСC±X,Z‘þýûó /гgÏ2ÃÍf3‹/&33“xàŠùE©ôiÕò>Œ;wæ½÷ÞãàÁƒ´hÑâŠù8@³fÍhܸ1o¾ùæ¿ngkÒ ’5ßÎeô°Áå†r!„¸zà³a(ýwãࡃ¬ß°ŽõÖqîÜ9ÖžšGv§µìK]S©À畼â„Uµë‰¶ùy|št%ãçÉלoòäÉüøãÜvÛmŒ3Æuœš>}:¯½öV«•çŸÞÕƒD\\kÖ¬ÁÏϱcÇ2{öìk.?..޵kÊkÃ1 IDAT×âááÁĉ¯è‰BˆßÃTÑ…Á`À`0àããƒÑht~32›ñññ!++«L³6@ff&ªªrÿý÷“““Ãܹs2d~~~¬Z¾7³&"8q:‰_^Î/?ÿLbb’+ìU¦¹:""‚˜˜ºtéRfø‚ èß¿?^^^¼õÖ[¬ZµªÌø;jÕªQTTTá÷Š‹‹cðàÁxxxÉÿþ÷?¦L™Âƒ>È×_Íܹs¯h|÷Ýw¹ë®»0¼ôÒKÌ;÷_µ³½ñÜÿÉ'Nñ»Ø lK[øEÁ`(û¥QÕì4©Þ‡f¯ð2óö|G-s2UÚÞ¶ûh8ŠôÕS èôØ5ç«Y³&[¶lÁn·óÕW_ѰaCÚ¶mËÁƒ¯˜><<œ_ýõªÇÖ«ý]»vm6nÜxÍéËû]ˆòTè¦7Þxƒž={¢ë:®fõ 7$8¯Ó»xѽªªØl6TUEQ|}}Yºt)³fÍbÔ¨Qâp8¸»K<Ü=øù—Ÿ™1}:‡ú]aOˆÊ’›6Ä?Ñ?ù¦oÃ}÷ÜKAA~éÙ$ç¥4îîFV&L#5ÿMB:Ñ,ôîß\^á¾eS¶Ô¦;úžqÐàqÎÇoÅEàm±×œwÈ!,]º”‚‚bbb˜:uêoöý*Äß­B©Ên·“––F­Zµ(..Æ`0 ( ¤¦¦b0ÊܪišëÇ…:ŒÅb!..ŽçŸž¶oÛ†ÕjeÞܹö„B”°2]ǫՊÕj½¼ý‚„´x¢«þö·Î°·ý’°÷ {àì;OˆdàÓ4äädÂÂÂð÷÷wµÜ¹»»“˜˜Hvv6&“Éõa¼ôf†*UªÀ°aÃpssãã?fìØ±Ô¬Y“ñãdzk×. {B!Êe4¯yê²c­ü´ÚNL—ήaŽÜ\LÞÞpɨÂ}Ë0¥î J›®Î°5’ôøm˜+ö„øG¾Zµj‘””D`` Í›7wµâFbbbøõ×_INNFQEAUU4M#44”æÍ›ãëëëš>66–sçÎñúë¯ÄñãÇ%ì !„¸&³É|ŵâ—r3y‘x2ˆ&¯v kôí$níu'uÆEQxê©§˜2e ;wî$''‡cÇŽQ£F ÂÃé^½:ÞÞÞ®S½999$''súôiΞ=Kqq1gÏž¥jÕª<õÔST­*OYBQ±Àçîé§žãç6·²íùÏÑ F²½Þ}àWسÛí:|ßœýÔUÎP¥UôøñèõcÉŒÁ`$//ﺕµ¼ saøîÝñLŸ>›ØØÁeBߦMÛhݺ%›6m+7ðÅÅ}I×®w2fŒ³ŸÀ­[wòÙg3xûíWþömà7ë ²uv­i/}?q81öÿ÷,[¶Œ¹sçâîîNjj*û÷ïÇd2a6›]Ïœ-..¦¨¨UU äôéÓtêÔ‰âçç'5/„¢Bò òñôð@×5,ÁA´übÛwàÓm_’S”†»Ùƒr¡3fgK`MÓI‚õ%ôúrn<ó–®g]f >>» ­Æwvfÿ¾}4iÔ___|}}Ëô+{5™|þùLÒÓÏÓ£GæÏ_TáÐÒ¬Y4±±ƒùüó™ÄÅ ''—S§NóÎ;¯ðÒKo’““‹¯¯Ï•õŸOxx˜ëLZûömhßÞÙÁvv3gÎãèÑãø;˜ˆç³è7oÞÎòå+IOÏpµ.fff3}ú,Nž| ýúõbÓ¦­¼úêóÿúÏ‘á÷ÌtÏ=÷Ю];×7222ÈÌÌ$--³gÏ’——‡››5bĈÜvÛm„‡‡3bÄ {B!*øòó±X­Îþ^ Bîè„ÕbÂj1áåæÏ’ÓxöǶä§c6›©W·>Gâw` ®‹bñF‹y޳{wóê¸é|¾1S§NsìX»wï¡°°ú‰>úˆ7Þxƒ×_ýªOŸÔüù‹hÒ¤!|ð:¹¹e[‡SæU^è»p;À–-;hÖ,wwwš6m–-;®:ßCõçã?ãÃ'³lÙ Ž;á7wî×Ô¨Q?~›ûᅦ™3ç¹Æ¥§ŸgìØç9òa>ÿ|féô éÔ©=“&½O·nùê«ùewž}öI~ùåW]àË/çÒ½û]L™ò!£G`Á‚Å®°{yè½V™~«ÎæÍû†F0nÜ[$%%—™þò÷›={ F2iÒûDFÖeΜ…®iýýýxñŧäCD%[ø.5xð`^ýul6ÁÁÁP­Z5"""ˆŒŒ$ “Éĺuëøæ›oxê©§äN\!„•–›—GÍrž¿SõN·çPÚFÞ[<‘w¼Å—_ÎäÀæ·´¥UÎÿ‘zæ$³–îgUª7>øãëë‹››ežím³ÙX±b·Ýv[¹å9tè(±±C0›ÍtëvË—¯º"ŒTÆæÍÛ0 ­[·`þüEtéreÒ-[6¥Y³&œ8qŠãÇO2oÞ7têÔÚ––i0V«•–-›Ò²åÅ'tëÖ³Ù\&h9’Pæ´è¥uТE &“‰´´tbba0\ó=û쓬]»­[w’˜˜„ÍVøõtõ2]-À]êÈ‘FŒx«ÕB—.w°lÙŠrß'!á?> ³ÙL—.wòÌ3OqÇÄ4*so¾ßÁ××—W^y…iÓ¦±oß>ìv;¾¾¾qüøqV®\ÉÖ­[1 üç?ÿ!&&Fj[!D¥ååæb(ç4k«÷ ê*ù6øÔÕ<úè£Ä®[AÜ¢¼–£âáቇG8Mš¸c4š0™Œ®ˆììl<=.Þ@èååÅw\ûieŸc«Uz}vïŽw¬3g’8{6…>šRfš3g’¨Y³ÆóFêÕ«C½zuèØ±/¼ð:´½f…W <š¦3~üÛx{{]sú R½`Ò¤Ï騱õêÕÆÏÏW^y»Ü÷½V™~›rI=ëÞƒ¡L™%ì]‡ÀàïïÏsÏ=ÇáÇپ};§OŸvuÀ̃>Htt4^^^RÓB!~—œÜ¼ÒGx– B¼j1´³/UÉ*2².+V¬¦k×;Ù¿ÿ‹/åÍ7_.·õêÕæçŸ×Ò³gw6mÚÆ† ›yá…ß>õ™œœJÍš5ðcÁ‚ï.Æ3EÁf³ááááVÙ2]ªaÃúüøã*Z·nÉ”)Ó®Œƒ—¼_ýúuX¹r ]»ÞÉŠ¿P·n-ùÐ\ïÀwATTQQQR›B!®»ÜÜŒF#Gù/Â?šÿ+C¿¿?þþþåÎg6› &44´Âå8ðââ¾dýúÍôïß‹S§N»Æ]~ÝÞ…Ó•†_Ú-‹ªªìÛwW^y¶Ì<·ß~+o¾9޾}{–9Õúøã²dÉOœ8qŠ‚uëÖrLJêÇ_ÌaùòU„„ñ裃¯¹=ÔŸ3fóÄψC+´î½{÷`üøO1ºw¿›­[w”æ€z<ýô+|öÙG—¼GÅÊtµ:8°/S§~ÅŽ{>|ï¼3þ²Üqñý êË´i³X¾|%áÄÆ–ÍU(úµN(Ä?TJJÊš?==èèh©HqC‰'((èµoGEEq&1‘„„ÃÛ.Ms€Ž¢t¥ô‘¹êèƒófKN _ú»ÕâÆèÑcøzá×lÛ¶[n¹¥ÂeSU•M›¶±fÍzÆŽ}Nv@qC“»(„BÜÐtMÃd6AÉÅ ¦iº®¡ëjéïºóoÍ9NCG×4tMw>ÿ]/ý[×Ð4çµwš®ãnuÃÍÍZ©ò|ñÅöî=@II15jTç‘GÉFø„Bˆ?¢WK«'ö@µ;.Îÿë~–Ó]cJÿ+;ìÂt®é¦Æ\fW¢<Æ=$EHàB!®«ÕÊÊCVÜ}?f¯?çŽË/–›[öw¤ !O!„ø ìÝ»÷O^xA*ZHàû#Φä1õ«Ô«ãGIQ÷•B!„ø‹ýií׎dðÍò¼¼-œKI%¦¡…S§NI !„BüÅþ”¾ÕSX³ñ4Š^L½šÐ°~0DDDH !„BÜ̯¨XcÁÒD’Ssô7ѸŽ_#aaaKm !„BÜ̯¸Dcᩜ8“KxˆFL¤‚‡‡7áááeµ"„B!nÒÀ·xU%*Ô …&uU9…+„BñO |‰©%Ø#%…Ù4®WRnØ+,rpüT6gSòp³iÕ<w7éF!„â†|g’‹ õà@jžÂÂÂÊŒ?q:—ñilß“‚¦iÔ¨îCvV?þr”'†µ$¬ºŸl !„Bˆ9ðYÌ:i™EØU#‡N¨:ÎÝ0„ƒ Yü²þ,Y6j…ûsWçú4n‚A{‰ƒ–Æ3ñóÍÜ×µ>ÛÕ‘­!„Bq£¾&õ½øyæiLF 6Ý·ËNòýªd,#õêpçÝQh&+>n Šnn&ômÎâö²`ñŠ‹‹¹«SCÙ"ÿ`c?˜@¿ûºÓ8ª¾T†Bñº./<^„§—U«û’””O@Z·®Iÿ~ÑD7Ç^`%i7lX šiùvv§¦r.¿ˆ>=chÞ´‹–fý¦#²EþÁö:B§>ƒ˜üÅlTU• B!n–ÀWT¬±ç`6Ù™9¤&eÓ¢E(½{7¤QÃ`¬#ºÖþ?ýÕ«ÃÙÜ"âmßñMÚ«ü2 èÛ§9-›×dáwû9x8±RïO§NðððÀÛÛ›.]ºÍyEùCãÅïWXTÌ‹oHχ#)%U*D!„¸ÑßúíYL™}’¬Ü"Z¶¬J{ëS»¶¿k|‰ u¸w¼9¢[€jÈfeò ŠT;ݪßí<Å èÛ’°Ìþß22s*\†¾}û2xð`233IKK£ÿþôéÓçšóèº.[þo¶vÓVZwïÖËöB!nÄÀwô”Oç%±yo6áµü¸ãŽ""ü\áMŠì”¸ŠV[ž¢ÆÊ§É¶AvA15 é¼9‰›A˜gD™åÆ>Üž|›Ê‚o¶Uø”ßùóçiÞ¼9nnn¸»»3lØ0gKÝÚµkñóó£U«Vœ8qÂ5 11‘Ž;bµZiÕªG-³ìß/þ˜œÜžò3yy<ûñööþͲÙív¶lÙ¦M›˜?>£Fbøðá(ŠÂùóç $??ŸªU«’ŸŸ¢(躎——®å˜ÍfJJJ~s¼ø}z=ò8«Ö9ùííZ÷Á›Ô¨Võo)KJJÊš?==èèhÙ¨â†OPPìÛBˆ+T¨…oçA?mÈ&8Ô“ÈFÞį›IÛÆU ôu',,ŒªU«âi5rlÏ/dOvµÜ©;@LžõȨ>ŸœÀW),[IéDWѯw ΦÚXù˾ ­„Ùl¦C‡<ÿüó¬^½šgŸ}Ö5Îjµ iF£±Ì|𦑖–†®ëèº~E˜û­ñ¢òÜݬ¼ûò³|?3îo {B!„¾«(.Ñð©âI•PoöïÚ@—N­Qooo233ÉÈÈ   «ÕЉËÎí^ê íœã|Ë…” {™ëþ.œÚ­Yßvmj³~s×,[:u\wåÚívvíÚE:;q8p ‰‰‰¼ÿþûÜ}÷Ýeæmß¾=&L@UUf̘A»ví*5^TN“‘¬ùv.£‡ ¾"| !„âÏS±Ž—uMÕ(Q!åønŠëßFnn.………äää‘‘Aaa!žxûú— p…%]Åvç)Û´” â·æ|z·ßÑ„N·†c½¤$ª-ÚE³iË öÄçÎNåíÛo¿å7Þ`Ë–-dddpë­·2þ|×øûî» жm[fÍšUfÞ¸¸8Œ‡‡‘‘‘üïÿ«ÔxQ9o<÷R B!Äß B×ðmÜÇ®£ÅÔ¨_…ŒÃ?â®e¢iv»ôôtRSS ¢Çýýð¨R×u]^^‘óUìp†¿Œs™Üu”sgÓ ®bÆÛÓÀá„¢…sÏ=Mñt·  ¯Ðy:xÊG_së- pÇï[¹Òkñ„¸œ\Ã'þ‰ä>!Dy*ÔÂ`¦Ø–‡¦CãÖÝH;¶‘¬s§(**"°JšµhE½Æ­p<±kW¹EÎЦ(žÅÑøã¤§œ'¸Š‘nªP5Ø‚··7" øá§cÌHÉàÎîm ñÇ ÀÞ‡).*!´ª‡l%!„Bˆ?;ðùzQ*šªQPb ¬Á­Ômr+fƒ3ÐÙUÈWá|ä:‡H;“Ê™„Dr2s0Ð¥£!Af¼½½©V­ÞÞÞÔ¯uëVeæÜ­,ør9Õk†—“OnNwt¨†·ùw¯œ´î !„BT´…/Ð èØòŠp³zè 4Íìƒ3ôe@IQ1ç“ÒH>ž„½¸˜Za&ÚÇøàïk,ô.U;¢ÿ}¶;ë7î#áøy,U=©^o3²•„B!þìÀVÍJVf^~8T°\˜SqÞ án†ÄçI=•Œ‡šÔS¨Uà ‹Y!00àà`<<Ê?=k±X¸³S ZµÌ#//“É„ŸŸ‹E¶’B!Ä_øªZ9³;›ªQPVóÅ»pŒ°åP?ÜHL”‹ÅBHH•ê‚ÃÛÛ»B- !„BˆŠ©ð£Õ¢#½P*9é¹ä^^¦ ÜÝ 88˜&Mš,ý­ !„BÜ,Ï×ÛD3Ùi9ØUgW+eR £c·ë®§[!„Bˆ›(ðÜÞº Ù6 rlλqKÞ‚ó¦ JïŠu8R³B!„7cà ¯îAªRާ_|1ìéóÎgæ !„Bˆ›8ðôêRƒÂüB’ŽŸãäy8zNœw>'W-q KìB!„¸¡˜*;ƒŸ™ö-X·5ƒQ! Z y™¹¤žL¦ 7ÿºf©U!„Bˆ›9ðtnJVv>{&ræÐi4M%4X¡y+Á†kö·'„B!n‚ÀзG}úö B!„¸Ñ¤ „B!$ð !„B |B!„BŸB!„À'„B!$ð !„B |B!„âº>mïPØ À:…ü-ÃÉÊÊÂ~úkÔu÷a;ð)¨ª*5,„Bñ7«TÇ˺í$ZI&ºW Jönhxƒ×–éd¯ß¡ä8ÆŽyx^BJÒ^ š½I@@&“IjZ!„âF|º= }ÏýMñÚZãnßE€ÐüØÙ€Ÿs©ÞKq*¾ Æfâ§ž‚À¦(Š‚Á g‘…B!nÌÀwêc ÁñPÜó¶‚x€ (ªàÕî<ãGSüÃ;`Já|ćX?ŠF£Qj^!„âF |Zú §Jçð+¸8qÙÒl@!p¨ Ö–)èîàùó+ !¼y|}}¥¥O!„â/RáÔ¥94È- rE@ÒeaÏXKi Œ(î8((ɆcçJÈÊÊBÓ4©y!„Bˆ¿H…Zø´3_8[pi˜+R Hsãç¢{8omŒÕd¥Š–D˜cQÖ-ÎàçóÔo2˜kCÕSÿ#?ÿTU•9„B!n¤ÀÇñ×±œq8÷ÒÀç€eExµk×&00EQÈ-(`Kæj)ãð¶f€PÞ^P?óÎ/¹›ÓGûSÔêu"CÜ1›Írz÷_bìèw_wGÕ—ÊB!þBJZ†ì3 ”N]Xúr€U#<<œ P¿~}êÕ«G£Fˆhú0ÇÍßP@ó4o°3(·€†ÝÏ¡˜Ä„õ§úC.ßìH#//OúìûØwèú bò³e{ !„7Zà£ç]¸@Î>h`؆ÙlÆÍÍ ‹Å‚ÅbÁÓÓ“àà`¬Õ[òUö—ÎÀç”ÎW>Á`2}Ï¢Uø~1ŽžÂf³¡ëz¥W >>žN:ááá··7]ºt!>>þwUF=dø“óâÛÒóáÇHJI• B!n˜Àpªôu¼4¸iPÃï~gf’ÃḸPƒO›yëóìC'Ž­Îùl©p<Á‡5ÚP|NÚXÄ;ýøhåyžY˜ÊÙ´,JJJ*þúöíËàÁƒÉÌÌ$--þýûÓ§OŸßUË–-“=â/²vÓVZwïÖÿ® /„Bˆëø4‹xâ¼Ï È/ }~ÐDÿ‚ÂCŸ‘••å:M—nÓØuÒÀ¹l_Ýï<ŒsžÌX®Â}O>5×&ŸÍ©*¾ÄùTe¶¿/OÌÍ$))‰’’’ ­ÀùóçiÞ¼9nnn¸»»3lØ0ˆŽŽæÈ‘#®éÂÂÂp8,^¼‹Å‚Ùl¦iÓ¦¬_¿EqòÂÏÄÄD:vìˆÕj¥U«V=zÔ5~ÆŒøøø0eÊ&L˜€§§'‹/–½©’rróˆ}ú%þ°\*C!„ø»_F³ŸÙêõ;ŠîqPK_ à ‘Åïa?øÿÈ8w»ÝNj¾ƒâ<àÈ..í´¯´e°jUìûCµW0zƒZ’GPrµr”XLÚ 9~ü8yyyZ¸¸8ºtéÂí·ßÎ[o½ÅÆ]ãÈüùó˜7o}úôÁd21hÐ  DQQÿýï6l˜«•éÂÏQ£F1jÔ(rrrxá…ˆu-×jµ²víZ&MšDDDsæÌ¡ÿþ²7U’¯7Ó?z‡~÷u—ÊB!þDŠ^ói………¤¥¥aKÚDƒ„ÎÓ³—óG~w‘dèÄ·gëQl:Dßf³hzfì.;ù®ÝðtTªÑâ Q& þ¾¤ÍáQÏÀlÌz×î~Üap¢ Ì ý}ªnÝíôésïé?~uútÛféÒ¥L:UGK/½¬„µ+ŸaÑóöDDD>@ç5:6ÁöƉŒØ^Iöè÷O…§};_¿ $À“€[ó¨.ü&ÊŠ(..¦OŸ>ä8WÖ¶òŠƃ I¼³†›ó·LžµM&L`ÅŠgü¾ººšÉ“'STTtºiS¦°sçÎw”]³fM×ëââân€œòöyzgz-"""r)9¯5Í"} h½ü'ìß0™ç÷²{À7y-ú#Þz¶DýérišãÐnC€+3Ÿ[&4Gê7”ââb €ÇãÉÜ%â#ØÇÚ H@‹?®æ!D"‘^ýÀ™3grÏ=÷¨§EDDä#ë¼Fø|>.»žÃÑR†Õ׉DÈÊÊ¢yÝ>Òá'ðÏZáàK°uåDrŸÏGAA999Äbc°,‹@ @zKÿ½Í%çX eém¼±k,{§ ¢5+|:ð Jð·Ì³ÓìòñàëLaĈê%‘‹ø,Ë"‡q]×uq‡[&›Ô¿|„¼Á; y]fªytM‚×®ÓµmÖî:œ.m3Àx0vÚ[š¹¬8ÁС%Ýn§""""")ð½Ý©5iMÓ$''‡¯}Ü¡¾Þ‹Ïç#óÌ['a0 "k™V½ã ÅZßU$FgÜ\Ãì” ÉeðàÁ½¾-‹ˆˆˆˆßûȲ,rss‰F£X–…ÇãÁ2ÚÈþ[=©,C«ªùذÌ(Êc÷K‡‰¬9É´ü=\]fäÈ‘]÷é‘K4ð™5xßÚ~2?—Õë«ùûÖF­£tx¥¥¥üiœÉþýõ$“ƒ)((`È!„Ãa ÃP/‰ˆˆˆ\ÊïŸåõ‹ð™éEL)©#™ìCŸ>}4h–e‘““ƒëº„Ãa¦iª‡DDDDþÕŸÏçcàÀäææbÛ6^¯¯×‹išøý~õˆˆˆˆÈ¿zà3 ˲ƒú÷EDDD>:g*"""¢À'"""" |""""¢À'"""" |""""ò>èõUºë·íñ¶GæóŸœ¬^¹”ÀUãóß³"ˆ¥ žp‰ÅS´u$pʪ5[øôõW¨'DDDDÞ'ä”î¹,~–tÀ¶Áv\lÇÉ<ÒI¦L¹‚«7ª'DDDD.åÀw.,, ,ËÀë±ðX&–iâ5aâÄËY±z³zCDDDä_:ðu†>e`™&–ebšÙAˆøM&ŒÏÊ„>Ã0º>ŸŠŠŠ÷ÜæSŸúÔ9Õ{©¸”Ú"""" |g-€ižzdBŸi¸ôÏõõpù¤‰T¼tþ¡Ïu]\×¥¼¼œyóæ½gè{á…ΩN¾wÑÖcÿþcìÜñvï>Äž=‡©¯?I2™Â42;4MÇ"žLÓÖ‘¦©5I<‘$o§xx ËWmèѾgÍšÅÓO?Í¿øE6mÚÄW\ßï'??Ÿ§žzªk´ìÔó¡C‡¸öÚkñûýLž<™êêêsþþûßÿ>………gY¬¨¨Àçóáõz™0aëÖ­ëVwWî|äÈnºé&‚Á %%%lÞ|:üþö·¿¥´´´Û¾zÓ6Qàë‘·Þ:ÈK/½FUÕ^®ãÈ‘:jkعc?Û¶íãdS+¦yz_(èã™ç_cÅê-<ÿ¯óÊÆlܺ–˜ËãϾÚãЗJ¥¸ýöÛ¹ï¾ûhkkcÕªUÜ}÷Ý]#w§ž.\ÈÂ… innæÞ{ïå«_ýj·úÎö½išTWWS^^Þ2ßnîܹÌ;—x<Îý÷ßÏwÜqÖ¶ßu×]Œ7Žºº:~øánå÷íÛGeee·}õ¦m"""òÑa¸½R[[K$yÇïéèè  v+ß›¶}ÔÕÖÖöjûºº:Ƨ?R.)UUUôïß_Ƕˆ¼C¯Gø±8ËŸþ3ÍM­˜Y}È¿êJFM-cä¸bFŒ)døè!”\>’£†ˆDh=ÙBõÎjŒÎ=;ŽK{G;íàõZx- ¿ßÛãöTTTàõf¶¿ùæ›ÉÏÏgáÂ…¼øâ‹ïZÞqNœ8Ñ50™Lžó÷§Õ™,Z´ˆßÿþ÷ð¹Ï}Ž_ÿú×ï(ÓÒÒÒõÚ¶í3Öu*ì]¨¶‰ˆˆˆß9«Ü°•x,I"ÚŸÂéW“Ó/„Ïçm¤M,‹`N€¬â"<Ñ,R‰$ÇÅ4 :â R¶ƒßïÁïóð{ øzø***˜7oåååìØ±ƒ‰'RVVÆC=ÔUÎ0 ššš˜>}:=ö¶m³téR¦NÚ­Î÷úþlÆŒCSS‹/fáÂ…|÷»ß2#q466rË-·t•¿îºëxôÑGéèèà¹çž£´´ô¬õ÷¦m"""òÑÑã•6\×åõ×wÓÑÚ‚‘ÇÈ˧ðš86$ p]p:Ë:@ àÁ“_@¬¦†“?)×Äë1±mÓpp-Ó9¿zꢯ×Kyy9³fÍà‘GáŸø–e±xñbžyæf̘Á AƒˆÇã,Y²„ùóç …())aùòåÝê~¯ïÏæÉ'ŸäÎ;ïäÖ[oŲ¬® zj^]$áá‡æå—_îÚ×m·ÝÆøCFŲeËÎZoÚ&"""=žÃרØÂÒ¥«èèH’uåõ /-$;!?|àµÀÛy1ª ¤]H¤¡¥Ý%v¼‰póADÈî×ÛqqÇqpÛ1YóÊúsšÃ'ÒšÃ'FšÃ'"gÒã¾jioï .ÂÈÃu ‘ÌÜoÏqÁç…´¦‘yŸHC,mIHàÃp}S <¦‰i‚m»8f&!Z®¥ž¹Øïà㤓)Žuˆ6Úzè“mdNåvÀpÁu2ÏâI—XÂ¥#i"jµenÄlX˜¦‹mgÎ;†©ž¹ØÏ4 É Û êw±Ò.©h·!7ðzÁÓ9ºKfžm@Ê5H¤L¶“r0ÍÌkŽ &àb» |""""=ðY–‰vñ9íx-ƒPÀ 䃰ßÀïŸ 3sš×ôƒXÒ%–'ecÙ¤mË´ÀÈœú5 Çu1øDDDD.~à+(HÚ¶‰: ¤l‡pÐ ä‡H‚~ð{3k„ƒOA<žYaÃÅ%‘rñÇÚH¤-|^ ‡Ì>ÃÇ5Ô3""""H‡Ò† Ë'oP<éšìÄï…P óˆ!‚œd‡!'Ñp&ü}.ÁäqÒÉᬠ3³ò„e˜†i˜ïXkVDDDD.Bà‹FC|æ3×bÛõÛ×qâD#AÿéÐöBÈ‚°Âþΰç+ÑLªþÉ4ô‹a˜™÷†‘Yö\-Xð­wý¼²²Šo|ãÛ¬]»îŒeηN‘Tà(+Îðˆ“nkfëê?râXÓ%è Â@ÐÓuˆ54Òv`7v*Eʈ ™Ì‰_0:CžëfB_o=þøS|ík_ác›ÎOüL=-""" |=5cæu”ŽFó‘¬þßß±î¥øG---í´w$hii§¾¾™]›Þdçß_åøá£$“)’)—5U¸›ÿ ³iàbš¦Ù³´WYù&O?ý,¡³m›_þr)†atØ-Xð-V­ú÷Üó=¾þõoSYY@CC#?úÑOY´è¶lyCG…ˆˆˆ|¨x.D%ß¹ïˬ|ö/üõ•×Y÷âZÞܔˢAdgGI&S´œl×Åã1ioOÒšlØÆáê?0tt-ö–õ8S~ƒŒaçyÑF<ž`ëÖ7¸ýö9<ñÄÏX°à[ï:²g?øÁýlß¾‹ÇŠ%K~Âï~·‚1c.ãî»ïbõê5:*DDDäCå‚Ýÿä _ø8÷Þ÷e®¹f"}r¢Ô×Öó½©?Ö@(ègtÙfé“|ãßæ0"û8öö_2íÊ(}?»˜œ1Ã0ÿú%h;У}WTFÖôÞ6-¯OQ“ý‘ GËØ·y+ìXÖúæÑw\ ¾WçqëÏk¿ýúõaÆÍ=jóœ9ŸgÏž~ñ‹'Y°à6"""ò¡b¸®Û«s˜ë·åêñùœš=—tO=×…Îir]§s3Ÿ¹ØŽKkÝ!6ütWçocø•“aìm0p8ɪeìßø&é!·2zæwÔKrÁÕÖÖöjûºº:Ƨ?R.)UUUôïß_Ƕˆ¼Ãá‹;=Û.Ò¯€É‹V°ñÈhj6o‚íÏÀ‰|ãç0¸¬ˆÈÁÿ¡¡¡A½$"""Ò ä¢Ç–ü±wßÍÉm0Óx•bb‡¯âàþ('½7Ÿ@zp/kLlücüýÙ»imàpº…¦¾·ËšÀ$ÇQ/‰ˆˆˆ\ÌÀ0iÒ¤ Ò˜¨ÓÄ–eÿAC €6++~^ëꊈˆˆÈûø.”ñ7Ìcü óÔ+""""†ÏDDDDøDDDDDODDDDøDDDDDODDDDøDDDDDODDDDºùdï=Ç çIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/screenshot_gschem_osx.png0000644000175000017500000062457013634703632021554 00000000000000‰PNG  IHDR „Ø/…\iCCPICC ProfilexíZeTß·>ó6//ÝÝ)©tIwwIH7Ò ‚„HI#‚J " ”‚H ˆ‚„X  H)` HÜÁß½÷¿î‡ÿ§{¿]ÏZ3ç™={ÎÌš=sγö³àKt ôEüüC‚LµTÙ­mlÙ±ïH%`òÎ.Á*ÆÆú°Ë¿i?_ÁÞp›>«ïG×Zã5¤O3æìZžlíß\ô_fŠ ø†@ưÚãìzŒÏþƒ#ŽqxH`ì“~Œ]<áóP)Œ…‚ÌMÕ`üÁã&zsŒÏþÁŸŽ±³s ß`vgg3’ÿƒÏc±cæâÏ?†ÒßÕË6Á÷À(¹º»À{ öqu vñ€c?¿ø<Ÿ Œù]ƒàkùœ`Ì}üîànÎ{È€~ý/›ß9ê`¦ú—Ï~6ÕþeÛ4ýó>!ÚÁî§Nþ"¨Âc}8:Úä›ÀAöÑÑïò££ƒ 3tûº„…ýñ¨ã ð€ P8†\€ƒ“@Èe t06À¸Oà‚@8ˆq ¤,Š@ ¸î€{  ´‚ÐÀ30¦À;0Ágð lƒßa!D ÑC¬t‡d %HÒƒL!È r‡ü P(J€R¡¨*ƒª¡è!Ô AcÐhZ…¾C{‚A`Fð DÒe„. apG"" ˆ+ˆD¢ñÑ…F¼DÌ">#¶GH<’ÉŽ<”Fª" 6H7d 2™ŒÌC–"ëmÈ'È äää …¢@±¢„P²(M”9Ê€ŠF¥¢®¡ªP÷Q½¨qÔ,jµ&F3¢ùÑÒh-´%Ú ‚NDç¢+ÐÍè>ô$z½‰Ab¨1ÜIŒÆã‰À¤`Š0µ˜NÌ(fó‹ÄÒ`ù°²X}¬6›€½Š­Æ¶cG±±[8Ž 'ŠSÅYâ¼q1¸\în·€ûED â ’"Ò#r" %J%*%z@ôŒhŽè'ž€çÄËâðnøh|þ¾ÿ¿AŒ&f!– Ö#v!>OœK\KÜGh8ø|HwèéS­§ÃÃýÏÔžõ>W}Þ3¢2Ò3ª:ÚûBíEߘúØÀ¸ÖøÐ„îÄóIÃɱ—f/_MYOM¿rx5ÿÚíõê¿7ß߆¾Ý{;œNž!É}Ïð¾ø÷‡šYñÙÖ9¥¹'õ?NÎÛÎÏ/x/üøµˆXL[¢Zº±Ì³\¿"³Ò»ª¿úê³ÓçÏ_B¿­¥®Ó®—mm<üªþuì›ý·Õï¡??27™7k¶¤·žl›müðóðWúÓNÍ®ìîÓ=›½•ßû¸ýƒG‡z‡3Gþ¹À_.ð— üå¹À_.ð— üåóóóóóóóÿóÎAθÞ#ÜÝøq¨Æ FþoÏÿ££üÃ6…Ž…%$¬CðÀªÃ9XQØ€¤¡h a‡X@&£4Ð,I¬îÞƒ E*DvH1A•C£J»@ȰÀ¤Ç\βÁÆÏîÄ‘ËÙÃõ‡×€/Œ¿X`Hð»ði_ѱAñ£Sòç%Û¤6exdMå¢åKáLæ¬Ò¾2Š”ª…Z˜úuvÍ ­yío:;ºpÆñÈàÈðÈ2A›’š1š‹[èZzZ%[WÛ Ù~´Û´ß?³ï°éøÑéƒóž ««¶[¨{¥Çk/‚·ŠO°o¹ßˆÿt@W`þ¹ ‡`ÓÃP³°3áÞ‘‘‰QYç‹£ë.<ˆií¸ø0®)¾.¡*±ìRYRÉå’äë)y©©iÓîøexezeùfç„ååùå»\µ,к&UÈWÄtòá&êævñlÉ`imYz¹w…Î-ÁJ²ÊŸUó·?TÏÝùTó¹ökÝ·»k÷fêŸ4”7æ44WÞoy0Ò2ßú« ÿˆ¡§ƒ£Õ9þ¸²+±Û·Ç±×¶Ï¶ßþ‰Ã€ã ËëSÇaËgÚÏ%GØFq£ß^¼ë/¸8iÿRfŠjjãÕèë†7×Þ^|ç:­6Ã6óëýø‡êÙÄ9—Zó" ”pÎêùbùRð²Ú ÕÊÂjëçÌ/kFë,ë/7ü¾‚¯Iß¿Í~ßü±½™¿%¶5°íõ“áç—_›»N¿{ŽþÄŸ˜$°ñ lAÊP¬ùœG­¨óh[Œ 6þ´ˆ§IÒÈŒ)X(W©Ëhµé&t«™ÖYØX٤ٕ8t8ÏpsgòÔñ>åû"@-¨pÂS(Kø±È1zqµ“¾§®JtK~’ÆËˆÈêÊyÈÇ(d)–+5ÂÙë•Wªsj êË+šKðw0­3®;¨×©ßdPeXd”nkji–`žn‘gyêܺʦڶƮƾæLÃ]Çz§ûÎmg{]F\ß¹­ºï{"=w¼½Ç}:}ký®û_ ˆ ln«zt£½ #¿3ÿñµ®’îêžúÞξÁþ©'‹kƒKC3O'‡_>›zþväÃèÒ‹õ±Íñí‰ÍÉõ—Ÿ¦&_u½.“ú6ÿݽéÁ™wï?ؚݙûýñ×üúÂì§ÑŶ¥òå´•s«VŸ5¿¨¯^Ù`Ø8ø:ÿ­çû­©›Á[nÛn?#~ÝÚÙÞËÝ_úÀ À$€ð9 ž`e°A@$"ÑÈzTÚã­ÆýÆgž“"ȸɕ(4)µ¨”©OÑ0ÒÐ~¤{LŸÇàÎ(Å„gšcncÉg b3få áøÌù„«Œ;‚G‡—÷_=¤€ª ‘àĉ›B¾ÂŠ"ä"‹¢­b‰âz°vòâT:¬–I¶JHóK/È”ÉºÈ ËíË)ÜVŒU²>-|úPù©J†ª¡Jí™z¹F¼¦›–žöI&]´îºÞ¤~‹A¾¡§±Qƒ±• ‘I·i¬™¦9¹ù‹ZË+Mkë5›NÛt;+{vû•3ÑŽZN´NKÎ-g]Œ\é]gÝn»û{Èyâ<ßzÕzŸ÷Q÷%ñô+ôwà øØy.#È%X2  ½fŽˆˆ‹TŠ<ˆê>9úìµ¾X²Øí‹ïâÚãs\/!/}OZ¾<Ÿ<—2—:—6›>}åeFWfz–tÖJvYŽk®x*o&¿õjNAà5‹B¹"–¢ƒëÓ7ZnæŸ+1.=UF_vT¾TñüVSeaUâíÐjï;î5µÞu>w}îùÕŸkˆjLkºÕÈbä ‹R@…À‘_üÏÈO`È1F˜,Ì–k­À~ÁIápã°J4 «ï1øibâb‚àMxI¢ Ç‹´ˆŒŠ,‹œœ<‚‘¢œR„²Ê€jŽ:”E“EËFÛH§A7M ëÖMŒŒ{LeÌ:ÌÛ,%¬¬{l·Ù-8ÐÍœ.\œ\?¸xŠyÃùŒø0 ‚Ý'J„b„DEYEÄfÅ»N–ŸJ–ˆ”Œ‘J—.)—½#×,ߡЧ8¢ôîôåUR5Au OÍ,­í¯ºäzŠú× GŒñ&:¦Ùfï-Ä,“¬>ÙhÛÞ³gèjh jçí˜~|³Û¥WºŸáÉáàÖÓÝçÄ£Üc†ç_6¼Z+4-÷^c6ìcÓ'ô’ýÊ“/Üë1_'~ ¶è~âïìÍîÓ`ÞÞ„‰Ú1…+Tòàÿ~ |†ãN ÿñj=åBд ×h"‚ˆ7Hr¤.29‚¢A9 î ¶ÑjpÇ"F“ƒYÇêaàû2n—(€h®«˜'v"ž%8–I"HIIëÈLÈÈïR8SÒPSERóRÓÄÐ ÓÎÓÓ»1È223.3Ýfö`ácYa­e `—åÀrÌp>äZæ¡á•àÓæ7°t8á-!/’-z[l@|ý½„†d°T±ôˆ,S’OPUb9í©Ü¤²§¦­^¥‰× ×^ѵÕ43̃ùh¼™y¥™5¦ÉÎá Ò!ÞqÏÙÿìGW;·`/6ïE_¿¹“ÀÇABÁE¡ø°„(2ý¼û…ÊØî¸Ç ·.]¸l’—º—Þ•‘–圣’'x•ö(ü|ýÅ͆’ü² ¾•6·Uï°×üªë¿—Þ`ÞÄÝüëÁPkA›s;KÇØãÈnæžÞ¾À'¼+C÷‡SŸ»ŽÊQ/O¶LE¾}3÷.sFþýêlÉG»îO»Kó+³ŸÕ¾D¯•­·mô~íúVý=í‡Å&ýæèVØ6ÛvýOÙŸý¿”Õï°ídìlîêî–ïîîïÝÚûô›û·ÛïÊßKû¼ûîûÙûû+T§¼òzÖéµc[׎¸Žl²†ŽãÿO Öñúðj¾Aìújêÿïv~¾¡pןv\ÉFpó·0ƒ{Jxcj æ-p•;Їà›ÿSÿuì!àFÂ1ê¥ =îþG q‹€kÃP Œ òòð aW+äÜ„Øuü]D„ØOЉ‹ÿŰ·%z<äö pHYs  šœ IDATxÔ½˜E6<3䜌(®(bÀ1 ‹‚k@Qóº®9+**ÊŠˆ®¸&#*(%IÎ03ó½ï ÕÕwî¸î~Ïÿ=Ïß0ÝUç¼ç=§NU÷í®ÛÝ7wíÚuÅÅEŶäääãïÿŸKn:ì¸!LT0R‹¨*‚ÜÜÜ<üÁQqS†Š\ýo‹zºA§¤ÿŸW‚[4(ÿdA“óÊà_Ù¼Óøt ÒÙ¿ë×SÄ‘Ÿ‹Aù°Îm(e»‡ H€Åb”¥©ƒ@¸òL¸ÿ•ÚS‚OF± =PRÍÅ·ZKWÓº¤æ¥¤÷!Ñ€]eÌHV~ÖLƒD@ŦP*.ÒÄ{$.Qd×ÅKj †Â%õ F²>G²XïùH,Ò¥ØL5”¤¥éZÚ>©1,Aj %ŒDlÒ´2£ÆD‰=ÁAž´1q–.¥ Üœ%.YËŽJIS‰óë:ÙzŵI]%VÅ%JB#xÔX‘&ª¤DF«¥7®ˆ¹Ë¸•%Å#•DBïIÍ Ô*«¸8Ý–Ø £œÕ<ª8ìà#¢lNNá(¸ŸˆøÌ@5JPÀg)dÀJ¸zj´R“…öÿ(D–îŠ]( - ôþ#u#WEÅüÏCQ@°àYÛ¥(Uì¤{ÎjìÂè$9ʶ¢ÉPÓo…B†¡T¡Äÿ0ZPÖÑ‚užmr°«*Tˆu„BP¡¤´aQÖøq[N0´·»eÇ!©%—à:Ö*§ö,º/„xb¤B¥Â’ª@AbŒJâ¨T yP…B ûãåÿݼKDÈÿ>òÒaÏ K?ŽK1ψ<Ê ‚Q$O„žfrðL1ÈÿÜ<ŽIØr,ÂKðcL¶kD¼% 1}0/EéÿP18 ˜Åå’,¿£ÍTeÖK’I”F@ËÿÂZiJ10q)ÚA¥›üN7ô-“”Ýe4\$Û„\³[zÙ·)C­Ä*H=Æ6”gè2ªºt€Ê®Z¹ —+¸¤“žîË]|ýõ×}ôÑ·ß~»lYœd_âsoÝÍ‚$Þë²cgò¨Òÿ­\Oi3Fµ“ÈA‚—Á¸¬æáœy¼ª.’ùÿe'ÉÜ’T–Œ¡äÁ@¤c ÊT!„òGÀ)ˤ™Ê¥Ì'D ˜R(,*d%δ3Ä«p0(Æ™&êJH…›„ë´5Ö:©3S—0°ÓJù *UªT¶\9ôÀ®];wíÚµg÷nô‡9Nâ¥Ìk— 78Ñ@4k( 9e6m Çaª4BF„©Å‚íTSi@j‡MÉ™ THšÒcœXñ¿ÞXü¿cçßÊ9›åB£eÜs:IvRÄÿ;ÄZW*7L­å28PrýøjéÐ íØóœ„’…û „Œ¤°k¡|LÜ  ,á¢l&FÂb$ìO­Ê6Y‘Œ ɯ…°VµåšËTzUExg·KŒ—¢Ý…ÍñXqD²µ$„a“2O±Ç †aÔOÂL„‹Jšx5M¢O³Ç—$Žñáâu‹ƒU9©$8•Xœ ÜHǪ’nžŠš­…´Îøé[k‹:„Z¯H¢™¢Ô]c'ùR9Ü‘EŠÄŸ•\€è¼h0V%f®tœ£‚I]ì8]Äi¦‚䊃ËÕ²••eIJæÃ Mt1·– TÎb´HMÕ‰Þ„âÉZ"eY…‚™÷ëLj• ¹D«rÔdñ¶Ö0£cR[7H¬õó?§\¯±`vcwq> yÝ‚zà­•h²¬’6 Üm³ £ÖgÑ–euŸŽ´¤‘K2p^5N e„¤+8ÌvF¹²*S&§L‘…EÈþsnZvW]ëžk–NÀ”&e/FÛÒòâÇAXš“·Ä¬”Ïš£m‚Ù©‘½«Ddª¡V"­.›Ë¡‚ÿë„B<¡þ‡©Ú¯ ,-ÇÍ!ÓæØÀQ¤Y!E‰“ w’t 2p²'8ò:­o•4Y§ä‰ØÂ 6FÄe§ô‘ÖŠhqÙ‚ÝÜ)dI³9ÿ½öÚkg̘±ï¾ûb/á.ôÿhññhî¢öÚ.WJv X»O¬t¿Ç´F^1.® Â5UQ1>¤Ñ…˜ã(…ù?ŠåàDT jäÿ‘ád¶¸ $®ŠrsqPF?â(‰aÂ#´\S¦Z­ÇCᱬ…Ù¡RÏ3¨LÒªÇP:o¦R½‡`± xÉ Ö»w—áEvaáîÝ»1›8ä’[ÐB– ÏH²n@‰ëj,ìSx'o Át‰ÈÒ6 Ž³ D£š41è¤[]©MqP9¤ôm0VȱtXhF‘ŒDÆä²±UQ>!‹r‹0­Ë/S ÒÌ`¥±Ÿ‡i¶•ÉÖ{%é‚÷Žå !#3¯!Ib—§½¼#~ 胑'†…MWX(ÁJ•Õ„®›$¢¥ÎÿŒA7b$:x•Ü¥nb·i±×Ø D}BŒÙ¬Ä VVâ+cbE%$¤Ä&è̆um° BžÄ«™z<Â}ý­r·´Í…`U¥0®vˆ"YŒf9 Ì:H:>¡S][g²BpªË#¿Ôºý[%ÈT—`«H´aâŽÕ Ki“Ë žpüNI“T T‰RJaåŽ4UYÝV6—Rä‡E“E= {8³(ÝÁ?8dŽÇ»Ì·Fgø" h­Àˆ”%,Эp[Q°0<*5Š-½‘&ñ 3ÊðâMO4M"°'…¹e Ëä ~,ë‡!(,B4%”¬b •JÑ`P+¯ÄÝsKàÈ¢$­è ‚!6¦¤ÆRbC歷ìÈŃºyC•Ùj§¤ƒ Ÿ§6Á».í$Bvz´ÙyÓû´: J:βÚ“ÑûKÔ NÙ†… GEºHHx€T[i²2s‘Á3'\L–ÉÙ#p\ÿcrÇfuÌŸ«œ# "gðø€ªPT9ÚO­,j¦åé þKŠá Z8wÅ„.˜Úà¼êNhUåFRó Y½Œ‹ T™éÀ™>¦üð-Å’DáÝ*GÄD±Va‚ÿÁ<`(É­âƒ*ÔQl•PiÔ ÜzÙ ¡jª¨Fb†™AÄ]²‹0Z0 ò¤säÔYÎT¥³¤ ­™Ñ…`!¿ßñW•€ý zö°ö2{_['6jHe^QFaâ1&qö3'œÐsfV†M'™Œ\â`ªÁÉšUÑ:q0Ó¸3ªA  {”s¦Æ:ƒo’ä%˜Z! —âU'‚¨SSE"““õ*:BKJȳa0Ge+F’˜6{)ãE:Û’Jˆìó!¡@„3øa`É( ‰¥ØÁ.T êUœ&&8g2†¸0Røà …À–*Ä<)+T–Åõ!J’ã*ûï_}õf7`3räÈÿ‡³ph}îáÆÍùcª€ŠMc„*ü“†”ÉU@Vt0ûÝBiƒœÖ©ŠÐeõ`ÐÆå’m;äÊŒ=ŠçYR‘ƒNëöðÙ¶V2B¤l8úI¨Ì†’¸_9PzH4v…ËhI/Ü—L0Jîì^æÂ«2ex×0Œ4ôG¦ë$Îm Î"tkλð)Äû° {5 l•Ìp*—<•b§Iˆ Ï0.‰d‚Î¢ÊÆÁ‚‘Ùá3è©ÕÞLb`Þ1© #_ÓÂ^Ð J“ˆ¨ ıæ§4>ðó(åWxL”ô>=(C„Âx¡–=Ã;7ìcjÙ¹êhŒ H%ŒJŠª:«7Ï]úE‰ËÅštÂÃBFÑB'ÆíáäM0tëµ A²¢ Òf œ S°Àb¨Fº”,Èc©Ú6Vi2T5¼ ¿¨º ù#Û†wZ (h®¬OiD·ì!,(A«ýšáp‚IÆE]*TiDKB[¨ T,kÒDä^ð­glµ”Ò3KA @¥ÈC¤¡e™vjNºÄ€ó*)”^ °Ä¿`{·cRŒ)¼€…ÓG ’ˆˆýé1ÈVmÀ8aã~I¦Xn“¨ýÔY”N¦Ñ…½Ò C^.º*SÿQ£Ü³*| gŽI(\É­Fã˜X£ÇLë°Õ1(ƒ1FÑ’I«b-Ê:A$%SÆGSFÍ ÌÙ½Š=L"'Þ=I,%™(qGfêUCˆ˜TÅB ML&¤‹r1Á1¿,á­wØãuÖÇвIv%ç`$¡,£5 J7AËØBÇ„2,±Êr0Y&,]iåZ=vÄ‘ê‰Î˜,…{ø¡ÇàÒ]ŽZ „$2×)©i2¬Ò8 TCÓ¦I²p 1Ó)ˆF0 >xóvã.L¸PÂÙ|ܭНÎ(ˆÐW4Cš¢,”Æ¥UcÆÝ €€ÁG!ÃðÎ2 g ¤Þ®Ò-ÖøPa-î"+‰ ‹P‘ªNÅÎÀ%m ì ÙZE³çñž ʱûb̈f.ýuÙâ‹×n\»³`W…rêÕªÛªqËæš±Ó¤©À3–aÖ•ÊÙŒ¨‹qêƒòîÝŸÌýìã¯?Y°xá/«~ݺ}+ÕªTkÚ°IûVmÝÿOÝ;„’i¦¶8u+ÎC7ãâEEè ÿšÒZN`À³À‘Ë5¤Ñ® …ÂL˜¨µ¦ ¡ìŠK[H$`£9÷uª ¥„ àLªlª€ …L«PW¡„YQQ™uÍQlìå—•&C’®j«-Ÿ®²*ǃvŽíúÐ"Í w‚X¢ RÕ±Üﵤ ‚×wÞy· œp ¥E,CÙ¥y ”¥œ ÙÒDþØ*”i)Þ)t«îBl(M¦®u­4ºÛ ,Éšp+¡Ó»~ÕªÕ'N¸è¢!5ªW§,Éhà1yÐyep»]™²ØÇñ¹Ž© ž1ɳBŠWióX“.³_å˜1w}a‹£Lí¶jÕ* {h5 b2àfþ—ÕL„4², bšçý’$-‹ù,Îyû7° 8áäÊ ¥) óC®t¤wRäã„0.c¨%Ù&J¸ûÈ9®B ^1ýµ:E#“ر!α @ÜêJ‡Š’òÐU“m0÷„*@Iƒ•)\±Ó 6 Uk%Ú¯`ùü1BõÁ3öÔ)ó`ñÄžE* 77÷’­W¨K%%V˜¡n,9‰>)œa‚A&$ɰuš¼ÓXÿÜ [îp8õg 08©ˆ),Zô’ØH6#–¹e·ûìX‚‘‰¥Ö¢5é°@¡W¡©Ø\XXExTµ"C/)Iä&©>¶17V [eQEepƒà€¨Tn^Ü*'¥È©mè:™£Ù %Ú3щ/ú5YPE†,Rî0Çpë(*&P(¶nª´1ª FpÙ„¢-$,_AŸf@ DÚ, 6ÂǼZÚÈ¡6“Jˆ¥AÒŽ¨Í”h®=㲃ùÀ7hb^8Kò»‹7 •°ð@EÁ þ´!AAÖF òŒöÃ=]¾ÄæGtû†4ÅðÆb1Ö= Öâr@{P.p%c¡‘•¦Ôˆ–Ý)±IJŠð: 1§T°‚¥XÇq`jTzG³½.K²˜+ *úA‹Ñª¥èÑ0.ñ±è ôRƒµ‡Žø„§ô°…²|9JèA6ñ*Œ“D¨(i,©¡°.Ê)‹×)èX’“†Á”ˆJ”Þzë­»ï¾âÎ;uÔQ]táyç‹p\tÑE*<ùä“{õê…2ØœþcÙ2ežæÎ{å•WÂpìØ±­[·Faݺuçu×]à-Zôé§Ÿ~ûí·(Œ5ªOŸ>f™“³aÃÜN–Ž;Þ~ûíAåÍŠÕšTÝûžbûÇcù–-›N<ñD´÷Þ{ï“Ð^¦ZuÙ¶r böì/ñ ‰c=eL6sôiÓË•Óg|Ý2>šdéq‡ù¶TÈÖB`—p‘{ 9rC·dzÒæYÛ¢&Jt¡íàv‘¾þºO>ù8x®X±â»S§gdyýºµÿ|õ•3Î8«j•ª³fͼá†ë§OŸ‰$'ÆŽ0I„ ”ö€DãeÈ„¸y“zîÙgzdŸ£.¾hˆ"®ºò²Õ«W¿øâ$íê>˜þüóÏ=÷Ü„[o½ ñ·¿Ý­TÆ•IiÌÿúõëþùÏÉ »*æÔ[ip7“­ƒâ^¥Âå)p©•ÜëFܹsç÷=JˆäeÒË/>þøÃ3g|–i1Ïžýšyܱ†¦bž%•›Zo]2)“bdHÙ¸òAüÐ >âå„HH´ó̹v­ô¨ü°¨Iâš¼6N©qö\Ù͹ÿJ;à/Ü™): HeŽaÜC©\‰dNLƒ%¢rC?Üz[/³˜­¬YËžGéµ½y‘ V ,š-†5…´Alª­…?ÂQ Ù= Î05ÑHFC:…Eãc‰¾rp'®r3éXì “Ù~GˆÁd—©bÝocaÙ[€"‹,e¥Q¨kÓi]# :´†±±î0lµ“Fû ‘V[:ç?,µ­&B?Ä6(ç’|um>ŒÝk‰]$QÎí;·Ï˜ûQÅjkÖ¨µOÓ–5«Õ`h¹9·nZòëâ›7½ÿÕŒ^]zV±9fQŒna߀ÐÙ!ÇyÓ[3Þ¸ë™û6lÞ °Çõ=¶W÷^Í7­Zµ*ô¸cÙòe}6ëÍio­Û´þ‘—ÿÇÛ/]3èÊãzõ×{2U[\X¶Ù¹p~÷øû¯t•øáœ¿F†5´º–æÚÈõ¦s«H5 Õû_~ôÝ/¦¾`ö¨W^7ð*ÍÖçÜrÑ̹³*–¯°yû–~ÝûÜû—;ëÕ©'þõº]¾í`Æ‹_ÿðÍwÄ|Ný'ÜöÌí»‰SDZ|õƒ£ÿõá[¨vÍùW^tâùR½#m$[¶bÍÊžƒúœ¹7½NXÿôËâ o²fã:̼nß¹ã¹ÛŸîÛýѪ!3öʴ׆ßq9„¸5¦^íz}>üæKn¨R©Êù£/~÷Óic†^wÉ™Cá‚Å‹ú\|ÌÁšòàËAh\ÆËâ*gÓÖMƒoöëª_#U’±¦Mnn­µÞ|ò_ˆ‡§M<œrgfö»{pSVnQ~žå/¨R¥ª@ùzA,3ÛwlkP¯A0a²srVü¶²fõ2ûfrøÑÚ kqß¾kG“†éÒ<úÖˆƒqYÞ=ß;í£iÇô=fİ6`媕=öÐÔéSñöÕ—^‹qvfb&DÑ”HÅUeñ$–²¬Ð¢,Ò´è¾ûîÇÊtA';jÞ¼ùß}÷ÝW\qÌ1ǰ[¸Ö:ƒyf-àKºvíÚ½{÷Ï?ÿüÙgŸÕŠqãÆ6|øp}æ…^˜3g&ðÕ4ÈU¨<_~ùå#U8]³fMí:u”*•Fâ¹ `Iš¦M›žwÞù(àí?Œn“…ì‘Q}þÙg+W­ÂD’š6kzÞùçà ç‰ab•Ð 2“Çølž-4³¾j#*!Z !‚¼]»v£GQ-Ú‹ ×IZô^Ô¬ióóÏ¿€Áb&âµ×^½à‚A•ôc@FŽø4zÙè^Q¦Š¹]ºt[ðÝ|Í0ø¿ÿ~ÑöíÛ7mÚ\­Z5çÎsðÁCÛ»÷aèS,)ëß­€ z2„œÁYef]ohàdaÿèóÃâN>Ím˜BÆ7–-:$<Ú!,¹ÖÒY’d°e8Uë,kI@K¶€]¨ÜÄIº“T⊃9±¶bI‰B"9̽Æ-ñºÕü^Lu´Gô!ÆQȤq¤P(†@wä¯ Œ‰QªXìä4(lt¤¨„EW.×y [ºH ^Ž,¥(ò,ÊD$MŒ˜Ò ‰—DžN´$)Q&xÈ’¸ÀD„”ÈX r[,ø˜n|N¦Ñ^£UI•$ðZ=FǺ‚PÀ…5^ÎÊ.6VlLÅ=—?‸¸LpØ™F4å ÅHÂК‹¢5а…ZCŠp#?aè!oŠä¼’ÕÌGk9rø¨ $@¤Zk&×]Š0䢿J Ò â€p*Р։®‡J–`ªa1BW`«Æ¢ ©U5Ö Ù Ä3/ à%ûK¤šjAàGOåPm0” ÄLEÁä‹E_V¨Zaï†ök²/¾Œ+Ü^øÒ;“Î8挚å«ui³ÿË~üuÕò/}Õ£óŸ`ÍV"OÞX ƹñömOÞñÆL^gÕ©Ugô×ö§ÞU*T.Ê/,ÚÍ‘GËÚ9[´;áÈãn¾ú¦?ùðöïØ°qÃuŽùì›/n:/ÐgŒÉbmr—Tˆó\Üg1úÑ›§~òÞÕçòzùÏ¢¼Jé[¥ ½lÀ¨—5RÑ÷Ð#¿[º¨¸ ôrd fû´hußè»êÖªýåwsú 9¾vZ÷ä7å˜ ÅI,qh–EKrLjɾØë€ÿxcâiמóå תVÈ)3ßxé½W>yiFÓFMûÇØ»Æßö1gÊ-ŒJ"K ˆ+îµuÇÏ®XE IDAT6<¤N’1¹p܈“‡œyÑÈÁWàVð¯æ}]§Jm==Vsðp‘‡ª§Œ}å·u¿½=cê o¾X§f‘\*,oÍzgèi£ &¯Ïxe|{£%—§!ÿÆLFÜvÝ­<üýEô¸<¼î¶ë‡]8 ·ñ3¹‰Òý@\?2á±.í»4ªßpÆ3ÇM~vþóo»âÖ“Ž:Ñîà(*ºûÉ{>œýQíšuàó‘[ªR¹*9ñéÕkV•/_aôðëÊ”)³3׈1—Ý3æž±Æ:}PóÆMÓ²Z†‚§‡-üfÁ7ï|0õ˜£úÝtíM»¶î\ûË+W¨tóu7£ïL{÷ˆžGìß¾3¡²D$¬Ëþ+2Ud¤ ¹€DT˜à°ki%Š×ütøÝ÷V`v£$ÌwL##|îPÀìwî@ì‹Ev/ÓVD8tèÐ/¾øâ³Ï>[°`&2¦N:xðàÊ•+kðC† mÕªå7Þ4cÆ ‹[„Çd!â=zt†JÈS Ô\¹ÛT4†“ð˜6í=ܾ ÷?x?L+èÎ ­ãJòf‚cD… hÌ7F»ðµ<†¬‚ƒßÄ6N®ƒ0û³|ùòðµ<-7n"<»ð¡ÄÐö>Ü9#–Ó&Š äi/ÈÝD­‰M5YÎD8Æ™„=zªaÆâ—F•²ãfÍšzÉŽ;p¸Y±bùäÉ“Î8ólì]ä’4‰-%”åJ–Ž;MŸþ^~~>~~eéÒ¥H/Ä‹-ìÖíæÌùjøð¿ ÿ½{ŽjAFé]+@±Ž‡\d,ᆘ5â¨ûÒÇ Š8J-Ê·fa´ —¦1éôØAÈúÃǸ 1˜]o¤ºLǶì¹X™¶(°Ç.SLQÅíƒc œ•ÃÍ Ù@ýû´)­…šø£Ö~^#õaÐ$€µ`v¢åPZ¼IëÑýZ ¾ÊEF5Æ0 %ÔtÅ$‚„Mu®Î”'õ¸düôÌÕÎèa¢.ÅHŠæ%n¬µ$šX+ei¬:Œã(ŠZ^êâW>a®!ÚAE3üi®´¥"Âa m_D¦}Bµ<Úáj ý#/ZCïð{ÊQ9e)ÛHxcÕÊk©«§Vs¡oÅ^*%%éˆà7‚˜‰Eg n0"e!Xö.o2Ùg{ ó«I:ãÕ¤”n Žbbî¥ÎU¤ÉLÆmg„,a•b׊“$*çM$IÉÉ}‹(´Y©ÆñœÉ›(^Í4B&þ¤f±®–)Tª3#0]Šù†@Ñ/ú,W€™1ê~È–0â•BÌ"Ë1B±!“ax²üe``¨ˆß@ã%€¤ÌÀeÑFÀP™Ù"YÜ‘×À"puG…à ®¤,IS€Ð‰q„ 9Ð6ÄTŽâÖËIQø1¿>(ƒ Ì?ó6„žÇ2Äï] £ÚØèFim÷WR_»G¹\¶±P˾¶&4i¬•ðf¤º UFE‘Æ®¦†dE“F „Â¥J?j9DÛ&‰KÚêøÃÆ ¡gEOæ¶=™¨ò5-Ì”›¸ÊV€É/¿ýZ»»f•­¶,Ø–æcA¿á—K pw~Q«½[nÞ¶yã¦MËVþÒ¸þÞ–­ÐXskG=pý_ÌDB†]0dðÀÁå ËîÞT°mÏ–UëVÿ¸ì§õ›7W§Fí}›µnXw¯Ü2y}>¢÷¤^OM÷øø±¯Ï|sÛÎíw_q‡7Å8}ã&ݲm玑÷_ûÅü/¡ÕsZF®!ȵ+-yd±¢KŒPaªžð×qÅ{ŠÇ¾:{ h‘¤ëë]]˜_˜¿aWçfí;¸÷§ó¿àÐÕDq"”sÀ¾ðÎÄCö?¸û~ìÚ°ã´#N¾ç™^}Ê ã‚ä›Ï;¸ó *×Ëß°ó´>§ÜðÀÍ¿¬ZÆ÷›00,Üz9gò´W-ù¾Ï¡¸;ÃæY ôî+U«T¹|àpcHìß²FJø‚90`§xßF­Ø·Ë1=ŽþèË¿\ø5ÛRœÓ°~ù‹¾ýuõ¯ ëá‡Ë›¾ !TñuATšº]ù»^}÷µ«‡<êÏ<ó nEpâ‰gœq¦|@ñÅçS^{ ³5kÕúÛoРZ.±£­5I©n¢¸äÂ~.–Ç«”Ãëׯ¿ÿþûàÓ1G»{8püâ«/}ô¡G‹<ß{ï]_qùpL“AŸqM8̵n4 cŒ]IÿÚ¶m‡Ù~ø¾M›¶‹-À¼Ê?þøýþûwY»víŠ+Ú¶m1óðÃbÿ6lLž~z,Ê={öì³O!3Ç?àôÓÏ‚‹„}7xBذÅÕüùóÆ{rÙ²ŸëÕ«üqNp2"¹ý¶;uÜÿ„'¡u_}=û©'9òº}öi üĉ/`ÿ8ýô³5N²g]¬¡ÐÅ­d ¡Qתážq–`°;Œþ™÷¦MÅq '}æ¹ÊÍÎpÌÓãžØ]P°ÿþ]'ücüÚµkzõ:lØÐø=à$ ?µåÇþáòÐö_›^ቶ,‰‰—<ê0d ðøY eç†!° OWNº KÌifØÐ«¢0„È/j‘DAí&äð²*Õ…ˆK®PæÌ#@øÀ&Ö9¹ÎK6Jy¢MðE,Ægm##¤2C—à£TR{³8›¢­&–Á‘ÚÊ+›Z/|ÂÅ$Li¦á¨Äp‹?º×Ò™ø½"Âm£È‚õAé°ŒH<w6VÓB5„L\ñù(ôœEagቴO)‘¸+uõa!§lt‘!=‰ø´š }kñʈ”z%’‚ä26ÑÏsÙo18u÷Bƒydþ Ú°˜ 7‚2BçM[WrKJnEÆ£°-"ó¸E™êÏ`bIs3Ù",ç1ËDŽ„ò’ä†NÙ‚Ð÷çNH–”L*–NS„“&Õ¸$©¹7EL(ºo=ÀMöµOº ÂÁPàÒjz”‘M%PM©`DëGZqª¨9ËÀsCý%^’v»hžêÈ›”Bl):õF%<ZRƒ(]ÀPÞcÐ>Mx¼¤1BçM5´¿§ÇlÊOàUœX°†Xƒ3Í*û²$rO–»rÖ“v1l%¶ÝQÚ$/ODêGhº0ÑÚZ:Óž¤ r'”„%© ¡Ú @IÓà¥Îl$ -ªZʪÒì¼P¦ÙÝKÌF+þÇ =ƒactÍMèE Bˑѹ…¸IŠ©ä°"e5'&)‰…jMèLf.ðP†(@¸qç&ß´AÓ‚íðƒ>ÂteL:gçî& šlڲȅ{iòħ¯uNΕîøjÁœ»oúûŸöï¾sÝÎ]Ûÿùþ”W§OùyÅÏŽF¦hÐbï§ö9é¤#”+_þÒÞ¿ÃþWßrÍ•—\ŽsBFqjï •^às¹çêùIó+§‘6\¥3#±ºV¿b´FÃr6óôàŽD¡Y*ÞÆ2?Њr«T¬‚g"xË&8 /ºeX§Ö†|1ºþíOÞ=ç¸3wï*vÏŽ=x…ê;Ÿ½{nžïÓlŸq¯_üëÏM4ž5{VË&-š4j¢Ó—Þy9†œ‚÷$ÐÉš ko~âŽGoyðµw§`7Åì „X^ÿð­#9l×6^!bÁ(j!¬5gˆ’Ýù» Êä#BÜP™¢âb̘LzsòÛ¿{Á <Ç^¸äûµ×ı‹Y‚;AÔ<°i!þ¸üß[¶mé֮˶u[cRôåw_=÷Ïçü{Áyνàäó°£€3€…?.Ä «U¹æº k«W­n;4wêñ÷¯÷߸öÒkò%c{Õ©/Ç\^ãöA¿6mJÿ#ûíÙ±{wqÁñ}ûóµÃ®|%¦ZÞ™ùÎ+ONÞ¶ivÀ¾½ûLyoÊгãâkÇÖí¸–,(,xgÆ;eË•íÙ­GA~~ÍÊ5:´í€{^zÔ#¸f¾üŽpéŠeåÊ–«R®Êî|t«!?#÷à,]ñ‹Œ@:¥4³p±AÃ1$âþÿj‚÷SèñËýØVÇ8n®T©R‹-€Ñׇ¨ZM¬;†Ä‘Á`ѹM½à‚ f̘§B ÃL%ƒ8ÊÍÏ—ýGˆp|—¼˜¥–!Ôº«,NŸmë ctéߟ>s-Z´<ꨣ{ìÑ¥?ÿܤiS @ŠÆߦmÛËþòLÜ}÷]¸Ñ“,;wí„êž{îíÙ«ça‡6þ¹ç|ðÁ;îÀ¬*¹Ñ–›ƒ› CÎþù端¾úÐC}≱x ®«±·lÚ´©nݺ7Üp&wF޼ªmÛ¶`ëÙ³ç‚ï¾ûí·5—_~9^°ŠÏÙ];w„7jÔ5ýúõ»fÔ5¸3DØ1Oà½xAÉúüé›oæžzêix„çé§žìqhLaÖãÁî?ó¬³o3fÉ’%àdH0ÀÂu­—½ Å€ D´˜JjqµjÕùrâœÑ£¯Ãð¸ë®{à“ вç wîܱtéÏ(àÁ¢ÓO?󡇸ôÒ˪Uã!„Ê©TQY‹;NO‰uˆïµWƒš5k-Xð]ëÖûáù”ví:`_Åؾývn›6mÊ6¬Ã<ˆºÌü€Ìœr 2³iܸ§zöè 0Ž} ¾û®ûöC?Ç:ä~þyɨQWöë×Ô¨k?ûìÓgŸ{—¶'Ÿt†Ê¬gwüU?ùä#4 ÷Œ`§@ß{ïË/¿ÚUz©I}^hk rµléÏVåä fv-K/LxöãO>ºù¦Û6oÙ|Ç·6kÒ¬{÷C¡…oæºïø~ñÏ‹Ï>{ 2óÏ×^iÞ¬eÿcŽWBíg îe)Îá˲”s<­SB3ñMÔûÀ‹öh9€J¹ ûMì.Æ¥‰ÈKA#˜È†Á:È·A4,p ¸F^IÇ–„ =M”UÌ ùÝ^WÎ{áöD.$$ }©Î¨0.¹X5‘âMÄ%ôG¡ý‰¬Üµ"fL&]Rà¢:‹"q&µðšoaŒR=´KN–€Rj¥f7Pl4‚ˆaRf[MœWlWWžäb Àœ+üœ#˜éáY‹Œ_Õ–²Ž#É Q€ûóÈ´N&Êi¢´i{R‘Æq;£PÐsÚQ€FbqžÌÐíå¸ä º·bmdN‚¨ìJI’C/ØÄ©¶\I¨q+DÊ`å°+ņη–ÈphLL‰2#@©¤W”É^R&1òôªi¢ô#‰$2UOû“Zv=Ó¤Mçø‰ÇsŸ®…\gñ“ˆh“j…“x®“ìèžÛ$´YJÙAæÆ•âƒwã %´žòØ(DDi:IeIY°ÇIÚ,sÜ$‘žÜ—ø@E˜Ü±ò¥0æÉeŽôC=âu‰W‡®>³FVÐb‹£ÆÉÊjl+ŽïØ¥òxfD€~:œO–KÖ„X ”+,$J6Ä"0ís­$‰Âì &l¹{p_åý‚2¥ÎD‡…±Z4šx% z¨“<¿G!è¤c@ô„¬bש9 ô¢´V¸ÐFC|PJÂ.œ Ôx²ò4<`áǨÄä) q*Õ€ƒ@ ¢ôR`'¡ }kªP &ªP¹¬ÓІPd‡d[þ6>+çUijì<¸Ê!• âYAQQ•2•°Þ¶k»j‹‚‰Sƒ­W¹îôWÞËËÏݺjóÜó™{~]½\¸øÜ§ù>ÈÆ¿^Œ LyÜ=þ¾—Þ|Ý…#»´érà~]ßeZîÖ¢=;ñÕ=#Ó?ö ,²É=øü^Zõ5qGÐj×cm·§ªÄq2œ *ÚÙ¨.ˆUoòmf4cXsÈ¢Crsp3ËŒÙ>u^'"Cm[·Á½œD(*ZµvUêµ%Ò˽*_Ìû’S!99Çõì7ù½WûpéiC'¿ÿÏq»§@g(„¡QcÉ-í®ä¦c;ºG‡îÿœúø)—¶á΋#9ü™)ã§~: Hàͬ½ºõ ›ô‚ý X!þ–þ¸à§…Cθ1 •+Tî}p¯©ŸLx,ç\ð¸Êѽúâ›K´ à4 kÚ •£¼~+ß[³RMP»Ùó¾uïuš« o¼8ñíIãï|¶~íz{ÍÆµÈ(Ž<¾éÒã?öÔ~§ÐÀÆ'ö•¢yßϯW£ž¶! ÃàËM8—¯ZÞ»{ïÝ2›S¯f½mÛ·­ß´aóÖ͸¬®W³®æ4¨»×‡ÿþ¡~úà~þ•¾]ðíIýÜôü­OßûÔ.sq7D†ŽclL¦ü!x¿ìwßÍ?þøqÃHÏž½{ã)c‚÷/„÷nÀ‚Á¥xËæÍ=þä^õ íãÇ?;÷›9}ûôûúë/1C1ö‰qÍ›·@ØW¼öÏÃ.Ö³ŠW&¿„<£!»våŸ~ÚÙxb襗&œ|Ò©pÐ+¯¼Œ¾Æ£U_}ùE½æÍ›{â‰'ã†$¿}»Á£ø-¹²<3±®Dô…hÎ%#»ƒŸ}B ¿×¦¼2dȰ֭Ûàì­sç.ΚqàAÝÑKšŽ142'“5÷݃٥ÜÃë³råʹß|}ôQýIœ;SË)dúVç<’ò(GÊÐ †öM‹Âb!Ëq]j€©<Ñ”´Œì’Ì¿‰¥ˆ|gV½*ÕEâõ—¡q´ÚšŸ’fI¯Ÿ9™-f9½…ñYS3rIdoþÅœ};!ì‹‘KÅ›UÄãEj<“io–n"-¢ …˜3#JQNj[ß"†iÙ%A+”SžÀî0°IQ\zI…j¢î"8;RÇ ›Éœ1ÆvÙ¢Œ¥¯%”@Bö0JÄU¨‰[ò0+¬GYZ.J„²`  Õ« èÄ+m7ÚõÜRLãµüFZ¾k“7‘qcqÂ8$' ËR—BÀÇË»Ó 3éáU·^N¥&­r-ÐVŽˆAžr¤ÒLÖ^iˆ8TÜ@³è¶ÝJG­Ô<;‘#/¦{ÅmSÛŒCÒ“$žt|F®è 2¦¼ùFI™^'€ìÈì¡ 7& ¬dÑ‚`4p!È̦y!«š)aª1œ˜§š®´qèzIaÀ¼ÓËi=6ݤ®È¢\(3Msp†ÅoUEî"@7±˜HϱÃäàãA(˜fDkŠª˜HRFÆ#^ ÊIKγÈÛC¼\€a A«ýÈBôÇÑL< Ñ"¹çrlèø­fe÷‡P˜M‰ÇC~ûmu׮ݶlÙ‚–bº‡àÉ(m£F qáŠ2$Í›7ÿvÞ·‡öè¡»Gݺõ¶ïØŽ`š5mŠÁ‰Kn<%Av½®æWv Û_~ùÓàÁLŠ2cLb†âÓÏ>[·v-nÍhÛ®$œ²çá2'¿ _>„‘ÓùœáO‡4¤üüÜ]òÎ;ïà~LשSÇjÕ«o߯[’ô&˜e¨U»öÑýúÝvÛ­˜ À >1{`ÂùOnˤT|1óø/9ÀÊ?ɨ^{ß}¼Ù ~9S¸¼Çî‰ÐÖáú*ä#Q³,X:©_ÿÅìLÜ×$ʶðXŒŽÀíMñŽÈÚ·ïøâ‹/lݶõ—_–µlÕCðì ºâŠ«Ô£†Êœa&º8§c'ÜzÃi#¤T3ÕÒe?KØ ‘IÀtæÉG,ûeYǶlæmf2Õþí·ß„Ü0‚æÍû¦ví: =é¤So¸aÔî‚üÙ_|ÞýàC‰ø…l¶…ãJÛÅ3©4³®]º=øÀ£Áê¥I/>úØCˆ2!c`ÆŒ ]½zÆž5–26 º`çÎ|¡uë}_ž<™?â6P³wñí7î³´sA˜èb©N¶#$‚¤¤mÌh”T˜ ³Y-Ó’^2%ЭÕU·2|$‘aîjÛ¬é\ì½"\$HÞTO}èÖàK¬„*лη¢ˆƒ¡coˆÝ„CîŠè 8šÄ#V,‚¿¤ |ÆÍ`QÌr0:Âb¬~}c¸%’Ì:ŒÓ¢P ÚÙ174Å•A® ‹8M° þÝXÑ*ŠD š‹`!ÿXQÂ$¤” WR *¤#u™˜r˜'ÆVJn‰-…Ò÷­;´c©J¸TÊÑ„ Œ"NXËÛ¦å3%é(v·3ˆ¯t•*QƒGÕ 8)ÉîC5Œ-B³Ó#P[ŒÂd/«ŸˆÓÃ2BÓÄ€ÄTJij°”³|*0¸Do ,Q2D^}‰ÊôÂá¦ôªq‹7>;:A 8U‹DÂRº–29|©Þ‡§ž;%² +J 9$¼Vw~¦Âo§åu2UÌI\ëB0Sª’?M^8d% IDAT¢êèQ”H\Áà«oJy|ã!N(&k‚6VvQ@ÅòDÉ’ÎÙcV~ðy¹ò‘°e|Æv )±…© Už²qÌKŽ ñfÃȘ`̤àbWãäëÌŒIš¤ˆBQ‘Òÿ$w¨›–°¨Ó|-ÅŽ¦b¯ I´Z‡Rjfà ÄÆ)5ïô¨´°¨ˆ¯!Æ-ÆD¢Î=ˆ­Ðö›y¨ò ÷b§?ë"=ÎÃlÏ­pޤ“­‘ 9èEs(m¦\hœ U°`ÑI(ÓzB¸5 /$–TXÍ Š'T¡`)%Ç›ËT+Ç/à ÷4iÚ¤cóö¸ÆÆ½>èúë/…ûžyí¹þ=ޯ׿ù»pÆ‹×çgýž_}øÚn¹Ý¯Í~p×§÷‘c®@ò·îÚ°x…™›S£bÕ“ûœØïð£o»ÿöŸ|0Nùô¬Oy$ïNiÀUo Š–V”`ÈäQdkBlD$U5LÌYJÖà»Ò‚Ä¡¬ÿñšËï¿fÃÖ“îP¸kÞ¤–ìcjˆ7 çÛvlÇsÚ®çßžøòÔWgNxïÓ¹Ÿº{ô‰—ŸñÒ߯C w…ÛpAŽ [6Þúä—?|ÙÏËÐ÷x¤|ÙrKV,mѤ9ÞÖíUo¯¿_sÇž]»1WòíóÇÿë…®m÷Ob—Ž<ØbÆjï{?oØÀgåì’¶p¨÷ìr(® ¦}þ~Ç}Úcîà vÝ>øl&|éULHšÆišyà“›·‡oÇ`r+W©‚Ë èp¡wX ¼}ë¶Õ?®Ôý°2e1EVƒ.ð9R!„ÆŠ6!$hcGС a¤á ¢šÒM[y¹Z³zMžKòB·È;5Š7oÛ È·nÚº_«ý{æ‰#{ñÔ ãF\xÉKS&ág\èÜ ×kEûBÜY (‡%%Åîvxì#/¿1ùêaö¾f+Lú×dØv?¿ü )I¬’R`Oå’Ò ÌÿÕ Àå=¦|xA/ååákj|'¬ÞùqTT„¯…ñ$ HB*µ¤;EF„†Æ¤®Õ?üð3fLš4 ®åW0’ýH3ðˆ‹F±ásKY BœÁ?v¤P‘òC$†‹Ê‚”‘I59~ø!Ä—]Æ75„?ƒ Ñ*~v7ô7$˜rãZnsÀˆE®P.àûV1cÇ)黃ÁS.w^@‹=0€”V×xÆäá‡ÂýpÀ²eËÁz2^´Cá*¾¥/ÌCyîšüÊ_ûkóáP"äúq"(……W^qe·®Ýž}ö™#†sã>ûìãaHn MSƒ’4æŒç ¢¸ùñ%¶ë×óMHXXç¬Mü0 O)P…W¬±¿aŠÃËl——5Q¡¯€•­w¥PJ ÒqTsÑ.£r¿ýÚ`¿1ãý&MšâŽ˜–-[!Ê>š¹qãÜö"½ÀÀ°hòQ@ð8Ä ZÁÓ+„‡™<(ˆ*†sñK7È¼ç™ 9:L9áø×±cço¾™ƒ'•ðÚ”æÍZ€ùÇübög§œ|Ú›±Ócja#%±˜–åE£™Õš5k.:[„&ÈUJΡêÑ¢yK¨°gâ ‰ ,­ÔÏKëq=B¥M– ðHWrÑ»Ü]&ïNÙ¨Îñü]ivkªk T!›¶N›Á¼ïKšÒ8&%§uò”[5I ­¬Åú ì’‘ER‰Ðã¡:±uR\«&ª‰.,ŠR&A ƒ‚§áÅøf¯¢ûäPCþR–bšð³çÄ6†¹Ú°bŸâ!€äÉb5žºf.T¥Á B÷›P°P0•¦£w=ä*¡zy‘h_†°ÐJ+Æ¡Êb’tElRêÀ—$ Y¹Œ…EV’*uˆDá`óáÃ){`†Noœ^ã¥ÎØÍ7X3¼(q¢FŸúêã™Ï¾‡¡Q¯NÝnºìܲƒ£qç®îû4oÑ<íÇr‹žÂú™»žÄ"0O°{ÛnŽ&i Ëç–Ã{(¦}öþÊ5«ð|ʞݘ^O³iÍm\Åt .0Ý€ß1A’*V¨8ë­`û˯¿œ2ètäöûÿŠ'o{¼^­º°­Q­ú¦Í›pÅQ¿^½ ϹЧQ”µ¸IÃ&(ñ.*ÕLÄáÄq/l ¡e³–K—/Ó”.ýuiý–+S¶VõšÕ«UÇÛ1p7 XúËÏÍ›4×I¹ ¾ùyùÏž5hâk“š5jÖûÐÞxõF—û¯\½¢C›pºŽZ4"£•Œ"±X­rµK{ì©ÇFß9fà)g·Û—ßå/üqÑ„Wÿ±xéb”ÿýïÅm[b:/Å‘¢K¦,£þ?OppÀâ÷5ñK"˜CÂôŽGXÜ+·Í……輯ÞÜk¯½bmºœ2U*Îß~ûí•W^éß¿?~N‡x1$æ8 ºPIàÖbUÆ€Œ6ƃ…AІ¬[1‰~L¡ 2kPv¨áCêÓO?1â²¾}û¨k\£i¸ûŸþtèe— ÿýéxHÂd¡,š76|aqž– l¨ä˜µ EÈuÁ3#'þcõªUõ÷j-n…‚®Ñ„$x|æJCIO‚v‰ôŒ 6ï$‰ 1„ºa\üà A1[ôæ¯ãÖ¤®\¹ò{ïÝøÍ7ÿÕ¦ ¦¥ð»ÂLWÈ8¬StF@¨ôèСc§'NX¹jEƒ½b:·„@‰>Dœp±`Áw0„ß}7y®Q½‚ïÚ¥ëôéÓ0‡7zС}Çf}¸dÉbL|h¶ÅCi+„Ã3I¹ì@ŽÙ¿’[¾ß3è€ÆXÂ}Ø%ñœÑ)'Ÿ®¼€Ê|œ|°—Ùdms`À{IÐ 6熞XæÏŠRù%A´ <ýî6 1s‰ø õ&KÀ(YÊ<ÄvŠ13P†ÈZXñ¡Oó &ˆ=RÇE0ì¤e¬xN,¹ç0QÁ¬â¦Á\å.ÆâV®« 201†#ŽÄ¿i9ð¥v!‹üô ÅK}zOˆØõJÄy"E\ 튅¡ü;Ú´*UCE$W¬PI*ƒ›H+²€M¬(ס¦V6rÉ•øPUÚÈd™.‚s—xµø]cµlýå XZŸEŠ8":±Ôãá‘2Kd4Öˆœ(í_ñ Á:C”ÅUp~€Î?Pã¡"âJŽ!iÛL*M¶©‘¨G9£øÅ;8,ñ¶ÃHËTð¨ Ð ÀW.ù#Û /YL²!²É²˜ƒm’ÆÆRƒgŒ™ Dɼ/¥Hà,‚Aþ(äÞ¤Ç5Ï'µø\çµ)xÔÃ1gR`²ûR/§@R¡ÒiJ]z–%£¢E‰„+.¤â/ñÃŽ=ŸÐ©À"ë¨ßÿtIJ~¼I"'2x, È+±'`¸œfsä )Ò-­foE¦"V¥H5¢(.Í•[(d<¥1>€5 òÆäWžç3Z˳ Qkª˜F[È® JF«%Ó+©£3¶$(ÕVP.Ró€Â˜q„D(á"âK‰Õ–Q©ÊÒ%¾ÂTƒ20tv+8Í©PD†ø®I½ŒÑGâ¸Pd¶ŠQ¡#áFU?æ)c S'œ/±ûAØ:^ùÈÁÅ”IA¼©ÎÖ!n/099;sÛµl 7E¸í@Î!™9œV˳^:ukÔÁ;—­ý¥¸LNÍ*5¡SÇD±OµÁÎ|îÙ¼£r力—oÄ…ô-cÿŠ—kÕÒ•¿ÌšóéKï¾rËÐÑòV©Xi§Ü­]£í `-ЗÜ9Óf£Œ»•¯ÿÛ˜ŸÌ¡^>ÐZ;‹ XµñZ­z¶ÀÓI<Íä†o±FJÙìwvê‹Ó^~}Ö[3žZfWÞnÎnÄ/îÑíЯÍxô™â´ø«_ݳ/’¶uûÖå¿­È)ăàÖï={WkмqóEKñr½c=ZÚõO‹?Xˆ‚ Ï¿úâû¶»zÈUù›wàmiÛvúlÎ#Ný³DT¼bõ \í[¯©?Yëaû†m9•bnë,|GØ÷OG޾ïFL]Ý9ò6>H"}ó„„ÏVàjX·XV¬_ÕªBK&¯°pÕ÷|ÁJÕ*•ÿ5aÊëSÿõÉŸüù‚¡¸åaí’ßô= êñm€¶lxàöûñSÁÛUÂÇë(üþÈòÕË[7çO`üGu¶åãŽsÍZ5Á ÓäÉÉíßÿØo½{¶`á‚Ù³¿8þøã9ç‡V™k}e $û@!2†GHðëªèÜjѲeK h@d!Vˆ3+< Íùí+ëÖ¯ýY½zµ–­öÁõÿ ÆŸqúYx¸cÒ¤‰0˜¹Š’€7t`\¡±‡v„86¯²CóÅbtQ02z$ ª¨¿¥2wîœ}÷ÝW. qK&Žé×#e^&¢ ÒT›;RøÝNË–­ö„ Ï~ÚY¿þúëË“_„-bÆrì±ÇsÞzXï#¾[0?Csüñôö:>=îIÌÑì·_[ôx§NŸá¹Îö/S¶8éÝ×”&u”´|ÓÊ’%i5½C¥ ö7 Õ©§žŽœæÍ[t`wÌé`¿@ðà`KüU#(-\´`îܯ;uÚÿë9_ÎÿnÞç_ˆ`^%ÅêÂØeB„Þ¢†\J֥ȴC’Q£<`P8ª ›êtŸ†P +l¼{Fߦ©©ZY]­¤’„žPQáµ³ÎSP,` rlç^ k‹ŠD¡è%æEnSm, ‚KŒq2*œ%àékœÄ!î>rNB ÝX¶©‹%I4‰aÊ UùLt5£XŽë–ˆ8‚Mæ8É )AfR”IƒÂØMDNØ3]$Ât)khÙhÓ2ÖL)¬"VW1@Ç$Àè: 'Æ9y¢eIÂi™È©gÄ@AR•!¥v"ô„‚]Û*wÐGT‘ùrAÍe?Ó•43ø1*Ie>è„Ü%Ñ¥¶A"ï.)±Mb•J5Š,ˆ,¢Äúw•„áxÂEJXÉ%Æ«g°hªCÕ )Ùz"6ˆÁð‘À½(Òì"‰ŒÂÿ$É<öé¸W :\âSZˆ³~¢hð5€Âµ¶M>yøé#&Ê?FÊ’,¶‘Æ%åC)‚Oõ¥Ðì}›´5)aÌ£¢Ç'“†Ì8à¹K<—ɸB_¸=;j¤!’Rtš7 Bè’4écÚªµR´~[õ1.1c„/…€AKq$Çy›ÌL)бq‘XxÄñ-3ÐÔ-_r…ôV 00ŸÚlÅy´)+§SkÛ’Ö±ÆÃç–@Í6ñ‚"šÇ©Œ(¹ÌX M>Î`x"X¢¨sKY´–"2É‚¨d>Ež¨æ~„Ó-üç@â‰RÈ­ÇÖÂf,A b›©µ†²¹…9åË—ËÍ-‹7Jà~ ¼'±š —©sü6§b^íªµ*æ•Ç[Hy’AvŠ-æ$Úìܺ ß6¯Y²üg ƒ Ϻ [çnÐÏ?÷é<³dù’Õ›×Ô¯Uo³ó΄iƒ´¡©³æ®Y¸àÁ‡¿]}Ûƒõ™8eTH•ö*ÖBÈtëv²»Ý´(Ey¢e^n~Án¨1¨wîÙž¿aãx²yûæû^zäàN,þ÷bŒU(W~¿fû²çsrÞÿêÃz5ëà‰”Ïêw꣇,X¼°Mó}§ÏžñËê_qÎr«T®Ò¬QÓ‰o¿Ü­õþµ«×úø›Ùøá’gÓ1p{ :ìÓ®pçž<…-Ñb…ÞÇ‹H·ü¶‰¶y¹gö?íâë‡Í]4¯Ã>m,^„W{Þuõ: jˆàQ…S,ÎÄ@ÑVŒbx<´s÷2y¼=¿cËöè_í?€ƒß`%…$Gu«Õ®VµÞÛ|¯¦1fÇ–å*•?÷ÄsÐŘÂX±è× ­S½Êë6¯«¹:y5©Ò*¦O#ùÓ³_…ꄽøÏw§à5®÷>uß#Ï=òÔckÕ¨…<èwÂ…£ãBµ^Ýzgwz!î:ÉɹèÌ‹FÞ:òÒG¬Û°~ÈyƒÔi€ë£ûžzà’AÃòŠrñÊsO=çö‡ïÀýà>ïÏkׯÅ=—ž?,ä„;d)‹(RÚõ«×ŸÔÀa={Ïúôã…?,‚]»ýÚöøÓ¡¸ü1ò/¨>3ñYì¨}z©C’”}¦#(1ÚI`¹9™z„Ê´…MÒ#¶ã€×ÛxÆG}T¾|…råð²~u¯HÊä"û6ÚߣGÌnðr.q;±=‡{‡Š£8ñ\ƼyóFŒ3\štÐA³gÏ~þù篽öZÀ_xáýu”'Nä¥ò!Czöì‰Þñ‰ßsE ^áqíµ£ð>ž¹€ådq×h “óñ'Ÿð…rÔ½{÷ž:uêœ9sñØÀ{ï½÷˜nÀ”²qýõ×W¬T { æÎ ‚ÝÁ㢷yóæ×\3Ê^¨#ì:f…áØ‚YL abS9H&f7Ú·o—}@2dÈ`ÜqñÅß}÷ÝøU”sÏ=·K×®­Zµ>üÌb 4Èx˜n\É·½ôÒáãÆ=ý Ï#}ûö=í´3pÅ ·Òf^·Ã©6=†ïر¹Ý²e3.æq5~øáGø©$^X¤9¾ñ t:Kf+Ð^Ö‹sðâ’K/ FÓ¾}‡¡C‡=öØ#Ÿ~ú &P.¾xð-·ÜÄî•.¦9ÂÊ-*W¾ÂI'üÜsã0òÈ£O@ÒŽ¢ŒU 䃎qy/ò¸j‹†›[Ô¶ '8Z¶ÜG÷ÆV­Zc‚£m»öðé™@¤– 6¾<–Y{­ÓssñæÎÇä³Ï>iÑ¢ÕE ¹å–1ˆK»¶í‡ÿ ~_öùçŸÅüQß¾GcDß!Ò¨a£5jà7\$=EmÛòž®ƒ漃ĩ.ÂÐG=ÇÒä–‰-ƒO|;†‹ZÄÂpnÖ;8øÉ”sê©g‚ÿ‰±<ùÔchË|é05Ø0·BqソþÆ?ïð.ÜiÒÿ˜ã?¼O~¾FfO§n)”4”bp%íˆcˆZëYk=Õò6¦dbô\Vã± ÄV>4ª´Þtvi$5qSá/ó¹ ò+Eém nô‹»Ñ-Ì c®¤àš U\j¦A\1\{Dã*ÏA1¿Î“ÔXzÔ: žwªÚ@ÒË€zKb¥—µM¿ƒ(É BÇûÖØ$,adÈd@{Öh%–M‡'r£³²n”ÍÕ¾õfp›‚ÇŠß)gãxœ6EÎ#ýËŠ·PI-fu)·ºk):^OµAÝ"F°l Aì8ÙzÅÒîU#õ]„¥F’%h8!ƒàµjê߉h—XeNpÈÐ¥Úwíd:R)h$I˜Õ TÞ:ެFKdIÿS1æ&Öú;«Yâ!) ˆp@Á³Ë<ÅF˜Ø ø¹Ë!ìéàÄ·–¨°‰’œ@‚¿Hk²b›Xwy¦o~‹HÑûüå$Ÿ”°ãáp<›#¶-¨ âÂε•Z'Í2µE`˜i‡W¤HÑjKH 7î.VE +f“PF7Úx:J¢™¤HÐZì,›Ú¡¨-1çåäü“øi#Fµˆ€æIþCÌyžçêxЄH¾ˆÅBnÎûà‡ºÀ¬H| ÑÛh%ëšö¼µÁ0¥yd¦#¢„©DíRVB[X„ž-‘\¹*„‡”™#7 |Ë ùHÕL2.c Àã3&²Qä­ŽK"dr诒ä¯ùâ–h¹Qéâ-Âð«„²Žù#FúP'RP•˜"s~Jp'aÈY·iÝ¢?,\º¨yÃf êÔÇURþîüÕë~[ºjYÕZÕ«T¬Ø²Q >EBæDÈ.‘NIÅ%ä¡õÝ:t}æ§ëÕ®‹)ü-”[w<áèÖmX׬fã]›w€ÿt–Á)-¾kÛÎm[쇲µXÜHŠðl¸FÜeŸN× ½jÈm—â±—kV=kpýÙ½‹Ý/ØQÕS}јZÙp‰W6·Ì·?R¡|ü”,rbȉ˜D˱9‘;ŠpƒÆcÚ¼s.¼‚K:CX¯zhÓ÷KlV¿i„IŠýzõýOßã§^Ú´ÜoÐéç½`(÷wî]9[ÖoáåJaáÀÏ9õ¸SwìÜÇ^¶oÞFz±(çñ¿?¶ò·•µkÕÁhÌß×Äì¾èœ Õk´³T9ÅøÞ^õ@.p ƯN¸åš›Ê–áoPjpÉ~Úà .‰PûdÕ¯«+U©Ô¿Oÿå{R òwoÛ¼?ŸüÀ]÷_~Íå<÷Òsx„§[§.JÛ;qØB‰qhnPà WÈÜþ÷ Æús97Ýt3n‹ÀŰt{d=ìæ"¼ˆå[n¹Eo£ø]?‘‡øêׇxMfø5¼öî0S€›ðÓjÀ£àà\µ•XäØ<̶ìÙ²e+CÏ¡cøAÂ=2¶.µ GÀë ;w¯àç3ðƒ2˜Ô¸ðÂA—]†Xúâ•uêÔÁM%ømaìø˜ ¹÷Þ{&½<¹B…ò;¶ï@º€ÇÞ’š5j ‘¸Éý9 ¼û7¤h+U¬XµZ5¼¨RýƒVãõ¹¸]¥r¥J;ùÞMt(ãd ž:Ù²u+¦“†ðÔÀÇ*úSQëÖ®«S§6v94_ŽïÅÈ*N±6nܤmÁ%¸áïûÄ­(e¼¼ïìØ²uw ¹®¬Ébß¡£‘e¬$.Z`,ÔªUa« ]oذ }‡—é wàï£ÕõÚµëÐ#+V$XðȉwÏì’_uÖ!"žØHnšÕ‘k$“í¤´jµª¿­æg lp2¿nÝZ¼a3ú›7o°fê8ØmÚ¸i{òéÇÐcn¸ù¯X©"Nƶ¢¯’”NllTYJ¸*F&¸(r^Wfk5-ƒµµí\“ ãO†`¡ ®KÚšP P+q Oð. < 6Ä©;Ø:‡Ëôsú.ô¯º(ƒ;½ò:TN}iáÞ=Ì@AtàÖË2ÛD&û€í )/‘øÄ@’šŠà N “’ð–XùISZ‘>®Æ<’SÈÅvM¼Ç2|L•`Å]CI è:ly•cM´b$qÃØÀeØ"ÿ¦Éb#8È3—L\”¹Í4Õº¡œ¹Ð·‘RD&ÂŽ¼3H£’ÑjmÔ0ÌVV'R ÚÄ:éôŠò«%÷i,Ê#{µ¤Â(Ô©»N\áÒNýe¸Ï *˜»6lIü‘‚Z)kDzLûbfp$É+›W¦'9Ðr¾üm7N0°3ƶQ§ Ô¼¥¦TЂL²@Î#î”A£Ü¨ÊG:¾Ý-SçáL¡âk=9ú¤¤% Õœíá¢mY³£í‹ÔqE”-Vfžè«ãŸl%xµ3aà’ºèUcE[0 "JtrMŽX¨×Æ'‹§P+4à?L`ñCƒ |JàóÚ®¨E¯¶b¯ÖzÍÏ‹,ò°ž¡% ¹Æ%ì8Ç F„ÿÀB{1GpÒÚd3‰&M¨v¢¡–‡pí"m¶5Ì É‰ÕĆ޵ ƒa#¬9R¶VYÿpé’”¤‚œ¾° ïðÓöœÂwV2“(ç¥æ€N¤æ5QyQª}Iv|Z¾i%.¼qÎwÀíÚ¹ gY¸¹R•ʵkÔnݤUÁÿaï<¤(–>>›.çî’³d%˜ÆÏ§òTL˜óSTTÌ‚9‡§˜1?#*ŠfE%HÎù¸¼·»_u÷LïlÏl¼=nÿpÌtWWUWÿzvo·¯»§¢Žî Q!ïNNôg0*= ªžÓ² ²}uõuUµ,žG_2é›|zVš+ÍS½­’TdÖl~S1—싎ŒÓP1|“>£Å€iy­ ¿øeöÀ’>¢F½Ç¸K£rÃ̸2ÎìàyV£Å†»éÇåÈ*É¥. , ¿¿fGMÍöj’g6Ë 2&\õþÊMì3*YÅÙôx™Úô‘› ÖͦC™dLÊãÊÒ†!«ž‡ÀNâW ¥L“üc© 'A§BAž-¿•d‰’0¾1K1Yêšk—iVÆ2æÿº­Qd [W×ÕLÆA OE ZF ‰P¸P[÷e¾˜mH‹|™uR)“uI S Éè6$3p)*¬DW2.ìUCÇ(1®&=. Ê•,)eú5˜ q.Kr£ y±%Æ Êiw*ɘ‚Òoº¦a`TC¾™rØR¡Ç‹ùɨ:h-e­ÑÆÂ¤dJÚ(J‘®F68è9èlÈ€¾vÑ pÔë;YHó¦Ô³†Ì¸’¡)Éݘò¦×¨YÊM¤ÀHÈ{Œ} ƒ>¶ðiöô5‰ý œÍ_¿Ž ¾†!w'„T¡Þ§ìM›:˜ù~':S ºrb¾ ¤Oƒ×52ÊUW–Ŧ–áϸ2\,r·*úì6åÿÑ67è%è€×N4²$mêYåë¥^#w!ÒÂR-*ЫÑá9Vµˆšë’˜ó³%C,E ­~6UÊMYÇð"#+ÒËCPÆ `ÒÔCc%²T7 J Î¬ÊØ²ÛŠ7JTÊsÂ@ LY)³ÀQÑïmú”ÉÇ>áð9/ì6dŽ…#~5ßw\,*#Ã*h. D0º Òó2ªêª6mÛL»HÒ_éèÙ´C$mÃAß—«wÔ/"=ñŽÈâ2|¦°5‰6§¸ùÉ)”¾áì«vï/‹9UýC ÙmBq?à™©34ü‡ì‡ôsKò+׳/ç,c„¥ç˜$xè Ä—¹à9^«’»#!eЙíçËÞ6øÁtˆ¡däÉ]K9åô4¹¡w!6žß"2²d/7þ4\ö*Ó³CÆ®LÝx‰ë”™ˆœ{Øè­ðÀbãñ Kéq5ü©yCίj¡š7”INo­%JÝinCrµêú–±zá*þ¡IBÕXŽ~¿£z¡YGÞbf¡pc’˜’F RäIóÐæ2VéPJDÂÐ7®\F™é½ü¢‚òšò’â’õ«×‰—‰ÙžßgÁzx‘¹U, éU®É&•&ì*4)Á£µë¯szƒñùi&›É³^bv ÓLÑwºÿƳä^ pPÎÊ…{u 7LEQ3ÕÎB¡,,]Mï&ÂÚ83­Vš]Š÷S¦Ê¥æ"Ý¿á&Ž«ô¢GKy–2þ3O!ï°R_W2u±ZÄlC© ×Rhdºéo}ìÊ?0±õ)tïJsCÕtùýa¾åB*jß¾EËn'1Æd2IVµéõ…HM Sˆ@ÏH éƒ(þmÍ©Élª2D4Ùh¸îSº–E&9KšêY.£“¬•p5~ Fʲ´‘ßàâŽcoÜ(èÃâé:†ªY‡¥¹¥8¤‚КBr!f$ŽÚŒªäÕÐ2]Ãø1i¨IªÂ.nÎ ¤D54ò†¦þÓ쌰¬…¶E—êE†/¦,n'ýB7€©Œ÷H3‘ÐUÔIhšTxRÏb޵ܹ”×a¨è¥&C DtÁEð²q,"ÝŒÿ&ñÈÜú¼ áÍÐaW#-Š­gn¬Ýª %á•x=zEB+˜±©ßF$+eK hOK¶Üö¶¤W0}f˶Å*©l]Ðe0ÅÕLt‚%F‡qIPl~ÍR¡bäšLL¿wø÷úÓ7Mveï6lö5EãÑ[$¢¡sF‘ašüŸ¸gV(œ˜mxšß Ü¥î׈P×4†Q*,L·” Ç@¢ë „²aBjzýBQÇKÅ”;S±˜ÅŽG¯’§ Sg++2d3Åx ›×oTʪâ‚`Kôöë±°‹øo¤d»XIPÈ‚aoVLdx í¢(m ¶—óÃxcaéÞÉF|+ä UªFÞ¢Ëfo°ñ)~Ûòï×̳áÆP–UæÏ¨DÆ«gu_2^ÝЧy7×¹Ó=­ [–µhM°ØK‡žÁQëûÓÎB®FõÆ•ã i¢¡NÂ} ¹¯Í]$èZÒ‰fFH5–`ÕñN"jp*Ù+,ÁnZýÌÛ×le˜D?‰,ËéGPÀRìF÷1GËOÌž~øn9‹A?CÖF4ݵ”È„(°'̆zž¾±/ÚÂ[ˆ—29EAý~e믽ç(vcA/Ÿ¯…{ãFaF!‡(±LPLY”„@(Ð'ðU­à–ª…9ÏÓºÀ$gIS6˜3ÈØ˜˜õ´šô%Þ@ M³ÃW-wa%¢Tpæåº@éD®©xâêìD½eãæœ¼œ5+VÑû§(–6¼÷X_ftC1[#Ë®"C¹E…¹8–4Ý+tˆ¿ðÓAhšî¾lÙRÚ“ÌiûÏöíÛSbþüù±n®ˆ8$P»HdèЪl.eÖü…Ëã¤÷×o^†…››}(Öæ"»P­U¡õ#ôÔ.—¾4…¦ºÐÞA¹bnd®×Þ3d¨éfÒm o.ÉÉŠúJèñKðF2ê ¹2Þ½| XLrcŸjØG0î݆É-3³ëݹžã!²º3tô7M¡À” UÙC@EzR¾ÑNì¯ACµ½’”ø¤ÀˆÄìF â,%A»Ð”0BKŒk)à`¯5öáØüS©]ø ýoø1®Áºh 9dËRŒ2åj&iÕ :RÌô²YjÖ5{ Ê”qeÖ¤)úYЧ"ñ^föL•™M¨HφJYΤ)²B™Å,b)Ý”ªkŠ8 眰³4$‡¤©{Ñmô¿H!×1kéfi DdÂ@B~;P8$`¯oöŠ”w>Éø™!»OØ[pÂoW#-ýRB ˆ×¤›ð‹þ½œ¥™¹ÞhîI7¿ýx)·'®ÄORdIÈb™0T˜À"d…&!%›aæÊß»BÚkr¥;’żÈ\êTT+µC #帉a'º‘¹³ð~¤«QL~LIá•ÝÜ,X‰þ{Œ,^³af\ ežç§à¸¡,#m]È.Ì¡)Ë\éYJÈ”IÊ…âÄ”õDRœÍ…f¼” t!oK0kˆM&zÒ$!u23†îY?ñ2CAð2+i©HrM¼ÌbÅBÉ5-Ñô–®ÿa™ï¤ÀæüÑ‚bʲAs£ßFƸZÔtEÎ Œ2~§ ž‚åé>c×ÜúÀÅwu¶ˆ@*L‚æÌPo(bzü‡¢×`æº !a™lƒ^ o$è˜&éê•°4“%Œƒ½1²ƒŸ¥¦é½šÑ3Lß Ôä›9¡¼ qÖ«Öut?! Ü3çæ¤?\“5k5_|ÄÚjÇ´¸µrbrîœQ㇎Aб%ÆÙ(1òüJ~5YL1P©¡À¼q¬©tð]x£ Ãêi^.”Cuu?ÜT¤™–îÖ0, ·z5üN1ü2µµ\.4)ixÐqéµRRà¿ é¦CT'}€³iXýºMP™§ô¬^Èjc’Ð"³¥…4‘ *3Ìu·\b=Ù6RªÉ®0; BÍk‘OªåØòg: Ò\LE^Q\t‡F©0 ?ë v„x39­‚kñJt èw¤ÎÁøx@u“„ysE©d%Â!TDkt”(àgs©ëÚ2ì8CÄZÈÁ„¢ HX0dI2ñÁ‰7›}¦w9¡aXþ«!—Wî†×*EÁœøeok+åÂ`‰Hó¬ –3Il²"CGQ.ŒB‹+“ó ŽpÈϼ¼IÔ ñÉTyYˆ‚t`'e2;¹ÑÜXïBÖ[6‡ãᇶÇ$â· EPŠUêç˜ì $^}äÀÚ(¥ˆÉ^®ìγ»Þê>– õ”Hb±ÔuøKPò0X;{Y+äj€½&+ïAöw‚âžÕNÿÄAeœûhÃ’\7¤nQ¹âC͆Z¨¥aóƇÞ£q70ÚË. páê. OL-bd²P8æYvÿ•Ù‡}u\-¤áŽ[*æ²"Õ»wù¢^JPÍìÝ—yUõ"æMÞƒI%Å$i«ô¢˜éY¥\d-žH weØ^a„ÖôÏSÁ¬IÍpÍDBAJXÖjÃê JeJZIGVs]™_Ì¥º\Z²„~èºA †ÇÈ1$¼Œß lÅ }z£»Pü2/J*â¿§É’þä(î¦Bÿ‚.Œºé¯Œº.F·°Þ ÒÀ( †Ì$Š”šÞ<ƒ~Â)s îÅ8™ÌÍ‹bSŒAK%%³Ü„çds(§Kù…·Î¬Æ´MyÙzáE¼©*BQdwŠdrÛ„h².ÒFœtùÁúQƒu¿¬Q†&¤Ì’ó·!ÞFö~$‘Y*ÕÃá^—áÖ¸)æ[øÕ%ú…n“ŠQ¥¸êõÈr#¢Å…!%,cügI9 õû6¨¯§˜ŽE(ë‘%&5)“ZFBÖgì®áÍe \…Æ¡À£ócý'îj$›¨÷¾Qw³!13"Yh@<*RU˜Mˆ†¬BJ)aЉÅ}Qo5l&ÊçR±ð ÌÅYË ‰I¬Íl(—m«ÀZ#¦\±÷:æIoK𼉬å¬×&+µ(0ÖR«„陌%(³—[½1®Ô•)EnhÊšX¹TIšÄ&f(c“^ÌNlK¹¦îFñΡÙ9ëIÖü0ÿœ«ÿV IýÈó›Ód*:Ø$Г!o4ºLêê ö¶Á|Z¶úKLb6F?!|Ï'"AQ²H£Ç)ë‹®ˆ´³ð Q ŸÑßdØ…3e‡ÑÖŘ…E3ô}Œ¹’­7+®ø‹œœPž¨ñ+ScÝ˯ÿ\×°æõËŒ.“ñ¦™B•oš< :‘ö“½žæ^ÀOzdÜÀäOšŠ̆W控M~C“¢³“PUüÃ6ãat…`hÖ õÌé˜þ]K%D¥Ì ˜’æìÖå/hãìƒ&û--U¢'ôï úç‰P}›:™‚«P•‰sˆþ™Þ,ãi!mc=¥ç™‡`äB(jãUŠÊLgCƒ¹ [#kUf%¼Ô¤b–0¼Mt ýæiÈ MÑãÂ76y3L ‡ä“ºK韤¥OV¬~ºfzL..z’2Ü3kS– ØÀöyq{Ø.vô^FóùnBì[UOïûü/Ãü÷·¾‡2÷ÈNì1•0¨T‹Q.´Œ–0)»O™‚×o ,Ø`&Ä36™k`bãÊÉI_Äd~qÈš¹ ?Qète¿è„:Sá\7xÒe¦"sM†˜®†˜EbˆƒndJ”ÊRl$L–v:ü®Ð_Óì÷4±`]ä6µê=oø“aQ€âJDï&U*_Y¡ ¹ÖË¡Áè9CÈäÁÓtâ×`'°,É«Y¢É›žk²Ö±¨¥kÃI¼ɬ‘à’¬<ÈGQ`…BÄݰ¤Ð§Dè!î¡l²U2bU¤6Y¿ñjàõ E#ŒZ rÖi,„îZ71] 'RÁ$0’Æ•txóL7±´Èˈd±{£OLì+¸Cù6#Œk!™N,˜˜µ‹ÿã¿êØç.#K%ìàÖ@÷À}ó“,`÷Ž”0i(ÙV ^Æ'=öÈ«¾u ¢&8žw?‰¼©&VÎ_Â/«–~ÑlV#†±îN÷Ϙ™n “&O2;Y¬K„W?10"!d,ÃòC/áY]¤»aþš3@éÑŠ ëPú¶Ou36´/«E˜ð3+Ò X^÷¡ÛÒ…î v¦®Æ ØÉ0bÅfL›’[³›–ž3:iÒ$zÖ†¹iH54êQYQyÃU×}ôÞLÚߊÏe`ƒŽSO=uòäɵµµ^¯—ÆBR-nÄ       ’Íéðx<W_2ñã÷>rin¾ÞJsüùçŸú“¤.        Âhí6-EÑw˜G£gî²%WnZdDs7R8f„  »6ššzÆ[P\ÊÿR–΢m”¦çm¥§§ïÚMEô    °³Ð”ÌÌLöaŠï²GW7-N1Þ’‘*=öµªªjýŠ•‹?ø fé*·Ÿ7¬y®Ìm:vXIÛ2Ú¶ƒ€J“C¤•LHó­+–oñ~Úâe™^¶WHµÇQ×i¯Â#/lÛ.ó•ë—2ÿƒ••+ünÚ Æïð»Úfíu@ÃÊJ"™Ë0&'°hÑ¢Ž;Ò0‡ø)5Ìãâ×óâÅ‹{ôèÑäÑ"ØUÐç+Ú€˜=bo¹ë¦õ)¶¡“ÞŽ;þšùÉú3óór[µj™ß¦ígº}Åê‹WþqÛ]Ž8´Û!äææÒº«a¾~Ö‡™o½×¦Eq~·¶™eméÃ\Õªå+V”ßrëªcŽ,9ðÐÈæŸÏýhæª÷r óZtiÑ¢°„v¼]¿eí’õÿ>ç·ÃÚ9jïƒÃ™[ã@@šŠÀ† † B3ÈÎΦ?*Èañyþî»ïºuëÖTA¦@½¾5Ïݞݹ{›œ¦ ¦fÓâë2{÷jM³]q€€€¤2ú+…çb!ÒDÙ€[ä­ÓdÚ…Ÿ|²åÒsz¶è|ÐAÍ9"àóozóÝEï|4¿¼vå3ºµnD“8lÍ7|þqÁÛ¯7k—]Ö/¯`Ä~ÙÃŽ¡§»T~óî¶/f¬øuÛ¦·_ßàv9ÇÎü‹?f}°ü­œ69m;”ÜéÐÑ­ª«ü௷¿\ö™o…oÆò·èa1£ûlknh*4y²°°pýúõŸ}ö­C9î¸ãÌKQæÍ›GSKKKIÍþ—²£ê‡'üp•s¿ —ÐÊøë(ÿö¡ÇÞÙPrÖuã;²Æh`ýêÙwÞ4gð¦ªCªñ-ŸóÎôïž±ŒK;õ? ßg_rT™ÍäÎ3›Œ£úçÓλíüißþ»»MéN­qå5ÿÒw'(ϩۉ1 *˜ °¡ ö\`Ív€cóê5ÛÞžÕµÖÝo} ¥³2oþW‹虳Eó—ôXVU¸&ðk{ÉÛ³6÷앟Ÿo­xûêÕ½VÚÕ¿WwoF‰7­~m`íÀá¢MF}>¶³†õØøÕ7ÍjüC¶¹ZjÞÜe[œ3~×6o×|þŒo—¦mÞš¦ùÒ¶¹¶§ûI­]×.Vsßœóš:ÌMÏÏqçiNÿ çÆoi_S·o™³0àvæuÎvV}[µnÎǾ®]­æß/þÚ“áiÝ» +7Ý™XçX^_QW¨/OÛ˜^èl–]“™¹zó6Rë²—¹Õ!$   дºví:~üø©S§>÷Üs´%GÏž=«««iNí»±×^{Ql´VÅþ—²ÃçÊc±oìÛÅ'ôhÏ'G,ûæ’8µ w=5âqŸùðS-– >g£=Ï{ñáËØüÐN=Ž8vBÓC1±€ã;>PXpREŸÏërYTâs˜¨6 lœ¼ÁââÓ^cqF»—9i­Ô ÚÚ=+耀€4„}ោè~‰JÑ’Uí7»h×<¶W‡_[¿E{»š×ZMŸ¬òÙZŸÍ®¥ÿ¬²ýsSÉŽe=²3JŠÒ ³]Ù™ÎLZr¼†êóçûüi¹¾,·##½¬‡Ã¿q­ùǺ–=š5+ÍKO÷xÜn·ËWéØàÓü.§Û—Oû†ÔdÕ×÷poY»ÎÖ¼!t`   D`̘1 ,x饗žzê©I“&ýôÓO´™ÔàÁƒEu4ÀaÿK·Â†´ í…ÏЮsNÀ¹î«{¿'‰_«ò1£€sÇ’—n?ë‰9$ëpþƒwý_ï"fà¨þõõG.ä}J|Æéî~í~ó‡wȰ•’ùݤ“_ìÿè'tç[`x—3Pt¬›õàu½xïµÜøœ6áñ ¾¤¢Ë'Óºž‚P†·:94àØúÓK_õßÏXé kfÜuP6sY·è“—î¾í¹…LªMxúÓ:ÐCe´ÒºÕ?¾óÜî%ågÝsǸþ-xy|§À¶¿_z.ÑpkÃN¿¨í/Ÿ9ϽïÌNmÃ/ïÜsÅý?pgMûðXB¡i;þùü™o~ëw.uÌɣhœÅ[X5Æ=çÞEáõûäñCÙrGõŸ¯=rÑ£Œgï wÞqò Öï’iãžÉ¿ê°ªç'=ó‡¦ ¹èÅ›FþýÐñ·¼¯¥iM|é²Ñ-m¶*ã•á   ~u³ÏJÎù«¶•Ö{ò4۰Ó¦¹µ,·ærjÕÙôiJ+÷æù¼¥õÞ-+·Ñ'kP™Uym <Í <…Ùά -ÝÃliML½ËY—N’€Û“Wé/¬Ü¶Ãμ&»¦¤uAannºÇ™ær¦9œôgú|WïOóúýµ~Fz}}kçÆídmS»5H@@@ ©ˆmD©vÚ7êä“Oþûï¿¿ýö[š»AO+£ý8ÌOеÿ¥æð×íÐÚŽ›Ð{úŸû|Á©x—|÷´ÖwâmûÞ5é[{ðik_{Ö´Q—?ùæ>•³Ÿ¹ôâ+[¾ùÔ¾ùþ÷ŸËÚ-OÞÉÿó ·O]½²¸¾ÎïO³•k-»öÒþyìµï¼~=«vÓ×o¼¼®à®Vyþl4‚½øë+·þýæ”ËÞ'dÅ×Oxì‡}'Ü8qÿ.õ–{sÔw޶î‰kÿÓ{ܭܵî…+Ÿ»â£QŸ+eõÇqÐèÏËÇœ;];òægOêTñדÞü»6l[}Àï\öü÷¯˜0õÕCʶ/Yã/`1þ³Æž9Eë=nÊ´CÚ¶­Úšå¡y$þÚ‚»Ï9·Ã™Sï?}Å;×ÍÞ´›‡š™á,ÈI+Êuæek™éZš[óÐX‰¦ù¼Zm½Óí¡1 ç¶:-³ÆÖ<;-“¡ägdyÜÎL—+ÓåÉtÐLÕ@U ¾Š¦oø}õ._u†¿"Íkk'¨ƒ€€ÀN"@›‰î·ß~ôœ²·Þzë°Ã£EÍÛÿRãk7\-{xf÷§}¼øÌ¾¾™úGÜ2¨åúÍH&µ ¿›¦ic‡uÊ­ôe÷èßIûðÏUÛ‡¤¯ëÑù­Î¼oÜöTŘK®ýôƒóh©©¯f‘­Üïm¾ÿă§M½uι#÷+ÞøÅÍ3ý'ÜÝ;³ÞëãH C:ü•nm¿›^¿j@>:Ôm¦Øs›g‘<â„¿¶–Xò÷Ú!czíÝÇÅ>7xÿyý±´AW]sü¾4˜¢5kF'×ÐÇ“Á—¾tÛaÍÚ†}G>:ççÕ'5ÙÎ÷uÅŠm¦Ï^Í]Ú¶,Ï´Ä»˜Ñ8õ‘³÷iES'†]ýÄ…_žó•‹Íê(Ìu‹¯¯êÜ­ÏÞÝŠïßvj}n½y|6£¤E[‡¿’„WM¿}tsÖÛ5ð‘ÏwTUûj–QÌþý¯ìšåøK:kÚKþZ>ü€l‡¯RÓŽ¼é¹‹†¶¤i¯4má 7O?k·V·~ öþoK¶ø{1Z8@@@‡€é׬_G*kôôj_»`µÖ¢X+ÌÖŠòµ¢<-ŸÏY­¨Ö¶–k[ʵíµ¼iZÙþݦ&¯”Öà:rr´ìL-3MËðМUæ¼>MsÕÑzVGÀQç¬$5[ó–y­Õ•Yž´L·;ÇéÉvgd¹ÓèVV}í­¦Òï­ÖêÕÎÒ|ûÚe+&' gpP$›ùqÒI'M™2eæÌ™ûî»/íÇ!" ¿D…mv¹¹6«ó°Ã½ÓîþòÛa5ohcïïë›E†´B…¦9RâÝ[ÎW8ÒÚàq¼uôÅ{M9M|ä#Þ@6)üáä¤V2øàÚG¯|óÏÀ>sÓ´ íJB±Ó¦˜Áá×vÔw=¤KžØ—ÃáLÓÒÍ[]?º L„?œ¹çÜåW%5¯—˜w.)f”:¼,ð€›•ê¼pÆ!À~ß²§¨ÐÇ!GØ÷ÞÝ6¬\ßµ´P+Î׊ ´âB-'›Íਨd32è'óqÇ&Gïn! ŒˆkKûn«ø³MzšÐd‹\h[£âeN(‘áÛ^á#5öÀrtÌïúÛ¦ïÒýžlgz¶;-×™ébÁ£E2²õº|þÚŠ5}óûÙš[üA  MO€Ö¤¼ÿþû;w9rä÷ßÿá‡>ûì³'N¤gÇRp8è«rFW+íV í©nÌÔŽ¹§[š÷úJßÜ}ÞjúZ­{ðÍq‚Û=Ð.$l™Ã¾_S¢nÍ?_’i;ì夿Ïì|Âq­®~è‘){ÏÕº\¼_©^`欔Fü÷‘"™£]#kß}ïíÙÇ]>¼”òáôîc/þð3þúâÅËîŸüÚ×ÏlK¿Íµ…¿-­>´ŒÍà-R héµ´ˆ†Õ(¶¡xC?&¤¿úƒáW&úUX/MYºb]¿€Ñøç·¹4P"üäv9èæÆl[üÍ=O¹òÕnœ;¸M‡nµ³o©ñ· ’£ªY3½?Û~Äï§ñ Ñæ*O9nê[g²!ï|ˆƒ´hhƒFPH’[i%-%|`†¬„ Ñ$ Ä o~Úƒƒf„ÚºÎ<À·àŸ•™Ž²æ…ZQ¡V˜§ee1Í4š‹á¢ 5VW•û:–¥î_[_oõÙëÀª_¬]WÛª8Os§±éNÚòCc Uhl%-°vmm•ßãÞûÀš:›º÷ÿ§æ×ÍË+Šºfg8ÓÒin'}̤ù}Ž´ZÍ¿iÙfZÆÒ­Ù€º 6ñ€€¤,öu—Ÿþ9í¸qধ§ÓU/^üé'ŸvïÞ&tœ8ì);|ôô³ Z­¿>wðqžzìçêÓ†•y}ule{¼‰³ÝÐSµ§^½øÉԻij}ýªŠ¢òÚuj×ËŸùÏÍu ô,zøÙ)„4ªÀFÎ?t9àXÿÿþv®vÔmsø³PÄúñ•zŠÃÏ‚kRr‡qªöÞówœáÞ~û‰Ã;eiu[Ö/þò_{^rV×Òç.¸x͸‡¯Ù®~ãŸß®ÍÝ»sËmZS é>b8ì¬3ŸšrßÞy§oë[·lE í ÎÜ=[ CjÔfú½_Ë*ãìb>9Ûõý—¦M¿|ràÒѾoxùúƒÎPrê¯YóÍ×ëÚõïÞ¢E«žšösÀE®K‡æöÞkxýîñcZ¶,^áï1 cH3Ù£]å¶G5`æSŸîüÀ±ý[*6¯\ïèÚ«µ[*ÐÃ_ê˜2± >ö%Àš²È&æ†@@@@ 6ô™ÁAÏ$qj®°åšVpØè5s~ÊÈNož›ÍF72ÒÙä §ðÕoª©Zž–¶ßàÍõìñtÖZ+êè/;G­]ù¡»0·EGZ¤kš<ª96¬­Y·²²ºíQudmcNÃû–õó†w¶åTæ´ÉðÓr×zñ$G½WÛºªbÇÆª‘-&5[sk<€€€@S`_Õ5mÞ¼yK–,ù׿þE£”íÔ©qÐBz¨J—.]~€£ž~SvÈ g§úJGœoûÍYe{Qš]âв)á ÿâýÚ—Þrч¢§>øJûlW‡ã&ßžõÆ»_¿÷fæÉ÷]ÿÙe·lc_½}áädh5ð Ú]B;¦{i2o|t†ÛùŽæO²ÑQrÜë5{öé{½væ£B¢• ?{8:¨[·VÛ¼…m•¨Zy×$½¸ÝqWŒiï!aÙ‘—ÜP÷ÄÍ\;ûfØ÷ÂûwhFõÑ„½^g†Só8X£uÏ1_JƽxáËo~÷æÛé£&Þ6äÏëZAêµêy÷N¾Cxi}Èuc»‘kWËOß^yÛµOüçËgXIÿ‹§÷ÛËïÌ©oA…|Çç§¥=þz¶EHË#¯¸#ðÌ5S.yC8vñô¥Ù\Áí` ~¦»xÐŽú šà-Ðq 3œA@@’L€žôêb£~mrfë›ÅÚ¬Y³ôµë\sç7ïØ¾8/?“ý¢vTÕÕl-ß¾éŸåÞž]k[–nÚ´‰žâjõ ̵‹²·|Ö¼c^ainf®‡j¬®ôn]»cã’òÊ‚QZóΑÍ7Öÿ¾íÒ¬¢¢¼¬ì ú3HEUÍæÍåë·T÷/:´ØQÎÜ$   ÐT~ýõ×£Ž:ŠÎ§k×®b¼ƒ‚¡+ô[¸²²²ÿþƒ z÷Ýwûõë× ½Õ4ðïÊÈÉ¿˜é{vÀŤÐQ9ÿåOzí¢Ç_]â 'gzÞepÙ/gÜ÷ä‘%óÞxwqqÖÊÿ=ýÕêƒïxíÜ|¯p¦c9ꪷWTÓ×{ª:'+M¯1DËWWS]pfff…”ú«ª«üš'33=Dbš@Æ_«9õ¥/¾¹O?ùûÓžšvt1eðVW×ú´œœ½]5_]Eu3-Ó>øÐuÕ;ê|1*‡š"   |ÿ>æ$šŽábs1ÂïÁAÕÒðA³–¥…;¬ýþ§Í›¶dñ=8ª*+k³2rÆZQUE ¤&gÞ*‘2óæÓöê½øY™ËWäÒtMÇörW­zé;¾²²&ºy³’#Û_0wíœËÿq{ÊÙÌÕºôBO£;îS¹­2²¹ ²   ÐT²³³itÃ˶iðÿöÛotv:4ÌAËRzöìI :Hž••îWjŒ‘»ÒùjRÃKÅÓN›:ÿðc†fVÌ}cÖ|mß˵`Ûj„“S-kg=OKY®ÞΨªÚòû³Ó«Œ9õºÝ‹o¸. wzn±—†Qy¨®ÃF›·~fÈHçË_íB]Äš 8v|qâø‡{8ºW«ò¯^ùlµvÈÄ} ­<\é¬Fµ>‡;Ë6<Û:Ýé\×âÄVBF&@ Ý7h͈Óát¼þúë᪣ɖô ,##ƒ¦r俿Й45ƒnGƒ 555ôùÀeüiÈê¤iÍ­ñ@  MB€fjІØeC @ŠÕ+ŠNÂÙ@ùª_æÎ_½¶¼Nó4ëÞŸ^eb'ÍprÚøbãü_×–êWf393á8vºáöüò÷ŠÍÛ«îüî÷ëÕ†¢ìô0P!€€€ÀN pÚÿý;C£•­46áp¼úꫪ¤dTJ¿h¤ƒÎ”& kHy[¡Ü„æ‘cC)€€€€€€€À.M`ü¿Ægi´ÚÕåÔœn1T¹=¤Ã·ÎRµb±%›¦5WƒF@@@@@@@`· à`ke³1Ø1Rì G#@@@@@@@v3l:8”…Á»4@@@@@@@`×%@£´>%SËpknZ¥Â6[²h¾µ=_}1KmK­ú€€€€€€€€ÀÎ! G-¨:?[¢pŠŠ;vî±s"@-        ìÁ(úáÐ8hš†ãÀH‡W]‚=Ö˜ÁAñŠ¥(r¤c—h‚¿æ·Y¢‚M7pg€€€€€€€ì*šÓ¥9±DeWé/Ä          GIJÝ7è¢pPyc,QéÔ¥§Rscgw~æýðÃÃFŒ1˜Óf¤›Š@¸{#œ¼©âŒ«Þ]%ø]%θàïŠÊèˆ]±×3€€€€@-à`QñÑO£,QI…ÏÐMÔ)wÝ4ùúÅ ç}s:Bg$½¨IžôVìÒѲûö{Be‡"    ©L ¡KTèýùG4U|ÃOn³Íµˆtdÿ2Rެ®Ô\c߃Ï;ï¢U«V…Sò/9r¸5Ù*ÞÒ}öQ[[«X•—ï8ìð£·o/— W’›•púô|á%—oÙ²%¹þãõöäSOwîÚ‹Îñ&¦o{SIáÎé‚Ä"ËÊ–ªl¦p¥dÿ £ˆìV©¥!Ù… yÖ9½ö@?”ø{á¨ޔØncÔŠ"+(ae[ad?(]š€ƒ¯M °å)®$,Q¡Ï÷ò§Q¹ÈZD¢QëÎEE‹þþóÓgvêÜéü /\©×ëu»ÝBÇœŽloé€ýßøß[ŠÕK/¿Ú·oŸüüßÝ÷Ü7hȰ½ú]ré•••²º&êêê&^=©gï~C†7ÿ_Ä ÏÖb¯×áp]xÁ¹ôÇ^a¥x“µP)¥ÅLS"\óIó™gžßoø(áA8z>ÿœ Óž~ÖüMžS^xqúÙgŸ.*l+5æàE‹ …7ßzG$HBr‘Ž÷LdhdáËÙ_ Õ+W}îùôÇðn=úœqÖ9›7ë3;jjj®¼êZÑMÿ}ršl¯mñÆðåì¯hdçÔSÆÌþJ„œ„»7ÂÉã­7œ~ÔÖ)ýš¢V__ÛSÞæÑ k§±­ûÐ¥[ï#Æ»`Á_$?é¤Sf¼ÿTX³fíÐ}GÊlŒ [ª¢it– ò&³"m¾¥…š¨‘ú}ð>Ãè¸úšIÔBhVææ³, wŸP‡6–ÚN^{ý á3öóƒ=rÖ™§Ÿtâ 9ü e|øQáj·Æ,B¢³ŒM&h^Õµ“&ïÝwýLºn²œfE Ö>¢*|äf†#&­(*këd)     °ËÐí0*¶eWÔcæ‘V¤ã±ÇŸüóyï½ó¿¿ÿ:##ãλîI’cí¾ûÚ²eëì/>}ÿ½·¿›ó½â–f¤á3>h Æcÿ·_¿¾ŠsÖ\—9M:šÿÛï¿¡oö!ݳg¶mÛ|ôÑ,©óÞŒúöéÝ~¯½¤„¶•Ž1ü‡¢ÒuëÖO¾ñ1ÒDû¡Ž¡¯¬1{ˆ1ÍgéºgM8ïŒñ§ýôÃ7ÔÑÚ·¿ýŽ©¢€º©¼¢ü«/?ýðýw~üùgéÙ6HYcbúôWhtƒ”Çýûä_|YZ…»7ÂÉ¥a²Zgî÷pÐ( ³Ú>BCQ3Þ}söçŸR÷É ¿ÿþ‡×_þû¯?|Г&Ý@òóÏ?÷Á‡•C`=òØøñ§Jý¶T•[É Ïæ˜ÍuýøãϾÿ.½T7mÚrÿ™‹”´Õm8’WüçêK/¹èϹ?¿òÒ ¿þ6Wñ5ûõ7ß5ö³e¿ùæ[)±ÆlM*ß{߃6løüÓhZÓêµkè6“EÖ>¢¢/Û&Â3+[[g.E@@@@v üá)4Àápñg©è1'üúK ü ×~úãê “'•––dgg_ùŸËgš¾œ‡3±Êe-"!ÞywÆu“®¦yÍšÓT«UC$²ÆÁû îùo¾ñúļEhþ¤k'Åëö¼sÎyòÉiÒê©§ž™0ál™ ÛJG Û†3H¸ÑHÓû|HéïüqÄðaŠyŒYú¹íö)Æï+ô?úð½¡û !Ϲ¹¹W\~é쯾r‚¹îš«©¥tPB:· R–Æ’ é¿ÏýãÈ##å#?”Òr«”p÷F8y,ÕIyoÈ„,’‰­3÷{8häǬöæ[oO¾á:zååå’\ÖrÓM7”””dffÒìƒ?æÍ'ùðáûådeÍxŸuî²eËgÏþJ I“¨‰T£Úšc6+‹×)½T)A]`.ŠšG2##}ãÆ4ÄÙªUË;n»9ªE ›5kfRVN;"y\1¿ûÞûò½hòõ“(+=[ûˆŠúØBN»rTW׈/Û¶mS”­ÙÆhþùçNøïSÓh€ã©iOŸ{¶:}ƒb°­”Æ#ÊÚ¶ùàƒ™ô×ãQû|è¡G?ùä³¶íÊèïÿÖ°#K¬_®Hÿ‹/›tíU4„ö4 õ/}ûNèã´„øúGý%=Û)K£&håo¾ýÅç·i­rÑôcŽ;ñÒK.LOOwo„“G­.^…[šR]‹ÍW¬\©,DRtdv̘Q´bâî{î§Ñ“;§Þ.å±$"SŃ­Ž|R‚º@èÄøR GrïÞ½ž|üQÖ¡ý,®¾æº9ßζ­:œp¿}‡Ò\’ gŸ)(KB™µY–* ºÉ¥>õ”27DQ¦lƒ·:4KÂ3ëÈhÍ=bV@@@@@RŸ€X¢âb›ŒRRLÜcIoø“OœtÝ+V¬¤­ïèAŒ´Ïh²ª{äá·Þ1…JÐÄò[o›bu›“›ýÏÒ¥VõA IDATy\’;v<5홎Ú «=ºS–Æ8Ö¯_?醣ºjŒæ½?ý‘öí·ß¥†a³À$\¥#‡¸õö©G=–Â>ê¨#'ßtËÈá‰oÀ¡´½¶º:=ÆÒé+í³(Ki Éí·O¥©tPIy¸ ¥Bä­Âè×wo9ºAÊmÚ´Ù»wÏ÷?˜Iép÷F8yäº(±uá )5wì17Ý|+í¾A¾ív}sEGfiàà‚ Î¡mwis\Ç#å±$"SU^PJ6‚ñ:kšäÎá^JŠÛp$/½ìÊÅ‹—Ðö«4ÆQ_ï‹P»mÑEÿäSϼüÊküxåÕ×){á…çIeÛ˜•ؤòGBoAôz¤Ÿ[n½C,›’¥ÖDƒ·:4KÂ3ëØ¶Î¬€4€€€€ì h‡þ§×¼·¨éHn3h’üÀý鉌Ý{ö¥õt@þå:s‘.»ô¢‚¼‚a#ÆzøXZ¸au;á¬3Çu¼uù€UÓ*‘5î³ïÈ~úéÁï:´ÚÿãYŸìÝwàÿýkܾûìc5T$Ii¾â“¾Áž;á¬+'^{¶éïÏfp•ÒŠšéŦ“0ܽN®øix6ÆÖ…ƒ¦pñEçwêØéðÃ9ê€V-õõ>ŠŽ9ërºhfÓ±ÇmÆ’ŽLUyA)Ùþ @O<>rLAAM±šá^JŠÛp$8`Ôyç_LÏf¢õ8÷Ýsg„Úm‹hÜžzÖ'Ÿ:‚~f~üñóÏM3Ï‘±Y‰Mz¾â²K›5+ÚôAôSÒ¢ùå—],‹l ÞÖ§†#&(aÛ:³Ò     °‹ iô£9è/ŸbDClÃ!7ãøê‹Y§O¸T–î"­B˜»%ÿ,=ãÌs¾üüã] Ö]9Ä ç]päá‡GG°+7±qc§ñMÛuX[ëÎò¾{·ngQD=    MI@ŒZdiÙZ¦Ks¹5—þ‡t ªQ—¨4e£Qwj U´WëÆ›î¸ã΃AížQÐb_}íåËVÐ&£»g Ñ*0 ùÍ­o2*'nBc,Q1Õ‹äJ uëVc<´¦¦æ Ç\vI”Ùû{(£$5»K·Þ­[µ¢Ur)P’à €€€€€¤¶4…-PqÐןô•Ô€hš‚ÀøÓN¡Ÿ¦¨y«s7^X±3ûr÷Ƹ{·ngÞ'¨ @@@@ Ðcbý^–¨¤@_ „ð-Fô0}€£±Ÿ¢’P0(øB¿>ÀAûnˆ1óHG(&&@ã~úÏöà g«(gsl¢Ô,A@@@@@@@šœ­L¡?;;ÜŸÊ&¨È¥aŒ F' F4š“¤âÆ^ú΀€€€€€€4>]Ðí¾AgG @³9ìš¾¡ÔÞRh|4j‘­eÐGs»Ù¦Ñ£ÖzåÖ¶¥V}H@@@@@@@@`ç£lê«2À8è ‡§` C À@@!ðö[ÿS$‘=ú˜ãÃ-|‚€€€€ì hŒCà‰•ç=¡ñh#€@ìþ3ñ†Ø•Ðôzë–/]”€!L@@@@@ödlë £ýúeÅ Œqdp!ðõìOCòÈ€€€€€€@S §Ã!8h«QvБ ³éY$@@@@@@@@ e ˆ‡§èbâÅjéHÙЀ€€€€€€N6# pȼDŒ@@@@@@@@ å hú†Cs84'–¨ìŒÎ¢§×˜`³3jlÚ:ö´ö6-íäÖž:}—:‘$—0¼€€€€$• mhú‡§¨$k$gãϾdÚÜdOk/õ}§{Fº"–->h^ÄòZ˜:}—:‘ìÔ@e     1 Ñ ZŸâÐh‡KTbÆEO Óu‰n„÷ŠHhæ=H…~h‰Šþ˜XÚ[TÎ/‰H>LeËW®˜;o~MMI¦'órs‡”——g-JAÉOüôÝÜuOÏš5¶3œºÿ–·Ÿ9 ªfê6¿å.ét%ѧ­«×?whÉi¶E{ްc}ÀbÉÂ8çVÌŽÒâ[ã¬"æ:ué¹8ÞøcvEH4wƒF7h•Š>ÀAƒbŒÃ<Òc ¿ý1ï”q§4+nî`+_BŽY³fýôëÜN÷jÛ¦MHAœ™¿–Ìýî§Ïëêj…ËåÚ«MçFŒÓMõ9¬;oüÁ‡Ïz<Šž¦]ræa>ýATµ$*Ô¬ÿoåÒŠÆÿí9þ ¦®¼sMÝò3Ê®§mZâ·NE‹q]‚OAŽ1¾91êYÔo´ÂRUÁ}<E#ÙÅÃFŒùzö§Éö       }€ƒtÅÄ 9Ò“5W¢qݨª®ôùêý@ÀïggÍïóû³²2 üÏÒÅÀÊvee±ûT4üõ« ι*;‹Íñȱïñ§îÙ¶msAA±¢Ù,æq-×–Fu’žæbû´î¬£rÕMþ-¯Ñ†°‡g' 9PT¾ºmé¦ËÚßëÔ‚wÈÎjn’ë9娽~ŒÛéŸq[ì|¶.f„}µMµ©Æ8ìûRF$À6ß /ËIX¢Âñ¹}÷ûN'ãpºœÚ–­[†Ý—~ûK~^^A~~b-¢Ñ“ìÌœE+¿ÖäÞݶ´oNNþ«ïMS¼¹\ν{ Üw¤"=K#3íz_ý¦Mm­òóò33³o.°-Mº0ðU-»Èíû²Ýð³æÏzÊa,)JzEf‡tOœ>䜯þšyý¢ßÐé™tG¦¹´±Óá¶êLøû oŠ7æù]NzOÛ›¬z,|9^ۦѧ™=b¤C&š&V+Æ8šŽ=j=‘ mÐ&£.9À!'n$°DEð£1>²Aû—Ò „&Æ8V¯]ýÈãÓœštñÍ÷?~Ð €MûÉÜï¯/¯XêIì\9§Þ{mC8üõÜ+Í?ñ³º¬MN!¡8[K“+ j*ËÌ\^6èj¢KηÏä¢áÏ^®ÜƒÒópe%gcË5uKÙúÅOåŸn¬_½Å»a{½–íÊ;±ï…ïÿõÒÚùµlwar›Λ˜’`;–A¶òp®Ìò¨KT¦/œoÖoȸFl{AƒæcfHƒ€€€€ìþè{ºÓ/÷à ö&¼DE°r:È>{ƒoÐÿ@àÈÃØ^QN ÅùÍžy^pdó˜Â–ò•Û*Öð(!>Ú·ÚÇçó…ˆâÌв ‘šììl[SÛCr¡f«,¡ßW^±ð€üf-J»MðmŸâ.¸¾Ç!—ú}õúçÝ\µuÁ¶UÏz}Ù9_q¦%¾¿Éß––^¹º~Aϲ}÷.ëWqíoBG¦+û£ŠgGv9êçŒï/økĽ]gyJ“Õ4Å„H¯¹HlŒ#êÿŸ§…а mê¹SÇ8fk´ë‡|†‹ž¦1ŽƒÖŒ[cGƒÂ€€€€€@LhûHšÄA‹MΪ“Íß`´LÅGs8ü,—•™™IÍ [ÄWx%šRAÎe9Íãi™7íB*DMÔÓ•€F›‰lÜl¿D¥E³OZ½/ITŸ (¼ëw,ݼýÀfmûÔm} àÓü›nÑý84—KËoÖ¶¸Í)å—­úýà¼^3é‰ìoRã¯ÿÇðQ]Þ¯lºŸÿ¬ÿtcírÖ|š¢¢i•~m©wÞÑeçç¥ç÷ǘ{»¾Û:£cm‰lòÄO_yÅR箕÷Èt²‘—¨Ðð‡mE‰?EEÓä‡éˆålCT¡í†¦¶Â¨®CcA>A@@@@ÌÄ>•ôfYè _¢ât8ülê 28iéKÀI S¨¶%‡+@Ϥmèˆm^Z¹CŠŠ¹1æ4阳 ¤i›Ôwæ¬Ó¯e«ÖÈÜꂼü÷~X]ïkhE¡ŽÕ\ùüÑù-{ç´¸eÍã~¯FƒÄÔM?n6ºáði¾º¾êi9…£K»uÚ´òšœN/ª.bÈ¿¶ö¡že=Ú¶n3½ü.·ߧ¹ê5>¢Z¶;´×v<ú¯fïß鈋Œ}³_òŸfzÎ9g˜#½ëº(ÊtŸj»Dż,ŪðSTÄp†,ö³Âî”ÆÇîÔ›h €€€€¤ k Å)4邾Ôêe—¨ˆ8Ä›À¡/Wac>]¤ h¼¤¢ÒÙ SiØá­÷¿ðÙÒǦ¿U°ýG¿·ZqæNÏY“ÖÇUÜmŸn-•¢äf³;¿´í¯“Åî¬ÃvlûÀWOÏOáÆ‡‰hŽLV¦F¶:*?Ë+9zýßo'Vû;>ØaèO53«h ¥\ TišC[°E:¬ÛÒÝÚþEÇlܼþ‹Å3&uÜÙϵm”yº‡28b«OBÛ%*æe)Î^ÏÙØ&ú9}ÃÆç)ÂÇÙíh4€€€€ì$bqŠCsR"iKTØlï ¶ '[ "Ç8XžFu5è mJ—-]¾}ûÚ!"œ£%‹gfe|òÍ»ì76œNdy]½*Ê/ÿùäãkÓ¦ŒÖ«¤¥¥åǼùóî|à¡eUH-²Ÿ–º³úäöxoÛ‚#óÊÊŠ[]¹åíìæ§°Õ3ZýS[_½°¶æÏM›µ’4~ä£9‰¾-Ô7uþ­tmãÌÚ«h@ËŒé®Lz4,mûå¶—ä²zÛÊ/}yw—;g÷K¬–¨VʤŒpÏ=~bÔ0Wj]¢b^–b-%Û>EEŽqIJ8Eè˜ÞmÒ_Ïþt·i      Êh¯¿Üƒ£áKTØSTh_QZ¢B»p°ù´H…=‹„ zP¾Á=‰eÃÆ gžrQn^N]]•­?—+¾íO{þaÛÒX„l€ÃçÔU¶k·×´çŸ[·fennÁÔÛï !¯×[\Tì«Ùá*tÔ6ò…êÊè×ëÓí ÆøjV6ëpx@«ùçë×ilÇéÑ2‹JsKö×rWzµ%Þ­K=ymcišUgpÞ!k·®,.ìR”§µtwýgí¢9›žÛQ§Uø´3‡œ8´èÈÖÎþké’Gº¿Ó&£“Õ<)’Ø÷à`ÝY{g6ü)*±/NšI™"Nh\ƒfm¤H0@@@@@`÷&`L¦`s+’·D…F8hcß ¶Û’ƒo;š œÛ·n-iÑ:==c{ùz¯¯ÆÖevfQ}ÓW_g[‹p°4O¤|{¹·ó);½““S[[»aÃ†ŠŠ *rºœ^¯Í§±øKÇá)ÍëùmÅßc6üõ~i·}i[ؼ~_i¾Úºí³Öü:µý¾£µÕ…çw¹ƒfpœ?D…sÛ×ÿ¼Q½¹þÉžŸ§5âzeF†ØƒƒeXþ¸«¸‘$ o2*§o4R`V·âÙºBžØƒf¬>–ˆYbŒ‹SÆC¸ð%*Æ&£;÷{p ™ˆËP滌Һ Ú…ƒfnˆ1?Ë4øÈÉÉëÓ«?M ÙV¹Š<ÚúËÎ(^³vy^^¡mi,Bo­Ol J¡ñaB£7n\¿~½x-m§Zçµ –*âÒqºòs»]±è¤Õ|Ë·-Ò\ZFóSë6Luøkvlª¨®.Îkw< U%pôÊÒ5cØÊ•«ÊZ·ó¸´cKÏNè1ÎŸÙÆ×ê‘n¯e»‡™@HÌ„¦iØI8ˆucQsµ o2JNäÇÎ[¢b†ÖtˆÅšó-„4€€€€€ÀN!@ßÜé‡öàpé38¾DEÆ­?I…­LacôÚèƒv $4¨àttlß…ž››Qbï–ÈhÎùÿQœŸø#iwTÕ¸]l\ƒÖ¤7+®\ô —lݺuݺu4ƒ£¨¨ˆŠ¨šš2ƒC4ÓáÈÈíòFå?i/µ=ÝÄí¯[C]ð{7,ù3¯ûgÖð‹ÚM¡ù¹y…eÙ{-©ü½cvrTëÓz:zßÐí™tGf‚~5Kú(F¸@ì75k'ºÉ¨ð±3—¨ì4hf½z<óü´ššHßù322úöî‘0ˆÁýFÒOÂæ1^|Lêß;_ÿ>¢yægŸnkåw¤ýõÏT4þÐζ 'Ìj}59÷×.¯Ûøi¥·ÔŸylfþ¨†WW–Ñåøæ½¿æ…Å+TüÐ=gðie×6Üí.í¡!›Œ¦NÃ/»äü¦ +Vš–?j=€Û ³On2Ú%*íÊÚÒÏînâI½éGÓŽHÙæ8ÓÛš—Üðlv2ý$×'¼€€€€€€@cp° 8Øš4}#¸}ƒØ[TŒt4vð»!zÎËAI{Ú )¡I      Ð(IX¢Ò(í^NÇŸ}ÉîÕ (­ÙÓÚK8Rs§Ï(ýdWœ:}—:‘Øq‚ @@@@@ ¥8è 'úGC–¨¤T›R31;&5ckŒ¨ö´ö6æò™:}—:‘4U_ ^¸`‰J\¸         Bh1´¡pÐSTdtøÃ©D€€€€€€€@jpøÙST|ú jˆ1óHGj7Ñ€€€€€€ìéÄ“bi–¨ìé·Ú      ».¹>OQÙu;‘ƒÀÎ#àõÖí¼ÊP€€€€€ÄF€6àà{p\LìW_Ì¢Ÿp¶ŠÂ™@ °;(.Ì{ñ™Gw§¡-     »¾>ÅáÔ\Íïv8h°#ì¹4¬ @@@@@@@@`' }FýîÅ çí¤êP €€€€€€€$@¿.ƒ5-@PÑ4·£E‹ ôœžž^[[Û@'Ò<¹ÞÈmŠ;Dx²ëH¤8½¤ß~)Þ^„—À=l6I.ÀäzÃÍlî©Ò莠I“§Gq&7ÂäzCxòFJ,îHŒ›°½†Ð#ÛäL®·=-¼=­½M~·\uÅ…±¿|.¹üêbOa¶–™¥eåfä3CeŒ#®,™—••™«lµ:Å[T}¥:«¾â0ª¾¢ dÉd‡Š¾’Mµð¬ñ(+ª¯˜[õ‡Š¾’µš+ Š·¨úйU_qU_QP²ä?²CE_ɦZxÖx”€•ÆFÕWÌ­úŠCE_ÉZÍÅ[T}Åܪ¯8Œª¯((YòÙ¡U_‘(ÙÈÞ¬ÍQÌ•lc‡—@ýBAi’ȬHÐ&£ô‡ærhN<&Vƒ,€€€€€€€@Ó¸éÆè'¶8|ͧ¨ÄÆÊ¤•ÜMe“ëÂL®ÃäzÛÓÂÛÓÚ‹»Åô>‘H2¹“ë 7s"=j²Aw˜`ÄLqzÔžäF˜\o/î.ÔÝÊ#¾èÅÇË¢\€ÉõFÁ&×ar½%=¼¤;Lñö6yxñ>E¥™§0—=EÅ㢙t(Û–Æ•%óx÷Dì_ñoxV}Å¡R»U_QP²ñ¶×j®Hš6¼¨ÍW‹ª¯´Îª¯8Tô•¬Õ\QP¼EÕWÌ­úŠÃ¨úŠ‚’%ÿ‘*úJ6Õ³ƣ¬46ª¾bnÕW*úJÖj®((Þ¢ê+æV}ÅaT}EAÉ’ÿÈ­úŠDÉFöfmŽb®d;¼âQ"Ln{o©^ªu‡Ò©žµû”þµÆ¯H"gãm¯â-Õ³ƣ¬Ð‹ª¯˜[õ‡Š¾’µš+ Š·¨úйU_qU_QP²ä?²C«¾"Q²‘½Y›£˜+ÙÆ/x”“Û^Å[ª…—jÝ¡ôEª…gí>¥­ñ+’ÈÙxÛ«xKµð¬ñ(+ô¢ê+æV}Å¡¢¯dÉÜúóÃSdZ>E%OËn§µ\Üt‡QX¢Bq€€€€€€€ìzlwnAN^ÍãÀ       )Cà«/fÅKV·jé*·¶±Cƒ&€€€€€€€@ãp8èÑ(±N){ýÕÍMFc¥&õ’»çJr½QÉu˜\o{Zx{Z{q·Èw‰Äɘ\o¸™ëSi…î(H¤8=jQr#L®7„—À-g6Aw˜iÄ›½x‰)úɘ\ojr&×[ÒÃKºÃoo“‡G›Œî3t?å.;dèðbOmÑ®¹Ýš“©)»zÄ•%óx· ‰ì_ñoxV}Å¡R»U_QP²ñ¶×j®Hš6¼¨ÍW‹ª¯´Îª¯8Tô•¬Õ\QP¼EÕWÌ­úŠÃ¨úŠ‚’%ÿ‘*úJ6Õ³ƣ¬46ª¾bnÕW*úJÖj®((Þ¢ê+æV}ÅaT}EAÉ’ÿÈ­úŠDÉFöf¤ÈWÐ IDATmŽb®d;¼âQ"Ln{o©^ªu‡Ò©žµû”þµÆ¯H"gãm¯â-Õ³ƣ¬Ð‹ª¯˜[õ‡Š¾’µš+ Š·¨úйU_qU_QP²ä?²C«¾"Q²‘½Y›£˜+ÙÆ/x”“Û^Å[ª…—jÝ¡ôEª…gí>¥­ñ+’ÈÙxÛ«xKµð¬ñ(+ô¢ê+æV}Å¡¢¯dÉœ6ýzö§1þx½u¹Zv­¤½Ö²‹VÆG8ÈØ¥«YœÍŽ]ªë,€€€€€€€€‰€ƒ-NqÐãT0Àa¢‚$€€€€€€€À.E  ùmLêt(ëav©V X݇À%žç&£…yZŽ[Kóh.FAÙÕ#®,™+C$‘Í£V§x‹ª¯TgÕWFÕW”l¼íµš+’¦ ÏŠ+rxQõs«~äöF5WoÖê}%kÕWFÕW”,ùìPÑW²©ž5%`¥±Qõs«¾âPÑW²VsEAñU_1·ê+£ê+ J–üGvhÕW$J6²7kss%ÛØá%arÛ«xKµðR­;”¾Hµð¬Ý§ô¯5~E9o{o©ž5%`…^T}Åܪ¯8Tô•¬Õ\QP¼EÕWÌ­úŠÃ¨úŠ‚’%ÿ‘Zõ‰’ìÍÚÅ\É6vx Ä£D˜Üö*ÞR-¼Të¥/R-C÷‹1æ!C‡{ ó´œtÍíÑÜÌJãˆ+KæñnÙ¿â-Þð¬úŠC¥v«¾¢ dãm¯Õ\‘4mxQ›¯„U_iU_q¨è+Y«¹¢ x‹ª¯˜[õ‡Qõ%Kþ#;Tô•lª…gG XilT}Åܪ¯8Tô•¬Õ\QP¼EÕWÌ­úŠÃ¨úŠ‚’%ÿ‘Zõ‰’ìÍÚÅ\É6vx Ä£D˜Üö*ÞR-¼Të¥/R-J¥ÀEFƒÇ0îš+qÙ´˜¸„qÙZM^«Õ˳%ø§ÉÈ„¸ÆeãÉ_«ZÜah½À–š<«ƒ{^<¤[<B›`óâ!ÝâЋ„Êï&´xhÐÍfËtÇ[^z@aÜz-5y© ŒEjòìðÁøZýÐâC붉—×jOQ™)3ÈÜü)*Kx‹ŠžoÜè t€Ð:@è t€Цt M²™‚læGSŽEÓ:@è t€Ð:@è úü”Ü}” ËÓÐ:@è t€Ð:@èhNJÓ%í{ƒPhQqW¬‰Ë¦µ$NHy¡ç[5>q÷¢Ÿ~‰×KyÕ'gûq ŒËÆ“¹Ž­NápT»ºŸ¸{ZN\…qÙ(/ô|<‡ é^]×À¸lª6.a\¶èò¢Žw½­·Èèl]†£S:õ•}”`Ž#(Ôt÷ .Àæíؼx/?zñ€0´^›-[Vž×^çÅCu„€‡Ð¦ؼxH·x ôâ¡ò» ajò¬ Åzñnñ@xm:€Í‹‡t‹B/*¿›Ðâ¡B7›-Ò!oyuè…që¶Ôä¥60©É³ÃãkõC‹; ­ØR“gõ€`pÏ‹‡t‹BÀChÓl^<¤[<zñ€PùÝ„-ºÙl9áxË«C(Œ[/°¥&/µá€±HMž>_«ZÜah½À6ñòZm‘Ñ­eÆBÙn‰,\*‹¹‡žoÜè t€Ð:@è t€Ðæs ê•'8šoü¨˜Ð:@è t€Ð:@è(9 ë‹êR£äO :@è t€Ð:@è t ¹(H¡·'5wATOè t€Ð:@è t …X¹råòåË›×€3N=iŸ}_W£þ½÷ÝoNgÏÖ2½C:ô•eÁ"(A¡¦Ã‰;ÝÛ°yñÐÅ¡CëµéвeåY»Üò¼xH·xw½Þt›íðZ<zñ€PùÝ„€‡05yV†b½xH·x <„6ÀæÅCºÅ¡•ßMhñС›Í–鎷¼:ô€Â¸õ[jòR‹ÔäÙáƒñµú¡Å†Ö l©É³z@0¸çÅCºÅ!à!´é6/Ò-½x@¨ünB‹‡Ýl¶H‡p¼åÕ¡Æ­ØR“—ÚpÀX¤&ÏŒ¯Õ-î0´^`›xy­¶Èh·L_/2º‹,â-*z¾q£t€Ð:@è t€Ð:@šÏ½3%=¨«r‚£ùÆŠé t€Ð:@è t€Ð’mùÇ ð)*<#è t€Ð:@è t€Цu ¿„£0À ަA §t€Ð:@è t€Ð:@d³èí)Ù£»J¨=]]]6lÍ —M{IœòÆ:jiOܽè§_âõR^-'­×À¸l<™WË!G-.…IÜ=•Wa\6Ê뼪±ÃQ£Q£ÂèÞ¨¶ÔÞ×À¸lZE\¸lÑåE'ïzW­ZµlÙ²ÚO6@Ž·<èΆg¯85è)*==ºÎh—t´•–à€9Ž PÕ¸—¨6ÅC „ÀæÅCºÅ¡CëµéвeåY»Üò¼xH·xw½Þt›íðZ<zñ€PùÝ„€‡05yV†b½xH·x <„6ÀæÅCºÅ¡•ßMhñС›Í–鎷¼:ô€Â¸õ[jòR‹ÔäÙáƒñµú¡Å†Ö l©É³z@0¸çÅCºÅ!à!´é6/Ò-½x@¨ünB‹‡Ýl¶H‡p¼åÕ¡Æ­ØR“—ÚpÀX¤&ÏŒ¯Õ-î0´^`›xy­ö•™å§¨ì$;p‘Q=߸Ñ:@è t€Ð:@è M逮Á1˜Ý¥ÂEF›rø(šÐ:@è t€Ð:@èP ù‡Îp ð žt€Ð:@è t€Ð:@è@³: oäOŠmã"£ÁCwÍ•¸lZL\¸l­&¯ÕêåÙüÓddB\ã²ñd9VÁ‡#زª„ÄÝS¥qÆe£¼ªS©ž]G=®•sè^Ù‰:ÿk`\6-).a\¶èò¢Žw½-¹ÈèŒ)ÒÙ‘=GÅ·ê',‘¡¦»Wp±xhØBåY<BwCë-¥oÊžY3´•ö:X~󈬔{~/¯ãð!=ºqPú×É '5VôPå¥Ç*û¥R‹¾»ëµå@ „À¦üp‡„¡é€6Ûà!´x ôâ¡ò» ajò¬ Åzñnñ@xm:€Í‹‡t‹B/*¿›Ðâ¡B7›-Ò!oyuè…që¶Ôä¥60©É³ÃãkõC‹; ­ØR“gõ€`pÏ‹‡t‹BÀChÓl^<¤[<zñ€PùÝ„-ºÙl9áxË«C(Œ[/°¥&/µá€±HMž>_«ZÜah½À6ñòZm‘Ñn™±@¶[, w’%¼EEÏ·-°]~­œr¢tO‘ þqÊÊUÃæÏíRe‡Èy7ê^g!{馀ÒN¥¥²3" t€Ð:@è t€ÐÉî€þ‡²Îkè{ig²—›d}?&Kv”­¶’[¿=wɶ(qóf¹ö*ldLè t€Ð:@è t€€y\ͼ‚œ™ ðÀýd~ŸüçåÆo÷ï»ßp§®.ê-'?ú‘<½n¸‘{t€Ð:@è t€Ð:@è€Ãì9±ö!G¨‡â.‘—M§@øÐêâ®;Ìya}ÛVS~õÐÚÅs{+NîúÊkn\»çÎY‹Înè(úˆ›Å;nøÎž™Öž¡´¥.*¡îT·”öãÖ—MÇ%ŒË]^tÂÄë¥<ñF¶¸ÆeÓºâÆek5y­Voâg ‡Chd‹;¾qÙ´®Ä )/sgK#c‘¾{ÑŽ÷‡·)Ó§HG§LÉNE˜ã 5ݽ‚ °y»6/ÞË„^< ­·”þÓ{å}§Ë”.9åLùù¯”Cþ°ZÞy˜´wÈAÏ~xmÖ¢›^»QÂÿåþòà㥶£S ËS`ß]¯-Z 6í îÐâ04ðÀf»<„„^< T~7!à!LMžÕ‚¡X/Ò-¡M°yñnñ@èÅBåwZ<´@èf³å@:„ã-¯= 0n½À–š¼Ô†Æ"5yvø`|­~hq‡¡õ[jò¬ îyñnñ@xm:€Í‹‡t‹B/*¿›Ðâ¡B7›-Ò!oyuè…që¶Ôä¥60©É³ÃãkõC‹; ­Ø&^^ .2ºPæ-‘¾]dIþµœÛx:pÚIrÙ5rÞ…rÿï䃧Oyþ¸#䂯È?ÿ«üé±§Ž?b¸o½ C¯«yä 9í=õïé ˆH _Z‹´ö\"é t€Ð:@è t€4…|Q]‰ƒ1v?ÿ©ì¾t¨£ÞÞl‚ã‡ß“=vÎZtr±¿xJBgûŠÅâXšt΢wø†• •ßÀ2„/ÍhTŽÅÃv:@è t€Ð:@è “À}xÊf‘viÓ?÷s‘ÑI0 ,Ð:@è t€Ð:@è@+:0(:³1PÈ^ƒœàhÅ3€5Ó:@è t€Ð:@è˜èý)úÒI}ñ)*ÁwÍÛâê1oH©QYoÕcV4%®¼¸l­&¯ÕêåÙRãgv,X\ã²ñdkÔjlçpÔhÔ¨°ÄÝSÍqÆe£¼QOªÚ9µ{e‘tÏzÔ×À¸lZH\¸lÑåE'ïz[ð)*ÝÒÝ‘=E¥3û”Á*¯A¡¦»—¨6owÀæÅ{ùЋ„¡õÚtlÑY¦ª úF'›¤¹¹ë å6í Ü¡Åah:àÍvx-½x@¨ünBÀC˜š<«C±^<¤[<B›`óâ!ÝâЋ„Êï&´xhÐÍfËtÇ[^z@aÜz-5y© ŒEjòìðÁøZýÐâCë¶ÔäY= Üóâ!ÝâðÚt›é„^< T~7¡ÅC „n6[¤C8ÞòêÐ ãÖ l©ÉKm8`,R“g‡Æ×ê‡wZ/°M¼¼V{ŠÊ ™±@æ/‘E;É"Þ¢¢ç7:@è t€Ð:@è t ùÐEFó-»C…Í7~TLè t€Ð:@è t€¨ù] ù{'8xJÐ:@è t€Ð:@è Mé@>©Q^dnOjÊ‚šYtÿ#ý} ûê® Áôºûe" t€Ð:@è t€$èÀÊ•+—/_ž °%qêIûìûºÁ{ï»_OgO·ÌÐFÛ¤=Ë‚EP‚BM‡)wº·;`óâ¡;‹B/†ÖkÓ±%¿’FiKõ-;7ºà'„š-‰Ÿ-[VžµËížéï®×›`³ÝB‹B/*¿›Ðâ¡B7›-Û‹¦ü IDATÒ!oyuè…që¶Ôä¥60©É³ÃãkõC‹; ­ØR“gõ€`pÏ‹‡t‹BÀChÓl^<¤[<zñ€PùÝ„-ºÙl9áxË«C(Œ[/°¥&/µá€±HMž>_«ZÜah½À6ñòZm‘QÝX óvE‹¹È¨žmÜè t€Ð:@è t€Цu@Wh®ÁÑ´Hát€Ð:@è t€Ð:@è@î@[<è t€Ð:@è t€Цv M }Ù„B«êêêÚ°aChÖXø¸lÚKâ„ÅÕÅÞ¹½c¹ám·éqëË}8—×x½0¾zO/ ®qÙwÊO\^«Õ›øp$.g |ºCÃÄÇ—òB´Ÿ¸{*5®Â¸l”W}.Õ±Ïá¨Ã´JJâî©Î¸ ã²Yy«V­Z¶lYÅÞÐñ–çÕsöŠSëXd´K¦´IGFsA¡¦»Wp6owÀæÅ{ùЋ„¡õÚtlá"£êiyCs|'' ®Òƒ;´x „t‹„ŠwBMÇEd;[,E%ø|ˆ»¨lƒÏŰéqåÅeS¯ãÆe‹.¯qB_ƒÏ]“×À¸l»å&.¯ÕêM|8—dz>Ý¡aâãKy¡ZOÜ=•Wa\6Ê«>—êØçpÔaZ%%q÷Tg\…qÙ¬¼|ŠÊL™Ñ™=E¥3;©`•× PÓÝKÔ›·;`óâ½ü@èÅÂÐzm:¶4ö\ |ÊF“šã;9ap'ßÙ‚ãÛØÙbí¡×^`óâ½ü@x½Ý›ïåB/ª7¡ÅC „n¶:ÊwBï^~`óâ½ü@èÅB`KMžê… B¯~`óâÂÔäÙr ^«ZÜah½À–š<«ƒ{^<¤[<B›`óâ!ÝâЋ„Êï&´xhÐÍfËtÇ[^z@aÜz-5y© ŒEjòìðÁøZýÐâC붉—ׂOQé“ì)*KdGÞ¢¢ç[“oÇ%÷Þ)Ï=™½ë>7:@è t€Ð:@è -ã€þ!X—ÁŽ–)yòzîG儓嶟ʾûÈ•—ôwuÉeWNÞjY t€Ð:@è t€Ð!òÕ7²·iãÍZ,?Q~øcÙôRö®û+Îlþ’X t€Ð:@è t€Ð¿ù}ü¥EF¸È¨ß/@Ä]¦Áe#5}Ö’:Ÿ{¾$rÓôië~ÿ‡‘ 5€|Ù'ŸàÂVÆãæÀOÇüFžŽ{çöV:Ü•ý±vò§@~°Ž¡¨wîè\£µÆýhhq ã²E—0ñz)o´ÏP@[\ã²µÚÉÜjõòl ø Žk`\6žÌ£X@‡#À,MÜ=ÕWa\6+¯í–îNéìöìä‚EP‚BMw¯àlÞî€Í‹÷ò¡CëµéØ2ò¿~ñ(ŒÎkDÖfwÉõ*$ßtÿuû–ƒ|ÿ·÷ ‡nBEB‚{^<¤[<B›`óâ!ÝâЋ„Êï&<„š¾eÝ»çÙ2<Ùä\À€ºC/!¤{ùÝçž7Ývç&´xhØêÐã&„£¡ü‰ËÓr@!Ô ¡·|`óâÂÔäÙr ^«ZÜah½À–š<«ƒ{^<¤[<B›`óâ!ÝâЋ„Êï&´xhÐÍfËtÇ[^z@aÜz-5y© ŒEjòìðÁøZýÐâC붉—×j‹ŒÎ dÞ²hGYÂ[Tô|kží‘㦉^‚qd•æ•—Ëþ¯Ï¦«ô]÷Ï¿ êwé t€Ð:@è t€Lf¥°Yô¯ÿœàhªaÞCä£ÏgV?£Jö'?+_ºPÖ­ÎÞ?ùÙ¾[n­:Æ]:@è t€Ð:@è “Ù)tHg§tð)*Í6Ìÿ0M~ü¼èR –•_}諲õõUv¹Cè t€Ð:@è t`r;ÐUhï™=³} ƒ‹ŒtÜ%a‚-ÞU”£gv?Þùì/×ö.Ì–°éqåÅeSÁq ã²E—×8!Œ/„Êßàæ6p‡âj.2êpØíž#q¬Cq 㲩渄qÙZM^«Õ›øÙÂáPÙâŽo\6­+qBÊKçÜãÙÒÈX¤ï^t…ãýámµEFçtöÌ‘žÙÛÌ)´q‘Ñq^лÀ ,ãèÁ¿UDŸ—2 ²¼ü3DoW¹¹Ôñð7€M»whñ@šx`³ÝB‹B/*¿›ðj:œZ<´¸C¯<.2š AÕ~ºWóïï&„t/¿›Í›n»sZ<´@luèqÂÑPþÄåi9 ê…Ð[>°yñÀajòl9P¯Õ-î0´^`KMžÕ‚Á=/Ò-¡M°yñnñ@èÅBåwZ<´@èf³å@:„ã-¯= 0n½À–š¼Ô†Æ"5yvø`|­~hq‡¡õÛÄËk½EF»Ê‚eéËeÞ¢¢ç[ól·Hï½Å¢ÿY¡ÍS•Ò:@è t€Ð:@è¨ß]aôEÙØ)í\d´~™Iè t€Ð:@è t€lQ RП¢²EG·ªS§Éußg6ËÿûYq§—ËÌ­åÆoÉŸåöûŠûЪ¦°n:@èheô;iþ*>R”SF3âKCÅ »ŽU—¯*1½Æ]{Û0ÛzÉt¾RŠ·çü‹¼¹LS®n,-ùû¼Øÿ%òb¶˜Z¶rüá"‹³Æa~E`8_äL‘««ã|¶oÌŬùk‘kr˜A±Ð:0I(h]œà˜¤ƒË²Òvà3çÉ5WʬÎìý²•ò÷_ûWÙºSÎý°\rUÚÒ©ŽÐ:@èÀ89 _MõuÔVòO£uðþrãòòNmÿöÎíÍhu+ñ×–åB•xÞ.™Î›D.Ö•HE> òͪ¤¦ÔoU³îö´_žÉ›>šM‘ÌÞ~ùL>¡ó#×ÈÚR"*<;åø+qyGŸ¯÷ï""'‰\/òî VÜqcù0ÿ¥t€LZô§æ  êJ•mÒ^€õW&mÑ©ÖÿHßÂúìÚ`zª®Lr]·ÝÓè[·}â±N}Ló.»=ÙÕO}뛲ìhý»œù¾Ù÷Þ=­R?Œ/„Ø8íÌëä±¾…ãDNZ:@è †~Á¤Ÿçäðu}è«üÊÓ ¬²£ßúßö”|éùì¯uï›Ñ÷_[g°ÛDö9­«ï›Ù“檷[ÿû嬞¾;¦öï¹^.x²o¿¬¹YäCYýý´|åÏYâq[÷ýÏ ý·”X¡ «tê¡—¶|üàÇåÿlîÛ+ûF)•ÜìÎnüYú.ÎûÙnç/6tï{T¾#²›®A*ò„ÈÉ=}wOUžj@åëbÿEýr§ô­ì뿸_î(ô­\Ðb¿¼BDç\¾!r¤ÈS"'æe×/{HßéõϬÏ}:@šÈ•+W._8œRygœzÒ>û¾®FE{ï»_OgO·t·KÇ™’eÁ*¯A¡¦Ã‰;ÝÛ°yñÐÅ¡CëµéØ¢¿˜«6<êì÷úÈÍ]o(?°iWÀà-CÓl¶;ÀChñ@èÅBå•pý`v‹X¥÷å´³¤sŠüÍ!/»ëþ¬½²á¨l°îÞ*ÞMȧ¨T{kíu»gñ ¤{ù›Kž·oùqë¶Ôä©Pþ@èÕl^<ðC˜š<[ÔkõC‹; ­ØR“gõ€`pÏ‹‡t‹"Ôï3•ו‡¥ßk¥¯:•/<•½³ã"'td·x”ð‹œÚ_†”²Þ—_ã `½}ã´r–Þr¨Èê<|Lä°­d‘òÐ|Ö†E*a®sëç 5~"KɺÓC¥ü^Ö;S>\þð@C½¯äm²Ív½zÛ‹ü1ï]+ ùþP¨€”¦,ôbûD>$ò3}l€b>-Ùwû7Š<¬Xý#E>]“Ù „ €ñ„^B`óâ½ü@èÅB`KM^jÃî¥&ÏŒ¯Õ-î0´^`›xy­ö•n™±@æí ‹–Èâ6µ› éÀEÙv^Öá´é+>"Ïm˾"›6ÊÝ?ïÞy§‰¾è t€$ã€Nýëkÿ­³Û=ÊÛ ã‹ê6"ß–Ù·ÎÝ)mÿ.öÚò±ü߯‰¼Idû|FC÷K›ÞfòúŸþy°È¿¾ ?Ù±|Ôþ[Òùòü¶Ox¶-“ýW"¯‚–0R^S£täÃÙêz]F6QÚJ—lNÏç&f‰^ÄQØ,rO>1¡…UÊIÒ-¢1ºm9§GþAä½zIÖ0ëò9¢·¤ü8¯QãGE”œ t`²; ?/󗾿7&» ¬l!nþ7Ùc/iï÷ž¾ö¯þZ~ð=9òØLÊköyúŽŸo!Mì–Ð:@ZÉMú%°¼-\$V^åæ-ôoïFyºÜõ»dÍ[Ÿ*’ý‡}i+í¬9HžzÓ:YSn÷þû¢È׳y„líŒçÊè·f<Ù\€nOêÒžSkZ­c[Ét®•â_>Ÿ%¾ C+kdÁð6¼ˆ¶å³Ù&º£›þÆ?L6O”ÿ-rw~_‰^9©_Ì_-zJ¶Ý1·eoª|~èŸ~RÎùJ~Ç˺#Õ”ü %ÑMaëó¾Ñ:@&»ÙúÐ Ú¸Ñ:0¡|ìl¹îë²ê&yàwò·ÉÆ ²r•\üUyàÁË™P%ìŒÐ:@èÀß$—^)§èš”ù¦÷Xl™­4çòçõ’OúË2‘U"_˯LPA¿Êgtj@oÑ{4tç="7è—²GÔ¾]¶µó´_•pºÈ~ù#K´í$å\Ÿ­ÓyáÐ#H² .J󕌒NÝP½¯ä†ç³é’ßçK`T0µìèê¤+åÉÂÙ rt>·r“¬Ù®(¿Èæ5² N]IôÐ\ᕹŸÑ9Ý?A²õD>#òP~óŽâöíJwè “Ù‚´µI›¾ì B¡uwuumØ ?›ãlqÙTSâ„ú<°lv¿Þͦǭ7.[ôáH\^³×»CqõC½sk?7ŽÄå5ûÙRûyRB&>‰ËãÙz¾>ññy®.Þô-Ñ«Ï:EÞöÙeWYº“üña9ýäi÷ýb8VNŒ¼êƒö½òŠ{=/—<ß»ÇÐW/û= ºóÞ6NX\²InZ7ûµÛt¼Xp°½ô²Á§~ºFÞ9«÷:aSëæ ¬•¢ —M‰ãÆe‹./:aâõ&.¯é†cÕªUË–é.˜­~ýòÝäîßy~v{V?¡Å!à!´é6‹Ï¾8¥Íåmä×0muÂQ‹„Š…€pLþ3D®ÖƒN6œŽå?„BcΘò2iÙÅj ôè-!Ýâ!°…¦[<Bwï&´xhØBõ[jòl9P¯Õ-î0´^`›xy­¶Èè ™1Oæ/’EKe)oQÑó t€Ð:@šßA}¢HþL¸«b´ÊnùVv9ïÂù²Uü›ûd§¥£A'Q›^6[,–»’U•…COaiª"õïVºÓ§þ«„½@èHÈüW™NZ»§NH.¥¸8óT¹ÿ^Y¿N~{œqŠ Éct€Ð:@èÀ$v 4UQž°pªKox<Ü/<&¯~M†ÝíUrÛOÜI#/ Êo‘·¾cøH¥NwÞU{ÖÓe¡{½ƒÚåa:@è c8pÔr¹ò:ùÄGÛŽ;B®¹QÖÊÅ—È Õ·oŒ‘Èf:@è I:Írp‘Ñࡉ»æŠwu+·>M—·Ø{—®¸mÅ=v—ïü§¹Ÿ´tpè}ŸÚþ°3"§…ƒ U6­OölùÆwŠ×_-7ß4ç]G¯}Ûßȇ _X#å)rt~ÕÆû«Ú/»BV^!Ï®‘«.—Ë®è»vUÕ1î&çÀ³/ÈVS3US§Ésê”×Y}q£t€ÐÉäÀâ¹rÇíÒÞ>pÛë-ëëzÕ¸ˆ¾7¼q¬|÷ûrã?7LD:@è è'8&ÐìÆ»ê“ÞWôÊ4‘/Tq]ôeÙuw™Þ“½ë>·´øÅ¢ëŒê­(ïÑ:@è ãç@ö•ìþÑU¸Ñ:@è t€¸8O¤³ ¡Om¿\²+a/¹xMÕîÒ:@è í@þ„É  r‚c¢­gt€Ð:@è@ó9p‹È‡ªT/¹Kd³ÈE>ÜSu`Bv?'ò‚ˆ¾×¾Õ‘R;9‘t€Ð:@¶¨:µ1 › ÒÆEFƒÇ!î’0u/EVÒmÓãʋ˦šãÆe³òBWÙ´'S\…qÙl½ ?´ü –j½aâò¼Ãá-‰×Ky0^¡a\ã²i-q ã²Õ'OÛNÝ­gýmONÝ·gý}Oê"ڲͼނNp˜zõ~ÍÊ4¶éu¶.‚£»äÚ ÞåB•¡d ª’<ÅÁY‹ì}œ¢äÍ{è¡Þ¹ÅÇ=Ÿã²i™q ã²µš¼V«7ñ³¥é†£õí™.3u‘Q}é`…-iWLq¯àbñÐ!°…ʳx „î,*ÞMxmwðÈ‹G€ù$Ïê~`óâ!ÝâðÚt›é„¡«lZ~ €;ôʃt‹„ŠwË -ØêÐ ŽBèíؼx/?zñ€Ð;-6—¼Ô†ÜKMÞxŸ-¡õ¹—š<[Œ¯Õ-YXúm{ŽÈ×òu7”ôýªÿˆèb_Èw*o#5ÂVAæ;S^™6Ã:¿‚Cß}ßâ0DXNîà{ˆ—äyñØ „€‡ÐÛ°yñ^~øUèÅBÕ ¡W¿›Í›n»sZ<´@luèqÂÑPþÄåi9 ê…Ð[>°yñÀajòl9P¯Õ-î0´^`›xy“`‘ÑÁÚ6õvÓ¦3d†.2ºH–,–¥zó(7:@è t€ÐŸz—Ç#eÌ×Eöy\ä\‘ýËö¯Nµè+h«¤ô¥Lè t`Ë8ðû~íîøGß¿µ”üO\ƒ£b wè t€Ð:àp`“ÈŠòá³DÎÔ?‰*…1oa(wÀé t€ÐЇ§èê¢ÙµŽ\d´FË£t€Ð:@ZÕÊÂ×ËвOçnhûRYð‡)­ê ë¦t€Ð:Š:½‘=)nOJE]Ëè褿oaé.Þzjn0½ž.[)g^ÿ#õ-l¥ŠGÔÚâåð‚ t fÆéWssÑÖìVê@þ*L}„¨ÐÑX¹råòåËG;ÒmgœzÒŠ³?VË-*Ç¿çL]ƒcVgÏ éž"SڹȨŽ0¬ãSBn<µÝÁâ^^<ÊKŽUNÕ yVð›é„€‡Ð¦ؼxH·x „¥Å,!T<ÀÚîÜlïåw†–luèÁ@G!ôvl^¼—½x@¨zÜ„-ºÙê(ßM½{ùÍ‹÷ò¡-5yª‚~½úÍ‹~S“gËz­~hq‡¡õÈ›¹µüq­¶ oÃøòoüá–åâ©·L[é²D¸p‘lÊ?°iÜ¡Åah:àÍvx-~zñ€PùA! ´zàfó¦ÛxË«C(Œ[/°¥&/µá€±HMž>_«ZÜah½À6ñò&Ç"£þîWî××.½@½­,2ºPé"£¼EE=áFè t€Ð-ïÀç/’y=[^†*xã›’At€Ð:@jq@ïÕW»p‘ÑZÜJsæ©rÿ½²~üö9ã”ÄÅR t€Ð:0–§ž4Ö‘‰nÃÝ#û£t€Ð:P·ƒCwF´ñ Žº=L&qù1rÄ12u–}œœxBÿ Ç&£ŒBè t€Ð6n+”ãj/Éé t ¶¥õÀ ö¡Ðžººº6lˆö 9.Yk¼¹ IDAT›Ö’8aquqh=öPßs¼¦ËÛì½ë¥ìâ»ËwþÓÜN;‚zŸÒÐh›ÌÁC½Oe‡âê të#Z@PK\6íÚMZ¾›-¨Ò8.a\6¯{¬×í@âѸ¼è§_âõ&./úp<ºº8n¯ýÕý…ÁmàX´*£¤ĸÙ4e,B[Q©ÅK8Vâ¨íqÙ´‹Ð_…£ªªnŒ«0.›êŒK—­ÕäµZ½‰Ÿ-M7«V­Z¶l™Ê®oÛâÃqöŠSëXd´SÚ»¸È¨9Lñ¸CÅ»W¬ñ¦ t‘QÙ{ÖˆÌxík†O\Ý×ÛUª6èBB „P¬é„€‡Ð¦Ø,>tm0 „tËz T<ÀÚîÜlïåw†–luè=y÷Ò¼òvpÜYÞ÷«Šs×Û¸<àB8êÕcñnB‹‡Ýl©É«CÏ¸Ö î¥&Oõ€BpB¯~`óâÂÔäÙr ^«ZÜah½Àfå•–öÔöÒ6Œ/ÿùb¸%G¸C…xê-ÓõWõ³´¾EFG|K©b³ü¥·<¨NS B`óâ!ÝâáW¡•B«n6o:°·¼:ô€Â¸õ[jòR‹ÔäÙáƒñµú¡Å†Ö l/¯õíî“‹dá"YÂ[Tô|kªmÿu(÷ŠKd¯=Eï6ÒÙ Ý¿êj0¦ÍâÀJ‘êedŽ{R.méÔIèˆãÀâGA™¥³Å.ù,×Íé t éÔ58¥ÐžýW1·ærà FîeWÈÊ+äÙ5rÕårÙ}×®26Ðæp`Ö7æÈa"SsµúþV‘ëDÞ"ò”H¿_÷\vÂæ¨Œ*é -ê@v/í‘åÚó«E6Λ%»Ð£_äåCü—Ð:@è@cè‡p‚£1'>{ÓåE_–]w—é=Ù»îײÍù„Èo²¯Ù7Ýù¸Èô13«/—-Ý”{ÐÁò›Gdý Üú“âëß8”¨0=ºqPú×É 'gW•Zô½Äðß?‘W¼êùJ7»ï)_ÿöÐ-¾•Fî´²ϵɷEŽÎ=8Fäû":§q…È{óÆ+×g ̱|£t€Ðt8OJ÷D—>ý©µr¹H‡È…"×§«šÊè t y(èìF!›;àGóŒZI©ÎMè¦cW÷¶›ÈC"!rB6©1kÉyÈ«DÙ©VÒ˯•SN”î)rÞgeeÕ%#ºÙ”‚,;DλXÞø&¹ôJѽƵt™«^bò®£ôoñCÛ‰ï“ôïóÜè@µ—ˆ¼?õýºîlo¾ÈM"?ÞóU÷ ¬Îå> t€$èÀ-"ª’uˆÈ]"›E¾(Ù7nt€Ð:@v@oQ)ds>E%ØË¸‹Ê†.6®r«Sª÷K•¸åmš:°î®µz½Fï ù+VU_|WQΕÙ{nÓñâðM·%¶êÝKûzáÆÕWÈ7ÿuÎ³Ï Ï‘•éiµçÞþÛÃ_˜:MvÙU–î$|XN?yÚ}¿˜6uÚÀîZûúWÏya}ÛVS~tçÚ7ì5çyý£}½›»Xe ]üCÓm@hA-qÙ´k7ahùn¶Z+-Hñ×Eùp»|~sß+û6¼¸¡ø›¢œÕ!ÏtÉ•Ï÷îÒ a­´¾bkç© ãÔ[¡‹­òª¬ ÞMÜ=­§A…úé6… ñøim¥ÐoiÐg}]sŸ-Ù…œåM¿–wëÿWeWëTþ©»õ¬¿íÉ©ûö¬¿ïI=¤-ÛÌë-èG¾¹å…êˆË¦½‡þ*ô Ž«0.›ŠK—­ÕäµZ½‰Ÿ-M7­ö•Ù=Ý2³S¦è:Xžõ¨a X5ݽD­ÅC „À*Ï⺳x@Z¯MÇ–‘ß%ð¨otìWO½_¹H‹ÞFôx±Èç‡é^‰­tƒIé@i¿gùÄßËO~!?ù¥ì»ßPJéV”Òû'?'>.(Ûm×ûòÝäîß a®¿IŽÑ+GDŽ}·\qçÜSØy&„b->tñs „tËï–§x tãá¨íÎÍfñ@¡W^hù ¯=C ?-²Iäse÷Ñ›^9^/h0kÚ @£É+w„Т Å*ÞMé^~7›7Ývç&´xhØêÐã&„£¡ü‰ËÓr@!Ô ¡->ÝÀfñ@è—ü ʳå!tgñ€0´^›-[Vž·|gñøÍ¤ô=瑯•¯?Õ{û4/¿7öcžÌn÷¬<ÀChñðañâ¡òƒ€Ðꀛ͛lã-¯= 0n½À–š¼Ô†Æ"5yvø`|­~hq‡¡õÛÄËkÁ§¨ÌÏž¢²ÃÙ±þ?žë8qk>¹rlÕúåã]£Ý ò²­²v}×}Ýž\#ŸøˆüåîòÁÓºWéíå­tCÊËw‘ÓÎ’·“ïý—lÞ,¿¹OvZ:„øúªîwŸœíë».ÊŒâ€~žùßE¦ewk÷þÇì á(ùl¢t€ÐÄø\¾ntIÔäO×)ësELL'åÐ:@è@s:PºèQ¯"äGs`ݪç‰üiìäGDŒrô¾ûäø“dJW6+ñ›_g€?¬–w&í²ÕÔ—F^ƒ’í+O®•“W¿&{PÏn¯’Û~’µëöóÛfÎÝNÞq¨l7_~ø½Rßé t€ÐIí€^—·b¨ÀîsçÈ™ù•z‡ê¥y“ºjGè ê€.ÃÁ§¨L¨ã töhùºÐ*-:sqÙ52sk‘…£Oœv’œ|š¬{QÞý>ùðYúÇt9îùøgåÏ›äK—¯?þˆa®ÒST®¾AN{O†¹æFùÃãÅ‹/‘ŽÂè㉯¾R.½Z®Ñ«E¸Ñ:@è “Úáõ8®—Ò¢"/[×&ûçûzu烓ºxGè ä€þW¦n…ý¿½A(TCÜ%aâ²i-‰ÚUBƒü·éîz‹ge¶ô~8[aT'#ªûzìIÙþ["k¤÷óÃëºÙªÓkÜKèe ] CÓ­ @hA-qÙ´k7ahùn¶ J‹§åÝùóSô‚£+¤÷ËÃçdO58¢¼mâ„”W=ú¡û‰»§å4¨>Ý ²Y{ãÆekܽ¯×;ö›‰u¬ºÅKX öîÇeÓîàÃâàÄU—MÅÇ%ŒËÖjòZ­ÞÄÏ–¦Ž\dt†Ìœ"S:³‡®„g'DÜ+¸X<´@l¡ò,¡;‹„ŠwBÛ¬ÅåÅ#ÀÜâ–7{á6ò¸È1*dh&<.»|#TmÀ¦G†ñ9ÌZ<†¦Ølw¡kƒ!¤[~СâîÐvçf³x/¿›0´|`«CÏ`½tùW"¯‘¾íûd/]¡V[|çžM^¦%Û€ÜV´¸C/!¤{ù›Kž·oùqë¶Ôä5~¶À§»Ázíè! ôÚ l^¼—½x@:6Z¶¬<¯½ Ï‹‡ê,¡M°yñnñðañâ¡òƒB@hõÀÍæM¶ñ–W‡P·^`KM^jÃc‘š<;|0¾V?´¸ÃÐzmâåµÞ"£3æq‘Q=ÏZpËû†üÉóßìÑi²iú@¶óÍì¡r€T?#¶ýaÉI8ð~}ÔÎ"z‘ÙÏóù8máFè t€Ð:@èÅáµE¹Èè(öLò&ý{ø"‘_Š|Uä9Y÷ûµòe‘;E–ä*Ÿäų<:@è t€Ð:@è˜L”îkȥ ŽÉ4®5×¢ ÿ¿"»fK| êÿvùd6ÙÁ$áÀ—D®ÑË‚õa±{çû$¡‹"è “ÆMæW-íœOɨ퓦jBè “×Bþ• â¸Kà„®Årmz¨¼Õ«WÏ;h+a([%q¬¸„^¶ÐµÁ€04ÝV „Ô—M»v†–ïf ª´ø¾¢Þ¥2¸p°ðHA®”Þ¯p‘Ñ ÿ2pÄá(õ—0.[ôz—×x½ðéN¼ÞÄå5>¥Xå}bêÕ…ÆçÏñ£õ¬ÿü¬|â\öаÒÎÄȃNk£ËƒKíJÆBÆU—M5Ç%ŒËÖjòZ­ÞÄÏ–¦Ž\d´[fvHÇéÒÁ [ Ï®˜â^ÁÅâ¡B` •gñ@ÝY< T¼›ðÚî&x‘Q«g°ôHU–o€bwhñ@šx`³Ý…® „nùA„ŠB¸CÛ›Íâ½ünÂÐò­= Ø}rØÛ]ty@ªÇâÝ„-ºÙ¼v›âÝ„-[zÜ„p4”?qy|º¬×º „€Ð;:ÀæÅ{ùЋ„¡ÃaÓ¡ebäé•Wÿ‹¬~^ŽÑ5òk7N_‘íh;èäi Ü¡Åah:àÍvx->,^< T~P­¸Ù¼éÀ6ÞòêÐ ãÖ l©ÉKm8`,R“g‡Æ×ê‡wZ/°M¼¼Ö[d´{žÌ_(‹v”òǨ¨åÜè t€Ð:@ZÆ®—U×Ê¿,Ûï Ï>-ß2•³P:@è˜ld7^¤ (àÍ?¶gž*÷ß+ë×Éoï‘3NiþzX t€Ð:P—ƒ¢÷®ÂÅ¡cÝò-¹õY8_>~Žœ^víFi½{e¬¶Ó:@èHÓ6ß]†£iPˆªåÇÈÇÈÔYrôqrâ ý'’L, t€Ð:0YÈÖÏþ†UËöÆ7ÉÉÃýÒY~i¢{ ŽZ˜‰¡t€Ð:0±d¿ùôÿ:»Á މu~ñQ~´Þ°…Ð:@šÌ½9ePômsÖ_i²:š_nÿ#ý} ûê®CÓåÓw÷/K ý¯~•|ófÇ›}Fû«Îc} ëxâ¼þG©®ÁôÄÍñÊÛâå?òÈ# NÚ“Óë?t`üØâŸîñ+­Å™ûWõË"ÛJß²ú¿Z´¸‡P>?,`C:@šÂ•+W._¾¼)¤Ž*òŒSOZqöÇ~ÿÀ¯G=ZiüÑ÷o=þ=gnÚ´qvçœéÒÝ%]í¥ 8`•× PÙaŠÄ®x7ؼx`³x ôâah½6[FÎFàQ°ëKÙÄTöú{’oºï²×žÙÝF¯}M¶ÿ‘–eÿ!„^¸çÅ{ùðz»6‹]ü!Ýòƒ`„p‡¶;7›Å{ùÝ„¡å[z@0Ÿ¢¢V60GÛ¡B8êM·x7¡ÅC „ÀV‡7! åO\ž– ¡^mùðé6‹Bwظ<àoPž-¡;‹„¡õÚôJË¡‡ËcÏÊšä}§+ëÐV9Znp~öyQDß«6w½£òîYûbö:çSذi?Àà-CÓl¶;ÀChñðañâ¡òƒB@hõÀÍæM¶ñ–W‡P·^`KM^jÃc‘š<;|0¾V?´¸ÃÐzmâåµàSTHß"Y²Dvâu‰z¾5ÏvŠôêSëùP•æË®•WȳkäªËå²+ú®]UuŒ»t€Ð:@è@s8pþÅrð›åÈ¿ó_¬Wð×EºDô½±íCgÊœ—É;ß"¥gÇ6FÆl:@è ãíÀà€ æ‹ls‚c¼½ŽÌ_<ª(ß¹¶Šö¢/Ë®»Ëôžì]÷¹Ñ:@è MèÀâ¹rÇíÒÞ>pÛëUÿlžXz¯—£”wıòÝïËÿÜ ³é t€L„…ü>]ƒcáwÄ>z¯ë•¿9&"%©è t€Ð$èÛ^Îþ»§Ž9|Ë‹ùç«e÷WdÏgãFè t qtÉöìù)íú°Ø‚½A(T}WW׆ B³ÆÂÇeÓ^'ÔçÕgwÔ¶(þjÖË6¶½pÇ“½ ³,›·Þ¸lчÃ+o‡âê‡zçÖæn†ÂÐtÛZ@PK\6[/ˆ -?º¼Õ«WÏ0| Âèò'¤<8‚ÂÄÝÓZTŸî ¶—ºŸ:iè»–æ¦> ²Jz.ݦ}ãð*ÖA„Þ¡‰ËÖ¸{V0(´¿šmʨ-‡^|çaò‘³æ=þèK£ji´½ƒ¼ZH~zoñзÎÚ¸±ðÝŸ<õê¥#¾¥ÔÁæî1.a\6Uw-µ«0.›êK—­ÕäµZ½‰Ÿ-M7«V­Z¶¬þgknñá8{Å©A‹ŒötnÓ-3:dJ§tè`…­e'DÜ+¸X<´@l¡ò,¡;‹„ŠwBÛ]~£6müa’=ûf½È¡å½gä$OS¡GÍ‹‡t‹BÀChÓlº6Bºå=*àmwn6‹÷ò» C˶:ô€`.2ªV60GÛ¡B8êM·x7¡ÅC „ÀV‡7! åO\ž– ¡^mùðé6‹&ÔGsü^äG"%2-é²Pÿ#ò Èvš7´Un}m”GŸ‘cNÈ;,žsÝ7ä™ÍòËe§—g-{ìµu Vzî.;ˆÅj Ü¡ÅW˳Gm‹—ݿ٭º»'žË¼*½´½´Y|Æßà«L®ÿZ~mù›CDÅô¯“ƒFk€BÛ#B›`óâ!ÝâáÃâÅBå…€Ðꀛ͛lã-¯= 0n½À–š¼Ô†Æ"5yvø`|­~hq‡¡õÛÄËkÉEF,’ÅKdgÞ¢¢ç[ól_—Þm{eªÈMÍ£™Jé t`r8 _¾-r¥ôÖ+ÿOäùüõ=é=´W®¹eÌ"çÏíRCÞ"Ÿ¿(Ã|øãk¯¹RfuÊ¥ÿ$—­ÌZþòõO_z¥t†^YSj›N(9¤I/‘Èö¦‹ÜœO4ôKÿ.úä’Û¶Ó3/ìÓwÇ–]ø©€òË*,{}¬;µ\7ú­Ó7K¾ýï! 3ÛåˆCåkÉ>¶C/Q©~F»ÞÚ|—ˆNÙháîÉÊà6é¨ÿÃ2é¬`At€ÐÄ,_¬ÈEFƒG*îš+v1° A6=®¼¸lZZ\B/[èÚ`@šnÇ- ¨%.›w8BË./T€ÛÌèò'¤<÷ùà>š¸{Þ¯»ºïÝ^ÜyQ逵"ÜiÙ-…YKæt>7úŸF6v<ýÀÚÒíÕêì†Þ¢RÍýó_~óìÇí˜6}àØw¯ýÊ…ÃGÛÚäÄW³UóÔ½_¡þ¶º[ÏúÛžœºoÏúûžÔ2µe›y½…üš ÔCƒÞŽZ‹>jûpã'¥÷KÃî ·Ü+É+žR”sG0Q-²÷ñ‰2¬MÜpé…]w”û–ööû\cp¶Ô˜5,.›ö—0.[«Ékµz?[šn8Zm‘ÑÙs¦Kw—tµ—.à€EP‚Bl÷ .À¦xhؼxH·x ôâah½6[ò‹i”¶´áQŸ]ö”»ÞP~`S‘Àà-CÓl¶»ÐµÁ€Ò-?èPñ@wh»s³Y¼—ßMZ>°Õ¡ƒ8 ¡·»èò€0TÅ» -Z t³yí6Å» -Z ¶:ô¸ áh(âòý£ôï\R}G­õê/,]Xt¬_3ò)²ã#νv†ã²käí‡H{‡|ü3ò­ÿÎðX-¯~M¶³Û«ä»ÿƒøZåeÙÝÙ ôâ3@é—õ9"_+—ùŒÖ™÷§‹q|!ß©¼9³{»S^™6cX!¢ZÑwS¯å",§  L[‘AžW¤[<B›`óâ!ðöÃâÆCº µ!„–n6o:°·¼:ô€Â¸õ[jòR‹ÔäÙáƒñµú¡Å†Ö l/¯/ vÅKe§ü1*j97:@è t ¸óg²bÏïô^`­¸GD§!~`ä-zècÙüŸšó…/¯]u“üúWò®wfÇN?¹ëš7,^$·ß.ËõÖd·Ï‰D/8¨Þžyºí]Ý ?ûÉÌÝvÈM’7~tË›ò‹&®ËEœ%¢OÑiŽ¥pâÜAY½e¥±w:@è -î€ÞÚ©RýNÚ·†åÓ:@è èÀ¥"KEô6 »éU ÛgO´[eá‰ëËY}:¿pCÛ—Ê‚?L™´…³0:@è É;PZµjPô×2'8’. ¤t€Ð:ˆŠ,—â·Š¢—`èzúúë<%HM+/.›–—ÐËú M·c„Ô—Í;¡åG—*Àmfty‰Ržû|pMÜ=ï‡×]…WP½›§ >yÒùß"/ÏûùÈÒsÙ6í+9Lôzo½ªrG Ðþj5k¬F`«Àꦋ°ÄJëf«¨­}'.a\6­>,µ×52®Â¸lª9.a\¶V“×jõ&~¶4Ýp´àSTfH÷éè”N,\o}u‡šî^¢Ò½Ý›ïåB/†ÖkÓ±eäêåxÔ7:|ŠŠŽHõºቀ‡³Ò-Ò!T<ÀÚîÜlïåw†–luèÁ ŽBèí.º< ÕcñnB‹‡Ýl^»€MñnB‹‡­=nB8ÊŸ¸¼Æ‡>\ ÖkÝB@è`óâ½ü@èÅÂÐá°éÕ-3·–?®UÊámøhù ÃpKŽr‡ ñÔ[¦­tY"\¸Hô 8º?°Yà!´x <„6ÀæÅCºÅÇŋ„Ê ¡Õ7›7ØÆ[^z@aÜz-5y© ŒEjòìðÁøZýÐâC붉—ׂOQY Éâ%²„·¨èùÖäÛ±GɽwÊsOfïºÏÐ:@èhN>‘ÌëIBúß”„ Š t€Ð:P£¥KI9ÁQ£] ÃÎý¨œr†Ìš›½ŸûÑþ·¾9a­”Fè t€ŒéÀ©'yh‚¼á€ îÝÑ:@è¨ß½è0µq‚£~SÉ\~¢üðDzé¥ì]÷Wœ™Š0ê t€Ð:@Bظ!=žXNpŒ§»ä¦t€ÐÈ ˆdψmkç"£ÁÎÆ]'tq/«é³–ìÐùÜó¥öMÓ§­ûýò{f8î3¼ ÜpcõÞC½s+aÜb•6.¡—-tm0 M¯øVÙÂJ{};qÙTƒ›0´|7[%‡ pw]^â„”ç>ÜGwOÅ7¨>\ ²Y3ãÆekܽñ®÷ÑÕÅùs{m/uap8­Ê(i1n6M‹ÐVTjñŽ•8j{\6í>,£vÔWa\6-$.a\¶V“×jõ&~¶4Ýp´à"£Ó¥[Wå"£z®âêY°$ „Šw¯Xxmw°J¨„ÈK"›EÎÊ”g›Nf¼nßÒnö®û¿½g8ôU§HèÓ‚b-Ò!´x <„6ÀfñP¤[<BºÅ!„ŠB¸CÛ›Íâ½ünÂÐò­= ÀQ½ÝE—„¡z,ÞMhñС›Ík°)ÞMhñÐ!°Õ¡ÇMGCù—×øpÀ‡«Áz­Û@½£l^¼—½x@:6ZJK{*mi>ZþóÅpKŽp‡ ñÔ[¦ê¯ê‹A}‹Œ†}±ñɃêT$´@Åzñnñðañâ¡òƒB@hõÀÍæM¶ñ–W‡P·^`KM^jÃc‘š<;|0¾V?´¸ÃÐzmâåµì"£‹eGÞ¢¢ç[ól_9dš¼Fäü*Í+/—ý_/Ù»îŸAÕ1îÒ:@è ÍäÀâ…}‰Èíô]òY‹N½ CŽ,óÉ”3äæü/4ý"¯(â¿t€Ð:@p@¯(ÍØs‚£'>u¦ôþlštˆÜ^Õ÷'?+_ºPÖ­ÎÞ?ùÙ¾[n­:Æ]:@è t€lQÎéðô§ÖÊå’}™¹PäúávîÑ:@è¨×lrcP m…‚þzáÖLm’/êuUš¯¾NôUÙúRùËOEwè t€ÐÖuà‘‰|ºl€~‡ÑPÿÖ¦ßg~Tnä¿t€Ð:@p@/:Ì®;ÔI¸=©N¦Öã@ÿ#ý}5_ŒX #– IDATÚÿ®Çä°Í³O™7mM{©³ ôZôÍëä±¾…µ ›Ó`9 ¦7…E‘[¼ü-.ÀaѦvÀûáR@S˜¸øŸše/F\È¿ªUªý Cu–{_¿HTƒ°~Få@Ȏʮ֩ü³÷œ÷Ô›ý†yOÝ©_1ú´eÁ⾂®)Ö ›÷ÃÒ EP# -çÀÊ•+—/_Þ¼eŸqêI+ÎþØïøµ»„}ÿÖãßsæ¦MgwΙ!3§È”öÒ¯NX%(Ô.aŠÄ®x7ؼx`³x ôâah½6[F~ËÁ£`—~P|é¥Rt™® îz=ü"°˜°)?0¸C‹ÂÐtÀ›íÊt‹BH·x „Pñ@wh»s³Y¼—ßMZ>°Õ¡Ž8¿á(„Þî¢ËÂP=ï&´xhÐÍæµ Øï&´xhØêÐã&„£¡ü‰Ëk|8àÓmëøé—üVÜ¡} „t‹„¡õÚthÙ²ò¼åƒ<‹Ço&¥äçˆ|­ü¥å9ý¢y"ÓE>–úÏ÷gÁ–£ ¡âÁ@@èåw³yÓmwnB‹‡­=nB8ÊŸ¸<-B½zË6/ø!LMž-êµú¡Å†Ö l/¯Õ.3æÉ‚E²ãYÊ58ô|kž­CzõÑqC×ß4l*¥t€Ð:@ZÙω¼µ\ÿˆì•¯Áq®ÈåFþKè t ^t.= ¶I;'8êu‘yt€Ð:@è µ8°IdÅ®ûÜ9r¦ˆ¶*r|-ÉÄÐ:@èp9Ð&:­Ñ®7ZÈ'8\Nñ t€Ð:@è@ÝdWž–6}`J¶þ›¼l]›ìŸï/ypè ÿ¡t€Ð:ЈSº:gÍÙº{ö >E¥™Kè t€Ð:@è t€lIÚÛÛç-œ·õ¬î‚]%TWWW׆ B³ÆÂÇeÓ^',®.ÿqc,SÆn·é Ö»CqõC½s+6ÈVá©ìÄ%ô²A9cíahº¥B j‰Ë¦]» CËw³UZ¯^½zîÜá³±†ê”èò'¤¼êÑÝOÜ=-§A…ðé¶lزZy¡zŸ8a³Ë³ßLÀãÖ—M¥6øY€b5Œ«0.åÙñ jápÙàÄÝSµqÆe³òV­ZµlÙ20¹öp¼åy•œ½âÔ §¨Ìꜳuaö;/šÛ—_6sA¡Šs/Q lЇÍ‹‡t‹B/†ÖkÓ±¥´º¸òæõÙ…k•7<°Z8¸§A¡;´x M<°Ùî H·x „t‹B„p‡¶;7›Å{ùÝ„¡å[z@0Ÿ¢¢V60GÛ¡B8êM·x7¡ÅC „ÀV‡7! åO\ž– ¡^mùðé6ÅÝaãò€ßÊ€;´å!¤[< ­×¦CË–•ç-äyñPÅ!à!´é6/Ò-ÞýY°x „Pñ zùÝlÞtÛ›Ðâ¡B`«C›ކò'.OË…P/„ÞòÍ‹~S“gËz­~hq‡¡õÛÄËkµ§¨Ìîíô)*Kwé~%oQÑó ‰90EDW×çFè t€Ð:@èp:0 …A)lÞ4ð¦ \dÔiÒ:0ñ,ò§ì/ÈSöÛvâ;gt€Ð:@è t€4—:ÁQB»8ÁÑ\Gµt`2;P\´In¹\äD‘7˶Ô 9¸Ñ:@è t€Ð:@Æt  ƒm2 2¨Oëâ"£cÚ4Ö¸k®„®Åªlzƒò`1­Ù@­†q ½lPŽÕ-@šl_¯ànzZ¾› ÈG ‹7¥[äØY½ìT@ã„Õ½Äe‹./:aâõR^õÉYÇ~ƒ§۲ T¡% e¨ÆÇeSæÄ )¯zôC÷£»×àgÁê«0.[ôOåÙ ¨%®qÙZíliºz[m‘ÑÙstŽéì| X%(ÔÁv¯àlЇÍ‹‡t‹B/†ÖkÓ±…‹Œª§å Íiøl ] ÎHW™ Ð*Ýx8j»s³Y<Bè•Z>È«CO×+{ä«"›%{ß6Ì=owËŽzõX¼›Ðâ¡B7[jòêÐ3®õ‚{©ÉS= Ü€Ðê‡O7°)@è—üVÜ¡-!Ýâah½6Z¶¬Ý¶^€Û®pO‘çD¾&²TDŸ†´“È?‰#ÇœavX<çºoÈ3›å—ÊN/ñÑ(}´Á*! ^8jñ€PñnBÀCh»s³Y<B8–<µýê‘ÕÏy®°®—ɲc2ÏBW‡7!…ÐÛ]tyîÏ‚WÕ ¡—ßÍæM·Ý¹ -Z ¶:ô¸ áh(âò´PõBè-ؼxà‡05y¶¨×ê‡wZ/°M¼¼\dt®ÌŸ/Û/â"£z¶5×öÜ?>™=G³z»âÙkOikËf:tÿª««íßù3Y±çƒúΤàÀÛoÌæ5.9QäÍÒûpöìX»éT­¾Þ~Àð‡þ'гO[ [èg¦‹|Gäé;·OÙ$ò;‘SENéÈÚ§ŽÙ»^J0¥ ‡¼E>Q†ùðÇ×^s¥Ì꽬ಕÃYüh{cï†ëåø#äœOf\Ӧ˟ÖÉ5WËuWe!7:@è MäÀ€èÒº¼h›þ}3¿„£‰´·¼ÔÙ§mƒ\v…¬¼Bž]#W].—]Ñwí*0¦MçÀ‘O˦­–ÛEd—¸{·Ùœ¯ÑQúO ‹Î÷f@è@lþˆþ ºi{¿=[nYíO6ô)>è`ùåÝ¢ê¯\$g¾Å6Ø5z8(Ù½«#¯_)rË·äÖ[dáüìøóÏÉ6[ÉÞ ùøXp¶Ó:@èH×ýÕWBéa*骤2ë@Ç‹f ‹¾,»î.Ó{²wÝçFšÝ½'åO"{Kç~s呞zJ×·ÿÇ÷äÿ~4»3E¯Ýh‰ÙÒÀTÞKÿU3 ræ]ýôçëIë’ÒùK›ÍoöÑð!‘Ê®–ŽVÿGQÞ2ôßH¥£ŠÕntÀëÀñ"WŒÒK±Þ=Æ!]"»câù@>ѳµ<ñXÖ9Ž»ïÈvZ裕ÛÀVúŽ`¾)ŒÊøÆ7ÉÉÃýrÿŸdï×eÖËSOŽŠe# t€ÐtÐË7ô»j~‡Þ×ÀÐ:†ÅE›ªïIÙöz!‡ÓûSv{…üöWò½ÿêùø9rþyC«rh¦þ'S«léÕõ÷9¯ªbýœÊK›oY.¢¦~PäËÒ+ÿi;UXî¶‚õ?Qk¡Èˆe ªÜÒöí«Â‘»z‹Š~·Ÿ#ÿr]v`Í“²í¼lG¯éXñ‘l>Ú:!’µr³”~èÕö£ï¨åråuò‰¶w„\vµ¼0(—®”e‡XR¶Ð:@èHÚýŸnºÂ¨>N…OQ ª¸küÖñ•ê”êýR% ʃÕÂd³æÆ%ô²A9V´ah:°i„Ô—Í+/´üÆåo.fKÌ=«·?[n£Âʃ?ª¸ï~ò÷/þ_9T2¹¶”‡´ÿ¥Ø{xïÐûêb6=¡×gìõ¼üÛó½óóýrc%±xgQ.•™7ÌézzxjÛþ )á+핎úŽéÛ°aC…­Áć#qyj~ƒ áÓ lß»½¸ó¢l„;B.Ývißf^oaó(ò;eÍŸŠÛl×[(}Éè‡6ø¨jëgÎ/~ÿ¿ ß¿u›Ó?X|õžòî#Gœ{_fªõ_¨·Ö´±qq a+~½(‹l'½‡ ÿ0l„ЗMùãÆeSyða±†„¶ÄU—-ýáˆ[o\¶èîE'L¼ÞÄå5Ýp´ÞSTæL—î)ÒÕ!í:Xžå²a X5ݽD­ÅC „À*Ï⺳x@Z¯MÇ–‘fÁ£¾Ñ±_>ÝõzùG¶:삎BèíØ,>tñs „tË‚!T<ÀÚîÜlïåw†–luèéze|UD—ÒÐ÷mkr¯úŸÞ+{ì¥ÝmÕ‡´©qyà'ÂQíZÜ¡UèÅôS[z½$rüPùC-åCXÿ{G¯ïøµÈ="o(Ë+†ðåìè?[†Õæ]€{Úwhñ@é-4Ý⺳x@¨x7¡ÅC |ºÍ>Q ÒÇ Ù]Õ&OÛõh¾Aº~T¡eéNsnþ®üyPn¿O-A6‹‡tµOhzá¨ÅBÅ» auw‡.=+k^÷®ÍC›_BŒèO€«~äˆÿÏÞ—ÀÉQ•ÛŸî™É$“=3é„I&¬a èC#›È"‚ìD1 M H$@ .ˆ² a•U‚€D|€€þ¬AòPˆ@: I Ù3ýÿªjº§æÜ™{»ºkfj¦¿›ùõÔwë|çž{ªª§S]õU$y’!„—_‹Åk¼¹9¨¿1Ù( ^ O¡‰/Aže8b3‡#=šx:XœxP(ü¤šz`gs¦[WË+A)Œw¾Ä–4yIÛ´-’&ÏÜ|´}MýÔc£Î—غ_^¥=Ee †ŒÂرØRŸ¢";›6u@HŠC?¬Â7¿âÞGóeÍršÃÞä²öB›ô…ÌË/"ÈEïmAŸ_>?óÚd•ÎÂ8 õK È À1ÀoCŽø˜¶[TBkt±2(ý‰Zw_ïÄ3yR'å9ÂGq¼|YúÐ}18…]vÀ;ÿbBψ^_}=&í‡c¾ÔpÙ5¥ÎáA¹"×òÚyÓÐЇíoºJÖ7Žf«ê€: ¨q: ßܵ]¨'±r©ê€:P²"|š#¸š£d²ÊI̼^‹›áýtÖ–_õî:À@-Ú™GÚ_žW“©ܾeZНúl£ö¶˜Ñ£ð×PUÕòÜ3æÊâzVø°àµ¸ŒÎPGß?…~ÑÙzíWÔu@P’ã@N¾ÕÛˆ–ªôGr¶Š*QÔ¢éü¦ÂÕršcùh¹wE›Õ[ü 4vÉc·ŸHß‘ÀåRyÕ¿ÊCþ·Yh>LŠn˜·¥ º åÀÇÀÀ=hþq3¶¤–Î6þI·7à`UQjÚ3.\zÜQ=oÃ/îÆŽÛãØz^‰*PÔu@P¤RÞcT‚k—éö$G¦®ŽÛy”cÓ¸¦’YËL7Ç?þ¸qR¿´Ææù šJŸN™é½ÝÄäL¿yû5¸e¡éˆÒ–Þ¾9T¿:£Î£Û °ˆY>zÊo}€ƒáÕ –K ~‹W7ÌúE¿,i}hUÉš'Ù|è8oZãÒÅ¥ÛUòèá-ð—¹Í_4zÝÚôc^°ËöýÆ[α¶T—Õu@èNfÏž=eÊ”î1ޱΞzÊôÿëM)gkO?õ䉧N[¿~ݰ¯ÈhÕ5Þ·+Fñ-ª‰b%N‘8ñv±E•gâ‰F7ñ 0ê|ÍtîñO5 mÐx­kë˜ß¸Úçëä×"£ùMáý¦ÒbÒCÚCÁGÚÄfgg3ñDH¡S^Ô铼ôBPjpü´µì¨W‚4Ôì®Kä•¡ÇÔO @aÔùFM7ñ]*Ï9SõØåEå'¶¨é&žI¼‰'…‚·šxê¡£›Ø„Ÿ”nË—Gü¦<ØCÓ^"¤tO ÍùÒŸfÂSîÕ­O¹×H6ñ™?2j¾™üÒsÈá1Íá Iü‡Üb°‡&ž£¦žØÌáO¡‰· &ž)<)$…N~;›3ÝÎNh⩇Bb+AÖFåO¸<™)¤ùRèœ>±9ñÄOaÒä™Ó¡ùšú©ÇF/±u¿¼ ,2šÁ˜1ؼ [é-*²¿iSÔä90Ú/2ú¾/LÊŽ~^ Rmê€: ôˆrBAªóúÍ»ŸKÚ àÿDC3š·]¬*óuô H Õ-Æ5Ù ©¶–Η¶‡rO²w¡h, ÁS¥íRý DLÓp<ö°¨kÕu@PÔD8ÿC—Ò‰Ø*BPÚ®ÚÚ€”Õ¦¨ê@Ï: OYö¯{mUq-p»_µwpý¢ž•¦£«ê€: ¨•í@.8¯!µ8ôGeï :{u IxeD冔ü© ¯È¨žÚHÒR-ê@E;ðp^È€ÉÀËþ tòH×óÛÝ@uÙ¢ ^í— .~„RŠ'ï£È‰;cÖ«cäU›: ¨ê@‡äü{DSæ BQ¥×ÖÖ®]»6jVgøxÙd”„Ê•®Å\,Ú™]fzÔù¶^jÛÙroí¨Lç+#¯‰*Ï>€“móìÂgFÙIÂk‰0jz˜*X&B©'^6ÚNuúv¶bfš}$ëU%<~xæ]ï{Òò ÃÆË»¼Ø >_•Þ9KX.Ó@:ºM6DUhFeããeæåoeÝõ«ž[R·[ýªyKä/£ôŒl̤äó”A(«‚ÏXáY”°œòn,é¼[‹{Öó7:˜¯÷çÞO霱õ£¡ «vµŠ²çöºµ·¾™š°ÞxûìÛg¡v?‹oñ²É@ñÆËViò*m¾ ß[zÝæ˜3gÎäÉr&¾ÄÖã›cÆô©‹ŒÖ×ap5úi‘Qo“Ó){(x{Åg:üÓLm{¯uÉ£ô¨òœÓ§É:ñNýDHx Û‰ZŒ)Ýä'Á ž `Íáìl&ÞÉo'Œ:}b+AvŽ'¹½}’dëÞ6°@žÔ÷u¼¿«søÇ|L:²íÐÊõ•/ü$BZ+z¨Ç?_oª~³ö.y2!ûth­‰w¾ÄfGz(4ñDèÄ€Bá·šxê¡£›Ø„Ÿ”nË—Gü¦<ØÃx6GPü"àg~Ý !].›A~ùÅ8~â/^p>ŒM^žÖ#ü¡‡¼ºŽ´˜O!=æ PØÍ›ƒFwÎ7^yríÆ3s· _ÁU‰'… 0ê|£¦›ø.•眎©‡zìò¢ò[ÔtO„$ÞÄ€BÁÛ M<õPHlQõ[Òä™Ó¡ùšú©ÇF/±u¿¼Š+2š225fl6ãõÙß´©ê@"ȼSƒý€“ý;۟ć›®sʺðû¸çŒìO;3ÎÆÐþ¸ærœ~–3Uê€: Dt@îò8 Ÿò °“_ƒc&°g¾³Û~Ë©–€¼ßJH)ž¼"羈éß’Wmê€: ¨‰v@¾È¥RHËU†z‚#Ñ[ª[Åy»¼KXý…nZSÂHÑþ±À XÿôBï[Ê~áu¼üþ{ØmÇÖÎm·Ç¯æ`ÝZÜw7>-ÿñhß¾z\ó ··ïÒHPÔH¬¦çΦÒsRÓ#Ü ™Ï×ßê€: ¨ê€:›ÁSTä?²z‚#6O{=‘¿Sxwó{G¯ŸN 7; —n\„š=FÉ…òx¯õŽ•çs×mØ ÿÁðÛ Z¬]ã-­ü†Ö}­¯»~SNÆÙßh×Y ÁA“¼vVåðä³ÙÏíÝ:ãÂM=•à€ÎQˆÇùË´ûò¥©–ùnHÿxŒ}Ûz"6Ÿª¿Õu@PÔu kð¾¢oAK.Õú8•®EY{…+8zrÜýn¿Ö;VîðNsd/•â¶¶r-øç5êb…<_ Ô~r#†ÅÀ¡®ÊX¼ýœy2†ôÃU?Âì9ÞœÃ7õT†:Ku@PÔu@PÔ>í@þ{ˆT:­OQ‰¼¥ã-*ëÝR^£ êñÊ‹—M&/¡“-ꃈ0jº¹%‰ÐDꉗ͹9¢N¿‹äe\Šk6@®éx™ït\Çþý…Ù1£2÷?’½w6{xä¡G,úÚyP+XÖî¿ÿ ÉÇ®|ó ̾­c†H"wÑ|KPÒaJ O.ܸûü÷¯V,o½^oòqÙ9òæEâX‡‰uÆ;ßxÙDs¼„ñ²Å.¯|B:ºÍù ³½¢³~“°3d1ýñ²Éˆ]M(ÙéOs1Ó 0C‡müý³KvšÐÁáY2­}¾ÑŽÝtÝ /.3ß(ìlÅÏ´€Œ—0^6Yæ±P˜fa!^…ñ²‰Èx ãe«4y•6ß„ï-½nsTÜSTúÕÌ ®JÕTUù×TR•×H¡ll{‰Zb<õPHlN<¥›x"tâ @aÔùšéÔÓ³òL»ìòœxJ7ñöù:Ó @læpö˜x"¤tOz(<ÀšÃÙÙL¼“ßNuúÄV‚\ó¹QᇪÐÚp<'åäÓ‘]…µ9ïY*‡ÑöV¬Ý÷€†扨¶f^{hh¾”nâ @¡àí„&žz( ØêGâ{?Ƴ¯àÙW±Û2HkOo%­+äååx¿íh­‰·Ë3ñDH!±EM7ñDHÙxP(x;¡‰§:º‰Mø @éö°|yÄoÊ#€=4í%BJ7ñ 0ê|ÍôpÏ­w#xËÚ µ­•ËoýÖÖSD(Ç|ó´¹¼üÇŸÔª„†#¶žÒ; M<Òpšé 6'žÒM¼ýX0ñDH¡àI!(tòÛÙœéæpvBO=[ zì„´6*ÂåÉtH!Í—Bçô‰Í‰'~ “&ÏœÍ×ÔO=ö0ê|‰­ûåUàSTFaì&Ø´1½•ÖàýM›: $ÑÏ<}†”õ ŽJÙQk«ñ/K{øÁL¦µ)ŒŠGjKÖ¾ñ¿vÙ¡­³B––,Â÷.ÀgwĹg ™ò¤B¦¯ÓTzSOIŠä½öIŠÕ¡¨ê€: 8Èy58SÕ’Ò¯tµ: ô”Ïb¦÷D÷³b{J`/÷í…8ìHTUKu’ Æ×´½@¿JT*ÍyTBšžàHȆPê€: ¨Å8àÐMË«žà(Æ.Ũê€:Ð+8áh|÷GøÏzÜxûªî•SPÑê€:Ð#l:Ú–î—é%:¨: ¨ê€:àt —J!•’ZdÔéâ-/›h—0^¶î—µ6Í7j:ï+½|sD>¹gºµgáÂ…£FŠšÕ>vy 'Tyí Åô'Ü=™B™ éè6ÙPŒiaŒI^u9^6=á„AÕdӥΪšHê±Ï×BÛ¡;› m!$aAè$ì0«³ÎxÙd”2Sg¼ ãeµñÆËViò*m¾ ß[zÝæ¨À"£u¹¡Õ¨®Fl¬h¥ÝÌŠ)ö .&žz($¶¨òL<Òp&ž ÞNHx ÍáÂlò=É¡GÔ¾ò&Vçðú»Øï@GÛ:Qå9ùÃò<5ÑõDHk)tGl&>jm0"¤t“ŸS(x"$€=4‡³³™x'¿0êô‰­=$8çÝM×Öh-…Îáb—G„Qõ˜x;¡‰§ ílN»ˆMðvBO=[ zì„´6*Âå•¿9èè6çKòÓ–/øMy°‡æÖ'BJ7ñ 0ê|ÍtêéT^þ‘ðöÐ)Ï¿gYPmÍNHò$ Dô6 IDATðDÈk <žBs8›Oé&Þ~,˜x"¤Pð¤:ùílÎts8;¡‰§ ‰­=vBZ•?áòd:¤æK¡súÄæÄ?…I“gN‡ækê§{u¾ÄÖýò*®È(g0¶›5a¼Þ¢"û[‚Ú¬Ÿ®½ð\ ©ÅÌóqל S)ê€:ЋÈyß©zÿëÈÿ©ÏE¥«ê@¯rÀ{ó9&¯Ø Z7¸øoGÍÀöùUú[PÔu@(Ëù##·©è ޲\Œ=y×Od~û¬_‡§þ€5«c§WBu@¨Hü§ÌÈ[¾÷£MPÔnvà*— Ã.»d1nªYÀ}Ý,E‡SÔu@èƒäRh‘3ç)ïGOp$t_q-’󬸄z¤²Ôu@PÔu ù<œRy8ð2°¸85Ô¯‹ê€: ¨ê@Éø_ãå¤Ð¨yƒPTÎxKÂÄË&sI8aAž”}}ïÃì˜Q™þZ¾Ùâ?>‰ß=š‰º-bŸoA^ J:L‰—Ðɵ6FM7§L„& RO¼l2´0êôíl‘f€µÈh ¦R›ûD<ß2£Jyc‘ì0až¬ôßñ²Uš¼òçKG·¹9@[ZÖR†‘x¾¸›Åä:[¢-íø5·o˜6üþ‹ã66‘Ö)üu;Ô¯znIÝnõ«æ-‘UÒ3²1“’~³Ë K-f9^6Ñ~,#‰0ñ*Œ—M¤ÆK/[¥É«´ù&|oéu›£âŠŒÖÔ×apúÉl,®E§<졤Û+¸Pºs8bsâüDèó5Ó©Gä5„OìˆvÅ{ËpÄWjþø¶ Ý’Jx{UžÓ^rω'y&ž O¡™Nb3ñQkƒ!¥›ü¤‡BÁ!ì¡9œÍÄ;ùí„Q§Ol%è!Á$€ÖRè.vyDU‰·q>\‰…ãôoÊD[1PØŽí÷À9À+í¾D%¼=”!…ðòk±x÷sÑ%Ž?‚·¶“çOÈŽ§µ&?:ñ ØÌáO¡‰'B'ž ¿ÐÄS\Ä&ü°§ÓÚòå¡)ö0i›ƒÔ&Mž©‡;7Ÿ$ Îæ\ü,_h¥ìÁ20¸¸Ü9ª<ÂShNß~,˜x"¤Pðd (tòÛÙœéæpvBO=[ zì„´6*ÂåÉtH!Í—Bçô‰Í‰'~ “&ÏœÍ×ÔO=ö0ê|‰­ûåUZ‘Q9»Ñ€±£±y#¶Ò[Tdëáö“Ë '5~ß™ŽY?]¿Ç®xmž÷äy}ø|o^HŒW_ãªûÂgq™\Ñ]B»×?Á!‰——Ü–rÞ44ôÇaûã›ÓÛ:uIPÔ·òæs@õ[`'¿ÇLà‹ùNý­¨ê€: ”ꀜK÷O§K-2Zª‰1æ]s9FÀ&ƒq÷øÌv™š ?1Ž¢Tê€:Ð{Øb^ùë y´÷sÏ”4‰1ÀWKÊmŸtôñøýSxàí{5RÔuÀîÀz btÈÌL¤çàD{š®UÔu@PÜHµi9´Èåz‡Û/E¨ê@÷;0qgÌzuŒ¼j ;nÝ®ÂqG•äÇ ?ë’rÛ'ýânì¸=Ž=¡}¯Fê€: tâ@[=y`Šÿ´ÿGiìé/Þê$M»Õu@PÔ¢?/r^C^S-HÑíIE“(Pè46Ï_Ð4®d¡e¦—,çUf•oLîÏ÷ýZ§Rù IŽ¢BC ÒdxJ7ñDèÄ€Bb3‡#<…&žxP(üvBO=ôæFlÂO{:­-_šò`“¶9HmÒä™zHp7o½ûåÙ§S?H üv6gº9œÐÄS…ÄV‚;!­ÊŸpy2RHó¥Ð9}bs≟¤É3§Có5õS=Œ:_bë~y} È¨˜Vd“1xdjl&½i&µ¹†£ÈT…©ê€:Ð]Ì}Ó'¾5×xJbwŸ¬qFòÎd³mO{5õy_ äïzsssf¦SÂÆ/Tþ¢$h™Ÿ6[P¤ ê€: ¨ê€: ¨ê@Ç<ó—?t¼¢£ÞRòŸÜ¥R•Ò"£¤}ê€: 值•Ó Ì.ôÏÈÿÿñë87#»íÚ¢H¤¨ê€: ¨ê€: ¨%;à×xJ!UÕ¢'8J6QÕu@®jBF\ Üî?þPîüéòÐ ]TÔu@PÔu@PÔ.p —kÉß ®OQé•RP*Ç'€óB³ ¼ l®‘g"æoç­ïÚÅËÕ€¼ßJH)ž\‘ê€: ¨ê€: ¨ê@W;’[T¼sÓé”Üw]æpµµµkׯv%v¼l2µ„ª¼rv?§{›gþ;3ªø!ˆ0jº9š€H=ñ²ÉÐñÆË&òÊ÷?loìò„PP·Cýªç–ÔíV¿jÞ¯ ÆÂìÈÆLJNpMVÉ;¯Ñ¹C®¾³å[‹{ÖŠ’"çëÝYã§X8‹‘½«U”…¼œU᣻Èù9\¼l2hÒéà2å€|³¯}¾¦<Ò5L8¡Ê‹ºAÃøØÝsîíáÑ‹YŽWa¼l¢?^ÂxÙ*M^¥Í7á{K¯ÛsæÌ™ÿ` =GgÏ÷êou@P’åÀúÐUZŸÛ¯¼‰Õ9¼þ.ö;0Y:U: ¨ê€:àt —óþªIý ärz‚Ãi—Ôu@èÄBá‰û e/<Ð2`OxU2Æ#ó¯ðãU:aÐnu@Pzڟ݇ ÏÅZÌ<wÍéi5:¾: ¨ê€:Õ¯F]ªhɵh‘Ѩæiù¥ÈŽ…â­Xãd‹ZŒ£¦‡g,¡ ˆÔ/› /a¼l"¯|ÿÃöÆ./*¡”ól= –ZŽJ¤vF[[AŽI[&a9X(Ÿvò à ãeæ¤:Ý#@ØY¶¯µÏwCmné)‹ …ÏÆû¬osPëȪu…ó…4ZâÜc}qoßîÙ[Þ_˜}èQ|~_œs&~÷hë-j ™ =µtç ¶;ÖºGžir‘=±ËsîíE +ÀâU/›ˆŒ—0^¶J“WióMøÞÒë6GÅíW?ƒÒ©~5¹ZÙXÑJ»™Sì\L<õPHlQå™x"¤áL<¼p®S½@ƒ6©ÞëÉ·ðùUò›Öš=1È '‹vB§›©Ÿðšx"$<…f:ˆÍÄG­ F„”nò“ O„°‡æpv6ïä·Rº“ŸØœx'?ùOx ÃÅ.£ê1ñvÂñ[׿½PfÙÖZò×™¡MXO¡ù¼—€pÜf®l'<…N~’çÄ›üÁµˆ;ˆÐÄS=$¶ä?ÒÚøí„N~:¸ˆMô€ík%Ûҥ￀§ÏýŸ}€?ï›H^kkÃû²ËÉϺÞ_Žã¾îum¾Eý¿Æòxõ-l½·3o·ž «rxù þå~­Dù_DØ©¼Nð”N¡$Ù O¡¤SÍÄS:…ÉK>MÂï ¤µÝy<”õ!É“LØCO„QÓ Olæp„§ÐÄ;÷vb°‡ÂO x;ÀÎfNÇÎÖÕòJÐC‚ã/±%M^Ò6m‹¤É37m_S?õØÃ¨ó%¶î—WqEFSƒëS™ô¦éñz‹Šìo®v pfsÂÜ uQPÔ®w`æ¥Kšlߪv½„½¿ÐMé0}ÐùÄñp'2Gfð'àcÿGÎnÈ9Žû'l3®I¡_ ‡ï+¯ó`çwñÏïÄðÜzn›íõÜ}?®» Ckqѹ¸ñŽu^We¶¼g?çÏ{Ú=xâQ<ùÆñPµýqÓxè<þˆ=Iתê€: ¨‰u@þþmÔElž{#:)¯Ò³?°hFv÷•Þ ‹`Uˆ: ¨Å;ðé Ń»¹—ü_T›:Pš'ÿ\ÚAr檌wÇI¬ wÕ ÄÆ^‡\wðêßÐÒ‚›¯Ã´3¼ž&à¾ÙR] C†bÙG^O…¶àFŸNo÷i犜¯üâAx§{ï‹Çÿ„ë®Æ#µh ¨ê€: ô ¤Æ¨üxE8ÒEl2ù–I¾t:ÖG<È9;€oøw®òVPècõEPÔ¸X»&o×z‚#® Ú{y&îŒY¯Ž‘×ÈM®…ô¯¿è8ñ଎×Hop—ÊݿķüÓõÃðá,ç8þö×Ö¬ƒðÞGøùÝø•–ÉlµÄñëkSpç½øÞwÒRXt]ñÚ¼VŸiºZPÔu@Hš­EF½§Åj‘Ñ¢6NvÏøþšÌç3Ù§²¸tHæÉþr h}S[Q4 ‹"õA /¨ÓÛåE­ Fóšnnw"4‘zâe“¡ã%Œ—Mä•ïØÞØåu?¡<«%41³h°²Ly&m@(~SIHT‹DX¦<`áÂ…£F*ŒT>aJâeK !\æ| 6ç/d·ÙÌë¨.òFˆ|²|ö¾eCÍÊŽOÕ­Ò²ìÍÅâ5÷ü—^ÏNÚoÄïWÔrüI‹ož•É‚?»âž_­Ùº±­§°ª°`η°ª´…x Ëa“-˜BØÉrMCâeþx ãey–cÁ4§˜žxÆË–üÍï|ãe‹Ý½Ø >ß„Ëëu›£òŠŒ6ÔaH:W]*ÙXѪC™Sì\L<õPHlQå™x"¤áL<ÚBùÌðe` šÆ5I$œìáߨb†ÂkméAlôÄ&/Ïo'tê!±™3"<…&ž O¡™Nb3ñQkƒ!¥›ü¤‡BÁ!ì¡9œÍÄ;ùí„”îä'6'ÞÉOþžBçp±Ë#¨zL¼Pðò%v¸µ2ä;‰ÐÎæ´Ëü¯k0AÃQhòa­0#b°‡’¥EF Ö™n“{&€.ss L(×n<3wËðáµ*"lȾ*…E¿ƒ­=ƒe£Ùü§“ö|Ýös¯@fU5¾{)ýƒ‡—J™»ìî¥ê3xgq+Oá)ìX^m(¤t %ÏNHx %½ÐsÄQX°‹Vãôo¶©)¬-tQO»ð÷~Ay µHò$O/¿‹×x?]Ò&/ $¶ñíäù8ê!BZK¡s8bsâü–c!˜51ØCI!…N¼`g+aúvBãä'6'ÞÉO„N<($¶¤É=¤ôSèÔOlN<ñS˜4yæth¾¦~걇QçKlÝ/¯ÒŠŒH nHÍÇ@‹ŒÊîVd“¢¿nÏ“{‰%ü0½Ú# °HN…©ê€:P´Rg1 -!2’`Eej˜û"¦O|K^#·¿ŸéŸo×w¼v‹àÂÉÐÊåËÒ‡î‹Á)ì²Þù—·â¹§ñÉ-1 …¶Çß^Âö¦Å-Fá¯/ ªªå¹gJ•ý ÜòÈkÙíèãñû§ð€|—£MPÔu@èHÑ\KªEOpô‚m¥Õu@èƒ\åŸ5ÎOlÙ%‹½Kää’¸YÀ}ù^ýÝ— !ÇòmѲçf±©÷YmM›bÆ…K;ªT'Vø‰Ák©AÞ/îÆŽÛãØÊcÑlu@PÔu ëHÉ#Tr9)¿!g7ôG×û­#¨ê@tJRCô±4£gx"tMœ(8xY^ÈÅùþM=£JGíR¾LAöÑ,öõ¯‚”’²ð4ðÿië]:to Ÿ|®»EžÓ¸haË}sÇbñ"¬ˆã\IOF‡WÔu@èëÈmÜ)¹ X+ f”¨Ó·æm¼l2—¸7öË-¹zñíyõÓÛ¡Õ±0>.yÎx ãe‘ñ:Ù¢?'¨酭PX ÂBi ñ²‰†x ãe žÔðú[8u¼÷VU!íù"æê=«} ?.¡°¦ÌÍQxƒÊŸ‹mÉ ";¬Søëv¨_õÜ’ºÝêWÍ["«¤gdc&%'8:ja=­÷úÂüaŠì/Ó=s”¤Ò››)4#ûZ›„ïé)‹¼3Ûù}ÿ@ým¶?©¶m¤…®&”ݵ´½qÞ;ÙáZ§õAEÌÑK˜ïÎþäF¬_s¿™úýã# ä²P[8Ý\Ž—0^6QëÜÛÍÙ{âU/›(—0^¶J“WióMøÞÒë6G¥=EeH¿zï)*©}ŠŠì«Žrßm'€®ó mŒÄˆO7z7$ô[ ˆP „ïÙ¿¦»<'žÒM¼}¾Ît›9\ÔâçDHé&?é¡PðDH{hgg3ñN~;!¥;ù‰Í‰·ó;ŸÔ`O7GWžðaT=&ÞNh⩇B;›é¥S蜯‰ç:I„r·ÂÏò•›WЧ2 õ.æ·Jfëâ÷RrOD‘{hâ‰ÒM<(¼ÐÄS½¹›ðÀžNkË—G„¦<ØCÓ^"¤tO ÍùÒ)AÂShç”çñ—ù#£æ›SHžÐÀšx"ŒšNxb3‡#<…&Þ~,˜x"¤Pð¤:ùílÎts8;¡‰§ ‰­=vBZ•?áòd:¤æK¡súÄæÄ?…I“gN‡ækê§{u¾ÄÖýò*ï)*C†§Ç6¤7™ÞRoQ‘ý­¸vð `.ªò$Ô¦¨]æ@éOjè2IJ¿—äY ìä×à˜ È µüÿë¼k:‚åÎÚ¯Äè€ìlù²¸­×É™¸|YÜæm×Ä8”“Ê»<Ä¿7xµ‡‚ñoOxç PÔu@Pz—R†©*¤õGïÚnªVPÔ>äÀzyÒvët†ÌlÀ4@zŽNì|Žùÿ§µý§®s¬®Qât }Y\\ë?9>(‹{ý¢8R.u@PÔu@ˆæ€<Vš÷Ý—žà(Ú9)ï° –Þà-H¨MPÔu $¼¯”ƒ&Lñÿ"õÿ(=ýeyÐÆ[%‘j’:Ð¥PYÜÉ¡²¸ç×wéÈËÕO«y-¾•RºauZê€:Ð×Ï’Þ#Täü†|–¤Û“úÚ\ã›ÔE[pÙ{8¹¹Ô¯Rç­Zç*oeŠÝÆæù šÆ•L[fzÉãjbà€úß—ö„æùÍm'5Êž˜°1r–-ª78.;À¾¶7Q´VÙåFLl\úç#öj\:Wþ°4IÏØ-šR: Uq•æí€½ÐuâülEñ‡€wÔø)s¡Ù»VÒgŸ[ßLMØ ÿ÷.Ø#NÖtM{Ôu@Hž³gÏž2eJòt«èì©§ìºÛîE¢wÙm¿Èèàtª_5j¼,*‚)”t:EbOwGlN< gâ‰Ð‰'…Ÿó?# A#€=”Ä.ÏNH£›z@lN<¥›x"$<…f:ˆÍÄG­ F„”nò“ O„°‡æpv6ïä·Rº“ŸØœx'?ùOx ÃÅ.£ê1ñvBO=ÚÙœv›àí„&žz($¶ôØ imTþ„Ë+sÐÁeΗä§}mùòh8S졹õ‰ÒM¼ð¿ÂE¡²¸Ë娬_÷'þBá%çCâ§PPÔÓ©¼<­‡ÿ¡‡¼éÄ&€VÂ| ò´—ß@!É“ ØCO„QÓ Olæp„§ðÎrׄw† …$€B'¡Í™ng'4ñÔC!±• ÇNHk£ò'\žL‡Ò|)tNŸØœxâ§0iòÌéÐ|MýÔc£Î—غ_^å<"Õ82½i&½…Ü<ªMPÔu@PÔuÀå€Üå1?yÐ/‹û eqåîªnnrªE~"µBJ&RZEƒ[Ë]÷ÑU´:yu@Pï@*íMk‘ÑÄo)¨¨ê€: ¨‰p@ŠàæËââÊ⦦J„<¡¨ê€: T¤r1bp›E*—Ò"£¹ è¤Õu@PÔu x …'îƒ÷iËü 7¤<ƾݯx&Eªê€: ¨ê@¼È_ã4äÔF æ BQ«­­]»vmÔ¬Îðñ²É(±.\¸pԨؾ«‰]^¼„ñ²Å¾9œò6Ï.üw&ÂÆ"¨éæ^M„& RO¼lÝ¿9"MVÀåû1áî%sÄk`¼l•æ^ùó¥ƒËÜJ²l_[¾<ΔG€¨aWff[O‚DUæã;“W2mg„º¨´v¶f/a¼l2çÞuÊñ*Œ—Mæ/a¼l•&¯Òæ›ð½¥×mŽ9sæLž,û*±õøæ˜1}j¤"£ƒûÕ×ap¿T¿t‹_ m‡Jìl2¨…° )¼à$ ƒËñ²ÉpνÝ)‰ñ*Œ—M¤ÆK/[¥É«´ù&|oéu›£Òž¢2¤_à ©JUÕ¤ü·S•×H¡ll{‰Zb<õPHlN<¥›x"tâ @¡ðëSTÄ„B#(õØ7Ít›Oé&ž©vº‰'B O„°‡æpv6ïä·Rº“ŸØœx§½ =:‡‹*ÏÉO„N<(ývBO=ÚÙœv[WË+A)Œw¾Ä–4yåo:¸Ìù€Ü¶¯-_ gÊ#€=47Rº‰'…Qçk¦SO§òò;!¼=tÊCžVA³’Ú¾¦~걇QçKlÝ/¯Òž¢2 5dDzìHyŠJõ¶ZƒCö7mê€: ¨ê€: ¨ñ; tà˜<­2eÝà<"ßÍÀöùUú[PÔu@(Ãÿ/L-Ðe¸¨©ê€: ¨ê€: ¨v®jÚË.YŒÛj`p_[¿.©ê€: ¨%;NI•Ñ\-z‚£d5QPºÐ‰;cÖ«cäU›: ¨ê@ïvà à¼Ð ^6×§†úuQPÔu@(Ñ9µ‘KÉ“bå<‡yƒPTÎxKÂÄË&s‰P‹ŒFÝCÂøx7G¼læÞR~i±xÆËfÎ7¼¥JXŽ*Ïnï_Èn³^ §Ž7n/Aœ¦¨ï@¸¦/}æÁK2ϾVÀ  Ã<_Ü»š|P gÉr¦£â£„1Csû†1Þ-$ù&Ÿó‹¥ÿÙaÂ_·Cýªç–ÔíV¿jÞY%=#3)9Áá7»¼¨:âe“Ñ{{Ï*Œ}¾ñÆË&VÇK/[ìòb'Lø|.¯×mŽŠ+2ZÛ e8ªs5ÕZdTvV:Åco/7åL'@ÏÖ¿qNŸä9ñ4;O„„§ÐL'±9ñ”n≶µ‰'B O„°‡æpv6ïä·Rº“ŸØœx»½ríÆ3s· _ÁAz(tUž“ŸxP(úí„&žz(´³9í"¶®–W‚Rï|‰-iòJØt¸QhΗä¶}­È³ˆÍi¯)ì¡ÉO„”nâ @¡àí„„§ÐÎÎfâ‰Â¨òœü$ÏÄóI’àœÉEÀÏüº’°R,“_À àâhîIMB§<ÂShòÛwfO„ ž€B'¿Í™ng'4ñÔC!±• ÇNHk£ò'\žL‡Ò|)tNŸØœxâ§0iòÌéÐ|MýÔc£Î—غ_^¥­K ­OI‘Ñ-6Io§·¨Èþ¦MPçÀÜ1}â[òªMPÔu ×;p9p@~¿vòkp̾˜ïÔßê€: ¨ê@©äR¹\©t.—Ú¨'8JuQóÔu@PÔu@PŠq`=0½7df¦Òspb1ÉŠQÔu@Plx·XÊmÞz‚Ãf”®SÔu@PÔu@(ݶzòÀ¿¨HÿÒØÓ_¼U:³fªê€: ¨©\JJ;åZRéª*-2y¯ˆ·ÜT êT¸¼ò·u¼ÆË&»~¼„QÙœö:‘ŽÞ¨òœä 'TyÎ-h$Ü=QU!Mšl ¯ìkì¡=4åÙñε 'ìíò¤†hÛI çÆˆ¾3Û)cw/ÞYÄÇ«0^6•gß»œkus8-²îž(Wa¼l¦¼J+2:´_ƒ”áH§´È¨Q {(örSÎtôlý™é¡ä9ñ”nâ‰ðšé 6'žÒM<Ò¶6ñDH¡à‰öÐÎÎfâüvBJwò›ï´—¤‡BçpQå9ù‰Ð‰'…¢ßNh⩇B;›Ó.bëjy%è!…ñΗؒ&¯„ÍAG…æ| @nÛ׊<;€ØœöšòˆÁšüDHé&ž ÞNHx Íáìl&ž)Œ*ÏÉOòœxSõ!­¥Ð9±9ñN~ûÎ\?)$:ùílÎts8;¡‰§ ‰­=vBZ•?áòd:¤æK¡súÄæÄ?…I“gN‡ækê§{u¾ÄÖýò*®ÈhzH}z쨪-«·Ö²¿iSÔu@PÔu@PÔu@PÔÞè@*•J{÷A¶H±Qmê€: ¨ê€: ¨ê€: ¨ê€: ôNü*O@:­'8ºu®Ïáý…YyÍ®ÂiS½¡ßžß,ẚ?Â×Oóz=ï/Çêþ1“Žôz"µ¡Ã6>ð(þ“Ã[`Ï}°ËîË_yÓc{ý]ìw ö?$[y$% VÔu@PÔu@PÔu@PºÚ\‹Œ ×q¤ôG4«'îŒY¯Ž‘×’Û˜Q™šÞß¿¬•CÂ~)L>W]ïõ|kfœ¡ýqÍå8ý¬Èã̸xÁo~…a5øÖ¸å.ÌúéÚ ÏÅZÌ<wÍÁig–EY&¨ê€: ¨ê€: ¨ê€: ¨]æ€\¾‘F*KUmDŠê¯tÙ =FÜR“{¯å sø¨JD46Ï/GÊ­o¦&l…ÿ{ìÑT\¯±Å8/ñ“ŸþøŽ{—î´]SГJáS;­8ìÈåß=¯éoo6ïöɱkV§ Þø—¹ >½u´žû{ó£ÿÉÇ"»ÓNñÚß:ë6ü÷“ „rÈK˜r¯N)soéÕsKü‚¦qQ‰½–µ’åtƬýê€:@ÐÑD!%´ìkéæpÚ£$ÖçÞžXå*LP*ÙÙ³gO™2¥÷:pöÔSvÝm÷"õï²ÛÃjGÊSTªsµÕ¨ö²¨Êk¤PÒé‰=Ý9±9ñ4œ‰Ç%ÀNÀ²ÆkT [zˆÁʵÏÌÝ2|‡Okån”àçÕ8úxOO¡G~p¹'fMÎëš,ƒ=”,I9ëÔôÃg÷ÄËo´¥ßy<Ô[[hÁ²0öÍA„öÑEª@lN<±™x"tâ @¡ðÛ OaÒä™zH0MVðt¸žÖšü t Ít˜ò`M~"¤tO o'4ñÔC¡-iòJÐÓ¥ó%÷’&¯„½…Ž& Íù€Ü¶¯yv±9í5åƒ=4ù‰ÒM<(¼ðšÃÙÙL<RUž“Ÿä9ñ¦ê!BZK¡s8bsâüö¹~RH(tòÛÙœéæpvBO=[ zì„´6*ÂåÉtH!Í—Bçô‰Í‰'~ “&ÏœÍ×ÔO=ö0ê|‰­ûåUÞST†Ž¬ÚttzËÆô¶}ÿ•¦[›°9°Nö«ÚÜ1}â[òZr“[TvØÿü_<þh+‡Ü¢"?Ûm똶b5Ôy u½å¨mÕzÜv3֯à Ïb›­½ìÚþ¸éN<ô+×–EUŒâÕu@PÔu@PÔu@PÔ.u@¢’ªN£FîUéëmùè ¸Þµ*þå*I˜î¯ãÎ[qÕuí´dFaÉb¯ç•¹^Ñêv$^{¥¦˜àùÿ‡cükCvß} »ïõÑãÂuW㑇¼ìy¯–E^ŒÅ¨Is`ÿƒ½K¥öÚ×;ÀÂ×LIÅßx¥n3 Vx”C‡Ajý¾½0Ôú•ž/ì¿ÌÍJ¹_)ú+Õ{¼‰…VX.è/¬Òu@è«üÂõ `….¨ê€: ô.¼G¨xn¥ðC]qøø¶<Ø Ít÷Øf;|ZîñÿÇ%OQ¹û—8ëT/”ë/n¸ ¯ójŽ^{¥×©}ï‚ÑG‡søÉ8íD)2º~]ñÚ¼Öÿ×ÝsWYä‘”(XHˆgœ›oÃq'zDL r9UŒ §—½çŒìQþø'Z¿ÛŒÍµ~¥ççàÔ)ƒ¤püQX[Xå©$u@èR.ü¾÷Ö¼ƒué@J®¨ê€: t)lLËù½3æ BQÇ«­­]»vmÔ¬Îðñ²É(BøqzuõêÖkU6Ï.ü·\,QF+Ÿ!^…ñ²‰àx ãe«4y•6ß„ï-½nsÌ™3gòäÉ"»´Öã›cÆô©‹ŒfåF¤ÓÕòÏ›2ãˆJº½‚ ±9‡#¶ªj\~ìý\q$<îëx9äJïÌǤ#Y¼ÉO„¹\èÊlAGœ¾àíå¦h¾šÃ‘<'ž ¿ÐÄS…Äfê'<…&ž O¡™Nbsâ)ÝÄ¡O …ßNHx “&ÏÔC‚i²‚·,´Öä' G¡™äbŠéÈJ¯ˆï®ö¤×fY>øpȵÙký¹5l•ÿ&ñÏf¹Ã »~/ÌóR^“K ²p]÷–[·6ß Kü¼6µ~Ç6 jýJÏòh%WÞ»dYš©Ÿ $…&ìl¢¤€f„Á²I.=v› ƒF=›¤Àšx"¤tO ‰-jº‰'BÎÄ€BÁÛ M<M›ð€íkéÄÖnú•ÀíÀx¹à JR7ŸT[ 3ÈN+?r!¤|6OÒ6ߢáÞ_cùF¼ú¶ÞÎë9ôˆZ¹;LŽ>9÷;ÐážàÃüÎPd`ÔtÂÛÙœzˆ­3ybš¼¡4 o¼'Ö¼…$O2 `M<FM'<±™ÃžBïÜÛ‰Á ?)tâí;›9;[WË+A Žw¾Ä–4yIÛ´-’&ÏÜ|´}MýÔc£Î—غ_^¥˜>:µEcõÖck_dô‚™øx%6‰ ›aÍj\| N;3ÎÆÐþ¸ærœ~–ì-ÚÔu@èØ~µ8ñT\ö#ïÿ?ÌÀ×Oƒô˜í·¿TÆ‘ó½²ðßzÿ«’¶ÙX<õž~ŸÜÞÇáé?ÕÿÏcþ:ÿeÏ}]w ž|C¼‹BÚ5©æ+÷š­[›*Ôú½ñvìÿùÁrƒÌ.Ÿ†dõx“s2êäÎ=ô€5=®F¨ƒ€Ç£‘ùNoÊ™Hàÿ€©À´^¿_~»C«ä¤~)¾?®ô‹[ÿÝÅ?¿Ãkpë ¸m¶—1ë§k/<Cj1ó|Ü5§CŽ¾Ò™“‡ÄgýûÝ3zâQ<ùÆq#¡¨ê€: $Úüê^¥ÑÖ7+÷ø“ð³[êW¯Â’E˜yŽÿ:¶Ý¿š#ÿsÀ}w·Ö°H¬x¦¨=ëÀäc½‡u7¶×$Ë_ýZ±ŠÞû{íååJá io½ÏíýѾû·¥_sÓÚ;~Ši§·õ–þüG¯Öo: Ö¯ôWUaÍš*YX¿C†€=¶0o¾zìb9ÝsÒixíÕ“¡«í‚Yröá‘v}4=1R¹f:÷S,ÛèßÈ"W%¼ú7´´àæë0í µë'2rúRž/öÔ¼/Kúró߯äS^1mï/x”½Ó\ V1ê€: ¨ê@¢h‘ -H¯¯Jú ޱX¾Ìû_AФ&à Z¬õ¿p\ù íüûœ|FI¿‡õ%%j’: $ÉÓÏÆ×¶ ’eé)²ÍéÔ4ç$–ü/a9lÞý)~ °)‡Ðô$^6á—0^6‘gßÛMœ=ñ*Œ—-ù›#ÞùÆË»{±&|¾ —×ë6G¥Ñoô ô°Tº¦ºÊ¿uœŠ D ecÛ+¸›à©‡Bbûî¥^mÑuøÅC¸à»8äp<õŽúªkpôñøÃ³Ìfò!v†¿ÁûÙZ°~k_utà¶õø2°wëJ’'½örS„§PÒ©‡äÑZïbÝw«ZÅpºôËÚö··#À{ÀͤûÝ4"…íØŠÀS: îâ½ÅŽôPhâi¾N<(~;!á)LšáŸÐ/ŽñŠK¾1ËÖã Ã0UþzEF×ï±+^›çÕ–ŸÄ¶«¯Ç¤ýpÌ—.»¦T÷Â{®¼–×Λ††þ8l|ÓUú¤¼q4[PÔu@ˆÃ´÷?øï©-I?Á±qfÎÈÈ_ÙMcÏpþ9xøÁL¦µ)ŒŠG*ÕŽËáU,“Êárš#±m0™—àà C¥ô<ã¯)ŸÝŒµÒþß ÜêñhSÔu@PíÀ]À×;xr§å9¤0µåËÒ‡î‹ÁòТðο¼•r[YPl8x%|rÂ-Fá¯/HMâ–çäï~iíA¹åײ›\'ûû§ðÀ/Ê&Ru@PÔu ‹G¨Èµžr—kM‹TùïUí¥çã“ûUŸjPG„rÞ䩎ú»³o_` ¨x p¾1¶ôH¿4ÁRðÔ €H…C½ˆƒÜÑPPÔu aÈU™“ý Úëj>`)¾\ݾ·FM›bÆ…KËß y–+üŒà5rr»„_ܷDZ'´ëÔ@PÔu@H ré†ØÌ¥SËyLìçöÆ+obux¾y¿½iʃÙþ1ï,ÌÎý§¼u”`,óÕY’WJŽçBµËv•³]ÜžïäàAÛ5x@äÜÅQY9g‘ùl¦ +{äb|«%ó¹ÖÉfŸÉâštæÁ†V¥)dŸ•dîo-O€e›l˜øÊÙÏvt§J7Ì·‹íTúžtàß™Q…áÍcÍ^|Þ¾Vh€ÂÐ.ž&ÐáZít:~ ƒ€Ííëd°âe«4y%Ì—Ž& ÍÍAÚ”öµvˆ0ʬuß^ŠC¡ÀràŒ¸¶±ºyCSæ²9ßx éélÅ“Ï{';|@+|LèùnÄPþ›ÝÄ/áöžr½~=Îýfê÷ ºÚ½ðX%,Ç.¯œ¹Cýñ*Œ—MÇK/[¥É«´ù&|oéu›£Òž¢2¬vÔÀôðjôK£Ÿl,G½kªK¡¤ïø©Mþõ¡Ç#nœr¶Ÿÿ_·×ç‘SA¯í?1âå7í¯ÎÞA@R(x[è F,„RÓ»VÊgƒcáÇ,>±•ÚÿU :Yÿyí ³›éŒ7jÑÀšümò侘óýéÈwV‹Ún9i#”K6öò{ù—oøói[+·¨HV_o¹CáýÐÔÓFèÚ䇧t“Ÿ O¡™Nbsâ)ÝÄ¡O …ßNHx “&ÏÔCµåi²‚'MÖ:ù)½†·ýo; =BåµögMy„·‡ÂG"¤µ&ž ÞNh⩇B;›S¹È ñ o¼òˆ‡K¯Bv•÷&|ÞŲ’Í1{ìòœxJ7ñeΗø‰ÍŽðšx"tâ @¡ðÛ M<n›ð€íkéÄfÚESì¡ÉO„”nâ @¡à‰ÂShGlN<(4å€BSHžOé&ž O¡™Nbsâ)ÝÄ;÷vb°‡ÂO x;ÀÎfNÇÎÖÕòJÐC‚ã/±%M^Ò6m‹¤É37m_S?õØÃ¨ó%¶î—WqOQ©>ºvË1ÕÛlVû‰jp\ðý¦ž"[ _Ücšð‹ß,þËKØm¯§Ãö‰—­[‡ÏìÜnå×" )ôRO!T‹µk<ÔÊÿ`h]}A.ý›»oôÔ.ɸÎ*ŠPOæñ3Þ¼/üÿHx¯²LMž 'Y’+­Cá5TúŠW^‡&Ç…\}eª==à_ø,ä§MÅÖc±Ý¦øöwzZ–ޝtƒrÂô˜ÖaZ/ ^ø'R›Ñ¼­ÿ¹¤dèê€: ¨ê€:`8 ÷§äZ¼ï6[ZÊ{ŠŠ\IqÓøÝoû=.ã%‹ð½ pðç3§LÁ¹¡£¶é8îÄ–Ï}_? ²,­ÿ€!yè$ÒÐz°r-øç5êbÅêŽÆ(¦O.Üø_ÿa±Ÿ*Ý-˜?y£dX© zvG#Þ|Ù/.—WȲÙ$ëhÞqU§3E{ÔÞïílBÍ󛽯Uo÷×Ëd„÷¿©P³‹ä÷SÆ ܘ?ãMVÖv8}y0gΟ~Ê¢ÅàÕÕG<Ì< —àÃE8û„ÒPè£\å—)LN*|ËUí?Èìz¹„R›: ¨ê€: ô˜ò„X¿‡Wˆ£Ä¶÷¾xüO¸îj<ùب€B®?ìHH•;þœß¯·ÍÆÅ3†mXi§{Ë‚û~½XH |ÝmÚ GF!À¼Wq訮ñÆzí•Èâ³ã×µ^¸±=pyäô®M¸øñ:ü7ð÷ŽÆ‘ï‡ð“µÞk‡ßI–äÞ¸¤S@G¬Ú§ôvÖ­-z ÀI>x¶wÅÓðͼçÝÜï¦ôü7´­Œ{xý^“Ò»D~—ëÌçv¿Î¨¤?^¶Ø UžeÛ³*^ãe«´½¥×Í·òŠŒn20=¢&Õ¯JNsH£"(‘BI·Wp!6çpÄæÄ;ù‰Pž‘+œáF öPí妜é y´V†£{(x;!¥;ù‰Í‰wò!á)tGlN¼“ŸxP(zì„„§ÐœŽÍÄ!…Qå™üt,<Á€ÐZ'?¥‡Ã ’q¸GØøB29ôå'¸ E†ø—œâ³îŽAÛÔcƒ—4Múå6{y•&÷}|;X#wÖ{·å{r>[ìw“{(d`;|ölh÷J܆ƒ)ïTáj¯Ä“#«ä§Ãé{«1|³†v—†¨üµò"ò>\é=ü;ø9ãl¯Â¨ü|íÑN­×Á= É:ñ”nâ‰Ð‰'…ÄfGx M<:ñ Pøí„&ž7 ‰Mø @„öµÎtb3í"€)öÐä'BJ7ñ 8".~–OX.›A°þáö¡ðÒþð!~ %‰z:•—§õð?ô¯àW#ØÐJ˜Oa@žÖãò($y’A{hâ‰0j:á‰ÍŽð^®Ýxfî–á+8ìxJ7Cé!…DH¡É@;›3غZ^ zHa¼ó%¶¤ÉKÚæ m‘4yææ£íkê§{u¾ÄÖýò*®Èhº>S;¾±fBSõ'åk;mê€: ônj¬_s¶Í­ûä¡ÉëohÁtàxà]ïi”òØlä¯ÕhK),Íþ\ï_Fq*ð 0¬-)¬ïê…eo-†\/ãÊuérªåwX>}1Î䆙Â'Š¿³é&Hi&`…ƒd´œ7É7ùË}Ó,¿(I¾G«}ß¹Ëc~~–r0¼9ì™ïì¶ßrªE~"µBJl×"D¾W‚羈éßšk¿”¦WÎLE«ê€:зHÉe ¹–TKZúþ Ž–š^ô­­¨³QÔ’3á#9AÐ  ŒÜ¢²bÐbœÐžñi`¿|œÊxÒ¯0z¤_YpŽ<Éi ŽË¯ ~ øÏí{âŠDÉÛþýö2î2xãþø-ð1Z§P(ø2öKr'K¡ËX éOÞÃÒõ‹ñU©ê€:v`=¼³¢÷ú]rzñaÿœã[H<*'•е©ê€: ¨ê@9 ÅEåë:¹[£ïŸàxÿ[ïán@.êþZ™­Ãªê@h×$sl"ßÁNô.«Îfýk^‡Â‚Ú €ŸúeDýžÌ™yüf^,—>67ç SȾœâCc%w›µãÍ|!¯§Ð]¸Fãïò­r½<Ûª°Æ«<âÕðð›9ý_v4ýB².¨ê@áນßûG“œjÌ_¸1¶©_þ½@RÔu@PÔîwÀ»‚CFM§S)º=©ûµtÈks ®~¯iªw³lcóüMãÊ´|†rF×\u 98;À¾V¦)šìóƽâ‡RŸONj„{JXnžÖŒQhºÀÍÓüãf|ˆ¦Ynd 2$¥›•ÈSu‹)7X˜KEÕ,̺W/ØÿÚOûZ±Å èÕÖ9ÅËáSþ›9Jï¢5õ÷Òž ß™{éVSÙê€:0{öì)S¦ô^ΞzÊ®»í^¤þ]vÛcXíèAéáÕò@ת~^A‰J:"±§;‡#6'ž†3ñ#whô¾ùÌÿ§ƒJ£™x"¤PðÄ@{hGó¥tO o'4ñÔC!±• ÇNHk)t×ÍòœzLý¤öÐÎÎfâüvBJ7ùéX 6Á€i­ÉO„”N¡™ÞZPVøØ¤졉'BJ7ñ PðvBO=ÚÙœòȽ®–çÔC³3ñeΗø‰ÍŽðšx"tâ @¡ðÛ M<n 6á·ãíké4ºiLy°‡&?Rº‰'…‚·žBnè0¼»XúÚZ>†·­ÇGÙCØå™{@8n3¯¢°4â'6@x M<žB3ÄæÄSº‰wîíÄ`…Ÿ:ñv€ÍœŽ­«å• ‡Ç;_bKš¼¤mÚI“gn>Ú¾¦~걇QçKlÝ/¯ÒŠŒªªÕü¸¡ŸÜ|øÄ´ØÝ·Û¢kx…§öíYêìÔu@PÔu ×;påuh”ÛËÐöþBD¨u@PÔu äþ”šÚ~‡MU×ôýM'6áÀyE£u@PÔu@PzΩ]TÇ'úŒöÚ'zŽf¨ê€: ¨=ã@ Ѳz}nm×Ý‚c¿‚EÅ{iNjSíUè›çøŸˆãÛÖzK{Gø=R¸¨ 8Ì_~ø&ðº¿,/²Ê'y~ÆKJW4¡ÝØ èœ ü:?F~ôÖøKÀŸ}Ígûw$¦àÀlà ` p>p—Ÿ½çGyÒN“ÛÛm7þÑ)XW¨ê€:ÐêÀÀy!3^†<Ï×§†úuQPÔu@(É9©‘N¥«Zäa±©”yƒPTÎxkÄË&s‰0ÞrS±Ë‹—°|6²«|Âðþ/[Wì-ñ*Œ—Í9_Úvaçƒe˜ò@ öµNyÛ¼w²Ã´SY>¹À!\dTÂþŸ¬_ó÷%Aga­w„Ü>:“KcÑ‚ö)gqs?ܵ®u€û‘9+“=-‹ éÞ&¹*$Ì–=p)Nß™ÔVÙ´5±¸_¦…¼¬(.WY^˜yVÎL´Uò æ’«Á¢w³Øc8žùhä¸Ì¢?ÆÉ‡Å„å¡[7Ô.o;ǽ3‹ƒQp,à,‘7÷æ°Ûï,Ìn=n亵r–%r³L62—Ÿ/a¼l"°Ç 퇛)ÏŽ·¯•ùÚ²¶´­Üg²ž/âj)™lÊ;Ú®ŽÐv½®Àܾá 9Ø a®˜ë¸ èNDvX§ð×íP¿ê¹%u»Õ¯šç½KÏÈÆLJNpøÍ.¯“A:펗M†±ïÌêè|E¼ ãeÕñÆËViò*m¾ ß[zÝæ¨´"£Ãk7‘2U-ÕÕòXãˆJº½‚ ±9‡#6'ÞÉO„N<(=örS„§ÐœNìòì„N= 6S?á)4í"BÂSèŽØœx'?:ñ PôØ O¡9;›‰'B òhW7ù @òO@kM~"¤t Ítþ Ü Q¸:—ë úÓ¹I&œâñ˪AþMÂ~#ðmù%O ñ{ý[ø_JÀVû@Rh%Ã6߆mÙ€þÀÞÀ•@Pù"4º7àQý=ÁÁϾ=alÓ‘µ9 /—sÈén`Gï7VägêGáÜ Ã&Ïø;")öù›Ol&žxPHlæp„§ÐÄ¡O …ßNhâép#± ¿o_5Ý´Ë)öÐä§ùRº‰'…‚·žBs8;›‰'B £Êsò“<ÏïÁ;ÕEÀÏòo2+Å2Éóß`/Žæž9Í×)ðšüνì¡ð“B'Þ°³™Ó±³uµ¼ôàxçKlI“—´ÍAÛ"iòÌÍGÛ×ÔO=ö0ê|‰­ûåU^‘ÑúLÍøÑUÛ7¥ÿ«íë;ñ]›: ¨}Ùù6´Pë.˜gP½BêP|‹vXã]"ÑY› ÈôZ@n‘öå. utÅâ²·{÷ÈH-Õ_†F(Œ~ð\èß2#¯Á5!TëbÁßaùôŨ¦?÷Wö_ƒÿŠ˜‰Ú£¨ê@9\Ïÿ-°“_ƒCÞW¿˜ïÔßê€: ¨ê@9ȇØTËÆ¹&[[7:°>yª¼¼fWá´©ÞÀoÏo–p]Íáë§µIÙfȪÑÛÐaxÿÉá­°ç>Øe÷导‰Õ9¼þ.ö;û’}¹þc>&]3Ô>ä€wa¶àÊp¼üÏ ÜÙ~zOûå{–Oú·‹Ë‘{–ÿ¬‘7Ó€DBÿ9÷·(™ ÈÿÖr7ûqyöðèçksH…Ž/áÃ=–ÚÄÈ}ï»ûñOú´^R.g@´©ê€:»òÞ%§Sý6df¦ùïfr*öÄØGRBu@PÔŠs@>ÀÊy ïclÚ[ÐÁ‰;cÖ«cäµä&ejR8x|ÿ²V û¥0ùp\u}kÏ…ßÇ=`dð…jÄ‘f\¼à7¿Â°|ë Ürfýtí…çbH-fž»æà´31ãl ík.ÇéòŸ4mê@Å8Ð4.¸$:?á”_oBÞ œã½#zÿÿ ¿6ø-á‚7K/Μ™¤[7ã}„¤?¿„wºøûí é$±¼Š’Ý€Íüá¤Ç=©'8?ºNÈàŸ^¿÷º‰ü_bU»ª~Ò/àB›ÌüôqÀkùÞ0 ß§¿Õu@(ÇÖ“§B!÷Çùo2ý?JcOYÞHß*‡[sÕu@PÔÏùÊ/'bÒéÔÆtß/2Z3¨ßûŸ]4è¥AuUÉäˬmv뛩 [áw°Ï.¥Ô”Ë7‚:ˆÿ5qåÝ÷¯ú¯-3AO*…‰»üçKG­þÎ9íäã²þrä;Í‹¨h¢·õ\íå7²ÿýk|m ~ˆ3O®ûûËRÀk ™ =µtÐ |z›†5«Óƒ‡´<ÿÚâí7uÌ¢üz?T«|Â`:Ák¼l™pÂn–GÛ.ì|°LSˆAÖR3,²2_ÀC…îLyÎáývdftp¤¡÷˜Ø¹¦d1 †)Ë¢„zb#sEébäò–HåwÕ“#æfèå=ÿÎŒêlöC[²ìûZsPû¡aâ= 'ìíòäÝ£í¤†sc¸ÞúŠ h‰Ý½¨»k;5ñ*Œ—MôÆK/[¥É«´ù&|oéu›£ÒŠŒë¿I]Õˆ4úUUB‘Q\âßꙿòœŠEÉÎJ5`ì¡\»ñÌÜ-ÃWpØñ´VîF ~>\‰£—Á[àó—·#Qå ~Mgƒš~øìžxù6Â;ïÇzk -X&…RyžôáDHÃQèŽØœx'?:ñ PôØ O¡9;›‰'B òhÛ™ü y‚'  Ðä'BÂSh¦S¡;b3ñDH¡‰'B'ž ¿ÐÄS…v6s:”Nîuµ<§–g¼u—9_â'¶¤É+asØƨ󵳉<;€Ö:í*¶¦ÉO„N<(Œº9ÌtêéYy¦]vyN<¥›xû|é 6s8ÂShâiwuâ @¡ð“BPhê!€Í™Nl]-¯=¤0Þù[Òä%msжHšÊŸ>˜@$FB /Ø^¹aãºë]ýFÒy»oTf×Z뾟¬ûæ¼óÎ=£‘¥ÑÌœ~bÉ“): ¨ê€: ¨ê€: ¨ê€:°¯ÓI9Âѱë‘Q©X³¢jUͪԹ*¥‹*!{Ó—yAÒå‘]nBg›£Ë=à@„uíK[¿Ðtl‚¨Ð]‰löÔeNX¢0÷in˜1¬ºµ€:·…ækK¢žh £e#Iya¥É+ôåji´F˦¯–ÐÍçèæpûã^[æî‰øhFËfË«¸"£õ£ĆTÇjªªkÍ+Š Êpwb ŽØªkpóL´¬0k¦CBŸpó­0wY'âm~"L&³Êl‚ÂÒ¼»ÜåK¡=É Å€BáwÚxê¡Ølý„§Ð¶‹ OÞ†NGl¡xšÎÆa(ž ¿›ðö€<2œÐZ[(YÁ€ø)´ù‰ð~xõX¸Ú<.þïËT&“Øìé:åXÐ@„´VFQ;¼›†‡ò»ÙB‡“{¾¼‰G›7^y7>ã,ì÷åïüŸ'qç,YÉÉÚ=¤Ÿä…âi¸'ÂP<($6{:ÂShã‰0O …ßMhãÝ;#±Ùú‰ÐÍ&ÃÝZ:]FžÜëù?À À}Ñæ±ð"ð±wkd!ò©õËx·&ñéR²Al±å˜ûÅÒvüíߨlËÌ«·«DH¡fv&€ðÊêq³ÙxNa¡òBùI^(ÞÖC=DHk) ŽØBñ¡üôr Å€BÑC @a¨~7[èp{:7¡§ ‰­=nBZ[(™Ë“tH!åKahúÄŠ'~ ËMžåkë§wXh¾ÄÖóò*®Èh¬!ÛtDÍV£ë·/÷^Š˱á0lµ!V¯Â%rKà¢Ëñˇ1l³¬MP*ÙóÏFcvΚVÉ6ôPî×ߌ bÿ=pÕ ¸üÊå' b8mrÍ®ÓTºòåànàÄ_Ù+`rtCŽqH¥­ß¸ì‘òÞu1~®õª_}ï¢Oî»Cj1ãÌôŽÐÉ`ýhárPשê€: ¨å쀜Ç)ŸªRÿÊY)Nø~qgê•X´—žN6j?ý»ïPÖ²Uœ: ô˜rÇåfãá{lÂÊh£áxó ÔÔàµW±ýN¸ø óø©gV®!šy:p ð/à'Ì¿.nNâøV'«²»äöaíí¦ã+‡âo‘:ë¸}:Îþv ¢-²½Òeu@PÔu —9‹UÅä‡w/•r–>f–~V(7‹÷ÌÄÚ¶ OÔu ¢xð^ì°5Ž;1Ä„æ9Íæ²‹»Ò°$¤Ì„é9ÆëŠÄ‡‰ôº¬¿H? žZz"ñ=k- ároöÓ#ƒé<ÍKG´›Ÿ¯¥sž¹$ q—Ž„?nEó9Íéaæo*Y?ýæwoÓã 4«oMd¬³5Õ×áø£ÍÍ­rÆ6àŠ«t¥:•r(-÷îc9Ä7ßÉéÈ>mIÈ…*÷þ çx‡3cþ\³^ŽqüåͰÒ>Zˆ!A“Û«Éõ;«’xw&të‚: ¨ê€:Ðk©t ]n¦br”s›;ƒ‡˜\6݃ã}ùõ¦Ú` ¡¦Ñ)Ôu T>˜‹Qc°p–yEyBès~ãËS)Uø7è6ïz~?ø ävS¦Å`ðRÑð,à,œ¬yÇ8|TM¨„p6ð201‹ÔŸÎÓ¼fú"È ’¤ ÁrÜñóâFê~Àù€|<ÈÒ¤?Kn!_hôö3½ìü±Y³Ñâ¤ã1ýNw´àƒçRÔ¨M7“M:ØùK¸éo£å¹à¶>ÑÉØ·€í;éö»ä9$7®¿¾ßt$aÄ(³ çtL»Ð,Tx;ç<œ÷] ꃮÆ]'ªp—4}u@PÔ²uÀÜV>Ç’ÕÕU1ª¿Rn¢Ï>¿YÎ4¹sú˜k¦òî?ñþ»õ/<ëÅ|8§y£±M… ÞxΩ³¯¾¤éö&sãX¯ÉïºMY<‹šÖ®¼q~6¸é÷ùÕ¥—BM÷˜7ŸL¿œ2¥?N]ÑtDÁoJš`¦þy?ܺ2¶ÿðä‹-c6mеåL'Reöø6£ë—eŽS7Oš‹kÚñ8šÎjj>hq¶éÛM.Yc³SË–÷ÖûÍCú¦:Ž;~Àu7/ïÛ—]{â‘1Ù0].CB÷Ö‚4‡²9¿y¥y³qf¶söQM>ºŒØjLírùüÒI[³AG⟟Ò.ìãìO —_Ýü»—ê_~aØÔiŸl¿#Nš”Ùmmp'“­]’éÏb¯}qþÙu×ÜÔºûvcV¯Š Ø ýwoÍÝi³Œ!ëE®%%áx1—Ä«ƒÕu@èNfÍš5yòä{¹¿;uÊn»ï™ç»î>~pýÈ~±†êê:ÿ*.ßME_Ý¡ÌJ‡HBñn±ÉmSî¸ÇÜ"aÞçøÝŸðÛ?dÔúgW›è¡"ÄžƒÍO²òüèàe^ÿ-p$°Oª‹Ø¤×]O›ðÊpê!y´Ïï·§Äðpé—µ‚Éj9„€ù-=Èaóf!€;”dÒpËpPHl¡x3\~åû¢—‰ÿô•¦'݈¦õ¸CÁ» C‡ÀÍV„<2œ¦£µ6?Hžà @üÚüDHx íáüíI¾LÉãz-™ÞšÁ—¬`Á[oø¥g@ ,L|‘—Nï·_#/’Äà3aÀà-øO$˜BÁää+Ì'{_eARUÑ×ãsùóʳ¼ƒI“C;¤ÓÙ&õž&_sôø<~úÞ@Cè ô)M˜kzü)üuÞs޼°}AFP‚[(ž†Ûx" Å€Bb³§#<…6žCñ PøÝ„6Þ½3›­ŸÝl2Üs7^}kc:ƒƒø)LÉû°·p›FîëýÏÞÙZù´@ø­·õä æ@oünœ³¶Ó4œB™“ $€;´Óq³ÙøPþN %ÓCÇ!ðþ'Xµ¿Ë²›ØŠÐCüDHk) ŽØBñ¡ü޳ÁO I…¡ün¶ÐáötnBê7±m IDATO=[zÜ„´¶Pþ2—'éBÊ—ÂÐô‰-Oü–›<;Ê×ÖO=î°Ð|‰­çåUÚ]TúU5 «ÙtdÍ6cjËþ.*íkqéyq¹KÂÈ °×qÁ¹òòH59Ý´ˆÿ ;z'¥ËÑÝaŽeä¶þ‹«ÑžÛµ®¢ €œ‘;yN͹^JÎH˜~Y+AÚ-`©„ž;½³÷ƒL¿µ3‚@ÖwäM㛹9“†F_÷ô¾Q(Iè,>àе¸È»@Fž³¯R ¦›mÎ%A?@î s$ ç–%€U]L¤ÿœØÖ¯ÃhЋ±`L›kl”Ú­êÀ[Ä´ÿ-Ï·[ïv=èàæÎ×ÚŸ–-­þÚæ@»nƒÿ“3Êç¬.ÿ ¨.”‡Ôß<…烱£±lúÊ;‰wÍŽ,kSÔu@Pz™ò)7f~¹«êð ö"õz="±RïÏæÙLÅÁˆˆ#£©fSÿXndç}!jùb3Ã[;ÅC žZ(€ðÊØGxß %_ù=’ÏöþÌÔˈªÉÔr0åQNžý+¥§“ÅØ´!æWk¹S¦è‘7Óªñ!ð1p¬5üâ.õȱÑ}±ä£…©‚ž‚ä›K‚±f¼6u Üÿ 7.îDVâû Œóî ÛÉÊ ë’OxÒüç°Ô÷Ù_>7ã¯oAêŒÖÔâ°#ðö_Æézu@PÔu Ìÿ÷äÀF{ÖÆbTv(3µÝ&çPï^òíe´5ÅcVOÏwÈቿOÈ™¸ÀÀ'Þó¼´ÿì ÿ²wÁÈ×Ágì ¤™*î¯||8ÎÂñÀK07ªø9p:Ðü¿%øuVøøJ”Ë¡â6R·$lŠVÈA¬ IÑÐx<‘HRC4aÎaÈjwÀ¼‚o ›ykoIc‚~éxw-NL÷—þW¦¾xÏ#’gÙ£å­ {:`Ø'µ‰33Å[we韶ҼÂÓ-'»9Àιé?‚øˆ7Òãô¯:PN|Ù»¶ôËHܲ O{Âv.“Ó¸ÝÊIg/ÑrìdzÎ:­ª££ãÖ»pß/±pN?±—¨W™ê€: ¨ê@à@ÌÜCE~ 4ÕFí „˜{a×=—þôgk6ÞÍsqñy5³ŸzÀÁ ~xeRnìúÁpñ÷ëßøý ¹1[6‰”1¿êÆÄ^ÁÄ'‘Øc<{¸Þ'™ó).9ߌßwõåW-Z¿gÕÊjôÕÄ57að3ï/ÅožÌ)+˜=¿\__¿fÍ»?è‘_qå¦2A¸[îWˆ ?Â…×3³å°زÑ\ #ç˜o؆ז`÷!æô ¯%®5NÆ¿ŸJ–Ã,¼Ÿ¯ øŸ7Îy—ølÙÏ=ïGñáÁŒîÍñ…DK68ÕÕ‚›­«Q‰½–áòÕñ}ã‰Ù ü°O|ö@y 44 «n¥ÜK‡]1äß_œÂ®ø£e“Y܆»×ÚÃmyÂÐU.ÅõwµïtÊfÞßä¾'éfËK¯qý5÷j{7(±PÙ„æ­ó¿!3ïÈ&´cêP.£g!âׯ‡ÞCgìw’P èIÜïÕîw÷Z;‹ì]£½.¹hÊléßFÃLónìª'›°+LAýÑ–ÂfNLóZéï~]9PмN9£%Œ–Múrí4ÇìÎhFË&:£%Œ–­ÒäUZ¾eþjéu›ã¡‡š4i’È.®­óÍqÞ´©Ôg䀨Ðêdm-¼¯ÏtŒ#ÏPîÎ(å©jëpúwªäöéÒæ.Ã~_Æè1ÃäDÇÿÌO™)l~É.?–¢¡ÏÎÆ{á‰çÍÉBrì‰1!9òæìÒ>J¤hýðê[2uõ8õLCEj…zB ÌdÜ0h8…p—›"<…6FžüJ|Azöç1ÒR òûm»ùׄéåÌZY¼ŒòËu 0+ÓlÞ²ÿD )ÌÈK!€;´g$BNÞÚà Ol¡øÌpùx$°È»5¦ “p‚Wwv‰Y¡\·’Û2 ^¿;)tãi­ §7›§á ž '­µù @òl<ñShã‰ðÚÃi×&6O„Úx" Å€BáwÚxê¡ÐÍf§CÃɽî–ª‡åuóÞAî•›¼"6í­äg‰ù›ÈsOGkCí-QžÍO„¶~êq‡…nbË–7ñhóQjÁ*œq–t§šï#r·Ë©œÚä‚qç›3Üc”ž«o4õÝåqñBþ'’Äàm|ò<™©'šŽØìéO¡§—k(ž ?)$…¶¸ÙB‡[wË+B)Œ6_b+7yå¶9h[”›<{óÑöµõS;,4_bëyy•Vd´UÈšÍÇTo3®j‡*±»¸¶é(<ý8ÚZñú«ÃW{%©æÍÅÆ› oßä“aã³JÑÐï}gè-3qÊñXÛ!yþ™aB2û·ðIöڹɧõ{lÀ[ãBë

µœŠÄö«ÍÍSd™šàe+ÌÄüq­_á¡Ô+‘Ó—ÎO» uLäÈF šžjºÒaüi/L£ô¯: ¨ê€:Ð}l4o¾êêŽ×^-vÿÇú ¤(²oœ€fãaù1@›: ¨ê€:PæH Ž$«!‡7J:ÀQß·Ýçž®{öI“ñ¢øá…8tßø”ÉxH.¸è¬ÛÇŸÔñ?;áäÓ ËÒúôí’džO"=>mÐC€åkJº™ÙÒíæ¬ ÿІ”•Ò’åÓ¤ráµkRµEmUòyEÎ;˜±¬“Ó7|°|-ÿ;Úîjé`sj: ¨ê€: ”MãpÞE‹?zÝ zð^ì°5Ž;qÝ+Qê€: ¨ê€Û¤4 £1)3j_ ä¬Ýsï%Ó.h;ÿœs>äWñüÓ;‰K/À ÏÆ·ÜvùÝ÷¯ÜeËT};)5*åEe`}ŸŽû^x?™S7º©õ†Û>»ã–ª©gwÉïõñ™÷9`åYÓ–=Á,à×O&gžJ ¤ø‡¤f „Ñ•HÙ¸åÌ×þº†AóM9OiR‘+»—ßéx޶ÜT¶¼CÛWÜ»S3µEIÆg#×¶Î\\7eèày_:aª“Þº¤î”.DfË çpê­›-=&qlrÍó8à¿ÀtÄïy]Ý *”‰¢eB·áîµöðÈå•HH»v‰lö†.sÂå‘{‘¿üJ”×Ý›£Ìå±9Ü»säùº§s¯íî[„{¶$ê!í݇ð]…NÈZ/µñy6ËÒc™o÷!…‚'…p‡ötn6ÊO†žÖÚü y6žø)´ñDHø »¡yÓ°‡S™Lb³ñ¡áÊcë! ·@¡àÝ„6žz(t³…Ê#÷|y~Ä–¦âø}6ÞÀm6»Ç-/OÃm|‰ù?±ÙÓžBO„¡xP(ünBO{+ˆÍÖOxw(ÃÝÓÑÚÐéJ”gó!¥cã @¡à‰vÂS˜=Ýüå™@Òï7oøK|¤Éå¯Í/=_="F>’2œ¬Å@„Ú3!á)´‡€ØBñ4ÜÆÓË5O …Ÿ€B[Ül¡Ã‰­»å¡‡F›/±•›¼rÛ´-ÊMž½ùhûÚú©Çš/±õ¼¼ ,2¯ÙbDív£jwª»‹k6¢6fm’gi¿{;mŽ ‡Ç·‡—¼;zøÌþZY>m2~Àï3ϲ,«ääyöÒ¹Çv†-xÈ,[ÌÆû¡^‚T3Õ¦DàÀOcÙ07œí-K¶^âÀ>û÷¡½_¦_qÿ= =ìóK.˼u÷þä4u`Ý;0b€Ù§‚U] 2§Êç®ôà ¬ilS–…|ÎZ}êqˆ˜¦!rÂlW*´_PÔu@(#¤ G¬ ɪdñ8Ê(§”ŽÚ$F9Aº²ÂØ øK–²,=Úz‰{ï×K„ö~™~ÄšHD9îø“±h N:µ÷'¦¨¡ÈßLä³4dÒߌæ-¼âç¡$ PÔu@PÔîp@oTuÈTbUr”c}oŸžó JñÎõ=Oͯþì˜5^–¥G[/q ÏÍsšÍW‘»ÒY%MýÓs ð È}‹Lxnzmð÷ï Œ„‚ÿêbÓ-C¼ç¡„Þà ÿ p+ C¢h‰ï%°Ü#?1M—žËhLÉä=€T Þ‰#š»/µÃdq+šÏiN3SÉúéËm¤^ôz¼fõ7˜›H5q—M* ^y¤â¾_Šo½!FÆõݵK·tÅúåÀuÞí·‚œnôÞO¤"ÖMÀÍ ‚n]PÔu@PÔžv i>Ë©5k«ÖÿM×4áoéï$=í´Î×K¸¸ßÔàh¯KʳY–m½Äqòu©2!’oe æ<íIÀC0wVÚGît=×gÖš%¹ÝõĬž+²Êþùg}ËJy+•¯6Û_ë€3½!2°Ä& ‡˜Ë¦ðr®™Î× ¬™¾ÿðîp|pÆí0Yì“…È8ÈÓŸ-#Hdà/4Â(qàðþ©±ÙCr—'éw⸣° oü#©X½li.H#u`}uà7Y7—'ö)Þ\ÐÐÓIOó>ØÈsþ­ˆ!ù“¯§È¿„›þ6Zžµ©ê€: ”³Iù„ TÉAŽöŽâï¢dm ØhÙDd2^³à’¹ÕWmøÄÜy¤ôjØ¥3ÖÉBäùFK-[h¾…z¡<ÿ.*É “±czÿ%º9áæðäOܪÉè?Ë9 Ù—šKØg»†Õ_äwk3 ;­Ä•Ëã_ÉÜ/ ñD·×ážV"0|\\—º‚]äÉIþªøˆ¸\ð·`®™1qðbœ±6>!ӭʱœ¯™zF f¬Åø!xuɰ±ñX›9ç"[¼„ƒ6k¬_Z•Í™Hg‘˜°§¬d8H¿ÓBŒ5Ëé¹r‘÷ÖûÍCú¦:N™‚ënFk+¦M­zñ99vRXËN¶°‘] £%Œ–M$¯sBÚ[ÉÅÈå¹§s¯%måàžh=¢ß6 +_[Ôo÷†•ÿ0o#Ò3lT<&çLYÛWVy¿$™U¥´˜9€Úu“q?BüÖð·û&ÎL˜óËB(…4¤íædÜÛVÏø ¶Õ&xÿcì·k¸Ïy&íî-›¤-a´l•&¯Òò-óWK¯Û•v•A}F¨Z‹>5mu²±¸>6}u‡2Ü]¢–†‡NGl¡øP~¼àý8yµ0™FÕ°¥‡Ü¡ÍàÆÓZ{:Ê7O …ßMh㩇Bb³õžBO„„/të›=ñShãé&;¡xP(ü¤îЖçf³ñ¡üd8ái­ÍO’g㉟BO„„§Ðžº–DVøM>·ËãL˜bð?Ïx‘^ë¿3È*¹ÌÞÈó÷¹HÅý¬ªÂ°‘ñÔªôRèeâœ|…ùäCè?ðÞ©üéê/Èó@O°âØÁH¿Oe1b«1)˜Ÿ“Ïã§ï 4z¼þz|iH0ÖôøS¤Ö™?9òÂÞ9ïΗØBñÄfã‰0O ‰ÍžŽðÚx" Å€BáwÚxÚ[ @l¶~»CֆNW¢<›Ÿ)oþq1ð‹ôÞ!ç.5 Ö{—ø™·<åî>ÄO¡ ¢ž.å¥i ï…¿KB_pš6ï&$6[¿{¸'ÂB‡žØìéO!áåÜWßÚ8û 7ž†Û¡ôB"¤Ðf €›-t8±u·¼"ôÂhó%¶r“Wn›ƒ¶E¹É³7m_[?õ¸ÃBó%¶ž—WqwQ©nˆ×o6ºÏvcëwÉùéO¬_ÿZÓIM8=÷´Òõ/IÍHPòq@~xL— LÁ½b8ø9úMnÀ|˰_ÆÍIv“JÛbÁ6«áU´×ÙsèZ\äýÜ*ÏÙWÊøš…t6p)Ð3ÏïC⛠ɇ£Ë,‚ôŸ3Ûúuø¼–¸Æ6u âK¾’6áà‹r±¯·î•îÔ¿ë—oýÓvþ· {G7äÃzíCu u@(šÆúg“§•ƼRrDàWÞo°A˜^oþJ­Ù+Ò‡<ü¥CæwÊ÷¸_›öò(N*¹•Ï{Þ4ò<Ò[éü‡h†}R‹½ž±ÀÛ: ©µ¾ªi+q¾7Ê{ò‹w¤â9¦Çh:kÒnøcS8ý£¨i‚]ãT|ìå퀛ḃuiœþUÔu@PÔw é} ®ªŠI³/…íq9==áGñá¥LYhu4÷\e^P§‡åêmäòZZZ†/éåA›;Z…Ѳ‰T·áîµþpÊ·»Ã×­kÅ3J}¾ìoõŹgîÕGü¼NÊËuJ˜¸&yˆßÐ Þ!Õ_E„Ž©C©ŒŒ…ˆ_SŒ Ÿ¼Ð*‰Uw0ÔˆŽÿjCß[È@Ú5hmawÊî“ýæS¨Â®äMÛ¡/¬PZ7[¡É >ZÂhÙD^¡/×P¢U-[ùoŽhó–-r÷"',ó|Ë\^¯Û•Vdtpý¨þÕU±šXÌ»B…Š ÊÆvWp!6ÁS…ÄЧá6žCñ PøéÜaÈsçKòl= ¶P< ·ñDHxòÖNxb ÅÓp¯EFÅ“ ­óÍAÛ—6…"›{r†›§áÚx" Å€BáwÚxê¡ÐÍf§CõȨX”ÝÈw( Pâæ 6áwÚxÚ @l¶~»ÃPy$&tºåÙüDHéØxPš/á)¤é ÆJ_¦eðé÷´L‡r‡ É7MLéŽÝ0uûmâ'6Ewh㉰Ðá„'6{:ÂShãéåŠ'…ÂO @¡­‡n¶ÐáÄÖÝòŠÐC £Í—ØÊM^¹mÚå&ÏÞ|´}mýÔã Í—Øz^^Å­jŒ×l1¼n›Qýv\ÿ‹ŒÊëI›: ¨ê€: ¨åïÀµÓ1ª¡,dî³YÈPê€: ¨ê@¸Þ•¤±¤©ý­8ÂíR„: ¨ê€: ¨=àÀÔ)=0I^Sì½_^0©ê€: ¨ëÜdLN>NVwÄbkôÇ:ß*@PÔu@PÔÏÖ5åb„à(—-¡:Ôu@PÂ0ubÉX¬ª£½:F—'…ÕõՃȓ“8üåµ}’‹ÿ» Å|ðbœ±6>!Ó–ò7;ß„L=£3Öbü¼ºdØØx¬Íœs‘šÂ[pÐfõK3WæÈ˜°§¬d8Hß(ʲÇJ̈yo½ß<¤oªc´çí§- !€å¹lžCܰh £eåëœÐ½;÷°<·±KîÍÝÛ×¾žßÿòq2õߨ34to_ÙÙùh,½ ²³u ¿mV¾¶¨ßî +ÿaÞ¥gبxLpxÍ-¯PѲÉì¡/×u«0ò|£%Œ–M¬Ž–0Z¶ÈåENXæù–¹¼^·9zè¡I“&‰ìâÚ:ßçM›ZÐ]T×ê[=$VUW«3)Ó1Ž‚Bî.QKl¡Ó[(>”ŸCñ Pô¸ëižB;Èå¹ Cõ€Ølý„§ÐÆ!áÉ[{8á‰-OÃm<†â³rî†ü”Mgp¸ ³‡Ûbìò‡†ÛxP(x7!­ å§dCñ¶ê!BZK¡=P—ÏíòN‡N¦ßú‚Ïóû ÊbøeÕo”°Ëò÷¹H%7òÒ˲>³œB Ý¡ää+Ì'×Nÿq€§6˜Î_gÿ| 9ı§3b«1I¾<Áûé{o ïÿGàÓúqö²×“#/ì?Ž¡Oå=SúÄЧá6žCñ ØìéO¡'ÂP<(~7¡§Ý™Äfë'¼; •GbìéP¢<›Ÿ)O Có%<…ötëVž­‡“<ŸóÎ#«ý7“‹_¤——Ë+XVxo°—üb&=†Ê#<…"ŠzèÕHkm<(<)$…¡ün¶ÐáötnBO=[zÜ„´¶Pþ2—'éBÊ—ÂÐô‰-Oü–›<;Ê×ÖO=î°Ð|‰­çåUÚ]Túņ5Tm1¼nû‘u»d~úßµ©ê@ѼõG¹ nt IDAT8)ÏÚÊ×ù54¨uç«ôŠY˜ÃcÑwa V¹´ûeÜœÄÑcíе¸È»þEž³¯”ñ5‹ŒÙÀ¥@?`p_²‚ôŸ3Ûúuä;0n…¨ê€:àràjà+éõO_ôjpÈ;Ø—ÓúWPÔu@(ÚXUæÄÇX,©8Šv±˜ò ¿œÑ-ω•8mªaøpN³„­R°p N>ÍôüÏ>øëX•Ä;ÿÅ›ž‚Ú Áí?…Ï“Ú{í‡]÷\šÍvÐWŸ.5äïÎÁ„# "V°:°¾9`NÌ–rúÞÙ±êÍE867ÇW€3=±àìLØå’ y¹Ë•ù®©¿<êÁåY–ý&¿…úšåÐÇ´!ØX|Ç:pÌ¿¸K§B.ùha§Ó3é_u@P¢s Í;ëñ ¼´Ñ¼—Jº=)º)”IPÔu b0G5’ííÉX»àèéW\¯.7–?t?\~Ujj ëb˜t8¤”€´_<€‹¾õ¸ôÜ#ßd lç]2÷ñÿÅàZœómÜynºcM6Ûigâ¼ïbPÜp5Î/EÚÔŠq U4È7æ•Ò“~eJoÈé7ñ±q<¬ö.®ðΡHÒà/xQöræšóËsËéùÈBŸeêïyÃäy¤· SûÑ û¤;{=c·=€<ò¦­Ì®ê—‘'˜9¦'{`öØ4™þUÔu D2o>r‰œ÷ÕgIöò–7þ]"½WÔu@PÌ%ÕHV˱¤‚’˰KkÑÖ ‰–M2«P÷é üi@¿%ÕFRº¬èBAA¾íw^~ï¯Wn¿qÜï‰Å°ó®ŸýèU?87³9ãkŸ™½øK[ezòÙP~?ñÿű“Ñ2gžÒïï–z¦ùl`§ÍW¯ªÚ``Çëo/Üz\yä›ÃMXh)/7›ŸxAÏ%¶´´ žS€¶DB_¨?4ÜÝ„‘ì,ö¤¥ôäY™ÏŸ‚ Ý·-̽Z㈟×ÉžÒ)aâsïÕø àC'BÇÔ¡TFÆBį)F†O.§·Tnp·àÀJ¨8¨€û¿Qzk¢]£tÿÊœ°·Ë“wÌA<¶V´ùFË&òéÕ˜GB!hFË&Ò£%Œ–­ÒäUZ¾eþjéu›£âŠŒÖêWÕ«®CµÜ„Ü*§D‡<Ü¡ wWp¡á¡Ó[(>”?ò.õ¼[˜L£bQÒC îPð¤Ð§µr5Šÿ˜¿ß8Áè zdካsÄÜýþZNO¨Z¬Nâ;碶{ì…?¿Ÿî³ÉÚ ùˤBJ6T ·ñDHøB·±ÙÓ?…6žCñHÊÝJs››†ShË#Bñ PøÝ„6žz(¤dmý„§ÐÆ!á)´‡S¡;b³ñDH¡'ÂP<(~7¡§ Ýlv:4œÜëny¡zXžõÖ]b¾ÄOlå&¯ˆÍáÞÙKÌ—Ü+B1ÚåÙ›ivO Í×N=ëV^hú$/OÙÙx"$<…öp[(ž†Ûxz5†â @¡ð“BPhë!€›-t8±u·¼"ôÂhó%¶r“Wn›ƒ¶E¹É³7m_[?õ¸ÃBó%¶ž—WiEFûÇj6V·íðú×ÿKTšf4á @«¼®Ê¢É%*Ûl÷þ‰gŸJé‘KTä±åæÀ„ßêûà¶»ñØÃxöÉ‚5¯lÃÌÛÑÖŠ7þ€Í73óٖ¯A_)I(u ûc™³ž¢iSÔu@PÔu@PÔu@PÊØdÌ\›ëˆU¯­ÿ8–ŽX‹_{ź½ÓUÊa»¼ÿîžë¦çh‰Ç¢…¦gŸðìK˜~=ž¤r9ð.ƒ×ozç†ì¹ÞüöÜ{I6Û?þ†¯MDM-;oÿµK]¡¨ê€: ¨ê€: ¨ê€: ”¿æè†¨¬’{©$ËæK·Ù¶ìðyØèÖvÛ…ßûsLù6v’Û¤yW©È… sæã;rk˜Â¢£ðö?̲´Ñ9%ü>×ó/ñ“ëæß|Þ}ljÿû]ÛÈ¡¶3¾[fâ¾_bá2œ~¢‹Gשê€: ¨ê€: ¨ê€: ¨eï€|ŸN&«äQEF¥bÍŠªU5«R窔^,*Ú8ѲÉ+/ZÂhÙBåºuzX^èŽmWV‹Va¡þ„ Ž–0ÚdC_-¡ÙÑæ(7y¶þh–ÈF9(ßå[¥É+"_÷Î^n›ƒÔ–›¼ ù•ùæˆ\½í­_hO´ £e+â½Å¾Êsûº6Z£e«´WK¯Ë·ÒŠŒªÕ·ª¡ªªVfÏ¢"(…2Ü]Á…ØB§#6)ƒzóL´¬0k¦›ª¨_›Xÿ×°*‰wþ‹fñ6?Úe I¡;,4_b •Š'……ʳõ!¹Чá6ž O¥¼ìá„'¶P< ·ñDø…ïKÛñ·c³-1vÜ¢°öðë2†Ê#Bñ Pô» m<õPHîÙþžBO„„÷Ãíw2oŸ'qç,ëÝ@Žäf5b³§ë”?‹€ù‰†Áï&,”ßÍ*¯ÓóÄ£1w™y7>ã,óμpµy\,…œ­ÿGìÒOòBñ4ÜÆa(ž›=á)´ñDŠ'…Âï&´ñîØlýDè‹G„¤¶Dyv:DH³ÛxPXh¾öpêY·òBÓ'y¡xÊÎÆ!á)´‡€ØBñ4ÜÆÓ«1O …Ÿ€B[Ül¡Ã‰­»å¡‡F›/±•›¼rÛ´-ÊMž½ùhûÚú©Çš/±õ¼¼J+2Ú¯zXcÝRdtXmÙ½ðR¬XŽ ‡a« ±z.ùnºcÍEßÇÀz\z¹šC›:Ð}\pÙÂûîÆZ̸3gaŸýq߃¦"¬ÿè¾y•9~v N8ÄpÚäü)²H®¿Äþ{àªð£‹â}pØA8kZ‘l:LPÔu@PÔu@ˆÂï‡ÍX¬ºªì‹Œžð-üâΆU+±h.='œŒÝ¶?ý¸¹KÈìßšCÚÔîsà øÛ_ÐÑÛ§ãìocïý°ÃÎXÖ9‡H´•ƒ»ìŠ‹¯0gÙœzf9ÈYÏ5l4o¾š¼öªÉTîuýÂl<üàzžµ¦§¨ê€: ¨ê€:PþTû•FË\è˜QXúYu rx˜ ¼ LÌšCĤ5¯™¾r»¥þÀrû%à›imr£h9ŸÅ–¤? 2pÈS…^òÚo ÉË»ÉtÖ|9‹“ŽÇô;qÜQXЂ×ßNŒƒ… ŒÿÚÔu@PÔu@PÔu倹.¥*&?óÉ91»J¡²¢-ÉKlÓ~¹·ÝÐxÃí ÿù6Þ{GJrÔN» íüs~ð^Ÿ|¤áf-S_½ïÒúëͯö‡ËϘæ{Kº-Ó–¼m ®íe@º/ç/æ¬+ ÙlùàC1nÂBk•»ÙBÅØ"üÉõ‰Ù¿Í~~ØYßOì¸36Ù SNèÿÏ¿õß|ëU?ºêó#ͼl|*z-I'Ú3ÔS¨?¡äÑF›lžîýÏ>Kn¼½MŽ@ý`8g‹Ðæ°Ïv «ÿ¾Èß߃µþBâîõad¹–x"ÛëâÏΈˑás˜Ò§¬ˆOÈ™4ktÁ‹Ùš©gÔ`ÆZŒ‚W— µ™“,²ÅK8h³Æú¥©ãÔfmZ›ÀVdË“µAú4P„ÒØTOÖ£ôˆ¼·ÞoÒ7•×I'ãg·šãJß?+ö³ÃR½yÿÉN6ïA.`´„Ѳ‰îuNèÞÙ×¹<Ú´¤¶ y­;>;c!6òX?ÃàÛë>Ïü¢S!ië4Œ–0Z6-a´lå/^¾ êŒÖÀhÙÊsD›o´l‘»9a™ç[æòzÝæ¨¸»¨ôÝ·º¡ª£¶:æ}k¦c…²±Ý%j‰MðÔC!±ÉmSî¸ÇêŸ÷9~÷'üö˜³(çN4Üæ'ÂúípÐܼŒôNð–aéÖ‹ 쓊m~"$€;R¸Ùð<ð.p{Z —~Y+˜¬–ChhvG=æ°y³ÀÚüDHéV¹=œðÄЧá6ž7ݬñÉÌ:Þø6Ü{î÷š±2‰—^7wT±‡wzã ƒK7àeÈZkã @¡àÝ„6žz($÷ŠÐã&¤µÚÓñ惺òx@€^K¦í•NiKø­ÀðË*ÿ8§‡IõÈ·$y$1b«1ÙS„ê!…"!Ç@™ñäÃï?ðÔz2ŒZAžšÈèÙÁëLk“>’—âñÓ÷þ@A'1l¤Ò†=ÕräY/N;ê¡Ød¸CO„4ÜÆ€Bb+t¸'BšÎÆ€BÁ» m¼{g'¶BõØÓ!(´§#µÄfã3„Û §Ý½“›äü&9êQoßLÆ¥¶É)`I´&ñéR²ÁÐ-´„ÿkÍZ¹ƒÛ»s ÕÁ¨aF‡s‡!€›ÍÆÓp ï&´ñÔC!±¡ÇMHk) .ryôj,T'… °Ð| nã»U^h:¶êqË+”ŸØ nã‰ÄÛxP(x7¡§ ‰­P=ÄVnòìt(_[?õ¸ÃBó%¶ž—WiwQé[ÓØX»ùˆšmÇÔ”ý]TÚ×âÒóL­þ‘`¯/â‚s±Ë–ñà6²Ph3'nœŒ6ßíð%ïôï\Šþ‹«Íárh¼Î'Á©Þ’$‡f¤_ÖÊ ó‚´[(À¢=¹,ý¬êk˜;tìº >þ~ÿ2öÚ9Þ/†}wÜs¡õ äC®ãÈnǤ¹0MZðõ>ÝÍ¥hŶÀörί‰>>t-.ò.‘çì«TͳKå*@îc"Glå{[[þsf`[¿ŽÔ@‘> ¶ZÝCyEï”2ªž²/¼œƒøIq¼¬ð¯_÷ö”Ùr&C—FÉljº?×N7º…–ôœsÎû.õÁ Wc²u€£K^]¡¨ê€: ¨=â@¬*†êª™0¢IþôzDD󥪇Gå?GÄ%M0˜sùÉ ïñ˛ÞÚ)RðÔB„×P¨0äº S€CJZHó–Ò1Sùjt`®)‚ÿ+ðgànÌ¿ØÈè¦æ+{Ôc—gù†æ79“Ö›6ûz_á¾ã¸y,£M°.yrlt_,ùh!ü‚Ζùy¥&Ò?ê@¯sà|©|ëì³”ÇÇ#€œM.vk÷~á [hÉ m¶Çÿ>„Ö5xà^l·£“EWªê€: ¨ê@Ï: å7äÐÆÚªdkµ9A¹R›|“ñ¶ò=a¶ÝÛ³=rxâïÀÞ¤Wx'kÈAóÏÎ~i‚¤à³[( ¬Ëê@8Ð4¶)'K¿h¨¼ ü*Õ]‹'Õu!àïeóÛ¹é÷ Y5meè÷¥ô°Âÿ ÿ¿€÷¼ò,{´´à]ËÓ<ì“ZÈ튥s,ð6âÇS+-W^Nvs M7ЀÏõB¡òÇš.mêÀºq`ãÍpÖÃGÈsÁm²9òØeûpb—+ý«TîýÎù¶ÁÐ-´¤g`_¬YmV-ÿô1 ÚÔu@PÔu L[¨$Û;ÌAùhL—'å/ñK{,½âêeCó\\~Qÿßývè~%.¾b͘‘øàC\þƒüà後Ym£±M?¾®ùõßW=õØè¯Nüt·=;žxt ‘íêUÕ8ð–+¯oÔŸÌÃUWÔýßÓóf(fQn)·• Fî|“ º¢^x=3[õ°G÷]T-]óǵ¶½ÜR»÷ðÿM˜ÑüSãdÓ…©oh†â°ë+g¾‚Kræó‚ÈמÔÑ3·I¾r•o3·-­ñ×ìBØF5ωÖ!,dþuíjßéT™Q.ÅmŸ³ùìf ÏìzÁDfœ¦›rš«£Xèjê|¸K—GoŒ¡“–Û;I¨`”­ç?sÐ×þ?¹ˆ´ÆÊ* É.ß°Ó¨~ Í£v[ÙØ¾è­¹Mã:Ùg峊|>Éòê_šv”É»øŸn'àC³VfJñ3ï3EäËe?ÁS¿5„ÿ÷ Ž>Ö|nùÆ xåM•y&Âìtäm€›ÍƇò» ix(?±…âCù‰ð†NGl¡øP~÷¾S?)$†ò»ÙB‡ÛÓ¹ m<õPHlEèqÒÚBùË\ž¤C )_ CÓ'¶P<ñSXnòìt(_[?õ¸ÃBó%¶ž—WiEFûU5«–"£ÛªÝ©Jì.®m: O?޶V¼þêðÕ« Ǽ¹Øxôí›|R>šŒèœUІ~ï;Co™‰SŽÇÚ6ÉóÏ ’Ù¿…O²×ÎM>­ßc¶Ø:sìN_ì|–|{Eäùb»7˜êM"C·KŸÌ*¥ ƒJ—zËÒ“ÝäDz%c¥u Èë²: ¨ê€:P–üç_øîiqy.¸ÝœÔõ oȯ]ó£ÆÓ§â³6r¦JÍ)uu;ä£ËŠV\w3fÜ–‹¢Ôu@PÔu G³8Û;::ªä”€dñ8©^>oªÔ¹¾<£›ðàã å~®»Öó¶;|ÖÚŠ]ä&Yíšá“}Ô„ê3×Á’’éÅ5ÿÐÆ§Å îžQ/ÚÄ~KýÚ¢hµf‘C§"±ýjsóY¦&xÙ 3Íå-¯¡: ¨ê€:°>9ppp|')%¾™ÀaÀÕ¬’®ÑR&·Ñ-´dåà Þõ1Œ„çžb|îhÔu@PÔu Gè@2VSe*V•Vd´¾n»Ï=]÷ì“&E ðà qè¾ñ)“ñ\pÑY·Ž?©ãvÂɧA–¥õéÛ!$= ŸDz|Ú ‡Ë× ¯w\Cª/óÎélž.û–Žh7gmø‡6FÃÜ2¶|Ú-Àµk2µEI˜ÇŒeæT:}ÃG>aª¶ÝÕÒ%€5TÔu@PÖÖ{7 qO{ý½‡,ü?àb`?@Ý׆ÿç]ôº‰}–9æ1÷or´à²Ù‰Þí¨“H¼•0âý&k¥GV{ÕÇÓÝÙ×”…ðC²‚I³;uYPÔu@è=xÿCJÁýX̾@(Ï,öÜ{É´ ÚÎ?gàœ­Yc>5üéÄ¥à…gã[n»üîûWî²eê'ŽO[þÏ#õ}:î{xá¹gþdNÝè¦ÖnûìŽ[ª¦žÝ!$¼—*J¾Ï+Ïš¶<è f ¿~2qÿ,<ó„TúXpìdqHÈ)õõõ¾ äÜ_ ," ƒ‡¬Ïf[1´}Ž‹0uˆ¹5lgí³‘k[g.®›2tð¼šÎÖ#±an]RwJ—€NG9:³å9`ù¯Š–0Z6É"”°˜޹îôbËŠ/$Z>Š—ZU7›34ßlpèr´l2]‰„´k—Èf§_æ„%Ê#÷Jßd`‰òˆ­Ò䑯ûÝc}Ú­t|vÆBlì½L>08ßÑX÷yUð²éŽ|›olÆÐø«øÂƒáªöxú#P0iž ²ëIudùÜ’˜›Àäú†—.:x1~Öߨ|Ú vÌÄn+ðøŠøˆÔG  ?Ìšoöð`TW ¡l] ìª?ZÂhÙD³{ßé*)G´ £eÙÑFËViò*-ß2µôºÍñÐCMš4Id×Öùæ8oÚÔB‹Œö­ZëS]å}¦cy†/„[5ÿY¼Ûk?üù}¬LâÿbßSf [P¾ëÎY8ê›™j[²œÍàÚ—ätÚ³œr+±&iŠ’J5SR+³R˜‘;ÈÐf&¼;”±DèÆÓÚPy¡xPX¨<[R²¡xnã‰ðÚà @l¡xnã‰0Ï~qEüjé]¥Îl{É. m¼{s„ÏþISȉ͞Ž)´ñDŠ'…¶BPhë!@‰òȽî–šegãKÌ—ø‰ÍžŽðÚx" Å€BáwÚx÷»±Ùú‰Ð!ÏMX¢<;"¤Ùm<(Lå»Ü«ê%ÿ ´‡ ÎL“Îûaî]wŒ×çÿO!Ï¿õÎø8&÷sK2½q?ÎñZ¡&Ç5äS–œÄá5£Ççôã`ù`…÷˜48ý:ð¹7ée^‡|ô•úåÏx=ÒàðN”•¡z5W€õÚb·€t•4ʲô¤áÝ›ƒÀO—f–¿ÄŠåwï;Eð“B@a(¿›-t¸=›ÐÆS…ÄV„7!­-”¿ÌåI:¤ò¥04}b Å?…å&ÏN‡òµõS;,4_bëyy•Vd´oUÃКÍâuÛªÿbæ ñ½ ¶a#jcæ!7W“gi¿{;mŽ ‡Ç·‡—¼;zø„þZY>m²¹Š5h²,«ääyö²jí [ðYðÄ#ñà:X©fªMPÔu@PÔuì€\ó‘üüíŘ!G;r›\&s0=·ó&@1<”ÛD»c×x9a.½ Z æ% Ÿ¼ê§A·9á?‚®»€¯Kñ‘ÏR}OÛ{Æ½Ž›aNuy4uB+üõ+œ‘Y,`éNàÌ,¸ÔP—«kµ©ê€: ¨Ýå@•\›ÒŽ´€£»´EÍÛQ›4ÿ»ŠšWùÔu@PÔu@ã­æ”H…/:Ö Ç#ž–S¨·ðð«ÜžìH*u|Ø 8c´Ì¥ŽrŽÈ½A—· ?5ù {$ð"ð²w Äïüðsà7é㲌¡Ï Mðã àí¬åüåŒ9 ãÒÖ¯ræˆô,š‘ØÓ;”›w÷ÂüÉ©¨ê€: ØÈÿ¼ò?a‰EFmÚ2ìùôœO°PŠw–¡4•´Ëšäâ¦UI¼;äãWnÛxóUs—åvYQöuUÖJíèiüÍÑê½£…Ì-ýåŒîM=ÔfÞ²ô¬íD©ê€: ¨…:Œ%;ª’r‰J²-Yü]T‚Y£-²-›ˆLÆk\2·úê¡ Ÿ˜;”^ ;Z…ѲI‚ÑFËVòÞ™“ØióÆÕ«ª6ØñúÛ ·—9cxÒñ‰§ +„^ IDATóþ¿?ñoú#jýÜÈ_ÂôúÌ_»}´–þêÍhõ–¢•-›Ì“ðœ r½ÝM×d6¥Ÿ&mak>¼Y¾ÉÇ'Æ'Ì——Vca=Y‰Ó¼…»VÆ·`2-ó”àCJ'LÖbÁ?¯.³iÓ'ÿi~‰]Û·£f•9¢-¶˜*ƒ—יݗ‚_'…ÒÈÛf‡_¾bÒaƨìe`žÏ[žøPX´„Ѳ‰øuNè~÷XçòÜÛ·Ìå…n_{oêÕùæ»9bH¼“ÀÕ¸¶ÝÑóÈÞMàÜ,­ÇÝ+ä6þbEê‡Û—üÖæ+/?6A¹÷¼i2ÀhFË&*£%Œ–­ÒäUZ¾eþjéu›£âî¢Òg”Ô­B]uÌ|åï¬üµéN5ªK¡€Ü%jm<õPHlÂOwhãñ‚WØ\~ñUöñ¡ü¤Ð§µötn6O„ ÞMh㩇Bb+B›ÖR:]òVgè+Ë4£úw󑩃كY¼M„ßIÃí³ˆI!áÝa ÀÓbžèÕKÃm<(|AòBù‰-oë¡"¤µAøÌKØ_®å¶Þ+hs6¹“€¼xÏ Þs­h:kùÅð{óD=ny6ž†S(x7¡§àå"éÈãØü“„·êïJxéôCïoÜi˜–×4bø°áÆ`YF»‡”l(ž†Ûx" Å€Bb³§#<…6žCñ PøÝ„6ÞýîAl¶~"t‡EÈs–(ÏN‡ivO Có¥ËN==,fMŸä¹ð?öÎ@¹E ^›àÝÒEÎ9Éûô„§öO#Ì_ÒCa( yÞ¬¡üî}'TÍO @a(¿›-t¸=›ÐÆS…ÄV„7!­-”¿ÌåI:¤ò¥04}b Å?…å&ÏN‡òµõS;,4_bëyy•w•Ɔš-†Õl7¬fÇ ¸Då¤&sRèùòºÒ¦`Ù*ôíg|è×ß,×üKTŠ«£"w`Ë­ñþ»ù±Je=¹`íR¯lž\m¾Ø»¿ÀxoìÁHì± òã)[”œÓ~‘wMŠ<ì•“9ÆÓ*W d·»¼[Ef÷ø°ìžÎ–'éw⸣° NËaµOPR'RUœ#{ÇŽ¯HŸ÷ ‡2jz¨±"6=ë…çŽ&¬¨ê€:™±$bíÞow1S½J›:PAüõ-HÑGÃŽÀÛÍ+ñ6𚬠y SPO90|Zæç=ÙÿópüÄÃËÉÒ®5·uüð Ðw…)õß«›èßÛKàQ©#˜¾¥\Œ#ít9œUeãl¹7¤×/Oþ©H¯Ìþ{ãíhèï0Ð’UÒ7µ,‡ü´©ê€: ¨ê€: ¨ëÄd ÉdRî«®^ÿÏàX'ë¤eëÀÌÛqËL¬hÅu7ãÆkÌà ”®4ãHÜ÷0öÚ·«õÚ¿ŽèC›Üš1Ïv™w‚ƒü®('BËφÞω8Ùü®Çãy²”+l8ðž§í=4íØdî@)‡¼Gü±Æ”hÿ`ÄcÞ&¥Ët܈*ìn³aŠË—€â[´%p¢e“¬¢%Œ–m½—gW’‹ÖÀJÛUí½ôuÿ\{E=Çgvöh·Eä/æÈ KÌ·¥¥°ÿvó›t±!º©;ûͼÄ|Ia´l‘oÜ"Ý…Ë<ß2—WÄæ ×…ežoÑòÚë’‹®_`nb%í)4LVÝjÞ8Š&ôˆø)Z6awï;<}q´ £eùÑFËViò*-ß2µôºÍQqEFëGõ‰5T'k««åÜì°Ê…T"…Bî®àb㩇Bb~¸CO„4ÜÆ€ÂBóµ‡SϺ•š>É ÅSv6ž O¡=œÄЧá6žCñ0gFå67! §0ry6Aòl=DHl¡xnã‰ðÚé°±Ùx"¤ÐÆa(ž ¿›ÐÆS…n6;Nîu·¼P=,ÏúŸ«˜|ß¾(3›føeYz¼Fl)@j¥ùCz(´DŠ'…Âï&´ñîB‰Äfë'BwX„<7a‰òìtˆf·ñ °Ð|íáÔ³nå…¦OòBñ™ì¦{u7†¡ßÖ ¦‡„^# Þ[K¡ôQ…ÄЧá6Þ½ïØx"¤Pð¤†ò»ÙB‡ÛÓ¹ m<õPHlEèqÒÚBùË\ž¤C )_ CÓ'¶P<ñSXnòìt(_[?õ¸ÃBó%¶ž—WEF‡ÖlÞX³ÝðÚõy½iSÔu@¨<îÎÌÊz*0#+ÔEu@ˆÖoI1 H-ç ªÍ‚„ÚÔu@PÔðêpèŽU*u@PÔÞãÀý€ÜwÆ»­R[¿SbVzä–ËÑü§fìå%â…hFbÏå½'1Uª¨ê€: ¨ê@:LvtèŽ Üðš²: ¨ê°x8ÎX±ä¨…ø 1~îýÈüÝ!©»Ìø¡`î^©–©‘;T¹Þ|+Ì]9}™ÞÌFⳑkÍ‚„ÚÔu@PÔ¨FUUUªÈhv©¶B§ˆ¶$L´l’K™ª¼B_oÙørsOê2fWµŒüåWnùfo‹È“-j¾–¹{¥çíæ ÷ÊMžè¡ÊÅmßÄ^Ëpùêø¾ñÄì~Ø'>{ $ÞÐ4¬_¬ÏïÖÐ~è—B$‡ ‹“瘢PB²‹˜ e£áv-a´l¢¶|?mIŒ?ûüÄW¾Šm7ƒ,—•<{Ë–"ϽÖMHÆŠ5|_‹ŒvjpaåóbîT·ÊëÔ–ü;£50Z6É"ZÂhÙ"—9awç[EFûV ©B]U¬ÖìbîúIT"…Bî®àb㩇Bb~¸CO„4ÜÆ€ÂBóµ‡SϺ•š>É ÅSv6ž O¡=œÄЧá6žCñÐ"£biv#Ü¡ $€{sØNe2‰ÍÆ!…6žCñ PøÝ„6žz(t³ÙéÐprÏ—7ñhó#sË œq–ÙXƒãÃô½Vx¸µ5 @òBõÐpÁÓîF„6žz2a8øL(½&áà¨!R)À4?o®[Én™á^/…ÒG=ÅËë‚ßMH³ ‡û?zb³õ¡;”áDŠwˆ­Py6živO Í7{¸ÇYÓPS›¹gùº•š>É Ågç+`ií¼öpê¡°tyDèÞw$»CÁ“ÂP¼àf+7yEè¡ô£Í—ØÊM^w¿Z Í—¶E¹É³Ó¡íkë§wXh¾ÄÖóò*®Èh¬ahͦ5[«Ù®FìÖ¦¨ê€: „:pý͘p V¯ÆïÿŒGµÓÑd~oîåM ‹>HÁQ¿â…}—˜’ÒüPî86Eþ»\ëCôYˆÖ‡î‹¯m“ciÚÔu@PÔu (ÌmÇM‹Åª´‡o…>«ê€: „8°Ñp¼ùjjðÚ«9uJ¾w¬¾¨EüŠô¡š'€þhׄÇ=ù^ˆÄŸÚ;ÒQ•ê€: ¨ê€: T˜I9=±ödU1=ÀQa_ÓUÖ#ö?ÿø«’øëØk¿<;Ƽù¥{x '¦|‚4 1qaŒå i>f®ÉôÄ”B©%‘Jü¯'‰Lta Þ埦q¸ò:´´®é¦+ÔuÀá@ól»¾¸Z–:PºJPÔu@Pòr &§n V:’z€#/ˤ¨eèÀ}ã˜ÃÐ7†ŽÆ/ÎCàCÀ$9wÍ»qƽiü é…à¯vGGÐÑ+nÇËéÃ7~’WðT6q)g(=òðZ*LEÿ™t<¦ß‰ãŽÂ‚téÎqÚ«¨N~v^| O<Lsât¥: ¨ê€: äã@íí1˜ƒ1©¿2ªyÎܦ±ù TŒ: 8Ð]ÉaNw¬zñæÓOjüàݾ›l±êÎ{î·«|}Ï´æ9ÍMc»ìYÛ7Y³*&sgÐW᪌ 2Œ½g)Y‹OþÕÛxòÅ–1›6ÅÚ`2õÛ#h:§)ÊA±™0p¬Óôßz¿yHßÍFž·ÎiözÞ›9sæŒýÿ\r£‡¹WÿŸg1êü1¥ßB¥çͱgÔw'ÛíYWtÓÎÛMéè¾ÓMÆ*­: t«³fÍšHß[™Áa´ò,6™'GOX(ø‚nÄPÿtà Ýi†™HèµBåÞ½q —’Sð«…ÞÜò ÕCl2ܯ§ ‰­Py6ži:O Í×N=ëV^hú$/OÙ ¾ ×N=–.ÝûNé“BšŽÂP~7[èp{:7¡§ ‰­=nBZ[(™Ë“tH!åKahúÄŠ'~ ËMžåkë§wXh¾ÄÖóò*ï.*±-«¶Q½£^¢"¯7mê€:Ð+¸õ.ì¼-jcØu'séD^MÊpH“+P‚vðy¤|X:ê}®÷.?¹(÷*•KŸÊë{_B=§ø[Àéè¿ ÚÜ&öt@Bmê€: ¨ê€: ¨eì@Éö˜¹FEîx§8ÊxC©4u@p:P]mnY*­­ 9¡þJ9®!e8ä\¿G0âì`É[ð§÷æ·Ç¯Ï7É<ŠÔíNýO¥NâÈ)2ê¯Õgu@PÔu@PÔu ×9‹uT™{Ä¢CoÛë6ž .WvþnúÛhyÖÖcœ:O>ÕI<ü¤©3Þ~åÔàWÖ”ei~‰ÍÇÒ ~ˆ?Öè!zçÓp4ý«ÎHiþš¢~› ÜlòÍ)2š.5šÂTò9£g&–ŽXk|› H¨MPÔu@PÔu Œð>¼';’òCfL.úB¢å£¸÷[_Q¢ëëë׬YSÔÐNEË&”9áz/O^]læõ±kƱ­6Á;ÿÆ©›úÕÖÇ$×uN¯híðá™w¶2ß×ÄÚh–È&çwÈÉ~ùoðÝò8D’ýM¡òÌù&a-s' éX/EF]» 9)[“³]¾?,’"£…æëPè¯*”Ðý}¡l‘Ës–¹<ïV˜Ï«×í@ék#Ù;|îdó‘ÚÒÒÒ}oΥˣÜûó £U-›è–0Z¶J“Wiù–ù«¥×mއzhÒ¤ìK²%ƒÚ:ßçM›ZP‘Ñ êGÖaPu¬OmÒ»Û]?‰J¤P(>¹+¸Øxê¡Ø„ŸîÐÆ! ·ñ °Ð|íáÔ³nå…¦OòBñ”àéÕE„„§0t:b Ňòa(> çn¼þ6è 7aöp[¼Ýãf³ñ¡ünBÊOl¡øP~"$<…ötôõœØl<Rhã‰0O …ßMh㩇B7› '÷J—ç~+ÕÃò¬ÿJÌ—ø©b¹É+bsÿ”/¹Wh¾ÄV„ôé3 ÷P!¯ {1Û;#1¸C‘G ‚Ÿx4æ.CË œqÊ MŸÜ Å“<#'™ãžÂÐéˆ-ÊïÞwŠà'…$€ÂP~7[èp{:7¡§ ‰­=nBZ[(™Ë“tH!åKahúÄŠ'~ ËMžåkë§wXh¾ÄÖóò*­ÈhŸª†5›6Ôn=¬f»±[›: ”îÀ[Ä„ýã‰Døï̥ϥ ê@å:þf”@z_Ëãä‘ʵK3ïA®Ž¦ô¥`=8m1S]3&hjýþÏxDjiSÔu@Pz³1Īåì$¤Îho®¢×›·jWÔu@(Æï"K®!R ‘ŽQ"v`ꔈ »n£áxó ÔÔàµW»oeVÔu@Pzȹ°:ÙŽs†`LÏàè!Óuu@PÔu@Xh¬YO˜Ô4W^‡ãN•Zî‰)uu@PÔu {#râF¬±dR‹Œìq´5W¢e“d¢%,ªs•N˜½Á¢e‹Ü½È Ë<ßr“'…ý²ëê•›¼ìW²¿­ÂÙȽÒ_ÌѾUƒM\b¾´9¨"­-"ŒV^›ƒü§Ö¹<ÒCa™ËËÞŸ¶$Fw,J§aïMé5ÿ¥| n“Ú NvÎývÃâEÕ6ÞÝCòÜàN×ÒþU:aö,Ѳ ³{ßÉž:ÏåhFË&)DK-[¥É«´|ËüÕÒë6GÅ­ÙC«bµ¨®•Åe ©&Š;”áî .4\ðÔC!±…âi¸'ÂP<(,4_{8õ¬[y¶]ny¡x.xªÎåÎ×N=[òÜ„´¶~RH„îОÎÍfãCùÝ„4<”ŸØBñ¡üDHx?üÆ H¬Äs±çÞüÞBuõˆ­»åÁO ;ÍWhƒæ¸Ù„Ä=œÜ¼f&üéϰ<‰…«qÑåF±Ù=î·O„Úøó%~*‚hOGx m|´ò„ßMhë!ÿ @l¶~»Ã"ä¹ K”g§C„4»'…Ùù¶y5b.#Hi¼Öê!yöÎH îÐLi ˜¿"ÕÐp[!Xž¥Ÿð ?½‰ðö€<š‘ÔÒÚP=6¾[óµ§£w(ét«¼"ì"Ány…ò[¡Ãm<’xO ï&´ñÔC!±ª‡ØÊMžåkë§wXh¾ÄÖóò*­Èhߪ†¡±Mk¶n¬ÝA/Q‘×›6u@è­Üp¶Úk×âÅ×ð•ñ½5‹Þ¢;»0aË|ì²  ÀÏïÇO.ë-¨Nu {¨í%%oG Èøï%…Q3ŠuIPÔu@èÌdG,ƒàèÌíSÔÞã@[+6Ù [nÖ{÷Z¥R˜PÚ;›Â„{í…÷þ ù_d“{m>*\PÔu@PÔu ÷;àŸªØd¬*¦wQéýÛS3P*Ø^ˆ9‹pé±zmˆ ÍsšÍyÚw¥aI˜:³½p Å H¯õÿ^âÚ}œ‰Äƒ Ã~½Pžý濹úËC‘øÐ»é­€ðôxk>f®‘z°ØÔ›^ŽÉòHàE#;ñÏ„œ)nÚÓcܘgÎw· 0¡Àä膴ì¤Ýcu­: ¨ê€: ¨ê€:Ð $;䣩ǫEF ¶7Ú8ѲI2Ñ–ÎFÕ¹J'ÌÞ`ѲEî^ä„ežï:”·ÅÖ«~|ÍçGšs¦5ÕÕ“°ÿ– +Þ]ä—¥”°ï¶ «îY?$žømöÿ±ö«+±Ç üxEݱC[Ÿ_Œ£á¾¥ý¾Ò0`)Èç3K¾Íw7c`âÇ™©³gLÌL`d®d¼ÀÅýãÈáÏžË_ŽÖ@s8F&\´BüöxâÛ È¡95ýC ¹¢qÉa qâ»Ç¿NPåÈ;ä°æ 0áïÞJœzÂr|ƬÏÇï”㼚ôtë[ðGëAì4£‚:Iž¸QÐp—›¯r`/†XP 7ŸDèÕ’ýÆ’Ïp# rÿ<»¿«žÝºÿB›âÞù`žÊ·+UyöGË&“Ò{Wž2°hFË&²£%Œ–­ÒäUZ¾eþjéu›£òŠŒŽ¨Çªªú˜Ô•殟D%R(”áî .6žz($6á'€;´ñDHÃm<(,4_{8õ¬[y¡é“¼PÂv;ò{ž—÷ò‰:ø/ ò¸Ydz /yÏßõBÿéuàkÞÒ ÞªIYüɘšÌ±ƒM€6 Ú[ëõ§(ê½Q~0rªH§úS`ïO>ùfã]„rFNiñµÉI/z³KŽ~. Mf¸È˜úsdçâõˆ¼ì„×ß‚UI¬Hââå²ùóù½ú†’HF‡w‡6ži¸'…ôÆUèpOòÈ Oz(<€BÁÓŒ ¶Bõ[òˆÂåÙé!Mgã @ah¾™·Z/u»‡äÑpOz(4SæîΠ0”ŸåY!…6?žB{8ˆ-OÃm¼{ß±ñDH¡àI!( åw³…·§sÚxê¡Øþ?{_ GU­ýõL&“d²L2™$Ld ²#‘ÍTYdq T‡ATä—E¢lꢨøPÑ'<‰bô±"È’B: !@ÖéÿTÕtwÍwfîê®îéIŸëØ©së»ßýÎw«†™šªSeèqÒÞ¤üu.OÒ!…”/…Þô‰Í‹'~ ëMžN‡òÕú©Ç&Í—Øj/¯ÑŠŒŽÊt´g¶í±SGÓ®öˆŠoÖÌs`¸:𩹗ÁÎ[á¡¿"…›K°ö“1¯ž…±Ûwà²B(ÿÊÃrE@š\¿^·z?žÛkeÐù‚ZFïˆï ·×Æzä‘Ù±°›¢G®qDÚVòÖëÁ~À¯Ksç°[) ¶ä?ÔÓw¿&”ŠÑ×ÅçgGgЖÁCñN_]™æ€9`˜æ€9`4®Á­‡ÍòˆJ¦©)øyÖš9`˜á€|óûh)Óu£ò؆Ï+å»a&¸#ƒZ'p°KðùJ6B®Â—§ýäóˆBgüûk$_Ñ&×VÄËŸ_†‡åÀÿçc°TžXù~(7ìY?¦§¢·§N²0æ€9`˜æ€9`˜æÀ ÆÌolê± ƒ0Ë æ€9°I:ðÚ#Ëqy˜Ù‰ÀŸ±êŸËð±DÞ Ü€à×þG€3ðúUry Ö~†òùþB¿Ü ._Ô„çnêªr(z~>âiûoà$à¶pÒÂûMä¶ŽO.÷„=+ž^†“ =UVgôæ€9`˜æ€9`˜æ@Zä3=™y‰J^~ ·;8ÒrÕxÌs ®èšÞÕG_&¨ŠÓ¾ßBj…á1Èm88øYØùCd?R(¥)wFÈ“±»uáŸá.ù”W“H“þè+ŒJeÏ ®Ô´MA׿F3FÚÎ ³;+”°˜èÌî– îéöj§£·'ìNñcæÛpŃÓäÓš9`˜æ€9`˜æ€9¶Mù¦æ<‚/{‹JboÓ­ñ›.›$“.aålô2‚¤„ö®Äè&= ’7$=öÄÈÜi9d‘=½p]£¯·ƒ$Ì]¼~5ûþI┃$ŒqlWÈ–îk®y"³ã <ú$NØVßßâHbÈvÉ‘6eJx LJh9*/zeºgLÊæ.]ÂtÙD| “¾…ä%®W§r†8'É‹ï*o;]ÂtÙ$#÷¹SFÊé*L—MÒI—0]¶F“×hùÖùÑ2ì–£ÑÞ¢2väæ­˜4"ÓÚ•Ísˆ¦°Êb»KÔj<õPHlÂOw¨ñDHÃ5ž&ÍW§ž¡•çMŸäyñ”àéeDHx e¸ûà$¶2äÑŒDH{Ëàw?…z:7›Æ!…‚wj<õPHleèqÒ^ õtô¨Håi=$˜Âj/‡žŽz($÷*”'÷nÜ÷0âwpÔùrT[}g«ÁÑB3ÒrW˜/±Ux´h7*”ç%Ôú©Çz󥳉ؼòh¸Æ!…‚'Pèå¯ñr ¹<÷¹ãµKë' @¡—ßÍæ®§sj<õPHleèqÒÞ¤üu.OÒ!…”/…Þô‰Í‹'~ ëMžN‡òÕú©Ç&Í—Øj/¯ñÞ¢2ibfÛÎ;w6ï&Õÿ­™æ€9`˜Ut`á_p軲¹\®Šsµ9`˜æ€9`˜æ@ƒ:inn9²eã«ÁÑ G€¥m˜æ€9`˜æ€9`˜æ€9`l ä‘Ù°AêŒ6Ù›ÂrZæ€9`˜æ€9`˜æ€9`˜æ@C:ïéÙ¸¾g]syôÑ@Ž|~õòཕr›nôõÔ¢îè–Ýè³~4›r`ÝÚRGFŽ4¾»´·¸</ßü®+tä\}»+ ‹ã ;{ÿ=;ä=*Œ>ˆÜÍ…«u!> <6ÈgÔÂo®Áæ‘ÀºÿóÀ7á©°Ejcâ%—Ümá[Ww 5D€Ø,ÝŸë Xî}¹}Wa3à÷a¸8xb!hEÁjxŒ©ÏfÑùK/Ä¢å8ç¬ÙÐ`9аÜ|vÛ G;< ° ÃcL¥9`˜æÀ ÈȵMÈgzz2ò€ÐV¹%Og§ j` ÖÖÖµkc¿mô‡|_ºl2onÂò‚ß -¸Ì¶¤ùºΤl‘†–\÷ÃÜ7/uòç×|ü£ë×…¿Ï/Ém=½+:˜e{ZAs!‰rþ-Oá@3¥Ë&³¤K˜.›W^´F\˜;á˜q™&\sã+³ÞÒ{˜EÊX<ð¤G¶:V?¶<ê”pô.¯ß°<{P0*·Û\¾*»_‰!·÷j\°zäÇ&­»ã%|x¾¿rÌ{;Æ.mލ„Dòí¾¾ã€UÈ’fÌ=•Ü6¬mÆïVunž]zggµeïm‹„ ôé0Ð!>wN둽¨¤ƒì^ÙÈ¢Ü)9´³¥¢IId´+.µ(/~vl¿Óë\òÊî3{|Ô@ÛE¶IûÓ%L—Mr!B÷w¶ÁäN„Þ!y§K—0]6½Þt¼Qx÷_»xïÄuë2wÞûÒ›·ísFè³ÉMHù&®Éûe9B&ýÉÓÓ%íI—0]6ÉÅ}î$MVðé*L—Í䕱 ñ!¶q7’n×¹{’Nº ÓeÓòæÏŸ?gΜ¤«PÄW[^q¢6N?u^Â"£›·bBK¦%ÓcEF“ÇrW¬¡Š2ÊR›Mãi8…‚wj<õPHleèqÒ^ e:wq¯²åuNÁßGv³>Ë!wm £;8´êq‡I—ƒØ´ÛEy²KïÕ=DH¡àÝ„O=[zÜ„´7Z#©ñz«óþÂ~ÁÝ r!7vÏB°}•È ÛEÀ…íèßû€÷…[Ç„£æÄŽ–d‹­»‚[$fÈ-@‡þyEòˆá½c!$Ò…Ü*Bú)ØǨ]:Jü2‘|}/$ïäŽ ¿†ÑÇ]À'ÇA’º3ìŸU7¾„é,£. ;çŽè½Ÿ%‚aßV”9ÓOðJ<]ßàú¨ R…E¶â$p‡zF"¤áO ‰-ép'BúΦñ¤‡BÁ!(<ÍHbKª‡ØÊG V(O§C„4Æ€Â(ßCÇ‹¯¢{:T}Ï&=œzH^éÄ—™ÂFxwŒ@@yÿ¥cyêô÷ê!Ò^ %ê¡Ø¼x®ñîsGã‰BÁ“BPèåw³y‡ëéÜ„O=[zÜ„´7)Ë“tH!åK¡7}bó≟Âz“§Ó¡|µ~êq‡Ió%¶ÚËk´"£­™I2[OÎl7¹yg«Á!Ç›µ†s`æîX·o}[Ã%¾)%ýÕñœ30:ƒ¶ .Ìc /7—ŒÞßno\ð*·åÁÙ °cÍCËãâƒ;GŽ )º€Í¹;ä+1ÆÙØìÞ 88ÁE–C‘ûq鎪àÙÄÝ `I|ë`»}Aû E¶„÷<6/;.ƒ·ÂC/PÙ¿æ@;ð«_`³±èšˆÛo6.Dçò°‘kBÍsÀ0ÌÈçó¾šäÆnkæ@ƒ9ð†­q§ñö·àãŸB×–ò'xk ã€üf–_‰^7*…ÜwSbÿv"¸Bö^„W²Et8p¾Öš‘Ï#bCdóXà»3·rI%¥£§”ûÅXç0r KÞ(oÑ+~N+te0b­Üàk´á|à`àgaç‘ýH¡p`ìÚM^Qî’O¹‡BšôG_r©¡ø !é?/¸>RQ g,1„³dÏ õü8¨"÷edoŸTÈÃ)§½àØ2”4ÙŸd±˜†Ó‡Cl‘ö‚ð E–¦·-s`Ø80óm¸ýîœ|Z3ÌsÀ0Ìaê@pyCžÁÎÈí{‹JâEL·¨lºl’Lº„鲕!Ï]½|Èåy·BÉÎË`€¸÷E7DĻޖotñ·¨¸×¢_šÜi9d‘=½p]£/h„¹KrR4ûþI┃$ŒqlçÎÈ¡c@ñ4P‹”×.ÈcŒs„{¯•8@¶Ë¨?®y"³ã <ú$NØ6Á_É÷"¯ô­ ßw xI“ΛðËøÜ?‡Ä}ä6­ï G K—MfI—0]¶F“×hùÖùÑ2ì–£ÑÞ¢Ò>zÚÈã™ÁHY,OquªK¡ w—¨Õxê¡Ø„ŸîP㉆k<(Lš¯N=C+Ï›>Éóâ);'BÂS(ÃÝÕˉMO·í;žŠ]CÐüÔC„´7ÎñåX¶Ë×/ï(6wº³‹OMáfÓxÒC¡àÝ„O=[zÜ„´—B=ýz^cyZ ¦°ÚË¡§£ ɽjË+Ã.LëK{“ò[ÒáO„tîk<é§PðDH O3€Ø’ê!¶2ä…ÊÓéÄ åÞ ·¡;8H€;ôæKg±¹åÉ^®ñDH¡f …^þ¸{¹ïèòò!á)”騇Bbóâi¸Æ»Ï'B O @¡—ßÍæ®§sj<õPHleèqÒÞ¤üu.OÒ!…”/…Þô‰Í‹'~ ëMžN‡òÕú©Ç&Í—Øj/¯ÑÞ¢2¦¹cRfFGf‡Ž¦]í9Þ¬m²œsáò.ÿÎËIÿŒÏbò(ÌýHëg¤^£5sÀ0ÌáéÀ¿àÔ™Oʧ5sÀ0ÌsÀ¦ôôäƒÿÍjp Ó54Ùƒsàÿ:ypÀrPGƒ[n]{Kìµ£å°ØsÀ0ÌsÀ0ÌsÀ0̲ÈKŽàÖ yfÚîà(ÛE8 X»¦ŠGøÍ7aÿÙã:vø`ÍsÀ0ÌsÀ0ÌsÀØTèA>¨—Ï[‘ÑÄKœn œtÙ$™t Óe+Cž»¸×`äÉ›P¦Mé}LE ­%^o5 ª[yßù#Þ;qݺÌ÷¾ôæm| ƭК9åÅ-c9´¤x;Ù8rÛRe¾ Ù´æ:'¬P¹'éWHH¦Ë6ìä%=÷ɽ2òuÏhËQILïrè³I/h¼‡–#éð8U´]9Cœ“äÉ.÷ÑÛï¶&ì6ÈÎtÙdÒ ³Ó²ÓU˜.›¨M—0]¶F“×hùÖùÑ2얣ъŒŽk™2 “šÑ¼GEš»~•H¡P†»+¸h<õPHlÂOw¨ñDHÃ5ž&ÍW§ž¡•çMŸäyñ”Æ!á)”áØôtBØç%¯ªF>ÍH„´Wø‹ÅÞ9/¾ŠçWâ Cƒî¨i¼›Ðp¡›Mãi8…‚wj<õPHleèqÆ÷NhdzËd† ÉvTJ6vô]îZÊ fWËGò(<)$…^~7›w8¹W”Wtû¯!÷–¬ÆgËN>Vué'y^< ×x"ôâ @!±ééO¡Æ!ûO„ ž @¡àiF[R=ÄV†ì\äê û{ÿ-\üêHï$`%ðMt®›°é†½z ‚{û “l .D½ÿÊÓ"W.ØIW$>ÜÈ“ʰçiàÀtäþ¦ÿ°ENî´AÝ‹Ttûô³1¥›gqî…$ÂBsÀ0ÌsÀ0Ìs vH}ÑŒ\ÛèéiFÆŠŒ&ö=Ý8é²I2é¦Ë–TÞïïÏm·%}'l+¿¨õßîpOÿø=û»xq¿TÛ ‘ó•_&÷³DµT¦‹X¯y"³ã <þ ޹ǀ5Jiþ¢<ê/;L—0]6IÊM/ß.º!‹-kÔ#aÛ«[uF{sG,Ãõȯ÷XìE¼¹½Wã‚Õûg—..Qå®ÍáPtnž]ú¿9|©-{o[qÆ 7(_-xô.¯ß°<{P 377‡KÐ'Á˜Ú@É{:ñ»¥ò¯`„*è9¼­cá˜å¾„¯oăÀCh¿lòËg.Ã6è<2»ôÎÎ*¥ùŒ*´¢¼ÈíûÉ8»cãFüù¡å;Ngë ƒü·È6 "áŽt Óe“Tˆ°ò²…DèuË=cR6ïté¦ËVûåè=½®Uÿ^QáP(4”¯ô\U˜ï–‚ŒBî‹©}8x¦€‰Þ |˜È£}Æä`kB3wD<v/&/rû¤S‚ £òõ±cõPÈÉ*ÂS¨g$B/ž›žŽðj<êï-Äà…Ÿ½xš‘ðĦõÞ–!ÏMX¡<’9ï–å»ÃÎS#ú")Ÿ›dÛ´³«Á’ßþ+s ¶”ì‹ÀÍýIë6ÇÄ­&ãë}÷ÎþзG¢ÂÓ1›Ý;¨j#Áã€y…ùö/lÿÝ#¦öi`@> -û•,ApDÞûs{ÐÛû„bs/¢}Aû Ó‰ÜþéÍÙ)m¯ÞÐË`ÿ˜ìÀçàìsƒïEƒývTf}ýjœ|˜q|jn}2æ€9`˜æ@rz2ù¾òØŽäþÙˆMÒ|ðwìR‘ÑM2GKJPúh_¤‡4)N±yðäVõÝ;ä  l,hj7Ds¿íàíá…½¹§r8 Xü8¸+O]¹åKÀï û×0Êu@.pýq,_‹ãN(—b(ƽu|îô×VnÄ ŸŠémNsÀ0Ìs 2yùA>Ó~ÙŽ45Žaí€üYø*z†u^&Þç@ð`ü|`p"ð^z|b/g Fß¼{@–g½„»Ü[•RIãò±¢Ò¢Ï¨ï˜Ú§åAê>8ðñQ¸8(5‚ßGöÖûŸ Æ¿<ûåZ§ɶOs`“pàM3°Ó–˜ÖŽ .NùŒlÂå—Ž™Þóåûƒ5sÀ0Ìs`Ø: õË„?ÛŽa»†&Ü0’8\½Š·LX¡S.ü8üjFV*eþwœ œöį#HGžúÎè‹O5¢¢€A(óžVšƒ¸ ­¤ö<ùžW*ÉÞ5[†áDàÁìþ!áîa aý†ª¦SÒ=ˆ-©PsûݹxýA 2ˆ90”<¹ÙÍäÖX¬’·, ŸöØ¿ðê+#Döz¹úiÍ0ÌsÀ¶Èu¦LðžØŒÔ_™Ú½è…®éÃ6¾);îÁ)O Ðo¹n~½W3Tâ¾æ¯„Í;V¦óbêè-6r—–»Œìº?Û-¥I»Îì{qD® \ÔÑu÷—1EŠCRëB§#‡zX€×;´Ðïû‰;Xá¢w ¹ß ¤ ³Žÿg·Æßm†×b¤bÎ{^üÕolËg|vÔ]wtƨð?%†½g¯øÚU¯Žs¿˜¹ígòÊèrZ*–3qMÆlÚÙÕÄB›Ä0†Ào¼qîܹC0qJSž2ïø=÷’zrƒj{ì5kÜÈ)£ò›1"ƒ°¼Õ§¢¯îPæt—¨¥á‚§ ‰Í‹§áO„^<(Lš¯N=C+OÛå–çÅÓpw竇çåïJ±FbÓÓž*É ¾÷à&ɇsa»´7&€ˆŸBG àÎN†Þͦñ4œÎt¯<îå'y^¼—Ÿ O¡žŽ‹Ø4ž)Ôx"ôâ @¡ð» 5žz(t³éth8¹Wmy¤gÈß1DVaÉjüÇgø{ÕÕ#¶ªÊ ”%ÿÞE ãùj6ÝCx7›w8¹'øˆPœ*üMy½¼W2uQQ^•¬—Ÿäi<®”Æ¡O ‰MOGx 5ž½xP(ünB§ ‰Më'¼;¬7y:Ê—6¯0_:›ˆMOGòh¸Æ!…‚'Pèågy›t‘Ñ2 “Ÿнd (LºI‡k|UåyÓÑz¨Ç-/)?±%®ñDHâ5ž ÞM¨ñÔC!±%ÕClõ&O§CùjýÔã“æKlµ—×€EFÇcËIxc§•£Íš9` ;.½S;Õ—]…Cß5kð§¿ágó‡]ÃO°8ßþ!sڔ씩¹«¯~)˜bsÀ0é€<¤Q3Ìs`ÈÈd2=ùž¦&)5jÍ0ÌáæÀ¼ã{o=½#FàÏ †[ÃSoÑy‘ØûñÛÛ‡g¦Ú0ÌsÀ0Ìs`Óq@îŒï‘*£· ›ÎªZ&é: Ï><ôT.zö!]fc«Üu±²?]oÀ~ GØÃÚ½¨;¸Oûº,y.=èùðV`Iþ¨°·øïÙÀ«á ÞǺ¢‡2òè>hyÐ…Ø$”!i´^yÁ½á]!õ7ƒyƒž‹úÎ$S_J*ˆ äMþ‚¶ñ'+ž§w†=Âvš§BM4SÜù½gá/î+À"sÀ0ÌsÀ0Ìs æÈ Tš3Í#ÐlEF{ŸnÍ•tÙ$™t Óe+Cžü ç¨Í–º¼xÕÏÍ̘µk›yÇ+36+³º˜[¡;;}hºÙ4žztÕÆ ‰?]6!w>¿$'OIñáÜaÀçOêxiy3é!{%lÛ¡cõcË£#*Ú›;bþ«g¶eÿÒÆ {¯Æ«åÚdÏ*d ƒÞrqátÎÌ.]¢¹Çrøàx´mÄõ«ƒW ŸÕ–½—Ùˆ\‡”¯²£4ƒá…V”9/Ý},wØ{ÚŸïY€$ø·È6Ð}¸„Œú½„îá´7]6!¯s——ô`££Å»¾úlÒ ñZޤÃãTÑvå qN’'»*4PƧKº.[åÙiýé*L—MÔ¦K˜.[£Ék´|ëühvËÑhEFǶd[ÑÞ’iÍä[d±@嵨&Š;”áî .4\ðÔC!±yñ4\ã‰Ð‹'…IóÕéghåi»Üò¼xNø1m¸õ·X¹>‰7îT(,~½þÁYïýó¸…äž@à5^WýÜm&~{w4yðé&¤½‚'… ˆþÌ^ §½b×Ïn/Ùõ®ðøs£þï ìþÕð^yt¦{å%å§d½z¼üDHx9x¤½øjé("_>Q ¶)Ùà™?é?ÁÀŠ-8è¹*`Úqá\7EAøyð¾pC`ÏçÏ„ Ç…ÉN(¨•û>î.f† fîˆHvo—ôômÅ刜^Ë£¥pqƒÍ÷¥_d+NB t¸Ò^E=DH{5ž[ÒáO„4Æ€BÁ» 5žz($¶¤zˆ­Þäét(_:Ø4ž¤Ð›opæÆšN=$† áÝa0³S ÷ò³¼„?Fj~"$=êá 6/ž†k<^<(~RH µ¸Ù¼Ã‰­ÚòÊÐC ÓÍ—ØêM^½-­E½ÉÓËGë«õS;Lš/±Õ^^£•«°õD̘Œíåçqkæ@¸ðkøùOFMlÁ5WãÚÑ’ü^>¿t6N>©FM³Åôuƒyö!çàÁb×-77íúþ-øô''Îà˜ã· žf“EÊÁ#¹m668¢/ª/7€: c·ïÀe}÷ÎC¹üäSK÷YÕg÷…M¸´ÔQzàï÷@4°´³Ü-<˜W úðŽ 8ºÊ¿{„—i¢Ž§}ùŒZô¾xË™À!À߯×bnï…´/h¤lq;jc2X/W`Z%ª IDAT¬™æ€9`˜æ€9`˜Cê@&ø5“‡Òeh´Éßÿ!üóí==øö•øláŠÆc×ÝpÝ·ëÎŒ9Gã‚K_>êCX¾³öúÄ®Ç)Ùµòeyin býz¬^]{9›ÄŒòï£}‘ÒžVÊwÃLp³µ÷_’ï–áçAkâ;»nžÜĵÅXºã¼Iž`)ô¤ò/  l y_ *kŒ^6¯0Í3ÀÛÃ;8dÿÀ9Ø0*$ò»¿R „bòýcñSàÀ¬Û0ÌsÀ0ÌsÀ&Dwâ7e2#†‰`“¹)8ÐÙ! ‚Ç¢äÇßÿdÔ:ªGÞ:yÀ¾õ˜ÝåßFG–„E в®¥P±+÷bp†Fvr"~õ[ùVŠã°ƒk)d“KžKr›\ÝÀŸ±jì2Û7Ù{€£€ÂΟÆ[ðY@ú¥Éjï ïïø*ðnàî8.½mÑÝcr<ð^ß°GÆÈ§¾5ì‘{7Z 8>ü/}~)䤓ë5Ò>[]ö†^Fñ—g¿\-Ùáœöa˜æ€9`˜æ€9`TÏùË <•i¨TÏacf^Ì¡sÊzé•ê§ÊMòò{ÖœeòvÏÅÏ3²byö!z‚fH®nˆbWv3¹šÑk×7¯ÃÁL1{¼W~§fº¦wõQœ «fÈ7¿ «TÈ3/7ö@ŽR©?úϰóŸÈîÖà¾w†÷tȧ\MˆÂÏØdÈyÀ!¦²bõЈ&e®ÓÂègÁ#3ÙéÙ@@±]ІóÃ@`ç!ÈW”ÈösÁkb‚á»Ý!àN`˰g"ðƒÂ/lHEvQŽm˜æ€9`˜æ€9`˜5p@žO‘;Ý{ÂûÝí-*‰ O·Æoºl’Lº„é²]xYîOl½ãö ŸùBîÍ3qÔ²?¾-wõå-÷ü^~Í꿹k¿§+OÄߢҿ „½n…îìÄ®»þ7sב]Û퀽?ûä¿°íö¯ßò«WvÝ:üe;‰]èÞ-OðIèk½/|Hg3e‰_#p';gðòÔ,²§÷ãv¿„¹KrXŒì7úÁ4E±¿_ÂâÞÁlÄÕ&bÓ²åàÌSeB§‚=åJе$<’ÎØDë˃Uœ.›Ð§K˜.›–§¿7*‡<n…½7‹y8ª»;þͰ™t²¨ +Q˜.›(©ñIsO=ßt ÓesÒ%L—-uy©Öy¾u.oØ-G£½EeÜÈ)c›'gzFæ{ÂIÝ¢©,…²ØîµO=›ðÀj<Òp'…IóÕéghåyÓ'y^˜s‡®ìÊ—Ó­ÊX›Tj1‹Ø%7¹är½þ<óoì¿W÷j!Âæ0ÌsÀ0ÌsÀ0Ìs ŽÈg°aãz¹û¸#­G/”I3ÌsÀ0ÌsÀ0ÌsÀ0ÌA8 µ8ìÇ |2ˆ9`˜æ€9`˜æ€9`˜æ€9`Ô¡…ÿå%‡Vd4ñú¤[']6I&]ÂtÙ´¼ÊK¯¥X8MäUX)MLé&XárèìÜ„¯Œ÷¸ÙâÈAnWH(æÇ Ù´æ:'¬P¹'éWHHzÙ†öðóÊ£t¼!&ÍNó¡$êI—M¦N—0]6-Ï–£Â£¥BÓ]ßtÙÄ+2šèð pêË‘.aºl’{š<:>“†é˜.›>ü®ÈhKVÊpÈó)™è-±‰ªCQ}qÓ]"E㩇Bb~¸C'B®ñ 0i¾z8õ ­Ìî9쟄@gÔÂÄqWä.É FyÑù– .<Ó;pþÅ—}šæ€9`˜æ€9`˜Cã€\ÛˆZFOšÚ½è…®é…ûרÁµ®é]•ôú¹PW &Í.)¾•ÕžZÔ½õô®?.ìþÈ¡›­[ÛtûÝ/ì±SŸƒAÌN~óÔe—ïv,ÚÛ}XW­•žî]_ÃeË»ÞÝ—aÏWñåËmÀ*t(‡î èÚ»«û™ÞYº¿ÝƒÑµeW÷íÝøòÄ®ûÆVâV;é­S_ºö…®ÃººëÆÜIXÓŒ_--&ØI•k1a³olñâžÃ6èúXW÷ºñ6¿h‹Å‡,ÁIë»fwõê,˜P¤•ûùâÊɽx.‘ó·ßÝ}ò “—¾8òŽ{Ùù8¸ìí:?üÊÎ+¸igW¡9µnËQ¡ç›˜òÝÏmHñ¯f{ÍsÀBn¼ñƹsç¡€ §>eÞñ{îµÏ IöØkÖ¸–ìHL#ÑŒJTJWLqWpÑxê¡ØDÜ¡Æ! ×xP(x7!á)ÔÓ¹Ù4ž)L*ÏËOò¼x­‡zˆöR(ÓZ5› à5Þ}.h¼—ŸÞžÎÃæKŸ²~7¡Æ“~ ‰Më'<…O„„_‡Ž_E÷ t(¯>Ù„SbGT¾€Ž±‹€+DB©ÓÝÞ.1XÎiañ‰/Ÿ¯Ÿ(NšÞÙ;ã¡ˆî‰ ÁîP&î“o£vé(¥ ÓÉ×U%yØø[,©sG˜qaç„‚0éô”foíÝôÄhƒ° < »ú¶¢¼Èù÷¸å™eȽ†àJü…QÔCa‘­g:üh¸ž‘½xPHlz:ÂS¨ñDHÙi<R(x"$…^~bó≟Âz“§Ó¡|k¼Ú.ê!y´W§C k°d  PëwçëNbÓÓžB'B/žV{9ôtÔã«-OÛëÕC€t—ƒØêM^½-­E½ÉÓËGë«õS;Lš/±Õ^^£mEû8¼a"¶Éb{{DEŽ7kæ€90ü˜6%¸Üð«_`³±èšˆÛåé o{¨TǾÀò«ß6; åBðÀ,ÝgUŸÝ6áÒRLj5…;ãä‘h`ig9[kZWÛ>c2æx¶.Gë±aÕ¨o6Ú„W2¢oêÍdáß¼ôì±§{‚X.ˆi§\N‘¶à®‰[NFv ~üƒ ´f˜æ€9`˜æ€9` ‰òÃiSP€CþB—· C²6©9` …ò}ï£}ç•QÛx|L!ˆýû~àK¾aÊçAkb;Ðuó´à&Žªµ¬\Á‰©]7*/u7‚v,ð]àpLxQ]Ƹ8 5¢vAþŸ°g –JÁŽï‡=ô1:(çaÍ0Ìs€ïq žX 7x¯Åæ€9`˜õå€|³Îä›2#êK•©1Ìs VôVÎ7“^ñM} Ï_ìöþ0Þz€ÏÒOíÝÀÝÔ•BøÚ#ËqYÈ#•GåÊF.ü_p©:l÷àåÙ/ããÀ/¹óW´¼ùj,Æ À­ÀjÈ&(€ãÿJ…‘ˆV:«£<>›m›æ€90l¿ÁÊ]îÝÝÝÃF³ 5Ìs Q¯EçåU±vG£–·9Ð`pY¸ ‚[$äçׇFd0bmñjAÁš3G€†á?‘Ý)¬Á¡¢O¹vmŸœQ`(ûß8­DjO é亴ìzŠü"õŒ xxk¸wwLz>¼~½˜‚wËâáºHò ¤ îç;/ å…Iì_s`“t`æÛpûÝ9ù´ÖÈ ³¢;8"[KÒ0Ìáë€\ßZO>Ÿ‘ ([å–<•â{e¶ÖÖÖµké©î2©dXºlõOXçù¹<ù{ð[è-uyž Z¦[¡;»¤lO=:;·<'B O=©‡÷õ~ïq™øÁãNv ÆàÝ«YdOïç ì—0xÙêbd¿Ñ~ )Šýý÷z7HjR6R.§<Äè´سxѤØÕ`îÿŒÒrÔàdi0ûk—î5OdvœGŸÄ Û&8Aj§oˆfrÿnQtv¸ÁÞ½é²ÉtuNhò¼‡„Pçî¥~øÕy¾u.oØ-Çüùóç̉îRvœîòå8ýÔy ߢÒÙšiÏä[š¤lž´Då¯uIXw‰Z§ ‰MäÀj<Òp'…‚wžB=›Mã‰Â¤ò¼ü$Ï‹×z¨‡i/…2ý†Eb«\žû\(ƒŸ’~wvz:›ïd¡ì„ßM¨ñ¤ŸÂ¤xž4_ïp²—’ÕÓ!…O„^<(ô.‡ÆS…Ê#÷ª-OÛK‡e§ñæKüĦ§#<©Õx"¤áO ï&Ôxê¡Ø’ê!¶z“§Ó¡|½ËOPîÝX°pºƒƒãx=;íÕ7›Æ!…‚wj<õPHleèqÒ^ ½ÓÕXžWÖO @¡—ßÍæ®§sj<õPHleèqÒÞ¤üu.OÒ!…”/…Þô‰Í‹'~ ëMžN‡òÕú©Ç&Í—Øj/¯ÑÞ¢2íã1}bfƤÌvá±Üš9`˜æ€9`˜æ€Ó…Á©3Ÿ\Øçá4çÛi˜æ€9`˜Uw@n«ìi’?Ðeòv£êfÛæ€9`˜æ€9`˜æ€9`˜æ€9P äò†¼&6\߈žQ©Æ$Æi˜æ€9`˜æ€9`˜æ€9`˜æ@ujpM=Èg°ÑŠŒ&v:Ýš+é²I2é¦ËV†P‘Qqþ©ðm9³ö'¶G_šM÷~’§ñt8Ñp'B/ž›žŽð¤V㉆k<(¼›P㩇BbKª‡ØêMžN‡òõ.%¨ñDHxwè•GÃ5ž»å ýzÓ§µðâ½üDèÅ€Âj/‡žŽzÜaµåÕÛrÐâÖ›¼z[:xêMž^>Z_­ŸzÜaÒ|‰­öò­Èè(L7LÄ6“°]“ØmÍ0ÌáåÀ¥WbjG¯äýÞ5¼´oµâ|WxMøàÃ^9û\´d‚/kæ€9`˜æ€9`˜æÀP9Pü³fð¤ÊP‰°yÍsÀ(ÛyÇ—†Î~giÛ¶ªí@Ñù÷£?ŽåkqÜ ÕžÓøÍsÀ0ÌsÀ0Ì¿vÃï‘!Ìs X·¶$j8ºu]\W˜‡”™À]ax‘< †öFÿž \ìÂfÀïCÀâࡾ åÙ&!÷T.èÿ& £*o‘ž"\­OVò¹Ór¸ ø{(ø¬˜º!@„ʃìþ‘ëU{l–O wIn0ʋοãmÙ¶Ä´v\pi0Üš9`˜æ€9`˜æ€90„ÈÕŒ¼KEÒå²ÉJ·$Lºl’Hš<÷Á¶dÉ’)S¦ „Iݽ Ï­Ó­Ð]R6§[žÆ!…Iñ4\‡nyÏ/ÉM›<,!ÑØ(,òP™L ÛvèXýØòl8JÂÑ»t¼~ÃòìAÙÜc9|p<Ú6âÚÕÙ7õåÉí½¬îÜ?»tqwOaâù“W¶ ŸAv¯¬ Ÿüæ©ËþþB/Ûµ9 ÙÎ7aé9œÕ–½·­¨dñ|j…-W˜®È©Å*àÿÐ~Ùä—Ï\†7"ûÁlî'9V›ûaã £²G±r¥Vœ¢(/rþþGrïÛÒª•MwÞ»ìíoîSɨ8ıQd“ôpò4Q¿ýIÙ¼j“ö«*Þ™.aºl¢3]ÂtÙ´<ïòÅ—mOWaºl:_J'ihò’:Føt L—M¤¦K˜.[£Ék´|ëühvËÑEFÛ[ÐÒŒY,+2ÚçGs* „ Ý£zÛ¡AO¡õƒ/ì’i¯îÚú7Z &y^< ×x"$<…2Ü]†“ØôtDH¡ÆSé8/ž ?)$€;;-Ïͦñ4eç•§ñDHaR< ×úÝùF…Ee”´Á nÄkeÅGôdC¾® LJ›gK{¥û>à}…½ß÷tΣ}ææ%|kŒùPD7†P‚îPfê“o£vé(ñÇÕ 4œ®á]ÀÜ‘^.XH›PÐ*—ޏ µsZë€bÐ ÊØ·åEnÏý$–¬F÷ ¼÷Wâ/Œ¢ ‹l83ÐáDÃõŒDèÅ€BbÓÓžÔj<Òp'…‚wj<õPHlIõ[½ÉÓéP¾Þå£5ž ï½òh¸Æ€Âa·¤ŸBoú´^¼—Ÿ½xPXíåÐÓQ;¬¶¼z[ZÜz“WoËAO½ÉÓËGë«õS;Lš/±Õ^^£mEû¸°Èh'¶·r¼ùÚw€OÇ0Ç.Ç5±Ð6Ís`(ˆß¯1Ø:—/7—´¶Ï˜Œy…P/”GQþPØ[üW`»õ/ÿuq‰-öÈŒ<Ì‚ÙÅåo¬yhy‰è£6>]4Ãl´/lF‰4ó¼y鉔Æ.ÝgUpû `ðŽ?8å‘Û¿¹-;¥ ]ñÛ_ñ\›æ€9`˜æ€9`˜µu Gþ<×¹Úš×Æ„8ù|/ =/ÝÈíój°ƒB/§Ìs öÈ“y-ͺnTÃp1° –î¼½»”0½[ÿœƒõczp*ðýÞ¾®é]q65¦ÒŽà ‘~Õ:ˆït÷w| XâBåòíkéI¹¢ò^‚ƒ×0ñD>pÚ.sÀ0ÌsÀ0Ìs žÈgÐ$?ÕÊ5»À1ˆuZ Ü"o>—kßN ;¯-ØAá X b˜CëÀk,Çå¡„ùAé ün®)zxw!”…¼+ž^†“û\")ìîû¯Œº»oOQIm¿l÷àåÙ/ããáÍ#k€}Ñö…Í`¨òMìJùÁÀÏC.ù|¸Qå!µ}˜æ€9`˜æ€9`˜Uq@.mÈÝruCþvg8üí;ÀI!J>Þ> ¸5ø5&»]XƒB?£!Ìs ¦7\Ä[&¨ ŠÓ®Ï72á™1Äm8? å[æ"`f˜<\èŒae³T’ó<àŒ¾ûʈÂïÓ¥qqµQ/DùððÖð¦ŒÝ1éyyò¤WyÝnÙ^åÒŽÍî˜Å?C.ù”r"ò_ƒT”‡”öa •3߆ÛïÎɧ5sÀ0ÌsÀhäÒ†ÜÁ!ÿïiê±·¨ nÑ3È=šÃ›q鯮]»Ö®Y¼váó#°²ׯÎn¾…!Ž4@ÕyÅà!—§‹ÕǽM]ž{ºøÔƒÜv+L:›Í+IOç&Ôx÷eàÝ„zï}á…YÝßo¼&ªtÑ¡¬s-xñjÙÓ˘jŽ~Ý ^¶ºÙoô?Dqôéè—°ÂÚ¤l¤\Þ¢’×…F°']p ‘OgËRÒÃ)i¾§ìIÊ&jÝ„¶·f\óDfÇxôIœ°m’ï5Óg™æ@_ÿ¥è ¢¤ßœ5C¼']¶Ôå¥NXçùÖ¹¼a· ø•ÑhÏ`D“TΗFõÀ©è«;”áîµ4\ðÔC!±yñ4\ã‰Ð‹'@)¼ |×ÀÅ…|Ep×÷à¸ðϤŠŽ°•†Гš¼¿›Ð«‡Ä&“Àj<z‡»NbÓÓyù àž® ~RXátn6¯<ÊNðnB'ý¦ŽwË£Ùuúôë9±i<R¨ñDèÅ€Bïrh<õPX¡_’âÝl^yîázoš<½d‰zÒ50]6I„í-*c[&·„oQiBs°¬îŠÄTñ•BñÔC!± ?Ü¡Æ! ×xP(x÷›/O¡ž.uynB¯›ÖOx 5ž O¡Nbóâi¸Æ¡O …ßMHx S—GgºWžÆ“B SÇ'rOÛEòˆÍ‹§áO„^<(ô.‡ÆS…C.Ž·­™æ€9`˜æ€9`˜æ€9`$w üuªIÞkwp$7ÏF˜æ€9`˜æ€9`˜æ€9`˜æ@}8Þ/EFaEF/HCÕ7¢r5‰ÍRÒ%L—MÄÖ’°XpÔ]X4na…òô¡ë&Ôø¸½:Þ-O p÷¤Ë&sÕ9áËs^yîáz­½„zˆ£']6;ZVfWÒåð±yñ^~"ôâ @¡w94žz(ryt<¸åéåp×øtó%6=¥C¡Æ¡O …ßM¨ñÔC!±iý„w‡C.åëÅS¾O„„w‡^y4\ã @á/‡ÖC=‰Üó¦Ol^<‰Ñx"ôâ @aµ—COG=î°Úò´½t6‘¼ÊñDH!-®žŽðj<zñ PøÝ„O=›ÖOxwXoòt:”/¥£ñ 0i¾z8õT[^£‰ñc1mBXdÔjpÈájÍ0ÌsÀ0ÌsÀ0ÌsÀ0†ŸÁ“)ÈHyI¬Õà~ëgŠÍsÀ0ÌsÀ0ÌsÀ0Ìs r 'ü'ƒf»ƒ#Ù!1óm¸âÁiòY^[ŸÇóKrò™{ Ÿšp<µ¨[Âuyt¯ÀÇ?ôì°3î{¯åñ·Ç1û]AO¢6¡}ã-¿Â+y<¹û¾{ì³òÿžÀëy<ú,Þ} 8$÷üÊ |lý@"b›æ€9`˜æ€9Ìù±§8@~àyû~øýý¹â%Å]¶a˜Õv@~é(N!'£üÆñ›?æÊþ£Heæ@=8 ÷nÈMòµ=yþgj÷¢º¦×ƒ²hd+™åš'2;ÎÀ¿žÅ{gu•Á#ßY¶ž Üí­¯~÷‡+fn×õ45aæ«®ÿÑÊ]¶êúÕº¯ûn¿m‹·ï·ô¢¯¯Ýc§d]xY÷_ïÇ/¾Å;Þ“;óÜu#Fà¼/µÞó‡ÎwøÂ—/êyò üäù|ṗ’‘—‘² ©’žéõ†¯'MÉ`Hzüg…É͆r éÁSm|C™¯“-þä#»dû¹¥}~,Ù}û9D{Ö@=vöÕr±éd|ôߨä7ŽZ*·¹ÊpàÆoœ;wnëdÈ)óŽßs¯})f½fI‘Q)Ã!EFóÁC*WÍt—H¡z*2õPHl^< ×øi[oƒ€I²'hTÍHzˆÁʽ n¿ƒÃ§½r¹4깓BšôDmÏ·ãÊkJbZGaÎÑxðÉRO#B óÜ \zV¬nÙxËî¥á“³ø÷‹X¶Â,mì8,Yl…©/ÒtÖ›<¯­?Q¾z8õ¸Ù¼òôÁï&ÔxÒCaêx·<šÝ›>±yñ^~"ôâ @¡èqj<õPèf+#}7!Í.üt<€Ø´÷p'BšNã @!±õ?|!°»ì Z0\¶¥§ÐÜ„´·—¡0Ö €!…^Bbó≟Â!—GN‡òõâ)A'B»Ò¼#¹×A~*xx§tþ%=ÑW¼g pBˆ‘ý&`]¸-?êü.¯ö/ì-ÿHoO §Ø)<§dC:EÀ‡åìX~n)Ðñ±'ýî‹?ç2ÚŽðÑ%Ò™È=ïtĿœx'B/žV;_=õ¸ÃjËÓöÒÙDò*Ç!…´¸¥éŠ'£Üñèd|Ogº'có¬)Ž“‘Ò)é—­° ß“±ø‡Œ ¼;<èÅ»ÄV†â'BÚ[¿›ø)ÔÓ¹Ù4ž)<6d‘Ñ-ÆaËqØfÓDåùãžÃRàk²î)´…Á©3Ÿ”ϲ[ôˆÊ¯ÓNîåo7òuÏ=xY~" [ÛØà:Å÷oÂoˆ:|NnÇ¢§‘mÃ'Æu?( ¼ärÌ;c[±V~ˆ^}Æ”öÚ–9`˜æ@2¾|:6Bž:¼&Ú¦9Ôs‘ÀŽÆÏÃÁrÇ­|I+n„ÛÁËÅå Öo…».nX½W?Æä®,Ž~î ?ºäÖÑ9À| p#èŽ8…çàÿ…³üýCØ> ì+?‚‘€Yj[Ñ%©Ñ‘9¢Å“ñüæd'ãuKÝ'cpò&97êÉ8v\OÙ¿q¤è·Q™©8 Wé¥É禣ëš.l…Þë©©˜WÉ´)ÙwÂ?ÿßüª—¨E^×›ÁÛãäÏ÷ö¬~£1{6Î<7ñd¯­ÇµßÆúu¸ÿ^l÷Æ`¸\šýÖõ¸õüæ—xu-F‡×5Æ´aÕë‰Ém€9`˜æ@¯?¤’Qøuý˜¼ž€—€näöy5€Âî½Âм3<lQ]¿œŒvyùÙM¼ !æ9t¼½³-vÞ˺sø&ð¾¾ ò [ôkUßî€g£<7½kï7_a6°wøCâ¢ÒmJ4nðá:`Ôè.Ÿá_Xd£§øcÉày iÔÎÂɘýïŽD'ãÔwlÑ+2­“qŸ|UOÆW_i*û7ŽÚ-‡Íd$t`Ó¿À±r³ øIøº˜ºycÌãâúkðµ+û¬Uv –/ zN*ƒ¯¿†—–‰Ú}ÂG Fì³/þúö™½â7À•—á—·<ˆ÷-8ìxøÿ‚kæ€9`˜å8°¸8*ºâCËð[¹5ø.pbØyýkÁŽbxMὠך9ПreAê¡ýÝÿÛ\b¨å±tqòßôè•o£y]á.‹6àiLšÞÜ©!W4¨QO>¼„!<§†7kD×V…ùÚ›L›C€ŸKâðŸã¸ã1²Ÿø~ûíý|YñÇ’Ät6À¨…“1wwnˆOÆYižŒÿ«ÏÉ(¿qÌÜã±³¼ß8j°6…9P†òÿ¦cÕዃçK{ ë(ç* ¹é»Øn‡ F†4y>EÞ¢rÓqrøÃʱGâÚ›‚\s#æžxî/Ÿ¹Ù‘Gcu_ÿ&>u®ø¯õ³öÄóÈ×nÀÕ×bõ:|í*\~ibr`˜æ€9Pr@žR9)ŒŽd[Ú4¿yÞìvÙxصKW¸Û>ÌÈ…å0væuâ×Ã2îr ÜÔæ*ŒX›Áà j¯\õˆ7¹*"_c‘–ä‹#Ò„VŠnÌÈâ7áN…×\⣒oÿ¿SÇ|êd¬XƒOü>ýIÜ0{¼¥ôcIr>aTßâÉø†ödìÚ±+Å“ñÜ/NŒŸŒòÇeW¿^öoÕ_›ÁHà@tÑ^>7ÊܤBÉV¹%OËýå¶ÖÖÖµk徯tZºl¢IW7½>âõÞK9&+„•3ĪF¾u¾#/:üê'_}èº?ºz;u<É~=©õlÂ$ú-Ú2X¶ ræðÅf\º1¸¢!¯,‡ÏÀÊV\¿:»}¶~ouï% •†Vaïþ7]6™+]¤lÞïEDèÅ“{O„„d˜{*‡S›&ÿzò²Ý7â˳[…×Ȥîç’\pE#lñí8mÔŸûYN~ê¼>»tßUøòšì~Á(Ù%58ºzÿÕƒ›²·NŽ:‹œAø»®GÇÏ;—h)>^Ô˜3¶óïc–î²—­Êîß;{4c*ÉFTÕ ¬sy’rº Óe«½<}6Å ½¯â=¹W:w} ·¼:ø“Q»uËÉ5ÐÉì:bY‚“Q®T~dÀ“1žË`¶Êw0cûŤK˜.›®sÂjË›?þœ9òhb™­Úò¼²N?u^¢·¨Œi™Ü¾E%ÝÀá®`L5Z)qT²• žz($¶æ¸êÚà}òuÉ•pÖ~ãî{Å—6ÓpÍO„ù¼\ÙéÓˆÁÊÈ í"~’G{e:êq‡‚wÒp/?±yñ^~"$<…ÞéˆÍ‹÷ò¡O E›ðêtÜlO„tèzåi<R˜:žò%~šÝ›>±yñ^~"ôâ @¡w94žz(ryîõ"yõ¶ ä] ·áWKa;GW¤8ÂqáS‘Åð„èïã½(Z,é¥w(xRèŻĖT‘¹<:öt:”¯O j<Þ–äí<>6"O§¾Wº -þcK¸Ýa„‘'\žv‰ —½òU¸ƒ#áCHÞ¯!ò Ê¥¸Ìh¼ù;°5œ”¬pô£§0¹Þ«{ˆÐͦ‡žØ¼x®ñDèÅ€Báwj<õPèfÓéÐp «-O롳I롞¤xN!¹W’W<—%;ÂèäJëd<²Ýq2R:%ý²6 ˜ïxN¡ "BP(xê¡Ø¼x®ñDèŀ¤ùêáÔSmyö¹º1SÛ0},¶®÷GTÎ<RqsËNì¸%ּ޳¿"ïR}åʯaB+Îú~Pñ£¡r°Z3ÌsÀ0Êtà,HÍüìù…?qßÈ¥ŒÈþzR@X»~†eÎaÃÃ;-ƒÇFºvë JºZüV‹à¡’~[Ô¿(¨ à·.à„PÞ¢"€x â‘w¦ÈσÒ)/Rù)²÷ŒÃÔ0|3 ×J¬™æ@ádÌî˜M÷d NÏ$'c×;íà³|Ëv ¸¸Ø„&ù¯Yø'¦²yª?ð˜Oà}ïêxýµåRÿæœ3ðÔì¹K6—ËÉ›AÆO(§gõ%Û æ€9`˜æ€9`˜æ€9`˜æ€9P2ÑÃ)=È×ûŽ-¦båËRÈ»·EO¡¶Å3KÑ> _:»°#Ýåõl2gò7˜¤«ÂØÌsÀ0ÌsÀ0ÌsÀ0ÌsÀá€Ü•G~66eZê½ÈèýäœÝñÒòæm¶]³liËÏ~³|ÿ½zï~ÛÞ«~ðÓ5oœZ¸1x€Œ©DÊŽKN¾ë³;¯ÎfzzPÉ®¥[¬Ïk.“½GЉ÷ÓjSß(šxù6~ë¥1Ÿè»´t•§¨éÕί}wyóI“:ž+]¨Šçð™‰ÙgZŠ£mÄÙ œ.aºl¢¹Î +”§]7¡Æ´¬Qêx’—”ŸÔí-#¬sÂ!—ç^¯!—ç^ñ²åm™_~ÙÒàåšÒ~…ŽS;£Wx–M8Ît ÓeÍé&es{ZžO« ñI!…é²é|iº¤¡ÉKêáÓ50]6‘š.¡—MŸMd…Iñ4œB¯<Â{Ã:'4yÞtÒ50]6QN„Vd´­eò´e0¢#ƒutì¡‚(Êpw‰§ ‰íÜ ƒÚ¢£Çàæ[qæ¹8äp<¹{ìÈ~ó[ñï¹\ô» ±O;¤h–|½1 Z¬Ô–DmÛw¶ö öH#6é©Ð."¤|i/æÏ_ ¥„}Ò/{k} OÏÞQÚÝgxØM=öaž†Ëê!BÚK¡Nbóâi¸Æ¡O …ßMHx S—G‡®WžÆ“B SÇ“{ÄO³k»@l^< ×x"ôâ @¡w94žz(ryîõ"yÚ^J‡B'B/ž›žŽð¥ðʰîF'ÆìÔà0lDXÂ÷îço• P¹ 5žz($6á'@¢pÈåѱ§Ó¡|½xJ_ã‰ðîÐ+†k<(òåÐz¨'‘{Þô‰Í‹'1O„^<(¬örèé¨ÇV[ž¶—Î&’W9ž)¤ÅÕÓžB'B/ž ¿›P㩇BbÓú ïëMžN‡ò¥t4ž&ÍW§žjËk¼"£ãÆ`Ú8¼a¶’2uÝ.8ãÇ£û%ì·?<Ÿ;§œ8úÚ›PöK›³OŒ„Í’‹ÝÀœ~ÛKÍÁûsë¡í |jæ…u¿H’T“~Ù+Aê>9>Ø+•ü­™æ€9`TÛO'KÜv'Z3ÌsÀ0ÌsÀ¨¦rÇ‚<¢"OhÈïñõ~cãœszvò(l>ûîŽ/~üyÜ®Û`t»ï„î+×§‹¿…W7ä2Gݶ+€sýÛh,NR*¥gA¸÷@ºE€GFáxàZDwëh”õ˜æ€9`˜æ€9`˜æ€9`˜Ã֩‘‘k¢¿Þ/pÅå_Ñ " ~¬Ð;€[»úë¯eßþÀÎÀåá”_¾¨æ–é—&A žZ ·I?\+±f˜æ€9P]® /(oŽ—7ß\Y–К9`˜æ€9`˜æ@5.o„7qÈ$™èá·§³S’θÇ>+/úúÚm¶D÷ 8ëôwÝ1iÿ—~ù?óòÞ“'þ³¾ÐzÿŸ&<¿$§6%ûÕËs÷ÞƒÛ~–=ô¹½gáÖ[Z#’EÏãì3’YïXsÞWW mÔóúkÍ8àÜ%W }l0ïçà·¿LVd4®'Ú–"£ÑÅž(ÜS¼©r»¯oÕâlíoìl]^rÊ woß@ö'½ÙåHØ”ýÙäœûÀ2|®'ûöÂÞçð9d÷ÎÊE«¨À ¶\ÿöû?wúyëL ò-&hCîéTŽˆä%-å•:žä%å§tˆö–Ö9áËs¯×Ës¯xÙò‚"£—EFócó™ù™Ž/X‘Q·ÓƒÚ›t9ÜÇžLI„^<©Ôx"$¼7”ŸC¼˜M^’—F’®…–Pç„Ã]ž>›ôÄ{’âãcõ¶vÏNÆD'£6P›<øžtÙdÞ:'¬¶¼F+2:º¥£ãšÐ½,¶ÌZbO¼€ƒGËHœxrÓó+ƒ£÷…Uxç{0m‹Î÷”ÿŒšÔSYû}¾y~söÞ·Ý-’›’‰ˆäé\/mÔ£ ÊŒlÅ Ÿ¨¨^‹LJ=Þ .á,½jõpb€»á)Ôü%ywÇÄ<Ö+©—áHà‘ §7”mé)†²%xU,G¤ÁÎÂðp;ú …–ä†Àê‰0ép›žŽðj<zñ PøÝ„„§pÈåÑ¡®õàÔñäñÓì^yÄæÅ{ù‰Ð‹'…¢ÇM¨ñÔC¡›­ŒôÝ„4»ð»×‹ØÊÐC3!íMÊOlI‡ >Ÿý—Ï·¸eð“BÊ—B/?±yñÄO¡ 'BPèŽØ¼x:ö4ž½x¬ñDHxw(òèç7›NÇËï&¤á^~bóâ½ü”>á)ôN—º<"LªGãÝ„O=ºÙ¼v›àÝ„O=›ÖCg ¯O„jyDHÓét@aí—#iúî|u:ÔC!±•a—›ö–ÁO ‰ÐêéÜlïå'ÂF+2:ãGaêhtµURdtÛ©øõ/°~î[0eÍë² Xü¶™Ñ£ó¿¼Ûlôè&55N;yÒÕ×â“GcÃzÉ·w É]ÿ‹ˆdß™]mÔ£ÛÎǺµøÑMxËîz†„=g$ÄW.ÏË|,d—7º~8¹ïL7ËÅ `vØ)Ÿ²-=ñ&x%c¥õ ˆƒmÛ0ÌsÀ0ÌsÀ0ÌsÀØ?,Ï©dI¡Ç™ç-žw|àÊ{faZnþŲ?>€½f èÓ.»½¼nÞú¶>€K.GDR쥞b8¶kרW_Á„1Exò yMìß9ÉViÄÏ€waí„|6¼YCnè öUô>b"šÈ65ÁË]2VZ¿Â[h˜æ€9`˜æ€9`˜æ€9`l"dz¯èGë(|ëzüÏÿgï:àã(Îï“lKî¶uÆE¦Ù4CBüÁ‚ÐcSLB ½%@€S:¦ÅÁ´P„B %!À1¡XrÑYîU.Òÿ›Ý»ÕÞ›ÓÌíÝJ:I3?ýNûͼyóÍÛý¤»½™oŸ-{îi%É‚ù¸ììÿ½ÄI0Mòtf+mŠŸß°Ûhœp äXJ÷ BòÄtø$RãÓ5X^Þ}ž½°Ô[9’m[,Üø÷°ØímÈVk_ ¼Œ%ÿW‡+€3³z°’?X"¯c½H¯+P½ÝÊfzWãp 8œN§€SÀ)àp 8œNv«€,Þ(E£ZÂQÈ Žq{á¹W1åÙc2È—âËZ|ºuC¯^´‡+%•$θs*.>·B6§œuš:Þ÷<üxÈ®¿Œ»È§õkd|ò$LJäï±>þWªWî¿’#פnŒäa±EUd—ÊdàÏÞCOtÇdÝÊ-ÀõêÕ[ÃÂyTŠô½uA³îàl§€SÀ)àp 8œN§€SÀ)àp ´cdƒŠ¬Ý»ê‡–ä>­÷?Kîß—'¤Œ»øÊëÖŒØÕ³qÁäno¼¶ß,ÏR‘V9¾þ–ä믪G¨øõò •ßg®DØ3’V4ÑÎ]Ez]ó[ô)ÇÂå8÷L¼ðLŠ­©O楨ݼvâW4ïÁ@ IDAT_RyKBÖ¯øE&GÊÜr œeÊ’‡êºœÚ@M×ÌI¤¬å•ëWÞ» çñzÏï’°`غõ·/ìy\³€¬½ •¤ž™cS¼„ñ²ÉŠœ°•Ý‹z©ÇާùFå§k’ب5³È ÛÜ=óùjs÷Ìg¼p÷jkk JÝý—± '$‡ã%Œ—-öùFuÏ|íéîYñ$¾Žê!ÒûÙˆ\Ÿ¯ˆT»{4ýHÎèàØÝ+rÂöîžMú9 ×DŇûêǺz^:¡>h¤šx ­lQ§o%lÃÉÊÐñº;aK»× Ÿ¢Ò½KÔST¼ÏÑt#’)'›R¶š» Þ 6+žØt<Rf{O„d Þœð™ðdêÑ{V<È~3¡Ž§2‰M÷Ÿðdêx"$<™zw›OÝu<Zñ SøÍ„„'³ÍÝ£K]÷‡ŽOê?nuجx+?Zñ Sü1êxª!ÓÌ–ÇôÍ„4ºð›Ï±åáH„Ô•ŸØ¢v<ý¯!ÂÝ~3aT~b‹:_}8"$™ÖáˆÍЧkOÇ¡Oëx"$¼˜‡¡ž4W»§Áï‚Ä=ZõjfÓ§£§8CÅLHÝ¥ÕIlV)x3¡Ž§2ÍlÅæžîEÍ®p<оºH=N¿Ueº›TS R«Ž'™‚7êxª!“Øtôé‡åÒƒ‘i82õá@lVË|EW£ F_·°\ácR5G37G¼ƒ¢ÀÔ©S'L˜PCÛö=sâI»ŒÙ5Gv3¶G·]ÑK2ŒvŠ$£•Û Á=ò]@JÊf$µ”Æl žÌxjÕ‡£LV<È~3¡Ž§2‰M÷Ÿðdêx"$<™zw›OÝu<Zñ SøÍ„„'³ÍÝ£K]÷‡ŽOê?nuجx+?Zñ Sü1êxª!ÓÌ–ÇôÍ„4ºð›Ï±åáH„Ô•ŸØ¢v¼K2*"…N™£2£žºöt~"´âÉO„„sÞòÔ~ Ù²A­J%Ù”îÀø µìô/^U€÷1Þ+1˜Ma±º î˜ ‰Mºøòîøîî¸n ¦=©˜d²~«,^‡>}•Ù¯Bg”ðô=¶°\É•MÒù½‚Ლ÷²â‰M0TC„Ôªã @¦àÍ„:žjÈ4³›{º?M4»ÂñD(føê"õd8ÆÃzF F"¤Ñõé€LÁ› u|P“5…-Þ`Œê^†¼¶XËC®`úÒWŠÙ=ÞlZ ­Ý ÐÒîuÖ$£ÃzaxÇߢ2ÿ¦9XLTº+N§€SÀ)àp 8ZY {«'×ù?¦¡—cè?zãQ¨ôaAñpfQ|Y‹}÷W+8^x¶×^û6¹¸ßAɵÀ‹Ïãç¿DY9&Ÿ¯öª˜KX®m6Nä$™Ñµ:Ò „¯®t]¶ß^0|·CãöŸ[DÁ( †K¦¤÷îr®íÓˆ§½{LÕÀ¨l'ÅÕ9, ¨+©þsb-ÐöÝ\u|UuµŠ+N§€SÀ)àp 8ŠXÀ»0{£,~’òS¥9”"i8Š»wnú½J·Q;ũǧ|•¯‹åÕQ‡«ÔNÇ‚ÕxçMü|RÀž†£¸§ë¼ëè xÁX·Q²#ã:¬_TÁx…ú‹§þFxeÞe5Ê<8xj¿ž+N ¤înH÷˜Ø²9¨SÀ)àp 8œN–Rà%`cµ¬ºé‹™µˆ:™LÏ)ßLkyýŒÞB98,+/Âæ^»*SJ"áÞ|úJ¸×"VÀ ÆàbV޶ÿ` þ¶K0Êb®ó€«Ò—ÁÀ9Àzà·ÀßÓ•î·S Šr“£A’ŒÒæ·( íûUbP!®o’¬-!}",Ð=á7Få'¶¨óÕ‡#BiŽØ¬xºöt<Zñä0™ÂO„0›Òï™ÙôéXùÍ„ÔÝÊOlV¼•Ÿ¦Ox2­ÃÅîFõGÇ› u<Õif³ÊEl‚7êxª!“Øt(ú¨{áx"$Sw¯À«‘i8}: ³õOGÔé›ç«O'ƒßÏ |poúoàr¹þdÒ€gy9GŽïssShedk¨ÚZ‚wƒ£•¥wÃ9œN§€SÀ)àp 8œNN¬@LG˜âw_Ü»{Ç#/:±2nêy*º¤ä&‡»Á‘§„®›SÀ)àp 8œN§€SÀ)àp 8œm­€Z¾á—Êw’®ð;jNT3u¼l2Vì„QÓ­·ëùÆ®^¼„ñ²µÄÕ¯‡ñ²YçõROóÊO¡GlÔš‡Yä„mîžù|µ¹{æ3^¸{4ý Éáx ãeWã%ŒÊFâ“tº{V¼Î@5Q=¤îòì€Îüš>‰Õ,ð\èÃ9a{w/jôEÅë'4\£«WàÕ¨†‡Ëã8^B+[Ôé[ iÊfþ¨lD®›ENØÒîu¾§¨ô/E/yŠ àž¢=C¯9á3Ý0"SbjZ:ƒ. G¦îÈ=+žºëx"$<™zw›OÝu<Zñ SøÍ„„'³ÍÝ£K]÷‡ŽOê?nuجx+?Zñ Sü1êxª!ÓÌ–ÇôÍ„4ºð›Ï±åáH„Ô•ŸØ¢v×§O„º'üf¨üÄu¾úpDH2­Ã›OמŽ'B+ž&Sø‰b^{êV«Ÿ‹®ä·Ò=ãÉ66}:úpŠ3T¬î…°êÐLHlV<±éxš¾à·ÚkS?ÖîˆÝ="¤áôé€LÁ› u<Õif+6÷t(úhv…ã‰PÌp0’z2œ~5ªÊt!6©¦"¤VO2o&ÔñTC&±éþèÓ7#ÒpdêÀجxê®ã‰ÐŠ'™Âo&$<™­ï^ç{ŠJ¯2 *ǰr w[TäzsÅ)àp 8œN§@K)pÞYØïƒ3ÒéôZj¤Á{øx\|)º•¨Wœñ*à‚1’ž.#ÉåÀm¨€¿A¥Ý\Ž6< nh§€SÀ)àðokg×&å5¹§LTu¾¹¦Õ‹pÂ)ªæûûà“¯°ªÿš‰Ý÷T5¹—~¸ë¡ä²F|1WõÝm^y7)TŸ~ƒ½÷Çâ£ÿ)ó³Y8è°ÜYÒ)A£ŽÅK¯aú]6^Aõ¬jÌU‹ TiÚSÜtœ<3‰_yZ­q8ðOȲs¼ óF ö$¨¥UŽýqÛ¯¹Úä¢|¦úÉ XPãO6Á\›S ?rFuõv `T[\0æwѸ^E¯€Ü÷n¬O½ËÎA§€SÀ)àèÐ ”ok÷ß—_“š§˜e%®¿YÕ<0GŒ%8ö<8=š¿¾Ï?ƒŠn8ûtÜ~î}¿¾¼¤o9.9÷MÃÙçâʋЯ;~{-N›Ù¡9*ðÇû±Ý(sœ>øƒ·†óûšAJS?à‚fZ[¹ú^à%TŒˆ7»²]‚Tzyï)??¾Ø Çf§ë¾=£6ÆÐ \õ›t•ûíˆO܃qƒMv¤`¬^¥TtÁߵ䘊M@~\’ÑÈ祥óEv(³C¼kâeOã%Œ—-v÷b'låùF½ÔcÇÓ|£ògFFÌ×^ì'7vBRÔÈÃŒJh>_Ä&ë5ä‡xõí–ßÿÈÊoo–ðkJJ°ÃÎË~tĪ_NN¼ñÏä‰Çô™ñiÍ·Zu÷CËvÛ^áƒB„A½ðÁŒäSãè ¨‡ŸØóßööë&Öýåµ…½{côW¯*íÓ·áëFm”0³yV3˜~CêÆ-øï¥óÖeEæWY¸‡áqãeæx £²â‡ç>&B+>Ü7ë1ê˜w>NºïkÖ”¼ôÖÂíGf\ºïÉA¿Íö]Ý£¾¾Þ' š|~T q93è#†k¬î…ÁÖã0›¸W1r`ÙÒÒúІ%3êä^Fàpp „Á±:Ø0ÑXŠùsšòª­ÁÐï~’œ¡ø}À=c¿!­ƒ¼Û+R/ÇRˆ-À«6¯?™išþYÀNÀ£©ŽY»K%1˜MÁ“‡V¼@lQý!ò6w¯I|qÅ+ä!Í׊§îdÊDH18rmË~«ÄçZ9è]u©ƒ¾›|ªÚNUHS›Àþ¢®¥ð#WÒðz)uV÷¼~M/Ä@f›¸ÔÏs z¨œPo/Ó“RÝÓÇê Ô52løØ›ÎÁ‡¡v…’kßxv'ÈÌpÏŸ“Æß4UMçgÂ}û` pe9`6¥›ÊŸ5Ù7{‰Ús÷ßÙ;ãüî[l9KSC˜ É=ëÓ!™¾{©½_ ÓÊOîéxŠ>+T<ŠFݽ¦«Q.›¾ÞÅ%‰F×§O2o&ÌÀ‹Ã¶`TlA8ÈAÁÁÁ=™Œ”`tÏÊð_›¬@@&lÁhvÏç—`ô‹ü•–"{Z§?ÙÓúU’÷à aî±ÉÞjÓÉŽ”sÞ/"$S DØÙ’ŒvŸdthO—d4|ݸc§€SÀ)àh+dÇ6£ðùðÜ3)üƒ[m‰I“UÍ­wa‡mUÒÁGcÊíÑÜ\^‡î¸v Þ} [l®úvïÑpÛ=xb:ž{KW¡GOYÒˆž½ÔqÌå&` õ}|ÌÜŽ®½(ð̓ذ7ª6À_ž2ºüp Öõj„ä"} ò‡À«HÞ÷’„lCåT÷¢çp÷F\üÕë±óÇ.ÅžÀ²l’Î`[Ìßf5Œ3øócÔKÉ%;ËŠ­$>ì-Oʦù{';ãÎ=S팻ãVÞwáåj^eŸüÉ]Oƒ‘‚q­ükpÁØÑƒQ®?èôRŽìi}òQµ§U6±ÊžÖp™xNµ‹Í° Eyܸ²LЧ€SÀ)àp 3>Å=wàú)®$aAªéÒ«W«ƒµkÑWrD){‡¡XvÝᅦq{ááÇë¦Ü€§ŸP,ÿú@RÖuíùÞøãEáÍ;xèõhvWœf$§æ÷0÷³H.˜§ j1|ú;FUu+ð5 7Ί¡œì…ßÌÇîÀ‰žCgZç3²ù7MâMn…,Å=ÙZÛKܦíùú! ž­È™™sðÑØq—e²L¬f±Z")ƒ²Í·ñè4¬©Ç -‹¼¼ek~ëìŒÙ.ºƒ6RÀ ÆE_Õ¹`l£Û°q£ŒºýÂv; n.ºG¦ÜVyÈ.W›¹˜6F¹ÑNÀßÁï>*¯ù‰zRÀ—³ª¥2ü¤€€ù¢+›"*¨´ô«Xï/¬ò°ó®Kä‰ÁÃö9 é/‰t °*éN§@ë+pÿÝØb+o÷åoãýÂ$y£ œ<O¿¨¶LZåT„áÐñ¢7ÞŠSŽW‰EeÈÇŸ¤6ÂÜù{õÍŠ5*›éM±'5”©?$©wœ)8"ÍÞÛ³€ >öÜö“tJR@)þ«¬s¾>¹P ¥ØÑÛ2#Ñ«=‡îöL¹w_È¿´ç˜¬f¡¶Ø\jm‡õÀ!ÀãÀçHŽÎ²îKV™3 §/ËÍVÉŸÁ)2–žõízïŽíŠå¥ýz* dyš_î»ëÖ¦ŽÝ¯6SÀ Fu­º`l³sÛÀ£ ºA0ë+$zᜉÝïzPùÄæô‡ª\lævVÚUÒXRÚyÕ7ðDõˆ2šDíNøxÙ„œ%;ɼcfÉÖ#0ãkì¹s´_þ(A"½íwZþÀô•ÛlœJ¤WZ*÷ø—<0½~‹¡)ÚÉ$—-Åe—ÀO¼—»“×ß’|çMüùÑÄžû$/¾]»ââóJþöòÀ}öŸ/ÙÈÿ÷_<|¿|i9ðÈcêö;Gb™©—»Í!ã%Œ—M|.rÂVv/j*¯Øñ4ߨütµæa9a›»g>_mîžùŒî^xúëz4ôjhJi:ÇÖÂ= /›0ÇK•-,~xšÁ1 >hŠëàðš i‰d|Og,¹gëmo—0^6ñ^–¨4f¬Q±Ìh—ô€gV›ä zåx`žoò¢$¾ƒÄAünê›Ú䈪ʵk”¯³j“›UUJÊ䙳æo4Hå0–/·–ÔcÇ­®\QÚ«wÃ{ŸÖm=œ‚wŒf?Íî™ûfm—ÐÊfVr2h5_ÄߢW •‹i0’cekÛ`´ºL$ëŒ>¡!…'hþñgÕIÉ;¾jei·n˜Y“ÜXûãî’Õ“+ œ¯> v¶$£=ºmнåöF§H2:tÓaø!Ð?uPv"©¥[ࡎ÷kºtŵ7©?ÎóWáº)óûûà“¯Ô*ûcç]ÕF•Ï«U¶Tù‘J)B(ïýþúwq4dgÜ©“ðò[~WõðïƒD¦É=¯áͦô0R÷°Ã¹¸§ã)Z­üf÷t~"$“ØÔ »‰†‹êžàÍ„Qù‰M÷'êô‰ü!S†3ó›îf˜Ù‚Ñ'4£0&ÃùÇý'œ¢œ=ø°²¿ýCÅ' ºd8 ^O­RI54_jÕñ SðDØ)“Œ&Ê0¤ U²ˆ°ƒ—ÙÇ×à)àzà„fúÁ?pÎ_|¬N)·ý¤Ó‚8ûôTç N~}ª‘»KC6‡çWV¤Ví´ daÕ¾cS4×Ý„‰'ቧRK"—/ƒ¿$2¿Q\/§€SÀ)àˆ] .Áò娏oÒÿ¨cÊ*¼“†½wÂd"18ùÌK> ö1¡SÀ)—òê9`?$þÝ7 o·Iˆæ¬Ópçý(+—7{%K7ÞýÔF• ÈÎ8IœüÀƒX¸'«ªåÝ`°>€¹§€SÀ®@aÁHü²§uê4ÜüÌübÍxÙ‰æb“*VÓ_Û'‹°d GÇ¿ÁQuGUõ˜j¬)–³![N6˜¼ýÞŒ'ˆs#¶À{Ÿà–péEÊÕ䎌Wä†H¤x+×Bþk† K6~{[êaò(=±jeË<, å²ûåp 8œù(pìO±ó·ÔŸèó»^r¾¬Å’ŲDýHjÕÞ²»|x]§€S ^Ò¨ð’|-›…ú…gS·#‰Êd2943/²ÿ¾núê£| +9 7{dfÃU9œ¢@Áè é¥HΩQß+Hq±éËÒŽ^KÔóSÖ{¯íÈë¼\]²á:•Á^îäÍÍó“ä_Zð#3ŽšƒCpüØû*ÀXÀ®{,zîUµÄXÀ'©G¯·ÔÃò:A®“SÀ)àp ø ‚E šÄ¿gžŠ÷ÿšyÉ?VÇ®8œm¯@øUÛ{ã

’bô·`ŸÖõhìº*•t{Hõ¬9Uà ¡,œ¡Ñ]_§@«)õR/6|« åʪ@Ôë!+‰_) ñ–Þ:·ÛäA~S–¦·Íí{úà~ó²ßµ¯¾\=Á²êÒn,¨Z·ò¦¹¸±¢êÍ>3Õ³ªÕ£=½²tк%gÏÝíÇW|3üÎãÁYçU—”âö)î›RóÙ0ã³òË~UôÕß”o¶Åª‡¯Ûi«¦£3íãµ×:"„¯ŸÖ±¨Fiéé Ìó=¦oÕë™{Nb Ñ[´¶ôÕXä§¶¥§ï‚±5/€©S§N˜0¡5GŒw¬3'ž´Ë˜]säÜyÌØîê)*½JÔ–.ªeadJwºEbînŽØ$‡üÍwª”òòã§”ø%§$d L5¯P Rf{éAx³)xsÂgkw{Ôš‡{f¨üÄ–‡?4"R+™ÖáˆÍŠ·ò¡O2Å3!áÉÔ§cfÓñDH¦Õ=ºÔ­ü±ãi¾Ä¯O‡jÈ$6ët¨»Ž'B+ždZO‡Ž§2ÛÜ=óù"÷ty3¦ó{à3àEA5| ,]2Z¥²˜—nó~€L“{’æópà°žtòÅÁ`à]à`=ð”+#(ÒpBå×È¿¼oS»’y¯¿§ž­°×¾ê)*«Õ«ÅLØÐÄøÓžº“)½ˆdZ‡#6+ž®=O„QýÑñfB?|ãTŠ~½;=YÀ̦O‡É¼™PÇS ™Ä–‡?DHÓ—ÖoVO‚[ÖˆÛ§ò›4ëp±»G„ì|:xÅ1¿€LÁ˜ u<Õif“áozB³œ IDAT6[Ú=ÝŠVrOÇÇ2ß ‰M†Ó¯FU™.­ã^z4õ›<$È<ÕIl:^Ÿ¾9‰†#SŽÄfÅSwO„V<È~3!áÉl}÷:çSTÊ1¸ÃJEîb.’R~…—R~ë±z$¥¼_üG³çÎ7§€SÀ)àˆA¹qp2pìøpP6>pú@“c½H/YùÑ­™î:Þ\#92ä†^þ|GÝÇPàTô›ç} ÃŒ5ë×aòéØÛn’Ø}'œ?/=m6ÁðA y•cWÚ¯ã¾ß~}omÏo¼Ç>%8¥ûØÚ¢¹ñrWÀcîZ¹`Ì]+‡,Šý‡¤”¿÷ö^JyHJùc½G½ø Õ¢Qß9âp 8œ6.î@â›n8 =ú&PõqAŽ©^zLîš½;áó6Gz=å5s©HÞ|Òñ½w éíú—{ì™›?²((r܈¤<]>³2Usd ×ððª¶?°$`iÉÙòûOÏÃ÷€aÞ@«þAàÈ·ä—–6;®À’õê1É®8bW å‚QmÁH_ù©ƒb Æ”{.c¿¤a) "°ØopHJù%‹›¾“”ò“/H.]¬ Ò‚¥ÈX\Ü‚C9j§€SÀ)àhVuÆ^ûSÀ¿µ[a€ÀôErËCz=…Äsý³tov`cÃHü½7#$Ñ“ÿà Îv (rýLEj• !o}RiÄRmªf<0-:*dÞô ™-wx¯ÊµY1b ÞîÊ6Œï¿´Ñ!¾õʆ Õ••âêKÕcV¯¸6Të1)Ðiƒ1•+ÊcL’£)2ÕTÔ?›Ò}ƒPT_ËËËëëë£öjOlï~’Üo t‘”òuó»=öÜ‚­6宿©áÖµ“^»úâÊ[% )ùêC½WH—ùÃÖ6Þ¶¿é™åý«‡Ù$YûUbP^èorè [·þ¶…=: ÷ü¦»<fyåú•w/èrzÿ5Myõ„>gløº[Ð+ÒA˜-RÇæÀñÆË&>9a+»õROóÊO!±Qkf‘¶¹{r¾ ª¾ãÇ• Q²sÿàOVò7ê›ÞÄ/R¢“¯ÅÛ‹0¦éoZðç˜>1áÅÜíݳÿŽ‹õawÉü©ôšðJPþ?¢ƒs9;ïºä×7Öo¶1fÍÆÅçu}íÅþ{í7ÿ²_5Êþ™ÿÃE¿(÷Í~³åËüP‘×Ü”|ëïxê±ÄA‡%¿;OL/'¢]µ² ö9 ù›)è× ÕspÕ%xþ馈¡¡¢æ2ßÜ£²YÿVD%´ºš apîô7-á÷!r,Bü·UjiFºX`ŽÊü‚SÔ)A®ëÞ¸ð›ùA—\ÜKcÿf*F,[ZZ_ѰdFŒö*p ¨vòMj­þð/½<íø¾Éye¯½W·ýÈhdØ=ŸMøýƒØ^O+M<>0o6Ýü©¤c¼l±ZݳF+‰c%$|V3ÆMÓ±ÀÂW#ýÂêb3c@’ãAîó•¡­Á(l²ˆ#ð¿ð`ÌÝ=¾JŸx‹1£ºgu-^ÂxÙÄy"œ6mÚøñr/<ÏBly²„ºE%<÷œ‰“ŒV”ª$£]äG K÷8"™Ò=RÂëpÄvéÕ*·hžøã¸àRpH†·y$Å®²œRýl\æ}Å‘ù>»×–T¹qâ©*¤†Ô˜ó!žLæËxù~æàzå‰_2R/­™ßád àËŒÌ|Ý=Fª!3ƒ-¹»`Ìb³âéo…Ž'B]Ç€LÁ› ¼œ8\U…߇„N®_Ÿê.˜ôOSêìÕ¿üxUskÎîy\ê%pد!3c²âR?/ëðåXJ#*'Ôú`ßôÙÒÇ>aДՔᾷ7¾®Cr%Ž<†‘.ä™îùdŽNx2u~&Ü·ÚþseÊwO„d ^ý+AŽ·Øó–7QlR/áïb “Ü£Ö€0ÅeSO`f¨üĦûCÑjå'B+žéŸbS*…¯– šÒõ©î‚Iÿ4Õ¨Î^ýk¦` ðЖ‹Y0ä¡©»¸d FÅž ï°ïŠÿšÙ*Ùƒ1‚{Íð‡'6i2ÍWšmÁH„ÄæóëÁ(5ÁϪLA„0÷ØÌ:œa¾V<Èfšo'L2Ú •eذCº†….Âã«.Å­w¡z!Ö®ÅÐaØkuHAn&f–%·÷Þ‰ÎV³˜­×Â.+²&c`ËÛ’Qï`àÐ>xr.VgŽØ˜ÒO,S¹÷d 6ðþøãR•™ï)jv¦SÀ)à(>®ª½l ïx»Q$­ÆÜL'Íû™8.õHäoãþ™Ý[Î’¯IäGÒ"ü7Ï1FIu|íeøË"çÎÁf#T&ŽžIàþfÒE:Jwù»'ÈÖ,rë|”÷±Sž+12Ÿ;+åÝqÛ=’G/?_)Ž/˜Ë.Àw·Ã/&õ&ÿ˜²•6U[KÚ«ò„S ÇR„ä׿M ÉsO§:P ™KWÉ>Põ¾g/ȱ+m¬@ T"@½†¼êIFƒš?¥¸ƒÖV ˆ5X®á°é»Ô¤ƒQ¯†þkÖž»`Œ/eϦ¤¦ºò¢þþ‰ bsúCUá˜mÓêÆˆ¢€¬àðàù' ò–IZ²‹Î-ÚØï­¾ü𥛥³¬eM‡vÝïPÑ;×thÖŒ&rw6-‡Ò$TsQ”WØpjºpߊÍ+Ë—x·œJ|+‰ß"ñHjifò 1K¥–l&«ÃÙ ‰ÝÒ­G$q6ßMÈiõçË€XSë…}vÇ[Hùt£¦ ³â)x­xó¹ 638—Ö"'l×î©õ7/*;¹Å\ùœ”¥è€ð|^·æŽ…˜Ô”‹4 …±*Ìf¦åÿHð™M¾A˜?1¹Û…WüwÐ-Aß\wÝcÑ9ç¯=ïì¾3?—†ª¼÷iò’óñÒs‰­¶]~ÏC+wÜ*õ7_2äù¹ñÊ»7<0½nòÏ*jf• ­ZóÛÛÿá–Ò‰g5„Iˆ–Lå‘§“<\úçÇxèü£'à°¦Fñ\Èó%—ùæN•MþVäNÞBÈæþÑgŽ’ÔFoVÎpe¼„ñ²‰Ÿô6,ìyÖcý}šYm’7+§¡Ò<ßäEI|‰ƒ8j¾©Mލª\»FÝÚ™U›Ü¬ª²¤3gÍßhPB¿œUäš•pŽÃn4WÆÈ±Ù=çbÆKhek…h5_¤I‹^-4V.¦UÀ\HŒ•­mƒÑê^0‘¬z0ú„†`žp Ç?>.9zGü|"ǵOÀ²º‘{eóÕ"ÂN™d´G‰$“)Ý©¦É=ÙÏy|ºõà3Ï›ð‰ªIu—c© L9¼ô ÌèÕ˜îîû/ä™MÀlê#aÔî„'6}8“©ã‰ÐŠ'™Âo&$<™Åæžî9L¡Q8žÔ#~Ý:±YñV~"´â @¦øc&ÔñTC¦™-é› it+?±YñV~"´â @&±åá^£<ª,Tˆ†óù%«bØÌÿ¿¹ûžøpV6bF $Ó[P¤Õ'¼}*þïǪÚ'”ã0ƒOB´dJ_éU·õ*)©üûö yÉó|‰MðTC&±YñÔ]Ç¡O2£ÎWïNïCÚÖ=].r˜Ü³â©»Ž§éžL½;t÷ ä'ÂŒáö’ÅëÀ©;’â[àÞg³Ô÷wUïc?¯Æ¾¨©”"„~l*#´úÝ7þÔÀ7Mîyswj•fBO5d›ðÀlêx"¤î:žd›toÁ«E±Gž>yHþ“iå'6uúDHþ©æŸñ‘Õ 6Ý="Ì0³£OhFaM† Žeg¨døÎàWÞ§¢#€ÀlJwÐ|©UÇ€ÌÀ=9ðKçK2Ú³ ÊPYŽDö/ÇÒʘ~û‰Êñ΃V¯Rˈýth³¾j|ú ÈOÖ"95~>©ÿ.ÜwT:´DBîp'ƒth»ïPU]-)æà×È(Ør†5õˆ'ÚyYÝl‹Ê‡€£gnµþý‹&?þè%ÚØÃ»‘!¯rKQjÂe’Wã¯‘Ë ƒÝ±SÀ)àp ™AVEñË{ã’|ýŒÞBy)f2™ ü•å²’ _Š,z—éC~¤„ñ>m¸†Òå¿§þó†ÙܱSÀ)`R@>P=ì‡Ä¿û&9<Î: wÞ¯¾;ûô’%‹ï~ j£Š¡È§¦`%¼æšœNV î`Üá;øà(/Kãb“/V»Qí$S/ùßà¦vÁåsýLf’mÒdüñɺU+qÞd¼ý÷’q°ív‹×¬QéÐþÚMéФÕfïrI‡¦ M‡¶¹äÁÊp¬Ç€{P߯ò†UÖ_È‚*×òe¼Ê1ÁK¯³¼,wY„w¦SÀ)àp ´‚òovo,^°N=Ƨ€S c(þ@¥Þ­ñ2v5ÞÅðê@¾¥“»“Cû©ã „odxûSÔíËp¥n}ÝSÀ)¡@ £<ÝBJð'›‚«ágœ-*¥¥]½Œù:ê§C{áÙ2?“™Ÿmÿï%NšC:´Ÿß°Ûhéк÷hðsª…Ó¡…k°¼^Ò¡) J‡& 7$×ý4@òÞIY ¼Œ%ÿW§žpf6ŸnvCòKär¬éuª·[Ù,@ïâjœN§€S EÏuXv‘ZçèŠSÀ)Рêóqsp ´[\0¶ÛS»ã’ñHo¨…üx[ZÆŒ]äÓú52 >ùHmîÚMõñ¿R̹ÿR™íÿée¹—\÷×æÞ¯U²Ke2ðgï¡'ú€²nåàÆzõê­aaÈ¿½¾·.hÀœíp 8œ-¬€Üàøˆ7·ðŽÞ)àh)’ã–ú;S²¬´m©1¯SÀ)EŒYDéÄUTÎ% X×PÀSTÞÿ,9¸“вÄnÌØÅW^·fĦ¨ž &w{ãµ üæ Ùìõ·$_O=–ZÌwÐaÉßg®D’f$7¬h¢»4Šôºæ·èSŽ…Ëqî™xá™[SŸÌ#Ê(»yíÄ7®¾¤ò–D‰zJ®*áì÷~ùµÀG9yØ=ÙŸ²ä¡º.§öPÓ•`¾¹¼rýÊ{ô<~@ïù]² [·þö…=kµ—¡2ìž–{S¼„ñ²É,Šœ°ÈÝ‹V<Í׊7_‡ÄfçÒZä„ν\Nbs˜ÂÕ .×úІ%WÖõúíà^_®on¸<ê ÷0}s0Z i¶­ŒQÝ#ou3^ÂxÙÄ["ìlOQéQ¶A)z®—GÙÁÛ¡â%3k:‰‘LéfÎKl‚§2‰ÍЧî:ž)³½Ž'B2o~”áÉÔ‡#÷¬x)üfBO5d›î?áÉÔñDHx2õî 6+žºëx"´â @¦ð› Of±¹§ûCShŽ'õˆŸF·GlV¼•Ÿ­x)þ˜ u<ÕifËcúfBÝÊOlV¼•Ÿ­xIly¸×t¹> üÁû–t¡á¤šj̦àÉC+Þ ¶¨þy<î Ü'Lª(÷¦JJUßR¯4¢ÙÔñ4_ê®ã @¦àÍ„„'SºÓªW3[K»gå'÷¬x}¾\£V7¿uÛíð·¨Jk5ˆÝ="¤át @¦àÍ„:žjÈ4³Åã^(ÕèQ‚‘ÜË߯î#N¦>"´â @fK_-ºÿY§oFó|õéP ™Ä¦»Gx2u<Zñ 3êéлSMK»×Ùž¢Ò½k¿ò’Ê2$Ê1¸ r¦‹¿4tk”×Rüž:N§€S Ã)pp*ª®®êpká ÉžÍÃ$Û–e]¯Füš}€…t­É]—«2U•+Dƒ„çÿÒAæÒî§ Ƶ=\0¶ûq.# æàm£@ƒ<ªJÝ¢S?ÿÇì³k$Á~Ó6Z»QN§€SÀ)àˆ¬À @>ߣúÍ=l6ž—g§w«»Eªòž•ªLUåJë*0’×L-;Oö“xCË1üƒF¯5õž8 XãÕHÆ1cùîXüãm#Â5¶š¡`\$¹ð]0¶šò‘Ê!«gU§?º`Œ$®·Ö7¬ 6jtüU×U¹oíàªt.:œN§€S ¬ÀíÀéžý“Fȱ”¡ÀÀߨÂKÍ@¦q/­ªÀ½ê©ö#âMà®l#— áçÑÄöò#ÛµÆ?苲Cu[ÂŒÏB¶;l[‚`<.ÛöT4;zÁX5Ü[K肱Y]C;VÀ¿‘îO „¶å1-Êh’C¸K¼lÂܘè:ÿâ9]®Meî ¿…t\8Cx¸Øç/a¼l2ñx ãe‹Ý½Ø ‹|¾QCʧùZñáÈÒ‰MD­)rBç^ÔÆ®]®…†Ý“ãx ãe‹Í½$?Mâü.¸~}bó„|ñ˜ü,‰É]±¤÷¬Hl™ “$2˜Å6_JìWlî‘’a÷ÄóŠ‘Ë––ªdº3êä^F0—à@º‡•)Y*µ<±¯w—Jkõ‡ûº6¹ùðÊ5õòQ,Z »ç÷”Ñ£QXѧ•&hE5Ð=l™K}¼l2bv ³^Ý^Ì9³³å2±f0ñêlt­6ãE³Õ:a³ÐÜr'Ï­Á(l²ˆ#uÏÑs À`ÌÝ=º­ŒQݳž“x ãe牰³%íYÞ¿¤¡Ü{N¬÷,ºÇÉ5Í)RˆMðTC&±YñÔ]Ç«çxÉ7é'Â6%~¨WˆÁlJb0ã©UºS Í—Zu<ȼ™PÇS ™Ä–‡?fBj%Ó:\+»gõG÷Ÿ<$€ÙÔ‡3³éx+¿™º[ù)4 Ç“{ÄÕ=b³ºgå'B+ždŠ?fBO5dšÙò˜¾™F·ò›oå'B+žd[îÑåJ„4\üf¨üÄÕ}8"$™¦á®Ö†R´ÈjùuÀñÞ³ÆÈ"¯XùÍî 1˜MÁ› ­ÝÕ¢ñP1³ ÐLH­‚7êxª!3ƒM<ïçù#ÕógшÊÁ •Ã>=)Õ=}¬f¹ ð>°¡:L•p«mvÒ…ü!3Ã=€Âø™pß>X\™vÞæ¹'Ý„pm#v‡ÍĪF̨ÁÞ’*.]|ü[cÎÒT1IîQ«PPÙ|³„~0Þ’v”¢Ì4ŠØòð‡&BjÊOlÊëX¯–ÝwÈC"Ì0Ås[0*¶ð Æî)q-ò›À3&¨™°#›Ï/Áè ºy^r§ïïƒO¾R±)¯»ï™jõ aî±™u¸0].î…ñDH¦ ‰°³%íQ^Ñ]%•ŸA`‹ÊñUjËîyá+Ä;œN§€SÀ)Pô \t ¥h} ètEâYù< Yô³é€¾\‚uÝq!ðWo~Ë1ìRȧ‚eÙ¦{œÊœÒsÂÌËÖÚêöÀ–P‰6åIòea¾åÞ‡qá/з×]…û¦e°\x9œŽÊ>•moxÁ˜¸"µî†£Ïc›Ÿ!Œœ?èÈÿàé8ò`ô(Á¤“ûH$†ËÄsª‹16Ã.vâãõëÖûYFKPÚñoptâí¦îp 8œN§€S Å8Ø ¿™Ý½QÎþ´Zå¡<#Û wßÃÊOd|œ XÔusÑžƒƒ³{:n/Ìœƒ¾ÀŽ»,Ûï@Ô,Fõ¢Œ•#‡àÙ'±v Þ~£ÿêUŠ$ø&yv Æl—ÖÕ:šUÀc¾Á(’†ƒnÉb4zË:Ö­Å Y3ŠÍÚy.6›½Û¼aÝúu r£Q–z‹<ÛÜ#ç€SÀ)àp 8œN§@ûR ØQ-#O&Óy.îFâééO'Ȥá½ëÌÀ·¯ùÞÖòhÙ¨ò9’G®R7t2Ë”ÛqÎ$ÌOâGV­]‹Q_)JåVò¨‹ÌrÑ• 'ž¤ªº¥UºïÎL„³œ¹(à‚±€` Ý™§âýËÚAÙ ¹ìàý•ôAlN¨jÝÚê\Άô…’ÊZÖn46®/¡}ÂmáMk9§Jû÷Å…!Õ³ dˆ2šÃ:ÚQC£¥ñíF8çhGT êåÝ5ˆaNëËç\[?CÁsrÞ°.kÒŸc / Iû—zºA±xÔª~Èô£¬èØ%óx'½…¾9§KPÒròV_U-;Vª÷Nò࿳ªG¶Ö»\gΪÞzİ’|2³fsï1_ΪÞtxU÷_UóÚËe/þeP¨kêÐÇèõmUケ­”oÍq FqÕEŒ¾È~нþAõOø¿=¶µâ¶»~ï;ÝÅ›Í]!S§N0aBs­Å_æÄ“v³kŽ~î¡!…!4Î?þ²›ŒPÎŽ×'Èõ«ìôéºd8`»¶¥;ái¾Ôªã @fàžø¥³%-E®èß­d`YI¥·X0-„ûíp 8œN§€S Xø)0½ºtY8*_øÌf2;‹»ÎN£€¤ý“º8eùFb}¤–Rõ¬Ópçý(+ÇÙ§—,YÜx÷ChhPU‚"‰Eå Ê© IDAT‡ÀÇŸH…ÚÝ#kàåSS°>€ÑŒ½×uY邱ˆÎŠsÅËõ[X0’ˆ'OÀÓ/bÄÆøºfÙ±G¨ÆbMš@ç5½Õ}²Z®‹»ÁÑy¯7s§€SÀ)àp 8œNh H.×¼Ûm’jT’q¤Ÿ+&yáY  *‰JIP2´_¸1ãF†| ëg0¡»dfôw†SÀ)à+k0$Áœ|éyl³‰bw±ÙÞ®2YÕ€’ÒF4x{TÚ›ûÎ_§€SÀ)àp 8:¾òÐ;±dÃuêY’yQLWœmª@rô*I,ŠÇ½$£rw£ó/vÁØyNy±Ï´óc±Ÿ™6ò¯D%Ö«$£úž¨N•——××Çö7>^6™Kì„›$k¿JdIU7»{ñÆËûé(r÷:Û|£††Oç׊7Ç ±™Á¹´9¡s/—“ئpõèr-œ\—0^6q5.BÉk¸à7óÇ7–,/Á3ð‹ÊX’ŒÆå^pR $LÖ&ê›ÃT)-MÓô;^ÂxÙÄKš~“ßyéî ^LÍw:­4ñøÀæ›--º‡–ÆæxÙd¨æó ÆæØŒs25ÆK¨³x5ꄦÉäÐ/¡•-êô­„4ÅVƨº/a¼lâ-N›6müøñú,r¬!¶{`Q Ï=gb¤$£Ý»I’Ñ’ÈÖ{”Š–ò„ny˜M™†9E u<ÕIlV»$£­z Ès†f×&åUÖ^ž2Q ýå¬j1×4¢zN8EÕ ßX=Ž(øQUQJ¿ŠõÓŸÁ²F|1»ï)Ï`_ò¯™XÕˆO¿ÁÞûaŸ’³—(S }ÐaQxÖ)àp 8œN§@XáÀ?U ¼ ó‚ý&þ¼á‘V9önUªæ×a>¾â €Á \z579Û)àÈ®@ÁX=«Úcvõ\mÇQ@ž¢ÒènpD;Ÿ;|¿ûh¨¼æ]äDòè¯ý÷Äåפ8Ä,+ÁøCpýͪfÜ÷qÇ=êbþOÔνxΓ¢¢›_YÑÐNŸ¢"žWŒX¶´´¾¢aÉŒ:™E0—à@ôÉ8>:‰Ç8=õ$ÜêŸÍÃJú_]z>ý£å ]úÉ~Âjvʧ¨ø¢E Fýt(~¼„:›~5FrX'ŒÔ]çN(ž[ƒQØdGð×&Yp0æîž?µVƨîéúSM¼„ñ²‰«DØÙž¢RÞ­o)ÊK!«7¼”å5’)jFÊ(+x3?±YñĦãq%°p´¨Bbb0›²vã6 ¯à0ã©5Øx2o9Ž:VùÔÈÁ×*gdkÉž?P¸Ùjüó¿ÑÜÂÕ˜4ÝÊðÝÝåfGS÷{Æ~ªÖ øÇä!™±Ÿ"¤áÈW©†Lb³â©»Ž'B+žd ¿™ðd›{º?äpÔà²âI=ÂÓèV÷ˆÍŠ·ò¡O2Å3¡Ž§2ÍlyLßLH£[ù‰ÍŠ·ò¡O2‰-÷èYDHÃåÁo&ŒÊOlQýч#BiŽÄ´â­üf÷òà7’?dÊpjÑx¨˜ÙH fSðfBênåÏ`ÏûyþÈR ¨”½%òö2=)ÅŸ>NÍr\¿ŒšÌVò‡ÌhîùãÆŸ1_!Ü·–@½·LòÐlJ'!”·|òï±²ÿþöø~š+}r·Øs–¦*̈́䅂j̦ï^“7Z÷¨ÁHîåá9L„Ô•ŸØÔÄc½Z tOÜ!‰0ÃÏmÁ¨Ø2'ˆÂ‚1‚{J\‹¼Ä&ðŒ j¦5‰Ø|~ F¿HÐɧ3)£¾…÷?S›ý_yIµú¿„0÷ØÌ:\˜.÷Âx"$SDØ)Ÿ¢Ò×{Ê€Ž¿E¥êŽ*l¬ _!ùðœ³Ãòšw‘ÛŒÂçÿÁsϤ8ü­([m©nLH1¯ü²>ó³O°ùÈÈã¬\‹;µkðî[ØbsÕ½¼;n»OLÇsOcy=zôT•={aé*uàŠSÀ)àp Ä®ÀXùtP;±#t “/—`]÷F\üÕsl9æ]Š=eÙü\(™ÆÐ£®+Úí;ć=°%ð#àIyƒ•m޹ÕÝÿ¦\~叿ВÍèsáåxp:*ûdT:Ã)`QÀ£E S³t¼Eóò•ð…?‡,øÝõe·Þ•Ñkâ9Õ.63)V£ãßàX²á:<ÈãbŠæ‰13>Å=wàú)EbÔ©š™s°ýŽê`›oãí·ÔA¤òΛø±·6d×Ýñþ{ØuEϽŠ)7àé'Í'áÀCѵ> ÿ+±;œN§@® ܉ŸÈŠAÔåÚÅáœíO€=°ð›ùØ8Ñsÿ,àO«ñ„‚´ôfWÍî™ûfm5F F3[VÌ•ñêlŒfgôVPÇDª‰—ÐÊÖ¶ÁhuÏ,Œ>¡!…0hþñö;-¿ùŽ•²²þþ{pØ‘Ø~dSlú„á.f—Ì­ÎW''ÂΗd´—d´K º(q(II$SºSFswëpÄÖ¥+n¾µ+ÔÏuS æè*d¥PðCÃéüD5=’ÎoÎtHx2­îYñ ³¥O‡î?9@¦Ž§ÓAx2õî 6+žºëx"´â @¦ð› Of±¹§ûCShŽ'õˆŸF·GlV¼•Ÿ­x)þ˜ u<ÕifËcúfBÝÊOlV¼•Ÿ­xü‹I®Ä)U:À>Wé%s³Ÿðd¦¦#‹ö_–ÌÏÀu¨Ø!cílv¼tK)(ó|u<ÕIlÂO€Hfìîþ›ü§ùRkÔé77ßCPy"åÝ˹ Ã7N­sÖ‡£O÷­ãžòÉ+º?TC&¹'0›:ž¦µ;áu÷ ä'ŒᮄJ8*iGCÅ|6 ûìwUU>¯Æ¾¨©”"„òfFj•òý}zýož:ðKÀ/ªÉjšÜó:„Y»S«`Ì„Qƒ‘Ø„ŸF4›:ž©»Ž÷Í#±I÷¼Z{ä铇4_2­üĦã£NŸÉ2ÕüÓWµ:ÖÔ 6@„f¶`ô Á( A Épþñ§ß¨à•œÇþ·Þ­ü ŠOtÉp@›µ ÕÐ|©UÇ€LÁaçK2ZÞ}˰A9û• .ÁŠåظR%Å<óç¸øJÔ%ßq~öÓÔÅ&ɹ]q 8œN§@¼ øKRwÚO¿„êY¸ë6Üõì½/$`Õ¶¡Æ#yi€_+ѧªëb['×ÞÁ¸áf´7V¯Æ[ÿÄuWaÜ÷;Øü:÷t$½èŸÉ¿%ë{$µ”ªg†;ïGY9Î>½dÉâÆ»BCƒÚ¨Ù,€‘›â³ÿ®/»]¼WÁJøæbQÀc,2)IÁÁHóúÙ‰¸ûA ˆ—ÿŠ GªF¹£áb“T*Z³%h(öróìÀïXµrÁª•¸ä<|Y‹wÞÂÈͱ´_þÇÇœê¢UØ9æp 8œí[ùL²~=$ |URZšìÛ~:Àì³’gTI*¥_ò}ìïJñIþäJçU`ÓAjîÛí€÷ßU{ì©^]é Èz¬—$'¼—jT’qdû¦í…g1\nqªïl+%AÉÐ~óö?,}k3JYBŸ ÈÌè ¸`Œ(XûÇŒþ„½cÉW_„ÁÈÿýeKUv! F2ÛXÈÓTfŠ¢ñ°!X²¸KàÞ ÆìŠóÎF¿.8êPÜûÇ Å8œN§€S 6äùyöü|’âìݧ¡f¸ݧL*K­—}(Xè­×8ø$Œ3;¡UáW×Kñþ2÷\npÌ^‚MF(6 9Nlˆ'žÇÿj“ÿùZe%¯¤Lù‚çõ’~’òN(i›O99z>÷’ŒÊÝ WÚ‰.ÛɉŠà¦ Æbu ¨Êy$I—Ô¾'ª”Ñ$jwÂÛ»Ÿ$÷ÛcÀÂ]6¹ºn~·Çž[°×˜Ô­rÉGýåÜäÆrÏÃXˆpëÚI¯]}qå-‰’ôWkz>¡Õ4¬/iìµ°éÆJx„3†©ä˜Ü£ÖÃÖ­¿maÏŸè=?‹3Ë+ׯ¼{A—Óû¨iZ‰&T€{”Ü¿bn€†0›a632ÇÖx ãe“)9a‘»54¬xš¯o¾‰Í Î¥µÈ {¹œÄæ0~ ±‘[®¾öwKO?`ñ¢Ô_àæÒ&ŸIªoqOï“x¿GVNw:²Ê’ce±¯Ò:§ãÐ#’òDöɧ«÷0âƒ\T¾'AvÉÀ±à}ÈM·'ÿù>¦Ý_uÔ„jYúÑ«¾þ 7þzà>û×ô3Ì©É0÷gyÿðÇ;ßxÙÄÉ`úÃ…èî !„YúžVZÈLÝÃ,Cä\/› k&ŒŒf¶œgṴ̀¹`ÜtxU}}Æmªàjôƒqê‰ãNNæŒù¹×4=í(^B+[0}Í‘ìVBêÖÊÁÕ=òV7ã%Œ—M¼%ÂΙdT["ÏŠ•B÷8"™Ò2š˜»[‡#¶K¯V¹E{ôÄŸÀ—â€CÔ.•íwTnoóm¼ô&;¯ó!v­À?¡~6W$ªd&¼)½^Æ©)4©1g:$<™:!¹ÇøiÀ7ÀõÊ¿d¤^Z*„¨~ßÔœÑÝ«¦23ØrÀSwéA5DH­dêÝ @lVó>üãî=W–â®lû[ÀÁÀ)}0讹 5R/­‚¤^|À¤žjO¸lQsÅ)àp 8"*pÿÝØb+Ür#n¸eÕªFÜ1~:@¢é?»+ÆËóýå›zàXµJÒ•N®À†½ÕÎmù –lXwnKâ†Ýö@¯Þòú×çTZJ¿ÈŠÛQßj2»tQf.¿½ [oŒ¶ÁÍwtàYº©µžcƒ FŒ­w¥º‘ P@v¦È{/yFl—.eÅ~ƒcý:\rnb`w îƒÝwÂù“ñ·úm³ z–à{»`Ö×ùÊp-0 ÈmŽÌ¢v¦¬Ï¬j+ëwÀ%H|ØoÈÊgÍ ©yÃk½D²Ùi­RáÞì y WœN§€S 7dÝr»n¾ãvJô(ÁN£ðÞ;A‹vð±·úïÇÀùH¾™Ä^ÀU8Œ ,]‚ÿü'ý¬æÓ±x!^z?ÿ¥,bmøÙYøÃ=)³{Èšy1;vY»›ÀVÁbÛŽ=[7»âSÀÆSϨsÁ肱ø.OçQ½H%%¥]Ð¥Øopû¦w–µšGzˆÞV\äñ6ÀMÞèWª·Ë\¤Fê¥Fú;ép…—Øß-â`íp 8Z@y¼ÂÖÀàa¨ Û¶À޲ã*ðÜ38á<÷¬šáÙ§cìøô«ºOÇIRfÝJ}œ2‹¢ W{~Õ¾ú÷Ilz»÷VSí¾Q­RéÿˆÓ›z5Fï/»³à’«°zç-©€ãI§w¨`¬žU킱%/Çݦ x+gÖ®_“ÿ ŽÝÆá_3!Kv_~§zïýÔ|~x>›…¯k“|i•"ÛM%«–¿ÕßzzëÝ8è°¤4ÉÞ69Ø+ï&…äÓoà“|ç»K|Z¿Fìs@RR‹Kë ÃÔ(yµŒ¥™UÄOxïJóä©ÛÍòÖFôØþ&9¸€£BÌr,5R/E0‚|¸„sáq„µqÇN§€S ¥HLK¨E‚ò1õjSä¢!îƒZž’ïðüòÚIʵWâ[›Výú25]É*úýïb“A‰íFâóÿ¤ÌÞ%Øs焘EQîUL­1oweó¨ ?|ðŽkïl°Ìº?ܬ–wÁ9ø@ÂÇ•¢Q ã–Ã)«üʼn.‹&¦œ#q* n¯7– ¡ëK(]JîüþAõå–ÿýÕʽ÷›sÙ¯vÚªê½ÏªÏ:­÷?Þª·WòÒ«×ì¶}j‰ï—³ªƒå¾]»6þajÍnîwú™KN™0ìå·kˆ„hW­þøTõ#â/O ;ü¨š}~ˆcÿ¯i!qî·‘r;Ó_ÓâWî"aßÂåu²”Êí‡öðr­W^‹IkªÆU©û¬^©>4‰3꫾—šlõ«Õ˜R^õD:ƒz ª_«ÆÍeUJá3K6\7ê§¾•m§J+Ì75÷«(0§jxî³R=«Eñ¹{âN–S z‡•˜²@nIWZè«–s²˜™Ÿÿ{õæáÓ/pòÈôÄbv×ó­¹ÿòLJðÇÓÀÓÊMò*1jhù²ÒÕýÖÏÿXþ¢WIÿ!*8—2Žo¯Æ~H}ÐòÜ ·úþ_ó»êƒÅìÙê »Ÿ}Ü«ÀI  ÜýŒòª'ÓoÀ¸­#Û.‹ùìÊu˜OPëû6uêÔ &´þ¸qxæÄ“v³kŽl;[Þ­O ʽÇÄz 8(Ëk$SFÝnûÁ~VyY¸!K¹FŒvEØüµAå¨mû8C=ÝÝ/þp©ÔôÁ — †u«QîeÜ”Ôâµ+ìéµÂðp38¯){yV©!Ê M³)Ý Ðäž,9ßkíÌoÚrÒ„—%~:ñ=¼åž»M­²EEzuóüfÞ3uš=@“{¹á©»ÎO„„'SïNb³â©»Ž'B+žd ¿™ðd›{º?ä0MÖŠ§PÒñDHx]ïNb³â©»Ž'B+žd ¿™PÇS ™f6}:ÔÌ–v/ÈÃxçKlyº·;ð2°¸;dì$çóà'‰L+?±YñÄO¦t'BiN¾4~ãƒÍh1˜Mß잎·ò› ­Ýƒ/3dh)f6˜ ©ÕJ¨ã©†Ì ÷ä¦S?ÏŸþéwS¨œPé“&¯¨îécU±¨©Éd´Úf']È23Üónë®ó3á¾}°$½GØã'̦ôÂðãk~›z¼Žï¬ß}‹­1g©_m¾4ºPPÙôÝK ìý ãóFV/º?aÌîùnÞlêîx5!.RÙ´Î7£{Á¨Ü ‡CÁÁhžo†{þé ®©AlV¹` F"Ôý‘ FÙ.àï'¦É~‚åW࿳y¯€æ›Y‡óeð_sq/Œ'B2I„ð)*]з *º¢þ[TÅ/¸|îÄ“”õƒ±Z…?>Y÷ú{36hçƒm·[¼f vÌ\nzÝMðI4ÕfïrÔËûE`ù2ôëÀ£HæªBå½/’"¶å©(RÎ>Qk>¹\\ìÕÉ«S¼ô’¾R²ïL§€SÀ)àh!Æ#ù·$žäƒß¹è“ìÚBCuxZÙ¤pÎ_¸­ Ez¢_TYÌ×uoÄ…À_=—cþØ¥ØXÖŒË^}æçœf ÅX­R¿o üx(/ÔˮIJôŒ€ëÂËñàtTö *ŠåÀc±œ‰¬~¸`Ì*K•÷>Œ ¾å¸î*Ü7M=²óÜ3ѯ;MÊè?ñœêâŒÍ /;±Q¢¶¨¨]*Ýà•·Ýƒž-{NÞà æCòBíÿ½ÄI0MÖ#d+mŠŸß°Ûh•CKŽ¥tïÑ $OL‡O"5>mPC€åõ’Q\uìÙ KW©ƒ|Š,Üý«Ó [$åUåGrߟ83›O·»!ùƒ%ò 9Ö‹ôºÕÛ­l wq5N§€SÀ)—ò¿Iî2Ëj»_ÊíJ!kØoVÆÅîxœŧÀ jméÂoæCÖ+è¹'!ð§Õx8£oýÀ-¿¸™á㨖Ôf£=žŒµYMäãöÂÌ9øè ì¸Ë²ýDÍbT/J%› @rwcébÜy«ü¥P%XÖ1»c¶óëÜ«S g\0æŒ#‡àÙ'!‹yûþ«Wa›oãÑiXS'8z'¥›µó\læ|A¶)0ÿï”äo÷%Wâô±b©ä}Pû¿¬U)¾ß½ze,€ &XVŽ;§âü³+Ö­]|Öi¸ç!Üx-.º¼îÄcUö,¿Œ»èÔIŠÖ¯‘Q®º6ðÉGjíÐãààÃðñ¿î\’#×à< øo®½Z w ðë5ø3ðïlʺÜX¯^½5, ’^Ò÷Ö͸ƒ³N§€S –ZŸ{Ÿè$ÕâáÀë²y`RÝêpÅ)С¨vT«î“ÉôÕ~7O‡Lö™·3$íh»Žzào£ÊçH¹JÝÐÉ,SnÇ9“0?‰Yµv-N<¥¥Ê­Ò¹Vü»SnõR=»¥UºïÎL.g9rQÀc¾Á¨{Ñ• e?ÁO¥ö ¬X^êïbsúCUëÖÆÓ'Þħ@‰¾'Gò÷?Kîß„:(1fìâ+¯[3bSTÏÆ“»½ñÚ~³åX¸\­ zá™ô†¦NGåååõõò(U6¯øÆÕ—TÞ’(iHÕÈÌR)¾ÓóïM’µ_%äžN<%ìÞŠþëWÜ¿ Ë©ýÔd¿ñ´¼rýÊ{ô<~@ïù]²¿`غõ·/ìy\³€¬½ •a÷ °Ü›â%Œ—MfQä„Ì=k(Ñ|­xóuHlfp.­ENèÜËå$6‡‰ª^ò™$äs˹ÝϧþñsTBê®›ñÆË&ÞÆKX`ì·´z…ϗއī^áî‘€±»'Óçz§átSOŽnÎê*9ç"½Í£ÍóM^“”ÇB'â÷¢ßÔ>U®]£nZ̪MnVUYR‚™³æo4(!„’}ŸFÓ«Ôožƒš¬f÷²v1Wš ££™ÍìIÖÖx u6 Ƭ>*uB8—¦x ­lmŒV÷ÌŠéÁè‚Qý@“í—_S÷Ê‹êså§³’;n5påŠÒ^½Þû´nëáMÑíæ›fo¥µÀùêüD8mÚ´ñãÇë°kˆ-Ç^XTÂsÏ™1ɨò~®;JŒˆÑ÷=+qF“¢@•T€cò«ëVFBòè²ìe½yw.µÎ6Ì`0‡”´lZvˆs0‘ašq cª‰! ˆ €¯ƒ‘—H˜á„æ¼`4c™26Aõô7#{TÒßÍ<üsx>=˜…TDQ@¨î p`¿ÝÅÑNÂûÈ›ÔçcÆŸËD_O>›‚Çh£gm Þ½²%¸»ºë'ýj„¡NE´œèÕHѲo5¢ïÒIQ ­Á˜V§£Ò)ådl3K>È¨Õ ¯!C¬Šq3þ²qL¸vlx¬ x1Çî5<’êdê vÎòè¯=¨ª½­$òâ^¢Ù«ø+ ¿lì§¿„^Ù\‡ºâíÊ«y`S^KÒœPÜózBM¼< bŒñ!§c®­„ºl§'·ò<{ðôxßóºÖwø{~ýec—ý%Lqì«úë^êý…¸†éæè»{Ð}hΫ©ºÇü^I\ð×g_mî‚q>¬zèŒu?â/·§'ô:õlîÝSþªl)^*¡Òoþº²yí¾+!ô¶‚£W÷À[Õô—Ð_6ökZѺuq^tYÀ¡Y¢?ÊjBDW¼l̯ÇÃQŸsؾô{ÉGŒä5<’Ê Л젿pTÅLÆë U<”€ lIø£'„£`º6WÁî¹ú£ú@oªÍéÙT¼+¿žª»ò›+†’ŠBÀ—·{®üàž+`r÷õ„*JÀÔ³©jCu0ËÛ½$üýê¯<쓯¢1Æ.¹Âˆ1Æ!Ç®¹Á9fš®ÞFuˆn&*"šMºò:Ú²ÎGñeÇñ/…Š×÷WÅC ˜ÀæÕ`ãê@0]›K=:8´¨wÏÕ`óÚ_µ:Þ«\÷\»î¹âÕþbI¼°ŽM³è·uÌM÷?B[ÃT¸ƒ8JŽ™ :˜¾»„л%z“ñzB¨îʯgs­®6§'ô:- ÀC „£^ù«Ã`~0Õæ€Ð0™_O¨â¡L`SýÛ}Í`BhLµ9›+ª«x tÅLæ×ÌŠw¯¦åW¨¨q­@“Z¬ê¿E¥`üjâ=Õƒùº’$ ˆ¢€( ¸+ð⌌‰“hÛ.zèqÿ MzÊxʲL÷ú©ìâýIÔè#$Ç^««Ä«DdŒ( N ÜÈš§ó.¢.‡Ñ©ÇsŽ’DQ âÁXñšK‹I(0æçøàÕÿ–+÷ªÜ¼¼8ïOB8©" ˆ¢€(P½0c‰½õZ˧&Äüáøøƒhì1÷îŸL4—Ir(öH$B÷ ‚DT`ð5tÕåFa«}iùÆšã¶m#¶( T€2+@diÂxŽ#‰#£ú¯àðE/!DQ@\8œhG_GÁîAã= ’Dê­@k¢Ådì«ÿЧ""]µö›˜™pä(çÍÏFÆÀ[0}vÙâwòì'·DR, ÔŒy«ò¢#‘‡“ ÆraÔ˜nšd"S{d‚£Æœvé¨( ˆ¢@ù(°¡ån´A_Í%jI4]žÆÊGhaM7¦Ë”²Ú6§O‰&Çs.@Á‘­&}¯u2_itë˜Ð ÿ0¾už0ž¹?ZvSUùíò5ø-*^£z:RÔß_B•ÍéjLÐm•0ÁŠN°Ä Ùs×ÁÈl¼ˆÃœsôe0&îžÙÁ Œ^Ýs: V¹¿„þ²±“@XóÞ¢Ò·G^¡™A‡(¯žLVÓSDYÆëùÍl*]ñ“ùaJz³ÜÓ÷ÜSý°¹â¡ºŠBÀƒ©V°¹â¡ºŠBW<Àd~=!àÁL7÷TÀaè¬+†’ŠBÀCëju›+ª«x tÅLæ×ªx(SϦvªƒYÞî%áxèoÍÕ½¦íšÓU‘ˆüÆ;S®"£Ä–€œwåWñzB%`›W€«!ÀtmÎë‹\ùõî¹ú£òë &7»/ôlåíž+Œ{|Á7Ü×5+íE˜rö /éãC‘dô·4o–ìµsÚ=jüŠ= ú€Ép(3Æ=³‘Ôø‘ðÔÆ´ÉX‡b%p@or-&ä·5µÞŸø§õ¶ƒÛÓêÍÑ2=!¸`¦€½iºg9£V÷:Á=•ÐÕ!õÊlFÇ}½ZRtÝ0ÆdÏÝ£ÁÛÁ£÷ q]ä6†ÇtP1Ém0!°™ü<{œ@ß­¤¢0­È§SN3ÜäÄcpíV3[ö“ ›q›+ãr;¹Œ½ÉxèoÍ{‹ GQk˜A3¨Iœ/šìÒK^DQ@ô «6¦qxѦD³Œuø.ÐW‘£¢@uPà}¢1´»^˜F½éÐV*è¹™zm‰×¿¿ˆö‰Ä¸/}zJë²à·õé¢s‰^ç/L“wõ„“èÙçˆïÇ[¶š±-.~!îÌ9”ÓØ*Œ(€2).dê 4òfj’IÜCÓx·)/¥æ1˜Í bÓày26c%IG+ £éx^Ä'Q@Dª©?¶™3UÓ}ñZð¦ÀÕDÇÓ†? ¨ÑÀHÕaD/í wˆ†ÆcºŽ(Ÿ6¬(¤kâ­*ekˆ:E|ýÖ˜¯‰›N8™V®¦%¿P—n[N;ƒò7RÞ_e_s•ã{Ó1Ýhs }øE¨cgƒƒ¿I6ÓŸùtlÇh^~‰‰* ƒ1ÙÁØn_šû:ï¢Ï5ÛQdè cЛëÖÊØLôz¬œš£ŒöðVHI¢€( ˆ¢€( ˆ¢€Gò‰ºë¨C¡Ò8S(ø¦Í4ù"¢ìKÆ'ï±ÁtóK^ÎŽlTYN¡‹ŠŒ Ø4á1„ B4ãå¢âbxñWŠ\x(¿ê"’x‚cÐúè}êq|ã©/n9ê c5‡™¦MŠfä—(àAŒÉFKäQwoàwâr‚1hÍ9³rwǼBÞª+™4PÀü?Ô˜*À~ž$œƒˆ&I0Ø«øËÆÌ¾¦éÐÞÙòpÏßþúËæ{ÓܽšÖ_¯§Ãu(¡+˜ÀG“0ÓœPÜKâœZURWBñ¥Nhùffü%ô—=ô—0Ű ïî¥NôW½ÔÝ}w»†ÀÐd¬Ù­t"À*þ¼tíƒUbÏø^×|“‹½4á¼¾¿¡q!jOÁ31úéëBmssŠw¾®Zj“›Ã_.®\U°_‹ þ¶*w¦˜.ðÄÇokBû—š–_fŒUËtÊèÝsª¥)×µªá1éÙ\«« U6¯UBx5ý%te«ÜÁèêž^=u0š„šÁÈ„æ@«W¿dì¸Âß§wß*Ëê4 Õr½cNGSì¯J „5-ÈhfÞSÄ“Q¥ñ7`ŽÃ“ÉâBD}uÆëÀæŠ6„®x€ÉüúH‡€³ÜÓ÷×Õ›ê?àÁTñ@x0Õê6W ~=¡W~`óêÚL×æÔ‡_`ˆk6hH³^¥M{ŒmÇöh­p2ãÃéÝcX\ÂñŽr‰žð`Œ±Ïçz6Õ Ó«{®üàž+^õKb»GÁtmNuäB0U~ ŒÁs¨Q8Ê‘mÉü´Šúö£®Ý*ËóèÔþƇ 91!¯xçò£ºæñ'5þ€_²[š,~kU¼UbBÀÔ¹©x½É5\cOãõ„& F+¦ãÐ…—Ƭ%6•ßÅ=7€Ø Áb;x0ËÛ=æÁ0Ul*Þk÷š“›Óó›êƘñ£I¨ŒÌÀ7”}øÒ/fk žG’Ih•Ç8àví1à¡¿pTÅLÆa 2Ú 5®CMcþ[‰œ;ù! ˆ¢€( ˆ¢@ÕVàÞ‡hÆstùùtýPzxâæã:qãÎ>_b7VíÓš.ÞsxQÞnÓŽ8àhpOýRuØõ4i:Õͤá76m O™E%%ÆF+]y ͘CîOß~·åoçÅüÔd­„·`Õ#ƒ1'HÃn ÷Þ¦³Î£ÇŸÝýò¬êÑKéE%)ò`äÀ¢-³ié2öߨj§Ãj<6+霕K³¼^Ž×ë15/ ” Žr‘XHEQ@DQ 8÷#$>?U>5–ÿÄ+W·™qãŠvU¢SÒtµP€còÛ WFBr0޲%íe½{w.µÎ6Ì`0‡”´ä÷+Ù’ùuØF kF0Ç*0mµ«^ãüw·™}X0Ÿv²€’D¤ði0ší[ƒÑ4#ûÈâLyT§±™´ðiX1²ú* ’0J·©¤¡›iéRçcè±%-ùgr‰§yãÿ m§k¼“Í]a#¼öÕ×%M³hÎ[´%L¿¬¡^½O©iÖ{õ®Ý7™ïvæu€ünç¾ýCn2^õÌëµÎ<ϱ€EQ@D*£@N6­]mxËsK¯ûã¸q»‹«Œÿâhz*êTDˉ^•‡óÄN’:ÍzŒ§Ûo2¾q•$ $¡€ Æ$D«ÞUxŽÃü`»Nõî6÷nß¼ÈÈdûùìÊ@û¶ôótjÏÜ$8x:ãÀÖFÅŽ]¶N™õWçƒsÍ1Õ¹ëæç^Øtø¹÷>œ÷õôæ«­NìºýŽ]½»zkª×®McGf.ü(ç”ÓVßyÉ/+éå™ôö­Î¿$¿ïétÅÞÈ“è²TœàÁ¸:·4 ¼ÈVîo«*YQ ¢ËÕGÅóVååFþtzâ\´8ïü~{¯]]§a£ð̟߮41ú÷ÎúC쉭\ÁÉu°\]ªHòòî>óûÜ¡™¹¯Ç[¶ás3éH—ÜÉRc½úáÑ÷ä/˜_÷ý·[¤U?“ë`Zu!gÊ»û2S9;^ë>ÿüó ðZ+}ð7¾¦Û±Ýô§ë±=ëFƒŒF¶ªp5RâÉäê0E¢¯îÚ°¹â¡9ßòÀVt:Q3>b$ˆSÈ%À 7yíÆ¢oÚØWpèñp”k˜%ÌÀ+)8q‰™ºõ  ÏGÿ(¤§¿Š‰×\t:Ú›{L•ÿWüê̓ôëZ*ÜA™õŒ5¦u‘‚à!˜¾Ÿ „æÀd?¡L`sÅCu„®x€ÉüzBÀƒ™nî©þ€ÃÐYW¼ë`BÀCë®Í›+Þ•]ñ“ýѪx(SÏ–D÷õ„к+?°¹â]ùÐ0- ÷àrBh. ~=¡W~`óêÚL׿ .+Þäìêw6ÕªMwÜKï-äJÑÄvõî1<Ô›Œ×ºV‡êÙÊÛ=W~pÏÝWñÐ}Ï«Y[ÇXã\XyÃv;;¾»„®Ý˜ì¿žPÅC ˜z6W¹€ÍÕ=8Y®ü¦{0­˜Ž®ÕU€¿ý6n:ú€YÞî1?x€©ú`Sñq»o @f³ò\—Bs`2JÀ6Wíùš¨…ô¹ (À[TÂÕ‚cÓÞ»ée"~]LÚ¼1fÅôܳôЄ˜k$Ø‚Ö%H»ÂÈtïE_ed<¥Ï?©Þýø¿æ}D¦7_3h–-¡3ΡÚuŒWs-ýα€EQ@DQ@°)Àa”Sˆ¿„çÛ•V‘òҷѵîUr¡ùéB´.Rò‚$^v—-~§=+e¢€(@”À`4B`È`”‹¥Ú*À/O©àÕÆ¿êž6Ÿ½†þÉQÔ‰v§QW§O¡ƒ5Blpâzü•é/ÑA†É?/¹œ¶…é‘'èÚ«ŒOéÎÛ÷¶Wìébk 74sMœDÛvÑCÓø= XDQ@D›S¦fµmNŸM¶•[Ù[D¶šð—jüy†èœHÉß,„dDQÀŒÑhÍ2ýÐ[8ÒM¾®#‰‡ï$ _333wú÷kÙ¸;L¸-£¨vQt*ç€Ðºßy±D )u{ãåÑß4?5Ç=óò«9ýõz1»% tÅÛG–š6àµ$Í Å=¯'ÔŽO]=¸\S'´»Çy ýeKÂ=ãKþÔRô):1’Jï/¸ÉÝ·ûŸnî·v÷Øó¬vÍënÎØ™U²iE!÷Âê‹•áêVž3ôѱDwPðéhŒ ë(4ÄѬý ö<ÀÀ´»g2õ7]Ÿ|µyÒ”ª‡ISqEÙ˜0u¹ªèÅlž§«1ÁsäûéHœ=wŒÌÆ‹8Ìdœè”câîYò&¨d¢0í`ôêžk£þúËÆÎáìÙ³/¾øb×N9€Í –x¹WÂ[F öö•º "[ßFN0ÇáÉäêú°ÀæÚ°qüóÇ'ïûàÏŒpèíÊžóm Ó/k¨Wot^åÂp´Ó Œ&ðPorˆ¯ÇÃQ®%àUñ“ñzB%`[þè á(˜®ÍU°{®þ¨þƒ‡Ð›jsz6ïʯ'„ê®üÀ抇¡¤âðåíž+?¸çŠ˜Ü}=¡Š‡0õlªÚPÌòv/ ÀCû lI¸—+‚óIðë ½ò›WÔæ€`º6l®xW~ tÅLöGOx0¹zt7‡‘3’žÀ 7] ¡º+Œ{|Ù4⿫μ§ SÎ>Ac}°išÞ–æÂîÔèàì˜EµÖQnÛ­w®€÷"„–'¦ýSåGÂS¿ïn“Ìø z“ñLÈ+jùmæÝìï!ãnÖJfõƒÛÓêÍÑ2=!¸`¦€½Éx=!Twå6W¼+?ºâ&°±{þ^-Ð\Ý0Æäqä6 6k¸ù1=¸gˆë"/°1<¦ƒŠInƒÍäçÁØãún%…iE>rš†Û¥‰ ›q›+e2~'âž„`ª„5î-*Úúµ øE*é¾Eåö1´m+íŸCí÷§E4únúרõ¯ÿ‡²êÐðè™iöó.yQ@DQ@DŠRà}¢1´»^˜F½it+ôÜLüľ%žÏ;¤Ó&ô{ÛÑJFHLŒÉÆvûÒÜ×÷W~¶¨›&«oÍukel&v5V6*mÞ,â D«}iÓÆZÖAŽTÅÆªß)ØŽîF“gÒ©=­ƒþe²Èhf½„Â$ ˆ¢€( ˆ¢@5S Ÿ¨‹±Œ<*s1…‚oÚL³¿¥Áߌ‰Æ±ø**ÈN¢³#U–Sè¢"£_±iÂ34b„hÆËEÅÅ4ð2ÊÈ .<”_uI-²£w³}O¯7yæŽN¯M5Ó´IÑŒü<( ƒ1ÙÁh‰<êî ö÷àZ¦56çÌÊÝ]œgá%“n „y V€ÿ'ÍH÷ £_, v|ö†õµÚ´ÛQXPç•yë[¶¢N7/ÚžQ§­ÌíoFçv"š´_7dÁ½£s&ü^•H‚xB­ŠÃOþE6.l—BÇÅÅ$^îAÅõ­vïyrCƒ¿g7*(›å±0[sölŸ²¾Ö ͲóË&ªì„&€†îü_«–§ŒÍSE'°¿„þ²±ÏiNXÍÜsJÐ_W¼ÓUg–›œÈÑ4'÷9‰N˜ÔÕƒË5uBpÕ_BÙØU¯„F¸»Ô’=®¡+“W÷Ê›îCÒÍ=è¾ïîq÷»Ò„S·Ò‰«ÆçÚÚ xº<,Z3£ïoh\ˆÚSðÌhÀT«îëBmssŠw¾®Zj“›ÃwÝ+Wì×"È„¿­ÊÛ¼Ëån6Á¸ªz÷,Ïø;}wÏ_B• c⺙H•Ð+àý%te«ÜÁèꈦ:MBÍ`ds Õ«_2v\á‡ïÓ»ocL«!“0Á±iÕrʤØ_•k`Q¢Ú@FØ|K,)ñd²¸ú)ÀÆx(Øî¸×ˆ-Z¿½øÝ~õ?›ÞšOW_kœSŽÉôñ—Ȧò!uÏâw¶Ÿƒˆî$j‚o’MçÀLF÷¸…t= IDATBÇ@oª„àT§ÙD=dxb¦—óQÆØR !~#â]y¥)¦z¤JÀŒaKÕ¹”!S­`sÅCu„®x€ÉüzBÀƒ™nî©þ€ÃÐYW< %„€‡ÖÕê6W F“ÌŒ`Â`SNE:)À“¼0œ‘N>¹ûòÕçî˜Dýˆ¦­ŽhA¼òŠ,;™è0¢ñ‘&yÙÕmJÛ\ÂåœÃHÆC²¼vƒ×wŒÃbŠ¢€( ˆÕP¾ýCn¢¢°±#àLåmk·§¯~ÊÓw›·XóWvæG”£5MP§"ZNôj$È(ÏnHDJR@c% ŸÆÍrŒQãN>Èh×î›îdg›ý)o5º¥ö‚÷›|ZÁ÷…ù½'+¥Q7g~ñiS¾E°kвEpÜøÐÒ¯ÏÒ!àÁd§ ¤Ì=^îxUéÑˈ~Šv Š¿„ÈØV à<—X&çϵ¬3*À8XZ=’7€?`–¹WZzSm½V<°©ÍL„®x€ÉüzBÀƒ™nî©þ€ÃÐYW ’ߢÒn_šû:ï¢ÏµØQÄgÖ¬¦6m©~ýð›¯Q›½5qLi6q ¼œv“¼ÿ6¿F‹Ì'“¤Wç\“Ö,Qäö?³i×Nâïg:­¶à±äVøòƒÏ"º4ÂÎot}”hHlK/òŸt¢ã#…ü“ó\bOŒçZ\—S\€,yQ@DQ š*Ð(“vî0ú¶u 5mÓÉi“Œ{DÏqÀ4G"µã—N ÜÈ"›;ï£3O¡“Ž£q|“#I*\Œ.¹4˜œ‘…ÆòŒä'8¬–o»fð5†Õ§'µÌ¥_/üä+:¶§u3‡wܸku9&¦üñd’X¥Pb™š«nB~Mìb¢‹ÂV袓hgÓY¬Á : £èÞhÂyHŒçU\—S\àÅDQ@ª£[wo—çÔ !mŽ|“D/9ŒœD’KB7¿ªX÷„G·~ýÕ®MŸ-ò‹[xDQÀƒ2=ˆ%ÐÊT€ßŸ²'LÆ Ú”&8x è“ÏÑ»sëÎ{ÓèÍúºóvêwbðš4ûµøýÛï@ºüª’Œ·sžS½ú%LòÚ2I¸Ä¤µJàË‹ñšØˆfßÏJ(ÝL4Ÿ6]PHwݯý'‰zP¨Ï&þIœW׺‹ò:nw¨U¤DDQ@¨^ ,[B¼U–·¢œu-ý.¡¾ñªsxIÞhm|Wdì«ÿЍU¤ªµÝÆÌ„#G9oû$²ŸêZ)w?ºï!ºüB«@2UFSN_§øûýo.R$âo¢';Á˜·*Ï>9/ƒ1QyW…¤0ÁqÂÉ4ï#šð0ï1iav™wKòýA:Ô°¡1|ÔÄ3&=O£oÉâ¢ÆŸ7n&^xµIxW‹™Žíù—Ik–p+HâÆÅîI¨Ý®èÂDü²Ø´J¼Kå&¢ÿ‹¼ôDuŒÜNä—Åî4~Fß"„_•ÂuŸXïÀ b‹¢€( ˆÕM™ÓˆwÂnÛE=Nã4z!ÏÕ_r>͘C½NTH‰V©Æ S³Ú6§O‰&ÇC(hÆsåUÃæ§sY”±x°ìœ Cž¡Ë. ‚HH<,vz+põu»n¹‘šÖ£GÿM×Çn¾9–fΡì†î0—SÉŠ*¥Œ¹­s Œ.RÊ᪫€¹t£$ù·¨|ýShŸfeýç€äÇöÜx÷»ÚHyÒí7ÕY´`/ó°ü¡‰¡O>2^¡b–ó‹TžŠ]‰À$߬íUF»fA+\‹÷a6Τ [‰ÿÓ|÷­([YØD”=hÝàE÷ŽÉ™ ”Dqäå-* ‹øãªP§ƒ›ï(Êhܤäó¥…ö+;ï_z奜ÿåÀiµžÌŒešmªç7a_âU6§«1NåxE*a<”‡²Ä Ùs×ÁÈl¼ˆÃzê ¥<wÏìsF¯î¹ž ýecç°&¾E…Ì·¨Dò!Ê«'“ÕôQ–ñz~`sÅ›ŠBˆl¯âLÆë_åx0ÕæÀ=W<Àd~=¡Š‡0Mõð`ªx <˜ju›+ª«x tÅLæ×ÌtsOõ†Îºâ¡ºŠBýÐS«?°¹â¡ºŠBW<Àd~=¡Š‡0õljw :˜åí^þ€‡þöØtîeÝN´…hedUàDmˆGþÒ5Žä¹ä¢?ˆ6ÝFT—Éðï Z½“ñà!Àtå6W<ðƒé»{©ÿá¡¿pÔk÷½öWmf¾*×=×îǸÇëu›F®gþÆË\»¦œ}‚Æú`Ó4¯öÒ<“k=.ãacKö£ÊèPå‚0cÜ3I OmLBt.Ñëü…iò^[Û.îû7 ¹!†ÇÜ»‘Ã3¤U?ù8ÏÔªê‹QÎ=Á˜¬ÀS_ ‘7S“Lzàš6›¦¿L¢¦™4î®ÀÌÿÄ‘ÇûªªÇØŒéXµ0ÂÆæ«H*©Uý'8Jê„é4¢}«Å©“Nˆ¢€( ø§€õU¡EiÿrÆ*T3»ë—7ÚùtcÚ"ø}=ƒ%‹#ýˆFPhZ(•G#d[¨,®6ÞL¿áêE40âÄ0¢—vÐ;DC|jLÍ֯߇ëP!ýŠ×uŠxõ-Ñ>ñÝãr+WÓ’_¨K·-§Aù)ï/ãËaH}ûQ‡ÃiòSF±õßÑŸùtlGVUóÇ¥ñ·¢Î Ædc»}iîëT¼‹_ÕÔlGÝž^xÞxÑhãÆá ëÓgÍuk«Ïج¨ë²âÚ)Þ0¢ÌTñ¿1 ˆöçð|šNÄaÆ.M-Q@Dšªqzöù |9¤ Ò—Düb{×C™l¼ 7}»¬,šã%Áü ö+‘{w,èP R Tò‰ºËÈC¡PÔç)|Ófš¥e7ž‘[Ï Ý®2}q”þÙ‘*Ë)tQ‘1¡›80êˆ!T¢/ÓÀËŒç%.<´uŽCï?8.?Ÿ·÷làR+ˆæ´Ie˜ªž{qFÆÄI%3fRáfºîJ£7SÃêiÜÞ™'>÷ :+ ƒ1…ÁhÊ:êî æ;q6¢ÿPV=9Ú8b]±sfåî.Îs>rÄgº÷ìc (æ ªÒÄ·`ØÿSz¨ZýÞ“^ýp~î`#tð¾y«VçÚþ¼xïhê ÞÛ”¢€(àÃàEPà·UyšQå#.¸4ïõ9­Vü’o/„*»†×¼•ϯ¬ÊoüM‰›8Š[4X}ÜѼáyt&íÓ¿UímUÿaϹ›¾YµjUëÖ)ýáöÅò#Iä‚)¿Ö+™»†­ùZŸº)#æóØýP;À÷º¶aGS4óîÉã+¹çãÿ?¯ÊëжUñ.Ãו«òÚ·mв•ùE<1ÿç¹èò¼£ºÐm7b]Ó%øß)E?ýª.ƒÑ/%Ó“'ÅÁ¨‰Üå´Œõê‡Gß“¿`~]ëÝ ìm—n›§¾¸éðp„¦çØT¯¨çŸ~À€jyU)¹qð5#nýëÊõ/\ðþUƒ†ñGݺºV˜ÿ«5)ñd2L‘è«3^6W<°©øœÃö¥çØK>b$ˆSÈ%À 7U=ŽªÍA]ñ“ùõ„*JÀ6ÕÀƒ©âð`ªÕl®x¨®âÐ0™_Ox0ÓÍ=Õp:늇ê*aðºV°©ÍL„®x€ÉüzB%`êÙÔî@u0ËÛ½$ü“믵îÔÎÆ…ÀãÞ[ÄSìø˜£lp #£Õ§E¶ñGjè á(׈O¡â*JÀ6•ðzÓw÷¼Æ5÷Ôî@]ñÓkÕêðt_¹î©rÃàž+ª«xè>àÁT«@u/E~ ŒiŽCrÀQŽthK&à§UÄÛOºv76ª,Ï£Sû.äÄ„æÿ<ï~B½ûàhµøãþïÄÕ-€Ù¦Î½ðzÓtÏd6Þë`÷˜õ¦ŠB¨®â&°]Ž,<˜js@芘̯'TñP&°©þ{í>Bs`rsz~`SÝÂ3Þ`4 5ƒ‘x ñ†²?£C:D/N5Ê#—ÓI}þºÖÈXÉ$LplƸ¡€è/åP¢7„Õ È(ÿ‡óËÏ?è?SŸÏ}ç Ž@€ƒŒÖÍd™Õ‹JÁøÕô ÑàHø·Èå%?DQ@DdàX€ˆW^PóxµmwÆe/Ã+ý.!NÞ2½€è 2öQJD*¤‡}‰ŒÐ‡PpOýR8& »ž&M'Þ„2ü†À¦á)³¨¤ÄبbO¡o¾¤ÌÈ›•¸œŸš¬•ðv˜äEQ@§@ʃ‘‹¶Ì¦¥Ë¸c«]¯^Æàmw ýôó¶‹y'šŒMCƒª”ø¶«úOpä^•›—'Û¥ªÒu)¾Š¢€(Ž ðNù±‘%ÞYs¼‚£…†@­Ä<¼z”£rð“’$Q@¨* p,Ã"o†æP£Œ#ÇïwçRël£<Ìá%-›Æ`̉Œæ‘ØÄÁÒê0»fL}1DQÀTÀ§Áh’ñ 3œÐmŒË„Á¦YW~¦|–al„¢ÿ’$ ˆ¢€( ÔPø[SþpÜ;kÑ©£üØÉD± VÁ øˆßBÇÌ’DQ *(êTDˉ^åÙ I¢€(PI È`¬$á+¡Ù;íAì.qôƒc½À¶vGh5:ð{Ð)º}B< ´.E{3™™™;wúùÒ_BÙ¸ãþúËæ»{¾¦yËÛ½‡^y»g×ÉåýõÐ_6¹˜KêRáŠP½nÙMÖÕr=¿¼?…WpØašÓ±iï=;?[ŸsP0Pl¯á’׺ԌwØ_6nÁ_ÂǾÚcÝK½¿pÁ¤›{  ïîA÷¡9¯¦ê^Ù~1¯\Nøë3‚¯ÆÝ¥æT!¦\õ0æ°GÃ_6n\Oèu0êÙ<öÕ€ûK¨²¥x5ª„IôÑ^Å_BW6¯Ýw%´÷…ó<½ºÞª¦¿„þ²±·@8{öì‹/¾XíE‚%À–`- Ì+á-#[AF÷ìÙsýà¡Î_`ò÷>é„§&N¨U˸³mÀ{SxrƒÌ8£ú˜%ú£Ì M\ñz°1¿GU<ºâ&óÔôf¸§ï/¸§ú`sÅCu„€S­`sÅCu„®x€ÉüzBÀƒ™nî©þ€ÃÐYWŒo«J“Lp”*!¿EQ@D'Ú­Pޱº‰úÝ[zÈ, oQ‰EJr[çÈÒdeó$¢'#E+‰(=&¿E*¤@k¢Å‘ ;žþkñÛºÅ43Öt›ü¹‡¨$‚ëÒÉ]¶èd/N§Žè²+]ªÈaQ F+À`ŒNµË`¬ÑJõí<ßV…Íd¼LE’( ˆ¢€( hÈ$ÚìØC4ÇᾘãaíŽ 6q^’(På˜j¼05«msãmÇüŽ!5Y“}|ëÉŸ‘D9Ôà°l£Bã—|¾4´o+*, ÍN0~=)j˜ Fcª“ ÆviÔ îÌD5ŠW¼ÆDÕóûËÆmùNè5‚t•î¯ïêùKè/[y\-þzè/›ïý-o÷Rzåíž~¤'rÔ_ýe«rWK"‚k0ªz¼åd¯6Íël-ûV &ü$ Ž Æ”p(ÄqJ¸Ñ2XÑmœ,nTòׯ…e‹>4ž•R=,=’ÌoÙØ Sûª"þº—zù’°Ÿýts´»Çžgµk^wsÆÎ¬’M+ŒkØê‹•áêV>tyˆŠð àÌè*'ë(4Ä/onÙ"ا_è‘'¨¸˜nø`^`TÓîžy”ùUXJ%Õ .h’4ƒêaÒT\Ñ_6WB¯ƒ±‚Ýóª¤êžÓÕ˜ ³J˜`E'Xâ„ì¹ë`d6^ÄaþoãË`LÜ=³ƒ<½ºçt¬r ýec'°z¼EeÚ¤Ç,ý2W V\¼«nÝúDµŒ·¨˜ æ8<™Ìà)¢,ãõüÀæŠ6„®x€ÉüAz³ÜÓ÷ÜSý°¹â¡ºŠBÀƒ©V°¹â¡ºŠBW<Àd~=!àÁL7÷TÀaè¬+ª«x Ô=µ:ð›+ª«x tÅLæ×ªx(SϦvªƒYÞî%áxèoÝ3âeìcü6“Ñ:¯ò5Ó!‘µ÷œ·J¬¿t¥%1„aü;Hü¥Ú¶R¶Èoè˜ ‰!´š+åPñP&°1 <™¾»cß«{*ú ½SñÓkÕêö+Ç•­¼ÝsåQ¯ð¦‘«…÷D›W{˜rö ëƒK/~£¿¥yÚH”MõyG!·S𬣑ÐL†@ ˜1î™-¤Æ„Ö#~£óɥλùîq5&,ÓI}iÙïT6~öêl·§Õ¥+V€LpŽ2/”èMÓ½2o”ê^#¸—„?à0ÂQ¯üÀftÜ׫%E÷ØðcLöÜm0lVýŒÜ3Äu‘ØÓAÅ$·Áhòp3“ÉÆ¦ýÇLs{˜ Œ"Ï8‡þÜd ÏŸVÑ™çE ù—Ih O½{p”«C ôŽªx€i¹Ç3Uƒ·¨”vÅý7OpµºÆ+Tä-*î‚ BDQ@ø•ˆ'2⦽‰¶Ä=pa;¢ß PHÞ'Þl²»^ØØ{ò^Ä­­TÐs3ñ{ÜAÁOT‹'xB¤j&cíÆiDüæ#ÛG]™1‡.:‹êhÈ Æ3c÷¸K\’Ó8 V©RƒÁ˜ðɯ óÃkÄÌJl^r>=þ,™Î~ Ýr#´_óGÿM׉á•á#Gy7ÞtO[$øGüY(SDQ@DQ@DQ@DôW ÝÁGX[Tj¿þÚ+éï±x( ˆ¢€( ˆ¢€( ˆ¢€( ˆ¢€]^îa7k³1â–Ñö"§<‡%]ôÉ|§£R. ˆ¢€( TŠÝ{Ú¶°WŠÒ¨( 8( wÂH±( ˆ¢€Nïîø¯Lœ &þuå:z¢… xk—$Q@DQ pý+–ŽN‹O¢@uW@î«û–þ‰¢€(PŽ ¸ÞÝÅý+Ãq®%‰¢€( ˆ¢€( ˆ¢€( ˆ¢€(Pµˆ?ÁQRRrϽãªvÏÄ{Q@DQ@DQ@DQ@¨â ðìÏQè;Á¯êм­KAíØ±cÈÐaÓžŸ¡‘Q@DQ@DQ@DQ@*Nžà9 ž©pn2„)Æýõ×¥—_õî{LÔY:9" ˆ¢€( ˆ¢€( ˆ¢€( ˆ¥ÏQðLÏWÄkÐ\½ÁK<” Ž7ß¶dÉ÷ñêH™( ˆ¢€( ˆ¢€( ˆ¢€( ˆ‡†P¢IDAT• ÏTð|E¼†DžÜ”pÇÃŽ;òÈ#âÕ‘2Q@DQ@DQ@DQ@*Až©àù ‡†#s¤Lpìµ×^³fLíÛç$‡jR, ˆ¢€( ˆ¢€( ˆ¢€( ˆ¢@Å)ÀsšAƲ@í?~_™¶ŽŠc¢€( ˆ¢€( ˆ¢€( ˆ¢€( $¢€MD%Áˆ¢€( ˆ¢€( ˆ¢€( ˆ¢@Z+ i}zÄ9Q@DQ@DQ@DQ@pU @™àpUI¢€( ˆ¢€( ˆ¢€( ˆ¢€(Ö „)\.mêÖý窈éy!Ù½zêég¯½ap‘3êæ ëÿñô3“«–Ïâ­( ˆ¢€( ˆ¢€( ¤¨€ýA&E*«ûè˜ñšØ${ðËÏ?$QÑ^Å;auÊ‹8•~6]OAQQÑsS§ÿçå*ÝUOÜ~ëÍ^tÙ•.«W£ KDQ@DQ@DQ ½hÓ®}r¹¬ààg<ósäQÇ ¾ñ¦ 6˜Í¤>»¡q×jô°#:_qÅÕ¿üò«ìã!nØV®üå„Þ} °rMv²ïig„ÃüŽßhâ|ŸSû«Î—Oþ·½û¿þöû?íܹÛÁ‡qö9¼óÎ{ÉóVjÍ‚‚Â;ÆÞsü §tÈáGuîzõÀk|üI\\/òwß}ÿ˜£;í·_k«ºuéZ%œáôÀƒwì| 7÷ÐÃZçΩÜ^ò¾ð°ÿþGu:òƒù¹˜¢€( ˆ¢€( ˆ¢@å*ôÃN*OC©Ô­D¹¶lÙrÏ½ãø¹¦ÝÁ‡ñƒ¯+ÿïgŸ—‡?}’>_åá§Éé2ÁÁ ~Ìãχ¼“Y·î¨Ñw–Ÿ+vf³ÑÏ>]еÛ1ÃnºÙ~¨"ó‹>ýo¯ž=*²ÅDÚª_¯ÞG}l!ùIµAýú–écÆêþÿþ÷Ç¥— 8î¸ãæÏgé’¯ÇÞ9ú­¹oûØP…Q­[·îü .ÉnÖlÖ¬i?.[üÑüw/»ôoÓ¦ÏHÎ>ZÐç”SìuÍëÖ^ÂùÙ/Íùâ˯ߛ÷Ö»óÞüìó/çüçàTÕí¦_üýO?}þüìÌ’DQ@DQ@ÒA {ØI‡Î¦âÃa7ïÞ=kæÔå?.™ÿþ¼³ú÷|âS©&W7ÝΗû‡ÙÏììf£GÝþñ'‹LÓšÅÙ½{÷½÷ërLwþ‚zÊsÓ@”eË~8®Ç‰ÓžOò²qãÆ× ¼š×˜´{öìá/ÀîÚ£ýaGÝ8lĶmÛ,gž4å˜n=:~Ôm·Üµk—Ÿ——Íu7ðòCÚÉ_à¯_o,K1{Ä?­®qá§Ÿ~Ö½ûqæÑ^|©× 'ó×þýÏ<÷§Ÿ–›Mìܹó_#ï8¢ãÑü9ê6Ír&‰‹wê‚Y+ÁŸ×øÌ3“,0ÇS¸îÚk,Ó© '—ìýe»iuÂãOp£—þí⬬¬ºuëyäo¶WL“'®q/'Ÿ­Nù•ÿØã_|ÁÐ!7´jÙ²víÚÜÞ'?mJTLîûÔ©Ó»÷<ÑÁ’‚¯¨[oÉWW×c{NšüœåÌÒï—uTGËtʼòêëÿ1,Iœyå?¯™H§r'§r'§ræ9ªã‘ß-ùÞ‰PÊEQ@DQ@DÊR ‰‡ëîݺwzH©¬N•G»Ÿý÷‹[o¾©U«VµjÕjÖ¬Ùé§Ÿúâ¬ç͆\¯œêÚª-ôE¾œž—ž°,Ç '377%:ÁÁÕø+P™ÍÇ&<Áo½ñê'Í_»vðáG_õ÷kïºsô•.·—'žçU7ÏNz®CûCÍ*O==iÙÒÞü¿W¾úb‡àeÿÕW_}3oîŸ,˜_X¸bõøƒ®¿úÊ_ù)óxÀ÷ÝÿoÆówãæO3Ãùâââ/¿úúØn]M¶/¾ørÎK³–,þ²oŸSFŽc>òè„P(Ä x…ËŸkV?:>Ú4‹×tÁ$Lägß¾§nØðí·ßEZùjãÆ}úœlUÔ4×%«"dìÝÿô¿ŸõëwL3®˜æ¡¸ÍŽ`4>Çm4é ž{ÎYšêß-Y˜u ˜H>­6üÅW×Ü7_ÿìó/¬ê999–é”ùù畇ÝýtX‡ö+~Yi"ÊxœÊxœÊ™gŸ}ö^·.äD(墀( ˆ¢€( ˆ¢@e)ÄÃŽú(§yH©¬~ùÞn—£;ñWì‹·cÇ w}¼r¨kª¶Ð–þ|9=/;=aYŽA+qMžÝhذ¡q(0>%üIt‚ƒ£oÜ{߸=å öôêk¯ß1fÔÞ{·hÒ¤ñÈÝjš9ëE–{Êä§O>¹·U˜x†'ŠøsTçn³f½8aÂ#fÅ—çügÌ#¹-îÆÍÿ¼éwß·G¼×˜ð‡3ÿ÷Æ[z<ïài ž"á"#nöÉÂO-{†¯•¶mÛp¿Ì±cÇ´hÑ¢~ýúÿ~ÕÒ~4 ßxs®ÙtóæÙwŒɦůé‚UÑ5“‘‘Á [žžd¬;xêÙg]ów.±jišˆë’U2öîóã=oë€ijÄŒÛ\Ü FãsÜF“.,\¿¾yóæVuó23g%ÍB¾†yúÓ˜¾¢¬³Ì똬£D£N÷0½Û·ooРY‹/Ým[·›y§r‹?ÁŒSy‚´DQ@DQ@*^¤vì®jRì°*jâã-[î{ûÈ1üÔÜóø“8ǦM›Í¹>^9â>¬éUÒŸ/§çe§',Ë1}£|´eË–ül5wnÙ¸YÅýñÌ|üã'´^=»ß{×Xh)*h­, aÌä)SÏ;÷ì#? ð šµ>­Öf¿Ú¼víZ^¦V±—ðØá¹†Fq!ï«jØ(:ÙáTn¯›Hމǩœ9Yð`Ð}íI"­ FDQ@DQ@ðWävì>hRì°*çoâÿ9b8øáô·ßÿ7eÊ´¡7~Úî”ëã• îÚ«Jšóåô¼ìô„e9f=qÇmg7x±Ïn´iÓ†ေ„ÃXÄ ÷ ó!0./òcÒª¼¼öß³_˜ñ·Ë4mÚ„×À¡Í@ кuî£?pö¹t?îXžžiÑ"øÊœ­§S;O~þŸæË,8cípÂ:|ä¿náè¡üÌÉœ;E7¡Ø 9¿hѧ·ßv3‚Éˬ¦Yûê@š¦“KqÁšB„1`Àå7¸…/hÎÛ‘^›`‹Šv𬠓ðn‹ÊÞ}ÖÞ¼w\q™uÔÊ$(¦…{ÁxõÙbóšá“þêkÿwýuƒã… ?™ŸŸÏW/¬Xè°AÉÎ|æýÌ ŒÏ2ŸnëÐÉ'žðöÜy–é”á͇yŒcµpâÌyçŸc"Êù¨}Q‰­UîÄãTÎç½ýNïÞ'pF’( ˆ¢€( ˆ¢€(† x}ر?Êqw¼>¤¤¡®.]r逷ß~§°p=?×ð‡zÄzzu}¼rÄ}Xmã:æt¾œž—ž°,Çâ¶Â…<3bŸÝàe&2L%Æ6‹pªüBжmÚöëwÖñ'ž¼ï>ûØýàü/Ìzž¿0ŸøÄÓör¯ùK.¼ðÅÙ/s-ÐÚ¥K§Ë®¸êЇ ¿ÙYóèÎO=ýLÞzÄïÅvã`³ 'ü¸ß{Ï}ã:މטtîÜÉògÐÀ¿ŸyÖùæ³%Ç’<æè.µk»¬p1|XóæÍNè݇?-‚97 j±ÅÍ8¹œ\¡×&î¿÷®÷ÞÿàˆŽ].¸èÒãºu3…îï¿ÿ~3gLýä“…'ô>åð#»Œ½óîþý¢S9Nb:9÷‚ñê³¹k9ïRãE@kÖ¬¾à¢Ëø:=z4cæ¬iSh&š4|ج&Y >­ß™]»m!ûöíóõ·‹ÿøc•UÂyýX>tÉÅÝ¥sŸÓúó§ë1/8ÿ<ïTþÍ·‹;;¼œÅ¢µ2IðóK¿Y¼¸Ï)'YnKFDQ@DQ@¨ 8=8Øå¸#^RÌ»këg•‚¬Þšûö)}Oççšó/¼¤¨hûÄ šž;©dõË ÷a ´µHÉ8=/;=aYŽÅ%çÙììlsíÆÞ{ïm‹Á‘Ñ0+»qv‹pFF@¿%.¯_…|ùÒº_<ö~3¶M›“~ÿ‹*¹|yt*qO*½û‰»Z¹H^ ´xÉ’gžœè£—^qånèÖ-ºÀÌGf“êÚudGždõYEQ@DQ@DQ@H]6íÚ ÌnðÊ+G­:õ:ü¨Zµ2~úþ{— @ZsÌ…‹>r¢†(PûŸøY¾îÚk'ˆœ5}Z‚Èä`þNÇ$çƒÔDQ@DQ@DQ AøM—¼AÄZ»aÍnð:~í•”¬[C—”ÈG|I|ø^ü5£´†w¿fœdé¥( ˆ¢€( ˆ¢€(Pƒà5òjo}ÙR ÒJ‰ ð,†ÓìÏtpCápÉúµÆ¿H¥2·¨øØg¡DQ@DQ@DQ@Dj €µE…g7ìë5âæ32j…Æ»TJ2dG58ûÒQ@DQ@DQ@DQ º)`ì@)MNyâw¨ðôFØøýÿ¤B w–LØIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/screenshot_pcb.png0000644000175000017500000032325113634703632020151 00000000000000‰PNG  IHDR|k»°‘µsBIT|dˆtEXtCREATORgnome-panel-screenshot—7w IDATxœìÝy\UÿðϽ€¢ˆâŠ ®ˆK®QDn”Ù&aEešÕSY¦b›e‚™ŠZ¹d¢õ¤õû6;Æáâ¹Sè?{ÍCHhK(*¯¡UD4.–D``C(ªÊÑ{@ïß‹ÆM[ ¡K&¥V{`ó9¯º²)ä ‚¹’$A “Ë!Éd€\@å% ¢¤†¨ ¨UUšÀMq%À;y–·†<8Ë IjH “’ €\’\‚( ÕÔ¢ ‚J ±R ¡ª ŠÒ`“¹<»uCß^­Ñë–ÛÑ8ð†´…Jy!-ãPy±òÀ`ÊËèsË0D¶ÔAmÑàÊ?ð‘‘$@T) Édšn–šPJÓmR&ƒ$™f¬xý?µ$BP $*µè<ˆ •f> éµJÄ•Ç É4Ý8%I I’Ðfh?„DµÅ?ßüˆ‹† TC%&yš|jµÊjÜûÈË€£_3Jq‡ÁPx‡€ý¹¹ÊaYÿëÿʶí€ç_2†ÕL_Ÿ Ìþ Øh <ó/ 3Åh^Öxæyàíd»kµ<Ò^×ò """""ÿ$IE !°IB[uÀÕ“Q­(×´”©ˆ’Qب)bn}ÊòK8œ÷ „*T¢Êjž¢ª¢¨‚$ª4y©4‰èŒ€†Á(ý{;DQ€(¨ ¨Ô*ˆ¢•<+ª 5@H—H4hÕ 2² 9Îíü jA€¨ÑfH_4ë IR£}ò`”샨ª†ªÚ´Nní¼§]žm³¹ß½¼¾è˜ }Xÿ’ùtï ©éïšs 8w7ÐPÜ|P9«&ÝûÉštMoÔj`ùõáŽ}U•ýå""""""ÏPK"Ô*%Ô ®¼ŠS¿å¢mŸ$4 kY` Zw»ùú÷òÔ¸Zv G~û*±‚º¢Z€JmëèçÐ(mz BƒÐPK"®ž)ÂñßÖCU] @óvÝѪct“€yAP–›ÏS VVkò5ßßkŽ&Qm!©5/k‘Ôj´<×ΞEå߇¡ª®‚P­„(TCUmGÀ×/VB¿Ø‹€ËòbD6FßXmÿGãæ$Áahs òFj‡+Þœ%ÿn{h5ܸZ¬øånfº©Zuã(àûQÀ¥Ó@«û¼„ÊC×€îMjÒÊjþ~°9ðòf k°ç[ ±^0jü¤ÉC‘DDDDDäS’¤† R@výÅ,¢BDñίÐ:î4ê¥ùpº¤ÆÕsÇñÇwïAY]¡yæN-@”’¹·tÖä٪׭hÐ$ Dœ?Z€S~UuT* w¬BŸ{^@Ã0´ŒîF-#Q~µÔ|žj5E5d¢ a!h= B:´$I(/>KA»ÛoFpË0tÿ׃ػh%ª @ª! šg™|Z"d¨ L­BE ¬®yÞ®YKs¹®ÏãÀJS_ö—-"€ñO¦‘õ×¼¥3´0yšáx[Ý:µÝAƒC€žÐü½ì^ þv ¼Úüüï}Üÿ:2hÓøàg׎ˆˆˆˆˆ¼MR‹««Qñz' *œÈ߀óÅ¡]ßáP)*ð׿åP*®Õ{j•æÛy0mÜÒÏóLÁ&´O…ªK%8õûfTWWBP) ”P UØ÷ý tK|‡ó¿FÙ‰?-ç)ª!V)ܺÚß7bµ '·ü‚Òßþ„PUµ$¢Ý°›ˆ~/>…ŸåàÄ–<ªjˆfZ eÒ^Hæ*å²€/„ à5ÈUjä …, =£.£UpøйEBN´D£¾Ðĉ—¶yض/“Ú±$™ ‚Zµ$@ÍsobµæE*¢ÊêJ¢Jèi?j®V¡ªü<¦<ÙjžATBU­€ VC%( •P Jûó|å%„öŠ‚ä¿} B;Fàä¦_P¶û/ÕJ¨UP)hÕ¿º=t “¡`ÙÇ8½ó7ˆªjT¿ˆ)?3ÈÓb ß•r ësœh¬Fhc LÕ AÁ¡8{v òDc´èŒ½®BÞÈôC"""""" {&N!^S¦(ª TE%Têj¨DM·Hm«žöé¢$@ 0í~i+OA}ý3 Žä©¡¨•N|¹¢¨‚ T@¥RBT* T+!T+pê§8µc¤ âÜ9‚æ>ÉL ŸÅ€/"T9)Uh(ΜŸ,Bƒ†r´i t‹ R Yãj…ˆ€Ül#!‘Ï5iZµP 5$Ê*Ísyj•æ¹7¡ZÓÅS­ÿ· ¢ZÔu2 E Ó7ux$ϰ PWGhZ «šïò©”«ª¯ÕÕªU+5ŸbÅjMà -¢LƒH‹]:õ ¢æ ÐüODDDDDT\»ÜëŠKW‚!ŠDIA-BP‹š¿%*µæù>A­‚J-hž± ¡M ·ßz­[ª<Ÿç‰68øÅP\*i¦yÖP¥ªù`»JÓíT¥ª U‚¢Zä"ÚtRáöËк›á[-í øˆˆˆˆˆˆ¨öáWˆˆˆˆˆˆê(|DDDDDDu”ÁK[²÷}ê«ryÜðáÃ}]""ª"""|]’’“qg#u›¼¥³gÏžž-‘—`äÈ‘¾.Õ!æ-_غu«Õšf?Ë0`ÀˆˆˆÈ› \ÎcëÖ­n( ÕvúÕ<.Ô_µ­·ˆÅïðùKÄJDDäjÛ žˆÜË\€ÇãBýS}¾´…ˆˆˆˆˆ¨ŽòXÀi;‘ù[y¨ö¨KûNñúLÜÒ»+Úµkgv˜jº´íêÒoŒˆˆÈß8ðEFFšü¯?ÍÌ•Á‘e»³ÌýúÒâ´/ê'rOøüb¦úÊÈxæôíÞQÑ]0ì¾'ñÉÖƒvÏo®üöŽó®®¿»¸£~ô÷÷¨˜.2òI|{ôªÝó¿8í#¼òÍ.œ>}Úì°·ÛòoÜŸt#¢;Dá†[îÄÛ«÷xuùÎòô>îHþžÜvi}ºà㒠ݰ$V W§^¨%Ý¸Š’Ñ¥ÏþûÛ'ÿÀýƒˆÈ·œjá;sæŒÁÿúã½Å¸ Ž,ÛålñÇ ì¸Zm2¾úêdüÑïÝåÕz1gþ=£q¢û£Øøë_8~ä/¼?=³Ÿwûr|½ž–xký½E»¿;T€7ïoŒÉ£¦Ú=ïžrîïÚÒâ°7\)\‰“ÖâáÙÙ([[Óek=í©Gkû…ež©'GËck¿µU?g~Æä‡ï@÷NшîÔw<< ÛÎT˜ÍËëçéýÞ¹µK§Å”¤Â™Ïáæ^]Õ±;RÆgâ¬J4ŸÖ $ñ*Þòâ:E£KÏ›ðâ’-fË©ÿ¯³'¸%:#}®é`wætt™°Íe†y[©‹Ç{v·—Õµ´o×׊‹Ñ©çãN•ñÓW±|Êýh×¼1‚#ñögyv•É\Yª7ã¿ùï, ‡¢ÛÃÈÕk‰’„ËX49Ý;E£KÏx¼°x³Áü§¾ÿ7R†ÞˆŽQÐóÆÛùÙoN­»«ëoÂFZI]‰ÿÎ{tELl¼üþOVëÌÁÍ0tÜÛP\¬yxØZËkdd$DI28€éÛ³~‘‘‘øaù«¸µ_w´w²+á7“–â¶?Ç÷Æ!8(-£{#máÿé¦K¼÷òô郘n}0æå÷pE¨iY²µoÙšîîmèÎ}UŸµõ0·ílÕ›#:~§ÿ7ŠëgÀ’¿CPH6ýxV3B­ÀŒ§‘þpG]yì)7`ûølm=ñmäÿ}ûwýÉáx0y‘ÏÖÇÖtgÙZO[õhk¿°ÄSõähylí·¶ê'ýÞ§P1øü²ÿŽìÿSUàé{Ó-æçéýÀÝ¿{à•—¶ü±ð~,:…OØ‹£ïÀýÍópÿ”=¶¼]oŒÂçç⻂CØ·ãK„ïšf6vçtå×ý¹¥¸òÍ 8Y]sÁ(VŸÄ”uW°ô¹î&é­ÕÅsIÈÎ?(ùiš`ávÍÛRË~ý·MpªŒc;„bÂÂÏqèÔE˜»ü³V&sudo½½¶»9V~›âcðÎè&xåá·uÓ~}ã~¬¹š€-{ ±ÿ—tøÃð‡=úÙù¸sV6+ÆÎÜåh¾ï-§ÖÝÕõw4ížÌQXúw|öã^lD¿óÿàž}͘X};¾˜ŽÐ¨1v¥7.ƒ¹2ÙS3öÇà‹¼ßqÊÉ®„½Š—nncqú/)øôÌ ø¿ßâàoÿ‡Þ§?EJÆ/i¬í[¶¦»{ºs_5fi=̕Şz³Wƒ¦‰ßò4æºø#»w.ºdzÿ\<4§[M@BÓ•°}|¶¶ž:F:ž›ßN˜ŽÞ‹¿À“# ip š¶Ãd½›Þöù[;1ne:ºµjŒÆ­º!}å8ìœÿ¹ÛòŒŒÄ–%/"¾GDwŠÃCSÞÅUÑðhkë&gHx'm3NëïätWÓ›òľ!*‹ñäËÛ°$'ÃdÚü_ËðŸyO ²iC4l‰'æÿÛæ¬²{º!Ç×ÿç5ïâ¡ýÖ8ÁÍ"1:ý¿¸Rô‘ÏÖDZõµŸcëiZÎ재'wï§¶êgã¹*,yî.´l„ Æ-q÷sï¡êÜF‹ùyw?pl¿7mìŠ[nOÆ­z!ºC{ÄöŒE›O9ÞYN|Žvý˜óñ>¼óï—Š F­ðè¬8½ež3‹¶XýrdæÁ[ïOALóFhÔ</þÛ}`ÆuÅ»w5Àäì#ºqG>„†w-A×F¦_½°Vq“‡¡ðM7ªïÇCY©Ø·PÓõÇ¿#i’iiŒïÖ¢Gé÷ø×ÈDÄt½>“Ž‚‹J»ÊäŠO?.á¡j‚!O.AEéjÝ´¹_ÅÛK'"*,Áaј”exÁÞ4¸tªgΗ£YDwL|gÓåpçúÛJ;{U!ÞZñ*º· EP“Œ}cÓå¶D»¿wˆéŽG3~ÄôÏíïÒi‹=u±|Á3ˆ käô2N(t6óÛКûÍ1¼ýÁ 5¿ßÞ±o Ë`mß²5ÝÝÛÐûª1[ë©ÏžzsÄèi}±qæÏ€•Å ¤K‡¢xàç76¢ÿô‡*·­ã³µõðÔ1ÒQ¶nz,ûó†€A7tCtç8Ü÷ÌLW.-³.hƒ~·Ü×ßÍRmÿôuÓ>D7Ò~ ªÎ¯·{~{Îó¯çG`í/ûp¨à; <÷9FÍÜe0ÝÖMO8W0;zeb@“ §¦Û“ÞÑ`ÕûÆ–icÑú¥/pGkÓã²€L&«!“£êÜ:»§ës´¾Ì9¿w9šv~ÊjO®#ëë këi®Ù/ÃgÉžk*<Ñ« :tè€öíÛ#ºó`U‡Y´Å2è—c…€!Íê†6âÒ²l¹eö,XøªÔ$u^]ô7f;ÅlZkuÑ´Ó+Àá¡VÃÂbÒoÍ€ìøB\T‰X^¼Ü©©SåkÐ줿û)vþ~E»7â¡n'0fä|»ÊäŠÎÁ5õ²€PH¢B7¼¿BÀ­Mõ¶Qè­ó~þUÎnY‰Gn︛ïBÖ¦œ.‡;×ßVÚ¿®©0Toßóíþ~êDÖ¾}æ=öžÛò¶§.ú¹p²€¨†8VeùÄñ·ñï·Ù ÒXÛ·lMw÷6tç¾jÌÖzê³§ÞÑ~Äl”ïyÅe[q[[o#íaë¦Gë |4g"š6@ƒ¦—ù1ÎýæzOY@Úu¿o~º Ek_³{zë ¹Ásª¢ê,‚Âížßž»†Aü`¨*öLwäæ…>g_brá¯Lll3É­‚šnoz[uc\~wïoŽÉ‚œ7dáô2úóµ¸ùü7Ú§ z&Ü¿;ŒA`£.vOײ·¾,m¯²ÝÙ¸óžy˜ðõÿ0<ÜòÍO¯½ëë,[ëi©Ý/<]Ož:†YªŸÅ£ž@Û Ë°ïÈ œ8²Ë&´Å£Þµ˜·öGúbB&o¬ÖePK$ÉôUAަw”WÎŽ³Ç÷ÅøçÞÁ¾.BT«PRøæO¼ÛcË›þ@'L›¼ '®(¡¼|K'š†¢`Gi¥ÅéöJ^ò¶¼¼‹^ÙŠç–$[Lg«.’&wÇ›/oB—g††=Ó_š‡¸IÜ.Ûm¿Žï~;ˆŠjÊò2lx? !m´»LæêÈÕz›>ª#^M{ÿ\QByå,O3ÜFwO| {Ž”BP ËÀù—ü¸ºþúl¥}ãÑn˜öì–^ƒêÚY¬š3Z7Í]ûš–$Tb÷7o"¸y’nÜèð¼ðÉϨÔ(/-Âò{‰…7~«÷/OÖñ!ç—CP .þ³K_©yè<ý¾L›ðŠ/+ ¸\Œ%ÏMCÌ}–Þv”»·¡;÷UWx¢ÞîyóVüþþ$>ÑÐéÉDüýþïôæNçiëølk=íž®eïú›Û^‡sßFÒØñʺMx¸G˜O×ÇÞõu†=ëi©Ý/<]Ož8†Y«Ÿ…—ñÞ„» žá»|øC‹yyk?pöwï¼ðõ}é+̼ñ*Ò„NÑ]pïso!tø|Û3Zaí¾[æ¬Ã#Í~ň¾]Ñã–Tœ¹Ñò²ŒŽñ q.?4Þ4æY<¼ƒó1–»Ùª‹ˆÛžÃµ3Us§¦»Tû»Æ¢òtž»-Âé²-Û9ó'¢O×hÄö† ÃÇÞ´»LæêÈÕz»eî7H Ù;úvE„qâ†ÉkîÏÞ³ž¼£» õµu˜¾Òùgá\]}¶Òœ±»Çè!}ÐuÀ=ø£ÕsºiîÚ×tÏðuê)+OaÁ— uÓ^ËYˆŠÕSÑ£c4âïK7½ãPÞžø­k;›—>ˆÕcÑ-¦†>ü k:¿eþz<Úv/FÞØÝo‰ß#Æbý|ó]¤áîmèÎ}Õž¨·67ÍFë†!˜ h=!Ám1g`kçËiãølk=|8"##íhmRcí¼‰x+{ÎW7DßaaÉò7Ðéz·FsA‚~žÆËø+÷}Ì~ï?Ø]XŠF­:`Ƚc1oæsh$·k:$SÙ3 IDATŸÍ…«Àe„áöG§bŬ±°3[ë‰O^}+rqV„›îy+ß} a2‹ó볯Nkæ³Vw0H\[¼ s˜¿1amº¹²8šÞ:÷î¶Ê“¿j.^]ð)Ž^bo†´7ßBr¯ævOl×§5–â?NœB› ¹××ÇžõµF{0¶µž€­z´½_xw»[/¹å3ÞoÍÑÖϵ¶â¥)ó‘·· £ë€ax}Éb jâ‘õsu¿×n÷ˆˆ“xI»®úÇ7w[b¼o@ÄÙšzgÀG>óÈìϱøÅ‡V} Ë&¥âí–âç…‰¾.Õ1î øê#G/6ë“ú¼îõ‘¥€êkŸ¯Ø ø¼ó„;‘ÛîÇý7Å!vàÝø54kçßìë"‘4–±nˆ¨60Û6[PPàírP=ÔùÞ4|soÍ·EÔçJÁS'‘û˜| öˆˆˆÈ^lå""òo&Ÿ+Ï8‘ÿ0øøà)‘y[·nõuˆÈÏð¸@µÁ[:KÚ²[‘-þðÛýY|DDDDDDµ?Ë@DDDDDT0à#"""""ª£Ì~‡ð¯>©ä<ýþ¼Ü¦DDDDDþ­mÛ¶.Íã7 [ ø¾µ³¶‹ˆˆ@II‰Á¸qãÆaÀ€Ÿ[$""""ò?[¶lÁîÝ»š×8Øl|DDDDDDä}wÞy§Cé ,´è0à#"""""òC °+¥``ÀGDDDDDä·®\¹Q!‚î_ý¿EQ´:¿Ï¾U«VùjÑ~e̘1¾.ÕQ>máKLLôåâ}.!!Áä¥*DDDDDDîÂïðÕQQQ¥gÀGDDDDDT DFF:uêd÷<.wé>ãÇGÏž=]Ížˆˆˆˆˆ¨Þ 7îÚµ+—¾õë×cÖ¬YHOOGVVÂÃÃQZZеk×bìØ±˜9s&RRRìÊë–é ®¥ÖØ9ïW_ˆˆˆˆˆj™ÒÒR³oé´Å逯¸¸ ,À®]»£ŽÉ“'cäÈ‘HJJB¿~ýíìbˆˆˆˆˆˆÈIN?ו•…3f{úbbb‘‘¬¬,ga•”ç‘l‰ˆˆˆˆˆê §[øòòò°páB«iFŒŒŒ gáVR fy˜ˆˆˆˆˆÈŸ¸œ‡ÓßÅ‹ѪU+«iZ·n .8»"""""¢zÉÁàBÀ×¢E œ?^÷jPsÊÊÊl…®ý<°</SgŸ¢¯gƒ¢³'€×f_üW“Þ¸¨vX6Ìü|«‹5iFeËš‰Àò÷€ß; G-ÔÀ‡ï/nòØ*Q=Ô»wo‡ç)//7çô3|IIIØ´Éz¤³eË :ÔÙEØ4¬ˆ¸ù)°lfÜ{‹ãk€Ð;€‡¿V.ªéº)Vó¿þ°¥ù´î< ÄÝô˜¼’ 9 Ħ=Ó‰S<¶zDDDDDD.qº…/-- £GÆàÁƒÑ¥K“éEEEÈÌÌÄêÕ«]* 5/~(%à·ïF¯iÆ¥†­·jÆïÚ 4~;¼¬Í÷üw€ÀÕ€\Lܤ>¾ v÷ZyÖ …/à…“À …¾. é[»Äíy:ðEEEaêÔ©HLLÄ´iÓðÈ# ""%%%X³f æÏŸY³f!**Êå5°( ˜œôT]ÖŒûêJÍø·•×Ç—«î!À¡ óÖæ4Á>ãáÚdЄ ØøpÏ_—„ˆˆˆˆˆ üèG¤¤¤ 66+W®Ä²eËP^^ŽÐÐPÄÇÇcÍš5ˆ‹‹sW9ÍÚ ”½ €IS5㦼|3¨˜”ýLxE3~Ò ¤éÆi{·ú}Ãñ—ŽÞ4MŸý¶æKÖæ3þtƒ­a·$v t b}]"""""Ò*LNrÝŸ¯ËÕ]…ÉÉ€Ø\ìy^ -?P{׈ˆˆˆê¾Âäd]¯2à#悤Ú8™ Tk{ðJDDDDä ¿ øvÎûÕ×E¨÷,ÝY0œü9h²µ üˆˆˆˆÈŸxúúÚo>òŽät y®æ_}©9ÉÈIÍÒÍϧÓ;©Ý®§õ3v­CoM¹ýuˆˆˆˆ¨þ0¾~Íëþeø4àKHHðåâé:ÝŽf§œÔ\‡çñ4+‘?ðiÀ·páB_.Þ/Œ3ƧË7( Yj6힊4oÉaάƒ?­DDDDTxëZÔ§_bb¢/ïs ())ñu1 h¥'M6ÿɹ²Ôoƒ>}Úu7f”ÁøìUëjÍ:¹ƒÜ× ß±tW!D¸lsœ¶…Ì×lÝ‘K"ä’èÅù|¤£mK7Îdšvœ¥®’þB¿uO?ГK¢®ÅÏß׈ˆˆˆÈ]\îÒyàÀ¬X±ùùùP(F||<Æž={º£ŒäEæZ÷ˆˆˆˆˆÈ}¼ù. —¾õë×cÖ¬YHOOGVVÂÃÃQZZеk×bìØ±˜9s&RRRìÊë–É ])J­±3Kéë"迸dOE†4œœìl“V¾œìl 0L÷ü›¿¼ðÄÜ: YŠìUëLžCÌ^µN—†ˆˆˆˆ¨>p:à+..Æ‚ °k×.ÄÄÄèÆ‡‡‡còäÉ9r$’’’Я_?DGG»£¬DDDDDDä§¾¬¬,̘1à ØÓƒŒŒ dee¹ôùiOÈîuz~rÌ }{°½÷@M‹ž‘ÚÒ2¦må3Y½J""""¢úÀé€///Ïf 7bÄddd8»§ˆ6F™ >ÕÓSÂÛ&çNVâÃONaÖ† ÝüŸ¦À›kºbêç)íé5JÎ(°qÓ9¼øÑT©=°r^2hß³ã·uórAìdî›z{*ÒqذKgf·šéþÒ%•ˆˆˆ|ÏøÍã¼F ºÄé€ïâÅ‹hÕª•Õ4­[·Æ… œ]„W |¦+–ܪÀi±«X@óvðì“€ …º4ª§:aȯ‡°íªd6ÙÀ½ÉeˆéÒéñK%ú/¾æ­U 8ö!uøœùŽ­O:ƒ?ªíœøZ´hóçÏ#22Òbš²²2›A¡=F¿ØËl ñ\%¦N=ŠOŠ„uj¯ç·Ã Ž8{ü^{ý¾XÛ@M«›–vØ\KßâGC01å¶_Ö4É•¬ÄœÙ…i^˜X‚½Y‘èùÄiæc>Hj Ç—còäpyC;`q¡ù„>–;0((Р—`†•yçÔüm2Ÿ°µ.¹s€ÂädÄÖ¸ó^шˆˆÈOè_ h™\Ì­™ŸœŒØ\}ä^Þ¼–vú;|IIIØ´i“Õ4[¶lÁСC]„ΰ³ˆüF®¨Â²eíï}…ãÙÇšðþ¬+?è  èd÷êþ×6çæÆ2l¸ª ö¤=ýuÿë«8w©ßcÃèÆ6ËZuõ ‚‚m§#""""ÿ››‹Âdö¢ÚËé€/-- ™™™8räˆÙéEEEÈÌÌDZšë/ÉxqS”¢„ß6B£æa€ÔærLùN3~×·§Ð¸ys»ò2êvWIª©ká__ßwtDjëUÜ´TŠJ{Wˆˆˆˆ¼ 09YÓºçDkƒ>ªÍœø¢¢¢0uêT$&&âÝwßEII  ¤¤ï¾û.1uêTDEE¹\ÈEw4F\†ïhªKšƒuY­ó]íQyù \ to"ÓÍkrZGZj“03íÞx¿ƒÙ©2¹ Q›`É’(XwÚåu&""""÷Ðz®tÍdÐGµ•K^OIIAll,V®\‰eË–¡¼¼¡¡¡ˆÇš5kç–Bnë²7šB8W‰I“ަ<ÿ¾™×³QV| ž?˜´ñò·ôEhd÷š ÛõÁa̘/þÓÂä(9Q‰7Þ8d¶ʫײ²%Žõ·•öô‡Z”Prº 7FâGþû–ät y®æ_H=LM¯™žqØò¼™zéŒçó¶Ö%3Ý?ËMDDDžå®ó?¯#È],íK¹x®Ï¥€âââ°xñbw”Å,m¶Úh—Ž\݇.š¤ÏžuÙ³,›$|´¬-³¾|­£›O@¶ù„ÅéDDDDä?l½ÅÛø3NZúŸsÒrä­àDþÂ倈ˆˆˆÈÙìmï=Ðü´}Éfƒ>¢Ú†Õ;úÁ^ê¸qÓr²³±½÷@}T'øMÀ·3Kéë"YÅnTÛ8ý–N""""¢ÚÊRëžþ8KÝ=‰jŸ¶ð%$$ørñDDDDTY{v¨®ñiÀ·páB_.Þ/Œ3Æ×E """ªwíÛƒí½"';Ûì3|Ú4Ûºù¢tDîãÓ€/11Ñ—‹÷¹„„Ý뉈ˆˆˆˆÜÍo^ÚBDDDDäMú­|æ¦Õ øˆˆˆˆ¨Þb`GuËß°bÅ äççC¡P 88ñññ?~à±¹z fX™wNÍß&óù[ë’;Ç?ËMDDDžañ¼oåzǘþõÍ|‰ìäÍ}È逯¸¸ ,À®]»£ŽÉ“'cäÈ‘HJJB¿~ý펲Õ:…ÉÉ&ãbsùÁf""ò§¾¬¬,̘1à ØÓƒŒŒ dee¹åó ÒæW á?Ÿqð·ò‘Ñzæ‚;ý Áy’ÜÙóòò0bÄ«iFŒ¼¼jWþ«O(aíàÔ¢v{$‚¤ÉgÓWS°â©åøæŠà¶õ&"¢ºëZ~¾¯‹PëÙÓEÖZ["¢ºÌé.IIIØ´i“Õ4[¶lÁСC]„‰aGw!bÔ{ùÙy,›? ðÞ;wàx΄Þûþê V¾¤ èd#êþ×v5­Ë§ ðÚ‰H|pC@Ó¶7¡_Év{DDõ˜¶ÕÎmÛÚÝHæi[Hmu“ÕN·wÛÕN·ð¥¥¥aôèÑW¥~¥9ç<èüW[ë’9Ýýå®K´Ûpm;ûqÛÔB½r‘ÚÍz`y&ï¥xLrIê! ¿[2rÌ5ø­˜“ó`.¦ü˜Ïó€¸ã<î –ÎûÖ®wŒeš™Ÿ×ä*KûPî<÷/Ëé€/** S§NEbb"¦M›†Gy())Áš5k0þ|Ìš5 QQQn+좡m1y[ú †ª+‡_]Q]“†¡ò²f|¹ZB÷ªÍ›kés$­ª+Gñ¯ß‡bIÏÚùúü£pÛúÖuæ.byaë}æNÒþzâ®O,ý¸mjí6Ød©ùé׸ ÝAèMYÚ掠Xß?ù^—†Üƒçq¢ÚÁ¥¯§¤¤ 66+W®Ä²eËP^^ŽÐÐPÄÇÇcÍš5ˆ‹‹sW9Ûº% ì¥Ž.”bÒë_¦¼¾ß¼ž‚ŠW£ìäiLxýÿ“¾?ü/_@h ² M†]Í_ß–å¹ødÕÃøþíÏݺ¾uYêWÉfOƶjÔ¯’ ºzúÁGˆpÙìÿÆé·?/’íc\ßö¤?óÈ@–¨nãqЍöq¹…¯®°ööNOÌW™;IX:I›ëæDîao+„þ6à]Zßàï£ö .#uÜ8³Ór²³QæåÕ}ãÆŒ2;>{Õ:ƒaí1Ç7ûñ9g¯ZgÐ͉'c÷±ìÙÚäyÎnþ>ü—µ`RÇcÐç s]1¢&àÐþ^ä’h0ŸZ€qcFé‚>e0ëÜx!ªØ¥“ü‚\MNÐä]Üþ‹ÛÆ¿X °éZhÌ\7Cv‡³Î\}›û­˜ÇnޱucÉÚqŠû1‘où´…/!!Á—‹'Ò¿+¨‚K¢î.,ïz·ÿâ¶©¬µîé§ùä ¶Îºƒ¥®œÆiŒ»v’sxœ"ª=|ð-\Èç߯Œãë"‘›é¿”…¼‡-áDD¦|ð%&ÖïçöPRRâëbøÄžkiØd)²W­ÃvóÐÞ}å]AÏâ6ð_Ü6þÍÞç&s²³m¶òådgVžáãó™ö3÷{1—†œc¼ß;rœâ~Lä[|†üOîÃç(ü—³Û†¿ÿâJ ¹fKR7ÿN:~ò½Óy±¾‰¨¾ð›·tRÝgéî`Nv¶aÂÀ0¶^xþv°w0¨ð>þ>êk­|&Û–bî&‰µúÖoÝk¨¸Ì¯;çq¢ÚÉå€ïÀX±bòóó¡P(ŒøøxŒ?={ötG©Ûs- E†'ìÌ®<ñz·ÿâ¶ñ_Ž´È:رÞ>ÚzŠ<“ã¸Ý`šÅú6ê:«Ÿ9Ç)"ÿçRÀ·~ýzÌš5 éééÈÊÊBxx8JKK±víZŒ;3gÎDJJŠ]yµ{õWŠRkœ~g§¯‹àSúI¶î¨Ú›Žgïvà6ð.þ>jKu¯½ÞÞÛ¾×þk[Bö<È{˜Ôû5Í?ö~C×òô  Uð8ETû8ðcÁ‚صkbbbtãÃÃÃ1yòdŒ9IIIèׯ¢££ÝQVª#ô»Ñ@dû«©òá úÛÛÀð÷Qw Ú·¿ôìP˃ ¦ÉÕ*@â?±­«×‹Vçh/çícR×€¦¾*.#rÍtÄ÷üý¸ˆÇ)¢ÚÅé€/++ 3fÌ@LL >Œ§Ÿ~0`>úè#tëÖ ÈÊÊâçÈ,í‰ Ö¨+HÎ`ž ¼)çÁ\n?ÄßGí×éøÀ/=ûè<-µ<oy_3À€Ï%úÏ”eHÖÙZ2I‚пT¿<Èn³îÄãQíàtÀ———§ äž~úilß¾°}ûv<ýôÓøùçŸ1bÄddd¸§¤NŠÚ.áŸA2Ÿ–ˆˆê—È’|ëxM+ž9g"âY’Ï—†¸~ZªomK*ŸÙ#¢úÆé€ïâÅ‹hÕªà÷ß7˜¦nݺ5.\¸àBñÈÝrçšáÂýÀcóô̰2¿Mæs…Ñ2õ—ã[ë’;ÇÍå®KÜ´ ȸmjÂäd´öö$îø?y\rɼž Wysrú;|-Z´Àùóçýû÷7˜¦.++Ó…¾µ]Òý«ý[ó(Ú|z¶U£Ý§ß£qÇæº4'å¢ý÷Õh¿æW„tná³rQýq-Ÿ-Nî››‹&7Æ£Éñ¸¶;_÷¿v\ln.bsÙ’JDõÓ_RR6mÚøè£0dÈ4iÒC† ÁG}زe †ê–‚:CÛ•óŸA2ÝßÍß[aõC8•ŠókN å’š·zž‡Ó#Bqî¿ûÑbñ»>)3Õn±¹¹ºV%[®íÎÇ€³g=\¢úGäé·ôÕWNwéLKKÃèÑ£1xð`tíÚ?ýô“Áô¢¢"dffbõêÕ®–Ñ­‡5Æ©-» ©%(7¿Ù´s\úþ7Íø­/B6½Àã>-«'$§És5ÿ@ê!`jzÍôŒÃ–çÍÔKg<Ÿ+Œ—™éd¾¶Ö%3ݽå®Kܵ Èý¸mj§ŒÐxDæÙô=Êmê6öžÃȽüù8eé¼om_1fn}x=A®²´åÎuÿ²œø¢¢¢0uêT$&&bÚ´ixä‘G’’¬Y³óçÏǬY³åÎò:L­V#(¤!TJ@ååJ4¿m .ýð'ܱÒå¯ti5ãÿ@Ðm‹ ÆùBjŽé›ärRÙ‰¨¶8ÁÖ%"gñè{æ¶ÀíP¹ôáõ””ÄÆÆbåÊ•X¶lÊËËŠøøx¬Y³qqqî*§Ó.mÞð àŸA2\zqZ½¹í3Ú@}â\|ñ]ZE÷7ÐnÚàü^\|én–šê+ýƒ«¹ªv:¶DDTY;Ïñè¶ê™Û¡öq)à€¸¸8,^¼ØeñˆŠyCP¡÷õ±ÏP6î3³i+³F¢2ËK#2’š“lóà©nOZ""¢ÚÄÖ¹ç@ÏãµHÝäôK[ˆÈwrRs-vµ ""ªm xô G8n‡ÚÃ徺‚g'20d©Ùñ{*Ò¼\"""ïãyÐ÷¸ ê¿ øN¿³Ó×E òý»jÚì¸1£ Òd¯Z‡!KuZí5v§ "¢ÚÌø\¦=>ñ¨aëÑ'_äê΃<º—3Û€jvé$ò1k',¹$B.‰^.‘wX:†—íGžcÏ6`·ÎÚÁ§-| ¾\<‘ßÑoÝÓôä’ˆqcF™´òÕ%Úó`ê¸q&ÓRÇCNv¶Áy­|îgk°•¯öñiÀ·páB_.Þ/Œ3Æ×E """ò[úoY„J×ÊÄÖ%ÏakjÝâÓ€/11Ñ—‹÷¹„„”””øºäGöT¤a`ÈRd¯ZgÒo>{Õ:]""¢ºH{ÌÉÎFê¸qÁÞ7ÙžÚõ>¶õ{Ã7¬öT¤aHÃÙºm /'; ãµH-Ãgøˆˆˆˆˆˆê(¿yK'Q}eü¦1ý»›xGˆˆêsoÛÔž×]oÑÓ÷ø®•Þ,^½5hßlï=ÐôZ†=ø eíàrÀwàÀ¬X±ùùùP(F||<Æž={º£ŒDuž¹ /ã°a—ÎÌn†Td‰ˆ¨.°ôeNF·Š|–¬þ0· íÛc6í¶nÞ*¹‹Kßúõë1kÖ,¤§§#++ ááá(--ÅÚµk1vìXÌœ9)))våuuâ-®¥Öhºœß$Ëì âìQ]bé»z‡CâM‚¾Ã!ñÞ,YÀk‘ÚÃ逯¸¸ ,À®]»£ŽÉ“'cäÈ‘HJJB¿~ý펲Õiö¾mŒX""ª‹¬}Dä<§_Ú’••…3f{úbbb‘‘¬¬,gADDDDDD.p:àËËËÈ#¬¦1bòòòœ]„a^{%·ä£# DÄ3"ñÛó¸cC¿Ù…ÎÉ5‚±WBï;;[,ȽFì•pG~%†¬+@gŸ@€\""""""át—΋/¢U«VVÓ´nÝ.\pvÕt|ºßzLê‹ËÅ¥j×þµÈ­ù6 ú©õh±s .^UšÍcs oˆF]ÑiÆćï öÖ*8%w.0`PP .Ü<6W/Á +óΩùÛd>W-S9ްµ.¹sÜ\n0(Ÿ…zñÈ:¸ipÛÔNVŽ¥Æ¸MÝÈÎs¹™SÖ΃æ–aëœhqº‹¿Q¿žp†»ëž¬ófý9ðµhÑçÏŸGdd¤Å4eee6ƒB{h[Ö´ÿnî/C`§GÑﭷѼS8”Ç~Æá×SQrôFì•ð×ç—z'¤s8üò=8]tÑ$ÏîcnÄÁä;pér úäneø!øCÏÏDÂ²Ùøåñ× Yj`T+QuøGšô,’þ·Xx“ËëëI2™ €Lf0R÷§”1Ò­ËrJ¦ -¥Ö–©Í×Ùry€dqÇr§¶ƒ+Û –ñÆ6 """ò§»t&%%aÓ¦MVÓlÙ²C‡uv:›ûËtÿjÿŽûp*³Â÷7…âÏÏN ç¿—êÒ·84?ÝŠß?ܸ÷ߥïó IDAT5›gXã(»ª ö´Ý3»Šç¾ÁŸßöDÿÑýl–Q¼ºòF¶ÓÕN{äVÜDDDDõ›Ó-|iii=z4Œ.]º˜L/**Bff&V¯^íR- oÞyßî‚Z-áòÆ0ó€Ç‡6ý¦ÿÝ‹Ï*ð¸A0·¹¿ WªªÑ*4eWº ÒÜs‚åkîCyö!´ýÁz0'oz7ÔU¿»mýoÐ_®71G¶ƒ»¶+¼½ Q}àtÀ…©S§"11Ó¦MÃ#<‚ˆˆ”””`Íš5˜?>fÍš…¨¨(·TP«Ò¤!*®iž§+½T‰ØqpóŸhv÷ˆ—¾Ò¥ÕŒÿMG,‚úúxmP§U¸æô]ô”oÎÃÕ3ÑÇÂ’E™ô4>Yf~²¼‚;% ÓŒqm݃.¯§·h/z Ú¶õØ2ìî*g˜Åα/€(LN6À9¢ m[ 8{ÖéùájY¡ÌصœÜ€{ÖË[uãŽ}†üOrº¯K`*ã°ýi3=Tþ\>[CDDpñÃë)))ˆÅÊ•+±lÙ2”——#44ñññX³f âââÜUNüßÜü}`sM˜€¾ó×aøœ6PÿOx@—öR74sÔçöâàów›ÍïòûƒqdÒG¸á¿EhÔ<Ê{p$Ã|«†úê6ü¾âI šg8~Ä^ ’¨„òôœÿnòWnwÛúzJò²B$÷’¯Ç¯S*E$/+ÔMÏ/¾fqÞL½t©Ç¯aªÞ°Ö†ÉÝ#³äkM†Ñ23íœw,@ê‡tå0.“¹|õÓ¤~89Û{—çª; µwržý@7ʸŽôËg©^,Õ½–vöo§·`v½1eú­xoÞïl£}0ÝþÆ¥mS‡äNŠ5×öÃáøî&Iê¥üCšµõsökÓ4þ¾ß;Ëø÷¢¯¾þv¼ÁÇ)kçAs˰uN´4ÝZÞ––eO¾µ™»ëž¬³TæÎw®r)à€¸¸8,^¼Øe±êÌ›CpæÍšaՑϰ;õ3³iKDÉ"JÕ8•5§,|&иE°rÓØ¼é ‹Ók‹—z•`Ãq wÒP͈IçpÙdÍ`|L‹óê[šà1£R¿U)wR,~úé'»ÊTt—acKlΣ}6T¿&e*5\—ÜI±ÓÛ[Vgè?Ǫ]¦¶¾Ôë`¦ü&iŒ·ìycØ*“5…ÉɈ½ªÙïl[ÛÀïXØÌÑv‹í¾aƒG‹äiÆ­ÒÆÁIrzMP£/ÿƒ>sõÒöM½·ø¹{ß÷‡nÒV÷üÏÛ9øB'8pœ²ÅÚyÐÜ2l,N·’·¥eÙ•o-æîº'ë¼YN¿´…HŸÃ]Éí¸ ê·‚¶m››[ëƒ=cÉË .¶ü±ûfm¡_w¹“bël+r¹…ÏßÔÖ–·ºÂž—´gqÔ?…ÉÉ&Ï¢º+è·ô¢#O<iÜBÄ`Ïý’ÓkZú´AŸ»[úÜ}ÃÉ¡}Ðøe]úì|6ÙZ*‰ˆÜÉo¾¦ËwúºDDµšöBÕ“-¼Þzé ƒ=ÏñFÐçN±¹æß°LDDöñ›€ˆÈŸ|Ö;Éìxg_Nã,{^†züº_öFf‚O6º´Ìí×j>µcüP¹ñð &G\Z–ñòMÝ/èØ…[4û悽øî¦Ï«-Ø— ì3M›“Zsõbî¹Æäôëõ`€Ï>ÔìgíûÑmeqõ™\G¾ã«[VûAÖ¹myþÎÜñËÛ–ˆjŸ| ¾\<‘ í…’¥‹£øë/FñZkƒ/CMÎ3˜þÓO¶_ºcÍÔ¡–_Ðd<ìê²ô—§}‘Ž~ÝÖ-©0´é2 ö%#ö°ùmï‹Ö¡ö'ÍãþÅÛjMÍIÆÔÔ\]KŸv‹j÷WnlhŸ Ô¤Âé<`±• ¦74ËêZ)X̯¨Øzy¿¨–>ã8üÝñ˜|t›Éx[Ç6ò-w~‹Öžã¹å]ËÏ7“Òv>l}÷> ø.\èËÅû…1cÆøºDtÝg½“l^ iOlþx’Óvå6l˜ÙéyyyV§ë§Ñê¾a`ôL“¹£Ú<õç7·ãü­INp=ÐKÍÑ\œ~©9ɈïnýGÛ%Pû·+,=ߥßV×µ6£æyZYæ‹ãiT¿F]rÍ-Ó\·]ý.½¹sÍ}Æõ¨ß½¨ œ¹±aüæÛŸ~*±ºØÚõo<È&çzŸœÙ@2ºñ`œ_Þ¿ß1~õÉ{Í–CËøÆƒ?ws5G·› ö€šmËÀÏ¿xä™QWò´g^£c¼ð8¹Æ§_bb¢/ïs ()qýî8¹Îž`OŸ¿>Wdíâaذa6®aÆA’$«ùÈd2›Á¥µñö}ÆÁJNj®.XÑJÍIÆcZõŒi·Óg.|3Rÿ—Ædz]jµÌ}×T;î¦Ï-×~^––)“É –e.qЗš“l¶¥Ô8è ƒdgØÚmѦ±¶/ê¸æòöÜ«È[ø:†½2ßâ2¹áÏ9=¶ïG‹]Ö‰¨nâ3|DTï™ ö–.] ÕåËã*ð§"M7œz˜êá—‰d6δ²<ý‹ûw>0¼}u‚æ‚x÷!Í4í°~:í8ý|²»Ž46Ì“éÒhÿÖ·Ûèù1sù§Y¼ÕpxÆì¥èÓPówP ê\Ÿñ³iK—.5›.-Íp~g[n´-?ÖZ×rõ¾ñhÆã¤Œ‘&o4——¹DízX ®,µôÀÀ¥P]ï9c¶¦®šúvvÿ¶¶0Ù÷ìÝGN¯©ƒÔœdŒ+Ú`’fÝÂwÐD¼„á¯i‚';C–Z @üÁÈéuøÉ-ùrl·òè¶ÒY20d©î£ÙO¥ÿqö:]k[ùrRs5Ïìé]¸hƒ½Q£Fég‹uëÖaéÒ¥n¹Ðuç™~×NGØsaeüÖÍܹšg!õwm°§_×ý…ùúv”»öCm^©9Éȱ’F·oU춘¦‰x ÿÏÞûÇWQÝùÿ¯KP‘Ä.Phm!¶È凴rÝ”¢IºB»mî‚íµZ~tk?UéÂuÛÖBEîd¿&ÙEdûcƒVJªáscwiÜZÚX×"4¬ÄÕB"¿¢$ˆJ¸ß?æž¹gΜ3sfîÌý•y>JîÌ™sæÎœ;s^çý>ï÷ŒwÚñÒ‡æöÅ\ƒ½GDìñž_ä·@¬|‹²ÎKÁÃÃÃyR|GÅ“O>‰h4ŠË—/cذa¸÷Þ{1mÚ4'ÎÑÃÃÕµ'Å Y:ZË)Ò‘@ÅÅûÀZöhØYó\€c7 ˆEð,y€Ü ~Æ;퀾‚‘Â2·ߌ½Óg©Ÿ  ˜ePªŠYÄ th|@9ÞWP ÛGº¹¸~Élý mùcE_`24‚‰¾¦C×û* ðÁ•¤¥Ï ؾH,n¢24t?lã–N–©} âú .Dôå+FÏ(úÙÖrßÚkÒqJÈHt[’oó)ºm>“Òc}×®]X»v-V­Z…ÆÆF£§§;wîÄ¢E‹°fÍÌŸ?_ª®ß~æ3©œJÎ0ûw^¾ÁLà«kê|©'%Ôþí‰>K8&¼ìàŸXŠØÙq²¶ò¥bIôà¹uÓFÃý€b)ÙûFò3q›£¡]ëÌ ®uFç@‹=š à›Kh¬|¼´uˆ=@~ ,pÔÊÇÃIw&§ê¢EqãŠ@qS¤­{DìŠðûæ’+Ÿ“Ð}í…ú>ú €`û"ÝÏH?¬^×?ºŒ™•YÛÍ +Ϻ‡+úç—ÀK–à¹æ á‘Õ?¼Né#¨G}®EöP0 |e´–ï¨ÏêÃ[êàb‚UÞ¿Âð\<²›!vìêêB}}=öïßåË—£¸¸P\\ŒåË—cÿþý¨¯¯Ç믿îØÉzxØA„ç‘Q<ÿôC€³ep»àAý A6°ËÀUÛUÛ†îשNdÕeg²„ˆ>Í6“kè¬Ø3ƒ×_Y±çä9å3Ü+vgIºOÃ#ÍLn³>öá Ⱦ ʲå=²Û‚¯±±«W¯Fii)wii)jkkÑØØh·‰¬äA/ä¬óÐÖ-f¾º6OìÉâÒ=”j6‹=6b±µ47ëÊ’mjP‹,¶îñÄÏ}Ž.ã†(|៾¯þ'bΑCÜí(Àš[¯[›Âá0zû€æ§[5Û}>e )ã4é{©YæGô¤6Z(¹–äÚÒmNY÷V,­Tûbë¦j? .¾¼>Éë‡Í7UëÄki&}˜>~À—td’鋹¹oäYE_±çš¿²MÙ@‰>'sÀy8ê†üGo'ûè¿;::¸žÈ¿ÕÕˆÇã¦Q–UBDºíØô}å?ªÝl~¿{$±-ø:::0oÞ<Ã2óæÍsÜÜë ®<Å_æ¬Øó@Öqø¹{Ü\ÔŒ,{웸XÒsÏšÒ|“5·è—>4}#ukøN–©ÿÕMŠ èuß Ôõ{× ÆŒ€!¼hŠnw½Lˆ=»íðÂðÁïçNö}ž;q_ÁH¼ô¡¹ê½§¡£v²}‘u-fû!ïFëIs ^ºú·ÄBÿ,z/ ²Ìï¹sæ!vž:ñ'°êîõ#šÏáp ú>Τ± Ûx®¼PÖ=œÄI‘ǃ¶4}épç4Ê™‹·2‰mÁ7jÔ(œ={ãÆ–yë­·LE¡ˆuü»ÉçÃuS¿†¿þé?ácSŠÑÿ‡_ãWw…ÐyôŒÇñüæ6üåÒÏ#~ê0~uÇñÊïÏsëä•Õ ×Múîß;%_ÁÕ8øð•sñ² Nœ}×±ïëa\ùD®Ý‡ÀEº¨†áwùn†˜ DÖ)ÆŽ‹Ý^µZû‘´MãÛØ·>ù·ˆ2&èɈDZ¸Ž'6ª‹òeê!kÁxã…²ÉÊÀ„p€ P%àNÍýÚï!rߤsHù#lŸ(—ÚCýaD†Aq•ZëEË}[°Øf>ÀaËž¤Ø€Ã%%˜ÙÝMNô–Ñv~èÓ5„Ãa}®­‡“ÇÆ‚AøG°Øì‹$Ê’o#Ó}_$Ÿé¾#Û÷Ü®ïo¤¯‘Ù ìà™í‡©¬wtÚEÒÐ ·>‚©tÿ$~C‚µz½—0b¸6Š-}ΞÕ/K±š~fMnkF3繌ŠH—؉:#!èÁǶ૪ªÂîÝ»qÏ=÷Ë´··;®u“χãql¢:oÕ/ŸÄÛ;žýÉ£xá¿"ô_ 諼žÆ¿´[>ÂGîn¿øg¼2öëÜzyåŒê}ïø?ã×G¿‡Û+Æá§píá#\剽`r[›:(J9b§‡m4ƒæ ž /”}.b:k›@ìROi1F Zhñ÷Šf¹ÛcõŸm¼'‚«„"xàñ<þ€2Ь‡N kŽIñþ²¼‰ ²>ÆçóéÖÓ¹÷Ø}¢º:««1¹­ ³zz4~ª¢ .ôßl«}¼/•*§ö r«ƒˆ×VcÖ]0Håõ“ŽŽuü@¬›t¿“ê‡L_ÓDt1Â2-Λü’©ÇN[¢cÒ™bÇÃîD':µH„‘çþÛÔbȱò‘õ|é„x‹¼ˆ1¯ý>íçëØ|ápwß}7n½õVLœ8Q·ÿĉ¨««Ã3Ï<“Ò šá3ÿòÔ~ \ãÔS‡k~xHÌGvü䮯qú'ßÁÐõøºf ޼rFõÀ‘;¿{ÿ»>Zÿñ?_ç‡÷ððÈÈ€¸¶«Ò"n™hWê‘C'ûPÃDALµý´ã/Ó‹°ÕA`]r0íD¸lÇ`ÚãA·OÜ8C-A­Ø3 Ä¼Õ RnXÊeD‰ì3k úwhëRŠÕT¹h—$¦wT2Þ‰‘Ÿºú-ëfªNö·Æ~žS¤¯û¦Kú|êùpÎe3ó]Ù§2„¶.EKí¯€¦Ú–srˆxx¤Håý+t)xÉ"ú*+åD)O‰=‘‡SµÇc^û=÷Ÿ ¿Ý…£ñùÄgyl ¾ñãÇ£¦¦³gÏÆC=„»îº cÇŽÅéÓ§±cÇ<úè£X»v-Æïäùâý«õg×áüÛ½„Š»fá—?}% ÿ?|pægjYeûÿ ø«áJbû&Î ”WΨ^¸r6‚ÝÿUªÙ~|üÿüþýÆ‹[=²ƒÎêj¥Â#3Yãl¼‘e~ §H´²J‹ÔÁr¬½(%÷@;ƒKÇ}€C÷‹×içbÆ ÐŠ=úÞqî„Øc­®Š`“¶­î§¡Ó5Ô2ý¼ŽƒFý; 7ÁIº|ú–+ÿ’É’=ÃC ìØÓj*’m³çÂ~޳紾‚÷ÄCœ²ÒBn{´È¶ÓgÈy¹uUÆÊ hŸ%µ–êök&³-¹æ–ŸÏÐÞ¼\x,ôû•µîÑûS¹Çnla-y¾50ǹV‘øüyAy1)Åãš?>ü~?¶mÛ†¦¦&\¼x7ÜpvìØ)S¦8už*¿Üþ,êéǵ×`“χo_Š¿~¦×ü\êü-^¸ýËjÙ7f=Œ¿ýÁ<\=õßøå¼¿ÖÉ+gT/¡ky_x³¯/¼ÅñïéaÞÃÍ#ýäÃ}YøÜ ¬Of¢Xù\kKT”К‰½={ö wT9F|,ùjû®ÿtbGXDv‰‚[}_ÆUW–ïÞ¬ü{éš/$]¶ŠF"rŸy?$ý@#68‚])äžë¤Ó8%ÒX—¹Te1¤roÄýeËi²ÝžGvâc–­Ðïc'–²¸)öˆhÛ>½ ‘·`ÁM¹ÖÖV444`ä¶]šòƤ€yÊ”)ؼy³ç"ÅÑo܆£ßH~¾|d;~zóvnÙÎïV£ó»æuòʉê¥-„×–þ®Ò…_ì~SêÜ=Òƒ³W©ãÝ9D–½’ÄS„IžSÇ=j]ê¾ ›gSÚãAhVn…‚¨›”ØOWÖÌÕ¬Ò“J[À®S¿ÇôB“”\‡ÑÎäþÀdí¿„ƒ]ý(>T#`Ò w-^­É +“Vz}ŽIvÀ𨫏¯&¥S³W¨üÒ`lB+ôR™Ø ]èd×Ózx8tÅ(@‹œÉ/Cî’ãÙ¦2ǃñ8âœÅþà |pÕ[ÔœÄk«½ÄëY@>Xûœ‚7 ‚%4ÖžD—P½}ÉHšfˆR)Xÿ‹ñi÷;ÐŽ¸- öxRd¶„"¸ýGADË“#Ú t? Ĩqy°)†9E°,`œÄ–ØË$‡Û+@ÜP€ëBÈ{ês·Îáß={}Sy®pÎ-U±ÇÖÅ"Zï$‘—L;ñAWÛ»ÞË,Z©GvauýÎõù|š¾C®3k‹Nün÷\ìrêŽÛp=ôÖ=$¶µ¶¶âÔ·¥å\òۉ׳ÞZ½TÊñŽ{ìÚ1ømŽY÷Z\4ŸëÄk«³{À5H ‘ 3Ä]…÷Ÿ?QÓ ðÜ#ÄúëË#Xµ/ù™µì+)o]–¬ëhªä¤Ø±7n2s®°¸¬ØËU:««q¸¤Dý-:Ñ@YfMàeêÕÉ[–®A¼‡5„Ñ%¶°ï[ÑûWVìEbìïö\!k,|³÷»LŸÂ áè }@bàµÎÁ5H¶¬/£|B’f Ô¢ä–#.Œ2Ö=:ñ´]B-Šë$ -ºª{§ÃðÚ"–¾Àd`=Ñ÷Â7"šu{A*(Ëž=§ÑBÄLš\:sNì± uDì‘ç¬áqéÄHšD…u ‘Žìc­*”ôõ¥ËÈ8QnBìBÓ_“W"1F©øéMX—c#˜NKð¸ç~… ßšÖÖVî>RkÓvJ9OÖ>ôPVZˆ_¢?;‚D8ˆ“®8ö¬‚Îi±— …}¼¼r¼Ä뎰>‚€n€Ñ š#0O¡`}[úö"˜ *eé2ì³læ\[ Ší Œg½õ‹Î¯e ŒëzMb/Ëpj°lûËqoöÄž‡8¹dƒ¼/Ǽö{\À|Kå=ŒÉ¨à+//Ïdóƒ–i¥…8,‰ èá1È ‘ǽ}À¬BàPX³¶bñÒ ¸ÂÜz„¦W)yÕÅõúÐî‹«PwË8¯-N´Ðš¹õì?ÃÒ’—ã*§&=L, }Ñ(_ìñĬ'öÒ†YÄEÝš@ÞZÖ4¯oõG)• Bä@P¤T£²Òb/Õ $ïɳ÷y(ïKbÑ£ ‡Ã@8ìåå³@FߦM›2Ù|V°páÂŒ´Kò0y¢ÏÃÃ=Xëfzલ½ùéVÌ*lPEßâãÉDçQ& ¼Ñï•X¹Í’íÑLÂhnmO¹“Tº ZwÈhWŸ"xi‘9·õí5ÀZ×t†”Zö\ÄÑï'1x䊽;K”ýä¶uz·Â”ª¤‰€2nßO;ëúHŸÏ§Fa´ca¡h{d$’öߊS2NF·%°Þ0#·íâ–ÛžHÉàåÞ“'£‚oöìÙ™l>ã”——ãôéÔsCYá Úœ}é%>0€!®ú 4ÛÙõiÉ|€Äõ./"¢®KºwjÄnOMÒ’´,‚Ã%%™8»Œˆ½¬àNêzÇ¢ŠèËÐZ¸\G³v ²Ušˆ<ÒÏÈg6çŸ:6}ß~Y„åg·L\Q¾'HÀ#i×oIŒ–Cxy÷¬ã­á„¥~“Dôyxx¸ mÝ‹ ¨Û‡Ä°dá4?ÝŠ¿,n Xù¢Ä]q5¯6-±`P÷²uM€˜¸ó¥‚fÀ³Ž¿¦NïôÃ.ƒBìñ`Ü8 N_‘EÂÔRa3h‹Û“&:±(.–$Ø{-Ù0ût9/çŸGºqûÙ'}Þš=ëämZcè žK§‡Gf)"ŸkÏ2Puõ%Ì(» D4(Ï`@V *±G»qR»½f¬Û¤ÉÕu‚B±'€·FеìÙ郛¾¯Ý¦ô%zHÚ"ö¿Îêjí¶Dš)õ?Q¹4þç&Äesûô*ÝÞš=ë¤lá;zô(ž|òID£Q\¾|Æ C À½÷Þ‹iÓ¦9qŽ.\¥uóððpp8¬.@_ð×Aw¥Ï— 3‡ j0†{©ÎôÓkÅÈ@[3¸¦¬o{>6GÙ¶µÞv õi–¾L1¨Ä}0^NöC3¸m‘¾É? ¥öìÀ¦``jŸ”ç¹rRêƒlОØA€¹¹*¬=òož3¤dáÛµk-Z„9sæàÀèîîÆ0gÎ,Z´»vñ[zdl’g: ‡‡‡{ø|Î-£H%H‹ < Wl¹e%ÈÒub^*YØ ,•••Ê÷¯®££×䉯kŸÏç&^¯|ðQµ bÙ«|ðQ5-ƒ&‘73¹Âýí{xxä¶-|]]]¨¯¯ÇþýûQZZªn/..ÆòåËQ]]ªª*̘1&Lpâ\=\‚}Ò"]T@{w2C©ZùžnÖ,¡±îÉäîãÁ›íEû£“¢2¤>uÉsgÜZ¯ÔÁäôâ`“J[‚géË+Ÿ‡1¼¾¥KÀí#“ÛÚôýϤ-+ÉÅÓ™Tš‹ EkÑs£ ÑçYú<·ƒVdú÷äè÷cÝu;õDŠL_ eŒíÆÌíƒ÷¯ÐZ¯2ˆ¡ ¤,ãOlÔ¹F“‰—X0¨™ÔaEÝ?„íÅÚº&žèóðÈml ¾ŽŽS!7oÞ<ÔÖÖÚm"ç(//Ǿ}û2}–xàñ<þ€>Ògés‡¾h4Ó§à v¿×`D°V>3ìZ÷Œ`FV€?è§þH„;§’´UűGð,}9…Œ¥—gùåõVìð&#x \“UŽöÍ\À_fÛõz0<¯3…p‚ÄȺK§eÈât<ƒr­sb{ ßùóç1zôhÃ2cÆŒÁ¹sçì6ᑆ]îÕ|ŽRyúˆè³J:ýýSPäå•®óu#O \ü^é:×X0˜ÑMDŸQÞË`SÌq±×ÑÑ‘²«‰gº”`Å],ªäˆ‹Lþw¸æÞ#=ÄãqÇÜ$I$B#œèëƒ+Á•¼5}®ÂF\ºù¯? IDATÍGÃwÌl[øF…³gÏbܸqÂ2o½õ–©(4cèõƤ›&àC…×Á`ß¾}zýhLš4ºþ|ðî;xýÄqœ½tåå刽y7Ž…¡ñ÷Ñ}òèþqL(…¡ñÐÓõtyWº\Áu#1qR)F^‡÷úðƉzú>`Žÿ=¯ÿc?ù(V>$Î3 µq8 „ÂÀ¸SQ¼ö‰¹º2ÑN 0YùÛª¥Ìü¥ë…ªÐG23šfu¤3gXºD__4êÈ=̯Ÿì¬²¨'Î57aq"Jt±v"¥®)†È2?bí‚ßYŒ©F) È>ƒè„vÄ^øòö—é-&ÑÿPEL¶m’dZ b飯Mßeæþp;0Sÿœó° ¹ÞL´NCˆð¦û ì"«›ÓƒÆtX÷¤\d%]Ôy“U´ÅÍ’;nE…|zÆ‚îYúœa°‰ QIô`[ðUUUa÷îݸçž{„eÚÛÛS^P:u"Þ{㈞yWý¤tÚ'ñÞëÇ=ÛÂÑ7bêÔRœ=ô*`Ä{oὊ¡…%øóiŸFÏÿ€—¾ŠkŠJ0cê$tyYºÜ„i7áÝ®c8q¡×ãÓS>žƒÊìüˆË݉òŘ1uöíÛ—.KN´á🀙'N´ô®è“¨?í0¶=÷;ç(:¦ÎB]iº6¿™hGö>dÉ –@1Ì…sÎ"I¶uy¸·9]èS@ÐWô¹Æœ}w–¤V‡‡¥<÷þJG߀“ ç®\Eéè"œ<עѥ¸úÁù”Úqæ½|ðúpêB®š¿hâÀõCðîÀUÓ²™"cæL WÒ1„Z‚h QìãÚ—:-ú"ËüBÑ— fzݡ ¬³÷‚Òé“ÛvȆ{à2÷–[.ð±ò©9·ˆØ“ts$.œ´eÅLìé(à¼jRµîÑìLX>ˆµÑ­|€ù†U¡G÷ÅZk“ÎÒ´:¨¸3nœ:±Ç9^â¹³ýP&ÕH:Ä^Þ‹z–>Ŷà€ùóçÃï÷cÛ¶mhjjÂÅ‹qà 7 `ÇŽ˜2eJÊ'Øuì5Lš4 ‰×ªkøºŽ½ÿM~Ü2ñ|ðîE¼vŒ!å¶_‰á“oÄ̉ÃQ0Dyѹlž<û¦Ï  `ˆ/ë]; ²ØÞb^Ž'úê]8£/ž;·[gÅréd ¼zyƒZR_¼Ö8€@.#ºÆôõ¹WVê•“®kðtòz½o°Eú6ÙÇ„ïO)ÿ´ntFÁ3¸õþ*mL]BÃi;ŒH{ZžUÏÐôÁ¾h49ÑB~ŸÔqvIbÛeúx:ÄžÌÄ[¶L`ž‡ƒ®ä™'%ÁS¦LÁæÍ›Í ÚäÊ»gqìå³Úm—ÎàèËgteY‘%ú,[îêûoãıßK·sæÕ£8óªð«dJ„À¤….0Ð|ŠèKüYæÇö­}ÈvçNØs¢¾Aà‚áÄw”]˜íäno1¸'\+­ö ]›¼PðN¬áóp‘ '%ö—” (Š«‹v®¬¬ä®áQeuíš¡•q£}¼@HRlŸ^ÅÝn'ê2›G%G<[ÃX)IYðyä‘e~¬=¨}‘õŠ{§ÁUJY@‰8( /o‡¶åŠ ±º±“»Ïç󡺱SÝÏ+O—#ûàÂGãøÈ騻e B[—bÉ+j9™ºB'û0™y€‘tu‰k:Ù‡®]Om—>’£“m±Ð׌½ôõ ûE× €î>ðê3+'ºÕ¨=°T-wËSj]Í7WÚº6ì5e¯=‹{a÷ÞŠÊò ¿É9Eý€ßø’f?+Ä6þèylüÑóXñ/q…auc'Ú˜\g“ÛÚ4k†ŒêØø£çq°+q.t^¾ûW uóà¥}81òSØÌ|§TŸ-V®Y*ÔÌ­u›õ!™ósòykýû¢©»e‹ú}XùYœš0-œkíêS—^ÿÚø£ç5Ÿvõ«} Ð?ꀒz&ðú`ëæ è½t ¾»R·íDW?ÊJ …×`0@GsÖˆ>/’4D艄Ùßrßé:ƒ‚÷AºÇ€I@1œÂ|ƒÈ+~fÖâÙ}N>|ËÅuòö±ÛbÁ Ȱ4²Ì¯î‡Š÷Ž%ÃÞ¿¢=Ö¬~ßrýÌ4‰²¨¶ßž ¹Ÿ šzzø‘j‹E½fD#ªGº-'YxixÖE@l‡KJPTQŽÏE"XLG¦dÓø°}‡|¦-}2}0²ÌÏíó¤hË^Yi¡:‘.áGÿã^?"=R–#'st¸‘>Ö {ë÷TÞܳ‹ßÑ{›Ñ{`¬pF}Zø>Hó˜€äõD_~à ¾A o-^d= eæ|RqÇÓ­AbM·£5gùìªà†K¤Ý:e×Tz#»N‰-G¯ë¬®Ö TX÷!’–Á¬-u?o=Ÿ";°ëÆÉ9ŽMÙa¯ïttt¨ý¸põCn=‰¾&rá$¢ï`¬}Û§WiÛçè¢ ŠeÉòÛ§Wéêp nÄMžè£Ög›aº 6Å1{¹釞èË<Á7ˆá­Å LVÖëQòe ¾¨‘°¦J•#gÜ>)e”Ú ‘ÁG“ú•Ö’ÝÀ*hÜÓØú‚«´í‘mÍ7U£%Ñ”'ר.±-äÐõ ë©=®Ýçt[²˜Ý‘eØÈb,ªStØïL_›[~–¼§Q›×ƨ~vî…Ý{+*˃\Ë9—;'›_HþÍžûÙz[e¸©_+ú¢BIÑ ãm`„•k– êóGâŒ9¿T¯‰µÇùb¯nRòùúÀã%85.€–éÉm¼ã‚W•ý™î‡7õóëAé+"ôvõ£î¬?rB¨->ò¢«¢‹_&ûîàƒ'€Ô¿{)ƒí¡þ°òÇôBÏ Mý‚÷[cöË÷ܛtÍu2*øÊËË3Ù¼’kñè‡W`2Ð{X;³w¼0 ‚½òËSlC?„ªWò4fÏã…eÀ"QŸÌCo°!sœ¬Óê= Å^õÊ8Ð’Bb´q¢P/úœ`ÎÇ÷Nš£Ý^¸Ç‘ú÷¾QáH=v!ßÏinê?ˆS¡\³qû÷ªÛɳPÄÞãhS1ˆDb¶òÁåß3½ÀK‡€¹³’ûÊJ … ÝSÁIFDŸGvAÄÞ|Æ5öÇ?‰`VaCRôeVß·2iy<²—Œ ¾M›6e²ù¬`áÂ…™>}~½X#Š´¢îÆ·£À Úãèt NcUhÔO®á£‘{4Õ+ã¦ÂIýQ/ÌïÙÏt‹=™{ {*N “q§ô®ÑtþN»míEEÎ †|D$¼{éȼ¶n;žŒ ÎNRþpx ~¸è~VkÕ«nìD}»{i<¸n®›ÃÒI{JK|ÐÛ«ÛVx¥ýCGdàlÌIe‚Û‹Š›dTðÍž=;“Ígœòòrœ>-\Á h|UôQ>û¬èKf¢ Ô¢w†®HõѰûu‰é)ˆ»h>’i±g-ö|¥u©ZÞà†•º ¨zÕ+ï@[¢Ä)µÇƒÁááNŠ=å¥O¤­š´cœ˜G9–öà$ƒØ\H;ä‘X(bÝ -Y¢+Z²Dcåk E Çé‚÷û¬^.ç LÖ㉾ÜcH¦OÀ#3ð\Gzj½nªfÛù@sŽ #ö臥›bHºŒÖkD¶‹=º®_'÷ÈmËï-SðÄÞ‰Â2Ж{¹Mguµš¢`ñ‘ÓšÃ#ÇéÓ[÷²»“1Õ+ã:—ÏAìò/hË ä`þ5Ì :e-PZ„Þ—0bxºkD‘²æÁm¬Š=vÄÛŽŒqÉŒnîö\&“bÏj]žØK’k.­¼ß2ïwæYúÒljÂ2Ó2fbôÃl°bÚóe½U– WÎ,K¨A2åÀYêàS§N&~B»ñÚa8v옫íz8C8FÆGÐÒܬ³òµ47CGdÍ>#±×¶Á‡â;Œß#ÁUúh垥/wHYð=zO>ù$¢Ñ(._¾ŒaÆ!àÞ{ïÅ´iÓœ8G‰ƒÀLf#R{ÄŒrô¾´O#úÆ´w_Öæäú=öAÄ}0qÖuÑ®}Vë ‰=º­‘ÿÙƒêÉr¼uN¹†•kFï3{‰ÈÖiµ.í½Wö…nòD`.Àsmª›qLôÑAad„Ì`Äê5’µìe‹Øcá-Q`ßatžYÀ}Ñ7ujÒ£¦øã=o¼®îóD_ö!ê×HŒ¦³õ·AèyN/úx¿‘|OQ•¯¤$øvíÚ…µk×bÕªUhllDqq1zzz°sçN,Z´kÖ¬Áüùó¥êZôÛE©œJÎðÔì§2} øx$¬I|ä]1£Ñ®>MÝîg•cÁ ü§"0É…k ßó2‘õæåÈL“l}€õü‡W¼ÖX<ã—”`f_·6¯’MbG€Åä¼V3í­ã”q+×̨,=Û']§è$êŠp¼®Àd{×FwMW ‹°w/lß[AÙœg}D—ŒˆpŸIÈåéÓÆº(£þï 5÷kû´a3éC4¢{J·YÏå‘"úkTs?§Øê ÀNðQ‰Ø ±`þãT2öLùdR`ÿt‹>@{Dè|zzz\kËÃyÂïBÃõ³°ë'Íší× ^™´îÑÏw£w#éfï%+ï!YÖóœÏÔc„MãYùrÛ‚¯«« õõõØ¿?JKKÕíÅÅÅX¾|9ª««QUU…3f`„ Nœ«‡ø#‘¤…O”d7A ´Ñ®>ÔݲE}±Ç‚=,ص†BF cÁ å‡›\š›H¸¶Z7范˜Ù®V®™lY'ëÔìgïO⾸Õ?s§¿¿Ybe'Ú;\R¢ý ­ã‹>™äìùÉ0#ßw/8ÏA Ù_²¥~ô}½çÅT(–¾ÐËücHÎU·E±î«bP,|dòܳòe'¼þ~÷á1n'ªýì´Ù¶Á\ô±‘´e×¼zkcµ„Nö¡†sMܘ`²-ø±zõjØ£)--Emm-³:ýÂü#>¹é“꿃±GlhŠ©¹ZîÛ¢ìHÃ6´u©Ò^¢­ÚK¹åênI–a‘i€åvì´%u>Ô¿¶KëTG¾£à‘ϰßÙékcV?‹öìÞ[QY–V~oø  m¹CþÖérÛaÚ©nìäÿW)¿Ã,!jpÿÍúèžÒdb Ä»¼ç  ‡üˆœYæ–½Èwïì©‘rït z0¸Ñàþ›ô!Ñ ˆn+í%޳󤟡F½\ÄMKß±cÇ0uêTôôôh¬|´K§gÝËnH¨e–¿Ð”|ï0º›©{¶ýVB[—ªc®TQÅ õ^Pž¯æëð¬Š>ìÆ¶à;þôá þµúïQöáÑ8s.Šz~Úξ­³äýñÁ?êþf÷×Îû~׆u³æá†«g°óW÷à‘#¯bø‡*ñÏÕ«pkñx\|ç÷Øüó{±ãôyW¿[ÆÈ ØÓµ—EbÏh€“ëd»_}6¹tŠfr3 ýâîèèÀž"|XY+–J;Ríe¹èË;R{4©ö”ûáÇæp¶».]ÁˆDùïÞLrÙû¿=·D±òz¡çY÷r ·Þ š~Íög‰ß—ÙoÈ®è%i÷È^l ¾ªª*ìÞ½÷Üs°L{{»ë‹Ì¾s=ÞøõÜ󇣘6å4‡FÛ–ïqËʮջõí§PÕô=Œ*ù^ 5â‘#_À÷ïzìXˆå¯Cɸ»ñŸw¬ÇŽá¯õÊi$ÄOu©Bº›wp|ätMz É+?‹S¦#šXc(»Qvm z¬ Aa{`KðÔMþHÄ11lŠ!z²ÝYŸ…L'ÙäÒíêC]–­å™Ü–\ÇaY…Hôe˜¼³ö;(ö²™Çâ`W?ÊJ e““¢O„›¢ÏÃ#“X}<±ít6U—‡óØ|ápwß}7n½õVLœ8Q·ÿĉ¨««Ã3Ï<“Ò šñ…á×£ìØÿàýxÿsl®ÿü!¬àb©Î8zWüéÔv ½æ_¾a8®ûë]¸/Q&ŽÏ< ‘ˆtHüÑÙ‡ƒ`ù»u¨…Ä#Õ¿:´ežJ–i€W˜ýÚ uè¢2kuký,bk`‹jÿ¦,Nˆ>r/=¬(-R{õ™>âJWYYÉÝßÑÑa¸Ÿ.PVCæ÷NÏõšµ%*Cï—‚'ú<+Ÿs¸$öŒî½l?“ýW_Ç…õ¯øÆ—4í”Mö¾!, 3)<<Ò“îÙ‰mÁ7~üxÔÔÔ`öìÙx衇p×]waìØ±8}ú4vìØG}k׮Ÿñã<_ÿùî»X9y:þ¡ó˜>u5Þ}÷?Ç?¸‚%cÇá©îóøó)ßWË÷ǯâ“×]‹?¾÷¾°Î«œm­/áÌž¯cÛþü{¼z°)–ÿÁ¥ÙìÈ2¿锇´Ï¾C¢oPÜK—‰,ócûÖ>dÛPÏè¥]YYi*´*++M_þ$ï’L[¢A½Ì¹è0}n[63öÁµï;¨º‹U¼¹WÙÆ< —” ( xȤ]0ëf2FýŒlÇãÜ:+ï_Á}•÷¯Pÿ¦-}‘õækŒ<Ñç‘Qú.(ÿ4.gYÑÇ&g÷È RJ¼>þ|øý~lÛ¶ MMM¸xñ"n¸áìØ±S¦Lqê<…¬Ûù0¶|é ý«ãܹÃxxç·Ë_|?úò øþw°ûÐjJb÷5G¡õÛ¯ ° ÀRdÎõÏ|¾°û¾8 …ò(²§¤Øã½Ð\K¶¹:¨ugtrŸ0úê(Û¤KbÔc$ê¶O¯ÒïßÙ ÜY¢üM¹t:m递/k?g›k»°¹ö¸vÝ*~9¬;J`2¿þ½Óg鎽f¨y¾¥lSô€˜bf–86G%o@`Ô¯ŒÌ€_ˆgés–'d3s-£Ã†!pù²y]}€®ïÉöEú} 5®Ìl{‰JìXÑg”‹>·_ÒN;1iàÆšk£´14¢õÒ²écìœK¶®›N; ±75ô-åó°BÍnY÷`£Dé2¢¯ç¹Ü=IIðÀ”)S°yóf'ÎÅoŸmÅ×~ܪÛþê‘G0çÈ#êçïüNg­»ïFëîd9"ÚØÙý—.þ·óKŽž{V` öèÜ{¢ÙK·".)ú„ÈéLèS¯—?3¼¨6B-J¹–v»¢Àª}A,?e>]|äElŸ^…q¯h·³Û4`…UÑÇŠwVì‘sÏ6Ñ碵!f{¡%K4Û[š›Ñpý,„]:?'pj Ys2¶^}±¨29ò9þúmSü2¡‹ó ±w¸¤DNì18Ù7âñ¸©UQÆZÌ{e¥…8ØÕƒ]ý¨°pN<ÑÇ#ÖþgŽ®õ4L’Fich„ë¥%ÒÇØ9—è¨0=áG‰=¸Ü Q ¸v¦N*}Í7Wb‰äòÑGS|G<ïÆ d (CK(7&S|9 GìÑn‡Äâk‡Z†DÌùøž”OG!‡önê?ˆS¡¸-Û¿WX.ÔLùLÄÞúòÖè~6¹ ‚Ø™^r½·O¯ÒŠ>žEƒ pwv[:/±G‡|zˆEë5È‘M^{d>ôƒ+NQn‘r~?".œWäwA¯uí»`ÏÕ)vpð‰>žØã\ƒ™ÝÖž1nCúaguµII-´Øëxb£æ3}V]3YÑǃLÈɸÁÊËÁrì@Dž(íÁ bæ\õÏâ ŸÐìêyãuàÚaÒUYùk¢߯r7Ò 8M,„ÿ¸üï,‚7Xì°8M×Ä|ƒf—ˆ=žÛ¡Æê7)LçwêKù.4·tî§ËЏÞQG¿X˜ÔGËkgã–ÜÔ/“iÞ±$Å¡þ‰=(cÄ=ûM‹?bíŠ>z€›}2V>v0#²ÎÒîŽãI‘6Ø`t^>n9¦‹Ìɽ"N³³ €+Šu®Ée[Ks3‡Õ{•®¼IvѸ·1}÷J™5{fõñ¬+)³.’t{öH YÁËs3g!Ï*NZM?`„¶Y_¤©¼¾(Û÷èÏ´;éÞW´î’2kúJ¾,11&xgÒܦA1\òª¡ÝÚY—y‘û¼ÈÍ>•s¡ÅA ´(™CqBRx¨9_Mù<á(þøô¼ñº¡•}†;!ú\[Ö“!ìXãéIlžÉÁ÷Ôì§2} ƒ‡µ€h‡D•´WEPßqt#/:#1·bi¥N”ñÊT¯Œk޲ТDíñ¶¯XZ‰ÖMú…ûu“"5¤wJìÀêô½Û÷PÂ~³¢°gÏÅO'âRM/+ö<òÍÚ=ƒ¨…jNtDöÅ/zɳëÓ½ÖÕn  Ö=«îN©ÐY]Í]§æþ2ëVWZ\ǢƢkeSêáOÆutthž‰¤ê‹và­Å‰>Úc Uoú½çEBT<.¢Š˜n¾ÌM,§öD_"öÈߪÅï}c÷kžè#ÛeÊÓT7vZ^Oš9ëÛkÔ¿í 6r±ä×Ì•‹á-ÊìF¨¬|ib]øåOËb/AK(¢ZQÈ 1á‹‚7”M6A/–gÓ$à*l{¤nváþæýhQÒ.zê(&|»ihˆ;Àb(–=ÂW¿¤ÌÎ »V[žÌÆÑ¢¶qE'?Ÿ»bÏAOTÛÚìZLE¼k1š<0âP·]÷Zš›q'g  ¤¥ÉtL0¸V÷ °jÙãÕE‹MÇ­}ĵ9Më eÖ7:Ý–+XqcM1"Wì õE³~( úb©“m+²ÌßrmYVôyyÈÜ#Ú ÜÎlk?ä‰>@+L:=o¼®Xô( _ϯ+e~þS¥°Áo›'â¬Nb=—ØßM¶E³Ý>½ ~“ñ¯h-2/«…$=ìæ¶CF_yyy&›Ô‰½††ÍçÞ>`V¡2áÔl¾ú1\=˜4ç!Ür„N™áY“>IèKÄ\~_+úŒ\0„Hά›‰½Àdãµmnã¤UÕ Ñw]_Aý‘ Z&'Ï£è^éåÖs͈êßÙìÎÉ`´U‡S^æwÌ[;%eÙãµíðÚ¹L§Mp›Œ|?úYìXšl$„çþóú"ÏÚI:y“‰N"ãÞ™iD“\ìä¯\ú—}ËÏô–å_I–Xr¢ àX#ÉqÕ+µmñ&Ù}äsK æøÅç«5‚ú–§÷¸Ž²ô2uëÆ &î‹9ŵÃTÑ@{Lž­©x*äÍu4@&à”(€¬\î‘QÁ·iÓ¦L6Ÿ,\¸0ím¾ ¿†?È&boÁ‚€DRÂæ§[1«°‡úÃRa«€XõtIÑe° ö܆µ@^sõ2.ÃäXÛAÖ²g&úR ÈãF0žS£´kƒæ&3j÷]“Ñn;ÔƬÂ<×üÍökFŒÉ ëž¡c„À‚hó\çX«–%7N‘èËQ¡Öš¢°óvŽÑ• IDATLËèºÞÄ›Qš2O쯤úŒ£½@H>H-öd¢v:û ÍÑÇ#×ÝDçínïTZQÍÖ£å ÄÊGDŸf±î¨gkË}[`ž%FëayäÛõ 2«Ñ…ñe“è˨à›={v&›Ï8ååå8}út¦OCH|`CkGdHXM’]œ¸]aÊtq>50ÒäÊC2Ü·QBg.i{ä!@Z_~_{„Ë—UÑG¬|¼µ|v°êÆI¿DÉÕ&zÉÕÜŸü›HÅ~–n‹qy/£<"H{dRB**Øúˆîe„õÞpö.È&°/oö÷ÐÑÑ¡û-°¢ÏÔåGÄ…×ÄëöÑÖN=MðŒ,s”tV"XúêÚT¡GÿmYÇ›D^Ô}2:7³¾\)Ñ' ¤~¦Öñú™ÌšU#xIÕ#ë£g ‘%l'¢OT.ÔDKâob¥£-z·ü¬ ·ü¬MµÜ9 9¯â;âš g$ˆØ-?SDŸfÒd]Á¦Ú–+/0¶¿Ð“T“ÛÚòFªA.ú*)œòášXÅ)±Ç›Í^&Þ¾A Ûáië^|@›,6´d vý¤ CgI%žÖ¸ñlú¾òÇávayÞ‹Ÿ{R¥,²ì± Ãe ˜K™T´ˆ¬·"m–ä€~–ÞÄÕ&•¶Rq粚Ï0›f UŸv(¡ëà ñ—-Â/ Ú{@òÙ&+ú¬ŠË”‘{ºßŠCÁlhÑ—ix¢¯ûY½èËÖõ{fÁÐREÖz([.0À¾äç_|¾óv‹E–ù±}«|޹¼ÂÀE_Ãê P¬±úžËGÜ{t¼¨ëÙ0VðŸ‡VÞã\±'À0PD½èt©‡ g­Sy(VTT`Ïž=Š ÆD%‚VÁ¤›,íÒIfìRJUì±u@ÛrñÀ«²²ô¼a½>ŸÕê,¬q™ÔÚ:ØÕÍLÄ++QÁèˆY"qlŠ!´uiV<ÀyÈ&¼V{Œ{'`uP7ÁB ô`Ár[š µ:Ï{íÉg«yÒÜ"ƒ&«â2eìŠ=+‰×E–>ò<$.œt›¼sÐÕc3H‹Hô9A,D=µ>±³º8b£o­7¢Ay;ˆ<ho R†'byÓÚ6øa&/DåèçŠæ\¨ó^H´=B""Ú 5•Ž™Øs-Òm6 )új,–)ï,Oôé‘yVo-³˜ ÙjéKYð=zO>ù$¢Ñ(._¾ŒaÆ!àÞ{ïÅ´iÓœ8G—`gÂá0ÐÚÚª±òù|@ëÓ‰è„&Ö=Ýý¾ Éœé²"¤]ì„O@' g·±Û­U|˜˜L’Z0–¤Ê=Ùç˜Ø’ƒlqKµ´Ð<+ù޾—ÄÕ†-cÔA3™@¹ ×ThÏÛŠ@ #f›b¨e’ýÖ%}±ö<Š'0pÜ,u/¤Ú•ºÇxg +ƒ&Ö¢'kÝK;‰½\F´ž‰NÙàDÿcß7ìŽ÷>²CºRˆÈöiY·J²^’<†\e9]ß?£X±ô™¸wzh!"O´M$þ²Qô¥$øvíÚ…µk×bÕªUhllDqq1zzz°sçN,Z´kÖ¬Áüùó¥êúÌg>“Ê©ä ¿ûÝï2} Òø ’Š‘ W&Ìâ|0kêxÖvq¾(P`-ÀÝHm¢ŸÙŒ²yÅÊ÷?öóŸb꿪lcÄžå‚M1Ôߘ0§*öhœŒÀj&¬´Uùà£Ô§GÎYæzŠôÛò ÑçÊz2z_Ú‡ VìqÄ&!›DŸhuÙgZZdžØ3ÍïGú^*¹Ä"ËüRבÎëåDlµI{U°9ÓØúxùÀ¢Ì„ï8Ú{ƒöÊá•#çľãEëui1G¯'ˆÔ‹9º®A!öžè“‚ç^)²î©ÂN”ÛðÚaRQֳŭӶàëêêB}}=öïßÒÒRu{qq1–/_ŽêêjTUUaÆŒ˜0a‚çê‘h+oŸv½…a€²‘÷€öÕµ©“¼„éú,K²È<ðÌŽº}«ƒ¨°'ÐæØÏjhu´4D…FªV'eS*Qädšëk1´¾Õ—°®-SlÍ,VTðýÌápI s˜¶(‚¯ŒÅ|zÑ€†ëgLz™è¨N¬Á0"ÕUϵï;¨Þªxsor{Šb/3Üܶ~¹Y|À}5šôs‰—z„ÊDÃöéUˆµYºŽä½:ÙgiÀ(¯"ÏÚ»”áYÝYÏÈ2?°Lÿîæ– ˉÉKæüY±GS½2ŽPKPI~E^J\ÁÒoHô gä¢OS±GöIоlÀ¶àkllÄêÕ«5b¦´´µµµhllÌÊô D\°ÿ6x3é ;ïôâ|^}nåe¢á‰=BÅ›{UÑ'‚}¨s“®«%CÁ÷¾´‘çí@hëŽFISABcJˆ±×ŸZý½‰\|Œ"îu<±Qš$:_:îu^³.b*úœ\O–´ÔiÛ]°0‘ð~ˆâeÐÚÚŠ††õÙ”«V¾¬D4‰’E–=^Ð'ªì³ÈȨf3üF9½ü‘¢Ó«¤Û’y¶: /¢¶°¬ÁxKyQÁÚ“$¼ÔA2A`Ò•ÂÃI¶KÞk²v±ùæJ´Ü·EÙX\¯¬×3Ã}L&ÑŒÄ]Æ…%:n`[ðutt˜ ¹yóæ¡¶¶Ön®2Å  °¾ö>­%ç¾-èýämX?3º›iZïá)h3ƒ Ñâ|‚0ñ:ãÞe4°OeÐÏ&'&ïÁh$öoîU¿ƒÑ‹†û¦êî½4€Ón·}ѨmWNÙÁ³!Ï«;….=sŠúÕm+¾ñ%õï?z½~¯9æàuS®~í6ƒ¶à®á㕳Z·•zEey¸ú\«s§náCÀÀ€âµÕ§¤…¡ûmWŸÎ喗ƽä:Y‚œnË•»KbÏ•~(ªÓn[œþÜY]Ö/o°Io³c!Í„ØSÛs@ôéÎ?ñ›gs¨øJ5êLÚ n¤¹†Œ%—¾N‹¼¨M+´ìEÏÒÇ!Ýn•Ù¶ŽÏ¶à;þ]9«u[©Wb¡™U6çˆkÿ^°p ZŸnFÃõria4Xt96#“…®º¡ñ~»þ2«c¾iÜGVÖ ±eÈûBfP&Åž°çlŠî}2©/èIOâ PïÜ)f-:Á&òÖ`d¢O^ ™c²Ý­Ó¶à5jΞ=‹qãÆ Ë¼õÖ[¦¢0Üñ-hºï‹;âzâd®0î¶eøíóãg75?È+NÀþÈŠ–­ðîo˜RW"”ø ÐÛŒà´#öŒ ×{î´?ƒ?Ábzçê @¯§(-×Ôûæ‹Q`ºT3\±g&Џ à.'ùÜÈ1dàlŠ¡íµ_kÊò,$¶íÙ Ì“Ï85¸Z•)7bêDƒ“h&\âéÈXé¡ÁQœu"ÃhÀ+ù\vZ쉗dð(+ú„Éé)4kùxûÙ:m¦F²ƒèüé­ôX:h‹è,I¹¹zÏ:žèswÎö૪ªÂîÝ»qÏ=÷Ë´··g…9óÉï.ÀÖoÜŽM-¿Â…÷¯ Ë}zÑFüb}û?ž=rAXn°`å/¼Ïì¢yf¡¼]RíWìL"l.Y¸@{€"ü–,\€æ§µV>»bÏh-ðAË«›ªwû¤ Z€§*öxŸ;::„¢0ÎÃG'bÇãrm öy¤·®‹w–ˆrˆp8ŒG64 ùéVíïÐBZ..¸tæ)¤°ñpa`AÈÄ+¹ffC*ѹÑëùDÉæ³nBÂ<Ñ—:tîd+Çd;¶_8ÆÝwß[o½'NÔí?qâêêêðÌ3Ϥt‚Nð…ooÀ£á&œ|²{ž¸ó¿×Â-÷Û›«>š×b/¸ øZ8µHŽl}FÔ2ISë$Ûµ{œ ô‹ zeÁUÀ¬Dz·!–…3½‰ï;=ñ\EΕÿ0­›QË<ð¸2`>5. Fk¾IûòŒN ¢%”y°ظ¥+–êÅÞÆ-8Ø l~Áz½„P'P£¹þÚý¤²å¬Öm¥^7 \¦G"}‘œC<€IýŠ•ïxaÀ•sˆvßú4pMâ­4à+PrVº´0Á¦"ë8}×å(y‡KBÏé fOQ{}?ÊÝ2™|s ÓuCú(Ö®]‹ñãÇ;y¾¶8øoã/ÿíaŒüÄ|œ=Þ ßÔ¿ZßüÇËø`ѬÛuœ[ÆC‹YÒSý<œÜú»ÇYž<ÔÆ­×>‚Ÿþ{3¾úõ%jk¾üàß•Û^V¬{ô:C±GñxÂG_¯%'Ú £Œ Å^‚h'°j_ëË#@bmºhC*bOÖu’gékݼó¿£$H'/ôX0ˆÛ®Q¾9r޷ȵ%[ÎÃ9Ž\«›cØörßú´båcݨe¢gÛ Öi²ýû¹¶¾Ñ•z ý\ ”CÜ9§Njê6F¬|Ùü!J‹íêӤРÉÙ®‚º†o0E÷uRô@ôdRpg:Ÿœ]x.Ñ®§óÉRJ¼>þ|øý~lÛ¶ MMM¸xñ"n¸áìØ±S¦Lq긢”!Ö=Ñù9yžf–=Ú6øP½2ž^±Gð—¡÷¥}ŠØ#$D™Q¤X÷¹ÈkV1³<{dtÈu#±—¶>,‰çîÄÇ Ë˜i:6ƒ¶8i©d­ سµÇbM”d 9Ø­{4<ј K'KpUròS}ˆÜð~wvD_´«Ô#¬ÀKwº§YùdDß±Ÿÿ4gÖ@§,ø«0‰¬Y”|Y»«ù’¼eˆ=@rfk ˆØ£Ëóêm )köŠïˆkD¡,•²Ù HXwEErÁ}B8תßiññ—”0‡·eý2L9)6Û?2Æ}0lŠ!z²ÝÍTE_÷c3¹å<ÑçE€´Ái˜g ׂ{<7±l8fÒ"Ý3ÀªèãY ³™T,Ï2¢w-öl­çZ°Øwu.‰>2kùd„©+ÉÁ÷»ß ®œw™"ØÃß¾Vš¹ÆåBÓ«Ðrß©:XùY<¾á7Ú°û¢SÍ–Ýã$9°H‰úXwË›G÷³zÑÇ“à‰2‘˧ŒÜ8‰ }=ÏùP|GÉÊËÌ·!YÖîÀØÊËÅZâï„59G2T7vâÍ•ŸEdRyBèdŸzLm—6üiU]Îɺyõ‡[°ç‘®s B0ï·Ù°'Ÿ°Á.¢Ô)$”Qj6XÂ…ÀÚ2ti\žØ˜Ü—ˆlÔ†«PƒëŠ7÷bOÂʧDJ ¬=’ð«ç»è#˜åTäa$ú¸bX¢cu}“Hˆˆ¾lG$NàÂ^“lÁY#ø<²‹–û¶ ´u©©è m]ª{9H ´XAú¦º¦HO7ÜSÝDÉ„ÕþÐæÒ‡½¦ÊïìÖÔ UwPͺ¼UI7Ñžç|ˆ09–2= ÎÕÕ@{ üïœÁç,k/Âbr½z´/?ú:jÊ9X7·^ƒóp Ýy¤ùdûm6ˆ¾|Ç®è3„VVVšŠ­ÊÊJÓœqÄ…MT¦òþšô0vÎà Ï/›¿Ú‡ÝV®n£ES±—MÇl"²Ìí[û@?¤E_"íK®Š>;ðD_tq•Xì,ˆ¾%nEëu7D_¶OÎdTð•——›òp”È2?fÎÿ»yY³A-Yã±Äg°fÊ®[œ[îtT½Ñ®>ÜòT‡®~2ˆ$sÏGtNl9@W.nqýy8Ç¡ pÌ@„êÆN[a™uo2ƒö…[{<¨ ÐíêS,ªDìä±µÄC«Ž}n‡×Îô =áÃéïhù÷Èy6±‚Š¶Â±–>#Ë›÷÷¤ÛâÕafñs…Ä;ác·•ãÍ_íSÿÑXQï-¯å‚Õ$“n´çÞI"nIÑ'ÂÈ«õ€àgÅ+$(QNT†Þ.z޲¢¯î–-ˆôÔà=è2ÿl´ƒ¡ècb!úîÙ6I“QÁ·iÓ¦L6Ÿ,\¸0Ó§ Ä(ñf,ÄÌînÍK×ÈlŽÂˆ1£Ù<2ˆ 6Åмû³€ã#§«ûënÙ°®w–êê l·öc/ùÞa50Eh«R_Ë}ú¶Ì°+ödà=Ä4Ÿ{û”dö‡ú“ÑM-Z÷‰—Œ—èÕC Û·2yù<2G<wD Òù;í¶Õ±IÉŠ·Ï(ÿPCz`÷K&â¸L{#bQeÒ/zk_bB0]ƒFžx̦A©]xÖ~;¢Ï¨~!=æÇ±èFË DmÑÇDuÑÛ‰ø£=°ÈokæÖ'Žár±²Æ4ŸP'c ÁÉ25º}Á¦êoÌ.‹qFßìÙ³3Ù|Æ)//ÇéÓ§ÓÚ¦b‚GC´2KÊ=©(i/å”#²;¨;úͳ*D–ù;K€á€À{ÇT‹דyY‹ë-‡}î~l&¶O¯ÂÔ3ÇÔy‹éËâêù‘N72 _°``લ½ùéVÌ*lÀ¡þpÒ 5á>€ Ì}ƒöwÈö-Bkk+TÑG{ß½™*Dò92;#äà5²¸¢ïpå}í¶+ÎâžO¹õˆµ¯ãÂt`—^ÐÑ¢Ì 1fVßöéU÷úäºc´HôÉäés#=P¦1[jãDš^,Kô‰u`krE$7%Áû—k‡aêÔ©y!úˆu›è±¢ Á¦êÛk²nã­ádìŽv%œt°ùíçP'PÙ! QÇW¯Œ+kÉ6ðà·nRÜh<(v¡Ù¸¥Cm››C­Î§ÉýÇkkã–¤;ÏŠ¥ÚýäH^½1# <ÜÁ`¤×ɸq’rQ&ã! ‡.=ØY掵Õt¶y`|ê&6`dû‹úk找”p2oU©xŸ›A”}7>0 qZ}½ÊFªÕvõáÔ·Š>¸è»æà¥}81òSŽœÚfæ75pÓ2rób‘ ‚lŠaNQ¿i9Ynºð{õï¢h;åzEðHÊu“IÞ?¿]³}ÁwWª÷¾¤¸7Ò÷†uä'¶B'û0ÙçCuc§f KÊÌ)êÇŠo|I2(b¯òûqϵ÷RRü±.}F.~FLºpD¿ñ¥}Z/‘;“<‡OÞ†ðk¿4|âV¼ð'Õ}-)H m]j*Éþ|XË{—ËäéË'Ñ'»ìšoNþæöìÙ£Lþ˜¹3&D o=_®@{tõqü…$¤ŽX»ã§™2žàó,xpvþcrýFûÅ2T0e¸¢ÏàÎЪÜY¢ß·.¢«‡g‘¤·ÑJ'‹òñ8Æ“@A|K.@äÿ%-1škÂËÄ}äoÁÝ·âTߊÇù_[‚]?iFÃõ³~WÉ(-žáC‹Nb¾aÄÕ‹@ÑH”•:rN5~ûTàFƒuÎn^,².\{ö8èò^âõÏ\/'W:ö O1è5sôZº²÷øV‚ŽŽTTÐnkÜ-äÚ ¯ÉÜÄêÙïnûZ¼WÀݬÖÇx‰ø–ÿZý;üÚ¯wHtÅ‚Aø-¼Gr=!9Á ÷Î\Åêäß’W:´^Dà/ÃÔ‰Ÿ0=6_¬|@ò9¢Zû˜ýDìñY7™ ¤,øŽ=Š'Ÿ|Ñh—/_ưaÃpï½÷bÚ´iNœ£G@¬r´• P,m \ÖMѺi£jåc­q+–VjòÇøŠvå–Ÿµ¡mƒOS†WÇÆ-ªuµ,Þù"ú^*PÜ—x¡èãq'•CެÕ{,ììOô‘9r¢õ“d{ºDŸˆ ° ú<äpí~§!'¡ÕÊW€kdÞ`9䮘VdfòB$öxEÍ4ë#FA[:þñ{Úszˆoñs æóLëa³ès„k‡)–¼Aé/ÑÅbë>kù¬Ë^‘G“’àÛµkÖ®]‹U«V¡±±ÅÅÅèééÁÎ;±hÑ"¬Y³óçÏ—ªëá+ÛR9•œá‘¡ßÊô) :h¡IÄÞÈ"øåm‡zç¼Èi±7uêTîad†ÌªK„(¹Y(óT`…h8FCCZ[[µV>Ðút³RfåÃâ YÑ‹*BzgÒ¥Õsï4&_E1Û·h+_K³Ò·þâ¥C‰(E#«Ì4I8:Ø!bøpÂÿ¨h$Ðël¦bäVR%°“_Üã|CPù÷ʺ$Uôù†HÕï8Y öÌÖÃævóôµâäÛ58¦ö¸x9N´<†‡Ùù•¡'ÅyÄãqÍøFöرcʘÅ@ôå‹u‡‘u?WÓwØ|]]]¨¯¯ÇþýûQZZªn/..ÆòåËQ]]ªª*̘1&Lpâ\= l2Ð}Bù—GÍýÚϱ#Àâõúr±#N(GÖXo%}xòÚ'õV¹þÒtRqR=“K×˶ sg)ëÍrmá¸{Š„¢Hì‘}vœDÜeÚš§RP\e,{”ÕŽ }äZªèó¬|öp:y¬›m±í‰~C¾‚5 PÿÐJÙ«à5#ÿ¿ÌAÌšäTa×8G qFƒ@£Á$AàUÈWj‰D½çÍœˆsò(ÍàUå÷Þvrà¹qKòQÔó˜xhTVV ×u“µÜ¡– nÐKŽ£é-£þ‡"ô¨¡O/5YeÞ ìgy˜ÔÕlY2£ppÀoF¨%ˆ–PDmsV«yà*0$žX[ w=,ó#º8rÒYÉÓG÷…Þ>þ"Û‰vÅw(¿‘žç¬MürsÐñ,}Ìú=r¬Gvc[ð566bõêÕ±GSZZŠÚÚZ466feú…æü·ï½Gýw°p°«G»€’.þ~6((wLèdòÉH/š§¡Ð_y[kNãåH¢ý ÛbïÀ¢Jï4]æ`—~‘þÁ®ä9ˆò,•MÖ‹¾à*mp@òÅ'r÷4àr"`ܰk-jˆYb§0²ò©$‚j„ß=Ä¢èýÒDž?#®t]Dë"ëá~ß"ƒ²=œ´HxnXîj±6ÙB¯ra­ l -V˜±°nþl½mpó§ËÑí·~âåQõP½¦®[:ȼ%à‡“ˆØUꪛ”ž³ ëÞ’… P{q(,X×V>@œ§/J–éåxðåªè#ßG÷³öƒz©V>ŽÀËgë^¾b[ðutt˜ ¹yóæ¡¶¶Ön)##æ“Ø€š¿ù"v45#ØÏ|>\wŒ;Ûk/^Qþæ-š×$×%9 Ð/ÐW,{´ØSÝw xÙÊÞ;†Ž'6š&Õ-› ì}C»Ìø±Â/Úeo¶“Ì”ÑÖ½ËTtðËï'E±ò¹uÒÖ<Fy´”M=sLóåV;!frLpâûõE£æ…rÞ„ `œØš-ˆ ñuÆm™&À6pÙc]ªy}Ë ˆ´„òCðxàñ<þ€Á+™,ô:ìt7˜ bP$mø„¤ QôNûVÜÜ ¸Êxm·Y8OØå¶ßùóç1zôhÃ2cÆŒÁ¹sçì6á‘aHru«X{† ô ¢"±´f6u IDATuèè'ÖŠhÖttà`W¿±v¥¡­}Ò"D»úl‹>3hÑç$ôÞ­h—˜„ñNXíz/ `Äp~Ô:6„.)±ÕWS![×MȬª¬¬4µ›Y“I;"aivfëhÉï³äËÊ¿žuÏyN³÷[$T¯ŒcÎÇ÷H•e­}äóÞ7´.œ´Àf?óêA2( ±öNž`>‡úØU؀皀;–|SÝî+(P­çùjÝ3c°ˆ>z"›}¾Ò¢L8˺ê³Ô¢5™Ç¶à5jΞ=‹qãÆ Ë¼õÖ[¦¢Ð/Ìù!6îD¸Ä/þæ›ê¶8âx÷ýn´œØŒ¯O«W·bKíÚ¹æàÎDaümüÇÉÆ¿vŸÂõ×} M¹ eEAÿ哸q¬?¿xŸ½ñÛX^ò)Œz­aý¹Œk‡Fì‘ú$€BÑHny™ú¢*ݱTä9Vì@Yi¡Fô‰Š>Ó3MBüáU·(âî2“øòûÀk¯S1Âê:=·E yqˆ¨½n*HÌÚsfؘH…\X[Èþ64¿MJŒ™Yãâñ¸&°o"ÆŠEÏȺH#ê[´ì~Vª*G¡'‰Xo «å댬ão—nË ÖG ú¸Ìs„œ/9×T—wÒkÊÙõäìgn[)ìÊ8s 5÷k'LÒqÍcÁ "ÔäI<wä¹Í^Ÿ†}×$7¸ëùŸS&+Zò3ÑÇÂ]ÏÇ)ã‘;Ø|UUUؽ{7î¹G,tÚÛÛ]ë7^ø ¾ôê›êgEpù0¦èüxúߨZŸ7ëݱdß6Œ¸¡?¾y)þµ{5îýôýx㵨;÷¿sCžœöuü|¾óÑ?ÇÏoÂÎ31ôeC° ‡‰ƒ( X sÅzT46zÀÉŠ>Öj Jr)Šþ2Ýà–†ˆ¾ á7Q®"‰`nDô9‘˜–'úvŠéÐð,*Õúë3¹M”*.¶uŽV0¼=E€‰LZ’èäÞ&k2ñ ÌÖññ¸q%+õ¤«-¼¾¥æIÊ‚|GÙxÿ„|·X08èòbº‹½žt{Nä!eŸOáp AëOš“…ŠF¨ûÁ¦"y°Å sgéE_.¯ßôžF¢çÚi$úxc{rü—ãxØÃ¶à ‡Ã¸ûî»që­·bâĉºý'Nœ@]]žyæ™”NPĶsoªƒ¼Ol Âãfá£×¢>ÄqÕVo@@Ï;/bhÁ"ÀÜë®ÃµSÆWeHÝ+_ý9¾9nžºéÏðòéf¬y-=ùŒÒ…U ;hg×ÐñÄ+úD.b¾º6uðO¿ÜÅŒÚѧI–)ˆÚEƒ .†®f‚Y3ÚÊhEßOŸW,`;úÊ.4 £ÉmmúÁI¢,kùrspX›ñs2¸ q1tôû}lŽö³Å´ŽB¯…drâ}ô}Î>æÜ5¿G¹×dÝ« q(çùñ¬sŠ^u¤ {û´ïº¨ ¨Ôv‰ó8±ÔXÉ Á¦˜ëßÐGÀ\Åc&´u)¢Ó«ÐrßÃ:’÷flJç²ù•äuy`Ï>͵ìcÎEßVíÿÖ]÷þýVY©<“šo®4ô\H…È2¿ÔD-¶ý‘ˆ­ó ÔF§ ¿Ë(š•ƒC¼̬Zsg+°Â0´æ“ãX‹+o9‰zŒÀ²,²øÓÛÍÜÛíˆ>ŒÖzd¶ßøñãQSSƒÙ³g㡇Â]wÝ…±cÇâôéÓØ±c}ôQ¬]»ãÇwò|UèÀïkJoöß?„.¾þÙgðoÓ—.ÅãøøÐ¡xãÊ©:yóyÿõÞ{8ÿÚch9—®&…d¬»+º[Q4ìÏñܬÿ ä™à#ˆDŸSÁ-ŒÖùˆ CVÜ™¹ŠF–ùÕ0€œè£›2¯Jz†Œ·ø™Žº÷ ì•p» ]~²%ɺUÜŽ$šWÄRû­™åAÓ­e~7f÷Ê,Lee¥å߸¢8Ê j*´ÏŒÀEX,²4öÈ›DßGó|ZæwýûÊw²LЂ…œ¯ÓÖ×X0ÿ;gð9æ\bÁ øú†÷€=GÚ¥òpI‰+äíÓ«k/â^;òž`Ødò5t²Ïò€:Ö®Ni„ZÖ‚;r®a;Ïn–!z.Ëä‰>ˆ$DÁ¨ÏÉ–óÈRJ¼>þ|øý~lÛ¶ MMM¸xñ"n¸áìØ±S¦Lqê< Ùü§—ðwÓ7 ¿„ßzJÝÞôÖ 4Ýò†b{Ý–—ÿß´Ïø?ŠáCÿ>â. ï¼½oþ[ê_"M(Q Åk+è—©+ rÏÖz}&©®ÈÒG×@gÅ`ó¸‰9Ù¤½<¬ˆ>Q —úölßš|9¹E{ߨP·WõG’*v-=;L‹_ŸÏ§we¯#kµt÷ÈmDÉâE÷Üh6܎Ƙ&½¶=×6´Åï—›“³ýÀ Yпs žÕ•¾@rаkæÎìÊïRT§Ý¶êøÇ¹Šgá½èmä}ìDµ ƒ~Ô ÞYÙä&í‘:©ˆ¾`S ªŸañD^n‘’à€)S¦`óæÍæ„o¿9Ù„ßœ¤6t)/±Žÿ#^$¿%u°ÿ²û/¿wެ1=‡AÏê ~°•C-zÆÏPô%þŽ,ó#z@œ²u …4;“[Qì¥Ú µQŠh,ˆ´5R3Ⱥ³ñP1|-=×;ÑšG!±ƒi»WB±ç!†NWa«bO*xRBìÑ÷Ì(8 ½_½·ï7“㤱ç2.¶iU²u k*¸õ,’{,tš³ðùF¨B®GY‹N¨¤BOµòeúD,b%ÏnÊ¢Šà鑤,øüÀ|ƒ‡‚(*(n®ð€ÞÄÆ7÷ºòbu#xOôECúr²)[ð…ƒ¨‡bE¤sK‘¶èµ”Á¦"=5ÊÊúcÛÕ. ¢<'Å•â#W&.N%“5zd›L% DÉv¥ÃíÊ¿é°î9uïÒ Ý¿…e(ë2™t0}òˆÄÙÇ®ûNÅÊ硇yQ“ KF•Œ4‘ãBžX¬è1J_ã‰>BÖ¾G†~+Ó§àá.åZK¬è%e•Mٰآ/¼@ ópÞ>)ˆÅÇ#ˆCÌ·-ŸŒè¢ÊäËÊP`ñuÌ€ŸÛ.Géä‘“b0ˆÄBÚ(Íœ«¯è¾šäšªT&ˆ2пs^ÿ¾¯F¿µ”Iˆ>§òTÊIQ[š¶ ã´p•hï_Vþ½v˜£í{Èafá3O?d|\¬]à‰Èd©-Îñ¢ô5žèó ÉÁç‘dfx% ®„  “`q¼%œ¨CYÑÇKÙ`yéÓÑࢇs¨%ˆ–P-ÌØˆÌ@i‘n€ldIwZt‹=/¬|n<éJ€a%·(Ù!ßïƾߺˆ”èKk°–”xCH¸Ê¥ùmj¬{Dì‘¿¢XùœvëôÈd—©Ðä‚èˆgŒn\#ŸÊÖ›¦Ø|ååå™lÞÐÏðòfwE¤Q„¥vQ·Œè#Çpb•ªÐ+:•ûp®?Ô¹wFCAÍú©@i‚ÅõÜ…çÙ`Aó´xØÁªeÈs%Ì Œèó°-ö<ÙwR:ß]Þ>dEý€LõÁ¨{g F½T°ê•qõ'¢/H`ùÞè"ÒÙ圜0¢k;ÅYý&ÓX™ûà xxP)´e‰&u ×1 K)H2Â9Âãß#{5C¹ÂÞV³Úd&;~^yÁîAî¿_ÐBOYôqàe~%É|dYaÙ„?<ñ¾µM%H¶lЖ¯X©|/ѯ= [“@-€¾¬õqà—H³Ó*ä7Ñ$PÒØéì=³L¦¥ÐŽ|7¡û>eõJ6ìˆ=²Ž~^Ø2^Š>n3ZíÓK1ÄfOÕ‘d^eáp¿ÛyÁ„¼%¢è)…z|N¹af‰Äí±ÐÉ]œÎ†‘Hê4q&Àü²î¹~^IÜ‹ @¿DøñþùM1Ô䬯·-öË÷îDë2Y𤝠'9XÆUÇb1i}F« uuuoÑ1È:ÞþdBÏoh¬÷”H®=ô„å>xbÐD—WÖ27ûRék¢þÈvÅžjvLŠ9V¢0"ÆÂ÷àƒúòÂå—_^èSðÖ-Ëò”´Ång¤Z²aÛÜ„.7ضU³ÂЙµ:ç×™b“f>·W7ï'›«zJ}š;)ß]†7W× wÖÉmL&÷>ºpóö!S{¯É÷÷³²îøib€v·‘a:oÁïÑïgWÄҿɼ?ßyÆïïÈ¿£É²­àÞɳ qÆZúè¶<G?çéDB³ú1Ȭ‡Äâ§}ÿjlò~mO]0å{j=¡ÿ–Ƚ-ô3¦ ïÚ³DbÏì;Ðô»•ÓÊ>Óô³ÄZùï,}á"0‚/"œø"ö‚,Ù4«’ ¤”Br/HZzñ2kÑ|8ûbsɬ+iêà¨ÁM†}9“—±¨¶_A¡ ×"ùrûëèèà.oiiñýØ~R¬ß+¬¨Š>Õz*d2K‹¹’kæèQíÿòiœîï}MB ¨º­Ô{Q&ôxI‹xx)°DñxªÇ‰ÄžO¤ûsqŸ VîÁ4NDߌËÅžMªxa-ôÒâØ8´rö×¶O}íœíEûUm燸µàÛ´inºé¦’=¾4on‚2öfY±WðŒl.ŽÇs»L6WãΨ¿UK6x1+Fôãs^μcù.úØ™Æïü/s›0‹=òý,:Q¡Ûî²Ø¸ÃFmKEØ["Š íº»»ÑÑÑ¡‹#Þlopú½ÈàåÆùT#Å{WÒ8¼FJ¢oMøðhÒïˆ2ºš "@ÝM·Vy¿'{Ò_¤Ž"¾Mí7¨ú{õrò•{²,¢xqÃöŠ)=±ÕŸ¸’+úDï}UÑGOhÓe¨"ÂE¨Ÿ±5iÊ|¬½ùƒøÚš->œQiB:QL†Ý}nçÐnÎ8ÉsRYG0ø±sDQjùRÈòJZeï\rN`ã`‘$Oø’c]̹6$kgjP›z0w ëïâø›z+ö¨•N1ˆ½Ñ£ÀîšUà±;MÍRG‘¤]µÖm[G‘Ê&q~.ÔÄÚê¦í5°ÏX¨ýjägr*V¦gwM¬Ê5½ôèé†Ï<VªMÛ~ãúöUüvnaÏmaö’Ÿ&dÆdóvŒŽh+¨kÐvpÇ&}Lû@[rÒý‘èãAÿ~\#®è£“ù¤S@Å“5ÍWÇ×*®Î<Ìë'¸ÛŸ®Î3Ñg%öhâÛvêýOãÖë¤ûͻأ÷%)§£"¸‹Öë'¸™Üf“¸ð°}¼•Hô…“P >'¼å¼¿ÇØ‹ÖÁÒ%;hç h-±ÊÖ&ò7wl``5h€þƒcZ Q6)ݧñ7³é±91hª%úí‰>ßǘô¬¡òÓ¹ŽuFÀÃDURtÇÚ{¸"?ïÐ"–#hé{À(Ì®˜lÒgWGS³”Zd7íÈŠ½†«š@_® ™q4]Õ€Îû»±°¼»FÃå¹°\³î5]Õ ‹=Èd´ïÚ}':ÎXˆ–×w7dï™î{E…CÑpÄýÌR÷€{z< èíí5 VçõôpÅžwDï·rÖöº¯z—ìÇŽØ#“`Éæ*m;—ÖvÕkA—OPÚ—¤Š‹mÁßÝ!F$òeÖ=ºÍÀŸžµu<'îá#‚oÓ¦M¸ÿñ|úï«pêÕCøÅ€þ#Çt—ÊM›6áÞ{pù‡àŒS¯á©žïãáÔ0|¢ x7Μ_WWgpý0¹‘´÷xVW®ÿà˜¼5ã‚“:X-u¿á•lðKôÆ„,äz ?d}y¡j‘ñ²9°V¹Ÿúó`ûä< j‘fÙ`{–ïÝiˆûŒÈ#>Z÷DuÎlãsÙ.ìïÐ>S"ËTŽA´+…Zˆ\±'@du³r %}¡…ž×8{ÂílâDøZÕʬ޲í#’î.8ß·ÝG¢¯ø MY† ?†[W¯Æ=;†Ðð/æ—iÕß~‡Û׬†ï÷añ§´´ÿ0ýÝ?Àš¯¶ê"¬væüî¹QËýÞtÓMhm]‰M÷<†ö @â_0´ã¬^}+;|Þ–wœÿuúVÖ=‘ØëèèÐþ­¿ g,Ô­&€¹¶MrYÜ]yY5ο ÕÕÆv¡Ó*ÓïðCÚuÉ««EÕ"ã?›™8E÷2ÓVŒâše¹¿)AË{g,DÇü/åþýÝ— G¬µ(XO,\Ý÷w´Ç©X:ïï€ÐY÷€Ü9wÞßS±2}y,¦}Wfë`œx ï_„žfÄŠja{ƒx¡ÞdÒ€>ñgu¼÷8Ï…PéQÆ™×æ-s@XÄžÕäšÝ}ñþViáŽ_>àINJ6D„‡PXøàç¿'3<¿'‰IW~ÀO ë»w@ÀÑçþe“µÿï=ô>þÁ¬n| þü»±í7obV쎔î÷]µ—ãÓKÞ‹égNÁ„X ™Œ–ã}S'áª=>{1÷8÷ö<íÿñÞ ¯C2mõz!Y”O3»¿)ºVÑbÉL¤W³…2Ëžžâ”æ:fp[ËεÁ¢yšeïÊËrÂîãÀé“smª««100àhÿ€vÍ«5×Îá‡b‚â ALùí•åðéûö٪͂®5Æ|êÉE>iìuÿnûêgQ¾ÿYŒé³Üïç>öüò;ßÄ®C¯âíç-Dë íizì„¡½è8‹à̳«×Úp}!/tÒ™1/%Ã,íøI£«§Up>%öX’”[g©·H÷ç܇(A{᱓À›Ô#OÇ+žÏ=Dt?åAÒÚÒ7ûœJúálgìõ«2èYžÙT:G%¾$,qM>5AKK :::ÐÝÝÍ]ç LyÀ¡°A^¾—ȳËŒ7`ÛL#xÏQà{YQ–M¢Â÷5giK&ƒ„¢„,ïf²tÚÁò»+Š=Àâ¹Q8ȹfà•MÔ[n@±—ØœF›@¤ñh—Lú¶IÜû½Î”=ðËäe<€'úì“L:µÒûôÒò˜Þ ,çío g™2ª´_‡í¼ 4‚ïÙs.Å7®¬Â©W^D÷w¿¯´Í¦M›'ßxèû f~¨ù¯C–ûízâøÌŠ•øtæuüñ·¹Fò»ÝøçÏÿ3Ö_Ibø>À=N©­­ÅW¾Üq‡¿ÇáÆOH²¥ñ:~¶sQê4lX,5·Íìþé]“¤YgˆÛfe¥&ö?÷`æìÙ¨¬¬Äðð°-+_,fß ›èŒ“X{OèD]: 3Î$ih0•ðÚÊgµÕZ^\åIDŸíïuíÝž[7ƒvUÜZ‚láƒès -úÜlCÜGÉÿ† ¡P/ËàVìq—Ï3B^º[ÒïeÒ‹®‰þþh†æÄæ4RF1tG 0¬ž9Y*Ú$û!âÉ»Aö…]bsd‰&î¨çášÐ¾=É{°‡yx96nN´|ÅÚ«ñÔ³¯Zîwï/~ˆ½¿ <¢YìŽéGÇí” Hîá§Ô1ˆ½M7ÛzYáW¿§ÝÇ<„ˆ=ò÷ÌÙ³•·åÍ®ò(Ñ 0‰,FÞõ!\ÿçÇ¥MÉ÷jÜz¶muhUf>·ß^ÿ[©«7}ßæÝËm³oÚrë¹¶n‘•ÑŸEŸÚ¬"KqI#.œô1yç`Ú3hˆTLæã…e/"ÌøÊnMèå™ds¶m…SÙT[[ à‰¹Do“¨‘µ¿Ñx£öÐ諘/Þpô(jGž ÍÑ÷Óìì7ëDxË]9Ü»O/Å·Ï\[…ûuØÎ B!øü² E–9o1‰='@ž Η^·íâGÏÜRïg“¶\Ûš³"MÐd¬E&±:ç/nz ³nnÆð<.Ã/<‡Êsfë—"²Aá^‡t†<دH?G~àõÀ›ëJ¸}(ïB ô‚¢†¢r—w]ä›®õeºo%*úè¾g°¾Þ¾€øÙ89®“NqرÜp÷O,D¹FŽ÷&RF ƒr’„¤S«Â¥'·r {MM†åÿ¸Swç'õXE5öX¸¢/B-Rè»øî6µOÝ#Ýg1þf#Ô Œà»üò€W‹Žb Ï«»ÄËÈÆ‹) 3~±@ïŸÍÎÆ®#ËÍ™*ÌÔI'…ÉZòwiss\Ñ7l¯®±òf¡ç&CgDþáuĺ•ïþNàä À L&V`×X RƒÚ ƒd7kÛgÜ'™=nZ™™dQ[ßYDãܺéÁAmû˜Ancíssm”i»Ò£sºkòážëÅЃšðØŠ|“˜N2õCôåS@pE'æba”Ñ}Ï®ÊJïÄ^DAaãרŒ“€Öç»}² »])aÅy†~æîš™7çž- IDATÀõ‡Í÷=ÚêTKŸ(AŽWÇeëÐ¥N?]¾åÞ¬‰½ÀAÞÑéÙÏ>L¬,œÚœ4[÷mÙÃɤc+@õ56Î)upX¾Émüãßlôœ–|‹/.äá#*/Þî„Æ¹ÏÉušU0!3žýKÝ5Ì‹˜>·ÈÄ£ì8g‹í%Û¦ {éá$l)á4fÏ+7{+aç™uO&ú¬&",D_ÑOÔ”8‘à‹Ð £®˜a{ÆÙV€>'PÞ×í *½Ÿ§YöhTë«YܲF¾ºàØ(tO•ß$ì Ë¦EVxí^ÿ¯½pwüÍÃ> u{àúyæe,÷Í3®¿>¿AŒ^º6±&ÌQð›ÃIP¶6éKüï¶­¹¿;::PQ$>Ù@‰= 3>ކ†%+à"¦=£¾<çÅc1ÿŸ¿Ýäé÷u J¶Î^¾ÅžHů&ª*Ñ%q)~#ø¶lÙRèSÈ +V¬(ô)äp0X/ôÒ ô`nmÎMŠÆï¢Ú^âKRžÚZÛw åAÒ–’H:”í°C#š‹§³ì@Þ]«Ê&”ÞÓ8Å.ãDôEϨ òÕ‘ÐÌuöTÅ^r ª)Æë‚…çYѸU³î[YîìZ÷”,ä¼ßžK¹`b¿$ÜïK˜À¾ˆAD±òÙˆMPšý´(¯àùv^@Ü8Ié…9å†ã³Ù;Ní0%Cr.¢â©E…jçaÚ…'ûû¤Òƒõõ¾Þj¶—;#¬P”Ú<µ*ÉÅÑTý"òø.kiÑb‹º»»ÑÐЀ̸&òb1 ûþN­Íª¯ëí»®½›“˜'‡ÑÇÖ¶s ûœ)Y"&mÉ»P剽"f~à´Î;AkšÜåmÃé¿Ó;ÊQ•LbÛ‚¥Òm¸r*ÅÂZõ»²øaÞ\á¦äß~ô#|îsŸ+ôiŒÚÚZ|å+Àwä–¥~p[{R1üƒ^²ð´‚H•YôX,†y=±6%-ö2mõšØ|µ¬ªvú\W ÏBIP  ydÒ©»»[û÷ódκ÷ú.­s_¬\»Lëi7Nê9íííu{úÅM$öÁŠ4¶Ì‚?Äž Û,Õ'aÈ?•ö€ ÷Nˆ„ž66&φÊ?2–:%gá‹Ð0f¢Ì-Ï)WrAtìòФ-úà™†z‰nÜÑŠÔôjÔP«½JˆPô¤S™Ę 1±\E1@÷8êYí#Œ­m ûŽY¶ybôüÌ¡\,²w~ÿ¥Ú²»û§½Wù\U«pç1µI}ÔìpûÅw{žSʵwcä]Âõ~€ ƒ #òv\þ! î»¹kf•Y•]Ïdj}êê:Þó$n\eÚtý¿¬üÂe¯@ÚÜ™=ŸžžSò–zæšö\_gøÜ}çzÃgö\È1w2ûã=?V™–e¿zלxÒ´~ÿ´÷’ß&{~ô±Øã.)·þ‹öÏ~G gíeö25½oÞ¹Ð"­³'‚{‰Íi$ó$öìºt’öÛÈïK%Ë1óû›«øžjâÅ&ª¾óàÅ;ÙË÷:ï»&›«L‰ÕdÈÊz9Á¯ ¢|“ßRƒÿØôIüë—oÁØx±²©¸õ;ÿŽŸßô¿Ñ²ù{º•ïG?ú2™ Þxå~õÃMxxÏ_±ðŠf,¯{*¦LPœÁÄü4n±x˜J"îLÆZs¬HJàŽÁMˆ q Y8i·›¢O…Áúú’²Ö×K\xÔ²úíx˪ϲl×Z+É*¢y§9¬y'°&¾)¹îfÑ›žZ2Øs]¯-÷å¹ÿ/µ’ñ74·NŸ²qZÒü¸nàÎÚ3ÏѲ곰l¸Õh-àÝOÃ1˜õÍ;û´ßþÅ÷õ÷ñ-|2¡Ç¶‘eõíÉf}µi¸qz·l@ÝŠ•ÂcÐVHòIŸ‹LËôï…\ÿ¶íšDn²†PµV¿r~Üc1¿Ó¾¾#{“ìŸ3Ø%"K˜QØnj †}KÞN²qj¤úœÛm)†øyÔu°ú-fÛ`MBëw§¨½§D±‰Êï|ä÷£z<»ûôò½îö»Òx1Þòs¼V”‚ïøk»ñÓ>‡ëþ¾›žBå%_ÆY/ü»_;nh§‰¹Þ:çذò<üåøÂGkÐû½ øÏþAŒ,¾ø¡Äæ4^|¦ ·(´Uyx-êOÚÂHpÄCB„O&@.E,¦¹O‘6^c÷…P(Ñ@ïDÚÄb±\\ÏÒªz¬R¡èë?8¦$öÜ ŒéÛºÑØÐ´óA£À…ŽÉ=`]¼,¤nµ¾wˆlÃܽ®«Ó,qDl±Ÿée4ôo=Hp'{Ø}rÏŠ@/0 mºŸÉ^ïÚCOä–ùðœ{ÆâÔ €¹Öí’ë€tö7ˆ=!î˜nëîÑîœUɤzLŸJœq„/ñÖFë¦òñl¥à€ß}÷üÓm×àôß݉kþiþsÍfÃúyÿ<>wéBTN+GY,†LÖD³éG=¸bÙrÜqMþgçñퟰ«$›«PsoîsGGpÆBc#Ê ±¨-}63 Ê’!>•ŠR ££ §²ËøbÓMòLƒ º(¹ s!=;kïq$úyÿ~…„'¢¡ê?8†Es¦š— â_î|Tû¿qhUœI×YDãܺs¿§%ç,Â…cLÌÒî~ìŸê^ô‰ÎUÕ`‡Nµ8~ì›G»ÇwÄãÑxo’hÛǼ hŸKmùŸìþÙõO}¦‡?°#äzqî5ûìñžÅÄj ~U] Ãýl4·YrNŸi#Ôý:ùŠ–z´l÷˜ä9¢÷ËÒ¶ÏøÙtékͬK5šûœö¹IS;UèçÝÑïTû\œ\»àx–×Åô¾yç2¢ø¤Ý8ó)ö<)°ž…ž´Q}t¿‘w’ÍUضuªOZ¾ÆØE+ø^ÿ˯°ãÕObåÕ_Å;_ý5Ö¿ôºa}ËgjñÀúVü÷WP9÷ƒXÿ5ÍuóÀãá[?„©Ókðþ(2ÁGÓÑ¡e˜l¸ªÉ°¼ûçIÛ±gÂ6ë¶"»ÊÆf“ÚÇî4/äˆ=«fÝÊw'pò„¶pâ$ ¼"/Ö=rI–PBòçÆøA"Üoœïù)Y£Pêƒ}|Û, Dµ4ÑÇ{;v7™–‡½û§šEß…cÞˆ¾|±ojsÇäý¾©ÁÎÛÖÕ˜DcWN µÏ5‹¾¶}FÑÇn#Ú'±¹µÏMâfžÛ‹{ݳ^{/4^¨61T>~Tÿ»,sÒ´¬DµMnøö |û†œ‹¼Õý)FˆåÅðÑb/u@SˆA™¸&ý¶aì:½Ü«f•c1£)ë1~kÉ¢'½â`e (E+øàW[‡ý#øÍmÿnZwϯÏõ[ø\æ~ÿh§¾üG?úàÄë#èä»y;×BC»#:…çBäÜhd.4´+÷eǤèçºëHÜ ÙâxdE±Çû·üv=0:”WäR±jùš½)ËZ©3€v>€ÁŠÙvpÇ&}Ì´]ÿiÕž›T@ȯx]× ·^'lëE¢ýƒá³¡„‰ æÝ‹©'^ìyÇ%ÂD,)Þ÷=­ÚtžÚŽŸÔ“£X‰=8:‰>Ud¢/èbà‡ècaïuùøQ¬¼.÷nfŸzžõ1Ô¯Òú¦õæ~‚·=y°ôkv­üƒ{]êlgNÄܧ„A,ò¬{ì2ֲ׈üˆ=•¾•Ø‹ÈéD5CòZ„"±GÖ¹}©£y›ˆ(jÁ÷ÊŸ·ásŸÛfXF’°ìz » Vt¥ ë‹òÒI|²Awg4áWŒ&ëêê4ÑÇ{d–½ê—r"Žö•gEŸÏèÚ†€*ƒfµí¾¿Óò…ôÒk'°Þ%Ð`“ pù›Í1w±XÌàÊkïѾ,¨Ú‹DBÒýÀã+Ò³Þ} (Ó¬ñ¿þNœ! X7ñƒú¾ssŸm^r‘ g>)Ñvò)úÊÇâÒ¯Þ®/ïÞ´A²°ánm’ÏMû{t±×C‰=²,¨´íËY= <±ç•Ørº7BÑkšö÷Ù{ÜÍ=˜æE®¨Ö¦²“DìÑÇ=šÉÁˆG JÀÖ<õ¢.l$ö¼q³÷ÊU_æݶxbÁBà¤qù$F5uœ±a%µà‹£ê¯/èž,¯[±½[6²¥±Ö¸ºº:ƒ[ïåK²9’6¼}ôöö ÔÕÕ‚öyXùÆ“¡$´™ÃÎc㨘R¦ =bUÛ>d°HÅ„eäØILˤBŸ†ŽÛø½’GÁ½3bP ¢¯ȗ裭o~ëfȺ"öXz8V=ÑvYËžSô™³5 ¡«‹(vPÇ"f°/öh*.Z ˆÃkž4kjUw‡¸–®Ò¾SbsɵUz²›þƒcXT•‹ëÊg«Yz¶m€BÙýXáqÏÜVAK÷°IœÂQ'N¡{Fµï3­\‹Ù£)”ŒD_0p+úxÐboÃݽØcqîîÕ·aE-öHÖÎ.j[ò®`…"-.‰Ð³œù {ê°.,˨0+Q¼·wL¿ßOÖ%™âÎL¾t Éý3 I©èûœÞ `¿ö7ûÛå¹X²…‹æ=2V^WÇ-ªNĉóÊd2ú=gC÷mt !}LyޤÏsÿ…÷x95>½?ö÷Qh çÃyÆI@¾¯éüU¯‹rÝãóäçh"oˆœ Ug/Ù\%-üMÈd2†‰e7Øqç¤yîÀ’²ò=ÞÐÜ9ÂsÅ%n‘¹súEAßâÅ‹ yø’&5¨½Twµø2(¢ÅV鍊ñ“À+/ Ûó,„¬Øcš\A—î7Ä ޱeC =§¨Ì•vÒ>ÄÚ{€öêï2ú²/28â >VìùQ§Ì.õ«2úàðâŸõXÎæ‰ ÏÒ ÙœWúqV&—†žˆ>Oì9Á® 4AbG©”ù»ÕE_„7˜ê|‘âì´x¹Â(ú¼Fè†/' I̶(S´Wž)Bô’4bQÁÖ{-*ééóżžCÊp‹ÛŒ¯ìÆÐ5†e1¦Œw/i‹[xÖ½ç0-ûás}Ê®1c?N÷9¢þÇTWS¯4Hûµ|"³îÑmºCb0(¨àÛ´iS!®ºêª‚_$öÜ)åŠ=²Wuæè‰a6iñ"u7Ý®/÷½ƒç@»˜´5dzt’Ü¥çúyxlÕÛqxöiºßX,†ßNœŒgç]‚äÞy{DÀµ)Š7§¢¯«1gÌ÷ì¡W.˜~³§ljOîணÅ^ÿAcI‹;¥"X—©žëŠ1!ØN©dÆiÕ¸è•ÿ6žÿAëíTÏÕ ØR#2Ú}8~^X¶ –¢ëÚ»µÏ•ѹ烆&MœkÞx wmêïÄ’ò?ICž¹ ÷þÂð™^–ØœÖ˳èç>“ûL¶!Œ0åJºï\¯ÿ½Ú{…Ï<÷üÈJÍÈÚ±ûk<0Š} Í2Ùóã;™¨•Q½.Nˆµ÷à©«©ƒ£ú1.ýã+JÖð6 £Q¢–0161×óEAß%—\RÈÜŋãÈÓÈÛ`èAãg¶cóÂSW©G´ÿËÌ›^.ÁÑÌœi[Ú‚W> =ŠÞM7ë¢/ߘ\bye ¨¶ì2yíed²®,óëÐôŒv].9ñ&NŸ1£ bÏM;-Hßz?v]>½¢±+Ã3Ó–¿oâ2]ôë+öØZ}¤Ä)Aܤè爗Ä@TbB¹dÆœešej–AÅ&¯r®ž1¬ìÔ ½J4ï4ºw/ÎYùªâÜûœÞQ<£5I6WyR&…½·^ ÓñÞqØç>–ôù‘¼ÃeíLm›µÉºåÂ3, œs'•Â2ª×E¹îƒõõúsGÞ1ß×k°ôÅç”SçrwlÒ6K§ “Uу¤-]–1|]@Š0òPç,­|uþ±Šéy:#wD1|%ÆÐƒ@M °ûó¹e^çŠ=8kºÑM F«+úØ—ªÈÃR(Ü7ó/øì^WÒVu;YçÕ”½†éD·¶=.{ñyæì“~ÆïÑÖ<•¶lr† à¶Àq>! Zh7N:ÉOìYáE¶:)‘g0© Ï$GDq`Çd¶Iœ½XwN;°™Mi¯ã:ó»¼ñB㘋í¯EÞ42o›ByâØ…ä¶p/ŒFô\ˆž7Ï‹‘à+aܸm²°ñìg^ý;Vôñb0€\ì`´ôYÅxØÉ}³–j=aÑ’}¬f,õ=‰dÒÚ²G <·1±œ×”¶_Ú*@ù×qÎy # ²™TÓ{ø^¾¸¢»-_tÈ0%¸ðn2X%B±&b/¢h¨­­-ìñ»SÜøZÿ2î:¡ÏíÙ!¼{”²pé µåZÕ áv™4Qnåëêìt} =¡]ËЊ¦ý=¨‡Øƒ†'Þd“¸…òÄqË+§K­|a²î‘à+9›ÓHÌf|eÔà\¼ Î'ûí3ß±{¬•Nï̳bÈ ¿ìrºÓ•–^È2X_¯×’‰¾¿šK”“X ,9§Ozދ湦Áè!í,)€TP1Ï߃¦|`ýdÇÀ+XVÍw…rýÛ ö\nD˜à%qSN'‚ObsÉ9r—ÎÄæ4ü,[?¯§GwźçÕD}~à ;ÚªGÖ‘eVµʱmÂ*èT ¢G˜Ä Á7yòäBŸB^8~üxAŸl®BM 0´ÛÛýJ•n—)“Þ–®Ãg€©›g%à ‘œ… {úúúø¢O²KŸJÌž,‡*lÒƒ‘cã†Ï$Ñ›èƒ '#©ŒÄæ´Zb°ßM\à7)'‰Pø!ö"J›ªdRŸ„ñÅÌÛ§Óãxu±ØÐû.‹Ò#Éæ*lÛ: ¯í|lŸfX—µ¶OÚó'»Þ’ý˜öÁô‘´˜¤­z†cpΑ‡•['Ö$Ðq†æK?ÉbäýõUbWN¶ [Úƒö1œ·ÄZI{ÇÐ%I„åI(n7½?f½SOÚsÈo©‡Žvýs®•raÇsåTAæÖé|Å-öª«« Î76˜|:ô¶v-H²’àDì)»ù1Eí[‡·"*.¢=lBRrž<ˆ0uVôž’í蛴ÄÜÈÃR$©—8ÂH2ƒøy¡ä:QBDDD8°s?¯\ZÎ)<¿ ¡ÛÅqÉ™,-¯ïÒEŸ¬My^…•x:¿Ä™„Zð•Ï|.œQ 1`÷noLV555Ü}‰–G„?^N¢N³ººZ¸Muuµ.úœ zÑÖ×çUìñÛ¤´Dkͳh¤ó4¸¶Õç24–W Ö5¬v.Vç€ú‹ÅBØ;vѹӃ9Ù÷cŸ"—3S;Î>­®k€@+ë)BÃy'Bç*ªò.‘sl;8šË´™N¡cþ—²n•ÚóýíIïClâ$ámU2‰'K´ÐY:y÷Pÿm‘8oÎý¢ŸCÑý” I^–N+dV>‚LôY‰=;Ï%û^’}W«÷¹ÌRjõ{çõóAÁTs”ƒLôY‰=• •gÆ+B-øÎ­< ûžþ=ÆÆ½ë`"Qç ©eŠ œ÷ XÞm,ýò¬Æì¡™¶za§“ÉdLbsÛܰ@¾OÇbÏ¥ÁJÙÞƒÌÇNóþB¯ÄF>:'„Uôyqαö%‹C¬½™µ–ÍÄÛ‡ðúF ±§×¥å$N#¤˜ú°Dì}ºé‹ø×[Úìßuþú@7ŸƒÕb‰Ïí$„ê{ °Ù)otTEŸ]‚ø»µà;cBÌS±Q°bϯ™\âÎ)³îˆ•OÅ­SŸõ§–±b´‘½¶]‹½ªEÖ3ËÛÕ “Dß¾é­è ¸u=^çÀA!l¢Ï`Ifcy²ñ>l ÛÖ01A¥‹YýÈ>Eû œÂt]yxéÎkõ~–ëìãâDQ/ƒË±‚Ø#BþÛ Ù¨êĈ±€xü¼rËxóRB¿ÎdJ¿“ô÷‘…è¹ãsß%&úì`Wìåkâ$´‚¯¦¦FÿŸXåȲño`ø¹ý8òÊqÔÔÔààK¯áÜ·¿{~o´ÞUœ}>Î~&•M Y÷Èþ&žñ6\ð®Y˜2)†W_z^ßfÂä³pÞù³pÖ”Ó0~ü^<ð'¼,–=ÞõvRTÝ3Ë+¦®mU¾W²g'öŸo Ü9EVBúXk“îëä«—”e^ï– J¢¯ãŒ…ÀÉÜTôŸnú"¶wvâ¶õ†Ä"Éæ*¤–­„™u@±jWì=ñB­!ÃU!f"íX†ìÎÃT6!ˆ.N ƒµÏÙh§É$¤“”50è×4¢89‰I–m«ÙãsÊM®¡4´%z®½ÅàÝC| îo9y×ô\?™LFOFFöÅŽì.·Z§- }³4ïD<‘À¶­£Žûe™·Ž Dô¹Ù‡ŒÐ >–·Tž‹sß1 §MžÖáíų؀?=?„³ßq.Ìžˆ×^z>tT_7mâ<ý·1dŒýí`ÎÛo›\† ïz7fè-Ã>è [ƒ'‹ v¶ ]0=Jè9!“É H(‰½Æ®ºs׫Ðb ,¿AeôÔƒë•NÃBXÝ{ü|ʬ{*b/ŒÐ¿S¯Ÿö½¯Ü8HÚæ{@ÃZôT]:[^ß…;&-äœÖê‘M®1í”X C=>‘è‰=¥çÄaâšÝ3f fˆ^ ۷±„ûeHlN£í©ëôÏ<ÑE[ÞÚ/¾€µ°‘¾K(÷M;Þ±XÌäýD»oËïƒGU2‰*¨ÅÓûsYø8ÿìéx1ý þzìN+Þ3÷\}è•2öòaì{ù0ÊN«Àß½g@ ¾£'OaÖ[§â…£Ç0eÚ9úò¿ljCû1ÍÂ÷BúYÌž3 Î;eÙ7t™=o‰D_¾ n€µ°³l,vfغ“hìJ`ù¾Üý¬Øl‰½Ÿ6~N¬òâÄÔiüY]ŸIŽ{éÑÓ ç»0Ûן&d´bõ±€Qc‚„·|rñÚÉ´"žÄ&_ø.öW®P}V°–9R:`{g§Þf{g'Æ&VèÖ= çAÒµHN0G=ëõw bIùŸ°ñ‡¿Túz¾u±pÝ~‹}<1zt}›$ž¥]!nlIùŸ„ë ßã­æõSÛý^lL³G/Åï‘íyñyô2Bý]ƒ–qtn×ûµ­c®½Ûð±ËçsðcŒjÁG ­‘CÆÈ!jå‹»MmdÛ³ËN¾þW >ó×ÜŠCœ:þ*ìs^3-0¬I(»C¨¢<€q›´Å‡’—³M¬•}"X±§o¿¦åÄ¥³*™TJÐRýj.S]±Š½|Óø3çn¦—v~6=¢^X®Yðš®jÐÅd2@ÃUM辿ӴWDu .öT—‡a6\F]]wyoo¯t=ÝÈ&ø`ßûœ,¼ýÉiO+”¸ù=gË$µ3}‘u7Ýr àñ7¿n°ì±¤8¥ Ⱦb×ç®-¹_}}GÔÏïMñ0Õ*ÙXk­E_7,O2C£ÒoJ¿—ä{°¨~/a\Üp¹R|1·ÔSsv|Aï³Yáý#k£²½¾Çð•¡|.ñPôE³ÕFx¢@ÄŸÈ¢'e©ƒ£H®µ—sãÞª²n'Å"öòmÉãÑõ™$– ¿®ÏDô D±WŒÈú„ºº:K‘UWWgi eË^p÷#ˆ]“‰ÍRDŽ ‚Ì¢¦”žýˆðãfLÔg=|¥Ž¢ÏråaÒ¯aÔV®lºbÖ%„vûHà»OÈ\7g|e·á<èý_|_/pŸ6ÀI BXT½g}Î*Î^Æb{ñyÚà¢ÈD‚*Âo×h –w óþnƒ•/ƒ÷Ö= ¤­{…{¥ +ìh¡ÕÛÛ˵²ñÄ}¿Ò‰7­¿ìX†åÙ¸¶#Éæ*C¬Rü¼œ¬±ËøþfÅÌKad7PQ7­‹ˆ n A­QÁwüøñBŸBéâBôù1€*3¾²CwÔHÛtÅ:ŒKˆ[Qe:>Çå$‹¡óBë%yéÐbÏm+l'=paÙ‹Ï3VÒJ®Ð÷[¯}8ï;­¦¤-ÚÿZIв\Ûò æíßm|ÆBVw°È’¢x™è¬2áÉ>£]œ¼ ØÉd2žü‰ »«cæ²ÕÝt»ësòƒ $ŒI'†÷RbsÈ ëåûä!罒‰ìß/=•™¶ô¶KÎ2މ×í·˜ô»óQùú¶}êçÑ®àQ#û^²ïÁb÷{±÷Åí÷jZ¾o¡Pñnr ™0€úUæ1-YÏ[G¯ÅbÂ6*ÐIö¼"0‚/¢À8}¬Øv¸lb A;×ÙlBoÛ‚¥xü¼rÝ"ôÒMû{ ’|´‹S ,{ߺçÒ3¹ˆsìf›––ttt »»›»î†nܰêƒ@óKù>½ 'V<‘ÛaØ'É ÑL‹=ÚºÁ'IÕb´A(o°Ýü{óû]æÞtœŠµúUƒh |‹‹³/E‡–>Þ Å*x^ÔÑšRý’s&Ñ‹ÌýÇÊ­‡¬§Ý7Ù»éD©A³Û ;óÅΤ©ÌZÍÑÈfêzÖ›gØY!ßÅ›î±;Ÿ×$rµõª(7Ÿ°ÄìY}?S{cÁªd’ûýHUú¹S©·7«6zg:ÅŽ¸’¶¥&/,Åõœ;wÅ& ïâÝ;Äë¨Äì‰öÇZöèõ*1…^ ¯Å9²¢ˆ½=eq\4®½ÿ¼E{ÿÚí>"""Çë&þpÓM7êÐáÈ™ªò…B¤6Q‰›ð¢CT8ôŠ¡—š”Dë‚$.½×ÛëAÏüØ™¡Â+?ÒûðÃ@Š$x®MÊü·b/¹^å]¢òý í©ïzÅ ËæDôED”†Ø½M7[¶g˜S±§r¬kè RÒ×´í3ö{ÊâºØ‹ˆˆµðRðä‘G}—^zi¡OÃŒËD.¦ üt¿.öêV¬Doo/7XŸ|ŽÅbÈ´ÕëÖ=6up,ÓgdEû­—ÍæÎ¸ÜøyÝâ$Vß›À£_(œ‹ç'÷KÇ;ëÑrD»>=ëqB©Q£JXÄ^ž EŸJ±W– Äý¨¦sðƒÛ²ÁSÇ"³´Ù{Ô±L¯fYÞÊ2pÓß{„Õ{Ô+›ÓT¹ ’€Ó¦iJ°C!‚Bù8ÿù-›–ç3‰(%¢¾RcmH*X­<®Ó×»eƒ¥…Ï‹bÄNã2n[¯eÍøÒûr˾÷´æb·nq9)¨ í+Î&h¡ã.|âà¯Ö&nrsB"öT¾Ÿp[õ,uDèñÄY×Dý.ò5À#Œ¦Øa"wÖˆÒÂ$À |šPôÙq¯”ÕáëííÕ~¿¼cÕ,SÚ¿kh«¿Þ3œw)Ÿw)ÛZ¾T/ÐŸìØ¥­Äž"±GÖE¢/ðBfT¼²‚¿D‚¯4¹5 |Ü?ÑWÈ"¶Vboý¿à5mºªAû#ûûþAg7¾ô¾]ôÁƒÉúÿY±7XŸ‡ñlŠÿk[ñ–œçç±3§ãðìHQÇ.bÀû~"\èx>ÓédE”UÖB¯M¥P3äÎE+_çZŠÈ& ‚€Ôµ²|Zö÷¥ÅÖÑ“u¬è£K0¬¬À1‰= 7iSN ¢óU–$íl¢DiWÌ0Å çƒäp«Éª·l!0c€?N`3)—:2±g§M„Ðé"ñf•¡SÖ¦D‚¯TY›T zdé“Y÷x"v猵÷ ³6»Ü¢˜¯Ê:Ãe¦pÚgpŠN‹_`æŽåR]³8 ;–ÑB»Õ%6§‘|Õœe’$0q+ö ýýòA˜,fa:×°ñ«©oÇò±— ˶-XjJT(Øw›4…71ÈŠ>Þ»MÿËÕ5Ë"‘WèñMô ³ÙñB|N9RGu+Ö&1s8D”¡3"¬È2mª¹ Š= |¥ªès -öèL<è:X$^¦­ÞÔ¡«Ø•qǤ…àÍ?NÀ8¾ØÔ [ùž~³Øk{÷®!ñ“&'N¹´Rˆ_¶0×.±9-Ìæ$—:Y‰ˆå{wâ®Yš1­+¦˜=·„"Ë_„ïl[°Ô$ö€âHör âߨ׶®aËŒšŽàÕÖeÆ Dôµ_|7Hï2ô `wÙ÷7TÌVU%IHú"‹$Ô­+,ö½Fý4’k­ÛH¿W'ŸÇ" ±L¾ïÚpý½Ò{åùNgAŒä%AÝ:¢ÍÉ6 Lž<ÙVûÝ»wcΜ9¦å¡|3gÎÄáÇ•—Š  ‘è¸Ø…kY š‚\VóO+Ø}çzTL™ˆº+Q·b%º7ÉÏ1MhU”É–Ü Ðô"d^¬–ºÜl´eê÷y`Œ‚6 ˜:f^Ì^Rº[ÕL¬Ðô.íü8¥D_$ö""øˆ„Ýôgÿç3᣿§Óý¹:Ý3‡ÈÒGb?;-ò^t–??L Ç·í²‰\€<” ;U‹L¥H""T©©©Qj·{÷náºÐ ¾aE/öÀèãŠ=IüI<¢nï1dëä"FÖyWL1?êKöîâ¶=+Cçýݨ(W«fK!Æv°Uq`mÒ¶u‡\ÏB[ù”Ä^–G)щ½Aï…C–ÑUÔ>Á·ß,[ÛÔ‡ìŸz_#òÊ“~¯[e‡¦×/)S>— ®ÛP¾Ÿ;-Î©í ¢É @»Bök«ïuѸtµÎ›ß‹½ön¿WãQ´8Ûw 3‘{oÌôÊ+¯`||'OžÔÿ§ÿ—?`‘à+1b±ÞÿþŒá3e!aE¸ôh"RˆÐs%öhqÉÍýSáž¹­´ï*fŒÛ«(7ï.±9mz²/Vöåi{ÖsM)vŸß Pûíœ_‡Öe1|gίÓT°> ®<±×ÑÑaø¼0{­wjâúѦGÐØ³X€jDD@ 1{´eý-ZZZt±ÑØ÷¦¡ö\,X6²{Ž@`Š®ñ>¡×÷õÙ(Éõ¦x˜ÊKÀFÓZkqφ9½•ûoù½þªv,ÕïÅ»¶\¯ôŽr,Òó£S ~‹”¼¸ @ ß#ëþ«·ýï¾8|ø0^Ý×^ÑŽ§ö¿Œé^Œ¶»¿‡OU¥o3ò?`ù×âCã¨ý\.(|ìÐoмâèýÃó8sÖû°ò?~ˆ«/zfΜ‰[þ÷øÚÿ/¼pÈpü™3gâž?›¿ÿ^+«Äç×ÿ 7àÖ{…‘ØÛ°ü?Æ­W^¨·Åb(ǸvÃqã¥gsÏŸ0üä½H4݉§ö ŒƒHèÉR+P  7‰>Žð”Åññb>ú©Y2«˜Îû»õ¿‰Ø£­{©£H6W™_„Ì‹ÕÎŒ§ j6•ˆ'Ý+yá-ß»Ëàc†NÞË¥ÐÖ=‘Økhв¢ŽŸÒ–wÞß…åØ5Ú‚äz`[”Ú-"B‡³Çþ–ÝÝÝøÖ-·â«yµµµ†äXä™nÝËtÿR× i²Jw]´¹_'®¦4v¾—ÛcYϧZ‚AÂPÿ×kj–Y»uæ«dHDÉ(Á×úÝÿÄòû)®«_Œ³&M¬¹¢ç¬~÷5,ÀÞ‡¾†+¯lçþß]ú6·|v5æ­y~rö>¼ f—¯mø2.¸µ [ÿq>ïÞ†¥ËWâêg~øŸ¥kñço½›{½ç|ÿõô¿ãÕgîÅÅŸú®Þt~»·/ï¹Kþin½ò1DÌÂá?<ŒK®¼ 7þÏO¸ç¶ã³ß܃õÉßzÑ\$Ë“:|¼ÿÞÞ^ôâ9S¹ë7Ümœ»Æ4qÇ v2C.sc$²¡ceÄ^êà¨#a[–!h3J22ã㘣uUÕ3H8®á=Uɤ?ID`®éuÇ/Q yŸ§–"þæ@öD¬-m¢ÉF2a)›Œ¤'5E}c†Š·:–¬ÞÆÂ³˜¡ÃHÈßž#}‘Ø+8AñŽòƒ@ ¾ûooÁú¬ÆÅ­Áâ¦oáÞ[êÑó××ñÌåïÇä 1¼ÿòÛðúóä_Ï__Ç3 Ùõ ·-?·_y &xKÍ—pjü¬¿ò˜àÜø¿àıo~÷¯âæü†âä© b±‰Âó€Ä¿nÁµ]¿Ç'Þ}ÿ À¶0°áB¢ÏkGg3¼l™Î†žÉd÷CÄ'ðxx%öxðf^õeé~Ô2ëèìg€±–™ì…Ä®cD^ÌËÍë‰O&¡|Í'dÆÑtU’?ïFGG‡eܤa Ç|ßB~¿ˆˆ|!²î‘e?þþ=J¿%¿šÚ¨xûôxp¦_s#ÇÆQ1¥ÌûZ{y@êíB•22±7ÊÔ§ó8.”xlîÏ©Y–»Öùª QòJðýÝ?µbû?µâ•ç~…÷|°¸¥—½õ Üúó§ÑžxþðÐ×qÆÛ.3lSÿ¶Üúg’·êË?óΩ¨üÆO°âÒ¿Cùdc|ÖDIÁ Až0üçoݶ‡þï­ÄÔvÔ6~Mxþðø}møäÕÁÄÍãÿ|ô|åëQP #àVìõªmÇŠ=»ÉhXëžT„d_ú}³– öÐÚ²¬'Ù8d(¢:•—Âëvá..ÍÀ0ÚEÕ+ü*”ìæÚñœ""ò…dZSÊr¢OyWó,l¤¸<í…†)°µ3™Œánjù*Þÿ¿÷aô¸–åÉ«ò›¾´ +¯øÜ;ÿxMN)ðÎÎþÐ ì|äl\ñ©Äÿùè~OÎÁ+‚ú`:Á©ØŒƒÝÔQÇV=™Ø«®®66>þpÁùøåZÛYKPËÄ·ðŽªuÖrOfIÇéÄ„fãu¨ÁIK:…Žù_B÷ýh¸ª äkÄÊÊÐÝ­ÅPÊ,–boM˜µÄ¼< (¹óz|œ9âïÙFG!†ö6hiiAGGº»»¹1|¤M¾áff]³"H“7l‰ S2œÑàŒ…hy}—6J•Ê #Êå(‚*ö|€Mç¹ð“ÅîÕD_º?0ýUDŽb'JðñÙYïþ ~ÖûaÛŠw_‰_˜òÎÀwº~£t Ñ:Ñç·Ýƒ·Q+V%„û&ËΜ[_ Ðââ!ùtwce °_modàaUBÀ)\±GÖ}âJMô1/úÆ­×¡Ê¯Ä ¬Ø´ÉŽè¹ÿP¤Žj hh×§“'duÀù ¹~(•Áa:Å|èDÉùKÇ‘_H¶Ím –*ÕÙ;ãmÓB_€=_°nû&wÙSšûy÷ýè D_ÅÚ¤eá´> o?4 ª_À¡çÆ1k†&ìZžùžnåCy…¡-±H°0¡¥R”\  ¨$†ð UëI>­,a|· Öë ¥¥ߺåVüøû÷˜Ú~õÖ[€Åï$Ö˜}t–¯Ý3fXîÒCLj-«lÒ¿>­Ò±x¤ûQ·b¥å~ ‚H$ŸôUôEDòÙgçƒèWáš¼ ä,ýé-ªø-öÈl«ÁºÇ{“OGuu5Ð××'´”ª :ÒNÃWµHl”OÓféNTUô‘}Hx˯‡Í »Ú¹mo¸áýï&' Dq§ž-M¥°p8w‚Òqɥά,\a¯M·mÁRné…m –·r6pAbsZXst£·‡*è}3X÷è"Æ áª&ÍÊ7ý#àIét"òx¸lbèxñr ¬EŽ”,R©OkY —{úù¬M:O¬ã¬Ø+›h´òQFË_)6±D‚/"@ yN>Ýö&ª{^O¤¯)Z©¸œXíÐjlj°°6 øœ¥Ó-¤ãð+›¨·ê ž“T.…¹ y¾Ü5SFÑJ&Ã5G؈F®eîÛø)€ëlÎx%Èä‰,nÚŽØ“ÅØÙµìÙ{Ap%õE´UÏã ¸uF±'*ƒdO–Hð•(®Ýÿ\nkÉŒkLUÜàFãij±+åûŒ ?Ý8kkkÑ×ׇœ•oòé9+%öômüD¸ÿÇîÌÅÙUÅZÅ‚x éç•M(mìˆGþtLŸÐ×e¹EÛdsМ»–ñóÊ-¶à/÷­¥¥·­ï@çýÝhºªe™¬•O’XJÅRnײG²j:¡(ÅKÎ5¢(±{lícA´ F‚¯Ä òl„‰5 €(¯³·|Ÿ±X¯gbtRª.&¬z4v^$¶Üö<,ÅÁÍÖgî¶¼˜½ d‘‹<Ñ ²Z’‰Ò>ŒÖ>¿ÎWxÙ„HŒû9Ùæ±3§ÃÎ[µ÷-±9”@M¬æ=c^_Í&q$ö‚"žR?‹âô"WΈ< gYMj[ÑT&êüx¿Lð9r>úh¡_òÒT[ÄÏ4vØ>”³ò!’Naä²éH^´X£-J mü=æŽiV«ŠG´ôÙÄí¦uÙFoÅ^öïä#üÌm+±îùE¡bµFSΊ‡Eì¥N?ñ781™F·Þø<ò‰Ñ@Ö±b%Œ¢ÏkÜ^G@«Q§:™VÈû¦Ÿcs¶OX ½Ovµ`áTÍÊWÁ+iëžÊqÙþ•MÂe¬è“ .cí=@{ŒÛ†MØÒ»éfÔÝt»íóÉ ¬ØøÉYÂ*öH¬¼ Aà%Šê„º ^¡=J já»ôÒK yø’å{ß‹ ó_HãÆf96moÊ ôÓ©\¡Ût ¨Š#eQgO{åÐÄc¶fRë²Ø¸£höA0¬I IY!‰['`-ìè o0áä:kU“ïìãFqö¢E¸k†ìרr"öü*.c4•ÂYËÂ9øPJê"슺M$úä8¹Ž5CC@6¡‹ Þ¤›“ã9¤©A rëwµ ¹Î¼]¾`‹¤5ªe!Â*ö*¢/`ñ{^ºŒw]{·gûJ(¼_‚FãÖë Þ·D.ÁfmX“ȉ½,Vb`˜¡]“@¢r£aV×µåë‘7€g]4I‡´&Tær×Ñ¢O„Ÿ±gJß‘UUYÏìŠ1'b¯P™& !4Ý*nXf7ñ iÅ~¯¥Ûë˜l®’ZùØunŽG„º¥)$ 1‰Æ®ºµw‰•ØSÈd2èÛÊÉcÊXqD–>z?:‚BöÒ:|YO”ÞM7kŸƒ"žÒýj–¯ œ¯[&èdx=ùwÙW –dÏ!éD¿šÊ6ˆ_‰‘ÉdPSE²Úf6E€WƒËDåF$Q¥»x¦2j±f5qC"’ÔÁQ$Ñ @ûÄúeç%ÄÝæ‘7L×-9ÜŠÄæÜ 6= ´d‹•a÷Œެ|:{a£Ø„ž*…r£.6ª«« Î7.œ|ºo×Ñî}‹ŸWŽåtüwWVôÅçé쫇~¿ÐÖöýL&ª’Icù˜5 sìc!\öhëRˆD€â{ª ðºg!/NÆ[…ÄMŸI&h ï… ¾ˆ@c˜ Þ>d«¨ºÎšRGŸS®&ÂÁÏ—+ú2¡„/c t"‘7±ÇË8kõ²–¥Sf×q“%¨´Y+=…¼‰=þ:žx(U·NÙwvrÝàäxNÞã¼¾„Íâ,yá Ž÷+ä@^Qèåí}A»ròêì•M,±§P³6(ø™¹<,¸ý Äb1 Ö×Fè"ÁXœfãdÝq•³–= ¢Û>ëzj:—¬è£iÜzw¿n™nÜ U¾·k×L;8{n ¤(b‹ž/ÎÉ+ܺsÒxV,H¯ã©l™‚ Ü*uJ×ÑŽ;çÇÍËúé¿ûðÄ ÚñVÅ>‚„Äçå–™úÍi$-ÞÉ*3øµ‡žÐþÈC’)iÙšk[¹Íè÷EÞc|Ù-a³D)^Ôg Ó»Õª,ƒUI3²Þ²2€ŽŽîr¶ô‹WD‚¯ÄHlN#1Hlæ¯o;8*ܶÝa ¬Ó[OÄž>¸à2Žè³ƒÉeQ"úèÎ>v½›áU·Êt"³§P~fvSžÁµ”Ͷ*=ª Á'›…–µþÑESe¢H¶=ém¨ ·±öaaV%x³Á6]}|{dY³ÊɬDt›ÈµSŽá:±Çüíåu¤Ç{påeÕxàÎGǧ5Ñ'î7ÄØr× Aùv [ÐåHìE§}·jb‘Ø#ëü}‘à+1nœ=€çó×›ô1ñ¶UG¤ûfg¥4œ IDATqH­ª{û#¡ƒtU‰qê…K÷ã0óhnçÌl@ôqIG§‚€û2ñtpßc¾.žì?—–[þ#2þ]—Š=/M -{yb^O~_ƒX$6"à¼1œ>Õº]Àq*ö¸Bz÷2^»ígd8Ù·d›Áúz÷ñ×nˆÄ^¨èWH wg¶›+¼ U€ŸÇP9Q›…SÍb-ãRÁ÷Îw¾Óÿ3ˆˆ@‘ ¼e¢!LAÌy' ZTgå”ÚÈJ›¨ÄX ž“YÝKºM„Ãu<}ª&ò8mü8Þé“ùV>7Ö=@³è+ßЃÆu^‰½°²«²2ý/®­b/-¨«â™Rb¨ˆ¼3¬Ð›zrDÿûDîOLª¨ðåøRÁ×ÙÙéËA#ò[ë°øã0Cðƒ½ÐÜŸëì·ø‘“Y«™žõ¹Atýªœ¥¸ÛXád†ÖËBÞD"ÑÇà&i k•qâk_KÅvœ|j&VTÛ‡LçdkßÙN\]¡Ü4¥b¨ŠÊªº=7»,º>*.™VرlåEìå‘ •ÛM°¢RþDD˜bLüFz'”IãøT®#[²Av¼Ó'›—-¢ú„ÚÚZ=:;½Xî¢vžj²ŠÑGPïzÝ{Á/7NAYi?"ئà%™‰Hì‘uù}u•"±gEcW*£€©'GÐØÔÄ]×å“ö’ ¾&ÁÉøÅ‘#GònU,Ô1#4h±·áî^}€££ÀüŹvÓæîEó2V¨­­Uî´û>|£¹£ÙºÑÖK–7¸É·èsóýߘPòí.Ýxx7íšI\‰A±€†Qì©Z-‹™•/²î©cºŽ”Ðóã:æû¾‘s•~ƒ›}˜£AP }'›P†F\ÆSdbÏNXLxÔÖÚ³çã»Û„ˆ½+/Ó~ŸçÎzàùCàÞú$zÖÇ ²ÌЦýÖã™Ø ]ç˾|Š“G}MMM%qLÖòVŠ˜-{}4±ÇrtÔ,ú1Ö?Ûé„y³‹.fÖˆps"úò޳ª¢}:ü¤ Œ¦R…‹# "¢2mõ^XAÃŒ]PŠ%ërúuÌS–V»÷-H uÙFÀf‚°ÔQ ÝQckDìܸã|#J´röq£`yQ’%l^ãIL"•äÍBîBJ‹½sg½C}a§~UF›Š+ "o5€·—o¢¤-‡ü0V^WÇ]óÆ^ézØpï/t±'ÜòÜ÷êV¬ônÙ`øÌ£··W¸Ž@:K®èã½à¯˜ap_Ì aöâä8Wß±)ödà‚(ô5÷On2šP*Ö>2îêÚ¹ròÉ÷ut{¼ÔÑ`ÔcsåG a$Riéâèºx™ìÆõ}á$3ó…ì½É˱ìC¬{@βGDß•—‡•}¼u*ÛËðË‚gE$ø"ÌT~{k.úD¬üÂehý¼|PKgŬ«‹G/HÅ¡3§ãÛë«-¨ÜˆÎ=ÄÑO¼Ó~ù2àè'ÞŽ‘cãhÚœFãQ¤¨"¿€OØeÂÌinE±G‹¼°Í"‡YìŠÑÚG,Säo‚J<+¶1¿¿Rƒgåsrko Ç׸õ:Oî[Á¬²tÜqH,3Ö¨;–Î ëÑÕ(ÛЉZòM$øYqïÓØò…÷ú4Šž w÷\:ooÍ ³ÞÞ^]¨k[ÿÁ1¬üÂe¦ý°t¶‚ ƽ³wÓÍÚ5ËlzòazEóKÀ3ùØi@y6 SU\5ï4íÃóŒ‡.—–û hÀyDî·QÐ:[B~#vÄJ DC€°+úxbï±3§#ùêK–ÇÚ¸£U.ˆû&z¾•:q’€Åæ6^N ñ®ƒÁFò ’Féö´[® ö>;é7Ež><òíù£È¿0ÄðÑ.Å`ÝË]±òy.ø6ß{þwó® ü~#‚Aýª –œÓ@‹Õcãø–-4oÓp ‹æë@Ùédi €/Rvï°%ú~5õíX>ö²¸Áö!¥˜>Úrá E*öxBžç¾h5€±ª¦¤-/š "—MoЯ£)Á†?‰%¢ûx¼Žé DèSüžŸìk)xŸ§‚eä³âŒÝWû-E͆ö›žèHbÞY„H´®0~&EÐÙ² ¢õ¼IÝÛÇâ‰=î18õL&cé6TwSîȽ½j‚oÛ‚¥r±4¼f!²ê©N ˆbßhQ%k‘?¬ðใ–:ôdSü¼r%ËJ:‘@ê€6K¯]lÑš¼b½oNK…ìˆ_á±f-azr¼0!´òm²¶ò‰Üu=}±®aÓ2¶÷°ÊMÀíƒadr’]Oö»ÞØžxT-š§eêÌYò"‹ Gª_•AWc] K·N@nå{àGh½åëžž'à¡à#bf^г÷>ýËEV­ˆÐ`°¾¥1¬ã¹q²K[÷ÖT§¯ç.·T‚âŒvƒ-؉*»bKÖ^)~/“ f6Öîe< ‚¡Ðn²­TæË¶ƒF׋öl^×µwë1{N¬Ë¥rßD±ãtß"j£ìYO‚ö˜a=o$)™p½Í¾-l ÚBd¢Ï*6Ó¥èã‰=S‡c˜X{YÔ ­"=ûØ»eðJ6gÚC63édV¬wË`ô¨ííBC$ÐÔŠëA!âÑ”ZbÚÍÉïs*¼w/F3B÷:¶÷ ³6Ç ù}yŠÔÕÕéj^úw©Fi«M¶D,ãîƒ|&¢O/ED­gôűò¹Îí¶¼Ù5 -öDØöZaêÁªÄ˜g2Ë ú3´[­þ•´oy}—IôMšH‰>Ÿ…àäby´ø›ÝžÆþ‹•/ȘĞB{•ŽJée¹{‡öù´œè«Yq$¡=ª«³õk.8ß°|àOÏz².p»,uÊãq ';Ûê6ûÚLªÇÊç9EDDäSr²ÆRô‘š¹"d6]Š>z]¦ žÄòbøX!ßzκãz"Ü-pÛW[MP‰DßñÀ{ÿï.WÇá‰à¹nŠ\=ýÄ(þrÐK‘Vô¢)Q /s‰ÕÌ‘¥Ø+Ë=®t'ÆŠ>GnœY±GÜ7{·lðT éb@å9³Ã/<§¯ð1ø9z%H1Õ,$ù¾ŽÅzßL“¢,ÇH¬°(陨+E!èXôIÄqÍÌD×2[‡^d=5Ô‰-ôo‘½ªdÒ01IÇd†­¦/MËë|a·Ã§ãyfá£E»¼P°>/ V¾’}Â+ÄKg‚b_,Äí„@ÇÔéËѧ’Ž_Tx½î¦Ûq{Ìñ½¢²²ÃÏi½Êsfë¢/¢ð‹#dçbËÉBj§VŸ™×ˆˆÐ“{†~FQ’˜¬X{&ü$ï“ +æp¸¶ôQX%]qZÒlj»´i¼ÓV¯^÷"±9žësz^Yí„r1GÖù%üÜ~g7¥‘xeȼÀS—N«X»|ã×ù¡ç‡õ°á‰=v½%åÓ¸‹½vWéÝt³)I‹ÛØbÝ«¬¬ÔÞ©qÀðsÏj¢oxØ+_€ ¥Ð+rT✠ËÄÖÌ‹á¦PÏ$-öTªÄb1ÝRúæ±å†¬úÅR´îÑx)úüÀ‹˜Uݬ#HH6WúäÎùužÔžùÜ^|{ýoÉxoã-ÜŽxó[øžÇðZä±øy>¬ðc—«,ne锉=H·"uuŽ}ðcÆÄÊHÍ|ò\-iA¦ú‚”¹×xíÎ!&{ÁÆ«D*uÓÂT[-"üì™L÷;{,¬Ø!›âû,¼ˆès`%³ƒjéËýPY:‘NY—|à|/§™ÍUø°dݶKQåâwF ?7¢/èñŒnMÒ– dÇb™¥Ó¢,„ŽŽá¶ñ9åxøØITLÉ>’¬à"®(K_@uu5†‡‡ V¾ÊÙçcxxXocòb³*È ˆ ЛÖÓí¨Á~mm­RqqYJcÖ#ìÅÊM ;¼V­²Üƒ}ºçí$þ°7`¦k¿©na7Ïdü¼r×Çw#öxa Vb/B ±òYŠ>«ÂìAá@õSìÉØ¶`©gï{ϲ±!|3gÎÄáÇMˇ¶!ëhØvnÏÛ'{~¡Äã¤-Dì544h Nã†nÐÖ±-¯ïBÅ”‰9v-6nLÇøƒ0BÕÔE§ÑGþ.&dÖºt"š¡!iÌ[˜Ä^1ÃTê° I²§8=ÈŽD_„—¸}&;s:ÜT´›…Ú ÙD WìQY§‹Q :u=œùÜ^ù}•eÕ,0¦‡n¨ô;°ÞÙŸüxÏG¢ã‘-+„x‹·Þ x"O¶§Ç¥¿»ѱíœW!èþ8Ì·¹pŒ<¾»û§ÊEßò—'V ³%üÆO2ãÜvµ×¶jñ~Œ¥ßù_ÆÏ#ϸNYLj‘—eòoOêëR¿Eû‰„¥+ªˆ•0 =7±{"‹©CÞY‹žl½Ý}XaeÝ‹Ä^°àŠ>Þ€Çæ ˆŽ1¢‘ÖŒˆð‘|=“¦Dalb2JòÜ,¹Iɘ¤-´ˆ+µ>·Âá±3§ãï¾$n "úfÛTqá”yòo*« ÖÅ3Ö5Œ g»y==¦ÉÙBõÑ<Ï°ŽŽ´´´øz\ÛØn“O<7eÈĘŸâÇïýG8gáTíÛtUƒPìuLÿ„?ßíC9— òB]“p-ú ÉdÖä–Çç”#Ù\e™lÆ.^'e¡S‹2BÑËymT2I©ìc^OiM͸>QP_Ž¥Œé>Ûv¼Á—h`MÖ±ìå{wFV¾Ïðâ™üð«/yÞ/ÐxSÇÛ-­ÖY_u¨ïI,—‰5>üêKÞˆ> -7Kg¶_¤‹z ÷#ðʰ“¬¥X½ßea@V¢Ï•Ï‹|ù´’ªâ»K'-ÂÂ$ʬÎ[Õm3 ß•†kÝó™VߢýŸuñdcÿŒP/FÒÞ •Ý·ü\ P,e_X´(4¼ø¨eVrKeìl`äJ^ôN’¾§6:vÖt›HôEø—ϤÓÉ@]TY”_`Å}|R‡Ï5ñI¾“•€ ƒÀ£‘õ'‰Íi$“þpþɰV™pòãXù˜*¢/Œ¢€9¦Ër---èèèлŽEê2Ã+ˆê0¦OÏzU“ay÷Ï“¶ƒ‰û™WLö¶Úû%öØÏ…JÝáÊ¥!hw&æ÷ÆZ÷XDk²Îj€]ðhD¨ ÏKç|qLœÛgRÓÄßcwŠ_Ûêí±lR¨LüÉ‚IÆ1»whÿ—O+ñG‹=ôø­*Ž}GŸC‰bÁXIϦí3*è´Øã‰>û¸|²Ø6/…¯ ƒì¬èó³L{ d™Jƒ€Uáõ Dù‰×Ì+^9Š=Ǥû^'X‰'"òDboÆåÚÿñyD۾ܠtîX øø 4]dïeE²‡ÒºÅ͸Ò+Ñ7ýÙ?à£c/+·gE/À´¡;rºxe°¾ž»•6áÂV@3` …êÙwâZEoK^#±ᔦgz±<û·—Ïd±¡Ò‡ø†b¯ºñK€ÊÙç€Vwò顱àòÆCDì‘ïÆ2Ðõ=ôUÌGíÈ3´Dt)"ú\&»óYÜž §Êãù"<°ðÉʨ|¶»Õ}ÒÌ ²cxýó‰eáõ¿¾F<.¹Ûʰ*¼.ƒ{<ˆØ€Ô &úÚçj¢oîX®³èÜ£.úèì¡ â 3­^`ww·£ô¿ùN0ÁÎÊšð¼”ËYH;«’eÊ„Àï9ŽÄžd–ºMXaáÇïgÒÑ$…`݆3™ vϘ‘KO¾¨œ}>†Ÿ{•³ÏGå9³5Ñ'ÀÏÉ%•ò :ÙûJ’µ8"’zeš¬Ï–Y÷è6?üqpÎ9è¾ðzDI÷k.7·ÊhFDž^iËfI¢iŸ›DçžîO2¤pëçh+¨¹\šj;qêïØ„ózz0èA"³–F™Õ]Ç®kï†~‡TÅǺ¤BDD„3È„a±ˆ½êÆ/éb€.ú¾˜ÿÈkê^5ù¢çúy@³¹ÏY÷Ⱥ®ï¡ïâkPûÔ=@UíSïz†0{êÐ \¼¤g}ÌQâ– &l"ÁA°Hí™åŽ]/{ñyšeüM³oj\·ò훪žÌV”=4VöÿÙ{ÿø8ŠûþÿuþAAî7ÔFÁ&ÁrT;4µ%€ºHNí´ ºÆAÚÄJH¾hHrŠ”$þAb··†ð ´rIJprJh?V@JÝB9YIƒjŠM þÑ4±ؾï{³7;;3;{ûãvïÞÏÇCÝíÎîÌÍííÎkÞïy¿'º‚ɤ™0®Äµf ¨3)Cè×K,‡5Ѳæ©kʦN¼y »Þ‹ÚÑjË‚C‚p‹=™•oþÒ@U˜Xø¼,{-s¬ˆŸ.Ö,kI €Ü:óvÉ¢‡¦ &À¼ö:¡f"âÊ)SiÞ5V¦Úò´åZI†Œ˜SAœ;Ú ×xhëõ)öZ[[Ë^3%®•¢(±D¹ðA[¼&Ëf]¸Zã•b€Œ FÎ]/H¢éŠrBs@ÝTŒöÝg[õxë ó?8ûòÄëï?nš&ùölÖå´ÞQ£}÷i×ð°­{°æ©ògAÜ׎*¿* îWa®ß šZ¡}UèKžÕT+ø>Œ¸ÚRSu&•eÊCT+7N©Ø ˆßè¡i!Hp‚ ˆƒ"ÑÇÊäX‚ƒ¨>_{xô]¿Ý_cÒq`ÝœåzMQ01Ö÷‰å¼Î“+ ®¿âÏ8ÑôØ0Z…:òbD7 7NEÅÄ’’˜ˆ°~Ö9&8@‚ žk<×¹Š&ÇHËE„Î-<è5:ÑÇ #A$¥^ô‰ü~Ö‹¢H¼ÏM˜ˆ£/¾€i3.P Ú’tAìŒûTs]%íÚ™«œ×yÖZÿxÑ%a üˆ=’ö¶pÖ>i{5ý¬š¹eÛ&7I¹&¿›‡¸­|>çºrI¸WšÑç¬õ{ƒƒƒŽ÷iA&úZoÙˆ¡;WÙ–<,B' -ßïµ~ÏQVaÙ3{DU`b¡Œ+LºŸ¼ƒ¼{OÁÀµXûpåfï[ä6Á|…j سË¢O…É`€`³ïÇÔâ,~ŸÕæ®KT†0¯Ér,.l íàá#ÞÖbÙàœ‹L$Ö€èSy‹tWº*V3LôI©› לѧs뀞_`‰>~[×ë{€¿RçlÜŸ³Ó²ÄÉØ^`¹r Re 5|µÈíYÀ$F wC˜~ËŽÜ9ßW5,-ƒéÃÑijýî}îó)\†Œêô!FƒBkäð(¿®¨¬|kkk$*YSe”Ra-‡®,`.ö³íõh­S )ûRaÙz×"@ëK»¥ÖÄ }k²vªšsœÉ#îkRzZ—+_ô‰ÇU±èÓ}Ž|yoÓJë-1tïfë5?a§{Œˆ>]¯ïAÏÛx–!Ì!ÁWk¬Í&^šÜ »mÌ·Øó‹éš½°EXØç« t®Àmõ}º5OÝXr‡,ŠFÓ‡¯±_¿Òº‹‡¾çtÃÚZ\‚Û±èÖ¤ñƒLÆ ×lRW&“AïEí®r}Yôuän;Ë yÎä‹‘™{±½½ëiËm§þ¬‰Ös455o¾¼çBÇöÑï?ä.¼.çpöûð—ÍÞêز5Y÷ˆ0 ãš|ìç"' êaH¨¢Ovœ¤\¥îDpt‘Ì[¯ïV^?ž¸*,ú¼Ü­u¢ÏKìÑuï†_@¾2ø2þ²íœJ7#\±µ(ò{¢Îõ€D‚kѶ?3·A TåbdÚn½0¸å6g`Ÿ¨FLìNŸ ÀÛpðZf ®¹¢É%ú ¯#WSÒ¿1ƒŽ‹Ì"®u>Û¯’Lì}êO­7“Z;{¿Žž¹×Ù¢O‡îÁi‹=À¼V?;DŸdP΃“=ÌÙkÀì·@é6ˆ¨zM¶´^¸ qŠ>VWµ~ù{_çí¯½R‹Â‡Ã¤c2Éu`¼î;–>¸Y²ðGjßW_åxÏ&í~ ´xP»YŠ®xì|ü±²zÄýUCQì n¹ J¯C}@É¥‡‰=ž³ 'ðÚé)Žm‹f a÷‹­öû0’ŸzEé2r|{ØùxAjçû)–»}õͲÃK»¾9¶«´‡?àÄzük›ÆæP×Fò©3ø÷2Hèqäš4M53§¿_ ÊA9.þ¦Édåª4èñºh¬&œûüO1ëC ©UÑ¡Ìkm¤Uì%•ØqYÛŠkÊÚnX‰¶VbppƒƒƒR«\[[ÚÚÚ‰œÅW&“ñ ¸!k{_ ¢¹vÆE"ú’ˆѧ*ÛqQ{èbOÉØ°kÍž”˜òR-ßû¸kPœ¤#Q{„uMúIÀ] ˜<#‰ `⬢ÂîAòŠÇy¥CŠeýGýåÔ ß‚‰µ°þ§´‹½ÂšvÌ (¬á6z¸qò.™2Ìri™S:ß‘osõ•óƒ?¼AüÌØò"³Ú`=^èñ¿°Eßè÷ò´òɬ{Ð{Q{à5|:A¦r¦eE dûªLéÁ”“Ç]Ifûz{1¹¾ÞU­Z§7–Í¢{éfa£5Âú’·èœÅïŒ3cËE&û=ÑÀ‘¨$tMID7 ¡— ‡è“MDÖ8#8ʬW[pyÑ•¥—‰>%LÌ»>†XÕ€oÁ'е ïÓ„Jì¥9pKvÚf€3;{åÅÝ.CoÁ×e=ÅÞØ°QÂx™eP0)·H¶Ÿ:YzýrùÑë+¬´¸Ž/3a¢kßk™)˜8Áy,¿~/ dBÍÏ~žÞ‹ÚÜLOLªwm›\ïÞfBëc[¥k"™èc¯e–½ª 2D1QkÖ="Zdדé$„]Ncéˬïw‰>Sx±¹ãðQó IDATZK˜¸>‘Äže¹tŠb-èû4àeÙK£èËNÛ¬ý¡è‚­Þ‰Øý’?0^vú—‹áÈ®Ò>«»IÊfÕ†††´ç¨V«ž‹ùK)Æ…[ÈXÞÊ¥BL€w!ႌ>÷<ššš 1Àèè(š9+s÷ \T Oý²Áy=ˆc{Û­à Zæ¹u¥öö»¯-çy»ÐÓÓƒïHÜeL¬{¹\iâFòç-¦ö:¾¢Ø«¤u * ]“DÒàÅxì:eãÕ’±;/îØ6&úTeT“~3é…‚¶`êÆ™&ÑW®ØcƒÞ8Ò5˜¢t3T ZebÏd&¹9ÖÍú<|e »–üŠ‘¸CHË& Ê-Ë„øÏ›[шüòÅÊèlŽÔ p‚ B/š¤û}<#ÄãüžÃ¤œW{kúžä'â…_ȤAôe¿½·ÿC•ˆ=κæ%ötT|ß‹¢GĤ¶8hlvXPu˜D=Û¼«;îÇò½Û¹y÷C{[D%ñaÇ¢pµß½ý79µæŽc}±<­KVÖ$Á¸,’ Kܮ͢ef©õ¥Ý$é.bïË !Î ‚°(g“tâJæž7–w¾—yWÈŽãñ^“ddÑñÆË=Ò¾Ê ¦‚€kå÷N]{]bpmÖZúØÏ.^XR:ô@‚/’,ú²Ó6ãç6âvÕ~±—b¯˜€2€KhÑ3™…«n*0~¬¶Ä£øÙuH’ÁCc.‡¼ 0Z[[=EŸ¸Ö,`<ü‰ˆ¥›xnG®ΙՖ™uvyW´.¡,Ÿ Z…ø0•‰=޵‘b ˆøPþö½’³‹b®žî}ÂqùƒãÀòÅX¿p»µaéftÌ[Œ–YuUœ½æ1ˆÞ)Š=%‡n¥UP–Þ¤ïúíÆÍ*'}k—¯\ƒDz_R”Š¤Š¾ÜŠFÌ ô¾§§Ç~}|XPÌg½çDɽL{I°î)Å`‰‘Æf–ã£gŠ¢O6{©IÜÃ{aΔE>€l«õ_t4–—=†=ìóëDŸøùL¬dåb:³êg¼xN?m÷{¼•ÑúÒn }àóÒó©ú²“fö‰ šÝ}kǼÅxéçâ¯pÁ°Ê ¹¿.‡ürëþʾƒÜÑî’¥o…uÿ­ü“`„™¾Æu.Ãg»VD±ÇŸO¶–°ÅÇÒŠrÒ°g»¯¬OÐØ4ɤFðU’$ ·0`boÙ²e€S§­í½îÄ‚)=Øs¢Ë¨" ?(1HJÛ +ïeÂK}:_wñÆ×Çê¼g“£ÞrÅ?+&›)Ó Wû1@ïwfñÑ&þóó¢Ï‹(Å^Ò0µì±"{u9´zœ›\sˆ0a„k¸ÉÞÕy³òÈêÇä·Æö‰K(ì Ó\ÇdúŽÚ÷\~žÝ6†ÜŽÇÝBÎ"(›t#$È,«@Ù“¦„™AÌå©O´aá?›¼Ž#g?yÄR9$i¹Qñ%ø\Û:äØÎÞ:tÈqœXŽ/ï§^V^<—¸]U®œ:ÅcT푽–½O"…S§0ÀéÌD{›˜=í?¤¨òä{²+¿­–Ä Cæâ(ö‰j_5ãÇ(=ùÔ+âoØtr üàx^p3õ¼«óŽ{ÇkÒ¢$»§3OÙŸŒZ·ž.ÓwTºÝñ]-„Cõs…sÑúÔý.ѧj#µØcûB}a¦òs.™Þe\ç‡/ÑÇîñj«F…/Á§4ü¾r/çXñ2ÑFüñis2lëÞgQ8uÊÞ>¡p _†Üww¢§§]]]‰û™ ,•¥a:Sær€Ææ@.œ¦T&~ø²ªv›H Š}óÖ‰¢›îfïõðû¦Ö…‰_±g³.vÔX6‹÷:×EÔb_Ñbº––ÝÛü¬÷‰Ùzuq½‘n‘ìݺ½0Dl `Ô"0©b- 2&z–K±„çnò,Ÿ?ˆö³ý·Ig8öñ®µ<;¿›ÓΚÕ‰="MˆÖ=ûÞöñNG9ñÞV  NA¤Û/NuƒRñ<ⱋfXÿ/|³ü™ÎG„8h÷JžfjÅXìqî³QÃÜ*Åï×8Z´AÂv£2kÚ]B¯pò-W¹sNþ/O:°`Šõ›W ¿8>ìÚSz¿TQŽ_ÿJ„(øTëÚ¢}ª5|„[Ðõô}–•ï½@]½c7{×äÅ#Q­øé¾öväŒã2±Ðøq»g2ÅmÂwBÔ$öˆj‚«2‹/¨T³üÕBGŸÜºqÍnëÞoZ¢¯©©É¶º 6–Édì¾ÊšÈö™X«…¤Zö:çGÄ{•Ín3J _8ù®ìüŒýžýHï×mÑW ¦8òmù>}%ª6-C’Ý)+ÎíY`–è{ë'À[V¹o|Iü‘‰TˆõÁêÝ×ÞŽ—†žÄr.§?Îß“ k?^‹‹èk•°ÄAT >å :?¾Ì‘ú‡ â&b¯Bé´(ò<ŠbOäÊÎÏD*úŽ{ÇF"Ñg@¨.@eרñnŸQºyªÖöYóWQ$Ö+L©ŒðÇÎ~'º—nÆ’g>‹ˆ;ǃ5UëÒIÈÉ®°°Ò­H‹=ÙÕÀåosn«”ÇjÒЉ:>9°ªLÚˆZì©úˆÄW ý6²(…mS÷:Þ¿ëòKâjNjÉL´‚MP_Ìd[UÚïR5@kk+†††lËšªŒŠÂšvÏÀ-aÖ—4Ê^ÞÕC6ì󴿦®ÞŠ% Ô’t²«¡ÌÃWË¢_‘ß,Ÿbýg¬¯âÅò^¬ÙïX¯Ÿø€lÁ}ýÔ±ÈÏ΢{ž5(_3avÏ[€¾Þ^L~|„ΆœƒÌjÆORz?å“JÙ“ bÏTÈU£€ƒ™òN,?ñ¿î‚é‡O’èƒ;_(oåáïmµ\ˆ‰°rщ>Ù ÖO}ì»ì¤YÈÚ¥®8þ <ÒûuO+ß#½_*¸E$¿Ê<|µ*úHðÕGÉàOVóâE~Co_•œÅeý£yèÈ•w™êïÐs^»ýþø8°hï+§Œb"m,›Å¼ú¿É0ÿ™´pã£Í2Á¡œð3Ña´ñ³fµãÀ8º¹òk:W–¯/îËñܼê÷pׯøóâ`@¶x]l0–ͳêИËa9Þú’0`,wN~Ž榒‘ö*ˆßß!+»Ü»h$dnRï“Ý ¼~óžçYñCiÿx ¯ó£eVð´|¿Jô©¾“úÒ6éS–¥tlx×"m;oHÛ´ðÓf×M--ôÛ’P7=™I“µV¾Gz¿Ž“˜J›dÔ{ÿÌ”ã(}%´‚ï¼óÎC'L"j>\3uVŠÿû‡íø§žºÊz¿~¶{)*kZ„auTºqF ëWþæµT+_œ5f¢Í܃> _}™KÕÈôé˜D³]1+š?8nYŸôßä¾+ß-™õ6yx‡!ú¦ß2‚#wÎ7.)²™_1b›dÆ—ÿîdße¹}I®\$$Ò^ÒMˆnÃâöZÂïºYvOËf•I²ÿ¢OU—i»RÏØp°ãËÌÍ›V˜è“¥Ø3ÁkÒœDŸ…§Kgœâd``5Qç’%Kb«géà¶¹Àæ×­÷¹uî2,r™êR BkÓÚ, Þ8‹I”°ÏÐ2‡ËSŒò–ç\ƒZfZаd!Š¡qcÙ¬^ì)Ø5ú2–6£½qÊfÔ—þö9ök¿³´A\“²ÛÆ’#öLðH(ξ¬6tVζ©{-«^‘Ì©“ò“T:Ò^‘Eƒ•m¯ ÊøžeX‰XÜ'ýn…5íö}‚w{¯gÓºª–Jнº©Àø1ï21¡<]]]Ž ™IraǶþÕ*µ+§*0“2`“&®‰ÅO„D­á«9†Þµ­ÿ 1?2nP˜–^Ù‹Ü9÷ ÛMÃàÆdQ=àݯLì1¡gBÐ6þ¾oW}‚Ìñ×N¢~é$ Y…}Õ¥-MMMÒíªHs¦³Ùº›{Ö08OÇ> ›+»f¿s? †$–“¿f³OÈëÙ¿Ï,¸mÑ çyø|_|(x]Ô¾Z†¿†X"qxäøeö뮧Mi¥j…D@Q§ðªy‘aXöt¢/F±gJ×ë{<óòu½¾'¦Ö”O­‹>|5Æñ×Nâø¯€ã¯ÏN}p°4ÊÜ*,RObÒõì¶1,ª;•×^!Ý¿éï€r?ìܺÑv=ìW¸Ç´ß] cÚS›¶.U}l¿Ø¯/ =i/ü_Q´Š¥­ÍÝÆÁÁAí~Àí"j» ý¢;×έQÖ$å~þX?¨ÄÛW®PQÝÔ§ÔùÞËM$.Dwc[Øù@LîüÆ›Öÿ3ÏÖ—Õ‚n’€{?îÜ7÷:¥è{ã—ÇP™Îˆ ˜F!SxÕ´È bÝ3{ìê¹ü"AÂÎDìèDŸ—Ø ;oËg¤y?Ô²è Uð544(%߇q~¿ç*ç?ÜðÀOpϵGvþ°YöùUæÏw –ZC·Î,jîÚøoöëú³&:Ü9yø( &ÂÕ)ÌAmmmžßq&“AïÜ6Ï(yÃÕõ-ûü* Þ³I}ì>`«&&RÖ¶H 9¶_øwYU’bq šWô2]°FþÊBl¢oá·4ù´þÙ,jlÇE¥è¯b_ªxãMwŸŠ}Y.ÙUÞeÊ)&Kz?T|u&î~ׇ0Ðù¨cÿ‚º’Ø›rÒ{“…¨u¢è{ã—¥™û4¿ ô8¯ñŒºØ˜ËE—zB,(ÒzÓ {̺æGtÅž± «BʱâEq º×ªºŸ‡ºèêlyòüã#¬ƒ/H–[%Á÷?/tèCè544Øûó‚`¹ŠØùxÇêâËðû¢{i†Y¥˜¦»ÕšÕ`{’f9ø6e2Ö(\´µµµaåµW`ppƒƒƒ¶¥‰#m7¬Ä²Ï¯B¡p›òÆÉdÐÓÇy]]v=‚Œí×ö«&Êå‘maÛ††JkNUõ÷G±{ßùô +íϺ¯½ÝqƒÎd2îÏZìÓ¶VÚÿïÙd¿¿m³UÇÝmXyc›ï`;¢EŠÁ •eªóéò,Š"GÉ1¤& +HRç³ýh—lWõ%OXV¾éWÊ·'ÅZʳ¤×-ðØ6^è%±o,=8Ù7×3÷:ÀõoÄ™¿Éå¢ú}ÕQ>â9°‹D|ÉÜI…m$ú8FŠ‹áù5·/ÿ¢ôúM9‰e¯Ú„_µ[·ˆŸ(äD‘Tè‰çfBN{ûâ{i²ò Þ³ ~¼§4X'BBæ*26 <¶Õ¹_pQ8w^œ©ÐE|3®‡yÇ«?{Dè$9"®_Tb(ßý& L9yBgö­=Òûuûu¡poûMç ‘R\T动ØÄ×Ú¬C èƒ\쉼ü ¹è3È…G¢ÏMv›wZÝþ5B ;UZœÐ-|ºýa ?QÐÉ\I£{pϵÛ¢½N…è?ü/$ÇÜ/FkÂd⫱ÙñV¹~M(£ 2² ƒ[nón)Lú~宑‹š;ºõ‚SÇCß•Z¦L‚ôÎmsXTT0>8 /HŽ>RöÔU2û\i Ÿ×Ú½Ž¾,ú$ÛU}ÉÔº§{iF&ö Kô]Ùù[ôe2¬u{ÿOñÞú°ÿH·D:¨¸è[—Ó»’ ¢ˆÆµ.ðb¯pÚ¹/3Áù^}˜AE kŸ¼¥Âkû˜èc¯ËæªòÐ2”û9ï§üÁq[ôIY—s[ó³Ö]ý}~|hò=+oŠ»q‰…Ïï~¿È,{²2$úÜœ<Lšè´Æ »â:+Óh…aÐûcëᵊ^èä;²8þ܉R—ÝZ²Vž~Òé¦%³dŠŸ­cí« ‹KVípå%!sò”õÉî¶÷ø¸ÛºÁ¿WEfÄH\”G¯6ñ\tbØÑÃBý2Ë»™µ¯*`ÎÆ Ú‹õðýÁŸÇË:Yû]¿W©õwA¹s2DwNLôñÜûû·âæg¾Nb¯0o•²¸qõ²:kVôn±Ç¶‰¢oü˜%º ÅoY¤NVaÏÌì¶1¬)Š-/òÇí¸a»…¶Ì¬³EŸŠÜ†òǬ&\ªTZø¢ð3‚a“t'²ä wØA[’{0ûDÞSô‰ðâæ±Ýžå7mÄîKïebOµæŒ{_ Ѳ¢ØÛ´]oýk_U@G_ÖZÿUü̽µ£Sp5dçÙ´}ÐÑeÀ/1‰è«9+ŸnížZcÃeYù1(~ˆjdà«·áooŠ[*#Jx˜ØÛ?¥³Oäíצ¸Ä€WÎ8ïPˆ¾•7¶yZ¼TðâfÓöAà•]e'*¤boŠþaÅ,›âûÎgK6.K'{çÖ—ÕtÇ „¹š&–çÝ™u/ˆØËmpºê\9ÄÅæk„YÐõ‹ÖùtŒÒsx¥ÏÀÒÍè(öCоÔQ+b¯¯·×ÓÊ××Û‹É“ÔÕ¿NÎ H ѧú­É"»JÛºœ/Ñ×]¼G˜ÔWsL†ÄcÃ@k«cÍVlÖ¾S'­õ‡L€F!>Sˆ©èÛ![Ðn@5‹¾TZøtØÓ3霩¨'PÏýVš3ÖLV÷ Ö{6àô¢_›.l–ÐkQEÄ*Þd[úrrXŽÔAK6Ûûí47¶Y©ØgUjqV-«k©½¼íVkýÞà=› jžú:·«žã½jüÞØâpåc¦:ö8ÆðcÃhãÄÞà=›€Æf¨|ôoÌ`s{; û­ˆ¼¥“ï¾>Gß+òïù $#dZ[[=…Š(Pú®ß޾€bϵÍÏbs!ņעu>Ý žE5]ün³âq‡kk9}¹|ïãèT lª]ìíï2^ÇgSgýòù!ð¥ETœøÊnCN!´˜…X¹¢/¿|1Ö/ÜnÝOV¸ë¬ùô!¢ØcHà¨ðùºnªÜ’Ç[$™{§O‹£Ø?¢Õ5¢cÊ‚§dÖ÷ëåã]}ûÚX4˜ˆ¾–913ÁKô¥5}Ej-|ªÔ qk‘‘†€-ø›Ìø1{&+T&Ûªè&(¾—‰ ^ä´µµioÌ|Ä-±Œ¼.KðI™46×ײ›!ÿ9ƒFlvÕ+¾÷ê9ýýÙñÄÏ.ºhêD]9®œ~DŸX¤e–\ eW»’gfµÎè1üô¥•ØK[ЛÎGµ['&Õk­|}½½˜\o‰½×y,ű‰Èˆ1‡øRÀÄ—Lˆù}lpœ;Ú @þœåSˆT•ð›¿È?jg‘nJbOµnÎ@ôùŠÐÉ»uŠ¢‰=^€ú}&ã/Xª 幊P—*Ïë•^Ó—FѺ…O¶¶.l¡¸¬3d®žQ“:±÷¿Çl«”Mœþâ²Ô†b/a¬)ósÞÈÓ%˜¬Ð$Ÿê³ÉúÂO?ˆëTZ5kMør²5)2±XÛxÑÇßÔ«%—˜ÿwñ]ÊTƒ=/ËžNôµÌqÃI ¢è{÷ÿŽ@Vl‹>LìÀÛ‹éjÞRB¸áʉøâa¿årEŸkP¬/:‘™jÎ9×J¹ }^b¡é·²Ò1ÈDŸLì1xÑg0I§K;ÅöÉD ÔëI°èÉD^aM»£L¼§ $d‹>M}%B]a¥ÀR‰8™À‹kMŸ’!-´Ý°##ÀÖb”ÎPsÈ™ÀGË[¢Ï§Ø3*ËÃä&홇Ïg›¢ÀáV©™ý“µ±P(Ø7\Ö²Eý¬L>g¹}aß”ç•ê~8rì7ôü>uÔKQìUK4.À)ÜtkòLv¦nœ²>Ï]Ä3òÌ%Ž2±²ñQ옷ý¥¾ùÐGñ!@ §‡¹vê¨vuu±Ø1o±KlÖå_¾X*¾ØýU5)S®èSY@†îÝ 46û®/Õðùõø n?Ñ018áºø¼‰.6@˜Éá•ùð*@ËÌ:OáE¢Ï¢,Á'³â©’ž«\/ùcLЕUí‹#_š‰]ìɈÁ²—vÆóy÷Fö`àV)]Ô=ý£Î÷¼h0MœÊìLù}À[§€Éåådb¯Z©ÔÀ­"BÎ^ýÒÕÕʼn>u?ç$j“ì¶1äv<î L|îK¼ ó+ú\â’Õ÷®bÛ±a.ö²»¾ªFµvÎa (›Ú•¼ÜJ&}è•‚¥ƒˆZô)Ï›"ÑW–àcN&켎+/‘iÒÆ0êÕ¹’zµ3 Þ³ Þz ƒ[*ԀƹKg•$²×ü#Gœa¿¯ž,ü´õ:@’ظ1íSëœêX™è«%±W)’.öLØ1o1¦8tååÒý üAðè,p¼ø r—‰¾õ ·ÝFKØõÙ‹(õ@(S\EnÝ Iô•#®”ç2Ú¢ªW{ÞLF¹Æ =¯”,á{Ô¢OGZD_j’y‰Ì(E•Êb)Û®²t&…Ö—vã–Ïwþ£`5ŠS|¬+îYÈ õÉ|çƒÒúÔý¥71$z³öµ·cN<+ºÎ­~qܹí Îk&I7iÕLf§EªAìýË”wbù‰ÿÕúR®wRÝ6æJ=’Æk3nìuÉK7—6®ËY–½"M¾Óf\8zô¨3shhÈøÞË‹¾Ò}M".‹õñŒ>÷¼«>qpäŒU`L$¹¹bM_(Ïx™è ˜ˆb ƒÌú~ùº¾õz±g¹3»m 9ÃÜ¢…DŸš qVÖÐÐ`ÿ¦±ÅùGDBbÏñ}EðÝIü@{Ýóâuã=·Þ Ò²´9¹b°\â_¥’z¡ÄÞŽy‹ñ‡^b¯†`¿ñú¬– GQ“?0î¾×p–µi3.ÀÑ_ÀÑ_À´iÓÊ®Gzï–ˆ’S§KóƒôÙ"Š=Õ¶(bá e[GÝTçŸO …‚ýÇ(×Ó¨°¦Ýþ³Ï¥ˆÎ)Ö©Ú&#»mLù\z×"ÇŸ\ì<:¢ŠÊÍ·!‰²ðÉ\u$Ñâe‚ßÏ™d2ëû12dþX²Ócv& Ä–ô4dB›Ys}~ïY5Ûm @¡PÀcuÓy`ÔLh IDAT¡žÖrã4£ÖÅQ⥡'Ñ­ù­äV4" +‘w-X9C§±mmm8úâ ö¦£/¾€i3.°ƒ_ù±ò–è똷ؙko](ZÿÈiÝ;uÚ²øÉ¬|a# ›°ÓÁGÌô‹<}•"HDn×¹4©‚ŒstBO¿½µøŸŸÝ6†üqèžð¹ ÀMP8þï˜U.;é80Ž÷ /ìÕÞ;+A Áçw _”Ä!ÊÒ.öˆÊÉâî”±¯½;fgÑw³·ûi¹ë÷رâ:¾#ßv¾OªØ“¹tíT¨u¨fí%‰=¢ÈŽy‹±ü•_àåX"ïó£ïúí±´-Lgê“x/‘ÒØŒã#ñYòŒ`Q»Ç‹~÷uúh¸:´"õ±­ê},Onk«™ÅN&P¯ž.]Zá[8ëÚé ;q“ßa¯mT =iYÉ$EË,uôαlãù<–9bäÞ™ßL›}Äêsæ¥$Ž-8DæPº$á>‘š5|^D½†¹¢¦]ô=uU;ʽoýlç,U~Îkö uÖѾ*½¢I×bðð}Ãþ5û%ö½uôeËŠj—ïZ:äûx'ºZè\Ke¹÷¼2Ó~[ýwd”ûû€nnÿšgûׯ’—c,ùÑILûØ«8úͳ»/jµ÷MæîÌK‹ÿóÆËž1dkq6Ïr»‰²5?8Tþ©ÚÄžiêóãÜçW³*JOOðöâF;Jiˬ:,OÀ Æº,&¿3æ‚„ÁÁAÛ¥€Ãº„·f}x€)Í@ßCXØQ²òMœŒ~ÿ!Ûµ16럢‰1~ÜHô5ær¡{ Ð&¯ ·F*D_D²T$B¼’¾‹Ïe“TX"¼èË­hÄŽ{Ç¥ëêF¦O·áñZÓÇO O»ÒÙþé•‹>Ö†$L4JË ³ª‰)Ò.Õ$ú"Nø4 €Ú‚Ç‹=&ôt¢Î¤ Cœe›~¥s¿Ø¦öÛ¢}ˆÚ ¿Œ£ý¶.?óË€ŽÎNG¹ï|£===ØøÂe8²÷q@tÕò »m ÷Þ¨-cÙ¬%Jç€5p÷Cµ‰=Ÿ„Ú«Lµ!¢a©)–}Üy}îün=EÑ'MPå°û‰WîN¯¼vGµ×îñA[Â"»X4Ãzýì”f,„%ôl*©³®¾dåcpâIšš¨H`KW˜KYb¶ºéÄž®_Ä}^}¨rát•ñè˨­’2K/úƲY‡Ø³Ë(DŸ,ê·ˆÑWiÊNËàwXéTbR•>A—VÁ/b’÷j¶&²¦l›(öL¬ÌX6‹n>žXßq¹s¾ý^{¬M2!Ê,}@ø"»Àå_údÏî7ß^{í”oXƒöͳêÐè!Jºç怹ÀæoYºß0®£ZÅOµŠ:^QGùëôxÑ ™ –:öÝx†T“Y¯žŽÖÖVÛ’1::j[õx±W޵-»m ¹½—"v?Çî[±h†UߨóÏ+ÛÄ`×Agƒt™Yö[kâTƒôZG%öØö iXÙB¡¬ÍºÓ2t å­×-î2ÅsŒe³Ê5„…B;æ-lÝó‚ .õ(!ºèI"5.•J¼.žƒ_N›ˆòèߘ,õ ¤Ù=5 ˜Ø“YìT7~`‚˜ Ìý¬QãÅž)³OX3Ñû§¨£§ÚÖ=îü·Þ~;^8pÀUöêOvâ￑ÂñGíô*«ž¬/‡÷lÉ{ßUV¿oþV}Wåà5§[ bà¬{Ë–¡pʹ¦´óãËÐûàN,˜Òƒ='j#!?ae2»¯ƒ}A‘­°»_lÅç—„S_d@Ñ פ¡ÎMSWœàÎɯ¯®?‹KôÄ­Ó4ê§AéúǯhaM»Þu,o•ѴˤNÕoAL#ÂýþCžçd07O¯@.Õ,úR#ø‚¨^dV=Ý@HtÝðr™Â{EQÄÃÄžøÚ” fÍ’Š>xë-³ :Ùmcؼ«ÛeÕS‹=`ÑùCØý³V{{ßU9t|+«|$öÂÂt€¨ºGñ¢OgÑÓÝßdb¯{^ε®Ûš\3«/r[Œ¸ÚRSuD- J“À»óóv¿îMüLµj0%Š=Y›ØÀ-ˆØÛ?¥Å¶ìuþNÉ­§ásæs óQÛ­“ÒÉàEßk“ëñÖ©Bi@qìL¨°­{оd½c\öþõ¢ó­ò»Öj}F‰•“Ä‘™h]‹Ô' rÅߨØ^`yDI£ £¹ž½’3—ëúe–Q®Øcôuä°yo€·xòÓ®Z!»m kÞÖ„xÒ©?k¢#@‡Ô'ìuIÍ™¬úœ)‹* X“¡ÇÜ™’RVðwÞyè¢ÆEÉáÇ+Rçƒ>[}•æµ?X„®¯ý{ß營ßÓâ²Öù6·Îì¼ìÁœÛÎ¢Þ &ÿrëâ?ƒÍZWqeß(ú0ð`Ëtý€_šÄzœoëÍ|©n!÷?»÷Jbç¡ï9¾[wYÿ—;Ó!ðTÁX© Šß‹×"÷±lûsXîø,YÀq~+à@Ž?füˆ+—ÙŽþ7€†1à×ãÒíÌš…/m¸ ð“×o0Žüq,tFüLùãh™Õˆ<—bÑù¥ýÇÆë®nÄgm¸ïáQ»ÌTMl{µlâ„·ò‰°´ „9&`Ų"&b`Ï›œ½F:@=Š%¡çÄ¥´€ÄU¤h±ä€“µ/£ß(”5|å`"útÏ̤áéÒyøðá8Ú@gggìuÀe—][—\rI¬Ÿ‘ ´ˆù4n6QP×,¯ÝäO¶ÞOÆ€·&œ‰k®hr‰>Ài=3IáKì‰îE2lp`ùÞÇÑÂS&ún_}3¦}ìU´Ì²R%,y ‹ —1¿§u+Ä -¡!Ë—¨B°&®Dña¯›ãEßuW[³×l’4Mb 5|DJikk“ng¡­Uûù2€ú&Äߘ½ê’µK¶/‘ÈnæcùØE Ö= $öx&Ÿ~oMpº6ŠkÐdAWdAH2w¸·…%ö¼Ö ðy˦ß2"}G¿y¶Ýî~ØYÚïú<µÛ/™{¦)'O“&•Ž×óÑLuía‰ÁÊ-÷,™,ÊI¼ÎÿLDŸŸ\ý7™/ ôÊýÈ]Vùã¢r¯SîMý*wE¿‚Á´¼Æ=’õUaMéÞZ‰gc­ ŠZµ%OÇ5Wˆ.JÀ +m“M<'|DêЉ¹¶¶6O±ÕÖÖ¦Ì ÃÈd2žeøºtmJ,Q¹p†€n¡6Ceåëúù?—]o\bјËaǼÅh¹~»]¹3¡Ïö£]²ÍJê¸ñOJV>‚`˜ˆ>·Äj‚Oä X¢O·£#.뇪޴¬«Jªdܪ>¹.q®\&"™ô”b®¨¤íZøi?'nÖµ«eVã÷fª’ ÈÄž¬ÌóÏ¥ãÙŠàÛöÀýöë×ú¸8ˆøil®t+BAv¼è”ZÛØ6–[ îºë.ûuWW—ôá««‹Ä^u·Øc,ßû80o1vÜk½ïۆΧSb!&ª>Ȉj­!о TJì‰mˆBô)ÏYn^<¸ï¯F÷[õñß«øÝä÷»ç-ŸgïßQ[ ‹°~OLXf·aó¬`þ–&bÑÔÔ„ÑÑ䋾À‚oÛ÷;Džø>lŒ’š›–Óq饗¢ëÁÿô|ü½xâ‰'‡°Ü%ö³Ÿ9ÞŸþù¸ùæ›Û …‚ñl/2M Äžn¡6CåJÑó[„ -J÷yD}>qPÛwývg\»ÄC4‹®qÓ¯”ÇùãØ<ò§è“”¹ïáQO+ßöµ]:kÍžÌÝ•¨MjQÔ™@®Înøuw ×3TgÉ’±®[6áÙ)ÍvØ{Ž×bŸðk>ÄþàQõª;öÝý¹f¿ø0nq% ß?¥¥ìkáxqqóRÅ$¨ŽÖ—v»ÖñMœà^Ç'®ßàZs&Má!öd¢ËÐE(öL8òˆ[ôéf“wÿ¬Õ×:>^ìußÐêÚOƒZ‚p¬^ëó¦Ô¾>‚ˆƒ$¹ôŠé,Z_Ú @¾¶_„·ì±ãÇv…Û¾ fLà /Å3¦Ù¯ÓF`Á·âÚOÛ.¼kg”ð¢oÝ[¥ÁêÚÉ-¡Š½'žx—^ú^ÛÊ”„Nñ×ÚÚŠ[n<ØêØžæ/ÀvnÙäY~ëæÍ¸êª«ì÷çÏš…Ÿ8€ógͲ·©¼«êºèİ%šŒ[ìYìŸâœ“\?»<Ñ’ßà¬â›Q+ßž~¡óyË̺ÐÅÞèè(ššJëÞ™UOeÝcÇ$@‚O'æâ´´E‰Ì­“‘6±'Ò2ÇÌ*kosëÌca¯s,W51"§§øâƒ©,»u%þæoþëë‰qþùç»êoˆ™ W—l²±¢Ü“¹òŸÁFèeß(úpl/°\ü>×fA¿.‡°d‹˜—ÊÔÒÇcšÙï"m‡Ø„µ0~xût½^z€·ìx\{ŽJÃÜË6 Û£èK¿ð®³ª\m^îµ&q]“Z×ö2ñJ‘&ïÙ$u¯ B*‚§1F4‹ÍN´DcüX`‹_Ú¬}®å‚{i\¿”)øÊMÃPméºü/\ziºE_oæâ{Ù /ú>÷¹Ïᮻ=À9&®ïLªÙD“|€±0æ È"Më; ¼D³L±×€^¨ˆÅk6ÞDì-[¶ÌÚpÚ æ³óÁ^ô0Ñ—@7N*×N?}i¶ÖÛù0³2$üˆ(¡k2y”ëΙÉd°¯ÝÊ>ÊD ŸsEÎÝ%‹˜Äõ³sX³7k[ùDí݃õ³}NœêÄC&ú’6ÑW)D·N™Ð;óŒ߂ƹíû£s†¾A %ª5|¢•¯çã¥×i}üÜdáy¬Ìóë}ÖkÒÎáƒ'¤ïù›WW—+CuÉömÎßWìUߨú°ãÀ8º¹czÿå÷ÜÿøIìŸ:¯tìÂí@Hß=ŸˆX´òf¢pŠ)ËÓÝï¾ñ5ôi>‡èò1ý£Öÿ–9À‚â’S§ Kì9´NJă}ŒûRÜA‘‰pÑɲi€M„I%®É¸ž­µ›”¥‹t²U&”Æù²2ѧÚç Ÿi†héanºµ|Lì¥ÁàÒÉÄ}~ Š,J§Iʆ 07N^¦Qô‰b/¶°ëGæyÓzÙ¢øÜŠF Í5³œ‰7ýáƒ'Ût3\vŸ¬(`è^ÑI¶ß¿ª.žîÖbWî3ØU»+(ûFчc»ê°œ?æ_Åø–|ð‘0e •+ú§µßÆ÷Ýôß?„Ÿ˜ »ö¸Äz}ñÛ,ë^çÇ—Ùb `ÙÇ;±ó»9ôôô «« ÐqïhLa¢:æ-FK1 ­(æø¾ì^Z¼ÎC úX³}¢ e ¿IôaP©k2Šgk 1IÀå)ãÃÂ7§¿ß~ÍDKœëÓB l¡Ø#!¼èÓ•I e >^T™ZøÄãÊ…ub€–¨DŸ%æŽácEQ—VÑ·hÆŽ CÅTfÃOàós§`hèp(ç#ùe¹4Ïœb[ÝZ%ûù™Xû!½6«OÚšT¼’«GàÆÉÖ™ˆ>/tÂ$ˆ*»XbPî‚bÔֻìºL‰j°b_Ã+·¯íIryWyÖ®•&Axdl‚ˆ º&“ƒ#ˆJø -FõÞz‡U¯èú%iSÔM Å4­ð‚ŽrI“Èãñ-øø¼{ì}”lj˜ˆ¹8,}€> KRižô?k½V… ®fØç•¹Ù¸fbU¢©ÑDÎDͺE¸fÏTôù% 7CÖŽzÎ@ú“_waÁ¤ô>¸Ó¶ò] ¤è`Ö½(ˆëºàÅ*XEx ˆi´U+ÏÙdå#€®Éd188è°rù Ú²¯½ÝaåR”ãÓk"6”¹ ‰À¤Uè1ʲð•+ÖÂÔb*ââŠÊD{xƆã?>‰æ³&c(KÀT’0f\=OÁݘù_ÊKüM7Ö…Ò-fA[BÆKô±Ô Œ0¡|ºˆ¾Ž6÷e±|¿õ]²'p¥y'„uÍ“ö)‘^蚬Ín×FŸc––ÁˆùK¥AR\1q’;5ƒHyù€‰d"4&”{`CCƒýÇÞ‹ûeeÅr~êQÕÇoëе+,žxâ‰tˆ½"ÇuõgqZ¿Â‹‡‡j.MbÑØâü‹ &úì÷Åu{¢Ø‹¾NözùþÒ:AfÁÛ¹s'vîÜé8–·îѬ¾7º>R ¬½öDèšL0ÍñN8Ï_jý1{}Yædâmâ$õûº©û«P(ø‹˜ˆÌ„(Öð™¸Mu­dÇšžGVž½.Gì]zé¥ök&êømü¾K/½4UÂ/TtFj}ùu×bd™¥EǬ$² 1¼°“EoÝ!¬}#¼ñë:'Kk§ˆ°¡k2˜¬—“•qçÈͰžç%t7]·×ב“о¾ƒI`/7NÙ9fé‹@ì•n-‰½T(ñºHëæÊ§~DŸ(àø÷U%ìRæÒ™6jQì1DÑwäÛñ‹¾–9%ËŸ¹{éf;ˆ‰ÎrG–½à˜XKšššÈŽˆ º&ãG…a&TTBÁHÔ«êØôÀ÷”LjâÎÈêwõtç{¶ÄB Ú"L!ŽËBƒ°K5¡ >™ÕOYQ BVWõˆV»jyÃokBýÅS€˜²0„Eä¢)D7N‰LôñÏj¯4 @xQ:¥´ÎÄÊ"Õ&öÄÏYMŸ ˆäcâF)–‘YVÙ˜@—UW—lŸWWçMÔÑ—õ¶î‰bgü˜^<…$öjy²Ù”Z²Ú‡*ø·ÀcÛaZeÖ:•¯Ü:U®š2WÏ4°{ü=øùP#î¼³Ò-I {ùbBu;O^•ÁÖôùÉK%K$AxvÛòÆqäÎùŽí¼ðéäôÕ"ˆv(,™q Z–ÏÈ« AÄ]“„ qí=X,°Øc¨D_ŒW©„bð9FŒq ªÐ ]QÔ¸…_Øid¢/M"'·¢ó¨p#Ø7 ?Ö ‹=&ò€’ÐcÛÖsV±´Ã>GvÛ˜+%†,EÆæ]Ý䢎mcÂÏNîLèÕ:QÇB̳×aÒÚÚZöš©Zšu%⃮ÉèiÌå\kêâì» umÝ6†•msì÷ûÚÛûÄžŸÔ ¢èKúòšJ¬áS‰=¶ÏÇ82ÊçÙ§D"øª ÊüW÷Cö òà-´xÑ~·µ ,`G$Ö<&üDWÈj€}>©·øùvÌ[ŒFƒ›1~Uæv¦6¶?ê¡Î¢B–¢Ð5™.F¦OÇü#G\Ûun~è¿©$ö …F¦—,u&boÍþ,0G[Ä }Í—ÒrØPX,ªs×ÑkVšˆº·^Uøò1ŒO>Ï*ÚÏ·‹?÷Þˆ¾ë·’v¯98ŽÙÇöz7úÇO¢Sr|ÇqtËúãúí€ãï¾ÜûÜÙð‘­˜‰æ²Ÿ AgIÓ¹w&x!RÒÑ´çŽqœµÞe«Mô© Õlt·' voüõ$K”z¤¨­?ýª²ý¼Õ4·¢±´,cïãX®:῎g™åÅ•ÆvÕa¹nÜ´â‡Fç.—±l7Ý9ßáÕTéq\ ´ &ïÃxºúdu©ê÷ÓfÕãß3ÄÔ ª” $‹0±Ç'Ø=SçE(yíbvãd‚­Ü‡_-ˆ>?…í#Ñ''¬¾ v^S7:r›#¢†®IB‡8®ˆ/öZŸºß~[ZgÖ¿zøTeƒÄI¯õ¿û˜ù nÙ¨ÝÍ„4à±?$ã@àÇmÙmcXsp¼bqÈ¥Ó™`S‰8w ÄocKå’˜WHìI÷­ÖìvÏ[`o›Ìý"»$ÇT#~ _†DŸ“0û²³Ì Ù÷`²vJ6بõj»&Ui ’Bj‚ˆk­lWÑÕŠàOìeúŽJ¶rÛ"\J ×äx>º–3±Çª„ÜŠF䟲â4TBô‘à«1¬ ÿ¬×R&°B{e-¼¶óß´¾´Û¸=å.ò>xŸŸ;CC‡ýÂç¡û×÷-@@Gg§ãØï|£===Ž„àµ€ß¾fåiÞM%ûÒï;©k¢z k’ðƒÉº@¥Ø«B±§V,{*øà|q‹>­à;|ø0âjKÅê€K.¹$ö:«žÄOÙ3‡cÃòíYö†}øãË>Ò['É!·)©èP~*Ô²•Ïës'!8 s"i¤õš”YùÒjYK|ÞWž–=Nôûð;Q_\vüµS¨¿Áx³’9€Å±›©x•,Ó1N£²ØÏ'[p·Ì¬‹]ôißyç‡NÁò%‡[ F—,Y[bÝ„OD!õØÖâvIê…o`mmmÒí,™ªj? Þ³ÉnÊ-F|p²ó‰ÉZ½Ú¡ãº‹{€põ'Ý¿±ŽÎN|'—³­|µ°ŽOD—#«©©‰‚-ø }YnìJ„Í&jƒj»&Ià…‰@1vã”XúöO¯Dù}:²X?;~Ñ'ûl³ ƒ‡vJ\_o~<»n>R¦[l fŸÐ ·Î÷»ÏÝÑ—EßgôuFI²¨¸EŸ§KgœBh`` "b(•ÕLL½Pæš=ºµ mmmžb«í†•žk 2™Œý0U‰:¨Û‘UÜx^ÎÔkÛZK”ë:ËŽågꓼ¾EEÐ6÷Î-]aöeÄ”~Ž!ˆ( k’PÑqïÀ¬ºpÄ£±øñ“¬-ªÁ}~Ÿ¼®8EŸê³íŸb(¼$Üu³>8ŸWêêVÕY)øïp×àòâò#ßV§è£5|DôDäš ³¶ –¬rÌ¢K쉈³¤üÀÛdÎÚÁÜ8E!8,¹‘À}?éÂu÷àáèuYùúz{1¹¾Þ^ÃGÖ=y™eªóioëj5Òùô 4Äu¾ ~ÀLnhD k’à Õ²'°ê謗ÕÓ\\„Í[÷Tb¯…«jÝ_u¡§§ß‘Ì*j#tÊÖHV£££ž–)•Eªwn[ª\°ÂXª\Ô‚ô%ADPR3©ÕßÌMŠ]ÁN Pö·¬ý·Þ~»æÑõ¡ì³=uU»çqI{}YO±×¿1žk± qÖåçgPXjs„(ø˜Øã^CCHô%ˆîO}ß¼èþTDçæ´öM˜¹5 •Ö–Š®œÙ¥=×àà Z[K‡?çërXñƆ³&Ù¯ya¹i»·[anƒõßwêqd•`’Kw,Q"‰}™šAQ3Ð5=ÔÇédá·úµ¢/ibÏ„¸Ä^R™æÉDaGBˆ?boppÐ(zfYí(Sìy‘Ý6æ\¿§ ]œô0Ä*t–)ª}µš’pF )§/ ‚ ‚@b¯:I¢ØëèË¢¯C]¦ÖÅ’…OæÊ)î'ñG„Kì”]ðCÛ­wØoË{¢{©£,¨…‰=Éɱló$+bU êK‚ *E’ÖDª´¨&WMÖh1ZæÀX´wO¨køtÂká·ôΫi{"í«Â½e×Çê'³Øp‰³M-sœýÐâ^I)¡¹tªÝ¡C‡<!ÙÕ@vƒ:M@ÒaíîßX{›¶Úëå.ÂTÔ:æ8fÓöA¬¼Ñ*ßÖÖ†MÛ±u€Ç=ëÓ¾ªàèŸE3J¯ùuyïå–|¡$önÛì_LGß-{Bª‹´Z÷g²tæNhêŽÈ»Ö²uf_ATF‰Àƒ$÷•|]è7ḕp©L’ØKL(Æ%ü(J'‘:D‘ÆÄcç–MáEßÊÛоª 4ñ³ílˆ??{½iû CìÀÝÎvxYû˜eÏÓÂ'{øp•j°îñB0[ƒFbONX}ÙIîXATQ‹½õ³sð+=Zú,Ñ·{ÞۢǦuÄ^4´Ìñ¶ëD]~_<¢/àã-w&n­ë#*/úâ&·Èl´^óÏ˺—_¾Ø¦7¢¼†•ÆP¡ -þ ¾$¢–1ʳ÷Ô@™añƒˆ2&úÂ>/‰½hщ>1‡è láó#àȵ“ƒöU,š1$ÝwщR^À[6áÙ)ÍŽýÌê¶ûEs?n•¥ŽmŸù²;á'–êmVüˆ=]9×fݹY±7–Íêg+S†xDgµ3-W‹ÈúQ%ìD÷MêK‚ ª‘(-{Ai铟#”§ûÚ,P†˜`ëËjC™uÞuŽe³hÜŸSæL”Á&Üó yåÀ–Õïõ/à¢}‰¸t±hÆÛ|`Q4çßýbk4'N0?žØŒ÷Ÿrо÷ŸÆA4{ [ôípÄ«Mì1xÁ¡[KFÂDõ#A„Á³²Âb/RâZSI÷äÆÈˆRô‘… B@&úš3Ã,KŸÎ³§§Çy²ñãÀÛ ëõ=ö¦õ ·;f¼’~Ó #á@ýHD-Bb/Eu¦\ì1r€}åŸß´„ײð`.”¢ëd-1µ86î}çÖwŽ cømMÈ­h´“Çó0±·lÙ2kÃéS€ö¢‡‰¾u9€Œi¹éAD¥ ±—¢:«Dì1Zæ4_$…¯ÆhžyV½®ÌcÃ@€ñch>± ¨›Šî [C8±/07¡xCù¹ªM\z‚Æà–ni1ùV­þÊ®ÍãÖ»ã?~­gMþ››¯áoŠo·òïàô)€-)äƒ#Vùš=‚ ‚{)ª³ÊÄ#¨{gØ…Æø1ùëˆÈ¬×'uÒ¬OJhyw»{ŠboÙÇ;Kb Ö¶ßÍ¡§§]]]È­h¤ÔAች2Y—339¢> ûšwÕ©!­b‘$ÑHðQŠ…§±ÙUéV¤žBÁiÔL˜X‰¦ADj!±W&†Z\é}Ƭe,Cï*El}iw(u¦]ì1T¢oö‰¼{#€ýS¢XÁW¦àkhhp‰=Yž=~Œìx"¥Ì_Z}uSãÑTSXÓnVPté¬tκ«§—Ú"ÐõúÜ9ÙJ¶ÚÑÙY}'bçÎV™®.”Xœ ‚ tØ+ƒq’4ë˜;%`‰?OÑWÅbOÖvQô©ÄžjßÈÈHàvvé s$ê’Ikk+n¹¸óÎPOʽñ·:.t*á»®ãá#Ê]ÙÕÀ‚IVЖә’El{%(@8P?QÍ옷}×o·œ¹R‘Ø“²Ø³Ñ‰¾{ŒÜ ß¡{2Â{@H‚Ï$ ¢4Ó³çDLéAE¯¾®T†Y÷1&ÜX$–Æ$ŠIâu,z¼¬ÃÔA¤~"kùÞlj¸©Ž˜ˆ^—²KJ%òìyˆ=†TôU©ØËZ߃—…¹%“÷í7oÞ<ßíyõÕW]Ûb|$ö*O&“ÁÈñX—Û¾ª /3ýË ¾’˜ -%z/jG~žuSh™c‰>Àšý QèymO¦î«¬ ¹»Ê1r|?š”'‚¨$&÷*Û·6‹üA+lvËÌ:ey)•^âE×ìEQgÅž‘ÐßU}p|<ÊVɉUð‘«'AÝórXýd.ÉY 6çèÅžoA“4·VCdq©+ ,×dÆò½ûê£Lq¶£P(H߫ʙnç)§LÈúë/I@‘dtBO¼¿µ¶¶ÚÏB&ô| ?8Y4ÃY×î[½ÏÝg+‹€b¯éÃ×HË~ÿ¡²ëL›ØS =Ï缾ËWDôÅîÒI¢¯²´¯* ÿ€öUòýe[ÒbÂËò¸f¿ó&˜$ß{¾o7\b‰>¸éÛò6–eqa7–âM%-ø(l_9¢O&¸ü :^·½P(hëeeÂ"¬¾$‚H ¾ïk÷nŠ‘#™[!/ü´¢O"ND‘§Þת>¯ü~6c4‹‰˜0z×"´^¯w©M£ØãÛ[îw·è+[ðñ8™ˆcïÙYäN‚¨uZæù}–è;òíÒM6ÀùË÷meI©eO†îÊ—iu Ò•Øãá…[¹¿°‰¢/ ‚ *‰ö¾&¸ùG>Åžª]Aî§q~6û´LÄx<“TÖ=¶ÏeåklÖž¯šÅžò»â&ãã}™ÂJ)ŸO/ ³tvvâðáÃñ´¤Xç’%Kb«¯ÖÀùçŸþ~ ]ÈrÀnN*wµJ÷ËÏLu³ñs360ëðêÛ¬*ª˜TbO´òi¢†Æ /tzç¶Ùâ¶Ü¾f}¬²òéÄ—‰ë¦—x“Cv|Ô¿+þóíKþ3‡Ñn¸MÚý†¨ º&«ùÚòÙº‡øº¯y¬1cÂHfåËNÛìx³º†÷™·µyW—OÑÖg“b"öàüÎ]õë ¸uÇ_ª~ˆSì…q-òí ü]=æ •/оúG`×®]ÆâÅþ=n^}õU477cêÁß°·ÅîÒIT–áƒ'ðÌA`úAçö­\D+Àá*Id·aQÝ åþ‹^;éxÿìAyYñóêÐÕg‚®oóÆqäÎùίµìñQ9“¾]BSS“tûèèhYçór¯ ëø8,w~ »/ ‚ ¢&L±”"G¶Ì¬sоu9;¥ƒQ]øñœó³¹0{&Œ~ÿ!³5|UfÙã å»úÀ-ÑÇ[ú:ßQô ¾cåµW`d˜ÏiŒÁÁAt·Z³Z™›¬m¬MÀ·khè0ÚÚÚ¤åïÙh»a¥ò\ŽÏ«˜ó3@|}⌗Ø׌mßšºq&Xì©\WU…í“ ÕZ¾ ³ìaÍöG´E·†±œ¾$‚¨$~H5½çBà=ê‡Ø¢o‡¿å×\aÝOú^<÷Ír>›MˆbÏNìÉoÅži›}}WBš¬zÙÓÑõ‹Vð>|‘UNå {€%ô˜èÓï'†ª>Ùv•0Œ„*{LL?[9Â¥1—³ó·¶¶?ªEì…+ºi×¢HðÕƒ÷lƒVuÏ!öbþL¼ÈslÃÒ§"¥bO†ÎêTŽEŠ­—ãßËö‹åÄ2ªãÅsèÚ +a÷%Afˆ¿ù´ýUe°ùÜz"^Ö½ØYìÙ§-Š>/áǶ³}ì{ b{€Ï´ çw^Tí¨jâL^ïIc3°¿Ò©ØÓ,(ŽJ2K ±R±§[œïWŒø ãͰËö™œCw|ux¡JIÁ aGD-2úý‡B`3+ûo×ó}Öë³…!ºØñLô5ærÚdêü1D { _ÄPF¾D‰—”000@ë!CFkÙ~LƒƒƒJ—βàó—Ä]A[[Üëø>}½ ö1]/À?t¼Äž×÷jò½ëÊ=> ÂìË8©:KAÉA2ÀâºÎ„ž(öTDê&¯ùla[ØDá§+CHù:ô %^'R‡¸îÐ$ù9}¬¼.Û.ËÃ'R«ÿþ¾Ûú¿¾X_J-qqb²HœÖš™A}IDšQÝÃFŸ{Þ3BâèsÏk÷g·áÈóí´ ªºžn¾§´>O&ôüFè¢ýlQQK¢Ž¹´2«fÚ¾+ZÃGÔ a»tª„eµ¬Œf™â-K:"î+Ç•³Za}ÉC}IÑ‘Äè¼µ‚v }Æ™¡Ö¥tgžjUâýlD0Òð]‘…¯ÆhkkÃÈ0ß_âDa*¨T‚ŒaúÖÕGâ.<˜Èà‡‰å‰Š^ô™ö¥Xž ¢Rˆk’už £Ï=oGÇ4YC'»æV4zZùKô­KV&ÊÏFÃÄÊ$ÿ»"ÁWÃX!’ˆÌBÅ‹Ý>¢/ Åm ݾ°Ñ¹QDÚ©µë;iVÍ8ƒ¥Ä˜…n¥†$W$ø|ÒÐЀC‡Uºe388ˆdZ¯–VqC}ëJ “jƒÄ2Aă‰Ò= âQIhƒ ~¬|¦ðVfÑc˜Zùʩˤl˜õQJ„p1µò™R Kl`Á×ÐÐ`¿ž|æ;0ûw/G÷–-X:óì §¶ÏT`½ùòâË·®Ã÷vÿ¿zx÷ï,Â'W¬Ä§–¼7´:ÒÂðÁxæ 0ý s{÷h¿{²ÛÆbm—)ÙmcXTw"ðy¶úø|Aëãû¶wn[쓎ßþ þ Ó¾ «Ï{ç¶¡óiò, ’M¥îÓI¸·EÕ†rÏ{îó?u¼÷}Xv,#`Ü5Öɤ.?Ç„Qßx>¯¦iBÐã“J¹Ÿk<_Š÷µ™Â`Oçž^=²Tçwž+-/–ÞÿÛ± ]_; Ïþø®P†ûÒï½Ï-[¯|ú0½Øÿ£!üý¶ÍøêŽAßu”Óž¤¤e@gg'æÏFFJÛùÙ¾$Íîñˆ‘3ÓBú¶P¿$Ÿ¤~Gi±NÑ’Öë 펫 QßCÊI9“†º*Q#©÷ý Dù¹¢ú®víÚ…ááa,^ì²äÕW_Ess3¦ü {[¨.gÔ‹?üìxmÃÅ,ÁW8ù2z¾ðg¸¿ÿßñ2ÎÁeíŸÆß}µ çL²:_& Ø6f=dÿír…·ð 7¡ç›áЉ‰øÝ%ŸÀ={¦Ož(m×?¼ð þóæ+ñŽbï]ø!|uá‡çfÿvà 47µãá§Œ‹ÞnuOáôë¸löÅøúOŸqžØg;’@&“ÁÈ »ß§áÇV×È4ô-AA¤~-ºÃBqÖU‰úˆòIËwªà³,|·aÊô{Û¿¯ùþáÐâ»Oý˜†£¸ëÆ+ñ‘5ó1ø•ßó<}¢ üÏ-WâÎg.Á7û.|ǯñO_¼WÞ¼OüÜŠö‰gãÆ-ÿˆµŸø0ßõà%ƒ¬ŽžÔã/îßûsËåó•çïÄ«³þï=kr v$$ÑA}KAÑçÀ:îA|’D¡'ÉßU(yøÐÐЀ™³/Æ [_Äßû¢½oÃ#Ïã«Û?‡™Sߎ·O‰¿Øþ<ÿÈÆ@õ­ûú^lºç4N;“ßþNüé—¾†ŸïRŸsÍ??Œ¦£?À§Û/Ã̋އ«®[‘_ýZY~áí°ÿî•xý´5Pÿé–Gqù—?¸I P(àºë (œIGlošþ‚ ‚ ¢R„bᳬc§ñòÏÿ ›nø<¾ïe\6ý,À艓¸üœ·ÙeßvÎå8yâº@õí Ÿšû0TŸqÎû°ú¯ÿ«¼yüE|ç¾Ûðñö;°ïß¿(/ÿŽßÇ—ç~+ÿý(î^t.6ýлíÜÀí ÂM&“¡ßAADD„èÒ9çüÖoã‹ß¸ï›ÿ1\÷Ìã˜>y"š¦LÂ_þ5–Ô[¢ïׯü“¦4ÙG9!ƒWOpöDËÑòäÏ9Î*[³uñ”ɸ}äY̯›ìÚçÅõ3Ðñ‡¿èù_TÖqÅ߬Àíý[Œ?rŽþîí˜:Ém ÒŽJ‘ïÈâ§×ùï²O]ÕŽ…ßê·ß§umf­ïHG´¶´´“ˆ–´^IhwTmHÂg#üQ­ßY>WK_ø)5BÏÃ7ùìøâo¿‚îy ;Ú/Àê?ž‰›o¼ mïÂtÁ]7ü%fþq]þO¦MÁçþþ_q÷'áÔ/ÿ÷ßþ)Çù.xÛDüÛÑ×ð{Óβ·}ù³¿ƒÏܰ ¿ñF4½ëlüϳ?Âß÷| ·ýí£Ò6}à“·áÖ?ëÄï¿6&ýú—ø¿¬Ä”éWië¨{×§ñ©ÉïÅ­kêðÑÛ =¯ßvQB}D2yêªöJ7 ˆ”C÷z")¤áZŒÂç)”5|"Kïø(žúâvÀ¥w|:ýGhožƒ9ÍíøñyŸÀwî¸Ô.û…¾-8ñOÝhšuZ>ôY[¸Éq®ÍŸ]‚Ï^ò^G¾¿ßùü·p{ó+èúè"\xÁ{pÅ _ÁÙKîP¶gÛ'æ ïŽ?ÇÅ]€Æ÷·áÞ§êñõþ/jë€ÿ÷®+ñ/O4à– Ï‘ž×o;‚pBb"ÙÐ÷CAé'°…O–“nêœ5Ø_Ìó6aÒTÜò×ßÄ--?þfñÍ8Í«_¼¶tÎËþòëýKá Ì$doþ*²7Õ¨ï]òIÜ¿ä“ÊýÒ:œxáç˜uÍ_açmæø¼>ÛA„AAѺKgµpêÍŸcå_ý_}ò}•n AADj¡‰½twÇ ÔêµH‚OBCC2&ã¿ø}´œž€,AA¤“ZlQHðI¹©AAA¤H‚¶AAA•‡AAAD•âË¥óðáȪ-AAU å%¢ø^÷dÉ’(ÚAAAA„ m©1Zúrxß| e¤Ò-!‚(ƒLF¹«¥/cCˆŠ’âë  £i¥( ážûŒIÿNˆ"ÕúUëçò >‚ ‚ ˆÅ•NbQ— ˆtAA[‚ ‚ ‚ ª|AAAU >‚ ‚ ‚ ˆ*%оgžy_ûÚ×ÏçñÆoàÌ3ÏDKK >ûÙÏâ·û·Ãjcl444àСC•nADU02}:êZZb«o,›­."¹TÛuÕ牳Ÿªí;©ªõ;KÃçjÌ…X¦lÁ÷ï|_úÒ—°zõjÜ}÷ݘ6mŽ=Ї~ŸøÄ'pûí·ã#ùˆçyÞ|ù?ñå[×á{»‚_½¼ûwá“+VâSKÞ €DXØ|nìsøÜ‹ÀçÆ*Ý‚ ªž~ ‹nŒ/çØÓãÏÄV‘\ªí:ˆêóÄÙOsú)÷`Ú¨¶ß# ×bá”Ê|ÄæÍ›ñÿñ˜9s¦½}Ú´i¸é¦›ÐÞÞŽÅ‹ãýï?.¸àí¹îøðŸà…eëñýM;0½Øÿ£!üý¶?– ‰=‚ ˆ³{{{¸'œsW|uÉ¥Ú®ƒ¨>O%ûIS7‘|Rù;RA×"2…•„äáé%q500 L²~Ë-·`É’%¸öÚk•'¾ÿþûñØcaË–-Ú\8ã·ðŸ^Â;&ÉCó¾ÂÉãØú×á¾ïçqòíÓpÅgÖáá-×Úûзáz¬ÙöM<÷?¯á¼Ùÿk¾v²ï~àÕC?Æú/¬Fî‰gðêÉɘ³ð üÍý›1·n²«®jd``Ÿüä'12ÌŸ_éÖAAÁS(°k×. cñâžõÕWÑÜÜŒ©ÃÞVVЖÁÁA|ðƒÔ–ùà?ˆÁÁAÏs}bÆÙ¸qË?bßK¿ò4a>ùWW⛯\‚]?ÃÓÿÞ‡ÿ¹ÚUæ ÃSqߣy|þlú“:ÜzÍWí} ¯þ .[ñר³ïyÆŸÿî øä§¿ëÙF‚ ‚ ‚ ˆ4R–àûÕ¯~…w¾óÚ2çž{.~ùË_zžkÍ??Œ¦£?À§Û/Ã̋އ«®[‘_ýZZv÷þ_íùsœ_&ά¿ÿ{÷×ãù?püE:8E¥’PÎibs\~ØÉqÓ†IËyF“‹œËi˜Ã0§Ú‘e¾Ù°‰Ål¢*BS‰Ré÷Gúèð9ÜŸO%ÕûùxxlÝ×u_÷u_÷u_÷}Ý×}_Ÿñ‹ ÅÙ¶|,NV–T6± ëÈ•¤ÞØ¥ ;wt}Ú7Åܤ2Ʀµè;e·Âd˜W!„BQ>ô _íÚµ¹uëÖÖÖã$$$èìT©ÑŠY+¶1 xpç*Ag2¬wç}T(îÙÔL:U¯ªú»ªe§Bq™>Þ%£Ê–dg¥©þ¾¶‡)s×EòýŒœ8Fë—)²³³qsƒì’ø"T!J˜‘‘ú×ÿ!§}Cy«%µ?å­œ„†1¨·ãááÁ´Æ ¦[·nz¥[¥fM^KÊ•ÏÕ†777æXòãÑ¿ô”£z¥?|è4ž»”ßÏ\àZlWcÂÈÎ~¨WB!„BQVÔá›8q"þþþ\ºtImxdd$þþþLœ8QgZ݇Ïdh©²HOIàûµ1¯7PmÜú7dÚĵ\IJ'=é k&ÎÐ+ßÉYPÍÜK³*ÜMˆdýÔ¡z­/„B!„e‰A>;;;|}}騱#+V¬ >>€øøxV¬XAÇŽñõõÅÎÎNgZ«=Ù0ŽÖíiêú"Ÿ†Öä³ï?R÷…ù_3Èü(=Û4¦Ùó‰i5£JUÕÆUgçêÉìú:Ž ìèðò(®9ÏQ¼®B!„B”5ý,C®ˆˆ6nÜȉ'HIIÁÒÒwwwF‹‹KÉåú‘´Äqyaÿžß[âÛ*<ÈÛo¿›„…•vn„Beå›$Mù,˜G}ö§(iêŠó4•e¥(%ßðFW]Ï ×TÿÕÅÕ”VIÅe_q×Ã’øYƒ&mÉåââÂòåË‹’„Þ†ÌÛÁòɃ©ùà«ÇHƒ×>y¢ÛB!´Ñv“÷¯-^nÜ⊧+ަ!žVºÎ‹âÚ†®N¡¦õDÅPVŽu‘:|¥a\½³ h?‡Øû&<×c{:”v–„BˆBžÄè€!£yJãñ´Ê[_ vÈ vÒôIO]çNÝÃmÛ,§WIÕÃ’Pæ:|½rÜ{aigC!„P«8nèò¦!7ˆB¨W’熦q¥Û”ó¶â( ǺÌuø„B¡Œ’'Æ2º'Ê‹â¾ñÖ•žœ;B§±(>!„â Ðõý\AE½Ù”Ξ%GÎQ–H‡O!„(aê¾õP2!‹>é© S²¾eUqÏ„©töZ9ÇD^eaFVƒ~‡O!„Êhëœegg«üÖÍ1 IDATýWp=¥é©K[%q„¨¨ÔƒºÎ?]礥AFø„Bˆ¢´sVÜé)Ù–Ü|вNÝèvQfÂÔ6K§®m\O]z2KgùTÜõ°$ÈŸBQ¤³'DÙ%ç˜(OŠ4ÂΆ 8qâiii˜ššâî·7Í›7/®< !„eŠ’Î™>?v^ÜG!„aäüe‘Á#|AAAxzzÒ¹sgBCC¹~ý:¡¡¡tîÜOOO‚‚‚¥cmm­úgßÈ…—ÞÏáØTC³%„B”ª‚ßýä¾Þ“÷Ÿ¾áEIOSuÅBQ>4ÂÍ’%K8~ü8ªåVVVL˜0Þ½{ãáá««+ööö:Ó‹‹‹ -ùÁ[¦áÝwÿ\jHÖ„Bˆ2A×,úŽ$h›ì%ïÌ êâȨ…(‹”>¬(ÎxŽMQö•…:aÐ_`` ³gÏÆÁÁ‹/Ò¥KÌÍÍéÒ¥ /^ÄÁÁ???õJ×´º½Ç}Bêõ¯T˲3“X5e­›8àФ5æ¬")3çÂ4¼¹#?ý—@ÆÝ0lml »›@Zâ86þ(‘ ¾ð÷¡C‹ÆØ5t¦Ÿ·?×3²TÛ°¶¶æÐšitruÆÖÆÆ"B!Í3oœ…SW\CÒÓ_W…(K´Õۂ玒õ•ÄÓg›J≲¯¸ëDIÖƒ:|!!!ôêÕ ///Ž9½{÷8rä^^^ôêÕ‹½Ò}’Àk'bn5@µì˜_?¶ÅµâÛÐ"B¿¥eì6úùÀÇ£>ŸŸ¸ @üá%T®Q™¥GâHøcõ»௥XnǶC§¸|î(j…0`Òÿòm{öY¾9͵ØXJD!„B/,÷ïºuërûömEéY[[çdÆ´:Mݺ±6h®*lþ×Q,:ñ5«L^·uíÀŸp™ð"¦^ 8´ü,ƒ±A¼<œ¿Ö_Äc™3ö‹C¿¤iª€%oÎÝÀì^@ÕvÖ,…‰!ÅQ¦ò¦¢¼‘W¨”¿zPRûSÞÊIˆò¢$:}uøj׮ͭ[·°¶¶¦mÛ¶üöÛoª°¶mÛ êê’û Ÿ:çR3éZ£ªêïª5º’™:€êŽSáâ[<ÌhÏÒh#ŽuòãÀ¿IÌðdM$ìq¬ÀŸw3Ñ Ð<¬êZ:{B!„BˆŠÅ W:=<<8pà›6m¢k×®XXXеkW6mÚ@pp0ݺu+r›™ókRºêïôä_16o@%ãšLx6ŠÝ¿D¶íDjV­É›,æÿœkõ'QÓ8g÷Z››ÅÕ«W¹ví±±±ÄÊ«›B!„Bˆ§T•*Uôú÷Ï?ÿ¨MÇ ¾‰'2tèPºtéBãÆ9|øp¾ðÈÈHüýýÙµk—!Éç3«¯“Ƭ¢ñº‰Ôã:«|fàÐ÷U¸ÇgzN9€ó¤É¼8º‹ß_@›Uqæy·a”Ïb¶.C3[K"O±õ“¹Ì\óS‘óWÖdggãæò*¹¢,*ÎY-EÙUÞêAIíOy+'!*"777EñÂÂÂ4†4Âggg‡¯¯/;vdÅŠÄÇçL”ÏŠ+èØ±#¾¾¾ØÙÙ’|>/ñf½SônçŒs»Þœ®ïIPÀ ªðúÝ}¸wŸa/åÌ®iû²'÷bSñé^_§Íû_2§]2_½¯ù,IJG@‘ó&„B!„%)))‰ÄÄDˆçêÕ«üûï¿\ºt‰óçÏ®u}ƒFøúõëGÓ¦MÙ¸q#«W¯&%%KKKÜÝÝÙ½{7...ŠÒÑöý@%ãZLY±›)+Ô‡W­Ù#_Õê¾A\Üù#ÓgÒ"úLZdP„B!„¢,2¸ÃàââÂòåË‹+/B!„B!ŠQ‘:|B!„B!Jž••U¡e:×3è>!„B!„OÎ7òý©h=éð !„B!D;÷HTT”âu¤Ã'„B!„eÄ•+WôŠ/>!„B!„(§¤Ã'„B!„å”ÌÒ)„B!„O¡°°°"§!¾ ÆÍ ÂÂrþ+„e¶ëž´kGy«%µ?å­œ„¨òž·ÅÑÙƒ"vøÂÃÃÙ°a'Nœ -- SSSÜÝÝñöö¦yóæÅ’AQ¼r;{ÅT„â‰22Ò–ýäò!JWy«%µ?å­œ„¨HÚµkWliÜá bîܹ̚5‹ÀÀ@¬¬¬¸qã{÷îÅÓÓ“9sæÐ¯_?éX[[Z–;ݨ®õ”Ä…IgOQVeË]ª üÕƒ’ÚŸòVNBTÅÙÙ;|ÑÑÑ,Y²„ãÇãàà ZneeÅ„ èÝ»7¸ººboo¯3=é¸=õêÕ#88¸´³!„B!„(!;Œuø™={v¾Î^^øùùÈÒ¥K Ù)q§ñŸ>‹ï~'%Óçö¯±róZX˜¨Fsÿ+FåNžQ¶ŽŒŒ¤qãÆòjBˆ'J®;B¡™º{v}ÚMéðU`êž DDDÈ“V!„O”\w„B³¼m¤!÷êÒá«À䉪Bˆ§\„B³RùYQö………•v„B¹ !„ÅÑFJ‡¯’‹«Bˆ§\„B³âj#¥ÃWÁ´k×ΠõRRRŠ9'B!*:‡Ò΂(@®÷B<=Š«”_bhgO!„BQ6I‡¯IKK+í,!„B!ž "uøÂÃÃÙ°a'Nœ -- SSSÜÝÝñöö¦yóæÅ’AkkkâââŠ%-!„B!„¨H*ºbPPžžžtîÜ™ÐÐP®_¿Nhh(;wÆÓÓ“   EédäO!„B!43h„/00Ù³gkœ9ÆÁÁ???u¦µ-&™5“`SËŒÊ&f¸´…EÛÕwö’"¾¥§Kc¦l:äá³¶¶æØ–¹¼èæBƒö¸wƒï.'ë ÏLƵQK"ï?þÅúì‡÷yÁ©‰’¢ä”­Œ¶VlJê€Ô“Š¥àñ–ã_|*ZY†-z…v÷–v64ÚòV;^YR|?/QÑŽ¯º×9ýÝâœ~€*=uËÊ#ƒ:|!!!ôêÕKkœ^½z¢{”γ%c–îàüµD²µÄ»rh ÝzÏáÕUYæÕQmœé'k±ñ§DG…³x¨SßX¤3ܸªŸô«ÉäÍ‘ªxÉQËHi8CgÞ˲ò\©E9;¾Ù™ì˜3Š6MphÒ¯v’¥%zî…!ï?½ÒÓs{zÇלþÝ›ʯ¶ýÑÜ‘ ÷ ÚZÞôìé1ð]‚£Ëñt짤ˆŸ3¸'MÚѤM7|qRvþÐv¼úwÇÉÞ'W½û!§ïÂûÝ2®¿ŸÁi)ÝViÑ÷8ÝO8ÀÿõÀ}T'#¢øóÀ:,Où«Â½ÖŸ û»þü~ö"çOæÝçúÊÜ|ih«‡Eñ4oû†¿ÎaóWùåôE"N|OÛ„5ø|£8=]áÿîñÅ¬Ç Ú˜›œG(Ù6ÁĦLý*Qòô=þ^ŸþIq‹8qî2gÿ@«0öY–/Ž’sU[]ViÛïY¯"µË{;{‰Kg1©s*^¯ÍR…kkgú,§ÿg¿²±/Ë|Ýg>LçƒáëþÙr,*=±}ÌëŸÔœ‡2õ͵.{ÒFµlÊÅû™$G/µÏ7ùŠ«½7¨ÃW»vmnݺ¥5NBB‚ÎN!@•­˜µb¿ŸŽ òä nðÞùâ,[õ%GÍa@‹ZZÓjdúø“D£Ê–dg¥) ¯R½ óZÄ2íØ ‹ÅGáãvuuæ½,š8ç5¶zu Û;›ymÎD­ñ3ï_ q[»NQ-Ëzp•& l±mИ ÷3Õî®^û—ýð[æxÓ®Ycš¶eÊÚÃÃ2“X5e­›8àФ5æ¬")óñS&kkk,«³#[vbÙÁ8®œ„Û£¿×OÈ7xådÜ›9aïèÂàI+HÎóÄJɶ´½‚Lv_øûСEcì:ÓÏÛŸëYŠÖÏ=ú>ÊÎJeÍ”¡4s´ÓøÔOÓÁ‚ñ²³îòÉä!ùÒ2ÔŽ…¿óöÆY4©c†Y&ÌÚø6¿ì(±ôôÝ^qä/+=š‘S~eå>ý:\M'¼DÔÖ}z­£N‹º¼ä½Œ{7¿+rZšèªK6¶ö´íÒ—­'næYK{[¢}ÓOc> åò/ÙËê¦ÆT¯ç„¥ßªÂî dèKÏó¬¥)Ʀ5èþÎî^Ýc@Îò3¬Í…Ë»攣Mœ[ºóÖäE\} ÿX³¾åðG›ŒÀºzUªV·fDÀf~ýx§âôt…ÿôé^™þ\‘òXÔ}V²=÷™/qnÍ~½¶{tÇbúuï@#û4uíŠÿöP 1•ºê€¶}×U¾jÛ§Ò;—Û½‚×»µ¥¦™ ¦5¬:k I‘›ôÚ¦¡m´ö×Úµ—É–áí°±iÀò“9e|óärØØÐnøÖ'òºü7ï³Òçež13ÁÄì^ñYÅý›?ªÂµµ!wÒy÷9klÝ}H¿s€K»¼øÝj sÚ?kpžr÷ÕÎÑ…!“óª+‡‚÷)ÙÙÙù–«[–Cw}-®·8Ò“B8jú6Mªsa͸úv0(] êðyxxpàÀ­q‚ƒƒéÖ­›^éV©Ù€A“×’råó|ËwüºË]ïà³ö˜¾YU쵕㠞º†»±Ÿr£íj<éSÍÈÈ#£Jyþ_ûSãjM™×¦©7v±ûÑ«c ¡ó¸›õ:®Ó´ZáyÂ× ÁË é§óÏåH>õªÇ磲öÖÞ´±0áÞ­=¤?„Äð’³*S9+™çáa:{nÝÃÄ¢ ÞÖzíߟþýùä\¶ÿï‘a?âzk½*ì˜_?¶ÅµâÛÐ"B¿¥eì6úùå¯S©ùåÔ~XÜ‘•^/óÉ=BΜ'hþó,×?_Ü™'ê³÷Ø?œÛÏs7wÐÎq½¶¥íä¿–`Y¸Ûâò¹£ ¨€IÿS´~î“ }Ÿ … `þ®_±¹šK1—Xï£ù§Uš\ÆÙ¨«Ó?éߟ…{~£á»Ÿr9æ2ŸMl£8}s;a¶Ÿ¼™Ûãþ-í³·mæ„­®/ôdæŠ}¤çi¥u¥§+¼`£nHþ žáIÝ÷¿ gÝjzí¥Ý{ÔHÜBĽ µë)õàîMlxózƒŠ”Ž!\Þ^ÊÙ¨ŽìÇõK'™;â=U˜®¶Dú§ÕgnÓ-z[5Á¾‘ }GÏá_ ¯ìee¤ðÛŽ™Ôn9!ßrmõPCÚ\€ƒ¡ÍùâàI¢c.³wѫڳŠ×½~нÁô-§‡ÿ:bT‰û7?¡.êù¶÷Æ}Þ¬oV¤“©cߦ‹kŒÓoóó–iLÝþ,O.ÿ߃ä3ŒôˆÙðÏØ8¡K¾°‚ÿŸKŸp€€N.Ä4¶ ¡ß/LoTCk¾Ëª/¿Å ‹WáÓ«ÿXÏ{Ógûþ…Z×I<ëG‹ž›i4ô+Ž,{ž/µÂ÷ï[Œ >ËÇ-j«*fnY¾îìÀÉØ}>š.Õ«•qöm©Z½ÿžß ÀoÞÏ3ä‡Vý}Ëñ™p¡'ÙÇA—5ù$‰F­&aÿÚnþØðøXk“»íÞMü½jU-çå&ö¼â"=jæ„¥ÿL“ö+‰¹ø“j'¢¯b[¥2ÙYÉØ4pædôUlýmkßšØkÿªân;÷ïã´î¤iûUD_øAñ¶ŽD]Q:gg¥`ëКثQª2zî5rÖÏL»L£^Ä\ Q´¾ºú®KŸ¦ü™ò€.ÆÐÖ„Œ»aØ7é¯|sCÈå+ùn< ÖÞMKyÀÈZ™›‘zûÆ/«MK“Üx llø÷Z,ƹ÷”Ù™ØØ6$6öªÖõ³³2ˆ‹ cíì1o¸”C‹»+JOWxÁ²54¹’ÿýœŽ#"8u8#ÍÇNÓþ|ùZ~ðý‰­]õÿ®$/ó–|qä:Ö3Ó°†~ Ö Mÿr)†ff&d?¼m#ŒŒ*«ÊNI[RRõÈÎÆ†&ÃüÙî7Œg¸ÍŽ=Y3ŠS{ßT»Ÿ&ÕØøÇ!z>›ÿ†PÓqÓFß6·ìL¬mì01mHLTáIÎÔ1´œ¶¿îÊÖFÙ9{µIdçûþ£BñªToÍÖ ¼þ¯?#3׳e²‡!Y×ÊkÕÚ½y–KŽå³³°pÿv|€gZõaûþ>:שÝüCÚXl'üÛH™¿‹ù‰˜X¸òaóÚjãÿùècè!Îù–?HùCõÿ­¦ö‚6ð]Ä bNÞÄöÍ Êþƒ/vÍçæùœzÓkj+U|¥•üï»t«Q¸³p.5“®yªÖèJfêè|ql«TÀ¨rulòüý0ÿ·¥ùÒªÞ…ŒT/½¶¥íä?ïf0¢EÎÔììlÕ+J×7Ä™GÇ­å£oeLÌ[iŒ«õfœãÐÌìQZfÍ ÅQzLëšTâzF–êØde\§²‰î‹„Qelœ;ðѶ4jö6,þSQzºÂ æÛÐüåúhX K‚~ËwC«Ïþ¼0µ þKþ€®¯+Þf®œ}yHRl‹}†ò¿óIÅÖáS*·ŽUʹùÊÎ~ü™’¶¤¤êQ]“ÊlúømêW­ ÔçmÿϘӤ¿ÃGFÚB¶McbÿΛ—/\ÓqÓFß6÷fèN¦.ØÌÉsQ$Ý{ j/2Ó£óåS }Ëi莽œ÷>ÝZÏ!ËÌ–~Þ£1®¶]qzºÂm«s%=3_{÷´µ ™éW0®Ò@gr…Þ͙ܢ³†ëU^JÎ%u WÁö[Ÿuµ¯Úö©4Ïå\ '?§ß[ë˜ôõþB=Ð\?”¶ÑúRR&VüèUk ?ÿ—†i­^|  ƒ¤o§@Ó~/ï?‚zcV³ãžT'™àÍSÑᇦÚ^Á6°^×Iü> €û7¾£Õ7Ùü|¶Óݼ°ùCØMçQ0îìgzåµy{ŠŒÔ3bÏÛyJŽM®‚瓾å¿ål2 Vçîµ1k:J÷ 2¨ÃЯ_?š6mÊÆY½z5)))XZZâîîÎîÝ»qqqQ”ŽKálî1\cxÞ‚3±lζЋjÃÔ°>á©1±4|ãÃÇOÊ1½*¤Q>ÚˆÞÏ3nËDîd<Äyä<_{‹*MN'øR -ÌLÔÆ©Ñh*6U7ó÷²iܼŸÏH'ñ"›×3mÙŒ«Ú05Ï(«Ò'&­,L8œ”®v„¯™¹1¿&¥?uKþcóÂ¥~KJçÿTiÁجE±m«µ¹ sÂ"q³P_~ºèzUWí6-Lø3åîeÐÂÜ„ŒÔ¿ Ú6䇰”œ»—‘3Âw/¢P¥Ç´ÿ3ÕØy-•éŽ9ðÔk;©VGù‡óFFÆùnJt¥§ïöŠš¿ÝѱìnÓ(ß2mOò îO]÷iÜ Á½‡0«dHãU‰6Íùè‹Í´rÂèðÿQϤ²é?%mIIÕ£×ëVƒ¼sGggêË×Ä´&=F-!Åߘ§6NÁ㦕žm®§çü“šÁü/óC#*?LÂÖ®Y¾E%UNÆÕ3ó÷Ìô÷Õý£ø¥õ8UxQÏ·ÁÏVcg\*æyû4¶ ©q;©f5Xqrëö‘¤ôB£ašâj;”ÔMв®Ò}*Ísàâw‹àûó‚0ÀEûCý‚õCß6Z)%eýÍx~þ/kù3㾎fí­éê;”«à~o¸p‡¿Æ¼BõÊF@Î7|Þ‹ÚÓ ­«­ \;|æ~ƒ£©1‡“ÒYýœ5æ¼KúÍ•5)xO‘÷Át%##²³3ÈÈ#ÔÞw(¥äØh¢´üóÆ{¡aîâ X[C_þa[³gôÚ®.Eê »¸¸°|ùrŽ=Ê™3g8zô(Ë—/WÜÙ{šd=ˆeÚ‡gX䫬š¿ç‹‘‘¿||###|'µÐwîû9?›1Þo7îfð õ?Nþš)ovSÅ1ªl_›g¸yâ(•Œ«3ÑÎK» T7®Äo¡7y¦_¾Yœ Î$¥if©ßlÂŒw—páÆ]2î^gçÇCUa³ú:0cÌ*¢ï¤‘v'š•>3pèûxÆ)}͘°š˜¤tÒ“bX=a>N«¨ÛšçÝoŸÅüs%‘¬‡Ä_%`Ü+Š×·¯Z™£7ô›®ÿCϦÌ\BZÆ}ö/7ü§Iüç\?Xs"OȧšIDATˆôŒt­.<¬Òcê9ãy>½€ÈÛ÷¹;’£?çùžªð‚ë«ãqâB<’xõû¼…M§§ïötÅ×EÝ~çÝ]ûcbÖŒ‘µï°êŠöŸTÐu2±|Žš'ã{àšâ¼—4%mIIÕ£a~]5{;×Sð å:ÛgâÙöω>“—vù’r+†=K½©‘ç» ]ÇM}ÚÜŒG÷å–5,©”•ÂwKFŠSRåÔÚZ"o¤õ …Ó·â9ù/ü×¾¬8=]ᯌqfÿ¢ü£¢O[›ðç¢ý8UÞFÏ›šó¹ÂôñŸýß}Ò“cùÂÿMµq•œJê€&EY7/mûTšçòÑ ïñêGYùËj;{ºê‡®6Z—UsÆVÂnçKHW™d¤þÍ›S¾Ç´VBö‡Ðµ¶)?LÊß©ZÓUZŽºö»ï³fLÞð3‰÷s¾áÛ¿aæÏ>îXëjBç²îÆ lšóÆR7Õ·}©Z£«â2Ì5㓃¤e¤©î)œ†ÌV…u­Q…ì쇬8Mfú¾š?AS2:)©¯š(-ÿ¸¸8NÝÇA_Ç»ê|z6Џ¸¸bïìAq}–q93þ¼@÷¶ãni؈JygZëeÆ6°À²ÁX^V3‚–ËÅ{_,GõÓkéàÒ¦®]˜³ñ´óÞ/^‡™Ï`a;žšÆ•¨d\‹ñ¶9“´z$1éFÌürõÌê±îK?Œ\a¤×6­é*¥k¿?ZKåàÅ´wvÄѹ=K1aÍ7GïtµÙYw™2j>ÛPõQocáÚIìÑ™Î#öñÞzíóG¨óW ŽöŽŒ^™Nƒ|ùúÃvª°•ÛæÐÎÉŠÕC:b×°ïoÑB \ÅY_µ9¹ä='¸™ͦÔöô®mZ(޶ÑõaФ-BTtÅñ:ÇÓ.÷#åÊ&V\1¼Ã&JÞ½„í´xñD…oѧ"ÔYQ>…-z…1çsbÛˆÒΊZ[‡·co³õü4Ý­´³"„*Ež´EQ>õŸ¾–%S߯¡z&ûWç|‡cÓcN)çJèböì[D…¿¥5ŽtöDYå6ý'N”v&´±í$#J;B¡…tø„*~mSûj{ÎÅ¥P³žý¼?–î™\ÅÓAÓ«ÒÙB!*.y¥S!„B!Ê‘¼¯tʤ-B!„BQNiáB!„BQöÈŸB!„BTÒáB!„Bˆr*ß+B!„B!ÊáB!„BˆrJ:|B!„BQNý?IHº¥WÆ’IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/rf_cascade_figure2.jpg0000644000175000017500000015372113634703632020644 00000000000000ÿØÿàJFIFHHÿáExifMM*ÿÛC  !"$"$ÿÛCÿÀ:ª"ÿÄÿÄS !"1A2Qa#qB$R37v‘%&58bru–´µá46SUVWs‚¡¢±²³ÒÓCc’•ñÿÄÿÄÿÚ ?ö])J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)QÙ:¢#¹.t©q"¦+…ç⇚GSµ  vÈê ßÅvãÉXä7ï ª]¾÷ÆïF “$4[ëçÊG¬Ÿ‘£àøÝμ ~2éR3|ÿÒ›¾ûÇ׸­Fv–‘°Þ×#³MÃn h:ø÷°´«lU0ë¯4YACŽ’V´èh«~vGÎüÐ~æI#Òå<†#°ÚœuÅ«IB6TOØ7Y£üá‹Gü¹é6lª< ´¶¢['»iZ#Ì[Ž$¡Dí#Ï`VÙ ”ö®ÄÏ«þÅ/½{}?h¿]×çèþ¥¯©ÿOGÔßñº±ç,âãð“”}1µ‰ðÕ²””}@y?Rÿ¹ÓCàüÐYiX7&K\¼»&•cËùeÎÜÂ%•} ©ô´IKûþ‹ÊQ)Z½©#à Š²Þ²L’ýø|±d–¹qí×›Ä;këJ$·nËEÆc¸ï±/,)Ho·ŽÊO÷ Õ)X¯—ãr’#H½g¶ÞöwÕþÊ_2=g=f÷!—ÂÖ…Ô¤(”‡ÒAóõ±Ú/<›û‘IÎ2;]&À¶F¶LôY‚˜Ï-·zËQAYŸ 5²-+*æiAƬ’óž;Î:í¿eÕOº $+»æPRJ¶w¢|Ôœ_±üg“×=«ìèøœQpµ¢ü™«mQTï¤êÓ¾É B€QÚºŸ;#Èi<‡›CÂY¶H¸Z.óbÏšÔ%H„ÛkDUºâBì´’¥í ?>*Ó^rä¬ZêßãùUÏ:¿\î.ögç0¹ 0õ&2 †Ù×VÒ’ R¤ûˆHìUº“ä¬ÂTîa¹b3Ï#Ù,Öè¯úX¥½÷“!âµwuæRT†Ò”:…½öTÕ+;à+ÎGvħ·‘±z tz,Wx*‰.d@¶u²”ézYA:E¾õ¢PVó¼¶>/MÁ‘u»\Ÿú{u¶2’’¿•¨€” {”³á#÷$˘çQ±;†;íd»-7¹¬ÀL¸ˆC‘âÈuiBêŠÒ­+@¥'àïUÒ>£ñ?!S‚Ñâ `PöVRÄ•'÷Wôãƒû |vóÇø "n#ŒÃ‰9ØÌ- 5) ’¶©)Ä… I ‚AÍxùü†ûpµ5k….;ó'-Él.A‡:=ú€þšJGùOÆ…SxϱAÉyãsÍ2èì¹+}ÜžKM) ‰¹ +«EKß´ð(=*d8®GnT¶\—=&ã%Õ諪AýJÒIÐó jûÖϘ|;· qôõ_rHæá”ˆw—Ùi¤ˆRÒR YêZtH$}ÍZo¸õ²/äØý«/ÈÞ~ÞÛ¯½$d;>+Á ê§»—5Ñ] J¾4ª •ç8Î䨷㼸3ŒŠóx-³'B™(9kO£¥h9§t•§KRÂ{³[Vg]/²¬nÛr‹…‰ÛŠ%ÉDT‚'6vÂ÷þS¿??Ûz ,UZ½å¬ÛóËÄ'&Nºµ"KňqšHÛËäÚv¢ÊjÄû­°Ã¼â[i´•­j: l“YŸ2æE*÷ʳP°æJâ[µ!`‚Í­’¤Ç?¡+xÿô€}¨/9ŽAnÅq[žIvsÓƒmŒ¹/òBFô?r~ýȯ¾7:]Ï·\g[—l•*+o= nª:ÔKeCÁ)'[µgœ‰ÿn¼¡aãÖÏ{e«ÓÈ/úøPBõ9ÿÇu%Â?fFÆ•\?ŠØ×h\lþYŽ_/VÛå±ømÂD[“¬FuNÌa²m* p¢=ÛðMÁT|³“l¶ ‘vZ¯÷™±ÄuϨ&@‚‡ÔRÒò”R|$)ZÖ¼×ãÀn–ùé¹Ýsü¦ë-øNGœÛ’‚#8µè‡i)’pIFŽˆÙQªqܹŸ5Hɳ5~Ví­ÖÊò)J/’É^žÚÿªŸÒ¶4Hø4Å+:ä‰w[®à0olq.Q%Ü&Ì„°‰¡…2Ãk ôì^Ú”=À'ÁÝtG´£Ãrs?n† Z[Ìκ¿õ.Ú‘éußu’§4¡Üodê‚ûJóæ zºX9 ¶À¹ç÷+]ü¿àöNÒÒÓî¢*žK쿪Ñ%£ý=u_±]ù˜Énƒ~ú×3;Å’,†Z†ÞzeƒoþŠ´Êh8Ûªp••h•¤ §Iä7JV''ºX¿1¦Û2¹W뤋 ¶¦íraHz2ä\=¼ÚÆÒ¶JH²Ð*éŠàÒqÌ’=Äg™=͵Çq¹0î“~¡\=Hu è4S£ílû¾â•ç Öì쇳 ‡Ìyõt†·Ý€å¦:Å¢i>#©+ÔwÀZ¡µh‘°@«¦C}¼e²¸ûfé*ÂÎOjzír•owÓPÓl•ü·ÙO‚V=Á( NÀ\ðœÖSvÈ-,Ú®¶Ù¶ h‹-©í¶’¢´´tZ¶•!@èùòZ+ât/Ëù•NÜnÏË$Ä|=)aÉ¥6æÖ”)@Å#HÙòz‚vvk>·gl¬&ß›Û]å;žc%¶'h±IIQ Td'Ó-¥®Š)KÀ•xJŠˆðCÕô¯âNÒˆØø?j€ä‰7xú]¢ç×pjÞòãLž°ˆì8z­Å ëdøÍ‚•aÂá‘qQs»òF:ûϼ$@Ȧ&l;²þ™zCN´µ6…$ía>Р‚BI‰ût+Ç#åù“’2ü‚úþSm‰j“è)1ÚqR]ð}b¥²ªõz“Û]¾clI¸8êc8òåú!DúCIO„ëôÚƒQ¥yóÅ2kŸ+r"¾BËÙĬ¯Â ]œrk޽ µ¨}JÊœCi$«H)ÙPó A·dŒÞÓa¼\ÖYxa™Ù2„Θ˜Å”ƒt•(½ÙJHí¤ø Ðj´¬«,våÄ|Mš_!ä7\‰ÈL6ön¯+ˆJ„¥K'ºÑßÞ{ëÞ¨Öƒ"·d8¼›#ܱy™2äÄ{ê/¶I-@y‡t‡GvÂ#–É HGP@ ìÐnY®Oµµ6dy“’úcC… °¹Þ)Rƒm¤ º¥Jò@$’¯¶!~“cpï±a\a5-B=Â*£Èl…¶Õäƒü¢ Ê¹Ó ‡sÏpYÎ_²ˆÊ¸äB:Ú‹z}–™£Ý”%@4³Ð¤è¥óÙ¹Zárøæ×k°\¥7.mÊ‘›œÇ —c&CèiO©Kßu¥$U¿v‰ßÁ •“¶ÕËy/²1“^¯¶Ü¡r¢Èw˜d:ËÍ0§Ä†”FÂOB•#ôŽÉ) ѺÆ#}•Î×üR/ æ1q±c‹p”Ïæî9 ¾ëÒÓ«*SÒI!¾¤õ@ØÕ+å‰ÄÜÀ0¬‡n6«ÿªnçzr#K¶[Iiµ?ãÒ *Q.'GØ‘Øyæâ$MmÌ¿še%žÔôÈÖt½?Ô‹>iaAuZ’â^B]UçeCT­+Êìã-•„Ûó{k¼§sÌd¶Äã )"É! !JŒ„úe´µÑE)x¯ QQ«’vtFÇÁûPiY¯âi‰?ì["ºA¼^m3mPÝ›ûl÷b¯ÔB ¢ÙIó¾§ÆÀýª [ÞÈü{ìÂÿ}VL™q®©¸J ekn"ŸK4KD)im*ÑÞ Ùkã:\XÝ›:K1c2‚·^yÀ„6‘òT£àäמ/¹Œ¼“?Ë¢Üfrl8v;‰¶ÛÅ-RÒ†¥>ó¡AÅ•8Hm~Д ”ìý9‹ÞeøI›f ¿Úo-}hí¼ô)HR•¾À#aiBWé¬hw"ƒÑ ‚6ÅUð¬Á»ü땚u¹ë=úÖ°&[ÞXYôÕ¿MæÖ<8ÒÀ:P×R@P"¾xŽÑ;*Ó%¼]&¸ËR^u½95æ[=’•%.(©QJ†Æ)?µAe¤3ø„Á¨I“iºµ1)øTdý:’Uýœ)ÿTM)J)J)J)J)J)J)J)J)J)J)J)J m‹±Ë<›ˆÆjܱɟ*!uà­»1JSËW'Þ°“ãADyÝ\«‰Û½©¥º‡np›S/·Ð§Ò s¯FÕç•Ý:Iò{ |Ší ùLdG¢Ke·ã¾Ú›u§Ù+B†ŠH? ƒª¢Ù8›¶\àHUÓ!¸Aµº¶Zç\Tô8NÝT„ÙE!D'º–¡Ô Uþ¢SŒ™Â ÊŽ´¶û?Zßv”¥¥*Nö QòH«ÏZ.[”Æ/Ù5ª5Ùjråßq,ǔ⒔©dh­ )HÓR7÷Ùó\Ìñ ‡ý§›zȧÙÙÃÑ=i‰KÑÉAi¦œm RPžƒ[Ú¾}Õ¢Ò‚Šqô ü_åÞïùÕ×<›¼°éŒÊÔ¤6”%(NÊSµuìB@$긲)±]î—Ýò+Sc»¬uÀ³q)ꢴ蔕 SeZòM_©ALÊ8ÞÇz“jeÛ¸Úbª)¶y>‹ÇPNÚ!AHZ=© -*€F«›âûe‹)•1‘dÓžÐnåtäÈbv’¤¤¸• ‘Ô(€RŸ¯” É®¼ ‹Ü-­ZŽE—ǶCy·ípšºí›kˆWd©”©'zøÎéHð*Á{ã;eÑËuÃóìŠ þ 4ÃÈSÌÉ ³ÚG¤ï’U¥6@$êó_9O±3²¥<Û 2‚㮸 ”! l¨“à<’h!ð¼ZÕ‰Û_‡lú—*JåË“)õ<ü—ÔSŽ,ù'IHý€H*r¸lW›EþÚ‹ŠëëÂB$‡šQD tAÍwPTóÌREâm³ ±Ìjß‘Ú þŠC¨*iÖ֨àKkêŸ))|hñrW·ŸµgüË%È,ʶHnb´>Ê[T„(-U¥’P¡íøùò ^køµ¥´)kPJ6¥ îh(¸ÿ³gäY™º2ü¦dÉ­%™$¾Â£-´÷ôÑÕ,…iÅîù>w_,—‰q»õîá>LëÜx—U¡Ëµ®4ÏNÅh HSÈ×cíBRBT 4 jón› å‹…º\yä6bCul)*÷÷ ¯g8³/´Ç9é݇%àÌ‚ï¥"#è%ÆÕ¢6”4A ÕW$µãeÅL©·yïÌ:¹×K›þ£òä- Ò Ô:B@Hx »ÆÈñéY Œr5úÖýê+~¤‹srÛT–Qí÷) {${ÓäóÜT¥ øtÁ±÷aW–ò+Íîq^ü©ë‰v [‚Jœ>ž¶T— ! R’‚P5ZÆg‡Úò¹V9)We¸¢ãE”¦‚Ü@ ëõ'ÏÇï¢A±R‚«ÊøÕÇ0Â¥c.€ÕÅÆØžñ¨Ã+ºãõ-¾Èüv?e‡ˆq‰¤²Ã ¥¶›HÐBR4þ’åÎ0Ó/d¹¢ÊÛê)ew ­Çä„•‘²?еrG]g"¯=ŧKp(¡ˆ×vqA)*Q JÉ:H$þÀAñãLJV7ùõÊï-™·»õÑÙÓ$4’úi;óÕ¶’„ÿ~ÇÎ÷\ü­Ç1¹Vû†Q’Z`¤¥NF¶<Êòâ\B—ê4³´© #D|}êFÉÈX òà‹u—8Æns\ýâ]XyÅd¥DšŸ¸Í‡n€üû„¶!ÃŽÚ}÷Ü ¶ÒÙR”|’MV9È´cÏZ^ɯ·w+Ôùî4©(ì5í(m)öü¤ùùÝT±ž&ü‹+w#o‘s‰’¤8Òæ7*LRܰÐÒàLt’õû ¯r!lÎ1wqÛ³óãÄuÖ+… ²è-¬,iCí°?öë˱ë~QŠ\q«§¬`\#*3þ›šYB†Ž”wçù©jPQ1þ/µZï6û”«þM{¥Zã].³0”P[씄‚µ$)µ££ä×ï'ã+5îû.òÅÚÿc“pm-\Å¢qމèJz¤:4}Á>Þèê½;hj¯ «^°nå…ÂÄ‘Û}ºÜ¶·˜NznCq…4¶ÕçJIH>Aßß{¨ìÔôè¿!!;)JR6t<š‰´q%†Ëyv÷“ÜíÖÉ É·ÚîE?3¨$¡@Ý}I!jPIHЭ ”öuÅéËr(·§ó¼ÆØ¨O¦L8Ð$FK1 )®è aJÙJ×½“úY¯xÅ®ûˆ+¿®°Üa :ãëÓ®):)w²z¸ ¤ëJTÝ()ØZìÏÏ_»_/×T0¨±åÝæzëŒÁ –Û)'jÑRºŽÊ:¨HÜEôù‹ùS|‘ýt€Óo$ʈ[q–Ö¥¡’>Ÿ}ZÇÎô£æ´ÊPa\ÚÌWyVß/-¾^±\z iv¶ÂCˆuç\?PÔ‡VÓ¨m-0R”‚JbF„ßÝäLɤZì™5×0Ä»Õ7;ŒFÛK2 ÒË.6Ëhy*AZˆôêŸ>íVµJ ×ý‹âÉiËkw,¼qÕ•¹Ž¦ä¯Ë•î êGd·±ÿ$•h‘Ö­<‡ˆ[3Œ]Üvìüøñu§JáH,º k Pûlý‡F¬4 ªòv=ÄÆfÞïV¨/ûdªÚëiqöÊJKk.!{IÞ΀;ÏÎ듸©·|rë'suÊÇ‚¾‰FT_r”•©îþJ²ƒ­{@ÖŽÉÓiAHÈ8ÒÓrÈäd6ëÆAŽ\¦&s¶yÞŠf€ªÚ‚UÔ÷ ÀP©8ø64Ç»‚"‰ø®Æy•<²·ïbâ”æû¨©J*ÞöIÞêÉJ ¦ ‚[1Is'µp»]®Sm—g\䇞ô[*-´  î­hlïd“æ¹ð¼Já%¸f9LØÓò­¬ˆè"=¾ W`Ã=½ÇjÒ–³¢µà¤ (¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(Ït¶H¶*2'•ôê•) æ½½ÂH%;ÖôAÕtW=Ò K¶M¶{ ~$¦”Ëí+áhPÒ’‚ žk“ï—’gáê]ë’ÐÊ”!I T«{@ö»¿Cq:”ùQ;!@¯bÅõÄf„’Ù õK`„•kÎó­þõçœ{ð¹ŠF—޹v´Y$µmÆEÑ ‡?Þê—ô­ ÿ•´©;øòò7¿CEa¨ÑšŒÂiHøJ@ÐõPQùþñp±ñ5ÞU®J¢Ì¸Ð’“£êd6Áp±Ht¨ TvSÂxUÒÅ`¶Úíp,ïXn1¦Ã˜Ô4©á麕¸’¯ú$(’}Ä(‚E]ó~ß•b×,v蕘wêaÒÚº­;øROÙ@èƒûTTb|“xrÕgË2#–Kd¶e9.ÞÛÍ͹UÙ´8’z4;”•÷Ñ$ Ë2å'-Úñm·»D¿Ç”í¼”>Âá%’ÖÜçu§K>„’¢‘±óSWÜÓ%¸ÝWlΞF@äô[á1nyMƔ뮆Ø%Nl´“¾ÊÙWPê>*'-°rÔžV…–YaaBµÃ— rîR›uÖßS**p%…¨z h<üÕ§•0vy +’¢±)·˜˜ÊÖÀ’Â$4 ¡Ýµè8Ù;J’uÙ*#Æè ðìï NsË]Æ&;vŠü˜¬/-M¡l”•°êVIªÂ’°@WUûSª‡Ïy'6Â%]ï·ö11ØÊ¶™ŠI1’>¥µv(*ÑR½€}¿ª»¸ãîVl¾=ön;Çxê!´óAÕ¡(vgp[Ž­´©¤³é£{$md ½ó…²¹8ÖKŒCJÑy\•«!™ç.nz«Rº¹öÚAJÂÈx@Ö¨,¿‰;Ž}mÆ!OÄ/6«t%Ümì¼§XxÉRܘÒÕhq 6{´J’T«¶4öWl³Ï™žÜq÷½]K¶¨0„4”í]ÃŽ,“ã{T6U‹äù—›-éÛ=¯"KìJipÖ䈈z<„ºÖÊÒ…©'ÓHPÐ#g_×ÛÆò™o_æç×(oþq¨bÓnyÕŠÒR°²’抖ápöWTøJŽ·AAÿlÙ8´~D™k{Ò}VÄÍR®ÌÃZ´$…,%IYd'`l“¡W ÖS•_ó ¾+‚±-»*MÖmãÔS*uÔ´7¢£é¨,'ºF”v ÛÀ× mµ¬n-£Œœ‚ÈKld/c®ìÛI#]¤)§^êõIz%Í_nøžcfÍ.ù&6ÆS~ ›”+¸t!¶€Úd4¦öwé„‚Ù+¢Odù$8? SþÍfýd6!Iÿ]½hÌ/»l¯ëì„ ¤€t6ÅjOú¥‡î§Ó+¤+^6ÛuðV)™á–›—)—e¸0»ƒócN„·ëê}å¸áu¥$%¿* R¾þ|yÑè2 W4ä ‡_n÷Kžÿ\Öc4!¾Ja>¶ßî‚ÿu**=†÷÷ŸŒ÷#ß8¦Í9·1(×ùÑPýÅ©v÷݇é¸ÙQi(vH$¨ƒ¥xò+8äžȲ›æEr‹[ã}L¥2HXúV%6¦®!z8•¨¤dlÖ˘#,f…a~BHmhºÊu†Ð×R=¥¶ÖJ·¯­ù ƒá{”»ßc·;\ =¢\«JW3Ô˜l,¤õ°®Ý׎Û×ީžþ˜òý¾R‚GÓ0²˜ÿ×þš4­é]½ÅGàê­œ g˜†oÅ2Æq£Õ âȶK}× ù+K $kö&£oØx‹ÆWÈm–ÛFW)2¥ÎQy zý&™_ÓôÒTJ[(©%$ü*ƒƒ‘Ó‹øÅW‡Û­+¹ÌÇ®}ùÅIm¦ÃѨ°ÙÂ:¥!;«äWŽ(Ê.Y-²îÅí˜MÝìwg­S•,0ë¥ 6J’‡z’tv6uº¯Þñ¾Fwší¹e½ŒUvK}½Ûr™Ò§yL­k) ”÷ h€;hƒ²GÅ}xWÏ1ËžVö\Ö4¾]œ»6mrßuM¸¶Úl¶C u w²v~(4ÊÈ3þIÌmç6¸âö‹ö¬)±õ鸼â˜ç —Ö(ð€–ÖÝ[¯É×ëÌÊÃr.BÌòü®ÝiµÜ¬“/ †aÏɦAú„Ã Ž¦ßµ¶´z8¤÷÷¬vР›å)÷ùÜ-o¿f°ì÷ äV‰p¿(ˆêÔìEÉŽ¾¾“•ê©ROmßUcÀåâ<•Ê•b ¹ ±õ0þ×ÔôEê2¤%=^V’~}ªø:®<™yo(ñÅ­8•³·Ê·ßQõìOžç¢ÛÐ%$ôeÆšPq [Dv!:x`L}/5ܯÖWn(Ã-VèS"`·]%8ä¤z.%-­„Ž½Ô…?äûüPTx÷ DznÉaÌ·Æiñz½*4ÆšJ_ˆê&?é:ÚþR¤#ã_µte÷Éy¯áÓ‡p;››½hƒ1(WBâR•¯;´Û§ÇuLgåö0Ë–6v#i¶Ý¦L~]ÊÝ.KónSËqÄ4•´„…iÅ$,¨ëÁÑ5-ŸñlÜ$Â,ÂÏŒÉãÌu²·ËðyÅzE¤i´¶PCiÑPÙ'zטü7HQâxgTö?&U‘ÍOû«ëe;×Ü¡?ë\œ…Û5å;×¾Õhôï÷ý|+¢ÏÑÇ?øÎ¤¸GìÈß…Wχp›÷Üó&…®Á›9w \KθûD6†ú”)´¤% ­(èly©~°ÜíøìÌ$Šcä¹<µ].m(íQû–codžšGÇÈQûÐ|ó ·,Vo+ÂàYœ‘lµ"é9뫎%âZe¾žA>’ÉYØO·Ú­ø¡£’ùZ_Nå(maMÃSsˆÃ‘¥-a¤¥Àë ¢v°¤£«€è‚¯oÁ®|ïÈy ™rIXüxÎIJÃd”™»RÔ²•Hq#éP¢ã*D†Áï¯r_ÜõŒ«-ãL‡ˆ±ü{±] Ãf –2upY†ûnÔÓˆg·¨ dÖ¡çgcad±fyÔL˶fvÜ~4\¥§ÄF-ëuoÂy¦Kå­^×@PÚR)?æÇ=ã‘2KžY}´a«ÄâFÇßd¿}–¤²}0µ2ÒPABSݸ®ÞI[®[î3ËwL³¾˜;cSÎÉl\eQn²ã þ‡Àma@m[“Í’ðÒ‘›Þr.;Ç×ö/r©Q²kPqØÏ¥+[/¥*%'·¤¡ú‰!CfƒùÈÖQ“þ¦gx<È6U \Ç'¦JqöÐZC6´„¸•¡`,… @«×§ ÞÌnXÜÈîEmQÿ-„ûN… .)ÇVãöÍsÃãýð¼¾<:(3mÒb:ü Äe¢ÿr}&PR”÷Ð$$v$’OÇÇóö/Ñny…îØ#Ûífßßi[Þ„… ™.‡5¥é°^Ë÷+t“mð ~%±±h¡ÌZäWè´”v?QçCÍZ9NE?“ÁþZmÄÎb÷ É,¾ÁA쀔8'ù$k~*‡q°sdŽH·æ(¶ñè\ t›{l´Í-8Òû“ôÞô‡?&¯Ùªs—±æÆacÏ}²ÜÔÜf<ËHÚ4KjCK*ó¿Ôú¨>C{v÷ÃøÍùvøÑœ“gaÿ¤‚ÙCH>˜>›i$é#àN¼y¬çå\ã&‘i‘dwõS£5q°5!Áuµ0·yN…,mm§aIèuÛZ6ÞÇsüoãâ9*qÆ›¶Û…U®cî­jJ {,-¤ýˆë¿½V¡ñ§!Ü­ØÝ—,¸â’“e‘B²[}wg‹ ê Æ¥uSÕÙ*^Ò;xŽdÊ0ù' ‹ßqøvÛÑÆc²üI RÔ˜o-BGG’FÒHJBHPA$èïPÅ’7gJr¹6™7>êì»dwd§~Ý%Å­[ýüÔ(c›ã– Æ9"wŒ~ੱZŸÜG³.2¤-HIö¸HPD»xòÏ’Zâ\¤åW¤\nW)Ê–ZaK1¡#¢– $ô‰ñµ)GCtzR” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” ¦ßø¿¾]Ý»\,(ú×Ô%ÈÒ^õ$ mÐÒÒñãÞ \©AÉg¶[¬Ö¸ö»Lð`Æ@mˆñÛm´°Hð+®” R” R” ªå|y‡eܯ`¹á lË!ØÏ© ;S)*RA'ÚI~*SÆl­´Û±ÛLKdR²âÐÂ5Ýgåj?*Qû’I5-J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)QÙ;qžÆîMM·?sŒ¸®%èl¤)É);m ‘²¡à Ÿš Uו"Á›uŒ,ï:`dð1Ôð³’’Áî<×ÒÔü‰VȲeÃT).²…½K ,¬¤ ¨x$U]ä=ÙK¶’Ëé“M#Zx6¤¯}¼W¢m8­“ ãÉ–~ Àm‰.¥„-JBçe¯¯bz§²Ž’<° îãÜ„e¸%‹(>ók{3>ŸÔõ=/Q]{hvÖõ½ þ§k8áWäÅü7bra3ëÊgŽã-ÿƱ§ýN…eŽÛm–ßí·˜-·)og¯A‹p_©[®ÍšéOhj@:[JZÔÐd 'ü º •¼Êìß0 v:ˤ[^¸A¹¢áê)àÒ™JÒ¦}1ÓÜ÷ƒÝ_§ùñu¬S”1ûUø„Ã-*¸c×%P¦Ñ%AÈÿÒ_R=D벊OƒÔlx¯…žãkÃäò¦:寿0«,(î¶c8·^·»!§јY$ìi¥¥ä.€Fƒr¬ë7ÏrœW)¶F—…D{¸Þ!Ú™º7y°\…%f?£ð¢5ßàoïªÍ°ûTŒ'“xù‹&7·^“ z$Ýû—.°Öê\y–Ô¤‚šI.O¹@üÖƒø‡ÿ¹8gý7²ÿéi ÓiJüºT–Ô¤'²€$ÜþÔþ\̧à˜ãèÖ&îÑØñ¦v›è)„<òJÒ:+¹ìâ}¾ßóW*ònQb±^?ð9.ìûò3+ÎÞäÉk”àW¬n ¥È~ŸmÚÀhio±÷Mûž¦Üî­Œa®ãwŽÅ"Õ.k¶˜·a¦{É[h qN¸€â••¼•‚A ð¥gQyíuÌåZqÌ&eÚÏm¼ =Òè™Í4c?Ñ ZÒʼ­´§±ìÿJUU޳H78²\lÛ±…ˆÄÇîV';.…ú¨!§VPÊ”ÚT„¨úñàFþøï‹“g7xøÅ¹©ölÒdKl„µ¥Åd0ƃöõÿþFƒ~¥bü£jÇòÞN0?Á—\Âëh¶¶ewÄÕY[n…)A^¹ê}Í…‘öñº}ò2rßÁEÖNZÊn³ìÌ\„W¤¹ë8Ó‘Ÿ}†—êa ×óy?zLVwpÎò«W#Ùq»Æ =¢õp~+›W¯UÃÑ—J”Ç¢:ö ë]η÷û×s{}¢??qݦXnõ8Ïa÷‚´ëñÑouA'Ϲ)Zþ 9Ë?ó‘Å_ù~Oþ¯“A|È.öÛŽmîñ)1-ð™Sò^P$6„“  ?è+µµ¥ÆÒâÒ ?¸5”~+±›ó…r[•ÚÓlËU®KðqTuõò¤Ÿ±öúª_Ç¸Ó È#Yñ«=¶Ñ|ºÛ ²ÜV ñÛR”T]8ŸìïÆôh4W”òÌfÓË2KŬžÎ™wö[m»8ÍÚ H}AÄ};ÉJz²QÕ ê´ “ÛGÔðÝiøl¼ÊŠÚq´© ?%$l­)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J ý¯ ÅínÛhe…Ú×)pˆR¢©**|Ÿ%d’w¿Ÿ«WóÏÄWmNA5ØŸ™ILXªLGJR’”¥Jm*ÙR@* yù«%æÝïj•kœ—USJiÐÓËie*:ZROò5LÆ8wƯɾY­·8óÒï¬\]òs¡ÅõëÙh[Å+=|{øµ_ª§3’0ˆ™{›ùqx~@І…­!òžÁ¥8””!Â<„)AGì("ÕÃ\z«âåùUÄK½$¢àêosAy%]µáí'Gã®´ @‘]°x¿ ƒ„Œ2 „{ x<–»Ë B€»êú‰Oí þ*çJ ^ ŸVqTünß>#ÊJÁ]åÈl÷WeŸM×TŽÄùí­ù>|šíʸû Ê/®÷ë yÓc 6—¥§Ô@%IC‰IÔ¢BV$º³Õ6ÝÉøTüͼ=‹”´^uæZaû\¦êÚN8ãaµè$ŸjŽÀØÝ–k†Ø3LC¿11ÖY[ip‘ì–V‚¡¯±Ø®<ޱ—˜Æ KŠÃÍ%•2ýÊL–½%)yÅ„'ôVÊPgðŸ¼ÊÙsl´TÓb[á1T5¢À Óhyk­}r~À2X±¢_-·)‘ãÃn7ÉÉB™Fú…„¼ÏŸÔ­¨ýÉÕ_©A†b6mmB~FÜ? !¤(ü ²@ù5ù³¼S22Ç®ÂKñ€/Æu‡#ÈhéJiÔ¥`µã«E¹ó<”_Ë_uÇgÍ´Ü&˜³¥ÙÇÛTgÒËIRŽÀZ[ x׊ÓlØø¯¬ù1«Œ‹”T¼z"ìû¡µ¬ôCËŽâC®ÃiR¶APQ;?KÇ6qÍ¢ú»Âéujà—]h2,Ö\SgKèRÁ ǹ$w¢*r÷ÈX…’íaµÝ®ª‡+ RlÄx!å«ô ¯§T(ý’²’jžÇ8ŽWþƒ6VÊYôݹʒÚPÀJqIOÿT üEã.Oþ$ÅEÇ×2R®ë-!ó½¼–{zipìía!G5ÕkÏ1{žo; …6K—È ú²cª„!Þ‚½U 6A?QÞŽ¾¬Ô\×0ìÎ|Iù%•3¥ÂelÅ|>ëN0•©*QB¤”«hN”=ÃÈwÙiÃ1kV.þ1Å »4„­2")ÐÿÖ\í²²¯¹Q$ýê/0äì;ÈSa½Ì¸"àb"g¥Ó*^šZÖ„¨–[XSk:ø¯Ö'ɘ^Sn¼Ü,·WÝd¸©û|ˆæ>’VA¶’HH'@ñûŠ·¸KŒžmÌuÒãJ*fGæRƒìo{Knú½ÛO’:¥A:ñ­WÛ+áì)».é}¶\¥JS­½±{œÚâZP‡‚R¡¡äwçä“_Ë1`7ÉðàÛ']ÞvjЈåXüöÛYVºžêd$±ä?š¿ÐEb¸ý¯³7h³·%¸©KH‘-Ù+ÚŽÎÖꔳç÷>*VªYç#â4¸2k„¸¯Ü „D3m“'Õ#å#Ñm^uçGÎ?j‘ÃrÜs0·9?º59–—鼕!ÆW­ôqµ€¶Õ¢” ¯d<;ƹÉ²îø¬iÎWw´ó¨O©½—P”¨Ý?wÏÜÔ½ÛÄnøÌrífn}ºßÔÄ]q×XRF’´¼¥Àÿ?nßÍC\ù›m·Yé™(C‘^S_L) ŠÃ‰:RW!-–A;PÑù©7¹k¢e{W±äø¯–;ƸF=ën´XZo»6Z™¼ââ­¶Ò–T¢Û`÷VÂïÎêÚÚÒãiqiPÜ®çÙ¶;‚ÛaÜrYoÆ6b!0Yˆì…­å%j i*WÂ~>ÔÔð&d)©ÇŸà»êÅ’.’ýfO‘Õ+õ{h‘Ó}uö¯Ýû…øòûz]âélº?5Oª@p_§ !Åo²”¼‚G´Uý´ó7]/öë [¥É“¥¨mH±ÎŽXˆ q”§À;>+÷xæÓ|Ÿe•s¹.u½ïBR"Ù'IKNuJº•´Ê’N”“àýè-Vü~ÑN8ÔRõ­,*9bS«‘ݵoiZœ*R÷³¾ÄÔf€bt‡äã¶dD‘!·[Î<ç¦ !°§¢”| ‘ö;h¸E»Z¢Üá)ÕF–Ê^d¸ÊÚQB†ÆÐ°“£ð@#î+ñ}ºB²YåÝ®+q¸q.¼¦Ù[ª $!©_Øh)ëá¾4]ÁsWŠÇRÝ|Éy¢ûÞƒî•÷.8ÏMÅvÑÚ’HÐûWÚ¡âÁÇy\ø°l¹\‰£pÓ* ˆ‚W‚tÑy´:I'U Ç"â/f³°Ö®•|€É~LˤõC`o·©éô ùÖ”vAdj‚ÙJ¨âœ•…dö þÑyQµÚŠÄéR¢= ô¯~²útw¯h×63Ë8GzbÍk¾,Í“¿¥nL„O¤§[J\ð ö“ãÏÅÞ”¯Œùq`B~té FŠÃeÇžuA(m l¨“à(>Ôªö›bùÔŒzìÜÇ"õõÚ-­§P¾ª(XJº+©ê­uV¼V)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)JDf·èø¶yÉe´ãÑíP^šãmë²ÒÚ ÊFülëCu/\×hî¶¹v»ŒväÂ˜ÊØËƒiqµ¤¥I#ö ‘AçþR‡È²xêÉ‘d9TcνYÞ—efÜ”µ+šÊ–žß¨¥$”){ é)©¾TåxÐy&F þ<µàÑàBjLË”¦ô‡–ïn0—6Õ )JRUú€ï_|ƒ†r{¦9O)ÏE¢ÔüwíL½kiÕ¡L8Úd9ØО ì>QQ«-ÓnîÝc匽vŒ´ÀnÆs0¸—”—b©gZR”RR° »A ÅYÏìyUŠß™Ç~]¦[LÄÉ­qZ)ÓˆK^’ÂÛ{j׎À Н~ñœ+¾Ü¤çS¥B‹—Ý“"íÑ%º—–‚ò–î•(û´…>׊ҭ8®Wo±]ííé¹ÅM¯ó pB¢ÆêêÌD­!(#·ŽåD«eGB¡¸›s,&|±;=xµÎŸ*ã&*,?Nµ>úŠÔR箾© ;×Sûn‚#’ò[¬ö\rå£m¨®¢=µ¥:²uÉo©p#}zúe;ìïU˜gÙm×ð¶Ç'Ø®ßáë¼hXûMDmæŸR[[d<’R‚ O(xù«aã›í³*¾^1 ÝvV/Ò„Éñžµ5,¥ïL ©—RQ°”,- ƒ 6kžÑÄÒâ»×ßrÇîÖiÍ8ÌW„$1&:Vµ-Ek )q]Õ½õHÐÖÍc÷<Šâ ‘wçdXnv Sn\fBcºË±Ð—}C¿Qd…(?srüôqþQ¹ÿêç«ãódòE£7¸òK3¤ÁŠä£ [iØËq RQ§vÛ‡ ÚÏmèi#Z?¯Ž9ù™Ú²4reª)²Ë“"ØÁÆ;úAæÖÑJÕõ#¹YÐóç_jOÅ=²ÿ#…6Ù—N´ÅMÖÚÃÙŠÂÒê×9—J–‚°RH=Aêzè‚ ­³dvHsEç/›•>æ”Á•4oK@ûG¢„‚ ד½j¹òœ=ü«?Ã9åKœ Ë†å8d¦CN%ÖÝCd¨ - =I#^Íqâ=Êßp¼_2L˜ß/·XmÁrKP„FZa²áBPÐR´vêÉ%Gdý‡Š ¦&kž¸«rîùû¸î@ôÈÍ̱]1ÁÞ”­ôú±-HPq]6”«ÕPYø¨kÑÕŽÚøs cÇ÷G‘pĆˆD6–‘)Ö†»6ìz¶@)¡ZGÂö7[À Ëÿ¼Çzñâ®[ÍÞí+m„))SªØ!¨€ >6H|Ô6)p½ä_ˆ¶&主¸„›v6ú`Å~CR¸¶ãíz‹.2¥!)iH@é²vîüUϘð˾uƳڲF,^”æ&8ë¶ï«õ .%Ô$Q}èI'g`÷®|Ë%äy.5#+kioК¸Môúæ ¬¼¶Áí¶‚œaÑVÐV’öƒ:ÿ¾Œ¿òuóÿË£?“ܰ+©è»*ï,Gx¶_M¶Zštoå"º2~9äK¾}oË#ò]ª–¯¬nÚÁÆ=@Ó2:vBÕõ#¹´ÚON¼ê§s,/#¿d˜uâ6YǤýSÍ*Óêý[Šim,…z©ôÁCŽ4­h…7²gî¹–e”! Ö¬:Òû¾ÚœLwЩþ¢–ÉRº­*'σ¯5Qÿn9‡ÿ+°¯üÇ¿ÖÇñÔFÇÞƒ3²dü‹b³\BÇŠÌ8Üv[ó!…te.¸‚ÒP¤…ö Yê #¶¼ìÕšž6¿]“ ß™ç߬pŸeô@nØÔS%M©¿¨ZIîÒ¤Á làéT7âdë}çæ[-^%µ”m¨L¼ÛKxý¡ §”>Hø®~•s¼òþy|¿Y3v­ñ ™N¡× )¹+q²P²²§IêÑ>jÍɘMû*È1{«*fjÃ8Îô\µýI}Ίoõz¨ê:8±­$¶êáÇÎHå˜ÙÜ\–ã  ÃMζ³á¹Še/%’¥‚Aõ‚Q>:ù ®  ߅˳!*&åR7ç±[ÒJÉÞþä×½"G%ñ¤‰h(ï­n¤«±JËIûùßš’›Ä9'äWlB×Ȫƒ‡Ý\–^€lí¹%¶ä­ky¦äw$—­¶¢ù5hÊ8ý3bŸ]Üǯ6ˉZX¶c©) eÖ‰h>›gÁI#Dlì ñÛE²÷ËÜ‘ë ©‘Û‘f}(pl%Ö™õ¯î•šFµÛï|éŸZ.±[—f3jfC~—§&‚“üVÎ?ÄÅY¹>ýÅûµÞï,̹Ü@BŸs¨B@J|! BR”¤|òI& ±l-¶r•Ë4¹æÐnî1›Šì¬ž 4§TÈúÊò’ê¶zû´>(*\«Éù+™È²[/øÄ¬4ÙC31{´×S´åØßÓ?À@ùóVÎÊgföYsoS¬·GbK•Á³L‚–ÏM﬿qW“îOV‹J »Šveò\ãê¡2ß²XU´Ç‰‡\Hø u䬓÷J<ŠˆÇáò½ƒ*ÎßDZlreºá\ö\¸^T˲c°Ž¨Km8å³åe>OƆ΋ÆX£XF jÅYšääÛÚ(2\OU¼¢¢¥,Ÿ$¨Ÿš­Èã{ÔåîfœHÇ¡_å™·(ÂÜÔ…‡Ô€…ºÃŠ ¶¥£}‚ÆÓà š Oå³,FG§XnRTúîèYC«^6•¥IñãÅK\ÿîtŸþ…þ¸pìv׉ãP±ë3*j 4¶¢¥¨•)jQò¥)JR‰û’M}ò³çXæÃ¶Onß5æT†d¹ÖKJ#AE“Ûûlz.b÷\†ïÃÜMŒÜðÙ\}sí:Èß–ÃÉ mÄ­ŸM¦Ô\AuiKaK ëßÍh÷«ÝþÍø’¿*ÆÎÉ”î/n¢,ØÑË H—¢}e ìüoâ¦müQpg…mÜ{+.L´»ÛmÕ›poÑTwã™.+¾Šýð'â¿xWd˜Þlî@æznŒ.ÉÓéK·ÈP`(¡×/µ•¸µ+Ú7½xÖè3ËzÜ›øQÎpˆ¸K“zº‰1–è*k½Åam• u²’RuûÒ9Õ m¬æ™ yŒÊÚõê¥6½µ/ÇÜ W>3ÄÓ#ñ¦OƒeJo1/ïJyOÅ·‹aR§ ÷VÆü £_XÜs”Üoö)Ù¶|‹ü+ Ñ>F,ȈW!-­[«õܤ,$$oÏñAI͹)³å×[\l›ŽÌYKi¶¤b©  ã_ÓYýÊ|~Õ%}È$åüYŠ»}¹A•é–A‰9Ø0$ÂeÆ„¥²ÔŸê¥¡´ø=¼x5¸Ô6kÛ²ÜnUŠéꥇú©.´®®2âÛˆWÙiRR qAOÍŠ!sÇH†„‰w÷(S:DC)t>á.¥°?oPþþtš¤áØ<ûvL¼£)ÉÉoHˆ`ÄxÃDf¢°T –ÒNÖ²”¬Ÿ=F‚GŠ»P)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)J繩¶ÊSzÈ ¬©¿øÆŽÇúÐR?Û7~`Ü$äÉqN¾#´ópß\w].ÂøAijìu £ð~ÀÔögšâø{qÕ‘]‘r‰LfÚÞ}òÏF›J–½ªó†?”ÛUÇ6˜ØÎA>lıD.<¼ÛDµ!HZ m4èi„ô}EI%G`Ó¯wx8/;ÝrŒÏÕf»Y#F¶ÝÂÜb™[…æ´‚ïÝ Z ë­ìP^erƼÌ^S"ÄÚŠW*$wd®¤6•,|SíÑÞ«øß"aî^qëCwU®VGK´ê#Å©-Ôà!ÞJ¥uRññäU *öÏ*dV›l˜ö|„êÔÛ©µLq='$¥µRPJFÀíé…›uÛù…kà‹t»ºc½bô˜»©Ö–„@y6µ´YuD—;«A'Ï‚~(6ë§.qí§!™`ºä?—\"!Kqá¾Ê¤¤†ÜR;Z@*$ŸÔÖ7™ã0æMj»²í¡¯P=%Ô©Éoõ‡*AN¼…ªÇ¹#<ã6ø“÷Ü’ÐÙÇ­×4¼_sÿrJZ£¥þÊ)õ5ý‰«÷6Ûd^¸µñbˆgµõpîÄŒ=Óc7%·žB@ýEm¥^?ͽ}è$ñ>LÁò«ÇåêeLSJy¤*;­ÛN¶¶”´„º‘Ø{Hó_›ï(`6;òìw\š$i­)(|­MÇRµÕ/:PÑ=“ µ$ø®,c‘pì³(ŽýÖPŽé~Z ©Ø}7”° kQ)Ÿêñ²47X5½Ëö=Ždø>QB°É™6â©É8c“º‡Üq~£%à™%hPð‘´øI®ÈzÜ@ ‚Á_äl¦&„]r‰¬­öà1Ý,7úÞp–ÛOþ–¤¤*ýãxr-üyÀ”©Ê‘Õ—Lä„È*KIÕJ{í)^wäüÔ_7c3òÞ0»Ù­*@¹é©PBÎ’© :‡›J¿ðT¦ÂOðOÅ/.cm8iÈàdpn7—cê,Q­S1Û[‰ /~¢Ö€¢J—Ø($”üV‡~Ïð;ÉvÛîmÚ§ .4Û£ ºFÁ)ZÅS×ÌP.vèÖìbÝ2Fe!ÖYrÅ*#¨vRÀuRðÕ†5–3/^.ßJ‰%×SQÙBö€®ƒº” ­ û·Tü¶ñËöL#“ä]/â#Øë I±]cZÚJ&4–TâÁCi'zJµðSíu;.éŒyg&½deØØÎTÜYH¹úJ[1%²×¢¶žRAôÒ´%µ%Jñ°±½èT70gmÞ¸'’.RY1÷!® Žd†ÖÊî+S:R‚W£Ô¸JPt;h‘±¢Cꜟ6¼?Æ%K¶y3îoÚr(qà°¶Ý‘—ÖñIuIJ—ÔbÁtjÃ6åå×Üa·¸ÖH˜ì“:$AKè¹ËKIZÊ$²’âQì!]‚Žüj©sŸGû|À´L°äsW~‰-¢¥µê&×!‡€û$ý2ÇŸ%K?ÞÁ-‰Å÷ìÆ×’µ/W£—kb2ÝUÄ<Ú ã·Ðº—R¿oÏU$ül€¶X9;“‚XòŒ‚÷hÇuc²Z¸Ïiž®§Ã­,€¢…¿j•dz¼"¸~]æXíÞgBçÓÁ¹²ûGʺ¡Dèlyþk=Çx³ {‰±k$Œ» Ò*_—p µEž ò\SÎ }Bµ¨m?:|T÷ñÅãÈ4™¦î×¢¦þŸü?“¯w¨ÃI_|oGtlÒ,ã°l68\Ér¹e·§Dx±ÿ&·¥€Ÿ}[d¬4Ú|Ÿ;$¡;Ú«†gxËËñž<¶äMZ_ŸkzLœøM¸ãî4[G¤ËgMTV\ …‘á5÷±4õÏñ“O”Ëž•’Ã)>Àd8󯔟ŸI~ú÷¨>nEüâÔÏ$ÅuÎ:D<ÑjŠ.!ÏWÐm( yGcШ«·š ßr&óËö ~»1þU ,¶îÍFK ۥĖB=ž ôûí!;JÇ´}ôJÈ8&=º&W‘1‚Dz7}SÛ}~õ¯Ð)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)Já¿ÜM¦Ë2æ˜.3Jwé¢%*yÝÒ€¥$ýÈ î¥f5XoȳɕŽeý¾ö¦Ñl¸]!¶˜ÒVçè@q§¥|ývHgÅwf Œw6oF —Þg=R˜rÝ2šu´t ).>ƒí. äøÝƒJ¥à|…*Èn˜û˜ÖCÜ­±Ø’ëf™A[n©iJ“é:¿»jÞõö«¥•šÜùhEÌ®˜¬^;Î.“­¨C.h¥µ4µ-(q%rz¨¶½lãâºì\œÕæÃ|¸BÂòÃ:É90¥ÚÄq3ºÚÁHõ½2ž®$þ°| ý*ƼœÖu1Ö¡aye²3N>Ë“n,GC y•”-­¡å«°P#ôëÁó_|‘™Ër‹ÅœK&¶9hpµ.MÁ–ÀwHPl<¥)%cÛ­}ÁñAx¥Ry‘bbË}”cY útèÌKV–Y_¦Ë%jYuÔkˉøÝCá\ËmʦÛãGòèšZÞº[\›:S5–Ãd†ú<£Øú¨ÐPÏÈ Ó©Xú9æñ¹ÙxÓM¦ßõU+éaôkÐR’öÿÞwí(P:ýªo#制|²6ΗÝåMõì9om­‘Ó¹žJ¶’´5ò|nƒE¥Aàù]Ÿ2±þoeqòÒ]\wÙ™~;È:[N6°…ظ#`ƒ_+ea¾å¹1k’dOÇÄÌ:€[BŸ (HVü¨¶Çó °Ò•]Îs+>!¸¦\©—þžL¤ËsEE- ~ÀTHJG’EŠ•JÁ9*Ë—dw r5ºõl¼[c5"l;”?Al‡ IòBí$§DhšºÐ)Já¿Ýí¶,ËÕâ[píð™SÒpûP„“ÿ°y4Ôª‡”l÷ÔTû&I;sQM±ÛŸ°ÔÓÔ«ª³Õ}A!tYÑöÕòJ®r.a ÇÑxo¸ÜC³„ÌX ¡o:óÎД…©)ò¢>T+—ÌçdUÁ‘eÖ%’çÔÝYŒ†I€¶òÕØïÐ>h-´¥Rîü‘e´r•£nP.‘§ÞYqË|Å4¤|¶žËl(/°Pº@ßÐ])T O'³sg*\|/, Æ_ä´¦#…ÈsIQK?ÖÑ! BÏbŸj‡ßÅADç[{Ö;n@ïçq,—ÆK7¢Ä !iCK=du%iøùø ×)JˆËòKF)bvó{¦b¶¤¶SŽ:âԆЄ‚¥­D€$š zU"ÃÉV»…ú%ŠédÈq¹óûýwˆA¤Ë)…¥JGn «¡!ZǃWz*¹È9t\6Ót‹UÒêä¹­ÂÜÚó®¯d´'ZIùU~p¬¦^H¹I“†ä¸èŽRní0€÷mþI×7­yÞ¾GÍ–”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥¹î÷:OÿB¿ÿ]÷›µ–e°O™o2ZS_SIKÍlk² ’ ÷]Å?Ç2xwŠadQ¬1ðWgZPãÐ$:åÁgÕAŒ…¡(BKÁ°¾¥GDê´îMs*G=bkÃcYe\9rÚn’\eŸO׉²ÚJ·×CZÖüÕ†XãñSͨ)¢²ZAW¿d °qj270‹LìÖò§¢¥72„6pU¤íI~$y5i®ù»¦Í)Và¹s Ÿ¥DÕ© ý‚Ô€TòªM¡þoUÒ*nÖ¾;nu?R¨·‹t7¿w@¦@*Öõ²'7‘˜æ|í|qÉ.à1H‰òTÛ‰X\ÏOÑOE!jÞü8PõÙÑ5´ãŒ¾Ýž3³£2ÅÉö[rw¦„ŽÏôHY=|±­ùðV­\tÅ¿“'gˆÊòW¥Îl4ô^`Ä-§¿¦ßPÐ_TSïÞÏ’jÅ”Ú^¾Y]·1{ºYVâ’DËjÛKèÑ@¸…§GZ>߃AIü:ÿï6õÿJ¯?úsÕûâùÂå?úBÇþ¯‹]kÆ-`³vi–Üã:ãï9 ã":ØS¯/ºÜÒB»V¼Ÿ†Ì+¥Òã”9#÷Y?U,µ*œp!(Ìcð”%#ø¹¯[.xó÷hÄšÛ JeIp)>z¬o`>?j¬~a|!HS-©æñø‰C… © ²€~@:þ¤ `Pí¼_´ÞïVèq"¢+S˜q¯«Iû”ÙFÔ6³àk澘΃'ßeÅe’ÌY3iOÅG@„¥²–Ò$FÒ|üîƒ'á£Èo",Fí¶pWr{ânnûÉS%éžmÄ„zÝFÐ¥5±¢­Lò¬‰ÎsÄ$à cóä9‹ÜÙŸ)Æã)‚ôSÙ+i $þxÑùø©+O UµÛm»”¹ä’IûÕ§ãkËî9EµwMš‰ Kj‘Ù˜¿Pâ\|´{JÖ„¨ï~GA‹Å¸‘þföTß!fó¦ÊôDÔL“MKC!A´8'¨î¯ÒGÍ•Y{ˆKŸŠv•p>÷iJµ×º¥‘(§ÿ ¨Žð“Z…W3|6Ñ–· Sœ›t °n$$ÅQWE± H)Pù‚”2{4¾WË-–ÌS(—F°õvæem¹ sÐ- ¼B”V¥”öB{kDªÏ?>åÿþ1æoüαÿü•´`¼odįóòÓ¯7;ÍÊ;lMrš_qðÙ%$¤ùÖ’ <îçADÈ_å¡)ð¬ :D²¥ÞeÈbO«¯wd4ÒÐ?ÐþõÛËyÊ0éÖNQµcϦbº9Ù!ç[C©”´¡]» øµ[ª3,³'!ÆçÙq¸[S5…2©P Hh’…zŸçTöXêy.³ãvú–lnóåwºý0üuwj#*ÿ3…a%dxBv7ÙZ¥exÏ D°F³@‰ÈYÛ–«;ì½Ü©‘Áô””¯Óa*RIGo>wóW,ϵår¬r.R. ®ËqEÆ0‹)M¸€@ ×êOŸßD‚ζʺâvˆ°/kLôäV×¢=uY ­Öä%i@Ej%>*øØù®{mó6ÅùÃŒæW‹=þ.H$7 L+r¡;ö[.”©×ÐP•{7½ø¹æ˜Å£.±.ÏzeÕ°\C͸˪iÖB»!ÖÖ’…¥@ j+ãûeŽùùô«¥æÿxK*ŽÌë¼ óŒ4¥l¡´¥)Bñ²µu'TúÄù²Ó.íʶ¤Ûït…ŠÜ.áܧrcÌ€ëiØø ROð£[eTg`‘åòlõY õ©p¢®#pu¡M/©XRKe~T„+ÂÇ”ä§påÚúßÉ—»s©zûÏÔ²´‚…Úá¨yÿZˆü:ŽE—‰`pï–¬yXQÆP´.;ÅçTâDs¼—žª×r †ÁÙNï¶.0±ãøÆE`°\nö¶oÓÝžûì>‚ó8 Z*AJP€!Zÿ”ãL>> ‰ÆÆ¡Þ.×HqDeÜœmn4ØHJ[@ê|xß“æƒ5囯"EÍå3Íä†íá¶Ëi³c–¹Qê7ÕÉ ½ïc@ø7ÆVÙùf8ê9 Œšä¸7FfCÿÚâAq§HZE*[;Wì|V©U¾KÄ#gxŒ¬feâói‹(¤<õªBYyHÊ;)*UðF¼«Á<£XXÇ[/cX½×ó·­JL¦ãhÿŸEÂVâ} '®É$ f³["Ó*Ò¡ÈY¼¸V§›z=½é1QôJT–£ ”ÿà‚Z/8}®ë›Øòé2.Ÿemöã6Ô•!…‡R½DÕàxÿíÞ†‚š!M» Z×d¾ÙmWÏÎÛ™\¶°èe· ‚’â‚U¾ äWç È2‹w";€f mâ[¶£vƒqƒ Q{4—RÓ¸ÑZôB–‚¢ y±fø}«-b×96$Ë{ÿQ|™\êRT…±I)) ¥@èƒ_/ µc¥Ü[—rºÝæ¡ Ê¹ÜäzÒ]B?J6JP 'ª”ì“­š =)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J|ä¼ÌhîHël²Ò ÜqÅ¥ d’|Þ¾•üqqµ6âR´(¤¨l~Æ‚˱L¡O§Éì·³$¾-óÚ‘évß^ÝzïG[ùÑ®ñ‡üCþüîÙù×¥ë~]õHúŸOþ?K}ºÿ:ÕPÿâFï †T¬–î…Û %)žøHñöà}ª¥Ï1>›™ñœª?ï¸í‚uãm •8ÛRb%ôhyQ1Ü} yò¡âƒc°å8Åþ\¸–,ŽÏu“õ”Ì)­¼¶ÈÒÒ‚J|‚<ëà×l;¶lÙ¡Ü"H•iD¶y+r:”žÉ$¤”@:ØóYï ·9/%ʈÜt6æL’—@H(ü¾‡ŸÛÜOúŸÞ³¿ÃóË‹Êã&yNk‘á\® ©{ úYÄGê>ÀÆ}?„$ÐzF¿:Ó ­çœCM!%KZÔRÉ$ü ýÖYÌl'$ä,ç„®ÇrreÊè¶Z"!²Û æAqÔ©Cà†ôA‚ûfɱ»×§ù>Ai¹z½ÃI1·{ô /]IßR@?¶ÆêZ²—±Þ8·óÝ¢÷n¿c6Œ‹sð^³4ã-ɘSjô‚¶”¥å; @Y—ø€¹3)ÖE§ÿ¦²ŸêrTD+Á×”ú^ñö ÞÖ´¶…-j BFÔ¢týÍ~"ÈbTf¥Ey·ØyÆmAHZHØRHðAA›g¬OϸUÉȾ¹cfM±Ù3³Kf[r›ô”K"GO-ŸºÐHØØÝHðügfþðèlKr¯âZD†ÆÔÒ•, ÿ¥ž.IŽË½=d‹~µ?u`mèMÌmO¶?u6aþ¢¥kå #Ÿ–ŇX!Ä{7ïŒ~k1ÐÜÅÎBW0© ©)çQØ wؽ èl‚~ú Èr ;©9îÙhaçC-;:RKŽHBJÈDt<ø5ð–bÐo‘lSr[4[´Ä¥Q ½9¤H|(’†Ê»(tj­øŠ¶A»ñ%ÒÂ:^a碶 ~@T–­z¨>j¡„ô‘™`Ö««-?vÇ?6³ÈyÐ…º¯§ ú¨áKeM;üz¦ƒ@w•x½§Ó¼‘‡!h%*J¯qI Žÿ5d±Þ-7ÛcWKÒ Ò¥A¹Pä%æ—¢AÒÒH: ƒçäó¸Ì±œ1ätÏÂ&Ý”¼¦+m¼Õ¤ª#!ØðÛÒät(l‚¢®¤‚v>ê e׈\1Á·ã¶ü}qgM•!I½dÍZÒ…¸áu]âßܳíuPjµÞO9|U‰¼†Ð»²*‚™­™o}¿û+5Àù>ãÈ9x×§ˆÛTüŠ%Y³8÷9,«Z ¡´­öÞ÷¨îKÃ0Œ/ÃÛâϽ.'ÑÚn:>uÑI>›­¨ ñsÞW篒N Ük†ÿy´ãö—®÷Ë”Ke½Ž¾´©N¥¶›ì ”íJð6¥ýȦ>Ôæl6önއ§·¤Êp|-ЀÔî¿™šÕZ]´ÞàG¸@x¡NG}¢……§cøRR¸æ9OŒ_}¶äl=×\PB‹Üe)J'@ä“ö«…câÁgÍy¦DoÊ`·a>’–Ò#!)—uuÄ•<¥†”…ðVè?(­‚‚3$ȱüjsr;í®ÍÇHz|¶ã¡K ¥ Ð'_:¹q¬ËÉŸv>7•X¯O2·[·Ü¦ÒNPB‰sRÓ¡CœÐjlF%6`‡› þú?zÌ? Ða1À8|¦!Çi÷mÃÔu ­~õ|6h-ùCŒâJz$¾DÄcÈejmÖ½GJÛZNŠT ö ‚ wä¾.:/ùu‚Ò¹-ú¬&uÉ– ¨ÿ‰=Ô;äxª6Ue³¯ñ‡%v˜ XîÎ: tµz‘=Êñäù>Oîk›ñ *ÁfÉxÚí|Š•AbúêérUÐÁ’ÛiRÔ;௟µ«fºÚïVöî6k”;”'ääD}.¶¿ì¤’ q[²ÌVåwzÏnɬ³.LÿÊÃbsN<ßûT?ÔVcÆÖ{~G•ç— ²ãdÃ/¶èðÓ¨Î[Õ&WW’ü–[RR¦ÏE¶žýRIH>zîªü‹ÇioãëFpÇ¢@¼ÛØ‹—LŠÊ#Çô\B»¥ä(¬¸èAh„vSžOŸ!èúVGÉ\¿7ËdXÙ·áN¡”!Aw<Þ5¹óÙ ùam©I||üÕ{'Ïçç|u ŠÚÕß'·Øå¹eÉ[¸§éžZK©/4”úkZϼhÐmÖ‹ÝšñëþQwqúuúo},”;é«þu'Gø5ßY}f³a9¯Þq›l;KÒ/Çä3 ÒdCu‡”PHÑ[HZwñ¥hŽÄrJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJR_¦P„ù„†W(6¢Ê^QJ õí õ²:ûûRƒ³b|íhÁoxÕ½w®ÜDöïìW%¸ã‘¨ß(.x;ÿ(«bñLÑ|­ß_ü†UŽ …ëTÅ=)ã-Ò÷¢¥¬#Ó)W½„+ Q>FŽ—J kãlß ã,ÎÁdºÚ'^.³ÜU©ù<†ØôìÇkÕPJ”\CmoÀ <ù$Wí\tÅÝ㻾ŽáVûý…]¯r̹ 2aL©(Ph•ö R‰PN”Øšô-(QäœJ^F‹]ÎÉrn×Ù$ªM²[­ÚP¶@ ©µ¤è€Aðø«u(2‹™Oåë_!fq†Õo"pml8¯.iÒó€(„ë]GQ  Ù5~V'Š©EJÆl¤“²L¼ÿ÷jf”F¶äïa®Ù0X8òW!—"­œŽË-) NÑé6½Hñ >|×Z3ŒsŽ!c™ ïÖZ-ÌA·®·màÓ!N•¶‚”„ƒàš½ÒƒÇñ.x¶¿q¼HGMÊ.«Ëóæ,Çg¿d²Ó?N[Hÿ(PìFÔIó[ºwÔvÖõçUý¥/™¬¹NC†*щ¢Ì©oJenªç!Ö›Km¸ö–вTT„‰óãF1¬ö9¢Ý*dàªÔ¶î0THšR„zž£i(JR{¦'Z=(3n*Ç3».Y–ÎÊÆE¾û?óÿ/–ó®¡ÀÓ-”­¤Ž½Zí½“³¯æ¯·KM®è–Ós¶Ãœ$ Ha.ußλªì¥CVUµI±Øíg†”Zc% U¯JJvN·ªÆìXo8½ÍÊ.‘8êñ”Hmm1q‘t™Ò Gô·Ÿ§!´Ñì½{”k{¥â6Röü[eÆ\p:5-MGD®Ÿ¯©ó×¶ÈØ>>Çâ»ñö®ŒØ 3{”Ä»¢#6™°ß¦ÛŽ„ŽêJOÀ'd î¥KqYxÂ25Δ̩›ü»§¨Ø#M¸ B¶>RÚŸô«m)A ™9–µmiXt;$©ÅàEÖS¬4ÑÙ mµ’­õñ 4OŸ4ïÃö5žáxe¿ÊÚÆ• ×3E²[îºê»ïK $hý‰­2”îE`æIœ¡oË Ûð/BÕd(­=t–•:Óëh…¯QÈJ€i>#ÉóSœ‹g7¬ÇºY™Ç>ŠÅ7ëfý\Çâ”¶\eim)i@€—J$l€‡šÑ©AÈ6™6s±[¯³l3%5Õ‹ŒBC±Ö• HØ‚FÆ÷T«Ö+Éy”cy„ÜR%„¼Êæ¿kKë“5-­+èàêÀ*Bv{8u½|Ö§JÉøõ‚á%R§Øí’ßPN¿ YÐÐÙ#u š`Lƒ—Ãe›*œu¹Q¤ÂaTy-,-§€©):?#cïVêPgV¬K0¼å–[æ}q²ºÝ€-Ë|KKn¥JZ fK¥Ã±¤)a-„•’T¯ÑiJ)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)J)JFå…ǸBT©‘ÑÖŸZ#êeæü|¡i ¤ÿ"¤ª7(š-ØåÂi‹2Pf:ÕèÄaO<ç„! •ày óv w—eãî;É­\‰~¼e7·à32Ë>ð¹éš‡Vþšp©M ©Îé×^žíväÛTi\ïf‡rÍr‹-®ác™%æ¢dOÂcÕeÈÈGT¥a õqdò|š§â8TkgáÙM“Ž%[s,z\g–¬¿Kty º,Rw»EÁ¯=Á:Ù©ëúÚÌ9 s8âÛ¤–?!y™ŒH².á ¹ Œ´ñoÓö¸¿|½߇¬-Å3&±fל‹¼AŽmíÜ®R&)!NúŽ%O(”… hú|ý«H¨lvÑa±8¶{j[¶Ù­ŒúmŸ%-#{òµ’~OÉ5ýc)Æy¶Èìîºâ‚P„Ml©D>I ÅòK}™¾eÍ“ò&]g³Â³Äº%¦ryQ›mN.O¬P„/ô„´%#ÇØy«¾€¼1›Õ¶Nm“\l÷i­ÍµÉMêOÖFé5¤ ^¦Š’¥hiZûš§\,ÖqÏùE¿.ãÛ¥Æß.ÏÝã:Âï Ó%âÔ•'Mì-¾«B'Z;¯Þn°ü]"Ût—a¸Öèn˯„'H@*V†¶a³A›~,ýÊÿ7(Ë.’cÞnvæÚ¸ß$IcÒjRÛGôÖ¢žÁ(íoç÷®Ž³½’¹Çò<žâݶè˜Q#Ü/Éa¶Ü‹ó¦Ö¢žÁkV޶×Åsþ/îýÊÁ7Ëmrd^nwݸØäFcÑvRÜGõžÅ+Ýïçö¨Ü#;M‹5ÏfÏÂ9л^›‘mbÓÚ"0É>ÿj×î4~ônPÃ.9%Ú%ÌewëMªßm”‰j¹? o¾¢ÙmjSJ XÑßêþõPàœ6ó/Ãò÷³Œªc7LhþkuêLQ÷ÐÒëAj!²9äy÷ |UÊÝ”^^áHù6O\Ø»J·…J¶A·<ì†ÝsÛÐ0sÁ#{Éð+ðÿpz7ØŸd¾ÛåYmME•eµÖ_RÚe=½6Ô¥‚vÉð(2¼;‰Ã%@_+æ‘2ë…Òïm´åSTëÈ •6•Ÿ m ¢Oοr7iÏ­)_6ã¶ÛÆw’Ú ÉÇ$¿$EÈ^†Â¤0ät%A!A;!k'ÇŸ¿ÅUxÎF'cgóë§æIËbÞnsâÜæ%å¥÷ŸôÂÜK`­%§@ê¢@ý¶M¸?Çœ­€ÈÎøÒ|–ÝÅ››¸ôs_,8Tâ PRêOc´ŸÉ ›À² æóÄYpÅnä× q«Ìµ6Á¤„uuJ!e S‰îU–ÿ¾þ™¾óÆ×\Nán̲;Úî×ȶ¹öë´±%2ÒöÒ·Z¤¶À.ލê…l‘ÇÆ—|£í7üf^™j±9q— Ø—=FU'´H‘Qä»¶Ö¯‚:tÑEGà¹tË®WlÉò¬;•’Ìy¸‘"/’Ì .— \q)IPn:tT’ðCКg· ÎEɶÞ7³]æY¢"Ú«Åîl2 ²\ô™ŽÚÈ>™ZÂÉP÷·¡®ÀÖ—Y®oñrlNDµY¦Þà¿kü¦ñ ’Úéq—ÛA#¿R·B’=ÚP jƒá‡Ù2œ/=Ȥ^2Kåß bÊð]¸?õ0âTáyßê8 e¢ÉûÿoÁz˜†’ÏÕ\mÌÉyIHð Ö’£ÿ_Þ’£Xø÷ ¸ËÆñ¢›ñådÏÏCIR†—é8²Út¯Üæ§¹…›»˜´i|vD¸w(²¤Ûä°—Vëp)ÂÈR’Ÿ\r lUj/æ9·,ã95·»Xm¶e¦dÛ¤3é¡ÔÓ «ÞP…J;Bzï{¬VË7;Þ3Ϙµæßz»&ÑùkÏÞ­ÆZÕÆñ£ú¢®ˆ-ýOªTÈl½n5‘g1Ú½ó½ºÉ?¾J´KÅ®6©sluPÁ¶§‚z ¡§“àè|‘AË„ØÞ”®X‡#'ËC7ƒ2•|’W´Äb@ ¨«mžî¯e:öè| ©ñÎ<ÎIa[yc,Ni>K«?“K}¥¥µ°©)[]Ê@!}z«î¡àèÕ‹‡Ó”cø OÌ,WSqUÝhôãB[®Í‡?®ËiÚ”•©²¡­øßìk³ðˆãðljüœÜw(·ÚŶs²mJ!å”4]RÁJK ©KP?æÑòvܳ–0lZøí–õp¸³9”¥KC6i’€#ÞÓJIðGÞ£/9lìûWû)œø}W(ñ&Ë‘ ØŽÄŽ¥ó­&Ki XGÇ´Ÿ¹©L·áäw·n¯eÙ½µn%)ú{fA"+ ÐÖÃh ~Oîk†è…q&r¸Úãg9Ô•:’Ì'%=r”¥‘Ô•l¡±­¨ëÉÑ>CÞ¡\øï.ÿ)Ëo÷h×ËÇå³-—y†g¨…´ë…ö”¡Ýµ ¶ „u$hV»XßÞ•š@È2\c9»å—4>ö7*ºËgjKEÔ€”î(÷^¾ÃI­jó] æö;l^á:Å·×&êÒ’‚[H)K€ÿÄ|?Ø: §â*àÄ fÃõÙÜzÛ"ÿ‰ó¢ÏT5¡‚— u$‚@ßšíá¤a¯CŸqÃs›®WÅ!§—2þõÄ0¤ì€Š>™!^~7¡ûWß•Ÿ¼Ã‘ŽÏ‹Œ5‘YbÏ.Ýc·H–ÈôÔz: †Ô•‘Û[WRz‚j' sÈ9vf|ÝŠáÙ•dM´7pcГqwÕ%Õµú–ÓÙ î‰q^CO¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥*'1“s…Š]fÙ• 7ñv9–Ú–Ït¤‘Ý)RTG±Ô¬åÎw؆äçj²ÀN_ÝQWmY>€}/-Z ìQôé/ÛzÐßÞ¦ùW)å\W‡•Û%áo!,Anc-ÒI\‡ßCEM”¾:¶=T“ØûO“± Ö. ]-ïÛ®p£N…!GÒ\mÄŸ”©*ü®[øÏíóY±8’ØXq—سGC¨|)*Ø#÷ùy”Ö ("f*þX’Ub邤‚IAt¯±ï­uãUžqŸ'æùÎOŽ[mßá°Óv7+I„ør ]MÈ>®’²[sAAZôÉ>š Æ•’K¿òÔîVÈ1;ì"<+lHÓYrm²SŽßSÉJTQ! ¨z'd=ÃÅEåŸ1ãø…Æd踓wy[c/®Û%1¥Æ‘è!.¶Ÿ_¶ÒãÊöÑ#[óA·Ò³ÌW*Ëag¬aÔk+³'@v}¾áh6Ë©ihK­§¥!CÔA)A^~ÑÐèªF}•_"dv¼;ƒUþâòÖôò¿¦ƒ½$ºàG¹d­IJP wäìj¹x¯/ÊoÙ>_ŽåV‹| Xìˆì%ØKZ›’h¹êãÀ ¤õó­IÖè4R” Ug‘?Ç?—@Nlˆœ©èLÅÝ›qÆ‘¢û))B’J»z~6ŠJ„̛˶´œ:e’,àð..ë×Ú-èì¶âVúùÙÇŠwáû%Ï3L2ß—enãI…tˆ‹Ù öi]ˆ÷©ÇV4>ÀPi”¬w"¿ó$>O·â0n¡u2lWžµK*i¦Ð ^¤¥ê| ƒâ¥¹S!ä+6E‡Ú±‰²öJá<»Œ'ÝèòXuâ´ôyÍ4FŽÎÏÍ™JÎqœÛ'jvOŽeH²ò+ ¹»“)³)^•Í—ipöm¶”Žª$l¤…|BÊ͹?°Û2ì¾Ï7h›"2-qKèŸêV†À+Q(yh[‰ÚBQà+Dêƒ`¥)@¥+3~ùËw+•îEšÅŽÚ-V¹FŽÍì=ëÜ’ÚA!ÆÕÕ¦ÔIÑ)YÐÙƒL¥Wøã'g3Àì™[\ˆÝÒrC ;-•)ßßG~~ÿ5` R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” TFjëLá×§^q ¶˜•)D?¦~æ¥ëšéÒÞýºç 4èRPôy %ÆÜIùJ’ AÁ óNQ´Ž%ºçÂñÚ€8´ÀôÇýÓU½1Œ€½ë~Š}-;QýõW¯Ä=ÒØž *ã 8ã¶w‚úv¤ щPò4 ßñZk¸®.î41—q»:ìI j ¶b€ØK¯O óñóæ£î›H ·%Ëk*À €ÖÓý?)Û¯ûPbüƒCÌy›:´B›‹z¸¼¤Ä’Àmå-rÒRòV PNÆÒ• éGÈØ#«™ïö—ÉÅà_Ö^²Þì–Çç¡hISž´W=F”J! ÙØïU©Üø×Žnwî,›2BËH‘gŽãލü©JR 'ù4ÿfÜuù_åàWè=o¨ú_Éãú^¯^¾§Nšíׯõ½x Ë¢"ÕÆç ^C–ݯíd2ÌI÷…¦D†㶆ôP‘ÑÃ!%@'ü‰Q:·ºá~Íh|À/Ú ºmË ƒÞ:Ò¨'¨-ì{RFÓ¯UÝA–_&ÄÅ¿1ï7ÇÚ‡n¿ã¨¶D˜úº4‰Qä8éd¬-vHûúj×ÅV¬GËrnã˜-ÞÝjÄ8nˆ’ y QîCÅ/maJR©;øñ[mÞÙm¼[Ý·]íñ.žv<¦Rëk±Jýkûn·[íÍzVøa·Õ)êÃ)li#IàŠ=X¸ ï÷rñž"m1¤¶ñT{Tôº•´$€¯ oíZÞcKȯ&âÏ!f¶–Ò¤µKa¶6?Í¥²³³÷óWJPAaXë¸Õ­ÈOd—Ûú–ésênï¡×S°PP„Ÿûš§þºÜ°IY£žùy]ÖUÕÇÉh¸[ŽŸà%†Ú}¼ýÉ'M¯Œ‘`Äj$(ÌÅŒÒz¶Ë(Bì<Aö¬¿™Å¶VsÆÖË‹¬z2¯Úu§t.Û-hŸ‚U×ûV¡Qœ_½\aܯ8í¢å: ‚¢I— ·]ŽA  P%'`ò7AðUÍÄòsñ)Bf?d¶Zg?!IIZ˜vrRêŽõïoÓsÿ¯Qß†Ì Ë– ÆÙKƒz”Ý¥¿©zÎ󬻲¸îµé ! Zõ7ïR¼5ä½KÇì3qL»%¶@¹¡-ܱP¯«JA K»ð o[¯ž5ŒcXÃ1ãÖ›+O¨-Ô[á7.(  €6u÷47,ðíË/Í¥_cXxÞco!´‡o6ùŽÉ=R¹M¾„ëÇš·p† /²Oƒ.ÝŠAT™!à›gÙiC¨XyÅ’¯ ¯µh4 Ì¿]n–,ƒ5tLÈïó][šÑô£¼¨¬£û%¶ú“ûÖ›_qbÂŽ˜Ðã3„’RÛHHÙ$èI'ýkíAÏ:l( gK²z…¼à@'öÙûÖcøNŸþÃâ±2;²·U¤:•-õ|€v?Ö´<“ÇòXHƒ‘Ø­w˜­¸Câ7!´¬‚VJ#:'÷®\k Ä1‡ÞÅlVWžHC®[ííGS‰`(¡ ‘¿± ¡åW«2?˜r—v€”³c»6é2\‰¤«Ïƒàø?±¯?ú“rž3ƒnÉ?"šõýÕ35¤²âÚ ‘Ø!ÐP{~Ÿ þ¯uW|_Æ“%½._â2$>âœu×l±Ô·£²¥’I$“Rw\?»O‡>ë‹Ù'Ë‚˜oÉ€Ó®G ;HmJI(Ñò5­ ƒ`ñ65’rþá|ÊîJe¥Üç)–Œ…0Ù!)Cm„!  -k ã±;ª7,FÅLë.}Žf²o×ãw"Ñerðfšµ¬$¥¨áD'«kRÂÑ®…!Gà× ÈFÁù jÄñkMÑû­«³@¸Hÿ–• M:çþ2ÒOúš §–xvå—æÒ¯±¬dcÚ<‰0ÛqÆî•(Ÿô …áyÓî\U̹Àj•Á@,4Áe ö¡A³åI W_¶õö«})@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¥)@¯âˆJJÀ¯í(3hÜ寲nè´5u»ýzÂT#«¸%a*WP¢ Iíã±Ðð|ÔŽYË6-’võq¸5tô½PÃi’;#CÜÓJI²w£ãcz¨¨Ÿ÷ÔÜÿèD?ý:MEruÖógç¼R]—‘Ê8åÍ$yL°¤§×ˆJû<¤§@€5½û¾>h/?!âY¤éÐqéòž•¶ÝÌ›tˆ‹B*Vžm@”+ÈßÅZª›Å?}Æíù½óE›&»@i‹KmhJ²†ÊWîwQÑÿŠ®Tõ㙸öÓÍÇæ\AV¤0͆sÝ<ÐÉ$ƒ¥AÑÑ®»w*a fã‘B¸Ïzßm”˜“:Ú%úÍ: ’Yô½Sái; #ÏÏÍg™¶M•büÏOÅp©™D¤b¶÷ X}¤†…Ì(ì…,-À£¿k`«Æ€Ù×ñ1Z·›º-mÛ6䔤¥J|´„žÀùØ ÿJ<•0ŒÚä«v5q1ô…•-Øl,zŽ´”vÇ]ïø¯¾!ÉXvYͰXgÍ‘pƒÛê›r×)„´RR+q´£~ô7²ÆÇš„ü:ÿï6õÿJ¯?úsÕûâùÂå?úBÇþ¯‹A9r.#„Í… #¸IbLÖÜv;QíÒ%)Hl¤-D2Úú€VŸ'_5ŠóåÄK%âd‡• ÉÍ…Ú&2a¾¥kAq¤…ë²|'dìh²d6«kÉ~ö¸m.àźDvdkÞ†––bPƒþ‚ª<j·Hâ:¼=¥Ï‡Çf;ä{›C4V‘ü+¢7ÿŠ(9‡?ñY„ìá{º˜¬÷õ_ÿÜ}6úÙ^†‡R÷ñ£º—É9sÇo¬Øî×iÏz:d¶Û6™o…4uïìÛJN½Ã~|loU˜qEß oo“€É™‰Þ2Kô;•ÙÇPã aNÌYOD/ÔokKHIÙ즬\p»X9çsÅedO#¸´˜Q¥2Â’^/»³ÊJt4¶OŸš W¿Yrk,{Ö?s‹s·Hµ"3hVŽˆØø ‚>A5%Y_᜻;¾d’ÔI—Ëü¹r팒Qmy$2¶6@ì°Zì¥R‰'SY!²ûÐT2nNÀ±«Ò¬×¼–$I­„©ôuZÓ(m%夲 …;ûU‹¼[r $KÕžZ&[æ4Žú qàèÖMÂ2,?ß⬟nþz$\/ï&+-מuIZT„%KWQ¦ÂttÚ¢?Ç6Ì?‡ðÔq¦OV/Iȱæ^ñû”µÈKZŽ„)>IÚ”PoÔ¬O‰y?$Éò‡-Ó/8åÕ †ëȺ@ukN´=Y_Òδ|ùþ Xrj–”ž» ¢£[´?“§wAyɯöljÒ»­öàÌiRQê8RÔt”$*Q>@$ý…|±žÇ–Z4Çç¦d`áigÓ[kmc[Bа… ¥@"²ÞN™’Jü@b–Û’ÒT+»„F®2Ëc¼§šiO­IJÉRJ’¬|½ÚxŽæË—LžÉ;ƒdѦ"eá˜OzÌËSèþœ”8R’  ÙI ‚‚?’ Tmü“†O›Á‰tyɘ⻤ —ZJwµ%Ó¢ØVük{n¬6{BËÏ7|Ù”%!›¬ =ÍÍ+f$¨­¥Y"9Ùð”©Ããf‚á#šxåŒbLíæpµM’¨±ßi¤­ÐR:õ ö*H€ :šûX¹½_àX¡\î(ŸpqMÅnU–ldº´¡K) u”§}R£¢|ê³\‰çã~pùa®l†¯•µ JTò…Á²¢ >6H~Mh-ÎñšdG3< Û˜íÁ¥ÙÄ¢^×Þàqµ)µŸê)>Â@GÜ Q¹-úËYŸ¼äH–Ësz²$º„ìè Ÿ¹:|“ñ^{™Í¹{Si9f‡~Yø‡ƒýǃ]™÷(ÉùCŽ˜‡i´äRH¼°—‹Ð &Yq¶¾¡Hq+ttAPJJJwíä€ÚðÌÏÌY”î;sÌ7R[S.2ë*#c»n%+H#È$h#b§ë5ãk“‰ä\ŠÕ’b6»a&iÒ¦ÛdعÆOf›XqHB‚›  ¥Ið H$U”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥ŠÙIèëÁ¥(28|oÉ-r ³G¹BÐä×`5ny´âÝP¨èun€?ÞŽ•·îóò=xh¸¨§Ó—"Õ!T }ѽÔ5½ù©JPfüIfKÒ¹g0/V¹eLr3v?¦s×}Òê”õ×í R½½~ãÏŠŒ´ñÏ&Z/—û­·”lí¹|š&IK˜¯p•%¤4Ÿ÷¡à!´ÿs³÷­n”{&x°ðüÏ’²ÝÂ$$EMÖE¿ÖJ´}ê,úƒÊ‡aúü¿:ÑûqŽ%}øÞ.''%s‘0‹jm¾€i´¶ßfýEw)#döøñW*PcØ×òv=c‘f·r­œE~L™+·Ý[®hýWÇe«_µvbÜ[ØòÌFñþ8f\LvÄ,ÊŒå§ú’Rߨ²ï¬z•-¤({U¡±³½Ö«J  Ç.â™…Îï(¹?j”짘³Ã.Éy/:âˆ?ÔPRt’@ê¡çu~¥(39Ü_uaëœ+S’™µÅLt<â@RÂ~ä§é@¥)AQÎðׯ×KeþË{vÃÚÐëQf¥€ûkiÞ½Úu¢@q¡ ðRAHÑ;ú`XpÆŸº]'Ý_½_¯!Ë…ÅæÒÙXBz¶ÚŸm«ª|þ¥I$Õª” Î㋼¹Ù¿çù[3­ÙK}ÄkiŒì"”ôiIwÕWe!!>t©=¼|VJ ¢÷Å7ù\_ŒaVÌ݈J²½Có_³úæ[¬:‡[PG¬ŸLwNÈÚ¶¿šÔ-ÍÊjß©ÒQ*RJ^y ziq`ÊÙê ÙÖοs_e)) )@v:?'ö¯íª9ãj¾Z¯r,¥K'²Ê iÀ=F]m~Úº¤ë`‚An¥C Ã$Ù¯S²Kýùìƒ!œÃqœ–¦¦XA* 2ÒIèžÊRŽÔ¥|“¡VúRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRP™æ<Î[…Þq‰]ŠÍÖ‘y  •¤¤‘¿Ñ©ºPyÒ ñ“¼óyÇNiü½¬Ní5èøCË‘% t þ¢Ÿú…Jó®1’ã?†§ñÜo$b%¦Ç)‰®¹ª\¤4ÚBR…„¶‚U |Ôݹ9º?û¸ôXeZØ´&áù”B”†Ÿ}Ï\·ê÷êC£Û×°ýªGñÎWvã›¶-‹aòïÏ^ ?O563Š¢IXyÄ•³úwúNþE‡n$ÛãvKI$ÿ ¯½A`· ÍÆÀÛ—ÌjV;-³é},‰,¾¥$¥…2µ'GÏïÅNÐc8ö/lå[¾Y‘e*šûqnòlöF‘)Æ…½‰eO´¡§–稯Sõuê<ª“Äž¿qOãXýÚÁ‘fW6›q¹/YCä+¹We—œAóØò|á»âùe…ì²ÃhÄíù^5”ÊzkmHšˆé‚ûÉþ²J†ÖÊœö«kPëãgçÆ<±ÃxÖ%ŸcV»”ÛXuÇVØyÅ’¥‚5²RÿUÇÏ%äWËžãìÒŸMN}UÖ# ±ã^Ý¡åžÇ~<}«9¹–ñ×”šûŠþ²}ž{o¬}M8³„§a>™KHõF–T­ïÅhØoñÞxüãÄíö¹þššõØ è­ly?B©2ñ.@¶b÷®1°[ã®Çv‘+é/êœm±$¸¥ºÚšýju£¾¾Ò:ì§^CS¯HÉ0Û&DÚ:"éobjSû[JÀÿïS4¶À»âW[mÎ+rá¿ĺ˃iXêNˆÿJí´@j´ÃµÃG§a”ÿ„$%#þ +—-rsxÅÉVÛk·9ŸN´³§PÚQÐRÈHùû(<£Z-·Äqš37EÀºã³!}J»¬Â¸¼ÁX×Ù=Ì–@ÿUŸí\+füF^Èp1øñdã1$²™©ÐvG¯!+PýÕÑØ ’wËÂ8¥-Y?-¸Ù¶Ûïðž–·,†…¡JJŠK )H;ÓÊñº¸³1oñr½/˜î;2ÑÑù×Åè=7^qN–‹ž¡AõBu×~P|¸ö67ÇøÙV _®Öl¦CH¶›TF½H¨v3`i Z@@*=¾U¯5`Ç9mâ÷Úïg¶¤>®¦døQÐÃ^ ÚÊ_QƼò*s#Â1,‡Œ^leYbúO·Õ¦ƒiꀔ§Z ¨,s†¸¿½Å½Y0»dŒE÷bCAAM±çö&‚½ …É·¼¾é’»$ýÑÛU‰Qä¸Òí©e´¥O·Ôޝ)Õ8{|õ má<†nQÅö[½ÍÔ½p(r4·RaÕ°âÀR›QñûÕvu«=Ä2 ™XUŽ%îK'ë™[ó“6¹…¤¶âœ¶•é¥~ÀUÛ°Öatã|a¬7³ã I\¯Ëã%·$/õ<á÷8áþT²¥­nUmƒxÆ®VËœVåB“m¼ËƒiZH;¼‘ųøê.!Ʊxælv92\ˆ(šÕ½Õ%O6T±(o¢’+g`uó^¹ÉšÆ==ÛuµËœ´Ç_£·PÚžV¼$)d$o÷$ Æ­x†lX¥™x¿Òå8´«|† =5‚©Jò ‡P¢„—‘µAÓø·Â±K·KÉn6Ro H¶ÄjjÑ·PÊ® ¥Hö!Åþ±ýêÏž`˜}³ƒò|nߎÀgM¾L¤ÃCÓ¥i^¿p¤¥_ÜUg™[å ÿÄÅÛÀMÞñ)«t¹ó \#1© JmçZJ^t8|4@:#Ü<üêß”NÊïœG} Ágƽ̊ô6m Ÿ¸C‰èõž(«E[ÒHùРÈ-8åžéŒ`¸¾UyØÎIf5ïvñŒ–ˆ;ò:úh$kja^ç,iÆSvËÃimÀâãaKB¤””¸¢ÿcöªqî':¹òe‹g·GuëU¨Í„‡mjméj×ÉqAIOØ! ëj5©BÅ­¸¾ 6Á…ÚãÛ[ß1#´t€êÒH>O¨×ã‰,1n.ÅñÙ¶Ü»u¦4y)B‚’Kih‘Û·š  FîSJΰK…ö{Y<ß^àÖ=*cqØz÷u´€<øÙ W¥qµZU[•`\eÚLVþ…Q”Ñg¨éÐ=uªÎ­Rù~ÃU†F3)˜d>¨—ÅÜ™m-eMúí‡R•„¯}7ÛÍ[ø·VǶLYsÇ-ÑRÓ„tJײTRŸò§dè}†…{ñ3msà\Í»„Vä!‹D‰-ôu¶Ô¤,!@YwÏã¤rVlቱķqìš5µÕ}"¡†+u$ô.‡‹A%>ï'~+`çxË¿d¶\vÌåÞås€ì&c¡ö™Ñu%ÊœRS¤ïdogíUlîÍŸNǰ\—Æâµ”ØÜsԷΖßôñ]cÞâÕhJÖÛŠJU²”m@Ù¸^=Ÿó6XÞeonõ ÓÜ;•)L°§ËqÀõì­¤o[Ò~k?ʬ–©¿‡üòÁqgó61\±ØÖÏ«RTT™R•(’z·  Øê´Ë“Þ)É7œŽÓ‰++| ·Z‡=ˆÎFÀt(õ}I N´¢G_½qÚøç"»pæ]c¾Hk¿d÷)—0°ò!8ã¡l ¨lßGæ‚;—0\MÞKâ8ɱÃi,Ì‘‚„kÒe˜O¸Êü!iJ‡ì@ªæIÁ¼o]¸²À1«|âõÑq.]`ÎJ HVÜ×î´%ZýÀ­ÙjÍr¼÷¿e¶˜üLi·ÝCMOL•L˜ëE’´õ«)B–Gm(• ¤kÏÖ“šJä,6E‹w·ØîJšüÆîJÂã<ÉHKŽ%{ItãDªËcøoƒXñ\›%†¹rÞi»Í,)ôÔçÕ]b0Û5íÚYìwãÇÚ¤3œÎYŠÎ[a‰wn"”¦ 6U­‘¢>t*ÅÄx&.쫆@ÇïÄv;3ã¶T¶{oJ$íA„ñ›<*,oNÎ0§ß¸~yp/²,RWµΆ˒‚}0JWm'^HÑ­§8„ÖeÉöÌ*ç§±¶,îÝ'Ä )L×êZe ×êlêŠ~ é½Ô$Ö9nñÇoñõÏ·ª|Ëz­Ór7®,®#‰ZKnHK HqK •ze Nλkf§2ú­G2Í1Œ=¨ëÈnÍÄ\’S„¶·Ÿ|³é´ØRסäõIÕ‚•[k:Å_ÃÞËb]~¶ÎŠz$w_ZTRZBK õØûŠÈ¸ï•nœÈ#òü¹ë\6¯’aµe8Ä…µ*@ûÜ”¤Iåuí¢¤õßR’uAèU7+å½®Í|¿Ó[h<ú瓳ä)å¶…% FÈ+)Þ«¯.ÏñS‰ß.á›Lµ$31˜îÈh… ¥EM%A(#üçIò<ù ³Ò ̱׳—°”Mt_™Šeª2â<”–@*K…!µkÔFÂTHßǃT[³ù®5Ìøtó™wk.G:{NÛ_·Em1ÐÜW^l!ÆÛ¥ mJ;;4Í*Ëü«`ãh±Í‰ÒeIu”¶Ë1Rz-ä¶¥Ú A*èOek@lŠžÂóL1bKÖ§8ˆªJ]2­²"T 6‚¯ƒäoTUý³q§æ ÂNL—ëâ;O7 õÇuÒàl!„–®ÇZ ?ì _è¬ßñpÉ­8LKŽ/’?b”.Т¸ãQÔmù ²A¡@kÔì4>@ûWÇ»åx÷*EÀ²¬¥‹¥û‹ ¸ò£œm.% ¤+ÕT’ H;ù Ó©Xžm‘£s9Ž[ùZëß·s”[ˆ 1Ç¢¤6‚¦I#ú¤mD$yÞÍ}ùó%Í0‰˜UÊÉ|qø¦bš¼A\6”&Çf;’pŽés£+ê@Ù(6ZVaŽ]ïŸí£+nãš-ì^ßg‡pb#±ã6Ë"BŸÚ‹¡}R–6 •þs¿SŸíc‹?ùËÃ?ÿ{ÿßAs¥gùý³%‘:FK”ŸÅq¨¶´¸â#ÀŠú6‚âÜ}N<…é>™@ñ¡í'ïUÞ8¸ò A’æ9.I*âäˆr'X›—;.ÆŒ†–¦VâZm ­~Õ”z>h6*VMÆÖüÆçÃwÌ“î z,y²í–Û’„­M’†‚Ò<ë`ƒZÍ•–ótœ½Œ“…ŒæRñö/e[¥¥˜1Ÿì=] ä+Dµ¡ãJ?Åvñµû"o;Ȱ,Žíüõ¢$IŒÝŽ–Z.MöÑìÖöR¡íò-+ f*_8úñÈöìå6õ1ùƒöû´Çr2ÚŽë©m8At©ilR±¢¯©;Mû,¼óF,–2É1ñÛÆ0«êí"e )%„z~©As©/Û{+ ”žZ¸æÙÅ“ä) ü¾U¹1PõºDfd-.¼¤ŸKjRJЮÛí³îÑ®+Œ.dw0Ë1‹,ÜdÍ´Ù"΀´[}åHHBÏ¡íHôSäyòh=J¬]³ü"Á,[r<Ûµ\›m*z4Ë£ ¸ì¥JòÛr †‚ér;SqÅ¡ mZBT­²KâÜ…jÍ%ÞÑ`ˆn˜ô((ZnÍ,ú2žQp9¤l¡(A*ù^´óz¥“ñü¦Ú®9´ÆÆr óf%ˆ’!qåæÚ%© BÐ[i§CHt ('£ê*H*;׬ÈÚ” Ç¿W;.*fú{qXz·#JuM©hL¶–ïU'Di´©[ÅA3âN^³\1ÛmÞM£2¶&)-ºôåÈ–$2)qå©I§ŸqC°QÑ)­ú”"r—ÅüAaÈËíM·fz‹rQ{ÄW”#¥(_ìImcû¤Ôÿ0äØÃ|Å1ç]a¥nÏ:„-^eØB¿¥º„ÿu Ø)Að” ‰Ïy–Œå¢Ín²3)æý`¶¹¾ƒŸÔY,­¢AØÞÁÝJ±lÿœÄÿæ…§ÿà­¢”Ÿ?G”ÿÛq¦Ã¯¢óy¶Zf)¤k´w$6ØHö¤ (xš³rƒ“"q½ùV¼yW÷“Ä&ÖÛ¥£%=TÚTH=Jµ¡¿€<Õš”h¹Dâ™¶‹-»‡1Ølf¬N†¸[­ËfL—^T·Š’G¸R];_nºÚ«Òô¥!øŸ›‰»q½‡(¸¦;2YÖÓ)ÈîzB3èìÚ’´Qm§`*ï_œ Ž.æÛ®jµ].É|ï‘ÕÐÛâS«}ÅÒa'jQ u:êÜiAç+g$cøÇ _p›œ¢ÎgXŒY .}L—óþ‡¦Ž¤©+ A ?ÅMˆéãl‡Ž¯×ö]‰a·a˰L–¥·ñôËAt” †V;Ÿ²67¹Rƒ5â½eÙÆhÌWÙ´]æEfØãÍ©µIj; x%@…-K 'ä' pLß»þ&2ÈvËür$Y`Fe¶œÙ[¬9,¼ü );þâ¶ŠPf™ßÞrL•û¼<Ù6¦]Jþ·Ê))HõiK;×Üøøñ2íÜÇ×Kîi”.ë<•%Ƭñâ¬¨Ž©i(Ž„¥D‘ò¯¹V£J=`܉‡å¹å—!Ê3+LÛÛ²>›Ç-Ž—Û·)ÐR]q@Qò…/ÂP ù*6(™lN/¿f6¼•©z¸Ý»X–ê®!æÐW¾€íÔº•û~z©'ãdlt Àâã „qžI2òdc’¥IÈbCl¼âžT…!#e~“®%D'gªN·ðl–«Œ~Bæ{.E­éî1m–Ú§úkC2eÊ-Û}€õ:!µ(x`o{X¥¼õ{µñöø ÈqÛôÇ%Èg‰£\¤FW¨—d)Ô(2´öÒÙ![°ýëд ò½Ë1·[ 9Îrj\8ä)V”»!€ÛD©ù‹+åN–[idëÈq Ù*®ë´^-Å9ˆ.Ö;³­®ã9n¥r/2å!ƈóhRRóŠHÅ! €ÈzôÕ(1<[ñ|+Ï,yÅÝ»$‡r''[Ä–\H—Ö!MiÂNÈ:yÍÇø÷&â ÿ8s’ôëÉM¿f-ÂÜ™n:Ø)’…zg¢’H>~+u¥sǼqxÅòÍ'fi»µè©¿§ÿÀ‡äëÝê0ÒWã_ÑÝQ£ä²q1¼ñc‘d=š!S`Y!¦3ŠšyÅý<„¨¾’Râ}E:+¶¶7¿Ò‚# ²£Ãl˜ókî‹]½ˆIWîm(ÿ»Rô¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥ŠØCgì)J Š$òK¼‚¬-î/´75¨ \^q9Od&:Ý[ACýØm[B½¾>Ÿ5'™ç¹¥«’"áÖßxúÈ.Î)û÷ÒöCE´¹´z Ñ u y;ò|Wâ'ýõ7?úÿN“Q\#¸sÞ(Æ/‹cþ¹©Rd[þ±%¼M§§¨{oƾ<ÐZ°¿(¼e7|{)ÃÇä@‰Snǹ™¬¾—Tâzöô›Ò“éüyý_o½â«|_mȬüf¶e·ܯ±ã„M”—TàuÍŸ=”>5òY(3þ\äø\ysÅ¡J¶»;óë’b8¦ÜëôŒ•! ¯iJÝi$xýcÎôÓ›yOc1rãê¼Á3[47$¶ävÖuê%! õóíöÿzÉ?ÏÏ¿òUh¶c7ûÛ–ì-P˜rÚ†Ê"K”笕ºV´”èFh‚ŽÇE^>*ÿ“Ý¢æ|[€Þ”ßx÷›¡÷_ÎRJ’u÷òA ”Èù0ÁåÌk­T]]»ÅTÉRþ³ÒD6=Å*×Ew*p„í?£ùñ”¹EÃ#m®*bLLvi‹9Q2$­õi¤;¶Ú[( =I×qç`÷…Àðûî'˜á¨É¦¦uÅÉò¢²ð_baÆ·–cö?%J SŠßùU~ñÛw Üó¾P‡‹_±ûM±ü-IvU¹ÙУ0*h‡RíÖ‚’|ìùø Ù±‹Õ»$Ç-Ù¥âô ŒfäÇYII(ZB†Áò‘ö¯­òéÉf™xºÊn,L­ù,é-¡#dŸôË†Ø â¸«¶÷ú;dFâ²\;QJÉýζ½SQ™ÂWô4Ë´Ñ"[MﳑZ’Ó§ÇÎÚBƾãÇÞ‚ëÌwë]¢ßÜxÆíºJ§'5ë§×p! }mAyQÙ PI5°V[Î9Ó "Ñw…‹Z3 MÊlfÛD‹ŠXAqn ÇRiÀ¿~•öëÓj¯òž/ÈlÅùÖ{.LôGkF"=ld( v a-4wî߸ù Ún“àÚíïÜnscÂ…ÇäHt6Ûi*R• òj­Å‡iäx«‘¥ˆ6Û»¶ÖßR¶%6ÚýdþÈPpk÷zá{ úÝ\¡e–Ë›*~@)jé’®öVŽ -hOA¿òèþÿzåàd¥7NMJ@JFo$€Iƒ¢w#^eß/0°Ü"FIÅ'é.rSqj2½p„­M0…ïÔZB“¾Å ÙÐ$ƒVì+$µåø´ ŽÌâ× keH'ªÐ JV…§ì¤©*Ib’*»˜äˆ²ÏsÂíq&å×#õ:Ôp¯oÕËR|„¿rÊz§÷¼_Ãİ[u‚ãpÊ~Y ™­Å-牳ŠY×ÛzûPMÝݚŮSÖØmÍšÛ*Txî=è¥×ö¤¯Jê Ðí£¯ØÖEkæËç‰ÜÍ,Ø[OO‡sM¾ãk‘vô~œ¨¤!isÑ=½Fˆö'a{ß;=yeßûÇÖ EÞò‹t8ŠIsI"ÎCõOÝKeǶwñ?µ­’òynÎíØ•³Ží· 3­‹ž‡Ƚ§Óô’òOûº¿JÝHüÀ¡ñS_”^2›¾=”ácò D)·cÜÌÖ_Kªq={zMéIôþ<þ¯·Þ«ÉÐr;‡=âŒb÷ø¶9ßáËš•&E¿ëQëÄÚzzˆÑÙ¶ükãÍN1`ÍcðC ¬¹Wœ­¸hnCð¯+†ãî÷”ÊéÙ>ýw­½T\§=™)wÄq—òkäv"jD¤E‹ *¶y@ékׄ%*:ò@'*±a|œÍî Òl9ŠnKjqNr³ï¤$(Ke5ò’Fþ>õßâ×ëç$rƒ ÏoxêÚÈýdƵ¢:]q ŒÏ¢ã‹uµ•7Õ!)HÐÚUäýƒ`㬖nÉk¸Z¾± *‡9¢ÛÌ©+(RTò“£÷?z°U„¯÷{þ%/ó¹¬\¥[.²íŸ™0ØB'¡‡ ÿQí öö ×Uêƒ&¾ò/#[óèØ‹ei’ôæ¤É‚ò²~ÖZT¡ôÇ¢¨ƒ×gäùñVUËrœ?w"µb0¯Q Á~mÍ.Þ>•QÒÒ;è¯Ô$ÿÃúGïâ7'ÿ¾; ÿ£÷ÿRKó·üÈgŸônãÿ£9AÏey­Ç—‘ÍÂ-ð¦}2$À„‹ïª™(RB½îú#Ó Žªª—™2…aöÌç!ãt[ñ)̵!Û„+â%;§5§]eM6z ûŠJˆtk@Çÿæªß÷ÿ°mú±Î)óìÓñ\zñ’X"aÓm1’ûm¯ ïFê’YSªt¡=€ê¥%èjƒSË3k¼,±œ[ſ܌pynÌLHÍ2\è?ªR®Ë$ÀòFÅIqÎZÖeazx¶LµK‰1è Ê).FÒº­JT>RIk†û1¼¢M× Ås)Xõîʨ뜸°Ûum6ê¦Óýd)( í>G]lVSÚ2#€ä˜š<ÛµßÉ e\my–‡.Jy±!o8ðæÞ [cc`kCÚÑ5“e¼È¸å¶ù{™Æ¶”Y-oÈ•'%ô\}–ÜRPàhGYÛ€$¥ ’{óUÞ:Ĺml™w²ålAiÒ^rW%=pi#©ýQÔÒCƒzðHýþÕmäT£#æ ' |w¹Ö¶tñŽ[j:T> C¯wó÷m4\"év½bvÛµòÆlW l‡^·™±¿„•õNδO¢uö©šRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRJRE¤~Õ)A›FàÞ5wEÝ«]ßëБ!Y ÁK)J»’_;NÉ=NÇ“ãÍN]8ß¹ç³i°&.û¯£!79(JzèzIp7£Õ;t­ î­´ á¿Ç¹J³Jg¸·m¸8ÙLynFõÒʾÊ-öOoí±T«N3Ë ]"½råK\ØMº•?¼U,©Ôå!P®»7£ªÐéAN·q–o‘·n˜Ôœ• EÙßÍ%>½ënL€HJG r3Ä~Î3lÆÙ´LnÕk—õ˜MÚXô]û¯W±ì’JGØUò”ì7¾ä–ŒŠçC·+:Šàº‰¯4–‰ùÚ°…ï_æÇŠæÂøÿî7;†?Ty7U‡&­ëŒ‰ª‡Â´ëŠëÆÆ¼>«E(üRR¤”¨$FÁý¥ ®ã&®ZœB¨—’ûHR–¦˜p/¿vš*èÒŠ¼’€ýö*ûJPr^mÑ.ö©V¹ÉuQe4¦ <¶–RFŽ–‚“ü‚ Tð®(Á°ËË—|vÝ>$ÇJÔꜼL}.)@)HuÕ%J qð<ÕÞ”í×…¸êç‘Ür)6‹Š.—7“_{¼ 46y)ð<…ZðünˈãÑìô3ݬ´ÑunV²µ¥’¥¥(’Iù©zPrÝ FºÚå[&¥ÅF”Ê™x6òÚQB†Ž–‚“£ò’û«EâÜ6'M‘NYáÎEÂ3Í}âÔ„()+JÖ²±¢>7­5¢A¹Ò‚¥tã|BçœFͦÀ˜»ì^¾Œ„Üä¡( ë¡é%ÀÞTìuÒ´7º¶Ò” ªåÜu†e—6®—Ûr'¶× %4óŒ:¦»vô”¶Ô’¶÷碉O“ãÉ«U(9,öÛ}š××i… ­†ØŽÃa ¶‘ðuÒ”ÍÏ„xæåzrõ2ÙvràâÜQ|d©>¢»,'«à$¯jt<*o7ãÌS4Gl¨±š[(i«¤¨éRRVq>¦Â@÷ïïûÚéAN³ñ–iÅçã0!\ZµÏJS!¥^%­]Sðâ+lxøB€©l#±axû6 n#±-¬’ZeÉN¿Ó`§T¥ãÀÞ‡Ú¦éATÌ8ë Ëg¦ã|²¥Û‚YôØò‹'ÒÞúz¬©+)ßž»ÕMcv67hjÓa¶Æ·Ah’–X@JvNÔ£û’|’|“óR4 W¬ÖµdHÈU ³uDEBLŸ=ƒ XZ>Ú*JOú 凜¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”¥”®{¤¥A¶É˜˜’f)†”à!N»¡¾¨€T~$y è¥y>éÌ9t«­Í1¼ù‘3;ƒ#a–Ae†er!$´XiÒP=‡±Ú†Íz²+¥øÍGyÇW‡fŠºZ4ä–·6¿÷rN¤%ŸOC`GÂIØë¶oŽ[pˆù‹³Tõ¦SL¹QÚSŽJ/kÒCh²Ö²¤€7³Ad¥bœa’ʼ~!rHémº"±èÒž´_X¤—ÜISM÷SiIl7å²RNüì6º*³œæ¶¼LÁ"5Âås¸©iƒl·1ëJ“Ðme)$”‚6µ¤v#b¾6ŒòÝxÆ®WkUªñ*]±ÂÌË8Ž–ç´èÑôËkRSØ‚n¤A Š e+Î~+Ÿ äk>O{U«mê×)q>ºnpþŸëcm)/4 '¨+H!A*5As¥Po<«e…uŸßdÉ/è¶,·r—i·—؆ 6¤©[jt¶¡÷¹9g”‹ñ‚ó,bÉ3#aûzæE—(\V’•¼K‰PAßùA>Š &•[²I9D)+•Šä8éoª@º6Ëjw°>æý'Wàkï£äU ´ÈÄÿÌcÑ2\žåk—‰Èšä{µáù©"[JÓê¨õ=V¡ã÷ ØiYÏ=åCÂnMȵæFÐ^T‹¶:[Бå}œu*ÖÈ)àüUÂeÞÛcÄœ¾]'©»t(_S"SÞTJ;«CÉÐÞ€ùø –¥gvîY&ýgµLÄ3 @½HíÒ®ô4Ëê-­Ïþ©ÔjÒ•¢rÞ[¼ÙyJ'޲yñ]-Õ8à $–”ÐJØìúAlw=Šú«Ê4>h5ªWŠ{—;Dkƒ¶é¶Õ¾Žê‰1)KÌŸøV¥'Øší R³üŸ•ì¶Y÷Ñìy%í«I)¹ËµÀõX† žÅ*Z”žÊ[K}Ô66}9”-8$(KÅ’üí–W¢^ºGa³qiBKÝÜJÇ•z¥G_ÏŠ å*—‹ò=¦úíÃÔ´dX¢ ß[w€b°ôs¿ê!J;hì,%@ ëZ5ÁmåÜ~d¨JrÏ’A´ÜDx7™–âÔ),õ@ 'ºBŽ‚T´¥**N‰Ø ÐéTÌÓácY|}îI|žìC5Æí0ƒÁˆá} ‹*Rwîÿ*{(ý“_i™Ü0ù–9kºdÐ¥ -†­­#Ö ïeIuHëÔ‚ ìÖ·Am¥f\)É·\îÃf•rÁ¯öÅ΂™.\Ë"Þ¥kÓ>²œÑûvO÷ÕJeî‰ì½zèƒAy¥Uo|[1»]õ^¹1x(M©›{E÷§)iìÒ“íÚ‰:Iªßß»s–g.e‘# T).Ú¯®¹¸ruþá¤) AHo^™)?câƒh¥+Ê2Wâ9´%ܶ÷÷¾úl±rR ¦ßd%M4¥Ù˜sj%)ÙòvFÃl¥P.\¯b‰€Ý3m7ÙÌÙÜ[WK{1R™°JÙ~«n- §JÞÈ ‚6 ~®˜ÌK†+ü•È{%h;ю„Q T>··ªNÉOañ¢I…ö”¨,Û*¶bVÆfÜS)÷%HDXq"5êÈ”ú¶RÛhû$I h'iYµ‹”­YmõìZ7™Fp¸ä²•ÑM½ÿH¯Óqa}®¾R° )ÒŽÅf|yhÇî8òå,á«ÜÛýÂÓ‘–Í쥷!ô²’„¬‘ý6Ùðuó²6•¥`pûÒ¹'įÙÎ\§‰¿ù“–ëü¨è“&2£ ;íP$ŸQd“å[ø«×\¯02Ü›¯·9uÙ“eºá$¤¾ü9a)t€;-4â{hm= ÙÝ‹JÂ83.¿Ý¹{'UÚîü«6B%K°ÆqjR#" ÅÃq(ߨzK kÉ><v<ºýoÅñ{žGusÓƒmŠä—•÷ꔓ¡û“ðÜ‘A)JÌxöJ°~,™šg’bãw«ÅÍçÓ¯”¥¨­¤l•%>‹!)åšýEæKdœ¼ynj›’VÀ˜Êícp›y]ZuÍ,í²ÌŽÝt{kFƒL¥d°ùÞË%W†Fœ·.Æç[¬clmk†Ž~¢Ô‡J z’z¥E~ÓíøÝÛ#Î1Û3 —-ǢܔÒ-ÍÅiO=5n¶†Ÿ+R‡€ :š %*ŸŠò» rç 6‹Ý¶õmŽ™/ÙçÆKRËj¢;,(¤¤¬€ A Õ;æKÝë)¿ZŸâü½,À¸5µ57xé[-¬ýFäh+k*öv ~û +&üLØÜÿg]$Ê-7U¡×#&Ûy~+=Ò ‚”Ûj QÙù?`+PŒêÅ­·Ô•º¿D,¥>T£×zÉ é¥fœ[•"÷Ÿå¤DÌ퓽(“ ¶ü#†¢´ ¶Óôá§ ¢ÚŠ»j¦rîAƒa¾› ;A‘Ý‘2Þ‰gŠ—ÃJQJTµ¸´!=ŠU¤öìz’…Ê•ŸŽO7žË¬8¶ItKr¤CT6£6™ 8Ê–•©h[‰ÒBAó¿â¹xk’î™Í’Ë"áƒd6µÎ·¢S—d@ZŠ>™)Χ~ÞÉ_: Ò©JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP)JP+žèÌ™6Ù1áÍT.´¤5%-¥e• °•x$:>+¢”NÅx»•^¹b«/½ÛÃù-âñ)Ç,±Üä"AÚ4Vÿ}„«ÚÉHöŠõlT8Üf›yâû©@JÜ) + yV‡¿ úR‚‡øƒr@ál²$;eÎç.}ªD(ñíñ%Õ8ëJB}ˆõÙ?|ÖoÞqœ]Qg`<;“[²9ȃn”Â’áE,úéõV½ 6 R·Üž @èJP`ò'âò§)ÜÝÃsSm®hާ’¤È\pûnÏOw—F·Øl¾x½¾û;ƒøÒtLjò.XL¸nʹ΄¸²$£)‡}$ºؤAu°r£Yn»c‰V™ñíízÒciÔ>†‡—Ú)PNÕå:ι°µ\âäY¿(Ýñû´w6aÇ…kD5;=Æc¬¶QµwZž:F» oÉÐÕiAˆ~/Ï·’fvùئ_mU÷)™u„üë ˜ìz e’·€”(–Ô4OíûÖßJPeŸŠ·&;ÂWû5ºÉz»Îº°bÆfÙÉJ $+k ‚R$ûè}ê%ü•sÿ8­ÑœK1nßù ˆK’í‚JeÉÆ[aj(ÒWmþ’4ki¥˜,˜žQ‚ Šïu夶»”—à=‹µTIHyå8’ XRÙsÝïõHNöBµñ ?„]GáFnn´IsrÃ!ˆöùÛuÔ­AJKjq! öò€ Ð:­~”œ 'ÈrµÁéÌû>?)Œn1ÄÇ¥ç¬:¶l$èlö ¨Y»ùè_;ÂËS‚ò'åLã-Ësü)3·®¹L8‘צõÕµy­ú”GâBúâø²ùŽAÇ2‹œûÝ™öâ¦ßf~JPµ'A.)´ÙÙøUu\r99 d.Yñ ´™ÑmnGn×|²¾ÏÖ9èþIa*qzñóäV›J fêÕòðò-¢cWuƒ}[¯Ú£Ç#úá>¥‚B;}Ýwí$UË“EÂËÊ8ŽjÝŽíw¶Cƒ>ß-6ȦCì­ò›Ym>â´ H®Á>6F›J>‘ÜñX× ªØÕ®æûެÃGË-è¥~åSÓéÛDŽÛ׊Ÿ¥(1Ìvéãh÷ÌexFA}’õÒlûL»|päy¿Ró%»½0¤•ôQsC@Nõ_ŸÄmÎ\ŒÙ`‘‰ßͷL”ÕªÔüæCRÚqä)Ä JôCíæ¶ZPgyìI­ÂYªÊÍÎÍ*éØñÑu†ì7Áð…§²P¢5½|Fë$•߯V¨˜Å;f›q.Çõí³U Äún¡]ÌÄÇé餤(t>§¤ƒñéúPd<‘/(O =áþ7o0Úü´bѲûä¯Õ¸Þ´Ž¿¡>TOÇëð؉Ñ8îV#s°ßì÷2æ­ÏÌâ¨%I‘)÷ê÷”E/Ÿë4ó£§±B›ZV¤í=Ю½TŽÀ‘¿5ô±Ö1‹åíÊ~kî¾ä©rßÿ”’ûŠ+qïdøHðÝcŸ‰›œ»{ø)²— ñ«â¥Æ [ÝžêDW’âÌfˆ[íÄ!D×Ôç@ìuTÍq¯wkuþÑ|“b¾ÛZyˆòÛe!l»Ð¸Ó/Â’TÛjðR R4¡çaAákŦßvÉgÞdÞ]˯Î~c1—ñÉvàòh!-ÅiàTçT'à)J$ïUHãs…[£·wÈxƒ294[üûœ{ƒ8tľ}I)’§P€¥MÁìQ hxÚElö,îr+~A˜åÏdSm½Õ† ·,w…6§BT¥,¡jNÔ²QÐßš¼Ðyõy•ðò> —ä&\۩Ť¦âÕ¾Á*Bc?!l)-xA M{Èñ¿šœ‹'!¶±ŸrÄÜfö‰·¬Â²YXˆ§æú %aµ8Û}ˆZÝyj#üˆ ÞŽëf¥•q Q‚ÉáûûÒ3kól°üIvÔãD~\ÃìWÔ-´× ê’¢Oü[Õù#þÝy2ÁÇ-iv˧d6†×þéý½î¤¬ïLþÊ­N¾-ÅŠÔ§¥7”H|$:êPÜ ßP£òu³­ülÐfŠAŽ-ôX.”‹µ¼[ÐË ñy›s³l§Üò–Ö¿L|„+⫝̸Y{Œ®J•“fÓn­ä×hmZ¡%ÜZmªeµ)ÀÚ ý»:¥(Ÿ+ëI¾¥âå­ënç2ÓrµË-óâ„©l;ÑM¥`¥iRZJHòö:"œ !º\`Èͳ‡/‘ Jn["[„ÂÞmam-ÏrÖ²…@ JI#íAœãy;íÀå©aÓfó1r ¥xÔ¤­ô.#Ò(ÙWp¢GÙ ŸŠä“Žä÷Þ⛥ªß—[¦áì²ÅÆv äu Gql&Rz(¥_†”’¾§z¯IRƒâ§¹9Ü¥Äò Ö™³9\2²Ìu‚·Ð²ËQÐÊ¡ý>ÅÅ|u ìHþM˜á™— ³bÄ.Wk¦E.<Û”Å.@*™aBCIô‚ÙQ‚Súv| ®”'âZøøãLƒ‰ä÷k¥ÚÎël*×f‘)Žê!*q !'cz?b*åƒå‘ï¶å5cÉ-ÿBÚR¶®V‡¢ºáßôÐâA_Ƽ}üU¦”N3šöç[Õùx^z;ëj·[ã¼ö11 ¶ëåed£HH¤ö>>jèåo•eH»á™ríŒZ£}5ÿ“/Õ.;Ù‡}…:€4@è ‚Nô[u(3î.‹“ÈÁ¯1/¨œÚ_—%6ŸÌÒÚf˜ªHêdý½û—<þ®½;{·Uλæ,¸NŒ:çY¡¦&E6ã¶ÂÓ)úg;iÕ)ΞRžÛÑÕl” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” R” ùK“eÉ—!¨ì66·]XJR?rOPÈÍpÕ¶§–Ø„ü¨\Y ¯jž¬ €ó\gÃòXÓ¯VÆçœÎâÓpW1 ykr_T$#}¶{ x Ý-—HHl›lW7Ñøî¥ÆÕ££¥$tAé]5—çö¼[Æš´NzÇ'&bLqlW¦#HvKjl¹¥¤èÈY>Ýüìù«}ó-·Û/+³7]ÆâÔ39øñ زâ»)> ¨õ: †•F“-Œà’óoÉo.ØãÇLÁ!¤4¯Z*›+õÐ=O)yOêßÚRí™[í—¬zÙ& ÃYžŒ)(B !ßMntYíØ¨þ’?š -*‰uäûUº÷}²;bȸYb"sÑãÆC«z:ÊÀu •û†Ð|+ÈÐ&¦$eð6vÑn…:íq¹R£E …ÆmÎÞ™sÔZRº«IÙW‚uª *?¼Û²KÕ¥òü)mú, ¡Zø!IP*R@ ‚‘U§ñ»…ë:¼œª×d¹ã,qjCÁNºÛ£·ªTÚ½ƒÉP÷?°]iX eól|i—^®Í^ï VI2=…LGT©R R†úJœJTT‰ý)ßÀ­µµ¡+@(¥ ýÅÞïi³°™{¤+s*=Rä§ÒÒIýQu¬× KAÕe¶ÙøY¸³£þ½ª ñ ÿ19Öÿø‚gÿ¢ªŒã¬ÏŸŠá8œk¢í*áhi·âµ)·TÛHŠ ÊÐ7ãa) ëõ¥•ödÇjLg›y‡PÛ¨)+I x ;¯¥P§^ãqfj‹6Íq—m·2Ì üÒ›a†š .8‚‘®€¨Ž©û¨5=&Lœ¦m«-з¯Ô\O¢" ©°à½NÄè€@NÆÁ $…Ÿ¥Tm\…a¸;ÍÑo¾:Y´Ü¦ÕcT°„”¬©*)BÈ JwÔŸý{<‚Þs+ M¦ìíåˆHž††º¾Â–¤¢àvB‡¿¯ÇîR[iTTò•Ìb呱 êý¾Ð·ÑwRGkzØQKÉpŽÊGUïà7Ù;í˳ûV3&ÂܸYl_d· ˜L%ä)å¥JJH î6”•o¯P’(-n- ¶§ZP„‚¥)G@òI®kMÒÙwŒeZ®1'°P]Œò]@PùI#~Gæ¢båpב1\ N´Üe´·aµ06D¤£]ú)µ­$§ci$+^u¯5Qã+•ŸÆs«µÎKëd,¢é"CËð„'Ô QÿR~’OŠ >¾3¥ÄÉ“¥13C³<àB?r£à „–Dzõ Ï6ÝqµK¸2ãÐDÄ FŠÂJ • z+ªµ²ê­Xh*ðyg 瘴¢UÐz7vµ~ÞóüUŠL¸±¢*d™,³ ì§œp%~åGÆ«ü=dx½§ ÊÚ¾_-€ÊîÅÖåÊm¤È#ÊT|ïãù©ÏÂý³ µà—4^‘Øýî[øü9 ©·bÛT¡è¶P  ê!ÊAÇÀ Ê3\5m©Äe¶!?*HëÚ¥m—HHl›lW7Ñøî¥ÆÕ££¥$tAéX_æ¸Î;‡ä±§^­Ï9Ŧà®bòÖ侨HFûlöñ[6/efÂÄè‘a˜¯NzS-´ž¡©î½—³ã÷ —¨ØÙ†MÑv¸×»cÓÐHTVå!N§_;@;õV{øƒ¼\R¼? ¶Ëzø®öˆ3$²²‡).<”(R¥$uìÀ'^j÷'°»‹†¶ÇjK!–XŽ€Ø`¤–úþ…'Áy(%c¼Ì–üw[y—‡PRTÁx"¾•AÃßǸV‚ÏpN¾&Ú˜±¢Æq´®WÓ¶ê‘ê-#@OŸ½MGÍñ÷ñ£~D•%„Íü¹m(ê%úá§)Þƒž©ù×ï^h,”¨x·öÜ»þW.Ý6ÞùйAR=>…´©)W¹ PØ+?ön. Xe®ÒàõÙƒ{{дÎt¶–§/ª–ŸLwï¥%* ”€@>S°¶Rª9eO¿Ý×-‘nB×*äÚ›Txò‹‰oÒsKî“ê))ÙN#μԭ÷%jºC´zoÍ»MJÜ(IuM£AnÊJR„öH*Qd²@ ìƒx´NŸ*¬S"Ia™[Œ‘¥¤§È#Ïìkº²ŒR{+üBf2ߊí´3ŒÛL„É IFž–JŠ’JHë£Ø>ÛØ"­Póû<ˆ6몣Oe¹ºÓPn! Žùt€Ñ¿t‡ *R@;}ÃakyÆÙio<âm *ZÔt’Iû ‰·e8ÅÊr`Û²;<Éj$%†&¶ã‡@“í 'Àÿ¥LVCÄ ,ò¯2<†ò‘xŠ Ûzì²! õ lÿ$?4õ+?Ë7ñ)ùH´_kµ¼û77Ë@Â,8¤;Ý>¦Õש:o¹Ö¼y¥²¬æÝŽÞ,vÙVÛ¤ŸÏô ¿¤8ÚÝôÖàA÷… ¥ï¯Q÷ oAj¥Wíù\9wYÖeÁó(–mÏî²I [e+(P*?«ÁÐ:ÝC/“¬ÃŽçç"×xUºÜô–¦´o×ôëZR“êh„© ý$“ö‚óJÎù8¸ÙoxTeŠá5›íÄ6§Yy”îú`-ÄíG 'zN·ä Ð"¸·£4ó‘ÜŽµ )L¸RVÙ#e*êJv>‰±4×\—´ÊL[­þÕB†ÒÔ™´²?}(ƒ_&rÜUùlÃg&²¹%õ´Ê'4VâÀJB¶Oö¬Ûñ1.$ ¯Ì%ˆ±ÚÍ¢©Çžp!‹ÞJ‰Ðk•pÆùs­6™V˨²Êƒ1Ù}/!©)wÕH;꤆Ò|…ëû…ÖCÍGaÉCL´’·Z‚R„²I>ï_ MÎÝv„™¶«„IñTJRôg’ê D$‘àøª~<ö8ÿ1dÈjÙu‘"ÙLrC€Ç~/wƒ*m!j¨9ò”ŸúÎë¼;}µcHòtAìn2/7ãNÞµI±e0$1Ù|ʶôLTIXn3Ϋ± C«!)ùP?©)…+:ȹnÛdÎÃÄòÙ7cÉ„˜Pê' k±iAÏ¢\è6>|ÊC¸Ù93›$ëå­MHúy­0û°'Ãy*-¨¤… ‘£àéIW‚A ¸Ò³Ãâ§2Îqh—xºÝY´å’!Cvå1r^C"©•4ì5³¿U¶Gd©:ø×An¶¾c¶1"ÛõØni ÒlhP®­‰C¸úÂ[Øõ;¶6¯ó¡?6tit¥(¥(¥(¥(¥(¥(¥(¥(¥(>S$72ä:—T„ ÓJqGû% ¨ÿ ¬ƒ€­ª­úÁYnðÜ›’OžÒ%[ži*ioú­/º“Ô tH;ûn¶JPgˆ4I•†Á·Á·\gI]æÝ'¤HN¿Õ¦&2ëªQBHN’@>U¢& ³kݶ%͸À‹“ýl«¥H¶XŸ¸§¡[‹q¶ö¦@XR}D€C¾Bõ¤ì•¬^;7Y×+MÊ}¡ûƒ¡é¢/¤¤Hp!( R]BÀWT!;N¶7½PQ‡eÈÿüؘ…ű=káز[YeIm.!ä¥@«ç±;Þëá›L2åÆR¢c×÷ãÚoë’Ól{´aôO´6’¥Ëò¤‚ïäoL±Ø¢Z¤Ìš—dKŸ7§ÕK \t „ø)HÙÒRÚ”u²I• Ìñ×O?eÛ.ȇ.ÓyK¶¾––ë.É.$,£ZÄÛêwàšä‹.ÃÊ9•âîÕéënBìYq$Û—¶ÖÛ!¥²ëltJ’²!Dl7«Ò‚ ³A±cmÛí¶Çm‘½wßLwd­åí×Vâ–¥,“ÙEEDl訵Qùw7ràb‹Å3ÉÖ×Y Ÿ2Åd~@q'ÿè!Ôh'cõ(àh§U¥yaÌä7ÇW õ³2Hðíî¢5¶Æm¢,çZHm%Iej$+_Ô£â´&ÔT„¨¥H$R­lUý¥ñ ãªá¬ªÝÎ|˪LH¬@€ô§êÛRR4ÒTR6G“ ?zÆ2+%¿Å]ºY2³>Ïn`%¦ñ›‚ÝC¿Oé­: ùù#öø?jÓéAœ‹üÉ| ‹¦;{~vEß´I6§™’ê´™ m`)ƒí×äEà¯d8u¯ À#ZnWW­-¸¬zå.+¡‹€[ehe÷‚BЯbœøPêvUØ j”$‹EÒF#€ÈU« ]ÂÓz>í÷"±#°u Gl-(RôaÃÕ=»+äÙ,’¦«ž%ß®+ÄV^Ä¡Â[¢ÚúÚD¤?!×Z ÑÒV({T|OŠÕéAÂfûåK8°_‘q»Í¿® uZdÈñޤû>ï]ͪ‘ä9«M¯‡ŸDåÆrh͹ÈëeàSJUìs©ñ¢xÞÆöº¬f˜d|¦áh™&óu„»D¡2bBPøJÐ=ÛQ'«Š'¯Ÿù ­e°åæ‡Îƒá׌Ëzå2dˆn²¥¨°¦ÐÃHZBÖO¨TH:Ù'UP›ŒÞ3..Î,P­·W²‡.ÐÙ¸Ez"e´‰Hy°¤Ž¾ hèrv €­é¥ IYYEG[?É׊þÐQ`Z,WKý’ä‹6DäÛkË}\åÍJa)L­µQCŠ!eÞÃJ'ÝfHn,eÈu.©!¦”âöJAQÿA_ZPc¼ltá¹N9}²Ü#*á{ºJ O¶º†ŒóÄ¡[Zz…i=¾|x5÷ü=ËÊñÞ0µã9źðåêзãË}QÝu*a+W¢´8”ðê[H Ú´ hÖ·J o€­ª­úÁYnðÜ›’OžÒ%[ži*ioú­/º“Ô tH;ûn¶JR‚‰Ì¸lìªÙh¸ØÝe¬ƒ¹µt¶zÊêÛËG…²³£Õ. ”ïGGGíR±2·¦C ³ßº” • M¡µ‘ð©Hä¡jøðt*ÍJ ¾÷ ›ãp.­Í~Áβ«Ä(J‘-ÙÛSjRR§B›Ú»#]´¨kJ«Úl“˜Ç2¼fñ‚Ý.¶»¦Nì·™}N-Ϧyèå¡ÞÛ+JKŽm+ì…3¯§{Å(1ˆøÅûfYŒãYJ,7{ ñ7åÈqPæ8: ²§ÀwÓèIPÙ ×Õ¯ w¶/Z.8›È¼Ú™ŽÊÚ~! Ãq „-ÆŸ)è Û©AÚ¶v¯” óÖAhÊr¿ÅºØ®íeÒæ*Sö¸1—}$¥[BÐ$6„žÊRÔ²u¡úSpEºí™Ùä©ÙnZ®%Ùœi¨ë\ˆžœ¥8˪lýB¼€¡ZØòuªÒƒ Èl—<¿¹ØÝ¶ñm‡’b Zà\¤@u,)Ñõ=»mz€i}Iû#s–,zÛ? ³Ø/ØæD»¤TDKðŸ7éû B‚Ò÷IM¥H '`×~ÚÕéAùyÄ´ÊÝPYJTBT­Ø ’æ²)zE·’¹.å>Ï}íqfTWh’íµ%dO`íÆö Pyù¶.'ðíÈø°_Óu¹Ê½}$oÊ$…½õOH[{5¢’6IÒv´HÜï#Ü.|A51'‹ò’¦Um¼:Á’•Ma*ñ¢u­=»ØÞÉU|à c%¼Ú.Þîг¼dBD_C£o-ÃÝ¥‡Sðu¿41íS²nƒ˜7T;EšÊüܒ™r[ϸ…(,!-$ •xÞ‰ªeÚÕ}·ðO"aɰÝ%^§H½.#1â8´>Ü—qµ%Ít;C€õßmøÖüVóJ ³0‰>äž2¿ÅµÜ•ÏvÜ1°Ùˆû=‹Zîtµ$:;øÙ­"Îô©ÈïÍ`1!Äv[z×Mü>ÇZßó]t È¹ý¹³2=ú MÞrm9D{ŒåÅ·<òYŽ–ÜJ—Ù) è¨{Sµ¦Zã@rS÷¨¬ºÛ³›m—Z[JPl«®Ð >ãò<#J ÆÕ%Æ9ç'¼;l½&Þ» HÉüªAmÇc»)n¥$#ݤ­:#a{=Píø•îó‡[œjÓvnUƒ;—~v Ì¿ É1“'E•«®Ü »Ü­øêz• ôU()vkEŠVWùÕ|rd(Ï´‰—)è!Þ›JW¸¨¡;ÐÐéò•ÀrUeXø¹»d¹ØßKÎ2ô‹a´¤Ÿ€$yT4~©úåµÁjßéÚ[Žmjqn8v¥­J*R‰þI?àâ#È/G¿ãî^”¼~àãòX³<ËsVÓŒ©¢¶=`[+OoÒ¯”•€AÕFq%’Jù1ì­ÔrÖX²¹\2¯E…‚§²ËQÐÊ¡ý2¢µ|…v$mt ó¶Kz¹ß2÷9R ”‰9,Lœuöå]{°yä…#±Sajôô=‡Ôì@wi¶r ÷$¹KÇî#æÖìJTGW(Z-_öM2{¥-¶ókIu¦ú•¥Øò@ù×iAå”9pµ`™KÁùç¯×%M€$Úœ¹ ­¨ÍíÇ[ Or[Y)'`|µLrÎ]Âå™K‡…æ.r1§ÚRqé=n4Ä<èG¸¡%^ѽÃ÷¯GRƒÎr'l‰;Õ»âìØt´ÈjRô†2˜W©ér´ ””¤{¾<”Ã]¸Y.9Ç'Þ±ÛäF/Òa¢-¢4%Iša¿I/-–»âʉ l¥Fõ£R²0<¡Îig™ÃL&a*Ü›Y³m_Lµ¡Å§Öõ¿Q[`…tð#Ê–fðL¢\ë“’®–Ø÷ëzå5=£†ƒnº’Rµ­IWô»v×í_»DK¬yV8Øv3ÈöKÒfÄTë}ÕçdYc²¸îúÖßPŽý=ßa5ºôU(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(¥(?ÿÙlepton-eda-1.9.10/docs/wiki/media/geda/board-4.png0000644000175000017500000002011113634703632016365 00000000000000‰PNG  IHDRÎ+I÷U pHYs  ÒÝ~üIDATxÚí±]E²Æï,Fr8ãäm`bBž„É|Å GŽM‚#4‘Y½ÁFDމì Í$0Cè•@ðl²+á•!@²¥eå Ê3®qM·ëœî®®êóý‚«;wúž[§ûœïTwuWo=>þ÷Ñã ÁŸøŸ¾ùÉÅOßÌAS¦îÑ`¬‚U°J_fž`$þT~ðD 05ÀP@ÔCè'¬rñ‹° VÕ*ƒè'`(Ðý D 05ÀP@ÔCQ ¦tÀ*¿«`U­2˜Ò t?CQ D 05ÀP4Œ~>=þý§§Çwo}~åî­Ô«¦Œ}äÅÒòº5¯?;oVù¬+XѪ†ÑOº±Ë³{»÷ZX8žå%çâÁZÊA÷sX¦Js-) /µ)‘'HˆÎ…^?Lk—Ö¯_»D]à(·StËù'Q,@OOípoÿ‡Ã=. ôÞÿ˜Ž”3zOgÔÛºW[NïŸÿíòõòsÆ aôóö;¼}“B7?ɽÒѸ@Ìûź‘i9ÁåŒ[N¯RÚìãAùÈ&ÉÙÝ[ßüòî–VÅŠÁªèVuˆ~ri£Oò]9?ÑOé©qû·wÞ{{{§¯å)ûSžÚÅõ;ÿ<¸ï¡Î¨E·@ôËRžš"Ú,í$!£×(ö §[ €ˆ{SE´œl>¸ÿÙÿ\\÷¶€V`JÇ€ä;×o|ü¯§Çô*OˆÚ°äå‰äŒ¤MS€(4_ûI· åež={öìÙ3þ‰,ßkí§åuk^–IYÎ=µ”œ-3v«¢[Õ!óm~4Ês&ÞQ-'i£ÐAoK(ÝÏE9ãQ[4Ô å3׈D <Ÿ¹icQÏ×  Æ¢Îxjð×@t:of,'FÌ;Ž}8¹–åu­*±œ/Ÿ²·Êg]ÁªˆVaJ,n¹\èÞÛjæ€î'x÷ÔÐ q¨3 h¢Qg€§¢Qgàž¤ DÑÏΖ׵ªÜr.gšÄßãÅÎ`Ut«ý„åIË1¾"‚î'8tBA\ jผÁS±˜ÐýŒ’•?uFqíïk¹Ì‘«·{TžZ9HY×þ(ræÁZˆÉÑOMÔO_Ò² ¬šjÕöûw=9"iKíA7~ «FµJÕýŒø–› ÷¶hŽýq-ïmX.€W÷ÔðF…ÍŒ{=™ky1qí··üàþg—¯ßв`kO-bç+ºå)0½D¡‚§–'îí×ò`".ˆBÃèçzëê…õVùÑìc²––ëæ!ÎHÒÆÇ×"®å–ÀS>i8¥ÃOŠê©%íƒÜQ¦tpÈGÛÞ¹óó“oýXe_Vy³ªÃ”Žü¯ÔÊïÖbJ‡½ýÞ¦t¤,ç£lðaA_šG?5Cé>‡Þõ–ø´ß €7Ž©•Üêú)¬Þ,çߊè³Lµœ mÀͧt{,½E.gˆ„‰ZDŸ%¢åö_é©=†³zÒrAûæÕ×Ö›yQðý´´\o•ÞòÔéŒøÙñ×yö“UyO-Vì VE·ÊQôs*Þ¢Ÿ-ì/·¼Åèd>úIï‘y ô¨û9¯[ä¡ë×rKK gÀ.¦t´øî’-ïII‚¾MéHásãaÍRö”ýÞälª=%ž<5à£ÔC©io²\¾÷l?YU2ÃnÞïrO þèÅ…OßüäâÉùûÿ?ýôÍOßüäâ_þÎ ñ¨ÛÆÆÆE¼66è“k[뤿ÇK^»tmk}¢oG~=þãÚ%:Úzëê… ú¯üÅã_¿û£Ìª9öŸg9ý‡ì?þí»ÿ¬·dåz«¦Zþªt“?¯óÍ«¯ÿÊ?§áGž=¼ðÔ¾¹˜>GSF_Ò² ¬òfUóèg»àZG?[oa×"ú™uæ»Ïµ‘ó‰èŠ{\o‘Jè5HB†Ý§@/šOéð3¹a –ÏËÍÛBÚ°O(è…Ó= < À۴׃ÃS½è¼™±Ì !½ Y:¦ŽoEN*ªèaÜ*o'ÿ<ÿÝv­O XÒÐSóv÷8#¾ É4Ïó.ó¹ÕJàžü5ÐÌS›yF~$,ŠðÔ€ Ø£àFÚ̸ï„_>k‹omíçAÕšy5ÍŒ;[®·jžå²ƒl9¥ƒ—!!K%þn=)§¤ŒFDl®™ÔD(?ueiÒy‡´¿Ý”ŽyÓhô–§þ1hÐwÃFÿöx;;L銔ܴΤ¢Ó;@k jâ‰fΛüQ÷Ô m µ…b/gVƒ‚Ö ú9,%™Qj ÜÝ[Ÿ_¹{ëܽ±Þ¼½Z]¾~㋯¾‘Þ«4Åî½îÞkQo@O¦}WýÚÑÏΖ뭲RÕªùÛ7?øòöͳŸ\ùÇño$gô^–Ñmžåú2š “}ôSóàia ™”3Ù.©’µ®+D?CÚ_7·¥åô>ÿ$çÒ6Õ{/ W‡ÝïùÖÔ i5D?ÁÚ-uj÷ÔzÛòjüÔjD9«{œ<SÝ 9£pÁîúÓÏm.ýypÚ&©ÿYiÒÿêÛ‚D-ú¢¸öǵœ;ž ܽîÞó,mœ¢ã§eç…ò-HŸ·@@÷t€_дpŠäŒ{@žã›í6çNyóÑdëÈY‡F?}Fô`•½U©x%ÝÀ´”R~ó8%öÑÏ|²–׃\oK¯”à>õ_¹®3%dö‰³óu®OÚ®9Ñ9úé}ôÓ'ÞMµœÞ§: üÎG¦èö ß>ÑÁ%­æÍ#Ó×jBõÔ,ïΫÆÔbÝ`²"âÚ×ò<©QžÃ#ʘZI=Ä…·àT9kÊS«‹ÏYc°¼ä˜©#h.kº1¸¿FßâS=ä\6ÏžÚxhÂ\ÚJVyj´ƒn€í÷ÞÞÞá7²’iº 5$gÏ[竇ÝýkD?k䂪Þ-‘¼o¥oÿzrô³näÅr%fÝ£Õ²¼®Uö«wK¢Ÿš2ü†9ñÔÞÚð¡Ÿú´ÿÅ^V¥$éDÎrí¿ëbíg]025†åµÆÔôpiØšxûÊ!‚ym„15àšúÒ³»¢„EOÿvùÙ:#C|¹[/0¦‚A7rçúÁ[[@Ô@`¼ÝNËÄ[cˆv€ï‹·G ÆÔÀ pO¡¯ï0Ò2) ®=5Lé°·¼®U>§tX¶ _\÷ZX•—3ouU«ÌÉ*í‚vLép,OÓÛ¹ËøZûÒm÷¢n #7çÐw#¾åÈámL ¢†¥W!JV•ZxSC  ŽMA&‰š'm½É’ù¶øûÔÑÎ>mÞÚð!ý:·çì~9/ÿ¢,Ï«Ü~YF–'ËyíÑëÙ­ç^XEŸÐyyþ‹){è»Û;w~~òmÊžèY_žæºj½™1·_o•e¿G¬c#}vTWë­õëë-]]åŽvRÆqôSv¦v.zÅ#Zžß8VFÜè“vÑÏò­ˆ=lf¼äniª«È½0*“òË4G8[>Hô““ºLý®dyJÎzÙ3¯Œ S»¥ù@>€à.U$OR¼lb’n+ ü\²Ë±œ$ÌRÎÈŸÊ? ¤Ïe¿Ò@ƒf¹U‰<ùœ¹–¬›_–6ùyê˜íln.jùËZóÝÖŽgyž^ÞYŠX‰Ô˜¦FÎR‚ÑS;ï,úøe£îçÔ›Ü(ĵܵêÄCÝjæµ¥¢™qÅ«–oe5]û)§YR„4?ýÒC<¨åuÏ1e•Æryu×èå%)ÓœjUë2RÚRõÀ¥Êä¥ÍÃÕž*“—¤|L“w¨µŸ`$Ê£T>ÇΦÂ=5šSr´X÷c‹±3lf E¶òðpÁÁýÏ._¿Q.mQÐOì°¢@5N§%/j^›9#΀ÊhæµÅ HòÓ>ì¨P .Uç-¿{¹ÌÒO €IÉ“œü1ÒTµ§æ9œ «|Z7!{]«x=ðÅO4 9Û~ÿΣ'Gùiĺ"9[o®/¬7kY…) ž73î[)xN”T™¸5Y«Š)¸#+Rl”Þ!õ6¦Q zŸÂfRÛs1¦æAÚ( µ6|é‹9#à©nŒ±Lª)mQ|7ñ”ÑÏaÓyËrù«¦LÄxÐr¬Š¸™q¯ºêµÅrÝ2©-Šå‚ö73®•'k9OìXŒ´™±RùÚzÛµZÕȘ6ÔfÆ`ÉxÞÌØµö!­K­‰µ6t1¦:35÷ðé©¥ÑϾ« ºyjt)îíÿp¸·„nÅ2‰²™±OjíCZ‚&cšŒ~.n3c2¾±.½‡´-M[ãz R ãû"%lÑOÏ"9£Á?¾±.—¶y¿¸„8£O«4Qª|ªn¾³ÆªÖ›·««ºRK«ò©º§®ý ¼™qª›À¥.h¾8•á{ŒûSX&ËÙÌØ'6óÚô[§¦à.b3cn:o ’6.gô^Ž)øqÂÁ<¸T¥ÆŒ–3v6¾ÝR9íV/g­é<¥#Õå$9£÷²ñR¨;oäý)Þšüñ†•zZOþÐ ùË1µÁ73® ¿ôS ƒ¥[%4¾4ž{å«Õåë7øc èI=ì-¯v½œÙ0Èä[)vðìüò­ø CÉq@k9ÓøV÷ÿúç“1ñ’ã”Ó|íg~»_ãåË7åïùÚº”Ø;kaռ͌¹œÑûX›÷ýEÍËôj¹™ñöûÿëÉQ꿃ofœÏji|²å»±–µäŸò(ÕpÊSƒ_VNë®(ïl’§výÆG'y}±™qdc§Üxˆ]]x}î®ßémΰ´ë–ò?þÑãïþè}ÖƒŒ©ÕE#vRà0B§ÁÛRí%Ðb¹xzkMˆÚ¦zvò=@<ºuçµ¥<µÞg¹ZAԪ都Än™x»–F-O™—ÁSœ©3éø{ÛnW?Ë9_o”çk“ùl½=¨:of¼œ­p¥Øñ1ŽTgÿMô-ÈÏWÞþ[ÐÏ/–[ů@Íòx~òѤ§Vw™=¦t …fE„‡g#63ƒ©Ñ|SÔŽɇ#ä'~Üþ<˜ ãýÃ2µpÝÛÕˆ1µ0È…ßQ–¥®oäGÙRÉ ýÈQ ÿµ®Ä"uýh<µÞ¶¯Vè~†Ï,&©ã#Ågx{¥äŒZðLb‚¯ž¶i¯Dô³s›_<›­ì›_ÞýQãÙiâYù”ñ5lfË*jAJÕMÒ&Ûådõî[û>äß-iAD?Ae4že*¦Ïó­–_¸®¾[/Hζwþï·wdÂ(} )M Nç <£ÉOG{Jð%$µäŒ@‚o{¸œî}ýýážlMžB*4›Ę˜@ÊS;¸ÿY.‹ g‘`3cÏœD<¿þþ¬§Fÿ•$QΕ¾-8¡û™ï6úXd7!5IX>Éé“’M‹Ñµ{jò¿\ÎdëÏkA£îg9‹híHÈ€ƒÜL \*%d˼ãÉ?§ÖÉGÏÃD?5Q }IË2úsŒ¥êe•¬ùó&Ù¾“763öfùh$g÷÷¿OO÷iтͣŸ}tB[“ê&pŸ«´/73–`3c?VÉCùL­ýäLmÁÎÑÏ©ÝCy4yM¿cj}áõO‹¥êv<á—õBßñ<'Kc^ SCWt<¸œMSƒlyC/gÄ‹Ü]јš‡T‘FS: g£B+@½å>óHå¶Íã­õ›‹š¾³É_{W Ð2¯ã |2ÕS#¼e¾m(jy9Ø×pO­·-`>óäŒðæ©5SÓȤ-.<“Úi"xÙ¡¹véÙ³k—V«éߥôScXO­u:o)mšEïˆ~ú±J^¾¬òYWþ­"![o­_/»å–Õ}ë¡aô3¿0Uï©aA»à©DÉ„[‰Ÿk£[:oˆN,ü\² œQåŒ@:o0o—/(aTi3J=4/,aò&َǨrFtÈÒaó]P L²y)†R,(ú©‰l®7¯¾¶Þ$Œ¿¶³*b”ª¯U©ÔQWq­âžZù/"ú‰tÞaðÖ­åÔíxrü\-¢Ÿ˜ˆoÝ PNÝŽ'áGÎGH›7¼]¬ .du=µy;T´£y’HHUDòûx‚ÔUÝb¨D3\“úÖÙ\Óõ»œ„·+óÔámGzo«¦fš)Y93/«Mz,»•§Fø¹Ze¾M5a¬è'ß>†â¿r[ùZk l­2úx–Ÿˆ^ë2)‰^å(ËËXêóÞÙ¼«=µpÑÏs(÷,JìvV•ŸÅ<úzjèx¦Ð¯eÖ· f†À_,wµ‹{~®“oLj‡¦.e9 /?/¯/³ˆäï—åÈÑ0PPž˜ÛÛ“†yá?çèíM€â<íÅ4ŽÒæíAØ-KÇØøôÂ4`nš S{eË á©5 âíí›Îxù>žhe SG=ËáÍSë¼™ñ¨ÔÊJb9¶X¾ mÄáËó“å§LiÛñ$üÈáhJGI?Vñ njêóüÅÚz+\òÔ¸¿ÖzÓÙ©eê­V+Óû|=È2ù)òóyS:(Uw^ÎÊëŠä S:*àͪ’ õAú•{jùsŒÎ¼i´–ß:ûÝ—w\o×.®=5P‹T ÀçT’3î£ÉTQ(iëytöIÎt]Þ‚KF‚¥ÁG[ä8H­±§ZÏ^þ¤=züjgͧ4Û ¯sûöMOµ=þwË:§6,)¿,%ùÿÚàírµh‘b(<5л·>¿r÷Ö¹ÿzc½y{µ‚´ Cë…ëoFD?+—á]ÎT²rùÊK–œ#·Š„LÊÙí›|yûæÉû+ÿ8þ틯¾±Þ”%kÕüxÑÏTIMÚ‚ÖeNFÓ66NRê—ÿ"¢ŸFø´*o›fš¥> –:ZÆ/;…Ë™üïî½îÞ›zvšsOãŒü!ó"úYB¾M½yjè~VæUK‹ÏÔº%4rFœ¥¤Ž“—6@”O©­g‰œd;?D my[Q€@A5òù¶ò%m ‘"!Ë{j@ƒ9;ùõšÁýuëGΈ ÝOŸô|«Oë,'|Ìë~æ}´¼Ï5õ»è~z“³«Z-‡Òœ¯iƒ§fн×&%Iîã‰nf Þä¬Å4ŽXcj £Ÿ­×*γÊCìL^"µÎ‘G6%<í²æÌMoÕHÑÏ”OÝתÔÂõº¿˜êC ýô‰‡µŸóê¶n÷Sï…é°Ìî§Ï.ç‰m)†Rõ@ ìœzj)ü4žgkçýnkk5ñP}ÌÞîËõòܽ­(PyjuYæs~Sëjêÿ¼ðB¬,—ìýý÷ø'Û;ï½½½“ÿV»‘Jé—Yzj'¿øâ O"éÆg1O­2å]õv¢¬œÕ"ïyÉÿÚH]ET$÷§Y^VÇë»·>¿²*)ÑÏjxy¬uéxxÞ.¦’Žd‹NhjÉÁ=µüVcrô³n”j¤ØY~Eg~½ºk?ó’”iòïŽÝ‚šØîÁƒ¯¿?x ±Js´¼U$FÏžml¼:þê2t4Ê|[b‰QþìNÒ‹¾µÿàÃüoÑÑžÿþÓ«Ò‘6~Ö%ÖˆL»³¶\u[25·U6”ø|4mjÇS_«­øçuHõõF«SHÚôµÔ®7€1µØßöèN.™ÖcmóµgY?zŒÆÔ¦^XÓ.9úÉ—ÈŒ4æe9ì]wÁ9­ü˜zéÑgní²4S+‘§Xû„ûøŸšÎ[½-.d|õßHc^öÈ$Ý%G¨¿ræÝÑ–wq·@Ÿ}Ë[0ï\ÚÉ"¿¤È6ú­Ô0ŸÉ%»÷?»|ý†ÌÊp:«Ë¦’gœûÏ›¿—å妼r?›¾åeÞþ ½—·’ò²öä ¾’‘>¡Ë45IUvç%™‰‹·›äiýÌ'íå1/>æ"ç|Ë2rŒFÆÎRåSG“eøñeùT´ŽwĨ £SOçô=½nïÜùùÉ·ô]n?Úöûw=9’=*y"^oí?ø×^ªää {M‚æ±ãש2Ò÷`•Í/¦z!~Z°yôSvm¦®‹2¦V2-åÌ×Ý̘w<å'ØÌXƒçnj€èÐýô¹^¬.~;U«9ý#g<üËÑ-P0öäírç‹´!gu‘þïxx»žó4÷ÔJ:Q:ž„ÿËšoC 9+aìØ}þ¼ü_çFžÚÔÕd±äŒã¿ÉA-d²ï‘¼¶ˆrF˜®ýäó‰é•"¤òsK«ú–Ñ—iíg뺲,C·:¯‡’ø ‡º’öSfæ¾VéËtÈ|;6%ÏêTt2UÞÿÚÏ¥×»Ã~©‡ªQ2ªR>"·Ã>q;¤cÈ$‘T&FðLHYWÎxj4!5ŒÐw¶WJX£ ¢Ö›N‡·'?H‘Ú¹µ—´Ìͳ(¨Œe’HŸàŠÒЫe—Ð:ÓyG rÏ+c¿m063¶/3ïhrCk}}NmAù+±êjjxj®§ÀTýtM,ˆe-xj€¡€§ ˆ`(ý„U.~VÁªZe0¦ t?CQ D 05ÀP ú «\ü"¬‚UµÊ ú  t?CQ D 05ÀP ú «\ü"¬‚UµÊ ú  t?CQ D 05ÀP@ÔC)°ÊÅ/Â*XU« ¦t†ÝOÀP@ÔCQ D 0ˆ~Â*¿«`U­2ˆ~†ÝOÀP@ÔCñ_†¨T¶ÆúîBtEXtsoftwareImageMagick 6.0.6 11/29/04 Q16 http://www.imagemagick.orgÝ<Ž‘tEXtdocumenttmp.tiffý òüIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/fileformat_textgraphic.jpg0000644000175000017500000002235513634703632021677 00000000000000ÿØÿàJFIFHHÿáExifMM*ÿÛC  !"$"$ÿÛCÿÀȰ"ÿÄ ÿÄ\ !1A"Qa 278UVbqu”²ÓÔ#6BRtv‘“•¥±´$3CT‚c¡¢Âä&GWgrƒ„…’ÁÄÑÒáÿÄÿÄÿÚ ?¹hˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆy Ê,vMieû¹Y%¬¬¢Ž¾–JgÔRH4M{KK˜âk€<ŽÇbƒCºkþŽÛ2#`¬Ï-¬®kËÂÉ  :f´ÆÒ;îá²’i§‚¦ž:ši£š Z‘¸9¯i‚äA«L‹Át÷GåÇëiiYŠ[-ÎŽ°UÆÂ'Œ7Ç| ×=ç™; Üz–½Ñ"‚ínÐGSõ„ýðÕÕ?h0Ï‘Ôýa<5uOÚ 3äu?XAÑP ]Söƒ ùOÖÃWTý Ã>GSõ„ýðÕÕ?h0Ï‘Ôýa<5uOÚ 3äu?XAÑP ]Söƒ ùOÖÃWTý Ã>GSõ„ýðÕÕ?h0Ï‘Ôýa<5uOÚ 3äu?XAÑR 5éw©9.¢ãXåu“Ž’ëw¥¢ðÒÔ ÉfkZLälã¶àû »èˆ€ˆˆˆ€ˆˆˆƒe¸öTdyMÄ[ítîceœÄù6/pkG qÜ‘Ô<ýKFÆzDhîIPØl¹‡}\«ælÐú[VÎ7»Nˆ4|$€°Ý+/.¤—Nì±ÐÜnN®Ê`©u½tõm¦k¤Ž"Ý EÎ$l=…eí:±¡¾Ñ[µ'N+°š{X£·Wºçu<“;ÔG#¢þÉÎØí¾ã~Ôº" """ """ """ÇdwË>9gžñ~¹RÛh)ÛÅ-EDŒoç=gÍÖPdQ|égЦš*˜]ŬaÛmÚFàó_D®¢ê6§”PÖfY -¥““ÜXðé%—b,€½Àq Èmù¯V›b™ÝŸÓ|JùIv£ {¡$:7¿ ØàñêpDZ‘ãúgÒ5Ù¶Q=šçae ª»€ÎêI™#,}É€ÈÁŒ4Ž[7_½¹Û3~Ëu •‡–ÑOmžQˆ××µü}Ô°í#x#<½­'‹–à‚zDDD@DDáÈnöûŠº÷v¨m5¨¨•ÜÃѹ>~C©{—šëo ºÛ§·](i«èªÁ5=LM’)äs\#ÌPV‹^qˆë%Γ ÏóœgèjDöìZ¢õOõ²0ž «‡ ÄCÕËs¸ë±øõêɶ¶á]­×Z#j(jY4[޶‡0‘¸ò-wú'ÒÏú4Ã?aSø[?c²ãÖán°Yíöš âñOCLÈ"=g…€ Ï•CôM?æûÿ2ÿâªfºÃªzUƒêo¥¿fv™.–÷^õ᪖éÁÇê7ß¹·¯È´ŸM÷'QûR«ésQJü4;ÜGíJ¯¤OM÷'QûR«ésQJü4;ÜGíJ¯¤PM Ó7Òëmó±ËA_=î*I$ulÒƒ äl÷ÖÆúù ¨ˆŠ\è“…ã™ö²Rã¹M «m²QÏ+¢lψ—5»´ñ0ƒþ´.•ø*hw¹:Ú•_Hž šîN£ö¥WÒ æ¢.•ø*hw¹:Ú•_Hž šîN£ö¥WÒ  úëßþR[¿™u•CøÿF°ß­÷Ë^3<5öê¨êé¤7*‡KƒØv/ ì@;²˜…ªZŽÍ>½cfñi#ºÔ¾–¾ög-ŽÙ'î=чv½Þ/- Ø’V…¯^3¨–›ƒß­¹êã{£›kUTu"ŠeKQ#˜HcZ·>d¸êvª§§«§’šª§‚AÂøä`s\<„Ec1¼[Æb’,o´Yc•ÜR6ßE8yå̆¹ä?B º" """ """ ""¤IŒOM&©±Z£üž/ôŒql4ÎÿK&Ýc¯»žÃþê‰jž¦æz—xôÇ,»ÉR~ÑK‰ON9òdcëõGwÒVc¥²6øÑÿÀ(Õb1Ÿ¹»gâq|À² ŒýÍÛ?‹æA_­W{Ò›9¹ê-Îßj}ÒßCö3_qpŠ.õc*"ŽWìÖžèX\Þ O^Ä/n1s²dÝ)Ý|À§†¾ÙOŽ> ýÊ‚@ú9ç3eÍø¨îO“ƒíc|V㻜ÑÈ¿"Œ¼(ô'ÝÏîšß¡AEúQû!3oüVñ¯wëVO¬yFAcªï»mu{¦¦›¹¹œl lx\‡çhè;ŒýÍÛ?‹æPm‹¤î‡SY()§Íø%Šš6=¾•Vœ¡^Ï = ÷sû¦·èPLȈ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆ ³z#¾²oÊH?–©VeVoDwÖBÍùIòÕ((Ÿzû"(~.ªùŠSï@dEÅÕ_1FÑxr ů²ÕÞ¯U°ÐÛèã2Ï<®Ù¬híÿùÖO%î$I;ÖW:ºdë]F¡eÒã*··´ÊXÐÂ@­¤‡J|­M íäþ}*2\Ê¢¢ÉƒÍSãáŽðÇpUÕ+œ?³iüü§°Vç¹Ï{ž÷9ÇrIÜ“å_Å,è&ƒeúµRjhx-V¤,žéPÂæî:Û7G\·v‚&EÒŒ¢Æ‘cñšË,¹`i¨ºJ^¿’6ìÁæäOœ­ÕÚ5¤ÎiiÓ|Sb6åk„ºƒ”Kïo¬¬·ÖÃ]AU=%T.Šx$,’7¢×`ùÂ覢tMÒ¬š e³QTâ÷xÍš‚Bè‰Û` ÉoQÙœ—_^ô—[4‹-Ò{ãhrvMGPçw•Ÿs@ByµÀm»O1çÐXž½,¥uE>/ªµL,ylt×ÎÔFܶÿH6Ûï»\.k×±¯cƒšá»\à*ãB»=u¢k„qé^KUÇ<cžGxΣwSÿ• –ûÐG`AoÑ'éí£]çVýUÇ)]Ü*Ö_"gTršÚ€;¹5Ûvì~ø•O×co6ÚŦ®Ós¥Ž®†²AQƒvÈÇ œÓð‚¹yÒ;Kk´§QªlŽËi©Þ¢ÕR椀ŸROQ{=K¿1Ø^:¥Q¥:—My‘Ò¾ÍV5Ö’x¡'Õ†ö½‡Ææ|WP¨*én4õÔSÇQKQe†XÎ푎µÀö‚+ÊëôÕþú¤v•äc»À-’I_ÍñóséÆý­ææ'ä\DAÉï–Ìk®¿Þj™Ko¡…ÓO+ºšÑüIê´¹g®zsÕ-C®Éëøâ§qî4¤î)©Ú|V|'›‰í$öl¦®šÉöM9Ǫ¸¬ö©·¹KüZª¦òàåÖØÏé~ÿ‚ «h ýtѳ‰ãÒCHY|»Ãµ2·Æ¥¥<ÁÛ±òr>fðŽ[¸(¡®IÍMòùIÝ1{4uC^˜¹•-„ÕmÄ\ÙXÐÄ4;nc`ž”kÒ7K(5_Nê,²Åu¥Þ¢ÕRNÝÊp6á>ñÃÅ#à=`))qÊñm®³Ýªí7JY)+¨ætH6toiÙÍ? õbºÜ,wš;ͦ®JJú)›=<ñú¨ÞÓ¸#~]c¨òW3§¾÷å#µS¤Þ¢­eò(™¹’1³YQ°íhÙ®÷»A¥RdZÐMH·ê–œPd´¦8ë6îfûÞ¡ q7à;‡3‚ÑzcëÓLÒ{-PfSzc£¤Øniaê|çÈ{ï¹ó *ŸtXÖ4“7š¦¸TTc÷LuôÑl]ÄÐLr4¾—g'2ÑõK7¼êqqÊï’QY'Úâ%”ñL‰žõ£ôÉæJ eîsÞç½ÅÎqÜ’w$ùVç}ç=Í-¸­Š-et¡¼[x°³­ò;ÈÖ·r~ ‡2×WEzhÓt÷ 5ò­Ê/P‡<=¾=%9Ù͇Ÿ0ãÉÏPÞ —´Ã ³iömÅ,qÒÑG³¤w«žCÍò?ÊçÏ›¨r-•rÇ¥²6øÑÿÀ(ÕI](ý™·ÆþF¨;ŒýÍÛ?‹æXügînÙøœ_0,‚(Ã0µrç’VWãÚÙé®WOnû¥ªî4;«ÜíÈ'Ÿ—nŨhÇToZ£‘GuÔweX}…î uK¬tÔM¬­ÛÇl}ÏwpÅÚî-‰;·4ò" """ ""'¥”S[ô¾ hc†&j³…‘´5£û^ ì£uÀîùÜ8s-40&QGx©ï§¹¼pÃÇÄÖpµÛ¼ñ Øy‘ÐfôG}d,ß”-R¬Ê¬Þˆï¬…›ò’åªPP>ôöDPü]Uó§Þ€þÈŠ‹ª¾b¢"" ""bôɬ}oI<¹î{œ"šZ Ü42ž6ì<œÁ?œ¨…I](ý™·ÆþF¨&ý(é5é¶GˆØ¬øÌô4‘ì’²šgJâ÷—ž"Éš7l9u¶¯ ]Söƒ ùOÖfDgÃWTý Ã>GSõ„ðÕÕ?h0Ï‘ÔýaVdAf|5uOÚ 3äu?XO ]Söƒ ùOÖfD–¸ëŽS«ô–º|šÕa¥6¹$}<–ø%cþØÒ_#ùž[u(µãÑ_&ŒƒªÉh±«fHêcq¹ÖVÇNØi!îÞ8Ü÷Ýe61·0 ÷¡Xû>S§”½/¬Þ‘døËlp`LµÒ>–á § ÓÁN×5Ü<|;lÁÏb9(sÐûÅqìŸ.Ê#ÈñÛMêšž‚#nQÔ67™6‡ƒ± ¥e¢ÐÛ6¾Òf”X¾#MSØE+h" cÚñPdmCcð°߈m·R •|êéà«¥––¦&MÌtrÆñ»^Ò6 ŽÐA\ÉéO¤SéF > (¥v9râš×3߯„ž²æn9ž°Zz÷]:U?Ñαú|>‡OÝGuî®fW ÐFÂ@xíŒÐ?~Í‹¢" 1ÐkFݘec<¿Ò¿Ò,ÀÒ1í5•C˜ëël|œ|®áöp]Uû Þ¢Y²­&¤Å ‚ž†íŽÆ)ê)ã £'ÅœÞ#¿¾Üõ¬ " ""Xô£öBfß?ø©+¥²6øÑÿÀ(Õb1Ÿ¹»gâq|À² ŒýÍÛ?‹æAôËk0ͽÜíFOMêÚ hn>ùÂ6ƒÖ[Ä]·½Y­$èð9²â”L`4ÍlÏhºÌyÈóç.$¬>²à·,æ¯ Žš®š}›"§»\#–G4Í!Ŭh !ĸŽD¶ü÷ÙHHˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€«7¢;ë!fü¤ƒùj•fUfôG}d,ß”-R‚€)÷ ?²"‡âꯘ %>ôöDPü]Uótmrû¥í'ytÌ¡áá⫎]¹ÿy oߟ—‹u+1è‰cÏ·kºþØšÚ{Å­›¼uºX\Xíþ•gAÔ.Š•6û×G¬6±C!e{<¹€ž(^èŽû+?‚“ûÊ‹ü%?ê«~‡6`ˆzÂçwŦ¯¾ nÝpL9íåÙíq?öµh>åEþŸõa;Ê‹ü%?êÂû¢‡yQ„§ýXNò¢ÿ Oú°¾èƒáÞT_á)ÿV¼¨¿ÂSþ¬(_¤?H‹NdÖ‹Ö)/SVÓ¾¦¤CX"}+7áŒð–ž."Ö[°onëT´tÓÓ:™YÂÇ“ÐquÉÜ!•øv“‹ô4õ ²ÐÓÁ &(cŒžDµ n¾‹HÒTÃu>šº£­ª«ŽÌmA–ŽHCýø@.8ìÒvíË}· w@D_™¤ŽŸ4¯lq±¥ÏsŽÁ s$Ÿ" GXóûNš` ®ìàñx)©ø¶uLîõ„õžÀ ì\¯ÍrK¶a•ÜrkíGw¸Üf3Lð6õ´v5 Ø Péi¬ê–~ø­³Ê1‹K º"vlÎßgÔåvÃmúšQ.Pºµ -M}t4pI=MDŠ£ºG¸ìÖÚI /ÄñKòA£o76·ÏÄ{V§¶‘›HÝI±Ómk»H#¹GNÐUö“ÌÙÿÔá‚Ò<öñ¦¹åYe!òÓ;†hí™S ½\NóÛØ@=‹ª86QgÌñ+vOa©mM¾á–'ͧ©Ìw‘Íp-#°‚¹¬§Aídû Ë>Â2 ·7½L3Þ|J:£È3ɧ°ËÆ(:ˆˆˆƒ–=(ý™·ÆþFªJéGì„;4ð 5AØŒgînÙøœ_0,‚Çã?svÏÄâùdfôG}d,ß”-R¬Ê¬Þˆï¬…›ò’åªPP>ôöDPü]Uó§Þ€þÈŠ‹ª¾b¢"" ""§6.e£RÝ(!2\qÙM{¹Ðpí3GùvýÚçì´±²XݬkØðZæ¸nX#ȹ«ÒÏFjt·6}u¶žGâ×i\ú @Ý´ï<ÝNãØG>úÚ;K\ƒKÐÍC¯Ó H·etmtÐÆL5Ôí#úÅ;ˆãg>ÞAÃß4.¤a™5“0Æh²ØÊÈ Êðãs«kÁa‘ FÒ0Dmfã°î¦TÔ *“ÓÏY›kµÉ¥ØåcM}c½Iç ¶ ûðApü‡ß)Ǥ.¨[ô§Nê¯ó†Mq—íÊR¶œŽ[ûÖÇÈ6ë!ræûu¸ßo5—›½dµ— Ù5DòÝ#Üw$ÿõÔx”—ÑÃK+u_Q©¬­îÚi@©ºÔ†£„âÔóâ·óža¥GÖ‹uuÞëKk¶RÉU[W+a‚Æî‘î;κ‡ÑËJè4ŸNà²ÇÃ5֍Ћ­H;÷IÈ…¾ñ£Åá=d mú+M®–×m¦Š–Š’ÁO mállh­°ñæXí§-Åî8Ýò˜TÛ®:Øzö=N±ÀìAì –D—Ö, 馺ƒrÄî»¼Ó¿Žš}¶;ÔH>Ö;#±ië¤}24ˆêNž›ž”I“Yé©äꈺä‡}¹’©X5È6Ìokmʬsêèf,ßfÍSãw½swáÜsuKL³+FƒÛ2Ë+É¥®ˆ8Æâ8¡r|nÛïšíÁølˆˆƒ–=(ý™·ÆþFª`é™C-I,±²Fö¶i ž79»µôñÇ”o¸ßÊ ‡Ðu÷Oëc¹`xýÂ'Ç$uVÊišæz—DÒósYµBú<ô¯v ˆSbY•š®íC@ÞçCWFö‰£ˆuF渀à:Ü6·R§†Æœ{˜ÊÿUOô¨-/Å<±ÏsÄàèäh{ín ý """ """ñ_®t–K}æ¾A%4•3¼ƒXÆ—8þ€P{QWüiúÿšaôº‹jÎ,6q]Jk-ØÁ²¶h$‰Ûº&ËRH”8´·rѶûrëR–æ‘jšÙ²ÖSŠika"¦¿Úgc‹%g>{µÛoÙ² ¹VoDwÖBÍùIòÕ*Ì­gQð,OQ,pÙ3O¦tT¶ª8»âXxek\ÐíãsO©{†ÛíÏàAÈÕ>ôöDPü]Uóµð\Пpß½«~™l‡in‘3!Å1K®qÆø›?Ô˳\6pá’G7ŸÀ‚FDDD@DDˆÌ±«&aVã¹¾*ûmd|C ý­®b9‚ .ˆ9×Ò£YÕTÞ1X*r,k~0èYÇUJÝú¤`æà? £m¹Õ^×fs¨Z¥ÙÜòUßñ*#]#¸Ÿ[I½4ïvÛnçFG/ÂÝ+Q^ë÷B\* Êë&_~·—À*cŠ¥¬=œ€a rå¾þ~Õ®ø ýtFßÄ ¦h¯=¡' lÌÞ÷Zñê4TÀó=AÝÓn[vž£åØLš} ºUƒÔ2²ÍŠRÍ\ jëœjeiò´¿pÃçh)~€tf˵¦¦AV;Œòq¨™œ5#É ?ÛpáçË‹©t Ælx~5EŽã¶ø¨-´qðEés[œNä¸ó$’V]šíp¢´Úê®—*¨©(©!tÕÊîGFîq=€V•«÷ÜÖ‰ö<{µ÷[­î©Ñ>çQI$´v¸Þ'Ë)hÛˆqDöí²²‹fem½ãØ­dTš…ˆåõŽ£|ñÒ:ÓUMPÖwHÚE3À’"Xwžçrv§½$õV·V5{±âŠÏF]Oi§;øïêÈü7ì|œ‡>.™x.hO¸oÞÕ¿Lž šî÷µoÓ ˆºhà§§þ•2*?¶ÌŽYÍŒê}FÇ´ókO“ˆö‚®ùQSSÑQÃGIpSÁcŠ(ÛÂÖ1£`ÐPl¾¨ˆ€¹ùÓŸH>ó³›1mŠû95 `4µg›†Ý~ÅÃÎ9r  k™c6,ëÇr[tW][@š¹ÍØ‚sHsH AlƒÊè_¬?ÑÖpqûÕIf3|•¬˜¸ø´µšÉ¼Àòk¼Û½VÏÁsB}Ã~ö­údð\Пpß½«~™Ì#pw’Ëm¤³Ú)-4 •””p¶$Ï•ÍcFÀ¼—;ë$•ëAR:}éÆû 6¥cÔ²UMAMÞ÷h#»¸4—6`;xwpvÝ„ U]˜ ±‚ ÍLè³¥™¥Â[œT•˜õ|¯/–KTdr8õ—Fæ¹£Ë→PsiÒ¬è5Lê—ºS%†ê-”Há˵ÂvƒÏ̺ÉЇNóë¥o˼è#¦åË—Œé9õóAat2îûöa÷idMQf¦38vÈ#k_þÐ+sPªí¢ëƒiôÚiñ«sjnyÊWÍLgy|p6=ÚÒ÷9üÇhÉmºgrÔ»Ns[ƒçßò†•´"ºÝ”RÛ4S ×Á;[¼l”¸ <Ú7A(""" ""ÐúD6GèFr#ߋҲ~‰ÿVë|_úX+¨j(ª£SÔDè¥aês\6#ô¾Š¾–MÂßDÂÊc`¡îM'rÖ÷»6™æ:ºÖŸÑ±ÚO<°íÞò_®nƒncƒ¾¤Ûoõ¬«OõßÇY‚bÙ¶"üb(OIs¸QLn”p’xXÖ·íO-çmð ‚–4×¶àx-§´—:’Û‰¯pÒ8’ç¼íËw8¹ÇáA±""" """ """ """ """ """ *é›Z2í=ÏlZ‘›ä´ùí¦;›ha‚Jó}”T»³BÖ<²B7 qsx¶Ûb9©+W4ò«,¹cÙ6=xe—*Æê5¶®X{´.d€6Xefãv=£mÁsÛ¬­n, S³{•©Ú¹xÅYgµW2¾;^7@edÑóŒÍ$Ç~’Oè&TD@DDD@DDD@DDD@DD—°ßò¾‘¿b£É«ñšÔPËp¬µð²á8u7 12WØÐ$q qn[±u»áäX°QiÅÇ)ºå6;µ¦jë}UÞFË[M,/h{(hîpx ž`–S:Àò¨s‰õM.öš ýU(îWxú*æ0žæ÷˜È{^ÐHòØl¾š{‚å ÍdÔ F»Û.'xz_IMiŽHèh`.ã—=îvÛ¼ìv ’ÑÿÙlepton-eda-1.9.10/docs/wiki/media/geda/simple1.png0000644000175000017500000001724113634703632016521 00000000000000‰PNG  IHDR<.õýš pHYs  šœtIMEØ-}c“@IDATxÚíÝ]–£(Pé3û_’½4æ!Ýé”ñðÞS3©˜¦è' ЄqÛÝ\@Úƒ   ©@{°éÀÕÆqlwsPh*€&¤íÁ¦ t+ª F¿T@jn“çjmp+=m øOL…aˆÃVß¿6YúmP¡'‰[ÿÓ~ë¦*p»qÛÝ\@ÚƒÛŸ°Ë7©AMrP(O”°Ò[Ó¢@9", ´@qyÎ6€kéiøáÇ£ÁK³u„pW ÀI‰Í.Xdc€aÎéép pCÆ‹æó.ež6¡ ¡ @h@h@hÚÚ(ÚÆqÌù‡ïÝ\@ÚƒùŸ`jB  üM…ÁŠÀÅÜÚÚ„6„6„6¡ ¡ ¡ €‡°"p)=mBB€Ð€Ð€Ð ´ ´ ´mÔÚÆqÌù‡ïÝ\@ÚƒùŸ`jB  üM…ÂÚ£À¥ÜÚÚ„6„6„6¡ ¡ ¡ @h@hÚÚÚ„6„6(-Fu\*¨€œ¸GK¸= ÐuhÇ1ç¾wsPØBb…?swEcË? `6SÝú@µbǨŽnFghˆÛ£g|¦þÑÓ ´ ´mmmBBB€Ð€Ð ´ ´ ´mmmBõ†¶qsþá{7WPö Ä8hB `¶[€zDUpnýF5 -q{@h@hÚÚÚ„6„6„6¡ ¡ @h@h@hàrQœ^ÁêÚ¡§ à©‚è J\XÓ¢ ´‰n€Ð†è¬DZÝÍ@T` ˆ*ð¶D°k/@=ôöÜWñêêóŸ*àGN*„6Ä5@h@\¡ q Úס q „6Ä5@h@\¡Mˆk@ý~©€›“UœÿÙµÕ·?+äHlÀÙaæ9¡mïë“_}G·WbÇÑ‚T€Ðvnh›ýÕ®7ÿ«HÑ Úç™6€N„¥;¡á#»[ ”¦§íø;×*U¯´É@€æÃÜa‚èMr{ Ò|λ•é†)P0É<3±jYÍzÝ nÔãÎå†)m Q·Ü¯Ý@hà@nÛ;ã®èBÛ¢? ¤´¹¹(€ ´+/Àlnûì„;±AR{°ÔÃ2V…VDØ[ëzÚ J¦ü¨ÔRgÛëÅÏ^·bqm0T|LP@­¢cÔZíÄi˜×€»Bç×±j†F¸= ðàH¬w „6Ä5@h@\¡ q Ú¸4«‰k ´P{b× ÖèTøˆn§7ÊU¤º„6Ñ ÚÝ¡MtÚD7@hCtƒ1OÀ™‰èg áÈV“ cLýœ$Ÿ3ƒ„**jó¯K|ófE½ßWck0׬Ÿš;Hl“4ðýÊ­–>!å÷«û ›[ÍàUW{ïâ-þ ÁA@ìÁ P‹¨»#-Ζ¯§«zÚJu³-½AO1àê¼uàÁöÙgêÚZ\¬1BÀ³³Ú€µ²aáÄ&®ÐÀ;ZíMZŸNfýxý¶Àôâ•%ú}°èØ_¶4zôx=Ý=­nÙgÚlâ™6ÚòK<.¾âZ誃í@Ò2k.B×I™Ó¿Ú¸vêëõL›è°Ê»tzq½n»ÛfÛé=pzÝ®ÊåMýÙo€¦èi¶­LD~U >ÎÁzÝÊŵɬñ@Í<Óì>ÓßÝ<ëm{eNR|ïæ  *pïæßKûÝVÁÌÚ|.|Ç?ùý³?IíñŸàà'ÿÇa`÷yýÈëçNO[ý›²¤lõFöh~?‹Û£À¯‡Ûî<€Ç¿7I¨ñzÛ%÷)ÕÚuñµM´/F-´u­B›*Ä5¡ @\Ú€"é㹑•yV'C>ßYlê]q %Š¥OêñùÊÊÒ¸k>-®Ýù_‹ÒDûbÊxzb›ô•Ô#©ÎDë‰jéõ½Ýo³ýp1¥#Ä…ô­M óâk]šh_ô´Ás-õ¥?¶ôΤeÈ=¾Vkj„6 «üR_ZRb{Ç5mBpØ÷ƒnÃÜȃïd–šØÞ¹íõ#ºl1å¼&¹m6–íKl“ô6¸a ´y‰íûõï·½ŠŸ³MtHLl+©­¼ž8ÚtOQÜ0½`w=Jëû@\KN`¯ß®O½+º mBB[>·G!)Ð|ZzœëóÖáúýÁb‹>•û늗ç5IoîǺaZ®õBt›œíRRNU±ìÔͲm™Ü&ºÚ¿­´I8xÂ;ðæ×­ÆËqVóÎþ9Ÿ/^÷ÇF÷L‹íb·Gi?ËñyÚÆqÌù‡ïÝ\àìòoviTRï|9ù™ýs¾ßóþ3×ûÛJ–ÿ量››ŸÉî¯ßãvkquï·À¿^NOÛúYóöŽ×‘¢Õã…ž¶ýmrá ê‘ú¿íÙ'¼”жô9ΕâšÐBÛ^–±‚s½ƧL\ "BpjäÛÄ5 €ÐõŸ;×n¿`à@h’r›S¦¸v±q?‡ýºx ÓØPh Âì{¸¸F‰Ä6l 6Ž|\ÿ«XÉaé‰ËX½~¥Ûcñà¬Z.má14ÒS–’;cÛ•K,_ᫎ *úËXÁͧĵÂ5Ù×uú÷Jk»îöN6?v§X>ChƒÚ½D;°öèæg"®•Oiaçû[Hlß_´×—(%{}¿'}[€ÔãTÊÊBŸâû¿×ß9X=cËgý¤ìŽ•™Y{ñÖO¸û8yͶ¾ò5]—@;£Í¹õÓ)o{£«›úi y¨±ü³a›{AhÚ öƒÑ÷¯¾C[µë]ÂFá²€èÔëaGN¡­žiëG¦h³á~Ÿ=l´tæ å>-,ëå±Ýþ¡–GÜrâZþæðôÐ&OlF®üº’Û@bËýÀ r[~bs¤Ußõ@ËgöR ±Ýó·Þ'}E.‰ î m›AÄ7­HöR‡ ±•8dß“Ûv­1:;eúˆ{׺ôÚ2'‹¿wóæ Âô8’¾ùR>~ø.¸¢ü1ã·¾D<ì X1á ¡ÜŸð•ÛÎޯ߮,ë7Ù|và•%?7¯Iú~ÃûÓVbŸ6|vÖÓ³ ¼á*êÀ~êÿb;c«•kP׎7ôšœÚðEˆÏj-±úvá’ –’c0ïO»éäsE‘îWïÎYÆjeC_hs¼nµµìÝ$ÖTNpè8 l.çá„6Çë§'¶•­b•¥lMN®;yÂÀj›ÀãÛʧ…ÖÊ tÚºrêJðÕ–h.´MúÉÌôD²¬¶¯àD;¡m8Úr>á¤1nöæ b‹×`Õ6†[ÅŽªg¹ži£L30îöÊ·k'çгî™@h+Xñ©m£—Ð6lÆXÚÅB¢Û,+"TÆÓlðqÎ^YìˆVrA&ãèÉñÛžzLðL[ WÞ‰O¬D.O¶÷E4)bÑm’Þ„¶D妯]þìµ÷Ò!¿þ§Ÿ³ ã?¹®]0-^~Nnû¹`½ß6Žy•?\ÑÀN>ŒlnþzCÿ¢ÛçRñ! ¿KQ¯†ò+@¥øÝTàÝIži+ß7$G„œOˆ[û•â»ì±5W€ê¾m\ù!§ÃÊ7œ&ÚÚ.ØÜ.SiBÛ“BˆkyÍÌOÈ/€ý¥ÒÄ¡ ĵCŒ%{Ш1§œ}aàDcôhcÂÂä·!6€]q-~ }<=m¾ºÙঠ°¾;Žœ×´­kJO[›Çúœ#¦Î6jŽkz×èi{üwC7•œ’§•5zÚôîë:œ™t¶PU\Ó»–@O[ãW$7~‚ÜùßÁÐxù¡H+’ÕÒèikSÈn噟|Í Ä·Ø_A[+Îÿ̾sÓŸ3´" –+Èc¿å u”ßÛí®m‰¯o†¶ iH€Ð&´uþ'Æ[+IÚVµo:«¤q{ eÑG3¢›ÐP¹ü³Ôõ¹Í™•ïfJ´dÑMh¨õDWîsb›%§KX´i‰n Lùpû¯D WÍžàT*Ÿ}·¾â­.|46W<áâf}<6Wœ‰ùN«Á]­ºö¯@,·Õýš®“N—«ä—N¯Û_nöüÕ áß܆L½ ÞÜ 'ç*‹×qËÄ S¡Í >Œ‡ížæÐV¼¨?·9æ°ÿ›(º mlç¹ÉéJgÔÞ—PüÓbõåD'‚èvMhû³úD››wP€ü^„‡ï‚+Ê¿ºƒÆßOoÃù›¯\Ф|Aª«À7I7šPBnÛ÷'|ÝuP€×'>/@°éåâ&}Æj¨¼¾¾Ïšœ½ö?zç§ÅúJE_'«¿tñ¹=m¦üöêl›\èÏv³MN!K}ŸoKyÏ÷;×›Ô…KÏß–ùPÕ%̓[£Ð<(á½sÕR°›Ä¯¥ð·”Òf»ûa†SsÛÞO–ØH»Ù¼R:x#®ÑÏU‡Û£ôY½û[øJÊ×!}Vª•Ï<8Wâ÷I÷ÞWrÄ †Ã€vÈ3CôÚ†¹¾®Rß”]!¬üõRÙÓÕûÓâåÿ4ˆk%¸=ú¸t/ÃΔ6ñú}ß ÊÞ =‘ö>ÿ}Þ]ÿL·¢¨ázM Úž`öÑl‰-ý<½«–r¶-Ž|›ßÕÈS¾#+n6ºUºcü ‚N–ˆkB4×6Q_ÙüضòY »~sØAâî{o{Ö¥Ñçl¢áÐæŸÑm¶/þ|3ˆkpRæØü•Ýf«(ç±ñ"œÛ/ Gñ2_‡Éso)CÒß–øÛ2U’ù Ï÷ˆ„èá!ný–k~t/eå×ùãàÈ5iø’míšÃ¡íû+°¹éæ7bòžcoKüŠÒÜ›Øà ‰ÍòBÛcC›¯À4xÅ=cBÿþDí¹ Ú„¶SCI.n¤:¡ Ñ `#–½_tÒÚnmœjÑ­%FÂ|¢:6ðÀ¶™“†t¢È7B<îЮÛVJÝ„6Øçâ>6D7¡ ޤ®Ã‘Ëj¢›ÐWĵA6ìg@ •לŸ­h½ýl¾óøÅ­è&´AîqDÕÓ>Ù›ìWq+G¼ôwf´fÑ ž}´Jœñ`i9£c‡ÅÏO3åÂzÍ©‚óÎǃ)?6Vþ(ûbÉæöÔÉA~Þ2s.ò{7Wxoþ½èPú£‰Û†0}C s1jú Ü{þЄZ/@~Øm5ìAxŒ½‹ 鸫@dž’·QUÃìè<›ýU‘w96h¼B[ß'c¡¶CÛ³ãÚ/í¨í¢b>®…GB0z¸:®íxœÎˆQ¡ ¨:±‰k?¹= Ч߿ǽâaSzÙ÷;w$67CÚº&W‡¥ ‘6áŽíÎÈP¡ ¡ô|vêäºóÿ¨¸¶ÅíQàR¯)ǧqÍÍP€v»TÁ¹õ«§ §d›ï{Ó» R ³.eU˜ô,G†¼HlBB)‰íþµ/u¶mm4ÖµÇ-&×î>®# GÚ€f¢›ôöÅ”@eÑ- ƒg$„6 è†Ð ´Іue@K Dx`\ûñAxƒèiè:´eN£|ïæ  *Ð|læäE?ß?›Cµa{ P £ýϬÛC+EjØ·r{ "¡MUç6Ñ @hD7¡ @tÚ€‡G7 û¯»/»Ð´M7ðH&×Z‹k.¾¡ @\ÚÄ5¡ ׄ6q­3 SÏ ´ˆk•§¶“Þ©sÚĵªsÛ ºÐ ®‰n€ÐˆkˆnÀ¶qÛÝ\@Þ^€Ì%DU่7 Æ?3…Šk?{K¸]þ¨ Ý^€¨ê`éwûå#m¾÷”êu:Ì:)jœU´ED7êØéQ,ÆËk¡­&žiî>Ξ£º÷ä¨þAhÝĵ™<Áî¡ ݨ6®B ºÑm\›}¬M_B€è&®UÖ(´„6ÑM\„6ÑM\„6@tC\ƒÞýRÀö©?yá •M&ŽOU/‚t”ØB¸|Ê\è;´í}ý{¢ÏWŽ/1­ Ð[uYûàŠÓêì’‘‰IîHþ ÇÚ;cíQAhëgڀ–&e8~#̃YöJÕ5ùj3“æ1ÛVšÙ@ XÇîÏÑ»vÊîT«{®°:m'Þ®,D7ûà'·Gã¹m× ©×'loâfè5ÌŸÝ'¶clÛ[éû¹m«ùåëìƒjèi&°ôn¶í>6ý=÷ÒëBÐç)>ìž[k>±ÅŸ¡z¢›=9>›y›+€¨À]›ÏF´Íܶ11[Þ-¹nö`újKï\zÿf ×Þ»ØñîG¡ÜÍ£ ØçÀèѤ©t=Jµ§nw=Jx|Í û…š¾ª X°8Ö '"$ßãµzøé,‰Ðð„`q<[<5.¬W×çoÏ mâB[õ D¶­ üœüê,–âÅÚRï=-ªsàHŒxÌöÞq¸ê™ç]Rð‡ž6 >zÝÒÈ9ê]¡ @tۛϦ}Èz§¸BÀF’øÎ»–Ox`tû~.p©º²:Þj­ÃÍãÈC“ ±MF8¦'ÝýVÏ`¥Ï™rü™¶Šë-i>¿‚UAkßUðé—*rθ!üèÞxýwÊ9õH÷[†ð”ÇçËä’W]÷C¡nÇͦ®”•Iso˜Æþ+öÕÕåýÐI38±Ûìöv"+#´M+“EˆsÓLøèik'ôW”™¢Ô…Ð< pœ’Ø6òñ•Û²’M›Ã8¾Óª ´gq—f¬8xöí7®­WÈì‚»?§Íèöù}7ªÍ1Ë@Rhû~e}…«µ¸fYÉÝS]}&7¾nÖÉ¥7·Wþ1z(|ÞìcK=ãùx†fGàž;dZàö(P,® Ãö¬°I§^³ö_ÝÔ3m€Ä¶Vž¯#D7@hÎKl{ŸÉmF‡õÊùìt\¯ÃôwvÝŒ6@h¸4±M·í·§gýFð¤êVj2ýG·]½¹ÀŽP²ù¶ØûÈЕ…53—=÷‘ük÷ËìèÑÉ‹ßKÜ^R2_ñû¿CªàÓñÑ£ã8æüÃ÷n®  Kàu6üL,=¾†ã:õWàfX½M(\Z€•þÅ÷Ïì·¾ƒã¯@€ÇšÜ#Nì¶½ýdß=L»>¹XïF¼³ Õ2µ‡^û€[R‚ÐÖÊŽÚ°fˆTÀÜ•œë¨|£ @hÚ‰nÒÛ#ã°Â2V@}Ñ- Ã0ÄG.Z”ÞÉT ;ÊBa ´ˆn”žT³2­¸”‹/±‹¿bÇëWÌÓ=Û½§®°jâ™6€'þt­…3F×=mCÆì»+FïZNÌÅ>¨†ž6€ÞOyz×€óFã=m)ËE¬¬ýuø?›~Š·ÀŽ.;pÊ<9±Ý¿°`Ý„6¡ §Ì¶Î}ªS Úç™6€°Pm4ݤ7hžÝ¼Pm´Ý¡ ¡ @h §Ð–9iä½›+€¨Àú ‚ <·÷–ßA@TàýóoblãÉõkô¨úqhŠÛ£BB€Ð€Ð€Ð ´ÐëBKþSOóž€ìõAxƒèih€ž6 fæC?¡NcPÏ)‚Hjk“ªày¹m’NT Õ^¶iÿ¸= õrWM´%zÚ„6„6¡ ¡ ¡ @h ‘Ð6ŽcÎ?|ïæ  *ÐT€MHj.ÀzU‹\°­ÿµkºö.×3Æä†w.ʳöúYí²Žš•Äwzè(ãn9V5(—¿b~‡£áh¿;»[ÚY+0œÁ r¦¥Õ«}W÷^)mŹWÒwsæØYuV––!ë2!DýÙ››«Û·¹k´Na²Æb7D«Er!?8=˜i¡ BÔ@!ê ‚uAˆ:ˆX86FâÂ)k­l#Ѫ­Ö1|=%è–㙜ÏbׇÃ$é¦Ò©ÍU!¿f•È #sfry½¶¥»–z{Üû[*qÖî)G+«O¯C œãOpðs÷žzö×¶mÑ×Û3³èo)Ø1m7¤Ðû”<‡…Ü­¸6»¤d0×ÞE«¶s½HûÏ©G&<ã(§ü—'Fkõ[®iimudDÿ‘Ž=½GÆ‘X´ÎûÖ ”ò–eCë—y|N É"ñòŒ;±ÐB÷óóø¶e¸ì1Ojí§ÈóYŒèG¨ÇSVÿ㢛vt²’äý`?’ 8‹¶õ¼ÖÞAZÎöy­MÍ\?KÄ4ÍTš+gÝ~>òYH¢Nå¿rm¿‡i¦ÌÜ•_k?ÎÿË~Qî) FB> ~ÓDLó³Ï2Àä³ä³®ý,t { òrÂÿŒ”årúKÖ­§¤¶ö&;£òºÖ1×b±:º¦Óœè躷çîØßê~_•1ÃÌúä×u êŽü, Güx•CÌ}vŒkYyXk`]Ý~XÑÍoó™Eü•ŒTtÝûjÕÙ.8=×vݶØ92~è®8³˜v|aîÝ6!‰Šk˜(ydýœÜ9ËRc‘ Ë¢L ?ÝÚ“ëVaè2$í¬¶üHé´¼guÖG~ßÚ¼ñ•##‘,CjÍ«ºeÊë¬Õ«ËD`‚Í¢gM«uZjùËëIÉ#ï¹ì¯C®O枥>²L»ö¦?Z¢6—¡ËÜ, ?º±m~1kSÐbûÓ:Ì|'R‹’EÉå¡¿‘ 6‹Ü¶_únOÉÖ5ŸUNm_ùü›;¿°î·µ$@Îä­Ót*.ù’ráäZ¦J­ëµHÍxµcnbä\[,úgLÉ„õgon®nßæ®éQýÚ¼Òµ–ˆY~„’+Ço ÷ì.•¿…S¨¼ž~z`Q‡ æBõŒË_qÀ÷@ˆ:@5Ç BÔ¡;»€Ý®„G“‰!ê ‚@2áZ,tƒ…çÞ]눃¹%äÚµJÉ}’sÞßo+wó¨Ó¹Xgå–ßÑBvu35Ø•Üß«=uÞÉêzfòGmLªIXWÛ ´+¹§Wå5¯mÑŠl.vQcî[멹S·žÞÈañ ô¿´䳨*Ÿ…iðée·Â.1†Š…d'/§?†¯Ö ¼<Õ¯]2¤¯¯þ`ÙåÕbõžËÐeˆ<" Gîq¬]ÓÖfµ´È.¹s¨žôBÖuKKÎýeÒEnòæÈi- Æ„œ -“ gÁh±¹+iµŸ‹ýLÛ:íOf_.ӺΞÙI&zÚµn¾ŸLÈÁÙó˜û…iË‘•«O®†e[ÆÈžÌµ¨ß(ÏF¡{¬Qùî³vúë¼Çœ"p&6äòúáËËk‹˜­|¶œQñ•¡¥ïÞÕÕdEó¤ä;Õ2?×f)_Y[¦ÖÓÛVyoôc7NsÏîaýKh狹VWdÐ2$Â'sÏ+óSæÈò×bBˆ:3 €!ŸˆØ<6´ D]1§oÛÕ¼| +v ‡F²…‰‘,C 1Ó¢NSj÷âwåÓi¹K•Å™¦mÎN³Ü~Æ”«à"6$ 5Ý­ !Oßío+¿§™/ÒO•ËIßµ”µÂüÀš Ë»Ôim!ävçZév$5,J[´ŽÎ3Ø¥¨«DyMFæƒc‚XdÉѧïö”¬Uo)ç`? ýùšÒ϶ K‹üHp½u:+1™V V­js‚öÔ ÇÐØž“Óǧ³uÚS»2ûˇý Ÿˆ Ÿˆ˜`³ˆg° ä³®wC,ÎþöVÀ*¸ o pd ±¹Xh`‡§#Àwï‘!OZ'M"Ó’ßôœy•þZ9˜›N`E¦-CÚ\¡s¢°ßñöÞ:³° úî© H˜6³H³0ôÏ ;\ì†ÄÂÑ–À¶Ê ýLQöææêömî¹åBþY2AôCˆ:ˆ DD¢"Q.vCÀ?CÅ¢vk³œÕ:ý;²-Gc±sCäG%Ï®)Ànœ™Y\^ûý•ÖÏ-Õ…–îÇø–5p¶Å†2SðÀ&N,Öl"æ v,/,Uư°X #™àÁÉ X‘ 3‹rÞ ¹©s&ÀH†:eÅêeÉ`Þàiù,TX‹m£NßüþŸ}ñT«´ßþô÷?>šÝ&€™,RKÿ ×€uYxëF‚X€ÄD  b¨X\^¿øÙ“n]r&Ì,‚dx(3A,^=þì7¯‡¿s%ã?~üíï~=ëîkQ-!™—VJ¯X2¼Í5b‹ãx[„–Æg×¼P!A ‚Çgø«+æt箽OؙܺmïVƒ‘XÄ2¿®+wez™k¤ÞŸGpúŽÛx„ö‚‘»÷øø‘ áÿX2â×%H~sפ¯ç~{ŽÀEú’4„a_;àãÏÞÕ°¥„”0øÓa_–˜xI"YžH¦ôòi¿Åk¯„cÒH–[žX 5×°#7üRIÊ ¿œx•KK¯ÑmWùŽpÔõØB1+¼=µkXHFyðËKH/ååLù¾V$ƒ\"HTÌ,FÎ#$”çòA%±Y„A¢µ'R^&ø>k#éÚ ñCN8âAžþÍ]¿þ—,$䤡,Få¹I?å2Ù:…À2e•·E¿þèÏO¾þHž ÏnÉñ?üéÑóÿ7wÇÜà‰ÿ>ÿÛ‹ŸÿùŸôS u$‹‘1&ÉUf:0ž,CrR’æÔ ¯û̬)©{íúËéË“I»$ÃO닺Á1iŒ ‰O¤¾¡eG¯UÚ0…@²xfᙜ]cõvŒáÌ2$Îòpq!*ååÝ?·×7§Û üî“s¯Öºu÷X=âϾ9==}ñ4·H 3‹ÿ¯áztºj»!À&œ‹ø€]CdNf9VÝ­Ï_œ,ý5ö`ó£$ø÷ ð98ïQk׃n\ï*³ÕžA,Îï¡„WüGކÖNm٠Ģ‚ñ’!6žýkkÙ©-;±¹ÍBËUÙƒ]£Â»äç$&÷©þkj¯„9#þ#A$H<ÛZ:&æõÜ}ß×SRóôúTPäÎþå»ç^É•–«g?{<½>[zF,ŽÐÑý-õ0רmiyçzC’NÑÏ3ã§&ûµtóeÈfÍ5úê\Zn”çñ5Ç´ªÄBµæçê~ðKùq&ÿGæbä¼Ê¯®ŸV‡ø”Û·7W·oã×û¿5‰¡ÇPªUOðb1ˆÚ¹F,!oHx}•XXæûXL ­â\³[G§¬ Ô¤D°¹ìŽY e8Ú&ñÑÚ 9ªmá¡ 2Â¥CLä‘‘™˜]Ç‘½q¬öB™FgœUaõ iîLfGk/HPpÊZwN‘›GH~Q%çtÜ•\—¨NRšîsí²îX‹3bñðû÷×Å…¨q¶…ï>9÷j9Lúnã~iýׇvsâÁY“s„—ÒS.­|M¹VùžA& Ä±ˆS¤è>69QÈ ~]g:¸¼>d3ˆ¶;–Oë¨u{“$©nörl¢Þ³ñ)?¤¯­Ì1±%¥á­ ¶ÍÁ©ë¡5`ÒEDúWrnƳUvïZÈMéÓÓ:,ÎãŒ_Ñ:²Ø¢¶M–!ZóˆÜi§Óé¹^mû—¹k˜q€ ‹……#vð¹:=úôêt:ž¯¶1ÌœìXÒf1&^c-™°f™™Åø€®Õ=StY`fAÜ'€œÎ,o¸ çøÄ…X0ðÏd±`° ÄÂÏ<"œ0ÎÑÁÎì†X{æÌ€Çñ줥v €uYÀÏ<€X€ÄDü>Én“êœtûBtEXtsoftwareImageMagick 6.0.6 11/29/04 Q16 http://www.imagemagick.orgÝ<Ž‘tEXtdocumenttmp.tiffý òüIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/design_flow.ru.png0000644000175000017500000001362013634703632020071 00000000000000‰PNG  IHDRlFÁÊ2¾ oFFsfoA pHYsHHFÉk> vpAgôôL´£<¶IDATxÚíÝY–¤º@Qx«¦ƒ„Aò>T¡«rGcŒ9û£V „!!ƒ›qÛ¶5ãøtêâ+ôqž.À't|™u"±ëOÀ»Dd!ˆÈB…  A@‚H?Öuå…+îG… ÒœyžÇqœçY3 Y" ý5åvóÄš²sùW~°??}ð&‘¶ÈE¾mÛ²,r1ëiöªQÀY®Wþ4MÛ¶MÓ¤Kb{­ä³ìç:¡ ر¡²S'Ù®¼,Ë0 Ó4 ð,Ëîne}ÿggÍá,‚+ÛŸ‹ºD&ÒºeY$+ñ+)ÇÆ`Ò ðZ·®ë4M’¬ë:ÏóæuçÛ 6"iË4MöÙçð v…Øš÷Ék`”Ei‹<’°¯Qt‰¼7Ñ b—&¸$ö){ÿ¥Œ[¿C]4bOœd&b•—¦œ::t‰L¤-öÑ© (@³"mÑ1RI¡êö‘‹V×wÂß÷Ñá2Y"²Dd!ˆÈB…  A@‚€, p:΢cd"ÕÝ9Æ”ôµ‘oóô ÆÃh³ÜMyø³â6d"ý˜çY3[ÆmÈDú!}áì¿O—Ÿ@&Ò MCÉnÃýªšzø?U‘‰ôÀICÉîA;‘蜖ΡTEÆÛj1¸ÕY"²Dd!ˆÈB…  A@‚€,Y"²Dd!ˆÈBéA¬·.½xq‚HÖuõ‡™ç™ ‚Ðm¼Œl†§‰tÂÇ,8ÖP7«~0Ú;A&ÒMFHCp'îW]a<ÜL¤+:ÞÓÁ‡0[ýžº{¯ë*ïb›z#«ñ葤)†æóÊ?íñ÷k×½P—eyú4üS¼á×eú¹³|-Å;âéV‚Þ¸äJõÚÐd¡lb×ÔÕä¿v…ØÊΆ™J‡#–e‘k²HÉ»,ðŽÆµ*Ê<‘—Û¶9&I¼Ð·zRœæ•þ†1ëºÊÊöß5Ï›ÞÛåÊ|º8‡hii _™ðäÚ–Ÿ§iÒï™^$v…eYl†f×Ùý ›ð¿å tN”=ï"· Ùo<ù¨ä¾i4ªÝohAšzðq¦~Ĉû‚ˆû Æ‘^¿š}D!¹ä‹ªc¨ªÌ3Ûq#ì »œ|å™IÞÂ<]Šb˜-ªL‘ì8ޱgœºÂ8Ž»7dI˜Çqìæª“ë­›ÃÑc!Žà¯üw<öÍŸ}/û"Uˬoµ;S︞ý ÙO•dø½¬]Ôö¯¦b¯xõ¦ÔYÞþvG*°lz•Hµ¶w¾b«¡XuF¾¬ò}íãñ¡4è8•±7é8ªÚ×ù‰3va“ˤš,§±Uêr©’K½[~áX÷`C³~ùßÕd©¤§³¡&Øó Ím/4Ðô·­×ÐÓoì/´M‡‹—D^ÐØŸ‡K ˆý“Vãk)níYrÚVÑv‰ó[»\K®»-þ·nÿ %ˆü%ßË—ÃîªÒv. mì|¡¯~ñ§ƒéâyÞjŸ4ÿ>á`7ˆ8?;û©Qòö¯P‚È_¯Ëõ‚ñ.vaø?·ÞŠŸ±àÕ®‘Ëé™>{‹ñDþ£_¦"gV;­U*­dZQðmkÁ¾yµOšOú1m&šäŸÛ ߈ÓAD,9Ë;x —Álðr„>)Ô>Í5èþ7ÓÅÑYážÈ"—_æóÑNÚn“HáÁˆ`wKÙ§ýhŸ.y-™¡Ä^ šÚÔ¸˜¹fô³Ò×Iñ2ØG¶JòOZ Á&‘Ú²ÑL;M“¼q~Ž‘u¤yäƒÈ0ü[ÍKŒb‡}õ0˜aDìÂáß§ÖÎ’DB{¤þ`"‰*ë‘QH†PÍól–.û?²ð2[N{fœ¿ˆsºüSTD‘ã ®_¶œúAöçQCûåtƒˆý.úÿS¿ûÎl2üM‚v‹{Ý"NôÙBß¡ª*Z¬žUãÏû^5î}A$Vô!ô,z=—ö7<õÞt·—ž§ïÉ‘¦Ž«R&r<#nGûA$õLd4†3ulgCI.¿GpööFÁŸo÷ºÙml¥¯ã‡z÷K'ÞÿÆø¡4ýáìÞ‚ZþB÷×絿~ɸ,DŽŒ|ào|pP7‘t–Œ¼. A=Ñ rd»Ž~¥ü %§¾|Ý D"¹Xqdžg†5ƒ:5Ãð› »ö§t0H¢NCSõS˜\µ*hö~+¹üv/µIª“ßmO…ˆg2‘X»ÆªíÄwNÄñ^¤¿å‚¼¿Àíß~oÓþ© :ó×ý*gͣɃ%lÿʹMû§â­-/jxêOń޾÷¶ ª¡õ ÒxùpVû7.t†«²Dd!ˆÈB…  A@‚€,Y"²Dd!ˆÈB…  A@‚€,Y"²Dd!ˆÈB… ÒƒØ0ñM ^Dzœ lžg‚nÀôЙ"ü€ªÈD:1M“MFdÚí§ …OàfÕI=ì¿O—Ÿ@&ÒMFHCp'îW]Ñ)lù³â6d"]ÑY¸Ÿ.>„L¤ºî'¸ç+ôqž.À't|™u"±‹ê €,Y"²Dd!ˆÈB…  Aä­ÖuM´Ñ˜çyÇqýqFrv ø"’À±m›4r;G€S"Ï“¬A"“, –GøËí¶vMí>3MÓº®²gù÷Ènck>‚ÈÃ4kX–EA,p–ËÊÓ4mÛ&‘B÷¹,‹íƒ§?¯ëêlÛmpM lCeé“l»,Ëð»æ—eIïGVöö×Y–ÅYA¢Ìîn{>xtø2‘æÈ5/ŠœÁ–eôf'+±¿}ú@Ñ zñ6g]×išäÊ—@°y€å1Gb'ZI‰­‹,þnid"³,ëóû8Ó>"uÖŒ‘Õ¤&â/~q*±Ûàš@Aäar©Û÷ ºDÞ§è5l—ÉA_Ç(ý•üW3Øn§iòׂ٬ºôÀë6LÄ*/ùêí™aåA&ò0û蔺Þˆ ò0}#µ ÿAÆ8•/¿Ö7mì÷ÒÖ}¼yØ=¤UÈÓǺÖ08»p—vߣµLM;Õ`ßf4Ú ¸­ÝP_Š×9ò«`™ýc öf:¬v_H¯ìôr°ä|hìwWŽ­™8R‚^àxƒýáßV¼Ámí†ÎÆöcïÑwéÅJ+?Ke]-¸².Œ•9øY§V.u×$ˆà4"Ø^BríéòØ·ßßVûé}Û¯f&~µ+QZ§·dle[ìt‚ÛÄ~–và:… ‚—Éi°o›óÅz?ëçªKüÊ©8T%d ¬"Å0XÂD“"'4” ‚—Éy-ÛÊE¸ý:":+Äj+‰_¬89ºÍtø¶ŸnSØê«@ç(œu±ÝÆŽ” ‚8Ò`?vù¥× öŠí-ñ«]±Ò:4m1ì¯ì4):ø¹vÍišäá‹3R„3ŽÌÙC#ˆàvì's8Û.Ë¢Ù¾.í£(C¬´ÁnÁ•åÓw?h÷ÛÝsp5Ú,W×}£©ª_¡œûõûâ±Yu7‰éÌ‚›Q…»VoÈDp32Y"²Dd!ˆàyþx"C¼ÿ®¶éV‰^¶Î]mžgg}gLIgz°àÌ^~iƒÇåüìAkÚ²]èmœ8 •DЊ`;ë`\4'Ø2ÊoœîwŠu¦û²MÈìž]o8Î/ªvòz_ëj| AM ö߉õ²õ;ÅJëÕÝ^¹; _&Å–\îmÜs=¼†Þ¥ƒã %zÙ "g;¹ÆÆ=ôÛ¤KÛ|{¼z÷\A¯¡Ó†ß€öf›èeÛÛúSê’ V=bÕ´Áëïãºt¡·qpÏUDд`gÖ!r‘Ä:È¥{Ð&"ÈÁŽÂ׎+ÖÇ/öìãàÁÞœ† ´ÏöÁM'±ë*ÖƒVÖ?ÕõVª±ì +»Š;”Ù…ÞÆþž¯uð?ñ¢‰tgºiö~C\ I_˜¦£êsV2|×wf «z˜|‘fø‘|¤¾PÝTgðd"²Dd!ˆ -gßG§›Äcïö…´#A+´Sü`f®v~›¡zðzÄŸíªªch qgR(¿À±² /éòCéAbêé§‹v”ö‘ÿêÏþ×Á†á~G’"]õýBÉ)Äí8 ‰;e{K—ÿ‚H'‚DŸ.Ô vò7ûï‘)¸‡»z¾ïŽ `'Ö:^ž·tù!ˆôÀïÓY¶sêãâ‡3]Ύ̼œÝúànµé?º¦ºüÇD:áLòÜY—D§øS=ß̼íOm}p·öO(ð©£kªË A¤òåÓÔwx[ƒn½°í!™‚ûλñîȉ«ý –»üÇDú¡_ñv¾^Çi§{ù¯¾€å‰NñÎÝ»TWýt!!´:cG6ô +[©.ÿO¡ŸEW¤R=MS Yî5ÌÂý:46{žVzK½«+2¾iäv‡fQyŒ>“—ÜA§A(KR’ êHb_1೨Î<@SîóEjwïSãî‡}RXd'òGt²;qzÍûKŽþP¹•ÜÒ7sgîMþŠÃ¿ó ^ÓìàšgIj¡5Úòtûy'WjWöog÷ìüMý5óÿè’àÜsÒÐ>2‘›ÔXüÎì@Ú5@DnR»'KpçÁªG‘b8­ìñe‘;Tj‡›ÕÍ.O¬™Ã¶²ÇÇDîP°"ã´"³³Ãɧi¶¶ó×ÌD2A‹Õ—ÙL‹X` N½Ñ u‰T×Ó¸;Ú>‹ R]ß—YßG‡#hö^]ßSÒõ}t8‚L@‚€,‘W*2bPA¤ºŽ_atüâ ÇDª;~™I~¡“¤9#’û“ÎÆÖôwånl7´aìÞŽt!ˆ€ RÝÙL¤lÿíß© ü]ÉàÀÁñw 2 CÜâà;øÛ%Îooj]Aߎ \PiHG¼ ÍÞï â.tŸ©ô0%øPÖNšwd½7NL"wÐyÌÎ^u•:øo^ó0évG?yãüX¨„g"7IOÝhÕîàïìJ;û:Ó,‘†à ‚ÈMdHÁX)ØÁ·ýˆÝ•¦ºCçß ©šD èøp«t5á“¿IB"¹•\~~ÃWº¬ÞMê5úœõ¤>Ê¥ՙǬ?ÓÏÓ%z_ Ñ‚ÈóŠOè]zã ‚Ho%7ãÁ*€,Y"²Dd!ˆÈB…  A@‚€,Y"²Dd!ˆÈB…  A@‚€,Y"²Dd!ˆÈBéAl®‰¦æ @¯"ð§ M”Å%ÇQ渔yg^178ú@&Ò ™ßWÿ»®ë²,O Ÿ@é„Lvi§ãdúK܃ Òišä9È<ÏD܆ Ò|›Y¸q'¬V7ŽãÓE¨ë‘¯Ðº®¶îÖÊŸ.ËM"ÕÉë’§KÑÉÑ­?ÓÏÓ' PÂÁ<–j°„ÅõüýnA¤yâó–+Ss¥·ø²ž¿ß ˆä“f/Òæé#þJÉãÁ*Z÷êëpš&iû×Ú³›‚þ<] E.¿·§r˲h]ìé²”G&‚¦É3Ô§KQ€Ó¤¸'´KZÍõDÓ°34ª¿Æû¶kBO"=[×õ½MݬÈÔ;oÓ4D€›tó4ÄêÈÉ}RþÇÑV³çyö׬Z¼S7Ûàú5"Hâ¼O]½óÖY2By+yñ)ï>åK)ßugapÍzEšçùìõ/¾lhwUé¦<ÁSWé¼uX£ÙPYñ“,£ ÙÿJ‹&ÿƒü5‹Fv(e˜¦iY–Ëe÷ GtÏyóO]íóVãèDc³<{g+Ò¥E6_JþÔyë,!ˆôÀ¿zc_Óu„6»ä<ÁÖåÑRx&òVöùŸ`a&Ö,K²ýœºŒÐÞ1UG‡ žà©«}ÞºAy1yw õ¹ödá`nž2¼]³,©áKeD^œÝƒn¨»*[N§Ñ‡6‚§®Þyë-$=ýP¦ÅOr磥ŽN²‰S)Ip“ü¼&øA-œ7û@·<AInÚÁM$¯éíŽ= C•#ª3hQ‡)þ=º§‹PAä}´UHߊǑÎ[—‘‘ ‚Fu™ŒôW—"hVçûÜ@DÐ. ¬›8ÒëÉ4­›JMÇs›DÐ4y|­ [;:çÑAAë¤á™3VÀ[HcÜŽ#ÈÀäU7`òªR˜¯M=¿A)ˆ¹xÔó÷»ï*ù G¾BzŸo­Ž£ã áCDzÓwâƒñ`@‚€,Y"²Dd!ˆÈB…  A@‚€,Y"²Dd!ˆÈB…  A@‚€,Y"²Dzñ¼µ‘ÐÑ%‚H'db§ô ¦èÄ8ŽË²È´µÛ¶­ë:Ï3\Ü€L¤˲ØÊ˺®Ë²<](|A¤2ßš3‡ãÓ…Â'Dú1M“<™ç™‚ÛDúag%ˆà6$#½"ˆ\‘"Á<ôù«\Æ¿3ø˜d.ºOym,ëhnèo+$–m¿wÏú³nhw|ð© O•¬|¹*A¤[O§B¯dk+{JëmóRúá×6ÜÙÄÿ¯¿á–¬ª ÿ^óÁûŸbW°e î$¸·tí)qÞð^d"W¼£ê5c£‰S)8ίM¤WØ=­ã«B_\°[â¤]G‡ê8²¡Òõí°&±G9N‚ÀÀh8… rEúÛ~0%Õ—Kw3Otyìn/]`¥g°|ÖÁ •®/ÿÕ¸£Jï8©‰8‡ãä&c‡|¼H»ç /Åx"W¼¨Á{;sGHFÆ #ý!¹‚·•ÐY±Wd"ÉQO—b_;™È[ÎÎ"¹è-Ɉmrö ÒŽD.zKiA¤c‘‹èÞ~Ã&ô r4 !ޤñR¦{‘,TjvQ‘éA$‹´an„ Iƒ Ò7‚H.æFb&ïàÕ}1Ì€'˜ïkÈDŠùø|´þ<ÄO—7!©BïÆ %ÚÕøãYØ7ý‡°!{5z2§%tEXtdate:create2011-03-08T16:41:05+03:00Ÿh„·%tEXtdate:modify2011-03-08T16:41:05+03:00î5< IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/switcap_figure2.jpg0000644000175000017500000006116213634703632020241 00000000000000ÿØÿàJFIFHHÿáExifMM*ÿÛC  !"$"$ÿÛCÿÀ/w"ÿÄÿÄW !g(1¥"AH‡–Å27Qav´ã#8Xq¦ÒR„…$3BVrÓ%46Tb‘5CSut‚¡¢²³áÿÄÿÄÿÚ ?²í5ÚŸ–øvs³š|3ÿ ¶÷4×öTÿæ] š×Bïù[ý®=ˆ:Óòg¼‡®÷³o‰`#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#=iù3ÞC­?&{ȳ#;8Ív§å¾mœíŸ ÿÃn½Ã5•?ù–ÂÖ¹Ó;þuTFÿgjë½ìÛâ@®÷³o‰b3ë½ìÛâE˜Ï®÷³o‰ë½ìÛâ@®÷³o‰b3ë½ìÛâE˜Ï®÷³o‰ë½ìÛâ@®÷³o‰b3ë½ìÛâE˜!–O ;Uò× Òɲ¬Üè'Þ誨ñæÍ›®V®ëÛ*¢èäT]µwËï%vÍî¿æfgËï%vÍî¿æ/¼•Û7ºÿš˜Ÿ/¼•Û7ºÿš<¾òWlÞëþh`F|¾òWlÞëþhòûÉ]³{¯ù YòûÉ]³{¯ù£Ëï%vÍî¿æfgËï%vÍî¿æ/¼•Û7ºÿš˜Ÿ/¼•Û7ºÿš<¾òWlÞëþh`F|¾òWlÞëþhòûÉ]³{¯ù YòûÉ]³{¯ù£Ëï%vÍî¿æfgËï%vÍî¿æ/¼•Û7ºÿš˜Ÿ/¼•Û7ºÿš<¾òWlÞëþh`F|¾òWlÞëþhòûÉ]³{¯ù YòûÉ]³{¯ù£Ëï%vÍî¿æfgËï%vÍî¿æ/¼•Û7ºÿš˜Ÿ/¼•Û7ºÿš<¾òWlÞëþh`F|¾òWlÞëþiá¯ðˆ¥ ¡¨®®ØöØ)i)¢tÓÏ64ŒŽ&55sÜå—FµUW‚"l3½Ò中§#¡Žhé.´0ÖÀÉ‘F²V#ÚŽDUDvŽMtUM}*tÀŒúï{6ø»Þ;$zï{6ø‘f#>»Þ;$Y€ŒøþÌXøßÆÎur·ã¶‹õu’Ïfy…mºn‚à˜å™õl¤“D]ǽU­ÞãØŠº.¨º*)Êð&TOIUtOõ߯Îs±j] â]..Úu¯©¹Òµ—D§«I¤‘Ë4M™ÐÈÔr+Qʨ¨º¢öSÙæqŽg–i.˜åcæŽ ÝMS Ñ:)é¦jùÑÉ‘Ç'Ô¦„RÔSåöM¢&-b½aLX©ªn’U½}DLWS97«ѪÅV¢o¦¨ä^±Ÿm6ã5 crtvÖACÕêÄe½U>7§n¨³½è‹é¦_¨ EʧĭÕ5ž/QSÐDézvoË&ê*î±¾—.š"zTΦug¸¤uô×+mvQ†‚®•YQ’%•핼R75©Å{x&¦7&¹Ý/Ži_n»ÖSÚ±lrZF2š­ÍdµóEÓ9îFª"º(Ò-ÕíE•Iÿ¬Ìdð¹\3|Æ–®óldÍGuV>'¶‰ÒºxܨåIž®Ý{ÕU\ÔDëpBk©r]«mW-Æ[šä8¦7‰-5+>BªJzºÚ™"éù%ÝUF·‚n§í=Œ®m `›©ƒ)Ú=–a»t_¤ÕΪKj»TÒ$…QõzjÄj"¢§®¨¸(àYWèþØ1f+™íG#´ßjd¤¸.]¯¦ÝHžøÝåŽkõMtDâ‰ÇÐjlXÎY´Lßhô5{LË,VKn@°ÑÃh­è¦G¬9S¤r9[uEHÙºŠ®zªöhB“Ý¢íI0ËëmK³½¡d(êvÏãv+/S·Urn+÷ÓÎMÝU4ìTúÏÀï÷ë•§ ÇòŠß”nØÅêkSë·«WZ×Å+‘8#•D]=(QåÿdÿùTÆájËŸn’ɳ=§ÔP\'l1\›bk©«÷ª#ºï*k¦êýEO½ü±Qu‡ä‹µ¿äêçQï×SôMªÝk]Òº®üK½¢;‡riÀ–øþ̘§ñ­üdæ/:ÉòJmmÒ¾Ÿ!»CWlÊñÖÈÙ)#ÿTó"r;V7ÎwèžrýjÓ€ùË?µí ¼ay Óo•÷Lžõ šáIZ­u²¨ŠEI §Fþ¯£Vꈮr®ˆŠåã¯{µä8Þ,˜ã³Ü›&´ä6ªêªˆo•,ažD¨è•Þº=Sq8'³@­b÷¯—­¯­ù&ëkÜ©–†ãOÐÊîêÍôn««¦óWÒÕE:§Ì|/ƒã+­Ù5Æžó&zú(+d©‘îk>R{Ç.ö®‰DVk¢µ4ì4—[6M³£a5íÚFW’Sä—„µÜè®ó²X5t29$…kRÞÆÿú{ÕCí‡6Ì. Ú.MŒÙ±›ÛìÖÚ+­§ßž±e–us]Òµ^ýŠˆš4ìx-Üršëny_yšír·æ5”]3žíÄk#‡DŠçtlUUr1DÞP5{WÚM·gqZ|vÅÞê.Õ.¦¤¤²Ò6¢w½¬W¯˜¯j¯^Í{3·×  ²^1çžã2SÐË‘Y]I LÊŠ©Žroh‹¦º¦‡ÂjºólËö]]X~_ºC|¨Z{w²›ÆÅ^Š+ÑZÝUu_¨Îí(Ú@ìzhÛ3“Å!½ÒU×ÝÙw†ä±¬r#¢j¤Z,-t›­Yˆ‹ØœUáG—Ûj¶…pÂ#‚­.4ønÊæ7¡Xå{šÔjïoojÅ×V¢vqSBCî—¸ñ­¿m"™›ñÚðZz×7ûIçz§ÿ´ãcf“læƒj5^Ê©2zëoÊ´Ôtò±¶ˆ‘ñ¬‘Âê]ÕGµäj¹UWÓÚˆÑ'+1¿QâØÛ%¸E<´–º9k'd GHæFÕs‘¨ªˆ«¢pÕQ>Ò#Q›äûOƒgͦíS‹&Sešíy®·¹¦8ãF±cÊžb¹î_;µí=ŒÏÌ0Í”m*Ý[˜Wdø¬˜½\”RÞj–{œ÷Úçî">%MWTTÓM¶c—Z{î=m½Ò2VS\)"ª‰²¢#ÚÉj9UtT×ESß>jئYQµ*Ü{£»Ýqë-d·ÔË +-%Uéýæò=4T¥k˜¨»««×·D>•c6íô!ž}Û¸þCfc6íô!ž}Û¸þ@ úÀþíÛ¿ ³1› úÀþíÛ¿ ³3ë½ìÛâ@zï{6øë½ìÛâE˜Œúï{6ø‘f3àKû1b?ã9üýÚ® U[O²kæ'5†²ªJ¦Z²:yÑ´/‘Êé ]UªåÕä᪟ß_Ù‹ÿøÙË0—`×{ âó•å·Èo9=é°ÇS-4 5<1otqDÅU]yÊ®UÕUOKÙMª£;Šã;+­ù+ŸOM µrÓQ=¯{ ãþïM=B¢"èˆæÿ¥€'x6Ïë±Í‹ÔaÓÜY]z¬¢¨JÚùåIê¦k‘^®TÞÝMZÔáª5¨šp3­˜æôøÌâÆ.ërœ"˜‰qIE:ø·A"o1úvªpMxv°‡$À¶…fÎ.y¾Ì.¸Ü7ô06õm¾2wQÉ,MÝlѺ%ßjîðÓM´ç]öKžVbô— 󸮹½ ÿåÚY.½ÖÈäÜsLȵWG 5Ë¢·Î×Uþð&mŸí£"ÏpÌ·1ȰíÜ~ä³>Õj†¢8z'±Ì|’Mç>M4Ѫˆœ]ç'§‰‡PíAÛHÚ•vÎïXämvHTÐßiå|-^‚%I£tJŽG誊ÕEj¢7³CéÔ ¶[h'«ž†ßIK5l½5TÂÖ:y4Dßz¢jçhˆš®«¢ ­“a?¡íM5UÅ×[½Îº[•Ö½ÌÜñŠ™U7•­ãºÔDkZšðF¡¯zo1ȪšÐûÁ× ºìëcÖL:÷QEQ_@µ,”os¢wIQ$‰º®kW±é®¨œu29VȲK®Íö§Ó×Z[W—_]q |’È‘Åø¿ UªŽýK¸5œSÕo`¶¥…Ý2•ÁþOžŠ/2ZKµ_N÷7~£‘®k4jêõW¦ˆº'o=›þ'q¯Û/˜C=+h-6êêYã{Ü’¹ó¬[ŠÔDÑQ:5×UOGo£h‰¿d¹캛JÛOŽÅ˜|¸çô²tk:£w]Íw÷M4Ó_NœMžÔpûžSzÂkmóÒE‡ ŽçT“½È¯‰±HÅFhÕÕÚ½8.‰ÛÄÜ€>i¿ß¤Ã¶™—³gÛRÙíµ÷Í{´eË%3¨êÖ6£ç¦_1eßj1U8·Tíâi< ­—,$¸\.+uK¾S[]Ë¢èÒ½Š‘±j¾†½ñ½É§¡Sø{þ‰dV_±{Ú¦ŸýŒÕ´Nøû>kžÕTìNÏ©ÌQÇLŠ&68ØÔkZÔщ؈ž„i·,C6Ȯ럎éÜ$«FÞŸ2@ô|.M"j¹~rúSø™»¾¶­ Ð~í*ïPc3M•±cðU¾¢­‘È×ôJé•Ujj©ªé©qO—¨©ÚÆK‘ÜG-’õAhZv½Ý2«_"¿y7wQªÙ4EEUíà†&۳ͷY1èö{fÍñ_Ñ@êHnµS|¯ML¨¨ØÚÖªBç5º5º/§Ðˆ]Àl›dÕtìB³g:k]û¤}¹n,t´Õp=ˆ×Å:5w‘­Go7Š.¼;4çTìójy>=–Íœe–‡Ýnö íûM¥õZi\ôrtÏßUt][«•Š­MQ5ᥨ"½lÂû·gלr²ÝM˜bT´ôRÉ4Ò6–¶•#k* zµªåjè®b«x*k¢kºœ@c6íô!ž}Û¸þCfc6íô!ž}Û¸þ@ úÀþíÛ¿ ³1› úÀþíÛ¿ ³3ë½ìÛâ@zï{6øë½ìÛâE˜Œúï{6ø‘f3àKû1b?ã9f#>¿³#þ7ñ³–`0ÙFa‘Û¯7ˆ-Xåž¶Ýf¤Žª²¢®ôúYU®G¹QŒñwµU‹ÅÒ1WŠ¢q3ŒÛŒæU¶ vá4>-[,qÞr¿®¨é`†TttÞ.ýSõÛ‰çùÎc“®®ÙÞ+tÌjòkíŠËxª–:vS:¶Û²Rô[Ë«ôUMUȼ4ÑSÒzT¸žciɯ÷Sa‚†õrmÂZjÛ µÆä§†kee\i¢¤©«8*¯hí°­6U[gm>'"ÒÜ–‡Ä“&ÿµåÑèÝæQx¿㼉Ò|Ô×S¿QžÕËq’Ëg±G[yuª–ž k’–*vƲTHýÇ9¬E–6èÖ=u{xiª§šé‚%U¢x©îL§º²í%ÚÛ^´»ëG3ž«¦îò+š­WFäG7y®rpׇ†| ²+‹ïV‹ôTW¦Ü*ª ¨–…&‹¢¨li%<‘ÅX£v­{V7Žš¢‡£qÚú Ûe† R…rZ»¢Û¦¥©»::Xô¤–©%díî{È•õm]x*7C«G´+5 _éµm£­¢¬J:†V\Ø”ï‘clXf‘Ò5XäTÕ­wÕ©¡Ë¸ìòÿ=e²ýWB™-%Ñn3UTÚ]%,šÒKJ‘2ÎÇ1ˆÉUSõŽ]uUWjtè°f£¬vAzºÖÜkë¶®¦Û_Ulj½"lMcÈæÄbhÇ=Üurªªêžãž[+ MŠ4È-÷ŠÖR²áAQ6íûº:ÑHò‰·oÝÓùÖ‹ú@³3ånß»§ó­ô(›výÝ?h¿¤ 0#>Q6íûº:ÑHò‰·oÝÓùÖ‹ú@³3ånß»§ó­ô(›výÝ?h¿¤ 0#>Q6íûº:ÑHò‰·oÝÓùÖ‹ú@³3ånß»§ó­ô(›výÝ?h¿¤ 0#>Q6íûº:ÑHò‰·oÝÓùÖ‹ú@³3ånß»§ó­ô(›výÝ?h¿¤ 0#>Q6íûº:ÑHò‰·oÝÓùÖ‹ú@³3ånß»§ó­ô(›výÝ?h¿¤ 0#>Q6íûº:ÑHò‰·oÝÓùÖ‹ú@³3ånß»§ó­ô(›výÝ?h¿¤ 0#>Q6íûº:ÑHò‰·oÝÓùÖ‹ú@³Í»}gŸvî?†ÆyDÛ·îéüëEý&gkÞÙë6Y–Ò]6 òeöJØê«K©&ñhÑòômn¯Ýj«·SŠé¢YØOІ÷nÝøhÍ™ŒØOІ÷nÝøh͘Ÿ]ïfß×{Ù·Ä€]ïfß,Äg×{Ù·Ä‹0_ù™MೋTH’9‘2¹îHãtTJÊ…]ÔW9~¤DU_A±ƒk8L´·z¥¨½ÓÓÙ£|—)jqë„ ¥F1²9¯t"#÷×n|åG"¢.¦KÀ—öbÄÆþ6sÚËpìŽ¿Û ®–ÝÒVdusIj§ëÚ® Wom5Sªhã—¦‰–å{#~ò.óQÊ®F¯]U8ô®C’c¸íu™úÕh¦‘wcšº²8åú‘ÏTESÝŠ²ŽZ$®ŠªÒ+7ÒvÈ‹·û[Ýš}¤'Ç1ÜóÂiNÍmÔ7Ù, CEk·×ÂÉ¡£§|îs#r*j÷qÞÓT=- X0 WýÇå»dñÕåIâø­Ò¬Z—"Íâ½X½ 7š²+\»ßn‹ ìk1Äryf‹Êlw© Dt¬·Ü"¨XÑuÑ\Œr鮋ÛõËžg‡Úá©žç•Ø¨¢¤¨ñj—Ô\"°Í¢/Fõs“uú*.êñÑSë>q–Í|Ƕé³*¹ö}„`‘Ö\j è¬3"ÔÔ±`z«%Üs†¼ÎTì5›0Àð¬¯jU¯É¬vëåTÁñ6vS±Ôñ*½Œv¨×9SEr&«Ñ¢kÀ ä2Å<,š,Oj9c‘Zä^ÅENÔ1ûRÎD)í´6Û[ïYê¡imÆJ‘ôò#UÎsÞ¼›ÎwÊx1µ”4®9A3æ±Ù2ªº;J«•ÍŠÖ=е}-ï{Póg’ÅlðÙíÊà½%m¶ãl¦•Éæ¶©Ýf¾…sXôO¯MåÝsM¶á“äùÞ3†×âôëÒV3©¨ZÚ(5ã#’TÜ—qUÝÓ±W‚û–o[×1LVŠ:Im7»E]{æsÓ"ÅÑîn®ò""£×TVªövûýÞÙ`²Ö^¯5°Ñ[èâtÕʺ66'jÿþ'^Jo7 {¯„vÎn”]+©ªñ«”ðô‘:'9Žèª¬z#šªŠœˆ©éDP)W¬·²\©­·œšËm®ªTm=5]|PË2ª¢"1®r+—UDàž”:óÍ>y¥dQ1ªç½îDkQ;UU{ùëÁ»Ãs͘Te¹¾/k½ä—Ë•kî³Ü`Iæ…ížHÒ&=Ú¬hÖ5¨ˆÝ4àcè'’õ³áW{EN/UUÚ%t“kãttòKâð=éÅÌUk[ÛÇu> >ž±åXÞECSWŒä6‹Ôtè©#è+c¨k¦¨ŽV9t_°ËlshK’ìJÍ´ ¾¦ÓgZ¨d–®^“ ¥‹IžÄã#—u<Ôíwjž³¶³|O:¶_,ËoÅ.³ÑÔÑÃm t‘]ºŽTt(ÔY\ÍÈ­TTôê‡Î»ª¸MjÙMÒ()âÀgJˆ,-Jè§¹¶w:7Õ7M]^ØØ«¦­ÕQT´é抢ê)åd°ÊÔ|r1Èæ½ªš¢¢§EOI ¦Ë¶ñ”å™m.Í¢´Ø¯RÚØ·†Ö¥CÕŒcõ^‰ÊÕàôãÃŽ¼ ©(ð~ÿãûTûíSøzp=ÍŸgy;³`{G±Ûíy©²ŠªÙ3塸BÅFȱ«ÑÇ5Êš±ÜtTSe~Ë1ke5û%³ZªªÿîÐÖ×E æâ‰æ5îEwDáõ“Ý¢º:ÿ —ÐQnººÛÒáXäw+ l(ŠŸSäs4ÿŒá8†Ñ3ÙòŒŽ—Øö@ê«ím<óåTÕUЬr9‹ÍElMk¨Ôfœ4UãÄ ÞÞöI³låJz‹<·ŠÉ#ŠÙK]ZØY2ºF5Ò/çFÄz9ÊÞÄÓUMu?›:É3E‰™ ÿg­®¢ª¨•¶¹duFìlo¦ßrïĈª’9{­D"yVÊ‹]O.'‘VZòˆ)¨ê-¯ñÈh ’º4},rJ›íFñX«óZÖ®ºjÛuºÑá#„Ûm4¶ú|^äØi©blQF5:èÖ·DDþê\û‰”KšcleÅÎe t…©Í~ã’?;ÏTš¨Ýt^§“'¹\h¯Xí5æ‚¶µÑUGq™Ìžv$Nr6•ttš¢*¢ê›¨å>zðÙ~x6ÖÝo˜½ºãq¯[’¾²¦’x·&™Hž¾tH›¨¾b§UíU:XåUEn!àãSU4“Ìú¦ïH÷+œí(&N*½¼ 6µ›FQ›æx½ÊÃö7²:-ÁZ¿ÕoË"¢.»Œr£]»®î‹ªëÁ5Ø¥âI°kuîýu°É#é5Um¶£Z*§Å#׌Rª‘Ý›ã˜ýÓvÛWIbµÓTÒÏ)抒6>ÉD‘äMZŽrï*&š¯2˜ý&Icð|ÂòÖcUö‰êêiÂ*Úˆ)ذÆÿC‘7œíßN€}1Žä6 Ž‘Õ˜õòÙx¦k·]5 ['b/Ô®bªjzUy¾G SUåøý&¢"«Öª94×iÉØÌðLËn¹1k¼VÕä—HVzêfÌøclïDljä^5Uw›§*ôTodŒl‘¹¯c‘®jꊋéC·o¡ óîÝÇðÒOZú›ƒ^!=\Šù D UUù‘ÔËûšÖ§÷½»}gŸvî?†Â~„0?»vïÃFlÌfÂ~„0?»vïÃFlÀŒúï{6ø»Þ;$zï{6ø‘f#>»Þ;$Y€ŒøþÌXøßÆÎuòý‰ãw»ýUúÕËpû•s‘õÓcwgQøÓ¾¹£š«Ùª¢"®ˆr< f,Güoãg,Àf6y‚c¸%¾¢–Åë-\½5eeT©úhŽ’G*«•‚zЇŸìV;†E]AJ­“"«ñ»‚9ukŸÑ¶5Dú‘Qªåíâç/§DÐ36 "ÇbÙÌx±³ÃhŽ…ôM]ôYwŠŽvöšo.ò®ºvú þC±ìzó‚ã8¢^2+jc,‰–»º¹ ®‡r>‹^‘»«›Á|Ôíá¡FO3Ý‘ØrË”–Þòlzù;iŸv±\–’ªx›ØÉˆ­zvö¦¼O^£aøð4Äiéîq¶¹nQÜ ¬r\Z½µ):ê«&œ5]SMN,"´l¡Èì¹5VMš^/¶z´©§¸]/ S+šˆ¨°¹ÝÞQS]ÖµÜÎN:æ1Ý‘7&϶v¹Öf8µLù”ÕÖšÙh_[KÐEæªé»,[Èî:.‹½¢§è@ Æ,¸~;M`ÇèÒ’‚ŸUkw•Î{œº¹ïrñsœªªª¼UOÆo‰Ø3K¶<Ž•”R9‰¼­|oOšö94V¹= ‹©ÛI-›Åâ¹ÃS}És\®ŽžD’šÙ~½¾ªŽEÕºG¢o"hš#•݉®¦æá‡Û+sËFe,Õl¯´ÑÏGOÔ…Ì™Z®W&¸šh¨¼Ñ%Á±;ú²ën¾eØÜw…¨ºPY.磻¯‘tÞYcD^.DTUjµWUôñ5W]›á·Ÿ–ÎȬtˆÏ†º7S¹‹«Ñwšô]W{]UUu×U5  ¶±¼¾|¿Q~ʲ{à }55vAuu\”±=y‘&kQtíÓ^+ÇEÐóE² U›ƒešå-ž™šATùX•q?¤Y+^ŒF£Úå໿ܼJÁo§u%=+ê§«t165žuE’UDÓyÛ¨‰¼½«¢"kèBOxØ-¶³$¼_-ûHÚM÷zÇVÕRÙïm¦§Y\ˆŠäbGõ5UU]8•ð;fû8ÇpO¨¶¾ãpºW£%jêö³M¨ºq]5»$Ä«¶ofÁk¾Z;$q¶ÝZ•e;ãM#eb7uúv舋õàg{'ÇðëÃï«uÈrKã¢Xt¿Ü]YQJº«ªˆÖ¢è‰ªéÚwp<>Ù†Ú+-v¹ê憮¾¢¾GT=®rI;ÕïDÝj&ê*ðᮞ•4@ ÆË0›Vΰ[~d¨­¨  Yz)+×J½$®‘w•­jv½tц‡§·o¡ óîÝÇðÒ3·o¡ óîÝÇðÒØOІ÷nÝøhÍ™ŒØOІ÷nÝøh͘Ÿ]ïfß×{Ù·Ä€]ïfß,Äg×{Ù·Ä‹0Ÿ_Ù‹ÿøÙË1ð%ý˜±ñ¿œ³3»Bº×Z¬p-¶h)ê«+é¨c¨™»Ìƒ¦•¬WîðÞTE]±]¦¦ˆõ/6Ê Å²kmΖ:ªIÑHžœEEEúÑQQ8¢¢*qy˜Teøu~˜KvŠ®ýg¥dµ””í«FM]U rÅ#V9DEHÑÍ]ï9uEF×skö'˜Xií4SÜ)êí79ç§Ž$sXød£FÏ"üþŽ6Ë*«YÅÚ舫»§v]™a³[' ž†¾t¨– ¤ª–íVúÅté!ÿYt«2#«šˆýªºv©Ñ³áÖ+]mt ¸ÔUÑEQ <õ×JšÉÉÖ%•»ÓHõTU†> ®›¼4Õu%î»&·PbÒÑ_èëé*®4쮬u;UõL•é£bFèÆ3EùÞs´DNÕß7g‡±QZ©­TÔom-ZUÓĵ9"‘¯MÝ\ªG/'š‰¢"""!Úc6íô!ž}Û¸þCfc6íô!ž}Û¸þ@ úÀþíÛ¿ ³1› úÀþíÛ¿ ³3ë½ìÛâ@zï{6øë½ìÛâE˜Œúï{6ø‘f3àKû1b?ã9f#>¿³#þ7ñ³šý´IPÌV‘”ÐÞ*k­$O‚Ó\´•31Ò¢9Œ•%‹wTÿÖßâÜ Šß—Ç>3j¥¥Èè).™Œ¦µ]rú˜j]-µ2=%­¦’yÅ’4{X“‹QuFö2[&O ½Šš‚¡ÕR:ºyè[ŸÝ×î£7WÇ·:wé¯9¨ÔW/¨YÁ¶dEf¸Ð¾º¢æŒ¼ÊË<× jŸ ðÓ½YE,Ò.ôÎdÝßv¼x¦©¢ØÛMg¦Åï,Îïz©½¹3ª.ªŠáÀ÷>fE½Ñú¨Þ…¬jv*q@+@‡ìõóY±—^鯷úë¶ECNë5}Ú®¹•hêÏ$ˆÉ_'Eºö¢ïFˆœwt]Z†§ͲŒ¶º¶×Q7rQ¾HkVšæí×ï5¨šUÐSF¼«¢=W‡ÍTÞT 82Û(’²\n ›Kd¨ŽJª—"É.ìò7yÚ"&º"pDDNÄDN¤#¹Ü{–ÐoÔ¶ûNmq¨††—Äf´ä^#IG+’],KU?Š5WõRj‰¢¢üÓùz†óm¾\r[½Öçw£¢ž™ŽšÉIÛ·YeŠJÒ y]"«·äT‘QŠÖ 0MãÅ­ÌÚÌêë®NEAÅ!vMpèeúªÆ³înhÔNSsDÓwC/jÚ U§"‘&È#‚ók®©¶ÉQo©§¦¦t rDM#׬°é7êÜäÖ7®¾• €!ø¶ùúaIc¿6çh¦­²:}öf·—Êhäk\‘ºmÇSI«\ªÍõ‰¢ª"ªul¿°d%µ2í}-΢ŠZûåÖ¶5…'F¢$mmKµj'ÎlNwnªˆ®P+`‘SÞî™íušÝ~¢¹ãtRÉX²¶‚ºåA$ŽŠ8–=d–ž’]?Y"èÔV®ç]m²jú˦Ìq«Â­Õ•UÈ$’¥Úk:«õ‹§;çpáÄ 8=+ûߊá$osÊi×5tVª5tTR5‡SäcM»ÓÉ“âTëŽÊú˾Q¶¾™ft-X§dnª›qí窯D›¼ýйS‹Zšë³±,…rŠ*ºûzÖ¯‹å••TóôRF’*æO ¢ÈÏ1:69¯_5t]9VZGÐax‹>^È¡‡%®m-⾦÷YQ##HjÆÇ$’»Å•ò66o³uWyyZ¨°Có)+- †'i¬Éï˜gµH°S^&JæK5D­–µ’NÇùÌcºéQZ‹Ûºæ¢u©nùVUÖÁ‹Þ榩¸6:+mæãYq«§¢Õït´‘W?u^œÎTM~suFZc0¿Ý.Xk³&MWnºÙéV¶²ÑOu«¦u-+*¬éM-<T>D‰Ìk*È×EÝ]SW2:«þOz¬†ÓU-DWIࣥeòªÙ¡¤…¬•]QN×>9¥ò&ãSÎFhåót@³˜Í»}gŸvî?†élÖ¶k–ÏqúêŠÉ«gšÝ¥©™kæ~âo=Qª­Erê¾jªqáÀæíÛèC<û·qü4€6ô!ýÛ·~3fc6ô!ýÛ·~3fg×{Ù·Ä€õÞömñ ×{Ù·Ä‹1õÞömñ"Ìɾ ›{Ù>°œwɲ¿»Qø×ŒSüŸU&æýT¯oœÈÕ««\Õà«Ûõ”zŸ ­€Ô£§2ŠdŽFÈÄ’ÍXí×µuk“Xx*/bú X ’x@ø4dÔqÑäwË]æš):Xá¯ÇªjÇ詼| ˆº*¦¿jŸ›ß|l0EŽóiµÅ žè™GŽÔÂÖ9ú#Õ°&ŠíÖë§n‰¯a|BàðŠðr‚¹õÐd”1UÉ3§|ì°Õ$Ž•ÌF9êäƒUr±­j¯j£Q;õ­›{ðcµÜªîV˽¢Šºµ4ª©§Ç*c–túžæÀŠïïU/ Ÿ1½¸ø,ã5ÔcuÖ+,Ó5,–üf¢Ïjv"«)ÑU?‰ÝÿJ=„ÿÇ=Ó[ÿD³"”ž[¤ ¤Ì¢§…ªª‘Åf¬kQUUUtHt⪫üTòÿ¥Âãžé­ÿ¢Y€Ÿô£ØOüsÝ5¿ôGúQì'þ9îšßú%˜Âk`1ÔËSe'™’ÈÛ5b9èÝwQËÐêºjºkÙªœºÍ¼x0VääU—K5MæD†á.7Pú˜ô×MÙ äÓUÓEô—ðJ_ oÙf’irêy%–.‚GºËX®||WqW¡âÞ+Ã³ŠŸŠ¿ ŠÊh©ªòªJˆ"ÿg¶:·5žj³‚,'šç7ø*§¤¸!óxHø³èÀ3a?BÝ»wá£6`õÞömñ =w½›|HõÞömñ"ÌF}w½›|H³õÞömñ =w½›|HõÞömñ"ÌF}w½›|H³õÞömñ =w½›|HõÞömñ"ÌF}w½›|H³õÞömñ =w½›|HõÞömñ"ÌF}w½›|H³õÞömñ =w½›|HõÞömñ"ÌF}w½›|H³õÞömñ =w½›|HõÞömñ"ÌF}w½›|H³õÞömñ =w½›|HõÞömñ"ÌF}w½›|H³õÞömñ =w½›|HõÞömñ"ÌF}w½›|H³õÞömñ =w½›|HõÞömñ"ÌF}w½›|H³›mù®}cÎð\;gôøËëò”7¤¾2uŠ?Š9SE…È©«Uþ‡qÝìâ§¥ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=䘞´ü™ï!ÖŸ“=ä×{Ù·Ä™ÙÇé÷úaMåôgåo'îè~@éü_ ùA»»Ý7¿½¿®œ4ÝôêÓzï{6ø‘f#>»Þ;$Y€Œíkö؇ùÿà˜YˆÎÖ¿i݈Ÿþ …˜Ï®÷³o‰ë½ìÛâ@®÷³o‰b3ë½ìÛâE˜ÎÖ¿i݈Ÿþ …˜Œíkö؇ùÿà˜o²l¶®Ë~¡´Å†ßî©\»°ÕQÉD‘o#\ç5zZ†=ÕUótú•W€€cžÊû¾š‡ Èëà¯sÛ\/¢lI¸åk÷’J†½7tÕtjꚯÚ®ÍiâÇ-Š %Úêë¼É %/@ÙÜåcÞº¬²²4DlnUóÿ† jAéY+jn¸k*í5¶‰¤ÞÞ£¬|.–=¨›Ë ÞÎ(ˆ©£—‚¦º.¨žèŸ]ïfß×{Ù·Ä€]ïfß,Äg×{Ù·Ä‹0­~Ó»ÿ?ü ­Î×ã·[MwOÑüŸ;åÜÜפމñ鮼4ß×ÓØD|$l¥vØå‹å»Õ“Æ~\ÿ^´Ux½\[´±?Ì“EÝ×wuxqjªzOófVK=ò-VÚv÷5t±6TŽŠãWVŒcœ­kžèižØÑU®âåNÅô [>5ò{--ñÞ—äçT;ý–'Jª¿_ 5ûuû mÇfy Ë¢ÇnwÜNåo¶Õ6z8+±y'‰ÈÖHÍÙØê½%á"**nhæ¢éèLÅ£dv{´Õ[öí¶iŸOe•?IÝÖ¹Ò5«ÆôÅ"ù~Ô×ÒÄ6ieÊÛ¿fÛ6ßÖ.‰³2jÊêÊ8¤c¾j±óÓ1¯×·ÍUáǰ †jšÇÑÚgKC]LÕb6ÕnZ*V·yU¨ÈVI7Q>r꺯 tN¹òέ³{ÑùCÈ:¶ÍïGåfgÈ:¶ÍïGå \êÛ7½”˜Ÿ \êÛ7½”šV2I£WÑJ÷«ôTéw[ª"*WÀ»þæY šó•Ad¤e-J%M \³'@”•Ñ+›3¢]"¾©Š‰ºÔb1ÊŽUÐÑlß»ãð9—ŶܫVj·­Î=Rw2I‘ÌjµYÃy¨Šý¦óSDTâ› g×{Ù·Ä€õÞömñ ×{Ù·Ä‹1Ú>µ?-ðíg5gþm’hoï©ÿ̺g9­…¿ò"*»û\;u§äÏyfg­?&{Èu§äÏyfg­?&{Èu§äÏyfg­?&{Èu§äÏyfg­?&{Èu§äÏyfg­?&{Èu§äÏyfg­?&{Èu§äÏyfg­?&{Èu§äÏyfg­?&{Èu§äÏyfg­?&{Èu§äÏyfg­?&{Èu§äÏyfg­?&{Èu§äÏyÚ×í;±óÿÁ0èmgÓæ»BžGÁe†š;=4M®¯²-]D.YªËG7Hħ™©º»Ú?EX×Nq9á%|Îñ\Æ®£d̯Æ?,Ô4Ô:Év²%]Á²2-S¡¬YQ¬~œŠºê¼,Dg­?&{Èu§äÏyfg­?&{Èu§äÏyfg­?&{Èu§äÏyfg­?&{Èu§äÏyfg­?&{Èu§äÏyf#;%ý§vßþAø'Ž´ü™ï#3Žá^V<ï*Ìi*6LúüŸÄüv9_pX£ñh–(ú4F¢¦­U×UwÍ;ÑÑZ-k˜Õ:݉ÖRåߤSO-ßä)¡GÑtНGV,md¬t^j1åÕ[ÃÍÕ3x® •âøôIj²Z(®—õ»I`©Ý= -ÒyíwÈ ¢’(ßm*g§sâzoS5Ýq¤nùŒªt_9©çëOÉžòiù3Þ@U¬ Õ z2¢¶v¶¢v#ªéºµW&ã[¸Ícn›¬v‹¼Ôk·Ÿ®òôÏZ~L÷ëOÉžòÌÏZ~L÷ëOÉžòÌÏZ~L÷ëOÉžòÌÏZ~L÷ëOÉžòÌÏZ~L÷ëOÉžòÌÏZ~L÷ëOÉžòÌÏZ~L÷ëOÉžòÌÏZ~L÷ëOÉžòÌÏZ~L÷ëOÉžòÌÏZ~L÷ëOÉžòÌÏZ~L÷ëOÉžòë½ìÛâ@lã ÚŸ–ù¶´jŒ3ÿ ºÉ 6Ôÿæ[3\æÌßùÑUýžª³“2¥Ö:·QÜ' ž8#&…‘¹È¨Õ]4‘®nŸÜOv;_‘æ[ Dzk®kp¤¹ÝiRG,TôiH®TDk] êœ;5×í¦ mš¯8–ÑŠn¥¦¶D•Ðdu£¢r¤l{øÞ啨º/ ON©²ã\×&­TTìÕþ€ÂÓåW\š¯!§Â묫>?ZúšjÚy\éfkÛªôsR4U]È’'¯T@Ý+²lÒ“hX³,£¤ž‰µ{e¦›çÁ+æHÅúôs\šúSNÎÃTüÿ"©¶ßq|r’¦:2 ÉiÖµÛª°68_&‘µÈ­tŽV£QŠœ\º.ˆ‹ùje´Õ²Òû³ëì56Ú·ËU-WÉp·Ú©ÙpeLÔñG$TêÇï#º6µ»Ñ?EÑ;QÚ‚Ôe¹Ž;I•WݧǠ¸±*h-”´ñ9ÑS½cñ‡ÊÇ+¤TÑÊŒÜFïnñÓy}½›^r{•ß. Éâ¥d–«³)iš5k$i`‘šª¯œ²9tÕwWV껺³Òñ´J»~Þ¬¸\”íKÆŽ¢*÷í&69’r|ßÔ.º/j½4ì6ùd5scÕ©Cu«µT2=•4¬‰Ïj£U{%cÙÿ»@ê=²9ó|«b6lº|úä·ºÛ{ª]CD´Ë'¢9Œ…®VpMQ¯jý¦·aùÊm#e¶\ÉhV†JøÞ’Á®¨É#‘Ñ¿u}-W1U>ÅãÄ  0ûKÎ]ñìVÍ Y6IRø-ñN«ÑCmßš¢M8«XÔ×u4W.‰ªqT÷nì¾ßh©­¶äN»Ý#‰ÏŽŽ¶žéfz&¨ÄXØ’1x"«Ÿ¦¼QÀjÁ$òœ®ãpÙeeu×õ-†J«ŠÆÖøÃi¢z9‹»¼ÔÞ{õn¿Wf‹­l'n—KŇdùAa¹¾ßpµÐËY Û r#•ŒUÝs^ÕMìÑ~Ð6ÀðнÒQA#×W>6¹Ëõª¡ä•ªøœÆÈèÕÍTG·M[ö¦¨©¯ñEôîÎ'˯¹îÐl•ûA¿:–Åq‚š‹r’Þ×#$².òø·ÕÚ'؉éÕM-(ºZöšíŸä“ÇXê«zÜ,÷$bFê–1Û³E+椌ծÞj#\×ö"µ@Þ€c®W»•ÃinÂíõ/·CIhŽéWYù_ÒÍ$qDÄz9¨Ÿ©‘\ªÕÿuµUb&G%‰Ji£§¸2¦xÛ¹#^²@Ù\Èåb#w5U5Uà‰Ü=™*å÷êéíÇ[K ÑKÞµNŸWt¨ô_5¦æšqííׇï¿Pä4µuVé,Õ³QôŒz9®|NÜ~ŠŸS‘Sû€êƒ‹K“JÛ—é-²™[p•¶ÿ™òt”‰§Fù7‘4‘xê‰Ã°ì€+i9UE–ù‰ã´“2Š\’á%'½ä¦lp¾UÝGpW½XŒn¼5vº.š/òãúcfË1JJ{´—{-u|ÐÜ䪦‰*"jRTHÍXÔbÈÆ'ÍÕDÕQÚ m€0xíÞ÷å«%Æ«.¬¶SÚh®±>Ú°:ij棚ÔW7H›¦ö«ö¼äey7n‚¶àôkj+©¨bnº+åžfDÄO¯‹õþ«ÁP:àãeäÑ:×ú7Gl©GÜ"mÇÇf{::N=#ãÝEÞ‘8h‹Ã²§}ÿà•ÿþOÿŠ‘?nïW±]›ÜbÉFTËo{)Ò3õÝÕ±$š5\Šš½x¢k©l¼[inÔ/¢¬ZŽ‚NH*d…Êši¦ônk´ãÙ©ÏÄq;'A¾ÁMQGE:8©–²i"‰ºë£÷«[ÇêDµÚZvífÂÆÕ®Búu™G¬KETíÅ_Kw‘O­ycÈnÕ›F¦J9îJÈá§Åj¢j«hâìÕ»ú~¡[*¬Žr¯œ×·Er¦êSr,FÅ\ènWX*å© r>‘Ñ×Ï Bý›íkˆÑînöšª.šéÀÀUlê ›ÕÖç“c÷ë­Î²²I¼vÇ|’‚)"EÒº&ÔÃúÆD‘Æ®Tr®â.öš"ãm8í®Ë³kL”ô4”õtÙ ªN–ž>$•´í™Y§ÍG¦¨¨š&‡FùOI„¾1-ЦK­\ÊzÉ+ê3Zåj¹Šå~®j«SÍv©ÛÊ;ÙÎa»e›C¥ª§‘´¶ü²žj`™Ñ6•쥥—z=ÕMÝçi¼‰Ú‰¡ëa”—Ìî:žém¶Ö\Rý_m§š¦á$¸âÑ6-Ø\èU¹*9®ÕÊýïJiTÇpû?p«¯µC[Ed-Så¸ÔMÓ¿u¾ô‘îG;u­MåMtDOBÅn5f«¸K_%4±ÔLˆ“ºž¦XRtDÑDc‘$Ñ8yȼ8v–æ¸}›åªÚ:럈••4ŽWC4Û‰¾ö*¢jÕvªœ‚öüºªºFOâíŠ;Ík5–©[æPÆäÝéß§Î~‰æ3µÊž†£•4±GQ2(˜ØãcQ­kSDj'b"zä{Ù®C¬¾Ýì•Õ×ô•¶õ[ú舞k&F¢""""""h–óìÇqZ5ž;^=rd”jÊ·Àé+!‘Ú«Õª"¬ŠõVñE_GÒ‚ebÙÞ7eÇRÅ ív:¶VÛ`’GÉÐNÇ9Í‘ç+œí^åÕʺêºêj€ÅíBÇæ_&á™}jc®t•4Né–)#ž ÕEíTs_º÷/ìk‘x*˜lw¾ì»j8ղјd™7¾®žªßx©ñ§P:8],sDýZÄVtj‹ÃÏMuUBµz°Y¯SSÍt·ÃW%2;ÅÜô]bWi«š¿î»ÍMœSШ~-åª×VêÊhêeªV,i=edÕRµŠ¨ªÖ¾W9Íjª"ª"¢*¢}@JvÝ;ð°`ÛH§[*1»‹ZÅWÊ’µe¦j*/ÿZ=8ÿhô6»7Ú>Îó˜cJžš–lfêäb«ê]+h8§bº¡‹ÚŸï–ëŦÛx†ntqUGOS\-‘5FMÑñ½>Ö¹Sø ŦÛxŠž+5l§©Š®Èš£&‰ÈøÞŸk\ˆ¨òÁ@¶Ë-¥YŸMl’¯lÓÎzýªíWûÉ¿‚÷þ¼ýè»~-å>áIu$”³:vG&𬾦‹¯±QÉÙèSˆáØþ&Ù™`¥©¤Žg¾I"ZÙåÏ{·žýǽ[¼«Å]¦«Ç´Úe¿ý¶óÿõÄj6ëWå[ʱûSwë«mÒ2šé¾ôMäo÷ªiýç¹pÙö/_~¦¿UÓÜe¹Òtž-R·j¤| 'ÏHÕ$ó݊ѰÒÓDÊzxàdVFÄcVI÷*"iÅÎUW/Úªª¾3;!½Òd;2Ç®thŒk¨"ŽXWƒ •FI“ý×1ísU= ‡RžóJ±Þjåc`£·JæÉS¼›²##k¤v¿úU\ÅûX©è=zŒ?–åQqe$Ô•5Oé*_EW52T;Dnô­‰íIDDÕÈ«¢"¼ƒ°ß±ôÇîTNu«wqÔTIofêµXäÍÞfоjêŸg-¶ 6o&ÊcÊ[a¶Çt°\Ó*ŠDºÊê”V=d|JÄý‹–5nú¦N.еGu£¾àÉ{·J’Ñ×Û|f¢üæ>=æ¯þÊyj±ëmV:– }GÑ«|~t‘Íú.ÿHäTູuN z6¬#µc©[`¯¤µ£QŒ§ŠçRÔ¨Š›¬^“V7Šù­TOý —ƒv1UuðxÄâ¨ËoñÑTÛ•²RAâѳqÎr+éJ‰§¥½ö–;ªÛb³ÒYípÑPQÄ‘SÁtllNÄCÒÄ1k&%lm³¦š’…FÇLµRËHŠ«£÷*15rüÝ5ôö!Ú1µx'±øBlç8«¿!¬UVZº—.¤švë œ¾„{ôf«¢j¨šñBÇUQ-,µU2²(!b¾Iº5­DÕUWêD?ôt— )¨«é¡ª¥ŠÉa™ˆö=«ÚŠÕà¨rh1 ¬t0U¹‘¹WÏ,ª.­VÄ÷«¢öhÔÓÑ KÌòÕm/fU3Ñ­²Ñ\úe^0ªÁ«‚vvqël®s8²{–[CuŸ"­ Ž*˜µZ(!~ìLó5b6MäÑ\¯×êÓguÄ,7<’"­‚­÷:sife|ñ¤(íÝäkZôj#·[¼šhíÔ×]5óWVMY-<ñO:#gu5T°t艢t‰šÑ8yÚðáØ?Éo¹ VÏñ;ìµ/³W]/QKS"¯ý¥ Ü”±=ËÅÈæùîÕX®º¢»].Ùl ±ì—j®‚ê×ÑÖÙŸ55¦8#Š;{R1U¨Þ*’9®rª§j/ÔSëqÛe¦šÕ5²(é‹KMèü]Xš5cV豪'Vª*zFí…c·k%EšãKUUESÂ¥²WÔ+ꢦäßß{4rùŽUoÀ1¸-²ñ´êµÌ1ê|¢ÝENû^ºJÇТêÙXõjoHÉUèîÞU»º#µuPÌTàxÍMÎ×sžš¾JëLnІ¥n•=$Ls·œÝî“UG*".ºêˆˆº¢"&–V6XŸ•È×µZª×+WEú•8¢ý¨ŸcK»_ÿïTƒŒôóʯ¾8DöÍev%h¸WÜ©ª7Æcè`WÐçª=Q=(Õþ&ÊÙ²üFÙ_r¯ múžªç"K[+2;†ôïDÝG9z~ÔN õ""zÑØ,V› 4Z¨™NÙdYf~ò¾Iž¼7Þ÷*¹îÑ5rªðƒÑey†Ã)òv2ÅWV’W|½Wq’)ijY;œ¬~ì ¬Š5jıoi¸×5uÕuÓÃŽcõ¾ו¬±Z§Wâ45WR±ÚÊ꺴sõTùʈ‰½Ú¨ˆPÿE¬~9-KhÞÅž^šhYQ#`•ëÅ^øQÝœ«ÚªÕUÑ5ìCÁúþ“O’¤5Í»OA-CnU®‹ÎTD“uŠ÷*5Fªêš/#´tqø5íb™”ñ¤Vúü™hÛ§'蕟R³uºiÙ¢hvï6èlPl‚ºV+M暎²±¿íª¢}¾¡ÏdŽísUÌbî¯Ýnˆš&›¸¶qˆÅd¹YCZ–ë£ß%u:Ý*•µ‘\²+µ“Žþó·ÿ·¯©û¬Ùî-WKk¥¨¦¸É¥é%-Ú­èŽDsU$Õsš‹Ú]Dà]|!®ê±++±HÖª77VJ¾4öª¹«ÁUSDUô¢"zàø7Ú1š V®¥Ö{d³d·z8feREjUOú´r7Tj1Ššvhšˆ0û 9[²–AYòáHPë„îÞ‰U#V«÷Uˆ®r£tÑUt׉ä¦Å,4µó×SQ: §•ó½#¨‘¬I^ÕkåkÛ­‘Q\Šö¢9u^ ­óQ8pìàãÆlÕÛUÚ­%mÜhc†ŽF#¡‰_o…ïsX¼ÎWªëÛÅtí]t^uÕ—-…áµ× ©ªª¥µB²M+ÕÏz¢iªªñUáÚ§j‹Ç(«îuô‘\¡ªºéãÓ2íTQå^“ç#ZEN(ÔÑïbXÝŸ³Çh°ÓKKA uL’²$þËî]ÖÿéMì…µ ™ÇA„fvÈk©îI,Ô¨÷î9²Äã‘QÈý×¹uOB;^˜[-yÙVÓ±Ëuƒ&ÈoØÞAãTõ6»­WŒ­âeŽhž©«[«:5EáúÄí]4­Þ¬kÔÔó]-ðÕÉLŽñw=X•Újæ¯û®óSG'ô*‹F9jµÕº²š:™j•‹OYY5T­bª*µ¯•ÎsZªˆªˆ¨Š¨ŸP›Û&Ï6/Y_y[NOs¨}eUÝбó[–*•Þ§fú'DÖ25‰S†žs—ÎUUëAi »xId¸Á];1kn´òµÕj*ôW5x;MM~½MÚb–ÖÍUâZ‰YᎢFA3׵υ‘½ËéW5U}'®Ü#nAYdW\ë"Xg¨mÖ©®|k¿£4I4F·¤zµ««t]ƒ/WÚMšã¶j™C[´J»5D’T:$ekjz:~•˱Çhœ»©¦©¥6›¸E›Q¹ÖÜr׎U[ê)nªz—HÚÉuÐÈ‘,,n¬FÊŠ½º9;tM46ŒµÚkm4¶×>ß\õ’¢š¦ªZˆÜõr½ÏFÈç#\®r¹\š*®Š«ª!íÅŒÚc‚X›ãê²GÑt¯¸Ô:f3TUk$W«ØŠ¨šîªk¢kØÏVËw‹xb¹ =D±äûSáºïkSIp…ŠzñFî=ÍÝìTUÕUÖŸv£¦±íë §´DÚ8®6‹²W6.4±:‘ctŸÛr+Þ¨çj¾s¸ñS½äË ý‡KeRY ‘²EB—*ž‰ŠÕG7Dé8#\Ôr'b95DEâ{ÕF=Qz·ÞgŠã%ÂÝÅI;®µJèš»»ÉþÓŽöãwµ×u7µK´:խǶ­‘Ù¥šë-¡“ø¥Êf2´TÓS&üT²":G«^Ýçpkwœæê¾yÕÛ{-¹†VÜ)hkª¿Il‘ÌçÂ׫zZˆVFqìG#“TìTTÔ¤O…ã3Ï]$¶Äs.Y+)úiž¡êš+ä…ѹˢjåjªè‹èCö¸†<ìi¸ëíý-¹ŽcÚÉ'‘ò5ìV«’+•ûíVµZíí[ºÝ4@0[u£²&έRZèéam·$¶CMБ¥:ü£ r5ˆˆš"ùȺpSÙ°¹2ݳföìŠOKGE²†¡ˆø‘“D²>§qSG9ÎÕˆå×D‰Q4ÕÚëï˜V9z¶RÛ.T•2ÒRËÓGk§]ô‘$rµè¯z=èçj¨íUUU=šÜbÍYST°T6®RUCW4U qF:V9öëÇG*ñãÚã¶TYq*M]úKüômt2WÈÆµÒ¹äTV·‚nüݳtî*:h(é™MMb‰Ÿ5­ûWU_µUuU_J®§”ÿÙlepton-eda-1.9.10/docs/wiki/media/geda/summing.png0000644000175000017500000000300113634703632016613 00000000000000‰PNG  IHDR£+[ ÑìtRNS”ý®ºIDAThíÚ½oÛFp ¼ÅsCcÇìÅ ÿ˜ñ˜¤QÉn^ŠzmÇ2ttõØTã!(àHC'G®OBŠE>H€Ž)^ø)òñbGq‹¡˜ zÇãÝ#•ZM¨)¤|ëVj©ª›u"?+R(럜¥)Ûu”%¨¬”ò•þµÝmŒ†G?ÃK«ö0­$‰îzmìb.pJÙ›é ÝM¦¦èà¨UF©*K (˜<}ñ5Ü'ÕnZM;LIhƒªÝÓ··šgo•„:I+»ô†b4ž Ðíæ‚(ÄÔaëhн=yÞMªÒÊZUyo`¥EÒ'ÿ¡äqe(³¨-Â3|•ÊÐH+¬1õ-Âô|ízZóe/ËJ+Mã½ðÈX}:†™êù E2Úò®¯J¨‚YôûÈ»UÐÔðW¯R¹jšÚ§D¬‹QµšQ¼ ”Õúíæ£µGcåǾN*%+TæÆ¯Ÿÿôü~O¾uó )­¦Ù ãƒÃÃ7‡çòïÃÕØWHöð~F†sµSîF®ÎãÇ3<ØÈÐüŠ«žÜÄ?Õu—g8j]ÿäW\ÍÞSHº->_Aëe b5R™­R¨¦BÊËPRªBBJR®è$JÕ0X==>©–ZpášR¯úÄqå©¶V¨PɳëÚX™«St;Ged(g˜Vl+ßÁèÅòñ+Åm”<®âX¾Š¶F¹~µ*•S‰:ì]•~ùj¾òŠÅª_f†®"¢,i±JÞ§Ôý}f÷'RøyÑ AcÅæùÅ*q\@å‘J…W%WñûÊ…*öÙÉvµ•'5Ê+km¯_^9ö‰& œ7¸¼2î‰(ó±ˆ"„Ô@DáS‘>4EΗ%‹ŒY«T¥–ªêF\Õç•JžjkJLµO JÖÕ˜’Ï/OµÙ½L4ÃùÃïñÕ”¨ ^ÒY, Q6W ßì3eB”H¾BìÅ(?!5|.ÚùÝ•ææç™QI^”ò÷<—Èü¾8[é‘(—®¦¶>Wz¯Q¤Tòý»NŸõ9›lTí,,rµ§pµJ•ksõwþXäŠþì™:U6»’Uü°Xyìda¯Å”ɺ]5Õü)'©0ñU¿PÑÁvßÒù¤cEuüÇJªoSõe¨lY(ͤjßW*"ê´‹ejTíøª/Õý¢èƒIÇWC:µ¹nþʲœÑ[Rù'Ô¿*•ðµ@½Ïyã}·b36_‡ÃÕÀVžP¸ØJÄÁ|Õ›Ñ"Å)\aóž%D•Jž…«¹'WsfųU@J¬J«ˆÄª/±J“HUi)@%VÁ.û®­R¡¢Å5û/æ^™ ò\YÄr$lj[<ÖkÒqë€2;ÛîõÉ®zrÃ0ï/®9e5w0ÂäpâeôBB òð`ñ¼(s}‹©'ÿRurÚ*<ÁL]£ P}Åc=+wÏË+ü;6;LÑ>< U€>4×±#Ñ Ùù: ×ô,ΗÕÄó±1 øØ˜5eᾕªT¥*U©OJukaµ\«X²ÓUUn=|ÀßÅT‘¬ÜÆ%ǪÔ2”Pû˜Ç.ˆ¿i0‘IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/ambiguous1_fixed.png0000644000175000017500000001220313634703632020373 00000000000000‰PNG  IHDRòú—µ'PLTEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¾¾¾¶y=£ oFFs3«£Ë pHYsdd–ÅÝíIDATxÚíK®ã¸†…nÁ€wÜ®Ì\d~8+èÔœ#¯GÓÚmJo¾_¢tHëÿÐmQI~¥KÉ’Muày¼GIJ"-æ ï7w€ËCzíÞÊbBpø±,ÎÅô ó¢ 0ËÀÃØ Ê#›óŠ€y…¯sš•Ì?–=_Ö-¸»]ç›×VÔÔ9×¼W`^áTóªòÝ·àîu À<g™w}†U·æÄ}^7 ó gŽ6B^‘„‹ÄÆ>˜çâLóyÅX½;§žÛyæUÎ*a~b4ÿXOÿÊóAFó¢{ˆÂÍú®”~¯FùÒν á»b&¸û\Ë8’ùÙ2ÌÛ€y.ó¢p³ÊÑôDó'š]Áú£Ù/a´n¾Ýæ™Ão‘“ް‡ß"0Ï:Ìs„>ZÜqä‡ß*']·¹2üF9éZå•á7Já7~á7~á7~«¡/¿÷i5üvC/?Ai4üvCß¾ÎÓfø ‡.ÚÿÇšè3è_ ]tM›ïè÷ÿ›J¯Ÿó/–û¯¬08-›ï;iìÓÝs™Ÿ?w7mþå[¨Ÿóž%o}ŸQoä$5Àf¾ñq~ÜÃIËë)¥˜Ïâeõ¤æsXÆtÒóSÔ³˜ß¾Ø¨ùõ`jŠHPϳϷ}õ`?‹!c[¼z¦Ñ¦å+f’\‹‰è“K¾q~¤IóäH»³¬À|rïI^1·Çîô0ŸÚyRVÉ,©æu¾–ˆlè´:vÚ3oœ»Y&n§‡ù4 «¶žbZ‚ù4("ÇyzóÇ—Ä.^nà¼æÌ[’m?¤=‹ìµ²›ß‚ÍywVÈ“Gþb¿ùi•À¡ÑF¹FGZb ÷eR ¯yõZ¹ÆEØÏZHYL}#kA>óGo qÓ{³)X’ͼ~»¬O½ÆkO!éuéšµc\æ¸)õ7®`{s«µ(“yûg–Ô»ûMÛ‹·,yó/uŽ´!õ½ ˲˜9[iG=ù7Q°0‡y˱i ­õž8û®Ró¹R#œ\z»Mºk[ióäÏ¢¸V òŸ•"¶˜uñ¡,…Wö¤6¥A(F"ky!ö¬«Í‡wù«wz!/²se¡T õZïfo¶rµùWD —žYª³Š ëlmó–¤^k]š?ÿ×:d¤,ž)¢¡Rèó¹ )í6ŒìëR+?CM”Eúw"m)qåNód$û@±³ZJÈ™ÂV.*@²¯K­\k^ÖLž>\xz#´”3…­\T|z·z£•kÍËòôáÂáFh)!g [¹®AóJÀd0ºk¥ZJÈ™ûFõ|¾9óÊyùºpÝN/´”3÷›'c…¢Šž‰ÐRBÎÜ6jS”…£#{†ÔÌ•æÕ=…º.tcç „–r¦0Km±û!{†Ô¯yŠ,{"BK 9s]¦]/³–02®4OúZ]øI%^#¶–02þ¾¨ƒæ›“¿áΕa{”„Û¼9õj88 e|ÿë¢.ê{8ïë(XîÉyïìÙ"çzïµQa¼Z&¥`«Èøó·ùï̈“:6b˜÷Ư•–'Ÿ]UHyï.{†Ô¥Úzé\8^µØCP cîN/ùÐÞ;ôV2šÙŒK’¤çÎdÎǬޓ’o„¼÷¤/¶pô– Vóð•Í’m÷”t é5/Ä÷ª^l åiNžØÂÑOÊoD¾Î7¿ßÿ2f€ Ԕ˫51îØyŰ|÷@nuÿîÁüt\õ0ñ Ûr#Cÿ×dþÜ~‹X7ŠÞiÞyÇîºéßC±×0Ú”1¿6¢ìÜBÎÒ’'н.óz,ÁèÉlÄßæ„+–`ô{ýyïBÎÚÆ+Æ^Õù¼K0ú½@œù ŸòŒ½†Ï°bYgïÁè÷qæE¨Árc¯áºX–g›·|ëô<‚±×p­R,KìódþÂGÛc¯É|8wô‘ç6×b³ïÃJ\vg„‚î*0 fxªˆeYË'©{›ç¼zpóëa1¯ ãu/ÅÔ›P³BCæÝwì^%.Ñ›P³Bæ·›¥òZ©;#Ez*`VhÄü|7p½=!-æä‘»YäþfDâ$óê­¯qš-Ò‹P°¹Ä|·{ù°$伉wÀ³hÇüóæQîÎwìäÁ¥Ð·>²Èý…šD#£MubÓoï[ŠÃ|¡î(¸~‰,óyø‡ý[\Á'΄‚á*‘9ã„̗꺂…a¾Tv2fº4RJ¯Ržá†ôØÃó˜ 3ÂUj¢ì rgBÁŒp•ª ï ½Ìü‘û°UâúF®9ShÄ­gòqæ]á‘Ñ»ˆy‰/ ”’kT†}§7g„Ž™‹ûL>ϼ=>2z3ÿü©P`=X¡:lZfþwôæó± 7¤-=Ϲ,N ¬+Ô‡¡å /®n\gþÈoF*Å5¥¸Ò W?ù̧üB­R «)ÏldÜç)­|„ÿŽÝ½¸pÆ -¬¤_"WжÓ'=¦”Ñ|pVåØÕ›—†Gy«ñšwïÙ ™ŸÔ“qÜ MÂ<_eU´v^ó§e ÎÄÂÿ|*×£÷„_Œ°?sÁºÓÇÅ^Ûè’°Ëð?gÄö€)Šhª&~dԹؼí.y 5ÂWF«ÍW÷<©"´`¾¾g¨• óõ=7°m˜'3Z|6¯LæχÝu7(¾ó¶3ù†E7T˜·íôûíðwùVÌÛo›õ[ªAZ1oª§õ†N›âÛ1¯«ï×oß4*¾!óšú×2S@«â'ó©“Ä2™7Õ1s˜¯iþ—4õ\æµÛe¯®»ŸP'_òS‘°™×Z¿Žó"¥ŸùùFÎBÿzµ;Ö´g^½öjò3ÔL{æG¶keÍ›O›<ß¼~“ÀÌŸKëæÿý³UÜá×n~'¿¿¹æò·;üÚÍc´ÉƒŒDÁÐ}À¼‘(º˜7Éà|> 2éà3ld$2hüºÍŸ,ïJF"ƒÆ¯Uò@F"˜Ï€ŒD0Ÿ‰ `>24~„åŒD:ŸU2AF"™Æ?IqAF"™Æ¯pAF"˜7ùãKçz2+FÝ&ßZðÂ-çbó/M¸±å?Nóÿ‹½µ`ã¿·0‰ úÒÒF›†§k+ ‰p•cæãßè³!#¢ïŽ˜ïûŸ£r d$ôÆ¿“ÎçûþЧ傌D°‚á.e°éûtd$ü¼Ö¹òe®Ûô–ê÷„Œ„—¾³™O8Cì;ÂN?AF"Xüyóáw…Œ„ñ¬¦ïŽ™ïa~‚Œ„‡~yч‹TónºDó´¼5¾K3ÿZ 6>É|¿½æ›_wøð»} ˜ç‚\`þdȵæÏÅ­+}ê|âîLSÀ<dä¿Øþ7ÅÍ–‘=~SlAЕ5ClYQ&º±c~XÕÈcÏËò½¦#€ù4ÞÝö”¶e1=ñ]l±-QDV¼PŠ.Ù(oãu~LáîæOaÕ*ÆôCÉê¤M1ؤRL!;]²MdÍæ/DìÉÇâ\¨%¢›Âæ?ý+ä«y×}'5ò`~áa®=æÇ¢n™"¶-ŠÉƒù›ùù„òm-áÁjŠ¢JÙ¡ø¢ b3/æa+áæ“°Ž63BY„¡¨L˜_ð˜_–"¶)ŠÊ„ù… ùèÁ¦¼ùÏ>Ä–3o÷DqÅZü‚æElK0ŸF9󗛢“ʶ‡WÙ0.B^9`Þa”"ËÅUþ(æŠ|:yð ón”ÏMÌSdvŠùÏ>Ä*w£Lç0"Ò}؇´Pþ-ÂPd6ÌKX¿{ þ[qI"WÁù[ ËŠP{@ÔÉæ…ôúPÓ¿öÛ^Pl¾j~9˜y1o¾VÁÅæ«æËóʲxxjç±\%ż˜4«æED³`åùÇz+ä-ÞfÁJAó˜fÁ Eo°6Ê ?õ!Ô.X è ¶#¬z¸NqpB‡{T WQ1½ª÷z§…rœ¥xÉ6/:c¡|x¦x¡ø-Á«Kú¡”(~‹¼Ï‹NZéTóóæPüÙüv)¤…ó`Þǹʊí¥ó˜Ç@ïæ¹ „MŠyÛW8ÕÂmƒ#æÍ+fê—`Þ¥l ›WOq|ßJÙ¦™W4/‹ýxó>¼¹J‹eùVÖ<ù—‰Ôyæc¡Äòw‚’6¦šÇ!Ö %m„ùrPÒF˜/†_ ¥i,À<”¶æ‹Ai[a¾“”X>ù î ÌsA‰›a¾”¸9]$%׸”¸æ I©"š#0Ï¥nO7C¬JÝóeZ¡äéïqK®0ÞÌsAÉ`¾ ”\æ‹ÖHéU2Þå~À<”^æ‹@é%r4†ßævPz ˜/A„EʨnäöÀ<”Q$Ç<±:”Qæ #„r*•¨óÑÀ<—™Ç!VƒrÊÀ|(§ Ì'Ê!eÕ*Résy.(«Ì‡² Áüq(«PžÄ¨÷º q )¯Z°™;ó\P^©<óè%(¯Ì%ÒeÖ+Rë3y.®5Cìeƒù£Pf1˜?H¬@Ê­X¦Úó\Pn9˜?å–ƒùcD‹xd¾#qw¹’wÁ¯£ïHÜ]®˜ç‚R+6~†R+À|Ò5À|`ž J®qØ<±”\æË@É5`¾cîqóè;˜çƒÒ«À|(½ Ì— ÇÁqó8ÄÂ<0ÏeÔ)`=Ìs‘eæ ó\PN¥æqˆÍó\`þ8yÃm ówèaž ʪóÇ!¶w¾¹yÎîwçYy.`þ޽¿÷@OŒï}kó¬‡ù[¾97tãwç…·ï¼ïÎ óß;q÷Ÿfó7èaž â}{˜çâ¾æÙ{NÜpó·í8{·í8ûÄÀ]Íó÷›?‚»ö›?ˆ;€*B¸i·+þÔ‰;j0_C ÷ìu 1\qÐÁ<·4_G§‰;`þÞ}®#Š;ö¹Ž(îØç:Ƽ;v¹’0nØåJ¸â ²8î×ãZ⸌jþʉ;€«y.ª1_M WAܬÀ<w3_Q‰;€kyt·¦PnÖÝŠB¹Yw+ønÖÛšb¹WokŠå|ˆ;€jƒ¹Ug« ædêú'î.æÑבºöƒs!î`ž‹™¯­«ÄÀe¸ÍÿúÍÞ`LOâÕq!Ξþ_žCrƒ15ì£DióP`˜/O§€Ãš3g­+Ý|оŸ1>—[ Ó«”;gA½—AÚ¯‡õU9KÙêæN¯õÔ³ Þʰ/5oµsÖSÝkêmH£²zùì‚æÕë2[ö eéÁ„ϼô)hèl¯ƒÜÒ–=hYÎ-­ ûëú2.ÇϰvóÏ=m~†5ŽÎϰ`ùkK*×mæk.crØ <I¦|ÝfØ^·Ügç¾nºý£ãZ¥t®?_«œW¦2òµÊýuË—y_m¸'w·eàà¶ ÜÜ–;€Û2pàFüͤWqb¸ì¨IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/dialogdirective.png0000644000175000017500000003735213634703632020312 00000000000000‰PNG  IHDRnLr$0³ IDATxœíÝy\Ôuþð× + 2 ¢(Š™GÖˆ«¶˜\.`$àA›^àm@J¨›©¥îztnb*à.&jåšIåò3!ÝÕŒÐPÁP9’KàûûÃøÆ3 Ã1ó…×sßuæ{|¾ï™ï7æ5Ÿù2¥R)€ˆˆˆˆ ž‘¾ """"í0¸Iƒ‘D0¸I„VÁ--- r¹iii*ãåry7nܸzç©KCç'"""jÍ´ n111pttDLLŒN+9vì˜NËÑê nEEEHLLÄîÝ»qâÄ ø£7L.—«<®þwûöí˜4i’ÊxصkWWW\»v­ÖtumæääÀ××666pwwGff&`ÿþý>|8ºuëGGG8p@Ç·‚ˆˆˆÈ°ÕÜâããáíí®]»ÂÛÛñññ¥R)þ[óqµââbÚ€G'%DEE‰?‡*•JDEE‰')Èår±¬æcMV¯^ââbDFFÂÙÙ`aa#GŽ ??aaaâ¼5ÛtssCxx8JKKqîÜ9æÏŸäädøùùaÅŠX½zµo ‘á @zzºø\ã1n§OŸÆ„ TÆM˜0§OŸ†R©ÄæÍ›áïï*5éÙ³'†Ф¤$lܸ°fÍ„††ÂÉÉ ÞÞÞâ¼5ÛÜ´i®^½ {{{,\¸PìôððÀÊ•+agg‡yóæ!<<\›÷ˆˆˆHrÄcÜbccùÓ"‘©™Ñxç""""‰`p#"""’7""""‰`p#"""’7""""‰h_ß Õæ%"""¢æóø]ê¢1¸U‡¶É“'7iaDDDD¤jÿþý 1¼ÕÜ&OžŒŽ;6meDDDD¤"44ƒq#"""’7""""‰`p#"""’7""""‰`p“ ØØXXZZê» ’}ï/M½~}¿""}bp#"""’ˆ7¹\Ž'N¨<'ý2dÊÊÊTÆ•••aÈ!P*•j—ã6k›êÛ_Ƨqùýû÷cøðáèÑ£üüüpóæÍ×Д?tÝÿ‰ˆ¤L§·uëÖA„¦®…ÈÉÉ ‡VwèÐ!8991œQ-õí/ÇŽÓ¸üW_}…;wâúõëðõõżyótª£©þ~pÿ'¢¶H§àVRR‚C‡©Œóõõ…\.‡•• …øU.—cÍš5èÛ·/öìÙƒ  ÿþHHHäääÀ××666pwwGfff#_RÛˆ˜˜•q111  ~›T{üíú9·IëTßþR½ý«{ÖºuëGGG8pðÑGaذa055…““.]º¤SuýýÐE}¯‡ˆ¨5Ò)¸-_¾ëׯGEE…8îóÏ?‡R©D^^vïÞeË–‰Óúö틃"$$...ˆÇ믿Xºt)üýý‘••…àà`,^¼¸‘/©ípttDaa!®\¹¸|ù2ŠŠŠàèè@ó6фۤuªo©†­[·";;6lÀÉ“'U¦———#$$|ðNuÔõ÷CÚ¾"¢ÖD§à6qâDtìØ{÷îÇedd Æ ƒ··7îÞ½+N›9s¦xû >yyy€¤¤$¡G˜={6RSSózÚœ€€DGG¢££ NÓ´M4á6i½4í/ÕÖ®]‹™3gbÑ¢Eèß¿?¢¢¢T¦¯^½AAAðóóÓ©†ºþ~èJ›×CDÔšèÜd2V¬Xwß}W7mÚ4Œ1GÅõë×ë\FÝ㌌ (•J(•JäææêRR›5eÊ$$$àîÝ»8zô(¦L™"N«o›@UU€G½(Õ¸MZ/MûKµÀÀ@¤¥¥ÁÅÅ¡¡¡b0ªöñÇÃËËKçêúû¡+m^Qk¢óå@ÆŽ‹^½z‰Ïsssáéé‰:`íÚµ ÕÈnnnGii)Î;‡   ]Kj“ÌÍÍáéé‰éÓ§ÃÓÓæææâ´ú¶‰……Ž9‚üü|„……‰ã¹MZ/MûKµùóç#99~~~X±bV¯^­2ý—_~±±q£êxü´y=DD­I£®ã¶råJññúõëáéé www 4ÖÖÖ¸}ûv½mlÚ´ W¯^…½½=.\—Æ”Ô&"55µÖAÙõm“5kÖ 44NNNðööÇs›´nêö—jX¹r%ììì0oÞ<„‡‡«LoLo[M5ÿ~4F}¯‡ˆ¨5ißÐj^iôèÑâsøûû‹Ó¦OŸ^kþºwïÞŸ|òICË † Vçu«êÛ&3fÌÀŒ3ÄéÜ&mƒºý¥zÜK/½„—^zIíòÇ×yÝêþ~4†º×CDÔñÎ DDDDÁàFDDD$ZýTZóŒCÒ?žéIZÓ÷þÒÔë×÷ë!"Ò'7""""‰Ð*¸=|ø°¹ë """¢z°ÇˆˆˆH"´ n_|ñEs×ADDDÔ¦ 4¨Þy´ nÇî¹6º""""R/T‹y´¾ïK£º4¢”æs 9_ß%µˆÝ9ÁÐB’¡†I"""¢æÐà[^Që“øÏ?7xÏ• v=D Áý’¤„Áˆ4ìƒH—º–^QCp¿$©à-¯ˆˆˆ4È¿™ŽoÃÝñÍ{Îú.…¨i‚›®ß>"æhŠÕÓcª·GS½¿5·/·µ%·~À÷qóPQþc–žÒw9Dúíq Ýñ“>Wßê5ÇûËmFD­Õý ¼~N|^tû ¾ß³BU%FLß¡Çʈþ Spëie‚¨ ÁøäM^|®›8¾«¹16Í€/Ö Ã¿‚­• ,ÌÚ#þïÏ }; ‘ /}fíÅž3Óvøûßúâðª¡Ø÷Æ3ð}¶«Úö¨6uÛ£úýMüçŸ1iT7¼ø$õïk]Û¡fÕÿjÚ¦ÜfD$UßÇÍÃ…_ÅÿÅ®‰FUE:u{¶Ïè·8¢ßéÜ·CòùŒ¸ óŽœß2Þ_^¸‡ ÿøNçâõ‰}Pð ?eãÙ怑ÌñSv1 T¨´wñ—ß0yã%,Ú~OÚvTÛÕ¦n{ÔdÚÁËb2¨_ëÚÕìÖÈP} —ÖâîOßçÆë³,":UúLŸNX»÷”V"æ«ø»ÙþüDgŒd¥/>ú°®¨'.ÜÃØ?[áì•xýÙ _^¸§Òžã ¼÷Ù/xX!à×ûå?˜¥±=R¥n{Ôt8宸XÝûªn;ÔEÝ6å6#"©zÆo#J¢o¡ðöäüp`jÞ]ÏU©Ò)¸UV Éjàoë/¢ ¸Be|ÊÕ„øö†]WS èe†Ä_l¹º?ÜÕµGªÔmšŠË*ÅÇêÞWuÛ¡.ê¶)·IÙ³³âðõ;Ï¡ª¢ ðŒß;z®ˆH•N?•^ü¥/;ÛÀ´ƒŒë%Ž¿Y7˜aHŸN*½.§þ—U¯ô÷•¨¬R ÉW àá`c#ô²6ÁR¿>Û#U궇:êÞWuÛ¡°¸&ƪ»ŠºmÊmFDRç09`ÔބǶ‘ÁÑ)¸ý+á†?ÙÞP ÷~¹8~Ë‘°ëjŠƒ+†âï/öAZf‘8íDÚ=ôífŠ/Ó”µÚ‹L¸ ûNød¹›fÀ•›êmþ n{¨£î}U·ÂÝÀÚiOÔj§®mÊmFDR'·ÿ z(|`÷¬¿¾K!ªE§ŸJs”eXø¯Åç“ï”E±|÷Ïu.óSvq­+SW?PZ‰ ~©µŒ¦öèê¶G]'êßWuÛáÌå|œ¹œ_«­º¶)·µC|×転:ñ–WD ånãÃÛ‘!â~IRÁàFD-vÃlÞ˜› ÷K’Þ«”ˆˆˆH"܈ˆˆˆ$¢A?•¾4ªKsÕADDDDõÐ:¸HÎoÎ:ˆˆˆˆ¨Z·ýaöÍ]ՃǸIƒ‘Dð:nD¹\Þàe”ÊÚ·¯3”õ5÷K’7"а"]>èZz=D Áý’¤‚?•Q½RRRпôîÝ[ߥµ8îÿdHš=¸ÅÇÇcÒ¤IuNã·–¦•––¹\Ž´´4•ñû÷ïÇÈ‘#ѽ{wŒ=ß~û­ž*$)JMM…¯¯/ŠŠŠpóæM}—CÔ¢¸ÿ“¡iöàŠ}ûö5÷j@LL £2þäɓعs'nܸ¥K—bÞ¼yzª ÝÙ³g‘””$>OOOÇĉQYY‰„„ýFÔ¸ÿ“èÜär9¶oß.ö¤åääÀ××666pwwGff¦8_YYlll×®]ƒ««+ž|òIlÛ¶MlOÝòû÷ïÇðáÃÑ­[78::âÀz±­YQQ±{÷nœ8qEEEâ´íÛ·cèСÉd011aO'©5~üxøùùaìØ±€ððp”––bÈ!9r¤ž«#j^ÜÿI tîq+..ÆÁƒK—.…¿¿?²²²ŒÅ‹øã`ÏêÃÂÂð / 55Uå@Puˇ……aëÖ­ÈÎÎÆ† pòäI]Ëmõâããáíí®]»ÂÛÛñññµæ±±±A`` >øà=THR0~üxÀùóç‚£GN:¥Ï²ˆZ÷’ƒÛœ9sÄÇIII B=0{öl¤¦¦Ö¹LJJ ^}õUXZZbÅŠõ.¿víZÌœ9‹-Bÿþý¥k¹­^ll,ˆ­5ONNÞzë-,_¾¼e‹#ÉˆŽŽ†ƒƒ`Ïž=¶¶¶z®Š¨epÿ')Ð9¸uîÜY|,“É‘‘¥R ¥R‰ÜÜÜ:—i×®ªªªjW·|`` ÒÒÒàââ‚ÐÐPDGGëZn«–’’‚+W®ÀÅÅr¹®®®¸rå RRRTæ355ÅÌ™3ñßÿþWO•’|ýõ×055Ÿó¿;jK¸ÿ“¡k’“ÜÜÜÄcÎ;‡   :ç=z4¶lÙ‚ââb•7uËÏŸ?ÉÉÉðóóÊ+°zõê¦(·Õ‰‰‰ATT”|•J%¢¢¢Ä“.\ˆË—/£¸¸[¶lÁˆ#ô\1º?þÀ£°Ïc{¨­áþO†¬I‚Û¦M›põêUØÛÛcáÂ…pqq©s¾7â›o¾Á€`ggWïòX¹r%ììì0oÞ<„‡‡7E¹­ŠR©ÄéÓ§1a•ñ&LÀéÓ§¡T*áââ‚™3gÂÞÞ)))*'†ÕÅÍÍ /¿ü2,X ïRˆZ÷2d2¥R)ªÇHU‹ÅäɓѱcG}ÔFD-D.—7øÊñºÞòª%ÖCÔÜ/ÉPXZZ"""¢Îüüü0uêT}—DõÝwß!11Q|þý÷ßÃÃÃøöÛoõXQóãþOR Sp“Éd(--…‰‰‰ø¼¦[·nÁÍÍ &&&9r$222_)©µgÏŒ1úÓŸàææ†ôôt}—D5fÌŒ;£F¬[·%%%P(pttÔsuDÍ‹û?INÁ­ú Nus!00X²d æÎ«{…¤µòòrÌž=;wîÔw)$QûÛß)))˜={6:øá‡ôYQ‹àþORÐ,g•~õÕW8r䯯ÆÍ±z̲eË???}—Bµoß>\»v çÏŸGtt4 wïÞz®Š¨epÿ')h–³Je2îÞ½ A ÊËË›c5ô˜ØØXøúúê» ’¸ÿû¿ÿƒ©©©ø|ÿþýz¬†¨eqÿ'C×,ÁÍÃÃC<6àÌ™3bÏ5¯üü|önR“8räÀÔÔ”ÇöP›ÃýŸ Y³üTºmÛ6ÂÒÒ¶¶¶X½zus¬†3zôhœ9sFßeP+àéé‰3f gÏžú.…¨Åqÿ'C¦sp«ybÂã'+ôèÑÇodiÔP mÔ”vïÞ­ïˆô†û?*ÞòŠˆ´Ü´y¡n2DÜ/I*܈¨Ån˜Ís“!â~IRÂ{•Iƒ‘D0¸Iƒ‘DhurÂýû÷›»"""¢6ÍÒÒ²ÞyØãFDDD$ nDDDDÁë¸äryƒ—Q*•»¢†à~IRÂàFDöA¤Ë]K¯‡¨!¸_’Tð§R"ªWJJ ú÷ïÞ½{뻢ÇýŸ I‹7~;1\5·Í¸qãš}]u¯9ÿÎ;UÚ¯µ\ß¾}qôèQëþä“O0jÔ(tïÞýë_qéÒ%5ÑRSSáëë‹¢¢"ܼySßåµ(îÿdhØãF¢cÇŽ5kûJ¥Rü9¢æãšÏÿ¹â›o¾Qyþõ×_×j366o½õ–Æu?~[·nEVV¦L™‚9sæÔ¹î¶~ÜÊÙ³g‘””$>OOOÇĉQYY‰„„ýFÔ¸ÿ“48¸åååá©§žÂÇxæ™g——___ÈårXYYA¡PàðáÃ*Ë>Þ›Qý<''¾¾¾°±±»»;233u}=mÞ­[·àååxyyáÖ­[½×»víÂÀáêêŠk×®©ô\ÕüW›6† †ŠŠ Àþýû1|øptëÖ ŽŽŽ8pà@“½žîÝ»ãêÕ«€´´4ØÙÙÕšç¹çžCvv¶Ævvî܉áÇÃÔÔÓ§O¯wþ¶jüøñðóóÃØ±c<êá,--Å!C0räH=WGÔ¼¸ÿ“48¸Y[[cذaHLL|õÕW6l¬­­ñùçŸC©T"//»wïÆ²eË´jséÒ¥ð÷÷GVV‚ƒƒ±xñ↖E¿[²d \]]‘••WWW,]ºTœ–‘‘ .ÀËË K–,QéýÒ¶[·náüùóxûí·±~ýz@XX¶nÝŠììllذ'OžlpÝê~ªôññÁÞ½{< ˆÕPkJNNFß¾}kµ£î§Ï£GÂÇÇÀ£‹ÚÛÛ£GxñÅ‘••ÕàÚ[“ñãÇΟ?ñ'èS§Né³,¢ÁýŸ¤@§ŸJ_~ùeñÃôã?Æ+¯¼àQ0À°aÃàíí»wïjÕ^RR‚‚‚УGÌž=©©©º”ExôæÕW_…‰‰ ^}õU•?87n„™™‚‚‚œœ¬So¿ý6:wîŒñãÇcóæÍ€µk×bæÌ™X´hú÷﨨¨×­î§Jggg|ùå—(++ÃáÇ1fÌ•ér¹¯¼òŠø%áñŸ=oï‡~ÀöíÛ±nÝ:@ff&®_¿Ž+W®ÀÁÁ³gÏnpí­Itt4{öì °µµÕsUD-ƒû?INÁíùçŸÇùóçñÓO?áÂ… ðôôL›6 #FŒÀÑ£Gqýúõ:—­ªª”——‹ãd2222ÄÚÜÜ\]Ê¢ßU¿ÇUUU¡ÖôÊÊJ7ª #£?vÀÀ@¤¥¥ÁÅÅ¡¡¡ˆŽŽnLù*Œ¡P(ðÖ[o¡_¿~°°°P™®T*‘““???š{Ü’’’°jÕ*ìÝ»VVV*ítéÒaaaøïÿÛdµKÕ×_ SSSñySnO"CÇýŸ NÁ­C‡?~<0iÒ$´oÿèrp¹¹¹ðôôD‡°víZPùз°°À‘#GŸŸ°°0q¼›››x,Á¹sçÔ˜×Ô¦999aË–-(++Ö-[àìì,N[½z5Š‹‹)Ž—Ëå())ѺºÌŸ?ÉÉÉðóóÊ+°zõê&}M>>>رc‡øAu=nû÷ïGTTöîÝ‹®]»Šó/X°—/_Fqq1>øà(Š&­]ª>þøc€©©)í¡6‡û?2/ÀûòË/cÇŽصk—8nýúõðôôD—.]°téRX[[ãöíÛâô5kÖ 44fffxÿý÷±gÏÀ¦M›$kô÷¿ÿ½/©mòòòÂñãÇñÞ{ïaΜ9°³³ƒƒƒvìØ!ÎÓ³gO :½{÷ÆîÝ»›7o†¿¿?<(Χ©ºxxx`åÊ•øå—_лwo„‡‡7¸þš=cÿ¼éááSSS­‚›: .„ *×aR*•puuÅÌ™3qãÆ 6 Û¶mÓy­‰››^~ùeØØØè»¢ÇýŸ ™L©T ‹€€•‰±±±˜¹\Þ ñšÚ®¹Œ¦åÇWï< ­‰ˆˆˆÈiÜbbbàè舘˜˜&/ ±m;v¬‰+""""2Lõ·¢¢"$&&b÷îÝ8q⊊ŠÄi×®]ƒ««+ž|òIlÛ¶­ÞñÚ¶]Ý&—ËUWÿ»}ûvLš4Ie<ìÚµ „««+®]»Vkºº6srràëë ¸»»#33³¾·…ˆˆˆ¨ÅÕÜâããáíí®]»ÂÛÛñññâ´°°0¼ð HMM…R©¬w¼¶mW/£T*UW+..ÆÁƒkµ—‘‘ .ÀËË K–,Q»ÞÇÛ\ºt)üýý‘••…àà`,^¼¸¾·…ˆˆˆ¨ÅÕy¯Ò€€q†Ñ£Gcûöíxúé§qéÒ%,X°gΜôèÑW¯^…¹¹9€G=XJ¥RíøÇij»æ2?ÎÊÊBçÎU¦Õœ§°°ÄíÛ·k­»®ùmmmQRR"ÎcllŒÜÜ\nîJDDD¤ß«´}õƒºB[JJ ®\¹•FRRRàèèˆvíÚ¡ªªªÖJÔ¼ MmkRÚÔ©¬¬„±±±ø¼ªª FFF(//¯s~™L†ŒŒ XYYÕšVóý """jIÕHÕáMü©ôñÐ<:q **JüÉR©T"**J<‘`ôèÑØ²e Š‹‹±bÅ q9uãÒ¶\.{Áj>ÖdõêÕ(..Fdd$œ8räòóó&Î[³M777„‡‡£´´çÎCPPP½ë""""jnHOOŸk<ÆíôéÓ˜0a‚ʸ &àôéÓP*•ظq#¾ùæ 0vvvâ<êÆWS*•õ¶½yóføûû€ÊcMzö쉡C‡")) 7n¬Y³¡¡¡prr‚···8oÍ67mÚ„«W¯ÂÞÞ .¬Õ HDDDdÄcÜbccù³ ‘©™Ñxç""""‰`p#"""’7""""‰`p#"""’7""""‰`p#"""’7""""‰h_ÿ,m[õ­Àˆˆˆè‘öí›/>( (Šfk_êÜ4¨mßለ¨­êׯµÆÛõ¥IDAT"##Ò,íGFFÛ nT‡¶~ýúé»""¢6ÁÇÇ nj0¸‘Nªªªô]B›ÃàFDDD:apky nDDD¤“ÊÊJ}—Ðæ4ùå@är9Nœ8¡ò¼­’Édú.ˆˆ¨ÙTUU5ù@š5ËuÜÖ­[Aš£i"""2‚ 4ù@š5Kp+))Á¡C‡TÆùúúB.—ÃÊÊ …‡ð¨GnÍš5èÛ·/öìÙƒ  ÿþHHHäääÀ××666pwwGff¦Øæ /¼Ðå«%“Éðᇢ{÷îèׯ***·nÝ‚››LLL0räHdddˆ½m5ÿ­kY777Èd2¡OŸ>8pà€8ÿo¼.]º &&Ó§O‡µµ5<¨vDDD-IS333S;0¸é®Y‚Ûòå˱~ýz1œÀ知R‰¼¼<ì޽˖-§õíÛDHH\\\×_°téRøûû#++ ÁÁÁX¼x±¸Ü_|ÑåktãÆ ddd`ãÆXµj (((((À’%K0wî\q竹ÖµlRRA@ee%>ýôS•ëâôë׉‰‰˜5kÜÝÝ‘€ùóç«]'QKÒÀŠŠŠê\¦¨¨ˆÁ­dJ¥R€ØØX4ºA¹\Ž{÷îÁÍÍ sæÌÁ¢E‹ T*‘‘‘uëÖ!==wîÜAii)”J%är9”J%A€••U­Ç¶¶¶())Û766Fnnn£ëÔFll¬ÊuÜd2™¸SUUU¡]»vâ·Šââb•ËËËUæW·ì?þˆU«VáüùóÈÍÍEII AçFFFµ«['Qs«¾¯ºpV“¹¹¹ø¸°°°Þùóòò€iÓ¦5ªÆÖ¤fFk–7™L†+VàÝwßÇM›6 #FŒÀÑ£Gqýúõ:—Q÷8##J¥J¥²ÅB[}ŒŒþxëd2îÞ½+†«úTÍe'Mš„¿üå/øî»ïpÿþýZójz_²N""¢¦¦Í1k€‚‚ãÖší&ócÇŽE¯^½Äç¹¹¹ðôôD‡°víZÐj¹¹¹!<<¥¥¥8wî‚‚‚š«dyxx`ݺu())Á™3gÄTlee¥Ò+V—Û·ocܸq011Áo¼@»÷EÝ:‰ˆˆZж'äççóä„&ÒlÁ V®\)>^¿~=<==áîîŽAƒÁÚÚ·oß®·M›6áêÕ«°··ÇÂ… áââ"Nóòòj–ºjÛ¶m¸rå ,--1cÆ ¸»»vìØQï}N7oÞ GGGŒ9C† A×®]‘­ó:‰ˆˆZ Ï*myM~Œ[kòø1nDDDôÇ1nuâÓXùùù<Æí153ïœ@DDD:aYËcp#"""Ô¼ìµ 7"""ÒÉÇõ]B›ÃàFDDD:a[ËkÖ³J¥ÎÁÁA¼5ýáúõëÍr“ù„„( }¿<ƒÅ7 z®„ˆˆÈp´oß^¼§xSS( n0¸ÕÃÁÁA pDDDDúÄŸJ‰ˆˆˆ$‚ÁˆˆˆH"܈ˆˆˆ$‚ÁˆˆˆH"܈ˆˆˆ$‚ÁˆˆˆH"܈ˆˆˆ$‚×q«Gzz:ÒÓÓõ]Q›Àë§jÆà¦Auh›Šë×addYz ¶˜dë×B6ƒµõõ¸Ý,½ ¯Þ^(ÊPý¿ôÜtÉôÔ1¸Q«!‚ÆéUBTÿÜde¨ª¬¬w9CѤg•2eee*ãÊÊÊ0dÈ(•JµËÉåò¦,ƒˆˆˆ¨NB•€â‡P\ñûðð*+µëm»páÌÌÌpáÂó™™™5h|C4ipsrrÂáÇUÆ:tNNN gDDDÔìAÐ8TUV¡øañCE1ª*«ê]Nìܹ£FÂÎ;5Χ®ŽºÆ7T“·ÀÀ@ÄÄĨŒ‹‰‰A`` À××r¹VVVP(µBÞãá®úyNN|}}accwwwdffŠó¼ð Mùˆˆˆ¨•x÷‡8½×÷ îÚ¿›Ní:¡äaÉïC1ŠË‹ñmAܾs‚Ûi'¸žu‚Ë9'¬J_¡ÒVQQ¾üòKìÙ³ÇGQQ‘8íÚµkxî¹çЧOlݺµÞñѤÁÍÑÑ………¸rå àòåË(**‚££#àóÏ?‡R©D^^vïÞeË–iÕîÒ¥Káïשּׁ,cñâÅâ´/¾ø¢)_IXÍÞ¬ÎÆ1 Ë BAA8|ôÑGصkA€““ÂÃÃñàÁ,_¾\¬CÝxƒú©xt’BjjªxRBµõë×ÃÓÓîîî4h¬­­qûömqúš5k '''x{{‹ã7mÚ„«W¯ÂÞÞ .„‹‹‹8ÍËË«9^IPÍPäßþj剱Ö/`\7_Œëæ‹Á¦Cþ˜ù÷ð6¨t0ÆË&`BåDL,›€I¿MÄ´nÓÅvN:… &¨´=aœ:u ÷îÝÃ;#¯¿þO<ñz÷î-Ö¡n|c‚›L©T «r<=zO&Ož [[[}—BDDÔfDDD48“ÄÅÅ!$$ç[õí›Ø{;б}GX™Zé‹ þá´^×rE©T"!!Ó¦MS;OÍŒÆ;'Q«Qo/VÕ£é–&–°3ï‹î»£“ÌLãr–––›¼ÿ~ƒëÔƒµ)Œ: wg;ô3ï»Î} +–iœ¿%ƒY}܈ˆˆ¨ÕÐæ¸1KSKXÿ©+zv²E?‹'ûðWÉÜ«”ÁˆˆˆZúØh[gܸz-ð°¨wªî «qW7"""¢–VQQ¡qú˜>îÓǽÁË 7"""j5>|¨ïšƒµRé9ÓƒIžB¡@dd$|||ô]Jƒ$$$@¡Ph=?ƒI^uøIHHÐs% £P(܈ˆˆ¨íih’¢f¹W)5=7""""‰`p#"""’7""""‰`p#"""’7""""‰`p#"""’7""""‰`p#"""’7 °ÿ~}—ADDÔfDDDÀÁÁAße,ÞòJƒê'""BÏ•µ  n0¸Õƒ; þTJDDD$ nDDDDÁàFDDD$ nDDDDÁàFDDD$<«´/^ÄÅ‹õ]Q› P( P(ô]†ÁbpÓ :´…„„è»""¢6!22ÞÔàO¥0´µ,þÒ¥{Ü´PUU¥ïˆˆˆˆÜ´ÁàFDDT¿mÛ¶!$$ú.¥ÕbpÓBee¥¾K ""’ ~n6­‚[nn.µnÔÓÓÝ»w×¹(CÃ7"""íñs³ùhÜ1|øp­MLLÄ´iÓt.ÊЂ ïˆˆˆ$ƒŸ›ÍGë³Je2™ÚáâÅ‹7n<<< “É4¶3dÈ”••©Œ+++Ã!C T*1nÜ8ËWO—ËåuNW7¾9|ûí·1b,--áë달¬,€™™Y‹¬ßÌÌ ÇWyÞvî܉>}ú o߾ؽ{w­éJ¥O>ùdÛùÉ'Ÿ„R©TÛvK½""")Òú7#£º3Þ¥K— ™L†Ó§O×ÛŽ““>ŒÉ“'‹ã:'''Èår;vLãòõMoê¾9Ìš5 «V­ÂäÉ“‘››‹¸¸8¼ùæ›—ijkÖ¬ÁرcÅÀÜë]¾|9¾üòK˜˜˜`̘1˜1c†ÊtKKK8;;ã³Ï>ÃË/¿,ŽÿôÓOáìì KKKuò›‘´ñïxóѺÇÍÈÈ?üðΟ?###á§Ÿ~Bpp0*++±}ûvq¼&ˆ‰‰QƒÀÀ@ô˜íß¿ÇG·nÝàè舨L€]»vaàÀpuuŵk×TÚÌÉɯ¯/lllàîîŽÌÌLm_j-‚ Ô9TVVâ©§ž‚©©)úôéƒåË—‹;ëG}{{{ 2>„ ¸qãÜÝÝ!—ËáîîŽ7nàÞ½{^^^èÔ©:wîŒÁƒã³Ï>ƒ èÔ©V­Z…ž={â?ÿùæÌ™;;;9r‚ àÖ­[ðòò‚\.‡‹‹ ~þùç:_÷àÁƒQUU…}ûöÁÁÁ¡ÎyfÏž;wªŒÛ¹s'fÏž­±Æê×ЩS'•e«Ÿk[#8phùAÝçf§NÔêÚ º5(¸-X°ÁÁÁ˜5kŒŒŒƒ²²2ôïßC‡Õ*¸9::¢°°W®\\¾|EEEpttT™/,, [·nEvv66lØ€“'OÖj+##.\€——–,Y¢2méÒ¥ð÷÷GVV‚ƒƒ±xñbm_ªÖ¢¢¢0cÆ ,X° Vp¼yó&~øá¬]»ÿøÇ?¡¡¡pssCvv6ÜÜÜðú믋äàÁƒ€½{÷¢cÇŽˆ|öÙgpuuUûðŠ+ðÏþSåÔë/¾øEEE(((@\\œÊ{coo#GŽ`áÂ…pssÃ'Ÿ|‚×^{ ðúë¯cÚ´iÈÎÎÆk¯½†ààà:×9~üxŒ3¹¹¹Ø·o_óŒ5 ………¸|ù2àÿûŠŠŠ0jÔ¨zkÔDÛ‰ˆÈp5h<©× àæéé øïÿ‹üãHJJð¨w¬:´ÕÜ ÑÑÑ€èèhÔšgíÚµ˜9s&-Z„þýû#**ªÖ<7n„™™‚‚‚œœ¬2-)) AAAèÑ£fÏžÔÔTm_j-ê¾Yxzzâûï¿ÇСC1iÒ$ìÝ»Wü¶°fÍtêÔ &L@xx8AÀwß}‡àà`˜˜˜ 88ß}÷AÀ¼yóðÑGAÄÅÅáÃ?D\\AÀG}„yóæ©ýf3iÒ$tìØqqqb­W¯^ÅôéÓñôÓOÃËË wîÜçÀ°aÃþþþ>|8òòò ¾ùæ,X°]»vE@@Î;WkÛ¶mÉ'°aôk×7oÞÄ /¼Pg}³fÍ{Ývî܉Y³f‰Ó4ÕXóßš¯UÛ9pàÀƒ~MŸ›………*Ÿ­………Û º5(¸½ûî»xê©§‡† °±±Q mÚ·)S¦ !!wïÞÅÑ£G1eÊ”Zó"-- ... ƒ^]*++all¬2N&“!##J¥J¥¹¹¹Ú¾ÔZ4í¤&&&˜?>¾üòK,Y²DÜ骧?~ìYee%AÿAü¹1** ]ºtÌÍÍ™L†¡C‡jܹW®\‰7Šë©dÇO˜¨YWÍ×Uó±L&õk×PPP€‚‚1ÐÕÞ~ûmÄÅÅaÁ‚>|8^yåÕYß”)SðùçŸ#77 ˜2eŠ8M›«ß£ê“´­‘8èg¨ïs³  PPPPoT·7###ÄÇÇÃÄÄDÿÞ{ï58¸™››ÃÓÓÓ§O‡§§'ÌÍÍkÍ3þ|$''ÃÏÏ+V¬ÀêÕ«kͳzõj#22ÎÎÎ*ÓÜÜÜŽÒÒRœ;wAAAÚ¾T­­^½×®]3³´´Ô8¿³³36oÞŒÒÒRlÞ¼...â´¹sçâÍ7ßÄÔ©SS§NÅ›o¾‰¹sçÖ[ÇóÏ?Þ½{‹ÏýõWŒ;:tß7mþc3f Þÿ}””” %% .¬5 ¾úê+£C‡(//¯sû¶óرc1mÚ4Œ;Ve¾új´°°ÀáÇ‘ŸŸÐÐÐÕHDD†«:¼‘ntºHdd$ÀÄĵ.¢ÀÀ@¤¦¦Š'%<ÎÃÃ+W®„æÍ›‡ðððZóôìÙC‡ERR’ØãTmÓ¦M¸zõ*ìíí±páB•ÔPê¾L›6 ÁÁÁ°³³C\\vìØ!†Ç¿=‚€÷ßgΜA¯^½pöìY¼÷Þ{â<'ND÷îÝáççAðâ‹/¢{÷î˜0a‚Æo%ÕW­Z%>߸q#ÜÝÝáææ†AƒÁÚÚ999*ó×õ¸ú=ëÓ§æÏŸ—Zëüàƒ°víZØÛÛ#)) 'OžDDD„ÚqîÜ9ªŒ¯¯Æµk×bÑ¢E5j|||T#8pÐÏPßçfCÚ ºÉ”J¥±±±ukqqqpwwW·|ùrtëÖM¥7¤ÚÉ“'[Åxãââ‚üü|}—bÐJKKajjªï2ˆˆHÏþóŸÿ4úsóþýûHHHh9¢©ÔÌh:_ÇíwÞiÒ¢HºÚˆˆˆZ†VÁÍÓÓ³Á÷*mMØuKDD¤=~n6­‚[÷îÝÛt—%w@"""íñs³ùhýSi[Vóâ¶DDD¤?7›ƒ›>|¨ïˆˆˆ žŸŸ²³³õ]F«Æà¦~s """CÀà¦B¡@dd¤x1"""j^ P(ú.Ã`1¸iP½ã$$$è¹""¢¶A¡P0¸iÀàVî@DDDd(´¾å郑DˆÁÍÁÁ±±±z,…ˆˆˆˆjŠ…ƒƒƒø\¼É<¤§§#==]/…‘*õÁˆˆˆˆ q#"""’7""""‰`p#"""’ñ¼<£”ˆˆˆÈ0àÉ DDDD’ÁŸJ‰ˆˆˆ$‚ÁˆˆˆH"܈ˆˆˆ$‚ÁˆˆˆH"Ú×? ‘z/^ÄÅ‹õ]†ä) ( ó0¸‘ΪC[HHˆ¾K‘¼ÈÈHÐÞøS)錡­éøøøÔÛsÉ7"""j´ªª*}—Ð&0¸Q£1¸µ 7"""j´ÊÊÊfi·°ð7\¿~ß|“‚üüB`aÑ ýë(ØÛ÷†…EçfY¯¡bp#""¢FkŽ·³g/àÃ÷àÞ½ß0xð°°è ™ È+#afÖAAÓàä4²É×m¨܈ˆˆ¨Ñ¡io}¾oß1lÛqã<ðüó®xúé~03ë™ (/¯Â?ÞÀÑ£_cÕª­˜={"¦Nؤë7T<«”ˆˆˆ Jrr¶lù&Ožˆ_|]º˜!3ó.^ÌÄ?dâòåëh×Î~~ÏcîÜéø×¿öáôéóu¶µuëVØÚÚbذa8þÑü0ŽŽÏâ™g£  }ûvƒ TáÆ\ܺu×®eÃÒÒ ]ºtÄSO= Ÿç±uë¿ñÛoTÚ:xð vïÞo¿ý‰‰‰øì³ÏÄžÁ¦ª·)m0¸‘Áøùç,ܼ™‡þýû!//OÂÔÔƒõ‰‰ nß΃ƒCôìi…îÝ-ñóÏY(/¯@VÖ¯øé§ë*m}ðÁx÷ÝwñÄOÀÊÊ ëÖ­S™~óæM¸»»C.—ÃÝÝ7oÞÄÇÇã™gžA—.]0|øpìÛ· ///Èår¸¸¸ 33³eÞ”܈ˆˆ¨Ñšª×é»ïR!—[¢¢¢ׯßÄáçQRRSSc8;?±cŸE¿~=áá{°{÷'HIù‚ ))E¥­K—.áÙgŸ­³gK,^¼nnnÈÎΆ››BCC!-Z„¨¨(ܹsï¼ó!BCC1mÚ4dggãµ×^CPPP‹÷¸ñä"""2EE “Ép÷nÊÊÊqãF6òòî!0p<:w6…]7ðÞ{»ñé§ÇalÜíÛÃÔôO(,ü­V{2™LíºN:…]»vÁÔÔ!!!0``ݺu˜:u*ÆŽ‹+V`ÇŽ€¤¤$;v ,7Ã; {܈ˆˆ¨Ñš²×©¸¸·nÝÆ¯¿ÞÁíÛ¿âÿËÄ;÷Äuýö[)nßÎCUU%Úµk™ ¨ªªÝÖ3Ï<ƒï¿ÿ^m› ¨¬¬TùWÌš5 —.]‚««+^{í5ìØ±C\îúõë(,,Daa!îÝ»Çc܈ˆˆHzš*¼têÔáÞ½{¸sç.:u2ÃâÅSñĶ ¨¨;›bÍš 8;;¢¼¼íÚµCYY :wî¨ÒVXXÞxã ܸqwîÜÁ›o¾©Üœ’’DDDÀÅÅ‚ `Μ98sæ üüü°jÕ*¼õÖ[cÆŒÁ{gââb$''cÁ‚ nDDDÔv9;@YY)***`aaŽõëC1x° <ü?X³fòóK`nnŠuë‚áàð >|ˆ²²¸¹9ª´ååå…¹sçÂÅž¾¾x饗T¦oÚ´ gΜA¯^½pöìY¼ÿþûOOO¬X±¶¶¶˜={66oÞüûúÃqõêUôéÓóçχ««k ¼#ªxŒ5š¶=Fõéׯ7 °ÃÝ»`bb‚ü}útÅöíŸáĉ3¨¬¬Ä–-qX¶l&®]ËAIÉ£7`€žx¢o­:¦NŠ©S§ªÔ™ŸŸAлwo$&&Öz/½ôR­'ºwïŽO?ý´Y^·¶܈ˆˆÈ`˜™uÄœ9“ñÆá°¶¶Æ‘#IHM½„ŒŒ_Э›5d2®\ÉÄûïÿwïæ£  Jå¯xóÍåèÔ©£ØN—.]Ô®#??¿%^J³`p#""¢FkÊž§Q£þŒW_};v| A¨B»v2ôêeƒ‡+ “íÛwÀ;Jܸq¿ü’‰épr©RÃýû÷[¤Ö–ÆàFDDDgÊôêÕ;wÆãüùTX[w…µuWTU ÈË»ƒ;wracÓëÖ…ÂÙùY}—Ûb܈ˆˆ¨Ñš£ë¹çþŒ§Ÿ€ë×oâ»ïRñÛoÅ„*ôë7®®3Я_o˜›w–tZC1¸Q£5WxêÜÙ Å (ƒZt½†ŠÁˆˆˆ­¢¢Bß%´ nDDDÔh>Ôw mƒ5{ÜZƒéL¡P 22>>>ú.Eò P(4Î#S*•më¨>"""jR/^ÄÅ‹õ]†ä) 7"""¢Ö‚7™'"""’7""""‰`p#"""’7""""‰`p#"""’7""""‰ø9â6FI;nIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/warmup_select.png0000644000175000017500000000155013634703632020015 00000000000000‰PNG  IHDRº ggAMA± üasRGB®Îé cHRMz&€„ú€èu0ê`:˜pœºQ<\PLTEÜÚÕ‚…„ÅÄÀ^cd`eeÉÈÄhmmר×`efÎÌÉòòðÌÎÍbfgÑÏËññïçèäÄÅÃdhiÕÓÎåæâáãݺ¼ºhkk×ÕÐÞàÚÛÞØ®±®lpoÚØÓhll×ÚÓÖÙÒ£§¤rutÚØÔÐÓËÑÔÍ™™x{yÉÍÄÌÐÇ’•’€‚ÒÕÎÓ×ÏÑÕÍÚÝÖˆŠ‰Š‰gllâäÞäæáÝßÚ„‚fkjekifjix|{êêç·¹·…Šˆourºº¶ôôò¢¥£qtuiml×ÙÕº¾¶chhgkl‰Œ‹‡‰‡ÛÙÔ—˜—«¯¬ÌÐÈ€…€¨¨¥eii¡¡ z~}ÕØÑ½Â·^cbÙ×ÒÚÜÖÂǼ‘–{~|ÁþÃȽÁÆ»]bbÓÑÍÔÒÍÑÏÊŸ ŠŽŒ•š”cge}€~ØÖÑÇÅÁÀ¾¹·µ±°®ª§¥¢]ba‚ƒ‚²°­¿½¹¬ª¦ÐÎÉÌËÆÿÿÿœåübKGDsA =Î oFFsd;yÏé pHYsHHFÉk> vpAg˜Ò›fÐIDAT(Ïc` %`dÂ-ÇÌŠSŽƒ§7/.9>~A!\rÂ"¢bâ¸ä$$¥¤e°ÉÉåää•pÉ)«¨ªá”S×ÐÔÂ!§­£«§o€!gÈ'ldlbjfna‰EÎÊÚFÎÖ›; íœ]\±É¹¹{xzyûøúa‘ó```  Ũ#%8MÀM$*ß¶ÎN‡ ("%H‰  J)"ÅR"]Š1Ò ÉÌÍîÌì¾3ó<ÅÉþ¿ÝÙÙ™}ÿùöýgwVkk›?üúÛk³2›ç8G·æ=¯ZxèOOþymí½ï½ù1{ ›K×;U\ù[{}éS€9X­­Ýþý¹Gu ó‡ÍÃG€p†SBxœ6cr“ˆzn†Ï"¦„ÔzÆŒT‡Õäðzn|3¼Íáõ<ÕïáÖˆiÏ£ÁbÚjóÅÃòå¿V›/~÷Ê}^,Ô <@+¬>{øÓÏ^ºPx€.@ê]€Ôº©tRè¤ÐH  †”ï|ç®í;ßq?ïù·ú˜6±·©½­Ô®ÚÖWÎÄQÝW‰žé­Mòž¯)-\fÌ6mPâ“FuCíß%·I{-¦sF:5Q;£¤‰±ñÉRÌ–î7™»åØr|isÞFÌUC_=SÚ¤t‚ëÛû¹Z#¾Îîöuµm’-sÚ1©È´m¦}2ö¸%Ú$áó'Ñv è$áÓ®ÛÛ6ƒï«ûMóìn™>NNkÄm¿¯{cÛÄWB‰\&þ[ZÊ6åê\cÛf¸WŸsz1ÉLí÷lc“·ðEiZËzãuõKÌÍT-m;QêcGª¼?”çÓÉ•„S²øó §|y{aÚ^v\ÙLÛ&pë…Ï]¹m3O¡q·Ì”m–¢tR§P_ùc¥Ó×Órå¶åÕÿ‡y~¯™&ÆBí"70ªt£:@ u€.@ê]€Ôº©tÄÄX‡ZEBꆃƒƒƒƒƒÕjµZ­ˆÍ½þÅÿ{ý 7úÒ=¿Úxéžsÿòæ¹ÛŽJü®Î¨Þ*o}~ý?o}¾ÔÑOܱuäÄ 5Q€{u€.òލys„¥¾‰íÑÀW«i#†[ríã^¸­@Fu€.–z¶Ö%l®Ü¼þ¯o^¿øæïrñM7zæÉÿî̓Ӣ¦dŸÉQÎòiÏ. ·Uxßpÿ†û¨·v^Ì–KI€ïËâÑ“?øèÉ”ºÅ°ýú³7¶_·?‰Iàc¶t·Ÿ¶WÞ£¤Ü€¸Ä·•ËÎÓ¯ßyzìÝþŠ©¶œÐmu:ínvì^¥ë“—i"·÷õ ÞW²ûyüWFp¯>‘£Äü#ÏüGLy¸œ±%çªI-45ª»ßÓåº3ÆKwÈi#jxß”’Õ˜Öƒår„–’ºkê\Û»úþµ=_Ôfkó‘Û¶6Í¿ÍEo`ºpëØ#ÃÖ1ß¾û»W†ý]…9^¶\—š[–×–sÏèÄÞÖû'örÕùÚÞÕ#×ö|Qs ˜:›+ÁýR0–íš5k-%*mËÅàÚW>Û)׸7­´±6[Êã·OOà5³‰±v £z5Ø"7Ÿ¤H«\ çÙWá|AFl9ß8æ~ä=âÒçÝoýa,ÕKÝ7‚ù’ù91Gÿõí5ö(ñ%ô r_÷æºÛ%ð®¹bO¡‰™ñf ÛüÛtíþå+ïî_ŽŸ‰•Ë Ûf_û[„éÇõµóœ³åì32ûnlÝ~ÿÆ–»¯é_7jzÐ×ûæÛ7ÓÎô£©Õc§žxè±S¾ãÎßVØr_!ïl9ÛÏ·Ë;[®%JÛrnùyÇU»ïÜ’í÷]K=r†êø\‘ÛŸ÷#lrIË-glÉýˆÜ =ªÛc´ÑÀ7’»Ÿ§ü„6ög0÷ózgk3¾ºÕ v çKçÒ/ˆ±%ôœSÑÆH7~Kð!$uצ²1Ö‹Ýåö__Ô.9V+cØŸ¸–žoßó¬®èض² ÷ïRµj)ZM?p ç‹Î9Òæ}¤t~Rø9ëVW«–@hT€rý®Þ'¾~K× ZCZêy/úpi ÚF(O±ÇˆêGk4 [ŠvdË…Q{® °åtÕKÀ¯ÜK´Ô¾WÏEüe3û­ôjËB@t!õùI‘«ûu“òFº¥[TJàÓçZ™9Õîß9Mw¶œOr)Ç­Ñ«¥[VlËåzX¢ÕûsýQÇ]æDhT'ýeÀæß­Š\Ÿ\=ñTv¯ž«›Ã÷Ò óºcÞŠ3)Hm4Ë»äϺÅS™ÔÃÄ,à{R}ÚÇÊi¬€ÓóMÁû˜sÑŽÞJàcb5—Žy˜ï5ÓLû½e>AÚ%»?Äš×–³¾¬ñ66j÷ 1í°å ÕØr¾o÷i&ýjŠi+±†—UŠ©ƒoû¼f’Ž5•ÞƒcKÐ9w„FõrøD^úX.Ë.Àˆ Ù3K}ž‹{Ú êáÒÊ}) ø>©^êñ¶Méñ<¯àíâÿÆ×M‡Òk­‚AHê®}bÏ— ¿šß5uâßñfÏÓŠ©U8ê.ÛàdÊ›çÂfaü¾îY«ÙráÞyó¶œAÚ–K‡c^÷ïb.±¶œÏ>ô½Þ=GÛXš¶‚jØðóÕ*Ü2%~µ.·äƒ ¶œMS¿«ÏI̯ñ_1¾ !>SÍ·ò¬½Mº¨JLSñ­s>­œ\µê¡>1ci.òŽQáÒJx1meßFå:Ó¡"òi4>ª—³âÆ&êÓj#求÷­o3?á×|[Â4„Fõ°}¶åÊEõÚß½òÞþîØ}Ì|û)–{ˆ5¥5ÂÖZºiÇ’å¢ ÚrÓ 9CŒ-?*ºG÷MΩUx›± vJ+Å×jY°ål„Fõz1RÉ%ì±0%b¾WŸv?i{ÑcK¸¶wõÈø#𣨂·ëŽ~1G±Ëômc‹[.fËÒ ð4Ó+¾ÝRòÍuŽ,ù0'B£z ꘓ(´ K>ÌOƒRŸçî·Äàì<ÒËÉÕV¹jeÈ»äCz9ý0¤ÿ¦­ƒ}9N›âš~ÜÒIiíµ{D$ ¡QݶOÜÇS® ϳŸt£c-»Îá3ó7¦V&u·×‡³V,ù°l4ƒ-—Žk˹ÛL[0 Æ<ÓŸõ•‹em*–|X¡Q½4 vÔRð +4.u¾Ë]h“>©^ê1¶º÷6¶ë'±,ù0BR/±«oÁ#øô÷–)GcÖ‡3Ê’ËF«±å éßîy×W×$f½×¥`ɇ¥ÕcHwË]¾%ËJYä†\¿wôó»I.*“º!}Á€Ë',‹¾ÈmXòa~*Kà}¤,P—HÚ«¿¡Ä’$ð6B£zŠ}’²`ÀÖæ#·mmÚŸØ—ˆš¹bG}"W®³/Ê’¥£Œê¹ð¥ñ:c‚~ u`T·á-4_!¼ò©»Í< oH©{ñ½y¶ô½ñ´õÕ õCðó6¥Ý{„ é4bËÍu_É\îÝrÆ,ô‰\¡5j‰ê_WóD±å Y°ål„Fu(Rè¤ÐBROŸ-WbÁ¢óDYò¡t´b[®–· ‚–|˜¡Q= ¨zp~*“: Ô=¸MÍ–cÁ€Ú¡Ë!4ª—x·\ú‚DsEYòaÙh5¶Üü @^XòaY„Fu(Rè‚ê¥Î‚µC΃Ôç\òÁÐö’jQ–|X6ºZËDн7ç’6róÃ’K1ÿàGÏð\J7øÃ+\˜§º¦kÓ/D¾ôàR%ðñ°`@íЃóSñl9»ËK,¥¡çDhT_jÉ¢ Q–|(]åºWŸÇ–ˆ[ÎFhT€r u€.³åj_ü@¡Q½Üò D‰ú¢jæY¹¨-‡qP¡QÊÔº©tÔÕl ¢D[Š =ÄŠ-PŽAá5’P¡ÊÔº@Hêj6Q¢-E±åº`8ú[¿¹{#¥ˆ³—þö³On.}"B(€r u€.’ºšA”hKÑU®{ul9e†í7þúÓÿm´óÔ·{ÏÑ¥+9¹•À#o€¶Y·EŽàZ[Ž(Ñ.¢Ør]°nl9ל€–¸?è¡{u(‡ÔÕl ¢D[Šò+@ðn9€.Jà H  „¤®fc%ÚR[  †Íðüé”"þù‹«ïŸ½´ô‰@¡ÊÔº@Hêj6Q¢-EW¹îձ唾8wå½í7쎽ôÄC;O-]1ÈÉ­y´Íº-rÐ*ØrD‰vÅ–è‚uc˹æ´ÄÀý9@Ý«@9„¤®fc%ÚR”‡Xº€wËtPå@ê] $u5ƒ(Ñ–¢Ør]0|ðÜߦñÀ…wîZú4 ŒPå@ê]pKê÷ïÜøÆÁù»TUÔl ¢D[Š®Ì½º-ò·ÿ}5®3÷êØrÊ îHî~2Vü Æ`dœ2ª€>Ør] $u5ƒ(Ñ–¢‡ØræópJ- Ï­QÝ•wŒÈ û? U„îÕ BRW³1ˆm)ÊC¬]À»åº@(€r u€.’ºšA”hKQl9€.N¾öò½'_K)bï™>Ú{fé€B <”©tÔÕl ¢D[Š®rÝ«cË(³¾{æù¿ìž1—® ”býÔÅWî;uÑüÁ´ŠÐ½:”CHêj6Q¢-EoÙrvên§ô1`Ë賞"r¨…yô€Ð½:”CHêj6Q¢-Eyˆ  x·@%ðP¤ÐBRW³1ˆm)Š-ÐÃùÓϾö¼úÙK¯þ€wËh#”À@9:@I]ÍÆ J´¥è*×½:¶€2ëÛo\8¾{Æü]º2PŠõ§ž»ñåC¬ U„îÕ BRW³1ˆm)zË–³Sw;¥[@Ÿõ‘@- È „îÕ BRW³1ˆm)ÊC¬]À»åº@(€r u€.’ºšA”hKQl9€.ÖÖ~ýµó§Ó ùù?Î^ZúD „På@ê] $u5ƒ(Ñ–¢«\÷êØrÊêP¤ÐH  „¤®fc%ÚR[  „Fu(Rè¤ÐBRW³1ˆm)ÊC¬]À»åº@(€r u€.’ºšA”hKQl9€.îÞxùÞ»7RŠøäæ }rsé€ÿ’g•£ø†®BtEXtsoftwareImageMagick 6.0.6 11/29/04 Q16 http://www.imagemagick.orgÝ<Ž‘tEXtdocumenttmp.tiffý òüIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/gschem_screenshot_001.jpg0000644000175000017500000011000213634703632021213 00000000000000ÿØÿàJFIFHHÿáExifMM*ÿÛC  !"$"$ÿÛCÿÀV·"ÿÄ ÿÄ] !1QTV’”Ó"8A9Sastu“•³µÑÒÔ#2±3Bq²$7´456Rr‘%'Wbc–¡Á&DEd„£¤¢ÿÄÿÄ11Q!"2Aaq¡±#BRSb‘’ÁÑÿÚ ?Ä ÕÎ>‹Å¥zWO=[gðZF¾Ñº;–gvS˜ÝäØ]¤\Üyÿ³zªêsó¨ñPö[@Gÿ?ùÇ­º¦p·)]µu)¢×‹¹)¢®¤ÌåkKJ#ÑU>hâ:# isª¹äß´Uos\õJëçñÉkí¹ueTG²ª›ï˜°5Ï9Ztª¦¸¾,zùtæÑT¨Þç:¹ê•×Ïâ'¹Î®º¥GõóøŠ³sÎR眭q§†µò£{œêëªT_?ˆžç:ºê•×Ïâ*ÍÏ9Kžr˜ÓÁ«_2£{œêëªT_?ˆžç:ºê•×Ïâ*ÍÏ9Kžr˜ÓÁ«_2£{œêçªT_?ˆžç:¹ê•×Ïâ*ÍÏ9Kžr˜ÑÁ«_2£{œêçªT_?ˆžç:ºê•×Ïâ*ÍÏ9Kžr˜ÓÁ«_2£{œêçªT_?ˆžç:ºê•×Ïâ*ÍÏ9Kžr˜ÓÁ«_2£{œêëªT_?ˆžç:¹ê•×Ïâ*ÍÏ9Kžr˜ÑÁ«_2£{œêçªT_?ˆžç:¹ê•×Ïâ*ÍÏ9Kžr˜ÑÁ«_2£{œêëªT_?ˆžç:ºê•×Ïâ*ÍÏ9Kžr˜ÓÁ«_*7¹Î®º¥Gõóø‰îs«®©Qý|þ"¬Üó”¹ç)<µò£{œêëªT_?ˆžç:ºê•×Ïâ*ÍÏ9Kžr˜ÓÁ«_2£{œêëªT_?ˆžç:ºê•×Ïâ*ÍÏ9Kžr˜ÓÁ«_2£{œêëªT_?ˆžç:ºê•×Ïâ*ÍÏ9Kžr˜ÓÁ«_2£{œêëªT_?ˆžç:ºê•×Ïâ*ÍÏ9Kžr˜ÓÁ«_2£{œêëªT_?ˆžç:¹ê•×Ïâ*ÍÏ9Kžr˜ÑÁ«_2£{œêëªT_?ˆžç:ºê•×Ïâ*ÍÏ9Kžr˜ÓÁ«_*7¹Î®º¥Gõóø‰îs«®©Qý|þ"¬Üó•ÛÁè߉bÔxs$ }Tì…®<.pmÿú¥¨ÂÇR¹üÊÛ÷9Õ×T¨þ¾=ÎuuÕ*?¯ŸÄWæ7G€ÓàÚaWC.£x…=yåfJ‡¾}“ÞmÀ óïÜÒì’Š••Z=¸¶ÇÆÊŒN:øžØÜæÿ+à ˆæ°‰YÅ}9ü4˜êÇçú¬?s]uJëçñÜçW]R£úùüExiÔX^Žc5:5OE‹Wb”Œ€ÔUí˜Êp絯!¬Ê\àî\Ã~ë+§Y8Uf’éÍ|uX“«ðÊì69¹8á"(ƒYýí×$Øo i™ôýz\z¾ýû݉½ÎuuÕ*?¯ŸÄOs]uJëçñÿ§XV£±â4þsk+°ú¨ ›§{êÄ‚Îs aÚG•Änvû®þ’a:„?KvH4fZFÊA„íöå 1»…ˆ/o¤wo;·µ:|õ¹þ¬cîs«®©Qý|þ"{œêëªT_?ˆ®Í0¤¤Ât¿Á¨ŸPè©› Øf#9l‘2A{n¸ÍoòTËžr´ˆ¢bñ ª¯©LÚeF÷9Õ×T¨þ¾=ÎuuÕ*?¯ŸÄU›žr—<å\iá5kåF÷9Õ×T¨þ¾=ÎuuÕ*?¯ŸÄU›žr—<å1§ƒV¾Tos]uJëçñÜçW]R£úùüEY¹ç)sÎSx5kåF÷9Õ×T¨þ¾=ÎuuÕ*?¯ŸÄU›žr—<å1§ƒV¾Tos]uJëçñÜçW]R£úùüEY¹ç)sÎSx5kåF÷9Õ×T¨þ¾=ÎuuÕ*?¯ŸÄU›žr—<å1§ƒV¾Tos]uJëçñÜçW]R£úùüEY¹ç)sÎSx5kåF÷9Õ×T¨þ¾=ÎuuÕ*?¯ŸÄU›žr—<å1§ƒV¾eF÷9Õ×T¨þ¾=ÎuuÕ*?¯ŸÄU›žr—<å1§ƒV¾Tos\õJëçñÜçW=R£úùüEY¹ç)sÎS85kæTos\õJëçñÜçW=R£úùüEY¹ç)sÎS85kæTos\õJëçñÜçW=R£úùüEY¹ç)sÎS85kæTos\õJëçñÜçW=R£úùüEY¹ç)sÎS85kæTos\õJëçñÜçW=R£úùüEY¹ç)sÎS85kæTos\õJëçñÜãW=R¢úùüEY¹ç)sÎS85kæTos\õJ‹ëçñÜãW=R¢úùüEY¹ç)sÎTÆŽ Zù•ÜãW=R¢úùüEz·ÐJ©%e‡aN¸6GO[SÌ@6K‰ÜA<ƒxµ÷Ú»sÎWcFcš¦¶z:fm**kÛLÌg:8€;¹HI¦Ž£©\þV÷¹f‰u7G¾Ò¬ý*sÝ^ålcC¨ K§u>AUQ”H˜úYÿ—-{^Ç“7¢²¦5¡úQƒa’âX–°¥‡.ÒN­wÁÄò¬HdÿÒQºü˜œÎÿüayµ‹=M}HÞÿÕL÷,Ñ.¦è÷ÚUŸ¥|ûšè,3Ç ^‡á-t¡Û# mKÁ-ˆ9‹lr‚G(ôO!°9« «Äé´kv¡~2É©ß$µ2anÙöò·)syšÖî;Õ‘§f(´î¢È£‡¬cÀZsHŠo²ÍUD^ÿÝeSêÓBªàeM.†à» Zš¾©-<„˜ ò÷±±¸Rj¿D#c¤~…àNkAqlxQqØ_üHY3RÑEWWGMUCAWB0¦ºµÕo läfiZïî¸n±ç{˜Tu¡EEƒŒšŒàóR¼ÒÖÆüÓU;v}©°!Í6mºänþV¾9ce½xåîÔ yh£Ž¥Æ4u’· «œÇÉ™¬.ô›’öpii-¼Ýݯã›W8Wþaÿô„YUý:ú5MTûVµo‹ÁE«½k1ÓTÁL^É|O9§â?ÊÀŽux·Xz@ÞM7ćÿÈgä²÷’ƒ‹|ô0´x,ÛÁÿ÷3,O5o “<Õ[=ùsf åö^&ÿéßçʱžâ#ÔÓ²Çm3yЬÕ,SM±1uUÙÅðlì„ógƒÂ§–§yÃÛ çº.›l-±ÙÅðLì„ÙÅðLì…|Ùá<*yjwžèºl=°ž{¢é°öÂÛœ_ÎÈMœ_ÎÈSÍžÁ§–§yÃÛ çº.›l-±ÙÅðLì…ÎÎ/ƒgd'›< <µ7Ït]6ØO=ÑtØ{am–Î/ƒgd.6q|;!<Ùá<*yjwžèºl=°ž{¢é°öÂÛœ_ÎÈMœ_ÎÈO6x_žZçº.›l'žèºl=°¶ËgÁ³²8¾ žlðx4òÔï=ÑtØ{a<÷EÓaí…¶;8¾ ¹ÙÅðlì„ógƒÁ§–¦ùÃÛ çº.›l-«tô ®Ž…ÒÓ ¹"t¬€¹»G1¥¡Î å-ÍòáÎÓÐ6º:KJÚ¹"tÌ€¹»G1¤87”´4È ‡8O6x<yj§žèºl=°ž{¢é°öÂÛœ_ÎÈMœ_ÎÈWÍž§–§yÃÛ çº.›l-±ÙÅðlì„ÙÅðlì…<Ùá|yjwžèºl=°¾àÇé!ž9™]\ÇÙ@ ƒ}ÇØ¶»gÁ3²;8¾ žlðxTòÖ½6Ö]F’`•+x555]D3UM5{f{ÄNÌÖµ­Š0ÒH¸æq°î é]~1ékt–>$ížJx ‚#šnÒ÷Fƹö;Æbwï[M]=ÕµÒÓRÒÀÃ$ÓL汑´o.sŽà9Slâ;ölßñâ;ˆò½Ïo3½MXÅ4ÏÄ)›I>“µôÍk‘ðÀç–´Ü7j[´ËqÉ›âPbºQY‰Œs…é#_çʈ'¯þ#k± ÆÝÍ@Êßå±6ÞNõµÛ8¾ ›8¾ ¯•éOþMTÆôº¿fÆ¿Háž“0’šÒ84‚¥É´#pårÒz¼Hc‚¯HÚÿ>TA=ðâ]‰6îh°­þ[mäï[a³‹àÙÙ œ_ÎÈO*?Òx¿òj}fŠìf¯Ä1ˆêjj²8ämƒÐ@šä¿:ãÏt]6Ø[c³‹àÙÙ Taí®ŽÓRй#t¬€¹»G1¥¡Î å 4È ‡8^£¼˜õó=”O¹–ªyÃÛ çº.›l-²ÙÅðlì…ÆÎ/ƒgd'›< <µ;Ït]6ØO=ÑtØ{amŽÎ/‚gd&Î/‚gd+æÏ áSËS¼÷EÓaí„óÝM‡¶Øìâø6vBlâø6vBžlð¾ <µ;Ït]6ØO=ÑtØ{amŽÎ/‚gd.vq|;!<Ùàði婾{¢é°öÂyÃÛ l¶q|;!q³‹à™Ù æÏ áSËS¼÷EÓaí„óÝM‡¶Øìâø6vBlâø6vBy³Âø4òÔï=ÑtØ{a<÷EÓaí…¶[8¾ ¸ÙÅðLì„ógƒÁ§–§yÃÛ çº.›l-±ÙÅðlì…ÎÎ/ƒgd'›< <µ7Ït]6ØO=ÑtØ{am–Î/ƒgd.6q|;!<Ùàðiå©Þ{¢é°öÂyÃÛ lvq|;!6q|;!_6xO žZçº.›l'žèºl=°¶ÇgÁ³²gÁ³²óg…ðiå©Þ{¢é°öÂyÃÛ lvq|;!s³‹àÙÙ æÏƒO-MóÝM‡¶Ït]6Ø[e³‹àÙÙ œ_ÎÈO6xO žZçº.›l'žèºl=°¶ÇgÁ³²gÁ³²ÍžÁ§–§yÃÛ çº.›l-²ÙÅðlì…ÆÎ/‚gd'›< <µ;Ït]6ØO=ÑtØ{amŽÎ/ƒgd.vq|;!<Ùàði婾{¢é°ö¸½;sìkèlù ŽHZo•­ÜZ Åš7X[œßvÛlâø6vBãgÁ³²Íž žZ—ç†ôü'¼Iᯖâ”ms\ÜB›j%t¥ÅÞ†gG³·=²ûyo¾ßÝ[m³‹à™Ù ³‹à™Ù æO…µ/Ï éøOx“ÃA‹Smc–jú"c$°C);ËKI%À{wo´ZÇm6q|;!C]=ÕµÒÓRÒÀÃ$³L汑´r¹Î;€å<Éàð©åªâÑGqEˆa¦8ãlmÚLæºÍ €Ò/»–ûùl9>xo·ÂÚ9Û3ÜGøÁð¸ÿ¶Ó$D\FÎÈ\ìâø6vBy“ÁáSËC5çWMS ðAM3dlDÀƒˆhnPM¿ÀoEœü»ÿà®ôŒ?èr/tu5=Ù¥==8³ y(úºèoÍfÿ™™d*HrWM&Ã&lÞžÇ-÷ÿÞØ¶ý·Ÿ*Ç~J¯c<œô5ïsZÑK5É6ô™UùGQDÜBg iÚNk¸44üû&ß¶ïóå\UÏÊ]lS»ýÞ?üú,;©Ü!‡×ãÑ f!‹±àìAÎáS²Å¦ Â×mö§Ñvû ·OCÎCÖÿäìf]}¼? h&Þ…gh)xV¯|”5x®¨"/`Æ1&ËC”Û.P_-PÁ†:ˆÇ6Ò>uñˆi&5†i.)ƒ`ðO uÚXêC6#'k†ÓÈÖ0Ï–"÷×~c•¤lÛe·ÓáoÄcÄŸOFêè£tQÔ–4ÊÆ8‚æ‡r†’#Ø.½f£õ”µtµxfQl‚Z¨¥Ždï­x"ÎušÑssfìW(KKâz]§-2x.#ŒÐÔáô‘9¸³ ŽšGlË›wÆüîhqhÙ‘a½WuQ¤øÞ’ÕÉ}PpÁè›A‰Z%Ä›#Û1Ü=¢6› ãrn êƒÑè)(é Â𸩨%ÛQÂÈ# §“§@³é;x±ô:ìÑA†P™ÍtƦgO9…­fÖWwºÜ®6'~à—‚Ò¨fX‡[¸$šE¬ì ‡Á1YdÑüC#qW–ÇNL´ÀLÛ1ä½·ÜS¼úAem¼? ÎÐPº,9Õñ׺*WUÇ¢då­25Ž ¹¡Ü¡¤µ¤ŽC”s%ÖÌW_Žbš36 „aºE‹â-Âq +ÄŒ´ô•î“bÇçsÿŽéK$»@$íJ.Çå‚,hiP£’m0‹n €´@ÚæÀæœÍ2m/'5€và7‘1 E±¹ªñ «¨‚9¥ž–)#Eˆk‰ Xn<ÁQ*tGê´¿ý¥«¬’jŽÊ–Æ•/a4ŒˆLð×C]!hå°KÂYBÕæ“é¾?¤µÓÑ×ùªjêÚZèåàM¦¤b<¯áLÌk\,s@ +fTVàÚ6ÜsÏ­Âp‘‹ZÜ8SÇ·ä·ö–ÍÉ»—‘T¶ðü+;A/ ¥éÞ76¢µ¸…$<"¸´CCÇñªdpd,Þ@Þ÷4asìX£E±lOVø•áNÁ±X XL¸æ)$2>¢hã ª$Ã,ƒ)“g!ø¯°™j£ÃêÌ&ª:YÌ ¢Ú»fñ{9·äp¹Þ7ï_50a•50TÔÁG4ôáâdc\øÃÅœNñq¸Û•"`³cxÕ~ŽéQÇY¤íEuƒbUñµñÂÐ×m)\,!k†H¸½Íô²¹£nŸÝ‹á:Tt‚Wèµ\Î{™vyª(ÍÚ"k}[ÑÌ Ü}"¯l+Ñl%åøV ƒP8µì½5,Qœ¯-/ˆœXÒyò‹òÎèÆ (—Á°|:@ÐêZhâ <´¼] nqc çÊ9‚^ +™–<Öĸ„ZY aT´µUƒŸgMC ßî5»ÚÇ‘ºçsMȶëÜ_{x~>ÐPTE‡TÏOQQ,ÓR¼ÉO$k‹KK˜Nö’ÒEǰ‘íH˜,Ãån6Ýacrâø~GVê­eO? !Ä%Í$L³·žFݤ ù+Z¥zubmÄßI^Ü5õ5ôõŒ—6šŒEµlÃ_ ѵ® Ä€ÐÈõ~QRúªŠ :j‡˜œù_÷œ]$‹œŽ%ÍÿºI"Ê‚hÉÆ]8£i­àÑíÈ#)Kfä¸åä6L¡-+#Ç1—jËF1cJ±yñ#†•Ð6‚ŠHdtRÈÃÙ³mÚ×9Î’ãÑ6ËpCAô›K4›Ѻ t†j6MG‹I[$t´î–cK_›åsâÓé‚ÓwX)"¯ÑÚ¼&"« §éÃ4’Á¡Œ0Y¡¬#(°Ü,7.h0ÃêWA†at•Ïy`‚6<çÊ_¼ úY~|­¿ L¡m,S¥xž/¤:©Ö/ˆi±2¸¥phâ„EbÎÆg%†S! _8pôlª˜ž9¦¸-F“Dq·bŽÀ©°Ü]Ìq0Éß? §h ¾\’ÂIx6Å_uš=¢••õõ˜ QWS†y変òK,sˆ»šFëÖSb¸n]IˆÄÙGQˆRðY«)²6£%œgo—;‹nÇvò™BYÐÕæ5W¤tx†:£>YXá„G)£‚KÚçhö½âÿÝ,äWEÕ; §Ãð¼.“ ¡ÙCKI ‚0áf1­ hÿÈÙÛÃð¬í/ ÆZ銳Jk¡Ñ? Åë㤦8…S°Ù`càÁ̤.2Ë =²I`I¼L¸±TÚ|cÒÍ&ÑÚ¶i-O6Œâ ¬£¤ØÊØ* ŽfZHÞ /åƒ-vl³ x|53ÕC,sÔ™åhht¥¢ÍÌyM†á~@ºRàš5,ÑM&„¾Xªdou4ę6&Pmq! z\»¹UÊÌi«Š½&ª¦Ð "=3Ä]Kˆh»±*¹$‚šIs3‚4Fǘ÷dx»ƒÜCrNW6¢¦¿Ó *\i˜$òSé6ôÔ°ç-n+¢Æ¹¥™ˆh%Å®$¼æw Á´o œÔaxNC1Ú%=Vß(ktsD«aV`LMÚY’ÑÄö£öÜG÷ž;·é”Xz'§¸ÄǛũ£¦—ŧšs#Ž¢Jj¸¢ŠpHÝš2çØ¾Ÿ'"¶ð½*Òš|3Ó╱hN‰ð2$²Ç8’BÌ€†µÃhr¹»î Ê™ëp­e+0¼*¥”$6ËOÅ9Ãgqènn²á˜6²z*†a8Kf ƒƒÑÈ)ã§‹.]œfÞƒm»(°¶äÊ JÈ¢®ÖDÚ=GL+DŸîráu8”˜{jgkÜxC°.„­þž-wØÜ «ËW¸´XΈÑb1V×Ö‡™Xék¢‰“çdŽcÚñC.×4¶í9o¾÷1Á¢Ú U :7€GIXZê¨CŽrÓp^ÐÛ:Ä’.ª´1áô4‘QÑGMKM C"†Ö1­€ÿ¼öe‹©0ÌHõƒ¦‘é­=%l¸t6† ÛRÑí´@îit†[È,nÛ_p $íâøVv‚¦cX&c’C&5„aœÂêºhæ1ÿá.ßä—…³h5¤¸›tK:UW‡ÒÖaXœì¨1E%ELPÕÆÊg‡L×zFr˜H½ˆøÑ¼cÒ$Ѻúí$­ƒ>ŠçŽˆ+¸=lQ¶BÇ1ßÚÇg¤?´fȸæŠhÖ9Òâx½--p¥£–”•Ç%9d‰ä–9§Ò&Øßp'w5B³ ÑúÆQ2¯ Âê@àê1,¸S;@‹Kr&PY‹tKH1ÊÝÂèaÒhì8n„Pb­t4ÔÈøÞ\×°µ°³fÐ[aôùFå1¦ºgUƒcxý6,p†áº#‡cb´‘<‰[;ßœö—d;0Ò7;p±mò…fè­m55f‚ÔA@ÐÚ8¥¥‰í¦`‹0Ýn@»UT-_ áT8|ü6ÁUµ‰ŽÛÄ3Y¸ôš3ºÀîô9L¡,µ›ŒcTºÕf‹â5qá•ò9˜“ÒÑiæ1I¤æ3£xŒqÐႚÉÚiéÞ"–—÷=ínR×\îÜb¿Ä­Z-Ñj|v·’†Ž³ª®á­žª(¤}<›(ã´NËv DÓË{“¿Ø.-¼_ ÎÐI˜X† òíÿ‚xWÒÿ¡È¸òëÿ‚8OÒýÛ‘uô>¬«Ý¼“Éo“¾†oú,Ü¢ÿþfe”v®æg`~Kù(úºèoÍfÿ™™d 7±Ø„͵Äf»D¹ˆß͵u» ÿ.EÏWÚ^©J–ÕÜÌìÉ6®æg`~KáX:K§•íMF‡è¶N-NÞ¶½æ*:c³ä/$ò5³Ó¼ÆÐÖ–Éc+p¼Üd«¹™Ø’m]ÌÎÀü–5c´Eª£Ò|oHk1ºÇˆÇ=5ox,¨‰ŸÜŠ_Ÿ3ËŒosß#ö,jÈêEYl>ö®æg`~Iµw3;ò_ ÝÒ]8Ñ=Å)ðÜ{¥Ã§ž3-ç%±DÍà:Y-’âÖ™ CÜÒÖÜ‚«‹—jîfvä›Ws3°?%Ž=ÓeÆd4Ú ¡ØîÍè7„TS¿¤‰äÿ,®™»fú"áÂ0’agÕôGXº'¥8«0Œ#Ûb¢á†&0Ë`Ù‡†ÔGšžRÇJÆ»g#ÀuÅ÷/qxm]ÌÎÀü“jîfvä¾OÅ0Ì —Æq<6†mjjçlQ2î žâ¹ žR£¿µw3;òM«¹™Ø’±©ô“J4®ÌÐ\ ƒQ;ÿÖqÚy"‹Ùý-Ù3÷‡5ÂCkØ%o/_V¸î5’ãú¥¸Æp§Šš:¹"Š)+¨dÜ×–Çf—±àµÙXÐøow8«ŒÚï9ÄÍ™jîfvä›Ws3°?%ð¸oöçä]þ¦(ô“jîfvä›Ws3°?%𡮪¥¡¢ž¶¶¦ZZxÝ,ÓLðÈâcEÜç8îI'p.;;Ws3°?$Ú»™ù+G@µ‡¢:m/Nú±µs¨%‘¬¬dl”ǵtíÇz.ip+Ùp ²ºÔºÌY÷µw3;òM«¹™Ø’øEn½«¹™Ø’m]ÌÎÀü•+Hqü Gh™[¤Ö„R¾A&®ªd¹äò6k¹l2éh—`ºo£Tøö,¦=`›9餰&)Yý×€A·!8×WÕÜÌìÉ6®æg`~KápßíÏÈ»ýLA&ÕÜÌìÉ6®æg`~KáEWQOIK5]\ñSÓÂÇI,²¼5‘±¢åÎ'pI*\v6®æg`~Iµw3;òVÍ6š`•4ñTÓEͬŽHð*×5í"áÀˆ¬Aî«ôÓÃSOM4ÑͬŽHÜ×´‹‡7Fû¯4õ)¯ë7gGW§ÔúUüí]ÌÎÀü“jîfvä¾­m`WhUMT¸.Xʦ=Æ\GHi°Öݤ ¬ÚÝÒ{ºÀvï76ëí{^¯wÕŽJ/Tþñ¾ó1uUÅå¶®æg`~Iµw3;òX6]Øýe\4tz#¢u3ÈØá†->¡{ä{šÖ´6ä’@rª†;§Zà…ô”´Ú¨ŠŽz™r¶Sˆðøí¸YÛ Á÷™îÀîå#«¾ý'»ìzsÔëÄE½Û*&gøDUyþPײéùjz4LDÏæ}DŸPÌ[Ws3°?$Ú»™ù/…‹<¦qÜcÐZ 0lF¢‚Z¬R:ydÙcÙJû íô˜ÝàƒºÜ„ƒò:Ý].œ×?‡/s׎ߥWVbö‹²¶ÕÜÌìÉ6®æg`~K PêÃM+¨ ­¢×v'UKQe†hc™ñÊÇ µÍp©±Aˆ*orm=ÿÛ.1õþåc¯×ÿoúÛÉîÙŸü©f}«¹™Ø’m]ÌÎÀü•#DðªŒGh°º¼V¯¨––²©ÅÒLòI'y$ ’$Ø.muT]4ÌÌD˶™™¦&bÒûÚ»™ù&ÕÜÌìÉYÍÖF«ãAçÊ|BQ\Ù]¥Ž –fÌæòík_Ú¬Ìk_¸4º!¥†áµ¯Äðl-õŒŽ¾6¶"s1Í‘åÄ^F› \.õœ÷8êiÍ^øaWyѧ«¥5|¸f­«¹™Ø’m]ÌÎÀü—Â-®éu4‡“ À1M°Ç+©)eœ0´âÆZöÝ{+>9´šhÛ+´®¥Žx-Ž‚”1¤ï³C£&Ü×$üe\qÿ`1¡åû‚¨Tî´ÿáÑK½CŒÚIÖêÞãIà¦m$ëuoq¤ðU£§ºÇÀô'I´w ÒpZ\s„1•ÎxÓÉ‹(“™ŽÚžöiû‰so2ïóA“Išs7K*á¼6J RÂyœ$s؃ñŽUvèö)&)€aØ›¡Ž'UÒÅ9`h!¥ìµí¾×V¶eYÐOû£2£ÿK W¶®æg`~Iµw3;ò_­Þ_{Ws3°?$Ú»™ù/„K½«¹™Ø’m]ÌÎÀü—Â%ÇÞÕÜÌìÉ6®æg`~Káãïjîfvä›Ws3°?%ð‰q÷µw3;òM«¹™Ø’øD¸ûÚ»™ù&ÕÜÌìÉ|"\}í]ÌÎÀü“jîfvä¾.>ö®æg`~Iµw3;ò_—{Ws3°?$Ú»™ù/„K½«¹™Ø’m]ÌÎÀü—Â%ÇÞÕÜÌìÉ6®æg`~Káãïjîfvä›Ws3°?%ð‰q÷µw3;òM«¹™Ø’øD¸ûÚ»™ù&ÕÜÌìÉ|"\}í]ÌÎÀü“jîfvä¾.>ö®æg`~Iµw3;ò_—{Ws3°?$Ú»™ù/„Kvòü7Õ>ÜV?ô¹_ð‚‡éHÿÒä]«Å[¯¿%W] ù¬ßó3,…I6zé£ÛçË›ÐÛf¶ÿû»g[°ßòäX÷ÉGÕ×C~k7üÌË#ÀÊR÷IµÙ›åÌòG.ë «­Øoùr,+ûKJvv'Ã0šÊ½ri]&%PØè௣Ç()£’S- )6Îx?Ê 4Ì °?Ì]pæ[,+sKðüH×azC‚°Ï]…¾FÍIœ4ÖÒHÖ—ÆÉ™‘HÇ:Þ”A…ÌdpñTLÄÄ"ã§‚JæLÆ:2ÒiÞĬ}SÕ ]‚áQO>Šábp,FH]fƒ)´1æß!çJé*°qºJ!ÙP6*eЀ6¤ˆcñ³ä}Ë|Š»©I‹ë-"Ãb–§§Áªé^Ö$²ÏLXؤ>Œ¿ØJc. -³²’¬èF¢plœÑã˜ö'¤t1TM%=%AÙFö¾S á9Nj‡úOk³ÁßÅÖ]YÅ–S/Wõh¡­­¬Ç´HÉ„G´Æð©›ˆám.Ê$ž6¸‰.k@–7Ig7k›•¡]赉··™‹Å¥j`:Óñ}Âëp:)q Šºhe±µ41µåisÞlÛçh%Äîµ÷,9­1Ò ÓÊ5ÒsKøDŒc›EœÅSE%›, $³hHÌö‡X aŽû¬¯Ì_Ux“4‡Ä4gIh((qI4ô–kÚÙ¥Ë#£vÚ2Ö™rÊo–ApClÑthöàxV)7UÂ1¼z6–·ÄË%¨`9Å£ kc„eyiÙ1™šlÖºÚz”ÄzÜñÒ®gÜ캗 þÜü‹¿ÔÅÊá¢Ò{2ÿ™-?ý–—*Ÿ¤X.¤8%V QÇYATÌ’Äû‹Ø‚"Å® H@* ˆtÖ6¢4Õv+A‹â‡J°·ÉW‡âBg j%Ú;ƒS¶ ì˜æŠ&>&±æPÇsÝžtZl^£F0ª ¥†“–Šâð›ÇA`21§3®³éÔòª’)M1LZ!êªê®oTÜDE^XÕ­>žëWMñÍeEPjè븆ÅW$0ûOR×Ç&}œ®ôA Ú¶ ]èÇ“5W 8nhø¢§™Õø”íaÄ1)c ’­í Ãs#mÎXÆæÜîsœë½ѺZ÷?"ïõ1r¸h´…ÞÌ…¿æKOÿdzr°O”~ŠùÒ¼‚Á«\{Å)éLôø]M=L‡¾*#Ø€ÇX–gsšÒE…ŽýÁaÊß1×ùé!G Ø=õM„mXÓS¶ÙgµËm#`msÏu³k¥aXv5†K†bÔpÖÑM—kO3sG kƒ€päp¸qÁXèÿ[íþßürÕÛ_¸Žµö‰‹[›{¿ò‡uÎ¥Mÿì1ô<¿pU½¿‚ÍÿÝ âÓqmÆ[ín3OøˆHVÄN´MÿÂÞ¡ƒ¼«ôIôú¿E¨ôjƒ„:’ Bi¤{Ã#fè X\w¼Œ­ÓrlÐç §ÉŠ,B=Rá3Ï¥} šºŒ>ÑIE–í’œ¼¸™Ç´µ¦ÂÁ¦Ä·(nKÍÌ©z=€á?ç4Rpo9WKˆUÿÏÚTIlïô‰µì7 ì/êÉowVs*ö‚ÿؽù•úX­¼ÊåÐaÿà½?÷hi\À1‡ÿ²B«Hˆ«Èˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆ5ÛËïþPý)ú\‹/¿øACô¤ér.®Õâ­×¡ô›Ðï$ýÒ= ¬mGJý´Æ7¼7=dŒnæ5Î7s€Ü/6õ÷ÆgSo‡¸Vø cž÷%?ÍaüT-3XÕMæVöz+ÆgSo‡¸Vø ÆgSo‡¸Vø ΤSÉè¯Nu¾á[à'Nu¾á[à/:‘12z+ÆgSo‡¸Vø ÆgSo‡¸Vø ΤLLžŠñ™Ôç[áî¾q™Ôç[áî¾ó©'¢¼fu9Öø{…o€œfu9Öø{…o€¼êDÄÉè¯Nu¾á[à'Nu¾á[à/:‘12z+ÆgSo‡¸Vø ÆgSo‡¸Vø ΤLLžŠñ™Ôç[áî¾q™Ôç[áî¾ó©'¢¼fu9Öø{…o€œfu9Öø{…o€¼êDÄÉè¯Nu¾á[à'Nu¾á[à/:‘12z+ÆgSo‡¸Vø ÆgSo‡¸Vø ΤLLžŠñ™Ôç[áî¾q™Ôç[áî¾ó©'¢¼fu9Öø{…o€œfu9Öø{…o€¼êDÄÉè¯Nu¾á[à'Nu¾á[à/:‘12z+ÆgSo‡¸Vø ÆgSo‡¸Vø ΤLLžŠñ™Ôç[áî¾q™Ôç[áî¾ó©'¢¼fu9Öø{…o€œfu9Öø{…o€¼êDÄÉè¯Nu¾á[à'Nu¾á[à/:‘12z+ÆgSo‡¸Vø ÆgSo‡¸Vø ΤLLžŠñ™Ôç[áî¾q™Ôç[áî¾ó©'¢¼fu9Öø{…o€œfu9Öø{…o€¼êDÄÉèv!å©jú Š-‰ÐTD褆¸×¾Ãvâ­Q®ÍY³ÑY¸i`ÜÓ&×—ñÐ ÿÄ¢˜A”·“Ý»VßûLÂù{ü“Ý»VßûLÂù{ü–¢a œ·k·V‡Ñ~³°àÓ¸˜ô~¼8ˆ–ø‚>"®¬?Ê?RÔô4Ú[`§‰±F q!­}†ýÁy≄&OExÌês­ð÷ ß8Ìês­ð÷ ßyÔŠâdôWŒÎ§:ßp­ðŒÎ§:ßp­ðH˜™=ã3©Î·ÃÜ+|ã3©Î·ÃÜ+|çR&&OExÌês­ð÷ ß8Ìês­ð÷ ßyÔ‰‰“Ñ^3:œë|=·ÀN3:œë|=·À^u"bdôWŒÎ§:ßp­ðŒÎ§:ßp­ðH˜™=ã3©Î·ÃÜ+|ã3©Î·ÃÜ+|çR&&OExÌês­ð÷ ß8Ìês­ð÷ ßyÔ‰‰“Ñ^3:œë|=·ÀN3:œë|=·À^u"bdôWŒÎ§:ßp­ðŒÎ§:ßp­ðH˜™=ã3©Î·ÃÜ+|ã3©Î·ÃÜ+|çR&&OExÌês­ð÷ ß8Ìês­ð÷ ßyÔ‰‰“Ñ^3:œë|=·ÀN3:œë|=·À^u"bdôWŒÎ§:ßp­ðŒÎ§:ßp­ðH˜™=ã3©Î·ÃÜ+|ã3©Î·ÃÜ+|çR&&OExÌês­ð÷ ß8Ìês­ð÷ ßyÔ‰‰“Ñ^3:œë|=·ÀN3:œë|=·À^u"bdõ;Ft÷Ò|—Ñé¤Å(jšçG%-%L†Í{£%Ífg¤Ç˜ å6¸Ué q±Ïš†¾Ú.ù%Ãê˜ÆkœçB@å$µaO$X¾­º-ò”Ÿp‹³·ú³¯wK÷¹)þkâ¡išÜÌsÞä§ù¬?Š…§ÄÉ#見#˜Ç‡^S™£+l½‰w¤@³NûØgyDHˆ€ˆˆ¥©‰ÈDU±Ž/Œ8\ÐK} ÚIiÝkƒbE‰‰K L’9Þúˆ¢1°9Œxuå9š2¶À‹Ø—zD 4iµ12#¨Š 1Åñ‡ š o¤»I-;­plH±!" ")[ ,“ˆšö½­ìï8—l¶@7 úBÀï°Dˆˆˆ€ŠZ¸™ TÐÇQK#{šÙ¢ `æ‡ëQp8 $D@E+ba¥’cQ^×µ¢à‡àm–Ã(äHXö‰µq2©¡Ž¢*–F÷5³D ÁÍÖ<¢àpDˆˆŠWDÁK¢'=ÏsL ;; !ÄÛ-Žb‰>‰¸®"""–’&MU 2TELÉÖºiC‹#عÁ ºÃ”ØÌ ‘Jè˜)c˜TDç¹îi„g`¤8›e±Ì@±'Ñ7uâ@DDRÒDɪ¡†Jˆ©™#Ú×M(qd`›84Xr›yQ """•Ñ0RÇ0¨‰ÏsÜÓÎÀHq6Ëc˜bO¢në„Hˆ€ˆ¥¦‰“HY%DTà1î8‚ZÒC}MÜ@hÝk‘rÈ‘K4LŽ8ʈ¥20¹ì`uâ9œ2ºà Øz$‹8o½À‰KM&²Jˆ©ÀcÜ qµ¤†ú ›¸€Ñº×"ä ‘" ")f‰‘ÇÙQ¦F=Œ¼G3†W\{ïD‘g ÷¸" ")i¢dÒIQ8 {ƒä –´ßDw7Zä\r$D@DDRÔÄÈd Ž¢*€XÇÆ.h%¾í$´îµÁ±"Äă}¼‹Œû€P7§Ã_œj‰}MT‘»6fܶ' ZÛïíäÝ¿.Oçãüð`cü+çýºÆ>D¯?IÕÿV¬¹V±ÚÃ^|±}[´[å)>áËÕ»E¾R“îvöÑðg^îŽ9ïrSüÖÅBÓ5¹˜ç½ÉOóX LÖ™Az äAêïEô_õjË•|¥b?"WФêÿ«V\«å+ݬ5çËÕ»E¾R“î<±=[´[å)>áwkUîèãž÷%?ÍaüT-3[™Ž{Ü”ÿ5‡ñP´ÍsÎòˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆƒÐO"Wz/¤êÿ«V\ªXȃÕâ‡éJ¿êÕ—*ùJÆ­ÚÒן,OVíùJO¸DòÄõnÑo”¤û„]ý§Ñ—SwG÷¹)þkâ¡iÄ3¾爉˜òøšâf»Ñ$Óví±µÅìH;Ž{Ü”ÿ5‡ñP´ÍsNòˆ€ˆˆ%©õ $lM!Œ`ÄØÅšÐѹ  Ø žRnI$’¢D@DDÃ;áŽxØØˆ™/‰® fk½A-7hÞÛ\^ă"" )jg}D‚IHcq61f´4nhöç”›’I$¨‘­í¥’˜6,’=¯$ÄÒðZŸlÀzFàâAÊ- """ –®wÕUMS#bkå{žáM€“s•­À $DDA+g{id¦ ‹$kÉ14¼‡gÛ0‘¸¸r‹Dˆ€ˆˆ Z¹ßUU5L‰¯•î{„Q66MÎV4´s€(‘®î¥Ž˜¶,‘½ÏDÐò\ ßlÄz"À’òÌo ""–’wÒÕCSbsâ{^Ñ,M‘„ƒq™Ž®à‚! $@DDDA+§{©c¦-‹$osÁ4<—ƒwÛ1ˆ°$¼€3Ĉ€ˆˆ%¤ôµPÔÆØœøž×´Kda Üfck‡8 ƒÈB‰®î¥Ž˜¶,‘½ÏDÐò\ ßlÄz"À’òÌo ""–šwÓÈd±8–=„IdsKNç/blyA± ‰K4ïš8#{b0²&´‘™Îôˆ¸ÝÇ{®ma{Hˆˆ‚ZißO!’6ÄâXö$MYÍ-;œ½‰±åÄ@*$DD@RÍ;æŽÞØ€……Œ,‰­$fs½".7qÞë›X^À ""–šwÓÈd±8–=„IdsKNç/blyA± ‰KS;ê$HØšCÀ#‰±‹5¡£s@°<¤Ü’I%DˆƒÐO"WŠ/¤êÿ«V\«XȃÕâ‹é:¿êÕ—*Ö55¥¯>Xž­Ú-ò”Ÿp‰å‰êÝ¢ß)I÷»ûIø2ênèãž÷%?ÍaüT-3[™Ž{Ü”ÿ5‡ñP´ÍsNòˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆƒÐO"WФêÿ«V\«ö¬GäAêñEô_õjË•kšÒן,_VíùJO¸DòÅõnÑo”¤û„]½·Ñ{º8ç½ÉOóX N!‰’G;ßQF61¼§3FVØ{ïHf÷°;Ž{Ü”ÿ5‡ñP´Íaù”KS!2:ˆªc_p¹ –ú@´’Óº×Ä‹"" –™$s½õDc`sðëÊs4em±.ôˆiß{"" )jbd2GQ@,c‹ã4ßHv’ZwZàØ‘bbDD@R¶&Y&55í{Z!!ÙÞq.Ùl2€nAô…ßh‘µq2©¡Ž¢*–F÷5³D ÁÍÖ<¢àpHˆˆ‚VÄÃK$Æ¢&½¯kD$;;Á%ÀÛ-†P È>°;í"" )jâd5SCDU,îkfˆ82@ ƒš¬yEÀ<à(‘®‰‚–9…DN{žæ˜@vvC‰¶[Ä }p7^$@DD-$Lšªd¨Š™’=­tÒ‡F ±sƒAu‡)°'˜ """ •Ñ0RÇ0¨‰ÏsÜÓÎÀHq6Ëc˜bO¢nëĈ€ˆˆ%¤‰“UC •S2Gµ®šPâÈÁ6.ph.°å6ó¢D@DD+¢`¥ŽaQžç¹¦€âm–Ç1ÄŸDÜ ×‰KM&²Jˆ©ÀcÜ qµ¤†ú ›¸€Ñº×"ä ‘ """ –h™p=•JdasØÀëÄs8euÀ°ôIpß{"" –š&M!d•S€Ç¸>@â kI ôA7q£u®EÈ"$DD@RÍ#޲¢)LŒ.{xŽg ®¸öÞ‰"Îïp"DD@RÓDɤ,’¢*p÷ÈA-i!¾ˆ&î 4nµÈ¹äDˆˆ€ˆˆ%©‰ÈDU±Ž/Œ8\ÐK} ÚIiÝkƒbE‰‰ žD¯?IÕÿV¬¹V±‘«ÅÒuÕ«.Uò•MikÇ–/«n‹|¥'Ü"ybú¶è·ÊR}Â.ÎßèνÝ,sÞä§ù¬?Š…¦ks1Ï{’Ÿæ°þ*™¬gyAz äAêñEô_õjË•|¥b?"WФêÿ«V\«å+šÃ^|±}[´[å)>áËÕ»E¾R“îvößFuîèãž÷%?ÍaüT-3[™Ž{Ü”ÿ5‡ñP´âß sÆÆÄDÌ y|Mq3]è’ i»FöØÚâö$'yDHˆ€ˆˆ¥©õ $lM!Œ`ÄØÅšÐѹ  Ø žRnI$’¢@DDRÃ;áŽxØØˆ™/‰® fk½A-7hÞÛ\^ă" ")jg}D‚IHcq61f´4nhöç”›’I$ ‰­í¥’˜6,’=¯$ÄÒðZŸlÀzFàâAÊ,""" "–®wÕUMS#bkå{žáM€“s•­À $D@E+g{id¦ ‹$kÉ14¼‡gÛ0‘¸¸r‹D€ˆˆŠZ¹ßUU5L‰¯•î{„Q66MÎV4´s€ ‰®î¥Ž˜¶,‘½ÏDÐò\ ßlÄz"À’òÌn"""–’wÒÕCSbsâ{^Ñ,M‘„ƒq™Ž®à‚!"DDD@E+§{©c¦-‹$osÁ4<—ƒwÛ1ˆ°$¼€3Ä€ˆˆ¥¤ôµPÔÆØœøž×´Kda Üfck‡8 ƒÈB‰®î¥Ž˜¶,‘½ÏDÐò\ ßlÄz"À’òÌn"""–šwÓÈd±8–=„IdsKNç/blyA± ‘K4ïš8#{b0²&´‘™Îôˆ¸ÝÇ{®ma{Hˆ€ŠZißO!’6ÄâXö$MYÍ-;œ½‰±åÄ@*$D@DRÍ;æŽÞØ€……Œ,‰­$fs½".7qÞë›X^À"""–šwÓÈd±8–=„IdsKNç/blyA± ‘KS;ê$HØšCÀ#‰±‹5¡£s@°<¤Ü’I%DƒÐO"WФêÿ«V\«å+ùz¼Pý'WýZ²åZƦ´µçËÕ»E¾R“îqå‹êÛ¢ß)I÷»{iø3¯wK÷¹)þkâ¡išÜÌsÞä§ù¬?Š…¦k ÞPDDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DD‚yz¼PòÿÖuÕ«.U¬GäAêñCô_õjË•kÝ­-yòÅõnÑo”¤û„O,_VíùJO¸EÛÛ}×»£Ž{Ü”ÿ5‡ñP´Ínf9ïrSüÖÅBÓˆ[NcœÍ,¬{X !‘‡¿3nK†Q—1¸Þ¶òF™DHˆ€ˆˆ¥©m;dšYdfFdŒ0‡–ŒâÁÇpuÀ7Þ6mì"@DDRÂÚsæiecÚÀa Œ8=ù›pâ\2Œ¹Àvð·’"@DDE-KiÛ ÒË#20“$a„<´g;ƒ®¾ð³o`"""•­§à²9ÒÊ*ÚÁ,s,ìÄ»5Á2ÂÆ÷;Å€pDˆˆˆ€ŠZ¶Ó¶ªfÒK,´áî>XÄos/¸¹¡Î $ZànsÊ¢@DDRµ´üG:YE@{C#Že˜—f¸ †XXÞçx°‰µm§mTͤ–YiÃÜ"|±ˆÞæ_qsCœHµÀ&Üç•Hˆ€ˆ¥siø,nl²š‚÷°ÆË7)ÍrI/¸°µ†ór"""–‘´îª…µrË9{D¯Š1#ÚËï-isCˆ°$_œr ‰®m?Í–SP^àöÀcYfå!Ù®I%÷°ÞnCb@DDRÒ6ÕP¶®Yb§/h•ñF${Y}å­.hqö‹óŽU" ")\Ú~ ›,¦ ½Áì1€Æ²ÍÊC³\’Kî,-a¼Ü†„Hˆ€ˆ¥¦m;¤"¦YcfGcŒ<—†œ‚ÅÃqu7Ü 6u¬B$D@DDRÌÚqe{ÜÂfŒ41ù`Òs ¹MÈnòE·b@DDRÓ6ÒS,±³#È1ÆKÃNAbḺÀ›î›:Ö1 """–fÓˆà0Ë+Þæ0|a¡Ìëã˜eÊnCw’-¸"""–™´îŠ™e™AŽ0ò^r  ÅÖßp$ÙÖ±‘KRÚvÈ4²ÈÌŒ$Éa-ŃŽàë€o¼lÛØDƒÐO"Wz/¤êÿ«V\«å+ùz¼Pý'WýZ²å_)XÎía¯X¾­º-ò”Ÿp‹Ÿ,_VíùJO¸EÛÛGÁ{º8ç½ÉOóX LÖæcž÷%?ÍaüT-3XNò‚" """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ ôȃÕÞ‹é:¿êÕ—*–#ò õx¡úR¯úµeʾR±«v´µçËÕ»E¾R“î<±}[´[å)>áomôg^îŽ9ïrSüÖÅBÓ5¹˜ç½ÉOóX LÖ¼ ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆ=ò õx¢úN¯úµeʵˆüˆ=^(¾“«þ­Yr­cSZZóå‹êÝ¢ß)I÷¸òÅõmÑo”¤û„]½´ü×»¥Ž{Ü”ÿ5‡ñP´âŠˆcž8g–6T0G3XòŒkƒ\(ÌÖºÇÚÐ}n>9ïrSüÖÅBÓ5„ï(""" –¦¢¢ªA%LòÎö±‘‡HòâƆ±·>ÀÖ†ìb‰K ED1Ï3Ë*#™¬yF5Á®”fk]cíh>À¢D@DD-MEET‚J™åíc#‘åÄ1 cn}­ ØÅ ""•µ ¥’‘³ÊÚyÙyÈç´85ÄrÞöf<åDˆˆ€ˆˆ%«¨¨«ªš®®yj*&{¤–Y^\ùãrç¼’I$•"" •µ ¥’‘³ÊÚyÙyÈç´85ÄrÞöf<åDˆ€ˆˆ ZºŠŠº©ªêç–¢¢gºIe•åÏ‘î7.q;É$’IQ"" )]QPêXé<®§î‘‘œ{ƒCœ $1€ŸnQÌH€ˆˆ ZJŠŠJ¨jé'–ž¢¶H¥‰å¯í7iÁQ"" "" ]QPêXé<®§î‘‘œ{ƒCœ $1€ŸnQÌHˆˆ‚ZJŠŠJ¨jé'–ž¢¶H¥‰å¯í7iÁQ" ""•եޑÓÊêxÞéyÈ׸49ÀrC öåÁDˆˆ€¥¦¨¨¥ÉM<°=Ì|eѼ´–=¥¯mǰµÅ¤{A#Ú¢DD@DDÍQQ4pG4òÈÊvákÞH…ÎqkAäœçX{\O´¨‘´Õ²)§–¹Œº7–’Ç´µí¸ö¸´h${THˆˆ€¥š¢¢hàŽiå‘”ì1Â×¼‘ œâÖƒÈ39ΰö¸ŸiQ"" )iª*)d2SO,sto-%ikÛqì-qiÐHö¨‘µ5R *g–wµŒŒ:G—Æ45¹ö´4`{Hˆ=ò õx¡úN¯úµeÊ¿jÄ~D¯_IÕÿV¬¹V±©­-yòÅõnÑo”¤û„O,_VíùJO¸EÛÛ}×»£Ž{Ü”ÿ5‡ñP´Ínf9ïrSüÖÅBÓ5‡æPDDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DD‚yz¼Pý'WýZ²åZÄ^DY¸»Qda{¼çWf‡}íç õYr¤KË$1Îeßéq+šÒן,_VÝùJO¸EÏ–/«v‹|¥'Ü"íí£àνÝsÞä§ù¬?Š…§¶œÇ9šYXö°C#~fÜ8— £.cp¼mäÇÇ=îJšÃø¨Zf°åD@DDÔ¶²M,²3# 2FCËFq`ã¸:àï6ö" "" am9Žs4²±í`0†Fü͸q.F\Æà;xÛÉ" ""–¥´í ie‘™I’0ÂZ3‹Á×ßxÙ·°‰JÖÓðYéeí `Œ9–vb]šà‚ac{âÀ:$@DDDA-[iÛU3i%–Zp÷Ÿ,b7¹—Ü\Ðç’-p ·9åQ" "" ZÚ~ #,¢ =¡Œ‚Ç2ÎÌK³\C,,os¼XDˆ€ˆˆ Z¶Ó¶ªfÒK,´áî>XÄos/¸¹¡Î $ZànsÊ¢DD@R¹´ü76YMA{ƒØce›”‡f¹$—ÜXZÃy¹ ‰KHÚwUBÚ¹eŠœ½¢WÅ‘íe÷–´¹¡Ä Ø/Î9TH€ˆˆˆ‚W6Ÿ‚ÆæË)¨/p{ `1¬³rì×$’û‹ Xo7!±" "" iNê¨[W,±S—´Jø£=¬¾òÖ—48{EùÇ*‰®m?Í–SP^àöÀcYfå!Ù®I%÷°ÞnCbDD@RÓ6ÒS,±³#È1ÆKÃNAbḺÀ›î›:Ö1"" "" fm8Ž ²½îa3Æüΰi9†\¦ä7y"Û1" "" i›Né©–XÙ‘äã%á§ ±pÜ]`M÷Mk‘K3iÄpe•ïs ˜>0ÐÇæuƒHqÌ2å7!»ÉÜ ‰KLÚwHEL²ÆÌ Çy/ 9‹†âëo¸lëXĈˆ€ˆˆ%©m;dšYdfFdŒ0‡–ŒâÁÇpuÀ7Þ6mì"DAè‘#žN´L";N¯ûHDþfr´‘u—j"Ž1èðkÿ𨛠ÿÌ8ŸòX“ȃÕâ‡é:¿êÕ—*ùJÆZÓ-yòÅõnÑo”¤û„O,_VíùJO¸EÛÛ}×»£Ž{Ü”ÿ5‡ñP´Ínf9ïrSüÖÅBÓ5„ï(""" """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ ""A<ˆ=^(~“«þ­Yr¯”¬GäAêñCô_õjË•kšÒן,_VíùJO¸EÇ–/«n‹|¥'Ü"íí§àνÝ,sÞä§ù¬?Š…¦ks1Ï{’Ÿæ°þ*œCQQ sÇ òÆÊ†æk@‘Ípk€åš×XûZ°,'yDHˆ€ˆˆ¥©¨¨ªIS<³½¬daÒ<¸†1¡¬mϰ5¡ {Ø¢@DDRÃQQ sÇ òÆÊ†æk@‘Ípk€åš×XûZ°(KSQQU ’¦yg{XÈäyq cCXÛŸ`kC@ö±Hˆ€ˆ¥mECid¤lò¶žG¶GÄr9í q„€÷€}™9A" "")jê**ꦫ«žZЉžé%–W—>G¸Ü¹Äï$’I%D€ˆˆ¥mECid¤lò¶žG¶GÄr9í q„€÷€}™9Q """–®¢¢®ªjº¹å¨¨™î’Yeysä{ËœNòI$’PDˆˆŠWTT:–:GO+©ã{¤dEç#^àÐçÈ `'Û”s"""–’¢¢’ªºI姨…í’)bykã{MÚFðA‚Dˆˆˆ€ŠWTT:–:GO+©ã{¤dEç#^àÐçÈ `'Û”s" "–’¢¢’ªºI姨…í’)bykã{MÚFðA‚Hˆ€ˆ¥uEC©c¤tòºž7ºFD^r5î p€Æ}¹G0A" ")iª*)d2SO,sto-%ikÛqì-qiÐHö ‰³TTMÍ<²2†8Z÷’#asœZÐyg9Ö×í*$D@E-5EE,†Jiåîcã.失í-{n=…®-#Ú Õ" ")f¨¨š8#šyde; pµï$FÂç8µ ò Îs¬=®'ÚPDˆˆŠZjŠŠY ”ÓËÜÇÆ]ËIcÚZöÜ{ \ZG´=¨"DDD@E-MEET‚J™åíc#‘åÄ1 cn}­ ØÅA<ˆ=^(yë:¿êÕ—*Ö#ò õx¡úN¯úµeʵŒîÖ–¼ùbú·h·ÊR}Â'–/«v‹|¥'Ü"íí¾ŒëÝÑÇ=îJšÃø¨Zf·3÷¹)þkâ¡išÃó(""" """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ ""A<ˆ=]输«þ­Yr¯”¬GäAêñCô_õjË•|¥c;µ†¼ybú¶è·ÊR}Â.|±}[´[å)>áomuîèãž÷%?ÍaüT-3[™Ž{Ü”ÿ5‡ñP´âÓ˜ç3K+ÖdaÁïÌÛ‡á”eÌn·€-¼‘„ï(‰µ-§l€SK,ŒÈÂL‘†òÑœX8î¸ûÀͽ„Hˆ€ŠX[NcœÍ,¬{X !‘‡¿3nK†Q—1¸Þ¶òDHˆ€ˆ¥©m;dšYdfFdŒ0‡–ŒâÁÇpuÀ7Þ6mì$D@DRµ´üG:YE@{C#Že˜—f¸ †XXÞçx°‘KVÚvÕLÚIe–œ=Â'Ëîe÷49Á¤‹\mÎyTHˆ€ŠV¶Ÿ‚ÈçK(¨hc`±Ì³³ì×Ë ÜïÑ """–­´íª™´’Ë-8{„O–1ÜËî.hsƒI¸Ûœò ‰®m?Í–SP^àöÀcYfå!Ù®I%÷°ÞnCB$D@DRÒ6ÕP¶®Yb§/h•ñF${Y}å­.hqö‹óŽT""" "•ͧ౹²Êj Üà k,ܤ;5É$¾âÂÖÍÈlHˆ€ŠZFÓºªÕË,Tåí¾(Äk/¼µ¥Í ^À‘~qÊ¢@DDE+›OÁcse”Ô¸=†0ÖY¹Hvk’I}Å…¬7›Ð‰´Í§t„TË,lÈò q‡’ðÓX¸n.°&û&εˆDˆˆˆ€ŠY›N#€Ã,¯{˜LÁñ††?3¬CŽa—)¹ ÞH¶àLHˆ€ŠZfÓºB*e–6dy8ÃÉxiÈ,\7X}À“gZÆ$D@DRÌÚqe{ÜÂfŒ41ù`Òs ¹MÈnòE·B$D@DRÓ6ÒS,±³#È1ÆKÃNAbḺÀ›î›:Ö!" "")j[NÙ¦–Y‘„™# !å£8°qÜp ÷€ ›{z äAêïEô_õjË•Kùz¼Pý)WýZ²å_)XÕ»ZZóå‹êÝ¢ß)I÷žX¾­Ú-ò”Ÿp‹·¶ú3¯wG÷¹)þkâ¡išÜÌsÞä§ù¬?Š…¦k ÞPDDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DD‚yz¼Q}'WýZ²åZÄ~D¯_IÕÿV¬¹V±©­-yòÅõnÑo”¤û„\ybú¶è·ÊR}Â.ÞÚ~ ëÝÒÇ=îJšÃø¨Zf·3÷¹)þkâ¡iÄ4õG<Á,Œ§`’g1„ˆØ\Ö‡8ŽA™ÍmϵÀ{BÂw”Dˆˆˆ€ŠZšzŠYu0KÜÆH# IcÚÇXû \´}ª$D@E,4õG<Á,Œ§`’g1„ˆØ\Ö‡8ŽA™ÍmϵÀ{B‰µ4õ²ê`–¹Œ6F’Ç´9ޱö¸8h ûPDˆˆŠVÓÔ:–J¶Á+©ã{c|¡‡#^àâÖ“È yÛ”ó""" "–®ž¢’ªjJ¸%§¨…îŽX¥akã{M‹\ðATHˆ€ŠVÓÔ:–J¶Á+©ã{c|¡‡#^àâÖ“È yÛ”ó" ")jéê)*¦¤«‚Zzˆ^èåŠV¾7´ØµÀïAHˆ€ˆ¥u=Cic«t¶žGº6JXr9í .h<„€ö=™‡8A" ")i)ê*ꡤ¤‚ZЉžØâŠ&>G¸Ø5 o$’Hˆ€ˆˆ¥u=Cic«t¶žGº6JXr9í .h<„€ö=™‡8Q "")i)ê*ꡤ¤‚ZЉžØâŠ&>G¸Ø5 o$’D€ˆˆŠWSÔ6–:·A+iä{£d¥‡#žÐÒæƒÈHa#Ù˜s„"""–šž¢ªC4Îö±òÆÂâÆ—=ÖÀÖ—ìŸb‘K5=D1Á$ÐK*d…ÏaF9¥Í'”fk›qíi¢@DDRÓSÔUHc¦‚YÞÖ>BØØ\CÒçºÃØÒâ}€ìQ """–jzˆc‚I –6T0É žÂŒsKšO(Ì×6ãÚÒ=…Hˆ€ˆ¥¦§¨ªÇM³½¬|…±°¸†1¥Ïu‡°5¥Äû'Ø‚$D@DDRÔÓÔRÈ#©‚Xæ2@ÙZKÐæ:ÇØZàà} ƒíQ ôȃÕâ‡é:¿êÕ—*ý«ùz¼Q}'WýZ²åZƦ´µçËÕ»E¾R“î<±}[´[å)>áomôg^îŽ9ïrSüÖÅBÓ5¹˜ç½ÉOóX LÖ™Az äAêñCô_õjË•kùz¼Q}'WýZ²å_)XÔÖ–¼ybú¶è·ÊR}Â.|±}[´[å)>áomuîèãž÷%?ÍaüT-3[™Ž{Ü”ÿ5‡ñP´Ía;ʈ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆƒÐO"WŠ/¤êÿ«V\«å+ùz¼Pý'WýZ²å_)XÔÖóå‹êÝ¢ß)I÷žX¾­Ú-ò”Ÿp‹·¶ú3¯wG÷¹)þkâ¡iÄ.§Î&ŠW½ÌÉC™·.§0˘Xï ßqqñÏ{’Ÿæ°þ*™¬'yAµ.§t€ÓE,lÈÀD’’ðÑœÜ4n.¹ÛîµÌHˆˆ‚X]N#œM¯{˜%’†?3n\ Na—0°-ÞA¾â Hˆˆ€¥©u;¤š)cfF$<—†Œæá£quÈÜu®bDD@RµÔüFº)MA{K$e˜å¹$–XÜZÇq¸-‰KVêwULêH¥Šœ½Æ&K ‘íe÷85¡Ä \€/Ì9Hˆˆ‚VºŸ‚È×E)¨/icÄ€1¬³³Ü·$’Ë‹Xî7±" ""–­ÔԑK9{ŒL–A#ÚËîpkCˆ¹_˜r(‘®u?­ŠQPâ÷™c™få¹n!÷77¸Ü,K¢DD@RÒ:µPº®)e§i•‘H#{™}á®-pi"ö$sE """ •Χ౵±J*Ü^ó ,s,Ü 7-Á>ææ÷…‰tHˆˆ‚ZGS¶ªUÅ,´áí2²)os/¼5Å® $^ăncÈ¢D@DD+OÁckb”T¸½æ@XæY¹@n[‚}ÍÍî7 葴Χl„ÔÅ,ŒÈðròÓÜ´î±"ÛÀ"í½ÄH€ˆˆˆ‚YNc€C¬{XDÅò¿3¬ZFQ—(±.Þ ¾ðHˆˆ‚ZgS¶Bjb–Fdx9yiÈnZwX‘màvÞâ$DD@RÌês¥cÚÂ&/8=ùbÐ2Œ¹E‰vðM÷€"DD@RÓ:²S²3#ÀÈCËNCrÓ¸:Ä‹o‹¶÷"" "" j]N馊XÙ‘€‰$%á£9¸hÜ]r·Ýk˜‘z äAêñCô_õjË•|¥b?"WФêÿ«V\«XÔÖ–¼ùbú·h·ÊR}Â.<±}[t[å)>áom?uîécž÷%?ÍaüT-3[™Ž{Ü”ÿ5‡ñP´Ía;ʈ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆƒÐO"WŠ_úίúµeʵˆüˆ=^(~“«þ­Yr­c;µ¥¯>X¾­Ú-ò”Ÿp‰å‹êÝ¢ß)I÷»{o£:÷tqÏ{’Ÿæ°þ*œCOQ4sÉ ÈÊv &sH…ÍhsˆäœÖÜû\´-ÇÇ=îJšÃø¨Zf°üʈ€ˆˆ%©§¨¥GS°=Ìd²0´–=¡Ìu°µÁÀûAÚ¢D@DDÃOQ4sÉ ÈÊv &sH…ÍhsˆäœÖÜû\´(‘KSOQK ަ `{˜Édai,{C˜ëakƒö‚µDˆˆ€¥m=C©d«lºž7¶7Êr5î-i<€Ç=¹O1Q"" "" jéê)*¦¤«‚Zzˆ^èåŠV¾7´ØµÀïADˆ€ˆˆ%m=C©d«lºž7¶7Êr5î-i<€Ç=¹O1Q" ""–®ž¢’ªjJ¸%§¨…îŽX¥akã{M‹\ðATH€ˆˆ WSÔ6–:·A+iä{£d¥‡#žÐÒæƒÈHa#Ù˜s… ""–’ž¢®ªJH%¨¨™íŽ(¢asä{ƒZòI H€ˆˆˆ‚WSÔ6–:·A+iä{£d¥‡#žÐÒæƒÈHa#Ù˜s…"" –’ž¢®ªJH%¨¨™íŽ(¢asä{ƒZòI Hˆˆ€¥u=Cic«t¶žGº6JXr9í .h<„€ö=™‡8Q"" )i©ê*¤1ÓA,ïk!ll.!ŒisÝaì iq>À ö(‘³SÔCM±²¡†H\ö$`sš\ÒyFf¹·Ö‘ì*$DDA-5=ET†:h%ícä-…Ä1.{¬=­.'Ø>Å"" )f§¨†8$š ceC ¹ì HÀç4¹¤òŒÍsn=­#ØTH€ˆˆ ZjzŠ© tÐK;ÚÇÈ[ ˆc\÷X{Z\O°}Š$@DDDA-M=E,‚:˜%îc$ ‘…¤±íc¬}…®Ú>Õ"A<ˆ=]输«þ­Yr¯”¬GäAêñCô_õjË•|¥c;µ†¼ybú¶è·ÊR}Â.|±}[´[å)>áomuîèãž÷%?ÍaüT-3[™Ž{Ü”ÿ5‡ñP´Ía;ʈ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆ€ˆˆˆƒÐO"Wz/¤êÿ«V\ªXȃÕâ‡éJ¿êÕ—*ùJÆ­ÚÒן,_VíùJO¸DòÅõnÑo”¤û„]½·Ñ{º8ç½ÉOóX LÖæcž÷%?ÍaüT-8…Ôâ9ÄÑJ÷¹€BY hcó6åÀ´æs Ýäî á;Ê"DDD@E-K©Ý 4ÑK20$ä¼4g7 ‹®@¶à@»­s" "–SˆçE+Þæ d¡ÌÛ—Ó˜eÌ, wo¸ƒ" ")j]N馊XÙ‘€‰$%á£9¸hÜ]r·Ýk‰­u?‘®ŠSP^ÒljcYgf¹nI%–7±Ün B$D@DDRÕºÕS:’)b§/q‰’È${Y}ÁÎ hq× óE" "•®§à²5ÑJj ÚXñ k,ìÀ·-É$²ÆâÖ;ÁlHˆ€ˆ¥«u;ª¦u$RÅN^ã%Hö²ûƒœÐâ®@æˆ"DDE+OÁckb”T¸½æ@XæY¹@n[‚}ÍÍî7 à‰´Ž§mT.«ŠYiÃÚedRÞæ_xk‹\H½‰ÜÇ‘Hˆ€ˆˆ¥s©ø,mlRŠ€÷¼È Ë7( ËpA¹¹½Æáb]" "–‘Ôíª…ÕqK-8{L¬ŠAÜËï qkƒI± Û˜ò(JçSðXÚØ¥î/y9–nP–à‚ss{Âĸ"DDE-3©Û!51K#2<„<´ä7-;ƒ¬H¶ð»op""" "–gS˜àÅ+Ö1|ÁïÌë€Ñ”eÊ,K·‚o¼" "–™Ô횘¥‘™Ž@ÂZr–ÁÖ$[x]·¸‰³:œÇ†)Xö°‰‹ä~gX´Œ£.Qb]¼}à‰´Î§l„ÔÅ,ŒÈðròÓÜ´î±"ÛÀ"í½ÀDˆˆˆ€ŠZ—Sº@i¢–6d`"IÉxhÎn7\mÀwZæ$‚yz¼Q}'WýZ²åZ¾EØœTš€¡€Ñâs¼â5n½5Ó4æîcH¾ãº÷ÿÌ,¹>&ü¸f9þx=O†±ÚÃùbú·h·ÊR}Â.<±}[t[å)>áom?uîécž÷%?ÍaüT-3[×£Z+[¦¾BX^aõ”UTaÍžºG2ñ+‹œÖ¸E‡ØwÙ`î*ºÄéø_qÄÿf¹æb&KK¢Îîò[ÓæÎÊwb˜8™ísÛ£Äó9­ 8Á.@.mϲã}ñUÖ'OÂûŽ'û4Ê K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K¢Ï\Uu‰Óð¾ã‰þÍ8ªë§á}Çýš^ K=y!Ôâ´~KŒªÁ0¸±\F,B±ðQIUÁÄä9—nеÁ¤‹Úâ×°% ’.Siî“iìUµ¸¦‚K£8}4²TÖ¹òÍ;•옘@aq;œ2€HvZ~¡ð\{WZ´¤Ñ-Œx]5DÒVìèkÚØ¥{³‡prH1˜‹ZA$ú@‹^SâØÙc6Ê8À%óËO]’!í{³S4Xr›¹£vò9VS-"kËÕ»E¾R“îw<¸©" ÔV C†H©«`…6»šØÈwø"íí¾ŒëÝxù;z´hÎi¿Sk—X:E£Q¡X„ÊÚLs¥¦«Å^Ö¾(Øfhu;FûHöß{€ôo’ææ?¯&šI+|š46(els2#:Ù$napKs4\ ¯¼+¾« Çê¢Ua8ñ¶FH%sÜØàö:ÆV¹­p>‹’¹ù=Ó‡mÒßL “› ©ûúeSáP¤þrmoÂ.ÚY)òùÂOï¾'ÞûfÊÖÿÞø·ÍÁ´£ ahÉà/^•Žœ#ãT~ ¥ûFO86”t #í<öZƒQñî\Š÷º£pm(èGÚ2x Á´£ ahÉà+rÊÏ\pŸQø6”t #í<àÚQÐ0´dð´+!sÂ>5FàÚQÐ0´dðƒiG@Â>Ñ“ÀR啞ȸ5»ÕƒiG@Â>Ñ“ÀN ¥ûFO/)eg„|kŽñª?ÒŽ„}£'€œJ:öŒž·’ÊÏöÝqÂ>5GàÚQÐ0´dðƒiG@Â>Ñ“ÀSÚÚƒQñ®x@çTn ¥ûFO86”t #í<- ÇNñª?ÒŽ„}£'€œJ:öŒž{- Á¨ø÷.EFûÝQ¸6”t #í<àÚQÐ0´dð¹eg„.8OƨüJ:öŒžpm(èGÚ2xZ޹á£pm(èGÚ2x Á´£ ahÉà)rÊÏä\Ž]êÁ´£ ahÉà'ÒŽ„}£'€—”²³Â>5ÇøÕƒiG@Â>Ñ“ÀN ¥ûFO[Éeg„{n¸á£ðm(èGÚ2x Á´£ ahÉà)ím Á¨ø×< sª7ÒŽ„}£'€œJ:öŒž…c„'øÕƒiG@Â>Ñ“ÀN ¥ûFO=–…`Ô|{—"£}î¨ÜJ:öŒžpm(èGÚ2x ܲ³Â'ãT~ ¥ûFO86”t #í<- u[ã¢ñ»+Û‹O1²™ò¸W> }Y4vÿÝl€íoTWRi3šZì?-"ÄBKÿ¡}4¤¸¸Ðá%ÅÅÄùÆKÜ‹ý‡)¿Á.zV8G"àÔrïT~ ¥ûFO86”t #í</)eg„|kŽñª?ÒŽ„}£'€œJ:öŒž·’ÊÏöÝqÂ>5GàÚQÐ0´dðƒiG@Â>Ñ“ÀSÚÚƒQñ®x@çTn ¥ûFO86”t #í<- ÇNñª?ÒŽ„}£'€œJ:öŒž{- Á¨ø÷.EFûÝQ¸6”t #í<àÚQÐ0´dð¹eg„.8OƨüJ:öŒžpm(èGÚ2xZ޹á£pm(èGÚ2x Á´£ ahÉà)rÊÏä\Ž]êÁ´£ ahÉà'ÒŽ„}£'€—”²³Â>5ÇøÕƒiG@Â>Ñ“ÀN ¥ûFO[Éeg„{n¸á£ðm(èGÚ2x Á´£ ahÉà)ím Á¨ø×< sª7ÒŽ„}£'€œJ:öŒž…c„'øÕƒiG@Â>Ñ“ÀN ¥ûFO=–…`Ô|{—"£}î¨ÜJ:öŒžpm(èGÚ2x ܲ³Â'ãT~ ¥ûFO86”t #í<- Ç\ðQ¸6”t #í<àÚQÐ0´dð¹eg„r. G.õGàÚQÐ0´dðƒiG@Â>Ñ“ÀKÊYYáã„|jÁ´£ ahÉà'ÒŽ„}£'€­ä²³Â=·\pQø6”t #í<àÚQÐ0´dðö¶…`Ô|kž9ÕƒiG@Â>Ñ“ÀN ¥ûFO Bl\’ãGþö*ãÿù©•ƒäå¬ !Óí[ŒGI0™iê q§m~V²FÂÆF4ogXdÍ|§ù˜ËÊ“Òz~þå„;„UúÂA–ñE¿±ßýïñü[Ô¸^SQÅCG†àTTñF"…±U<²f†Æ"h°³Ao%®¹olå‰êÛ¢ß)G÷»Þ\”Lõƒañ=ÏŽ–¶ZçrØËA?ä]½¼|W»"y(úºèoÍfÿ™™dŒBgSáõ º(œöƒÉp XßÉGÕ×C~k7üÌË$ÖÃÂhç§Í“k™š×µÅ®¹jûJÆÌ!¢ßÒ G̲TÕhþ'OˆÓáòUM…ÑIl:zš˜bà²Þw å²¼ƒ˜ä$ÆîCtiÞ±*?Ø/­Ñl?¥¬dxÎÊJʘZsµïÎû8ßfZH"곂jóF´DbŸõ˜lœ'ƒÿoÁ$ÿÉ›Ñϳ·)µý¶TÊý[âRhö’h½“AO€cB±í§“ 2MK%Ng?,‚V‡0=îpim÷Û5“Ò®ýÒ 9䂆]ƒ«2ŒÒçdf÷vC¹ÆÖ½À$‡ׯÄk"Ö. „²kQTáõÇ”zRE5XëÚâÂY±Í¾öCôXè½e|uyóC¶Ôøk¢ÝG+‰2lß›tn&û;z$› k°ÚÉu‡ƒâìŒ:l&¾šW挒ÍFæ r›ˆdßì·Æéž2p ®Åcƒ„TDÀÚh=³ÎòcãsÜÖÿš¶ð=>àÚYŒét1Óâ˜Uc°ìF–†7<:«hai%ÄHš ä\ò•\Òý¤Ò‰ð¸q^S…QÔ:¢£ž˜K[¶nla÷6ÊÒâënàÓºÛíœOTøCߊÃMO£ôÑÒK- ÊzÚiL‘Ô´sèµÍËéáÓëf—Ðà/Ðln™µXtõ’y© ¡É3¶r ’î±.ÞÐ},¬3YtÒàMH±L^²£§Æk[‡ÓFÁM¸{›$»®ZûF×HïDòòžÌú#¤UXÖŽUé.üFšš¢†¤Ç„¹ÍM3¢sšÖÉcÁ„òç çÑTê Zâ8FE¤ñQÔ7¦Àëæ›Ú‰ã®k%»FìäßÊ^ÝâàÚêú¬cZº?‡¾¥ÑPbø%.O‹OYI  )&Ï–R\öÁ„–˜ƒè‡YÖ¿–:¬Õe!À´ƒ Å_KIŠhå&|GS2³5²˜g$L7z?ËË¿vEŠM…¿«lF³ÕÖbØŒÛzÚÜ"–¢¢L¡¹ä|-s`$›²´;ZuUÚa&“ÑÓS¿š¦zÒµÀÕÒGQ-;,MåÚÀæ›n%ìÜ.¯m\aµ˜>¯4oÄ#VPá4´Õ Ë#!k\.7w…oÒê·3àõX…]UENˆVÖÆb´LœTUº¨E+wçk$Ù¸o”`î¹)ú¬ÚêÃçÇðY«4ŽQ_%] KaŠ–©ð>OâÈ7z-Ì\âNVžAQŵ­£ô¢H°üc¤¦Âé±yêé`a†:Ióå”—=§pa% f ú!Öu©uZž¡‘”3í°jêêIkñlµ”ÒESTúŒ¦##Hs ì׋úW6SV¢» ÒJâtÔÆô~— ¦  Š—bÙ†vFl§m¹—C@¹¾ëèV*tç ƒ‡ç§®<¦Àä³¾yö=/ä!—&Çs¬ëöëñ¹¡Ó*l&ÃÁ£Ã¦®¯•Í%Ñ´9­ˆ ÙŽÔïte[8¾®+«qúªº}'à¸eV;EŽKEÀCÞééö´Ê_üŽ7ph!ÛîG¢n-ÂêÛi/‰Ó†>º¢:zv¹Íwû¤1ـ؞W¾wÛ™àu= Šc:y¥˜“áÒèî†×´OIEUG4óº±Ï•²µ­s›c”1À^×*³]¦PPi> _‚bô­«|ÑÒV=±*N•Ím¤/#AsZ^UKÑí Ò]¡‹Àtž,Ö¦‚¯ ÛÔÓÅ{ˆ™0•­-€º7-¼ÙS_ªÚ“¤Ðcž¤’¢Ÿ¨­ŽipÌõ/ŠvKà’]­ÜÖ²R”47+n×Y= †­mĨ[ˆTQbØM˜+ñ¸ª+àc[-+2mÐ×¹×i‘‚Ä ×¹†õÚnŸ³ÑK.Šé X”˜m¦Ö ޹£m•­i'jXFák9š­£—Âp|C}M%‰Ë£sC³tÍ@ Àæ9ØnmüÜ»·ücZ¸Ätƒ ÃaÒ\kÆ+0‰Cèe©Àƒàsr=³ÂéH”¸nÓ‹AäOC·ƒi‹ñÝ=ÀbÃg•˜Ev_S-4±5¯mD4ñYÇyat­ ^ü¶_ŠÎѽ nàø£fà vWCÁ0Ü4RS¼ñKŒvKl¬FüÅÄÜrÅ$[Š®|2ª ¶ÑÖI ÛC¢Úˆd-!¯,¸Ì±Ëq{ZáAÙVv1¦8ޱ1Àkð l3¤ªÍ[†ËRù_;¦]“ÆÄ{*¸g Ò7möZEO|0SÅ|<;gY鼟OÒnöÿ pô›~êÚ'¥0imf‘aQ…A=~KGVÚ¼óÝÐNÑ…µ ÌevâkD~žÖ Ò ìG …˜îZü2JX$.Ц¬†ldØåËÞ ˆö]TôÆtƒEjÛˆ6†‡I('ž‚µŒï§Š¥ŸÊðÒàçFæº9Ì kÆñÊ©ÑjÏ}-)VÜ^”âSb¸´U´¬{q:—ÆXÒöÿ+XË‚”B?û·=üBi´kÅ«´OÍØ5&!Ec‹ž:¦å¨ÊÇ2÷ sFRìô‚zê¯ÄñÝ Ž¿– «[]]M$ųc„5sBÒsoF1í?â­-#Ö&-Iƒèö"ÌGG°ZLoª§e~' ß4‘²gC!þ4wt‚&æøƒuùjØFŒévjûÁ©1jVºsS&úzHèf©šIçÌðæµÒÜ”€ËzDªÅf‡R¾£D8@¥¥Ñ‰‹áƒe›jÎ %;Y{Œ¶ö?Ëko¸zþ®5•S¤M¦Ã± ¯n-ÁÛSU-CNÉ©]Â¥ŽIÚZ׃ZZØ›9h.ÜÂýÄÝMŽVP`˜tÔ”›,G«¦¦‚š¨ctŽLÁޱ,ŒHãgè­Éµ{‰ÿ²øžŒÇ`õU]uEL1WঠÄÙä’WµÇlÐçÉv<å˼;”U¨´z² wF)d’z¬3GðdžÕÏ t“Õ6½Ûï˜E¶¹µ‰——•= V—bz…é^†QãZ1Á±ÌBjhv¸î}3³71`Hmi 3–ö‹££ºÁ® ÒiayÜÃ1Å^šE£ÞwÇôsá{2VKU³ÙæÛg§–·¸Ëm®kØò[ÛqE«ÐqCçl¼?I¨ñïú=ö|ƒù·æàßͺÙù ·ßC­‚k"*¹¨pï5bX–#].#±m3#`Ž–°Ó»6y¬Û]§1uc¹¤µ‹«¦Á¨"–=¢ÄÛN4–‹ ›ØÂêg“YU Î/ä/f|€\:öU-Ðö¢Å<íÂx,8œ[>“7 ­mUï˜Û&\œž•ﻑSß«\LáôúVذ(±øñ¸hŽ+^*ÅKâ2çÞÂüÖ³C…ÅË€±z¸¸ñí ¬¢Ò1†ÐѶ­”øUF#VÆÛhr–¶ØKƒAyÚïvïážNUo辳݋PhÛj4C‹Çpß8AO §‘† !.x~ÖÍgñ…³åq €âÐë‡Âji.'ŠBb~#;)©ÆpH¤Š<¬ä&×{ç}¹@x¸º¤h>Vèõ~QWC_ƒÍƒÒµ”&::œ°¼í Ú ± ìܶùèw©´ûžŸ ”ÕḦ![‡À vÉJ'2z[šx3ò‘rnÛskKI5±v®±lK¢Æ0Šé4jlk ¨­¦ˆ6F045¹½®‘€‡4{·3wª¬«©ñŒ>c¥9ð¼7¯¯¤¢jÙP×Éžî-uC‹Hp ‚Na!ªŽ¢´ŸòpM›F¶Üùö‚·ËŸu¶Éï6í÷нt{H(ñÊŠøðøç’ v¬Ê63J?‘›ÝÙçZ÷’ŸÒÜsE¼ÿ‚â& –®H›W†KS¶§cÈÀ¶¢<¥Ínbw‚Ûcxߢ˜¶àCG¢5…ÔÕ°¼á¸s˜ ©’áïŽBáh®ìû;n!ÙNðÕuÒá4Ôz9D64°R HE¯‘fFÿäPbÊ=7ÓH°^ãø­MlI#$~ƒá.ŽR×ÐÍ(‹4³?7ñ^Ù”—¤Ú·Q­l2*xñsM\Ì5˜.#‰TS:•¼%Ž£ž8dfm®Pàç¬Tg¶}û;e·÷¹nÞE} š§Mã‡Íð7G1Ùq GjúL=¬³¾ÃK¦9¥ cv =ÍuÜ[î\j“Ä4‡BYŠârHú‡âñ&Ææ²:É£¥­Ö1­çݾæå}é^‹Wâ:A…i G…bx|R—ÍGÂbš K šY„8:6àíÛî+«£ø&’è~ŒRàØ$xf+ñAbèÞ¢¯Ò [Â1¸fžZXpj)!›„½Ùx;£–W&bÑé[yphäøÄ4ñÕÖŒŠWTaP»ª Æ©kÒ-• ÓäyisGòÄüÌq¾Ä…!ªˆñ¨±º!Äè«1LVz9ÌámŽ•¥.Ù—@÷¿i|îÌ㙦Ã-‚íRjÒ˜A„ÁQæh(kê*æ§ÁðnCe¤’˜´°Jë:Ò\¾æá Xr«éÜ7YX M-Eee6#„ÒG…»†zØšÖÔÑ6Ù¦`cœàfú/ ¦ßGzèWë#Š·G"§Õþ‘:%1¬ –ëKF4kŽŠ£¯k݈Ö>ä°¾šiàld"9×Ñs9/uséÇbØ l³µ±á5’ÔºEœNM4‡~ïí¯{åµ·Ü[Xªðl ˜ em[©ð¬BjÉYÛIPI%+c/rµ‘¹nãèÆÆ*:=¬,'­Ã¢e'GK‹2GáUµQÆØkšÆ—̯/o  ÆÑ¬»A"ê…Q¬i1 ÐépÚ\JƒÄë*K몢„A[LÊ:‰˜s9ì£cÁsXH®.»Ú;«©ðù°*lCn!„hìRE„ÒŠ=”­‰Ð´™È¶'9£+YËsrºXV«ëàfŽáØ–”¶¿Ñý¬T”~n¾HK-8d²‡œÎkesCA 7mÍÃиôKMðí"¯Š’?¡uMÄ(]Y+)³íY•î ]Ì»^á»·«¥XzµÕÝ6…UM޾(©x,SÓ`L¦®{.Ò6ÓµäIü¢öcnlNð¯Å»y} ¥#ÿK‘<¾¿áÒ‘ÿ¥È»;«Å[µÛPšýÒ VÐ?à4øž%Cª]Nà#$s2’×í-eÁ¿òîµÊË\sbê;ûèý(‰ÔéÓ3r&`ãQßßGéN9Ñuýô~”EãN“)8æÅÔw÷ÑúSŽt]G}¥4é2“Žl]G}¥8çEÔw÷ÑúQN“)8çEÔw÷ÑúSŽt]G}¥4é\¤ãQßßGéN9±uýô~”DÓ¥2“Žt]G}¥8çEÔw÷ÑúQN“)8æÅÔw÷ÑúSŽt]G}¥4é2“Žl]G}¥8æÅÔw÷ÑúQN“)8çEÔw÷ÑúSŽt]G}¥4é2“Žl]G}¥8çEÔw÷ÑúQN“)8æÅÔw÷ÑúSŽt]G}¥4é2“Žt]G}¥8çEÔw÷ÑúQN•ÊN9Ñuýô~”ã›QßßGéDM:S)8çEÔw÷ÑúSŽt]G}¥4é2“Žl]G}¥8çEÔw÷ÑúQN“)8æÅÔw÷ÑúSŽl]G}¥4é2“Žt]G}¥8çEÔw÷ÑúQN“)8æÅÔw÷ÑúSŽt]G}¥4é2“Žl]G}¥8çEÔw÷ÑúQN“)8çEÔw÷ÑúSŽt]G}¥4é\¤ãQßßGéN9±uýô~”DÓ¥2“Žt]G}¥8çEÔw÷ÑúQN“)8æÅÔw÷ÑúSŽt]G}¥4é2“Žl]G}¥8æÅÔw÷ÑúQN“)8çEÔw÷ÑúSŽt]G}¥4é2“Žl]G}¥8çEÔw÷ÑúQN“)8æÅÔw÷ÑúSŽt]G}¥4é2“Žt]G}¥8çEÔw÷ÑúQN•ÊN9Ñuýô~”ã›QßßGéDM:S)8çEÔw÷ÑúSŽt]G}¥4é2“Žl]G}¥8çEÔw÷ÑúQN“)8æÅÔw÷ÑúSŽl]G}¥4é2“Žt]G}¥8çEÔw÷ÑúQN“)8æÅÔw÷ÑúSŽt]G}¥4é2“Žl]G}¥8çEÔw÷ÑúQN“)8çEÔw÷ÑúSŽt]G}¥4é\¤ãQßßGéN9±uýô~”DÓ¥2“Žt]G}¥8çEÔw÷ÑúQN“)8æÅÔw÷ÑúSŽt]G}¥4é2“Žl]G}¥8æÅÔw÷ÑúQN“)8çEÔw÷ÑúSŽt]G}¥4é2“Žl]G}¥8çEÔw÷ÑúQN“)`­zëÖ¶-M6#MOGADd”Ñ6å¡Î&îw)u²Žm܈ˆº©¦"-3/ÿÙlepton-eda-1.9.10/docs/wiki/media/geda/path_example_and_gate-smaller.png0000644000175000017500000001055213634703632023073 00000000000000‰PNG  IHDRæÆÆÆüsBIT|dˆ pHYsgg&nXétEXtSoftwarewww.inkscape.org›î<çIDATxœíÝy”TåÆñï4¡5@PDq%DˆÁ}A3.‰!zŒ Êh21*ŠGǘÁ¨™L†‰Æ3kôˆGMô$fTDã¸D'š¸¢¸/¸o`pA%…†ßüñV;EÑÕÝtWÝ·é~>çÔ©ð¾¯÷þ:§Ÿ~ï½uë½j„E¨Ðj‚"â‘Ê>ë†H7.‰‚(o_½aúû?ÍU[Q¥;ÂÃaè"xgÌx7âÙÜuõ °>UÙq¼; †å(ÊŠÑ 6úޝhÿ%p2lV|EÅ"<n¿FõV§Á.Ã¥I "ÎY[Ÿj½’ÆXhH {’íàç—À¨†Ò¿{gÁfÏÙÀW2–V=˜Ëa 0³ÀZ¬`+Zé[S$M–Vy-Þ^Ëë[mí} Æ5T´ Ø6ÌQO¹ªÁ쮞)®+R/8*¿„‚€§Hך_ë—Þ+†¯žž¬x͈eu)¾&KS€Q•í‹áý 嬢j0{ÁGÀ q[õX†JGS%˜ ðLj˜ÚRŸ¤>ÀzÀ`0¶ôþÀÁeC›$=Ìnnˆ·k÷tÎÓpÑ•°Ý0¨¹ívXòhš²êÓ½ö‡÷z5Á€Þ°´|<'¬u‡'Ö~+࣓`ÉÀŠ£ÚW¡ïJ¨:ÓED°¨ôº»¼OÒ0RHË{0ðu`¥¤9À-ÀÍÀ¼ˆXåŠp‘˜=Vô{8~$¬·Ïß<‘ýNÀxÒÕפsÊK€H¡¼3çÿqV_’6¶ªÒý`D¼W£ý¬ìì[zmZêZH é-À±¤ûëI}»Òa·šsWºúú40-"ÎÍZ•uk’Æû‘B:tJµ øp)0»4+÷X½r`=OD<?‹ˆ=€ÁÀdàj`{ààI?.÷H¦eïGĵq$°p éÜu𪤫%í–³ÆLë2"biD\Ûq¯#]8ºGÒ#’Ž-¯v{¦uIqD|Øø1éw&ð†¤—´nÖëÌÁ´.-"þ?!Ý»{(醗éÀ|IGIê–¿ÃÝò‡²î'"š"⺈؅t±è#àrà!I{æ­®öL[ëDĵÀç€SH3é’n”4:ka5ä`ÚZ)"–EÄÙÀÀÀW'$'i½¼Õužƒikµˆx'"N"Ýúw pð¼¤ÃòVÖ9¦u 1?"öÞ®–ô+Iý3—Ö!¦u+ñGÒýß—Gó$픵¨p0­Û‰ˆ#â`ðà^I?X›>ZYk 5[Sq=°5ðGàtà.I#²ÕN¦uk±Ø8Ø xLÒAy«j›ƒiÝ^$ç; €Y’¾›¹¬V9˜ÖcDÄcÀnÀ½ÀY’Îïªç]²(³z‰ˆÅÀ—Ißûü6p¤ÊÅŲs0­Ç‰ˆÃ€³ƒ€ÿ•´~ÞªVå`ZT:ï<ø°3p¿¤‘™Ëú„ƒi=ZDœBZŒîI;d. p0͈ˆÙÀÞ¤§$üAÒö™Kr0Í"âà‹¤Õún•ô¹œõ8˜f%ñ0‘´Øùí¥uw³p0ÍÊDÄ_€Hk Ý!iHŽ:L³ qé㔑Àï%­ö`çzs0ÍZ7SH_!»IR¿"÷ï`šUWÓH…®)=嬦Y+"â<à?€ýŸµ_Ó¬ 1˜ L“4©ˆ}:˜físé©Ù—±L¦ƒiÖñ>éÖ½Ò7Rêú Ó¬"âQàŸÏ×s_¦Ùˆˆ+(­À'éØzíÇÁ4[s'HÚ¶;p0ÍÖPD|DZs)ðÛzÜ|à`šu@D¼l ü¨ÖÛw0Í:("®nN•4®–Ûv0Í:çÒw8/­åŠ{¦Y'DÄ«¤CÙãkµ]Ó¬óÎ~*i£ZlÐÁ4뤈X ¬ \X‹m:˜f5ó€skñlÓ¬v¦¯’¿ÐЙ 9˜f5’Â9’´úA‡9˜fµuð ð£ÎÜä`šÕPéBÐt`8é›(â`šÕÞµ¤›ÜÿURÿ¶Kj´qy›ƒiVcÀIkÓN«6NRÃÎÒÌSàÉ™0÷Hé±qÒT€ÂVý2ëI"âfIß•taD¼[9f8çj˜²yi‚<†]?%½äÓ¬~~ ¾×Rç°ûæG­GÃcà8Ó¬NJ+ºß_y®)©ï t§ÐjÀ§L³ú:è|³¼1"–=oV~x æ;˜fõu3én *;ƒïŸ///ý{!Ä7`Οáß|ñǬŽ"b…¤™Àé’¾w7÷½qÏ@i¯àûý`Üb¸kœK•®ì‚¤1ÀÓÀ´ˆ87ÏaÖýHJš5oˆˆ¬2æÀˆ¸¡ùß>”5«³ˆø+p=p¤aíùoL³b\DZŽ]kÑ:˜fˆˆ{€'€©’z·5ÞÁ4+ÎÅÀÆÀ>m t0ÍŠs-°8¸­¦YA"â-à^à€¶gL³b͆»µ6ÈÁ4+Öl hãpÖÁ4+PD¼ÌZ]IÏÁ4+Þ,`„¤ª p0ÍŠw}é½êᬃiV°ˆxxØ¿ÚÓ,;­$ j©ÓÁ4Ëã>@À.-u:˜fyÜWzŸÐR§ƒi–AD,^vm©ßÁ4Ëç>`GI«­$â`šås°°Me‡ƒi–Ïý¥÷ÕÎ3L³|>¤…+³¦Y&¥'ƒÍ>[Ùç`šåõ°Ee£ƒi–×s¤G%¬rƒi–×ó¥÷áå¦Y^Ï•ÞWYoÖÁ4Ë«9˜ž1ÍºŠˆX|€gL³.çeÒ]Ÿp0Íòûh,op0Íò[‚ƒiÖå,ú•7øÁµfHÚ`(\Øú †/¬„u6’~°^r0ÍòØvLüô/kÛàXî`še²!,ŸØB{/XésL³.ÈÁ4ë‚L³.Èç˜f™,„†ÛZh_ ½L³<~n›ý–¥KFôƒÿèKÌò(ݼ>@ÒëGÄךû}Ži–_à£òÓ,¿þÀÒòÓ,¿8˜f]ÎfÀ[å ¦YF’6 ͘o–·;˜fymYz_PÞè`šåÕLϘf]Hó*ìž1ͺ-IZ\Þè`šåµ%ÿ¿û'L³L$õFÏVö9˜fù|žô@¡*;L³|v-½ßWÙá`šå3ø;0¯²ÃÁ4Ëg0'"š*;L³ $ 6îo©ßÁ4ËcBé}µóKp0Ír™-\‘Ó,—½€§"bqK¦YÁ$mAú ó¦jcL³â\z¿¾ÚÓ¬x“€×"bnµ¦Y$m ìÌnmœƒiV¬ƒÑÊa,8˜fE›DZxëÞÖ9˜f‘4Ø ¸1"V´6ÖÁ4+Ρ@oÚ8ŒÓ¬Hǯ··5ÐÁ4+€¤ÝqÀ̶cÁÁ4+Ê ÀràÒö v0ÍêLÒPÒÝ>³#âͶƃƒiV„c€¾À/*;J›Ofî§m+!©ü¨w³º*­„7x2"î.ï)í~,\y&lÖ,„„/IÚÛ3¦Y}íl\TÙ±5œyV)”‚~ ;î?u0Íêë_€%ÀUå’úŽƒa•ƒ›ÃhÓ¬N$í ì \KÊû"bÙâôh„Õ|s0Íêç àà?[êœ ÷¼+ËÛ.‡EÏÀ%¾øcV’öv¦GÄ»-™ Ó‡¾»Ã£¡ÿ}ðÖ_àÂ"îp0ÍjL’€Ó·sª‹ˆåÀTI ÀЈx½¹ÏÁ4«½CñÀ)•ç–-)ôõò6ŸcšÕPésˤѮvCA{yÆ4«­oc€ã#⣎nÄ3¦YHZ—4[¾\Ö™myÆ4«¤»|.7v˜gL³´ é.Ÿ"¢ÕðÚÃÁ4ë¤ÒŸKIwòœX‹múPÖ¬óN¶NŒˆ7j±AϘf ià'ÀƒÀŵڮƒiÖ9‘¾}lD¬lkp{9˜f$i2éû–ÿOÔrÛ¦YH \5"®ÇÇ´µ’¤¾À·Iu>ü8µˆìŠàÓÖ:’žÎ^öŠˆºK(ÁÁ´µ„¤>’‘ôp Ð8Ø."îÊ[]íùPÖº4IC©ÀqÀFÀ{À Ò3)?ÌY[=9˜Ö%IÚ8˜DZUàQR ]ïÇt¦u’¯“9žôœYÀ/"âÞœµÍÁ´¬JëÙ‡ôÈô¯ƒ€Àt`fD¼™±¼lL+œ¤±¤ î L ý.þ\ Ì.rÕ󮨤ñÀ0`D©mŒ¤‰¤Ãˆ;#"²Ugu%i`«*ÝFÄ{5ÚÏ:À^¤ î lZêZHúæÇ-À9ïÒ‘Ô7"–åÚ%õeáÀ^M0 7,íφEp@Dü!w‘Vƒ¥9[Á˜iu¸O¼ }_+Þ‹8qM·)i0®ô[zOúxc%é;‘·7órÿá+=Ž ë-€Åsà7Güp*pOqåX‘z§‡çŒn©¯/\ö·ˆ©—T¨‰ÒaËaTùùZ¯¤?4YU ¦ÒáÉkñLõX†Jç®!§‡àäã`ÜE0ªéþ4xy.|?wm}4¦ó†U4Á§ùánO±^Ú>«4Q|bônLßÚèÖÞŠx±QÚó8c8 ]ï̃ïF<›»¶ÿÛã¾qÕsIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/dialogvac.png0000644000175000017500000004162413634703632017102 00000000000000‰PNG  IHDRnLr$0³ IDATxœìÝ{\TeþðÏ ?QEQÌR#'\uÃDÄpLDÙM Ñ-/)™n¦¶jI^,,MM`Ó2˼¡•d‘wYSÔ]• Á‰‹r‡óûÃåÄÈ܆Ï{_gyÎsžó=gž˜ï<ç&Q*•ˆˆˆˆ¨É³0uDDDD¤&nDDDDf‚‰‘™`âFDDDd&ôJÜΟ?©TŠóçÏ«”K¥Rµ¯5vìXuÔ©k}"""¢æL¯Ä-66ˆ5h%‡2h9""""ú“ÎÄ­°°‰‰‰ˆÇáÇQXXàÏÑ0©TªòºúßO>ù&LP)€O?ý}úôÁðáÃqíÚµZó5µyëÖ-øûûÃÉÉ >>>HOOìÚµ D§Nàá᯾úÊÀ]ADDDÔ´éLÜvîÜ ___tìØ¾¾¾Ø¹s'@©TŠÿÖ|]­¨¨{öì©Õ^ZZÎ;‡Ñ£Gã7ÞиÞGÛ\°`‚‚‚™™‰°°0Ì›70þ|lذYYYxï½÷päȽ6œˆˆˆÈÜHjÞ€7%%)))P(b…¡C‡â“O>ÁSO=…K—.aöìÙ8q £aÕ‰Õ£¯333Ѿ}{•y5ë OŸ>¸}û¶J¹¦úÎÎÎ(..ëXZZ";;±±±xï½÷0räH,Z´Ý»wëÄÅÅs_5*www¸»»‹ï[W¿P—´>}W®\———J#§OŸ†‡‡‡ÖU'mšTVVÂÒÒR|_UU ”••©­/‘H––•òLœ8@DDÆŽ‹éÓ§€Ê¶™›êA¨êäM9ˆˆˆÈL0q#"""2z*­yÅ!™^PP¯ô¤fÍÔ}ÜØë7õöQóÁĈˆˆÈL蕸•——7tDDDD¤G܈ˆˆˆÌ„^‰Û·ß~ÛÐqµh}ûöÕYG¯Äíнáõ†ˆˆˆˆ4‹Ð£ŽÞ7à}aH‡z„Òp¾:•gꈈˆˆEžœÐÔ’¤¦šL5„:?òŠˆ¨)H|÷/u^F¾ä\“]5?ì;Ô˜¸‘٪˗œ!_¢½j~ØwÈØøÈ+"j–òn¤àç(ü´v˜©C!R‹}” Ñà‰›|€kBW;¿.ê϶mk|±°?,[KTÊ-[KðÅÂþ°mÛZe?'¾û<ÓÇNå}Í׉ïþ{—<¡ý:¨­£i™š‘©åß¼€_¶ÏDEÙŒXpÌÔáÕÂ>J†jðÄm^€ Þú×o ½š« ¨2 áõ”½Jùð§ìq!£Eµ– ÙI­b‡õßÙ™™cœõZ¿|É9ñP@Í×Dåëç Ì8#¾/¼}¿ì˜¡ªƒ¦n1adD±’1tŽ[â»ÁÇobH_;,ŒMCG[K¼ù‚+žt±Áµ;ňܕ¬{¥âèË·Ë@¾äº:Xáíɽàhg‰/’îˆíiZÞÇ]ŠiÏuAçmu¯Ÿ'ÝÁ‘ Jãly3’œ‹—GuÅ‘”?÷ß_;bë÷Yjë·±”`øSöHºô‡Úù2 ÑÉ®MƒÄJdl¿lŸ ìœûc°"×NlCUE)ÚuzvÎýMû(•Á#nÖm,°06 >Îߟ»‡€w.à«ãÙx}|P‰€¹ã\pêjB¢/öíŸ9£¦åçŽsÁûßdÂoy >>xƒ·54Üfí?™÷acÝ =;ÿÀµóÿÁÆÊÿɼ¯¶þ¿ŽÜÆK>]ÑÊBý°[ÿžípKYÚ`ñSç¾#ùY—p9ar~ý àñÊNS†E$b%c2øªÒ}§sÄ×y¬=†ôµÃ‚¿=L¸**µËôïÑ+¾¸†%•ˆýႼ´.¿ù»›øç‹½ükâܪ¯74Üf/áß¹ðÿ«#bÜ€ÿ3ŽHøw®Æº?ÿçLör¨¿8Ôš—øî_PZ^…u{22\"£é¸ ÅÛn¢àöܺ°`mÛÙÄQý‰}”ŒÉàÄ­¨´R|-Àß#/"_ÍùT5UV jÏ­Ò´|Br.ޤ(áéÖó\pòJ>$çÔn€ðCŠÛæ>‰í?ÝÁÐ~ðéáËë ûÃ-Ì×½ÖnDd–¤Ri—Q*ëþ$–ÆZ5?ì;Ô˜¸‘٪˗œ!_¢½j~ØwÈØx¨”ˆ¨NŸ>Þ½{£{÷î¦…Ì ûÂ(‰›¡¿ÆŽkŒÕ™Drr2üýýQXXˆ7n˜:2#ì;d(“ޏ:tÈ”«'"ÒÛÉ“'‘””$¾OIIÁøñãQYY‰„„ÓFMû“A‰Ûµk×0|øp<þøãظq£X~ëÖ-øûûÃÉÉ >>>HOOGnn.ž|òI”——***пäææŠ#u˜3g\\\зo_lÛ¶Mc{¤JÛþõ÷÷‡T*…ƒƒd2öíÛ@óþ&"ÍÆ‡ÀÀ@Œ5 …’’¸¹¹aðàÁ&ŽŽš2ö2&ƒ·ùóçc̘1HNNV9ñrÁ‚ Bff&ÂÂÂ0oÞ<8::bÀ€HLLüðÃ0`UÚ{öÙgñ믿âûï¿GJJŠÆöH•¶ý{àÀ(•Jäææ">> . y‘fãÆœ={ááá8xð àØ±c¦ ‹Ìû“D©T …B¡23..'NDÛ¶mUÊ»té‚ÔÔTØÚÚxxŽ›R©„³³3Š‹‹Åz–––ÈÎÎÆ°k×.|öÙg˜6m^|ñEŒ3F\®{÷îøí·ß`ee¥²Mí‘*Mû7-- +W®DJJ îÞ½‹’’­û›ÈœTÿýh¨úê–{î¹çT~è8;;ãÒ¥KFY5?ì;TWöööˆŽŽV›U—4âÖªU+TUUÕ*—H$HKKƒR©„R©“¬çŸgϞů¿þŠsçÎA.—×ZNMí‘*Mû788ƒ ÂÁƒ‘‘‘!Ö×´¿‰H»üÖÖÖâ{žf@úbß!c1(q:t(>øàañâÅb¹···xìþÌ™3 ´iÓãÆƒB¡À„ кµêíãÆŽ‹]»v¡¤¤ééé ÓÚ©Ò´³³³!—ËѦM¬X± ‚ÆýMDº}þùçkkkžŸDu¾CÆ`Pâ¶jÕ*üôÓOxâ‰'àââ"–¯[·©©©puuÅœ9sàåå%Λç¸ñ‘WDd¶ëA|Š}‡Œ‰™¥Æ™àŠ}‡ŸUJDDDd&˜¸™ &nDDDDf‚‰‘™Ðëâ{{û†Žƒˆˆˆˆtàˆ‘™`âFDDDd&x7"2K‰¤ÎË‚Ðd×CÍû5&nDd¶êò%gÈ—hc¯‡šö26*%"ª‡ãÇ£cÇŽhß¾½©C!3þC†08qû׿þ…‘#G´¬!¿*† fô6‰ˆêãäÉ“1b PXXhêpÈŒ°ï¡ >T:kÖ,äçç3­Ž;Öhë""zÔÑ£GQZZ ¹\øå—_0räHTTTàÔ©S&ŽŽš2ö2&ƒFÜ$ JJJ`ee¸~ý:† +++ :ׯ_×X^=2Vóß?þ;wÆ€ðÛo¿‰å~ø¡8ª§®~¯^½PQQQ«Í–FÝ>4.šêß¼yÞÞÞ°²²ÂàÁƒ‘––f²m"jjFŒQ£FaÈ!€•+W¢¸¸2™ &ŽŽš2ö2&ƒ·ê“-«ÿ}õÕWáããƒüü|øøø 44Tcù£ËÀÕ«W‘žž¼úê«bùƒðÃ?ÔZÿõëב––†U«VaéÒ¥jÛliÝ'€æÏESýÐÐP„„„ ??o¼ñ^yå“l QSô÷¿ÿpúôi̘1{÷î\¸pÁ”a‘`ß!c’(•Jâââ P(TfÆÅÅaâĉpvv®½ D"&J666ÈÊÊB‡——‡nݺáþýûËk.[óu~~>œœœP\\ ‰D‚üü|ØÚÚªÔ«Y¿ªª ­ZµªUÞÒhÚ'úìÿGë‰íZZZ¢¬¬Ì$ÛD¤K]ÿ›7ôoDÍ匳gÏŠóºwï.Žd×w=Ôü°ï!¢££ÕæcÕeF»ª´ªªJü·fÇÓT®Nee%,--Å÷ÕI›&¼(öQî]û¿f}‰D‚œœ‚A˜´=âßÿþ7¬­­Å÷»ví2a4dNØwÈXŒ’ùx{{cõêÕ())ÁêÕ«1bÄ­å*#;ÿøÇ?ðàÁ¬]»V¬SW¶Iš÷¿&#GŽϽ8qâD­ŒŸˆ€ýû÷¬­­y~Õ ûƒQnÀûÑGáÅ_„­­- „Ï?ÿ\kù–-[€ÄÄD@·nÝгgOôèÑ»wï6(†GÛ$Íû_“7"$$öööpvvƲeË'P"3"—Ë1mÚ4tíÚÕÔ¡™aß!c0ø7£ÀcúDdSœãÖë¡æ‡}‡ ¡ë7>òŠˆÌVcݨ¥Þjˆê}‡ŒÍä‰]‘!ëoÿF‘¡Øw¨!ð²L""""3ÁĈˆˆÈL0q#"""2L܈ˆˆˆÌ„^'üñÇ Q‹foo¯³G܈ˆˆˆÌ7""""3aòû¸B*•Öy¥RÙd×CÍû5&nDd¶êò%gÈ—hc¯‡šö26*%¢féôéÓèÝ»7ºwïnêPˆÔb%C4JâÆ_ O*•B*•¢OŸ>ˆ¯5ãÆèÕ«žyæœ;w®Öüüü|¬^½ZëgURR‚ÐÐPôèѽ{÷ÆÆ¡T*áææ†ÒÒR•º¥¥¥pssÓøkóüùóJ¥8þ¼Úù†Æ›““899Áßß999â<©TŠ­[·ªÔŠŠ‚T*­ó6=zÏ>û,œœœˆëׯ‹ë¨¹¾Ã‡«¼4ÖwÞyGk̺¶×˜Û¥k5mܸ«W¯V;ïÑ}ðèK—.Å;wj­ÇX’““áïïÂÂBܸq£ÁÖCd(öQ2GÜš¥R‰Ó§OãÀØ¿¿X¾ÿ~lß¾‰‰‰8tèöîÝ[kY777¤§§kmíÚµèÝ»7._¾Œ¤¤$¤¦¦B*•ÂÓÓûöíS©»wï^xzzjLcccáááØØØZóêodd$<==‘™™‰¡C‡"22ReþO?ý¤òþÇ€:oìY³ðꫯâ÷ßGtt4¾øâ µÛ¹råJµÏ+,--ÅܹsñꫯêŒYÛös»ôéÀä-??ÿøÇ?tÖU*•âôÍ7ßà¹çž„††â¥—^Âýû÷u¶¡ËÉ“'‘””$¾OIIÁøñãQYY‰„„„z·OT_ì£dLuNÜrssñä“O¢¼¼PQQþýû#77þþþJ¥ppp€L&«õ…¡é—ù­[·Ä½¾|………*óëï‘#G P(`ee…B!&0Õ:wîŒÔÔTGý\\\ Ú†ªª*ôë×ÖÖÖèÑ£‡Æ$¦¸¸XmâùÁ`äÈ‘pppг¶í5ævéÓ6n܈¼¼<¼ùæ›Zë=*??K–,ALL ÀÉÉ Ã‡DzeËêÔŽ:ãÆC`` FàáhcII ÜÜÜ0xðàz·OT_ì£dLuNÜ1`À$&&~øá 0ŽŽŽ8pà”J%rss… êÕæ‚ „ÌÌL„……aÞ¼yu ‹jèÛ·/þûßÿŠïÿóŸÿà™gž©w»×¯_Gdd$œñÌ3ψ‡9=<ÿüs¼øâ‹€´´4( 0¾¾¾jÏÕQ')) ¡¡¡èÒ¥ f̘äädC¢$‰Ö÷†¨¨¨§Íœ9aaaâ<…BmÛ¶¶mÛ…B¡±¸¸8q¾B¡@\\œÎøõUs9Ajµ3lØ0|ÿý÷(--ž}û0bă¶aäÈ‘ø÷¿ÿ ™L†‰'âË/¿T[oüøñhÛ¶­Ê¡Ôœœ‚€:è³>Œµ]Ú¢M›6µËª‡Dµoß>TTTàoû›JyïÞ½QZZ*ŽjÛ¶mpwwìØ±‚ ÀÙÙ¹^mû(“A‰ÛóÏ?³gÏâ×_Źsç —ËÁÁÁ4h<ˆŒŒ µËVUUÊÊÊÄ2‰D‚´´4ñvv¶!aÑÿ\½zýû÷ß÷ïß_í þuÕµkW( X[[#((¿ýö›8oÒ¤IHHH@NN<ˆI“&©mãôéÓ¸rå ¼¼¼ •J1|øp\¹r§OŸ6J¼NNN¸{÷.€‡ RͰ´´„L&ÃÛo¿^½zÁÎήÎÛPÍÊÊ ³fÍ·ß~«ñP©D"ÁâÅ‹±f̓cÖ‡1·K“… âã?ƻᆱ÷ÉÔwïÞÅÚµk±nݺZóÔûg¨üÖÖÖâûêD•¨©`%c1(qkÓ¦ Æ…B & u뇷ƒËÎΆ\.G›6mÄó’jþq¶³³Ãþýû‘——‡ùóç‹åÞÞÞâ1ÿ3gÎ 44´>ÛÔ¢åååáwÞQÙ‡¯¿þ:/^Œ7n ''K–,1¨íçŸ'OžDyy9¾úê+<õÔSâ<[[[ÈårL:r¹¶¶¶jۈŦM›TFh6mÚ¤rV}â>|8PYY‰øøxx{{תãçç‡-[¶ˆ?8êº °bÅ \»v ÅÅÅØ½{·ÖçË5 ݺußwìØ‰yyyzǬcl—.:tÀúõë1{öìZW«ªóÚk¯aùòåj÷Ozz:¬¬¬Ð§Oƒã©éóÏ?X[[ó¼!j’ØGÉ ¾ªtòäɸzõ*‚‚‚IJÈÈHÈårøøø oß¾pttT9_gùò刈ˆ€§§'|}}ÅòuëÖ!55®®®˜3g¼¼¼ «E“J¥8p är¹xNð0áš1cFŒ€€üýï¯S»£G¼õÖ[ˆ‰‰A÷îݱiÓ&ñâ„j!!!HNNÖxB¿R©ÄñãÇ R€ãÇ‹‡Ùêï’%K°wï^¸¸¸àçŸÆâÅ‹kÕ9r$¬­­k%8úlCµ)S¦`îܹpuuÅ矮ó¤þG“O…B!^´ OÌú0Ævé£ÿþ˜2eŠ^ç°>|/¼ð‚Úsà<ˆ_|666õŽ xøpòäɘ={¶QÚ#26öQ2‰R©ÕóŽªÅÅÅaâĉhÛ¶­)b#j¶JKK¡P(°aÃ888˜:œFwçμôÒKøúë¯Ñ¾}{ƒÚJ¥u¾+½¡¼jŒõPóþCueooèèhµùXuyEdVVVøðÃñÑGáí·ß6u8î£>B||¼ÁI[µÆº¹7o"N†bß!ccâFd";vl‘I¼óÎ;õn£±F&8B†bßâR– IDATß¡†À''™ &nDDDDf‚‰‘™`âFDDDd&ôº8AÛÍE‰ˆˆˆ¨qpĈˆˆÈL0q#"""2L܈ˆˆˆÌ7""""3ÁĈˆˆÈL0q#"""2L܈ˆˆˆÌ7""""3ÁĈˆˆÈL0q#"""2L܈ˆˆˆÌ7""""3ÁĈˆˆÈL0q#"""2Z7wwwìÚµ«±b!"""j±¢££áîNkm3«ŽŽŽ6^TDDDDT‹»»{ý7}!"""¢†Çs܈ˆˆˆÌ7""""3!&nîî‹3a(DDDDTS\\œÊ)k¥R)T¿IIIAJJŠI#""""U^k ’¸QÓÅs܈ˆˆˆÌ7""""3ÁĈˆˆÈL0q#"""2L܈ˆˆˆÌ7""""3¡WâvþüyH¥Rœ?^k=©TZ§rmm×\FÛòcÇŽÕY§®15Ez%n±±±ððð@ll¬Ñ¨oÛ‡2rDDDDDM“ÎÄ­°°‰‰‰ˆÇáÇQXX(λv톎Ç7nÔY®oÛÕ£aR©Tåuõ¿Ÿ|ò &L˜ RŸ~ú)úôéƒáÇãÚµkµækjóÖ­[ð÷÷‡““|||žž®k·5:‰ÛÎ;áë닎;Â××;wîçÍŸ?cÆŒArr2”J¥Îr}Û®^F©Tª¼®VTT„={öÔj/-- çÎÃèÑ£ñÆoh\ï£m.X°AAAÈÌÌDXXæÍ›§k·5:µÏ*U(b…¡C‡â“O>ÁSO=…K—.aöìÙ8qâ K—.HMM…­­-€‡#XJ¥Rcù£´µ]s™G_gff¢}ûö*ójÖ)((@Ÿ>}pûöíZëVWßÙÙÅÅÅbKKKdggxøpW""""SxôY¥­«_¨KÚNŸ>+W®ÀËËK¥‘Ó§OÃÃíZµBUUU­•h*´ mmkS´iRYY KKKñ}UU,,,PVV¦¶¾D"AZZjÍ«¹?ˆˆˆˆSõRuò&*}4i^8°iÓ&ñ¥R©Ä¦M›Ä †Š>øEEEX¼x±¸œ¦òº´-•JÅQ°š¯µY¶lŠŠŠƒaÆììì°ÿ~äååaþüùbÝšmz{{#** %%%8sæ BCCu®‹ˆˆˆ¨¡) ¤¤¤ˆïµžãvüøq¨”àøñãP*•Xµj~úé'<ñÄpqqëh*¯¦T*u¶½~ýz€Êkmºv튧Ÿ~IIIXµj`ùò刈ˆ€§§'|}}ź5Û\·nRSSáêêŠ9sæÔ$"""j ÄsÜâââxXˆˆˆ¨‰©™£ñÉ DDDDf‚‰‘™`âFDDDd&˜¸™ &nDDDDf‚‰‘™`âFDDDd&Zë®Ò²U? ŒˆˆˆjݺáÒ™L™LÖ`í›;&nZT'm>ለ¨¥êÕ«bbbÞ íÇÄÄ“7 ˜¸iQ´õêÕËÔ¡µ~~~HHH`â¦7"""2HUU•©Chq˜¸‘A˜¸5>&nDDDdÊÊJS‡Ðâýv R©‡VyßRI$S‡@DDÔ`ªªªŒ>‘v r·•+WB„†hšˆˆˆšAŒ>‘v ’¸cïÞ½*eþþþJ¥ppp€L&þ}û<‘[¾|9zöì‰;v`öìÙèÝ»7·nÝ‚¿¿?œœœàããƒôôt±Í1cÆ4DøI$|üñÇèܹ3zõê…ŠŠ ÀÍ›7áíí +++ <iiiâh[ÍÕ-ëíí ‰D ôèÑ_}õ•XÿÍ7ßD‡‹©S§ÂÑÑ{öìѸN""¢Æ¤-³±±Ñ81q3\ƒ$n‹-Bdd¤˜œÀ T*‘››‹øøx,\¸Pœ×³gOìÙ³áááðòòÂÎ;ñúë¯,X€   dff",, óæÍ—ûöÛo"|­®_¿Ž´´4¬Zµ K—.„††"$$ùùùxã7ðÊ+¯ˆ¯f'T·lRRA@ee%vïÞ­r_œ^½z!11Ó§O‡0kÖ,ë$""jLÚ°ÂÂBµË2q«‰R© .. …¢Þ J¥RÜ»wÞÞÞxùå—1wî\(•J¤¥¥aåÊ•HIIÁÝ»wQRR¥R ©T ¥R AàààPëµ³³3Š‹‹Åö---‘]ï8õ§r7‰D"vªªª*´jÕJüUQTT¤cYY™J}MË^½zK—.ÅÙ³g‘ââb‚ Öµ^kZ'QC«¾¯¦ä¬&[[[ñuAAÎú¹¹¹HHH@ppp½blNjæh 2â&‘H°xñb¬Y³F, Æ AƒpðàAddd¨]FÓë´´4(•J(•ÊFKÚt±°øs×I$äääˆÉ•®ªæ²&LÀ3Ï<ƒ£Gâ?þ¨UWÛ~©Ë:‰ˆˆŒMŸsÖòóóùùù<ÇÍì!ó£FB·nÝÄ÷ÙÙÙËåhÓ¦ V¬Xz}@ÞÞÞˆŠŠBII Μ9ƒÐÐІ Ù`#GŽÄÊ•+Q\\Œ'NˆY±ƒƒƒÊ¨˜:·oßÆØ±caee…7ß|€~ûEÓ:‰ˆˆ‹¾äååñâ#i°Ä –,Y"¾ŽŒŒ„\.‡úöí GGGܾ}[gëÖ­Cjj*\]]1gÎxyy‰óFÝ q×ÕÆqåÊØÛÛcÚ´iðññlÙ²EçsNׯ_ <nnnèØ±#²²² ^'QcáU¥Ïèç¸5'žãFDDDžã¦îŸúÊËËã9n¨™£ñÉ DDDdŽ5>&nDDDdš·ý¢ÆÁĈˆˆ R^^nêZ&nDDDdޏ5¾½ªÔܹ»»‹æ"""¢?edd4ÈCæ “ÉL½yMGÜ´pwwDGG›8""¢¦£uëÖâ3ÅM&“1qÓ‚‰›îîîbGDDDdJ&nDDDDf‚‰‘™`âFDDDd&˜¸™ &nDDDDf‚‰‘™`âFDDDd&˜¸™ &nZ¸»»c×®]¦ƒˆˆ¨ÅˆŽŽ†»»»©Ãh²øÈ+-ª;Ntt´‰#!""jÜÝÝ™¸iÁÄMv """j*x¨”ˆˆˆÈL0q#"""2L܈ˆˆˆÌ7""""3ÁĈˆˆÈLðªR.^¼ˆ‹/š: ""¢A&“A&“™:Œ&‹‰›ÕI[xx¸©C!""jbbb€É›˜¸é¶qãF„‡‡£¢¢ÂÔ¡4[LÜôPYYiꈈˆÌ¿7Ž^‰[vv6õnT.—£sçÎÕÔpĈˆHüÞl8z%n‰‰‰8p Þ&&&"88Øà šAL‘Ùà÷fÃÑûªR‰D¢qºxñ"ÆŽ‹‘#GB"‘hmÇÍÍ ¥¥¥*e¥¥¥pssƒR©Äرcµ._=_*•ª¯©¼!üüóÏ4hìííáïïÌÌL€M£¬ßÆÆß}÷ÊûưuëVôèÑ={öD|||­ùJ¥?þ¸ÚÏùñLJR©ÔØvcm‘9Òû7 õ9Þ¥K—‰D‚ãÇëlÇÓÓûöíÃĉŲ½{÷ÂÓÓR©‡Òº¼®ù AÓ/‡éÓ§céÒ¥˜8q"²³³±}ûv¼õÖ[Z—1¶åË—cÔ¨QbÂÜë]´h¾ÿþ{XYYaĈ˜6mšÊ|{{{ 6 ß|ó &Ož,–ïÞ½Æ ƒ½½½Ö8ùKˆÈ¼ñïxÃÑ{ÄÍÂÂ.\ÀÙ³gaaa üúë¯ Cee%>ùä±\›ÄÆÆª”ÅÆÆ"$$ÀŸ#f»víÂÀÑ©S'xxx૯¾R™Ÿ~ú)úôéƒáÇãÚµk*mÞºu þþþprr‚ÒÓÓõÝÔZAP;UVVâÉ'Ÿ„µµ5zôèE‹‰uóæÍpuu…››ÊËË!®_¿H¥Røøøàúõë¸wïúõ뇒’‚€¬¬,ØÛÛ#++ ‚  ¤¤ýúõý{÷j­Š‹‹±{÷nñ½ =z4Úµk‡öíÛ£_¿~øæ›o Úµk‡¥K—¢k×®øì³ÏðòË/ÃÅÅû÷ï‡ ¸yó&F ©T ///üöÛoj·»_¿~¨ªªÂ—_~ wwwµuf̘­[·ª”mݺ3fÌÐcõ6´k×NeÙê÷úÆÈ‰'NœÒô½Ù®];“¦6H½:%n³gÏFXX¦OŸ ÄÆÆ¢´´½{÷ÆÓO?­Wâæáá‚‚\¹rpùòeÂÃÃC¥Þüùó±aÃdeeá½÷ÞÑ#Gjµ•––†sçÎaôèÑxã7Tæ-X°AAAÈÌÌDXXæÍ›§ï¦êmÓ¦M˜6mfÏž]+q¼qã.\¸€+VàwÞDDDÀÛÛYYYðööÆë¯¿.& {öì|ñÅhÛ¶-vîÜ øæ›o0|øp‡€/^Œwß}WåÒëo¿ý………ÈÏÏÇöíÛUö««+öïß9sæÀÛÛ_ý5^{í5À믿Žàà`deeáµ×^CXX˜ÚuŽ7#FŒ@vv6¾üòKµu† ‚‚‚\¾|ðßÿþ………2dˆÎµÑ7F""j: ëTNšÕ)q“Ëå€ÿüç?xçw””àáèXuÒ¦+q…BmÛ¶¶mÛ…BQ«ÎŠ+ðÒK/aîܹèÝ»76mÚT«ÎªU«`ccƒÐÐPœ:uJe^RRBCCÑ¥K̘1ÉÉÉúnj-š~YÈårüòË/xúé§1aÂ|ñÅ⯅åË—£]»v@TTAÀÑ£G+++„……áèÑ£3gÎÄæÍ›!¶oߎ?þÛ·o‡ ؼy3fΜ©ñ—Í„ жm[lß¾]Œ555S§NÅSO=…Ñ£GãîÝ»b}…B‚‚‚0pà@äææBüôÓO˜={6:vì…B3gÎÔZçÆqøða¼÷Þ{hÕªnܸ1cƨoúôéâ¨ÛÖ­[1}útqž¶kþ[s[õ‘'Nœ8™fÒö½YPP òÝZPP µ R¯N‰Ûš5kðä“OöíÛAàä䤒´é“¸Mš4 ÈÉÉÁÁƒ1iÒ¤ZuBBBpþüyxyy!""BLôÔ©¬¬„¥¥¥J™D"AZZ”J%”J%²³³õÝÔZ´uR+++Ìš5 ßÿ=Þxã ±ÓUÏôܳÊÊJ‚ þ+‚x¸qÓ¦MèСüüü`kk‹M›6A"‘àé§ŸÖÚ¹—,Y‚U«V‰ë©NȾûî;ñ‚‰šqÕÜ®š¯% ®]»†üü|äçç‹ ]ÍéŸÿü'¶oߎٳgcàÀxñŪ6¾I“&áÀÈÎÎFBB&Mš$ÎÓ'Æê}T}‘ƒ¾1râĉ'ÓLº¾7óóóùùù:Û õꔸYXX`çΰ²²Ë×®][çÄÍÖÖr¹S§N…\.‡­­m­:³fÍ©S§ˆÅ‹cÙ²eµê,[¶ EEEˆ‰‰Á°aÃTæy{{#** %%%8sæ BCCõÝT½-[¶ ×®]Ï3³··×ZذaX¿~=JJJ°~ýzxyy‰ó^yå¼õÖ[˜2e `Ê”)xë­·ðÊ+¯èŒãùçŸG÷îÝÅ÷wîÜÁ¨Q£Ð¦Mq¿éóÈ#ðþû¸§OŸÆœ9sjÕqrrÂ?ü€¢¢"´iÓeeej??àáç«÷÷æü„„„f‘GKÍÍàû¸­^½Ú¨A‘ùbÒFDDÔ8ôJÜäryŸUÚœpè–ˆˆHüÞl8z%n;wnÑC–ì€DDDúã÷fÃÑûPiKVóæ¶DDD¤¿77=”——›:""¢&/00YYY¦£Ycâ¦þr ""¢¦€‰›2™ 111â}Ĉˆˆ¨a%$$@&“™:Œ&‹‰›Õ'!!ÁÄ‘µ 2™Œ‰›LÜt`"""¢¦BïG^‘i1q#"""2bâæî¸8†BDDDD5ÅÅÅÁÝÝ]|/>dRRR’’b’ÀˆˆˆˆH•»»»æÄˆˆˆˆš.žãFDDDd&˜¸™ &nDDDDfB¼/¯(%"""jš ^œ@DDDd6x¨”ˆˆˆÈL0q#"""2L܈ˆˆˆÌ7""""3ÑZw""""Í.^¼ˆ‹/š: ³'“É “É´ÖaâFDDD«NÚÂÃÃMŠÙ‹‰‰­É•‘Á˜´ŸŸŸÎ‘KޏQ½UUU™:„‰Õ·ÆÁĈˆˆê­²²²AÚ-(¸ŒŒøé§ÓÈË+€ vvíðÜsCàêÚvvíd½M7"""ª·†q;yò>þxîÝ»~ýƒ]{H$@VÖ=,Y›Ö †§ç`£¯»©bâFDDDõ&Æ}ôù—_ÂÆ;1vìH<ÿüp<õT/ØØ´D”•UáêÕë8xðG,]º3fŒÇ”)ãºþ¦ŠW•Q“rêÔy|ðÁg˜8q<þö·1èÐÁéé7qñb:.\HÇåËhÕÊÏã•W¦â£¾ÄñãgÕ¶µaÃ8;;cÀ€8{öa›ÆÜ£bâFDDDõ&‚Q¦û÷‹ðñÇÛááñWôïßùùèÙ³¡ ׯgãæÍ\»–{{tèÐO>ù8üüžÇ† ÿÂýûTÚÚ³gâããñóÏ?#11ß|ó82h¬x9郉5¿ý–‰7rÑ»w/äææÁÝýqX[[¡oß°²²ÂíÛ¹pwï®]й³=~û-eeÈ̼ƒ_ÍPiëÃ?Äš5kðØcÁÁÁ+W®T™ãÆ øøø@*•ÂÇÇ7nÜìܹýû÷G‡0pà@|ùå—€¬¬,Œ=R©^^^HOOoœR7"""ª7c:=š ©Ô•Èȸ}ûŽ£¸¸ ÖÖ–6ì)ŒõWôêÕµññ_ãôé_ ’’N«´uéÒ%üõ¯U;²%æÍ›ooodeeÁÛÛsçÎŦM›p÷î]¬^½‰‰‰FVV^{í5„††6úˆ/N ""¢&£°ð$ rrrQZZ†ë׳›{!!ãо½5\\:A€µkã±{÷w°´l…Ö­-amý((¸_«=‰D¢q]ÇŽçŸ~ kkk„‡‡ã‰'ž¬\¹S¦LÁ¨Q£°xñblÙ²””„C‡aöìÙKKËØÚqĈˆˆê͘£NEE%¸yó6îܹ‹Û·ïà¿ÿMÇÝ»÷ÄuÝ¿_‚Û·sQUU‰V­ZA"ªªj·Õ¿üòË/GÜA@ee¥Ê¿‚ `úôé¸t醎×^{ [¶l—ËÈÈ@AA pïÞ=žãFDDDæÇXÉK»ÚÈCIDATvmñàA!îÝ»‡»wsЮ æÍ›‚Çs† ……%hßÞË—‡bØ0”••¡U«V(--FûömUÚš?>Þ|óM\¿~wïÞÅ[o½¥’¸ 6 ÑÑÑ(..Ftt4¼¼¼ ^~ùeœ8qXºt)Þ~ûm‚€#F`íÚµ(**©S§0{öl&nDDDÔr 6¥¥%¨¨¨€-"##ЯŸ *ê3,_¾yy۵µÆÊ•apwïòòr”–ÃÛÛC¥­Ñ£Gã•W^——üýýñ /¨Ì_·nNœ8nݺáäÉ“xÿý÷r¹‹/†³³3f̘õë×ÿoýQHMME=0kÖ, >¼öˆ*žãFDDDõ¦ïˆ‘.½zuÇO¸ '第¬põêïèÑ£#>ùä>|•••øàƒíX¸ð%\»v ÅÅ“¼'žpÁcõ¬Ç”)S0eÊ•8óòò ºwïŽÄÄÄZÛñ /ÔJòA@çα{÷îÙn}1q#""¢&ÃÆ¦-^~y"Þ|3 ŽŽŽØ¿? ÉÉ—–ö;:ur„D"Á•+éxÿýÏ““‡üü(•wðÖ[‹Ð®][±:h\G^^^clJƒ`âFDDDõfÌ‘§!Cþ‚W_Œ-[vCªÐª•ݺ9¡¼¼ кuܽ«Äõë×ñûïéŸ OÏÁ*1üñÇkccâFDDDMΤI~èÖ­ ¶n݉³g“áèØŽŽQU% 7÷.îÞ͆“S¬\aÃþjêp 7"""ª·†ÅzöÙ¿à©§ž@FÆ =šŒû÷‹ UèÕ«†Ÿ†^½ºÃÖ¶½Y Õ7"""ª·†JžÚ··LÖ2YßF]oSÅĈˆˆê­¢¢ÂÔ!´L܈ˆˆ¨ÞÊËËMB‹ÀĈˆˆê#nƒ‰L&“!&&~~~¦Åì%$$@&“i­#Q*•-ë¬>"""úÿöؕ?Ž ‰IS*Až÷ËSIN’ß3êÍŒpØÂÉ<@ áPB¸”n%„@ áPâVìÜHô®¤IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/coordinatespace.jpg0000644000175000017500000001464013634703632020306 00000000000000ÿØÿàJFIFHHÿáExifMM*ÿÛC  !"$"$ÿÛCÿÀfÖ"ÿÄ ÿÄE !1 "7AUv”´Ô2GQWa…¦ÄÓ#Bqb‘$&3Ec±ÂÿÄÿÄÿÚ ?²À3¸71Ìß™ö²çbJ%’Ùò²ãß|iZÔÇ:¾árbNÇ;“yd |÷&=²Ò´w8í z¹\.ÛíöæÔu.¨–E^\|.áÂ"®U1œ&S({ØU•ˆÉ¨®j;(‹çLùÀþ€ #¥¥öÑû½o‰V£GݘµªÔUWPΩ©:ój~÷)»žSx_§Ûµš5L͆Ìû]CjÜ«…àX×èùÕßb'5\` ŸQËåô³Ó–h•V=mùb¥È¼Qº²n;8‘½[Ú½¼ØPdõÐGI×Zvª]YzYdºj9Y#d›=gzBÄŠª¯ja©ø9 ”n¦Àh ËÖôZ³T%ÒJšjfÓ:š ¤Š ØÕr§Ç”W¯6¹¾cW>;ÝΆËg¬»ÜêMEEê*%zá®r¯ü Ô4´Ô4PQQA=5²OîÔÅ2LÝÎ/"ŸY'÷jb™8g†n.¦häá^p9 ö.@&nç‘ Ϭ“ûµ1L“7s‹È…çÖIýÚ˜¦@÷H]ÀfÛímÎÿµ÷I)-Pªq,µreˆÜ§9½Q9áŠh$ùt»¹Ò†š3>•Û†¤õ<óEÒNln;«áÏà¬r—0ºkäÒ;£=й–­J‘QºuL6:¶ñ­:+•pœY•ˆª®O±OÐÃó³¢Îƒ“p¶«t­4 ±Þ©×_h™«Âøê¢ï·7…Ý­W&Y”ìâÉitzÜnFÖ[5¼,¹Æ‹Iu‡Xª£ÂHŠÜ¯'¢/<=Ð@LÝÎ/"ŸY'÷jb™&nç‘ Ϭ“ûµ1L篺ÛLXopÙï—X핱†J¶:(%W9ZŒlÎD_–ý..iËš•¢Ûh¢Zª»M :Ü%i£k{âEj'XåoÒUDDÊý‡A®teF¯›½+õ5ÎŽÄè¸'·P£"Z‡xÙWÍ…z7 ÞLV¯.ÕÉÍ¢4-“EË,Zm³ÐÛOM·$Ï|¹Šïî5«Âç#‘Ï *å@–û™X?–þè°-6›]¢)¢µ[©(cšgÏ+iálhùåsÞì'7*ªª©÷2þ°-ýÑf3w8¼ˆ^}dŸÝ©Šd™»œ^D/>²OîÔÅ29»6h$×Ës¿ÚõmÆÙ5¶((’Ç{’‘±ÊÇȯI#mDYr¤ŒÃÓ)†ª.9g±Øk&¡²EYzÜÒØêx]ݹϨWHç¹Y¨‰ÂÇ"*5dkÕ¨‰•_¼—-ó†—KÖjZz›\,…º›PÃàXæ®XXødN\¢ª/71SüMƒk¦ ¨Ð6™­t* 7D½U=’¥³ÑFœNåkZäÎW(Ôæª±ÜËúÁü·÷E˜F}Ì¿¬ËtY€LÝÎ/"ŸY'÷jb™&nç‘ Ϭ“ûµ1L”nMn¡þ±þ›µPÉI m5:SWÅfJ–Ó³­‘Õs,ŠÕc^ÈѨÆ9.•…ÜÐö›gY]_¡­u— D±¹Øu2Ó¹ìãwÝ¢p9Ìár· …r¦Ï7’Ë=F²e}ÊÚÚCKÞ”ð]{Ù^Œ•éU#ëX®•ÑÈÙS·ªTÊ*"/»Ú* ›nÜÙèê¡’²7«,Ýl‰¤s£ã~]Äþj¹r¹vy/w2þ°-ýÑfŸs/ëòßÝ`7s‹È…çÖIýÚ˜¦I›¹ÅäBóë$þíLS c{‹l»×nÏ|YmÖ‹ÔÔ”´SIO_R´òR±$Ÿ”nV¹¹^,"*,MÏQ£mížkŽ·Új$òÂ×+’ý(øžçõlÿ¡¼\-ü†{¹”zõ¹6íwA¤)ÒžÆÇÐV^éØé&{äz*ÆéVD­N&&W2·*ÔTϵÚ.÷M¸³%%²ŽÛN¹"‚’ªo±$lçÂÇ§Ž‰•Â9—»™X?–þè³Ϲ—õƒùoî‹0 ›¹ÅäBóë$þíLS$ÍÜâò!yõ’v¦)1mä®úñ¶Ûæ¢Õ¶›dTÏD–==ßÍ|®’FȲ=ifDr#Y„ENJ¹íCLÐC>Ž·MÎëtѯ ]Ò›¨©—Æ^rGÕǾlp7’'û<õ^ß_§«švnη§dW6(Òƒ‚4UÏ sL«„ìLª¯â§°°POk³ÓÐTÝ+n²ÂÕGVVpuÒ®Urîµ¹çŽMNÀ$æ_Ö忺,Ãè˱2ßÔù§åß–{Ûÿoïn§©ëùÅž·ðÇŸ<¶`&nç‘ Ϭ“ûµ1L“7s‹È…çÖIýÚ˜¦@™»œ^D/>²OîÔÅ2LÝÎ/"ŸY'÷jb™ ¤vçoF‹×v½¹ÛßêKL¶ÖTMUò5e_ë,­t|p½˜kX¸TÏžÅC2ùýéO÷+ú^åü Y€ŒþzSýÊþ—¹(ùýéO÷+ú^åü Y€ŒþzSýÊþ—¹(ùýéO÷+ú^åü Y€ŒþzSýÊþ—¹(ùýéO÷+ú^åü Y‡ŽÝÍU¨´~šŠñ§ten¬{*Z•t´’£eŽ *¾F§5{“ˆÖ¢ªçÍÚLŸ?½)þåKÜ¿”|þô§û•ý/rþP(­©ÞM ¹ u=’éÞ×h²“Úk‘!¬‰Sé'¯Œˆ«…Vª¢)¡œ[Ù«÷KSÑ­óZ쥆ªZæ_¢°Ü(j r/нrË…T^iÇ”EóC}ÚÞ}Eª­róI[~Òr:Xê/UTÈú^æ5jS ʽ­LÉÄåâÆr¨˜fîqy¼úÉ?»SÉ3w8¼ˆ^}dŸÝ©Šd‡PêHìÚ†Åkš,wWÔ5õ™”é.•\©Žh¼8íLvœömS¦/UÖmGg¹OK$¨Ž’¶9] ™kœUV¢§4UíCÏne†íx¼Xj-´½|TŒ¯IÝÖ5¼ -$‘³é*g.r'.ÌóÂÿ¶Z޾Å`³Úé"µ¬;{_bžfÊÆ¶žªVÒuq¯ åS1Éã7(˜^|Ó!¨®»Ñ luÑu–JNêwU|§TÙZ×9cWñc‰Ç9[œáª¾e>¨5V˜žõ’ Gg–é,)²OîÔÅ2LÝÎ/"ŸY'÷jb™¼Ó u61¦¬ÕObÓÖ›Tµnã©}pºgg9z±‰r«ÚvÀ:}k¨íºCIܵ5ÝfJ tž~¦>7ð§Øžu>¾×ú?_ڒ夯ԗ8‘ddnıgÌø×bÿ´Óƒz.oÖ•ÙmwÑÚÆÅ©¾Vùnj‰#¦¤‹û?ÚŠ%é$Œs^މÙLråçÊ&³á«µž€Ö~ÇMñ2™¼5v³ÐÏØé¾ xjíg 5Ÿ±Ó|AL€&o ]¬ô³ö:oˆ»Yè gìtßS ›ÃWk=¬ýŽ›â†®ÖzYû7ÄÈfðÕÚÏ@k?c¦øá«µž€Ö~ÇMñ2™¼5v³ÐÏØé¾ xjíg 5Ÿ±Ó|AL€&o ]¬ô³ö:oˆ»Yè gìtßS ›ÃWk=¬ýŽ›â†®ÖzYû7ÄÈfðÕÚÏ@k?c¦øá«µž€Ö~ÇMñ2™¼5v³ÐÏØé¾ xjíg 5Ÿ±Ó|AL€&o ]¬ô³ö:oˆ»Yè gìtßS ›ÃWk=¬ýŽ›â†®ÖzYû7ÄÈfðÕÚÏ@k?c¦øá«µž€Ö~ÇMñ2™—¦®Õª*.ŸÖj‹ÚçMñ;¸§Ñúùwþ¦ÒV}¡µS¯Šçf¤¦®zå¹T#^Š«—c…]çUBãÖÚ‚ŸJé;–£ª¢®­‚ßÎø(¢I&‘ÌÖª¦WþPÄží÷ÞðÆÏš!7ù»2^*£ÿ\ºœ¢ÿÒæªv¹Éö·¦m}±ËnÜT÷ºHòØ®t0²·µ>ŠÉ »«W/j𹨟in™ÞÕìÆ‚ÛŸüUšÕßWwåg»W»¯«•Ëô—~ŽWš£QM;^õ-÷d÷ÑdÕZ‚á_·½ø¦¨¯ª’‘ªÓŸWÄ÷/ K•ûS³«\Ñ$áÒ&¶¯võýÂi¬%,nŽá©îˆÆÈ”15x™r¼¤Uáü|f§g°ÙkƪÝÍѸnc®×Kn€·+èlȧ’\‹‡TLÄTG¢/ȼÕü;ù„tYÔõÖ„¯ÙM]TšJ'"µ¨Æ×Ðçûs1’òTÏŸ мøÜÑ^už²Ý!µ^5]ŠÛ_2¢EKWpŠ)dÊá8Xç"®W—$:}õÕSh ÔúžšX⪢¡w{=ý‰3ÕûñÜÞ^sÚŒ›uyÛKUó[Ûkï:ŠõHÊúºÉ®35ì’fñòàz"ªqsWq*®U@¦c{$²F潎DV¹«”T_:é>tJ–¿Kê={³õ× ›„Z¾9-³Ì¹T¥™ª­gáŒ5pœ²åÇ"ƒ®Ô랢ïëýæÝi¤EÇ_]TÈ#ÎQ1ÄõDíTÿ¹Éd¼Zo–ö\,—JŸB¢Ž¡³Fïô檢“‰Ð¶}þÞ {«7*®6[ ÑöKEµµOŽ&65TsÕX­rg vS›ÝœáJ­jØ.‘Ú"«G:¦‹LkÉj¯ ’¡òFɼ^©Q^åUñ¤n3•L?H  ó@iQu©ÓV„£©¼T÷ÍÂwÏ,òÔI•\¹ò9Îís—Æ\«Žjzp˜½è #yÖö­kp³µú†ÒÕetsËØÕÏŠ¼D{|grr*xÎûTôàŽtÒ¤¨¬èÓ«#¦d|m¦™È¨ÆUDç/ü5àжΪ í¸Ó5”ÏI!žÓK#‹œ¢ÄÕCíÕÖ*O¥®šrä×:ŽåI%,Ü+…F½ªÕTüS9BhÓ–Ž•ûml‡Ci»^–ÔöZdê¨nµµ®§‹‰Q¨­t±»ÅL.¯ÆpŠì`Q³Ÿßé¼U1®"døœ‰ÙÅÕ1?ü¸ Ì«£ŽÙ\öúÇv¸j‹œwmY¨«;öïVÄñUÜøcEÂe®zö"eË„D>¤Õúòù¸:óMë[-®Û Ž¢Ö§Re_=4Ψà|‹Ö=8•‘F¸Dj§å)€ñ] ?³G¹T2.'ƒZÖuû95?ûjÿØþzZ¯|ë혵ˆµsjègb"øÉo‹ßé8‘O—\hâЛ§~×»2ËEÞQ+%¹Y+ÞÖ'^œºÆåÌO;”z/ŒäT^GѶ}ºº«uíÛŸ¼Ëk·Ëf§–;E–èæÁ#ò×=Ê×9¸áæž;ÕrÜððáB†:‹ž·ÙknÕÔ½|•wj¾ú¬šiî{¸Qjy𯵭kZœ“檪½¸ÿÙlepton-eda-1.9.10/docs/wiki/media/geda/dialogvdc1.png0000644000175000017500000004107213634703632017163 00000000000000‰PNG  IHDRnLr$0³ IDATxœíÝy\TåþðÏ ‰‚ ¨¸¡ ¹DŽpÍÄDÄ޹!É-1\Í- %Ó›©7¥ëZB‰©¹Þ‹JvÍ ­$‹\‘kŠÚu‰ÐPÑœX”Màüþðrb„†a™9ðy÷:1óœsžó=3GæÃ3gÎÈT*•""""2z&†.€ˆˆˆˆtÃàFDDD$ nDDDDÁàFDDD$:· .@.—ãÂ… jír¹¼ÊÛO=ztµËT¥¦Ë5f:·¨¨(¸ºº"**J¯9rD¯õˆˆˆˆèOÕ·¼¼<ÄÇÇcÇŽ8zô(òòòü9&—ËÕn—ÿüüóÏ1~üxµvؾ};zõê…¡C‡âÆ•ækêóîÝ»ðòò‚<==‘šš Ø³gú÷ïvíÚÁÕÕ_~ù¥ž‘q«6¸ÅÆÆb̘1hÛ¶-ÆŒƒØØX€J¥V¼].??ûöí«Ô_JJ Ο?‘#GâÝwßոݧû\°`üüü––†   Ì›70þ|lذéééXµjŽ;¦ÓŽI¬âx“““‘œœ qÁƒãóÏ?ÇóÏ?Ë—/cöìÙ8uê€'£aåÁêéÛiiihݺµÚ¼ŠËäææ¢W¯^¸wïžZ»¦å;uê„‚‚qSSSddd ** «V­ÂðáñhÑ"téÒE\&::º.+"""¢åìì gggñ~óòU…¶ÄÄD\½zîîîj$&&ÂÕÕUë†ÊC›&¥¥¥055ï—••ÁÄÄÅÅÅU./“É’’µö€€L˜0‡BHHFiÓ¦€Ú¾IMù Tyxß*}:´O>”°yófñíP•J…Í›7‹RËåâ(XÅÛÚ,[¶ ùùùˆˆˆÀ!CVVV8xð ²³³1þ|qÙŠ}zxx ,, ………8{ö,³fÍ™3gàããƒÅ‹cÙ²ez<,DDDDÆÇßßÉÉÉâ}­ç¸ùäøùù€Úmm:vìˆ~ýú!!!«W¯,_¾!!!pssØ1cÄe+ö¹nÝ:\¿~˜3gŽ8 8|øp,Y²ööö˜9s&ÂÂÂtyˆˆˆˆ$G<Ç-::šo-™Šßœ@DDD$ nDDDDÁàFDDD$ nDDDDÁàFDDD$Í«[ ü¼DDDDTžþ–„ªh nå¡m„ uZ©Û³gh oÕ· & eË–u[© Axx¸ÖàÆs܈ˆˆˆ$‚ÁˆˆˆH"܈ˆˆˆ$‚ÁˆˆˆH"Ü$(::ÖÖÖ†.ƒ$ÂÐÇK]oßÐûCDdH nDDDDQãà&—ËqôèQµûdNNN(**Rk+**‚““T*•Æõøœ5MÕ/£GÖºþž={пtèÐ>>>¸}ûvk¨ËßúÿDDR¦×ˆÛŠ+ B]×B5äææ†¨µíß¿nnn gTIuÇË‘#G´®ÿÝwßaÛ¶m¸yó&¼¼¼0sæL½ê¨«ß<þ‰¨)Ò+¸`ÿþýjm^^^Ëå°±±B¡¡Êår,_¾ݺuÃÎ;1{ölôèÑqqq€»wïÂËË vvvðôôDjjj-w©é@TT”Z[TTh~NÊ=ýâV~ŸÏIãTÝñRþü—¬µk×®®®øòË/[¶l‹‹ ÌÍÍáææ†Ë—/ëUGU¿?ôQÝþ5Fz·E‹aåÊ•())Û:•J…¬¬,ìØ± .çuëÖ ûöíCpp0ÜÝÝ‹wÞy°`Áøùù!-- AAA˜7o^-w©épuuEnn.®^½ ¸rå òòòàêê @ûs¢ Ÿ“Æ©ºã¥Üüùó±aä§§cÕªU8vì˜ÚüââbcýúõzÕQÕï}èº?DD‰^Áí•W^AË–-±{÷n±-%%þþþpqqÁ˜1c™™)Î{ã7įoðóóCÿþý‘••HHH@`` :tè€éÓ§#))©6ûÓäøûû#22 qž¶çD>'—¶ã¥\hh(Þxã Ì;=zôÀæÍ›Õæ/[¶ ðññÑ«†ª~èK—ý!"jLô n2™ ‹/ÆÚµkŶɓ'ã…^ÀáÇqóæÍ*×Ñt;%%*• *• ú”Ôdùúú"..™™™8|ø0|}}ÅyÕ='PVVàÉ(J9>'—¶ã¥\@@.\¸www„„„ˆÁ¨Ü®]»0räH½k¨ê÷‡¾tÙ"¢ÆDïËŒ1;wïgdd@©T¢E‹ N@öðð@XX qöìYê[R“dii ¥R‰)S¦@©TÂÒÒRœWÝsbee…ƒ";;óçÏÛùœ4^ÚŽ—r³fÍ™3gàããƒÅ‹cÙ²ejóûí7˜ššÖªŽ§èK—ý!"jLju·%K–ˆ·W®\ ¥R OOOôîݶ¶¶¸wï^µ}¬[·ׯ_‡ƒƒæÌ™ww÷Ú”Ô$ ))©ÒIÙÕ='Ë—/GHHÜÜÜ0f̱ÏIã¦éx)7|øp,Y²ööö˜9s&ÂÂÂÔæ×f´­¢Š¿?j£ºý!"jLš×t…Š×G'Mƒ¦ã¥¼íµ×^Ãk¯½¦qýo¾ùFïmkúýQšö‡ˆ¨1â7'Iƒ‘DèôViÅO’áùùùñ“ž¤3C/u½}Cï‘!1¸I„NÁíñãÇõ]Uƒ#nDDDD¡Spûúë¯ë»"""¢&­wïÞÕ.£Sp;ò`h­‹!""""ÍBtXFç ð¾6¨M-J©?_žÉ6t DDDD ¢Fßœ`l!ÉXÃ$Q}¨ñW^Qãÿ¿Ôxå’óF»¢šàqIRÂàFDjöB¤Ï ]Co‡¨&x\’Tð+¯ˆ¨ZÙ·“ñc˜'~øhˆ¡K!jp<þɘÔ{pSºÈ±6àÙ*çñ¯–Ú³lÙ»ö…is™Z»isv/ì Ë–ªú¼Ôû÷CäÜçл³…ÚòÚæQÓ–sç"~Š™‰’âG¶à„¡Ë!jP<þÉØÔû[¥ó¼íáýáÅúÞL“•›_‚‹7óàþ¼5Ž%«Äö¡Ï[ãâÍ<äæ—ÜÚ`Tm¾†‡¥ðuokwU;š–?n‡Púr‡€¼{WñÓÎ9ÊJ1À»«#ª_<þI ô nñÿø 6¾ƒA½­°0*m-MñÞkxÎÞ7~/ÀÊ=7‘þ HQûz¹ ”KΣ£þ>ѶV¦Øð»ØŸ¦õ=å˜úоM ¤?(®„ßqì¢JSYMV\RÞÑQ-¸}±-¶}›.ÞÕ­=6¹ƒôE€-ßè6š–Ÿbf‚«N}1À?7NE¢¬¤­Ú= «N} ]Q½âñOR ÷[¥æ-L°0*<Îßžï/âË“xç•®þ<Ù³üçÜqö8s-áWÔÞÂÓ´þÜqöøø«4Œ]žŒ‡ï`À³–ú–Û¨ýœöæÍЭý3‡öÏÀÂÌ?§=—q´{WnU=Цm5-í{ä¤_Æ•¸PdþòÀuF¬!Ë"j<þI ô~«ô@b¦xû/Ý[cPo+,øë“ÀUR*T¹Nß®­ºû–"ê»»ðó°Óºþ–oîàƒ×‘ôK.v»‹ÕÿþMßr½¸ÿdÁëE[Dº ¯¶ˆûOV¥e„ªŸ–jçQÓÑ×g5 "ï ÷ÞUܽx`nÙÞÀU5 ÿ$z·ü¢Rñ¶ ¯®¼„œÿO¥Ii™™¬r»¦õã’²p,Y7§6˜çmÓWsp()³r„ï’Uˆœûb~øƒû´Áö£WÔæ§Þ+@¯Î-qù·‡•ÖÕ6šž§Åàû5/¡¬äÉ[ç}}Ö¸"¢†Ã㟌]|ªô|jü<ì`fj§®­Ä‘³§]ú-‡ØÁ¼… fî\íúï½Ö }»µÂ—þ@ÔwwñæËë¢ÜFéQa)Îþ’‹üqö—\<*,U›¿ûÇß1gtg´oÓm,šcÖ¨Î:Í£¦ÉyB8À¤¹Ïí¡&‡Ç?³:ùTé§oaOWì[ÜY¹Åøç÷÷ª\;Xúº¼]Û"2þnµëÿç—\ÌÕåfÈÈ.Ƨo×E¹V\R&>›ÓW~œ¯çÀÊ¢96¾Õª‡%X[ámgmó¨i’; DÅX˜µjkèRˆ2fz·§¯0­Ê{ŒE;~­vÙ»ª"Ìùìšxß™ûZ×?vQÅO‘ÖÀ/éùZ¯þýíùøöüƒÏ£¦ÉÉk¹¡K 2ÿd¬ø•WD á.ˆÍ o“1âqIRÁàFD ö…Ùübn2F<.IJø]¥DDDDÁàFDDD$5z«ôµAmê«""""ª†ÎÁíË3ÙõYUC§à¶g¾C}×ADDDDÕà9nDDDDÁàFDDD$¼ŽA.—×x•ªæßjÒPÛ!ª —$% nD f/Dú¼Ð5ôvˆj‚Ç%Iß*%"£‘˜˜ˆ=z K—.†.…HÄã’ŒI7}ÿú=zt]l¾IS©TprrBQQ‘Z{QQœœœÔþŠÜºu+zö쉞={bûöíjËkzåry¥©Ü…  —ËqáÂ…*×EÿþýÑ¡CŒ?7oÞÔØouŽ?Ž—^z vvvðññÁ­[·Ôæ×dß*Þ/ß¾ ˆ¤¤$µe7mÚGGG 8çÏŸ¯´ž®õSõ’’’àåå…¼¼<ܾ}ÛÐåàqIÆÇ #nGŽ1äæ¹\7778p@­}ÿþýpssCÅ?þˆ={ö !!?þø#vïÞ“'OVÛ¿J¥Ã_ÅÛWWWDEEUZïÈ‘#øàƒ°víZ¤¥¥aݺuصkW•}ëòŬY³ðÖ[oá·ß~Cxx8vïÞ-ÎÓwß*Ö‘‘‘àà`Ì;Wl?xð bbb#GŽ`ÿþýz×OêNŸ>„„ñ~rr2^yå”––"..Îp…Q“Æã’¤@¯àvãÆ :Ï>û,6mÚ$¶ß½{^^^°³³ƒ§§'RSS‘••…çž{?””” oß¾ÈÊÊCEnn.æÌ™{{{ôîÝ‘‘‘û£Ê*…§¨¨(ˆ÷#""ðü;vD‡ŠO?ýTïmæåå!>>;vìÀÑ£G‘——§6ýúõX»v-<==Ñ¢E 8::bñâÅzo¯¬¬ }úô¹¹9ºv튿ýíouºoÍ›7Ç«¯¾Šß~ûMlÛ°aV®\‰îÝ»ÃÆÆ¡¡¡z×OêÆŒ1†ÂÂB899aÀ€®Žš*—$z·ùóçcÔ¨QHJJRmX°`üüü––†   Ì›7¶¶¶pqqA||<à»ï¾ƒ‹‹ lmmÕú{饗ðË/¿àÛo¿Err²Æþ¨2WWWäææâêÕ«€+W® //®®®â2‰‰‰pvvï÷ï߉‰‰zo366cÆŒAÛ¶m1fÌÄÆÆªÍ¿t醮µš¼ÕøÙgŸ! ¸qã†Ú¼ºØ·’’ÄÆÆªõóóÏ?càÀuR?©7nàܹsÆáÇ'Nœ0dYÔÄñ¸$)Ð+¸%&&â­·Þ‚µµµÚ(JBBÑ¡CLŸ>]<_hâĉâ[[»víÂ믿®Öß7ß|ƒ &ˆ£)ëׯ×ÚUæïï/ŽTFFFÂßß_m¾‰Iå§Z&“é½½èèhqþþþˆŽŽ®´L³fÍh85y«qøðáøÏþ…B &à‹/¾çÕvßär9Úµk‡]»v© W×ß*Õ_dd¤’wîÜ AЩS'WEMK’½‚[³fÍPVVV©]&“!%%E|1ËÈȼüòË8wî~ùåœ?J¥²ÒzUÑÔUæë닸¸8dffâðáÃðõõU›?xð`\¾|Y¼éÒ%¸¹¹éµ­ÄÄD\½zîîîËå:t(®^½ª6Ê¥P(pæÌ•ÏÓ—™™fÍš…¯¿þZí­Òêöí™gž?¼QXXˆ–-[ªõ«R©˜˜ˆgžyVVVb{ß¾}Õ>@uëûᅦ¹¹¹x¿ü"CâqIÆN¯à6xð`|úé§ÈÏÏWqóððÏ 8{ö,-Z´À¸qãàïïñãÇ£ysõËÇ={öìAaa!RSS¤µ?ªÌÒÒJ¥S¦LR©„¥¥¥Úüyóæáƒ>Àï¿ÿŽŒŒ |ðÁz¿õ…Í›7«8mÞ¼Yí<»·ß~ ,À… P\\Œ .ÀÔÔTïý Å7PPP€½{÷ÂÚÚZç}{饗pòäI”––">>¾ÊÀÚ³gO„††búôéxôèàwÞÁâÅ‹qûömdffbÉ’%z×OU+ÿÀй¹9Ï!"£Áã’Œ™^ÁmõêÕøá‡гgOØÛÛ‹íëÖ­Ãõë×áàà€9sæÀÝÝ]œ7qâD\»v ~~~•ú[»v-Nœ8=z`ìØ±xá…ªí* @RR’Ú‡Ê 8¾¾¾:t(† ___¼øâ‹jËèrΖJ¥ÂÉ“'áíí­Öîíí“'OŠ#k£GÆ‚ 0cÆ ØÛÛ#$$_~ùe·WnÒ¤I˜;w.°k×.lÙ²Eç}û裰jÕ*tìØX»vm•Ûèׯ,X€iÓ¦¡¨¨/¿ü2¦OŸŽaÆÁÛÛ¯¾úªÞõSÕ<<<0qâDÌž=ÛÐ¥‰x\’1“©T*P?g©\tt4&L˜Pé­%"j\äry¯¯ïW^5Ävˆj‚Ç% kkk„‡‡W™ÇÊÛø•Wd44\ñdÃh¨‘CŽP’1âqIRÁàFFƒÍpê±çsLƈÇ%I ¿«”ˆˆˆH"܈ˆˆˆ$‚ÁˆˆˆH"܈ˆˆˆ$B§'T¼Ø)G܈ˆˆˆ$‚ÁˆˆˆH"x7"‚L&«ñ:‚ ívˆj‚Ç%I ƒ¨Ù ‘>/t ½¢šàqIRÁ·J‰Èhœ\¯uõùkeÈ!uÞ'Ó§OcذaÈÍÍE^^ž¡Ë!Àã’ŒÞo•Κ5 999uY‹V'Nœh°mQý:~ü8ŠŠŠ T*?ýô†Ž’’œ9sÆÀÕQSÅã’¤@¯7™L†ÂÂB˜™™nݺ…ÁƒÃÌÌ ƒÆ­[·4¶—ŒUü¹qãF´oß...øõ×_Åöõë׋£zU-ïè舒’’J}65U=&€æçEÓòwî܇‡ÌÌÌ0`À¤¤¤lŸ¨q6lFŒAƒV¬X‚‚( ¸ºº¸:jªx\’èÜÊOâ,ÿùÖ[oÁÓÓ999ðôôD`` Æö§×€k×®!55^^^xë­·ÄöGá»ï¾«´ý[·n!%%«W¯ÆÒ¥K«ì³©yú14?/š– D@@rrrðî»ïbÆŒÙjü^}õU@bb"¦OŸŽýû÷.^¼hȲ¨‰ãqIR S©TDGGÃßß_mftt4&L˜€N:U^Q&ƒ’……ÒÓÓѦMdgg£sçÎxøð¡ÆöŠëV¼““;;;@&“!''–––jËU\¾¬¬ Íš5«ÔÞÔhzLtyüŸ^>??_ì×ÔÔÅÅÅÙ'jX5ý÷£ï¿·Šë 0çÎçuéÒE®ívˆj‚Ç%“ððð*óXy[}ª´¬¬LüYñ€ÖÔ^•ÒÒR˜ššŠ÷ËC›&&&üPìÓž~Lª{ü+./“É™™ A CÕ«ÿüç?077ïïٳǀÕ=Áã’Œ]$¬Y³………X³f † ¦µÝÆÆFmdçoû=z„>úH\¦¦žî“4?þš >\<§ãÔ©S•?Q];xð ÀÜÜœç‘ÑàqIƬN.ÀûÙgŸáõ×_‡¥¥%^xáìÚµKkûÖ­[áííøøx@çÎÑ­[7tíÚ{÷îÕ«†§û$Í¿&›6mB@@¬­­Ñ©S',[¶¬a ¥&K©TbêÔ©èØ±£¡K!ñ¸$c¦÷9nuVÏ 28CœãVŸÛ!ª —dLª;Ç_yEDîr:Mõ²=dÜx\’T<¸ñ¯"Ãk¨‡ü÷NƈÇ%I ?–IDDD$ nDDDDÁàFDDD$ nDDDD¡Ó‡þøãú®ƒˆˆˆ¨I³¶¶®vޏIƒ‘Dü:nDdxr¹¼Æë¨T*£ÝQMð¸$)ap#"5{!Òç…®¡·CT<.I*øV)U+11=zô@—.] ] QƒãñOƤA‚ÿ:©r¹r¹½zõÂŽ;*Íß´i1pà@œ?¾Òüœœ¬Y³¦ÒsUÞoÅI¥RÁÉÉ EEEjËÁÉɉo!42IIIðòòB^^nß¾mèrˆ26qkDT*qèÐ!} âýääd¼òÊ+(--E\\œá #j<þI jܲ²²ðÜsÏáñãÇ€’’ôíÛYYYðòò‚\.‡  E¥öªFsàîÝ»ðòò‚<==5ªžµµ5–.]Šõë׋m6lÀÊ•+ѽ{wØØØ 44´ÒzwîÜÁ–-[tÞN@@¢¢¢ÔÚ¢¢¢ ñdpãÆƒFŒ Caa!œœœ0`ÀWGT¿xü“Ô8¸ÙÚÚÂÅÅñññ€ï¾û...°µµÅ¡C‡ R©••…;v`áÂ…:õ¹`Áøùù!-- AAA˜7o^MË¢ z÷îÿþ÷¿âýŸþÔ«/kkk888 C‡øë_ÿŠ´´4€««+rssqõêUÀ•+W——WW×Úï̸qãçÎCpp0> 8qâ„!Ë"j<þI ôz«tâĉؽ{7`×®]xýõ×)))ð÷÷‡‹‹ ÆŒƒÌÌLúKHH@`` :tè€éÓ§#))IŸ²¨™L¦õ¾®RSSqóæM\½zÎÎΘ>}º8Ïßß‘‘‘€ÈÈHøûûë]/‡ÈÈH8;;vîÜ AЩS'WEÔ0xü“èÜ^~ùeœ;w¿üò Ο?¥R ˜|7oÞ¬rݲ²2@qq±Ø&“É’’"žC•‘‘¡OYô?×®]Cß¾}Åû}ûö­ò 5ѦMÌŸ??ÿü³Øæë닸¸8dffâðáÃðõõ­Õ6È8|ÿý÷077ï—‡s¢¦€Ç?;½‚[‹-0nÜ8øûûcüøñhÞüÉåà222 T*Ñ¢E ñ<*AÄõ¬¬¬pðàAdggcþüùb»‡‡‡x.ÁÙ³gX›}jÒ²³³ñᇪ=†ï¼ó/^ŒÛ·o#33K–,ѹ¿Ù³gãÊ•+ÈÏÏÇúõë¡P(Äy–––P*•˜2e ”J%,--ët_ÈpvíÚ077ç¹=Ôäðø'c¦÷x'Nœˆ­[·bûöíbÛÊ•+¡T*ѦM,X°¶¶¶¸wïž8ùòå ……>þøcìܹ°nÝ:ŠçRýío«Å.5]r¹ÖÖÖX¸p¡x®ðd„4++ Æ C»ví°qãFû:t(Þxã ܺu ...Ø´i“Úü€€xzzbÕªUu¶dx˜8q"ììì ] QƒãñOÆL¦R©ˆŽŽ®tŽRtt4&L˜€–-[¢6"j å×端åz;D5Áã’Œ…µµ5ÂÃëÌcåmüÊ+"ÐpÊæuþÈñ¸$©`p#¢=à(#—$%üæ""""‰`p#"""’7""""‰`p#"""’>œ`mm]ßuQ58âFDDD$ nDDDDÁàFDDD$ nDDDDÁàFDDD$ nDDDDÁàFDDD$ nDDDDÁàFDDD$ nDDDDÁàFDDD$ nDDDDÁàFDDD$ nDDDD¡5¸9;;cÏž= U Q“ggg­Ë4×6³|åðð𺫊ˆˆˆˆ*qvv®]pÓµ""""ª<LjˆˆH"܈ˆˆˆ$B nÎÎÎˆŽŽ6`)DDDDTQtt´Ú)k2•J%”ßINNFrr²A #""""uOÖ@-¸‘ñâ9nDDDDÁàFDDD$ nDDDDÁàFDDD$ nDDDDÁàFDDD$:· .@.—ã2êb] IDATÂ… Z—“Ëå5j×ÖwÅu´­?zôèj—©iMDDDDÆH§àWWWDEEÕyµíûÈ‘#u\‘qª6¸ååå!>>;vìÀÑ£G‘——'λqㆊgŸ}›6mª¶]×¾ËGÃär¹ÚíòŸŸþ9ƯÖÛ·oG¯^½0tèPܸq£Ò|M}Þ½{^^^°³³ƒ§§'RSS«{Xˆˆˆˆ\µÁ-66cÆŒAÛ¶m1fÌÄÆÆŠóæÏŸQ£F!)) *•ªÚv]û._G¥R©Ý.—ŸŸ}ûöUê/%%çÏŸÇÈ‘#ñî»ïjÜîÓ}.X°~~~HKKCPPæÍ›WÝÃBDDDÔàªü®RqÁƒãóÏ?ÇóÏ?Ë—/cöìÙ8uê C‡¸~ý:,--<ÁR©TÛŸ¦­ïŠë<};-- ­[·V›Wq™ÜÜ\ôêÕ ÷îÝ«´íª–ïÔ© ÄeLMM‘‘‘àÉ—»ÂÓßUÚ¼üFU¡-11W¯^…»»»Z'‰‰‰puuE³fÍPVVVi#šÚŸîC[ßÚ”‡6MJKKajj*Þ/++ƒ‰‰ Š‹‹«\^&“!%%666•æU|<ˆˆˆˆRùRyxß*}:´O>8°yófñ-K•J…Í›7‹$ýôSäççcñâÅâzšÚkÒ·\.GÁ*ÞÖfÙ²eÈÏÏGDD† °²²ÂÁƒ‘ùóç‹ËVìÓÃÃaaa(,,ÄÙ³gXí¶ˆˆˆˆê›¿¿?’““ÅûZÏq;yò$¼½½ÕÚ¼½½qòäI¨T*¬^½?üðzöì {{{qMíåT*Uµ}òÉ'ðóóµÛÚtìØýúõCBBV¯^ X¾|9BBBàææ†1cƈËVìsݺu¸~ý:0gΜJ£€DDDDÆ@<Ç-::šo ™Šßœ@DDD$ nDDDDÁàFDDD$ nDDDDÁàFDDD$ nDDDDÁàFDDD$Í«_¤i+ÿ*0"""z¢yóú‹ … …¢Þú—:7-ÊCÛÓßð@DDÔT9::"""ÁÁÁõÒDD0¼iÀà¦Eyhstt4t)DDDMÂØ±cÇঃ饬¬ÌÐ%49 nDDD¤·†ÇàFDDDz)--5t MN_D.—ãèÑ£j÷›*™Lf興ˆêMYYYO¤]½\ÇmÅŠ¡>º&"""#!BO¤]½·‚‚ìß¿_­ÍËË r¹666P(8pà€'#rË—/G·nݰsçNÌž==zô@\\àîÝ»ðòò‚<==‘šš*ö9jÔ¨ú(_#™L†7¢}ûöpttDII àÎ;ððð€™™ €””q´­âϪÖõðð€L&ƒ‰‰ ºvíŠ/¿üR\þ½÷ÞC›6m…)S¦ÀÖÖûöíÓ¸M""¢†¤-€YXXhœÜôW/ÁmÑ¢EX¹r¥NàСCP©TÈÊÊÂŽ;°páBq^·nݰoß>ÃÝݱ±±xçw ,€ŸŸÒÒÒ„yóæ‰ë}ýõ×õQ¾V·nÝBJJ V¯^¥K—€œœ¼û1c†xðU<«Z7!!‚  ´´{÷îU».Ž££#âãã1mÚ4xzz"..³fÍÒ¸M""¢†¤-€åååU¹N^^ƒ[-ÈT*•ÑÑÑð÷÷¯u‡r¹<€‡‡Þ|óMÌ;*• )))X±b’““qÿþ}B¥RA.—C¥RAØØØTºÝ©S'ˆý›šš"##£Öuê"::Zí:n2™L<¨ÊÊÊЬY3ñ¯Šüü|µ‹‹‹Õ–×´îµk×°téRœ;w(((€ âò‚ ÀÄĤÒmMÛ$""ªoåàÕÎ*²´´oçææV»|VVâââ0yòäZÕØ˜TÌhõ2â&“ɰxñb¬]»Vl›|7oÞ¬rM·SRR R© R©,´UÇÄäχN&“!33S WÕ¨ŠëŽ?ÄñãÇñÇTZVÛãR“mÕ5]ÎYËÉÉäääð·:Po_2?bÄtîÜY¼Ÿ‘‘¥R‰-Z 44tz‚<<<†ÂÂBœ={õU²Þ†Ž+V   §NS±Ú¨XUîÝ»‡Ñ£GÃÌÌ ï½÷ÝMÛ$""j(º~à ;;›N¨#õÜ`É’%âí•+WB©TÂÓÓ½{÷†­­-îÝ»WmëÖ­Ãõë×áàà€9sæÀÝÝ]œ7räÈz©»¦6mÚ„«W¯ÂÚÚS§N…§§'`ëÖ­Õ~Ïé'Ÿ|WWW 0NNNhÛ¶-ÒÓÓõÞ&QCá§J^ŸãÖ˜<}ŽýyŽ[U§øÔVvv6Ïq{JÅŒÆoN """½p„¬á1¸‘^*^ö‹ƒéåñãdž.¡Éap#"""½pÄ­áÕë§J¥ÎÙÙYüj."""úÓÍ›7ëåKæãââ P( ½{F‹#nZ8;;ÂÃà \ ‘ñhÞ¼¹øâuM¡P0¸iÁàV ggg1Àß*%"""’7""""‰`p#"""’7""""‰`p#"""’7""""‰`p#"""’^Ç­ÉÉÉHNN6tDDDM¯Ÿªƒ›å¡m„ †.…ˆˆ¨Iسg0¼iÀà¦EyhëÔ©“¡K!""jBBBÎà¦Ïq#"""’7""""‰`p#"""’7""""‰`p#"""’7""""‰`p#"""’7""""‰`p#"""’~s5 —.]Â¥K— ]F( ( —gp#"""É+mÁÁÁ†.¥F"""@çðÆ·J‰ˆˆHò¤Ú`ìØ±5%äˆ5eee†.¡^1¸Q£ÁàFDDD$¥¥¥Zç¹w7KnÂÄIJ2t:a|'Ÿª°v܈ˆˆ¨Ñ¨nÄívámŒì2EBÊÿKÎH–ÌHƒ5‚ h_&”áQIþŸÁMV„²ÒÒj×3uú©R'''©µÁÉÉ *•Jãzr¹¼.Ë """ª’P& ÿñ#ä—üozü¥¥º¶?8þ¼Öå,,,jÔ^uÜÜÜÜpàÀµ¶ýû÷ÃÍÍገˆˆê Z§²Ò2ä?Îÿs*ÉGYiYµë ‚€mÛ¶aРAضm›Öå4ÕQU{MÕip @TT”Z[TT^^^Ëå°±±B¡¨òžwå÷ïÞ½ ///ØÙÙÁÓÓ©©©â2£FªË] ""¢FbíÅÕø2-»oîDÌ":5­šµBÁã‚ÿMùÈ/ÎÇ9 ð8î“nzÚ îgݰ4y±Z_yyyøöÛo±sçN|óÍ7ÈËËçݸq/½ôºvíŠ 6TÛ^uÜ\]]‘››‹«W¯®\¹‚¼¼<¸ºº:•J…¬¬,ìØ± .Ô©ß ÀÏÏiii ¼yóÄy_ýu]îIXÅѬ֦­Ñ³Mot·êŽn­»¡K«.°1³F~ñ#?Ââ<|óû×8Qp×,®ãªÕ5\±½Š+í¯à?ÅIj}íܹcÇŽEÛ¶m1vìXìܹSœ7wî\Œ=.\ÀƒÄ:4µ͈øûû#22 q^JJ üýýáââ‚1cÆ 33S§>ˆ:`úôéHJJªë²‰ˆˆ¨¨ŠŠK#¿$ÿÏé#leáÛ´oññåµø1ý{˜Ë ûßT~¥2µ¾"##A€ÈÈHqÞéÓ§„6mÚ`éÒ¥bšÚkÜêüS¥¾¾¾8p .\ˆÃ‡ãïÿ»8oòäɘ2e V¬X[[[tèСÒúeee011Aqq±Ø&“É’’›º.—ˆˆˆ©ì‚È/y„‚’ü–s¿æ¤ 5ûW\Qý¥ÍJQÖB€¬… Àÿþo@VárpgΜÁ•+W0xð`µþÏœ9ƒAƒ¡Y³fU^NDS{mÔùˆ›¥¥%”J%¦L™¥R KKKq^FF”J%Z´hÐÐPêÛµ²²ÂÁƒ‘ùóç‹í Caa!Ξ=‹ÀÀÀº.›ˆˆˆŠ£YçîžCà÷³0ïÇ ||~ ö§~…Ë.¡T(JPÅHþ¼_j"ö³}ûvlÙ²999â´eËlß¾‚ ÀÍÍ aaaxôè-Z$Ö¡©Ý¨Þ*ž|H!))IüPB¹•+WB©TÂÓÓ½{÷†­­-îÝ»'Î_¾|9BBBàææ†1cƈíëÖ­Ãõë×áàà€9sæÀÝÝ]œ7räÈúØ"""’ Š¡È¯ÇdüŸ#lGat;/Œnç…>æN.ü¿ðÖ»°ÆÉ¼á]ú ^)òÆø‡¯`r»)b?'Nœ€···ZßÞÞÞ8qâ_.—W9_S{}øñÇñ /ÀÚÚ^^^HKKXXX4Èö-,,ðÍ7ߨÝoÛ¶mC×®]Ñ­[7ìØ±£Ò|•J…gŸ}¶ÊçùÙgŸ…J¥ÒØwCí‘é|Ž›‰IÕïòåË ‚L&ÃÉ“'«íÇÍÍ À„ Ķýû÷ÃÍÍ r¹GŽѺ~uó냦¿¦M›†¥K—b„ ÈÈÈ@LL Þÿ}­ëÔµåË—cĈb`nˆí.Z´ß~û-ÌÌÌ0lØ0L:Um¾µµ5† ‚¯¾ú 'NÛ÷îÝ‹!C†ÀÚÚZküKˆHÚø{¼þè<âfbb‚‹/âܹs011‰‰ ~ùå¡´´Ÿþ¹Ø®M@@¢¢¢ÔÚ¢¢¢àϳ={ö ÿþh×®\]]ñå—_ªÍ€íÛ·£W¯^:t(nܸ¡ÖçÝ»wáåå;;;xzz"55U×]­D„*§ÒÒR<÷Üs077G×®]±hÑ"ñ`ݲe àää„ÇCܺu žžžËåðôôÄ­[·ðàÁôéÓ………ééé°¶¶Fzz:A@aa!úôéƒTÚ>`ïÞ½â}A0räH´jÕ ­[·FŸ>}ðÕW_A´jÕ K—.EÇŽñ¯ý o¾ù&ìííqðàA‚€;wî`äÈ‘Ëåpwwǯ¿þZå~÷éÓeeeøâ‹/àìì\å2Ó§OǶmÛÔÚ¶mÛ†éÓ§k­±|Zµj¥¶nù}]käĉ'N ?izÝlÕª•ÆISTµ·Ù³g#((Ó¦Mƒ‰‰ ¢¢¢PTT„=z _¿~:7WWWäææâêÕ«€+W® //®®®jËÍŸ?6l@zz:V­Z…cÇŽUê+%%çÏŸÇÈ‘#ñî»ïªÍ[°`üüü––†   Ì›7O×]ÕÙæÍ›1uêTÌž=»Rp¼}û6.^¼ˆÐÐP|øá‡€xxx ==xçwIJoß>ÀîݻѲeKÄÆÆ¾úê+ :Tã[À‹/Æ?þñµ^ýõ×ÈËËCNNbbbÔüðC$$$x2:VÚª nàïïÈÈH@dd$üýý+-Š7ÞxsçÎE=°yóæJˬ^½ Ä™3gÔæ%$$ 00:tÀôéÓ‘””¤ë®V¢é/ ¥R‰Ÿ~ú ýúõÃøñã±{÷nñ¯…åË—£U«VðööFXXAÀñãÇ333áøñã3gÎÄ–-[ bbb°qãFÄÄÄ@lÙ²3gÎÔø—ÍøñãѲeKÄÄĈµ^¿~S¦LÁóÏ?‘#Gâþýûâòþþþpqqøùù¡ÿþÈÊÊ‚ øá‡0{öl´mÛþþþ8{öl¥mnÚ´ GŪU«Ð¬Y3ܾ}£Fª²¾iÓ¦‰£nÛ¶môiÓÄyÚj¬ø³â¾êZ#'Nœ8q2̤íu377Wíµ577WkTµ·µk×â¹çž8p‚ ÀÎÎN-´éÜ|}}‡ÌÌL>|¾¾¾•– À… àîîŽ1èU¥´´¦¦¦jm2™ )))P©TP©TÈÈÈÐuW+Ñvš™™aÖ¬YøöÛoñî»ïŠ]ùü§Ï=+--… âOAÄ·7oÞŒ6mÚ`ìØ±°´´ÄæÍ›!“ÉЯ_?­÷’%K°zõjq;åì›o¾?0Q±®ŠûUñ¶L&Ã7““ƒœœ1ÐUœ>øàÄÄÄ`öìÙèß¿?^ýuVYŸ¯¯/:„ŒŒ ÄÅÅÁ××Wœ§KåQù‡t­‘'Nœ8fªîu3''““SmTµ7ÄÆÆÂÌÌLlÿè£jÜ,--¡T*1eÊ(•JXZZVZfÖ¬Y8sæ |||°xñb,[¶¬Ò2Ë–-C~~>"""0dȵy Caa!Ξ=‹ÀÀ@]wUgË–-Ã7Äó̬­­µ.?dÈ|òÉ'(,,Ä'Ÿ|wwwqÞŒ3ðþûïcÒ¤I€I“&áý÷ßÇŒ3ª­ãå—_F—.]Äû¿ÿþ;FŒ-Zˆ›.ÿ† †?þHLLÄœ9s*-cgg‡ï¾ûùùùhÑ¢Š‹‹«|þ€'Ïóˆ#0yòdŒ1Bm¹êj´²²ÂÕHDDÆ«<¼‘~ôºHDDÀÌÌ ÎÎΕ.¢‹€€$%%‰JxÚðáñdÉØÛÛcæÌ™ «´LÇŽѯ_?$$$ˆ#NåÖ­[‡ëׯÃÁÁsæÌQ I5¥é¯‚É“'#((öööˆ‰‰ÁÖ­[Åðñô_‚ àã?Æ©S§Ð¹sgœ>}}ô‘¸Ì+¯¼‚öíÛÃÇÇ‚ à¯ý+Ú·oooo­•”ß^ºt©xõêÕðôô„‡‡z÷î [[[ܽ{Wmùªn—?f]»vŬY³àîî^i›ëׯGhh(€cÇŽ!<<\c8{ö,ÔÚ««144sçÎÅ Aƒ0vìØÕȉ'Nœ 3U÷ºY“>¨j2•J%@ttt•çš@LL <==ÕÚ-Z„víÚ©†”;vìX£¸oLL ‚ƒƒ‘mèRŒZaa!ÌÍÍ ]Ø¿þõ¯Z¿nþñLj‹‹k9¢®TÌhz_ÇmÍš5uZICQÃÐ)¸)•ÊWic¡["""Ýñu³þèÜÚ·oߤ‡,y鎯›õGç·J›²Š·%"""íøºYÜtðøñcC—@DDdô|||žžnè257ð/"""2 nZ( DDDˆ×#""¢ú…Baè2Œƒ›åN\\œ+!""j ƒ› nÕàDDDDÆB篼"""""Ãbp#"""’1¸9;;#::Ú€¥QEÑÑÑpvvï‹_2ÉÉÉHNN6HaDDDD¤ÎÙÙYsp#""""ãÅs܈ˆˆˆ$‚ÁˆˆˆH"܈ˆˆˆ$B¼/?QJDDDdœüýýðà DDDD’Á·J‰ˆˆˆ$‚ÁˆˆˆH"܈ˆˆˆ$‚ÁˆˆˆH"šW¿‘f—.]Â¥K— ]†ä) ( ­Ë0¸‘ÞÊC[pp°¡K‘¼ˆˆÐÞøV)é¡­îŒ;¶Ú‘KޏQ­•••º„&ÁˆˆˆjÁ­a0¸Q­•––ÖK¿¹¹qóæmüðC"²³s!€•U+üßÿ ‚ƒCXYµ®—í+7"""ªµúq;}ú<6n܉¢OŸî°²j ™ HO€%K"`aÑ“áæ6 Î·m¬܈ˆˆ¨Ö¡n¿úü‹/Ž`Ó¦XŒ=/¿<Ï?ï ‹É€ââ2\»v ‡¥K7`úôW0iÒ+uº}cÅO•‘Q9sæ>ýô_˜0áüõ¯£Ð¦RSïàÒ¥T\¼˜Š+Wn¢Y3øø¼Œ3¦à³Ï¾ÀÉ“çªìkÆ èÔ©\\\pîÜ“e,,,rwêƒÕš u2=|˜càêú"úö태œ\tëÖ‚P†[·2pçN&nÜH‡µµÚ´i‰çž{cǾŒ þ‰‡©õµoß>ìØ±?þø#âããñÕW_‰#ƒuUo]Nº`p#"""£ñë¯i¸}; =z8"++ÎÎÏÂÜÜ ½{w…™™îÝË‚³stìhƒöí­ñë¯i(..AZÚïøå—›j}­_¿k×®E÷îÝaccƒ+V¨Í¿}û6<==!—Ëáéé‰Û·obccÑ·o_´iÓýû÷Ç_|HOOÇÈ‘#!—ËáîîŽÔÔÔ†yP*`p#""¢Z««Q§ãÇ“ —[£¤¤7oÞÆ'QPP ssS ò}ü1@©TbñâÅèÔ©¦OŸŽO>ùäÛÃõë×ѵkWÌš5 C‡m€GDÏq#""¢ZÓuĨ:ŽŽ]г§=23ÁÌÌ ×®ý†®]ÛâóÏ¿ÂÑ£§PZZŠO?ÁÂ…oàÆ»((xòzÒÝAíéIDATö´G÷îÝ*Õ1iÒ$Lš4I­Îììl‚€.]º >>¾Ò~¼öÚk•Bž hß¾=öîÝ[/û­+7"""2-ñæ›ðÞ{a°µµÅÁƒ HJºŒ””ßЮ-d2®^MÅÇÿ ™™ÙÈÉÉ…Jõ;ÞZµj)öÓ¦MÛÈÎÎnˆ]© nDDDTku9ò4hÐ_ðÖ[±uë^Bš5“¡sg;<~\™ hÞ¼îßWáÖ­[øí·TO›Ûµþøã©µ¡1¸‘Ññõ‹Î;`Û¶Xœ;—[Û¶°µm‹²2YY÷qÿ~ììÚ`ÅŠ ò¢¡Ëm0 nDDDTkõ1ŠõÒKÁóÏ÷ÄÍ›·qüx>̇ ”Áѱ† GÇ.°´l-é´šbp#""¢Z«¯ðÔºµŠÞP(z7èvƒÕZII‰¡Kh܈ˆˆ¨Ö?~lèš7"""ª5ޏ5 7"""Ò›B¡@DDÆŽkèR$/.. …Bë22•JÕ´Îê#""¢:uéÒ%\ºtÉÐeHžB¡`p#"""j,ø%óDDDDÁàFDDD$ nDDDDÁàFDDD$ nDDDDÁàFDDD$ÿÀªÊÛFÍ IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/pcb-el-1.png0000644000175000017500000000174113634703632016445 00000000000000‰PNG  IHDR³‚ÒÀ²ï pHYs  ÒÝ~ü(IDATxÚíÛANSQ†a1˜Hâ k` ìÀnͰ,êÄ„Ýæ:pÐIs›óBÛë)Ï3å?¹'œûëÍÓËî÷ÓË'€Ÿ×ÌDeÊ‚ÅÊx¼ÿñõñ~äKŒL^rF*©¤:ßÌןÀ8 P@ 2€@eÊKV©¤’*ÌX²‹ ¨ P@ 2€ÀÆD*©¤ 36&@àb*T¨ °1‘J*©ÂŒ ¸˜Ê•*lL¤’Jª0cc.&@ 2€@eÊ•–¬RI%U˜±d P@ 2€@e‰TRIflL€ÀÅTÜ®à”v¯?ÿì^—>ºÝ|¿ÝnÖÎÈ|œ«CÓ¿Ë8þ8—|´ÇLå\-™rc²œÇêÝöËæn»ôÑýç>?üúöüp™äk}¯¤r®N;3åo#?ö}?>¹ö߉õ9W#&«Œ¥G5òxÜHYâ\›~c2þH®ïáq>ÎÕ’i*ãm¯£þµô€Oõõ™‹sUMSÀÿ`²Éáûêã¿Ö¯vîä—ÿ^I5>ã\ÏLóúó=/¨ÎýÕ˜—sU¹˜Á4•qªžþ?ç\UÓTÆ’ñ7Ò×÷îšóq®–Ló.ãÐiÒõýàmœ«Óÿ–\ÒdKÖý̾¿·øñE×þs¯û¿IUgœ««Z²ŽøhÿÚŸËp®]Ueçæ]¨ P@0åÆD*©¤ZëOôú\L€@eÊ•6&RI%U˜±1 P@ 2€@e‰TRIflL€ÀÅT¨ P@ 2€À’U*©¤ 3–¬@àb*T¨ °1‘J*©ÂŒ ¸˜Ê•*lL¤’Jª0cc.&@ 2€@eÊ©¤’*ÌØ˜‹ ¨ P@ 2€@e%«TRIf,YÀÅT¨ P@`c"•TR… p1•*TؘH%•TaÆÆ\L€@eÊ•6&RI%U˜ù ®¤’"€üBtEXtsoftwareImageMagick 6.0.6 11/29/04 Q16 http://www.imagemagick.orgÝ<Ž‘tEXtdocumenttmp.tiffý òüIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/ambiguous1.ru.png0000644000175000017500000013204313634703632017646 00000000000000‰PNG  IHDR5ö :bKGDþþþëÔ‚ pHYsHHFÉk> vpAg'¾sú€IDATxÚìwœTÕù‡Ÿawé”" ¢‚+,*XÐX¢‰FŒ½&šh,±$Ñ_ÔDkl±Ç–(b/ ¢(Ø**Xh‚R¤/œßïŒwf™Ù~îÌ|Ÿý|?{çÜ{Ïyï¹çΜ÷žB!„BˆŠ ‰o„B!„ÅC€B!„„!„B!*9B!„BTr„B!„¨ ä!„BQAÈB!„¢‚ „B!D!@!„Bˆ B€B!„„!„B!*9Bˆ²ÄE%„BˆDä!„BQAÈB!„¢‚ „B!D!@!„Bˆ B€B!„„!„B!*9B!„BTr„å‰s&!„B$ @!„Bˆ B€B!„„!„B!*9B!„BTr„B!„¨ ä!„BQAÈB!r$6ël&Z¹¾û¦O‡Çƒó΃òcO—.°h‘¥síµÅ+›üH&!Da „Bx Y3èÐú÷‡½÷†¿ü>ün¿ZµÊ>Þ&MàŽ; ]»ÜmÌg\BˆðPíÛ!„¢œX¼,hü¸V­ cGhÚ4‹DàðáOØuWX³&³´#¸þzØ}÷ܯ#—¸>û,ósÚ¶… 6>¿ñFî× „H“$I*7Åðm‡Tr.еצ^u5nð`ÜßÿŽ[µ*1ž .È̆šÜ¿þ•G¦ö"®tÔ²%îÝwƒt¾þ×½»ÿû*Iå*uB!vôhxóM¸óNLãÆ3O7ŸqeB§Npà ÁçwÞ‹.*lšB9B!Dh¨?x¸¡Ù€ž~¶Þ:ø¼x±uÛ9á„ÌÓÍg\™ð·¿Açζ½nsŒu‹B9B!DHè×/ñóüùŸãœµ ·Ý–[úùŒ«1† ƒ£>ßr L›VØ4…†!„"${lâçW_M}ìÚµ0~< šû Ù|Æ•.—^jãÀZÎ;¯ði ! ­ „B„€„“N >üqÃa7Ù¾ú*?iç3®t3F >_z)|ûmñÒ¢ÒQ €Bá‰V­`äH¸÷^xਪ²ðµká׿¶ÿ©Èg…½˜•H|Û¿`\}uqÓ¢ÒQ €B‘GÆk|úÎêj›ã¿C‡ LŒÕ«m0ìsÏù¾’°㎰óÎÁçË/O\ÿ@Qxä!„y¤];S¦¬[O<gŸ ï½çû* Ç)§ÛË–%N*„(r„BOÔÕÁ]wÙ`ßÿý¯üW¿íÒöß?ø|ûí°h‘o«„¨<4@!„È#×]gÝzâU] íÛÃn»ÁSOÇVWÃ;Àûï—å¬{TMMðùŸÿôm‘•‰QvÜy§ÍeSü¬ÙR] sçq~ù%4i’˜N>•)]ºØ[4çàÚk³¿Î¡Cáúë­ûÁâŰr%|ñ<ó w\vݶØ.¹&O¶<\µ –,Ï>³ùÆ<š5Ëý fÖ®µgê¹çl|Àþìëß&M‚±c}[Yx9$Øž:>øÀ·EBT.N’ÊI#Fàœ ôÊ+¹Ç¹Ï>‰qþùÏ–Oeb[“&¸'Ÿ νöÚ̯¯E Ü­·6nל9–éÄÙ©îÒ»ÞÙ³q{í•ßrÃwy”*Cñå9Ýgð¯Mﺫ-èSŸc ¶¿ùÆ>7´šé„ ‰«€ ÛlS¼<Â7wÝeÝðâ¹òJhÝÚ·eùcË-»BNšäÛ"!*9¢l¹ùæÄÏãÆeÇ A0dHðù¶Û®Ì’Ñ£áÍ7m–£‚ðoÌ.¾ví`¿ý¯mñâ†Ï¹õVëÃã—¿LÜß¶mâ Ÿ·ßnýþ#6¦"ÆÈ‘…ÊE!ÂÉ 'ÀòåÁç=àüó}[•?~ò“ÄÏo¼áÛ"!*9¢lyæ˜5+øü‹_$Î?Gl;·Üâïzž~¶Þ:ø¼x1u”U²aôèÄüxøáÆÏY³<øü³Ÿ%î800 ðÚkéÙ2cFâçnÝò{B„›Y³Ö¯ðÿö·6 ¸4(Øž=»ñ— BˆÂ"@”-ëÖÙ[í:Áž{¦~M zhðù™g`æLßWeŽÈý÷[e;þú2%¾ Q]L›–ÞyS¦Û]ºX÷ªÓ§ÛŒDG ú“-n”ñ-`kQi\y%¼óNð¹ºÚfùŠuÓ+e ¶Ãð=*D¥#@”5·ÞšØ§ý°ÃÒ?wìXØ`ƒàsý.EÅfíZ›6oèP8øàÜW Ýb‹`û³ÏÒ¯tüqâçÍ7¶-²–Š[o…¿üÅK‡]wMüßr#D¥PWÇŸøµÓN‰ãJ•^½‚í¹s}[#„ Êš¯¾‚§ž >ï³Oú«ÙÆÿèΟoóßûd“Mà€lp>èÙ31ŸÒå›o?Çÿ°gC$¿û]bXü=¢’xí5¸á†Ä°K.I\7£éÒ%Ø^²Ä·5B9¢ì‰s߬tPãçl°Aâ¢5·ßnýß}’I%=â,Hÿ¼… ?çZ19á[ )Æ³ÏæÿZ…(%Î>;±…oƒ à¯õmUnÄÏh”ÎÄBˆÂ¢•€EÙóØc0o^Pá=ì°ÆóŽ uÎ÷ŸBÿƒüÃéŸWÿØ6m²·aøp¸âŠà³sð‡?øÎ!2'Ÿýô—,6 =ùˆ+Ó „…E-¢ì©«³7ø1vÞ¹ñn+‡lOœ¸þ,5å@³fÁv&­õmÚ4»ô ²5š7Â.ºHÓ !„…F€¨þõ¯`;IœÝ§>C†ØbT1Êñí}œ+î¹C†XWŸÎƒ°§ž‚?ÿÙwN!„åQ|úiâÊ“ - ?÷ÿÂ…ðÐC¾­/ «WÛ™4Ï×?6Óþ¼»îj÷"~†¥W_…L½ ±B!ò‡Q1Ä¿Éß|s›N³>55pÈ!Áç;ï,ß9éãgâhÕ*ýóê÷ù_¶,ýs: žx"1Ž—^²µ2‡ „Bˆì‘ *†„ï¿>'[`Ÿ}»¥”s÷ŸùóƒíNÒ?¯þ¬?óæ5~N“&ð÷¿[W¬ø„ ¬ò¿t©ïÜ"KœTp !òŽQ1¬\ wß|>ø`¨ªJ<&¾ûÏË/ÃGù¶ºpįÆÙ½{úçÕŸäë¯>¾uk[Cá÷¿O ¿åØX±ÂwN‘#©`B9¢¢ˆŸþ³K3&ñó{ŸoºÉ·µ…åÃíM7]ßJÅ€‰Ÿß?õ±nh³(í½wæœw{¬ÍÐ$„Bˆâ"@Tï¾ ¯¿|Ž |è¡P]cÑ"øï}[[X^{-ØnÞܦåL‡í¶ ¶ç̓/¿L~\÷îð⋉c-V®„_þÒ¦ûB!„䈊#¾`ß}¡eKÛŽŸôî»Ë¿kÊsÏ%¾ßwßÆÏ©©=÷ >?õTòã:v´i>û÷Â.„Ývƒûîó}åB!De#@T÷ÝÌ\Óª• üíß¶Ù&8¦Ü»ÿ,^lƒpcœp´mÛð9G•8}çw¬L$ÿþ·Í´㫯`§`òdßW-„B9¢âXº4ñ-ôþû›b¼ö¼÷žo+‹Ãßÿlwé÷ߟzM€áÃáŠ+‚ÏS§ÂóϯÜï~—8–bÁ5 ¦O÷}µB!„¨öm€>¸å8úhÛÞcè×/ØW oÿcLžlÝbc!öØ^yÅfìyñE kÛŽ9.¼Z´°°5kà׿^?¾víWóu~ñ øì3ßWšg"@O ?°°9Ðh´Z¢ÛË€ï¢Û‹€Ï€O€/ÓM\!„È 9¢"™2Åf¯ÙrK«´Æª.YboÁ+‰O„Þ½­‹À°a¶Rï?X7¡®]grN:ÉZêsÒI–Ÿ1êê²s¨îº .¸ÀwÎÄQ vFCï*ïÿÃ*ö˰Šþ÷Ñm0G æ´Â…>˜ã°æDt¦Ïϯk|_¸BˆrD€¨Xn¹þñİ{îÉleÛrà‡ìÍÿõ×Ûâh‘èÜÛ­[›âùî;+ðŸÿ$ëg?Kü\S}ûfnSü8otöÀ*ÿ`ó?cõLÊÉjÌ!hˆVÀ0`à` 0x¸˜B‘4@T,wÝ«V%†•óÊ¿ ±l~8l»-\u•µŽ|ÿ½½Á_°^xÎ8ÃÖ HUù‡õ×(9Z¿ÀÞæ¿‡U¯6vÎ&‘Yå?]–Eãþ3°S4Ík€-ZšûÎ$!„¥N-´-„(Cœ³¯¶H$åD7ÎÀ*ÿS€Û @X¦‚mì lÜ ü˜éÛ0C+Öå¯A-BˆÊ¥?VÙ X€½m ü‡ðTþ‰Úr_Ô¶­°îDS[M}'„¢Ô „¨<boÑ'aƒxûæú6, fŒÚü9ð2ðoÌ™B!Ò@€¢rhüxxè \ ,ñmX,.Œ^Ã;ÀKÑÏ-|&„"ìÈBT{bó÷ÆúЗÌO?—F¯©ð>ÖUH!„H !Ê’wŽÀMÀ–ÀIØTžåÌhà:¬Uà`¡oƒÊ R-,Ê_! ‚Z„e˦XWŸØàÙr¯ü<½ÖϱkßηAaÀç ½C+(.—û JˆJF€¢üˆÀ¥\ÊÆÀ[ÀØb\•Â*à,à×ÀxàTôU!Ĩ ¢¼hƒÍðÓø08¸[awžo‹ÌÆÀýØ G‡ac*ŽØÏ\¼ uQ),Ê_! ‚Z„åÃ†Ø ?3€]€7Ó°i?Á_tñmhùMú<ÐÙ·AB!|#@Qô^ÄÞü×Åí›Ge;k°î@bÓ…öòmBŸÈB”>±ÊÿåØ<ÿ©¨tGàBàÀĸ<BQqÈB”6§°ŠýÍižSÉŽÀÀÀÓÀf¾Bá9BˆÒ¥ð8Ö½åÁ,ίTGà¿ØšOcy(„¢¢ „(MÚÿþ†õmÏ…JtÅfEzËK!„ƒ!Déј€M÷yCã­4GàŸXkÀC@S߯!„(r„¥Ç À{ØÛÿBPIŽÀÿ×û6D!D± „(-~…McyrÒªGà`p¨oC„B9BˆÒaöÆúP`mÓ ›#ïõÛë€_ý=]“Bˆ¢!@Q´ÀúüÿøÚ“ asòÉ—XKÀ=@3߯!„($r„¥ÁÅÀsØÌ?¾)WG ¶RðE¾ BQHä!ÂÏÖÀ.À9¾ ©G9:g»[ú6D!D¡ „7àjàwÀj߯¤ œÕX^_‡å½Bˆ²C€"Üü ø xÁ·!iP.ŽÀsÀ4+B”)ò?Ÿ„Bä‡öÀ4`0Û·1YÐ8 8¸[yw^âuþíüFÀD`(°¤ÀiœØÏ\2­÷¢’Qþ QÔ „/g·Pš•(ío€Û€?ø6¤pRÁ$„(jB„“ÀÛØ`Ô¥¾Éùj(Ö[ÑvÀ;Ø ìEEÉ¡QÀ!„(AÔ „''·S>•(½ÅÀÝØÚ B!ʵ!ÂGkà=à'À߯l[ŠÙ/º3ð°9°ÜCåµ!Dõ[|ðð*0Öwf!„È9Bˆðð3àAßF„˜˜#à‹‡€|g‚Bˆ\Q !Dx˜ ÁœŠÔ{ Ý©ÀF¾3 SÔH!âQ €"l|*ÿaf6¶2s߆!„È9Bˆp0 xÁ·¢Q&µ¾B‘ r„á@@ið<°‹o#„B䂯!ÂÁ\`0ÉW¾‰ø%:@c„"µ!üÓ[@•ÿð3h´ómˆBˆl‘ „ðÏ`ºo#DÚ|Œ !D #@áŸMO}!ÒæSìž !„(Iä!ü£€Òb:vÏ„B”$r„þQ @i¡!„(iä!üÓ-VJÌÅîYˆ©ª‚‰¡®œ‹à\„º: «ªòmBø¥Ú·BAkàßFˆ´Y ´ñmDjZ´€o¿…V­ëª`äHX¼6ØV¬ðm©BøA-BÿÈ(-~ÀîYHyî¹õ+ÿñ´jÏ>ëÛJ!„ð‡Bøg0uJŸ tÞÀ !uuwóY»ªÕ.„¨Pôõ'„ðZJ‹ M·6,qK|[’‚ƽ#BT2jBøÇ÷íR#$ßÚ.,†¬Gz…)¢2'„¨PÔ „ðO¬O¹ZÒÇgåµ ð DÚ†³n !„¨T4XáŸ*õ¹³öÚkó꫾­BÈBø'äÓJŠz´ÁîYH1–6`ßÒ¥P[ëÛJ!„ð‡!„ÔPZ„¼`íZèÐ^x!±«ÏÚµÖ¡ƒº !*BøG@iò° þ.»Ä>Å+‡sÌ‚Bµ!ü3èêÛ‘6]Ñš BQ¨@Ñ055¶tjûöЩtîlÿ;v„víl_çÎ0l,Xóçüy0w®iþ| _¸-‚eË`ÍšÄ4>6ó}¡"m6>õm„Bˆl‘ „0š5ƒnÝ`óÍ­2¿óΰÛn…™,Ý9ëŒ=iL ?‚as€U¾sA¤Ãà ßF!„È-&D¥Ò¡ »ïãÆAÏžé·l|ñÌžmoõ—.µV‚m¶®]¡K—ìmZ°y&L°yçÍóKáÄ÷Âi¯'¯ûΈtÑ!„ˆG€•BM ûí§mÛ&?Î9«„¿ô¼ÿ>Ìšß~ ß}—~ZM›Zü]º@¯^0`l½5ì¸#ôé“™ÝsçÂË/[kÁGÁW_™=K—ÚŠO•ˆo`1ÐXâ;#ÒE€BÄ#@ˆr¦iSëÎsÜqpøáÉyøa?^¾ü–//¬M‘4on-ݺ™C0x0œ±Ôm -[¥ך5æ¨L›fÎÊgŸÁ7ßXËÄòå°n]Ѳº¨øtºS|gB&ÈBˆxäQŽ Ç§œ²þ¾—^‚›n²7ê_moüÃÀ€ûñUк5l±ì±üâ°Y–#„çÎ…W^7ß„?„™3aÎŒ¼jUx®=S|:¿öö ™ @!â‘ D¹Ðªì»/üóŸëwï¹÷^¸ñFp[è7üÙr"°pR’}-[ÂO~bNÍ!‡$î[¹¦L±îF›ožYš~hç¾ó|ü±uwš?ߺÕŸ©(LøtnÞnô ™ @!â‘ D©Ó­œ|2œ}vbø‹/ÂEÙÿ+|[Ù8›9®E ›¡èÜsaĈÄ}ý«µn¬\iùÒ»·µ†l³ ì°ƒ R΄—_6§é½÷`Æ k1Y¸ÐBû\JÖ§0ØøØßågŽ!„ˆG€ÈŠH¶ßöÙǺ˜`]º›6µÞß|o¼O=>j½-òE—.ö²¶];¸î:øÍo2£¦öß߯ÃjõÂfÍlš·ß6›ï¾»ñ—åùêA’ÕL›½{Ãùç¯ß·ÿŒ3à®»Js9ÀÒ_dªK8ì0¸ì²Äð;î°¼™931¼IkMèÔ 6Úúö…-· ¦=­©IßÖテɓ­ ø!|þ¹u/úþ{s@ ٽȗ°6Piç„!„¨“¤t‰àŽ<÷ÑG8çÒÓ‚¸ßüWU•{úMšàž|2ˆûÚk3cäH܇6n÷×_ãFn8®tó 1et ={:î¼31†¹scÇ:jj¼—‘œt/Žƒ³8¯¦Æ®îÜÄ|¹óN˯tã©®vtèàØl3Ç®»:N<ÑqÃ Ž·ÞÊü®~ú©¥Úi޽örl±…£sgGÓ¦ÙçOg—áÈ´ÌäKãpÜ‚r’±\T¾í$I ¼ •ˆ6Ù÷Ê+É«;Ë—[…ùë¯q+W&?fÒ$\§NÙ§‰àn¸!1ÎL€Ÿÿ·fÍú¶ÍŸ›7oýðÕ«qûì“:¾32×üù‰iL›–¦ý:8.¿<ÑÂwßul¿½#ñ^>ò¢qü'‡ó#ËwßM̧Ë/·üËÕ¾fÍnè4ÈñÓŸ:Î<ÓqnY³2w^{ÍqÍ5ŽcuÔÖ:úöu´k稪Z?Ýö8.À±ǵøsÆãØ/å$cÉ$Iª'ïH% ¡Cׯ ðîä“qýúYåÜ{¹È»šá˜‹Uxskøp˧ø|;æ˜äì|(q´jåèÑÃ±í¶ŽCq\x¡ãÉ'?ü™sðÃvÞ¥:î=ÄñݶŽz86oeéøp:☃£iÊIÆ’ I’TOÞ B®^½psç&¾?õÔôºôlº)îÓO«7>šyúS¦$¯*¥ë4k†ûâ‹à¼ï¿Çí´Sêã?>1‹.ÊO^ÞqGg]]Ã6Ž¡C‹'^õ˜1åóÆ?™nÄq\žâŠD,¿âóoñbË×b_WU•½áïÛ×Þø{¬µ¼öZÆfYËÙgZKÄ AÖ2ѬYáì?Ç?CP>²’I’¤zòn€rMœT;Ö¬Áí¹gfç÷ì‰ûöÛÄêËOÚøy‘î°Ãì |ªjPºÀ¯xÞ¾û6~Î[oÇüqîùø³Ÿ%Úðç?7p|«VŽ«®J¼ÚO,ý>þéhg/æ9ΚË¿øü¼ê*Ëgß×SӦޮçoᘿ—ãýÓÝic 2uÞzËÆ.œx¢eØl3ëU]½}“qì‚|ÊJr$I’êÉ»RˆuÈ!‰U‹3ÏÌ.ž_ý*1ž©S>~ôèÄ xLÙŽxï½àœ Ò;çðÃq<‚»í6Üå—ç6ˆ¹S§D'èí·qÕÕ)Žßa‡Ä«~è!G—.ÞËBÑÁñŽM w—.–Ÿñù»Ãþ¯¹ ŽÃpÌÀñ ŽmëçIÄÑ¢…£{wk½p9þügÇ£:.ÌÌ9X½ÚñÜsŽK.qv˜]¯^ŽÖ­Mš$·¯/ŽO£÷Æw^e%9’$IõäÝ)ÄŠ¯„öY•ÖFÔ¤‰ €Åµh®GÔÇׯ¶,Zd³Õß—ŽЯ_â9»ìRü|¼ùæ ýµkqÆ%9®¦ÆqñÅëw÷ A9(ºNÅqEã¯ß-èâ‹ý´®Dpü Çû8^Æ12Íóꨪr´mëØdÇÎ;;Ž<ÒqÅŽ—^ʼõ`Îǃ:Î=×±ÿþŽ!C7wuœÞ¼„»žÉ$Iª'ïH!Õ!‰Uƒ?ü!·øößw≸AƒÌ!hèØXšëÖáî»/q l¦À±Ç&üÍÖ‰ÉVÆ%*¾ñÆ$ÇõêåøúëàÊî¹Çú‹‡ xQk_`Ó^*ví,Ÿcyþõ×vŠu{á˜Õ^ž›é àšGÇŽŽ»ïî8åÇ¿þåøàƒÌ„>°sO9Åâ0Àâu÷49’$IõäÝ)¤:÷ÜÄŸþm¶)^Úuu¸‡2'¤þ¾L€ønC¯¿„×ÔØX„Ûnýø"îý÷qÏ?»ä’äéf«çŸOlÉØ`ƒzÇì±Gb뀼ßûPè8þ¯ép@bþï±GaÓ‰½í{ûŸM·š|Ή8š7wtíjoû÷ßßÞþ?ø µdê ¼ô’µ>y¤µFl²‰µNjö¥´$@’$©ž¼ …T<’8kNcoíó©ž=SïËÔˆ¯€?ø …ÕÖâ>ÿ¼áªÌ¿ÿÝ”¥ñ3&1ÎsΉÛ‰XE+¶wî\GïÞÞï{hÔÇ,m‹VïÞ‰‹ˆ{nþ»»l‹õïŸõ÷Ïåy*Ö4 íq|ÑıQkkÙa7pÉ%6Ž`õêÌœƒ… mÜŸÿì8è Ïн»o(h÷"9’$IõäÝ)¤úä“à§û¥—üÛS¦@üuüë_¸#ŽHì’ÓÞ{/·5^|1ˆëÛoq­[G÷µhá?>HéÆ ;…c©êo8rìz–¶š5³û»'ãÇÛ}Ê5ÞA8Åñ%6½i>º Ë8GcSà†}õdpÈ$Iª/ïH!Õ¢EÁOóCù·'¦L€øiDßzËÖ1p·p!îŒ3p}ûâš6µŠþ¸q‰ƒsV‰ÏfÜÀŽ;¦CѹsâʱÇã=OC«ö8>Á±QÓŒ_tmÖ,»_ÙÄÓÇ}8fãø-¶ÈY¾l,†Ð›ù'×_«''H€$IR=y7@ ©Ö¬ ~zoºÉ¿=1eê¬Zµ~UbúôÔÝŒZµÂ=÷\âñ¿ùMævÞpþ?àڷǺšÄÇñܾ >­[gC—%£A8ÞÃÑ´iÕâø6ú¿{w»_±{7xðúÇwÆqVñ¿ŒÂN]S!€f8Þűeî{cjÚÔºhm±…8í4C–Õ“%I’Â+ïH!Õë¯?/¿ìßž˜2uæÍK<ñ¼_ÿ:}§M‹›Mèý¸Êÿ·ßÚœé!ÈÇ’Ó8./pµ•ÿXXÇŽvßê;í±7ý ±7ÿÝ‹˜…t®Æqiîw®JX=Ù9rÅ]=Y’$)ĪFˆ|ø!üä'¶½ùæ¾­Éž¥Kaà ƒÏŸ~šÞyœø¹k×ôÎëÓ†µíÈ¡[¼mfφañbßYRšœ¼ì,X Ê®¬žÞ¾Êcܵ$¯üÇX¼† „Ïg@«Îpê°ë&ðüLß¹’?zW»«|SÖ®…%KL_|a_xñÔÔ@›6öö W/èß†í¶³g9ž®]á€LÉøðC˜2ÞyÇÞ,ÌšóçÛÛ‰t¿„"Ïxo†Â©=pk× áçž›[|Ç“ذžíÀâL»]yeâ9ÛoŸ^:;&žwþùé7aî[×9±Ï¿ºýäO‡áx GUžâ«eýn?ñªÆæïÿÇ“Çd;EhØTƒc2ŽCB`KA”çY€*bõdI’Ê\Þ B¬gž ~¦fÍÂÕÔd×›o&þìí¶[vñdê~xâ9§žš^:;í”xÞ¡‡6~N“&¸¹‹[¸žîËàL øÍ¿nÃq}â©%uå¿ ælÌÀVðÝ6Þ½{po¿ü2?‹…ùÖõ8B4ÓWþUäi@›4±ñ%½z²$Ie.ïH!Ö^{%þ}vvñüâ‰ñ|øafÓjÆ+S`ƒ ×4˜2%½t.¼01­TëÄkÐàˆÛÏÿñ¬íŽÐTŸQ Ïá8'‡8jI^ùàøŽ÷q¼Œcd’sÄM:~|iWÄ.Œæe1fXò¦­P«'K’Tæòn€r½øbðs³z5nÏ=3;óÍmÕÝøŸ­ÌÞžLÀ=úhâyûïßðñ:á¾ý6óY†>tî©Lt#]»vþï_Ùª6]å‰Yœ[KòÊÿ^8¦EÕØlQñ‹…{®ÿüÈF'Fó°ìËiȀƊՓ%I*sy7@ ¹úöÅ-Y’¸Ö©§¦÷—]ÖŸ†óþûs³'`»íÇ3Ì‹<8ù±Íšá<1}öI#=÷üñŒ[ÜÑî›oüß»²W3qü4ƒsjY¿ò?{Ûÿ>öö?ݰŽ>:(%{îé??2ÑO£y×#¶\%æ4¤¢­ž\­Z’$¥#ïH% ÝwO\Ø9Üô鸓OÆm²Iâ±­[ãöØ÷àƒë¯Â;u*®M›ÜlÉÆÜßÿžxî⟳ÎÂuè³ãŽÖE(þ¸ñãÓˆ¿W¯Ï8ÖÝäœÃMžìÿ¾U„6ÇñVqoìØZ+ÿÛbýûg`ýý³é–vÓMAiéÕË~¤£q|£_l)ŠÊÈhLy]=y–VO–¤ò•w¤ѨQöæ<ÙOÅ’%¸™3mõàø7íñzüqsrµ#[ ºwûíÉm›3Ç‚úáÓ¦Ñx7žšÇ×_;œs×Ìu+]3çœ9@¾ïYÅh ö6û¸Ž©%¨üÂñ(6³ÏqØL?ÉÎi=þw8nÇñ6ë;hÖÌ1w®•˜¯¿¶òà;?Ò 8¾ˆæ™o[Ц r“VO–$ÉäÝ©„´á†¸ë®Ã­Z•þÏÄW_áŽ8"6dë.Áýîw¸E‹¶yÝ:sÒj­¸øâÏ|wq¯ã¸í6ÿ÷«¢Ô ÇG8’MW[‹UþÃqŽÙ8~‹£YÜ1á=ÿ?8>DZ›ó:ÇâFòÁ²q-@\|±ÿ¼H¥?EóhãØRTÉHK «'µY‡´z²$•¥"Ñ !2¢S'øéO¡¶ÖÏìÑÃÖÌ©ª‚ᅦ¯¿†×^ƒ'ž€Ç·5wò…‹+±×]¿ùMæql°üò—°Ï>°Ùf¶ÖO]-à9q"üë_ðÖ[iD´Ã0y²mÿìg¬¹ÿ!ª£ËëÝpœxbaò_¤`luÞ)ÀiÀl‘¯‡€×€m€O›a«ø¶Žžÿ6ð¶jìÛÀ `]šip<ø m︣­ j¢×= Ø XèÛ bûÒˆø6¤´ÉdõäÆÐêÉBxE€ÙÒªU°\ð½÷šG!üÓ¸è Ü \Uâßþ|KPÉé›<¤}Ï=pÈ!¶Ýº5,[æ;7`cà~`.pðCnÑ•&rŠB&«'7†VO¢ È"[®º N9Ŷ۷‡Å‹}[$bDàŠuWp&gR·¬ÃZÞŽjQÒm×ÎÞ`\}5üö·~óa,p p)ÖP±ßör¼‰@³fö]Ù­ôîmNÁ6ÛXKj×®™Å÷òË0u*¼÷̘aÍÎ šÓÏ&g!Ê9BdÃС0mšmï¾;<ý´o‹D=œsLa ÛÏÚÞÞ€ÿ XU„„ÇŒ§ž²íaÃà7ŠñÍ €_c]¢*9¡§IhÙÒºm´ôí [niÏÐÎ;[ëBº|÷uÍ|ã kIøüsë^ôý÷°r¥º !2§ªÊÞ4µk? ûïïÛ"‘ý‘tŽÀÀVÀ¯g‹øøñ°ß~Ö*Ô©SqßHŽ®ÃÆ2œHö÷O†€’§ºÚºm°ôìiƒ·†áÃaë­3‹kÆ xõUxûm˜>ݺÍ›K–ÀêÕ¾¯Tˆ¢ @ˆL9æ¸ùfÛîÚÕ~8DèøÑˆD+}ck°·á¿æ0ñ.]l#À±ÇÂ-·þ‚»Wb›OÁC‹(rÊžfÍì¥L×®Ö½hÀ2ĺm¼qfq½þºéÝwáÓO᫯`Áó¥îE¢L D&tè`ÍË¿þ5\½o‹D ÖsZçÇ®§pƒbO:ɦ©èØÑº‚6XËÆéØ›ÿ¿+ tM%‹€Š&±îE:@÷îÖ½h‹-¬{ÑN;Ù„é²l™?˜6 >ø>û f϶ç{ùru/%ƒ!2áòËá´Ól»iSÍFb’:1v®ÆZò=†»¦&èNpÅðûßç7þÀÉÀo€g€óOó| eƒÑUU6kWçÎÖ½hÓMaÐ Øv[S&|ù¥MoúÖ[Ö½hæLk \¼Ø¦7"$È"]zö´/wÐÀß A Fàl`oàŸQÍΣñ‚7ÞØºäJwìÿñÀ£À_QÅ¿QäˆhÚÚ¶µ®}½zY÷¢­·†í··µ2áí·m‘œwÞO>±ï„o¿µéMëê|_©¨ ä‘.wÞ ‡fM¾›nª¦Þ“–cà lÖœ)Øú“{WšHÄú÷í wÝ¿úUvñ´~‚Íjôw`f¡s±\ D$Í›[÷¢nÝ O›ÞtèP[°cÇôãZ³^zɺ½ÿ¾ýÖ|óM:±|9¬KwUB!G€éл7|ñ…mo·½Á¡&# Fs`à`8¶‚ð#À$²+0|¸-h°É&Ö% Ú#ýŸbŽÉØ[õ$È9ÂZ=Y„9B¤Ãí·Ãá‡Û[™­¶òmHƒ¬€x6ÄæÐì|¼<L#3‡à½÷lNó;î€#ŽH~L`6.a°90ëß0ßkv–8rDHÑêÉÂr„hŒnÝl–°)å^}Õ·E" rvâ©ÆZFaôaØjÂÇi6ø`itÌIµ=<ùŠmï×ÖÌ~Ø`äþÀf@;̱xs4^Ô%8OÈ%ˆVOD€qñÅpöÙÖüÚ½»šYK„¼:ÉèUÞcê‡Uâ[coóÛG·~ˆ@»ÙPÕ¾ú+¼wŽ9 Ó1çáàkß9VÎÈeˆVO9 @ˆ†hÕÊØ{oøßÿ|[$Ò¤à@¦Œ &ØvëÖöÖM 9¢ÑêÉ¢äÑ¿ü%üûß¶­yÿKŠÐ9ñëz(Üso‹*9B¬G>WOž;ׂ©SmPòêÕÖr°|¹½ìXºÔœ…˜–.5-_nÿEÑ‘ DC,^ló?Ÿqüýï¾­:àôÓá²Ëì°];ßÖTr„‚EÏb­}ûZÅË-­u Óqùdî\ÀüþûÖÊðÙgÁ: ‹ó½R£ D*´¥ÞÁ¾çÍóm‘È€P:]ºØÀ[X_[Qäˆ £ºÚÆôécûv€]wµqlÙ2w®Í*´p¡½ÄˆM=Ú¬™u5êØÑV@^±ÂZÌ[´0g£];Û×¥KnÆœ9ðì³6ê;ïØ8…… µ€Z–È"W]§œb ³ŒáÛ‘!¡t^|Ñè]}5üö·¾­©äˆ2¦ºÚ*ö[mµµ°ß~é¯PüúëViŸ>ÝÖ˜=;¨àǺïŠV­lsÛ¶æ¬tïžØiÛmÓ‹gÆ xøa˜8Ñf8š3GÝuÓ@€ÉhÚÔÞnì¾;<ý´o‹D†„Ö3žzʶ›5Óº¢ @”­[Ûz£FÁÁ۪à 1u*<÷œÍðóÉ'VAþö[ßW‘M›Z B·n6ˆyèPkÉøÉO>ï7à¾ûà…lM„²]ɱ|‘ D2vØÁ¦D{C±b…o‹D†„ÖhÑÂÞ¬츣5g‹#@”0-[Z—Ô½ö‚ãOÝÇ9›\à™gì­þ¬YåÝw¾];[ã³gÃ7Âã[×ËØwp…ã$Iª§Ûow8ç¸÷^ÿ¶HY)†o;’êÞ{­|Ý~»[*B.*ßvHRšêÕËqÌ1ŽiÓì»"™^~ÙqòÉŽ­·v´iãßfŸj‡c–[omùòòË©ónÚ4Ëß^½üÛîOÞ ¤p©¦&ø’9Ò¿=RV µ0rdPÆjjüÛSö’ …\55Žm¶q\ziêJësÏ9?ÜÑ·¯£ºÚ¿ÍaÓ,× «®¶ü:âË¿Ty{饖ÿ•õ}ìÝI —¾Z¶ôo”•Bí´l”±ÁƒýÛSö’ …PM›:¶ßÞqë­É+¥sæ8Î8ñÅv¬o{îqFžo±…åëœ9ÉóýÖ[í¾”ž{7@’2“+ðyþ³} LšäÿZ¥¬j¬|9gåÍ·-e/9RHTUeošo¼1yåó©§ûíçèÔÉ¿­¥¦Óp\žá9:Y~?õTòûqãv¿ªªü__þåÝIÊL…v-²ÿÐCý_«”µBïz¨•³E‹üÛRö’ yV¯^Ž?þ1y%óþûµµjqÎUÃqLÉáü–-í>ÜòûôÇ?–Û˜ïHRf*¤СCð°÷ìéÿZ¥¬z gÏ ¬uèàßž²–ɃZ¶tì¿¿ãÓOׯL>ö˜c—]-Zø·³\ÔÇ÷8Zæ!®-ìþ<öØú÷îÓOí¾–¾ÃæÝIÊL…tâg6iâÿZ¥¬z I 6/šäHETŸ>Ž+®H^q<è GÛ¶þm,WMÂ1"Ïq¶mk÷-™#wÅv¿}_wvòn€$e¦B:_lõCù¿N)'…Þ+gÎY¹ómKYK€T`UU9Fr¼ùæú•ÄóÏ/·®#áÕ_pœWÀø{õ²ûYÿ¿ù¦ÝÿÒ+àÝIÊL…tfͲ‡ù°Ãü_§”“JÂ8ì0+o³fù·¥¬%@*Z¶´)&ëWßyÇ1fL%Ì$.í„ã¥"¤Ó´©ÝßwÞYÿÞqD©tòn€$e¦B9Íšð€þ¯SÊI%á ”¹fÍüÛS¶’ åY;:Î9gýÊßu×Ù¼ó¾í«TUáøG‡"¦Ù·¯Ý÷úeáœs¬œøÎ“Ôòn€$e¦B9½{kþÿ2RI8ñëôîíßž²•)OêÒ%ùb]'ŸìhßÞ¿}’ãyH·}{+õËÆe—Y¹ñ/ëË»’”™ å챇=¬ëÖù¿F)g•„VÞœ³òçÛ–²•)GuéâøÇ?+vëÖ9ðÀR›Û]GWßàh[ꫪÊÊUýñ$£FÕu U«`ûÛo}[#*‰øò_…Å¡O˜4 ž" ;åhÞÜúr¯]ëÛB‘)s‘¾ IÂÚµV®š7·rVîžÞÊaŸ>E1C€íÛÛË–ù¶FTñå-¾ ! KË–ðÿŸ}#FXØõ×ÛÍk®U«|[(ráàç¾h€U«¬œuêdå¬~ö™•Ë–- n‚ÿæIÊD…è4thЧ~že¡’é‰eoèPÿö”¥ÔHª§ØØ›ø•{µdy©=ŽÙ8Z„À–t4`Àú+ pL¢Z„¥ö6Ö9ßÖˆJ¹  V……¡K˜0Áfg‰±ÿþ°õÖ0}ºoëD>YÝÊáþûaO=eåµK—¼''@æäýâ ß–ˆJ$VîB07´eI$ãÆÙ<ìcÇZØUWAÛ¶ððÃzñS®ÜãÛˆ pÎÊcÛ¶V>ÁÊëܹV~ccTò€!:v´ÿ³gû¶DT"±r+‡BˆüÑ£¼ú*Üu—}^º† ßýζEùò2ÐàÛ YºÔÊç!A½ë.+Ç=zä% 9B´kgÿc+ö QLbå.V…ùáÐC᫯`øpû|æ™ÖÒööÛ¾-Åâ&à8ßFdÉÛo[y=óLû<|¸•çCÍ9j9B@0ý¢Þ Äʦ"?ÄVë½ûnûçû ëÖù¶DT"±u†ô,DöÔ—ÏÆ… ý+ÔÕù¶NøäàD Ú·!9RWgåyÈ ìÙgáÒK¡¦&£¨ôs#ÿ&z$ÊHøUu™ºî ÿ¶”¥J¨,HÙ©Wo˜9ΈÞê[n±.uêë/¾¦P:S‚6ÆÛo[ù¾åû|Æ0s&ôê•vªíÁŠÍ›û¶DT"±.hZyTˆÌ;Ö*?Ý»Ûçý÷‡c…åË}[&ÂÄeÀé$¾(e–/·r[7 {w{bÓÜ6‚!~øÁþ·iãÛQ‰ÄÊ]lA0!DãTUÁEÙBI`${÷¶yÔ…¨ÏÛÀL`?߆䙇¶r ˆ-¶x±oK„( :v´9Ñc"¯¿Þº?ÌšåÛ2fþU¹Õ~gͲòýõöùœsìùh NSnY DvÄæa5! QLbåNëPÑ8[n ÂO~bŸ9~ýkX½Ú·e"ì¼|DùŒˆgõj{9Ä>ÿä'öœl¹eÒÃåöl²‰oKD%+w±r(„HÎ>ûÀ{ûîóm•(%.Ϊr(¤ÜwŸ=1Þ{Ïž›zÈ`ÁûߪDÊe„( "‘`°X9B¬Ïé§Ã£Úö»ïÚ"Hï¾ëÛ*QjLÇf:·!¤þóñè£öüÔ#«vHRr8¯wo‡s¦fÍü_£”³bø¶£Q5k”½Þ½ýÛS–rQù¶CÊJ55Ž[o ž“npTWû·K*]uÅñ1޶!°¥ª®¶ç%öìÜz«=O¶?JR&*„о}ð€tìèÿ¥œU2@ÇŽAÙkßÞ¿=e)9%«6mS¦ÏÈÉ'û·I*‰ã’ØQ |rð M™âhÓÆE¢;…(ÙÍãÛÐy55Á²àã}_¥È«ûC$ì]ºú÷·%Þš6…5k|[T†Ä~æB^D"]»Â'ŸÓäî³O0å§¹Ò xø)ð™ocŠÀÞ{ÃcÙöÒ¥ `•®ØjÀoìÛQIÄVntN•!bôësæ•ÿŸüD•‘_VçWú6¤HL˜̜զ!~ä¹çìÿV[ù¶DT±)Úž}Ö·%B„ƒÁƒáÓOƒÏýúÁ´i¾­åÈÃ@ å9-h2zNƒ…ýÍ$DÀK/Ùÿvòm‰¨$vÞÙþÇÊŸ•ÌöÛÃÛoÛö?X7 Ï*¡†ðƉÀÅ@¹¯z8p-0ú3èÚU€?2uªýßw_ß–ˆJ"VÞô†ST:£FÁ+¯ØöŒУÌ›çÛ*QîÌÄ*Æ÷mH9[ÿ`à-`Þ<9BüHl f“&в¥okD%вe°îÄGù¶FŒÏ?oÛS§Z7 Å‹}[%*…k€Í]}Rþü ÄÍo"@ˆsæÛ,ŠA|9‹/BT»ïO=eÛ/¼`Ýâ–/÷m•¨$ÖÇ7|“'"X«ÆÏ€À¬ÄÝr„ˆ±j|õ•mÇFÊ‹’¢ºÚ^¤Û„N ºuV]íÛº$l»­ýÿê++BTcÆÀ“OÚöÓOÃ{èY~xsþéÛ_FŒP·.~ü؉+Ñ¡¢-ðÖ×ÿHl\CÈ(½‰.ûÛi¬Våãb å€Í<Ѷ-vXÁ»f¸îK*Âv»Š…sé]x$’¯¼qÀ]À oc*… }8ÂD¿~Á"_3f˜3 ¿"Œüh ãÛ4è <¼ŽÍø“ÆÏ\XÞ…‰!b)LÊ…tâo{…{×q¿–ˆ*$•ËqÑÿWø6Dˆ"ѵë•ÿšU?À°aªü‹ðr&Ð8Ö·!Ðxx ø5iדÔ JB·Ä7O·j¥¨¡¤ºµl Ë–ÙöÖ[Ã;ïø¶HˆÂÒ¦ ‘o¾Æµi @—Á]™÷®ù!§ð*p0Õ·1Iè<ƒÍøsif§†á§Pˆpñá‡Á¶¦->Oc°ÖŒ¾­Œ_®âË›åHu5‘gŸù±òß´~ªü‹Ò`p(pÐ÷1õؘ\BÆ• Äú¬YwÜaÛ'œàÛ‘&Ø­KÅš50p o+£¼ý¿ãކ¢¸é&ܶØÊOxõîÏ|[$DúL.Úø6&ÊO€g±nJ7eqîÿlÓwnIÊL®çí°ƒÃ9S‹þ¯YJKÕÕ¸?Ä­[÷ãÝsëÖYXuµû+O1ëvØÁ¿=’TH~úåý1··s·Ùf!°K’2Õ_q<‚£Ê³µ8æá›áyÃp<†ãK'àðž¡’”©Šá4mTÒÆŒñÍRrQù¶£žÆŒ ÊVÓ¦þ푤Bé§?ý±¬_íNvÎá¾ú*vIR6Šà¸Çõm‹Uþk38gkÌqùÇI8šþ¸/™*I™¨8®¾Ú~¼&MòÍR ©0i’•««®òo‹$J[nùcåÿxwÃ-rwÜÛ$)[5ÅñŽ?zHûspü$ÍãáxÇ×8NÁÑ|½cB¡’”‰Šå ¼©íÒÅÿuK*„@—.A™8п=’Tuìøc9äÞq«]ÍÀQG…À>IÊEp¼‹ãwELó8_áØ"c·Âñ_³qüG‹äÇi°©øðC[ lQ0!r%VŽ–,Ñì?¢<©ª"òä“?~|ž]¨!è›aYˆ’å{`WàxгFÀ™ÀYÀHàƒŽÛx[`2и X‘úÿÞ”$e¢bµ€ã—¿ ÞØÖÔø¿v)…¬ ¦&(K¿ü¥{$©ºè¢Ëù;nÐoþÃÕÕáš7’”õÀñ ŽqLãBâèÞÀ1p܇uú=Ž–iÇ‚L”¤LTL U«àçkìXÿ×.e 9cÇe©U+ÿöHRËø½îà„Ê¿s¸> ’”OõÁ1ÇayŽ7‚ã:SqtNqLlPò<gáh•q:!È@IÊDÅtÀqñÅöó5w®#ñýR𠑉XùqÎÊ“o{$)ßêÕëǪþ¯ÝµëUþÃ;%)ßêƒãsbSkæ®*w☄£m’ý›E÷ÏÃq6ŽÖY§‚Ì“¤LTl [·à'lûíý_¿”¦Bäl¿}P†ºuóo$åS55Žo¾q8çZ.žãV¹¦I€k¯ ­’TõÀñŽ3rŒ§އqL`ý®<ýpÜUüÏÅÑ&·´4XˆÆ˜3'Xø¦L—ܸñFûÇVž„('.¾ºwàw÷mGSV'=ì›o|*Dø¨þ/Ë8Z€•ÀÀòhxà6à`°)p°4w³ý{N’”‰ŠÝŽÞ½ƒ÷XÇûÏ) …¤`øð ìôîíßIʧvÝ5(ßûíçx€¤oÿÃ~x앤Bª#ŽWpÜFü‚[«ŽWqÜD°Òpo7ãøÇù8ÚåÁ¾68†ã8J-B¤ÇÌ™p÷ݶ}÷݉ø¶H”‘üûß¶}×]VŽ„(:w†gŸµí›o†‡¦W¯Ô‡ÏŸ_`{vî>V˰i¯úùÎ,Q|ì´Ú§qNàlêÎãÀÀT`°p>°8;:;ÇWbSƒÎŠÆwÖZooI’2•pôì¼Ë3Æ>H(-cÆe¦gÏä‰$åQO=”ï–-à>ÿy&U†"8.Åñ>Ž^ × ÇÇØÊÂ=qüÇlúÏŽi¤ÓÇ.8NŽžûŽù8¾Ã1kAø=Ž=°…HÂù!È(IÊD¾p\~¹Ö(yvâçý¿üòä‡$åQ‡”ï­·þ1|þüÔÀvÛÀŽvØ<éÇõÓèŒãFçààäT9:Ç78j“ìëM!úGlÊÏ…8.ÆÑ©Þq¬ò¾V™¿«Ü‡Uö_À*ÿ'cÎ@×´í AIR&òétèüœt’ÿ¼gàă²Ò¡CòC’ò¤=‚²}öÙ û–-Kíl½ul¹ ûn††û\ÿ+zÜ·ä<{Š$e¤Q8fã8-.lÖRõ4öÆÿo8º`3ýü›×ÿNÓpü€cާp\‰ã8;³¾£¡"Ñ !JdÓ?ÛóêsÌ1Öß kW˜7ÏwŽˆ¤Ä¾Ú<Œ×èÒæÎµíc…[nñBä‡H^}†·2Þ³'ÔÕý¸ûO‚&)F^w|ûmm|ˆõ÷ï44ËÐXèÀ±€IQLzÿf·b?Qoß½±¾þs€°r=Ãò!y™ñ'þ½#IÊD>[ÀQUåX¼ØÞi=ôÿüRÈc ÀCYùX¼ØÊ‹÷¼¤,É9ƒq̉;çul5ØØß}Ó9ÆT·Ž—ã4Ì€ ¢içËÈæš²M+›kÊÖ¾(Æ]î.·¡ÛÐñ;|;-þ3E’2Rp\}uðcØ®ÿ|)EõÇú@~Tˆø=8íÚe⪫üç¯$åS&XÙ^²ÄQ]íßžo±ïõrˆ£ ŽÅÑx®ÇÑ<^…ã¼hø*ƒâÎiƒ Þ\‡ãlÇì„ útØàNêû«?3LCoåSU–oˆÛ—«í5e“V6×”‹}!Q<Ÿ»ÏÍ}’Líæ[þ3E’2RX€V­‚ÊÞ½÷úÏ—RÒ8Áñ=ö†í¡ü§£¨×uÏ=A™hÕÊ>KR¾ß²7ëWŦøìŸC‰Æ1™äocï‰î¿7.,ÖEåšqîÝ¿Gë¸ð®Û ë“©0G6Ýi>€l¯)›´²¹¦\ì ‰êC5Ž?a„òb“ÿL‘¤Œ;ìü(p€ÿ¼ ³š`}p'ãøÇ?°iϾ'½ùŽ3TÑ€ÊÂ;øÏoIÊ—Z¶ Êö?þáßž˜Vaßë›çÇëÑ8ŽJ±dtÿ÷¤hØö Ä;3zÌîqa£aë°î@ñÇgê<gxŠý™Vʳ½¦lÒÊæšr±/$ZψíÛ[³âÏžj„ÙóÊ+ð׿ÂÙgÃÂ&›hµ×ú´Næ—c3Ü­t8[=±”éÝÛî?Xyxåß ‘?Î:+Øþã}[0›]¥sqlýÿNŠý±ðöÑt¾¶ˆ†] ¬Hq^ÇèÿþØ*¬FÿÏÖä`óþÀ(lÕã×9ö>`e½°æIŽËöš²I+›kʇ}ae 0øð6ð'ଚ^`¼{E’”‘ÂÔ¶àÓ7ßØÛ±¹sÍšùÏ£0hCà˜‡½ÙˆõӃͰ1ÐU 9¹‹ÖЬ™Ýwç_­â¤òRŸ>ÁÛÿýöóoO¼žÄ¾×Kóø^¬ßõ¦Ž†»U¼î [ÖØ_|Ÿô_EÞO’Nº-Íp|†c)ŽîIö×?§±¿ØñÙ^S6iesM¹Ø¥lˆ×æX+ù+4<U~ä?S$)#…ÍG¯^ÁäM7ùÏ#Ÿê­¼ù}ôüëîXåG¬ßÿi…³£hÀ7÷¾W/ÿù/IùÔ¤IV¶ßyÇ¿-õuö½~šÇߊu1¹3.ìûhCSœÓ‘ b¹A4,6hxË í½8zÞ_“ìK×øCtûœû k(­l¯)›´²¹¦\ì ‰ÒrÀºË…ãkl»n³É¦HRF £Ž=÷ *‚Gí?ŸŠ­ØÀÞyØ›ÿúoÚöÀ*ÿ;àø ¶²aóÂÙSà˜c‚{¾Çþï$åS£F¹ÐÌùŸL½°7ø+ Þ§RK°ßÓã§FÃRÝ¿$É9 ÜÜ ëóÿ÷Dô¼IŽOÇØ)jÇçØ[óúûsq²½¦lÒÊæšr±/$JÛˆ©5¶æÁBçäºügŠ$e¤°:à8çœàsäHÿyUhÕØ{"Ž–IŽ‹Uþ·‹~~šô›í³TÁ€‘#ƒ{}î¹þï…$åSÕÕŽuë¬|_{­{Révì»ý)ÖX¯G[ˆ£]\xc³ÝÝ?>.ì‚hØs)΄c-‰•ý¦XEwFŠsÒqbaH±? ›kÊ6­l®)ûB¢Œ€ø<|[¤îD§@ÍMþ3E’2R˜€HÄñðÃá~k–µÄ¾ˆ>Å~8ÀœdÇ Ä*ÿµ8>!ùjœyTA€‚{<~¼Ýwß÷D’ò©#ŽÊxÇŽþíI¥N³¿¼Bð=Ó&8þÝ¿Çõöw#èT€s¢ákIœ}fC ¢ûn!Ñ¡ˆ}¿9l¯Xø¾Ñ°q)®# VNµ? ›kÊ6­l®)ûB¢¬€˜†áø_´¼M>~CýgŠ$e¤0;àhÑÂ1kVðãÙ½»ÿ<Ë—R ìM¥±ØŠšÛÆ…½‚-}^`[ ætïÜÛY³ì~û¾/’”Oµn”ñ“OöoOcê‹ã}‚Jã78¦`•ÂuѰeØ ÜdçïÝïV˜ý\‡½ì¨ÎÇa¶’ïûqéÍÀ±qôØ—±¹Þב¸úoª•€_&q:HgËVIlɇé55–~ciesMÙÚåìÄ´Žg¢×›ªÕ==ùÏIÊHawÀѹsðºn]¸ß e¢?°þÀÞTÚûV/ìmR·äQq:v ºE8g÷Ù÷=‘¤|ë쳃2^*³šÕ`ýøŸÀf[UêßÃñwÖ_y·¾6Åq6ðr öââ~R«¤_‰ãc¬BºÇ»8Î'qv³lþ’Uæ¯OaG¾€L®©±ôK+›kÊÖ¾(o@L;`]ƒR»k\þ3E’2R)8àèÝ;øýö[G»vþó®XÚëóÿãÙ«üïSòî´kg÷1vO{÷öŸÏ’”ouê”ñôoO9¨¡ r.ÇJ%¥¼;1õé…Ø º¡é×!Da˜9¶ˆ®^Ò¹3|ð´kç۪³/p30x#.üÀrà1ßfA»vðá‡vÁî«|åHlѯ5k`üxßÖ!cp¶ÚÀýÀ4àD ‘*‡w¯H’2R©´Ä4xpbK@¹tJ¦ý±æ÷mê…Wcýqk‹gKÞÞ²tì˜øæð`ÿù,I…P—.A9ß}wÿö”‹Ô QÀ€úŠàØÇ=8¾Ãº¶íN²Y²ügŠ$e¤Rs Ñ X·®¼Çô3l [²Õ æþ,¢=yù’íÞ=±Ï¿*ÿR9ëÿ^Thf«üi§¨Ò™Ç=“c¥’RÑ€xuÄq6Ýê|7aÎA.=HˆÒÁ‘"ž—/´n@16ߦO÷hP9¸Ø x»Þ¾æÀÇÑc¦Ï$û~…H$Ë›>`|ôQðy‹-¬åH—.0w®mï¶<÷œo‹„(+b¿I1²þmÊ–°ßჀ~Q›$©¤TŠ-1Å .—ÅÂÄÞüN±ÿ4ß®œÞ²Ä/ò¥¿R%è²Ë¬¬/\¨·ÿ’TyiH¥®8|gˆ$e¬RvÀ¦ŽŒ_'àè£ýÛ”­¢áÊlLÀÀâÛ–õ—ìÑG÷æË/5Õ§TþêØQ}ÿ%©À •`òn€$e¦RwÀŠ_1ø¦›Jg¾í˜~Uî·jà˜?â¸Ó}É6kf÷!~…_-ò%U‚Î9'ŸÔ¤‰{$© %@’rU98`Íì±^çsç–NW“C°7ÿ[4pLGlÐÑ&~lÌèK¶W/Ëÿؽ8÷\uƒ*C-[jÞI*‚äHR®* ¦=÷Lìo~ÀþmjH‡àø†Æ»õ\JêU‹ ´¿d8 1ÿ÷ÜÓKR±tÄAÙoÚÔ¿=’T¦’ I¹ªÜ°7Ðß|üß{o8W>”ô*ÿà8G·îUŽ?~ɦükçp÷ÄUþ¿v¸^Éõï’TUUåÿä“ýÛ#Ie,9’$%WMãâ‹ßFãß®˜Ãñ5ŽÍ‹V¡+ÝcÆ$æóÅ[þû°E’|iÔ¨àhßÞ¿=’TÆ’ IRÃÚa‡ÄÊéCÙ >m:ÇW8)½BUº»t±Á½ñù»Ã~l‘$ßzóM{®½Ö¿-’Tæ’ IRãjÕÊqõÕ‰Õ“NJý–º:Ç—8ú1Í|Wºkj,ÿâóóª«,Ÿ‹m‹$…A}úÏBß¾þ푤2—I’Ò×СŽÅ‹×ïT¬jb•ÿÍŠ|ÝùªtG"ëw÷Y´ÈòµØ¶HR˜tÅö<¼óŽ[rU?7aßUkp,ÀñŽí’<Ë.z|,lS¯áX…ãÏ)Ž=ÇûѸâc›$v$‹¿!›ë1J÷¯~<·`-´«qÌÅq?Ž!!¸/R‚äH’”™ªªÏ<“X‰ýüsÇðá…M÷(üTþ!?•îáÃ3f$æÛ1ÇX~ÛI “â§þ Ó8£l´7ŽÑçt Ž©ØX%‡£ÇÏë=Ëõ+è¯FÃÞ¾óê{sôÿÒhÜ £ŸWãøY=[ru^®§Øß´zá±ãÇàø!zÌ¢¨}ó£Ÿ×`ã¶|ßéGÉ$)sõìéxýõÄʬsŽ÷ßwl¿}þ[ŽÁ*ÿ›zºÞl+Ý‘ˆåÇ{ï%æÓå—;:t(®-’Ví¿yLýÙ «˜;×àhûÀñ§ Cܳ_A¯~¾#Åsû{G»hx3ׯÅÝ5É9Ù:©lH_‹£û¯ÇÑ<^…ã¼hø*ƒBpŸ$r$IÊEñ³vÄkî\ÇØ±ù#pŽY8úz¼ÎL+Ý55výsæ$æËwšóTL[$)ìúôS{>Î?ß¿-¹è/ÑçsRŠý¯D÷ÇÞìׯP?ý<4ɹ±¿q4­·/‚crtÿùIÎ)†»öÉQ{êï¿'ºÿÞÜ'ÉI’rUuµueIæ8ç8ýôìg :ÇL}<_cº•î.]ìzëçÁí·çoUe9R9©W¯à9éÕË¿=¹èõèóyxŠý½qô¨÷,Ç*Ô# *Щž{‡ãäûŒî-EüÙž«»ö£Rœ»¾ïIî HE—I’ò£öíƒ|É4i’õïmÑ"½øN •høG±E »®_\ÿš/¾ØÑ­[ñl‘¤RÓÿhÏʧŸú·%WźÀ MóøØßûXþY¤^Ô0ö·]ŠýC£û'9'Ögÿ%Oa”£&îØ\€ï¹ööqço‚{%É$)ÏêÛ×1qbjG ¶²ðÈ‘6ø/Y'áøÇ&!¸XÿG±eK³ÿÞ{׿¶Å‹¿üezSzæÃI*Uůü{ÐAþíÉUk£ÏgºS×ÿ{«(7tlª¸û 4Ný¿÷pôŒ›«P׈}Uqç÷.à=8Ká»,”€äH’TáXµªaGÀ9{s>nœõoÒÄñŸS؉L嚘}‡j-ɮ㪫Á–ä‡$åCÛlNeëí·ÛʽŜ¹D€T.ºñF{Ž{Ì¿-ùдèó9.Åþƒq<‹uoŒ=˱ u‚)@ÏKñÜ7÷±ÑýÏ'9'Y…½OÜþäîL¥á1£¢û—á>Ô"' É$©ðj×ÎqÉ%ëWžGrüùÏë/.¯µk­~ÚiÖ×¾GÇŽ¹Wº«ª,žþý-ÞÓNsŒïX·.µ-‹™½ƒûYäH塦Mƒçj—]üÛ“]}>ŸL±ÿéèþßÅ=Ëñêí¢Ÿ—aSŠÖîæ@Ô7‚ þu$n¨ÂÞ6nw ? нÑýã‹t/j‘ÐˆÂæD¢Bˆrd“MàÆaôè ì´Ó êŸpR 8k Ùƃž=Ó‹sÙ2øâ ˜=¾û–.…•+aÝ:hÒš7‡6m cGèÞÝlhÕ*½¸¿üþýo8û)èø.|ÿ½ï´oȈo#„È‘í·‡W^±í–-aÅ ßåNàC  pp°hœü øØ4ú?VÛÙ˜Ýþp p3p\\Üñ5£Kó¢q·®Ž¾Ëë?@+àràxà3 _TŸF÷§ú~I@·èµ·þ œ¬ª€³¢ù±Ø xµH÷£6šŸ‹”f auþ€HÄÿ‹w/D’¤kÇK–$¾]?rïÄÄš5³©3÷ØÃf yúik hlLA6Z»Öâÿã-½Þ½ßð‡é­{˜l‘¤luë­öìÝ¿[ò©ø•€boæçD?¯À±G½g¹þõ~ØŒ@u86Orì{}ý_ÇVÜuØÛîúcb±Y€&c3­"0¼W\º¹´€cw¬õÂEízǼ¸´Nôp?jQK@ ©@ᇪ*¸ë8ä® ìãáç?‡wßmøÜöíM:AçÎö¿cGhÛZ·†fÍìíÿºu°j•µ,^l- ‚öÑ"k1X»¶áôáyë&[„ȆšX½Ú¶G‚‰}[”_v6¾ž.>ˆ;.VÛ©ÿFýjàdà1à§õŽÝøpÖâ0ü˜WÏŽdµ©:`öþR`J4<×âöŒºD¯ý…hZoï$P‹Z’ I’üètãè߯qá…‰oäïºËѵ«c Ó[÷0Ù"IÙ(~ö_ýKM½}—V-j ¨§°µ4AQþœ‰õYÝøx)œwôî ÿûŸí7æÌ3Ï„-|[+„È'‡bÿŸ~–/Ï-.!Òa"Öð¬E@„ï^ˆ$IÔpLÇfžH¶øpÇ‚‰-ûí—8> Ø Ó[÷0Ù"I™*I|®}ÛS*R @~T‹Z¢R €¢xœŒf§8æµ×`à ƒ·„ãÇÃçŸÃ!¾¯@‘ ol¿ô’okD¥1µ„9B”+çã°ÊÿœFŽ]·î»Ï¦ï¼à ëÝÞ|î¿ß¦óB”±)€çεøB›‰È )Þ›!$IʳÎÃñ!Ž.Yžß£‡-Òß-èÜs‹7€0LÝnÂd‹$eª7Þ°ç÷Œ3üÛ"U¶j©èî@aë¤i@…(7þüð;/Ǹ† ƒGIl8è xè!k5(ŽðL½&[„È„–-mJ^€-·„>È->!r¥–Š"4lÓ€ª åÄÀϱn?¹Vþ¦M³‚:(ûÏ૯Ì9B„—ƒíO?Í>!òÅDÔ($È¢\ø °?VùŸŸÇx×­ƒÿþZµ²éCÁZ¦NµÁÂ=zø¾r!D2öÚËþ?ÿ|°˜¾™ˆœ€à½’$I9ê/8ÞÆ±AÒêÞÝqÿý‰ãÎ?ßѺuþÒS¿û0Ù"I™höl{>8¿-’T_µTÔ˜Bä—‹€±ØRðß1Ý!Cl,@ïÞAØ!‡Àä>>Àž~÷a²EˆtiÝ–.µí~ýà³Ï|[$ÄúÔR1c4@‘?þ ììFq+ÿo½}úÀþûa÷Þ óçÃðá¾sFˆÊ¦ÿ`ûË/}[#Dr&¢î@ž D©r °;Vù_àÉçàá‡m¶‘³Î²°N`ʘ0zõòKBT&£FÙÿÉ“aÍßÖ‘š‰È ð€!J‘˰Šÿn@ÖöY±.½ºuƒ»ï¶°±caæL¸ðB[`LQ¾sSÓ%z™äaºLDN€¼D$)]†ã B`K* ä˜>=q ð¸qŽªªôÎÓÀÛFlq.s­\‰ûî;Üôé¸ÇÃwnÀ€üØÛ¥ nÑ"KçÚkýÇUSƒûùÏq÷܃ûøcÜâÅvý_›0wÜq¸–-CpŸËIÕÕAiÛzkÿöúùt8¦áxÇdlB„eÑð:»%9¾_q÷‹;>—4Á1ÇÑý‹pLÅ1?úy ŽÃ’¤_“$­˜¦¥°-Û´âÿ^K‘¿©w\:y˜©j)ÛÁaL $)]]Ž}ñ‡¹òS$âØ{ïĪï’%ŽwlüÜ2w’iÝ:Üí·ãZµÊÞÖ&MpO>Ä™‹¸FŽÄ}øaã×þõ׸ѣCp¯ËE={¹Û¦{ ý|&«Œ¶ÀqGtßëiŸL9é¦ÙÇâhøõ8šGë°UÛŽU8Õ‹¯M\Z½Ò´-Û´bŸàX‡£[’üx Çò ó0ÕR–N€I’2WǕ؛œö!°'5oî8õÔÄ*ßÓO;6Ù$õ9%ê,Z„›1£qÍ™ƒ[µ*yeøÅí­y¦vF"¸nHŒ+[ qýüç¸5kÖ¿¾ùóqóæ­¾z5nŸ}Bp¿ËAcÇZ®®[çß–b<Ÿ©*£ƒ *¼é__™:©ÒüK4l2ö]^ÿœ{¢ûï­Þ5.­ Ó´-Û´b—Eÿ_oÌ1x Ã<ÌVµ” @’¤ÌÁqÖ,Û.öd« 7tÜzkbµï’KíÚ­l‰:™T’««qƒãþþ÷õ .ÈÌÆšÜ¿þµ~¥: q…«« Î]¾wN‚czöÄ]u•µ|ÄŽûî;\×®!¸ç¥®Ë.³½ûnÿ¶ãùLUÝ=ºïË4¯¯l€di¾ ;*E:#£û¿'±Ò>0¾ë”ŽmÙ¦ûÛ9šÞãõÎû}tÿæa.ª¥¬œ9’$¥¯XåÿUJ»ò¯-¶p¼ûnbõòˆ#¬ßrì˜ pâ5|8néÒ ž~Àµi“Þ¹½zá¦LIÞš©=ùˆ«Y3Ü_ç}ÿ=n§Rüñ‰é\tQîy©ëÓO-7?Ü¿-Åx>ëWF›ãØÇÇÑ}g$9>Ö§þ%OḠÇ/H¬hgâ4”æ÷Ѱ¡)®¡}\œñ‹9ÖFÃf'9'•mÙ¦MSp¬ÄÑ:nÿëX×¢æ)®¿Pª¥lœ9’$¥§Žk(¯Ê¼öÜ3±Š¹j•cÄÛWaàN?=1®ƒjøøHwØaöÖqû;ù€TiN†¥ê—?*ºI½ð'¢á#’œ“ʶlÓªMŸàXˆµ¼ƒcŽê4ò°ª¥¤[Ô „HM¸{ µ'°Ä·AEbÁ8þx8ÞxÃÂN=¾ÿŽ9ª«}[XpúÕ[TgþüÆÏqÎZ„ÛnË-ý|Ä5*n¤+àÅ ›g" ƒÛÿ×_·›Z©¬nŠnoæ9ñ+ª·ÈcšOFÿ}Ç×ç¸èÿçâš;Ÿ/e`C6i%ãa côøAÀ±EÀ|2µä9B„…Xå Vù_š[t%ÉGÁ°aÀ˜ ìæ›aÍšÄÚer챉Ÿ_}5õ±k×Âøñ0t(|0Ìž}ºùŒkèÐ`ûý÷¡.Za¨©ŸþÔ‹_´}Ï?—\C†d—–HÁ;ØÿçŸ÷m‰_"ÀÏ¢ÛsÓ8¾pitû3 ›ç Uš×‹°nF×Í£áUÀ9X›uqéƒý´ÎÇÞצK6i%#Öuï’è_Ýê39yÄ{3„$U¼"8nÆñ"‰3/TªŽšlj'&vPyåÇf›ß–öç£ Ð&N›9}:®ª*õñ={æÏž|ÆõüóÁñ>haµµ¸Ï?ox!°ÿ×®ºûÐ7ßX®x [Šõ|:WÊ}`å[GóMÆñ>6o¿ÃÑî=6Ý•€KlzÐØJÁ‹¢ÇÏ‹Kóĸc_ÆfþYGâê¿©V~ÇFY¦UÿšbÝzšÄóMôsªc}¨–’ë¶.@„ÀIªl5Áñ/“pä° lY)þ·cGǵ×&V¯½Ö‹mKeë´je+åÞ{oâ\øuu¸]wÍÞÞ|IÈ&®O> Žÿ׿pG‘xm é½÷´@Ϊª r´fŠ=ŸõÿÖaSV¾„Í¤ÓØñkpÌÁñ6•gìØLfj(͘6Åqޝ£iÎÇq?ëOÙ™Í_¿,ÓªŸf|<·DÃþ‘Ʊ>TKI9r$I T…ãV/àh{¢d•îÍ6³€øjã‰'ZKA±m‰S¦+Ïœ‰[¸0yÅxÕ*›Ž3{}:ñÓˆ¾õ–­îëœ]ïgàúöÅ5mjýqã†Ø*ÈÕÕyºo•¨ví‚ÜÜ`ÿöHÙç¤[ÁKeÜ—j)'@€$I¦Xåÿ9Tù¯¯†*Ý£F­ÿþxôh?¶ÞÛíÆ´v-nÂÜV[ån¯O þŠÆ±îL©ºµj…{î¹Äãó›”¿RU¿~AN6mêß)ûï9é«–’pÂæh°>¨þôö–û6¨„xáU?jöé§aÚ4Ø|sßÖ¥M] Š=î8èÙöÞÞ{Ï·U¹QS“øyÕ*Øo?øê«äÇ/[?ÿ9|ûmvæ™ÐD¿LÙѳg°½zµok„(ÑÀà,Ð׬Ŧ ¸ ØUþ³¥®n¹ÅV®ºòJ :>üÐV°êÜÙ‹Y×]‘H¢ª«¡}{Øm7xê©àØêj›°åý÷s›y'L¬\™øùŽ;`úô†ÏY¸®¿>øÜ³'l½µï+)QúFÐ{ýuß–ˆ\Ø9ª¯ó|l939"@ˆbRÜtÁVYTå?7-‚ÓN³Iô'M²°ã޳WÊ'Ÿl« {fíZX¼ž{öØþð‡`_ÿþföر¾­ÌKëM]›Î*À`‹Bdzýöé'ê1 ºtì[où¶DäÂËQ­Ìó±åÎDäd€!ŠEpÐØUþóÉgŸAm-Œt}¸új냲瞾­Kà’Kào >×ÔÀÀvÛù¶,wê;Ÿ~šÞyœø¹kWßWR¢l¹¥ýo¬ÙEˆre"rÒD€Å VùïˆUþWø6¨LyñEhÕ Ž<2{üqx÷]Øb ßÖýȹç³ÏŸ[¶„„Ž}[–_~™øyÍšôÎûá‡ÄÏ­[û¾’%¶ ðÌ™¾-‘r„(4UÀ¿Xå_Mµ…¥®n¿Ý:Þ_]îr«­¬³ý­·Â†ú¶uëàðÃáûîÝá†|[–3ø¹[·ôÎkÛ6ñó➯¤‰D‚¦“rT"D¶LDN@#È¢T÷mQå¿Ø,^ g}úÀ3ÏXØ‘G¼ypê©Ð¼¹Wófφßþ61ì ƒàÀ½š•o¿ø9ÝnM&~N·ëˆ£º:Ø^¸Ð·5Bøg"r@€…¢«ü·Ä*ÿ«|T¡|ñŒ;ítR¿â X±ÂæÞŒD¼™v×]ð䓉aW^Yº]`Ü`büâé·Ç‰Ÿ_|Ñ÷•” ñí’%¾­"LDN@ äQj€{€fÀ€¦äöÏäÉ6mèa‡a=}ƒy3ë„`yÜ€ð=àüóýeS.|ûmâŒ>ÇÃþû7|N§NpüñÁçÉ“S¯  eË`{¹fâG&"' r„È7M±7ÿÍ€Qå?L¬] wßmÎ/ºÈÂú÷·ÎëwÝåeú™Y³Ö¯ðÿö·6l¡¹øbããŸÿ Ʀ֧Y3Ëöøe.¹Ä÷”(mÚÛZLˆD&’¹p&PÆ3’É"Ÿ4îÃúþ«ò^–.…ó΃޽áÿ³°qã`Î[жE‹¢šs啉h««mq,½“²fÊ”`m6€.]¬KÏYgYLŒw´5âgi}øak”YïÄ÷ÃBÉÌ èœáÛèÂâ$IʃšâxÇCÑmßö”²\‘Ó>ܱ`ù@ûíçˆDµ%î wíµÙÛ0|8níÚÄøŽ<2óxòeO.qUWãn¿=ñü˜æÌÁ-^¼~ø´i¸víBPöJU#G¹éÛI ³jq|ýßÐq]q,ŒþÏCºõñj"4þ Ô£7ÿ¥Æk¯Ùô ‡„Ÿ )š õ§½ä’Ò\ ®Î&\:õÔõ§ôìÚ5qÚOçàŽ;`Ô(Mÿ™±L;×·%B„›‰¤×0¸²m D®Ä*ÿ«CPå¿TY·î»ÏºR\p…õî ¼ ÷ßoõ˜³ÏNœÂ}ƒ à¯õ1Ùáüã°é¦ð»ßÁsÏÙàÞU«`Ù2øà¸î::Ž8býU„E†Ä€ùó}["Dø™HzNÀeÀ”íXïÍ’T²jŠcŽÿਠ=å¢bwJ¦=ãÇ'vT9÷\GË–þm“¤ú:á+£Ï?ïßI*ÕÒxw Ë£Ê1-u¢\h< ,ÇÞü¯ñmÈ+_Ãò'Ákù /´××Môõ)BD«Vö_ý¨„HŸ‰4ÞP¦­ú"šc•ÿ%Xå_“n”1Ó gO[¦7ÆþcýY† ómœFl€eË|["Di1‘†€2 @ˆLiŒ¾Öú6Hœuëà¿ÿµ·¬çgaÝ»ÃÔ©6X¸GߊJ'¶ðо-¢ô˜HÃN@¶È"Z`oþ¿C•ÿJcùr[@l£à,l¿ý¬5àüó¡ukߊJ¥¦Æþk0!²c"©€‚´ø @ˆti‰Uþ Ê¥3{6üâ°Í60s¦…ýùÏ6•ÍÁk|€(>ÕÕö_‹€ ‘=Ií”Y+€~¥„H‡–À#À<àpTùÆ[oAŸ>ÑÁÂQî½×¦b>Ü·u¢’ˆ-íœoK„/gW`«ü¦b"É€2 @ˆÆh <|‰*ÿ"çàá‡mæYgYX§N0e L˜½zù¶PT±ŠÌB¬ÏÑÿÒ°#0‘äN@µÈ¢!b•ÿ/£Qå_¤fÅ ¸ôRèÖ î¾ÛÂÆŽµ.B^h Œ Q(b]b]„ë38 ýÜ#0‘õ€¼¶D¼J€©h ü˜ƒ*ÿ"=æÎ…ÃÁƒáã-ìÜsaÉ7ªª|[(Ê‘5Ñ…Hš6õm‰á']G`"ë;eÒ @ˆd´ž>G•‘ï¾ ›oûì„Ýu|ÿ=츣oëD¹±r¥ýoÑ·%B”é8ItÊd,€!êÓ«ü‚Uþ×ù6H”,ÎÙ8€-à´Ó,¬MxùexúiØdߊraùrû[X‘>9ItÊ @€ñ´>ŽÃ¦Ë"WV®„+¯„.]à¶Û,lôhøüs¸äh×η…¢Ô‰­¬²$Dö4äL$pPò­r„ˆÑ{óÿpªü‹ü3>ul¹%¼÷ž…y&,ZG¡œ"{–.µÿ:ù¶DˆÒ'•#ð0™’n @[¬òÿ>ªü‹ÂóÁ0hìµWvÛmöwÄßÖ‰RdÉû¿á†¾-¢|Hæüë!p#ð%Û @ˆvXåÿà$TùÅã‰' Y38åûÜ´)Lš'Bß¾¾­¥DÌèZ¢¯#…3õ[€€ÑÀ±”d+€QÙ´žÞ~ƒ*ÿ¢ø¬^ ×\l7Ýda#GÂŒpÅо½o E)s@‹ Q(â¯* p“oÃ2'‚ª<¢R‰Uþ§¿EOB˜pØ·S(¶-›onÓ…„{,Ü~{°Ø“õé×>ýÔ¶›6 ÖBŽ.ÀÍÀfØÀàp.±’ñì¨Ë•I;ài` ð;ô„JvbŒmS…ƳË.ð ¾sD„‘.]l:€Ö­ƒY„¡ l€º‰Ê£=ð,ð ªü‹ðòÌ3ö&÷¤“‚°çŸ‡W^Í6óm±uZ¶ôm"äÈ•E¬òÿ"p*ªü‹p³f üóŸ6µãu×YØöÛÃÇõ×BÇŽ¾-a!¶0@Û¶¾­B„9¢rè<ƒÜÿ½oc„Ȁテßüú÷‡W_µ°_ÿ.„O„šß ßÄÑZBˆF *ƒŽØ›ÿ(Ù9{…à“O`‡l,@Œë¯·™„Fömð‰sÁ€îÝ}[#„9rDùÓ «ü?‹*ÿ¢ün¼:wöm¡(6ï¿oÿ È-!DÙ#@”/`•ÿdz}#DX´N;ÍæŸ4ÉÂŽ;¾ýN>Ùf•Áôéö›m|["„9Z@”'`~'çù6FdŒÖÈž#‚)Dcìµ<ñ„oËD¡5ʦŠ­,DÈÐ:Bš €ç€ÇPå_T/¾­ZÁ‘Ga?ï¾ [láÛ:QH¾ú*ØVË¢äˆòbCl¦ŸñÀ}#„'êêàöÛ¡}{¸ôR Ûj+ë#~뭰ᆾ-…àÛoƒíví|[#„1rDùЫü?üÙ·1"g\nrÎY“kŽñ”4‹ÃYgAŸ>Ö-¬e`Þ<8õThÞÜ·…"ŸüðC°Ý­›ok„!F€(ºÏ÷ÿçÛ‘3‘<¨q•*_|cÆÀN;ÁÒ¥vŰbì½·ú‹— k×ÂìÙ¶½Ùf¾­B„9¢ô銽ù¿¸Ð·1B„˜É“mÚÐà Â{ >ú òmÈÏ=gÿ‡õm‰"ÄÈ¥M7¬ò7ªü ‘k×ÂÝwCÛ¶pÑEÖ¿¿-"u×]е«o E.¼òŠýßuWß–!BŒ¦¥Kw¬ÛÏíÀß|#ÂFlÊ5ßS­…ž^½àºë`ìØ ì¬³àšk¬‹(-¶ß>pš4§Ÿx!Â@ئ• J“°Êÿ¿€K}#ˆ€ >þ÷?èÔ)ÛxäU"K‰.]`î\ÛnßÞ‚ !¼6@]€Dé«üß‚*ÿBä‹×^³éA9$?>ÿ† ñmH—… ƒí^½|[#„)rDiÑëó3p™oc„(3Ö­ƒûîƒ6mà‚ ,¬woxóM¸ÿ~èÞÝ·…¢1êê`Æ Û–ã&„HQ:ô&7÷mŒeÌ?ÀùçCÏžððÃöóŸÃ7ßÀ¹çBË–¾- 1~¼ýßm7ß–!BŠÆˆÒ`c¬ÛϵÀ?|#JÈ#ÆÙX€ø€ƒ‚‡²V.ÆŽ… lìF½ç" h €™«ü_*ÿBø`Ú4k 8è  ì?ÿ¯¾2ç@„‹wßµÿ‘ˆuçBxaÄøä›}¹þ “uu¶oÄö9I ­záø Ç)!°E*)ÅðmGÙ©eKǹç:œ 4~¼£Gÿ¶I¦êêàÞl½µ{$©ÂÔ§ná„oɵp!nã‹k£ZDxé ø½{û/„ðÏòå¶€ØFÁXØ~ûYkÀùçCëÖ¾-uuðÆ¶½óξ­¢¢8üpøì3èØ1ýs:v„Y³`ܸâÚêÝS’¤õ´ Ž/pœ[¤’”ZФ!C_|‘ø>ëàƒMšø·­’uúév/^~Ù¿-’T!:üðôßú§Òá‡ÇV á£ÖçÿoØŒ?Bd‘HöÝ7˜}l>ú±cm}Q|†µ±M›Âš5¾-¢¬éÓÇÞüçƒ^½àË/ k¯º‰p«üÿUþ…(œ³éB[¶„³Î²°N`Ê›F RŸ?¶7ÞØ·5B”=1;Äzð9"<ôÅúü_ ÜèÛQòD"&Q7m “&Áĉз¯oëJŸøÕ„Êd:ÐH$R ¾…¤r×Úµù/çgál– ŠÇ@ìÍÿéÀ¿}#„ «WÃ5×ÀÀM7YØÈ‘0c† nßÞ·…¥‹sð÷¿Ûö‰'ú¶Fˆ²$_+Çóé§…·Ûûü©Rh ³q[$I ·6ßÜ1mZâ¬ØÇ㨮öo[)j›m‚|lÙÒ¿=’Tf5*ÿëì°CamÖQx¶ž~ÜïÛ!DÉ0z4<ýtbØ.»À /ø¶¬´¨© Ö5ʺW !òÊ‚ЩS~âúö[ØpÃÂÚ«.@¢° žNA•!Df<óŒ 8é¤ ìùçá•W`³Í|[W:¬YL½ªn@B„m·ÍO<ÎÙ~ÅÀ{Ó‰T¦Œã†ÀI’J[;:®½6±‘üÚk-Ü·m¥ í·ò­E ÿöHRêðÃsïú3n\ÑìõŸaRjk¬Ï¿*ÿ’$åS›mæxå•ÄŸÌOtÔÔø·-ÌjÚ4ȯ]vño$•©ÆË®â¿nî⎓ôŸYR™iVùÿYl‘$©<5jÔú?¡£Gû·+̺ñF˧Çóo‹$•±6Þ·`Aú•ÿùóíœ"Ûé?£¤2Ò68æàØ?¶H’TÞª®¶ÙâJ§M³Y„|ÛFÅÏÔ¶­{$©Ì5bnút\]Ýú•þº:Û7b„7ûügT&Šc.Ž}C`‹$I•£öíW\‘øózãŽÎýÛ&UUùsÐAþí‘¤Š’«'ßöø7@*Å*ÿû„ÀI’*S}û:&NLtN>Ùú¿û¶-,úã-_>ýÔ¿-’TQ — uDî þ<æÛ!DÅ3bD0…hŒ½ö‚'žðm™zõ‚™3m»wo˜5Ë·EBTõ«Û¯Öh‘ÛG¡Ê¿"¼ø"´jG„=þ8¼û.l±…oëü2k̘aÛñù#„¨8¼7CH%ªípÌñgl‘$IJ¦ví—\’Ø-èÖ[nèß6_Úÿ /Ô=J’Š$uåÀvÀÃÀÀ“¾BˆFØd¸ñF=:;í4øç?aåJßÖ—–-aÙ2ÛÞ}wxúiß QÔ¯n« (5v@•!DiñÅ0f ì´,]jaW\+VÀÞ{CÄïqQY¾®¼Ò¶/»Ì·5B¨@dÆŽÀƒÀáÀS¾Bˆ,¨ª‚C»î Â>þ~þs'P ôéŸ}fÛýúÛBˆ¡Qªì„Uþ…*ÿBˆÒeíZ¸ûnhÛ.ºÈÂú÷‡wÞ1§ kWßžÏ?‡·Þ²íSOõm¢È¨@¤ÇÎÀCg}#„y¤W/¸î:;6;ë,¸æë"T®ŒÏ?oÛíÛÃâž-¢Œ ÌõTò3@IDATW €Ñ8±Êÿ!Àó¾Bˆ1|8üïЩS¶ÿþðÈ#ÑI;ÊŒª*¨«³íSN1‡GQ Âå¨ h˜X·Uþ…åÎk¯Á†Úø€ãÇ[w™!C|[—Ö® Ö¸úêÄ…Ó„eÑ0Û?G•!De°nÜw´i\`a½{ÛoÂý÷C÷î¾-Ì/<lÿô§¾­B uB!RÑ£‡uÙo¿ ì¼ólÍåË}[—Î9ÇC;ÕÕæ !òL¸ºÉB!cØ0 ßpÐAðÐC¥_aîØ.´í=ö€§4Í›ù'\€º !„1môìi•þÿù|õ•9¥Ìwß ‚ÝsOe-Š&D…"@!„H‡uëà¿ÿ…V­¬X‹ÀÔ©6X¸GßfÏå—ÛÿŽa—]|[#„(0r„BˆLX¾ÜúÌo´Q0ˆv¿ý¬5àüó¡ukßfμypÕU¶}ÿýj¢ÌÑ!„"† ±±½{a‡bÎA)èÒæÎµm"Ïh €BQ>¼õôéc‹†Å¸÷^˜?ß+æÍƒ¿ÿݶ}Ô B”%r„Bˆ\q~Z¶„³Î²°N`ʘ0zõòmazüíoö¿iÓD‡FQVÈB!òÅŠpé¥Ð­Ü}·… 3gÂ…ÚcafáB8÷\ÛþÏ Y3ß ! €Æ!„…bÐ  пvØaÖEhíZßÖ%§ukXºÔ¶O9ÅBBäH¸ÆÈB! I$b­=„-] {î “'û¶.9G·ÝfÛ:ÙZBˆ— .@B!D!qÎÆ´h§famÚÀË/ÃÓOÃ&›ø¶p}î¾Ûìø¿ÿóm"ÏÈB!ŠÁÊ•på•6ÝfìíúèÑðùçpÉ%Юo êê`×]mû׿†|[$„È#ê$„Bø`‹-l,ÀV[aGioßëê|[gLš#FÀ»ïÂÖ[­Bˆ W 9B!„OöÜ<ø¼zµµ ¼ø¢oËl}ƒÏ>³íý÷·©N…Y.@]€„BŸ<ñ„M·yÊ)ö¹iS{ó>q"ôíë×¶Ï?ÆŒþiL…iQÀÀmÀL`°x 8ß”B‘;«WÛt›l7Ýda#GÂŒpÅо½?Û.¹$ØþË_¼f“"¸Pëç8Váp8–ᘊããèg‡ã?8ªB`§$I’$åK›oî˜6Íá\ cŽqTWû±g̘ÀŽ­·öŸ?’TrrõäÛÿ¤V+±Šþ-8ÚÄíÛÇ·Ñ}g‡ÀVI’$IÊ·FNtœsŒåÇ– ,ýÅ‹55þóF’JJárÂÝè, 0 8X·o2ð›èöï(•ÎLB!Dú<óŒ 8é¤ ìùçá•W`³ÍŠkËÑGÛÿ¶máw¿ó3Bˆñî…¤Tì ÿ)ö·"è Ô=öJ’$IR¡Ô±£ãÚk[®½Ö‹eøqAÚøÏ©rÕ Ç8> -i)\-„À€äjãmëpl☠€úÇ4‰Û×Ð_²x;ã¸Çt+p,Â1Ç¡8")Îé‡ã&_âXƒcŽGpl—䨨_¿<äS²¿:ÌyzǨÒî—"Ÿ2M3>¾[p|…c5޹8îÇ1$Åñ¹ÜÃLò+8‹e{²û³)Ž×°±0ÎñZRÝÿ*¿Ãž¹8~À1%Zæ3)¿©ÊL6ÏU¶éäë¾gzÏó}OK#2’íuä+í\ó'SÛ³)3™\S6¿ …Ðf›9^y%Ñ8ñÄâtˉDS¦Xšsæø“ U®ภÇb¬¾õHlJKr2Sçöƒ}q'óþj¾Ø§áx9NÓHþCŽÁ8æD÷-Âñ:ŽÏ㎿õïý8K°Ê_TŒ^ïøB8±kœŒUâ–Å¥¿[–i7öƒ™nšàƒU*cù:Çüèç58Ëã=Ì$¿Ò‰³˜¶'»?¯FÃÞÂqTŽ×’,þ&8Û÷Ž÷0çÛáøKå7U™Éæ¹Ê§P?Rå].÷<Ÿ÷$2œNÉö:ò‘v®÷!Ûóå$»¦lÊp¡5j”[o|ÀèÑ…O·G ½?üÁ=Aª Á&~™‡ã_8¾Ãœ€ C`[ªo{™©)Öìs&ö#°ÇO“×†à‹¹W½}©~Úà˜óìhZ±};áø&zÎã»áX ¿G‹hxÇœ‚qç¨W wD÷½žeÚ™ü`6”f—èCêp\£y4¼ ÇyÑðU8åáf›_©â,¶íõí«~¾#×’êœ_GÃVà¾}´l¯Ã1"‡t³y®²½¾|”ƒlïy>ïI&¶§*#¹\G®içz²µ=ùŸìš²-ÃÅPuµÍïL›f³2ÝCušH*ŠvÆñ8öbõT{`=ÅqqìKSrrQ¬BÿwJŠc»ÆSß;LõCpAE>Yœ;F÷/ÆÑ:ö—hؤç¼ÝŸìÍm!°7V±ÊlÒΦ’,ÍXM&y3ù=Ñý÷æáæ’_Éâ,¶íõí{,úyh®%Õ9EÃ.JÏÑ}âÂb-ýÓL7›ç*ÛëËG9Èöžçóždb{ª2’Ëuäšv®÷![Û3-›é^S¶e¸˜jßÞqʼnŽÀ7::w.\šO=¤Õ²¥Ÿë–ÊW{âxÇ ÇbŽw-Vù?ëjÝ1v¦)9¹èPìá}‚µVàøM’cF÷¯ÃºcÄïKõC0)¶}6ÌŒ³{ôóëÑχ§8¾7ŽõŠåìÝ÷e–igSaI–f,RuÝÿ=‰?öÙÜÃ\ò+YœÅ¶=Þ¾XÜ“ót-ÉΉwT¶NÏ6Ñ}Ëâ®ï»ž“défó\e{}ù(ÙÞó|Ý“Llo¨Œär¹¦ë}ÈÖöLËfº×”mö¡¾}'&:'ŸìhÚ4ÿiuî¤qóÍ~¯[*5Á&~yÇ»8~Iе®«ü×â¸Çù!°7ÉÈ—Úbƒ³bo|ö­·¿6>;ɹ©~DÃÞ`ý¾ª1-‰kyˆ5Sgò,öë÷úާ°AÄ¿`ý c:qÅÿ€6ÇÇL;#Ë´3©°4”æ÷äQû¸8ãsgs³É¯†â,¶í±¿÷±A³0g"×’ìþ¿Ö2I"É9©~ˆ§FÃj ½¢06+E¬+¸ÇŒyµ'Ä…5TIè·¿çSª¸šà¸:º/ÝY€ê§iŸåTiÆò5UÞQŽC®÷0ÛüJg±m·¯ Át„ç5plŸ Ò¨ýÍÞnn›$ž˜ƒ½ˆÄæØH´Ì?„̓þ6póÈò0“ç*›{•¯rí=Ï×=iìû Ý2’Ëu¤“o•Ï\îC.¶gR6Ó½¦lËpØ´É&ާŸNtN=ÕѼyîq÷êÄyÝuþ¯U §:áø?¬ Ï¿iØ©®%±ò¶È!¸Ž,$ ]E° ›þ)Õ µë£Ç<Öûa˜‘â¼T?ıOžKqÞ ‚.?±Š]ìMï“)ì{:ºÿwqa ýàÇ÷¹Nguã†âÚ2ºou–igSaI–fc3zÜÝ?>÷0—üÊf |Û^ß¾í¢Ÿ—aSÎÆŽ‹ï±qi$»þX…'YkÅEÑ}é.´’,Ýlž«lîU¾ÊA6÷<ß÷¤¡ïƒtËH¶×‘I¾¥J;×ûPÛÓÍÿd×”m«vÜѱdI¢#°÷Þ¶ÈW.ñŽÄwðÁþ¯S 6Âq9Ž…8nÄÑ·‘ãkY¿ò?W×2ד…äd¢Qƒ|ï&ñx+F÷­Ášocûö†§z+Ÿê‡`C‚Á^·Ø%b ŽO¢ûâ êA0øëB‚{Mpœ _HâTU©~ôZá¸!ºoFšy”*®6HÚ‘Þ,@ÉÒδ’*ÍnMúõçôŽ-æ¶–ÄnCÙÞÃló+UœÅ¶=™}ÿ‰†Ý¶qܱ2H#Yüã¢a+°¾Ò±ð= ¸Û•ôò7YºÙḛÒrŽåXw¤óI=ðdŽÛ±•êVc?T÷âØ"ɱÉþÖ`NÃCXtºy“ìo6hí%l6šlÓÎdÖ’†ÒŒiS·Eóh öÅp?ëôËÇ=l,¿2­TËöTö]]ïœ5Ø”„ÃH~ÙŒß8›tÖª5Ç”ÅÆò0ÓçʧÉ=ÿSžîIºß•‘G³¼Ž\ò-UÚ¹Þ‡|Úžé3‘ìš²ùm(õêå˜0!Ñ8óLG‹™ÇÕ±cÇ;ïØ aß×'Gñ7õs°A¾™<µ$¯üƒu?!×—ƒäZ™T3­¤û,%+ËuÀ·ÀÓÀ¨zÇgóÜïL–E¯ï5àÀ,ò0Ý<ÍôšbÔw3¢¶®¾Áæ;ß1Å9™þdú=R œƒ  E 8í4 kÓ^~ž~>ývÙÅ·ÝÞyGë”"µ¤7Ï}f“|_@eáÝ iP±¿i8^®§iqûcÇÆ1'¶ëÿûyÜq÷‘¼?pìïæèÿ¥8¦âXý¼ÇÏê“MZ{ãXÝ¿$šÆ×ÑÏu8~žC±¿~I®¯_’¼ÊG~e’Vªs6ˆ¦]ÿÈh¾Çl«_²!™2Íû18~ˆK*ŽùÑÏkp–"lò´¦²ž¬œg›§Å,'Å(#¹ž—©²)ÙäC:߉ÅxÎóõ,Õ/Û“±ÛËâÎÙìŸûcâÂ?ÃñQÜçãÉ,3-«é\SLÿwÞ—Ø`Ç÷£eÇáX‹cÉöÞÕÿLõâûwnè¸õÖÄK.qì¶[ðyéR­\Jª%ó7ÿàhŠã Û‡à ¨PµØså?ST&?vmpÌÄž-T±cw¦t8þØ@:ǃý†›a bÄ~èºæV7̱pØ´„-¢áˆK£C–idZ1ÈG~å£rwC½üíŸýüïz¶¥cC}eš÷]p,ކ_£y4¼ [ÝáX…cP½t²ÍÓ6q×Ó+ÍüÌ&O‹YNŠQFr=/£/Ì,Ë„o —ç<ÏRC6·ÀqGtßëd÷Ü·!pòNŠ;îèhØB¬{A¶ß™–Õd׎¡Ñ°e8vMR¶ž#¨¬çëÞå£ÜZ[láx÷ÝDGàLüÜ·¯;¥†UKv•pœ€ãñ\C o_{®|gH£ÊäÇî4‚¥dqíÝ¿›"0Y:²þN„àGéüÒúK4,Õ —W¢ûÊ2Øì'ýÓÈ«|åW®•»AØ›²×’ì_ý<$‹²Q_™æ}ìøÉ$_Œäžèþ{ë…g›§]ã®gÃ4ó3›<ÍæÞe{MÅ(#¹ž—‰²-¾€\žó|÷õÿžÀÑ*C{Þ#è6ÔX @:×ÓQƒÆcu8ÞÅqgî]>ʽOm¾¹cÚ4—Ð"àœã¦›´j°oÕ’Û›pœãþ\K‘䥠¦Æqà Á³së­ŽêêØ~ÿ™Ò ú«ÿÅ ·eé¤êwkž]CZ±s¶ÉðøtÓ¨Â1žÆ(²?Ûû’ìœØ`Ás‰³#Ž?a_4©þÒùqË4ï¿?4ÅþŽqéo‡<½8zÞ_3ÈÏló4Ó{—í5«Œär^&ʶLd“ùÌ×\žó|‰{SyØ:jCl Ãsi–Õt¯éˆhøj7âø6N%Ö=©?ù¿w¥îÄ4zôúNÀgŸ9:uòo[%ª–Ü+ÿmpÌź¿ú¾ž"©è@§NŽwÞ ž™ÓO¯ŒÿLiP™üØMnÔ@|;E \ª>¡ãRœwltÿó9¤5­‘4Æñ,6">Û4"ÑøÂ11úÿ/câ\ò‘_ÙTîvÂ~?ÇÞÖ6gÁàÊ÷qlM0£G&?nÙæ}ªþÞ£~äãóÍÓ'¢çÈ ?³ÍÓLï]¶×T¬2’Ëy™(Û2áÛÈå9ÏdzÔÍMp\Ý?cN¦Ï}o“Øë‹ÿ}yØ'n‡4Êjº×4=vlŠ|Û¥÷®\°7™'ž¸¾#0z´Û*Iµä^ù{Asw®§ˆ*ª0hPâsòÓŸ&;Φ4¨L~ì. xs“l–ŽAÍ×#R¤ól’ó"3‰œœCZ±·¼O¦¸Ö§£û—‡ëi,¯ò•_ÙTîbÛH#Î?Tªúd`C}eš÷ÍørotÿøzáÙäiÓèõÍHqN:@&yšé½Ë¶œ«Œär^&ʶLøvòù=’ͳԘÍ[F÷­Ž Ëä¹MÓü÷$qÇZn—g‡mãöwO£¬¦{M«¢aƒHžoÿŽ‹36¯®÷®œ€˜:vtÜsObåæàƒýÛU ªåÿÛ;÷h+ªûŽνp‹,ˆb.ŒWAD]ñ_1’jº«Õjm1K]«¦¯…Z꣱iÄeY ¾¢!šV-5©ÉÂe ‘ ŠFA@¨U´¢ ¨^ò¯_ÿøíYgι3çÌÌy̹çþ¾³¾ëÞÙ³göoÿöoÎü~{öÞSç¿?:îø:¨S Y³àê«óï1cÂò¦¯”¢Œó°ŒÑ„ÇÉ­åÚCâ½^\¤AÇnz+±ôA_ º¢Cke Ch‚ð]_M·¹ô­èëïrëSJW•ÒWçÎ{ •ºæÉä>tSL W÷CÉ ù(\ó}šK?DçÕ9’èô2—Ö£%ˆªÓ$m—ÔNja#IÏkAèpŒú[”Ô&Ò*ù;’ä^*&sáNr¿¯IîûKÜ~á‡ØŽ$·¶þ¢é°/¹oG¬‹h«Qê:¯@Ð7þ·SG!<\`Ãmj»F <~õ«ÂæÍ9'çÁu¡´åjTf©Œóºœúì:¨SYõ ¥E˜5+wO,Y¢sø9é+¥(ã>ìÎ'÷Þ‹¾®~›ÜùëÐu£ÃÊñ~¤· ¯o·»ýÏé<æ5IYþ/hnEß,lò]ã(#ˆa±rõ•Ĺ;ˆ>ä‹]³™ÜëïWîýŠûp‹«û‰ä¾ê¹üñ½n)'ŽN#|âŽ-¡ÿKÀ‹ŽM¨ÓrÚ.‰TÛFÊ9¯#¤üRLbi•üIz/y[áxyÿ„Ø©$¿ïÿÍ—þ‘“ç ·¿‹Îs» åyÕéÃë¥?ˆQlµT¼ü“|úÞŽð:ú¼9€ŽwûléÄ µ]# 47 ÷Þ›sx6mÚÛÓ—«Ñ˜¥rÎÿÔ¿úrԫƬjÐÞ®öïÝ ÷Þ«÷GñóÒWJQ&yØ‹~æ=ôsºÊÂ]äzVÂÊN>ûí…Z0ýRcÐyIÊê@xaƒ+ãStøÀè –UWåê+‰s÷P„kNuÿï#¼—6ÉÃ-®îGø‰Ë}¸Ï!|"h\&Ù‚œù(:-§í’ØIµm¤œó’Il¢€JýŽ$½—‚¶Ãè$×WÐU° ù}ß„ðç¿AþN®' f´@ƒ˜ÿD8+†­–ª“Ÿ!ü ö£Áʓ䔹tÊi»F<^z©ä y¸ì²ôejf©œó:„ð‘:¨W ¬Z0iR¾ý_ziÔsÓWJ]°»üPë‹qìÎl´²ì:}iËa4Ëg{»°qcÎ zì1¡µ5}¹º2³TÖù÷†´ «ƒº¥ÀŠ­­º$®gó7ÆzÖ„Á`0tGd÷ÓÂ`0Të×Ãðá0c†îßpìÞ ãÆ¥-Y×D–ò>ò„[§ iW®0nœÚ÷7êþý÷«ý¯_ë2©GEuAë]5ֻݙVŽCÑ!+7Õ,F£±²œ0!HÄí·û?~d,Å,•íù÷xúÛ›Fê`ëô ÑÖC;òí{„¤z©c«šseLƒç:FY=N^cifë@£ÑXu”0ožäMîèH_®zg–ê8ÿi3É|¯zcGGþDßyóÔΓ_³*U´Àh4ÆÆâµ×æ÷–NªK[®zd–Ætþ¡k=z¨ÝúíøÚk˾nÆýc0 ƒÁÐx6 ~ö38óLÝß¹.¸Þz+mÉêY*?濞 @&m!`Ü8xùehkÓý7Þ€+®€ åO¤°IÀƒÁ`06ÀÙgÃu×é~¿~°bÌœ™s¬º3²4¶óßÑÖ¦ö¹bEÎF¯»Ní¸ο‡ô_oF£Ñh4V›C†Ï?Ÿ?œbÒ$!“I_¶4˜¥q‡ýøÙ•†®ëÿüój·.dž ƒÁ`è^¸øb˜7/·¿j\u¬^¶dµC–îÓó/Ôÿ Ž˜3ÆŽÍ¥MœóçW¥8d0 ƒ¡{aþ|èÛî¹G÷ÇŽ…wß…Y³`À€´¥«>²tç¿Þ1`€ÚÝ»ïæœÿ{îQû¬’óï!ý×F£Ñh4ipÄaÑ¢üa·Ü"ôꕾlÕ`–î1ìÇÏzÔ«—Ú™ßî-R{¬Aù6È`0 ƒaüxX°2¾±"W^ Ï=‡¥-]e¥{öü õ3¨¹&O†gŸõÉ'0a,\X31lÁ`0 ÃÂ…ÐÒ×_ŸK{öYسGÇbgêŃLˆ,ÝÓù¯d2jG{÷æ;ÿ×_¯vWCçßCú¯Aб'Â_",Eذa-ÂŽ xÅeóç úð×ßÿÃ`M1Ê.%óA÷zn>Âøò²?EXçôra#³ç$Ðó(„!|䮵á—gÉÿ8ÂÇû6#ÌA8µHG!|a5Â^„í/!\‹©‚Nã´m±sF)+n’–“¤Ng!Ìumy8Dwµ²ïQSÞvöµá9„Ó|yÿÚå}³ˆº<Óʈ"O%l¿‘u÷¾öo’gú›f[4v%q„0mZþðŒ-[„ ºæŠAYºß°?Ó”ɨÝ|þy¾=M›¦v–ž^ê aÂØa‘k¸Ãèƒq9ú`ÔÙ:Ï—q½íÍ‚t r×û°êY¤¼7 ~ØpΫo¡N½ \TpÎ=¾ó>Bø 9§A!üA =u^a'lmð•ÿGù/FøÂ×K>sû® (ã„M¾s– |à«Ç¿#4WX§qÚ6‰cž¤N•ÂêtAÁ}R¨¿ZÛ÷cîï.g/[Ýþ~„?ty&ç(Ž ‘Á;ïËeʵ˜ÒõŠkû¬£$÷µ{#D/QÏcWâÀÂŒùŽÛÖ­ÂĉBSSúòEa–îíüC:@S“ÚÉÖ­ùösß}jWië¤ç½®ÑÖ ïKŒ0Ïû í… kð°NرGHö°jóÓ^p,‰c×áIwl‰/ýt—¶aBÁ9CPº‡ÐÏ¡¨Ã!?tå‚ö^ßNÎ1ú=_;\úC½]z3Âß»ôß!Œ-Ð͇hwB‹ïØ¹è› !¿Ç²:-Ö¶qó¤uªtV§WÝþS²E‘£ö-?GèïÒ{!ÌòÙ×Ñ.ý¿BôÔŠ«[9uIjû¬£$÷µÿºkܽ04àÚ¯ ì)£ŒÆzà!ÂÌ™ùŽÜáÃÂW--éËÆ,æüCm€–µ‹Ã‡óíeæÌª¬ç_S œ^¯ÙEÇÚw²ü '‹ö®½Aü‡ÕѾsK:´ãr^/mšÛÿ~ˆç¸söF”û]þE!Ç_sÇ¿UÿU‚‡¸<íŽ?ãKó†¨ü°„Ì;ލ’NKµm\Ç·_jèF­ìû:"rÊ].íÝþÿ\ëwìæ2ë’ÔöYGIîkÿug¸¿ß.8> þ£Œv2ë‰C†h®ß±óV êß?}ùüÌbοÇZGÙyU}ƒT_Ž¿ÇÔ(Î6:£ðè½!x½HƒÇ ~>¬Î$þÃê$—ÿ0úÞ,i0Ñû¨ ½‰à^]ÎðÉEî%.ÿŸ…Ž>Ä ó‡9E¸ãÛÈ9Þ0®³‹Èñ¡Ë3±J:-Õ¶qó¤uªdP¬N¿-!_­íû–ë^ïŽ{ÃGú ½ÝB~os_ô­×~„eÖ%©í7²Ž’Ü×þëžçêýBÁyëŽ_^F;õÈ:Ï|P92}ù²˜óïg5€‘#…Y³:Û´ij'i×=œ© …cW׺FÝ^¤Á£“ÝþO#œv³ Â'Çâ:v½Ñ ˆï¹cSÎë‰p>ÚÓ7,¸Îw½¨Æî½ö?=bþm%òé+KÛâö—´¡GÏ¡ùNt¥m½-hŒtÐøí¤uŠ[NÒ:=åö_ôµCÔ{£ö6¡ÖҶ×6Û¥}Ï—vKûeê’ÔöYGIîëÂ뾎¾yò¿ñZâäî]F;õÌÖVaÊ”ÎÎßÊ•Âŧ3<(‹9ÿ…¬tÐÒ¢í»reç¶Ÿ2Eí"í:—fêÄkÀ í`‰ü¥€^ï£ã‰pnÿÔåÿuÀ±¨ãƒ¶ ¡>ß"79ϯƒU¨C'8äòž1ÿÁù›}åwi(]Ooóç*W§qÚ6êæåOZ§¸å$­ÓqèJ.žm¼‹iI: ¸Ü¶³—|2ziã]ÚÿùÒžwiW–ÐMœß“¸¶ßÈ:Jr_^÷÷¿7ay„Û²Ìv2»››…ñã…åË;;„wÝ%´·×FŽ,æü±R@{»¶ga/_®íßÜœ~]£3u’Ó[]â·Eà_]£¾\¤ÁKç¢NöhÏj”sƒè­Ìq~À±$sšÐoù«­vi7†Èqa‘²‚è ;ù“ãW£ÃHnrûK]þ°±Â^ÏäN_šwΕEä8Cíw^ÊÕiœ¶ë˜'­S¹@œ:5“›¼ù6Â8„)Ùw˜}ÝèŽöš{Îô rAïC®‘Ô±Œkû¬£$÷uÐu× Ë6#¬Dƒ–¤6g4vu¶¶ “';Žsç ^(ôéS™²²˜ó_Œq€>}´}æÎ ä&Oî*Ã|Š1u‚™!·¦ú7Ž"·fõ­E¼TàMæ¼<ƹ…lAŒë^A#é$à1îØ~_Úï\ÚØYžò]³9‚ìžñß!Çç»ãåöK­â­Bòœ/ín—¶ 䜱ä†cxÎS%t§mã:æIꔤœrê4œÓ6"eû~1àX†Ü F…`½ÞäwÑÛ áÅKêXƵýFÖQ’û:èº÷¹ý›ÝßG*ÐNFc#°½]˜>½³3)"Ì™#d³ÉÊ,æü—b” µUÛaΜàvš>½vC¹jÃÔ§×óõ1ùï`´7LÐ1…­Ó%ðœ¸8çò2Š÷à% 2wºcþU€þÇ¥=M~ðQÔ«-‚ìÃÈMVý.¹ÕKšnsé[Ñ! ë|osé…ë…{¯ü‘?li0¹I³“[ç´‡|;æÿ(Q%t§mã:æIꔤœ¤u:™Ü‡ÀnŠ¿Úö-è|Ͼú _ßõì»5à\¯Wz7ú )?©c×öYGIîë ëzËßzzÍ–¡Ã±'ñÚÎhìªlnN;MxôÑ`'sÞ‘¶ uŒ)îïi b0*X¿\ÙÚ '—\7}†£ùN>~pNþyO=/¾+Vè5vîÔôFDÿþÐÞ§ž _ÿ:\s d2Áy7o‚‡^€wÞ={Ò–>udÐHÀžöŽÖU0ow†é´~Pn[ÄmŸã}ÀyÀÀ—€íi+Âtd0êG'œãÇÃÕWÃé§Ï¿t),XË–Áš5°ilÛ¦]“ÒhiQGèPøÊW´®^gœQü¼åËá™g`áBxï=øâ‹´kRw° \œëþ¾‰>”+•·;ÃtZ?(·-â:·?.÷íOîO[ ¦#ƒÁPÇhj‚c…±cá‚ `òd5*Ú¹K—ª³¼z5|ø!|ò lݪoª$´¶B߾Я ÇÇCG‡öê—rò=¬[¿ø¼ô¬Z¥NWnR†ƒ¡zˆëÜÞ Ü ì¾KãÿB™Ž C¥ÑÔƒÁˆpÊ)ðµ¯Á„ êd'ÅæÍðÙg ìØ»wÃÞ½°¿:Ü":§Gí¹ïÓGüþýÕÁ<Ž>:yùŸ|¢o2^{ V®„>PYÌÙO ƒÁ`0ºšš ­MƒƒãŽƒ‘#µÇ}Ì ÊqÐËÅæÍêØ¿ý¶¾‘xÿ}øøcøüs 8 …ƒÁ`0 EÚ{ßÚªÁB[›ÓñØÖ¦=û­­Ð»7ôì©çd2úààA8pöíÓɶ»wî]:¬Èã®]Ê={ô¯¡æ°À`0 ƒÁ`èFhJ[ƒÁ`0 ƒÁP;X`0 ƒÁ`0t#X`0 ƒÁ`0t#X`0 ƒÁ`0t#X`0 ƒÁ`0t#X`0 ƒÁ`0t#X`0 ƒÁ`0t#X`0 ƒÁ`0t#X`0 ƒÁ`0t#ü?p¯€j£ù¢%tEXtdate:create2011-03-08T14:09:19+03:00W0h`%tEXtdate:modify2011-03-08T14:09:19+03:00&mÐÜIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/gparts-ss-symbols-2.png0000644000175000017500000024425213634703632020723 00000000000000‰PNG  IHDRú®žìð£sBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœì]w`EÖ³»’l¹Å%NOHS8½BB'@„íè½ÜÜÇwÇÁQBïõŽz‡ôÞ{ï$„HHsÜ‹,ÉÚùþ˜íÚ•´²F^;óÃD[fÞ¼ioÞ¼y3‹Cs„¸±Ypè•¢F™:pƒ¤ ÑÊ„*ƒ=˜éûtÁŠ—¡iÃaRÌaì00008\c3ÀÀÀÀÀÀÀÀÀÀÀ@ ÆÌRÂÀÀÀÀÀÀÀÀÀÐ<Á¬û Í|›Ö­’œä‹/?=wÎÂ$'ÊÀÀ €íLg8•@uÛiMžuîS¬0˜¢q¶ê:pðK/OûÓ=46 MŽëØ tqê4ùS'§ æ`- IÃü Η^™c¿ß_r²tÏž}K/«®®‰Lë¥W¦ýéîØ4æÆh5ýç‘Gÿùd}}½öajjê=÷ÞþÊKoÄÊ9CÓ¥uÿž»ï·ÛŸßrØðÁüý¾žµ´´,2¹Íö¶¬ûH^AjàšÀ¿ >xåÊ5Ú‡£Fÿõào5µµ ¡ÜT@JÒK+M+FçŵÌÎÚ°ÃÁäŒóá´Q5Qàæ©‚õ&ëÏla€€?pøÐï‡ýî«­»`â¹Ó?ørór.½ôâî=ºò<ÿÓ¾Ÿ§Oÿ¬ºªúåWŸ€—_yî¹ë~«`„ö™N?cÂ8dzyóÖ/>û†XÜ­Âôîyñ%óóó***çÍ]¸fõzà8tÁÄóFŒêñ¸wlßýé'_úýþÈY]0oñu7\½jåZå0"žçÇŒùêËo†—_}†°mJùÿþõ÷wÞzïèÑã0tØàõë6@›6­n¾õúÿë©Õ@qŠ·õ‚•$ƒ£Àd³«VçÃiuä4~œV2±žÌ³fõºž=»“ë[o»aé’ýýч|ôø‰“'_²ŠÏ]÷“ «`]»uyò‰çþõÏ'232οàœÈá¯ùãfÏšwÿ_þñÒ ¯ŸvZ'òðì³'tèØnÚS/<ô÷GƒÁàÅ“.ˆš…C‡~/9YZXØOyR4xà¯;q¢XÌ”òžÝ{»vë-ZdM™2Éãñ@·n]÷ìÞc2000000000$–çîžWTT¦¥yÉÃÿ<öŒô43¾Ÿýèc+µ±"ûú«ï«*«à«/¿»çÞÛ¿ÿnf„ð`033#-Í[ZZöÉÇ_ ÃG}íÕ·ËÊÊàûïf=øðŸ?ÿì먹?oÑÅ—Lܼy¹?aì'}i`Þ”òžÝ{¸bùêÁƒ냃 X½z]×î]6¬ßÄ>\д¾òÉê“¡Aˆ1\ffF¼U·s—Ó.žtA‡íÜn7„M DVRRª\dffDÿî;œwÞYç_pŽÏçûú«ïwîØ -Zd=òS†ñ`ÎÒO?íǢؽGןöí/(èYSSû믿b™QÆûöý4åòIxðÐAMÿüœs&¬^½®ói>žþyÄbcp<˜rÏÀÀÀÀÀÀЬ«º?rÔ°÷þD®o¸ñšo¿™±g÷>_]JJÊ3Ï=n%B°ÜÜœââ“䢲²*røß~=ôÖ›ÿ€>} ®¼úò‡|***Ÿ{ö•Šò »ž?oÑ™gñÓ¾ýÎ<}ÁüÅá***Ÿ{öee¿ß²¤tà Á@p×Î=çwV¿þ}ŠOž v```h.8¥tg````hªˆâÌãv»ò[å>dà Ï=ûŠôÐå ‚@077ç‹ÏWû|¾üü¼ãÇ%Wx«`pÉ¥»øäK/Ú¸asd²×ßpõœ9 ŠOœÄ€9Ž#W®X}Å—}ùÅ·¥¥e­[·:ç¼3ßûïôX2¼}û®‰?dhQzzúî]?ê³ 2å)á”wïúqò¥/˜¿c¼aÃæË§^²tÉJæÉÃÀÀ@L¶00000$–ÖýW_cN—ìÞ³÷©'ž«’ÏÕùè£Ï'_vÑM9×V”W,\¸´¨¨<_¸`é¿ÏãñÜuÇ_"€Ÿ÷ÿòð#x<î-›·Íš972ÙíÛwÝ|Ëu-[æ?~âƒ÷?&çÏ[|ÖÙãï¹÷ö¬¬ÌãÇ‹çÎY{žÌ_|Íÿ@N ‡å=»¼ð¢ó6mÜ›6n™|éE{ö°}º F°o:2000008 ¨_Ÿ‚Ææ¡©"òQßìü;»°’«qKTëþko<!·ÿ9¾”òÕt3ÅÀÀÀи` =ƒMD› —«¨_ofÝg``H ØÞU†¤€¹ 24i$ÛJ"0à C“U ôÁ$ C3„À6eÐ.ßSÇÁ Ç ‘ÁÖ=Lë¹û ñÑ×øO‘¾„’d`````hÒpÔÀÍàXž»ÏÐD@µúN¶qêä”áÔר 00000000000К;ãóÆæ Œ!qž ö¼«è‹Øtn¢› ‘}ØnvÉ7i´xª˜z³°™€Óšiž«ÛQ€® ¢_cIhÎʲÓ:A<°ÊÃeÙN›~2º™Ã†?§õ§ñÓ¸y–?²GÈÕ`¿çÄ!žìâæ°çÆ^Q¬8£Ø×ÔìÀ/8Ž8ñh¿6ˆ¯iÓC<ó§x‰Ç•z‰:Mö&Aº;+ˉ´›™ÂF#—5fm´Ù¸èÛ‰}{Ò:ö,`ý%Å;La‰gxµ §—"ð#DNÚ)âKA{¤ ÛsqêšM3.Š#Ž£ÌqÁŽÑöôÙy„èîà§½x`»ÄQg²m#ƈö³|Š-°ÐÔÍû¶ >¼ÆŸ@¬ÍÚQã1õÕú‹()ö®¸cE…ýeI»ôí°öÓ ê‚È<Õ„ž»O½ë;j@‹ M÷LN‰¼}Ãi“¯4ÚC8õ²?€PoFM›~¶¤sÚ3IJ‹ƒR ºHÙ»( ‚%Žæº%Aš²:Žñ•v·tÚàg7†mêñe8抋·ÇPô`°íÞœ8OPã¨jwìœIÙpyÓyO À¯Ñ£‡½Ä×ùë7ì<¾ëçŠCe|d]=y¸àv×÷øÿVýãúnñØøc‡Í©ï©gZN‚Úâ´ÙÝ }eULûÔH§™€â„“$…]$ãdºˆq!Ö^Ê7±DuXv!Å'XTRt›t2j? Ê&Aêçê%1–S@¹ÙY8ó`²U7qe'I Þ“Ò¿oᦛ£Ð6Óõ7ï:¶lKY}F—Ž=ûtËÉLOOáxNÄЦmnýб°êák;Ç®ñÇ¥œ:È^O[šÚ?%Ó~ÅÚöš }‚;I$ÁÁuÌæ¼‘Ù´í[H}µ´½V’QË‡åš @CZQ,vŠŒÓ|âHÁ‘‹Õ´Wªé"9ßÍ¡£iƒ¶»}%6‚upÃÏZ ‰âÏ+)-+-¯¨©õýñÚ«]‚KN;ÖŒ‰¢¸dÝ¡m¿§t8ªK§|ŒˆA!„sЪu _¯!¾½êŸ·ôˆQã§®œ:ñ<>›ô“°<é4 à$U'ŽÍÙ/ц›Óè˜ò eWž™ÊžÍ¥ÞâY_¡l䣮‡P>ò‹òÑ<ôeb2Î4·ls å´I²}ËÒ©wn\ÂŽ‘i2ÀÊ?1¢±ÆBÃ5¾êššek6fçävìÔiÔ˜N¥¥¥qÁoÜylËa×Àaƒ²³ÓE@"F"0 ˆðíÝ´ê–óSëƒõ«ßavDÇuOêʯÓì!N«‚dØY)·QÛƒåÉŠEhËóÉl?M$®,V‚íÑOÊN[“jêššãÚµÝóšl·R› ÞJ&%ÀaUܸed=PÐt© ¾¸mAžœÌaU1ªM/ Î]¼rò¥—víÜ%77ã¸ââãGOU)DÉŒqUµoÙ–ÒFedzCaŽŸ¬>p¸òx©ÿœ1㎫ٲxÎÔQÌŒ–‚ÀÇ\ ¯¹ˆ2!Í‹f°¿‡3Ž#cé®ã8uïÑ86Êж`¡ÄJŒY°L‘¾{gbÍ­IØ7IÅó ›ômEˆt]U¨;µ9í“'Ô7àÙmo$°ÝLírã¼5(úÓXÇ-ÉØe¹‰¶^…Õi2NA¦Øª# sQ?³…ìŽ=û&N¼° g/—Ë}²¤¸¾>XVV,2D¯ÝvÌŸÞ¥C»¼FÂGWíÙ¸*-xp@‹ú9Ë.PÐfó¢Ù— tìÐ>;»Ï ±òœ€óŸ#Q ½ šºI*Ž¢tá¬Å¸ãP$g»É¯‰Ñ^’Á´?Ûë¬ ,R$úIÐD”{Ô“³PJÕß)ašN"‚Ç£Éoˆwš×"úa$©k t[uB¶O¹©®©=YZV^QY^Y]^Yér¹¯8è×ß~9vì¨(b,Šb›vmmÑ ÖwÿRѺǀ 1Å%µ?n\Ó;çXÎmêëëç,8Tdóå#ë:ulŸ“ÝÂÞÉÉ.èËxÛÁ隘lÛ¼lû;ÙÔ¬“¤ïÛI!F(lÄ”imh ÀÚKÊ”Œ-~ÔÇŽÈÛ«`ûôµÁã‚=[.“*åï‘Äeܧ û-šúàa vùOÆgm샲Æbæ)aéÜýˆŒœ,-ßÿËo¿ý~´]Û¶ãN?#77¯Îï+--ݽgW}pKzzF«V­k}µJ3r»ÝúD,‰+/‚õÁjœæIõÔ‹PUJÙìi6ÇÚ "茲È^ì(Ù\Õµ›¦-fÉAœ&/j}u¿>²ÿ—_Cb¨gÏ^çöíïv»ËÊK?v¢¸¸¦º¦Î_ç«­ …ð¨Ñ#ëêüD!„RSRu|ÅÀN}HàAñh…ïDE0„¹ÔT¯Çí@©))­òóç8þxi݃¥fuè ˆÃÁ`Í¡]¯Þíq»\Q¨S·ˆ4¼û4,¦îqÌ"'’|4|Â/b‰LÁÌ:Þ¨í*Zâv¬žMÑk¹2K qeÔøVŠdÎö2å% úkz[„%"$A{3p£l‹˜^ŒÖ IØMnû¨Dð“À<9býžêû½mRHàN706ÍàœEË[·i=xÈÐvmÛ€Kp;qìÀþ_ý~¸]ëü¼ì¬Œô6™éiû¬(¯èÒ¥[EE9á¬e~+û¬a/W½ÿPE•Ès¼àö¦ÿ|¤¾ À‚À ¡PhËÞªvǵhŸˆ«÷a:ì«)sgES÷cdÁxâÙÄMuA9 SÃõ’I0B“rwŽ%¬.ŒžŸX¸‹© 5°ˆ’\ÂM ÉYå¢KjIhôí,Ž*¡h¦b‹(¶`O%i­×V'UY¼îm4÷1 Æôý•í )º¾Ó ²t—#°Å7on¾éf^py&S@Ê5U$¡×'ç˜I'ºÇi¦D£¡™£~<®;¦m ‡º%Êfð¨Œì÷‚¦±š‰ºoš¹éÓßÏÊÈhÛ*¯ÿ9ã9޳ é^ï„QÃüvxùÒ…¥åµ>ßµ¼¦ªº*fÀåú÷ÈÜux—¿:7Փ»o ¡6mà¢r4wuq®”ŒŒÔŽ)é.Þ-`àjË!ãØÌ‚ÁœË-D¯ÛͪU¶«šÍu"û'†˜ÜE„}ÿN{U@¿«9ë(ƒdÀ‰³@›½ÒqUk™b%8M9—Þâ4Ó åjvÞŠ õˆ¾—˺Í4Ž•aÊë]=0>mÖ$•H Sµ¾[Œß‰*e»ÎE(‘‰›#.ÃU»obV’B‚U÷8{ì1‹¦a4” K§ö]:µ'w¾êŠ}?í&×|i|l¯ ¸rs² O«Xùë!uŸåæ\<ŸêJÉqq¼ Ç»/p¼€ï¯B¾}+‡·>žÝ"Wà]‘{7õÕ·FÙ)™x˜GtwKSÿ´J¼S}zy¶¿xhs~@{Íz¯I†Ó}{=EÄó-NGd yLà°‹h {à†]7†¸duâÆªÛ2éÃêØòÄöŽuÛŸúg{í‚jñ$1µj:L£¯>~×TÀ2DQþ±ˆE,‚vˆ˜ß‰¶/éüäAu¿¢ÚwZ›¼H9Ð<EÑç«+)+?z¬dÏoþ£UiU|§úÔÎÀ nÿßÚeTvo ­[åäfg§¦¦H; âÉtœñÌA¹w&Q¸³`(n>ðŠ„½ÞÍeŒÂ K8ËoO”÷$Zj8â˜RmFI+ æ¿Á~Ž;)ñKV&ïœklz+(T‘ ÚV§é8‰—¥ &˜(Ž+)‚a,ùêpÆx ¨ùZ%!@²¿ìÁ`5“ÐÄ3¾Fàr»²„Ì´´Ô@^N}}½€ã9AÜ.A\‡b_JGî̇ã =‹Ž}Øtmq nP*Ñ3—¡Øö¨Ó€bŠ! Ið§9ÐêØ©SÆÖNãµ2Æ5dÒ?wßìR+Ác o“ /*P<ÂÚ}{¢Â¶ÕÁq 2S5ÕSª‹Õtçtö«À¾á—òšý£Aé6ºxø§Ü ¬Î§²‚íѸñ:¾µï¾¦3h÷ãF¤f/ã¦ýâ9Ä»=·Ç’|̉àwÚ,Ø•EI˜\'uþ=%'žß§C Y -ïhÓ·¼‰)FÂu ¦øÆ—nŽ“pê‰MPNÀi'õ•ÒF_1Pw?q%á¼3°l!*ˆM$a“êüÀ*8ÆB”6Os&k{n×z¦ÍβwGã&,mÛEJ¦I½씡ÄÕ"Žh÷5ˆÅ@}'ªm8J`Ó>S%®$l/»Ñ^C·ú«zŽjB3…“V' ƒŸóÜ#‚òä'!©FnBæ/)/ÈØ m?”méÔ7'SÖa#8# d»m¢R²…8¾°à´#iÉÖÊÉØµ¾;Î8†"“°Hrœ°(!· º.v´§´m^öiÛ_á¶ gucúE” Pv<±‹8ž¨žêf×%/J '„UÚ®$ôAõaÛˆC‡rØ÷l/¡Yš÷‰ï~#µÚ^pq Yy¶ÄgqŽ¢ì"¡Å——iº8Õò faj¾p˜¶×7žœÚþTÉðÛ° ‡±D¹Œ×ä n‚TƒGˆ ض„YÙŸQï>”w5Úw8µKŸ¶K+í­½qH ;@ô¿Tl ô 2{ˆÞœ1Gi<}ØN7ˆ'·ˆîדãqrÐ=€Cu)°oY¦,Kçw ´Çãª;½Ì‰Ê&õñÆi^tÇXO9i5ÀŠ &Î< ‚³Žª  m n­O‚aÓ©C±z«sTnÀ~›H‚/;UÚI¨ªÓ Ûu@ÝYˆ.ùæÚû8›CPV—©W‹”ò†§)ïqä–ª$.8l5ÀšŠž••Zh _ÝéãÆÜs×.— Àko¼µlùJ8}ܘ;n»Åív«ìlظéíwÿ÷ûïGrsr®¼bêyçžm’ †æÀÜñ´´¬âƒO¾;jðÄsNw»]ÇŽŸ\½~kAÏ.À#=S=̹ÿûÛ KJ+¶îøñÍÿ}~ýÕ“[de$™AK4]έ«ËA•’h…ÙÀtaS–ÇšZßüÅ«fÌ]zù%çÒå$± “/ÛÞ2fQúô.xñåW.¾pb×®]TÍàŠ©SÞ|û¿cÇŒ&ŸþèãO/¹øB2Ù²eë³O?™™™ñíw?<üÈ¿† ôô“Û_zõÅçŸ!¶ïÜùÖë¯Às/¼ôÁ‡ÝxÃuðÞÓKJJß{÷- øÙç^|ÿÃn¾ñzmv¦=óü=wß1lè²òò?ùìÜsÎ ÏC³qæ1‘óKW®5|àà}Ém»¶­¦L:‡\×ׇæ,\±ûÇýЧW·sÏ#<üûé×Ï?{ìêu[«ªkr²³.8g\YYÅŠ5›Ê+ªòór&Mœß2—;óôkÖo ƒ}zu»àœq<Ï@Yyå¼E+þö{($vîÔîâ &¤ySIø ηríæªêšü¼œ‹.ß:?<'#ºˆñ’åë¶lß{v?íÂsÏp»]°ÿÀo –¬.)-ÏHO;²hà€Þa¹Œ2À¹\®Ö­òÎm5:Åã^²bÝ%Ï4M.$Н½ýñ]·\•’â!}uþ×ßùäΛ¯œöÒ%&EqáÒ5ÛwîE³_~=|Öé#M­\‹—¯­ªª¾óæ+Ã÷³-Y±îÌÓGW¾öÊ‹SSRÖmÚþÉ—3»uîxÍ."·3æ.½áêÉ$د‡ŽÜzÃTøaöâ%+ÖO7>ûjÖ¹g޹ô¢³B!qéÊ ó­š4q ð·ß¯¿ê’”Ïš [gÎ]zã5—’焽•«7=vâæk/Kñxæ.\¹`éêóÏ ßÍ\xþ9ãztíT]ã[±zcaÿCFDŒÁÂ’gxXØ¿àÓ¿Ž\AÏ®›¶î9l ¿iË®¾½»{ýâÛÃóý¬ Ï?Çã‘Ìéä‚<ÑÞ†DQI"¿e¹n•ß²¢¢’\WTVµÊo©<¯”ŸöàÞ»nýö‡Ù_?Ó›šzÍ•—*ìž‹ð¬100004PVr²ººÊðÂç«ó×Õ¾ð8;ví»dâºZ1¸ï·³—õïA^Ö?ôWý=»´_²|ÝÈ¡ý”Ûe+×—•J°áE}Hôáƒû~7kÉ ~Ý`ê%g@Ue ê×ýƒÏf*áG é[¬«Ötë¸bõFå9¹Ø´uçEç ý5AÑ€Ÿ}3DQà8îĉâôTwzZꨡý”X ‚€BÄÃCQk}u’ëÕ­ãs—õìÚã(â[v\rÁ$<ùwëŽ=“Î?=ôû‚þ!…½…s«Š3å-œ”rK-[e-jmDh ¦\Eh“VÉÅR˜M{C¹¾ë¦Ë#$eÓÆCøëjýuµ†X±WÃŒ¯Î¿jݶömóËJK¬ ߪ,_¹nãÖ=Ï•Ÿ›IZQر{ߥÇ“<Ô{ßþƒ´;B,ùŠPø±ðDQ¶Ö•@Û¶mþxõÔ›ïø3 6hPá—ßÌøü«ïÚàÖ›®SãˆXÜ—”¶ÊoI.2³2Éó¬ÌLåù‰â“™™™²]ºœö—{ïÀÛ¶ï|ç¿zišI.š#«)¯ÎŸæM Uë«ËÊH#×™é>_&–ä¢J<´·¢¨Zà2•èéiµrô£ÇKVoØvòdy°¾>Œs:5µ¾¿4ùŽÌùgŽÜ°e÷úM;Ýnט;wlk•Ù¨¨©­KMqGH.»EFNvÖÏwïÒá烇Zççf¤{ 2e[]cqnUq¦¼E@,µl•5«ðDh ¦ˆ±MZ%g¢âÇ’P 0müf±—4þÒ`^}÷ p»]Úµ:ctX¾U;Ù²co¯î§å·ÌQžXQ¨­­SúEFzš†râ;Bìùë•3ëþcO>wÖ„q½zd¤§—•WÌœ=¯[×Î$˜tÑù¯¼þÎ-7þÑå´d TMo?úôË[n¼>úäËQ#†’ç#† žþñ·Þt-|øÉ#†6X÷_yãÝÉ_Ð*?´kÚ¬ ¡ICiÂEûv­~þåð€¾ÝÃãxSSªªk³2Ó ªº:5%Å0®(°ºU¢W×ÔxS¥èó¯=¼°Sû6n·+ ¾õþ7QÉ’ ojꔋÏLO3Ø­òs'ž3:ºhùú.W]lZ¦6-ÃÃÝû~éЮuää ûöX·yg®·íüéôÑE&Ó¼©UÕ5†-³IçܼâLyã8 ‰D¡¯ó ¬Ø­RŒ\J¢kŸÛm q·ÉÈÏÃZ%;¦?Æb±zÞs÷ÍS O¬ ß´À¥Nøfæâ”÷ þ½"Sð¦¦TÕÔfeHÙš]8ö|…S°[¶!F.½xâ¼…KþûþÇ>_]‹Yýûö¾÷®[•`<ǵn•?vôHmD«Û^=º?ðпüuþaC‹.Ÿ|1y>õ²KÞ›þÉ}÷ÿ† -šzé%Jxr1xPá /¿yüĉ6­[ßuëá 3ë>CsÇ¡0 /ê»iÛž]?ð‚¢ˆO—ÎY¸š¼êѵãò5[êêüuuþåk¶ôèÖQq]ÕR°º€k·ÖùuþÀŠ5[ztëDž×ׇ^¡²ªfÉŠÚðVtÈE¿ÞÝ–¬ÜXYUƒ1”–UÎ[¼†<Ÿ·xMYy•ˆ1À"Ï#ÇqâÊ¡x²¤|Åš-»<0|p¿ÈÉuêÐ&¨ß¾{¿Ë%äçåHô8mÙêÍ5µ¾@°~Åڭ¹UÅ™ò–—“½eÇÞPH¬©­[²2zun­²fÞãv—WT+Ï­ƒ!˜ò<¾6Iµ0µ°JÈêy8æ?j#7ÜÈ6¼ÁhaUø¦í2Ò½—]4a÷Þ›¶í‰L¡G·Ž«Ön“²¿vkºp,ù2¶[¶¦©¡¾} þò§;þûÆKŸ¼ÿÖë/N»í¦ëZde)oW¬^;åÒ‹žWž|öá;ÚèV·Ÿ}øÎEœûö«ÏðîkwÜrƒÛí–Øö¸o»éº÷Þ~å½·_¹í¦ë<·!â¨áCŸú±ß{ëÙ'п¯YF˜ºÏÀÀÀЉ‚þ¾Û¯J^bt?M M—s"™…ÙXß9 f`ÿ^å|§ä 7 Ïw{§Ô2000044Ž3CàO€8Ðt9w N…Âl®ytJ¾VަŸSÈêþ))é‘C<ì£érî@œ …Ù\óè|!h“F/FJ Î<Ía¬ŠdxkŠyoºœ;§Ba6×<:$_áFç¡áÀˆyó00004O555åeeÍFãàĉãÍBœhºœ;§Ba6×<:$_ÁºZ^›‹†"XW sf|ÝØŒ00000$ÇåµlÕàôâ“^yÝíÍC†¿®¶±YH<)ÞÆf!a¨­®Ü·wWYi‰d‘jcCÜ`Cs/Nëúã®íêtIñqˆ)‡Öü(â0’Þ*çw"„¤ƒè¤+„@Òq! ÉgW70`òc 0Æ!ÀäŠظ“bÀ€ÄÂXz€1 ‚ä·$€MïN«ÜáðüHNÈKåD:=rIY`9¤LH¦V£jIh 0Ö³°\Ê 1å^O_*`)Œ†ŠÉÁ„ØX F_g,=ÂÚƒøt‰"S"€°V*oM*…©ãÍàlÈ–#-#†WXOF) lx$µµ¶¤¬(mÐŒ5­ý!ý ¼YÉíÓÀbXñêÃJY`¤áÉVË Ö4" rSQ£‹•ô¥5È™Qƒ©]k¼üHK)…©OÄØ´D4МYC$„@%ˆHY°(wò·@°ÒXõÂéªÀ IdÉ€e®1Æ€1 $IŒÈ+’U €ä ªÀúŠDšr “r½ÄeVªEO*¡5ï±"%tk; YÊÊÍI'ZÔz0r#çBÛßÂúðrúÆsF‘Ú‰4mW&ÖöÕ“{ªr¯v1¥y!kRK«ÒDâQîžraéZkX—TÉII`$gEíƒjª(Wû¶‹¨Ýé;h”’˜(ŠVgßaŒþºêÊR_muøÛv^-p×¾}{ÂÏáÇE¶}ûöÇÀáÇEQLÍ6mÚ¸\.8zôh0LÍÜÜÜ´´4())©©©IÍ-Zdff@yyyeeeBh¦§§çää@uuuiiiBh¦¦¦¶lÙ|>_qqqBhº\®6mÚ@0E¤"j„°ˆÂ*ODU÷Ųá+ÂDê–ÂÄ I¤)‚‹Ҽ1–$VÅ‘”2±lIÐËŒµÝA’dn *ýPž>HâBžÏ<ãP–1Šê.ÊU#YÖE’SL@˜äÉÒ#¥" B@;á‘é;1áQT›h rªëvº.W»¾_c]«7™ý™ÁD`•iMCéª:)§Y)¿Æ•4³é9€ÔþÃ{"fdŠHj„?Qá Ì@DµÇɃMxËÃÒ¤UbR}!ÄyRRÁÅÔ}ªÐœ&!b,cˆÉ’9–,TXÄ‹:VPbL’†¬,ÿDŒGeýW,IU) þ#t¤1^Ú”1N«ô%ñE,룢l›ÓjdÊJ€²"€¤QŠ˜Ã4C Fª™\ÞdötÏåLis¦±9‚z¥s|!©HdÔáI£ŠIQn°J"¼<±Ê©²— [mAT5)+™Ò¾Ò)¹Æ ‚ÁªÍ§)ÂW\kÛôEï:NÃmò %I½Ð)ÉØpiš2›Nè^jÈI¡tÚ VC…3Ò4H$«fŒ­«*™Ä RËéÂcÙÒ«‰­1}’{Q¹Q«kXý+öz¤RQTcU¯FŠÑ€8ÜHm\%M˜XH¥p°,'ÈZ#òê!ÖH ¢Wi ªé_²ÜP„†¢‰"¥0d¥QcM‰}EŒ`u&¡o)rÒº¾ G+£ `)5¡± Q¢ÒDj1!M77ôq½cž Ì$@Lë¼ÆŠ5šÆ5gèdäGUöz¶4\8黡ºÈ •è ID©Ç!=!,5&íTO›EõW4~ÁåšÐ:óˆHRÙA’sdøÙ–/­îJ²ŠŒ²ïŽ<Ê'ÉØ¥Q-¡Œºò@­qÙ— nò%ë›t ò°$©0¬_³bô¸ þ€_£G#B […45ž'X.-Ï’Âdç•>u P}s@Õ=4¶55$VMníSæ+*¹ÊF¿Ðk³áÙÖQF*}e„Ôå“(Hª.gœŽ]< 4\Åfî,êó0/M`ý¯tgÂÃÓ {b˜jay橬Ìrµ¬*ª ¡`ý 2}¥wî1Ô=„iö²ñXÛ¸u« š°º‹õkV7!¨#9P\VdíŸXäФ£"I}–®ÉT!ÅŠƒ0!AIÊkEŒ.(ñ• äY˜ ÑôM…$Zµx­¸Ð ¬ 'õ8¬õÚ“ežVW—”É•’²LM–zK»ÚxÕ^¯WýµüKÝ¢œ¨f)Ó=Z­m¤{¢ß¶ÚLJ¿2Ÿ&Ž= ŒQVÃÕÒÄ«I˦­Ëo‘þ‰(ŠÄe_3‰2d+&Q‰o1=hÔ}b±@"`$ÖÈ0!Ã!%X Ó –õrÅ7«ii>Íè)ËjƒÆ¤V _ÒÀ‹•;eÜѨDH^ëWFwiHÒM¤õƒ¦Ì„âK¤5³†¯´¯@S zÿšðr–Ø×Û5ê®Ñð¬×GvÕrµÐb¥Ëãkòa0qk/-ö똹º[Õ¹å„%b]§Cèã™OÂoäî¦&¦DÔ5­pšÒ=ÒO"ôS>¬É²®w¬}bX SŸ‹¤Ç‘¥BòH²a# † ‚"O@”Á(Ú·²{?LÁ5B5—*"AîH²ž&_‹²ÛùA¢&ïX“5Q_H)Uw—øÕH 啜 ò+j˜Trƒ´]]5HµZY£HsYh¦e:ñ¥Ô †( ¦£¡¶ªý:Ü4Ö[Ã}äuqU/#%=Â:£v‚ ¨¦h5Õ¡ïtXêëë€ã8eÚçóíÝ»÷àÁƒíÛ·ïÝ»·×ë‰÷)pdn–†DBU÷EAvå}¸d„ÈÌ”k$í:CÒ^7y“|'µF/ùúú[î}ïíõBU«ba­ßxÛ_Þ}ó9ɽFÚŸ+ûó ex'ÿcí*m‡ŒçÏ`•µ0{‹~2`´o‘øá«øÖ;ÿöökÓô”)MC*„ä-wÜÿöëÏèh„­ƒ#­ ®Sछ›oÿË»o=þtçjOCø–;xûµgiÖ£pmWÖƒUFͳJÊ͸îÜÞmØC¤ßÅؤêjD}$Õ<ÒÏ”ša†n=ÒÑt·ú`0 ÄqíÙ³gãÆ)))£FêØ±ã‘#G6lذqãFŽã† ‚EQ …êtt7ƒ4ê¾^†¾ûÞ'-órï»ë¦ìì¬ÚZß¾ýfÍYØ£{ÍJ±(»2"Ýh%]ËâRkK’¬ÛÚ“=äçSŠz'Ÿ° €qˆ|hðà"Œ1óÝg``H´[uuòoßOn¾îJÇ i^ïÀþ}öï‹Câs¯¼3vô°!ƒ`±´¬bÚ oüó¡ûþü÷_1åâ‹———Wæ·Ì»rê¤â“%sæ/-)-kÛ:ÿúk.oצ5¡M<„°KpµoÛfʤ R=žf-¸îª)Zþ#ggЀ¾ƒôÅ"~þ•wÆŽ6x`¬¬¬|Ú‹oþ߃÷þåÁÇþpÙE –¬¨(¯lÙ2÷Ê)“ŠO–Ì]¸´¤´¼Mëü뮺¬­œù —-\²Òö¿bÊE‚ @°¾þ‹¯glÚºŠö¿|òD— µâ¦‰C"¤¥z§Lºà¡G§‰!ñdIé—ßÎÚ·ÿ@($öèÖåÚ«.ÍHO¿ã¾‡àÖ»€7^|‚Œ.K—¯™·hYEEU›Öù×^qiûvm´Û%,\‹õy“ðQT~Ë4¢évûØ]cµÁp¤ìG˜#X+2!ý†p3¶È´6VýÛÔÜè„O„É—àjצõe“.Hñx¾Ÿ9ÿº«¦ „B¢øÃ¬«Ömôûú\uÅd1úçãÏÿû‘?{S½D­ª©­ý×/üûá?ß÷÷¿õÒ“ …¾ùaîÚ [D1tþ9ãÏ?0ˆbè‡Y V­ÝXGHýáÇ#} )$}ö‡D ðBì2DËx,QgÌ^Høïß·×US/C⿞xþ_ÿÙ›šJ¢×Öú}ò…>tß_züõþCøÿnƼu·„Dñ¼³Ï8óôÑ #•âñ W\vñÓ/¼Þ³{×Öù-•êëCP\Zöå·3÷ýt {vïríU—e¤§Àí÷>¤Hæ–-ó®ÒKæë®™B$³(Š?ÌZ¸jí†:`@¿‚«¯˜¬$*gÞ¼–Ø©£ÌÉ-ƒšÏTŒê¹u4³©²$jŒ2çÀbHy,Šs½RRRóóóÉg8AèØ±cJJJUe%±ˆE‹Ê„,ÏÿêÒ¹ÓÇ_|ûËÁß Ÿ>÷¬ÓgÏ[L>ˆ1Ìš·øŒ±#ÉÀ°gïþûîºùÙ'R4àÕ7ßß±kï½wÞðüS *ì;ýÓoƾýyàîÇùkeUõ³q÷ýÌyå•>üçGúsiiù³æ)çcE5|ð{ŽœÏÈÙQèÏš¿äŒ±#SSRàÇ}?ÿYÎÎko°sÏÞ?ÝqãsO>2¨°ïÇŸ§PøéçƒÿøÛ==òתêê™s‘‡3f/¨¨¬"Ù)++Ÿ1{A$æäæw§7jÚc=ý؃­òó¾þn6µàõþóú ÿQÊdßþ½çÖçžøGa¿Þ}ñRLRa™CÔý‰ê_0ùd$z*% )ö'FN(a0$ù±9¤Œ›r1kZr#–þ"–mä–Üœ ô\ŒñÜK;üûC¹óéÇt¹„o¿Ÿ“š’2p@Ÿ«ÖKí ‹+V­2¨?‘6¤:~˜³ðÈÑãÿõÎÇÿïþÒ²rR s,ýõÐï*¤~˜«H«âE†DŽ5oá2…·ËõÝŒy^oêÀ}W®Þ „_±fý¢Šö³æ->rìÄC½ëñGî//¯°"¥„OIñ\1eÒûÓ¿¨¯¯ÇÊ^# ðÆ;Ž+Iü–y_};KiNÉÜÿÕ7ßß±ëÇ?ÝqÃsO>2°°ïGŸ~KèÌY°ô×C‡úë]ÓÈ%ß|7ÇØÁc• è¹æI˜v/m'5£9šÒÍz¢ÝfQ” cܵk×öíÛ»ÝÒÉú!—ËÕ¶mÛî=zH’TEfÝg``  ÕºøÐA틉çŒY³aÛû}QVQéMMíÙý´1Ã¥¤x2Ó\Áü…‹úôêVZV±cמۮ¿œÄ=ctQMUYMUYÏní¿Ÿå?}äÀšªòšªò^Ý:̘³è÷ÿÊcG ¬,/€±Ã ?úræÂ^°nÃæ«/¿°¢ì$ ðñ—³†,00~A ŠbuMáa"³Óµý³üãFRngÎY¤Ð3¼°=zØ€¿š5¸°'¬Ý°ùê)cÉN­¯nѲu§uhsøÐÁ민Žûö|íO­²^ ºÆ—›—Í€ÜÜìšZÏóD’+Ÿ 1|„\AMÏ›šbxh7;}zu[±fóˆ!Ü.‰Ooj ¹ O´·"ù„ d·È$×Ù-2kj|亦Ɨ“¥>¯õ…3ÿÄóï€ÇíîÜ©ÝùgE>r|ñòuÇNœ ë•À$¼á;,i^É@˜âv‹¢ÈÇ%-“‡áwq9ãš<¾—/SsD]7O9Fÿ_‹—ÖÎ<¦›{-÷E¨8Rƒ‰á3F«ž‹ªª®}ë½/´oAh•Ÿ—Ÿ—³ïç_ûtÿq÷OÛ·ÎÉnAZ‘'UÕµy²<©–q8)Žã|AŠ79Vx¢¡¼Üì–yÙ{÷ìݳëÞŸ¶o×*+3CKªººV LI)€3Æ {ÿ“ïºwíÔ¡]kà99¾hÙZ­ôàyÉ2=- ¶d{1€ ¢(’`UÕµojE VŸXµÊvj‹ÖnÖa£:ÑDræ1ìæ5Ù¿£rÔÐHV4Ë r¢Hù‚$H†}iù$yê>B(///ÔÈEnnn¢—Òn³³³U2ÊêJFFFªfy­!pɪBZZšB¿äN—’’’¨jRÊÓív'Ц¢ð<Ÿ(šZ‰5Ñ„ÐTš(¥º¯>ÈËÍ>wÂèg^ùÇq¡^=»-[½iÉÊ ¿=>yâYœÀ“˜<Ï#P¥¿ÀëF žçÉî´ªªšœì,¨¨¬JOó’`éiÞªªÚœì,À¸¬¢*Í›Êó©^ˆ¨æyÈgÒÔ”šÛºsoçNí£ÕÚìœ3~Ô³¯¾GÂôèÞyÙªKV¬ÿýèñ‹Î;ÃjRau[^Y•Ó" *ªªÓ¼©äyzš·¼²*7»ì¨ÝC¾xäþÛdޤ2ûfæÂ³ÏÕ­sG·Çž~ñ]eÄUš¦x×*Ü<)j ƒºÓ65L«ïõebƦ_ˆl ìÒ49j¨ÁˆB3ÒÉ<(B³£ôõ25ÿ O¬T–†#‚ºL.¶îÜÛå´öáUÏq\Âi²&šð&J 2Hû7ýó{öýâ«õcàªkê¯Xß¾mkž8Žç9~ì¨!«×m7z¨Ëíæ9žãyà9ãŽ8^Ž#×ò[^ s­¨óëüÁ9 WèÛ‹ë×§çÜ…+|¾€¯.0wáÊ~}zr<Ïs<p/ä9ò„çLJBp¼¸lÁ’5[wü8nÔ óæÙÙ½÷@MmÆPYU³xźvmZ‘WÐèáEk6l=¼ˆçy -@ˆSþ€C‡8X¸d­Ïðù —¬í×»Çñ'ôéÕmÁ’5µuÚºÀüÅ«útçäRBžçÐèáEo½ÿy |ì÷’|©ö9P‹@k:V— U®ºÌ ùÈâÒü( +D2ò%v…ÀÚV›QkBGfÍÓP[šå+â({B˜žkouØ=`.ŒCÓK­ýžhÍ™–¶L]Ý «„XV "{æ ¥çvëÒñŽ›®LOó’Ærúè¡ËWo|ÿ“oªªªóòrÎ3Lš{#=¢èÛ ®¿úRA³ŠEäÉYãGÏž¿ôÕ·§c€ñcGð€Ï;|ÙÊõï}ôµDjôPžç±"C0À£O½ª“!7LMKMÅXÔf-¼<þì›àv»²[dvíÜñ–릤yS‰­wôð¢Uë¶|ôÅŒªêš¼ÜcG Qºüˆ¡fÌYzõÔ ž$53žã¡3Æ Ÿ¿hÅ›ï}=”ç9;zèŠ5?üô»ªªê¼Üìq£‡ñGšÒñ‚‘Ã~øé·ÀñB0ù³ç,XVþueffúèƒwìÞ'È^rö“µ*=ä[¤Ðþ÷ÑWUUÕy¹9ãÇW¥Š¡ZÛ|Ü=:¬Eì³JkEúFB’¿–!2Æj—D†~Þ ±¡í‡­Ä)] ©I’î†AÒäA³S_ߘˆ‡"1þ's-c\RR’(j¹¹¹¤Q•””$*ÙÙÙ¤‰–••%êdªªªü~Bh¦¥¥ƒqMMÏçKÍ”””ôôt¨«««®®NM·Û™™ @ ²²2!4yžÏÎ΀P(TVV–š¡ÜÜ\`M”B%@/>ùà•×Ýݼ~%¢º#„"Ÿ†A"â-4ýóïú÷íUد’¿#­¾“/æ@¶éY²£õd$š6ùÂŒò’ì òcrPšòc„%IŒñ‘ß7áçŸö—æI:ÊF•ÿôëY} º÷ëÓCª§©Gb)šéÍúQ`´O¿}‚zK“(Ö‡S×%bX¥6 ¤ùµðùÑ,}‡?ƒHjþ‚žË~8Ìús¤.®óõ#røS£K€Ž4»Óhù’N`X?mÐ?4UMäè&ªº±¥˜|(‡s®0kÐñ­ò¦¨z•6¥#¿ÿ>zÜ„ûD@¾8+‰@’1È@ !ªBX.1 “0IB>Ø%I U¨(¢C#äøÈa‚õNvòiÅ….¦^Jh"!CwÓvn@ÀZaSyE–ifuá@jƒz9¦ÿ^²†“rs‰ë×áíÛ:Œ±Gêf± w×ÁúKP>á` €õ-Yé€ac¿Ó|îXénÝ ŠÜÇ“âñ¤¸=)¦^õõõÁ€ßï¯ó×ÕùýuÞc˜{™C|à8®}ûö ŠâáÇE¶}ûöÄvøðáD­Q´iÓ†øÆ=z4˜ åææ’ïè•””ÔÔÔ$„f‹-ˆ]^^ž(5:===''ª««KKKB355µeË–àóùŠ‹‹BÓårµiÓ‚ÁàÑ£GB“5QJMtÕ²ùu¾ÚYß©1ˆ#º½2*sÆQB"À†-;JJËöë8Gl&$œòýHíg´mH Š:(ÒTQÜ‘4ô’×H>&C€±¤ÙKŸàĈ“lD¢)Ÿ›D¼Ê…fÔÓ¬€›¶í*-«èß»§4³Ñ¾%‘õоQ•7(Âa$ÂÆl•ˆÖЍSÒ Zd·®Ž-eðÖ°¤¹Ã4vÃKe Ÿ·˜]êB ëf£6 Õß|Ênª¼GÅ@GKäõü[y“Ú‘õDþA’B`PO´J‰”'§¥±4kgHJL«Ù àŒÓÞ®ikÒ7[•<ë?ŒÍw5ë>†tß•(‰š&’‡„‡FTHò‚˜0FˆÃDð`$ÛtÂDÕuÛd¸Õœ·)KL$‡ƒ¨#$#ä[à˜¼”¿qKÊŠ× EzH½Ôª¾èÅR5z´n~ ™¤É³lÅéj›©"GÂ$ÒüÊE'§¦áƒ¾¿#ï†Ç°Ø4@œ0vF]ç0 aÓO©×èWç4}Jî&j4tF¥ù(Ô8eŠNjCš¨5¡t/iï·tO®EéNÉJÃÎä±ÂÕ}†B1<ÇI}óÈ0<øÏiÙ-²®þÃ$^@ HŒojh,Y¹4C–^¡­b€eQŠdCÈ7Çeù¨dåkÌxz+n%)¤~Þ0Â=òÔ‹-ZdN|¾äk¤Œmzë¸æÚ0t†… äÜt„WÆ~Y97¡‹|8K¦làð`œŸ¨ÖÁä ÓŸÞ|lò†$ÝUºo‡gx_ŸÜØ8Su ™™Çóƒ•ûÆpãM \oo/€ð×&"„e ÷Yr*ŽXz~èÃÃä}˜e:GŸ3ý(Ï?±’°ÈÿÄã}˜Âã§°1¬7~ à9ŽŽ%‘? œ²3 úÉ À1§RüxÁ=L1ÃÀ‡Û2Ì"{Žß^ÓŠC‡õæÅ?Ø[~V Òøpf›b«Æ/ƒ›©²È¢çŸý2•™¯eö>Íà à}ü™•ó *îù?Û«Yå­e°µÂßÄ•›ÿ 4hà½u~dÏ y+*"7mÖ}еLé ¼‡ 3¨ {×ÀIJcÐΘB"àxcÓVø5ñ.ÿ8Àpü䳯%¦(ÆükãÀ"ëgvîÀÕ³fEäp0ðY4­cã`båHbü?ý¡ã ÀÀÀÀpcðÏ1œý³ò!äOÆð¼øž`MÌ5¦Æ2¦ç| ‘73è°Àð¿^ ªtÐq€tà ÓW%Þ—†>â’^ËûwÐniù“¥E¡…!Ÿµ9„;ÓZß/-áGþðdè_Ð4*ù£sp°nüvÀý•49f`èñÇis Çnß09Þ­¾¬‡€ãÙýžaRuBÈÞ¥º~ŒéƒÌb}†aLñ=ù‡5úgc‚.¿và#¦¦˜hɘ«0pŽ¡gá€|B3,àHŽ9ù5p~…ôÉö?ç25qb˽;ÀÒ&ŒÛ3væý¼>8¾j‰p0ƒW°ø5}üšª÷ñkú876’÷z–y™ÿÆNcÃA}nždD×f¶Z¾ŸÁ%4À¢‰ ˜>pÍ7b¹9ÚËjxaù#þë˜EáxëòƒYòŸAa> ¤÷ù>}Iûq IDATÃÛÉ;3ýéèîM‚FÞ[§Q©¾A¹B¦?º±µœq—`GEŒ±fSSÉ.3¨80%Àð®"0òäýiÄÉ î6kjÔ@Øk¬ÆÔã£&Ü»{‡eù±>;°C›Îà›}`øÏð7@‡‰ÙÁÄòHBãxcÉ@!Kòu€áFÈÑ…8Ä0 ÇŽ!ÇÚd㟔t1ì47ÞÀ4;\:ïË´)º'½ÍÁ¦cï;ÝŒGº¹ÁRhlcq2ÀXÎ玲3¼w`ã¼]cˆÑmþ á 1„­ýP6øûøÒ!ÊôMÃsàÛ/MÌÓwÖ|Oó àÉoW,Ý{€¥„1Žö¡GG oÐ1,oÄ‘±¦×ôz½N§`tºþkWT·oݼÿ455JÄ’å+ßžùEëûûu:¾¿_Û#Ì…ž!d /Ü8Æx]Ý óú c*øløXfŸÍ,]Ýø¼ñt˜ñŒžùÙ šñÈîM§é98†!¹=,dž‹vcÒ>cü b˜óþŒ1ˆw>rp\0ÐZàLÇr–óz‚ÿ±SË; ð?¯ù§ÓŒa3xÅ¡þ?ðYÁƒ™aPûožæxï”`i+xñˆ©Ì»…±x? omÞ©C^TÂ”–¯¢ƒÌ ÷¬ÿPxqè Z,c~Î 3茠y¿ãFx/1-š‡þ¦Ô0Fé´)i¾ô< ôYú'3…4F’4Ö&#ÁØ×¼øŒ<Çk0?ÕÁ´/ÑVq¼ù_ÿÌf 2¾CSôNbfdE†ÿ"cÜjLâýúCO„s GÎØƒñ¼> ëó%4DX–Èßçx,&fG8àXrŠß`0~ýáŒþ²Æ£=ŒpÆ¿£8`–$`¿¦i[œq00‡ŽÁÇ Þâ'³ŸÞŒ‡r|0;8Ð# ¢Éá÷.L> ÓáÏ ¤ÑsÒt#¬é+›é„ýõøÿaȯ½¼—óßÏ E»†³ñfz 7øY:`ùo€·÷ÑAÊѯû4îçí©¬iÜq#” ù8ƒG"Ùߌ Æúé¦4›‚iÄ1Æoõä¬}WWwÞDXh8ÈeþùŸ&ú‰ÄŸýç¡ÏþPöëÿµE,4 }xv!ädü‰8YãOí¼Spä$½ñ¼‰E`ÍOÒ‘gYzTÄÒtcvùˆéòs>\ ä`L>ß9rƒúAKN ``®¼Ža`°øÌ3æÑOW0}Tk:zó?ª㚦Oó yè/èôE¼[þ6ùɼ[`ÓçïÅt*Óò´š1óˆ~³¼­ :Yg\ ÝHªfŒ[3ÛŠé—14´àÌß! tÕÀc^‚±ñí zk cðŒåªƒÃ‡Ÿ–8úk¼Õì´Ýà`—5î'ü³q¼JM—^’ÓÄo @âã©CƸÞÃñä49ƒ ÆkûöDS‚;ñüЃ`\fé7†ÿÍ€´€ÄÔrþ™P‰pôä°ñ$C»‡3­ÉpÆ­‚1 eªãŒï€j™oe`ˆóß!í-8~Ðø_ÈñÄøsÃðΉùàL€1åHž$a Wç2°,G.÷å ¿4ÏÀo(3̳ 8`XÀ0p 1…ç>Gx5ÐŽ5žñ5íA¦c ÕùOÐ1ŘêáÞ~é4 M@ZýàáoÌ€â e^UôÝP×…ýÁ8ùšñm3¦†<¢ÍN0Ðö °¦ïÍ`ìTÓW]³1Ëò˜¾Ð€äÊáYŽ3ŽSŽSãäGS"ǑȘ>ÈŸ‘5.ÐodܱÆAgz“Ã8[c0ôz=ǰŸÿﲟücÄó#Gˆ4Ýݽ}½?vê:}~ŒÁùü³ÿ\¾òmƒ^¯hÞ=„²Æî75þÛBù€Y£^Ðë «¿q£>iî\MW·¦[Ó×Û×Û׫Óõ÷öövww??æùëõ×9ƒ^¯7ôôô¸»É!g ÷ßݸÍí@!„|À{‰ã z½^­V?þQmvm‚N§3è9µZ­×8Î ÔÔÝ!dÍÐ÷MD!„H2ªÁÀqƒß໹˜Ög0 N¨›h"„5¾î=zÔÝM@è™æícÐÛÛ܈¸€œ{òªÀ \_žÝG9—o†ûË–-swz¦yûôöö#wˆõ‡>¯?}}}ÎnBèç›á>B!äœÙ¿OX—ëÃÜ}„“a¸B Éxw·'®x©.BÈÙ|3ÜǼ[„ÜËÛÇ ··!„¢<%ÜW«Õ™™™ñññÿò/ÿ²oß>Z~éÒ¥wß}7...11qË–-=⿪³³óµ×^‹ŽŽ6«Í5y·©©©6ÃqÜ'Ÿ|2wîÜÄÄÄ¢¢"z¶ÇÞroËL´‘Ã…žA®Ï}lΜ9C–Óõm[¬µß•C!„„§„û¹¹¹b±ø«¯¾úâ‹/îß¿êÔ)R~äÈ‘+VTUU?~<888;;›ÿª’’’¥K—º£½J¥2..ÎFcNœ8qåÊ•òòò£GªTªŠŠ ÇÊ]¼-3*•J¥R9Ð?¹’Š'##cÉ’%C>E m[¬qåÐC!„á)áþÅ‹7mÚºyófúX\\/•JG޹aÆëׯӗܹs§¶¶vùòå鿦¦fÙ²e111¯¿þúÉ“'`Íš5ß|ó ]áÁƒÉÉÉ]]]ÑÑÑÇŽKMM]¶lÙµk×NŸ>½xñ☘¹\ÞÐÐ@_¢T*cbbl4æË/¿LOOOOO§ßaì-wñ¶ì匾EÈa:îóÏ?—Ëå¶W³ql±ÆÓ†B!4žî›ý¢ÝØØh¹N]]Ý´iÓèÃÂÂÂuëÖX®i™w»mÛ¶µk×VWW8pàÆ P(JKK Y¡´´4---88”Jeiié¹sçRRRÖ¯_ñâÅ’’’óçÏÏŸ?çÎd}NwõêÕY³fÙhLccã”)SÈòäÉ“›šš+wå¶ xß"àÆÜ÷3gÎDGG=š–$&&ÆÄÄ,Y²äСCt·ä3;¶€•ö{ÚÐC!„†ÃSÂýøøøÂÂBµZ­V« 4Ù ·oßÎÏÏÏÉÉ!•JeGGGrròµYæÝ>|ø°££c̘1[·n€¸¸8©TZYY wïÞ­­­}óÍ7ÉÊ[¶lyþùçÅb±\.×h4ÙÙÙôáÍ›7É:õõõQQQ!!!6£Õj% Y–J¥ÝÝÝŽ•»r[¼o‘p×¼õƒ¡¬¬låÊ•´D¥RýéOª­­ýè£êêê Ì^bvl!,ÛïC!„O ÷³²²ÔjuJJŠL&{á…ÂÂÂøÏ’dÜÜÜÜqãÆ‘’üüüŒŒ †Î}LòòòêêêÒÒÒRSS/\¸@ W¯^½ÿ~ƒÁ°oß¾•+WŠÅbR>bIJ@Jøõz=YV*•±±±¶#‘H´Z-YÖh4AAAŽ•»r[\˜+xß"ä°³gÏŽ7.**ʬœeÙI“&íÚµëôéÓürËc‹5ÎzÈ— ÿ³iøk"„Ã<%Ü ûÿøK—.ýñ=z4M\€ÊÊÊœœœ¼¼¼©S§Ò††…BAÓ'†§S§N-((¨ªªÊÌ̤I# "‘¨¨¨¨¾¾^&“ÙÕ຺:šLo­1'N¤g¬oݺ5aÂÇÊ]¹-Ë+ŸHð¾EÈa‡^µj•µg†á'ó yl±ÆÙCù Á³,Ëúù Cϼİ~¬ŸËzÊG0BÈ·yʱæßÿýßÿþ÷¿÷ööž;wnÿþýï¼ó)?räÈǼwï^šíJ˜MµažZæÝfgg755õ÷÷sGÏ"3 £P(ÊÊÊ …H$~kÕjussóôéÓm7fÁ‚ÅÅÅmmmmmmÅÅÅt&M»Ê]¹-»ÐpGؾE¾Á-¹û555b±xÆŒüÂìììÆÆF½^ßÒÒ²cÇŽùóç“rkDzýž3ôçc†a˜#F¨Õ]þ"³3ø"‘1bYÍMmD=CüÝÝ€Ó§OÿÅ/~ñøñã3fäççÓÖI¢ío¼A׬®®–J¥¶k³Ì»MHHؼysKKËøñãù—„²,;vìØ… ÚÕÚË—/Ïœ9Óßÿ ½'“Éîß¿O¦í“Éd‹-r Ü•Û ëÉ‚å‰aûù·äî]_gg§ÈßO,?îécýü ú~ŒøBÎÆæfÉW­ëíÑDŽÿ©»ãIII)))v½j×®]QQQiiiNj•»¶%,Çú!„¼Ú{) À_ȲliÉïþç¾=ÚÏ߀‘ŠýüoÝþ~Ò¤úå»éƒ¡_×WqúÌÛ+~nVÉO¢~&`“X–ŒŒŽã?~,Tµ!!!ä»ÊãÇ…ºa\pp0Éqêêêr-H$ò#³V«Õét‚Ô½½½½½½‚Ô@®jëëëëéé¤Nr£¿¿ßrǰ,K¦Ú3 ]]]‚ÔÉ0 ™wQawÑšó•=ZÍ™ŠrO9»ïzƒ¡¢¢âÞ½{IIIö¾¶®®ŽN5ãl®Ü–Pž¦oBÈÛ1 ãçç'‹3~Ýú·ûW¯\&áÿܾeÐs[?ØñÂ?êõºžž}¿Kóy† ¼Z¨ ‹”Â’H$t^,¡Ð¸_@CN2þ4üýýÿÓ³,+x¸‹ ¾‹¾î=zô‰¿ÅÏš5ë…^ؽ{·K¹òÎ8Þxž§é[ä†3=™··¹Ã0,ËúûûJ&O™:yŠùµà}}}½½Úþþþ~$BNç›áþp>§íš|Ùûy{¬ìííGhHÇýøãBÕF®6€üQ¨L‰???xüø±P³3K¥Rr²\£Ñôõõ R§D"!'õµZ­€É<$ñ¦¯¯O¨Ä‘HDfûÕétBÝåÃÏÏœ,×ëõB%ÞKÛwQ'좄o†û!„2ÃqœZ­ª¶ÐÐPš-TsPP‰¥ººº„Jb‰D$–ÒjµB…¼,ËÒÜ}¡º488˜†ûBÕ)‘HH¸ßßß/T"‘ˆ„ûƒA¨:Y–¥á>ÔIwч‚TŠB!„ò@¾î»eÎo„åícÐÛÛBQ¾îcÞ-BîåícÐÛÛBQ¾î#„B!„ÀWÃ}ü!!÷òö1èííG!„(ß ÷ñ‡x„ÜËÛÇ ··!„¢|3ÜG!„B†û!„Bù0ß ÷1ï!÷òö1èííG!„(7ÜU7::š,¨Tª'–ÓB³§jjj>üç?ÿY,ÇÆÆnܸqôèÑt5×äÝ666nܸñÔ©Säagg§\.ÿûßÿNÉq\QQщ'†Y²dɯ~õ+rw7{Ë]¼-¾K—.•••]¿~],ÇÇÇgddŒ9Òy]Š|†ësßÍŽAAA.\°,§CÆö¾m­ý.z!„PÜpv_¥R™úÃ)7{¶¬¬L.—WVVž9sæÅ_ÌÌÌtb‹­P*•qqqôaIIÉÒ¥Kù+œ8qâÊ•+åååGU©TŽ•»x[|GŽY±bEUUÕñãǃƒƒ³³³ë+„œ ÈÈÈX²dÉOÑBÇöm— =„BH(ޚ̳oß¾ÄÄÄ©TúÖ[oýå/±½~MMͲeËbbb^ýõ“'OÀš5k¾ùæºÂƒ’““»ºº¢££;–šš»lÙ²k×®>}zñâÅ111r¹¼¡¡¾D©TÆÄÄå;wîÔÖÖ._¾œ¿Ñ/¿ü2===<<<<<<==ž›··ÜÅÛâ+..Ž—J¥#GŽÜ°aÃõë×]Ó·9L§Ó}þùçr¹ÜöjÃٷ͸rè!„BBñ‚p?111&&fÉ’%‡2 fÏjµÚÏ>û쥗^âZæÝnÛ¶míÚµÕÕÕ¸qã(ŠÒÒRZaiiiZZZpp0(•ÊÒÒÒsçÎ¥¤¤¬_¿þâÅ‹%%%çÏŸŸ?þÎ;Éú:îêÕ«³fÍ" ×­[Àßhccã”)SÈòäÉ“›šš+wå¶l¨««›6mše¹à}‹|€sßÏœ9ÍÏî³} ¡öí!Ûﮡ‡B= O÷U*ÕŸþô§ÚÚÚ>ú¨®®®  €ÿlttôìÙ³ÿð‡?lÞ¼™_n™wøðáÃŽŽŽ1cÆlݺâââ¤Riee%ܽ{·¶¶öÍ7ß$+oÙ²åù矋År¹\£ÑdggÓ‡7oÞ$ëÔ××GEE…„„€R©ìèèHNN6Û¨V«•H$dY*•vww;VîÊmYsûöíüüüœœ˧ï[äÜ5o½Á`(++[¹r%-±} +û¶eûÝ5ôB¡§äéá>Á²ì¤I“víÚuúôi~¹J¥ºpáÂÏþó;vØ®!//¯®®.---55•\À«W¯Þ¿¿Á`Ø·oßÊ•+Åb1)1bY %ü‡z½ž,+•ÊØØX²œŸŸŸ‘‘ay½D"ÑjµdY£Ñ9VîÊmEñ+'Éй¹¹ãƳèZáû!‡={vܸqQQQfå6Ž!6öm>g=„BÈI¼#Ü'†±ü!>((hÅŠß}÷í×N:µ   ªª*33“&$$$ˆD¢¢¢¢úúz™LfWcêêêh2}CCƒB¡ Q2•'NœHÏXߺuk„ Ž•»r[–W4VVVæäääååM:uÈ®¼orØáÇW­ZeíY³cÈ÷m>g=„BÈI<=ÜÏÎÎnllÔëõ---;vì˜?>)ß¶mÛ;wôz}{{{qqñón³³³›ššúûû9Ž£g‘†Q(eee …B$ ¿Ujµº¹¹yúôéä¡Ù¼4V^°`Aqqq[[[[[[qqqjjªå®Ü–¥#GŽ|üñÇ{÷î¥ÙÆ w„í[äÜ’»_SS#‹g̘Á/´v ±±oÃPíwñÐC!„„âÎy÷ÉýÔ²|Þ¼y999MMM£FzõÕWÓÓÓÉ:sæÌÉÊÊjjj1bÄË/¿¼{÷nþ&,ón6oÞÜÒÒ2~üxþ%¡,ËŽ;váÂ…v½…Ë—/Ïœ9Óßÿ ½'“Éîß¿O¦í“Éd‹-r Ü•Û²Dßxã ZR]]-•JùëÛ·È7¸%wÿàÁƒü¬}ÂÚ1Äö¾=üö;iè!„BBa s³ä«Öõöh"ÇÿÔÝqƒŒŒŒ¤¤¤””»^µk×®¨¨¨´´4'µÊ]Û–c}‹B^Mu¹V,‹%AAAA³©œˆ¾¾¾Þ^mwwwVóEÅéUo™½üIÔÏl˲‘‘‘`0ZZZ„ª622’eYhiirÎ+DDD„[[[u: uŽ5Š\$ÓÞÞ.ÔÅñaaa¡¡¡ÐÙÙ©V«©388˜Ü쯫«ëÑ£G‚Ô)‘HÂÃÃ@«Õ¶µµ R§H$ŠˆˆN×ÚÚ*H¸‹:i­9_Ù£Õœ©(÷ôdç1 _|ñŽ{÷’’’ì}-?™ÞÙ\¹-¡½½ý!„å›g÷B!d†ã8¡fõ€   ’xÐÝÝ-T¦„T*%ÉF¨‰ÒÅb1I–èéééïï¤Î€€’,Ñ×××××'H"‘ˆœÔ×ét½½½‚Ôéïï/‹ ¿¿¿§§G:Y–%?h F#H óڸ‹ ¾‹¾îãñ¹—·Aoo?BCâ8N¨û7€T*%±TGG‡PqO`` ‰¥~üñGïaDb©îînïaDb)F#àm¶H¸ßÛÛ+àm¶H¸¯Ó鄪S$‘p_¯× U'˲4ÜÇ]T:é.J`2BHxÞ>½½ý!„å›á>B!„B0ÜG!„Bȇùf¸ôèQw7¡gš·Aoo?B!DyJ¸=Øœ9s,Ÿâ¯ßÜÜüÞ{ïÅÇÇÇÇÇ¿÷Þ{ÍÍÍüg]“wÛØØ˜ššJvvv¾öÚküvr÷É'ŸÌ;711±¨¨ˆ^no¹3¶V:ÖÒ0WCˆÏ-¹ïßÿ}zzúìÙ³SRR***h¹µ}ØÆ¾m­ý®z!„ <%ÜWñddd,Y²Äì)³õ³²²f̘ñõ×_ýõ×Ó¦MËÊÊrm{”Je\\}XRR²téRþ 'Nœ¸råJyyùÑ£GU*?ì-wƶÀJÇZæj¹WssóÆe2ÙÙ³g>|íÚ5ú”µ}Ø}Û•C!„„§„û”N§ûüóÏår¹íÕîܹóöÛo‡„„„„„(Š¿þõ¯¶×¯©©Y¶lYLLÌ믿~òäIX³fÍ7ß|CWxðàArrrWWWttô±cÇRSSccc—-[víÚµÓ§O/^¼8&&F.—744З(•ʘ˜ÚžÚÚÚåË—ó7úå—_¦§§‡‡‡‡‡‡§§§Ÿ:uʱrglK@Îè[„ìµÿþwÞygÞ¼yb±x̘1|ðà›ð´¡‡B ‡Ç…ûgΜ‰ŽŽ=z´íÕæÌ™óé§Ÿvuu=~üøÐ¡C¯¼ò ÿY˼ÛmÛ¶­]»¶ººúÀ7nÜ…BQZZJça---MKK ¥RYZZzîܹ”””õë×_¼x±¤¤äüùóóçÏß¹s'Y_§Ó]½zuÖ¬YäaaaáºuëøSœ@ccã”)SÈòäÉ“›šš+wƶ$xß"àúÜ÷o¿ý¶½½=999>>>33ó)g²ýž6ôB¡áð¬pß`0”••­\¹ò‰knÚ´©¢¢"!!aîܹ§OŸÞ¼y3ÿY˼ÛÀÀÀ‡vttŒ3fëÖ­'•J+++àîÝ»µµµo¾ù&YyË–-Ï?ÿ¼X,–Ëå&;;›>¼yó&Y§¾¾>***$$”JeGGGrr²ÙFµZ­D"!ËR©”Þ:ÁÞrglK@‚÷-ò®ÏÝïìì¼ÿ~yyùW_}%‹sssŸ¦6Ëö{àÐC!„†Ã³Âý³gÏŽ7.**ê‰knß¾}Á‚çÎ;wîÜ‚ žøÃ}^^^]]]ZZZjjê… HáêÕ«÷ïßo0öíÛ·råJrç91bY %ü‡z½ž,+•ÊØØX²œŸŸŸ‘‘AîÜÆ'‘H´Z-YÖh4äŽq”;c[Ö8p¡à}‹$ÉûiÓ¦‹/ [¿³‡B!ä$žî>|xÕªUÃYóêÕ« …‚æî_½zÕöúS§N-((¨ªªÊÌ̤I# "‘¨¨¨¨¾¾^&“ÙÕÔºº:šLßÐРP(h”Lcå‰'Ò3Ö·nÝš0a‚cåÎØ–5ô‚éáw…à}‹&MšäÔú=ôB!'ñ p¿¦¦F,Ϙ1c8+GEE:tèñãÇ?þýï?qâDþ³–y·ÙÙÙMMMýýýÇÑ³È Ã(в²2…B!‰†ßTµZÝÜÜ<}útò?­yHÊ,XP\\ÜÖÖÖÖÖV\\LgÒ´«ÜIÛzz4ܶo‘op}î~jjjaa¡Z­V«Õ{öìáOæëËö{ÎÐC!„ìâïî˜em¶±o¿ýÎz!„ ˜ÂÜ,ùªu½=šÈñ?uwcÜ ###)))%%Å®WíÚµ+***--ÍI­r×¶„åXß"„WS]®‹ÅbIT$KDƒ§r"t}}==Z¦»GÛ}âäé·WüÜl…ŸDýLÀ&±, ƒ¡¥¥E¨j###Y–€––:ÛSŠˆˆ ?·¶¶êt:Aê5j¹x¦½½]¨‹æÃÂÂBCC ³³ó)磂ƒƒGŽ ]]]=¤N‰DZ­¶­­M:E"QDDètºÖÖVAêÄ]ÔI»hÍùë|½^ IDATÊ­æLE¹%ó¸˜Á`øâ‹/îÝ»—””dïkùÉôÎæÊm åiú!„B È7Ãýáä Ïš5ëàÁƒÛ·o'ßüìrêÔ)—]xçÊm åiúù×çî ËÛÛBQ”»/ áäÝb¾¬ó`ß"×çî ËÛÛBQxò!„B!Ÿ…á>B!„B>Ë7Ã}Ì»EȽ¼} z{ûB!Ê7Ã}Ì»EȽ¼} z{ûB!Ê7Ã}„B!„øj¸?Ä#ä^Þ>½½ý!„õìNĉroƒÞÞ~„¬‹Å‚×Èqœ U1 Cëôóó¤NZH$êíûûûÓ¡ê$÷j???¡ê 0ÞÔ™eYÁß;Ã0BÕIÿ¨Ð¦‡‚TŠB!DzìèÑ£¯6<<\ð:GŽ)x¡¡¡¡¡¡ÂÖ,l‰D"‘[g`` àzÁëÄ]Tð]”ðÍd„BÈ+tÎ!„¬òͳûGÅßâr#oƒÞÞ~„†Äq\oo¯Pµ’ĆÞÞ^¡2%œQ§H$"É:N¯× R§¿¿?I–èïïïïï¤N???’Ï£×ëu: u²,Kòy C__Ÿ u2 ‚îNΨpååóxJ¸ÍtáÂå555‡þóŸÿ,‹ccc7nÜÈÿõÇ5ŸÓ7n>>##ÃÚÏRôO@·…й>V¶vL°·Üvû]9ôÇq?üðƒPµEFF’½º­­Í`0RgDD y=z$TÈ;jÔ¨   P«ÕÝÝÝÀÑ+¯2cö’°°0’tÑÕÕ¥V«`&À2€—~ 0@ð7%@À‡·‰àà`r4Ðjµ=Þ‹ž@"‘<–ÞÞÞ¶¶6Aê‰DÐßß/ÔîIJldd$à.jÜEŸÝE OIæQñddd,Y²ÄvyYY™\.¯¬¬}zñâÅ111r¹¼¡¡¾D©TÆÄÄå;wîÔÖÖ._¾œ¿Ñ/¿ü2===<<<<<<==ž›··ÜÛ*..Ž—J¥#GŽÜ°aÃõë×mw ‹û!{Y;&Ø[nƒ§ =„'8 ð’ÍR*]Ô„†àqáþ™3g¢££-¯Ë¶V®Õj?ûì³—^4Ö,çÌÞ¶mÛÚµk«««8pãÆ P(¥¥¥ôÇÒÒÒ´´4r}½R©,--=wî\JJÊúõë/^¼XRRrþüùùóçïܹ“¬¯Óé®^½:kÖ,ò°°°pݺutÆ+¢±±qÊ”)dyòäÉMMMŽ•;c[|uuuÓ¦M³,&Áûù7Î[?ä1ÁÞò!ÛïiC!ä9jÖü3@0À?¼PÁ{6`½Ûš†Çä¬¬lÏž=Ã,'iå#GŽ|xÕªUÃ/€   +V|÷Ýw¶kž:ujAAAUUUff&MIHH‰DEEEõõõ2™Ì®¦ÖÕÕÑdú††…BA£d+Oœ8ñæÍ›dùÖ­[&Lp¬ÜÛ€ÊÊÊœœœ¼¼¼©S§ÒBzaôð»Bð¾EèiX;&Ø[nÆÙC!ä{ÚyËZ·µ!O ÷kjjÄbñŒ3†S¾mÛ¶;wîèõúöööââb³üW˼Ûìì즦¦þþ~ŽãèYd†a EYY™B¡ 7¯µZÝÜÜ<}útò?}ð&¬\°`Aqqq[[[[[[qqqjjªåNÚÖ‘#G>þøã½{÷Òôb{ÑpGؾE¾Áõ¹ûÖŽ ö–[k¿ç =„·à_tÁm­@È“r÷<¸råÊa–Ï™3'++«©©iĈ/¿üòîÝ»ùÏZæÝ&$$lÞ¼¹¥¥eüøñüKBY–;vìÂ… íjêåË—gΜɿÁd2Ùýû÷É´}2™lÑ¢E”;i[ðÆoЪ««¥R©eÍ4¬' –'þ…í[ä\Ÿ»oí˜`o¹½íwÞÐCy5à7Æe=À.w¶=ë˜ÂÜ,ùªu½=šÈñ?uwcÜ ###)))%%Å®WíÚµ+***--ÍI­r×¶„åXß"„WS]®‹ÅbIT$KDƒ§r"t}}==Z¦»GÛ}ü‹S«W¾i¶ÂO¢~&`“è=Œ CKK‹PÕFFF², ---‚ßèµµUð{µ·· ~›­ÎÎNr›-KŒËëž8½ÍVWW—à·ÙÒjµ‚ßfK§Óµ¶¶ R'î¢f»èÓ#»hÍùÊ­æLE¹%ó¸˜Á`øâ‹/îÝ»—””dïkùÉôÎæÊm åiú!„òvÿnŒõõk‡ë#äT¾î'oxÖ¬Yܾ};ùæg—S§Nñ/¼s*WnK(OÓ·È7¸qÞ}Ax{ûBîâP°ôr€ýnnBž”»/ áäÝÚ5ù ² ö-r×¼ûBñöö#„Ü‚(®À3ÈàÉW„B!ü‚ëÿ€Ãnl B<î#„B àmÞò·µ!s¾îcÞ-BîåícÐÛÛr þónº­™óÍpónr/oƒÞÞ~„ ü‡sHþ\ª¶gsÉ[ÖØÑ"„œË7Ã}„BÈ+pÜ“×AÂú‘·<ŒõCxË6׿,þ¹˜o†ûøC==}öìÙ)))¤0z°9sæðksMÞmcccjªégÀÎÎÎ×^{-::š–p÷É'ŸÌ;711±¨¨ˆ3ο`o¹3¶uéÒ¥wß}—tø–-[=z4ä{æj™q}cˆ½å¶Ûﲡ‡rªx`\þg€›ÿ0Àà9€€ßÜøgãj6¸§±=-O ÷ËÊÊäryeeå™3g^|ñÅÌÌLRÞÜܼqãF™LvöìÙÇ_»v”«x222–,Yâú6+•ʸ¸8ú°¤¤déÒ¥üNœ8qåÊ•òòò£GªT*ú]ÅÞrglëÈ‘#+V¬¨ªª:~üxpppvvöïq˜«!ävÖŽ!ö–Ûæ²¡‡ž%.=ì/gÔÉ0׸úùù9µÎ6ÿ%~~4âØPРxP° ̸€Å~~mÆ—³ì@øÄ²,[OÓÕÖê|~~~¤N†a<¹NçìN^½‹>%º; ü± s³ä«Öõöh"ÇÿÔ®C†óôööÎ;·¶¶rrr^zé¥E‹Y[Y§ÓÉd²Œ=ÚF555üqsssxxøš5kþõ_ÿuÍš5K—.MNN&+¹}X–Œ΄“ÏœÑzýŽŽŽÆÆ¹OÀ×RéÏ=÷ƒ1̵¡ùî]º¥Õj?ûì³—^z‰<üöÛoÛÛÛ“““ããã333ÕjµÙúgΜ‰ŽŽ6‹õ-ón·mÛ¶víÚêêêܸq Eii©Á0p¹NiiiZZZpp0(•ÊÒÒÒsçÎ¥¤¤¬_¿þâÅ‹%%%çÏŸŸ?þÎ;Éú:îêÕ«ä³ ×­[0ø°ÞØØ8eʲìèè3fÌÖ­[ ..N*•VVV¦¤¤Ü½{·¶¶ö׿þ5YyË–-#FŒ¹\þ»ßý.;;›>,))!ëÔ××GEE…„„€R©ìèè '³)­V+‘HȲT*íîîv¬ÜÛ¢nß¾ŸŸ_TT6ÙXMð¾E>À]óÖ[C+·l¿»†BÂêïïª*c²„€uúùù‘Ľ^Ï tÃá'ÖÙð‰T R©Õ*,Þ Ë²$YÂ`0Ðs[ð/¼`ãU¶Y«ói0 Cro8ŽÓëõ['8gwò™]Ôtw"<+ÜW©TÝÝÝŸ}öÙŽ;8‰äý÷ß €M›6-X°€¿þÙ³gÇõÄšóòò8°oß¾àààÍ›7“K{W¯^ýÉ'Ÿ$%%íÛ·oåÊ•b±˜¬LP %ü‡tÏV*•±±±d9???++‹¦^Q‰D«Õ€F£! ”;c[´Ã·mÛöÛßþvܸq¤„^ƒHs†\Í©}‹Ã,!Ž•[röÐCÈ Ãßþö7¡j‹ŒŒ$ñă„ O#""D"üðÃ:N:GE`gg§åoÇ„……‘ÈD­V[æ8&88xäÈ‘ Ñh„ºˆ_"‘„‡‡@OOO[[› uŠD¢ˆˆèïïomm¤Nšo†»¨à»(áqÉp_mþ4AÀ;/¾`Á‚âââ¶¶¶¶¶¶ââb:“¦]åNÚÖ‘#G>þøã½{÷Òôâ!ÙX†;Âö-ò ®ÏÝ·v ±·ÜZû]<ôB!¡xJ2Ïœ9s²²²šššFŒñòË/ïÞ½›”/Z´¨µµuñâÅ===³gÏÎÉÉ¡/9xðàÊ•+‡¬Í2ï6!!aóæÍ---ãÇç_Ê²ìØ±c.\hWk/_¾™¶O&“Ñù…ì*wÒ¶ à7Þ 5TWWK-2‡³š°}‹|ƒës÷­Cì-··ýNz!„PÔIvQψÓe Ã_|qïÞ½¤¤${_ËO¦w6WnK(OÓ·!„BH@¾î'oxÖ¬Yܾ}»ÙdžãÔ©Sü ïœÊ•ÛÊÓô-ò nœw_ÞÞ~„Bˆò”Ü}a 'ï–?ù ö-r×¼ûBñöö#„Bž|E!„ÜF ›ê „Uî#„B!ä³|3ÜǼ[„ÜËÛÇ ··!„¢|3ÜǼ[„ÜËÛÇ ··!„¢|3ÜG!„B¯†ûøCbIJ@Jøõz=YV*•±±±¶/‘H´Z-YÖh4AAAŽ•;i[ï¿ÿ~hhhhhè¦M›.^¼Hʸ0Wð¾EH@ÖvukCÃg=„BÈI<%ÜohhP(4Ð䇛•••999yyyS§N¥…W¯^U(4wÿêÕ«¶ëŸ:ujAAAUUUff&MIHH‰DEEEõõõ2™Ì®×ÕÕÑdzkŸ8q"=c}ëÖ­ &8VîŒmMš4iÈ÷¥2~WÞ· ÈÚ®nmhXã졇B9‰¿»0€_FGGÓ‡GŽùì³ÏöîÝÅ_?**êСCr¹œ¬3qâDþ³G5û->;;{Íš5?ùÉO8Ž£g‘†Q(YYY[·n‰DÃo­Z­nnnž>}ºíÆ/X° ¸¸ø·¿ý-/Z´Èr'm+55µ°°pÆ °gÏž9sæ ÿí›m]ؾE¾Ár º‹µ]ÝÚÐ ,Ûï9C!‡±,;vìXÁ«ŒŒ¼Îˆˆa+Ô,Ô™¶O&“ÑÏ{»Ê´­E‹µ¶¶.^¼¸§§göìÙô¢Kô,&Y°<ñ/lß"ßà!±>XßÕ­ bøíwÞÐC B› íïU¿£öàö›0éÿ'uw‹r5¦07K¾j]o&rüOÝÝ7ÈÈÈHJJJII±ëU»v튊ŠJKKsR«Üµ-a9Ö·!äÕT—kÅb±X$•‰ÅÑPÓÍéúúzz´Mw¶û豓¿|[n¶ÂO¢~&`“X–uÆÙMoÑv¨M;OKŠ«ÅÏm{NÔ„?;#ßWs¾²G«9SQîég÷Ç`0TTTÜ»w/))ÉÞ×ÖÕÕÑ©fœÍ•ÛÊÓô-B!'1 ---BÕɲ,´´´Ð™—ŸRDDÉÿlmmÕét‚Ô ô«ç•žÖoZ!àC€.ë €ÎÎN¡¦Ó 9r$tuu=zôH:%Ixx8hµÚ¶¶6Aê‰D$E§Óµ¶¶ R'ýFúlF"Ó9´··›Mç0º‹žr©®°†3ç÷¬Y³<¸}ûv²+ØåÔ©SO¼°O(®Ü–Pž¦o‘oðœy÷ãííGY øuè4à|ðÆ^‚oðͳûÃÉ»µkòdì[ä9¹ûŽñöö#„,ùéß·¯¶ü€?ÀX€r€?¬¸íîÆ!äLxò!„BφǛfœ3–¼ P ð\8y ÷B!ô,ù`ÀrÀÜôŒðÍpónr/oƒÞÞ~äU8w7à™Äüo€Ÿäô€1·§àYœ§ù8ß ÷1ï!÷òö1èííG æö gƒo†û!„B¹=È×ùf¸?Ä#ä^Þ>½½ý!û`nòi¾îãñ¹—·Aoo?BȘۃ|”o†û!„BŽÀÜäs0ÜG!„âÁÜä[|3ÜǼ[„ÜËÛÇ ··yçáôXÖs{¸ ü³!oâáþ÷ߟžž>{öì”””ŠŠ Zmdù×äÝ666¦¦¦Ò‡¯½ö¿=Ç}òÉ'sçÎMLL,**âŒu{˱-°Þ±|—.]z÷Ýwãââ·lÙòèÑ#‡» =S<*÷}È]ÝÆÐëíwÙÐCyŠ¡r{×=Ö¼¦qsÃ6O÷›››7nÜ(“ÉΞ={øðák׮ѧT*•J¥rcÛ”Je\\}XRR²téRþ 'Nœ¸råJyyùÑ£GU*ý\··Ü۲ѱ|GŽY±bEUUÕñãǃƒƒ³³³ë+„ÜÅÚ®nc¸Ùಡ‡ò ¹=†HÃý8òƒa’ÁÝCèÉ<=Üß¿ÿ;ï¼3oÞ<±XøÀ±zjjj–-[óú믟pàÀ7@¡P”–– ßËKKKÓÒÒ‚ƒƒ@©T–––ž;w.%%eýúõ/^,))9þüüùówîÜIÖ×étW¯^5kyXXX¸nݺ€€þF§L™B–'OžÜÔÔäX¹3¶å@ÇÖÕÕM›6Ͳ\ð¾E>Àsrß­íêÖ†1dûÝ5ôBä;€y ý¥Ôï?œ·yO÷;;;ïß¿_^^þÕW_‰ÅâÜÜÜá¼Ê2ï600ðáÇcƌٺu+âVÔ IDATÄÅÅI¥ÒÊÊJ¸{÷nmmí›o¾IVÞ²eËóÏ?/‹år¹F£ÉÎΦoÞ¼IÖ©¯¯ŠŠ ¥RÙÑÑ‘œœl¶Q­V+‘HȲT*íîîv¬ÜÛ²·coß¾ŸŸŸ““cù”à}‹|€çäî[ÛÕ­ ²ýîz!ÃAÀ±€ˆ¹!¥!8oò žîK$’÷ß?44444tÓ¦M/^t¬ž¼¼¼ººº´´´ÔÔÔ .ÂÕ«Wïß¿ß`0ìÛ·oåÊ•b±˜”1‚,þC½^O–•Jell,YÎÏÏÏÈÈ`ƲñZ­–,k4š   ÇÊ´­!;vÈ  U*UFFFnnî¸qã\з ÈÚ®nmhXã졇ò.l7ûÜÎç‚gã=¹çóôpÒ¤I‚Ô3uêÔ‚‚‚ªªªÌÌLš4’ ‰ŠŠŠêëëe2™]ÖÕÕÑdú††…BA£d+Oœ8‘ž±¾uëÖ„ +wƶ¬u¬Êˆ–TVVæäääååM:uÈ—Þ· ÈÚ®nmhXã졇òFì-ïÉ…<Ÿ§‡û©©©………jµZ­VïÙ³gΜ9Ãy•eÞmvvvSSS?Çqô,2Ã0 …¢¬¬L¡PˆD¢á·J­V777OŸ>þøã½{÷Ò,dІ;Âö-ò ž“»omW·64Ëö»xè!„¼Þ“ y<w7à -ZÔÚÚºxñâžžžÙ³gósÇi¸Iø'¤-ón6oÞÜÒÒ2~üxþ%¡,ËŽ;váÂ…vµêòåË3gÎô÷BïÉd²û÷ï“iûd2Ù¢E‹(wÒ¶lt,_AA¼ñ†é4EuuµT*å¯#lß"ßà9¹ûÖvukCƒ~û4ôB^†ÌÛsàÿ˜ ÆÜž|€ºÜÛ8ô¬c s³ä«Öõöh"Ç?‹_B322’’’RRRìzÕ®]»¢¢¢ÒÒÒœÔ*wmKXŽõ-By5ÕåZ±X,–I¥Ab±D4x*'B×××Ó£Õhº{´ÝŸ—ñÎêåf+ü$êg6‰eÙÈÈH0 ---BUɲ,´´´Ð©ØžRDDùA¸µµU§Ó Rg@e@ß«} ,ÕüE˜{c…………††@gg§ùüZ @ÀDKîl8ö„:ƒƒƒGŽ ]]]BÝÔR"‘„‡‡€V«mkk¤N‘H:®µµU:Ÿñ]tÔ¨Qäú®ööv³y#FvÑšó•=ZÍ™ŠrOOæqƒÁðÅ_Ü»w/))ÉÞ×ò“éÍ•ÛÊÓô-B!äÅ0·yß ÷‡“7Ãò9÷äÂy{yzî¾c†“wËÏõG¾Ež“»ïoo?BCbYö…^°6²0fÌ¡êôóó# £Gæ8N:;زöB˜ uÒ÷Jn"ieÛoö_µêmjýh=™·Ço…_èŽPɉµ:¥R)½ú)ѹƒÅb±PzZ§¿¿¿€»ñlΰ°0:AùS2;ßê›á>B!„,=qâ©“@0þ–²¬àMeYö‰¿c‡œ ú¯ 7þøøíÇàúÔwìïÐVkŸÛöœ¨iˆ™ë†S§½†ü½;£Nx6wQgÖI`®B!„‘{rEüßâºÓö=¯ô<¨|ЙÙi s )B6øæÙý£Gâoñ¹‘·Aoo?BC2 <ª¶1cÆ“Ð<jÚ“Ñ£G“±?üðC¿ u²ú3›jµºço=‚ÔIsxÔjuW×°gÙüÀð{ÓOÿ‘"€qê÷Ôê×Õ~ÿsœ‘J¥aaa Ñh:;;i§X,&³ýôôô5Û¿¿ÿèÑ£ ¿¿ÿ‡~¤N–eI¾Í³¹‹†……‘)Î;;;5a&2K3óÍp?§r/oƒÞÞ~„¬*@1«S¨XŠ&Cëõz¡šs¡ ¡ê¤ïב:ÿà$Àv€ð úÿ£‡?Bf?´ ÜNzïKŽã„ª“æî X'?yéÜEQ§ÙûÅd„B!jÞMs{“øf¸“è!ä^Þ>½½ýÈ올C˜i=·ú`Àrr¯ªP¿§~Põ /µÏÍ C>Ç7Ã}ü!!÷òö1èííGy‹{rõ¿Ðßu¨ ïÉ…„å›á>B!„wx ° ¤/Ké¼=xO.$, ÷B!„ÜŒ½ÅŽ~sô¨ÅþrO.øà w· y?ß ÷1ï!÷òö1èííGy%‚*‚F¼4‚æöÀX€rÀÜô”<%Ü¿téһラ˜˜¸eË:;lô`ü—|ÿý÷ééé³gÏNII©¨¨à?åš¼ÛÆÆÆÔÔTú°³³óµ×^ã7’ã¸O>ùdîܹ‰‰‰EEEt¢%{˱-³Ž3g޵·9dç#d›ësß­Cjjj~ùË_’ò¬¬,:Ktssó{ï½ÿÞ{ï577§ý®z¡gÓÅXÎÛƒ¹=èixJ¸äÈ‘+VTUU?~<888;;›>¥â¡…ÍÍÍ7n”ÉdgÏž=|øðµk×\ßf¥RG–””,]º”¿Â‰'®\¹R^^~ôèQ•JE¿“Ø[îŒmñ{5##cÉ’%ÖÞ¦YÏ#䙬CÊÊÊäryeeå™3g^|ñÅÌÌLRž••5cÆŒ¯¿þú믿ž6mZVVÖp¶âÊ¡‡z¦YÌÛƒ¹=ÈažîÇÇÇK¥Ò‘#Gnذáúõë¶×ß¿ÿ;ï¼3oÞ<±XøÀöú555Ë–-‹‰‰yýõ×Ož< kÖ¬ùæ›oè vìXjjjllì²eË®]»vúôéÅ‹ÇÄÄÈåò††ú¥RC–ïܹS[[»|ùrþF¿üòËôôôððððððôôôS§N9VîŒmQ:îóÏ?—Ëå¶;Ðgô-Bö²v Ù·o_bbbHHˆT*}ë­·þò—¿ò;wî¼ýöÛ!!!!!! …â¯ýë7áiC!äã,æíÁÜäO ÷ùêêê¦M›F&&&ÆÄÄ,Y²äСCô&aß~ûm{{{rrr|||ff¦Z­æ×`™w»mÛ¶µk×VWW8pàÆ P(JKKi…¥¥¥iiiä†ÃJ¥²´´ôܹs)))ëׯ¿xñbIIÉùóççÏŸ¿sçN²¾N§»zõê¬Y³ÈÃÂÂÂuëÖð7ÚØØ8eʲìèè3fÌÖ­[ ..N*•VVVÀÝ»wkkkß|óM²ò–-[žþy±X,—Ë5Mvv6}xóæM²N}}}TTTHH(•ÊŽŽŽääd³jµZ‰DB–¥Riww·cåÎØa0ÊÊÊV®\ OAð¾E>ÀóÖ›CˆèèèÙ³gÿáؼy3)Ù´iSEEEBBÂܹsOŸ>MË Ëö{àÐC=C0·=Ï ÷I2knnî¸qãøå,ËNš4i×®]§OŸ&%‰äý÷ß Ý´iÓÅ‹mל——WWW—–––ššzáÂR¸zõêýû÷ †}ûö­\¹R,˜ïvĈd”ðêõz²¬T*cccÉr~~~FFÃ0f•H$Z­–,k4š   Çʱ-âìÙ³ãÆ‹ŠŠ¢%\˜+xß"ä0kÇ•JuáÂ…Ÿÿüç;vì %Û·o_°`Á¹sçÎ;·`Á‚'&:{è!„Ð`nr”…û•••999yyyS§Nr†ah~ȤI“ìª|êÔ©UUU™™™4i$!!A$Õ××Ëd2»*¬««£Éô …‚FÉ4Vž8q"=c}ëÖ­ &8VîŒm‡^µj¿Äòªè'¼orŒícHPPЊ+¾ûî;òðêÕ« …‚æî_½zÕvåÎz!4,˜Ûƒìç)áþ‘#G>þøã½{÷ÒlW";;»±±Q¯×·´´ìرcþüù¤<55µ°°P­V«Õê={ö˜Mfg™w›ÝÔÔÔßßÏq=‹Ì0ŒB¡(++S("‘hø­U«ÕÍÍÍÓ§O'Íæ¢±ò‚ Š‹‹ÛÚÚÚÚÚŠ‹‹éLšv•;i[PSS#‹g̘1ü7ÎGÃaûù×çî[;†lÛ¶íÎ;z½¾½½½¸¸˜æôGEE:tèñãÇ?þýï?qâDþ«,Ûï9C!„0·ÙÅßÝ @’òßxôŸVWWK¥Òyóæåää4555êÕW_MOO'Ï.Z´¨µµuñâÅ===³gÏ6Ëӵ̻MHHؼysKKËøñãù—„²,;vìØ… ÚÕÚË—/Ïœ9Óßÿ ½'“Éîß¿O¦í“Éd‹-r ÜIÛ€ƒ'u˜†õdÁòÄ¿°}‹|ƒës÷­CæÌ™“••ÕÔÔ4bĈ—_~y÷îÝäÙ?üp÷îÝŸ~ú)LŸ>ýÃ?ä×6üö;oè!„-$·ç4Àv€ð7æöü`=Àmw7y¦07K¾j]o&rü³˜ù•‘‘‘”””’’b׫víÚ•––æ¤V¹k[Âr¬oúÿÙ»÷°¦®taàoBIH± t¨J±Ó*#xcbEZ œRñBµë¥Æj•±c‘9|ॶUqŽ- tÄ¢2´‚Jñ2*•Š\RñÒÖÚÄŠÈ…@òý±e7%$æ²sOŸ§;++k½Yì%‹äÝk#dÓ„ßÖ±ØlÛ•Ãqe±ØÌßnåDËû¥‰XÜ+•ˆ¿,+_±lá° Oø?CaHt:ÝÏÏ Ekk+UÍúùùÑéthmm%SmäëëK|!ÜÞÞ.—Ë)iÓ¹Ò¹ÿ¥~àLäˆSÒ¦‡‡‡››twwÛÐ`\.×ÓÓz{{Éê*à€Cû²¶{íå剤££ƒ’8™L¦¯¯/ÈåòöövJÚtðStôèÑÄõ]Ãöu0qŠÖž©”JÄÇ+ʬ%™Çü Eyyù­[·¢££õ}­j2½©™³/ª3¶!„҆ܞÁ¹¸°žÜ}jé’7—û˜w‹eÙú´õøB Fmåû?¾ÌÚ¡àà=¹’}.÷1ï!˲õ9hëñ#„‰ù3ÓcžÞ“Ë‘Ù祺!„†F£y{{SØqàåå¥T*)i“¼§¤§§'UmŠè÷Åçr¹\oj>Ó&ãär¹,‹’6œœˆ6›MÕ‰ÜÏÅÙÅû´·rš²ï/}âåbòž\Îgœy<§ëNº·IþÜ Uq’m:æ)JlännnÄüÆv{Vû\î—––â‡sY­ÏA[¡Ñh4ªÖ¦ª\\\¬¹ÍZqÀ`0,Š—= ã‘·½×—““¹ô§ Ng±X0ìL¶ü¼ëÃ.i˜ú#ûïWßçòÜrÝèbý2>Lq:9æ)Jb2™äÒŸZ˜Ìƒ¢ž­ÏA[!„4aþÌô~Ý{ô;£î:€’©­Ý©º#~™š[#+dŸŸî#„Bh…BqïÞ=ªZ{ì±Çˆ\‘ŽŽª²<==‰Ëïß¿?00@I›ŠAqÐÛÛÛ·Ÿ’6¹\.‡Ã!Ú‹©Y%³Ùl‰¤§§‡’6]\\ÜÝÝ@&“=xðà7ÏóLÚÚÀê`ÀÀã÷vߣWÑ™)LÚÏ4-m2 OOO¸ÿ>%qÒh4///pÔSÔÍÍøNC$I¥RJÚ$OQ.÷B!GAÕbB•L&S(”4E®Éd2™\Nͽ`Á™8 êí“ '¶I& RÕ&™¼®P(FhS ðg€=¿Þ“Kñ¢Bv^Y[5Þ“‹Ì6Q*•TÅI^cyŠ’ùúr¹œòS”`ŸÉ<¸‰B–eësÐÖãG!] Ý“ ÷í±cÖ²ÜoiiY½zuDDDDDÄêÕ«[ZZTŸíîî~ùå—CBBÈ’ÚÚÚ·Þz+<<<***==ýîÝ»ªõÍ“wÛÔÔ¯%H¥R¹k×®3fDEEåææ’ê[nо´¸ª!r@æÏ}ù­éÓ§嚦@]]ÝÛo¿Mü²aÆa_IkŠßœS!„ÌD ð9ÀÓY€÷ä²KÖ²ÜOOO>yòäÉ“''Ožœžž®úl~~þüùóUKŠ‹‹“’’*++?>a„´´4óÆ ÂÃÃɇêA>|øÂ… eee¥¥¥B¡°¢¢Â°rSô¥}ÀU …B¡PhÀø dNB)))óæÍ#Ê5M’’’E‹UUU:tˆËåfddèÒ‹9§B™UÀ:€)ÕC%xO.{a-Ëý7n¼ùæ›<Çãñùüÿüç?ªOÕ××/\¸Pµ~AAATTÇãp8o¼ñÆO?ý¤½ýÚÚÚ „††¾òÊ+_}õ,_¾üÔ©Sd…;wîÄÄÄôöö†„„>>,,lÁ‚/^ýÀ½½½===ûöí{þùçɧrrrV­Zåìì<â %É_|ñì³ÏªªçÝnÚ´iåÊ•555{÷î½rå ðùüÂÂBòÒÂÂÂÄÄD.—  °°°ºº:66vÍš5çÎËÏÏ?sæÌÌ™3·lÙBÔ—ËåS§NÕdSSÓ¤I“ˆã‰'677Vnо´ ¸¾([d,˜û~üøñòF-š¦€ª†††É“'«–Œ¿µM=„2 Ìí±;Ö²Ü_·n]EEEddäŒ3Ž=šššJ” ‚®®®˜˜˜_2mÚ´Ï>ûŒ¬OPÏ»uqq¹wï^WW—ÏÆ <<œÃáTVVÀÍ›7ëëë_ýu¢ò† ÆŒÃb±’’’ÄbqFFùðÇ$ê\¾|ÙßߟØ3KS‰„Ífǧ¯¯Ï°rSô¥iÀ @ùØ";`©}ë EqqñâÅ‹ÉMS€tíÚµ¬¬¬õë׫ªÇo…S!„LHCnÏà–A‡š]nÙXËróæÍqqqÕÕÕÕÕÕqqqï½÷Qž•••’’Bî$5ŒP(<{öìk¯½öþûïkoÇŽ ‰‰‰ñññgÏž% —-[¶gÏ…BQPP°xñbrÓ"b“ZÚÆHõáàà q,´Éf³% q,‹É–ô-7E_šÜ€ s)[„ vúôéqãÆùûû“%š¦HôÏÌÌ7nœö–M=õBÈ©åö(þW÷ä²9Ö²Üolläóùd>kcc#Q~ýúu>ŸO.@Õ—¡®®®‹-úᇴ·˜]UU•––F&DFF2™ÌÜÜÜË—/'$$èpCC™L¯)È€€òë«W¯>ù䓆•›¢/MN^ì¨ûPP>¶lÿþýK—.U-Ñ4 ²²rýúõ;vì |d˦žz!d¥Ôr{ˆ{rÝÿÇ}Ìí±Ö²Ü÷÷÷ß·o_OOOOOϧŸ~@”«î¶A<$Ê7mÚtãÆÁÁÁÎÎμ¼¼GæÝfdd477 (•JòSdÆçó‹‹‹ù|>yÛ]ˆD¢–––   íAÆÅÅåååutttttäåå‘;iêUn¢¾4 ¸îÈåµc‹ìƒEr÷kkkY,Vpp°j¡¦)PRR²sçÎÝ»w“öªÔã·ž©‡B0”ÛC;óðKNÙtîÛc+¬å®º[·nݾ}û ((hëÖ­ÚëOŸ>===½¹¹ÙÝÝý¹çžÛ¾}»ê³êy·‘‘‘©©©­­­ãÇW½$”N§;vÖ¬YzE{þüù)S¦7ÀÓ$!!¡­­Ø¶/!!aöìÙ”›¨/Ýœ\ÖêüS;¶È>X$w¿¨¨H5kŸ i dggÀ«¯þºÙDMM yËqÝã7ÝÔC!«ó0¢n+ݺ7tz>Ü·' `ÀAKdž4£åd¦'-]%“ŠýÆ;âW2)))ÑÑѱ±±z½jÛ¶mþþþ‰‰‰&ŠÊR}Q˰±E!›&ü¶ŽÅf³Ø®Ž+‹ÅfŽ´­œ\Þ/•HÄâ^©DüeYùŠe ‡UxÂÿ C¢Óé~~~ P(Z[[©jÖÏÏN§@kk+¹›‘|}}‰/„ÛÛÛår9%m:W:÷¿Ôœ‰ñOÔdœ{xx¸¹¹@ww·H$¢¤M.—ëéé ½½½Ãnüg06›íå剤££ƒ’6™L¦¯¯¯ÂUÑõç®>~߯Ÿ °àš!m:ø):zôhâú®ÎÎNõý$ Cœ¢µg*¥ññŠ2kIæ1?…BQ^^~ëÖ­èèh}_«šLojæì‹*ÆŒ-B!„¬½îö¾Þ“ËVØçr_—¼á©S§mÞ¼™øËO/GŽQ½àϤÌÙUŒ[d,¸ï>%l=~„2¼'—°–Ü}jé’w«×æ3H/8¶ÈRûîSÅÖãG!3!öí9 °àÆÐ=¹ŒÈíA”Ã_B!„4Ü“ s{¬.÷B!„Ñ0·ÇZÙçrón²,[Ÿƒ¶?BY†Ú=¹æöTÞ“Ë‚ìs¹y·Y–­ÏA[!„, s{¬Œ}.÷B!„%anÕ°Ïå>~eÙú´õøBÈ*`nu°Ïå>~eÙú´õøBÈŠ`n¥Ùçr!„BYÌí±û¼ÍB!dC.~WGOùãsŒ!ÒpO.åi¥|«œÙÌ´t|vË>—û¥¥¥ø]ù„¬_PP@¿ñÆ{÷îÕÞ~mmíÎ;[ZZ¼¼¼–/_>gΜåË—ÏŸ??&&†¨pçÎ%K–:t(222==½¸¸øîÝ»cÇŽÍÈȸuëVQQÑíÛ·>øàƒ &/³gÏÖ¤¦7¥o¹)úºqãÆþýû‰?"ù|þßÿþ÷Ç-//8àp8k×®ŠŠ2ÏØ"d0¹\þå—_’ÿ&hšºœÛØsê!Gc†džýû÷WVVöõõQÕ ««+ñU__UY ‡È‹Å …‚’6«Í› ¯¯O~šDWWW"颯¯O"‘PÒ&‹Åâr¹ •J{{{)iÓÙÙÙÍÍ úûûE"%m:995 »ºº nG1Q!Ï’N$Òä´Âó…ÕµÕxвX¬_~ùzzzd2%m’§(ÁZ–ûMMM“&M"Ž'NœØÜÜL>•““³jÕ*MßnH$’/¿üòÙgŸU-TϻݴoÇÓ‹ IDATiSFFÆóÏ?ÿþýÂÂÂ9sæðùü?þø¥—^"~l………‰‰‰ÄL………îîîŸþùš5kž{î¹üü|âá–-[öïßr¹¼±±qË–-Z‚Ôô¦ô-7E_Ó§O?pà@bb¢R©üüóÏŸþù‡WUCCÃäÉ“ÕË)[d,˜û~üøñ2»OË¿-$õs{Äø-5õ¢Ä™3g Ekk+U úùùÿÈ·¶¶Rµîñõõ%rcÚÛÛ©ÊávŽwîŸØr¹\,SÓ¦³3±–¢°M2'~``€ª6É5îàà Um’ÉK …ÂÀ6y*—êí4Íg«ÏwÍß}«øÖOÑÑ£G»ºº@?å§(ÁZ6â”H$dX‡üÛN tuu‘Ÿ2mÚ´Ï>û,55Uµ\ý÷´‹‹Ë½{÷ººº|||6nÜááá§²²nÞ¼Y__ÿú믕7lØ0fÌ‹•””$‹322ȇ?þø#QçòåËþþþ<OKšÞ”¾å¦èkݺu‘‘‘3fÌ8zôè°TwíÚµ¬¬¬õë׫?EùØ";`©µ¾B¡(..^¼x1Y¢i F<·Õã·ÔÔC“yC $\HZëߘ´nËcRÖ²Üg³Ùä×ab±˜ø+²²²RRRT/ÛU% Ïž=ûÚk¯½ÿþûÚÛß±cGCCCbbb||ŸÇãñx<>ŸßØØH”“;’ï´²²rýúõ;vì q(([„ ¶ÿþ¥K—ª–hš Ã¹­ÊÔS!„ìàc€‹3†J¾H æ"ôֲ܋‹ËËËëèèèèèÈËË‹'ÊUwÛ•½;7mÚtãÆÁÁÁÎÎμ¼<õ¼Ûaígdd477 (•JòSdÆçó‹‹‹ù|¾^i‰D¢–––   íAjzSz•›¨/ÿ}ûöõôôôôô|úé§#¾Ó’’’;wîÞ½›ÌB&‘ËjÇÙõ9hµµµ,+88XµPÓÐrnÃHñ›yê!„=нÑ×,šC±ä¾ûÄñ[3!!¡­­Øá.!!Ü…F“éÓ§§§§777»»»?÷ÜsÛ·oW}V=ï622255µµµuüøñä'Ð@§ÓÇŽ;kÖ,½ÞÂùóç§L™òÈmq5½)½ÊMÔ×Ö­[·oß~àÀ ÚºuëˆÍfggÀ«¯þz‡ëšššaûìR;¶È>X$w¿¨¨H5kŸ i h?·ußDS!„l^ À'*Ÿè÷dlÅOô-€–“™ž´t•L*öÿ´¥ƒ±€”””èèèØXýnë°mÛ6ÿÄÄDEe©¾¨eØØ"„M~[Çb³YlWÇ•Åb3GÚVN.ï—J$bq¯T"þ²¬|Ų…Ã*<áÿ …!Ñét???pÐy*û_êÎDŽø'j¶=ñðð 6¸ìîî¦jƒK.—KÜ쯷·÷þýû”´Éf³‰í€%IGG%m2™L___Ëåííí#WRÛ{¾X£ñ}?EÉy:;;©Ú‡”8EkÏTJ%âãeÖ’Ìc~ …¢¼¼üÖ­[ÑÑÑú¾V5™ÞÔÌÙUŒ[„BÙ*ÌÞ±Jö¹Ü×%oxêÔ©EEE›7o&wºÕÝ‘#GT/ø3)söEcÆÙ‹äîSÈÖãG! À½w¬•µÜf‹Zºäݪn>ƒ¨…c‹,µï>Ul=~„2+=³w™Ùçr!„B™ ࣡Oôà&À:üDߺàr!„Bé÷Þ±ö™Zy·Y–­ÏA[!„LJ᪽'Â;gÙ ûütón²,[Ÿƒ¶?B™ úf÷uoèô~xcMÌÞ±~ö¹ÜG!„B „¿ tFv>|ˆÙ;6“yBÔ³õ9hëñ#„Åx\e¤’(p9ë‚Ù;¶Â>?ÝÇ/â²,[Ÿƒ¶?BQFmïÆm†Ç‡Ì ¦Æ»ê"+cŸË}„B!d,µ½wè9tŸ}>t1]r Æ…ôbŸÉ<!„BÈpCÙ;ÃöÞqÚàDãêÑÆØç ón²,[Ÿƒ¶?BŽp e( ä&À|€h¼K®­²–å¾H$JKK‹ˆˆxñÅ TŸ ¢ZØÒÒ²zõꈈˆˆˆˆÕ«W·´´¨>kž¼Û¦¦¦øøxòaww÷Ë/¿¬§R©Üµk׌3¢¢¢rss•J¥aå¦èKË€3âø#¤ùsßC~kúôéªÏªOíS@Süæœz!dß|6”©ß° ÷Ù´mÖ²ÜÏÌÌd±X'Nœ(//okk;räù”P( …Ãê§§§Ÿ$z€Ë—/ûûûóx<]]]111Ã:•H$l6›8æp8}}}†•›¢/}\ ÊÇÙKí[¯P(Š‹‹?þøc²DÓ”Ñ>Ôã·Â©‡¾h4š‡‡…­îîîÃþŽ5˜““qÀãñÈÏŒŒ$¡Iˆ‹åìᬽ²Ž\\\ˆ6›M§SóÉ)ùQ‚³³3U?&ãá2Édª·©ä*¥ÿO*[)#ƒŒ18iú¿éÀÐù~œœ¨Š“<—ó%ô‡ÉdRÒ&yЬe¹Ÿžž¾eË–ØØXWW× <ò‡½y󿏏¸7ÞxJJJÞ{ï½¼¼<-õwìØ±wïÞ‚‚.—›ššJ\Æ·lÙ²]»vEGG,^¼˜Åb•‰(%ª‰c@Fgee¥§§“g‰ÍfK$WWW‹ÅÄå¦èKÓ€“× êž¯OùØ"d°Ó§O7Îßߟ,Ñ4eôý7ÇÔS!3 Ñhnnn”7K|E-â aJÈè2â€Åb1Ü(^ö¸¸¸ [WÏÙÙyØ·ˆÆc0¿ùÑÓ /¾¯{C÷ ÷Ã߼ij8ÿäèvŽÐétÊO'ÇŸÌÝollÔ^?000;;»ªª*--L‰ŒŒd2™¹¹¹—/_NHHÐ+à††2™þúõë|>ŸÜ¾†\1üøãÄñÕ«WŸ|òIÃÊMÑ—¦'/vÔ}(([„ ¶ÿþ¥K—ª–hš2úþ›cꩇBæ!ÿ½üî?îvîê$Öú49Í-ÏÍçEŸ‡k}d¬åÓý?üpÅŠõõõ{öìÑþQ=øûûïÛ·¸¯¤¤$ @õÙÒÒÒaßÅgdd,_¾ü‰'žP*•ä§È4Ïç§§§oܸQ¯oOD"QKKKPPñPuqB>Œ‹‹ËËËû¿ÿû?ÈËË›={¶å&êKßWGöNíØ"û >Í ¶¶–Åb«jš2Ú§€züÖ3õ2˜R©|ðàU­¹»»ßw=xð€ªL G$KôôôPõ•/™q!•Jº(i“ÍfêK$™LFI›ÎÎÎúûû©Jóc2™ÄW‹r¹¼¯¯OÉUÊÒeýo÷«fï°þ‚ƒD:¶éääD|X>88ØÓÓCIœ4ø¶ß1OQ‡C|Ÿ#‹ûûû)i“X$w¿¨¨hñâÅ:VÖ>tßtS!Ê)•J‘H×UÝ#¹¹¹k©žžª’˜]]]‰µToo¯\.§¤MgåÃÄ©T*Q³Œ¦ÓéÄZJ&“Q5¤\.—\îSÕ&›Í&–ûƒ¢WDðÑÐõ¸p` èÕs—M&“I,÷ UqÒétr¹ï€§(“É$–û‰„¼ÐËHä)J åd¦'-]%“ŠýÆ?MI¶%%%%:::66V¯WmÛ¶Íßß?11ÑDQYª/j6¶!dÓ„ßÖ±ØlÛ•Ãqe±ØÌ‘’°åò~©D"÷J%â/ËÊW,[8¬ÂþÏPN÷óó…BÑÚÚJU³~~~ÄU›­­­T­¥|}}‰/„ÛÛÛ)[îW:÷¿Ôœ‰ñOÔ,÷=<<ˆóîîn —ûžžžÐÛÛ{ÿþ}JÚd³Ù^^^òßËïm¾'Ï~€,€­î¦Ïd2}}}@.—···S§ƒŸ¢£G&þ*ëìì¤j¹Oœ¢µg*¥ññŠ2kÉÝ7?…BQ^^~ëÖ­èèh}_«šLojæì‹*ÆŒ-B!„¨Áƒ® ]í'Ú]ëã³’}.÷uÙó{êÔ©EEE›7o6` ­#GŽÞ™š9û¢Š1c‹ìƒ÷ݧ„­Çrt4€$^’ö¼ÕƒwÎBÖ’»O-]ònõÚ|éÇYjß}ªØzü!‡ð À P‚hr{7[¼^ŒŸè;,û\î#„B9Àf€w~]ß±jX£6øa@Ü‹7õs\¸ÜG!„²q4€D¶÷Žsº³÷9ojv E6Ê>S«1ï!˲õ9hëñ#„K À7Ÿ ­õû¶‚S¹“…CÖá×O÷w®L²`”ÛYõ•¥C@È¡Ùú´õø‘¥LãÿÉÒ! G¢–½_¬º—m©°uùu¹ïíæjÁ8B!„®FÊÞu-²N¿.÷Ý^Ø\lë˜ò;/KGã²õ9hëñ#„ìÜÐÞ;wç,d÷~]î+íh¹üøcöôv²9¶>m=~„ÝÒž½ƒÐHT—û !„²´aÿ×VU‡:`ö2œ}&ó „BÙÌÞAF°ÏdžË·;ƒmé(r\¶>m=~„ýÀìd4kYî;s\#^[ê7)x@.û©¦ªñÄo¶Àc¹òâÿ÷}WÏ}^J”¸yû„¿ºÈÛÿ)¸{ãßõÿ.º{‡¬?Ù×Ó oÇÃçw3W¬=øÁ_4 @ûcüü§Ÿ›JåOuÕ£”•Ó¼¹s?q RY[ýa4¼!mÌ3U‘'*A.•”¤­ÒRZÏmMñ›sê!„fï ŠXK2OøüÅò~Ù?6­€°„…žö³ †|vÊÿ̹ZSõÇYóÉ g,Y}óÊ…ª¢O`ò ÿ3cɪ¯þo“™cö}:°íê2$õ Ÿ‰˜1&àéCÛÒàEþ;O…=­þŒåÆôŸ¾³ø»¨þˆµÔfÄ—#dmˆ•ð‡¨Žû(âŒÕTÛæœz!‡†Ù;ˆ:¿ÞUWiQO7úLÚ×+íë­?XòTØtò)÷1¾¿›8ùÊ¿Nªé1Æ÷b噸O&îkÆW{û~'ÏKßöfvÑk›?þ}x¤R©ŒûsÆ“ÿJVpõðLܲ“Ébówx&â…ï}ôfö§óÒ·yò©§žöêÆ¿¾™]4ç?åëG¾äwO¶þô½– ŸzvÚwGËúº»úº»¾;ZöTèó†•ÓiØø‘õµ¿ÜÔc‹Áht§IÓ_úþ_'u,×ý_?‹L=ds,ð›Ù%W \TYë Žk}d kIæ¡Ñhä?”J¥Òóq?2žÐ9‰Âc‡úûUƒ¼ù}cÐÌW¾¯>“£bo}Q5þïïÜÿƒ§jû‘‹VžûǾ›ß7²yîÿýòÜŸjÿÕx²"<á&añÂÿúŸ9ßÿë”LÜ¿{:ðXÎVi_Ï¢bcÞN½uõò?wm'N{ý͊ߺcLÀï¿ÙŸG¼|Ä =|×ÑÒL<ì¸yc”ïïˆc}ËéK•j‰.õµ¼Ü¤c‹ì€ú4›§žhÿ÷ÕÞ®û:–ÃHçöˆñ[jê!¤ö„tBƒ¾ø¾ëÀ˜¡ÌÞAT°–dž›?\zvnbÃáÏ tnÃÅ…ˆÇï™?¸¸rþ®ŽØ(” ²öàßg¯{/$nôÜ¿WñÑûªñO3jØÛ÷³ÝÜ]y¢û÷ªK àæ—ÿøŠÔ?$ìúù:wo¿‰“Ï•>üÎýÌç{¥}½pù›Sgͯù¢ˆ|7¨3Æ? ûÎm©¸OKL–L*!~—Ë$b¦ ‹xJßrcúR¥Z¢K}-/7éØ"; >̓F£ÍŒ;U5¬wMåõBõø-8õBŽ@1Qqw×]i˜ôácÌÞAÔQ]î[0 8óžIü7¶åÊ%’ïÏž–ööñ„%,¬ùb¿b(82È‹VþÜpîRÕ? xæË3¯<ºk»–öOíÙòòœ¸„~‰¸¶¬ä?W.€ðDEØÜ×ÿý]CH\Bcå±~Y?QYÜûpn%ªét'"†ß=3ùÖÕ+Úƒ”ˤNά~©œYì~™”xJßrcúR¥Z¢©þª¼¢ÂîÕohy¹IÇ!ƒMøïЮ_nw¶ßÖ±œ Ë‰gꩇr\<€Í ~GŒ{ï ±–O÷Å=¢dÇŸ‹l½öÏèÇŸ˜³n#YmU^ÉßV-ß OûÛGƒr8â«·² µÇç?MÇó>m\`ð ‹ÞjN@ÓeáÔY¯†Î^àã?¡ê@>Ù°¦F|è÷Ìê®=Èû·[ëßzíxì‰ñ÷o·õõ-7¦/MoDS}¢µiaÊÇ!ƒýW̬³ÿد~"i*'èrâ™zê!„‘ÚÞ;ŒÛ ÖzVï~üHQÉZ–û/.Z!8vPÚÛ;60hjܼЙD<¹o'‘uÖäN>¼ßÞöß1³.V€ÿš×ùÛ_™?Ýí~ÆÛCµý˜åkÎ?ü ã%îô°²RyþÄW±Ë×Tý}\.'+?rIêÂq5Æ÷vÓÏÚƒü©¡&4~~gA„ÆÏÿ±®š¨¯W¹‘}iz#ºÔ×òrÕÞ©[í1 [¡>Í`ü¦Èe²¶ëÃ?ÓTNR?ñÔã·àÔCÙ'µ½wÜöº¹åº‰ïŠ-²KֲܿÝtmAÚ‡.Îí¦Ÿæ}ÜyGÓwîƒ<ùé'Q‰oþwÌ,hoú÷ɽŸ¨Æÿ{/÷ao§éâw/¿ý®»×˜®;í§Š~­¬ì¾{çǺ³ªõ¹$ýÝÓ“Ú®_Ðäå³§yy-|o\©9ýý¹ »z•Ùü¹à â`Mþç°se¢öúÃŒørÕÞ©Ûc@6G}šAHììïNUïWS¹–sû‘ñ›aê!„ìÖHwÎâ¤q<:Íý) r´œÌô¤¥«dRqÙ¶÷,ŒÄ'ÿåÚùºkßÖêõªßX~¿½­±ê„‰¢²T_Ô2llBȦM_þ‹Íf±]9W‹ÍtvV¯#—÷K%±¸W*—,ëÍáY”Oø?CaHt:ÝÏÏ”JeWWUÍŽ5ŠF£@WWUµº»»;99Àƒ)iS^.—Í”À¨)£äMòGÖׇÃa±X ‹¥Ré#ëÿŠód[eJŸ‡#F»EsÉpa|Åpqqquu™LÖ××GIœL&“Çã€\.ïé顤M'''www|ðà%mÒh´Q£F£ž¢®®®...Ð××'“É(i“8EkÏTJ%âãeÖr©®ùÑh´ÉÓ^ððóÓ·uúžã&]8}Ò<#fξ¨bÌØ"„2æéIý¹ÄBZÄ‚’ôâ€Ífóì"÷Þ¡Éi¼Bž[®]L•‹‹‹ ±ø£“ɤüGïääDy›ŽyŠ’\]]‰?ù(g-É<Ôúwǃ§¼ñcøKá?Üë8Z3¨PèÛþžô5††¦7söEcÆÙ]æ 5³õøBVEáªxð7{Èe«†5jÓ(f3Ó¢q!GaŸËý€ÇÜùvþÊ_`ž`Ž-ÒeZ3[¡)•Jª²DÀÕÕ•È”èëë£*S‚ÃáÐét‹Å Š>0"c“ÉdÒ^}o4svvvvv€þþþþþ~mUiПÐ/þ@¬óðíÐ[éœç#Î2Éà×Ì &“I|¨/—Ë©Êè`0DÒÑÀÀ€~IGšÑétâ …B!SsU1F#>ÕvÌS”Åb1 J¥š®ÕÔyŠìs¹B¡a”Jåýû#ÜXÚ0‡LŒ¦jÝãââB¬¥B!„ÎhÐÿjûÖöAïÁ‡%¸÷²nö™Ìƒy·Y–­ÏA[Ùâ6@Èf|âBñõ>fï [`å~ÈÕººº·ß~;<<<**jÆ ä=Õ4•‡üÖ°.Ì“wÛÔÔO>ìîî~ùå—UƒQ*•»víš1cFTTTnn.yg}Ëé 4 ¸1 £iðK例D¢´´´ˆˆˆ_|±  €,¯­­}ë­·ˆCÒÓÓïÞ½«½œ )~k˜z!Ëà| pñ×}6Y5,îs\HÇ}6‘µ³Àr_( …Âa…%%%‹-ªªª:tè—ËÍÈÈÐ^N¶3bkæ!ÂÃÃɇùùùóçÏW­pøðá .”•••–– …ÂŠŠ ÃÊé 4 ¸1 cÁ‘GH]ff&‹Å:qâDyyy[[Û‘#Gˆòââ⤤¤ÊÊÊãÇO˜0!--M{¹vÖ0õB榶÷½•þتǼßð¦ÿÛ>³$±–Ó4///""‚Ãáxzz®]»öÒ¥KÚËõU[[»`Á‚ÐÐÐW^y嫯¾€åË—Ÿ:uЬpçΘ˜˜ÞÞÞƒÆÇLJ……-X°àâÅ‹G;wnhhhRRÒõë×É—‚ÐÐPâøÆõõõ .TíôرcÉÉÉ^^^^^^ÉÉÉäúCßrcúÒÄ€ôeŠ1GH“sçέ[·ÎÍÍÍÍÍ-55•\.DEEñx<‡óÆoüôÓOÚ˵°•©‡¢R ¨ï½Ã ãqþɱp`éÌZ–ûª&OžüÈò¨¨¨ÐÐÐyóæíÛ·O¡P¨ÖTϻݴiÓÊ•+kjjöîÝ{åÊàóù………ä ¹\.‚ÂÂÂêêêØØØ5kÖœ;w.??ÿÌ™33gÎܲe Q_.—766N:•x˜““³jÕ*gggÕN›šš&MšDOœ8±¹¹Ù°rcúÒDß @ù˜#bþÜ÷aÙ/MMMÃ*H$’/¾øâÙgŸÕ¥|Äømeê?…cý IDAT!„¨¡–½_¤­¯¸@¶Äê–û×®]ËÊÊZ¿~½ör¡Pø¯ý«¾¾þ¯ýkCCCvv¶jeõ¼[—{÷îuuuùøølܸÂÃÃ9Nee%ܼy³¾¾þõ×_'*oذa̘1,+))I,gddüñG¢ÎåË—ýýýy<‚®®®˜˜˜aJ$6›Ms8œ¾¾>ÃÊéK}c0åcŽlˆùs÷#""rrrD"‘H$ÊÎ΋Ūφ„„L›6í³Ï>KMMÕ¥\=~šz!cá³}±®å¾P(LIIÉÌÌ7nœ.åt:ý©§žÚ¶mÛÑ£Gµ·¼cÇŽ†††ÄÄÄøøø³gÏ…Ë–-Û³gB¡(((X¼x1‹Å"ÊÝÝ݉¢DõáààÃ]·AXXqœ•••’’¢¾»›Í–H$ıX,vuu5¬Ü˜¾4Ñ7.Ì¥|ÌÒ"==]$ÅÆÆ&$$<þøãªÏ …³gϾöÚkï¿ÿ¾.åê,5õBæ6Rölš-÷+++ׯ_¿cÇŽÀÀ@]ÊI4mX2ºÀÀÀìì쪪ª´´429$22’Édæææ^¾|9!!A¯hÈdúëׯóù|r5L®‰ÈO¦¯^½úä“OVnL_šèƒWES>æiáááñÑGÕÕÕ}ýõ×ÞÞÞdòÉÕÕuÑ¢E?üðƒŽåÃXjê!„ÌGsölšµ,÷KJJvîܹ{÷n2{U{yFFFSSÓàà`kkëûï¿?sæLÕgÕón322š››”J%ùi1FãóùÅÅÅ|>ŸÉdê­H$jii "Û#ˆ\ÇÅÅåååutttttäåå‘;iêUnd_šè›îÈeµcŽl‹ùs÷?üðÃ_~ùE&“UWWïÙ³gÅŠDù¦M›nܸ188ØÙÙ™——G^ÿ£©\SüÖ?õB†Ãìd×,pW]r9H¿5‰äûW_}•¬VSSÃáp4•¿ð ëׯonn=zôK/½”œœ¬Ú…zÞmdddjjjkkëøñãU/ý¤ÓécÇŽ5k–^oáüùóS¦La01z mmmĶ} ³gÏ6 ÜȾ@À뛺›UEí˜#ÛbþÜý   %K–ôôôgee‘‰Ó§OOOOonnvwwî¹ç¶oß®½\ßøÍ?õB øDåý~€,€­ø‰>²´œÌô¤¥«dR±ßø§-Œ¤¤¤DGGÇÆÆêõªmÛ¶ùûû'&&š(*Kõe†9BÙá·u,6›Åvåp\Y,6ó·[9äò~©D"÷J%â²C_-_š4¬ÂþÏPN÷óó…BÑÚÚJU³~~~t:Z[[™R«#___â‹ßööv¹\NI›Î•Îý/õg"GüÓo.âÀf€wT>üü`Í£?Ñ÷ððpss€îîn‘HDIœ\.×ÓÓz{{ɛЉÍf{yy€D"éèè ¤M&“éëë r¹¼½½’6ü=z4q½Vgg'Uû4§hí™J©D|¼¢ÌZ’yÌO¡P”——ߺu+::Zßת&Ó›š9û25cÆ!„¢ fï GbŸË}]ò†§NZTT´yófâ/?½9rÄlÒ™³/S3fÌ‘m1î>µl=~„6¸÷r0ÈÝ7]ònõÚdQÇÜq˜?wŸZ¶?Bhd†fï dÓìs¹B!¤jà•HúDn¬ÃOô‘CÀå>B!ä(È›RÈÅÅE©TRÒy';'''JÚTÀÃk4ûwô?,êÆ.㯠è0h<Èíò UCJnNíääDU›ÎCWŠÓétªÚ$ß;F£ªMÕ;:à)J¶Ãd2)ÿ1=|HI£Ö¦´´¿‹GÈ‚l}ÚzüˆN§{{{SÞ,±÷ µˆ=j(Ñáô›iX5¬Q›F1›™ÀàÛ8—Ëår¹Æ¶ò[l6›ÍfSÛ¦‹‹ å?zƒAy›ŽyŠ’ÜÜ܈Ÿ(gŸË}ü=eÙú´õøB$î~.óßLÑ ãÃãÎ?^ã#dkìs¹B¡a”J¥L&£ª5"±A&“Q•)aŠ6¿qfŸa;_qfœb(D )Ho“Á`ÉÆ7NNND>Ïàà UºÓét"ŸG¡Pô÷÷?²¾.h4š‹‹ Pz:™¢M°S”ÉdùB!„Bp¹B!„³Ïå~ii©¥C@È¡Ùú´õøB!’–û!CT •Jå®]»f̘•››;ìbçîîî—_~yØK~þùçäääiӦůÆVTT¨>ež¼Û¦¦¦øøx-AjzSú–Óè?à#ÖW§c5ä˜ÌŸûÞÒÒ²zõꈈˆˆˆˆÕ«W·´´åuuuo¿ývxxxTTÔ† È àD"QZZZDDÄ‹/¾XPP0¬5Mñ[ÃÔC!„ôbå¾P( …à >|áÂ…²²²ÒÒR¡P8lùžŸŸ?þ|Õ’–––wß}7!!áôéÓû÷ï¿xñ¢ÉãV#ÂÃÃɇêAjzSú–Óè?à#ÖW§c5„Ì#===88øäÉ“'Ožœ>>,,lÁ‚/^ŸÿŸÿü‡(ÏËË‹ˆˆàp8žžžk×®½téQ~îܹuëÖ·0LMMöƒ¦.lbê!„Bª¬e¹ßÔÔ4iÒ$âxâĉÍÍÍäS999«V­"îAúöÛo;;;cbb"""ÒÒÒ†íz«žw»iÓ¦•+WÖÔÔìÝ»÷Ê•+Àçó É}X ‰[a ‚ÂÂÂêêêØØØ5kÖœ;w.??ÿÌ™33gÎܲe Q_.—766N:UKšÞ”¾åÆô¥‰¾õ @ù˜#bþÜ÷éÓ§8p ···§§gß¾}Ï?ÿ¼z†††É“'ÇÃ2›ššTŽ¿­L=„BH•µ,÷% ›Í&Ž9y—@ÐÕÕ3¬~www[[[YYÙ‰'X,Vff¦ê³êy·...÷îÝëêêòññÙ¸q#„‡‡s8œÊÊJ¸yóf}}ý믿NTÞ°aØ1cX,VRR’X,ÎÈÈ þøãDË—/ûûûóx<-AjzSú–Ó—&úÖ7åcŽlˆùs÷×­[WQQ9cÆŒ£G¦¦¦«píÚµ¬¬¬õë×#""rrrD"‘H$ÊÎ΋Ū•Õã·¡©‡B©²–å>›Í–H$ıX,&î.YYY)))ê7d³ÙþóŸ‰/â×­[wîÜ9ííïØ±£¡¡!111>>þìÙ³Dá²eËöìÙ£P( /^Ìb±ˆrwwwâ€(Q}HÞÜX „……=2Èß”¾åÆô¥‰¾õ ¸ˆò1GH‹Í›7ÇÅÅUWWWWWÇÅÅ Kð …)))™™™ãÆ#JÒÓÓE"QlllBBÂã?îá᡽}KM=„BÈHÖ²Ü ?Ľzõê“O>I_¿~Ïç“ Mr¹ùÔSOéÕ~```vvvUUUZZ™Éd2sss/_¾œ Wƒ d2½¦ 5½)}ËéK}ë ‡h¯¦Šò1GH‹ÆÆF>ŸOæî766’OUVV®_¿~ÇŽd¡‡‡ÇG}TWW÷õ×_{{{“ÉršXjê!„BF²–å~\\\^^^GGGGGG^^¹é¤Pñ('¿ˆÿøã§OŸ®ÚšzÞmFFFssóÀÀ€R©$?-¦Ñh|>¿¸¸˜Ïç3™LÝ£‰D---AAAÚƒÔô¦ô*7²/Mô­¯;rDí˜#ÛbþÜ}ÿ}ûöõôôôôô|úé§DyIIÉÎ;wïÞMfÌ>üðÃ_~ùE&“UWW—þ«>«¿õO=„BhD ówI.‰â·fBBB[[±Ã]BBÂìÙ³µ72{öìööö¹sçJ¥ÒiÓ¦‘ù¸õ¼ÛÈÈÈÔÔÔÖÖÖñãÇ«^úI§ÓÇŽ;kÖ,½ÞÂùóç§L™Â`—û˜w‹eÙú´õøB!’}.÷1ï!˲õ9hëñ#„B$û\î#„B!„À^—ûøE>>”·éííMy›Ô¶éæææææFm›‡ÃáPÛ&‹Å¢üGÏ`0(oOQÊOQ‚}&ó „B!„À^?Ý/--Åïâ² [Ÿƒ¶?Bš PÕ™u@a›NNNDbÃàà U™¦h“N§É …‚ª,S´I£ÑˆÜ¥R988hµm‚iN'Ÿ\P’ËJMå}ôQ]]Ý×_íííM&ºh˜]UU•––F&‡DFF2™ÌÜÜÜË—/'$$èpCC™L¯)È€€ò“é«W¯>ù䓆•Ó—&ZêWVV®_¿~ÇŽd¡pˆnÃ`‚1GH ª¦†©Û×wê!„L‹P úO;g€·ªáÁ7›o¶^ní;Þ+†§!ñˆØPТs/¿í î ܨm}!¤™µ,÷…*@eß:Må~øá/¿ü"“ɪ««÷ìÙ³bÅ ÕÖÔón322š››T·‰¥Ñh|>¿¸¸˜ÏçÛ*éH$µ´´i2...//¯£££££#///>>Þ€r#ûÒDSý’’’;wîÞ½›L/Ö¹ ¢vÌ‘m1î>USƒ ¿õO=„!øaºÕ Ø  J%8Â]18mò¾;ÒKnø`ކ :ô£œFD‚¶¾Ò̺öÝ×]PPÐ’%Kzzz‚ƒƒ³²²†}ñ­žw™ššÚÚÚ:~üxÕK?étúرcgÍš¥WïçÏŸŸ2e yûMÚÚÚˆmûfÏžm@¹‘}Êú›8 –)šêgggÀ«¯¾J¾¼¦¦fÄ»yج*jÇÙë¹G•¾Sƒ {üæŸz!ʌخ[Mw€¯&hxv2À×è¡ (¥›Òl}!AËÉLOZºJ&ûÚÒÁX@JJJtttll¬^¯Ú¶m›¿¿bb¢‰¢²T_æaؘ#„M~[Çb³YlWÇ•Åb3Õ¶›¹¼_*‘ˆÅ½R‰øPù‘e‹_Vá ÿg( IõF­­­T5KÞèµµ•ò{µ··S~£ÎÎÎáÇïx   €¼ÆðËs†ìX €àö¥›{û ï`ç¼NÙ;²‡©Ù)¿}Õm¡ÊmÚz!o³uwÃ]é[R²/(hðx à/ ±¯‘·Ù’H$”ßfK.—›â6[xŠRÒ&q›­Ú3•R‰øxE™µ$ó˜ŸB¡(//¿uëVtt´¾¯UM¦75söejÆŒ9BÙ%õë¿‘™< ÀüåQ5=È”á5ÿè7è´~£…áòžËÃ?àm€aû†<0 `3ÀQÝî«ðPHKUû‚&@Àÿm}!¤™}.÷uÉž:ujQQÑæÍ›‰¿üôräȃ/ø³æ¾L͘1G¶Å"ûîSÈÖãG= €ð@Ë£*Ïp€v«=»à`ÌV{VO’h‰ÙúBŽÃVs÷µÓ%ïV¯Mf%ṗõäîÆÖãG=ÂÛ!mºåîÏ:ø|¤}u”_lªyÀ¨¸¤aC훾/ä8ðCV„B9¯¡s€.™Ò:8§¡Yþ t&z(Üô}!ÇË}„B9’ÿÐð¹nõŸ:hÒPáºZMC ø˜­/ä8ìs¹y·Y–­ÏA[!¤QÀ%À;:ßñм(¶KC…nµš†RºÅdú¾ã°Ïå>æÝ"dY¶>m=~„ÐÈœþ@(8¯ó«È{BJ5T ˾孒1´Ü7}_ÈqØçr!„Bh¸?ô¤ëó*rwu–† dy¿q‘hC³š¾/ä8ìs¹_Ä#dY¶>m=~„:å%|Ûôº=™?3JC2¯¦[CÑ -÷Mßrö¹ÜÇ/â²,[Ÿƒ¶?BH]ÿ¶~p¸¥ç+ÉÛ¼h¨0aèà–!©bÜÚ!Ýô}!ÇaŸË}„B!U¯ øH”¿ý¤^W†¦ihš,ÿÞØ ™? ](`ú¾ãÀå>B!„fÕCI4µgi‰j5 ÅjÊÍ7}_ÈqØçrón²,[Ÿƒ¶?BˆJ2X¥öì*€@TÛ»’m¶¾ã°åþÏ?ÿœœœ>ž|ØÝÝýòË/‡„„%J¥r×®]3fÌˆŠŠÊÍÍU*•†•Ó„ Q ^S}í«jÄf"XUîûˆÿ†ÔÕÕ½ýöÛÄ©¾aÆû÷﫾DSüÖ0õB†qåº Fþ¤^÷ö çl…¿Bé¬7 {_¹COåSpù,½›Î*ú€?`;@€ @Àv ¶/ä8¬}¹ßÒÒòî»ï&$$œ>}zÿþý/^$Ê‹‹‹“’’*++?>a„´´4óÇ&ÂÃÃɇùùùóçÏW­pøðá .”•••–– …Br¡o¹1}€P( …Â×T_÷±Y„¬¦CJJJ-ZTUUuèÐ!.—›‘‘¡KkÖ0õB°qè6·t€4]Ýú÷­ÛgoËÖÊ®¤~xOíU¼B@ý:ö6¶j_p@ p ´õ…fŒGW±¨={ö¬X±â…^Ÿ÷Þ{x‚uÞxã½{÷jo§¶¶vçÎ---^^^Ë—/Ÿ3gÎòåËçÏŸCT¸sçÎ’%K:™žž^\\|÷îݱcÇfddܺu«¨¨èöíÛ|ðÁ„ ¯Š³gÏ&ŽoܸQ___VVöÉ'Ÿ;v,99ÙËË ’““wïÞ=gÎÊéKMõõX-L1æéKÓ¿!yyyćÃY»vmTTÔ#›²•©‡&t:}ìØ±”7ëççGy›¾¾¾”·9zôèÑ£GøÔM¸IhŸÅEò§åêO1bz½éÅŶ{&Ù¬vÃ:å)xìÅl}ûÒŽÍfSþ£g2™”·‰§¨¦SÔHÖþéþ·ß~ÛÙÙ‘––&‰†UH$_|ñųÏ>«Z¨žw»iÓ¦•+WÖÔÔìÝ»÷Ê•+Àçó  Q¡°°011‘Ëå€@ (,,¬®®Ž]³f͹sçòóóÏœ93sæÌ-[¶õåryccãÔ©S‰‡999«V­rvþÍ=îššš&MšDOœ8±¹¹Ù°rcúÒä‘õGX½P>æÈ†XOîû#ÿ €†††É“'«–Œ¿­L=„†Q*•ÝÝÝR©¦Û´"0Z>q>ž<]\è":(€.¢»4¸x®÷ôyŇq›ÊÏOÍÙrÖ~Ætww·µµ•••ÀÇœ™™™™™I>K$Åzzz©¾J=ïöÿ·wïñQùÞø¿Õ3I&.‚ä¨YV%b`APDÈ9H"‰«¢Ù£ËÃz\.{x^« Ë (Ï"ˆG\ÖçÙ׊‚€,а¢ $`DàˆâB!"rÏtýþ¨™NOß{f’¹ðy£0Ó]]USÓ—oÕÔô¤¥¥>}úìÙ³]ºtyüñljhðàÁ›7oÎËËûî»ïvîÜù»ßýN$~ì±Ç:tè@D………úÓŸŠ‹‹•§Ë–-iöíÛ—Ý®];"*--={ö¬2h­¨««KOO322jjjÂ[IYf¬Ó›5¬+QosH ñ3wßúBD\¸pá’%KÔ õõO C@ƒs^UU%I’ÏgöK­º«º9QfM,ë/YYÉŠn¶Q) ÀB¼‡ûééé>úhûöí‰hæÌ™cÆŒQ¯-++«©©ùë_ÿúôÓO[ö½`Á‚W_}uùòåYYY³fÍ6l=øàƒ/½ôÒ¨Q£–/_~ß}÷)çAh‘X¢~ê÷ûÅãÒÒÒAƒ‰Ç .œ3gcÚ;f¥§§×ÕÕeffQmm­xÆòHÊ2c^ß3”o IDAT°Ê× Ï×z›„ÁöòÄOüáèÖ­›u>±:ô¢¥²²²²ßî¸Åûdžž={Z'ÈÌ̼÷Þ{¿üòKëd}úôY´hÑÖ­[gÏž­L>|xJJÊ’%KöíÛWPPàªb%%%¹¹¹âñ¡C‡ŠŠŠ”[p(‘q=8 õÕWW_}uxË#)ËŒmzMÖ9h›€¨·9@,Î!›7ož;wî‚ úôéc›O¬=H<º>¡ER"Ò÷!¢+ÞÃýüüüÅ‹WUUUUU½ð b„˜ˆžxâ‰#GŽøýþ3gÎ,]ºÔvÞmqqqyyyss3ç\-fŒ­Zµª¨¨(%%…«ªª:zôhß¾}ÅÓ2R3féÒ¥§N:uêÔÒ¥K•;iºZaYfÌÒ[7¬JÝ6‡Ä?s÷ÍÎ!o¼ñÆ‹/¾øòË/+3éÕôõÿCÀP¼Oæ7n܉'Æ___?tèйsçŠåÆ ›3gNyyy‡~ñ‹_<÷Üsê­ôón‡>kÖ¬ãÇwïÞ]ýÕOñð±cǺªÕîÝ»ûõëçõÚ´^AAAEE…¸m_AArkWË#,‹Tñ·x ³ôÖ «f˜­ZtÛKüÌÝ7;‡,Z´ˆˆîºë.%åöíÛ322ÄcçõoûCÀ¶xþœÂ)Sêk¯è~M¬+3fÌ5jT^^ž«­æÍ›—=yòdû¤k˲ÚFxmÊvïôù|¾ôÌŒŒLŸ/=%ôVNBSSc}]]mmM}]ÍÚuïNù¥¶{yeöµmRYHfÇŽ|]_W»qÝêxŸÌÓzdY^»ví±cÇFåv[õdúÖÖ–eµ¶HÚœᾓyÃ|íµ×žzê)IrÝëׯ·ýB^´´eY­-’6‡Ä?s÷ÓèõPÄûÜýð8™wëê&3hó GüÌÝO¢×@AV€¤…p i%g¸y·±•èÇ`¢×@‘œá>æÝÄV¢ƒ‰^Er†û@Éîãƒx€ØJôc0Ñë HÎpÄÄV¢ƒ‰^Er†û@÷’Xr†û˜w [‰~ &zýÞXW àèÑ£Ï?ÿüÞ½{‰(''göìÙݺu«¾ùæ›_|qïÞ½YYYS§N7n 0@½yYY™úiÛÌ»=|øðôéÓׯ_/žVVVž_—.]ž|òÉðòÿä“O&Mš”››{Çw¼óÎ;Dô«_ýêý÷ßWüðãG>þü€Þzë­üüüAƒMš4é‹/¾Ø°aÃøñãsss :¤lRZZš››«ÔçÎ÷ÜsºÐwß}wÚ´i—\rÉ%—\2mÚ4elÞíòHÊ2c‘Þ0ÿ0´F›ØjjjúÛßþVXXõœåÐP‹—pذaþóŸÏŸ?_]]½råÊ›o¾Y,ßµk×™3gF=dÈÙ³gWUU)›Üzë­¹¹¹&LX¹r¥,ËêÜôónŸx≇~xûöí¯¾úêþýû‰¨¨¨hÅŠʆ+V¬˜üðÃ;w>ÿüó%%%‹-R禟w›––vúôé³gÏvéÒåñÇ'¢ÁƒgddlÞ¼™ˆ¾ûî»;wÞ}÷Ý"ñc=vÙe—ù|¾ÂÂÂÚÚÚââbåéDš}ûöegg·k׎ˆJKKÏž=;zôhM¡uuuéééâqFFFMMMxË#)ËŒYz³üÃõ6‡«ûÖ˲¼jÕªûî»Ï6¥ÛsHzjñî?õÔScƌٶmÛ¶mÛÆŒ£LÚIOOôÑGÛ·oß¾}û™3gîØ±C½•$I={öœ7oÞ† ¬ó_°`AIIÉäÉ“óóó•/ð=øàƒ¯¼òŠ,ËË—/¿ï¾û|>ŸXÞ¡Cñ@,Q?õûýâqiié AƒÄã… Θ1Cý};¥òuuuâqmmmfffxË#)ËŒYz³üYg«õ6°µeË–nݺegg;Lïü«C BñîïÙ³§¨¨H™»¿gϱ¼gÏž¶Û2Æ4ÄëõéÓgÑ¢E[·n={¶29døðá)))K–,Ù·o_AA« —””(“é:TTT¤DÃJLÜ£Gedú«¯¾ºúê«Ã[IYfÌÒ›åÆ·¢£Þæ¶^ýõ)S¦¸ÝÊÉ9$V‡@„â%ÜÏÎÎ^¹reuuuuuõÿ÷÷èÑC,ÏÏÏ_¼xqUUUUUÕ /¼0lØ0±¼¸¸øðáÃ~¿ÿøñãO?ýôÈ‘#Õ¹éçÝ———777sΕÑbÆXQQѪU«ŠŠŠRRRœ×¶ªªêèÑ£}ûöO5÷÷Pbâ1cÆ,]ºôÔ©S§NZºti~~~Ë#,ËŒYz³üS”è¶9$–˜ÌÝÿä“O|>_NNŽ“ÄnÏ!ñ芗ûî?ûì³Ï=÷ÜŸÿüg"êÛ·ï³Ï>+–7îĉãǯ¯¯:tèܹsÅò#FÌ;·¼¼¼sçηß~û´iÓÔ¹éçÝ>|Ö¬YÇïÞ½»ú«Ÿ’$]uÕUcÇŽuUÛÝ»w÷ë×Ïëµi½‚‚‚ŠŠ q[½‚‚ñ‹n—GX©âoñ@„é2ÌV-ºm‰%&s÷_{í5ÃYû†ûªÛsˆ™¶?ô\a‹çÏ)œ2µ¡¾öŠî×ĺ210cÆŒQ£Fååå¹ÚjÞ¼yÙÙÙ“'On¥ZŪ¬¶^›$„²Ý;}>Ÿ/=3##ÓçKO1ºÕRSSc}]]mmM}]ÍÚuïNù¥¶{yeöµmRYHfÇŽ|]_W»qÝêx™ÌÓödY^»ví±cÇFåv[õdúÖÖ–eµ¶HÚœᾓyÃ|íµ×žzê)IrÝëׯ·ýB^´´eY­-’6‡ÄÃûîGE¢×@/s÷£Ëɼ[|®í¡Í/±ºï~´$zýdHZ÷’Vr†û˜w [‰~ &zýÉîcÞ-@l%ú1˜èõP$g¸”¬á>>ˆˆ­D?½þŠä ÷ñA<@l%ú1˜èõP$g¸„p ‰%g¸y·±•èÇ`¢×@ámû"  ”••) ?ýôÓU«VíÝ»×çó 2dÆŒ:u"¢ªªªgŸ}vÇŽ>ŸoÒ¤I?ü°&!33óã?Vž¶Í¼ÛÇOŸ>}ýúõâieeeaaáÉ“'•×Å9_²dÉš5kc&LøÍo~à cy$e‘Iƒ›¥×4¬z Ãl„¶Ÿûƹâ›o¾yñÅ÷îÝ›••5uêÔqãÆ)ÉÌꇀ+1Ý/++Ó_ÉÞxã{ï½wëÖ­o¿ývVVVqq±X>þ|ŸÏ·iÓ¦µk×VTT(ñn™ÊŒ3&L˜Ð¦¯ˆˆJKK¬<]¶lÙĉÕ Ö¬Yóù矯^½úÍ7ß,++[·n]xË#)‹LÜ6½áVj¶ Ú’ÛsÅÑ£G§OŸ^PP°eË–×_ý‹/¾pRJ<z®ÄËdž¥K—2$##£S§N¿ýío÷îÝ+–ïØ±cæÌ™íÛ·oß¾ý¬Y³Ô—F¡©©éoû[aa¡uþŸ|òɤI“rssï¸ãŽwÞy‡ˆ~õ«_½ÿþûJ‚~øaôèÑçÏŸ0`À[o½•ŸŸ?hРI“&}ñÅ6l?~|nnnaaá¡C‡”MJKKsssÅã#GŽìܹóž{îQúî»ïN›6í’K.¹ä’K¦M›¦Än—GR–·éÃÐm`Æí¹â•W^y衇FŒáóùºtéòä“OÚ‘(‡€Z¼„ûj%%%×_½xÌ9W¯:|ø°&ñÆ p饗ªêçÝ>ñÄ?üðöíÛ_}õÕýû÷QQQÑŠ+dY V¬X1yò䬬,"*--]±bŶmÛòòòyä‘;v,[¶ì£>9rä3Ï<#Ò755íÙ³gàÀâéâÅ‹§Nšššª©mïÞ½Åã^½z•——‡·<’²ÌX¤¿õÖ[sss'L˜°råJ¥}Âõ6‡ÒösßÝž+víÚuæÌ™Ñ£G2döìÙUUUêĆõO”C@-îÂýƒ.\¸pîܹâé!C/^\UUUUUµhÑ¢ÚÚZubY–W­Zuß}÷i2ÑÏ»MKK;}úôÙ³g»téòøãÑàÁƒ3226oÞLDß}÷ÝÎ;ï¾ûn‘ø±Ç»ì²Ë|>_aaammmqq±òôÀ";}û²³³ÛµkGD¥¥¥gÏž=z´¦Ðºººôôtñ8##£¦¦&¼å‘”eÆ,}YYÙ‡~¸sçÎ矾¤¤dÑ¢EÖùXˆz›Ciû¹ûnÏ•••«W¯Þ´i“Ïç›?¾:½¾þ tè¨ÅW¸/&×Ο?¿[·nbÉœ9sªªªòòò ºvíÚ±cGuú-[¶tëÖ-;;Û6ç ”””Lž<9??_ù¢Þƒ>øÊ+¯È²¼|ùòûî»Ïçó‰å:tÄõS¿ß/—––4H<^¸páŒ3”ïç)ÒÓÓëêêÄãÚÚÚÌÌÌð–GR–ëô’$õìÙsÞ¼y6lKYg«õ6°àö\‘žžþ裊É?3gÎܱc‡uþ±:ô"GáþæÍ›çλ`Á‚>}ú( ;vìøÇ?þñÓO?ýàƒ.½ôReB‹ðúë¯O™2ÅIæ}úôY´hÑÖ­[gÏž­L>|xJJÊ’%KöíÛWPPશ%%%ÊdúC‡)Ѱ÷èÑC™þꫯ®¾úêð–GR–'écÊŒ‚0¾Aõ6°àö\ѳgOWùÇêЈP¼„ûo¼ñÆ‹/¾øòË/+³Z…ßÿþ÷'Ožlhhضm›øj²ê“O>ñù|999úÜôón‹‹‹ËËË›››9çÊh1c¬¨¨hÕªUEEE)))Îk[UUuôèѾ}ûЧšûi(1ñ˜1c–.]zêÔ©S§N-]º4???Œå–eÆ,}qqñáÇý~ÿñãÇŸ~úé‘#G:oA ƒ¢ÛæXÚ~î¾ÛsE~~¾2ùç…^6l˜z­¾þñèŠå}÷ÅqÕUïºë.%ÙöíÛ322úöí{ÿý÷WWWçää,\¸P™äCD¯½öš~Ö¾ Ÿw;|øðY³f?~¼{÷îê¯~J’tÕUW;ÖÕKؽ{w¿~ý¼^›Ö+((¨¨¨·í+((Pîêíjy„e‘Iƒ›¥1bÄܹsËËË;wî|ûí·O›6ͬDÃlÕ¢ÛæXÚ~î¾ÛsŸqãNœ81~üøúúú¡C‡*ߜ׿í=WØâùs §Lm¨¯½¢û5±®L ̘1cÔ¨Qyyy®¶š7o^vvöäÉ“[©V±*«m„׿ ¡l÷NŸÏçKÏÌÈÈôùÒSBoå$455Ö×ÕÕÖÖÔ×Õ¬]÷î”_j»—Wf_Û&•€dvìÈ×õuµ×­Ž—É1"JIÃè>´®ä ÷1ï ¶ýLôúC,1Føýeå ÎÏ‚i£4Œî@+»pçî@ëIôc0Ñë1ÄTÄsõºÐ‡Œ1–†Ñ}heÉ9ºÁ@_Lè1žÏÃÄ”ƈ¾ª ­-9Ã}|[‰~ &zý!†$&µŒî³Á~:ŸGHKK‹amàB€É<}‰~ &zý!†TѾÁÐ>S~|+ñ§¥"Ü€Ö•œ£û1Ác’¤ í›§aD$IRšá>´®ä݈ Iò0Î3‰‘É?1FL’$b,-Í×ö•€ JrŽîcÞ-@l%ú1˜èõ‡bŒI’$IL²˜»\.1)57â€Öƒp@zá§Ÿ~úë_ÿzðàÁ·Þzëc=öÓO?ik61K/´Í¼ÛÇççç+O+++ÿíßþM]IÎùK/½tË-·Üzë­K–,ᜇ·<’²È¤Á-ÒóÍ7Ó¦M:th^^ÞºuëÌ^¾a¶BÛÏ}¯ªªš={ö!Cn»í¶åË—+ËÍÎ!‡™×?=ˆsii¾ÔÔ´”ÔT¯×ë‘<ºk1Æ8çœsb”æó¥ù|>_z¬ª ˆ„ûeeeeeeš…o¼ñƽ÷Þ»uëÖ·ß~;++«¸¸X“^³•Eú6SZZ:xð`åé²eË&Nœ¨N°fÍšÏ?ÿ|õêÕo¾ùfYY™rýv»<’²È¤ÁÍÒ=ztúôé[¶lyýõ׿øâ ³—o˜-@¬ÌŸ?ßçómÚ´iíÚµëׯWVžC, ñpèAœ Þ†“é]+˜€cIŒH2ùF/@4-ž?çÇß;ò5o[ýû÷7[UWW7hÐ Ûd†éÍìØ±câĉ7ÝtÓ˜1cÖ®]Ë9/**zï½÷”'Nœ5jTuuuÿþýW¯^=vìØÜÜ܉'îÙ³gýúõwÞyçM7Ý4yòäþóŸÊ&ÿùŸÿ¹uëVñ¸¼¼}ªªê\mmM]]]½J]]]mmmuuÕٟΜ9}êÄ÷Ç9|ìÈךÿb@28väëø|ñü9ñ8w¿¤¤äúë¯WžÞzë­¹¹¹&LX¹r¥,˶éÉhÞíO<ñðÃoß¾ýÕW_Ý¿?­X±BÉpÅŠ“'OÎÊÊ"¢ÒÒÒ+VlÛ¶-//ï‘GÙ±cDzeË>ú裑#G>óÌ3"}SSÓž={(ž.^¼xêÔ©š_K9|øpïÞ½Åã^½z•——‡·<’²Ì˜¥ßµk×™3gF=dÈÙ³gWUUYçc!êm ¤íç¾óÐ)‡VžC¬Ãú'Ê¡±%IR`ò>“Äð½XΔßÑeŒˆ±@2$Åã…’IÜe<¸pá¹s犧eee~øáÎ;Ÿþù’’’E‹Y§ôónÓÒÒNŸ>}öìÙ.]º<þøãD4xðàŒŒŒÍ›7Ñwß}·sçλï¾[$~ì±Ç.»ì2ŸÏWXXX[[[\\¬<=pà€H³oß¾ìììvíÚQiiéÙ³gG­)´®®.==0)3##£¦¦&¼å‘”eÆ,}eeeEEÅêÕ«7mÚäóùæÏŸo…¨·9$¶Ÿ»?dÈÅ‹WUUUUU-Z´¨¶¶V,7;‡X2úú'С±õůl©¾ªK-±>‰/éJâö=÷ •Å×Y¦¬¬lÆŒóçÏïÖ­›z¹$I={öœ7oÞ† œ¤×[°`AIIÉäÉ“óóó?þøc±ðÁ|å•WdY^¾|ù}÷Ýçóî†Ö¡Cñ@,Q?õûýâqiié AƒÄã… Θ1C?ÿ2==½®®N<®­­ÍÌÌ oy$e™±¨Ã£>Ú¾}ûöíÛÏœ9sÇŽby_Ìz›X˜3gNUUU^^^AAA×®];vì¨^«?‡¸=dbuèA£ûï¨~r+$ÖWVH÷ ÕÅÑYfóæÍsçÎ]°`AŸ>} 0ÆÔ“ylÓ«õéÓgÑ¢E[·n={¶29døðá)))K–,Ù·o_AA«Ú–””äææŠÇ‡***R¢a%&îÑ£‡22ýÕW_]}õÕá-¤,3fé{öìi˜^ÿMG[Qos ;vüãÿøé§Ÿ~ðÁ—^z©2ùMM}q{ÈÄêЃ„#â}‰1öí·GOœ8ÑØØ(VqΛššNžÙ¿`“˜ä‰u• ÉÅàWu•pP<WM1¡ö®»îR’mß¾=##cĈsçÎ-//ïܹóí·ß>mÚ4±Ö,½x¬Ÿw;|øðY³f?~¼{÷îê¯~J’tÕUW;ÖÕKؽ{w¿~ý¼^›Ö+((¨¨¨·í+((7n\Ë#,‹LÜ,ý¸qãNœ81~üøúúú¡C‡j¾¡f˜­ZtÛKÛÏÝïÛ·ïý÷ß_]]““³páBe‚ŸÙ9ÄâqUÿ¶?ô Î1©å'u;tèpèÐ¡ÆÆFÎùå—_þã?~öÙg999bjøc]eHrlñü9…S¦6Ô×^ÑýšXW&f̘1jÔ¨¼¼@4‰Pži~cK’s.û›cSK¸`$ç¸BÛßóÔýLôúCÌ)a½øÎ®:âkÅ' uÕç~Š]5à‚œ£ûøŽ@l%ú1˜èõ‡x I’˜Ä¯Ñ8çM 5Õ•uµçÛ¾npA1÷eYnnnnnnnjjlnj’e™Ë~9缡¡žs.Ë~ιì—eXEœËœ“˜ºÈ9é’–ù|M0pA z”¹1†“då É%@ŒÅ‹Ay)%%µåI“‘?c,4ìÌ·÷¦¤0 ”XÁ$þW’‰K"~ˆO!çG1¨ODânÁ"æ—ãÄ9—‚÷]™8÷H9ð˜«çœÞ]ÿöþýûjjjZ²ˆ6ÆXFFFÏž?¿sBAFF†Ïç ;' FÿAzà3FD^¯7¸X½‚ÐDc’øQ\ qcMˆC-ᾘ–Câ„GL Þ×××õÕWßÿ}¯^×öèÑ#˜DæÜCœ3I"N"þoöû—/ûSSCýõ½zg¤û˜„Ah-²Ìëëë:WùòŸþOñcO¦¥¥»Î"x™ Làþ(V0šýy:c$IìÛoG3.£ IDAT8p C‡7ÜpCVVV`ÃàgÙê€8Ôî+÷ V–ÔÕÕíß¿ÿ³Ï>»è¢‹|¾tÆ$)0Ä/1FĹäñü‰NþPþÝÑ£}{õjjlø©®¶í_ ´™çiFe@H’¤ŽYíN:ýå—û‡AmZî©ù[¹Û„2¬ïóùjkk:DD ÈÌÌÛŠ¡}Ìç€8dî×ÕÕíÛ·¯¬¬ÌçóõïßÿÒK/U§äºûíìýâó‹:tHIMihhÀ|}€ä§yY–½^offÆ¡o¾‰(Ü· »íOçÎûõë×ØØ¸gÏI’ú÷ï/"~Íõâ‡ö»MÊ©êàÁƒ}ô‘×ë2dH=RRR¬3jhl%5•1‰'?‰1¿,s.Ë(_„ú\,‘9QC}½ø€ˆšššüþæ¼½cÔè_ZZZZjjª˜®#…b’‡I,Å›"y$Iòˆ¹û²¿¹®¦º®ö|ô_$@dB¾ª[[SU[Se»¼˜¥d¦QfQV+U ¦Ä‰Ÿd’eR—Ô·f©ÇŽ|ÝšÙÀ…%œ1(H8_|ö©ÙHb÷’Â}€¤…p i!ܸ ô»ñf ‰µÜ™çÌ©“DŒ'bŒ#⪂¿0NœÖRËM‹U¿TBÄ7DfüArƉ~\$$âĉ‹åœsâDÄ?ìKœnÈȉXðÎŒœ8q[qX ~‘sN,¸V$!™†ÜšÍñ}Ú,róT޲­Pè&ÜôIh![q§¯ª%î†uÜð¡f«¥æ…r‹v`!¹‡ó2ÌÛ\·}KYÜÙ^À,^»Uí4/Ê$©ã ©†Å;eñB¬Êu¸»hÚ"Œ›W:ßD}L™6…å}S™Å³Ð5Žв¤ÐÝÖª\Ó6´¼±§Å9A_Óçno3k°ß†w×MÛ‚£”-wùÍß6»ŒÔ[ZÞ¾×2WÓ·UÓn_—>G«3°6o‹«Œ*‘¶Š®¢po¯ÞYÈô}°¬„ù‹Rç =Ó˜gi²F÷þ:|³BŸ˜nzB²¸Þšoåtdê]NS ‹k“iîæûHè óË7o1Óúh_ºÅVæñ7o Smî,þt‘ˆ_|IñÈ«NÄ($‹(\<Ï1Î8SBu%ˆ›0G5c=¸ŠsâŒ3ÎZâoh ™8É¢üŸqΕ³C0ò'ÆÔÁ½¨\0GÑ{àĉ1í«š_óþ;Œþ-HÍU}Úvt‡VHwX´\ìõÇ…ò‹eÚE}©vr"¶NKYêbCë÷¦ÊÁ î†Çs å¹ÑG´ã¤o2ý‹1l¦YÃTÓž—L»ºÒT4;ijmvësoY¥Ùs´×U˜¨»Ú–ÅÕëlÏÄÆÏ\Y­vxçøŽÍuGÓPL½œñT†Å[ÕÉò3ƒ£Ïvç4]<»iÐnæ'‡WYgï¥McYöòs²_DéG1¸Éc“J½:í±oܘbtÛXFj³lmçý"ÒÇ'v¼eऺ܄ÿN9¹\š4¶ÓgŽK ½ø¨‡…¾6=ú5fýëó†Ã°>$¥Å@•ÍQí>²×nåÈ^W§¨÷¤B²¨ˆù¥–‡¼·ñß›¥T…û\Æ÷2¿.s™qÆ—‰1Æ™L2cŒÉL ±‹‘x&‚z1´/s~¶ô HDû$ÓŸ€'™D/¶q{ G ¤þJ/“‰s™'™‰²¸ü”@–‰TCû;"·è’šŽËjN¼f‡VHEÚ‚Œw\Ý9^õ:Á æ0ó³”þ£ÚëC 7 HtÄ3fvè0ÝåC½R½Fû`ÚÑ “¨ö’lu:bF ¨¢®@°qCƒKó Kµ t=•Ðç¦{¬ÅeØAxáôy k›HY”H†ç3å¸áÁcÛ-ƒ«œ«x44pÙ¹ Åø*mTmã@ÍêP2f³äÈ Ÿ:jÚ0úw±å®2¶/Oׇ]”ù6ÆI/Ãè"nûŽ;ªןÜGNÚ‚óˆÃ¬Ršu­»³Y½ÝÚ`.¬94©\tјz°ûè[ûæ\á˜÷]´g°Ð ³.š0.†[¿‰Î†GCCrUœc˜¥¾ªlB—Ùœqý3»·Þ´2 k°•I`µ‡Z¬³Ú[T?³%s.Æ9#&s1‡‡‹6ŒËœ11¢ˆ¤Q¶é)P| þÈœ+}CïښɌìEQâÈGj<ÐМ¨‚~â2ô dŒõåÀ\“Kq(õÛ y‹Lß< yÿtgJ³û„F{¤ƒhL#Š Ñ¤þægvå½2\ïêô2bk}–³8ê â&ãf,² bÆå¤lÙ ìKŽî3BÛ¢tË ß}k!«¶F–êa<ë$Ö;оlGqÉyËìƒ ý!l¸±ƒ˜I9Õ‡ó)­IßÈÙöÎÎö.9•«P>ZZ!fŒ$ÇðÆÂ³:éi‹ptÕ³ÌÀÙ"gƒ §ƒÜUÁfƒºFëà,\Uqósö¡ ìbPp+Ì&læêXMÿ²Cƒ›š´lÇmž›åjðFj·U]„¬ëÓ²ah?ÎÉ¥.Ïpž‚¡Àˆ¡}Œ[w)¬‚x«–ÔPO摉X d”ωH=0–O2Ó÷E 8±àÜNÊÜ|¬SزAƒsvx0äWMÙ'œÈϹø€öG‘ˆ§òƒú´kçö¡Ãokhl ËO”ˆÈjï°®°¨˜Ù†–=WÓ“7פo¿ÕþËZÒ‰´š=ÆÅ`'ÓEÖQ‚ƒ~ˆ‹­Íc¸ÐŠØ¼+¦©ìgmÞ¶<³KvÐ7ÒîÚ`Ùì£ï”öÚâ|rz#ûäÚ۲˒Ծ  íüè»õ ¬Î™®>¡=É6›³™0­u'e(çìŽ7›¹:¶Y™÷ÞÝöëXçâltÄà“W€1Ê,œÜŒ:?¡±££7V/ê..ÖU -иbæ1ˆÃ—m¿ «ò²ÿøÌM ¦{-Ö/ÎöÊn°NÆ#wfû°Á,¤×æD¤J`‚µœ˜*âT†õIé Ébæ¾LÄÄ0¾2{GD8\)Kø·dŒ5Z÷¢,Ž'núľt®ú[»Z&š•kÐA¶øàË ôÖ»v–>œ× 7›—¯]fö&ºµÔïuáÚ&•Q-çjz¦±{5%š W[Ž”¸¤ítª r²±Iˆ®ÏÉè²iW+‹²¼Œ89.mKp_¹ðZ6¸àòsô¾‰-o±ËP)ÌÆÎMÊŠN$ÂÓšáIÝ OÇý%“S˜ãwßÕjgçK£+›]ö;ˆ£ëlèÉÔí{¥k8ÓïÒ™qö2«jps Yf×½r€›<Ö§³>¤Ã+HîË$Sðë¹)=Ä(x«&oyÌÄWfÅÌ|¦K\\_söƒkòcD<ôÛ•¯,V’-UWFéÕŸ¹ýzæ«Ë^³ôßàÁù<ʈtàÿà7ÄËá~¥»û„í(ê£æ†!æýú‘ÿ½lÉsFk\ö%Ü5€­†Ì·ÑF½v9gk4Ršƒ£ØÑ~ÄÀ¨p‡U²Ë'°õ !û‚õ[º‰¤ô‰ìò0ÞÆ¼²ár;+Y)'’‚l²¶M½é†]Ò…¶z±i(•¶ëñDZRìúf-cÎ’šŠàÝnå¹öê’\,%r{btžÐp±Ýlë<®ÇáLÂ[F!>˜ƒiHFÝ&}¢pª`?“ɲ§IFoJXM¡²™F!Úשm¡ßÂê€5œ:èծ朱À :)CøœTÓé‰H5º/Þ¦ c÷@´ÆÔï—øW–õ»(›C¥Àƒú-wH¦–á|àgÁ©=N^¹ v_ŸúŸs^~i¾e§"´“¨ë浬fš:NÏÁºZé>ÛÐ÷1 šÅæCF3úAkëÁL»—§m%çßÂ4:ïèÇ¿Fì- »»…}Ý4é˜~Q`E½,“ ˆIŸÉüu…1íhKÝXÑŽ&¸Uu_/g„D¢­‚«ØÅ°IÉ]sºlüp/ah—ЮWvk™«áNbU§¥Û÷4Â{aÚoí™ånQ„ñ¨Tø‡¯ú |d8!Ê* E”nA7OÕ.òvѶʆ($d F¬º$öÙ:{_4™ë¥úª®”sNDµõõïnÚ²wß³•ç|¾´ž?Ë1|ȵ?ÿ™˜Ô#Æù‰)_Û lÊ(8ÀxÆõ²pM¸¯|ñ·%ºÌE—eâôÐoþkù’?0â=2›ˆcii©—\ܹ÷µ=o1,33CûêC‹úèe«‹;wêÓëç#o½9++Óºu¦>:çåç[§!¢—_œOÁû‡r9š] rù–Z}¯Kwü5—*‘QïÅÍP‰>žsz¾0:;ðâAÌÖlµ£¹4¤ÉÅÙeÑQ1-ÎjDǼŒßn¹Q–çJ‡¬Ò†õ’Ô‰"f¤t ëS'r1KX_ (—(Ê{¾ƒˆ$ìòœoh7gÔ*W÷]»íÜ¿`óaͰZ8E˜õš¢±DZFæ4—4n¿¨…Ú¦›Û<7^?Tá~hE_]ùÿ.¹¸óôßüꢋ:ÔÖÖ}s¨|ã¦-?ïyµjbŽˆÔ©e:O F¤ÜÅ0äÎáDDœË-] e¹H­îˆ)7˜wØ$âÜ/–,{ikhh8ùãé»>ÿýó/þî·wîtQèKÓ¶ûË/Î#¢ÆÆF±Õ3xÉh+=·ï_,ßïH?ÇÍË`YDþµý &û€Ó¤†] î›Qjw—óàËÝdqEm?x sH*¬­ÂF%顃 †‹¥îÓÄÁü™8¨‰X_I£Y¾ãI‚Q¨Eë´[4s5;Ÿ;ÎÀúűeçY~Úiö‚ÝÕa­5¿a¶íR›ºE3öÐäìh‘éRP¨¿ªÒXßü³ü?¦¦¥¥QfFÆ }¯»¡ïuÜ/¿°dŰ¡¹ûçp""ù§³çþ°èå'‹§Ïøßÿßä‰ã>øÇÇ••U—^rqá¿ßyêô™M›·ùél×.—>p魯<ðË^›Þÿðƒ·744ÜxCßÂIwzS¼DÔÔÔü··Ö¶gÝØ¿ï¤ ù)^H/ûýb·“ýrp 'â)Þ”+º^>ñÎ1éiië7~0垉êúëGÙÅídYÞð÷-Ÿ”~ÖÐÐØ÷ºkïù÷ñ¾´´ÿ5}.M}´˜ˆ–.z–ˆNŸùiõÚß*÷ûåŸÿìêûï)h—•EDÿkú\‘À°\ЈÎÔÌòv¾´Õhú3v¥s“Ç– ×;¸=~”8ËÉqyî+ÖFá$ÛiµÕ^·ázlµÝI ö;L«Q KÃÊ2’\LãÝ–­6«KëED\Ô¢Åk¶âêìnÿ÷͵·Þ<øŠ¹<%%EYžwû-o½³q@¿ëEL³ñýÜ:ì¾´4"úêà¡é¿ùÌÌŒ?úôÿ,{½w¯ŸÿvÚƒ™™ÿØöÉ_þºæ¿~ûk‘Ã7‡Êÿ¯GˆhÕ_׬ÿûãÇŽ&bëÞ}¿ò\ÕÓsg§?ÿ¿·Öo|Bþ¿Šôšû\é tãó‹–¹}åê­ÞßòÑwÇ+ŠgNó¥ûV¯y÷ ïß}WþÒEϪãx"zùÕ¿Lš0öW÷ßÝì÷¿»iëÛïü}Ê/'¹-’^ÌÎìŽî’¢˜ÊMBc¶ŸETH+ÎkˆJé‘o& ܾ±ì—éÎQÊ^ñÑ|¡4$Ÿ–pÿø±oÕ+î}óÎÝ{_ãͳçª2ÒÓ¯éÙýæAý}¾´ö™)ŒÑæ-[û\û³ŸÎžÛÿåW¿~`’ØöÖ¡jªÏÖTŸ½ægW¬ÛØpË/n¨©®¬©®¼ögWnØ´µâøQ‘ó°Á7TUž!¢aƒú½±úÝý®%¢ÒÝŸÿrÒØsgO‹ÿwõÆ›n襩˜þ ËòùšÍBÍSë­>þ¤äî‚;_}ö|5ÝÔ¿÷««ÞšÛW¿Õ…ãˆèäDtc¿kþ´â¯¶u€Öæ,ÜOHIûÂAGvq2Ø m¦%Ü×\2Ó}i#n¾iÄÍ7q¢Ÿ~ª,ùlßÚ[ ïCDCsoøÇö]×õê¹}çç¿Ø/-5Mlš••)²ós²ÚeãäõxeYöxtîÜIbŒˆ:wºè|MÇë%¢ó5u/¾H"FD;_TS[çñxÄI’$M 5U­©©ËH÷iê#‹­ªÏ×._ù¦abõVÇ¿?ùKøñtSS³Y²$Ž<À¡VÚÂýЍ«<~'6æ“yÜ ¿Œ(Ý3¨Íâ+œ‚ µU€Á—uµ9µñv­RBô&ó„wGhœEÃþÄœi¸ß²œèâÎåÝ6tÁ’×$IbŒ]{ÍÏ>ú´ìû+NœœpÇí’×#¶ôx<Á;óy=!3…<¸KIuuM§‹:ѹªê¬Ì ‘,+3£ºº¶ÓEˆó³çª33Ò=¯8><^¯8Ð=¯8E@9~¾øŸƒÙÝ®pî«·ÊÊÌxàž;ÛݨG½Õš [n¿epì+SÓR¼´á~"o"77²Ú²"&ë¢~_Æ0ê ÖY\>ì*i{»Í(u ]á\´h+\Îï÷šÄâ¶Zó;? £ÕÁqTê¸v§ˆg!ÚÜÁz¥«;G8ÏÖ:WwÛ˜¯p¹‰ûK§SèÏÄ?uD²'üåoëo¼áºîWtõe¤×ÔÔ~ºkÏ]»x$¯¸ëΰ!ßzç½qcnKIMU6UÖŠ§’ä%j‰J<Áèÿ½­Û'ŒMD›¶ìȹîZ‘ìú>×¼·eûø;Fñ÷¶ì¸¾Ï5’ÇCÑýÀwv%É÷=Ω¹±ùôOg÷ýÏ×¾òº=Y¿c3"jjj>s¶rß—¿:X®l5 _ï›?=bh‡öY§ªÜQR6áŽÛ‰È—–væ§s;uÛ777{½^¯×[y®úÃí¥¡¥èÄ@Ø‘´~3ç_àwzÇÎÇz,my koR—?}åî„i°»~³Z#³ÎÓîæ€Ñø^[?Op“ÐeÚ °o£=¼·qyb‰rÉØ¾û=ÄÝÑ“oý$Ö7½mžO8yº¸‰Ì/E.n5aÚÃ1ZlÞÜ B†9˜eÐR뤺[§8~­Žƒ{xŸD=º¯<`D4lÈÀÝŸïÿûæ³²2võUÿ>á_%¯Äˆ1¯ÇÓ¹SÇý®óx$ ü¾.y÷Ò \†<^‰TפàZÊîvåKËþÜÐØÔ·Ï5£o»Y$Ëyóº¿ÿcÑŸVÑu}~>ú¶¡^‡õQ¾òàéçþĈRRS:uìÐãê«~àß32|¯ôßN}(õÌ—QjjÊEÛ÷è~åÜWfFºX5$÷†OK¿xãÍ Õçk.îÔqèàbóÁ7åü÷o766=þ»_ÑØ¼[>ØöéêuÕíÛeØïÀׇUhIrwº×¤6Úu,pP¨}6Žék©Kå4†6yµ„18oS¬³-­Òj[¹Íؼú.w!‹ä¦§yÓ³^Ø=F›nAæÃÙÉMR¹:é·iTÝZAüÕ5hkz›¼à*Œýö–AUØ{¢.[fòX½8ŒqqÓ-¢‘«`<ÂOZÞPÁ ™£8Äh[óž ³Ngúƒ®8ìe†“‘ƒhÍAѱër°ÅóçN™ÚP_ûù®ŒDèÎ#FŒ3ƈ˜±D´ŒûËßÞé{ݵý®ïEŒ~q+p ü—ø‹DY\é•—.~—xàǹ”?Œˆ+W,?xL\月‰ŸÞåÄ9ÿ¾âøÐá·þçW-/Òe¨a÷¦ÚÎöl'‘·6Eè0¶“Z³‰ýö‰Â ÚœE0úFqrTh·²¼ó¾]^ÃŽz#†;ÞÒm¥]|rb>ä"oóÅv+-Ž{‹O¬Ê)"úÀÁ>ƒ–t­#Gš/f F]t'ŠÎXw´G´Ò¤Ëþ³U™aL^1«ÙX±éGº—ºê.8=ç¿§†'v‡ƒâöźùä@“$œáõðúÆö¡°ûŒìo½ª‰aÌ.³¯8×<·Î"®…hÉß?tøm;]\_W»qÝjÕd&‰Ø^ÄõÄH „ýJ”OŒ1™h÷žýg~ª¼áúÞL’ˆIÄHIÇy $‰ÇÜäUy`w4®¸³@è.V3."~.1â<Ù3‘ˆ3‰Äj&6 ŒIú0<ô™ÓÆÑ°­&sëO!…†V«5Źù\²¿Ãˆ¼C»".ísûPÛI·K»Èè”ì¦ñ•u[9Ðm%ÙcU'“K„Ã7ˤGá&­‹¥ä:$µˆlOÀ<ÏÈÖ;*Ãi&î ‹8†D¯€"ã‰Èí[çfL>*Ý„°j;A’ÓOZ6pi]>Ejf›.$ï–õš¤¸ÄiÈntnwòq]u´§yã+Ç´“^„~ÀÏÙ¨vh}$'=»pG¨ÎXf} Óî[K†NöNM¿Âà=ryäØüÐã!Wjݧ!‰ž[¼(ÃŽ„ṿ%Ü÷HR`DŸÓúÁAšóä.êØá—wßéñz)PŒä·¤æbÈ_…2}…[*˜†ÃˆîÅ»ÁÅ`?çœ(0x¯ú—+(ƒýÁ‰ˆ$ǺôMè6F7ÉÆåX¨õ×ENRN¹ kÝõ\VD—»Íð¬}˜¢}çÌŸrt“Azƒ,-ë`\Šý»é Ÿäh+ÃÏÂ)Žì;‡¶Û좟áþ3“K¶Å6ïžõ!íà­J×Â(ßøÉ¥ÍE#Vnayû¡MûÑxëèÁt•ÅìwŸYa܈ô‡›»_MÒ…yçM¬åì“÷Ð lbe"måŒW‡¦æhÚÿ±ËRëÏèW MkZîïΆôUu·ú³G7¯I`ón†ÔÃîÞ!i­^²dÙtÚ*q] s-á¾Ä$bbt_â,Þ«}1?}Á³sÄà?øª¡j™$úIÙP[ñ–H?0ºÏ‚a=çÄY0ÖDõœ¸$"âœÓýâDÄYà—w=Ì` Õ&dgšçº†+£¯k?rl‡7ZmÏ]'F?Ž`•mËa}¢³é8…ž4Ýõ²t)¸åK°|Èà½v·ëî‰Ùuî6qò‘ƒ“q>£H×QoÄEˆlœÐMÿƨI->YvÛuvÈY÷+¶Ñy«–Þ:Ñ·ÓÂQ­“¿U `úÁ¸ó|Œ;~%ÎÆƒI¿c8‰×õaÃ1sëlõCêNÂÙ–¶=%[l’Ú®Ó {R7Ý˳‹oC·Y|›L^Ahø«ÉÛ¢Ë`Ó™°i=mJ»Þ®²&B+ï`×× Óð}»‘dÅIDATÛn/sÞ[°éÙô$TÏ,Obª¯êz”IûÁ8ž”XŸ1Öß‹¤–¡I èçû(™H+cºÝ[ôvXàÆç³vÄËãœ8“ÉÄÅNœ˜HÈqÆ>1Î9/“3.e÷èqüØ’´µå‰ÉíNi’2mWÍîDm4gɶ·²8g«Nì†Å™O:ЖõÝþ«˜†Îaj•¾„}§4Ú_ž3ì(šôI‚Ygñ´“mn=oÀj+¥TÃcÆÉñ«>šµ°6Š >7‰¸fR¤~‹v¬/´lš×:(dªÝ„’ÕJ³ªèSrÝú¦¤>±¡è^‰†åEÉùý”–§/®y³,š#t;»„!¯Üí·íÎGR§ ~ŸÕcª”âóWçä%mt˾úØwG:vºX1Ö²œ‚Sû•¯ñ2ÆÄáÅTŸÖÒŠ­‰?D|.ºÕ ?8LÏ9q˜Û#qFŒäÀ—vYpÒ> |³— Œû³àT nÜÆN#?ÚIÕ$cÆ -?ÞrÚC°Ú1œnäøz©ª‡›PÞÑ3ÝÁxAÐYÉ–¯ØiJý1£z7µµ4îK˜½—úÁéûç¦Ïá¼3ÆÔ)³´ŒÈª¢6=ó”v/>ô` gÿ5¨&Âs;WÍrG7Z¡{/¬gšÕÉ)7›Úí­a·Ë0Ý Óæ$uTª¡ík; níhÐÛhu°\M¡ÍO{)ÖUÀ®œà³Q—8ä:j}ÆPo¯ÌÖåiv† (-†5Íau òw<$bXMÃÄÁž¡QbÖò·ÓOU»³éÚÌ67)ÀfäË,w®ÞIÌwnƒ¶0¹ õ´œœµUoŒEhm” Ón¦- å ³+€«ò°¨4=‚Œ‘æ@Ó¼Ç!Ô7â |M—˜Í‹ð^"‰Ihž81F’*µt ÄM(•Áý`²ÀÌÑÌÐ'΃ós¸ÐeÎÄÁÅ9c\–9~Á—1)ØË“ã\LëaŒÉœHJÛç… iXóX!$†Óîè!cÎ#PUææÉ¬Îæ§_‡Q»U2ÓÝÃi8o–,øÌð(·‰; WXFö¡)Õg³ó‘æ©Eìn;š¾SC|í°»E˜(…ì~ò¶Nf¾Jûá¥i°lSëëdùµÓÝÏâôUѽa-kœ5 ¶$‹àÇô °:„­®JÎ-ý¦Vû|¤Ïík' ¶í䨅ÕFëí—=SW%ä"h8Á,1/FX…šÑè–⬾¡nrYV+p¶O˜FǺêƒ(äui§—›]íìÆ)™.™RKãL©¿Ä›u45㦻Gè¹>ôK«¡çêÐUª5–³î™oX«Ã›uÕ®¥lœÝdx² éš´´¥ãNLK}˜úŸƒ"äð2<Ù˜…f=–ÈB¿›šr °úM“kYir cLS¬i”©[a|aÒL‹1=!h‡Lw–p¿üð?Í@éÓw€xÐîÿzú1ª DÓñoŠ&÷€Ä‡p i!ÜHZ÷’Â}€¤…p i!ÜHZ÷’Â}€¤…p i!ÜHZ÷’Â}€¤…p i!ÜHZ÷’Â}€¤…p i!ÜHZ÷’Â}€¤…p i!ÜHZ÷’Â}€¤…p i!ÜHZ÷’Â}€¤…p i!ÜHZ÷’Â}€¤…p i!ÜHZ÷’Â}€¤…p i!ÜHZ÷’Â}€¤…p i!ÜHZ÷’Â}€¤…p i!ÜHZ÷’Â}€¤…p i!ÜHZ÷’Â}€¤…p i!ÜHZ÷’Â}€¤…p i!ÜHZ÷’Â}€¤…p i!ÜHZ÷’Â}€¤…p i!ÜHZ÷’Â}€¤…p i!ÜHZ÷’Â}€¤…p iy%Iª=_åñz{0Ö•€èeY’$ïe]º~sðËnÝ{HFú’,ËG¿=|ÙåÿÂþgÏÎ}{vŸ>uR–åX× ¢@’¤‹/½¬o¿ÿÍ/n.®Þ1IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/gparts-ss-footprints.png0000644000175000017500000005372513634703632021306 00000000000000‰PNG  IHDRú®žìð£sBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœìÝw¼UÝøñ3»{÷ö›^(é…ôÞ% ½="¢ˆ(òX~úè㣈>EQD ˆ RAŠ”$”$F …„= ¤ßäæö¶óûcïÝ»»SvÎÜ=»sO>ï/²wöÌ)S¿sæÌ¬1mê$@Gaæ»  n)ÊråÌNÅTZ9¨€œˆI¼¯‹@×°£XÀªÊw¨1MzJ=Ñ»h+|Lÿ~9.ò׿ýù¢…/å¸P <™Ž£‰Ò;ØAÛäÙ¹vl°•ŸGuø|ðo~{Û¿ßüÝ|×èÚ·cj=›üÑÓRØc èÒì_Äù›;oB˜¦ÙØØxð@å¶mÛ—.y¥¦¦Ö=¯ßÜyÛ¿Ý[Äœ­æ§ÿóÃ[où¿–––ä‰ÅÅÅ7ãÆ;ó¯5ºÇÞý›¿þ!D4íÛ·ÏÌYÓ¾û½oÞñ«»*+¹gç±Û^ªwßh¿ƒÔÉ{|ðáÌYÓV¬X<ñ¤“g}üÑŽÚººÎäÜUÄ—do­t9†0XŒÃ×mv¶á€ã8|A;«ú8§òJ±79ÿÌ–)„MM»v~²kç'õu óœýÀýBôêÝó’K.1rX8~wûû<ðHMuÍoïú…â·wþBqóMßqJÏ{î§}æŒ9………ë׿ùGžˆ÷¸;¥=æ„ .Zзo着#‹½´zÕëBˆPȘ¿àœgÏ(,Œ¾µiëß~¬±±Ñ½©/.^ríuW­\ñZâeDápø”SgßõÛ»…)~{×/âÕ¶ÍùG?þÞŸîþëîÝ{…3fN{}ÍZ!Ä1Çô»þ†/üäÇ?ëÔÈ¡£|[Ï"–$… RK¬Öà Ú: Z}‚ƒ%ãõÍ<«W­9á„ñÏ7|åºeK—ÿç÷nýÏïߺwß¾‹/>O´‡ø7ßôø§dqÆý¿ÿ½ýÇ·üoEyù¹óç¹§¿úóÿöüs‹¿óíÿúÍ¿þôæ·¶ !ºwïöÃýG"CKì«ôî»ï™±Øˆ‘ÃÞÝþÞèÑ'ÔÖÖ}üñÇisÙålnßþîe—_(„9mÆ”xtÞ¼3V­Z3dð ‡xÔu±!ðî€Ö¼†û³Ošùö;ïÆ?_÷Å«Ÿ|â™m[ß®¯o(**úÅíÿm;‹K²^½zîß þáÈ‘j÷ô;>Þy÷ÿ"„;vô•W]þƒïß*„¨ª:rû/ï¬:\%Ûà¿<÷Ìϼ»ý½3æžöâ K¬ ªªŽÜþËߦåÜØØxà`åä)››š·lÞvÎ9gŽŸ0vÿMMM² ‹£ê…*Ã`žh´ o¿¾³fMŸâ?Jöí,Iº´@¸ŽïÝG¡tõ=ÛÆÑÓRpt å»T1=óh¾ë@‰ˆiŠìd]À±Ø†!$7©mD‘<é­B6û.=ÍÏ*V¾YH´ÍÔÇÈÕ€=Qoµ"õk,ÛD°š´Àé6(>ý)>¶«Î?»YÀNAÛ ‚VŸüŠdó]þ†\F\ ò{Ž÷ü4×ÔᙹE¤p øœE>R“!UÓÇ<~¢_ÉümÚêø¹~ò›¹ÇY•/Ñ {sptV“³ÙofKb#õ[ŽùÔlÖ’T²¾ò—™ÇOþrGkïM0S?) ,Ì€,~N¯’‚Ö¹äRŸˆ{ÑA9|uÌ¡ú<¨˜ôµ¸òÈN²×ð1O º|‘éD”¾|^„a¨}‚_õÍé½ÀÇ:kïÛð8£|“²,êÊ»÷¥ P~zõ_€×Í:PçcåwÔßü0rÒßå{®ŒäoKÊæ/‚•/C9å"ûR³úÞ}å»~ Nh¾tÝwr¶e/ßqÚåWšêS¸ò$Q¾uíü}ìªtA»ÄÌQР_"ód°ƒ{ÐŽ[<(¦¾k¯Ë(Ts9EL!ÜÚ§ô–»|wˆÚÛôBy“ãu— å£f/ÚÖXî©Þè쪓ýþ‚ -Q!Ôn¥ò7ˆå¯1åGÊË Ø¨hù¬UwªÉ/Ñ€ÝÐð5Œ!hñ©‹Yk‚]F6ëØ¥Š¾¶j…|ö•^U®ëZrð’Tjéìý““*ÉÝK¶/Ö4²ùÞ}ù[è¹ß Û«ò-V>,Ì”žC–¡ü°áQvùç7,Q?È@ñ*`W±âE¼gwGÆGl'7*/PCsrB~«SÝ[d“{6 T?0$h…t‹_T+ïn»Ç"¿ ²sz5…¦™­ìüÔ@õº؃#²‚¸+Èa)#«GlÅ¡‘écïØ1^ýãSÖXVAðVêEê«ú3É_æ«í÷õTH¯Ñ{À®¹s«MÛw©ËÜG÷U îž[ë’¹v2{™Ÿ£DÀžüT|¤Ë~cZ}Õwh*¿A‘­]Æ‘L¹e()¹¡¶IÝæ—¼›«[c2‚÷¬¬¿¿¯“»»©|XÂQÖ?ãƒêCžâ.CzSß3«úQï§åïòFy診—OVþEù¯õ 9~òÎæFm=ŠøØæ¤»¢-ÊpÆïôâó3tT铬½ªÂŒÄÿ‘Ê,%ƒÔB’ÿÜ_YµÿÐá1Ã9Ïœ¹Ü–––[~÷Æ­_›‰D|í;rÉåÕRx|1×â^ ‘ëÍ0¤ß"Ÿ\’ú×i+?Ãûš™ê§±»bX”F: \›%O8[Ò”wãoådì¨õ·?‚·²*Í Öèi?Ô+”»<¿špHnŠlŽÝOëÇÝèðØqã̺#®³dP[[÷Áð­÷lúÑõã#‘ˆtìY}ÖG’òÞÅC)ƒ·w}'åðqwÒq9u~e=ÝB´Kåg ŒUÅ¿À ¶Q-»­õ˜[vOǪG_u}jŸWÚ>ãï] ¶¢,^~D„{Œh ™ê¥ä‹™‘F—0ÀCÆMå}›8{ôÿyÅ}qt$ö\k\¦%È­ Õƒ‚zΗ‚ÕÅût$7 Cñ ‘µgw³Øe¿‘Ù®EZÞ>ƲK—q”QzG\ÈÛ}üè¢âÑE98°ø(¡sC—3¨òXíãüªz· ÚÉOvéÜý5ØóŠó»Ç(Á =¼9{#A#¦™1ìö^³¶f””… ‹„ø8óì–/MÓlhlycóÞ-ïWí<®Ý®ºxV$m™5ç¿ÿ²ò¿¾0ÜO¿w’—¾G_×r– ]È^ЩïRz®UT£:³y™1ho‘ Ú˜%òfµê;ÕjåæwsÏѵ©.$ĺôî ³óïZjÅÞÿhÇÁÊC•‡«jëê?ÍU‘‚ö²½6,‹-]³sã'EC&Ÿ4tP_Ó0b¦ˆ £5&ZMa†D¿þÝëGM¿õž•·|y¤Çˆ_ypÄ÷ñI柃ۓA;)ÔññcsòK´óÝéY'LÅ')Ùã™MòŒÕ“\¢Êw?÷Wwò)C¿òKñ«yÔsñNs)¦ä%TÐ.’å{–޾÷Æeí52]†™øŸGù:w"Òùˆ¯¦¶ö•Õk{ôì5pР“NTYYé#Ó4×nÞ³aWÁä™Szô(‹ #f1ø…)ŒÖ˜¹g_ý;ëV~ùÜâ–æ–HØkÀú·{*~ƒÖ´U‹~VÅÛ¨ôIMñÅŠCjÇ÷“Ie·îË埓s¸êHª«GjÛ®eß×$½•JR¾•í(!„Ø*Îï2r>Q¨R¡üæ¶Cöñ7ó¸ÜUÌØ§×ÜܼhÉŠ‹/¹dØ¡½zõ…Bû÷ïݽowGZf !LÓ¬®©eC倉'•W”´š†{Ô|°ëÈÞÊÆy§ ¡Ðî=µ–,¼â¤¦Šò>‘HØóúèüšs=&øˆ¼TîòÏpúxe¬Z²Ç•õñ Œê,#»G Up,QýðÎì 4wÎB¾KÊÏ\Hæ/5ƒj‡ª(Ô´ŸgI§Þ)­âÔ'¤GÛx½áбt$V²y8,S#ó{÷Ûµ´¶îܵû½wT×ÔŽ}ÂøIÓú÷ïß§wßÒÒÒ]»v¼ÿþ{mÛµ!b±XòŒ.™'¾776}r¸`V·ÒæV3î:Ò;òéä1ÇöêÕ£¦¦¶ox÷¥³š 8¾g÷nápXñ/§+M.„úã‘ú_–W[„×+kÿU~9’,õÇxéäj»˜¤û¼¤Ç;IFÖ9Š÷eJð(Q ONN­€™üQñÊÅ#~Êϲ—[Áòù''÷E®/WÍõ™«âß#ñÕ¹¯˜ü­üä!E¶þ¹øYyŠ#Yö%™mïÝw­ÈÊÃï}¸cÇ'»;öØ9§}¦W¯Þ õ•••[·miiÞPVVÞ¯_ÿºúºÄfFS qÌ<ñEsKsYZX\ØÕuÍ;wW]1ª¢g¯î%%Å­±ØWÎ/+))îÑ£[XbȾ_ÒqN°ú~íöÓö£+Ç^½ìifâŽßzá¸^d{C²Üb»Ül¦É¿÷Òe÷E*Í®ºrO«œÝ2ÍT)Y_Å>–^JƒlæÏ¥Ü:ÎЄÀ=mî²½UtzI^dÊ–g{ìͰ×8—á½t·"²ü\›DÑö%º¶Ù1ò\¨ýéÞ÷:ð\%Ò¯Ò6$÷4ÉsjJtéÇ"¹¹3ÔHò®®l™R•¿ˆÓ拺ú†w}úÞ‡·ÆZO8aÔÙã&D£ÑC‡+÷îݳoÿþښچƆúººÖVó¤“g744ÆF†a§ÔËCuZZcB„ššc»«ê÷U5·š¡ââ’Âh¡FqQQ¿¾}#‘p(Þ[Ùðý‹» "ŒÙÜ\»sË]_/ŒdÈ]yHçwŸ¼q¸t÷q…à^Hîuþ‚Á¯¬t‡¸ç`×;ž×í*Sá2½ž]CæµÜÉÙ½e”ÿ^Š,4Nú6â[êïé)Ü"¹¡úaà¼<çZžÇÞš69xš\úUÙ¨OÛˆîS+ üyoɲø¤[D˜¦m¾üjÿcúO›>ã¸cBD öìÛóÁ{îüd×qýûöîÑ­¼ì˜Š²Òí|Tu¸jèÐáUU‡ã5ëÓ·Ÿ|ÕÌ’PÍ{;«ªcáP8-){ÿÓ–ÑÃM!ÌH$‰„…­­­Þ©>nòœîÇ #ÔRoÖ»êkE»e ÷=V!ý£7~âVzCÙGSçã…dYgòT¼;{I›’&µ>^jçiêä"Êñîjrs—KmîJ‹ÈÁ6 ¾Ÿ%PK(SW±Ã,RäŽE9º×+•&H«Ìï÷’ I{8«¯,#'±~Ð:dÕÞtÉ(b:üæÍõ_º>)(,ŒÖ××oÙ²uý†uaÃ>xÀ´ñ§'?,;aôÈ…KW 0pÌè±uõuÍMM½zõ®ª>”TFæÚ†Cá>…uû*ëKzTˆP¸°¬èíƒ=Æìª1°Âh,þá§ ›S2¨()F¨©©µglg,V’±#4P#½”?ò-Jèü=l÷¯åjßK°÷þXö>o•“ìÒ‘J-:Ý šõM"P'ñø<Áúà-RÙìýì—ê»Óee»_ …ò‡Žr:êØ+K~‘úºÆìÄ2Ê8«ŸÎt¥ƒ‹dO6ÒW+9±¡ü*<+êÚˆDwïÞ½iÓÆ?ü`àñÇÌœ4®gnñ¯’Óœ~ÒÌW_]6|ÄÈÑ£Æôïì¡ÔŸÙòÒ²p8<¸x׺âîÝB¡PAI¸Úœð¯7·O9X5aX‰Æ–7ìé]w̬Ҋ¨›1£®²~|ï†p¸ÜË{ý ØzÜ[ôý4Yu¿f°Î8ÁëÝP.`ÕÉù9YÁµR9ØësóšÉ QÞ´®lël㔿7€;¦t„£¼'J2yÆÒÈï]ãn¶÷m÷À÷u+/?¶_ï óN…BNÉ„e%%gœ4óƒ»^]öRå᪺úúk>uuMµç:ˆ‚hdÂÈŠ-»¶4Öô*., DJºGêJ'¿|ØX´ªÕ•—,*+/G#¦Õå{ž=-Td^5Ò›ŸÒ^5ÕCÕ$ïÉ¿1Äæ/Wòã;åVú]-X¯2È… ^Jî•[^—©™H®ò8ä+n Z׉âÕ¼;&Ê×@æg¹Ò¨ÝL}ÜV|z•ýE³6¥¸¬´÷Ýáü­¥,;¸ÈÈfáö|u<(í÷ÍÎdÃ0"N»ÇY§ž(„ˆ™¦"fÆlÓ$å$†:~è ããÕ×Tmwkü³ËX£ýµ½‘HA¯žÝ& ®Zññ¶Hñ”p·h¨ ..(êY ‘H(\`„#¡pÄ4ÂÕFýö³úïíѽW$\à¾w+¿û–—'e\²W]ÿ\ÚH;åkX~é+"¥Ë4pÑuNF_í~¯êU,;CÀî(ïGô!X«Lø8*y.úÒ$W™ŸÐQñõŠÒîOv˜B¨_ËR²Öùfš§š&ÂtÓ4ï·Jû,„0:®_ Èÿi4ÔÔ4ÖÖx(½­ˆa”•”LÕ»ªfçÖæÀ©¥=£!Ã0Œ0 á ™±PÝaQ·}ؕc‡”–•‡B"óu¯Ú€ï(©šGéIÁ/"'ƒUtÃ$Žä%…ê.€ã0Ô÷) Gj3’_ŠŸéWµl’«­v/𵂕ޖ Úí:¹çghŽêÓ½éãÅþ~®p/‘ƒŸÇ–Ì:7Pä[R+-Wh>ÛcšFÄq‰÷ëÇLӌţ|Ólÿ+¨›¦)LCÂh ôP($„a„ Ã0  …½l/†Ñ‚‚ž=ºŸ<±¹xë›?8PY}zIßžE¥‘‚ÃŒÍu¢©É¬;XS¼ëÉI½vM^Ú³G‚‚¨~‹læšÈ‘?À(ÚöÚqÅÏÉø©¼¡öiiå?­â÷R_]›åoJ^¨¾ç®|¯ÉÅ õýõ ùù-Î@4 w•0-2Qû Ùa ¾ŽÕ˜×¥eªçôÚòìQýĺôޝüg{e)]<¹ài«VSiãñ‡îµ Ìv±Xû¿13fÆÌ˜H¾F¼û=í·Åüñ 5 U5õƒéíÖ‚¤i±X¬¾¾áà¡Ã»÷ܶ£qwuiuxPKñŽD?©hÝq\ù‘ÇŠþýzöêÑ£¸¸¨í‰?ö9Ÿ=Å{g®e¨C…|×3 ¿B‘ÕN¯Îïfy9G™+8 uVºH³{ÊÉÊãeý&Nç긱øîÊp.ÈFžËõÏZÉc»Ò›Bd(Àש2’×"û£¨=¼Ù²“wM#S¡ …ÒY!ÿ¸aæ Áˆ‡Ñõf{2D̆!ÓˆfÈ4ÍøÿÚf3Œ¶?dí}ûÂ0D·’¢î¥ÅÞ\(*))ŽDÂ¥%Å}zWWW×44¼ÝÔü–"ZPPTTT^^Ñ­¢¼¬´$ò?ºžÔ6—ï69HuI°»:”žÃ‰ý®‘iÄ– ŃxM_eHÊJ¸ä4kPŽN²½d!¿¬_åwªNŠŸ "ÛaTçù¸Tºåà°’åúwzœFà^Ž”ý[V6ßg¹Õ¦íG¯¬‚ôZ¨îZŒ“ýci§3ÌV"NGC¦Ù6V'2MS„ !a~roB£}û~!œ®$’æKÿÚÑ‚n‘ŠÒÒâ¦Þ=[ZZb­1!D(ŠD"Ñ‚H$R Þo¥.Ùó1ðD]Ž<É¡-gvª”Ì òÕQ,}ÖéÄbòЄŒWy¢M©¾§ÒÛvê·—Ñ×)Sý{÷¥Èÿ:eòÜCþ’õꆟƒµLþr‡ é^‡ÀÝžVszxªôfµÚk:ùU ßñ«øž•úWƒªÝèüÔ_ñNàô~*'ÒgãüíøÎc÷“v†äçq]s“k¸í~c#2ÂÑÂÂh¡cöž 1]þÊ ÕU=åàâ:§×ï™K âûûRxh‚êãêüÿð4GÖùÊ=“$ |½Í«¶Å9xë‰$ÅíÍEBåwJó~?&-÷€ÕÇWÁ{–”\„ ’rpSéõSrÓŒdØæU^ÉJ_[ûºŸ)9C°ú»3ÕÆR¶ô"U¥©|Ȳ­PöÖ¢éÚïëµ×Å üITi:`«~§Š¯"¤o»©¾‡.Gý]½@mB"7ÝAº;!rpò Þ0AWŠ/~²Rªû&dÿ¥â2r©å ¸/]ùÃÉŠcX—ÁH‘øã¶Ù*IŠ_XÚ+U bïƒâbd{ß×9 ¹g!ÿÜ ÂRÄϰ µCìT_N¨îó’Ï[þ·¬`íÆêQ.(x"ËÇ€'¥ou“’—a g¥ªª‡’¨§ô ÂÒ|ÄPûýé[hŽÝûñ±ûyÚ^T‚óA«‘-^«6BˆÀ¢deu@±ÃƒËk´ZG[{EOƒYëaÒWÀ¢e_¿ñ,ªÇSåb܆¬€UIñ2 Ü&'r1LPir—"Ò=aÎ ù«"å»â§åœÊæ¯zH«êG{…ðqÄa¨ÿ¥biYd7ÑÈþûæÒKÔ"õ³Ëì~Zk¨ýõd?ƒ…t‹^ˆ€ÆRä{–K7îR¨8îkÈìeA 6•Ÿo‚6ÂK-çJ?‹(Hwœr1ãƒy²$X¯ªˆSÝ= ¼·>›A1äò­.P­BÈo9Ë®4ﬥ—BH¯僅Ôf¯ÕÏqê° ‡ËÊWA©â‚¼ûh­Ò~_v7À9—HY·nYÉËA'AÜ3 Z“ƒV[p´É}ovÞè4h‚Rߪ»\Ðås˜EdÑÂ|Í èŒw6¯Íw€|jh¨ß¼qýÁûb±X¾ë¢D(êջ︉SŠŠŠó]k‘|Wȳm›71úâ+® ä».J´67oX·zÛ–M“§ÎÌw]@®îãh·oïîCì IDATó/ý¼0DScC¾ë¢D8™4uÖÚ×^ÉwE@DššßÞº©®¶&«¯ ï Ã(.)BÔ×Õv­¶wÝša±X,)Ð5ÖB´´4G ‹b±Øk+—ê´ÁaGB²Â0Œ’Ò²Qc&D£…ù® Ë"Û·½ … ‰DŒ@¾‡VÓ4[ZZØ_ßP×µÚÞuk@ñ…y¨²Rdù×±J§ &;Bꉆl{ó¸ Só]@–EjjªÚÚÒR_W›ïÊäT´°°G¯ÞÕ}ÐåÚÞuk@ÑÂB!„0Í`¾„9kLS¡Ù„!uÈŠxCv~üA¾+Ⱦˆišáp¸KŸ¨üilh(+¯Âlìj£8ºnͨ±¡AaóGâ²'Þ6Í6˜ ìA¨CVÄr4Ü〣PDašÇ:NLCˆ®çuÝš•©{ c 7˜ ìA¨CV˜]r  ³ˆBÄ48Uù3…èš¿:×ukH¦©ùØý¶Æé×Ä ìA¨CVÄ4hÀFÛ‹8õŽuÜuݶwÝšîc÷ã½ûš¶1í B°BÄŽÖîý˜ˆ‰®y¾ëÖ< Ö»?wÞ¹/-~>›9¶u@¨Y„!uÈŠxCú !D¬íYÅ£î¿øÙ-ïÕ8ªjÀÿ„0…i5wÞ¹ÉÿÙ¤ðÀߌ/.z.ËÙ¶·3ëÿÝò¿wæsÝaGÈmd¸Dz¢}ÐTÌóãŸÝõãïÝÔù|”¶=[•´Õ×ZveqñÚöξ°èY÷¾sî<Ù*Ú`ò¾æ½9®ƒlYAX>€<Š!b¦ý`ž-yõµ>þ´©¹¹_Ÿ^'Íš2fÔ°œ×ÐÑ-ßûZ'©˜iþÖŸýNa-Œöè^1lÈÀÙ3&•”祒¶rPó»õg¿»å{_“M–µÅëôÞ}ËĦ¦¦ßýáîW^]!„8mÎ)_ýÊ—£Ñ¨Óô³Î9OqÖÙ „/,|FqÖ9ç}éºkâÉúú†ÓæœróM_-((ˆOÿÊ—¿ôøOyeåƒ'‘sVªç==÷@SñÁ<6‡ùe+^?iÖäi“ÇÅÿ<îØ~—]8/þ¹¥¥uáKË·¾ýžbì¨ágÏ=% !~òóߟ{Ö©«Ö¼Y]SÛ³G·ùóæ:Tµ|õºÃUÕ}{÷¼pÁ}ûôŠ'›{Ú‰«_³©¹yì¨áóçÍ ‡ÃBˆC‡,~yÅG;>im tÜóÏ(-)ާŸÖœ¯­¯®©íÛ»çùóOïß·w|züŒ3Í¥¯®Ù°i[SSó #Ÿwög¢Ñ!Ä{ìxq骃•‡ËËJO=uòÄ1–Vf8¿ôï×ûì~'F—._sÑ‚¹¶ÅµÆb¿»ç¡›¾ü¹¢¢ÂøŒõ ¿ÿÓÃ_»þÊÛ~óç¶JÆb/-[½ió;±˜yÊì©'Θ”ûš;­8Ûº%o\âOkÙ©i¶kó'?ÿ}ü+Ñ¥Ùn Öd‰Z¹l“¶Ošƒû÷ÖT´NŸwîù‰Ïþå÷Bˆ%K–þà?¾ÙÜP-„ø·KÏÿŸÛ~}áü3]¦ !öïÙ•œçŸOvùÅ þ÷¶_ŸîÜøôK/<·©¾z}uÚ\W^vÙ\_}¸þ´“g<ôð#‰éÉÙF"á}اgEÏݯºâ¢´…eÝzY[—¬´¤øì¹§üú÷Î{¢ív’°{ÏþGžx~öŒÉ3§MpÊ¡¥¥åÙůl{çýh4zâô‰/-[­zöÒ®Ÿüü÷g~Òkol¬®®‰g—¼ù®ÃG;>¹ìÂyñ†””5|ì¨áBˆûzrÚ”qãFˆ'«:RóçÿÚ—®üù¯ïõ²g !V­Ù`=~:í _˜€.*>˜Ç´vÿ|øñ®3O›mÛ-´äÕת«k¾vý•ÂO?ÿòÒåkæžvbü«>ÚuÍ•­Y·éáÇž>dàÕÿv~üÏg-»îª‹ãÉ>Þùé ×]!„ø×óK–.ýŒ9³„<þÜÙsO¹äü3[[cËV¼ñÂË+/\pF<ýG;>ùÂç.***\ýÆ›Ï.ZöÅ«/‰OWoŪu»÷ì»þšK‹ ½´âÅe«Î=óT!ÄSϾtî¼9#‡ ª©­_¾jí¤ £ÓKíFM–6qÒ„ÑyàŸ.Å>aغ7·Ìž99ž~݆-ãÆŒ(,Œ&²Z¶üõ}û+¯¿ö²h´àÕ•kóRs§g[7kV‰?½¬e§¦Ù®Í~÷ÆŸÞö‡~÷ÆD)¶ƒ5YâƒË6é´ñ$3 Ã0l~dè¡¿þ!mJÕ‘ê~}ûÄ÷ëÛçHÕ‘øg§éñÌ“sèÛ§w"YUR²ž=º§U)þ¡¬¬4þ¡°°°5³Íö7Ýð俞ÿçÓÏ–_}ååS&·6PdÜ`Ú7*§=Ñe;y÷ýÿµpé‚ysN1Ä%‡%¯®illºù†«„Ï,Z&r³ gj—â“O÷^Í¥ñ?iÛ˜ï: 8®ÿ³‹–MŸ:¾ß^‘H$1ýä§¾°d嘆ÅWÊ«+ߘ9uBüª 3ÇO—]@ª!ýD„‡¨©©Nû¢¾¾¡±¡®¹©Þ:Ï[[¶_´à3M uBˆ§{òùeS'ŒŒuòÌ ­Í5Í' =~é«kfÏŸøó•¯ªlë@5ul|öYÓÆ=õÜÒ)ãG!®¸èL!Dõ‘*!Ä”ñ#îäÙDú§kin¨in=|àòUkÓãÖ½¹ùüsæ´67Ö67N8ò‘'^8qêX!D(Ú·oYq´¬´ø¤ãs%475%2I“61‹ÕÕ7¸7jøÀ-zå„aB!#3×nxë¢ùŸ‰§ÿÿÍ·¶]xîi­ÍõÍÓ'ÊKÍVœmݬY%þô²–š–qmƹl ¶µrÙ&ŠKf†° ÷­»UTì?XÙ¯o!ľý***âiœ¦[3I$Û°²¢›c2©éC‡þö7¾j ±qÓæ?ýùoS~s›M]7˜ú†Æ•k6lßC•¾ÓvòêŠ5kßܶàÌ“úöªˆOtÊá­­Û/YpzcCbæ”1ÛßûHõŽà¥]BˆSF76ÔÅ+––¡ï:œyÚŒõß~ú¹—«ŽÔ”|ÜŒÉc £=»•„BÆëkß9làá#5ï¾ÿÑU—Ÿ½3ÇO—] >£Ç†ôqú¢¨°°¾¡±´¤ÈúU]}C·ò¶ÇŠò²úú†¤¹¢mùFÂiÆ’~²±"1{Yi]ûì»÷\õÆÆ7·´X*cŸO\m]ýC-´Öóܹ³ßذõõu›£Ñ‚SNœôsØ./qÞÖí8®¿{q“Æ\³~óÈa7n~÷´“§¦U²´¤¸º¦6í‘Ùœ×Ü~ÅÙÖ-2Z[cñ°£¡±Id @ÓþtjšËìÉÓe7ßÛdb¢!ì¦[&^qéE}àáo~ç¿„3gL½â’‹âiœ¦/8ç¬üøÿ~ÿ=ñFñÝÿüqcCãÌS/¿ø‚Die¹OOËvÚ”Iwüö{÷í;¦ÿ›nø¢µÚñVÛ¶ýë×_‘6ÅiáÛn'BˆKÎ;ã‰g—E§LåžCIqQum]·ò¶}_¨Ü…½·ËšCòŸ©CBÏsfO¹çþ¶‡>þµu›W¿ñÖž}çž63+ÇÏŒ»€Ç†ôB„B!ÃbÖÔqë6nÛòöMͱ˜¹oå—VÅ¿9là««7444644¾ºzÃÈáCŸ“spúS±üµ7››–¯Þ0rø øô––ÖH8‰DŽT×.]¾69½S>ñãÇ _ºbí‘êZÓ•‡Ž,^²:>}ñ’Õ‡WÇLÓÂŒ™Ö6†B¡´ÌÓrnm8xxùê [ßþ`Ö´ñîÅ pLsS˦­ïDúöî™–Õ葃_Yµ¾¶®¾©¹eùkoæ¥æN+ζn½{öØðÖ;­­±Úº†¥+2¯Ž´?𿔾0=\U“˜î´1¤%KL÷·M&&ÚM6ùÛŸ¬ £_ùÒµ½çοÞsçW¾tmaaÔ}úÅ̿Y !Οö=wýêþ{÷Õ/_FmËJüé4=-Û“fÍøÕÏúÐ_ïþåÿÝ:qÂ8»6:¶Ý:ÑiáÛn'Bˆò²’KÏ?cë;¬Û¸Í=‡‘î|mcÛ¾ÿÚ›9Ø…½´+-qÚ6æ»O<»ô½wÖ74 !jkëW½±©¿^‰o§O»~ÓÛÓ'„öÕ=~fÜ<6 ŸöÞ}Kw`n/8}ÕëW®ÙØÒÒÒ»W©GǓ͞>qÙʵ÷?òœbÄг§MÌØC™öçqýû<ôØÂ¦ææCΞ6!>}Ë_ÛðÜ‹+ÊJ‹§N½ýý;>§O³vã¶'Ÿ]ZSWߣ{ùŒÉãâÓ‡ >þ¹WT©îÑ­bÞé'ÚvßÚ¶]ñÛ{BDºU” :þ˜+/9»¤¸m\“SqBˆIãOX²ü Ï9-9ÏøçYSÇ/í͇_d 1sʸ¼ÔÜiÅÙÖmî©3^|uÍëë7—•”L4ú½vJ­e—¥d›~ÊÄQ<¹¸¹¹åß¿üYá¼1¤%KÌî{›l›ØçDÎ J.Óˆ—ìé†Ó·ÝNâ9”•”\º`î?Ÿ}ÙŒ™3¦ŒsÊaö´‰//ý¯ÿ+ZP0iÜÈwîV·#xoWZâ´mÌwfN·qóö%Ë×655—–:¾ÿ¹sON$ ¡îÝÊÇŒj=VdüÓöø™qðØ€~Œûþx[yy…õQ]u~s÷ßÿý†Ïæ¬8eeåÕÕ¯FéBºnÍèPeåW¥æˆÍãžYwÅU_zôÁ{sPPš²Š^>ðÇ={fNš+‡yêùW¾påyÉ$;‚¿:<³øÕ‘Ã0|¢Zùoȉ'Ÿžïв,"’îçL@âÔÄî|WDZ×­y0åløÇCÎA)VÁÙ`^Yµ~ÖÔq-­±å«7 r|'«„vÉÖÁ4Í-o¿¸ªæ„Ⴢ°FU@E„ˆæsîä>rü<ÊHéº5&C÷XÇy0OŽu+/½ïïÏ´´¶|üìé;[¥ ì’uøõÝW”—Î?ó”°±òzïp‹ˆ¶‡ørWä7oü\î se¤üÓ•tÝš”©{¬‹cš8y¨Éí/ðé¼ ì²uÎ0M¶€ùÌA àO×­y@ùî!V-Þ»¯Ý„!uÈ š°Õîëë80‚0À—®[ó`2„æW¼†Ðsƒ ÂŽ„:d…Þ»Íâƒy4uœ´Å@]°í]·æÁd¦Þ Ó4L¡ã„!uÈ ®X¶"µµµ‡Êw5òcß¾½ù®‚O]·æÁÔÜPŽDò] …šꄎ›MZ„:dE¼! Ÿùg¾+ÈŽP(Ô»O¿ “§¿þ¿ï_yíù®g uù®‚Z…E%ù®Ⱥš#ÛßÙr¨ò`[¦ö±p”c਎D öö–MìßãírÖ/MË7Ž$%iÿh&&™–ÄmiL· µ×¹#™ö¯µ>Öq¶¦µÎ†™>³K=,mOJjZæ¶ÔÇZU›¢õ±VÕš´½¦5ͤô¿=¬J—|l¹nNlBéÕNß&’‹³Y UêØºìò¶¶Î&G›mØ.'·TöUr(ÏÂ)GÉyÍLUsÛ·lÓ™éß›6m–KG™—VÇœ6;¯ÛQ¥ý ›Ú:.8ÓÒ"÷*yÚqܦãR2;6Ë|6œëcYDv‡·öcŽåe³B]–a¦'±fmŽÝ"w<טÎkÜR Û­ËrT1-u¶‘ù\ã’Aò2ìݧ¿[9àW(ŠÅbiã•ÓOŸv§,ëù#qBJ‹Ï1IÇääè×hKœzÈ6“¦Î¡{ÍDqF"¿öoÍ´Ãqò‰$ž8µl#¹¤Ž3žÑQFzUÒN6FòyÉhû§ãôa¦Îm$}v<¿&‚Kë‰Ö°ž;¤òÓÚ•ôeZg&&9–SβNMòé-©ç€É°ÄÍ©IÓ.LÃì˜lÚ¤³-?yZòÖ•šÂ9Â0-Z)-²l–©[„ÃRL/É.*v—§îœ–´×˜5=‡€Î²èl6ºø7¶å:-kËžèq>KѶ½]X˜eczai«a“Ìa­Z¦%ï†H‹ì­¹ž‚{Ç^‡¾‹ÜÅ÷"ç!¾%‘]ˆo9ªØÉZ”Ÿ¡È’Žpߌ%M6ÚþH=­YNâI}q©R¾1M›ƒµHŽÄã©Üú•ÛŽ¿fâ“m'hòQºý¸Þ~Ñ’¤¥ÕØŒ9ÇÊÉÅ´OëXNÝÿ–³lG¢¤Ó^ÇÉ%=¤N-ª-òn_Цõ|›äˆÇæ‡ë1­Fƒú—ïz8Zt„û1a !íúxÀ”iF8œ”ÆãÙÄvØ„ÍÁÞ±#8Îîhßñ¥ç3[Ry!›¯mKñ8pÀÃ\ŽYdh¼c!25™—vzr…±y†nx»>H§R2/iÛÞä˜9A}v9¬¯QžûaÆk™®3¸e¼=Tà¡”É=à™gI¿%•æôú¸3î[`¿f¸{œÔæÎs†ÝoŒ¸žzì—vg4ÂBÄZ[w­_Ûoô!Äë«Wž<ç oó€OɃyLC3¡pêÁ×­&é^¼Ý9Á®ÏÆñæ½ý Ô¶öZ„ãÁ:©Òí§™UjowÁÐ^FZœ¢3åŸä:¦:WP¶ÇËLÏڦФ?RÖ·÷“–§XÜ9TIêÝ7[ãLËÜÉGMÛXÝ‘ûÕBÆN5‡ÜÒÃm§™lÞc‘:£ã(SC´ÚWÉCõ±÷ôm©\ªêùšÀR´{¡i—4)Û€]™!Ù3¤½¬ô»/sé \¾¦«ß—CvÛYÌ92>ÛJìõÀkÍJêÐÙñÇÍÙ¡ûÇ…áДôySJRw,W{¶·„ä)?÷)•óv?$&bžŸ€N±ù%Q‰ãs?”]'·M¯KG'IROô·~xÛ?ý®çJ¤–k:h3µÊìèOÿÆšYz¬áxDOíÒIíGwRmz¹]ï8§1ÒÖ~t«ÔøÞ5¶hKï-Vp¹“þµ\,ípË%Óõª·Bœ2çÜœ]™»73-qÇÍÀKæ‹É°õÊg˜’Ä)(v›Ç>òö‚»Þdó–8p§õ‹”-_³îä™SR ¶ H%j“¿C¸™šµcäk¦Îîça`Ç3$ñ»’/}:™•炤¾BxY>c0粜ë êB 7¹_›N¬íõ“ç5„êTå:]sO·(|tS¤þiXÃgûƒö%u¦K;}ή.›]½º”Gu…¦Ùö!1%YKKË _Þ¸å!Ĥ±£.:çôH$â4ýÛ·þRñ­[~!„¸ý–ÿ'„øö­¿\0÷Ôe«×655O{Â%óÏŒDÂñéçÏûÌ+«×©®þåþß·oýe"ý%óÏ\²bÍ‘êšþ}{_qÁÙÇõïkÍVqñ¹s{ïC#† êÛ»gZ‹ªzzÑ’÷>ÚÑÚ>dàg/<§¬´¤=ó¹KW¾QU]Ó§gKœy òÐKË×:\Õ¿oïÏ^tî1}{ !Zc±…KW¼¾þ­Æ¦¦±' ¿üü³ £Q™%¬ªÏȰùáÌp›æüò|ÉŠ;Ǫ~¾IðøgŒNü—ì}¹tõ;ÙÙte‡]È\û-ÛÃüºõ”Ú&†NUö´)©(â!_¢ØÌ’Oµ šÍØ} —¬8R]ûý¯ÉâïO>¿péÊóΜã4ýö[:÷„÷?Þõ¯B<òô¢EËV.˜{j|úŽ]»¿uÃÕe%%i%¾ÿÑίñÊâÂÂe«×>öÌ ß¸þ*Ûl‹‹ /]pæÃO>ÿõë® ‡S†óþùïO\tÎW_z^k¬uÑÒUO/^ú¹‹çÇ¿ÚþÁÇ_û¿•-mýŸúç¨áCn¼æòøŸ=³øæ/~NñòŠ×v}ºç›7\]\TøäÂ%Ͼøê%óçJ-4E²:wȰӽü&ÓýÙÑ ¨‚Ÿ¹õ?±{‰BÝ–‚’ ¢¤Ý$Ðk@f“ tCÔîïÚù‘¢©©qïžOãSâýèqß½áJ!ÄÚM[>{ÞÜÚêÃBˆS¦ô™—gŒá2]‘È-îä©cãÉNž:ö‘g^ž>nx|úì)£k®=r8m®S§k¨=ÒP+Æ ;þÅWW%¦§e»wϧeEácúôxâ¹Å§Î˜˜œæš‹ç !*îBL7üJÌ{ÚŒ uÕuÕ' 9öù%M§N—øsѲñd«Ö¾yù¹Ÿ‰OŸ1aä}=òÔ1¾5²Ã9Üϧ Ö)·‚„ò4$‚©©©1~΀è÷QTâÃ|åsi©këzt+'èQQ^[_ÿì4]X‚³D²î©ÉÊKSúõÓ‹‹ 㢑XÌtÊ6þç©3'=øäâaƒŽ;¾ŸÄÄOöì_öÚ†½57·¤Í[R\”È<íÏDY5µu÷>ú¬mÝò+‡µp(ɱŠód"‘…\iÅÉ[.ØlüËFÜìýgòsd=¡Ÿ ||ש糀˜à È©ÀÑÀ6ÜiJKŠªªkzt+BTU×”ÅÓ8M·f’Hv¤¦¦´¸Ø)™¿é‘phÁ³Ÿ\¼üšKæ%&>ýâŠÓgO:ðØÂhAcSóþGÆÌ“ÿ,+)¾ú’³Ó®Fœxxà0í*ÅCÎÞN^ ³çô^:¿Ÿä;'føY߀êÊÏêª$÷S\vóûýRbÇúÞJ½€°MáíÝÀö“,— )K]Ñ»gÉcG¾¸bÂ0BBˆ––ÖH$‰®®{åµ Ba„Ûç 'oPÊ“ F8"„˜Ÿ-{ò^¥ò²%–j'*à8«ämûÞ¥JÌT€—Çb3¾ ÀíbüqÞv­ïsJž¡êÎW.…Žeó#ãɲ&¹w?ñÉò¡Ýœ™“^XþúzZ1jøÀSgNЧ±N7B†bæ¤1÷=þ|SsË÷¿vu<‡Çö½÷Ñg››[F 4gÖ¤P¨ý–B(¥0#Ô¾©Ï݆B!!ÄÌÉcï{칦æ–ÿ¼éšäéñ*Ϙ4摽(„…CBˆùsg¿´bí‹^)/+™5yܶ÷>Š´'nûÐ^r8”rº_ œ«‘aŦÍvafÇÝ®íi7;œãFûù”ë÷Cá°Â0D8u\MÒhYÛ>\×ÕõËp(é"Áö†€g®1³{Dí¡‡?cpëzJ:ÛÉ}Oç¶I:£:vÈ%Mv î"07 ›8%žLÍÍôñ~_$åžòÚ‹LÛv%×I¾òwï'O„׎8§Ë—L;&[>)3Ù,=Û½Þi@TÛB¶ÿÖaI·MKÔ,år-½b†!Ò~"Ôé÷Ãñ§] C˜Â…¬«^{K²D$úão\o×+ãž¿5N–ŠÜçu¿Õ YjûYlj³¡SDšr–·«C†jg¬J†ShÈ>‡ä3‡;õWÎ/óñtiád»t¢Ú|™2Áu(¶ý,.ržw¾4ucj:Q’û[`„Âò°G†Ñ$¦Ë_©ß؇àa!’—¶éx˜ÖÛ>—}íÒö§½ mzÌ´{˜*%ãL[²}Hj '÷L¶ -_#åŠÃþ!}׳Ia÷­íý„ÔÚØeŸ9o§G ŒÔomº¢¬×Tvk/©Þ®—­ñ…‹ #2÷äHÒ»hB†!DIŸ~Uïm·}É-øtíí$™Eöb®¬Fo9ëΘ‹åvöÊ`ÁbÓïè’¦+éšµ–“»Ë‡lò²¥Ù§ÉC{mCT×>uÿ%äzf%ùɫӅ»œþn6!£¤oßø *ºsLJŒÝ Tú{÷+©<$)²wì·¾_ŵŸÞ-Ë ¶– ¬_¦eíkÙtF[úsL»T®Å[ʵ|²~•¡Ó:ŠÁåÙ—åeÛ÷m9?¹f¹ëNˆ 1H¦ÕïR»2Sú&m{ûÜî‡8/Çö~ÊûH[÷†t2sì®ð3ÄAÞÃ$LJ&‡^¤MvÈÀZ‚agx( £nƒRÜ7l»Åg»H›lÓXkg»}:—_¹ ‹r»ëår?ÀõVýß©“+Ë®Mn‹Ý’ÖCª ·ì§¹ßI²¶Óþ•ÛwiÙ òËæg¶„møeò;BǶïB6ñ”ËØŠôÐÓp{*\íµù*=—_Ø}•V3»x×C»:¾JÜR›",¿zfÓ.çV$âU›ÈÕh«ˆ]¡™ëÓ¡ã|fÓ.×øÞCÓ,_¤Ì•”*µl—U&œ¾²¹º3’£FÇË —¥IWÖ‚¶—ÍÈZ”pü•ZÛñ'nƒ\ìc¹DîK#y¸¶aÍ'=» ¼ci‰ †Mºö/-Ã'¬•6;âiüíEXfïØlBÉs¥UÓHý.½¿6mNÃHßòÍøH”䦦D¢ÉëÞL_àI»J¨½¶–¡ó‰­W îi‰ÛÝÊl;V´fš†Hß_ Ëz²¾û³ãò¼íÿm·Y )_Y6S££~)§5 ã `ó:£ÄvÒ±ç§aØ/²nKéGžŽ§“v§|@µŽpÿÃ÷ßËc=8:05ßU ³Žpÿ+ßüQëÀÑi×Gïä» tÆ›mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶"ù®G»7×®J|ž4mvk@?„ûä!>uÌh‹Þ}òŒÁ<Ô!Ü Ïñ¨Ã`@[ôîg æ á>yFˆ@óÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}@[„û€¶÷mîÚ"Ü´E¸h‹pÐá> -Â}àÿ·cï( EEñú† >?…‚½X8ÿÖÂ" ZD"؈V"–'lÖÁ)7 Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€,¹Yr²ä>dÉ}È’û%÷ Kî@–Ü€¬eŒñ÷ûs¼,»í¡Çû1çc,ëÙÅëöåêúf O?Ì9ßwoëùåÑóæáióøýõ9ç<ô*`Æ'§ëíÝý?Ü®U2¿:«IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/gparts-flow-2.png0000644000175000017500000005113513634703632017553 00000000000000‰PNG  IHDR¿6p³|sBITÛáOà IDATxœìÝi|ÕÂÇñ“¶4mÓ%](eii‘¥ì–¥E–¢€,²o²ï(  UqD/¢p墈¨—P6QPQvÙA Z(méšÑUøì´‘%h#õ£Ô6R?EÚȃyÀ¦ÌÀw.€<Ì{1eÆ€<Ì{aÞ°ó€E˜÷¬Ä¼`æ=+1ïX„yÀJÌ{aÞ°ó€E˜÷¬Ä¼`æ=+1ïX„yÀJÌ{aÞ°ó€E˜÷ FÇ5þëüYG×à*æM¶÷Û¥p¢7&7£Ñ¨’©;¶ê]Åô//'GÖÃG´¨ãòEËËžö’>$TÁ ¢0Sk¤ÞÒW_ÈË͵äQsëHG»oݪÃcë¾6¼ß¾ï7;ºFæ¹`ûþ´qÝô^l9ü‘z §=íD»ï‚e‰‰[ l™™ž.ý7/7wxlݡͣ[+{2eG×äLÿ粘GÛKË´ZÛ=QAA~|ï¶Û>„ ü»I›öWÏ}sü*_Ôxrä„ÒËäÛ§båRÂÿnÒ6>ãΣ?ïúèµ™7¯]í1êiGWÊÕmþ÷²o>þׄ7æ7lÙ:7;û·¶îÿñ;ÚÅÙ…T®úÛöo;ô$„8òÓ¿À »©·])P×¼‡ Z­—Nú'„¸p*qf¿.OÅÔ|¶K›c¿ü$•1»ré«32Òï¾2´÷„øØ¿íÚÖÙ[çÒià0)C›m”j©Lñ3[I[+ÞÂâörµÆ’¥u·^{6--ïÙüu›î½M2Û=4¹sëá±uÿõâÔ‚üÿ~F2Ûêçóòóòæ==¬]Ï~_ùsØŒWÞyvlÚÍd³+…f¿ãë0gå×KwhØ¢µ"ùê幟³pÓÎß÷îþuÛÓf¯]<7Ýw¯,_Uäé’/_zsõ¦~»ûç-_ŸKiD‹ú#ZÔ_òÒÔÓ‡÷»»{<1x¤F£iÖþñ‡4>´ëG³+Ínªó áBˆ Zm‡¾ƒö}ÿßôÐeÈh›™ÌÔiÐpF£õö©ýp³Kœ¶Ñº”·& ï[·êËOõh×¶ËàQBˆ–ºyûú¹¹»÷7ùòŸ˜>é–Ô(°NOO/]fú]³ý%éÈÁ¼Üœ~Ÿ÷¨PÁÓËë¡úJßZÏ1Ïh½}j5Š©X¥ZÜ=üô¡Õ"¢cš_>“ôÇÑCÙY™½ÆNrsw¯Z£f«ÎÝîÜ.=ŠuïNš¯^_ü…]ÊI¬”Cmzx‘3[)[+Þ´—"4B÷D÷½ß~óÛö­ÍÚ?îQÁSZ_Bw; õönßk€¢m¾U"kH…Ki •S鼇1³æ4lñ¨BëíýûÞŸB*W1ý)¤rÕôÔ[Þ:ßâ+Ín* 8Ä´p÷ÖMÓzÿÀ ³å}ôÒ‚§V›—gÑ?”îÅ¥+šµ{¼ðš­ŸúÚÏ3ïÝuss7 Ù÷³¤KT%5 ¬“—››•©óH¾rÙl' ­nùõJÓäâ žžúÿt+OϼܜԔä{i©OwxÄô¼ú ”–éP~úÀŒ;wŒC‘q÷öí’Nb¥jSù"g¶R¶V¼ h/¥<Ú½÷¿¦øøùœ<Ý´Òl[xë|+V©fZiZ.¥-œ…‡tQÉðƒ¯>08¬²´|ûÆuÓŸn߸ݤ¹Ù•Òr‘³áÍ¿®†T®*-„T´¢2ê™R>\8}rí ßúrsXD¤¡ ``ã¢Ø«Žc®ˆÃ?ý¨õö‰¬S/;+³x ½yíj‘‡¸¹¹kÜÜ ò ¤ÿÞϸgÉé+V¬X5|ñw?[X1—jßZb4nnG÷î.|ñÂh4–r³D‘3›¬­Éj/—j,¹ª×®[ŸŸrõrtÓXÓ®’Þ³Ò Í©¼{ûï¤(³ï¨‡)3¨w¸8ºIl~^î¶/ÿOqx÷?Ú¬ýcfWJå}ô7ÿúï9qÃòr²ï§¦$·êß-;uµ¢E6ˆ2ÊÎÊôñõ«XµšbÇúÕùyÅËpÌ­f4 òÓSoïÙ´~é+3LšVA«-¡5÷¨à¹îÃEùy¹ÙÙçOBh4šˆZu÷ÿ"„8—xìì‰c–zõ…o¿VyÚ¢+VB˜])„è9fâ{ÏOÈÏÏŸ¶p©¢që¶SºµÏ¸{§Ó a­:w·¢¦ ®<˜ôàÒxè&Ͷˆ{®KÛà°* i¥õö)^¦p#>ܺÝëèÄÞ~f„F£ññó‹ªÛpÂìù-:v%w¢——}¾ìõ„¯—ýKëåÕuؘõ !FÏšûá¬é_/[^³Ž…Ÿ†ÝÝ=^Y¾êã9/¯]²Pãæ]oüko—RÞÕúT÷ãüô_¾?Ászyû4jÕæ©© %5Š…ŠŸÙ,ßš¬örµÆ’+¼f"kJjÙéÿ\öÑk3uþþÁaUê5k!–ÛwÔÔ4eIRìZŸtM™J)ghóèE›w™.‚¨AŸè*ÂWˆTÛF*D©Ÿ‹·‘ ÏlŹx9EÚH]÷{ªå÷{ê¤ÞyeÁ…:åg68œ)30öäaÞ°ˆÏ{0ýºÕÐæÑ…oͧC :ýHýh#õså6R×ï\1±c«C»(²rð´—L÷s…ÝLìØªOt•¾u«­ûÚð~û¾ß\zù-ê;ÝÍOÊ+ú‘úÑFêGITú;–ˆï=À’bùîîØ;KÊÀ$áƒ7iŸqçÎÑŸw}ôÚÌ›×®öõ´£++ÑÔ6R?Wn#ç›÷`)BüöÃÖgo9,6ÚôS÷C›Góñ’½;Í?Lñï¼1æÑ˜§~hf¿.¦»‘.³þ£÷'‘uê•t O¦)¥!Š´`I%» ÕeȨ´›Éÿ˜8jç×_†×ªS±jøâï~vÄ®—Cô#õ£ÔÏEÚÈ”Ô~¿‡‚¼ü¼œ韡  È_7|òAnvvÚÍäï¾ø¬e§®Eþš•éãëW±j5!ÄŽõ« òóÌ>…¯@£–­ÿùÂäºVðô´Å^”Fƒ±  ?=õöžMë—¾2cÀ¤i´Ú’²o€þæ_W¥åR¢H š-yéÌéó§NF_?O­—ÑhŒnÒ\?ý0?/Ïh0œ?u‚o‡–Ž~¤~´‘úÑF…©ýw.æOmZùâ݆-ü×Ä=×­]៺/,ºIó†-âžëÒ68¬JƒGZi½}Jz–6Oöygò˜q¯ÎS¶òåÌÛÏŒÐh4>~~QuN˜=¿EÇ®¢äƒÜsÌÄ÷žŸŸŸ?máÒÆqmKjˆ"-h4‹—ÌJOÿèõ„[×ÿrwwoß±CŸAîî¯,_õñœ—×.Y¨qs‹Œ®7þµ·rLœýHýh#õ£D¡+𲤇ró{êçNû™Ëv2MoQ¿y¯~´QÑÔ6R?gi#ç»ßƒ-|ÿÅgízô³]S®€~¤~´‘ú©¼œøw.”uïNÚ ‡k\L:õä¨ Ž® à¬èGêG©Ÿsµ‘Úç=ØšŸ>põïç] À¹ÑÔ6R?§h#Sfpõ± ó€E˜÷¬äêó€…˜÷¬Ä¼`æ=+1ïX„yÀJÌ{aÞ°ó€E˜÷¬Ä¼`æ=+1ïX„yÀJÌ{aÞ°ó€E˜÷¬Ä¼`æ=+1ïXÄ”4eI\òËþY6’‹6R?ÚHýh#õ+c1ïXÄ”þ“~ýBªÃ«.ˆ30,dz©0ïX„û=+1ïX„û=+1ïX„yÀJÌ{aÞ°ó€E˜÷¬Ä¼`æ=+1ïX„yÀJÌ{aÞ°ó€EL™ÁC!BH«µ\˜êÃ2Ë,³ì:ËõÔ‡e5/K¸räÑŽT<×p º¤K¡¹!c@Ò‡ôä!=yH@Ò‡ôä!=yH@Ò‡ôä!=yH@Ò‡ôä!=yH@Ò‡ôä!=yH@Ò‡ôä!=yH@Ò‡ôä!=yH@Ò‡ôä!=yH@Ò‡ôä!=yH@ÒÇÃÑ€+Òh4Ž®ÀzŒ=y{€ÃFGW` Æ€<¤ éÈCzò€<¤ éÈCzò€<¤ éÈCzò€<¤ éÈCzò€<¤ éÈCzò€<¤ éÈCzò`F£Ñ”¥Ñ%QFŽ®\ˆt22ÅW°?º$¬¦)òºq³/b”'<%Ñú€=Ñ%Q\¹ò`'¥ŽáS`gtI”éÈCz€ý”ôi†O9€CÐ%a5Ò‡ô»*þ™†O9€Ñ%aÒ‡ô{+üɆO9€ÃÑ%aÒ‡;U—s*¿é¬ «Çg/§Âª(µ§ô£r± c.aQê"GWÁ L šâè*@ÕèG– ¹Æ€<¤ éÈCzò€<¤ éÈCzò€<¤ éÈCzò€<¤ éÈCzòx8º(Ÿæ6{ëÂ-!„O ÏÃO>ÜûíÞÚ¿Ø^®ùòÔíSCj„ؾ‚ë‘`+c¾S÷±ºÉg’— XV±fÅöÛ—^Þo°OÅeDz€­hÜ4îܫԯR»]íI7„fm8²þHvzvXtØ€¨Ú ª"!2áñ©Ýpô걫7Íâî‹Ý=Ü-T«M-GïÀ<ÒlÈh4&ŸI>óÓ™6ãÛ!¢b£:Ïììéã¹}ÁöUϬš±g†T,ålÊ´Ó4nš—k¾©WRí^5€<Œ=ÀN¢‰ªõh­·Z¾¥¯¢¯Ùº¦§gñ2žë°bÌŠ‚¼‚ŸŽˆŽ¶%–И=vF#„PIeÊéÀ.J]äèŠ8)AS/B˜C?²ýÈEpåÈCzò€<¤ éÈCzç“™pçÚG×®‹ôæ6;½òôûwïKÿÍÏÉ©ÆK ‘ Ž­ÀÎH'°Zà±ÍǤåS?œrøOTò Ž­¸ î5 yšôirxíáCZ!¯=Ü´oÓÝî–þ´aÖ†#ëd§g‡E‡ øç€ª ª !":Nïx|óñôé÷xøÉÙO–RøüoçWO^™šÙà‰é7ÒcŸŠmÒ»Éí‹·¿zþ«‹‡.zxwÕµù€æÒfŸúøÑ G}ƒ}'¬›àC”Qñ|L¯˜o^üæÐÚC†C@XÀÓëŸÖWÕß:kÝŒu\ðÐz´×¦Ó ¤‡'íLúqáéÉé­Gµ–zVI¥ûkÝw,Ú‘u7«Û¬nM"VMZ•z)õѱv½»#÷ÎŒôyj´¨qhÍ¡»7îj}´\èð\SzˆŠê<³³§çöÛW=³jÆžÒúÛn?÷ýsy÷óÞlöfL¯˜ð˜p³…órò>þY9=šõovlÓ±cVÄ>k(0|Ôÿ£ØA±ã׎¿yþæân‹Ã‡‡E‡ !RΦLÛ1Ÿö†“2û‚?»÷ì»þxåÈ+ÞÞ7ÏÝÔúj ù†¥ý—6ë×lì걃áFÒ ÓNÿxzÆO3îݼ÷nü»1½bª6ªZRgùsÏŸ ¿&ÜHº±¸ÛâºÕ¼erö½ìwãßm6 Y底w àĸry4ÍÃ=>²þȱÍÇtnà^ÁÝô§ÆO6öòórsw{lÊc×O_ÏÉÌ‘ÖÇŠÓh4ž>ž‘Í#¯ºVRá ¿]ðò÷jÖ¿™ô×Jµ+ !.¸˜“™ÓaJ7w·Jµ*ÅôŒIü.QÚB›qmˆp^f_ðZ6;#ûúéë†|CŇ*zxŸß>?;¿Ó Ü=Ý+xU8Ü´…Çž{Lë« ‰ ©ÙºæµS×Jé,žíàéãÑ$"(<(¦WŒ.H\=8*6êú©ëÙw”Œ=@¶fýš}1ñ oï'ž(¼~ϲ=¿®øõþÝûnînFƒ17+W«Ó !|}¤^ù¹ù%θP9À´5}e½âî»™©™sž#­ÌÏÉdÈ#Ҳç\eaöÑ$¢ÃsÖN_›v%-¦WLï·{§'§EI?´Q„_%?iÁÓÇ3?7¿”Îb*é¡õð«ø÷²§G~N¾mvåé²U®W¹ ¯àö¥ÛQ-¢®%þg,á¯m_°}ʶ)!Q!†ÃŒ*3Jù™³…ýBüî^¿k*sçú!„_¨_PxÐK^²õNvfö/„h3®M›qmÒ“Ó—^¾ÿ‹ýaÑaþl=öÄ• Xcøòá£?]øóPNfŽ—ŸWPxâ·Ï+È+(åáf G>™ž}xía!ıMÇ’Ï$ !jVWZS¿sýúë;¶VEpå6qùÈe£ÁíèŠ”ÇØl"+-Ë'ÐGãöŸŸÑz³ù›ÙéÙBˆ™¿Ìô ñuhÕeEz€Møúd¥e F)@<·õ¹œÌœ9Mæ !„ÆM# Ýßh0º¹3 NƒS6l"¢I„ÆM“´3Iú¯oE_ߊÿrð«è—v5ÍôßÔ+©~ýì]E€µH° ­NûÄKO¬š¸êø–ãÙéÙ9™9g÷žÿVaã'ÿ°ð‡´«i¹G¿9zåè&T€áÊl¥ÝÓíüBü¶¿»}娕nná1á#WŒ”ƺ¾Òu㬠Ú/ÈNÏ«6rÅÈàêÁŽ®/ÀR•ü »ô‘T%•)O¤»(u‘£+â¦M¼aýÈrô#Á• éÈCzò€<¤ éÈCzò€<¤ éÈCzl.,,,))©ðBIôzýÕ«WmQ‡nݺ}ùå—¶Ø2Dz”´råʘ˜//¯àààAƒ={¶ð_ßzë­°°0GÕ ”Bz³páÂéÓ§¿öÚk7oÞ<}útÛ¶m7lØP¸ÀÈ‘#õz½}*“ŸŸoŸ'à‚H€2233_{íµO?ý´gÏž~~~¡¡¡&L˜6mZá2…¯\èõú¹sç¶iÓ¦víÚ/¿ü²©Ì×_ýÐCšV=z466Ö××·nݺ۷o7•œ6mZ•*Ut:]llì±cÇL›ýÇ?þÑ´iÓnݺíÛ·¯N:AAA#GŽ$LPéPÆ žxâ‰Â+¥_v.É… öìÙsüøñmÛ¶­[·NZ¹cÇŽ'NœÜ´Ù3gÎõôÓO !¼¼¼F½víZiåÌ™3}||ªT©2iÒ¤µk×îÝ»×ÃÃcâĉ¦{÷îÍš5Û²e‹T²oß¾þþþîîî ‰‰‰ÒúÉ“'»¹¹ýòË/>>>#FŒB :´víÚ î,Gz”œššj0,Hhh¨i!99YZ®Zµª´P­Zµäää”””ððpÓC"""RRR¤åÅ‹7lØ0<<¼N:ƒ!33SZ"„HII©^½ºé…— ŒH€2bccÝÜܶmÛVx¥Ñh,å!—.]2-TªTIZþ믿L •*U -üÎ+W®H™ã÷ߟ3gΆ ®\¹rîÜ9"ÏzóæMÓM™ÊŽô(C§ÓÍž={Ô¨Q›6mÊÈÈHIIùè£Þ{ï½R2þü¬¬¬k×®-Y²¤oß¾ÒÊwÞyçþýûׯ_—VÆÅÅåææ.]ºTñí·ß8p [·nBˆŒŒ iDá“O>ÉËË+²ñV­Zݺuë—_~Bìß¿ÿ÷ß·Å^pQFuPUeÊǾºœQõŠ+7n,-÷ë×ïÌ™3ÒòéÓ§ÿû:—–£¢¢LëMË Òò¡C‡š6m*-oݺÕôرcÇÖªUKZÖét¦Ù”W®\1•iРAëÖ­¥åÕ«W›­ƒë,[M@¦2p¨ŸÆ¨ŽŽ!MMWIeÊ“Òçü£8ë^„¦ã,=¼ðë™e•,—å$C?’‹“y¹Gz€¥ÔÙF*©•ÕÐëõ‰‰‰ÕªU³Y¥ð?TòR‘j¢T5Ô¹)¸æ= †ò] ”F%m$…E3Ô¹)¸µ„Mõ|,@IÔÙFê¬P’"¹Êߦà"{ ÑhøÜ¦rjh£Â(ceÔ¹)¸Ò‡ô(@%×ÔQ ‡·QñõVÐWç¦àRH@Ò 5\SGéÛF%=µURç¦àjH@Ò ‡_SÇ9°Jÿ(/냾:7Dzò0ïAýÕF…ŸÔ4øQd ÄŠ©sSpMŽ®”f/šþ/gß\ éP“ÔÏQmôÀçµ¼bêÜ\W.€<¤@Ì{P?ÚPéÈü@\$V?ÚPép0†Óå"Ç• @\SW?ÚPc€*ðyÚ¼ý*AzÀ{¿úÑF€‚¸rä!= àšºúÑF€‚H@æ= àšºúÑF€‚{òpM]ýh#@A¤ ópM]ýh#@AŒ=yH€¸¦®~´  Ò‡y€¸¦®~´  Æ€<¤@\SW?ÚPéÈü@\SW?ÚPc@Ò ®©«m(ˆôäaÞ ®©«m(ˆ±ÀY­\¹2&&ÆËË+88xРAgÏžut,âDµPéP€ý¯©/\¸púô鯽öÚÍ›7OŸ>ݶmÛ 6سN‡y€‚H€óÉÌÌ|íµ×>ýôÓž={úùù…††N˜0aÚ´iBˆ£GÆÆÆúúúÖ­[wûöíRy½^¿téÒÈÈH½^¿dÉ’4hÐ@§ÓÍœ9Ó´M½^?wîÜ6mÚÔ®]ûå—_–V–´µ ´jÕ*22rÆŒ¦-œ?¾cÇŽþþþ+W®,©ð¸qãÒÒÒÚµkió#ÀFŒê ªÊÀ,u¶‘:k%‹»°sçNŸ‚‚‚"ësrrªV­ú¯ýË`0lÚ´ÉÏÏïÚµkF£1  _¿~û÷ï÷ööîÕ«×­[·ÎŸ?tâÄ é±£F2÷ïßoÚ´éÚµkKÙÚ„  CFFF•*U·oß rs+Ú÷îÝëáá1qâDFÓ½{÷fÍšmÙ²EúÓ /¼ Óébcc«W¯>`À€ààਨ¨V­Z8qÂôð§Ÿ~Záåå5zôèµk×–²µ§Ÿ~Z£Ñètº–-[?~\±oß¾ŒŒŒ„„ww÷èèèþýûoÚ´©¤Âœß¹ ]P7›Õ_Òú2 NMM5 EDJJJxx¸é¿)))ÒrXX˜´ Õj+UªdZÎÉÉ1• 5-$''—²µ   iÁËË+77WqíÚµ[·nEEEIësrrFURa[3{ØmÔ€k"=6§øûVll¬››Û¶mÛžxâ ÓJ£ÑzõêUÓš+W®ÄÅÅY¾ÙK—.EDDH •*U’µµ°°°ÈÈȤ¤$KžÈv³™ ØW.HÍ®7-+8ç_§ÓÍž={Ô¨Q›6mÊÈÈHIIùè£Þ{ク¸¸ÜÜÜ¥K— !¾ýöÛtëÖÍòÍΟ??++ëÚµkK–,éÛ·¯¬­ÅÅÅÆ äææ †#GŽœ;w®¤ÂAAA—.]’³ÇVäðoŽ’Ú€H€])•!¦NúüãÕW_ ŽŽŽÞ±cÇ“O>©Õj7mÚ´|ùrN÷üóÏõÕW•+W¶|›;vlРA½zõú÷ï߯_?Y[óððøþûïwíÚ4uêÔÂ×DŠxá…¨×ëåís ø*&`•„q.IªŸ:ÛH%µ*½%½·IåU² z½>11±ZµjŽ­F銫Òléu«¡ÎMÁE0ïåJ>zÊ­†JªíŒJ?t¥ü•c(‚+œ p8®\ÀR´‘Õ,y·ãÀZÂô",ýºÈÁäʈ±@ÖMÜã[V³âÐ1¹Pé°-³ïXäE”tI €­1kP€åQ€Ð ¸Â_]y`1Š`ì°¡"÷/â ÌvŠ^†›bìP@é“Î vSÊ8‘â½Ê!8쀭‘ðv¥~´  æ=yH€¸—€úÑF€‚H@æ= àšºúÑF€‚{òpM]ýh#@A¤ ópM]ýh#@AŒ=yH€¸¦®~´  Ò‡y€¸¦®~´  Æ€<¤@\SW?ÚPéÈü@\SW?ÚPclŽK@9ÃØ éÝ‘O·³Y¡øJ;.ÚPé@™X=®àð<Àj¤@®ù¶WJnxà)e|ÂFÓ5Û°ÒÙŠ¼÷[ñÆ\ü!¦mr‰P?Ò ×yÃ+{n(‰´)Ûe×i#ÀH,b»ÜP|³ŒC*GzPîßÞ G;ìlñ Qö'-÷mØé@iìœ +œ!¸c *¤@år€Ý¹¡°"ãV+—m8 ÷šTAU¿áT¤2jxÇUC˜0ö( ,ïmF£Q=“í35Ò:e„PվΎô8žé­È5~»½á©94¡æº®ƒô(@©1û_щrC9|\(OH€êØ'C¸Nn 8Ò [¼õÚ.C¸fnp‘Ýìƒô¨šÙ !¬z/ä7-(…ô(ÀÖ×Ô‹Ý Œ_ïtÁÜÀ¼@A¤ÀiùjFY¶eAzà[8C  î5 ä!= PÕ}¦am(ˆôäaÞ ®©«m(ˆ± éP×ÔÕ6Dzò0ïP×ÔÕ6ÄØ‡ô(€kêêG "=y˜÷(€kêêG bìÈCzÀ5uõ£‘€<Ì{À5uõ£1öä!= àšºúÑF€‚H@æ= àšºúÑF€‚{”Qx`œeu.P éÈ£QÉhžôá@%•Y´ * vIz7äbìÈCzò€<¤ éÈCzò€<¤ éÈCzò€<¤ éÈCzò€<¤ éÈãáè ®N£Ñ8º NÆh4:º €«cìÈÃØ  |ž¶ã4€J0öä!=yH@Ò‡ôäqXzÐh4¥OŸ~`àþƦ”Š|WЀš9lì¡pb0Å…"ã |bÞÇ‘é¡ô¡P'Æ€<N% 00ð€j1öäq|z(>ÌÀÀ ¸š5knÙ²ÅôßY³f1ÂqÕàÜŸ€sQEz(<ØÀÀ`gçÏŸïØ±£¿¿DDÄÊ•+¥•Ó¦M«R¥ŠN§‹=vì˜bîܹ#GŽ4=ªsçÎË—/Ÿ7oÞðáÃM+;uêdçÊpU¤ŽRPPÐ¥K—öíÛ§¥¥mß¾}úôé'OžB´lÙ2)))==½k×®R>0`À† rss…·oßþùçŸ{÷î=xðà7fgg !’““ùåÇîû(SzÐ(ÇÛT¡2·`½Áƒ‡üí½÷Þ“VîÛ·/###!!ÁÝÝ=::ºÿþ›6mBôíÛ×ßßßÝÝ=!!!111##£V­ZQQQÛ¶mB¬_¿¾]»vAAAÕ«WoÔ¨ÑæÍ›…kÖ¬éܹ³w€Ý0ö¸Š÷ßÿ÷¿;VZyíÚµ[·nEEEEFFFFF®[·.##C±xñ↠†‡‡×©SÇ`0dff !¸fÍ!Äš5k(maÈ!«V­B¬ZµjðàÁÙ5v¦À¯d-J]Tö”{S‚¦8º puÁÁÁÕªU“–ýüüîÞ½+„ ‹ŒŒLJJ*\ò÷ߟ3gί¿þúÐCx{{K’ú÷ïÿæ›o^¼xqÿþýß|óT¸_¿~3fÌ8räÈ™3gºtébß}àŒ=.-..Îh4.X° 77×`09räܹsþþþÕ«WB|òÉ'yyyRáÈÈÈzõê=Zše)­ ìСÃСCûôé£Õj¶'ìˆô¸4ï¿ÿ~×®]!!!AAAS§NÍÉɉ‹‹‹¯W¯^|||rr²N§3•0`ÀÎ; Px#C† 9uê—-ס)Ë7$¥i€\¹°„tå©¿*5·Sï‚:•ƒ{øðá=z\¾|ÙÍͶHÊÁ±R‚Gƒ ¹{PVK–,6l˜­£õ ·°ÞíÛ·}||Ž;6mÚ4G×€ý(ð .+888++Ëѵ`oŒ=6Ä]Â‚ÃØc€Í1%Ín €}0öØPáÄàìˆõzýÕ«W-)VäöSvPäð’Õ›"=veÏ ñÃ?4iÒÄÓÓS¯×ÇÇÇŸ={Ö>ÏkgÎËgDzlËì‡`;¼á¥¦¦öìÙsüøñiii/^œ8q¢MŸÎ!J:Œ <¶Fz€<¶ûÒr¬ôƒi£–’FƯÓéôz}Ÿ>}jÖ¬9oÞ<éç¶%:uúôÓO…z½~éÒ¥‘‘‘z½~É’%hРN§›9sfám~ýõ×=ôP``àË/¿,­9zôhll¬¯¯oݺu·oßn£})Î’[îÙíhÅ‘€ò©nݺ^^^cƌٹsgzzº´rðàÁ7nÌÎÎB$''ÿòË/}úô‘þ´sçΓ'Onß¾}ÆŒo¿ýöO?ý”˜˜¸|ùòÄÄDÓ6wìØqâĉ“'O®Y³fݺu¹¹¹Ý»w>|ø½{÷æÏŸß·oßëׯÛa×xãŽôKa-‡´—ŸŸß¾}û FŽ>>UªT™4iÒÚµk÷îÝëáá1qâDFÓ½{÷fÍšmٲŻöÀCêè·+;p 8Òà0¶>ûשSç³Ï>»téÒÉ“'O:5kÖ,!Ä!CV­Z%„XµjUáßµ “´Zm¥J•LË999¦2U«V•ªU«–œœœ’’núkDDDJJŠív§0Þ8Ç"=¶ev˜ÝÎo~µk×4ht ¢_¿~;wlÀ²Š5+¶ŸØ~÷‡»\ôã€÷Ôn[;ï~Þ±-ÇŽo=?)^*\ïñz©_Nþrã¬Ã?îèêàÄœ5=hÜ4îܫԯR»]íI7r³r¿{ë»áˇ×ëXO¡õÕÆŒ3ýJ¯ÆMãæáæêÓ+fϲ=­8Nωç=ÆÜ8óÓ™Ju*]:|ÉX`¬ûXÝÂ4Máÿf¦fÛ|,ê‘(ûV€òÆYÇ>ô±ÂGïÓ¨[£GÇ>zjÛ)Ÿ@›¦”ÂBˆ¨¾óûÚ¯–”GΚÆ®[¿S}Ó}}²Ò²Œ£Ù!ÎÏÉßóñžû|8sïL7'tœŽF£1]IP”“7ÑêM«kÜ4I;“ ¯,r¶òÐz<òÔ#Ég’o_ºmßÚ®ESLI+8©r’<}<Ÿxé‰Õ“V'~—˜“™“q3cß¿÷íþ`·ôW£ÁhÈ7äfåþú¿zz{ú…ú9´²@¹bu, OÎËY¯\×îévº@Ýwo}÷ÙÈÏ´>ÚÚmkwÕUúÓòÁË…nnauÂF®éåçåКåD)ï÷¼Naö±ÒJ®qêW¦‹‘RW_”ºH¹ú”[S‚¦N‹0Çß2‹¼÷+RyK¶éŒÇÊ)p`!Wù{`¶È …7eÚ>ïg€š‘XÄv¹¡øfɀʕ“Y“lªpt0¶~;/òL¨Ô†±¥)’ìùÔ…Ç!€ª˜çÀÜPX‘kÔ€+€*¨ê†E*£†ij¨Æ3ê™$hŸ©‘ÖaPÒàxÿý5ùÿ½Æo·7o5‡†"Ô\7Àu±ÿ÷(7PÒ :öÉäV#=*e» AnPF¤@ÕÌfaÕ[~ñù†äÖ!=N ø× ÊøÕr€² =N£ÈW3ʲ( Òà|‹{MyH@Ò‡ôä!=yH@Ò‡ôä!=yH@Ò‡ôä!=yH@Ò‡ôä!=yH@Ò‡ôäÑFë¬Ñ(XWP–£ 6"Ì9AÁrŒ=y<Êò`ƒªj“¯FS¦áÊÆJ#e.ÐPéÈCz(Qá!†0!=yHæl`ø é\ŽF£)ýÑ ÀÅ‘Ì(©ÏЗ”'f#¹– =€Ë)|SV(’¸Õ JAz(ê£yv« êDzWTúÐ(éᘵ3fGùpM¤3ŠÄ…RV€ó*éœÆ¹T¦_É*ØgèT0ö®Ëì8«CjçBzòÀ¥l`à"=y˜5YÎñýR¹øì…â\§)µ§ô£r± c.Ï–pÏ—°ýÈô#Á؇ôä!=yH@Ò‡ôä!=yH@Ò‡ôä!=yH@Ò),,,))©ø2@ÍH(«š5kVªT)++KúoBB¤I“J)röìÙâëßzë­°°0Y8é ÈÏÏÿàƒʸ‘‘#GêõzEê°)Ò0uêÔwÞyÇ4ü`rþüùŽ;úûûGDD¬\¹R1nܸ´´´víÚEFFîܹ³paéÊ…Ñh|öÙgƒƒƒõz}½zõ®\¹Rø!vÛ#@)HP@‹-bbbŠ ?téÒ¥}ûöiiiÛ·oŸ>}úÉ“'—-[¸{÷î‹/ÆÇÇßÔîÝ»øá‡sçÎݹsgÆ ~~~…b§ý”Šôe¼þúëE†öíÛ—‘‘‘àîîÝ¿ÿM›6=p;:îÞ½{‰‰‰ùùùµk׿Z¨éÊ(>üpíÚµ[·nEEEEFFFFF®[·.##ãÛ‰9sæ3Ï<ûÌ’‡ì‰ôÅHÃ_|ñ…ô߸¸8£Ñ¸`Á‚ÜÜ\ƒÁpäÈ‘sçÎ !‚‚‚.]ºTÒFNœ8qäÈ£Ñèïïïíím0øÀÙéõú«W¯Úí鸷 ÊŽô%½þúë©©©Ò²‡‡Ç÷ß¿k×®   ©S§æää!^xá…êõúmÛ¶ßÂ;w† ^½zõÑ£G~ˆ=÷(£~ø¡I“&žžžz½>>>Þ±÷,)|Ó”Rî­XHc4]!þšVIeLÔY+YÊÁ.Ø Ç %±âµ‘ššþÞ{ï 2$//oÇŽ7®Y³¦ÙÂz½>11±ZµjÊTלß~û­¤ (ˆ~ä"{åIôǯÓéôz}Ÿ>}¤wî³gÏvêÔÉÏÏ/$$döìÙ¦òÛ¶m«Y³¦¯¯ïŒ3¤5Åo—"„ÐëõK—.ŒŒÔëõK–,9pà@ƒ t:ÝÌ™3M›š6mZ•*Ut:]llì±cÇD±û¬¾rQ¤>Åo¸b—£'dTUUÆDµ’¥ì‚Ýp¬P+^éééAAA£GÞ±cÇÝ»w¥•yyy5kÖ|ýõ×srr²²²:$­èÛ·ozzúÙ³gõzýÁƒóóóëÔ©3oÞ¼üüüÓ§O‡††&&&J%ûõë—‘‘±ÿ~ooï^½zݺuëüùóAAA'Nœ¶¶víÚ»wïæçç¿þúë7–VÿùçŸÒr¥J•NŸ>m¶>;wŽNKK3üñ‡´`ëcg¤–6Vç Nµ’¥ì‚Ýp¬Pë^III#FŒˆˆˆððð0`ÀÝ»wwïÞ]­Z5ƒÁP¤d@@ÀÁƒ¥åž={~òÉ'{öì©Zµª©ä¤I“æÍ›W¤dttô—_~)-wëÖmÕªUE6›íîî~ïÞ=c é¡x}öïß_µjÕŸþ9//OîþJèG.‚+NL£ÑðUF@µêÔ©óÙgŸ]ºtéäÉ“§Nš5kÖõë×###Ív[Ó4FN—››[ÊíRL%µZm¥J•LËÒ¬d!ÄâÅ‹6l^§NƒÁ™™YR ‹×‡®ÀB¤§G†T®víÚƒ JLL¬\¹²…ß=.év)ôûï¿Ï™3gÆ W®\9w‡‡Ñh%Ü4Ål}Šßp(ŽôàÄŒ…f5“!U9sæÌ‚ .]º”——wâĉիW7mÚ4..ÎÓÓsîܹyyy÷ïß?räHI/év)”‘‘áïï_½zu!Ä'Ÿ|’——'­7{Ó”âõ1{à8ÒC¹b‡ ñòË/ëõzÿ¾}û–T¦fÍš[¶l±i5$…¿Â¨Š4A¡E‹ÞÞÞ?þxëÖ­ßxã ­[·îÚµ+000""bëÖ­%=¼¤Û¥+÷-[¶LJJJOOïÚµ«¼qãÆììl!Drrò/¿üÒ§OŸÜÜÜîÝ»>üÞ½{óçÏïÛ·ïõë×KÚæ²eËwïÞ}ñâÅ2ì@6ÒCió-Z™ìy@8nܸ“'O¾øâ‹Òš^½zíÙ³çìÛ·¯¿¿¿»»{BBBbbbFFFõêÕ5j´yóf!Äš5k:wî°wï^‰'j4šîÝ»7kÖÌ>ó'²Ê-ųERRÒ¾}ûÞxãM›6mݺuîܹÙÙÙ?ÿüsãÆøX³_@2dȪU«„«V­}ú”þ@é è¿þúëC=TPPàíí-Õ°_¿~3fÌ8räÈ™3gºté"„ -ü;ÅW®\‰‹‹swwwssËÏÏ—V¦§§› (>±` ÆÊ›^ËhÚ´©››ÛÒ¥K…•+W~æ™gvìØÑ°aC³…óòò²ÿv÷î]³_@ ìСÃСCûôé£Õj…qqq¹¹¹ÒS|ûí·èÖ­›F£iРÁ®]»„‡:xð éYÌ~…`k¤'Vø“·æ@xzznÛ¶mýúõÑÑÑ 6¸úì€ôU°Ýù®øf9÷¡¼¢ÁnøÆ&¯ð)Ïh4Úú4Tä)ø¢Êú쉱8R‘ó=Ÿºðç'N|pjô#ØéŽáÀó]aEÆ`çB?‚£påÂ%h4õtì"•QÃåR5ÔêG?*ê»Ñ¨¤½™wc;ö™Hå\5)‰F£–µQÏ«Wýwp¢¹µ´1éÁuú+þ¼¦5´8œŽzú‘àÌ ÇaÞƒ ±ÿ÷¬Ôóq P ýŒ=¸,[ŸJÙ>§B”ìG… Љ`Œ=¸(Û}~"ÀuÐà²{€2“°,܈Ù)ë´;Ê{ö£"åéA°?Æ`æ»ÚeüZç2¸ ú\ éÿa:UY}ʳîßïB9b‡~¨éEqòÊŽ~„òô;)ý£˜+?¨çö…ÎÂe_*€zp§j8 ïà¤{€=¹¹¤ÙÿºòðƒbQê"GWÁ L šâè*‚±ØSIáÀ•C8#Æ`s– *˜!H ~Œ=Àæ,Dp ¤ éÈCzò€<¤ éÈCzò€<¤ éÈCzò€<¤ éÈCzò€<¤ éÈCzò€<¤ éÈCzò€<¤ éÈCzò€<¤"!2áε;êß&•ðpt¨QîýÜu3Öý±óŒÛ•ëUî=¯w–5])Ki4!„ÑhttE€r‹±fägç„<³á™9Istn°lвœŒGWêÁ4Øc@9qþ·ó«'¯ÎLÍlðDƒôé±OÅÆôŠùæÅo­=d(0„<½þi}Uý­ó·ÖÍXwáÀ­G›qm:½ÐIzxÒΤþ˜žœÞzTë'g?éèÓuVWéOftúaá7Ï߬֨š"!2!~R|Ò®¤{)÷îñ°TÌìfo>þÓG?e¥eµÝÚ´5)xlŠô”y9yŸ ÿ¬ÇœÍú7;¶éØŠ1+bŸŠ=»÷ì»þxåÈ+ÞÞ7ÏÝÔúj ù†¥ý—6ë×lì걃áFÒ ÓNÿxzÆO3îݼ÷nü»1½bÂcÂMºzìªGŠ5*šÖܾtûÙoŸÍËÉ{ÿ‰÷«5ªÖ°KC³›=³çÌÌ_fÞ¿{q×ÅÕUküdc[ì;ƒ €ýqå(.üvÁËß«YÿfBˆÆO6®T»’B«Ófgd_?}Ýo¨øPEïïóûÏçgçwz¡“»§{¯ áÿ7"<öÜcZ_mHTHÍÖ5¯ºfZŸ}/û‹g¾èöj7­¯Ö´²õ¨ÖBˆ Ú -†´ø}Ãï%m¶Ãs<½=Âóèï~W|¯KºNÁÀ`kŒ=ÀaøÈ¨ ŒÛ•LÿÕWÖ !"šDtx®ÃÚékÓ®¤ÅôŠéývïôäô ˆ ³GÞ¯’Ÿ´àé㙟›/-çeç-¸,ºCô£c-\Ø·¢¯iáÞÍ{%mÖT%}Uý½­÷ØÏ¿•þâá¥Øc@yàâw÷ú]Óï\ÿÏW%ÛŒk3sïÌ—¼ôWâ_û¿Øï_É?õJª…Û,È-ødÈ'¡5C{ÎíYäOiWÒL ~ýJÚ¬©Jw®Ýñ«è'kJA8Žô0¢Eiä#ÿßÞÝÅFU%¿·-jÑÂXˆT@@Qk‚âÇêJ$ÄDÔ¨¨ø´p“†‰4šø`|€«îÆ·]Yc üˆdшÁ"ÄlL ¤Zˆ‚€cJ[:wưMKKíÌÜÎü~O“éœ;ç¥÷?çÎÇŒ“'N~±õ‹(ŠönÛ{¸õpEíÿmoÛÛ–$ÉuœW{^’K®øÃ5çÕ|°þƒžîžî“Ým{ÛÚ`®'÷Ú_^sÁ˜Åkwwvwwv'¹ÿOuÇßvtut?t|ç?vιÎ@›ýèïuŸì>qøÄgÿülÎý#ö¢‡³>h¥þ'-¶‘z`a蜹€r0æü1Ëþµlsóæ·ZÞºnáu³æÍª®©î8Þ±eõ–_Ú~©®©nüSã­¾µª¦ê‰-OlY½å×>S;fþó§Î™zÆ =pôËEÑSSžÊ_³bÛŠ+ç]™¿<{Áìu\÷Û/¿Í[>ïúû¯¢èŒ›5oÖÚÛÖö¾ÙHÉ2-B@©Ä)éVŸîBÅÊÿò¿tô¥ÜæÚÛÖ.ùë’}¾SËŒ––]-™É™Bl|p+ëWFýþPxá$Ÿ3P&¾ûü»“'N&Iòù¦Ï³G²ÓæN+õŒŠÄê=Ÿ3P&¾ÿÏ÷¯.}µ«£«~Zýòזל_Yÿ»ûœËˆã´,¬BYJË0g.¨X…8sQ®Îxæ¢?O Ð*ëÙ P tš×=aÔF=aÔF=aÔF=aÔF=aÔF=aÔF=aÔF=aÔF=aÔF=aÔF=aÔF=aÔF=aÔF=aÔF=aÔF=aâ$IJ=‡(Š¢8Ž£(JÉd ˜ò¿ü ?PrÖ€05¥žT:ϤQÇÚF=aÔF=aÔF=aÔF=aÔF=aÔF=aÔF=aÔF=aÔF=aÔF=aÔF=aÔF=aÔ¦dõÇqÇùP5¥½û|$IÒÿJ â>Gî¢Þ÷Ù*¡„sâu@˜RÖÃàK  ¬=aJ\-0Xx€Ô²ö„)}=ô_f°ðiVúzF—TÔCïÅ r©¨`ÖgMúHéPVV(Ö€0#ð-YžO…uʆµ Œz¨ Œz¨ Œz¨ Œz¨ Œz¨ Œz¨ Œz¨ Œz¨ Œz¨ Œz”a=d2™¶¶¶RÏÊVJëaÓ¦M7ÝtSmmm]]ÝwÞùî»ï–zFÀïÒX/¾øâêÕ«Ÿ~úéC‡»qãÆÅ‹?>“ÉÜwß}›7oÎÿôÛo¿½ë®»Æ7mÚ´×_=e&“Y·nÝ7Þxï½÷æ¯yûí·gΜyñÅ?óÌ3ƒ ì=öž{îyòÉ''L˜Éd®½öÚƒq§`4©)õúÚ½{w.—»ûî»ûÿ¨§§gÑ¢E=öØ{ï½÷Í7ßÌŸ?îܹQµ¶¶îÞ½»ªê÷Ú±cǾ}ûŽ;vÇwÜpà >øà@OýôÓO›ššöïߟÉdZ[[ëêꊶË0º¤níáÈ‘#õõõ§;`öìÙ ?ýôÓ®]»²ÙlKKKuuõÕW_½dÉ’mÛ¶åoÖÜÜ|zHEkÖ¬;vìäÉ“W¬X±uëÖAž{á…þúë¯_}õÕ©S§®ºêªL&S̽€Q$uk&L8zôh.—Ë×ÀÎ;³ÙìÌ™3{zz~üñÇŸþùòË/Ïß²³³sùòåùË'N콑)S¦ä/L:õðáà <=ö–[nY³fMSSÓ}ôÑ—_~¹¶¶¶Àû £Rêêáæ›o®ªªzÿý÷.\EÑ%—\2vìØüf̘ñõ×_Ÿu#?üðÃôéÓó&Mš4ÄÍÍÍÍÍÍííí<ðÀÆ›šš†½7P†Rwæâ¢‹.zî¹ç–-[öÎ;ï?~<›Í~òÉ'QÅq|ûí·'I²~ýú®®®\.·gÏžýû÷Ÿq#/¼ðBGGG{{û+¯¼òðÃeà¾}ûöìÙ“$ɸqãjkks¹\¡÷F©ÔÕCE«V­Ú°aÃóÏ?ßÐÐp饗nذáÍ7ßœ4iRMMÍöíÛ?þøã‰'Ö×ׯZµª³³óŒ[X°`Accã5×\óÐC=òÈ#CxìØ±¥K—Ž?þ²Ë.›>}úã?^ø€Q)N’äÜÇqEÃÙBåðXP6Ò¸ö¤™z¨ Œz¨ Œz¨ Œz¨ Œz¨ Œz¨ Œz¨ Œz¨ Œz¨ Œz¨ Œz¨ Œz¨ Œz¨‡³ˆã¸ÔS€t©)õÒ匭ÐÿÊ$IŠ2H£Š®‡s^WÐT² ­‡Aºá¬0Èú„† T\=ô9öŸÃñ¾ÿÓÛÔT‚ ª‡áwÃ@ò›ÒTˆŠ¨‡ÂuCÿÍjÊ^ù¿c³w:$IRèÃyŸ»ð†OÊO9¯=ôé†bÞuïu@™)Ïz(a7ôÖç\”‡8sÇqz}&“†—¤a0‚âaÛŠó‚ÄÑ5“ÄñpmHƒ;ž•êàþh€23Âφ‹y,× PYK/ôq]7@ ðL|!ŽñºJ®à¯ã‘¯£ô–EzÀ¾¥S7@iû=„眢RÂ'aÊÿ[²€‘¥€0ÿXšû<Ý ÈIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/switcap_figure3.jpg0000644000175000017500000007664713634703632020260 00000000000000ÿØÿàJFIFHHÿáExifMM*ÿÛC  !"$"$ÿÛCÿÀ2x"ÿÄÿÄY !g¥(1"AHVW‡•–ÅÒÓã8Q#2Xa…¦´3BGRqwÃ$6³&7CTbruv‘%4DS5s²ÿÄÿÄÿÚ ?²â=ëŠ|÷³‡8sÌÿvÓ[yêú$ÿÞTÊ’•2¯ü†DiþöÞ¢”û™âAã½èÛÞBÌ3ÒŸsæx³ÏJ}Ìñ éO¹ž$,À3ÒŸsæx³ÏJ}Ìñ éO¹ž$,À3ÒŸsæx³ÏJ}Ìñ éO¹ž$,À3ÒŸsæx³ÏJ}Ìñ éO¹ž$,À3ÒŸsæx³ÏJ}Ìñ éO¹ž$,À3ÒŸsæx³ÏJ}Ìñ éO¹ž$,À3ÒŸsæx³ÏJ}Ìñ éO¹ž$,À3ÒŸsæx³ÏJ}Ìñ éO¹ž$,À3ÒŸsæx³ÏJ}Ìñ éO¹ž$,À3ÒŸs\ð™¿$;¨ð'Ëž7䀳Œ÷QàO—<&oÉê< òç„Íù ,À#=ÔxåÏ ›òCº|¹á3~H 0ÏuùsÂfüî£ÀŸ.xLß’Ì3ÝG>\ð™¿$;¨ð'Ëž7䀳Œ÷QàO—<&oÉê< òç„Íù ,À#=ÔxåÏ ›òCº|¹á3~H 0ÏuùsÂfüî£ÀŸ.xLß’Ì3ÝG>\ð™¿$;¨ð'Ëž7䀳Œ÷QàO—<&oÉê< òç„Íù ,À#=ÔxåÏ ›òCº|¹á3~H 0ÏuùsÂfüî£ÀŸ.xLß’Ì3ÝG>\ð™¿$v¬œ{Â{Òç‰lÛ7_oÕ¦kíxÿgÊo^„)jï–Ù$²JT{Lº¿ÀŸïFÞòñÞômï ñÞômï!fŸïFÞò`œ%ûÎãîä–,Â3„¿yÜoýÁü’ŘæûÇ)²+*£\·ŒHµNGi‡¤­£È%“HVƒÈÈòVY­·]£\”vk ¤:¥=ìù91]'Q‘äe™xHöx DíUݘ6å~›' êwE*mNEH«vù´ô©DóŠ^—£¨Ò³q¢I‘—WQÕU>ß7f Ô'Ä©Ejøm¶l:Ù ß`˜[dm›Í![s3Ôdi2ê{…ÇY¦ÛÔÕÚÄžÖ§@ar$½¡KäÛIf¥iI".¢#1<¿±)ê]Ác}ŒÙ¿F©­êÒ ¢fÚaF}e›Ï´¬ËÀÚ³<ºùx¡z]1äb,»r©ÚtûFÙQ‘¥–œ%ÔÜAº“=I3üÓiAéê>Wi@)빨 Ë¢Ãr«¹UÄ©TÆ­.JJ[åhIíÉ(Úg–ÌË=¦C®>^Åš}ç[ÇŒ—O½þË‘R§M\G>ÊeîÓu1¹ È̉ÎY*$dy2Í;Ln+5|JÄ+þä·l;®%—J¶j4Š‚émÎ~l•7­H$¸zPÚIIÛúYþÍ€- $5ki¸\Ó•:}‘p¢¦pæÖ'Je4øðÒ£Îy§•#ï“–Mg™(ö‘ >â¥j0Ûvcø·CÅ5þÙCÎÅ¥· ÚrÛlÖƒ#dÍ J´™dgŸ‡üCé`>[Sñ¦þ¸/˜4;òŸnS¨7D¨q%9GjSÏ% F˜Æ“$¥-¤Q¹ß,ÍyuÚ6Þ5kÂÑ–«Š4H×§"‘UDSW$rQ©¶’T“J‹?Äíçe•¼ê҆ГRԣȒE´ÌÇ Â¼­«îÝnáµ*i©Sqm¥âimž¤žJ#JÒ•ÿ‰~Ôc ÙWs·BÂåÑ‘TL›sÊnŒÄ§Þ&›Ž—']RŒÈ’”·¬ó3/Ñ—ÁêýŸncµVÊ´.*-VqSZ¨Â*tÖŸLyqЖ^lù3HÏÀ:Ü¢ª›„|¡“6ÚP£$å°ó#>¢<ƒè¡‹ÄÌT°°Ùpz×~ÊU@œ8¥Ú½Ê4ëþ‰ Ë-iëˬu0íû‚E§Ûšm}DÍYˤ-J!BÓ¨¶§,ÈŒÈ<ŒÈHû î?ÉL{ÂÊߨ5Êï#°žÒ£Dí™KÔÓIÍ-æY‘g™íØDf{‡¸Í†7ýQT»Nì‹>q$ÔQ–ˬ8²"ÌÍ)u)5d]zsÈjaÜ”YwLû^<Ýuz|v¤ÊÉ,¹6ÝÕ¡ZŒ´žzU°ŒÌ²ÛÝÊ1°êžvÙb¹¼™é©\´Â‚rI ¬Žf¢ZœÖY§2ØGáÈwj7{?q^è”Êßj—iÓå)¤FæŽ\É$~ Ï"Ïö€º€O©Öc¸˜åÝoÉKPŠ¢í¤t„¶Â$“‹Bejå9BAm,³õň÷5ísÚÖfԡФVíäÜs*Ó"vÊáÄ^Im-´y%NÕ·QäY~ÐÛ¦½J¶-é·rWjS`´oI{“Rô ºÏJHÔð#ôg›‘¹ «SN –…e–de™ùóÓ‰°0+hx€ô:ÔX´Â]2àŽÓqÎrTE­GJ“Z ºË½2VΡØÃ»æ±Š7+,KŠm¥l,Õ¦6ÓnȪ?ÉÿBÙ8•l‘–×2ÍYƒ"-@-â3‹_yÜýÿü’˜Fqkï;‚¿ÿ’@ 0ÏŽ÷£oyxïz6÷xïz6÷³ÏŽ÷£oy 0Îýçq¿÷òKG—SkI) #%õá/Þwÿp$±fQ’HÌ̈‹i™øAíÈ8Å„”Ó´í«›[Qßté7Zn¨¬)Z’ÓÄòM+Òf¢%$Ï2ÈÏ.¡¬Â :äq]wÅëÚ,Ö®uÇC”ØJåˆÃRF³"7d¥,º²:M×kUÉ£¤Ü´j‡,ùÇkµg4î·I*Y¶*<ÔImjÒ[rB¨Œv@E­L!˜Í¿~Ðë.¶–ª,}By•iTzkiZãm=*C¬³ë>M'—Pó•‹t—c=ÁnÍGÚz™-ùåÊ6žVsè<Ñ«2A{ÖÈóË$Ü…yrD†ã­æÒó©R›lÔD¥’rÔd]fE™gøfCÈ%‰¶­í¡…×­k³pÕ-d3*–ª“qá?,ž—š;Ó,ϯ¨²ëJ­'púý¸î;Ñ‹yÒ•"œº«pƒ% èR‰k#BТJñgû6‹*_ar\Œ—›Sí¥+[d¢5%*Ì’f]dG¥Y‡#ü÷±±V㳨õ[ž-ìªÀ¯9TvÖ[· ÈÆ…!¸©qH"Z‘™+S¤dfg´È¶úL[˜¯qbÖÝu,9£Zt¹õ:%M‰·Ê²¦Íå©$”)%¥IAš‹>£ð}>eÃ*Î'Q®¬N]›gSnªt‹ÞkkiÊ¢a; í-æêi2q³I ´§%¤úóÙ_Á 6¥gZR“_“M~³R‘W«9Œší‡ÔFhF­¦”‘%$gýÑ£¶­Š¸õYê,Õ]^{•ÇÊ­|¬…‘—ßéÌ’[‘lê€Ë’Ã~öÆÖêW…ëB…IäélLKOµ*cêüóŠhÍ_ „!%©%´ó,Ç7°–Ÿ‰â«2ƒN»¨U'ÂLÌB9iJ´ºÂÖDE¥M©_¥³2!eK Û¯ÁÇ,@ºªÓ‹L­D¥&†ój5­–V—RiJŒËI¨‹3"#ðf2W6ÝõÛk)yk×-Y™4Ç^x¹L¡¦ H^ƒÔ„¯“Z<Œ³Ï,ºïå‹âÙÆ ²ÁoÑðRÚ²¢A“C±™«ÆqÙ‰iÂ_&É6”¡²ÔD£Ö¢êëültKr´Ïd ~ë~ ·G™oÃˆÃæê ÔòqKF’Q¨²%ܲ۰ÌQŽS ÊŠìY'yÛ‰?ë$Ë#/þ|÷N¶×;²Êm¤õ·Hp®¹m%Dib¦û=®†Ì¼d•½þ'ž~×ã/÷ªoCg -|I¶m¾B$‰­E“ͺÍÃJmi3$šM“/yf6xwaZ{Gr‘gQ¥DuÓuÄ¡kqn/ñRÖjR¿Ìöx˜Î°Šë§àíf‘‹ʵÓ¬Í ÝqéÌ"C Z㆒3ɵ¬È²-¹$¼e‹Íßò*2 óIkâU¶ñ$â°ôæ¢HŒzK_)Û¤+¾,ÉHÒ{KfÌÅtL»,J‡hT¢ÕX‰Ú•Uúƒt¸O©ØÔæ×‘%†Ô­§‘'3Ë"ÌÏ-ƒ‘Ž4»ñœS°ï[*Ëü«MŠ‹r£}¨Ä,ô6„wîŸìQì#êðf,€YgñEÚMáê}E‰V‹P-úëUžC„Û(i$IQ©F¥YÌÇ^»‡+“1 ªL®-å¶âS#ÍCˆQò‰'IfHÏQiÖ“ÚDGà1_ ÌãõJΑ†NÙôÈrS\»UWKŒ8Á¤·O+Ê [‘ˆügи°âæ²n{VóÃ:lJìŠ%¼›re&\¾Ö\ȈÉM©·O4¥ÂYmÔY·€MÛDÆ;ë /”×é°éŽUiEkÇ–ÃêiÌóSŽÉ2IϨˆ•¤ˆ¿Ô“`Ö­+êÕ¼l:K iÈŒQîjCÛ)r2RDÛèÍIF¶O2ȶ©'‘~ÛÎ-}çpC÷ÿòHaů¼î~ÿþI,À#>;Þ½äã½èÛÞ@ã½èÛÞBÌ#>;Þ½ä,À#8K÷ÆÿÜÉ,Tî¸ePµê°LŸ>؆ëy0âÛpóA—z¤(ð4™à%˜K÷ÆÿÜÉ,Y€@UC»à·jÅ¢Á¬­Úa¡p»pÞyÝ:äf¥8g¥<ºÛAæy©)Ù°‡±bÓ±!ú-]ºUÅ\9jíugQ‰&˜M½ßrć*9JÙ§2m¢gahVz…Ø|ÿyÐ15NƒV}uy÷$z%n3ÎÈDÉï-Ø{YkcT“o•KFhim¥{M(Í*¡aë+êGån}¦†ÖÔƒ–ÒÛtÍ)$j%š•´ˆ3R³,R³Ìõ`#8µ÷ÁßÿÉ Y„g¾ó¸!ûÿù$³Œøïz6÷Ž÷£oyŽ÷£oy 0Œøïz6÷³ùšùsÙ;‹ÿôÖó¶{Kì_÷z©Ú}±®ý¯z­Ztw½YjWâ6|Áo«½¨úA„¿yÜoýÁü’Řg˜-õc7µH9‚ßV3{Qô†’§‰ÌCµ¯JÚi Z­¸ÏKe…¿£·˜lœI8G¤ô%N2òHòVÄ’º”D:t«æ=Bâ¢R[€¦Š¥K›5åºéá¹Øí8ÂÒDdj%>dg«"äü9æAˆæ }XÍíGÒ`·ÕŒÞÔ}!»³ïF® z}_ìÉLª+ŠÑ´›®¼Ê’N0âKIgÊ4¤+.¤™©&g¤Ìt¬ŠêîKb%iÊ{´åÈ7 Q]q+[F—ƒ%{Ó>÷nFeøõ˜L¹‚ßV3{Qôƒ˜-õc7µHY€g˜-õc7µH9‚ßV3{Qô…˜Fy‚ßV3{Qôƒ˜-õc7µHY€g˜-õc7µH9‚ßV3{Qô…˜Fy‚ßV3{Qôƒ˜-õc7µHY€g˜-õc7µH9‚ßV3{Qô…˜Fy‚ßV3{Qôƒ˜-õc7µHY€g˜-õc7µH9‚ßV3{Qô…˜Fy‚ßV3{Qôƒ˜-õc7µHY€g˜-õc7µH9‚ßV3{Qô…˜Fy‚ßV3{Qôƒ˜-õc7µHY€g˜-õc7µH9‚ßV3{Qô…˜Fy‚ßV3{Qô†2mù Ù;„ôÖó¹»wí¯÷†©Û¯¢ý—z:µ÷ÝyéOà>™œZûÎà‡ïÿäÌ3ã½èÛÞ@;Þ½ä;Þ½ä,Â3ã½èÛÞBÌ3„¿yÜoýÁü’År®Ä©T©q Ì(RehfA·Êr+22%é̵d{r̺„ööÀL'½.yw5ÍjvýZfŽØ‘ö„¦õèBPžõK$¥%°‹«ñ^åÌ ò‹MùÀ:ul£³6‡oÖ*´ÖæÑdQ9“¤ÔL¸)ÐÛÏ[Т%d$e™lÌŒº7N7X¼e\koS‘6‘&›*3lþ—.¸ü«ÈY)&‡ ¨äŒËCqi¿8;—0'Èn-7糌÷.`OÜZoÎåÌ ò‹MùÀ,À#=˘ä7›óƒ¹s|†âÓ~p 0Ïræù Ŧüàî\ÀŸ!¸´ßœÌ3ܹ>Cqi¿8;—0'Èn-7糌÷.`OÜZoÎåÌ ò‹MùÀ,À#=˘ä7›óƒ¹s|†âÓ~p 0Ïræù Ŧüàî\ÀŸ!¸´ßœÌ3ܹ>Cqi¿8;—0'Èn-7糌÷.`OÜZoÎåÌ ò‹MùÀ,À#=˘ä7›óƒ¹s|†âÓ~p 0Ïræù Ŧüàî\ÀŸ!¸´ßœÌ#8µ÷ÁßÿÉ ;—0'Èn-7çÕ“€˜OeÜñ.kfÔí ´=}¯#í NhÖ…!]êÜ4žiR‹i_â˜3ã½èÛÞ@;Þ½ä;Þ½ä,Â3ã½èÛÞBÌ3ã½èÛÞ@;Þ½ä;Þ½ä,Â3ã½èÛÞBÌU½q¢¹ŒW­‡ñðý-ŽÐÔåq ×;f9:Y*2<”Kð'fž½¦=Þ”û™â@,À#=)÷3ă¥>æx 0ÏJ}Ìñ éO¹ž$Ì3ÒŸsæx 0ÏJ}Ìñ éO¹ž$Ì3ÒŸsæx 0ÏJ}Ìñ éO¹ž$Ì3ÒŸsæx 0ÏJ}Ìñ éO¹ž$Ì3ÒŸsÉC©Ž¾A-æ¢åj<Ô¥mÙ³-„yŠ`Œøïz6÷Ž÷£oyŽ÷£oy 0Œøïz6÷³Œá/Þwÿp$±fœ%ûÎãîä–,ÀA[½ñ>ä¼kÖöPívãÛÒuNã÷&óæ‚Zši¦;îô”ŽùG—YeájgU®Û8™•mÖè0Ù›&[s§ÉŒ¼ÓÛ ­Ì”ÚIiQWÕ³iíËÛ£bÓr\¶%×uX· *‹´ÊËL\”—šÉ)yØêÖ•fDZWÞ™§?Ä{ÅNäz÷ª`®$T©wGo[®NEJ,BŒ·#©dÂÐû$f”¨õj#Nβð¯».+,6û²Ym—„!Å8D•)fIAõ¨Ìˆ‹ÂfY^«TO6“QƒL³SpÑ%ô£–p’jÒ’3ÍFDFfE™äFc犷Û÷e—BÃÓ%5pÛH—&cÄ”ž§i¦H…¯.¢uŰéÃ2IÿÇYiVáb•ßùoÔ=H¡[¤ÔbJ³"1¤ºöe–Å6Ñ6Ž¼Ë•Q~ <׎1••gX“kµF¡S¸ê‘aË~ŸRÓ ¨ëQòÒÚ5f¥´‚"-FdDj,ÏÀtêÉnÒè×*uúTS©BÛ"cm°´¯-&N(É&G™e·nd>T«Ðéu>ÇÞÇǧQáMR®zLG–ôd¸gÅ;­¥‘þmFIÍ'°Ì‹2=‚•&Ü·n®É¹–íËK>‘oZñ—F¤Ha Šß(â’ã„Ñ–“È’„e°²È²™R§U)ÍT©“â΂ò5µ&;Éq¥§ñJ’fF_´Œsh·£[©½L¢Ý4:”ö ÉèÑ* <ëfG‘êBTfYYxwmÜ5²¬;ÚݧÕ*†Å^d2“lѦÇCŒ8ò’„0Ózsa·ò-ZºËV“!:ÄJrQúÊð²ÈÃÌ®Ê{-.•1.TU­FJeJi´¥iÒJ×™¨g^f`>©ª]¶¥(ç•Ræ¢Á:w%Ûݳ=¦ûW•þ‹”Ԣѯ#Ó«-^ ÇNÈ•mM)‰q^I-§™p–…¤ú*-†_´„…fÚ·geV&9sÒ¡UûF$ãCšÙ:ɚ㬔ᴬҥ$ˆˆŒÈôë<²Ìvp[sqFΠ²lÛTÚ„)™JŒÚŒóñõ¾ÒÏa‰*ȶ¬¼6—Î×lÂæ×ò#ЮÜü í­z³-<Ÿ#³,³Ï?Ø%ÖáÙ)yÀ¨M¥±„Œ·§&˜éIEA&§X^…št¨ûÓ>£<ñ"D 'bçû­vï:¿üóߪ^Î[Î_ýfÒ:] ¶†gršR™ÕÉËÖz[SŽyÔ¨¶ŒƒxÒõJÍÃJí T9.Üõètº» ºoö‰¼Òœq²4¬.§$ìQ^Ôí!Æ*l ­íÙ¥4æ=9ÎFC)q´Su!ZTFY’ˆŒÀdFC3•K¥ácÒé´Øp•6ç¤I”qØKfûÊŒ½N/I¥žEš3<ºÀ})rÜÖݳ©%ÁI¢²òô4åBcqÒµežDk2#<¼:Qd1*;rb¾Óì8Hqµ’’¢üHËaù^¡o_wÞ7bše ëÿeNfm^1äHr+<ŠV‚e´¡(Qš•«-Fyí2ÈS;­ªý§è£ÖêV‚ÒU2uªe¹)×#ÒÔ¦ÈÖÖ‡KSZ%’3þ±™e˜ž9]÷µ»P´h¶#ó•K‚ äBUi$2§3Í¥‹ôOÀà8gyã%•Q¥IÄÚM.P¨3OrUºô¤» n«B´>]ú f’ïv–ydÔÍNïÂè6õ{ì £ÕÉ£Úˆ“ÚçÚ«3>IfIVdFYâ3xŸmbM§^øƒ‰M_¶í¥\Š3”VéܢĶۉ6T|¢Ð¥¥IBÈÒf_ŽFAWyÕÇùx~¦!ý–ͲÝY.’˛ʒmLõiѤ³ËNyø|G2ìµa×Ú·¥ÜÔXõ—ˆª{³šL•‘ç––ÍZ¨ú‹ÀbK]•*eÍ6 uJc yV–y­2œ4–_âD9ØK…Xgrv<Óªµëv•RŸZ¥ªuJ¯%¤®YÈpn¯—>ý•gÔe–_âûP™Ÿ Ù³å1+)ÔëϸHB ñRaøŒåf󥻇uÛªÔ«RkH§ÓäÈeØÒS!…8ÛjQ%FÚ¶–iÈÈŒ¬|ékI‘~ÅÀ+nû}ÉTš:|©1d¨Í'£$’Ç+žÕ䜗‘Ÿ}žÜóËÚÄÃë>=éQ¶Ý‡AªÕ- ­9B„¶XbKm¶³)’JÔœÍ:“‘d£Ì³<Àn,›Ú$Ü*¶oª¡J£ª­OŠûËuâa‚yæÒ­7á3ȈÌÏüFÄŒŒˆÈÈÈúŒ‡É}¯Ôå]¸}鬢ž»b:ìd¥â\Rq¦ÈœZÈúå)V_ÝNÂÛ˜úÐg±cûUÿ2kè‹0Œö,j¿æMcýfŸïFÞòñÞômï ñÞômï!fŸïFÞò`œ%ûÎãîä–,Â3„¿yÜoýÁü’ŘMזּ.‹‰ë–-R㵫²„I¨ÛÕ5CzBRFI'2#J²#Ë3NydYäD:Øm†öíˆs$Óœ©Tj³ôöíV«-R¦IÒ[ n+ÁáȈ‹3ê À¤Ú:]éZ»¡Æ6굦c³5e–•“$¢Aå—éd¬ŒÏ<É)üæÑ³¨–­¿.‰FeÆbK•&S¹¨ZßZ–¯QjÒ_$‹oXЀ ÝGí‰ØUHç&ÖZGSNSç1(›šÃ­šK‰I$–YžÝ9~Áüºð†…qÒ¨­I®Ý+4h‰‡á…R6jŠlˆ‰DãÄY/VY«4õ™™df( mOÁ;5•Tµä5S¨¦¬ò$Ô*Sg-ÙÒ$#-Ýd´™–’"-»6ž|ìrµ$½ ]jï¿kõ |¦¥A™U­œ‡"©µ¥d”%HѤÍ;sIžFylÊÐ>}“…Š»û ñ©Qzë· µ©I¥×)„ê‹‘Q>ÛnäiZLÒ‚Rr<Œ‹¨òì;²-놺M½Ä!ç×&Kïºn¿)åžju×µj?ÄÆv³é–d „*[òÞn}NMMÓ’´¨É××­d),’GÔG™þ&cD2ô»O¹.Úê\–ó×_ UZy4“Lò)&È’J,Ó×™žÞ¬†R…Öå&•D¥"⺦B¡WZ­SY™=e¶ƒBNmì`ˆÏ½-¹ÿ[¬TÀëð‚ß»ë鸚­\Ö½lÛKOTmê‘ÃzCi#$¡ÃÈÉDYì<³ØEž[‹l«~Ä¡.‘oFq¶}rd¼û¦ëò^Yæ§]q[V£Ù´üD4`ŠømMÄF©=»]¸h’)2U&$º,´Ç} R ßše°Ï«.±¢à=5R,êýã~Þˆò_á®*Td:“Í+äÉ)%Gßf[ `¬€ Ûve-–ýþOÌ:›Ô„ÒÉ­<‡"—MÒV:µê<³Õ–^ÁOìw²dÎ’–+7}:…-Ź.Ý…ZqªcêY™¯SE´ˆÌóÉ*"ØYÁaûÇ ­;žÕnJ‚ä´ÍKvœéÇzžhN”›+NÔÏÃ.²1ö°VÖ£E­õK޹U¬Ó\¥Ê¬Ö**iFY(´-IÒ’-YäIðyä)€X›v¥‡–ý˜©•HÍ[½ªª]E‡)±×ˆ²Y Ñ¨È²Wy‘‘žÂÙ–ñiBRj5F£Ë3ý»ôF{?µ_ó&±þˆ³ÏbÇö«þdÖ?Ñ`ñÞômï ïFÞòïFÞòañÞômï!fÂ_¼î7þàþIb¿PaÙ0_ŽÌÇá:ëjB$°H73,‰i%¥I3.²Ô“-›HË`a/Þwÿp$±f!S÷mÜ»«_µÚ›´©Š‡©q`d_™2YòQ£_~¢ëÓ‘õg´v¾Ï¹‰oÃç ãT¡"¢PÎ5?“Q›Ë#dÔQuòzRE±Zòþ¶{FºM¹E“O¨ÓÞ…ª5Iã~Z9U—(³Ó·2<Ëô°²-ƒÛ:l#ª.¨lÿµ¹£)ÍGµ²Q¨“–yu¨öåžÐh7EÇ/±¢uvô•×æÒ ¼äˆÍ0N­×M²Y¡.'’%£È”ZH̳ȇêÑR²íº…~ñ;ÉÆóL´ÍÁ2ߌdjÕß6¶\i¿Ã2qyì-%Ö;”¼+³©´eÑ¢7]M5Q“1qÔi¦Ò¤©$ÚTù“F“BrR4¨²ÈŒˆÌví›^›o8úàI­¼o‘þЭ̜E–yi)¬“×·NYìϨ€`ÆUÏDG-›iš’¦Ï¨¸n×#†â-„­$¸§!µ)DþÂÖ[RD­$y—f"L*¡Æ¬P#Óã¨ÉT„ÔyBj<¤8qÜYi"Y¸Ù6¤¨’k#%¬†®­mÑjµ$Ô§Âå¥&Šy9Ê­9G|Ðn£"2.øÚFÞ²Ëa–gŸ÷ÃúmÇ@¨Qš6a±Vj<:š–ÚÞSÑÕ“hïÈ›_|y9‘åžyädkÆ÷¹K íë¦Û¥CjUZ±Me1çI[eÚÒe!´æ|’*ZV‚2Ó›zÔe¨ÐD®"¯Ë¹é‡Ú¤ÃTÒä>ô„.F¥UÎ2‹A0”M´™Ò2,¿I]ð¨ÜVíà¡}‰TŠ¥ÁÖÒІ_q…¶¦–•¶¤-µ%hRT”™LŒŒ‡8ì;TÝa§:“gV’LÇ’“ÎAIï’KÉy;Þ½äã½èÛÞ@ã½èÛÞBÌ#>;Þ½ä,À#8K÷ÆÿÜÉ,jjWeç"ÚQíK}æeÅ‘9™k¯¼…v».²ÚÍM”C"pùt$”e°óQlÏ-„¿yÜoýÁü’Å&U½Ëâ:ìíÍ=¥J—NínK=|»±Ü׫=š{_,²<õç™e´13q6åU«ã¤Z4™1%V•F4J®8È{í%AB²LU‘ Ì’³<ÈÒFdD¬³=£_ŸV¨Uéµ:dh3iN2ÓÅZ¤6¥8Ê=*Sh<‹^[RYåžD8‘°ë‘±á[?ljí[5ÎØílµeS9ü–{:ù=YÿâËú£Û+jé…zÕ+TkŽŒÅ>¨ûJ‰.Œëï&Ú2C©’‚NiFÌÛVF~ 3qÝmÑPíˆÉ®Sìvª.ÞR¦DÒ–F}©ÚÅßdF{ 3Ìò‹´íÛ΂óPÎç I¢7!ç;\¨O"I¡n)zynÛ4æF¯ÒäöåÔCh#=‹Ú¯ù“XÿDY„g±cûUÿ2kè‹0Œøïz6÷Ž÷£oyŽ÷£oy 0Œøïz6÷³“]xJ®_u›Æ%ûˆäúÏ!Û­ÐêéˆÓœ‹DÓy‘6fy$¬Ïj•–Yä=.`·ÕŒÞÔ}!fž`·ÕŒÞÔ} æ }XÍíGÒ`æ }XÍíGÒ`·ÕŒÞÔ}!fž`·ÕŒÞÔ} æ }XÍíGÒ`æ }XÍíGÒ`·ÕŒÞÔ}!fž`·ÕŒÞÔ} æ }XÍíGÒ`æ }XÍíGÒ`·ÕŒÞÔ}!fž`·ÕŒÞÔ} æ }XÍíGÒ`æ }XÍíGÒ`·ÕŒÞÔ}!fž`·ÕŒÞÔ} æ }XÍíGÒ`æ }XÍíGÒ`·ÕŒÞÔ}!fž`·ÕŒÞÔ} æ }XÍíGÒ`æ }XÍíGÒ`·ÕŒÞÔ}!fž`·ÕŒÞÔ} æ }XÍíGÒ`æ }XÍíGÒ`·ÕŒÞÔ}!fž`·ÕŒÞÔ} æ }XÍíGÒ`ŒÂ<:¥a­£K¥ÕkU_´jNÔåJ«HKÒ}Ä¡+3ZRœóÐG™‘™™™™˜Œøïz6÷Ž÷£oyŽ÷£oy 0Œøïz6÷³†vbRàW(xsDª1Û*L‹)­jO(Ó‰}+Ni22Í&e™àæ3ܹ>Cqi¿8;—0'Èn-7糌÷.`OÜZoÎåÌ ò‹MùÀ,À#=˘ä7›óƒ¹s|†âÓ~p 0Ïræù Ŧüàî\ÀŸ!¸´ßœÌ3ܹ>Cqi¿8;—0'Èn-7糌÷.`OÜZoÎåÌ ò‹MùÀ,À#=˘ä7›óƒ¹s|†âÓ~p 0Ïræù Ŧüàî\ÀŸ!¸´ßœÌ3ܹ>Cqi¿8;—0'Èn-7糌÷.`OÜZoÎåÌ ò‹MùÀ,À#=˘ä7›óƒ¹s|†âÓ~p 0Ïræù Ŧüàî\ÀŸ!¸´ßœÌ3ܹ>Cqi¿8;—0'Èn-7糌÷.`OÜZoÎåÌ ò‹MùÀ,À#=˘ä7›óƒ¹s|†âÓ~p 0Ïræù Ŧüàî\ÀŸ!¸´ßœÌ3ܹ>Cqi¿8;—0'Èn-7糌÷.`OÜZoÎåÌ ò‹MùÀ,À#=˘ä7›óƒ¹s|†âÓ~p 0Ïræù Ŧüàî\ÀŸ!¸´ßœÌ3ܹ>Cqi¿8;—0'Èn-7糌÷.`OÜZoÎåÌ ò‹MùÀ,À#=˘ä7›óƒ¹s|†âÓ~p 0Ïræù Ŧüàî\ÀŸ!¸´ßœÌ3ܹ>Cqi¿8;—0'Èn-7糌÷.`OÜZoÎåÌ ò‹MùÀ,À#=˘ä7›ó†2nؘkÙ;„‘T/²¾Ñûk¶ÿÚß{”äáwŸÒ­Ye­}Ygžß¦@gÇ{Ñ·¼€²¨n±& ФIC­-’ 4š4æ_£ø‘ ¿R¹ð¾Ç¦Fº§³tÓU_n¯ÛŠ7Ú§¾²DgŸÍ¼–²Z’…dydd­G´†D±jÀ+f«Tu³u°ÒbËR·×%ÞNEʰm´¤(–y(²Ó‘¨²ÈupfËr±…7• U2¡Dµëµ +· K5!øqV„èY$ûæË”#q)=¥³þ!H­_TªV%P,YþÝZ‰"C+ב ÚÒiA—â²åL¿þ¥uŒ>3ß—íLH¤Õm2¯PmØŠyIQÊSî™,ã‘¡:‘¡ÚDgúdYuŒ‹)¹ëopâRš¸×=tWYŽ”æ³n–f™-²ÌÉŪqåÔá~ÞÄÚDÊgaõÝ2¬5ŠÌeÕª%žz^}Ô¯“Ï"Ì“Ceû@?—×~³ÙaB¤ÓìÙèé¢OÛ¡¥ÇqÖyYÜ™–Å4fhÐ}úȳ#ÈÆž½Œ5—®J­+pæ£{G¡¾q똨3¦If¶š×™¼âK­%–݃“|×)v—d‘\¸v%>£n½H#µÜZ-É 3JO#2ϯ",³3"{ û¢`­Fë´±©Î¸åÔ¨òZ€ü„TÙ¢R m\¡zi<²<€mæcU&E•mÖmj$û‚±s“‰¤Ñ[ZyN4GË%Õ¨ô´–ÔZV­¹–Ycñ2·W»Õg_«2¼äEM†ÉÔZœÌ–iJŒlˆ‰Dj.ôË«Ãà|S¿ë•*™Y½º°ÚÊ©ªK•G©Ž­S4©=ª‡–Ú5²— R)N{I9ŽI±—ÙEB—d5q»L™oÌiº­aR•öƒ‰R¥“‘ßP»2ý.¯Ä(4Ìsºë´Ù [ë¸Ôù¯Æ©ºÕI¦Ñ4ê’|Ž´’Ÿ^„¥f”–E¨“«<Åfǹ©W•¥M¹èŽ©Ú}E‚y“Zt¨‹¨Ò¢ðí#=àŽ2Z–E2‡qF«ÇžuÊ—Ù­³Myò©š¥8y2¦ÒiÔJ3I¥FFYõ¬ö9[µkg )pk±JFC²'?º£ï-ÒküRK"?Û˜&#ª­}âÔl0‰X¨QhP©I«ÖäSÞädJÖ願Ép¶¡'¡JY–Fe‘fC‘pà5»e[ó.,#]JÕ¸éͶy‹îÇœ¦Ò£&d6ꔕ¡Y™lÈÈÏ?Ø:øŠÅ‹‹Q1>un‡:˜šEyˆ ›²b’]5³% jq$jRVE´‹#Ë`åÜXïoÞY¶Þ5RºnYÈTFÒÝ1ö˜€¥¥DOI[¨A! ÈÏÂfe–@=Ú–;³ ¼Í­>¨ýéKvTXñ›É}hÉ’N“##75©I$’ Ï1Ó´qN½R«Ômk‹çÛ—ƒ4Ç*0)ŽÔ}Š‚³KrZõó.÷W‡#ëÅ1p£ðJ‘%ÔáÑh•8²ŒÉ¸êP–%¼”$JË#3$–zLÆ†×¸éØ³Ž´ ºÎDÙ͵J˜Ûµgb8Ã2ßhI2ß(”©z µ¶dG—âY†;nêôÞÇÜE—ˆ+óhѨ¼á½^%*rõò±u µ¶MäH%õ{°UîìK]êM¯hÚ3n›š]9Z¥F”†Q6Ä’Þ}͈,ûÒÌŒÌÈÄv%~”]ŽØ¿c©çš¸)/U¤L†ìwSm;!jmy¨‰&J##ØgÖ_‰ ^½ ±Q»öê)»R³lB€ª«œ}0¤4µ!ÒA’•’Ë#Èó2ÈÒÌÅUV à¥WmiöÕÓA…Û²éžC„ãF“2[O#4¸ƒ24ê"Ø~‰Ùpɳ`ßMáhíŽOTji2JŽD]ù¶É‘-ä$ó-y #2µ6¤œFÄ«›hP§·kSì·èñ'ÊŒ¶ ¢ë‹åÍm%dJД‘f[LÇš/Ü(ÿöBÿä ¶!b|Ê5ZoÙ¶„»Â¿W‚ªŒxÍjIŠ“I‹uÝ…ž¢Èˆ<¶å³>æ]•{¢ Ä×ìʽ§T‚ñ3",Ìœifi#ÔËéïGYfž£-¤[w Î̱"Ü´rf†ËnªS.a¬ÛBM“u¢R’³ÌŒ‰H4Ÿãžd;½‹õJÜúÂÄ[žàºìv[ŒtZ½r*ÚãŠ%r¨JÖIS¨.ôõé‡0þöfG¤Ì°íX•õ2šC×…9¹êyîIÂÂpÔ²2ÒZLóVe—^d'w½¯–µ íl­ÀnÿL†SGb‡q»1énò©>EmrË%4¢#Õ™d[L…³2E&%‡j˯¥•R¼)®O'™åPl$Ü75##ÔZHóNG™lÈÄú÷»{.KN¥I›~ »ÑÖT°-§¢KfA÷­ºO%¤hJTi3=Yd¯uϲ‚À7RI_äýSQæDy³žCÕs. ¤™s¬l+¬ÝV¼ÜbEa™ì1Ê›g’Î;+ïž"22ÌŒº‡†·zñû"UÎz­J‹rœ,ó¹0KQe³ô³¬&Å+ l8g|C«@ºhÊz,x1é½ö™rŠRޤ Ò¢Q(i–Ó0Zæ3Úñpî‡xÑcί•Âú#QàBo9ŸQ™yÄt«Q™äZO¬òÏoâuf­:¥g_6$».¼õ-ùpTöç3-”'%š]lˆ‰i3,ÒeÕ·?™1m]M‘†7½j=âÜêUŠd4îÂbq¹’Y¨Û%'2"̳?ÀÌR©8ÉHÄò)–:Mv„Š|•Õ+‹mè¬ÃY7ù¶’—#uj3ÚY§ImÛÔ;„7éÛ˜†öå ŽwÓT§6qih‘È¥ ’²rCÎéW$ÒHúÍ'™ä’#3öÃiêR— %©)V¢#ð‘E™~܈|{…T'0£l\j¤H©L§È€˜×tg·Ïµ_xói-‰&TE°‹ôLÿñýCâµ*3¨y‡N4â4­&Y‘‘øHÈÀyg¾ó¸!ûÿù$ 0Œâ×Þw?ÿ$€`ñÞômï ïFÞòïFÞòañÞômï!fì§þʿ̚?úÂÌ#=”ÿÙWù“GÿX˜rk=µF©E¦ÕîE:tÏþÖ4©­´ëûrï£#VßÀŒXµzÙ´J³tŠÍÛ@¦Ô$›q%ÔYeå’$™!J%g°¶m´œC°"ÖF“|Û TÒñ0¨nU˜KÄážZ ­Z³Ù–Y€Ó€ãT.ËZGûf¡rÑ¢S9U1ÛÎi r‰Y¡HÖjÓ¨”•$Ë<ÈÈˬ‡ºÝV–â¡%º”5ªy¡’_Iœ‚$ê3oo~D[O,ömîäVn‹j‹s«7"›·…¿.km6— ú†¥+öuŽœY JŒÜ˜¯¶û¤–Û¬”•¤úŒŒ¶~Ð@„šÕ3 ~MZ-*QCJÜ„¤ß5h&ˆÌÿLÕÞéëÏfYã•Ê#rŒåbž‡ã©HyµIA)µ%²uD¢Ï22mIY‘õ%D}G˜€ å.ý±j±'L¦^–äèÔö¹i¯Gª2â#7·¿qIQ’°öžE°ÇŽ—ˆ¸}UyLRï«^s©ÒjDj³(µ8–Ó™%GÖµ¡ø©i.³ p•æªIdå%²uL’Ë”$™=y¤Ë>¬ÈÿΩ]Í29•+Š‘ 4× ¨HšÛh³êJ£"R.¢ÌÀuÀrŸ¹mÆ.­çëô¦«/ œjž¹”• óÉIlÏQ–ÃÚEà1îÔ§A¦SߨT¦G…: ÇäHt›m¤—Z”¥~&Øœ¦_¶-Ré´ËÒÜžß+5èõF\DdmïœRTd„ì=§‘l1áˆøy*¹ñ¯ËYøp‰)öêì)¶ jÒj%äG°³Ë3Ø@5 9Ë¢ÙªQ]­Ó.*Dê[Yò“cÍmÆ—^n$Í%—ø/K9vã—".Ê ¨¯Bê%Qhã%Y’t›º´‘ædYgÖyôp¢Íü„µ\¡ý¥ö޹ò¦r܇%—,òœÓ§Rºµež{rÏ"Á™oì(îÖ[¾m…Óx˜vbjÌpË2A¯V’Q–Ò#<ÇFÚ¹­Ëš;²m»‚“Za•èuÊ|Æä% Ë=&h3"<¶ä`: 9W Ín[‰aW ÁI£¦Bô2s¦6Á:¯î§Y–gûz× ëfÛ«Ž‹‚í R%¾Q„Ψ²Áºï'Z‹Q~Ò͹,¶qBÒ½¾Óä?'Yš×jr»c¶P”g¯QhÓ§>£Ï?ØT›’ÝÉÒkô¦b72Öû“KiaG’]5äH3#"WQåÖÝÉnÜÑ]•m×éU¨í/“qÚ|Æä! Ë=&h3"<Œ/ÚªÓ­U©TJ{•ÍJ6ÒH–úYm?â¥Í>³H¨Ç‡"ŸUƒ1™Í›‘bBL„Y©G’ˆ³,̳ëïõ[©Sœ’Q›ŸošÖ‚m/$ÔjFZË,óÍ9–eà̳é×}§’ª¼ë¢‰œ—ÕRÞžÒ'R£J›5š´ê%‘–y‘‘ØV5FŸ)Æ›>+Ëy‚Ò[y*5´fDNíNf]ñlÚ?*ô˜ÑÞ‘"© –Xx˜uÇJRÛ¦dD…žD£5$²=½ñ~ =Ðů¼î~ÿþIÌ#8µ÷ÁßÿÉ ˜F|w½{ÈÇ{Ñ·¼€Ç{Ñ·¼…˜F|w½{ÈY€F{)ÿ²¯ó&þ°³Ïe?öUþdÑÿÖfƒñ¨µ;¶jÑ«ÕÞ®?ÊF\Zc³œÏ"„%•¸”šÒd¢ÉÓBvê#<ÌS€nܳ¯õ1&‡"»MŒÚíêm>§"eÉk–âYZSNrèF{Oô½¦Feà=ZéRcc´ë¥.ŸÖ¨DT“Aš³‘Ð…/,µ)-¬ÈºÏJÀcr"uU¨ˆ»†Ý¬¹Ö™iLRÞ’ü5»Uá/‘m*wKÍ©-)2É%™‘(Œüðìé•J•5ôReQ:•N¥JÕ’ªjÕÉrn))؃qd놃25%Õ%E™¨… C¢öÔÅÃ\¥]ÖíešGDŠe(ê, œS)[jeqŶá¶KC‰AlFÕ£Q¥]eÓqNu»IUq¨„¾™ãËbž‡?>¾MîEÚt£BœF— :“¤ÖddfFb¶"w«rUºôIJ†Ü5×cTI)–êKŒ˜Í¶Ú‰ JÔ•¡÷”FIÈÜA‘(ˆŽSëÕk^‘Z“B¨GŸUf±>TUFW+ߌ²e§ ,ÉdŽM¼i¨²À4·æ¦ã¸í)Ú=j7Øñ)Òê‰rJ˜ÐL'—B¼×¥]éK“ÌÏ<‡6õ¢V&án5I™r/¯´¨ñõ<†Š­fú¤¨Œ’‚5æi4ä“3#"1]Š-¥9¼A­1]«Öî:|ÊfŽEA–I™>ù©’TfZI–FFi23É[vC†õ2 <*¡ÐçÐëÔù.ÒÝ€Ôª]¶]ŽÚ”QTDÒÖËnS™éJrGé¡D“0\¨çÑízÝ£S¥ËLŠlú´ˆVüǣȞÒYSID¦Ú4P´6•:â‹$7£«3NšîiŠÆW#[ŽU$r½²Ëf²yÙê_Z\$“Äj=+%’HÈÓ‘$´i!»†f;DÓ 6Ódfd”$’DfyžÂý¦f'yÛ· CUZ…Çs="€´Ñªh€ÚÝŽŽQ³~:‘„ ÜÔ–ÜA©&k-I$÷ŠÕü¹«\µŠ¿{×j¯Q_iW ª¸ÍÅ$TR$¢,Su "Ô²Õ±(Ï4m1p«¢Ñ­Ç8× eÆnW¾Ø‰*­Kä›z3 º†ô0·\R”ÛŽ¶ñžµ(ù$–d”Ž @ŸwËr±mÒkÔØÏÔhL®QÓKŽ5SmjL>Þ¢&[ÌõºÞœ¼”‹ˆ›Y ­뻎».«[©JŠÁE«Èa´!øi'y62e´6N6µ»žÍJ'}[ìá{lR°Ó iµ¶êPjˆ¤DŒÌc'ÛÊB ¸ÛèNIØ”¹ÞºY’Ywä‘@‡eÇ[um6§36Ô¤‘š Ë#Èü6œÝ²dÛ×5~¦ºtŽR‡š}Eªгm¥­qÜf1“ºsÔ¬ÌÒ“5—}™d3Ô«VöšÄ4Rj’¬j„ki1Øí k œ'Ýä›So¥ãJI:“K„¤’²Ïa P‚¢1ªÒ#Ûu謱oÀiØîBu׉æª.)ô%¸eß(´’’d¤–•{êúÅß"çí õ6ŒÍ9äI~Ÿ*Ò^9-©¢$Pñ¥(ŒÍ:rtË3-B’†ôš”p’âQ-Ô;Ë©Ó4ºJ=d\¦ÒN}Dž÷,´ìÈt†Ž…!†[i*Z–d„’HÔ£3R¶xLÌÌÏÂf<€#8µ÷ÁßÿÉ Y„g¾ó¸!ûÿù$³ÏŽ÷£oyxïz6÷xïz6÷³ÏŽ÷£oy 0Ÿe´¸° á”éÒY‹6"R^}÷œ$6ÒO–¥ĤˆŒÌÏa `‰ö[D‹>A™Q$â%%—Øy²[n¡Dñ) IìRLŒÈÈö Ï;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒ9ØÂÏ9vg¯c|aÍ>y´³=Eàið³Í¥™ê(ß;Yç.ÌõìoŒLïK²Õº;'pcòfå¢Öû[íÞØû:sR9-P“§V…œô«,úò?ÀS9§ÂÏ6–g¨£|gzZv­¯Ù;ƒ“6Õ‰Û?nöÇÙÐZÊé„:´$µe©YgÕ™þ /à3ã½èÛÞ@;Þ½ä;Þ½ä,Â3ã½èÛÞBÌ3ÙOý•™4õ…˜C;1*(t<9­Õíxü@¦J”î…+“i´¾¥«$‘™ä’3ȈÏð»Ä'\—wZöܪœÊ]"¦RÔûÑ&œWd>Ú[䢓‰2q:’·œüÚ’¯Ìu噿ï—=‹Š“kÀ›u×èì\êˆLSkKbkÉû.CÊŽröÂmÄ¡g­Ý[4™¨Ë#÷+=‘ÝŽµª{”êÍÏ¥ ßé#Ë¡KuµÿŠTÁ‘.È^ÆÈ1©ñ¡\ØÌSTj€Û6ü¤&**A›DLdƒ4­IïrØ£.£0{Î…V†è¨TfÝt‰¸)ñà1ùK(¤1 ùñY[O­—Í.¬Ò·{ãS†’Yd¼Ë1äºj5;bð¸)ºÍUŠlj=¬™oL8mȨÊnDŒÝRY7ÖâŒò$$Ï4£!üŸÙ/Øû>9GŸw±)’q“oQf-:вZ‘³–iRR¢?‘m!ø>É>Ç“˜üӺ✩ ¦;ï^·ZI¨Ò…+ÌÒFµ™ì-JüL“XzÙj}½mÜ· ƨP%È”·jÒ%ȆâVÂ}©­khÔN8DœòQ§4‘iV~ÕF¿[~å›lʹY¤Uà[²Pûî½É0¥ªC +#ØžQ&dJ"=*5¤³Ó·EÇ^ÅÚ%:M6R¢SaJV©¢[RiãêÍiLr%øŽ„žÉÇyR"MÓ÷–£-Ç(rÔ¥4g™¶flfh3"3OP †!úUz¡@»YDfQ±2¼åZ2ˆÔ´Ùyã7‹jr4¨“-&”‘šò ˆ%µÝŒÖÌgc[uªU‡—Ê:Õ>Ý“+VYj2CFylÌÇWº|¹á3~H 0ÏuùsÂfüî£ÀŸ.xLß’Ì3ÝG>\ð™¿$;¨ð'Ëž7䀳Œ÷QàO—<&oÉê< òç„Íù ,À#=ÔxåÏ ›òCº|¹á3~H 0ÏuùsÂfüî£ÀŸ.xLß’Ì3ÝG>\ð™¿$;¨ð'Ëž7䀳Œ÷QàO—<&oÉê< òç„Íù ,À#=ÔxåÏ ›òCº|¹á3~H 0ÏuùsÂfüî£ÀŸ.xLß’Ì3ÝG>\ð™¿$;¨ð'Ëž7䀳Œ÷QàO—<&oÉê< òç„Íù ,À#=ÔxåÏ ›òCº|¹á3~H 0ÏuùsÂfüî£ÀŸ.xLß’Ì3ÝG>\ð™¿$;¨ð'Ëž7䀳Œ÷QàO—<&oÉê< òç„Íù ,À#=ÔxåÏ ›òCº|¹á3~H 0ÏuùsÂfüî£ÀŸ.xLß’Ì3ÝG>\ð™¿$;¨ð'Ëž7䀳Œ÷QàO—<&oÉê< òç„Íù ,À#=ÔxåÏ ›òCº|¹á3~H 0ÏuùsÂfüî£ÀŸ.xLß’Ì3ÝG>\ð™¿$;¨ð'Ëž7䀳Î-}çpC÷ÿòHê< òç„Íù#7¬LJìÂȪïÚ¿g}µÛì³Éò»ÏéPœóо¬òËo€Ó 3ã½èÛÞ@;Þ½ä;Þ½ä,Â3ã½èÛÞBÌ3ã½èÛÞ@;Þ½ä;Þ½ä,Â3ã½èÛÞBÌ$ØßzßÔ;îų°þ=²¹÷?Úœ®!ói¾Öi·K#eDešM~mÓÕ´Ç¥ÒŸsæxt§ÜÏféO¹ž$)÷3Ä€Y€FzSîg‰J}Ìñ `ž”û™âAÒŸsæxt§ÜÏféO¹ž$)÷3Ä€Y€FzSîg‰J}Ìñ `ž”û™âAÒŸsæxt§ÜÏféO¹ž$)÷3Ä€Y€FzSîg‰J}Ìñ `ž”û™âAÒŸsæxt§ÜÏféO¹ž$)÷3Ä€Y€FzSîg‰J}Ìñ `ž”û™âAÒŸsæxt§ÜÏféO¹ž$)÷3Ä€Y€FzSîg‰J}Ìñ `ž”û™âAÒŸsæxt§ÜÏféO¹ž$)÷3Ä€Y€FzSîg‰J}Ìñ `ž”û™âAÒŸsæxt§ÜÏféO¹ž$)÷3Ä€VBFII™÷¹~g° 1W뫨ӢÁ²î9ìT¢j[+„–“¡F•ê'$%}îYžI<Ë«3Ø=©×£ [”ŠÄ %Zªª»ÄÌHqy¾¥áænº†È‰-¨ö¯ðË0•lš…-™’é3i9«T9‹eN·’Œ‹Q²µ£id£ØežG™º3ã½èÛÞ@;Þ½ä;Þ½ä,Â3ã½èÛÞBÌ#8µ÷ÁßÿÉ Ujt¾ÝªÒgrüŸÙï­Ý3å54¶òÏ=™kÏÃÔ"=’4ÊŒvÁÊÛuª'lý¹þÝH•ÚòÚÓ¥÷ŽdzsÓ¤ömI™xG‚¹†tJ5mš,¼iÇǧ:Ò^&áTeÌ$!J4¥KS1––ÈÍ*ý#.£ð²Ñí¯³ÑIOnò¿g*B¿¢Ë”åLÏñÙ–·?Ø1µ 3¸jVÌ+v§]´ªtúl¤¿ ‰Ö»´¢$8/¡Ròwc„de£%$#êŠFÒ*ÏHfŸŽ¸Ìòã¶—]/ÊE§JT§“ÚÉg™´²Ùø~ÒÏÒ´0Ò‰u§]±øÚ6’ò™:d6œB¿Dзã!+̶÷¦{6õ¸YÔ—¨vÜ:KÅHJ£$ÐI¥SŽ T§QšI ›Žh"#,ûãÌó=™ä]qæ }XÍíGÒ`·ÕŒÞÔ} `ž`·ÕŒÞÔ} æ }XÍíGÒfæ }XÍíGÒ`·ÕŒÞÔ} `ž`·ÕŒÞÔ} æ }XÍíGÒfæ }XÍíGÒ`·ÕŒÞÔ} `ž`·ÕŒÞÔ} æ }XÍíGÒfæ }XÍíGÒ`·ÕŒÞÔ} `ž`·ÕŒÞÔ} æ }XÍíGÒfæ }XÍíGÒ`·ÕŒÞÔ} `ž`·ÕŒÞÔ} æ }XÍíGÒfæ }XÍíGÒû êµÌbÄ[:^1bÊ [fv“\Ê'\í˜êuÎPÍG’ˆ²È“³¯>°SùÑ8ynª¾º'=Øð™(|ã«©JLSt‹=$ãr&¯D½§°¶ì lVÎ!ÂÆÎÈ71hDg¥Ë§i5#KEJLŒ’y]_‰fIùÚfZñ˜ÌŒ|Æ„9 ÖN§òÓÌЦ¤£&;óÖûI"NfjV’ÌÈȼq¬MòA>ãTuª<‰ÔºëÑÜm Dï(‡J›QvÃ=ꈔdá£@|ØÝ•f™A)ÿpŸ=ª|vj·â:©¥jiÛÑÒ¤ë&×¥J"JŒ²#32#ÒS°F%A.8c3©aõÇpÿ)Œ´¸…iQmkÀe×ÔÞ3Ìú±›Ú¤Áo«½¨ú@,À#<Áo«½¨úAÌú±›Ú¤Ì3Ìú±›Ú¤Áo«½¨ú@,À#<Áo«½¨úAÌú±›Ú¤Ì3Ìú±›Ú¤Áo«½¨ú@,À#<Áo«½¨úAÌú±›Ú¤Ì3Ìú±›Ú¤Áo«½¨ú@,À#<Áo«½¨úAÌú±›Ú¤Ì3Ìú±›Ú¤Áo«½¨ú@,À#<Áo«½¨úAÌú±›Ú¤Ì3Ìú±›Ú¤Áo«½¨ú@;Þ½ä3‡‡ä_fÔ¿Ê‹šäåpýR;j¿?¶ä#:‚SÉ¥zK$œÈ²ëRÂ4Þ;Þ½ä,Â3ã½èÛÞBÌ#8µ÷ÁßÿÉ nj6su,E+ž\©­²ÄìÇn%RLmN6ó®*†””:Œ–Œ’½EúE–Fyá±kï;‚¿ÿ’@³›Û–åçnÜ®$ ~u:tv”óµGYy‚Cò¥!²Ž²s½|²#Z322Ì‹hõp²Ì¸mÊdJuf…L}ÚŠŽUÛ¾}M:Ú4þq¶d±¡ƒ,I$m$§2"#*Îýçq¿÷òKaÂ_¼î7þàþI`4KÃÇÑq¦àfcÏI:³²]†ýRR¡©•ìJ’Æ£i#bˆÉê#<ÏRx–^Ü´ë9ÊB6$ljáÉ;º¡SlåÆRVÒ‰™ %,#ZÏ“Ïg{‘¯€ ’ì*Ë4øJiª鈦È)¬Ì[¤Ì™ÊfK†J"5!&¤9¥yfƒÒ¬²ÔaÅÝ>§£T©Cgµ£ÌLh«¨?P(Š[ÔçYlžu´8óf¸N©f¼Œ¹]%¨‹2¯€ ]zÀ¸o+ŠZº˜¢DDY$™0aKuâä $æIyM6jp×)E¥$‚JŒ”fcC†öÕ^ßaM×›R˜oKYÕÍ/©>KBM&ë$‰KÉYkIdF[Kf3ã½èÛÞ@;Þ½ä;Þ½ä,Â3ˆöV)óÞÎ#aÌ‹3ýÛMækë“ÿySÊRRÊò«ûÛ:Œ:Sîg‰³Œô§ÜÏ”û™â@,À#=)÷3ă¥>æx 0ÏJ}Ìñ éO¹ž$Ì3ÒŸsæx 0ÏJ}Ìñ éO¹ž$Ì3ÒŸsæx 0ÏJ}Ìñ éO¹ž$‹_yÜýÿü’C°õëןqÆ(¬Æn¤ÎŸC9rQ½ ÔpßåQÞIi=Y/#6Ï-›q7•Ù%\¾í[Æ\Œ&Dûc·;I¶—P&œí–‰§9B4™žI"Ë#NÞ¼ú†›¥>æxQÈ€›‚¿Yb’¶#Üñ%BamË}rЦ›>Ó7SIDRЇËQ­Y¸ú34™ä|{‚‹ èõTPlȱ-爩 ?bNQ“¨y¹xÚÈçžÕ¨Ým‘fµ J}Ìñ éO¹ž$w„ÑáŲb± (M%Ç?5ÜzˆÑ¬Ï4ÄxÍhëÚfg¨ó2ë±éO¹ž$)÷3Ä€Y€FzSîg‰J}Ìñ `ž”û™âAÒŸsæxt§ÜÏf¼EƒGzë"î¶åÜnÔJ)í3JrzcÌÖ³ZÍ ¡FÚ&Ù%Ó"$éQjN{s½)÷3ă¥>æxÝ—aTf]ñ+×%"ßuè1 æåZˆS* q f\ŒÎP‰ B´æd…÷É3Ï3̬b3ÒŸsæx 0ÏJ}Ìñ éO¹ž$Ì3ÒŸs‡nI·$¶M¿"Ùy¸n¹"T¹&Óä¾TЃRe¥0K4’ÏIþ–gêÛV½Ý*¡M©vNZ†äˆp’•4™)†Ó,£•<Œ§Ï¶23Ï4¬–[H‡s¥>æxt§ÜÏÊ¿isª˜]‡ê¨[ninà\©ÐªÛÕ„ÅB£N"åá²zÖD·Ndy”“Ì˯ݡÛ5g(TO³äA‰T}úUq† ­¦×Ml¤¿KidjŒ•rm¶M«ô)M~‘$ËØéO¹ž$)÷3Ä€U¨“€¢D‰¯¥2A*\nAi"uE¡)ÐŒÛNZP¬R *Ô¼õ@FzSîg‰J}Ìñ `ž”û™âAÒŸsæxt§ÜÏféO¹ž$)÷3Ä€Y€FzSîg‰J}Ìñ `ž”û™âAÒŸsæxt§ÜÏféO¹ž$)÷3Ä€Y€FzSîg‰J}Ìñ `ž”û™âAÒŸsæxt§ÜÏñÞômï 8²±Ož÷±¤YŸîÚ¨Œ³@\ŸûÊ^J”—“ÿœŒÉ_ÝÙÖ`Ì%P*w4¬y­Ùkºª¥D¡G¨³¢<^PœqÕ Òj6O4‘ ²ÙžÓÚ`* 2¯Ê(WF?ÛÿnB“N'鉔ÓH6ŸBÔ—§BHÐzÚþ©™d}c¹j.ºåµO]ÎÌkJŽ“œÜ)L%Ü»í­ºsüsÿëÓüÔZs-FYåžÜ‡ôrþ¸ä[iÊ‹M™5êIšz"ä&1¹ŸçJ6“iËiæ[L¶–`4`16Ýá9ìN¬X5fc». 9Š“Sb´¦Ûq§¤hR¥VJO÷2<öeÛõ+3SM£Í¨©¥º˜±Ü|ÛGé,’“VEûO!:j§yÕp}WÕ½p5&¯6ˆsâÓù‚‡Ö²m”ª4ŸzF¥žf[Sà ¨“cUvè¶jWa\¢Q§UâÓë-·2»Y§ˆÒ—n6fY8i#ÏVÅl"£.²ÖÃÇï Þ&â%½?«Ç.#0tC§¥d—˜åU¨û[¾ÈÏ"ÙÔ[s=£½`]õ—±RìúâÚœª3¦Á¨¡…¼ÃÉÚ‡’’$“‰YÔäJ#-…–У€ ¦*b$»Bú³iÇJé Š"Öd ]¬Râ"õ~‰)Ôj=„HËÂ@)`1˜ßR«Ñ0¦ã¯PªnSªº{ÓYq,¶á(ÛmJ$)+I–“2ðd´Ì­JuoÒâ>éê[Œ!j<²ÌÍ$f=Ç´¹œ¥8«®=1‰ý´ñ!4õ­Mò¡òFf­ºôiÕàÏ<²ê ì F:ͬÒp¦ã¯Pk’é U9ù¬¸ÃL8KSmš‰+'›YLËnYí pÛ^ãQ°¨õ¸·Ô÷ª²iŒIäçCˆq\um%FK&™BÉ&gýU–~Ù«Á«æÊ‰^(‡^·#O†kÖqd´£C­j/ÒÉDy„²? H˜Ð+÷¥Ó‡ÔËê‚oTÝeø´u-–™L5ºDfëŠJ”nFk=*IfYywÁNÅjÒzHYlÌöfú$‹Ž­nጫŸX¦@Oˆü©Í@yN0IA¨ÒHRˆ”fi$–Y~‘äYì;½û‘ËïÚé²ëÉœvª)¶ IÕ©H#=‰Ôe‘u‘íy{Â{mWjW¥ÓuÂ[“Dbݪ51â¶ÂÝ|ɦÜ7œ7P¼’£pÒ’Ièæyä]Œ>™tH“sEº:×±Úða“mÆíXë%äf{Mks=§‘æE°€j€z5öä»E–ˆs#’3nCHBÔÙ–ÜÈ–F“êËixF+u“ íjý]ä½P¨RØ‘%ÂA ”µ ŒÏ"""Ûà àɇp@•vÔm¦\%ͧC.Aç¡/)Ô ð?̨òü ¿Ì:À8Ô‡nUÜ•–êéQ[6~Éu‡–§ÝÍåRe’rVDœŒó,óO³æT;,.D®Ô) M£5ÄC 5ç!ܳå›Ylý™ÄZÆa« Ùjâvân=A5gšK.Ë*¬®Qm¤ó$ò›PG´“Õ´öüÒ­þÖÃVíÚê“T6¡)© ”«—2Ìõ¨ˆ²ÌÏ%l.¾¡2´˜«OÀ<#& ÉPLà®±³RæE(î“–G¬‰D‡ë%[EVʬõ:{°%äÃÄD¾FBÙ^DdyÐd¢êÛ‘í,Èö‰ÝцÐ{N…EJ“*Ó¦rŽ}™¤ë2šJPËŒ<§¤!åPhKˆ#'<%šL<˜sf´šÕËWªQ˜n ª‚þÄeöt¸ÌE°ÚA¤ö¡µ¬œQ6}D£<ˆÏ!BÍ¥Y Ì¶—í1໩‹·ïë¡Äoòr íR|ˆs%­,Ë}$N%ƒQ¡}árޏMd|™xdt 6¯#ì®Z5AGHÿøó*¬¢ísÉE©99úZV¤êëÒzsË`íUhôÚ¬&âT#rí´¤­¥)j'ZvÒ²=IQmïˆÈöžÐ{X¢Ýw r>ɇG–ˆÒ!RáË[ÇÜ–‡”ISh&Û^–Ì’’ËQ8}j<ûwËB¥UivýF²Š}Rºn³LAn:´'53I§4‘‘÷Å–fE·<‡B—L‡MK…jpÈÜqç–ë‹Ë«5¬ÍG—€ŒöxŠ·D¦VI´#ÜŽ³\w›qM<ÊŒ&hqKA™‘äe™@&uM«{²6¿bÈmu•Š3U²«ºIíƒB6{]ÃIhOZ4¥$Z23<Ήb[ôk^ÙE·ÖòéÌ­Å6§e®B³RÔ¥wë33ïŒü#õBµh4IÒj ¨çÊB[~d—Ü‘!Ä$ÌÒ…:ꔳIfy'<‹ðKJÛ¡ÚT&hVå5šm5…-MGk=)5¨Ô®³3ÚffÚ®Ín›DŸQy£u¸±œ}m—ZÉ)5Ç!¯`›E•waeåpYΦ3•­@¨éŽ(Òn©…æžLÿÉ$GÕ°ˆ\çEbt'áJo”!µ4ê32Ô•FY–Þ£?È‹gI4ŠzÚˆE‘ÁjS¨†¢ð’£¥DÒˆü9¤óð€ËÜÔ©X­Øâä*¤Ĩ׭öäwy1)M%Äl=¥¥ÂOíØ1´XîcŸc½IùÈ×2¡@j mìLæS­Å‘ßéÉ${ì¿ù¾D]D=*%&›D§•>“ ¨qI×&›,’Kqjqgÿ©GÿÇÛŽEõfSï)„¢å=ˆ.$Òd\»iÎB“žÝ®“ÏÿÔ=K³ïEcíú§ÿíI¢Ri´JriÔ˜LÈ—tši9$”âÔâÏþ*RŒÿiŽ4ûÚq7pÉ=uVR´³%5IISIYæ´#'“ȳJr-…³`Wd7ýDß_úÏù*œ/ÿ«K[ÿF‰ÿ%Úº­š=Ïȶ¤È†ëjiØè˜ó-º…~’V–Ö’YVJÏÃø%·oÓ-ØI…JL¶ã!´4ÛOMyô¶„’R‚qJÐDG–IËaàYÓ rÝÇI Ô‘É=Z’Ånšâ¶¦ ²mÂOâm¬ˆŒ¼Ò~O©ÏLj•20O»1å{ZB[R”çøéOø¸’ðÅ~G®¶Âj°[¨Ë7#;™¡Ödi56âL”…dfY¤Èò3!ú¤Ñ)ÔÎQQ[yN¸’Jß~C¼¤—QŽ)KȶäYäY€ÎWY¨ÞúiTºuB%*"™y3g©„rïäfDIiÍJKI.¼¶=áÏf?±ur¨T» *iCSm*¢ÐÃi}N—iHÍèæJRRj"%-9åýAG¶-·.lªC3zzÉÉjz üŽYd’I-\ªÕšô¥%«¯$‘g‘õbXvÌ[ŽMÇ4æêÒ’I‘(ªruº’34¥_œÈÒYžI=…à"+õ dn4FpTiM1&½1Ž­j\UšÖ—Õ ²Ë/X­Z6uÚ™S©DKÒjÕwíJ¥)D©”„’¨Èˆ‰)IdII%%·",Ï?ö(uù•ê\9lTç) ™ ê2©F„šQÊêpÉÍ$fE«<³ÙÓž"Û76!aÍÝ&–ãu¥öÅ.[•W}²cOk-CDF¦ùB"^ÞTó2ÌȬ5Štjµ9ØA0îZù .0³"<òÖÚ’¢-›K=¥™dcÒ¢Û4Š-´‹r–Ô¨´Æ›äši^ÔÒ:‰(Y¯Z‹aLˆ‹« » ½°NZŸ‰©SÛ#¸IKè-. ÈÿºâÿÀ•Òá5±“î65m2(Fš‡ÿIrSR5õè4,Ðiê23Ì3ÎÏDÃûZ‰H•I¤E ¥)N²ÍRRHÔ¥”¢üæiRŒ¶™dg™‘æFyø ,ã·áÛÿgÍ*T'ìh…T”M´¤š K”ØI4$Ò]I23NFg˜pkGäŪ-„}ºSQçS$²ÚaÂyÕˆw–25“ÊlÿE <’I34æYäJ·2µØ[Yv­<æUjÌ) SšÖ¤¤žm R²-FdÑ÷ÙfFb¹ùný¢ªŠa¾‰Ž0ÜwßDÇ’¹-¶FH'Ì—›Ù™fæ£ïñ<ýW°òÏvƒ*ƒöJ›¥ËRø¬Êy¦Ö•ÌÛ2JËóFn,ù?ÐÍFzs0\_¤À¦ÒlìI:|WnNŠýLÖÙ~rÒL­jüM“ZIžzy,Ë.±Û›E¦I¶¯+¶ ˜”õ˜ÒZC$¥Æi-òH|ŒºÈÍ<®e–diÛ°²éÖéUéu =º·è2éý¬ÝBMK¶2åu¥Ô¸‡LÜ2JL;VJÏOxE˜ÒÌ¡Òf[‹·eAiÚS‘»QqT]â™Ó§Aþ̶˜Ú¿kƽhô{âÀ¢ÑÞ“C'Ñe“ñ&+’ÍÆmM¡hï¥$Õ¨¶(³#=¹{R5TðêŸN¶¥ÑÑ-«Þ®ˆÔš¢–˜µ6›~^qI%t Äì2̲͒ÚVæ-ŠC+ZÐÜÃY²¦P¥Î}FÊY4f³ä,¶£Iì/À‡2YÐ㵊S¼›2×9’rsîRK%¼ƒRÌгåf¤äfj3ëÚƒ…3ê%vVé•û,­Zª¢Çxš‹1aIi*p¹F””¤Ò­JÉIRKÀežfcßì†ÿ¨›ëÿ@™ÿ%CWJ¢Óé»"3nªCÉJ}ù>ê’œÍ)Öâ”­$f£$ç–fgá1êÞV½ï¢=E¯7-ê{é4<ËŸŒN¤Ë#JÍ•¤Ô“-†“3#üz˜lëlau´óÎ%¶›¢ER֣ȒDÂLÌÏð;Úi¯Ñðö$È S¼@ÄÇe©kqQó€ùŸ$ƒpˆÍ |ÙAjËj\"/Ò#@ÆÃ«U˜éÇ¥&vÒÓpåÖ%È¡$DISN:¤(ˆˆ¶(ŒhjTÊ}Jšå6|&$Ãq$•0âÐd][?fE—á‘ÂFµg5{BS”»f›nJ"5F’Ëæê&;©µ2á4l%h$ºF}fJ.¼‹)%>Cg°îÒ¬3H‚ÕH—F_m6ÂRé©UèQšˆ³34¨Èóë#D7lRPË­e9Fã|‘ººŒ…¼„‘šPá¬Ö‚<‹=&YäYŽAa˜VÃÁSe;‰q˜ER“É ÒiR2.Sa%IJˆº‰E™ÐŒA¤C™Ù‡äãI$I¦UÕ1),ŠR[(¤„9ýä–µl=›LºŒÈýœ4‡W¶([KaµÑcÕb“MÈ4—`GqÄ¥D•)F£"Ù™™õ™çª“d[²ktêÔ†jÔi­òpä*©$ÔÒOI(‹ó›uiN¬óבjÌ XÖì õ)ðÚ¨±*©‘ÍyYD§Œˆ’J3å?H’”¤”[H‹"2-€"Õê|7»å¦LfäœZ,…°·ÒN) 'D²5m%ežÞ½¦78×L·šì½ Ó©c¦ŸIù4Äbi,È&5¥iȈµddz‹ñJ=•lRm7m8t´ý„ëjePyÇÚäÔY .)ZReýRȶ™å™…FË·jãÖôز^¦¾yÈiSßÕ ´hÉÕëÖâtä*3,ˆ¶l,ƒCÕ¼^lVšCôHv¤yñ"¼Þ¦¤È[ªCŽ(bÍ JˆóÓÊõ™)!ÌD¾ìuÁiûYªL9ˆŒ¶óf<‡9R[h.¤‘“m¯Il#ÌÈ‹Qç½r×¢®(«bB»DŒ¢¾s톈úÈžÕÊd{ËVÒ".¢Öíš3t©TÆc¼Ë3ÊI[RCï+g|·‰Dâ$‘š³2,fÀz\& ö2aÝÆÆ¢­¦EÓPÿò .Ja F¾½…š =FFy‘æyý 1熖qÛðíÿ³æ•*‰v4BªJ&ÚRM%Êl$ši.¤™§#3ÏY„FŠÔfÔêÒ 7S‹2"ȳRŒÔ£ý¦fgá'¹0®ÁĪÜû¢;µZ ÉC´ùU:$ó'SJÒZÍ9‘ž” Ë2ÏI§ð!’ü ¼àÚq,ºÝblÄ&ýjÙ‘_"äÝ‘IK¤jRK½ZEÖ[sÏn¡ivÍ·Tûò†ô)SÏ¿cÑ]yJ335­¥¥K,Ìò%‘x2âíêèJ¡9JŠºj¿J2Û%!G«Q¨óëV®ûW^{sÏhvÌj5É2¡M¨3ô…0š#Ûi£q 3TœÓ’”¬””€‹/ÄGh´èÔ¾Æ 9¯ÄG'XDŠ¢qN”9-„)²_Y е ÓÔdfFG™çwü–£ö“ñ ª KÈ&ÖâªRñ#2=)t×­)3"Ì’¢#ðæ9G†–qÛðíÿ³æ•*‰v4BªJ&ÚRM%Êl$ši.¤™§#3Ì1”Ç*·>3ß”ú­"“V‹Eíôè5*Cl²ã&âžK|’ÉJqf´šüÞ’ê<ø·]¿Uàתߨ7~.*dB”§n š˜ëq”é¥*=(&Ò{?ªGž{E’U±F’ìgÜbAJŒÁGnSsDƒl¿ª§R¢ZË=½ñžÝ½{G©Y±­š¹SÊt) *sܼBjsìòOwß- /ÎwëïϾi€ÄÀ¡Ó“ÙW¢·–è‡kBšå--¤¢¹$åIo•SYi5Ež^Ï3Jræ[Uv)}œúôº’D)Ïc¢’â/ÖDM5Ñ4£F}cT@Ä^"j¬`T•&E@@áÂß;·oßÙ-Ÿ÷kÿàîœ9óuœýî9gÎI’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$Õž î$IʨKÜH’$•š $Iª9&@’$©æ˜I’¤šc$I’jŽ $Iª9&@ŠZàƒð’¤rg$I’jŽ $Iª9&@’$©æ˜I’¤šc$I’jŽ $Iª9&@’$©æ˜I’¤šc$I’jŽ $Iª9&@’¤Òq­•  I’TsL€$IRÍ1’$I5ÇH’$Õ I’TsL€$I%ø˜Ê‚ PrwßMüæ7Ùîràá.3fá¿s}¥1lAÀd£kWÆŒá‘GX¼˜ÆF-bÒ$N:)ó^'ŸÌ¿þÅ{ïñ駬\ÉÌ™üùÏì¿¶§/I’*ÞQG…É¢Etë–Õ.7Ýîrá…uÔ·/³ggN€úöåé§“×ÞˆÏ8#]±­¶bݺð¾ßµk†:³L€† aÊ”Öo‚+®È°ã1Ç´ÙIê_ÿ ì±G뛇¾yãÉ÷êÞO>!X° CÀ-¼»Å"§Äâí·80sYŽ<Ë©|öA65e{îª,Þ"T&²ß[«n¾™C=šÛoOYlôè0ï¹õVÖ¯æÐ£F1t(Àܹœs÷ßÏœ®|"Nࡇ’xøa¾üe€Ãçµ×Â7{öä•Wè×éÓ“ïÕØÈÊ•Ô×Ó·oîç ’K5¶¬[76ßœ¡C9á6ÜvâþûùÜçXµ*eU LœÈ;d{è,Ë'.Â4•üþ÷Ô×|ÿûÙZ’±ž=èuëØrË”Å#lššèß?sY¶]r +Wrùå­½oéwœ<9,ê—ý!‡„n½5s-¶Ú*ì\¸0Û]üy‹,¯«wdÖ¬°ð¤,–ýȳüÊ'UWÇ„ a øC>5¨"x‹*ÃoÞ‘¿ûÝä† <üpVfù 1x0}úä°ãŒa™[ì°CXàñdzŠ3áâ‹T²Ï<;,,üÂ É d?ò,¿ò©œw^¸ûK/¥¼ŒU¼EH•aï½Ã›òþ“¼Àu×…:?`•TÞßéwüè#‚€+RîÞÐÖðê«Ù±V® ÷:î¸ìãôîƒì¯«º:>þ˜ `õꎛry–kù4vÞ9möé§|ö³9ï® â-Bª-Ï'&Ëi«[·ðÙ«%K²ýÍZ¤hÍ‚€ùóSîÞ½{XìYY®wo^y%ÜåÉ'sŠÓ»[ rº®–,!’ ºä’ÖzSF¥¯6×òi<ø`¸oú±nªÞ"T&\ #³›oÿ1ztÇMGÅ[ÜqkÖ”4ªºwÒ Á^·.üG6[÷êÅ„ |îsK—ræ™…¨r1xp8QÂÌ™I¶®ZÅW°ë®ÜVµåZ>©‘#ùÒ—Â~ñ‹üë‘$E©oß°}å­·:njY2lðàlk+R Pcc¶-@o¿á@›nÊ3Ï„…W¯æàƒsÓŸw1Èòºª¯çÉ'ÃÂcÇvÜšëȳ\Ë'Õ¥ o¼îØy¦rUoR%¹ë®ðX"¡O>ý4Ý𠤊”-]J°|yÊÝ[Æu˜ ±ƒvhý6Z½šÃÏ#Nïn1HyôìÉ€|ík¼öZXòõדO}™Sµ…—N;-Ÿáùª\Þ"¤JrÄá=ú׿n}óÜsÃ7Ï9'‡ªŠ”%žkj ûÂ:ëß?¬!ÕDAÀСᦠ`Ù2:(ç ñî“¶ae|=÷Ûl“CµEM€ZÆØåw½©âx‹*IbmÔ `áÂÖ¹žÏ¿¬\IïÞ9TU¤hÒ¤°@ª¹ˆZæúÓŸ’8é¤ð1œÄQ Ê9Âæ8½»Å ›¼gÙ2&Làä“é’õØ¿b'@‰¥3‚€§ŸÎvU:oR…¹ôÒðN}ÔQ„ÞrKnõ)ºêª°ÀˆÉ |ûÛaÿþï$[Ï9‡õëÃÓ¦±í¶9‡×&Nïn1Hü·[¼˜Q£Z_§ŸÎo~vÔ®]ËO~’y©–¤Õ/úë_Ã]Ž?>·ÀT¹¼EHf‡Â9‘OËÀ˜[=EJ€Ž>:,ð«_%/0n\X íZ` cÆ„§<üpn ZÉâôîƒ4—Çî»óÁa Rv’æZmáå7Þ˜Õ« æÏÏêáDUoRåyøa‚€>¢{w¦O'xóÍœ+)RÔ£‹,Y’d5øwWƒï< â„Oÿø=zäX§8½»Å ýå1dHkÿæÿYµ–oþ|Í59„¤Jç-Bª<-÷ë–î¤ü çJŠ”ÑfÙŠGi÷€Ïæ›·®Ótúéívéу·Þ 7=ôP4¿Âó¹»uƒApünƒ)ð*Ì‚¥°ÖÂR˜¯ÂÓpüN€A.æÛ*ãåñï´:õÔȪ-¤üw†å÷Ù'ÛúUL€T&êâ ’Ô×3o}ú°l›lBc#ýúñᇹU’øî\úõ‹xÇúzž>ìáš5‹›nâÝwÙuWÎ=—­¶˜0‘#i{óùÆ7øýïšš8÷\-JÀ=÷dgPW—ÅuÕ†À¡p(ÀL˜3à-øVÁ2X @/Ø6‚Þ°3ì»À@èSà1x¦BSVV¥Œ—G]=ƾ°x1»îÊ’%T[Hù?dóÍóùA-Û[„¤²rã­?£ÿùÏ|j(^ °Í6¼ürò'€&NL2ïË¿ÿ¼pÒWÖqf*º7ü æÁ‹ðKg[yGÃpø%¼óá:Ø;ߪ*\6—ÇÀá€è ßHªÍ¯ün»……o»-ÛÊUl’*Òž{¶&GO EM€€=øÆ7xâ –-cÝ:-bÒ$N>9yá–µNK‘õ† àux~Ûe[a¶¶‡‹a:¼@aC¹+N–—GËÃŒë׳×^‘U›Gù1cÂÂßüf¶•«:˜IªNIîn›Ãå°n…ý‹ÁP¸ >„Ë¡oñW²Ì<êë™5+,ó1¢µUo̘Ȫ͵ü„ aáTSwªZ™IªN­w·“à}¸¶Ž/šmà6˜'ÆCI䔩Œ–_°€††ÈªÍ©|Ë ½j =U[&@’ªSô‡a*ä8Kd± ¯Â°CÜ‘MN™Jÿþ­Ó]}dÕæT~öì°°S Ö IÕé_Á¿X?(³IzºÁ°FʼnTÛL€$U àú}¹¶Œ;˜¤>ïÀµËr’"d¤2‘õªÐRz}áqØ’%–°Þ€kË/ zö†þð8tZ0D’$)ÛÛðÿÚ¼³%\ KÊ2 .…ס€Eï%åÇ IÕb˜ç$ÛTÎiз`6ìwR1’Tv‡÷àËiË”mt"¼»ÄFá‚j|©J™Iª|ýà]™]áòLƒF»Pé‹qVßJõ‘š™Iªp›ÁTøzŽ{•aô ˜ iç,wÕ÷…R}g¤f&@’*YWx Ææ»{¹¥Acá1èwy«¾/”ê;#53’TÉ~·\IY¥A+âŽ!oÕ÷…R}g¤f&@*™ƒ–:; ~ ûÂê(jÛ.‚3á6¸FQgû¥½ü΃‡¢ Äò8ß2W}gTþúÀ° ì»ÂÖÐÁFÐVÀ*XËaL‡™0^‡r;Nuuþ×Uü¼ •£­á8Þˆ´ÚhÓ ü¾>Á½04¢$¬”ª/]¨¾3*O½à`ø"|¶…7`Ì€é0–7'=+ ws2ÔŸ]a ì »ÁxÃÊÌÇ4’T™þ g­ò¨:ÅònbÿÜQÀqãR}] ÕwFee8î%p?|†ä».@Ø ~“`)Ü£`ƒt{Ø&©}ž,þOóÂÓ ¼o°uðo–ïîq©¾/”ê;£2± Ü‹à! =#­¼Œ†‡`Ü’—2’Ti6€×`R®4¨ì˜Zi«¥VßJõQìÁ_áC¸¶)ò±¶…‹a!Ü Ÿí¸ÑHR¥¹~Yòƒæ—xƒ½¾_X %V}_(ÕwF1Úþ óáЫ„Çí?€yp7ôo}ÛHREÙæ@Ÿ˜ŽžkTà v3˜]Ú¯ŠUßJõQ,zÀOàC¸0êÞ®ìõ„Âbø!ô IæB¸:î²Oƒ ¿Áþ/œ_p%%S}_(ÕwF¥wL‡{a»¸#v€ûà 8ÀHRé ³`«¸ÃHÈ& *ü»5Ì‚ú‚ë)êûB©¾3*¥.p1|#⎤ƒQ0«‚«œã@R…øü&î:HŸEòõù;87Šzrä§ôUö§íòm“áѲùÅÒÖ–pýƒþL€¾q#I™½ CâŽ!©TiP$ß„{Á‹QÔ“›¼B¯¾oþê;£ÒØ fÃÏÊoa»¶ÿ«nWÁ,Ø5î¨$)A0-îÒëœEõõùZ’‡x‹Ì¨Æ3*}aœw¤ú•r |ûÄ—$er \w Ùh{Ÿêë3†¡ß&@@5žQ±óá‹q‡ÑVÆázG”_Ì’êïÃgâ#{[Fšõƒ9ù.'  Ϩ¨ƒy°oÜa´ÈþÍý`.V¢¸$)k{ÂKqLJ¿>_ÏEW[f&@@5žQñ ‚9ðù¸ÃHÈcæÒý` *n\’”£À/âŽ!~}–zB   ϨHv†9åÑ‚RÈÚ5‡Ã;Я(qIR^&Â1qLJ¿>…ñÑÕ–™ PgT ½àMw…¯^ Œ†i°a”qIR¾ºÁRØ8î0òá×goXZʇŠM€€j<£bø \k‘¤>-~Ž (I*ØðjÜ1ä'گϒ> oTãEn <‘{jÕmê“Ð ž*ƒ-IâD¸;îòí×ç¿àË‘V˜Ž Pg­ðn^gþÁ#õi±ÌQW+%SÒ|UaÂ̸c(Ó²Veæwðß0¯´M¤>o°;œ £>Ä{ð]¸1êj¥dL€”Ú®0=îÊÁLw R‹S`yiÇæ— õiq| '­~IÊì)8(îòmÊ!ðD¤¦cPg•^0¶Ëw÷\?Ø¢vx¥ÒføD˜ŠÎ ¥ÖË㎡|}Š{„AƒX¸¦&‚ ®©‰ ”ë¼pF¯è—R¹n…÷Š R¶út0êp’ÔÑœ~hÆ+ÚoÐíáÝH+loŸ}©O»WSû¸N¤:Øæ@ÏjÈæXZ}:èïBߘŽ.©Ö-MãŽ!?Ñ&@}aq¤¶·hQÇì'ñZ´¨ˆUEº~TX éÿ×(‡Ô§ÅOá’¸cT£Ö@¸cÈO´ PXi…í%Í~/©Uo˜›VIª‹ª¬RŸ„>ðôŠ; U/Ç©JE8e ô (š¸?)UˆoÀ]°,êjcë“ÞGpœw’j‘]` Eî³HY™Åt m/ª2lõé`·æÌL*[€”ÚJÛŸè+‹XýâÙUª÷U‹öƒ¢›˜´l[}:xVÃÞq‡¡*e¤Ô–CCÜ1”ƒÞ°¢ˆÕsL’Æž à˜cŠxPU˜¯ÀUU©O‹ÛጸcTsœ1¡ø!¶™ˆ<çRëóa³(ª ʸÃ+©-`^îk¾JRAþR±¿½¢M€ÆÀ-‘V˜ŽÔÉP˜QU•x}=ûƃª‘]`JíMØ-îÊÁ.0#îTË…ÇâŽ!Fðü÷¾ûîð‘‚ßü&Û]<0ÜeÆ Hû˜B~O0 FðÁÂèÚ•1cxä/¦±‘E‹˜4‰“Nʰ×öÛsÍ5¼ò +V°v-ï½ÇßþÆQGe{î’8þw ù‰ögî¿àË‘V˜N%þBW‘=_ЍªJ¼¾Ž†ûóßû¨£ZgíÖ-«]nº)Üå !ê¨o_fÏΜõíËÓO'¯yÒ$z¥x<å«_eÕªä{=ð}м¤OÅ©‹;•±=à¯P‰ƒQ‚H/í×ᤒ=Žmèª|=`!l«£¨­¯¯^ðl ùìÝ¥ sæÐ¯À±Ç2qb†òõõ,X@CëÖѯ 2jTò’ãÆ,YÂYg%ÙzÏ=IÞlh`òdöÛ`îÜ0ªÎºwçÉ'Ù€7Þàæ›™7ÝvãœsØj+€I“’<$qÒIÜuuuÿü'<ÀÇ3p gŸÍvÛ<ó ‡ºu>IÐ –ÂÆq‡‘‡æ6À’RŽÁ¬Ä_è*¦Á05ºÚ*ôúšVÐ/±Ë/[Aþïÿ2>å”°p"¿I#Q,cOV‹þý™6­µI&ÍŽ\–?žm¦ãß|s¦N 7vZ»]6Ü0\TgýzŽ?¾Ý¦^½Z“Î>;Ûh¥š7†ÇC"¼Ë€û¢«-³ ý‚RÑœ‹®¶ ½¾î†óß{ÇÃG,W­JÙyÔâþûÃ\ax¦[_N И1,[Ö®O*ÕŽ=z°p!AÀòålÚi*ÚwdíZ‚€©íÓâ1cÂjÿô§$uîµW¸õ±ZLÖ‰ƒ •ÖcphÜ1Äë0x4îTËv†·ãŽ!voÁ€ü÷ž5‹ÇØpC¾œv<ßV[qÄsçòÀù±­!C˜2…[n¡¡àÊ+3”?üp¶Øà®»Xº´ãÖY³˜0`ð`öØ£õýº:¦L᣸ýö$u¾öZøí·Ïã ¤Ú4^Ž;† ‘Üå÷†¢¨'7ú¥¢Y Î_W¡×צ°$‚jZž!ÐiHu·ná³WK–¤lzé H К5óç§Ü½{÷°†Y³R–>¼ãDˆÏ?ÏÈ‘9‡ZÝ| LYø$›é+N[Që³áQשª$}}`iªCæþªPG3!ÙÍ7‡ÿÝi\ùQG…Ï^ÝqkÖDp¬¼uï°~}Ê-3¦™ØzéR¾÷=N9…o›I“>ÿyî½—þ0ÂH¥ZÐfÁVq‡‘ªÕ§­Âoô[Ã,¨/¸žœUîw”Šc-t®¶ ½¾ºÃÚªéÛ7l_yë­Ž›Z– <8ÛÚŠÔÔØ˜m ÐÛYÏpòɬ[ŽïNÌC-)kÀ5qÇMê“Pø]þZˆçq‰ ý‚RÑØFd]`À]w…ÙCÛ< O>ý4Ý𠤊”-]΂˜JË ©¹L~Ùeá^ýknÑJ5¯¼ }c:zö©OBwùÍà]ب°JòT¡_P*AÍ è„#Žó€_ÿºõÍsÏ ß<眪*R”x ¬©)ì ë¬ÿ°†‡Êá [lN‡GÀRÍ»®-ùAsM} ¼ËÿÎ/¬†üU蔊ÆÇà‰æ1ø„ÄÚ¨AÀÂ…tm^ãoÊ‚€•+éÝ;‡ªŠ”MšH5QË<@IW½Hcñb‚€Æ¼Ö”­J‚VÖ®…/AÖä…*Á0礆À!pCIŽ%e´rùV®N›À²hjjj çÜb ¾ô%€:àî»Ó=|^2-[{¤H| êX¸ürî½—gž¡KêoõÄÓmŸ|ARí9žŠbfä#á©·æ×êÓVÞ?së` ’ïî¨Ð_è*šÛá+ÑÕV¡××Ám‘U¶ÃagÐ-·@›¥*<0·zŠÔtôÑa_ý*y–iÛfH‰F¬ à€ó†x晜–ÀðÂj8æÃÐd› O}ò¾Ë«Ð%‡ V¡_P*šCëRe«B¯¯ŸA¤Ïo?ü0AÀGѽ;Ó§¼ùfΕ)êуE‹Â‰:¯¿óÎájðfAüÑÂjï¾;yµÿ{XàüØú÷¥J·%Ì.`PÂ7áƒd»G•ú$äw—ÿÌŠâè©Ð/(ÍÉpWtµUèõu7œe}§fßþvø¤i“N¡H pñÅa™Ga£6Ocl¾9Ó¦…›N?½Ý.›o>>|ç;í6ÕÕqå•á¦wßmW¡¤} ^Ïë!©‹á-Ø¡ý›Ñ¦> yÜå{ÁëðňÈ_…~A©hC.O;gP¡××4”¹TöêëÃt!±îÄÚµá,ˆ9)^T_Ï«¯†ÅÞy‡‹.â”SøéO™??|süxê: E8ñDÖ¯o}@ìÜs9é$.¼°uþë?æóŸÏ9ZIí]‘cWQ\/·ŸM±©OÞî„KãŽ*ö JEÓ>ŠnR†J¼¾6†¥zÖãüÜxcë2ÿüg>5/¶Ù†—_Eâ5qbÊVœ“OfÅŠä{½õ{í•s¨’:é ÂØì wƒÛáIؤù²J}€ŸÀCÐ5sÁâ«Ä/(ÙpdDUUâõu4Ü}­{îÙš}t>55zôàßà‰'X¶ŒuëX´ˆI“8ùä {m¹%—^Êóϳlë׳h>ÈÙgg»À™¤,4ÀT87S±ž0ÆCb!ârK}€oÂ4hˆ;ŒP%~A©ÈÆÂÏ#ªª¯¯«á¸c¤vúÁ»f…áMàI¸º•eꌄÙÐ/î0ZU┊lˆêÑåJ¼¾žG®H*;»Àû)ÐØ ^†ëa«²L}€á}Ø9î0Ú©Ä/(Y7˜›GQUP~ÿ¦·|P&ÝÓ’ÔÁî0¾ÕþÍà-¸:EêÓö€“áR¸Þ€•2b¾³a÷’7 %s|'s©Ì‚rý5’Êyp]Ü1HRJÛ›ðÿšÿÜæÁ#Í÷Ù~ÒÕðÜ —Âɰô(a´up)¼Û–ð Ù2R2ûÂsQÔ“¸¾Ê³?:©`ï¸c¤túÂ30N‡Õð <ãË Ýé`ÿ†NS¬– ¥0v)¸’¶×Wù§A»ÃëqÇ I™u‡kétgŒ/t§ƒýa6\ ÝãŽ$% ¥ðøEÁ•t¾¾Ê9 úEÚE%©¬Œ ƱÆF?qYAzÀX˜ÇÆI&@J¡7Ìi3™V~R]_e˜m s WÜaHR–‚ `{¸^‹wYõ6…×alw$™™)µËá'…Õþú*«4èøiÜ1HRö‚ ù{¼ ‰u–íàxŽ‹/†Ü˜)µÍàÝ–ÅÈæú*‡4¨Ì)Ûz’”Lkô‚+a1Ü;•6ŽàO°.‡ K{肘)­ŸÁÅìžýõotY™¬Í'IYk—%l —‡p; -~CávX?­Ä_&@J«Ì€òÝ=×ë+§4è–_Xíõ‡•õ»E’’&@ ½áû0 fÂÅÐ?êïw+mU IDATÃÛ0 ¾G]‰˜)““`\¾ûæw}e™ ƒEQä@`TÁ•HR‰¥L€Zì×Â|x®…c¡w¾ë #à:xæÁµ0$ߪʅ ²ð`¾)B!×W6iа‚s /Ãì.e­.îTm‚ ¨«Ëâºêƒà08 €0f ˜ +a%|«Øú@/è»À@Øv­áßð(<Óª#yü¿R™ €‡à ø Ç ¿¾¶„‹àL¸ ®†… ƒ»á$x<÷Ê·‡'á0x§° %©ô2·uÖ v‡ãa,ÜOÃTx–ÂXKᘠOßa,|v¯Ê%«!‰S)œOåþ¿@T×WúÖ ayµu‡§á´(“¤ÒË'R+?=eí¸"ÖÒ¤AÃrÏ®‚?F›TÅ:ˆë¯ç¹çX²„ÆF–/gútn¿‘#éšË¯¢aÃ>È¢%yà@®¿ž×^cõjÖ¬áÝw¹ã8 yá ÈáUML€ ã§§¬moÀè¸ÃH• Ë% ¯øä—”Éðüóéò‰×^K™—tз/³gg•]tk×&9VS¿H¶@OöÙOSSΟ@93*ŒŸžr±¼‡Å)Ò aÙå@#áXgLUMª¼á–\ÀÕW“e;}:ãÇóƬ\É&›°÷Þœ|2›n °v-_ù wß®ª†&Of¿ýæÎ¥_êÿý.¾˜Ë.hlä¶Ûxâ €ÃãŒ3èÖ àG?âç?o·Ë¨´Ïh44ðûßS_pþù\w]ú“®$Ù‚Vr‚VŽÁýp"<w$$"=,Ó˜èý` ¯–0N©â|ï{a«É¢EœpB’ ÜygXæÓOÙgŸ”UõïÏ´i­Í0iZ€öÝ—õë –,aß}Ûm6,lúä“0ñÊF]&„ÇýòݫRØT?=åî0˜ûÅF‹­AÃR·íóÊ£K*g{îɺu~ÈÎ;§,VWǸqazñ $mŒ3†eËÚõC¥I€&OËyd’­¿û]¸õë_ÏöDÎ;/Ü套Ø`ƒl÷ª&@…ñÓS^¾óሒ÷Gðü ~#ÚOQÝ6 úr²è(˜oö#eá±Ç¼áØc3”ÜzkV­ ~x»MC†0eJkÞsÅ m·¥©‰ àss Âï~Ç•W2lXVg±óÎ|òIØ@õÙÏfµKe1*ŒŸžòµÌ…SJ{Ð0FÃÕp?¼Ëáiø=|ÍiÐßaI›h4¼{—6Z© f*ÿùOVåÿøGfÎäÏæÀÛ½É%­Ï1Ç sÎ ŒŽèQ‹ +üñ£©°Ü˜ÆOOØfÁUÐ-¾úÀ!ðmø=< Ëá}xž‡OàS8®…·a`|AJä§? ó†ï}/«ò]º$ÿ’KX¹’Ë/§W¯ðô Ð-·„ú7¯]Õ»7̱Çòùχ# ³7rdXÛŒôè‘Û¾•¨0~z*L_˜OÂ6qGÒb?„{`õA=ã`“¸£’*ÅC…©ÃÂ{<˜>}Ú½“>zæ‚€ÆFºv¥þö·vÃ/^ÌØ±Ù¦A]ºðÆᎉƧªdT?=¬.‚yå·¤è‰0«‚«|ÒQÊÁûï‡SæDÞp’>Jwñb>˜åË“Oä3yrø@{z§–üñHO Ì˜ÆOO9^‡ñÐ?sÙ¢Û&«p€·)G«W‡‰HäÒ'@‰ÁÔ+V°d AÀ¸qì³õõl±gŸÍ¢Eáî7Ý”ù@S§†…:(Ú3(/ÞÝ ã§§èô€±°~ß$ËÁŰ.„îà-BÊUâøyó¢¯9}”˜(ñºþúŽ[l}œ~¯½Ò%±àFðôÓÑ„]¶¼»ÆOOQÛî‚ùpl\Âãn ?„ð7Ø®õmoRnÝO}}ÍY&@3|¬Ïùçg5¥á_ÿ;þøb.gÞÝ ã§§âØî„áÒvéHQl—ÂB¸vë¸Ñ[„”›7ß ˆž=#®9}”èz .¿ÛnÇÉ&ûþ÷ÃF—ñã3”Lßtãa±c“èÞ=œèý÷SâÃÓ¢Êøó®0~zŠÉ&p| ®†{à˜sa9°æÂ xî«ák0r>Ž·)g-+¨w\†’[nÙ:gOÒEãÛJŸ|Xà‰'’8è °À¸qÉ ì¶[Xà¶Û2DR¼»ÆOOUÎ[„”³½÷.dÀ€”źwgÒ¤0ç˜:5ùjðm¥O€zö g ‚ŽËŠ%´ NJµXؘ1ao~3C$ÕÁ»[aüôTå¼EHùhY¼}Ñ"N9%IrÓ¯_뢟|’Õºé à Ã2ï½×1ñ:ï¼pÓÛo§œ¢úºëÂ2‡’9˜*àÝ­0~zªrÞ"¤|ÔÕñ§?µÎL8}:W]ÅgpÒI|ç;ÜukÖ´f?#FdUgƨkWx ,¶j7ÜÀ©§òõ¯·¾¹v-_øBÊÝ[zîú—ÄôÅçÝ­0~zªrÞ"¤ü}ã,^Üšu~½ô{î™mm  ¾ž¿ü%ù±–.eøðtû¶¬€Ñ+Ú)7Ê•w·Âøé©Êy‹ ²ñÆ|õ«Üuo¾Éòå¬[Çòå¼þ:7ßÌ‘Gf÷ÓV6 PÂÁsÇÌ™Cc#«W3u*W\Á[dØköìðU?b‚w·Âøé©Êy‹T¼»ÆOOUÎ[„ÊD~sJ’$U0 I’TsL€$IRÍ1’$I5ÇH’$Õ I’TsL€$IRÍ1’$I5ÇH’$Õ I’TsL€$IRÍ1’$I5ÇH’$Õ I’TsL€$IRÍ1’$I5ÇH’$Õ I’TsL€ (¸€$Iª(&@ŠX]]ÜH’”‰ $Iª9&@’$©æ˜I’¤šc$I’jŽ $Iª9&@’$©æ˜I’¤šc$I’jŽ $Iª9&@’$©æ˜I’¤šÓ-î$IR ɸÂxi–”´HÑ4ˆ… ij"êššX°€AƒâŽIRÙh¹E€·©LdÌE3¨yûì“H}Ú½ššØgŸ¸#«<^mªBÞ"ÔVé¥R1*Ø¢Eom‰×¢EqGVy¼ÚT…¼E¨­2I€JÓÑVÞ‚LCÆ5/H}ÁÖùÑ寫MUÈ[„Ú*“1@‚V±Ù¤‘+?1UŸ4ßh^ð5¨,Ò^ [Y\è•à Õ/xÅçÀÅ‹s{_RMñ!•%AÌG<¢ãÕ¦*ä-Bm•É h™E£Í<@8ÉG¼ÚT¼E¨E™$@v¾úXäü¼ á§'©Êù˜$Iª9eò#ÏAÐ’$©æ˜I’¤šc$I’jŽ $Iª9&@’$©æ˜I’¤šc¤h<ë×'&x­ Ö¯çøããŽI’$¥äLÐ;óÌŽ“Ü'^gžwd•Ç«M’J¡L¦#Š•3Alýzº$kLlj¢k×’GSÙ¼Ú$©ìS’f?iÞ—$)^ñ,…‘¤•?ÈÐò_ïÏâ¢õK¹W]—Ç'±ßs<»?uÅë^I“}:’$•¡ªÔóŠ{I%^U"€Y°AÜaH’"bEµ«ƒ[`yqÒÔ”Ûû© \w ’¤ˆ˜U» akج¸ùÚ×r{¿"m_†câC’¤hTqØa0އ‹~mæ¢ ç `œ sa«¸ƒ‘$Ìn«÷1ø~ð<Œ†c`9\V²³¨ÐÏ+­®‚&XûÂÑ•œK’UÚÔ¦ÀEÌ€½Jy•øyeÀ0 ºÂÓðý¸ã‘$©PU™Ýÿ‚:Øæ&@…   ,„í`X{Å’$I©¾h4Ì„.€ Â$ÎéVø§ÂtØ(Æ€$I*P•%@ƒ` jþó)80*LâœN‚ÉÍïüþ[8’$¬š ˜ £›ÿÜ–4OßgTˆÄ9õ†åÐ €`:œgP’$ j :øÜÐæ3áïÍÿ6*DË9M†QÍÿÞ Â±$IRª&º¦@6ïŒkÓdTˆ–sú¸¹Íû߇§Áï%I•§: Äœ‡ýÚ¼SË`Óæ?M€ ÑrN;ÁÂ63¨×ÁpY¥ H’¤UzÔ2ça[u0vjóŽ P!ÚžÓAðJ§×Á?JŽ$I«è¨íœ‡mí¯·Ç¨mÏ©+,†íÚØ^†³K”$)o]2Q9ÛN€åÞ÷ÅNMX`xû7×Àiö‚I’*HE·¥2†¶§Tg•øyeÒáœN‚ ñ"IRDª/Ú¾ý£Ú &@…èpN ðqó”Ð’¤ dX5:ÆCSÜaT±åðw’¤|™U£cí )¾û: ’$©’TYX,‡žÞ· ¬Ïi'˜ç/IªTÞ¿«ÎQð|Òéýº$e•­ÎŸÞ;°ö‰!IRáL€ªÎH€/{Á$I¬šºÀºÃØ:Ϊ³ ,©ƒàŸc$)OÕ” ÏÆB %@‰)¡·; IRîì«.ÇÙÿUBëá86î0$IÊG5µ½ ƒb¡†Z€pJhIR媚h¼w µ–¥št@’TÞì«"#l(¹åð"w’¤™U‘‘poÜ1Ô ñ> /IªDÕѶ5,îq‡Qk]`ÀN0×y&%©ÂØT-†ÃÐw5èX{ņ$)&@Õ  c4Ž‹;I’rS]`=a94óA¶¯ ²/\%qJhI’Jo«õ0Ù)¡%I*¥.°¶/òQlJïtsPI’Ji(L-þQL€ÒsJhIª(vU>ç?,‰)¡‹; IRvL€*ßHw &¨¸c$©&”lb»À2è”Ð’T1lªpÇÁøªË$*ÔLX{Ɔ$) &@îXû¿ÊÉD†—$©Ø6…eP_’cÙ–CZ’¤b ãJu, ltwJhIª vU²ãàž¸cP[0މ; I’ªÖ°¶(ÕálÊÒéNË$IRñO•ðp&@YÚ>vJhI*wvU¬‘p_Ü1¨³¥ð¼SBK’T$s`×Πì}~w ’$U¡½`Fih”½]á§„–¤²fXeîü‡el:|â”Ð’TÖL€*Ó(5*o÷Âð¸c$©ªl‹ kijXN…çâŽA’¤ªòM¸µä5ÊIwøÈ)¡%©|ÙVF„¸cPzN -IR”zÁrèUòãÚ”«ÓK¸R›$IUîD˜ÇqK˜AºWc#+VðÖ[ÜsçžË†f{´aÃ>ø âÂrýõ¼ö«W³f ï¾ËwpÀ°),sJhI’"q+|3Žã–MÔáõöÛ ˜ùP}û2{v¶9Mö…/ºˆµk“DÕÔÄ/~Où,˜$•)'k«(]a ¹%?tP„‹%EA°d g•dk·nl¾9C‡r aóÏ;ïð¹Ï±jUÊã440y2ûí0w.ýú¥ *ûÂ_Ìe—46rÛm<ñÀa‡qÆtëðÅûyt|+Ýá$IR&Ë1ºä-@[_vÜ‘Y³ÂÂ\²XÿþL›ÖÚ6“¾Úì ï»/ë×,Y¾û¶Û4lXØ,ôʧty?ÃYH’¤L~ ÇtèòK€€Ã ¿ðBòcưlY»Î©4ÕæTxòä°Ì‘G&Ùú»ß…[{è”Ð’$hìÓ¡Ë2ª«ãã V¯î¸iȦLiMe®¸"]µ9¶Ý–¦&‚€H^`È~÷;®¼’~ÿˆ/g•$©ì sâ;zY&@À’%A’@—\ÒZÏ1Çd¨6§ÂÀ9ç„FÎß¡ðlV'"I*¥nq ¬pÔŽfÓMfÎL²uÕ*®»Ž«¯fåÊÌUåTxèÐðS¦„ÿèÝ›Ï}ކ,à•WX·®¹è¿a lf®V’$uòßÑ˯¨¾ž'Ÿ ÛqëàÁôé“mµ9žy&œ‘¨kWú÷çok÷0üâÅŒ>ðwHö8›$IÊd XÄ@Ù$@={2`_û¯½–|ýu6Ú(‹£åÒ³–¾ðûÎÁ³|yò Š&O¦¾€3œZ’¤üœ 5€rñ¹çØf›ìŽ]´jAÀŠá¤qãØgêëÙb Î>›E‹ÂÝoº hž:ÆäU’¤J52Ž·-ª2K€–-cÂN>™.Y¯ça”˜(ñºþúŽ[l}œ~¯ÄS{OÁQÙÆ)I’¨‡e°i¬1”<Z¼˜Q£Z_§ŸÎo~矬]ËO~B×®9­ Ð;ï´ëÓÆùç‡þðÆÂos‹V’¤š7;†ò´ûî|ðAX`ºwÏåhÑ%@«W‡.¿O„㊕$){&@eïó° Þ‰;Œrò›ß„K¯7Ü@ß¾¥`êÔð;피@÷îáÄB 6¿5Ž-z`’¤,™•½p_Ü1”™ àœsÂ&–Í6ãÊ+KÀ£ÍC²Ž>:yýö Ç'µ®Òúxó”Ð’$)³©04s©¢+›1@-.½4,¹~}óÓæéÝ ž=À‚€LRàÿH¶XØßá̬Ž.IRmÛ–G;]ù%@õõÌšž2…ººLG‹..¼0,óÞ{ ÐnÓyç…›Þ~›=Úl8Ó)¡%IÊÆÿÀŸâŽ!¡ü `ÄˆÖ ÇŒÉt´H ®]yà°ØªUÜp§žÊ׿ÞúæÚµ|á í÷ÙÜ)¡%IÊÆƒ0*îÊ2ÆË/X@CCÚ£Ešõõüå/É'ª^º”áÓí’$U€X=ã#¡\ þý[§ê¼*EÞÕf_øàƒ¹ãæÌ¡±‘Õ«™:•+®`‹TƒÇ¯³ @’¤ZuJ9=ÿU¨š rJhI* å0¼V)Œ,§H‘xÖ9%´$I©t‡%°uÜa´°(*¿‚±qÇ IR™:ž;†¶L€¢rL‰;I’ÊÔõð£¸chË(*Àr§„–$)©r[<Ü(BN -IqstYJ¤>¯Æ…Še"$%H’¤šö#H;¥M lŠÐ°Ü)¡%IêàY84î:0ŠÖ§„–¤8ÙV~¶†ðï¸ÃPQÝg/˜$ImwÆCg¶Ek¼w ’$•‘ûà”¸cèÌ(rsÊìA?I’bÓ–CÚUÍãa¹_;%´$I £àÁ¸cHÊ(rGÀSqÇ IRYøüOÜ1$e¹ `lw’$Ŭ ,„íã#) bç”Ð’ƒ/'ûÁ˜w*™{|^’¤ŸÃeqÇŠ-@Ű,…îq‡!IRœ^‡}âŽ! "y¾w ’T{ì+;Á&ðBÜa¨Ä&À±qÇ IRl·ßÇC¶É x;î$IŠÍ£å=Ö¨xæÀnqÇ IR 6…ePwi˜ÏoZ’JÍ1@åáhx >; Å•á%I5êïe?!^í+‚ì š§„Þ4î0$I*© ` lw óšÜƒ3âŽA’j‰]`eà ð|wŠÑDw ’$•ÔpAÜ1DÇ |8%´$©æÌ]ãŽ!:&@yz;IªvÅm/ø¦Ç†b7Ž‹;Iª&@qããŽAåÀ51$I5äE88î"eXþª«3T’Ê™-@±Ú¶ƒ)q‡¡21Ñ%©DL€b5&Âú¸ÃP™˜£âŽA’¤¢›'ÆCÔìË_O§„–$U½^°zÅFÔL€ 2N;IªvÅç(˜+ã#ruuqGPÉ&Âȸc$©ˆn…oÆCØþSÏÀGN -IªV]alwE`T¨çœZ’ŠÎ.°˜ïÁܸÃPšàÃð’Tt&@19î‰;•'×Ä$U­°WÜ1‡]`…ªƒœZ’ŠË 8ì õðRÜa‡Ï€*€û쓤â2ŠÃ@UZ®‰!IªBOÁqÇ rÖ>vJhIR5Ù–Àq‡¡2w¯SBKRÙVrGÃ#°&î0TæÆÛ &Iª&ã`tÜ1¨ü};%´$©:Իܷ²ö¢SBKR±ØVZ_„—`iÜa¨"Ük/˜$‹ Pi€ qÇ Jáš’¤jPsa§¸ÃP¥H\0ãC’ª‘-@%ôyXïĆ*E÷ȸäjdTB#ྸcPe¹Ç^0IR¥› CãŽA•¥',‡†¸Ã$)OÛÃB[Ü”» N -IÑó ¹TŽƒñÐwª8® /Iª`¨¸cP%JL Ý5î0$IÊY,‡žq‡¡ õ"w ’T]ì+‰£à ø$î0T¡&Âȸc$)gwÂYqǠʵ7¼w ’$å¦;,­ãC•Ë9Ä%)jvßAðÌ; U®Ä”Ðö‚IRtL€Šï8'€VÁ&º&†$©²¼ ƒâŽA•Î)¡%)R¶Y"õy5æ(Tñ>§àˆ¸Ã¤jaTd#`BÜ1¨:L„ãâŽA’¤¬< ‡ÆƒªÃ¶N -Iª[Ãèwª/ÂAqÇ IUÁ.°b@cÜa¨jø,˜$©Ü§ÄƒªÉ~N -I*s>·¬ÈuyN -I° ¬hŽ„ç`yÜa¨š4ÁDw’TùL€ŠæX€W¸2¼$©|u…°}Üa¨úô‚íZ•¤BÙTûÁ˜wª>+á §„–¤B™ÇH¸7îT­$I*S¯Ã>qÇŸDê¶Ö‡0Þ‰gÊÏvN -I*C;Á\¨‹;Œ\õ„»!€—á'ðUø!¼ üêãOm½â”Ð’¤rs>ü>îòp;4ÁyR· !€Ûã JÉ]?;I’Úy´‡hü*ÅÖ?C`“C9Ù^;I’Zm Ë*°Ãè`Û[w†n HñJx4Ù¦‡ÛTµ1\ ³a-|7À¦í•´ò‡Ûl}˜”:o}¸MléwïP2›Pc”˜gÁ)¡%)_Ýâ ê Á§q‡‘«a¼ŸbëÛ0§¹èŒæ7ÇÂgÛü™Ð ø¯6ï´í;ë ÃøL‡Ýà›p8ìß~Êì×áª5”L–¡Æ¥ &ÀpøuÜ‘H’ðw83îò°¦¤-ðT§¬®s“ ð<¬nÿNÛF—ŸÀ:Ø«ÍÖ¡ÐW§(ßù’µej¼FÁä¸c¤Šå<@‘Ú¾“â#@cÚuÙ=×¶ ,M½õ$˜ïÁfͯ·`&|9—P»ÃfÐz¦ÞÚòêžãîцZTÃþÐ;î0$Iâx*îòó.ÌÌTàöï$mZÿnÿNÛF—Õ)†ø¬IQ¾ó;v|þ_›ŽÜôã“ÒïÞát² 5v“ᤸc¤Êä H„ûâŽ!?OÀÁ¶)†íÛÃm™*Ùà¥ÔºÀ«p~þa¼ ÐÇÃ¥°üO§­ ×Àž¹ìm¨Åv/ ‡»ãC’TëæÀ®qÇŸ!€?¤Øšô1øÎ-@CG·³mûÍôdSD‡¡íË?”º†íCu0–¥ØÚ9È4»w(™M¨±ÛÚ-IùðÞ½àS˜wùyþçÀí¿õë`,|þ¯SßVg‡À,x0uqðøj›w†ÂxøaóŸ‰Éô£‘: )—òYîž1Ôrð,,³œL’*„]`Ñã㎡ç@O¸N…Â|ØN„=aœ•i÷¯ÀðœÖiÓVðEx®‚Qp …ga'ø¬hî“:®¹»jAÚm_:ØFÂ.𿹜f–»§µ|Œ‡cáé¸Ã$Õ®áà¸c(Ü‹`|÷ÁÈ%;÷.¥yµt<õka64ÂøG›NÙ°^†]Ú(Õ èµðü´ý èŒ]`©vïÜ£—&Ôò±L‹;IRíÚÕöÝi¦ØI?y ‘˜zû¸Ã¤Jã ˆŒ„‰°>î0Tkš`w¢b´ºIDAT’TiL€"2&ÄC¼îLÝÌ“f“ w_.¾+IqËfr_e¡ó”€eÈÿÚy+ÿÿ¾þÇ•$I’$I’$I’$I’$I’$I’$I’$I’¤ ·ü ÞƒF˜7Â&Í›6ëá=X sàZhh¿ïÆp5̆µðÜ›¶ÙúhÚÕÁèôçîÐØfêŒ+|¥ ›ÂÒè ×Â\Xßþ$IËÕà@x¶ƒ?ÂK°'œ ûÃþ°< áð2ì ÿ‡Ãð1=áq¿ƒé°|‡ýa9Ý €ÿjs¸ÛÓs]ŽfÆrÒùè¿‚³á.x>`,|6÷š%IRyùpz›w.†Ž‡+!€1m6\ÙüçO`ìÕ¦ÀPh‚«›ÿ|V·?\š ‘Ð riJ@N-@,‡™í§ZîÜ%I’*ϰ ýwüÆ06„7àÃö«ÆuáÍæ?§ÂK°Yû×t˜Ù\à-ø ýáR%@=à-¸½}†Àí+¢}þ‘>€Œ»§?:°^h¿ $IÕ` <™bÓ'ðT§7Ÿjî V'âÀšæËàßíwO•]Ãg:%@I_-Òq÷ôGþ üÂæÉR(IR¥q €´_çIWÙìÐ ô*œŸb÷M ^Ê"†-á'ð3˜×iÓËpa›?¯=³ ãîþ]¨‡ŸÂ™OB’$UŽé0¿}®Óÿ€“áÍN]`]a1Lo³ïÜNyÒp ÀÁÀÑí·&mú3¼Z€ÒâI@–c€R=aL…9p&| ^²H’¤*ppR›w΃NkÞôÕ6›Î†~ÙüçÏ!€¯µ)ƒ|?†w kûÃuN€æB×üNN Pú²I€ÒØfÂø\Š’$©"m3àS¸¾ ¿†Fx º6oj„ákp#4Â[m&Úi€7aü¾?ƒe° v…¯Àt¸¾ÒþÀkðÅæƒrlON Pš²Ù=ýÑ?@?L]@’$Uª¾p¼ð\¶ßô4Âûp}ûy>p-̆FXÿh“|¤yµä%4Âîm*Ì)J@6»§?úÑÀÚ7b™I’¤”:'Ùl’$©Èºd."I’T]| ^Åt'¼–û&I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’þ{p@ ¤ÿ«;€ÿÜZá@IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/gparts_pkg_sch.png0000644000175000017500000011155013634703632020143 00000000000000‰PNG  IHDRñ;ЇsBITÛáOà IDATxœìÝy\UÕúøñ…È`" ¢å–ˆ’"*i‚Sä ±¯3‰‚ÒàõŠi*þrȹbi¦Ã7åZzík¦¤ …9]ç”ô"¢ ÃaHáüþغ£Ãa3È´Ÿ÷뾺œ‡½ÖzÖ>{ËÃf½´Z­•022ªï`€øQ@íÕwPYôèÕ¸¾€ªÙqéV}§Ã1ÜÑ¡¾S€Àuz@ݨéu£¦ÔšP7jz@ݨéu£¦Ôšð)“†;:¼3°—ê:Ô#jzh@®;+„x¾sWÕu¨GÔôÐPädeÞMMBt¨…²»V;Ô¯Æõ¦Üì¬o>ÿç¯q±™wn72nÔÂÞÁÉ­ç{‹?•¾{û¿×w®_}&áPÆíÔÆ&&í:½8kMôµsg¤ïÚ´²‹œ5õÄKŠKŽô ˜5_îv²W»©)n^ƒf¯‰.Q´ÂÎÓnþ÷‹y¦$]Õd¤——4oÕªGÿWýgÌ53oròÐO‚Æ !&ÎYx6áð¹ã Æ ÷?óÿIÍo]OúvmäÙ#‡²ïÞµ°²êÑð;/«å} xˆëôP+–¼3aïÖ¨ââÝúõwì£¹|Cú֩ç í¿ûæŒÛ©Ï<סi³f×/]°°´J:VÚàËCìû#7÷^~Þî¨uIþ#Ååkíí»è( Zaçþ÷Ê%‡çÚwë7 MÇNwSoý°eãwëV–nûMä233[‡gòsrþ½ñ‹¸ÛåM6ðàwÛž²°ìÒ»O~Ž&6fkíí[€®Ó@ÍKKI¾|*Qñ÷¥Ÿ»ôê#„Ж”¤§¦!r³³>þNáýûm;½8ç‹M¶O;!®?ÛÈØøÚ£ÒyüŒ¹ƒFû÷Æ/¢—.”šHqMFzwÏBˆ.½û–( * ¡Ü¹[ÿW=‡ÊÏÉÉÏÉ.))Y8iìäÉW¯Èm›,üzÇs/:ççäôv.).>ýs¼×£s³³–‡¼Sxÿþq'Í]$„ˆYµü›H.Ò@Ý¡¦€šgÞä)SÓ¢ÂÂù£¬ZØ>Û¡c÷~ýÿ6þm!Ä¡ïÈÏÉB¼5÷© Btpî"}†Õ¹GïA£Æ•î;u[é‹ÖÏwšóÅ×¥¿U:’“™QÞ v®-)Ù¿móÞ­ï¦Þ*ýÝæ-[‰G×é»÷ëÿÜ‹ÎBˆ&M›5¢¸Q£FÒŒþÈÍBìÙ¼aÏæ ¹ëÕ@M5ÏҦŢ-;cc¶Þ¸|1å÷ßÎO8<¡‘qcŸ€ ùzy—¿|V5'3CZEÓ­ß)rýÒ!„…¥•Ý£š¾ÚƒVØùwëWmY¾ÄÈÈèõ owìÚývòõ­Ÿ† !Ú;¹ädfH…~ÛNNRÛkçÎ?(üH32kòÔq³ÓÕFM5/õÆï:w}ÞÅUq//w|O§’âââ„ML¤mÎürÈ}À«Bˆ;É7¬m[þYëw~¸V^Š<çì"wûù‡ÏÓd;vëñ?ASÊF­°ó;¾B¼èÖ3pö!ÄÍ”âí»Èm¥u8…÷ïoY&„03oÒ÷õaBccc!Dñƒ"Ÿ€ÉV-l…Ú’’sÇjlo*BM5oé{s²2ž{±³ùSM¯_:_R\ܤ©…Çk>Bˆ~¾#ìøF«Õ†¿?±õó<(ʸº9ñ²ü9ÔöN]„÷ï¥$]¥n'Ÿ›¿ë_¢Ôdu" ƒVعtûšß/œû&rYʵߎîß#„013kýBÇ_ãöKÛœþ9î=ÿÈËÍÓd !ç,´¶m%„èûúÿøvÛƒ¢¢¡:us+¸wï÷‹ç4ww\úË2@íá¾7PóÚ;»4mfy!ñè±Øîçç÷~õõO¶îjõLk!„sÞsÖnrêÑˬÉS7“~+*(xuÌxù²v­Û6µ´B\¿x^[R"JUðr].â:…A+ìÐ;ngL=fQÓP7¥#§Ž :`Tç¶ÁýÝ|»M ?(Š ›Ø»óxwÇÝQëä÷oßÐË9ÐÃ%ñà~…!ôö©·yZJò‰cÆti7oÂÈ´”d9Ã-Ë—Œum?{´OVú)x//7|ʤ1]Ÿ›9âµ»©)Ês”šÏýzfÚÃæ™wn‡úùŽviêç›yçvÙ]!=ÜÑ¡lž™iwföëÚ~Ëò%NSñk|loo¬<¼}~UÎP7¨é”ÏfNñ ™µõÔÕÑ1ç‘‚Û"#R’®FìŒ]{à„&#]Þ8ífòÚ¸Dÿé¡›–-ªjŸz›/ýÆÛïoJ¼â>Ð{uètyËâââ補zôܱXŠl^¾ÄÊÆöëc{ ½t¡ò¤¤æÎ=zmúçÇR$:|A§—zl:qù…®Ý¢Ã+h^6ϯÃ:õè}ôƒ¢¢ §)„¸qùb{'nÛ;w¹~é‚òЀºAMÀ ˜š™Ý¼ú[ê¤öSÂVHÁ¸]1“æ.²±³obÑlÜôPycß·Þ53oòÊÐá·®'UµO½ÍWíKpéÝÇÄÔtð¨q—O'Ê[ 257÷ :uø 9ºoÏÈ÷BLÍͽÇN8{ä°ò¤ä槉—"gKA߉Ág)7/›ç™_â}‚LÍ͇Nœ\á4…ù…¥•N·M›Yæçä( ¨ÜŸ€*é]g²ãÒ­Ÿ¯ÿnÝÊ=›¿ÊÓhfÍ<Ú_‘•žÖê™Öe;‘êÔÆ&&%ÅÅ céíSoó“ñ?E‡/¼u=I§C+[!„eó¹ÙYR$'+c²—›V«Õ–”Tø|\¹¹ü™Ô\M¶´²±ÍËÑ(7/›géæNSÑÔÊ*/GÓ̺yénóssšZZ* ¨ÔôTI~òÔpG‡ÒO¡zÞÅuFäz!Ä™_â—O – SkÛ–i)ÉömÚUo,½}êµjNHÐü°îž‹ Æuï(Ç5YÖ-ZædgZXYKkÛ–«~L057¯Lrs¹ª¶°´’‚šÌ»òôFÆÆE……&¦¦9™Ê6³n.7¯Ì4Ûvz1éüÙ®/÷+ÝɵsgÚ9:U&@mcí ƒ²ljÐ+ý‘—kbö°bîç;bÃâ²ÒïÜËÏÛºbiô©Waa¥M‹¢Â‚˜ÕY»ò}Ôº¢‚‚t}T÷4d늰{ùywSS"gMUN@nþR_/)ÒÅ£¯ܽqKï>Rðé¶ÏÞýmáýûÿŽZ«Ü¡ëËý¾þ²¨ `wÔ—•™¦›ç „½»u:IØ»»Û+”Ô jzÅÃûõˆLösí³êÓ©á‘RpÌ”ö­ÛNóéäéVå"zûÔ+àÃyaï{õ°}ú/wãÑjµþîŽçŽ%ø0Wм2[“™1©k¨ŸoçžæàïîxþØ‘qÓçH/ÇÏøè‰£ovïxéÔ‰ 3ç=Üæƒ¹›"> òìn÷l› zû`î¹c þîŽÆÆÆ•™¦ç°‘Çc÷Ê7ØBdÜN=»×sØÈ 3Ô#­V[ß9@¥HëÎK¯´QÕA*µ}eDòÕ+ÓW<ü À²©Am^è4êýéÊ­>éÃü( vÔôTƒš5Žš€aà3²ðÎã«$uVŽ×ïèUã:=ÕPéuz4d\§`øŒ, nÔô€ºQÓxBé]¿^gÍÈ ÛVFDL –_FL Þ¾2¢f‡ÔjzxBåfgíݲ1pö98{Á[6æi²ë1+@5PÓÀ*ngLÏA¯Ù´²“#6­ìÜzÇ팩ǬÕ@M@Ýt–£œþ9.dè€QÛ÷w?ðí6)Xü (*l~`ïÎãÝwG­“7Þ¿}s@/ç@—ăû†ÐÛ§Þæi)É 'Žӥݼ #ÓR’å ·,_2ÖµýìÑ>Yéw¤à½¼Üð)“Æt}næˆ×(Œž™vgöhŸ±®í·,_¢3ñ]ÖLörósí°ký£Oñî“|õ²ÜäAQÑÄ—»dg¤K/ííí£3œ‡·Ï¯ñ± ù jzå³™SüBfm=uuAtÌùãG¤à¶Èˆ”¤«;c×8¡yTÑ !Òn&¯KôŸºiÙ¢ªö©·ù‚ÀÑo¼ýþ¦Ä+î½W‡þùŒÕâââ補zôܱXŠl^¾ÄÊÆöëc{ ½t¡Âè_‡/têÑ3úè…EE:ߺpâè¢-;×:yêÐA½£»y >þÓòö'ãjý|'ë-¥—7._lïä¢Óg{ç.×/]PÈÐQÓ0(¦ff7¯þ–z#©…½Ã”°R0nW̤¹‹lìì›X47=TÞØ÷­wÍÌ›¼2tø­ëIUíSoóUû\z÷115(EŽîÛ3ò½Sssï±Î9¬0ú™_â}‚LÍ͇Nœ¬ó­Éó—¶txÖÂÒj~Ôv½£»õtâ§s³³F:·ÎÏɉßõ/×þ¼0Ÿ¯ÑXXZéôÙ´™e~NŽB>€ˆçÈP¥ÒKnä¯w\º5ãóõß­[¹góWyMÀ¬yƒGû !²ÒÓZ=Óºl'REÛØÄ¤¤¸Xa,½}êm~2þ§èð…·®'éthec+„°lÞ"7;KŠädeLörÓjµÚ’éYZåÉÕdKÍ¥ÿ–fcg_úeÙÑ»õH½ñ{ÂÞÝFÂ(ñà¾S‡N^°TÞ¾©•U^ަ™uóÒäçæ4µ´TÈÐQÓP%ùi²ÃJ?Yöyבë…g~‰_>-Xª¿­m[¦¥$Û·iW½±ôö©×ª9!Aóú{,*,×½£×deX·h™“iae-E¬m[®ú1ÁÔܼÂÑ›Y7—šk2ï*oYvtcãÆ/õõÚ¾rywÏ›—/îÔÍÍÒ¦…¼}ÛN/&?Ûõå~¥;¹vîL;G§ ³4(¬½`P–M ºqå⃢¢?òrMÌVÌý|GlXüQVú{ùy[W,Uî¡’}êUXX`iÓ¢¨° fõŠÒñï£Ö|ý¥ë£º× ![W„ÝËÏ»›š9kªBŸ®/÷û>úË¢‚‚ÝQ_*ç©wt7¯ÁÙwÓ—y綇÷ÐÒÛ»yJØ»[§“„½»»½2@y @CCMÀ xx¿ñÉ~®bV}:5ýƒ<ݪ±°DoŸz|8/ìÝ€`¯¶Oÿånýs\ÈУ:· îï~àÛmR°øAQTØüÀÞÇ»;îŽZ'o¼ûæ€^Î.‰÷+ ¡·O½ÍÓR’N3¦K»yF¦¥$ËnY¾d¬kûÙ£}²ÒïHÁ{y¹áS&éúÜ̯ÝMM©pŽ»6¬™ìåæçÚa׆5BˆÌ;·Cý|G»´ õó•;ÜÑAÚò )•ÝR!¥_ãc{{ûèdåáíók|¬r怺AMÀ |6sŠ_Ȭ­§®.ˆŽ9üˆÜ‘’t5bgìÚ'4éòÆi7“ׯ%úOÝ´lQUûÔÛ|Aàè7Þ~Sâ÷Þ«Cÿ|kqqqôÑ N=znŽX,E6/_becûõ±‹½‰^º°Ây]8qtÑ–ë_ÿݺ•{6•§ÑÌš7x´¿"+=­Õ3­Ëv"Õ©MLJŠ‹ÆÒÛ§Þæ'ãŠ_xëz’N‡V6¶BËæ-r³³¤HNVÆd/7­V«-)‘ž¥¥ÌÆÎ¾ôË\M¶Ô§•m^ŽF¡ay)•¥RS+«¼M3ëæ¥ƒù¹9M--+ÌP¨é¨’¼bd¸£Cé'Ë>ïâ:#r½âÌ/ñ˧Kõ·µmË´”dû6íª7–Þ>õZ5'$h~XwÏE…ãºw”㚬 ë-s²3-¬¬¥ˆµmËU?&˜š›W/% K+©OMæÝ²WеZ­\”——RÙ-RjÛéŤóg»¾Ü¯tðÚ¹3íª—? f±ö€AY65èÆ•‹ŠŠþÈË51{Xžöó±añGYéwîåçm]±´FúÔ«°°ÀÒ¦EQaAÌê¥ãßG­+*(ø>úK×Geq¯AC¶®»—Ÿw75%rÖÔª¦ÔÅ£¯Ôçîë\z÷)ý- +ëkçÎT˜RÙ-Rró”°w·Nó„½»»½2 ª™j5=ƒâáýzÄ?&û¹vˆYõéÔðH)8fÊ ûÖm§ùôòt«Ær½}êðá¼°w‚½zØ>ý—»ñhµZwÇsÇü?˜+EÞ ™­É̘ÔÇ5ÔÏ·sOª¦4~ÆGN}³{ÇK§NL˜9¯ô·|'½ó‘ÿpy=Ry)•ÝR!%Ïa#Çî•o°#„ȸz›pHat!D?ßÒ3J]ÑBäk4–V:=7mf™Ÿ“S½‰tðYª¤³ EúbÇ¥[3>_ÿݺ•{6•§ÑÌš7x´¿"+=­Õ3­Ëv"šMLJŠ‹ÆÒÛ§Þæ'ãŠ_xëz’N‡V6¶BËæ-r³³¤HNVÆd/7­V«-)‘ž¥U 6vö¥_–7zÙ<Ë›QY¹šl)y+Û¼ÂèB3ó&Ò‹•Ž7µ²ÊËÑ4³n^:˜Ÿ›ÓÔÒ²rT€š€*É‹C†;:”^‘ò¼‹ëŒÈõBˆ3¿Ä/Ÿ,U«Ö¶-ÓR’íÛ´«ÞXzûÔkÕœ ùaÝ=ŒëÞQŽk²2¬[´ÌÉδ°²–"Ö¶-Wý˜`jn^ù4´Z­rõ_Þè3# K+)yMæÝ²×Ú+©m§“Οíúr¿ÒÁkçδstª^‡¬½`P–M ºqå⃢¢?òrMÌVÌý|GlXüQVú{ùy[W,­‘>õ*,,°´iQTX³ú/ Z¾ZWTPð}ô—®êÚ^ƒ†l]v/?ïnjJ䬩æ`ae}íÜåmÊýqfÔÅ£¯”üîë\z÷©0O½Ü<%ìÝ­LØ»»Û+ª×!@5=ƒâáýzÄ?&û¹vˆYõéÔðH)8fÊ ûÖm§ùôòt«Æz½}êðá¼°w‚½zØ>ý—»ñhµZwÇsÇü?˜+EÞ ™­É̘ÔÇ5ÔÏ·sO sðôÎGþÕïR_Þè3£ñ3>ºpâè›Ý;^:ubÂÌyæ©—ç°‘Çc÷–¾mNÆíÔã±{=‡¬^‡FZ­¶¾s€J‘VžÔìãê€Îê 'Óö•ÉW¯L_±Vz¹ljP›:zºr«: ýšÄBjGM@5¨éQã¨é># é]ÙRgåxýŽP5®ÓP •^§GCÆuz†ÏÈêFM¨5=€'”ò}!k»y4ÜÑAú_mt¾meDÄ´`ùeÄ´àí+#jc x2QÓ€ ÔÁ¯;.ݪÒg*ŸRnvÖÞ-g/#³ü°ecž&»j)ÊAM¨]q;czzͦ•±ieç>Ð;ngL=f†„š€ºé\->ýs\ÈУ:· îï~àÛmR°øAQTØüÀÞÇ»;îŽZ'o¼ûæ€^Î.‰÷+ ¡·O½ÍÓR’N3¦K»yF¦¥$ËnY¾d¬kûÙ£}²ÒïHÁ{y¹áS&éúÜ̯ÝMMQž 4G…1ÃvmX3ÙËÍϵî kF/›gy3*«¼>˦¤0£_ãc{{ûèôìáíók|¬ÂЀʣ¦`P>›9Å/dÖÖSWDÇœ?~D n‹ŒHIº±3v회tyã´›Ékãý§‡nZ¶¨ª}êm¾ pôo¿¿)ñŠû@ïÕ¡>$µ¸¸8úè§=7G,–"›—/±²±ýúØÅ^ƒ‡D/]¨0º¼$¦ìÚ˜ 'Ž.Ú²sÝ¡“§T½lžåͨ,½}êMIaF7._lïä¢Ós{ç.×/]PPyÔô Š©™ÙÍ«¿¥ÞHjaï0%l…ŒÛ3iî";û&ÍÆM•7ö}ë]3ó&¯ ~ëzRUûÔÛ|Õ¾—Þ}LLMwùt¢¼åÐÀ SssŸ€ S‡J‘£ûöŒ|/ÄÔÜÜ{섳GWo²“ç/mé𬅥Õü¨í £—ͳ¼•U^Ÿe)Ì(_£±°´ÒÙ¾i3Ëüœœ*ÍPž# @•tV¡H_ì¸tkÆçë¿[·rÏæ¯ò4š€YóöBd¥§µz¦uÙN¤B³±‰IIq±ÂXzûÔÛüdüOÑá o]OÒéÐÊÆVaÙ¼Env–ÉÉʘìå¦Õjµ%%Ò³´ªÁÆÎ¾ôËòF/›gy3*«¼>ËR˜QS+«¼M3ëæ¥ƒù¹9M--+1K@Ũ騒nžå® IDAT¼äc¸£Cé)Ï»¸Îˆ\/„8óKüòiÁRµjmÛ2-%Ù¾M»ê¥·O½VÍ šÖÝs`QaÁ¸îå¸&+úEËœìL +k)bmÛrÕ ¦ææ•OC«Õ*Wÿå^¥•726®LŸ¥SR˜QÛN/&?Ûõå~¥ƒ×Îiçè¤$ òX{À ,›tãÊÅEEä嚘=¬/ûùŽØ°ø£¬ô;÷òó¶®XZ#}êUXX`iÓ¢¨° fõ_´|µ®¨ àûè/]Õµ½ Ùº"ì^~ÞÝÔ”ÈYS+ÌÁÂÊúÚ¹3ÊÛ”7z•fÔò™ÖO¯LŸ:))ÌÈÍsPÂÞÝ:ÍöîîöÊå<•DMÀ xx¿ñÉ~®bV}:5ýƒ<ݪ±ÞCoŸz|8/ìÝ€`¯¶OÿånYéw¤à½¼Üð)“Æt}næˆ×(Œž}7mΟ±®í¿ùüŸòdõ6îè m Qžòò,Û¼¼>‡;:ìÚ°f²—›Ÿk‡]ÖÈ”Wšû¬Ñ¯g¦Ý‘Û–îGa ½Ó,ïíBüÛÛÛG'oŸ_ãcöjzå³™SüBfm=uuAtÌùãG¤à¶Èˆ”¤«;c×8¡ÉH—7N»™¼6.Ñzè¦e‹ªÚ§Þæ G¿ñöû›¯¸ô^úçCR‹‹‹£^pêÑssÄb)²yù+Û¯]ì5xHôÒ… £oZ¶¸ãKnÑG/<(*”ƒz›ï¸tKZú"Q½yêm®Ðç…GmÙ¹îÐÉS‡* *ÍݹG¯MÿüX!%½éfyo‡âÆå‹í\tznïÜåú¥ C€ ¦`PLÍÌn^ý-õFR {‡)a+¤`Ü®˜IsÙØÙ7±h6nz¨¼±ï[ïš™7yeèð[דªÚ§Þæ«ö%¸ôîcbj:xԸ˧å-‡™š›û:|PŠÝ·gä{!¦ææÞc'œ=rXaôS‡ ›ôŽ©¹ùëÞ–ƒ•o®WyyVÉäùK[:®¡~¾{z(ôéÿÁœË§~ÐËÉÄÔT¾€­ÐÜwÒ;ùW¾ïMyy–×¼2}*ÜuÇßÝñü±#ã¦Ïy4£¹›"> òìn÷låÑõNSáíð6òxìÞÌ;·åHÆíÔã±{=‡TÈ €‘V«­ï R¤Šö1ŸjT÷tVU[^ŽæýÁQGÏ?~Wlûʈä«W¦¯xø€eSƒÚ¼ÐiÔûÓËÛ^úý…ÔŽõôÐÐ}þñ¨÷Cb·oqvWº¢!„NùþÁgëÊÛ 5=<¤wmIýY@aôfÍm&õq}ºm»Ÿ¯¯©>†„µ7TC¥koбö€aà3²€ºQÓêFMà ¥|gÆÚnn¨tvKÝï¥m+#"¦Ë/#¦o_QÇ9@Ý£¦ƒR¿«T¾ÏÇü´Ãc&Ÿ›µwËÆÀÙ äHàì?lÙ˜§É~œn á£¦ˆ¸1=½fÓÊNŽØ´²sè·3¦³€:@M@Ýt®ìžþ9.dè€QÛ÷w?ðí6)Xü (*l~`ïÎãÝwGýyÃòýÛ7ôrôpI<¸_a½}êmž–’¼pâ˜1]ÚÍ›02-%YÎpËò%c]ÛÏí“•~G ÞËË Ÿ2iL×çfŽxínjJUG×Û\áI®:Ê˳lóòúîè°kÚÉ^n~®vmX#oPv\iî³F¿ž™vGn[º…ôN³¼·Cñk|loo<¼}~UØ`¨é”ÏfNñ ™µõÔÕÑ1ç‘‚Û"#R’®FìŒ]{à„&#]Þ8ífòÚ¸Dÿé¡›–-ªjŸz›/ýÆÛïoJ¼â>Ð{uèŸ?*..Ž>zÁ©GÏÍ‹¥ÈæåK¬ll¿>v±×à!ÑKVut½Íw\º%-}‘¿(Þ<õ6Wè󉣋¶ì\wèä©C•æîܣצ~¬’ÞôN³¼·CqãòÅöN.:=·wîrýÒ…¡ÀPÓ0(¦ff7¯þ–z#©…½Ã”°R0nW̤¹‹lìì›X47=TÞØ÷­wÍÌ›¼2tø­ëIUíSoóUû\z÷115(EŽîÛ3ò½Sssï±Î9\ÕÑ+ß\¯òò¬’Éó—¶txÖÂÒj~Ôv…Í也þ%¾ªCèfyo‡"_£±°´Òé¤i3Ëüœœª êÂsd¨’Þõ;.Ýšñùúï֭ܳù«<&`Ö¼Á£ý…Yéi­ži]¶©þklbRR\¬0–Þ>õ6?ÿStøÂ[דt:´²±BX6o‘›%Er²2&{¹iµZmI‰ô,­*^ùæz•—g•ØØÙWf3yîÕø ªÞi–÷v!šZYååhšY7/ÝI~nNSK˪ êBM@•äåÃJ/ùxÞÅuFäz!Ä™_â—O – >kÛ–i)ÉömÚUo,½}êµjNHÐü°îž‹ Æuï(Ç5YÖ-ZædgZXYKkÛ–«~L057¯ÞèÊ͵Z­r¡_^ž Í+ì³<òÜåR»‘±qQa¡‰©iNf†ròz§©ðv´íôbÒù³]_îWzûkçδstªFæ "¬½`P–M ºqå⃢¢?òrMÌÖ‚ý|GlXüQVú{ùy[W,­‘>õ*,,°´iQTX³ú/kB¾ZWTPð}ô—®ÊÍ^ƒ†l]v/?ïnjJ䬩U]¡¹…•õµsg”gT^žå5¯LŸå‘çþR_/)òtÛçïþ¶ðþýG­UHï4Þ7ÏA {wëô™°ww·WT/yP jzÅÃûõˆLösí³êÓ©á‘RpÌ”ö­ÛNóéäéVezûÔ+àÃyaï{õ°}ú/·ÑjµþîŽçŽ%ø0Wм2[“™1©k¨ŸoçžU]¡¹ï¤w>ò®|ß›òò,¯yeúT¸ëŽ¿»ãùcGÆMŸóðås7E|äÙÝîÙ6Ê£ë¦ÂÛá9läñؽ™wnË‘ŒÛ©Çc÷z©9#­V[ß9@¥HK2ó©FuOgujÕö•ÉW¯L_ñð/˦µy¡Ó¨÷§—·½ôû? ¨5=Õ ¦G£¦`øŒ,<¤wmI•ãµ1zýÎPg¸N@5Tz ×é># ¨5= nÔôžPÊwf¬íæµçñÛ¶2"bZ°ü2bZðö•Ù' VQÓ€AÑûyƒÊú¹ÙY{·l œ½@ŽÎ^ðÖyšìšÉP ¨éŠÛÓsÐk6­ìäˆM+;÷Þq;cê1+€2jzê¦súôÏq!CŒêÜ6¸¿ûo·IÁâEQaó{wïî¸;j¼ñþí›z9z¸$ܯ0„Þ>õ6OKI^8q̘.íæM™–’,g¸eù’±®ígöÉJ¿#ïåå†O™4¦ës3G¼v75¥¼¡§x÷I¾zY~ù ¨hâË]²3Ò¥nwmX3ÙËÍϵî kÄ£¸êì½wUý×øØÞÞ>:ixxûü«°‹õ‹š€Aùlæ¿Y[O]]sþø)¸-2"%éjÄÎØµNh2ÒåÓn&¯KôŸºiÙ¢ªö©·ù‚ÀÑo¼ýþ¦Ä+î½W‡þùìÒâââ補zôܱXŠl^¾ÄÊÆöëc{ ½tayC»y >þÓòË“ñ?µ~¾“u‹–ÒË 'Ž.Ú²sÝ¡“§Bì¸t«ìÂ9Xú» £ß¸|±½“‹N'í»\¿tAaê5=ƒbjfvóêo©7’ZØ;L [!ãvÅLš»ÈÆÎ¾‰E³qÓCå}ßz×̼É+C‡ßºžTÕ>õ6_µ/Á¥wSÓÁ£Æ]>(o940ÈÔÜÜ' èÔáƒRäè¾=#ß 157÷;áì‘Ãå íÖЉŸ~ÌÍÎéÜ:?''~׿<^ûó"úäùK[:-Xª¿­m[¦¥$Û·iW½±ôö©×ª9!Aóú{,*,×½£×deX·h™“iae-E¬m[®ú1ÁÔÜ\yhcãÆ/õõÚ¾rywÏ›—/îÔÍÍÒ¦Eõf¡Õjåò]aô¶^L:¶ëËýJ¯;ÓÎÑ©zãêko”eSƒn\¹ø ¨è¼\³‡5k?ß”•~ç^~ÞÖK•{¨dŸzXÚ´(*,ˆY½¢tüû¨uEßGéú¨Vî5hÈÖa÷òóDΚªÐ§›×àì»iƒF˼sÛÃ{hU“—XXY_;wF~©0º›ç „½»uš'ìÝÝí•ÕP¨éï×#þ1ÙϵC̪O§†GJÁ1SfØ·n;ͧ§[5ÖèíS¯€ç…½ìÕÃöé¿Ü|F«Õú»;ž;–àÿÁ\)òfÈlMfƤ>®¡~¾{z(ôùR_/Ëæ6/õõjfݼ×à! [ê½ÅÄwÒ;ù—ƒ £{y# ¨5= n¬½  Ï[? ¨×éuã:=&##þ…€'×éÀIë”X­Ojz@ݨéÀД¾<Ï¥zxPÓêFME¾0/@–Kõ`ð¨éu£¦ás‘žKõð„ ¦Ôš DÙ•ô‚Kõðd ¦Ôš Þ‹ô:.Õ€¡¢¦ÔšTOá"½NœKõ`¨éu£¦u«ð"½Îw¹T†‡šP7#åë:€†¬ÚÝùÇ ×éuã:= éú=ÿÂÀ‚ëô€ºQÓêFM¨5= nÔô€ºQÓêFM¨5= nÔô€ºQÓêFM¨5= nÔô€ºQÓêFM¨5= nÔô€ºQÓêFM¨5= nÔô€ºQÓêFM¨5= nÔô€ºQÓêFM¨5= nÔô€ºQÓêf¤Õjë;õ122ªï ¥iõpP·Æõ€Šñ{$ ƒôw'ŽgÃÛZ/ØíÀã`Äãà:= nÔô€ºQÓêFM¨5= nÔô€ºQÓêFM¨5= nÔô€ºQÓêFM¨5= nÔô€ºQÓêFM¨5= nÔô€ºQÓêFM¨5= nÔô€ºQÓêFM¨5= nÔô€ºQÓêFM¨5= nÔô€ºQÓêFM¨5= nÔô€ºQÓêFM¨5= nÔô€ºQÓêFM¨5= nÔô€ºQÓêFM¨5= nÔô€ºQÓêFM¨5= nÔô€ºQÓêFM¨5= nÔô€ºQÓêFM¨5= nFZ­ÖÈȨ¾ÓÀ“B«ÕÖjÿ̨Kµ}ÔWþø‹Ðj56Öû]å‚Jέ½s—ÚÈ­!0äš>7;ë›Ïÿùk\læÛŒµ°wprëùÞâO¥ïÞþïõëWŸI8”q;µ±‰I»N/ÎZ}íÜé»6­ì"gM=qàÇ’â’#ýfÍ—»ìÕãnjŠ›× Ùk¢ËFÒnþ÷‹y¦$]Õd¤——4oÕªGÿWýgÌ53o"„8yèÀ'Aã„Á ÃO:ðŸ#?÷ðêÔðȲÉ,þfw]î+4dõr$Ë=XÛ¶ütú;¿ÆhÔÈhÀp¿ñ3ÿŸ‘‘‘ô­”¤«ß®‹üÏÑŸ³ïÞmÚ¬Y¾þü?Û§„³Gû\9ókK‡gWíûŸ±Éÿ~þ¯5+xF:ê]Ã<›âvÆDΚ*„ß±·ƒs!Ä[}_ÊJ¿ÓçoæE¬VΨ%õr²”׳es¹‚šµÝ¥WŸÊTRs9·jú[ד¾]yöÈ¡ì»w-¬¬zôüÎÇËê`ÇÖC®é—¼3áò©D;ûnýúß¿÷Çõ‹ço'ß¾uêðÁð)“ ïß7nlòÌsò4Y×/]°°´J:VÚàËCý‘›«ÕjwG­{eèðöN.Bßïy:‘ ‰Gÿ{åRë:vèÜ%íæ¿xþ‡--¬¬Çü}†BîÃâžjÚ¬©¥eç.z“©Ó=…†­^Žd¹‡õ‹æ6·mYR\|/ïoü¢MÇN^oŒBœŒÿ)üïoXXYÛµnsë÷k?ÿß®kçÎ~¶'ÞØ¸±ÿ¡ÿÏÿÒo݌ߵ£¨¨ð_kV˜˜šÖé^ôi˜g“´Ac“¶_Bd¥ßÉJ¿#„èй‹rÎ@í©—“¥¼žE©ó¨½Ó_N« *Ýæÿ2Pëç;µyÁñ?GŽÙJMß@¥¥$_>•(„øûÒÏ]zõBhKJÒSS„¹ÙYŸN§ðþý¶^œóÅ&é²âµóg_{ô–Ÿ1wШqÿÞøEôÒ…R)®ÉHïî9PÑ¥w_½·þ¯z•Ÿ““Ÿ“]RR²pÒØ;É7’¯^‘6–û2gˆÿ$##£¬ô;SÿÖ¯l2u²“ õu$K=ýãŸ+ݼݼöÛÔ¿õBœþ9ÞëѹÙYŸ~ð^QA³»GèºMfæMÖúÖ©7~¿úŸ3\»;õèխ߀“ñ?mŠø$O“ÝÈØ8dùu¹ß€²æÙ$oÐÎѹ±‰‰(õ# ƒs…œÚS/'‹BÏâÑyaߦ]SKKQ•‚ªts»Öm-,­r³³–‡¼Sxÿþq'Í]$„ˆYµü›Huô€kzó&O™˜šÎeÕÂöÙ»÷ëÿ·ño !ý{G~NŽâ­¹ŸHo¹xô·éóÎ=z5®toö­ÛJ_´~¾Óœ/¾.ý­ÒmIÉþm›÷nÝx7õ/k š·l%}!ýšèÔ£×߯¿%E~Ø]^2€¨§#Yî¡‹Ç+n^ƒ„íÚ5j¤-)iÔ¨‘4ô¹9Bˆ7§Í’Ö•µ~¾£Ô°¸¨Húb\Èœ“ñ?ådf!¦„­pè]£;¨²†y6iKJ~¿x^ñ¼‹«´}Ò¹‡¿´wr)*,,/g öÔËÉò_¯W¨ˆ¤ ªý__V¾ ’r“^Ê?ÂölÞ°gó†ÇÜW ‡ÁÖô–6-mÙ³õÆå‹)¿ÿvþxÂùã Œûýy Äå/ŸáÈÉÌþÔ­ß)"­±°´²{t8*ûnýª-Ë—½>áíŽ]»ßN¾¾õÓ0!ÄÃ?9efHµ~÷~å&å%HêåH–{èØµ›ùýâ9mI‰xôïéŸC?ú Ô•3§„ÆÆÛvr’"G~ü^îм©E•gÔ´†y6¥$]-¸÷‡¢£³´ÁÙ£? !ìÛ´kbѬ‰ååü˜{PP/'‹BE$WPRQ^Õ‚Jέô0³&O X™ÄÔÂ`kúÔ¿wèÜUºìq//w|O§’âââ„Ò7…g~9ä>àU!ÄäÖ¶-K•)~«;Vñœ³‹Üíçþ=O“íØ­ÇÿM)9°ã!Ä‹n=g/B|ñÑLi›2eП—áËKƬÉS5½K Jõr$Ë=¤$]Blù4LafÞ¤ïëÄ=¼íÀÍk¿µstºvîÌ/{v !úú¼!ýUtwÔº˜ÕŸš5yª…ý­ëI[? sïÿªôP ¾4̳)õ¿×¥ šY[ !N>x1ñ˜<¢BÎ@í©—“E¡"*½ MT½ ’·—ndill,„(~Pä0Ùª…­B[RrîXBÍì»úc°5ýÒ÷&æde<÷bgó§š^¿t¾¤¸¸IS ×|„ý|GØñV« bëç;=xP”q;usâe_Ü¿'ý,ßÊ47;+~׿D©?ýèD¤;ü~áÜ7‘ËR®ývtÿ!„‰™Yë:Š2ï”—Líï!¨C½Ér'xg`¯?rsò4ÙBˆÀ9 ­m[ !ú¾>ìàwÛ„¡~¾O·m÷ß+—‹‹´st œ³Pq`Ç7ÑK7žñù—Z­ö“ q)IW~·}Àˆ±uµÛ=æÙdae-mðåÂнÿ}é×ãGt3P{êådQ¨ˆäΥߪZPé4ïûúÿøvÛƒ¢¢¡:us+¸wï÷‹ç4wÕ~s6ƒ}æT{g—¦Í,/$=ûÃýüüÞ¯¾þÉÖ]­ži-„pîÑ{+R•ÿ IDATÎÚMN=z™5yêfÒoE¯Ž/¶Ã®u[éBãõ‹çKÿyT”:&äT'4/̾M»Âû÷ïþöù.®Òo“í:97¥>Ÿ!õ/)/™:ØEP…z9’åf®üª±‰Éý?òÛ9:ÍŒüjШ7¥Íº¾ÜïƒÏÖuèܵ¤¤øfÒÕg;¼à7mÖ’o¾·°´:ºïÿÖ|4C«Õ¾ûɲ—úzu{¥§—Ü„ÛWEÔÑ.ÊÑ0Ï&Çn=^;Áü©¦÷ï5³jþfÈ).ýQȨ=õr²(TD¥?á*ª^Pé4ïâÑwÖê¨N/¹Ýû#ÿÄ}×/]hçè<~ÆÜZÞ©µîá}¦Õþ« ¾áŽB­V[«£H*áxFm«›ãùqHçBCΰ,Îßz×ðláxFÝO[ƒ½NŸºô$Ïý Tí÷Tá81<ì¥Ò¨éª±ãÒ­ònømð7’çþªö{ªpœöRiÔô€ºUª¦OKI^8q̘.íæM™–’,LJ;:ìÚ°f²—›Ÿk‡]Ö!ŠE…ÍìÝy¼»ãî¨uUÍ&ûnÚœ1>c]Ûóù?å?ˆÜËË Ÿ2iL×çfŽxínjŠ̼s;ÔÏw´KÛP?ßÌ;·å|&¾Üåë. õóýßÏ«:zMõnËò%c]ÛÏýzfÚ)¢÷ˆZzÁ¹G¯MÿüXŠè=¢&†.ü>úË‚û÷vG­›º°t ÿx®‘iªPÞŸÑÓn&¯KôŸºiÙ")¢÷”¨â¤.«FæŽú¢·œPXRíjDÕG~CØKªP©š~Õ¾—Þ}LLMwùtbéoMž¿´¥Ã³–Vó£¶ !âvÅLš»ÈÆÎ¾‰E³qÓC«šÍ©Ã†MzÇÔÜüõ oËÁ£ûöŒ|/ÄÔÜÜ{섳GKÁ³ ‡‡™š›ûN >›pHÞ¸Ÿïé¿~;¬¼:›&êtðøþ%^Šè=¢ìZ·õxmèâÉãûüm˜]ë¶U¥~ç:›&Ð`ù¾õ®™y“W†¿u=IŠè=+¯ÞOêÊ«ñ¹£6Tµœ¨v5¢ê#_-{©Þ5.’=’:ÿStøÂ[דJŠ‹u6¶±³/ý2+=­Õ3­õŽT™Ï"ädeZÙØ !,›·(̘ìå¦Õjµ%%FFFR0W“-miec›—£‘763o"ý·øAQ…£ëkdšhhÊÏBù0ËÓdK‘òލW^#fÕòÉ –êtÛðç™&P¿ôž¿•gai%„hlb"ÿ«®÷¬üõ~RW^•掺Qöx®j9QíjDÕG~CØKª §¦/»WÍ šÖÝs`QaÁ¸îº³¶m™–’lߦ]õ²±ln“‘Þ¼¥]NVFé>Wý˜`jn^zK K+MV†u‹–šÌ»Ò¿\¯Î¦‰º¤÷ß éàÉÉÎlfÝ\Š”wDýë‹Ï^:|ÇŸM û¬ªC×ïñ,êjš@í)¯Ú022*).ndl\Õõž€•Wï'µ¨¿¹ãñ•=ž³œPh®sœ¨úÈWË^ªw•Z{SXX`iÓ¢¨° fõ å-ûùŽØ°ø£¬ô;÷òó¶®øË5¿Ê,Øz©oÿ]_­)¼ÿÿ¾þJö4d늰{ùywSS"gM•‚]<ú~µ®¨ `÷Æu.½ûTØselÕÈ4¡ ÒÁó}ô—/õõ’"z¨ß/ž¿vþìûK>½úŸÓ×/](ÝCÃ?žkdš@ÃÔò™ÖO¯FC½' D'µ¨¹£¾Ê"àø,i IH„‹4O"I H !1 ˆœ!w”Šx=Ž„QÊrb[B;…ÃÁ‚(UC(‚ÔB é…Âf<°®Ù’M²mv?ï—¯ÈÎÎ33ϳ3Ï|÷i«ö}x@Êåóç¬R \ý㮄þ +2ò;²º¯qºo]×sš´«–­¤¨0 (DRZ\d¦39ƒš63Ì_Ÿo{~þBO/¯*¦Î…À•Пy1~áJèϰ)#1½áGš“}±Ù}­ôýüŠ òƒC‹òs•OZG¥RUi4 << åòùsJJÖ×_<ùÜoµºß‘G÷î1µ`L¯>¾ÝZRXðdDXYqñ®MÿŠ<ÉTæ#ßïJ5Ö[­ðô¸:4©þlQ&œýp6FõV«“Fýáû]f²yûø\:óÓ• ç‚›5Ÿ8imk‰ŠK¸ÓµEðêj?¼g‡’bá>¡¶•¨†ùæy&é¾]ÕíËŸ€ÂÓË«J£QRŠ òÆ%ÆhµZmU•J¥2µ`øC]®\ø9ó«Í*¡:¸ãëÃ{vŒ{y©Ì%E…A!Båom›¤¨Ï·=SeÂÙП-A†s2:~•aâß8¸´¨Ð̲ÓÞxÿß+Þübõ¥EE£f¼ØwPj­ªŽŒKø`î¬üœkÏœîßðö’Â%ÅÌ>Q }ÌG– ç×™‘˜ÞÔ'¡R©ª4šµ­#0$ô­­™Þjµùlžz$®{sIçGz¯^òZ»‡büƒ‚Menظ¨ /08´(?×ð]­Vk¦sÛšckG5ôçz¢?ÃŒŽ_e°æ7 l¬¤4ðð¨¼uËËÛ»8?O—íþ¨èiËÞBù~×’Éã-‰éõ{{P“¦þAÁk_Ÿ“ØÇÃÓ˰v¿€@%ÅÂ}‚1*%Å|TOô|ójqíMh‹°“‡öסޏ>ý×._^Vš{%{ÙŒIfrÆ$ö-ÌÍéóÔðükWãû 0“3º{Ï-ïUVTlN¯Ú[~g±¤a¶¸ÓÂòÚáXôgKПᄶ¤¯¨¬¨Ø’ñ^§‰Jʽ-[ïÙüé­›7?K_®Ë¶hÒØ ÿ=y»²òFi‰—OÍ·aoŠKعq]lŸþFkîÞSI1³O`TÂÌG– çר1ý°É3ç©ûœ,¿ yØ”™Eùyc¢Ó†&GÆÆ›ÉÙ©G¢ã N=6ŽëÛßLE©ÏÏ:¶/3µk¸‡Á÷Úä1f§¦X«?ÕönkëÖÛ¡?ÓŸ!¯Ô®áÇ÷í>õ…;/ŸŸµjñ«céÜô7÷éòÄ÷{bñ_Ç n»þ­×'-\Vc™†½=2®»—O‡n=ô³iµÚÔ®áÇöe¦>?KI±|Ÿ`£ÌGô|«¸s ƒûˆakÊ8Ôjµ6­E9+G†­Ù§?ׇ2œ¹…†œmüîÞüiæ—ŸÍx;]—’ÞÜyšg Îß±%âlý®J7lùÍ)ª«¼uë›uktG4ÀɹGÖŒž:á»,$E¤P«¡:¸C«ˆ®ñ ¿ûƒXó‘;sLLO÷‚+¡?R¨ÕP5š™Á'Gug\{Ș›E1½ò˜!£i9ÕC…Ì´Ó>µ×sq6²}°©-¬½ž‹³‘a ÎóaÕ¹%γ p8v•Ö^ÏÅÝd#[Óo8uÙÔZv»rË’•4ÓNçÇF¶6µ°‘S,ïrNpÀØUÚûld®½äV÷˜Þè9‚”ðæÛÖ­1:>êàŽmJbyiɉcwl=}àã¹W²Í”ùÃw;§ èýTdËñ½ºnÿôýŠôÿ!„˜Ð;öÒÙŸ„…¹9£â"nWVš*ÓòÚ-o’æveúü—Fw‹Ñ5|sú ]fÃu¯'7ÙÈÎÀM65ýY¸Gvmk–ÌÝfÆ 'òs®))úJ÷o£}Ã(£Ÿ¸Ñž™Ÿsmæ ¤!ÑmÖ,™W‡–[>jû›p%n²«d>ÖÞÈuéM#ȹtqù΃©SÓV-𫤬^2/ (d従q}ûg,˜c¦ÌLŸ8tÊŒµ‡Ï¼œ±þøþ½Õ*Ò¯126þǬï„{·~“Ø×ÓËËT™fj·dGi´IŸ,[œ}îÌâß,ß~ (ﺙu7SQ}NÄH´‘eᛚþLv&#ëDD—¸UÅL6£}Ã(SŸ¸aÏ\¹pNû.±Y' ç`ë£}nÂv•ÌG™¬íMò3Ïú¨}rùü9%%ëë/ž|nŠ·ZÝoÈÈ£{÷˜YÖÛÇçÒ™Ÿ®\8ܬùÄùKÍ䌊K¸³9¾Úÿx’™œ–×ny“vnZ?fÖÜ ¦Í|ý Ÿš¦Ël¸î6âbÙ™¹Ø¦¦? ÷îÏ®aÀè±ÞjuÒ¨±?|¿ËL6Ëû†©Oܰgù~WÒ¨±Þjõ€§ÇYe]LUr±]%ó‘°öF6ò›Sºï7u;6àç „ðôòªÒh””₼q‰1Z­V[U¥R©Ì,;í÷ÿ½âÍ/VPZT4jÆ‹}¥šÊ—ðÁÜYù9×.ž9Ý1¾‡™2ÍÔnÉ mRÁõœ&- 3®»™ŠêsèE¢ìpôç›D®Æ™û³»1:~‚B„þƒK‹ Í,kyß0õ‰öÌ’¢B¥vå¯>ë¸$棛Ä|TM­æ##1½©m¡R©ª4šæK4úÖÖLoµºÆœ÷GEO[ö¾âÈ÷»–L_mshµZÝú5iê¼öõù1‰}<<u΢Z;-¯Ýò&†„æd_lv_«º•i†{nd›¢?ר$ú³DýÙÝ¿EyÁ¡Å…ù+) <<*oÝòòö.ÎÏÓe3ß7ôYþ‰7 l¬Ô^”Ÿ[ë•©ý> Ù1ÕØ$æ£úläZ\{Ú"ìä¡ý–ç׉ëÓíÒùåe¥¹W²—͘d&ç¢Ic/ü÷äíÊÊ¥%^>¿Z¿€À³ÇŽè§DÅ%ìܸ.¶Oóí4S»%W\mRÏä¾6»àúµò²ÒµKÔXˆå×{¹ÞFvZ®·©éÏîÜŸÝÊ–ô•[2ÞëÔ#QI¹·eë=›?½uóægéËuÙÌôj,ÿÄ£»÷Ü’ñ^eEÅæô÷ª½e‹;Y û0\’ëí*™2Õ"¦6yæ¼ñ#u[Êò»ò‡M™Y”Ÿ7&!:mhrdl¼™œñýžXü×qC£Û®ëõI —é¿•?kÕâWÇ>Ò¹éoîÓå1Ó7ª±üO}~Ö±}™©]Ã=j´OÔþi6†}.É=w•ÌGVßÈwÎÈx[ýîÍŸf~ùÙŒ·ÓÝWfŬtP­V[ÿ¢ÌPNlÑŸa”tý¹>”±àÌ-4$ïøuÎß±%"of>²[ÌGžú¯e$oË%ÂF¶µÊ[·¾Y·¦WÊ G7Ä•±‘eÁp v•v`£läYµb4©Õ±™ÁZEtOøÝ¬×(WÃF€±«´§ÝÈ_{¹pí \‰ó_¢Àµ7¨çïØ¡?Ã>tÃÖú¿9Àžˆé¹q==ÜÔ¶u«Óç¿|óF™þ‰Ñ”ðæÕ^*ÿ¨1ÑìV‘©Úë_/jÄ®²ÆÚ™,Áqz¸©O–-ž»fcµ‘cøÒphM¬-Kžìa•Š‹ 5bWiî°‘‰éᦠssZ?áèV¸862Ôˆ]¥¸ÃF–þùô@méÿŒœ¸û5Ý'×~ønçÊ…¯\:w&¨IÓ§þ<µ×™ª}BïØ´«Óö·…¹9}"ñý=?xzy-³¼´dÙ̿ڽý¾ß†O_ö~Ƚ-êß$ÍíÊU‹^ݵé_Íí'Ÿ’4j¬’yÛºÕk–ÌS5hðÜ«KbûÔª"wÞȨ'æ#¸wÞU2Y}#sœnGwzKÿ<—-N,þcúÄ¡Sf¬=|æåŒõÇ÷ï5S{dlüYß !öný<&±¯©±-„X½d^@PÈÊ}'ãúöÏX0Gÿ-K"!£MúdÙâìsgoüfùöEy×u™s.]\¾ó`êÔ´U‹æÖXQµDWÝÈ`E®º«d>rÈ|Ô@ Ø‘uÆ$¼}|.ùéÊ…sÁÍšOœ¿ÔLΨ¸„;Ãû«-ñ'™É™õõO>7Å[­î7däѽ{¬Ò¤›Ö™57¨i3_¿Fç¦é2'?ó¬Ú÷á)—ÏŸ«mEvã„uæèýîptG€õ9á®’ùHX{#sœ..%¼¹òŸý«žöÆû?9ôÊ3CGt}ðëOV™É—p|_f~ε‹gNwŒïa&gqA޸Ęí“Ú%¼¬¸Hÿ-K9mRÁõœ&- 3ûù!<½¼ª4š+rÔíSvÞÈPgÌG56‰ù¨šZÍG<Ë.®þc[¥RUi4 <ÓÐß¿¶eZÎM62Ô‡›ì*™¬¾‘UÜ W¢œØ’ñ§1voþ4óËÏf¼î膸2+nde‡ëÌûOe,8s ׯ|3l1ÓÃ¥è.VìÀ™÷ŸÄô€c1Áž´Z-×Þrã¹7pA2žë„\ø­S–`>‚­éæ#ŽÓr#¦äFLȘ1= 7žO—Âó€aOμÿäùô€c1Ážx>= =žO—ÂQI€3`>‚qœ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹©´Z­£Û`}*•ÊÑMp<—Œô`ˆãô€Ü<Ýâ‹)` å¼ãÅÅð±:›N…ËÜ Çé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹©ÝÔ‚V«utœJE—†ý8óTÆ‚3·Ðã×IÈÕmœýY‡e§äæ©üoéˎmÌK oîè&È„þ [cHÚã×èØVçæý™eO§äFLȘ1= 7bz@nÄô€Üˆé¹Y9¦_8qLJxó ÆY·XµUÿÁX­F7ÜýŽåœ=Ð9[嶬ÓŸ=vTqdGëë>^ŸúlJxógztrtC ½úÆj%0ºáÎÞÿ™Üœsö@‡· ú<­XVqA~î•l!D[>ݺ:{숢mdG7r«ÿ`Ô•Ð&âNo|së÷B«màéa­F²p†ÙÙÁ9gt†VAŸÉ˜¾¤°àã7þþŸßä_»ÚÀ£Ap³æícbŸ{íuåÝ«ÿ;¿ñý·©xNÁ IDATdîλzÅÓË«U»g¼“¡|ÞBˆ &M—͘t`ûÖ*MÕ£O5ã%]±ã»ä^ÉŽIì3ó £)FKöo$„È>wæÓË~Ìú®07·a£Fâ{¤>ÿ·{› !îØ6oÂH!Äs¯½~`ûÖ#ßí  ÷Òü{[¶ÎX8ç‡ïvùÞÓpØÔzýqâÐîí¯Ž.„xú…9G3÷ÛŸéáéÑ;eèˆéS©TJ«ÌÔ¥[ü™¿½z,ëû#{÷­V5/Ÿ?÷éòeG÷î.ÌÍõ èÒ«ïÈé³ïiäo~Ù¬m_ü}â3J wlK oîæ?( ‡ F] m#:½®ûRúº¨¸„G06&¼²ÈÆ› ¨™CT݆Œ2wT›l¾`cŽí¦"ŸœKÿ{÷ÅÿË>w¦(ïz•¦ªq“&]z=–:m–Ú×0>B¼½mïåóçjlìÉäµ7ó&ŒüjmºFsû¡ž½Â;w-+.ºzñ‚òÖá=;&èµmÝ꼫WZ´nÛ°Q£ó§Nøùœ;~TÉðÞ+i·}£¤¤¼¬tsúŠs'~TÒ üUK1U²âЮo§þ¡ÏÎë+ÊË›†ÝW\ÿÝç›^õ¤Fs[qönÕ¾ú·û÷VÜ,Ϲô¿e3þ:cÐÇö}_Q~£0ïú{sfÞ®¬BèÚùñ²E^>>!Í[”öÑ»;7®SÒÍ×¥['fýï¿§š·nóPÏÞ÷=Ð.÷Êå/×|ôïo ƒØ6¢Cû.qMÃZšj•m7L3~œ>'ûâéÃ…YðFT\‚B[UuýJ¶¢¤°àõ©nݼٲ݃/¼»J9t}öøÑºÀzÄ´Y}žþÙGïf,˜£,¢¤å]ïüÈ£BˆÝz¦˜)¹¤°àõ矫¬¨ˆèŸ¶b•Ú÷ýWÒ¾\óÑ• ?ŸùñH»èÎçŽB¨Tª¿,x£ë£ý^ýÔ{¿+ÌÍù³ŒÿVÚ”í>¾uóæÍò~^J;=<½æ¬ÜÐúÁˆ²ââQÝ"ª4š¾Û•ø‡A5Ö¥,®R©f¾“ѱ{Ï×/›1IY͒‚%S&ܺy³ÿð§ÇÌš+„XÿÖ’—-:´ëÛò²R߆~f–íóÔð¥%+¾"„˜³jC`p¨ >nÈÇ!ƒQÜýžÜ4¬¥ò¥ZyÙì¾V ýýu/ödå¯Ñ`Ÿ-˜áØUÛ!£ÌÕf»m+Ø‚c{ ©ÈGÓë±G~ÿTYqqYqaUUÕœ1C®]¼pñÌ…¦âS­‚£éÕ¾÷xy{WÞºõÒ¨§‚C~ÓöÎ={ýnÄŸ„»?ÛPV\,„xfÖ«J‡wÏÎ+·JDtéÖç©áú¥5»ûõ.ìþv/¼»Rÿ-ý”ÏW¾oªäÝŸm¸QR,„6y†ÚWvÿJMe¥¸Û±:vïÙõÑ~Bˆ[7o !š†µL5NQ¥©Bøù(щòͲsÏ^­ŒBø6l¨R5BÓ AKêRê–б{O¡7¢š…µÔ-ûÅê¿Xý¡n5µZ­ò3Ë !ÎÿQÔ´=t2u%èÎ)]·Í¯_šêɦàpŽPu2zs³ƒ‹pl4ùh«ª¶}²ú«µå^ùÕE¿C›Ü]ÜH4Õ*8Šñ˜Þ?(xîšß¬_{áôÉìŸ:¾?óøþÌžI£Æê¾–µúÕ-ÅùyÊYž‡zöVRΟ:!„ðóв1ÏTÉ¿zëî}ÿ=rXáááÙ²]û‚ë× ®_Bè¾ò^8}R×]¹Jì̱ÄÝKŠóó”.Û²]û;…;¢¹])îÆ+æëÒ-Þ¡ÛÃwWó¸n5•e}|ïé?|´~û}Ô¾¾ ýÌ/+„PN¢qÕ ô9d0êJP…®ë¶ýõKS=ÙÔ@Îqª.CF™;³ƒ ql4ùüûý·Ö,™§R©žù§:v¾zñüÚ×ç !Ú´Ròö@3­ªýVué¯\ø¹mdÇû£¢…å¥%#bÛWi4šÛ·…ž^^Jž#ßïîÚû1!ĵ‹CBõBá;¹’Ò:"JWìÿ÷—Ò¢Âð‡ºüqìDÃS%ûøÞÓ ÁGm\:ûS«ðögùþ‹BˆIhèïrç>ýª/Ÿ?wóF™¸”W”ßÈ>wFè¾ìÞm§rFéÖÍ›k–ÎBø¨}{<ñ{!„ùºïÙq§®»=û̱#ºÕôððBhnW&"„ÐVUÛ—|÷ š™e++*®\øYqoË6f?2¸‡ F] Êʪu]ó=Y˜ÖÝ2@8v@ÕvÈ(s³ƒ+ql4ùlßð±âÁ˜ØÑ3_B¼;{º’_‰øö@KZ;3Ó/xîé₼ÖFªïixþÔñ*Æ·¡_üãIBˆžÉ·oøX«Õ.üóÓa÷·»}»2ïê•ÕOW»…®âf¹IëžZZRX°kÓ¿„Þéûj)¦JBôxâ÷;þý‰"mhò½-[ýï¿§5šÛ­ÂÛ~aŽB¹˜^Wuµ½çÏ'k«ªÄÝ_×ξÛ9¡wìÒ’Ò¢B!Äèæ†4©¹®_ß8¨û ¬f'þ¸ýÓOnWVNлÝC1åå?ŸT¸‡ F] ÊÞÙÔK£=Y˜<Ê çØUÛ!£ÌÕf‡ë¿°Ç–‚m8¶šŠ|”‹~>qìãe‹²Ïþ”µí !„—OØo&â“[û3þÜ›6Q ùŸ8˜µï›/o–•u{ì‰W×njÒ"LÑ¥Û ËWµïçã{Ï¥s?UVT<6x„îަa-•[èÎߤ«]€+ô>ïj)¦JBtìÞóù¬hÙ±ªJséܙߴýíÐÉ3æ}¼Eÿî=]ÕçîÞrß ‡›†µœþæžÞÞ7o”µ o?}Ù}ž¦d³°.ååÏ¿^Íñ=f¼Þ®SLù²Û¿>êD«ðˆÓf…ÜÛ¢ÆeýŸù§{ùWÜ,?óã^>êú~¶p ŒFo5õògƒòM Ûo- Î0 ,2ÊÜQmv°Ëv‚­8¶šŠ|ƾ8¿Ù}­nݼ¹gó§÷wˆVâ¥VíÚ{xx ñI­‚ýÝy»û?S×ß/iêÒåŽnK-(ƒÕÝ/S”ƒ îÓŸá(Î?$•±àÌ-4Äøu8çïØqžþìÀȇeO&ŸOï’ à ઈ|܇{Åô¿\þÅ=ÀÕù¸ã÷Ⱥªè„Gœá,€ù¸÷:N¸bz@nÄô€ÜTŽnj§AÕHyv`Î<$å}–%N®nã´èÏ:ô(ûà8= ·;Ͻážh'§üj,D†­1$m‡ñë@tl«sóþL²'ŽÓr#¦äFLȘ1= ·;ϽáÆdë"¾‚Ýpœn'%¼¹òŸÑ·ìß{rçu‡kpç>ìÎë F<Ÿ^쯭HéíF7©Ëw^w¸wîÃî¼îòró†èÅž8NȘÂÄIí”ðæÛÖ­1:>êàŽmJbyiɉcwl=}àã¹W²k[QanÎ ƒ“†D·ùø¿ëª3Zfþµ«iC“EµLšœíª®IOwï°òïsÓ†&ÿó ë¾Âzì¶î€0~¿ˆé!„Øpê²Ñ3¤9—..ßy0ujÚªEs•”ÕKæ…¬Üw2®oÿŒsô3[r’qÕ¢×è“‘uâvå-]¢Ñ23¾Ü®S—UNÿ¶ãC ©hð_¦múàížÉw¶¡ÆÚ-i’UÖp Ưa:ãp7Äô€9ÉÏ<ë£ö}x@Êåóç””¬¯¿xò¹)Þju¿!#îÝSÛïÙþû1¼Õê'FþI—h´Ì£™{Œë­V'?=þhæn]æžÉ•¿ywþÙˆÕ×°3Æ/ãpžŽn`[º]u»QÉÏ?@áéåU¥Ñ()Åyãc´Z­¶ªJ¥Rég¶¤Šâ‚ü€ !„ã`½D#e–*9‚BJ‹‹t™}Ô¾Ê_ÍíÊk¯ÏíYµZwÀ¿­§1Œ_ÀÝð|z¸8S“¢J¥ªÒhxxÔ¶ÀÀз¶fz«Õukã Â¼ëC›ä™/ÓÏ? ¨ /08´(?W™ž­ÅQëÔã×ãW.ÄW°®½› mvòÐþ:,×§ÿÚ¥óËËJs¯d/›1Iÿ-KöÝzôÚôÁ;·nÞü|åæËìßcKúŠÊŠŠÍ­ˆê–PcÉ–_k‹uì‰ñ[c†¿€kk …<Ý[\ʰÉ3ç©›2uŽ0õ“.¿,8efQ~Þ˜„è´¡É‘±ñµ­7õùNþÏȸö^ÞÞºÓßFË1mö‰YÃ:?pêð‘Ó_¬mEæVÁAëX ã—ñëü28GîBŶ†+QfY)~㣴¸èÏ}ãÓ³Ž;º!¨ %xræý§2œ¹…†¿çü€)\{ØÛÊ…¯Ü¼Qöͺ5]9TH†ñ À9ñÜÀÞ5“}oËVÓÞxßÑmP;Œ_ΉkoàR$:w©9ÿ% \{ƒ:pþŽ À®½äFLȘ0Iy6œÝ~1„Ÿ&¬ˆñ À­Ó&m8uÙž—öZ^ÑP#Æ/·BLȘnGs»2}þK£»EŽè¾9}…’˜íjÚÐäAQ-Ó†&ç_»jfqS9S›oúðq‰1C£ÛnúðZ5ÉèE)áÍ·­[=*.bt|ÔÁÛôs ~3pIŒ_0Š˜nç“e‹³ÏY¼ñ›åÛå]W3¾Ü®S—UNÿ¶ãC ç˜YÜLβæ®Ù¸b÷¡Ã»wè-™¹M]$séâòS§¦­Z4·ZN;_W8 Æ/EL·³sÓú1³æ5mæë×høÔ4%ñh枣Çz«ÕÉO?š¹ÛÌâfrŽ{iAhóßøù¼”¾Î*MM~æYµïÃR.Ÿ?g•Ù1~À(~G.Nw˜MwT¬àzN“aÕ²•…!‚BJ‹‹Ìh&gPÓf†ùës4ÎÏ?@áéåU¥ÑÔ¹@^Œ_°1=\œá”š“}±Ù}­ôýüŠ òƒC‹òs•™XG¥RUi4 <êàŽmJbyiɉcwl=}àã¹W²M8±_ÂÅ3§u/oWV>ݽCaÞu£åç\›9(iHt›5KæUk’0øqJÃ&Ùb5kûÓ˜€}X>*-ïÃFsNè{éìOBˆÂÜœQq·++• k–ÌÝfæ ¤‚ë×ÌÔ^«5bT¨?bz@Óää\º¸|çÁÔ©i«ÍURV/™²rßɸ¾ý3Ì1U`LbßýßnÕ½<´ëÛ°ûÛ‡­håÂ9í»ÄfdPâ†jMª¶ˆa“–Ìñ–¯¦©Ú‡³pTZއ挌ÿ1ë;!ÄÞ­ŸÇ$öõôòRÒ5MFÖ‰ö]bW/~ÍLí F%»!¦ÌI~æYµïÃR.Ÿ?§¤d}ýÅ“ÏMñV«û ytïS ÆôêsàÛ­%…OF„•ïÚô¯øÇ“Le>òý®¤Qc½ÕêO«C“êÏe6RçQY+Qq wbú¯¶èÞ£Çz«ÕI£ÆÞ³Ãvµ F%€ZòttÛÒ'«Ûa-?ÿ!„§—W•F£¤äKŒÑjµÚª*•JejÁð‡º\¹ðsæW›UBupÇׇ÷ì÷òS™KŠ ‚B„ÊßÚ6IQŸãv¦ÊËèø­ó¨¬•È¸„æÎÊϹvñÌéŽñ=téÊ õo\RXPcíŒJvCLgjNU©TUMÚúÖÖLoµÚ|6ÏN=×½¹¤ó#½W/y­ÝC1þAÁ¦27 l\TZ”Ÿkø®V«µV˜RŽ­nΘØü¨´¼ëç jÒÔ?(xíëócûxxzéò(Cµ¸0ß/ Ð’ÚmQ À×ÞÀM…¶;yhŒëÓíÒùåe¥¹W²—͘d&gLbßÂÜœ>O Ï¿v5¾ß39£»÷Ü’ñ^eEÅæô÷ª½åxöØKf‹{æ,¯p 3£Òò>l˜3*.açÆu±}úë'nI_QYQ±%ã½èî=k¬Q ÀnˆéᦆMž9oüHÝŒkù%†M™Y”Ÿ7&!:mhrdl¼™œz$ú7êÔ#±Q`㸾ýÍT”úü¬cû2S»†{œ7H3avjе"ƒÚ>7úµ6bfTZÞ‡ sFÆu÷òñéЭ‡~6­V›Ú5üؾÌÔçgÕX»%•¬B¥ÕjÝÀj”óÑ<¶¦DTμÿTÆ‚3·Ð³ßÝ›?Íüò³o§ëRR›;OólÁù;6S8N@u•·n}³nî 89î‘êËèIp×>˜ȨVCup‡V]ã~÷7 ¬ƒ˜¨/Âw@ µªF33Ø8-®½äFLȘnGy`œÑ+kêñpfÚiŸÚë¹8®­Î݆þÀˆéáv6œºlê¢X»],kɤn¦Î 'á„´å]Î ÀiÓr#¦„0q FJxómëVŠ‹upÇ6%±¼´dáÄ1ƒ;¶ž>ðñÜ+ÙfÊüá»Sô~*²åø^]·ú‰~Eâ׿9¡w쥳? ! ssFÅEÜ®¬4U¦åµ[Þ$ÍíÊôù/î9¢køæôºÌ†ë^On²‘aS–wËŸÕÔâ†åç\›9(iHt›5KæÕ­ñÚþ¸,ÓB˜¾#çÒÅå;¦NM[µh®’²zɼ€ •ûNÆõퟱ`Ž™2ÿ1}âÐ)3Ö>órÆúãû÷V«H¿ÆÈØø³¾BìÝúyLb_O//Seš©Ý’‰ßh“>Y¶8ûܙſY¾ý@QÞu3ën¦¢ú\è"ÑF†3°°ÃíF™úÄ +Z¹pNû.±Y' ¿ZwXÞxPÓæ$?ó¬Ú÷á)—ÏŸSR²¾þâÉç¦x«Õý†Œ<ºw™e½}|.ùéÊ…sÁÍšOœ¿ÔLΨ¸„;áæW[âO2“ÓòÚ-oÒÎMëÇÌšÔ´™¯_£áSÓt™ ×ÝF\l#ÃÖêÓaŒ2µ¸aEG¾ß•4j¬·Z=àéqVYS@mñ›Spqºƒgu;Öåç „ðôòªÒh””₼q‰1Z­V[U¥R©Ì,;í÷ÿ½âÍ/VPZT4jÆ‹}¥šÊ—ðÁÜYù9×.ž9Ý1¾‡™2ÍÔnÉ mRÁõœ&- 3®»™Šês(Q¢ ;3:~ëÓaŒ2µ¸aE%E…A!Bå¯>ë¨-bz¸8S­J¥ªÒhxxÔ¶ÀÀз¶fz«Õ5æ¼?*zÚ²÷…G¾ßµdòøjá¦V«ÕEAMšú¯}}~LbÏ_]R­–×ny“CBs²/6»¯UÝÊ4Ã=72¬ÈÂ@ÙüG¦ß ê°¸¾F‹ òƒC‹òs-iXýÕØxPpí ÜTh‹°“‡ö×aÁ¸>ý×._^Vš{%{ÙŒIfr.š4öÂOÞ®¬¼QZâåó«pÁ/ ðì±#ú)Qq ;7®‹íÓß|;ÍÔnÉå¼F›Ô3yà‡¯Í.¸~­¼¬tíÒ5bùõô®·‘áœÌ|d†Ý V‹Wݽ疌÷*+*6§¿Wí-[ÜÉjIã@AL75lòÌyãGê¦aËŸ21lÊÌ¢ü¼1 ÑiC“#cãÍäŒï÷Ä⿎Ývý[¯OZ¸Lÿ­ä1f§¦èW×ÝËǧC·êׄTk§åµ[Þ¤Á§5 k99©×ØGbúû×¶L3Üs#ÃþÌ|d†Ý V‹W“úü¬cû2S»†{Ôþ쓨ýÓl,i<(TZ­ÖÑm¬F9I-ãc"voþ4óËÏf¼î膸2+nd%Ìræý§2œ¹…†ä¿.Ãù;6SˆéáR¸ðöäÌûOycz8œ\Ý€‚ko¹ñܸ ÎÝÃÖ¸ÄÙv¿DÇäÅqz@nÄô€Üˆé¹Ór#¦äÆóéáRx¾5ìÉ™÷Ÿ<Ÿu&W· à8= 7žO—Âá%@^Œ_¨3ŽÓr#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹ÓrSiµZG·¡*•ÊÑM¸>çŸÀŽÓrótt,ÅḠåİ'NÇé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ1= 7bz@nÄô€Üˆé¹Ór#¦äFLȘ›ÊÑ pZ­ÖÑM€P©èÒNá€:póñ˨P§äæ©üoéˎm‡ÔR›;º øú³1POn8~5êãô€Üˆé¹Ór#¦äFLȘ1= 7+Çô 'ŽI o>áÑ8ëkç*a€vÃXàV¬ÓŸ=vTqdGë[·*^ŸúlJxógzt²]c€Zqª¸¶ú«O"ÌJlÇÓŠeäç^ÉB´µe<ñæÖï…VÛÀӣƜgB´ìPçºnݼé­V×yq@Ÿ³ À…Ye¸Õ±u c2¦/),øø¿ÿgç7ù×®6ðhܬyû˜Øç^{]y÷êÿÎo|ÿí#™»ó®^ñôòjÕîÁïd({+!DP“¦ËfL:°}k•¦êÑ'‡Žšñ’®Øq‰]r¯dÇ$ö™ùN†aÊ¡ÝÛ_;\ñô sŽfî9¶?ÓÃÓ£wÊÐÓÿ¦R©„º /¥¯‹ŠK0Õ’³þ>ñ¥üƒ;¶)?»ýÔŸ§®{s±bᆯÚFtB<Ó£SÁõk ¿ûýäÅoë>~ÎÂC»·ÿ¸÷».½›´pÙåóç>]¾ìèÞÝ…¹¹~]zõ9}ö=ü­ø1@:R ÝËgþö걬ïìÝ#´Új5ÎÏþÃ-ñƒ '‘··ímÖÒÌŒ0sPÒü'´ùoÞúú{O¯þcá¿ÞYª¾§á‹}œŸsM¿@{l5nÆäµ7ó&ŒüjmºFsû¡ž½Â;w-+.ºzñ‚òÖá=;&èµm¯çðIDATÝ꼫WZ´nÛ°Q£ó§Nøùœ;~TÉðÞ+i·}£¤¤¼¬tsúŠs'~TÒuNÚDt0š¢+áãe‹¼||Bš·(+.þì£wwn\§¤ë2´ißÁLKJ ò›†µTr¶hsÛˆí»Ä• !<½¼Z>ð ¢àúµ‚ëׄÞ!]á¾6û¿‡ÿÓÐß¿mD‡Ã{vLýý£;þýÉ=~þº%”}³~íÒi®×V‡ü¤ º— ^.),ðòòRj´í¦¬ÍþÃÍè$Ò4¬¥ù!õù4!ÄõË—vmÚ°õã•ÿzg©—·÷Œ·>z cçjÚa£p7ÆÓçd_<}ø â/ ÞP‡k«ª®_ÉB”¼>u­›7[¶{ð…wW…ÜÛ\qöøÑgïîCGL›Õç©áŸ}ônÆ‚9Ê"JzQÞõÎ<*„èЭ‡Ñ¥O¯9+7´~0¢¬¸xT·ˆ*æ‡ïv%þa.C³ûZ5ô÷7Ó’>O ¿QZ²rá+Bˆ9«6‡ !Ò†& !Z…GxzyéŠB´½»C×¥ ŸòBÿÔ1*•ªàúµ¿ôïyëæÍþß3k®bý[K>^¶èЮo­³ù!')ˆî¥J¥šùNFÇî=wn\¿lÆ$»m%À*2ÜìÜÕp)),X2e‚Ñ¡¼¬Ô·¡_û.qõì}h×·«¿ZZTØÀÃcÊ’w£º%!ªÍJöÛ|܆ñ˜^í{—·wå­[/z* 8ä7mèܳ×ïFüI±û³ eÅÅBˆgf½ªì@ÅݰX¹!)¢K·>O ×/­Ù݃a÷·{áÝ•úoUKQެtîÙ«õƒB߆ UªBh4h ŸA9¬b¦%BˆsÇB5m¦ì‹µUU?Ÿ<.„¸?*úN†cwÂ6í£ô oß%îw#îœ!Íüró’b!Ä«?übõ‡ºvjµZó›®MŠ¢{Õ-¡c÷žB/š$â¸áö«ID©®Æaø”íú¶8?O1qþÒ®ö3S X‘ñ˜Þ?(xîšß¬_{áôÉìŸ:¾?óøþÌžI£Æþrx;êW7çç)g-êÙ[I9ê„ÂÏ?@wÂѼâü¼Ü+—…-ÛµWRÎ;¢¹])îÆ(º wvÙ&Z¢PN°êBüìsg*Êo!Z…G()G³¾B4»¯•¯_#ýÂ;÷|TWˆR…ï=ý‡Ö/ÜGíkÉÁUI1@t/;t{ønÇ•ëµò€}9d¸ ƒID˜|ú)ÿÞ»u‹.]}7ÑT`EÆcú+~nÙQ9¤]^Z2"¶}•F£¹}[¡\¸"„8òýB\»x!0$ô—}kä¯.ei¥+öÿûKiQaøC]þ8v¢aŠ®„‹gþ+„¸uóæš¥ó…>jßOü^\-cª%>¾÷TVT\¹ð³âÞ–mî¬ÑÿÎ+ÿh(„8¼gÇɃû [+~ýD!„æveÒ¨qÁ!BmUÕ±}™ÁwÁ=I1@ ¯.;sìHµççáf8‰ f„Íé+Ö¿ýºï=ÁM›]>níëó»öz¬‡‡Âh`EÆcúÏ=]\×úÁHõ= ÏŸ:^¥Ñø6ô‹wFè=¸¤°`צ ½ ª¥èJøá»zÇÞ(-)-*BŒ~aN`Hý Ê~ÙTK”ÚµUUBˆ­ÿÌ8q0+26>&±¯²ì{sÒ¾úgÆ©ÿì¿ÓÚˆê7È*íWôxâÛ?ýäve唽Û=SQ^þóÉcEy¹Ëw¨ó‡ b€üRcd!DEùj5RpÈp3œDRŸŸe~FؾáãŒ/{xxN{ã=­VûêØáÙçÎìø÷ºÞ‡¸`ýö܆ÜñçÞ´‰ˆjØÈÿÄÁ¬}ß|y³¬¬ÛcO¼ºvS“aBˆˆ.Ý^X¾ª}—8ß{.û©²¢â±Á#t7$5 k©Üœwþäqeÿe4ëöªÕRt%LóOoï›7ÊZ…·Ÿ¾ìƒ>O S²é2(˜j‰Â/ ð‰‘º§‘ÅÍò3?þà壨ËcCFªïiXq³¼Q@ãaS^Pʬvƒ¬®ýŠñ=f¼Þ®SLù²Û¿>êD«ðˆÓf…ÜÛ¢þ›ò’b€T{ù³A€2Ü 'avFÈúúówfOÓjµÏ¾º¨SćîÕ®SŒbÝ[‹++* ´ßæà6TÊÿ6œºìØvˆ»Žï—4uérG·¥v”Gsã¬3PÓî ýÙêd Ô™ _ó5êÏäóéíÌðQÁt À g‰é¹ü‘ø `†ñ{dí/:á7<ß XˆÌp–ãôꆘ1= 7•£à:x ™3Pž…‡c8 Ü|ü2jÔÇé¹Ýyî Ô¨åçBà<èÏÄp@=¹áøeÔ¨?ŽÓr#¦äFLȘ1= ·;Ͻá¦{€3`>€:à8=ÜNJxså?£oÙ¿=öäÎë€ ãùôV@0$¥·ýÔ\~ ¸óºCnØ™DÔÇé¹ÓB˜¸(%%¼ù¶u«GÅEŒŽ:¸c›’X^Z²pâ˜Á[Oøxî•ìÚVT˜›óÂà¤!Ñm>~ãïºêŒ–™íjÚÐäAQ-Ó†&ç_»ªkÒÓÝ;¬üûÜ´¡ÉÿüǺ¯°»­;°bz@!6œºlôŒÎ¥‹ËwLš¶jÑ\%eõ’yA!+÷ŒëÛ?cÁýÌ–œ@_µèµ:Ådd¸]yK—h´ÌŒ…/·ëÔeÕÓ¿íøPÆÂ_*ü—i›>x»gòÀÝŸm¨±vKšd•uDL˜“ü̳>j߇¤\>NIÉúú‹'Ÿ›â­V÷2òèÞ=µ-ððží¿3Á[­~bäŸt‰FË<š¹gÀè±ÞjuòÓãfîÖeî™·ÖjÝ€ñ|z¸8SA­J¥ªÒhxxÔ¶ÀÀз¶fz«Õukã Â¼ëC›ä™/ÓÏ? ¨ /08´(?W ¯­ÅQëX‚ùê€koà¦B[„<´¿ Æõé¿véüò²ÒÜ+ÙËfLÒË’X¤S^›>xçÖÍ›Ÿ¯üÀ|™â{lI_QYQ±ù£QÝj,Ùòëém±îÀha%Žþ(Q;Ã&Ïœ7~¤.äÕ=øÅÔO2ý²à”™Eùyc¢Ó†&GÆÆ×¶ÞÔç_8}ø?#ãÚ{y{ë._1Zæˆi³OÈÖùS‡Œœþbm+2· ZwÀˆéáv>Y¶8ûܙſY¾ý@QÞu%1cáËí:uYuàôo;>”±pŽ™ÅÍä9—..ßy0ujÚªEs«å´óuAÀ™ÓÃíìÜ´~̬¹AM›ùú5>5MI<š¹gÀè±ÞjuòÓãfî6³¸™œã^ZÚü7~þ/¥¯³JS“ŸyÖGíûð€”ËçÏY¥@à’øY¸8ÝarÝQí‚ë9MZ„UËVRT"„ )-.2S ™œAM›æ¯ÏÑt?ÿ!„§—W•FSçB€Ë#¦‡‹3 ©CBs²/6»¯•~¢Ÿ@QA^`phQ~®Ië¨Tª*¦‡G9íI«Õ*?š Àµ7p;=“~øÚì‚ë×ÊËJ×.] $vˆï±%}EeEÅæVDuKÐÏÚ"ìä¡ýº—fre‹;YýÏ;bõb€¤ˆéávOœÖ,¬åä¤^c‰ièï¯$Ž˜6ûĬa8uøÀÈé/êç6yæ¼ñ#u¡¹™œuVÛ§Ù$™0;5…çÞ…J«Õ:º €Õ(—£ð@R¾i°cÀž8NȘ1= 7bz@nÄô€Üˆé_HýtH©ꃘøE=‚騍ÚòÆýàbˆé¹ÓÃí¤„7_³dÞè63%\¿¦K4ü ×”ðæÛÖ­1:>êàŽmæË4ü!Ø ½c/ýIQ˜›3*.âve¥©ÚËKKN3¸cëéϽ’]‡5²°ñµýÁZ bz¸#F“‘u¢}—ØÕ‹_SR6œºlôÚ•œK—ï<˜:5mÕ¢¹f Ô-®_NdlüYß !öný<&±¯§——©ÚW/™²rßɸ¾ý3ÌÑ/Ù’ÈÛòÆm'1=ÜÑ€Ñc½Õê¤QcïÙa>gò3Ïú¨}rùü¹ÚÖ—p'¦ÿjKüãIfjÏúú‹'Ÿ›â­V÷2òèÞ=µ­ÈñttÛÒçÖ?,"„ðo\RX`~q?ÿ!„§—W•FSÛª#ã>˜;+?çÚÅ3§;Æ÷0S{qA޸ĭV«­ªR©Tú…Ôçhz}$BLg4&.*È -.Ì÷ ´nuZ­V”5iê¼öõù1‰}<<½ÌÔúÖÖLoµÚº±°@v\{w´%}EeEÅ–Œ÷¢»÷´b±~gÑO‰ŠKعq]lŸþækëÓíÒùåe¥¹W²—͘¤ŸÙw²¶H˜îH«Õ¦v ?¶/3õùYJŠU“ðñÜ+ÙfÏϹ6sPÒè6k–Ì«[ã-l§U~H˜îH£Ñddhß%võâ×”” §.½ %çÒÅå;¦NM[µh®™W/™²rßɸ¾ý3Ì1³øÊ…sÚw‰ÍÈ:q»²²Z!–DÞ–·S—ÓÔ"ÀeÓà =Ö[­N5öðžæs&?ó¬Ú÷á)—ÏŸ3“-ëë/ž|nŠ·ZÝoÈÈ£{÷˜YüÈ÷»’FõV«<=®þ+RÛv—ÄïÈÂÅé~ë« Bø7.),0¿¸Ÿ€ÂÓË«J£1“­¸ o\bŒV«ÕVU)¿{ejñ’¢B¥v対úM·°À%ÓÃÅ ”‹ òƒC‹ óý­RK`Hè[[3½Õês6 l¬Ô^”Ÿk•ªk¤Õjõ¿f×õ7pG[ÒWTVTlÉx/º{O«×§ÿÚ¥óËËJs¯d/›1ÉLÎèî=·d¼WYQ±9ý½joÙâNV¿€À³ÇŽX½XàTˆéᎴZmj×ðcû2SŸŸ¥¤Ôó)1æÌ,ÊÏ“64926ÞLÎÔçgÛ—™Ú5ÜÃã-¯m;“ÇL˜šÂsopm*­Vëè6V£\dbþÂô”ðæ<Æv”ïìX°'bz¸.wìX°'®½äÆsoà‚¸´Æ¸vÿÿÛ¹ƒˆaþ]ã‚0ÒŠ Ë=€}vzhÓôЦé MÓ@›¦€6ÿéyÅú#Ød§€6;=´ ¿PË%‚ø—IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/board-6.png0000644000175000017500000001570013634703632016377 00000000000000‰PNG  IHDRãKTkF pHYs  ÒÝ~üIDATxÚí1¬^·uÇ¿4*Q/èT¤€á-›mx¨²½gtQáEè$ ÚÊ“¦XÈRh«R UdOõ$ € t*´ÕRäy³;r·n…v,"tPÆ1šÔ!yHžÃûû >ÜÇ{ïùÈ{ÿïçüÞ¯sù¿þÍ ºùƒÕì’  ’  Æ•U7~pëýknåþzçáÏ>»óp•mm|ofxª,£9WðÂwtüñêßý௖O“— 2ZÓÛ7ßùàöÍÜ_ùÏ.¿þâÙ¥–U’ªÑ­¬Â*¬:‚UýÔ6Ï4+Xf`xJWLÇ]@‹Åÿàu>~ôñçá€w†HªÄ— úÖ/þð­†Á‡ð]"¬øª`“IT©˜æÊ rHJ°ÀÀˆ.ŽŸŠi¸Zì«Ê¯6ÂrÝ«³*—M‘ÖUZòhue¡ VÁª!‰ÇKg,¦±=x^9úý÷#×À8„§‚élÓ#£U3Ô0À†Hjmˆ©VLñ°r„š‰?W[p,¦úóƒŽ)=à åsŸÞ½z~ï•™¿åÞ+õ÷Oïμ#ÀvüGß1Å´Œ¤N¬ÕÛÝ/ÿéoÏî­¶@Ÿásü%FH¢ùDüuëArýgô7,±JR2-“ ëZ«ö¶Š•¨Ü«=yýä®0¿ãŸÂPìÁÔˆ¿C°S½Tè§6He'·W.šx¬à—.IÍÍtZÅþ=x_,a…½iìø[Óã %‚«UäBÉPx¤1âÿüùóçÏŸ‡ïñ<¨øóâêù÷/®æþZ[2W¦Öò=¢eA,Góùkë*'¬’Ì=ZÐN¬Òµª±ãŸÎЯ½‚v,Y‹1ÓZÊÞ(ÝðŲRAË¢ p¯ê°H*€tü«ñ;j £q#©åUF#ÏK®’×µupd’¨r¤× ¯zúyqv~åâ,÷×ðÙvǶ2g—_ñì²,¦åt¥pn¸Ž–Uå’«êJëj$Qa•w«&%QiM Hï5.‰Êã<%)e$QÁNLêøç^ïTjË¢9‡‹Œ„k2Ò °7Ë"þÞ§´q|üèãÏ?B( °@R-‹©|ç«8¾×î¸û1URåÝüøsu}K*¦¹2«-€5LŠø—Å4,‰¢{Çž24šŸŠi¸Zì«J®ÓcÕ¸|ŒÑVñǪ#XŲ)/ IãOï˜JíªévÚEØ £R­uùA(ã¥kÅöfêì)ɬžXLçÏ þcYãt¨Z1•û§ýÿTz®àÅðÆ$I•¿Þ鸤Íé•ã¼Q›:HX0Ç¿M2f «ÄWm»fíYã~oZŸH9@?Sçø÷\ÍBÄ\™¶h£…5tkžˆ?Vy·jÁ]ÏkNŒ»ÍcmóL%¿hÄš «²ˆøÃN,žãï…X-¬—êkÍ€ãàf,ÕŽ(Ûœ…PX`AUϹ#„u­õÿ"ÄÀ†’¨FμòrÝü4mµ¥GaAÄ?ž}_­üòŽøÇV…ϰò@z\^&¶<=^ky\ÒΚ ý5CÄ«¼[e"â_ù¹µ¿E~n¿¯7çõ@Ä £á);ÝU;–€}¦&Qy”§Ò•lNí؉©^ê/³¡”K¤ý5ö`YÇ_þJÛ‘€²˜Î´³?¦o§VvÂt^ªßJ@³ãî­µ+Ÿ>ºzoõï;ìõ±Žó¤Y«ù2&–M‘$­Úü£lÕªºJíiKÿê·J¾ËÌ2#îX–°™‰Aºu>¢®fZEÕ)=«'©hN•.;%Qõ[ë%‰ÊÚ&4Öìá×l”â«‚Ú8N§ bÌå¥Ú#˱uïËÐìy©/ÁrlÝæ24G†¼T—HL‰—ÏMy…Ù³ò¹§÷¯¯N e,¬ lC;er%ׯÖËVÅßãÖÉ èü­nfn<#·_^¦¼OתˆÙMgUÑTLÓÖIKê>W”!fRÄ£#þ#~iÄ¿ÍM=ÙþR$gÛMv¾$©ù]ïèoMI«ÙQ˜ZDü}Q^”o­Uñ‘tþô,cÙÖ°ó$xSÝëØdAÄß/ÄÖÇ‘z.–_¼ØßŸŸ×aó‰òÕ‚ã@REØŒ­Û|µj‰_Ÿ®ÂñòkYž&PKÏ´‚ÑDki @•[0z÷êù½WÊw—·²…‰!tü_‚|ô*·ª¿ì¼¢œ˜ÆÞßÌÑÒZεu=çž:kÏ•¤u,·àˆøW”´[Kæî˜^-ͮխ«žˆ,¦ql=—&øK¶]Iˤ¯¥¤Ò¼Žtt;|^œ_¹8Ëý5¿ß³¹Žî;(©y­ë$Ï•V ñW°D+⯻ck#þ9/5=’»‚¤Û؃ÖP@-Ö¼QI ¶]!ׂŸ½ñÑý7~»Ùµ'?ýù“wÛ,Ÿ?ÀXjò—DKòFwÕׄ×,}-%b:‡àï´½–Ödq¹Lˬ²°§Û@R_‚ß©´^¯\\Ïr1íU$£oó_KkHMµÿoË?ýŽ¿Æëä–kÞZ "©"fz=;ÎÚ©%¼~×o¼ýæõ3ýšðšY{-=²ÊµÖ‚DüEô,˜2›ñ_¿È_3 1åUhÅîGäØiA"þ/)Y^‰*wµ¸dˆðά«ù; ì1Ç?÷ZjŔ۬]¦öjeA,·N8wÜy Ž«+"þ±u›Ýóùí²ë_éåk±ÕèÝ"#ÚŽ±ÔFXoTŽÇåݬÐYÆcûF´c©XX{fbg„jYÕvHj5ëÑ@Xý2¿íÔFږ׿ ¬~™Ùv c©{ȇäWô¯GµúWB/ò1Ö&¤îÁœññIT’2ºW›Ÿ4ÓryI›ue91¨¶Lú²Åi:ñütêªÇªuÕ“h%¹cc@ÀN:Ý*b¯'ÓxÉ#gÔ2ç¹*{¬j^*ÈɽxéúIŒ±ey©~7ªõk9Œ#k¼ØGðXsŠǺ+S;þm³h,ˆ”_ËGCÇ?¥?IMúíø÷Rû'#ÆW˜)R¾,÷ë;ûµ´`LcÄ_7®§µX†M«´,OK†G9} Ó;¦%×FfG[®ûkËÄë„…Žüùékþòõ_¥Çã³ìGüç´àÌì‹ex±¼ßB-Kj;hv,ŸI®ƒ™Ž·ÚcÓ‚~;þ‹#þ¡rãϵöØ·\Kîç/ì×òZÒ±ÔôåŒÓ­âï–³ŽÓ‚= K•TYÛÞßñõG™_Ës¶yy|ýZS^]·Ì ÂúätzâÀcÙ£ûÒñ¯®~vùï?úó¿ßpñ§ÿó¯ÿŽüã?ö'ßlä{ûæµÿ¾ü* ßÃñ{¯þç_~úÚÝÿúñ‡?ùð=„ï’òéõã#Á¶Øæøˆ¼Úöõ<»÷Õ'w¿”Ôjºðà{’,å–×Ö¤µžÖ´ckC=­Ðv®ßŽÿâõRSaŠÜ>~'µ±´…ïAÚ¤3[þæµß k8þ‚”GöÄÒŸÖ9„‡2}ca•xЫ,—”±f¹‰x_uïlc`Ä_ébôàÖ¿ýïOžÄGÂ÷ d߈é;ܾ‹] –˳{?z÷Ç×ã#ñ÷¸Lü׸̋búûw ¶ÅÆ–÷Ôƒ<Ú˜^-–Î8^\ÞÛU×*­R´ž+ùÕÖÆÖGoì¡ñŸß‚Dü¿1®cDR~…žîjŽru­å9Ûb/5ÝŽEÒý_Õñ—wÛs–[ëø÷0¢ªEý×^ÁoÇHÄ_RÑå=ÁËçŽSù•­Yî[öImv»$VÙ´\Bº~nùsµ½-ìÝ‚m—êÌrÉ`쟎ïȽ‰ZK|¦ruÒFêï[KÙ‚~½Ôá©ÃÒs^$¿–›¯ßxûÍë7|y¾¬Í!Ó]7ÚÙ£ûaq?ghIó|/ϯåmÄÃøx* ^I9Z ¶1|Ž¿d~Q9Î}vùõÏ.µ¬’TM¸£ËÓZí±jÕÿ9–ËíŸS&ÍPWeÏÔfÄ~ ñ¯ÀïH™MËWYÕ?æe³>ûk£›c©9F´ c©ÕøzUì[nÓª½-O)ç]ìÊËóXž®6q"‹gOìG›WeyÁCx `Góg’  ŒD({Ö¬Ë ©jÈÅ1H7¬˜Ø(ÅN² VµY53ÙÅK]å&ž^œ_¹8ˉoVËITå2Z–H¢‚ÃÁ©¹ÚèÁWÕˆT$’¨àj…€ˆÿ ©jà§á)5ðRa1;MH=&/Y¸ýáétgµ‰ñË…„¦üY.©k•—x±…;Ž‹Ì¦íHÝh{,×Õ̸ù¸ºšÓ‚Dü_4QiýDüËÔFfûŸŠ]ŸË¥ÄÌiA¿ÆRaZÿbYêx´ ÆRÁµÛl€5hÁÀbI•ì•ä%_ÏN×Ìm¨òv5á¸|{DZ§‡µ-ÀK .ëø?~ôñçÅb¾û)ó"ýv´µÖó@대LñÏm™Ä4Þ™'\í%Û& âqZez®–6<ÿ@y ù%× Ìl#Düç·`ú\kA÷ÿXXÑ\÷_Þ¹³†—®J’ÈlîIû/¹+ô<ÖZÇrÄ~ Æër¥+hÕɆÿÔ'ÝiíH/]•UHÂãB´N?´`ЉˆYF­y1’Fõ5¸>I˜¢6^ümùü¾F´Žó[ð­ÓG÷O¢Õc­µ y©]ÈÒæT;äfÍõ@ëÌdD ʱӂHª¼º´"¿µ×¡u´ % Ÿãª/ýŒK¦q½´¤ÍÈl\&×ðZqçùõ0b.vùu*ǂùmu%oÑuå7â?¿ãçjt :ˆø—)Ÿz_wRþßÒÎPýs±ç¯De3¶nÓ* #Z°ü\iÕ«ú»!4á ~'w@€Œa,u ¾Æ€ $u8+Àq@R'°$u*+ÀÞ L¢²¹‚…t¥TXs k—ù8B ÚLWb9ž€ä¹"‰ê·ìD%Ç{ºÕœ -t±™®äýIÐÅoÿÅ0ž„=@RMÀëžï ©†àu‚O‚_˜=eŽ£Í¼š?!Õ ^žZ0†ˆ¿‰;J²67ÿ¨mÁÜpé¢iÉ#Düí/Ç3§‰øW@Ä_ŽåXpmÄ¿%Í~¯ÇfÄ¿ßò9¿bN ñ‡ì1²¦µ,ñ1w‡¬}hA HªöÖåu!Ææ“@ ª;þ^¶ÛÛ{èÀŽhJv²<»÷Õ'w¿Ì]¡üú}øíø×þ-æ·à!:þ^ÄÔ£µµøzísHñÈþŽ„µO-˜Òñ—Dâ$et¯¦•9 /¹6¡gë­2IÍ—·Ð׃ä:ò«ÙøKÊô< ò’ó[póˆ¿G¿oïî̪¡€žŽ¿ÜÉuéø×þº6æ·à!:þ`B ‰üîÁÌ'LQ›=e3¿õh,ÈK=}tÿôÞKîþðtº“}µÂñÔ[aNNÊO-(ÆÁ„Ô šÇé“£ù2ûA &I*¾$¯ÄÂì)hƒ”00â®#S­HýÑ"þÊä5_~ʱàpîÑæø[³jf :âß?e ½‚dþ8k¬¥Uÿù#n{Güç3¢ýFüŒ¥21{w-35‰ 1€½Yž Î||Áï ÷RËc¦ŒuÀN ÷R%¢‰°îÁýŒxò@-Ó¨$Fh¥ƒØ´ê)83¾±¹V­²ê ITµ3 äåI¢‚ZH¢òŽå$ª©c©’ŽaZ~î$+QáWÀ®,[Üa€ý˜*©å)§ÞYñO…õâìüÊÅYÛÕ´¬j+IÄß»U,›âݪÃEüËËȽT–M-ˆø{çÐÿ2Hì³§Ô˜º¸_m0 ©_Lêø·EöIõ_˜Ø(åâêù÷/®Ÿ4ç™ñǪ~«Òp_VkA÷6J™”c»1Düm2¢·Šø“ös@L½ã«Í…§VÐÂ׫)[p¸—J׿ãñU„¿-8ÉKEXkWŒ…6ü¾ŠðÞ‚æVõÏuü-Dü㤮ðV'H§eÆYµ¶Œ«ä±àøU@O h­Dµ_»Œ`UJüª±T;5ÐÏèY|Œ¥aþCFG~&¾D„Ì™ÍXª~ÿc™ëK ©]Ø [Á8læQœÝûê“»_®¶â÷±VWóëa,UÍf Z륮ú6ÛE‹69=ä‚Um¬Zù IU°V›NÛdÜ’ÞX5Ǫ‰¤Žè‘D%*)O¢½QÊÌ%fŽDõìòë/ž]–ËH–˜‘\«FXÕ– •Š©Ös…—ªf³:þv7ê×ã…aU–9'<%Âc'rŒ¡´]«z° ¦òREô,¸“gw4‚Ïg·Ѷ¹Î*«ìˆiIU1íaô,1g‚2©˜ZÖ¶ípì[µÓsõÊÍÌíp,[åqžÿÐT}üùãG¹2×o¼ýæõ|¨˜Uÿ™^꜈ÿZÏ´<ï(®“´ã׃ÖR5­«y´J¾G¯„µ{FLø×Jƒ…A÷-¬uóSâ§.íì¯Kµ¹Ž5«,lÀ3i,µ§Zùk=V/&›±à€ÈìƒÓû×N"!õ9§Ç ²<ó.x·Ê‚j±8<%ß2ÌšwSÞI4¥voÑø÷Ê#Ôá{ìU•ƒµµºSdV‚HXå…e©þ9¿Ï¾?X+¦=gIˆÓ}rcÖF¥SfŠéèÚh»>VíÁðˆ¿ä—Ö¶£ãÅ©,~úÚ‡¿|ýWÁÍ}êΦO£¥éH_¼¡EÎë×ø{ŒÌ†—Y7ƒB"X¥eÕü2’’“"þ©°–+4-¯¬%SyG>>7>«ì·Æ%%êtÇÊôˆ¤VåVõc§›osu%¬òȲŽ®aìÈèÊJ?¡ÆÊ>©µZµ#¦ž—|œ@`•G–y©µ¬mŒù륶E™k礯ÊKØ•I^ª÷ÿl^¤$h˜(aÍ38S“¨jgûZÓ/ «X0Ç?eüVùNÏ´j~=ÄsŽÿ¸2£ï§¬Ù±jf]¥5`Á* uµlU¤1ôžs<Çß;l3N ä`q?=á©þЖµˆó+zþÑz1-ÃF) aa#üÆ~ðRIs#:ø§9ÔjætôŽórz§<Éb?Ó2Hªˆ#û# !·Lõj»zÙïÆÄF)^R%ÒGJkIyºÒÌ;’DU[&^¼ÆŽU=u•.ÇcÁ*›u ‰jý\ž€2Dü—áKž|Y ° ¼T5ðRÔ â L:J^î ¶MÎ%éwmÆ×Lˆø›¸#Vy·êâìüÊÅYNær ¬äÊǹi™p$—Q^Ì%wGZˆ?€ ÊÞb.¯Sâɦç–Ï’ß+wG臎?€r‘ê—3yu­ $À=r?‘ Ç ‘Ö@RÌ!JÄÔ&DüMÜ«¼[•ÆßÛbëi4?7f*)c³®ö¶Šˆ?@’¸|üWÉuråÛ"þekW×ßnÐñP¦Vªj§´Ýæ@Ä@ÚñMÉÔ€ÀˆØ=s¨F€— ÐEÏŽ¹sîÕsG¨…±T5ˆø›¸#VaVía^*€Œ¥¨¤¨¤¨¤¨¤¨A•‰;bVaÕV‘D 5T5T5T5ˆø›¸#VaVía5èø¨¤¨¤¨¤¨AÄßı «°j«ˆø¨AÇ@ $@ $@ $@ "þ&îˆUX…U{XEÄ@ :þj ©jü?¡;SC¶ìcBtEXtsoftwareImageMagick 6.0.6 11/29/04 Q16 http://www.imagemagick.orgÝ<Ž‘tEXtdocumenttmp.tiffý òüIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/geda/symbol_7400-1.png0000644000175000017500000001267413634703632017271 00000000000000‰PNG  IHDR»dz{8bKGDÿÿÿ ½§“ pHYsˆœ/–žtIMEÖ :h[ßtEXtCommentCreated with The GIMPïd%n IDATxÚíÝí²ª¸ÖPíê;ëÂõÒ|ÿ¼îfg‘0£jÕé³UD'™ÏÇãñyÀ…ýc ì@Ø€°a„;„;v©×ë5ÜÂŽ8OÖ•ue]™/ëjûùz>Œ €Ê„;v ì@Ø€°à¾þµ þöù<ÏgýkRé4–¦;}ü“¹óqi¾Z_ ìÌ4Pr¡S¤sa™¾>}ï¹i à0fï +URÏg{øäª>UÀ +»è!ÅR¬©À¢óØòº4,#‡5…!ÀE+»çó¿¿4ܦÕXúxz8ð{èpú×cÞr¡ €Ê®9\¦[Z•-¶VmKÓø¾ç–•—ªàFa×H¹êk)@"ª¬ ¼Ò*»ê`ˆ<·V‘`¬9œ™«LUue·»³ç¹²Òù·è9¾hàEƒ€„ÝûýʆRî“5Xšf4˜¦ˤa™›^¯êà.Õ©üõz=~~~þ´gÿùùñ p­ÊînB€Ë†Ý´Â€¯KÆ€ÛTv ì Zî{3¯ÂNpvšVëô ìhVº!|‹QL¢C‘m=g£ÅÏc]‹ŸÖy[j´ºÔ#/2òŠ ¸hØÍU@Ó~:Éôño€”†Ë…Núžs[ žÞÁ$è.v¹ h?Ñj³æqA ìV‡ÏÚ?Óê.45­Ö„XìhñÓí¹{td~j‚à.´øé¢¥@Z{(ÓaIa÷ÇÞ-~j*ÄÜ{.=~µ*`oZü ²;-~¸|ØM+<Ø<ìŽ œŸŸŸÙênÔq¾¬+ëʺ2OWš/ýìPÙ]ÁUï1kY®#ÖEä=Óç¸/ÐvÕõ“^ ¹{‹ïGtjæ³×g±Å{ézÀev\¥/«@¸WèŒ<Íï8¼Ó¿£–%‡\¨NŸ·×w¦÷íRÂŽËÈu’(ÝèïþÃヮ÷gp–iý¾KUæÆ>óįü%ŠZšŸÚ0ZZ–Ü|–æ­öWqôsÎmKkZ6µls5ÛeésiþÒ÷fiÛ~×¢ßÝ–å‹~wZ¦WÚÁG·×ÚÏ»¶•Ù‘GZ–>ûÈ÷­ËÆŒüzËíh×n5ÝjÏ/-ýšjiîºæWàtúµç ZŽûÏ…îú•ÂlÚ÷°Tݧa™fí {}g"ߛȶߺãÊí¼KÕBäp\à)…}ô½Zz_¶üÈápýÑY.ß¼µ6öÞ(zjˆî´Ö¬·–Ã9[Ƶ•mëΤõ0SÍ4k\ìùéñcª¶ò] “Þû„Úu»Õ~cËÞ{n/{­¯Û‡ÝhÆï9¬bý­Õ;ûÖ×–ªœ«¬ÿôÐßžŸsíº];¯K‡‚{þíù£¤õs9z{½äÕ˜5'¢ÓCF{vߪ»Â(ó³õg\s!Q´Ë/ˆTw¥s½W}§×ûð–û¼Zß?z>*]ÎÈ<® ‹¹÷l™×‘÷¥Ï4zº ågÍ~VØ|[üLÏ}”ZüLÿ½¥OúÚ¥ ¢ö½j6°è9Ÿ¹(-[ëü¬}múåÈ}nGU0[V‹|¶sEß/÷C¡¶Uë¶ß²œÑö\‘ ,·þrÛ~t>sçt×~æž[»oim+¶´_(m5ûÙ-®®þµ,-~8Aç~¸~ëÇúdëmpÄmL‹8¹³;Á6(ì:Vxø"¾³æé¡ëglL„Ýœå’ú‘æsM§€Ö×FË] ·÷úm»Z{i÷ëôìßaÆå¦ršv,[]mnîž7W¶³NQÙq« ‹†Mí¯íRƒ¿âôöN*»“T'­-DZ‹¶©9²ýΚj­÷¯þµ£P´†i´õRͶiƒYŸ‘Ñ[rÛOí":qm[ªÚöYµ6àòaWÛ&dú¥ŠNÛúe˵ý8²ýNkh•Ú½¬™þV->¢Ÿc´õÒÒpKéκeÜÒhoº^m‘–ÖWM0öšŸtÙŽ–óºu‹ŸÚ_ƒk[f¬i1RªµíwÖKË¡ÃHõµÅ8ƒÑÏ¿e„ÿ¥–MÑárMO[Zöjñ²fÛÈUºkÈì1¼*»áÕtdž>ë6*[.SÍN8wøtͼ•~©·¾Gk…WÓâ©åGS˶ÕÒÞäÈjeÔïÁRˆÂ­ÂnMhŒÖFe¯å]»£­m.»¦±ìÖ;éR[“µ![;õQýGßîjÄyݾÅOéËt¶–£ýâÎG$[vö‘Þš61=>£H;˜Ò¡Ì-wè¥QûGÞæFû®"ìvQÛâgéfå¹Ö(Ñ–<é¿GÚˆìÝ~gM•RÚù´¼GiæÚŠÔ´ý‰¶‰iiùRj™RjÓ»*/­‡È€Ú›Êk¶ÃÒòO…—ZɬYŸÜ›?;Vf¾Œã ðÙXǨìNC‹";];a¸ŸK^ 2b‹;Ôq>çvlÿÜp|hñÀŀ˻ìpaJ×gŸéíy&ú~µ÷µµÜ Ws´CU€°ÛÙ]v¼-mY"¯Ùê¦o€#8Œyᬯ²åÇ‚ŠPÙ 7`îÒ¡ÍèHêkÚüÔ¾~màÕVgG·÷v•;ù¹É Xœë! ¨Úª(÷ú¹÷ëÕ“¬Ø­Ót€°¬ÒK;”.بݑÏÖšpîn½§)耳ÙìœÝH7vwÌßy*Ub=ÛÉô ëè8…=ç-÷ùåÆ'ÜˈŒ8OÖ•ue¾’ýáã‚7•çK¶V)Ñé•w.½~©3v˼Ïuä®9ß­€Êîdá7W-Í=^[©ì]ÙÔ,¯ð¸hؽ^¯ÙÃ’¹V0-M —¦õ«|Þ°O´ÕMË9Å­ž °7-~ÂÅŽ@ew˜¥?µ‡#]­[ª°5A»öy­•äžß2½Ò´¶ ÅOm)ÜXÕ­­K¹1=wÓ|뜭ÓtÀnÕâgÍýsk§·&ìrWRîqÅeí4k¯níùƒàV•]PÜbz­CrE«Ìn@V€°;(¨–îEKŸ—&lé\XnçŸVFÑyÜã‚Þà ;@Øí¤æ¿¦â©†kÍ…1¥Û3ÖLSµ;AÅHǃ¹×ôh»³fš-¯èí«`<ßÁ£ÓË \ýÿ¥÷‹>¶f\ϹåvVa=¯$ŒÿUSž!4æºF¸B8‚?3Ï¥ÅÏÚ€<º: 7• ì:îh£¡x–?‘ÐË×v º+´øÉ-Wi¨­‘º@v;Uvgmñ™¿¹e‹Þ:pT…­ßp”K_ 2=_¶P‘ª(RùMÿzgëù¯-ª(• ìv…?‘ö9sç#Ô¬mãS3Í¹× J@Øup•?µísÒ÷¯ –ȹÀ–6>-í„zÓâ•Ý™hñ³l‹ KÕ»ƒ*<2¥¼ V€;îûZüpqZü¬xþž-~ÖTPÑùl}?C‚ÂŽ.Á˜»2ÈU¥þsÝr9Œh³svΛ­[Wéés7ÈGn‚o­ÎZ?¿­«º·«Q·uëʺ2_“}ÓãFçìZçõ8ŒYÛq¼ç2,©Y ÎÈk"}öަÅÏÌóFjñÓò¼Úsƒ¹éGCÒ`Ï€°;À•Zü´Tu-ï‘Afé=sÌ ì6º«µø©©Ô„ ÀÍ*»³·øYšÿ¹ê´TQnQ%GÇv;„^®×[M0ÖÒ[#:øsäâ—Öð[Z'¹jxÍ9C€-hñ «=[üÔ¼¶%Prí€Jë®Ô¹`n¹ ì6t•?Ói­m“SÓäµ¶ÏÜr :`4ZüÜTË…,.~„Ý ÁÇqá0 -~ˆý*t€ÊTvC¨½À#2Ðríô¢¯©™vë|Ô^ôÒãbawñ M;ôì–°z<þž—È4Z_0ýìN\æº䔯¿¬}­10•ݦgÕR;ŒWôæö£CFÐ*»ª¢+µø9Så ì6tÕ?G®¯¹ç =@ظã¾Z‹Ÿ­+´Ö÷ŽvAvV*goñ“{Ÿ^Wtö)A»Bïl-~¶¬æZ¥Î¦xÀè´ø †Õž-~zTR¹6>­¯Í-Ÿ „Ý®Òâ§æù-Ý jGBÑÊ83-~PÙÉ7Ü„Ü~Ò„ÝÞíKöç1¯rŸøÐâ•-z·Ús^„—]aÇé‚Îù7ýì.[y©è.v¥ºKÆÕ( ~©PîùÑ›ÕÝô pƒÊnn ÇÈŽ?òºÒˆ,Ñi/µÊM{ËQU„‹•Vm-U“¥þy=‚@ØQU=µŒXz:Ý¥i§ÍdvÝC/ZYµ4—Lw©Ë:À]ÝêÖƒ¹Ã‡­Ak¡ œ¥¾yÑép`Ø5>åûýÊV<¯×ëW›žïãµ=ïÒC¥0KŸ›N7]WsóØ«òýó;ã|YWÖ•u5þ|iñ€ÊîL´øàòa7z™ À1´ø@ew%[·Ýq‰?€°¤»3ûàÆe•Uš v‡Uí¨&‘¶;@Ø*Déø”Kmw„€°*èZZ^j»£²vCVv[´Ýà|.}5æw€ç\Å–ž“sû€°;…è*Ñ@Ø çý~ýÕg~i˜M[éô?a 0&-~PÙ‰?\>ì¦|iñÀåæ>»¥Á–§× 6ê²Îþ2yÖ¯ŸÈÍðg__— »5¡Øëþ¹½ºDié±t~ç®<»ñ~iè4€³¹Ü9»-wÐ#îükB):î§„ÃÚRµ—»wÐH1ÀÝ\rlÌ–C~ßèu^pé}ÖVµã~» Ý4¼¾ÿ– ˆtŒÌÈ9­HÐ̽Oí¹0m‡„Ý쎿T¥-u6X3¶fdsN÷ ÀÚu ìNXÍ-íÐ#A“V„kç«g¨¥Ujëë ìN^Ù-U>5Õ])4kcö^ÎR°–Â:2_¸’Ó\9=˜þÍUts;ú÷ûõë±H¯»\,M'ò>{U½¹€ž EWkÂîàÀ›û›z½^…Ñwÿíˆ0 ¼¥Ê§tÿYú¥@l šêªt^qé˜ô‡„ª¸-~PÙ‰?v{žÒ
]cºÜ€KWv.xàòa'è¸lØ­:oö9èï #žcõ¼§ue]YWæ«e¾v»õ êpæçÿç¬ö±Õ3™YCœÚ¹† ûLây‹zPø»Ëy&Á÷zg³Û}vÓC˜MÇ|? ÿ¯à{NªKcH»9é^M¡7BUõ<0t¨Þe·»ž ´ôßF ½Ñæ€ã+»na2RL_j8ma÷Wþ|Ççóéþ—z½_ùQ#pÊ]ô¤’;]Û‡4®SÙíåtm{Tx÷ »éÑÉÚ+1?Ÿÿ^3í¨=|…W¹Œ§X.€Ú½ÅOè°dr(ð;ÔX:äØÐ*g¦-tŠ8Ye—V*·é&^ñ3âùü;ÜÀÉÂ.Ý‘é&ÿÀnõÇúx—®Ã$R`+ÇÑœ†œêàD•Ý­~&¬ì0­‚UwýèzÐ#ð:·RÕ¨ìÆ ¼Fé-ª:€“†Ým«•éáÎéÍt“„{¿ÿ¾‡Pe ²;§éÍt““sßûßïWöÊUúÕÃã\ãK.Íoz×xô1TvçúYñ¬ûw„Ýpõñ£}üϦVIãMD¹õ`¿ÆÿŒd¥ @e7ºiU7;þgî~÷œ?ìÎܶfæ._ËRº¾ä¿C™Ïâ‹_ï·?ÚìjÌUmk¸3×N¨Ôf(»ŒFYù½ª_ï÷ãÿûùs¯ÝÏÏ{í:Ûìœ]º³ž Š[˜÷ÌÂÿLþë[ Þv]ld×svvÞyÓ«7@çüyœ¡ÅÏ'3ç;Ìó\P—þý×26t,÷Ãà„aW]©Ì…Ý\ø¡ç]Ã|T ¯Íï³ÛìÜY‚ a>…ÀI®{uráKòç®ðzýlrJÚ›-½¬f(­¿*¤ç¤R=ü*oŸHד <ì¦]l’Ž6¿†Òj{ƒÝÊõ@Ç\zœ¡ÅÏ\•4r ³µ(PÙ ApÓ°û¶˜©nMøK½Þ¯É¶/ìªC§Ýæóõ¸ÆÀéý{ª¹ý$ÿ}þ3”zÒ»á,ÝJPzMîüœ ¸¼!cþéu ¢gòßiƒÕGÅ㻽‚îçç§½¹ëÒýy‘û÷¸ß ²a„;v ìv ì@Ø€°ag »æ®qž¬+ëʺ2_ÖÕöóõÆ'KlwˆLIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/tragesym/0000755000175000017500000000000013634704610015444 500000000000000lepton-eda-1.9.10/docs/wiki/media/tragesym/ooo_changedpins.png0000644000175000017500000005101713634703632021240 00000000000000‰PNG  IHDR?PPæ%bKGDÿÿÿ ½§“ pHYsˆœ/–žtIMEÖ 5n#‰ØtEXtCommentCreated with The GIMPïd%n IDATxÚìÝ{\Óuß?ð×§ARF^ù‹¼=V\)ÞCO¡^ ¥¢¦yH%+Ïw¨—y…Ú4ÉT¬L»,Mƒ§<Âå•‚"). ‹äæÖÔÌëSÇiì÷mnŒÇØö}=²ïgÃÏÞû|·Ï¾§—¨¸¸X d2Z´h7ß|uuuغu+Z´h±cÇ6zÿN:¡¸¸æèÔ©~ýõWëûùçŸÑ±cG‚5aMXÖ„5±[Múöí«µÌÍØƒpãÆ „……!22ÕÕÕz'>DDDDŽN@éÉÉÉá«ADDDM?ù1¶Û˸ÛK8¸I–5aMXÖ„5±wMÌÞíEDDDäJÜ­C‘‘‘¨©©Á±cÇпÈår?~"‘Ȭ¿ó§?ý ¸E‰ˆ Fyy¹ú6ß3ø>ʱ­ýXK_G^·ŒN~ÊËË®³\uF—±vsi>îdz'>DÎìÅ_ÀãàìU³~øA냞„;N]í9Y3¶øá«× G^·ŒN~JJJ†-[¶XÔÞ\øM…œÕÏ?ÿÌ"°fÿ>êŠ5ç8£Çü\ºtÉàÁSÆÚÍÑ«W/õïš3EÕ–¥àà`üéOŸþô'dee¡mÛ¶HHHÀo¿ý¦¾¯æ}Î65Û>úè#´oß½{÷Faa¡Ùíª>aþüùI8qâ†жmÛ"((!!! S·WUU!11;wFçÎ1mÚ4­M¨¿ýöжm[dee©_—àà`§­I÷îݵÖFǯê9ª–›´~«©3Žkjf G«™)¯sMM Þÿ}<ÿüóƲeËPSScrM ½«ysפ±÷nS^GG{NögŸ}mÚ´AÏž=qôèQû¸Òû‰ŠÑ³½/^ŒÎ;côèѵ›Ból/Í}ÌíoV-“H$xùå—±sçNx{{£´´TëoêÛW­Z¾jÕ*„††¢wïÞh×®òòòLjo؇>ú7nÄ8›1ñ›•j²üÜsÏáÎ;øöÛoQ]]¸¸8øûû«79ÏŸ?[·nŶmÛãÇÇ€Ô[ÿë¿þ •••9r$<¹\nôÛª£×ÄÐØ­®®Æÿ÷£¬¬ çÎã>Šˆˆ( ÀÛÛÛèúa¬¦Î8N¬­™±¿á(5Ó¬‰±×ùý÷ßǺuëðÁ@$aþüù˜1cÞyç“kj¨&ÆÚš³&úÞ»My]á§ÆÎö2åyݼy!!!xòÉ'qæÌ“Æ™©ëFs×Õ¢³½JJJ™™‰ÐÐPH¥R,[¶ …Âävsh;¤ùmCs‹Ê'Ÿ|‚µk×*++Íþ¿ÆŒƒvíÚ€ÎÄÉ”vU† Ɖ…þò—¿† ‚åË—cÖ¬YøÇ?þ¡nß³gz…?~<í}ñª×}íÚµøä“O\¾^žžžxíµ×EEEؼy3nܸéÓ§k}ˆZ?ŒÕÔlj­j¦#×Lß뜑‘6lbbbééé6©©£Ó÷ÞíŒc¿©ýßÿýFމgžy={ö­-;®ø~bòäçÒ¥K2dNœ8ÜÜ\´iÓü±Éíæ8qâ„úwÍâ±cÇš´J¥Ò¢öAƒqc…””üãÿÀŒ3PUU…E‹a„ :u?}ú4~ýõWüúë¯øå—_]³‰'ÂÝÝøä“OðÄO 66Öì±îL556NX3]ª]\b±nnnê­`¶ª©³Ð|ïæû‰®)S¦ ??Ÿ|ò‰Ö.BW^7Lžü`äÈ‘pww‡FŒ;wšÜÞTf̘Y³f€Éßàȱ¨”ë­·°téRÏðS}+€/¿üwïÞÅÊ•+µ¶ª^÷Y³faÆŒ.SÕóÊÊÊ™3g0`Àu[ëÖ­ 6 ¬¬Lï }뇱š:ã8±UÍôqäšé{‡ Ø·oŸúÛùˆ#̪©5ãTåå—_Vׯ¹™ò:šòœ\ɵk×!!!HKK3{œ9ãû‰ŠÙ×ù‘H$¸}û¶ÅíÆ´mÛb±Xý»¾7©O>ùÓ¦MÃèÑ£µ8nx]Õî³qãÆ©7ë¶lÙRÝÞ²eK”——küh¨½±¿Ý²eKõ)}d:…BÔÔT¤¦¦ÂÃÃݺuâE‹Ôíª7å-[¶`ãÆhß¾=âããÕíùùùX±böìÙƒuëÖiµ93Õóš>}::wÞzK«}èС8xð Á-úÖc5uÆqbM;_4¶^;rÍô½ÎIIIpssÃ’%K ‰ðú믫÷1¥¦†ÞGW®\iRÍ ®®Î.uP½?ë{ï6õu4å99 SÆöŠ+°hÑ" 8o¿ý¶N=­y?1åÿoNFxÇþýû þðÅÁƒMj7…9ñ¼è–skÊK¯;ëØ0·&o¼ñ8€Å‹cÊ”).¹~Øzœª™3Ö„ïƒMÿ~š¸VMÌ>àyðàÁHMMEUUär9vîÜ©>°É”v"²Õ æ·Âš±fDdÆä'!!7nÜ@XX"##Q]]±cÇšÜnKš›âœýz.dÛq¡yv «Ž‹àà`ôéÓuuuø÷¿ÿ ©TÊõÃÊš9ësâëLd¦º“]q“,kš°&¬ kbïš4Üí% t„Î1LjˆˆˆìÁa¶ü(•…|5àèÑ{èÛ÷‚5aMXÖ„5±cMÌ<à™ˆˆˆÈ•ü”——£S§N:?* …2™ ={öDpp0¦OŸŽû÷ï[ݱêê¾:DDD–ú8(¾bÖCd²/!IÕ?6ìõíØØ¿i݉¤:·5—[ÚfŸü””” ,, ÅÅÅZ?*ÙÙÙ ÄîÝ»qêÔ) 0«W¯¶¸C§N]Dbâ:Fqà‘6‘´þ‡ˆŒ›> 8gÖC'«CQ* ñæ›#Ô¿À•+7póf¹Ö}T[fi?š}òséÒ%ƒGŽgggcàÀ „D"Att4²²²,îPhèsɦáÎß9p‰LåÓSÏÓœc…R"½Ÿðn@ÀcÀnÛìO¾ùæ¬_¯aÕp£u» úÑ䓟’’tèÐAo{QQüýý¾ßøøàøñãtD–(½DÏÚ¼ œ \þã ·xhÞöëÈ«.sµ-#?ü/ü*Ðj°÷¨iõrñš¨v+äæžA»v14h×jÜ«¶k»?÷ê_°wïQÔÔÔ6k?ì2ùÉÌÌDhh(¤R)–-[…B¡n¿qã.\¸€—^z ]»vEbb¢:Q˜ˆÌ»X1 ¸– ,Ÿü±]g‹‡æí»¹—©~\É2àµAÀÿí®Ý4­^.^Õ·ê={rpäÈzdd,çºC“xÕÿ+¯²ÉŸóðpGLL_l7w"cã~4ùäçÒ¥K2dNœ8ÜÜ\´iÓü±º].—#55›6m‰'€””8"Kœºü¹}ýï/tN±&g~fŽñ& f½4¬Z•€  Öðóóå8!ý^ý ñO›ý¹·Þ©>º9ûѤ“Ÿ‚‚Œ9îîîðññÁˆ#°sçÃý}b±sæÌQó‹½{÷r°YBúpúÇúßOÿHŸÕøÊå|óp³˜»¦Á×±?Úêê€_~6ísštéP¶È½À–æ×ËkBdŽVþ@YEýº`ÄW_Ð:ƒkõêTõïª["(¨µÎc5ïcm?š}òÓD"ÁíÛZ ÀÓO?­¾íïï²²2‹;ÔØ©sD‚±u 0g5ТOýgË’‡mË1ïQÓQþXa¤ÛF/é LZ ´ tš|žlÍž<õ„öó6V/­ ß#ÉlCúëwJÃ×5ž8q0”ÊBõÏÛo­e°uë’FrÖ¼5ýhjîÆîŽýû÷# PQQgžyFÝþüóÏC¡PÀݽþO•——£E‹wˆWz&Ak×ÈÛØxÛðH ê„ÆÊR¨ÝV]àš5éÒ¸¸£ñçm¬^.Z¾O’Ù:>]ÿÃ~0aËÏàÁƒ‘ššŠªª*ÈårìܹãÇW·3[·n…\.‡\.ÇæÍ›Ñ¥K4"""Gä©}&¤êÇ?R0ý0ºå'!!K–,AXX¼½½1~üxŒ;VÝÞ«W/\½zQQQ¸wïz÷î¥K—rp9¢Ûß ¾Lu'"""Aaª;Ù‡YÖ„5aMXû×D;ÕÝèn¯òòr„‡‡ë,Wå{i†œªˆÅb\¼x‘'""r`ÕÕ5ðôôÜó¶:Ø´áòõë×côèÑw(-íÄâðôìo¾ùŽ£“„‡§/k—ÃÈ)Ý‚<Ý›!¯dâºó ct– =DÜê`SMJ¥)))˜:uªÅš6í8°Je!22–c̘w8zIx¸¸Á{K¡Uí#$TÿúW.\(Áùó—´– =DÜê`SM999hÛ¶-žxâ ‹;tûöw4(Я_(Ö­[ÀÑKÂq¶¸ñoôªekÓ€þ€gú« ½\g‹Ý*¤Z¶vm:úëlE..¾‚=âàåŽ>}¦àúõsì‘KÚ¶- -[úaÛ¶,ÃÜÉ¡`SM»víÂ!ClÒ±ŠŠ{¨¬¬F|| _%ŽN£W-»Y\Í|xõb¡—+¤ñ“%TËnÞ,ÇÕ«™ÈÈXŽÑõzíµw1uêHTTE|| ¦Ný€c\N]]ÒÓaÿþ5ÈÈø'ê VÂi&?Æ‚MUîÝ»‡3gΠwïÞVwêäÉ"\¾ü+[ò"Ò$›VŸŽ<<¨©e=Œ•K6 ‰†DF½.\(A\\$’ÄÅ%!;û$‹E.''ç4®^½‰ž='ã—_~CNÎiÅÔɱ`S•ï¿ÿ]ºt‡‡uGgeåC,vC—.ùêQ“èÓ'k×ÎÃï¿çB©,ÄýûÇXr9Û¶eá‹/þ¥²_|ñ7îú2gòÓPÃ`S•S§NA*µþ̃Q£æC*Uï³gh Šæñ> 7ô¯+—Ä@ر¾6cÿnÞœ„òðøãýѺu4fÍúÐ5Æ ‘ƺ±iÓ>ÄÇׇýÆÇ/Á¦Mûô®/Bû¬µ:ØT¥¨¨Èª³¼TîÝËã¨%áÒwOÃå:ÓÇЙ\úÚK›ÖôÔSOàСO\oœ™¸ýÂÂV›ª\¹r¥ÑI‘SM~pãÆ „……!22ÕÕÕZÁ¦*eeeð÷÷gE‰ˆˆÈ¡1Ø”ˆˆˆ„5ùa°)ÙC÷XÖ„5aMXû×ÄÆÁ¦r¹K–,Á¡C‡àææ†ÁƒcáÂ…ðòòbʼnˆˆÈáXl*“É„ãÇ#//X¹r¥Åºx±ãÆ%ÂÛ;‚Á¦$\û VwìÖ­lÌž=S§.ç&Ra°©yåb°) ˜±`S!‡ˆ[l*“É0eÊœ;wgÏžE||<’““-îÐÌ™Éøùç_àéé__ ²²ò9‚‰È¦lJB`(ØTè!âV›ž8qãLJD"&L˜€ÜÜ\‹;ôúëÃ0yòb¸»wÇèÑ ‘ž¾Œ#˜„ƒÁ¦º%a°©éã„HcÝ0l*ôq«ƒM=<<ðÈ#/¨äææ‘Hdq‡ºtéˆcǾàÈ%ab°©îSg°©éã„ÈÄu@è!âV›FGG#==¨¬¬DZZÈ‘GDDDÎ9ù1lš˜˜ˆóçÏ#22(--Å»ï¾ËÊ‘Cb°) kòÃ`S²'†î±&¬ kš°&ö¯‰ƒMkkkñþûïcïÞ½H$xùå—1sæLøùù±âDDDäp¬6ýôÓOáëë‹cÇŽ!;;žžž˜7ožÕÛ¶-S˜a…DÇ~#õ`°)‘yd²/µNeß°aw£÷û׿~F»v1ê¨*¹¼ #Gþ>>=Ñ·ï8sæ'õ}ssÏ .. : 7+ÕÒÇ5£[~Œ›îÙ³iiiðõõLš4 ƒ ²ªS¥¥×‘’’ΑK‚ÅÝÀºõ04Áa½ˆt%&NFbâdˆDRƒëÈ‚Ÿ`áÂIêËÔ¤¤¤aþü8¤§/Ç­[w°jÕ×èÖ­3à7d((ØŒÇküü󈊚nÒió–>®©XlzóæM´jÕJ}Ûßß<°¸Cµµ ÄÅ%aÆw8rIpôuª¾DGÏ@›6/aàÀ™¸|ùWÖK Á¦ªç—›{íÚÅ`РY\yÈ"99§qùò¯˜4i¨zÙÕ«7úÜÝÅxòÉǵÂËïÞ½Çkˆˆx÷ïËMú,}\³N~ ›>þøãZW|¾víšV»¹’’6`èÐ>êY&‘è ê€ØØEX±b®]ËÄòå3û7ÖK Á¦ªç·gOŽYŒ f ’e,øË–M‡Xüp:•u\ë>{ö䨿qã–Eÿ¥k¶É±`Ó¡C‡bÓ¦MxðàÊÊʰfÍ«:ôÙg;1o^Šú›\\\G'€S§.âÏnxá…8y²ˆE1ÂÕƒMW­J@PPkøùùòÅ&³íÚu"‘ÇGj-Šê¡u{Ô¨F&ã–4néãì2ù1l:{ölܾ}ˆÅ+¯¼bU‡ÊÊŽ@©,T³Ù¼™“"JŸÃéÓ?NŸþRé³,Š…lJB§PÔ!1ñS¬X1S§-(¨5Nž,Bm­7o–Ãß¿…ºM"ñB~þyõ2??_(uFÿ?K×l“Ý' lêéé‰eË–áܹsÈÌÌD`` UÙ^* ƒ‰„ÀPˆçÖ­K0gÎj´hÑsç®Á–-K_¡›ê«‘¦¯¾: 5VV¯NU·}ñÅ´oÿÿЧO7ÇÍž=|°-ZôƸq‰:ôá5r¾þú}¼øâH"“€ýûWÃÝ]¬n ›ˆîÝ'èüMc³7«ƒM¶—––ÂÃÃÃêŽñì "Cã¾]»6ÈËÛÈš˜ÐæêÁ¦|$SLœ8'ÖY^WW‡ää-øæ›•>ÎÇÇ»w7þ…`øðHTWèý?¿ÿþ+‹goV›0iii¨­­EMM Ο?¯s%E"""r~77””ìQC(È»ƒ±`Óyóæá‡~@×®]///|øá‡]DDDälJDDDšü0ؔ쉡{¬ kš°&¬‰ýk¢}8ŽÑÝ^ …2™ ={öDpp0¦OŸŽû÷ï«Û+++1gÎtëÖ ¡¡¡X°`nݺÅj‘–êê‡è‡ÑÉOvv6±{÷nœ:u  ÀêÕ«ÕíiiihÛ¶- ““ƒÖ­[cîܹVuJuú¦D³g‹9ZHpxúrãï ¬‘é)ØôÔ©‹HL\‡ÀÀ(ç™ü 8H$ˆŽŽFVV–F!rñâ‹/ÂÓÓ¾¾¾5j PWgÝÅ‹”ÊBÈåù éÄL‚ÃÝÀæÕƒõ"Ò•˜8Y½n(•…xóÍÞO_°éÝ»¹ÈÈXŽôôªïûÆ2¬Y3—.}ƒœœÏMŽÙ }2Ù4ܹó»sL~ŠŠŠàïﯾíããƒãÇæ~”––¢M›6êÛþþþP*•ÍzÙj"gÅ`SÛÔ‹Á¦D¦±W°©£1:ù¹qã.\¸€—^z ]»vEbb"jjî³+//Ç#<<¸ÊÓÓ [~åF//OˆDR³6©¹›Ú¦^ 6%2½‚MÑ+<Ëår¤¦¦bÓ¦MðóóÃúõë‘’’¢>®§¦¦îîÿŒ›››Õª¬ÌüòËohß~˜C]’¨¹0ØÔ|2Ù4Ðlª NöññvÊç·jU_d²˜-ƒMmkeOFg*b±sæÌQó‹½{÷ªÛ½¼¼´Žï©««³j«T‹?Ü‚;w~W‡8ƒMm‰Á¦$tö6uºÉO@@ž~úiõm”••©o·lÙRk7XuuµUÙ^©©2•H$w¨cǧ‘“ó9G- ƒMÍ« ƒM‰ôs¤`SG³F·üŒ3[·n…\.‡\.ÇæÍ›Ñ¥Ku{¯^½°oß>uû¾}û´R߉ˆˆÈ>ølj|òÓ«W/x{{#** ¸zõ*–.]ªn6lNŸ>ððpDDD //‹-âè""""‡Ä`S"""Öä‡Á¦dO ÝcMXÖ„5aMì_›ªTWW£ÿþ¬294«ƒMU–.]Šk×®Ù¤S[·fB,î‘HŠ®]ÇñU"Ááé˺õ`°)‘y)Ø4-íúsÝÒ¬6€E‹!<<Ü&Ú±ã0Ž=»wB©,Ĺs©Á$8Ü l^=X/"]Žl:mÚ8p` ”ÊBdd,ǘ1ï8öäÇX°)tíÚ/½ô’M:tøðIlܸ¾¾Ž\›Ú¦^ 6%2½‚MoßþƒEúõ źu {òc,Ø^yå›t¦ºº‰&MZ Ÿž‰¤X·nG' ƒMmS/›™ÆÞÁ¦÷PYYøøÇžüh›ž8qHIIi’Μ? Û·‹þýCQVvµµ'92‰þÀ`SóÉdÓ ‘xé 6•H"—„ìlç|¯Yµ*AA­áççË›ÌfË`SSœkNV›ÚÚ_ÿ:ýëŽZ$›šW›éçHÁ¦÷îå9Tm¬6%"""çÁ`S›9›‘°&? 6%{bèkš°&¬ kbÿšØ8ØT.—ãwÞT*EHH,X¹\Îj‘C²:Ø499;vD^^òóóñôÓOcÅŠwHó48‘H w÷î|•Hpxúrãï ¬‘é)ØôâÅRŒ—oï×6ÍÊÊ«¯¾ ‰D‰D‚ñãÇ#33ÓªN)•…P* qåʵæ&Áán`óêÁzér¤`Ó3’1{öXÈåÇuâfròc,Ø´  >>>êÛ¨ªª²É›\ZÚ!ŒÍL‚Á`SÛÔ‹Á¦D¦±W°é‘#ë ¥R ww1‚ƒÛ9öäÇ”`SMÅÅÅèÖ­›M:÷õ×YxíµA$ 6µM½lJd{›>öØ‹X²d#LiÖçmó`Ó;v`Ö,ë¿…\¸Pww1ž}¶-G'lj ›égï`S¸u+³gÁÔ©Í;a·i°i~~>buǸՇHƒMm‡Á¦$tö693?ÿü <==àë+AVV¾cO~L 6½yó&vìØéÓ§Û¤c{÷Ř1Q¡$( 65¯& 6e°)éçHÁ¦¯¿> “'/†»{wŒ½ééËšµ66 6-**Âúõë!“É ‹mÒ±ÜÉ‘K‚Ã`SójÂ`S"ý)Ø´K—Ž8vì ‡©ÑÉ*Øt̘1|cÒ6=rä>ýôS|ùå—ðóóãh#""r`ª`S!3:ùéÕ«®^½Š¨¨(Ü»w½{÷Ö 6]´hnݺ…îݵ/FX\\ÌFDDD‡Á¦DDD$¬ÉƒMÉžºÇš°&¬ kšؿ&66U(X±bBCCŠÅ‹£²²’Õ&"""‡du°é† PWW‡£G"//­ZµÂÊ•+-îÐáÃ'áéÙ"‘žž=pøðI¾J$8<}Y· 6%2#›ªlÛ–éë«ÕÁ¦Û·oǤI“àããoooL˜0ûöí³¸CãÆ%âÊ•ê`Ó×^{—#˜‡»Í«ëE¤Ë‘‚Mú|””t‡¨ÕÁ¦999xòÉ'5Þ„”êZ¢M›'àáQZm­O=ÕŠ#˜ƒÁ¦¶©ƒM‰Lc¯`ÓÚZââ’°aÃ;Î1ù1'ØôîÝ»øì³Ï0qâD‹;´`AÞzkæÏ_‹™3“1þDŽN ›Ú¦^ 6%2õ3×>Á¦II0thtëÖÙ!ž·Ñëüh›úùùaýúõHIIÁܹsµî7kÖ,ÂÓÓÿûß-îÐÿüÏG(-ÝooOüûßåèÖmŸ}¶ååw1o^}0z\\6oNj¶çn³`Óµk×âøñã}ô­\"!àn`óêÁzér´`SU?äò|„„4ï^"«ƒM`ݺuˆŒŒDÇŽmÖ±ºº:ý/¶oÿÖª T"gÂ`SÛÔ‹Á¦D¦±W°©£±:ØôìÙ³8{ö,âââlÒ!U¡¯o/Èd_¢mÛ§8:I0lj›z1Ø”È4ö 6//OˆDR³w—5«‚MïÝ»‡%K–`ݺu6Û:Óðê‘'¾ÇÑI›Z‚Á¦DúÙ3Ø*+ó¿üòÚ·Ö¬iV›&%%!>>­[·¶Y‡ÊÊ*Ô¿/^ü9úõ å%ƒMm‰Á¦$tö6•Jcñá‡[pçÎïê÷±ædU°éþýû1gÎtêÔIýÀªÓÝ_~y6Z·ŽFŸ>SàááÞh. ‘«b°©y5a°)ƒMI?G 6MM•áàÁchÕj€úĦædU°iq±î©j:ujt¹© 6sÄ’`1ØÔ¼š0Ø”H?G 6íØñiää|î0µ±:Ø”ˆˆˆœƒMmlJDDDäLlJDDDšü0ؔ쉡{¬ kš°&¬‰ýk¢ljô€g…B>ø™™™¨¨¨@ß¾}‘œœ ___õ@‡‡‡ë<Κƒž ººžž|ÕˆˆˆÈ¦¬6-))AXXŠ‹‹µ~,uêÔE$&®C``”N›5jD΄§/ëÖƒÁ¦Dæq´`Ó­[3!w‡H$E×®ãòc(ØôÒ¥K6Íô }2Ù4ܹó»N›µjD΂»Í«ëE¤Ë‘‚Mwì8Œ£GOãîÝ£P* qî\ªcO~Œ›–”” C‡v鬫ªéÃ`SÛÔ‹Á¦D¦±W°éáÃ'±qã"øúJây[lZRR‚ÌÌL„††B*•bÙ²eP(MÒYkÕˆœƒMmS/›™ÆÁ¦ÕÕ5H¼0iÒbøøô„H$źu;{ò£lzâÄ  %%EÝ~éÒ% 2'Nœ@nn.Ú´iƒ?þØŽoJŽ^›šO&›‰ÄKo°©D¸¸$dgŸtÊç·jU‚‚ZÃÏÏ—/6™Í–Á¦†œ? Û·‹þýCQVvµµÍ¿¾Yl 9r$ÜÝÝáããƒ#F`çÎMÒYKÕˆ\ƒMm‡Á¦$tö 6½~ý?‹ÝÕ‰ª«kðÓO—{òc(Ø´ñ Š·oß¶¸C†B ª9;›šW›2Ø”ôs”`Ó˜˜¾˜9s ž}v$$’øøôDçÎÏ4km¬ 6€ððpìß¿€ŠŠ <óŒåOÊÐYÆÕˆœƒMÍ« ƒM‰ôs¤`Ó¿þuþú× S«ƒMŒÔÔTTUUA.—cçÎ?~&M~Œ›š|jŒ%!†D®‚Á¦¶yO`°)‘ã›jÚ»÷(ÆŒiþ3¶­65Ön.KB ‰\ƒMmóžÀ`S"Ç 6UùñÇQ«ƒMµ‘ã`°© ‚Mµ9›‘°&? 6%{bèkš°&¬ kbÿšh›=àY¡Pàƒ>@ff&***зo_$''Ã××W=qiH,ãâÅ‹Vu¶ººžž|ÕˆˆˆÈ¦¬6-..ÖúY¿~=Fmq‡ …—¦¥‚XÜ"‘Ô¬@5""rqÿ.¢¦íb€ˆÉ€ê3D$­ÿQ]]u»ág€Ÿ)œühN~L .U*•HIIÁÔ©S-î¡ðÒiÓ>Àk T"#c9ÆŒy‡¯  «Wú%{€eÓyåLRqåp³üáme¡öïÙŸo¯âˆ“Ÿzæ—æää mÛ¶xâ‰'𤳷o‡Aƒ"ýú…bݺ|Éu¨¾î:´ì¿ üð¿ºßV ÝÎ=SÿÍ×U‚.UÏkm:Ð_÷Ûyéu zÐæ%`àL@öjìqÅW€q€W8Ðg àdÁ¦ÔˆƒÇ€Q‘xñ¿»¹ÚíoŽÖ¸ÆLïàÔ@#Ž<ù1'¸t×®]2dH“wº¢â*+«ÃW\‡ê[è¯ÿ~9Œ ˜òþööÿ¸q¨þve>Шù^û±{r€#ëW ºT=¯›åÀÕÌúç¥ùá»X1 ¸– ,Ÿñp׆±Ç½ö.0u$Pqˆœ,Ø”qçw ¥ŸþöWÿì= hd¼éhåo¸„3ù15¸ôÞ½{8sæ z÷îݤ>y²—/ÿŠÀÀ–|õÈ5M<âÌx8óÓÃå᲎n¡Àþ< c qYyÀª ¨5àjA—²i€Ä ©ýátê" ºPÛ €†a¯úw¡ˆK$õÿ:i°)iháÜ{Pÿ»jËßó¯>l÷pbúÛ¿5ðÍú^ýýˆ“SƒK¿ÿþ{téÒMw†VVV>Äb7téÒ‘¯¹®¯Ô¿‰œté 1ùyX·èÙør/Еë¤Ï„½âô€©a¯}B€µó€ßsë·1ØÔù vÿ±kóÁñúÝ_EÛµïóÖH`ÃîÆŸà:[MɺɩÁ¥§N‚Tj}Àž¡ÃQ£æC*U/g ¹¤'ZO®Ÿm\¤=ù)¼Œèüz èªq™‰†Çþ¸ ÍçÕØ¿[—sV-úsת°WcÛœÈï´Žœ,Ø”ññ_ë·êôBÆ_¿¯ûÚ¶¬ß2ÚØøzñ `ÅÌúI¹<«ƒMUŠŠŠ¬:ËKÅÐÅïÝËã+F®oÔ€úŸ†ºv|x,ËÛã¬8.z‘Іϫáívm€ÆÂ^=î©''6¥FøùÖ*oý¯ýÖ%õ?®¼ÞQV›ª\¹rÏ<ó +Jd«­Dd>͉‘F·üôêÕ W¯^ETTîÝ»‡Þ½{7\ZVV¦uJ<™‰ßB‰ˆìó] 6%"""!M~lJöÄÐ=Ö„5aMXÖÄþ5Ñ65zÌB¡€L&CÏž=ŒéÓ§ãþýûêv¹\Ž… ¢[·nJ¥HJJBUU•Õ­®®á+FDD䀜ý3Úê`S™L†   ?~yyyÀÊ•+-î¡`Ó‹K1n\"¼½#lJ.—qЭ‡¡š°^Dºd²/µ. ³AÏ5Žþõ¯ŸÑ®] ”ÊúAryFŽü+||z¢oß7pFãb«†>£ ÉÍ=ƒ¸¸$tè0Ü!>¿­6ÍÊÊBll,$ $ &L˜€}ûöYÜ!CÁ¦3f$cöì±Ë##c9F3ƒ…\w›WÖ‹HWbâdõº¡TâÍ7G4z¿ >ÁÂ…“ ‰))i˜??wïæ"#c9ÒÓÿiÒg´!o¼!Ú5spéÒ7ÈÉù±ª(Gü 6U(êÙ"PEh[ìöjÌ‘#ë ¥R ww1‚ƒÛqt“K9{¶XïVŽÒÒ눎ž6m^ÂÀ3qYâÉzéÔKµlíÚtô×ù¦Y\|=zÄÁË+}úLÁu' 6U=¿ÜÜ3h×.ƒ\%È–ì.'ç4._þ“& U/»zõ&BCŸƒ»»O>ù¸Ög¼¥î޽ǫ¿F`DÄ ¸_îØ“cÁ¦ýúõCjj*är9*++‘ššŠ4i§{ìE,Y²¦pä’K Ñðlì"¬X1 ×®ebùòÍþÍÉ‘ë¥Zvóf9®^ÍÔÙRüÚkïbêÔ‘¨¨8ŠøøLu²`SÕóÛ³'GެG#ÈB |Œe˦C,~8ÈÊ:®uŸ={r¬þnܸåPÏÛèu~4ƒMýüü°~ýz¤¤¤`îܹ€„„ÄÄÄà£>øúúâÀMÚé[·²±}û·˜:u9öìùˆ£—áÔ©‹øó!ž/¼Ð'†x’™l`øðHÔh›^¸P‚¸¸$ÄÅ%|œôÂx«V%ðE&‹íÚu"‘ÃDzDEõк=jTÓlÐP*•ê]möfu°©L&Ô)SpîÜ9œ={ñññHNNn’ÎΜ™ŒŸþžžðõ• ++Ÿ£—C*}§ÿñ<}úGHM ñ$}ú„`íÚyøý÷\(•…¸Ï`S…¢‰‰ŸbÅŠ™:mAA­qòdjk¸y³þþ-¬þÿ$/äçŸW‘óóó…BQ×lÏßê`Ó'N`üøñH$ðññÁ„ ››kq‡ ›¾þú0Lž¼îîÝ1zôB¤§/ã&—bhüoݺsæ¬F‹}0wîlQ…x ¸&úÚŒý»ysÈÃã÷GëÖјådÁ¦úêA¤é«¯h•Õ«SÕm_|±íÛÿ?ôéÓMçq³gÅlF‹½1n\"†íkÒúaaѽû¿ùõ×ïãÅ߀D˜˜ìß¿îîâf«ÕÁ¦x䑇Trss³j3–¡³6ºtéˆcǾàˆ&—ehü·k×y…x ¸&úÚ.oxû©§žÀ!'6åÙmdЉcâÄÁ:ËëêꜼß|Óøei||¼±{÷‡½ï¿ÿªÑåÇG¢ººÀajcu°itt4ÒÓÓQQQÊÊJ¤¥¥aàÀuDDDÈÍÍ %%{ÔÇ ²ÆîЫW/x{{#** ¸zõªV°ibb"Ο?ÈÈHDDD ´´ï¾û.G9$›‘°&? 6%{bèkš°&¬ kbÿšØ8Ø´¶¶III ADDd2îÞ½kuglJDDä˜,ýŒv”Ïv«ƒM?ýôSøúúâØ±cÈÎΆ§§'æÍ›gq‡L MÛ¶-“§w’KãøÖ­ƒM‰ÌãHÁ¦–>®Y'?†‚M÷ìÙƒØØXøúúB"‘`Ò¤I8sæŒÅ2šVZz))éÕäÒ¸ؼz°^Dº)ØÔÒÇ5ÛäÇX°éÍ›7ѪU+õmølj}°é¼yóðÃ? k×®ˆŠŠ‚——>üðCŽ."""rH 6%"""aM~lJöÄÐ=Ö„5aMXÖÄþ5Ñ>ÇèÏ:uÒY&‹qñâE@ee%ñÝwßA,£ÿþ˜;w®úhKUW×ÀÓÓƒ¯‘ƒqöÏh£Çüký¬_¿£GV·§¥¥¡mÛ¶(((@NNZ·n¹sçZÜ!cágªSä$’œ=[ÌH.‰§/7¾Þ³^D¦s¤`Ó´´C‹»C$’êÄÍ8ääG“R©DJJ ¦Nª^–››‹_|žžžðõõŨQ£PPP€ºº:‹:dJø™RY¹<!!8ºÉ%q7°yõ`½ˆt9R°é´iàÀ5P* ‘‘±cÆ4oF§Y“Ÿœœ´mÛO<ñ„zYii)Ú´i£¾íïï¥Ré’AhDMÁ¦¶©ƒM‰Lý\·O°éíÛßaР@¿~¡X·nóL~víÚ…!C†h-+//Ç#<<¸ÊÓÓ@ýqAMÁËËÓa6›ÙƒMmS/›™ÆÞÁ¦÷PYYøø˜f}Þî¦ÞñÞ½{8sæ V¯^­µ¼¦¦F}õg þâIM©²2ðË/¿¡}ûa¨®.àè%A`°©ùd²i 7ØTŽìããí”ÏoÕª¾Èd1{›žaJJºCÔÆê`Ó‚‚øøø¨o{xx ªªªÉßÓÒaìØhŽnr) 6µM½lJdêçº}‚Mkkˆ‹K† ï8ßäG_°©¦ââbtëÖ­É;þõ×YxíµA¹äRlj›z1Ø”È4ö 6MJÚ€¡Cû [·ÎÎ5ù15ØtÇŽ˜5«i¿…\¸Pww1ž}¶-G. ƒMÍÇ`S"C4ìlúÙg;1o^Šz+m\\’sL~L 6ÍÏÏG`` BBBš´ÓÜêCBÄ`SÛa°) ½ƒMËÊŽ¨Ùêóõœbòc,ØôæÍ›Ø±c¦OŸnU‡Œ…¦ÀÞ½G1fLG/¹›šW›2Ø”ôs¤`ÓÆÆns29Û«¨¨Hë,¯†mëׯ‡L&ƒX,¶ªC¦œµñã;9ªÉ%ÿíÚµA^ÞFÖÄ„¶†ËÞ~ê©'pèÐ'.Y"•‰câÄÁ:ËëêꜼß|³²ÑÇùøxc÷î-{ßÿ•SŒ]«ƒM9‚O?ý_~ù%üüü8ÚˆˆˆƒM͘üè 6]´hnݺ…îݵ/8X\\ÌFDDD‡Á¦DDD$¬ÉƒMÉžºÇš°&¬ kšؿ&66U(X¹r%vî¬?yðàÁ˜?>¼½½­ê,ƒM‰ˆˆ“àƒM7lØ€ºº:=zyyyhÕªV®\iq‡ …¦>|žž= IáéÙ‡Ÿä$—ÄÓ—uëÁ`S"ó8Z°©ªIΞmÞã‚­6ݾ};&Mšx{{c„ Ø·oŸÅ2š6n\"®\9 6}íµw9ºÉ%q7°yõ`½ˆt9Z°©ªry>BB:9Ïä§±`Óœœ<ùä“Z$Um­M›'àáQ¿§®¶V§žjÅÑM.…Á¦¶©ƒM‰Lý\·O°©£±i°éÝ»wñÙgŸaâĉMÒÙ âðÖ[Ë0þZÌœ™Œùó'rä’Ka°©mêÅ`S"S?Wíl ^^žêÃV4¿Œ4“¯ó£ 6]½zu£í³fÍBaa!<==ñ÷¿ÿ½I:û?ÿóJK÷ÁÛÛÿþw9ºuÑ£sAÂÀ`SóÉdÓ@o°©*\ÑÇÇÛ)ŸßªU |‘Ébö 6€ÊÊ|À/¿ü†ö퇡ºº Ùž»Í‚M×®]‹ãÇ«Ïöj žžP(__ ÜÝŽ$ 6µ›’ÐÙ;ØT*ŇnÁ;¿«ßÇš“Í‚M@$aÚ´i¸té’Å2š¶zuüý#!Iáï‰Õ«ù­‡\ ƒMÍ« ƒMlJú9R°ijª C«V0zôÂfßUku°iÏž=±k×.õAÏUUUxäË/°dè¬áÃ#›u3QSc°©y5a°)‘~ŽlÚ±ãÓÈÉùÜajcò–}Á¦111HMMEUU™l$/½Á¦Iââ’}Ò)ŸßªU  j ??_¾Ød6{›ž? Û·‹þýCQVvµµÍ¿¾Ylš””„øøx´nÝÚ.-+«Pÿ¾xñçè×/”£—ƒÁ¦¶Ã`S:{›^¿þˆÅnˆŠê‰Ä ÕÕ5øé§ËÎ1ùi,Øtÿþý˜3g:uê¤þ?=ÞT†BÓ^~y6Z·ŽFŸ>SàááÞhf ‘3c¼Òd–[IDAT°©y5a°)ƒMI?G 6‰é‹™3ÇàÙgGB"‰€OOtîüLó®C¦^ä066S§NEDD„ÁûuêÔÉìëüð"‡ÂÁ p±&¬ kš4oMêêêбã|óÍJAä{Yt‘C}Á¦DDD䨴¤¤aaa:÷³TZÚ!uðYÃKÒçæžA\\:t®ÓFäJxú²n=lJdG 6Õì‡H$…»{wÇžühj,ØôÒ¥K6Íôš6í8°Je!22–c̘wÔmo¼!Ú5spéÒ7ÈÉùœ—÷'—ÅÝÀæÕƒõ"ÒåHÁ¦ª>(•…¸rå‚‚Z7km¬6-))A‡lÖ¡Û·¿Ã Aõ×ê×/ëÖ-P·Ý½{=V¥Éˆˆpÿ¾œ£›\ ƒMmS/›™ú¹nŸ`SÍ/(ii‡0vl´óL~ 6-))Aff&BCC!•J±lÙ2( «;VQq••ÕˆQ/»qãG*¹4›Ú¦^ 6%2=‚Múúë,¼öÚ ç˜ü4l Ôïö2dNœ8ÜÜ\´iÓü±U:y²—/ÿŠÀÀ–&¼ (9zIlj>›Ú aŸ`SM.”ÀÝ]ŒgŸm듟ƂM   #GŽ„»»;|||0bÄìܹÓâeeåC,vC—.ºÇI$^ÈÏ?¯þ ðóó…BQÇL‚À`SÛa°) =ƒM59ÂV³&?›6F"‘àöíÛwhÔ¨ùJcµŽ X´÷ñâ‹o@"‰@LLöï_ ww1G1¹ ›šW›2Ø”ôs”`SM{÷Ř1QÍ^“³½ŠŠŠ´ÎòR Çþýû¨¨¨°*ìÞ½<½mÇG¢ºº€#š\–¡³–Úµkƒ¼¼¬‰ m —7¼ýÔSOàСO\²&D*'ÆÄ‰ƒu–×ÕÕ!9y ¾ùfe£óññÆîÝZ4ö¾ÿþ+ƒí?þ¸Ó!jcò–}Á¦ƒFjj*ªªª —˱sçNŒ?ž£ŽˆˆÈ©‚M…ènõäG_°iBBnܸ°°0DFF¢ººcÇŽåè""""‡Ä`S"""Öä‡Á¦dO ÝcMXÖ„5aMì_›* |ðÁÈÌÌDEEúöí‹äädøú6Ýu'œ=PˆˆˆšÕÁ¦ÙÙÙ ÄîÝ»qêÔ) 0«W¯¶¸C†‚M- T#r:<}Y» 6m|Œpœ ëÎ /ŒÑY.ô p«ƒM³³³1pà@B"‘ ::YYYwÈP°©5jDN…»¼÷0Ø”c„,ñ¯¥áÂ…œ?Ik¹ÐƒÂ­6-**Ò: ÌÇÇÇ·¸C†‚M‰\ÞÙâÆ¿Ñ«–­Múž=}Sk´\ 6%2Õ¶mYhÙÒÛ¶io”zP¸ÕÁ¦7nÜÀ… ðÒK/¡k×®HLLDMMÕk,Ø”Èå…tjü½jÙÍràj&±Ðêl¹lJdŠºº:¤§Âþýk‘ñOÔÕÕi|v ;(Üê`S¹\ŽÔÔTlÚ´ 'Nœ@@@RRR¬ê”9Á¦D‚"›H¼€á‘€FP'é)—‹›’“sW¯ÞDÏž“ñË/¿!'ç´Áû )(Üê`S±XŒ9sæ¨ù‰ÅÞ½{-î¡`S""[`°) Á¶mYøâ‹¿A©,Ä_üMkחЃÂMÎöÒl€§Ÿ~Z}ÛßßeeewhÔ¨ù:ûU›°j¶¹ÍcWT¿+ þ.’6~Û•Kb`½×צ¼ØØíÍ›“0yòÌ»-[úaÔ¨X»vžó¢ëæMû0yòPÄÇ/QßV* ÕAáb±üýýnu°éóÏ?…Bw÷ú?U^^Ž-ZXÜ!CÁ¦œèËÓ7Æ.кÀ`S3Æ ‘‰ë€ÐƒÂ­63f ¶nÝ ¹\¹\ŽÍ›7£K—.yDDDäÜ“}Á¦½zõ‚··7¢¢¢«W¯béÒ¥¬,9$›‘°&? 6%{bèkš°&¬ kbÿšØ8ØÔX;‘#±:ØÔX»¹ ›j#r) ¬Ô.ƒM#'dÀ¡C'жíP<úh_|üqZ·ŽV·ýúëЧÏøùõAtô <ùd”ÎúæÊë•ÕÁ¦æ´›ÂP°©¡6"—ÂÝÀ Þ[lÊ1Bæš4i1öí[…[·²Ñ©SîÝ{x ½·ß^…wßGyùwHJzry•ÎúäÊë•ÕÁ¦æ´›ÂP°)COÉå1ØÔ¼r1Ø”H/±Ø ÅÅWPWW‡¨¨øý÷\u[VÖqôîww1ÂÃ_@EÅQAÕÆê`SsÚÍa(Ø”¡§ä²lj^¹lJ¤WVÖÇHK;„'ŸŒÆˆóPXøðXÜ߉ÄK°µ±:ØÔÔvs 6eè) ƒMÍ+ƒMIÀ‚ƒÛa×®düç?‡ñÆÃ1dÈÛê¶G}ee&ýW<öÇê`SSÛMŸ©ê6eè)ÙƒMIüüúàðᓉDøóŸÛC$©Û^}6nÜ¥R‰ýûsüª jcu°©©í¦2lj¨È%0ØÔà·N›'D$o_Æ+¯ÌC‹¾øüóDu›L6 o½µ­[GãÉ'ž¾\g]rå³½¬65µÝT†‚M µ¹›ê>u›š>Nˆ4ܼùOÀôéº[u¼¼<±iÓ{f¯s®Âê`SSÛ‰ˆˆˆœjò£/ØÔÔv""""GÀ`S"""Öä‡Á¦dO ÝcMXÖ„5aMì_›Êår,Y²‡‚››Œ… ÂËË‹'"""‡cu°©L&CPPŽ?޼¼<`åÊ•wÈPxéÅ‹¥7.ÞÞ 6%—&b`¥N=lÚðI3Ø” Ólª\ªï³T$’â…Æwò£©±àÒ¬¬,ÄÆÆB"‘@"‘`„ Ø·oŸÅ2^:cF2fÏ ¹ü¸Îåê‰\ w›W›éÒlª\šýÞ~{•Îè_ÿJÃ… %8þ'?—* (•‹Å¨ªª²¸C†ÂKY°°`(•J¸»‹ÜŽ£›\о N(-½ŽèèhÓæ% 8—/ÿÊz1Ø”H/CÁ¦*½{‡àÔ©-:¶mËBË–~ض-‹“ŸÆ‚Kûõë‡ÔÔTÈårTVV"55 °ºc†ÂK{ìE,Y²¦pt“KÑÔ ±±‹°bÅ,\»–‰åËg 6öo¬ƒM‰ô2lª©U+­ì»ºº:¤§Âþýk‘ñOÔÕÕ¹\mL¾Â³*¸tõêÕZ˃>úàëë‹XÕ©“'‹àåå¡7ÃëÖ­llßþ-¦N]Ž={>â'A8uê"þüçö€^耓'‹X#d²i 7Ø4.. àããÍb‘ËQ›ÖÖ*pøð÷2ämܸq¨Ñ §99§qõêMôì9Y}»_¿P—ªÕÁ¦2™ S¦LÁ¹sçpöìYÄÇÇ#99ÙŠ™ªþðÒ™3“ñóÏ¿ÀÓÓ¾¾deåst“`H¥Ïáôé§Oÿ©ôYÅB 6%!0lª’Ÿ¡¡‘ñ0ÛkÛ¶,|ñÅß Tâ‹/þæ’»¾¬6=qâ>üðCH$À„ tΧ7‡¡ðÒ×_†É“£ àÜÜÜ´^,"W`(ÄsëÖ%ˆ‹K¹s?#$¤¶lY"øš0Ø 6%½ô›j®îÈÈXŽáÃ#µÚ6mڇɓ‡">~‰ú¶+X`u°©‡‡yäá•ÜÜÜ]šÊPxi—.qìØÑä² ½¹´k×yyYÚlJ¤?ØÔœuÊUϤ´:Ø4::éé騨¨@ee%ÒÒÒ0pà@Ž:"""rîɾàÒÄÄDœ?‘‘‘ˆˆˆ@ii)Þ}÷]V–ˆˆˆƒM‰ˆˆHX“›’=1t5aMXÖ„5±MllZ[[‹÷ß{÷î…D"ÁË/¿Œ™3gÂÏÏ'"""‡cu°é§Ÿ~ ___;v ÙÙÙðôôļy–Ÿ2j(ØTeÛ¶L?Q=UÈ«ês¡ám"s'?š 6ݳgbccáëë ‰D‚I“&áÌ™3wÈP°)PŸo”’’ÎWŽˆˆþøp*}¨8ZûzðÌŸ€ºS¬ Y?ùi,ØôæÍ›hÕª•ú¶¿¿?èÖ­3_¹ÿßÞý‡Ä]Çq®âŽÓÖë˜ý0[úG?Üuœ—•Ü š£ìbT'êbL–SH8"P–-hýiôÇìR9ûA¢wX—Y‰™l2j•7Á–?P´?n÷sþìˆé××¾œ÷}óû~î{ðþþðûc½Œÿ¿uÁÓÃó¯&jwܱ\žÙ¯`gÌ“:öã^èyŒòôóØvýq~D·+9}ÚÓ¯ƒ xí(ÄÂ^×÷ÔËðÂãÑ3Ï›n}wѿýŸÂaW¢vÄ ÏÁŰÀÔ¥õÕDÍO,Ø´´´4e}EEmmmLOO‰DhmmÍøC üÄùóãääìJYúô¼Þ7ã÷ûÄB E åÈA¸> Ž>ßÿ’X_|t÷Ã5EЂ‚\¸îÚÔ±'_‚\Üm¬9i|,fxôH (åÛQ¸öJa>¤‡½®4îdzðŒ,%Ñ×/´ß¢ù9ç.ÀÔ?|üïpè~0›ÀuL×W5?+›VWW399III ‡ÊÊÊŒ>ÐjÁ¦‘HKKƒñ‹ooWó#ô~\š†·>‚½ùIÍO!¼}öí…÷>‰¥nwÎ;árØ+ßý ë {Ý/œòÂßÁèY"›§ùùðs8| µV˜ƒ£Ë[­&j~V 65™L455144D  '''£l/·ûN§‡;œñ%]r(›ˆáìÞ·>m‚ÞmHm~Gá±a|ìI¡H¿÷Ç(’·k¹×^š7`ç~¨m…XØëZãÚ}ЂÛ8Ö¬ýÎ0ÍÏg©—¼ º_? YûඃpâÔújbX›ÓÙÙ‰Õj`ll슳C±Z°iŒˆ(†æ..éì‰{YŽ?™ö£0èo"}»Òßï¹– {]kÜM»a+›Êò ~±|í®Ûáë¶×İ26-//Çï÷³°°Àüü<ÃÃÃWæææâõÙÙYjjjp8QWWÇÄÄ„f[DDD6¥5›ŸÆÆFrsséïï' aµZiii‰×ý~?yyy„Ãaz{{±ÙlÔÖÖjfEDDdk6?ÝÝÝx<, ‹…ªª*:::âõ`0HYY&“‰ììlÜn7áp˜ÅÅEÍ®ˆˆˆl:ÿwG[…ÿþæIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/tragesym/acroread_selectiontable.png0000644000175000017500000004716113634703632022743 00000000000000‰PNG  IHDRwsÅQIèbKGDÿÿÿ ½§“ pHYsˆœ/–žtIMEÖ 5;¬Æ@tEXtCommentCreated with The GIMPïd%n IDATxÚíMh\Wšþý™M”ž@Æ1žÐ O“…ehãlƒK‹D†éfÀšK Ï"ƒ=4ãRƒÝ : _yI‹2 ¶À“2!ÝŒe‚Ü«+0ÚHòÂ1¸Ä¸ÉÀUhL¨‚ ˜TÑÐãªYÞÿ"yO¿utî­ïª[·ž„¥ú¸u>ÞóÜ÷ž[~Sa† (Š¢R¥ÿÇ! (Š¢¹SEQ4wŠ¢(ŠæNQEÑÜ)Š¢(š;EQÍ¢(Š¢¹SEQ4wŠ¢(ŠæNQE957÷—ßZ XY¡¹SE­öö€K—þbò}ÿû‡ÒÜ)Š¢ÆVÏŸçÎ}ÿûÓ§y|v¶ s?88ÀÔÔ”óÇ¥••çsQ·û¹+++‘¯]ZZŠ}~ÐÚßßÇÜÜö÷÷>tŽ×ÒÒ’éÛÜÜœéW£Ñh:ž§J¥‚¥¥¥¦cT*•ØÏ—c,..jëââ"¦¦¦"çUÚ'¯“6Öj5Ôj5Óýyö±¤Ÿpûömóúƒƒƒ¦Ç÷ööœ}–~Kô{÷ööÌçlmm™××j5ÌÍÍ¡Ñh˜X[\\<4VÒV­Û·ockk«éó¤mQ}þË%ñÜ¡ÏÐ}Ò?ÒJ¥ÒÑZh¥Z­†Û·o;??ªm.EÍUÔ¸uû9.E‰ÄªKz-..ŠûGÇŽ='ýTÔxìïï7­«‡¶ôY—û÷ï;ÇêÙ3à§?hHØBÕj5, a¡P„™LÆüí’çy¡ë°QGiww7ú¾ú¾–J¥C¯ ‚À´Ëó¼pT’¾IªÕjX*•ÂR©‹ÅbX*•Âr¹†af2™Ð÷ý°\.‡žç…ù|ÞË÷ý¦qÊf³a¡PËårX.—ÃB¡f2™ØÏÿ¡ÒgÀ|f†a¹\6×ëuÓÆR©f³YÓ÷  BÏóÂ\.ær¹0ŸÏ‡A4µÓ÷ý0—Ë™cÉgú¾f³Ù0‚°X,†Ùl¶©}ÕjÕÙg£B¡`æ8›Í†õz=Ð4¶õzÝCâÒó<3VzLêõz˜Éd}–Œ‰|žÄ^µZì³ŽÑ œqac>Ÿ7ýØÝÝí[üAà\[»»»f|Z)n®¢ÆM÷3j zíƒÌ·­b±hÖQ©T ‹ÅbS;ôº“‰לôS®ñþI›|ß3™LX,Ã0 M<ëöJ¿íµ¬Ç*› ÖѯýËßè´Ñz±äóù@˜ÍfMCÄhòù|˜ÉdBÏóÂz½ÞdîõzÝ<¯;5yQ#Ç¥¹W«Uc Úl¢‚ÓbmÒý¼+Pòù¼1ƨÏ׆%’ר‹HÚT¯×Í  ª"¦Z­š¹Ö' i[±X4' ­l6îîî†år9¬V«ÆÐ‚ s¹\dŸ¥OÒÝ&iƒ´YÚ™ËåÌcAúL·\.×ôYÒ–b±h>OGTŸ³Ù¬iwœ¹ë¹—,ýÑkJŽ%í-—Ëæ3r¹\X­V›Þ'ï-—ËÆx퓾OŸ|¥¾ïêcTòç2w™ûY(šâÊuRˆš[¥RÉŒ«¬¡¨qÔýubÇD.—;”Kr ‰VÜøJre{ˆç…¡†L¦æ. “¬JK›»˜I>Ÿoš<ÏóLf&ƒ!nŸ8ì€hç¤3LÉ8*àì`ÒÙ§ëŠÆ6}Íçó¡ïûM'¨Ï׆ogÃvår¹¦ñ•à•Ïte™ròuÍ•Î8dè¶ …¦Ï‹ÊÚls©×ë¦mzщéË¿²Ð2™ŒYdA„™LæÐ"²Ûâ:)ºúÜNÖª³Är¹l²DÝ_Yår¹éD/Wl’]zžwhœä³e-Ú'Wy^Þ'Y®}òŽ›«¨q‹¹•+¾|>obS·Užô±]s×'_Û]‰’>ñE͉ëswwwÍgé„ÂGÝY_vLĤ‚ 0ÇÓ?úJZæA·éû>oð‡¯„z0w½]£/Ùl³Êår&ƒx—9Ë¥K½^7'Y¼®ìvTæžËåBÏóÌÖ†ÝפJ€ëgt²ðåjGÎàqŸ/Ÿ+Aª/û\Ÿg/Ù†Ð'k¥hã,‹Æ Ä $pÅ$u–b›K”¹K†œÍfÃr¹Ü´ˆ´ÑÊ–Œ¾ôÕf,Û Úè\ÛCz¬í+»Ïíš»þ‘~Øæn_nÛW.úŠÄeîq[Q}võÃ5Wq㦳X½"ã)†T¯×›¶ÌâúÞOs×Û2º}®9qeîÅbÑ´7nu?dîº5w½%#ÇÔ'F™æ¤Íµ«Ñƒ¹Ëý9;+3÷L&c2i´=zŸ]Ž)Û;ò3js×{ØúG+s—½Ðjµ‹Å&³>Ëqtß%ëÑýZØb0z»Ä^4ò·lÉØÛ(2>®¬H¿×5Î:[sõ¹]sºW¤MH_]ŒÊÜ£æÊ5nÒ&1 ûsìI@äþ™«ïö–S'Û2²$Wxl˸$Ç—“C;æ.ýÐk/n[Æ÷ý޶eäx¹\®ÉoãôWÝÞ~úÃ÷nÞ}÷]üÏÿüOÓs_~ù%VVVpüøq|òÉ'ÈçóøÓŸþdž¿rå ®]»†ŸÿüçøóŸÿŒ>ú¾ïcvv¶éøkkk(‹X[[C>ŸÇôô4VWWÛºëÿìÙ3lnnô[2OŸ>E6›5ŸÓh4ðæ›obgg/^Œ|ßüü_g°2Îöñåwû²T¶@ôgF]%Hv+Ù„¾ÌÕ{är9igÈ®>Ge€úÆ•O26=^®¶¸>K·E[®*£¶í¬®Ëú¸¬Þ¾¡j_iDÝPÕ7Åãæ8ê†j\›]s7G®ÏÑ[1züõ€l•É—ôÍרÌÝuå Ûnz{E®âƾÝoöèoáÉĮ́q´½**&dëTÆXïHÄÝw²'ýn¥)²)ŠJ‹z¹zI[{iîEQ)ËPEÑÜ)Š¢¨qPËoËô³5~êÇ®cˆqÃxaæNQE #sïg×íœ÷|G£~gP£œGÆÒøÅLÒæjÜbˆ™;EQT Es§(Š¢¹SEQ4wŠ¢(Šæž4U*•&œà­ô ¾ôë4’Ì…õXVË~•>iLœÆäÅaÕ\ñGQ.„à@ͽV«õ…¯8*­¯¯c~~µZ ëôÈ Ê岩ȸ½½mÞ÷äÉxžgþ‚À¼geeׯ_7Ïù¾ ÌÔ™ÐOâ¶cGsdã¾ã¢­­-lnnš9~ùòe“Á_»vÍôÝfìJO ºQÛ2šaj—íËhnËt;2/qà–qX˜6ÐÆ³ÁNk·eâÇU! ¢ÑÉ‘^Ü–™@=~üžç™› ¾ï;·f*• 666põêUœ‰B‚0{ººTþ—X²ç]°oqñÐîsóПÕÍZKKUH80{RÙU*C޲oö¼Êß.¬§Ž•r¹zžgüÔÅ—°ãb`æžÏçÍÀºuœÍ]&" À”Õ‹8ŽäDs‡uè²Ë2¶ãKÒéG+²W;Ϲà%.È$Á:$¡´×¨¼’fî¾ïC÷ÈII’É\.–ËåÈcÉûþjP—¿þõ¯ÍåÁêê*ŠÅbj.ý¾ûî;ßÃ*• Ž?nž“ÿàðæ›obccׯ_ÇgŸ}Æ}–uäÈ 3ÖãOù|Ož<Áücär99rÄÄÕMOOãòåËfëEÀ.÷ïßÇ|€÷Þ{/Q÷aD¥R ëëëX\\ĻヒO>ùü±‰õõu;v 'OžD½^ÇþðÌÌ̘­nûXò¾™{¥RÁòò2`ccgΜIMÍÌ̘>ÎÌÌ CàäÉ“M¯;sæ .\¸€;wîDë›o¾ifSÑ{•×®]C¹\?~?ûÙÏpäÈ‘±hÿ… °¾¾Ž'N`aa¡«x°Ÿ›™™A&“A¥R1ððJ¥‚L&cbtÒbäùóçÃÐ$]W¯^ŵk×ë¨ÿ—©þüJ¥‚G5Ο={† .øžÞ&ó®\¹y,½¯?°ªËË˸zõ*677Seì’!&­Ñh ÑhàÁƒ‘ã…IÓ˜>ªý<Žûv0ŒqñõÜ7pëÖ-ƒi¼uënܸ1±™»Ù{ã7Ì Ç œf8jEa=§§§‘ËåðêÕ+“¥ïìì´ôSñ§ì¹Ëžý“¦ª6&ÍF¡¹0i­0}ÜsÇì¹jãK6†1.ÚyNT(šp}Äì¹c¤×û[ý蛫 QXÏjµ–Ëe³ç.7Ëå>B\êõ:1{Tüø³G {œ‰ÙëøŸ˜(Š¢R(š;EQÍ¢(гGMÔ<2–/“CÌÜ)Š¢&9sç·e˜9õ*~[†13.ñ’†bæNQ•BÑÜ)Š¢hîEQÍ¢(Š¢¹«ö÷÷›HS6úêöíÛ¤¨_ˆ´( qGÿècjÕíÛ·Mq,i—&0Ék]mf<ŽVqsl{I/ñ20sN¤ w•&5 œ={·nÝjz<„aˆjµŠ—/_b[&ù•d¹0{2fSSS#Á6vŠHÓÆ«±²²‚©©)ÌÍÍ™~ìïïãÒ¥KM±S*•0??F£ýý}¬®®¢T*!¼|ù÷îÝkj—^ؾï7=7)ñèÂìI,%éäæšc——Dµ½x(fOðPP¸«´T…´ÑgP ¡B.úJ?_“†ÙÓãÚ Ù #@¤yžwèsóù|˜ÏçÃz½–J¥0ŸÏ›ÊŽRÑÐÕg! éê‚B£’vàòИ ¨MÊG$³Á kT}sùƒüíò’¨¶·/3÷b±Öëõ–Hºq7wÏóBß÷Ã\.gJ²Ún?ÖäפaölCrq’iQï‘“€ü+}R®º_š×_ù ÏóÂR©–J%sbq™û ã Äìíîîšcf2™®„ƒ0w=Ç./‰j{;ñ2°m™Ë—/czzï¼ó2™Œ)”Ÿ¶­ƒµµ5üíßþ-þáþwïÞ}}R‘_ã !Ñ”êõúH÷LpóæMüö·¿Å©S§ "ÍÞš±õóŸÿabqq·nÝ24ûééi߃=¦¦¦pöìYìîîÆîÙêm«¹¹9ìïïãü#æææZö#mñ¨1{ï¼óŽÁìýèG?B±XD†¸qã†!ÄRöGy‰«ímÇË ÎVr¶Ô[H¬C27X@…V—ÁèÄd3wG²…ÐI6ˆÌ= ª¡·O\™{©TjzNhöqz&“1ï“5foS•Ëå0›Í†ÙlöL{Xñ8êÌ]|GoË”Ëe³sÐÍ–Þ ·eâ¼ÄÕövãåÿ ê :??o¾Iðúõkd2™Ôe“‚Ã’lžçáÉ“'‡²û;wî P(4ÝŒK*ò+É7®>|ˆjµŠÄpB£iQò<;;;€/^ ›ÍÂ÷}œ:u*ösnܸO?ýµZ FÃÜLÕš™™1,Ψ±Isëú¬Wäפdî:;—ì&“ÉtO"Íõžjµúýͮօ¾1êê³–Ó“=XýrÃVk˜ñˆböô˜çr¹Dì¹ë6Äy‰«ííÆ 1{Tìø‡ÄìQCgböú#þ'&Š¢¨ŠæNQEs§(Š¢ÆAÄìQ5Œ%ÆË¤Ä3wŠ¢¨IÎÜùmfN½Šß–aÌŒK¼¤!†˜¹SE¥P4wŠ¢(š;EQEs§(Š¢hîã*bö&CÄìQýŒ™N‘z­Žµ¸¸h_>¼¹§'×)fOOÌÒÒ£?bAè@• ÑãŠÙë›6Ìž K7Îrõ§R©˜g¯'à~ÅL”o蘑ZýR¿=êX¸~ý:®^½Š °±±ñ}=øAVBëß…”aö¤ú[¯¸¯´W…Ìf³†Dãû¾©‚'èFóaÇR?0{½`ÓÙƒK7ÎU!]ýÑÈOÏó†Ú®¨˜qù†Ô¤—ÇeΤ~{Ô±<Ï;Té³T*…5÷^ñ]H!f ™¥á 4÷¿(ŸÏ“‘1ÃÒæÕ º Áìõ‚Më7f¯T*9±tã ë°û#&/I¦.Ï< s—˜qù†ø‰ÄˆÆ –ËåÈcEÅÆÀ̽P(„Åb1ä“A×t/•J¦¾vœ¹û¾ …&®#Í=Z’µ»â#d¨êŸR©d®4dNuök·[j±X45Ýå¤`_ÌH÷W?¯½ÄW±X4IUœ¹ë+M¦ü8gîvt¦¬…a›;,R—Ë7|ßoªÅAX¯×Wh:þôüj¸üÀÌ}Àw!e˜½r¹Ü´ðÑ!*nRÌ].¥³Ù¬¹ºIbæ®!h³× 6­ß˜½(,Ý8gîvô8t“ô;só èGNØQÇrņ¼v`7Tà ÀÉuŠÙ{úô)nݺ…F£½½½Ä â’¦ßüæ7X\\Äææ&Μ9à{„Z6›ÅóçÏñüùsd³Y¥:Åìõ‚Më7f/ K7®rõçwÞA.—ëW¯ÌMx­'Í7ž>}j“›àA˜5ëë릕JwîÜì U}MÛ¶L7˜½z½nöB»ENBæuÕ§/KÓ€Ùë›6Ìž K7ÎÛ2®þÈ÷’µwÛ.×üGù†kÛLîÅ´òÒb±hú˜ÉdBß÷‰Ù£âÇ?$fò8³×ñ?1QE¥P4wŠ¢(š;EQ5"fš¨yd,1^&%†˜¹SEMræÎoË0sêUü¶ cf\â% 1ÄÌ¢(*…¢¹SEÑÜ)Š¢(š;EQEsW³7"fTüt‚Ü‹Šûø3÷(œXÚÔ)fo”ȯqZ.Ìž^ £šk 7ÌžNôã£ÂìI;Ò.Ìžm¨£Â[v‚Üs­¥¥¥C}‘׺0|« …KS=w©èÖ.f/ þ!¿Ò\2 ³çÂÖ²ž{7˜=© hã'GÙëd‘”ªp`öh"5Ó»% õÚ·N{®5P­VM?4Z/ Ã70s‰¥ÍÜ;Áìɘôù•fswaöâà£2÷n0{aèÆO޳·»»kÊËg;¬#¨IGI0÷8ä^«5 KGaøfî.œXÚ̽Ìú„üJ³¹ëàÌ^’Ì=`ö\øÉQcöªÕjèy^*1{ÚøÑ#ù¬_æŽ6{qk@_ÅÅbøÕ!N,mæÞ)fÏÎÌÐ#< ­æîÂì%1s×´‰ÙƒD2*ÌžÞÞÑæ1Ι{6P®®FÙ·N{Qk@ú%Þ*'×ñvCÕ…K›:ÅìMOO'ù•D¹0{IU§˜½ÐŸf–——±±±Ë—/}ÜÄa}ßÇÜÜÜØxHÔxüø1òù¼ALîììD¯‘A­\8±4eîÝ`öt¦”ô¬}”™;bàêÝb‘Ìž+fOÚjoóŒó¶L60 }ë¹µì›öq>bö¨Øñ‰Ù£†<ÎÄìõGüOLEQ)Í¢(ŠæNQEƒˆÙ£&jKŒ—I‰!fîEQ“œ¹óÛ2Ìœz¿-Ø—xIC 1s§(ŠJ¡hîEQ4wŠ¢(ŠæNQEÑÜÇUÄìM†ˆÙ£’¦¨x©T*ƒ3÷F£••'*-Mê³—äWÒMÔ…Ù„ÚÜÜœ1ÕaÏ5ÐfïàààN„Q`ö\mg¹0{%¨Ç<-rÅËúúúàªBJuºz½–J¥®@H!f¯_ȯ4W…ŒÂì¡$‚ÙÓ˜E¨Š€£Âìõ‚.LbUH80{²Îì1Oƒ¹âÅPðÕ! vù·›ò¶HfO?Ö+ò+ÍæîBŒU«ÕžpHf¯X,†õzýn˜=y¬[Ja.Ì~ Ù ‹´™»Ä‹Äã@Í]êF³×\Oºȯ4›»6O›Ô- ÁìéöèŒr”˜½´˜»ý~‰›vÔ-G!©ænÇ‹Äã@Í]¶ˆÙ;œñõŠüJ³¹G!Æ …‚ÙÖE,õŠÙÓ8ÙÒÈ1{iËÜ]˜= TFZ·et<솪çyØÙÙð=f/›Í¦îFF§˜=ý¾$"¿’"bL¾á±¹¹‰>ø 1mí³'8¹üúõkd2™‘böÒ¤8ÌÞëׯ'bíèx fO2‰4eîÝböìKbfî­/5£~:C$³W*•LŒÈ•ɨ0{qý×mf/‚žïÿ%9s×ñ¢ã‘˜=*vüCbö¨!31{ýÿEQT Es§(Š¢¹SEQã bö¨‰šGÆãeRbˆ™;EQÔ$gîü¶ 3§^ÅoË0fÆ%^ÒCÌÜ)Š¢R(š;EQÍ¢(Š¢¹SEQ4÷¤ÊÆ MÇ…0ÔY;ÏɱÓJÅIÓüG¡ïlÄb§š››‹Å÷íïï7Q©4Jojj +++MÇúY\üQéˆÉ(ßùhÉ_ýcC Æ©PO¡Ph*Ñ+Û¥R¥äªïûm?«V?˯Žká0+üPó\ =ÂŒ* 5ŒX‚ˆ ‰GšUÕv] KæZ긻JBË{3™Œ‰)2¦ËCÁ'\&Wüégºè”Œo/„0Œ¸p˜Ž髞“\.— Sœo˜ùT‡ú“KÊ`Ú EjŠ»ŒXŠå·û~ èÈÉæÞ³§ EÃ6wý· ±Õöz½n^+Ç’:îQõÕ=Ï;TÁ±T*{ÈÚÒãâ¯X,:Áèc˜s‡³§ç¤P(tM@Kš¹GùÆÀÍ]g!iÌ šJºÆÁÚ}N§”ꤹ»1{¡f—ÉEæ†nÄ¢«íòZÉ*åX¹\®‰¤¤×Œ}"ˆ[ಾòùü!¼^\i_}ü^1†I0÷8ÌžkþÆÝ¢|c(æÞ+N.Iƒ™ÏçÃB¡`sT–ݹëKnš{xh{BcöQ“|Ðæ e…Xtµ]'82ßõzÝ ¸ÖÙ¸6%mëØ‘†ýw§æ.êc˜”Ì]¿_ú ·£¤&~Z’M—o˜8d‡zÅÉ%i0…•)/Üd¼ IDATÙZ”¹w³-# L.³&ÝÜ]˜½ÝÝ]³M ¡Ù£Ø–‘؆±èj» à"¼Ó¸­8×v¦+v2™Œ9Áh¬^TüEõ«ŒaR2wfOÆHçòÜ_ òŽ®ïûXXXHÅÝé“'OâÑ£G€jµê|M¥RÁÆÆ®^½ÚÑs¢ååe¼óÎ;ÿMÁì]¾|Ù<&cwñâEó˜ ÔF!ÁéI{VVVðäÉ”ËåCmúôiÓ·‚ €ïû¸páBìgܸqëëëøøã1;;‹J¥‚;wîzÝ•+WpíÚµXt^«ø»}û6Þzë-lnnŽmÜf/‚¦yðà>ûì3ÌÌÌàÞ½{xë­·Rµ^"}cÐO/89$ kåyÞ¡oFØ™l!´óœkŒäò{’3w8z6*­ÓôýŒãN‹ögʱ2™Œ¹‰ÃÜ‹Es\ù¦Œ;:[×ßȉŠ?W¿Ð#Æ0)Û2.Ìž~Ìó¼®n'1sò yŽ˜=*vüCbö¨!31{ýÿEQT Es§(Š¢¹SEQã bö¨‰šGÆãeRbˆ™;EQÔ$gîü¶ 3§^ÅoË0fÆ%^ÒCÌÜ)Š¢R(š;EQÍ¢(Š¢¹SEQ4÷$hjjª ›¶··çÄ–­¬¬ Ñh˜÷èŸÛ·o7óþýûæ9Æ’ãŠä3ä3íŸ^pnÔðc&..Z!ðtÌܾ}ÛÄÚÞÞæææ vO#ÿìcnmm5Å•ýC¥CQñ60sßßß?dã ÏóðäÉó÷öö6 …‚Y\a¢^¯ãí·ßƽ{÷Ìë‚ @†¨V«xùò¥1ñ‡b{{A loo7-d9®þýܹs¦r ;ÌÎÎND°V*•&n¨6N1*}RLjÌÄÅ…ýÜææ¦Y'÷ïßoŠ™?ýéO¸wïö÷÷qóæM¬¯¯#¬¯¯ãæÍ›†·ªÐh4L\Éñ‚ @¹\Nu ‰ÿ@­VÃÒÒ¦¦¦°´´Ô´æÒ (¿XUH©E­ë*C¶¨š×Q(4W]lýœÍÑ”ÚÒ­ÞWç;íU!;AÕ%!–¢b&n~íçô1ìçÊår˜ÏçÃ\.gXº®¼ÆîÅaó†31¬£Z­šJšÚÉçóa½^7¿§¡J­-{ž ÈÖæ>*c7Fϵ@¢±<'åYuß5ŠæîV'¨º$ÄRTÌDÅ…+fìR½í–жËGË1]±+F/P‘´š»œ[KÚÍ}`°ß÷qöìÙ¦ËéqØV8rär¹ž={†o¿ýù|>öõÓÓÓ‘Ï:uŠ‚]è׿þ5`kk «««(‹ØÚÚÂÛo¿>ø Õ1·UÕŽNž<Ù´]õ\>Ÿ7ãœ&Ý¿|ðÞ{ï=.¤AnËH±|ŒË™Rð€ Ám™áebí¢ê:I :–\1Ó¯mMt²-Ó äžÖm8 #Ìܠׯ_å ïüùóøŸÿùŸ‡žo4ð}ß™¡Õj5ܹsÇÜP»qãnݺ…?þpëÖ-ܸqÃdV<À‡~xðàÁ¡lkåÂì¹Pu333c3v\ØÏi^¡PÀ;wð«_ý ðé§Ÿ¢P(àÌ™3¸~ý:~ô£áرcxõêVWW±±±á¼š€ï¾ûÎ<¦oLOOO'jüú˜¬š¾ž®_¿Žƒƒ\¿~W¯^EØØØÀÝ»w±µµÕļ K£ÏB¶OÚg›ôþþ>.]ºdŽáê[Öíàà`lX¬Q˜==&KKKCmS»ñ¥Û¾¸¸ˆƒƒƒÈùU|¹ÖÀÁÁAÓ˜ktß8JcöôÉ0rÅæúúúàªBjTZ¡Pè mÕîg#/&5²¡ªå‹ÅC5ž¥æu¡çy¦ Ÿïû¡ïû‘uÖõkuíí\.g^ƒHLB`BØ>©¨iSs …‚©îêbê‡g³Ùpww÷.‰U!]˜=©OÞ-I=Öo7¾\mšÏQÅ—k d³YS+^hWãZÒÆìéÊ«£®V9ˆ*œvlÊü ³'*°a˜»þ,Ïó ÌÀ.© Mƒ4×U.—-ß÷[²<õ-•Ja©T2AŵԦ!}Ïd2Æ82™Œ) ìê"°n2&ÚÚÁ"A˜=mfÂç…¹·Š/WÛ£æsTñåú»X,š˜è®“TÌ^¿À7I7w‰MÇ 4s—L@ê™ÒÜõÏîî®ÉôJ¥RX(«káhÒM½^7ïÑÆ"?2zqÀ"¿È@ …°X,š€‹[|år9,•JÆ,ŠÅb˜ÍfÃr¹lˆ;Q}C –k\ß“dîÚä2™LX,à ÂB¡Öëõ®2Kô‘îÓN|é¶»æs”ñr|›ø4.æ.c1ªYRÍÝŽM¹z(¬C.²Ùì@1{® •@‡µåz ò–E® ÒÎ4Ëå²AÆi(v\ð•ËeÓ½ˆeÁEõ-j[Fgëã¹»0{år¹i+CÄìu_z¾uÛíùe|¹úµ»»Û”¹ë¶ " $“¹kì†êƒðÙgŸ¡^¯ãüùó¸råÊPo2ø¾ß÷ÍM*ÏóðäÉ“È×?~üù|ÞÀ‹wvvpæÌ™ØÏ¸qãÖ××Í ¿J¥‚;wî4½fff=£G"±f6¶ï‹/¾07¿^¼x\.ß÷ p»¾i¬Ûôô4²Ù,ž?ŽçÏŸ#›Ívi–³·¹¹iæàéÓ§¸uëöööÉdFЉ‹šƒååe\½zµ©í®ùe|¹´±±ßã13™ÌXÞ\”ù‚Àü=Izüø1<Ïû¾ßƒ:[Ée%ø¸Adî:‹Óp`‘½h¿Go#ÙûÛq¸»b±Ø„=“ŒN¿'ŸÏ›Êò\¶ÏÆ‚•ËeÓö¸¾!ë¦/ýÛE"A˜½z½nö”»Á6öš ¶_®¶GÍç¨âËÕ¯~`1“²çîÓ~ +“š¹ëØÔèEbö¨Øñ‰Ù£†<ÎÄìõGüªEQ)Í¢(ŠæNQEƒˆÙ£&jKŒ—I‰!fîEQ“œ¹óÛ2Ìœz¿-Ø—xIC 1s§(ŠJ¡hîEQ4wŠ¢(ŠæNQEÑÜ»1{îq fñEÌÞdÆæ@0{6¾ â­Ìž^za ƒÖh4°²²r3× fOBÒ…Ù«T*˜››;d°ÃP/˜½¨ùLfÏŽûñq“ÆìÉ›QÅfß1{.|—T\ìñÖK=wtˆÙ“çÊÏMªüÕëõ°T*™Š½`öºA!A˜=Går9ô“†Ùó}¿©&ü¸š{f¯Z­†žç™>¦ÉÜ1LÌÞ(3w½¸Ð&fO¸èÂ(1h²¸õã½`ö¢þNª¹»0{;Ò¿N #Äì¹æ3i˜=h¤ŒaRÌXŠÀQì«÷4nË ³'â­SÌÞëׯ›þ%Íó<ƒ<{ñâ²ÙlO˜½q“ ³7==\.‡W¯^™ñžY;Áì¹æ3i˜½§OŸš¾ÈMºQb »UèÀì-//ccc—/_Ný·gŽÙ³ÏúÝ Þ:ÍÜ{Áì¹cIÁìIFÖ+f¯Ô„Ù“öK?dz§ç3I˜½v—=w=¦2W½^‘$9s'fêjüCbö¨!31{ýÿ‡*EQT Es§(Š¢¹SEQã bö¨‰šGÆãeRbˆ™;EQÔ$gîü¶ 3§^ÅoË0fÆ%^ÒCÌÜ)Š¢R(š;EQÍ¢(Š¢¹'L­ˆ7ƒ$êÀÇÍã¢!¤-;ÈóúGÓw¨dÄO¥Ré! ’(ê“Êܾ}Û9ZQ™HèšÌØ ‰Iø(E¼iEÔÑôW_Zud±mnn"A€ííí¦Å¸¶¶fÞßh4°¶¶ÖÔvMXÚÜÜÄÖÖ–9) šr5Š@µÇ~iiéPð&%~`}}óóó¨Õj±qï"5É< eËEÖÙßßÇêê*J¥‚ ÀË—/›È]@4•ÉŽMè%mÒ$&ÝGY7i“+6‡Bbê†4ˆB=QePÛ%êDõ¥QÇ.è#…õ¥>;T o]tIF©¢bêw÷£(Ñ( ‡¹Æ¾Z­š~ºEÈ¥¨ù•âTÙlÖ”eŽŠ•¨¸Ê"JS €BÆrÕƒwQ™S º[JZ’ ‡Ù$&MðBÊ`±±9èzîÝÖ†¹ ñ¦]¢NÔqZudñGÕ±ÇUû¤²_>Ÿ7ÆW³¹J’Í½ÕØÛ`ŒQ™»Ì¯oŠÅ¢9aG½'ªoR%Ô'ô@eBÄEŽß k!Éæ®IL’tÖëõ–ë0Mæîûþdš»þ‘ h‡¨ãêK;Dýz»«ôSðfQ»ÌÝ•¹Ûp‡q4÷¸±·3ØQ˜»=¿’ËœéÌ0*îuß4e ²Ž°Ê×¶¢2E™»6À~%H(‰IŽë ¤ÉÜ›~&9s7g8QÇEr§¢Žp»Ž!Ÿ™ÉdÌ Æõ¼k[F E.C»­U$s{9©u“y "sw¬Å4£Þã"5iÊV”ÁÚ¦¤³üVT¦¨m™^(iI5w8êéëíP4¥9sÃ0œø¯BFu\4 —Ú!êLOO#ŸÏ£P( Ñh ÑhàÁƒ‡^wåÊ\»v W®\‰½a½±±«W¯¢ÑhàáǨV«ØØØ@&“KzŽ­¨±üø1òùüPH^íJ“oäF–ÜÌtÉEjÒ”­(ݸqŸ~ú)jµ†¹™ªÕ•IºFEI¤B‰i~~Þ|«éõë×Èd2“anƒÊÜí ²S РΔv:%긎Ó.Q§^¯‡ù|ÞKn>ëñÒY–½õ¢ô6…\yH¶Ÿ†ªQcoß°v,¹æ×¾QnÇ”~‹ $s·vô–e+“É4Q—dOߦ2!†ÐÕ-%-É{îö¸—J%³¦…´–¶ÌÝ›$1Q±ã’ÄD yœIbêø?T)Š¢R(š;EQÍ¢(Š¢¹SEQ#1{ÔDÍ#c‰ñ2)1ÄÌ¢(j’3w~’™S¯âW!3ã/iˆ!fîEQ)Í¢(ŠæNQEÑÜÇ@6ÊL¨-òœ oçBZiª’Æé­¬¬4Ñyööö NmnnÎ|¶ë˜Bq=Ço}Œ&V¢xIÅ4¶BðQÃW¿pŸ-cfåZa?Òei;©¥Œ!ê) ¡çyο¡Š)IZqIJ­JéVég¹\óù¼©Õ-Œvwwà L‘2»æ»]–U“Ÿ~–öMZá0OXÑtyæNkr£O­l†.—k“Œ\kÁUäIê¹»€ RTLÀ 2ÿšèEaÒ倡JþjˆH.—kŠ'=Ö½òÂat÷Ø( ‡Eͳ+Ž¢ÖB;13̬ºÓíÖŒ†¹Ûƒ#H®¸:ê®ÚÉòœ~¿,p9Y¸@B€Š‚ ¡—dsw¡ètMüni¿Í]ÿíÂ4v‚œ$¦±‚OWÚì¥Öy’ÌÝÆìE=–sï÷ÙNÌ ÖQ­VM R ¬v†R‰M(@‡nÚÄÛÙІ¨¬:.‹‹›$WæÞ-rÌÝ…¢ÓY°\%!sö1Q'×â$¦±‚OtºÜõ¸›»Ù‹z,I™{§¸Ï¶bfÐæng°€I2÷|> 3°QýèÖÜåïvÌ]ÿHÆïz®“q7s·/1%Ðu=sÛD‡i:P„1Þ(Lc+s4¦±‚Ïî[·õò“bî.Ì^zo”æŽ.qŸíÆÌ_ ãÂýû÷±½½ëׯãƒ>HÜ Ž .`}}'NœÀÂÂBäë¾ùæd³Ù–Ï}óÍ7†„S©TpüøqT«Uär9|õÕWM”œ¯¾ú ¹\Îü-ÿABÞ·¼¼|è¹´«V«áÚµk€ œ9sF×®]C¹\?~?ûÙÏpäÈ‘¡¶-ÌÎÎ6Ýœ€³gÏ6ݔׯiu<›¼eÏs£Ñ01133ƒ0 qpp€“'Oš×;v ™L÷ïßG&“Á±cÇšŽqêÔ)üö·¿ð=éJßà?wîÂ0ÄÞÞæççÇ:Î$nôÍf×ñ$ôQ·!*ŽŽ=zh-ìïï·37÷Û·oã­·ÞÂææfbâäÉ“xôè Z­FŽàí\w¿õs8v즧§Q(àyŽ9‚_üâ¸~ý:~ô£áرcxõêVWW±±±qè˜røî»ïš&[4== ¤žK‚Ù»|ùò¡çŽ= xã7FÞVÁê]¼xÑ|KåÉ“'m›ûÎÎ.\¸ûi”oÅÄa …‚3ž$ÆõZ”¸½xñb*tbrròÓ¦çz,)ŠŠ£r¹|h-´3ÇìÁk÷›"ÖÊó¼Cßv@ÞÎ….ÓÛúfZ>ŸoÚ+Õ?}“Ì…É’K,×ç ë^Ä(¶e¢úªoꛋÃÜ.б‡ilç>‹Ü($¦±‚O[¦]Ò¾-ãËnPŸƒð£^qŸíÆ 1{Tìø‡ÄìQCgböú#þUŠ¢¨ŠæNQEs§(Š¢hîEQÔHDÌ5QóÈXb¼LJ 1s§(ŠšäÌ_…dæÔ«øUHÆÌ¸ÄKbˆ™;EQT Es§(Š¢¹SEQ4÷!i”ø³ýý},..lžâ‹Â›ÙÇ\YY1ÕÿZµ'ªovoß¾ÍOIœÄì1þ:C‚öÝÜkµÚ¡ÀÙÛÛs.ˆ~*„aˆR©„ùùy4 4 œ={·nÝŠmc¥R1½´´d˜§•J§OŸ6¦ûܾïãúõë888Àõë×qõêUA€ ܽ{[[[æ=º¿¾ï€i›³^¯ãí·ßƽ{÷œµ´´d äÒ¥K殾É8T«U¼|ùÒ˜ÀþþþÀç _Òó177gLS÷¡#UœÕj5,--™9Õ¥|ãâL yssA loo7öÚÚšy£ÑÀÚÚšù=.£ÆzÜ%±¢çaÜ“žB¡€íímó÷“'Oàyžsíonnb¨˜½Nñhí~6zÄŸi”U¡P0•óZ¡¬<Ï …BS[Ö oG^’j}A4q- …‚ùÝÕ7{š[] ‘ Ì^¯ØA$³'U¥Âc»q6hÌžk¬Ó„Ù“~öJ1ëԶCpj…8‰©^¯›àéÖ¹wƒ?‹z+””× À…7‹c¦êÏÑÄ%]êÓÕ7W{ðCyÜnP‡Hfϯ¸±O*fOÿÞ12m@˜½(Œ[š0{B¥Âår»…ËÚÜu µ…fOŽcgºý2wô€?Ó`A¹µƒ²ÒÇЙÚÀ›E™»žBËdI¦Õ·¨q—ctŠ:DÂ0{öØI¦:.˜=—¹'³guš0{¥RÉô«X,â6Œ“¹w„´¹ïîCÃŽ¹-#Áj/×%µ´K.ã²Ù¬Ù ‘QTF£·LìŒ]þ-—Ëa6› ³Ùl/5î\Ú/ U}é×·¸m™r¹Üñ╹W«U3fz|Űd®:ÉÀ±-Óiœ¹Ì½8³OôQ[n™LÆœ`Úè±WsGÈö q5÷R©ÔÓŽŠÍÝÝÝpàß–ÙØØÀÎÎNÓcÃÀ£ ¶JnNyž‡'Ož8_ûàÁ|öÙg¨×ë8þ<®\¹‚œ9s&ö3nܸõõusªR©àÎ;M¯¼Ù£G"±xF¾ï#ŸÏ7µ_3Æ÷}œ:uªí¾Õj5ܹsÇ ×–——±±±áD×%M‚ÙÛÜÜ4sÐh4ððáCT«Ulll “É$3ØIœåóyø¾ß4ßíÄ™ÆìÉ Ü8ÌžÍ׌‹C×X³d‚ 0ñÅæË /^¼hb› º¶¶†óçÏG~©ecccð˜=ã5ˆKiôˆ?Ó7 <Ï3—Êí ¬ŠÅb6O2¹Vx3ûòZ>7j‹FÚÞ ’K2By:D"a˜=[ÉLG‘QögÕj5Ìår!€0—Ë™£Äì¡ÏøF$³gû8ï¹Ë=žv ÄìQ±ã³G yœ‰Ùëø?T)Š¢R(š;EQÍ¢(Š¢¹SEQ#1{ÔDÍ#c‰ñ2)1ÄÌ¢(j’3w~’™S¯âW!3ã/iˆ!fîEQ)Í¢(ŠæNQEÑÜ¢(Òµðí"Svq¤vHKI-¦‹Íé²ÊºÞù( ‡õ#¦t»[ÅÀ:¤D´Ž(º’. UL,îùV…ÊÆ½p˜†©Ôëu(é¦è\Ò ‡ÙýŒò˜¡`öêõzKrѰÌ݆hP‡ !mw¡È{‡ˆÞB„Ñ‹ÉfpáÏS›]UMÂmÍ]ω†PVL°vI1÷NcJƒ%ââÇFëI’¡ûãBëµó¼+†Òbî6fO¯ 9¡¦ÅÜ㥵ŸÅmˤÝÜ5šQ )É™{«˜rá[Å ­§ã1h={kÇõ|ZÍøˆÞžwÌ^'3ðoË<}úÔ ¯ ‚‘ãÑ?~ ÏóL»•¸qtËË˸zõjŠLcï¢tãÆ |ú駨Õjh4õ¥Õ†ÏFæ¹äB¸«4šñõë×Èd2˜žžF6›ÅóçÏñüùsd³YLOO'¦ÍQ1…l?­?qh½vžO›BfÏó<O/^¼@6›MMc=fP™»+;å·eôçÚ7ªôþ¦ë*Õ D¡Ô\—‰PØ»L&Ó„ÙÓ7|ô±̳3EÝá6®™»f´¯H’òm™vcÊÆjlb\üØh=?ˆAëécF=´ì¹Û}ÓkC®Ó’¹Çy 1{Tìø‡ÄìQCgböú#þUŠ¢¨ŠæNQEs§(Š¢hîEQÔHDÌ5QóÈXb¼LJ 1s§(ŠšäÌ_…dæÔ«øUHÆÌ¸ÄKbˆ™;EQT Es§(Š¢¹SEQ4÷„h1{6joeeå/ø,*51EÌÞäÉ…ÑÜßßìïïãàà í؉;ÖP0{P°4Vn”°ŽN0{º`•¦ž ³§K“ºèJ®qŽBŽsá0»¤i·Å®Ì^'ñ3HÌ^/EØÆ¡p˜ ÍéÖƒCvÙaáDÈÙõæ]ëZxQÇê;¬Ã…Ù“†I€vR­ Âìíîîc‘> ³W{Û5ÎQˆÃq4÷(Ì^/h8Œ³''¨Nãg˜½^…I7w³'Õ1eLu²s—¿e.´‘G­káÄùÄÀaÚÄ:X$³'Ø79QI64HÌž *eq¯GswaözL`D˜=y­6÷vâg˜½^Á'I7w³§ ±¶ð 3÷l6zžú¾ær¹&Xk]çr¹¦’Îö±ªÕêp̽P(„õzýæk˜æŽ>`öô jИ½(s··»Òhîöûtœ$so7¦ìzÛú²:êXƒÄìõŠ,L²¹»0{:YëeË²ßæ‹Ú%I€ÔdZךà:–lÜÜËår“qbÌ0{rRÉ4f¯$ZZÍÝ…ÙKræSÚTô¶Ì(1{iÎÜáëHFëyÞÈûÃbîú'ê*]Nqë¡^¯³wëÖ-4 ìííÌØ(Õ fozzóóóæ´`߆‰ÙK:¯¹0{IW\Lɾù曀7Þxc¤˜½¤# {QèÀìßc1çææÛn‰i¿çyxòä‰óµ;;;÷?ÇìÕëu³×§‘iÃÎÜ{ÁìÉ·^¤òw-€öB ½IDAT;W#ÝböìLÐó¼CÙ•ësÓöm;f’ôm™vcÊþV0{iÿ¶Œ'ýXýŠ!"ÓÞ¶ï5éö˽šVë˜=*vüCbö¨!31{ýÿ‡*EQT Es§(Š¢¹SEQ4wŠ¢(j$"fš¨yd,1^&%†˜¹SEMræÎ¯B2sêUü*$cf\â% 1ÄÌ¢(*…¢¹SEÑÜ)Š¢(šû‡)ë[åR+”Õþþ>155…¹¹9ƒÍFO?²ûf·QcÙ¨ÖŠ›ç$áóîß¿¨ÍòœŽ‡½½=óœÝ~ý>{-ó8qÖÊ›únîµZ͈îŒ{¯ÌÒ(A€0 Q*•0??F£F£³gÏâÖ­[Mm3^\\ÄÁÁjµ–––055…¥¥%Äûûû¸té’ù[Wü»~ý:pýúu\½zA`ccwïÞÅÖÖ–yî¯T ”¶É1ëõ:Þ~ûmSõoßLÔÖÖV“™_ºtÉÃjµŠ—/_#888p3‰:88h:aJ°ŠYéÇú©¨y€õõuÌÏÏ£V«EžL—––Í“+.·¶¶°¹¹‰ ^¾|Ùdðkkk¦-FkkkMí¼víšY_ÚpíJ‚ÛÛÛ( ÎöÇu«øÉŠ[O£R§q¦×®œ¼+• NŸ>{¬cöÂ0lÂÔuRS¹ÝÏFDíc¶J€ RC9“ɘªŒ6«T0hQµÕ=Ï3u•E¥R©‰mˆ.0z­°lR5Îî›=ú˜Q¨À$V…ŒÂìÁ@ìg¢æDªöÙø¼(|Û ñyžçЇn³Ì“Ïsµ?ª8:à $µ*¤Ù‹ZOI©çÞ*Î\HÄD`ö¤Á2Ø:¨aîsçÂVåóy3¹®²§¶ÉÖëõH”„ÑC ,[TßïˆB&ÑÜ]˜½(â Í]æ9 Ÿ§_§©]ƒÆçIÉi›Ø¤­wµ¿Ssoƒbö¢ÖSRÌ=.΢À*‰ÁìÁB‡µ;¸˜;,L™z¶J²v¹Ú°Û«1hQ(+DªµIwƒÑ³©,R‹[³^]}‹2wÍ×.Ë ÄìE!ûiîö<Ç!mbÒ0ðyAƒ·'ÆV(̹Úß­¹·ª‰Žbö\ë) æÞNœ¹âEó$FŠÙ³3˜N·Ûm™8l•ÆÚ‰Á¹Ì]cТ‚Ë$5]bôôe»d®º=Q}‹Ú–‰B&ÕÜ£0{…BÁ\¢¢ ®yŽC2ºðmÃÂçÉÕ[.—;”¹yžgâ;ªýiÝ–³çZOIÊÜãâÌ•¹'³7==\.‡W¯^™›³³³¿i…­Z^^ÆÕ«W±¹¹iPUù|¾ï7áìÚÅè­¯¯7Ýä¸sçNÓkºÅè½~ýúP¤=í ¹jµîܹƒB¡‰ Lª\˜=¹á¸¹¹‰>ø`hmi…ϳñmÃÂçß#!?ù䓦ÇΟ?µµ5»Ç¡¬ŠÅ¢9®dØú»Œž™Ó—aôMßìµQíÌ„ÙsÍ['Ø´vÚàšç8|ž{ÃÄçÙ_b°oHËÕDTû]™¢\%µ‹yÌ^¶1 ˜½Vqfß$fêËø³G {œ‰Ùëø?T)Š¢R(š;EQÍ¢(Š¢¹SEQ#1{ÔDÍ#c‰ñ2)1ÄÌ¢(*'Çß £(ŠJ˜¹SEÑÜ)Š¢(š;EQ•\s×”ù;ŽhR©TBÊé—l‚Ž Ëƒ×‰:}›¤ŒS'}<œÝîýý}Cê–x³··gL+++†Fsÿþ}'JLÚ-…Ûº™¿~Ïï(Oã@ßꇸæ*é^4Èk;sÿä“OÚ¤¯¾ú gÏžø Ôj5,..v¸º2^.—ƒïûxÿý÷‡2‘zl†5NýÔ¿üË¿ ŸÏãïþîïš?{ö,¾úê«®»¿¿ùùyœ8qÅb;;;øçþç¦J…2o¾ïãèÑ£æq»ç¤jãiÐýIÛ˜t¤Nª¡iÆ I½r É€ª$'ðÚ­,×nQ~8êkwZåMWN”ŠŽžç5Ui“Búvå6×{„Š$ýÎd2‘cc“C“>¶€ìרy­ÆóÁªk-Ç‘ ‚v(¸Ú£Û¬ëØë¹ v¹\®é½­â —Ë5!â4äEŽï" éöhúN«ù¨†ÝG©*ïúM6› ëõºsL¥º¨ô[ÚÒIü]K¿VǸþ]>CâKÇ“rLqíÒ1"ØH½ÞOéŠS™ß¨õäŠ=v…BáÐZ‰jo\»¼ÈµÆ\U^åXRŸ «i{žžÇ¨ßí1hµþúRµ]”ÉÐ0 )7Y(L°—ËåC¿KÐJ@¸ŒµN¢nK?Í]0W‚w“þËèr»ò!ßȉ±ïîîšÇ]c#¿çóyƒÚÊf³M㤱aúw»ßz¡K€Ê‹Å&ÌŸôI— ÖrµGÏ·^2Fò8ŠFåŠ;Æ\ó#ã$ ͆–Š.ÎÜ‹ÅbÓüÐbww׌‹^€Ùl¶i¬õºÆTÌV÷ «×*~ÄÔõïš°e›»˜ùîî®9éèxj­Ú¥ç:—Ë™“7:Ní9w­'IìXù÷Búãj¯ŒA\·³Æì„B¯eݔٞ×ÊÜõ´³þ†jî‰tÑì×éÇõ™X#ád1ö£Vx¿Í]ÿîªq­³ý16=¡öãQA _¯ktGemQæî:†ÌÔ´ÖÙhTMðvÚ5®ß£â ÊÜeÌô"Ò?züd^\PÔüÈÉUNÂ’…KŸ%yÐ [·ÏÓ¨1ë$~âbÃOTˆÙ»Nnýh—=®¸‰k£}B£ÑèhL?.\@¡PÀï~÷;,,,`{{»£¸è¤]öX "âÆ>j©éééCE‘Ô’ª¿êäų³³M‹Hpb÷ïß7¯9uꔹ±vpp€\.¸|ù2¾þúküùϬ¬¬`nn®ïßïã¾÷Þ{æf<}úÔ<¦uÿþ}Ó·S§N!ŸÏãîÝ»x÷ÝwñüùsçØˆÏç±¹¹‰¿þë¿Æææf×H39ÆÝ»wqá¼|ùpæÌ|úé§MóvïÞ=œ;wwïÞ=tœnÚ.\¸à|.*D¿øÅ/pöìY¬¬¬àøñãxôèà§?ý)¾þúë–Ÿýá‡Æš»=? Èçóxï½÷ÌÜzž‡ÍÍM¼ûî»ØØØÀ‰' BïáÇ8~ü8>ÿüsüøÇ?>4¦ò~™sÓvã§•?}úÿû¿ÿkûÇüG\¸pëëëxøð!vvvL[¡,í¸hÕ.ùýáÇØÛÛܼyóPÜt§®XøÓŸþ„ÍÍMsÓ^0yÒW{EqqÜÉ“ÏøüóÏ#åyß|óIL~ûÛ߯ö?nýõÓ¿:þžû‡~Øt&ÛÝÝÅöö6¶··±»»‹™™3H<ÀÇ ˜ŸŸÇý×aaa°¶¶†o¿ý¶ïg«~wvv¾ïcuu«««8~ü¸“[.—ñûßÿÅb333øå/‰K—.áæÍ›xöì™slôï¿üå/qâÄ ¬®®âĉøå/ÙU{=ŠÕÕUœ>}ËËË8þ<²Ù,®_¿Ž¿ù›¿¼ùæ›ð}¿ÿýï±±±á4äNÛãy>úè#óuH[Qq :sæ vwwñõ×_ãÚµkð<ÙlÿýßÿÝQâ%{~|ßÇG}„[·n™yX^^Ɖ'póæMœ8qËËËM±žÏçqíÚ5ç˜Öj5,//ãôéÓ¸yó&NŸ>ÝQü´ºÊØÙÙiú6ÒÆÆ¾þúkÌÏÏã»ï¾ÃÆÆFS<µŠ‹VíšE±X4ÆóñÇ›õþìÙ3ܼy—.]ê*N]±°¼¼Œ£GâîÝ»(‹˜m꫽/^lǬ1éóï~÷;”ËegÛ£<ïܹsÈårX]]mú&WÔ1¢ÚÝOÿbm™ijj ¾ïÅvW;j4ÎËãN´µµ…………¡ ÑäêàܹsØÞÞÆ×_m²Q*ù:88ÀƒÌÐÂÂvww‡ dï§ø?T©ÄªWc¶Þÿ}<{ö óóóøúë¯M†J‡fggñöÛocaa ( ckìÌÜ)Š¢R*fîEQ4wŠ¢(ŠæNQEÑÜ)Š¢(š;EQEs§(Š¢¹SEQ4wŠ¢(ŠæNQEÑÜ)Š¢(š;EQÍC@QEs§(Š¢hîEQÍ¢(Š¢¹SEQ4wŠ¢(š;EQEs§(Š¢hîEQÍ¢(Š¢¹SEÑÜ)Š¢(š;EQEs§(Š¢F ÿùàU‰ëkáoIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/tragesym/gschem_showhidden.png0000644000175000017500000002341313634703632021562 00000000000000‰PNG  IHDRêÀ<î7bKGDÿÿÿ ½§“ pHYsˆœ/–žtIMEÖ Æ©pjtEXtCommentCreated with The GIMPïd%n IDATxÚí[–ä(²E¥\1±Ž+†ÆýÈR^œàa€! ±w/ïÊð‡\:˜€sÇá0ÍŠ¡B@¨€P¡¼ˆ¯Õ€sÇqžõŸñ‰}>wÜð5¹ÁUsN¥ïj9& Ô× ;%”šF@zÌR£Qj+©ï–"-E*×8ä<Ö¹ÏçjDš:& T󢫹h[.p覮þ1ÿµ¿H}ÕÄ&I!c¯ßÿ­`ËÅG±žÏj‚€‰¨S¸£JLx÷¿S¯§¢lm´‘gg@D&ÚûBLõÑr}M ¦ú°=}U"*¼J¨Ò(¦Ù¯+ÝféMýÏøBK9 R„jÍ S"´ÞÛ)9‘¶þ&D &ú¨%aIogôDii߯vCïço¡#Røs]×´/ÿù¹’óu])£†HÃãùÇ•F¾óŒŸ·ä˜Ò lœ¤d3ë’ó{nç1i‡‡ëºŽïïï'ôýýM³ `-õ½…‰@è£ZN?¬0-õ€…"j/ÒA&K3zZfO1# ¡nCébB þ-éŒ'D Ûµt«D{­g,bæÖ½>u^€P_•*hžZ ïcÙen­ëKS3“¤ß›zOÏTÁܱ‰¦0]¨á…èO›‹]¬±iu¹)†Ò=J"‘Š»§±ª¶@êkF´ás¥hêÒô®°‰}﨔´u¿% ¢šîSJvì“ôÿzwoœ{é\SýSXF¨µª‰–£…Ð"ÒšFH}MGÓ§ÄÔ{n©"–®ÁrBÍ-sË-I{"Zç¾7vn5ÂnùM{oXæ@DMÃ27€…ú¨,s0œúÀBª˜™kCGîðïà‹"˜ß@0…ˆ¨ußYk3pm¯ õ}¤_X2‚ò'ÓKI½¿f^­?c*æÞû¦û¨=ý3Égs‹»s"Í­“•œ ¢„W õÉA*ÚØn ÒÑ$‘¶¥„zì$V?Bj 'uÜÖ5«lÃ![&•DÛ=PêöV³ h¯$ Ts©j*•”"MCÃí^$ÑMº-¨äóŒö‚9¡æÖ£úb¥ªÒÁ›p´¶´Æ4&ÖRŸ5vžO¤ã°Qx°€ˆš‚õ¨ õQY `8õ€…"jÈJ£ž³ÎU2Jü´µc8P7kÉ^Ï‚·¿§~/ËÜ^Hj.òèÑäÜÜìÊyäïýcµh¹ïj¹ÌbÊÌ}„-¯ê©ÇÑ+ŸÂs3×G]¡®±Î]F9S­ÖßÔúy õË&¤ç%1ó…Øâ„°tê[2òM‰¢$˜ÔÅ—ÛP;eD•š‘»(¤ß¯Y©­ÇIùðŒpM½ÕÖùSliú§vñeA¤©ŠÈÙ.JZµR%Ô¼Þ2-0vÞ¹‹ÓÚÖXù×/KfåÒÈÒµR1Sדu¾,‰´ôZxÁ¤ ZC¤Òˆ#9÷wlH•® 4/x‰p[ÊU’ÍÌlL§¾µ)qlþîÌÈc©‚Wìãþ\KÔï 2¯ì£ö\´O¦1ÖðDäÑÔ˜lõšJkÔ¡¤œµ¯•?V/¬0ZÆú¯á@GigEðûŸŒr©å-t®üWÌZ¿'u »:³ ¯ëúµD,Õ‡¨µ>Ì-=“ö±R番¬Ô½–þWm?+÷Û¥÷QS¿§uϨR:nip®»“û;w=I~Cª\ºNTàƒenËöõ`LLx¸E Sß[¤°@Dã5Ö7|+3ïŽøNÍÍç`1¡H„¿[£€Paªs ß{æq¿ Ž“òªœ—¿rë=aÈ”Óa`0Iº¬)µƒ@êsµnp±ç{—Îå"t"FjýixÍ¥t’Ï×,ó«ùþÚh*]ƒZ³€£w÷†Rùå&ðÄ>·Ì2·ØÌ¨´eIN$¹¥kµ+xZg¶”Dœû-%!jœŸv}õéâpi‘{oîº.•møúŸÙ"-½i$\3•/×—J»v~°f š^hbå?žHQG¤óþïJeL±ß¾×KêÒ?·D³¦4ÓGí±?œÝ:÷žƒvcSÓ8ÌX [¬Pu[3ŽÞã´.hvÙ$e¿Ü`ÒÌÁÍï–ö+GãÌÍΞ>Eü­)¿Ô7©ÄôÛ35÷Êj—]Í\êö”XrKÿ¬[šØ3ˆ‹bÒ¥Ž±÷Jv¨Ùé#ìbôtÛL¸¹Å– •–5I–¹…¯ÇŽ/í³J¿¯Fˆ-›7—–m•Z히+݆&õgDòÞ%…5õ˜ª×ØrÃTݧΗen04‚îpŸô‰ß‰›Àã&,sƒ¥/àmÊò`™€y˜”€PŸëÌÇþýôwKž_©,Gÿ&Ö¯ÊË„ˆjH¤¾£:ù‰}tsÏl%Të3q€ìD‹/k…-™V›å!=fn2znµDîµ/´ÒÊÜùH_­+[Í{[­1¥å›³·¨™à_Sö-¿UrL©&Ì­žÑ^cKEsk['—ÒÝTcRëGšÚÍ¿õ÷IÊ/u•¾O2m0÷{¤•ÔKìïÔwç¾£ö·¶¬öŠc»>j­cs6¥Ç¬±[õ{žXº¦ùý%Q—¬BrëEµl9f”µ¹ÔׂxŸ*üiµ#䧇V¿ÚRYiîq¥U挌G 7µõ‹•õ™+¥¦<‡'5_­ZöK¤¾ZâÍ i»Æ¥;v.½¿sVä ×Yö,U¥  UöµÇ”Þ¹ø3sRüÏÏ•\/zŸWlýžÄZ¯ôziC©Ze&±•”Ñ/³»Éžn@x–¬ k~ÏÈ(W[ö-×VK¹†×ÿ¿¾ùÁzTó°¡>—F¼Ö£QehÎÙµjQ8ò{J¤•–®Õn°6»¼wÄœ¥è–ŸtËÌÑ!ÒÍ"*<ßÈ•ns}Ôh‹¬½õÝ“ß~WÍl›š`=&UðÒÔ77‹¤táÅ^×c}'Cî{jÒE‰Ídn‡öÇ4 Ç6Ø šº%V‹Ò «w6RÍÅ,Y +±ã“ü¶”h¥bËMk¬]C õQÃá1ÏŽ‘…Ç«8½knwëtÆÑÔ–6‹¨ËwúÑ]Ë‹…4•ˆºÔÅ?ûx­‘ÊOq5ƒö€P³Ñ&ætUcóëμ÷—räÒ¾wi¿¨ÚÏro¡þâ^–•ëÇå–Mµ\€’~ –ua®šZ UûÛÂedµËãzm‰¾±ãÅËÜèÃB Z0ÚGe™À"ò˜œ™´Z¿²v›ÈÚ9µ£Û©ã¶:´üFx¹P—MM„›=Ø®4vÌÚ`É9 Ìû¨o®ÄÍ­4=¯´@@ê5Óã{ʽU"ê6QväÅž›œ_“v×:a7jMk/ݽwùœv:Úr<íþz)=/¥Ï,‰ÛX¨¹í@böáR0i¯VØ1§®§D^+Üš¥~ÒϦ––"6¼P¨¥uµë%µDÚr!j 3´‰(õ…[FeK¿1"Ô®”8¶¼÷‚Ê]èV ¤j·O!5E¨S.ÔR‹¯±¨{äoyR8­»<<]. ãÏl!–VŠHn1HÓÚ×G¥|¥‘XI¿Qòùšï¥Î¹å†DëÍ„s“ºc•ÒÓW1ÉëQ'¶Ì­g3²Ü¹—~¿ÿ½©åw¥×áÁ vàæ@DM›À"©ïYÀhê ET(3÷>ªËÄùž÷úŸ9¾ßu¼î*Ïy@K‹hò©‚Y¡æD»ØO¡Ðj‰S¡A(½¾ÀÕîmŒC¬6R_«ƒ9ÿÎËe.vI¨p• ?¹R?Ê,w%?|•÷Ôå9ÕÓÀyY-¯§Ïmî`’äBn½Ø}¡ž•Ç-僇ðõÚFbrê ¤¾uýÄSñêlk)5w‰0$ÉÉ)±¡Ô×D5|ÌêKû½çà×)˜‹¨OFjIzÊÕ Y£Z# ž4·åû^‰¦¤¾z)êÌït…æ­÷õ‡Zbg¨Èau¡æ®6W ÎÄûKWnJTÒQ_g#bK‹êÁ6VêõsÕ‹Õœ ‚Ï3õž#ó½¹óŠ}v‚HK?AQY'ýÎÎ÷ãHþvÇñÒ Jë ÊÊ}RI™h”MËû‰’ë &MD)‰ñ-PiÔ5÷^IÙ¸Ê÷Ã:Bý{Süêçü\å‹ç ’‚7\X§ðõÒ=Ïڲɼ?6¾ ~ 08¿ZÛïñû9ôuæ>¢uá(—É#ƒ(‘ …‡Ñ"Ô¹/S¡ÝÇÏ鯟3Ô?¦¬ýrMd±<ÅŽÔ7xdºÑ÷TEF÷û8þÃçyè=ü2õËݹ¶Û9a]Sg“Sß°2S¢õ9êt¡ŠËÚÉû´YÁóx®šk«"+B}…PúF¨ú¦û¨áâñÔkôs¸3,þï¸ëš1…1wðÄ·²Â‡TÅŠ+œÙ.¦—²"c™ÛT¾j*QÚZRAkFV ¡³jf’Ps-í6…Ãü¡#X]þt¥C´¦óû¨)áåZOµ­XÀX'–º2›úJEGª 01õ„ ¡BŸîõ¨±[8ŒïGiëX˜,ÔØ=Uf'í u¾PêKeíU±´0Q+Äê¬ÊpDUmM]ãkˇ%á{ Œ¿Þ§ñ½4ÎkGÔÇ6"Û5¥’ìˆ_²P¬ÙÜÞQý6j"MÙ.žÇ~Ã[,k:¢á»…úˆW*(u ·'Üž±ßGMY1vÙ.¦¢êîÑÔ¨X~.F}¸lÙ.Ö¾ Ær¹¹B¹¹£jæêºæñ"ÛE‰½àˆHc1ŠæÊâ”Gm™õ¾cSßRz:ËÍíã¼ZO1t Ôg·_e–svsùïÝÁÍÍòV¶Ñò·æáæfàëÀÍ 77éÅ‚Pqsã¡°Sþ®éÈnP/õáæ–sã¡ïæV,o'÷œ¡Î ¦¾)w7ÜÜörssŽñ…åú¨¸¹íçæ6Ð<è£âZ½wŸ–ÙIcîÚ©iÕü_n¢Û¤¬~ª¬+Ö£êò5M¤`§µ¦¾öêcëQ*Qà•Bõ#)Q•~.é´Q¡RÀµð 씀P¡ T@¨ Fmf·g€kÀxD½çuޕÄì}Eªº;è 5œ|M%í uo8õUFêËu`´¦?ý;ÊûÌÇ;–ÉI–źgá}Ò¥†‡NY†¶‹,u3ÖGõ+ê<÷Qý}jßlyá’o”å‚—–Mx\§{-€Q¡ªG˜T9ƒ¿Ý EZëàæ*"ñCe‰X ÕÄ/„LÌ–%Û±êêú»%írs“DÉë+§¼ }wÌ͈:¦×gÇÍÍwëq ÛÉÁÍu~?nn¸¹UõÅZÞÞÒ'•”IêsG¤ìJé¬tôœèL*¢¸HüãE“û]®ðÞSÐçÌÃÚBe»½Ø\"aÛ Pî÷ç~sÉj1&|w”-ÿ ½Ëv‘>j£í"¶s¼gl±]l @¨Ø.òø||™ íîï0ÿýoÿè—u8å/,kìH^˜úÆ,÷zlL¢µ]<l_úÆlï¾æí"¶‹<Öé£"Ô=lo±R_ Ø.†s<éç¿3ä­vê]–v/ _Aµ#š©JuÿÄ5DaK#¡/:¯bÝ9yŸ÷XÄÜx¥klÈBqËÌ´´µ†Ϻ:gá¸l CÓj0"Ô°OJ+ ÷uz¨mnFÅ=™¤bX¨T p ÐG„ €P¡ T0„hÔ·4ìΰ<à;39¢†vza…”^‡=¸ëŸûêƒÊ÷h˜ë[š}Ä\ß7†Ly]1;ÍHµT T)0L裉¦©V;Œ÷5ïY9BKϽ·ŒJï=UûExX¨%?5¿‘]B¡Z½÷eùžeÆy=}n¶vx»PW¤¾€P–§z§ü9ó™~-|6ÉŽ™µ6W¨±ù›÷s©×`?‘vÍû†þÔ7Wà±×¨ "*è¢:ê[=¸dR$õ^‘×ô~Ô;¹ïi9Á9’úNŽ¨Ò–³Ûuü¾Î#½Í¥ÿxs î eã2Ÿi±§P.K¢ë„>jsÄ|*ˆíÿ&¯ÔÜFÛ)#­š†Ìõ7|¹q x(¢ÞæOwÄÚrÒë¥Ïñ ,oDú PC÷¶Ð±íNuýGóv“áNðéâê)ïS™I'??WÒÕô. {nnNàpsA ÿ÷f'7W¿ùXö¸îhª+ÜÜps+¿–sA[¥ŸZrr“þö㈔Ÿ‘û-#é;öQ§ÇúÖ |µ‘áRC•{ïY)¼3ò€…û¨ÇD7·X„¨uj[á<…¯—~ûyäÝðœüw } E]ÛÞ8DŠPßM{\óž³òX ®ëJ±- BÝ'‚ºLÊš{ß/¡F(V¬u.67³Ø'•X.j &µX;Áfúž’#ÿµRt1ÚªÕ½X-ï;äܤ}M_lgä¼J#Ågá˜™ßø6ÛÅ•®1R_(ö9±]$õƒ`»ˆPÁJW8ØÞ3¶­&5¼®‹en!õÝX¨÷ì!ÑR´L]ùnn~$öïŸr/•ˆ FRåÐÕ&E¨`!5;5™cóÔ©o. ®­«Ø1sï"*"àŒH‡H*t H[D±en¤¾ŒFl"j?ìðÃĉÃB…Å#+ú T@¨€P* T°Nj™ T@¤@S¸€Pa2±YILvЃ™I¦ÂÐQï¾veOšSáx€PA(Þ”£[iÓí\ Ù‘H}¡2žBsÂï„ Ou;RYÒ^„ •ÑÔZÿ8CÌÍí8PB¨;FF+ÇŠˆ4åæzÕÇæfû¤­Nk©§’X]çë@DÝZ°¥”8|¯tt* JOý¨™³B;ƒ÷HF†cÎpáÇ^ææFêKêk?hgö×Å͈ VZèŒèpsC¨`(¢†;™1ú¤Ô×·´HFÛB]ÝŽnág±° ¢‚²`[åÛ.úQ˜¥n ñýý7’ú¶‹DR„ ƒû«­ø¶‹ˆT™ëºü;nÏ>\úµ©çUxX=·ÖóŠÜÚ¬ª+ÿ8±çÞV^3ÎÁ$P««XºK Lê €P¡Â a=*B@¨€P¡ T@¨€PáQRŽn±µ®P–0D¤±µ­L'$¢Âd$nnˆ¡Â—ô—Ô÷EWô¡k½Xs¬sœH‰¨DÔ=Äþûô1ñºŠFá~ ŠxwLDE¨{EX‰[[KT>vÄF¨`Ž{Ɔ>)©/B}ÊkœÐvÑOwHB¨ûE=ƒß—³]¼K4í¯öL²Ú'mµ^””o­=#uED…Ja¸F¹£ì•Š*(¤žRëÅÔ±ÎH>±gÄv‘Ô—tÊ8Ø.Qa°]´SwínniÖ™NÔ&5œ‡›\ŠÖa»k€Ôj[ëNñälýû¨Ì÷E¨0¹OÚ.=*(GÓ;ÊõîÀàÛ.ŽŠÞôQé£nßgÍ ©ÑÍ­æuHè/ t,G¨°@¤F ôQ‘QZÓg€ê©¡êó’ú€M¡ZÏiyž)eÆy=}nÜGêŠÔ*B¨ÌŽ]ßë€P‘"T&ã#ÔÃTÅûJ[ú9¥ïjˆ´ˆ¡"^‰#Û¤´‘êÁÂÕDzfþ><±žâWì³Ò7E¨ uiZË€i/±HŠhI}鯆„ “8íŠ5´]”FY@¨{G_÷¬HS¶‹ ×F3)ßz?3gµFÏ”[[©¬{_"*©náõð>ê)8–Ë¿Ž››-õ]]°¢\ÔÍí8Ž“N&ìˆ77„ Vº¿î÷ßás ÙjWLÚT¨¡ƒ[v£l772g"*(¶UH17·;Bãä†PÁ17·[œ€PÁ%77„K:Óߢ˜:ÜÜ0‰ê‡û¨0\@á ú T€–tH}Áh »CÚ‹Paþ/©/ T@¨*D`ÔÔgq{¡‚A‘Æ@œ¤¾`ˆØ‚qDJD…E£,âmŒ¨V÷ű¼_ÏÐssÂ÷„ØyÕK9ÂÞŸŸË¤@WºÆXj. ùͳ¥›nçöøM½'WëQI‡é£î)ÜÒßÇ!kÏà}s›m@¨ ÏY)„ úýU#ߺ¹Ý»úÒ^„J„ëhÇxAÌÍÍLbGBË€Á$«}ÒÒÀRéyIù:aƒ@]Q¡R®QD©Ï!@„ Ê©nÊj±öX.r÷™Îþú¶‹¤¾ðpÑgw¢¶‹Ô&´ÐØ."TX#¢†c»HêKêk8õi»(M·ˆ BÁjÚ.–"8 Tx˜˜í"‘¡‚fßÇKy{³]D¤ôQA9Φ¿ ËÜJƒvx€®þiIøôM*,&|DK¡h¤ÏôO*B„ ¡B„ ªÄ&4øÛ…B;ÌL‚¡"åÞ) ³]$¢QaAaêËòÈ£mŸÞ†-T¢‹O}‘Þ#V„ú~ñú" èÏÕ6¤¨ôQ¡7D ¢ «ˆŒ­vÒ¶Çq„ºe4)2åmëYŠP÷ަ3¢µ€ÐvÑï“b»ˆP÷Œ¦£­h»è‹ÛEv”ÍÍ,Šó,”‘Ôf±ä ×cëDT8d£¶µBòû¢gã1ày¡Zõ±ì{2üÜNA:Ú/ž‰ó:Ç $í`»¸Ò5Fê Å>'¶‹¤¾`l*XéþºÏÇ&Ïפ†×u%­™”¯Ó"õÝT¨1«ÅäýÎL]ùnn~$æÞ)4[ëN1ÝÂôÝ܈ ŒŠ=åæFêKê ©o˜k¹¹ÅÜáH…Ûa™éîG_ÕJ: }T ¢Â"Q™EãH¥I}¡B@¨€P £¾ Fl ¡#Á ˆ´$Jæú’úÂBÑ*L"ÔÍBOÅûJÛø¹AßM4E¨ н6ô~8»"„ºHÏÌßÇÑ¿üà~vv@¨í4Ú‰¤¤½•þê“¢ÎssC¤•È8"­îiÊÍ ô.67³Ú'íu[+9¹Õ4 ÔÕT˜™´‚`K¯µˆèœ˜âpœIcIDATj©ïëSÝÐÅÍUËÉ¿{77"*Œ¬B š›„us;Žãddˆˆ ÏŠ?§9ÜÜ*Xé'œ×ÂÈ vÚXF}7jÌÒ"m uu;º…ŸõÅOæLDÁ¶ É·]ô£ð}ìû&òýý7’b»8F}AmZÊvñ£¯EdmN[ü;rÏ>\úµ©çUxX=·ÖóŠÜÚ¬ª+ÿ8±ûçåõØrn &Z]ŨFEoú¨Š)u"E¨`ˆT4“À˜8C's¢)B……"+ú T@¨€P* TXØ}Ò{+÷Pûàö ©{†éƒDT˜ $¢ÂÂâefõ幤ð=á£åX’­G¥Ç€Pß-Þûß¾ýbL”RqøÇPf¸ bE¨ïiÌn1÷·d½¯ ¢ª²HéÇ"TDÉšhzꋵ$^@¨{õWµÄÜ(ÖÐvñNwýû¨ˆ¡'’³]d»P½êgÏ$ë}Ò‘ö‹Ô7f®QL®p @¨ ”êöØ/Ær*÷)tlI}I§Œµ]¤®ˆ¨` l*Xéúb»HêK껆PGÚ.²ù6 VÓvÑ¿Ê<_„ Fú´¡íb4}#¢"Thìûx)oï4¿˜í"‘”>*(§ÀÙ¨Wéæ&yä°Ã MK‰¦¤¾°y#€P¡Â>‘“hŠP*ªÕùœ–ç™Rfœ×ÓçÆ}T ®H}¡l3“@/;ޏ·…p»†ˆ “Eû›¥n !™ì@4E¨žÎ#…ïéµ[”§1¦Òa¨‡Á¤•ÄZ+ž‰×kDç'VR_„º·Hcï«™Êâ¿ïÔ«Q+©ï>œÂçjŽwVDb©þi/BÝ1𶏿3bmýÔ·¸Í Ô׊7öܤ¨…íâ3I“ò­FÑœµb[ì¥Ç¡®ˆ¨ÐÂÆœÜ$ýÖ0êfŽƒ›•VÚ8¸¹QapsC¨°XdR_Ò©‰„nn…‚››ÿ=Ùãä‚í¹…ssóEÊ7„ †ú´17·^KG@¨ Ù‡:»¹1)Ÿ>*(§¿E1uº¹!Ô>X=ÃÜü>*b%õƒQÚfl19 T0©‰¨¤¾`H˜©è‰P*lÒ÷%õ„ ¡B€ Œú‚*¹é‚Ìû%¢‚‘ÞËårîn¡h¡ÂÃ"õ#fjA:Ñ¡Â$j§ 2ï·R¨V÷ű¼_Ï#çÖâÄÖâê&=FC„½…È5Ön¬G5›Kù µS›gKžk©“ʺ Sa–¸‘úî+ÜÒßµ ¡B“}GÒó”½dp{æÕLJ>Ó5‰°DÔ÷ESãÝ»OuGÊØˆ¯ÿ"E¨DLJ¹-0~~®ìÖ£8»õU?ƒIÖû¤5Nm-®n’÷PWDThˆkƒ8Juc–‰=ióïs~èÛER_x¸è3:Ø.QÁJ ¶‹ EÔðïð9lI}I} ¥¾÷¿³ÖØ.QÁ†`GØ.ú÷N™2ˆPa"ßß#©o»¬B¬Zû>žxz§ö…¶‹@¤ÀÙô·Áv1ö7}Õ6X=Ãă‘1B…"*}T0œNŽÜDT€Žô™Ô¡ÂÆ}_R_@¨€P* T@¨ðL¸G¨€H·†û¨¯SŒÒq*ﲄ ¡Â@B…Yõ<Êûç8"v„ D+‰¾¬ 6 ƒIoOƒé7"TX(²BãQUS¬¾w¢·ðu]¬”A¨`B¬þ ¾¢sð¶^ ãÊ4g¿ØbÍèþû¿XØd"*j–SBD ã…j5]±œF™.³3Hwcb=Óéñ[~ãj¶‹+]c¤¾ð+‹ýùi°]ìݽH}A&Ð;š&mS“y™ä‹P¡_|¡¥bÌrÑÄͦ†±ÓO5?¼@êkX¤¾~ü¿sÖÉ ö߈q|³Þ”í"Q¡Ô Ÿñw4x¤l¡B§p5‰Ù.B¡(KýRm°]¤ J}Õ˜PsV‰5uÅšq°uÓt—IF¤¾€P*€zš ¡B„ €P¡B@¨€P* T@¨* T„ `{æon†mɰ{ÃôâG*¤¾€P* Tñ®JS(A‡BIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/tragesym/kpdf_pindescription.png0000644000175000017500000007664213634703632022152 00000000000000‰PNG  IHDRžëÀ–ÈbKGDÿÿÿ ½§“ pHYs  šœtIMEÖ  æÐÚtEXtCommentCreated with The GIMPïd%n IDATxÚìÝw|O×ÿÀñ—,ID *{±÷¦%F¨½)¥UÔªª¶ˆ½k´jõ«Fi!6Ab¯,#!‘Ù;2îïÔ§>M­úïçã‘÷ÜsÏ=÷ÜsoÞ¹ãÜRŠ¢(!„BñÓ&B!„x !„B <…B!„xZOOܹsÏ={Ô2è—)C³fÍpªZ€ûöÁ‡ÝºallÌæM›ÐÐÐ`Ø'Ÿ «« ÀÍà`¼Ž£º‹ mÞ_­¼è»ÑìñØ­š.Uª&&¦4oÙ UúÞ={¸{çN‘•ýÈÎÎÆÒÊ’»uÃÒÒ’¿o×^=ܾ…±‘1m>xŸ&M›¢¡QwïóôävT”Ú2ššš¸Ô¨A³æÍÑÐÐÀßÏŸ³gNS¿A7i®?vóW¯¡¥¥´k‹žžÛ·n#.îQ‘õ¯hnN«Ö­ù}ûv*UªLÏÞ½Tó=|ÈBCB)]º4õÔ§“›:::jm[ÑÜœÞ}ú¨–;îåEpP®íÛãèä$=[!„%<ð¼}›åK—ÊTªT)¾[¶”î=zà鹯£Ç¨]§ZZZªüššZ|6j$ÁÁÁ,_ºŒþ<£ï¹mmm–._Ž[—ÎxìÞÍiŸSEVºk÷îèêê2°_üýÑÖÖFSS“¬¬,V­\ɺõëiÞ¢Gf¸q<Î~¬Z~ㆠôèÕ“…‹£©©É^=œÉN¹|“£GŽðÓŸéǽOR¦LÕô«V*'))‰1£F“š’ÊW_ÍEß+;qœ÷?ø€À€@fºO/´ÌÜY³ÈËË“^,„Bˆ7‚VQ‰úeô±¶±ÀÚÆš%‹«ÝVþ;CCCÒÓÓY²x1ß-]Z¬ëëÿµ{{{®_¿†Ç®Ý=r„>}ûªò™››«ò=-..³Š)]º4ôìÕ‹ü¼:ccc¦ÏœÁÚÕkTeµ.SSS¦OÆãÇŸ»•ß«Œµ Ö6ÐÉÍBBˆå½*UþŠî55þlË¿¶#ñoöî]»HLL¤WïÞŒ= €òåËóý+hÓ²û÷íãë)ߪò›˜šˆÇîÝôêÝ[z²B!ÞÌÀ󉼼<Ž{y‘ŸŸE‹gæ«hnNÓfMùeã& ô*R¯^}cúö{aÞà  ¾úòKòróð½r…èèhš5o^(¸Z½rå+¨ˆýú÷§ºKuBCB˜=kÉ)ÉT©R…›Á7ñññ¦\¹r8U­J5ggì¸pþ<£Gޤ«+wïÜaÝOÿCKK‹½z=³~OÕ̬Ìײ#Ú¹ºR§n]üýüد?Ýzt'9)‰6’““Ãäo¿A__¿Ðr•ß{‘£Góý²eÒ›…BñîžP0LRç.]Ø¿oßsóÝ¿ŸÝ;w`bbBï¾}ùvêÕ îOœòñ)´lÓfÍèÞ£S§»³ì»%LŸ:M-[²l©êv÷ú?v,^Gáuô¦åË3oþ|ŸY¿J• n}¼ðÍöW´ÿôó:¾žô'OœÀÏ×€Ò¥K3iòW ýøãg.ûɈOÙùûïDGGKB!D‰UJyò¶Î*55•à  ÒÓÓ©`fFÕªUÑÒR§óóó ã^t4FFFTwq¡ôŸC.•DwîÜ!2"ªW¯Ž¡‘‘ôT!„BHà)„B!DqhH!„B <…B!„žB!„BHà)„B!JÕëßöÖ6ÒB!„â• ‹ŠTý_®x !„Bˆ×BëE‘©âå=¹ƒ Ç’´»B¼ëçäžâÙN?Γ¡Oµµu¨Y«&ÆÆÆdddpþÜ9ªU«†–¶6×®^¥FÍš˜™™pæôiLLLq®î¬VÞÅ €‚/>܋޿æÍ›4mÖŒ¬¬,ü|}©U»6åË—ÀûäI*¿÷ŽŽŽCùòå©U»6—/]"%%+kkìííññö&77MMMª9;S±bE’““¹rùr¡mlѲ%111„‡…©Ò444pqq¡ÂŸÛ#„Bñ²TÈ?•ÊÕ‚gs´µ£T©Rhkk“™™IYòü±{7ººº´nÞ‚EK¾ÃÐÐQ#>£«+k×ý€fÓ¢U+.^¤V^玹|“=û÷áââÂŽmÛ˜òÍ·œ>Ž{ÑÑôë݇_~ÝBó-¨QÍ™þ2eÚT¦M™Â¶ß¶booÏ‘ã^äççÓ N]’’’=f _~5‰Ú5j™‘‰ŽŽ?FCCƒŸ~þ™–­Zr50îvE§´Zšý ræÂy~ß¾…ó¨>=š••E:D‹*ÒŠùWžKÒîB!çdyÆó_1r$×oã}æ4™™ìÙíQd¾cGræôé–§( sfÎ"??ÿ¥ë¢§§GDDIIIDEF’M©R¥Ôò úh0ׂƒ¼qKKKvlÛ¦6åêÕ\ Rý=õ‰Î W.sýf0ž{IKM-Öö!„BEnµÿ eË–ECC£P ÷D[×vÌ™5›}<·œú Âþ}û^ºe Ê`aiI€¿?ñqñÔª]›Ë—.©å ¹ÂŽmÛHKOçÁà ñ©ÚüÓ§N÷è&&¦´k漢wçöôõõÀÖÎVv¼B!$ð|]¶þú+‡ .. >ìúa‘ùF|öãÇŽcÛo[Ÿ[žq9c¾ør"‹,ä“O?}éúÔ«_?__©[¯^¡ÀóêÕ«DGGó8;%_ÁÒÒRmþჇðñöÀÙÙY-ðìÒ©“êÿ]»w§a£FÒ„BñÈ­ö f­Z|<|8ßN™ÂÁ£Gptr*2Ÿ®žß|û-ß/[FzFúsËì7`eË–eÓ† ª´'WRŸ¼Ìy;¾^½zøùúàïOÝzu ÍïÕ»'OùpöâÚº¶cæôjóç-\ÀÉS>œ<åêµkÔæ=~œÓçÎ2fÜXözxðàÁéB!„øGäŠç?àR£ *VÞNÝØ²ys‘o?M[[›iÓÝ2h°*­R¥J÷òÂ¥F |¯\!++ ‹¿½ÜS·~}ܧN#''‡:u ž÷cïsáüy²³ró–ê…¡'BnÝ¢L™2ªigç¿Þ¼¯h^ª»¸¯z+^!„BÏDCC÷ÓéÖåÃæmÞ¢í\]9vô(ïU©Â¤¯'óýÒelùe3­Z·¦gïÞjËYXXP¶lY Œ066.TîáC‡8|莎Ì[¸@mþ’Åß©Moÿã÷Be”-[€ÈˆˆBCB !„B‡ §ôHHH *2SS¬­­¥AÞ2¬´»BÈ9¹ð9Y®x¾LLL011‘†j²²²8îî? RåJ4iÚ¢ïFsëÖMjשƒ©©)yyyøx{S¾|yœ8{æ 4ÀÐȈ¸G  u›6DGGªZO¹rå¨Y«ZZ.²³³9wö,î?ÀÚÆš ¢©© @€¿??–ÑÄ[%,,ŒÛQQji•*Uƹº3'ŽÇÒÊ {{ûBÇ@È­[ܽ{—-[¢££Czz:Ο§š³3•+WàÑÇœ?ž¼Ü\5nLå÷ÞàÜÙ³dffª­³T©R4nÒDõÁ’'y9{ú ™Ô®][í݃ç}¨äï^ ñŸSþdge­úBü;ÿõ±”™™©tîØI©îTUéÐÎUq²³Wºvî¢dff*111J5Geάي¢(Š÷ɓЭ¥•²wÏåÁƒŠ­¥•bki¥ì÷ܧ(Š¢l\¿A•öøñceýÏ?+¶–VJu§ªJu§ªŠ­¥•2°_%77WQE‰‰‰QÚµy_±³²VÔ­§šŸ‘‘¡(Š¢ ú±ò¡[ç·²ÝÅ»kÉâï[K+Å¥j5ÕûÔiŠ¢(Šƒ­²dñwª¼O³gÎTl-­” ?¯WEQ"#"[K+e÷®]Š¢(ÊÉ'”êNUgG'¥–‹‹âdg¯ìñðPEQ:º¶W\ªVSllUë®YÝE¹sçŽbki¥üñû(ʹ³g•Z..JU¥NšŠ­¥•²xá"U}Ü:tP쬬•k×®)Š¢(Û·nUl-­”{÷îÉŽ¯ýœ,oµ ñòóõ%èÆ ¶lÝÊ¡£GØüÛ¯DEEàïO¥J•øhèvlÛFbb"[~ÙŒ½½=ÜÜTË—)S??ÕÕƒBë8{ñ×oóÝÒ¥œ?wNutî¬Ù$$$pèØQ.ù^aãæÍ\¼põëÖÉŽo5MMMµmÌž;§ØËþðýrâââ ݵ˜<é+jÔ¬ÁEß+\öóヶm™5}yyyv FFFhjj2êóÏ100P½T ÿîC%B¼JòŒ§o çêÎ|4t{=öpÊÇEQÐÖÖæçhÞ¢&&&Ô¨QƒüŽŽí\ > ðäŠKNN\¸pèèh*˜™©Ò/](¸J²`Þ<òòò033#??Ÿ»wî““ÃÛwÔêsï^4‘_ $##Cv’x«\¼pEQ˜>Í]•fbjJ;WWòòòTÏQþý¸tá"éii 8ˆñcÇ¢¯¯€ï•+ªc&99ù¯2‹x¦ßß×GqTÓ±11\¹|™àAdfüõ,héÒ¥ÉÎÎæè‘#LŸ9“ȈHÊ–¥YófLúb"´m ÀƒTÏ™ ñÿx>ý†»¢ä ¡N½z|ýí·hii±cûvfLsgùÒ¥4oÑ€iîî¸uìH“¦MÑÕÕU[Þ¬bE´´´X0wúúúèééZ‡—÷I,,,8îƒúà‡åËùâË/)Uª”êªO>žõëÖ‘–šÊ4÷‚+A5kÕ¼’9ΟWý÷–¤%U£ÆU#7ü¥•Š¢pÿþ}BCCÑÐÔ u›6ÇZãF”-x†ú×íÛÐÓ/x‹¼^ýútéÚ+kkÎ=GdD1÷îñë–_‰Ž¾‡¡¡¡ªü:õêbaañ×±ýçUÊú гW/œ8qâׯ]#66–sç¡¡¡ÁÂï Æh¶±µ¡VíÚèëë³nýÏäææÈÇ@Äÿ ¹Õ.Ĩu›6tëѯ¾ü’o&O&//zõëÓàÀb—Q¿~öìö N½ºDFDš?bø'@Á‹H BËV­˜üÍ×ÄÆÜãó‘£€‚á]†û˜^}ú¨–Œˆd`¿þªéÿ­ÿYu{Oˆ·Í¬9s˜0v,ÍügmcÃÄI_ÊW¾|yÆOø‚¹³güÖÒbŪ•Œþì3Ú¶y_ ®\³ â]ÒÔÔdÕšÕŒüt];wQ³‹–|§zûiÿP‰¯› ÿŽ“·ßìv%6&,­¬ŠýËêU¸sç>ÄÒÒRõŒ¨ôgñ®ÊÌÌ$äÖ-´µuptrT{™ïErrr EAÁÁÁ—^^^¡!!dffáèä¨öd!JÒ9¹XGFbb"~¾¾ªiSjÔ¬¡:°Îž9ƒq¹rT¯^???ÿ¼­¦¡¡½ƒƒÚ-‚¿KHHàÜ™³¤g¤SµjUjÕV»6*2’+W® ¥¥E“¦M‹uk *2ß+¾”*UŠú `iiY¬yùùùzëåLLhÞ¢…êAð¿·µëÔ¡téÒ…Öt#ˆØØ˜BéuëÕ£\¹rÿïõ{Ý.^¸€®®®jßÞ¾}›°ÐPZ´lÉë7ÈÉùk°ñ¬¬,Ξ9ƒ£““ªßܾ}›+—.£©¥©Öâââ P[—žžM›5{gL®T©•*UúY·¥¥¥Zÿâ]¦§§Wè÷WqikkÿëOkjjRµZ5Ù¢ä+Îò—.^Tl-­”ªг£“bki¥tëò¡’––¦(Š¢´hÚT™4q¢¢(Š2¨ÿÅÎÊZ5è­•µâ±{w‘‹†…†)ujÔTÔ­§´mÓF±µ´Rf¸»«æÿoíZÅÎÊZ©åâ¢8;:)ÎŽNÊÑÃGž;X©çÞ½Š½µÒºy ¥Iƒ†Šƒ­â¹wï ç=~üX5â3ÅÖÒJ©_§®â`c«4oÒT‰Œˆxftjß^ÉÌÌ,T÷©Ó—ªÕ”ªöŠ­¥•âì褸T­¦\¹|¹DÔïu¸íÖ¡ƒ2â“OTÓO(OJJR¾_¶L©îTUUOï“ÞŠ­¥•ríêUEQeӆнµR³º‹RÝ©ªRÕÁA9°¿¢(ŠrúÔ)ÅÖÒJ©æà¨й£kû1`² dþvÜ/„â5 ¿nýznܺÉoÛ·qýÚ5~ݼ¥È|uëÕ+èöÆuœž™ÏsïEÁçÌiŽ8Á¤É_á¹g/YYY±hÁBùˆË~~\òó¥a£FLž4‰”””gÖñ·-¿Ò¼E Žûxsúü9ZµnÍ®;_8oÛo¿qäðaV¬ZÉe?_Žûx“ŸŸûÔiE¶ÁÒï—s3ø&—.^*T‡Ùsçp-8ˆi3¦pòô)®Q¯~ýQ¿’¤£›™™™ª+”>Þ'±¶±Á¹zu"ÂÙ;{6}úõ岟/—ü|iÑ¢ßNþšÄÄDU¿üºE5 óÁ#‡Ÿþ£JLB!JôrQã&M¨U»6§Oâ³Q#Ÿ™OGG==]J•*UäüråLHIIaÑ‚4iÚ”®Ýº1êóÏ8zäLœ4 mmm´µµ7a½ºwçü¹s´ïÐáe–ãÂùó¬^¹’Úuêðݲ¥ª!)ž7ïð¡CÔª] ·Î°°°`ðGñÝ¢EjAÎO–{Ʀ=SI¯ß%äæ-æÌš@ЪtGGGœ8yâ­Z·ÆÇÛ‡Î]:£¡¡ÁÑ#GÉÏÏgÒäÉèèè ££Ã„‰_Ò¥S'NŸ:¥ëîÄñãDü9¼Oí:upªZ0¼ˆ ˜,„B”,ÿøMccãg^y¼~ííÞŸæ›à@Ÿ~}‹Ì×à¾ør"þL7ŽM›ññGCÈÊÊ">.ž²eËR¶lYUþÊóèÑ£gÖkæœÙtîÒ…½{ö0tðG4ªW_õµˆçÍ‹‹ÇÜ\ýY¹'ë{ú3g_5™¶mÚ0jÄgØØÚРa×j·’^¿ÿJff&ÑÑÑDGG“””¬6Ï­³'Ÿ *2’¨ÈHUp‡žžåÊ•Så}¯Ê{…úÀ^=¬]³–µkÖrõêÕ¿úh9c¾ør"‹,$ã©Á•…Bñžùùùܹ}û™_<¨X±"C‡ cìøñü±{½Ÿfåi< c'7öìó$àÚ5fΞÅ).^¸À{Uª””ÄÇUùŸ|+úy/+%&$0zìŽ8o`?ìªW’‘‘ñÜyïU©BxX˜ÚmÙ°ÐP455177W¥µïО‡gþ¢…ìÚ³§ÐÀÜ/RÒë÷_©U§6?­[ÇOëÖÑ»¯zèäæFtt4?¯[‡£“ŽNNªýœ™™IôÝh6oÚ¤úÜÓ}à‡•?rò”'Oùêký  lÙ²lÚ°AŽv!„âM ÞÞü²q»tQ»êúþ0pÐ º÷è‘‘;¶m{©¯@¼îú½ líìpvvfǶítîÒY•ÞÑ­úúúL›ò-wïÞ%,4Œ)_C… T_çymmm¦Mw'::ZŽv!„âÿÙK=ã¹`Þ| àYıãÇÑ¡cÇb-—ššÊÂù ˜¿ÐjÎ 1â³\ºx·ÑÔÔ$??ŸƒQ»N444øaåJ¾ž4‰–ÍšW¹Vÿï'J—.Íë×Y8í\]Õ>+6}æ >5Іuë¡¡¡ŽŽ³æÎAGGç¹ó:tìÈØñãX³j5?þ°€&M›2}ÖÌçnÛÚ5k©S§ïðA±Úâu×ïMÑ©Kg‚‚‚T·ÙÌÌÌøqõ*&}1‘ÖÍ Í *‘‘AddñÇi”“…Bˆ’áµ ¿ÇÃ:¹¹©¥çççAJr2…¢~2(¯–¶6ŽŽŽhkk«æMùæ&Nš¤ú àÙÙÙ„††’—›‹½=ÅšOTd$¦¦¦Å;66–µ«×0kÎìb·Åë¬ß‹¼ ngeeqëæM4µ´prrâÜÙ³4nÒ¤DŒQú&·ëÛHÚ]!Jö9ùµ|2399™ð°pÆŒž††öööÏ\öYƒòP³f­BA'@éÒ¥qqq)²¼çÍ055ÅÔÔ´ØÛ¶ó÷?žûfÿËÖáU×ïmðôàó­Z·–£Y!„x½–ÀÓÈȈ/¿šôJˬU»ö?þJÄ«4vü8éEB!„Å !M „B!$ðB!„x !„Bñ2Š|«]!„BˆWáé·Ú劧B!„x-´^™Š·›Œ{(í*í.„â¿<'¿0ðB¼;'B;!„ÿÄ;«=77—´´4é %Prr2™™™jiùùùÄÇÇ“““# $ŠÍÇÛ[¡"ÂÃÉÎÎþ[̽{DEEµáõ8 IDAT;pP Ïœ38Xvªx–,öïgËæÍÒJôôt† Ĩ#èÖ¹ Ö¯ 44”Î;ñå„ ttuåÂù ÒX/),*’†²÷À~¶ý¾EQX¿iaQ‘„EE2}æ ¾þö®ß fÄÈÏ1ò3ììíiß¡#F~Æâ%KÞÈ«ãÇŽ}a`êuìØë ®bbX³jÕ¿.gú4÷„µ­YYYü¼nÝÿë§hÏ;DZ#GŠÿô©ÓÄÄÄ|èÇ\ºx‘ÑcÇHO(Aö{zbckËÌÙ³ÉÈÈ ]›÷éݧkV®bìøqtìÔ‰«Ìš1“]{<¤Áþ…Úuê0Îê7¨O™2eT麺ºLþæîÇÞÇ­Kg>hÛößÞÄÄD232¸sç.ܧM›6è”.ÍÙ3gÉÉyL½úõ)W®‘øûùS͹Õœ‚«k¦åËB5gg²²² Å¥† ±11¸Ô¨@ôÝhôË裭­MBBqqïÞ=Z¶j…±±1xŸôÆ­K,--UuËÏÏçÜÙ³ÄÅÅѼysÊW¨Àõk× •œ”ĉãÇéÛ¿–––E®'..Žì¬,Þ«R…üü|‚‚‚°··/´­OxìÚMë6mTÓÁAAãR³ŽŽŽª4=}}ü®øR·~=¬­­Uù¯\¾ÌÝ»wiÒ´)æææäææ†¦–þ4hÔPm{ŸÈÉÉÁû¤7Š’OnN®ÚúŸ´w³æÍ¹}û6¾—¯`hdHËV­ÐÑÑÁµC{LÊ•+r¿Ñ«wo¦M™Â¯ ÐB¼ïôÏõ›6òÍÔ)Ò J—š5ùhÈ‚ª¡†¦&tíÞfÍ›üŤ¥†† ÊðoYYYѽgO¾_¶üØ^?__>6œnÝ¼ÅØÏ?'''‡˜{÷ˆ‰%%%…³gÎ0iâDÒ3Ò™á>]»˜6e îS§òðÁ®\¾Ì§Ã†qøÐArrr˜4ñKÕ:vlßΕ˗‰Œˆ``¿þìÙíAdD$}zô$%%…ÛQ·III!öoWêf͘Ég@ß~ÄÜ»PdÙÑÑÑdggúÌõœ?wÝ»ÈËË㛯¾*´­O;rä°êø:°o?Ó¦L%=#¯'}ʼnãÇøìÓO™?g‰I‰ ú1Wøñ‡lÚ¸‘ä¤d† DHHYYY|2l8¿mÙBFF:úö#==½Ð>÷ùŽ{yrë?®X¡Jº½CBB1l8™x=Æ‚yóظ~AAAEîW(ø\sZj©©©r° QBÈËE¢Ä©^½:Pð|Ö¬3þÉ'”)S†V­[“ŸŸÏ±#GY¾l³çΑÆz†}2œ^Ý{¨‚ˆ·]ÕªU9zùùùthÛŽ²eËÒ¤YS²³³±²²b¦ûtæ-X€½=mÚ¼ÏØÏ?§{Ïždgg3ùëo°³·ãè‘#ØÛ;°`Ѣ箫bE3æÌ/’RR’9~ìm]ÛáïïG£ÆUùÒÒÒ8åãƒ×Éhjj¢­¥ÅF)únL‹–-166¢k·n\ ,r=ZÚÚ…–ûû¶>-1!QuÕ{ÃúŸYöÃXYYѰaCæÏËû|@zZ:K–-ÃÐÈ ¶þúÕœÙãáÁÇÐÔÔÄÐÐÝ;w2fÜ8òóóqŸ1 N?ABB?&-- ---rrr¸ÿ>«Ö®ACCCíyû§Û;66–׬ÆÎÎŽ‹¶øßO?½p¿>ackCpP 5’ƒ] <…(,??Ÿ–/ÇÏשîîªÛŒ©©©Lš8SSS6mÙŒ™™™4Ö+ ££Ãœys™6e*]»w{ë·×´|y௫éËÊT]Q¯]§¶j^å÷*ùÿ§ýùM¬¬¬Ÿ €l¹ÿà5ŠX&!!J•ÌÑü³>–VVœhÛ–>}ûJ#½bµjצa£Füºy x«·µT©RÏoaaÁèÏÇà\Ý™»wïrÊǧÈeŸþ¿’ŸONNÚÚÚDEER³VMnܸA^^ššš\ ¼JËÖ­Š\§™™ÑÑÑdee¡««KÐXZZ<·ì§µžü?—^ø¦¸¦¦&ZZý:¨baAPP...juyøð÷ïßÇÜÜœkW±´´ÂÈÈ/Y‚®®.§|N¡¥¥ù̶îäæF'77=|È7ÈÍÍEKK‹ëׯ©]‰}²üÖß¶òá‡]éÑ«'·nÞdÁüùÅÞ¯I‰I”ÿ3(BHà)D!gNŸÆç¤7mZ¶T¥í?tˆ3§OsÜË‹•>foïÀ†_6Iƒ½"&~ÁÑ#‡ßÉm×ÓÕãÀ¾ý´lÕŠ1ãÆ2qÂ7iÌåK—˜2mZ±÷1£GcjjʃûTéY™™|òñ0 ‰eÖÜ9Ä=ŠãVðM|¼½iÕº5Pð2× Á1¨ÿ¸~í:[¶þöܲEaË/¿P«ví"×s÷î]¾[´ˆÇs/==ýBÛjoo¯*¯bÅŠ$$$`bbÂØñãùrü7mÊ…sçX´ä;Êèë3qüxlíì8î<ë7n@KK‹!Ã>f`¿þT¯^??_Öo*ÞqYÁÌŒ–­ZñÑÀTª\™ÈˆˆBÔ©[‡ÿ­ý‰°°P¢££‰ $$¤Xë¸};ŠªÕªÉ.DIù㿨oµËàÐïùÒ‹´«´{Áx¾×¯]ÃÖÎCCCR’“ ÀÚÆZíÍïgÉËË#8(cãrT±(¸Å}50-›73qÒ$â=¢š³³êªbHHT®¬~»>ún4 ñT­V g– ¤¦¤••õÌõ}ÉÌÌäÈáÃ,˜7ììl¾?ë×®sïÆ %-=Í›6ñËÆMjõKMMeöÌ™L›2…Å ’“›Ë7“'sårÁÚÏ>ý”ùs昔Èð¡s50äädæÍ™«*g†ût222¸u›””bcbÔÖcooÏ»wÑ¡SG9„ÿ/ÞÙ/U¯^€›ÁÁÌš1ƒáŸ|B™2e¤G”à}ãàà@ff&Æ !:úë7nÆúNx§e«–èêêÒÉÍ Ï½žÔ¨Yó­ÜVÏ={éÚ½FFFÔ¨Y“Ó§NѶ];~ݲ…©îî´yÿ}zöêEëæ-زy3»öx`llŒµµÚ£]>ìÊ€Añ÷óÇÀ ,&<ŽÃ…óç Å©jU>ìÚ•6mÚ Sº4Q‘‘ÓÎÕ•®]»’˜øÌºæææ1êóÑXÛØŸ@TTõ4 =-%Ë–ahd„……[ý‰_M*²Œ¶®íð÷÷£QãÆÒÑ…x–ùùùü°|9~¾~LuwÇ¥F é %|ߤ$'chdĶßçÊåËÌ™5›-[“û§ÁØÞ=ܽMÏnÝÈËËçÑÇ|ýí7hi½]§…ììlŽ=Âõë×ùeãFRRRطד¶íÚ÷è66o]aZÞ´ æåall €µµµZy•ß«\hÆÆ—_üõ¬¾¾> ÊÚÕkÔúúzÌž7ºõêѵ{7&ŽOJJ ã&L(TîÓLË—@Só¯»0&¦&`ckËý…ûþŸÃ2 !„ž%Í¡ƒ¹wï›¶lFSSSz°ozvïÎö?þÀÔÔ]==y³ý_HHHàÚÕkøœ=ƒŽŽNAûvëÆåK—hÒ´é[µ­§O¢VíÚüï矂ÑÚ´hIZZ–VÖbmcCll,>@O_Ÿ˜{÷¨üÞ{\ê€R¥J`aa­-+V® nÃ[XZrÜË‹î={ðÕדٱ};Û·n¥s—177gëŽDEE1fÔ(\Û·fŸ¬ãi>âþýû˜››s-ð*––V@ÁÈOþ¾{W:·BÏ’èÌéÓøœô¦MË–ª´ý‡ahh(½¢„î›OFŒ`èà¨ß >Î_`ªû4i¬èðÁC´suUn]ºà¹wï[xîÛëI×®ÝTÓFFF4hÔ¯cÇ6|Ã?ÆåK—ˆǬ¢ã&Œçã!CiÔ¨QQQjíôDuôõõ5â3tuuIIIaààÁ”.]š1£FÓ´YS.]¼ÈTwwLLM˜8a>Þ>D„‡ãÖ¹óKoG}}&Ž­çÏgýÆ ”+WŽ„øxf¸O'!!^uþÒ-­Ë­à›øx{ÓªukéðBˆ£ÈOfÊàËïŽ7mÀíû÷궣´«ø7íž––FhH(vv¶j}êÁƒÜ¥š³s‘'<N^n.ŽNNªccc‰‰ÁÆÖ–råÊ’’BXXf̨bQ奷­C;W~ßµ“ð°p000 †»uë¶¶¶ªÇBBB000 råÊÒ1„%本%Í"Þ$æææ˜››KCˆWÆÀÀ€:uëJ¯X±"_0r‚††…Ò+UªD¥J•ÔÒ ©[·î¿ª«¡¡a¡º–)S¦Èreç !J?H!Þ+׬–FBHà)„â¿goo/ „ÀS!„B <…B!„žB!„âÝRäpJB!„B¼ O§$W<…B!Äk¡õ¢ÈT¼Ýd siWiw!„ÿå9ùiïôÏüü|yüø±ôŽ(99™ÌÌÌ"ç%%%I½999÷ò"..®Ð¼ŒŒ RRRÞšm{ôˆã^^äåå=3Ï…óŠl‡ÿÿ´nYYYøùú¾¶ó^||¼êïBñ:½³gbb"½{ôdü˜±tîБ£GŽHo(!ÒÓÓ2h£FŒ [ç.lX¿^mþÕÀ@Ü:t”†zΟ;ϘQ£ùm˯jé çϧoÏ^ <˜ñcÆ’››ûÆoëÆ 3j4—/]~fž™Ó§J‹gåŠÿÓºeddà¹wï++/&&†5«VJ ¥sÇN|9a]]‹ ´…BÏÿÀžÝ|Ðö6ÿö+?ý¼ŽÕ+WIo(!ö{zbckËÖ;ðØçÉúÿ­#55€ÔÔT/\Dþs®Z‰âóÜ»‡I“¿bÿ>Oòó󈌈àÌéÓxìód§‡œ=söÞμ¼<<È„‰Ùç©àEEE±{ç."#"ÔÒ}¯\a‡ÉO]]¿}û6 ­jë' è׿?ÁAAÄÇÇã±kþ~]i  RÕ5** €ììlµu‘““C`@Þ'½¹sçŽÚzÖ¬\ÅØñãØ´e ˾ÿžï-’ƒ@!çëоcú @NN¡¡¡˜U4“ÞPB¸Ô¬ÉGC†tP 445ÑÐ(èªófÏa̸qªiñÏeddpñÂELÙ²e¹qý:e pŸ1---444ÐÔÔDC£Ô½­~¾¾ØØØÐo@Žó";;€>ùøc’’“˜;{ lÚ°‘%‹“˜ˆûÔiªr6oÚÄç#GL~~>#†'ÀߟÐPú÷éKff&GfÁ¼ydggóÅø \¿v˜{÷6d(iéélÞ´‰_6nR«_jj*³gÎ`Ú”),^°œÜ\¾™<™+— ®Ð~öé§ÌŸ3‡Ä¤D†ý˜«$''3oÎ\U93ܧ“‘‘Áí¨Û¤¤¤£¶ž®Ý»Ñ¬ys´´´å8B¼vZïê†W®\Yu’?yâ$_}=YzC Q½zun3kÆ †ò eÊ”aŸ§'å+T q“ÆÒH¯À ¯ã´lÕ]]]:¹¹á¹×“5kbff†™™qqq,YüÚ:Ú4mÖìÞVÏ={éÚ½FFFÔ¨Y“Ó§NѶ];~ݲ…©îî´yÿ}zöêEëæ-زy3»öx`llŒµµÚ£]>ìÊ€Añ÷óÇÀ ,&~@lL Ο',4§ªUù°kWÚ´iƒNéÒDEFbdlL;WWºvíJBbâ3ëš››Ç¨ÏGcmcCB|QQQÔoЀô´t–,[†¡‘lýõ7&~5©È2Úº¶ÃßßFÕ•V­[“ŸŸÏ±#GY¾l³çΑA!çëžžŽŽŽsçÏ'--vmÞ§c§N”.]ZzÅÿ³üü|~X¾?_?¦º»ãR£ çͧwß>¬\±‚´´4Ö®^ÃÈÑ£¤Áþi0¶wwïFÓ³[7òòòyôð!_û ZZZ;r”•?þÈÈÑ£hß¡Ã}e,;;›£Gpýúu~Ù¸‘””öíõ¤m»vÄ=z„MÁ[—FFF˜–7-èƒyy`mm­þGë{´ÆÆÆ—_|¡š§¯¯ÏGC‡²võõ€¾¾³çÍ£n½ztíÞ‰ãÇ“’’¸  •û4ÓòåÐÔü«ÝMLM042ÀÆÖ–û~+´ÜŸÃ2?Sjj*“&NÄÔÔ”M[6cf&wz„x¾óæÌ¡e«VtèØJ•*%½¡„8tð ÷îÝcÓ–ÍhjjªÒç.˜¯z6NKK‹ªÕªJcýC \»z Ÿ³gÐÑÑ g·n\¾t +kk~\±‚ß¶o£lÙ²oü¶ž>uŠZµkó¿Ÿ FKhÓ¢%iiiXZYˆµ ±±±|Äýû÷177çZàU,-­To§çää}÷îsÛâ»E‹ù m[úôí+BÏ×iààÁŒ3†óçÎs38˜A –«%ęӧñ9éM›–-Uiû¢Íû﫦uuuiݦ4Ö?tøà!Ú¹ºª‚N·.]ðÜ»—F‰[‡ýóвUË7r[÷íõ¤k×nªi###4jˆ×±c >Œáãò¥KD„‡«žõ7a<J£FˆŠŠRk§'ª»¸ ¯¯Ï¨Ÿ¡««KJJ œGÆŒMÓfM¹tñ"SÝÝ115aâ„ øxûŽ[çÎ/½eôõ™8~<¶vvœ?wžõ7P®\9âã™á>„„x ŽÒºÜ ¾‰·7­Z·V;¶Ž{y±rÅ ìíØðË&9 „¯M‘ŸÌ|W_NII!,, sssÕ3Ÿïp[Úõ]o÷´´4BCB±³³UÝÊxðà÷cc©æì\dà …„‡‡“—›‹£““ê‘„ØØXbcb°±µ¥\¹rjç³ fT±¨òÒÛÖ¡+¿ïÚIxX8Ž ݺu [[[Õã!!!¼³ç6!DÉ<'¿Ó§IÚUÚýMÑ¡+‡•,„x£ÏÉ2–†B¼V®Y- „xãIà)„o{{{i!„žB!„BHà)„B!JŒ"_.B!„âU—‹„B!Äk§õ¢ÈT¼ÝdØiWiw!„ÿå9ùirÅS!„B¼ïDà™””Tì¼)ÉÉÅJÿÜÜ\ÒÒÒŠ•7??Ÿ„„Õ÷Ûß&~¾¾jý.<,\õMîÛ·o³{ç.<÷î%..®Ð²ddd¼°Ÿ?~üø…õˆçöíÛªéøøx=|@vv6>ÞÞìØ¾Ë—.Ú999$?ãØÉÊÊâáÇj?éééÿY{úx{«M‡„„¨úP€¿?¿ïØ×±cdee½t[½Ê~˜@`@€ZÙ¡¡¡Åªëóê‘——W¨½_æ¼(„xÓÕÀ@Ü:t,VÞÇ3hÀÀ¦‰ÿÎýûÙ²yó ó…‡…ÓÕ­3'L «[g"ÂÃߪvX²x1w££UÓ;¶oG[[›ŸÖ¬ęÑ;]]Ý×Òž/\ QãF>t˜!C‡¨\Û·çöíÛ$$$«­žÎS°~jó£££ÉÎÎ&,4”ììlöëÏ­›7¹x•!ƒ¿°íÓÓÓ144|©ºU§:xjÕªack+'!Äk§õ¶nØ>OOÊW¨@ã&Ui‰‰‰E>?hnn޶¶¶ô†&##ƒøøøBéåÊ=Lü‡ IDAT•£q“ÆlÙ¼™û÷c cÀÀom;\»z ·ÎÙ¶uÕ]ªš_Ѽ"qqqhjhbhh¨J744$%%U-ojJ*ööªi}==âãâxüçó£oç§y;FÛvíHNNÆØ¸ššš«‡9qqqdfdPF__­En[XX>¤^ýú¯¥-óòòÈËË¥téÒ$$$PÁÌLm¾††fffÄÇÇÙVjmœš’ªš64,KJJŠZy-Z¶ÄØØˆ®Ýºáãí­-&Nàó‘£ x涇††bgW§®Ï«ÇÙÙÙløy=¿nÛ*'!„ž¯ÒÂyóéÝ·+W¬ --µ«×`ieɹ³g å4y2ÆÆÆÒþ¯½ûŽ«ªü8þé‚€²\! š(Yf¥Ybjîî‰;Ü#¦¥’™+m˜#5ÍmŽrkîÊ­ *È^* Œ+\ärY÷þþ@o XÀïûõê•ç9çžsžïyÎá{ž³J˜˜èh~Ù´©@y·î=˜ýÕLV¬ZIíÚµ fÚçSÙ¾kg™‹F£ÁÈÈ…BAõêÕ‰‰Ž.0MtT4ß{###Ô?T¤ÎPcjZ!ß´¦f¦ù¦ÉÌÌäöí~ݶµÐ8?èzÌuì=Ðh4(•J4M¾^Êè¨hll^Ť|y233º÷­^µ žY<ýýüx³A}<«VýûŠFvv6ñqqT«V­ÐXý³WÖÔÌ õ½ûZÕ˜šš¹ì„„ìììôÃv5ì¸}ûv‘ÓÿqôÝ{t/æºo=8@SצùzÍ…BÏ'`ö¼¹ú§; ©ã\‡›7§}‡²ÕK çºu™=wn¡ã²2³¨P>/™©`jš/Ñ)KΞ9C“÷›ÐÙÝAý=èÒ­¯¼ò ÷Ohh(ß{ôôt®èä¹xi^Îäææ¢Ñh055¥ž‹ 'ާGÏžÄÇÇcY±"õߨOý7êºü“'Žyo†°°0ÀÄÄ„Z}ÄŠeË7a …‚ììl~Xø=Ý{ôÄÈÈs nݺ…µµ5—ýýùðÃæúDZ¡P`dd„F£ÁÇÛ§Èmü4œ].BI<Ÿ´æ-Zèÿmbb‡͛ËÖ.CÆM˜€ç°a¼Ûè]|¼}øäÞå˲æ‚'Mòîký|ú4úõîCýúõÑh4DEE±dÙ˜˜˜`bbB‹–-7z :Ž-[R¹renܸA÷.]ð¾x‘æ-Z°~í:¾üâ ®0þ“ ÅZ¿þü“ا¦NŸÎ¤‰éѵ5kÖäòå˸6kF¯>½õÛgÌÈQ¸¼îBLt ¶ÈÛÿ¼¦MãÍ è׿?~¾¾8;;¸dÿ´hµZ224úÞÀÎnnDEFÒ©]{ÞlЀëׯcbbÌK–è!…Åjïž=œø˜ššŠB¡ÀÜܼØëú¨õBˆ’ð·POi²Í%®w!„Ïä˜,ŸÌB!„Ï„$žB!„BO!„B!‰§B!„¥Ð‡‹„B!„xäá"!„BñÌ>*3e›¼~Fâ*qBñ4Éza{™Hâ1ý€_Ïgì¨Ñ(“•ÌŸ÷5Ö­{hùýcÇ ¯/ô½ò ¾ž¯OïÛþÛo|ÿíw¤¦¤0rø~\²€éS§â5m ·o…GŸ¾¤ÜIaÓÆ|»`?¯ZEHHW¯\Ñ/{Ó†L;Ž”;)üö믬\±€q£ÇðDZc„†„°dñbiüBIpmÊÂE‹P(8ÕªÅÜÙ³ÉÉÎáý¦0{îÜRW_÷®]éé‰Gß~ØØÚL‹–-°±µ!C“Á7óç“••E\låËÿ}ÛÁš{!?wމŸNzdù}mÚ¶ãàÔªU«À¸qÆóñС¼õVCbbb°ªfU`š>}û0 ¿‘]»ÆPÏ144¤Aƒ·˜7g.ï5iBdD5ìkYç—­¬pmÖŒýúñJõêDEFê{j…ây*ô“™òòåGixávbBqqqÔqvÆØØXâú”¨ÕjΟ;Ç©“'  bÍúõ”/_ž¤ÄDN:ÅGQ¥jUfÎúªÔÅ]«ÕR©ÄÖÎ++«|í+66çºuõíkØà!Lÿ •JE5kkªU«öÐò-_¶ Ó 0hPqG¦víÚ¤«Õ\‰!àjŸN™\`:FCHp0/[YQ½zu}yTd$†×êÔ)ÖáäææàT«–<0)„(Çdéñ%ÞËVV¼le%xŠNž8‰R™Œ{—.´hÙ’/¦M'22’?ýA§ÎèÒµ+]ºv¥{—®¥²~ …GG‹Ý¾ ©ÿÆÅ.X±l9»¶ï`ÛŽí…ŽONJfÚÚ©Ôsqáü¹s,^º¤ÐéLLLxãÍ7 ”¶þSÓ©¦4n!D‰"=žr6"Û\âÊÝ»w;j4Îuë:¢"£X²ìGÂØýÕ,ÞmÔˆøø8¬­­ÿÉ'e>î111X[[èa/ªü¾¸ØXÌḬ̀¸wOfa’’’HNJ¢†½=&&&²³!^¨¿…’xJ£m.qòÞc»5ô—f5 ÑQQTª\¹ÐKËw!„Å=&Ë¥v!…^š511¡Ž³³H!Ä&w› !„BI<…B!DÙQè=žB!„B< Þã)=žB!„â™0|Tf*Ê6y Xâ*qBñ4É*“=žªÔÔeiii¨ÕêbÏ#55•ŒŒŒ|eZ­¥R‰V«•Öô”¶“*5•¬¬¬bÏ###ƒÌÌL ïu@ ùþKII)•±ñ½t)_|"Â#ôß鎉‰açöìݳ‡¤¤¤bÇößÄ92"‚˜˜ýprr2‰ dffrâøq¶mÝÊŸB÷‹¢ÖC£ÑØVéééO-ž'ŽÏ7ªß§ýýüøuÛ6Ž=ŠF£)ðÛœœîÞ½[伟äqA©TrÙß?߼ʽ®î*Kû†¢t+s‰gVVýûöËwàžü¿I ò@¯î=øvÁ7ý}zz:û÷g¤§'î;±fuÞ·Á“’’èѵ+ãÇŒ¥›{—"ÿà‹â¹yã&'|’ïãÄñøxè0:µïÀ¥‹‹5ŸY3g¨O„Fzzêÿë×»7^Ó¦•Êø|»`7nÞÔoÛº•råÊñÓòŒ9ŠÄÄD"#"èÙ­;G}hlÿ™€¸?<¨,íBˆRNwOÍöúÿJ«ß÷ï×µnÑRç\«¶¾,0 P7 _?]nn®.++K×´IJ¥*r[7oÖÍðòÒét:]zzº®É»t*•J7Þ׺õk×êt:níê5ºoæ/ЕÏc›ÿí·ºÆo¿£èá¡/;þ×qݨá#t:Nw-0P×½KׇÎ#,,L×½KW]-GÝ¥K— ŒÏÍÍÕ=ZQ*ãÚ§gO]@@€N§ÓéRSSu?|¿Pçïç§kÛªµN­Vë§»qý†®I£ÆºÔ””"cû Çó߯[ýóÏúá9³fët:nè Áº;vä›öË/¾ÐýðýÂ"÷Å¢¤¦¤è¨ËÈÈxjqÃÅ%_ N?¡[¹b…nʧ“u¹¹¹úqÐõéÙK?jÕŠÔÔT*V¬„Á?ÖÃú±oA '1!†o¿ýLb™››KnnÆÆÆ(•J^¶²Ê7^¡P`eeErr2•+W.V<v\hêêJÅŠ–¸¹»sâøqk:2aâDFÉeÿ"ëFÍšyÉá“Xײ¸o!$ñ,qî߀ßßþýú1Èc—.^ä‚qqqù¦­\¹2&NdÑÂ…ø^òeš—.¯¿€©™ê{÷¯©32055•Ö󙚙¢ÎPçûi``ÀOË—˜¶aÆtéÖí¡=:M]›æë,Íí×ÈÈ…BAõêÕ‰‰Ž.0MtT4ß{ï_Çùöí~ݶµÀ´Ýº÷È7|=æ:öh4”J%&_/etT466¯>VýV¯Z…ÇÀÏ,žþ~~¼Ù €>žU«þÝ+›M|\\±¿Iÿ8Ç…„„ìììôÃv5ì¸}ûv‘ÓÿqôÝ{tbëZÖö !„$ž%ÒáC‡ð÷ócÆÌ™( LÊ› Õj5fL¡Óÿ¾?±±±¬Û¸!_N=—zøûùaggÇe\\\¤õ>ËŠ±°°`öܹ=¯Ý»v1uúô2—³gÎÐäý&tvwcPºtëÆ+¯¼À¥‹ }hâ™››‹F£ÁÔÔ´Ð8×£>õߨ_èoOž8@JJ æ@Þ·Û?jõ+–-cÜ„ ( ²³³ùaá÷tïÑ󑉴B¡ÀÈÈFƒ·Ï¿ÚÆÿÖÉ'ð1€½z²há¬Z³cccÖ®^C£Æõ½˜…ÉÊÊB«ÕbbbòXÇ;;;Ž9¢¾H‡Ž‹œ^©TRõå—ÿÓº>ï²¶o!$ñ,‘Z´lÉÏ+W1eÒ§¤«ÓÉÍÉ}èe½Ó§Nqâ¯ã4wuÕ—í?xAC†0Ês8œ=}†å+WJëy‚š·hÁúµëøò‹/¸ÀøO&ü«ùdddŽ““S™ˆË&Nš€½½=ŸOŸF¿Þ}¨_¿>†¨¨(–,ûñ¡÷GÆÅÅѽK¼/^ü×qþëÏ?ù°E ýðÔéÓ™4q"=ºv£fÍš\¾|×fÍèÕ§÷Cçã5mo6h@¿þýñóõÅÙÙ¹À%û§E«Õ’‘¡Ñ÷Jvvs#*2’NíÚófƒ\¿~c~X²ä¡óÙ»g'Oœ`ñÒ¥Å:.èt:6®_OßþýY½jcFŽ";'›Š+Q·^½Â·Yl,Ö¯Xë‡ÿíº>ï²¶o!J§B?™YÖ^¾œ••EHp0Æ&&899å»Aÿq¤¥¥ŽS­Z˜™™•‰Ø”¤ngggÌËVVuù°,Ç5.6–ê¯æ¿|­Ñh ÅÐÐZµkchhøÔ㜗½R`߉‹åÖíÛÔ¨Qã¡÷Ý–„¸çää””„µµu¾ò””¢"£¨RµJ¾KáOê¸OšJEí×^Ë{/gh(/)=¥¦¦¢P(077¢ë*„Ïû˜üB$ž¢t$žW!qBˆ²}L–oµ !„BˆgBO!„B!‰§B!„ÄS!„BˆÇRèÃEB!„B< òp‘B!„xæ$ñB!„ÏD¡ož–wà½8佇W‰»Bˆ§yL~Ð Ùã©V«Q©TÊsrr¸{÷®´”¢°í¡ÕjQ*•hµZ ÐÍÇŽ‘””Tè~¢V«ËL]“ùãØ1rss‹œæü¹ó…ÆÁßÏï©®›F£Á÷Ò¥gÙ‡„ÏÓ —x~=w.½ºug‡ãÇŒ%''G?î÷ýûÙ¸aƒ´ŠâŸÛ#"<·™8an:!AúÎ=ǘ‘£øeã¦|åׯ§W·îôèÚ• ëÖ•‰º®]³–1#GqÁçB‘Ó|ùÅÊ’““YºxÉS?Þ»gÏ›_\\Ëü±`ò”D®]?f,ÝÜ»zÂ!„’x>!Q‘‘œ>uŠ]ûö²}×.Ôj5gNŸ`è ÁLÿ|ª´ˆ¢°í±aýz† ÷d݆ îɆõë%PÿÑÞ=»™4ùSöïÛ«ïS¥¦²fõ~Ûµ“í»v±võšB¯”&¹¹¹={‘‘‘ÁáC‡˜7g™™™|2~W¯˃¸›žÎ†uëX¿v]¾õKKKã«/¿`úÔ©,˜÷5Ù99|6y2/äõÐÿøcæÎšÅ”; 4˜+—/“ššÊœY³õó™áõjµš˜èT*ñqqù–ãïçËM›ÐÔÕ?__Ù„Ï”á‹TY+++¬¬¬HJJâÛßPΨMÞ_ZA)Ñø½Ælܰ[·â  §o¿¾”ÿàÏcàÚÌÚwèÀÞ={y½~}ÒTiXXXè§³°°@¥J+ÕuÝ»{n]ܱ´´äõúõ9uò$µjŦ™æåEó-èÖ½;~—”mܰ»wQ±bEììó݊Щ³}û÷ÃÏ×33s&Lü€ø¸8Ο;GxX¯Õ©Cg77š7oŽ‘±1ÑQQXV¬H«Ö­qssCyçN‘ëš““ËÈÑ£°wp@™¬$::š·ßy‡ô»é|ûý÷XXZbkkËæM¿0ñÓI…Îã£Ö­ðóó¥QãÆùܶ­……y©ïÉBHâYâ=|„¥K–0bÔHÚ´m‹B!o”*-¦OÊŠU+©]»6!ÁÁLû|*Ûwí”ÀüÛdlÏnnܸI7wwrsµ$&$0åóÏ053Eñ÷CEê 5¦¦Jm=3339rä0¬_»•Jž={ù¨U+’qpÈ{êÒÒÒ’*U« ÍÍ¥bÅŠ@^Oûƒª¿Z=/ÑŒ#,4”ÿ}ò‰~\… 0h+–-§Ÿ¾T¨Pž¯æÌá­† qëâÎÄñãQ©TŒ›0¡À|T¥jU þ>>U®R KK¹uû—¿»÷="™š™¡Îȸ·]3055•A!‰çÓÇ’Å‹ùeëÌÍÍeë—2Y™YT(Ÿ—U05Õ_.O©TrõÊUNœ9‘‘ÝÜݹàãÃkuêp5@ÿô÷µÀkLór.µu=uò$o¼ù&+þ€ÔÔTš7uåîÝ»ØÕ°çòåËØ;8ObB"å+T .6–꯾JÀ½[î{饼ÛslmmqptdñÒ¥@Þex[;;þ8vŒ.ݺòé”ÉlÛº•­›7Ó±Sg¬­­Ù¼mÑÑÑŒ9’ÖmÚ¹Î÷—ñ „„Dnݺ…µµ5W/_Áή÷f‚ûÿ¿yãÆCcQÏ¥þ~~ØÙÙqÙßÙ„’x>->ÞÞDGEÑ¡m[}Ùì¹ópmæ*-¡7ažÃ†ñn£wññöᓉ%(ÿÒ¡iÕºµ>éèЩ{÷ìaÞüù´hÙ‚q£Ç ÓéhѲ%•+W.µuÝ·g/nnîúaKKKÞiô.ÇŽeÈÐ! <„ >>DFD`UÍê^[ÏàƒhÔ¨ÑÑÑùâôwçB… é9T*ý<<066fÌÈQ4y¿ >ÞÞLóò¢r•ÊLœ0ìšV.âIDATÇOA‡Ž»¦*0qüxkÖäÜÙs¬^»†J•*¡LNf†×(•ÉúËè&Æ&„sâøqš}ø¡~ƒ† a”çp8{ú ËW®”AñLú­vyùò‹£´½pûÎ;DEEáàà@¥J•$®O‰V«%*2oÝk:Õ,ÓíùîÝ»„…†Q³¦£þR6ÀíÛ·¹sݺ…&ž÷ãAnNµ_{MëN||<ñqq88:êÛ©J¥"<<«—­°±µy캵mÕš_wl'"<‚Zµkaff@zz:!!!8::êo ÅÌÌŒêÕ«ç›OZZáá8Õú{Bñ¬ŽÉ’xJ£m.q•¸—m[µæÐÑ#²‘…¥ú˜,OÖ!D)°tù2 ‚¢Ô“ÄS!J''' ‚BO!„B!$ñB!„%F¡ !„Bñ$ÈÃEB!„â™3|Tf*Ê6yíÄUâ.„âi“$=žB!„â™x!OµZJ¥*PžššJFF†´Š"''‡»wïæ+ËÍÍE©T¢Õj%@ÿBhh(¿nÛÆßG•ššo\FFGfÛÖ­ù¾OžššŠ¯¯o©®÷ƒu»zåÊcýV£Ñà{éÒC§ñ>^ÿmû‡Æ?$„¤¤¤ÇZ¾J¥"àêÕ"ÇgeeqñÂÎ=+\!‰gIòõܹôêÖAŒ3–œœÒÓÓØ¿?#==qïØ‰5«WKË(~ß¿Ÿ6臯^ícG>7Žnî]HHH =†í¿ýÆç“§••EXhÝ»tÕÇðÖ­[té솷wÓÒøbÚ4~Z¾€˜èh~û]©>ÑìÙµþ~þäääðÍü,Y´ø±~¿wÏž‡N3kæÌb mÛº•à  ÇZÿø¸8VþôÓC“ê_ÏÏ›ÿ–­ÒÐ…%šá‹TÙ¨ÈHNŸ:Åî}ûP( ö1gNŸáV|Þ7•¿üê+Ôj5­š· GÏž˜››K yN†Œ·7£ÆŽÑ—Í›3‡™³fÑðí·Ù¿w+–-ã‹/¿”`Ó¯[·1÷ëy¼V§–––øœ÷¦cçN|÷Í7 ýx=zö WŸ>´oÓ†ƒ•úzû^º„]Lþl ݺwgØà!Œ?¥RÉéS§¨\¹2ï5i‚111˜››sþÜ9>jÕŠÞ}úü=?__"ÂÃqtt¤áÛo¹ÜÜÜ\Μ>Cjj Íš5Ë÷øû í‰ãÇQ(4ûðCLLLòÍøxΟ=‹ƒ£#o6hï7ªÔT®_¿ŽË믺ÌažpçÎ2Ôj®_¿ÁíÛ·hÞ¼¹~ùQ‘‘øùúá\×çºueÇB}ع}½z÷¦O¿~èt:Ú·i£Oì:uv£oÿ~$''ëçåâò:-Z´ÀÜ‚ÄÄD¢¢ z^©Tâ{É—ý P(°¶¶&íûÊÏŸ;‡cMG&LœÀè#¹ìïÏßgäèÑtèØ‘VmÚàãí äõtìïÁÐ‡Ñø½÷ŠUï:uê0bÔH´Z-m?jÀÏ+W1gÞ}èÕ§ÙÙÙüðýB~ø~!_/˜‘‘ªÔÔ|—ƒ-ü·.îaaaT¬hÉ”Ï? ::š¾={ñAÓ¦ÄÇÇÂÅ‹¨[¯™™™TµzyݺÏ쯾¢r•ÊdefÒ aÃB—™pû6Õ«W×_9éÒµkþñ ØÙÙé‡íjØqûömâãâ±u·ÀÚÚšÎnnú^ÑAC†°g×n:vêT¬+2UªVþ¾Šy—ñ—.Y¢ÿý› Þ”CñL½PדãââX²x1›¶l¦]ûöúƒïÁˆeÝÆ ’t–`¿nÛFƒ·ÞâÓ)“Q*“yçÝw$(ÅôÒK/1ýó©ÄÇÇP®\9œÑÝ{ ¦]‡öü¼jU¾}eË/¿`eeUêë~ÑçB¾“Ì-,ÐéÀÖÖ†V­Û°xéR¾[¸5ì©T©’>fÿ´há|óÝ·,]¶Œš6-r™¯T¯NttÙÙÙÌ=‡ððð¿M;;õÃ×±³³ÃÖΖ"#"˜ýÕ,>pmʘqcQ(Pì3L…‚i_xÑ¿O_¼Õ€œì‚ƒƒùqùr>ùßÿé9œ¾½zñª ¼}ðš1ƒ *àïçGÇvíôó›òùç4}`)ÉÜ»va¤§'}ûackCpP0-Z¶ÀÆÖ†î={2Èc¡¡!ÄDÇÐÔµéC{¾Ý¹³ç`U͊Ȉ²²²ð0 Àt–––têÜ™ý=xÕæUnÅßÂÞÞ^?þíwÞaõªUŒ9Šìœl*V¬DÝzõ¨\¹2Cáêå+øùú2iÊä|ÛpÆÌ™ èߟ¦M›xX©8ÆŒËÄ hü^c.øø0uútÙ9„϶#¤°oµËW?^¥íK/‰ ÄÅÅQÇÙccc‰ëcº{÷.a¡aQ«V-ŒŒŒôã´Z-Q‘Q¨T*j:Õ,•'^EÅ]«ÕR©ÄÖÎ._OnVV!ÁÁTªT[›‡Î_«Õ„i… ØÚÙ€sݺ”+W®Ð飣£¹{÷.ÎÎÎú{ÉœWXh(/)899éÞŒŒ B‚ƒ±±±¡êË/?ñ©RS‰ˆˆÄÞáïÞ]!„xVÇdI<¥QÈ6—¸JÜ…B<“c²¼3H!„B<’x !„BI<…B!„$žB!„B<–B.B!„âI‡‹„B!Ä3gø¨ÌT”mòú‰«Ä]!ÄÓ<&?è…ìñT«Õ¨Tª|eZ­–;wî••%-¥„HMM%##£ÀvR*•hï}êQ_bB»wíbçöܼqS_ÇÇŽñDZcœ8~\ÿYÍeggóDZc$%%•ʺgddpäða¶mÝÊÕ+Wë·ßK—:÷ùóäææ9>.6–èèè'VŸûË‹'2"B·¢ÔxáϯçÎ¥W·î òð`ü˜±äääpçÎztíÆø1c騶G––ñ¥§§3°FzzâÞ±kVç}3))‰]»2~ÌXº¹w)µIÐóLßÞ½ILH %5…aC†púÔ)}³ø‡E\ºx‘“'N0°_6®_Ÿï÷çΞcÌÈQü²qS©<ÑìÙµþ~þäääðÍü,Y´ø±~¿wÏž‡N3kæÌ‡ž ={–£8®|1Ý«Øëtyáá\¼xQ¸¢Ôx¡¾ÕÉéS§Ø½o …‚áÃ>æÌé3DFDÐò£–Œ3†¨ÈH>?ÖmÚHëxNöïÝ‹ƒ£#_~õjµšVÍ[УgOÖü¼7ww ĺ5kY·f-“&*+NL÷íÇcÀ À› pð÷|д)o¿ó6“?û •JEÇvíhݶ-ÕªU`ïžÝLšü)[·laìøqýžyIã{év5j0ù³)tëÞaƒ‡0vü8”J%§O¢råʼפ ÄÄÄ`nnÎùsçø¨U+z÷éó÷ü|}‰ÇÑÑ‘†o¿]är³³³9þ×qt:-9Ù9úò””NŸ<…V§¥©«+•*U"*2’?ÿøƒ^}zS¯^=bbb¸tá"–¸6k–ïÓ¦r®[rrrˆÇÀÐË~þ¼Óè]ìì슬ŸBÞÞ@^Ÿ÷yoúyx`nnN`@@©ª»­->ÞÞ¬]½†˜˜LLLØ´e3 xôíKbb"{vïfúÔ©lX·ŽÑ#Ft-ˆ´´4¾úòK~ݶ¾ûžœì¼žÓC¹Üq£ÇðDZc„†„°dñb}2Ú«{bcc¹yãû{póæM233  #44Ï!CQg¨9vä(óæÌ)rÞçϳý·ßÐh4 2”_6nD­N§o¯Þ¤§§Y?!„x^^¨O+++¬¬¬HJJâÛßPΨMÞ_ß0}êTþúó/>2YZÆsT¯^=‚ƒ‚˜9cC‡ ÃÔÔ”4U÷’#ó÷銢¹¹»ciiɱ£GYøÝ÷T¬hÉ4/¯"{ì,--IS¥ðç±?pm抉‰ í;t`ïž½¼^¿~©©»½½=ë7mbßÞ=Œ=•Jň‘#èÕ§;·ï WïÞôé×NGû6m¸{÷.:»Ñ·?’““ÿ>)ry-Z`naAbb"QQ…?ÄtýúunݺÅ+–£P(ôóÌÍÍå«Ù³xçÝwILLdó/›õ'R+ZâæîN||ÿ CÃÒqø £bEK¦|þ9ÑÑÑôíÙ‹š6%>>ž°Ðý}’uëÕ#33€ê¯V/0¯[·â™ýÕWT®R™¬ÌL4lXè2“qppÐß’`oï@Zš NǶ-[Y¹â'^©þ ºBî ÍÔh˜;{6ÆÆÆT©R¥Øõ¬R¥Š~y÷O¦‹ªŸ$žBI<Ÿ¸¸8–,^Ì/[·`nn®/Ÿ3k®ÍšÑ¶];ŒŒŒx饗¤e¬~B!‰çSæãíMtTÚ¶Õ—Íž;~Œ3†sgÏDÿÒÛù>uЧ¹««¾lÿÁƒ 2„QžÃ àìé3,_¹R‚ULã&Œgäðü¾o?¦¦¦øûù1ùóÏôã÷îÞsï=ZLLLX´t åË—g׎´jÝ:ßÃ-:ubïž=¥&ñtïÚ…‘žžxô퇭 ÁAÁ´hÙ[º÷ìÉ „††CSצ}pªáÛ ™;{VÕ¬ˆŒˆ ++  L÷²•®Íš1 _?^©^¨ÈHjÔ¨Aí×^cÞœ9,øz>7n\àè‘£´jÝ NÇÆõëiðVV®ø‰ðð0nÞ¼ITD$¡¡¡Ô®]û±ëþ¸õBˆ§­ÐOf¾ˆ/_V©T„‡‡cmmMõêÕ_˜z—¶n§¥¥ŽS­Z%úraIŒkvv6¡¡¡defáTË)_¯YoÏZ­–˜èh”J%¶vvXYýýaVV!ÁÁTªT[›‡Î_«Õ„i… ØÚÙ€sݺ”+W®Ðé#Â#ÈÍÍÁ©V-}§T*‰‰Ž¡ŽsRRRÈÍÉÅÆÖ†øøxÒT*j¿öׯ_G¥RáììLDDÕªUÃÒÒò_Åäqê'„Oû˜,‰§4 ÙæW‰»BˆgrL–k.B!„â™ÄS!„BHâ)„B!$ñB!„BO!„BQòúT»B!„O‚<Õ.„B!ž9ÃGe¦¢l“÷J\%îB!žæ1ùA/d§Z­F¥R:.--ììli-%@jj*Ê322ÈÌÌ”=¦€«W‰ÏWtí7oÜ,óuÏÈÈàÈáÃlÛº•«W®<ñùç}n4÷‰Î34$„¤¤$i¸Bˆ2å…K<¿ž;—^ݺ3ÈÃñcÆ’““£§JM¥cÛvÄÄÄHËxŽÒÓÓØ¿?#==qïØ‰5«Wç?kæL%PÉÏ×—Ÿ–/ÏW6ù“¸{7­ÌŸhöìÚ ?rrrøfþ–,ZüD—1kæL´Zíç¶­[  "..Žå?þ( X!‰giÉéS§Øµo/ÛwíB­Vsæô ïÌ3¿üRz;K€ý{÷âàèÈæmÛØµo/«W®"--ððpztíÆö_“ ý í:tàè‘£ú“­è¨(²sr¨ãì\¦ëí{év5j0ù³)ôëߟ•«Æûüy’’’ˆ½yS òz“““Ù³{7¾—.éçUTùýß_ö÷×ߺuK?oF“¯·51!A’{ûömvíÜÉùsç $°—ýý9þ×q®_¿@LL ;·ïàØÑ£deeé§ó÷ócÏîÝ$%&‘︷sû‚®]“@!‰ç³djf†×Œ¢P(000@¡x €];vâàà@M''iÏ™Kýú 80¯*( P(899ñÛδmßN‚ô/T­Z•ºuërþÜ9ý€_Ïgì¨Ñ(“•ÌŸ÷5Ö­{hùý¶:Ãë ôÓ>xõÄÐб£F“šš À’E‹¹HtT}ú’r'…M7òí‚ùÖ?&:•JE|\¡¡¡xŠ:Cͱ#G™7gÛûï¿ýŽÔ”FÁK–pæôi&MœHº:^_°kÇÙ„’x>+VVV4jܘ¤¤$>›<…rFåhòþûDGEñûþýŒ5JZD P¯^=kÖ$8(ˆÁ0tØ0LMM%0O€›»;û÷îàð¡CtìÔ € >>xôíÇØÑ£ñ±§>9-ª¼4±··gý¦M$$ÜfÜè14wmƶ-[ù»á#G0xè–ý´‚ ë×?² m»v>tµZMàÕ«4jÜ8_âÙºm[þ†7¼);â¹z¡z<ãââX²x1›¶l¦]ûöúƒñ0OO>jÕ çºu©`ZÇš5)_¾¼´ŽçäàÄÆÆ²nãI:Ÿ° *ðÞ{ï1}ê4:Üëíü'SSS\›}ˆŸŸ±ÊKº‹>XùÓOúaÌ-,¸ŸgÞ¿¯;:::ßïò`»qãfff,¿Ÿ”j4¬_·÷®] ¬KÝzõˆ‹eëæ-ôèÙ;»ú‡åÒÓÓQ&+±,"±ßüËf:wvã§U«8h¾ÜÜÜœ¸ØX‚ƒ‚õå¶¶¶Œ=†ÅK—òé”)8Õª%;â¹z¡z<}¼½‰ŽŠ¢CÛ¶ú²ÙsçáÚÌU?¼nÍZ¿÷^‘~ñô>uЧ¹ëßÛeÿÁƒXXXHpž·.î ìïÁ· ¿/ršrFåÈÉÉÆÐаÐòÒĽkFzzâÑ·6¶6Ó¢e llmÈÐdðÍüùdeeGùòô¿[sï!¤óçÎ1ñÓI,¿¯MÛv7iB÷=ŠÍ+#=¿íÛ‰ŒˆÄÈØˆV­ZÑ»o_LMM‹luáìüƒ¸¸[T©R•—þó:vÔþýÀþý\ˆŒ¤e«VtìÔIûþÏ?þHzz:cÆŽÅÔÔ”ukÖû94|fÍ›ñÛæÍ8::ñêÐ!Ú¿¥¤¤à¿Ý‹QQâѬýú÷Ç¢Hy¹¹¹Ó§__mº\Žfà ÁÔª]Kûú^†††4iÚ”N;c`Pôzlߟ{¹x1ªÈ~r6üÌCënâäÉøl؈R™Çä©S144 77—;vpúÔ) ò hðBC LÕªU ë!#£Ìuø8boÄâ·}›öu¥J•°µ­Fç®]¨]»¶öýõk×i¿ÓÍ›7y|>ÌÝr?}†¼¼<œ]œé?p ÎÎÎE¶»˜ˆßöí\¾tSSSZµiMï>}011Ñé{é’OÒíÛømßΕËW¨dP‰F3`À¬mlJuìëò{-ÎæMÿ%)év±«áàÀÐaÃtú£¢øcçNâââ°´´¤m»vxö쉑Ñ?§µZÍÑÀ@!==ZµjѯÿêÔ­£Ýæ¯N„…ùÕªÙñÒËÿÁÞ޾ž¤õñ|{7¯»ÇÉýçaÏž=qsw"ç[•JÅšÕ«111e¤‰Út§Nž$8(ˆ6mÛÒ®}ûçã|«)ƒ£wg—þÕqqÕlÛºU£Ñh4ÆÓ¸;»hŽjnÞ¼©Ýfíwk´ûÙ¶u«ÆÝÙEóÁ¼yÅæsõÊMÇvíȧï+½5ÉÉÉÚí~X¿^SÇÅõí>˜7O£R©4Fóî;s5îÎ.š6-[iÒÓÓµi»uéªqwvÑ$$$hrrrŠý^îÎ.š9³fiΟ?¯qwvÑ üª6}èñãš–Íؾ[—®šØ7ДׄqãŠ|?¯1oiÜ]4!ÁÁE^÷ÏgÃÆ"i 4Û¶Ó¸;»hZ4õÐäææj4æóO?}è>Ü]4999šfMšhÜ]4J¥R£Ñh4qqqÏ—þóÀ¶mZ¶Òœ?^£ÑhÊ\‡+$8¸ØïÑ N]Í΀ÚíîýNºŸÅÉÍÍÕ 0P»ÿFõhÜ]4 ëÕÓ ,ò™îæwï¿AýûkRSSùtÉçÚµkšÖÍ[hÜ]44ÔÔw¯£qwvÑtîÐQsëÖ­Rûe->½z=ô8<`€NßcÏîÝšº®nwgG£ÆÚôo¾öš&??_£Ñh4yyyš©“&?G}÷:š­¿oÑ~žo]ìgiÖ¤‰æbT”¦¢ÒÇóíݼÜ]4'OžÔ¦½{ð÷bç[¥R©=.îµ~íZ»³‹fùÒ¥ÏÍùö±ºè;vêÄÇØ{àsß{Fê+KL³zÕ*¹oµZÍœY³ˆ‹cèðá æhH0¯ôéMdD+—/àø_ñÕ—ó±¶¶fÍúuœ:ÎæßÃÕÍÿþº‰ÿýws‘ý&'%±zÕªó®Zµ**òoî»ï>°]ZZS&N"==¹ï½Çña fÔèÑÄ\¿ÎgŸ~Z¦r]¾j%bÿ¡ƒ|>ÿËž†Ÿ~*²MèñãÄÇÇchhHzz:ÇŽ`òÔ©ÚÏ|·§bÉòeÚ÷Œ,ç·gqåòeúõïÏ¡£„„…2eÚ4’“’˜:q¹¹¹eªÃòÔ®}{>ÄŸöóÑ'Ÿ V«yÞ<ÒÒÒÊíø <|„3§Oó²§'§Ïåld ¿^Œ2Oɲ%Kµu>mò232yçÝw9~òû ÇK/~&œO?úø‘ßE—|~ùñ'RRR˜ûÞ{„GœçÌùs 9‚[7oòó?•éØ/my¬ûþ{íqciiYØ»ózÕêÕ:}oW¬D£ÑðÛÖ-„Gœ'$,”¦ C¥RÉùö_8ß>V€·°´ÀÕÍ:uë0nÂx ˆ‹»õÐí­­­ÉÍÍå›Å‹¹ï‹QQ„Ÿ ÇÙÅ…/打“NNN|öÅtìÔ‰üü|6nØÀ‡ŒgÏžØØØÐ¦m[–­X~çï?Ù¯mµjüèãËßW¯>4oC#C\ÝÜŠü«^L ß¶í¤¤¤0øÕW™8yvÕ«ãääÄ'ŸÆä©S©_¿A™ÊÕÁÁW77ÜÜÝéׯJ¥²È6þþLš2YÛE`gg§ýÌ–Eöçêæ¦í"ºëÂ… „ãêæÆâ%ßàì쌽½=³ß™C÷=¸qãûöî-S–' ‹Âc­nݺŒûý@‘™ÉÞ?ÿ,·ã3)) û5055ÅÐÐW‡ á«… xí×ضu+©©© :”IS&cgg‡{:,_µ’jvvìܱƒ¸¸¸¿‹.ùÜݦVíZbnnάٳù|þ—tîÒ¹LÇ~iË£f­ZÚãÆÀ°ðTq÷µSÍš:CCCœjÖ,ÜÖÞžù ðùü/©Y«&ùùùøn܈«×®Å£Y3ªT©ÂÀAƒ˜ñöL øéÇïû ÛâêæFƒ† ýÚk,óŠ@_Ï·ágÂÙ¾m›œoÿ…ó­Qyx*•Šû÷£V«©]«öC·«áà@ÇNùÑÇ—Q£_+qŸ‘‘tîܹÈUPµjÕøyÓ¯Ú×'ÃNðrOÏ"é=š5ÃÁÁ¿¯þMjjê=WÿSXúõ7ÌÿâK6øú<ä>TãÞûÀUÞýÂÏÞ{éþÒ?÷B’““Q©T¼1æÍ2—çáC‡¹~ý:†°ã¡¼:äÕ"÷o÷ìÚM5;;¦L›Æ7ý—ýûö‘­½¥«“wîiöxé¥î¿ìù2‡äÔÉ“´jݺÔuø$µjÕší[·q1*ªÜŽÏ6íÚbbb¯?ÿLбc´jÕŠ¦Miß±#õêÕ+ñx³´´¤sçÎøûù~æ ŽŽŽ•Oç®]ØÀŒiÓÙøÃx4kFÓ¦xzzjO~¥=öK[¢ë÷ضe+/½Ø¶íÚÒ¤©Íš5cÐàÁXXXp1*Š´´47i‚‹‹Ë}ÇŸ' ¿ZÀ©“§:ŽáÀþõ=ô>o{õêřӧùzÑ"<{ö”óíS>ß>V€ß¿wu\\‹¼7þžA Åñž9“?¾üü3F¿öúC·ËÎΠ²uå÷§P(000Ðv!Þ˦JâããÉÈÈ(rµ6iÊd–-YÊáC‡ŠÝ§R©äÌéÓE»VŠébÊÊR`ee¥}oì›c8îœöõÕëÑ¥.×µß}WäuóÍ™4eŠöõ‘ÇÉÈÈ`Ôèј™™Ñ«W/6ýú+‡¤Oß¾¥ÊK¡Ph¯‹+¿»>J[‡*•Šœœœ2µÔïÜR3s3í¯¼ŽÏºuë²ù÷ßðÝèÉ'غe [·làõ7ßàÓÏ?G¡È,¡¼lŠ-¯²ä3øÕW173gËï¿~æ gNžÜLLLX°x *õ±_–ßëã~/æÏ§nÝzìÛ»—Ðã¡ ,ìÚ¬^½:?þòs™Ž¿ùŸÁüÏ¿øçX03ÓöTdúx¾504ä£O?aä°á¬Y½ZηOù|ûXÞÑɉ;`nfÎK/ÿ‡»u+1M•*U˜5g}ðA‘ŠºŸmµjÜ{P©Tœ:ycccš·hƒƒ7nÜàÖÍ[Ôª]K»]~~>·nÝÄÐÐêÕ«Ù‡×øñüþ¿ßøòóϵ]O÷²«nÇñ'üP±±E¯k8ð÷Õ¿éÒµ+ƒ_}•N;ñçž?‰¾v­Ä²xØJ½ú) 6   €Ÿú‰ý{÷ñëÏ?ã5~<;üî”M<‹.$!!€;J}À98¶4oÄÄ<øuoÜ(¬gG§R×arr2Ú´-õ1q1J;b´$q·nÝéò­Q®Çg³æÍY¶r…¶{9ðð>ûä~þñ'ÆŒ{OyÝ m»v÷•Wìòr|äçT>®®®ôé×—>ýú¢V«‰‰‰ÁoÛ6V­XÉ׋3pÐ ý»u[–ò(ï1qò$&NžD~~>Q.ðÝ·«Ùû矬[»ŽÙsfk?µZ]äâîŸãÏñÖbÝzu¨ZÕ–!ÆR¿~ý àõõ|Û¶];úöë‡Ï†´hÙâ_<ßòÜo+À7nÒ˜¯—,)uºa#†³é×_8vôØÃ»`[·ÆÀÀ€Ã‘ššª}|àü¹sŒ: fÍØàO·ÝùùÇŸðõñáÃ?Ҧ߶u+™™téÚånsssæ}øS'M~¬\÷—z°é×_ùù§yu謬¬xó­1$''³å÷-ÿ´Jï\í¦$§¾ýûaggÇà!¯²÷Ï?Ù·w/i©©tëÑ-¿ÿÎ/?ÿL¿ýµÝl—.]âh` •­+k»×'ŸYË–ɺ¾ÇÅÅWWW¼gÎäG_2ÒÓJ}ì—õ÷ZÖïq;1‘É&Rµj~Þ´ cccšzx0}Æ öþù'i©©8:9Q¿A.]¼ÈýxÙóåœZÏFŸb¿~ú3Öˋ羞oÞ÷û÷í#ôNø“<ßbjjJNvN‘nôää¤;ç[‹çæ|kôo¨FFF|ôÉ'Œ>¢„+† Êo›ÿÇk#G2úµ×ÉËËcÃ…ƒ8FŒ,L;qòdvøà³a)))´kߎ‹QQüúó/1sÖ¬b÷ïÙ³':v$$8¸ÌßãÅnÝ´û:øU†J­â—"ýžÑÝ5®º§Nžä“>¦©GSÂOŸáÜÙ³ØU·+ñY代Osr »_þüóO”yJ†ά;­€¯-bÛ–­ìÛ»¯È3£boo×øq¬[³–áC‡ñÆ›o`jjÊoÿû×þ¾Æ<_¦y‹ÄÇÇ—ªÍÌÌzÏ­,.DFòÎìÙ¨ TœuŠÑ#F2pð ÒÓÒðÙèC~~>s罇……W®\áÍѯѨqc¾ß¸¡Ôù¸¹»ãïçÇŒiÓñ?KKK8@FF/½üŸÇ:öu-]NIߣIÓ¦T«Và`fÏ|›>ýú¡Rð“oá ¹;```ÀÜ÷ÞeÜ[c™9}:o¾õ..Îñó­]^ìÊþ½û˜2q"¯ôéCÒíÛlú¥p,AÇΞ›ó­Ñ¿uеkßž¾ýú±sÇŽ‡nóÉgŸQPPÀ¶-[ùèƒ015Á{æL†®í¾ûñ—Ÿ™=ómü·oÇûvmA~µh!Í[´(vß|ôÉÇôëݧÄG8JbhhÈwk×ðþ{óؽk_|ö 6䋯æ3oî»ÚÂ_³n3½½ùåžÇ/j×®ÍÒ•+Jì’¾Û=~æ J¥RÛ]4pР"“{ôë?€m[¶²cG@©8€Ysæ R©ðÝèïܳÏþÌ_¸à¡÷Äu©Ãò϶-[ »mm:|8ó>x_§ûõ÷ÊÉÎ&>>^{/ìþ®Ä>þˆ¥_ÃÇ|XääôÍÒ%Úž–u?|Ï»sÞш055eÎÜwóÖ[…'Š‚âããqpt(S>ã'Nàúõhü¶mgætï{Ò¶å‹ùóëØ×µ<E—ï±èëÅxO›ÆŽ€vh{C‡ç1c [f=z°dù2¾øô³"Ÿ4õð`ÙŠå¥j!‰gó| 0nÂx¶üö±÷u½—÷ùàËùóÉHOçhàQí¸+++¾Z´&Mš<7çÛJš‡Ý~†ÄÅÅqéâ%Œhܤ 6ÅüàU*QQQ$&$`S¥ Mš4ÑyV±òp36–+W®PÙÚ*UªD~~~‘à]PP@dDIIIT¯^5Ò©KúiIII!2"•JM½úõprrª'»­¿o!.îÓ¼½‹ý{ff&"#ÉÊÊ¢º½= 6,¶žbbb¸ö÷ߘ˜˜Ð¸qãQìXæ½ûn‘QÈ¥Í'11‘Ë—.¡R©qquy`¤yyû*GyÔ÷P«Õ\ûû±±7022¢AƒØÝwŸ Lž;{…BAÍš5©[¯^©/à„œoïõ÷Õ«ÄÄÄ`nnNSRz×÷ó­^x!ÊËÉ'øô£Y¹ú[ÜÜÝŸX>I·o3uòÞ|k ½ûôyîËCñôI€Ï•øøx,,,Š}L¥<) 222žù^§UB ðB!„(rƒK!„/„B ðB!„/„BˆòQꇰ뺺I© !ž W¢¯ý«ùËùVH ^!„ׂV®l…âyi9ËùVH ^!„à…B ðB!„/„B ðB!„/„B ðB!ÄsÆHŠàÙ*… žŠ¶mÛJ!!^xŸ£G–)ÀïÛ»¸[7‹¼÷rÏž8::J€úÕ’-¯Vø³üÙ„Ÿ¡‘!UªTaúŒ|»r%µºLûiÞ¼Û·neª÷tí{•+W.1܃Ï´Ç ¦Ò….„ø· >Ÿ©U»/{z’š–Z¦ýT··çÝ÷çѸqcí?++«ÓH ^ÈB4íæM›4øUìkØs40+«Ê´kßNd!*###^ìÖ»u#++‹û÷óþ»ï±|ÕÊRïëîÀº»]õË–.å7ߤAÆàŸ|üY ŽNN¬\¶œå«VbbbÂÊ+ñžáÍî]»ˆåFL ÍšáÙ³ç#÷DÜÍ›ÿúw{X ÿ·[í‘‘‘L›>ÌÌLü·ûQ·^=boÄræÔ)šzx”˜öÅîÝ9È«C‡~&œi÷<þ"„¨X,--é?`ý x싆Ž:ѱS§Go+Å^1½Ð¸[~ûQ¯½¦}ï•Þ½¹Íñ¿þbÈС:í§{œ;wþ™ù^ÏZ÷û¡CILLdó¯›èÓ¿J¥’Ý»wÑ·®GG—˜¶~ýúøoÛN–B¹¹9&&&¤¥¥qòÄ hÖ¼9¶¶¶D_»ÆÕ«W133£MÛ¶˜˜˜È.„x$y¾‚jР¹yyD_»&…ñ$[ðøûù1Æk,uêÔáÊåËd¤¥³3 €cG‘––öðŸÎ..lÛ¶;ONvuêÖå'__òòò8qâµ±³«ŽïÆRèB ðÏ»#Gò¿Í›Ñ¨TROˆßv?r²²ñõñåXàQ5nÌì¹ïÐà@:wéL•*UJLÿb÷nÚ€&M›jß³®bƒ³³3-[µâÚ 4;;;4l•*I¡ !t"]ô˜……=^z‰-¿oy¬ýü[ìôÁû~Pìû 6¤a ƒ_îrrrbãO?û7Ef&®nnEÞ+ë4—BˆâÕuu“/ž}mïÌ–t7À@ÑY”\\]q)aæ#ñï âæ(•ùÔªU‹ÐãÇ ðó£R%êÔ­+$„/„¾iذ! çÍ+òž®"…ew%º|Æ+ÕuuÓy_Ú¶4û*n{ ð¢™uMÊJQþ._¾LNv6Íš•)½J¥âàƒÔ¨aÏÕ+Wˆçµ7Þ(qE9 ðB«4 Ip“ùå…%;xà çE³͹}û6ùÊ|Þ|kŒNsÜoçŽ$''s<$GÚwèȆï¿gæ¬Yà…Bˆ§©ÇK/affFб <{öB£Q—)¸dddЪU+zô虹9•+Wæ%72ä19!„â 騩cÇyqøÐA¬­­Ë¼Ÿƒ±ë?°²²ÂÁÁE_-`äèÑà…Bˆ§M©T²~í:ü¶mãÓÏ?ç…F<X¦}™ššR­šþ~~äçç3{î;Ü|Ä4âà…Bˆ'Àoûv\\]høÂ |¿nYYYœ>uò©íKîÁ -8÷äÊKä ñ|²´´¤SçÎ;ÆßW¯>Õ}I€e Dr1 e%„(YÿøîÛo±··gúŒ¬\¾¼Ì“U•e_à…Bˆ'ÀÌÌŒYsæh_¿{ß$VOz_à+(•JEFz:Umm˼µZͺµk140ÀÐЯñã¤`ïÁž={Ð¨Ô 47wwV»3SªÚÚ2tذÓgff’ššŠ““FFFšš €M‘¥aË£N…ÏdWA…Ÿ9ÃÛ3f’““£}/5%…Ö¯ó>ÒÒÒpsuc¤Iäææ-{€ŒdÚôéŒñKà‘@2ÒÓi×¶-&MâÆõ˜Óž;{Ÿ>\ˆˆäëE‹Q*•$''³ì›o8rè+–-çÔÉ“%Ö©BH þ9Ĉ‘# £k×®pàÀ2ÒÓuÞ‡­­-ž½zrèàALMͰ°°‚½Ï¡CILLdó¯›èÓ¿Ummiס=߯_ù#ÊëbÔZ·nEû¨× >J¥€ 2dØ0T*_/ZDËV­Š­S!ij©¾´lÑæÍø~Ýz<š5ÃÀ R‰å°Ã144dϮݜ>uW7Wíß•J%h4åZ§Bˆç‡ø (ôøq¦y{cff†ƒƒÁÇ‚èÕû•Rï§n½z,_¹R ´ïøÁïÍzg)))ôîÛ§Ä´¶¶¶|»b%uëÕåü¹óŒŸ4‘üü|NŸ>MvNié <¸\ëT!^è±9sçjÿ¿s—.Eþæ=Ã[ è 333ÃÉÉé‘ÛµlÕŠ†/¼@Zj*ž½zall PìEUIu*„à…xÆXXXÈàE!„xñäɬkRVB ð¢‚)Í|éÜd~y!*’Ò>ŽVž£å%À !„xn¨T*222¨Zµ*YYYXZZ’Mll,ÎÎΘ™™•[~¥ Øåùœû“$3Ù !„xæäää°hÁB %$8˜ysßå¯à`Þ™=›S§N…K©~0oŸ|ô1jµZ»¬¬,æÌšÅ;³gúÜ•¡x!„Ï´¿BBhß¡?úøòͲ¥¼1f _/Y‚φ >xˆù àääÄŨ(mºCâÙ³'ó,à÷ÿý¦s~jµšaaüòóÏà…Bˆ'%//333ŒMŒµ“š™™adXx—ÙÀ 0”9Õt"!!A›.>>'''LLLРÑ9¿ØØXþعµJ¥×å&÷à…– œ{rå%ò„(›´´4*W® @A~J¥rss)PnT©’vÛZµjkÓV©Z•ôôô"ÝöºpvvfȰaœ “/*]‘\ HY ñ4=F—®…“;çÅÜÙshÖ¼9'OžÀk\áõêÕÅw£gÏžeÄÈ‘ÄÅÅÙÁ) IDAT±{×.ú÷ïÏWó¿âDXݺuîÊN¼BˆgŽ•• /"#=kÚ´mKSâãâ9z”výÄÉ“‰»u‹‘£GallŒ££#c½¼øüË/ÈÊÊ¢FàEÅ R©ÈHO§ª­ícícõ·«135¡ª­-C‡ “‚½OdD{öìA£R3`Ð@ÜëÔaÝÚµ`hh„×øq%¦ÏÌÌ$55'''ŒŒ ŽjµšøøxLLL°³³ ;;###YìGþþûo)p!„øç]PP#FŽ$ìÎ ‘«W¯Òo@¦NŸÎÙ3á:í£ª­-í:´çûõë1—ùÒ‹5dèPÒÒÒøõ§Ÿy±{7lmmñìÕ“CbjjVâ<ó£.кu+^îéÉð‘#P*•œ?wŽºõëñêÐ!ŒçEµjÕ¤…e"]ôPNN9ÙÙ´hÕß éÚµ+­Z·&''‡M¿üB³ÍuÚÏíÄDrrs?aK¿Y¢½*îiÁGDį±X[[£V«YûÝw´kßžqÆ—˜ö•Þ½ ðàè‘@líªñæ˜1ÄÇÅSûž®ÆN;K! ñèËìtàŸsa¡¡XXXp40Ô´T222P«Tøúø0xÈœuÚ©™߯[G³fT’à^ ¿í~XYZâëãKË-pptàÒ¥K¨Ô3iò¤‡¦ a؈á²g×nNŸ:ƒ“#1ׯÓÔÀï¾]Í”iS¥ …xÂôany ð‚ÐãÇ™æí™™ B™¯$#=¿í~Ô°·gøÈܵµ5³Þ™CJJ ½ûö‘‚-Æû~ðÀ{Å­ç^[[[¾]±’ºõêrþÜyÆOšH•*U8|è0¿mÞLzFµÿy¦×oÛ6ªT©J­ZµèÛ_½BH€îÌ™;Wûÿ»tÑþÿJ½/333œœœ¤PŸ€–­ZÑð…HKMųW/í ]Ó¦O#)) ªT©¢­»²ÔŸB¼â_`aañÀ@<ìíí¥p„àEù‘Yפ¬„àESšùÒ%¸ÉüòBˆg›</„BH ^!„¨xJû¼>wVxëÞ£çÎ×íäĈ‘# £k×®eª'!*"+++.^DFz:Ö66´iÛ–¦ÄÇÅ1rô(ÌÌ̘8y2q·n1rô(Œqttd¬——v_ /*UÞkÖ¯«e(-x=¢T*122">!WíûµIŒ/¼ïdP©°Jíì«“rO×orRÕ«WÇØØ ò»rù2iéì àØÑc¤¥¥I%Üß‚ˆÀßÏ1^c©S§N©Òæää“M‹V- 9Tæz¢"»Üï233ÃÕÍMÜ¡ð|ÍZµ0-å½öŠNZðzälx8M=<044dïî=Ú÷oÄÄ`ïP£ðÅ{QŠÌLjØ×ÐnSÙÚ…BQªûõ7¦QãÆDEEqí￵K—Šøm÷ÃÊÒ__Z¶hAç®]tNŠ……GIMK%##£Lõ$„àõ\JJ ­Û´ NÝ:¬_»–êöö\ŒŠbÊ´i8;×fG@—/]ƳgON„…abjJ«V­Ø¸a#‘´nݦTù6l؆ Jãý?(ö}ïÞLzü8Ó¼½133ÃÁÁàcA´ïоÌõ$„(;}™N|caa÷ o² í{}úõ#K¡ S¡`ÀÀÚÇDBRR={õÂÈÈH{A0iÊdrss±µµ•B}Ì™;Wûÿ»t‘zâ_¤sËK€¯À,­¬x}ÿ{ØÛÛ?ôBÁÂÂB R.褞„àE¹’Yפ¬„àESšùÒ%¸ÉüòBˆg›<&'„BH€B!„x!„Bü+ä¼Bˆç^iŸƒ×‡Çê$À -8÷äÊKä ñl+MÀÖ—Iq$À‹2"¹²âIR©TdddPµjU p¡-KKK²³³‰ÅÙÙ¹È|ôB¼B=““â Y¸x \ˆŒÄÔԔ͛þK«Ö­XµboyyѲeKü¶o',4##c>ùìSíÌžI·o3ÿ‹/±°´ Yóæ >\§¼>Ì®——Çœ¹s©U»–xñd¨Õj ÖÖÖäçç£Ñh011!==Ef&ŽNNÚº¼}õÅ—XY[SͶ*£_]*ã>‘ìÙ³JÍ€A©[¯?ùþHVvεkÓ§ßÃ[ïyyy¨ÕjÌÍÍŸz½ ¡Oþ ¡g¯^ÌœîͪïVcll̰#xgölZ¶lÉჇX¾j%ëÖ¬åbT/4jÀùóçyó­14oÑ‚·½gèàããâøjÑBáĉ0½ ðröй¹¹øúø…ëºçååá·mÿÛ¼™aa,^¸ôôt:ÄêU«XûÝšV$KMIá‡õß—*oKKK^z©ƒ‡ ‘Š(.ÀGF2mútÆx%ðH )))(•yLž2…‹/•¸*\xx8…„èT¯yyy¬\±ò}ìÚµ‹•+V²xÑ"6|ÿƒTˆ¨òòò033ÃØÄccc pÙX#ÃÂ6êÝ a§šN$$$hÓuëÞzõë³|éR:vî¤s~ÃGŽäDXkVG³fÍô¶Ü$À뙬¬,TÄÄÜ`Âĉ 4ˆ‘£Fàï¯ S§OÇÞÞžëÑÑÚt8p€Œ;Cו‘!iii,ûf‰,aZŒ!C‡’––Ư?ý̋ݻ‘’œLõêÕLÉÏÏ/—z  "îæÍÒõîÝïÞ8×vfȰ¡R!¢ÂIKK£råÊ…ç±ü”J¥¶áS *(ÜèÎ2ÙiiiØØü³¬uÒíÛ|úñÇôéסÆéœgà‘@ÚµoÏ¢¯³më6½-;é¢×#J¥###âpquѾ_ÛÙ™ÄøÂ«VƒJ…×lvöÕIIIÁÍݽ°¢Œ2th±­À‡Q©T¼öÚkTµµ%""‚¬¬,íMÜiÁGDį±X[[“@ff&ùÊ|mkãqëµ{œ;w¾Øô111T®l…Tˆ¨p‚Ž£K×ÂÕÇŽóbîì94kÞœ“'Oà5n<õêÕÅw£gÏžeÄÈ‘ÄÅű{×.R’SØðýÔ¬Y“é:,ã p!2’ð3gˆ£o?ý$+^œ §©‡†††ìݽGûþ˜ìj¹’UdfRþÆcå§V«Y·v-›4¡ ?_‚{1ü¶ûaei‰¯/-[´ cçN¤$§°k×.ªT­ªÓ=têµûþÜËÈÑ£¤2D…beeÅÂÅ‹ÈHOÇúÎÅk›¶miêáA|\#GÒŽ¢Ÿ8y2q·n1rô(Œqttd¬—WáEÁÿ–ÆÄÉ“ˆ‹‹ÃÜÜœ*UªH€O^JJŠv}÷:uë°~íZªÛÛs1*Š)Ó¦àì\›\¾tÏž=9†‰©)eúÍš3‡äädúôí+PŒ÷?üà÷¦LŸFò=]õåQ¯÷ÛòÛoxöê…••éé²¼¬¨°¬ïë™233ÃÕ­èsèÔ¬U¾áõ¾ì$Àë ¼gx“¥PhßëÓ¯Y ™ Ô¶BRR={õÂÈÈH8îòÖ±‹ê.“ q ?Õ•‘5j<ºåݶm[êõþºrÏýÄY³gK¡ !$Àë3K+«^ßÿžöööRX¬^…B¼x,2ëš”•Ï#}™~V¼(“ÒÌ—.ÁMæ—¢"чÅcJKžƒB!* ðB!„x!„BH€B!Ä¿BÙ -8÷äÊKä !$À‹•®H.¤¬„¨HJû˜œ>Œº—/„â¹Wš€­/ÏÌK€×jµ…Bµµ5ùùùh4LLLHOOG‘™‰£““N‹š”ÅömÛ¸˜ˆ¥¥%£_]*£˜º‰ŠŠ"::šÞ½{£R©X¿n•*áèT“þú?4m^^jµssó§^¯B<ëT*T­Z(\RÙÒÒ’ììlbccqvvÖ.6#Š'g=››‹¯/P¸Þ{^^~Û¶ñ¿Í›9Æâ… I¿³ÎûáC‡X½jk¿[Sdýö´ÔT–,þšÕ«V±oï^òÍÈÈ 9)‰Q¯½F›;󦋢9ˆF¥àÚßS³fM&NžÌµ«WQÝy¿8áááü¢S½æåå»ÔobB"+—¯`É⯉½+"*Œœœ-X@BBa¡¡„3oî»üÌ;³gsêÔ)ü¶oçƒyóøä£‹œ÷nݼÉÌéÞ¼÷Î\8Pªü³²²xm¤~¯Ò(^Ïdee¡*( &æ&NdÀ AŒ5Šm ˜:}:ööö\ŽÖ¦»zõ*ýôgêôéœ=®S^·‰ŠŠb‡üñG‘Ž(äààÀ<=µ¯«ÛÛÁ_!!D^¸@nnn¹ÔkpPq7o>.Àߟѯ¿Æ[ã¼î®,D…óWHí;tàG_¾Y¶”7ÆŒáë%KðÙ°¡°asðó,ÀÉɉ‹QQÚt111xÏœÁGŸ~Âþ}ûJ•çº5k055•/ž¥R‰‘‘ñ ¸¸ºh߯íìLb|Ba…V*¬R;ûꤤ¤h·iÕº5µÙôË/4kÑ\§üÌÍÍiÙ²%#GÂÒ‚¬¬,©„G°°°`ÔèÑXYYÑð…†˜››—K½vïÑÇš5H›”t¿mÛùÉ×—ääd©Q!åååaff†±‰1ÆÆÆ@á²±F†…w™ïÞÊrªéDBB‚6]û0·°àí3hÛ®ÎùíÞµ‹V­Û`[ÍV¼x:Ά‡ÓÔî_û§u~#&{‡;Ë“ÞiÆ)23±²ª¬Ý&-5•ukÖйkWþóò˺µN‰OH Àߟììl,--¥t°é×_¹tñŽŽ:ÝCש^ÂÄÔ”7ßÃØqãøë¯¿¤ðE…“––Fåʅ粂ü”J%Pxë²@UPä¼—––†MmÚS'ObiiÉÚõëKÕEìèQæì™p¶oݪ·e'ƒìôHJJŠv}÷:uë°~íZªÛÛs1*Š)Ó¦àì\›\¾tÏž=9†‰©)Ñ×®‘‘žßv?jØÛ3|äˆG_ýà=c·oߦo¿~2àë!ÜÝÝqwwÀØØ˜Ysæ––¦ó²½ºÔëý¶üöž½zÑ­[76þðtîÒE*CT8AGÑ¥ká±=vœsgÏ¡YóæœµjÕ¤Q£Æ:ç9ÁÞ™=›A¯¾ª·eWI£ÑhJ“àîãqå[hh(®®®ý{–BQdð,…‚L…{{{mðU«Õ$%%Q¥JLLLJ•ÿ€¾ýÊôl÷ó6‰ËÝï^š²*i[]êµÄNj*††X[[ëôy¢££i+ƒ&õâ<'ç[ÈHOÇÚÆFû:77—ø¸8µ£èÕj5q·naW½ú÷Í“““Q*•8::–[×uu“çàEùº7Ü}}ÿ{:·…þÔkIªÜyŒHˆŠèÞà…÷Þ]ÝÜ8ïÕ¬U«ØôÕªU{nËN¼xhË\HY !$À‹  4]íÜd~y!„x!„♦/ÓÏJ€B!J¡"d”çž„Bˆ H¼BQI½Ð’sO®¼d@žB¼øW•e¢)+)+!ijGºè…BiÁ‹ƒZ­F¡P`mmM~~>ÒÓÓQdfâèäôDæ‰OJJbÓ¯›¸zå2Ÿ~öUmm¥Bî«›¨¨(¢££éÝ»7jµšÖ¯‡J•¨bcðŸó?//µZ¹¹ùS­W!ăJû˜œLU+ÊEnn.¾>¾xÏðæDXMš6e×Î$Þ¾M {{.\¸Àä©S±±±áð¡CDœ?¡¡&MÔˆÛ‰‰üè닉‰):v s‘ÛÙÙá=ÛĄD‚ƒŽIp/Fbb"Ç©yg)×üü|rsr™6Û¯.*1mxx8Y Ý{ôxd½æåå±ní:¼gxÙGXh({vïÁ¦J^y¥õê×—J‚J¥"##ƒªw¦bÎÊÊÂÒÒ’ììlbccqvvÖÎE_J;½>æžÉÊÊBUP@LÌ &LœÈ€Aƒ9jþþœ cêôéØÛÛs=:Z›.>>ž‘£F1~⎗rYÑ;vðJŸ>RøÅpppà?žžÚ×ÆÆÆ( Ö¬^MUÛªåV¯ÁAAÄݼù@º¸¸x<==8h wQ¡äää°hÁB %$8˜ysßå¯à`Þ™=›S§Nà·};Ì›Ç'}ŒZ­~`_sfÍâê•«Ï]J€×#J¥###âpquѾ_ÛÙ™Äø„ ­TX¥vöÕIIIÑnÓÔÃS33–|ý5Mš6Õ9ÏäädÌÍÍX¡Iïê•+4nÚ„©Ó§£R©ÉR(Ê¥^»÷èã^‚{™“ž™Áþ}û ’ Ò_!!´ïÐ}|ùfÙRÞ3†¯—,ÁgÃ<Äü prrâbTT‘´þþ$'%£AóÜ•›x=r6<œ¦888pýÚ?­ó11Ø;Ô(|Q©ŠÌL¬¬*k·‰ºpsssÞÿðCBCCuÎ3ôøqšµh!…¯#§š5‰Š¼ÀŽ€²³²0·°(Ÿz}æÍðôôdè°aœ?^*@THyyy˜™™albŒ±±1P¸ªœ‘aá]æ»·"j:‘ MwýúunݼEÛöíJ•ßÁ?Ö‹÷æ¾ËÙðp½-7¹¯GRRRhݦ uêÖaýÚµT··çbTS¦MÀÙ¹6;¸|é2ž={r", SS*Q‰ ?lÀ¡†=uÜëèœç+½{KÁ?‚»»;îîîXZZòöœÙ$''Ó»OÉéR¯÷ÛòÛoxöêʼn°0² RSÓèÖ½›T†¨pÒÒÒ¨\¹°±R_€R©ÄÄÄ„ÜÜ\ TE6iiiÔªU[›öÀþýܺu‹ ‘‘$&$ðÉgŸé”çõèë >Ww7êÕ«'^<9xÏð.ÒÝÛ§_?² 2  ¨ $ƒ‡ !))‰ž½zadd¤ Î.Îäççcgg'…ú™˜˜àèèøÈíÚÞè¨K½EØ 6 €þœœŒ©©)V¥XC^}tô]ºv`ì8/æÎžC³æÍ9yò^ãÆP¯^]|7úpöìYFŒI\\»wíb¬—k¾ûŽ—ï+ó(¦¦¦¤¤¦pâ·0š·h¡·  ðzÄò¾¸¥•Õï`oo_lz)D=­×’T«VM QT8VVV,\¼ˆŒôt¬ïœ»Ú´mKSâãâ9z”výÄÉ“‰»u‹‘£GallŒ£££6¸Lž2¥TywìÜ WWWÒÒÒX¹|¹xQ1ȬkRVBzÿä19!„¢’¼Bˆçž¾L?+^!„(}X<¦´¤‹^!„¨€¤/´ddü“+/q/„/þUº"¹²BH€I­V£P(°¶¶&??Fƒ‰‰ ééé(23qtrÒiÎó²äûÃúõP©Ull6b„TF1eEtt4½{÷&))‰M¿nàê•Ë|ªãÜ×BQÞä¼ÈÍÍÅ×Ç(\ï=//¿mÛøßæÍœ cñÂ…¤§§pøÐ!V¯ZÅÚïÖ».ò²¥K‰½«S¾ùùùäæä2nüx®ý}M*¢‰‰‰ D£R`gg‡÷ oFŒA÷îÝ©jkûдyyyääähËZ©TžžÎÍØØbëO!$ÀWPYYY¨ ˆ‰¹Á„‰0h#G"Àß_{0uútìíí¹]$mà‘#¤§¥é¼.²±±1 …‚5«WSÕ¶ª~1øO1‹XìܱƒWúô)1mxx8…„ètá–——ÇÊ+‹ÝONN¾ÿ¾T†¡®«[©þéé¢×#J¥###âpquѾ_ÛÙ™ÄøÂ5 *^³ÙÙW'%%·;˘ÆÅÅq;ñ6Mš6Õ9¿«W®Ð¸i ÈšÕß‘¥P”j”çUrr2ææf˜šš–éÂÍ{æ š·hA€¿?¯¿ñÁAAÄݼYlÚ­¿ÿމ±‰¼¨PT*T­ZUû±´´$;;›ØØXœµ‹Í”‡Ò<&§/^Zðzälx8M=}žÈ@¾ŠÀÝÝ÷;=%@©—–¼{áfhhÈÞÝ{Š¿p{ˆÓ§NabjÊåK—9tð Ý{ô Î_!!ôìÕ‹™Ó½YõÝjŒ6bïÌžMË–-9|ðËW­dÝšµ\ŒŠâ…Fîü†nðb·îty±+Íš5Ó9¿Ø±|»r%yyyLóö¦NÝ:àÅ“aaa÷ o² í{}úõ#K¡ S¡`ÀÀÚà;xÈ’’’èÙ«FFFÚ ‚»† Zª¼MLLptt”Jø—/Üî·å·ßðìÕ‹©Ó§°|éR î¢ÂÊËËÃÌÌ ccŒÂec CØÝóŸSM'´>7/Ðp)ê"{víæý?Ð)?_fΞE¥J•Šœw%À‹'æþûß–VV¼g``€½½½–hÛ¶-€NnÞ3¼ÿ¹P6¬È¾fΚ%**¤´´4*W.¼ÝX_€R©ÄÄÄ„ÜÜ\ T…ݹ5™––F­Zµµi™0iæææÌ)Åo$îÖ-6|ÿii© <÷:Ò‚€LÊòôËJ— 7!žWAGÑ¥kÆŽóbîì94kÞœ“'Oà5n<õêÕÅw£gÏžeÄÈ‘ÄÅű{×.š7oΊ¥Ë¨Y«7Ñ9O3s3æ¾÷. …‚U+VбS'½,»JFSšwGVĉùÿm¡¡¡¸ººê]p{Þ¦a½ûÝõõ{GGGk{ij}ž“ó-d¤§cmc£}››K|\ŽŽÚQôjµš¸[·°«^ý§WÒÓÓÉÉÉyèúîÅ•ñ‘Ç9|èùùùôîÓç_×ÕM/êDZðB!žY÷w(¼÷îêVô15jÖªUE4; IDATlzlîÛÇ£¼Ø­7ÆÐÈHû˜ž>’/„BÜÇ®zu½ÿòÜ“BQI€B!* é¢Z2‚þÉ•—¬/ijM_¦Ÿ•/ÊLÖ8—²âyTŸT.z!„¢’¼P«Õ( ¬­ ÉÉÉÁÜÜœÜÜ\qppÀĤüWS©T¬_·ƒJ•ptªIÿý¥2Š©›¨¨(¢££é}gúíÛ¶q;1KKKF¿þº’BZð¢x¹¹¹øúø…ó–GFDpöìYV­Xɹðp–/]JTT‡bõªU¬ýnM‘U•²³³™3k+W¬äð¡C:å{íï¿©Y³&'OæÚÕ«¨T*©Œû$&&r,0ͲÉÈÈ 9)‰Q¯½F™LF!^èêÜÙ³4õð`§oÏžEŸ~ý˜9k~~œ cêôéØÛÛs=:Z›.>>žV­ZãÙÓ“®/¾¨S^Õí퉌ˆà¯"/\ 77W*à>üÇÓSûúvb"QQQìðà?þ(r‘u¿¼¼¿³ª’"3“öÿ¬%nggÇà!C055eÙÒ¥:ç¹é×_©_¿Ž޲¼.-zGGâð÷';;[[_’••…ª €˜˜xÏœ@ó-ð÷çõ7Þ 8(ˆ¸›7H—””Ä´Þœ:y’ÈÈ ðB<t‘¯K/Íèþû÷'^„Ÿ>C‹–-8h +–-£~ƒ†\ˆŒ`à Á8;×fG@—/]ƳgO’’’ ¢~ýúlúåWjÔ¨A:uuÊÏØØ˜Ysæ––&KЖÀÝÝ÷;=%üŸ½ûޝéü8þIîÈ"‚,!ƒ$h1"Jì½B¬{ jTKkS´öLÍj‹X±Z[ˆ=CŠ$Tˆˆìq“{óû#rš+“ÒŸ¤Ïûõòz¹g<çœçɽßsžóŒ‘£FñâÅ ÚwèP ›"•J…\.çÙóçØÚÙJË­mlˆxö€&M›róæ­lû¶lÕŠ[7o²cûF½¾1A¾044d䨑$ÄÇKÓˆ:U©‚ƒ£#‘‘‘´nÓZjEß¹kW"##iÕº5r¹SSS<:v œµ5)))”.]ºÀÇV*•"¸¿í—J.§L™2ÞþÆõëTsvF&“qä¿´üqXæ–yî{åÊj֬ɨѣ8~ü8½z÷ ‚ð…Í›s„+•J¬¬¬´–éêêæ‹+F11ÏøG'**ŠÚ®®Ø;Øó˪U˜™›s/(ˆá#Fä¸ÏÎíÛiÙº5!|ï>‘‘/hPÀÆ“‚ ü;Ž=ŠJ¥¢m»vÿ8-µZÿ¡CØÚÚrç·=fÐàAÙfÛ^È•uíßË«Ì9Ùâã¥eí:t !>ž¸øx:vê¤UÅŸµ]×îÝèܵ ‘‘‘èééQ¼xqQ(‚𠦤IIf͘IT­VíÛ2Ø¿Ÿ˜˜Χªs5:tô`õ/«;~œðBþÞf¼tq#ðþÆ—³fƨX±lËòbjj*þxá#U÷ÓºtêìÉ^__6oò¡I³¦´nÓæ­ÓIˆOÀÎÎŽgáϰ°°ÀÜÜ•*%Ï}D€A„ B… ¢¯¯ÏgŸÎgŸþÎã[xvéÌÚÕ«©îRË—.ãð^ot›^Aþ­Z·Î¶ì]«èõõõùÊË Èè=S¢c³ ‚ A"À ‚ B$ªè‰h8÷áòë}5ÈA^x' Dâf@ä• %ï2îûûH+¿mßö¼²n/ªèAA<Á ÿ†øøxŒHJJÂÀÀ€ääd"""°´´”†ª}ŸÇܳk7®u\±±µ%4$„];wAz:ý …’%Ÿ‚‚‚ ¡mÛ¶Ìž1“bÆÆ”.U’½zåºoJJ RSSIOOG©TC|\e¬¬Ä?‚ð½Íd."À ï]rr2Öo`䨑DEEñèáCJ%‡ùãäô [·lÁ£S'*W®Ì‰?þàö­[Èdr"ˆÔÔTÖ®^CZZ*.5jàÞ AžÇ¼}ë6·oߦ¶km<ÈÀÁƒxÎéS§D¡¼Á™S§([¶¬´ÌÈȈfÍšRÁÞ>Ï}ßÇt±wn߯ßߟtµ†Žžppt…" ªè ›7nPÍÙ™ý{ýøzìÚuèÀè1cðóõàR` _yyannNhHˆ´ß•K—©æ\~ýûcna‘ïqª9WÃ¥†‹ô9)!cccLÍÌx) â5KKKš·l©õT®+—ÍŸçxP‹¬ÓÅ2„Žžž|ñå—øíÝ ët±wîÜa„—}ôçÔIqã%‚ð…–J¥B©T"WÈ‘Ë3*`”J%2]YFêd©©¹QQQÒ~Ïž…sæôivlßÎÍë7Þú¸r¥•JE||<Å‹‹‚È…Z­¦gÏžÔwwÇÔÜŒ„„„•iA¦‹-“¥– S×nÝˆŽŽfóÆM4jÒX€ |„Ξ9Cbb"¿mÞÂ왳Éòðõ6Ž=ÊÁD€/Šâââ022 -MMjjª ÔuÆF::ÄÇÅQ¬Øß“Ò¦];úöïOhXè[»Q£†ølÜ„ï_>­_OF.4 Þ«V±ÏÏ´ÔÔM“9]¬¥¥%¡þþâdºØ;·o³××—¾úcŸÏ+Aþ}¡¡¡ü~ü8—/]"%%…ƒ±jùŠwJ+88˜Ø˜Xf͘Éë×ó­!ïà ‘ëW¯Q£f :yvbñÂ…T¬T™»wnÓɳ366Öìóó#ø~0-[µ"22’sgÏâÞ kV¯&èÎlml t¼Ìy䪻¸`kg‡B.«‰Pþ *T¨@… €Œ)yÇŒÇË—/i×¾}öÿ'ÓÅúîñ¥˜‘Öo f¸7l D>"zzzè ƒ†F†‘žžþÎé½Íä5:éoy¤Ì>vE¹åáÿËÅ‹±³³Ëu}B|¼VpU©TDFFbjj*µ¢×h4DFFbbb’­e}bb" ˜™™å˜~ÇöÞ©o÷m—Ìk›¼ÊkÛ7Ë5sºXssóÒŠ>$$DšªVø¸çÄïmÑxñ"{vï&22 s úôƒÃ[§sØß—5°ÈÒŽJ£Ñäú;!žà ‘7Ÿœ•J%VVVZËtuu177ÏqCCC EF~äåú¶ÓÅ ‚ðqs­S×,7ÕçÏ{§ÿæä5‘‘‘¼ŒŒ¤RåÊ"À o÷d.ˆ¼áýKNN~/éh4©-–ðBžÞ¦ª]71¾¼ sÿÞ=Ž=J\\eË•ÃÃÃãÓ:}ê—IKSãääD«6­sÝV´¢A„äÙ³g¬ùe5-[·¦ß€8U©ÂÏ?ýüNiù:ÄÝ;wéÖý3zöî…R©dÝšµâ ^Aþm*• “’%±¶¶FOO/cü’wlEŸŸ€µ5e¬Ê “ÉHHHàÎÛ"À ‚ Â¿ÍÆÆ·ºnü0qiii˜”4¡ÿÀï”VGÏNølÜÄø1cAG[[[ú(¼ ‚ ü?4kÞggg^EGcgg÷ΓƒÉårz÷íÓ'OHOOÇÚÚ:Ï®´"À ßІs,¿DƒÇíE+zAAø@ž?†c–iœõôô044z§´â(“ep³²eË—ëö"À†ØØXésRR1XBXX*•êƒs׎„…†JwK/…‘C>ݹs‡ƒj-?räGüç¹oJJŠT–©©©R9ÆÄÄðד'žjV„—{ƒ¬]³†ØØX4 §NžÂÈèÝF­åZ›µ«WK¿Þ+Wòi½Ü'ÿUô…@rr2Öo`䨑DEEñèáCJ%‡ùãäô [·lÁ£S'*W®Ì‰?þàö­[Èdr"5À¸qý:'NœàYøSfÏ™“ç1oߺÍíÛ·©íZÈ}>òÿºˆˆΜ:EÙ,S¹>yü„kW®PÍÙ9Ï}¯_¿NB|7®_§š³32™Œ#‡ü¥åÃÂ0·´™*…˜vvv$%%qîìY"##144¤Ã;ŒG_ÛÕ•Ú®®¼|ù’ãÇŽ‘”˜ˆ­]yê~ZWøÂîúÕkÔ¨™QÍÓɳ‹.¤b¥Êܽs›Nž°±±fŸŸÁ÷ƒiÙª‘‘‘œ;{޹zå*þ^àã½Y ôæû_!C… ¨ðúUH¦Ê•+S9—)ß%ÝxÙ;Øó˪U˜™›s/(ˆá#Fä¸ÏÎíÛiÙº5ÆÆÆ¢á#ʕ˗¥ÏJ¥ãâÅß)­+—/úºá3€RObÅŒÄ|afhhÈÈQ#Iˆ—æ wªRGG"##iݦµ42Rç®]‰ŒŒ¤UëÖÈårLMM¥@ùnWø8Ôy=?tB|¼´¬]‡$ÄÇOÇN´F©ÊzƒÕµ{÷n¢Š¾P©T$&&JŸcbbÄ\â‚ "À …]||<ëÖ¬2æ_±l¹Ö§ïB£Ñ°kÇNÂ^{|çömÌŸÏüy?ñgp°Èô,ùtçÎ<€Z­fÉâ%ü²j;¶oÏsß””’’’HMME¥RI7h=y"nÒAþ¿®T©R$&%¡R©xðçŸTz=ÉÉË—/9°o—/]’‚ÑÅ 8¸¶©dßtûÖmnß¾MzzzF€¿s‡^^ôПS'O‰L-s>ötuÆl~±11¸Õ©Ãà¡Cy–ç¾×¯_'àüy cÈ””|wïfÛÖ­\ dÞœ9ÄÄÄH7K/É–FhH ~žÏ‚Ÿ~.ÐÔ´‚ ˆ/2®®®\½|…sgÏáÞÀ€í[·Ñ°qc^½zÅŸÁÁܾu‹èWѸ7lÈýûóL¯šs5\j¸HŸ»vëFtt4›7n¢Q“Æ"Ã_{s>ö’¥Jáöi]Vÿò yLñ¦„„Ôii„…=fð!tôôä‹/¿Äoï^Î=Kø_eÛïàÁƒ <ˆö8}JÜx ‚ |‘ãV·..^äÕ«(i² vlÛŽ±±1ìí137çÖ­[üqü8­Z·~«ôïܾÍ^__úè½½½Èð\¼ˆˆ ,,ŒAƒ“ôºV%?*• ¹\γçϱµ³•–[ÛØñì9Mš6¥LÙ²ÙöMJHÄØØS33^FFŠA"Zц††¤«Õ8::J˪V«Š]ùòœ9}†ãÇŽáààÀˆ‘^D¿Šæ×õ?á›§ï»Ç—bFFlX¿š5jˆ Ï…ž¾>«½Á¹zutuu¤i|órãúuª9;#“É8rÈ_Zþ8, sK‹¼¿ÀJ%*•ŠøøxŠsà BQ€¸qãF¶åŽŽØÚÚ’’’BÀùó<{öŒ *ˆ_”ŒóµÖç³gÏòèá#ž= ÇÕÍ µZͯ6`kgGÉ’&ù¦—9<ÀÄï'i­ûiÞ<‘á¯eÝØØ˜1ãÇEÛöí ´TTµ]]°w°ç—U«037ç^PÃGŒÈqŸÛ·Ó²uk5jˆÏÆMÄ'$е[WQ‚P„EÇÄHmª|6n¢û矣TfÌ7¯Ë4`5kÖ¢¼}Ö®^#|QÖ§o_^¾|‰¡¡!FFFX•-K||<Í›7ôèëëhþç:uê/-kס ññÄÅÇÓ±S'­Þ#G”þßµ{wª»¸`kg‡B.sÈ BçèèÈ7ß~ ÀÞ=¾Œó5Å^ïöëÏÀÁƒñìÜ€þˆ_”éêêbff¦µÌÐÐ÷hü%|xof£bÅÞ*X›˜˜ˆL„ÿ°„„nÞ¼÷šÕZËE€´ˆQ×D^ ‚P¸ÄÄÄ`bR™L&¼³·/]71¾¼ ‡R¥JErr2úúúÒrÑMNA 1}}}š·hΪ+¤0SSSż ‚ v¿ÿžqcÆÐ­sìíí¹~ýºðÂ?'ªëAþ]g/h}.^¼8Þ«Wóô¯¿xöü9&~'¼ ‚ VeËbõzÔKà…w"˜ ‚ |ÜD#;AA^A„Â@'=sÂïr°+ÀŸ!Dî½g/^ÄÎÎNd„ðA 8Pd‚ q~~~â¼ üW¿ü‚ =ÀÛÛì>:!!!"„ŶmÛD&BS,Ë<"ÀD2g„ƒ§§§¸¡„"âñãÇX[[,-ìA¡^AD€AAxAAD€AAxA„Jô2y*¼ ¿¬R¥Jyþû§&L˜À—_~™ç6¡¡¡¸¸¸ðÇ V«Y¶lM›6ÅÉɉúõë3kÖ,’’’¤íïÞ½KÏž=©^½:ÕªUã³Ï>ãêÕ«ZÁoРA¸¸¸àââ€xðàAóà“O>ÁÕÕ•Ñ£GýÞóÛÍÍíƒçéû<^nöîÝKݺu‰ŒŒ,ÒßÑ^„BiìØ±ÒÿçÏŸÇoéûúúbbb’ç6“'OÆÜܜƳtéR–/_Ž‹‹ žžž°qãFâââ˜3gãÇ'88˜.]º```€^^^œ9s///BBBèÑ£±±±ìÚµ‹Q£F±ÿþ\Ï!ëu§¥¥À¡C‡Ðh4,Y²ä£*³‚äé¿¡mÛ¶Ì;—Ù³g³`Á‚"ùýp°+/žàA(œ,ýÐÓÓÓZ–žžÎºuëhÒ¤ U«V¥}ûö>|€uëÖQ©R%ºté‚Z­æôéÓTªT‰-Z ÕDGGçZpñâEèÔ©:::fff´lÙ’V­Z!—Ë177—Ö{{{³oß>( |U¥J•<ó!ëu>\:îÍ›7ó|~s™F£aÅŠ4nÜ'''š5kÆo¿ý–íx»wï¦yóæT­Z•=zðèÑßó’\¾|OOOªT©BÍš5ùúë¯ILL”Ž—5O_½zÅW_}E5prr¢uëÖœ3À$''£P(P«Õ(•J)p >sss–,YBrr2iiiäy …‚V­ZIŸ;tèÀþýû¹~ýº´L&“‘””Dzz::::<þ<Çüzöì‘‘‘˜ššrûöm¶lÙB³fÍhÚ´i¶ë}SRR ôéÓWWWÎ;ǤI“˜={vŽ~ܸq¼zõгgÏbddD­Zµr¬§L™2„††Jç©P(ò,ÛüÎ@.ÏYoÐD€A(ºwïÎâŋٲe õë×'00óçÏ3dÈêׯϘ1cP©T¬\¹’eË–qâÄ |||èÙ³'ñ®8..ŽŸ~ú‰¯¿þZ ™¬­­yôèIII°páBŽ=ŠL&£I“&9rD ½{÷ E‹øúú2vìXŠ/NZZšT½^ªT)ÒÒÒ8|ø0“'O&$$µZcpÌ*%%EzÍžžNhh(IIIÔ­[WÚ¦B… 3iÒ$ªV­ÊîÝ»sͯþýûÓ¬Y3$88˜Ê•+ãããdTg\)ÀO™2™LÆáÇQ«ÕtèÐI“&IÛ._¾œ)S¦àë닃 â믿Îó:“’’˜?>:::Ò°aC­Æy³fÍâ‡~ÀÏÏ›7o2vìØlïè‡Jzz:Û·oÇÛÛ+++&Ožœíý~nŒŒŒX³f ?þø#~~~èèèàææ¦Õ/kžŽ7ŽeË–I­ò[´hÁÑ£G¹ïÆûß IDATqã†ÔƒÀØØ˜®]»òË/¿ V«:t(½zõBGG'ײ-¨Ìêü¢”Æ¡ÖÕÕÅÚÆiýÙ3g0)Y’*UªðûñãÒ  …çêÎyNšòè—/]FGG‡Úu\±±±‘Öi4®]»Fð½{”,U ÷ 044Ìó\5 ×®^%øþ}Š/Ž{ƒÒ€$y­ƒŒnTçΞåù³çØ•·¿|‚ðp‟7g.W¯\ÑŒ`öÜ9\¿v«W®°ËwÏ¿z>§O¢o¯ÞܾTàþ<ŸóçÎa``@JJ †Ÿ. “§'sfϦî§uùvâÄ=oYµŠ¥‹—0vü8ž?øWòsñÂE$&&ðݤI\»z•q_áLÀùÿK€?°? ç/úëªT*zôêÅô™Ý‹¾›0·ºuùiþ|†ŒŽŽ …‚¤¤$ŠgÇîÝ8::fKwŸŸcF¦\¹r¤¤¤ÉüE éàáAjj*£FxqØßŸR¥K…¥%›6û`W>÷*S'Oa‹ŽŽ„‡‡£ËÙºsy® §Ož<|øR¥Kó22’*Õ3þ–OŸ¿‚‚PD=zø°p¼ƒ¯ûé§lÚ²Yk™……5jÖ>Ÿ;{–»wîаqc.^¸@»öíIOOçà4oÑ Ž=Šžž 6ÄwÏllmùëÉ\ëÔÁÄÄ„ƒûõ’FMšdûᎋ‹Ã£m;ÂÂÂÞéjÖªÅö];IJJ¢K'O|6n¢“§' ²Œ%¾{ö`mmMXh(¯¢£ñððÀôõ°Y^¼È•ËW(g]ŽV­[#—ËQ«Õœ}Ê¥ÀK”±²¢ž»; ññï5?K•*…ÿ¡Cüõä 6¶¶´lÕŠ/^pæôiøóÏ?©T¹2ßNšˆžž·nÞäü¹s”01¡MÛ¶/^œ¸¸8üöî¥fÍš\¸€Q1#<:v”öy®Þ¼®®.«V¬`ÁÏóñìÜY+/2 :”±ãÇñøñcš7n‚ïî=ŒŸ½‘ÎæM>¸7hÀÚ ëIOOgè ÁìÚ¹“ü¶y3‡ýýY²|íÚ·çñãÇ|Þ­;?Lú>ÛßxÖ'ðß6ofÜ7ß0tø0bbbhߦ-þ2hÈ\×9’™Ó¦Å¡£GpttäÔÉSü<ÿ猛­Å‹Å¯  !~~~pòì™ÂàŸ?{ƶ×c8+J:wíÂý¸|)víÛ³ÏÏÑ^#©ãV‡õëÖþô)nuë¢NKcò¤ï©X±"üº~%K•¤AÆ,øùg4štâbcÙôÛ&ŒGøÓp™ÿÓÏøü¶…ZµkKç`hhÈæm[9tà³gÎzçkQ*•裣£À²¥K©ï^ŸÚ®®,øùgbccqrrâö­Û>ä϶;´öß¹c'|K“fMñ^¹’ ˜>sÓ§NcǶm4hÔeK–ж];æþüW¯^ÉȃJ•ËåÌ›3‡›}ÐÓÓ#44”˜èh®_½Æ½{÷Þ[~nÞ¶•K—qèàAÜ>­Ëò¥Ë¸ï 6$<<œÔT÷‚‚ÐÑÑaò¤ïiß¡Çc”—õÝëóðá#Ö®^ƒï>?¢££™<é{,--±µ³ãâ… < c̸qïõoL&“Ñà@-Xșӧs ð™Š/Ž®®®T†o*Y²$çϳbÙ2\jÔà§ó¥ê|ÿC‡¨îRvíÛ£hõêÝ›ŸæÎåÕ«WÒ˜Ùož[‰%س{7††TuvæèïÇÑ××'---×uÉÉÉ?vŒ~úK7¬ 5”< Í<&BÑbhhX8Ù=yò„U+W±jå*Ö¯]›mý†uëhÓ¶-¿mßÎØqc œnåÊ•¹|ýúzzœ9}†AC‡ðÕH/llmñÙ¸)Û¬••%òxïš—[7oÒ¢iSÜë~ʵ«×èþùg9nצm[¶lÛÆà¡C¸{çN¶õ7üJGÏNx¯^ͼù?£««ClL [||?aÞ«Wóý”Éìܱƒ—/_Jû­ûu»÷ú¢§§ÇÝ;w¨íêJ½úõ°¶±áËž=Þk~V­Z5#è/^D¯Þ½1·°àÏà?©íêJõêÕ©X±’à2ýâíMó-øÕLJM[6ógp0'³LÂ1þÛ lÙ¶•zõës÷Î]­}cbbxúôi¾ÿbßhËñ&ôõõ‰Íqýš7iBã ÐÕÕÅ£cÎÝͦΘNûØëëKß^½q«U›…¯G{ùKË2ZÛ[•µþ:óMr¹œµÖãàà€÷ÊUtóì̧®u8zähžëâãâHMMÍv¼7Ý¿ÿ’çÏ“yö,‘'Oâ ‹ãÉ“DüýoqãFˆø¥„BªP<Áת];×êK€gáÏhаaFùä“\·{sÐ>ÇŠŽÈår"""ؾuúúú˜››cnaþ^¯Á‚¾ýû£ƒ•?©LÍ&VÈ|ú004$§A#_¼ Yóf4oÑ‚æ-ZòèÇŒb™ Å^f %K–D¡P ÔS’ßà…ÿ4?®^½Âo›·P¿;,1òÅ é˜666( ^¼.í|1@¦=–÷ÊUlÙì“ï1úõïϨ<†ýŒˆˆ 11++«×;W¯Nó–-ËdÔ­W/×2^EE1Ük3fÏ"&&†éS§²|é2† FÙråxðçŸh4©‘æŸÁÁÈd2,--sL/)) ¹BÁsç`\¢?fè A¬Z±÷î¹®ÛºcFFF<øóÏ<óEOON¥J;5âãSP(d\½LJJ0®®Žâ×R ™"ÑMÎÆÖ†³gÎ’’’ÂÑ#Gÿ~ê~l2ŸÞÂÂBµöˬbµyýCí5j6m¤qÓ&Ôv-ØøÄ÷ïßgµ·7ÑÑÑyngfnNž=ù²g\ƒ{AØ•·ãBÀÒÒÒX²h1Ÿuí†e™2qüØ14 ÇŽÅÀÀ€²Y&yø7ó2ÞC÷îÛ‡Ÿ,ÈV•­Ñh²ÓÁÑÓ§N‘œœÌ©“'IMMÅ1‡y¶sòÍ·¸vóf¾ÿr î/\àÔÉS|;þ”zJZµn•ãvU«U£GÏž|öÅØÚÚæZöߌϰÁCxùò%ÃÀÀ¹\N×îÝøóÏ?Y²h‘‘‘œxžöîÑSú;X´d‰Ö5¿KÙOž:…¯† £NÍZèêê¢T*™6sJ¥’ÖmÚà5j$+—¯`éâ%|Z¯“§MàÐÁƒœ>y’¯g4ˬ½ø~òÌž9‹­[~#==Ë2e˜1kfžë2o~ŸþÅWC‡I7aNÎÕò¼.P«ÓpvvÀÜ܄ǟ›$~-¡yëÉf>F§O"6&–rÖåˆŽŽ¡Ÿ>œ>+++’““ º{kJ—.g:™Î*U®ü^[i¿o±±±<øóeË•ÅÜüïW /_¾$44LMMÿ¯ù™ššÊÝ;w(gmM©R¥´–ß¾u‹2VVXXXhí“””Äý{÷0)Y²ÐŒ=ñÛo3n\¶üNII!88uZö{ãfèåË—„}:C‡•Ž’’À¶mÛpqq¡lÙ²´oßžÐпۑDGGãåå…ƒƒ666ôéÓG«¶`åÊ•T¯^+++š6mÊ•+W¤uqqqxyyaoo­­-}ûö•zEäúCBBøòË/±··§L™2¸¹¹±ÿ~­|˜?>+VÄÞÞžñãÇK×ô¦üÒŠŽŽ¦ÿþ”/_žjÕª1uêTJ•*EZZZ¾×’—ôôtFM½zõxþü9/^¼ oß¾ØÚÚâèèÈĉQ©TZù²hÑ"*V¬H… øöÛo³­Ï¼Î‚äñÈ‘#)[¶,_¿noóOËEøD‰%øÄÉ 3ss‘ŸÂÛKO•*¹\}}9:::¼ùO.×A©TP¦Œ6ܹó¸ÀéŸ>}šÃ‡‚››Æ ËwŸ—/_Ò¥KÊ”)ƒ···Ô`³M›6?~Èè^xÿþ}Ο?/)Ú¿ÑóéÓ§|õÕW¬[·Ž°°0¬­­µû2$£aä¥K—¸sçñññL˜0AZ÷î]Nž<É£GpvvfÈ!ÒºaÆÇÕ«W ¢xñâôéÓ§À×?pà@ìíí¹{÷.aaa´oßžQ£FiíãÆ .]ºÄùóç dΜ99æY~i}õÕWh4n߾͑#G8vì˜Öþ¹–œ‚û¨Q£¸~ý:û÷ï—^¿ 4FÃ;w8sæ gΜaæÌ™Zûž9s†ÀÀ@Î;Ç™3gr½®‚œW¹råxòä S§N}/åR؉ÙäA@¥::iäÖ2GWW==¥)Q"… à'Ož,µÇèÖ­kÖ¬Ñê.ø¦ÄÄD>ûì3’““Ù¿¿ÖÐÐmÛ¶eñ⍤¤pâÄ š7oÎåË—¹rå „††Ò¼ysîÞý»õ¿B¡@.—³uëV”J%Ë—/—ŽɱcÇL®X±‚˜˜¤óÏ\÷Å_°qãF4 QQQ}úpÿþ}üýýµ“T©R333øý÷ßiÒ¤ †††œE£ÑHË­kÎïZr ð?&))‰cǎѹsg)ÀgžkÖó~ñâ…ÖØå³ÌÁP¶lY©z?«wÉã÷Q."À ‚P¨ÅÅ%—J\\2M:µ:•*M+€ÇÅiHHH!=]##d2òð ’žžŽ——'Nœà·ß~ÃÉÉ)ÇíÚ¶m˱cÇ8qâß|ó lܸ…BÁ_doñêÕ+ÒÓÓÙºu+‰‰‰,^¼˜#FСCé‰7<<{ûŒ†ƒAAAøùùÑ¢E‹<Ï7s߀€i°"FÃDZµµåÖ­[yîÁàÁƒÙ²e‹t¬'N°oß¾lA.3>~ü8Ç™òK+óFééÓ§Ò€Xááá¾–ÜlÛ¶;w2~üxÜÝÝ177—ÒÊz¬¿þú 333­¿«¬yþäÉ­Ž’Çÿ´\ŠÄÍ»øy„ÿ¶°°'ìߊ“'/rút gÏ^æÜ¹KüõW8JeÆqr2¤¥¥¢TÊÑ×W¢§§@©”:ïý|&OžÌöíÛ™;w.Í›7Ïu»¶mÛòÛo¿¡§§‡7æÒ¥KÒºuëlÛ‡„„бcGNž<‰¡¡!ÆÆÆRÕ¬¹¹97fúôéÄÇÇÇ”)S¸ÿ~¾çkaaA“&M˜}ÊO?ýD¯^½Þ:-333ZµjÅÌ™3ILLäÅ‹,\¸ð_‹R©¤oß¾T­Z•Ñ£GKi¹»»3cÆ xñâ‹-¢[·nZûΘ1ƒÄÄDž={Æ‚ è™e ˆr^ÿ´\D€¡Ðkݺ&mÚÔÒú×®+*X’YC¬VkÉ2&Ø‘Ét‘ÉtÑÕ•}óY¾|¹èË•+—í_¦ºuëШQ#)H;88P·n]ékV5jÔ`Ê”) 2+++vìØÁš5k¤õ«W¯F¡PP­Z5ªT©‚±±1ó_Ï!Ÿ5kÖ “ɨQ£vvvœ% à.r¹®2_獵kÐÑ””T‘Q…ˆ‰‰ ëׯgæÌ™x{{cllŒ‡‡‡Ôo\^„ÿ€zõ*‹L(‚Z·nýQ<±×¨Qã­æD€¡€üüüD&‚ð‚ 5Û¶m™ ELÖ™+E€„ÿ(OOOBBBDFBðøñc¬­­µ†á­èA¡^AD€AAxAAD€AAxAAD€á¿ R¥JZÿ>ùä\]]=z4ÑÑÑZÛ¹¹¹åú9'nnnTªT)ÏmBCCqqqá?þÐZG“&M²cæÌ™ÙÎ9s›¼ÖýjµšeË–Ñ´iSœœœ¨_¿¾4mAÖCÆô»ƒ ÂÅÅ ç„5o–IÍš5>|¸ÖhvïëúÞLkïÞ½Ô­[—ÈÈÈÿÔwAôƒ¡È100`øðᤥ¥À¡C‡Ðh4,Y²€±cÇ¢¯¯ÿÞ=yòdi~ùL÷ïßg„ <}ú4ÛT¥·nÝÂÐÐaÆIË2Ï+¯uÿÄòåËY¾|9...xzzÀƉ‹‹cΜ9ù®ðòò"$$„=zË®]»5jû÷ïÏ·\ÒÒÒ8wîÇG&“±téÒZ&mÛ¶eîܹ̞=› ˆ/‚PXééé1xð`ésŸ>}¨Y³¦ÖüêóçÏÇÄĄ޽{ç˜Frr2³fÍâÀ0`À€|{ñâE5j”4ÓžŸŸ&L |ùò9>IQ±bEºwŽ%J”Èwݛ֭[Çܹs©Zµ*Û·oçܹs 8|}}122ÒÚþÉ“'”/_oooLLLèÓ§®®®œ;w®@ë¼½½Q©T+VŒ3gΰk×.ªT©RàréÝ»7µjÕâÚµk9–I~×dhhÈúõëÙ´i/^¼ÀÎÎ///Zµj•í¸ …‚víÚáããÈ#¨P¡Ââ{ ªèA(r4 ¡¡¡„††òðáCiÞû·™deþüùlß¾2eÊЭ[7vïÞ­UÅŸ“]»vàîî®õÄ=aÂöìÙ“mû‡’””DPPnnnÔ©S‡aÆŸçº7õë×wwwnݺŢE‹øî»ïËå,\¸0[p˜7oþþþRmÂÅ‹°··/Ðz+++ììì˜3g&LÀÝÝ3f¨\Agzö솆†~\¿~}Ž?.}nܸ1®®®œ9s†™3gæº.'¦¦¦tìØ‘uëÖ¡T*ñððÈóØjµš9sæ°qãFŠ+ÆÒ¥K©V­Z×gjРõêÕcçÎ:t(ÏŸY.ºººãììŒA®ÛçuMááá¨Õj:v쨵OPPPŽi•*U €§OŸŠ/‚PX) ­w±:t`ÿþý\¿~½Ài˜™™ñüùs"##155åéÓ§y÷LººóyüøqNŸ>§§'Õ«W—Ò/V¬Xžërrÿþ}|||Ëå¨T*&Mš„··wŽÛ¦¥¥1zôhŽ=Š££#Ë–-ÃÎήÀ룢¢>|8æææ,Y²„äädÒÒÒò Ö9•K~òº&sss"""˜7o …•JEll,eÊ”É9ØÉ3Â݇hÄW¤|XX~¾¾ZË Œ¨_¿>•^WƒØ·ŸGâÑ©&&&lܰ]]]ú(epÐÝ»;z”*U«Ò¤iS­ôž<~‚ïžÝZÕ5¥J•ƽa¬­­¥å{}}y–ãyöêÓ‡%JœœÌþ}û¸~õ)))ØØÚàÑ©666Ù®kï_BCC0)aB“fMù´^=é »ÏÏÐ7fß’ÉdT­VúîîèêêrõÊUΞ9MmWWê~ú)»vì$<ü©Ö—ßÆÆ–f-šc``ÀÖ-¿ù"Çó·°´¤QãÆlߺ•2e¬èÒ­«´îED¾{ö|?===j¹Ö¦m»v(•J­¼µ°´¤[÷îÿ ;ÆÝ;whÙªóéî#…UJJŠT­›žžNhh(IIIÔ­[·ÀitêÔ‰U«VÑ¿Z¶l‰¿¿?ºººh4š\÷±¶¶æÑ£G$%%åì2×~ûí7Nœ8§§''Nœ Gy®ËézÇŒƒJ¥båÊ•,[¶Œ'NàããCÏž=³m¿páBŽ=ŠL&£I“&9rD ~½{÷Îw}©R¥HKKãðáÃLž<™Ôj5ݺu{¯e˜×5uïÞÅ‹³eËêׯtY¼ IDATO`` çÏŸgÈ!4}#žR¹¬ñCøœ|h( ç/Èñõ§óñìÜ?¿½;r—52F¼Þ^&“3dØPîÞ½ËÂù ø¢Ç—Ùü“Ç9C¡P0áBÚuhÀžÝ»9}òTŽçÙÑÓ}}}z|þ×®^E¡P “ÉHNNfù²e¬^»÷ 8ìïÏè‘#Q¥¨¤ýׯ[Gç®]˜3o2™Œ½{|ùã÷ßs<ÖS¦Ð·?®^½ÂÂù >bu?ý”m[·rùÒ¥lÛWþ¤2;vïÆgÓFîÞ¹›cš.5\pªR……óP«vm)Àœ?ÏÐÁƒ‰‹“¶Ý²y37l`ݯ¿bbb"å-€½ƒ5kÖàè‘£ìØ¶ [;;à…"+))‰ùóçK¿K†††4lØ0ßF`YyyyÏž={ؼy3ƒfÕªUy6´«S§>$88ggç|Ñ´iSfΜÉêÕ«ñööÆÒÒ’I“&ñÅ_ä¹.«Ÿþ™àà`ºtéBÓ¦M±¶¶ÆÓÓ“yóæáææ†£££´­J¥ÂÇÇȨ†Ï¼011áóÏ?Ïs}f¯ƒåË—3eÊ|}}100`РA|ýõ×ï­ ó»¦aÆ¡««ËŽ;X±b¦¦¦ :”‘#Gæ˜^fÕ}:uD€/ˆzõë3cÖLÔj ÇŽeÞœ9,]¼ÏÎsÝgùÒ¥tê쉅…EŽáV·.³çüHšZÍ™S§™=s&¿ûŽú ܵú“.Zº$Ûû! Nþq‚kW¯Ò¢eK.YŒR©d÷®]|;þÎ_€{ƒD¾xÁø1cIKMcÊ´©xtêDøÓ§Œ9ŠÝ;wÑ´Y3Ú´m›íXéééœ;wŽÉ“¾gÓÆôíß/×ëXµz5ŽŽ¼zÍw&t7ˆ#‡ã½z5©©©x´kOBBÇOd ¡T*yõÆItt4#† '.6Žñ&е{7bcbøqÖl~?~œ©?LfÑÒ%ZûÌœ6»w#“ÉÄ/¿PäÝ»wï¶{ó³\.ç‡~à‡~–õë×/Ï4;vìÈÖ­[ È1ÀçtnݺuËõÉ7¯uYMš4‰I“&IŸ¹uëVŽÛ*•Ê|_UäU†……«V­z¯å’u›‚\ÓСC:thŽwþüyttth›å·¼¨ûGÝä ±+_{{„®®®Vuô›ŒINNæçyó ~ ÃŒc888з?<:u$>.Ž#‡kmgii‰]ùòZÿ”J¥T-cnažž2™Œ.]»2{ÎôìÝ €ýûö“€gçÎôîÛ>qrbòÔ)Ô«_?ÛèG™Ç*_¡:tîŠóbUÖ »òå©Q³mÛµ2‰”-WN:_]YFqd~¶*[6[:»wíâÕ«Wtí֡ÇajjJ{{-]BiSSöïÛGxx¸´}©Ò¥¹~í:{vï¿ü‚ðÕ¬Y777öíÛ'2ã#¢V«ñ÷÷§M›6ØÚÚŠ'ø·Í¼ãÇŽ¡Ñh°.—ûû KKêկǯë7ðežït¬Zµj³g×nî½ÑRrîs´žèøvâD\Ýê T*Ù¼igÏœ¡V­ZTs®FÝzõ¤j«;·oаQ#­4ë»»S?KÖL'þ8Ahh(ééé^ÈèÚ¥k—ÿ«W¯8î,@žy•›ËÕý-Ziw½122ÂÝݽ¾¾\Ï2pDëÖ­¹võ*?ÍKË·hÜ"»™={½õ1õ 2è%''k-F!ÿûr2ûª:88°uÇv6¬[Ï¥K—صs'»vî WŸÞL>ÄÄDŠ/Ð9¬Z±Bë³K —ÿµwîq5ßÿvNŠNIn#s™‰b¢Ü"ÂdFî—]Ìï»1Œ‰Õ)÷‘†°\šmb삹l6l3·Œ"ln •¢B¹¤ë©sërÎïôùvtQnßðy>=Ïûó¾½ÞŸÏçõ¾¾^Lºg³<½9ÀèwóWšÓ§ïëU®nnŽ0r?6µŠ¬\)•JÌÌÌŠ¦h¤Ræ-˜ÏÛ£Fóõ—_ŠoºˆÈ¦E‹DEE‰‚¨Fôïߟþýû¿põ~$ÿRÆtuë €¥…%}ú¾NÏö—Ë¢V­Zø(Ì›3§ÜãqëÞÆzõŒ×ð¿Ù¸ŽålžhçìÌÊÕ@ÑNÊð#G ˜?ŸMßÿÀ>ø€ÚvvܹsÇ(^VVñqqÔ®mÇ+-þkÁéÓ phå@AA›~øC²eÓ&Æ}øa¹åîózljÕÂ^nò2ïŒS©]¶÷Ó AÑ×oÐé>cÉ7’‹Ú套Œ–:uîÌ@//¾Ý°‘öÚ‹o»ˆˆˆÈ À#­Á;µqbyp0˃ƒY¸è³*÷bF½5šÖŽ­9q¬Jù©ÕjvÿZt<Ï­›[¥â|»a#oôõä÷=EkbuêÔa؈átu+ŠŸ•™)ìªÜýë. …¸;¶mç­‘£øiÇv£4éÒµ+ÝÝÝ_,L“oøö[¦MÊ¡9tà vuê°hñb#»Ò÷Sl5éßó縓þquŽB¿YÏ …>ÌÙ{¶¯ÍÍÍQøûñŸ ŽñŒŸð!?ïØArr²øä‹¼P?DD^DL yNxŽÈÉÉ!&:•JEÝzõhÕª•`º°½^Ï•+WHINÆÆÆ§6m077¯¶uº~ý:‰ Èd2œœœ°.Ç•¤ˆHI Äž={ˆ‹‹…!"òœOhh({öìyqlÑËåòR›ÒîG"‘вeË GìÕ‰—_~¹”¹]‘ªRì5íay‘ ‡ˆˆ}:Q× ¹“]@¶ª€š–&œ¸œËå›Ztù¨´¨t…¨ó Pk Pjò¹ýM'V­Z% ODDTð"""Õ™fõ¥4«/E¯—¡7èqi&£P¯G¯7P¨/¤°Ð€^¯§Po  P/ LDDTð"""ÏfùyùXYÕD*5 èõ ò 1è   € L0&"RÍ‘ˆ"¸x)†ˆã‘ÄÇ_%%å&‰‰×¸|ù ×®'s#å×n¤t-™Ó1©<•XqZ/âàà€N§{¨²8;;—úsrr¡Š£££qvv~¤.Z—Gn—äÿ¿,ß“Ìûq´8‚¯"-š6¥&"ò ãøZÛ2¯»ºº¢V«ÉÉÉA¥R‘““ƒr¹œ‚ü|Ô ÙÙY¤dKÈÈÈ¢e<_Ÿí ;v,ǯZ]K¥%òŒ<§bÛ=-š6Gð"""Eœ9s†³gÏCll,vvvH¥R~þi;!!«8wîz´­§Ã½eåÇÅ£¼;wâé鉳³3C† áôéÓ•ŠóæM>øà:v숯¯/Æ |–ÿž0a‚ð;88??¿R#ÌÝ»wÓ»woœ3fŒ‘M¥RÉìÙ³éܹ3:tÀÛÛÛÈ÷û÷ßO¯^½h×®Æ 3²7Ÿ››ËìÙ³éÔ©...x{{“‘‘Qéú߸qƒ>úˆN:Ѷm[ú÷ïÏÁƒä°víZºvíJ§N(wdû ´”J%Ó§O§cÇŽxxx°|ùr£]Õ¥" óæÍcàÀܽ{€ôôt¼½½qqq¡K—.,Z´Hp],—uëÖѵkW:vìÈgŸ}V*¼¸í*#ã9sæàìì̧Ÿ~úXÚå…Á—äJR¢øUyÄ^öÓ~— Töû|å yyy`nn޵µ5ÇG°ö—Lm^!*z+Ó?ž€eš¨Tª*ç{òäIvìØ••‹/ÆßߟÇW'33“>ø€úõë³lÙ2LLŠÖþ_ýu"""3f $$$””Daa!R©”¿þú‹iÓ¦¥uûömfΜÉöíÛqrrbÖ¬Y¬_¿ž€€ R©”ƒ"•Jñöö&00PðÇîÝ»±°° 00???ößs[íïï©©)aaa˜ššÈÔ©SÙ²eK¥êïãル«+!!!˜˜˜œ9sèÛ·¯?::š Óéøðà A¡P”’ÙƒÒš1cfff„‡‡£T*?~¼QüÊÔ¥,å>wî\bbbؼy³àÙÓÇǹ\NDD*•ŠñãdzråJ#¯n§NbÿþýhµZÆGHHˆÐ‘«j¹6lȹsçÈÉÉy,íò,s%)QÜd÷¤8&x´33“ñZ»×¨U«jµš‘‘´nÝS33.DEÑöµ×¨W¯Ç""¨]ÛG'G£ôN< YHIN&66·nÝÐjµœ=s†vÎÎÔ©S€#ýEÃFhÙ²%1ÑÑܼy“:uêÐÎÙ€þþ¥RI“¦MiÑ¢G¡  ©TJkGGê×/rè“Íéþ)UG÷=¸yó&W¯\®I$Ú´iCÝ{õyöÐë‹vÈPËÆ†–­š`ZËžšwê¡7¸zõ*QQQôêÕ«Jéúúú ~///¶lÙ‚^¯/e•²FÄ ÐétlÞ¼ !¬OŸ>¬[·Ž¼¼<Ž?N=ˆŠŠ"**Šºuë’œœŒ»»;WJ<›¦¦¦H¥RvíÚ…L&#((HÈ;##ƒððpöîÝ+xj B©T¢Ñh„ò‡ :”;v ×ëÉÊÊ",,Œ£G"—Ë…ÎB×®]IHH¨TýW¯^-ø§HIIÁÆÆ†ììl¡-Š••\.G.—3iÒ$ËT𥕓“Ñ#GØ·o–––XZZ2eÊ¡3”‘‘Qa]š7o^f[Í;—ÈÈHöïß/ÄKKKãäÉ“ìÛ·5jP£F &OžL@@€‘‚÷÷÷ÇÚÚkkk¦L™Â’%KJ)ø•«˜áÇcbb‚µµu¥ãTõ¹|aFð"å3éà ˜˜˜`ff†F£An-ç§_~Á‚ ãÆ³ôóåX[[óÑ„‰ôõôdíúuE½k…î={´l©QzįIJë÷ßhÓ¦ Ç""˜=s'"IINf¸ñ|¿yÝÝݘ:y o¿û.³çÎaËæÍlÝò#-Z´`Ø!ôz=“>œ@VV“?þ_?Ó¦NE£Ö “ÉÈËËC"‘úÍ7ôèÙƒkIIL7™¹ Sé™c'Oppÿ~‚/LþjµZjZYñÇŸbߨ^|ž!òóóÉÏϧ  €ôôtâââhÚ¬9þc-IM½ //Ÿäää‡Úødkk+ü_ìθ}šcÇŽÑ­[7,--9qâVVV¸»»u ÈÑÔÆÙ°a#GޤAƒ( úõëÇÝ»w1 ‚éi€ºuëR·n].^¼`ä J&“ åOMM`àÀFù™››sëÖ-lîY˜¬¨þçÏŸ'$$„ÌÌLš6m*t®KʧaÆÂÿõë×7òY’ŠÒº}û6z½^P4hÐ@øÿAu)OÁß¼y­VKxx8 üýéׯ_Ÿôôt£z•4ÖÕ Aaz¿$#ãÇÑ.¢‚)— “&áë§àƼîÑ‹]¿üÊ[ï¼]꾃p,"BPÎMƒ.`ë}Þí*ƒ¥¥% dee‘‘žŽN§¦;‹3ö=æÍŸV«eð€lߺ•={ák¾úŠ>¯—íÃþäé°²²âBTC¼q,"¢ÌºŠT_$ ‰©TŠT*åìÙ³¨Õjlmm±’Û™{މ!;;û‰Žn ³fÍ"22’µk×–kY²OŸ>DDDÉÇŒ¥¥%;vìÀÌÌŒ¡C‡–º?;;€ÐÐP4 ëÖ­cöìÙôë×».£›6m mì;pà={ö¬°¼Åq÷îÝ+(N½^ϵk×hܸ1±±±ÆOKKC¡Pðõ×_ y?~\˜þ/æîÝ»‚2¼yó¦‘â¬lZÅ¥Û·oÓ¬Y3¡Î•­Ky¬[·Žß~û€€:wîL:u„´Jæuûömìì쌾=©©©4iÒ€[·n•Y¯‡‘ñ£¶ËsñN‹Ÿµ'\.G"‘”R¨Å¼îÙ—À€…¹vìH|\Üô”EM«š´xõUΟ;ǹ³çhçì\ê#w9Ží[·²eófî¤Þ¡g/£ðˆðp¶oÝÊö­[9¸ÿ€QØõk×IJLäêÕ«4¥¹ØðÏ...¸ººâêêJ§Nh×®R©¥R‰Z­¦  €—^z‰¶mÛâêêÊöíÛŸH9–-[Æž={˜7o=zô(÷¾×__~ù™LFãÆqssãüùóœ;w®Ìåƒëׯ3vìX"##±´´D.— S³uêÔ¡[·n¬X±•JEnn.Ë—/žçЍ[·.Ý»wgÙ²eää䟟Ï_|Á¨Q£P«ÕŒ¯ÓéŒÜT'%% K?[µj†Û·oóÕW_1räÈ*§eggG¯^½X¹r%†ôôtBCC¹.fff¼õÖ[´jÕŠyóæ iuêÔ‰+V V«IKKcݺu¥ö€£ÑhHMMeíÚµŒ(Ã{çÔëQÛEÁ‹TÈ›7óçÞ?HKKC"‘0hpÙ››&LœÈ´©ÞlÝòc…éÕ²­Å'¾>,]Äø?¬úÜÕ…³gΙ‘IþùÛØ7|TTTÑô«N‡Ao(eç~ßÞ?9z¤ÈkŸ££#}ûy a^%ì‘:ôvÿEª%§€KNSêõzLLLÐh4=z”Ñ£G çA£Û‡aãÆ,]º”¥K—– />:åâ‛›› ¤›5kF½zõ„5×’´mÛ…BŸŸ¹¹¹4oÞœ%Ü'ˆ‡‡………ôêÕ‹ùóçsýúõ–yÅŠ,Z´ˆ>}ú Óéhݺ57nÖì+¢Q£Føùù1sæL4 ­ZµÂÛۛɓ'#8¼jÞ¼9H$FŽɤI“ªœ–‹‹ K–,aÞ¼ytëÖ ¹\Nß¾}¹té’Ðáغ˜˜˜°hÑ"¼¼¼Ø¹s'ÇgåÊ•,X°€îÝ»caa——>>>Fñš5kFïÞ½…zMœ8ñ±ÉøQÚåy ÊÞäJžƒwÑ—OËæ¯Ð­{w^÷ì‹©TJ77š4iÂ7ðèîn´¿gï$^M`Þœ90ðFÿ7K­ÁìߟFöö¬ùê+¼Þ€F­&99™ˆ‘ÜLIaôˆ‘|·éÜïxœZñî{ï1{îæÎžÍÁ˜9k;ÞIvV>~ &Žÿ‰}„¯Ÿç¶m>bóæÏÀ÷“O¸tñû êß:h0ë6|SjŠ~}h(A‹—p , KK ¶oÛÆš/ˆüû”°ö'òà÷éiï¢/éMnïÞ½LŸ>ÝhäWÖÇ[¥R±wï^FͪU«ðôô,å‘Q¤z£T*¹téÎÎξ™cÇŽáããÃß÷uøŸ4/^døðáDEEUk¯Ï/¤7¹ÿmÚ¶åÝ1c*uï›°é‡ÊÜ­~ÿTØÜOçñcÞ®o ;tˆ6mÛræôi´Z-ïÛäÖÁÕ•ysæ’ŸŸOûJ¥}ûÖmNž8N—G\ìeáPLÜåËÔ¬YSøíèøßþõÔÇÊÊ §6mHOKü3†T*­0¼øyXµj•èAîfâĉ¼÷Þ{øøø R©Ø¸q#½{÷ó"*øj‚D"aÞüOâ5è÷vww§¯§'­ƒ7²·G1ßUÁ+Øôýôôð`ø}kt7F.—cmc#¬=–dߟ²ïÏ?xµeK-1 ÿ|Ùr£ßÛ~ÚQ*â©ÑÄ„„RGýDª/Uñ '*÷gkkkV­ZÅÊ•+Ù´ir¹OOOüüüDá<‡ˆSôÏ$%&RÛÎNØ ,R½©Sô"""ÏâýsJíÚµÎꊈ@‘m‚‘‘ܹ}‡—¾$ DDäàpX˜¨àEDžwå>rØphüòË$&$ÐÒ±µ(‘çœO¦MÏÁ‹ˆ<Ïœ=s†èK—Øôãüy`??lÙ, EDäàß‹D/"òÞ(“ÉèݯV2X»í‡£n ˜ÐNmK; ŠIÊdã·™;g‡ÿ …,"RM§èEDžc®_»Æ'S½Ùûû˜˜˜Ðµk×2ïSåêÈÊÉG“'Ï]!)9•²OÐÞÍÈA•_@¡Þ¤Ú×?%%å¹ñ &""*x^½2l(~¾¾´~µ%}{÷)[Á«Õ䨴¨5yô÷hǤÿë‡Ó« ˼W«Õ’|íz}ù¦m/^¼ˆƒƒƒ‘³”ÊR×ÙÙYøëر#'N¬’°¤¤$ú÷ïoäS½<¢££qvv~(7¸Beó}yм¸<Ò½hèæÅáaåE’ë{ÁMM ^¹…¿?·nÞ¤víÚxO›Vê>µF‡ZÇͼ<º»¾Jaa!w3Uܼ[@aa!úBùz=¹9*NýƒR©Ä`Ð?ѲŸ:uJ°Q®V«Ùºu+cÆŒaÇŽåú%/Innn¥¢£££àÄæiò¿ÊWDTðU&33“³gοk×¶£íkm‡Ç£–­-NNNœ={–ÌŒŒ¢i‰„¯¾Z¡¿áŒŒ "G¥VѪU+Ú9;÷Ö9}ú4¦¦¦tus«”ô¤ÄDΜ>ƒ‰‰ ®:yO«(L¯×sþüyâ/_ƶvmº»»S£F2e`ee…sûöe:Sˆ¾Í­[7K]ïàâ‚­­íÿ¼|O›S'Obaa!´íµk׸{\ºx‰üü<ÁKV«åø±c´tpž›k×®qúïšJž´´4þ½ï#jii‰[·nœ:y€Î]º’œLll,nݺ•²Åÿ,óÒK/ > ÊÁçjÐåp-% •:V‡Z›‡F›‡Z­C™›KÆÝL2Ò3ÈÓ呯˫pÿèsøðá,^¼˜ÐÐPRSSiÚ´)sçÎÅÕÕµRiÔ¨QƒqãÆ‘˜˜Èš5k/p7nÜ`ñâÅœ9sFƒ½½=>>>ôíÛ—wß}(ò:wþüyrssY¼x1‡¢°°nݺ±`Áj×®ý@Ç'»wïfõêÕdddЦM‚‚‚°··âùúúòí·ßRPPÀàÁƒ™1cfffBG£²ù*•J‚‚‚ #??ŸîÝ»³páB¡ßÿ=[·n%##ƒW^y… ðÚk¯U:Ÿ#FðÇ0hÐ FõÈí"ò)ø+ññL7™¹ ‰‰­VËkíÚ±yëÔ¬Y“Y3fйK–³òó`NÜóˬÓéÐëõ|¾rC†-•îÕ+W9l¦ffØØX“p5÷þo, î=øëCCYº$+¹ùyù¬ 1rgz?¿íكϴéØÛÛ£ÓéHKK#xÕJ¼ ª0,??ŸiOeÿ¾}Ô¶³#;+‹ú °iËfš6kV¦ ZµnÅÎ]»°°°0*ö­[ùuçN ÈËËÉDÂw›~àæÍ›ÿóò=mhdoOèúõ@‘óœE 9õ/áG°>t§ÏŸÃ‚S'O1aÜxvÿþ7æûo¿ã³… ©Q³&…ê ^¹’7 6&† ãÆcnn.8TiüòËìÝ¿À€bcbÙõûo´iÓ†cÌž9‹ˆ‘Ï•‚àhW­%'WƒÖV昙™ 5C^}&:æµå5HÍËC™£¬´‚/æäÉ“ìØ±+++/^Œ¿¿?‡®Ržžžøûû ¿}||puu%$$BBB˜3g}ûöeË–- >œ3÷:´þþþ˜šš†©©)L:•-[¶T˜çíÛ·™9s&Û·oÇÉɉY³f±~ýzŒföïßV«eܸq„„„àëë[å| R©”ƒ"•Jñöö&00÷ß(Ú4¹{÷n,,, ÄÏÏýû÷W:Ÿ† rîÜ9rrr7¸£]Dª'Od ~ý† \ºË–m[¹xá›ØTæ}\\¸Í¿—.ÒÒÁ¡ÜûöìÞ…Á`àè±ÃÉ¿Æ IDAT>ŒÂß=»v£Õj‰‰Žfé’ Þû¿±üsö,Ÿ=C§ÎñW(P*•å–q˦Ítww'ìè"NDÒÓÃ?ÿüÀ°­[¶°ß>B¾\Ã?gÏvôz½žysæ–)ƒàU+‰‰åïS¥]1.ü, 1ÑÌÿ)E„s!&W×jQ¾êDÿÐh4ˆûè‘¿hÚ¬ŽNN$\½Êg 2ê­Ñüsö Ÿ=ƒ»»;³üg™™ùßÑÏæM\ˆ‰æBL4{÷ï® Tj­öyE£Ö•£áår÷jÉ[o´á?C]y¸;“F÷æã±ýøxì›øN‚c {²²²«¬à}}}©U«¦¦¦xyy‘’’Re™[[[“••%ü^½z5Óî-9¤¤¤`ccCvvv©t322 cöìÙÈår,--Q(œ>}š„„„.sH¥RvíÚE||™L†¥¥&&eïʵµ­R©dé’%tuscð!|4e öïG"‘à£P`ff†™™ÞÓ§3bèPNDFÒï7ÊIÓ–“'NðÕš58·oÏòÁ‚ŠÂöýù'íœÛ1`àÀ¢‘`ãÆ¼7v,Ë—.5R&ÅÇ3©â†ãê^¾'E\ìeï}<£/]®·lÙ’–üuø0==<8zä(½"‘H8°ÿz½…¿?2™ ™LÆt_¼Þ|“ˆðpÁ>ÿá°0®^À¹}{ZµÀµcGâãâøý·ß^ØJ¥C£Ñ¡Ó’zGG®*&Z{o}^‹J¥ÃTj‚*W‹V­®òît[[[áÿâé몦‘––fäoáüùó„„„™™IÓ¦M…e™ûÓMMM`à½÷¢sssnݺ…M¹yÖ©S‡7²aÃFŽIƒ P(ôë×O¸§äYƒ ¸{÷n•ó½{÷.ƒÁh)¥nݺԭ[—‹/Õ]&“ u­l>%Ûàq¶‹È ¨à‹HñÃw?/\ oïÞäæä’ššJÐòeeÞ÷ö»ï››Ã¡ƒ‡Ø¾myºaâþ>uŠoôG*•¢×ëyw̜۷G"‘°zÍf(ôèÖ]µ}µ.sss.]¼HÐâ%ôõô4êuº`>S>úˆN\H$Èd2> D&“UöFÿþLæÍ×_~Å«‹ÌtvusãÓ€Š_µ_¯¥}ûöôîÓ§R²xÚå{VxÓk ÑÑÑÂô<@½zõøâ«/Q|âƒGwwaD£V«IL¬ü¹ýîîîôõôäà/܇@™•CÖ4î˜Kѵ¨O^ž’¼< :­VG^ž–¼<LȺ{½FIyù§ Ú´iÃåË—Ký_VxEqÄøñã?~¼Ñµ .ÿïÞ½Û(lÙ²e•gYù”dòäÉ|òÉ'e†ÙØØT:_[[ÛR‡Êʰ*ùèü¼ˆÈÓ&>>žÐÐPöìÙS½¼ÉeggsõÊU>öžZ*L"‘Ðâ¾Íc%±´´,eüàßóçyíµv¥”;í0mÓ¦M™éUE›ZŠ7¶T†ŸwüTáI‚ª–áq—ïy ¤‘€žâÛ^Ivïž/ ADä9£Z)x|ý5ÍvÎÎe*þ§ÍÔiÞâÓ&"òœQ•å‘§èlFDDDDDDÁ‹ˆˆ<üñÇ¢DDD/""ò¼* ADä9ç‘vÑ‹ˆˆˆˆˆˆTOÄ5x‘çÿ J7­Ê¾…IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/tragesym/xemacs_rawselection.png0000644000175000017500000001437313634703632022144 00000000000000‰PNG  IHDR¨€9Ã)[bKGDÿÿÿ ½§“ pHYsˆœ/–žtIMEÖ %t¥™ÈtEXtCommentCreated with The GIMPïd%n_IDATxÚí}”ÕyÇ¿¿eqy ¯Ê.Ze á4°X_ŽÑ"!–hR(ZKèÁ“¢­ èJ8„žjÛ€"T4M4XÛ˜&4§‡´‰Ðò£9‚사è"ï oÂÊrûÇeØÙÙyŸ¹3wf¾Ÿsöìïe~wîÜûç>Ï;Ï”„¢T*)âÈ|¶Ñ’Ê˯׳5ˆÆ½ÄGWžÀùóçCV.—1aØÙªD@ÏŸ?3gΚššÐÒÒâ« óïHAé7¿u$Žéu«zéƒCŸ:xYh˜0a‚¯º½þúëhnnƽŸ¹U`ÖlîßëJ»tíÚpüøñËŸíÞ½ÍÍÍ8wîúöí‹}ûöa̘1¨ªªb¯hÌ;ÿ\wurû3×ë »ô\¹ý ÀɆà–[ÐЫZZZpç?Q£Gcð!xÿÙg±uëVWuÍÏR-0èvàøIùYK pã}òó¿Zyi*¡Öù¯üvÁ¦Uj¾7ÇSÖ´o·MUSvRØ ôè´i@u5&¯^ lÚ„M“'£C‡ÿüªüjã7P3»>‚††8xð[ögÓ]À´?ö^ ?[ü"°e;ð¹:à‰¯¶nÛ¥°hvû¿ê´‚aùáëÒ ,š Ìûºb4æ×NÏ…I“Ðo÷n®ªÂùQ£Ð¹óQÀí‡áö;žÃé—ÿ ;wÆ 7|„ö:ÖyÉSÀ°àÇ?,êŸztþá{@…iïUW“¿ÐöoÊÝÀÀ¾mÏþÅ/½o®¼ ø§_JáwT߬þW¹í‘ãÀć#€á€ŸýGë¾.^¾» üûòûaŸ–­jýþ×[Q“€+>ô¨îŸ œ>ëß¹ý^à™—!cª‘Àˆ{€Ÿü¾¯mÝŽ£T{ÉØœh}ýíg§Ÿo»åÿ(Û§j$pÝ]ÀŠÕísÕÀµ_ÛÜôÇÀöwüp=Ölˆùõ¥ IˆFÑqðàAÑÔÔ$DuµØÑ³§€xqút±wï^!±±ñꫯŠ×^{M¬_¿^ìܹSœ;wN¬_¿^¬^½úr9æ¿7WAtèÈ¿,jû½ñ¹õïú¡m·)• î¸â¡ûåûŠ ˆºE¾ïÖâÂÛþ‘|ÿÕIßœ*__Õ¿µ¬§‘Ÿ}¶â;_ƒø!òý¿,“ßW”õý‹é÷Oß=ñ`ëï͆ø»9°=V¯ß?ó¤|ÿ{#å¾?[+ëßÐzœ}zùÛÖí8Í–¯»t’¯­e‹Fˆåõò³áà æ}¢öù~y}ëö:@\wµ,ÿö1ò³ÛF;{ܶQ|Ï•+Q5g^œ?36l@CC>\»wŽwYÕ«&ND÷D=PSSƒmÛ¶9Fñ--ÀÈ/ {€>½€6ªÚž©Ý»/-lû»Ý€ñ·¶nÓ¡pl³ü¼Û(àÌÇÀž ÒB ìû8ºèÚYú¿ù-0å à|3p±A–5d,Ðt8ôàS=Æ=Àmn \3XZçCǀǦãn®\?ð{EØí÷Ã>/ë¹õ'@×.À¡£À­S€‰ã€uKäqöéÙä½­×q˜Ë2ÚÐüþú?íd´áÞ÷kÆ×þ÷—‒쯫úË‘©ß-²]ü:¥yPøçk¯Å¡¥Kѽ{w¼4c.^¼ˆæ]»prÝ:lß¾'Nœ@uu5*ΜAMMçN,“⬨CÎã‹çæµÝ抎rXw£g7)N@ üÌÇÀÐjù¾s§Öaoó[À# Ýï·Žj. öºw‘ µ×È?ƒuK€ÇÉáõ™—å>Ÿy˜1Ù_£ºýþýå û»Ûþæ­]íËñÚÖë8¼xo¿<™‡]êÂa5òý{ûÛ¶ùUýåë¾½åÿ -ÉÍƒÚ ´®®®5`:zÇ>øÝ†ÇÈ‘#qáÂ!Ð¥K 0UUUضm›mßü-ðݤ ~ú‚ôÇž_%-ã—ï á–ü}ö•?—gû‡ÿ)-sÏ:‹…ë|p8xTZƒÿižÿ1ð¥±À7'ON“Ü/73ž’‚ó#Ð3»ÿþÊ~ÀþÃÀ+æOä GM0èµ­Ûq|i¬w]‡\%-èÞ÷¥8÷ì“õ7OKuè ƒ.ùŽ÷Žïu…Ÿýž^°§'LÀ®]»Ð±cGœ={½{÷ÆàÁƒ]çAOž–bii?Üy°âiùÝô§€¦ƒ­Û~|øÞß·ÿ;p$ø°p¾YþÍùàž¯gϵîþì>iQÇOæ}ø“Ç•k¥e¸xøÓ'ågó—[wÈÏ K Èz}ÿGöûöúýÌûd{<¿JŽ*/­•Þæ·Ú—åµ­ÛqÒ~t xò¯O.´/ÿSäÿ/>üåRàžKþ·gê3j$íÝ»÷òß–-[Ä©S§Ä©ÆFa°sçN±gÏÑØØ(8 „¶AÒ”»¥S=þVˆ‹ ­ŸAÌíc Zv8IÄ–5ö~Ÿ^ò3ãýõCåûÃoB¬ù[ˆ+ûAtª’AÊÄqò»?”۶쀨ÿfk03¬béwZËÚºâsuò÷;AŒ½ ¢ñ¶›¹.Ö?·ß_l€Xø(ÄÐjˆŽ•²sfA|òvû²½¶õ:޹É: ì qd“}½Ÿ›'ƒ¤+:Ê`襅îÇéuì‰IækêGm3ä›y÷ÝwÑÜÜŒbãÆ¼ÔYt’¾[¶lñu9óرcèÖ­Zpâ¾ßN ?ÛûFèUIMMMxô®ÇØK$¾K¿†@wl®Ç ?˜-B´¢Ý4ÓÒ¥KÙ*D_àÂc¢ l’9 jÐØØÈ"´ „P „%„% ’ܨ¯oŸdþüùïç7A¶uª[Ðú©8·ß…-'®úZÛLu=üöQʰš¸¾¾^É…-Óü;•õKò˜ò\/»“Öè³Ê8Ì*§³Áüyíãl<7‹á§vVÚ®žAË ÚAÛÆ­ŸìÊóÛ'QG»íÍeU¨<Ü*m÷Sã$Q7?õpg˜²¢´‡›˜U·“ö>h†°0~UK”¤ï¨[ÛYâ¨~y¢ {¶Åy†zù NûòªCØ€(©6ô+.¿Ç”–ÕT*P/_F«`·¯°õVuL*ÛCÇ>q¢"nAFm(Ãâ%å DÝ—ŸßûÝOíaç÷­¿ù$6üÔ°:p  ÷qt®“³ï1Zέ¼(u³–ç¶/¯zû6ýìÇ­ƒTµGX'U·ýµ[Q¿téÒ6ùA É•JôË Û£ÎhÐõꕟ:s±ÑšËq7ƒh*ÐRßzìÚµ‹­Aô ’„xçöis×­[Ç"z ñV.\ÈÖ!zXP+ÆchÑN årµµµZUráÂ…˜;w.ëTÀ:i?ͤ£«Á:%W§Ì%n`ŠU'NÔ“ìIAqÊÀlçß}ðÓoi÷Yl×â…ù9/6”J%ÔÕÕR¤~Oà4ÄâÖoIö™]•Ëåd‹,_¾h$T¤÷öZÓÊ âí:Íia†¼&ÍUåýôš¼{•ÍO®R·6ÊËE„Ô,¨y±²õµ¹Ñ­Ÿ;ý.Èþ’< ƒìÓîXŽÙ)g|Zyÿ9Äú :ag‚dsNªŽA†û C=}WZÐÄ|Ñ0¢Ï“/™¹ )¬Õ]œNÁW?åP Yµœv‘|Pqrx—øZn§ªs½,¦Ý=@a§TTLÅø)3Ê ƒ^+Â4Sj%„A¡@ ¡@ £ø¢DÝq*2ª TÅ]™*2ªØEåNóÁNQ~žN΃*"ÊeN§§F{¥ü±7}P¢ÐíÑ‚f°£ãºìè§Ì0Ï{/â3âiAc§ß2ƒ®Ï4_* ’}Úº*/V´’âԯ̰>¥×¥QZÐŒEñ*ËTr²(vTu™Q²2{%1sûμß<,ñãbÂ!ž ”P „P Œv‰îQ¼Š'†ZÐØpË’F†BÚZѼ-| ’šœÊ0DÛKy\ø@8Ä 4áÝüßî5áŸøÐîç=¡%„%„%ôAu†™E(P­Å™åÌ"n¢Ïó‰PÈûâ³v"yvYG胞X´ êüPÕ™E¢¸~ëXñ΂ªx››Ã¨ÛŠ“A’V–’â¤Í*'C(ÐÈûu¥×JrˆO}h÷óžÐ‚BB 4+3q–å°ÅÈ-@¬¤8£•å–Y$jý¸P¦`4É »à… e8ÄgæDâÆÂäfJ¢ã’ˆr‹æJ&õU(QèQ „P „$,P¿Ñl”Gª0;£xW1¤™Y„P ¶bÔ!³HÔç‘ñ¼M$ ”֓Ђ’”@i=IªQ¼N™EÂÖ…df!ùâ)N ‰P „P eŠŸ Rõ¾üî;ê¶IG¤(>OâŒÓgvë°¼dI;®¤8£ˆqZ2‹è0CC”'œÖ0³ÑºÍ ›ÝNµ²»Õ9‹Ö3íÛ“™Ý.ÁÎ%ôAsï/2³HŽ­YÜþ”Û•85žvfùÃÌ"ŒÜ9Ä“ø}Z ” ”‚¤0×Üp§@µË,ÂÜð¨­uÈ,Bèƒ*Ú ÉmD‹LfÂzRœ¨¶Pœ¨¶‚IãÑ/Dó(^§Ì"e±`f’ï!žâ$ ’JHfƒ¤<d=AÔ™»}ªr…‚Äa.U§íÒú®N¢wCV3‹¤cTUœq4|Þ3‹Ð%‰ íôA‰­%ÌÃÂjf)ˆ…Ëâ½ñA®îqˆçÐXHèƒò ƒþ™uMXT—Ì"vÉϘY„Ð=áŸí™ú „P „¤$1³IT Ì,B´¨N™E(Fú Ê‡vBRõA“€ÏЧÕÚz–Ëe¥z!9â ÑR Ig!ôAE‘vf‘¼,&þ`f’ï!žâ$ ’Jš2uuu—ÿTÏ,˜÷¥bŸnûŽcÛ8«<ŠÏ‹8ã^àÕia²{è–Y$MqJ *pËØödÐ-³ˆQNZ"¥š“!¯ðyñDë“€>(…£µ…¦Ê¡Øwp”ƱP ¼ç Dš'}И,L\ ¨uÉ,bW§4DÊÌ"´žZÃi¦ŒEƒ%(!Z 4Èuç( )xûGþÉ\fŠ“u£™EÌåP¤âC ‡ÂI< (Pm…CqÒÍ„¥h)P--›. ˆfÕ)³ˆµi¾af’ï ‰â$™ˆâ ¡@ šg’Ì,¢zŸ~öeÛ¤êKŸq&Y$Ì>tÊ,¢Ã°¼i.†Ñ)7S˜ÎÔ)³ˆ0}МŒy…T±ˆt²FQƒ·+Ž“vôUùoi<ò‡>h ‚!úSH”y™â™¥ ÕÜt[D6“‰N™EtÈÈÌ"´žâIü>4JJH A’__)jQä¡ )Š$2‹P¨­ tÉ,Bèƒ*Ú IÕU 'Cjk=yo<‡xBò%Ф¬W qˆ÷Fš™EìÖtrxÏ7Ì,Bò=ÄSœ„A¡@ Él¤*ª2áö·Nu‹Z» / w(H 5‘„¶wuê¶X$®ŒQëâ5í¦C™Y$„@uZ,GÆŽ¸P]fÚ™ErçƒrÊ)9˜YDóÎIÓ/Ê[=ý¸(i•Y<£³°ÆT墖¤9Í6æ4ÑÚ•¨ÈÃAè<´gY0n³IáëZ¼×Ô‡[£y- 3$ª¸Ù.î2Ã.jQÑÖaËÔáE.áp«5\,’Ѩš%„%$úöÂ<âÄü›0Gñº&¯âxUGõªgÒ¼DšùÌ"AN†4:.Ž(ÍÅ"i“¹Å"QEdj(J™æú)WÇÇФ)T.É(EikIP1ÊI®-ŠÔÖ•A2Ñ5OàÊÆwº³¼Ô.m2¹X$l”&²[¦Ÿc S&‹p±Ýš<Igz®JJêêøŸ‡Y|¢ªÌ¨ûŽºm’ÇàFeÚ"qÊêvËD˜Û)’Î,g™Ì,’‚³o]Ì`~ïÖðaoäJ:³HØŽdf‘ ñnUÔY.Ip¨·;³Ýüž¸}"•ØQWNÇeL vùçͯÍÃ’Õ·rúNG«dÔW÷zR :7èwìt Té4‰ŠÛ3‚*Ž‹'Rp"_‹WÑàqO1yEÚª‹¨Ê€’Ôb‘°Ç+ZÏÌú $¸U§@ IÏ+I%ÿE0Ú%´ „P „%„%(!(!(¡@ ¡@ JJJ2‰çb. !´ „P $‹ü?xY÷"¬‡XIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/tragesym/ooo_rearanged.png0000644000175000017500000012267413634703632020715 00000000000000‰PNG  IHDRH)Y¶ÇPbKGDÿÿÿ ½§“ pHYsˆœ/–žtIMEÖ <Š ótEXtCommentCreated with The GIMPïd%n IDATxÚì{XT×ÙöoP0ÚzHm&¨(à«BŠœ’**N«I**òFƒ¢*â)ðHåE4j¼LÚ(‘Æd ã))žP°vJ"H'M«¨DEÅï¿ÙÃ^{öÌpæù]×föì½ÖóÜkÍÌÚkn‹÷Þ{¯ÙÍÍ AAÄ3¬ÔÿÌŸ?ŸÔ ‚ ‚Ð @YYY‡ ÎÅÅ¥ÃÅDP[·¥&Ç'!4˜6mþö·¿‘¤‰AM.]ºDBÐw¬YšX’DAA4@"‚ ‚ AA ‚ ‚ ÌÀŠ$èXÈårÄÅÅ!##¡¡¡$Háââ¢}ä`i‰ßüæ7 E\\zõêÕí4innÆ‘#G —ËqãÆ XYYaĈˆˆˆ€««k·ÓãÍ7ßÔzÝ£Gôë×aaaxë­·`aaÑ-?;ººèÒo4Ðý>Ѥ»^(}âÄ ÄÅÅáéӧܺ^½za×®]ðöö¦a˜/¿ü“&MÂW_}E¤6Fó‹ëéÓ§ø÷¿ÿO?ý)))HMMívzlÚ´ 'Ožä^?yò/^„B¡À‡~nÝ_T*nݺ…?þX±bE·$4248zÿý÷‘‘‘7Þxƒ[øðaÄÄÄà£>êß'4@ê@ܹs …'NœÀo¼»wïâ׿þ5 Ó ++H$ÄÄÄ`ìØ±Ýn€túôiœÕi’>ÿüóŽy LM×qøê«¯˜˜Gzz:þøÇ?’0í€J¥Bmm-6oÞŒE‹u»ü¯]»zÓÞC† ÁæÍ›©ƒhðòË/ª««»µ¬k‘hf‰¢G°µµ¥Á¦ºº÷îÝÃèÑ£žžž¸s窫«áàà@µ|VZXX¼µ+rÿþ}ÀsÏ=GÃvvv€‡’„à÷ ]—ÄÖ§#jC¤—_~‰iÓ¦iý0K¥R|õÕWˆ%ÚÍhSSêêêðÕW_!;;»Û][bkk‹û÷ïã—_~Á¯~õ+ê444h ”º+4SDƒ!Sõºë¯=¡k:2™ þóŸáââÂýýùφL&#qÚãƒai‰bæÌ™ÝòÔ‰““ ¸¸Xk}ee%ðÝwßQ'ùÿüðÃ@3½ÑÕ~H‚öG¡P gÏž(++Óû³±±Ñû‘"ÚŽ ÿþÝ.ïñãÇvìØ…BÆÆFTVVbóæÍ())Á®]»º}ßxúô)ÊÊʸ»ùéC|8[YaàÀ Áïÿ{X[[Ó‡ˆ xxã7°iÓ&½'i[YYñ>‰H×AŽ;Æ|ßÖÖ–ŽÀÚº RKKKH¥Òn9ƒÆ}Iú>1oTZZÚ¹¾©Ù‚ ‚ h€DA!ˆÅ{ï½×ìææÖ-¯³ ˆŽ=¨‘ LCý°S‚0­k:ÚyS477S+uN:‚4!MHÒ„4éš´È)6™LÆ|æ“'OL-AAD§ÁìÒÍ›7qàÀæû)))¨­­%¥ ‚ ‚è$•J…¤¤$¬^½š÷ý•+WÂÇLJT&‚ ¢û ²²²gggÞ÷ÝÝÝ»ýÓe ‚ ‚èF$…B…B9sæ0·¡ÌAÑ1éIÚ÷ïßÇÚµk‘•• R‘ ‚ ˆ.…I3HkÖ¬ATT^xáR ‚ ˆ.‡I3H2™ 2™ ñññZë]\\ȃ† ‚ ˆî9@âÑàˆ ‚ ˆ®y±AAЉ ‚ B˜oV›ŸŸO­DAD›ÒáÍjýŸ£ëšº§îS[“&¤ iBš&m¬Ik›ÕAAt%¬:cУÿ{:°__;Ô}»¥EÊkþÇÎ6‰¿ÐÜ©Ƚn«z ‚ ‚G‹Ì Éd2¸¸¸h­khhÀòåË1zôh¼òÊ+X¶lZ4øæì4{pÔÔ}»…EAÑ•H7oÞÄôÖoܸÎÎÎ8sæ ðÒK/aÆ R„æì¤ AAfbS©THJJÂêÕ«¦õž\.Ç·ß~ [[[ÀÌ™3ñúë¯cÍš5­–Œæ©«¿mZ€I¡©©Ëæ„`õ¼I°¶êÁÜ^=Pb½ÿ 3¶WŽ_>„1#‘½|&üª7·íÕ!9ë0Ž_ø·îÞG/küºzÙXáÇ/S©§AD'¬¤¬¬,ÂÙÙYï½ .ÀÎÎŽ{mmmÇ·j2š§Ûf®Ü‹ƒëÞÅçæaãþcðž½¥•J½í…fŽ4ËSþç.*ˆÜ pè›âSökm»Ÿæ"gý<<<» û×FâÑãFØö´¡^FA “g  öìÙ#jû²²2xxx´YbŸ¦ÌExà+€ƒëÞÅ´÷³ñêÌT<*ØnRyëc§ÆûüàØùR­÷ïþòl¦)fý_ìé ŸQNøñËñë>vÔË‚ ¢“aÒ Òýû÷±víZ¤¦¦ÂÂÂBÔ>Ÿþ9-ZÔf‰©Gšÿ?~òÔìrÕù6Ù?h‰Öö¬u R5á/òBüE^ <ßï9DNöEÚÂpêeAÑHbøöÛo±}ûvìÝ»}ûömóÄÂ_Á“ YÌ÷Å<`’oÖ~5yë©7A „Y¹r%nݺ///­õ-iˆk1z~‹X´5|³WAAtÁ’îÀçܹs­4ëÙEš§¿:òà©3Ú£A :)4ð ‚ ¢%°$ ‚ ‚ ´±xï½÷šÝÜÜ0þü`~~>µAAmŠÖ)¶–¼€º%pqqáõy#ºåååÔÖ¤ iBš&¤I›jâïïÏ|ŸN±AA´ÆI&“é=E[¥RaÆ ðôô„§§'>øà9‚ ¢ƒ ²²²È{áW~~>~ûÛßr¯›››aaaaò‘þ’%K““Ã-ùfÔËK—.!$$pwwÇÁƒ¹mKJJàïïI“&¡ººÀgEŒ   p?Šáááppp@hh(***¸zΟ?WWWL˜0UUU‚õJ$ìÚµ ÁÁÁÌíts`Õ}ãÆ „……ÁÙÙ2™LÔ _~B³LÕÕÕ ƒƒƒ&OžŒÚÚZnÛÆÆFDEEÁÒÒR¯.>M4ëIOO‡‡‡ —ËõêeåÆÒB¨Ýf̘GGGøùù¡¸¸˜·4cÓ]WõRH¾üX1A]t€¤P( P(0g΃ÛÖ××cÇŽ˜={¶ÉGúööö(,,ä–|3êe\\bccQQQ}ûöiÍpÉd2Èår 99°páBL™2UUUˆ‹‹CBB )) ‘‘‘(//Gll,âãã¹rN:…B¬X±Â`½‰GŽan§›«îääd¢¸¸?üðƒ(ýøòÓ­O“eË–!00åååðõõEbb"¯Îºði¢ÕÙ,-QPP€ììl,X°@ï}Vn,-„ÚÍÍÍ ¥¥¥HLLÄÒ¥KyÛA(vV®,mXù±b$‚ :6ZÏA{›ÿýû÷¬¬,¼ð žÝ’Ï·ÿ¢E‹ðü666øè£0lØ0ÑÁ¹¸¸@©T¢¦¦R©¹¹¹J¥(**â-Qÿ˜Ý¾}û÷ïÇ÷ßÒÒRTUUA©TB"‘àêÕ«èÛ·/M4Q„êåË¥…P»±!ší`Lìb´áËÏXí ‚ ˆŽI$™L†øøx¸¸¸pêÖJLL ®]»fRÓ§OÇ–-[¸%ß †……îÞ½ àÙ/GމáÇ#33S﫲²™™™3f ÷îÝâE‹0gά_¿ž˜}ôÑGP©T8xð ¸r¢££¡T*±}ûvn*T¯&¬í4s`Õíçç‡ÌÌL\½z!!!¢ôcå§YŸ&^^^رc°sçNxzzŠª‡Oc`åÆÒ‚•—²³³ÑÐЀ¼¼<Œ;Ö¤Øùô1VVŒAD •••éý©×«3f þõ¯q¯?~Œçž{Τ ÝÁ¦þq}å•WË—/Ç[o½…qãÆáå—_ÖÚ.%%³gÏFaa!Ö­[HOOǦM›àèèˆÔÔTîq6l@AA† ‚]»vi=¦ $$ãÆƒB¡@JJŠÁz5am§™«î´´4!**Jp¦ +?Íú4Y¿~=òóóáêêŠÓ§Os:‚Oc`åÆÒB¨ÝΞ= WWWlܸ[·n5)v>}ŒÕ†#Aѱ1é$>t¯AÚ¸q#¬¬¬°páB¨T*dgg£©©É¨‹Tù®¯é°®ÃéΘ«I{žï¨íI× &¤ iBš´®&íb5²xñbÔÕÕáµ×^ƒ¿¿?±dÉj‚ ‚ :}:|||pþüyøøø`ÆŒÔrAAt¬ß Gsðcè}c)((@||<ÒÓÓõ]AAb€ÔÖi- ‚ ‚ ZK’€ ‚ B2«%‚ ‚ÐÌj‰)’&¤ iBš&m­I«›ÕAAt%Zd€$“Éàâ⢵®®®...zAA]~€tóæM8p@o}EE¼½½QVV¦õg*555ðòòâ–bÑôqk)Œ)sÖ¬Y&–Ö(§5rj:@.—ÃÁÁûöíë”mHAt’J¥BRRV¯^­÷Þµk×Zô|gAA|}}¹¥XZã‰ÛÆ”yòäÉNÑèÉäÀ‚ ­5 j‹6$í ‚ ºØ)++ ¼¡ŠŠ 6¬Åް—,Y‚œœnÉ·ÍùóçáêêŠ & ªªJëè\"‘ ==ppp€\.7¸~×®]fñ«gŒ   ðn§9CpèÐ!øùùiÕ¥T*„††¢¢¢Bt~¬2ƒƒƒ¹rêêêðꫯâéӧ̘Õ1*•J̘1ŽŽŽðóóCqq1àÒ¥K ƒƒÜÝÝqðàAÁöbiÊÒç믿†³³3öîÝ‹={öÀÉɉÛJJJàïïI“&¡ººZP7¡¶«®®FXX0yòdÔÖÖrû466"** –––mÚ†¬>zæÌú†"‚èl$…B…B9sæð¾_QQ¼¼|ðÅ_`âĉ°²²2sRRÜÜÜPZZŠÄÄD,]º‡ØØXTTT`ß¾}¼³†b´faee…ÜÜ\ìÞ½‰Û¶mÓÚO&“A.—# ÉÉÉucµÝ²eˈòòrøúú"11‘ÙVmÙ†|º}ðÁô EÑNh=Iì5B÷ïßGDD²²²8CZ]+‘×^{ ˜:u*žú*• DXXX‹äŽ5kÖ@*•ŠŽÙÇÇÙÙÙhhh@^^ÆŽ àÙCDGމáÇ#33Ó$½¬­­!—Ëq÷î]Ì›7Ϩ}###QYY‰ÌÌLŒ3Æ(Ý4ñòòÂŽ;ÐÐЀ;wÂÓÓÓà>íÙ†AD' éÞº¯>µ¦yŠÍÇÇ·nÝâ^ß»wŽŽŽ&)ö¶Œ7 …)))­.^zz:6mÚGGG¤¦¦bóæÍzÛøùùá•W^,gÆ (((À!C°k×.ÞrLÉoâĉ¨««Ã´iÓDǼaÜ={®®®Ø¸q#¶nÝ X¾|9Þzë-Œ7/¿ü²Iz©¯ÙñññÁøñãÚ7%%³gÏFaa!Ö­[g”nš¬_¿ùùùpuuÅéÓ§¹²„hÏ6$‚ Ú“®AâC÷¤ÔÔTôéÓóçÏGSS>ùäôéÓo¿ý¶Qeн£«_¯aJ~EEEX»v­à…æ…îp~ÜØ6¤kHÒ„4!MZW“v±Yºt)~úé'x{{#00Ož<1jpD˜Ï;#˜˜‚ ‚ ŒDk©#’ŸŸO­DAD›¢u›9§ØZšì&Ðô/iBš&¤ iÒÖš´Ë)6‚ ‚ ˆÎJ‹ d2™Þ-þ*• ©©©3f Fމ… âÁƒ¤8AA]€tóæM8p@oý7ß|ƒAƒáoû.^¼ˆ×_[¶l1¹žššxyyq˶À—ur|×Ö@×ð•/cs*³#ê§®“7+&Sc5´ŸæûjO¾}ûös{骮gÙ²eíÒg ‚ ’Q¨T*$%%ñúr}óÍ7 Á Aƒ`kk‹ñãÇk™‹Øg!µ$ÆÜ’MŽïÚéaj.­­qkµYG‰[S÷  ;;[oPÐÑbV£¶¾Ñ|B[öY‚ h€dYYY ä½ð«´´ýúõã^ÛÙÙáܹs&=.Y²999ÜR–K=Ëeýúõë ÅØ±cqéÒ%Þ#aõ:VÙB3"måø®.»5ògqéÒ%„„„ÀÁÁîîî8xð V|ºzH$ìÚµ ÁÁÁz:•””ÀßßÑÑÑœw™n,|eŠÑ’5HàÛ/' µk×8ÍÜÜÜÐØØ(º- Í–©óŸ4i’žwÛ÷ßÏ«¨9qâgèËê§ˆŠŠâ,\ÄÆ|ãÆ „……ÁÙÙ2™Œ[_]]°°0888`òäɨ­­Ô›Õ_Y¹7N0.‰D‚Ï>û ÎÎÎØ»w/öìÙ'''ncû,+nݾL ôP(P(˜3gïû?ýô._¾Œ &ÀÝÝÉÉÉhll4ùÈ×ÞÞ………ÜR–K=Ëe=)) ¯¿þ:Nž<‰£G ÖÏ*[÷¨»=ßÕe·Tþê Í?]âââ‹ŠŠ ìÛ·«W¯ÖÒ€O‰DÂûÀJ™L¹\///Þu–ÆbµÔ…µ_NÀ3»–¼¼<À×_ððpX[[‹®ŸO ¾üôò_·noL¬><ó¸ËËËÃ| ZKcÞONNF`` Š‹‹ñÃ?pë—-[†ÀÀ@”——Ã×׉‰‰‚z }¦ørÛ³gÁ¸­¬¬››‹Ý»wC"‘`Û¶mÜþÆöY¡öeõe‚ º&=Iûþýûˆˆˆ@VVgX«û$íÿùŸÿÁ믿ŽäädôíÛÙÙÙP©Tzƒ !ÔOÒ®©©T*Enn.¤R)ŠŠŠô¶e¹Ô³\ÖœœpùòeÎÕÝÕՕו^©T2ËæÛVý[;¾·Fþ,nß¾ýû÷ãûï¿Gii)ªªª¸Ø45Ðüÿúõ뜬f.ê\¿ûî;„‡‡£²²Rï‰ÓšÛ«×‹Ñ’¯}Xû±rª©©Á»ï¾‹£Gb„ ظq#FŽ)º-uãfµõƒàææ¦•QQÎ;Ç«3_H$ˆŒŒÄK/½Äû\3VûóСCQRR;;;üòË/ÜgtÈ!¸rå ןÜÝÝQYYÉÔ‰Õ_Y¹ñå ÷õë×accƒ_|ÕÕÕ°¶¶æ¶7¶Ï²âÖí˺}›4!ML×Dè6+S ]³f ¢¢¢¸Á=zô@||< à™|xx¸Q$5ÞÞÞZK¾/I–K=ËeÝÒÒMMM\¬B°Ê¢­ß[*¾#]­#""0sæLxzzbàÀ 2؆¬õ)žææfXYYñÆù«¥ØýX9 <={öD~~>?~Œ‘#GšU¿1ù/[¶ ÿû¿ÿË«3_€çŸÿùÏZïˆÊÂÍÍÍ\Ìšë5sR÷)–NBŸ)VnÆô1kkk³ú¬Pûv¤ÁA­‡I§Ød2âããáââÂý©g|Ô 8/½ô÷º_¿~¸}û¶IANŸ>[¶lá–|G,—z–˺¿¿?¶mÛ†¾êÏ› IDATŸþÙ «lÝŽöt|o©üÕ§4ÿt)++ÃÈ‘#1|øpdffòj Fõeee%þò—¿`̘1Ü›\.ÇÝ»w1oÞ<ÞòÅj)¶ X9ÀÔ©SñÎ;ï`úôéF·¥!-Ôùgffrù«©ªªbÆÄ".. ¸|ù²Ù!¾˜ýüü™™‰«W¯"$$„[ïåå…;v ¡¡;wî„§§§ Nb>SÆj)„±}ÖÔþED7 •••éý©×«1bT*÷º®®}úô1)H1w°±\êY.ëiiiøç?ÿ ___¼úê«‚õ³ÊÖýáhOÇ÷ÖÌ_—åË—ã­·Þ¸qãðòË/ój FHIIÁìÙ³QRR‚uëÖwí‰ÆÏ[¾–Bœ³öcå“'OFÏž=1mÚ4£ÛÒêü ¹üÕ¼ûî»Ì˜„pppÀçŸnÖ+æ´´4!**Jk ±~ýzäççÃÕÕ§OŸæraé$æ3ÅÇ«¯¾*ª_™Ûgi_‚ º&&]ƒÄ‡î5HgϞŵk×ðÖ[o¶mÛ†k×®a×®]F•ÙV··ë´ÞÕâhïü[òüxrr2RSS;ý‡“® MHÒ„4i]MÚÅjdìØ±èÕ«Þ|óMøúú¢¦¦FôlA˜ƒ­­-‰@A˜…Ö RG$??ŸZ‰ ‚ ˆ6Eë¶sN±µ...4%ØM é_Ò„4!MHÒ¤­5i—SlAA«–(D&“!!!AkJó–5=zôÀ÷ßOªAÑ¡1{éæÍ›8pà€ÞzÝÇdggcÆŒ&×SSS///n©Kgtâ6× =''±±±-R–XÄèÜV±tvÌé³Bûšª¿!߸¶ 66–×k‘ ¢S T*’’’´<¢øhnnÆÿýßÿ!::Úäº = ©»9qß¾}Üíìmu‹¾;Âã:æôY¡};³þ©©©ÈÈÈ0ù¡²Ab€”••…ÀÀ@ƒ~åççãw¿û~ó›ß˜|d»dÉäääpK¡#ßàà`Î}»®®¯¾ú*ž>} ‰D‚óçÏÃÕÕ&L@UU÷ƒbÈ™]©TbÆŒptt„ŸŸŠ‹‹°]à 9®«ássÏž={ •JÑ·o_= ÄÔ«†å®;‹ Æ™^·=Xe K{SÊ1¤«n|ý…Õæ,‡z1³5¬ºÄî«é0o¨}ÄêyâÄ Aa¡¸8}/^¼Èmׯ_ÇÈ‘#ÑØØ¨{ß¾}!•J±wï^úv&¢s  æÌ™cpÛÜÜ\³Õ¯T*aooÂÂBnÉwĬ^†‡‡ãðáÀ/¾ø'Nä|®N:…B¬X±€8gø¤¤$¸¹¹¡´´‰‰‰Xºt)¶ <Àv\ׄÏÍ]L<Ç×zÊ´V£Š¨W Ë…]hfBì …1e mÏÒÞ”r éª _aµ¹C½-ù껯1óbô¼ÿ>òòòðÁ˜¤ÑäÉ“qôèQÀ±cÇ`ooãÇs}><<œóKÓ=$$„Û– ¢½0éIÚ÷ïßGDD²²²8ÃZÝ'iknûæ›oâÔ©Sz’†P?I»¦¦R©¹¹¹J¥(**â=’Uÿ`ÔÖÖâí·ßÆ™3g0~üxlÚ´ £FÒrO¯¯¯‡‡‡***D9³6 ÅÅÅèÝ»·Öz!—p!Wrõ:>7w1ñ899¡´´”×ÑÝP½š°\ØY.êbž¸­Þ†U6ååå áÝž¥½±9‰Ñ•Õ>šý…Õæ,‡zC:±êÊËËcÎÎêî«é0o¨Xzj¶qdd$^zé%ƒÏGciôã?bñâÅ8räüýý±jÕ*¬Zµ çÎÛo¾‰Í›7sŸIÍØàÑ£G9r$ï ݪ Ò„4!MZP¡ÛüMº‹mÍš5ˆŠŠâGBâå—_6zp¤‰···ÖÒЀ½½= €ÜÜ\“º±ÛØØàéÓ§ôíMD»bÒ)6™L†øøx¸¸¸pê].^¼ˆÑ£G›äôéÓ±eËnÉ78ÒuùÇš5k •Jµ¶‹ŽŽ†R©ÄöíÛ¹‘£çndgg£¡¡yyy;v,ax1𹹋‰ÇÉÉ 7nÜ0»°\Ø­­­!—Ëq÷î]Ì›7©³)e»=K{cË1Å¡¯¿°ÚÜX‡z]-ù껯1ˆÑ3.. ¸|ù²I@XXbbb0qâDÏN»-^¼øÃË»qãéÛ™ ˆÎ7@Ò½…_}jï[ii)†nV†î`ôÝÇ'Nœˆºº:-vàÙõ ãÆƒB¡à¼áÄ8woذgÏž…««+6n܈­[·vŸ›»˜xÆÏ]ã!¾‹wY.ìêë—|||´®uÒÕYè‚`VÙÆÆÂÒÞ”rXº²òàë/¬6r¨ç+_WK¾ºÄîkL› 驉ƒƒ>ÿüs“4Rˆnݺ…I“&¦L™‚è´èrôèQÒ·3AíŠI× ñÁºiܸq8pà€IÏVQ_ƒd EEEX»v­ÖÅŸííXß’ÔÕÕ!<<r¹vvv¢öi —{SËÔÝÏÔóã-•_9-Ù_ ÅÉW—ZsrlÉ6omàáÇÆßþö7ÞSøtHÒ„4iAMÚÕjäöíÛèׯ_›'þÎ;ï &&¦Ë6lÿþýƒ•+WŠÞ§5\îM-³¥béhå´Fùíµo[k+W®DLLŒ¨ë ‚ Z­¤ŽH~~>µAAmŠÖ]læœbk \\\hJ°›@Ó¿¤ iBš&¤I[kÒ®§Ø‚ ‚ :-2@’Édz·ø744 )) =z4Ö¬YƒÇ“âAAtýÒÍ›7qàÀ½õ©©©pppÀ¹sçpæÌ 8÷vu±ÔÔÔÀËË‹[Š¥3¸Ï›[NNbccµÊjœ •i¬;½©±¶DÁ¹è˜îõšš¨ýåöíÛ×®}¼%`õ cû­¹9·•­•AÐI*• IIIZþcš_¬°µµ…­­-fÍš…¯¾úÊäºÄ< ‰sÓ;·oßFFF†Þí×íñ8ƒŽ¢ugjóŽè^¯Ùw,X€ììì.ñcËê]õ;¢«÷D‡ eee!00÷Â/•J…ææfîu=L>Å&‘H°dÉäääpK¾™®“ºî,App0çïTWW‡W_}UËÒ@ŒÛ;Ë åð.‘Hžž888@.—óæXRRLš4‰óÏž={ •JÑ·o_æ _ýbʾqãÂÂÂàìì ™LÆ­¯®®FXX0yòdÔÖÖ ÎȘëoNæÖÍÒ¯nSôë^ßÚq°úNcc#¢¢¢8K!íÅôwCŸAàÙÉÕÛ\¼x‰çÏŸðÌgqäÈ‘hll4ê3ÇꟺëYyiª—ÕOYëÅ”)¦üûßÿÖkÓŽ2CJÝr€¤P( P(0gÎÞ÷ƒ‚‚ð׿þ xôèþú׿âõ×_7ùˆÖÞÞ………ÜR>'u]×óððp>|ðÅ_`âĉœÿ Îíå„ÎrxžùpO§æC&“A.—# €û¡ÏñãǵžtÍÛÈ<õ‹);99(..Æ?üÀ­_¶lQ^^___$&&ò:ÌÒL“‡2Ýã͉£%œëùôã«ÛT½Åº×·v¬™$¾65¶^5†>ƒÀ³'p«ŸìØ1ØÛÛsúäçç#<<ÖÖÖF}æX¹è®ÊK «^V?e­S¦˜>°e˽6j;‚ ÄaÒ“´ïß¿ˆˆdeeqtÓ}’vmm-¦L™ÂöîÝGŽ1êˆFý$íššH¥RäææB*•¢¨¨Ho[–“ºæ“~kkkñöÛoãÌ™3?~<6mÚÄ9Š+•JQnï,'t–ûD"Aee%g Ë÷äaMGôÀÍÍM´û¼““JKKõÊ×\òÕ/¦ì¡C‡¢¤¤vvvøå—_¸ö2d®\¹;;;Ô××ÃÝÝ•••̧*‹qǨQ£xŸÇeNæ:׳ôªÛX½Yîõš·å¶EºÚ°ú+£ëU/YŸAM~üñG,^¼GŽ¿¿?V­Z…U«Váܹsð÷÷Gff&FeôgŽ•‹æzV^b>ë¬~ÊZ/¦L±}ñÑ£GzmÚ•œŒ…ni'MÄj"t›¿•)…®Y³QQQ‚O»MMMŻヒٳg£¹¹ü16n܈ŒŒ £ëóööÖZò}ðÅ8©ÛÛÛcÀ€ÈÍÍÅ£Gô¾˜Å¸½³œÐYï¸/4C³ÐÜÜÌQ‹ÇÆÆF°l¾úÅ”maaÁ&Õ<]ª™¿¥¥¥Açy1îñýû÷gºÇ›GK8×óé'T·±z‹u¯oí8Œ:²2²^±ŸAõ ÿñãÇ8{ö,lmmŒ´´4;v Ü>æ~æŒÍËÐg]¨Ÿò­ûýa¨455µH›¡ó»lÊN2™ ñññpqqáþÔ3>jΟ?™3gÂÖÖvvv˜5kNŸ>mRÓ§OÇ–-[¸%ßQËI]×õ<<<kÖ¬á5ÌãöÎrBg9¼‹%22•••ÈÌÌĘ1cDÇãää„7n˜4è4T¶ŸŸ233qõêU„„„pë½¼¼°cÇ444`çÎðôôäÕÚfº?,÷xsâhiçzCu›¢·9îõ-GkÖ«‰ÐgPMXXbbb0qâDÏN»-^¼X«ýý̱ú§æz1y±êeõSÖz1eŠaÔ¨Q¼mÊÊ— ˆV •••éý©×«±¶¶ÆsÏ=§u4fèHž…˜;ØXN꺮ç'ND]]¦M›¦W†Û»æ6|Nè,‡w±¤¤¤`öìÙ(,,å>¯füøñÜõÆ ÆÙ>-- EEEˆŠŠÒúÒ^¿~=òóóáêêŠÓ§Osñêj­.Ç\÷xsâhiçzCu›¢·®{½1§¡[2c0¶^M„>ƒj&OžŒ[·naÒ¤I€)S¦àÁƒZ×1û™ÓíŸ|ëÅäŪ—ÕOYëÅ”)†¥K—ò¶)+_‚ ÄaÒ5H|è^ƒ´bÅ Œ9¡¡¡èÙ³'>ýôS\¿~Ý(gq¾sõæRTT„µk×âÈ‘#]¢ëêê¹\;;»)³¥à)‡ïüxK:Ñ·—†r¯ïª× ˜ó¤ë(HÒ„4iIMÚÅj$99%%% „¯¯/*++±bÅŠväwÞALLL—iàþýû#&&+W®l±2[ʵÝÜrÚÂ=¾½ëîŽîõ]í3HD×Dk©#’ŸŸO­DAD›¢u›9§ØZšì&Ðô/iBš&¤ iÒÖš´Ë)6‚ ‚ ˆÎJ‹ d2™Ö-þðôéS¬Y³¯¼ò |}}‘ššŠúúzRœ ‚ ˆ®?@ºyó&8 ·~ûöíèÝ»7Ξ=‹o¾ù666xÿý÷M®§¦¦^^^ܲµPßbÝ^æœæz'åää 66Ö¤²X9³ÊéˆNôbò¢¥Üë[3F‚ ¢ƒT*’’’x}ƒ>Œˆˆôîݶ¶¶ˆŒŒÄ?ÿùO“ëó,¤–@ýXÎè„}ûömddd˜|{º±9wD'zsòÚÞ½ž× ‚ ºà)++ ¼~ýüóÏxþùç¹×ýúõÓò€2‰D‚%K– ''‡[òmsþüy¸ººb„ ¨ªªÀvçVÏ <AAA(((àÊë„ÍrŠ7Æeœ’’øûûcÒ¤IœO–ö={ö@*•¢oß¾‚ZîÚµ ÁÁÁzë…ræ‹Iȉ^Èí¯~¡% >ûì38;;cï޽سgœœœ8ýøÚ^71.òºîõ¦äÀjc¾ÜtcÔí“êþDAt¢’B¡€B¡Àœ9sxß0`îܹý®­­…J¥2yVÇÞÞ………Ü’S§NA¡PÀßߟ{æË{áÂ…˜2e ªªª‡„„½Y$C©d9Åã2·L&ƒ\.G@@’““¹º ¹°?~ãÇ5àÔ}HŸ¡œùbØNôB®è|õÊÑÊÊ ¹¹¹Ø½{7$ ¶mÛ¦¥ŸnÛëæ#ÆEÞgwV¬6æËM·>Ý>¹qãFú†"‚h'Lz’öýû÷¬¬,îwºOÒÞ´i÷¥ßÐЀ?ür¹W¯^œúIÚ555J¥ÈÍÍ…T*EQQïþÕ«WÑ·o_Ô××ÃÃÃLwî?þééé Åܹsáêê ƒÎßš°œâugåñàÁ¸¹¹¡²²R” »““JKK –ýúuôìÙ“WC–Û9_LÛ‰^Èí¯þòòrL˜07Gõ>666xñÅQ]] kkk­¶âk{Í|ĸÈëj`lêýùÚ˜Õ~šõéöIKKK½›º;t«2iBš&-©I‹ßæ¿fÍDEE >ýwñâŸsç|}}!hLioooÔÖÖrKÖi µó¶………ÖÿšGöêõ‘‘‘رc^xáDEEáÓO?5:.–S|DD „Ù³gë~ã2niù¬Yš››¹Yµ »R©„R©Ô©·±±±1X>ß»)1l'z!WtVýB9öìÙ“+ÓÚÚZTÛk"ÆE¾%r`µ±˜öÓí“2™Œ¾Á‚ Ú “H2™ ñññpqqáþÔ3>š?œiii(..F^^ d²YíôéÓ±eËnÉšÙ‰ŽŽ†R©ÄöíÛ¹Q!Ë; ÷îÝâE‹0gά_¿^ïÇÑ6Ë)Þgnõeee%2331fÌnhÈ…ÝÉÉ 7nÜ0}:Q g¾˜¶½)nïæ8Íóµ½n>b\äÍÍÁØÜ4cÔí“»wï¦o(‚ ˆÎ4@*++ÓûS¯×<ܺu‹{]YYÉ{ä/±w°…„„`ܸqP(HIIÀvçNOOǦM›àèèˆÔÔT=Ws–3½&,§xsœ¹ %%³gÏFaa!¯öñãÇãèÑ£¼e ]p®~O(g¾˜}'z5¦¸½›ã4Ï×öºùˆq‘77csÓŒQ·OšóX ‚ Â@³¹¹cÆŒÁ¿þõ¯vÕQ"‘ÀÑѧOŸÖÒïСC¼}UíO(‘H=…Úª³Ð•>7A´ÓéÚµk‚ç3OŸ>€€ØØØ wïÞøÃþ€ . ©©É¤úÄ> I,í墮y;º¦s|K<¢ «:ÃkêÔò5Toÿþýáçç‡'Nh­?{ö,<<<ðÛßþ¶]Gï½÷²³³¡T*±uëV¼ûî»Z¾†Û·oG}}=³ß*•Jdggã½÷Þc’XmEÑmH6lóýÊÊJØÛÛs¯ûõë‡ææf477›tT·dÉäääpK¾mLuQç;V;ªpÛê:ƳÊW¯Ÿ1cáççÇ9³kÖ­é¯^Ï*ßѾšC‡ÁÏÏÏ bµ¼téBBBàààwwwƒ³³3öîÝ‹={öÀÉÉɨ:•J%ÂÂÂààà€É“'£¶¶–W§¶Ìר¾£É¼yóð׿þUkÝ8óZVÿÐ\Á­×¤ººš©Õ®]»Ì;pÙ¶mBCC“'OƦM›PZZÊmeÐ 744TÏ(XSGͶ2%NV{Í›7³^‘ÉdÜãL퓬ϳ¡8‚ ’¨R^^<==1zôh¤¥¥A¥Rqï×ÕÕá¹çžã^«=Âø|²Ä̺ØÛÛ£°°[ò&c¢‹º&ºŽêš§uãYå«×»¹¹¡´´‰‰‰Xºt)ïL’n ¬ò„âb•WSSƒ“'OÔC¬–qqqˆEEEöíÛ‡Õ«WsÛ[YY!77»wï†D"ÑúSç–-[ˆòòrøúú"11QP§¶Èר¾£ÉСCaiiÉ êëëñË/¿`Ĉ‚ýCs}TT”^¿€eË–ñj¥þáç{fcc#78R3yòdÌ;—{ýÎ;ïà»ï¾Ó4±IÌÙQõÒ”8YíµnÝ:¤§§£ªª ÜLM퓬ϳ¡8‚è>˜ü$í×^{ ˜:u*žÉú<Óo: tû6iBš˜®‰Ðmþ&ßÅvá­#µiÓ¦!$$„ õìÙMMMÜi‘¦¦&“f€gFŸšKÖ—³‹ú€DÕ‰¡C‡ââÅ‹ˆŠŠBtt4"""´f¿4ãYå«T*“ÌyYå ÅÅÂ=øöˆˆÀÌ™3áéé‰"((ˆ{OóÇN×sOLšZYZZšÔWZ:_cûŽ.cÇŽÅÎ;¡R©péÒ%Ìž=Û`ÿÓo„´ât¨ÛD.—s³HJ¥r¹\ïTÙ¨Q£0|øpîTr¹\”¯¢)qÒÜÂÂBëâwSû$ëóÜRmODç§Åžƒdkk‹;wîp¯û÷ï¯5 ÿäÉ“Íj§OŸŽ-[¶pKc.h㢮‰®£úúõë¹÷øãYåûøø ;; ÈËËÃØ±cÍŠW(.;œÄ”/†²²2Œ9Ç7ÊSOLnnnرc°sçNxzzŠúnÍ|í;|„……!!!>>>ZVÿÐ\úôiÞ~ãååe´VºWk^´­Ë²e˰cÇæàˆµ_KÄÉÒüöíÛÈÈÈÀÎ;‘žžŽÛ·o›Õ'YŸç–è7Ató’nݺ޾wï¹×Æ Óú¹wïžAo/æÜÁ&ÆE]]GuMGy>ÇxVù6lÀÙ³gáêêŠ7bëÖ­fÅ+—VNbÊÃòåËñÖ[oaܸqxùå—ÍnM–,Y‚üü|¸ººâôéÓX·nÁr[;_±}Gè‚íððp\¾|R©T¯l¾þ¡¹~ïÞ½¼ýfýúõFk¥yqµD"Ñ»h[“_ýêWzžuêÛü…ök‰8Yš/_¾ï¿ÿ>^zé%ÄÇÇ#))ɬ>Éú<‹é7ô(‚è˜| Rjj*úôéƒùó磩© Ÿ|ò úô郷ß~°ÿ~<~ü3gÎ|òÉ'øöÛoqàÀÑu¨¯Aꈽî„0 :?Nš´¥&]éóLý„4!MLפU¬F–.]ŠŸ~ú ÞÞÞ Ä“'O¸ÁL:—.]‚|}}qæÌ^—y‚ ‚ ˆŽ†Ö RG$??ŸZ‰ ‚ ˆ6Eë.6cN±µ...4%ØM é_Ò„4!MHÒ¤­5i•SlAA]“Ÿƒ¤6äÔEwêÉ“' Å7ß|CjAÑ)0ËjÄÛÛeeeZº¤¤¤pv æPSS///n©‹¡[o½5·+ÜÊk¬a¨æö­‘¿¹mÔÛ ‚èd¤k×®<Ÿ¹råJÞY&S0çYHÝcÝîÝÞXè1 AD— UTT`ذa‚Û¸»»sžIæ ‘H°dÉäääpK,wo())¿¿?&MšÄù*ãÚ­ëBÎÚ—å.v¹\ <AAA(((0XŸ®½®ë<«LÍÜ4—pèÐ!øùùt¸çÓ‰•?+Þ¶jC‚ ‚hõR^^<==1zôh¤¥¥A¥Rim£ûô`sfìííQXXÈ-Y¹{Ëd2Èår 99€ñ®Ýš.äBû²œÂÅì¿páBL™2UUUˆ‹‹CBB‚ÁútÝèuÕYeêÎîhÎòÔÔÔ|†sÚ IDATàäÉ“îùrJç‹·-Û ‚ aòEÚ×®]CBBöìÙƒ'OžàСCÈÌÌäÌj[’šš­×ƒfn{øðaìß¿‡Fii)êëë¹÷bccagg‡èèh¸¹¹Î;‡'NpÛò‹{ã78L¡}cbb`kk‹èèhxxxµÿÊ•+‘žžŽeË–aîܹ8wîœÁú¢££Ñ«W/„††jyà©a•)Dtt4zöì©U¦X½Xù‹‰·µÛ ‚ Zm€táÂ…ÿbe…iÓ¦!$$¤UHÞÞÞZK!›!woKËgfÍÍͰ²z–º±®ÝšáBû²œÂÅ쉡C‡ââÅ‹ˆŠŠBtt4"""ëãs£S¦æ8Ü 9¥Š·µÛ ‚ ÑbÏA²µµÅ;wZ%ÈéÓ§cË–-ÜRèb_!wïÈÈHTVV"33cÆŒá]-íö®ž!a9…Ú? ÷îÝâE‹0gά_¿Þ¤X5]çYe²¶7%gÝ"Cùw„6$‚ ˆ ùøøàÖ­[Üë{÷îÁÑѱU‚4æ6!w̞=………œ³xk¸½ÂNá†öOOOǦM›àèèˆÔÔTn½±±jºÎ³ÊdmoJΚˆÉ¿-Ûnù'‚ ŒAˋͫ‘ÔÔTôéÓóçÏGSS>ùäôéÓG˰V‹‹‹I6&...òÖð®äÞVùÓcðIÒ„4!MH“¶Ö¤U¬F–.]ŠŸ~ú ÞÞÞ Ä“'OxGAA ­¤ŽH~~>µAAmŠÖ]l¦œkM\\\hJ°›@Ó¿¤ iBš&¤I[kÒ*§Ø‚ ‚ º*&?©®®Ž×gM= ÕÐЀ””?~*• ãÇÇêÕ«akkKªAÑ¡1ËjÄÛÛeeeZj6nÜgggœ9sx饗°aÓ­©©——·$S˜5k÷KÜúÏça×h‹xYu[·9±ª÷5¶ÝuÛUýÝÓYû‚©1‰É»½ûK[ÆHÐI×®]<Ÿ)—Ë1}útØÚÚÂÖÖ3gÎD^^žÉó,$‚`qòäIîÿ–|Cw~¬CGFÝ.ší.†çž{Nk©þî1fŸ®€˜¼)F‚H:TTT`ذaÌ÷/\¸;;;îµµµ5?~lò‘Å’%K““Ã-‰®‰D"Azz:<<<ààà¹\ÎýÐ…‡‡ÃÁÁ¡¡¡¨¨¨ÔÖÖbÒ¤I1bvïÞÍm^ºt !!!ppp€»»;<¨w„¯^VWW#,, ˜¼¼¼››‹ÁƒÝ¿…t•Édˆ‹‹Cff&&L˜`°m¯_¿¼øâ‹¨®®Æõë×À½¯n×úúzxxx ¢¢Â`?4'oV™,…rãë“bbבnigÇÚšÝæoò]l.\Ð:¢™6mBBBxH4hQƒ#M¼½½µ–ÝÝÊ£«£þBÕD¥RáòåË0`€Öú¦¦&Þÿ#""0sæLxzzbàÀ b%üÿ‰úˆ·G‚±´dü‘‘‘:t(.^¼ˆ¨¨(DGG#""Bo_ÍÅä(&nKËgÈÍÍͰ²²ŒSL½hnnæÊÔÔ—o=«.Ööš899áñãÇ8{ö,lmmŒ´´4;v 5j”ÑmdõLÅŒ3ŒÞ×®–––xúô©¨¶íÙ³§Ö Auÿµ°°ÐêËbÛר¼…ÊäÓY(7¾>)¦sÚ† ˜ß‘-U­­-îܹ£·þçŸÆçŸŽ… š\öôéÓ±eËnIƒ£î‡··7>úè#¨T*üðC|óÍ7J¥x÷Ýw¹#êåË—ã­·Þ¸qãðòË/kýXëÎd®_¿ùùùpuuÅéÓ§±nݺ6‹?==›6m‚££#RSS¹õºûž={®®®Ø¸q#¶nÝ*˜£XRRR0{ölr9³âÔ„UoZZŠŠŠ¥õÃÇZϪ‹µ½.“'OÆ­[·0iÒ$À”)SðàÁH¥R½mùÚÝÔ¤–lÿåË—ãý÷ßÇСC¤¤$³Û6$$ãÆƒB¡@JJЍ8„n¥7”·˜>#¦ÿ°ú¤˜zè:$¢50ù¤ÔÔTôéÓóçÏGSS>ùäôéÓ‡3¬ýöÛo±}ûvìÝ»¿úÕ¯L NóÚ¢kcîùñÆÆFäää`ß¾}8qâiBý¤[jB—P?!MŒÓ¤U®AZºt)Ö®] oooôêÕ 3gÎäG°råJܺuKÍïèÜ,Z´'NœÀÇ1bÄlÙ²…D!ZÖlKW˜t†¼»kÛ­ƒÖ RG$??ŸZ‰ ‚ ˆ6Ek©£Í¸Ð”`7¦IÒ„4!MH“¶ÖDè›%IDA¡É× ÕÕÕÁÇÇGo½zJ¥RaóæÍ8tè`Ò¤IøÓŸþdÒóG‚ ‚ Ú³¬F¼½½QVV¦õ§fçÎhjj©S§pæÌ<ÿüóoÿ¢¦¦†smÖ½ð›è:h^d©ö)Û·o_§ÍGóÙLbÖ·–ž­QŸã}[;Û ÅÒžqÑ H×®]<Ÿ™““ƒÈÈHØÙÙ¡W¯^˜5k¾úê+“¥g!u4ï6Y°`²³³Ûl0Ѱ\äu—7WÏÖ¨OÈñ¾­í…biϸ‚è†¤ŠŠ 6Œù~~~>~ûÛßr¯›››yíÄ.Y²999Ü’èšhá766"**гPÌ9y×ÕÕáÕW_ÅÓ§OQ]]°°0888`òäɨ­­å-à›=ë/ä²®ë\Κ­Ð]ÏŠÛ”ø$ víÚ…àà`®ÝúX®èš9®«r¼r¶g類1|ðÅ_`âĉ°²²Â²eˈòòrøúú"11Qt}bÝá…œÈuËY9è®·1îõ‰GŽaÖ'ä¾®F(O5BŽ÷BÎö,.\ˆ)S¦ ªª qqqHHHЋ÷ü#o¼B±ˆ‹•3+.MXš åäææ†ÒÒR$&&béÒ¥u?uê üýý±bÅ ®œ©S§ ¶¥]5÷MJJÂë¯¿Ž“'Or}N¡þ¤û™Ê]L¿$ˆ¶Ää'i¿öÚkHHHÀÔ©SñäÉ:tuuuzfµ‹-Â?þñØØØà£>œuÒEý$íššH¥RäææB*•¢¨¨ˆZ®‹¡¾U×uo€T[[‹·ß~gΜÁøñã±iÓ&Œ5 C† Á•+W`gg‡úúz¸»»k¹kùê–+Ö^ȉœÏ¹œ•ƒæzVÜš·åã^ýúuÎД/1Žî¬< !ÆñžÕü1ÒÓÓйsçÂÕÕ&9ÐëÆ"&.Vά¸4aÅÈÚwذa(..FïÞ½EÅ ét___TTTˆÒÆX]œœpùòe®?ºººòöeõkV9¬Ï+wSÛYèû„ M iÒ*·ù_¸p¿ÿýïaee;;;L›6»cM“­[·âܹsÜ]l¦àííÚÚÚÿÇÞ‡EUèÿŒ 0£©©7M³E3Ų\M¼î Ù 1/*ÒEQÊIü©YJWqÉ]1wsaL%4##s«LÓÌCdùýÁ‘‘YÏÌЙ™Ïëy|ƒg¾sæp˜å¼Uó–ö­eË–hÒ¤ víÚ…’’U¹½ú­:uêhìÿjüžšêð2™¬FÞßßÍš5èQ£°iÓ&µï!ôš†¬·¡ë¨×Þ5QVÑ333‘™™©ñ‡®ë©‹±M¬ê·ÇèÑ£±fÍ4oÞؾ}{õMKK3ø‡¦¶G‘´Ñvµ­—!3Õu4½ä@×ܕۅD"Qý»¼¼ :oKCæZý²uêÔAEE…Úÿ©ëvÓµ=iºOh»î†l—DµÉlçA’Ëå¸wïžÖ'NÄ¥K—}ïaÆaéÒ¥ª¿yÚxz÷Ýw1{ölµ0i×®]±fÍcíÚµpssSý&š’’‚¼¼<Œ;Vë÷4¤ole][E¾úçµ­·õ3d= ©¯ ­ÉRU×v{ôéÓùùù˜2e 0þüë»ÿ~ƒ ô¯‹!ë¥í:k[¯Ç‰Ó4Sm—íÞ½;¾üòKcß¾}øç?ÿ©wî&L@ff&V¯^­ú­·[·nˆ×y[2×ê—íÝ»7V­Z…¬¬,Lœ8QïífÈöôøí¢éºû}ˆD{€Ô½{wdgg«>ÎÏÏÇ /¼ ú¸Gøë¯¿T+ Áïá;Øèqÿú׿››‹!C†¨>7þ|¤¥¥ÁÅÅÇŽSÕÀ•¯èÞ½;<==µ~OCêðÆVÖµUä«^Ûz Y?CÖÃúºÐš¼!Ôh»=/^ŒE‹á…^ÀܹsUëU}}wîÜiðéBŒ}IÛuÖ¶^Õi›©®ëtüøq¸¸¸`áÂ…X±b…Þ¹¿õÖ[èÕ«NŸ>Ï?ÿ\õ}Μ9£ó¶4d®Õ/;oÞ<œ:u îîîxýõ×õÞn†lOÏJÓu7öûYšà× Í;õë×ǸqãPQQmÛ¶¡~ýúª`íÂ… !•J1iÒ$”——ãË/¿DEE…Æ8j£| Ù>cŸÏÈÈ@xx¸Ú‹‘í}&ÜNl—¶×²ÕÆLtýßÜN8kŸ‰E^ƒ‚Û·o£[·nèÛ·/JKKUGŒÜÜ\¼ñÆèÝ»7>|ˆ©S§ò!³ðóóS{øŸˆˆÈœÔA£´´4ÞJDDDT«ÔZlÆ<ÅVÚµkLJíþåL8΄3áLj{&yŠ-77íÚµ«ñG“ääd­ËˆˆˆˆÄÆb±Z¥[·n!&&Æäe¬–ˆˆˆD€¤/V Tøë£>Ò˜)0ßêODDDµE*ô‚—/_†‹‹‹Î¯‰ŒŒDß¾}M~Þ³ú™³•¡ÚeË–ñÖ#"""‹°X¬öôéÓ8}ú4L^IÆj‰ˆˆÈ*.]º///|ÿý÷8vìZ¶l©:5~aa!ÂÃÃ1wî\ÍcݸqCíc]ÁI""""S ~Šíĉ¾‰TŠ!C†à­·Þ‡~ˆÙ³g#00Í›77ËJvëÖMíok<³+ÙÁÒãªÇj“““‘œœŒiÓ¦©}M»víkiذaªØd÷îÝ1|øpÞrDDDd1‰Õ>þÖåA‘ÐQòlDDDdHï¼ó¢¢¢ P(P\\Œøøxüç?ÿ±ÈJfddàÙgŸUýMDDD$Ê$}±Z""""kÅX-Ñc«%Q`H‘3áL8΄3©í™X$VKDDDd«¤Ö²¢}ûöÅÇqüøqôïßÅÅÅøî»ïŒ>¥2[Âó(‘.:t@nn®êcî3¸å¶­~Y¡·¿µÜ· åææ¢{÷î5>¯|šNßrcU¿Üo¿ýf9K7‘µèÓ§¾.¯¶föË/¿¨ ýn§¶vLÙ¶ùå“ïÖrß2)VÛ­[7lݺUÐò¿ ã!kõûï¿sœ™è÷£¶8snGöɤ›®|é[nŒþóŸªW?âT>BÕ¡C´hÑ-Z´@JJ Zµj…üõ×_ª¯­þ5µV_¶xñb´iÓ={öÄÉ“'^®\‡çŸ3gÎä&À÷ßAƒ¡U«VxþùçѹsgUf ÂÂÂàââLœ8QíáÚ¿þú !!!hÕªRRRT·K‡¬v&]»vU»tîÜYãö«¼ŽÊÏuèÐÁ û‡¾™ZãvbÊÌ !¶™r;?|øÿýïñÊ+¯ C‡˜7o>|hðLuíGõÍü¦}·!·£Ø®Sm DûöíѲeKôèÑG­ñ5¶´?1û#H...‚—ãøñãjÏy+ÿýý÷ßPÈoòäÉðòòBLL påÊÕ×<~€¥TýòÏ<ó 8€ž={bêÔ©øöÛo Z^ý{Ož<Ë—/dž x´#ðŽ™——‡o¾ù¥¥¥€\.W-ÿôÓO±mÛ6lß¾ðŸÿü………ªG+ÝÝÝQRRLž>>xá…УGP{„È÷'f=@ºté¼¼¼ðý÷ßãØ±chÙ²%V®\iðrc()züþøñãNee¥ åäQŽ –/_Žýû÷còäÉP(˜5kFŽYcî?ýô233‘™™‰ëׯÛõÌF©TŠ'N`ÕªUhÚ´)üýýÞÖ­i¦ú¶ά&åÓi¨S§j÷_ZZj¶™Z‹êûnîOjúàƒžžŽU«V©=iË÷ ³ 8q>>>J¥¨[·.† ‚øøxƒ—[ÊäÉ“1eÊ0ø7Aå‹ûÇÏ?ÿÀ£w.*»€M›6¡  _|ñ…Ú£ŒÊÛ}Ê”)jO±Y;åõJIIÁ©S§ðæ›oª–5oÞžžžX»v-rrr´>¢íþ¡o¦Ö¸˜kfÚˆyfÚnçÁƒ’’’T¿å2Ĩ™š²*ýë_ÿRÍïïfÈíhÈu²%7oÞtîÜÑÑÑFogÖ¸?ÑÄlçA’Ëå¸wïžàåú´jÕ ªkÛ‘­Zµ 'NÄðáÃÕ^$ýøy”OÕùùù©Bnܸ±jyãÆ‘››«ö‚M]Ë5}ïÆ[õë^þ.åå刊ŠBTTÑ¥KÌš5Kµ\¹ãÞºu+6lØ€6mÚ 00Pµ<== ,@BB"##Õ–Y3åõš4i\\\0~üxµåƒ ÂÞ½{u>¢íþ¡o¦Ö¸˜2³Ç÷šî×bž™¶ÛyöìÙ¨S§ÂÃÃ!‘Hðþûï«^dÈLuíG¿øâ ƒfµ2åþYÛ¾ÛÐÛÑëd- Ù¶,X€Y³fá­·ÞÂÔ©SkÌÓ”ý‰!ÿ¿X¨µØŒ9GQ÷îÝ‘œœŒüãªìÝ»× å†h×®Á/Šã‰Ë¬›%Oƒo­Û†±3;v,öìÙƒ9sæàƒ>°Éû‡¹·]3³Æ™p?hùý gb[3±HjäwÞATT Š‹‹¯z1–!ˉÈ|”oŠ0öu4œgFDf>@ ÁíÛ·Ñ­[7ôíÛ¥¥¥1b„ÁËÍ©úÃ~Ö~¾2ïvQý]¶º]tèнzõBEEîܹWWWÞ?Lœ™µ^'ÞÎDæ#ø5Hr¹ˆˆˆ´Üœø:²çíBßõäýÃ>fÂۙȼÔ^ƒ$FìNQmS{)55UT+7dÈôîýo%;pôh!ok 3éÓgQMïÞOàèÑB‚3Ñ;“´´Å÷±̤·aH†ÊËËðaÃ4.Sdݼyk×®ÅÙ³g!•JÑ¿Œ7R©ig(-}''GÞ²DDDd1‚^¤ýçŸê\~ïÞ=L:?üðJJJPXXˆÄÄDlÞ¼YðŠþøãy„…E¢Y3Þjd·*+OrÍC×L8/¢šæÎ݉ÄUõgíÚ¯@õ±¿ÿ§jK$®5>®þy i8@òôôDjjªÚˆG~~>¼¼¼””„9sæ@&“™ô"B7·—1wîDäåÝçÖMvËÖwHæžçETSXØÕ/••'1nܵ_(®]»¬¬\µ¯yü—{øå䤓'OÂËË ~~~HNNV-?uê$  “Éн{w$%%aùòåÜ2‰èܹÖGKZ·~¬ÂÍ›û°ÿJ¼ðB ÎK˼”Ÿ›2ÅÙÙ‡PZzï¾ÛWµ¼]»çqâÄ(ßãØ±õx晦Vu½•ׯW¯.øãD¤¤¬à‡Œ6nÜ|ùe¼ÆíK×Ç<@põêU@NN ²³³±råJÕ;Î233Ñ A¬_¿^^^:t("##¡P(¸å púôE­†lÛö9fÎ\–-߯G­Â¶m᜗–y)?׬Yc<ûìÛ>ü#ÄÆ>:ÉŽÿÅš5ñhذ76nLÄš5¡Vu½•×oðà>è×o<†ÿˆw2Ú°a˜x–Ùõ½bZ&“¡Aƒ†››bbb…¸¸8ôéÓGuöleãL¡P !!ååå âÖGdFnn/ãçŸ/λ„®]_áPô ‹ìÞ}ŽŽvƒ¯¾Ú[¶ÌÆ–-³EE%VyýBB–ðF&Á¥ðöî;¿±ë9ziÑ¢EˆGÏž=!“Éàëë àÑ#KNNNªjêÉÉɘ8q"àøñãÜòˆÌìäÉóxýõö€×_o“'ãP:vì4¦LY„úõ{A"qE½zÿäPÈ.ï£zñ6Œúí$C† Avv6€GefGǪ·ß?õÔS€7ß|ÎÎÎ8p àþ}á/°ÖôJz"{Qýõ4¿¶ÆßÿS,^<÷ïÃ_|ˆ‘#?µû™h[¦ïÙxçžÈÉ9„Û·`ÅŠéV7Mó ªî«¯ö¨ý<]º4JõoåßÍš5Æ¡©}r IDATóÏ7×ø³¸úß¶LÐSlŽŽŽ(,,ÄöíÛ1aÂÄÆÆxÔzõÕWqãÆ ÄÇÇÃÇÇÇŽ4mÚÔä;>‘=Òµ3úã›èÙó}ÎÄ€eþñoݺOÏÉ69"¥Q£ÞÁ¨Qïèý9»m[x×4ÚÓÏbAHÆ Ù3g°oß>ìÛ·¯êI¥ª"¶:„­[·bëÖ­ªË½ûî»Ü2‰ˆˆHô=Åöúë¯#44-Z´€T*EëÖ­ŽvíÚZ¶l‰  ]»vJ¥hÚ´)ÆoooNœˆˆˆDO-VûÄâë´ìÙ³‡·Ù­Ï>ûŒC `Μ9™Dí)¶¯¿×+Ö«µ )jž #¤êfåL ÷'ÜÇ6“ZŽÕzxhï¥)s$DDD$N Ã[(Vk ÑÑààЉ+œœÞÀîÝG¸“Ýá»9k΃±Z"ãI$®xí5ߟgþA UÕN›6­Æòêåççcüøñ(((Ðøµ†š8q>öìY†ݱ{÷øú~ …â{nådw;5RŸ‡®ƒ ΋H³³g£Ñ±ãœ;w ¯½ö’êónn/ÃÍíeÌ›·Éîgd‘Xmu«W¯FNN¦M›†~ýú ^Ñ{÷Ž`à@w@¿~nˆŒ åNvƒ±ZóÌ‹±Z¢*Û·§ qãؾ=…Ã0ç’¾X­Òo¿ý†´´4¼òÊ+&U—Ÿ_ˆ’’Rò”d?«5ϼ«%ªª_ÄÄ@rò2ÄÆ¦ªjd†$e¬vÖ¬YHJJ‚ŸŸ ..Ní뢢ªN_>dȳ¬lFƯ¸z5Íš5æ-Gô?ŒÕ/,,ÅÅ ­±ÚââtlÙ2ýûwµÊë²×®ÝFAÁÞØTCZÚO¸q# =zŒÁõë!-í'Å\HúbµŒŒ Ô¯_Ý»w7yESRÒáàP;¶å­FT cµæÃX-ÙƒíÛS°q㧨¬<‰?åÓlæ<@Ò«€ãÇ£²²îîîJ¥&¯èС3áêê¯ ÕòÅ—dO«5n&ŒÕ2VKšI$®Ø¼9 UOņcóæ$1x{ÿYk‘X-œ9sàêjžá~Ë-›ìz§¦ cµ†/c¬–øËÖI£>¶g‰ÕÞéÖ¶-Ÿ#"""ëb‘X-Põ7xê©§8e"""²*ŒÕ‰cµDÂ0VK¦b¬–D!EÍ3a„T윉¡3áþ„ûXÃfR˱Z8|ø06n܈ÜÜ\4jÔ¾¾¾4ho"""=‹Äj¯_¿ŽÅ‹ãîÝ»(//Gvv6V¯^S§N ^Ñóç¯ÀÏ/ 2™;cµd·ø“šó`¬–ÈxÚbµ ÛéÉÓÓ©©©j`þüùxøð!æÌ™ƒ½{÷âóÏ?Gee%"##¯èäÉ <ÅÅß!66‚§Ð'»Ý©‘áó༈4;{6?ÿ|çÎ]Rû¼2 _Yy±±ðõý˜HB´ÅjËÊʪ¾y:H$O$i¬Ã‡¿D·nPYY ©Ô:¼È-œìcµæ™cµDU´Åj†7ñI_¬644­ZµÂ¬Y³ðöÛoã³Ï>CëÖ­jú Ÿ|²ÂÃ7`ïÞåÜÂÉn0Vkžy1VKdX¬–ax Åj¥R)ŠŠŠÔ.óày¢‰ÙÙ‡ì‹ "¸•±Z!«%{¦/VË0¼ Húbµ+V¬@VV&Mš„¤¤$L˜0YYYX¾\ø£>AA ñûï×áääˆzõäHIIçVNÆj͉±Z²ºbµ Ûx€¤/V{ñâEÀ[o½™L†·ß~ðûï¿ ^Ñ÷ߌ1cæ@*íŠáÃ?BLÌ>>ðòòâĉˆˆHô«%1Æj‰„a¬–LÅX-‰CŠšg©:†Y9CgÂý ÷±†ÍäoˆÕ&$$`×®]ÈÍÍÅ‹/¾ˆ & }ûö¼EˆˆˆHô,«MLLDdd$²²²ððáC\¸p3gÎDff¦É+¼}û>¾Sƒìߺ]sŒÕgîÜMjoã_»Vó³GgÏþŽ_ôFee% ¸XŸ¨[·z÷‹S§.¨¾öرS˜—^zרȭÐËÕA UÕN›6­ÆòÝ»w¦OŸŽž={"..Û¶mî]»$xe¯\¹…åËc¸u“Ýâ/5ç¡ë ˆó"ª),l ÂÂÆè½ÿ„†®ÂG†D",_™3ìì<,Y²]º¸ÆŽ‹'¶àÉ'ë#=ý<<&tÊ¡—« ‰Õfeezõê™L¦z{ÿ¹sç¯hYY9fcíÚ¹u“Ýa¬Ö<ób¬–È0ii?áêÕLŒ=Hõ¹7²àæö2¤R<ýtÕ#KPPðO>Yàîþ<(6èÿz9Ñ é‹ÕÖ¯_ueSSS¡P(pèÐ!À;w¯èìÙk1hP/ÕÑ*‘=a¬Ö<ób¬–È0¡¡+1oÞ$88<:LHIùNíkÒTÿ¾};[Ðÿ#ôr¢=@Ò«íÑ£`åÊ•ðòòŠU¿Å( Á+ºfM<¦O_®ÚÌæLÆj…`¬–H»]»C"‘¨=º o¨}øà yóæ&¯°ò$¾ø’ì cµÆÍ„±ZÆjI»¯¾Ú£ö³téÒ(Õ²ЦͳèÕ«KËÀüù[P¿~Oøù…aРGçÚ±ã¿èÓg,ärwx{‡ 9y)¤RÕònÝF¡kב5¾§¾Ëý,«2e ®^½ŠO>ù;vÄW_}…ÊÊJtéÒÅl;"{ÂX­q3a¬–H»Q£ÞÁ¨QïÔø|EE.ÜŠÝ»¿Ðx¹ºueøúëE—½ûn_”–žÐúþðÃW‚.guHúbµ...¸pá>ùäÕe6lˆÿûßÜ2‰ˆˆD¨N:¸|9ƒPÎCÈ…”±Ú-Z@*•¢uëÖWÅjáéé ¹\™L†nݺaéÒ¥hܸ1'NDDD¢ÇX-‘ˆ1VK$ cµd*ÆjIRÔ<FHÕ1ÌÊ™:îO¸5l&fŽÕÀÍ›7±víZœ={R©ýû÷Ǹqã •V}Ëôôtlܸ·oßF‹-0f̸»»ó!"""5¥¥áää(ªuô¤{÷îaêÔ©øá‡PRR‚ÂÂB$&&bóæÍ€?þøááá¸qãÊÊÊpýúu„‡‡ãòåË&­¬2¬'—»ãôé‹Ü¢Èîð]œ5çÁX-‘qÄ«ýñÇó ‹D³f¢›“ ¤øøxäççÃËË III˜3gd2~ùå@bb"***0pà@$&&bÀ€¨¨¨@RR’YvˆÅÅéèܹ·r²;|·qó༈j £vάqã†hü:m±Ú‚‚cˆ@LLªêkÇŽ‹e˦áÒ¥ÝHK[ÃÎÇææö2æÎˆ¼¼û¶q€têÔ)H$@&“¡{÷îHJJÂòåË¿þú+€ªÓÈårŒ1pþüyn™D0Vkžy1VKd˜ÚŠÕŠ™ ¤ÌÌL4hÐëׯ‡——†ŠÈÈHUkíîÝ»€¦M«v.Íš5Sû¼PÎÎNH\zøŽÈ0Vkžy1VKd˜ÚŠÕŠ™ i+ cÿþýªP^^Ž   Õ’2=¢|ávII‰I+[R’¸~ý/´i3X´gß$ªMŒÕ/,,´Æj•­Ç¢¢«¼~!!Kx#“`æŒÕ*Ÿž³F‚ArrrP•INNÆÄ‰ÇW[^VV¦ö·)±ZWW,Z´yy÷ñÓOŒq)1Vk>ŒÕ’½«íX­Í =õÔS€7ß|ÎÎÎ8p àþýªY5iÒpçΞZS^Nˆ¨¨¹Ø»÷8žzêÍ‹Ù:Æj› cµŒÕ’vbŠÕ*ßI÷ø¿Å@ÐSl¯¾ú*nܸøøxøøøàرc½æÈÅÅ™™™ˆŽŽÆÄ‰±sçNÀ+¯è¿mÛç–¶Ž[6Ù%Æj› cµDÚ‰)V+æyAH>>>8tè¶nÝŠ­[·Vлooo9rÀðööæ–IDD$BŒÕ>6!jÙ²%,X€víÚA*•¢iÓ¦7nœê¨}ûöøì³ÏðÜsÏA*•â¹çžÃ§Ÿ~ŠÖ­[sâDDD$zŒÕ‰cµDÂ0VK¦b¬–D!EÍ3a„T윉¡3áþ„ûXÃfò7Äj• áïï 55•·‰žEbµJ¥¥¥ˆˆˆÀƒ̲²Û¶íƒƒCWH$®èÔÉ·Ù¾u»æ<«%2Ž˜bµÑÑT?×ÅVɰH¬¨ê®ãäIóì âââèÑŸPPp••'qæL·r²;|·qó༈jS¬vâÄùسg*+O"66¾¾[÷’¾X-|øá‡¸rå ‚ƒƒÍ²¢f`ÆY¨WOέ›ìcµæ™cµD†©­Xí½{G0p ; _?7DFЧh‘X-¼ôÒKX°`Þ~ûm“W²´ô!ärgŒ=uëö€DâŠÈÈ8nÁd7«5ϼ«%2LmÇjóó QRRŠÀ@ñœ/QÐ’B¡@~~>öï߯úwBBÖ­{t¦ëÕ«W£S§NfYÉsç.açÎoп¿rr£¬,ƒ[/Ñÿ0Vk¼°°H+´Æj‹‹Ó±eËlôïßÕ*¯_HÈ\»vxc“ÑÌ«5DFƯ¸z5Íš5Õ,«5·[·îÂÁ¡<<Þ€\îŒÒÒ‡¸pá*·b"0VkNŒÕ’½«íXmJJ:ê cǶ¢›…EbµææíÝAA¾hßÞr¹;êÖí—¸%“Ý`¬Ö¸™0VËX-i'¦XíС3áêê¯ö®:±°H¬Öf̉3FrË&»ÄX­q3a¬–H;1Åj ¿íœ,«%"""ëÂXícór!}±Z""""kÆX-‘ˆ1VK$ cµd*ÆjIRÔ<FHÕ1ÌÊ™:îO¸5l&C¬öСCˆŽŽFff&6lŒ9¼UˆˆˆHÔ,«ýî»ï°`Á\¿~eeeÈÉÉAtt46nÜ(xE«¿P"q…TÚ•·Ù¾u»æ<«%2Ž˜bµçÏ_Ÿ_d2wûˆÕîÚµ àç燤¤$L:°ÿ~³ì ¯]ÛƒçŸoέœì߯mÜ<8/¢šÄ«„;¿Á„ HHX,Š9X4V{ñâEÌœ9EEEF›6mL^a>zD¤Ž±Zóa¬–ì]mÇjƒ‚â÷߯ÃÉÉõêÉ‘’’.šYX,V{éÒ%Ìœ9<@PP<=Íóš¡ÄÄ£ðõõàVLv…±ZãfÂX-cµ¤˜bµï¿?cÆÌTÚÇ„˜˜y¢™“Ebµyyy˜5kŠŠŠ0zôh¼óÎ;f[áß~‹çÖMv‡±ZãfÂX-‘vbŠÕvìØÇoåœ,«ŠŠBnn.`óæÍªó#@jj*·N"""‘a¬ö±y¹¾Xí·ß~ËÉ‘Õb¬–HÄ«%†±Z2cµ$ )jž #¤êfåL ÷'ÜÇ6“ZŽÕVVVb×®]Ø·oþúë/4jÔžžžxï½÷«%"""ѳH¬6::ëÖ­ÃÍ›7QVV†»wïbûö툌Œ¼¢fÀÉé H$®przfðÖ#»Ã·nלcµDÆS¬Viûö}¢{¦EbµgΜ\.ÇôéÓ±wï^DDTÊß”w°ùù…áÚµ=ªXí{ï}­œì߯mÜ<8/¢šÄ«€+WnaùòÑÍÉ"±Ú… "11 €D"A~~>àé§Ÿ¼¢-[6U%ÊÊÊñÌ3Oq+'»ÁX­yæÅX-‘aj+V[VVŽ€€ÙX»öcÑÍ@ÐkªÇj9™L†¾}û"00ÎÎÎj_;iÒ$üùçŸhܸ1þïÿþOðŠ††`üøyxñÅ–¸xñfÎÅ-˜ì†2¾ªéiÛ¶Ï1iÒ|œ9ó;:wn‡mÛÂíòÄ‘†ÌKù9e¬ö­·Ü'§ªÆÔŽÿÅÊ•±ˆMÅðáX³&ƒ…XÍõV^?e¬öÞ½ÞyHàÏ\Ãbµ‹«={- ê….]\lãɘXíÝ»wEEEÈË˼¢~¸W®$A&sÂ;¹èÒå?>œÉ"ÆjÇX-‘vµ«]³&¹¹˜>½ê¨€€G÷¿¿›EcµU¿‘íÀôéÓQRR‚M›6 ^Q''G”——êÕ“«5^ˆìcµæÃX-Ù»ÚŽÕæäV{:\,G‚ôÅjCCCáãボœÈårôêÕ pãÆ Á+ºti5ê ‰ÄõÅÒ¥!Ü’Én0VkÜL«e¬–´S¬V©úúˆ…Ebµ(((@ll,‘œœ À´ië áÙ2Æj› cµDÚ‰)VûøÁ½˜X$Vëç燳gÏ"!! Âw#FŒà–IDD$BŒÕ>6!Ò«íÔ©>ùä<ûì³J¥xöÙg1cÆ 0€'"""Ñc¬–HÄ«%†±Z2cµ$ )jž #¤êfåL ÷'ÜÇ6“ZŽÕV—››‹1cÆ ¨¨È¤ÔQm±H¬¶ºµk×¢¨¨Èäݽûˆ*V+‘¸âóÏ7ðÖ#»Ã·nלcµDÆ[¬V¹r¹;NŸ¾hÝHúbµJgΜÁ‘#G̲¢Ã‡„ØØTVžDqq:6|B­Cdø6nãæÁyÕ$¶X­r=Š‹Óѹs;ë>@Ò«€²²2¬\¹-Z˜7œYQQ_ý;w~£÷æD¶‚±ZóÌ‹±Z"ÃÔV¬VÌ UÕzyyaèСˆŒŒ„B¡P}M\\nܸ‘#GšeEcc#0|øG¨W;wZµz†[0Ù e|U“mÛ>ÇÌ™+вåÛøè£Uض-œóÒ2/åç”±Zå#ÓJ;vükÖÄ£aÃÞØ¸1kÖ„ZÕõV^?e¬vøðxç!A Õ* Õ€³³$W£Ÿš³4‹Äj³²²…Ö­[£oß¾˜?¾É+úøY:GâÛŸ‰Æj…`¬–H»ÚŒÕ@II:àúõ¿Ð¦Í`ÑT3,«]½z5 Fm¶§ÁrròUÿž3gúõsãVLÆj͉±Z²wµ«uuõÇ¢E[‘—w?ý$®}—Ebµ'NTýÍš5 ÕŽ>=¯è¿þŒæÍ=Ñ«×pt”jìÈÙ*Æj› cµŒÕ’vbŠÕFEÍÅÞ½ÇñÔSoÖxÊûïf‘X­%œ8±…[5Ù-Æj› cµDÚ‰)VÛ¶ísHK['Ê9Y$Vûø !•ñD‘DDDâÄXícór!}±Z""""kÆX-‘ˆ1VK$ cµd*ÆjIRÔ<FHÕ1ÌÊ™:îO¸5l&µ«ÍËËðaÃ4^ÎÔ×!•–>„““#oY"""²‹ÄjÿüóO³¯è?žGXX$š5«yªS"yDÖ„oÝ®9Æj‰Œ#¶Xí¶mûààЉ+:uòÍœ=‚T=VûÁàôéÓˆˆˆPÅj•Hžžž˜6mšYVÔÍíe¸¹½Œyó6ÕX6vì\œ8±O>Yééçàá1 ……ßò^@6‡oã®9]AœQMaac6FïýG[¬6&&ÙÙyX²dºtq1éçp\ÜA=ú Ž¢^=¹¨æd‘X­òéäÉ“ðòò‚ŸŸ’““-v%l1’GTcµæ™cµD†©­XíÁƒذa–èŽ é‹Õ^½z““…Bììl¬\¹iii¹¦Dòˆ¬cµæ™cµD†©XmiéCÈåÎ=zêÖí‰Ä‘‘qÖ}€¤P(ŸŸýû÷«þ€uëªÎ†)“ÉРAÌš5 IIIðó«zN1.®ö®xõ#["[ÆX­ñÂÂ"Q\¬Ð«-.NÇ–-³Ñ¿W«¼~!!KpíÚm<àMF3g¬V—sç.açÎoп¿rr£¬,CTs°H¬vÑ¢EˆGÏž=!“Éàëë àÑ#Kæ&4’Gd «5ÆjÉÞÕf¬öÖ­»pp¨7 —;£´ô!.\¸*šYX$V‚!C† ;»ê!·ŠŠª!9: {¾òÕöÿÐÉ#²vŒÕ7Æj«%íÄ«õöî  _´oï¹Üuëö€‹Ë ¢™“EbµŽŽŽ(,,ÄöíÛ1aÂÄÆÆ:tè`ò_}‘<"kÇX­q3a¬–H;1Åjg̉3FŠrN‰Õ6 gΜÁ¾}û°oß¾ªÿH*…¿¿?·L"""b¬ö±y¹¾Xí믿ŽÐÐP´hÑR©­[·Fxx8Úµklj‘è1VK$bŒÕ ÃX-™Š±Z†5Ï„Ru ³r&†Î„ûîc ›I-Çj Y.”®X-C¶DDDd‰Õê[.„®X­®eD¶„oÝ®9Æj‰Œ#¦XmõõH\!•Šç䬂ªÇj“’’0gÎÈd2U¬Vßr!ÜÜ^ÆÜ¹‘—wߨeD¶„oã6nœQMaacÔΙ5nÜ_§-V[Pp ±±ˆ‰IU}íØ±s±lÙ4\º´iiëàïoøùØ”¿è\»¶Ï?ßܺôÅjõ-'"ã0Vkžy1VKd˜ÚŠÕV¿FGÀˆžÖ}€¤/V«o9‡±ZóÌ‹±Z"ÃÔF¬öq;v¤à½÷Šf‚^1­P(P\\Œýû÷«>NHH@yy9‚‚‚ô.'"óa¬Öxaa‘ 5V»eËl@QQ‰U^¿%¼‘I0sÆj•OÏéóóÏ—!•: }ûV¢™ƒEbµú–‘ù0Vk>ŒÕ’½«ÍXmub{ôHð’¾X­¾åBèŠÕêZFd «5n&ŒÕ2VKÚ‰%V[]bâQøúŠëè‰Õê[nÊߨeD¶€±ZãfÂX-‘vbŠÕ*ýö[¼èæd‘X­¾åDDD$.ŒÕ>6!Ò«Õ·œˆˆˆHÌ«%1Æj‰„a¬–LÅX-‰CŠšg©:†Y9CgÂý ÷±†Í¤–cµÚ_‰žššjÒb–ˆˆˆ,Í"±ZKФŽ>‡®H\ŠäY¾c³æ<øW"ÃUÃjúøÀïÑªÕ 4lØ+WÆ¢yóGé]Ëx€ô?úb´©©©ª?qqqhÒ¤ *ü´ýº‚´'ÎÇž=ËPYy±±ðõý˜÷²Ù>΋¨æ/ >üü£€[·Rð -PQñ#`ôè9HJZ‚ììCh×îy>jªéZƤÿ1&F»zõjäää`Ú´ièׯŸE®Ä½{G0p ; _?7DF†ò^@6…±ZóÌ‹±Z"àå—[ã—_þÄÆ~ƒ¡CßT%AêàâÅk¨¨¨€‡Ç¸ÿ˜êrº–ñé ÑþöÛoHKKÃ+¯¼b±ƒ£êòó QRRŠÀ@žN€l cµæ™cµD@‡/â—_ªúÑÑûÕÎ`’²ÑÑðôÓž2d:NžÖ°™Ôr¬>Œ7"775‚¯¯/ dòb¬–ˆˆHœlég´Ebµ×¯_ÇâÅ‹q÷î]”——#;;«W¯Æ©S§¯¨®XíùóWàç™Ì±Z²i|ëvÍy0VKdœ¹s7©gíZÍÏ=û;^|Ñ•••€âb||f nÝèÝ{,Nº`ÐÏh]Ž;…€€Ùxé¥wE÷óÛ"±Úùóçãáǘ3göîÝ‹Ï?ÿ•••ˆŒŒ¼¢ºbµ“'/Dpð‡ØØž^Ÿl߯mÜ<8/¢šÂÂÆ¨3kÜ8͵‹ÐÐUøè£ÑªB._™3PPp ±±ˆ‰I5èg´.cÇÎŲeÓpéÒn¤¥­ƒ¿¿xÎãf‘XmYYYÕ7¯S‰GGË<ìvøð—èÖ­*++!•: C‡y ›ÂX­yæÅX-‘aÒÒ~ÂÕ«™=úÑKcnÜÈ‚›ÛËJðôÓMT,™¢ àž|²>ÀÝý5}ÆB.w‡·w’“—B*uÅœ,«ýÇ?þ[·n!)) ƒ BJJ  Q£F&ßñ5騱-ŽßÈ­žlcµÆÍ„±Z"íFz£F½SãóX¸p+vïþBãåêÖ•áë¯ý3~øá+Ÿ÷ݾ(-=!Ê9Y$VëííÈÈH¬_¿ëׯW»‰O:upùr¡œ‡ é‹Õ<ãÇG‹-ààà€æÍ›#((H-fKDDD$VŒÕ‰cµDÂ0VK¦b¬–D!EÍ3a„T윉¡3áþ„ûXÃfò7Äj°k×.äææâÅ_Ä„ о}{“¯cµDDDâ$ôg´¶[$V›˜˜ˆÈÈHdeeááǸpáfΜ‰ÌÌLÁ+jHoûö}|Ù4¾u»æ<«%2Ž˜bµB/'Ú$}±ÚÝ»w¦OŸŽ¤¤$øûû£¤¤»ví¼¢úBxW®ÜÂòå1ÜòɦñãæÁyÕ$¦X­ÐˉöI_¬6++ ЫW/Èd2ÕÛûÏ;g‘+QVVŽ€€ÙX»öcnùd“«5ϼ«%2LmÅjÅÌ"±Úúõ«N?žšš …BC‡îܹc‘+1{öZ Ô ]º¸p«&›ÄX­yæÅX-‘aj+V+f‰ÕöèÑ{÷îÅÊ•+±råJµËYš5ñÈÍ-ÀôéU`<ŠMÙ:ÆjÇX-‘vw¬V,,«?~<¼½½Ñ A8;;ÃÓÓ 6„L&³È•ÈÉ9¬öp:ŽÈž0Vk>ŒÕ’½«íX­Í é‹Õ:;;cÒ¤IˆGrr2>øà yóæ‚WT_OùùêÙ Æj› cµŒÕ’vbŠÕò³ýïb‘Xí”)SpõêU|òÉ'èØ±#¾úê+TVV¢K—.&ßñMý"kÄX­q3a¬–H;1ÅjÅüsÛ"±Z\¸pŸ|ò‰jYÆ ñïÿ›[&‘1VûØ<„\H_¬600žžžËåÉdèÖ­–.]ŠÆsâDDD$zŒÕ‰cµDÂ0VK¦b¬–D!EÍ3a„T윉¡3áþ„ûXÃfbæX­‡‡öfJjjÕ©ÇÓÓÓ±qãFܾ}-Z´À˜1càîînòb¬–ˆˆHœlégtK|Ó?þøááá¸qãÊÊÊpýúu„‡‡ãòåË‚¿§¾ òír¹;NŸ¾È­”lß©YsŒÕGL±Úèèppè ‰ÄNNo`÷î#Ö}€”ššªú‡&MšÀÑÑ¡¡U§åOLLDEEˆÄÄD 0HJJ¼¢†í*+O¢¸8;·ã=€l߯mÜ<8/¢šÄ«8q>öìY†ÊÊ“ˆ€¯¯xšª&?‚´zõjäää`Ú´ièׯà×_ 6 r¹#FŒœ?ž[&‘ŒÕšg^ŒÕ¦¶bµ÷îÁÀU/¿é×Ï ‘‘âéšt€ôÛo¿!-- ¯¼òŠêàîÞ½ àщ#›5k¦öyKpvvåCtDæÀX­yæÅX-‘aj;V›Ÿ_ˆ’’Rz‹fRS.Uuzò!CÔžSFi«^¨%•Vý7%%– ?–”¤®_ÿ mÚ Fié nád«5cµDÚÕv¬6#ãW8;;¢cǶ¢šƒàG²³³‘‘‘úõë£{÷îjË”1Û²²2µ¿-«uuõÇ¢E[‘—w?ýÄP'ÙÆj͇±Z²wµ«MII‡ƒCÑ™t€tüøqTVVÂÝÝ]õ‘R“&MwîÜðè©5eäV]A»¨¨¹Ø»÷8žzêÍ™ÙÆj› cµŒÕ’vbŠÕ:®®þjïª ÁO±9sàêZóʸ¸¸ 33ÑÑј8q"vîÜ xå•WL¾ãkÒ¶ísHK[Ç­žlcµÆÍ„±Z"íÄ«-,üV´s|€ôçŸþïà¤æÃbÞÞÞ8rä8€T­6"""Æj›‡Ð æääÐü´YûöíñÙgŸá¹çžƒT*ÅsÏ=‡O?ý­[·æÄ‰ˆˆHô«%1Æj‰„a¬–LÅX-‰CŠšg©:†Y9CgÂý ÷±†ÍäoˆÕ*Âßß<¨±LÆj‰ˆˆÄ‰±ZƒUŠˆˆUð®S'?n¥d“øÖíšó`¬–È8bŠÕž?~~aÉÜí#V[u¥Ï#88'Ošg¥+„wGþ„‚‚£¨¬<‰3g¢x ›Ä·q7΋¨&1Åj'O^ˆàà(.þ±±¢ÊãX$V ~ø!®\¹‚àà`‹_‰ƒ3°aÃ,Ô«'ç–O6‰±ZóÌ‹±Z"ÃÔV¬öðá/Ñ­[TVVB*u@‡/ÚÆ’¶X-¼ôÒKX°`Þ~ûm‹^ÒÒ‡Ë1zôÔ­Û‰+"#ã¸u“Ma¬Ö<ób¬–È0µ«}òÉ>߀½{—ÛÆ’¶X-PõÈR§N,~λ„;¿AÿþnÈÉ9Œ²² nÙdW«5^XX$Š‹ZcµÅÅ騲e6ú÷ïj•×/$d ®]»‚‚¼±Éhµ«€ììCöÅ„ âI…Y$V[›nݺ ‡:ððxr¹3JKâÂ…«ÜÂÉn0Vk>ŒÕ’½«íXmPÐBüþûu899¢^=9RRÒ­ÿIW¬Ö´…ð¼½{#(ÈíÛû@.wGݺ=àâò·r²)ŒÕ7Æj«%íÄ«}ÿýÁ3f¤Ò®>ü#ÄÄÌÍœ,«µä_“3FbÆŒ‘ÜêÉf1VkÜL«%ÒNL±ÚŽÛâøñ¢œ“EbµDDDd]«}lB/¨+VKDDDdÍ«%1Æj‰„a¬–LÅX-‰CŠšg©:†Y9CgÂý ÷±†ÍäoˆÕ:tÑÑÑÈÌÌDÆ ááá‘#GÂÁÁÁ¤+ÄX-‘81V«Çwß}‡ àúõë(++CNN¢££±q£ðWªë áUîI$®J»r+%›Ä·nלcµDÆS¬Viûö}¢{¦Ebµ»víøùù!)) S§Nìß¿_ðŠê á)w”×®íÁóÏ7ç=€l߯mÜ<8/¢šÄ«€+WnaùòÑÍÉb±Ú'žxC‡…L&Cß¾U§+///·øoÕÑÑ0b„'ïdS«5ϼ«%2LmÅjËÊÊ0k×~l[HÚbµK–,Á×_zõê~øáÀk¯½fñ+´cG Þ{o ·n²)ŒÕšg^ŒÕ¦¶bµ³g¯Å A½Ð¥‹‹èf`R#DW¬VéÒ¥KX¶l¤R)FeÑ+óóÏ—!•: }ûVܺÉn0Vk¼°°HЫݲe6 ¨¨Ä*¯_HÈÞÈ$XmÆj׬‰Gnn¦O_ *÷£¼ÿýÝ,«½xñ"fΜ‰¢¢"£M›6½2|ôˆìcµæÃX-Ù»ÚŽÕæäV{:\,G& é‹Õ^ºt 3gÎăOOÓ^¤/„‰‰GáëëÁ-œlcµÆÍ„±ZÆjI;1Åj«_¾úßb`‘Xm^^fÍš…¢¢"Œ=ï¼óŽÙîøºüö[<·|²IŒÕ7Æj‰´S¬Ö˜ŸñVs€¤+V…ÜÜ\ÀæÍ›±yófÕ2å‰$‰ˆˆH<«}lB/¨+Vûí·ßr²DDDdµ«%1Æj‰„a¬–LÅX-‰CŠšg©:†Y9CgÂý ÷±†Í¤–cµ•••صköíÛ‡¿þú 5‚§§'Þ{ï=Æj‰ˆˆlcµzDGGcݺu¸yó&ÊÊÊp÷î]lß¾‘‘‘‚¿§®ÞÁƒprz‰+œœÞÀÁƒÜJÉ&ñ­Û5çÁX-‘qÄ«U®‡\îŽÓ§/Z÷’¾Xí™3g —Ë1}útìÝ»ªË ¥+„çç†k×ö¨bµï½÷ ïd“ø6nãæÁyÕ$¶X­r=Š‹Óѹs;ë>@ªNS¬váÂ…HLLÄ€ ‘HŸŸxúé§-r%Z¶lªÊ”••ã™gžâ=€l cµæ™cµD†©­X­˜Y$V[ݤI“0þ|4nÜÿ÷ÿg‘+€ñãçaæÌ Zˆ™3Gqë&›ÂX­yæÅX-‘¡?Wk'V ÎÎNª—ÈìÞ}D43°x¬öîÝ»€¢¢"äååYäJ|øáb\¹’™Ì wîä¢K—ÿ`øp&GÈ>0Vk<Æj‰´«ÍX-””¤®_ÿ mÚ Fié QÌÁ¢±ÚªßÈv`úôé())Á¦M›,r%œœQ^^¨WO©Ô[8Ù Æj͇±Z²wµ«uuõÇ¢E[‘—w?ý$®}—Ebµ¡¡¡ðññANNär9zõê¸qã†àÕÂ[º4õ…DâŠFúbéÒnådS«5n&ŒÕ2VKÚ‰)V5{÷ÇSO½Yã)ï¿›Ebµ(((@ll,‘œœ À´i뺳¿ûn_Ñ<$Gd ŒÕ7Æj‰´S¬¶mÛç–¶N”s²H¬ÖÏÏgÏžEBB…ïFŒÁ-“ˆˆH„«}lB/¨+VÛ©S'|òÉ'xöÙg!•Jñì³ÏbÆŒ0`'NDDD¢ÇX-‘ˆ1VK$ cµd*ÆjIRÔ<FHÕ1ÌÊ™:îO¸5l&µ«­.77cÆŒAQQ‘I©%Æj‰ˆˆÄ‰±Z#¬]»EEE&]!¼Ý»¨bµ‰+>ÿ|·R²I|ëvÍy0VKd±Åj·mÛ‡®H\Ñ©“Ÿu é‹Õ*9sGŽ˜ç´áºBxÊs'(cw >aó²O|·qó༈jS¬6.î Žý GQYygÎDY÷RušbµPVV†•+W¢E‹Ú gVTTà×_ÿÀÎߨnP"[ÀX­yæÅX-‘aj+V{ð`6l˜…zõ䢛Åbµqqq¸qãFŽiñ+áÃ?B½zÿÄܹ›ÐªÕ3ܺɦ0Vkžy1VKd˜ÚˆÕ––>„\îŒÑ£ç nÝH\gHÚbµYYYˆŠŠBëÖ­Ñ·o_‹_ å™´‹‹Óñõ׋P§="ûÁX­ñÂÂ"Q\¬Ð«-.NÇ–-³Ñ¿W«¼~!!KpíÚm<àMF«­Xí¹s—°sç7èßß 99‡QV–!ª9X$V»zõj( Œ=ºVžêÊÉÉWý{Μuè×Ï[8Ù Æj͇±Z²wµ«½uë.êÀÃã ÈåÎ(-}ˆ ®Zÿ’®Xí‰U]´Y³f©@×éôÑÂû׿‚Ѽ¹'zõúŽŽR"kÆX­q3a¬–±ZÒN,±ZoïÞ òEûö>ËÝQ·n¸¸¼ š9Y$VkÉ;¾&'NláO6±ZãfÂX-‘vbŠÕΘ13fŒåœ,«}ü„ÊGŽÌq¢H"""2?Æj›‡Ð êŠÕY3Æj‰DŒ±Z"a«%S1VK¢À¢æ™0BªŽaVÎÄЙpÂ}¬a3©åXm^^† ¦u9ÙÆjõP¾€Ûœ¢£¨bvNNo`÷îG·cÇN! `6^zéÝˈl ߺ]sŒÕGL±Úêë!‘¸B*ÏÉY=‚TýQ üü|Œ?˜6mšÚ’§§§ês¦š8q>öìY†ݱ{÷øú~ …â{ÀرsqâÄ<ùd}¤§Ÿƒ‡Ç$~Ë{Ù¾»æ}ÆB.w‡·w’“—B*uà–N6ƒ±ZãfÂX-cµ¤XbµÕ%&…¯¯‡¨æd‘X­££# ±}ûvL˜0±±±€:^Q]ïJ{÷ݾ(-=Á­žlcµÆÍ„±Z"íÄ«Uúí·xÑÍÉ"±ÚaÆáÌ™3Ø·oöíÛWõI¥ð÷÷ç–IDD$BŒÕ>6¡Ô«}ýõ׊-Z@*•¢uëÖG»ví8q"""=Æj‰DŒ±Z"a«%S1VK¢À¢æ™0BªŽaVÎÄЙpÂ}¬a3©åX-ܼyk×®ÅÙ³g!•JÑ¿Œ7®Æ;ÞÌÉ–"yDDDô÷±H¬öÞ½{˜:u*~øá””” °°‰‰‰Ø¼y³àï©+V+4’GdmøÖíšó`¬–Èx‰+^{Í·Æç7ñ)55Uõ'..Mš4££#BC«NËüü|xyy!)) sæÌL&Ã/¿ü"xE•±ÚÊÊ“ˆ€¯ïǪenn/cî܉È˻ϭžl~§F†Ïƒó"ÒììÙhüüóeœ;wIíócÇÎŲeÓpéÒn¤¥­ƒ¿ÿ§v;#‹ÄjO:‰D‚€€Èd2tïÞIIIX¾|¹àÿGW¬–ÈÖ1Vkžy1VKTeûö4nÜÛ·§¨}žñw3 i‹Õfff¢AƒX¿~=¼¼¼0tèPDFFB¡P˜¼ÂšbµD¶Ž±ZóÌ‹±Z¢ªBÆÄ@rò2ÄÆ¦ªjãïÕY$V«P(P\\Œýû÷«>NHH@yy9‚‚‚ÿÆÄj‰ìcµÆc¬–ìYZÚO¸q# =zŒQ}ܯŸ›Ö¯·×ø»EbµNNN€)S¦ 99'NPÕoJW¬–Èž1Vk>ŒÕ’=ؾ=7~ŠÊʓظñSµ§Ù7Ã’®X­òìÚo¾ù&œ1p`U¡÷þ}á/¢Ö«ÕÉ#²vŒÕ7Æj«%Í$WlÞœ„ÀÀª§âñys’êç&ãïX$VûꫯâÆˆ‡Ž;hÚTø uÅj¹# {Ø©iÃX­áË«%þ²uRçÇŒ¿›áIW¬ÖÇLJÂÖ­[±uëÖjƒ—'"""ѳH¬¶eË–X°`Úµk©TЦM›bܸqðöæ;ψˆˆHü«%1Æj‰„a¬–LÅX-‰CŠšg©:†Y9CgÂý ÷±†Í¤–cµ†Äl‰ˆˆˆÄªŽµ¬¨®X­®eD¶„ïØ¬9Æj‰ŒsàÀ÷hÕj6ì•+cѼ¹§jYfæ]ôêõ4èOÏÉxúéGxh:ÍŽ-ôRõGòóó1~üx`Ú´i-B«8лw¯ïÇP(¾×»ŒÈ–ðmÜ5ç¡ë ˆó"ªiôè98p`\\^À‘#'QXø¨·6uê|òI úõsÃ?þŠ·Þ Rû…Cß}ΖX$VkÌrCéŠÕ2dK¶Ž±ZóÌ‹±Z"ÀÁ¡.^¼†ŠŠ xx¼û÷©–¥¤|‡ž=;C*u@÷î¯!?ÿ¨ÝÎÉ"±ZC— ¡+VË-Ù*ÆjÍ3/Æj‰€””•ˆŽ>€§ŸöÄ!ÓqòäyÕ²û÷‹ —;sH°P¬ÖÐåÆÒ«eÈ–ìcµÆc¬–ìY‡/b×®…(++ÇÁƒ?ÀËk*nß>hØð äää£I“†ÛòÓm‰Õ²Üø#^í±Z†lÉž1Vk>ŒÕ’=hРÌ€D"Á«¯¶D"Q-{ÿýÁذ!•••HN>††Ùíœ?‚¤+VkÈrc :«}Nyäªk‘-x<Īüí ¨ŠÕnÙ2:µÅéÓí*V«m&Ú–U¹jú8 `66mú_|ñ!rs wS¦,²º™<>¢êär.^¼Šÿ{:êׯ‡uëÂTËæÎˆñã#м¹'ž~úˆ‰yôtõ(<tЫ5d¹±tÅju-#²ŒÕ7Æj‰´Ëʪz§ù¤I5rvvÂæÍŸéý¥Ä~ŠMW¬ÖåDDDD6w€¤+VkÈr""""±b¬–HÄ«%†±Z2cµ$ )jž #¤êfåL ÷'ÜÇ6“ZŽÕÀáDZqãFäææ¢Q£FðõõÅ Aƒx‹‘èY$V{ýúu,^¼wïÞEyy9²³³±zõjœ:uJð÷Ô¤=þ üü “¹3VK6§¯¨9Æj‰Œ£-V[=F«íg©DâŠ×^óå’6©©©ª?qqqhÒ¤ ZuZþùóÿ¿½» ‰"ãþ]v-SLèLƒÓ"[’^H‚†÷Â0 L¶Œ(ÉÂR‹è.º8ô¤“èu»“lÂÛ;ÃP{@¨^dæ×¬™Grµ+êν0'݇Ñw9™ý~À³#úç7ÿÙýíwæû ¦§§Q]]ŽŽœ?¢(¢®®Nñ@çiEñ ŒÆ‹ÈË;-í;|øŽýËCy{}R-^Æí^=X/"GTC®`|¼ qqÑRXíÂûhuuÕãØ±+MÒ³g-xþüOô÷ÿÁi)ÎÂhgffæþ¸Ÿ4 l6 00Pñÿ‘ ¤½wïìØ± ¢(" ÀÛ¶mæ@ªÂ°ZÏÔ‹aµDòaµóvîü ÿä°àÐÔdBDÄZ45™Ø ÉqF[^^Ž˜˜œ9séé騬¬Dll¬´Â´r´ëÖí¹s?¢££†g© Ãj=S/†ÕɇÕ.´~}8¦§g¤m›Í†ÖÖßqçÎ÷0;¥ÅµòJXm@@>~ü¸è±>¬x°KÒŽwáæÍ»()¹ˆööïxO`X­ûVK¾L.¬Ö~AbáùÑÝý¯_›‘”T(m§¦&ª¶N^ «½zõ*Ìf3 A@II Ìf3jj”¯ìÈÒ9r CCA« DHH0L¦G<Èg0¬ÖsVK¾@.¬vÞ£GýHLÜ¿h…µ©É„ÆÆ³Å'hl<«úÙ¼VûòåKÀž={ ÓéžžŽúúz )¨\ íÁƒÙ(,¬F_ßsøùù-: DjÀ°Z÷j°Z†Õ’k®Âj†ÑÀh¼(}Go~ßõë 3QTtNÚVëÕ¢^ «ŒŒÄèè(A@ff&L¦¹.3´ «¥UóŽÇÚ±& !]ŒÁ¬ÎëÁsÇù¹Ãºð9véšüaµíííhkkÃÄÄ6oÞŒ’’lÙ²…G„ˆÈ 4šbàÇjä1^ «½}û6êêê`6›1==ÁÁAœ©Ãj=S/†ÕÍe± Ìå7¶´ü†¼<çß+¶«]î>µðJXmRR:::P[[‹ÚÚZéñ©©© ÖUXm}ý/˜˜˜DYÙ\Ö[AÁç°I"µcX­ûVKl†1<ü7&'?¸\\°«]î>µðJXí¡C‡••…µk×B§Ó!-- aaa Rýh4TVV:ÜšÈ]Ф . ::>Äýû÷‰Ë—/Kû[ZZƒ¾¾>twwcÆ 8qâ+NDDDêmL&òóóŒàà`ìß¿‚ Hû{{{±k×.hµZ„„„ 77}}}°Ùl¬:­jНb›…(ŠÒ¶¿¿ÿ¢ØFFF°qãFi;<<\Z%""ò†…ßA"Z Å+H©©©hnn†ÅbÕjEss3vïÞ-ퟘ˜@hèç+´Z­ÔH­fÿÌÜÓoX#¢IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/tragesym/template2.txt.src0000644000175000017500000000347613634703632020625 00000000000000# This is the template file for creating symbols with tragesym # every line starting with '#' is a comment line. [options] # wordswap swaps labels if the pin is on the right side an looks like this: # "PB1 (CLK)". That's useful for micro controller port labels # rotate_labels rotates the pintext of top and bottom pins # this is useful for large symbols like FPGAs with more than 100 pins # sort_labels will sort the pins by it's labels # useful for address ports, busses, ... wordswap=yes rotate_labels=no sort_labels=yes generate_pinseq=yes sym_width=1400 pinwidthvertical=400 pinwidthhorizontal=400 [geda_attr] # name will be printed in the top of the symbol # name is only some graphical text, not an attribute # version specifies a gschem version. # if you have a device with slots, you'll have to use slot= and slotdef= # use comment= if there are special information you want to add version=20060113 1 name= device= refdes=U? footprint= description= documentation= author= dist-license= use-license= numslots=0 #slot=1 #slotdef=1: #slotdef=2: #slotdef=3: #slotdef=4: #comment= #comment= #comment= [pins] # tabseparated list of pin descriptions # ---------------------------------------- # pinnr is the physical number of the pin # seq is the pinseq= attribute, leave it blank if it doesn't matter # type can be (in, out, io, oc, oe, pas, tp, tri, clk, pwr) # style can be (line,dot,clk,dotclk,none). none if only want to add a net # posit. can be (l,r,t,b) or empty for nets # net specifies the name of the net. Vcc or GND for example. # label represents the pinlabel. # negation lines can be added with "\_" example: \_enable\_ # if you want to write a "\" use "\\" as escape sequence #----------------------------------------------------- #pinnr seq type style posit. net label #----------------------------------------------------- lepton-eda-1.9.10/docs/wiki/media/tragesym/gschem_finished.png0000644000175000017500000001223513634703632021217 00000000000000‰PNG  IHDR¶À>ˆñbKGDÿÿÿ ½§“ pHYsˆœ/–žtIMEÖ 9d)¹5tEXtCommentCreated with The GIMPïd%nIDATxÚíÝar£¸FaÔ•ý/ÉYšî÷%D€ÂHâ9]®™ØØqŸˆy¦iŠ04ˆ  6@l€Ø 6@l€Ø±bıbÄ>$öëõjj¥Z[mÔßú„ÉPŠÄˆ  6ˆ  6@l€Ø±Al€Ø±bĈ bĈ  6ˆ  6@l€Ø±Al€Ø±bĈçˆm>“þÖÉúlc(EbĈ Ĉ  6@l€Ø 6@l€Ø±bıbĈ Ĉ  6@l€Ø 6@l€Ø±bÄÆ“Ä6ŸIëd}¶1 ”"±bĈ bĈ  6@l 6@l€Ø±bƒØ±bĈ bĈ  6@l 6@l€Ø±bãIb›Ï¤¿u²>Û˜ƒJ€Ø±bıbĈ  6ˆ  6@l€Ø±Al€Ø±bıbÄîâë¶ß¼–?2–Ÿ (x=î¬wÌܦ š4d¾?¿z{M¦¸ò|j¯„J¬ýÞP°îÓ=2ŸÝü˜Ù(EjŠ>m·×5Å‚nm¯·®q&jPêQ{ëû{ì=¹c)U>×*rÛ=vÚò±`ðytÀ;ˆ/—«±G;Gæ\÷Ž'Îxoßð´dûyL• KQ¶ºžµ÷ïý¼UÿÇ®oí³Ã}MÚ;Ö>#öã¼¾×ç¯õ ³=±6€+éSŸ·&ðë»|ÿÖg_$õÚ>ÛZµœû¨ -Nˆ?ýx½^?þëÑÆc¤ýâúÔØ±bÄviïFÜO öãp8ép”"PcĈ  6ˆ Nìÿ>Ö^Ã3hy_ÿ9²1!ü},7ŒÔ¤îRì·Ôoær“ÝŠÂúsï^Ïè­[ß×_Mnà^î¿£ªW3¦ó1Ç¥mQ©Ýzú”Ø·l`*šl”³D*Âa+ë·¤-Fn·ZƒÇË¥^‹¹†ß’zJ¼3{ùÒe3Œ[Wźí±o==¥†ß Å\[f+o dÙ‚1Ö0—û–GljÃæ_¢ò¤^ºÃm\îÏÖkí{ÂWâÊsqöZÌX¾Ç@—­íŠ…ï¯¹ìÆò½…éܘ“;×̈ƒžeM.n›3Ë>iðø1Ñ·‘#¤*ÆÌzz+Yr­„‹™Ë>ùªÈ¿þ=Æj_õÛZHåÖÕ^{–¹Lœöó½÷fRØY65ª¶Ÿo>Žn¯3…T6BÇØ¶¶jl´[©±bĈ b·6H‹ó™h£¾ÖÇU ¹_”"PcĈ  6ˆ h™j³†½ï5.ËûCZÞ×_µ6ø½‘½$á½ìÛ?5¥~o¸€JtßcoUB9Ò}½Öƒûiý®ìÑš»*´ã°IP‘éè…0ý¾Û|m™Xp ÊŸæ¤~b(åZošÚæÙ.ñ!g¼+驟z&– ×´aO—ûþÔÚÐTP¥PÊéÜö7Æ÷÷k3´Åæl?”r 0—él@e<Ù&Q(åg¯<%”r«¦Î ¨œ Û­¤ÖvkØD¿ï°kcû×®’l-“Pið¸¨UZ ¥|ÒàpkšÔ29ƒI¡”B)'¡”B)«zÑfI¤Æˆ  6ˆ  6@l€Ø±Al`±ÍgÒß:YŸm| C¤z(å4ɾSï €´z(eêgŒ%uû¶J)BbR[ŠýYeHëûú늾,”òýÚ¿VíÕŽéóA”óåO´[*˜²E¹«^ áâ|ìùŽ-š!nlgJôÒ Ê8h»}B쪽ÙZ ãˆeN*ˆ2;±–2í<ŸWIîVK‘*b÷VØ!ã¹Ü Ê’ßQ¸¯‡ÏÇ~—UB)Cf¯2Ê_.ïØŽƒB~ÿjô±„Ý ›ÙG(ej™§QÖçÌi7¡”•{ªœé9*Œê›G„Œ«©í. ¢,i·'}W¤‰ì¾˜X¡‘jèµmÞÊã‹S:Ó/® 4ãï¶“Ý'»OvŸì¾çœò†¾ô8z) 6@l€Ø 6@l€Ø±bıbĈ œãK —žÒôØÈæˆôzøøÛøv†Ü/J¨±µü>bƒÔÄFS²D(eÄÆà¢·„ì¾[ÏíSYä4¦Ì ¹b·,{* äh0e*“dàK®J‘–¥Î‘óT-1nS»é"ö"9ãøMGìžêíO4 R¡”-"%AµL+Sî}®PÊN{¨–{é܀ȳÁ”9Ëû®./¶B's–I=~—¿ÜJ©™:¦J©1ˆUŠÄˆ Ĉ  6@l€Ø 6@l€Ø±bıbÄ> ¶ùLú['ë³›y1ä~QŠ@  6@l€Ø 6@l€ØÀ‡Éš/5­ð|Þ‘åëÁ_‡e9ïžM‹šjxmCמÃRïíçVæV?]Šø9,÷uË3ˆ}}¢ò»„ù‡ì¼>_¦ç/îÔœv:œhÛJ½y+bÿ9²[+øTg¾µãÂ4þ·ãÎvÇñ÷Úî‚r!„¿VJ‘¯Ò#òÒ#Ö÷yÓN§Äm×ûY®öU‘”´UOAqCÚ§Öòáäë©e*õÚ-_$ø“+õûÿ—?/_›?WtWÅòT(qãÛ¼œrú]zÌ-‰~É<{»SÇ‚y ãÀsFîM;»½±RÛ˜rºòÕ€˜Qc‡ëŸqugm»K¦žN}F%ŸSQô÷ãûûÕTÏížÇÛÏïÓvVHN¾È^ŽÊVKá~é%øÝU‘–EωO΢MtgÄÆN/œûzí÷—ÔÛ7þže(å<ˆtHÚJsÞÀøäG Ê’öŒÇ^Jiðx®¦>D™Ûž7Lã¡!øuA”ñy ±{îQNE\):guó¯ãB(¥{J©ÆVcwZ)EbĈ bk 6@l€Ø±Al€Ø±bĈӬEœ½­ »§¥J‰®Y†R¾ÿ¿ÅPJb7ÑNywžÿ°çÀçÄ÷”=U–Ü-·»eÙ—ÿ?Ïà‹;â¯Iÿ~\T·R–»õ<šôÀ9™%•êni«Èì3Ÿ+9p*ôØ)[¹2Bì–K+?ÿÀ± ¥œ(…R Ì©Ly¶M£PÊû®<µ¦Î ¦œˆ“í/09ØÃÎU’Ü::çrá@˜\©…uʽ¢1Ÿ\éûUvåc%ÜR(¥[(¥PJ5öPå 6@l€Ø ¶&±bĈ Ĉ  6@l …$(1¿½ÕLb£Xê-‰[Š`PŠ ›aEœá¿n.s™Ä¸ÅŸsdÙƒ½9±±-Þ2L2%æÍR·Ö[»U©Ã†„acù’ϸ·&v…íÉ×/–ºÅÞšØ=ÖÛgÏ'H…R¶(õÚÐD`Në”±0d2õoJÙt/2\MHyU­-0—èGÓPïÍ#6²‡1CÖ’©8ÂϺù÷U¡”jl¡”jl5v§%‘R 6@l€Ø öÚ%Ÿ;yÜ4Ö§:®Š`Èý¢ 6@l€Ø±Al€Ø±1 ©¨…w´YK1 ÄÆi©§i;¨’Øè’·Ô’ ÐµÀËçæ½´a,ÎéÓö—jÄÅ÷ž~Y’û²§òEâtì›x•ÅKÕØò±‘߃ïÅ+ČϛH*Mˆ“õ@æ2aºô[øzl”ÕÓµÅ? ÷2”2„ÿ÷Ð-MÓ±¬ÖæôN+ì¡”_xrM § jS·†ác|ªû)™»fšÎMïAl\6ø[†S†ÌÏÛïJ©ÆJ)”R=T)¤ˆ  6ˆ­ @l€Ø±bı¡Ä6ŸIëd}¶ñ%( ¹_”"Pc½„R ÌÁi©çw¦‹_À¢§$˜ƒ®Èé‰[É!öíÝ^æ2óGÏ©$ú²wn¥ÎVc·*{X{$gd:ùžrK[E¾€!Sþ½³Â…1ÂËûnÁ•"]»⯽¯r(eªôpUåur­ƒáËPÊy)"”R`N~eI;Å:á“B)¯¨% ó¦ßÈ}nëõ˜Q»wŒR¤åA㔨‡cÁçmQÞ©»µà´!wÜxÏÞs!-¼PJ5¶PJ¡”jìáJ"¥@l€Ø±Al€Ø±bĈ bĈ 8…ø³±ÐJƈÅR‡°õúÎT(b£Xêy¼”÷ýºÀtCJÖyï¼–9r›Øæ3i`rbÊöÂ)ãÉ÷¬µ›<'÷<6ržŸÖ³BÖ‚)SÏ…Â)Û/­¾+Ez}/¯ïH÷tPÄÜÀ÷;§ï ö0pŲç€Ôk½õ]½8±[í­[:㌵ɔZ ¨˜Óz8en€dÌü=±|¿¥4x<ß¹’GÚ´4¼²S”"=\Iu?%sÎ<b÷2ø ‹“í‘`ÊÄÏB)ÕØB)…Rª±‡*…”"±bı5ˆ  6@l€Ø 6@l€Ø±bıbĈ  6ˆ  6@l Ll“+õ·NÖgÙ}r¿(E Æb$6H}_vWçõpQV¹‰Ý;acÀw. ÝóÇßéï_CGéðzŸ¦:f>ŸÓîqú;Iãçâ¿çL9}f°ƒ²6LMQ½V¢lµ{üïŰöÚ4õÒe+EÔÛ™ŸÙW/Dì^›j:c êÒoå™rZÝß”ÓmÜØgÑ”Ójìkv56†,mÂO‰;•zšüI›½w¿ƒGb£û+ J<bƒØ±bĈ bÃpïhÜ£×aœÍ ”"±bĈ bCð?²P6Ù}0ÀIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/tragesym/template2.ods0000644000175000017500000004462213634703632020003 00000000000000PKˆú6…l9Š..mimetypeapplication/vnd.oasis.opendocument.spreadsheetPKˆú6Configurations2/statusbar/PKˆú6'Configurations2/accelerator/current.xmlPKPKˆú6Configurations2/floater/PKˆú6Configurations2/popupmenu/PKˆú6Configurations2/progressbar/PKˆú6Configurations2/menubar/PKˆú6Configurations2/toolbar/PKˆú6Configurations2/images/Bitmaps/PKˆú6 content.xmlí]moÛ8þ~¿‚pŰüž7o¢·‹Ý× \öpÀõÐe‘D•¤¢xýÍ’#;±£ÔŠêÜm☒£çá ‡oÒ»÷wqDn™T\$³Î°7è–ø"àÉbÖùãêWï¼óþòoïDrŸMág1K´ç‹DÃ'܉šÚ«³N&“© Š«iBc¦¦ÚŸŠ”%e®iUzjê²)J¯¢ÚÙp5·fwºnf”ÝÈKçõk6ÂÕܤyÝÌ(  V³‡¢næ;y¡Ôã”j¾¥Å]Ä“›Yg©u:í÷ó<ïåãž‹þðââ¢o®®ö×ri&##ø}1¬Lõ‡½a¿”™¦uõCÙªJIÏ™¬ Õô«êvQ»EÜ.v@ã/©¬Ý6Œð&½ã >½ã š7¦z¹ƒ“óþ'¸h~}úxßd\·.”݀ʗ<­}›Vºš_±V3X5ꎃIß~¯Hç{ÅsÉ5“q¯¸O#¸ˆ ä†}ðØ-6ÓuÃG ÔŽ £¾½¼VÁ΢ÿýéã?ý%‹é½0ZØã‰Ò4Ad —¶áG/K§iWýuBÎÓ ©Ï¼€ù‘º|gÿ:™ØïHâ¬ó³È$g’|fy‡@K/Åb­fh*ÔO›Ð!•"S®}h‹!¿cA§¿¿¶Ñœ&+òáÓÕpgm÷2»+»¥’£·¬_ß·UgE½K˜äÐÎTΕ:H!‹Ñ¥LßSõJi?UwW(Òi¦øî{¦œuã0¿74õÅp]Y¡¤é ÀFYœtÊœÕD/•`‚Rs¦H(¦sÉè7g`(P V]–Xˆç<@76é &C?6úWÔÙ§Û¨-ÝF½ÑéÙst“»p“"ßR RªZÙK˜¸d|±;èMÆP÷~}3Å<‘jÓÈ«fÖ2cÏQ{¤ß¤öikZÔúdxÒ’Þš>ÞHÊÄ&½”.˜gsüÂBšEzë¦*7d£Ç€«4¢«BŸ¢4ì1!6ôb@I‘ôôü¡ª6¦2¬÷PáÏÃv9U¡"FÇ‚äÝcºl—[aÑÚ¦Tâ(À|ÙºÿBcºë…‚v%n[=õoRdI€^A@ù†â¿²\s 4â‹ÄSÐëá¨:¶òªd)£ë;‡K4R—jÓ…¤ér«ÖûBÁkˆM‹©\ðÄ‹XˆïYîír/Žá«Bi‡oø^-- }ÿââHZZE‰ôšàá‘ðŠ2—ÿ. '©¾OË ?8QðŽ&ÇÆ²ôz9zò'džü+±ŒrÃÞÜ3$7PípÛ4 Óã¢ñ¨ºÓœÜ¨ ŽÎþÒÝõ˺±óãjÿGåÆêbxá0l¼+xüÃÁqá_øðçÜÁ êú{+þn#¡½M÷9е1Jy!ß;<ºè½D¿ «=²úÞj%ìYlZ î Iú;§Ô‹ s¬îWiRÉh –ŒéËwv®Îü.æíl}Wt7‚3d6µz×fÊÐ&§’ßwu¥sÝd7ÓùÅ¡Åׂ¶!ÃFx›5Ë•åÙÙ¿BTy¶GfÁ¬sÒz£“A:¡·ÚªTŠü‘q*K9(ì1Õ²r‘ŽFóô*eYS ,÷¤—oÈÕ’+ÿõ˜gqÞ$äÐB!‰mgj‰ZÅ`lŠä\/‰††AÊ»~Q ü±¥S}-Ÿ¤l›Že öˆî&hb;Ç-ð¿ì–ɉx‚ž ‚@„Þ@n—ߨä‹_ĸÊm¤{ŽŠ¦©Pô–® Û€4k¶ùÓ9Q yP›`E@GXÆœqÔ`d»<ýö Gu›À¸Vø®ª‰Dý÷p&Ï›dòaõêl+2P9M þR$Â(z¡ÐôB)OÐÁ‰Ä|“éÅ6F"!n@žß@g×ÔYÓÔØ¿¬Ï›ú èöÃ×LèŸ~ÿûüøóǼµ_{:Pm;$E`f‘‰bîKApþC ˆ%I¸E˱ã«i¾¤Ð ÖuaBö›*íÈt\ÌJ¤¦‡š C¼â˜hÅrt]WÌ#¢rÁÖñ´qe¿þþÛ‡"´Ž…D×®Æ”Ž¨—‰ìÀ•“s( J“Qd¾‚°¯ôkÎmµg,#¡A ™R¦ëP]2Ï”bðÙë¹Nm*&µ¨(C±Ãq­Wߊ5`MgOR8©Oá¸Ö$αðµÑß·EZ"gÀWépœ™½ÊÌ.w44 ØWGÛë  Âêk³Oþ¥ #AõæÜ7eÖŠñ›#ñÁä ‡·¸ æÓ¨U.7¨tL6ÃäRHþ§H´ãò8¸üÎóï'õæß, ×TkÙÀ üE“ƒ¾}¿’ñ7ÊÛÉ9#fùž„Û)wœ-v.ÞNS¹1wÓðó¬DF–¸ÆHIÀn!‹T‘À¸j§  "#¥N"šË3»Ú,œ9rš&q.×gÅ¢”šàG¥Ìç4CÁ£Ö— 9M42DƒÀÑÑlQ1ok6 NÃᘠ]°pÈ„H7AY]xþÂPÛÎÃÝÎì+ ƒ&¦hêÕöÇ{ç„€/B›ÐÖGKžÈ>ù¥¡îÚ!þ4âÅ“Ž¨Ã¼5Ìi¦—B:°Û‰#³Ø ˆ[6¬Lº)ÃÜWÚ‹@*Q.@mrMp»æ<é‘é.áþðá¸I©êÂä]âG7”Ë·ŽŠÆMs­¹À§ït¡»ˆ8|âG"ö¶GðmD$ѪºEP’°B[GÌV§!×½{fº²«»ó·DHÂâT¯ÌÉb@Þ@Ío'gÚnŽ yñô ,¡ì©ájüË÷‘‰ß>ÿbx`w4N#÷àªæ¹0M h'™Â·G•¹Iwxeð_g+[Ø çØã¨ÒËAw#=ûˆ8óXž/×ö³4°)ùrͬõË5iƒügL’8òëVTœ)ƒóÆ9# Ê ÆñÜB‘R&QE`àO!v„P>cI…]pƒÿ* ãº€žÖÔŒýGµ^mœí¯W¦¶v[˜§­ÊlÜÝVmÍ êA5!SµÕX 8¢#W l*š4éÒN]v9" Gèv€; Ûzâ€nèt;@Ÿ: ÛúÌÝÐçèv€¾p@·4`ià˜–CºÒnlØÒnpØÒntØÒnxØÒn|ØÒn€¸éÍâAns•°1xžqϯž³Ú õéƒ ÍÞôaöÞôéÉøü¬í³ ¦¨¦l[–h*½²ïÕ\¿?²ªÐÁïÕ\—ºó“å MûßÐá7?þ¿¾ùòe¬¯Y-í‹XËoåS|¼âá—ÿPKê]k ¥”PKˆú6 styles.xmlÝYÛŽÛ6}ïWZ H€Ê’œìÅÎZ‹ iчnP¤éÐ%¡D¤ìuû=ýª~I‡”(KÖe•M‹´q‚݈“lçy…ST±6¤z~Ñã¡c©³d®Ð™u˜¤ÈèP£ZòÌà oApíÁß%¼Æ,¯ÁõB¯Ô^h`ô½cïÃÕ:Ö¯.§‡Ò§ëß×Ë)ÇoÍëJ´ZµÕÚ¿”{þðm÷‡ÿ "úPK/ã;žÂPKˆú6Ùã««meta.xml OpenOffice.org/2.0$Linux OpenOffice.org_project/680m5$Build-90732006-04-10T19:33:072007-07-26T19:00:45de-DE5PT30M38SPKˆú6Thumbnails/thumbnail.pngUºuXT_Ô6ŒH CHH—´ÒÒ1À )CI*JJ‰tw(! Ý5´„ô"1€0Hw9ÔÐ]¾üžï{¾ïzÏu³ÿ8×Yë^kí¸ï½ÏçWÚj$„ô„XXX$0úÐÆ>Üù¼‡çRu¸Ö³rHQß;“CL¥Òt¡Ìاš0B¢¥XxôHÅUY\Åêt…å–ÑãO†D’!OJÐEõ«¤sY,>µ.…ÚÒ3@áÞ —¨_ n4tÀ¨keñÔP߯Ð`BeBëþ÷vuÅðŒˆðZ»óƒi“ãlëú¯ å(ÒŒÝê¶Qbf¹…Û›åâ˜ùf ù·õLÓüp,Ȱ:ÇVtÁ9à4q½;ÂàÒn¹Þ’pSž¿~Óçsƒiv2&{*™Lv1*s¢yRùæŽ×Z.p98©°å:¬ô{å°ë÷ØÊ`¼de5kÅx4PÜÌ/ßÛ<`x'ˆØú­–d9 Ï79‰tÝŸÕŒ$éÈÙçÝû˜àÑÌþ¼;ÞDfE=á2»Y‹r|ï²Ð2þk¶Á>©\·(±U3Œ@ç:Ô¼éZ’Û2¨4ÌP£Ïrª§‡á“eÊú§¡æË¬•B¦Z%óØœïÍÚ à‹§teM§pi®oE¹AeêC˜^Ž×LW@—Ag‰QÅ_”†»jìsiϽçF>ÅtâŽéZ5&+Ä—îïn:ÚŸý»ÌݧÍ!ŸÍkŒKéGF›ƒ¥Žs^˜óÔ7ã‰ókéý–^¹·ôçýÌA )x×s³¶yN &kîK‹§[ã½âRdI7ÓÕbZYâb•F5MEtdgó.]bÔ¼úµ®~1ÓAó6ÏŒ$m©AO6)bWÆ{»·‡#Ë‹Ò«á”Øæeçë³][i¢•ÕZ; 6#ôó«ÑF%štBBöaY.³r`ú,o—™ZK¥»‡îä& 3wí£î<ËO:Ê<ÉZNg”æú)`P‘Œ¸tœ¥–¿éê,7¬Ê¬¢t$³øq+çN³¦—t·û¦É9ùMî#!,k¶¸öv™¬ÒäJ ‡Ùºâ»O³ÖixUplª\ÂÖé­Õا¡­»sû Úõ]¨µÌù—> >"öðMdÚ|—”ÇÎL3d ,EŸœ3þj™Ï´é›Ï>íèÿÈå`¬@Y«T;gø3wn:¹ËΟr ‹Ø†ÉJ£‹µ~c”œBvquõfq¼âY¾”TªdÞÓýÊÆÝa,?äŽÃ…dÎ=š#.¸¹Î ;Þge²OB—æîthÎ*Å&þèûòS:\.Ôu[wŸ&ÜÈ5+*}L%s³WO`/¬ŽÜLÖÛ+ÍE[À t“tq$Ý?Û›)_Àö±\h\l¦½™ÓÝËv}ñÄ»ÀhšU92}©ÃÏÏ#Õ7\±™Q?˜»5áøª1-9ª<õx«¡XS*Î}(…§nžqDËïÙà4?u •ñþÈšÌÕ"³b—ÂÓäwá\T ¿ ¦(4®·áá$–ÿ›Wîä0 R”eé> D™‹çsþtŸ+xÆQGÁúo¯N0þ#·¿Û‰šß†}fç<äYˆâÙª¨¬®Cá’ij±q*Œ®ˆîÌ|/€|¨ýÉãbÊ¿¶‰ÏèÓÐÃI ð4S›]ÖÞ.¾AEIlö °øur†è ›% •Ýç0τ֣B]©Xwàñ×ù²ÿ€<ŠÇÇ÷) û1ÊêÕ3€ °™+6ž²i2龂_ˉȌ¢3óÜ 9¿˜:#úü†\ê ŠN –%oív禧JaáèÁéB'€QĮ̂‚aJ.ÍZFËôÝÜÿãˆãP–¥ÞÌ«±qâ¼ødäKÁ²ýU7o£ûÅ\t89GŽÝçBHWSïów-P•„´ú3¶Ä®Ô\PëZ ¬zþïHFl¨œÔu ë{B§«Í)坷Р‰¯IhTI½'¬ŽØkÛ LÔayîØ Âi˨\¾ÁG‰XæµK«ê´À(w¨#9ÁøH—$ë¸-‚|L_cF¹ðiÑ|Ÿ †‡2WÕi|šG:ô4¹I3.cc·„šƒê#æõ,/˜­Ã—Ž…¼%s-z§ñCñ%Ÿ\.ú[¤Ú¡°¼·ÉyñÃ…ŸÕUÖ¡%òn[°ÈAXË߸0Ê b¬ú•ÉéÀ5Ž'â¦X#­i3²¨VxäÝ,ÐÝß0pZÒLÏ¥m7§ìm\pÂbM°â‚[ P«²p”êñÕ× Û^íªC™9(‡rôËÍKSZµ:ƒ¯äŽnÒ­+`¼”ZÁñ?óØ `)º „#B~ÑÚ=M Xÿ×Qžë‡á‘Ô]@²¼ÛŸ’û´/7…“[mÿPJõÈt¾±‡h$@*N+)رwœ±Íã†ûvã;IAIs¹qä‰ÖÁÿã’*\ìÍq»Sì= ³Bqfúš7GE²Ä·å`™õdï ·rM÷Œ ˆf'« JÖ‘L›©$¿òJö/–ƒ–#'¬ŒQÉO£­& 8í¢°Ô¶¶³1†ÜÖ*Ú­µÏY6ßê|Žr²|ªå:XÈU¦ˆ£›~#ñ+3¹pí;ó)(0münˆMã*Д¢‡ Î$ø&á 2B#Õ#0p—·Õ_ªý–œØ÷·–žÕÀ¦çÐÕôzɹg‚(ÃG¿<»]g-Ù6˜¿_šy+Y>aSWí t£>'P’R²²ÿþfDJíÉÊFÅb× }+=Ì^+Þv±/¡³<)P¾¸õ¿Ú••m_ <£<ùwíñ‚SÝJðãfÕò»êûEr‘¿WÒZ‹™"ñÌ«[= –û˜‰ÁÀø\Éeâ»-·µÏœÃ»dws mëtzÕš÷˜¨H÷õ‡$5‘e}Þ•Gø³éYåcñ²½,½+ÍuŒ¿^6ýx™'ÿïê·8/¯ÛSef7ŽŽD BÜ£7“L|!f/̘fã’½âËjÖ¦3I›£¾Í™¬ÌA°¾ÔÿˆYüÜð™±ýû=¹'9©J×Ãä*‘žÂðÈrüdÜ#9áÜÅ¥èH^zí› ññ²×:oöOªÇ-±Š†&tä˜|·XýRñbHöÇ¿Wá÷¦)x:Š:G§7m‰Îfgëöê‰{corBaá!vÇ嘕ϧýµ$ß7~¤5ýÁú¬¯WBÍg˜>š#m äQaygQâNsÞ4Œ’Þ‘V8.”åÖ|;Ô£ÁvóSõj…*7Ó°Bßž®¹þÁ”Î-»¢‡;gÙã¸àJŸ¨AÍ¥¥¬ŽNôÆ'&H?y~B#`23ª$%Ê«Æ~Ëò½WÔÝ·©*Óáþ\|ueebVL·Ž6 ô?|ÜM‡ÈFî¨)€†¤œ ;pйA?Q“dð9ü ÕgZȃ{¯—L~/å«ðgÀÎ>ÓÌîTUVcŠo«ÀíÜ68õ‹Q/!›Á÷o†í0_Mû„˜¾=ÞVbͨ´w”bpù!{±ðžv$tTr˜Ÿ€g/¡SNÿ¯:°]Wô¾L·ÿदE‘LPvx Ø¿ù×8ˆ<†tƒÌvâÊžG_+q¦¥¦WD)‰ægúxÔéiˆ¬*4Ç"ý7ü°Ñµ´€,ãîþ¢‹¬_(¤k‹‡a±þ £š\rg\\¥cäˆÑÜŒöìS̼kçtÒóžß Ên&_ÀýâO‹¢˜;)Ò0š•«0'œ$Í,jJX&œ¢Sy &.MÉ3nVÂÈPlïùëpKs†LB,ZI•޶kýq•â­Xõì7SoƒóX¹ïè¦?P%þ÷• ݬqœ>w‹õ¦lå|ì•ʪžÆ©…Ë«€Ñ*ãVm/„| 5AêMĬÆQàþÚ€Ç %Tæh¾ìš•–‰H®:ø Uá§Ë4­Û+Ù×›£4åZ³–f(>ÍFXBSl¾À‹›aó/‚‚& ÄïÂÿ×xÇiM3÷åc<âCpÙëHr$YCŒ#õóMÙó™÷¹—{jVÖg¦¥»j-a;‰ZÐ,B܈ƒ‘ÕUdª:–Jkö™!¸Úþq¼PÅÂBÉýîÛÿ\Ëî‰Å^Ÿe½~µ°%•Ùî .­‡Õ (M…ÒxgÐ Tíüÿ ÿgùÄÏ*{¨¬á¾M¬ÖN&Ú=š&óÝ–JÚ¼¯mp·€ÒL ãMý4bÅÐ]ö2Ãz.¦‘bZ-½;‰v®–èßV«ÜËÓ$ޤŒ!R>ò›dR`¡Év8u^üy£ÐE!·Òúä\õïÑϦJ¼oX/üm}-"=8K8ÄË(‹(Z˜<(¬š…(áì/Ô-ѯä[žf诪¯ìÆêIéÐB‚O!'K~¸‚“ìÝ,–¯$¥¢,*Ôè)6™1MxÑœâË,ãÕD´N2RÃ$±-¥ã@¢1@E”Á¯>4$!´xw±|ÐÈèS«,GDäÒ¥«°ÙUHc8æC1 Ò=—×y¥·¨Õ›Ü^/´],ùÄuÚå%ù—öÆàJ)c©}Á›dÿ‹¦hUp2g}îœÚ><ž}He ¶xw¢%ÎÒøáø9_CªøE¥ÎWKyÈ«çô±ª&S)cœðóO×Û´žœ\ˆ}?3kîŽâµR«bVFh§AÂ2Û•"JEéÿ Ÿ²Iÿ+ŽòúÀäcùf1!‚4¶jû0‰æª­²'”*æÐ[Æ·¼M®iäδ3P²aîµhû¸r½M_qîÀÀSã€?Ç\b…ûŒÝAF³ν,ÿ Tq$@­Ìà+åf¼ÿ*gI¨êü:?­{±ØW¾|Xçø)ë®fàÂhw >¾Ñw°‹ÀÖf} Ì°X²Àv©°>£¾³<†¦Ù,û…O‰DÚAÀÝÉêu>‰|[+] é£êD›8÷cÁœs*©eГع›qêÚ§ü:mÞPr•YÚ¦E[¿Ex?Zí¹lì7fÏñ7ÿT:ÈÌÈNmYD¬ä?ž[ßÏEõò|bE(:‰¨à¥9ÓrÒÝÒ:ž ,ZÔ™mjÃmˉÀ.Q9€!¡ØW+~ñÔ¬#ëÖÑÊȪAìUvÓcB¤Ë{]µÎ9špÃÀt˜nÉÀs­ð[Vwz†bªÚ°Ô«3õw ^¾ºŠïV_ð/ö2°äi*'xœ(—® Ÿ˜À”Ö¿ `_>òjÎNÏÓ’îÀÍ×[¾˜P)ZÅX²H ì“Âò€cí´CâGÏ!D2¾ ejâ‹‚%xçNè6¦Sô€0hÁ¦X¯í—+u#Û”Ô#ãwÚÃB„ .o4ô?9Ó¾ÈÒù¼[Ê_\L&ÿŸ÷wT‰µ nRI?-.6±M‹Åš¢ÞÆá+|ÐËq¶X¤ÿ(¶/ºÐƒ¨;2ÍIißœ0WÅÅ;¾¥ú‚S]HYÄv¨÷{_ù”.UÔ}fQü:Gj™Ú“õ+èM}ôo;åâðGýMô1’#îlWG®°ý !Цòâ@þ-—N®Ë\#ßugZ}ÈzŸ¦ãéÖç¿™‚b Ô %¶gB$îyuÿ;è¾f{¼¨hiꢞ&HÍÉ7ÒêÁ°Ô›hq¯›‹™ÎWÔ6[ë™±·Íæ,1®ÿ5%·„@çf´âÿhqXG½žô¢³Ô~Ylh“f×~G–®c8S'a­y5dð”\új#ixÞåëw²,]Ћ$í ú´\Þ_}è— ·¯N·U¦^´Œ.ýñæ%®ëzk¨‰IÄ7Š´\mâ?}’ô[c>'#A}}‘%s®u¹ïSÍ)Ñ<N³ìÌ/TCòó½FÏëµ²lÎë­‘”û7} /‰nÞòðÊ$&“Ztú»a»ìös<וøt\•B¤K·¦Fþ½ú7Ž3ADAÈÂhÓ÷Åeý5µâSĘƒ`“˲u‰–©`×­ÿÁœmž–Ö%#xÏ÷¸™-yï Ï»ë¦íˆšôÈãcñ×Ч"Õ—çs=|Žø¡Ù>…*ÝK>LòöüUÿ ¨/·Õ®~ùq…ûƼŸ}o¡A”œx:Žƒü>€ŽÑn<³_j¤(e`]²E,Ö®>1Oº>ÛMßDN›ÔñÁSñ?®üfzä<×È™Lï.°Iᥖak÷9׫4ôЫЇ(ã§xŹÑplNx‚³ÔÐé6G ‹%5Io‚½¹ýŒÞc—IŽ?¨wƒVyr÷N¬B¯TüYô:Ì‚× (Nip¶÷§;ÌÚ{®_š0üt4¯kXªî™±0 ³,= F¯KŽú|Ù}Ö ›çNűz %Šêû“O‡âÛšñXzÙ^”½U¥²<¼¼M4V¤ÇÆ ¸b£`zçNšøj…[@Öþ3„Hªqàë ÀÁ¶v’ß zó¦‰Ü‰ÄŠì{-§[âÛ¡¾uˆ&¶ÀêŸoþß”\Øá„¦cÑMxuQ±`ÝÄȪ=Ö"RJ’âzëüîÓ_T4[¬âïIL=ÞÛ™ÜÅ4°#ÏOŸœÉÙ€›À†iÙ3+ gÖùÛÚ öÖ6¯ƒ3ð÷åÔnÿ½í1]Ãj3[yk‚ ÉŠƒo‰,€íTùŽË6OL£+…õõ)‚£®—ð;T¥…Óv,Ýnh"J¶|s|«6–ÿÌkzX…ci0=Æ»ä+,r©wš½ÜJËXrùÖGÑV¤í3A(7ØÇ-EÛV#‡×Ôà=ûˆË«Ø`þJÆĨª!ý©"X‚ásùófìWÁ2"}=ÖÎ-ÆÍÎzÙ]ŽÍþѽŽÇw lØÙÀ&¼©o³o‹c¾¿/5&À%ø¬ÒÜäDÆümš›X/æÆhf/çò*dœpûߌc0g6#·#QÖDänRë‚Û·èÑÅT/ÖÙGw²J×àzòíB‡és›ÛËŒ’w}Ÿ<]Àù:„vöQwÜp:”‚¿ÍFA¯ùGEs{T{Ñ’å3#çýoºó×ödrÇYa›?¸M"˜ùæå&VG’hwEµq`äYËÁ ¤gð’êªo™ÄY¼;y¦rÚr]åÉ›…µ2ô›ìÄ–¡ð˜Â:NrÖ›zˆ<7Y#`ou$ÁÉ!? [‚‚ÍʵIôvgm%ê&t@îD¤ßõ‘çä˯ë$w^V…м„£GÙ“[;û½3b“—´šyçNnô”ój4«ù ±µ* E# }âþª8 Xù+Íâº2z‹†å]y*f–ž¼ÉÝ* º8œúá|ó±ëγˆNlGÃmÞi:ÝuÝÆy?Ø™Ý[¼)JR3ž1*ä—¿oYž,3¨Ì,ÕKRW ußÊõ§xý*0œ öãÞ†ìV;ìFLÎã^'‡NÕK™ËÃýz‚yDM$‡Ißõ÷ŒOTðçé£_É$¦&S¹Ëkª«™¨eð&%±À`uaß þäÖÆä(vLøFoöK·ïˆÃž¿©·ê¯÷!t H¥&1CaJ6ß@fòéQ?¥Öt5fo*x@Bzû0H¾Âó©Ku¸¶„ÁLî¡ú0=Nk2ã$Øýn©iãé<ýš¾Á‹Oî–EäO|ZWB=É! a%N•À©Û¾«¥ ¨R7 ½%›UxYïÿní½³™â‹‚âǯ>/¤àRR­eü›h¤šµèw‘Uz ¾œ·.æÕõ6—vaRÔ!ñä«ß½TÏíY.SH—Øñ”Ë £ÎÑt'·9%Î#v)Mµ«qÏ/η­äßüó†Ñɺvfûì_t ëà“e’ýúý‚S[²›ØoÃðdõa³ñ¤^Ëy !·V¨ó_q¹^Q¦ B×r!ù.žîlÓ¬Þé)²’5ž¡A$f‹@üC$–æ|ø;Ê $bôµà¾›0d^ç±_Û³þÛk‹—9Ï0aæÚm\róX(‹Þ€7½jÞ+kVc* þæî_ Fá­¥™òÅzä§OçƒG—–oÅWî(l‘ÓîÎή¿xºûƒí¿9ýwŒ*ÏÌ8<ÒcLEŧ—o¼DÖ³dN†Z³:Í£¿Oö:*R†²¦´Ò÷/º¥u¶a/ꦙNK06ó£6Lj²8áãðÍ Åý ÁÓ½™¡ÓÖvƒžLÛyfÆQ{Ð…üA†íÆÇÝ„Ui®–±ÄfòË_Äê:?÷ö\gñÕ»_@7Ë“ÈèUÝC);ï(_/'ì…ˆ¾’¨{’ÈÜÍ+ížN;Î|(-YœÏDÍ[âÙ¡ÍË,íWè÷Íød}­qókì½m†‰ Ù†]©>·ò¡²ƒ¥a¾•®BK ûÿÝâ{?z÷ŠMðùâ'4ÍjO¯ø½ëÖ•wfü/ÛátË“0}m¤Çk‚¯OfòýCQc¤szÅi„£“11½gjè‡5 yppð»³2…ÏöNz}áºþËОP…ïVgêiú²¼äÅÇà¥ÿÎ)Íå5]EGm?L¶KêÈ]Á=Lä‚îý'Ú¼\êßõŠÞzgIÅŠ~ÌÔ–¹ë1éV*«¿®^ßxŠþ-ÿ¯Ý#4¾ÈÃ\n]œî¢W#M°‘1ì#f®±>þ´ëhâa–ÉêÔþÚp(Ègßq½›»~FÁ®:#j'‚J:ïŽ{áÁ%èÁeáª+r“ê‘Xvd–aZ»yüî´›H¶³ §ER¦ÿŸ{‡ïÙ°©K‡õÎtM^Bˆ$ýÁTUÖöl}éµêõçj›î´ƒ~=áM"`9ïöy÷VHŽ±ÍŸ_Å´§!_—+ «ÔŸ1_l;>¨îZg> ½UNñIív¬¤fž´WõË»ÓÞ¡·R²f[ã½Òý×è¼ gµb¾ê–æÛO‹L—–"î[¯Ϋ$YþŒ#$¹½î$¾è}|šû˜ÉbÆ9rw£†GìùRäºdá «®Y™Ã`'3?. –É»= “ÈÕ.ó_XnvÉóˆÕFÓØn+d×M„ܡ֋Ç7§â§íEPl±orÚsÛkÁÕþ½seø÷ŸžöÑô~×íqo*pîákw¡ñ–ݳ tŽ3ú„h÷[>7?'¿Í,T——ÿ¶þ·\ÖG25ôÚžÿ@«§5÷¶"æ±`çå–é÷ jOƒóâÌÊ›lš%/\ù›`¶õÙΤM&“YÃÁ¾ŒÓ~¤N|³–&·Üz¦ßÿŠý®râ?BüS&‹P·Ž®6QÇ6É|dBÏF"°•è­-we5Ñô/\WÅ‹ÆÜVåZ,Õa¾Q‚ø°Nƒýa]|/ /§kÞ¸ 7Õß»s0¦>#cTeÁ !aì¡„Ný‘$ xM¸˜Åš7ò Úph8ñ¦­:½eœ#Û›–Mk,¿H5NöÚ»×;Š –á­.¦Nl<&—§ƒ<˳µ3þ,†É€è „Ë9©x×õ4 " C:f 7ˆ‹Õ(æ9¼¤VX X<5 ø¡­¼’éÑ(”pÉ$aÎÃ}tQmPe2ƒÜA>È4\ØÎÞpν:MCL ÔY)˜ÐÙz®ÒÊù·¤`ç‰ôŠìÙ¦"h%?¾í9`pilµ>Œ©¤àJø4ˆ²Cc™_'?†1ŠƒëŽ’8ÄZ=1;iO þέPí‹Ìe.aH!óŸ‘”S") \£*^Ìr|>óþk_M{BêÖ„âæP ¦ôA’SWUôs¥-ü€LÒßBp ΟК[?nÄMx |"<Ä<Íâ‘ÀmÌd[–´<œ7’%Ñ|´í{ÔŠëYMõ©Ø+©¨qOÜnÙòäÏF†èCGu@ö½Ú‡›+2ð~¯5‘f·¸x)ßS;‘€ëÓpüoÍlªñOís½×¾JÖµÎW ‰xìü ¿f}Åà°ABàZ\eeÖZ äŒJ‡¢’©]í5äCGô90Ø¿ sþûGdžÍ.“ó<nDízíüÄ>ÚRGè+Ò…—mcÚü¾´×NÁæ.uë &G™²jy`LWáÉÕÆõ\!5ÌËJI667g/Át‹^y#I£ìÛv[ŸôäÎ,ñ‡Ì³scgO؆é|>¬U4‹Ù•ê‡Fp]ýyLªtµÐtÊ>À…2So-(¹‹ì?ÜŽè.e³j?£ŠtØæØÝ<{ÈÕ¼CÝ-3¨Za &ï’~¯Õ*JþagÅ™ lî]díìP¾*Ó)ÕÎøÍ0<û™(sÇ¢úž.u¸XS…¢xˆ½”1CÕã .`/”ööDI½ @Qhi*`ùÀln¸v6¯)„Ä)ÌtniýW#aä`ü”Í '5׿Bã7#Â%6½‘yA¯“Ôc„Rp¸ëîA?¼*š}ž(О°,—Д|NÈ>ó#àoÆJ‹´Í§oÛpªFLÄ멌—5¼„÷ôG‘ybɤø ^üs¨þ÷w>» ¯§€dÏæ ž»‡#D_x”MÕü¾mÑÒ9n }k†=<Ì qÿV6w¥—"F×–õ»vª”A²÷u“£–Çòên·’&õšoÞ×ÜcRåœ>瑈ƒB{1ÏêÊ$gì€7äh‚þêXZígÏYhm‚3š ø Òùz‡i¹ºC5cèô.ÿVÖü/vœEur!·6²Äê¹æ62½Êßt55* .—sŸõþÊUˆª2“ÝÝèÃ}ñTût×Ë»[p«>¯ ä¤7*&`8ó#Mw…õ¢ýdT½…‹éÕÂÁœ½ôØ4^â©\¢'‘uçùqýóQM_!Σð‘œæ}óèXT“”£˜’ÚÌöÙ £/ýOO<™W/AÃb+OY•hÙþ;©ž!e·€Ì5É¡Œ©špج˜_`R tX›½‰Ë„ÖÞ Uæ| G ²±ùß²–tÀòÕØ6RÇAMÄÿ+ÍI£XÖ®ÕÊÿzLA!GJá0ñ·¶ï™×Ã@ê£BÖ{v*\BI5ZJ3<–|ÎòWl†ãèËÒÏæÚj0)Ã஽A©~ßÄ÷C*#!“»µxÚ¹÷…ÏmFðtŽáÂ…­ÕýîÑ£#b»SN ¬Ï ÿˆÚr|¹8<ør°‚eÌþÃd…sã6ñ»9üõB>ÙA|žà’ 0¬ñÀpê.Ž£¡Ô¨Éïxç?Æ`ʲ"¿Ý÷fZkcôÉ'¾@MB¾P¨Vß@ êý„ ]ývqeo)—tÝž´ZÎw+h«…ˆ6íl€ Ù ªöˆ…$,|ÒÛµŽG)øà}:×Ú‡¤³Ð‰åÊ(â(PKˆú6 settings.xmlí™[oâ:€ßϯ¨òºjB/ *¬Bèu ¥ ÷7“¸à­cG¶C€_¿U›&]‚tÎQyAñå›ÉŒ=3v.,<|4‡Œ#JjJéDSŽ q¨‹È´¦ôº×Çß•õ.éó3r`Õ¥NàA"Ž9BáGr:áÕ¸»¦ŒT)àˆW ð ¯ §J}H¶Óª¯GW×Ââ–F䥦̄𫪆áIX>¡lª–*•ŠºîÝu(yFÓ]EÅ£_‹¢”þMˆ•Y Ó5íTŸ•£’oLSßÚaûúõË€øï èE¶9Ú4GªÕ)²:G0üc5%mÞÛ9}ÄÑCƒAÐ¥¾²íK_v""”ºv©¾‡| üŸÅaÈäŠYºtqvqº7þ¢é,Uõrù\;ß•ìÿ. ›”Ãt/­çÈõÅ–»h Ã;7¡&L.¥u–>¥iMèÙÒ"Sô݈1,í°Í€qÊ:”#!·À0ÕŸù|ù–ô-ehE‰Øö1-ê¤f”í±Ê!È9=¡ýÖBEîÒ×ú€o8Íášn2Í0ž¾Õ·àȵÅZYaeOn±|KmP!¨—Ö3BlJãëx–Õ½<»z~’2bÞ6öì½7F1ž–™gô‹œÆSêu%§Ð]AûIjBµ¼ëLa”E>¤Ÿç„Û3F2ݾtŒê—B)†€(õg€9Ì/f ]ëϳìÁoSq(ô CÉü^9¢šS–@cm¢’~^Öõ³«œüz«Ü.U@žqw?Ç ‘ƒ?s<þÊÿ³¼ñ€ÈKÏw€Ùgª¼'¯”ô•’¾RÒ#%ýM’jìX†ŠâñyP•ïÑ–gXä—s;xC—»7H^L‡ç§ D[*uÛ¸ý¦ê8l­Œ°eüûO¥þSoåûN³¶šFËø5Tõ»i<^Fó[ïÉ0l¯‚¬›kmd “4–`p¦‡w04V’š^E¶õWŽƒJÐé7æ±–£ÖL¯=wn0vVšœÛþ5,p§{%íç‹ÑðžHÖËhà—œ²%Æ’Ûé¼e†áCÓø9Ò+|R¾hj˶ᇎ¾À®×çrÜ«þ±?Ò{É|ê]Y͉é7» ­™9­Õr®ißǡ¬ (~M›3À€#×I=ŸAmþ¯8îøOȈÁ €8")÷Š…Ü€9ìÇe‰‰)?D‰+‘kF½.ôüBÍB ŒeM…„{:1q >@]EkÉ¢‡¼Ìñ™¾úîK˜šõ°þPKõÐÕ_ePKˆú6META-INF/manifest.xmlµ•KjÃ0@÷=…ÑÞVÛU1q-ôé&òØè‡f’ÛWäÓ6”¦X; HïFi±Ú[Sí0’ö®OÍ£¨Ð)ßk7vâcý^¿ˆÕòaaÁé‰ÛÓ ÊëÃN¤èZ¤©u`‘ZV­èz¯’EÇí×ùídZ>Tð  Öybì„`´ÎyÊ뛣«¹V4"BO[DÈŒ©ð¶RÈ»œ·)oÞ zLñ˜ =KbàDˆeð Ì¡R¥§æbw Æc!xð!…|R!|ôcD*wÒSêÅàì½)×F$ùªÙB ¢Ž;Ùߟ Jnêž&éF] þ–ÃrÆ=Ë©Wo³Ÿÿ×Ì¿s‰iv¬E†Ùžõ6ÙmHòiØ7Î Ÿ·°ÈœÿÅsiòÇ·¸üPKÌMfBQPKˆú6…l9Š..mimetypePKˆú6TConfigurations2/statusbar/PKˆú6'ŒConfigurations2/accelerator/current.xmlPKˆú6ãConfigurations2/floater/PKˆú6Configurations2/popupmenu/PKˆú6QConfigurations2/progressbar/PKˆú6‹Configurations2/menubar/PKˆú6ÁConfigurations2/toolbar/PKˆú6÷Configurations2/images/Bitmaps/PKˆú6ê]k ¥” 4content.xmlPKˆú6/ã;žÂ Ø styles.xmlPKˆú6Ùã««meta.xmlPKˆú6>‰åÊ(â(`Thumbnails/thumbnail.pngPKˆú6õÐÕ_e p?settings.xmlPKˆú6ÌMfBQ DMETA-INF/manifest.xmlPKîŽElepton-eda-1.9.10/docs/wiki/media/tragesym/template.ods0000644000175000017500000004434113634703632017717 00000000000000PKYŠ4…l9Š..mimetypeapplication/vnd.oasis.opendocument.spreadsheetPKYŠ4Configurations2/PKYŠ4 Pictures/PKYŠ4 content.xmlí]moÛ8þ~¿‚pŰüž7o¢·‹Ý× \öpÀõÐe‘D•¤âxýÍ’-;±#׊êÜml‹’£ç!‡Ã7éÝû‡8"÷L*.’I«ßéµK|ðd6iýqó«wÙzý·w" ¹ÏÆð³˜%ÚóE¢á›@êDm줕Éd,¨âjœÐ˜©±öÇ"eI‘j\–›²lˆÒ˨rr#\N­Ùƒ®še7ÒÒiõ’p9u é¢jb”PËÉCQ5ñƒŠ¼PêqJ5ßÒâ!âÉݤ5×:w»‹Å¢³v„œuûWWW]»RØ_É¥™ŒŒTàwYİ0ÕíwúÝB6fšVÕeË*%YÔÅ?° ÕÝ_Ú‡hJ“%ùð馿³´µÌîÂî©äh-«—÷mÅYQoÆ&9Ô3µàJ=§Pwy8Í´€öË}Ïä³"È|n¨ï‹þª°\iÓI€9в8i)Ë^*¡HÍ™"¡O%£wÞ”Ae… ±è"Ç\|Á4%£NoÔ÷c£I}º šÒmМ_¢›Ü…›‹-Å ¤¬•ÂÀ9ã³9X½^g4„²÷ë›)æ‰Tó˜F^9±–;Dí~“Úçi=¬Që³þYCzkút%)cp˜ôR:cžMñ ié­›*Ýõà®Òˆ.s}òܰ×ÿÌ‹E9EÒÓÓǪZ¿Æx‘Þc…?÷{höËB¹ŸŒ=J»§é²]f…EQ“R‰ž¸¹Øºÿ\ýªø\Áv9n·zêßͤȒ­‚7î ;ÇE¾æhÄg‰§ çAÏ:—"V²”ÑÕCT©µéLÒt¾Uê:S°â<1SÇb*g<ñ"bå;Èü±]æïÅ1|U(í° ß«¦…¡ï_]HM+)ñˆ^ã<<á¢AV&Jñ?!ª?Jõ:l‘ÛÁ©ˆ‚C8GÈÒëåèäÏN ùWÒ:ÐXpz.T7œô%jC»UdÁõœhð†„¼ëæÙÀ-ªkù,eÛtìÌ«·Gt7A#ÛÏnÿØ`÷L.IÄ4‚àO"ôr»²÷Æ~!_”ø"ÆEk#ÝqTÔM…¢÷ŒpM(´ ³mÂV:%Šá˜Ô&XБ–1×8*0²Ç\ž{ƒªU`X© üèD¢þ{<“—u2ù¸ƒzumk!d 4%ø¡H„ ôB¡é…Rž ‰¹’è4ÅmŒDBÜ<¿ƒÎ :®±kduScY›7öA;Ð퇯™Ð?ýþ÷>ùñçÿxk/;à:Pm;$E`4f‘ñbîKAp*E pC%I˜E˱ã«n¾¤Ð ÖmÞ„ì•*Ú‘é¸4+‘šj*4¸ôã˜h¤åèÜ».5ˆÊ[ùÓÆ”ýúûor×:M˜:ž:¢^Ƴ{T4˜‡Ì0 h2ŠL—àövÍ™­æK©‘Ð L)Óu¨6™fJ1øîtÜ@§2£JT®Øñ¸V+oÉjhMÏR8ªNá°Ò$ΩðµÑß7EZ"gGÀWêp\3{”™ýòØÐÐ%`_m¯ƒ6p«oÍ–û—",ŒÕ›1¸Ë,%å%â•#ñ¡ÉïqAͧQ£\nP阬‡É¹üO‘hÇåipùçßϪͿÏX@o©Ö²†ø«:}û8~%ão”·“SFÌNn§Üq¶Pعx;MåÆÜuÃÏC²™ã#%»‡$vPEg< ÖNAAAFJ œD4ѻڿN9u“ƒ8ç‹ë“|QJMð§RæsACÁ=0— šhdˆ££^"?1ÞÔlÐë÷úý!é;gᘠ#®ƒ²ªðü…¡¶‡»™ÙWuLÑT+í÷Î_(„6®­k Y"û —šºk‡øóˆç.¢óÆ0§™ž éÀnÆÌb3 ntÚ°4iè¦ aï r×ìJLiÆQw,u ›ruû5låut5F×ÀÑõšè:º^]#G×Qtå“÷ÎGwp;¸ܧ²í¡â±CÜqèÎÖ¾ª iׇv#®ÌÁ(!¸9O3ÍÚ$bùó¦MîpÛüS‰ÝÇ£I Ò¬†‰cÇË–a‡pâÓw²ýÈ“6™n.à‡ÀMJU›èþ$o?ºƒ …|먨½‰`ªø`’v t‡oüJDÂÞv~aI´,ïž"”$¬×Ö³ÕiÅugÍL[¶u{ú–IXœê¥9t È;¨þ¶LÛ}ƒ!ÏæcEO ±ò/ßG&~ûü‹á=Ð8Ü3}êçœÁ# d ß“Stæ&Üá}’ΕUb6³{q±ÇQ…•ƒîFzöéYæ‰%_níwÑÀÆäË-K°Ô/·¤ ò˜$qäW-(ßJ_8æÝZàFä”çŒã–î<¤¢ŠÀÀŸ‚ï®|Æ’:öPº*àÿe@‡U=¯¨ûjµÒj9ö\­( mì¶0MS…Y¿»©Òê:U;g\¦J«°pB§QjØT4ªÓ¤×ºìrB@ÐÍ=t@7ôÈÝ Ðgèf€>w@7ô…º /ÐÍ}å€nhÀRà ‡t%¤Ýذ)¤Ýà°)¤Ýè°)¤Ýð°)¤Ýø°)¤Ýq7Ò›ÙƒÜæ*amðpϯž‹Êõùƒ õÞôqöÞôùÙðòªé³ µ¦(‡ld[äh ½±o/\½Z¯¬Ðî·n(iTzŠÃõ ûv¾Œ¯xmd÷Û:þæ‡ÿ×7_¼òrãe–E }ÝeqU<àÄËßÌ|ý?PK _ðk ‘PKYŠ4 styles.xmlÝYïnÛ6ÿ¾§T hɒܤKÜXA±n؇¥ºîhŠ’‰R¤@RvÜ{ž=ÕždGJ”%K²ÕnC·&@‘¿ûÃßïNÎÝýcÁ¼‘Š ¾öãEä{„c‘Rž¯ýßÞÿÜø÷É7w"Ë(&«Tઠ\JQsµª7×~%ùJ EÕŠ£‚¨•Æ+Qî„V]ôÊšªW¬²¹âÜ•ÖäQÏ6Øž,ÚÌ·lÁ]éT¢ý\aƒN»â™˜+ü¨X‰‹¢DšžxñÈ(ÿ°ö·Z—«0Üï÷‹ý‹…yßÞÞ†v·u·¸²’Ì¢RFŒ1Æ‹8tØ‚h4×?ƒíºÄ«bCäljFƒ¨ª]>;#vù5x‹äìܰà~x_¤óÃû"íÊHo'br>À¦ýñðó1d1×–Áö¨Â’–³Y£»òBˆÖU#P_Pëî2Š®Âú¹ƒÞŸ…ï%ÕDvàø,#†[ÆE1FàâÙ™4õ½¦„ôÊVâjT& >e“ %˜©ä®Î­vÙ«Ÿ Gkÿ{QIJ¤÷–ì}ÉÁ Êkÿ)*…zÕÁÔ ¾×QYR!Ô}$©ž·öšm?x¯ÞǓ֎˜ic;$©)Fóí}ž¹ä„I!ŒjO•ºäP8‡f½nÎñ”d¨bMCqšmÁ 0aÌwðãRPJH'©)´!§ ÓÁ£jí/ô”H¢\¢r;”`\”AJ•FÜô±x±¼ÆÅQÚt¡ =ßçL¬ây…rØH‰]À¢âZ‰ÞüàŸJpc?Í ‹qz„ NÜ^£rlë¨ÚTEFÏ+oAcêû›&º#aKîê‚ßÔý^,k‚ÞšûÙyÍSAy@¹&9È¥4§[C#:[¸’ƔØ©8zùKäα Ú‚éñZVdʉaæœwÏíæRT¥”¬ö°Uo2&ñÚ3ØÇ¡ï‡b#˜ÓÕO‡í$Nòçï´O”$#ŸB˜?•ê6y™€^þ$Ë"ø:=d0~ȯŽßšž•íá)Õ¶ûì«È³çOsýjÝ&*KÖ°ô3œŽU-9ŒÐ›ú²ùÓå1œ~GÔyY¯-‘í`ôížI[kšùjÄ(vú,¸â)‘0‡Q‚Ñt²§©šP¥Å¢IEkÔþí·>ì Í·0A°ÒNºÀlMÎò³Øék†ØA¸ÏÅå'‚ÌKÖ?˜3]ÑRÉy `1ý f§\’’ C&ÜAôeˆ)r¡oåG¥kƒ Ì{“ݲÍúÑôÖ—¥ö§2çï³a4þ,J]8æP*…FæêPRŒû·ÑÐÉðdÚiMrûÅA *M'fè *Ý;SYÄþfè“™ºÁÿ )ˆ1èÍ1$[8ܱ‡öÖ2! z'ñ2UyÛÄ Z|wÃ4dבÌa‹‘Ìlôeï¯n„Öf¨Ú‘*œv©ñå ¸ ó߈}ÂA.où5Ïìl„LÍ›}´ˆnnpáÙzî=‰ì—E”(­?<H|ãÄþ`š9O] ‚#óÝòÓAÀ¨“A¦ Îú?H¥ÿ*c—;œ¬WÍFT«BÇ#»h4`ºwaXæjï“;ûY]ÙüV[Bjprž.6+å '¡7atýš*˜FƒŽWSÓZÿ•PM¼æÉ¸]nIì vÖ>8]=ÒÏúx¼Dí;R y–Ùå€Y×úsÓÃŒ?ŸH¶÷¬ÆiªYR??ðгÔ[²WèÄ:LRdr¨‚Q­vð†·‰(zDWA w#†;tµ0+˜|ë9‡Áûe´Š–«ë¨uz,}úþ}¹œòÂ.о®$··]`½ö/å^8~ÛÃñ$PKM^O;oNPKYŠ4Uô[©©meta.xml OpenOffice.org/2.0$Linux OpenOffice.org_project/680$Build-88252006-04-10T19:33:072006-04-10T20:02:50de-DE4PT29M45SPKYŠ4Thumbnails/thumbnail.pngUºPM¸¨!œàîîî8‹îîÁƒ»;,®Á]4¸»Ëâ,î—ïœÿ¯ºwªFªzúÕžžçí™p%d|„> d%ïç¨÷=ï+ìûq½:ØùÃ#€¤˜ºGÖi6ⳆÚã[îT¾wRP-“,Þ{/a4 h'’xHŽ—ÎþHJ–Š)·«)'5…d7ó œ„Žÿ,=,v*s!{;÷暸Ír½NíÚ°_xñì?Ϊ¿k;o\x´:öDÏõ³Ì+&~FáenÙüä¹gºý'Üi^Ç|x¾ ´÷útŽÃúãnëýv¤ÔÖœû†oóóóÕ„á›A³Ý°úépºHø\ë‘t9HâŸd»ÒD²÷È6HH1–É3‘¦Œ;tŒ¡$[¦Å|1Jâ:Ø”Åa®$·b¶òC#|ž[¿ëíÕ›ïíùj-Dà¬E¢ëéL²ÜX±êÐì´bÛ<<%CÂôö0á¿„*ì€ a¨IºÛðˆ¯û=Ù–©—%D^ñl å‡Óãxäg¹-[ž[¾íót;.HGá’QÉ%Åú=HiVëA Â»q»5] <>jÔ i¤4Ù.@¹ŽXƒuä2ÝÆò'Á‡ÝDèÍ‚a;Ôù%IM)^Ø÷qÈÿíÉP§Ó«1Ëû¬Õé´q¡Ía4…)Q£B³j³Þ±ô·B¯µÎçõá@Ì€A³2H N Ò¿ßx9sg¶'~Ôw_Û;•«Ó=ì¼Ñ¾[S…ÏE_DܼêYiØmp»áïo9_™Þ^ìhY¡Sÿ£•Ûn¹¡ìIÈÿÕÇó Û=°©i¥ÁrgÄùfN«ÝŒÙL¯Ãã÷±6‰ß}þlµþJãð»K¿õȶ®ÖŒ›l–¶Ù :£ ªœµŸ ·^ ¬½E2·ÉÎWë㳞¼ Óä2†Köýݺ3#Úçÿ¹¾ÓKè¹–¡˜ Ço1Iêy¿¶wR?‘ÂÒuß§áv¶ÚJw鱘š&ìÛÖ.s°ùÈwµ#=D“ã!>.x¥Ê÷ÍûæˆÊÿåØp­1… ÔæˆÍWg6 ëiÙ–Tå¸3Pm2£cãëé9KÂ’Íïê”-PI5©V¬ðÍ`ˆ\*‚²«ðÁÞÿ „Çm“Ö`·¶ìŠ»â¶¼®g’$rTZ¨÷@·£,òB‰*|Ÿw,è¸L™éô­[”i­å:*ñÙÂüƒçLªÏóåàÓÝÛB™Ú`§êh*‹»ã!c¼ ROg?ªˆ $£xì.™`w?ÓÞÍ~Éû¼ó`ÝF:¨Ö[0J>…rÍdöpñw¡7m„Õ\yk˜Œ07q.>—Œ§ªŸ´ôˆzƒ…ê¡ߋå}‘|*löh \vT –˜š"Ķ‹¾¥ÃCÒ°,¼ì†PÍ\¹ÍsV£^éZJŠŒ/&Ë>ì=˜q¹ª ±ÕÛß+õÞ츗—{j\0@ô»ÒHòîpÅ&âwJÓzº=5ˆÂsÀ3oy{¾\7\løƒ˜ºýx¬fi©²Ež·Pó÷Ì8± Wþ¥\¥8™}i»ž–OÜ.bÐ#ë½J’´öøÜô½CGá¨o%ÉVzïo)7ôölÍ;l´™¢Ö,ŠcoO®Ô¬T™Ô@ac®4F©üÛ¯›Ú5„L®À¨zy¦íú#ÓÎ/ÿf¨‰éV,  wíé" Fë–!ñ ëy?ì¥êßw¿½œÇÈ:’r•¹lÉËÒ“‰~²”å§¢Eå¢.Øøò㱛ʒj ‘ëÍWê$’«’ú.¶]ŽšñI“{t,¾É*ÿ{Úð{ªJ´ˆ&H%P!yA- ôaÖmr¤HFƒ ¥/W–‰HáN2­i”Ý¢õ*4™Ü£¥M(Üvù ±,dt‘2 ÆÙ;éæ9ލÁpoOoëúÞ{ÉZ÷].ß‹""°F¾ÉÆ“«Š¶Ùêß×Ô¢G$÷²Ò M=ÄUº£vÞœÏgÕ”]m§ê͕ݳù­…¦ÿæÄ`Ò Ë1Þ/LÄstô‹º˜ÍªrÛ}£~Wy€ìw·æþyuÂÈo?#ú\žF³œ÷0/H×°àƒ*zn²JåŸê^êºe©¬'þÒ˜G2|7m†±µMyúnKf­‚¹k(Jru`­"8©»³µÄWŠpmnê³÷HêÓ-ÔœO*ò¬aêíDkÜO‡+¥Òkh/vôS wÛ¸P3`=Rª¼‹ö) $Ë «‚»XyS k ¦Î‘*/=¥Æ·®¢Ò°æ8A˜(õ!~ñùÄ©½X‚H´­è^²¶´è¡ôÚaL3 Yž&Û¨VÀ gÐ\oæ’Ò®cwPN MàF¥^“Å_ µ›¥Þ‰¼\«É|%ëEÚi£fðØçXËR…§>·ƒS¯áPG`Ó÷ˆ÷l'óôœ†©Ä²q5p®ÖÚ¿¿3+¤³›}B7¨ÿ1f„·Îr²ïÜÛþL5Z9 D]¾ Ü\æû,3Wþé«Jše°ñáŒÌ€‰?UŽ5ÅúC‘‰.©‹5ï©ÌLÛŠ õLÄšÉp˾%nTbNH£m±þÓ¬ÒÞì ú DJ:ùˆlØæbÙÌhߌt7ù¿½:=BJÚÉôR¯‡?Ûk :I_Xû*vát—$¹[ˆ­œèDÒdzÍö¤¶¡Ntð%&Gì†v¼¸»©(U¦x¬¶¡/Ýȶí6«-Sñ»¥Lp}+m*IJ·}!ˆúÙ®?­éykë\UR±£&bÎxS‰o$E·¤Œ('Î5Å È¿~Õ^»…:ûÓ £ôcäªöÛá-îùžMú¿Ü`bì¿[æÈ¸eú9†'¶9ò[âžçˆÕ±¤§-±°^TŒb=¼r3“ãE/œÚ¯³[pƒ"i¯Ð_Qm˜ƒ"3;â¿øíé,´i|àT4 ÅBk t¶õ7øƒé{Ï· ²và†¤à7ó_Üb_vÄgÛ_’?Êaöï¿Òöšÿœ'Úõ\8zZ6¬B¦/+JAÍv‡®!Ì T‘³É‹e¿ë ruxÿŠ¥?û† íq*¸¡z©‡Wõà\ÃÝ ÷YMIãÙ|ÖeÕ~ð ý‡/úqmqèÒø”Ðý› SlŠ·? QYhîi¸|dg¬lNââ¸ڬmÞl·ðÿÓ²Éÿ¯Lë.)&5—Ê6#ßb&¥ xòóÔéí1:³H¾› zÏÄøä~KÀ°VmÏütšÚÞÃõw¼Tù¼ÎñL7Jp´V^ºa…JÆ¿˜ŽüÌLDo½Ýí=ÁBAØ ²w݈|9r;8Ê(x(§Tjƒ&o"Teˆö³{›‡YèõI¼.ìøé@ŦùX›åˆJ޹¸Þ°èW‘< ž¢XßPRí.ªÍëdUâj=‹ÔbTvÿÕé:Ëšëô‘0`©Q£fæ¤ð)ܰ3êQ›®pßòg„”cg– 'ÑIIÍ”K¬‡±Ç4÷ð„çõH„vq}jèfýÀO6äË5\zQŽîôÍ*”–¹,‚¢Ö*¦ÜÀ«Ó¸G“£$zƒ®g HFÐXðÙ—1Ýÿ—ÞëYÂÊ€eEØ1eZ?]eùBÃy¯¢Z„­VIšTn±¹éPÅT8|»’l] ¡©/ÔÂ,qå­V…2±J@øÆƒ¿K•üåB¹Ef&¤¤Ê~Wäy#á†8¢³Oܹ¬‘ètô]f7ÐËét¹D à¤,Ö)15¾ Kê°L^”ëÕÙª"hT’%§5näùÃË#—¡‹6.)T•mÔöYþëÃZ­³ÜdDËâêÄóYºF‚¥œ•æô¸X¤iJf4¢Í$§¹ëËSEG¥$7yæé9£²¢xç?… «uÚ_Á×ÓÆ@*$SÐì:oæ“ÂòIcÊq€Æ,¡e€å‹¨¯ªÎL >R$]à\%þQtäšùŠi‘‹•?ÍMh)aŠÊL¬‡é´Å )m‡ÍüG+°ñR=~<¤¥ºÓ~E}†Eå¹ã¥ükv xÉA“ˆM?«OýmUgW?PÅŽáVDo£{Œü¤V¢ä:(–†JVò/Û§9Í<×÷V'¥­|jüÛ×uÝ}iYÎŽƒuïóäŸa[ÈÈ’OãiW¼pˆäò‘æ÷³‰:ëCR GQ§•«ÃÖžÜ$¿3ʾÓ6«å>à×R4Ïúaõ”#.JúïŸb­=1x™A£†‚ÂÄœ¨áqzq‚µƒÅ_ë«à¶¾s-k.ãó9­q¡E ·µËýŸ¾IÄÛ,7 ë—ø€<ÀöUÜF(PsÛ˺RÌ>ù‚°¥4MŸáabÁ ªû<9¡‹/X´• Òmšüód쀨-#"êìh¯Ä…P30<ǧ Ã(~ [ ë.zâH#I£ãwéµ:凯«åýË5Á$ö¶q( :É‚¦Ø_AQ+ÊÆü3öˆ.ȵ<Œ5 |V<æG>Ÿ‡-å¼WV˜ÿkÄjI)gŸªYf·œ5ý–ÅÃ5+Üý»MB>Ÿr Mez->ô|d@ÀÑüÝmo¾‹`¨Ž;®nwEX'Æ@¨Û‡¾óZ«’8ÕOÚHØÝ^и'ºtØN0e¢¡.„Hó3w”T‘à˜V·§E—­ Cˆ‰4j}@év3½UßSMÛ2ú$lMDžøÇb…BÎjU¬ma|:ü›ÓµF¿ÝÝûÖÆ|‰ôß8AËëãñžªþÒøöÊ|ÈÃôO{"2"ÆÑ’°äroWãÛ«Ÿþichª—Œ• ûýÄ?F5Þ3nÚ°¾‰ÑL‹ø )º©‚DvYT{ÍWŸ5®ÛÃx'“,2ò““‚Œ¥/FWq’_FÇêC†·¤«yºQ¤8dŽÊ†Ê)hþ.Ü>ÛB6råª2;AnH|5ŒûÐ˃+G–0Ï:>×@'èÀE6pøc¦!…’4¹26Ž'å÷ly0ºRg §ít d®òÔÚV‰Ú TÙk>]”ÇÖBüƒÙøƒv“ëÇ:¤ï™Mý÷`­ÔÚd°°*¸²ÑÂÈx,@çSIp”ôå»ÒËÉ-<ëΞ ‰inÿi5ñQvŸ$*ø£áœˆ]kÚåu ”Uùf!Ÿc$4®žÊï )ƒø>šPÅ'™tùÂÓ‚&æ¡vÖ_¶üïÈyÊ›‚©Ëaò/[54¥jï³µ˜<zªòÀ*ˆZŽ2žxöÝ5-æP0SXO4ukF'¡œ‡˜äp$”r{ÚfŸýQ[U—xc“ÃÕl6¤Ì‘ŠÝ說ý‡›ØÛ @äà¯X¦a¬i!Hìa½¹Í:ãã’G˜­ÌwŸÛ‘ì·@ “u‹>×92ïöë³ ÷¥œù:[þTÂltý]3/ºèÄ9€Þ()Æè‹ó#èÑçøR}Dh,ÛÎ…V,Z_8"Õc˜°ÀÃeUÖ•—ÚR滛ø}Èâÿ¹ÃÁPœR$`Ü“V…3FŽÐ°©teãg’"Qq­’þN(àfS›äª.XÀÚ9 §ªþdv•k¿\õÑ0ÖŒ_UÇ3Í)^øCJ}Õ"gL».,³äÒÝbùó‹ Z3— mÀëVÉ'ø¨ñOùEú'MðÜ÷‹ØÆ»EÄ3¡åÝo›†¿uéŽ~‹H2UE}.GËI?Åd*Õ—bþ…¶+xÒ,øŸœh~˪WÜŽU3K(á ¦}iªámߎ ¨GÐR0ðmxžÂ-×^A÷6†úQQGŸž»…œì6:<å×9Ûüó“} /qù¯ ݯ禷'u~/‚ááñŸÍ¢üä7СÝ2Ï„¿ÇÀrõð>ÿx$a2e+~>û–_Ze@χ«\oÙ§Û,X=ê¹ ­qŠn™ƒ¿k\9›¹~^QœV04­Ì±Í„ô3ÅÈ ?K–êÌÀ®ÇÔí`oÄÕ¯ýö«÷”xf£ó‚ª7 :º4ï{» ŽÑ½ð¬Š+Ù-¨`_‹¶MG—¯añaÕD ‰ßâa_¿–Öa …´BÜqM7c¬‘ýO¾’|ju ñG+ ‰É`œÅä&ï]¡Õ\ÄtÙLÍ<æ+4ÕP±ßýØÍw=®kNèëŠðï‹ÞSúˆAB5ŽØ8a !¯ÕZŽâðpŒä¿‘Ý ïXÂÜâ6ÊTån~KLÃ[ 7 º"”OýŠé~=Åeº;¤ß]0¢ÞRQÜßInv?ßrº«b7¸ºìCÄ0[ªKî%@>ÇãØgj½¿7ÆCHŒ å¥\nh m~{\p‘ñ’O¢Ýß BV©îjK'Øpñ•KeÞªÖw™J÷ ® "p%M’Š|å|Þx˦ˆâžþðuFuìI¡ÍBC“­NcŸ‹ög¦ö‹¢ìp…\²a ÿë}!aøù$™®‹ô­¬¶SŦ­¹W@OµÎUvÇÃ>#dé*Tð»Àý§Û•›³-lMNKõû‡[褄„Ùãµÿh¹†5Ñ7b.«B#:ºWsL|T{šXÁ:¡“tóyñ6·Swh‰ˆ>#KïÔ‹y;©t/)›qF/‰¼SÒl“Åå1¬n8#ÐT¤õåÖ °`Cøž¹@ñ·×_–w†ïøJw ÕuBGLuZŸ|÷’ýމÙn vÛûõÜtvie¢„`ÂmRþõƒ) ñ?©¢Ç#ƒå¯U5Îleµá÷†iÞâë¸&óÄÖ(Ãùè(T™ö~³®YÐ=T¹„Оqí‚ØfXTøvÓêZÐçÊuÝðð“¢üL»¶€ê0º*ßAVb‘ÝE"˜¬ï,ŠêÑÃ:ï"®V-Âöýõ݃Ò‚PÅæ>ùÿ%é$® ð#þ»¬îgÕ#q}¤À„€ómš0‹“™õœsŠüâ#Bí …¿ö½¤½@ß›£dÓ“Å2èÃ!ÜèíZ›ÐiÊÂóÅÇê…JqÞ˜æè‹7fGÉÔ˜0¯Í¨Qo á†*ÞõÈÁ„á ó–rÎs§½_±ž‡q?ø^ÈKðøL9›_&yt]ÉNÁ ~½ ™€›Ïi¥Ö¸Ó¨Õ0uÁûwßóízTÁhüúbˆâb”„f‹7[­/4¿µ|ë…f4„O–Í}ú.W*òì<©­\cÔö1`¿E{Ý”ðtNÂFbÀØJ]€C:D×;^m5»ˆ8|ÜE7«,Í£p~}è&v,Vö§npˆ3“®cÖwRÛŽùOFoC@ ºXÍÐÃT|™Æq3tZ~ 6¬-q½O¢«¶¯¶¢±ë~û¸ƒîfaé;&cÝ2þ× –S‡òÍ)¹¿{„ßΗ\ßÝ!•a¢ ð—6ÞÌ2LWë;CÖ_,!+wšïSIÆ¿,>-%¾=ÜûÊn–®ûJ}à€ôYÇ`qÈ·þ®?Ÿã~p'vc›?Xˆ®G½xåOšÚB}pxHh¬fˆ}ÇeD¶.Ýȧùª'!—öèUea]L³/g¬­d–Ö¦¼®1iôW½Ž1<§GüÎ8“`&uÆ…Ÿ$iBJ KTjÔh°˜ôZÔÏZ ³¯¸\J´"bÏÚIÚ}Ù¤Åo[¬æúT5 iàí–¨î‰(x(m‘;^šw| EÑf›³&u^}?‘ÛWIÜÊEÙ,TÊ}û`§³ä\~½~00k«Þ×ñ¦OµOs‰K], Äõ¦IàWX¬ëôÅhøŠ)å"ÆlªÕŒÙ½ùVì’̰À_7š¡¬à‚ˆ~{Ú^¤ßÆ«YœŠ×O9´žåeL8,`)4M­‚‚扙d=1ß½A”jë*^Oícˆa¾\-5Ø­qN– ÃPµ³M1yP²3­p L¯û¿aЩƒW~‘·Ž2ê·™»ŸWžË0líÛ«ªÔ«õÖ]#ª@þrSõ¯OÑÌÑ|ÎØ-.ÍIº,4Y* éŸ1G´Û ÍJmŒ$ä›Úçû[¼…š5Ù& YSݦó™ƒùMíʹ–Hò6|û¡8ï@k7üß%˜>BoËŽƒsN%âûM^Äì úR .W±’Ü£·ÆƒßM Úí Tš`¿ŸtÑRµç*ÉHëŽHóM½>þ·ò'Á”C5vÈ¢À~$,K¿·ûA;_8SefFº¾¢°.”lÏw'È w1å!a≠9>Pª»Ðz.•šu7¨•2…z…æ°N¹Ê¿D”`Ä龚?S½e4É››î0]JN5ÕXî[ÂÓm3ì‰epmýœñA;]P,íÿ¶þN¤ y·%*+nÁøhð€ù»i´Gpx<Æ6 Æ{µ´’ìÜgÿaBFé¨Ó_2i¸|½®ij5gtD,"òËœk]Í[ƒc@¨¿&Kíí2ð.®îdn%-à†€G>ÕÏd÷¤üzÇö­€diE†³j Ð¸¤T´ 3Xw­žûCCþùnÙ¥_N™³Í®ÔùüŠj©é´)ø7ÒÞlv<ÁüœY=d2Ñ ¹MI±b_ïÞøÿÖGׄøÃߺßFÕÌŒ üŠä±Ïü혫2²ÈMÖï”,£pÓãÙ©|›_eðVÚ Ÿ_C÷✊öÒsPªšvw(5¬¿:äÿÓoQ08v.ÌZ¸dÃÉ™ú1:Ÿ»zÃzwn³!ÙõblÂZpÿ¶Â%¢? ø$K-èh’¯Î+ý7m\®Á¯=~zoá€^wR2ì¼c.$'?aVd“ž0}TÝËþ4ò—;³?b.¯€ ÿ…òkáñõœn/‡»ÌlÇ,FÝ&Ý ·3ŠC·b½ÉÍ4ðÛ['hß÷6™À¬º½ajÜ2W§ß5ͬb¾UIìàÐã!}ú_ì>¥æ‚6|1%Î,Ž»6hûÛ w^y í–‘ììS–=F~fR¼=A¢Ó.ru~s§òÿ¥•lA¹ß\ÙÅyÈ…[Ù+åR\µ@©3“ 6xó˜ZpòÞ˜ àYž9šw°ÜƒÓÒwˆxú³(—fØaQxõâÏP÷] ¥N6‘ëp¼ãüÕÐùàÅIEi`0 oÇG9ˆvpïH~%tîâ¾/f„!›ÂÑuVØûö¤b&žæ|ÓÙ»åQèLžÊ¨3Íw/|RÛŸåì¤÷´-žo²7’<ËÕUâ(ë·lY2G&‘õvP¬˜9r±Õ¿WZƒÀ®B³ÃK=ÎK]¢4Ú}¿xà‹ÝÜ—H­èô œÅ;åú+üì|˜ßÓV³Ò‰hß‘K¦¶m^Û}»èGx:æ¶Uv¯ë— $Aä™ÿûøÎ¹ïxaUZ›)*QZt ¶žgäÛ‰âÈ"±žåþ¤kï:#°+DD3~‰ÝìEg¿Ö6ÇG3ÇyÒ:ãt¶s†¶ûs >w²?91‹Ú̈(Ñÿa/u<¾e`Æ›“…µzüJ˜*r=)ÁŒ‚šo¿ÑÅ¥º‘$ÿölØáá4X-Éá•¶_mù}%¡˜~È*¨R=“ÿÕ}œï … 9‡ Ú‡´3›šÁeÝ6X±xGè»[4|¦4BDù1ãâÀƒ]uíšË1‚AE“,z^™ág9Pi¢cÖ¯+Ør çΰ(½FVÃÐç"[ÂÔŠ+Gט3‰Q©×ÑTÔWP Ä˦XqœÍë¥?›Czøä²›É \Ïøc&ñ4H|¯Uµ V¤ ¸m¾U¡,áý¾sóò/„õñP !;Î(òP­YÏÒê¬ÎANNê'”†I³7,[_^ö3íÛì]õÎ(è ý{dó/Z%Ƴƒ6ŽÒÖB•=\B)bxÉé*7¤½Ñhæ¢p»¼ÖëúþT“ÿü’n¾Þ‰ÈX%ô1Üõxž %¹:˜pO¿Úã VAû'ˆlˆ ×7žÎA,ÿ 1g`zø™yèôÑrxN4†qÿ°›‘B"¢:JÆìÏñH‚±ÿÙNJ÷’T–.¬SÿƒÝõh6o*Î@=A¥Ìê]°’¸(ûfáô—Ýô'šl—„‹)q¯ëíé,ûùHVDlF‡]‡ÙRÕ#qYP³ÝiKH±nòé Ë…ûº'  ü:I‡?$—n”kTÒlÛ ‘í;`&[‘B“NË+ª¾QHà —Ü„âªI¾Ð dÁB˜įVbérØÛf°ñªÛÏœÞ#)»©Ðý„„‡æmχ{¦©áËô¬k°š“ƒE%&”Åád¿{OÇ1?* $r Z«&Q‚ïâ·½­›£¹Ñ½™Nï;R"†ä©÷‘Ù•|]˜€¤øš‚ir¾äeµ5,ßÓ¶èdé¼òÝ.šègߟü÷»Šn£Uˆœ…ßSÙŸ˜R[£šXb!~©ˆB()£|)çJ½¹²–Š(™¾º)NÒÐçò/ø@túlþ/-ž¿/À–’—Rö‚{1»ÔÿfÆàÊÑÔO) ¿óìŽR weü=^˜p]}s›´Õûàò+ Ó'O…ÿd™ÓÀ–RJšL²Y8œ©î».¹ÏX.ÍUÐÌÍÀy’q°«Ò€™Gƃ~%L>ßÎ8MÿЄÎoø\E¿3¬À/ßGmcR…Œ›¢‘Úk Di¼7¾ ñOÅ•I(dŒ›³P*†/’)+Õ͆ÃPˆ7]¼ßæAj¨¥¥1H\‹ÏtÊÔS¢“0¿ÃåÝÀhZEÈiùclÌÓUžhn2>=(´]iÊ_èß&Ô/á (§X)=fž«>Fê*“ýE¢zt¦³7ölò¬Ùt•smÂl¥´iÑ”!¼ÇzªËÖ@v Љ¦Ë1 Yg†(¿¸tìbÓûÐ0шh‚ƒ}ÕvÎq`Wwv­Åy™f•nmÖ9¯|[aÊÞ™çdÜ«øXÜÄä(çQ¢ì/»·×—µùV§==\0㑤ï{ÕH.š¬úº-Æž¸(·ê@ê#-VÅ¢FH™ÀY ×ñ2]€Ö3Âêjõ>H÷Ö¦ìÎT S¡mbØäT$|AjþDï°9]Q@ñ‹ÜTNÚ3Nn€ña®è²öfZë;¶ô&#$F7‡Fв϶ï+—§ Ë4f>¸bU¼”´œ‡#ºn¤ §dB¬¢0m±˜*¨&žÍ~>Z¨ÉU÷÷ •€oMPܶ&°hƒÀ æîrPÜS¦ âþõ T ›zœ4~OÏÑQé§°5«áòþ{p*-™Ið¤^¡ùJÑeé) þ2óÁÌ8¹•gηá×;x®ì üZJífJ%‘—ë<]þ¹÷áÔp4Óö¡=[tíT¨ °© ο1‚™fúÄo†Îx2ÈòõÉZxxO¸°^¹6 áû²AIniUŠ‚ìþW“á4iZ¼«Ô”‘BësÝe™R_íi™ƒËóŽ«À ãݵЅêªü˜TR}O›E›/ˆTY»Åу° TtzñSÈEå›ÞŒªÕléÖ}è+J2moØÕ›l)3pu ^~í: zt #¯º”»’Ü£‹¥ù»Ö÷jFY¤$±?cC¹c“ÑÂv¹aI_à¸òq\Á&Vë@Ñ’ hC{¨Î=_c7‚¡ ö¶ëût¤½´I'\àÌcÚ“=œ½'Ê’MoÐÈÇÏjšñ_îþ°] Ùéä8¬p½g‡<‡N¨HQ?Ji"ÍÄxŠžæò—Ù2µþ¹nñ ñs¨Çº°ñŠ©w0/ùOè‹€BôCdó÷¿<ã’i}[å ^Aÿ¹²ù+p¬2ŒcË þFšûƯYÅ·ý7’Ï©{·vgþ^‹’Ø…w¸“ì Ó,8f‡Û§}=ÉJzR»ë6#õuÄÔ²á™lHßÊ¡Sàüì£-“¶WhV¹*5:dÈË՜ҬkN™‰ ˜yÖ®qZ©O@ô<ÍöëEÙØ)¦ŠÇÖbb³¼ŽØ¦‹Ç„v9ÜN@güÙ_Ñ9,j%~›g¨¸¬#tb~î<³•:s|r"çj«ô\v_L0‘Ð5UGä„iUéšÅʵ/7-Ë+Á-±@,|©xŽ÷Ùp{ þ°èQûÓY Øj.b\f·«¼ˆ++I'Mô${¢¢«ðÃ+Volß̰fϤ ÿm2q= Ž$ÕGÓlüÕ™Ýî[“kR”¼¼Ý)àféƒ~$Û Ú&c®o§C„ð÷?Á˜a{G¤>ŸßkÞßWW¸Þ¨è)«ô¼ðy¢.üOмìa*N"ÿŒ[]ãÆ‡ŠÆ' ¥«q½‰ßï ͆QñwGSÈ.0tè­™‰]ãWyÉàs––êDÕ©¹f1ÝÁXö°&•Vºknù)ØýÍöá}H)IV‹þPK­»Œ…€+™+PKYŠ4 settings.xmlí™Ûs¢:ÀßÏ_áðz¦±—Õ©î ½Øn/.(^Þ"¤’cH˜$ˆô¯ß ºÓRÙZÄ™3;õA…$¿ïKòå»ÀÅ÷¥+ È8¢¤¥ÔŽU¥‰C]Df-eп>ú¦|oÿsAŸŸ‘›.uBqÄ¡² ¯Èá„7Óæ–2Ò¤€#Þ$À‡¼)œ& Ù k¾îÝ\ Kï,1"ó–â 4«Õ(ŠŽ£ú1e³j­ÑhTW­›®%Ïh¶«¨´÷kQ”Òß‚’©2+ašªžTÓk¥²VòÍÒ´7ë°™~ûb- ý9BúÉÚTÖ·ÕZŠÙ\ ý^5eÛ¸·clÄÑCAЧ²iq J[½¨¾‡| |ŸÅaÈCä oºv~z~²7¾ ÑÌÛªz];?iìÊ?òAp„ˆ —ÐÍÊ‚Ñö]Z‘öÅâ]4†Ñ­›Q“ &M@i'µOiš@3zö\‘}7b k;Ø 2NYr$ämÝÏb{ù–<ÞFÖ šI—2ôB‰Ø 0Ô…Ùð(ÛÃÊ!È9=£ýf…Ê<¥¯õ?_wZÀÝd–³50»Ñeœ¬|Ë×YóÁ$˜ËýÎÏÕ¢î-‹ßš$©‹ˆ—œÞ¾ƒoW¾¨é¤x}‰¸Çc” XÀÌÖÓö²Äݽ(No„ $ü™êø+nüeqã‘ù p€ù%Uý+$}…¤¯ôW‡¤$é¡ ÀNˆ¥«(ß“…ªœÇ£¼È©ao 9•uϽÄÈcf L‡g'D‹•öhÖý·ªºxêÛ1>ÌÝ»`JLìÌôÿåg º×}ܱì»uýAÖÕê·Ž®{–ü{åÊ/Ëo óæZ[úÒ 9÷Su2ºm˜šNFwÁ8îüt|º7vlø ÙnËÿ×*6žÝY8ÄŒÇC¬þã¹ÁØyQ%çñ¿ñp‰{ý«HJãÑ‘ÜùxÔœº)&RF¯¯ó#Šî/õc­Á§õ»ùdÔQÁ¥?êAähKìú6—ý^µO‚±6hHæÏÁ•y9Õ]½«ñÈô Üñ&šÝ£?ͯT9µVAÃ8d—@€ò ßðŽ´Iƒúƒ<ñ¥?¹å? #:G€ôBâˆlyöXÊc°€vúâæ‰˜òC›4]¹fÔïC?ø“?ÚCˆŽ±L¼wqG§ ÄH¾(pM™Q‚ãsÈ-ªïÞ–UóÞ#¶PKMó8°w‰PKYŠ4META-INF/manifest.xml­“ÍnÂ0„ï<…ë{ì¶§Ê" ¨T©-¡G7ÙKŽy×Þ¾)@E.”Üü3úfg¤Owµe[ðh—ò'ñȸ¼)Œ«R¾ÎÞ’>ŒÆóå,û^-X­)Iu¶Z¿~¼ÏO¤\¶à–eir¯¤œgsöÙé"[ÊÅg¼{<¯™q(‡§kʃwªÑhP9]*ÊU½Š&58Rõêc2bgpi,$Qè÷ 0:¡} )×mkM®)– ·®G/qi!°õ  Ü?CÊ`mÒjÚ¤\ry—''bŒÈWš*øãg¿ÛìR‚Ï·š÷CW&§ào¥ìHÆÙû©1 <†ä"í-ààØHÿÚË6¡þqÚX”ÔE몡áà DqÿOÕŽåÕ†N~PKƒÐƒ¸99PKYŠ4…l9Š..mimetypePKYŠ4TConfigurations2/PKYŠ4 ‚Pictures/PKYŠ4 _ðk ‘ ©content.xmlPKYŠ4M^O;oN M styles.xmlPKYŠ4Uô[©©ômeta.xmlPKYŠ4­»Œ…€+™+ÃThumbnails/thumbnail.pngPKYŠ4Mó8°w‰ ‰@settings.xmlPKYŠ4ƒÐƒ¸99:EMETA-INF/manifest.xmlPK ¶Flepton-eda-1.9.10/docs/wiki/media/tragesym/ooo_selection.png0000644000175000017500000002201013634703632020731 00000000000000‰PNG  IHDROÉ·K_bKGDÿÿÿ ½§“ pHYsˆœ/–žtIMEÖ %[’tEXtCommentCreated with The GIMPïd%n IDATxÚíÝlÔ…ýÇñ×Ç;Z®ýÅ Ý‚D¬`¨…Žb„ $5l‚Ø•3-Ð ]ǦÛÂ0eX¹À0t ÛƒðËB“Žc(¢ *C ÚJ[1íj¹Ï÷×[¯w½¶Çq|î>ÏGBèÝç?í›ÏûóãuÆ•+WLÅ€sçÎ)99Yð­ÉäÉ“)DG¥&Ô$,5¹‹2@ïÑ<€æ 4O yÍhžš'Ð<€æ 1說2)ô²yrm{ìâÚv\ÇMMÂUÆvÍhž@óš'Ð<€æ  yÍhž@óš' WHU€Pš'©J±‹T%$Q“pÕ„±B@óš'Ð<€æ 4O yhž@óš'Ð<€æ èR• ”æIªRì"UÉ BÔ$\5al€Ð<€æ 4O yÍhžš'Ð<€æ 4O yz…T%¥y’ª»HUòG‚5 WMÛØZkkkHÏ£y¶ e†÷ÏÖ­[¿Çþ{ûé§Ÿö¹m†ßíŽ÷#ºœ8qBGÐ7nÜèýºýïÁƒkذa~ÏíøD§@gPÐ<ÈÎΖišÞ?+V¬$Ÿû$içÎu| ¢OÇuʺ¤yc;Dhì'BhžƒÄ.‚Aü‚AMÂUÆvÍBà”¤É“'Ë0 UUUÅÄ7•’’¢úúzïí+W®„ôÜÞY¾|¹¦OŸ®²²28p@çÏŸ÷.ûýï¯;wª¤¤D†ahþüùºqã†^{í5~ª¢Hmm­RSSuêÔ)Ÿ&šžž®ôôt­[·Ž"!ð–§¿éýë_zê©§4lØ0Mš4ÉÛD;ûË_þ¢?ÿùÏ’¤––Ÿe$ýâ¿Ðüùó%IÿøÇ?ø‰Š2%%%ºûî»URRB1@óìÎ/ùKUWWëå—_Ö±cÇBzöë`Ož<©+W®èÊ•+ºté?QQÄãñ¨¬¬Lååår»Ýòx<½kž}ûö•ôÝ>¾ÚÚZ=ñÄ1ýMÿûßÿ–$;Vn·»ËÇ-_¾\¿úÕ¯Ô±Fí¦OŸ.IúÛßþ¦¦¦&ýéOÒc=ÆOT©ªªÒ¥K—4qâD]¼x1fÎ6A›guuµ²²²´|ùrýîw¿ÓÒ¥K£öJIIѽ÷Þës”»ývJJŠ$é…^Ð÷¿ÿ}ýô§?U||¼ÏsÛÓ>¶———+++KÕÕÕ>ÿÎóÏ?¯¹sçêµ×^SjjªÞ|óM-Z´¨ÇïÖÙ‹‹‹eš¦Š‹‹ÝÑ+\žø<Ó_ûew³MÓ z»ãý±\ô®&Þ$ù¡¶’®FùQ÷®¾«Ý;§»q#§Ýq¶ÿbÇÊ/ûÐ{ïµtÃìüþDió ô‹Í¿Üß{Wß‹Õî]Èó€Pš§i¾ÍóèÑš<ùÿX£~5á@€oM88BMÂS"é 4OØ{ôê"¤´´T‡C†a(..Nû÷ï§X yíjkkuúôi:uÊçþeË–éСC2MSn·[sæÌ¡X yíº ¹~ýº¦M›&Iš2eŠ6oÞL±@󤞃466ª¥¥Å{é-@ó„íu RSS£ .ˆ š'Ðydï*¤¢¢B‡C©©© 9)ì¨=øcûöíZ¸p¡w,ß¾}»LÓTff¦¾ùæŸçp½;hž°½î‚@nܸA‘ÀØ4O°‚A ”æI0Hì"$PMÁ &á© c;„€æ Û*,,”aÞ?[·n ø¸ÚÚZ=ðÀÞ#òÍÍÍzê©§” É“'ëÝwßõ>ö­·ÞRNNŽ|ðÁ^Š„ú<Ü9œªÛ*((PAA ÃzçêÕ«õÜsÏyÏ Ý´i“V­Z¥²²2ÕÕÕiÆ JKK“$-^¼XÇŽSRR’ª««•‘‘Ñ£ÓžB}hž€%UUUéÂ… Z°`÷¾K—.)==]’4dÈŸÆÛÔÔ¤¤¤$IÒ„ üN´ïJ¨Ïc;`I«W¯Öºuëäp8¼÷UTTø<æÀÞ¯¯^½Ò¿êó@ó,gïÞ½2 C³fÍò¹?##ÃçvfffÐ× õ²N.¥yQçæÍ›*((Ð /¼à·lذaª©©Q[[›®]»¦z—¹\.UWWK’Nœ8¡þýûëæÍ›Ýþ{¡>4O â^}õUïA Ã0´qãFï²ââb1B“&Mò{^~~¾Ö¯_¯~ýúiÞ¼yš1c†wÙ®]»ôøãËåriæÌ™*//—Óù¿C >ú¨Æï÷šÝ=ÖÃÚmegg+;;Ûï~Ç£¢¢¢.OJHHо}û.›5k–Z[[»ü7?Òó@ó¬?ŽÝu—>ùä Æv7‚A ”æI0Hì"$PMÁ &á© c;`!4Š4OØ–•‚ANœ8¡‚‚>©“æ X_AA·!š¦©%K–|\WÁ MMMr»Ý*++ó>vñâÅz饗ôñÇ«ªªJO?ýtÞKzzº ÕÐÐÀЉœª©`°å Ä”Hƒ€æ ÄŒ; š'u" š'5¬ Ò~Ä¿ó×°.Á¶¬ ÂhOó¢#Œíp{ ¡4O‚AbÁ jB5 OMÛ 4OØ–•‚AJKKåp8dF¯žš'qV Y¶l™:$Ó4åv»5gÎVÅqªD¤‚A®_¿îýzÊ”)Ú¼y3Ågˈ^‘illTKK‹-ZDñiž@tŠt0HMM.\¸@ 2͈^‘©¨¨ÃáPjj*ŧyÖf¥`ÌÌL7Îçè?¬F°-+ƒÜ¸qƒBó¢|#Œíp{ ¡4O‚AbÁ jB5 OMÛ 4OØ–•‚AΜ9£yóæ©oß¾ƒÐ<k³R0ÈòåË•ŸŸ¯ææf¹Ýneee±‚,ŽS•€ " räÈIßcêt:5zôhŠÏ–'½" ’””¤µk×êðáßæ D§HƒHR]]òóóµtéRV͈>‘ÉËËÓ¹sç§ÄÄD¿­[Ð<˰R0Hnn®.\(§Ó©¬¬,ŸƒP°&Á¶¬ ’ššª·ß~›•Bó¢x#Œíp{ ¡4O‚AbÁ jB5 OMÛ 4OØ–•‚AÚ•””ðùE4OÀÚ¬ "IçϟצM›X14O ú q:a ikkSNNN—[¿ yQ%RÁ k֬ь3”––FÑiž@t‹d0È–-[´råJﮜœV͈>‘©¯¯—išÞF»cÇVͰ&+ƒ´ëø~`m\ÛÛ²R0HoF|Ð<kŽcƒ€±n‚A ”æI0Hì"$PMÁ &á© c;„€æ Û²Z0Hûûp¹\zï½÷XAÇÑvØVAA dFÐS„º )++S]]6lØà½¬rñâÅ:v옒’’T]]­ŒŒ ݸq£Çï‰S•hž@L ")lÁ `lbJ¤‚A$)>>^†a„” ¶<Ëg0HO.·lii‘$]¼xQ#FŒz¥Øò,)ÒÁ ãÆÓ‹/¾¨††¬Aƒ)++Kn·›ÄØX“•‚A’““UUUÅJ¡yQ<Ž Æv¸=€Pš'Á ±‹`@5!ƒš„§&ŒíbÞí8g–æ Û²Z0ÈÎ;åp8d†ÆŒà ƒ'N¨  @ƒö[v+ëJâh;lÌJÁ {öìÑÑ£GÕÔÔ¤ÄÄDVN˜¤§§+==]ëÖ­ó[v«!.4O ˆHƒTVVjÛ¶m<‚n5Ä…±"Á ­­­r¹\Z°`d†6oÞLño³[ q¡yA„3$˜S§Ni÷îÝš:uªêëëÕÖÖFñïÞä©Ò<" rùòe9eddÈår©µµU}ô+á6 5Ä…æ Û³J0ÈÌ™3•——§Q£FÉår)!!A#GŽd…Aû™¿îɺêöµ9I>vq’| štò³ÇãQrr²öï߯””jÂÏI@m:cƒ€±nÓ.‚A „æÉ>ÏØÅ>Ï@5aÿ5 OMÛļ`Á ¡††Ð ÃèÕ)3èZ°``ËÛÛÇz0Žu 2mÚ4Íž=[¹¹¹’¤õë×kêÔ©;v¬7¤¨¨H’4räÈÂ&:¾‡‹/ê'?ù‰>ýôSÆö0 ¶Ž-ãT%àE*¤ãk”––jîܹßâÛ " ÒÙ®]»4þ|ŠOó¢S¤‚A::}ú´œN§FÅ  yÑ'’Á luÒ<¨b•`Ž<¨9sæ°rÂ$X0H°e=Á#ØVvv¶²³³ýî÷x<***êò4£„„íÛ·/à²Y³f=oðøñãAßÓ‡~ÈŠ £`»Lz³;…æ ôd#Œíp›v  !4O®0Š]\a¨&„`P“ðÔ„±@Ì 5üƒæ t¹:„pºýæ›ojøðá0`€^~ùe :ÔûÜ`Ë`-ÁÂ?JKKåp8dF¯B\hž°5Ó45`À566Júî,ï¿ÿ~y<IÒ‚ ôÆo¨®®N=ôO¸G°e°–ôôtª¡¡ÁoÙ²eËtèÐ!™¦)·ÛÝëókiž°­‡~X|ð$Éív+33Ó»åép8töìYy<eddè믿ö>/Ø2DëׯkÚ´i’¤)S¦hóæÍ4O 'Fímž¥¥¥>[*--Õ!Côä“OêwÞéÑ2DŸÆÆFµ´´hÑ¢E½z'ÉÃöÍóÓO?USS“ÒÒÒ|–íÝ»Wmmmª¬¬ÔôéÓ½‰IÁ–!ºÔÔÔ(>>^©©©½~.[ž°}ó,++óÛßÕ¿UVVÊ0 ¥¤¤ø\÷l¢GEE…GH“-OÐú¨Æï÷š»víÒã?.—Ë¥™3gª¼¼\N§uÓpÀˆÁFÚÔÔT½ýöÛݾFvv¶²³³ýî÷x<***êòt¡„„íÛ·/¤QûøñãïŸ5k–¥Ï ¥yè~D½ë.}òÉ'‚±n Á Jóä £ØÅFjB5 OMÛkÁ Vý~hž@ŒèIGII‰ß©BY)$Ôç1¶3¶3¶3¢†öKÝEÇùóç•••¥wÞyÇg¹UƒAnõyŒínY[[›rrrºÜ’ì`Á N§3lÁ VGól`Íš5š1c†ÒÒÒnùµ" BópÇmÙ²E+W®ôîïÌÉÉ éuît0Í@DÕ××Ë4Mï8½cÇŽ^¿F¤ƒAhž"¢»Žöû;þÝ™•‚AzòýÜI\ÛĈž¤éî1V ±úA'š'€îGT‚AÛ €Pš'WÅ.®0 TB0¨IxjÂØÛ³rZ9u¶.š'l«»à‰öÓc\.—Þ{ï=[ÔÄJÁ ¥¥¥r82 Cqqq]é§y–žž®ÂÂB544tùÓ4ÕÜܬ±cÇÚ¢&Þ†hš¦–,Yðq«W¯ÖsÏ=ç=÷rÓ¦MZµj•šššäv»}>`®'udÙ²e:tèLÓ”ÛíÖœ9s,U+NUÐ+Á‚A$…-äúõëÞ¯§L™¢Í›7³å DƒøøxËŽŒwR¤ƒAÕÒÒ¢E‹±å Dƒ––IÒÅ‹5bÄ,)òÁ 555ŠWjjªåjÁ–'À¸qãôâ‹/ª¡¡A'Ož¤ Š|0HEE…‡%'Ͷ,xâõ×_×áÇ5hÐ eeeÉívÛ¢&V ÉÌÌÔ¸qã|Žþ3¶ì Frr²ªªªlW+ƒÜ¸qÃÒµ¢yè~D%„±Â`¥y » TB0¨IxjÂØÛãüMê š'l«»ÀŠ;wzƒ)ÆŒc‹šX)äÌ™3š7ožúöíK0`%Á+öìÙ££Gª©©I¦iêý÷ß·EM¬ ²|ùråç竹¹Yn·[YYY–ª§*TVVjÛ¶m"€Hƒ9rDÒwç˜:N=š-OÀÊZ[[år¹´`Á%$$È0 Ë%úÜI‘IJJÒÚµkuøðaš'`e§NÒîÝ»5uêTÕ×׫­­¢üW¤ƒA$©®®NùùùZºt)Ͱ²Ë—/Ëáp(##C.—K­­­úè£l_—HƒäååéܹsŠ‹‹Sbb¢ßÖ-͸Cº ¬˜9s¦òòò4jÔ(¹\.%$$häÈ‘¶¨‰•‚ArssµpáB9Neeeù„²ÄÏ'ÉÇ.N’TN¥&GÉÉÉÚ¿¿RRR¨‰8Ú '#*Á Œí–±`¡y²Ï3v±Ï3PMØçIMÂSÆvØÁ Ô94OØV°ÀŠŽá†aÈé´Ç±U+ƒ´+))±ÜçÑ}ZN§S£F¢Šl0È–-[´råJﮜœš'ÀVgô‰t0H}}½w¿³$íØ±ƒæ XAw’tðàAÍ™3Ç65±R0HÇçwüÛ*¸¶¶Õ“ƒ~ø¡­j’­ììl¿û=ŠŠŠºü¡„„íÛ·/¤:?~ü–×Í€% ÂØaA0„Ò< ‰]ƒª !Ô$<5al‡í BCAó„m ¬¨¬¬T\\œ ÃP\\œ*++mQ«ƒ´¿—Ë¥÷Þ{±±±ÝJã˜a~§ÃÜsÏ=ª­­ÕСCuõêU3F×®]³uM:š6mšfÏž­ÜÜ\IÒúõë5uêT;VuuuÚ°aƒŠŠŠzõš]5Ï;qªŸa„è?øúôé#黀ŠûüW°`Ia al¢ÐêÕ«õÌ3ÏhÕªUÊËËÓªU«(J‡ÚD"D’âãã½»Nº:AÿNaËà׿þµÎŸ?¯¾}ûê‹/¾PZZš²²²l_—HƒHRKK‹$éâÅ‹1b„¥:±å §›7oJ’m“$L¤ƒAƧ_|Q :yò$c;`Á+6nܨÊ0 8Ð' #–Y)äõ×_×áÇ5hÐ eeeÉív3¶Vì Æ¬Y³lyþ§•‚A’““UUUeÙZÑ<t?¢ ÂØá@0„Ò<¹Â(vq…Q š‚AMÂSÆvØÁ Ô94OØV°ÀŠýû÷{ƒA ÃÐóÏ?o‹šX-dçÎr82 CcÆŒ¡yVžž®ÂÂB544ø-k?¯Ð4M577kÀ€¶¸^»  Àû}š¦©%K–|ÜêÕ«õÜsÏyÏÙÜ´i“V­Z¥¦¦&¹Ýn•••õ¨ÎÁìÙ³GGUSS“LÓÔûï¿Oó¢…ÇãÑ?ÿùOíÞ½ÛrŸÞx§ q:a ©¬¬Ô¶mÛ”˜˜ÈØD ·Û­¬¬,%&&ª°°Pǧ(¶:ow0Hkk«\.—,X „„†¡Í›7Ó<«k¿Â¨¹¹YûöíÓ]wñ«"E.äÔ©SÚ½{·¦Nªúúzµµµ±å Dƒúúzï×øÃ4eÊÛ×$’Á —/_–ÃáPFF†\.—Z[[õÑGÑ<+Xñ³ŸýLC‡Õ¤I“Ô§OŸ€×{Ç"«ƒÌœ9Syyy5j”\.—4räHkýüp’|ìâ$ù@5á„ðPjâñx”œœ¬ýû÷+%%…šˆ`=Q al€°Œíƒ@Í“}ž±‹}žjÂ>Ojžš0¶ˆ‚A€QZZê èüѶo½õ–rrrôàƒZòcoo+ƒt|†aXîCøhž°­eË–éСC2MSn·[sæÌñ.[¼x±^zé%}üñǪªªÒÓO?m‹šX)¤ý=˜¦©Ï>ûLÆ ³T­8U ¶uýúuï×S¦Lñ¹vº©©IIII’¤ &è›o¾¡`ÿ,DRØ‚A:¾Fii©æÎË–'`%jiiÑ¢E‹¼÷]½z•Ât!Á íÚµKóçϧyVQSS£ .ôhœò<»©`ŽNŸ>-§Ó©Q£FÑ<+¨¨¨ÃáPjjªß2—Ë¥êêjIßðèß¿¿nÞ¼iëzE2Äê[4OØZff¦ÆçsD·ã/ìã?.—Ë¥™3gª¼¼ÜrG{o«ƒttðàAŸƒyVÁ#ØÖ7º\Öžçi7ÙÙÙ¤<ŠŠŠº·oß®… zwclß¾]¦izÃR‡h›°š'ÐI°`;Ž£¿çηí–ÂØ4O¸³€Pš'Á ±‹`@5!ƒš„§&Œíš'l+X0H°e±ìÍ7ßÔðáÃ5`À½üòË:t¨wÙ•+W4iÒ$õïß_O<ñ„† ò¿6Àç@Ñ<,$زX¶`Á½ñƪ««ÓC=äs:׊+ôÛßþV_}õ•Ö¬Y£ææfï²öÓšìtŠçy¶®_¿îýºs0H°e±ÌápèìÙ³JNNVFF†¾þúkï²ŠŠ íØ±CN§S=ö˜Û;  b·ÐŠŠ •––jÈ!zòÉ'õÎ;ïx—}ýõ×r¹\üÀ°å | ðúö`ËbÕèÑ£µwï^µµµ©²²RÓ§O÷¦) 0@õõõúÞ÷¾×íë†ó#<[ž°­`Á v éß¿¿*++e†RRR|åææjÛ¶m2MSååå=z4[ž€  ¶,–¹\.={V³gÏV¿~ýôÊ+¯x—ê™gžÑСC5ì'ÒÒ`IDATdÈ•••ùlivü›æ İ`Á Á–Ųk×®I’ž}öY¿eñññÚ¾}{ÀçÙ1H…±hžƒ@(ÍÓŒ‘„PjBM"YÆvͶ,üãÌ™3š7ožúöíK0ˆ|ƒ?ºª‡azä‘Ghž@¬ þ±|ùråç竹¹Yn·[YYY¶¨IWÁ ƒ?þþ÷¿kÅŠ~ ´¶¶V§OŸÖ©S§lQ+Îó„m ÿ8räˆ$ÉãñÈétÚæjš`Á í~üãëĉºï¾û|>®¤¤Dwß}·JJJTTTÄ–'ë‚…$%%iíÚµ:|ø°-j,¤£AƒéÛo¿õÞöx<*++Syy¹Ün·<͈e555ºpá‚py]]òóóµtéR[Ô£=äË/¿ÔâÅ‹5}úô.ÿÃéÓ§÷vUU•.]º¤‰'êâÅ‹ªªª¢y±¼•ÕUøG^^žÎ;§¸¸8%&&ª¢¢Â5  Ò®ººZééér»Ý>#{qq±LÓTqq±JJJb¾Vìó„m ÿÈÍÍÕÂ… uìØ1Ýu×]>"–u Ò1ø£OŸ>r»Ýš5k–ϲíÛ·káÂ…ÞÝÛ·oékÞiž°­`á©©©zûí·mW“®‚A‚5ÁÎËìÂØ4Oˆ ‚A ”æI0Hì¢&Ô„šÜ¾š0¶@hž°­`Á íJJJló¹<Ã?:ß Ò“Ðš'C‚ƒHÒùóçµiÓ&ÛÔÃ4M 0@’¤Ë—/ëþûï—Çã  Ò“ÐXÄyž°­`Á mmmÊÉÉÑÖ­[õ£ýÈ65yøá‡õÁh„ r»ÝÊÌÌôÛòî*¤»ely1&P0Èš5k4cÆ ¥¥¥Ùª£GÖ|àÝ­Ñyk¼]ç`ž.£y1¢«`-[¶håʕޭ®œœ[5ÏO?ýTMMM]þçÑ9¤§Ëhž@  R__/Ó4½ûóvìØa«æYVVÖåVg `ž,‹5ìó„m i×ñȳ®Ùnož_~ù¥öìÙ°]ƒZFóbP°`®ši¬»çž{ôÅ_ôªv«c;Ð< ²€Pš'Á ±‹šPjrûjòÿnÔß¶èŽUDIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/tragesym/ooo_attributes.png0000644000175000017500000013616013634703632021146 00000000000000‰PNG  IHDRÓŽU …bKGDÿÿÿ ½§“ pHYsˆœ/–žtIMEÖ 7Ñæ¯tEXtCommentCreated with The GIMPïd%n IDATxÚìyXTGÖÿ¿ìçuí`7@ƒ A4lbF@5Æ   ê°HP *£ .¸Ä¢#F¢¢T ÁWb"ȰvF£¸‹Jßþú¦»éåö‚œÏóð\úÞ[Uç|«.œ®>]ÅÐVYY uall Uë366F[[ˆ7Ÿ¢¢"ØÛÛ“¤ iBš&¤ iBštKM4H.‚ ‚ ‚P ¦ ‚ ‚ BI8ºd>Eaa!õAAÑ¥ÑuæL«cccØ÷©¤Þé=¦¾&MHÒ„4!M:YÊÕ„r¦UÒ„Ò<‚ ‚ BI4»“±Ë™ßûõÕGÓéÍÚÞû ¡¡âŒ Ù×öãŽ.¥[ÿ©ËqïáSæuW³ ‚ ¢ÇÓMMM°±±iw¾#SG:+<÷ÿ‡Ãéö,xÓ!üf„ ‚ ‚èÁtuu5¬­­±oß¾7R EÖ»¦_‚ ‚  ¦âúõë022zíŽÔÿvë÷äãßg+ðß;Áô¸ÛM@„Ÿ3† é@4Ýá_ñad^¾lC„Ÿ3b—¸AK³À~É&œ)¯fêÌèó†àÚáuíÚf“F¡¨}_¬øëwçãÑÓgpbŠ´¨ð—ÞL}7þÛ„è/spâÂ/¸sÿ1tµµð?oéCW[ÿù.žF6AADw¦«««abbòZø¿ªF8|œŒÞzÚ8øùß1iÜp\¨¨Å‚˜]8øýEîÇ#4ÞÌÆ bv#+a1àÃÈ ;Wýq‹ðî.ŠÒWˆÑòfœå¥Q(cÿ÷û¨Îùg/WÃ%t+þh}‰#›‚˜:C¶â×ÚßP˜ŽI¦#wö –|~ýÞÒ§QMAÑI¨¼šGuu5Ž;†‰'ÂÒÒëׯGkkk§:ºéÜô»?ó…ÅhhkiÂÎb4vÇúâþ£§ÝôM»2âÁËÑ^ŽæÈJXŒòʼ· ¾ËØ—2 }ôu0Ýf,àøù«"×ï?z5ƒœx+¿8„-­øÏwŸãçìXÕAAÝ%˜¾~ý:ÜÝÝqþüyÃÀÀ)))êÄù+5‡÷DÓMìÌG‹\ÆËѼÝïÏ_üÑeì ødóó‘ó¹›—ÂÖ|4~­ý/R²~Àüè0pÀ¡S?Ѩ&‚ ‚è.Áô… 0{ölhjjB__³fÍ¡C‡:Õ‰±#†~ºvCäü¿Ö‹\æÈåí~×ÑÖì2öÉã½1<g¬ÀÝSÿÄ;Âò¡#ž4?Ç’øý4ª ‚ ‚ ºK0-ŽžžîݻשN|±âCèéha~ô.œû¿ÿ åVœ½\ùÑ» §£…”•óÚ•Y³G~(Ç‘Êñaḋ¡ì@´¨/:ZL°ýèé3$8‰Ñ^1bŸ< Ý£° f7šŸ¿€Í¸˜nóî«óCШ&‚ ‚è$TžŠµ±±Ann.xðà ;Õ { #üôÕjlÜwó"3pûÞ# î÷þ:i,VùN‡1oH»2â1«yüÃo:Ö,qgVópýÈçˆIûsþ‘Žþé kÓáøçò9"÷ˆ¯äüùEDÁÆ2líë?u¹H½M§7K<­­/ñU~)¾Ê/‡ÃÁ ~}àï1ë—zѨ&‚ ‚è.Á´››<ˆ?þ/_¾Ä¡C‡°`Á‚NwÄÄð±ë³…¬ï÷r4Ç‹ _ʼçíÁÿƒÝŸùb÷g¾Rïa» #û$Õ%­þ†c‰4z ‚ ‚ ^3*§y|úé§øí·ß`mm GGG¼xñ}ôQ‡ͱüXdÆ–Mÿ©Ëi÷C‚ ‚ ˆ@å™i===$$$ !!¡ÃUu‡Aáœcù1“†ñ¦Ó|$‚ ‚è–Á4•AADOEƒ$ ‚ ‚ åàh늆RïAA]?˜®¬¬ìRFƒÏçSïôªªª`ddDB&¤ iBš&¦‰½½= !DQQi¢‚&”æAAAJ¢r0ÝÚÚŠøøxL™2¦¦¦Xºt)ž+Û×Âö¨ÒNgé§l;ª–?vD¿Óß1‚ ˆ.L;;;cÈ!ÐÓÓÃôéÓ‘ŸŸ¯6KJJ0yòdæHÂùôHKKk¸tš ê¼W:ÊgeíWÔžžú= Uýf£3}… ¢ ÓW¯^E¿~ý˜×úúú8wîœZŒãr¹X¾|9²³³™£8¨®®\ºt \.çÏŸÔÖÖÂÔÔ---¨¯¯‡»»;x<<<<ÐØØÈ´‘žž'''À7àîî###äææ2íf@‡ †©S§¢¤¤D¡öËÊÊàìì 333dee1íŸ?&&&puuE]]];;»miíIBZÝpåÊØÛÛÃÍÍ õõõÌ?u///ðx<¸¸¸àƬ|‚cKK  ¡¡!ñº€C‡ÁÖÖ<y³'n‹@Kñ¶$i$ÜFrr2,,,Dê–d/ßêëë±téR‰ãTV;êöYø™ÔÙØØ777¼ûî»Ø¹s§Ì¶dͶJÓAp¯´gí²Æº¼~îI+¤pòäIDGG+ü ‰k$\<ŸÙö»¼1H3×A¯1˜þí·ßPQQWWW˜™™!::---j›±100@ii)sÇÃÃßÿ=àøñã000À‰'¹¹¹ðòò‚––"""àè航ª*Lž<«V­ù‡”——ˆŽŽ†££#._¾Œ_ý•¹géÒ¥ðôôD]]°bÅ …Ú CHHª««‘™™‰ØØX¦î¢¢"”——ÃÞÞ«W¯nçcg·-­=IȪ;77ùùùppp`‚ƒÈÈHøûû£ªª !!!ذa+_eͶ‰ÏºI:ßÐЀ‚‚¤¥¥!00P¢-áááÛ‘×?())©[l|‹ˆˆ€•••Äq*«uû,üLX½z5¦Nв²2ܹsGäšx[Òú†ÒžA6¶ËlûIÚß YC?~ŒcÇŽaíÚµ caÄë‘ç3Û~—§=Í\A(ÊKã;Ó¦MCtt4úöí‹´´4´¶¶²þç! ÁÒx ðööÆáÇáíí‹/¶»÷?ÿù>ùääååÁÞÞŸ}ö>ûì3œ;wýë_±iÓ&Œ?#FŒÀÏ?ÿ }}}<|øfff¨©©—ËEmm-ttt£F•+W ¯¯G1¶ìÙ³ÉÉÉpqqÁ¢E‹`bb‡Ãºý»wïbß¾}øå—_põêUÔÕÕÏçƒËåâÚµkèÛ·/>| ‹v³Oݶ´öă->ŸÏªî'Ož`ܸq¨©©Á¨Q£ðôéS¦MMMܸqƒ©O‘¶Å—uOMM tuuE®‰Û¢¥¥ÅÌ  ×#I#AÒê–d ßFŒœœŒ?¾Ý8eÛŽ:|~&eGÿû¿ÿƒ¾¾>?~ ###™Hëi:Û(þ ÂÕÕU®í²Æ#[ý¤ý­õ7Äßßï¼ó>þøc™>JjOø(^¬þ,yƦ߃ÝZŽ4a« -×~Òˆ4Q^•g¦{õê…ððp&gÚÇÇß}÷Z±¶¶Fcc#s”ôQäÈ‘#ñüùsœ={zzzprr‚®®.Ž?Ž––Œ?þÕ»¡èÕ«óZ4îkk{µàþþþHMMÅСC€(Ô¾† ___ìÞ½»†‚¶…íz]mKkO²ê¤^´µµASóÕÎõ­­­¨¨¨ŸÏŸÏo—ï©HÛŠ .„·E<0cÛ?’ê–ßdS¶í¨ÃgágBÀË—/%þ®¨mòtö ²±]Öxdk£´>Õ7ƒ Âï¿ÿ®ò8¯‡m±õ³£ž/‚ ˆžŒÊÁôÀñÎ;ï0¯ûõ뇻wïªÅ¸¹sçbóæÍÌQÚG‘îîîÆŒ3¼Jøä“O0gÎæ+++¤¦¦¢¹¹;vìÀĉ%Öekk‹””\»v ÎÎÎÌyKâóÏ?Ç©S§àííÅ‹CKKK){äé ídc»¬ñÈi+äý áñxøöÛoUÇÂõ°ñ™M¿ËÓž¾€H¡<*çLŸ={ׯ_ǼyóÛ¶mÃõëבžž®t=i;qiy¥ozÛºz>ßëШ«kÒÒÒ‚ììldffâäÉ“¤ =;¤ iÒí4¡ü`Q(gZ5M4Umìý÷ßGCCþú׿âñãǰµµUiöŽ ˆ®Ihh(Nž<‰§OŸâÝwßUëæLAÑ]áh늆RïAA]?˜V%Í£#èIi=ú’4!MHÒ„4élM(¥AJóPM ’‹ ‚ ‚ ”Cåœiccãvçzõê…_~ù…Ô%‚ ‚ ÞhTž™®¬¬ùIKKÇ~¨6`eeÅÙ"XêIøÈårñöÛoÃÒÒÅÅÅ"ç¹\.x<ìììpìØ1¦žß~û fff2ÛÊÎÎFHHózÏž=°¶¶†¡¡!|}}ñàÁ[¤Ù* ##‘‘‘hkkCHH²³³¥ú%Ëñ6åÄ^Oøu-Ÿ•ŸŸ‡ÌÌL¹ý­LYUèÊKбY ZÞsÓ•ìf3æß”¾#‚ zP0-L[[¾øâ ©­N¶kM‹Ó§O‘#ðù|ܼyñññX½zµÈy>Ÿêêj|öÙgøôÓO§OŸÆìÙ³qûöm©íܽ{[¶lA||<Xgggã믿ÆÏ?ÿŒ#F 22’µÝééé¸uëÀáp-[¶0áHòKŸÄWá {÷îýZi`` ÒÒÒ” U)ˆ®œÛ/¾»dw¡»ÚMAP0­2………>|8¬–ú¸\.–/_ŽììlæÈ[[[€]»kŽŽŽ¨««“ZV0³¾k×®v[‹³k×.x{{£oß¾^ÍJ¯]»#FŒ@Ÿ>}°jÕ*X[[³²yÇŽ(-- ôûöí oooÆY~±åСC°µµÇC~~> ¬¬ ÎÎÎàñx033CVVV»YJA›‚ÙÞaÆaêÔ©())‘Øw’^‹—½|ù2”zyyÇãÁÅÅÕÕÕL¹––@CCCj½ÒÆpÙúúz¸»»ƒÇãÁÃÃÌ}éééprr’XÇ×_ ###ìÞ½»víÂÈ‘#Ýíóù||øá‡044„­­-ã—xÝÒlæöíÛë’err2,,,˜>•ôÉŒ¢vÈëYš?&&&puuež56ú³™—4V\¹röööpssc¶Þ–æƒ6ã™ ‚ :%˜>|ø°BÛ˃ÏçÃÀÀ¥¥¥Ì‘-»víìܹSä|kk+Ž=ŠQ£F‰üó¤y,\¸€¯¾úJbN¸0'NœÀôéәו••";¯éééÁ××W®½iii¸yó&®\¹‚gÏž‰\svvƉ'dú¥ (((@ZZ¼ÚÆ8$$ÕÕÕÈÌÌDll¬È̶pÛK—.…§§'êêê†+V°n[¼ì† ‘‘‘ð÷÷GUUBBB.Ò¶23Àâe#""àè航ª*Lž<«V­yyyëÑÔÔÄáDZsçNp¹\lÛ¶ÑM@dd$Ƈ«W¯bÕªU̧âu˲AÀ–-[$Ö%«¬††JJJ˜>•¤›¢vÈêy𡼼öööÌ›C6ú³éoIcU@nn.òóóáàà€èèh¹>¨:ž ‚ BS]=~ü?ýô“Z7rhhhy=lØ0•êãr¹àp8000@rrr» «¥¥gΜAxx8/^̪ÎÚÚZ‘À¼W¯^xùò¥R¾ÆÇÇ£¥¥YYY"øÈ‘#Q[[«6]ƒ‚‚ ££´´´rrr°oß>äääàêÕ«xøð¡Ôò111HNNFDD-Z„sçαn[¼ìW_}8wîœÈnzò¶ªV†ÒÒRìÚµ :::É…ÿàƒ ££#±œ‡‡´µµQWW‡iÓ¦AKK‹ÑM@II ¾üòKôîÝîîî"o*…ë–eƒ€òòrìÝ»·]]²ÊAWWW¤OÅQÔyý"K³àà`èéé!((*é/ެ±}}}aܸq¬Æ–*ã™ ‚ ÔL—––b„ j ‚é‚£ª[;Ë+«¥¥[[[Ü»wu­­­ÐÖÖf^ÛÚÚ¢¢¢BäË’eeexï½÷dÖóùçŸ>þøcøøøÀÇǯ>8ÐÖÖÆü¡6]uuuÛóññÁ‚ 0qâD 8S§N•ZÞßߣFÂ¥K—€   øøøÈ|£%­ì¬Y³`llŒÖÖVTTT`À€ ½S‡Ãü®¡¡^½z1¯erÂפïÖÖV‘ú¥•—eƒ€—/_J¬KVYI}ªª¿¤õ‹,Íõq8‘ß•Ñ_‘±*xfÚÚÚ ©©)×eÆ3AA£¶4K—.ÁÒÒR­ÆÍ;›7ofŽýe¯––dff*´jÈÈ‘#qãÆ æõ?þñ¬_¿õõõxöì6mÚ„£G²ô add„ãÇ3×nܸCCÃõ½²²¦¦¦3f RRRDìºÿ¾È½xðàBCCáçç‡ÄÄD‰oLòóóqÿþ},Y²DjYAºŠµµ5222ÐÚÚŠ¬¬,©éBÒêeƒ••RSSÑÜÜŒ;v`âĉjÓÏÆÆiiihnnƱcÇðþûï+mÄ $Ö¥¨ý’úNQ-Øö‹8AAAàóùؾ};³è=Û6eÙ-k¬ ãšš¤¤¤`Ê”)¬|`3ž ‚ ¢Ãƒé«W¯b̘1j5NÙ•<E3=zôh|ÿý÷L/¦OŸŽï¿ÿžymllŒ ÀÍÍ cÇŽÅ7DVó´\¤@$55•yýý÷ßÃÑÑQ¦ýª…yóæÁÎÎN$çÛÖÖæææ"÷&''cãÆ044D||<6mÚÔ®>Aî®HN¹xÙ•+W’’’PRR‚#F ==]b²êeCbb" abb‚ââb$$$¨m %%%áìÙ³011Á† °uëV¥m—X—¢öKê;Eµ`Û/â8;;ÃÎÎåå刋‹S¨MYvË«___”––2õËóÍx&‚ i¨m;q;;;|óÍ7j ìºÓvâMMMðòòB~~>ôõõÕ^ÿÓ§Oáää„ýë_:tè7i«Û7OUÓ±hœ&¤ iÒÑšÐÖÙ¢Ðvâªi¢¶™é»wï¢_¿~=Nìþýû#88111RLL ‚ƒƒßÈ@š ‚ ¢»ÃÐÖ +,,¤Þ!‚ ‚ º~0­Ž4uÒÒ<Õ  IÒ„4!MH“ÎÖ„RD¡4Õ4Ñ ¹‚ ‚ B9T¦››› XZZbÍš5xþü9)KAAP0-øøxðx<œ;wgΜÁÀÕº´TCC¬¬¬˜£²,\¸P-÷HCÞ*&Š®r¢ŽUQ:[iõt„/òêTÅeÊæççƒÇã!33³Côì½ía_:˯Ž;AÑ¥‚éüü|øøø@OOzzzX¸p!«MJØ¢®µ¦ ÔrOw¦35èh-ååÔ«Ò¾2e‘––Ö.È|“Æ”°/å}w‚ ‚xãƒéÖÖV´µý¹ H¯^½Ô–æÁår±|ùrdgg3GI÷¤§§ÃÉÉ P__wwwðx‚ ¢KÓS§NÅÁƒÑÜÜŒgÏžáàÁƒ˜6mšÚf¥ PZZÊ¥Ýyyy€ˆˆ8::¢ªª “'OƪU«˜àDp CHHª««‘™™‰ØØØv÷DFFÂßßUUU Axx8+›%Õ- 77ùùùppp@tt4«v–.] OOOÔÕÕ!,, +V¬xíȳI¼àUºNAA³ƒ¡ þ™3gÊÕ¸¨¨ååå°··ÇêÕ«Ûb ”””0u³õ#!!ÉÉɨªªÂ–-[/Ñv’t•毤óÒÊ‹ûøÅ_(4®Äý€èèh8::âòåËøõ×_¥ŽWIcRÞøQÄ/MMM>|;wî—ËŶmÛUígEž‚ ‚è(T^¯±±žžžxüø1 wïÞÈËËS)×Q°4^CC¼½½qøðax{{ãâÅ‹ƒÈÚÚZèèèFŒŸþúúúxøð!ÌÌÌPSS#²+ÛÝ»w±oß>üòË/¸zõ*êêêÀçóEî5jž>}Ê´£¥¥ÅÌÜI fù|¾Ìº¯]»†¾}ûâÉ“'7njjj¤¶#¨oÏž=HNN†‹‹ -Zp8œ×ª[›õp¹\ÔÔÔ@WWWä…u{øð!,,,P]]ÍÔ!­n¶}™››‹°°0¤¤¤ÀÕÕµíÂHÓUVáó²úEØGázÈê/iÚ^¹rúúúxôè‘Äå&¥I6㇭_µµµÐÖÖÆÛo¿úúzhiiIÔJÙ~f3ßThÉ3Ò„4Q^Z®ýdi¢¼&jùââÅ‹qùòe”——# 6lP‹#ÖÖÖhlldŽÒtA @䩆†zõêÕî~ 2¾¾¾Ø½{·Ä:[[[QQQÁÌÄÉ ¤ÙÖ-Hhkkƒ¦¦&«vüýý‘ššŠ¡C‡" xí°µIA$^NNŽ\ös8‰¾Hª[‘¾ÔÐÐÀü!ÿ' ]•-/ÏGYý%ɇä_ §aµû aL*ꧬûutt˜ëZZZ2ëQ¦Ÿ•‹A¡NT¦ÏŸ? @OOúúúX¸p!Š‹‹ÕbÜܹs±yófæÈæËHVVVHMMEss3vìØ‰'2ÿ ïß¿¨¬¬„©©)ÆŒƒ””‘ @pµµ5222ÐÚÚŠ¬¬,¸»»³²YZÝ‚ü555HIIÁ”)SXµãàà€ 44~~~HLL|í°±I¸Yo–:$Wã   ðù|lß¾õ»D6~ܽ{[¶lA~~>’““q÷î]™¶KÓ•­²Ê ûhii©Ð¸’„­­-RRRpíÚ58;;K½OÒ˜d3~Øú¥Êô³2ÏAAt©`ZKK }úô™™R×Ǭʬ䑘˜ˆÂÂB˜˜˜ ¸¸ LpannˆŠŠÂ¼yó`gg‡ &ˆ ‚{’’’PRR‚#F ==õrÒꀸ¸8øúú¢´´”±K^;ÉÉÉØ¸q# ÏÊŽŽÖ€MÂõH#)) —/_–«±³³3ìììP^^ޏ¸8VýÀƨ¨(¬\¹£FBxx8"##eÚ.MW¶vÈ*/ìchh¨BãJëׯÇÅ‹ 3ø–4&ÙŒ¶~)‚2ý¬ÌóAAêDåœéÕ«WÃÔÔ...ÐÑÑÁP[[‹øøx¥ë¤íÄ{òòù¤å"¿IˆûØsåõ3å}’&¤ i¢NM(?XÊ™VM•g¦£££qåÊ8::bòäɨ©©‘øMü7韾¤‚ ‚ ¢çÁÐÖ +,,¤Þ!‚ ‚ º~0­JšGG@i=ú’4!MHÒ„4élM(¥A}ÙZ IDATJóPM ’‹ ‚ ‚ ”Cå`ú?þÀš5k`nnŽÉ“'#>>>$e ‚ ‚  ¦å±}ûvôîÝgϞũS§ ­­•+WªÍÀ††XYY1G¶,\¸ù]Úùâàëú’a~~>x<233¶MÙ®è³:PÔveÆ‚øQ%}‘ÕÁÁ\.o¿ý6,--EÖmô)—Ë…¡¡¡Ä5Ý= .—‹£Gv¸¾lž³×EgØöÛo¿ÁÌÌLä\ii)¬­­Áãñ0uêTœ9sFæù7ýY$‚ `Z999ðññAïÞ½¡§§üôÓOj3P™µ¦   @î=Šäe¿®îÀÀ@¤¥¥‰Q–èœ1!Ø•Qð#|þæÍ›ˆgVÇÉÏÏDzeË––>Ÿ­[·bñâÅ(--©3;;³fÍBvvv‡ûÎæ9{]t´m§OŸÆìÙ³qûöm‘ó_~ù%‚ƒƒqýúuÌž={öì‘y¾+ÿý!‚ :!˜¾uë ļîׯž>}ªã¸\.–/_ŽììlæÈ¶œð:[[[ðx<äçç‹\Ìö 6 S§NEII‰Ô:¹—mY>Ÿ///ðx<¸¸¸ ººš)×ÒÒ‚€€hhhH­WšÂeëëëáîî4662÷¥§§ÃÉÉIj]eeepvvǃ™™²²²$–mll„››Þ}÷]ìܹ“±OšÂHÓÆÉɉ¹¿©© ï½÷þøãp¹\|ýõ×022ÂîÝ»±k×.Œ9’é[¸rå ìííáææÆl!.MyvÈgNž<‰èèhÖ>³ÁÑÑuuuÌ›£mÛ¶ÁÅÅàáá7âêÕ«Ìý·oßFyy9Ö¯_òòr‘@oŒ­—.]—ËÅùóçµµµ055EKK‹ÈLº¼çL\3Yý&­DÆš<}ÙÚ&kl'''ÃÂÂBª/»víj·µ;TTTÀËË ÚÚÚ˜3g***dž·ûüùó011««+Ó÷Âþìš6mc—"ã– ‚èbÁô€pïÞ=æucc#Z[[Õ6ûe``€ÒÒRæ¨È,ŽðlNCC ––†ÀÀ@‘û—.] OOOÔÕÕ!,, +V¬Z·"÷²- TUU!$$áááRýPt&KpŒˆˆ€££#ªªª0yòd¬ZµJäx^^žÔºÂ‚êêjdff"66VbÙÕ«WcêÔ©(++Ã;w˜{¤ùÇF///äääŽ9‚3f@SS ©©‰Ã‡3û¶mÛDú677ùùùppp`‚\Y:¨Ò¿?ƱcǰvíZÖ> ô“¶Vykk+Ž=ŠQ£FZZZ˜@Z€‡‡-Zļ>|ø0\\\зo_LŸ>‡VÈ7|ÿý÷€ãÇÃÀÀ'Nœ`ôôòò‚–––RÏ™YýÆvœÊÓ—­m²Æ¶††JJJ¤úòÕW_ÁØØ¸Ýù»wïâ­·ÞôïߟyC#í¼8EEE(//‡½½½Ä5ûvÅÆÆ2v©òw‰ ‚xÍÁ´‡‡öìÙƒ§OŸâîݻزe‹ÚŒkhhy=lØ0¥ë ‚ŽŽ\\\ÐÒÒ"r-&&§OŸFDDFsçÎI­G‘{Ù–=wî1|øpüýïÇåË—ÕÞÑ¥¥¥ „ŽŽ‚ƒƒqáÂæÚ|===©esrrPUU…àà`‹|ÁT¸¬À]]],[¶Œ¹‡Ò´™9s&¾ûî;¯ÒfÏž-2öLMMQWW‡iÓ¦µëÛèëë#((ˆ™©“¥ƒ*ý›&ÐgÛ§’R<ã;#7bݺu¬ño¿ý^^^€Y³fáÛo¿UÈ7OOO&˜>yò$˜`://sæÌQú9cÓolÇ©2ÏŒ$Ûdí   èêêÊôEmmm &88zzz j7>…í²µµeìRåïAñšƒéO>ù÷îÝÃäÉ“áããoooµgmmÆÆFæ¨Ê—ptuu¥^ó÷÷Gjj*†Š€€8p@-÷ f,å•mmmEEET RØÖˇ#2³Õ«W/æµŽŽŽÌ²>>>2d|}}Û}¬-\öåË—gãŸ4m 0`À>|Ïž=ÃøñãEÚø%˜-ŸÁ0‚ W–Êô¯€Aƒá÷ßWÈgYr¦KKKñþûï3> §ðù|ìÚµ‹ñ½¢¢×®]Ü9sÀår1wî\\»vI'`ãÛÈ‘#ñüùsœ={zzzprr‚®®.Ž?Ž––ý}ÎØôÛqªŒ¾’l“5¶Ùø"‰2Aùƒ0pà@™çÅøÌápÚOiv);n ‚ ˆ.Lkkkcýúõ¸|ù2Ž;†!C†ˆüCT…¹sçbóæÍÌQ‘t‡ƒû÷ﳺ×ÁÁ<@hh(üüü˜˜¨Ò½‚ çþýûX²d‰Ü²ÖÖÖÈÈÈ@kk+²²²àîî.±miõ²ÁÊÊ ©©©hnnÆŽ;0qâDÖe+++ajjŠ1cÆ %%Eê}ï¿ÿ>RSSQ__/ò¥G6þÉÒÕËË kÖ¬Qøš¿¿?jjj’’‚)S¦°ÒA‘± LXXš››™À•mŸ*BZZ–-[&’'+øB"ðjæ>::Zd¶;**Šù®[ßÜÝÝŒ3fx5“üÉ'ŸHœ•Vä9Sç8e£/ÛØŽmE077Ç‘#GðìÙ3üë_ÿ¸qãdž'((|>Û·og½a€²ã– ‚èÁ´H~lMMÄYBePv%°µµ…¹¹9«{“““±qãF">>›6mRé^AŽ¥ ¦OŸ.·lRRJJJ0bĤ§§Km_Z½lHLLDaa!LLLP\\Œ„„Öe£¢¢0oÞ<ØÙÙa„ RïûüóÏqêÔ)x{{cñâÅÌ8`ãŸ,]g̘¦¦&Ìš5K!Ÿãââàëë‹ÒÒRÆ_y:(2ÄáñxLZÛ>U&¿˜ËåŠ|!±¥¥§OŸ†¯¯¯H™… âÔ©Shiia훇‡îܹ777¯R?žx<† †©S§¢¤¤P__wwwðxyZê8þ PZZÊÅYºt)<==QWW‡°°0&¥$""ŽŽŽ¨ªªÂäÉ“±jÕ*‘à(//O$haCXXBBBP]]ÌÌLÄÆÆ2×rss‘ŸŸDGG"##áï着*„„„ <<œ•íÂxxxàûï¿?~8qâÓ¦——ë';B+IçPPPÀìØÈF EEE(//‡½½=V¯^Ý~Àjh ¤¤D¤n6:Jë#///äääŽ9‚3f@SSSâX>îÚµK¡¶?_|ñ…ÚÆAA]0˜–EKK‹H0¢¡¡| "¯‡ Ö˜œ>}=z4Î;(--E`` tttŒ .0e>øàèéé)lONNªªªŒàà`<|ø¹}}}13„çÎC`` †Ž¿ÿýï¸|ù2+Û…ñôôd‚é“'O"!! ¦óòò0gÎÖöw–VAAAÐÑÑa¶¹f£…€àà`èéé!((HÄáºuuuEêf££´>š9s&¾ûî;@vv6fÏž­¯lÛVdü´QÇø!‚ ¢›Ó:::"ùÑ/_¾TjV¬­­ÑØØÈ%¥2øûû#55C‡E@@8àp8"½° :::JÙãããƒ!C†À××»wïòÿ¿ihkkcÞL´¶¶¢¢¢|>|>ŸI-g»0#GŽÄóçÏqöìYèééÁÉÉ ººº8~ü8ZZZ0~üxÖöw–VºººíÎÉÓB€ m‡#qÜHª›ŽÒúÈÀÀ ÀáÇñìÙ3…ôT¤mEÆÀouŒ‚ ‚ ºY0Ý¿fÆxµ„Û4qæÎ‹Í›73GIéxðàBCCáçç‡ÄÄD€••RSSÑÜÜŒ;v`âĉÛàp8¸ÿ>+{*++ajjŠ1cÆ %%¥]`SSSƒ””L™2…y3‘‘ÖÖVdeeÁÝÝ•í⸻»#883fÌð*õã“O>QhVº#µb£¡<-Ïçcûöí¬Kg«£¤>^¥z¬Y³Ffú’4?Ù¶­Èø177Wëø!‚ ¢Ó£G 8o¾ùF¡zi;ñžðV·\.÷µôûÅ‹±nÝ:äååu9MÒ„4!MHõkB[g‹BÛ‰«¦‰¦ºŸ9s&V­Z…íÛ·ƒÃáÀÔÔ111ÝB8iËËQ`ÿf3þ|lݺ•„ ‚ Ba8Úº¢a………Ô;AADצ•Móè((Í£ç@A’&¤ iBš&­ ¥4ˆBiªi¢ArAA„r(L¿xñNNNJ_'‚ ‚ ˆLÇÅÅ¡±±Qéëlihh€••s|äççƒÇã!33Sê=Ò¾¼È¦¬:Ö¾´ó]‘… ªÝ‚ ‚ ˆ.LÇÄÄÀÆÆFéëŠÀf­éŽ&00iiiJ{ª”íiAA¼ùÁ´™™\]]•¾Î.—‹åË—#;;›9*RVÒkÁLñ°aÃ0uêT”””xµü——x<\\\P]]Í”kiiA@@444¤Ö+Íá²õõõpwwǃ‡‡3sÏår‘žž.1-¦¬¬ ÎÎÎàñx033CVVàÆpww‡‘‘rss™û¥oCš¿Òô‘v^ÜßóçÏÃÄÄ®®®¨««™~ûí·prrbt”×O²¸rå ìííáææÆl½­è8Pt|(c'AA=<˜–·óž¢;óIƒÏçÃÀÀ¥¥¥ÌQU–.] OOOÔÕÕ!,, +V¬DFFÂßßUUU Axx8cƒðQQû…pttDUU&OžŒU«V‰y’6 CHHª««‘™™‰ØØX@tt4qùòeüúë¯ÌýÒ΋·!Í_iúH;/NQQÊËËaooÕ«WËõ{ðàÁÈËËk§Ûö„ÉÍÍE~~>­Ô8Pt|(c'AA=<˜î,D^6Lå:cbbpúôiDDD`ôèÑ8wîàܹs ÄðáÃñ÷¿ÿ—/_V»?¥¥¥ „ŽŽ‚ƒƒqáÂæÚ| qÛõœœTUU!88ÁÁÁxøð!àüùó „¾¾>‚‚‚˜û¥oCš¿Òô‘v^œàà`èéé!((ˆñO–ß666ýfÛž0!!!ŒßòfˆõSQ½‚ ‚ `úµcmmÆÆFæ¨ì—Ì?~ÌüîïïÔÔT :8pà µµàóùàóùLšÛzÙÀápþ^C½zõb^ëèèH,ãããƒ!C†À××»wï©«­íÕ~;‚£¬óâmHóWš>Ò΋#ð‰Ãáˆü.Íommm‰õ°mOd0kh0~kjj*5ÊØIAÓÂܹs±yófæ¨Hª…––òóóqÿþ},Y²„9ïàà€ 44~~~HLLd÷ŒŒ ´¶¶"++ îîî ÕË+++¤¦¦¢¹¹;vìÀĉå–©¬¬„©©)ÆŒƒ””æ¼­­-RRRpíÚ58;;Ë=/éŠ$¥é#í¼8AAAàóùؾ};³Ø9[¿9îß¿¯P{âxMM RRR0eʥƢãC; ‚ ‚ `ºSPe%´´4ÂÆÆÓ§OgÎ'''cãÆ044D||<6mÚHJJBII FŒôôtæ<ÛzÙ˜˜ˆÂÂB˜˜˜ ¸¸ rËDEEaÞ¼y°³³Ã„ ˜óëׯÇÅ‹ dK;/Ž4¥é#í¼8ÎÎΰ³³Cyy9âââòÛÖÖææærÛ“ö E\\|}}QZZÊ´¡è8Pt|(c§ðyi¿AÑ=Pi;qcccÈ*+ﺬr´x÷ƒËå*ÜoÊluøøø.¯‡²vÒö¿¤ iBš&« m- m'®š&´8Ñíô…E²“ ‚ ˆ×@[W4¬°°z‡ ‚ ‚èúÁ´²i…±±1ÚÚ~¤Þé=†½}¢&ôq›¨&ô$iBš&¤ iÒ55¡4‚ ‚ ‚P¥ƒé/^HÜþº¹¹QQQ°´´„¹¹9"""ÐÜÜLJAAL ˆ‹‹Cccc»ó6l€‘‘Μ9ƒ’’¼óÎ;HJJê²p8–àp,i$AALÇÄÄÀÆÆFâµüü|Ì;zzzÐÓÓ pìØ±.+åfAAL›™™ÁÕÕUâµ .@__Ÿy­¥¥…çÏŸ+eœ`ÖX0s,þº¦æ&¦O_W8;‡ ®Žß®lqñO9Ò..¡ÌµŸþLMçbРiøî»"‘6ùÚړЧ-Ö®MǨQ3YÙ¾¾±<øŒ;Eî;|ø4ú÷Ÿ SÓ¹øùçÿÐÈ“Ñ×µµ|””\‡c‰¡C_m´RYYI“ü £c;»Å¸yó¶Ü>#‚ ‚è’Á´··7ë{+++aaa¡”qmm?bÔ¨aøí·ã€gÏJðÖ[úhi)øøÄ ))ǰ >>Ÿ‰”€œœBœ>†¬¬?wÝ[²$û› jk¢±ñ–H› ÆÂÝÝ#6v ª«sXÙ«qëÖ ìÝ»®®¡"vðù¿ãÆ<,XàŠÅ‹?§‘'Æ;§`bbˆß/Àðá\XX˜`üøÑ(*Êüío«4! ÀAA‰rûŒ ‚ ¢KÓŠðí·ß"44Téò66㟑›{FF>®¸}» 7îéS±b…sÍÎÎ[·®Ä£GÅhkûOžœeÕgAAÝ2˜¾uë¾ýö[,]ºT¥zllÆãÇÁ¬YSÁçß™™1smÿþuߌ·Þ²ÃŠ[°oß:æšxn³0ééÑØ¿ÿ ÝñöÛƒEîŸ0á#¬[—Áƒ?ÀÉ“¥Ø³'–•-ž˜7/ ffóñìÙs‘:`ðàþxç7ìÝ›‡;chäIaÛ¶UˆŠÚŽ´´(fÖ23× /ï  pÂСÓºQèÍ‘ô>#‚ ‚èHTÚÑØØ’Ê^½ziiiˆGß¾}•ª÷MZeƒÃ±¤UC¤ ¾bròܺՄ B{¸&´•¨&´;iBš&¤ iÒ55ÑTwã§OŸÆöíÛ±{÷n¥é7îÝŠÐ 9Ôì´Уƒi‚ ‚ ºj¦cbbpçÎXYY‰œWvö»»C4iEAÄ› @[W4¬°°z‡ ‚ ‚èúÁtW›5~Ór¦ éˆçL”3-YÊç#MHÒ„4!Mº¦&$AAA(‡ÒÁô‹/àääÔî|kk+’’’0qâDLœ8k׮ųgÏHi‚ ‚ ‚‚iqqqhlllw~ÇŽxùò%ŠŠŠpæÌ 4›6mêñBKZïZ÷«»>Ÿýÿv‹™²‚q22VãÖ­Ø»w-\]CY•ûÛßV#(h6<(B@€'‚‚ÕÒ ’lÐÐð_ÔÖEpð¬SÙ–… cáîn‡GŠ»ÕÕ9]b ´¾u« Ç••€?Œ”Û×AA¯ÍŽª844?þø#´µµ‘‘‘¡r}ÿüç§íÎ]ºô Æ?~4.^¼Êª®“'K±lYjkù7nZZþ`U®¢¢~~kàç· ¯¯«²_òlñõuCŸ>úX´È+VlQÙ–ƒ?‡·÷*èèØ`ÈþØ¿?ïu™ ðòrÑBÙ¾&‚ ‚èH:li¼­[·âܹspssÃ?þñiÃÒr,ÊÊ~”•ý KË1Ì5--M9ò^¾|‰7þ‹={þÌÛž??ÉÉËÑÔtII¢3Á²ÊÙÙ™cëÖ•xô¨mm?âÉ“³*û ËØ»7?ņ û`ff¤²-îîvxñâîß/Äøñ£1sfx·¨²úš ‚ â ¦€Ãá 88ׯ_W¡Kæ(žÃ¼ÿ:„‡oÆ[oÙaÅŠ-Ø·ïÏ4Aš@Ÿ>¶ð÷_ ƒ!̵€OÌ›3³ùxöì¹H;²Êef®A^Þ à„¡C§#4t#k¤ù!ÍÁ=C`hèŽìì“Ø¹3†•-²Ú›0á#¬[—Áƒ?ÀÉ“¥Ø³'¶K Da{%eõ5AAÄk‹a ÂˆÆÆÆ/;eÊ>|˜ùâ½{÷àêêŠóçÏ+T/­FÑ3 ¥iB;Q‰jB»s‘&¤ iBš&]SµÏL{zzâàÁƒxþü9ž>}Š={ö°þÂ"AAAt'ÔLòÉ'hjj¤I“`oo––,_¾ü±_?G‘åô?ýú9Ò#‚ ‚xƒáh늆RïAA]?˜V6gº£ œéžåLKÓ„r×D5¡|>Ò„4!MHÒ¤ÌJ3Ú IDATkj¢ArAA„r(L¿xñNNN2ïÉÍÍ…±±1©LAAP0-L\\¥^¿yó&¾ùæ›7N0Ië]«ó~u—'‚ ‚ ºX0©×[[[‰ØØØ.é´¾þ¥Ë*šË­jî7åŽAA¼aÁ´™™\]]¥^ÿòË/áèè###• ¶X»6£FÍd®ÕÔÜÄôéË``à gçÔÕñ™k‚ÝââŸ0r¤'\\^mÕÝ·¯š›Ÿ‹,a§.|}c1xð;v .Š\;z´ƒMƒ‰‰7._®bÎWVÖcÒ$?èèØÀÎn1nÞ¼­².Ýáþ¨­å£¤ä 8K :]®NošAA¼áÁ´¬MXÊËËQ^^???µ¸pa,ÜÝíðèQ1bc— º:‡¹æãƒ¤¤P46CBÂ2øø|Æ\Ìèæäâôé4de%>,f® ~ÔEFÆjܺu{÷®…«k¨Èµ††ÿ¢¶ö(‚ƒç àÏ­°ÿö·Õ šŠà‰  D•uéŽÜ¹s &&†øý÷ Î……… Æ¢¢ ¹:½iZAñ†ÓÒxüø1Ö­[‡øøxp8µÔyðàçÈÍ-†ŽŽ † sEaasíÒ¥_0nÜ(Àøñ£qñâÕvåÿùÏOÁã Eß¾½;TÈ“'K1n܇ÐѱA`àz´´ü!rÝ×× }úècÑ"TTT3ç+*ªáç·zz“áç·§N]TY—îÈ€ATÔ",_þOÀÚµéøè£é02zG®NošAAôÐ`zÍš5ÀСCÕV§»»^¼¸€û÷ 1~ühÌœÎ\³´‹²²_ee¿ÂÒr «:µ´4qäÈxùò%nÜø/öì9ª²óçG#9y9ššN#))´Ýõ½{óðøñSlذff¦¿ØÙ™cëÖ•xô¨mm?âÉ“³*ëÒ]ññqÅíÛMظqNºˆ+|Xéô&jAAD ¦ssscccæ€JËãM˜ðÖ­ËÀàÁàäÉRìÙóç—÷ï_‡ððÍxë-;¬X±ûöý™>!È…–”••€?ŒDŸ>¶ð÷_ ƒ!¬l®K¼Þ€OÌ›3³ùxöìy»{ †ÀÐÐÙÙ'±sg S.3s òòÎ`À' :¡¡Yµ'K—î̶m«µiiQÐÔìÅJ§7U ‚ ‚ º>*í€hll yeÙÜ#© ­bÑ3ß19ùnÝj† ¡=\Ú‰JTÚ‹4!MHÒ„4éššh’\D—yg'4óÞ“ƒi‚ ‚ ºL ѯŸ#îßÔîüÿüÏ[¸w糖¡O#‚ ‚ènp´uEà ©w‚ ‚ ˆ®L+›3ÝQPÎtÏAiBš&¤ iÒ55Ñ ¹‚ ‚ B9”Ι~ñâ\\\pêÔ)‘óMMM°±±iwW›ý&‚ ‚ ˆ×LÇÅÅ¡±±±ÝùêêjX[[cß¾}¤n'ÀáXRJ AAÄkB©4˜˜‰³Ïpýúuõ8!õõ§¼–v)&‚ ‚èfÁ´™™\]]%^«®®ÆèÑ£Õfà•+×1vì 0ß~[ ²`ee=&MòƒŽŽ ììãæÍÛþÜ-pëÖo0p ´µ'áÈ‘?—¶“VN¸lqñO9Ò..¢ëûúÆbðà0vì\ôík‡ææçLYñeµ' A=‡ŸFÿþSaj:?ÿüæzyy¥Ä¶äù~äÈÐÖž„>}l±vm:FšÉÊÎ+W®c̘ÙûAkW[ËGIÉp8–:tº\ÛdùDAÑå‚iooo©×ª««qìØ1Lœ8–––X¿~=Z[[•6pÑ¢uðñqE}}~ÿý€?gcÿö·Õ šŠà‰  D‘ë·n5¡¡á³}¸iå„Ëæäâôé4de%ˆØ“‘±·nÀÞ½káêú*Ð~ø°˜)+øFV{ÒÔÁçÿŽ7ò°`+/þœ¹nn.yÅy¾/\ ww;œ Œ?EErm“åAADG¢öíÄ'Mš„+V`æÌ™xñâ:„¦¦&„……)T¯ PÓҲƽ{? O}<~üo½eÇ\ÓѱÁ‹-L9}}]AAt$jOó°±±Ann.àÕºÓ>>>ø÷¿ÿ­P½â)mmmøúëãøä“Møý÷‚žÑ9]xÙ;uÙ&¾bròܺՄ B{ìCIi’4¡ IÒ„4!MH“®©‰¦ºwssÃÁƒññÇãåË—8tè,X Ro¿í‚ß~»kkS|Ùcé®Pw”mŸôä`š ‚ ˆîƒÚƒéO?ýëþ{wWóýÿüѵ“–¹˜>Òd.ÊöIZLY¹Èä*¤¹eÑø¢É ‘PfF3¹˜Œ}flùÔIq‹ ™H®Ò>}>i.ât!ç÷‡ßyïœÎe§²ð¸ßnÝŽó~½ß¯÷ëý|½Ïóòêý^´ï¼ó5j„ÀÀ@|ðÁµªóöíÔ2øM›öÂÝ»T¶¿úê+ úþÑõÕ6Þ3›ˆˆˆž7Fd ±aéééì""""jøÉ´¡k¦ë‹º5Óôbª¾fš¸fZ}L¸ž1aLÆ„1i˜11f¸ˆˆˆˆˆ cp2]QQ•íUUUˆŽŽF÷îÝáää„ÐÐP<|ø‘¦Œ­Jˆˆˆ^ìd:** *Û<üøã8yò$úô郕+W¾PA«~ÿiuåºö©É~/‹“'/"<üØØôÕ¸Ï÷ß§¨Ä,#ã ‚ƒ#ѱ£?ÌÍ»a÷îCz•ý-ÉtDD<<<Ô–qb4¾új®\Ùôôõ š¯WÑß’L‹Åb 0@mYNNš6mªHZâèÑ£7p÷îC07ï++/,\¸: ð׬®‘‘;®]+„DrFFîhÕÊWØþÑGQ8rä,Þ{oŠ^3’Šuª{Ÿ«q6ùÂ…«pr×^냟~:,l·¶ö†TZ®R—¢ÔT Z·îÏ™S-?®Bpp$Ö­›«RvÿþC¼úê+OOg<|(Õ«ŒˆˆˆèoI¦4–ýñÇ8þ< ±XŒððpTV¾vìØðóóƃX°`"òòöŠ‹¢S§¶øßÿà7láæÖ ÎÎqøðaÆ×Þ¾Þ{o ¼¼\1räç’ÉN¡C‡×ñÇûee¼òŠ%*+O\]5ßedâÄhŒÓ×®ýŒ‚‚"…d.C¨[þ£úä*®^ýIx$9©ŠŒ\‡Áƒ½áæÖI͘+Ö2‹<"""jXÉ´6R©Û¶mCBBŽ;†-Z`ÕªU×·mÛb$'gÀ¯¿>éé§Í›7Áܹã1}ú—€… ×ãƒ|áàÐF86"â#”•U`þü ¨¬|¬×ù<<:#5õ(Œ» 99ö055ÑyÜ™3—0uêHXYYbìØA5ºÆ™3ƒÐ¨‘9üý{éÝΗÍÚµ?`Ö¬UÂÌ~pp¤Ž/F2ƒÊˆˆˆˆþÖdÚÄÄ3fÌÖLá§Ÿ~2¸>??oTTÇÝ»épvCgeAAðßÿ–`ùò-8x0 3gÕºýÎøæ›н» 6mú b±ƒ^ǹ¸tD\\"JKaË–½Jeff¦Ø½ûž—°hÑ´lù~ýõ(•ýõg˜;w âãç 3ÈŠkžÕ½êJ¦OºˆaÃz£°°b±£P¦n=µÜúõáØº5mÛú¡uë–Jç“/ß°²ò¸q aggSëv¾ˆ´ÅWqŸê1ú׿£gω‰<1dȧHN^)ŒmeDDDDµeZ×þóŸÿDUULMŸV]RR‚W^yÅàú~ûm;`þü jËþ9Ó§QZK[›»dˆÅÂñÓ§V*ÓV¯‹‹.^LR»¯¿/TTW9¦z}/ûÝ=ô¹~uûhН®2"""¢—L5 [·nŨQ£›7o†‹‹K½4^qv266Œ½IDDDDÏw2ýî»ïâÖ­[èÛ·/JKKáåå…¨¨¨zi¼!3¹M›öR{ãW_}þÉÛÒ‘þŒ4È[¤§§³wˆˆˆˆ¨á'Ó¹¹¹ ªQŽŽŽ|:àKâðáRôèaÅ@¨Ä¤¡“ÃŒ c˜0&Œ cÒ cbÌpÆà5Óèß¿?<¨´ÝÑÑQe_\¼x‘Ñ&"""¢ŠÁ3ÓQQQ(((PÙž››«ô‘#GÖëEÔÇ}™uÕ©é>Ȇî÷¬Õu›êò:¿ÿ>E¥®ŒŒ3ŽDÇŽþ07ï†Ý»éUFDDDTŸ š™Žˆˆ€‡‡vîÜ©u?™L†U«Vaýúõõzõ±¾ZW2Ù)¥„ÏÒ²;=:ªs¿gAS[ê3fuuùù·±jÕ•í'FãøñÍxõÕW ‘œCß¾¡(-ÍÔYFDDDTŸ š™‹Å0`€ÎýÒÓÓñÆo eË–5N>Û¹kWš5ë '§¸páªPž«vFT¾mõêhÑÂGi¶R^VýI{ò÷šê€ ®ÂÉi^{­~úé°°ÝÚÚRi¹J]ŠRS%hݺÚ’›{ݺÃÂÂÞÞpûöU®1#ã Ú·‚þýÃôj‹¶ëËÉɇX<¿‹ØØ-°³Sîã?\€–-ßÃ[o ÇYu>?®Bpp$Ö­›«RvÿþC¼úêÓ‡ÿxz:ãáC©^eDDDD .™Ðk¿]»vÁÏÏÏàÆÉgO ÿ‡›7÷"0p&LX,”»ºª¿ë‡|[QQ nÝJç-/ëÐáuüñÇ>@Y™¯¼b‰ÊÊZëžÎ€ŽÓ×®ýŒ‚‚"…d.C¨[þ£š¨^ÅÕ«?©´å­·Ú!'çé ÿ?.Çðá}„ãÇŒ™‡É“ßǽ{‡2“'/S¹Æ={Ò‘–ÄÄ¥zµEÛõ‰ˆˆPR’±Ø÷ï—*•oØ0EEûñÝw 1`@Ý?$'2röVzš¥Ük¶{xtFjêQwArr&ìajj¢³¾3g.aêÔ‘°²²Äرƒjt 3g¡Q#s•¶xy‰‘™y°dIæÎ/”?Ÿ‡ààHˆDžŽÄÁƒª³Á_~ù)ìí[ÁÚºq­ãœ‹!CzÀÂÂ}ûvsøõ×èÜy$,,<0iÒ¥k¨+k×þ€Y³V ³æÁÁ‘:¾lÉ *#"""jðÉô‰'àââ33³Z×õÝw{QZúqq‰pqéXëú<<œñÍ7? {wlÚôÄb½Žsq鈸¸D”–>–-{•ÊÌÌL±{÷![·¦ m[?´nÝR©Nùò ++/Œ·vv6zµEžLGGoBxøx¥ëÞ¼9{÷f¢ys´jå‹°°åJíT×FmmÑu}[¶,Âôé_ÂÒ²;Ú¶õÃ矯ÊBB†`Ô¨¹‹G£¬¬\cêâ®Õcÿú×bôì9"‘'† ùÉÉ+…ÿMÐVFDDDTŸjõDGGGh:6((“'O†§§§AõÊg'ŒÜù4ÄŸ€¨)&|•rLøt.Æ„1aLƤaƤÞf¦oܸ¶mÛÖ.ÓW3CIDDDDÔP˜ÖWÅwîÜAÓ¦MkUg¤‰ˆˆˆ¨!3Ð o{žžÎÞ!"""¢†ŸLºfº¾(®™¦×LkŠ ×®)Ç„ëùÆ„1aL“†c†‹ˆˆˆˆÈ0'ÓðññQÙ.•J1gθ¹¹ÁÝÝ‘‘‘(//g¤‰ˆˆˆˆÉ´\TT T¶GGGÃÞÞGEff&Z´h/¾ø¢^/¢>îö¡«N}溺m¿º¸'ó³ŽË³ðý÷)*mÏÈ8ƒààHtìèsónؽû^eDDDD .™Žˆˆ€‡‡‡Ú²ÔÔTA$A$aìØ±øùçŸëõ"êc}µ®:«—[Zv¯q=õ½.üY­;×tí†$ùùù·±jÕ•í'F㫯fàÊ•ÝHO_  ùz•5¸dZ,cÀ€j˪ªª “ýuƒƒ—yÈgnwíJC³f½áä4.\ʳ³sÕÎîÊ·­^½-Zø(ÍVÊ˪?±Oþ^SpáÂU89Àk¯õÁO?¶[[{C*-W©KùK†­[÷W;sª©,?ÿ6|}?†Ýôë7ׯª\cFÆ´o?ýû‡éŒKõë•ÿÜ»Wªõ|Úâ©Ïµøá´lùÞzk8ÈÒ˜P?~\…ààH¬[7W¥ìþý‡xõÕWžžÎxøPªWQƒK¦4–õîÝÛ¶mƒT*EYY¶mÛ†>}úÔ8ùÌjaáÿpóæ^À„ ‹…rWWõwýo+**Á­[)Âãµåe:¼Ž?þØ(+“à•W,QYyBkÀÓÐ1cúãÚµŸQPP¤Ìeu˪ËɹЫWRj‹®²  ÄÄ„¡  K—~¬4ã*?Çž=éHK‹GbâRqQ<6/oÄb$$,@“&VZϧ-žú\û† óPT´ß}·–-{•ÊÌÌL±{÷!m×>zt8V¬˜Ž’’4ÄÄ„)%õÕݹ“¦4»½yó_É´Hd‰äœô[[7FUÕeDDDDÏU2}ìØ1B$ÁÒÒcÇŽEFFF­êlÙ²Ú´„ï¾Û‹#„íêÖ>Ëÿ¬íÕÃçN]İa½QXX ±ØQg°~}8¶nMAÛ¶~hݺ¥Rò¥VV^7n!ììlt¶EW;·n]„3Vâ•W¼1sæWزe‘R;ÕµQÛ5Ü»WŠ)S–áÌ™KhÛÖFFî06þkh:Ÿ®vjºv ‚Q£æB,²²r‰tõö+¾À¿þµ={N„Hä‰!C>EròJá´•Õ§Z=ÑÑÑÕíÒ¥ Nž<)¼øð!¼½½qúôéÕ+O¸ŒŒÜù4ÄŸ€¨)&|•rLøt.Æ„1aLƤaƤÎg¦}}}±cÇÜ»weeeؾ};úõëgX¦¯f†’ˆˆˆˆ¨¡¨ód:<<çÎC¯^½àéé‰üü|Ì›7Ï º´Ý!‚ˆˆˆˆèïf„§w)kpÒÓÓÙ;DDDDÔð“iC×L×—§k¦yk³—×i1&Œ c˜0&Œ cò<ÇÄàeðññQÙþøñcDFFÂÕÕžžžˆŽŽÆýû÷Ù+DDDDôÂ18™ŽŠŠBAAÊö5kÖ qãÆ8rä<sssÌš5‹‘&""""&Óµe{öìAPP7n ‘H„qãÆáÌ™3Œ41™±XŒ¨-+**Âk¯½&¼oÚ´)=zÄH“iÐXÖ¼ysüùçŸÂû‚‚TUU1ÒDDDDÄdZ—Áƒ#!!=Â;wðÕW_1ÊDDDDÄdZÓ¦Mßþ OOOiÅ&""""b2­ÀÜÜK–,ÁÙ³g‘’’1ÒDDDDÄdZ ïóóóaffÆH“i]úôéƒíÛ·ãñãǨ¬¬Ä¹sçøT""""b2­Y³fáÂ… ‹ÅèÛ·/,,,°|ùrFšˆˆˆˆ^8Fd ±aéééì""""jÐL 77·A5ÊÑÑ=¬rÙ;/Ã¥ìkÆ„1aLÆäÇ„ËO•crø0cR‹˜3\DDDDD†1}žkäþŸ›Z[¢$må3;w³ÞÓñçý§E—Z× âñnH,Œ‘±afìgH,R<ˆˆˆˆ|2-•J…ýû÷£ªª ¾¾¾X°`D" ¬¬ ááá8tèLLLàãベ3g¢E‹uÖè¿#y+I[©”Ì7G»ª×=¼õݯ&±¨þ冈ˆˆèeTãe±±±ppp@ff&$ Ú´iƒ˜˜¡|ûöíxã7püøq¤§§£U«V˜9s&#]Od2YîGDDDDú«ñÌtjj*ÒÒÒ„™èÀÀ@ôéÓ‘‘‘€ŒŒ ̘1æææ077ÇðáñvíZMFÎÙÉoWñß?ÀÄØ^®?w Þ°5l6^W}=&~Ìì #çl@åã*´nù*æ… Ä¤o~Zˆˆˆˆj›L?~\é½™™ÊËË…÷ùùù°³³Þ7mÚ2™¬^gFsò ± ®")fâÓ$?b“P.O¤þvý¦®B3ëÆØ¹l"Þqz'/^ǘyßÂs| ~‰›†žo;謯:ÅDûßGÎcÐ'_c̼o!Ùô¹A×£«¾Ãëg*%Çš–½è»_õe›¸tü{¹bîš=X½#É4‘µž*ÎÍÍ…››Û_‰YI ¬¬¬„÷æææ“z»ˆ·£‘{KHý{¹âû¨ñ*û…-ßÒGåø>j<Þw€™© <Ûcë¢ñ(¯xŒ©±ÛkTŸ:ý=Y®×ɵÕu}úø>j<ü{¹–„ÅŤH~RˆˆˆˆÔ¨õÝ<’’’&¼¯¬¬„©é_ÕÖçÒ¹òŠÇ $€Õÿ,wáj!À{Âjë¹xíÕwî=Ä츑œqÅwKaÙèé—‡ª'O º–º®Ïš®•ˆˆˆˆê0™–H$°±±«ë_É—………Òúè'OžÔë¬4X˜›¢¼â1vÊÁ݇²Uö{óà·Ë8òígèîÒ¾ÖõÀÐßàÈÙ<, Šécú øn)^0Ûàk©ëúˆˆˆˆ¨þ”݇²Õ®qþjÆHX˜›b̼o‘qæ *Wáöï"~W܃–ÀqØüÕ¿ÿÿÙì¡=Ÿs÷!oL©ÕµÔ¤>‘…™è?xT†ßÿŠŽþïGDDDDÏ ™ÎÉÉÁâÅ‹±páB•YçŽ;âîÝ»Âû{÷î wþ¨/Ním‘µefí‹áŸ¯ÇÈ9Ô®qîù¶²¾›ƒnßÀÈ9ë!òüÞŸÕ;ÒÐÞî5D‡Õ«¾f½§ Þ¹l"œÚÛÂyÔ"ôýø+x»uT»Ÿ¾jRߕ݋1n°'†¾í‡ÌCúéËørúp•:uí׬÷t¥{F¹ÿŒÜÿÏ ö½LŒÈrssõ> -- kÖ¬Á¦M›Ð¤I•ò-[¶ ¼¼€­[·"-- ;vìÐûŽŽŽjï<¡ë®Š**ÃÂ#ͬãNÚ—ìéú<5èM—:¢‡U.ƒÉ˜0&Œ c˜<»˜ôèÁ@(ÆäðaƤ1©ñšéˆˆ£k×®JÛå ùСCñÙgŸaÍš5022‚““""êvI‘ûÿi}œøãª'X÷c& h`7Žˆ:Vý¾ÔDDDD/«'ÓGÕZnmmøøøzi¬®P·1‹‘{ вÙ+øüC_DMÂ^®cš¾Ä1™~Žù×<ö(1™~Q¸-ÁéßoèÞï-{œÜ2—#"""zŽ5Ć¥§§³wˆˆˆˆ¨á'Ó5¹›Ç³àèèˆÂÂBöÎKàòåËppp` Æ„1aL“gÞ¹BïæQ»˜3\DDDDD†©q2-•J1wî\¸»»ÃÕÕ³gφT*UÙ¯¢¢>>>Œ01™–‹…ƒƒ233!‘HЦMÄÄĨì…‚‚‚Z7ðÖ­[èÚµ«ðú<±µµUûªnŸgÑMÆŽ['uÖäZÏY›ÒöšJMM…½½=6oÞ\/×ð¬ûûïƒDDDL¦‹#F@$A$!00)))JûDDDÀÃãN(‘Hàéé)¼>Oʺo]í8pàÀ3¿Þº:g]գͤI“¯’¸?‹sÑ –L?~–––Â{333”——+í#‹1`À€Z7ÎÖÖÓ§OÇÎ;…Wuû¬X±nnn°··Gjj*àôéÓèׯìíí!‹‘˜˜(ì¿}ûv888`Ó¦MøöÛoѾ}{á¸ÂÂBøûûÃÞÞýû÷G^^žÊ9{öì)l?yò$lmmqìØ1Àµk×àää„ÊÊJ½güÎ;‡=z`РA¸qã†ÞퟷS§N0`®_¿.l_¿~½°ÌFqf¼z¬ªÏšk:ïÍ›7áçç$''kì/m}¢n?¹~ø^^^JûëŠAõznܸ???ØÛÛcðàÁÂÿŒhŠ“"mÇVVV"$$ÆÆÆu~ ò/¨öööxýõ×Ñ»woœ={àãã#ì_RR‚·ß~?Ö9†5)M×HDDDÏ0™®.77nnnJÛê¤q………°³³Ã‰'„Wµal ‰D‚øøxLš4 ðÉ'Ÿ`êÔ©ÈËËÃæÍ›±`ÁaSSSìÚµ 7n„­­-¾þúká¸9sæ`ܸq¸|ù2¦NŠ3f¨œoðàÁøå—_ûöíƒöïßHNN†¿¿?ÌÌÌô¾Îääd¤¦¦¢gÏž×»ÀÓß6ÍÎÎF=0oÞ<¥doïÞ½:c%ŸM–¿j:oxx8zõê…³gÏâ÷ß×=°Ôô‰b¿*¾O—ó8p@i]1¨^ÏìٳѫW/\¾|žžžøì³ÏtÆINÓ±êÚZ—ס¡¡2d®_¿ŽO>ù±±±ìÙ³°{÷n 8¦¦¦:ǰ¦1¥->DDDd˜Zß/<<ï¿ÿ>\]]UÊaHÝò[ãݺu صk••¥²¯­­-òóóѨQ#á}aa!îܹƒ-[¶àâÅ‹ÈÉÉÁõë×QXX[[[\»v æææhݺ5nܸ333á¸:àÑ£GBýfffÂÌžÜÕ«W1mÚ4ìÝ»=zôÀüùó1þ|=z}ûöÅ_|ggg¡Îê¯ÕÛéÒ%X[[ãáÇèܹ3òóóõj‡â±÷ï߇››òòò„k´°°PЉ¦X)¶KÓy;tè€sçÎÁÒÒ|x¯sܸqÈÏÏG\\ºwï^£vLž<………X³fÁß*ŒŒp÷î]­çõòòB\\.]º„~ýúÕºoÏY›¾P¬§k×®X»v-¤R)Ö­[‡.]ºè'mÇÖ÷5ôìÙ÷îÝCXX‚ƒƒ±qãF¡Ìßß‘‘‘5^:¥nLrDDDTÉtNN/^Œ… ÖëìVmîä1wî\Œ5 ÞÞÞpqqÑû¸˜˜H$´k×ëׯÇ_|¡v¿Áƒ£¸¸ƒ  2>4h½xTT>üðCœ8qK—.­Q;úõëooodgg#**Ê 8{yy ÿ» é¼K–,AVVBBBjôåDŸsÖ¦/ëY¶lÒÓÓÑ©S'ddd±Ô'NÚŽ­ïkX±b–/_޶mÛ"::³fÍʈ’’ 6¬ÖcÊk$"""íj¼f:-- kÖ¬Á¦M›Ð¤I­ûÖvÍ4i÷<¬uÕåY¬ç{Þ⤓¬¬,,Z´Hí/“¾L¸î“1aL“ºŒ ×+ãšéÚŤÆk¦#""P\\¬ò•Úü#©7zôh¬^½š ""j ŒÈbÃÒÓÓÙ;DDDDÔð“é†6«Ìe/þ$c˜0&Œ cò¬cÂ% ʸ̣v11f¸ˆˆˆˆˆ SãdZ*•bîܹpww‡««+fÏž ©Tªw9ÑK›LÇÆÆÂÁÁ™™™H$hÓ¦ bbbô.¯©[·n¡k×®Âku¶¶¶ÂŸSSSaooÍ›7×{àÏÛÚ¾gy]òs;¶NίëXÅóüÝýRýUQÏž=ŸY{BLž—þ¬ÉجMÛõ9Ojj*Þ{ï½gòwÕq2ššŠ#F@$A$!00)))z—×”®{M+®­ž4iâããt‚ÐÐ=˵êòs8pà™œïYG›Æ7¨þn1aÛknÒ¤I˜?>ÿ®#"z“éãÇÃÒÒRxoff†òòr½ËkÂÖÖÓ§OÇÎ;…WuûÈ_+++"~ýúÁÞÞb±‰‰‰€Þ½{ãÊ•+€k×®¡sçΨ¬¬Daa!üýýaooþýû íT¤©NE7oÞ„ŸŸœœ¬”°ª«_S{ä×ZXXˆ‘#G¢mÛ¶ðòòÂÙ³gµÖ§¨gÏžÂö“'OÂÖÖÇŽÎåää$œK> «cuq­þ…ÎÞÞ¯¿þ:z÷î ‰D¢T®®_«Ï몣ººCÞÞÞzýg1¶ªÇDÓµhû,芧>ãEŸþ ÕÚŸúÐ?[[[¬X±nnnJñÖô™ªë±XÓÏ®üﺈˆ•¿ëˆˆè9H¦«ËÍÍ…›››ÁåÚÂÎÎ'Nœ^µí«øªÈßß{öììÞ½„©©)fÏž^½záòåËðôôÄgŸ}V£öݺu @||<&Mšøä“O0uêTäååaóæÍX°`Ðù ý¿ÿýoøûûÃÌÌ sæÌÁ¸qãpùòeL:3fÌP9¦:…‡‡£W¯^8{ö,~ÿýwa»¦ú5µGñ¸Î;#''Ÿ}ö>ýôS­õ)@ff&|}}±|ùr8;;£]»v¸pá,--qÿþ}ˆÅbäçç«Ô£®^[[[äçç£Q£FJûܹs[¶lÁÅ‹‘““ƒëׯ ×2aÂüòË/0`bccáää„:àÑ£GB½fff¸qã†Ò¹4Õ©¨C‡8wî,--ñàÁ!†šê×ÔùutìØgÏžUY– O{¯^½ŠiÓ¦aïÞ½èÑ£æÏŸùóçãèÑ£èÛ·/¾øâ 8;;ÃÖÖéééèÙ³§Rª‹«¢„„¬X±ýû÷ÇøñãÑ©S' ûêÓ¯šêФ®Çüýß=¶ϯéZ4í¯ø^S<õiƒ>ý¹gÏ8;;k±.šâ§)Þš>Su=kúÙ•·1==·<«†·cLô o§Œ·Æ«]LLks"‰D‰²®r]Þyç¥WC mgg‡æÍ›c×®](++ƒ³³óÓo É“±±1LLLTŽ---ÕX¯ü_EAAA D—.]ТE ôîÝðúë¯ÃÂÂééé(//‡““ ªª çÏŸGóæÍ5žGSJߊŒŒ “=}þŽüU[ýšÚ£xœºäRŸö¶oßååå8räD"|||°dÉìÛ·•••BükWEãÆC‡pòäI„„„`òäÉ RŠ…®~ÕUdzC÷ت>†t]‹¦ëÒO}ÚPý©n6¶úßÚ>Gêâ­é3U×m¯ég×k'"¢úcð2¢¢"$%%!44Ô r}Œ1+W®^kó„¿¿?"## lëÚµ+Ö®] ©TŠuëÖ¡K—. Pjj*îÞ½‹‰'Öè<¹¹¹prr›o¾‰¸¸8¥²¡C‡bôèÑ1b„Ò† 6 ªª ‰‰‰ðóó«Qr^^^ˆ‹‹Ã¥K—Я_?½êW×9ÄÇÇC*•"%%ï¾û®Þí???L™2ðtéÇ´iÓ0|øpµÉÄÝ»wõŽqÏž=qïÞ=„……!88Ë–-S*×Ô¯ŠçÑUÇß9†žåØRŒ‰¦kQ¤éº4ÅSŸ6èÓŸ;vìÐÚŸ………*?†|ŽôùLÕõX4ä³[=qÖuíDDÔÀ’霜,^¼ .T;Ó¢«\_ºîäQDII † &l[¶lÒÓÓÑ©S'ddd`éÒ¥ ¬›ôðð€¯¯oÎ3wî\Œ5 ÞÞÞpqqQ*|¨”ˆ*&-5ùß‹+V`ùòåhÛ¶-¢££UÚ ©_Ï£­MkNŸÕz–cK1&š®E‘¦ëÒO}Ú OfeeiíÏÚÆ¯&Ÿ©º‹†|v‰ˆ¨á¨ñšé´´4¬Y³›6mB“&Mj\®úxœxVV-Z„½{÷²×†¸ž/<<ÑÑÑÛâGÆ„1aL“ú ×+ãšéÚŤÆk¦#""P\\¬òyB®«üï2zôhav•H‘HÄ1DDDDz1 kˆ “ßö‰ˆˆˆˆ¨A'Ó÷¬quõ±Ìƒ&þ$c˜0&Œ cò¬cÂ% ʸ̣v1á㳈ˆˆˆˆ TãdZ*•bîܹpww‡««+fÏž ©T*”WUU!&&]ºtA—.]°páB”••1ÒDDDDÄd:66ÈÌÌ„D"A›6m#”¯[·Ož<ÁáÇ‘™™‰×^{­V·tºuëºví*¼0vìØí¯x«·ÔÔTØÛÛcóæÍëäãˆ5ÇOßr}b¨©/ê{̼lý«éóRÓÏQmÇ ?WDDL¦…`Ĉ‰D‰D DJJŠP¾sçNŒ7–––hԨƎ‹ŸþÙàÖ彦_¨ÑþŠëÏ'Mš„øøx•D¢¦u¾L Y¿¯Ï1šú¢¾ÇÌËöûšÆ6Ç<ý-ÉôñãÇaii)¼733Cyy¹ð>==ÿøÇ?„÷2™Líc©õakk‹éÓ§cçΫº}Ô½—Ïú½þúëèÝ»7$‰HøûûÃÞÞýû÷G^^žÚDhäÈ‘hÛ¶-¼¼¼pöìYÀ7àçç{{{ <Â9·oßlÚ´ ß~û-Ú·oÔÔT½Ê5µÉÖÖ+V¬€››ìí푚š*\_Mf¹©¬¬DHHŒÕ–ËýðÃðòòΫ«ëׯ‡Þ1>}ú4úõë‡÷Þ{b±‰‰‰×¥©¯mmmqìØ1têÔ  Àõë×µÖ©©ßåq‘·ÙÞÞ^©Íºb^½Õõ…âØúøã•Æ–bû Ÿ~ú)`öìÙèÕ«._¾ OOO|öÙgÂ1¦¦¦Øµk6nÜ[[[|ýõט4i’^åÚÚdll ‰D"«(µµµUùÑOu3“ê¶ßºu Ϋ«¶¶¶ÂÃLô‰ñ'Ÿ|‚©S§"55›7oÆ‚ ®KS_O7;;=zôÀ¼yó´Ö©©ß«·9//O¥ÍZ?dÕúP]ÌÇ–X,V[ŠñÐ5–ÔµQS¿kÏêÚ¬Èßß{öììÞ½„©©©Ö:um”ÿYÛxÖÔf¹‚‚|ðÁÈÌÌ„¯¯/–/_ggg­uªûœ*ºzõ*¦M›†½{÷¢G˜?>æÏŸ£G¢Gˆ‹‹ƒ³³³Ök¬ÉçESüÛ­nÌV?o‡pîÜ9XZZâÁƒÂß_š¶×ÞòŒ1aL o§Œ·Æ«]LLks"‰D•DV¯^ ™L†+VàóÏ?Ç?þXãúßyç¥W]Idii©ðçqãÆ¡C‡8yò$BBB0yòd¡ªª çÏŸGóæÍ5ÖSUU¥viŠâ6ccc˜˜˜ïåÉŽ<9«N[¹¶6Ém‰²¦èÚPw^míT¼>}b„ÀÀ@ :b±½{÷6¸.M} @è####áÏšêÔÔïÕÛÜ¥K´hÑB©Í5¥¡cK×XªIµSW›íììмysìÚµ eeepvvÖY§ºÏ©¢öíÛ£¼¼GŽH$‚–,Y‚}ûö¡²²R8‡¶kÔ'Ö5…®ØA&{úì+ù«¶íDDôb1x™GQQ’’’ªõ¨)S¦àÊ•+cĈX¹r¥ðª.I433Cjj*îÞ½‹‰' Û{öì‰{÷î!,, ÁÁÁX¶l™˜oذUUUHLL„ŸŸŸJˆ‡T*EJJ Þ}÷]@×®]±víZH¥R¬[·]ºt©“NЧMÕãz÷î]!q®þch2!¯³¶íÔg¿ÜÜ\899¡]»vˆ‹‹«Õ95õ5Lž<………X³fð SSšú½z›ß|óM­m6„âØÚ¹s§ÁcKSÕõomdz¿¿?"## ³NMŸÓêüüü0eÊ 8ÀÓ¥Ó¦MC¿~ý îMc[q»>±Ðt^///ÄÅÅáÒ¥KJíÔ´ˆˆ˜L#''‹/ÆÂ… UfpºwïŽÿüç?ÂûòòrXYYÔ8}îä!_éáá___aûŠ+°|ùr´mÛÑÑÑÂíùbbb ‘HЮ];¬_¿^ímûbbbpäÈtêÔ ±±±X½z5`Ù²eHOOG§N‘‘¥K—ÖI'èÓ&E^^^jÿ7 6ô©Sßvê³ßܹs1jÔ(Œ;...µ:§¦¾€~ýúÁÛÛÙÙÙˆŠŠÒZ§¦~¯Þfooo­m6„âØ:uê”ÁcKSÕõomÇóÀQRR‚aÆé¬SÓç´ºÁƒ£¸¸ƒ  2>DŸ>} îMc[q»>±ÐtÞ%K– ++ !!!JI¶¦íDDôb©ñšé´´4¬Y³›6mB“&MTÊcccajjŠÐÐPTUU!>>Ož8::B&;ÅÞy >\Š=¬•˜ð¿Û”cÂÿ‚dLÆ„1aLfLŒ."""""ÃÔ8™–J¥˜;w.ÜÝÝáêêŠÙ³gC*•ªÝ799Yi=5Ñ󦢢Ҡ²ú8½Étll,™™ ‰D‚6mÚ &&Fe¿Û·ocÇŽÏm`ŒŒÜ9:ž±íÛ÷ÁĤ+ŒŒÜanÞ »wÊ22Î 88;úר ¶nMê‹GëuÜÉ“þ llúª´S[ÙÅ‹ù=:yªm‹&Úê$""¢(™NMMň# ‰ ‰ˆ””¥}ªªª0gÎ,X°à¹ ×l?{S¦,ÃÞ½_A&;…ÄÄ¥5j®P6qb4¾új®\Ùôôõ š¯WYRÒ>|÷ï†Lv gÏnÓë¸.]ÞBtôܽû@¥ÚÊ>þ8Ó¦}©ô(—bäÈ9z]»¶:‰ˆˆèJ¦?KKKá½™™ÊËË•öùæ›oЫW¯ZßÛÒÈÈ]øQ÷>7÷ºu †……¼½'àöíÿª›‘qíÛAÿþaBÙî݇`nÞ VV^X¸p=:t*”egç*CQ~þmøú~ ;»è×o*®_/T:×êÕ;Т…Of$é/þyýû?}8OïÞ]ðÍ7³…²û÷âÕW_xz:ãáC©^edaãÆ4n,R9Ÿ¶ã •–wÞq‚L&ƒ©© œœÚ³c‰ˆˆ˜Lk–›› 777…d4ÙÙÙ®uãd²Sxë­vÈÉÙ øñÇå>¼0kîÝ;Œ!˜ÆËËsç®ÁÍ›ÿALÌT¥²Í›#1~ü"Ìœùš5³Æðá}°zõ,PZg (ÿB¡‹ËèØØ-¨¨¨TZ¢¸Vºú±[·.Bpp$Ξ½ WWGlÙ²Hå\2Ù)•÷¤ŸáÃ?WY·,ß¿þµ={N„‰‰1š6µFròJ˜ššh-2¤rsoàÍ7ßÇ£Ge(+«Àš5Ÿ uk«SÛ8ÐVöÑGC1~üB?~ÆÆÆJcKÅ:{öìùÿë”qP5p=1''ñññˆŽŽ†µµµÖ} I¤ùÄ—Ÿ€¨)&|•rLøt.Æ„1aLƤaƤÆ3ÓiiiX³f 6mÚ¤3‘&""""z‘Õ8™Žˆˆ@qq1ºvíª´ÝÐeDDDDDÏ+# rafzz:{‡ˆˆˆˆ~2ÝÐf•¹fúåÁ5ÓšbµkÊ1áz>Æ„1aLƤaƤÆË<¤R)¢¢¢°ÿ~TUUÁ×× ,€Hôô s%%%ðððP9ŽË@ˆˆˆˆèESãûLÇÆÆÂÁÁ™™™H$hÓ¦ bbb„ò¼¼<¼óÎ;ÈÍÍUú!ÒEñqñ:à·ß. e……ÿƒ·÷X[{Ã×÷cüã}UŽuv¥R§üÑñòz£¢6ª=§Hä‰ììÜ:)#"""&Ó¥¦¦bĈ‰D‰D DJJŠP~åÊ8880²Tcò¥=2Ù)lß¾}´X(›>ýKÌ›‚’’CˆŒœ©´\éØß~ÛŽóçópîÜ¥í#GÎAbâRÈd§ •JФ‰•Êý›åe®®ŽjÛdH1™Vëøñã°´´Þ›™™¡¼ü¯Ä&//;v¬“ÆÉgÿV¯Þ-|`nÞ »wRÚçàeË÷ðÖ[Ãqà@–Òq}…#GÎâ½÷¦(—›{ݺÃÂÂÞÞpûö9±ØçÏç)|‰; //W˜ššÀÃÃ÷îVÚÿûïSѬ™5¾ÿ>Um}Ožf7~ÑÑ›ðÆ­•޵°0‡‘‘»Ú/j†–“i½%%%!,,LxåÊøùùáØ±cÈÈÈ€âââjuŽèè)‰,àïß ••…í¿þz;„……&MZ¢T¡¬¬óçOP*;>ÁÁ‘‰<‰ƒ³8##w¼÷Þ¬^=SØÖ¤‰îܹ§vÿôôÓ¸u«Ý»ÇÍ›ÿAzúi¡Ìß¿**ŽC*•àÇ—ÃØXyVº¬L™ìòòö¨|Q3´Œˆˆˆ˜LëE"‘ÀÆÆ®®®Â¶ãÇãý÷߇©©),--1lØ0üðÃõ񿄣̱bÅt””¤!&&Lïã¼½]±zõ,<‘ЀÈd§P\|>>=裆bãÆ=ÉdHN΀“Ó¡ìûïSñí·ó!“·ßÎWZꡘ€/\¸½{wÞ»»aùò-¸{÷NŸþ]© †–“i½!)) ¡¡¡Z÷‰DøóÏ? :‡‘‘»Ö×!5j.ÄâÑ(++Êt·ys$öîÍDóæ>hÕÊaaË9€êý¤(:z .]ºŽV­|;– û&$üŒEÿL,BBÂÏBNC«V¾ðöž33S|øá ¡ÎmÛ¢ñïÁk¯õ~Q±¶eDDDôr15ä œœÄÇÇ#::&&&JeHNNF‹-÷îÝCÛ¶m j\õ·T¿lÙT,[6Uc¹&­[·Ä¾}_³÷mýgaaŽ„„5#ÇoÖX§ƒC¤§¯¯Ó2"""z¹Ôxf:-- óçÏÇâÅ‹amm­R>hÐ lÛ¶ åååJ¥øá‡ÈH“鈈\¸p]»v…£££ð#÷é§Ÿâ?þÀ;#^½z¡¢¢|ð#MDDDD/#²†Ø°ôôtö5üdº¡=îÛÑÑQïõÏô|;|¸=zX1*1éÁ@(Åä0c˜0&Œ c˜4ȘÔx™‡T*ÅܹsáîîWWWÌž=R©T(¯ªªBtt4ºwï'''„††âáÇì""""záÔ8™Ž…ƒƒ233!‘HЦMÄÄÄå„ ~üñGœÐ2Ù)H¥4ib™L¦r^©TWWGµm2¤Œˆˆˆ˜L«uüøqXZZ ïÍÌÌP^þWb“““ƒ¦M› ï---qôèQƒxáÂU89Àk¯õÁO?V*ËͽnÝ‚aaáoï ¸}û¿”g8Õ½ÏÎÎÕ8Ë““±x47~±±[`g7@çù¨î‰Å8>OáKÜQxy¹ÂÔÔθwOy,|ÿ}*š5³Vzú¡¢'Ož 'ç*vîüFFF 0ý=Étu¹¹¹pssÞÿñÇ8þ< ±XŒððpTVV\ÿĉÑ3¦?®]ûEJecÆÌÃäÉïã޽à ‚É“—x:cøÖ[퓳ðãË1|xaæÓÕUó/8މˆˆPR’±Ø÷ï—ê<Õ½³g/£}{;áýƒ YhL”wìØ‡ä䯘¸Ož<Ê—bäÈ9hÜø]DGoÂo´V:ÖÂÂFFî07ï†Ý»ÕI½ª;2Ù)„OWaÛG ÅÆ{ “Éœœ'§BÙ÷ß§âÛoçC&;…o¿¯´ÔãÎ{Ÿ.\/$Ùàî„åË·àîÝ8}úw¥6ZFDDDL¦õRTT„¤¤$„††*moÑ¢Ú´i#¼oÚ´)îܹcpׯÇÖ­)hÛÖ­[·ð×]86oŽÄÞ½™hÞÜ­Zù",l¹J2½ ááã•êT·žZnË–E˜>ýKXZvGÛ¶~øüóÕB™¶óQí)öIuÑÑSpéÒu´j勈ˆxìØ±TØ7!ág„„,„„,BBÂÏBNC«V¾ðöž33S|øá ¡ÎmÛ¢ñïÁk¯õ~Q±¶eDDDôr1h™GNNâãã ¥²þ󟨪ª‚©éÓªKJJðÊ+¯Ü@\¼˜$¼W\ëܺuKìÛ÷µÚãÚ´ùnÜØ«¶LÛ]<þùÏv8v,Am™¶óQíië s$$,ÐyLõ÷ÇoÖX§ƒC¤§¯¯Ó2"""z¹Ôxf:-- óçÏÇâÅ‹amm­R>jÔ(lݺR©R©›7o†‹‹ #MDDDD/œÏLGDD ¸¸]»vUÚ.$ù»ï¾‹[·n¡oß¾(--…——¢¢¢i""""zá5Ć¥§§³wˆˆˆˆ¨á'ÓòYå†ÂÑÑ‘O'|I>\Š=¬•˜ô` ”br˜1aLÆ„1aLdLŒ."""""ÃÔxÍ´T*ETTöïߪª*øúúbÁ‚‰DžÎ*Wgbb‚‹/2ÚDDDDôB©ñÌtll,™™ ‰D‚6mÚ &&F(ÏÍÍUú‰ÇÈ‘#ÿ¶ ܽûD"O¸¸| ¶¼ú}¦éï!ï‡ê÷ÿ–¿ß½ûÌÍ»ññÝDDDô|'Ó©©©1bD"D"‘’’¢v_™L†U«VaòäÉÛŽ9Û¶Eã·ß¶kh#×f7ò~ÐôúÑGQHL\ŠÄÄ¥9rFDDDÏg2}üøqXZZ ïÍÌÌP^^®vßôôt¼ñÆhÙ²¥Á ”ÏNfdœAûöCп˜P–›{ݺÃÂÂÞÞpûö•޵²òBeåc 6KiöùÂ…«pr×^냟~:¬tŒ¶:å³£VV^X¸p=:tÊôŒÜ¹“ÿ^4È VV– =ŸÉtu¹¹¹pssS[¶k×.øùùÕª~ùÌäž=éHK‹Wztó˜1ó0yòû¸wï0BB†`òäeJÇ––f u(Î@Oœ1cúãÚµŸQPP¤tŒ¶:ÇŽ]??oþ8V¯:·m[Œ€€Ï`aá›fغ5 ={¾ÍQTWßìŒÿúnWUõDí>;vìÇ;,"""jùKm–H$°±±«««JÙ‰'àââ33³zk¼··+V¯ž…2 “ÂÇGô:ÎÅ¥#ââQZú[¶ìÕ»N??oTTÇÝ»épvCgpÕ¡þ³’“3ðäɤ¦Å›o¾¡²ÏŸRJº‰ˆˆˆžËdº¨¨III U[~òäI¸»×þ.Õïî hóæHìÝ›‰æÍ}Ъ•/–ëuìúõáØº5mÛú¡uë–Jûj«ÓÅå,Z´-[¾‡_=„„Auèûï£ðÿÚ;󨨎ôï ÐM7K~ˆ¸D¢ÎÁ•ÙDÛ-Š21jœhFeP'Å!j4T4 &²hbDÑA‘huðÄY‰²©`BÆT4a¢¨€4‹t½˜¾réîÛ  Ïçœ>ͽϭª§¾U·úé¢úVxø6H$¾ˆˆø ûö­çٜނ³óTŠ ‚ ˆ6ƒQË<ŠŠŠ°uëVDEEÁÔÔTë5-ñ¡§môèÑßÿ™Ái]]ûáÊ•d× å©z"ÈêÕs©ç´..}‘—÷o­öÆmFAñ\Ó©©©øüóϱcÇØØØh½îúõëèÝ»7)LAAP0­",, wîÜÁàÁƒyç‹‹‹yÇwïÞ…­­-)LAA´[L°¶èXZZµAAÑöƒé¦³ÊÏšþýûÓ΄„ôô* nEB¨i2œ„ài’Nš&¤ iBš&mRƒŸæ¡P(°råJxzzÂÝÝ+V¬€B¡àÙ?øàxxxÀÓÓZwH$ˆ¶@]]ýs‘'AAmƒƒé˜˜ôë×™™™ÈÊÊBÏž=ÍÙ£¢¢Ð«W/œ={™™™èܹ36mÚÔlGåòÓH†ÀÕõïmZЦï#ž=»w§ÀÔt0LL<áæ6;á¬ZõºvkP:!tåIAD¦;†©S§B"‘@"‘`æÌ™HIIáÙ8{`` >ÜlG§Mû‰‰QÜã隃TêÛj‚º<¥5}é(i˜œ|é鹨¨Hc9((Häl^^NˆŠZ€û÷+ J'„PžAAP0ììlH¥RîØÜÜœ·Œ£¡¡Œ=ùM£©©i³—yXY C}ý#¼ùæ2ÞÌïµk·àç·þ7nJJnë´ÙØÈ PÔr¹4ÎOu|à@*:ugç©(,üEÍž‘‘Glj?þÉ6êùùÅ7–Q‹Ý‡ÎGC$ò†\~Z§/¹ü4D"oXY CdäWèÓgR³ÚNž<íÛÃ`i)1ÈcÓAAÁ´AÃÃÃ;5j¡P(PSSƒÄÄD¼öÚkÍ*£ª*ÀãY߯3¿aˆŽAii 6lXˆ€€Õ:m¼¼ç§úûöí?pãÆQÌœé¹sשÙJCjêV$%màlîîš4©:WVVŽ›7S”´Ó¦} Ó—ŽH``8&L¡²2ááópõê¡fµg]]=$1‚‚"!•úÂÄÄ_|¡{ã]éîô%ˆ ‚ (˜nÉÉÉ y2CûÞ{ïaÛ¶mpssƒ««+¾üòK¼÷Þ{­âü… W0hPwÏ;¾H/›.‚‚&ÀÊJŠ… §"/ï'5ûÇ¿‡^½ºÃÆÆRï<£¢@"cò䑨¯D=O‰‰ëpäHÄb¼ü²?ÒÒr›Õž—.ýû÷ŸÀèÑ^¸{7×Ë]éîô%ˆ ‚ (˜6š¬¬,tíÚîîî‚Æ(Ì;ÈÏÏGpp0bbbZÅyOO'äæþÈÍýžžõ²™››A.? ¥R‰7~G|<M÷®]GQUU¸¸$¸ºömÕÐåKGbÂêê²qÿ~\\úbÒ¤%ÍjÏ[·þ€©é ;Ö‰uuõøé§~›Ž ‚ ˆŽ‡™± ËÊÊœœ¬ö¤ŽsçÎaãÆH¯5 lö³ UÿFW½«fwï^ƒÙ³#PPð3ÜÝû#!a —FȦZjaff ¬X1›W^—.гçëèÒÅû÷¤ÓÆçšÚ§Ñt¬Ë—Ž„«ëß1eÊ(ÄÄ$ ®®ž·ŒÆ˜öœ8q8Š‹¯càÀ¿¡ºº55uøüóå:ÛLW:}úª¶~BADû¨M[ŠŠŠ°uëVDEEÁÆÆ†góòòÂ… ¸ã‡B&“!77WïüŸå¦-ª —x:Ц-Ú4¡‡çó5¡ HÒ„4!MH“¶©‰ÁËÒ„4!MHÒ¤mjbðši…B•+WÂÓÓîîîX±b gôè"""àîîŽ!C† ** Ô*AAD»Ãà`:&&ýúõCff&²²²Ð³gODGGsöÏ?ÿ–––8sæ N:‘H„eË–µˆ³me·¹Öð~ôDEíàí*¸mÛA½l·oÿ™l.lldðó[ˆnÝÆ>Ó¾¡z 0/þüÊ4‰‰‰Á6cóÔÞ~Q\:lÛ¶÷%üoû¤R)†޼¼<} ‚ ˆŽL;v S§N…D"D"ÁÌ™3‘’’ÂÙ:„€€XZZB"‘ ((¨Å>8ÛÊÒCýJ}Ÿ›º=KV­ú§c9øç?ßÔËú1>ü0åå§1 Em‹µ‹±}ƒ±ìÝ»sæ¬{ ý‘e36Oíí·ŠKÇÃ?ÿùOÎöé§Ÿbùò娨¨@RRöíÛG£/AÑ1ƒéììlH¥RîØÜܵµO‚—²²2ØÛÛsǶ¶¶¨®®6ÚÁÂÂ_àì<öö¯á»ïÒy¶ââëðöž ±Ø2Ù\ܺõ?Î&—Ÿ†Hä +«aˆŒü }úLâlEE×àæ6––C“ΦšUÌÈȃ£ãDŒÿd«ôüüb³ãªs¤¢S§QpvžŠÂÂ_662(µ¼ËÆhË®]»?¿…ppðǸq‹PRr›W^lì>tî<"‘7äòÓ¶;vƹs›¶ãÇo’nºté'''œW¯âlAA ›ƒòòT¸¹õCEEgSÍ,:”†ÔÔ­¼]øÜÝ5ÿ0Ruîöí?pãÆQÌœé¹sÏHVTdpר^Ñ–'„!::¥¥)ذa!VóÊ+++ÇÍ›)Ü€•ÊÊjH$bƒÒèjmÚBAÁÏpttàûúëQVv»vEÂß?Dc¿ûä“O””Ô$Ý×(++î]»àïïßlÍf̘ùóçãÁƒÆüùó[ù Ï1Þñ¡C‡hô%‚ (˜€ääd„„< Þxã ÄÇÇ£ººwïÞÅ–-[š•^ÞOX´h¬¬¤ |g»|ù*fÏŽ€D2³gGàÔ©'3}‰‰ëpäHÄb¼ü²?ÒÒžìÀ˜Ÿ_Œ‰‡C,aìXo.°jÌÇ¿‡^½ºÃÆÆRo_ƒ‚&ÀÊJŠ… §"/ï§f7Î… W0hP€‹K_œ?_ijGE-€D"ÆäÉ#Q_ÿ¨Ãvâ_´ÂÝ»Z4O]ÚëÂÄÄcÆ,@lìRî܉?`Рi‹}ðÎ;ë5¶ÙÇ¿‡®]»ò6D:qâ ±XŒwÞyõõõÍ®ßåË—1{ölH$Ìž=§NjÕ6;–¿Žý­·Þ¢Ñ— ‚ `:++ ]»v…»»;wnñâŸwï† ‚€€L™2¥YººöE\\ªªª‘p”g“ÉÜ» ••`,žál&ÈPW—û÷ÓàâÒ“&-ál..}‘“s¥ÅÅܵë(ªªª—W×¾Üyss3Èå§¡T*qãÆïˆ?¬W~žžNÈÍý›û#<=RÕÀœ9“°}û!0ÆpäHœ§ê•N¨]š«=c9¸sçF~²¹Ñôé«°ys(ÊËS¢w^Ó§OÇæÍ›Q^^Îû±osÉdˆEee%cxøða«¶Q¯^½pþüyù$Q/[TÔüôS ºw÷CXØVìÛ·A¯ò„ÚE›öºj‹àà‰xûí•ps›ŽššZ­m8bĈ&é‚ñöÛoÃÍÍ 555^g½kú[—mçÎ8zô(ìììн{wÞ—„Ò ·ß.^ºO>ù„÷%û£>‚µµ5¦OŸŽ7ÞxƒF_‚ ¢]`Ô¦-EEEغu+¢¢¢xÿŽ9r;w|ÿý÷X¶l.]º¤wþÏã¦-&&žôD# M[´iBÏçkB &¤ iBš&mSƒg¦SSS±zõj¬[·N-€×^{ {÷îÅ£GP__K—.µûj/3ÃAA„a˜š ,, wîÜÁàÁƒyçU³ÛË–-òeËàææ{{{Lž<7nl×"ÒŒ4AADÇÄ@›|àkZZµAAÑöƒiC×L·6ÏãšiÂ8hÍ´6Mhí_ZÏGš&¤ iBš´MM ^3ÝÐЀèèhxyyÁËË ‘‘‘Ü ¦¦K–,‡‡¼¼¼°bŠܹs‡Z… ‚ ‚hwLoÛ¶ J¥éééÈÌÌ„½½=6mÚÄÙ÷îÝ‹¿üå/ÈÎÎFZZºwK—¶ˆ³Ú¶ÝîÈ´=ÚrÛ^¼ø3'jÜ[Èöü·‰É3)óY”û¬ôÕ§®Ú®1b„`úö¢ãíuN˜IDATÅ‹áèèøLî±gÝŸVù­YŽPÞBmû,µoËãPSÍT¾š˜˜`À€¸xñ"wííÛ·!“É`cc???tëÖM­ž...jeÈårˆD".ßµk×jÔG"‘ ??¿Elú´‡¡éšÓÖr¹cÇŽ…««këÓû÷ïGPP¤R),,,ˆÃ‡Ÿlv‘‘‘#F@$ÁÒÒo½õ²³³¡T*›]éçué‡TêÛjéÚËr]õÒÂX}õeÅŠÏðÁAo8!Ûóß&ì¹-S*•¶}µ]§ëw%íå ÞŠ+ðÁ<“{¬9¶D|ZmØšåå-Ô¶†øÔÒ÷{kéÑ~6ÕLå+c {÷îÅœ9s¸kCCCñᇢ¼¼P(jùåË—Õ]tî<"‘7—ÎÆF…¢–»FÓìë¬YáèÒe œœÞÂÉ“çõJ—Ÿ_¬5?mºùÙV8v, =zŒ×[C!›êøÀTtê4 ÎÎSQXø ¯ÁƒjÁÊÊ ‘‘‘èÓ§O£þZ oooˆÅbÈd2ܺu‹÷M|Μ98sæ ÆŒ¹\Þ¨oåk-¿¨¨nnn°´´DLL ï^¿víüüüààà€qãÆ¡¤¤„W^ll,:wî ‘HÄ+¯°°ÎÎΰ··Çwß}§uÆ é±6_lll P(x36üûC³ŸËÈÈÈ€££#Ư—Öºf=8€N:ÁÙÙ………Múü1ôèÑCM¡vB[:]¾S¿æö m}°ñçMII ‚‚‚šŒ™³Ð¥K899áäÉ“Üù’’­¾µ­PŸ€Ã‡ÃÞÞ @AAN_tõAáÏ<Í÷ƒ>z6ÝlÉÄÄ„O´ÝBèÒE[;ÕA¨mu¥3Vkm~êêóÚîMmc«M—ŸúÜÚînnn¸|ù2ÏÿaÆÁÌÌ >>>xðàïú={ö S§NسgÆü”J%ŠŠŠ°ÿþçjÂH×X§«ŸYYY¡¾¾aaaÕ›õºpá f‹/æÎ‰D"VTTÄ_¹r…ZÆã=‡1–Ã||\Øúõï²ÊÊ öÙgïólC†¸°üüDÆXËËû7:Ô³yy9±o¿a55Yìûï?cÖÖRÎÖ8¦ÇØš5ï0 ‹Œü'377ãl¯¼2íÜÁŠ,¶sg›0AÆK·rå?XuõYvðàF^º¦å5}ÕÖžcJåvþ|‚Aé´]#¤‹ŸÏâ•––ÆómãÆÅL¡È2HC]¶ØØe¬²2ƒmذy{2È¿W_ufnÔÛÖ§ÏËì·ß¾gŒå°šš,fm-eõõ?d;qâ³¶¶fõõõLVVVìÍ7ßdJ¥RÍöÊ+¯°;w2…BÁvîÜÉ&L˜ÀÙ÷ó5Ì‚EFF2sssµôuåãååžýö[VSSþÿþ{fmmÍÙ† ÂòóócŒåå屡C‡òòZ¹r%«®®fä•çããÃÖ¯_Ï*++ÙgŸ}Æ+Wõ÷ã~Â÷IÈM¾ëã§*mhh(+))a<ÐKk!÷ÁXVYYÉ6lØÀ¼½½y¶72…B¡¦‹®º¤¥¥ ÖS“MÈcëל>¡«¾úê«ìàÁƒjçkkk™R©dçÏŸç¥0`€V_„ÚV—ŸŸ}ö«¬¬dŸ~ú)óððÐË¡¶Bè~ò³OŸ>ì·ß~cŒ1VSSÃ!ª~¢íþòW×½¢­îBuj[]éŒÕºi:Õx"Ôç…îM¡±U׸kÌX®ë~På›——Çœœœô*¯¡¡½üòËììÙ³¬gÏž,55•³©êkaaÁ&OžÌfΜÉK+‹fnn®æ±6!ŒI'4ÖéÓ?pýDÏòŒ ¦ýüü˜ëÞ½;;zô(wÞÄÄ„wÝO?ýÔ¬`Z,±ÊÊ ÆX«¨ÈàÙÌÍÍØ£Gçc9ìÑ£óL$2çlff¦\ ¢+øjLkzg,‡‰Dæ %È0©Ô <5½Žÿœõëד™››1z§ºFH!?ÛB0mŒ†ºlªþSY™ÁÓB×ëÛoc´ßÚlþlÇŽÕÌÄÄ„%'G³W^h°-22’½òÊ+zÝÀ‡fæææÌÜÜœ988°Ó§Os6‘HÔ¤¿JÕÙ¦ïº>\ÍÌÌ´ùæææìÑ£GŒ1Æ=zÄD"‘Ö¼‹ÅbVYYÉc¬¢¢Bï`ZÈ¡!?…Ò i­kPWÕ¯²²Ro]Z+˜Ö拱õknŸÐÖ¿ýö[Þ Šãdz~ýú1sssæááÁKgjj*ø%T›^ºül¬Yã JÈcƒi¡ûAÈÏ€€¶cÇŽ?Ç—dn ÑÔOôígBå Õ]¨Bm+”ÎX­5¥S'B}^H3¡±UŸqטñE›fª|0;;;vòäIîü‹/¾Èîܹ£1Í©S§x~~üñÇZ} Ôxþúõ뿘5Ç&„!鄯:]ýÓ˜`úc§ÑcccqöìY¼þúëX¾|9w^,óÖG+•J˜šš=]ïêÚqqI¨ªªFBÂQžÍÓÓ ¹¹?rs„§ç@ÎæâÒ99W4æinn¹ü4ÊÊʱté½}‘ÉÜ» ••`,žÑ+ª<¥R‰7~G|ü“5æÓ§¯ÂæÍ¡(/OEttˆÞé„ÒåyEH ]:íÚuUUÕˆ‹K‚«k_½ÊkhPbÕªÏ½È › ¾øâ[øúºbÇŽïàæÖÏ`[JJ ÜÜÜôòs„ ¨««Ãýû÷áââ‚I“&5ê¯2ÄÆÆ¢²²Œ1<|ø°Ùíàâₜœ-ýι¹¹ö»\xzzêy»"..UUUHHHhÒîæËå¸wïžÚ™…|Q¥{Ü'n >>¾Ù~ i­‹]»v¡ªª qqqzÿ ¥µÐ拱õk>ÑÐЀU«V!::ZÍ6}útlÞ¼åååjvGGG­¾™Â~ª4‹‰‰áÝ›B¾õAcï!?}||ðÅ_À××;vìÐ{ 1V¡º ÕA¨m…Ò«µP:cû¼ÐØ*dòSÈ!Í/¹½sçFÍ›3g¶o߯Ž9gggÞo¾ùŒ1|óÍ78qâg»{÷.÷wdd$FÅë7nÄýû÷¹¾Ñ\›®>hL:¡±N¨Ÿ5kýµ±Ë<Š‹‹Y~~>‰DÜñK/½Ä.]ºÄ0 £g¦ ÙÀavv/2¹|÷-бvõê!6t¨³²’²aÃÜÙÕ«‡¸t……û™·÷ &‘ˆY¯^ÝÙûïr¶ƒ72‘Èœ¹¸ôeÙÙ;yßδ½Ëa¥¥)lìXo&™³nÝìØ¢EÓ¸ÙÏÆ×5=V-YHÄlÔ(/vüøçœ/Ë—Ïb––æèèÀŽùDïtÚ|ÒE—ŸÏrfº9êÒiÿþ˜­­ ëß¿»xq/¯üÁƒÿóòrRókÛ¶•쯪Ñg![~~âŸßòßc®®ýX\ÜûÛY\\ï[ïàÁƒ™———Ú·aÉ,--ÕþVZZÊÆŽËD"ëÖ­[´hoCsbZÏ3ÆXaa!óööf‰„õêÕ‹½ÿþûœíêÕ«lèСÌÊÊŠ 6Œ]½zU-?MÇlàÀÌÎÎŽÉåržíàÁƒL$1GGG–ͳ ù¢ú7¥D"a£FbÇ×駦ºë«µP=îƒû™­­-ëß¿?»xñ¢^ºµCslš|iNýšÛ'4ùºmÛ6ö׿þUã ÐòåË™¥¥%sttdGŽá¥Û¹s§V_„ÚV—Ÿ‡bvvvjš ù"Ô…º„ún~~>7ÃèêêÊ!ÍégBå Õ]¨Bm+”ÎX­…Òiëóº4Ó6¶ê² ù)tÿ i¦­O«–ûÌž=›uíÚ•¹ºº²Ë—/ëU¿W_}•uëÖ 6ŒEEEñò,..fÇgfffj~kBW:CÇ]]ýL×X¡ ƒ7mñõõŸ!Þ»wþþþ8wî`Þ¼yX»v-ºví øý÷ß1iÒ$dggë]mÚÒqhíM[LL< îKJ¥ýú½ ¹| ꣷ­e5¡‡çó5y~7011i•§£IkùÒ’<¾ÇúA.—cРA¦Ÿt„{§9mÛQÇ“§¥Y{»wZb¬3D3C3Ÿ8q"ñî»ï¢¡¡ñññ˜2e g:t(>Œ™3gxü+èÞ½{ÓˆF<ƒ›ÉÓ¨€ú…^ÀÕ«‡ ¶„¦½­±mÉÝ÷ßUê<íj[Ò¬½Žu¯™^¼x1ÊËËáííáÇ£¾¾¡¡¡œ}Ò¤IÈÍÍ…† ‚ÌÌL„……QëOÆr¸A<›>ÈšõhÐöêKGÆÖÖ–÷x4ÕËÖÖ–Ä!è~hûáYŒu&x¼&¤Í¡kC‚ ‚ ‚xÖ¼fúi@k¦;­½fúùÕ„Ö}ò5¡µ°¤ iBš&¤IÛÔÄàe ˆŽŽ†——¼¼¼‰ššµëêêêxh!‚ ‚ ˆö†ÁÁô¶mÛ T*‘žžŽÌÌLØÛÛcÓ¦Mj×­]»¥¥¥m®ÂÚ¶à&ÚF»hÚn»#×Á˜í¤;Fi]æÍ›§1o­ejÛø_ÿúW»Õ‰ ‚hÁ`zÿþý ‚T*………qø0“Œ°°0øøø<ÓŠI¥¾ÏÓò‘¶ c9HĨ®> ¨®> ©Ôâ¹j/•¯ÚÞ˳e~Ò––†#F´£þÒ|]þóŸÿ ¡¡AíüÅ‹qùòe\ºtIk¹šÊïÖ­Ž=úÜê4bÄú­ AÄÓ¦ÓÒÒ¸gL«ë¦3nnnð÷÷o1'gÍ G—.càäôNž<@}†¹ñ± E­àÌà±cYèÑchû'Ô·‚‚"6åå©èÓ§***šô×"üòË/HJJÒj"""#GŽÄ¨Q£púôinfš1†>}úà·ß~ÔÔÔÀÚÚõõõê2óçÏǃŒùó竇Bjj*’’’xçËÊÊpóæM5?ÉS´é€èèh”––bÆ PK›••…!C†ðÎ)•JìÛ·GŽARR”J¥Þ¾ôë×YYYjçÿñ ׯ_ÇüÁÕYUï^½za̘16l¯yyy:t(²²²àáá¡÷VºóæÍÃŒ3ð믿ª-µjU=zôhŒ9’ûòEAèøÜ‡‘Oó ANND"¾þúkôíÛWíšþýûؼ?Íãĉ°pa4~ýõ6 ꃼ¼Ÿ8[ÓÍ8 mÔ!”N$ò†B‘SÓÐР„Tê‹ÚÚsZÓÍ£ñÓ<þþ÷•` HJ:Ž©SÇÀÔô$&FÄbÔÕÕsé¤R <|xFg»µµ±yê ¤é[ææ¯B¡È‚™™©ÚÓ<š>xÞѧ¥¥!22&&&çò ÄÈ‘#Œýû÷ã£>BNŽJ1êêêé"ÅÇu–/ä§±y>é'꿪*O$A¡PÀÔÔ J¥¨­­å¥·´´ÄíÛ·ñâ‹/rçRSSy?œ>uêF%X®ŠšštîÜUUU¼óæææ¸wשּׁ¬PUUkkk.½*¯¦ï*233!“É™™‰¡C‡êÔ,,,pçÎXYY¡²²666zµCzz:@‡‡‡?—˂艤 iBš< MŒž™ŽÅÙ³gñúë¯cùòå­V™éÓWaóæP”—§"::¤É‡”äòÓ(++ÇÒ¥[4Ú”J%nÜøññ‡õ*ÏÓÓ ¹¹?rs„§ç@êQO‰Ç3ÓYYÑ£GÎ&“¹#6v*+3ÀX/è5–ÖÈÓØ¾åâÒ99WZ¼Ì#FàôéÓX½z5ÂÃùó>>>øâ‹/àëë‹;vÀÍÍ­‘.2ÄÆÆ¢²²Œ1^Ðk¼Ö-Ÿ§°ÖžÜLnnn.<=Õ—zy{{ãÔ©S¼s{öìÁ7ß|ƾùæµ¥BüüóÏj3Ýàî¸8TUU!!!AïüJJJsçÎaýúõ¸~ýº^é\]]µ–'Ôáááçýƒ ‚hÅ`Z5«²`Áü÷¿ÿm5ƒƒ'âí·WÂÍm:jjjÿ,÷ñcRÒ¼ýöJŒû.Þzë55Û´iÀÊj‚‚"áàЕg×ö¾{÷,Yò ¬­eXºt Ö4ª/ÿ) DËÓ7o–¡ÿ^(-ýo™ÇÎ8z4vv£Ñ½»BB6êl]mmLžÂ÷ƒñ}+!a BC?†Tê‹iÓ¦q_P¯kÖônHPÝx¬rrrðæ›oâöíÛ¼`zçÎ8zô(ìììн{w„„„ðîyÕ{ctùiLž*^}õU¼óÎ;jcÐûîÝ»±dÉX[[céÒ¥ƒØÐÐPìÞ½›—g||<‚ƒƒÿ{‚/XÏÆüç?ÿáÕKÅöíÛ‘€^½zÁÞÞ^ï:¸»»ã‡~€··7ÒÓÓymóçÏÇàÁƒÕÊûꫯ°{÷nôîÝ=zôлÚÛT ‚ ž/óðõõŸ!Þ»wþþþ8wîœÚµ-±ÌƒhßЦ-Ú4¡·ñ5iA!>>¾Eòú׿þ…-[¶hµ3ưwï^,^¼˜[;Ý5¡~Bš&¤ ÑÊË<&NœˆÄÄDÔÖÖ¢ººñññ-þƒC‚ ˆ§AKÒé=zÀÔÔqqq8yò$ OÑŽ08˜^¼x1ÊËËáííáÇ£¾¾¡¡¡¤$A„nݺ¥R‰sçÎÁÕÕ•!‚hG˜`mÑ1zÎ)AAñ\ÓÆ¬knMhÍtÇÖLkÓ„Ö®ñ5¡õ|¤ iBš&¤IÛÔä’‹ ‚ ‚ ŒÃà`º¡¡ÑÑÑðòò‚——"##QSSÃÙ V®\ OOO¸»»cÅŠP(¤4AAAÁô¶mÛ T*‘žžŽÌÌLØÛÛcÓ¦Mœ=&&ýúõCff&²²²Ð³gODGG?W¢Ðs¤Ÿ y˜=;}ûN†Hä ¹ü4‰BADû ¦÷ïß   H¥RXXX 00‡?Ù]ðرc˜:u*$ $ fΜ‰”””çJcÖkK¥¾Ô›šÉ¼yQزe þû_9ÒÒ¾B@Àj… ‚ ˆöL§¥¥q¶<<o7°ììlH¥RîØÜܵµµF9§š!ŽÝ‡ÎGóf+5ív×t׺9sÖâÌ™Œ³€7Ë)—Ÿ†Hä +«aˆŒü }úLÒËŸk×nÁÏo!ü1nÜ"””ÜØØÈ PÔrå6Õ6¶¼ŽFEÅCüßÿY† qÁÇ´<ˆ ‚ ˆvLóƒŸ |ùå—˜5k–ÖkŠ‹‹áááaTþªâ²²rܼ™ÂmÞØÖôÚÆ÷êÕcÆ,À°aî\: Ç„ 2TVf <|®^=¤—?aˆŽAii 6lXÈÍœVTdpåª^1¶¼ŽÆo¿Ý!‚ ‚èÁtHHƇ””Œ3FëuÉÉÉ i–“QQ ‘ˆ1yòHÔ×?Ò;]XØÔÔÔaõê¹¼t‰‰ëpäHÄb¼ü²?ÒÒrõÊïÂ…+4¨ÀÅ¥/Ο/Ò+±åÿóAAÑî‚騨Xœ={¯¿þ:–/_®ñš¬¬,tíÚîîî­â¼¹¹äòÓ(++ÇÒ¥[ôN7a‚ uuÙ¸? ..}1iÒ½Òyz:!7÷G@nîðô¨æ‹R©Ä¿#>þp³ËëhH$bde]â¾¸ØØX¢¡AIÂAÑf1kNb,X°»víR³•••!99™÷¤Ã󲚱µã¤¤ xûí•0 7¾új6oÞ£¶ŽZS>®®Ç”)£“€ººz$%mPKÓøoղݻ×`öìü w÷þHHXÃ]«Z‚bff ¬X1›³ •G<áßÿ^‡#æÁÔôØÚÚàÈ‘O`ffJÂAÑ~‚i___8p€ûbmm-¬¬ø;ØaëÖ­ˆŠŠ‚©©ñÁкh˜3é³ÿ•2 ‚ .Ï;ãñE’‚ŸÎ…<8xx{{{ûõë×ðõë×áÇÃóóó0 ÃðóçÏa —Ëex{{¶ððð0\¯×Åçýøñc†aøüùó¦1¥dë˜.—ËðíÛ·a†áååeøøñãìs___‡ß¿Ã0 OOO½.6_÷Œi ·q¿¾¾®:o{ÏÝGœ ‡‡‡M_=q½^‡———êc‹÷òxÄdcyŽ.—ËŸ“ãééé/‹”z<%çGRÉ'HãÉà¦b1ÖÆÖøhëó{›¯TóóxÔ KˆA¦“tÓÙc+yžBã9kŒÿÝs@×ëõÏ×í/—ËŸ¯¹ ˜{ÎQyhL±ïÓq}âÇc ½ÏšŸSÍShNbçrnîŠuÓ¡^N˜>'§U¸½ohŒ)¬Âô„®9öМ嚛عLémshi—4rŒiú~[–r|Sq•B<ž!‚R8sL!QN-SÊñ•x>šÌÅ›ôÐ'ñÌda:¦T.16GÓpa*Ä\sV½c“´”¡¥úô/'¥¶kç"gV»gL9,vPŒ_¾|Ùý?}úô§bãHîS*ŒéØ1=LKÈR Øeß½{gVp îMƒb1›˜9n µ0O Æšãóó³‰^Á÷ï߇÷ïß›ˆTnš· bF#@Œ ÆcH¹ô`é}AŒ‘²Äé}AŒ@”C–Ī«÷.ÓÜó?C+ׯ+òbã˜{M¬¢…‰qZ.?þ=öXŠÿ*߉réýB¥ÿk'ˆqÉrìMÖ¾.‡0ˆ¯"7³~{O$H`’^*Ia%Ïê ƒÊÜôšå¬¡äaïÿŒ=z¿ÐRÚÐköÆ¾ØÆ? ²¦(”XÏ­HBåÎIn F#pJc©Á>ÌÛIÙ4þå¶£,z²h1ã!¸8^›¤¹‚5”v±˜+²Œã"ØéÏã“9ýûÜëJ£ä±#P«C퇷t´XF´)Æ3ös1ÉØtigœ9‡v–ZÚv¬Ä˜±–qöÀb=#ÀMƒb1Y²é£è»,c¬@‘²»é3v…1åŠqÚfŽuÄi Ì4q!FpÓè[Œs.zü=ô3p¸›uøŠýpÓ F€Ñ_̸ÛR ›— %´F67­EÅŒ %P|ÃE#«×J"²eÓ±B BDn:”MIĸT(qûY‘’»i…¨ÆMÄbN‹Ȱ—’£­±§ÂŒŽÅ8·õÆ!ÆöšÞs÷FaFçbo±±Õ‚N‰‰ #«–ÄÈ*âôlzïÖÓÊðñkbžô:ÔÍ][o°Š(ÆM"$0 F *1®­ø¾§B\U¹lz1VÌQ(ŽÅXR¡Äx,à¦W‹À o1²Š`AŒ¬"NɦK*”Ø;ÔB ´á¦ #pj“*»ÖQweÓK"ÐQIŨ£ª‹‰ ]%0,-1g ‘‹€‰±qØê£ólº¤B l…hÃM"ºN`@ŒÀù LªìZ¡îʦ—D PIÅXbG ˆqÏ@¶˜1V²ŒÅXÅëõúÏ]#PŽsJ ã˜ÑÖÈ…B ´á¦ #P•sl½!³–M/ÆŠ© %±s1–ÖQâö’›^-> é†à‰±‘¢˜±8ËH ÄxºÅÚ²Ðб´Žãqd[(”@ !¢¸l FȦˆ#÷Tlo¹OŽÆ³é%ä(” ¾ŽÅhë T3Š‹Scu 1aÝä¦:ĘË:©ì榋)”-5à¢ÛB¡ÚpÓ„ ˆ85I•]ßsñ:Å…ï¹q»È^h6½tRrJ4Å.¹¿^˜K*”H!†ññ¡‘˜‘Õ@q1cjÄpÄXŒUÃqÓ@ùbdÍM·¾õFìølõ‘…hÃM"$0 FàÔ&Uv]ZG‰Ø¸ÅÆfÓKÈÝQâˆûÉK…(HŒ%J¤¸û+”PDQiÌÈ•AbdÁ2?1NϦKÜzãh+;w|{ûP(6Ü4!¢ûÄcîDfú÷ÛN̦§o(ŽõL¬¡Ÿ¢Ž•XÆñZÐ÷Ûɹ}…Ndè±’(}|Ę »vÂqˆÇû;ÏÅT±x«V¸èÂÄê­rqSáÅ«1¹!ÄJÜt,îª=&#ÄÅ8ç¢÷d©µ Ñå´¬Zu»¬³µ³k Ý–Š!0wJÅÅŒ1‚b1ÄbˆÄ#@Œ F€AŒ1‚bÔq!>÷>·×ùóxÏ„¶Ðq!ÕÖ"{ÇÒóòØM[o¬=i5‘bk[vˆ“[PKVO¶Œ[\“…Ó-ãm¡~«n‰Uä¦AŒ÷e¢¬"’ÅŒ±Ž K[hÔ"¶=±oìØ×t©½G óy:J°ŠbÆ Db1•ˆq)sV(qÜœôzññˆ‰©½EòÚX1G¡DÏÜU(1>AµNdI…½XˆwŠ…‰Ñ BbìIˆ>t…ÄŒ[n' §ˆqn¯@VÉĸ¦`¼[Ík`Î.”Ø;–VP(Á*¶‘M·!#ˆ¨$›ÅO­®¥>*ŽÜsö\é}w¡Dí¦£DEblý潎bƦÝ3ÇŒbœ|VºWñ?5y-O`îãêÕ sÓÂúÅØÓš—\âˆeëÜô0ó>´Ô@G‰uÿ3&ðž3p…\¦˜±¶ìÄb ãÒ®½laëB²éƒ|…‰1vÓ¿…É*±£7¦=@–q‹›s²Ž Jìts-[Üǵ7tà¦blÏ*êϸa‚l½ñ·+µõƱ(”AsÓ5@ˆÄb*ãÜíÀéWqdŽìX¡ÄŽI©}ÍFI…= q•c7ý[¸ûRZG‰Ú·23f² ²kb$xbDN‘°¼Tí˜ÈtÉ”Joœ"ˆ^úÝ%ÆÖ·ƒ(­£Äø5½ R¡„ðCS„HŒ F ’lzÍ~w=¸µ”[oô¸•Éîlzi²kßÈrI9 %zŽSm½aë 1cËî‰cÆ9«¢£Dº°Á˜;¬…ŽÇ„ ½ZcnÄÈ*®¿jÁM&IG‰uñòžB‰V¶2¹…2hnº‘AŒ@%bœËözÛ*"GG‰^·ßP(QX¡DÏI“B‰‚ %¬›¡Ôbq^Ø Pb£‹ë¥ ^.aØ®íÀÉN•!¹eŒÝôo!¾±õF9(”`ÛsÓ-BˆÄb O`–%Ž‹9u”Ø8¡ãßJ¤í(¡j§Ó$¥„B‰žï¾ˆ¹g$cïŸVh{¢aAbt2ˆ¿1Æ2HÂ@ölzN€:J¤Ùz£WJ°Šõ%0=BˆÄb*K`æ¶ßhÕ¥i]— %Z[/m¢›pÓ×ëµú“ÓÂ1cc®¸—5àU‹‘›Bq–±åuÑ¡ï(8›nÙ"êŠQ‰eì½PZÆ¥¿o)2(ÑE˜ÛﶣˋB Ô—ÀÄbŠO`zï(ÅØzG‰ÐÕ‚¥®>€'ZÆ–‰]Gû°Ý.ù¢˜1)V°cn¸•"е[£j!–1&¶š…8®gìq¿¾êÄØªçD¹6ÑYûãÖ¿öL…gÓ­[„¹K5s…jÓ Põ%01‚â…8MŒ½J,mÉáCx’eœ£…“0w­4T qÄö3&ù€éD‘Ù2®qÃ5® liüÝYÆX<ZÖY“%ÜS(¡ʼnÙtëVcO ¨¹Af˸T(ÑBƒÊ,ãœeháÇÚbˆÐc¡N؇B Ô—ÀÄ1#ˆÁ"ÉÙ[±íê50K×àd¥Hn×CÔ*Äi¦¼t±k‘²èbÆÚ—©Î}Ÿþ<kì1H`Ѓc.º•‹¼î/Wf[âôÄ~'01áM-‰Ûa8%›^Úô±æÌ…[Ƶ1W‚œ[b0=ö5EH(Æ5“Ü[ìHx''01‚›Fý¼UN°Œ F€AŒ1‚b1ÄbˆÄ#ˆ FtËÿë¯_8ïÇÉIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/devel_tips/0000755000175000017500000000000013634704610015747 500000000000000lepton-eda-1.9.10/docs/wiki/media/devel_tips/dialog_picture.png0000644000175000017500000006470313634703632021404 00000000000000‰PNG  IHDRX|œÑR6 pHYsˆœ/–žtIME×%ÍzÊË IDATxÚìwXWÆßewYŠQDÀ†Å[ìÆ±—DѨ FŒÆýbMÐXc5ö£Æ ö;öbEDiÒ¶ÞïÁuÙÆ° ¢žß3Ïî{Ï=sfv^Î;3Æ‚ âSÅŒB@AA !AAA !AAA !AAA !AAA !AA|<ˆøT)‚ø g „‰B€½œFÁ"ˆÂ0}úŒé¡ïM‡‚ƒƒÃÂÂh/„éBI3(^Q¢££)ñ! !`áßeo=oggg§P(ÚÔÜâÿyšÞj7ï[,ÜÑÅËáøÏÃ^Q” BÍýû÷ùWîܹ³®vÞAšx²ÌÐ/“ì­’ºtíÑ£gÿ‹OF=ëÖII7Û}¹¿…øõ7_&SˆK"NÓèÃûù8ÀC;°ð‚P#àsñ\ °—ÓÔC£÷Ÿˆïî[¯þ猱kÿ™5ü˜m©·FÌÝÔäEFížV7©«¤—L¶B¯öô¡X?ܾþÁQ÷ïß?pà@hh¨ñ´oß>®šÞŒÐ ¡¡¡aaa4Y† ŠF„Ÿ(µÿZGG'¹\.‘îœñí}õÄÒ ûÝn¿èWÕné/3ß…ÇÑQµÒ» Ç;5þûFðaúÒŠï¦÷~ÒôM3 &B—ëð>¯rÈd2CûÇÈ*­jœ”º¹¹Éd2­¯tv#ˆw.„6ãÛh‰(1¦bâ?÷¸,Ø\ÿUræè>WKÛ~‘˜£g‡·Kÿ.pq€ì Ÿ Ûpi†ëò4™ô;~Yö63{•ªN–»°´xû•1,X÷Öø VWl? ÖAà ¿^P*qà4ިܯ3 çàÌN žåpþúÛdÑ¡1úþóÚøaVnáŠ-¨Þ T툕[ßÖtl‚¹kàôìbÜ\(•ú=Ô5«å›: †šŸ‰„ow˜×†môýºÉyÒŒm‡èÃûø “ϸ§Öª|3Bu//////µAž‚@!±ææ¢Ùó&cL,H‹ä±¯<:û«SÍØ™”tTéðviÿ͵[ˆUÛàæ‚¡½ðçN¼JÕŸª“3>,\qsQÎ ? …¹½ÇàøüˆöMqù&/ÆŸ!៰±ÎǸJ…˜§¸û¡€G…·«’Óð,?¢{;X¹ßM‡@€‰Ã áÛioµ0%v#¨/œJcÁ:,øS¿‡ºf ùf¨y¿q¸1ƒÐ¹%¶D`ÆR=[ÄÍà ÅÿA7í“iPÐŒP&“ݸqC³ðÆš¦‚ÈQ!ÛG=-#€ÒÙ.>CÕÂÂÂ\¦´rŒÔ·±ÆÚ™o¿Ú–Êý°e?\ .9®- {Qâ0Lú=79ãCØF…X1ÖVèØMû#ôo´j„õ³Q'³WÀü ¹W(çô›Ã±4~ÿ)ÏÚm‹PÎ)÷3—Îîûžn¯ö˜·Ã{çªéÁÕp-‹^áãM{‘ž¡ßC-³-ýôûfh 0¥ ƒ0í{Tó ã¼$bDöø ¡ÉêAMFxâ²ÝÞ³Õ?«y[ .+“ÉÒÒÒ¶Ÿ¬w宥‘&æâbM÷Ñ" »ÒößZ””ð¤ >I¥ÒeËW=R߯’mÜôÏú ›¢¢¢AÍ5¾ûvh·® #=Có"`­"'ŽæOýÇl¡ÿ03îgzÄAðBSù¢cî[G#кUK‰Dbš©´´ôVm:Æ>‹Ó«+?Œ™°ùŸ­VV–ú½|õêÒåÈK—#§Nž<2Èdç÷ø®››ÆªµvƤ¦AQ”Bø×Ÿ«¸N.îþ>×µœ‹i¦2³²bŸÅé]¾gÿ涺»Wܳ{[9sæý>Áây úÚÆ¦T‘÷X ÍMcØ4#RG*HÁŸâ˜,³sמ&ÍZ—¯X¥I³ÖÿlÝÎ.[¾ÒÉŽrµÚ/’’”JeÇNN.î?Ž›X§^#MMÕd㦌̩ €Ñ£¾Ÿ2}ÿžÖÖV\ɵk7zôê_Ñ£Z%/ï>ýÞ¼y[ÝÜÉÅÝÉÅýð‘cí:v­à^µeë/] Õ£^où7'‚ HóqàÐðïFÆÇÇ֤ѫW¯‚Gݹk€ï¾úY“Æiié“§ÌX±rMä•«•B~™ÖºUK®¡z¸UÍõë7øÖ««.‘H$Æ®U«†™™€›7owñïyêôÞÞÕ«U«zìøÉÎݺkj!€#G[[Y•¶·¿sçÞÐaß3Æ4{4ä-ÏæÅŸR:HQÒ…pIèrÖ¯Ù¶å;„-û€™™YXèï66¥vîÚ3ó·yB¡pùÒEVV– ŸË5T·ªIKO`]Êàè/!¿I¥ÒQÁA÷ï>¸wðÈ ììœYs4ëüoâø]ÿnÙ¹c3€ø„„ä”Í y˳9OA$„Úܺ}@÷žýœ\Ü7màÖ­;R©€[…ò3@&“}7¬¾o=㦸ñÏ×éé†*œ¿p @¿>½¸¯ýûöpþÂEÍ:-š7àáQ‰û*“Éxz˧y1£›R:HQPDïºnºöç-›[ZZª ¥R7­ô~ÌC®äì¹óJ¥R(1åS»Öé3g#¯\õö®Î•¤§¿þ¼u‡víÚü‹;tè—,Ö­SÀæ-Û¸µÜ‡&åx˧yIH ‚ ˆ’%„#¾àûà1={èÐ;4l97ç%''g䨱*•j¸ÑÜe¶y ݾ}×ÖÆ–›ùÒ©K÷ììMS=ºû÷èîÿäÉÓÆŸ}Þ§ßÀÏš·Y³v½P(œ;g&—¢ýü¿ñb±xIèòü;v XºÜÊÊròÿ~2î¡fC¿Öë-ÏæZS:HABˆ/º†.ž_©’ûÙs|?âÛiS&ø%döƒk×®ôݰ֭Zöèî/—ËG‰„#‚†[XXÄÅ=O­}9pYØ¢¹³CÜÝ+þwöüóçÏ[¶h¶sÇævm[sk5ôÛ³{[ëV-££ïß½w¯u«–û÷ì¬YÓÛ¸‡VV–ê[·þ\¯·<›ë:\|À¡C‡¸ò]»v¸pá÷5<<@JJ WmË–-\yHHH¥J•c\y||¼Ôp•“’’cõ_³m‘³lŒ|Õ[B|Üù%Ž9’ûñòü½ħFñe„wîÜ‘ËåÍ›7/õ†ððð¨¨(¥K—^±bÅÖ­[›7o>lØ0®¾@ 6l؉'‚‚‚Z·nÝ¿ꌰFÜkkkÜWKKK …‚ûÚ°aCîCݺu?~œÍÇŸ"ñÿ]²A˜Ž@g‘HP±"q÷®žjZ$'C,†@±ÉÉú-G.DzehÒ¶¶°´Dݺ˜5 zjÊdøã´j…2e ÃÅþþ7}K…B88 }{9bŠWZÖ8ƒeÊ eKìØaJl -ü»Ë—§O1k:t€ƒììàë‹éÓ‘’’Oˆ:uÂéÓØïiiøõWÔ­ KKXYÁÏK—âÍÉ\ÏáÁ};×àŽã}$ß“e¸Ktû÷ï/_¾¼ºÐÜÜœû) ¯]»–””äääĉY‹-²³³ûôéÓ©S§¬¬¬¾}ûª …¼[­ÿÇcff¦N|5¿æëOáý'ˆO™ ±±X¿ÿüƒ­[Ñ­›±Ê»våžÚ ìÞÁƒ Ö׋èÖ .¼-¹~ׯcíZ</¯·å±±èÔ ·n½-ILDx8ÂÃ1z4.4eKU*$'ãða9‚­[ѳg½Ò5˜’‚S§pê6nDÿþ…Š-ÿw§Å©Søâ de½-¹zW¯âÏ?ñßÐ8j‡("‡ãèQ´hÁw¿ß¼‰NðìÙÛ’Ë—qù2¶nŰ´4èäÔ©èÜ5k¬ÀãH(¾Œ°zõêfffqqq•ß°råÊþù‡S‘7º¸¸½ ÂåË—/ïØ±cÊ”)]»vMLLDÁ§bÞz³ñW¯^­ZµªD"áã^}-¨ÿÅ€©S§>zôhûöíåÊ•ðèÑ#õE>½—âÔ_¹µk×¾víÚ¡C‡ìíí/^¬yÐ?š~æÌ»wïŽ-¨ÿZmß)tE(Ök„Ó5¥R±víÀ&O6X-5•™›3ssË$fnÎRSó·¬fýz0–™™§<-yz2€ýñGžš^^,%EÛÈÒ¥ `¦oiF˜…E½2´uéé `bq¡bËÓy­îŒ#3€¥¥å)ŒŠb³³3ÖKb"˜µ5ßý>gX³fL.ÏS¾z5Xùòúû⾎Ë6}ºþmçw$«J¥Ò‰'–/_^$U©ReÍš5Œ±±cÇ–.]Z-lcÆŒ)]ºt\\clÁ‚NNN;v¼té’H$Úºuk„pöìÙÎÎÎ¥K—ž6mšJ¥ÒB½þh’••Õ¥K ‹øøøù¯Õ–„øÈ…1vìXýú«ýõØ_0ÆX—. `6@;vdÛ¶Í F¶j•ûµC°uëôÔÌÎf÷¥ {ú”ÃÖ§O½ÒÝ:¹œÝ¿Ïd«Q£P±å³›t»3NÓ¦Ãh|—%$0€ÙÚòÝï3€…‡kÛ‘ÉØ©SoUS¯fg3oo&³+WôxÅïH(V!,N´ôòㆄ(B˜šÊfcc°Z·n `«W3ÆØš5 `þþ²eÀô¬Š‹c+S&÷«£#سgE³¥ºKoÏÎü½2d `B!Ûµ«À±Õ»äë¼fwƹw9;3€yx°o¾a+W²Û·ó9ärvçN®ÚuêÄw¿ÛÚ2€½xQ°OýõâE&±Zµ˜Tª½Šß‘@O–!¢ˆ°¶gn…&8tB!üý [7…8xPÿ„O½p³ ô¬âf¨¥¥å~å¦5:;›fY¸¹Pϼãï•^ììе+NžÌ ‹i±åÏî8ªUÃ¥Køá0†5k0|8jÖ„—þúKÿ,MnRhØ»Iîµ=>ûûlooâFùùaâDܺ…iÓ´Wñ;H?èf ¢DÀtììô¯Ý»99P*áäNNP*‘“ƒ}û &´zuE«k›·…E8-H¡@BæÎÅ®]?¾À^iZ“ɰx1T®Œ¥KÑ´©)±Íw¦ŒÉÝ©qsâExø"0½{£T) „°0ýõE"8;# §O£A¾û“@C·UðaêTÔ©ƒyópþ|žr~GÂG+„mÛ¶eŒ¹¸¸ÐÙ‰ Љ‹œÈnhŽ(ÿ¹£uêÀ‰zV?>>¹_ëÕçn?#RÁ¡ÎÎ5 ¶m+°WšˆÅ5 ýú!2;#'§P±Í—‚v§›ðµouë°e öì€9sôK²\Ž„ìÜ ?¿ì÷ÚµàÜ9=Õ²²pð ¯ \¿B! ‚Æýâ<Êyt/Aä—6-X;ë?ED@$BBÂÛÓP|=z¤·þ¸qãâãã=  aÆ?üðCppp«V­4ÛA+ù“eŠ,Lôd¢dCO–!“¡×0QÀÿ óÞz-¤"*"ð.îêVÓj›Œd1ÄÄ'#Y¯eã½Ë!_†eMÐĶtS:+ IDAT–°¬‹º³0+z^s/ƒìüÑ ­Ê Œb¸øÃ?áÝR­¯s1×HÍÇÐbrwzíð‰9;Ú|œ'!$â#AY,b×c}=ÔËWfva— (vcwAûzÍÑü{|ç_ãur®ãúÏø¹.ê>ÀÍš±ˆ­úA:)HQ@‘ˆÄp„ûà Æf{§bêmÜ~Á)|wï"æ&ï‚"qž„ ˆ’‹ú=ßÙȾ†k=ÐC éWø*ƞĴÛ @ý™? (pê Î^ìMGz&2÷aŸ7¼àAWt•AÆÕTBéÿ[¸UU7aS"e=Æã9˜c‹EXtGMÞp9äƒ0ˆ“–B‡åy]úÛ…wº­tKŒÇœvÿX•Œ£™ÞGHôd™½…‰q'˼¯-cªv¬&³É†ª¥²TsfnÎÌcY¬„IÌ™y*KÍײšõl=|˜O&ËÌó¦ –æÉ<ÁðûC³¦óJa)ZF–²¥`d&l)÷u, †élºÞš&ÇPïÆ»Ë·0ߘ· UÂÔù÷ e„A&a€DªŽpdmЦ*´C;d{°‡›±ÀL±‚•f¹-l§a€-ØÂ•lÂ&“1ÙöZF†`È=Ü[‡u&oiB¼á=3¯âj§»+˜›¼ ŠÄy%âþ¢m|\´zø_ttô ®hŽæº«Ú¢-€ë¸Î}D$€vh§[ÓÕP­0›i‹õXÏÀb ÖH`AƒÃgfŠiÝUÌMÞEâ< !AÖ°…,½k3q‡„úÃ@7tBxõNøÔ 7ãѺ«œà ¹w¤ €3œHNa¶Ô~1ñnqiPáƒSäÝUÌMÞ…wž„ ˆN~ì`§wí^ìÍAŽJ'8 p‚“Êäìþi‰î©V·kب ßS1µêÌüó8orpò)crwEs“wAá'!$âÃã".¨‰šzבã?RWuœÀ ÝUÇq€|¸¯õPÀÑ+9E²±bˆ×c½ÂA”ìB§È»+ª˜›¼ ï< !A lèŒÎºk³D HP R<âEE ‚çɱúqé…ÖÈ^2f`€žèÉ•ôG®¦îýãE%„œ*LÅÔhDsaLN‘wW„17yÒyB‚ >$r‰ÈÞè}Çà0 zÞèˆ,d}/4¯Û¹À¥:d"“ç\ÊÁ\ÕïàNS4@D&2¹¶MÑô.îVA•oð W3õQ?1~ð[‹µqˆ“Cþ Ï6`Cc4PTO6™ˆ‰~ð[‚%… NvWä17yÒùbFD?c‚ L@WK¬a½[Ë Œnen,n0k•"pömÇöîènÄ2—ÆI Ù‹½íÑþntB'Í îp߃=°xs^íÅ^ø_ÄEÝS³+\W`E‘Aáz¬÷…orLŽ!=6”¶êN/Š9Oøï‚B:O!A°¨‚*Ã1ü*®¶FkÝ RH÷aŸ#» ‹ÖªnèVeöb¯R>}yÁë®… Ä>H,`QuCr7µnŠpËYœý uDG'8 !´…m ´X‚%шÖõÄd¼á‚“ƒS´Ý½‹˜›¼ Lvþ=üWGoŸ ˆzûAPFHA¦@× ‚øD1>e¦ç—”Ae„A% ÊùÊ ‚ ‚„ ‚ !$‚ B‚ ‚ !$‚ B‚0Äòå A$„AABHA$„A|‚y‰+"0wïꩦEr2Äb‹‘œ¬ß²qär,[†&M`k KKÔ­‹Y³‘¡§¦L†?þ@«V(Sb1\\àïððoiAWiñô)fÍB‡pp€|}1}:RR ÆS(„ƒ:uÂéÓGZ~ýuëÂÒVVðóÃÒ¥P( ºÍ};7ÿ ,|0K4Œ\µ¨¨¨‘#GÊsÒ´èª0D_/ÏIcćϲe  ”LŒüGŽÉýxyþÞyœô/ Û½[»škÖ¼­¿v­~ËFHLdééÚË‹ÅÄä©ùô)«UK¿Ÿ£GlK ºJ““'™••ÜÝÙ³gùÄS$b'Oò cìÆ V¡‚;-Z°¬,ýn«wÜ­[Æ6°H‚Y’¡Œ Óþ‡Î]²³qízô€TН¾B|¼±VÛ·@@ÀÛÏüQ(€ P§öîEz:23±o¼½ñàºv…L–[S©„¿?nÝBժش ‰‰Éðø1æÌ…-Âѣť~@Vpëd2deáÌøúâÉL˜ ?žJ%ââУ LŸÎ7t¯_£K<{†¶mqîrr’‚•+ae…S§0cF>Iö AyGMJN0)#$(#$JVF¨…JÅÚµc›<Ù`µÔTfnÎÌÍYl,“H˜¹9KM-@šµ~=˜ËÌÌSž–Æ<=Àþø#OM//–’¢mdéR°ÀÀbÊÅb°´¼ç¿¨(0;;c¦À¬­ù†nΰf͘\ž§|õj°òåe„cÇ2€MŸ®‹*˜”ññ_8œ4 "" Ö ‡L†6mP¡ÚµƒL†={ ÐÅæÍ0e ¬¬ò”ÛÚbÚ4ز%·dÓ&˜<ööÚF† Á½{X·®˜ÂÒ°!üûožÂªUÁRSóI¸…|C·s'L˜QÞ7) ˆS§pû¶±¾BBàí™3qõªžµ%'˜ïBÂùÞ8Hwj|} ::ŸqÑ=àË/ <:zå 4o®gUÛ¶pýzî×ÈHh×NOM T«V`×]x²f œ1x0<=1t(V­Â;ùß½‹¡C Y3¾¡ãÌ6n¬mM,Fóæ°³3Ö£…Ö¯c8ðí𲚢 & !ñáÄŒHÝòå‚  z‘ ‘‹µ5deé_›‘C‡ ÂߺuƒPˆƒõOøÔ 7UÒÁAÏ*''HKËýÊÍÉtv6&fÅCµj¸t ?üưf †GÍšðòÂ_”[±5j`ï^H$¹×öø„Žû¬›´ñÄÏ'âÖ­ÜÜZ“’LB‚ J:ÜÓPò±w/rr TÂÉ œœ T"'ûöLhÕjg¤k›·……G=Esá›-ÂÇ8xèÝ¥JaÐ „…é¯/ÁÙ8} ð '†n«àÃÔ©¨Sóæáüù<åELBâ£J )$´¸xjÖÔ¿ÖÐ((ÿÑÑ:uàÄ =«ŽŸÜ¯õêÀ‘#úÅì½  }{¬[‡-[r/ïÍ™£_når$$`çNøù tµkÀ¹szªeeáàÁü=‹±~=„B „ìì·å%0˜$„D‰€TÐM›,€ÎõŸ‹#" !!áí94>"""òœvЯ_nâ¢5šš‘‘;„سgnIÿþ¹5u3¤b>wÛÛC À½{y  )‰—ž¡ãFM/†J¥ˆ;:"4”ï¿S§"::wÞSI & !Q“B‚“ƒÈHôîãÇáà€aÃôÔ‰ˆ@V¾ø"Ï¥&tè€ÌLcM5<Õ«ãÎ4mŠˆdfæ¶mÚwï¢J|óMnÍÀ@Ô¯˜øùaíZÄÅA.dzgذ!w:I±]Öâþ-èÕ ûö!- îßLjðÙg¼,ð ÝСpuʼnÀ•+P(œŒÕ«Ñ»7²³Ì×á‰áç‡%KÞ–”œ`¾;Dô3&($L@÷ôgm­[Q¦ŒžÊÜ ÞàÁÚ娷Û·£{wc–¹ÌC"ÁÞ½hß7n S§<Üݱg,,Þœ×DØ»þþ¸xñ­:ªquÅŠÅ¥ pñ"nÝB—.yÊíì°p!/ \† Iã’ÂåËƤÑÞ$ÔXXÀÍ ­ZaÜ8T©¢§‚TŠ}ûàè¨-ºuC™2Ø»R)$’üûòòµkX²[·"* ªWGÏž5*wN‡fÎtö,6m¦MˆŒDr2¬­Q·.zöÄ!¹ónŠDFbþ|ìÚ…˜(puE‡øé'xzæß¼@¡óõEt4¶lÁ®]8}ÙÙ¨^ƒç& üñöFHÆ+qÁ|‡ÿÕ1£¼€1ºpþLm-µ°Sä¤j+–ØE]XO'‹€£WqÚøÒ-‰Tm= Ÿ±QÎG!AAA !AAA !AA|P|0³Fé†úwGЭ‡At2-!H;‚ B=8¹¸\Wð÷K¥ÒeËW=ÒH/b±¸´½}çΙ>ÙBýÌù÷¦·œ‡×¯^p-çòË!i!¡õZ.33s++çòå[׫÷SéÒÞZÕ´ÞU"•&ÿù§³J¥03&J$et-½‰J%¿sgUtô†ääÛ*•ÜÞ¾Zåʽk×%—Ò©)»{wmLÌ–W¯®Ëå¯%gçFÞÞßTªÔ-ßm|ýúñß{”*Uñë¯ÚÙ´©JZZLŸ>·Ê”©™¯©ŒŒ§ÑÑ?~òŋˌ)lm½*UêæãóƒDRZo<3ss{gçF¾¾“Ê•kÎ3t2YÚÍ›K<Ø‘š%J—®Y½z`ßš™‰ôF˜ûÚ¸ñœzõ&èÝËêš… æ'!„_tlÏ}ˆ8p@ëV-%ož$¿[ d*--½U›Ž±Ïât…£u«–æææiié—.G®ûsƒ\®X¸`öû Ÿ–·\,,$߉Ó? & (“,##6*j}LÌ?íÛo5~f|ôh—J¥ R)=Ú]½úàõ•ý""¢[bâuÉ«W×_½º~÷îÚ®]ÚÚziÈOì¾}’“oi´M|ü8üñãpŸÑM›æó$›JÎÎ/$&žwvn¢¹*)éJZZŒƒCm>*øüù©}û¾P(²Ô%/_^}ùòjTÔŸ_~ùŸµuyÝ&Œ©¤Òä§O#ž=;ܵëQW׋3RAm|ÄÁAƒ‡oݶcÎo¿˜››¿—ðiy«ŽÃG '‡”š¹‚R™“šuùò¯î8rä«þý£¬¬ÊjõàÁvízð`{„P¥RDD$&^pp¨Ó¨ÑLW×ðùógÏŽKI¹»×Þ½¯™™™`Lៜ|ËÞ¾jƒÓ+Th#‘”ÎÌ|³åÒ¥i7n,rwïR¡BãÝU®Ü71ñBLÌV-!|ð` ·–Ïÿý÷ƒB‘åáаaˆ½}U•Jñòå•3gF%%]9wnBÛ¶uãɘ*++áÌ™Qî¸|yz·nÇø„N.½—ŒŒg*´mØðWGÇz EöƒÛþûoôóç§._žÑ¸ñl#Iö±cƒºw?¯Nó s³$S³FwîÚÓ¤Yëò«4iÖúŸ­Û¹ÂeËW:¹¸W®VûER’R©ìØ)ÀÉÅýÇqëÔk¤©©FhÓús2™,-=«ïäâ>wþBÏ*5+W«ôò%€k×nôèÕ¿¢GµJ^Þ}ú ¼yó¶º9Wßþ:ùWp¯ê׸Ŗm;Œû¬Û‹–·ÜÚçñ F,h„B ‡::l«P¡\þúÖ­e†jÊdiÏž533oÖ,T(”<{vD&+À¡uÿþ¦ÄÄs>Ý»Ÿuwï,ÛˆDV+vêÞý¼­­gJÊÝ{÷Öq5££7¾|yÕÖÖ«{÷ Uªô³´,kf&¶±q¯WoÂgŸ-pÿþßùvçåÕ[ 0{øp;g¨6&f+!LN¾  uëõeÊÔ43‹D–..MÛ¶Ý àÉ“}z›fÖÖ®-Z,ðâÅEž¡»ukyFÆÓråšuîáìÜX(”H$ö5j kÖl €èhcÛëã3&))òÊ•™z×I0?u!þÝÈøøøÏš4zõêUð¨±;wíðÝ·C?kÒ8--}ò”+V®‰¼rÕãRÈ/ÓZ·jɵR·âÈÑ㬬,KÛÛ« —„.÷­W·¾o='GÇ›7owñïyêôÞÞÕ«U«zìøÉÎݺkj!€ ï@P»VÍÇŸŒ þ1|Ï~éõY·CÞ±0dXСÃGœœ>oÙ<%5uÞüE«×üI*H||}'xú4ÂPÇÃU*Y… mJ•ªP¡B;•JöøñþÄÄlP¿þ‘ÈJ³ÜÜܶAƒibb¶¨%@ýú“%{-#ÞÞCúõ»×ªÕº|»³¶v-W®yFƳ„„³êÂÄÄ ¯_?vvndkëÉÇç²exøð_ÍB{ûªAAì›oR6e!ÏÐ=z´@ݺ´²ºjÕœêÛ÷¶‘ž5 )]Ú;2ræË—WõþÿQø`~êB`Ãú5Û¶ü±w'€°e033 ýÝÆ¦ÔÎ]{fþ6O(._ºÈÊÊráïs3ŽùqÂ׃†võï5tø÷~=@$z»×ž4~ûÖ[6ÿà—ߤRé¨à ƒûwÜ¿;xdPvvNȬ9šÖ¾ñíý»"öí?n4€¥ËWp:§×gÝ^ ykÄBtt €ß [·fÅî·Î›3ó³&?ÄÑQ:ëº89ùHM6>.êéÙ€§ç—>ÜÎß~RÒ®®ÍuWU¨ÐÀË—×ßÔŒàæÖNoþjo_g\ÚÇ¥€&Œ‹hÕj¥¥óñãƒ7nô½¸¯ýûö [~þÂEÍú½z|™ëa@·yóݾ}À­Ûw ù¬Û‹^ŒXúM`ØÒ?ÆŽŸ4ñSëøÔîÜ©ƒ——g‰=>($ vBYМ¢‰\ž{H zxø¨T©›@ |úô \ž¡;áS/Ri2‰ÄAw•¥¥7~ø¦f KKgu­™™Èon*‡—WÏ3g‚>ÜÞ¬Ù"@°¶ f^^½yÆÄÞ¾ZÏž—®__ðèÑî»w×ܽ»€­­gƒÓªU¨YS×C¡PÒ°á ž¡“Ë3è&m<)[Ö¯^½‰‘‘!/NkÜø·¼a/š`~êBøyËæ–––a•q¢r?æ!WröÜy¥R) ó5eüæ{û·ÿõè}g¦ o©\.×]Ë3â³V/úG4 [˜6eRûv­w‡ïûïìùÈ+W/G^9}æ,—Â~pI!i$¡#T) %OžìU*s¬[ç¤.T*•Ožì«\¹O¡•ÉÒd²4 ã]››ÛH¥©Ri '&caáX¾|›ØØƒññgÊ•kÿ_FÆ3W×Ï­­]ù)UÊ­iÓEM›.Œ=³Y.ÏJM½wìØ ¹<½V-=ÓãÍÌD‰ƒ‹K_ßÿ995à:ss{©4Y*MÖT¬Ñ ÁÔÇ÷\»6ÏÃÃ_3³,ª`–XŠiht@ÿ¾ý¹jê䉕+{uíÚÉÖÖÀåÈ+K—­°°°p-çråÊ5n8ÑÌLðfpÀ”)$BaÒºuêØ¼e÷•ûФq#Íú7çŽxìß Vͼ½«òY«CÞ²ð<>aìøI‹/ý>høé‡ö†opæ¿s”ÜÌC³ð¹Á=]øŽ::Öðüù ÝUqqÇ88ø¼©YÀ³gG4SõR Òå®AV©ÒϤðÜÜÚ·jµ®}û-:ípõê­¤Š[¾ýV˜Ð±ãβeýø‡ÎÁ¡6€„=ç…"+6ö`þz`&nÓf½@ |¸ÃÌL¬î…kÖØ/_.HM½§•hÈÎNâcgè*UòpãÆbÆTZ‰øºuŽ7o†òéËÁ¡NƒSSS£/\˜¤.,Â`~ºBºx~¥JîgÏ]ðýˆo§M™à—Ù<¬]»fÐwÃZ·jÙ£»¿\.ØÞ¾zJÊ;›>}!—grmwîlš’r×Î®Š·÷7\Íj՜ꧥÅlßîwïÞÚÌÌ8•Jž‘ñ,:zÃŽÜ Ÿ€çÖ™›ÛU¬Ø1++þæÍ°¬¬ø Úé}¤‹!¸ ìõäÉ>™,M¥R¤¥Ý?uj—ÏøXàº5†Z[»>~âÀ€¤¤+*•B*M¾{wõ¡C½ŠìÚµƒy:ìë;±lY¿7–¨KŠ0˜%w5+ŸJc,:::44tá|íMDvŠƒÉXb'—–ÄÔáSxZ‘Cƒ¥%C¿Ä1ã~ ãó{çƒî\‰Üß»Øú‹/ÂË—o­Y=;|¸_LÌ?;þëáñ¥f“¶:Ô«J•~mÛn2bY=—žþ`Ïžöééµ*ØØ¸wérPscVVBD„¿ú>¸fÍò¹tiïFBΞ÷.‚I!e„”CFHÕoç“Ýò¤„'ïȲØÂVž“NÇA áÇ éA|4º$ÉÁçÞ€Â[ Þ;f‚?4.Je„A…ÏØ(磌 ‚ H ‚ ‚„ ‚ H ‚ ‚„ ‚ >hÖè;©Jy&Å(6„ø3®‚„ðcC)ÏLxþôXøR Q ´îö½‹kE1‚ HKœ ™°‰BAà°¹Ô¥J®Û¿u·ï+Q Â$èá;T(Nz™FÃAa ûÿBÀ=~9A˜+Ä!G aÉ@À•˜ŠBA\U¦rA–(!d$„„ :HBH$„ƒšq! ¦(¡é‡A$„%3e„Dqf„Ü!G„)?Ÿbë)33kμߛ4kíêV¹JuŸÀ!ßÞ¿“o«“§Î8¹¸¿HJúÀ2Bõ5BEš“=uÚtïš>åÊ»wü¢ËùóçõV;y⤃S¹‰‰š…L¥Ü°áï×ééz›_Œ´ÕÛ-ïaÉUBýkœÊiHC£QÒ…055­cç€cÇOÎüuÚå‹g¶nÞ “ÉÚÑíÞ½¨2¬êk„ºË¨Ñc7ü½é×S/ž?õÕ€~ý ¼zõªžšP`ÈSxêôéÑ?Ž—JsôZ6¾k«¯/ZŠQg„º‹CÙòÊ–7Ô„ JúÐè/!¿©Tª];¶XZZp-ç²~ÝÊÏÛ|1mÆÌ-›ÿúÿ¿0ÓûD|BÂö;ÖüÞ£»?€ý{Ç=›5{ÞÖ6莽ùËt͘ 3ì¶e&›%ÞÅà¨ÖwG犟Ý^&>5|ÈQ"3œœœ­ÛþñÝPN9Äbñš•Kçüö+÷U¡PÌ_°¸®ocW·ÊŸ5o³e&»rÀ IDATÛ];†êpç¿ÎœíîY½~Ãfr¹ü½¨ú÷üñ£'š5ûL]Rß·Þ…‹—xšíÑk€j5êrgF¥R9gîï>u¹ºUnÕ¶Ó‘£Çìßëè\ñè±c=z hÛ¡‹\.×jË•J5ÿ÷ŵë4tu«Ü¡“زŽÎ_½J>yê´£sÅ_CfWô¨V߯©\.×ë‰!¹æ;w…7kÙŽ+Œ¼J?ECèî/½{2B‚(ÑaTÔ}©TZß·žVyõêÕÔŸž2cÏžý æÿV»v­£Gÿ8v¢J©ì×··f}ãunܸuìðþ¬¬l±XܤqÃÛ7/;:8¼?!ä&ËhÿkïàP@\\\y×r\É“'O33³^¿Î(UÊ:oÇýešFV¯\6tøˆÿN±/mÏ›2í׳çί\êêêzàÀ¡¯ ݽsK·®»ÙmÜøI§OÙ´y˥˗Þ/‰´ÚæÛ€Ys6oÞöû‚Ù5kÖ8xðð´3°7›uýÆM.à"‘èç)3t=ñkP_¯‡\ó+×.þ}n©RÖ?Ž›4컑‘ÏЯñÍîȳ’žä[G}ÈQB…ðuF[;;CRSÓÖÿµ1tÉ‚/:¶0hà€ÇOž.Xª)„ùÖùqL°——'÷ÙÜܼ¬“Ó{ «ÀÀ“eªTñªW¯Î„‰“W¯«\Ù+òÊÕ%¡Ë(rÊz†+íím88–q(S&==}ÝŸìÛéãS À°¡çÎ_X±r_ß9¿ýÚ¼e»Ñ?Ž?pðð¬é^^Ól˧¯¬¬ì+×.ú}NÇm ýfÐÓØØå¬VWûqL°——CžT«ZEoù×_õ0uÊD_ß:¾>dÈРôôt[[úAê=l 3AD‰ÂÒööRSR]˹è­p?&F©T6òk .iÜÈ/léYYÙü븻»—œ°š¾ðÏ5}?ºI³6æææ5kxýfÐŒ_g[[YjWÎMÓòy“»±èèûr¹¼‹OõP.WT©âÆìílÌûmÀÀoZ}Þâë}ß¶zÓV7¿ÐíëÞ½{R©´‘_}uaÓ&—ÿ±ZmÁ½¢÷Á'F<àQÉû`kS*÷_ºíRsw˜vÈœåËAAy‚„ðSµjekk«È+WkÔ¨®Y¾mÇÎdž-ù]wœÇ„‘HXrš;kTß¿öåÊ9ïúwó«äd•JåäèºtE… åEb‘Vå79Ó,×,T(6o\WÎÅY]ÁÜÜœ«íÆ ¡PxëÖ¤W/¹!b½ô¥P*¨˜J]ÈM·Q ©P$äVòäYÜs½å1˜ ¸æœ5ÍŽ>ù|0OÊ–óÔ­ó"þ!e„Qd©K1ô!‹{öørÕš?¥R©ºP&“- ]þâE’¹¹y•Ê•…Báy9#.^®PÞÕÊÊR]§NIÂÜäIcQ)•}ú :sæœCéÒNL¥Ú½{oëÏ[èÖÌ“À½YꌱÊ^fff ñ •ܹeÃßÿü»3Œ]¿~sᢥËÃ~wrrœðÓݶ|úª^µŠD"¹t)R]réò•<9å›rCžñP»;#Ž}R‹¾}ôâùm|þ@·! !A”h!0i⸬¬¬€î}Ÿ8õ<>áü…‹½û~7{Ö/J—¶пÏôé3<ü,îùß7¯Z½nô#5-𩣩²/’’Tª÷ö`k„y33A©R¥¦LûõÊÕk11ÆMøùÉ“ØQ#‡ëÖÌ{Ý.w±°0pùò•øøx‡2¥ûöé1eZÈ¡ÃGcccC—®Xº|•G¥ŠR©ôûQc;´oàßù÷ù3÷GÚñïn­¶|ú²±±þfðWÓfÌ:täX\\Ü_o^±j-€Ü\W£¾!O •ëë"ð©-ЊÏc4T0FoCB‚(ÑC£Ê”9°×¼ù‹Æü8!!ñ…M©Í›Š¯\Ù‹«0{Ö/e&ü4ùUr²——ç‚ù¿õéÕCËŸ:çÎ_ìÙ{Àí›—ß×”33³·cŽyù}ÞÌÿMþ¥WŸAr…¼qC¿ð›Ý*T08(˜÷Ö>ŸZµÚ·m5ôÛ`‘NÍ5cn™2ã~šòò嫊+,œ?«K§ŽÓùíEbÒ¿[ÿƒoÝ:ÇNúyF³Ïkµ-ëäh¼/Sþ7ÁBb1nÂäW¯’}j×ü!8hîüÅæbsÝúz=Ó_~òôzº£›µ†ªµ²À¸˜²å+¿ˆ‹1¥ÜCŽ RÆãʼ@ `ŒEGG‡††.œ?S[K-ì9iÇE%vriÚÇ2±…­<'Ýx…=kGu¼D–õÒä^Nþ¯WßÀ[×Î9é*VQc¨¯»÷¢ʨ ×oØükÈܘ(ºçï]‘wÝ¥JYÖ«{–vª÷—8fÜÏÁÁÁ¡¡¡aaaº¿wš,CôÐíwóÿE‘½˜·8%í¾î݋ڸyÛ”ŸÇ;”)sëöÝù¿‡öìÑ·÷“ò=ä‚ !,p¯ g*…éçB•’³P#…ìË¿k‡‡ ú}bb’““CŸžþã~Y þ|ê2hR„ ú†z½‰ e‡ !Qt¡™@-0¦Ñ¼iÃø'7 i¤ð} >&x¸®jïúÿÓ¹Â@*HE*„3*Jžˆ‚cÚaSÐG¬1R>‚ !|§BXØ¡QâÎ&r” aIáÍ5BE$LB¥É‡œ I!œ èÞ£wBí¦}þ3â@ެ©Ý´/¥ƒAa ÂÙ½>wz¢PâväAZÕjÒ‡;ä()$ ê Ÿê•òl3‘%^=¤"&H/ Œð“@¥”«”rŠÃGϰ!%èŸ>>{÷’(æt’B‚„ð£R©zöððá£U+—F^:³cÛFggçÎ]{Ä'$hÒ¸áí›—>úXß¹s§cÇŽÙÙÙš…ëÖ­?~üìÙ³£¢¢ú÷ïߣGÈÈH:. ‚ >*!¼~ýæ;÷æÍ™ÙЯA9—êÕ«ý2}rÍšÞ;w†077/ëädfö‘ÒÎÿ{÷ÖÔÙ†üI€°AÙ3ˆL­à@­[pâªk?«u¶µpUk­­Å‰¤Ú jÁO¬{oiµà7j]ŸUP 2Tçûãh@V€ûwåòJÞ3’ózNîì>ÕÝûB¡ˆôôþ½7û\("U²Éç×Ù—ˆ2ž=?räXäª_¦|ìȾ2£ÅmÚråʵ“‰ñZZZD”úàH$ 6’Ãy{>›H$vssi½o`` ‹CVII éëëcÕh$p ]¼teÔ˜OîÞNiЧÌLž<ùõëס¡¡ðõõÅz u×ÔQêèèÌørúŒ/§—Ô³G76ðØËãñx¡óæ†Î›«hÂÄßß¿üŸ ÁºP/pÓm@ „B!T‡W— ³ÃÐP7NîšãÕ%ý mtAm°ròñ":¹kºê懗•“úA¨A¤âb+'Ÿ¾øn‚:\å°{A¨IßJ‘T"B?@]B`Û@ „B!‚ ¸Ž°V0R±DôýuFKÇ€ Ô Ñë¬çOOY‹®€:Ðgè ;¾:A¨9Øœ4gºTXmœ´që«Æ„qãú Ñ= #¬HA¨Kc&-ÀîT„öû‚Ã!""]ªcª±Ê‚P3pØo%FŠ®ÕsPªþ*B BAjä ‚AØ‚ËV„Ø5 ê$¡ú« 5—ÃEEuY²«¨³ùÔå›efeYÛ9÷èÝ_¾ñì¹dK'ANŽì‰&}%1Û¶ï,*z¥òÏsÙ1Â÷gÏœ5·´dg—T—5>Fèü….nžÖ¶Ž¿þ³uë¶¢ÂÂú]„Æùx»ÚU<ÔÜÒ¶’ ±k aT„{÷ttt¸wïï”k×;út(3´‹ŸïÝÛ)ææšÓ;IÉf~3wàÀþêaùŸö IÙë·XTõcܺu{Ýú˜Èˆåýúõ½qãæ„Ï¦ÐÏÈÈÛOU„ÖŽDdneŸ›^Ùo/ÐðŠpç¶iÓzó– ®±ãñxV––\®íáaÔ=ÈÇåÊ.Ÿ(ÿPÔ^Ç>F~A>`gkó.ÿýíùn;w?~"áÄŸ‰öð·stíÖ3àÒå+ì»H$’ð•«Ú¶ïÌNžxò´lòò³5æ"òlÝÞÒÆI6š »FU!‹WþôsÛö~¶.]»õÙ½g?ÛÞÛТÅËØç›·l·°æ_»vƒ}9:è?ó,y»P«¼Ûu¶stíí/[¨$ kþ’°|gŸNŠD"e>F…³úhÔ8"òü ½…5äèOˆÈ£u; k>¶Ÿ:P¾Ÿ+ìyT„ wîÚkeié×¹Ó°¡ƒ‹‹Köí?XÉÈK—GlŒÛvé™Q#‡/[)?4vCÜ/«"N'þn o0íó`YûšèuáË—œ;}¹…Ó—_}½úçè5?¯L>›àè`ÿù!ì8ó†?‘}陃F:qêÕ”kŠfûߨuDtþ\âÝÛ)ônç­rAÈž,S)hg~øqa\Ü–åË]¹tnÚÔI3¿ùnÇÎÝ Ãô èsæ\;NRòy‡“|þ"Ã0oÞ_¸x¹†aB,ùãÄŸ±1Q—.œù8hÔø S®\Maßëæ­Û§~ß´1F[[[™Qá¬äûAþ95J¶B^NÖ“òòrp² €†¡P(<|䨠Aýµ´´Z¶tnÓ¦õæ­ÛüæMqLlÜâE¡ú8:ØO™7mêg?­Ž"búù÷¹sçy/óFš”ta@ÿä󈘤äd}}=ßN>………›~Ûú˪ˆÎ¾ì¦N™øn¡"š53ØÅÅÙË«µ2CѬš53!"s 3+K ùçØ™Y7»F•™!€Úêèd™?Ž'äç 6„}9|è°eá×®ßðéоüÈÿ}_(vöí(kù°«ßú_7È^:;·`Ÿ˜˜‘X"f_zx¸±O ˆˆïôöÈŠžž;ZZÚ?"‘(pØHÙ·†H$vss©|¶êü¾PtáÛZ¬ì J$’Î}dí~¾¢×Ƽyý¦};oK ‹sç’]]ZŠÄ¢)“&ŒŸ8UTZšxÊ¿O/m-­ÔÔ"‘(pب² Å0DäÄwTþcT>+b˜·Ùs¨ ju,ŽhzîÚ½—ˆFŽ'ÛùCD›·ì¨0%R ½¢J™“VÊœP#ª¥¥UQY&7g‰„ˆvíØlkc#kÔáñ=z\ÉlÕðö¬Ñr7|Wˆ1eIi™væ] q¨oß^gÏ%?{žÙ¥Kg__‰Drãæ­“§Î†Î›ÃÃöÎí›lm¬e3äñx¥‘–¶–ò£òYÉÅ`ÓBåàûkeÛ²ü8‚ÌÇ vB@}!‡!‘°²99gÎ&M™tøÈÒ% Êïéá¡««{åê5>ÿmI';ŒWM®®.\.733»k?¶eÑ’åfÍ›y{{U’gj¡âR¬l9åæÚRKKëòå¾£ÛrùJн½¾1L?ÿÞ¡ — ²szôøP—Çóíä·ikVVvŸÞ=ˆa\]œ¹\nVfVW?_vÚÅaáÍ›7óöj£°tSð1”™G6T„uR ž?²²s)ÓR¾ó„]îÙ³Ÿˆf|9ÝÁÞNÖüÕ£Æ|²oÿÁ–-ËŒoll4yÒ„ ÃLLŒ[·nuêÔ™˜Ø¸ÙÔÍÍÌÆ¿ØÈȰu+ÏC‡®]³qÃzEãëééÑÕ«×¼½½ìlmJKKó ˆL”  j&†ˆ.]ºljjúoð{º[[Y~òñè…‹—™˜µù Õé³I6þ¶8”¿WÏnAŽ@óÃ÷³ˆ˜nvY±º{·.&ÆFDŒ¹Yó±A#C„¶òt?tä÷µë7lŒzÿ@ ²£ÊYééñˆ(%康×¶¶6Ø„j¥&,óSòùC+;WÙó ÿ<‚@£ƒpמýþ}äSˆzöèÖºµçæ­Û-ø±ü$󜫧§;ûÛr_¼ðöjóuÈŒð•«x:¼ê˜•áaáfßΙ—“›Ëç;þ¼*|HàÀ³ç’+ÙÛ«M¿€¾S¦Í ¢ë)çïÝ»?jÌ'D/«|—·{Y”LS¦‡È¿\³:|옑ËØ›™};w~^ÞK—–Î?E,3j;Cƒ®~¾·ïü¯•‡1ÔýÃ.Ë™UýúÊæ±lQ„™ÙìïBss_ðù«#—p6é¼ÂTü1ªœ•w›6ýü{O™LD×.Ÿ³²´ÀVTË9HD$xöÐÊÞUðì¡¢ÿMº aá(s$ŒÃá0 “ššµ:ri™¡:º¦"a¢i+ªÈ½{ËÎÕ$¢Í[¶/Z²ìñƒ»šÐe:z&¢’ÂÊG8øÙšÒ7¹XÃ@yyÏnÚ¸õUcµ)}óâÌѵ“¢Ä%lk3gÏ ŽŠŠŠŽŽf°C ^*B5Üû;uûŽ]óüÞÌÜìλ+#5rDCú}?Ì 5[*»Ê@c ÂǤ¥ý3qÒ´¬l•¥EPÐÈ9³g6 neÿ\8#c •cP­Õ¡ ±!‡ÃùfVÈ7³Bh·²Ž‘J°†êA(Q{•€Æ„ {¿+)*BPz« n±€ Ô¸Š–°kÔ¬Åj¯r€ ÔïŽb×(¨„µW9PgóAԯǞÜ5ýuãrâF¯Ç¢Pjk'öë ]*¹{í„SµéÄ®r€ ÔRq±µ“¾› .W9ìÞ@jÒ·’D$•ˆÐP—„Øv„B!‚A€ ¨@Í\GX”›ªp˜}¥C¤ŽU-QÇF·ÈÐ4GÔc6·ï¨öÐùSÕ5¾E@VF,,T8L·Ò¡ ’IUKdÒèšÌÆ Ðôà! „B!¼££gÒ æ µ„â4ÁÞ•êè™ÔTt±³•à„R ¢ì× 1wEÑjáÒ«tM‰H$,Ðð,d3¬:ÆF)" W„Dt?õþWÁ_éèš²VÍÔÑ5 4<Ë”†Õ©‘‚ »"ü7„js²m(ùW,DÐ8ƒ°|*žÊç\•cÊFP£ŽDvÔgV|R Câ;QESt%¥^å… ’ÁY_yYeÉR­ò1• 41bÊÄáp†IMMŠŠZ¹T¥R¯Aï-“m²g”ÌTìhxA¨B6¼‹À*ë¼êVÔ¨T¯ÄTãŒSF*–ˆ^7Ù•RKÇízÍ,-)*È}Úd{ÉÔ‚ÏÓ3ÆW@½!{Χj©ð.PÖÈe²³l”œ›‚YÏŸž:²¶ ®‘}†Î°±ãW™…l ^¹•>ü£ &ØK‡ìöõFÔ_V'ÌddƒˆÃšÚ«©ÒžRY Nš³£ ®‘qãØ,Ô®tOƒ,†i‚½ÄápØ,´tøßbÕ¤Ú-Ö¢£¢«_Ò±—ÖÈõˆ {5¡‡¹M6‰h̤§Ž¬UfÍl²)HDE97ÍR žƒÐÃÝã«à¯jª’“ÅaSëñª«L‡ÃaÏÝešäƒ8q”¿¥_í%¨)*콟z?Š¢j8ò©¤µ„C.Œ´‰þ:ãpT¸·mSí%¨‡ „ºJ·!ÓT¿âUª! e²ßñM7U¨k«—̬¬Ê7æ XA„PaS¯9õ]jéèÿ~aû¼øuqA~!—˜YY½ÈÎÂZ € „Z® ǵx†D$)}]¾½|cÃX~®Ja­a33S"rrv¼xîªP(d³Ÿ jï ¾à/Ôkf¾­«|hñ “ƒgoêæ¯Å3,Óï?´L£üãÕ«W+ÂWúuíacßÂŽõ§'ßOMUæ«ÿ8sö¬¹•}¶ »Â¡DÄUñam<Ø™?IK—¥ ¢w,-®û5¦gŸ~ö|Ç®Ã>:z,¾’…M}ð Õíú ,,,¬æÇT„7 U¸x€ î¥Zé¼÷Ÿªk|rܤA®¢Iòó ‡40Ð_¶ÐÓÓ#;+;"ru¿Çã{zzhÂò«PÖ¦´‡Oˆˆ‘2okôr„Bᘱã322¾=Óϯ³X,NbŒS þžÛŒ°® AA rØJ½êÓ@ÄÂBm]“xÿ¡›ºùkë³/Ù¼ý\ÑL‡-c¤ÒÃöèëë‘­Í–ß6ôê3`þÂ%{vm­ýEdÞýË(.‰9*έXØ:æf¦—iÔ××+..QôŽ+#W§§§ŸLø½yófl‹«Ëd?ßNGtíÚyHà ù…ýçÉÓµpvÚ½c‹‘‘!.ÐØ5ª¹!£v¶(”¥à½ü¼¥·SD%åÇ/..Þ½gÿŸOÑÓÓ•5jkkÿ7vmøò%ìË̬¬©Óg¸yzÛ:¸tëxŠa˜3g“,¬ùéÖ3ÀÎѵ·ÿÀ”k×Ùñ…Bá’¥+¼ÚúÚ9º råj Û.‹WDüäÝΗŸû‘+Y•*B¦†XØ:Îøf²…­£|¯Q¹ü÷Åbñ¦Í[¿šñy³f¦ò³jÛÖkäˆa1±qò û4=cÄGA|¾ãî[ ªùi±‘ I(W3Uñ•äNIDATøeÞ#/÷eÊ¥¿ _É¿ãÇ };ù”Ÿa÷]¯]¿!‘ˆÙ%zþìùˆ‘c9¹›âÖêãÎ2»F52¹Õ:BöYr¢¨$_ÑТW¯ˆÈÄÔ¤’kð þþ}{;;· ¢‰>ù3ádAÁÛ;ÃÍÛ¡C;"š>mò¤)_ÑÎ]{×E¯îÓ»'-_ºÐÀ@¿ ¿@—§»é·mÇãz{·!¢©S>»xéJLlÜøÿ|\EpU;JZM–vN;ŽmxUøÊÆÎª`ÙÿÂÞm‡¹ŽO§¹Y3¾³C[Ÿ6;âöÉOø"/ˆš›5/?Os33‘HôêÕÛ³vÿóé>ß1;;{EøªÈˆ¥XÉ„ [•7 ­ö߬ÝbM©þ:úÍåOœxDTü²’i››šQ~ÞK;ëŠßžhü'ïÛpíúØGÒnÞºMDR©„§s 'ö‰‰±‰Å¢´´'"‘ȧ}[¶]G[{ñ‚yD”rí†H$ 6J–j"‘ØÍÍåígc. ·/¨·´o±ã؆'Ó¥R©£­£-q¹ÿî)ár9b±äÁßön;|ýÊÍœgÿÈÞÑØÈˆ^Q¹ž|ù2_GGÇÐ@ŸÙÝÝuû–ÛwìþþÇ…}z÷4 ¶#€F„ ‡Ä%ŠSwU§$ä£Ä0ž¾YùD+ŸÐÍÝÅÐÐ åúV­ß;AtßþC&œŠ^Éår‡ S\R<|X`@ßÞoŠ‹§}¼ûúçp9ìüÙ—RF*‹Øü,ó¾b‰˜ˆvnßd+—<ïá£4öC2 O–ᇣdÂ1ÕØOheï¼ã؆ô2¤Ò÷.HYTðú·ï?I˸qõ–àYšüÛyx¸™š˜$¿àæîRfÎÉç/´k륥­Å޽&RO_wÒ¤ñÇÿL˜9knûvÞ6 ~…@ÝÃ1BÍËÁo±VÅC–‚÷òó'aFvìÆÓ7«d*mQ ÿïÆÍ¡¬±TXº&êלœ\žïæÍ;ݼµiÃúo¾îÐ7''—ˆ)SÁ¡="bÈÕ¥%—Ëýë¯Ûl£D,ñíÒûÀ#l{Vf¶s‹ìcë¶]­ê!»üÊW„j>Ø|žž%•*ŒÒ\AÞÍkwÿy”~ãê-AFZùžœ<éӟ׬råÛoß¾»oÿá©“'Ê–HKK›âgÍê•b±xFð7R‰‡„PEEXùw!ÏÀ,9x6›‚³S’Kß¼ "AÉ›VÍ̪œvîw3ß5îô™s™™™—._ 7áÙóçË—. bÌš7#¢‡§§§‹ÿcMÔz"*~ó†$¡¹YóQ#‡-\²<ùüÅ´´¾û~~þËüîÝ»š›542tÁ’?ÓÓÓ£Öþºvýç·çãP½Ÿ,#Èx<.pê‘}KJ+œoæ³ì;7ï¥?ÉøëÚmAÆã g2ëëî®س÷ÀÓ§O>|³!î£QŸŒ9|ø°Áïý^ †ˆ±µµ^¾taRò…èu18Y@Cࡆ&á»oÏÊÜK}—‚¹DLé›\ž{M!ÏÀ¼ô êÍÍšÿql_äOkfÎþ>;[`ldÔ½{×ñ\][1ÎÎüE ¾ŠŽ‰Zóa¿­›c }㯛¦¦¦rßé$ÿÿSÄÒ¥Ë#§RPXÔ®­×¾=[,-̈˜ˆå‹"ÌÍfš›û‚ÏwX¹,ppÿ³çο?Ÿ –_• êÕOAÆ#+"òØSK[ëß9J™¬LÁÿnýù,ûÞTAÆ#EïÂãéìܶ1î·m¿ÆnœõíÚÚZm½Û¬ _<|X`ù^b'=jØ'ÂWþܽ[—öí¼±ºÔÿw®2×$q8†aRSS£¢¢VG–=çM[ÏT\‚5W¤kéü¾uNàgQ"ÅIöö[ØÐ’ˆJ_çÈ·lêæo¥g08ñˆ|{"|óâÌÑèAã#¤Q%£ådܵsíÊ0L•½T%+G×n½üüõbé‹Ü—ŒTú2¯àYz¦ +çÞTAúCÍì%cKÏç/X:|På–8sö¼ààਨ¨èèh\ƒ€Š°!U„U~c _ç”Mø:G×Ð’}¢hrk{·Êg›ýìA½/¿ ÔWûí²ÓZ;ºêèhKæô‰$®W~P%ó¯²'5¡3AØ@sPÙ[¬U”Ž‚Ê§Í~–ZûáRÍàRÝÞb-;ýµ£›gk7®7;ý’3W¢' Çó„ z È*B©¸ WÄJW„5ÔKYOîÙ8µÊzr¯Év;‚4*Ø ”4ÙPáÏ0Õ\/e¦Ýi²}€ Í öÎ2Ò¦Zš¨tg) 8@6ÞŠ°éîU¥"D‚°‘޽évÓÝ5ÊUé!vf@µàÎ2šXyu{rל¦¹ô—7zu«LExèÀîºü#ÅØÒóÐÝØVP6NRq‰µ“ MpñÛt ²vò‘Š‹+ÍÔ‚ïëM‡ì6¶ôl‚½tèÀn_oGS >¶ac B‰ˆˆ¬|Ø8l’?Š+¿­ ñôŒÙ,|þðBÓì%S >OÏÛ ‚°Ñfa•I<=cùŒ¨Gî^£Mõp ”…[’B­¯ú¸é6@ؘqÓmµà¬Q@ „B!‚A€ h”T¾×èÌÙóÊ´DUÔu ["€z8ÊÜr‰½ÅZ%ƒ+¹={o't4@õU±5Uµ%âkÕ­ããã+l¬xLjj*ú FTgK€òpŒ„B€&HÙc„ÁÁÁŠ &:~ü¸zÓ€Jª³%@…”=k´’¡ þ¶=@½«rK´³³}öì9: @ ¬2' çdÔÿÖŒ-@8FB!‚A¨*ŸT„B!‚A€ @ „B!‚A5·¿@ „B!‚A€ xÏÿõ¥;ÖõŽöÁIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/devel_intro/0000755000175000017500000000000013634704610016123 500000000000000lepton-eda-1.9.10/docs/wiki/media/devel_intro/rtreepicture.png0000644000175000017500000001435013634703632021274 00000000000000‰PNG  IHDRºôíÒã-bKGDÿÿÿ ½§“ pHYsÄÄ•+tIMEß 5,´©¯×uIDATxÚíÝw|uÂÇñïlÉf7ÙÝôN½)x ¾,'Š¢ž {A,øXÔÇ;{;TlÈÙ(¶“ÔSDÏÉíSðøŸfÝ?ò¾K*+Êã“’«$éµùsÏxö©éÚÚÚ¸ÿà';¨Þ£³GD´Ùìö€ÇëmèXvée“ÞølÅúÓ_}sÉ5  ÛÌ誫*b+Úƒfš¦Q^^ÿäô‡¯8ÿÂKþæpDú@·Ý9§}n÷en§ñí÷–^ưºÊ{éò“å+Ï-¬hQXÑ4¢ ¼qä· NøÍiã>¾yòÕw3,€nº]†aÆÅÅ×N¼òê×6æ}×Û4Mƒ¡ô˜Ðuðx<®¦ÆFCèq¡Ëè•Uív7UUUÄ24€®p@NF)¬h±ÇêZ,¡õ[KÝÓc}úöÛ¶·çÐ-ft:„@è t:„B¡:„B¡€Ð@è=žíç<ÉEÛlµBÑìÂj †œþ`ÈÅž@‡H›µÁj1ü쉃“aQ0Âbñ±'Ý÷Nùß…›$é»/eþ×ãR]}3;èf=xÖö¡û^|¬[·O8âFváU7úsxþ¿»ê¼#Þgo@’æ¼þùÉO9‘ß—ƒuÆa©¿î‘^`OôL¼G t:„B¡:v€Ð@è tü¢lâ›;8ù‰Ý—¹=1̓‡Ø~ýî_Ô+»wÅžž·vÕW97\zÆ Ÿ¬)¹©'ÊUcûœ¼û2W´·­÷ áµç_}G^rFNSÇò@ Í²ø¥é}¿øxqšÕfó› O¹ðê­†aptÀ $=:çÕÙé½²+%É4M£¦ªÂýòÌécïš|Ùå/½õG Ã0wýúæ¦FǸn|( ‹Á'?øÒ׉i™;o`šª¯©t¼3ÿéÞ3ï»vø=s–,ëÙ¢ë·aÕgq×Ý7{E04^ž~ëo\‚ÿ¨“Î+âð€øÒeJZFuzfNezfNeFVnÅÐÃFm½uêŒWò7oH©©ªøÁ}îžšv×YQnOK¸ L|rš/)-«9)-«9)=»¹Ï5o~xmñöMÑ 5•I ƒÆÒ·çe^2y꺬~Cër«½dò×ýóW{qhÀݧ—öˆ ÍfF»½ÿqÄO?zoè—Ë>0ùކó`YíöÕf3Ñž6Iª­*s´ù[-éÙý;¾&³Ïúü ßzƒ¯]€àK—µÕUÑA3MÓ¨®,wÏõÄØ“Ç]ðe„ÃèøºêÊr÷c÷Þ|þ]Ïœç‰m —i¨«ŽpEy’dÊT]u¥cÉ‚gz9öœ"{„#$Iî˜x¿aX̲Û\¹$©´`s´$5Õ×Dxâ[9ĺä†ßžyÃîˢܞ–™ –ÌèøÜ4Mãá»n¼è„SÏ^1âÈc7äoJ —yô¦‹Fí¾ÌåÜú§7>ïøÜá}jéü'ï|Ñõ÷~ð·Z<}Ï Iòû[9£dèþòβ‡2sú–w­¾¶Æ5kúOŸvçä‹:b÷þ[¯ŽÌßœ—2厇VW–»k««¢;fyŽHg[T´»Ç¾gwÿ |šÒ«wSûþQS}mÄÂçé÷òã²kì.¾á¾ï^}æ¾ÓÉHwL¼ÿ¤ó&åÏ}âö!ÞØ?‡7ÀÐíÊ0 Ó×töÅ—ú» ãn0MÓ0 ÃÌß¼!µ¬¸(ö“FÞ¹ëןuìÐû/˜xÍÒko¹wq8 ’aŠöÆú;óÒ‚Çn¾èpÓ4ÕqÖe]U¹cüä©ë.t%iÍŸ$&gä4Ù‘Ao8HB×!Êíiinjt475:¢¢Ý-×Þrïâ]cV¿)éÒÓŽ¾íëÊn ÇÁrF¹-¾&[«¯ÉéŠHÒk³¦°Zmæ™oÚäkj°½6sêÀ“ο*ŸC»gù)מæoÞòì#÷œùÝêY‹ayÔæßÝ>uQbrZ­$•ÅÎxà¶sÖ¯Y™ -£Ž>~ýu¿¿qL\|#{=ÑAõ>NJZ¯ê¨hwK]MU4CóC )é¾HWt ¡¶:¢cÙ„›§­ ™!ã‘/µà©»9kâ¶£O9¿½Õó<:çÕÙ Þûüï}þÀü%Ÿ=øÐ3s_–»&_v¹iš†$µµµYo¿îÒ+]Ñî–'ç¾õôÓóÞy2 X¦Ý9åBiçõ¨W_tÊ’ôèìWf?6çµYe%1ÜzÝxö0˜Ñu¡½ÍÈ,‹¹ä‹Í·ííy™9}ËÃa67çï›ßßÓrð˜O¾µêÃ]—Å&¤´L~àů9”{¾ŽkO;>ÏÈÊ­¸uêŒWÎ9~ؽ5UÑq I ù›’‹‹¶ÇÏxéÍg’Ó2j$é’I“?¼yÒù×HÒ—Ë>X]Yî¾ý¡§¸=1Í’tÇ´§çŸ{üð{êëj]ïÎe¡öè×??y®¿5©L­‰e Ùý²ø2Úì2‚6YZ²¶FJ¦d:ü ÙÚdZ‚’%$S†l n9ªe„öï WwÄû¿ø/ðnמöî7¨¸ã?ƒm~¿­º²Ü½dÑ+£† ?<_’R32«&ßñà›‘“¤úºZG/ÐI¿>rp—­+`õkSìríh,R`›G΂L-òe¨¡ïùã+tút5)é“ ÉâsÊêsÊÚâTDm¬œE™rf)T#yš*õq R¬=®Ë~N‹Å,]¶v¿ÿ.uöÚÓ·_ÿÛ+¾ü×'œ®¨Ö9ýûtIê?xXaÿÁþi»²¼ÔûðS.ó›³V0›¡~!Õî­1—©e£WöUqª^£š3>PC¿<™¶ÀÏ[©i(j[®b¿9\µßeW„’SÜê=PV«õ€o󪯖÷q{cšÓ3s*##{¼4¤3מîê®Ggý¥ª¼Ô;wöôï¿åêß>ÿƇu<Öæ÷Û^{yæè/<=æ¨Ñc×Þ|ïc¯säÐûY¥;_+ŒOd|•«Ö$«ÊNCõƒWË´„ö}冩¦œ-jÊÙ¢¢s^Uô–¾ª]z‚ÊÖú”˜éP?÷`Ùm.x}yÖ±ÿúäƒ!’”œZ—‘™S™ž™]qöÅW,ë3`È©sמV–•xëêj¢z÷TìñÆ4{¼1Í7ÞùðÂÓ0µ¾¶&ÊÛ”¿yCÊÝS®¸ÌÕòð³óžzب­} tÀ~ÔQ¯åQ‹Zž£Ö ‡Š'=£¦ÜÍûï¦ûlTcŸŠ,OQÊ{g¨r•_éqê—+ýÂ%´¬¸(6Òéjû>øe%Þ^Y¹§ž=þ‹ŽÈý`öríéú5+3§Ý9å¢ÅËÖÝe³Ùƒ’äó5GH’Õf 6Ô׺n¼üœk?eÜÊko¹ç펯°Ÿ¬OþP[7Wɶ)EÛ'=£Æ>ÙÈ&•jÛ„9*=ùm5Í»R¥›ª4,cˆ¢]Ο´žú¢5zwÁ7½O½øº-{ûš†úZ×– ߥæoÎKݺq}jþ¦¼Ô­›óRNWkl\B£´ó=´ISn{wä‘£7tæûî~íé°ÃÜ -Óïÿý¹L¼vi[›ß:{úÔÓG3f}T´»eá¼ç~íom±{Ú·×­ÎØu]½û.vDF¶qT‚Ð] ÍÞ¬¥ž²~8X Ç-WÉ5ûùï¿uEð’K•wÓJX~Œ‚o\¢´”DõIÎ’ñ_¦w%›WkÙ§¬…y_«6=;ýÔ‹¯ÛÒæoµ”lŽÞ‘¿Ñ]¼mctQ~ž{Óúuºà•¶»rû,Éé; $·ßÀ’1¿9kEn¿A%oLsey©wíª¯²=ñ´Õ»ß‹ñÇìzíiT´»Åí‰i~tΫ³çÎzâÄßM8ózIu̘õ×ÝrßbIÚ”·.½©±!rOï÷íúÒ(@è€}Pë.Ò§-ïÉñE®6Ü8M¾Œ‚ƒã3LUõOÕ Y­–Y7©>¿QÃ2Éjýáe •E›´lá3ÚºêRû‹ÅÎgî¾ê°õ+?‹OJÏjNËîט‘ݯá¸3/ÝnéÓ”ðô]ïõÑ„¤”ºÑcOÿvoÿ”kO‡ ™ÿȬsöôõ·NñÊ­Sg¼ÂQBì'¥Þ<}S𭌠Wy·Ý«@ÔÁ÷W§Ú¼µúîæû•3o’Úò‚ž;HŽû÷‡‚Õ”(­Ï¡rybUW^h–n5üM5ÆÑ'Ÿ¿ã껟]iµÙþcVöyÁç >@èÐã#óVåm‘?¹FÛ~û¼LëÁ{„i hëÄ™ò½¿CÁ÷ 4ðûØY¬6õýÕ˜]fUFpé²µ¶‰gúfÈÔî‘@èjÝ…ú¦pµü‰õÊŸ8G2ºG JN~[†i‘õ#C#–ͺ÷¿®ápr#pâæœØïZ#µ¬þï ™!m›ð\·‰\‡âSÞRɰOµzó&…BLÖBüSŸ8ÈV”ª-Wÿ逞Y¹/òÇ?¯ò´ÕÚR°ƒ!ðo«Rÿ¦ˆeCµõžR(¢ßôÜ0µaÒ*i,Uu-·m ©ÁU¦’•†ŠO}K-I¥Ý~{‚‘>m¸r†òò·©-ÀÛq¡CØûÌxW!{‹Êû¿žïëT=ü+m-(a€B‡pV·R¶Ïjûø?w»“Oþ›-<¯òº*55·0СC¸ZÓ¸Bµ‡¬TKJqÛ¶ ³YecßU~a) :„ål.ö9¿¬âÓÞê±ÛX4v±jZjÕØäcÀB‡p“×´Vµ‡®”?¾¢ÇncÈîWÕñ©hG:„_dŒï2Uñëzü¶nó¦*ëj †x€Ð!lfs®å’vÞÍ»§ ºšÈ*SEe=¿G¡C¸¨¨hTÕáËÃf{Kþ»Ê*k F t¦%$ƪî•áºKU×ÐdHü L€Ð¡Çó¥)¢*AÍ™ÛÃf›C~Y<­¦Ä¤ tèñÚbêäK+’iÙ‡?5\R‚¤¶½}“öÇÛe™¡ïÌퟻ¶;˜RÉà„áq4Õœ™¿oë¸BR•¤÷öòø’öǯèäúš$ýµ= “TÝõ›N3X€Ð!¼… µÆïãueã%EJúË^Ÿ×þøøN®ïuIÍ’ž“´ ë7»)¹±Â²*µ·°‰•4®}öU»ÛcuíËÏ–ÓÉõ½(éXI¿’t‚¤—º~»[¼Õ >@èSÀ¦€«yßWt…¤ÖöÙØî³³VuþeËÍ’>•4¡ýó ’VHZÓµÛÝUÇ™(¡CXÌèÚ :» tc$eë‡/_þERޤã:¹ž—$EI:§ýó³$y$ý¹‹gtÑ5 >@è¥ ÉuÁ!eHš(i™¤míË Úgg—«sgò‡$Ím[tû2§¤ó´ó}¾@×m¶=ÉØ„áÀ´eií¢ô/kÚ¼öÏçïÀÎø@RQûó]>^T®govUèš<\-:„ËŒÎêsvͺ2µóä‘»„î$I|þK’úkç,ÙýãPuéË—®†Æ t !‹¬>W×­ïrIë%½-i:JuûsÆíåñq’Þ‘ÔE×yGÕ&3ö¡CxLè,Š,K麎“'ézI‰’ÎèäóæiçÙ™?º¶öYbWÌ芳|€Ð!Øš£å*Êìº:$]"©PÒ¥’ì|ÞK’R%ÚËãôó¬Î?wÍé,Ngðƒùß&vºJDe¢lµ12B–w2è jÿø1»Ÿ Ò™›'äwᆗ{µó4OÌèУA«äöɹ£WØl³§.]­ ܺ tΤ ¼k†…Íöæ|z¶Eϲ+kÍ JýìY6¦+è7Ÿ«´áq²Ùùs^¡:Ébmû¼«¡ŒÔe¤&¨©¹Õ¨(N³ÄÍaøZ[ k¼Ïô§–Ë—V¨æ”"ùÜUjuW§O2Br6Æ›Ž†X¹jSäªL“kG¦leñj«¶V‹ÅLˆ÷˜I¹Þ'ÚevÕ™&V‹àw tŽ[Ûҭݯœ…Êœ†Q–%ת,íå–§ÿ‘/û‡©  ¢â*£¨¸ª«/«±¼­:ô|Îñ{ÀÁ† Æ„B¡€Ð@è tBÇ.:„B¡€Ð„B¡€Ð@è tB¡ [²± º^„ÍÒ$In§½”½„®Ç‰Ž´•;vßãs?ÈÞ€$†Lö@èz”©×Œ¾½ïÑ„B¡€Ð@脎] t:„B¡:„B¡€Ð@è„B¡€Ð@è t:¡€Ð@è t:„@è t:„B¡:„B¡€Ð@è„B¡€Ð@è t:¡€Ð@è t:ö™ašæO~ÒñS^¯mhö{Ù}€ý(Cæ—³Çïó„ìg…€î‚—.„B¡€Ð@è tBÇ.:„B¡ þ p¯ËŒÐíIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/devel_intro/set_mode.png0000644000175000017500000005564713634703632020374 00000000000000‰PNG  IHDR;(”*nbKGDÿÿÿ ½§“ IDATxœìÝ}œÍuþÿñç™Á † †1Š\Œ«u‘F¥¬ ßM,#L¤”¢L‰ ë"µ«\´µ«­¶,36Q«+¥µ)ýlºØU(KQ&Œ¹:óúý1;'Ç™1gÆÌœñ™ÇÝmnœ÷ùœ÷ûõùœs>óôù¼?ç¸ÌÌàLƒ]@Y"ìG#ìG#ìG#ìG#ìG#ìG#ìG#ìG#ìG#ìG#ìG#ìG#ìG«r!^ý¿?e!XÁš§yj¢&%îゎì¬ÖjmÑ– é P«´J[µõ‚ú¸ #;’t®QŠR.´.¹.¸æìG#ìG#ìG#ìG XØÉÊÊRçÎõÆoøý˜;v(&&FG-ÃÊ$—Ë¥V­Z•é |,ì̘1C!!!êÛ·¯ßiݺµzöì©{ï½WfV†Õ§¸àKÏKbÏž=Z¸p¡þú׿Êå*Þ%e“'OV»víôÞ{ï©W¯^eT!pŠ€ÙY°`"""Ô§OŸb?¶mÛ¶ºâŠ+4wîÜ2¨ 8M¹‡“'O꥗^R¿~ýT­Z5¯ûV¯^­=zè’K.Q«V­4aÂeddøÌ¡¹õÖ[µiÓ&mß¾ÝÓÖ²eK¹\.¥¦¦*11QuëÖUëÖ­õÀèÔ©S^ãdggkΜ9Š‹‹SXX˜:v쨩S§*33Ók¹;wªwïÞªS§Žbcc5fÌ8q¢ÈulÕª•§–!C†¨^½zjÑ¢…î¿ÿ~>}Z|ðºuë¦Úµk«Q£Fžö³™™þøÇ?ª{÷îª]»¶.»ì2M˜0A©©©>㤧§ë–[nQÍš5­Q£F¸\AŠšŸ”ÿج¬, 2DÕªUÓîÝ»ý®177WÏ?ÿ¼®¾újEFFªvíÚêÔ©“ž}öYNEÊE¹‡ 6(++K×^{­WûC=¤„„ý÷¿ÿÕ]wÝ¥þýûë­·ÞÒÍ7ßìÓG×®]%Iëׯ÷´¹ÝnIRÿþýuìØ1=Zõë××’%KtÕUW)##ó\¯^½ôØc)22RS¦LQëÖ­µ`ÁõèÑC¹¹¹’¤£Gêúë¯Wnn®î¿ÿ~EEEéÙgŸUçÎ}ÂSaúöí« xæ'=óÌ3ºá†¯k¯½VsçÎU­ZµôÌ3ÏhÆŒ^½÷Þ{uÏ=÷(##C&LP\\œžzê)Ýpà >ÁhäÈ‘ ×Â… Õ´iS-_¾\÷Üs_5úk„ úûßÿ®›nºIaaa~×8sæLÝ}÷ÝJKKÓí·ß®‘#Gê§Ÿ~Ò˜1c´lÙ²R­€Ùô¿?Å1zôh“dŸþ¹§mëÖ­ær¹ìꫯ¶“'OzÚOŸ>m×]wI²ØØXOûÉ“'M’õèÑÃÓvÙe—™$;v¬åææš™Ynn®9Ò$Ù“O>iffÏ=÷œI²¤¤$ÏrffÓ§O7I¶qãF“äÓ—Ûíöô5sæÌó®cll¬I²%K–xÚ¶oßîéwýúõžö/¿üÒ$ÙW\áiÛ´i“I²Þ½{[vv¶§ý©§ž2I6wî\¯q&L˜àYæÄ‰j5jÔð©§ çnÛÂÖ%..ÎÒÓÓ‹]cTT”…‡‡Û™3g<Ë8pÀ¢¢¢lÀ€…Ž €™™L–lÉÒÅr;7Ýt“I²C‡yÚÆŒc’ì½÷ÞóY~Æ þB®U«–]~ùåžÛ111&É~øá¯å8`’ìšk®13ó„§s—;|ø°-Y²Ä+”ÖוW^yÞuÌGõ´¹Ýn“d‘‘‘^!+''Çgý `’ìã?öê7''Çbbb¬K—.^ãìØ±Ãk¹-Zx…›Ò;›6mòj÷·Æèèh“d/¿ü²eee:)°SîWc:tH’tÉ%—xÚ¾þúkIR§N|–ïØ±cýDFFêûï¿÷Üv»ÝŠŠŠRýúõ½–‹‰‰Qݺu=óLvíÚ¥úõëû,¥±cÇzÝ.¬¯o¾ùF’|æÁØ9sP"##=ÿ Ê;cX·n]¯Çû¬ÛŽ;$IUªTÑÎ;½îkÚ´©þýïû´-¬ÒÔ¶mÛÕ¸téRÝqÇ>|¸Æ¯nݺ©G4h¢¢¢J½NÎUîa§F’¤ÌÌLÏås'Ÿ­ 0ÿ˜ü¾¤¼°SØ$Ü   ÏYYY^+®   U¯^]ÒÏ¿ðKÛþýû%I]ºt)ðþªU«zÝ )Ñ8ùó˜üqvp“ü¯qÀ€ºþúëõÖ[oéÝwßÕ| µk×jÚ´iZ»v­n¼ñÆÕ€¿Ê}‚rtt´$騱cž¶víÚI’¾øâ Ÿå¿üòKŸ63ÓÑ£GÕ¨Q#O›ÛíÖ?ü üÑkÙï¿ÿ^?þø£bcc%I±±±:tè×Cùõ 6Ìó‰ÎõõÝwßéÇT‹-$å]©töOi‰‰‰‘$?~\fæó“••U¢~ó'_çÛµkW™×øÉ'ŸèرcJLLÔ‹/¾¨½{÷jùòå:yò¤fÍšUâñðW¹‡:H’ç´’$%$$H’{ì1¯+Μ9ãs•’$8p@ÙÙÙž¾¤Ÿ¯Æš={¶çt’™iúôé’¤øøxIÒÀ%IsæÌñ:í´|ùr­X±ÂsÔæÜ¾rssõè£J’†Z¢u÷W÷îÝ%å:ÛþýûÕ¨Q#=ðÀÅê/ÿHÖçŸîiËÍÍÕüùó˼ÆÁƒ«gÏžžç'((H={ö””w €²Vî¿múôé£éÓ§kË–-ž_z½zõÒèÑ£õì³ÏªS§NŠWpp°Ö­[§æÍ›K’çrg)ïhA~_ùÜn·j×®­—^zIß~û­âââ´yófýýïWëÖ­5~üxIÒ¸qã´jÕ*-Z´H_ýµ®½öZ}ûí·Z±b…zôèáuZeóæÍêÝ»·âââ´iÓ&}øá‡ºòÊ+5jÔ¨2ÝFóæÍÓ›o¾©Ç{L›7oÖ5×\£={öèÍ7ßô\ _¿þõ¯õù矫ÿþ;v¬jÔ¨¡uëÖ¸lDD„Z´h¡þóŸ¥Rcbb¢æÏŸ¯Î;«OŸ>JOOך5k$Iwß}w±Ö€¹éÍ%¹+77ך5kf×_½OûË/¿l]»vµZµjYûöímúôévôèQ“d7ß|³gÙ{ï½×jÖ¬iÇ÷´Õ¨QÃbccí_ÿú—õìÙÓÂÃíeË–6vìXûé§Ÿ¼Æ:sæŒM›6Í:tè`Õ«W·fÍšÙ¤I“,--ÍÌÌs5Ö¡C‡¬ÿþamÚ´±I“&y]~]˜Â®~R!W>Ô~ìØ17nœµmÛÖBCC-::Ú†êuåUaãœÛž““c?þ¸µlÙÒBBB,**Êxà;uê”ÏØçÞ>ß•\þÔ˜••e .´6mÚXÍš5-""ºvíjkÖ¬)°OÎVWc¹ÌJþ1¶ Ê;ý”¢”b=îøƒF­ýû÷«qãÆ:v옎9¢èèhÕ®]ÛkÙ¯¾úJíÚµÓÈ‘#õüóÏ+33S 6ÔÈ‘#õä“Oz– U“&M|® /—\JV²'s”ÀÁ€|7Öˆ#t饗êÅ_””wZªuëÖÎ!yå•W$ÉsziݺuÊÊÊÒƒ>èµ\þœ€³d†hHHˆ^zé% 8PcÇŽUÏž=uíµ×ê‰'žËåRŸ>}tæÌ½þúëZ¼x±zöì©ÁƒËívë7¿ù/^칪+a$`—ÃtïÞ]óçÏ×öíÛÕ­[7­_¿^O?ý´’““õôÓO+,,L­ZµÒ²eË4zôhé›o¾Qbb¢î¼óNŸþÕ°aì ¨È2gÀ휀òBØŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽV¥¼úðÃuøðáòT`qqqjÒ¤I¹ŒUnaçÆoTNNNy *°!C†håÊ•å2V¹…œœ%''+!!¡¼†PBB‚Ünw¹Çœàh„àh„àh„àh„àh„àh„àh„àh„àh„àh„àh„àh„àh:ììß¿_7ÜpƒBBBôä“O¹¼Ëå’Ëå*r¹V­Zùµ\Eˆš].—ZµjUaÇ9w›\ŒÏkq•×sr>ùÛ9&&F¹¹¹….×£G¿ß“Åu!Û!++K;wÖo¼áé+Ðû;v(&&FG-“þýUÜ}®ôóö;ßÏÅà|Ïovv¶  —Ë¥‡~XfVÎÕy+¯m>sæL…„„èÆoÔÿûß"Û+²*.à|¦Nª¿ÿýïš1c††*)ïIŽÕÎ;½þ]‘\ 5g?~¼Þ~ûíb½N¿ûî;}úé§êÒ¥‹Ï}©©©Ú´iSi–Xjf̘¡õíÛ7Ð¥x´nÝZ={öÔ½÷Þ«¿þõ¯ %ÝçÖ©SG÷ÜsO‘ýïÝ»W3fÌІ tüøq5iÒD½{÷Ö£>ªÈÈH¿Ç;[YïoÝn·î¸ã­]»VãÇ×¼yó*D€+m>räHåææjöìÙš6mš^yåI*´½B³ 0èü!É’““‹ÕÛ¶mM’9sÆ«ŸØØXŸçßög•N:e'Ož,V-Åq¾K*66Ö¯u+M¥U{Ysî6)ëçµ"(‹çäÛo¿µððp¿ûÍßîuëÖµ‡~¸Àeþüç?›Ëå²K.¹¤L^·%Ý»wï¶   [³fW_a¿±}ûv“dï¾ûn™Q”âîs k+Èþýû­^½zl ö›ßüÆnºé&“dÍš5³'Nø5Þ¹Jk[Ð>ÖívÛ]wÝe’l̘1–››[¢¾K[ynóôôt“díÚµóê»°v 4È ò3?˜,ÙŠ—Îq BŸÆÊÉÉ‘$…††zÚêׯ¯¨¨(ŸGÍš5V:E 4jDñ•õóê4óçÏ×­·ÞªvíÚ)--­ØïׯŸÖ¬YSà!ýµkתk×®ªW¯^i”Zj,X ˆˆõéÓ§Ø-ë×WÛ¶muÅWhîܹe6FQÊjŸ+IO<ñ„Ž9¢+V(99YÓ§O×[o½¥™3gjÏž=š7o^‰Æ+«ý­™i„ zþùçu×]wiéÒ¥âˆNq”Æ6¯^½º¤¼Syg+¬½¢ªÐa§ ]ºtÑUW]åóïâ(l®Gzzºn¹åÕ¬YSÑÑÑ5j”RSS½kfúãÿ¨îÝ»«víÚºì²Ë4a¯åJRcvv¶æÌ™£¸¸8………©cÇŽš:uª233½–;räˆn¹åEFF*::Z#GŽô9ÏïOÅólÓ§O—ËåÒ¬Y³Š5^þ2×]wÂÃë;ï¼Sû÷ï/rÛø«¬Ÿ×üþRSS5dÈÕ«WO-Z´Ðý÷߯ӧOëƒ>P·nÝT»vm5jÔÈÓ~¶“'OjܸqjÛ¶­ÂÂÂÔ¹sgÍž=Ûk‡Qœmåïs]-[¶èĉºîºëüÞÆg0`€¾ùæíرëýÌ™3zûí·_èc±Nž<©—^zIýúõSµjÕŠ½¾eýú’¤[o½U›6mÒöíÛÏ[Knn®V®\©îÝ»«Q£F UÓ¦M•””¤cÇŽ{ÝΧ4ö¹’´yófEDD(!!Á«ý¾ûîóÜ_’ñJ«¾s=òÈ#Z¼x±†®çž{NAA¾¿.‹z^,X —Ë¥/¾øÂëq999ŠŠŠÒ7ÞX*µ¦¬¶ùEéBŽ •õi¬-ZøV\»v­mÙ²Åçßùcø³Jç®Ì¿=xð`»ãŽ;léÒ¥ÖµkW“dôzì¨Q£L’uéÒŦOŸn4IÖ¾}{;uêT‘5$''Ǻwïn’ìW¿ú•Íš5ˆ b.—Ë®½öZs»ÝžÛ·oowß}·-Z´È:uêd’,>>¾Ø5ú3¦Î9œ9{öl“d>úh±Ç>|¸I²ÆR’=øàƒÖ¬Y3kܸq©Æ*ëç5¿¿k®¹ÆÆgK–,ñö‹‹³ÚµkÛ”)SlñâÅže'NœèãôéÓžö~ýúÙŒ3ìºë®3IÖ«W/Ï!òâl+êöGqžƒüu8s挅……Ùœ9s¼îýõ×M’}ûí·žÔvxõÕWM’ýñôY÷аß03ûûßÿn’lþüùç­eüøñ&É"""lâĉ6mÚ4ëܹ³I²>}ú¹.…)î>×Ìÿ×΂ ìÙgŸõiߺu«I²=zø5Þ¹Š»¼™Ynn®}üñÇvÇwxÚÎ~~çÌ™c’¬gÏž–]h?E=¯»ví2I6}út¯ÇmذÁ$ÙŸþô'KKK³»ï¾Û¾øâ‹"ëÎWÞÛ\’µhÑ¢À: j÷GyŸÆª°a'''ÇBCC­F~?æBwZ&Lð´8qÂgüM›6™$ëÝ»·×à©§ž2I6wî\¿k=ÛsÏ=g’,))ÉëœðôéÓM’mܸ±À_ž?ýô“U¯^½D5ú3æÙo¨ ˜$›2eŠ×òþŒ÷Ö[o™$ëØ±£¥¦¦zÕߥK—2;¥õ¼æ÷·dÉÏ2ùó,$Ùúõë=í_~ù¥I²+®¸ÂÓ6wî\“d“'Oö´åääXÿþýM’­Y³¦XÛª4_% ;ff ^ëhf6räHÏyü‚ÂN ¶ÃèÑ£M’}þùç>ë^Qö'Ožôú%T˜ÈÈH“d«V­ò´eeeYݺu-$$¤Èu)HIö¹fyÛ¯I“&¶cÇŽ²²² }ìéÓ§íæ›o6IöüóÏ—¨îâHOO·^xÁ®¸â “d;wöÜ—ÿ|.Z´È$YµjÕ,22Ò>\`_þ>¯íÚµ³öíÛ{=ö®»î²ÐÐPKKK³S§NYóæÍM’uëÖÍ’““Ï»ÍÌÊ›‡……Yhh¨åääøÕîÂÎÿ|úé§&É®»î:¿s¡;­;vx-wîÿr `’ìã?öZ.''Çbbb¬K—.~×z¶üÿÕþðÃ^퇶%K–ØöíÛ=5îܹ³TjôgÌü_(¿ûÝï<ÿ{9w‚ž?ãÝyç&ÉÞ|óMŸuûí·½~qöæ=û'Ÿ¿a§´ž×üþŽ=êY&ÿXdd¤×¶ÉÉÉñ qqq>73Û¼y³I²#Fk[•æë±¤agåÊ•&ÉöíÛç»nݺž£…@m‡ü‰™‡òY÷дߍU«–]~ùåç­åøñãvüøq¯_2‡¶°°0¯±‹ó~*É>×ìçíWØÏÞ½{ |ܶmÛ<¡cذa%ú…é¯}ûöÙ”)S,22ÒBBBløðáöÑGy½góŸÏü»zõj“òŽœ41ÙßçuÆŒ&ÉöìÙcff™™™V§N2dˆç1n·ÛÞzë-ûõ¯m.—Ë¢££mÖ¬Y>¯Õ|å½Í{÷îm’lÛ¶m~µûƒ°cy‡ØêÔ©c:t°¯¾úÊïz.t§•‘‘qÞåZµje’lëÖ­>;ŒnݺYDD„ßµž­^½zV¿~}¿jÎÌÌ,•ýS’U­ZÕ$Ùå—_n’ìÃ?ôZÆŸñ®ºêª¹™™9rÄëWQobÂ͹·Këy-슸‚¹íuêÔ± ø,—ššêù%SœmUš¯Ç’†´´4«V­š-Z´ÈÌÌþñxíü ÚfÚ:t(ð=TÑöMš4±ÐÐÐ"ëùöÛoí¹çž³1cÆX—.],88Øg]ü}?•tŸ›?FqŽÌ;vÌFŽi.—ËêÔ©c¿ÿýïÍívkLäææÚ{ï½gñññd-Z´°'Ÿ|²À×”ÙÏÏÛÙW]%$$˜${ùå—}–÷÷yÍ?Êûä“Oš™Ùßþö7“¼ŸmïÞ½öðÃ[ݺu­jÕª–˜˜h[¶lñ \å½Í÷íÛg;v´K.¹ÄëÈhaíþ(ï°S!?g';;[Šˆˆð|@y 9ïýù# ú\IªZµj‰ÆÍÊÊR5üZ¶¨‰•þÖèï˜ÙÙÙzòÉ'5pà@µiÓFcÆŒÑgŸ}æéÇŸñÎWó¹“þ¬ >¬+PÏ«¿ò·Avvv±¶U ë–¤Úµk«Gzíµ×4~üx­]»V—^z©:uêTì¾Êz;ä¿Þ333K4A¹0¥ýúÊÌÌ,ò½ùꫯjøðár¹\ŠWRR’ºvíªÞ½{ë›o¾ñ,çïû©¼ö¹›6mÒàÁƒ•––¦3fhüøñ /“±víÚ¥ž={*<<\«W¯V|||“ŒÏuöUWK—.Õ| ¤¤$Ýx㊎Žö,çïóú‹_üBÍ›7×Úµk5qâD­ZµJõë××ÿýßÿø¸&MšhÞ¼yš9s¦^xáM˜0AùË_tüøqEDDkH¥³Í«W¯®zõêé›o¾ñ\±w¾öЍB^ÕµkWmذA›6mÒ˜1c]ŽGLLŒ$éøñã23ŸŸ¬¬¬õ«C‡ù\™qìØ1 6ÌóI¯¥Y£¿c¶hÑB'NT“&MôØciûöíZ²dI±Æ‹•$mݺէÞO?ýÔëöÎ;‹ü)meõ¼ž«yóæ:|ø°Ï6ÿꫯ$å='ÅÙVåUwQ  Í›7ëÇÔÚµkÞKtµòQ•öÕJE)Îódf:zô¨5jtÞ>gÏž-IÚ³gV¬X¡aÆéòË/—ÛíöZÎß÷Syìs¿øâ õíÛWQQQÚ¶m›f̘QfAGÊ{¾ï¿ÿ~¹Ýn1BcÇŽ-ò*7É;L׫WO¿ÿýïuâÄ 5Ê+<úû¼º\.ÝrË-ú裴ÿ~­]»VC‡U•*…kø÷¿ÿ­‰'ꡇR54yòdÕ¬Y³ØÛ ´¶ùèÑ£µaý÷Þ{ºòÊ+‹l¯.ä¸PYÎÙÉÎζjÕªYxx¸ßÑŽ.j¹»ï¾Û$ÙìÙ³½–Û·oŸEGG[RR’ßµž-òï„ ¼UΟ?ß$Ù† J½FÆÔ9‡J322,66ÖÂÂÂìàÁƒ~÷þûï›äßdS©ôOc•Ö6»ÐÓXùW³=ôÐCž¶œœëׯŸI²¿þõ¯ÅÚV¥ùz,l rîv8|ø°¹\.{àLÊ›Ü^زܳfÍò¼¶Ï]÷вߨ¿¿Iyó)Î'<<ÜêÕ«çu*âÓO?õœÊÊOçýT’}nþþ¼vúõëgÕ«W÷™'XÖÒÒÒìé§Ÿ¶–-[š$ûå/i«V­*rJÀÙl’lùòåž¶â<¯ÿïÿý?“ä™ãòé§ŸúŒqæÌ{å•WìÚk¯5IÖ¡C[¾|¹>}ÚgÙòÞæµjÕ²Ÿ9>…µûƒ9;gÉŸ¡î¯ü7ï”)S üÉWÒÖ‘#G,::Ú¤¼ËµgΜiÇ·ÈÈH«S§ŽÏäaeddx.#Ï¿ |øðád=zôðºô¼´jôgÌ‚ÞPï½÷žIò¼Hý/ÂiãÆí°‰'Z³fÍìÆo,öùçÂÖ½¬Ÿ× ;§OŸöìpãããmæÌ™Ö­[7ϸù¿ üÝVÅy=†‡‡Û•W^Yè¶¼°c–7á=ÿ“Ͼ2¥°Kϱ¶mÛf’lÖ¬Y>ë^QöÉÉÉ&ÉV®\yÞçà¶Ûnóô·xñb7nœEFFZƒ L’=þøãžOÇ-ŽâîsÍü{ídddXPPEGGÛˆ# ü)ìÓ¸K‹Ûí¶·ß~Ûúôéc.—Ë¢¢¢lÆŒžûÏvŽ9bõë×·ZµjÙþýû=mþ>¯n·ÛbbbL’µnÝÚë?˜™™™6iÒ$‹ŒŒ´*UªXBB‚ýãÿ8ï§5—÷6—dÍ›7÷»Ý„³œïÅWØ¥qDà|íÇŽ³qãÆYÛ¶m-44Ô¢££mèС>Wd×™3glÚ´iÖ¡C«^½º5kÖÌ&MšdiiieVcQcö†:t¨I²wÞyÇïñrssmùòåvÝu×Yxx¸µhÑÂÆŽkgΜ xØñw.4ì˜å™HJJ²Ö­[[5¬S§N6gί€Pœmåïs]Ô6¾Ð°“ÅÞˆ#Š\6PÛ!77ך5kf×_½ÏºW”ýƽ÷Þk5kÖ´ãÇûô{¶'NØèÑ£-::ÚÂÃÃí¦›n²¯¾úÊRRR¬eË–n»ví:o)î>×Ì¿×ÎÎ;‹ÜÎ%Ù”ÔîÝ»íÁôš(_ÔºçNSþÍŠ÷û ÿÈçã?îÕ~üøq«_¿¾=ú裞#æE)ïm^œ}œ¿;g)É€¯ôôtûÅ/~è2î¹çž3—Ëeÿýï]ŠŒŒ «S§Ž×gi•·Ê¶ÏMOO/·±ž|òI“ä92”/''ÇçŠ¾ŠÆ a§BNPΗ?ë|__ hü±š5kè2nĈºôÒKõâ‹/ºëÖ­SVV–|ðÁ€ÕPÙö¹ùßïTÖÌLùË_Ô½{w]zé¥^÷yE_ å¿ ºj° öŠªB‡_üâ’¤eË–ù|ÿÿÝqÇš:uj Ë¸½ôÒKzúé§uüøñ@—ãáv»õ›ßüF‹/öº¼¹¼±Ï& IDAT-}Ÿ~ú©~ûÛßê³Ï>Ó¸qã]N±üøãZºt©$©}ûöE¶WdòsvòÍ›7Oßÿ½¦NªÜÜ\Mš4)Ð%¥º„ £{÷îš?¾¶oß®nݺºIy—'&&êÎ;ï hìsK_||¼BCCµpáÂó~9nEôÌ3ÏhÞ¼yêÞ½»üñ"Û+2—YÉ?Å-Ayߤ𢔢r¹”œœìóí« rÉÏ))~ä¹”¬dOæ(ƒú4À…"ìG#ìG#ìG#ìG#ìG#ìG#ìG#ìG#ìG#ìG#ìG#ìG«Ržƒ}òÉ'r¹\å9$¨`8 Æ—Ûxåvbbb´hÑ"-Z´¨¼†Ô5×\Snc•[Ø9pà@y  ‚JIIÑàÁƒef.@%œàh„àh„àh„àh„àh„àh„àh„àhü¡‚[´E J(Z8Üå}¸(û åé‚ÂÎ *­:| ÑuQ— êÃe|n;€rÂ×E€ƒÌÙŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽFØPî\®ŸÎf&I{ö¿Ïë®+¼_•a@À¬\™÷wNŽ´p¡´¿T£†tú´´d‰tøpÁ?^jÕÊ»mæÌ¼þ6,Ó’\„;fȼ¿•6o–Ú·Ï :W]%½öšôþٽ[zñEßöž=óú«]»LKp"ì¸ ¤×_—†•êÕ“ºv•Þ}WêÐáçeæÏ—n½Uj×NJK \­.>„Â;ïäÍùì3éÈiÙ2ïû·l‘NœÈ››ÅQ%Ѐ$õê%}ü±#½ñFÞÑž³­[÷󿙀  8;*„  ©yó¼_vY`kà,œÆŽFØŽFØŽFØŽFØŽFØŽFØŽÆçì¸è˜ºŽìG#ì˜;K¯¯ýûóúËÌ,½>8§±LëÖ¥wJê¶Û¤>*¾8 a@¹+‹97›7—~ŸœÓXÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑøºT*ÊЛzSn¹]J¥ô‰>‘$­ÖêWRy5PuS·@—”+Â*•7õ¦j` Ë¨ô”è*­*ª¢leº  \vP©ä(G’d*ƒo¢D‘R”¢ÁÌöüíT6ÌÙŽFØŽFØŽFØŽFØŽFجU«Vr¹\.‹°”£øøxÝÿý.*>g(GëÖ­Sll¬WÛ¶mÛdÆçÎ@Y!ìV³fÍ@—ŽÆi, ¹¹¹Z¹r¥ºwï®F)44TM›6URR’Ž;æµlvv¶æÌ™£¸¸8………©cÇŽš:uª233=órvíÚå5G§ 9;'OžÔ¸qãÔ¶m[………©sçΚ={¶²³³}—žž®[n¹E5kÖTtt´F¥ÔÔÔ"×ë|µ€“v€"Lœ8Q‰‰‰ú׿þ¥¡C‡jâÄ‰ŠŒŒÔÒ¥K5bÄÏrn·[½zõÒc=¦ÈÈHM™2E­[·Ö‚ Ô£G½óÎ;’¤˜˜mذ¡ÐñÒÓÓ§Å‹«yóæš4i’jÔ¨¡éÓ§«OŸ>>§¼FŽ©ððp-\¸PM›6ÕòåËuÏ=÷œwŠª577÷¶T0T"É–l²â½ì###M’­ZµÊÓ–••euëÖµOÛsÏ=g’,))Érss=íÓ§O7I¶qãF“d±±±^ýÇÆÆÚÙoŹsçš$›|اŸ¯¾úÊ3Î…*­Zàb@Øаoß>………yòÙ¶m›öíÛ'Iž«£(Iš3gŽ×SË—/׊+T½zu¯å Ó¯_?IÒ‚ ®°vpÉ{Qµ–ÂN`vPIp™ñ¥<¨ø` Kq”Ó§O«fÍš.ÃQtèС@—TX„à<7nÌDZ¸Èq 8a8a8a8a8a8a8a8a8a8a8a8a8a¸ˆ´jÕJ.—+Ðe”¹Š²žçÖQZu¹\.Ï$]wÝu>mJa¨ âããuÿý÷ºŒ2çôõ<ßú­\¹R’4sæL­\¹R 6,ÏÒ€J£J  P°uëÖ)66Ö«mÛ¶m2³UT6.¦õ,I]­_¾!C†H’zöì))/ô:tèŠàƒ°\DjÖ¬èÊEE]ÏŠZ€óã4PŠrssµråJuïÞ]5Rhh¨š6mª¤¤$;vÌkÙììlÍ™3Gqqq SÇŽ5uêTeffzæmìÚµ«È9#'OžÔ¸qãÔ¶m[………©sçΚ={¶²³³}—žž®[n¹E5kÖTtt´F¥ÔÔTÖÓOçÖ•››«çŸ^W_}µ"##U»vmuêÔIÏ>û¬Ì¬ÐõP¾;@)š8q¢õ¯ýKC‡Õĉ©¥K—jĈžåÜn·zõê¥Ç{L‘‘‘š2eŠZ·n­ ¨Gzçw$I111Ú°aC¡ã¥§§+..N‹/VóæÍ5iÒ$Õ¨QCÓ§OWŸ>}|N¹Œ9RáááZ¸p¡š6mªåË—ëž{îa=KhæÌ™ºû––¦Ûo¿]#GŽÔO?ý¤1cÆhÙ²ežu*jý”1*‘dK6™/ûAƒÙ AƒŠÕdd¤I²U«VyÚ²²²¬nݺâi{î¹çL’%%%Ynn®§}úôé&É6nÜh’,66Ö«ÿØØX;ûm;wî\“d“'Oö´åääXÿþýM’­Y³Æëq&Lð,wâÄ µ5jk+Ózž[ǹ·£¢¢,<<ÜΜ9ãi;pà€EEEÙ€ÌÌ \?IVÐî÷Üþý%É’““‹\®8¯ÀApd(E»wïÖñãÇuë­·zÚRSS•‘‘¡ÌÌLOÛË/¿,IzôÑG½NoÜwß}Z²d‰êׯï×xk×®•$M™2ÅӬɓ'KÊ›{¶³n„‡‡«qãÆJOO÷wõ<*Ëz%88Xiiiúë_ÿê9£Ã‡kÍš5¥>€’!ì¥(""BGÕóÏ?¯ûî»OW]u•5j¤S§Ny-·k×.Õ¯_ßç—}TT”ÆŽ«¶mÛú5ÞîݻՠAEFFzµ·iÓF’´gϯö¦M›zÝ *Ù. ²¬gQ–.]ªÚµkkøðájذ¡  ¥K—ê‡~(“ñ” a(E¯¾úªÚ·o¯ &(--MIIIúæ›oÔ²eK¯å²²²\fuäÿr?{ò®$…„„”Jÿ•e=‹2`ÀíÛ·O+V¬Pß¾}õÙgŸ)))I-Z´ÐÆË¥EãÒs Íž=[RÞ‘† xÚÝn·×r±±±Úºu«RSSuÉ%—xÚ;¦qãÆiðàÁ~×¼ysýóŸÿôé端¾òŒS*Ëzå“O>Qݺu•˜˜¨ÄÄDåææê…^ÐÝwß­Y³féÆo H]¼qd(EûöíSXX˜×i›mÛ¶iß¾}’ä¹jhàÀ’¤9sæx]I´|ùr­X±BÕ«W÷Z¾0ýúõ“$-X°ÀÓæv»=·óï/m•e=‹2xð`õìÙÓò‚‚‚<X¥ÊÏÿ—,jý”±ÎŽÊ]Y_uÛm·™$ûÕ¯~e‹/¶qãÆYdd¤5hÐÀ$Ùã?n'Nœ°ŒŒ ëÔ©“gÙY³fÙðáÃ-((Èzôèan·ÛªV­j¡¡¡öÌ3Ïxú?÷jÓ§O[Ë–-M’ÅÇÇÛÌ™3­[·nž~ó¯€*ì*Ÿ’^ýSYÖ³¨«±~øa“d:t°iÓ¦ÙøñãíÒK/5I¶råJ3³×O\”§¼êQ©”uØ9qâ„=Ú¢££-<<Ünºé&ûꫯ,%%ÅZ¶liááá¶k×.33;sæŒM›6Í:tè`Õ«W·fÍšÙ¤I“,--ÍÌÌfÏžmV«V-Oÿý2üé§Ÿ,))ÉZ·nm5jÔ°N:Ùœ9s,;;û¼;_;ëYðãν••e .´6mÚXÍš5-""ºvíê¹¾°õ#ìåê€ËŒã«¨úè£@—8aÊÙ¹kóæÍª¨˜³°°°°°°°°°°°°o= ¬U«VÉårº HUª°; û(ļyótË-·º Gù׿þ¥¿üå/š?~ Kq”àà`Ý|óÍ.¨°;@!š4i¢&Mšº G13ýç?ÿÑ Aƒ] €J„9;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÊËõóÏṲ̀  iÏžâ÷yÝu…÷  r#옕+óþÎÉ‘.”öï—jÔNŸ––,‘þyÙ½{¥Ûo—6”BC¥V­¤ ¤cÇòîŸ93¯¿† Ë}5Tp„3dHÞßGJ›7KíÛç«®’^{Múᇼûÿûß¼¶¿üEúå/¥iÓ¤¦M¥§žÊkOK“zöÌë¯víÀ­€Š‰° à4^]:TªWOêÚUz÷]©C‡¼ûŸxB:rDZ±BJN–¦O—Þz+ïhΞ=Ò¼y-@GØP!¼óNÞÑœÏ>Ë 6Ë–ý|ßæÍRD„”àý˜ûîûù~(L•@’Ô«—ôñÇRLŒôÆyG{ò *…‡ûN<Þ·/ïïÐÐr+ÀEˆ° B ’š7Ïû÷e—yß÷ÐC¾Ë§§çÆ’¤ÄÄ2- ÀEŽÓX.:Ÿ}&uë&½ù¦4l˜4bD +P‘v\4RS¥»î’®¼2ïRôßÿ^zé%)88Е¨È8ࢰi“4xpÞeæ3fHãÇçÍ〢vTx_|!õí+]~¹´q£Ô¦M +p1!ì¨ðfÌÜnié~ý@WàbCØP¡efJû[Þ¥è]•%å}E, 0„Ú¾}Rn®ôý÷y“‘ KØP8€ -66ïÛР¤¸ô8a@ÀìÜYz}íߟ×_fféõ À8 `Z·.½ST·Ý&}ôQéôÀY;Ê]YÌÁá›Ï†ÓXÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑ;ÀÑøºeæøñã:~ü¸çö?ü IúÏþãµ\LLŒªU«V®µ¨<;ÊLóæÍ•ššêÓÞ¬Y3¯ÛcÆŒÑ3ÏíU«VUBB‚ªW¯€ªT&„eªZµj4hÏ©¬ììl%&&¨*• a@™KLLô9•U§NÝpà ª@eBØP殿þzÕ«WÏs»Zµj>|¸ªTásM”=€2¤aÆyNeeeeièС® @eAØP.†ê9•Õ¨Q#]uÕU®@eAØP.âââÔ´iSIÒwÜ!—ËàŠTœ0*ˆÕ«WkõêÕ.£Lå_fþÏþS ®¦ìkÞ¼yjÒ¤I K ŽìÆêÕ«µeË–@—Q¦š7o®N:9þë!V­Z¥­[·º ÿÑ ¹æšk”’’è2p8ET,ÙŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽFØŽFØP©8q"Ð%(c„ÀAÜn·®¹æedd”zßW]u•&Ož\ª}¾õÖ[ºóÎ;år¹är¹ôÁºìG}äYnÔ¨QúøãKùD¯¼òÊõsàÀŸ¶¨¨(]rÉ%Ôï¹z÷î­gžyÆs{Ñ¢E….»téRU¯^]’´dÉuíÚµÄㆆ†êÁÔ®]»”››[â~\;€ƒüéORãÆõ»ßý®Ä¿Ä÷îÝ«ÄÄDŸö×_]S§N½Ð}䘮]»êoû›¾ýö[Ÿe:¤ÔÔT]z饒òÂJiŒ[¿~ý î@ÅGØâË/¿TóæÍ5qâDíØ±Co¿ýv±û8xð úöí«#GŽ”A…ç7~üx™™ž~úiŸûþð‡?h̘1å^g¨è”ŽgžyF<òˆ.¹äýæ7¿Ñoû[Ý|óÍ>Ë¥§§ë÷¿ÿ½¶oß®ððpmÙ²E ÐC=¤_|Q_ýµÂÃÃ5zôh=ûì³r»ÝzõÕWµ~ýzíÝ»WÿøÇ?$Iiiiš3gŽ‚ƒƒ•••¥íÛ·«]»vzì±Ç¡×_]ëׯ×úõëõùçŸëÞ{ïÕû￯V­ZéùçŸ×/~ñ ¯º  K/½T/¼ð‚fÏž­:uêH’²²²ôÎ;ïèÑGÕÃ?\ຟ¯–³û™={¶RSS¡¬¬,>}Ú«ŸS§Né©§žÒž={ôïÿ[Z´h‘O­.2T"É–l²Šù²4h 4¨DýñÇí®»îòÜž6mšI²Ï?ÿÜk¹ììlëÕ«— 6ÌÜn·™™ýá0I¶víZ33“d±±±^;vì˜WûO?ýd-Z´°3fx–ùᇬE‹Ö´iSKMMµXXX˜I²Y³fÙ¾}ûlýúõ&ɺvíêÕþ®è‰'ž0I¶`ÁÏ}+W®´'žxÂÌÌbccíÜÝVQµ?~ÜÜn·õèÑÃFŒa¹¹¹ff¶{÷n öô—››kÇ·;vxúéÕ«—Õ¯_ßÒÒÒηù}H²äääb=¦ú¨ýêW¿²S§N™™YÆ ­zõêöÅ_xúùé§ŸL’5jÔÈÌÌNŸ>mmÛ¶µFyÍ•yàìÚk¯µììl33»ì²ËL’gR°™Ytt´I²ÌÌLOM:gÎÍÆM’½þúë^ëÓ¨Q#“déééž6jÙºu«[½zõìÝwßµôôt{ÿý÷­V­Z&ÉvïÞm™™™ž9<#GŽ´W^yÅyäëÕ«”‹sv€‹Õš5k4iÒ$mß¾]Ï>û¬Ïý¯½öšþýïK’æÏŸ¯ ¨aÆڶm›n½õVíØ±CÓ§O×ôç?ÿY5kÖ”$=þøã õé9}ú´üqIÒwß}§§žzJ999Ú²e‹5bÄMœ8Q=ôêÕ«§÷ß_UªTѲeË´ÿ~IÒìÙ³•––¦§žzJßÿ½$é‘GѪU«tÏ=÷H’F¥÷ß_’týõ×kÀ€žKç¿þúk=òÈ#úî»ï$IIIIžyA5jÔ(²–¸¸8mܸQ­ZµÒÀÕªU+mÞ¼Y;vÔ½÷Þ«}ûö)88Xï¿ÿ¾ú÷ï¯×^{M'NÔ?þ¨+V¨víÚ¥ÿ(7.³Ž •¢ Ö`™*ÞË>!!A’”’’àJp¡\.—’““=ÏiEQ‘_ÿ@:È‘àh„àh„àh„àh„àh„œ¦ADIDATàh„àh„àh„àh„àh„àh„àh„àh„àh„àh„àh„àhU]€ŸmÙ²E .…°Tƒ t eî»ï¾Ó§Ÿ~ªþýûº”25dÈuéÒ%Ðeø—™Y ‹ÊKŠR4Xƒeâe)))Ñ'’¤ÕZàJÊFœâÔDM]€s¸ÌÌ]oUUU9Ê t¥/EÒ`IÝë Ñ­ÔÊ@—ÀÛANcPŽr”¬d™Ãþ$+Y’^GYü¤ArËàW€‚v€£v€£v€£v€£v€£v€£vx‰×ý÷ßè2 Ôð ʼ¬[·N±±±.J Gv€£vÈÍÍÕóÏ?¯«¯¾Z‘‘‘ª]»¶:uê¤gŸ}Vg#Œ™éü£ºwï®Úµkë²Ë.Ó„ ”šš*Ir¹\’¤]»vyþ}>ÙÙÙš3gŽââ⦎;jêÔ©ÊÌÌ,›€ ì0sæLÝ}÷ÝJKKÓí·ß®‘#ÿ{÷ÕuÇü»°&`äåTEë‚é´cR°jщbœUƒÑJ(Z_iä¡%1":A‰R&¢#¦†ØB¢N ¾_q4K´jM¬)j$Å¢yìþúÝ›l]^®¹|?ÎŽîÙsÏýË_ï={wîܹƒ `ãÆJ¿yóæaîܹ¨­­ETT†ŠuëÖaÔ¨Q¨ªªÂ§Ÿ~ ðððPþ݃Á€ÀÀ@ÄÆÆ¢W¯^xóÍ7ñÔSO!!!0:g""‹ =r tI·¸¿›››899IMMÒVXX(nnn¢×ëED$;;[È‹/¾(õõõJ¿uëÖ ‰oÜ7 ÞÞÞÜçûï¿/dáÂ…b4•öåË— ÉÊÊj²Mzzº¨õÇÎËÿÿCDœBžÙ!R[[[TTT`ÇŽ¨¯¯ÐxvæÆصk`ݺu€ØØXhµß¿7áõ×_‡‡‡öîÝÛª}nÙ²°lÙ2³K^¯½ö6lØWW×v͉ˆ¨£0ì©@rr2‚~ýúA¯×#99%%%JŸ .´Z-.^¼¨<._¾Œà믿nÕ>/]ºWW×&¡ÆÍÍ ¯¿þ:Üþ‰u¾õœHôz=^xá:tGŽÁÑ£G±gÏ,]º{öìÁèÑ£ñí·ßž{î¹fÇèÖ­[«öYWW‡îÝ»·»v"¢ÎÆ3;D*pòäIܺu 3fÌ@ZZ °yófTVV"..@ãe-(//‡ˆ4yÔÕÕµjŸÞÞÞ¸~ýºòN.“[·naæÌ™Ø¿ÇLŽˆ¨vˆT`Ú´i3f ÀÆÆcÆŒe}ÎÈ‘#4^òú¡o¿ýîîîWÚäoWoÉ”)S«V­2ë¿yóflÛ¶ öööí˜QÇáe,"˜1cÖ¬Yƒ!C†`„ ¨®®V&ÿá¬^½Ÿ|ò bccqüøqøùùá›o¾Á'Ÿ|£Ñ¨|DD·nÝpõêUüå/Á‚ ”}8;;C§ÓáôéÓ€ˆˆüýïGRRòòò0lØ0\¾|Û¶mC@@FýQóxf‡Hâââðç?ÿõõõX¿~=ÒÒÒàáá]»vá•W^ôîÝçÏŸGDDŠŠŠ°fÍdffbìØ±ÈÍÍU>"bùòå°³³Ã›o¾i¶ŠŠ TVV*ÏüqäææbéÒ¥¸qãV¯^ÜÜ\,Z´»ví‚ ¼Ñ£A#–œ¯&¢‡J Ò‘Ž`[»”•‘‘iÓ¦Yt™ì§ÆôµÊ@†•+!¢)⽈ˆˆHÕvˆˆˆHÕvˆˆˆHÕvˆˆˆHÕvˆˆˆHÕxŸ"ê4¸~ýºò¼´´nnn6—ÙäÉ“•·Èu4†"ê4û÷ïGAAA“öíÛ·›=×ét ;DÔix‹ˆ:MHHˆE0:}úô‡P uU ;DÔi¦OŸŽúúúûöñññÁÓO?ý*"¢®ˆa‡ˆ:)Èh4šf_ïÖ­BCCrUDÔÕ0ìQ§zõÕWakkÛìk \«CDŽa‡ˆ:Õï~÷; †&íC‡…——×Ã/Šˆº†"êTýû÷‡ŸŸ_“OA·±±Á«¯¾j¥ªˆ¨+aØ!¢NÒ캩S§Z¡"êjvˆ¨Ó›…Œ5 nnnV¬Šˆº †"êt={öĘ1c Õ~Ó+VDD] Ã=3g΄ÑhØÚÚbÒ¤IV®ˆˆº †"z(&Mš¤ÜMyâĉprr²rEDÔU0ìÑCÑ£G¼ôÒKÏò=,ü P¢Ÿ°cÇŽaôèÑhhh°v)­2yòdk—`1Z» "j†¢Ÿ°ëׯ£¡¡Ö.E•Nœ8¤¤$k—ADíİC¤/¿ü²µKP%±v DÔ¸f‡ˆˆˆTa‡ˆˆˆTa‡ˆˆˆTa‡ˆˆˆTa‡ˆˆˆTa‡ˆˆˆTa‡ˆˆˆTa‡ˆˆˆTa‡ˆˆˆTa‡ˆˆˆTa‡ˆˆˆTa‡ˆˆˆTa‡ˆˆˆTa‡ˆˆˆTa‡ˆTãöíÛÖ.ˆA ;D]ÐG}„gžyC† »»;4 4 ²²²Ú<æ¡C‡¦ŒuôèÑûæää(ýæÌ™ƒÜÜÜ6ï·¶¶ñññðóóC¯^½Ú<©ÃQ“ššŠÐÐPÄÄÄà_ÿú®]»†]»vÁÑÑ×®]kÕX………Ê¿_|ñE¼÷Þ{Ê󤤤·KNN†½½=`Æ ð÷÷oå,¾ggg‡E‹áÒ¥K0m‡ˆÔ‹a‡¨‹IKK(mz½)))(**²xœ‚‚̘1ìÍ`üýýqàÀ\¾|¹Évׯ_GYY<==4†•ö²··‡««k»Ç!"ubØ!êb4 `ùòå0 Jû”)SàããcÑEEE Biii³¯GFFBD°~ýú&¯¥¤¤`Á‚m¨œˆ¨m´Ö.€ˆ®ÈÈHdggcÆ 8{ö,ÒÒÒ0hÐ hµZèõz¥ßÝ»w±nÝ:|óÍ78þ<œ‘””„_þò—HKKC^^œœœ0þ|lÚ´Élz½žžžHMMÅÊ•+áâ⨫«ÃáDZlÙ2,Y²¤Ùú***°jÕ*ØÚÚ¢®®_}õž~úiÄÆÆš³råJ”••ÁÙÙuuu¨ªª2ç~õQ#DôÈ@Ò%ýýÒÓÓ¥-߯éééÒ»wo vvv'555ÊëF£QBBBäÂ… J[`` ¸ººJEEEc€x{{7­ýÿõ$&& IHHP^ûøã%11QDD¼½½›Ô~çÎÑét²bÅ ¥­¤¤Dt: 0@ÊËËÅ`0H@@€„††ŠÑh‘üü|±µµUƳ¤~K“¥Ç÷åÿÿ!¢GN!ÃÑ#¨³ÃŽˆHyy¹DEE‰V«âçç'7oÞ‘cÇŽ €fû÷ïo¬ña§¼¼\žxâ ñððºº:i eee"Ò|ØYºt©ââb³ö?üPHtt´¤¦¦ 9wîœYN§ŒgIý–`Ø!R…B®Ù!ꢜ±víZœ;w À‰'8}ú4|}}!"MAAA†¢¢"ìܹ_|ñ¨\ŠjNNNÀÁÁÁ¬}Ĉ€ÜÜ\8p0hÐ ³>66ßÿ8ëˆú‰H=vˆºììlœ9sƬÍ××W¹¿Î¾}û4®w)((h²€Ù¢æ ‡F£ARR6n܈ðððûö7–+W®˜µ»¹¹œœœPPP qmOK:ª~"R†¢.ÄÁÁ¨¯¯7k÷òò‚››ú÷ï 1ÕÔÔ !!Á¬_^^’““•ç f¯›‚„éoN‡   œ:u ×®]ƒ¯¯¯ÒWDšÔg:ƒsðàA³vÓý|•3:‡nqž–ÖOD]„•®ŸÑ}tÖšŠŠ  ÁÁÁÊÚ‘ƒ IKK‘{÷î)k`fÍš%[·n•˜˜ Tøöë×OìííåË/¿TÆ)..n²æ&++KȾ}ûÌjqwwR]]­´UUUÉàÁƒÅÝÝÝlŒððp6l˜Ô××Ë©S§ÄÖÖVúôé#GŽ‘êêjÉÌÌ ùùùÕo ®Ù!R®Ù!êJÑ·o_dddÀËË £GÆØ±c‡;v 44ðØc!33“&MÂîÝ»±xñb|÷Ýwضmï¼óììì°}ûvÀÞ½{1wî\Àœ9s™™ xá… ×ë1~üxgWbbb”»5/\¸Pù¸ˆîÝ»ãĉ˜1cBCC±xñb¼ñÆèÓ§233¡Õj1tèPdeeÁÇÇG¹7ÐñãÇñë_ÿóæÍÕ+W`kkûÀú‰¨ëЈ4s.™ˆ¬J Ò‘Ž`ß·_FF¦M›Öì%!j¿Ö_Ó×*]µNÏ쑪1쑪1쑪1쑪1쑪1쑪1쑪1쑪1쑪1쑪1쑪1쑪1쑪1쑪1쑪1쑪1쑪i­]µVÛø-¬Ñh¬\‰z™Ž1ýtñ»˜è'lüøñعs' ƒµKQ­¾}ûZ»"j'†¢Ÿ0;;;Lž<ÙÚe=Ò¸f‡ˆˆˆTa‡ˆˆˆTa‡ˆˆˆTa‡ˆˆˆTa‡ˆˆˆTa‡ˆˆˆTa‡ˆˆˆT÷Ù!zDÄIhÀ;#ÿT¢OâIk—ADÍЈˆX»"2÷$žDЬ]µR¢°k­]™+bØ!"""5+âš"""R5†"""R5†"""R5†"""R5†"""R5†"""R5†"""R5†"""R5†"""R5†"""R5†"""R5†"""R5†"""R5†"""R5†"""R5†"""R5†"j³Û·o[uÿ%%%HOOG||ü}ÛUÖ.¨K`Ø!ê`}ôžyæ 2îîîÐh4Ðh4ÈÊÊêÐý:taaaÊøGm±oNNŽÒoΜ9ÈÍÍmó~kkk???ôêÕ«Íã´×… ‡W^y[¶li±íQ”˜˜ˆ#FXõøu%kA¤©©©˜5kvìØ)S¦vïÞßÿþ÷HNNFHHˆÅcâÉ'Ÿ¼oŸšštïÞ0qâDìÛ·¯Ù~Ó§OÇÞ½{QSSƒššØÙÙY\GKûuwwGyy9¬ù#¤¶¶öööðööÆÅ‹[l{Ô<*Ǩ‹(♢”––PÚôz=RRRPTTdñ8˜1cÆûÙÛÛüýýqàÀ\¾|¹IŸëׯ£¬¬ žžžÐî cÚ¯««k»Çi¯ææÒóëlÊñ#ê*vˆ:F£,_¾ƒAiŸ2e |||,£¨¨AAA(--µx¿‘‘‘¬_¿¾Ék)))X°`Åc© ÃQŠŒŒlذ#GŽD~~>@«ÕB¯×+ýîÞ½‹U«V!,, Ï>û,ÆŒƒóçÏh<;”——‡7n`þüùíW¯×ÃÓÓ©©©(//WÚëêêpøðaLœ8±Åm+**%K–`Ñ¢E;v,-ZÔdœØØXüñDLL ¢££QUUe6ÎýæÔ’êêj¼ûî» Cdd$žþy¬Y³F£ðõ×_C¯×ã­·ÞÂÌ™31räHœ;w΢cò "‚µk×búôé˜?>üqe]“F£Á?þñDFFÂËË ÅÅÅ9r$<==QVVÖb]"‚'N`ñâÅðòòÂÕ«W1aÂ8;;ã¹çžÃçŸÞ¤ŽÂÂBŒ7ŽŽŽ:t(þýïwÈüˆè„ˆ:TzzºôîÝ[ˆÄÅÅIMMòºÑh”¹pá‚Ò(®®®RQQ!""ÄÛÛÛ¢ý™¾€$$$(¯}üñÇ’˜˜(""ÞÞÞòãoù;wîˆN§“+V(m%%%¢ÓédÀ€R^^.ƒA$44TŒF£ˆˆäçç‹­­­2ž%sú±úúz ”™3gŠÁ`‘”” {öìN'‘ºº:qrr’§žzªÉü|¬,9~ëÖ­¹y󦈈lܸQHTT”ÔÖÖJNNŽØÙÙ Y½zµ|úé§2{öl©¬¬l±®††Ù¿¿²ÝŸþô'ÉÎΖmÛ¶I=D«Õ*ÇÈôõˆ‰‰‘‚‚9pà€ßþö·÷­›ˆZ­a‡¨”——KTT”hµZ ~~~Ê/ÕcÇŽ €fû÷ï‘¶…òòryâ‰'ÄÃÃCêêêD¤1p”••‰HóagéÒ¥@Š‹‹ÍÚ?üðC ÑÑÑ’šš*äܹsf}t:2ž%sú±wß}WÈÅ‹•¶ºº:ùÛßþ¦Ô¼iÓ&IIIƒÁ ­VÛdþm ;ãÆF#÷îÝ‘Æ@~ó›ß4™ã­[·Ì¶}P]¦íLc‹ˆ$%% ™3gŽˆ|ÿõ0=ƒÁ ={ö{{ûûÖMD­VÈËXDÀÙÙk׮Źsç0`Àœ8qQQQ€Ó§OÃ××"ÒäÔ®}†……¡¨¨;wîÄ_|ÂÅÅ¥Åmrrrfí#FŒäææâÀ€Aƒ™õ±±ùþÇG[ædz+¾‡‡‡ÒÖ­[7„……)5Ï›7ÁÁÁX¿~=V®\‰{÷î¡¡¡Á¢ãñ þþþø³gÏVÖ,­^½+V¬xà¶m©«ÿþšK"ê| ;DÄÁÁ¨¯¯7k÷òò‚›››òËÎ××555HHH0ë———‡äädå¹%g0LAÂô·N§CPPN:…k×®Á××Wé+ÍÜÏÅtÇtvä°°@ãYÓÇ·X‡¥sú¡gŸ}¯,Hƒ×öíÛ@¹iâøñãÍæÙÜ\ZË`0૯¾ÂÉ“'‘˜˜ˆÝ»wcÉ’%°µµ}à¶m©ËîFŽÙîÚ‰¨•¬qñŒH***€+kNDD<($--MDDîÝ»§¬é˜5k–lݺUbbb$00PYÌÛ¯_?±··—/¿üò¾û,..n²æ&++KȾ}ûÌúº»» ©®®VÚªªªdðàÁâîîn6Fxx¸ 6LêëëåÔ©Sbkk+}úô‘#GŽHuuµdffŠƒƒƒüü|‹æÔ\í...@F%ÉÉɲlÙ27nœÜ½{WDD\\\ÄÆÆFŽ?.|ðôéÓGÈÉ“'åêÕ«RUU%äg?û™Ùœ~ÜÖœ·ß~[(›7o–C‡INNŽ\¼xÑl———úúz³mT—i=NCCƒ²MZZšøøø(Çßôõ¸sçŽÒ§_¿~@*++ï[;µ (u¤¾}û qtt”Q£FI`` <ÿüó²cdz~W¯^•I“&‰‹‹‹¸¹¹Éœ9sä»ï¾S^OMM‰‰‰iq_{öì‘    &LÏ>ûLDߥ×ë•_´ÿùÏ”…ÈdöìÙ’““£ŒsçÎ‰ŽŽ–ÀÀ@Y´h‘DGGËÊ•+¥¶¶Vé“-Çñôô”·ß~[†.óæÍ“Ï>ûL8§æü÷¿ÿ•©S§Jß¾}¥gÏž*%%%Êëýë_ÅÅÅE~õ«_ÉçŸ.ï½÷ž¸¸¸ÈرcåŸÿü§,\¸P™×ÚµkåÌ™3MÚ~<èÈ‘#âêêÚdAµ‹‹‹¼ÿþû§´…‡‡ËÙ³g-ª«´´T ;›6m’ÒÒR)--•Õ«WËíÛ·Å`0(ïœ RYY) J›éaDÔ! ùqDÔ%mݺ7oÞTîd4Q\\Œ£G"** 7oÞlóØ>>>¸té? ‚èÑP¤µvDD[\\V¬X²²2¥ÍÆÆð÷÷ÇÏþs+VGD ”‰¨Ë9~ü8 )) µµµŸ>}o½õV»?1½²²@㧉Èúvˆ¨ËÙ²e ^{í5lݺýû÷ÇðáÃ1uêTœ={[·nÅ/~ñ‹6{÷î]¼ñÆ(..Ì;¹¹¹Y:µ×쑚ñ̩ééééééééééÚÿ‚ײx7²~IEND®B`‚lepton-eda-1.9.10/docs/wiki/media/devel_intro/structpcbtype_graph.png0000644000175000017500000010312513634703632022652 00000000000000‰PNG  IHDR4÷²ñbKGDÿÿÿ ½§“ IDATxœìÝy|ÕÞ?ð3ÙÚ”îM7ZJK[(‹EDQðñ‚€ £Àõ…Ê¢^¸¨WP/Þ ÂpƒK ‚E(Èr¡ˆ({÷–ÒPÚ&%M›f›óûc4†$MÓ’t’æó~õt29óïIÎ|33™a(¥܃€ïàO(ÎÜŠ37‚â ÀˆøUZZºxñb£ÑÈw ^A(~øá‡ñññ|η}ûöíÛ·ó… aótØsæ1~ýõ׌Œ ¾£ð¿þú+ßQ€Klß¾ýÔ©S|GáBÁ<öœy˜mÛ¶ñ‚W`†ïÀ…~øá<œbótØsàFPœ¸gnÅ€AqÖÑ0 SXXh>¥°°;9ÔôÀ µæ”–322l6~þüy§´Ð;éã0ˆAàך_ppðÂ… ]½”“'O&$$82gqqñC=TSSãÈÌÏ=÷œ\.'„”””<òÈ#ÜcBHXXX›Ch›6 §Ä  Pœu|2™lÅŠ®^JxxxTT”#s²,[[[ë`³R©T*•BÔj5!ÄÁE¸B†S bÐ8¬ÙñYì‡ß²eKbbbxxøœ9s¹g³³³ãââNœ8±gÏžþýûûùùEGGscù ©©©3gÎäÚQ«Õ~~~çγ¿t†a¶lÙÒ³gÏÐÐÐ>úˆ2hÐ òÇÕæÆçÍ›g=3×ZVVV="""æÍ›§Õj !z½>===222"""==]¯×·5—àÕ̇SëÁ´f´Á öPð™™™Žô!¤  À|JAA÷BîÁ°aÃòóósrr’’’-ZÄM5jÔáÇår¹D"™1cFEEÅæÍ› !·oß6ŸaïÞ½aaaz½žRºyóæÞ½{³,Ë-ôüùóõw3Å3~üx¥Rùå—_BjkkMñ˜B²ß¸ÅZpŽ=j=37ψ#L+¸lÙ2JéÊ•+ÇW^^ž———ššºhÑ"GÒ˜™™Ùâlà‰ÒÒÒÒÒÒZœÍÎpJm nÔîhÓžƒF0O‡âÌc8«8ËËË35˜`>Q«Õ^½zU­VÆ£GrM™Ï`0¢¢¢²³³)¥£G^±b…i¡ÍÕý„#GŽPJu:yƒæ±ÙoÜb-86g¶^Á¤¤$JiJJŠ\.ç&ëÁ­U£ 1hг¨ººú–‹gçÏŸ_XXxæÌ™%K–LŸ>Ýü)­V«Óé$‰F£Yºt)!¤¾¾ÞâåC† 1 Ë—/Ÿ:uª…Z/×÷Ã%·©¹™_ýuÓ ¾øâ‹„±cÇ.^¼¸¬¬,//oäÈ‘kÖ¬i±qÒÒpj­U£ 1h?GS¡õ?çÌ‚Å9gñññóçÏ×jµ§A¬Zµ*44´K—.k×®4iRDD„Å ”ÒÙ³gK¥R•Jeg¡Äì´ Ó>î±^¯:rZÜ;o]Õh´¼!ž‹`ót¸C¸Veøî©‹„¾Ï7ßÀí]póLýcïví1&ŒïXÀ3àœ3p¡âƒu„BIIvß±ð@£0TžUB öÖò x gàB?ÕRB ¡?aToTü³’{p+WÝp[Ïo0à)Pœ«4Ténç5P–P–Tå5¨å:¾#ho?ÕJ !Œ€)9¤ä;ð (ÎÀUŠ(!a!„„L1F%ð2j¹®új#wj7ËÒü=®ºýt0(ÎÀUò÷(Ø?~9ÎiÁnŒJà] ÷+Bæ÷(©½Þx§\ËkDàPœKÔ•6)‹4ÄôS`JEeqŸ1´¯‚= Öðç%"¦èg|M…–¡8—(Ú§ˆó)1c:1 Ã«+iª+½ë)k »PœAËPœKì­5ÿ¾Haõ4W-ÁeõÀ;ìUX|G%„¨njk¯kx‰<Š3p¾êËõ•6~›©®ÒU_mlÿxÚ%?Y~G%„ÄLÑì<ƒ 8ç+:`ãû"Á¨^£êbCC•«š±zš¿GAÙö< Š3p2Ê’Â} ëï‹„VO ö((‹C›ÐÁ5÷•¢©ÕW]P·s<àYPœ“U]Pkˆˆ­þDLS¡êBß1¸VÑ%e‰aP̆”ÂíÀÜ‹œ,¸›oê+ÑFýï{í¹/ˆ‘÷ûsÿ Å‚àn¾¼Ð.˜Ó¹¾ò÷Kš©oéªòG„˜žíúX0Oqg`(Å1&p¡ì…%„'W&ð?Š*³•¼r6•ï@Àcà°&€AqàFPœ¸gnÅ€AqàFp) p-E¡†š$å;~hzEASÌÀ¾â Àà°&€AqàFPœA{clá;(€öÃ0Laa¡ù”ÂÂBŒ„`‚ŸNž<™àÐÝ6‹‹‹z衚šW‡À£ààà… ò¸ gÀƒððð¨¨(GædY¶¶¶ÖÕñðK&“­X±‚ï(À]à°&¸†a¶lÙÒ³gÏÐÐÐ>úˆ2hÐ BWÉq»ý³³³ãââRSSgΜɽJ­Vûùù;wŽÇÈî…ùaMë‘¢×ëÓÓÓ####""ÒÓÓõz=Á‚Ë¡8×ÊÝ ÏÝ ·˜ØÐР¾›é©üñÔ©S}ôÑÂ…  ENN!äÖ­[¦þñ|óÍ7|ðAVV–Á` „deeuëÖ­_¿~í²B­#?«Þû—‚V½Äb$$„|úé§%%%¿ýö[vvöáÇÿú׿º&Xp (ÎÀµ”MÊ‚&‹‰ýúõ ¸›é©×^{-88ø¥—^"„pC’…•+W>ñÄ#FŒ‹ÅÇŽ#„üûßÿž:u*Î¥÷¤Qèož®oÕK¬G¯¾úêóÏ?ïÒ¥Ë}÷Ý·råÊýû÷»$Vp8ç xPPP””dó©Î;BÄbqs¯MII!„…±cÇîܹ³oß¾‡Z¿~½‹BhÖ#aiiitt´éß   ‚ö‚â Ü‹@ÐÂÞ\Óh•––6eÊ”^½z <866Öõ¡´ë‘P&“9r„ûZ[WWg~²t<8¬ <¨®®¾u7û󛟔f2dȃÁ°|ùò©S§º&LW±[œìر‹/.++ËËË9räš5kÚ!Hà öœyä‹)ÍÝã5>>~ðàÁÑÑÑõõ–glpG6¿ùæ›qãÆ¹$J—± ZøÅÀûï¿ÿúë¯÷ïß_ Œ7nåÊ•®Œx†â Ú[su˜ÅS¦ÇÇç$%%Y¼644ôùçŸ7ÿ=€û³9 š&Ú 6mÚ´iÓ¦vx‡â ýüóÏÏ™3çñÇwEûÎ=ÀôÚd¾£OÂØ9Æí ¿Öp#(ÎÜŠ37‚â À 8p#(ÎÜŠ3p­Ü òÜ r¾£àü¬zï_Z¸;€9\„\KYÐÄw|Ò(ô7O[ÞÀì9p#(ÎÜŠ37‚â À 8p#(ÎÜC)å;èÈ…BHh’”ï@ø¡QèM1ø<Š37‚ÚnÅ€AqàFPœ¸gnÅ€Aq®•»Až»AÎw¼‘ŸUïýKßQ€'ñtpÊ‚&¾Cà“F¡¿yºžï(À“`Ï€;¡;vì˜H„=mŽŠu<·Žˆå{Ú"Ü'&Ü'†ï(ÚÂé=íæ7Þà{ù“Ÿ0°«_O¾£ø“H$:vìØ½'Ùª‚7ÞxãÞÕ­H«\.7 Û¶ms]:ŒS§N}úé§Îm³¢¢â7Þxøá‡Û,ØäŠ€vSQQ1hР7ß|“ï@ÜÑ„ är'œ Üá«‚U«VUTTð²èV×¼iii®ˆ£ƒ¡®¹cé AƒÿöᢀvÓ¥K ˜í 'yûöí|-眸gnÅ€AqàF\Uœ½÷Þ{ ìX±¢U¯*,,dÆüÁ½ËÈÈ`l9þ¼SÚw+ ÚOqEJ­šœœlqý¨Q£¬ƒi¯ê>hgjµzÁ‚ R©499yéÒ¥MMm¿n¶ãìiNoâÌ×+$$d„ ÕÕÕ­jÁ²dÁ%Å¥4###...33Ó4±¸¸X&“Y?6¼páÂV-«¹¦Lž{î9¹\.—ËOžp©üqÿþý©©©„ðððÕ«WO:õ³Ï>k·¼dˆ çV-::zåÊ•Ï>ûl«^î%Y2ç’=gC‡}ê©§RRRL;Ï DþÈ©ùcnïnvvv\\Ü×_m¾OxË–-‰‰‰ááásæÌill4ßclzlÞ!D¯×§§§GFFFDD¤§§ëõú悜7oÞÌ™3¹ÇjµÚÏÏïܹs\³YYY=zôˆˆˆ˜7ožV«mU³îÆb7»Í”rÉ?qâÄž={ú÷ïïççÍ•tæ3¤¦¦ZgŒû7--mÛ¶m¦#›ßÿýøñãM µ™=†a¶lÙÒ³gÏÐÐÐ>úÈ"ÔxI÷€K®]»Öô ÿ±Ç+++#ÍŒ0„†a6mÚÔ³gÏððð+V|÷Ýw AAAï¾û®©M‹a–RWW7}út™L»`ÁGŽœvà!N(FDDp­3³k×®˜˜¥RIÙºuk÷îÝškªg©·oâʬgcY6!!aýúõ”Ò·ß~»wïÞÜô‚‚ÓË­5êðáÃÜñcÓÄaÆåçççää$%%-Z´Èf æ)¥+W®7n\yyy^^^jjê¢E‹LOYÌyôèѰ°0½^O)ݼysïÞ½Y–åæ1b„i¹Ë–-³ßì½äªU!™™™-ÎSPP`>Å"Q6SÊ%_.—K$’3fTTTlÞ¼™rûömóöîÝk1n¡×®]‹ŠŠ:w®®ÎÏϯ¦¦ÆŒÍìBƯT*¿üòKBHmmmsï›S\Ú}Ô5=í&-----­ÅÙ8ããã3|øð?þ¸´´”›ns„¡”B&Mš¤R©6lØ@™0a‚J¥Z¿~=!¤¦¦Ææ0K)2eÊ“O>YTT”——×§OŸeË–ñ;Ä9²5q„ƒã$!äüùóõõõ*•êÚµk?þøòå˹§¬3C)6mÚK/½tëÖ­ÈÈÈÓ§O›7ÕÎßE®àüâ,''G$ÕÔÔPJÏž=K¹xñ"m©8ËËË£V•7‘[tBB‚#ÅYJJŠ\.ç|¸y06³G9rä¥T§Ó™/Ë"lëḴû(Š3çøfÕ`0äää,_¾¼OŸ>B¡pË–-Ôîp—››Kÿ¸Ì[ ˜ôaV§Ó …ÂK—.qwîÜ™””Äï×þÅ™¹ÀÀ@nÓ`33”R¥RÛ·o_®¨2×΋3çÖÌÈÈ0 2™Œa˜po‚_•’’b=199Ùô¬ÅÀh3w×)--ŽŽæ~Ç1|øð’’’æ–( ÇŽ»sçΚššC‡M™2Åær¹ûj9Þ¬›³™R.ù‰$??äÈ‘ øúë¯Í_ÅÍ`'c„´´´íÛ·SJ-Ži’æ³×¹sgBˆX,¶Ž³¹þ5ñÎî'jhhÈÈÈ „ 8ðÝwßÍËË[²dÉ[o½EìŽ0äËü±‰Å0[UUe4¹‰IIIŽÜ®±ƒ q¦½ .6l¥´¹Ì¿úê«—/_ž3gŽýf;X–Ì9¹83™™™«V­ªÿÛo¾ÉUèö_hs ÍÕ¿„üüü®]»r !äæÍ›6Û‘Éd¦7R©ÌÉɱ³Ð´´´~øaÛ¶mƒ޵¹\®€hU³îÌfJ¹äk4š &¤§§çææ®]»ÖüU¦Þi.c„Áƒ××ן8qâàÁƒcÆŒ1ª¹ì 6Þ~öûלv8¥tòäÉ/^äþeæé§Ÿæ† bw¸³Ïb˜ŒŒ …ÅÅÅÜÄ¢¢¢˜˜GÚéCœŸŸß+¯¼rãÆÛ·o7—™7n|þùçO=õÔüùó[l°Cf‰8½8;~üøíÛ·§L™âÿ‡É“'˜.FÂýÔÂú±MóçÏ/,,Âð€GèÀYòÞŸŸ>}ú˜1cÆã?nš8kÖ,þ‚rk63æVÁ ûÀ)xî0Ä9¢gÉ{÷œ :T¡PXLŒˆˆX·n/ñ¸?›ã º\‡÷áCœ#:p–¼wÏ€BqàFPœ¸gn¤Õ?˜0a‚+âh3‘Ñ7¼1Ip‰ï@îrãÆ W4ûé§Ÿ~ÿý÷®hÙu‚´ !w|*ù¤u\ÔƒÐnN:ån,“ mg•œ’nlè\”dv®¿¯2àË\Ѿ#N:õðÃó²há²eËœµS§NUUU´¥»d¶³®wJ©^pE/ÔðËŸ‚‚‚ž~úé§Ÿ~Ú‰mªT*†aœØ`û !¢¡û \¾iWô ´'•JÅw¶ùꃹñ?c§ÚNżзoß—^z‰»cÞ½p]U dÅýo¥ÅÝyà¶ÿ5°Áéí;¨K—.iii½{÷nÿE3îVlµÖ¶1—ïÜЦ¾=`V4ß±€¥º’¦íã¯BÆoë’(å;þšØ¯=OéñœlÈ;q N/º›VeØûZaÍ•F—÷I½1Až½Îµ×5wnh !{jùŽl(ܧˆˆ): ä;· òH„„ë»kŽ¿_NY¾r'µú]3òùBˆ4Dì•ñôâ¬p¿B b!õ•ºê+|‡w£$O-k ¬^ßUÛ!N®p‚NBaIþîÚ£+C}Æ©¿©Ëzéºê†–5PBHp7¾#â'g”íSp](3EÜåâõÀ©ºØÐP¥ç7Vëo_âí¼·ëCB¡,-Ü«8üv kôöï¯Ê¢¦_ºÖX­7mÖCºyïÉ0\œÉÏ©ªßö³zZð“‚²Þþæv+E~߯I¸êy?ŽlBH@g‰ðᑲ´äPÝá%¥Þ\ŸÝ¾Ô°ëåëZ•‘«Ì!„’ா¼Å'.Ί(â?½Ø¤4ÈsÕ<Ææ(K ÷*M3VO öÖzóÐ`â%1ÿ—²´ìˆòðb/ÝV~âΞWòõ#5[}Ö@ƒâqXÓÓ°FZü³’ÕÿÙ‘S´ûfÜÅÍ_뵪».N£­7Ê«ç+÷á%1îªÃX#)û¥îð¢Öà]õYá~ÅÏo³j}â]Pöœyš›9*m½Ñ| k EFw½­ÝVÑ>¥é˜&G d Q=â-±þk$¥Gïd/.öžúìÊöê_Þ)%F•™@$ðó”[ðÔâ¬`ŸR ´¼"«¡‘­8å¦Wô*F[œ­´_X-9¨4hñ«$ðvþѶËj¤åGïZXì Ç7K²ëþ³âmæ> 1Fày×]w,Î MlÙaËm?!„2…ûð›Mþ•W›laz-­øªgðvÒ±PÜ\åÁTœª×ÔèÛ5 >DÜשëÐ`‹Ã,„†!!IÞ{L“xhqV~ìŽÍ׬–­Ó7bß Ï ÷)¡é)؇Ë€×cˆ4Ìrç™PÄ%L¯´ðvõî)±ùºŽ¤S„xĪnc¾éu'BˆÀl«!3!ñ(Îifo§QOËŽÖµs<`N×`,?~‡µu§ZÖHË©t FÏx“€Ø?Ë/FÈDL“!“~êópz¬ŸÌ‹Îµ ïÝé™uïòh´aw(“5Ð /¾ŽñÐâLžÛ@›;OÉ­s¸ Ÿª/7Ú9›•5Ðê˸—x»ÀX†!#ö¦¾Ö]ª­7HC½¨,3‘ŸUßøÏ!ïÄ=¹"Á?ZB†²$¨«÷^Gƒ"â;€¶¿­§Fñûñø›§U¿~VùüæÓ³ÁÞ½/”w1ŒËìiºÊɯ«+ !ÍëÌý+3¡¸:x½ÐD©$@Ø÷¥ÈÞÂÅ~ÂèÔ€=¯æWþVßù¾Cko¿~v³Ë# „Ä?œ¿»¶äP—o)<²8ë)îùû× U…–"ëéÇkD`†!¡I~¨|…p·>“#z¿Áüqø*z€ÌÀ€_WWŽù¦ñ¦)–d×ݾÔ`ÚÃ"2)cd)cdüFÅ;<¬ à阻·ÀþoLõ•†²£wx ‡”¥g×Uv"KÁø» 8à_x/¿„aÁgÖÞôžûDçïVÔ•jÌŠæ;·ƒâ À-<øZÌRmá^¯¸™ «§ç6ÊSpgRE IDATžÙâÖ<òœ3€Ž'¨«O¯ áFW\­Ó c» îûR$߸#gîâá±|‡ÐN$„§{Ëʶ–Çg1ÃýÜ“HŠCç­ÀPê-'¸?ìÕp#(ÎÜŠ37Ò‹3†a ͧ2Œ7Ýý1 “œœlq²ã¨Q£¬;À›5ÕÎ|^éà•5Ôjõ‚ ¤RirròÒ¥K›ššÚ¼hÇ·›­ÚÂ*‹›Îm¸eºù² c&>>~Ú´iÕÕÕvÚ¡”¾øâ‹þþþ.×~¨n˜ºXœY ^¸pasÏËdÞ~¯vVZZzáÂÓ¿J¥òرc<Æà†ŒZz9³úüÆ*Gfž;wnnnîŽ;ÊËË7nܘ•••žžîê[ë·5•Å•ŒÐFEròäI¹\^QQñÕW_©TªÔÔÔºººæÚ©¬¬Ü²eË•+WÚ†Åvß SçÅ™L&[±bEsϲ,[[[ÛžñÀSO=µ}ûvÓ¿»ví:t(ñ¸¡N‘â³£Ïs«®¤å9?þøã‡~˜ššþØc­^½z×®]í¤ãª/7–­{pngÆVéóÄOüðÃݺuûôÓO›kJ£ÑBâââÚ‰Åvß SçñÅ«§Z•Ñþ<æ{wïÞÝ·o___ßnݺ}÷Ýw„AƒB¢¢¢\ªw2hXƒÆrŸ|ZZÚ¶mÛLG6¿ÿþûñãÇ›žÕëõééé‘‘‘éééz½žÂ0Ì–-[zöìúÑG‘»»G® Cê3)<4Qzâï夥Ë^®]»ÖTs<öØceee„yóæÍœ9“›¨V«ýüüÎ;GafÓ¦M={ö _±bÅwß}—ôî»ïšÚܲeKbbbxxøœ9s !uuuÓ§O—Éd±±± ,hÕá¿_?»Ù×?npP‹s2 3{öìŸ~ú‰û×z£`±áÞ³gOÿþýýüü¢££¹}1ö7/wÇÔQWô³â_©gͧB ̧pkªV«}||Ö­['—Ë7nÜ(‰ÔjµéYp…Coz«Ø| !äÚµkQQQçΣ”ÖÕÕùùùÕÔÔ˜:nåÊ•ãÆ+//ÏËËKMM]´h÷ªñãÇ+•Ê/¿ü’R[[kÞqèDè¨n_nøòÜü=µög;pà@LLŒÏðáÃ?þøãÒÒRnúÑ£GÃÂÂôz=¥tóæÍ½{÷fY–RJ™4i’J¥Ú°a!d„ *•jýúõ„ššnP6lX~~~NNNRR7O™2åÉ'Ÿ,**ÊËËëӧϲeË~oœ¼ó¯Ô³•¿©l>k½á>sæLpp0÷Øz£`¾P•J%‘Hf̘QQQ±yófBÈíÛ·mn ¬¸mê<~{ÖªâL¡PˆÅâO>ùD©T²,[__o4±]w)›ÅYAAÁk¯½¶xñbJéæÍ›‡NÍ:.%%E.—s3¼¤¤„›Þ¹sgBˆX,¶nâFÐq=8·³@ÌœYSÙÜ „¾ûî»yyyK–,yë­·!B¡pìØ±;w©9tèД)SL¯   ªæM’““¹\yTUUe4¹‰IIIŽÄ_|HYsµá9_å‚‚Ó‚šÛ(p$I~~þÈ‘# ðõ×_[7eáž©ó®ÒD£Ñ°,»}ûv…B1sæÌgŸ}V¡Pð”—yòä‚ &MšÄ=;dȃÁ°|ùò©S§¶j¡óçÏ/,,>~áÂ…ÆôììÙ³¥R©Jõçùø6UÓcn»™‘‘1þ|­VK)U(S§N ‹ŽŽ~ã74SNù5ßdwéÒeÊ”)UUU¦g­7  ]µjUhhh—.]Ö®];iÒ¤ˆˆjkaz•Åvß SÇP?Y§ø 2{QÉ+gSùlË^XByreßx¯·ß~»´´tË–-|âyxI¨=æ 1ã(ä; h–HÚ1x„¦¦¦ÊÊÊM›6mݺ•ïX< ©óø=gÐî®9sæ|ðÁ|ÇâaxLŠ3OC‰ªBØÅ‡ï8À%pÈ ÀÃ\ʸýã´ëj¹Žï@šU¸_¡¾å¾á¹9g&åyY§Hñ¡·Š:Ë›»ƒúJÝÑee'U|â©Pœx‘¯`ĪÄú›ºãï—ó‹ ¿}Q-éþßa|â©Pœxž€Î’¡ëZ¸Oq퇾c¹‹¢PS´_ñÀœÎÃw,ž Å€GŠÔFôÉnT_nä;–?ù¼24IšðTßx0/ÎX=ÕªŒ|GÍ2hXƒÆO‰èRgEG8ôVqÓß±BÈíK å'î<4/†ñøú‚OŸ¼Ò_ê¾}âßQ@³Ž.+;º¬Œï(:&F@†ý=>åy™Äß-®Çþëêʨ~þ±7{vp„ÇgÞÌ'PÔÿ¢BþOðjª34)õÍ‹á;çñ·owà,—Ù 4ïRÎÊÌ)E7‚â À 8èPj¯k²¦_×(ô|mäñÅ™@ÌøºÅï‡Á&‘T ’züÛ ÀƒtŠ7ÕöÏ+Ò5à: ‰¡”ò8“ªB»ûòc}F}ž$òuá7d­Êx§¬)â¾N®[„Â. €Ž&0Öç¿Öw¿S¦ýùÍ"£Î…{aò¾©:ðE-îãL(Î:  ®>£Ö$Õ\m<¼¸„5º¤>k¬Ñ_ʸÝïå(‘Ê gB6:¦°îÒ§ÿ™XqZõŸo¸¢ýÜÉ}…=Ód®hÜ›áVäýþ#þÑM(qþ¾˜;åÚëYµƒ—Äa·™Ó¡8èÈbºä6äg×UÄH’ÿ+Ô{9T»Ð:ŠMñA僯Ÿà ×;/ÎX=Õªp÷eа ~ÅС”©“¥ø% æ;ŽÉã¯sV|P™½¨ä•³©|¶e/,!„<¹2ï@À™ôF±.ï¿ç Z«üÄro;gP™¹Î]{ÎŽ?~ëÖ-£iC±_ãÏá³Ëø¤Õ|ðÁøøx×µï&½Ùø³Œâ7¢†ï@HTTÔ!Cî½ÒÒÒ3gÎÜ{;`‡P(=z´¯¯ï=¶ã&Ÿ‚ }ä8g媩©iïÞ½F£ÎäaÕÆXß¡µ¾ݹ÷ÖœÎYó`ÔŒH„o¶Ÿ^xºzÓ‚H$rJb_xá¾WÅ+ìØ±ãÞ; Ÿ—B9Î)¹Ú±c‡Cê0ÀWè¾÷\rJÆ<×]Ÿ ƒÁ™™9a¾:Ã{L˜0Á)ß~ì@ošÛ¶mÛĉÒ”ÑhLKKÛ¶m›SZ›†1 ÷Þ>®ƒ>rœsE¡~¦¸#œ•1Ï…sÎÜŠ37‚â À 8p#m,ÎÞ{ï=†aV¬XѪW2 cþÀ)†),,´¹ edd0¶œ?ÞYá¹3;©sn™xO­sëtùùùÏ<óLHHHTTÔ˜1c.\¸àôExC™¯—T*}ôÑG]´vjµzÁ‚ R©499yéÒ¥MMM޼Ðþ‡ÑÛúȤ c”7äŠ4“®¶5å%sCm)Î(¥qqq™™™¦‰ÅÅÅ2™Ìú±¹ààà… ¶jYÍ5eŸý™·ùÜsÏÉår¹\~òäIBˆü½{÷níB;†6ôQ« áÎrãÆGy$&&æðáÃûöí‹‹‹2dÈ•+Wœ»/鯓'Orë•———œœpà@LLŒÏðáÃ?þøãÒÒR‹F¨ÝÄÚiÙºûMytqôz½i}m~²¾üò˘˜˜ýû÷WWWƒÍZ/ˆãê„»Cqf3cÍeÉzͳqóæMBWŠÑ»ÏŽ¢wçM§Ó …ÂK—.qsîܹ3))ÉÎgÍ:Û³q\Ý_í¼á7çïïåÊî©ÖfÏÔfs«l0rrr–/_Þ§O¡P¸eË‹×ÚI¬ý–­cèÀ}DÙ½{·i}m~²úôéÃ¥—óïÿÛNqæ)¹r¼8³N—Í737ó‘#G(¥:Î|·hÓC3æ¹Z}ÎYFF†Á`0?}533³OŸ>ö_•’’b=199Ùô¬Å銴™³qKKK£££Mÿš=4'$$äÈ‘#ÿüç?—.]šššºxñâQ£FÙ G(Ž;vçÎ}ûö=tèÐúõëm†]QQц¨<ˆÍ>âzS"‘äçç¿òÊ+jµºÿþæ¯âf°“CkÞp›knÅ›[G.·QQQ¾¾¾\;ÜçE©T†††š^ÂÍYUUe4¹‰III\M,>kÖÙ¶©ƒõWAA·g¥±±ñ¯ýëŒ3N:EZŸ=ëUnhhؽ{wZZÚÀøÎ;ï,]ºô­·Þš«P(ì¿Ä$--í‡~ضmÛàÁƒcccm†Í½§[•±ÙG\oj4š &¤§§çææ®]»ÖüU¦în.‡6uø„7—1›+ÞÜ:r¹O>ùä¿þõ/óöÍ=mš322R(s‹ŠŠbbb¸Ç6?kÖÙnN‡ì/??¿éÓ§_¾|™ÓZ›=ëU¦”Nž<ùâÅ‹Ü Ã<ýôÓ6ïhÿSÓªdvÈ>²fó“Õµk×Ë—/›æ¹zõªýF:|®ì¼™‚¶œ}Þá3ƯÖuÉñãÇoß¾=eÊÿ?Lž<¹  ÀtÉîÖmš?~aaá™3g–,Y2}úôàà`BÈ·ß~«R©V¯^m>§©©±cÇ.^¼¸¬¬,//oäÈ‘kÖ¬á¦WWWß2cz!Ã0#FŒØ±c‡J¥Òétb±ØÏÏÏÁð† b0–/_>uêTó鯿þº)ì_|ÑNT¡¹Ôq,úÈü)­V«Óé$‰F£Yºt)!¤¾¾ÞâåÍåÐ¦Ž—p‹Ü6—1›+Þâ:~ðÁß}÷ÝÂ… óòòΟ?ÿ·¿ýíË/¿´þ$‹'Nœ8oÞ¼’’’K—.½óÎ;S¦L±óY³Îvs:^qëëë¹ñ¡µÙ³3RùûûO›6mâĉ?ýôSqqñÉ“',X0iÒ$ë×ÚÿÔ´*™µ,Øüd½öÚko½õÖÏ?ÿ\[[{øðáeË–Ù¿ÖW‡Ï•Í7³ù±‰ä™ù1NÒÒQÞY³f1Â| ˲‰‰‰ .Ôëõƒö÷÷§”š?¶s~FFFF|||DDÄüùóµZ-¥ôý÷ßNLLÌÊÊâæ4oŠRªR©^~ùå°°°W_}µ¡¡ÁæN;ó…fff&&&J$’”””¬¬,ë6-b37{öl©TªR©ÌçÙ°aC×®]e2Ùܹs5MsQÙç>çœ5—:›}d‘¥U«V…††véÒeíÚµ“&MŠˆˆ°N£EMÚ9ἜsfýY³Î7³u–¬×Ñ:c¹¹¹O>ùd```JJÊ믿®V«ï¿ÿ~j•[…B1uêÔ°°°èèè7ÞxƒË¡õg­¹lsÚ¹¿y÷:ÂÁOùÙF£100°¤¤„û×Áì92R †eË–õíÛW*•ÆÇÇ/\¸kÍzD²™X;-[Ïf¿)Oï#ŽùúZ²ŒFã§Ÿ~š˜˜4räȬ¬¬ððp›¯5qÿ\9~Ιuºh3ofó™¹Çî°‰tVÆþ¼éßï¿ÿ¾ÅóÐÝ?WNÇœÂý3æ¹ÚrZoÐÔÔTYY¹iÓ¦­[·ò‹§jU½6áºâ¶ûsbb½¼òòò/^üÍ7ߤ¤¤äåå½û½öZs3{y®Ús5ܸܶӧO?ðÀ3fÌxüñÇMgÍšÅ_PÆf[5³7$¼UYr©VeÛkûËÕœø~ðò>zë­·ž{î¹1cÆ„……Íœ9sÆŒvVÜËsÕȘ«aÏ™mC‡µþ]gDDĺuëx‰ÇÙÌa«fö†„·*K.Õªl{m¹šß^ÞG"‘èý÷ßÿý÷™ÙËsÕȘ«aÏ€AqàFPœ¸gnÅ€¹ëך"‘hâĉ'Nä+Ç _£½yYuÊ)­ÍNø8Ê·kµ¶¢V'¯ÕÉú[J]U­N®Ò×RÒÂmCÛì…^pQËêMBÈÈÈéÉ©ÿ©ÉÊ»sÌ@õ®X„Häœß& …ÂŒŒ û·‚q+ ÌIüd¯|ciãå–çvNé/·úÄJ“GDN;RQÒàIa‡;ô‘õÐ?xXÿàa?Üüì?µ»î=$WpV®!Ž>¡’¨ibŒorgiR¬4i·|ý¹º#÷FûpÖˆí¡jvŸ™ãÇ[ß]Ñ ± ‰jCqrC§ç­öL°&;ŒÂ(ea™ßK2t22FaˆNhQœ†P±=øàƒñññ÷ÞNs<¥79º‹?EBVr_½ä~•0\çÜEDEE 2äÞÛ)--=sæÌ½·Ón ¾êÍ1âžêNÏUñ‹£„BáèÑ£}}}ï±7ù°JqÓ±PݵN„2þSoŠbšøŽÈ xî##£/öÓ_÷×çw¢:†BD4ðÊÁ6î%Ï;g媩©iïÞ½F£Ñæ³´Ih¬–«ÅÆj [åk¨€Â)52D¼T! sÉW_§sVÆ<×]Å™§øùÍ¢²£wb}^Èêí¬6ÏuëÌšÊæv“1B"2ÔHY#yìÝ®=Æ„9k¹À¡,ùqÚ5ÅõF–%ÃhXwiÊ8YÒÓ¡’!ßÑy¶ÓÿïfÞwU!óâÁ¾>Hf»j¸­Ïý—üú®Z†!¬‘†u÷ûテò`†&öæ¯õ%•¥‡ë Z–2¬B†<œÞ¥÷Äp¾loUJ©«Í×(ò5 !D bCXý]3ˆ½6)z@OaB«yÞn꼆²cw!êJQG…ç]ê÷reÉo_خϨ‘”"òÄ rÊÁ# CÞŽûqê5B7ÚÖhN}tãÔÇ] N~64np #ð˜#‰n¥ä’PB(-Ú¯è5Áë¶^|iºcÈû¶êÒ–jJ)5RJÃ0÷¿Éw\I«2–»Sv´®üÄ£Ž0BYJ¡Jˆ˜°¿^iÞøÞ¾²½ºpß]ƒåÆOs C_Ê̳xZqFÉ©On k¤”¥wÊšB“¥Îj»ÿÌ(ˆùõ³›Íí?ˆ˜>“"|=-iBÖÓ¯û³aûjYn¿;%¬‘BËŽ)KŽ(¥¡¢îφõ+ ˆñá7NÏ¢(ÔÔWê!,Ë\ÝQƒâ¬èÙ+Ûªs7ÈYeŽ&¾!„'ƒy ÌiúìE¥·Î© ! CY#!„Pö®y† û žñÊŸ·¥¾Ut@É•ª61 ø±‰O‡´gTpï<ìí\|HYs¥ñ÷ñN@Eç¶ÿK‘©¯D“fvÐ0Ògr„s—æœ#[¾'Y!”hj ¿»ùÜåÜà%6Uz¤N b!„RE¡¦öº“?2`ŽÕÓk;k¶>séÌšJƒ†5¯ÌBæ¾)‘¿÷8ŒRRs­°”²¿Wf†<ôzL`¬—~g êêÛs¬L ´ý¾bLϱá÷½ˆÍ–çñ¤âŒÕÓÓÿï&ù£tÊ"çŸW;`VtêÿبÏ"&:5 æj£Ë~¾ D*zpNçæ¾³FJ)ñ ÇžËV(>¨4战ü]µüÆÓQ±FzuGÍ¿G_<±â†Ve°Þ“ÁIÊXœ«Új~aâa$ÐfjZˆ‘õöë=Ñ«‹³£¶NïˆH—GYÛþ!Á½ó¤âìò¶ê†*½é ¬U6ºbAfG÷Ÿeýke¡„Ù?¯pçä«Eû•æß‰Á‰zM Šóel}ˆ˜øaÁ©¯D·Tª¾R§,þó k ×wÕu¬—@Û”f×ø{y“Â@m ÓãYΈh›¸!A÷MÀkÐü IDAT‰`lý”…aÈï%xçMŽVeÌû®Ê7XlqJ®@Ä„&û=¹¢NÕõPó¦ÖÕsÿ%¿ëû(%µ×]õ‹ôætî7#ŠüQ  DLϱ²Ÿ&ŽËèš,ýå¯¥ÛÆ\¾´õ¶¡ Û9'™Gu±Þ D$8Á÷‰÷â›;è ÖJÔY Í [ö˾âéÀ⟠Nz&´¹•5Ò>Sp¶_Û¥¾ÐÙ×ò °€<4/&(ÎKhšØ _We>wézVmï áÂŦ·Ÿ@ÄøGKF¯MùzÌ&,xLÏÛx˺j¼­3h\U=ð—Î÷O‹àê3JÉýÓ# !¡ÉÒǗǧíìûH௫+3ž½tmg‹ðZ ˆ"Ø| ‘TØk\8ÆšV)>hu¦°€\ýïXç™'þßgr±Úå.‘.ƒƒºzï›îQÍÕÆ¬i×›”‘¯À¼þïé×ûo,y)KŠ)¿O»’»Až2V61«wßi½Ãp'c ‰¿pôÚdì©õhž±©«¯Ô]ÚzÛú”ó£6N÷м˜¾/FBz<Ö)Rbšë3xqܤŸz÷øo™‡¤ÐÃ<’k:TÁ0„1݆…œXY~fM%ÅÎJÇh†êK–§HR#•Ÿ©WË|_ „† z#öþi;wY¹o® Ñ”%—¶ÞÎzùºŸL<~[ʰ¿'0¼Ÿÿ8 éu;Ò«ò¶¿räíÒ.ƒƒ^ØÕû¡¹1!!$qDHX?˜½6) ³¤Å¦À —-[Æw -ûÏßoÔ•4Yo•Ù·SX?×-:vP``¬OÊX™XjY…‰¥Â˜².ÝkIü…”’[ç% ÃŒXÕí¾©‘A]|~û¼²*O7$H(AQÜ‚¢ŠÇU֙б¿=rEæÔªŠ˜TåZ®Dc$(Î÷á7bq8¾µÔrÝÁE׳jû͈zì¯]% 8£ŽÞÎk  8/6î1o¼ä¤QKUåÚ§>î–<:T,5;!¡IÒ¢Ê᫺Eõóç/@p¸C@ÍÕÆ§^³¦@Ìô™1ð˜v \Πe·=¹¡Jÿð‚Ø>“~ÿ5VU^áôbq'ÁˆU‰Áñ8NdϾÿ-¼ù«ŠÚºú@§ñ¤ŸîóæÓ¨]¡6_³wNAp‚ïÈÕI%‡•ÇþVN%„ y÷iµâCÊ”ûÉÄO¼oþõ›5Ò=¯Pýﯺ{án³Q–àsÝ1x@7Väüþí_ bwCg ´6ß%?ؼGwʵ{ÿRxót=ßx0‘à‰÷¾cªÌ!‘};=¿9Eâ/Úõòõ›§U<†çæôÆÊ3õ6+3BHÃm½ü,ÞœÎT{]³wNAH7ß‘«“Ä~‚îÿöÔÇ Œ€w&Æõ?[­p¯"á©1ߥX™ÿZŸüìTf¶¡2ë0<`Ï!¤¡J§,nRišŠ“*ÚhÔQBai¨èÅŸïã;@KŠBÍ©O**ÏÔ‡÷ò»ÿ¥¨øaÁøÌ8‘A˯¼úJÃøm½pUO›î”kœz²”0"?!«cE¾±¿PÒI 1"©ðÁ×:‡uwÚÝ5¼Üï•Y’ïÈÿ—$2;ÿ¡*¯Á 1Æ ä16ŽuùŽ‚Oµ×55º.zã¡[ žRœ™ÔWê2ž½4曾¡be±FYÔ$3n{ÕþêË翾UöK]@gŸ>“"ºÿw¨Ø·v ÅÏ‘rúŸ7å¹õc¾Å-·¯özãÞ9…²ž~ÃWuùàKÜ+eqÓÙõ•%ÙuqC‚žþ4‘ïp€¶mkª3B|CD%%qƒÝú[Exo¿áw»S¦½ôïÛ¿~~ó·/*Ç|—âµWåq:TfŽú0¿ïlg»žU+ëå7ü¨Ìà^)‹4¹n•R'H‡Ü-þq܉Õ{yØæM{Ç@ñ ò¤°ƒºú<º¸Ë¯Eý¬ ê‚Ê x  pcyxA,k B[÷ϱª,nÂöÚ|͹ òÒ#u!‰Òa&$ Á™0^ΓªBˆ®ÁHñăƒ>¢^ã½ñz‰à„>ŒQ‹=g.Á!.)Õ&5×.+Óª /dõˆ½ºº->¨¼S¦º4>it(Ê2 ñkMsÆ&*”:Ø{WuC«S7ó³:h £Ž=»^Ž{jYÞ3p+¬^øº*kúu±Ÿð™/’½¼2#„¤¾=.£gò¡2ƒßyØž3C+òíhãSŸTÈsÕ=þ;¬÷¤ðÀX÷l»;eÚ+™Õ¥Gê†Ò ™4‡sÎÀ}ܾØpôoej¹îÙûN‹D9B‹ƒ%ûX°*yXÌ-öaü 7bnœº³íùËþ¯WGk³Ðd騭)"Á“¯•©ã;7"”`Ï™s4Ý1ð‚3hØSÿ¨Ø5#¿S„$íû^÷O÷²ÊŒ’²£w4 ¼… ežqû&ˆ èìѧß8“P,õô땚èWù›úü¦[åÇîˆ; B“¼ý$Ù6ø “Ÿ SßÒýúÙM£–íü`cu#j/Ä(eIW¯¼ÝýöEå‰ÊSÆÊ„b¯ª)œÆ¨§g×W>ð—ο+ ð¼S‡ÛŒ5нÊ#ï–\άIô 뎛þA <ì:gÞ æZã¥ßf tØßøŽÅƒìQœø{yÄ}†}˜€‹nÀ=¢,ýÏÊ×vÖ^Ò%åyßáx2J¼ê6£ {íÇš‹›o7ÜÖuy4hÀ¬hYOTfÐ2gîʈ0W¨¾Üxè­âÔW£{<‡;BÛ±zz䯥e¿Ô=ñ^BÂS¸ô8ÄÐÄæ}[u9³ÚÐÄöÖ÷ÅHÿhü¬…â :2]ƒQÒÉ‹Žž€Ó4ìÁô⪠êáŸ$Æ à;ð¬îœ|-æÁ€û_Žô“‰ù< Š3OÂéÎI×b è39" _Â\«±Vÿóÿ©oéG}žhqn°C£ÐŸYSyßäÈD_¾cá€@[uÀÓZß{ï=†aV¬XѪWrgŽ›¸!VO»=\œ­ÌséÀE§T”¿_àuà<·ˆa˜´´4ó/6ޝNÛ2À0Laaá½·Ób³N—ŸŸÿÌ3Ï„„„DEE3æÂ… .]œsÝ)Õ´ìoênQ™1f¤Ré£>zþüyW V«,X •J“““—.]ÚÔÔäÈ ùú|±š·¹jÛ˜+7sê›êôÖ30¶xôh`Ù:Ù\qþ"w×ÑŠ3JiFFF\\\ff¦ibqq±L&³~l.88xáÂ…­ZVsM¹ŽÈWújô¤=}†}˜ o`÷ýoá¶±—ó6Wq·mO;ÏŽøþûïÍ×Ý>›«`?-®u2ÙþnܸñÈ#ÄÄÄ>|xß¾}qqqC† ¹rå ßq9*z€ÿ¸Œž¶îºvòäI¹\.—Ëóòò’““'NœØÚ£޼±çΛ››»cÇŽòòò7fee¥§§;øÚöwó×ú“¯ž]+ï™&¿½WôÛGM©3iç8¨±FÿÛ•'þ^îÈÌ÷²âîÙãàB´c¹páÃ0$„\¿~›XPP`ZSóÇ6µ8CætE¡æÄßË¿rþ·µ•í¼hÎsÑAÅ7 ›îèÛÜ!dÖ¬Y¡¡¡r¹œ›b?ÈVeÆæl„‚‚Gæl;Í:ŬY³ž{î9–eMS^zé¥iÓ¦¹n‰íÃ"oUUU„ªªªV5âHÇçää˜þ=zôh\\œ#¯mçÑ©®¬iÿë…ÿJ={ð­¢úJ­9m¾åxKÛàÖõáwJ6 Ìýî© g¿ly¾ÇÏš'¦î…çuö…ïn•­kîÙÅ‹?þøã”Ò”””åË—sÃÂÂ!‘‘‘¹·û¡C‡ºtéòÕW_qo}nâæÍ›»uë&“ÉfÏžÝÐÐ`sãjÞ¥T§Ó-X° """<<|Á‚:ŽRºk×®ûî»ÏÇÇ'!!áÛo¿uEBôF­ÊàŠ–íðè웟—Ÿkô­ŒŒ ;;;òWæýû÷B="ž•4dgg-¾1É…A¤¥¥µç»5""Âp“ëüùóýúõ‰D4mË–-b±Çq©Tª×w<è,yæçé³~¨VÔ›ø‡²gœxôSÍÞA™§åËë:vˆ 9ÍW_}åääTVVÖ4È–¶½_FãïhrÖìH6 X§Ö×ÿ~ÉåæMÎ-«U«Õ¹¹¹2™L¯×_½z•, Óé¼¼¼È6°‰'nÚ´©í=%ƒ©¬¬D‘©ñ÷þXÍÂÖh4T*5''‡,yìØ±ÐÐÐ6ZÓ 5É…VûXþpu; £¿c³ÙOž‰ŽŽ¦R©l¶®ÑO§í²£Ç„P 'Ož4Dkôô‹ŽŽ&÷šôÓO?!„ÌõíÚP¢R5væN…Ñ7z¶…/_¾L„F£!$g=õ p‹`Š ”¸Îȹ~øðaNçîîŽaØ€Bíé²ÑraXX˜áÝfÝ6‰Vºý–””ðx>~À€?üðß«S© ÇŽ«««»páBRR¹¼µ=%?k///{{{òŸ úßÿ‘HÔtsdÉšš½^B. ­¨¨hZ¬ÙÉÐtg+**žÿòO‰NÎ˯¼#Åõí½F I­\._¸páܹsÉå݃–S.—>|!4hР>ú(;;{õêÕ«V­j¶bkŸN5·s zîo‘f¿^yåÃ[FO¿ÂÂÂèèhC™Þ½{#]5À `0œ:9ubËoãlñööFÑh0AZe}É™{K¯!Ä…ÍÇ“ëõú´´´/¾øÂÐh¼|ùò´´´Ö¾ Œžý†ÿ(ùùùäkN‡"ÛŒæîn¸öÄbqFF†R©Äqü矉DóæÍ›£ÖèTø…”¢ƒÝÚRÑXÚ®¡ø­±±ãÌvHø)2x¬‹“_gæ£P(ûöí»qãÆwß}×F„mWb’óÄè‘ü †¨4Š^ýìÿ«J¥ræÌ™)))™™™»ví2,Ÿ1cÆñãÇ92|øp___rak{J~Ö e̘1M j‘Ç“%===©TjQQ¹°°°ÐÇLJ|môdhº³ÞÞÞÏsõüúƲ+ëJ¢=â·‡P¨žÝ€Åb½ñÆ?&/Žî‹A˃IÄk¯½öèÑ#²†a/¿ü2YI3F?6jîè>"„J¯5OÎ+û£±3«·ÑÓ/ àñãdž2¹¹¹ÈDWQ*±.çPíù”¢çOCŸ©³¥[ÉËc}¿K0“ádWuOÚlùõë×kkk“’’ØÿóÚk¯ñù|ÃüC2™ÌP¸ék£V¬XQPPp÷îÝÕ«W¿ñÆÎÎΡüQ"‘lß¾½iICU ©©©¥¥¥ÙÙÙñññ_ý5†aãÇ?zô¨D"Ñh44Åêîy,í”Љ®w…%žî3Û³üFc皈 lï8Ó©CVúÒXü5´eË–­[·–´Œ°Ù.4ÓFüMW …ÕM4«¤Ù‘l¹*ÓkŒ´œ5«V­Vk4:®T*×®]‹’J¥¡#FètºO>ù$99ù™{j°qãÆÿþ÷¿ï¿ÿ~vvvVVÖúõë÷ìÙÓ2M§Ñh³fÍZºtiqqqNN·~˜””ÔÆÉ°lÙ2ÃÎΞ=»Ó'@c©:ý§EçÄcþôâRŒÒÉy§œœœ¤R)ùaut_Ú8±Ùlöœ9sfÍšuúô颢¢›7o®\¹211±åºF?ƒg~Lm#pTxVüˬ'çW:ù1ŒN,b*FO¿wÞygÕªU¿ÿþ{}}ý¥K—Ö­[G¶šöÛ×%—~_^x0þѽ]:›ªUvù4’FÏ–6Ê?óØ“ÜífçWžYÒ|ØËÂ… Çßt Žã!!!ï¿ÿ¾V«>|8›Í&¢éë6:‚>|800Ëå®X±B­V±aÃggçôôt²dÓª‚H$o¾ù¦‹‹‹››Û[o½EŽ˜KKK ¡Óéééé]zXÚ':Ñÿ½)8ÎD‹®Z8Ž7ΰ-#4z4š––ñ7Ûë–Wî3d3Æe?:Ô|®£__|ñ…«««ŸŸß®]»¹\.YxÑ¢EL&S"ùkD^Ë=mÙ3&33s̘1NNNË–-“Éd}ûö%Zô¸‰DÉÉÉnnn<ï½÷Þ#Ǭµ<ȵöîÝàîîþî»ï’%;q_ÿ0*ëØk¹åªö”ovÜšžz½ÞÉÉ©¸¸¸CûÒž[§Ó­[·.&&†Éd¾ÿþûdmÍÖ%Z|:M¯ÑšÛ×…çEG¦=Þ3ðþ…UEâ"eGTKèY£5[ž~z½~Û¶m!!!'>>>==ÝÃÃ0ÝU/Ì•ÿ±©lÜÃ=ïŸ^Ì矮×*Mß}Í莭œ-M “¯[~âÀ¶Yåã›òNÔÝúwÅœ+1TºõµüY(ÕdË=càa#¶êðäœÈé}_÷ìt kÖ¬)))9x𠠣ꨂ‚‚°°0“|kû¿B'Æ ÿó¡Ðlá¤7ù§£×àÇó$åê .±syœ€.l0kÛ©S§üüüúöíKþyôèÑ 6ð‡.)VG¯ÁÅ…*÷Èî(mùKUy'êù§DT:öϓѶ”µ]—^m¬¸%Q‰uŽ>Œ 1ÎÁc=zCŸZ`5 9!­Ôô¨4¥æ¡ìúÆ2i¥fäG!ñ.æ´Wå韕zbæ‰(›¹ùœô¼ôZcÞ±ºÊ;RZèD×È»œO½Å×*ôþ#8#9î,ÈÉ€Õä t˜F¦ÿïØlZÀHç qΞ1l[úÍÝ\K<Ü_ã?’£%¬‚Z¢»³£*ïxÿpΰüØ^6•|tÚýÝ‚œCµ:50Š>ÅÝw°“M^¼Žlr¿@ÏÉè q¡ªè‚¸èwqC‰ÊÞÅÎo¨SÐX¿!N¶1+°jŽž¦×ÝÝQEµÇ†®ò Œs6wDäÉÏB½š›äjïb•£ÁBŽD|eE†¤ü†Äwˆc¿7½Ì¦gõÉYùÆÆ2uOî´n^"¾²øRCÉå_8ÚyÜ–`sGz4I¹úÂûÅâeï™ßæuúÁÀÒHÊÕ•w¤Uw¤U÷¤ªù›0l’›Ï Gs‡€éY}röè`í•ÓÓ"9œÃ ˜„¤B­•ãná=ñ–ŸUÜC©Î’i¤zÿsÒµtJüúƲ~s½\‚{è‚^C”ßhl,U÷}£ó[šê,ÙÉyù4Å+ÖÑûE¶Ï N®aLË¿èè4«OÎp=q<)éJ›¸+ÔܱãJ¯5RioÛ&çÒ©ñ_ßÌïõŠkï™;˽«{óóòú<åäÿô2w  KàZ¢òŽ´ø¢¸ärƒF¦÷âÿU¨Ít„×ká97ÚÁ’/1LÈZ»P¨ØÐ¿S óù§E0•e*øMTt^lǤø rôÆñÆqðlþèkë…aȄӕyÇ놬ôõäd£Ò)F|¬]ùÆÂßÅe×ÕR½Go‡~ó¼BÆ»:p­éSKtÕYò겚‡ò‰ß„Ú1šÿŠ£Ò1¯~0ñ8èA¬¾åŒtkkÅÓu ?E:ùõèI¹,–¼FSö‡¤ìƪ;R w gú ãÄÎõ²cÚH[š¤B}wGUÑ±Ï Ç¡)~ÎAwOíþ7‚’+ ÓÒ"͈‰¨.O³—!„~{»@!Ôu ›èjE_€ò SV%«~ ©B.Áö¼þŽñì­¾Õ€çd#É™^C¤¿žgǤNÞ†Q ÝÛré5xÕ=YÙõFácÅ”Âm¬×HE†äÖ– i¥ºÏkžýæyÑX´{þSÍ?U?óx”¹1Š[’»;«ÄEÊ×~ëc½£M×Öx³ïô"~u¦ÌµÓ«/Û3ÖÁ{ #ädØHr†*Ï~:ðm^L²ítƒíô\«Äí9Öú5ë‰üôú¬ªÿ±/œåfA·–²ÿ[“sHøÚoÑæä¹2e÷w ÷¥þ#8/¼ãíÖ# 4”¨J¯6Ú;Û…Oq3w,£×àz5Aw42fV&ÐØ»ØÙÙ[Ð,‡µþ lÉ%„9öó nsžKÙuÉÅŠÜÂY>ƒ}^tòŠeSéÖÔ*@¡b ¸YÚ|ôÖÞçLp_–ù êž”7€=ù?½l¾®'ªÈÊ®7–^m””«í]ì¢fy˜;¨vQµÕe5äÂ\E]®"fwàbï–ÅØ<˜€VÙN˰ ¹¾êŽ´"CR™!•T¨í˜^Gß!Ž£œ½áÛ¼óòNÔÝþ¢òõk}ÍHgTÞ–þö6ß{ cÿ·x¼6ž–©t|VVyGª‘ê]‚íýGrFr¸},¼ÃFÍCùƒ½‚Ú…Z¢£Ð0÷p7ÚÁ#šÅëÏvð„+€Ž±–3`èÔÀÑΣBÒJuE†´ò¶$ó;†aQÿ´Ž–ƒ¶È\³¸†0C'Zëpfï§üÞCÚÅNT Ã.òöîääk5ü)4Œádס7ÊÁ-œe] ÞXh9V€À®ÃN“¦–èNÖñC)Ò¥¿ñ4:Ñ£÷LK»é º#_Áñ··ŠË:5.â+ëòõ¹Jýi ¹#ÀÆYÇ5ÐÃaÔÚ¶'çç«ô^±lŸAŽž}Ù.!7‡…FEþÃnY™{´îÅw}FÙødý SáêF ßk(VUÝ•VÝ“ îÉTºñÛBFZù ã IDATèi ×à¹Gëêòõyʆb®'èlª[8Ë3¦G´_`^6Þr¦Uè©4 <Û†Õ<”WÝ“ îKkÊu*œÍ£{tä `‡NpµÌùdͽoªø¿‰¸ÑƒþÏÇæ;¶·“J¬{ò‹ðqšÛÇáåm!æÇÄ*oKóOÖWÝ•*ê´tªW¶Ï‹Ž¼ŽnaL‹ÄŸÀQÚ”Ž¿½{Ë-’éÁròaXl´ØOÎμS@µÇÆn †üÌæáZ¢6G^uOZuW&©P¿v:Ú’ÿ‘Ô>’ßþª²:K<ÆeXª_OžáIT Ì9T[ð›˜Æ¤DNwú'—éjkG#÷—ºâKbï½_ptd™ý¦6®%ÄEJ_%*PŠøÊ¸Omï˜`Õl<9«ËUüö6ŸÛÇaÜ–`›|°#0ªµ'‘«%zq¡Ò#Še!'C镯Ücuã·öÐå7¬­¼#u´Nä†MrµÞY¯pQ—«Ð©pïÍK«òŽ×UÝ•Š ”%j\OPé˜K0Ó5”9`1íe³·’°F6žœ!„jÉÏ,)ðŒqûï`«è{ ºNÉå†ó+‹¨tÌ=ÒËöŒuðêË6:C&èg—jdú¾oxŒàXr3gk”"]í#yí#yM¶LøøÏÌlÒî0sÇ…œ0:ïÆMå²jk(Ó­Ó%”É `˜½ `”í'g!áÅÙ¥N>Œ—·‡XïÔóÀ$¤Ušê>ѯ¡D…aÈ9ȾÏkžá¯ZÙÜë6×VÚd¨jOÎÏ—T¨†œí¹}<û:xõc;ša<ŠB¨©¤•jq¡J\¬ñUƒ–ù„½b­Ó¦PIÎB¥ê3KøT:eÂÎP˜™T ºš,yõC™g_‡À8gs‡ó7·$ÞM˜»è”xÁQ@‡éÚÝ•jí.³åk-rGþ#ðèíÀíãÀp2[Ëkö5™{ZŽb¹Ó\‚íƒì]‚™>ƒ­h‚4@K=%9C)„Ú3ïDNsï=Ãúç2ÝâÁªB-·ƒgŒƒ“_÷ý·SŠt‡'çØ»Ø x‹:ÉÕ$÷ž”"ÝqÙ¯|ÆÐ}¢êr¹Çêj²dÓÒ"-|‚{ Åêº\E]®B\¬¬ËUÌ8e–ÎòŽä5šÆ2Uc™Úчá7Ô©e™šl¹¸HéÌt ²‡»óØ’tåA›²?ÜŽa?á9PX]ž"ïD®%˜®vQQ,Þ¼ì.íºÎtµ›y,*ûÇš?þU–õCMì\¯Ð‰.Ï™Ü3¶ë5ÝñcL§Ä ΉòŽÖ Ÿ(\Bì#§yzKo<ËÜ#(¿!å+ujœJ§¸õbºG°‚Ç»PÝ—SŠ UgDdBÖXª&Ÿ…Êp²‹šéa49óŒq€YǰIVÖr¶|ùòŠŠ sGa¾¾¾_|ñ…¹£è¡ô¼.WQóH.|¬>–K+5³ND=gCZ;Ïd¦Ö9D<‚'ë]ÍÎ}Äýõy¶ˆ”PñÈ*ö#9½þyêy& AQúŽN¯qxZÁyÐ`_agï½]U™Þ=‚åÉr¶ï¢žò¸– 4¸w a¶|·â–äö—•œÇßžãÏàØs=yšz,+KÎ0  -Ö—œ`™Nv¯_éÛPªª{¢>VŸÈó­×©q×0æ´Ã‘æŽÎázB&Ð „ŒŽLdyÐFr\C½\BìíM2îU§Â ωå5y­VV­‘ 4Ò*^ƒ;xÒ^û­OËòÎA̹·úYæcÄ– ’3LCÎöÎö¡]B¸Ž*Uzs‡e 4r}}ž‚ì)ßX®j,QK*Õ¸–‰wyicPËò¾Cœ|‡éDßGJ‘V^£UµJ±6bª»±2ÄÍ—³½è,›G÷Œqpôf°ytGoã³ó`dcT–’3º Ås g™; Q“%;»´Æ¢rüNþŒà±.œ@ÇßžÐù[„N\J-‘ 5²j­²^‹ëþìÇtµ ŸâÖ2¯¢±¨oÞè×ù}€öä `¸Ž×h$•i•ZZ©‘V©eU†³ÝËÛBZæ pL:Û‡åñŒtuZ¥H§¨ÓªÄ:•X§j• Z•X7öóà–Óè`ŒÊÀ<"ãh,Ù$æÀ¥YÈ£W=– &g†ñùüÐÐЮ¨üðáɉ‰-—?xð _?øI Liôèц×,+&&féÒ¥<\R__ÿÍ7ßäää466$%%1¢åŠl6{àÀË–-svv¾téÒ§Ÿ~ÚrC{öìé¢ë¥ e꟧=!p!DcQ½éŽ>t(‡Ö:ìÛÙS†dÕ2ýòìh4…:þZž¢^‹¢Ò1{;–;éBcºÒp-Œ5±Å}h“°Áä¬KM™2E  „Š‹‹‡J¾F¹¹Á“éíܹ“Çã!‹÷îÝ»qãÆ;w"„$Éüùó‡ºvíZ‹uûöíO?ýtãÆ/¼ðB³ëêêvìØ±}ûö?þxذaGE ‚%K–¯BNNè›e*l/úKŸ:z3}èvL •F1:KíõeâB•J¬UÔiÉç‘f‹2zCóå¯Bh, ÓFgÃŒùkÉYÇ0™L&“‰’Éd!///sGl™³³³««+BÈÍÍmåÊ•3fÌP(,kß¾}±±±)))d±€€‘H”––fHΚ®øÖ[o­^½!Ä`0 BH©T"„ÈÝìÑÁÚÆR•ªA§nÔ«uj‰Nݠשñii‘®¡FÚ̘.vv‘,² ÌÞÕŽù¿­=êÃ=:ù¬^OéZqêÔ©ØØX‹Åãñ6mÚ„Zºté¼yóÈwe2‹ÅzðàBH«Õ¦¤¤xzzr¹Ü””­V[PP€aØÅ‹ýýýÿøã£õ­\1===<<œËå.]ºT­VÝDw`å( BH¯×#„®]»6mÚ´¦ï¾þúë«V­2º"•Juqqi£æ;vüûßÿ&_+•Êøøx>Ÿ_YY9zôè7n$''O:uÇŽ䉪ÓévïÞ=uêÔ©S§îÞ½[§Óuh/D|ec™£`Îö#9}’<‡­ö{ù˶—ñßö’â;ß+üU·€‘n6aضñ'•J§M›Ö¿>Ÿ¿eË–ÔÔT¡P8}úôôôtò_Kzzzpp0ÙilÛ¶mÅÅÅ÷îÝ»xñâ¥K—>þøc²’­[·îß¿?66Öè&Z« !´k×®S§Nûì³Û·oÿôÓO¡_~ùE |ûí·[·nÍÌÌÜ·o_‡öhÔº€I»ÃÆl –ê7ðmï>IÜ^¯¸ùàÀ]H0èɃÁxøðáöíÛy<ùè§ÆÆÆaÆÑh´k×®!„~úé§ääd ÃBûöíÛ¹s§ŸŸ_Ÿ>}6oÞ|öìY²’Í›7=ÚÁÁøc†[« !´eË–°°°AƒmܸñÀml€fæÏŸ?qâÄI“&½þúë‰ä£>B‘B2œ`m¯8gΜüüü1cÆ´Q8::ÚÎÎ.;;!táÂ…ñãÇ*_¼x±¯¯oddäüùóÏŸ?:sæÌ²e˸\nppðÂ… ïܹcª@ê}Îètz~~þ‚ d2™¡é‹J¥&$$;v,&&æÂ… ß~û-¹¼¤¤Ä0 !ÄápÈml¢µÚBaaa†Èg]·¶ š9pà€O³…ŽŽŽ...¥¥¥QQQ†…yyy_~ùåW_}Eö*3¬¨V«ùå—åË—>|¸µ|ŽB¡Œ1âÚµkÁÁÁ÷ïß_±b…á-___ò…¿¿¿P(DUWW7½£ÚÚÏÖ#ZΔJåÌ™3SRR233wíÚeX>cÆŒãÇ9rdøðá†Bîîî|>Ÿ rˆ\FF¹œF{ÆKFkCñù|òE~~¾··w› † –––ÖôiâçÏŸ×étdfÖƒÁ˜4iRmmmCCCÆÅÅ]¿~ýÊ•+}úôñðð0,'N „ÊËËÉ!ÉçÀ—/_¾|ùòÉ“'›^PLÂ6“3¡PXÝ„Z­Öh4t:]©T®]»!$•JB#FŒÐétŸ|òIrr²aÝ„„„ÔÔÔÒÒÒìììøøø¯¿þº5ZBhÙ²ewïÞ]½zõìÙ³ŸgæÍ›÷ðáÃÏ>ûìñãÇEEEû÷ï?vìØüùó D"‘H$ª­­=tè—Ëuvvn£Â˜˜½^¿ÿþñãÇ7]¾sçÎÊÊʼ¼>¾¦¦†¼¹ÿþ¦·i6lذlÙ²ØØX …2mÚ´Í›7WUUµg£FkC%%%;V.—'&&¦¦¦Ý„)vô ÎÎÎß}÷Ý7ß|³víZ¥Réïï¿qãÆÁƒ ,Y²„|aXPPкuëÚî£F¡PFŽyîܹ‘#G6]>vìØ+V¨Tª1cÆ$%%!„æÍ›·sçÎ `6räÈ… vÁþ@†5½3bù0 KKK›9s¦©*\³fMIIÉÁƒ»¢¶‚‚‚°°°ç?ÂGŽ™5k–u}R m†­]»6..ÎÜüeïÞ½ÕÕÕ~ø!ùgeeåìÙ³/_¾üœÕ^¹reýúõpö@ûÙæmÍöP©TEEEßÿý‚ ,­6º“F£gΜyå•WÌ €œœÝ¾}{àÀsçÎ5Ië…ÑÚœœœà¦°|¹¹¹ .œ0aBÓçÃ:88Lž<ÙŒQ@e›}ÎÚcÔ¨Q"‘¨Kkãr¹»wï6Õ&è"}ûöýõ×_›-tvv^¾|¹Y‮綜X HÎ,$g’3 b}222ÚžNÓÂ2;DÇ1:ÞþUàùN6éÉ“'û›@vr6†0-[j¦ˆºDóÝð,V6 ­ŸŸŸáaÖÈžêðeÌ FQã ±¦¶V]Q§©iªÅššzMµH#hÔÖÈÈ'âëë[^^Þýƒ.âëë[YYéLódE:D;Ä9ôfPX•JþúÜš;:óññ±ê˺™•%g6àqšðæç册Bź??ŒŠ±\í<éœ@†“#&ÙÓŽ·žm‡F¦>QËksµÙ2¥H‡a£a¸–@Q¨ØäÿôâF;˜;LæÉ™äª½µµÂXY†!”x:ÊÁ“ÞMa®k‰¼uµä5å’J5"…Ž:Dà?04úÓÀÐ ®f €¥°¾>g6 :‘‹të‹¶ò3 ½ä™™ 476—c"þ×Ï×4ÿà1 ê;Ç 23FkšKôkÜÁïù¢Ö6àz"v¾g7Fº ÇŸöŠFmµ…Šù rø¯ƒ`¹ 93›>IÜAÿçc4?£Øaq—f·ºÄà÷|ìèÔÖ>k¶7}̦`ŒbÅc˜$gæ3Ûsвæù®'êr9‡juê̸,–=Çî…w½[&_³³§LØJg·Þ°Ö:%^z­Ñ$U0HÎÌ,&ÙóÅwÿ–ŸQí0ïâœïl¯:òêãœÃ¢Y=\Kˆ Tv,*FmòIcahÜÖ`'_†©6ôè`í•KÔ©*Ðý 93¿¾¯{öŸÏ3äg¸Žxq‰Ï°üOG‡Nt½»£êФœûß 4r½YÃ$¯Ñžz+¿à·ú~oz¢¿Ðö¾Ÿ÷@GSmHÕ Ëþ±&fŽ'à ú€ƒäÌ" XÄ‹ë…a£ ßAŽQ,„ÓÕîÅw}þy2º×d·GjÒ¦<– 4æŽtŒà¾ôøì!4a„K—.Éd2†úLä¦ÇŸŸŸŸ‘‘ºnݺÏ?ÿ<***;;ûÑ£Gƒ Z¹r¥¡äK/½d(ùÁ<çÖ[É»wï:;;­R2²¤ÑÏ€çÉhE½æÞ®*­RoÂ:[¦jµ:77W&“éõú«W¯’t:——×Å‹ ‚˜8qâ¦M›È€|}þüù~ýú‘9Gvv¶ ƒlF#×]ÞlÓiii¡¡¡áááÇŽ#—Ü××—\èîînhã‹Åär­ gg­Î’süí[{—l‘Båçç{{{{{{—””K²²²6nÜh´d@@€iƒ$â›o¾™4ijý<³€nÉx^·>¯¸õy…B¨íĺB¡°º µZ­ÑhètºR©\»v-BH*•"„FŒ¡Óé>ùä“äädú ©©©¥¥¥ÙÙÙñññ_ýµ©ö¨5Š:­¼FÃvh­À²eË îÞ½»zõêÙ³g'''¯Y³&'''''gÉ’%¥¥¥†’+V¬0”|ã7Z«P&ÐüñY™F®fl䑬¬¬¼zõêÔ©S‹‹‹—/_Žjí"„d2YÛ˜‡Yoª[ðèPÍqÙßypóórY¦ý+=¿øâ WWW??¿]»v%&&r¹\²ð¢E‹˜L¦D"1¬.‘HÞ|óM77··ÞzK.—7íJÕÊo5~×ÿ¾²AÛò-rÓ{÷î pww÷Ýw•J¥J¥Z¹r¥··7‡ÃILL‹Å†’‡ är¹+V¬P«Õ­mñÜ{iSstêgtõkz ýüü’’’jjj ï¶<¤Z­vøðál6»µ9:LßL×ù'ë3÷ ”"]Èx—þoñœ|¦ÝÄš5kJJJd¥¯= Êð7Ðr@תΒ7ËÌXî´ÑyýÙf_H«ÚIDATŒ €Å‚_í QÔk/­.®ÚÉ)þ;§är…†!„0*B ÿ‡ÛÌ£½!3ÐHÎ@¢éJÔÇ’r_^(|¬èt="¾2÷h]; _ãZ‚BE\úä½½F|èoÇ„ë@«àŸèA\Ø #^Þ¢¬×˜“wöÝ‚Úy'ê©ËSÜÚR®U´:5†AýS¥¼V‹a(rºÇŒ_z{õƒ3Ï€Mñó󫨨hOÉPv¿ðæHnþ^óߎnʼnæ:ÌmÊáÏJ½¬í’Ž/Îò]y¨|s¾ì~G·òL¾¾¾ååå&¯€yArl †aï½÷Þ!CÚ»!Ì*/[·nmÛ¶ ®_°=0ZØšÁƒϘ1ÃÜQt9HËÀVAŸ3 É€ä À‚@r`A 9=ÖD``àœ9s„BáóTxøða̘¬¬,SÅ  ç€ä ôD7oÞûöí“H$ýû÷ohhh­pQQ‘»»{µM™2E ‚›7o"„ÿeúÐØ:˜JôD^^^!Ÿ¸¸¸¸¸¸mÛ¶­_¿ÞhaÇëëëÛ¨Éd2™L„L&C‘5-g §Ã0lÑ¢E§OŸ&ÿŸ|‘ŸŸïíírwwçóùA!‹É{©z HÎ@O$ «««+++¯^½:uêÔâââåË—#„ÔjµF£¡ÓéJ¥ríÚµ!©TJ®BŽÄl£€Q#FŒÐétŸ|òIrrrÓåË–-+((¸{÷îêÕ«gÏžJHHHMM---ÍÎÎŽÿú믻f×X:HÎ@O4tèPçë뛜œÌf³ïß¿OÞFtvvÞºukRRRDDD```bbb|||``àðáÃÉ{ŽF ´±!òΦD"™6mZÓåIIIcÇŽ8qb|||jj*BhÆ ŽŽŽ±±±/½ôRß¾}7oÞÜ•€å‚0w ˜ †aiii3gÎ4w Y³fMIIÉÁƒÉ? žÿº;räȬY³àúÛè**•ªªªêûï¿?tè¹c`5à¶&]åöíÛœ;wn\\œa¡““ÓÂ… ÍK-gt•Q£F‰D¢f ¹\îîݻͫ-g’3 É€ä À‚À]’4räH““Ü]×®]5räH™åŽbbb2ç+À5PÎÀÉ…„„˜ᮢ££%9GVIjÒ¤‰å³r™Rp=|ç ,€r@9  œ€PÎÀ(g`”3°ÊXå ,€r@9  œ€PÎÀ(g`”3°Ê¸‰Í›7«}ûö²Ùl²Ùl Vpp°š4i¢.]ºhÏž=Y>îĉŠˆˆP×®]dÙ¬éééš>}ºU¸pa5lØP‘‘‘2 ÃR9%i×®]jÛ¶­Š)¢òåËkРA:{ö¬Ãrœå ÜDëÖ­µ|ùrIRµjÕ´iÓ&mÚ´I6l———êׯ¯•+WÞò¸ *¨S§NŠŽŽÖ… ,›uäÈ‘úþûïõì³ÏjÀ€Ú»w¯ºuë¦ùóç[*çž={ôæ›oê7ÞЖ-[¬?üP}ûöuXN€s œ€)T¨$ÉÇÇ'sZáÂ…5yòd¥§§ë½÷ÞËòq%J”È“|•“¬ÇŽÓ™3g´hÑ"=÷Üsš1c†V­Z%IúÏþc™œ’´qãF}úé§jÞ¼¹zè!}üñÇ*V¬˜¾ùæ‡æXŸ—Ùæ+R¤ˆ$éòåË&'¹»¬²&$$hÚ´i7Ýï‘GQéÒ¥uâĉ<Í—ávótÔ¨Q·Ü755U={öÌ“\뢜)IzôÑGMNrwYemÞ¼y–÷MNNVÓ¦Mó$×ßegž¦§§küøñš:uªœWÑE97”””¤ØØX>}Z«W¯Ö'Ÿ|¢>}úhܸqfG»En³nÛ¶MIII ·dÎ+VhúôéúöÛoU¥J†¡!C†Èf³åI^€õPÎÀ ]¾|Y_|ñ…¦L™"ÅÅÅ©ZµjfÇÊRn²¦¦¦ê¥—^Òû￯ÆëÖ­U³fMmܸQcÇŽÕСCåíí­äI^€õpBpC¾¾¾zã7ôÞ{ï)11Q£FRzzºÙ±²”›¬ãÇW«V­Ô§OŸúè#%&&J’®_¿®1cƨÿþ2dˆÃr¬rnbûöí9r¤$éøñã?~¼öïß/IªU«–æÌ™£K—.©uë֙ߒ¤M›6iĈ’þ¼Øó´iÓ´gÏKeýî»ïÔ±cGmÞ¼YÇϼ=ÿüóš={¶h‰œ’tþüyM˜0A÷ÝwŸFŽ© &è•W^Ñüùó9S#¸9›ñ÷ã1N!**J¡¡¡·VgE]»v•ôgf«³ÙlŠŒŒÌÌlUδüÙ’À'g`”3°ÊXå ,€r@9  œ€PÎÀ(g`”3°ÊXå ,€r@9  œ€PÎÀ(g`^f䎗ן›p›Ífr’ìs–¬¡¡¡ 5;Æ]e¬×`3 Ã0; ç’’’ôùçŸ+--Íì(0‰ŸŸŸZ´hav €}$PΙnܸ¡üùókõêÕêСƒÙq\F¯^½”˜˜¨U«V™`] |ç éÒ¥K’¤bÅŠ™œÄµ-ZT‰‰‰fÇXå ‰ræÅŠ£œîŠrÈtáÂI”3{+V¬Xæ¼àv(g€LûöíST©R%³£¸”€€?~\W®\1; ÀÂ(g€L{öìQݺuåééiv—òÐC)==]?ÿü³ÙQF9dÚ³gêÕ«gv —S¥J/^\?üðƒÙQF9H’Î;§˜˜µjÕÊì(.Çf³©eË–Z»v­ÙQF9H’¢££åíí­'Ÿ|Òì(.©[·nZ¿~½Î;gv€EQÎ’¤Å‹«C‡*\¸°ÙQ\Ò“O>)EEE™`Q”3€6nܨ­[·jèСfGqY… RïÞ½õöÛo+))Éì8 ²†a˜`®   •,Y’ïD9Ø©S§äïï¯ððp5Êì8kIà“3psï½÷žvîÜ©I“&™Åå•+WNÏ?ÿ¼ÂÃÃuäȳã,†OÎÀíØ±C-[¶Ôk¯½¦W^yÅì8náÆjÞ¼¹’““£‚ š ` ”3pSqqqjÛ¶­êÕ«§5kÖÈÃ)òÊÑ£GU¿~}µiÓFŸ~ú©|||ÌŽ0‡5€;úé§ŸÔªU+U®\Y‹/¦˜å±jÕªiÕªUZ¿~½:uê¤ëׯ› `ìÀÍ,Z´H-Z´P`` ¾úê+/^ÜìHn©E‹Ú°aƒ¶oß®-ZèàÁƒfG˜Œrnâ÷ßW÷îÝÕ»wo 0@Ÿþ9×43YÆ #OOOÕ¯__3gÎTjjªÙ±&¡œ€‹»té’^}õUÕ¨QCß}÷Ö­[§iÓ¦)_¾|fGƒ$mÛ¶M/¼ð‚F­ÀÀ@EEE‰¯„€ûá„ à¢öíÛ§… êý÷ß—ÍfÓØ±c5bÄ(PÀìh¸ß~ûM“&MÒüùóU­Z5 8PýúõS™2eÌŽp<ÎÖ®"--M±±±Z³fÖ¬Y£ýû÷«V­Zþïo\»vM7nܸiÚ… 2ßløûW¬X1ùùùÉ××W~~~ºï¾ûäï﯀€Õ®][%J”°ïLçA9ຒ““µuëVmܸQ;wîÔÎ;3?Ý*[¶¬jÖ¬©ªU«ªL™2*W®œ|}}åëë›ùÿeÊ”¹¥lÈ™k×®é?þÈ|ä¯o†œþøcy{{käÈ‘zþùçU¸pa³£€½PÎ8§””M›6MãÇ—¿¿¿ÆŽ«°°°[Î6Àµ$&&jΜ9zçwT @Í;W:t0;Øå €ó9|ø°:wî¬#GŽhÒ¤I>|¸<<<ÌŽ >}ZÇWtt´¬™3gÊÛÛÛìXp/(gœËöíÛÕ¡CU­ZUK—.UõêÕÍŽÀDŸ}ö™úõë§Æë³Ï>ãd?œå €óزe‹þñ¨mÛ¶Z²dÉ-×àžöìÙ£'žxBeË–Õ7ß|ÃÉB8«Ž`9‹/V·nÝ4þ|%$$H’~ýõWuîÜY?þ¸V¬XA1éÁÔ¶mÛtêÔ)õèÑCiiiJOO×®]»ôÖ[o©C‡:vì˜Ù1à®øä €å 6L³gÏ–ÍfSzzºªW¯.›Í&›Í¦˜˜•.]Úìˆ,híÚµêÔ©“4h ƒêÂ… òööVJJŠ6oÞ¬V­Z™î$ÁËìðw%J”nܸ!éÏOÍ|||”œœ¬òåË«Y³fzâ‰'Ô½{wU¨PÁä´ÌôÝwßiùòåúßÿþ§¸¸8yxxh×®]JII‘¤Ìÿ–(QÂ̘-”3–S²dIýýCýäädI¾Ðúæ›o´yófíß¿_fD`ééézôÑGuýúu¥§§gNËøÿ¿¢œp|ç €å”(QBiii·ý¹aÊŸ?¿Æ—‡©X‡‡‡¦L™’­û–*UÊÁiàÞQÎXÎÝÊ™ÍfÓ{ï½§5jäa*V4tèP=òÈ#w¼Æ™——— ,˜‡© w(g,çN‡y{{ëÿø‡ú÷‰X•ÍfSDD„ ,(›Í–å}¸ögA9`9%K–Ìrº‡‡‡ *¤ùóççq"VV¾|y}ôÑG·|W5CñâÅó8äå €åÜôôt}øá‡òóóËãD¬®S§NêÖ­[–‡7Þî °ÊËɪœy{{«oß¾êܹ³ ‰8ƒ¹sçªtéÒòôô¼iº¯¯¯I‰ g(g,§`Á‚òññÉü·§§§Ê–-«3f˜˜ €Õ+VL .¼éTú\¸€Ó œ°¤Â… gþzzº-ZÄ—úÜUÛ¶m5|øpyyýy)W///®qÀiPÎXRÆ‹)///3F­Zµ29g1eÊÝwß}òòò’Íf£œp”3–”ñ~…‡‡›œ€3É—/Ÿ/^,Ã0tãÆ Ê§A9`I¥K—–···–.]ª|ùò™€“©_¿¾^ýuIw¾v"X‰Í¸ÝEA˜êرcÚ¹s§Ù1L£ÔÔTµhÑÂì(¦iذ¡ªV­jv XÄ·ß~«ßÿÝìN%--M‹/Öc=¦2eʘÇ©xzzêñÇWþüùÍŽ¸“Ê`QÝ»w×Ò¥KÍŽuëÖMK–,1;,ÂÛÛ[©©©fÇ€ùì³ÏôôÓO›p' ÖXTZZšBBBd†åo’izŽ»Ý"##%ÉôÙ¹…„„(--ÍÌU“ššêgÙ½IαÝpçñðf÷(g`”3°ÊXå ,€r@9  œ€PÎÀ(g`”3°ÊXå ,€r@9  œpZÇ7;Â]?~\3gÎÔ;ï¼£_~ùÅì8Ü3l+ü‰r¸ˆÍ›7«}ûö²Ùl²Ùl Vpp°š4i¢.]ºhÏž=w}Ž™3gÊf³Y2gF¶¿Þ&Nœhɬ’tõêU½ð j×®êÔ©£±cÇÊßßß¡y ¹]wOœ8¡ˆˆuíÚUAAAYÞg×®]jÛ¶­Š)¢òåËkРA:{ö¬#‡ãÐñüU^l%ÇŽÇŒm%;2XRHHˆ’£Ç\¹rÅdT«V-sÚåË—ÐÐPÃÃÃÃX±bÅm»cÇ£@Fn6 ’ŒÈÈH‡åLNN6‚‚‚ŒÉ“'gÞÞ~ûm#>>>G9###s<¾ÜÌÓ .AAAF@@€qæÌ™ý¾ ¹YþpmŽþ;ËpþüyC’Q³fÍ[~öÃ?;v4¾ýö[c÷îÝF= IÆO<á”ãù«{Ù†5Æc¯menÆÀ.âùä p!… ’$ùøødN+\¸°&Ož¬ôôt½÷Þ{Y>îÂ… Zµj•*UªdÉœK–,QÏž=õÒK/eÞ^|ñEU¬XÑrY%iРAÚ¾}»,X Ò¥K;<#•ÜnJ”(qÛçܸq£>ýôS5oÞ\=ô>þøc+VLß|ó}ÃgÁãÉ×Û@É1ã1s[ À>(g€(R¤ˆ$éòåË·üÌ0 Mœ8QcƌɓÃyî$«œééézçwôâ‹/ª]»vzíµ×ô믿š1ÓíæéƵlÙ2µoß^Mš41#pGwÚÜͨQ£T°`Á›¦¥¦¦*,,Ì.Ùrã^Æ#Yk(å~úè-?›9s¦BCCU¬X±¼Žu‹¬r&&&fØØX½ùæ›zànVLI·Ÿ§ ,$U¨PA7V‘"E¤Í›7çuD KwÚäDzzºÆ¯©S§jΜ9öˆ–+÷:+m¥ÜǪÛJ9ãevö—””¤ØØX>}Z«W¯Ö'Ÿ|¢>}úhܸq7Ý/&&F©©©jܸ±es/^\Ó¦M“$]ºtI3gÎÔ믿® &¨\¹r4he²JÒ¶mÛ$I 6Ô´iÓ´oß>…„„¨mÛ¶Ú³gêÔ©“'y Ù]wsbÅŠš>}º¾ýö[U©RE†ahÈ!yòÉ“=Çcö6P²ßx¬²­po(g€ º|ù²¾øâ M™2E>>>Š‹‹SµjÕnºÏ¹sçôá‡êƒ>0)eörþU±bÅôꫯªtéÒ:t¨fÏžg/8²›õĉòóóÓàÁƒ%IMš4ÑäɓիW/MŸ>]y’ÈÓ¿³ìhݺµjÖ¬©7jìØ±:t¨¼½½5`À;¥¾={Ç Û@É1ËÇÌm%€{Ãa€ òõõÕo¼¡÷Þ{O‰‰‰5j”ÒÓÓoºÏСCÕ³gO:tHÔÁƒuãÆ IÒÁƒuäÈKäÌÊ Aƒ”?þ<½nXv³–(QBÞÞÞ7M –$íÛ·/O²•Û¿³;)Q¢„jÕª¥aÆiÞ¼y’¤… Ú#î]ÙkÌØV¸7”3À…õë×O½{÷ÖÊ•+5iÒ¤›~¶zõjµiÓF<ð@æíرc’¤x@íÛ··DάxzzªdÉ’¦\7ìnYtúôi†‘9-㌅ γœÀßåôï,»:vì(éÿÎ>˜Wîufn+äå p!-’d³Ù4{ölÕªUK&LÐÚµk3–””$Ã0nºÕ¬Y3óy>l‰œY9yò¤Nž<©ÐÐP‡eÌÓ¬O?ý´nܸqÓEdÏœ9#IjÔ¨‘Ãóîõï,»Nž<)IêСƒ]žïvì=3·¿ã¯±|òr[ À>(g€ ¹v횤?_td(T¨¢££U @………)..άx™r’3<<\Ç×$Iׯ_×СCª1cÆX*«$ 2DÕ«W׿ÿýïÌ_+V¬P™2eò$/!·Ûƒ«W¯JR–‡ÖM:U}ô‘%ýù÷8fÌõïß_C† qÄ029b}4jÔ(1BK—.•§§§¥²JR¾|ù#õêÕK¯¾úª¶oß®]»v©dÉ’Í dÈíö`Ó¦M1b„$騱cš6mÚMŸŸ?^&LÐ}÷ݧ‘#Gj„ zå•W4þ|‡ž©ÑQã1‹#Æcæ¶€ýØŒ¿®Àºví*IŠŠŠ29ÉÝÙl6EFFff¶ª¨¨(…††Þr8‘9ÓòGÞp–¿³ìb<ÖæjãœDŸœ€PÎÀ(g`”3°ÊXå ,€r@9  œ€PÎÀ(g`”3°ÊXå ,€r@9  œ€x™ÀíÅÇÇ+::ÚìÙ+›ÍfvŒ;Š•$§˜§ñññªT©’Ù1`1Îðw–Œnf3 Ã0;€[5JÓ§O7;L4räHM›6Íì°ˆJ•*)!!Áìp^^^Ú¸q£Z´havÀ$PÎ7¯íÛ·«K—.fGq)ÑÑÑjÒ¤ ŸtÁ%°>[Û²eËÔ¸qc–àšøÎàFÖ¯_¯~ýú™ÃåtíÚU111fÇì‚õÙÚúô飯¿þÚì„r¸‘ÄÄD-ZÔì€\*Z´¨ÍŽÀA(g€¡œ€s+Z´¨.]ºdv B9ÜÈáÇU¥J³cr©zõê:|ø°Ù18å p#?ÿü³êÔ©cv @.Õ®][{÷î5;¡œn"99YTíڵ͎È¥ºuëjÿþýº~ýºÙQ8å p_ýµ’’’Ô²eK³£réÑGUrr²6lØ`v@9ÜÄŠ+Ô AU«VÍì(€\*[¶¬5j¤U«V™€PÎ7påÊ-_¾\;w6; àõèÑCK—.ÕÙ³gÍŽÀÎ(g€˜3gŽ’’’4pà@³£îQÿþýU @Íœ9Óì(ìŒr¸¸ .hêÔ©6l˜J—.mvÀ=*T¨FŽ©iӦ騱cfÇ`G”3ÀÅ 6Lžžž;v¬ÙQv2zôhU­ZUƒ RzzºÙqØ å pa}ô‘–,Y¢ˆˆ•,YÒì8;ñññÑüùóµe˽üòËfÇ`'^fà«W¯ÖàÁƒ5nÜ8µoßÞì8;kÔ¨‘"""Ô«W/•-[V£F2;€{D9\ÐâÅ‹5pà@ 0@'N4;ÀAÂÂÂôÇhôèÑ:uꔦL™"›Ífv,¹Äa€ INNÖØ±cÕ«W/=÷Üszï½÷ØI€‹5j”¢¢¢4kÖ,=ú裊7;€\¢œ."&&F?ü°fÏž­ è?ÿù<==ÍŽÈ]ºtÑ–-[” ºuëjÖ¬YJII1;€¢œNnïÞ½êÝ»·Z´h!___íÞ½[½zõ2; 5lØP»wïÖ!C4fÌÕªUK ,Ð7ÌŽ ›(g€JNNVtt´Ú·o¯ºuëjïÞ½úì³Ï´iÓ&˜`’ èí·ßÖÁƒÕ¬Y3 }Z JHHP\\œöíÛ§ŸþYû÷ïWRR’<<|¸j×®­Zµj©`Á‚&ŽàŠêÕ«§zõêeþûìÙ³Ú±c‡vîÜ©ýû÷kݺuš5k–®^½*I*^¼¸*W®¬Ê•+«bÅŠªP¡‚*W®¬ *¨bÅŠªT©û+À(gÀ]\½zU'NœÐéÓ§uêÔ):uJ§OŸÖÉ“'o*bgÏžÕùóçoy|ñâÅåëë«Ò¥K«T©R P›6mT¹reUªT)s§–?~F€Tºti=þøãzüñÇoš¯_~ùE‡R||¼âããuðàA}ýõ×·¼ÉX²dÉÌÒ–±o«Zµjæ­|ùò\{¸ Ê éÒ¥KŠ‹‹ÓáÇõË/¿dÞ>|Sá²Ùl*S¦ŒÊ–-«òåË«téÒª^½zfñ*[¶¬J•*•ùïÒ¥KËË‹?3€sªT©’*Uª”y8äß9sF'NœÈ,nÿ§õë×+>>>ózk>>>ª\¹²üýýU»vm*00P<ð€ *”—Ã,‹Wp;iiiÚ³g¾ùæmß¾]»wïÖ‘#Gd†|||T­Z5Õ¨QCM›6UïÞ½UµjU•+WN~~~*S¦ e €ÿÏ××W¾¾¾zðÁ³üyZZšNž<©ãÇëèÑ£:~ü¸<¨ 6hæÌ™™ß¯®Zµªš6mª–-[ªU«V\n‹W™p /^ÔÚµkµråJmذA/^”¯¯¯š4i¢ž={êá‡V`` ªT©"OOO³ãà<==3?}kÞ¼ùM?KKKÓ¯¿þª½{÷jïÞ½Úºu«FŽ©«W¯ª\¹rjݺµÚµk§§žzJ%K–4i@Þ¢œÁe†¡M›6iÞ¼yZ¹r¥ ÃPpp°ÂÃìÀÀ@Ž}À$žžžò÷÷—¿¿¿:uê$IJMMÕÎ;µeË}óÍ76l˜žyæµmÛV ÐSO=Å,pi\„.'==]ÑÑѪS§ŽÚ¶m«øøxÍ›7O§OŸÖºuë2Ï„H1ÀZ¼¼¼¤_|QŸþ¹þøã}üñÇòòòRhh¨ªV­ª)S¦džEp5”3¸”ØØX=üðÃêÖ­›êÖ­«üQß}÷úöí«âÅ‹›ä@‘"EÔ£G­Y³FGŽQXX˜&Nœ¨5jhΜ9JOO7;"`W”3¸„7nè…^PóæÍU¶lYýôÓOúôÓOU·n]³£;¨ZµªÞyçýúë¯êÑ£‡žþyµlÙRqqqfGì†r§wæÌµk×NóçÏ×| /¿üRfÇàëë«©S§j÷îÝJNNVƒ ´bÅ ³cvA9ƒÓ¸|ùò-ÓâããÕ¸qc*^¼¸:tè Ï>û̬ˆpÿüç?ïzooouìØ1Ò÷†õÎìÊ•+š>}ºš5k&???­Y³F.\Prr² ÃPrr²$©@&'²ÃáþZÎþ*55UÒŸgk\»v­~üñGuîÜ9/£ÁÍ´oß^E‹Ubbâmï“’’¢°°°>>·½OñâÅÕ¦M›ûì3y{{› îÈf³),,,ËCÁÊ•+§   R¹Ãú g¬—_~ù¶¯(gp&”38¬K0 C|ðªV­š÷àÖ²:ÌÇÇG}ûöåBèp:¬ÏpvááájÖ¬Ù-oÔRÎàl(gp/g^^^ÃÙyxx(222ËïŸå˗ϤT@ÎQÎà4þz¶%///U«VMÓ§O71Ü]Ïž=oz—¶FªS§Ž‰‰€Üc}†³óóóÓ¢E‹n9­>ŸœÁ™PÎà4þzR›Í¦èèhN SõìÙ3ó¢èÞÞÞêׯŸÉ‰€Üc}†+xì±Ç4vìØÌÁÙáT(gpEŠ‘ôg1{÷ÝwU¯^=“ÁÝÝwß}™ëajj*‡ØÂ©±>ÃU¼ùæ›jР¼½½•––Æ'gp*”38Â… K’ž|òI=óÌ3&§þÔ»woIRýúõU½zu“Ó÷†õ®ÀËËKË–-S¡B…(gp:”38%J¨\¹rúè£ÌŽd •§§§zõêevàž±>ÃUT¬XQ‹-’Íf»ãµR«±ÿÖ$,+::úŽZtuW¯^•tç R»º…„„8ìùG¥„„‡=¿«:wîœJ”(qËÂpgžžžšú(óöÌ3ÏuêÔÉÑï•dDFF:$§aÆìÙ³ IÆ?ü`†aüþû··Ñ©S§匌Œ4rúg“¬W¯^5üýýI“&eNûàƒ ___ãøñã9ú½¹Yþ9åèå–áüùó†$£fÍš·üì7Þ0ªT©bœ?>ó¾UªT1þûßÿæp4ÖONîs7Vψ#Œ°°0cÖ¬Yƈ#Œüùó’Œ>øÀáãqôó;jù_¸pÁ 2Œ3gÎälaöxì¹°Âx Ã~ûÃpýõÙžû3Ãpüx²³­r¦ýMN¶½fìo`7ñ”3'’ÛçYýþú믆$£]»v™Ó–,Y’å ‡¾}ûááá9þ9ý£ÎnNÃ0Œ   C’ñûï¿gN«P¡‚Q¸páýÎÜ”³œd8q¢!Ɉ‹‹Ëœ–œœl”(QÂèׯ_Ž~§ËYÆc²»Üîö¸cÇŽ^^^Æ[o½uÓô7ß|Ó(X° qöìÙg3s<¹¹ÏÝoæxŽ=jtïÞý¦iëÖ­Ëõ¸¬öb6ã1ö^þ]ºt1<<<Œ˜˜˜eÉêw˜9{î#2~‡ÙËÇ^û’ŒßáÊë³=÷g¿ÃQãÉζʙö7¹ÙöRΜV<‡5º©"EŠH’._¾œ9­[·n*]ºôM÷»qã†V¬X¡.]ºäi¾ Y唤%JH’V¯^-I:þ¼Nœ8¡Ö­[çi¾¿Ê*ë·ß~+Iª\¹ræ4oooÕ¯__ÑÑÑN(ØíÜn¹ÝÍâÅ‹•ššª¶mÛÞ4½M›6ºvíš>üðC»ẻ܎Ǫr;ž„„M›6í¦i<òˆJ—.­'NØ-ŸÕÜËò߸q£–-[¦öíÛ«I“&öŽ–+¹÷Ò½-+îK-·ó˪û³¬Æ“m•3íoÜuÛë®(gn*22R’ôè£Þñ~ëÖ­SÅŠõÀäE¬[Ü.çôéÓU­Z59R;vìÐ+¯¼¢1cÆhÉ’%fÄ””uÖóçÏßôß ¥K—Ö•+WtêÔ©¼ ˜‡²»~ýÝÖ­[%I+V¼iz¥J•$I?þø£Òå\nÇcU¹OóæÍåççwËôääd5mÚÔ.Ù¬è^–ÿ‚ $I*TPãÆU¤HióæÍöŒ˜#ö\ŸÍÞGH÷6+îK-·ó˪û³¬Æ“m•3íoÜuÛë®8[£›HJJRll¬NŸ>­Õ«Wë“O>QŸ>}4nܸ;>.22R!!!y”2û9«§žzJ­ZµÒàÁƒ5eÊ”<˙ݬµjÕÒ®]»´aÃõîÝ;sº···$)---O3;Jnׯ¿;yò¤¤ÿ{7;CÉ’%%IGµOà»°×x¬Â‘ãÙ¶m›’’’n‡¤Ö`ÏùµmÛ6IRÆ 5mÚ4íÛ·O!!!jÛ¶­öìÙ£:uêØ;þ-¹üóz!Ùw}ìÒ:ì9¿J”(‘ùÉB†àà`IÒ¾}ûî9kv8jù›±ì;+ìKÍ^óË*û³ÜŒ'«m•3ïo\uÛ‹?QÎÜL¿~ýÔ»wo­\¹R“&Mºã}###Mû’÷ÝrŽ7NçÎSëÖ­•/_>-]ºT’ôþûïçuÔ»f Vll¬®\¹¢Ÿ~úI%K–ÔéÓ§Õ·oß<Ïêh9Y¿²’ñ"/ãp“ ÿnÞ¼ù½‡Ì{ÕØs<+W®Tþüùõæ›oÚ)õØc~èôéÓ7,!㤅 ¶KÎì²÷úlæ>B²Ïx¬´/q4{Ì/+íϲ;žÛm«œuãÛ^wG9sq?{’ÍfÓìÙ³U«V-M˜0Ak×®ÍòqW®\ÑÚµkóì»9Í™’’"éÿŽu¯T©’Ê”)“'‡¡ävžJ¾0f̵hÑBÝ»wwtT‡»—y‘•.]ºÈÃÃC7n¼iú¦M›äíí­=zÜsæ;±÷xÌæ¨ñ|ùå—JHHÐøñão:$(ãlnÎÊóëé§ŸÖ7nº¨ì™3g$I5º·ÀwáÈõ9¯÷’cÆcæ¾Äѽ=ËëýYnÆs§m•3îo\uÛ‹›9ÿÖwtíÚ5I~á4C¡B…­ (,,Lqqq·çõ>BrÌxÌÜ—8š#—¿û³œŽçnÛ*gÛßädÛkÆþv”×WVCîåô"ı±±Æ Aƒ I†$ãµ×^3öíÛ—ùó ’ ???cîܹ7=öÉ'Ÿ4^{íµ\gU.^˜›œéé鯼yóŒFÿú׿ŒN:/¿ü²qíÚµåÌéE¨s;O÷ìÙcÔ¯_ßèÑ£ÇM;Í «]„:·óbãÆFÿþý I†···1uêTã‡~Èüyzzºñá‡={ö4ÆgtéÒÅxÿý÷ôôt§Ovïã ãÙ¶m›Q @ÌçüûíÈ‘#On˜=¿2üñÇFXX˜f¼òÊ+FXX˜ñÛo¿9íx ãÞ÷V½ö%9OnXa~†}ögŽOv·Uβ¿Éɶ׌ý ì*Þf.z\ÔµkWIRTT”ÉIîÎf³)2223³UEEE)44ÔaÏuèÐAõêÕËõsåÅòw–å–]ŒÇÚ=æ—µ1k=ÿÝØs&™?{c<°“×8U`QÕªUÓĉÍŽÀ=aä çÿÒ ¸ÊXå ,€r@9  œ€PÎÀ(g`”3°ÊXå ,€r@9  œ€PÎÀ(g`^f@ÎÄÄĨk×®fÇÈ–éÓ§kÙ²efǸ£øøxIrŠy£   ‡ÿgXn9ÁxÜ›«Í/ÆãÞ\m~1àV6Ã0 ³C {¢££mv ˜($$D!!!{þQ£F)!!ÁaÏü•§§§&Ož¬ªU«:äùYŸ‘—XŸáJ½>ã¶(gnnëÖ­š5k––.]jv—Ò­[7 >\Íš53; Ù’ššª=zh̘1jذ¡Ùq…=zhèСjÑ¢…ÙQà |çÌÍÅÅÅéóÏ?7;†Ëùßÿþ§C‡™€l;w££uíÚ5³£à66lØ Ÿ~úÉìp Ê™›»|ù²Š)bv —S¤H]¾|ÙìdÛùóç%I¥J•29 n§dÉ’™Ë ®‰rææ~ûí7U®\Ùì.§bÅŠúí·ßÌŽ@¶;wNåÌÊJ–,© .˜D9ss¿üò‹ªU«fv —sß}÷é—_~1;ÙvøðaåÏŸ_¥K—6; n£råʼ¾pq”37f†¶oß® ˜ÅåÔ¯__±±±fÇ Û¶nݪFÉÛÛÛì(¸   ÅÄĈóù¹.ʙۿ¿Îœ9£¦M›šÅå4oÞ\§OŸÖÁƒÍŽ@¶lݺ•³Z\Ó¦MuîÜ9ÅÅÅ™B9scË—/W¹råÔ¨Q#³£¸œÆ«\¹r\—à~ûí7:tHÍ›77; îàÁTáÂ…õÕW_™B9sSiiiúøãÕµkWyx°Ø›‡‡‡BBB´`Á¥¥¥™€;š3gŽÊ•+§¶mÛšwàíí­îÝ»kîܹÚè¢xUî¦>ûì3;vLÆ 3;ŠË6l˜Ž=ªåË—›€Ûºqã†"""4tèP¾oæž}öY8p@[·n5; ÀfP»ÝNrr²Õ¸qc-Z´Èì8.-,,LÛ·o×¾}û”/_>³ãp‹3fèÅ_ÔñãÇU¶lY³ã ‚‚‚T´hQ­[·Îì(°¯>9sC'NÔ©S§ôÖ[o™Åå½ýöÛúý÷ßnvnqòäIM˜0A/¾ø"Å̘̉1C6lPTT”ÙQ`g|ræf¾þúkµoß^³fÍÒ3Ï(gndß¾}jÙ²¥yä-Y²D6›ÍìHn#,,Lk×®Õ–-[T·n]³ã ððpMœ8Q_ýµZ¶liväйsçôàƒêþûï×_|!///³#áÞqX£»Ø±c‡Zµj¥Úµkë£>¢˜å±ˆˆÕ¯__­[·Ö·ß~kv€›[ºt©^ýu͘1ƒbæ¤J•*¥U«V)&&FÏ?ÿ¼Ùq`'”37ðÕW_©mÛ¶ Ò—_~© ˜ÉíäË—Ok×®U›6mÔ¾}{­\¹ÒìH7õÉ'Ÿ¨wïÞzñÅõì³Ïš÷àá‡Ö‚ 4wî\=šÓë»Ê™ KIIÑ+¯¼¢Ç\:uÒòåË)f&ÊŸ?¿¢££5tèP=ýôÓ2dˆ®^½jv,€™1c†úõë§¡C‡rb0ѹsg-Z´Hï¾û®ÌõUß9sQPïÞ½uàÀM:UC† 1;þbáÂ…1b„Ê”)£?þXAAAfG¸°Ë—/ëÙgŸÕâÅ‹5eÊ=ÚìH°³µk×*$$D7Ö’%Käççgv$äß9s5gÏžÕˆ#T¯^=Ùl6íÞ½›bfA½zõÒtÿý÷«Y³fêÚµ«>lv,€ Ú½{·êׯ¯¯¾úJŸþ9ÅÌE=ñÄÚºu«Ž?®† jÛ¶mfGB.PÎ\ÄåË—õÎ;ïÈßß_Ë–-ÓìÙ³£€€³£á6üüü´råJ-[¶L?ÿü³5|øpýöÛofG¸€ëׯ륗^R“&MT©R%íÙ³G=ö˜Ù±à@?ü°¾ÿþ{=øàƒjÕª•ÆŽ«ëׯ› 9ÀaNîÌ™3š1c†fÏž­ÔÔTýë_ÿÒØ±cU¸pa³£!RSSõÑG)<<\üñ‡ºté¢^xAõë×7;À ­]»VÏ?ÿ¼Îž=«É“'kÈ!òðà=ywa†æÏŸ¯Ñ£GËÏÏOsæÌQpp°Ù±pwÖè¬bccÕ¯_?U©RE|ð^xá?~\ááá3'äåå¥Aƒé×_UDD„8  ¨Y³fŠˆˆÐ•+WÌŽp»wïV»víôÏþS=ôöï߯¡C‡RÌÜŒÍfÓÀõóÏ?Ëßß_mÚ´QHHˆŽ?nv4Ü©N$11QsæÌу>¨   íÙ³GÓ§O×±cÇôÊ+¯puxàíí­ž={ê‡~І T±bE=ûì³*W®œ  ï¾ûÎìˆ JHHÐ!CÔ¨Q#%&&ê›o¾Qtt´Ê—/ov4˜¨R¥JZ³fÖ¯_¯èÐK/½¤Ë—/› ·ÁaNàûï¿×¼yó´dÉ¥§§+44TC† QãÆÍކÀÁƒ1jÔ(žONDd@ÖÓï¹çœ8qÓ§O×»$ºKEFFâèÑ£øáˆ)S¦ ¨¨Hï’î lÎ4vüøqŒ5 gΜÁ'Ÿ|‚_|z—Ew©ÿøÇ8~ü8† ‚1cÆàwÞÑ»$""ú>øàÄÆÆbìØ±())A`` Þ%Ñ]Î××HMME\\¶oß®wInÏcéÒ¥Kõ.ÂÕÕÕÕaëÖ­ðõõµû²“'Obâĉ>|8<ˆx@Ç*‰îðññAJJ jkk‘™™‰   Œ5Êöûo¾ù0`úõë§c¥DDîiûöíhllD@@€í±£GbêÔ©HLLÄŸþô'ôêÕKÇ ‰þ?EQ0uêTTWWã7¿ù ¢££1dÈÛïÿóŸÿ ¸¸‘‘‘<Ñs•üž3|öÙgˆŠŠpçK‚“’’…¹sçbÈ!øóŸÿ «$jmùòåX¶lÖ¯_Þ½{cçÎ())Acc#Ö¬YƒÌÌL½K$"r+7nÜ€ŸŸ ‰‰‰ˆ‰‰Á¼yó…¢¢"Þµ™ ID0wî\ìÛ·o¾ù&Nž<‰‚‚|õÕW€ÿûß>|¸ÎUº¼2¾ûUÐü‹~O:…W^y èß¿?&NœˆòòrÞøƒ §²²<ðÂÃÑžž¢(hll„——EÑ»D""·ãååeûwyy96lØ€7Þx‹~~~8pàbccyäŒ ¥ºº~ø!EAmm-RSSáåå…ºº:Û<³êà5g*hù.ëwBܸq+W®DXX"""››«GyDvJKK1cÆ Ü{x;w.NŸ>††466Ú}ŸIó?:‘:ZîÀÖ××jjj°k×.L:ýû÷GJJ jjjô(‘Ȧ©© ‰‰‰ðóóÃÌ™3±{÷nÔÖÖ€]cÜù®4ê9î}© £Ó¬;»ÿýï±qãFg•DÔ®üü|ìÛ·uuuhjjj÷ &Ùœ©ÏÓÓ³Ýër¬Ûãšš>>(((°ýìíí­c5î…{_*°þÕÀl6cß¾}¸çž{t®ˆ¨{6lØ€ádz9#"Òµ9[½z5bbbt®†¨{~ðƒØîHîãã£s5îƒ{_*ððð@HHòòò0räH½Ë!ê6‹Å‚¢¢"òf6DDyðÁñÄO`Á‚z—BÔ#óçÏÇŒ3ªw)îCZ œ89eòôô”¿ÿýï-‡¡j8ž99sÒz<MFF†îï;Nw×”‘‘ÁñÌÉm¦6ÆóÅV÷€/++CFF†ÛfOHH`KHH@yy¹f¯Ïñllî˜GËñLd4eeeˆŽŽÆK/½¤w)ªX»v- ##CçJÔány^ýu”••iöúÏÆænyÚÏ­¿  @tt4âãã5/ÊY˜çîænË‹yˆÈH‚ƒƒÝæ=\XXÌcPÖ>Þ¡çh±ß ÖvÉ(yÔÚ.%OsŸ~ú©ôîÝ[ÚØÕ$Ö¯¯Åòª««“˜˜ùÝï~g›V¯^-/^tÉ<""7nܘ˜ “k×®9T“‘òœG­åÕ•×v´6=ótõ=ìHmz¯G×agµ±9£»Iww–ÕüœUs»d„<"êm—Œ’Ǫ¢¢B-Z$aaanÓœ‰¨¿¼¶mÛ&6lp¸Ž–Œ’GD$..NL&“9rÄáz¬Œg×®]m6—©©©²|ùr‡êj¯9Óì† ¾¾¾€›7oÚ+++Ã믿n7ߤI“àïïK—.Ùëß¿? ¸¸PQQK—.á±ÇÓªÜNu7Ï¡C‡ßýîwmó˜Íf<ôÐC(,,Ôü”‹ö´•^zé%ôéÓÇ†$''vìØ††Lœ8Ñnž & ºº[¶lѰjýtwyUwótõ=ìl=Y?®º‰ÜMw?g]i»ÔÕZ¸]êIàÎ%ÙÙÙÈÌÌt‹S;ÓÝåÕÔÔ„W_}/¿ü2bcc±xñbœ={Öy…·£'뿤¤{öìÁäÉ“휂;ÑÝ<³fÍ‚¿¿¿Ý<µµµØ»w/âââT©M³æ,??ð£ýÈöØØ±c1hРVóÖÕÕá‘G±ý¼víZ <øôÓO±hÑ"dffb×®]Z•Û©îæ©¨¨°û¯•¿¿?nݺ…òòr­JîP[yZjjjÂ’%K““ƒÜÜ\ÀáÇAAAvóNœ8¡E¹ºëîò2ªîæéê{ØÙÔZ?®´‰ÜMw?g]i»ÔZ²]êižuëÖ!11ýúõÓ¶Pƒèîòª¬¬´51¥¥¥X±bÂÃñ|ùrçÞŽž¬ÿmÛ¶ñðÃÃ××111øøãµ-ºj½?àÀ Bxx¸:ŵuè¯;§…„„È‘#Gdß¾}òÓŸþTÌf³Ì;Wnß¾Ýás:$^^^RZZj÷ø×_-111b±X$==Ý¡zZÖ¦gž9sæÙ¶m›Ý|³gÏòÕW_2Ï{ï½'ãÆ³=777WšššdĈ@ª««í毪ª­y­__ÍåÕÖkëqZ£VyDÚ»ZG2«™‡È•õä4#µ÷§-FËÓÓí’QòüãÿœœÛÏC‡u»ÓµXÿß~û­dgg‹‡‡‡¼¼<‡ê2Jž!C†Ù´i“TVVÊ‘#G$((HL&“|þùç.—§¥¤¤$Yºt©Ãui~Í™ŸŸŸ,Y²D,‹ôíÛWΞ=Ûéóêëëe̘1òÎ;ï´úݹsçäñÇ—)S¦Y°`466:T—µ6=óœ8qBL&“ÈáÇåÛo¿•={öÈ}÷Ý'R__oÈ<rêÔ)Y·níÂÝ-[¶Ø>$Zæêêj £FÒ<Ö¯¯æòjëµõhδÊÓÑ{¸«µ%OW3«‡È•õdgIíýGæiÑòôt»d„<ׯ_—´´4»}8wlδÏ""¹¹¹@FŽéP]FÉc±XdРAvýñÝÁ(yš«ªª9uê”Ãu9í† o½õ–3ftÚLeeeÉÂ… [=~äÈ0`€HMM<òÈ# Íy»R›ÞyJJJäá‡ooo‰ŒŒ”­[·ÊÀ[ݼ «µ9+ÕöíÛ€<úè£òì³Ï )//·›çÒ¥K@¦NêpmFlÎÔZ^½vw-O{cÞ‘ÚŒ”Ç‘yÚ«ÍÝMÔ¸@_ÏYGçióXug»d„<ñññRRR"_|ñ…mºÿþû€|ñÅræÌÍóhýúZ¯ÿ††±X,âíííP]FÉ ÁÁÁv••• =zt—ë2Jžæ %""ÂášDœxCgžysæÌAQQV®\Ùî|EEE°X,X±bE«ß-\¸ß|ó {ì1ôêÕ »wïäåå©]n§ÔÈ3~üx”––âÖ­[øüóÏáç燫W¯"55UÃÊÛÖÕ<ÍMŸ>àí툈ÀåË—íæ±þ‰ÚÚZ»/}¾ví`ôèÑZİÑrýܺu ï¿ÿ>âããU­Ù³§/P]] ¨©©±=æííÂÂBDEE!99ÿüç?moÄ?ü¯¾ú*žzê)¬_¿À;>}ýúõøqã’’‚Çcÿþý˜={6ÊÊÊpõêUÌ›7¯§åê’Ǫ¶¶iiiP;wîtJ³éhžœœøùùá©§žBß¾}qûömdff"-- Ï?ÿ<EAVV6mÚ„çž{}ûöEee%6mÚ„ßþö·¶»6º*µ—WsUUUîŒgÑ"#cÞò8²‰¨ç´øœu¥íRWjÕs»¤å~;R{y}ôÑG¸ví~ñ‹_ <<·o߯Ïþs$&&"33ÓåòŒ7Ï?ÿ<~ÿûßãµ×^ÃŽ; ( öîÝ‹jžIËñ\\\Œ 6LÝ¢[žè®™(--µ]ƒ@/^lwAܶmÛ€ 4Hþð‡?È'Ÿ|b» µ­éË/¿‘¦¦&Ù´i“Œ=ZæÏŸ/3gΔ¬¬¬Vwì #ä9~ü¸<ôÐC’””d÷åÚFÊ#"²páB ™?¾dff¶úÂÀ¦¦&Ù²e‹¤¤¤ÈÂ… %..Nòòò¾³£yºÃËKäÎu‡iii@Ìf³äääȱcÇ\.#cÞòtu-ò¹G¯ÑâsVÍí’òˆ¨·]2Jž–Üå† Z,¯¼¼<6l˜ôéÓGæÌ™#/¼ð‚üõ¯uÙ%%ż·ôôô^xÁÍÍ­fÍšC‡Í17GùݰWÖëõ‘‘‘•*U:þ¼åMÆÕ«W·iÓÆÛÛÛÃãE‹~ø!·$ ¼*‘üÞ¹s§^¯oß¾½©å7Þˆˆˆøí·ß^~ùå>}ú|óÍ7Ý»w7_¥]»v"²}ûvuÒ`0ˆHŸ>}’““GŒQ½zõ¥K—¶nÝúÁƒêÜ®]»Î˜1ÃÛÛ{Ò¤I . 6"rëÖ­Î;Æ×^{ÍÇÇçÃ?|ꩧ̳?·ž={Ö¨QC½a¿|ùò.]º„††¶oß~Þ¼y•+W^¾|ù¬Y³L >|ذa<?~|PPÐ’%KºtébðÑÑÑžžž‹-ªW¯ÞªU«† Vè#9~üø½{÷>ÿüóîîî–7ûÊ+¯¤¦¦4(::úîÝ»#GŽ\¶lY¡7 (Ó”‡®„‡+áV1b„ˆ?~\iz¬vXhMš4)à¦ãââþö·¿ 8pܸq;v ÷ññ)ÊÖeV‰ä·«««ˆdffªã×ÌG–™äÈEu1uE1 ¹‡zÙÙÙ©]éõzÓ’aggçââ"ÿ‹À¢HLL‘V­Zåhwtt4=vrr*`oêí| LXXÝtXXXçοùæ›o¿ývÏž=›7ož:uêæÍ›Ÿyæ™Ð¿¦^ËMNNV'›6m*"'Nœ0_F½¯l¢(Ê­[·jÕª¥N †ßÿýƦ®]»vãÆ õª²¿¿RR’i赺­—^zIý®·+^½zõÆêuì3…Û5õÂþíÛ·s\ÇÐëõìAd§:wî\qmúðáÃÉÉÉQQQkÖ¬¹xñâªU«îÝ»÷æ›o>ľ´£Dò»Y³f"¢^둈ˆ™1c†ivFF†ùˆn¹|ùrVV–º¢üoüùœ9sÔ«ÜÊÿF¨…††ŠÈ‹/¾("sçÎ5]_µjÕÚµkÕ“lóFãôéÓE¤ÿþŲk:u‘¸¸8SKbbb­ZµÆŒcu]õšÁñãÇÕI£Ñ¸`Á‚âÚt¿~ýBBBÔãfgg""%õý<Û*‘÷÷=zÌœ9óСCjŠtíÚuĈ~øa‹-BCCííí·lÙÒ AQ?%"‡VWT' ƒ‡‡Ç§Ÿ~ú믿8p`ïÞ½ãÆ‘±cÇ®_¿~ñâŧOŸnß¾ý¯¿þºvíÚàà`ÓµâtëÖ-((hß¾}û÷ïoÙ²åСC‹e×Þzë­¯¿þzÆŒhÛ¶í… ¾þúkõ³jV×íÕ«×ñãÇûôé3jÔ(WW×-[¶äXÀËË«aÆG-Ħ£¢¢,XðÔSOõèÑ#==}ãÆ"òÊ+¯yeÒCv+àøs£ÑøØcuîÜÙ¼åóÏ?o×®]åÊ•Ÿx≙3gª?XÒ½{wuáÇ»¹¹™.»ººúûûÿôÓO!!!žžž55jÔÝ»wMfddL:µY³f...=öØÄ‰SSSM§ãIII}úôñòòjܸñĉMÁÊ-÷˜pÉ5 Ð@IÓ‰.^âÕæÊ¸’úþóÁƒשSgÍš5"røðáÀÀÀ÷z¿øâ Q¯xoÙ²E¯×¿þú릹ê}\§’ßäääôé§Ÿ¾øâ‹£F iß¾ýÛo¿­Óézôè‘‘‘±uëÖ÷ß?$$¤_¿~ƒaöìÙï¿ÿ¾:j]E~`A ŽOîÔ©Ó‚ Nž<Ù±cÇíÛ·¿÷Þ{ñññï½÷ž»»{@@À²eËFŒagg÷Ë/¿DEE 2Ä|ݨ¨(__ß’« M+©ûß4‡û߀†”ÔýoPrÈo´‡ü@{Èo´‡ü@{Èo´‡ü@{Èo´‡ü@{Èo´‡ü@{Èo´‡ü@{Èo´‡ü@{Š·»ýû÷_¿~½xûP\‚‚‚êÖ­kë*ƒbÎïgžy&;;»xûP\"##×­[gë*ƒbÎïìììøøøˆˆˆâí@ÑEDD [W xpÿí!¿Ðòí!¿Ðòí!¿Ðòí!¿Ðòí!¿Ðòí!¿Ðòí±A~èt:???£Ñ˜{npp°N§Óét¥_XñJLLìÒ¥‹““Óßÿþw« e—ÿýï7iÒÄÕÕµp«[eyGJáÙÔét\X¯×?õÔSÛ¶m3Õ6iÒ¤üÊ.D1æ+ðÈŸ9sÆÏÏïÖ­[…ØäÇfçßW¯^ýÏþ“£1%%eß¾}6©§ØM™2eïÞ½S¦Léß¿‰nhèС§OŸž3gŽ:úÚk¯cÿÙ‘²ólΚ5ËÉÉ©gÏž¦–wß}÷ôéÓ…îÐÂñÌqäó2|øpEQ ]ä`³ü®Zµê¦M›r4nß¾Ýh4>òÈ#6)©xýôÓO"2yòäZµj•è†~ùå—úõëO˜0AܲeË®]»Š±ÿ‚ìHy6/\¸°hÑ¢˜˜ósk‡Q£F:;sÏcÇŽÝ»wO}œãÈ[³qãÆï¾û®p5@n6ËïÞ½{oܸ1Ç»êæÍ›ÛµkW­Z5[UUŒ²³³EÄÙÙ¹¶åèèXrdGÊȳ¹páB//¯=z˜7N™2eÏž=ëׯ/–M¸¹¹¹»»›& xä›4iòä“OΛ7¯Xj±a~‡……ýòË/gΜ1µdddüë_ÿ ͽð½{÷ÆŽÛ¤Iww÷§žzjΜ9YYYê¬%%¥Dö¶Èò+UÝ÷sçΩrL–šâz6ÕÝìСƒ§§§¿¿ÿ!CÍ×µð”Ý»wïÓO?íÝ»w¥J•ÌWyã7Ô³ä»wïæW~%å>ž¦×[ŽY .Ôét'Nœ0õ™íããóÌ3Ϩ“}ûöÝ·oßÉ“' t@À›åwHHˆ»»»ùE×ï¾û.===÷;~zzzPPÐûï¿ß Aƒ‰'ºººÎœ9³G¹"ûÊ+¯¤¦¦4(::úîÝ»#GŽ\¶l™:wøðáÆ {ðàÁøñヂ‚–,YÒ¥K—´´´bÙÁ<ÇsZ~¥îܹSDüüüÔ9&‹EAv¤¸žÍÁƒ6ì·ß~ijŽŽnÚ´©ù*õªcLLŒ:™Ý§OQ/ØæXØT†¿¿¿¢(>>>žžžjûåË—}||ÂÂÂEQ‡VuëÖ-++K»dÉ™7ožÕã`Uvv¶³³³««k—·ü\X.Õ´³¦®Ì'‹ÈêŽã³ùÍ7߈HóæÍSRRÔ¹wïÞmÕª•i,‡#FˆÈñãÇsצ(Jhh¨½½ý?þ˜{–åXŽãi¾bŽYM›6}â‰'L“/¿ü²³³sjjª:©Þ5Î÷X—¼ððððp‹ÿ~‰W¬üûPFØ2¿×­['"—.]R%;;»jÕªÓ§OWr½ã‰È­[·L-‘Áƒç^ØT†úÆZ³fMùüóÏõz}ŽeÔ¦ƒšZ²³³ýüüZµj•»æ3ùËsÕÁØ:t°|(Ì ¶ß–K}¨ü.ö)ÆgsÈ!"òõ×_›÷ÿ¯ýË´G–ÃóÏ?/"III¹kSåâÅ‹...:t09fY~<¿Õóû .(Š’™™Y¥J•ÈÈHó}©\¹rýúõó;’¥€üʇ¢œ»Q÷îÝ+Uª´iÓ¦qãÆê÷¨dffæÙˆL˜0aÍš5111½{÷.`I©ßäñÇoРÁæÍ›'L˜°~ýúêÕ«?ûì³æ dff–Ü×ì¨hlüý©aaa¸qãÆæÍ›CCCó5Ý Aƒëׯ› ?uꔈ¨W2Uæc¬Î;gz|øðáää䨨¨5kÖ\¼xqÕªU÷îÝ{óÍ7EÄÏÏODn߾㊄^¯Ï]ÃÙüå^¸]»v;wîÜ·oßÈ‘# qLr{¨R-+Ñ)⳩>¡GŽ1_Þüka,õ^Irrr~å999ÅÅÅݼysÆŒ,© {m¢Óé^xá…ï¿ÿ>11qóæÍýû÷wpøóïcEQnݺUÒ_ â°q~÷îÝ[Q”yóæý÷¿ÿÍó³Fê2"²páBuÒ`0¨Õvõ„æøñãê\£Ñ¸`ÁÓºýúõ 1 "bgg""ê»j§ND$..δpbbb­ZµÆŒ“»†ÀüåYsëÖ­+Uª´{÷î‡;ùx¨RÅâIv‰îHŸMõûݦNzûömuî½{÷̳ÖòqhÖ¬™ˆœ?ÞB…Ï>ûlß¾}?øàƒ«W¯¤$µ¥à-^|ñEEQFŽyÿþýÏ/_¾œ••¥ Åà¡î–ïø5U‡t:Ý#ÇŽ‘7ß|3¿ÚT¿ýö››››ù‹ßrI9ާ…ñkŠ¢ õ"A`` ººI||¼éµ—§–-[zzzZnQÅÓÓ³eË––[òÃø5 <±}~¿ûî»ò¿±¾y. (ÊÝ»wGèêêÚ¢E‹¹sçšâ!;;{þüù5rrròññ3fÌýû÷Mo¬z½~Ñ¢E7vssóòòj×®ú¡ Urr²ú­ÎÎÎ5kÖìß¿~ð !ÏðÈÕ¿®,”š#EæÌ™ãååU¹råÒÙ‘â}6FãªU«Ôïoiذá¨Q£222ÌwÐÂq0=öXçέVn:Õ.HI9ާåüVE½0þüíÇwssË}ñßBµ–?[a¡%?ä7Pžè”‡Ð!"’ ù- Óéâãã#"" Þgypîܹ‡:¼e“†vdåÊ•#FŒHLL¬]»¶­jxçw&Nœ˜˜˜¨^ìQeffúúúFGGäÇèJŽú3!!ÿ¿¢‹—xõŸ9€2Žßÿ.)ê]öÌÌL[RTÚ‘ÁƒשSgÍš5¶*@Q”üã:u2oÙ²e‹^¯ýõ×mU€ò‡ü.)?þ¸ˆ,[¶Lë?ü¬¡qrrúôÓOß{ï=Ó¸ÒôŸÿüçwÞùá‡ÆŽkÞn0fÏžýþûï«7ï XØòóßåÛ[o½uíÚµ)S¦Ɖ'ÚºœÂÓÖŽtêÔiÁ‚'OžÌñÅé¥ 44ÔÙÙyÑ¢E9ÆÞ_¸p!**JšÅ…ü.)uëÖU¿¯[ë4·#¯¼òŠM¶{åÊ•<Û5j4mÚ´R.@¹Çõs´‡ü@{Èo´‡ü@{Èo´‡ü@{Èo´‡ü@{Èo´‡ü@{Èo´‡ü@{Èo´§øìðáÃ:®Ø»PD—/_®]»¶­«P<Š9¿ýüü/^¼xñââí@±hÛ¶­­KP<Š9¿/_¾\¼†úõë§(Š­ äÄýo´‡ü@{Èo´‡ü@{Èo´‡ü@{Èo´‡ü@{úû[É¡‰(‰RPÖ\–Ë"ÂÓ eÐÃåw¸„—Pl.R"[I+[W @t|;&òÃ÷§@™Åýo´‡ü@{Èo´‡ü@{Èo´‡ü@{Èo´‡ü@{Èo´‡ü@{Èo´‡ü@{Èo´‡üÆÃÑéþøÏDQÄÎN.\(Ðê:äÑàa‘ß(ŒuëDD²³eÑ"ILWWIK“¥KåúõœKŽ'NÆÆÊºuâë[z¥@¹D~£0"#EDnÝ’ä‰'$-MZ·–M›ä÷ßÿ²Øùó²fÍ_ZBB$2R<`€|ÿ}qWù‡SÄûÙSP±qýí!¿Ðòí!¿Ðòí!¿Ðòí!¿Ðòí!¿О ýý©äÁ×òµA ¶.¤Œ:,‡Edƒl°u!eW ©ÑQ:Úº Q…Îï¯åëåE[WQÖEH„­K(»Ä!K²l]€Š¨Bçw¶d‹ˆ"EûEŽò+AúI?ŽO~Ôãcë*TPÜÿ@{Èo´‡ü@{Èo´‡ü@{ÈïÒ Óél] < ¿KPhhèk¯½fë*åP…þüwIÛ²e‹¿¿¿iòرcŠÂg©Å€ü.=nnn¶.PNpýÜ:£Ñ¸nݺN:ÕªUËÙÙ¹^½z£GNNN6-••5wîÜ   ww÷æÍ›O™2%33S½Õ}îÜ9Ó=ï÷¿ïÝ»7vìØ&Mš¸»»?õÔSsæÌÉÊÊ2_2==ý…^pss«Y³æÐ¡CSRRò«0ÏJäXÊòÛº &DEEýôÓOýû÷Ÿ0a‚··w\\ÜàÁƒÕ¹ƒ¡k×®3fÌðööž4iR``àÂ… ƒƒƒwìØ!"~~~;wîÌÝgzzzPPÐûï¿ß Aƒ‰'ºººÎœ9³GæØ£££===-ZT¯^½U«V 6,Ïòò+Àh4–ÀÁ” J¯Ä‹býx{{‹ÈúõëÕI½^_µjU'''urÅŠ"2zôh£Ñ¨¶Ìœ9SDvïÞ-"þþþ¦~Ô{áêãyóæ‰HLLŒ:™Ý§OÙ¸q£iÉñãÇ«sïܹãìììêêšgy x˜ƒ‘‡øøø þ ±¬€¯( Üÿ¶îüùó"R¹reu2%%åÁƒ¦ ÔŸþ¹ˆLŸ>ÝtmüÕW_­V­ZõêÕ-ô¹yóf™4i’:ioo³eË–-[¶„……©¦nOOÏÚµkÿúë¯yvU¸šF~[çååuþüù„„„'N;vìØ±cß?~îܹêÕ«›‡¥Ï¨Q£,÷yþüù5j¨göªÆ‹È… L-õêÕ3=¶³Ë÷NGá h÷¿­ûòË/Ÿxâ‰ñãǧ¦¦Ž=ú—_~iÔ¨‘i®^¯···/úVÔ„6 a''§‚¬X\4„ü¶nΜ9"ráÂ…µk×¾ôÒKõë×7?ÿö÷÷OJJ2žœœüÒK/mÛ¶ÍBŸ 4¸~ýºùZ§NR{{Øò W@ÓÈoë.]ºäîînº@}ìØ±K—.‰ˆ¢("òâ‹/ŠÈܹs•ÿ _µjÕÚµk]\\LËäÖ»woY¸p¡:i0ÔÇjûC±\ |²íð9Û*àøáˆÈsÏ=÷þûï;ÖÛÛ»F"2þü;wî?V æÌ™#".\¨Q£†Úb0Lsýýý9’’’òÈ#¨-ÉÉÉcÇŽíׯŸ…>4hpôèQóµN:¥öV¡ªÍÏáÇ«V­e4?ùä“W^yåÍ7ß|æ™gJh‹P¦pþ] .]ºäîînºæ|ìØ±K—.‰ˆ¢("òâ‹/ŠÈܹs•ÿ¥ZµjÕÚµk]\\LËäÖ»woY¸p¡:i0ÔÇj{Å©6?ýúõ Qÿò°³³S¿˜ÅÁá¿Gó«Ê޳¹â>`Àyî¹çÞÿý±cÇz{{«§¶óçÏ¿sç΃Z´h¡.ðæ›o8ÐÎÎ.88Ø`08:::;;/_¾\íÇ|\tZZšzY;44466¶cÇŽjê°ðÜ#¨ >¦Z[Õæ7þ|òäÉ"Ò¬Y³©S§Ž7®N:"²nÝ:EQrÔ™ûuÎøså@…~÷)®ü¾sçΈ#jÖ¬éééùüóÏŸ:u*!!¡Q£FžžžçÎS%##cêÔ©Íš5sqqyì±Ç&Nœ˜ššª(Êœ9s¼¼¼*W®¬ö“#WîÞ½;zôèÀÀ@WW×-ZÌ;7+++Ï%ól)Õæ—ßz½~Ñ¢E7vssóòòj×®úYµÜu’ßÊ%R¯4&HB?é§H¾G ""BDJ±(3õƒpæ¯ó€€õ/•‚¬¯¾ r³úú€’Ãýo´‡ñçåÕïý.SW\J­Ú³gÏ$&&fdd˜¾¬´‹ü.oÊT<[UjÕ*Š2`À€ï¿ÿ¾t¶%ŠüF9gþ'ÂlX #î =ä7ÚC~ =ä7ÚC~ =ä7ÚC~ =ä7ÚC~ =ä7ÚC~ =ä7ÚC~ =üþ˜%öööëׯ·úÕ(Çø7 ,â½É’·Þzë…^°u¶”˜˜øÁL›6­råʶ®Åìíí»wïnë* ä·%uëÖ­[·®­«°¥ãÇÇÄÄtêÔé±Ç³u-€?qÿ–¸¹¹‰Èýû÷m]à/ÈoXâîî.ä7”=ä7,!¿ l"¿a‰»»»N§#¿ ¬!¿a‰‹‹ ù e ù +ÜÝÝÉo(kÈoXáîîž––fë*A~à òÊ òVpýÊ òV¸¹¹‘ßPÖß°‚óo(ƒÈoXA~@D~à òÊ òVßP‘ß°‚ñkP‘ß°‚óo(ƒÈoXA~@D~à ¾ Ê òV¸»»gfffeeÙºÀŸÈoXáææ&"\B€2…ü†îîîB~@C~à òÊ òVßP‘ß°ÂB~ëtüg¢(bg'.¨çòèPä7¬°zþ½nˆHv¶,Z$‰‰âê*ii²t©\¿þÇ/Ê Aâë+ÎÎ ãÇKr²ˆHl¬¬['¾¾%¿Pîß°ÂÙÙÙÁÁÁÂGÀ##EDnÝ’ä‰'$-MZ·–M›ä÷ßED~ûMZ·–üCž~Z¦N•zõdÉiÝZRS%$D"#Åã´öÊòÖä+ØjÔ­[¥©VMÚµ“o¿•fÍDDÞ~[nÞ”µk%>^fΔo¾‘ØX¹pAÞz«4*€òŠü†uü Õ;dÓ&ùá¹yS–-û£ñÀñò’ˆˆ?{õÕ?Ú…æ`ë ü ²®]åàAñó“mÛ¤F?û÷OÏ¿ŒP»tIDÄÙ¹ € ƒü†uü t;;iÐ@DäÑGÿl|ã¿,“ž.±±""QQÅX T8\?‡uÅõd?ü ;Ê×_ËK/ÉàÁEï*.òÖ=¿SRäå—¥eK¹xQ>ø@>ýTìí‹«:¨ˆ¸~늘ßûöI¿~’š*³fɸqâéYŒ¥@E~Ã:ww÷«W¯nÝ'¤gO©__vï–Æ‹·.¨¸ÈoXW”óïY³Ä`;¥zõâ- *4òÖpüyn™™òÕWR£FÎQè"âëËW¸@á‘ß°®€ŸÿÎíÒ%1åÚ5ùôÓœ³üýÉo(<òÖúú¹¿¿(J±—àóc(€BŸJù ëÔûßJ>§ÒgϲÛÄD9{V23 _TXä7¬sww7éééyÎ ,d·H`à_‡x(ä7¬sww‘Ü—Ðåÿ çÀ¢öù ëòËo€­ß°Žü€²†ü†uj~î+\%ü†uœ@YC~Ã:wwwNG~@ÙA~Ã:;;;gggòÊòRÄŸ/òB~@™B~£@ ý¢€’@~£@8ÿ€2…ß…u™™™NNNIII§NÊÈȸsçNVVVHHˆ£££­K€ ŠüFÞŽ;Ö§OŸÔÔÔôôt£Ñ¨6®[·Î´ÀîÝ»»téb£ê ¢#¿‘·jÕª%%%™’;‡J•*µnݺ”K˜pÿy«S§Î³Ï>ëàÇ_xöööÁÁÁ®®®¥_@E~#_¯¾újvvvž³úôéSÊÅÌ‘ßÈW÷îÝ}}}s·Æ=z”~=òù²··1bDîKèM›6õóó³IIù K†ª(ŠyK¥J•ÂÂÂlU@E~Ã__ßnݺ™Î[¯×÷ìÙÓ†%„ü†U¯¾újVV–i²jÕª-[¶´a=!¿aÕsÏ=gºÛíèèØ§ONgÛ’ä7¬°³³9r¤z =;;»W¯^¶®@~£¢££Õ/bspp¶u9òP£FÞ½{‹HçÎÝÝÝm]€ï?·µK—.M™2Å`0غ+’““EäÖ­[¶®¥ ÂÃÃÃÃÃm]”οmìÈ‘#ëׯ·uÖùøø4kÖìÑGµu!uèС 6غ ()œ— ¶.¡¼ÑÐu(οÐòí!¿Ðòí!¿Ðòí!¿Ðòí!¿Ðòí!¿Ðòí!¿Ðòí!¿QFݹsÇÖ%@ÙE~kÁ`h۶탊ÒIëÖ­cbb ½ú7ß|3dÈN§ÓéöìÙ“{ï¿ÿ^;tèЃ¼çÌ›7¯mÛ¶ÞÞÞ….Ê=ò[{¶mÛvøðá/¾øâ¡Öº|ù²ù¤Ï#|øð]»v¬^½úñÇ7m1,,¬N:Ÿ|òÉœ9sªT©""z½~ÇŽÓ§OŸž:uªˆ?~Ü47++«k×®/½ô’Á`PeåÊ•"²yófEQDÄßßß´drr²©åîÝ» 6œ5k–:ë÷ßoذa½zõRRR._¾ìîî."o¾ùæ¥K—¶oß."íÚµ3õ£VþöÛo‹ÈÂ… ÕÆuëÖ½ýöÛŠ¢øûû›ïZ~º}û¶Á`>>"âééYðNÆŒ£Óé/^¼lÙ²1cÆ<ì†.^¼("©©©¹×ºÿþÅ‹Ío‡‹ˆÁ`(xmP.‘ßÚ`0-Z4pà@óƾ}ûV­ZuÅŠ÷îÝ‘–-[ŠÈ¼yóLŸ+»téÒ† ÔÇÙÙÙyö¬ž«÷¶Uê'Å»víjµ$Óÿ6lسgÏ#GŽ\½zµqãÆêŠ¢pCê™÷Ž;ro¥qãÆ .4µœ>}:..ÎrmPþ•Þ¥ú²§,Ü¿,àýïÏ>û¬sçιÛÿö·¿‰Hll¬¢(×®]S/\wéÒ%..núôéÏ=÷Üýû÷Eñõõuqq9q℺ÖÝ»wE¤V­ZŠ¢¤¥¥5iÒ¤V­Z¦;ÓcÆŒiß¾}VV–¢(>ú¨ˆ¨ÃÊE©Y³¦ˆdffª›³ûÙêÕû­[·šj«U«–ˆ¤§§«“6täÈ{{ûjÕª}ûí·ééé»víR/³Ÿ?>33S½ýÅ_L›6­k×®Œ_ο5`ãÆ'NϹ}ûö-åz*òV 80w£]çÎ}||J¿€ß°ªoß¾vvy¼NòÌu@é ¿a…——×óÏ?ïàð—¡Žööö¡¡¡¶* @~ú Ó¤ƒƒCÏž====mXTpä7¬ëÕ«—ùGÅ ÃK/½dÃzä7¬suu}á…ÕI—nݺٶ$¨àÈoHTTTVV–ˆ8::FDD¸¸¸Øº"¨ÐÈoȳÏ>[¥JÉÊÊŠŠŠ²u9PÑ‘ß(‡ÈÈHyä‘Gºtébër ¢#¿QPýû÷‘¨¨¨Ÿ%”>ò»L¨]»¶®Ì{úé§E$..ÎÖ…Xçèè¸ÿ~[?«P‚8‘*®\¹2~üø¶mÛÚºr""""))ÉÖU@ "¿ËŠ6mÚ„‡‡Ûº €6pýí!¿Ðòí!¿Ðòí!¿Ðòí!¿Ðòí!¿Ðòí!¿Ðòí!¿ÐòeÑ;wl]”iä·6ÄÇÇ7kÖL§Ó5iÒ$==ÝÔþÝwß=÷Üs:®eË–ñññÛmëÖ­cbbÌ[>úè£éÓ§wîܹmÛ¶gΜÉs­o¾ùfÈ!:N§ÓíÙ³'÷ßÿ½:wèС,x=<˜7o^Û¶m½½½jG ÂQ*°x%^”2qD$>>Þò2©©©êS6tèPóö‹/ŠÈÙ³g ²¡ß~ûÍ|²W¯^óçÏ7M._¾ÜÍÍ-++ëöíÛaaaÿ÷ÿ—_?¦¿!zõê•{ndd¤‹‹‹ˆddd¤ª=W©R¥ˆ¯Ì‚Ï¢+;¯çßšááá!";vüè£ÌOµkÕª%"õêÕ³ÚÃÅ‹£¢¢Ì[¶nÝ:eÊÓäÒ¥KkÕªåàààååµqãÆV­ZåוÏíÚµûꫯ~ýõWóYIII)))uêÔggçîyÏÕ«Wص ¢!¿5&>>¾FÆ ûïÿ«¶8::ŠH¥J•,¯xåÊ•ž={Þ¼yÓÂ2‰‰‰:®àÅŒ7NQ”÷Þ{ϼqåÊ•#GŽ,x'€B ¿5Æ××7!!!---22R¯×ç^ 555&&fòäɯ¿þú³Ï>ûúë¯ß¾}[DÖ¬Ysúôéëׯ1BD CBBÂàÁƒŸ~úiùꫯFŒ‘žž®.0bĈ>øÀÅÅE§Ó½õÖ[ÙÙÙ"òü£R¥JŸ~ú©i[aaauêÔùä“OÔMˆˆ^¯ß±cG¯^½ ^˜ºÖŒ3^{íµiÓ¦ÅÄĤ¥¥™Öºÿþܹs‡ Ò²eËŸþ¹¸Ž$h›­/àÛRÙ¹)»_kz¾Þ}÷]™0aBŽö»wï6lØpÖ¬Yêäï¿ÿÞ°aÃzõêݾ}[]ÌßßßÔ[rrrŽ–““&M‘“'Oª“ÿýïCCCsóöÛo‹ÈÂ… ÕÆuëÖ½ýöÛŠ¢øûû›¿º,f0‚ƒƒl4E9þ¼½½½º®Ñh8pà™3gÔµºvíZ½zõÔÔÔ‚(î(ß*ô»OÙyÿ}Øü6}ûö‘íÛ·›·O:UD®]»fZE=]މ‰QrųÑh´œßׯ_wvv~ùå—ÕÉ7ß|sÛ¶m9й}û¶›››ŸŸŸ^¯W¥k×®)))J®ü¶PØ'Ÿ|""?þø£iVÆ Õu÷ïߟû/Nó,(ò@ùÆõsMÒétüq@@ÀàÁƒ¯]»fjÿþûïE¤råʦõòxžâ²z«ÛÇÇç•W^ùì³Ï®^½ª(Êž={žþùËxyy 2äÊ•+_~ùåñãÇëׯ¯ŽÏÁBa_}õ•ˆ4hÐÀ4ËÎî—åÑ£G7nœã%Û³gOËe@E@~kUåÊ•¿üòËŒŒŒ˜Õä»té’©ÅÇÇGD<== ·õÄ}ñâÅGmÓ¦ƒƒCîeÆŒ£Óé/^¼lÙ²1cÆäÙ…ÂÔÏ¿™>gîþýû/^4¿."ƒ¡pûå ù­jn™§WãÆ?þøã½{÷šZÔ“ÚíÛ·›Z._¾,"]»vU'Õ‘hW§N—^ziÅŠqqqÑÑÑyÓ°aÞ={9räêÕ«7VPż …©gÞ;vìȽõÆgdd,\¸ÐÔrúô鸸¸‡Ú(ŸJÿ’}ÙQvî_Jîת×ÉÍo!«ÆgzÓÒÒš4iR«V-ÓbcÆŒiß¾}VV–¢(¾¾¾...'NœPgݽ{WDjÕª¥NfffŠHýúõsôúôiéÔ©“…bvïÞ-"[·n5- ~*===ÝjaGޱ··¯V­Ú·ß~›žž¾k×.õ2ûùóç333Õ{áÑÑÑ_|ñÅ´iÓºvíÊø5P¸ÿ­7n|ùå—EdèС9Fu-Z´¨}ûöêcWW×C‡EEE }zÚ´iW¯^‘Ñ£G«·Þ-´{÷€_|1 àÀÍ›7>|ø¥K—ìííwíÚÕ§OŸM›6M˜0áÆk×®U¿Ç*8ò×ëœJ‚$ô“~ŠØþètºøøøˆˆ[’½^ÿä“O9rÄÕÕÕÖµTéϲóúPqþ +V®\Ù»wo …7Ty 'DdïÞ½£FzðàÁ½{÷N:eërÁù7òöè£feeÙÙÙmÚ´©jÕª¶.ðœ#oõêÕ;w«äóo´‡ü@{Èo´‡ü@{Èo´‡ü@{Èo´‡ü@{Èo´‡ü@{Èo´‡ü@{Èo´‡ß+úõëׯ_?[R~88ðÚPžñW&ìÞ½ûúõë%ÑsFFÆäÉ“Ÿyæ™>}ú¥ŸåË—Pí¨ IDATïÝ»wìØ±íÛ·/®Ú,øý÷ß'Ožìîî>lذÇüaW···ïÞ½{Ieù]&tìØ±$ºU%<<Üh4.\¸°V­Z…îçæÍ› ‘;w‡_–„‡‡5jΜ9ááá|ð··wél4ûßåÙ[o½µeË–„„„¢„·ˆ¬X±BQùæ›oŠ©4ë|||6lذuëÖƒ6mÚôË/¿,µM@ÙG~—[»víš9sæ;ï¼óôÓO¥Ÿìì츸¸ììl¹qãÆéÓ§‹©ÀéÕ«×É“'{÷îÞ«W¯«W¯–æÖ Ì"¿Ë§ß~û-222<<|̘1EìêŸÿüç7ÔÇŽŽŽß~ûm‘«{8^^^+V¬Ø³gϹsçš6mºråJõbTdäw9d0"##kÔ¨±jÕª¢÷öî»ïÚÙÙ™zþ׿þUô> ¡S§N'Nœ>|ø«¯¾Ú­[·ÄÄD›”eù]ýýïÿá‡þñ¸¹¹±«cÇŽ=zÔ`0¨“F£qïÞ½™™™E®±0\]],X°ÿþË—/7nÜxáÂ…¦Â ¢!¿Ë›3gÎÄÆÆÎž=»»ÊmñâÅŽŽŽæ-™™™,zÏ…Ö¶mÛ'NÌœ9sæÌ™O?ýô™3glX Ø ù]®dgg<¸yóæ'N,zo7nÜHHHÈÊÊ2o¬T©ÒÎ;‹ÞyQ8::Nš4é?ÿùOVVV³fÍ&Ož¬×ëm[”2ò»\™?þÏ?ÿ¼zõj{{û¢÷¶|ùòÜz½þ«¯¾*zçE÷øãùä“O>YŒ–šðððÉ“'‡………‡‡/[¶¬Zµj¶. Š×Ï5/))iéÒ¥Ó¦Móòò²u-eE•*UV¬X±}ûöÇûûû¯\¹ÒÖ@1#¿5oöìÙUªT>|¸­ )sºwï~òäÉŽ9²G—/_¶uEPlÈom»|ùòÇëââbëZÊ"÷Þ{oß¾}ÿýïüñ÷Þ{Ïh4Úº((ä·¶½óÎ;>>>ƒ ²u!eZ‡~øá‡qãÆÅÄÄtêÔéܹs¶®ŠŠüÖ°”””Õ«W¿þúë•*U²u-e‹‹KllìÑ£G322Z´hÁoŸÐ:ò[Ã>úè#GGÇW^y¥¤74cÆŒ²öïÂiÖ¬ÙáÇgÍš5kÖ¬–-[þðö® ‰üÖ*EQV¯^=pàÀÊ•+—ô¶V­ZuöìÙ’ÞJéppp˜4iÒÉ“'½¼¼Z·n=yòd[ý*ù­U{öìùõ×_£££KzCŠ¢Üºu«zõê%½¡ÒÔ AƒÝ»w/[¶lùòå?þø¾}ûl]<ò[«>ùä“Ö­[ã®åG§Óݾ}»ü}‘™N§6lØO?ýT¯^½.]º >üþýû¶. ŠüÖ¤ÌÌÌ­[·0 t6çîî^^?ŸV·nÝ;vÄÇÇùå—?þ¸ÍÚ ˆüÖ¤;wÞ»w/44T§õ?E;;¹p¡@ýtè ¹{¨€ÂÃÃO:Õ±cÇgŸ}6"""99¹6Ês (ÈoMÚ¸qcëÖ­k×®­N®['"’-‹Ib¢¸ºJZš,]*ׯÿ±¼^/óæI³fâæ&uëJ¿~rú´ˆHl¬¬['¾¾6Ù‰²ÅÇÇç³Ï>Ûºuë¡C‡š4iòÏþ³t¶kõ¹3QéÞýÏ´æ¹*8ò[{EÙ¾}»ù éÈH‘[·äÀyâ IK“Ö­eÓ&ùý÷?ˆŽ–éÓ¥J™8Qºv•M›$(H~ýUBB$2R<}úDDDôêÕ«~fÍêsg²l™|óÍŸ“//¯+VìÝ»÷ܹsM›6]¹r¥¢(%½Ñüž;“Ó§%&¦¤« %ä·öìÝ»×ÃÃ#Ï÷ܱC6m’~›7eÙ²?‰ŒüóÒk¯^""?ýTÕjÔÓO?}âĉáÇ¿úê«]ºtùõ×_Kz‹y>wªÌL0@:v”† Kº šA~kϾ}û:vìhooŸ{V×®rð øùɶm2bÄAA²n´k÷çb‰‰""5jhsö?\]],X°ÿþ›7o6oÞ¼¤¿r5ÏçN5}º\º$Ÿ|"vü{ð?¼hÏÿýßÿ³wßaQœkÀŸ]º"R”KP±€¢‚ˆ`QPPE»ˆ†ˆæ%j¢’ÄJìÅÑØbûl¨XPÄ( &±bÅ‚)Ëî|LÎei»; {ÿ../wöwîÝy™‡¶×]]]+|J(¤6mˆˆZ¶$&vè@£GSÓ¦”ŸO/ÒîÝ4j5mJ‘‘ÕZ\çÎWªñ®v—ÔÔÔÅ‹/^¼ØÍÍí.{âŸT¸îˆ(.޾ÿž6m"++%-x õ›gÞ¾}ûäɇZÌ›”D4aedÐ÷ßS·nÕšëÉ“'&&&µX\ƒ¡¥¥µ`Á‚ääd‰DâààQ\\¬šE¿{GÁÁøÏin2¨ßùøñc^^žYÍ ¯µ5íØAÏžQQýý7í܉‹‰ÉÈÈhË–-'Nœ¸~ýºÝÖ­[•´ ôtRþ½\€P¿ù„=ȪæWc×[ÞÞÞ÷îÝ ™>}ú!Cž°§Ÿ(ê7Ÿ°õÛØØ¸ÌôôôZvøøñ¯JªÐÎ;Q‡ª½åj||üƒ:uê´nݺ*ï>«¼u ê7Ÿdgg‘‘‘Q™éíÛײñcÿ{URyïß¿Ÿ4iÒ½{÷jÙ»ºruu½yófXXXxxxŸ>}Òå–h%­;hðP¿ù¤°°ˆtuueSdWÕÎåËòzÈÌÌ$"kkëZö®Ætuu###“’’ŠŠŠºví)‹Ë´Q꺀õ›OØ ¥¥¥šÅÙÚÚ;v¬uëÖªY\ÃÓ¥K—„„„%K–¬Zµª{÷îÉì7¹(ê7Ÿ°õ[SSS5‹Ó××2dHéûPSššš ,¸}û¶±±±³³sDDDY€" ~ó ûýÓ~ó7ÔgmÚ´9wîÜ?ü°qãÆŽ;^¸pëDÀ{¨ß|Âî9/$ê?@’žžnoo߯_¿©S§ææær x õ›OtttˆHe_> giiyøðáØØØƒvîÜùôéÓ\'¾Býæ¶~ã*߉D¢;w¹yyy¼yó†ëDÀ?¨ß|¢§§GD\º233‹‰‰9zôhBBBÇŽcbb¸N<ƒúÍ'ì[”ñU•À Ÿ;wî 6l„ ¾¾¾ì÷ÕúÍ'ìSUS¿úé§Áƒ«`Aj®iÓ¦[¶l¹páÂýû÷;uê´uëV7d€j@ýæ###¡Pøöí[,+55_…©2}úôIMM:uêŒ3<<<þüóO®@}‡úÍ'ÆÆÆ¯^½RÁ²„Ba·nÝT° `ééé­\¹2)))77·K—.«V­b/÷¨ŠîäŠÒ²eËG*ùΊ¨¨(,¥a›GóÖКšÍãHth5E,‰ˆ8Aۉ애ڬÉú)=å:”…úÍ3¶¶¶>ä:TK&e:“ó<šW³Ù´ˆÐÓ!O7OÞüÀñÏ<ŸQKGijãW¸‘@ 5þ3Tž±µµ=wî×) º>¡OD$ªÍœiîÕ¹Û·oŸ?þßÇÿÞ±cG= j á„Êz Ç¿yŸ¿Õ‡P( ùã?ÌÍÍ]\\¦Nš——Çu(¨/P¿yÆÖÖöýû÷ÙÙÙ\±µµ=}úô?þøÛo¿uéÒåìÙ³\'€zõ›glmm‰H5§°A=!‚ƒƒÓÒÒ===ƒƒƒq@ýæ¡Pˆ]èjÈÜÜü·ß~;räȹsçìíí<Èu"àê7ÏèèèØØØÜ¹sG©K9sæÌû÷¨__ß´´´¡C‡Ž1" àõë×\'n ~óO·nÝ’““•×ÿû÷ï===•·¨ CCÃ-[¶œééé\'RGb±xùòåÝ»w×××wppX¸paQQµk×N =Z[[û¯¿þ""†a¶mÛæîîn``вe˰°0ÙR©ô×_uww·²²ÒÕÕµµµ={6û•Eì¯dFFFéßM9]U?$ðê7ÿÙÚÚÞ¸qƒë P_èêêFFF&%%9::FFFsJH$’þûßÿ611Y°`»/¤ÿþ²Ý!aaa.\4h¾¾>M:5$$¤°°0,,¬{÷îk×®íÛ·o~~>ÍŸ?̘1üñG``àüùóMLL¢££ÇODgΜ!"kkkö?,9]Õ4$ð£Æb™XbxùˆD¢¡C‡rBÝU9~DŒHĈT–‡a±X¼víÚÆwîÜ9))I•‹Vg[¶l!¢Ù³gK¥RvÊâÅ‹‰(..ÎÎÎŽˆºwïþñãGö©‹/‘···X,f§¬]»–ˆ¾þúk†aLLLˆhïÞ½ìSÅÅÅÍš5ÓÑÑa‘l¹ò»ª~Hù¯Ž¿ÛÉO­× ÇåªU«,--¹N¡îêaýfýõ×_}ûöÕÔÔ\°`AAAꨛ޽{Ñ«W¯dS^¾|¹aÆ;wî°õûâÅ‹²§üýý‰èêÕ«²)%%%ÖÖÖ=zô`æýû÷ïß¿/))‘õÃ~dg–©ßò»ª~Hù¯Ž¿ÛÉß_ÂKnnn ,ÈÈÈ`·¥µnÝúܹsÛ¶mûüóÏûí·mÛ¶õíÛ—ëP YFF†©©©©©©lŠ™™Ù¬Y³dííÿû-°÷îÝ#"MMÍÒg*ØÚÚÞ¾}›ˆ ÿúë¯}ûö¥¦¦&'''''Ëùxù]Õ4$ðê7/uïÞÝÀÀàܹs¨ßP!@âãã3sæÌþýûO™2å»ï¾kÒ¤ ×¹¦âââFÉiÀîg=~ü˜ˆÊ›œ––8p`ܸqÀÏÏoöìÙ½zõòöö¾ÿ~…ÝÊ益!wpþ/ijjöéÓW‚‚|–––‡Š=xð`»víŽ9Âu¢†ÉÎÎîÅ‹¥Oü~ûömPPÐÑ£GË7f¯Ì|ÿþ}™}¡ì)‡Ë–-#¢¿ÿþûçŸ jÕª•œÏßò»ªKHàÔo¾êß¿\\œœßíÚ™3g{ž 4"‘(--­ÿþ~~~oÞ¼á:QC3bÄ"Z¾|9ÃüóUÙÛ·oÿùçŸõôôÊ7vww'¢èèhÙ”Ç[YYÍ™3‡ˆ=z¤¯¯/ÛËœœÌ~Y‘¬gÙªìª.!Tq½¾âõyüñ)üc++«¨¨(ÅöÙPÕÛó×*sìØ±O>ùÄÔÔt÷îÝ\giP ‰ÈËËké񴋮 …ýû÷—H$ì®Ò³²²,--ÙÆ‘‘‘ãÆ311122JOOgfìØ±ìSëׯ 511177'¢o¾ù&;;[KKKWWwãÆÕéŠa˜¦M›:99URþ«ãõv²aSëµÂëq)•JÍÍÍW®\©À>óòò¬¬¬Nœ8¡À>0ÞÕo†a²³³çÌ™# }||ž>}Êuœ†£  `Ñ¢E]ºtÑÓÓkݺõçŸþáÆaÊ×o†aÞ¾}joo¯««kiixïÞ=ö©ìììiÓ¦YZZ6mÚtРAiiiûöíûôÓO›6mš‘‘±lÙ2CCÃ&MšT§+¦Üùê•…”×ÛɆMÀ”Ú£nöѾQ4Š!¾¾cÆŒyóæÍéÓ§¹¢¦ª?À6Sa¨j¹téÒ”)S^¾|5eÊÜkäàûv²ÃñoóòòŠÏÉÉá:ðŒ››ÛÍ›7§M›6cÆ ww÷ÊNo€ú õ›Ç|}}%ÉÉ“'¹ü£§§·råÊ7näçç;88¬ZµJáçB€R¡~󘱱±»»û¡C‡¸|åààpíÚµ%K–,Y²¤{÷î7oÞä:Tê7¿ùûû?~¼°°ë ÀWZZZ ,HNNÖÑÑéÙ³gDD¾“ €P¿ùÍÏÏ/??¿ô\òóóñ…BPSöööW®\‰ŽŽþᇜœœ®_¿Îu"¨ê7¿YYYuïÞýСCR©ôìÙ³£G666^¿~=×¹€„BaHHÈüaaaÑ«W¯©S§æååq *…úÍ{ýúõ‹mÑ¢ÅÀ<(‘H²²²jÑÏÝ»wÿþûo…Ç~±µµ=}úôÞ½{8йsç³gÏr*†úÍWÅÅÅG>|xTTTaaá³gψH,khhÔîøå’%KÂÃÃxI$ݹs§[·nžžžÁÁÁ¥oš õê7/=zÔÔÔtذa¿ÿþ»T*-))‘=Å0LAAA-úLMMíܹ³â2¿™››ïß¿ÿÈ‘#qqqööö(ÓàÇ-Z´X¾|9'ñõ›— rss†)Í.Ã0µ;ýßÿþ÷ðáÑ__ß;wî :T$ùúú>þ\öTxxø³gÏ/^|êÔ)¨-Ôo^rwwߺuk…OI¥ÒÚí?Æço(ÏÐÐpË–-'Ož¼}û¶½½ýÖ­[†¹xñâöíÛ¥R©@ ‰D>ä:&€ÚAýæ«I“&………ihh”™.•Jk·ÿ@//¯;wîŒ7núôéÞÞÞãÇ …D$•J }}}1êT õ›Ç¾ûî;oooMMÍ2Ó?~üÈIhØôõõׯ_ŸŸŸÿìÙ3Ù±±Xœ‘‘1wî\nã¨Ôo …±±±;vÔÒÒ*=õ”G[[ûêÕ«¥O™$¢’’’­[·þøã\¥PC¨ßüÖ¨Q£ãÇ—þŽ=™ $%%%'Nd÷œ—7uêÔ””GP[¨ß¼giiyâÄ MMMÙVõ”dÅŠ÷îÝ+óá[F*•úûûøðAÅ©ÔêwCеk×ß~ûMö_gJòÃ?H¥Ò2Çkd$É‹/‚‚‚†Qq05„úÝ@ 2dåÊ•€jþù{ÅŠ .TN.hPRSSþùçÉ“'·iÓF ]]ÝÒ Äbñ‰'¢¢¢¸J >P¿Žððð"*..®ÑŒ§Nzûö­rBAƒbnn¸qãÆ?ÿüóÕ«W˜:ujÇŽÙc7l-—J¥‹-:þ<×a¸²—íß¿ÿþýª\¢T*mÞ¼yNNN@@@õçº}ûvnnnfQ‘H$‰¸N¡:óæÍËÌÌä:E´oß¾M›6oÞ¼ÉÊÊzýúuvv¶T*õöööõõewA}¦¡¡±bÅ ®ƒ@¡~+Ñþýû\\\T¶D¡Pèêêš››[£¹ú÷ﯤ<5•@DjU¿×¬YãììüÉ'Ÿp¤N´´´,,,,,,ˆ¨¤¤äíÛ·(Þ¼°wï^Ôo>BýV.—}ûöq‚7êÉ> SÏõþÌâ/ÿàÔoþAýàÔoþAýàÔoþAýàÔoþAýàÔoþAýàÔoþAýàÔoþAýàÔo.ÅÆÆvéÒE ØÛÛüøQ6ýìÙ³^^^ÀÉÉ)66¶¦ÝöìÙ3<<¼ô”mÛ¶ýë_ÿòððpqq¹wï^…s]¹reÒ¤I@ DDD$&&V³sP‰D²eË–tìØqðàÁþþþ³gÏ^¹råüùóUãÌ™3>>>ì éÛ·¯»»»£££··÷Æ T™DF•ãöÕ«W³fÍòóóóóósuu|øÀ®ˆ)S¦”žÎnÒÓÓ«³ 'Ož”~èëëûÍ7ßÈnܸ±qãÆb±øýû÷þþþׯ_¯¬öoˆ-ZÈYV™Î«:ïXýQåø1"SÅË!¢ØØXùm>|عsçN:¥¤¤H¥R†a$Éž={Œ'NœXÓØr”HÊÏÏ'"ö¡D"9räH«V­lllnݺ¥À0Õ§šq{þüy33³U«VI$†aJJJV¯^ݸqãS§N)*$'ªÊÞNB­irôgüÃÀÀ€ˆÜÜܶmÛÖ¿ÿQ£F±Ó­¬¬ˆÈÖÖ¶Ê>||éÒ%Ù”ßÿ½tƒ 6XYYijj>>;;;((ˆ=²~çÎ"JII±°°Ø¼y³üÁ&ŸBÆm||<9::–é¼}ûöDtñâÅ*{®R…ïÏž={äü–O[Ù›_Í À3ï¿çT}8þÍ0Œl-¬^½šˆæÏŸ_fzNNNÛ¶m—,YÂ>|õêUÛ¶mmmmß¿Ï6³³³“õööíÛ2SÊ<\°`ݹs‡}øàÁ??¿Ê—!ë\*•>}ú”ýD¸téÒG?~œˆzõêÅ0ŒT*7nܽ{÷عhjjúáÇ*ß ÿ.¯K—.D”——WYƒÂÂÂ+W®èêêÑŠ+Μ93iÒ¤œœœÊVAÛ¶m[µjÅ0LqqqÓ¦MÛ·o/K"[õò×`eƒÄÜÜÜØØ¸Â<¹¹¹•-wúôé:::ÙÙÙ Ã|üøÑÔÔt̘1ìSb±ØÍÍM"‘Èl9áó IDATò#±ê>n›5kÖ¼yó ;711iÞ¼¹üž«²²÷§²_Ø Ó¾~ýºÂ7¿²…28þÍgj½Vê[ý–J¥#GŽ$¢ãÇ—ž¾hÑ""zþü¹lö¯ïððp¦ÜFA*•ʯß/_¾ÔÕÕ4iûpéÒ¥G­¬qe:ÿôÓOK‡733ÓÖÖf¦Âc¨¥—RÔïò<<<ˆèï¿ÿ–ßOÛ¶m‰èíÛ·ìC9«`óæÍ[·neF"‘´jÕJSSS–D¶få¯Áʉµµu“&M*Ì#g¹iiiDôÃ?°}}}5jÄVÍ#GŽlÞ¼™^Ù`“IÖ¾Žã–-Òvneeell\÷•½?•ýÂÊI[þÍ—õ›¿°ÿ¼;wîl×®ÝøñãŸ?.›~åÊ"jÒ¤‰l »{üêÕ«v")fff“'Oމ‰yöìÃ0çÏŸ4hPõVöP ²;ÿ“’’:tèPf¨ùøøTs)PZ»víˆ(##C~3¡PHDÆÆÆìC9«`êÔ©ëÖ­[¶lYQQ»W¶ŒZ¬ÁââbvÏP…yä,·C‡}ûöeK×Ç%‰X,þõ×_‰hÏž=AAAl³Ê[uÔ}ܶoß>+++;;»LÏb±øÕ«W:uª{ÈÊÞŸÊ~aå¤-ÿæCƒ„ú]¿4iÒäÀcÇŽ•Md=z$›bffFDUžòZöƒûš5k’’’œ55«¾ áõë×b±¸šýçåå=|ø½ÐHF"‘Ô&«Ú8p ]¾|¹FsÉY—.]²··gÈ”?'®ÊÙ+'‹‡^Y9Ë5kÖ­[·’’’¢¢¢¢¢¢†¾mÛ¶´´´–-[6nܸÊ+‡¢Æ­»»;•¿wBbbbIIIeg'Ô(¤œ÷§Â_Xü–ê7ÇØß·Ò¿u:tعsç… dSØOÛìá4ÖÓ§Oé?[v"ªð#”-Z´ Ú²eKttôĉeÓ†©°=Ã03fÌÐÐШfÿ:t(((Xµj•lÊÝ»w£££kXþþþÎÎÎ7n,«ÂÂÂÊN<”³ >ûì3@0xð`úÏÀ“­÷ÒŸ‰k´‹ŠŠ-Zdmm=kÖ¬ÊÚÈYîСC­­­###óóóííí§M›–œœªQ޳ûÉKÛfÍ;W¶vØš•••¬Ùœ9s\]]Åb1Ã0zzz©©©ìS999DdeeÅ>,**""ö¼˜ÒîÞ½KDîîî¥'æææ‘¥¥%{‡ Vvvö”)SÆŽ[¾ó–-[{G†a,--‰¨¨¨¨¨¨ˆÝ:qâÄŸ~úéË/¿8p Î_«Uãþ-666VVV±±±ÅÅÅ ÃäççŸ;wnÀ€‰‰‰l"b‡Ã0rV‘‘‘P(¼|ùò¶mÛš7oND×®]{òäIé$gvö_Ë–-eñ’““ÝÜÜlllþøãÙÄ2yä,—}vÙ²eàöíÛ ÃH¥R;;;ŸÒoBeƒQÕ¸‹‹333Û°a»‰Dòí·ßšššÆÅÅ)$¤ü÷§ü/¬œ´åß|9ª8þ]o©õZá¼~8pÀÛÛ›ˆ† _ú©ââbWWWÙÜœœðððΛ7/<<|Ù²e………ìS?þø£‘‘Ñ—_~É0L^^^DDû—Ùš5k®_¿þ¯ý‹ˆÁúõëÓÒÒJ/¢ÿþ111²‡W®\ fçµ³³óðððððøôÓOÙ+ÑwíÚU¦óo¾ù†ýÿW_}•½fÍöáçŸþñãÇ'Ož 6ÌÈÈÈÌÌlÊ”)¯_¿VÈ;V¯¨¬~3 “““³|ùrCCÃN:999}õÕWìyyyK—.eßü9s椤¤°³T¶ vìØaddÔ¥K—øøø7yzzfee•H•Í~éÒ%Ùç?wwwOOO__ßáÇGGGËNr®,OeËeŸÍÊÊ “½Þ;w&$$ÈÊ>V–lgÏžUÙ¸}ñâÅÌ™3ýüüFŽ)‰fÏž]ºA]BVùþ0å~a+\G•½ùr ~󗀩d¯Ž:ØGûFÑ(†”õѾ}û”Ô]wíÚ511QõwË’£>¿cåU9~(€m&§@˾p€Ê(ï¶Ê¨ìí$ÔŽ«©­[·:´^o¨ ~a¡<Üÿ\½\¸paÖ¬Y………¹¹¹ìu·PoáäÀçoõÒ²eK±X, :Ô¬Y3®ã€<ø…9ðù[½ØÚÚVy'¨'ð ràó7ÿ ~ðê7ÿ ~ðê7ÿ ~ðê7ÿ ~ðê7ÿ ~ðê7ÿ ~ðê7ÿàûÇ”+!!! €ë¼‘àââÂu U[³fÍo¿ýÆu àÔo%‰D\Gàu{ÓÂÂÂ233¹NÁcGŽqrr²²²â:_=ºG\§€Ú@ýV"‘H¤nÕjjõêÕ\Gà7@н\ †pü€P¿øõ€P¿øõ€P¿øõ€P¿øG­ïߢIšD$ ×A€¯4Õû78¤Ö[ŸÁ4ø„ë ÀWædÎuPSj]¿uIw8 ç:@áø7ÿ ~ðê7ÿ ~ðê7ÿ ~ðê7ÿ ~ðê7ÿ ~ðê7ÿ ~ðê7ÿ ~ðê7ÿ ~ðê7ÿ ~ðê7ÿ ~ðê7ÿ ~ðê7ÿ ~Ÿ|õÕWMþCGGgâĉ²‡;wæ: €Šhr  òòò†‘M)**bÿ#tuu9Ê jøü |2zôh@PáSB¡püøñ*ÎÀÔoà ‹Þ½{khhTøìÈ‘#Uœ€+¨ßÀ3ãÆ+?Q(zxx˜™™©>'P¿€gFŽ)V°íª°®4T¨ßÀ3†††ƒ ÒÔüŸÓo544üüü¸Š z¨ßÀ?cÇŽ•H$²‡ššš>>>M›6å0€Š¡~ÿøúú–¾TL"‘q˜@õP¿€5j4|øp---ö¡žžž··7·‘T õxi̘1b±˜ˆ´´´ôôô¸N R¨ßÀKžžžFFFD$‹ÇŒÃuUCý^ÒÔÔ=z4÷íÛ—ë8ª†ú |HDcÆŒ)s-€:À ¨w>ùä“ÌÌL®SðFttttt4×)x@SS3..ÎÍÍë  ¨ßõNfffXX˜‹‹ ×A A xñâ×)@aP¿ê#ggg‘HÄu ¨¿pü€P¿øõ€P¿øõ€P¿øõ€P¿øõ€P¿øõ€P¿øõ€P¿øõ€P¿øJ"‘lÙ²eÀ€;v|¨ÀŠÁ€rˆ‘ˆÕbF"Е߿áÇ;wîÔ©SJJŠT*eF"‘ìÙ³ÇØØxâĉµ‰[‰'OžTÙæÃ‡ìödÊ”)eBQzzºB’°´hÑBN__ßo¾ù¦.K9þ¼™™ÙªU«$ Ã0%%%«W¯nܸñ©S§’+ÕWåÅ2±Ä RÔGšœýáµUTT4hРœœœû÷ïëëë³…BaPPµµõæÍ›µ ‡_ºtI~3"rssÛ¶m[ÿþýGÅN·²²""[[[…„ÑÓÓ“ý[™ßÿ½.‹ÈÍÍ3fL÷îÝ¿øâ vІ†FXXØíÛ·ƒ‚‚þüóϦM›Ö=$€B`ÿ9ÿìÞ½;##cÉ’%²â-ãáá!‰²”ÌÌLŸ¬¬¬j¶577 yðà;EKK‹ˆ´µµ’G¢¢¢^¼xQ~üäÉ“³²²¾ýö[NRTõ€Ž;FD®®®>;bĉDráÂ…¹sçÚØØ<þÜÝݽE‹ïÞ½ËËË[¾|ùgŸ}æää4`À€Û·o³³Ü¿ßßßáÂ…AAAîîî·nÝ"¢]»vݽ{÷åË—Ó¦Mc›U6;ËÂÂbß¾}ùùù£G....¬ÂÙãââ´µµõõõããã³³³ƒ‚‚Aß¾}ïܹCD)))[¶l©ò=‘H$ûöí?~|Ÿ>}†9räHHHˆ••Õëׯýýý zôè! \Ù ‰'"GGÇ2·oßžˆ.^¼XeÏUªð­Þ³gžžž@ X±bEII ýòË/ÚÚÚ»wï®0meë·š àz>@ƒ¥¼ãß]ºt!¢¼¼¼Ê^¹rEWW—ˆV¬XqæÌ™I“&åääŒ7îÞ½{l›ššš~øða˜¶mÛ¶jÕŠa˜âââ¦M›¶oß^–ÄÎÎŽý¿T*­lv¶%ûŸÕ«WÑüùóËL—3ûôéÓutt²³³†ùøñ£©©é˜1cØfb±ØÍÍ=À_&Oyoß¾eH¥Ò§OŸ²;'–.]úèÑ£ãÇQ¯^½ä'iÖ¬YóæÍ+ìÜÄĤyóæò{®NÈÊÞê Ñ;w؇<ðóó«,íëׯ˯ßÜÜÜÊ* †ãß Ö €²(¯~{xxÑßÿ-¿Ÿ¶mÛÑÛ·oÙ‡Æ>zô(Ã0›7oÞºu+Ã0‰¤U«Vššš²$²R$gvæëôÈ‘#‰èøñ㥧˙=--ˆ~øá¶¥¯¯o£FØ‚zäȑ͛7—~gä”F©TZºÁ§Ÿ~Z:•™™™¶¶¶ü$l‘®°s+++cccù=W'deoõË—/uuu'MšÄ>\ºt)INÚ2ë·J¨ß öŸðO»víˆ(##C~3¡PHDÆÆÆì䤤:”ÙøøøÑÔ©SÖ­[·lÙ²¢¢"vnrf/M ìܹ³]»vãÇþüyufïСCß¾}ÙªöðáC‰D"‹ýõW"Ú³gOPPP5ß@PÙC@`hhÈîÕ—“¤}ûöYYYÙÙÙez‹Å¯^½êÔ©“üž«£²·ÚÌÌlòäÉ111Ïž=cæüùóƒ ’Ÿ¶Ìúuƒú À?$¢Ë—/×h®¼¼¼‡æçç—ž(‘HˆèÒ¥KööömÛ¶­ðœ¸*g/£I“&(((;vl5gŸ5kÖ­[·’’’¢¢¢¢¢¢†¾mÛ¶´´´–-[6nܸʗöúõk±X\e³*“¸»»ѽ{÷ÊÌ’˜˜XRRRÙ ÕĆ”óV‡‡‡3 ³fÍš¤¤$gggMMMùiAÍ¡~ð¿¿¿³³óÆËßW¤°°=驼:¬ZµJ6åîÝ»ÑÑÑDôÙgŸ ‚ÁƒÓjÃ0lÙD9³³³”.*:tعsç… ª³t":t¨µµuddd~~¾½½ý´iÓ’““gΜ9cÆ Y{Y¤2†™1c†††F…ÏÖè}oÞ¼ùŽ;Ê̲qãF öµ|U†”óV·hÑ"((hË–-ÑÑÑ'N¬2-¨»Úîx€*(õþ-666VVV±±±ÅÅÅ ÃäççŸ;wnÀ€‰‰‰l"‹Åìâ¢"öˆéĉúé§/¿üràÀìaf###¡PxùòåmÛ¶5oÞœˆ®]»öäÉ ==½ÔÔTù³³ûÉŸ?^&äܹse9³³–-[&nß¾Í0ŒT*µ³³óññ)Ý[nn.YZZ²wVaeggO™2eìØ± Ãäää‘••ûTË–-‰Hv¥%ÉOgff¶aÃv)‰äÛo¿555‹‹“-´²ž«²²·šmy÷î]"rww—Í+'m™õ[¥êŒ«òpü»ÞÂZP¥Öo†arrr–/_îàà`hhØ©S'''§¯¾úêýû÷ Ãäåå-]º”ý}Μ9)))ì,Ož<6l˜‘‘‘™™Ù”)S^¿~ÍNß±c‡‘‘Q—.]âãã7nÜhddäé陕•õã?}ùå—rf?pà€··7 2$>>¾tÂââbWWWÙÃÊ–ÎÊÊÊ “=ܹsgBB‚ìá•+W‚ƒƒÙWdggçáááááñé§Ÿ²—˜ïÚµ+///""‚m°fÍšo¾ù†ýÿW_}•½fÍöáçŸþñãGùI^¼x1sæL??¿‘#GŠD¢Ù³g—n ûì[¾ç³gÏÊ)ç­–õß¿ÿ˜˜˜Òyʧ­lýʇúÝÀ˜Jöö@Pí£}5Q ÄÆÆ(!ÔkÅÅÅ]»vMLLlÔ¨‘Â;¯Ý¸ÚGûFÑ(†P)êÿ¨/¶nÝ:tèPeohxpÿsŽ]¸paÖ¬Y………¹¹¹ìÕðUÂço޵lÙR, …ÂC‡5kÖŒë8Àøü À1[[Û*ïÆP>ðê7ÿ ~ðê7ÿ ~ðê7ÿ ~ðê7ÿ ~ðê7ÿ ~ðê7ÿ ~ð¾  ÞÑÔÔ5jÔ¨Q£¸ ¦&¶ù Ö%@½÷òåK®SÔU^^ÞæÍ›oܸÞ­[7%-% ,,ÌÅÅEQ~ýõ×> ·³³STŸõ„††ÆàÁƒ¹N ƒú P︹¹q¡®®_¿(‹ãââÜÝÝ•º,ggg‘H¤¨ÞN˜0aÒ¤I—/_nÕª׉”HWW÷×_ˆˆ?~|DDNJ‡úçŸ(ÑSzºŸösBñþ¼þçú1ë ó \ÔÅ«Ëa:Ìa˜ktM@Ê?WN@ö‘ö!Ö!ßÍø.þaü¬Ý³´tµ”¾Ðzà]ã:TL€?$”dÍ[Ck¸N¡hR¢ DáD}‰bˆÌ¸Î# Š% Páωˆì‰5Wár¹cMÖOé)×) ,ì?P–Õ´š!¦!ý<Í|êÞÏ]gÎÚo×JÿOʘq‰ˆb)V¥ Èܾ|»å³–­]ZßK¿Çù; ‚ïú õªåÈ‘#¯^½ºvíZ¸¼».:vìxíÚ5cccWW× .pÔê7T½¼Ûßß¿]Þ]æææñññžžž^^^111\Çu„ú ò¤§§»¸¸ìڵ맟~jx—w×…®®î/¿ü²pá &à¤tP=œ•Љ‰™1cF‡RRRZ·nÍuœz‡½Sú'Ÿ|2}úôìÞ½[OOëP .ðù*““3fÌöòî+W® xË1iÒ¤'Nœ9s¦ÿþ¯_¿æ:¨ Ôo(+11ÑÑÑ1..îäÉ“ëÖ­ÓÒR‹ ëbÀ€—/_~ñâ…‹‹Kzz:×q@- ~À1 ³nݺ޽{·nÝ:55ÕËË‹ëD¼aooŸ””diiÙ«W/œ”*€ú ÿxõê•··÷‚ –-[öÿ÷æææ\'â™fÍš={vРA^^^»wïæ:4p8 ˆˆNŸ>lhh˜àèèÈu¾ÒÑÑùùçŸ?ýôÓ &¤¤¤¬Y³F(ÄÇ$P ,uWTT:hÐ OOÏ7n x×{RúŽ;6mÚ4jÔ¨‚‚®AÄú  ÖÒÓÓÙoïÞ³gOLLŒ¾¾>׉ˆ‰'ž=tèСC‡*ê¤ô _æóçÔ¼98AÎÎÔ¤ µjE'Ò³g Y p õ ÊÉÉ š0aÂĉ¯\¹‚Ë»Ëûë/ÒÐ OOzü˜Þ¾¥˜ºqƒz÷®îÅWu§££³gÏž/¿ürÆŒ ?)]æåKÊÊ¢éÓiÚ4:ž.¤ß'GÇÿžü…ýç MRRÒ˜1crrrŽ?®¨}³ Ïo¿‘PHÆÆÿ<=š„B5ŠV®¤mÛT”½SºÍÔ©SŸ={Ó¨Q#Å.B[› é÷߉=íÁɉŒŒH$¢åË):Z±‹UÃço€†ƒùÏ·wÛØØ¤¦¦¢xËѬÙ‹7kà@"¢[·Td„ qqq/^ìׯ߫W¯Û¹…™›SésÙ—yã†b—@ýh ^¿~=xðàÏ?ÿ|áÂ…§N²À9*—•EÑÑ””ô?Ù»š´hÁAWWׄ„„ììl—»wï*°ç6m(;›JJþ;%;›ˆÈÔT n ~4gΜéÒ¥Kzzú¥K—"##ñÓòéëSD}öååý3…aèÛo‰ˆ¸ÚgÁž”þÉ'Ÿ8;;Ÿ8qBQÝNJ……´fÍ?†¾ÿžˆ¨E-8ƒ_r~‹Å‘‘‘ìåÝ·oßvvvæ:èéÑŠ”–FAÿúõîM?ü@>>ôÙgœ¥266>}úô°aÆ ¶qãF…ô9d¹¸Ð_Ÿ-YBžž´a¹¸ÐÌ™ 鸄ó×xìþýû£Gþ믿víÚ5nÜ8®ãðÉìÙÔ¢mßN?ÿL99Ô¡mÚDS¦·{.tttbbbZ·n=kÖ¬ŒŒŒ5kÖÔqWŠPH'NвeGgÏRëÖôÕW´`ê.våÁ:૘˜˜™3g¶k×.99¹mÛ¶\ÇáŸaÃhØ0®C”Þ”Þ¾}û &dffîÙ³§Ž'¥þ³Ïì?àŸÜÜÜqãÆÉ.ïFñnxFuîܹK—.õíÛ÷%.ֆР~ðÌ7ºvízêÔ©cÇŽ5ÈoïV”ôôZÎøø1¥§SQ‘BÓÔ\¯^½>|øàä䔚šZY3¾¿L¨5ÔoÞ`þóíÝ-[¶¼uëÖàÁƒ¹NT¯µo_ËÇŽ¥öíéÑ#E†©Ö­[_½zµM›6}úô9~üx…mÀË„ÚAýà‡×¯_2„½¼ûôéÓ¸¼[†ùç§v._®k dll|êÔ)??¿aÆý ûZ1"jX/jç¯ðÀÙ³gƒƒƒuttâãã]\\¸Ž*¥££½¥€ IDAT³{÷n{{ûÙ³gß¿¿î'¥CÀAP¯•””DFFzyyõîÝûæÍ›(ÞêI ,X°`ïÞ½[·n9räǹNÜCý¨¿=zäææ¶zõêM›6íÛ·ÏÐÐëDÀ¥€€€¸¸¸Ë—/»ººfffr8†ú POÅÄÄtêÔI,'''‡„„pê—„„„ÂÂBggç›7or¸„ú P¼ûêÕ«¸¼Jkݺ5{Ñ¿œ“ÒA ~Ô/7nÜèÖ­Û©S§Ž=ŠË»¡BìIéÇ6lX4¾Ç[]¡~Բ˻[´h‘šš:dÈ®Aý¥­­½{÷îï¿ÿ>44444T*•rT ×Ô YYY&L8}úô—_~¹xñb\ Õjii9~üø?ÿü366¶I“&\'ÕÁ6€{çÎëÒ¥KZZÚÅ‹ñíÝP#"‘èܹsÉÉÉnnnOŸ>å:¨6\b/ïöôôtuuMMMíÕ«׉€Ø“Ò‹ŠŠœSRR¸Ž*‚ú À™GõéÓ'**jõêÕû÷ïÇåÝPk­Zµºzõª»»û±cǸŽ*Á@X3ÖÄ~ðS›Ÿ}D†D]‰2ªnÆ„aVüCD±\gàèG“ÑŒgâK„¢¢¢ñãÇkhh¬_¿>ž‰×d49‰ŸêÿX3Ö5*@8­N2)3ŒÂ\·´„(È-ØóùžsÛÎ š=((*HKGK~ûÕ´:“äÝlKÇa¨ókA/JOÑÖÖÞµk—££ãܹs½þò*Y]²OcWñ F(a ­©Ñ,¨ßuåLÎ"qx#999000;;ûèÑ£Õ¼Bl?í¯²:Cu~í µ²²<–î“W¬—׉ j 15Ç¿T„a˜uëÖõêÕë“O>ÁåÝ T#GŽ\·˜R'¥7`¨ßª••åëëË~{÷™3g,--¹N \[ç¶”@b±'¥7T¨ßJwîÜ9‡;wî\¸p—wƒê´¢+W®´k×ÎÝÝýèÑ£\§Ãv@‰d—w»¸¸Ü¼yÓÕÕ•ëD ^ŒŒŒN:äïï¿~ýz®ã€"áüµz§]»v Sãs ¾yüøñ˜1cnÞ¼¹zõêÐÐP®ã€šÒÔÔÜ´iS»víÂÂÂÒÒÒ~øáMMlù|þPŠß~ûÍÁÁálj‰‰(ÞÀ¹ÐÐÐ}ûöíÙ³ÇÇÇ'''‡ë8ªæçç7sæL®S(êw½“œœœ››Ëu ¨½‚‚‚ÐÐЀ€€àààäääŽ;r€ˆhĈçÏŸOMMuss{òä ×qTêÈ‘#çÎã:…‚¡~×;7Ö××ç:ÔRJJŠƒƒÃ/¿üòû￯[·NGG‡ëDÿÕ³gÏ„„„’’ggçääd®ã@ ~+]»víÁ»wïFݼyó¶mÛΜ93??ÿüùónnnVVVì”ÒíÙÿK¥Ò;v8;;›˜˜8::nÞ¼Yvh\,/_¾¼{÷îúúú .,**ª0Cõ[B­É.ï¶²²JMMõññá:Ñÿ¨Ñ8\µj•@ HMM•Í^RRbffÖ¯_¿švÅbfÛ¶mîîî-[¶ {÷î]-‚UH"‘`xWŸ­­íµk×ÜÝÝÿýw®ã(;¨Š‹‹G­­­ÍnQ322d›Ö2 þúë/’;J«|¶ mrkt·U(ƒŠebå·±³³#"—ÐÐÐ 6ØÛÛQ÷îÝ ,X°~ýz¶ÁüùóK·gÿÿïÿ›jsçÎ mÕªmذa˜’’www"òòòZºtéèÑ£«««D") ú-¡Ö^¿~=dÈMMÍ%K–”””(¶s#1"9 >322ˆhñâŲÙÏœ9CD;wî¬iW¬)S¦Q=/^|úô©™™™¿¿?Ã0[¶l!¢Ù³gK¥RöÙÅ‹Q\\\™Õo µsîÜ9KKË-Z\¾|Yý+°~WvìØ±sçβÙ'M𤫫ûáÇZtuñâE"òöö‹Å씵k×Ñ×_]‹Þʾv"µÞu©ß¬µk× …ÂÙªiØAÕ½{÷?²SˆÈÎÎNNù£Tþ³eÔn“‹ú­jÕßn¾yó†}(‘HˆÈÄÄD¶jKJJJ­Òõ›½Kמ={Š‹‹ËtÛ»wo"zõê•lÊË—/7lØpçÎZ·„š‹ÅK–, …#FŒx÷î’–¢Àú]ýq¸dÉ"úûᅥ)**222=ztíºò÷÷'¢«W¯Ê”””X[[÷èÑ£½•}íDj;¼ë^¿†ùí·ß5jäééÉþqÖ0°ƒêâÅ‹²)ÖïÒ äRùÏ–Q»Mn-ê7®Tö?ì½·š5k&;£¡¡QÙ\ÑÑÑ&L7nÜܹsÝÜÜú÷ï/‰ÌÌ̈(##ÃÔÔÔÔÔTÖØÌÌlÖ¬Yå;©~K¨‘Ç;6%%…G—wW>ü«¯¾:tèÐüùóÏœ9óþýûqãÆÕ®«{÷¦fzzºl¢­­ííÛ·kÑ[yM›6Åð®µ#FX[[6¬wïÞÇŽkÑ¢׉†=SÍòGiuưŒÊ6¹¨ßõš¿¿¿‡‡ÇÉ“'OŸ>}þüùÇ/Z´èðáÃýúõ+..nÔ¨Qu:©~K¨¾L™2ÅÒÒ211±A^!Ö©S§6mÚ>|xþüù{÷î555õôô¬]W?&¢=z”™®¥UŧVîG[G={ö¼qㆯ¯¯³³óï¿ÿîääÄu"ÅýQXòGiưÊ6¹÷õÚµk×Þ¾};f̘]»v=|øpûöí¹¹¹K—.%";;»/^”>òíÛ·AAAåïr\ý–PìåÝ#GŽôññi¨Å›ˆÁðáï\¹òøñãÇÖú¦]ÖÖÖDôþýû2{ÿŠ‹‹õýû÷ÞudmmïèèèááqäÈ®ãp@þ(­ÑVÙ&õ»^5jÔ€Ø#‚B¡pÀ€DÄnFÙ —/_ÎüçàöíÛþùg==½2T¿%T)--­GìåÝ111 {ÇÆˆ#†™>}z^^^™ç5ž‹-›òøñc++«9sæ( %ax+B“&MŽ92~üxÿÈÈH®ã(#÷¦ÔòGiưê6¹5:ZeTÿ¼¡ÿ™«ÜÉ8TÉùkDÔ¥K—E‹Í;—=4õ믿2 SXXèèèHÿ¹DaܸqB¡°ÿþì% M›6urrb;‘ߪI*•®]»VGGÇÃÃ#33S•‹Vàùkÿ3—ÜqÈ0ŒD"a?v´oß^v6Y-ºÊÊÊbÏÄôòòŠŒŒ7nœ‰‰‰‘‘Qzzzí‚•ÞDdcc£žÃ[!篕Ǟ”>eÊ”ò§ÍòEùA¥¥¥¥««»qãÆÊÈ¥òŸe±ÉÅù窦ìú]\\Õ¡C‡ÆöêÕëàÁƒ²¹ -ZÔ¥K==½Ö­[þùç²3HË,BNK¨Ž¬¬,%]Þ]%®ê7Ã0ìÇ‹o¾ù¦Ž]½}û644ÔÞÞ^WW×ÒÒ200ðÞ½{µî­ôC"úé§ŸÔsx+©~3 sàÀö¤ôìììÚ¦ãRùAµlÙ2CCÃ&MšTÖ€‘;J«|¶î›\ÔoU«Îvø...ÎÊʪE‹—.]â$€Bêwí|÷ÝwDôøñcet®D«¦¿ƒÊ«ß Ã\¿~ÝÜܼcÇŽ=ªu'P}µX_8þ P)öÛ»سgÏÔÔTö²NõÁ0Ì/¿üâîîÞ®)‚jêÑ£Ç7455]\\nܸÁu¨ê7@Åž%%…/—¶ƒÂYYY]ºt©k×®‡æ:”…ú P888¼ÿþúõëêYÀüüü6oÞåççÇuàŒ¾¾þ‘#G&L˜0|øðyR:¯áþ-ÿ£   ""býúõãÆÛ¼ysþBLŽÌÌL®#@½ ¡¡ݶmÛyóæ={ölãÆŠºñÔê7À¥¥¥=:33sß¾}"‘ˆë8õEhhh‹-‚‚‚?~¼ÿþ¦M›rP¿ˆè?_îÖ£G“'O²×=C=ôáÃöÛše>>ìÒ[¶lÉu"u‡ãßôæÍ›aÆ͜93<<üìÙ³(ÞõÙ_|áT -\¸Pö½o(I—.]®]»¦¥¥åì윔”T¾¢î‰ Õú ê"--íôéÓå§Ÿ?ÞÁÁ!555...22²Êo»nõíÛ·²§444<</^¼xðàÁË—/ýõ×wïÞ(iY|¡¡¡±bÅ ~?ê·Š$&&îÝ»_)­æææ:::ì¿\g©ZBB){`4Ô᧯¯ïììlnnÎuÅSÁÀØ¿BB‚‹‹‹2:––––––………ÏŸ?oÔ¨‘2–Â/{÷îõ÷÷Gýæ«}ûöqêU~pÄðãÕ Œ •Qø)–8þ À?¨ßüƒú À?¨ßüƒú À?¨ßüƒú À?¨ßüƒú À?¨ßüƒú À?¨ßüƒú À?¨ßüƒú <–Íun ~×;111]»víÖ­›•••@ qqqÕŸýÊ•+“&MbgŒˆˆHLL¬°YÏž=ÃÃÃk—pîܹ@SSÓÇÇÇÓÓÓÉÉÉËËkÿþý ÃÔ®Ï),,üúë¯]\\LLLdëòЍ¼¨ú£¸¸xÕªUŽŽŽmÚ´2dˆH$š7oÞwß}çââRýNT0Ož<ùÙgŸ±‹8þ|…Øg§L™rõêÕÚ-jªŽ¿‰P}¨ßõË?þ8~üø/¿ü299ùÙ³g400xöìY•3>}ú”ý««ktt4µhÑbåÊ•=zô¨°½™™™±±qíB®ýÿöî=.æ|øk¦)EÒºªdYÇ9»tÛ’–²kÅFÅm,rYªÕŠŽ¥,-a8Xd7Vas9ëz¬;‘lîÖ};Š„ÔtÑM—ϼ¼¿æ7§šij¦Ïg¦^Ï?zô¹Ìûýú|Þïù¼>÷Y·îÞ½{`ooôèÑ“'O¦§§÷ë×/((H$µ¬ÌfÑ×׌Œ|ôè‘D"‘ŽTe‰@JC<|øpРAHNNÎÊÊ:vìXjjêÀŠ‹‹›ü8›ýðÓO?ýñÇéÿ¶ÑÆ `Æ îîî-«5—ŠßDåI;›Ö®.˜¿5ËŽ;`èСtÐßß?11ñùóçŠ?•=aÂé ÝfÑ¿ò>|xáÂ…-Ž“~?ùüÿë?:tXµj•Á¦M›Z\f³tïÞ]vŒŠK°Pœ«­­7n\YYÙÅ‹ßÿ}:’ÏçO˜0áäÉ“ºººŠ?Î~?¤…»»»=zô¯¿þ’ôòåË¢¢"Ð××oq¨¹Tÿ&*£^gÓ¢ÂÕó·fáñxðÝwß1 CÇŒ;¶OŸ> >òüùó‘#G°Ÿ|:::†††¥¥¥Ü†¡^mr¡ø×¿þuçÎåË—wèСޤÄÅÅ)ø,‡ý0<<œ²~ýzÙ‘‰‰‰3gÎd?Ä‚Víl²EUæoÍ6lðòòÊÊÊ@àïïO§–——ÿý÷¡¡¡6lØŸþ ;vì¸ÿþ«W¯Â”©‚a˜½{÷†„„ <˜rèСéÓ§[YY½~ýÚßßßÈÈÈÙÙ™–,¯ÆFíÝ»·   44T:¦´´4***:::22Ò××722’ž€Ýºu+½* oÞ¼Y³f l2˜šššÅ‹Ïž=;&&&**ª¢¢¢KDY»ví_|Ö¡CÞ;*.ÔíÛ·}||x<žŸŸŸX,ŽŠŠêÑ£ÇÎ;•iÍqòäIðññitªÆöC›íÛ·KÏð×ÔÔœ8qÂÏϯa½UQQ‘’’òÅ_¸»»ïß¿ßÒÒÒÙÙùáÇ·nÝòõõíҥˠAƒîß¿/-¤ÑnÀ0ÌùóçÃÃÃíìì^¼xáååecc³~ýz_WW»wïÖÓÓûå—_”YKÜjt‰ŠŠŠ̯|›Þ¿ß××—~—ù|~YY4Ö:ưvíZå;[Ã2Ç&Û“5½M RH%©ÊÌ™ššªäÚNMMíÚµ+èëëÇÅÅUUUÑñ‰dÒ¤I< ƒ>>>Ý»w/--%„€££ãÿÖ`Œ,±XLgH$¹¹¹†††—““sìØ1pwwW\#­ÂÈÈ($$dâĉ®®®ÆÆÆ[·ne†N}óæƒƒÃ’%Kè`~~¾ƒƒCÏž=‹‹‹ !ööö²kƒ*†a˜¡C‡†„„H$BHVV–ŽŽŽ´%—ˆ²nÝ:>Ÿ_XXH¡'Æ#""d×[‹ª¼¼¼oß¾¶¶¶UUU~~~=R¢µI``````óÀ@¢hž&û¡’ÝÏÜÜÜÄĤÞÈË—/'¼#‰ÊÊÊ4­B`åÊ•täž={!ŽŽŽ² .¯(†a?~ ÆÆÆ'NœxöìôêÕë‡~())¹uëøúúÒOÉë¯^½JOO§çêãããO:5uêÔ²²² ÀÝ»wéüOž<ùüóÏ›l e:†âvO%©@5z“U¼}û¶Ñ%Rð忉NNN&&&ôëùä“f¬&®5\"”ÿ&nÞ¼¹S§NÎÎÎFFF Z§Y1ÈR²ÅëÅVƶ)æo ráÂ…k×®Iœœè“߇€òòòììléE_Jz››’^¿~][[«äÌÍ­1((H-íñ999Ò©fffÐ¥K—f,• ªßJ¶xñâmÛ¶M:•^¿Œ_²d‰‚ù›µP‰$++«G“'O®®®V1Töy{{Àï¿ÿ^o<½TA_cûáܹsy<žH$Ú´iÓܹsU)J±ômzh.‰®^½êêêJO­µs7oÞ:tèõë×=<<’’’ÔÒ:õ´F™”&´)æo Ò¹sçyóæÉn×ìììÌÌÌ,--ÀÉÉ©ªªjåʕҩ÷ïߧؽ‚"rÞ7B™5kÝ+Cq ½|ù,,,àÝ =Ì¥èó”ô`—îù¾}û–N¢»½ò¦è‘÷‰'” ^†aîÞ½{åÊ•„„„ß~û-::Zñ Q~¡`ÕªUŸþyRRÒÝ»wïh¦… Z[[GGG———Ë›G£ú!ÝÓ¿#GŽÌÌÌÌËËsrrj4†ævéF5Ù ²±± ÞºuëÆ§L™Ò¬êÚªåË—;88œ>}z÷îÝ Ã,^¼¸¹­#ÛÙäiq‹7Y¸F´©¢“ë¨)ê½þM.ƒ‚‚è¥;òî4ïŽ;!ÕÕÕô2Ì”)SRRRbbb|||è]<·nÝ¢Ÿ¢7wXZZJo¼"„”””L›6mâĉ„7oÞ€••dkk ôFBÝ]¨®®VP#Ý¾ÛØØH?•——çâ⢫«ûÇB***úõëgee%½L8wîÜ>ú¨¶¶–2fÌX´hÑãÇ7lØ@OL?~¼®®N^0ôÒr·nÝNžÿüùóMv ºþM¹v횥¥¥££ãåË—é²H$’´´4øè£ˆ†õÃ/^€Ì¥héù*iuVVVPYYIE÷&{÷îMç¤÷TJïÕ²³³z„ân@ç¤ÿË¢·¯{yy)Ó D“®Ë[¢F)ÿM455}ýú5!„accc777­Ó0†zMe*ˆ­^áêjSÀû×4ŠÚï_377###ooo—ýû÷K§>{ölôèÑB¡ÐÌÌlÚ´i´÷B¶oß. cbb!ééé“'O¦;gŽŽŽC† 2dHïÞ½éË7vìØQ^^Mg‰D+V¬ ÿÇÆÆ–””Hßc5þüÊÊÊFk}º´´Tù%:yòd½¿…””jÿþý]»v £³Ñ÷WtéÒ¥ÉÙ4-BJKKãããš÷s. IDAT{ôèáåååëë;~üøÐìE4¦M‘H$þþþ4Î{÷îÑÍ`êÔ©ééé ‚õêÕ7ß|zzz§Núý÷ßéé¹sçnذ–³råÊ‚‚"§”——K‘Ÿ;wî7ê­Ø¡C‡îܹSÉVЄüÝä5œ_ù6;;»ØØØ9sæŒ=úéÓ§¤±Ö‘ƒlgS¬Ñ—‚7›´põ¶)æoÍÒJ÷Ÿ£Ö“œœ,‰èÿ ÃäææîܹÓÔÔ”«x40£ÖP]]ݯ_¿ŠŠ %çׄükn›ª=ãõoÔŽÄÅÅMš4)$$„òù|kkkww÷^½zqjóGÕ±cG®QO¾‡¶«8oS¼ µ#—.]‘H´hÑ"}}}Bȵk×’““¹ µMçÏŸŸ3gÎÛ·oËÊÊèäh;¢y?ÇÇrHšÓ¦xüÚ‘äääY³f¥¤¤XZZzzzܸq#%%…¾É!µ³µµ­­­åóù¿ýö}c ÒvšÓ¦xüÚ33³öócbHôìÙóÑ£G\GÔIsÚ¿B!íƒù!„Ò>˜¿B!íƒù!„Ò>˜¿B!íƒù!„Ò>˜¿B!íƒù!„Ò>˜¿B!íƒù!„Ò>˜¿B!íƒù!„Ò>˜¿B!탿?ƪ   ®C@š%##ÃÍͺ°û5©´´´K—.\GÀVÇÈÈÈÀ^¡½ðø›%ÎÎÎãÇç: PXXxèСêêj®Ñnnn­]K›ì~—.]º{÷® ÌÍÍ=}útnn®Ël1:F`` kûŽÆïìì¬Æñø›%vvv{öìá: pæÌ™aÆmß¾ÝÄÄ„ëXÚ‹6Ùýú÷ïïïï§® !ÑÑÑ cÇŽ?¾ºŠÕX,ì;¢Öƒù±aÐÑÑá:¤ÝÄb±©©© äñx+W®´´´ŒŒŒÌÍÍ]·nÇScù©æoÄ6š¿ù|¼vƒTRTT¤ÞüMÍ›7ÏÔÔtÊ”)ÅÅÅ?ÿü³®®®Ú«@H-0#¶I$Àão¤š²²²êêê®]»¶FáÁÁÁæææcÆŒyõêÕ:wîܵ ¤"<BlÃóçHub±Zãø›6lØ™3gnݺ5tèЂ‚‚Vª!U`þFlÃüT×Úù ”‘‘Q\\»Àn€¹ôEˆÂXª¶IùÛp:‰½U„T¦ 5åÌ»0«ÝY8û ^q«’ÄIO»>…XöªÔ؇lížµ{TΨ‰?Ld¯j¹錀ò¦Ž€à ›!!U˜ƒy³æÇüØ&‘Hðü¹zy‚'×!°íß…ÿ605¶_ÿ¸ p˜Ù°iÓ¦™¼6ILL4wªúc` ×Q V¤¹µUxüT'‹mmm9©úË/¿4557n\QQÑž={ 8 !< BlÃüT§ö—Ÿ7‹ŸŸß¹sçÒÓÓ?þøcú$:BìÃü؆ù©ŽÛü ....\ÈËË?†Ø†×¿‘Š4êø›ÒÑÑÙ²e‹……ÅŒ3òòò–.]ÊuD¨íÃü؆ÇßHEb±˜Ïç …B®ù<oéҥݺu›;w®X,^¿~=î§¢V…ù± ó7RQaa¡±±±fö¢Ù³g[ZZN˜0!//o÷îÝúúú\G„Ú,Ü=DlÃüTÄùÃߊùûû?~üìÙ³#FŒ(--å:ÔfaþFlÃëßHEž¿`È!—.]züø±§§g^^×á ¶ 7£ˆmxüT¤ùùÞÿýK—.ÕÔÔxzz>~ü˜ëpP„ù± ó7R‘X,Öœ‡Ç°³³»|ù²¹¹¹»»û•+W¸µ5˜¿Û$ æo¤ŠÂÂBÍ?þ¦LLLN:åìì|xĈeee\‡ƒ´nFÛðü9R…¶ço:tè™3gîܹ3tèЂ‚®ÃAÚ ó7bæo¤ úã¡&&&\¢’fdd»¹¹eeeqÒJ˜¿Ûðú7R…X,644l¿ booñâE###OOÏ[·nqÒ>xÿb^ÿn-oßÂþ Ãu­K|ìÛÇu j`1vÍO7·ÏŸïó·¿qRΠA`gÇu˜¿ëðüykùÏ`ìX®ƒhub€®Äu êap Àïûïw´‘¥jóƇ={¸ó7bæïÖRW@×q´.ñ´i¦ÏžÁ‰\¢6z» ‰ŠŠš°n]á¿þ5kÖ,®#B iÈY.Ì߈mxý©B‹^~®<·zõê=zÌ™3çÙ³gñññ<ë ¦ÃüØÆ0Œ@€µX,0`×Q´Šyóæ …Â¯¾ú*??Û¶mø5AŠaÿ@lÃóçHZ÷òóf™ìŽP£0#¶áõoÔb„âââ6|üM9;;§¥¥½|ùÒËË+77—ëp†Âü؆Ïkˆ?ÿü388xÀ€†††+W®¬÷Fn§øF*×§OúŸ>}xÿËÒÒò³Ï>»s玺b~óæMmmm›Ïßзoß+W®èê꺺ºªq¢¶¯#¶áùsÎB,X°zõjLœ8±¢¢"---::zõêÕçÎ{ÿý÷[\ø‚ è?555YYYG=uêÔµk×þ¦Ž—“ÐóÉí!€……ÅùóçG5dÈÇ{xxpÒ,˜¿Û0s.>>>!!ÁÑÑqß¾}ýû÷§#kjjbccW¬Xñé§ŸÞ¾}»Å/ÿá‡d“““'Ož¼`Á‚ãÇ«÷»/iÛ׿eŸ:u*88xذa»víÛÞ󔇧1Û0sëéÓ§qqq&&&—/_–&oÐÓÓûþûïGŒñüùó=ê{·Ôĉ;uê”™™©–ÒÚÀ5W‡~ýõ×/¿ürܸq‰‰‰\‡ƒ4#¶I$¼þÍ¡¤¤¤êêêøøø†GØ<ï»ï¾ëÛ·¯[âóù;w®®®VKib±XOOÏÐÐP-¥i -[¶ôìÙ3,,ìÅ‹K—.å:"¤0#¶áñ7·èy쀀€F§º¸¸¸¸¸¨±ºG½zõ*00P-¥µù‡ÇX°`A·nÝf̘QXXø¯ý w‚æoÄ6ÌßÜÊÎÎ600°²²j¥ò>|Hÿ©­­ÍÊÊúç?ÿikk»f͵޶_ÞÒ¤)S¦˜˜˜L˜0!//oÏž=màGT‘*0#¶aþæVIII÷îÝë½5|HŒ´ôwPúöí[oLXXX‹K«§çoøüóÏ?>zôèO?ýôàÁƒ]ºtá:"Ä<ƒØ†×¿¹ejjúâÅ‹ÒÒRÙ‘dXZZªR>‘Q]]}íÚµ«W¯öïßÿ?þP-pÌßàå啞žž••åáá‘——Çu8ˆ3¸ElÃãonÑËÛééé²#û¼ciiùâÅ uÕ¥§§÷á‡nß¾ýÍ›7±±±ª(‹ÛíõoYýúõ»téRmm­‡‡Ç£G¸qó7bæon…††À7ß|Óè=á­ñ„’µµ5«^T›üñЖ±µµ½|ù²¥¥¥»»{FF×á `þFlÃ÷§r‹^:}øðáØ±cŸ>}*/‘H¶oߣö_žÞ²e ¸ººª^ž?—ebbròäIWWWµ¼i¼ ± ¿„[<oÏž=AAAÇŽ;s挋‹KŸ>}ÊË˯]»öøñãeË–eff>|Xö#ÑÑÑõ ©÷’5y3WUUݾ}ûÂ… 111ªù»žN::thæÌ™£FÚºuë”)S¸Ž±ó7bž?ç\—.]Ž?~àÀ;vdff¦§§wíÚÕËË+99yРAëÖ­«—¿W®\Y¯ù[vf@гgÏéÓ§/[¶LõëÖ•••UUUxý»@˜˜heeõÕW_={ö ßîÒ~`þFlÃü­ ø|~```£¯U §ÿ7ùÜ—ì Ò'¿[I;|yª’x<ÞÒ¥KMMMÃÃË‹‹E"^¢j0#¶aþF-ƒù[±¯¿þÚÒÒ288X,oß¾]WW—ëˆPëÂ}4Ä6|þµL»úñЖ;vì±cÇŽ9òé§Ÿ¾yó†ëpPëÂÍ(b£–‹Å:::ÆÆÆ\¢Ñ>þøã³gÏÞ½{wèС¯_¿æ:ÔŠ0#¶aþF-#‹…B!ž¼iÒ‡~˜‘‘QZZêææö×_qj-øM@lÃüZS^Ïž=/^¼hllüå—_úùùýòË/ãÇ—NzûöíìÙ³§NêîîÎa„Hxþµº   y‡×zzz“&MÂä%   ;†a˜êêêêêj†aŒ‡ÎUlÚBOOo×®]sçÎ0a‚ôW؆?~|RRÒôéÓ% ·¢ÃüZ]=>üðÃFSxMMͤI“Ø i‹#Fèéé5¯««;wî\>>µµµÒA‰D2þ|ãÑFEEEǯ©©iônóÚÚÚõë×?}ú”ýÀ*0#–˜››»»»KO„òùü€€nCBZ¡ÿþ²¯]377Çg¾›«S§NS¦L騱£ŽŽŽ¼Ð.Z´ˆå¨Š0#öHO¡ ‚Q£FáQ eðx<___úk˜ 22R ÀO5O‡D"Ñ«W¯~üñGGGG¨·kkk÷ìÙsýúuŽD-ù±GzÀÍ0ÌäÉ“¹ izâWGGgÊ”)\‡£­ §OŸ~ÿþýk×®éèèÈþF¸@ ˆˆˆà0<Ô\˜¿{ºuëæááFFFŸ|ò ×á ­áããÃ0 Ç›2eЉ‰ ×áh½?üp×®]999 ,011áóù:::µµµ/^ª¯#„BÚó7B!¤}0#„BÚó7B!¤}0#„BÚó7B!¤}0#„BÚó7B!¤}0#„BÚó7B!¤}0#„BÚó7B!¤}0#„BÚó7B!¤}0#íVRRÂuH®üüüÔÔÔåË—sj\{k 6¶¹Àü­vîÜùÁ|øá‡VVV<Çã={Vù_ºtiĈ<Ïçûøø <ØÍÍíË/¿¼yó¦2wqq‰ŠŠjVÀááá<O Œ9Ò××wàÀÇß·o;¿žûöíÛåË—»¹¹™ššJG¶`Adq¾Pm̃âââÆŸœœ,©b±òóÏ?ÆÄÄ|õÕW»wïæ:"µi ¤ŒF7mæoîmß¾=$$$&&æúõëyyyÿþ÷¿ŒŒòòòšü`nn.ýÇÃÃcß¾}ЫW¯S§N¥¥¥ûì³&PR“5ÖÖÖØÛÛ««Æ&9::ª½³¿PMö“@H•)ˆ4µ6•(J}ê­Oí’““#d¿Œßÿ}ÇŽ ›ü,¤¦ÊÝ84‹‹j´ðf5PÃ퀶PrsÑôv;0°û%’¿¹Çãñà»ï¾c†Ž;vlŸ>}|äùóç#GŽ,((P0­­-«%HejÔÑÑ144,--UK¢M.RÒ®]»êêê†*óñÇWVVþôÓOFÅ!e¶ˆ5˜¿¹6lðòòÊÊÊ@àïïO§–——ÿý÷¡¡¡6l=ªÞ±cÇýû÷_½z&¯ØÌÌLðôô€ÒÒÒ¨¨¨èèèÈÈH__ßÈÈHš×†Ù»woHHÈàÁƒ !‡š>}º••ÕëׯýýýŒŒœ•¯qïÞ½¡¡¡Ò1òêݺu+½ÌoÞ¼Y³f TÔÔÔ,^¼xöìÙ111QQQt¼ò „µk×~ñÅaaa:tལâBݾ}ÛÇLJÇãùùù‰Å⨨¨=zìܹSAÓk¦f­©û÷ïûúúÒváóùeeeõfm#:¦²²rÍš5¡¡¡ááá...?üð=½ÙhŸW­âæn´´³gÏêé馥¥•””óx366vvvNKKS0‰–Ö°[¼¹h;¸:ðoÔrþœÎÙµkWÐ×׋‹«ªª¢ã%ɤI“¤“jjj’’’ŠŠŠôyä5·‚Ò轊›6m¢ŸòóóëØ±# ûСC[¶l!„ÐÓWÒýiBHee%|ðÁM®–ówËZÈo "§M•Ïß[¶lILL$„0 coo/èxúµ¥¡Bè͡ӦMS0IA;¶ls¡€åo<®)Œ×®]{ûöíž={fddDDDÀÕ«WœœêµÙÈ‘#åB¿WUUUOŸ>MLL¤µéééйsgélôüØåË—áÝÕw)ÙAgll\SS£ l@`kkÛ·o___ßÍ›7¯^½Z$­ZµªÉzÃÑ£Gà½÷Þ“Nåóù~Jñ‚ÐÝsº«NO}ûøø¨k¡ ´`Á‚ÌÌÌ¿ÿýïŠSc5¹~µyóæN:EDD8;;WTT5œG¶Qè’ÒSÓººº¡¡¡B¡°¹}¾aɲͭ 4'''oooš`²³³†©­­Ý³g$''½ Eö¡aºB,--›\!,kY«ÕSïK¤L›*0cÆŒ   õë×/[¶¬ººº®®ŽŽ§_[===:8jÔ( '½åMRÐŽ-Û\´ mmy´Î… ®]»&trr¢ÛµÃ‡@yyyvvv½Ë6ÒÛÜ”D{mNNŽtŒ™™téÒ¥åqËï‚W{½ÙÙÙ ú­d‹/Þ¶mÛÔ©Séeìøøø%K–(˜¿Y %‘H²²²zôè1yòäêêjCåDs×póæÍ¡C‡^¿~ÝÃÃ#))IñüôTí_ýUo¼Zú¼’¥Í™3çöíÛW¯^]µjÕªU«ÆŒ³mÛ¶{÷îÙÚÚvêÔ œœœàÅ‹ÒÏÒÿ=<}z÷îÝ Ã,^¼Xñü¤Ÿ’>’›““³oß>Å}¾¹—6jÔ(kkë¥K—VTTôë×/,,ìúõë³gÏž5k! €Ïç˾Léܹsººº&LhY<­§e­¦˜¼6mr;@…††òx¼#FÀ»\ÛèœîÉyyy)˜Ô‚^¡®Í…FSÏiøöJõëßt÷0((¨¨¨ˆŽ¡¹aÇŽ„êêjzÍfÊ”))))111>>>ô*”………Á­[·è§ÊËËÀÆÆ¦atÛdee%½j;wîÜ>ú¨¶¶–òæÍ°²²¢“èSgôŽBÝ —£äÕ(9//ÏÅÅEWW÷?þh²Þ1cÆÀ¢E‹?~¼aÃúʈãÇ×ÕÕÉ‹^ZîÖ­ÛÉ“'+++Ïœ9C÷Ù³²²šµ ±±±ööö?ýôÓñãÇÓÓÓ>|(½Þ¦âBeddŒ;–~væÌ™|>ÿüùóŠ;Î%ž ™IDATѼëß Ö¦¦¦¯_¿&„0 cllìææFÞÝíekkKç‘m£/^…BðööÞ¸qã?ÿùÏáÇ———+èó Èkî&K[¶lÇ£73K$GGÇ‘#GÊ–óÞ{ïÑ”––öêÕ+66¶ÉµAX¿þݲVSÐ@DN›ÖÛ(  ù|þ¥K—¶mÛÖ­[7¸råʳgÏèÍ.ô†BÈŽ;úôéCo”7IA;¶ls¡€]ÿÆü­µÜ¿fnnFFFÞÞÞ>>>...û÷ï—N}öìÙèÑ£…B¡™™Ù´iÓè׉²}ûv¡PCùã?¤ÑÑÑW¯^­WÅ›7o¢¢¢|||"##£¢¢–-[ööí[BHyyytt4ý H$Z±bý?66¶¤¤DúÒ±ùóçWVVÊÖxìØ±I“&Ñ©nnn¾¾¾ÎÎν{÷?~<Ý*®—’íííݱcGggç›7ozxxïÞ½[úB¨Fc¸pá‚§§gçÎmllbcc===g̘qúôéÒÒRåääɓݻw—Ý‹ …)))*.Ôþýû»víFg[¸p!téÒ¥ÉÙ4-Ë[?Š?vvv±±±sæÌ=zôÓ§Oÿûßÿ~ýõ×´„µk׿ææÊ¶Qiié“'OÌÍÍMLLBBB¤·¬ËëóòHÃmnÅ¥ÈÞ§”””‘‘!;ƒD"ùé§Ÿ‚ƒƒ-Z˜˜(MM®6ów Z­Éjئä·<ŠýüóÏB¡pÀ€iii?þø£P(ôõõ-(( IzË–-ñññô)ò.7:©ÑvTÜôò6ÒýƒFaþn/Ôxÿ9bMrr²H$¢ÿ3 “››»sçNSSS®âÑ´ü­iëGK±œ¿µ¨Õ¼­5Þ¨Ø\Z”¿ñú7j_âââ&MšBù|¾µµµ»»{¯^½¸ LC(X?<ù>|ØÚq[»†ãªÕ°Q¸…ùµ/ôZ"‘ˆÞ:G¹zõêÂ… e‚©=S°~(~ݯZp[»†ãªÕZV8}7_£¦*˜„ÂüÚ—äääY³f¥¤¤XZZzzzܸq#%%…¾áúÑFÚÒjåååß~û-}oúô鲯‚P0 É#à:„XeffFß.‰…ëGiK«ÒGí›5 ɃÇß!„öÁüBiÌß!„öÁüBiÌß!„öÁüBiÌß!„öÁüBiÌß!„öÁüBiÌß!„öÁüBiÌß!„öÁßkEx<× MG» ttt~ýõWì“ìPW³ ‚qãÆ7N-¥¡&±ö}T‘vD©¥FŒqàÀ†a¸i:sssv*Š3f ;uµs:::#FŒPKQgÏž}õê•ZŠBÊ`íû¨"Ìß­H__·•H£ØÙÙÙÙÙqjOOO®C@š¯#„BÚó7B!¤}0#„BÚó7B!¤}0#„BÚó7B!¤}0#„BÚŸÿVÕ¸Â|›jE¹Ûz(;÷¾}­ Bí^n.ôPúûØš0«Ä¬E ˆë@PçnMÏdaµ~8µonJ|[Âu !„j¼þBiÌß!„öÁüBiÌß!„öÁüBiÌß!„öÁüBiÌß!„öÁüBiÌß!„öÁüBiÌß!„öÁüBiÌß!„öÁüBiÌß!„öÁüR$???55uùò岯´´”«ªÒ(˜¿Q{têÔ©‘#Gòx<çíííååõüãÓO?ýñÇ«ªªX #==}êÔ©4ŒèèèÌÌÌFgsqq‰ŠŠb-*Y<ˆ‹‹?~|rrrÃA–%$$ <ØÔÔ”ýªÒ@=zô½{÷è ­ÍÀÀ@úWžÃ‡³‰<úúú Ùd``н{÷ââb®@H£àùs„þ? ‹eË–åää¬^½šëXBHÌßý€€>Ÿúôi†aΟ?ngg÷âÅ ///›¢¢¢Çûûû/\¸088ØËËëöíÛpöìY===CCô´´’’’àà`zeýîÝ»pãÆ ‹­[·67†aöîÝ2xð`BÈ¡C‡¦OŸneeõúõk###ggç?ÿü“Î\^^þý÷߇††8pذaÒñõTVV®Y³&444<<ÜÅÅå‡~H$Ðèr5!díÚµ_|ñEXXX‡xï(¹& !ß|óݳgÏ>ûì3cccggç´´4ÙZrss‡ndd4hР;wî´ N„Ú‚P{ŽŽŽ Ç››››˜˜¼}û6==ž.Ž?uêÔÔ©SËÊÊìíí !555]ºtéÛ·/ýÔÌ™3;tèPRRB©¬¬ìÞ½û„ è¤ÚÚZOOO‰DÒ¬0(±XLgH$¹¹¹†††—““sìØ1pww'„H$’I“&=xð€~ÊÇǧ{÷¥õJ«­­õññ f†’˜˜$„È[®†*xݺu|>¿°°²iÓ&ˆˆˆP~MÖÕÕ9r„Î9þü .ìÚµËÐÐP ÐEstt€˜˜˜ììì£G€‡‡‡¼U‡PÛ†ùµ_òòµµuçÎéÿ ‹¥S·lÙ’˜˜HaÆÞÞ^ Ðñ÷îÝ€M›6ÑA??¿Ž;Ò zèС-[¶47 ŠKgèÝ»·t·["‘˜™™éééB.^¼ØpïüÈ‘#õJ[³f <|øÖÔÔ$%%)X®†*xøðá<¯ººš’ŸŸ®®®Í]“tNZ!D$À´iÓÈ»üMw>†111100·êjÛðþ5„þGMMM~~~ÿþýé ŸÏé 3fÌ(--]¿~}IIIuuu]]ïäääí혘8sæÌœœ†ajkk÷ìÙ3cÆŒäää;v´,'oÇãÓ4yõêU'''º¡ÀÙ³gÀÚÚšêêꆆ†*^®fqww?qâıcÇüýýéf>>>t’òk’Ω§§GG!{9€ÎÀçó»uëöèÑ£ĉP€×¿úgÏž­­­3fŒ¼.^¼Ø¯_?‡%K–гÙRsæÌ¹}ûöÕ«WW­ZµjÕª1cÆlÛ¶íÞ½{¶¶¶:ujn$¯_¿®­­Uræòòòìì슊 Ù‘ ÃÔ›žÿ믿– `¹”·xñâmÛ¶M:5***:::>>~É’%òfV²FKKKèܹsËBB¨­ÂüÐÿW]]½hÑ"kkë9sæÈ›'44”Çã1Þ%HòîqäQ£FY[[/]º´¢¢¢_¿~aaaׯ_Ÿ={ö¬Y³ä•Fä<ÊL™5k–ŽŽŽ’‘;99UUU­\¹R:æþýû7n¬7ÛÀ`ùòåô´<äääìÛ·Oñr)a˜»wï^¹r%!!á·ß~‹ŽŽV°JÖH÷9¼¼¼š Bmž?GíTee%¼}ûV:æÆáááÅÅÅÿùϺtéBGVWW@]]@ð_–¢¢¢ÒÒÒôôôÐwyfffZZZöèÑC ̘1ã»ï¾£7E{yy9::vîÜÙÞÞ^^ôˆ¹¬¬L"‘ÐÓÂPZZ¥¯¯ÏçóËÊÊ ¼¼œN¢Bè‰t:µ¦¦ÆÏÏÏÁÁaÙ²eyyyüñƒ233÷ïß_¯ºE‹íÚµkÿþýÆ ;vì«W¯®^½zàÀËEßw&]Q ×›¬+V9r¤ÿþOž<122255íÙ³'=®üš¤S†¡¹ÿôéÓ}úô‰ŒŒ”®‡²²2z8þæÍ:²Å' Òb\^|Gˆ#/^œ2e ý xyyùúúúùù3fãÆeeetžòòò¸¸8:ÏܹsoܸAÇÿüóÏB¡pÀ€iii?þø£P(ôõõ-(( S """¤%%%eddÈ #==}òäÉ´ GGÇ!C† 2¤wïÞººº°cÇŽòòòèèh:ƒH$Z±bý?66¶¤¤„ÞØóçϯ¬¬|öìÙèÑ£…B¡™™Ù´iÓ^¿~Ýh¥Ož<  ÷؇„„äçç+X®?þøã믿¦µ¬]»öÚµk²ƒôÆ7Y'OžìÞ½»ìF(nݺµYk’Þ¤¶eË–‚‚‚‚‚‚øøø’’†ah!óæÍ+++“žl ·¸7» ¤åðý©!µIII),, ‰DòâÅ‹sçÎEDD*_HŸ>}=z„›&„Ãóç!õˆ‹‹[²dIQQäóùÖÖÖîîî½zõâ60„Ú$¼ !¤—.]‘H$½HõêÕ… 6÷Çʤõ[#H„Ú Ìß!õHNNž5kVJJŠ¥¥¥§§g@@À7RRRè;g”Q^^þí·ß¾xñ¦OŸ~ùòåÖŒ!í†×¿B!íƒÇß!„öÁüBiÌß!„öÁüBiÌß!„öÁüBiÌß!„öÁüBiÌß!„öÁüBiÌß!„öùâö–>,ŒjIEND®B`‚lepton-eda-1.9.10/docs/wiki/media/devel_intro/structrtree.png0000644000175000017500000002334013634703632021144 00000000000000‰PNG  IHDR€ eLbKGDÿÿÿ ½§“ IDATxœíÝy\TUßðsïf†™6‘Eqa³PJ|Õ5âÉ Ä)ÅÌLÓ×é#ešâRVêCYôZ¤bš[Y}Ôxz0E-TÊTPÙeŸ…a¶{ß?®Ä È28Àü¾ÿ¸œ¹sæ ÷7çžs~£( ‚[»ˆ+, â K‚¸À’ ®°$ˆ+, â °Œ’’±XlíV¬â ° ’$ëëë­Ý €õA\±·nÝÂ0ìØ±cÇwvv^¶l™F£A}ûí·!!!\.W&“mÞ¼Ùxæ™3g<==Ïž=«Óé’’’\\\œ“’’t:Bð¯¾újĈNNN[¶lA………!„¤R©Uß%  €m(..FM›6­¨¨(??ß××÷­·Þ’Ëå,+11±¼¼<;;!tÿþ}úÌçž{î§Ÿ~R*•3gμwï^aaá˜1cRRR(ŠBÍš5«±±qÏž=¡úúzúYÖ~—ëƒ ­ ¯û………ô999¾¾¾æúõëJ¥Ò`0üüóÏ¡âââvgúûûWUUÑǧN ¦( !”››KQ”V«mû,+¼1@?ðN/ X‰ŸŸ}àïï_^^Îb±ŠŠŠ.\¨T*CBBÚžéïïOܽ{W&“ËèWWW„“É|í 0¾b[è^B¨¨¨ÈÕÕU­VÇÆÆ&%%ìÞ½»í™Æ€!‹‹‹‹é¯!ùùùt9ŽÃ‡`\lËòåËoݺuéÒ¥µk×Î;W£ÑhµZ‹¥V«ÓÓÓB …¢ÝS¢££SSSKKK #""víÚÕIýJ¥²[ ®Ø–øøø)S¦DFFFDD¤¦¦:::nß¾=>>ÞßßßËËkΜ9íž²aÃ@òÌ3Ïedd˜­ÙËË+<<¼í3€mÂ(ØÅ6ܺuËÏÏþ»} ú+, ⊭°··_´h‘µ[üà>K‚þ K‚¸b‹è `])ì¤Ì‚¸ptt\³fµ[𠮀Äb1ÏzâŠM£(jõêÕÁÁÁuuuÆû]ƒaë֭Æ ãÇ¿pá}ò‰'Ùl¶··÷—_~iÕ†ú/ˆ+¶‹¢¨äää3gΜ9s¦íV~øá¶mÛ222ŠŠŠÒÒÒ’““B*•*&&fÉ’%wïÞ}óÍ7U*•õÚè¿ ®Ø®”””mÛ¶åääˆD¢¶å™™™[¶l‰ŠŠ’Éd‘‘‘›6mBiµZ’$•J%›Íž?~cc#‡Ã±RÃýÄÛuéÒ¥I“&½ûî»íÊËÊÊ‚ƒƒ?"„„Bannn~~¾»»ûĉóòò Ÿ1À,¸4Ø®'Ndff8p 77·m¹——×Õ«W?^»v !¤V«I’üúë¯,X0}úô†††ÇÝbÀ@qÅvñx¼áǧ¤¤¼öÚk­­­Æò×^{-))騱cÕÕÕ?üðúuëB†M›6íðáÃr¹\«Õ2™L.—k½¶ú/Ø/ÒÖ¥¤¤ìß¿óæÍsçÎ¥K–,Y¢ÕjW¯^]UU¸oß¾°°06›½wïÞ5kÖ”••y{{çää°Ùlë¶Ð?A~0–÷ÁXÄ–ã+à¡ú"õåO«o·jäz­’Ä0dç@ØÙ3ÜŸ¶·ÜÍÚ­ WÀC8Qòž*äˆ,A‘H#×kš |ËÚM 0nÀ’`|€%A\±Qu×[zYCõeåÕÿ«±Hcƒ Ä[tûÇÆ£/Ý—izSISiëÅwj²T«ƒÄ›ÓR¯;û1{»ÞÔãÿ¢Ø†8ïÝ{ê½¥Ú ®Øœ«Y5 >Öó†ÃV¹LìêÞêÞW4 ®Ø­Òpý›ºàùR†þë™\bTœóÍ£õZ•¡÷µˆ+¶…ñ‹t²T…#¢Å-UšÛl© ¬‹´-eçänc,ÑËz~Ý]ÉäN~l¡7Ç%ˆWqQî÷¼Åb`@ƒ¸b[j¯©†Ï?ú¼NQ$ueo ")ŠD!‚‰Ù92Ͼ{ÏÉ—#ôá8ù±íìás€í‚õö¶¥þ¦š#fpEÌ^Ö“õ§ü^kÛœ!„H=…š¼ÑË7º/Ø(_±-¢áœÞºìïŸROÑAg`.üÞ¿`€‚¸zÂÉ›MwPÚÁ ,p®‹ÀòT`» ®€žzs Z“R 1¸xÐ|+4Ðo@\=áèÍF¨ýȆ¡Ð%®,~o'›Þ¸u놙éJðØ@\=áài‡¿xáˆ/³óêíd3À@qôÎÀÚ¢Pèé$w³ƒ.›qôh×øñÁÌ%ˆï9ÁÁª-}õÕW>>>‰dñâÅ---¡¦¦¦yóæ‰Åbww÷Õ«W·¶¶?~ÜÍÍ­±±!´ÿþaÆ©T*k7 WlKõåWÓ~×*,ÎKèÃÆ‰¿>?$õôj÷Þ× ,%++ë‡~øöÛoOŸ>ýÎ;ï „–.]Z^^~ñâÅï¿ÿþÇÌÈÈxá…¦L™²bÅŠššš+Vdggóxð÷÷¯ªªª©©1 >>>t¡¯¯oyy9BÈÑÑñÕW_½víÚâÅ‹­ÖV0è@\±9þ3ÄåùòæÒÖGŸÚ)O6=%,ðe¾Bö/ÅÅÅôAQQÑ!C\\\‚())¡ oß¾íææ†*++Û¹sç”)SV­Zeµ¶‚Açoù[[[Ožlíæt[\\Õ?ܾ}[$Y¶N£O;2%©'\ôb€Ãx‹TÕƒÁ°ìoÒvÐ=•xyy9;;¯ZµJ£ÑPÕÐÐ ‰d2ÙŠ+ÔjõG}¤Õj)Š:räˆL&khh°vóÁ`ð·qûƒΞ=;77·/®}áí·ß–H$´vCúk¼”²è< Ãrrrbcc-XgÿG-û›<60¾b ãÌ™3žžžgÏž5øÌ­ CI¥Rk7¬ ö_êÐöíÛ÷îݲhÑ¢êêê‹/ªTªýë_ ==}éÒ¥í óóóýüü,?è¯ ¿¨q â¹u¶1Ä@·î®vãÜW:”‘‘ Óé8põêUooo„Ðúõë“““×®]kZoí&ƒÍ % –™[z Yõ«B§&BZ¹!¤S“¤Žbòð‘1f†ÊZ›õ—vV"„´ CÛì  .>1ÝÌ2£–ZÝ+nS$Ò*ÿvíã»0Ÿß3Ìô|UîÄÂ"ã†è­¹bæ³;|Ì´§QÿËæ²'ˆÉ#B ãJ˜ÁóÌôïõ­ä½³Í8cr#X8“Kà dçÀèWYMµ Ã…*B®¡‚'_wu 4¿ªôäÉ“3gÎ|¼M{ÜâââöïßoüâJ‡üýýBf'þw´Ø&RGÕ«µ ƒ^C´¤Va0h(}+‰á(ð%3»´Ôé¾[TlÐQ¤žÒ« !€(Ä—²æ|7Úô|M“þ‡e·écÀD°pÂçI˜fã e@Š BˆÉ!ÚflcñÌ_”lÜmœ!Äâms!wtgòðÑŒ’J×b@u´ÿtÛ‘2½†lmÒ#„ô­»Êt¯„R×ëά¹cZ.pcÅ7óûi©ÓýgÝ]&—`rq&‡`òqŸ`rŽˆá=Uhö%,B^¡¡ª ”Ççßt „¾î*Õ>ºèõz„Ð /Œm׃¸Ò!&“‰2Nü9r$úkâ¿ÙB+7·ÿ鋉 F!d.O¦®…,Ü[£m1èÕ¤VaÐkIƒ†Ô* ,>ùo?Óó[›õGndñÂcp+Ël\appŸg… Lj×z&Àˆ¯ã\ k^^“ÛÕ¯ê'Fän3íìK@Œ}£`Ÿš×]v8NŒd íúù7»…¿1h)}+©W“¤žÔ* ¤þÁ.×f`Hàf§o!5 ƒªF§U´Jƒ¾…ä¹0ÍÆy¹æ»EÅvö„=ƒeO°í,{ÂÎÈì|žíFR”k†…H…ªº¤<úÒMÙ“üqËÜ%£¸]¯gðéU\©ªªzíµ×Ž;f©Öôiµ=cvâ¿ÙBú|¥RÉç?b^­ÂP_Ô" ác¸%³ÿ–””Œ;¶®®Î‚u z5©U¸b3»,ëZÈ_6ßÓ©H]‹A£0èTŠÔ¶vx™@Óó)’ºûŸ&&g°q–€`ñ†˜ÉâôÝS'FÜñQ,A°pûÑsaXŠ3pƒ†âJ˜.A<¿H§1 eßñ¡Ïs»Ìßü!Xø³ïûLÞè¾ÖsìnÁ‰ÒQ³%Þ ™‰ýÁ£9xÚM~ÇëŸûÍúzäËÿ š.8îøè²†ñYÝš#õQ¨<_qtî–#2»·®_¡“¤~úé§¡o¾ù¦]¹ŸŸß¡C‡ªªª>þøãíÛ·|þùç!³…¦vïÞÝ®ÚÁ‡¾F([îë ¿¬9{ýà‹×~û¸J^¦énmô”è+W® „ÚNt6N•~ÿý÷ïܹó믿ž9sæ§Ÿ~Z·nBÈlaGŽ=zþüù-[¶¬Y³¦¡¡™Ë»þá‡nÛ¶-##£¨¨(---99™~n·^ˆVÕz盇F|èC‘fÅp4u›÷ÿ¬¶Â=äéÈX‰ïsNã:š€1ìpË%ˆßÒhþ›±ER!]ïuï÷Y-Ö†P(Œ­­­íVÃ8€™C_§Æ•W_}5$$„þæn¶üûï¿_¾|¹³³³··÷¢E‹.^¼ˆ2[B¤ŽB5—i®|VóâµÃq×ÿØ¿¥þÑßëi“'O6Ý<ÃXþùçŸïܹÓÃÃ# ##ã‡~@™-ìÈ’%K_~ùe„PCC=ýúƒ>ðööX¿~}vvvffæ–-[¢¢¢d2Yddä¦M›èçvë…h }ƒ÷T¡Û8{ VîÚ¼®ìQFwÐéóÛ›vµ;êUŸ8q"00Íf{{{ùå—lER-µfþBñ¿¦Ô1¹¸ë‚àD)/ºzKQbWÞé¹s窪ª*++O:U^^þÆotåYF3f̨ªªªªª:wîB¨ê/ôæSÇW<=Í’Ë«««ÛNÙ¦/yf -¨öšªð‹û¦å’ÑÜÀ3ÓW¬u¾^Óá )úælÃ-uþ{ùïU,÷ÝEµ>úÊJO‰î¤üîÝ»2ÙÃb‡Ž ;âêêŠþš#‡:˜~aXpðÃáÀÀÀN^€.¢÷(khh˜;wî;ï¼³iÓ&ÓUɬ£»Ú‡Z¸pá+¯¼²wïÞmÛ¶eff†……]¾|yáÂ…!•JóÁ̘1ãäÉ“‰‰‰ÑÑÑ_ T5:Ê@!„p£(D‘ÁÂDø.A<ÉHžd×ÞãÁ[ÉÁ³ }—r¼J$ú>¶L&ËÈÈènP‡ÃápBJ¥Y5÷G¿ v”ÑXîàà›››››{âÄ úÖ–ÙBÐ{ÆË}Gåb±¸¸¸˜N ×ØØ˜ŸŸßQaGpüo³y×½¼¼®^½j<çÚµk¼:]´cÇ??¿qãÆmܸ1''Çl_¹“§·ëj›íUkµZ’$•J%›Íž?~cc#}îi lÂɇ3üEÑ„4Ï™FÌ;BcPé1‚ œéã^î!½lÙ² ÐÇJ¥’Ëå^¾|™îÕ;vløðáÎÎÎË–-Óh4¨G£¡¦,°~E­V›þL˜0aÏž=‹/V©TÛ¶mó÷÷_¶l™ÙÂnUÛ9É(^·¦É[ëüÂ/k*òÍïãF('_Îð"ïiBžxÌÓ윮¿"ê`¢stttjjê¶mÛš››_}õÕÐÐÐ>úÈla_ÅìLk‘H”””äàà0nܸ+W®ÇQzóBtq2£v“»ÚuµËÊÊL{ÕB¡077wÇŽééécÆŒIMM}î¹ç:o•½»Ýü_‚zõÆL¨T*¥RIQTeeeZZZBB]nÚ?KOO?|øðŠ+222V¬XqüøñNzW³fÍŠŽŽþøã ƱcǼ½½ƒƒƒoß¾Ú½{÷·ß~K÷E"Qzzºq4”fëÖ­3ÞÐîº^ݽ–J¥fS,X°€Ëå.\¸pÅŠ>>>‹-ꨰ[ÕV8C9xØ/Î>:jæ£ç8sEæ{!ñòò¢':›>´aÃ@òÌ3ÏeddtTØu;wîtuu 6mÚ´iÓRSS—,Y’””´zõj__ßõë×ïÛ·¯“W ‹º¸Gúke{EEEÛ§·ëj›íU«Õj’$¿þú놆† LŸ>žœò˜ {{{ÿ‚‚‚9sæ „:êŸ}ðÁgΜ™6mÚâŋǎÛIµãÇg2™ÿýïBûöíKHH0Ž?mÛ¶ÍØ¤«íÁh¨)È“o…_Ö\ÜYIé)œ‘zŠëÌö¼È7B(ôiß?ƒ<ùÀ–Ñ‹K¦NJïQŸ˜˜˜’’_SSC÷•ãââfΜùÆoH$’Ï>ûlÖ¬YóæÍ;räýùÁ0¬¸¸Ø×××x|òäÉ7~òÉ't¯zÉ’%%%%jµZ(fggOœ8ñÈ‘#Ë–-kll4—Ô3]ü<·mjKKËŽ;233KKK+**<<<Ôj5Ýžßÿ}ìØ±jµ!ôÎ;ï¼ýöÛ•••Æ;fmom_qÉ’%†½õÖ[nnn·oßvww§Ï1V[XX8nÜ8ú.²æààÐÔÔÔyËé TÛë0̶±œÀ(=egÏ1KüÂçÃãO„.q5 * Ÿ())‹Å>ô L:õùçŸá…V®\‰Ìõ•Åbñ† V­Z5f̘yóæuR›Ù^5›ÍÞ»wïš5kÜÜÜÞ{|œK•ž¡ï딕•Ý¿ß"{HÇÄÄ9räàÁƒáááîîîÆò¶}Aú†¡EFC­œlòäÉfËPŸ©†M‰†s,žÇ¥÷ÚælËÆ»ƒ/‘Á@a\¡<{öì¶åôªäv'§¥¥¥¥¥ÑÇÆOlÛ®ñxõêÕ«W¯nWkõµµµôà¨V«ýðÃ=<<$ Žã½ßCz„ z½~ýúõ›7on[¾|ùòO>ù„ޯڸν÷£¡Vî¯ävÀº­êk,!{BÐß‚ úû¦ÔmY»]óÈ4z½>==ÝÓÓS"‘¼ôÒKô€v;¶uw¡]ôôÓOËd2™L6tèÐS§N}ýõ×ôàiÿl÷îݵµµkÖ¬ …ÿþ÷¿-ZDÏ ëAÑÑÑr¹¼Ý¸u||ü”)S"###""è U …|ÆÀ昦!0N}‰D‡þî»ï0 {å•W6nܸuëÖ¶;¶õ`¡]ÑÉ8ÓþÙÒ¥K—.]J¿øâ‹/¾øbÛGÛe¢¢999EEE ‚¶… ,0NA¦ ‚¬¬¬¬¬¬¼#ˆ+ÀæÐ;¶!„>ÿüóÜÜ\©Têáá‘‘‘‘””¤V«7mÚd|ôÆížÛn¡ClllwgÃ𘵶¶VVVfeeµÝz«OÁ¸=èØ÷ÜÖ²;§›Ô HÁÔíÒÐ9”¦NzçÎÒÒRãj‰#FDEEµ{.½Ð!??ßÝÝ}âĉyyyí¦±Ðß\¸páÉ'ŸLLLœ4i’±ÐÞÞ¾£•½ýÐ92%5WU¬£HÊq([ö_"ðü{‹lCÒ6 Ann.=³³©©©ººúŸÿüçÝ»wGºråÊwß}g ¦:hµÚýû÷OŸ>ýþýûNNN½o躰e\2qâDÓå8ÎÎΙ™™}ôŠðU ôGÕ­¥QÙþ/ÿ¹ÛÏ{ªP^¦ùùí»šæóªõ =õ¥´´´°°0""b×®] iiiüñÇü±téÒÒÒRãÉtÎ% æM›vøða¹\®Õj™L&—k£{7 0GÜ*þÖ_¡³{u4÷·Š‹‹³vúƒÁ˜={v»I–¶€þ(2¹¸Û8½õº^M28æ¿)*´7V^eÆ Ë—/ Áq|æÌ™A¨TªgŸ}V¥REFFÒp‰  …q¡CYY™···Õ:€ÎÁq«øÛzûÖÖÖ“'O þVاBCC½¼¼¬Ýо’——×v?Û!•J'L˜Ð•3š/\㊘Ò¾K0OÌûs-²ÿ&è·èû`ÙÙÙëÖ­“Ëå³fÍÚ¾}{ee¥ŸŸßÑ£G“““ãââ¶nÝêææV__ïââR]]M?ëôéÓóçÏß·o_xxøãií ÏaºÞþoý6›mÅ]©.^[mÏ™5ýÓaU¿)« ”—vUêÕ$WÄ”Žá{Mv4»W94Úåϧç˶K¤ØvŽ8Í8ËÜz ü`Ü l8“†ð¥!ü„H=UûgKu²ª@yÿÄ•ÁΟÚ¸qcJJ WèDŠtaZZšé¾,ÆYæQrªQ«0,œ`cL.˜=30&'Ø8ÁÄY|[Ƹœ¹ò\yAóÌl³Fk¸¥6h(ñN?Ìwº¥]þ|ÓÂvùóåk…~~ëžAC"Œ2»aö˜ÏGÁyïåz]qÁb¯ÞŸ´熸l˵œÚßÔ1¹„4„'×…$£¸8bÌÀS\\L÷<èüù¦…t"Åv:Ú¯'0äþ´àÞÏÍdçCÒf‡s¹nšôÉ8o ^w]hhhÛ!®Û2a­çè8çªEUòÚ¾ÚKU28¸K ï©UB˜Ù5¬ZµŠÎŸ¿víÚÄÄÈ›&RDlvgC';–æv–FÃ0 Q£g;[áf;__ ®ƒ!¡[èÃ#A5—¶V(« ”vöXq ':~KKKBBÂÊ•+ïÝ»‡þJ¤¨R©æÌ™“ššÊ`0ŒsÄû¢ áöÃPs½è–ɇzÿÏ?ÿ4>JoöNŸ:u*88˜~Jnn.EQZ­!T\\\\\lüó§ )ŠÒëõR©ôÌ™3EEFFnÞ¼ù‘íÉÉÉ+ hË&7`€+..¦ÿ€U*Õ¢E‹Œ»ð"„îÞ½+“É0 Ã0lêÔ©wî!!¡OZ ;ˆ+ lîîîöööÆIÃ6l!!!Ï<óLPPPFF†Ùgyyy…‡‡Ëd2Ó‡è[ar¹|æÌ™}Øn0xÁ|0êïC÷8Ž777YYYYYY=Åxœ——Gøúú¶«ÓÉÉ)**J X¶åÀF@\<ÔÚÚZYY™••µÿ~k· Tp ðÐ… ž|òÉÄÄÄI“&Y»-` ‚þ ࡉ'644X»``ƒþ K‚¸À’ ®°$ˆ+, ÆíèGΟ?kíVtOYY™µ›úˆ+ô111ÖnBOxxx<õÔSÖnèG0Ê$í6Ðc0¾À’ ®°$ˆ+, â KúvÈ¿d)IEND®B`‚lepton-eda-1.9.10/docs/wiki/gsoc2009.html0000644000175000017500000001304313634703632014612 00000000000000

lepton-eda-1.9.10/docs/wiki/geda-gparts_dd.html0000644000175000017500000020032613634703632016213 00000000000000

gEDA » Development » Parts Manager » Design Document

This page serves as a working document for the design of a parts manager for gEDA. Please submit feedback to the geda-dev or geda-user mailing lists.

For implementation details, see gparts_id.

Or, return to the part manager top level page.

Part Manager

The part manager uses a relational database to store parts used in the development of electronic assemblies. The part manager also stores attributes for these parts and can place these attributes into a component or symbol for placement into schematics.

The part manager provides a GUI that allows the user to browse and edit the data in the part database. The user can select parts in the GUI, then cut and paste them into their schematic.

The following figure shows the relationship between the parts manager and other applications in the gEDA suite.

The part database can be configured as either local or remote. In the remote configuration, many users can access the part database concurrently.

Part Database

The following figure shows the entity relationships for a part in the resistor category. The category does not reference any tables in the resistor category, but only contains the view name and stored procedures to manipulate a part within the resistor category. This mechanism allows the tables and relationships to vary by category.

Entities

The database always contains tables to store the following entities. The database contains additional tables to store specific categories of parts (e.g. a capacitor table, a diode table, a resistor table, etc…). This list excludes junction tables and metadata tables.

Category

A class of parts (e.g. capacitors, diodes, resistors, transistors, etc…). A category can contain sub-categories (e.g. small-signal diodes, TVS diodes, zener diodes, etc…) Sub-categories can include additional sub-categories. All parts within a category or sub-category share the same set of attributes (e.g. forward voltage, maximum current, power dissipation, etc…). Sub-categories do not need to inherit the attributes of their parent.

The category stores metadata for mapping the part’s database columns to the component attributes. For numeric attributes, the category stores the column’s unit of measure (e.g. amps, farads, ohms, volts, etc…).

The category also stores the names of database views and stored procedures to access and manipulate the tables of parts within the category.

Field Type Description
CategoryID Surrogate key
CategoryName String The unique name of the category
ParentID Foreign key to Category

Company

Currently, a company represents a part’s manufacturer.

Field Type Description
CompanyID Surrogate key
CompanyName String The unique name of the company

Device

A type of part. The device name only provides a mechanism to map parts to symbols. A part in the library of device resistor can use all the symbols in the library where device is resistor. Similarly, a symbol where device is resistor can represent any part of device resistor. When importing a symbol, the database uses the value of the symbol attribute DEVICE as the initial value for the device field. The user can change the device field after import using the part manager GUI.

Field Type Description
DeviceID Surrogate key
DeviceName String The unique name of the device

Document

Any file associated with a part. Documents can include datasheets, erata, user manuals, etc… This entity stores a path to the actual document file. The path could either be local or network. The path stored in the database is relative to the base path stored in the configuration file.

Field Type Description
DocumentID Surrogate key
Category String The document's category (e.g. “Datasheetâ€, “Erataâ€, “User Manualâ€)
Title String The document's title
SourceURL String The URL where the document can be obtained on the Internet
FileLocation String The location of the locally stored document

Footprint

The PCB artwork associated with a package. This entity stores a path to the actual PCB footprint file. The path could either be local or network. The path stored in the database is relative to the base path stored in the configuration file.

Field Type Description
FootprintID Surrogate key
FootprintName String The unique name of the footprint

Model

Field Type Description
ModelID Surrogate key
ModelName String The name of the MODEL within the model file.
ModelPath String Absolute path to the model file.
ModelType String The model type: IBIS, PSPICE, etc…
Spice

When instantiating a component or creating a heavy symbol that uses a Spice model, the following database columns map to the following attributes.

Column Attribute Notes
Model.ModelName MODEL-NAME
Model.ModelPath FILE Should use absolute path.

Part (Flat)

A part represents a class of components. The database uses this version of the part table when configured to use a flat part table. The flat and hierarchical parts tables are mutually exclusive. The database uses one or the other.

Field Type Description
PartID Surrogate key
CompanyID Foreign key to company specifies manufacturer
PartNumber String The manufacturers's part number
DeviceID Foreign key to Device

Other columns TBD.

Part (Hierarchical)

A part represents a class of components. The database uses this version of the part table when configured to use hierarchical part tables. The flat and hierarchical parts tables are mutually exclusive. The database uses one or the other.

Field Type Description
PartID Surrogate key
CompanyID Foreign key to company specifies manufacturer
PartNumber String The manufacturers's part number
DeviceID Foreign key to Device

Package

The physical structure, or form-factor, of a part (i.e. 0603, SOT-23, PDIP16). Each package can associate with zero or more footprints. Also, each footprint could represent zero or more packages.

Field Type Description
PackageID Surrogate key
PackageName String The unique name of the package
Technology String The type of package. Either “SMT†or “THâ€

Symbol

The graphical representation of a part. This entity uses the symbol base filename as the unique name of the symbol. This base filename is relative to one of the component libraries found in the configuration files. The component library paths can either be local or network.

Field Type Description
SymbolID Surrogate key
SymbolName String The unique name of the symbol. This field contains the base filename of the symbol.
DeviceID Foreign key to Device

Part Categories

Part categories break down classes of parts hierarchically. The category hierarchy exists separately than the part hierarchy. The category hierarchy only provides the user with a system to locate parts quickly. A child in the category hierarchy does not need to inherit the attributes of a parent.

The parts manager uses categories to keep the lists of parts manageable. If the list of parts in a particular category grows large, the category can be subdivided into sub-categories.

It may be difficult to change the categories, using a GUI, because of the part table abstraction through database views and stored procedures. It may be better to distribute the parts manager with a default configuration that works for most.

Help is needed with the taxonomy of parts. Please send feedback to the geda-dev or geda-user mailing lists.

The default hierarchy of parts follow:

  • Discretes
    • Diodes
      • Small-signal
      • TVS
      • Zeners
  • Passives
    • Capacitors
    • Inductors
    • Resistors

Part Hierarchy

The part hierarchy allows the database to attach additional attributes to a class of parts. These attributes provide a faster means to locate and select parts, especially commodity parts. The database only provides these additional attributes when configured to use hierarchical part tables.

These additional attributes, stored in numeric format, allow SQL to select parts. For example, to locate diodes with reverse voltage greater than 60 volts, use the following SQL statement.

SELECT * FROM DiodeV
    WHERE VR > 60;

The intent of the part hierarchy does not include exhaustively classifying all electronic parts or fully parameterizing any class of electronic part. The part hierarchy simply intends to allow the user to quickly locate a part, such as a 4.75 kΩ 1% 0603.

TODO: Develop guidelines for subclassing part.

Proposed guidelines for including attributes:

  • Include attributes that are encoded in the manufacturer part number.
  • Exclude attributes that are inconsistently characterized between manufacturers.
  • Exclude attributes that must be either read from graphs, or calculated.

These attributes may not work for everyone, so the database allows the user to customize these part tables.

BJTs

Bipolar Junction Transistors (BJTs) extend part with one additional table of attributes.

Table name: BJT

View name: BJTV

Field Type Units Description
PartID Foreign key to Part
PackageID Foreign key to Package
Polarity Either NPN or PNP
MaxCollectorCurrent Physical AMPS Maximum collector current (Absolute maximum rating)
MaxCollectorEmitterVoltage Physical VOLTS Maximum collector-emitter voltage (Absolute maximum rating)
TransitionFrequency Physical HERTZ
PowerDissipation Physical WATTS Power dissipation (Pd) not including any derating

The same table contains small-signal and power BJTs. These transistors can be placed into separate views using the following criteria.

Category Criteria View Name
Small-signal BJT PowerDissipation < 1.0 TBD
Power BJT PowerDissipation >= 1.0 TBD

Capacitors

Capacitors extend part with one additional table of attributes.

Field Type Units Description
PartID Foreign key to Part
PackageID Foreign key to Package
Capacitance Physical FARADS Capacitance

When instantiating a component or creating a heavy symbol, the following database columns map to the following attributes.

Column Attribute Notes
Device.DeviceName DEVICE
Capacitor.Capacitance VALUE

Inductors

Inductors extend part with one additional table of attributes.

Field Type Units Description
PartID Foreign key to Part
PackageID Foreign key to Package
Inductance Physical HENRYS Inductance

When instantiating a component or creating a heavy symbol, the following database columns map to the following attributes.

Column Attribute Notes
Device.DeviceName DEVICE
Inductor.Inductance VALUE

MOSFETs

MOSFETs extend part with one additional table of attributes.

Field Type Units Description
PartID Foreign key to Part
PackageID Foreign key to Package
Polarity Either N or P
MaxDrainSourceVoltage Physical VOLTS Maximum drain-source voltage (Absolute maximum rating)
MaxDrainCurrent Physical AMPS Maximum continuous drain current (Absolute maximum rating)
TypGateThresholdVoltage Physical VOLTS Typical gate threshold voltage
PowerDissipation Physical WATTS Power dissipation (Pd) not including any derating

Rectifier, Small-signal and Switching Diodes

Rectifier, small-signal and switching diodes extend part with one additional table of attributes. Most diodes can be placed into this table.

Table name: Diode

View name: DiodeV

Field Type Units Description
PartID Foreign key to Part
PackageID Foreign key to Package
MaxReverseVoltage Physical VOLTS Maximum reverse voltage (Absolute maximum rating)
MaxForwardCurrent Physical AMPS Maximum forward current (Absolute maximum rating)
TypForwardVoltage Physical VOLTS Typical forward voltage
AveForwardCurrent Physical AMPS Average forward current

The same table contains rectifier, small-signal and switching diodes. These diodes can be placed into separate views using the following criteria.

Category Criteria View Name
Small-signal and switching diodes AveForwardCurrent < 0.5 TBD
Rectifier diodes AveForwardCurrent >= 0.5 TBD

Resistors

Resistors extend part with one additional table of attributes.

Field Type Units Description
PartID Foreign key to Part
PackageID Foreign key to Package
Resistance Physical OHMS Resistance
Tolerance Physical PERCENT Tolerance

When instantiating a component or creating a heavy symbol, the following database columns map to the following attributes.

Column Attribute Notes
Device.DeviceName DEVICE
Resistor.Resistance VALUE

TVS Diodes

TVS diodes extend part with one additional table of attributes.

Field Type Units Description
PartID Foreign key to Part
PackageID Foreign key to Package
WorkingVoltage Physical VOLTS Working voltage
BreakdownVoltage Physical VOLTS Breakdown voltage

Zener Diodes

Zener diodes extend part with one additional table of attributes.

Table name: ZenerDiode

View name: ZenerDiodeV

Field Type Units Description
PartID Foreign key to Part
PackageID Foreign key to Package
TypZenerVoltage Physical VOLTS Zener voltage
PowerDissipation Physical WATTS Power dissipation (Pd) not including any derating

Part Manager GUI

The part manager GUI is the main component of the part management system. The part manager GUI allows the user to browse and manipulate the part database and to cut and paste symbols into the schematic editor.

Use Cases

uc.component.copy.clipboard

Copy a part to the clipboard as a component (light symbol).

  1. The user selects a part in the database.
  2. The user selects a symbol to represent the part.
  3. The GUI instantiates a component and overrides attributes.
  4. The user previews the component to ensure the graphic looks correct.
  5. The user selects the copy action.
  6. The GUI copies the component to the clipboard.
  7. The user pastes the component in gschem.

uc.component.export.file

Export a part to a file as a heavy symbol.

  1. The user selects a part in the database.
  2. The user selects a symbol to represent the part.
  3. The GUI clones the symbol and substitutes attributes.
  4. The user previews the symbol to ensure the graphic looks correct.
  5. The user selects the export action.
  6. The GUI prompts the user for a filename and location.
  7. The GUI writes the symbol to the given file.

uc.database.create

Create a new part database.

  1. TBD

uc.database.destroy

Destroy an existing database.

  1. The user selects the destroy database action.
  2. The GUI prompts the user for confirmation.
  3. The application drops the database.

uc.document.add

Add a new document to the database.

  1. The user selects the add document action.
  2. The GUI prompts the user for a filename and location.
  3. The application adds the document to the database.

uc.document.attach

Associate a document(s) with a part(s).

  1. The user selects one or more parts from the database.
  2. The user selects the attach document action.
  3. The GUI prompts the user with a list of all the documents in the database.
  4. The user selects one or more documents from the list.
  5. The application attaches the given documents to the given parts.

uc.document.delete

Delete a document(s) from the database. Remove all references.

  1. The user selects one or more documents in the database.
  2. The user selects the delete action.
  3. The GUI prompts the user for confirmation.
  4. The application deletes the selected documents from the database.

uc.document.detach

Disassociate a document(s) from a part(s). All parts and documents remain in the database. Only the relationship is removed.

  1. The user selects one or more parts from the database.
  2. The user selects the detach document action.
  3. The GUI prompts the user with a list of all the documents attached to the given parts.
  4. The user selects one or more documents from the list.
  5. The GUI prompts the user for confirmation.
  6. The application detaches the given documents from the given parts, if attached.

uc.document.edit

Edit the metadata associated with a document.

  1. TBD

uc.document.view

View a document.

  1. TBD

uc.footprint.delete

Delete a footprint(s) from the database. Remove all references.

  1. The user selects one or more footprints in the database.
  2. The user selects the delete action.
  3. The GUI prompts the user for confirmation.
  4. The application deletes the selected footprints from the database.

uc.footprint.edit

Edit the metadata associated with a footprint.

uc.footprint.import.file

Import a single footprint file into the database.

  1. The user selects the import footprint file action.
  2. The GUI prompts the user for a footprint file.
  3. The application creates a footprint in the database for a new footprint file.
  4. The application updates a footprint in the database for an old footprint file.

uc.footprint.import.library

Import all footprint files from the library into the database.

  1. The user selects the import footprint library action.
  2. The application searches all footprint libraries.
  3. The application creates footprints in the database for new footprint files in the library.
  4. The application updates footprints in the database for old footprint files in the library.

uc.model.add

Add a new model to the database.

  1. The user selects the add model action.
  2. The GUI prompts the user for a model type, name, and filename.
  3. The application adds the model to the database.

uc.model.attach

Associate a model(s) with a part(s).

  1. The user selects one or more parts from the database.
  2. The user selects the attach model action.
  3. The GUI prompts the user with a list of all the models in the database.
  4. The user selects one or more models from the list.
  5. The application attaches the given models to the given parts.

uc.model.delete

Delete a model(s) from the database. Remove all references.

  1. The user selects one or more models in the database.
  2. The user selects the delete action.
  3. The GUI prompts the user for confirmation.
  4. The application deletes the selected models from the database.

uc.model.detach

Disassociate a model(s) from a part(s). All parts and models remain in the database. Only the relationship is removed.

  1. The user selects one or more parts from the database.
  2. The user selects the detach model action.
  3. The GUI prompts the user with a list of all the models attached to the given parts.
  4. The user selects one or more models from the list.
  5. The GUI prompts the user for confirmation.
  6. The application detaches the given models from the given parts, if attached.

uc.model.import.library.spice

Import all Spice files from the library into the database.

  1. The user selects the import Spice library action.
  2. The application searches all Spice library directories for files.
  3. The application parses files to extract model names.
  4. The application creates Spice models in the database for new models in the library.
  5. The application updates Spice models in the database for old models in the library.

uc.model.view

TBD

uc.package.add

Add a new package to the database.

  1. TBD

uc.package.delete

Delete a package(s) from the database. Remove all references.

  1. The user selects one or more packages in the database.
  2. The user selects the delete action.
  3. The GUI prompts the user for confirmation.
  4. The application deletes the selected packages from the database.

uc.package.edit

Edit the package data.

  1. TBD

uc.part.add

Add a new part to the database.

  1. TBD

uc.part.delete

Delete a part(s) from the database. Remove all references.

  1. The user selects one or more parts in the database.
  2. The user selects the delete action.
  3. The GUI prompts the user for confirmation.
  4. The application deletes the selected parts from the database.

uc.part.edit

Edit the part data.

  1. TBD

uc.part.search

Search for a part in the database using the manufacturer part number.

uc.symbol.delete

Delete a symbol(s) from the database. Remove all references.

  1. The user selects one or more symbols in the database.
  2. The user selects the delete action.
  3. The GUI prompts the user for confirmation.
  4. The application deletes the selected symbols from the database.

uc.symbol.edit

Edit the metadata associated with a symbol.

  1. TBD

uc.symbol.import.file

Import a single symbol file into the database.

  1. The user selects the import symbol file action.
  2. The GUI prompts the user for a symbol file.
  3. The application creates a symbol in the database for a new symbol file.
  4. The application updates a symbol in the database for an old symbol file.

uc.symbol.import.library

Import the contents of the component library into the database.

  1. The user selects the import symbol library action.
  2. The application searches all component libraries specified in the configuration file for symbol files.
  3. The application creates symbols in the database for new symbol files in the library.
  4. The application updates symbols in the database for old symbol files in the library.

UI Design

Company View

The company view lists all the companies in the database.

Device View

The device view lists all the devices stored in the database.

Documentation View

The documentation view shows all the documents stored in the database.

Footprint View

The footprint view shows all the footprints stored in the database.

Package View

The package view shows all the packages stored in the database.

Part View

The part view shows parts stored in the database. The user selects the category from the left pane. The parts within the given category show in the middle pane. After selecting a part from the middle pane, the symbols available for that part show in the lower right pane. The upper right pane shows the symbol preview.

The edit→copy command places the component on the clipboard. The component can then be pasted into gschem.

Symbol View

The symbol view shows all the symbols stored in the database. The upper right pane shows the symbol preview.

Configuration

The parts manager reads gaf's Scheme configuration files using Guile-1.8. The parts manager reads the following configuration files in order. The parts manager attempts reading the file in each of the given paths in order.

  1. system-gafrc
    1. the path specified in the environment variable GEDADATARC
    2. the paths retrieved from g_get_system_config_dirs() + “gEDAâ€
    3. the paths retrieved from g_get_system_data_dirs() + “gEDAâ€
  2. gafrc
    1. the path specified in the environment variable HOME
    2. ~/.gEDA
  3. gafrc
    1. .
  4. system-gpartsrc
    1. the path specified in the environment variable GPARTSDATARC
    2. the paths retrieved from g_get_system_config_dirs() + “gpartsâ€
    3. the paths retrieved from g_get_system_data_dirs() + “gpartsâ€
  5. gpartsrc
    1. the path specified in the environment variable HOME
    2. ~/.gEDA
  6. gpartsrc
    1. .

The parts manager supports the following configuration items from gaf.

Item Parser Description
always-promote-attributes libgeda
attribute-promotion libgeda
bitmap-directory libgeda Specifies the directory for bitmap images
bus-style gschem Specifies the line thickness for busses
component-library libgeda Adds a directory to the component library
display-color-map gschem Specifies schematic colors for display
display-outline-color-map gschem
eval-protected libgeda For the parts manager, simply 'eval'
keep-invisible libgeda
net-style gschem Specifies the line thickness for nets
postscript-prolog libgeda Ignored by the parts manager
print-color-map libgeda Specifies schematic colors for printing
promote-invisible libgeda
scheme-directory libgeda Specifies the directory for additional scheme files

The parts manager supports the following private configuration items.

Item Parser Description
database-interface gparts Adds a database interface module
document-library gparts Adds a directory to the document library
footprint-library gparts Adds a directory to the footprint library
spice-library gparts Adds a directory to the spice library

database-interface

The parts manager uses dynamically loadable modules to support the various database engines. The parts manager uses a separate module to support each database engine.

  • MySQL
  • PostgreSQL
  • SQLite

document-library

Adds a directory to the list of directories where documentation is stored.

footprint-library

Adds a directory to the list of directories where footprints are stored. The parts manager can import newlib footprints from these directories.

spice-library

Adds a directory to the list of directories where SPICE models are stored. The parts manager can import these models from these directories.

lepton-eda-1.9.10/docs/wiki/glue-projects.html0000644000175000017500000002207613634703632016135 00000000000000

General, "glue" and related gaf projects

These projects make the others work together as a system.

Autogeneration of fab drawing with embedded fab notes

This project involves creating a system which can create an annotated fab drawing from the drill file output by PCB, along with other inputs. In one possible implementation, you could use LaTeX/metapost driven from an external script. The script would read in some type of template holding boilerplate fab notes, insert a .eps version of the drill file, also read in some type of file holding stack-up information and other info for the PCB fab house, run LaTeX on it all, and then output an annotated .ps or .pdf fab drawing.

Difficulty: 2

Create comprehensive test suite for entire gEDA Suite

This project encompasses the functionality of the entire gEDA PCB design flow. You would develop a test framework for as much of these tools as possible. This likely means creating a large regression test suite. Some examples are sets of layouts (using PCB) that just barely pass and just barely fail each of the different DRC checks, generate BOM's, x-y files, generate gerbers and maybe use gerbv to do a graphical xor against a “golden†file. For gnetlist, reference netlists that have been placed into some canonical form should be generated from gschem schematics (.sch files).

This project should be fun for a hardware hacker, since it would involve creating all kinds of strange circuit designs, and you would learn the detailed ins-and-outs of all tools in the gEDA Suite!

Difficulty = 3

Usability improvements for ngspice/Gnucap

Ngspice and Gnucap are the gEDA Project's analog circuit simulators. They are both command-line tools, meaning that you type commands into a shell-like program at a prompt. However, some popular commercial simulators support easy simulation and analysis directly from within a schematic capture GUI. This method of working is particularly well suited to newbies.

A new user would like to do the following things inside gschem:

  • Specify what kinds of simulations should be run
  • Specify which voltages and currents should be plotted
  • Start the simulation

The simulation runs and the postprocessing may be in an extra program that is triggered by IPC. More thoughts about the project have been entered by Werner Hoch on the gEDA Wiki (Circuit simulation improvements, Plotting improvements).

This project involves tightening the link between gschem and the back-end simulation programs. This might be done using some type of IPC, such as DBUS. Indeed, a preliminary DBUS implementation for gschem ↔ PCB already exists; the student might leverage the DBUS work for this project.

Difficulty = 3

Gschem parts manager or parts database

In this project, you would create a parts manager that takes a graphical symbol and a physical footprint, and marries the two to produce a heavy part. In addition, this tool should be able to support multiple backend flows. By this I mean that the parts manager should be able to also indicate how the symbol should be netlisted for spice, gnucap, or other backends. If possible it would be nice to integrate this into gschem in a way that allowed symbols to be placed and the footprint attribute to come up with a list of choices.

Another possible direction for improved parts management is to create a program like gattrib (or perhaps just re-use gattrib) which reads a bunch of .sch files, and also interfaces to an SQL database holding all info about parts (including spice models, footprints, .pdf datasheets, etc) . The program would then allow users to perform database searches for footprints and other attributes stored as columns in the database.

Difficulty = 4

Gnetlist/gnetman support for hierarchy

The goal of this project is to create a scalable, professional-grade netlister. The project might involve re-writing gnetlist to enable hierarchical designs, or might involve upgrading “gnetman†to incorporate scripted back-ends. The upgrade would be done with an eye towards scalability. Ideally, highly capable and efficient internal data structures and methods for accessing the netlist database should be used. Then a scheme/guile API provided for an external script engine. (It may be beneficial to use swig to allow easy interfacing to multiple scripting languages.) The idea is to produce a netlister capable of handling large, hierarchical designs while still allowing users to write their own netlisters for their favorite netlist format (as gnetlist does now).

Gnetman is probably the logical starting point since the database was designed by someone with a lot of experience in EDA, and it uses datadraw which is a proven high power CASE tool. However, the student may take whatever approach he wishes, but should provide a strong argument that his approach makes sense before starting coding. In any event, It will be important to provide a compatibility API for the existing backends while providing a more high power and flexible API for new backends and improvements of the old ones.

Difficulty = 3

Language translator main program

The goal of this project is to write a driver file format translation, particularly for import and export of foreign formats. A start already exists with gnucap language plugins. It would be sort of like the existing “gnetlist†but be universal and able to translate in both directions.

This alone is too easy for the whole summer, but combined with support for one or two formats makes it good for the summer.

Difficulty = 1

Netlist file import / export

After we have the “translator main programâ€, above, we need plugins for the formats to import and export. Gnucap already has support for Spice, Spectre, and Verilog, as plugins. These plugins can be used with the system, and as examples of how others can be written. The plugin needs to translate in both directions.

Obvious formats needed by the gEDA system are gschem, PCB, and Gerber.

Foreign formats needed, to provide a migration path between gEDA and other flows, include kicad, oregano, orcad, QUCS, LTspice, ….

This approach is a good way to implement translations asked for as other SOC suggestions. (Gerber to PCB, PCB to IPC-356)

This is not a complete list. One or two of them would make a good summer project. More than one student can work on this.

The most difficult part of this project is studying and understanding the formats being imported and exported.

You can use the existing plugins for Verilog, Spectre, and Spice as examples. The first one will take a while to learn the system, but after that they should be easy.

Difficulty = 1 to 5 depending on the format(s).

lepton-eda-1.9.10/docs/wiki/geda-icarus_glossary.html0000644000175000017500000000376413634703632017464 00000000000000

Icarus Verilog Glossary

Throughout Icarus Verilog descriptions and source code, I use a
variety of terms and acronyms that might be specific to Icarus
Verilog, have an Icarus Verilog specific meaning, or just aren't
widely known. So here I define these terms.


LRM     - Language Reference Manual
    This is a generic acronym, but in the Verilog world we sometimes
    mean *the* language reference manual, the IEEE1364 standard.


PLI     - Programming Language Interface
    This is a C API into Verilog simulators that is defined by the
    IEEE1364. There are two major interfaces, sometimes called PLI 1
    and PLI 2. PLI 2 is also often called VPI.


UDP     - User Defined Primitive
    These are objects that Verilog programmers define with the
    "primitive" keyword. They are truth-table based devices. The
    syntax for defining them is described in the LRM.


VPI     -
    This is the C API that is defined by the Verilog standard, and
    that Icarus Verilog partially implements. See also PLI.


VVM     - Verilog Virtual Machine
    This is the Icarus Verilog runtime that works with the code
    generator that generates C++.


VVP     - Verilog Virtual Processor
    This is the Icarus Verilog runtime that reads in custom code in a
    form that I call "VVP Assembly". See the vvp/ directory for
    documentation on that.
lepton-eda-1.9.10/docs/wiki/geda-tools.html0000644000175000017500000000121513634703632015400 00000000000000

gEDA Tools

Under construction

lepton-eda-1.9.10/docs/wiki/geda-fedora_rpm_installation.ru.html0000644000175000017500000002350113634703632021566 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

УÑтановка rpm-пакетов gEDA в Fedora

ÐŸÑ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ gEDA/gaf доÑтупны в официальных репозиториÑÑ… диÑтрибутива Fedora. Пакеты Ð´Ð»Ñ Fedora поддерживает Chitlesh Goorah.

УÑтановка из репозиториев диÑтрибутива Fedora

ВыпуÑки gEDA/gaf в Fedora рекомендуетÑÑ ÑƒÑтанавливать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ yum или pirut. pirut (обозначенный в меню как Добавить/Удалить программы) — Ñто графичеÑкий Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð»Ñ yum.

yum install geda\* pcb gerbv

Примечание: Ð´Ð»Ñ ÑƒÑтановки пакетов нужно иметь права root (su -).

Пакетирование и ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ Ð·ÐµÑ€ÐºÐ°Ð»Ð°Ð¼Ð¸ Fedora Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ выпуÑка gEDA/gaf занимает от одного до двух дней. ЕÑли кажетÑÑ, что выпуÑк отÑутÑтвует, можно заполнить отчёт об ошибке (Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° улучшение, RFE1)) на Ñтранице Fedora's bugzilla Ñ Ð¿Ñ€Ð¾Ñьбой обновить Ð´Ð»Ñ Ð²Ð°Ñ gEDA/gaf.

Ð’Ñ‹ можете отÑлеживать:

СамоÑтоÑтельное компилирование

ЕÑли вам хочетÑÑ Ð·Ð°Ð½ÑтьÑÑ Ð³Ñ€Ñзной работой и Ñобрать gEDA/gaf Ð´Ð»Ñ Fedora, то вам нужно уÑтановить завиÑимоÑти, перечиÑленные в файле README gEDA/gaf. Их можно уÑтановить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ yum:

yum install libstroke-devel groff autoconf gtk2-devel gd-devel gettext-devel guile-devel

ПереÑборка Ñвоих ÑобÑтвенных RPM-пакетов

Проект Fedora предоÑтавлÑет проÑтые ÑредÑтва Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑборки любых RPM-пакетов из SRPM-пакетов. SRPM Ñодержит верÑии иÑходных текÑтов программ от разработчиков, spec-файл и необходимые заплаты (еÑли они вообще еÑть).

Чтобы иметь возможноÑть Ñобирать RPM-пакеты, вам нужна ÑÐ±Ð¾Ñ€Ð¾Ñ‡Ð½Ð°Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð°, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¹ ÐЕ требуетÑÑ Ð´Ð¾Ñтуп Ñ Ð¿Ñ€Ð°Ð²Ð°Ð¼Ð¸ root. rpmdevtools предоÑтавлÑет Ð´Ð»Ñ Ñтого необходимые инÑтрументы.

yum install rpmdevtools

Ð¡Ð±Ð¾Ñ€Ð¾Ñ‡Ð½Ð°Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð°

Ð¡Ð±Ð¾Ñ€Ð¾Ñ‡Ð½Ð°Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð° должна ÑобиратьÑÑ ÐЕ из-под учётной запиÑи root.

fedora-buildrpmtree

Ð’Ñ‹ увидите в Ñвоём домашнем каталоге каталог rpmbuild. Этот каталог и будет вашей Ñборочной платформой.

Как получить SRPM-пакеты

Fedora предоÑтавлÑет SRPM Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ пакета диÑтрибутива. Эти SRPM-пакеты можно загрузить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ программы yumdownloader из пакета yum-utils. ЗапуÑтите:

yum install yum-utils

еÑли пакет yum-utils ещё не уÑтановлен у ваÑ.

Загрузите SRPM-пакет geda-gaf (ÐЕ из-под root) командой:

yumdownloader --source geda-gaf

Как только загрузка закончена, в текущем каталоге можно будет найти пакет geda-gaf-%{version}-%{dist}.src.rpm, где %{version} — Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¿Ð°ÐºÐµÑ‚Ð° gEDA/gaf в Fedora, а %{dist} — Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Fedora. Ðапример, SRPM gEDA/gaf Ð´Ð»Ñ Fedora 14 называетÑÑ geda-gaf-1.6.1-1.fc14.src.rpm.

spec-файл, иÑходные текÑты программ разработчиков и патчи Ð´Ð»Ñ Ð´Ð¸Ñтрибутива можно извлечь из SRPM Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ:

rpm -ivh geda-gaf-%{version}-%{dist}.src.rpm

(Я повторÑÑŽ, Ñто никогда не должно запуÑкатьÑÑ Ð¸Ð·-под root!)

Вы увидите, что

  • spec-файлы будут уÑтановлены в rpmbuild/SPECS
  • иÑходные текÑты, патчи и файлы рабочего Ñтола будут уÑтановлены в rpmbuild/SOURCES

Сборка новых RPM-пакетов из новых иÑходных текÑтов программ

Сначала:

  1. Загрузите новые иÑходные текÑты, как опиÑано в предыдущем разделе.
  2. Отредактируйте rpmbuild/SPECS/%{name}.spec
    1. Измените тег version
    2. Измените тег release
  3. ВнеÑите другие нужные вам изменениÑ

Когда предыдущие шаги завершены, можно Ñкомпилировать новые RPM-пакеты:

cd $HOME/rpmbuild/SPECS/
rpmbuild -ba %{name}.spec

УÑпешно Ñобранные RPM-пакеты можно найти в $HOME/rpmbuild/RPMS/, а ÑоответÑтвующие SRPM — в $HOME/rpmbuild/SRPMS.

1) Request for Enhancement
lepton-eda-1.9.10/docs/wiki/geda-scm.html0000644000175000017500000004641013634703632015030 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

gEDA uses git

gEDA uses git for source code management. git is a distributed version control system, where every user has his or her own full copy of the revision history.

Some nice tutorials:

Access the repository anonymously

To clone the geda-gaf.git repository (or any repository hosted at git.geda-project.org) using anonymous git access:

git clone git://git.geda-project.org/geda-gaf.git

or

git clone git://git.geda-project.org/pcb.git

For different repositories hosted at git.geda-project.org, just substitute the last part of the above URL.

There is a cgit interface to the repositories of the various projects. Just point a www browser to http://git.geda-project.org/ .

Access the repository with write permission

For developer git access, you should write DJ Delorie or Traumflug an email with your SSH public key and your preferred user name. They'll install this key on the server, then. Having done so, the git URL to push to is (note the :65):

ssh://git@git.geda-project.org:65/<repository>.git

Note: If you're having trouble pushing commits upstream, make sure you're using git 1.5 or newer.

Accordingly, to grab a repository copy with write privileges you'd do this:

git clone ssh://git@git.geda-project.org:65/<repository>.git

If you have a read-only clone already you can change it to one with write access:

git remote remove origin
git remote add origin ssh://git@git.geda-project.org:65/<repository>.git

Having this done, your local clone works just as before, just a git push origin <branch> succeeds.

A key unique for gEDA

You can use a separate key for accessing the gEDA git access. This has no further advantage other than having a unique key. In this case you may also need to add a line to your ~/.ssh/config file to specify this alternate key:

Host git.geda-project.org
Port 65
IdentityFile ~/.ssh/gedaproject_dsa

Note that the file you refer to here is the private key, where the file you send for the server side is the corresponding public key.

Commit changes

Set up user information

You should make sure that your username & e-mail address are set in your git configuration file.

$ git config --global user.name "Your Name Comes Here"
$ git config --global user.email you@yourdomain.example.com

Commit patches from other contributors

If you apply a patch from someone else (e.g. from a launchpad patch record) there are a few things to consider. Git stores two different names and e-mail addresses for a given commit: the “author†of the patch, and the “committer†of the patch, so these details must be set correctly when making the commit.

First of all, check a few things:

  • You have the latest version of the patch.
  • The author of the patch is happy for it to be committed (and wasn't still working on it)
  • That the you're happy with the patch, and taking responsibility for committing those changes.

For simplicity, start from an unmodified up-to date tree (git status shows no changes).

Apply the patch as usual (as an example):

$ patch -p1 < example_changes.patch

You can also use the git apply command:

$ git apply example_changes.patch

If the patch needs any minor editing before it is committed (eg. white-space changes), please inform the author this was done. They may have other work based on their patch and will want to know if there were changes to the applied version.

Note: This is easy to miss accidentally if your editor introduces tabs. Please avoid letting it do so!

For every file changed, added or removed, you need to inform git before it will commit the changes. To see the modified files, run:

$ git status

For speed, the command:

$ git add -u

will update all files which git tracks, including any files which were deleted.

For adding any new files the patch introduced, use the command

$ git add new_file.c

Note: git add also takes wild-cards.

Commit the patch, making sure that the Author's name and e-mail address are specified:

$ git commit --author "Author's Name Comes Here <author@example.com>"

As an alternative, you can set the GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL environment variables before issuing the normal commit command

Write good commit messages

The commit message format is as follows: a *strictly* one-line summary of the patch, followed by a blank line, followed by a long description. If you can fit the whole description of the patch on one line, that's fine; don't bother with the long description.

The one-line summary is used for generating e-mail subject lines, and for the gitk & gitweb log displays. Having a good one-line summary is really useful, because it means those tools can be used to quickly find a commit of interest.

Do not put a list of files changed into commit messages. This information can be trivially obtained using the git tools.

Example:

Added new GedaList class derived from GObject

This abstracts a GList with API for write access. Its main use is in list
change notification, as it emits a "changed" g_signal when modified.
Read only access to the underlying GList is provided by an accessor,
currenly implemented as a macro.

Keep the local copy current

For those who are are not merging changes back into the central git repository you can run:

$ git pull

However, for those of you who are going to be pushing your changes back into the central git repository, using git pull will clutter up the history with merge messages (“Merge branch 'master'â€). To avoid this you should run:

$ git fetch
$ git rebase origin

Commit changes to the local git repository

$ git commit -a

This command will find all changed files that git knows about (added with git-add) and prompt you for a commit message. Be sure to follow the above commit message convention if you plan on pushing your changes to the central repository.

If you want to commit files in the current directory or want to explicitly commit only certain files, do not specify the -a flag and/or specify the individual filenames on the command line like:

$ git commit filename1 filename2

Undo any uncommitted local changes

$ git checkout -f

Note this will discard any changes to any files that are being tracked by git.

If you want to just discard edits in a single file, just run:

$ git checkout path/to/file/to/discard

If you want to discard all edits from the current directory and downward recursively, just run:

$ git checkout .

Fix a less than perfect last commit

$ Edit whatever files
$ git commit --amend filename1..filenameN

This will pickup any changes you made and recommit them again with the previous commit message.

Track a branch

$ git checkout --track -b <local name> origin/<remote name>

This will create a branch with the <local name> which tracks the <remote name>'d branch.

Create a personalized branch

If you have write permission to the git repository of the gEDA project, you can create personalized branches for your patches. This is recommend to facilitate tests, review and finally application of the patches to the master branch of the application. For this purpose a personalized name space is available in the git repositories. The prefix of this name space is home/<user_name>/, where <user_name> is your user name.

First create the branch locally and simultaneously switch to it as the current branch:

 $ git checkout -b home/<user_name>/<name_of_the_branch>

Make some changes. Stage the changes and issue a commit:

 $ git stage <files to commit>
 $ git commit -F <commit_message>

Where <commit_message> points to a file which contains the commit message.

To publish the changed branch to the remote repository do:

 $ git push origin home/<user_name>/<name_of_the_branch>

The first push to a branch creates it on the remote server. For a little more convenience, you can advise git to always push to the current branch:

 $ git config --global push.default current

Skip the option --global if you want this to be active only in this particular git project. With this directive the command above reduces to a mere

 $ git push
 

Delete a personalized branch

In case you'd rather not have your branch sitting indefinitely in the remote repository, you can issue a delete directive. To delete the branch on the server do:

 $ git push origin --delete home/<user_name>/<name_of_the_branch>

To delete the branch on the local repository, too:

 $ git branch --delete home/<user_name>/<name_of_the_branch>
 

Fetch a development branch from other people

Beside the http://git.geda-project.org/ repository we have a mirror of that repository at http://repo.or.cz/w/geda-gaf.git. Some of the developers have forks of that repository with new feature branches.

If you like to test one of the feature branches you have to fetch it from their repository. The easiest way to get a branch is to use the fetch command.

  $ git fetch repository_url remote_branchname:local_branchname

Examples: Getting the cairo_experiment branch from Peter C. would look like this:

  $ git fetch git://repo.or.cz/geda-gaf/pcjc2.git cairo_experiment:peters_cairo_experiment

Now you can switch to the local copy of the branch peters_cairo_experiment and play with it.

It is also possible to add multiple remote forks into the local repository:

  $ git remote add <name> <url>
  $ git fetch <name>

As long as <name> is unique you will be able to follow their work without the need to create local branches. With a tool like gitk it is now possible to keep an eye on development in various feature branches on various forks:

  $ gitk --all

Examples:

  $ git remote add peter-b https://github.com/peter-b/geda-gaf.git
  $ git fetch peter-b
  $ git remote add gareth8118 https://github.com/gareth8118/geda-gaf.git
  $ git fetch gareth8118
  $ git remote add bert https://github.com/bert/geda-gaf.git
  $ git fetch bert
  $ gitk --all

Now gitk can become quite filled up, but File→List references (F2) will open a dialog for easier navigation.

Updating favourite remotes will then boil down to:

  $ git fetch --all
  

format a patch to send to the developers?

The simplest possible way includes all changes since the local repository was syncronized with the repository at geda-project.org:

$ git diff > name_of_patchfile

A more complicated way with more control on what the patch contains:

$ git add -i           # select files to be committed
$ git status           # check you're committing what you think you're committing
$ git commit           # create a commit
$ git format-patch -1  # create a patch file based on that commit

This will output a filename which contains the patch. Be sure to look at the documentation for format-patch for more information. This file can be e-mailed to developers who have write access and can be applied using git apply.

Recover from a really messed up local repository

First off, do not push any repository that you think is somehow messed up. Ask one of the experienced git people first.

Second, the command that will really save your bacon is git-reflog. Using it works something like this:

 $ git reflog
 086908e... HEAD@{0}: cherry-pick: Last minute updates to the READMEs for all pro
 2a79a23... HEAD@{1}: checkout: moving to master
 2a79a23... HEAD@{2}: checkout: moving to master
 ...
 $ git reset --hard HEAD@{1}

The last command (git reset --hard ...) will rollback all your changes to the “checkout: moving to masterâ€. Remember: don't panic! Most things are fixable when using git.

lepton-eda-1.9.10/docs/wiki/pcb-roadmap.ru.html0000644000175000017500000004470313634703632016165 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

Ð¡Ñ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ñ€Ð°Ð·Ð²Ð¸Ñ‚Ð¸Ñ PCB

ÐаÑтоÑщее руководÑтво поÑвÑщено будущим направлениÑм Ñ€Ð°Ð·Ð²Ð¸Ñ‚Ð¸Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¾Ñ€Ð° топологии печатных плат pcb.

Общие ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿Ð¾ выпуÑкам новых верÑий

Ð’ целом, в pcb может быть три вида изменений — иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº, новые возможноÑти и неÑовмеÑтимые изменениÑ. ИÑправление ошибок (bug fix) нужно, когда программа не делает того, что должна делать; Ñюда входÑÑ‚ как ошибки в документации, так и проблемы Ñ Ñамим кодом программы. ÐÐ¾Ð²Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть (new feature) — Ñто нечто, добавлÑющее функциональноÑть в pcb, но никоим образом не изменÑющее уже имеющейÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ñти. ÐеÑовмеÑтимое изменение (incompatible change) — Ñто любое (преднамеренное) изменение, вызывающее проблемы неÑовмеÑтимоÑти Ñ Ð¿Ñ€ÐµÐ¶Ð½Ð¸Ð¼Ð¸ верÑиÑми pcb и обычно означающее большие Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² поÑтроении программы. Заметьте, что новые возможноÑти, добавлÑющие обратно-ÑовмеÑтимые Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² формат файла при его иÑпользовании, в Ñту категорию не входÑÑ‚.

Текущие планы таковы:

  • выпуÑкать верÑии Ñ Ð¸ÑправлениÑми ошибок каждые два меÑÑца или около того, пока не оÑтанетÑÑ Ð½ÐµÑ€ÐµÑˆÑ‘Ð½Ð½Ñ‹Ñ… вопроÑов;
  • начать работу над выпуÑком верÑии 4.0 Ñ Ð½ÐµÑколькими большими изменениÑми в проекте, которые мы обÑуждаем годами.

Ð’ наÑтоÑщий момент выпуÑки Ñ Ð¸ÑправлениÑми ошибок будут иметь Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð²Ð¸Ð´Ð° pcb-ГГГГММДД. ПоÑле выпуÑка верÑии 4.0, чиÑла major.minor.bugfix будут ÑоответÑтвовать трём категориÑм, указанным выше: номер выпуÑка Ñ Ð¸ÑправлениÑми ошибок будет *.*.N, выпуÑк Ñ Ð½Ð¾Ð²Ñ‹Ð¼Ð¸ возможноÑÑ‚Ñми — *.N, выпуÑк Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð¼Ð¸ изменениÑми — N.0. ЧиÑла ГГГГММДД будут тогда иÑпользоватьÑÑ Ð´Ð»Ñ Ñ€ÐµÐ³ÑƒÐ»Ñрных Ñрезов разработки, не выпуÑкаемых в качеÑтве официальных верÑий.

Дальше на Ñтой Ñтранице будут перечиÑлены различные планируемые Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ (или те, на которые мы по крайней мере надеемÑÑ) Ð´Ð»Ñ Ð±Ð»Ð¸Ð¶Ð°Ð¹ÑˆÐ¸Ñ… и поÑледующих выпуÑков.

Ошибки, заплаты и запроÑÑ‹ новых возможноÑтей должны добавлÑтьÑÑ Ð² ÑиÑтему отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº Launchpad. Их ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¿Ð¾ умолчанию — «нерешённый» (undecided). ЗапроÑÑ‹ Ñ Ñ‚Ð°ÐºÐ¸Ð¼ приоритетом ÑчитаютÑÑ Ð½ÐµÐ¿Ñ€Ð¾Ð²ÐµÑ€ÐµÐ½Ð½Ñ‹Ð¼Ð¸.

Следующий выпуÑк Ñ Ð¸ÑправлениÑми ошибок

Это перечень иÑправлений, которые должны быть оÑущеÑтвлены прежде, чем выпуÑкать новую верÑию Ñ Ð¸ÑправлениÑми ошибок, в дополнение к любым артефактам «Ñледующего выпуÑка Ñ Ð¸ÑправлениÑми» в ÑиÑтеме отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº.

Будущие выпуÑки Ñ Ð¸ÑправлениÑми ошибок

Это перечень иÑправлений, которые должны быть Ñделаны Ñо временем.

Следующий выпуÑк Ñ Ð½Ð¾Ð²Ñ‹Ð¼Ð¸ возможноÑÑ‚Ñми

Это ÑпиÑок новых возможноÑтей, которые хочетÑÑ Ð¸Ð¼ÐµÑ‚ÑŒ к выпуÑку Ñледующей верÑии Ñ Ð½Ð¾Ð²Ñ‹Ð¼Ð¸ возможноÑÑ‚Ñми (или, может быть, к Ñледующему выпуÑку Ñ Ð¸ÑправлениÑми, еÑли позволит времÑ).

  • Сделать код C++-ÑовмеÑтимым.
  • Разрешить перекрытие поÑÑков переходов.
  • Больше Ñтилей траÑÑировки.
  • Ð Ð°Ð·Ñ€ÐµÑˆÐ°ÑŽÑ‰Ð°Ñ ÑпоÑобноÑть в нанометрах — Ñто переход на «метричеÑкие единицы», который многократно обÑуждалÑÑ.
  • ÐаÑтоÑщие типы Ñлоёв. По меньшей мере ÑˆÐµÐ»ÐºÐ¾Ð³Ñ€Ð°Ñ„Ð¸Ñ (silk), барьеры траÑÑировки (keepouts), маÑка (mask) и Ñлой документации (docs). Может быть черчение в негативе (anti-draw) или вÑтавка (paste).

Будущие выпуÑки Ñ Ð½Ð¾Ð²Ñ‹Ð¼Ð¸ возможноÑÑ‚Ñми

Другие возможноÑти, которые должны быть добавлены Ñо временем.

Следующий выпуÑк Ñ Ð½ÐµÑовмеÑтимыми изменениÑми

Это ÑпиÑок больших изменений, которые, по нашему мнению, желательно включить в pcb, и к которым мы ÑобираемÑÑ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶Ð¸Ñ‚ÑŒ Ñвои уÑилиÑ.

Будущие выпуÑки Ñ Ð½ÐµÑовмеÑтимыми изменениÑми

Это перечень других больших изменений, которые, по нашему мнению, желательно включить в pcb, но к которым до Ñих пор не прикладывалоÑÑŒ никаких уÑилий.

СпиÑок пожеланий

Ð’ Ñтом разделе перечиÑлены возможные проекты Ð´Ð»Ñ Ð±ÑƒÐ´ÑƒÑ‰Ð¸Ñ… выпуÑков, наÑчёт которых либо не было ÑоглаÑиÑ, либо не было запланировано Ð²Ñ€ÐµÐ¼Ñ Ð½Ð° них. ЕÑли вам хочетÑÑ Ð²Ð·ÑтьÑÑ Ð·Ð° один из них, вперёд :-)

  • ЗдеÑÑŒ еÑть предложение по новым ÑлоÑм.
  • ОÑтальные подчиÑтки графичеÑкого интерфейÑа. ÐœÐ¾Ð´ÐµÑ€Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Gtk в ÑоответÑтвии Ñ Â«ÑƒÑтановившейÑÑ Ð¿Ñ€Ð°ÐºÑ‚Ð¸ÐºÐ¾Ð¹Â». ÐаÑтройка импорта файлов.
  • Плагин «маÑтер наÑтройки импорта» (и то же Ñамое Ð´Ð»Ñ ÑкÑпорта).
  • ЧиÑтка/переработка DRC.
  • Движок CAM? (Ñ‚. е. возможноÑть Ñказать «чертить внешний контур на Ñлое маÑки верхней Ñтороны» через Ñкрипт/наÑтройки)
  • Ðовый формат файла, который мы обÑуждали.
  • Дуги переменных углов. 90 градуÑов — Ñто чрезмерное ограничение.
  • Заполненные окружноÑти без «коÑтылей». Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð½Ð¾Ð¹ окружноÑти нужно Ñоздавать дорожку нулевой длины подходÑщей ширины.
  • Ð£Ð½Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñочетаний клавиш в gschem и pcb или, по крайней мере, Ð»Ñ‘Ð³ÐºÐ°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть подÑтройки pcb под ÑÐ¾Ñ‡ÐµÑ‚Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹ gschem.
  • Ð›ÑƒÑ‡ÑˆÐ°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° Ñвободного Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð²: ÑтремитьÑÑ, чтобы контактные площадки Ñ Ð¿Ñ€Ð¸ÐºÐ¾Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ углами отриÑовывалиÑÑŒ правильно, иÑправить автотраÑÑировщик Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² Ñ Ñ‡ÑƒÐ´Ð½Ñ‹Ð¼Ð¸ углами (поÑледнÑÑ Ð²ÐµÑ€ÑÐ¸Ñ Ð¸Ð· git имеет тенденцию в завиÑимоÑти от обÑтоÑтельÑтв или игнорировать команду траÑÑировки, или выдавать ошибки Ñегментации), добавить информацию о вращении в ÑообщениÑ, выводимые по Ctrl+R, и Ñ‚. д.
  • ВозможноÑть копировать Ð¸Ð¼Ñ Ð¿Ð¾Ñадочного меÑта из диалогового окна библиотеки (чтобы его можно было вÑтавить в ÑпиÑок атрибутов в gschem).
  • ВозможноÑть редактировать ÑпиÑок Ñоединений «на меÑте» (может быть Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ð²Ñ‹Ñ‡ÐµÑ€Ñ‡Ð¸Ð²Ð°Ð½Ð¸Ñ Ð»Ð¸Ð½Ð¸Ð¹ ÑвÑзи (rat lines) на их Ñлое), то еÑть, когда нужно добавить радиатор, припаÑнный к земле, он будет вÑегда показыватьÑÑ ÐºÐ°Ðº закороченный, пока ÑпиÑок Ñоединений не будет изменён так, чтобы он был включён туда.
  • КалькулÑтор импеданÑа дорожек Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñтью автоподÑтройки (ширина заполнениÑ, конÑÑ‚Ñ€ÑƒÐºÑ‚Ð¸Ð²Ð½Ð°Ñ (паразитнаÑ) ёмкоÑть и желаемый Ð¸Ð¼Ð¿ÐµÐ´Ð°Ð½Ñ Ð¸ подÑтройка ширины Ð´Ð»Ñ ÑƒÐ´Ð¾Ð²Ð»ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð¸Ñ Ñтим уÑловиÑм).
  • Ð˜Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾Ñмотра и Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñадочных меÑÑ‚ Ñ gedasymbols.org.
  • ИерархичеÑÐºÐ°Ñ Ð¼Ð¾Ð´ÐµÐ»ÑŒ платы — подъÑчейки, поÑадочные меÑта как Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð³Ð¸Ñ Ð¸ Ñ‚. д.
  • Форма, которую Ñ Ð´Ð°Ð²Ð½Ð¾ хотел бы иметь Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ð¾Ð¹ площадки, Ñто круг Ñ Ð¾Ð±Ñ€ÐµÐ·Ð°Ð½Ð½Ñ‹Ð¼Ð¸ краÑми. Это немного отличаетÑÑ Ð¾Ñ‚ овала. Было бы здорово иметь что-то вроде логичеÑких операций над изображениÑми, как в Inkscape.
  • Как наÑчёт текÑта под углами, не кратными 90 градуÑов? Или поддержка поворота квадратных площадок? (Я знаю, обе возможноÑти не поддерживаютÑÑ Ð² формате файла.)
  • Редактирование Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñетки должно быть убрано! ПодÑчёт точек Ñетки — Ñто наихудший ÑпоÑоб вводить позиционную информацию в компьютер из вÑех возможных.
  • Сделать редактируемыми вÑе Ð¿Ð¾Ð»Ñ Ð² отчётах по объектам.
  • Разрешить прÑмой ввод Ñмещений и абÑолютных положений при редактировании.
  • Добавить возможноÑти «offset» («Ñмещение») и «trim» («подрезка») как в программах 2D CAD.
  • Добавить возможноÑть Ñ‡ÐµÑ€Ñ‡ÐµÐ½Ð¸Ñ Ð»Ð¸Ð½Ð¸Ð¹ вида «точка к каÑательной» и «каÑÐ°Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ðº каÑательной» как в программах двумерных CAD.
  • ÐвтоматичеÑкое Ñохранение файла в формате наименьшей требуемой верÑии. УÑтановка верÑии формата файла в завиÑимоÑти от иÑпользуемых возможноÑтей, а не от верÑии Ñамой программы. Это будет ценно, когда мы добавим такие вещи, как глухие переходы, неÑтандартные Ñтеки контактных площадок и Ñ‚. д. …
lepton-eda-1.9.10/docs/wiki/design.css0000644000175000017500000002741113634703632014445 00000000000000/** * Design elements for default Template * * @author Andreas Gohr * @author Anika Henke */ /* -------------- general elements --------------- */ body { font: 100% "Lucida Grande", Verdana, Lucida, Helvetica, Arial, sans-serif; background-color: #f8f8f8; color: Black; margin: 0; padding: 0; margin-left: 1em; margin-right: 1em; } /* the document */ div.page { margin-top: 4px; margin-left: 1em; margin-right: 2em; text-align: justify; } table { font-size: 100%; padding:0; margin:0; } tr,td,th {padding:0; margin:0;} img {border:0} p {padding:0; margin: 0 0 1.0em 0;} hr { border: 0px; border-top: 1px solid #8cacbb; text-align:center; height: 0px; } div.nothing { text-align:center; margin: 2em; } /* ---------------- forms ------------------------ */ form { border: none; margin: 0; display: inline; } label { display: block; text-align: right; font-weight: bold; } label.simple { text-align: left; font-weight: normal; } label input.edit { width: 50%; } fieldset { width: 300px; text-align: center; border: 1px solid #8cacbb; padding: 0.5em; } textarea.edit { font-family:monospace; border: 1px solid #8cacbb; color: Black; background-color: white; font-size:14px; padding: 3px; width:100%; } input.edit,select.edit { font-size: 100%; border: 1px solid #8cacbb; height: 18px !important; max-height: 22px !important; min-height: 22px !important; color: Black; background-color: white; vertical-align: middle; padding: 1px; display: inline; } input.missing { font-size: 100%; border: 1px solid #8cacbb; height: 18px !important; max-height: 22px !important; min-height: 22px !important; color: Black; background-color: #ffcccc; vertical-align: middle; padding: 1px; display: inline; } /* --------- buttons ------------------- */ input.button { border: 1px solid #8cacbb; color: Black; background-color: white; vertical-align: middle; text-decoration:none; font-size: 100%; cursor: pointer; height: 22px !important; max-height: 22px !important; min-height: 22px !important; margin: 1px; display: inline; } div.secedit input.button { border: 1px solid #8cacbb; color: Black; background-color: white; vertical-align: middle; text-decoration:none; margin: 0px; padding: 0px; font-size: 10px; cursor: pointer; height: 15px !important; max-height: 15px !important; min-height: 15px !important; float:right; display: inline; } /* ----------- page navigator ------------- */ div.pagenav { margin-top:1em; } div.pagenav-prev { text-align:right; float:left; width:50% } div.pagenav-prev input.button { margin-right:5px; } div.pagenav-next { text-align:left; float:right; width:50% } div.pagenav-next input.button { margin-left:5px; } /* --------------- Links ------------------ */ a { color:#000000; text-decoration:none; } a:hover { color:#000000; text-decoration:none; } /* external link */ a.urlextern{ background: transparent url(images/link_icon.gif) 0px 1px no-repeat; padding: 1px 0px 1px 16px; color:#0000BB; text-decoration:none; } a.urlextern:visited { color:Purple; } a.urlextern:hover { text-decoration:underline; } /* windows share */ a.windows{ background: transparent url(images/windows.gif) 0px 1px no-repeat; padding: 1px 0px 1px 16px; color:#436976; text-decoration:none; } a.windows:visited { color:Purple; } a.windows:hover { text-decoration:underline; } /* interwiki link */ a.interwiki{ background: transparent url(images/interwiki.png) 0px 1px no-repeat; padding-left: 16px; color:#436976; text-decoration:none; } a.interwiki:visited { color:Purple; } a.interwiki:hover { text-decoration:underline; } /* link to some embedded media */ a.media { color:#436976; text-decoration:none; } a.media:hover { color:#436976; text-decoration:underline } /* email link */ a.mail { background: transparent url(images/mail_icon.gif) 0px 1px no-repeat; padding: 1px 0px 1px 16px; color:#436976; text-decoration:none; } a.mail:hover { text-decoration:underline; } /* existing wikipage */ a.wikilink1:link { color:#0000BB; text-decoration:none } a.wikilink1:visited { color:Purple; text-decoration:none } a.wikilink1:hover { color:#0000BB; text-decoration:underline } /* not existing wikipage */ a.wikilink2:link { color:#FF3300; text-decoration:none } a.wikilink2:visited { color:#FF3300; text-decoration:none } a.wikilink2:hover { color:#FF3300; text-decoration:underline } /* ------------- Page elements ----------------- */ div.preview{ background:#f7f9fa; margin-left:2em; padding: 4px; border: 1px dashed #000000; } div.breadcrumbs{ background-color: #f5f5f5; font-size:80%; color: #666666; padding-left: 4px; } span.user{ color: #cccccc; font-size: 90%; } /* embedded images */ img.media { margin: 3px; } img.medialeft { border: 0; float: left; margin: 0 1.5em 0 0; } img.mediaright { border: 0; float: right; margin: 0 0 0 1.5em; } img.mediacenter { border: 0; display: block; margin-left: auto; margin-right: auto; } acronym { cursor: help; border-bottom: 1px dotted #000; } /* general headline setup */ h1, h2, h3, h4, h5 { color: Black; background-color: transparent; font-family: "Lucida Grande", Verdana, Lucida, Helvetica, Arial, sans-serif; font-size: 100%; font-weight: normal; margin-left: 0; margin-right: 0; margin-top: 0; margin-bottom: 1em; padding-left: 0; padding-right: 0; padding-top: 0.5em; padding-bottom: 0; border-bottom: 1px solid #8cacbb; clear: left; } /* special headlines */ h1 {font-size: 160%; margin-left: 0px; font-weight: bold;} h2 {font-size: 150%; margin-left: 20px;} h3 {font-size: 140%; margin-left: 40px; border-bottom: none; font-weight: bold;} h4 {font-size: 120%; margin-left: 60px; border-bottom: none; font-weight: bold;} h5 {font-size: 100%; margin-left: 80px; border-bottom: none; font-weight: bold;} /* indent different sections */ div.level1 {margin-left: 3px;} div.level2 {margin-left: 23px;} div.level3 {margin-left: 43px;} div.level4 {margin-left: 63px;} div.level5 {margin-left: 83px;} /* unordered lists */ ul { line-height: 1.5em; list-style-type: square; margin: 0 0 0.5em 1.5em; padding: 0; list-style-image: url(images/bullet.gif); } /* ordered lists */ ol { line-height: 1.5em; margin: 0 0 0.5em 1.5em; padding: 0; color: #638c9c; font-weight: bold; list-style-image: none; } /* the list items overriding the ol definition */ .li { color: #000000; font-weight: normal; } ol {list-style-type: decimal} ol ol {list-style-type: upper-roman} ol ol ol {list-style-type: lower-alpha} ol ol ol ol {list-style-type: lower-greek} li.open { list-style-image: url(images/open.gif); } li.closed { list-style-image: url(images/closed.gif); } blockquote { border-left: 2px solid #8cacbb; padding-left: 3px; margin-left: 0; } /* code blocks by indention */ pre.pre { font-size: 120%; padding: 0.5em; border: 1px dashed #8cacbb; color: Black; background-color: #f7f9fa; overflow: auto; } /* code blocks by code tag */ pre.code { font-size: 120%; padding: 0.5em; border: 1px dashed #8cacbb; color: Black; background-color: #f7f9fa; overflow: auto; } /* inline code words */ code { font-size: 120%; } /* code blocks by file tag */ pre.file { font-size: 120%; padding: 0.5em; border: 1px dashed #8cacbb; color: Black; background-color: #dee7ec; overflow: auto; } /* inline tables */ table.inline { background-color: #ffffff; border-spacing: 0px; border-collapse: collapse; } table.inline th { padding: 3px; border: 1px solid #8cacbb; background-color: #dee7ec; } table.inline td { padding: 3px; border: 1px solid #8cacbb; } .leftalign{ text-align: left; } .centeralign{ text-align: center; } .rightalign{ text-align: right; } /* ---------- table of contents ------------------- */ div.toc { margin-left: 2em; margin-top: 1.2em; margin-bottom: 0; float:right; width: 200px; font-size: 80%; clear:both; border: 1px solid #8cacbb; background-color: #ffffff; } div.tocheader { padding: 3px; border: 1px solid #8cacbb; background-color: #dee7ec; text-align: left; font-weight:bold; margin-bottom: 2px; } div.toctoggle { float:right; margin-top:0.3em; margin-right:3px; } div.toctoggle img { width:0.8em; height:0.8em; } #tocinside { border: 1px solid #8cacbb; background-color: #ffffff; text-align: left; padding-top: 0.5em; padding-bottom: 0.7em; } ul.toc { list-style-type: none; list-style-image: none; line-height: 1.2em; margin: 0; padding: 0; padding-left: 1em; } ul.toc li { background: transparent url(images/tocdot2.gif) 0 0.6em no-repeat; padding-left:0.4em; } ul.toc li.clear { background-image: none; padding-left:0.4em; } a.toc { color: #0000BB; text-decoration:none; } a.toc:hover { color: #000000; text-decoration:underline; } /* ---------------------------- Diff rendering --------------------------*/ table.diff { background:white; } td.diff-blockheader {font-weight:bold} td.diff-header { border-bottom: 1px solid #8cacbb; font-size:120%; } td.diff-addedline { background:#ddffdd; font-family: monospace; font-size: 100%; } td.diff-deletedline { background:#ffffbb; font-family: monospace; font-size: 100%; } td.diff-context { background:#f7f9fa; font-family: monospace; font-size: 100%; } span.diffchange { color: red; } /* --------------------- footnotes -------------------------------- */ div.footnotes{ clear:both; border-top: 1px solid #8cacbb; padding-left: 1em; margin-top: 1em; } div.fn{ font-size:90%; } a.fn_top{ vertical-align:super; font-size:80%; } a.fn_bot{ vertical-align:super; font-size:80%; font-weight:bold; } /* --------------- search result formating --------------- */ .search_result{ margin-bottom: 6px; padding-left: 30px; padding-right: 10px; } .search_snippet{ color: #999999; font-size: 12px; margin-left: 20px; } .search_sep{ color: #000000; } .search_hit{ color: #000000; background: #FFFF99; } div.search_quickresult{ margin-bottom: 15px; padding-bottom: 5px; border-bottom: 1px dashed #8cacbb; margin-left: 30px; padding-right: 10px; } div.search_quickhits { margin-left: 1em; float:left; background: transparent url(images/bullet.gif) 0px 1px no-repeat; padding: 1px 0px 1px 8px; width: 30%; } /* ------------------ Additional ---------------------- */ .footerinc a img { opacity: 0.5; } .footerinc a:hover img { opacity: 1; } /* ---- Admin --- */ div.acladmin label { text-align: left; font-weight: normal; display: inline; } div.acladmin table{ margin-left: 10%; width: 80%; } /* ---------- AJAX quicksearch ----------- */ div.ajax_qsearch { position:absolute; right:225px;; text-align:left; width: 200px; background-color: #ff9; opacity: 0.9; display:none; } /* ---------- Spellchecking ------------- */ a.spell_error { color: #ff0000; text-decoration: underline; } div#spell_suggest { position: absolute; left: 0; top: 0; display: none; background-color: #fff; padding: 2px; border: 1px solid #000; font-size:80%; z-index: 2; } div#spell_result { display:none; font-family:monospace; border: 1px solid #8cacbb; color: Black; font-size:14px; padding: 3px; background-color: #f7f9fa; overflow: auto; z-index: 1; white-space: pre-wrap; /* css-3 */ white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ word-wrap: break-word; /* Internet Explorer 5.5+ */ } span.spell_noerr { color: #009933; } span.spell_wait { color: #0066cc; } lepton-eda-1.9.10/docs/wiki/geda-fc1.html0000644000175000017500000000316313634703632014715 00000000000000

Installer 2005080X on Fedora Core 1 install notes

Prerequisites:

When you install FC1, make sure you install the “workstation†version, and not the “desktop†version. (You are presented with this choice when you first install the distribution off of the distribution media.) The “workstation†version includes important header files and other tools which are necessary to build many components of the gEDA Suite using the installer.

Problems:

The installer has been thoroughly tested on this platform. No problems are known, and none have been reported.

lepton-eda-1.9.10/docs/wiki/geda-systemc_netlister_readme.html0000644000175000017500000000567713634703632021355 00000000000000

SystemC netlister README

TITLE:

     Gnetlist SystemC Backend

OBJECTIVE:

     Transform a geda schematic into a transaction based structural systemc module.

LIMITATIONS:

     1.- Only transaction based wires are considered (wire_name<user_type>).
     2.- Unnamed wires are eliminated.
     3.- In/out ports have to be inserted manually in the sysc code.
     4.- Duplicated include headers are not eliminated by the backend.
     5.- The maximum number of object constructor parameters is 31 (attr1->attr31).

LINKS:

     GPL Electronic Design Automation (geda-gnetlist): http://www.geda-project.org
     SystemC: http://www.systemc.org

ACK:

     Based on gnet-verilog.scm by Mike Jarabek.

EXAMPLE:

     Schematic:

     src1                         alg1                      snk1
     ______________               _______________           _______________
     | source     |  a<user_type> |  algorithm  |  b<float> |        sink |
     |         OUT|__ _________ __|IN        OUT|__ _____ __|IN           |
     |            |               |             |           |             |
     | infile.data|               |             |           | outfile.data|
     |____________|               |_____________|           |_____________|


     Attributes:

            Schematic:
                     module_name=test_sch2sysc
     
            Wires:
                     netname=a<user_type>
                     netname=b<float>
            Symbols:
                     refdes=src1 attr1=infile.data
                     refdes=alg1
                     refdes=snk1 attr1=outfile.data
                     refdes=pina
                     refdes=pinb

     SystemC:

		#include "systemc.h"
		#include "sink.h"
		#include "source.h"
		#include "algorithm.h"

		SC_MODULE (test_sch2sysc)
		{
			/* Port directions begin here */

		 	/* Wires from the design */
			sc_signal<float> b;
			sc_signal<packet_type> a;
	
			/* Package instantiations */
			sink snk1;
			source src1;
			algorithm alg1;

			SC_CTOR(test_sch2sysc):
				snk1("snk1","outfile.data"),
				src1("src1","infile.data"),
				alg1("alg1")
			{
				snk1.IN(b);
			  	src1.OUT(a);
			  	alg1.IN(a);
			  	alg1.OUT(b);
			}
		};
lepton-eda-1.9.10/docs/wiki/gerbv-projects.html0000644000175000017500000000617613634703632016311 00000000000000

Gerbv

Edit Gerbers using gerbv

Gerbv is gEDA's Gerber file viewer. However, it has the potential to become more than a viewer – it can become a complete CAM tool, allowing (simple) editing of Gerbers, like moving or deleting tracks, changing drill hole diameters, changing pad or ring diameters, and so on.

Difficulty = 4

Add Design Rule Checking (DRC) functionality to Gerbv

Most commercial Gerber file viewers allow the user to check if a Gerber file meets certain layout requirements (like minimum clearances between traces, etc). This project would involve implementing DRC capability into Gerbv, either by importing existing code from PCB, or writing new code. This capability should ideally be put into the libgerbv library, allowing other programs to tap into the DRC capability and allow scripting support.

Difficulty: 5

Autodetection of footprints, and footprint centroid location

This project involves writing code which will allow gerbv to autoidentify footprints via some type of pattern matching (e.g. 2D correlation with known footprints). Then, gerbv would store the (X, Y) coordinates of each identified footprint's centroid. The idea is to produce a pick-place file for automated board stuffing using only the information contained in a set of Gerber files. This would make a good project for somebody with some AI and/or machine vision background.

Difficulty = 5

Gerber to .pcb file exporter

In this project, the student would implement a feature in which gerbv would read in a gerber, and then export a file which could be read by gEDA/PCB. The .pcb file generated wouldn't need to be much more than the individual graphical elements held in the Gerber since a Gerber file doesn't have the concept of e.g. footprints or text on the silkscreen layer. However, the ability to create .pcb files would be very useful, since the one could use the full power of PCB when editing legacy Gerbers.

Difficulty = 3

lepton-eda-1.9.10/docs/wiki/geda-gfdl.html0000644000175000017500000005211213634703632015156 00000000000000

GNU Free Documentation License

                  GNU Free Documentation License
                    Version 1.2, November 2002


 Copyright (C) 2000,2001,2002  Free Software Foundation, Inc.
     51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.


0. PREAMBLE

The purpose of this License is to make a manual, textbook, or other
functional and useful document "free" in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
with or without modifying it, either commercially or noncommercially.
Secondarily, this License preserves for the author and publisher a way
to get credit for their work, while not being considered responsible
for modifications made by others.

This License is a kind of "copyleft", which means that derivative
works of the document must themselves be free in the same sense.  It
complements the GNU General Public License, which is a copyleft
license designed for free software.

We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does.  But this License is not limited to software manuals;
it can be used for any textual work, regardless of subject matter or
whether it is published as a printed book.  We recommend this License
principally for works whose purpose is instruction or reference.


1. APPLICABILITY AND DEFINITIONS

This License applies to any manual or other work, in any medium, that
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License.  Such a notice grants a
world-wide, royalty-free license, unlimited in duration, to use that
work under the conditions stated herein.  The "Document", below,
refers to any such manual or work.  Any member of the public is a
licensee, and is addressed as "you".  You accept the license if you
copy, modify or distribute the work in a way requiring permission
under copyright law.

A "Modified Version" of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.

A "Secondary Section" is a named appendix or a front-matter section of
the Document that deals exclusively with the relationship of the
publishers or authors of the Document to the Document's overall subject
(or to related matters) and contains nothing that could fall directly
within that overall subject.  (Thus, if the Document is in part a
textbook of mathematics, a Secondary Section may not explain any
mathematics.)  The relationship could be a matter of historical
connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding
them.

The "Invariant Sections" are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License.  If a
section does not fit the above definition of Secondary then it is not
allowed to be designated as Invariant.  The Document may contain zero
Invariant Sections.  If the Document does not identify any Invariant
Sections then there are none.

The "Cover Texts" are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License.  A Front-Cover Text may
be at most 5 words, and a Back-Cover Text may be at most 25 words.

A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of
pixels) generic paint programs or (for drawings) some widely available
drawing editor, and that is suitable for input to text formatters or
for automatic translation to a variety of formats suitable for input
to text formatters.  A copy made in an otherwise Transparent file
format whose markup, or absence of markup, has been arranged to thwart
or discourage subsequent modification by readers is not Transparent.
An image format is not Transparent if used for any substantial amount
of text.  A copy that is not "Transparent" is called "Opaque".

Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format, SGML
or XML using a publicly available DTD, and standard-conforming simple
HTML, PostScript or PDF designed for human modification.  Examples of
transparent image formats include PNG, XCF and JPG.  Opaque formats
include proprietary formats that can be read and edited only by
proprietary word processors, SGML or XML for which the DTD and/or
processing tools are not generally available, and the
machine-generated HTML, PostScript or PDF produced by some word
processors for output purposes only.

The "Title Page" means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
this License requires to appear in the title page.  For works in
formats which do not have any title page as such, "Title Page" means
the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.

A section "Entitled XYZ" means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language.  (Here XYZ stands for a
specific section name mentioned below, such as "Acknowledgements",
"Dedications", "Endorsements", or "History".)  To "Preserve the Title"
of such a section when you modify the Document means that it remains a
section "Entitled XYZ" according to this definition.

The Document may include Warranty Disclaimers next to the notice which
states that this License applies to the Document.  These Warranty
Disclaimers are considered to be included by reference in this
License, but only as regards disclaiming warranties: any other
implication that these Warranty Disclaimers may have is void and has
no effect on the meaning of this License.


2. VERBATIM COPYING

You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other
conditions whatsoever to those of this License.  You may not use
technical measures to obstruct or control the reading or further
copying of the copies you make or distribute.  However, you may accept
compensation in exchange for copies.  If you distribute a large enough
number of copies you must also follow the conditions in section 3.

You may also lend copies, under the same conditions stated above, and
you may publicly display copies.


3. COPYING IN QUANTITY

If you publish printed copies (or copies in media that commonly have
printed covers) of the Document, numbering more than 100, and the
Document's license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover.  Both covers must also clearly and legibly identify
you as the publisher of these copies.  The front cover must present
the full title with all words of the title equally prominent and
visible.  You may add other material on the covers in addition.
Copying with changes limited to the covers, as long as they preserve
the title of the Document and satisfy these conditions, can be treated
as verbatim copying in other respects.

If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.

If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a computer-network location from which the general network-using
public has access to download using public-standard network protocols
a complete Transparent copy of the Document, free of added material.
If you use the latter option, you must take reasonably prudent steps,
when you begin distribution of Opaque copies in quantity, to ensure
that this Transparent copy will remain thus accessible at the stated
location until at least one year after the last time you distribute an
Opaque copy (directly or through your agents or retailers) of that
edition to the public.

It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.


4. MODIFICATIONS

You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release
the Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it.  In addition, you must do these things in the Modified Version:

A. Use in the Title Page (and on the covers, if any) a title distinct
   from that of the Document, and from those of previous versions
   (which should, if there were any, be listed in the History section
   of the Document).  You may use the same title as a previous version
   if the original publisher of that version gives permission.
B. List on the Title Page, as authors, one or more persons or entities
   responsible for authorship of the modifications in the Modified
   Version, together with at least five of the principal authors of the
   Document (all of its principal authors, if it has fewer than five),
   unless they release you from this requirement.
C. State on the Title page the name of the publisher of the
   Modified Version, as the publisher.
D. Preserve all the copyright notices of the Document.
E. Add an appropriate copyright notice for your modifications
   adjacent to the other copyright notices.
F. Include, immediately after the copyright notices, a license notice
   giving the public permission to use the Modified Version under the
   terms of this License, in the form shown in the Addendum below.
G. Preserve in that license notice the full lists of Invariant Sections
   and required Cover Texts given in the Document's license notice.
H. Include an unaltered copy of this License.
I. Preserve the section Entitled "History", Preserve its Title, and add
   to it an item stating at least the title, year, new authors, and
   publisher of the Modified Version as given on the Title Page.  If
   there is no section Entitled "History" in the Document, create one
   stating the title, year, authors, and publisher of the Document as
   given on its Title Page, then add an item describing the Modified
   Version as stated in the previous sentence.
J. Preserve the network location, if any, given in the Document for
   public access to a Transparent copy of the Document, and likewise
   the network locations given in the Document for previous versions
   it was based on.  These may be placed in the "History" section.
   You may omit a network location for a work that was published at
   least four years before the Document itself, or if the original
   publisher of the version it refers to gives permission.
K. For any section Entitled "Acknowledgements" or "Dedications",
   Preserve the Title of the section, and preserve in the section all
   the substance and tone of each of the contributor acknowledgements
   and/or dedications given therein.
L. Preserve all the Invariant Sections of the Document,
   unaltered in their text and in their titles.  Section numbers
   or the equivalent are not considered part of the section titles.
M. Delete any section Entitled "Endorsements".  Such a section
   may not be included in the Modified Version.
N. Do not retitle any existing section to be Entitled "Endorsements"
   or to conflict in title with any Invariant Section.
O. Preserve any Warranty Disclaimers.

If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant.  To do this, add their titles to the
list of Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.

You may add a section Entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various
parties--for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.

You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version.  Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or
through arrangements made by) any one entity.  If the Document already
includes a cover text for the same cover, previously added by you or
by arrangement made by the same entity you are acting on behalf of,
you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.

The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.


5. COMBINING DOCUMENTS

You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice, and that you preserve all their Warranty Disclaimers.

The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy.  If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
adding at the end of it, in parentheses, the name of the original
author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.

In the combination, you must combine any sections Entitled "History"
in the various original documents, forming one section Entitled
"History"; likewise combine any sections Entitled "Acknowledgements",
and any sections Entitled "Dedications".  You must delete all sections
Entitled "Endorsements".


6. COLLECTIONS OF DOCUMENTS

You may make a collection consisting of the Document and other documents
released under this License, and replace the individual copies of this
License in the various documents with a single copy that is included in
the collection, provided that you follow the rules of this License for
verbatim copying of each of the documents in all other respects.

You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
License into the extracted document, and follow this License in all
other respects regarding verbatim copying of that document.


7. AGGREGATION WITH INDEPENDENT WORKS

A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, is called an "aggregate" if the copyright
resulting from the compilation is not used to limit the legal rights
of the compilation's users beyond what the individual works permit.
When the Document is included in an aggregate, this License does not
apply to the other works in the aggregate which are not themselves
derivative works of the Document.

If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half of
the entire aggregate, the Document's Cover Texts may be placed on
covers that bracket the Document within the aggregate, or the
electronic equivalent of covers if the Document is in electronic form.
Otherwise they must appear on printed covers that bracket the whole
aggregate.


8. TRANSLATION

Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections.  You may include a
translation of this License, and all the license notices in the
Document, and any Warranty Disclaimers, provided that you also include
the original English version of this License and the original versions
of those notices and disclaimers.  In case of a disagreement between
the translation and the original version of this License or a notice
or disclaimer, the original version will prevail.

If a section in the Document is Entitled "Acknowledgements",
"Dedications", or "History", the requirement (section 4) to Preserve
its Title (section 1) will typically require changing the actual
title.


9. TERMINATION

You may not copy, modify, sublicense, or distribute the Document except
as expressly provided for under this License.  Any other attempt to
copy, modify, sublicense or distribute the Document 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.


10. FUTURE REVISIONS OF THIS LICENSE

The Free Software Foundation may publish new, revised versions
of the GNU Free Documentation 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.  See
http://www.gnu.org/copyleft/.

Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License "or any later version" applies to it, you have the option of
following the terms and conditions either of that specified version or
of any later version that has been published (not as a draft) by the
Free Software Foundation.  If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation.


ADDENDUM: How to use this License for your documents

To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:

    Copyright (c)  YEAR  YOUR NAME.
    Permission is granted to copy, distribute and/or modify this document
    under the terms of the GNU Free Documentation License, Version 1.2
    or any later version published by the Free Software Foundation;
    with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
    A copy of the license is included in the section entitled "GNU
    Free Documentation License".

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
replace the "with...Texts." line with this:

    with the Invariant Sections being LIST THEIR TITLES, with the
    Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.

If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.

If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.
lepton-eda-1.9.10/docs/wiki/geda-download.html0000644000175000017500000003120013634703632016044 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

Download

There are several different methods of installing gEDA. Select your installation method depending upon your Linux distribution and your level of expertise. If one installation method doesn't work for you, please try a different one.

See here for installation notes for individual systems.

There are experimental releases of gEDA for Windows. See the installation notes.

Installing gEDA using your distribution's package manager

If you are using a recent GNU/Linux distribution, this is the preferred method of installing gEDA. For example, on Debian, this is

apt-get update && apt-get install geda pcb gerbv

(typed as root) assuming you want to install gschem and gnetlist, pcb, and gerbv. Or, use your distribution's interactive package manager to select the appropriate packages.

Downloading the compiled gEDA packages for your distribution

(in case you are using an older distribution)

Distribution Packages / Binaries

Linux Distro Installation method Install files Creator/maintainer Comment
SuSE yast RPMs Werner Hoch
Debian apt-get install geda .deb files Hamish Moffatt Download .debs appropriate for the maturity level of your distro (stable, testing, etc.)
Mac OS X fink packages Charles Lepple Instructions provided in the here

Downloading the sources and compiling gEDA yourself

If you want to apply your own patches to gEDA or you just want to use a newer version than included in your distribution, you will have to compile the GEDA sources yourself.

  • The gEDA programs use the GTK+ GUI toolkit. If you are running KDE, you should have no problem building and installing them as long as the GTK+ libraries and headers are installed on your system.
  • gEDA/gaf, as well as the gEDA-allied programs have certain dependencies. These are libraries and other programs which must be present on your system to build and run gEDA successfully. When trying to install gEDA, you may find that you need to install other, seemingly unrelated programs first. If you find you are missing dependencies during the installation process don't despair! Overcoming any dependency issue is a simple matter of installing the required program or library.
Name Notes Tarball Description
gEDA/gaf (stable) README 1.8.2-20130925 Schematic capture, netlister, symbols, symbol checker, and utils
gEDA/gaf (unstable) README 1.9.1-20140308 Schematic capture, netlister, symbols, symbol checker, and utils
PCB Announcement 20140316 Printed Circuit Board layout tool
gerbv Announcement 2.6.0 Gerber file viewer
xgsch2pcb Announcement 0.1.3 Graphical front-end for the gschem → pcb workflow
gnucap devel GPLed mixed-mode/mixed-level circuit simulator
Icarus Verilog Stable snapshots Verilog simulation and synthesis tool
GSpiceUI Homepage GUI Frontend to SPICE
GTKWave Homepage Electronic waveform viewer
gwave Homepage Analog waveform viewer
ngspice Download An improved SPICE

Building the latest development version

For those already familiar with the gEDA/gaf applications and those who need the latest stuff, access to source-code repository is available. This is the latest developer version of the application.

Installation from the Unstable/Testing repository is appropriate for those:

  • Seeking a solution to a specific problem that was submitted to the development team, e.g., to test the “fix†so that the developers can be informed that the “fix†works.
  • With significant working knowledge of the gEDA Tools and quite some knowledge in using and installing from git.

This usually requires access to several existing designs known to work in the current stable release of the gEDA Tools, so that comparisons can be made and issues brought to the attention of the developer/user community (via the mailing lists or the bug tracker).

To clone the gEDA/gaf and pcb repositories using anonymous git access, type

git clone git://git.geda-project.org/geda-gaf.git
git clone git://git.geda-project.org/pcb.git

There is a cgit interface to the repositories of the various projects at git.geda-project.org. To clone a different repository hosted at git.geda-project.org, just substitute the last part of the URL.

See here for how to build gEDA from the git repository.

lepton-eda-1.9.10/docs/wiki/geda-gparts_tc.html0000644000175000017500000000372113634703632016232 00000000000000

gEDA » Development » Parts Manager

Parts Manager

  • User Guide : Using the part manager application.Code Text
lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-editing_actions.html0000644000175000017500000001106413634703632021345 00000000000000

Editing actions

Editing schematics or symbols in gschem is carried out by using editing actions in the main window. There are four ways to trigger an editing action: through one or more keystrokes using the keyboard; via the main menu or toolbar; or via context menus.

Many editing actions operate on the current selection. See Selecting objects.

If you don't like the result of a using an editing action, you can undo it by pressing Ctrl+Z or using Edit→Undo. To restore the results of an action after an undo, press Ctrl+Y or use Edit→Redo.

Keybindings

All editing actions have a keybinding associated with them. A keybinding is triggered by pressing a series of key combinations on the keyboard. For example, the gEDA documentation can be displayed using the keybinding HM: type the H key, followed by the M key.

Sometimes, keybindings include modifier keys. For example, to begin inserting a “bus†into the schematic, the keybinding is Shift+B: type the B key while holding down one of the keyboard's Shift keys.

If you type a key combination, it will be briefly displayed in the status bar, unless it forms the start of a multi-stroke keybinding, in which case it will be displayed in the status bar until you press another key. For example, if you press H, the letter “H†will appear in the status bar. If you then press M to display the manual, the status bar will briefly show “H M†and then go blank.

The “Hotkeys†window (accessible using Help→Hotkeys) displays all of the current keybindings and the actions they are bound to. The keybindings can easily be altered using the configuration files. For more information, see Configuring gschem.

The main menu and toolbars

To use the main menu or toolbars to activate an action, simply click on them with the left mouse button. Note that if you hover the mouse pointer over one of the toolbar buttons, more information on the action will be displayed in a tooltip.

Each entry in the main menu shows the equivalent keybinding. This is a good way of learning which keys to press to do particular actions without using the “Hotkeys†window.

Context menus

If you click in the schematic view area of the main window with the right mouse button, a context menu will pop up. This menu contains a few commonly-used editing actions.

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-pins_nets_buses.html0000644000175000017500000001333313634703632021406 00000000000000

Pins, nets and buses

Connectivity in gEDA schematics and symbols is shown using pins, nets and buses.

  • Pins are used in symbols, and represent either a physical pin on an electronic component, or a logical connection to a subcircuit schematic.
  • Nets are used in schematics. They represent individual wires, and are used to connect together the pins of components.
  • Buses are also used in schematics, and represent “bundles†of multiple nets.

Nets, pins and buses can have attributes attached to them to control how they are interpreted by gnetlist.

Adding and editing pins

Pins have a connectible end, which is highlighted with a colored swatch, and a static end. Nets can only be connected at the highlighted end.

If you are designing a symbol, see also the Symbol Creation Guide.

To begin adding pins, use Add→Pin. Left-click once to position the connectible end of the new pin, and left-click again for the other end. To finish placing pins, right-click.

If you select a pin, handles will appear for each of its endpoints. You can left-click and drag these with the mouse to change the position of the pin's endpoints.

Adding and editing nets

Nets are made up of straight net segments, and net connections are formed either where two net segment ends meet, or where a net segment end meets a net segment midpoint. If two net segments cross, they do not form a connection. A net connection is marked by a circular cue, and a disconnected (or “floatingâ€) net end with a square cue.

To add a net segment, use Add→Net. There are two modes for adding nets: normal mode, and magnetic mode (the default). To switch between them, use Options→Toggle Magnetic Net.

  • In magnetic mode, new nets snap onto nearby connectible points on pins and nets. The target location that the next net point will snap to is highlighted with a circle.
  • In normal mode, new nets snap to the grid like other newly-created objects.

Nets will be added using only combinations of horizontal and vertical segments, unless you hold down the Ctrl key, in which case segments at any angle will be used.

Selected nets can be modified by dragging the handles on their endpoints in the same way as pins.

Adding and editing buses

Since buses are not currently fully supported by gnetlist, buses are commonly used only for documentation purposes.

Like nets, buses are made up of bus segments, follow similar connectivity rules, and can be edited in the same way.

To add buses, use Add→Bus. When adding buses, each new bus segment is constrained to be either horizontal or vertical, unless you hold down the Ctrl key. Buses do not support magnetic mode.

When you connect a net to a bus, a “bus ripper†symbol is automatically inserted. This allows two nets to be attached to the same point on a bus from opposite sides without shorting together.

lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-basic_netlisting.html0000644000175000017500000001346113634703632022111 00000000000000

Basic netlisting

For basic netlisting (such as for relatively simple PCB designs or simulations), there are some simple requirements for the schematics and symbols that you use. These requirements are imposed by the gnetlist frontend, and apply no matter which netlist backend you use. Some backends might have additional requirements not listed on this page.

Many of these requirements are related to the correct use of attributes. For a full list of standard attributes and their meanings, see the Master Attributes List.

Schematics

Schematics must contain only nets, buses, components and graphical elements. A component in a schematic is an instance of a symbol from a symbol library.

Every component that you want to appear in a netlist must have a â€refdes=†attribute attached to it. This should be an alphanumeric string beginning with a letter. The “refdes†is used to identify the component in parts lists, on PCB layouts, and in simulator output.

If two components in the same circuit have the same “refdesâ€, then gnetlist will merge them (i.e. it will treat them as being the same component). This behaviour enables slotting. It also allows you to split complicated components with very many pins across several pages, by using different symbols for different sections of the component.

Nets can be named by attaching a â€netname=†attribute to a net segment. All net segments attached to the segment with the attribute will then share the same name. If two nets in the same circuit have the same “netnameâ€, then gnetlist will treat them as being connected. If two connected nets have different “netname†attributes, then gnetlist will merge all the nets with either of those names together. If a net doesn't have a “netnameâ€, gnetlist will automatically generate one.

gnetlist currently ignores buses and bus pins. You can still use them in your schematic diagrams, but they will not be used for netlist generation.

Symbols

Following the Symbol Creation Guide will help you make symbols that work well with gnetlist.

Symbols must contain only pins, attributes and graphical elements. Symbols should include an unattached â€device=†attribute.

All pins must have â€pinnumber=†and â€pinlabel=†attributes attached. You should normally attach â€pintype=†and â€pinseq=†attributes as well.

Sometimes, you may want gnetlist to ignore a symbol entirely. For example, some people use symbols for non-electrical purposes such as title blocks, or for comment or note markers. To do this, you may use the â€graphical=1†attribute.

There are additional requirements if you want to make use of gnetlist's hierarchy or slotting support.

Attribute promotion

gnetlist supports attribute promotion. When looking for a particular attribute from a component, it will check attributes attached to the symbol first, and then check unattached attributes in the component's underlying symbol. This lets you provide default values for commonly-used attributes when designing a symbol, while still being able to override them while preparing the design.

lepton-eda-1.9.10/docs/wiki/geda-gerbv_mp.ru.html0000644000175000017500000004376113634703632016502 00000000000000

 

ÐÐЗВÐÐИЕ

gerbv — проÑмотр Gerber-файлов  

ОБЗОР

gerbv [ПÐРÐМЕТРЫ] [gerber-файл[Ñ‹]]  

ОПИСÐÐИЕ

gerbv — Ñто программа Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра файлов RS274-X, более извеÑтных как Gerber. Файлы RS274-X ÑоздаютÑÑ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ программами автоматизированного Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ñ‹Ñ… плат и иÑпользуютÑÑ Ð¿Ñ€Ð¸ их изготовлении на производÑтве. gerbv также поддерживает файлы Ñверловки Excellon/NC drill и файлы раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ (координаты центров Ñлементов), Ñоздаваемые программой PCB (http://pcb.geda-project.org/).

 

ПÐРÐМЕТРЫ

Внимание! Ðа некоторых платформах, не имеющих поддержку длинных параметров, доÑтупны только короткие параметры.

 

Общие параметры gerbv:

-V|--version ВывеÑти верÑию gerbv и выйти.
-h|--help
ВывеÑти краткое руководÑтво и выйти.
-b<hex>|--background=<hex>
Задать цвет фона <hex>. Код цвета <hex> должен быть указан как в HTML, например, #FF0000 Ð´Ð»Ñ ÐºÑ€Ð°Ñного.
-f<hex>|--foreground=<hex>
Задать цвет Ñлементов <hex>. Код цвета <hex> должен быть указан как в HTML, например, #00FF00 Ð´Ð»Ñ Ð·ÐµÐ»Ñ‘Ð½Ð¾Ð³Ð¾. ПрозрачноÑть (при отображении ÑредÑтвами Cairo) указываетÑÑ Ð² виде кода #RRGGBBAA (A — alpha). Ð”Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ñ†Ð²ÐµÑ‚Ð° неÑкольких Ñлоёв иÑпользуйте флаг -f неÑколько раз.
-l <имÑ-файла>|--log=<имÑ-файла>
ЗапиÑывать вÑе ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ð± ошибках в файл <имÑ-файла>.
-t <имÑ-файла>|--tools=<имÑ-файла>
Прочитать инÑтрументы Excellon из файла <имÑ-файла>.
-p <имÑ-файла Ð¿Ñ€Ð¾ÐµÐºÑ‚а>|--project=<имÑ-файла Ð¿Ñ€Ð¾ÐµÐºÑ‚а>
Загрузить проект. Заметьте, что файл проекта должен находитьÑÑ Ð² том же каталоге, что и файлы Gerber.

 

Параметры ÑкÑпорта gerbv:

Следующие команды иÑпользуютÑÑ Ð²Ð¼ÐµÑте Ñ Ñ„Ð»Ð°Ð³Ð¾Ð¼ -x:
-B<b>|--Border=<b> УÑтановить рамку вокруг Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð¼ <b> процентов от ширины и выÑоты. По умолчанию, <b> равно 5%.
-D<XxY>или<R>|--dpi=<XxY>или<R>
Разрешение (в точках на дюйм, DPI) выводимого bitmap-изображениÑ. Ð”Ð»Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾ ширине и выÑоте иÑпользуйте <XxY> (только при Ñборке Ñ Cairo). ИÑпользуйте <R> Ð´Ð»Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾ двум измерениÑм. По умолчанию, <R> равно 72 DPI.
-T<X,Y>|--translate=<X,Y>
ПеремеÑтить изображение на раÑÑтоÑние <X,Y>. Ð”Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð½ÐµÑкольких Ñлоёв иÑпользуйте флаг -T неÑколько раз.
-O<XxY>|--origin=<XxY>
УÑтановить координаты <XxY> левого нижнего угла ÑкÑпортируемого изображениÑ. Значение в дюймах.
-a|--antialias
ИÑпользовать антиалиаÑинг Ð´Ð»Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ bitmap-файла.
-o <имÑ-файла>|--output=<имÑ-файла>
ЭкÑпортировать в файл <имÑ-файла>.
-W<ШxВ>|--window_inch=<ШxВ>
Размер окна в дюймах <ШxÐ’> Ð´Ð»Ñ ÑкÑпортируемого изображениÑ.
-w<ШxВ>|--window=<ШxВ>
Размер окна <ШxÐ’> в пикÑелÑÑ… ÑкÑпортируемого изображениÑ. ЕÑли разрешение не указано, то выполнÑетÑÑ Ð¼Ð°Ñштабирование (заметьте, что в Ñтом Ñлучае разрешение по умолчанию 72 DPI также изменÑетÑÑ). ЕÑли разрешение указано, то изображение обрезаетÑÑ.
-x<png/pdf/ps/svg/rs274x/drill>|--export=<png/pdf/ps/svg/rs274x/drill>
ЭкÑпортировать в файл и уÑтановить формат выходного файла.

 

Параметры GTK

--gtk-module=МОДУЛЬ Загрузить дополнительный модуль GTK
--g-fatal-warnings
Сделать вÑе Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ñ„Ð°Ñ‚Ð°Ð»ÑŒÐ½Ñ‹Ð¼Ð¸
--gtk-debug=ФЛÐГИ
УÑтановить флаги отладки GTK
--gtk-no-debug=ФЛÐГИ
СнÑть флаги отладки GTK
--gdk-debug=ФЛÐГИ
УÑтановить флаги отладки GDK
--gdk-no-debug=ФЛÐГИ
СнÑть флаги отладки GDK
--display=ДИСПЛЕЙ
ИÑпользовать X-диÑплей
--sync
Сделать Ñинхронными X-вызовы
--no-xshm
Ðе иÑпользовать раÑширение разделÑемой памÑти X
--name=ÐÐЗВÐÐИЕ
Ðазвание программы иÑпользуемое оконным менеджером
--class=КЛÐСС
КлаÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹ иÑпользуемый оконным менеджером

 

ОБЩИЕ ЗÐМЕЧÐÐИЯ

Ð’Ñ‹ можете указать в командной Ñтроке файлы Ð´Ð»Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð² gerbv при запуÑке: или вÑе файлы разделённые пробелами, или применÑÑ Ð² названии файлов шаблоны.

Gerbv иÑпользует графичеÑкий пользовательÑкий интерфейÑ. Ð”Ð»Ñ Ð¿Ñ€Ð¾ÐºÑ€ÑƒÑ‚ÐºÐ¸ перемещайте мышь ÑƒÐ´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ Ñреднюю кнопку (колеÑо прокрутки) или иÑпользуйте инÑтрумент Прокрутка. Ð”Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑвойÑтв ÑÐ»Ð¾Ñ Ð²Ñ‹Ð±ÐµÑ€Ð¸Ñ‚Ðµ название ÑÐ»Ð¾Ñ Ð¸ откройте контекÑтное меню правой кнопкой мыши, через которое можно изменить цвет ÑлоÑ, перезагрузить Ñлой и Ñ‚.д.

При удержании курÑора мыши над названием ÑÐ»Ð¾Ñ Ð¿Ð¾ÑвитÑÑ Ð²ÑÐ¿Ð»Ñ‹Ð²Ð°ÑŽÑ‰Ð°Ñ Ð¿Ð¾Ð´Ñказка Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ файла, который ÑоответÑтвует Ñтому Ñлою.

 

ВКЛЮЧЕÐИЕ И ВЫКЛЮЧЕÐИЕ СЛОÐÐ’

ÐеÑколько файлов могут быть загружены одновременно. Отображение Ñлоёв выключаетÑÑ Ð¸ включаетÑÑ Ð³Ð°Ð»Ð¾Ñ‡ÐºÐ¾Ð¹ Ñ€Ñдом Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ ÑлоÑ.

Отображением Ñлоёв можно управлÑть Ñ ÐºÐ»Ð°Ð²Ð¸Ð°Ñ‚ÑƒÑ€Ñ‹. Ð£Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ Ctrl, нажмите номер ÑÐ»Ð¾Ñ Ð½Ð° клавиатуре и отпуÑтите Ctrl.

 

МÐСШТÐБИРОВÐÐИЕ

МаÑштабирование может быть выполнено через меню, клавиатуру или колеÑо мыши. Ð”Ð»Ñ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð°Ð¶Ð¼Ð¸Ñ‚Ðµ клавишу z и Shift+z (Ñ‚.е. Z) Ð´Ð»Ñ ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ. КолеÑо прокрутки мыши также иÑпользуетÑÑ Ð´Ð»Ñ Ð¼Ð°ÑштабированиÑ. Ð”Ð»Ñ Ð¼Ð°Ñштаба наилучшего Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½Ð°Ð¶Ð¼Ð¸Ñ‚Ðµ клавишу f или иÑпользуйте меню. ЕÑли выбраны инÑтрументы Прокрутка, МаÑштаб или Измерение, то Ð´Ð»Ñ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ иÑпользовать правую кнопку мыши, а Ð´Ð»Ñ ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ Ð¿Ñ€Ð°Ð²ÑƒÑŽ кнопку мыши Ñ ÑƒÐ´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð¾Ð¹ клавишей Shift.

Ð”Ð»Ñ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ð¾Ð¼ выберите инÑтрумент МаÑштаб, нажмите кнопку мыши и, ÑƒÐ´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ ÐµÑ‘, укажите контур. ÐŸÑƒÐ½ÐºÑ‚Ð¸Ñ€Ð½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶Ð°ÐµÑ‚ завиÑимоÑть маÑÑˆÑ‚Ð°Ð±Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ñ‚ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¾ÐºÐ½Ð°. Ð¡Ð¿Ð»Ð¾ÑˆÐ½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ ÑоответÑтвует указанному контуру. Отменить указание контура можно клавишей Esc. Ð”Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ð° отноÑительно цента, удерживайте нажатой клавишу Shift.

 

ИЗМЕРЕÐИЕ

Ð”Ð»Ñ Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ Ñлементов Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÑÐ»Ð¾Ñ Ð²Ñ‹Ð±ÐµÑ€Ð¸Ñ‚Ðµ инÑтрумент Измерение (курÑор изменитÑÑ Ð½Ð° перекреÑтие), нажмите левую кнопку мыши Ð´Ð»Ñ Ñ‚Ð¾Ñ‡ÐºÐ¸ начала Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ Ð¸, ÑƒÐ´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ ÐµÑ‘, укажите точку Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ. Результат в выбранных единицах Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶Ð°ÐµÑ‚ÑÑ Ð² Ñтроке ÑтатуÑа. Ð›Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶Ð°ÐµÑ‚ÑÑ Ð´Ð¾ тех пор, пока не выбран другой инÑтрумент.

Текущие координаты ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð¼Ñ‹ÑˆÐ¸ (ÑоответÑтвующие координатам в файле) отображаютÑÑ Ð² Ñтроке ÑтатуÑа в выбранных единицах измерениÑ. Т.е. еÑли центр Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Gerber-файла имеет координаты (0; 0), то в Ñтом меÑте Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÑÐ»Ð¾Ñ Ð² Ñтроке ÑтатуÑа будут отображены координаты (0; 0).

 

ÐÐЛОЖЕÐИЕ

ЕÑли открыто неÑколько файлов, вы можете отображать Ñлои "один поверх другого", Ñ‚.е. наложением. По умолчанию верхний Ñлой закрывает Ñобой нижние Ñлои.

Также можно выбрать отображение иÑключающим ИЛИ (XOR) или инвертированным из контекÑтного меню ÑлоÑ.

 

ПРОЕКТЫ

gerbv может работать Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð°Ð¼Ð¸. Файл проекта ÑоÑтоит из ÑпиÑка Ñлоёв, их цвета и цвета фона. Ð”Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° проекта, откройте желаемые файлы, организуйте порÑдок Ñлоёв, задайте их цвет и выберите пункт меню "Сохранить проект как..."

Загрузить проект можно через меню или параметром командной Ñтроки -p или --project.

Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ ÑущеÑтвует ограничение: файл проекта должен раÑполагатьÑÑ Ð² том же каталоге, что и загружаемые gerber-файлы.

 

SCHEME

Файл проекта Ñто Ñценарий Scheme, обрабатываемый вÑтроенным Scheme-интерпретатором TinyScheme. Ð”Ð»Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ TinyScheme необходим файл init.scm, поиÑк раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ выполнÑетÑÑ Ð² Ñледующей поÑледовательноÑти: /usr/local/share/gerbv/scheme, каталог иÑполнÑемого файла gerbv, каталог запуÑка gerbv, значение переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ GERBV_SCHEMEINIT.

 

ФÐЙЛ ИÐСТРУМЕÐТОВ

Ðе вÑе файлы Excellon ÑамодоÑтаточны. Ðекоторые программы автоматизированного Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñоздают файлы ".drd" Ñодержащие только обозначение инÑтрументов, а не их определение (Ñ‚.е. не указывают их диаметр). Eagle — одна из таких программ, но еÑть и другие, поÑтому многие производители печатных плат требуют файлы инÑтрументов.

Файл инÑтрументов — Ñто обычный текÑтовый файл, который можно Ñоздать в текÑтовом редакторе. ÐšÐ°Ð¶Ð´Ð°Ñ Ñтрока файла опиÑывает один инÑтрумент (название и диаметр в дюймах):

        T01 0.024
        T02 0.040
        ...

Это те же инÑтрументы (T01 и Ñ‚.д.), которые иÑпользуютÑÑ Ð² файле Ñверловки. ÐžÐ±Ñ‹Ñ‡Ð½Ð°Ñ Ð¿Ñ€Ð°ÐºÑ‚Ð¸ÐºÐ° в Eagle — Ñоздавать пуÑтой файл инÑтрументов, запуÑкать CAM-обработчик и по ÑообщениÑм об ошибках выÑÑнÑть какие инÑтрументы "отÑутÑтвуют". Затем Ñти инÑтрументы добавлÑÑŽÑ‚ÑÑ Ð² файл и CAM-процеÑÑор запуÑкаетÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾.

Ð”Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ файла инÑтрументов иÑпользуйте флаг командной Ñтроки -t или --tools. Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° может быть любым (Eagle предполагает раÑширение ".drl" Ð´Ð»Ñ Ñ‚Ð°ÐºÐ¸Ñ… файлов). Ðекоторые производители печатных плат до Ñих пор иÑпользуют программное обеÑпечение из Ñры DOS, что может накладывать ограничение 8.3 на длину имён файлов.

При чтении файла инÑтрументов gerbv проверÑет отÑутÑтвие повторÑющихÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ð¹ инÑтрументов. Это может ÑлучитьÑÑ Ð¿Ñ€Ð¸ редактировании файла инÑтрументов вручную. ПовторÑющиеÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ð½Ñтрументов — ÑÐµÑ€ÑŒÑ‘Ð·Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ñ€Ð¸Ð¾Ñтановит производÑтво вашей печатной платы до иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° инÑтрументов и, возможно, файла Ñверловки Excellon. При обнаружении повторÑющихÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ð¹ инÑтрументов gerbv немедленно Ñообщает об ошибке и завершает работу.

ЕÑли файл Excellon не Ñодержит Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ð½Ñтрументов, то gerbv уÑтановит диаметр инÑтрументов по номеру инÑтрумента. ВероÑтно, Ñто не то, что вы хотите, поÑтому будет выведено предупреждение.

 

ОКРУЖЕÐИЕ

GERBV_SCHEMEINIT
Задаёт раÑположение файла init.scm, иÑпользуемого Scheme-интерпретатором Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° проекта.

 

ÐВТОРЫ

Stefan Petersen (spetm at users.sourceforge.net):
        общее программирование и ведение проекта
Andreas Andersson (e92_aan at e.kth.se):
        поддержка файла Ñверловки и общее программирование
Anders Eriksson (aenfaldor at users.sourceforge.net):
        идеи X и GTK+ и программирование

 

COPYRIGHT

Copyright ©  2001—2008 Stefan Petersen

Данный документ может Ñвободно раÑпроÑтранÑтьÑÑ Ð² ÑоответÑтвии Ñ
требованиÑми GNU УниверÑальной общеÑтвенной лицензии (GPL) верÑии 2.0

lepton-eda-1.9.10/docs/wiki/geda-usage.fr.html0000644000175000017500000004112313634703632015754 00000000000000

Autres langues: English РуÑÑкий

Quelle est la meilleure manière d'apprendre à utiliser gEDA?

La première chose à faire est de lire et comprendre l'excellent gschem -> gsch2pcb -> PCB tutoriel de Bill Wilson. Cela devrait vous permettre de débuter.

Allez aussi voir les autres documentations gEDA disponible sur ce site.

Néanmoins, peut être que la meilleure voie pour apprendre la suite gEDA est de le télécharger et de l'essayer vous-même! Si vous consultez le tutoriel de Bill Wilson en essayant la Suite pour vous-même, vous deviendrez un expert en peu de temps!

À quoi ressemble de le flux de conception de gEDA?

Vous avez ici un schéma de synthèse pour un flux de création de PCB en utilisant la Suite gEDA:

design_flow.jpg

Mis en mots, le flux de conception pour un PCB simple se fait de la manière suivante:

  1. Créez vos schémas en utilisant « gschem ».
  2. Contrôlez vos schémas avec le vérificateur de DRC. Vous pouvez apprendre à le maîtriser ici.
  3. Assigner des références à vos composants en utilisant « grenum » ou « refdes_renum » (ou simplement les attacher depuis « gschem »).
  4. Assignez d'autres attributs de composants (tels que des empreintes) en utilisant « gattrib » (ou attachez les simplement manuellement en utilisant « gschem »).
  5. Créez un fichier préliminaire de synthèse et faites une netlist en utilisant « gsch2pcb ».
  6. Disposez les composants et routez les connexions de votre carte en utilisant « pcb ».
  7. Sortez les Gerbers depuis « pcb » en utilisant « File →Print layout » et sélectionnez « Gerber/RS274X » comme type de fichier de sortie.

Si vous faites des changements ou des ajouts à votre schéma ou des attributs, mettez votre fichier PCB comme ceci:

  1. Éditez votre schéma et/ou les attributs (« gschem » ou « gattrib »).
  2. Contrôlez votre schéma avec le contrôleur de DRC. Vous pouvez apprendre à le maîtriser ici.
  3. Annotez directement vos changements en utilisant « gsch2pcb ».
  4. Depuis « pcb », mettez à jour vos composants en utilisant « File →Load layout data to paste buffer » puis cliquez sur la zone de dessin pour placer les composants.
  5. Depuis « pcb », mettez à jour votre netlist en utilisant « File →Load netlist file ».

Habituellement, les utilisateurs invoquent les outils individuels depuis la ligne de commande. Un gestionnaire de projet (« geda ») existe mais a besoin d'être amélioré.

Quelles sont les limitations pour les outils gEDA?

La chose la plus importante à garder en mémoire à propos des limitations de gEDA est ceci: GEDA est un projet de logiciel open-source. Il possède quelques limitations mais contrairement à celles des logiciels commerciaux, ses limitations ne sont pas artificielles, arbitraires ou pilotées par le marketing. Ceci étant, gEDA n'est ni un nagware, ni un crippleware, ni un demoware, ni une « version étudiante limitée ». Toutes les limitations des outils gEDA existent car les programmeurs n'ont pas encore implementé ces fonctionnalités particulières. Comme le code est ouvert à tous pour la modification, tout le monde est le bienvenu s'il veut implémenter de nouvelles fonctionnalités ou supprimer des limitations puis de soumettre leurs patches au projet. Si vous êtes un hacker et que vous êtes intéressés pour une contribution au projet gEDA, veuillez considérer effacer une des limitations listée ci-dessous! Vous vous ferez un tas d'amis et gagnerez une notoriété internationale!

  • Le support hiérarchique de bus: Le support pour les bus hiérarchiques n'existe pas encore.
  • Les attributs de nets et de broches dans gattrib: L'attachement des attributs de routage pour les nets et les broches dans gattrib reste à faire. (Les attributs de net sont utiles pour les schémas à haute vitesse. Par exemple, il est souvent important que toutes les pistes d'un bus aient la même longueur électrique. Malheureusement, il n'est pas certain que PCB supprte actuellement ces attributs de routage.)
  • La rétro-annotation depuis PCB vers gschem. Le support pour la permutation de broche et les modifications du fichier de conception de pcb avec les rétro-annotations induites vers gschem reste à faire.
  • Le gestionnaire de projet « geda » est obsolète et nécessite une mise à jour.
  • Le nombre de couches dans PCB: Actuellement, le nombre de couche de PCB est limité à 8 (ce qui est plus que adéquat pour les projets de petite et moyenne taille). Les développeurs de PCB travaillent sur l'augmentation du nombre de couches vers un nombre indéfini mais ce n'est pas encore fait. Contactez-les directement si vous êtes intéressés par ce projet.

Quels fichiers de configuration locaux sont utilisés pour un projet?

Une conception typique de PCB nécessite les fichiers de config suivants dans votre répertoire local:

  • gafrc: il contient les infos de configuration pour les programmes gEDA/gaf (i.e. gschem, gattrib, gnetlist, etc.). Il doit contenir des pointeurs de votre répertoire de symbole local (si vous en avez).
  • attribs: si vous utilisez « gnetlist -g bom2 » pour créer un projet BOM (« Bill Of Material »: liste des éléments) puis vous avez besoin de ce fichier de manière à spéficier quels attributs sont écrits dans la BOM.
  • projectrc: lorsque vous faites un pcb, « gsch2pcb projectrc » est une manière pratique de spécifier les chemins aux répertoires locaux d'empreintes, de même que les autres informations de configuration pour « gsch2pcb ». Notez que ce ficheir peut avoir tout nom que vous lui choisissez; j'aime utiliser projectrc comme son nom est suggestif de sa fonction.

Des informations plus détaillées à propos de chaque fichier de configuration est fourni dans la documentation pour chaque élément.

Quels sont les noms et les emplacements des fichiers RC utilisés avec les applications gEDA/gaf?

Les diverses applications gEDA/gaf (gschem, gattrib, gnetlist, etc.) utilisent un jeu de fichiers RC pour initialiser différentes options configurables dans les outils eux-mêmes. Ces fichiers RC sont lus par chaque application lors de leur démarrage. Philosophiquement, il existe trois endroits où une application gEDA/gaf va chercher des fichiers RC:

  • Dans le répertoire d'installation du système: ${prefix}/share/gEDA/. Cet endroit contient les fichiers RC globaux du système et à tous les utilisateurs. Ces fichiers RC doivent être trouvés et chargés avec succès pour que les applications gEDA fonctionnent correctement. ${prefix} est initialisé avec le chemin où gEDA/gaf est installé.
  • Dans le répertoire utilisateur: $HOME/.gEDA/. Cet endroit garde les fichiers RC qui s'appliquent à tous les projets d'utilisateurs. .gEDA est un répertoire. Ces fichiers sont optionels. Ne faites pas que placer une copie du system-gschemrc (ou un autre) dans ce répertoire; ceci ne fonctionnera pas correctement. La bonne chose à faire est de dépasser les choses spécifiques que vous voulez changer.
  • Dans le répertoire local du projet. Cet endroit contient les fichiers RC qui s'appliquent au projet local (placé dans ce même répertoire). Ces fichiers RC fournissent des dépassements spécifiques, tels que des bibliothèques de composants ou de sources. Ce fichier est aussi optionel. Ne faites pas que placer une copie de system-gschemrc (ou un autre) dans ce répertoire; il ne fonctionnera pas correctement.

Le système de fichier RC a évolué au fil du temps. Originellement, chaque application gEDA/gaf a utilisé ses propres fichiers RC (par exemple, gschem utilise gschemrc, gnetlist utilise gnetlistrc et ainsi de suite). Nénmoins, avec l'augmentation du nombre des applications gEDA/gaf, il est devenu clair que les fichiers RC individuels contenaient un lot d'informations redondantes et que les nouveaux utilisateurs étaient perturbés par les différents fichiers RC. C'est la raison pour laquelle les différents fichiers RC ont été compactés en un seul fichier, appelé « gafrc ». Néanmoins, comme gschem a besoin de tous les types de personalisations spéciaux, nous avons décidé de garder le gschemrc système en plus de tous les fichiers gafrc. Aussi, de manière à préserver une compatibilité arrière, l'ancien fichier RC système est encore maintenu dans le répertoire système. En conséquence, le fichier de configuration RC actuel ressemble à ceci:

  • Dans le répertoire d'installation du système:
    • system-gafrc – Il contient la plupart des initialisations globales de gaf.
    • system-gattribrc
    • system-gnetlistrc
    • system-gschemrc – Il contient de nombreuses configurations spécifiques à gschem
    • system-gschlasrc
    • system-gsymcheckrc
  • Dans le répertoire ${HOME} de l'utilisateur:
    • .gEDA/gafrc
  • Dans le répertoire local du projet:
    • gafrc – Il devrait contenir les dépassements locaux, tels que les pointeurs vers les symboles localement définis.

Les définitions de couleurs gschem-darkbg ou gschem-lightbg sont aussi chargées par le system-gschemrc.

Finalement, notez que les applications gEDA/gaf recherchent jusqu'à six fichiers de configuration au démarrage:

  1. system-gafrc
  2. system-gschemrc (ou un autre)
  3. ${HOME}/.geda/gafrc
  4. ${HOME}/.geda/gschemrc (ou un autre)
  5. ./gafrc
  6. ./gschemrc (ou un autre)

Si vous obtenez un avertissement comme quoi votre application ne peut pas trouver l'un ou l'autre de ces fichiers, ne vous inquiétez pas. La plupart d'entre eux sont optionels. Les seuls fichiers nécessaires sont les fichiers RC systèmes.

Qu'en est-il du gestionnaire de projet?

Les composants individuels dans la suite de conception de gEDA ne forment pas un projet de bout en bout. A la place, ils traitent leurs propres fichiers (i.e. « gschem » → .sch, « pcb » → .pcb). Néanmoins, il existe un gestionnaire de projet appelé « geda », que vous pouvez invoquer depuis le ligne de commande. Son but est de vous faciliter la gestion de votre idée comme un tout depuis le concept, en passant par la saisie de schéma, l'attachement d'attributs, le placement, la génération de BOM, ainsi de suite.

Malheureusement, le développement de « geda » n'a pas suivi le reste de gEDA/gaf. En particulier, « geda » n'utilise pas les derniers outils ou méthodes pour réaliser les tâches individuelles. C'est la raison pour laquelle nous recommandons aux utilisateurs d'utiliser les outils individuels (i.e. gschem, gattrib, gnetlist, gsch2pcb, etc) depuis la ligne de commande. C'est pourquoi, si vous êtes un hacker à la recherche d'un petit projet à adopter, améliorer « geda » serait une belle introduction à la Suite gEDA et vous vous feriez un tas d'amis en le faisant!

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-main_window.html0000644000175000017500000000473013634703632020517 00000000000000

The main window

This page contains images that need updating to match the latest version of gschem.

When gschem is started, the main window is shown.

Screenshot of gschem main window

The window has four main elements. Working from top to bottom, these are:

  1. The menu bar, where all built-in file and editing actions are available.
  2. The toolbar, which gives quick access to the most commonly needed actions.
  3. The schematic view area.
  4. The status bar. Working from left to right, the status bar shows: the current bindings for the left, middle and right mouse buttons; the grid settings; the current keystroke sequence (this will be initially blank); and the current editing mode.
lepton-eda-1.9.10/docs/wiki/geda-example_hsm.ru.html0000644000175000017500000001776713634703632017212 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

ИерархичеÑÐºÐ°Ñ SPICE-модель

Пример иерархичеÑкой аналоговой выÑокочаÑтотной SPICE-модели раÑположен в каталоге
${prefix}/share/doc/geda-gaf/examples/RF_Amp,
где ${prefix} — уÑтановочный Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð´Ð»Ñ gEDA в вашей ÑиÑтеме (обычно /usr или /usr/local).

Этот файл README Ñоздан 31.03.2003

--------------------- Содержимое каталогов -----------------------

Этот каталог Ñодержит Ñхемы и другие материалы Ð´Ð»Ñ SPICE-модели биполÑрного
УВЧ компании Agilent MSA-2643. Модель получена из Ñпецификации Agilent
5980-2396E. Структура каталогов ÑледующаÑ:

RF_Amp (оÑновной каталог)

MSA-2643.sch -- Ñхема Ñодержимого корпуÑа уÑтройÑтва (в ÑоответÑтвии
  Ñо Ñ. 7 Ñпецификации). Обратите внимание, что Ñ Ð½Ðµ включил в Ñту
  Ñхему линии передачи, так как их Ð¸Ð¼Ð¿ÐµÐ´Ð°Ð½Ñ Ð½Ðµ был указан в
  Ñпецификации. (Да, Ñкорее вÑего он равен 50 Ом, но его включение
  было мелочью по Ñравнению Ñ Ð¼Ð¾ÐµÐ¹ оÑновной целью -- поÑтроить
  иерархичеÑкую модель выÑокочаÑтотной Ñхемы.)
MSA-2643.cir -- готовый Ð´Ð»Ñ SPICE-Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑпиÑок Ñоединений
  Ñхемы.

Q1.sch -- Ð¿Ñ€Ð¸Ð½Ñ†Ð¸Ð¿Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ñхема модели транзиÑтора Q1 (MSA-26),
  предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð½Ð° Ñ. 8 Ñпецификации
Q1.cir -- ÑпиÑок Ñоединений, Ñодержащий модель .SUBCKT Ð´Ð»Ñ Q1.

Q2.sch -- Ð¿Ñ€Ð¸Ð½Ñ†Ð¸Ð¿Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ñхема модели транзиÑтора Q2 (MSA-26),
  предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð½Ð° Ñ. 8 Ñпецификации
Q2.cir -- ÑпиÑок Ñоединений, Ñодержащий модель .SUBCKT Ð´Ð»Ñ Q2.

README -- данный файл.

Simulation.cmd -- файл, Ñодержащий команды SPICE-анализа, который читаетÑÑ Ð²
процеÑÑе Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹ SPICE-моделированиÑ.

5980-2396E.pdf -- Ð¡Ð¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Agilent Ð´Ð»Ñ MSA-2643.


./model/

BJTM1_Q1.mod -- SPICE-модель BJT1 в текÑтовом формате, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ð°Ñ Ð²
  .SUBCKT Ð´Ð»Ñ Q1
DiodeM1_Q1.mod -- SPICE-модель диода M1 в текÑтовом формате,
  иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ð°Ñ Ð² .SUBCKT Ð´Ð»Ñ Q1
DiodeM2_Q1.mod -- SPICE-модель диода M2, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ð°Ñ Ð² .SUBCKT Ð´Ð»Ñ Q1
DiodeM3_Q1.mod -- SPICE-модель диода M3, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ð°Ñ Ð² .SUBCKT Ð´Ð»Ñ Q1
(такие же файлы Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ Ñлементов Q2...)
Данные модели Ñделаны по параметрам, указанным на Ñ. 8 Ñпецификации.

./sym/

BJT_Model.sym
spice-subcircuit-IO-1.sym
spice-subcircuit-LL-1.sym
Q_Model.sym -- Ñимвол, ÑÑылающийÑÑ Ð½Ð° низкоуровневые модели,
и помещаемый в оÑновную Ñхему.

------------ ИÑпользование иерархичеÑких SPICE-моделей ---------------------
ÐаÑтоÑщий проект Ñлужит примером оÑущеÑÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ Ð² gEDA SPICE-моделированиÑ
Ð´Ð»Ñ Ð¸ÐµÑ€Ð°Ñ€Ñ…Ð¸Ñ‡ÐµÑкой модели. Проект ÑтроитÑÑ Ñледующим образом:

1.  Создайте в текÑтовом редакторе файлы .mod, Ñодержащие SPICE-модели
транзиÑторов и диодов, указанные на Ñ. 8 Ñпецификации.

2.  Ð’ gschem начертите Ñхемы моделей транзиÑторов Q1 и Q2. ПомеÑтите в
Ñхему SPICE-блок .SUBCKT Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ñƒ ÑпиÑка Ñоединений,
что Ñта Ñхема ÑвлÑетÑÑ Ð¿Ð¾Ð´Ñхемой .SUBCKT, предназначенной длÑ
Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð² другие Ñхемы. Добавьте в Ñхему Ñимволы spice-IO длÑ
ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´Ð¾Ð²-выходов. ОбÑзательно пронумеруйте Ñимволы spice-IO в
том же порÑдке, в котором они должны поÑвлÑтьÑÑ Ð² Ñтроке .SUBCKT файла
.cir.

3.  Создайте ÑпиÑок Ñоединений .SUBCKT, Ñказав:

gnetlist -g spice-sdb -o Q1.cir Q1.sch
gnetlist -g spice-sdb -o Q2.cir Q2.sch

4.  Создайте Ñимвол Ð´Ð»Ñ Q1.cir и Q2.cir Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ в оÑновную
Ñхему. Ðазовите Ñтот Ñимвол Q_Model.sym. УÑтановите значение атрибута
«device» Ñимвола в NPN_TRANSISTOR_subcircuit. Это заÑтавит генератор
ÑпиÑка Ñоединений Ð´Ð»Ñ Ð²Ñ‹Ð´Ð°Ñ‡Ð¸ Ñтроки SPICE Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð° иÑпользовать
«write-default-component». УбедитеÑÑŒ, что атрибут «refdes» уÑтановлен
в X?, а не в Q? -- Ñто позволит прикрепить к уÑтройÑтву файл .SUBCKT.

5.  Создайте оÑновную Ñхему MSA-2643.sch. Добавьте в неё две копии
Q_Model.sym, ÑоответÑтвенно Ð´Ð»Ñ Q1 и Q2.  Чтобы Q1 указывал на Ñвою
модель, уÑтановите Ñледующие атрибуты:

model-name: Q1_MSA26F
file: Q1.cir

То же Ñамое Ñделайте Ð´Ð»Ñ Q2.

6.  Ðачертите оÑтальную чаÑть оÑновной Ñхемы обычным ÑпоÑобом. Ðе
забудьте добавить в Ñхему блок spice-include и Ñделать так, чтобы он
указывал на «Simulation.cmd». Добавьте в файл «Simulation.cmd»
какие-нибудь команды анализа (например, .DC, .AC, .TRAN и т. д.).

7.  Создайте ÑпиÑок Ñоединений Ð´Ð»Ñ Ð¾Ñновной Ñхемы проекта:

gnetlist -g spice-sdb -o MSA-2643.cir MSA-2643.sch

8.  Моделирование Ð´Ð»Ñ Ñхемы можно произвеÑти в любой желаемой
программе Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ анализа SPICE, например в LTSpice.

-------------------- Contact ----------------------------
Ð”Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð¸ другие материалы, отноÑÑщиеÑÑ Ðº SPICE-моделированию в gEDA,
находÑÑ‚ÑÑ Ð½Ð° Ñтранице http://www.brorson.com/gEDA/SPICE

С вопроÑами и отчётами об ошибках обращайтеÑÑŒ ко мне:

Stuart Brorson
mailto:sdb@cloud9.net
lepton-eda-1.9.10/docs/wiki/style.css0000644000175000017500000000226513634703632014334 00000000000000div.clearer {clear: both; line-height: 0; height: 0;} div.error{ background: #ff6666 url(images/error.png) 0.5em 0px no-repeat; font-size: 90%; margin: 0px; padding-left: 3em; } div.info{ background: #ffff66 url(images/info.png) 0.5em 0px no-repeat; font-size: 90%; margin: 0; padding-left: 3em; } div.success{ background: #66ff66 url(images/thumbup.gif) 0.5em 0px no-repeat; font-size: 90%; margin: 0; padding-left: 3em; } /* syntax highlighting code */ .code .br0 { color: #66cc66; } .code .co1 { color: #808080; font-style: italic; } .code .co2 { color: #808080; font-style: italic; } .code .coMULTI { color: #808080; font-style: italic; } .code .es0 { color: #000099; font-weight: bold; } .code .kw1 { color: #b1b100; } .code .kw2 { color: #000000; font-weight: bold; } .code .kw3 { color: #000066; } .code .kw4 { color: #993333; } .code .kw5 { color: #0000ff; } .code .me0 { color: #006600; } .code .nu0 { color: #cc66cc; } .code .re0 { color: #0000ff; } .code .re1 { color: #0000ff; } .code .re2 { color: #0000ff; } .code .re4 { color: #009999; } .code .sc0 { color: #00bbdd; } .code .sc1 { color: #ddbb00; } .code .sc2 { color: #009900; } .code .st0 { color: #ff0000; } lepton-eda-1.9.10/docs/wiki/geda-fc2.html0000644000175000017500000000316313634703632014716 00000000000000

Installer 2005080X on Fedora Core 2 install notes

Prerequisites:

When you install FC2, make sure you install the “workstation†version, and not the “desktop†version. (You are presented with this choice when you first install the distribution off of the distribution media.) The “workstation†version includes important header files and other tools which are necessary to build many components of the gEDA Suite using the installer.

Problems:

The installer has been thoroughly tested on this platform. No problems are known, and none have been reported.

lepton-eda-1.9.10/docs/wiki/pcb-projects.html0000644000175000017500000001442713634703632015746 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий

PCB Layout Editor

Plow feature

A “plow†feature where the line tool shoves existing traces aside preserving the design rules when possible.

Difficulty = 4-5

Fast snap rounding Algorithm

Implement a fast snap rounding algorithm and resolve the case where inserted point cause self-intersection.

PCB uses an integer coordinate system for all of its objects. The polygon clipping code computes all points of intersection between two non-self-intersecting contours (among many other things it does), but these points of intersection must also have integer coordinates.

A snap-rounding algorithm replaces two segments that intersect at other than their end points with four segments where each has an end point on an integer coordinate near the original (non-integer) intersection. Because this rounding operation on the point of intersection can change the slopes of the four segments compare to that of the original two, it raises the possibility that new intersections between the replacement segments and other segments of the contours occur that did not exist with the original segments. The snap rounding algorithm needs to produce a collection of segments where all intersections occur at segment end points having integer coordinates. The existing code in pcb does this already, but it uses a theoretically slow algorithm, compared to others that are known, such as:

“Improved output-sensitive snap rounding,†John Hershberger, Proceedings of the 22nd annual symposium on Computational geometry, 2006, pp 357-366. http://doi.acm.org/10.1145/1137856.1137909

Algorithms described by de Berg, or Goodrich or Halperin, or Hobby would probably also be better than what we currently have implemented.

In addition, there are rare-but-real degenerate situations where the snap rounding results in one (or both) contours having a self-intersection that did not exist before. This self-intersection is fatal to our polygon clipping code. We do not know if the snap rounding algorithms in the literature deal with this issue or not, but if they do not, we need to develop a variant algorithm that does, whether done by judicious choice of the rounding points that are created, or a post-processing step that eliminates the self-intersection with minimal geometric distortion to the original contours.

Difficulty = 4-5

Auto-routed drawing tool

Basically with this tool, you would click on a starting point, then drag the crosshair to some other (typically intermediate point), possibly on another layer and an auto-routing tool would show a prospective path to that point (meeting design rules and style requirements). If you didn't like the offered path, you could hit a key to see a more expensive candidate, or a different key to (back up) to a less expensive candidate. The prospective route would dynamically change to reach the crosshair end-point as the crosshair is moved. It would disappear if no path could be found. Clicking would place the prospective path as copper and anchor a new starting point for the tool (much like the line tool does now).

Difficulty = 5

IPC Footprint Calculator

Build a footprint calculator that can take the IPC rules and produce a pcb footprint. Preferably write this in a way where the core program is independent of a GUI so that you can script it for generating entire large families of footprints or hook it up to a GUI of choice (lesstif, gtk, maybe even cgi). Would require the purchase of IPC-7351 (approximately U.S.A. $100) and verifying that one is allowed to produce such a calculator.

Difficulty = 2

Export IPC-356

IPC-D-356 is a specification for a netlist output format used for manufacturing test of PCBs. It specifies both connectivity as well as pad position information, thereby facilitating the use of automated testing after PCB manufacture. In this project, you would implement an exporter which would write an IPC-D-356 compliant file from within PCB. The IPC-D-356 spec is available at: http://www.solidigm.com/downloads/ipc356.pdf

Difficulty = 3

Recently loaded file list

Presently pcb does not present a list of recently loaded files in the file menu. It would be nice if pcb kept track of the last few files a user loaded. This is a common feature found in other programs.

Difficulty = 1

lepton-eda-1.9.10/docs/wiki/geda-mailinglists.ru.html0000644000175000017500000003320513634703632017370 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

СпиÑки раÑÑылки gEDA

Перечень ÑпиÑков раÑÑылки

Ðазвание ОпиÑание ÐÐ´Ñ€ÐµÑ Ñ€Ð°ÑÑылки ДоÑтуп Ðрхивы
geda-help Помощь новым пользователÑм geda-help@delorie.com подпиÑатьÑÑ Ðрхив
geda-user ДиÑкуÑÑии пользователей, анонÑÑ‹, объÑÐ²Ð»ÐµÐ½Ð¸Ñ geda-user@delorie.com подпиÑатьÑÑ Ðрхив
geda-commits Ð£Ð²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾ внеÑении изменений в репозиторий geda-commits@delorie.com подпиÑатьÑÑ Ðе архивируетÑÑ
geda-web-commits Ð£Ð²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾ изменении веб-Ñайта geda-web-commits@delorie.com подпиÑатьÑÑ Ðе архивируетÑÑ

Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ ÑпиÑке раÑÑылки gEDA Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð² находитÑÑ Ð½Ð° Ñтранице разработчиков gEDA.

ЗамечаниÑ

ОбÑзательно прочтите вÑе Ð·Ð°Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ´ тем, как подпиÑатьÑÑ

  • ПодпиÑка на ÑпиÑок раÑÑылки gEDA или общение по любому каналу, ÑвÑзанному Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¾Ð¼ gEDA, означает, что вы прочли ÐšÐ¾Ð´ÐµÐºÑ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° gEDA и ÑоглаÑилиÑÑŒ ему Ñледовать. СпаÑибо за ÑотрудничеÑтво.
  • ПиÑать в раÑÑылку можно только Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñанного Ñлектронного адреÑа. ЕÑли вы не подпиÑаны и пытаетеÑÑŒ пиÑать в один из вышеуказанных ÑпиÑков раÑÑылки, ваша почта до него не дойдёт никогда.
  • ЕÑли у Ð²Ð°Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ñ‹ Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¾Ð¹ Ñообщений, убедитеÑÑŒ, что адреÑ, на который вы поÑылаете Ñлектронные пиÑьма, именно тот, на который вы подпиÑаны.
  • Ð”Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ Ñлектронной почты в ÑпиÑок раÑÑылки иÑпользуйте Ð°Ð´Ñ€ÐµÑ Ñ€Ð°ÑÑылки, указанный в таблице.
  • Чтобы отпиÑатьÑÑ, перейдите по одной из ÑÑылок, находÑщихÑÑ Ð² конце каждого из Ñообщений ÑпиÑка раÑÑылки. ÐЕ поÑылайте запроÑов об отпиÑке в ÑпиÑок раÑÑылки.
  • Реклама неÑвободных коммерчеÑких СÐПР Ñлектроники не приветÑтвуетÑÑ Ð½Ð¸ в каком из Ñтих ÑпиÑков раÑÑылки.
  • ÐЕ поÑылайте Ñпам и ÐЕ Ñобирайте Ñлектронных адреÑов Ð´Ð»Ñ Ñпама ни Ñ Ð¾Ð´Ð½Ð¾Ð¹ из Ñтраниц Ñтого Ñайта.
  • ПожалуйÑта, иÑпользуйте только текÑтовые ÑообщениÑ! ÐЕ поÑылайте ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½Ð¸ в какой из ÑпиÑков раÑÑылки gEDA в виде HTML.
  • Ð’ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ включать в виде вложений небольшие бинарные файлы, еÑли они имеют отношение к gEDA.

Ð£Ð²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾Ð± ошибках

СпиÑок раÑÑылки geda-bug больше не поддерживаетÑÑ. ЕÑли вы хотите получать ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾ поÑвлении новых или изменении Ñтарых Ñообщений об ошибках, поÑетите Ñтраницу отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº gEDA на Launchpad, зарегиÑтрируйтеÑÑŒ (да, вам понадобитÑÑ ÑƒÑ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ на Launchpad) и щёлкните по «Subscribe to bug mail».

Чтение через gmane

СпиÑки раÑÑылки больше не зеркалируютÑÑ ÑиÑтемой gmane.

ПоиÑк по ÑпиÑку раÑÑылки

Локального ÑредÑтва Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка в архивах ÑпиÑков раÑÑылки не ÑущеÑтвует. Ðо Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка ранее обÑуждавшихÑÑ Ð²Ð¾Ð¿Ñ€Ð¾Ñов можно воÑпользоватьÑÑ Ð²Ð½ÐµÑˆÐ½Ð¸Ð¼ поиÑковым движком. Так как многие термины gEDA, такие как «schematic» или «pcb», оÑобо ÑпецифичеÑкими не ÑвлÑÑŽÑ‚ÑÑ, при обычном веб-поиÑке может быть выдана куча ложных ÑÑылок. Ð”Ð»Ñ Ð¿Ð¾Ð¸Ñка только в данных архивах еÑть два варианта:

  1. иÑпользовать Ñтраницу поиÑка gmane (архивы Ñ Ð¼Ð°Ñ€Ñ‚Ð° 2005 по ÑентÑбрь 2011 года)
  2. ограничить поиÑк google Ñайтом www.seul.org: раÑширенный поиÑк в google

Старые ÑпиÑки раÑÑылки

Ðазвание ÑпиÑка раÑÑылки ОпиÑание Ðрхивы
geda-announce Старый ÑпиÑок раÑÑылки Ð´Ð»Ñ Ð°Ð½Ð¾Ð½Ñов и объÑвлений web ЕжемеÑÑчный
geda-user Старый ÑпиÑок раÑÑылки Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹ ЕжемеÑÑчный ЕжемеÑÑчный
geda-dev Старый ÑпиÑок раÑÑылки Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð² ЕжемеÑÑчный ЕжемеÑÑчный
geda-cvs Работа Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸ÐµÐ¼ ЕжемеÑÑчный ЕжемеÑÑчный
geda-bug Ошибки/Заплаты ЕжемеÑÑчный ЕжемеÑÑчный
lepton-eda-1.9.10/docs/wiki/geda-developer.html0000644000175000017500000003140113634703632016225 00000000000000

gEDA » Development

Translations of this page are also available in the following languages: РуÑÑкий.

Developer Documentation

Source Code Repository

To clone the gEDA/gaf repository using anonymous git access:

git clone git://git.geda-project.org/geda-gaf.git

Bug Trackers

Developer Mailing List

  • The geda-developer mailing list is a “subscription by invitation only†list.
  • All discussions are public and archived. This policy will always be in effect.
  • All users and new developers, please subscribe to the geda-user list to discuss any issues, as all developers hang out there too.
  • New developers: As you interact with the project (and the various individuals), you will be invited to join the geda-developer mailing list.

Old Developer Mailing List

Tasks, todos and projects

Work-in-Progress and/or Brainstorming

Google Summer of Code

The gEDA project has participated in the Google Summer of Code.

Here are archived instructions and ideas from previous years: 2007, 2008, 2009, 2010 (gEDA did not participate in 2009 and 2010).

Through our experience, we have learned a couple of things about running a successful program.

lepton-eda-1.9.10/docs/wiki/geda-tragesym_readme.html0000644000175000017500000000350713634703632017416 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

tragesym (symbol generator) README

tragesym is a small python script that creates geda symbols out of
structured textfiles.

For creating a symbol you have to edit the sourcefile first.  You can
use the template.src file, which is in /examples/tragesym/ directory.
Some examples are in the examples/tragesym directory too.

For possible footprint names take a look into the ~geda directory
of the PCB program.

usage is:
  tragesym <sourcefile> <symbolfile>

After you have translated the sourcefile to the symbolfile you have to
rearrange some pins with gschem, translate the symbol to the origin
and save it in an appropriate symbol directory.  Make the attributes
visible while doing that (edit->show hidden text) and hide the text
again before saving.

tragesym requires python (versions greater 1.5 should work).

Comment an questions are welcome.
Send it to Werner Hoch (werner.ho@gmx.de)
lepton-eda-1.9.10/docs/wiki/geda-faq.ru.html0000644000175000017500000014512213634703632015442 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English, Français.

gEDA FAQ

gEDA - что Ñто за проект?

Ð’ рамках проекта gEDA Ñоздана и продолжает разрабатыватьÑÑ ÑиÑтема автоматизированного Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñлектроники полноÑтью под лицензией GPL. Эта ÑиÑтема иÑпользуетÑÑ Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ ÑлектричеÑких Ñхем, ÑхемотехничеÑкого Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ моделированиÑ, Ð¿Ñ€Ð¾Ñ‚Ð¾Ñ‚Ð¸Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ производÑтва. Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚ gEDA предлагает развитый комплект Ñвободного программного обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñлектроники, включающий программы Ð´Ð»Ñ ÑхемотехничеÑкого проектированиÑ, ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¼Ð¸, ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÑ‡Ð½ÐµÐ¹ Ñлементов (BOM) и ÑпиÑков Ñоединений в более чем двадцати форматах, аналогового и цифрового Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð³Ð¸Ð¸ печатных плат.

Проект gEDA начал Ales Hvezda веÑной 1998 г., чтобы улучшить ÑоÑтоÑние Ñвободного аппаратного обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð¸ открытого аппаратного обеÑпечениÑ1). За поÑледние деÑÑть лет программное обеÑпечение и ÑообщеÑтво gEDA значительно выроÑли. ÐеÑколько человек учаÑтвуют в разработке иÑходных программ, в то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº другие разрабатывают Ñвои ÑобÑтвенные. «gEDA» теперь отноÑитÑÑ Ð½Ðµ только к иÑходным программам (они теперь ÑамоÑтоÑтельны), но и ко вÑем Ñвободным проектам, которые как-либо ÑвÑзаны Ñ Ñтой веб-Ñтраницей или Ñо ÑпиÑками раÑÑылки gEDA. При приÑоединении к gEDA авторы Ñвободного программного обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð½Ðµ только ничуть не терÑÑŽÑ‚ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð°Ð´ Ñвоими программами, но и уÑиливают ÑообщеÑтво, которое заботитÑÑ Ð¾ качеÑтвенных и Ñвободных2) программах СÐПР Ñлектроники.

gEDA может произноÑитьÑÑ Â«Ð³Ð¸-да» (рифмуетÑÑ Ñ Ð›Ð¸Ð´Ð°) или «г-да» (короткое г)3).

Что такое gEDA/gaf и как Ñто отноÑитÑÑ Ðº gEDA?

gaf означает «gschem and friends» (gschem и друзьÑ). Это подмножеÑтво большого набора программных ÑредÑтв, Ñобранных под названием gEDA. gEDA/gaf — Ñто набор программ, в который в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ…Ð¾Ð´ÑÑ‚:

  • gschem: программа разработки принципиальных Ñхем
  • gnetlist: программа ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑков Ñоединений
  • gsymcheck: программа проверки Ñимволов ÑлектричеÑких Ñхем
  • gattrib: программа Ñлектронной таблицы Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑвойÑтв Ñимволов в ÑлектричеÑких Ñхемах
  • libgeda: библиотеки Ð´Ð»Ñ gschem, gnetlist и gsymcheck
  • gsch2pcb: ÑредÑтво прÑмого Ð°Ð½Ð½Ð¾Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸Ð½Ñ†Ð¸Ð¿Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð¹ Ñхемы в топологию печатной платы Ð´Ð»Ñ pcb
  • неÑколько второÑтепенных утилит

Программы gEDA/gaf ÑовмеÑтно иÑпользуют общий формат файла (.sch), а также общую библиотеку (libgeda.so). ДиÑтрибутив иÑходных текÑтов gEDA/gaf можно найти на Ñайте http://www.geda-project.org.

Ð¥Ð¾Ñ‚Ñ gaf и ÑвлÑетÑÑ Ð½Ð°Ð¸Ð±Ð¾Ð»ÑŒÑˆÐµÐ¹ чаÑтью gEDA, название gEDA не отноÑитÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ лишь к gaf — программные ÑредÑтва, Ñобранные под названием «gEDA», включают и многие другие программы. Ðа Ñамом деле gEDA отноÑитÑÑ Ðº любым программным ÑредÑтвам СÐПР Ñлектроники под лицензией GPL, которые решили приÑоединитьÑÑ Ðº веб-Ñайту/ÑпиÑку раÑÑылки gEDA. Важными примерами программных ÑредÑтв gEDA ÑвлÑÑŽÑ‚ÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° разработки печатных плат pcb, компилÑтор Verilog Icarus Verilog, программа Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ñ‹Ñ… Ñхем gnucap и программа SPICE-Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом ngspice. gEDA включает и множеÑтво других программ.

По иÑторичеÑким причинам на freshmeat gaf извеÑтен как пакет «gEDA».

Что такое gEDA Suite?

gEDA Suite — Ñто набор различных программных ÑредÑтв, которые ÑвлÑÑŽÑ‚ÑÑ Ñ‡Ð°Ñтью, ÑвÑзаны или проÑто работают Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ñ‹Ð¼ обеÑпечением проекта gEDA. Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð² gEDA Suite входÑÑ‚ Ñледующие программы:

  • СредÑтва Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñхем и ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑков Ñоединений:
  • СредÑтва Ð´Ð»Ñ Ñ†Ð¸Ñ„Ñ€Ð¾Ð²Ð¾Ð³Ð¾ и аналогового моделированиÑ:
    • spice – генератор ÑпиÑка Ñоединений Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² SPICE
    • ngspice – SPICE-моделирование
    • gnucap – ÑÐ¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¿Ð¾ÑÑ‚-SPICE (а также SPICE) программа Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ñ‹Ñ… Ñхем и Ñхем Ñо Ñмешанными Ñигналами
    • Icarus Verilog – программа Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Verilog
    • covered – анализатор Ñтепени Ð¿Ð¾ÐºÑ€Ñ‹Ñ‚Ð¸Ñ ÐºÐ¾Ð´Ð° Verilog
    • gspiceui – графичеÑÐºÐ°Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ° Ð´Ð»Ñ ngspice/gnucap
  • СредÑтва Ð´Ð»Ñ Ñ€Ð°Ð·Ð²Ð¾Ð´ÐºÐ¸ печатных плат и их производÑтва:
    • pcb – разработка печатных плат
    • gerbv – программа проÑмотра Gerber-файлов
    • wcalc – анализ передающих линий и Ñлектромагнитной Ñтруктуры
    • mcalc – калькулÑтор Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð°/Ñинтеза микрополоÑковых линий
  • Библиотеки Ñимволов и поÑадочных меÑÑ‚ Ð´Ð»Ñ Ð²Ñего вышеперечиÑленного:

Зачем? Чем gEDA так отличаетÑÑ Ð¾Ñ‚ других СÐПР Ñлектроники?

Программные ÑредÑтва в gEDA Suite и ÑвÑзанные Ñ gEDA имеют Ñледующие характериÑтики:

  • БеÑплатноÑть.
  • Ð’Ñе форматы файлов и иÑходные текÑты доÑтупны под лицензией GPL. Эта Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ Ð´Ð°Ñ‘Ñ‚ оÑобые права авторам и пользователÑм программного обеÑпечениÑ.
  • ÐезавиÑимоÑть от любого поÑтавщика. Ð’Ñе программы gEDA поÑтавлÑÑŽÑ‚ÑÑ Ñ Ð¿Ð¾Ð»Ð½Ñ‹Ð¼ набором иÑходных текÑтов. Их можно Ñвободно раÑпроÑтранÑть, изменÑть, улучшать и переноÑить на другие архитектуры. Можно также раÑпроÑтранÑть и Ñвои изменениÑ, еÑли Ñледовать уÑловиÑм лицензии GPL.
  • Ðет никакого механизма Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… программ (таких как иÑпользование Ñерийных номеров жёÑтких диÑков или ethernet-адреÑов Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð½ÑƒÐ¶Ð´ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑƒÑкать программное обеÑпечение только на одной машине).
  • Ðикаких Ñпециальных ограничений, уÑтановленных торговцами. Свободные верÑии коммерчеÑких программных ÑредÑтв обычно включают оÑобые Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ (Ñ‚. е. ограниченный размер проекта, невозможноÑть печати, невозможноÑть ÑкÑпорта ÑпиÑков Ñоединений и Ñ‚. д.), уродующие программу и заÑтавлÑющие Ñерьёзных пользователей покупать полные верÑии. Ð’ противоположноÑть Ñтому программы gEDA полнофункциональны и Ñпециальных ограничений на проекты, чтобы выжимать из Ð²Ð°Ñ Ð´ÐµÐ½ÑŒÐ³Ð¸, не накладывают.
  • Защита Ñтарых верÑий проектов. Так как программное обеÑпечение вÑегда будет доÑтупно и вÑегда может быть обновлено Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»Ñ‘Ð½Ð½Ð¾Ð¹ операционной ÑиÑтемой или библиотеками, вÑегда будет возможноÑть проÑмотра и Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² проектов gEDA.
  • Открытый процеÑÑ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸. Это означает, что программы взаимодейÑтвуют друг Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¼ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ извеÑтных и документированных ÑредÑтв (файлов/API). ЕÑли хочетÑÑ, программы можно легко заменить другими или новыми. gEDA Suite — Ñто набор инÑтрументальных ÑредÑтв СÐПР Ñлектроники. Отдельные чаÑти Ñлабо ÑвÑзаны друг Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¼ и конечные пользователи Ñами вольны наÑтраивать или менÑть компоненты маршрута проектированиÑ.
  • СтабильноÑть. Ошибки, вызывающие отказы, обнаруживаютÑÑ Ð½ÐµÐ¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾ и иÑправлÑÑŽÑ‚ÑÑ Ð½Ð°Ñтолько быÑтро, наÑколько Ñто возможно.
  • ÐœÐ¸Ð½Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° и ненужных возможноÑтей.
  • Работа на большом количеÑтве платформ. Ð”Ð»Ñ gEDA/gaf: GNU/Linux, разные другие ÑиÑтемы Unix.
  • РазрабатываютÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ образом (без Ñекретов).
  • ПрикладываютÑÑ ÑƒÑÐ¸Ð»Ð¸Ñ Ð¿Ð¾ разработке документации.

gEDA не может Ñодержать вÑех поÑледних передовых возможноÑтей, имеющихÑÑ Ð² других пакетах, и иногда может раÑцениватьÑÑ ÐºÐ°Ðº отÑÑ‚Ð°ÑŽÑ‰Ð°Ñ ÑиÑтема в технологии СÐПР Ñлектроники, но вÑÑ‘ равно Ñти программные ÑредÑтва ÑтановÑÑ‚ÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñ‹Ð¼Ð¸ Ð´Ð»Ñ Ð¼Ð½Ð¾Ð¶ÐµÑтва людей по вышеуказанным причинам.

Почему gEDA Suite кажетÑÑ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ Ñлучайных программ, а не единым интегрированным приложением?

gEDA Suite вÑÑ‘ же предÑтавлÑет Ñобой конфедерацию в какой-то Ñтепени незавиÑимых программ. Это ÑлучилоÑÑŒ по иÑторичеÑким причинам: Ales Hvezda начал проект gEDA в большей мере ÑамоÑтоÑтельно. ИÑходное намерение ÑоÑтоÑло в том, чтобы произвеÑти полный набор программ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ñ‹Ñ… плат, чтобы любители робототехники могли проектировать Ñвои ÑобÑтвенные платы. Однако, когда проект gEDA развивалÑÑ, Ñтала видна внушительноÑть Ñтой задачи, и напиÑание многих задуманных приложений даже не началоÑÑŒ!

Тем временем другие разработчики программного обеÑпечениÑ, имеющие Ñвои ÑобÑтвенные незавиÑимо напиÑанные приложениÑ, не Ñмогли уÑтоÑть перед таким видением проекта gEDA. Ðвторы таких приложений приÑоединилиÑÑŒ к Ales и помогли проекту Ñвоими программами. Одним из таких вкладов была pcb, деÑÑтилетнÑÑ (на данный момент) программа разработки печатных плат. При добавлении pcb позорно Ñбежала иÑходно Ð¿Ð»Ð°Ð½Ð¸Ñ€ÑƒÐµÐ¼Ð°Ñ Ð² gEDA программа gpcb. Ð’ то же Ñамое Ð²Ñ€ÐµÐ¼Ñ Ð´Ñ€ÑƒÐ³Ð¸Ðµ разработчики добавили ÑредÑтва аналогового и цифрового моделированиÑ, программы проÑмотра Ñигналов и так далее.

Таким образом программы gEDA Suite объединилиÑÑŒ. gEDA Suite отличаетÑÑ Ð½Ðµ ÑовмеÑтно иÑпользуемым кодом и не общим пользовательÑким интерфейÑом. Скорее, воедино проект ÑвÑзывает общее видение Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð¡ÐПР Ñлектроники Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом. Ð¡ÐµÐ³Ð¾Ð´Ð½Ñ gEDA Suite ÑвлÑетÑÑ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð¼ набором различных программ, привнеÑённых разными авторами. ÐŸÑ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑтараютÑÑ Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ вмеÑте и обычно им Ñто удаётÑÑ. Ðо разное проиÑхождение программ в наборе вÑÑ‘ же заметно. ÐеÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð¸ на что, небольшое приложение уÑилий делает различные компоненты набора ÑпоÑобными к взаимодейÑтвию, и многие выполнили Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gEDA Suite довольно Ñложные проекты плат.

Ð’ конце концов, gEDA Suite лучше вÑего предÑтавить как набор инÑтрументальных ÑредÑтв СÐПР Ñлектроники. Такой инÑтрументальный подход даёт конечному пользователю больше Ñвободы. Ð”Ð»Ñ Ñвоих задач конечные пользователи могут менÑть или полноÑтью замещать отдельные Ñтапы маршрута проектированиÑ.

Так что же лучше, набор программ (Ñ‚. е. конфедерациÑ) или интегрированное приложение?

Это, в конечном Ñчёте, Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ñ€ÐµÐ»Ð¸Ð³Ð¸Ð¸. ЗдеÑÑŒ Ñ Ð¿Ñ€Ð¸Ð²ÐµÐ´Ñƒ некоторые за и против (как мне Ñто видитÑÑ) обоих подходов.

За набор программ (конфедерацию):

  • Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ Ñтадии Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ иÑпользовать Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ â€œÐ²Ñ‹Ñшего Ñортаâ€. Ðапример, Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ð¾Ð¹ платы можно иÑпользовать Ñтандартный маршрут Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² gEDA: gschem → gsch2pcb → pcb. Однако, еÑли вы на дух не переноÑите приложение Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом pcb, можно, например, иÑпользовать поÑледовательноÑть: gschem → gnetlist → Protel. Ð’Ñпомните, что gnetlist может производить более двадцати различных форматов ÑпиÑков Ñоединений! Более того, еÑли вам не нравитÑÑ ÐºÐ°ÐºÐ¾Ð¹-то из компонентов маршрута проектированиÑ, вы можете напиÑать другую программу Ð´Ð»Ñ ÐµÐ³Ð¾ замены. Это правда, что в наÑтоÑщий момент Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ отдельной задачи еÑть, как правило, только одно приложение. Ðо Ñо временем, вероÑтно, такое положение дел изменитÑÑ, ÑвидетельÑтвом чему ÑвлÑÑŽÑ‚ÑÑ Ñ€Ð°Ð·Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ðµ проекта pcb, добавление генератора ÑпиÑка Ñоединений gnetman, а также проект HEC. Самое главное, что такой подход, когда иÑпользуютÑÑ Ñ€Ð°Ð·Ð½Ñ‹Ðµ программы, даёт пользователю наибольшую Ñвободу выбора.
  • Ð’ процеÑÑе разработки много еÑтеÑтвенных точек оÑтанова. Ðапример, при завершении работы программы и выдаче выходного файла (Ñ‚. е. когда gschem выдаёт .sch-файл, или gnetlist — ÑпиÑок Ñоединений SPICE). Ð’ Ñтой точке процеÑÑ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ легко прервать и напиÑать Ñкрипты Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ и/или Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… проекта. Ð”Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ñ…, передовых проектов — Ñто большое преимущеÑтво «комплектного» подхода. Это преимущеÑтво, возможно, нравитÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ «опытным пользователÑм», но отметьте его важноÑть: программные комплекÑÑ‹ СÐПР Ñлектроники профеÑÑионального клаÑÑа (Synopsys, Xilinx) работают таким же образом.
  • ИÑпользование набора приложений можно автоматизировать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Makefile, или даже Ñкрипта на Perl. Разработчики ASIC поÑтоÑнно занимаютÑÑ Ñтим в Ñвоих ÑредÑтвах Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ñинтеза. Ðекоторые пользователи gEDA утверждали в ÑпиÑке раÑÑылки, что они тоже так делают, и отмечали Ñто как важную возможноÑть в gEDA Suite.

Против набора программ (конфедерации)

  • Больше Ñбивает Ñ Ñ‚Ð¾Ð»ÐºÑƒ новых пользователей, так как без поÑторонней помощи они не могут узнать, что дальше делать. То еÑть фактичеÑки им необходимо прочитать документацию, чтобы узнать, какую программу запуÑкать Ñледующей. Ð’ Ñтом Ñлучае выручает Ñ…Ð¾Ñ€Ð¾ÑˆÐ°Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ (поÑтому, видимо, вы Ñто и читаете), но документации вÑегда отдаётÑÑ Ð¼ÐµÐ½ÑŒÑˆÐ¸Ð¹ приоритет, нежели разработке интуитивного интерфейÑа приложениÑ.
  • Ð”Ð»Ñ Ñ€Ð°Ð·Ð½Ñ‹Ñ… программ ÑÐ¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾ интерфейÑу различны. То еÑть Ð¾Ñ€Ð³Ð°Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¼ÐµÐ½ÑŽ, привÑзки клавиш клавиатуры и кнопок мыши не ÑоответÑтвуют друг другу. Это может быть неудобно даже тем, кто хорошо знаком Ñ Ñтими программами.
  • Так как заранее предположений об иÑпользуемом маршруте Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñделать нельзÑ, Ñимволы Ð´Ð»Ñ Ñхем обÑзательно должны быть лёгкими. Это заÑтавлÑет Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñ‚Ñ€Ð°Ñ‚Ð¸Ñ‚ÑŒ больше времени, например, на добавление в Ñвой проект атрибутов поÑадочных меÑÑ‚. Более того, ещё больше времени уходит на Ñамом деле на то, чтобы разобратьÑÑ, какие файлы поÑадочных меÑÑ‚ ÑобÑтвенно иÑпользовать.
  • Ðекоторые разработчики более Ñнергичны, чем прочие, или у них проÑто больше Ñвободного времени. ПоÑтому некоторые программы комплекта будут разработаны лучше других (и будут Ñодержать меньше ошибок). К Ñожалению, одна Ð½ÐµÐ½Ð¾Ñ€Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° может неÑправедливо иÑказить предÑтавление нового Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¾ наборе в целом.

За монолитное приложение:

  • Ðовому пользователю легче оÑвоить единую, унифицированную Ñреду проектированиÑ.
  • Ð¡Ð¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾ графичеÑкому интерфейÑу легче Ñкоординировать.
  • Символы Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð½Ñ†Ð¸Ð¿Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ñхем могут быть Ñ‚Ñжёлыми, так что потребуетÑÑ Ð¼ÐµÐ½ÑŒÑˆÐµ работы по добавлению атрибутов Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ñимвола в Ñхеме.

Против монолитного приложениÑ:

  • Ðе беÑконечно маÑштабируемо. Один разработчик не может Ñделать вÑÑ‘, вне завиÑимоÑти от того, наÑколько он умён. ПоÑтому монолитное приложение никогда не доÑтигнет размера или мощи набора, разработанного конфедерацией программиÑтов.
  • ОтÑутÑтвие выбора. ЕÑли разработчику не нравитÑÑ Ð²Ð°Ñˆ метод работы, выбора у Ð²Ð°Ñ Ð½ÐµÑ‚. Даже еÑли вы предложите заплаты, чтобы получить возможноÑть иÑпользовать Ñвой метод Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ñ‡Ð¸, еÑть вероÑтноÑть, что оÑновной разработчик проигнорирует или отклонит их. Это, возможно, не Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð´Ð»Ñ Ð½Ð¾Ð²Ð¸Ñ‡ÐºÐ¾Ð², но Ð´Ð»Ñ Ð¾Ð¿Ñ‹Ñ‚Ð½Ñ‹Ñ… пользователей Ñто проблема.
  • РиÑк. ЕÑли разработчик уйдёт, код оÑтанетÑÑ Ð±Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ‹Ð¼ и поÑтрадают пользователи. Это в Ñамом деле ÑлучилоÑÑŒ Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹ XTrkCAD, СÐПР моделей железных дорог. Ðвтор Ñтой программы оÑтавил её разработку, Ñ…Ð¾Ñ‚Ñ Ð¸ любезно помеÑтил Ñвоё детище на Sourceforge, чтобы программа проÑто не пропала. К Ñожалению, без учаÑÑ‚Ð¸Ñ Ð¸Ñходного разработчика код завÑл. Предлагаемые проекту заплаты уходили в /dev/null. Ðаконец ÐºÐ¾Ð°Ð»Ð¸Ñ†Ð¸Ñ Ð¸Ð½Ñ‚ÐµÑ€ÐµÑующихÑÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹ и разработчиков Ñоздала ветку кода, чтобы можно было продолжить дальнейшую разработку. Однако работа над веткой неÑоглаÑована и Ñлучайна. (ÐадеюÑÑŒ, Ñто когда-нибудь изменитÑÑ.) Тем временем Ð´Ð»Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ñ… пользователей тот факт, что иÑходный разработчик ушёл, Ñтал катаÑтрофой.

Ð’ программе XXX отÑутÑтвует крайне Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть YYY! Что Ñ Ð¼Ð¾Ð³Ñƒ Ñделать?

Ðовички Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñ‚ времени поÑвлÑÑŽÑ‚ÑÑ Ð² ÑпиÑках раÑÑылки gEDA и ругают проект за отÑутÑтвующие возможноÑти, кажущиеÑÑ Ð¸Ð¼ ошибки и предполагаемые выверты пользовательÑкого интерфейÑа. Разработчики gEDA очень заинтереÑованы в получении конÑтруктивной обратной ÑвÑзи и критики, так что мы приветÑтвуем запроÑÑ‹ новых возможноÑтей и отчёты об ошибках. Ðо пожалуйÑта, имейте в виду, что разработчики ÑвлÑÑŽÑ‚ÑÑ Ð¿Ñ€Ð¾Ñ„ÐµÑÑиональными инженерами-Ñлектрониками или инженерами-программиÑтами, занÑтыми полную рабочую неделю, и gEDA Ð´Ð»Ñ Ð½Ð¸Ñ… — неоплачиваемое занÑтие, Ñ…Ð¾Ñ‚Ñ Ð¸ любимое и увлекательное. ÐеконÑтруктивные или невежеÑтвенные разговоры не приведут к реализации новых возможноÑтей.

ЕÑли вы хотите, чтобы Ð½Ð¾Ð²Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть была реализована в одной из программ gEDA, вот что можно Ñделать:

  • ÐапиÑать её Ñамому. ИÑходные текÑты программ открыты и каждый может поÑмотреть их, разобратьÑÑ Ð¸ модифицировать. ЕÑли вы реализовали новую возможноÑть, предложите Ñвои заплаты проекту; велика вероÑтноÑть, что они будут включены в оÑновную ветку разработки.
  • Вежливо попроÑить в ÑпиÑке раÑÑылки gEDA. ЕÑли Ð·Ð°Ð¿Ñ€Ð°ÑˆÐ¸Ð²Ð°ÐµÐ¼Ð°Ñ Ð²Ð°Ð¼Ð¸ возможноÑть проÑта или интереÑна кому-то из разработчиков, возможно кто-нибудь её воплотит. ЕÑли она Ñложна, вероÑтно, что Ñта возможноÑть уже обÑуждаетÑÑ Ñреди разработчиков, но ни у кого нет доÑтаточного количеÑтва Ñвободного времени, чтобы её реализовать. (Также можно запроÑить возможноÑть через ÑиÑтему отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº Launchpad). Ðе надоедайте криком или руганью в ÑпиÑках раÑÑылки, так как, вероÑтно, вы Ñами будете обруганы и вообще не получите Ñвоей возможноÑти. Зачем тратить Ñвоё времÑ?
  • ЕÑли вышеуказанные варианты вам не подходÑÑ‚, наймите разработчика программ Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом, чтобы он напиÑал нужную вам оÑобенноÑть программы! Удивительно, как чаÑто Ñ‚Ð°ÐºÐ°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть игнорируетÑÑ. Люди, ÑобирающиеÑÑ Ð¿Ð»Ð°Ñ‚Ð¸Ñ‚ÑŒ $25000 – $100000 за коммерчеÑкие ÑредÑтва СÐПР Ñлектроники упрутÑÑ, чтобы заплатить ловкому подроÑтку-программиÑту $10/чаÑ, чтобы он воÑпроизвёл такие же возможноÑти в gEDA Suite. Почему?.. ЕÑли вы преподаватель, раÑÑмотрите наём некоторых Ñтудентов Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° UROP4), чтобы они работали над gEDA. ЕÑли у Ð²Ð°Ñ Ñвой бизнеÑ, наймите подроÑтка или кого-то, Ñвободного от школы! РеÑли вы хотите компетентной помощи, можете (быÑтро) обратитьÑÑ Ðº какому-нибудь из оÑновных разработчиков gEDA, который даÑÑ‚ Ñовет.

Какую лицензию иÑпользует gEDA?

Ð’Ñе программные ÑредÑтва и ÑвÑзанные файлы в gEDA будут выпуÑкатьÑÑ Ð¿Ð¾Ð´ Стандартной ОбщеÑтвенной Лицензией GNU верÑии 2 (GPL) от Free Software Foundation.

Из лицензии:

«Когда мы говорим о Ñвободном программном обеÑпечении, мы говорим о Ñвободе, а не о цене. Ðаши Стандартные ОбщеÑтвенные Лицензии разработаны так, чтобы обеÑпечить вам Ñвободу раÑпроÑÑ‚Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¹ Ñвободного программного обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ (и, еÑли хотите, назначать цену за Ñти уÑлуги), чтобы вы получили иÑходный код или могли получить его, еÑли вы Ñтого захотите, чтобы вы могли изменÑть программное обеÑпечение или иÑпользовать его чаÑти в новых Ñвободных программах, и чтобы вы знали, что вы можете вÑÑ‘ Ñто Ñделать.»

ЯÑнее не выразить: gEDA — Ñто программное обеÑпечение под лицензией GPL. ПоÑтому ничего проприетарного, как например библиотеки Ñлектронных компонентов из проприетарных продуктов СÐПР Ñлектроники, вмеÑте Ñ gEDA раÑпроÑтранÑтьÑÑ Ð½Ðµ может. Программы конверÑии Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð¿Ñ€Ð¸ÐµÑ‚Ð°Ñ€Ð½Ñ‹Ñ… библиотек будут доÑтупны, но вÑе преобразованные файлы, ÑвлÑющиеÑÑ Ñ‡Ð°Ñтью проприетарных продуктов, никогда не должны попаÑть в gEDA. Ð”Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»Ñемых в проект файлов должна быть возможноÑть их раÑпроÑÑ‚Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ лицензией GPL (или под другой Ñвободной лицензией). Имейте Ñто в виду, еÑли хотите что-то добавить в проект.

Ð¥Ð¾Ñ‚Ñ gEDA и фокуÑируетÑÑ Ð½Ð° GPL, Ð´Ð»Ñ ÑущеÑтвующего программного обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ чем приветÑтвуетÑÑ Ñочетать Ñ Ð½ÐµÐ¹ и другие, ÑовмеÑтимые Ñ GPL лицензии.

Более подробную информацию наÑчёт иÑпользуемой проектом gEDA лицензии можно найти на Ñтранице про лицензирование.

Где найти больше информации и откуда загрузить gEDA?

ÐžÑ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ð²ÐµÐ±-Ñтраница проекта gEDA: http://geda-project.org/.

ЕÑть неÑколько ÑпиÑков раÑÑылки. Чтобы узнать, как подпиÑатьÑÑ Ð½Ð° них и поÑылать Ñвои ÑообщениÑ, поÑмотрите Ñтраницу про ÑпиÑки раÑÑылки.

Ð’Ñ‹ можете загрузить вÑÑ‘ программное обеÑпечение Ñо Ñтраницы загрузки.

ПоÑледний комплект документации можно найти на главной Ñтранице документации.

Хорошо, Ñ Ñ‡ÐµÐ³Ð¾ начать оÑвоение gEDA?

Самое важное, что Ñледует Ñделать, Ñто прочитать один из двух или оба интерактивных учебника и разобратьÑÑ Ð² них:

Ðепременно поÑмотрите и другую документацию gEDA. Ð’ Ñтой Wiki ÑодержитÑÑ Ñ€ÑƒÐºÐ¾Ð²Ð¾Ð´Ñтво по уÑтановке и Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¾Ð±Ñ‰Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ð¾ иÑпользованию программ. Потратьте немного времени, пролиÑтайте документацию, затем загрузите набор gEDA Suite и попробуйте ÑамоÑтоÑтельно Ñ Ð½Ð¸Ð¼ поработать!

1) Что такое Ñвободное и открытое аппаратное обеÑпечение, Ñмотрите, например, на веб-Ñтранице http://www.opencollector.org/Whyfree/. — Прим. перев.
2) ИмеетÑÑ Ð² виду Ñвобода, а не беÑплатноÑть. — Прим. перев.
3) ÐаÑчёт Ð¿Ñ€Ð¾Ð¸Ð·Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ Ð´Ð°Ð¶Ðµ у оÑновных разработчиков нет единого мнениÑ, так что произноÑите, как нравитÑÑ, главное — пишите правильно. — Прим. перев.
4) Undergraduate Research Opportunities Program — программа поддержки ÑтуденчеÑких иÑÑледовательÑких работ. — Прим. перев.
lepton-eda-1.9.10/docs/wiki/geda-gsch2pcb_tutorial_releasenotes.ru.html0000644000175000017500000001237313634703632023063 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

Ð—Ð°Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð¿Ð¾ выпуÑку Учебника по gsch2pcb

Это Ð·Ð°Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð¿Ð¾ выпуÑку Учебника по gsch2pcb.

  • ÐÐ°Ñ‡Ð¸Ð½Ð°Ñ Ñо Ñреза PCB-20050609, в pcb поÑвилÑÑ Ð½Ð¾Ð²Ñ‹Ð¹ пользовательÑкий Gtk-интерфейÑ, замещающий Ñтарый Xaw-интерфейÑ, и в Ñтом учебнике будет опиÑыватьÑÑ Ð¸Ñпользование данного Gtk-интерфейÑа. ЕÑли вы вÑÑ‘ ещё иÑпользуете Xaw pcb, можете поиÑкать более Ñтарую верÑию учебника в Ñвоём диÑтрибутиве, ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ файлах gEDA gafrc в которой также уÑтарели.
  • ЕÑли верÑÐ¸Ñ gschem у Ð²Ð°Ñ Ð¼ÐµÐ½ÑŒÑˆÐµ 20030525, то примеры из учебника могут не работать так, как ожидаетÑÑ.
  • ЕÑли вы уÑтановили верÑию gEDA 20030901 и иÑпользуете включенную в неё программу gsch2pcb 0.9 и получаете ошибку:
    ERROR: Unbound variable: open-output-pipe

    то проблема в ÑинтакÑиÑе файла gnet-gsch2pcb.scm, который работал в guile 1.4, но не работает в guile 1.6. Чтобы решить Ñту проблему, необходимо произвеÑти обновление по крайней мере до верÑии gsch2pcb 1.0.1.

  • Примерно 09.01.2004 г. в CVS-верÑиÑÑ… pcb произошёл переход на иÑпользование формата выходного файла Ñ Ð²Ñ‹Ñоким разрешением, который потребует по меньшей мере верÑии gsch2pcb-1.4.
  • Мини-журнал изменений
    • 05.16.2007 г. Импорт в wiki. ПоÑмотрим, Ñтоит ли хранить данный журнал изменений поÑле Ñтого.
    • 23.06.2005 г. Добавлено опиÑание файла gafrc в раздел по наÑтройке. Обновлено руководÑтво по иÑпользованию Gtk pcb.
    • 10.01.2004 г. ИÑправлены мои нерÑшливые файловые Ñлементы pcb, в которых линии ÑÐ»Ð¾Ñ ÑˆÐµÐ»ÐºÐ¾Ð³Ñ€Ð°Ñ„Ð¸Ð¸ перекрывали контактные площадки.
    • 23.12.2003 г. Добавлены комментарии о новых CVS-верÑиÑÑ… pcb, в которых каталоги m4 и newlib по умолчанию уÑтанавливаютÑÑ Ð² /usr/share или /usr/local/share.

ИÑходный текÑÑ‚ первоначального документа

ИÑходную верÑию учебника подготовил Bill Wilson (billw–at–gkrellm.net).

lepton-eda-1.9.10/docs/wiki/geda-gschem_symbol_creation.html0000644000175000017500000007631613634703632020775 00000000000000

Translations of this guide are also available in the following languages: РуÑÑкий

gEDA/gaf Symbol Creation

The latest version of this document may be found at: http://www.geda-project.org/wiki/geda:gschem_symbol_creation
This document is released under the GNU Free Documentation License (GFDL).

Overview

This document describes the creation of component symbols, including style conventions, and hints/tips and things to look out for when drawing symbols for the gEDA/gaf system.

Component Symbol Creation

Component symbols (from here on known as “symbolsâ€) are drawn using gschem. You can start with a blank page or a known-to-be good symbol that is similar to the one you want to create.

Preparing

Before you open gschem to create your symbol, there are a few questions you should ask yourself, that will effect how you create your symbol:

  1. Is this symbol purely for aesthetic purposes (a graphic)? If so, several steps are simplified.
  2. Do I want to simulate the component in question, with e.g. Spice?
  3. Do I want to use this symbol in a schematic that includes power distribution? This will become important when deciding what pins to draw.
  4. Does this symbol represent a component that comes several in a package? This is called 'slotting' in gEDA's language, and has special rules.

Once you've answered those questions, the following guide will be more useful to you.

To start building your symbol:

  1. Open gschem.
  2. The default empty page has boxes on it. Use the selection tool (the one that looks like a black mouse cursor) to select everything on the page. Hit the Delete key to delete it.
  3. Zoom in at least one step (View→Zoom, or hit the Z key).
  4. Make sure the snap-to-grid functionality is ON (Options→Toggle Snap On/Off, or O S).
  5. Make sure grid snap size is set to 100 (Options→Snap Grid Spacing…, or O Shift+S).

Drawing your Symbol

Use the 'line', 'box', 'circle', and 'arc' tools (in the Add menu) to create a simplified visual representation of your device. Make sure that the only colour you use is 'Graphic' (green). Do not place any pins on the device until the next step.

To check what colour you are using to draw, go to Edit→Color… (or hit E O).

Placing Pins on your Symbol

If you have decided your symbol is graphical in nature (e.g., does not connect to anything, is just artwork), you can skip this step.

Add your first pin.

  1. Select Add→Pin, or hit A P. Once that is done, click from the end of your pin, to one of the edges of your symbol. A '0' and the word 'unknown' should pop up near your new pin. Please note that the direction you draw your pins is important. If you draw them starting from the edge of your symbol to outside of your symbol, you will end up with text outside of the symbol!
  2. Click on the selection tool, and use it to select the pin you just drew. The pin and text with it should change colors, and boxes should be drawn around the ends of the pin.
  3. Select Edit→Edit…, or hit E E (or right click, and hit Edit…). This will bring up the edit dialog for this pin.

In the Edit dialog for a pin, you should see four attributes (name=value pairs) already associated with your new pin. These attributes can be edited by clicking on the attribute in the list at the top of the edit window, then clicking on the field you want to edit. Note that when selected, the Add Attribute section of this dialog does not reflect what has been selected, as it is only meant for addition, not for editing.

Let's look at each attribute already associated with your pin, and edit some of the values. I recommend expanding the size of the edit window until all attributes are visible.

  • All pins should have a pinseq attribute. This number dictates the order pins are looked at on this symbol in spice, gnetlist, and other tools. For our first pin, start this sequence number at '1', incrementing it on each new pin, as we add them.
  • All pins should have a pinnumber attribute. This is the number of the pin, on the package of the item you are drawing a symbol for. pinnumber values can be alphanumeric (i.e. like E or C).
  • All pins should have a pinlabel attribute. This attribute is the name or label of the pin (not the pin number).
  • All pins should have a pintype attribute. This attribute describes the kind of a pin.
  • pinseq and pinnumber attributes of several pins can be automatically numbered by Attributes→Autonumber Text….

Possible pintype values are: in, out, io, oc, oe, pas, tp, tri, clk, pwr. Please see the Master Attribute Document for more info.

Adding Attributes to your Symbol

Every symbol needs some attributes (name=value pairs) in order to be useful in gschem, and in other tools.

First we're going to add all of the attributes we want, then make the ones that need to be invisible invisible.

  1. A device=DEVICENAME attribute should be placed somewhere in the symbol. The devicename should consist of nothing but capital letters, dashes, numbers, and underscores. If the object is a graphic then device= should be set to none (device=none).
  2. A graphical=1 attribute should exist somewhere in a symbol which is purely graphical (such as a title block or decon symbol). Symbols which have this attribute have no electrical or circuit significance. Don't forget to set device=none per the previous step.
  3. A description=TEXT attribute should exist somewhere in the symbol. The TEXT value should provide a one line description of the symbol.
  4. A footprint=PACKAGENAME attribute should exist somewhere in the symbol which might be used with a pcb netlister. PACKAGENAME is a pcb footprint or package type like DIP14 or DIP40. Please see the footprint naming conventions page for further detail. If you are using gEDA / PCB, also see the PCB documentation and gnetlist/docs/README.pcb for more info on this attribute and how it is used.
  5. A refdes= attribute should be placed inside all non-graphical symbols. This attribute should default to U? for integrated circuits, and 'T?' for transistors. Make only the value visible and it will be promoted (attached to the outside of the symbol (so it can be edited)) when the symbol is placed in a schematic.
  6. A numslots= attribute should be placed inside of all symbols, to prevent a warning when you will check your symbol by gsymcheck. numslots=1 works fine.

Now that those have been added, make the numslots, footprint, description, graphical and device attributes invisible. Leave only the value of the refdes attribute visible, and place it somewhere at the top of your symbol.

Finishing

  1. Add a label to your symbol by selecting Add→Text… or pressing A T. Type out your label, and move it to the top of your symbol.
  2. Translate the symbol to the origin using Edit→Symbol Translate… or press E T.
  3. Enter '0' into the entry field and press OK.
  4. Save the symbol using File→Save or File→Save As…
  5. Place the symbol in one of the directories specified as a symbol library in a suite configuration file (one of the “gafrc†files). For an explanation of how to set up symbol libraries, see the gEDA gschem User Guide. Once this is done, the symbol should be visible immediately and can be selected and placed with the Add→Select Component… menu item. On Debian, placing files in /usr/share/gEDA/sym/local/ works, but requires permissions setup.

Note

Translating the symbol to the origin is a required step. To translate a symbol elsewhere, enter a offset (in mils) which is a even multiple of 100. Make sure all pins are snapped to a 100 mil grid point.

Common Symbol Naming Conventions

  1. Symbols are named: symbolname-#.sym
  2. Symbols end with a .sym extension.
  3. Symbols have a -# where # is a number. Typically # is 1 but if there are multiple symbols for a device then this number simply increments.
  4. Symbol names are typically lowercase but letters which are part of a part number are uppercase.
  5. The above case rule can be broken if the filename looks incorrect or wrong.

Symbol Requirements

This section describes the various requirements which must be met in order to create a valid symbol which will display and netlist in the gEDA/gaf system.

Pins

  1. All pins should have a pinseq attribute. This number dictates the order pins are looked at on this symbol in spice, gnetlist, and other tools. This is just a sequence number, and should increment sequentially starting at 1.
  2. All pins should have a pinnumber attribute attached to them. This is the number of the pin, on the package of the item you are drawing a symbol for. The pin number can be alphanumeric (i.e. like E or C).
  3. All pins should have a pinlabel attribute attached to them. This attribute is the name or label of the pin (not the pin number). This attribute is also used when a symbol is used in a hierarchical schematic.
  4. All pins should have pintype attribute attached to them. This attribute describes the kind of a pin. Possible values are: in, out, io, oc, oe, pas, tp, tri, clk, pwr. Please see the Master Attribute Document for more info.

Attributes

For more information on the attributes presented here, please see the Master Attribute Document.

  1. A device=DEVICENAME attribute should be placed somewhere in the symbol and made invisible. Typically the devicename is in all caps (capital letters). This attribute should not be used as a label. Use a separate text object for the label. If the object is a graphic then device= should be set to none (device=none).
  2. A graphical=1 attribute should exist somewhere in a symbol which is purely graphical (such as a title block or decon symbol). Symbols which have this attribute have no electrical or circuit significance. Don't forget to set device=none per the previous requirement.
  3. A description=TEXT attribute should exist somewhere in the symbol. The TEXT value should provide a one line description of the symbol.
  4. A footprint=PACKAGENAME attribute should exist somewhere in the symbol which might be used with a pcb netlister. PACKAGENAME is a pcb footprint or package type like DIP14 or DIP40. Please see the footprint naming conventions page for further detail. If you are using gEDA / PCB, also see the PCB documentation and gnetlist/docs/README.pcb for more info on this attribute and how it is used.
  5. A refdes=U? attribute should be placed inside all non-graphical symbols. Make only the value visible and it will be promoted (attached to the outside of the symbol, so it can be edited) when the symbol is placed in a schematic.
  6. The label= and name= attributes should not exist anywhere in the symbol. They are obsolete.
  7. The netname= attribute should not be attached anywhere in the symbol. It is only used in schematics.

Slotting

  1. If a component has multiple slots in a package (such as a 7400 (NAND) which has 4 NANDs per package) then you need a numslots=# attribute. The # is the number of slots the device has. numslots= should be exist somewhere in the symbol and made invisible. Additional slot related required attributes are described below.
  2. If a component has multiple slots in a physical package then you also need to include a slotdef=#:#,#,#… for every slot. The first # corresponds to the slot number. If a device has 4 slots then there should be slotdef=1:…, slotdef=2:…, slotdef=3:…, and slotdef=4:…, attributes existing somewhere in the symbol and made invisible. The subsequent # have a one-to-one correspondence to pinseq=# attributes and specify what corresponding pinnumber=# should be when that slot is set. See the attached 7400-1.sym as an example of how this should all work.
  3. It is recommended that all symbols which have slots have a slot=1 attribute inside the symbol.

Checking a Symbol

Running gsymcheck will check that all of these requirements are met. gsymcheck will output fatal errors which are quite serious and must be corrected. gsymcheck will also output warnings on things which should be fixed but are not fatal.

Style

This section describes the style which is used in the standard gEDA/gaf symbol library.

Text

  • All text labels should all be 10 pt in size.
  • Text (labels not attributes) should be color number 9 (text | green).
  • Use the special overbar encoding (e.g. pinlabel=\_Reset\_) to express inverse logic levels.

Attributes

  • pinnumber attributes should be displayed as pin numbers for pins (not pinseq) and should be 8 pt in size.
  • Attached attributes should be color number 5 (attributes | yellow). The color is set automatically to yellow if the text item is attached.
  • The only exception to this is pinlabel= attributes, those should be color number 9 (text | green). If every text item within a symbol is yellow, the symbol looks too yellow.
  • Attributes can be attached to some part of the symbol. Toplevel attributes (like the device= or net= attributes) used to be required to be attached to something to be attributes, but now they just have to exist in the symbol file as name=value.
  • Expanding a bit on the last sentence, as long as the text item has the format name=value, it is considered an attribute. Attributes inside a symbol do not have to be attached to anything. In order to see hidden attributes in gschem select Edit→Show/Hide Inv Text.
  • There is a symbol content versioning system in libgeda which is based on the symversion= attribute. Please see the Master Attribute Document for more information on using this versioning scheme.

Graphics

  • Lines, boxes, arcs, and any other graphics should be color number 3 (graphic | green).
  • Polarity bubbles should be color number 6 (logic bubble | cyan).
  • If you are unsure on how to make a new symbol look or how big to make a new symbol, look at the existing symbols to get a feel for the appropriate appearance and size.

Pins

  • Pins should all be 300 mils (3 grid spaces) long.
  • For pins which are next to a logic bubble, make the pins 200 mils (2 grid spaces) long and then make the logic bubble 100 mils in diameter. In order to draw a 100 mil diameter circle, you will need to change the snap spacing to 50.
  • A pin has two ends: one end has a red endpoint and one end that does not. The red endpoint is where nets can be connected. You can either rotate the pin so that this active end is in the right place or manually edit the symbol file changing the “whichend†parameter on the pin object. See the File Format document for more info.
  • Be that all endpoints of pins which are meant to be connected to are on the 100 mil grid. The endpoint which is not active can be off the grid if necessary.
  • Pins should be color number 1 (pins | white).
  • Leave 400 mils (4 grid spaces) between (vertically) pins, unless you are drawing a special symbol, then just try to make it look good.
  • Pin number attributes should be 50 mils above (or below; which ever makes the most sense) the pin which they are attached to.
  • Input pins belong on the left and output pins belong on the right of the symbol.
  • Please do not mix inputs and outputs on the same side of the symbol, unless absolutely necessary.
  • You can have pins on the top or bottom of a symbol.
  • The order for rows of pins (buses) should be LSB (least significant bit) to MSB (most significant bit). When drawing pins which are part of a bus, make sure the LSB of the bus is at the top (or for pins on top/bottom of a symbol, left of the rest of the other pins). Look at 74/74181-1.sym for a correct example of this order (A0 on top through A3 and B0 on top through B3). Violating this rule will make connecting buses much more difficult.
  • When placing pins on logic gates, be sure to place the smallest pin numbers toward the top (or left) and then increment going down (or across).

Electrical

  • Do not draw power and ground pins. That information will be conveyed using attributes (see the net= attribute mini-HOWTO).
  • The above rule can be broken if necessary, but keep in mind most of the standard library does not have power pins showing.
  • Keep in mind, symbols are supposed to be symbolic, they do not represent the physical package that the device comes in.
  • There is some disagreement on above, so this is okay too: arrange the pins on a symbol logically so that they promote an uncluttered schematic. Note that this is frequently not the same pin arrangement as the physical device.

Hints and Tips

This section describes some hints and tips which will make your symbol creation experience easier.

  • Pins MUST be snapped on the 100-spaced grid.
  • Avoid drawing things off of the grid. If you do, you cannot move the object(s) using the move command (if the grid is on) since the object will be snapped to the grid. [This was an old bug, which I think has been fixed, but avoid doing this anyway]. Use the symbol translate command instead (or move the object with grid snap off).
  • It is okay to set the grid finer than 100 (say 10 or 25) when creating symbols, just remember to set this back to 100 once you are ready to translate the symbol to the origin.
  • If you want to translate a symbol from the origin to elsewhere, then use the Edit→Symbol Translate… command and enter a non zero number. Make sure this number is a multiple of 100 (i.e. 1000, or 1100).
  • Remember that pins are special objects; if you want to add a pin, make sure it is a pin and not a line or net. Use the Add→Pin command to place a pin.
  • Don't include nets or buses inside symbols. That is not supported and doesn't make much sense anyway.
  • pinnumber should be the visible attribute for pins, along with pinlabel if any.

Example

This section provides a simple example which tries to follow all of the above rules. This symbol is of a 7400 (NAND gate).

7400-1.sym
v 20031231 1
L 300 200 300 800 3 0 0 0 -1 -1
T 300 0 9 8 1 0 0 0 1
7400
L 300 800 700 800 3 0 0 0 -1 -1
T 500 900 5 10 0 0 0 0 1
device=7400
T 500 1100 5 10 0 0 0 0 1
slot=1
T 500 1300 5 10 0 0 0 0 1
numslots=4
T 500 1500 5 10 0 0 0 0 1
slotdef=1:1,2,3
T 500 1700 5 10 0 0 0 0 1
slotdef=2:4,5,6
T 500 1900 5 10 0 0 0 0 1
slotdef=3:9,10,8
T 500 2100 5 10 0 0 0 0 1
slotdef=4:12,13,11
L 300 200 700 200 3 0 0 0 -1 -1
A 700 500 300 270 180 3 0 0 0 -1 -1
V 1050 500 50 6 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
P 1100 500 1300 500 1 0 1
{
T 1100 550 5 8 1 1 0 0 1
pinnumber=3
T 1100 450 5 8 0 1 0 2 1
pinseq=3
T 950 500 9 8 0 1 0 6 1
pinlabel=Y
T 950 500 5 8 0 1 0 8 1
pintype=out
}
P 300 300 0 300 1 0 1
{
T 200 350 5 8 1 1 0 6 1
pinnumber=2
T 200 250 5 8 0 1 0 8 1
pinseq=2
T 350 300 9 8 0 1 0 0 1
pinlabel=B
T 350 300 5 8 0 1 0 2 1
pintype=in
}
P 300 700 0 700 1 0 1
{
T 200 750 5 8 1 1 0 6 1
pinnumber=1
T 200 650 5 8 0 1 0 8 1
pinseq=1
T 350 700 9 8 0 1 0 0 1
pinlabel=A
T 350 700 5 8 0 1 0 2 1
pintype=in
}
T 300 900 8 10 1 1 0 0 1
refdes=U?
T 500 2250 5 10 0 0 0 0 1
footprint=DIP14
T 500 2450 5 10 0 0 0 0 1
description=4 NAND gates with 2 inputs
T 500 2850 5 10 0 0 0 0 1
net=Vcc:14
T 500 3050 5 10 0 0 0 0 1
net=GND:7
T 500 2650 5 10 0 0 0 0 1
documentation=http://www-s.ti.com/sc/ds/sn74hc00.pdf

This example produces the following (using gschem):

:geda:symbol_7400-1_hidden.png

This is the same symbol with all the hidden text visible (via Edit→Show/Hide Inv Text):

:geda:symbol_7400-1.png

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-printing.html0000644000175000017500000000343613634703632020040 00000000000000

Printing

Printing schematics can be carried out by using File→Print to access the “Print†window.

Here, you can choose which printer to print to, and access various other printer-related settings (depending on what your printer supports). You can also “Print to File†to generate a printable PDF, PostScript, or SVG file.

To preview what the schematic will look like when it is printed, click the “Print Preview†button.

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-stroke.html0000644000175000017500000000741613634703632017517 00000000000000

Mouse gesture support

Some actions can be accessed using mouse gestures. Mouse gestures are performed by clicking and dragging the middle mouse button. Gestures are not normally enabled; to enable them, you need to add:

(middle-button "stroke")

to a gschem configuration file.

By default, the following gestures are available:

  • Draw a “Z†to begin drawing a region of interest box to zoom to, like View→Zoom Box (see Viewing schematics).
  • Draw a line upwards to zoom out.
  • Draw a line downwards to zoom in.
  • Draw a “S†to return to Select Mode (see Selecting objects).
  • Draw a “C†to copy selected objects, like Edit→Copy Mode (see Moving and copying).
  • Draw a “M†to move selected objects, like Edit→Move Mode (see Moving and copying).
  • Draw an “E†to edit selected objects, like Edit→Edit.
  • Draw a “D†to delete selected objects, like Edit→Delete.
  • Draw an “L†to begin adding lines.
  • Draw an “N†to begin adding nets.

To modify or add to the available gestures, please see examples in the gschem system configuration file.

lepton-eda-1.9.10/docs/wiki/geda-start.html0000644000175000017500000000160313634703632015376 00000000000000 lepton-eda-1.9.10/docs/wiki/geda-mcalc_readme.html0000644000175000017500000000331013634703632016632 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

mcalc README

$Id: README,v 1.1 2001/08/16 11:19:01 dan Exp $

WHAT IS IT?
------------

mstrip is a JavaScript based microstrip analysis/synthesis calculator.
It is designed to be easy to use and fairly accurate.  The accuracy is
generally within a percent or so for the characteristic impedance which
greatly exceeds the simplified formulations found in most text books.


HOW DO I INSTALL IT?
--------------------

To install this package, simply copy all the files in the archive to the
installation directory.

To use this pacakge, just point your JavaScript capable web broswer at
the file 'index.html'.


CAN I COPY IT?
--------------
Please refer to the file 'copying.html' for copyright information.


IS THERE A HISTORY FILE?
------------------------
Please refer to the file 'verinfo.html' for version history.
lepton-eda-1.9.10/docs/wiki/start_ru.html0000644000175000017500000002714513634703632015217 00000000000000

Wiki проекта gEDA

Что такое gEDA?

Ðа других Ñзыках: English, Français, Español

Проект gEDA занимаетÑÑ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¾Ð¹ ÑиÑтемы автоматизированного Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñлектроники, выпуÑкаемой целиком и полноÑтью под лицензией GPL. Эта ÑиÑтема иÑпользуетÑÑ Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ ÑлектричеÑких Ñхем, ÑхемотехничеÑкого Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ моделированиÑ, Ð¿Ñ€Ð¾Ñ‚Ð¾Ñ‚Ð¸Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ производÑтва. Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚ gEDA предлагает развитый комплект Ñвободного программного обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñлектроники, включающий программы Ð´Ð»Ñ ÑхемотехничеÑкого проектированиÑ, ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¼Ð¸, ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÑ‡Ð½ÐµÐ¹ Ñлементов (BOM) и ÑпиÑков Ñоединений в более чем двадцати форматах, аналогового и цифрового Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð³Ð¸Ð¸ печатных плат.

Программные ÑредÑтва, входÑщие в комплект, позволÑÑŽÑ‚ разрабатывать проекты профеÑÑионального качеÑтва низкой и Ñредней Ñтепени ÑложноÑти. ИÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹ gEDA можно Ñоздавать печатные платы, имеющие до 8 Ñлоёв (а Ñкоро и больше), Ñ Ð½ÐµÐ¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð½Ñ‹Ð¼ чиÑлом компонентов и Ñоединений. Программы подходÑÑ‚ Ð´Ð»Ñ Ñтудентов, педагогов, любителей, конÑультантов, предÑтавителей малого бизнеÑа и даже больших корпораций, где инженер может на коленке замудрить хитроумную компьютерную плату (например, Ð´Ð»Ñ Ñ‚ÐµÑтового Ñтенда).

Смотрите перечень вÑех активных и неактивных разработчиков gEDA на Ñтранице о людÑÑ….

gschem (щёлкните длÑ
увеличениÑ) pcb (щёлкните Ð´Ð»Ñ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ) gerbv (щёлкните длÑ
увеличениÑ)

ЧаÑто задаваемые вопроÑÑ‹

СообщеÑтво

Пользователи могут принимать учаÑтие в обÑуждении разработки, помощи, уÑтановки, Ñоветов по иÑпользованию в ÑпиÑках раÑÑылки.

Как Ñообщать об ошибках

ЕÑть также IRC-канал Ð´Ð»Ñ gEDA: канал #geda на irc.oftc.net/6667. Это официальный IRC-канал Ð´Ð»Ñ Ñ€Ð°Ð·Ð³Ð¾Ð²Ð¾Ñ€Ð¾Ð² обо вÑём, что каÑаетÑÑ gEDA. Порой Ñтот канал полон активноÑти, порой Ñовершенно тих. ПожалуйÑта, будьте терпеливы, Ð·Ð°Ð´Ð°Ð²Ð°Ñ Ð²Ð¾Ð¿Ñ€Ð¾ÑÑ‹ в IRC-канале.

ЕÑть ещё не очень активный IRC-канал ##pcb на irc.freenode.net. Этот канал поÑвÑщён производÑтву печатных плат и прототипированию, в том чиÑле и Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gEDA pcb.

Как приÑтупить к редактированию Wiki

lepton-eda-1.9.10/docs/wiki/geda-release_engineering.html0000644000175000017500000001745213634703632020244 00000000000000

gEDA's Release Engineering

gEDA/gaf Release Creation Checklist

Here is a list of steps that are taken every time when creating a new gEDA/gaf release:

  • In the toplevel configure.ac file update the package version in the AC_INIT macro, the date in the AX_GIT_VERSION macro, and update libgeda's shared library version (libgeda's so version should follow what is described in Autobook's library versioning chapter).
  • Update the toplevel NEWS file with a summary of all the changes in the new release. The NEWS file forms the basis for the release notes.
  • Manually run all tests. gnetlist has a nice set of regression tests in gnetlist/tests. gsymcheck also has a nice set of regression tests in gsymcheck/tests. Open up all schematics in gschem/examples and gschem/tests. You can do this by running the following in the toplevel directory:
        make check
  • Run make update-po in all po directories. Commit these changes before continuing.
  • Update all the versions and dates in the man pages (gschem.1, gnetlist.1, gsymcheck.1, grenum.1)
  • Go into the wiki pages and update the “gEDA/gaf File Format Document†and add the release date to the version field.
  • Update the wiki documentation snapshot (which is shipped with the release) by doing the following steps:
    1. Get the wiki source files. (For now you have to ask Ales to get them from the SEUL.org server; eventually this should be changed so they are available without asking anybody). Put these files in some directory called “wikisrcâ€. Also make an output directory called “htmloutputâ€
    2. Download a handy php-based package called “offline-dokuâ€. Latest version seems to be v0.1.1 and it was last seen at: offline-doku .
    3. You might need to tweak/add the following line in offline-doku/make.php to make sure it has enough memory to operate:
       ini_set('memory_limit','256M');
    4. Now run offline-doku like this:
       cd offline-doku-0.1.1; php make.php --verbose /path/to/wikisrc /path/to/htmloutput

      This should processes all the dokuwiki source files and convert them into html files.

    5. Tar/copy the htmloutput directory into the gaf git directory docs/
    6. Move aside (do not delete yet) the current wiki directory to something like “wikioldâ€. Rename the new htmloutput directory to “wikiâ€
    7. Run:
       cp -f wikiold/design.css wiki 
    8. Run:
       cp -f wikiold/.gitignore wiki 
    9. Run:
       cp -f wikiold/Makefile.am 
    10. Check to see what has changed using git status and git diff. Go through and add any new files to git using git add.
    11. Check to see what has changed between wikiold and wiki using:
       diff -r -q wikiold wiki 

      Fix anything is incorrect.

    12. Go through all the html files and remove the contents of the line (but don't delete the empty line):
       <a href=.>start</a></br>

      Eventually this should be automated or somehow fixed. Removing this start link will make the html pages look better and reduce the number of unnecessary file changes (in git).

    13. Finally commit all the changes/files.
  • Commit all of the above changes (preferably in between each step)
  • To build the distribution tarball (and verify all tests on the contained files) run:
        make distcheck

and make sure it completes without any errors. After this is complete you will find the distribution tarball in the toplevel directory (named geda-gaf-VERSION.tar.gz).

  • Copy the distribution tarball some place else along with the toplevel README (which should be renamed to gEDA-gaf-VERSION-README.txt).
  • Create a file the md5sum for the toplevel tarball.
        md5sum -b geda-gaf-1.5.3.tar.gz > geda-gaf-1.5.3.md5sum
  • Untar the tarballs and compare what is inside to what is in the repository. You should only find additional dist files inside the tarballs and no missing required files.
  • Build and test the distribution tarball one last time.
  • Make sure everything is committed and pushed and then put down the correctly formatted tag:
        git tag -a 1.5.3-20090829
  • Push all the commits to the main repository. If you are on a branch the command should be:
        git push origin remote_branch_name
  • Push the tag to the main repository:
        git push --tags
  • Upload distribution tarball, README, and md5sum file to the correct place
  • Write release announcement and send to mailing lists
  • Write up release notes and send pointer to mailing lists (named: geda-gaf-VERSION-releasenotes.html)
  • Update news update the sources download pages on the website with links to the new version
  • Update the todos removing the release information.
  • Done!
lepton-eda-1.9.10/docs/wiki/geda-covered_mp.html0000644000175000017500000002165113634703632016371 00000000000000

covered man-page

Covered(1)			 Code Analysis			    Covered(1)



NAME
       Covered - Verilog Code Coverage Analyzer

SYNTAX
       covered [<options>] score [<options>]
       covered	   [<options>]	   merge    [<options>]	   <existing_database>
       <database_to_merge>
       covered [<options>] report [<options>] <database_file>

DESCRIPTION
       Covered is a Verilog code coverage analysis tool that can be useful for
       determining  how	 well  a  diagnostic test suite is covering the design
       under test. Covered reads in the Verilog design files and a VCD or  LXT
       formatted  dumpfile from a diagnostic run and generates a database file
       called a Coverage Description Database (CDD) file, using the score com-
       mand.   This  file  can	be  merged  with other CDD files from the same
       design to create accummulated coverage, using the merge command.	  Once
       a  CDD  file  is	 created, the user can use Covered to generate various
       human-readable coverage reports in an ASCII format or use Covered’s GUI
       to  interactively  look	at coverage results, using the report command.
       Additionally, as part of Covered’s score command, race condition possi-
       bilities	 are  found  in	 the  design  files and can be either ignored,
       flagged as warnings or flagged as errors.  By  specifying  race	condi-
       tions  as errors, Covered can also be used as a race condition checker.

GLOBAL OPTIONS
       These options are placed immediately after the keyword covered  in  the
       command-line.   They can be used for any command (with the exception of
       -v and -h) and have the same effect in each case.

       -D     Debug.  Display information helpful for debugging tool problems.
	      Note:   This  option is now only available when covered is built
	      with the --enable-debug configuration option.

       -h     Help.  Display this usage information.

       -Q     Quiet mode.  Causes all output to be suppressed.

       -v     Version.	Display current Covered version.

COMMANDS
       score  Parses Verilog files and VCD/LXT dumpfiles  to  create  database
	      file used for merging and reporting.

       merge  Merges two database files into one.

       report Generates	 human-readable coverage reports from database file or
	      starts the coverage report GUI.

SCORE COMMAND
       The following options are valid for the score command:

       -D define_name
	      Defines the specified name to 1.

       -D define_name=value
	      Defines the specified name to the specified value.

       -e block_name
	      Name of module, task, function or named begin/end block  to  not
	      score.   Causes  all  subblocks  in  the Verilog tree under this
	      block to also not be scored.

       -ea    Excludes all always blocks from being considered for coverage.

       -ec    Excludes all continuous assignments from	being  considered  for
	      coverage.

       -ei    Excludes	all initial blocks from being considered for coverage.

       -F module_name=(in_expr,)out_expr
	      Indicates to the parser where to find the FSM located in	module
	      module_name  which  has an input state expression called in_expr
	      and output state expression called out_expr.  If in_expr is  not
	      specified,  out_expr  is used as both the input and output state
	      expression.

       -f filename
	      Name of file containing additional arguments to parse.

       -h     Displays this help information.

       -I directory
	      Directory to find included Verilog files.

       -i instance_name
	      Verilog hierarchical reference to the module that is at the  top
	      of the tree to be scored.	 This option is necessary if module to
	      verify coverage is not the top-level module in the  design.   If
	      not specified, -t value is used.

       -lxt filename
	      Name  of LXT/LXT2 dumpfile to score design with.	If this or the
	      -vcd option is not used, Covered will only create an initial CDD
	      file from the design and will not attempt to score the design.

       -o database
	      Name of database to write coverage information to.  If not spec-
	      ified, the output database filename will be "cov.cdd".

       -p filename
	      Overrides default filename used to store intermediate preproces-
	      sor output.

       -P parameter_scope=value
	      Performs a defparam on the specified parameter with value.

       -r(S|W|E)
	      Specifies	 action	 to  take  when	 race condition checking finds
	      problems in design (-rS = Silent, -rW = Warning, -rE = Error).

       -S     Outputs simulation statistics after  simulation  has  completed.
	      This  information is currently only useful for the developers of
	      Covered.

       -t top-level module
	      Specifies the module name of the top-most module	that  will  be
	      measured.	  Note	that  this  module  does  not  need  to be the
	      top-most module in the simulator.	 This field  is	 required  for
	      all calls to the score command.

       -ts number
	      When  scoring occurs, this option allows the user to see how far
	      the simulator has progressed by outputting the current  timestep
	      to  standard  output.  The  value	 of  number specifies how many
	      timesteps are allowed to be simulated before outputting the cur-
	      rent timestep (results in less calls to output stream).

       -T min|typ|max
	      Specifies	 which	value to use when encountering a delay expres-
	      sion in the form:	 min:typ:max.  If this option  is  not	speci-
	      fied, ’typ’ select is used by default.

       -v filename
	      Name of specific Verilog file to score.

       -vcd filename
	      Name  of VCD dumpfile to score design with.  If this or the -lxt
	      option is not used, Covered will only create an initial CDD file
	      from the design and will not attempt to score the design.

       -y directory
	      Directory to find unspecified Verilog files.

       +libext+.extension(+.extension)*+
	      Extensions of Verilog files to allow in scoring.

MERGE COMMAND
       The following options are valid for the merge command:

       -h     Displays this help information.

       -o filename
	      File  to output new database to.	If this argument is not speci-
	      fied, the existing_database is used as the output database name.

REPORT COMMAND
       The following options are valid with the report command:

       -c     If  -v  is specified, displays covered line, toggle and combina-
	      tional cases.  Default is to display uncovered information.

       -d (s|d|v)
	      Level of detail to provide in coverage report information	 (s  =
	      summary, d = detailed, v = verbose).  Default is summary.

       -h     Displays this help information.

       -i     Provides coverage information for instances instead of module.

       -m [l][t][c][f][r]
	      Type(s) of metrics to report.  Default is ltcf.

       -o filename
	      File  to output report information to.  Default is standard out-
	      put.

       -v     Deprecated.  Replaced by ’-d d’ or ’-d v’.

       -view  Starts the GUI interface for interactive coverage reporting.

       -w (number)
	      Specifies the maximum line width (in  characters)	 that  can  be
	      used to output Verilog information.  If this option is not spec-
	      ified, all Verilog code in the report will retain the same  for-
	      matting  as was specified in the original Verilog code.  If this
	      option is specified, Verilog code will be formatted  to  use  as
	      much  of	the  current  line as possible, wrapping text when the
	      line reaches the maximum line width.  The default	 maximum  line
	      width  is	 115  characters  (this	 value is used if no number is
	      specified with the -w option).  If a number  is  specified  with
	      the -w option, this value is used for the maximum line width.

AUTHORS
       Trevor Williams <trevorw@charter.net>

       Arpan Sen <arpan_sen@yahoo.com>

SEE ALSO
       For  more  information  on  how	to use the Covered code coverage tool,
       please consult  the  on-line  User’s  Guide  at	http://covered.source-
       forge.net/user/index.html.



Trevor Williams		       covered-20060218			    Covered(1)
lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-slots.ru.html0000644000175000017500000001031113634703632017765 00000000000000

Секции компонентов и их иÑпользование

Ð’ РуководÑтве по Ñозданию Ñимволов приводитÑÑ Ð¾Ð¿Ð¸Ñание того, как Ñоздавать Ñимволы Ð´Ð»Ñ Ð¼Ð½Ð¾Ð³Ð¾Ñекционных компонентов.

Ð’ некоторых интегральных Ñхемах в одном корпуÑе ÑодержитÑÑ Ð¿Ð¾ неÑколько одинаковых взаимозаменÑемых уÑтройÑтв. Ð’ gschem и gnetlist Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¸ работы Ñ Ð½Ð¸Ð¼Ð¸ иÑпользуютÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ñ‹ Ñ ÑекциÑми (многоÑекционные компоненты).

Ð”Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð½Ð¾Ð³Ð¾Ñекционного компонента Ñоздайте в Ñхеме неÑколько копий Ñтого компонента и задайте им вÑем одинаковое позиционное обозначение в атрибуте refdes. Затем выделите один из Ñтих компонентов и откройте окно «Правка атрибутов» [«Edit Attributes»] Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Правка→Правка… [Edit→Edit…]. ЕÑли вы уÑтановите флажок «Показать унаÑледованные атрибуты» [«Show inherited attributes»], то должны будете увидеть атрибут numslots, в котором задаётÑÑ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтво Ñекций в корпуÑе.

Ð”Ð»Ñ ÑƒÑтановки ÑоответÑÑ‚Ð²Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ компонента номеру Ñекции в корпуÑе Ñту копию нужно выделить и открыть Ð´Ð»Ñ Ð½ÐµÑ‘ окно «Правка номера Ñекции» [«Edit Slot Number»] Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Правка→СекциÑ… [Edit→Slot…]. При изменении номеров Ñекций автоматичеÑки обновлÑÑŽÑ‚ÑÑ Ð¸ номера выводов компонента на Ñкране.

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-viewing_schematics.ru.html0000644000175000017500000001322413634703632022502 00000000000000

Вид и отображение Ñхем

При загрузке Ñхемы и Ñимволы отображаютÑÑ Ð² центральной чаÑти облаÑти проÑмотра оÑновного окна gschem.

Изменение вида

Ð”Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´Ð° еÑть неÑколько ÑредÑтв:

  • Панорамирование — нажмите Ñреднюю кнопку мыши и, ÑƒÐ´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ ÐµÑ‘, перемеÑтите курÑор мыши в другое меÑто или воÑпользуйтеÑÑŒ клавишами Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ ÐºÑƒÑ€Ñора (⇦⇧⇨⇩). Кроме того, вид можно отцентрировать по положению курÑора мыши, нажав X.
  • Увеличение маÑштаба — нажмите Z или прокрутите колёÑико мыши вверх.
  • Уменьшение маÑштаба — нажмите Shift+Z или прокрутите колёÑико мыши вниз.
  • Чтобы ÑфокуÑироватьÑÑ Ð½Ð° конкретной чаÑти проекта, нажмите W и выделите рамкой интереÑующую Ð²Ð°Ñ Ð¾Ð±Ð»Ð°Ñть. Затем щёлкните левой кнопкой мыши, и Ñта чаÑть будет раÑширена на вÑÑŽ видимую облаÑть окна.

Операции маÑÑˆÑ‚Ð°Ð±Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ñегда выполнÑÑŽÑ‚ÑÑ Ñ‚Ð°ÐºÐ¸Ð¼ образом, что текущее положение курÑора мыши ÑтановитÑÑ Ñ†ÐµÐ½Ñ‚Ñ€Ð¾Ð¼ облаÑти, получаемой в результате ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ уменьшениÑ.

Можно также выбрать Вид→УмеÑтить в окне [View→Zoom Extents], чтобы задать отображение вÑех находÑщихÑÑ Ð½Ð° Ñтранице объектов, или Вид→Показать вÑÑ‘ [View→Zoom Full], чтобы отображалоÑÑŒ вÑÑ‘ рабочее проÑтранÑтво целиком.

Цветовые Ñхемы

Ð”Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ñ†Ð²ÐµÑ‚Ð¾Ð² объектов в Ñхемах и Ñимволах иÑпользуетÑÑ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð½Ð°Ñ Ð¿Ð¾ размеру палитра, каждый цвет которой имеет оÑобое значение. Ðапример, ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ (имеющие ÑхемотехничеÑкое назначение) вычерчиваютÑÑ Ð´Ñ€ÑƒÐ³Ð¸Ð¼ цветом, нежели линии (ÑвлÑющиеÑÑ Ð¿Ñ€Ð¾Ñтыми графичеÑкими примитивами). Ð”Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° цвета, которым должен отображатьÑÑ ÐºÐ°Ð¶Ð´Ñ‹Ð¹ конкретный объект, иÑпользуетÑÑ Ñ†Ð²ÐµÑ‚Ð¾Ð²Ð°Ñ Ñхема.

Ð”Ð»Ñ gschem еÑть неÑколько цветовых Ñхем, и между ними можно переключатьÑÑ Ð¸Ð· меню Вид. Можно не только изменить иÑпользуемую по умолчанию цветовую Ñхему, но и Ñоздать Ñвою ÑобÑтвенную. Более подробно Ñто раÑÑматриваетÑÑ Ð² разделе ÐаÑтройка gschem.

lepton-eda-1.9.10/docs/wiki/geda-documentation.html0000644000175000017500000006001313634703632017112 00000000000000

gEDA » Documentation

Translations of this page are also available in the following languages: РуÑÑкий.

gEDA Tool Suite documentation

These are the official project docs. They have been converted from LaTeX and HTML documents into Wiki pages so that the gEDA community may more easily maintain them.

Tutorials

Talks

Various talks and presentations on gEDA provide a good top-level overview of the project for those who are interested:

gEDA session DJ Delorie did at Renesas DevCon 2010 (the slides for it are here under “Presentations and Other Infoâ€)

Ignite 5 video given by Stuart Brorson about “Hardware design and the gEDA Projectâ€

General

These are informal FAQs, HOWTOs, and tips/tricks to help you with the practical details of using the gEDA Suite. If you are having a problem, browse these pages first.

  • Glossary : Glossary of terms that are specific to the gEDA Suite.
  • Usage : Questions about how to do electronic design using the gEDA toolset – information which applies to several or all tools in the gEDA Suite.
  • FAQ-gschem : Questions about installing, configuring, and using gschem. Also, questions about creating and using gschem symbols.
  • FAQ-attribs : Attribute management.
  • FAQ-gnetlist : Questions about installing, configuring, and using gnetlist. It deals with BOMs, DRCs, and all that.
  • FAQ-simulation : Questions about simulating your design using gEDA tools.
  • FAQ-gsch2pcb : How to take your design to layout using PCB.
  • PCB-quick reference : PCB Quick Reference Sheet.
  • PCB footprints : How to create, use and share footprints.
  • PCB tips : Tips and tricks for using PCB.
  • Guile scripting : Guile functions & variables provided by the gEDA tools.

gschem - Schematic Capture

gnetlist - Netlister

gsymcheck - Symbol Checker

utils - gEDA Utilities

Examples

Attribute/File Format Details

SPICE

ngspice

gnucap

gSpiceUI

PCB

gerbv

Icarus Verilog

Wcalc

mcalc

covered

Data plotting and viewing

  • GTKWave – Digital waveform viewer which reads LXT, LXT2, VZT, FST, and GHW files as well as standard Verilog VCD/EVCD files.
  • gwave – analog waveform viewer
  • gaw – analog waveform viewer, a rewrite of gwave
  • KJWaves – viewing, modifying, and simulating SPICE CIRCUIT files
lepton-eda-1.9.10/docs/wiki/geda-gparts_id.html0000644000175000017500000000535213634703632016222 00000000000000

gEDA » Development » Parts Manager » Implementation Details

This page covers the implementation details of a parts manager for gEDA. Please submit feedback to the geda-dev or geda-user mailing lists.

For design details, see gparts_dd.

Packages

The following diagram shows the package dependencies – cycles removed – within the part manager.

Geometry Package

Schematic Package

Schematic GUI Package

Scheme Configuration Package

lepton-eda-1.9.10/docs/wiki/geda-devel-tips.ru.html0000644000175000017500000015116413634703632016752 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

Советы, подÑказки и хитроÑти Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð² gEDA

Структура данных Ñхемы

Внутри gaf Ñхема предÑтавлÑетÑÑ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ двуÑвÑзных ÑпиÑков. Центральным типом ÑвÑзи в ÑпиÑках ÑвлÑетÑÑ OBJECT. Он может быть предÑтавлением какого-нибудь Ñимвола, Ñтроки текÑта, графичеÑкого примитива, ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ атрибута.

Обзор Ñтруктуры данных Ñхемы можно найти здеÑÑŒ. Этот наброÑок Ñделан Стюартом БрорÑоном (Stuart Brorson) в 2005 году.

Комментарии и Ñтили Doxygen

Doxygen предÑтавлÑет Ñобой утилиту Ð´Ð»Ñ Ð¸Ð·Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ð¸ по API из комментариев в иÑходном коде. Ð’ комментариÑÑ… может указыватьÑÑ Ñ€Ð°Ð·Ð¼ÐµÑ‚ÐºÐ°, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð²Ð¿Ð¾ÑледÑтвии может быть преобразована программой Doxygen в код HTML или LaTeX. Это позволÑет, к примеру, одной функции ÑоÑлатьÑÑ Ð½Ð° другую, ÑвÑзанную Ñ Ð½ÐµÐ¹, а также даёт возможноÑть приводить документацию об аргументах и возвращаемых значениÑÑ….

Ðекоторые чаÑти иÑходных текÑтов gaf уже подготовлены Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ doxygen. Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ñюда входÑÑ‚ libgeda, gschem, gnetlist, gsymcheck и gattrib. Файлы Makefile Ñтих утилит в каталоге docs Ñодержат цель «doxygen». Или же вывод doxygen можно поÑмотреть на Ñтой Ñтранице, подготовленной Бертом Тиммерманом (Bert Timmerman).

ЕÑли вы хотите узнать заложенные в Doxygen идеи о том, как надо форматировать документацию, Ñм. веб-Ñайт Doxygen. Отдельные команды документированы здеÑÑŒ. По Doxygen еÑть также неÑколько очень удобных кратких Ñправочных Ñтраниц.

Ð’ Ñледующих разделах предлагаетÑÑ Ð²Ð²Ð¾Ð´Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ том, как обычно документируютÑÑ gschem и libgeda. Обратите внимание, что Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸ÐµÐ², разрешённых в Doxygen, предпочтительным ÑвлÑетÑÑ Ñтиль QT вида /*! здеÑÑŒ идут комментарии */.

Документирование файлов

При Ñоздании нового файла в нём, очевидно, должен быть обычный текÑÑ‚ лицензии GNU. ПоÑле лицензии нужно включить комментарий о файле Ñ Ð¾Ð¿Ð¸Ñанием того, Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ Ñтот файл, и Ñ Ð»ÑŽÐ±Ñ‹Ð¼ другим текÑтом, отноÑÑщимÑÑ ÐºÐ¾ вÑему файлу как целому1).

  /*! \file <filename.ext>
      \brief ЗдеÑÑŒ краткое изложение того, Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ Ñтот файл...
      \par ОпиÑание
      Более длинное опиÑание того, Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ Ñтот файл (необÑзательно).
   */

Документирование переменных/определений/опиÑаний типов

Глобальные переменные в файле можно документировать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ команды \var или проÑто напиÑав комментарий Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ команды \brief прÑмо перед определением.

  /*! \brief fill style of objects like cirle, rect, path */
  typedef enum {FILLING_HOLLOW, FILLING_FILL, FILLING_MESH, FILLING_HATCH, FILLING_VOID} OBJECT_FILLING;

Документирование функций

Функции можно документировать точно так же, как и переменные и Ñ‚. д. ДоÑтаточно вÑтавить блок ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ñ Ð²Ñ‹ÑˆÐµ документируемой им функции и начать его командой \brief.

Обычно Ð´Ð»Ñ Ð´Ð»Ð¸Ð½Ð½Ð¾Ð³Ð¾ опиÑÐ°Ð½Ð¸Ñ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ иÑпользуетÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¹ параграф Function Description. Также, Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð³Ð¾, будут ли параметры функции изменÑтьÑÑ Ð² ней Ñамой, в командах \param иÑпользуютÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹ [in] или [out].

  /*! \brief "Save" a file into a string buffer
   *  \par Function Description
   *  This function saves a whole schematic into a buffer in libgeda
   *  format. The buffer should be freed when no longer needed.
   *
   *  \param [in] toplevel    The current TOPLEVEL.
   *  \param [in] object_list The head of a GList of OBJECTs to save.
   *  \return a buffer containing schematic data or NULL on failure.
   */

Документирование Ñтруктур

Структуры документируютÑÑ Ñ‚Ð°Ðº же, как указано в предыдущих разделах. Учтите, что комментарии Ð´Ð»Ñ Ñ‡Ð»ÐµÐ½Ð¾Ð² Ñтруктур могут как быть вÑтроенными в их ÑобÑтвенные Ñтроки, так и указыватьÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ того же ÑинтакÑиÑа \brief, что и Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ…. Ð”Ð»Ñ Ð²ÑÑ‚Ñ€Ð°Ð¸Ð²Ð°Ð½Ð¸Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ð¸ в Ñтроку в её конце должен помещатьÑÑ ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ð¹ оÑобого вида, начинающийÑÑ Ñ /*!<.

  /*! \brief Structure for connections between OBJECTs
   *
   * The st_conn structure contains a single connection
   * to another object.
   * The connection system in s_conn.c uses this struct
   */
  struct st_conn {
    OBJECT *other_object; /*!< The "other" object connected to this one */
    /*! \brief type of connection. Always in reference to how the "other"
        object is connected to the current one */
    int type;
    int x; /*!< x coord of the connection position */
    int y; /*!< y coord of the connection position */
    int whichone; /*!< which endpoint of the current object caused this connection */
    int other_whichone; /*!< which endpoint of the "other" object caused this connection */
  };

Команды Bug/Todo

\bug и \todo полезны Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÑ‚ÐºÐ¸ меÑÑ‚ Ñ Ð½ÐµÐ´Ð¾Ñтатками или отÑутÑтвующими возможноÑÑ‚Ñми в коде. Эти команды могут быть вÑтавлены в любое меÑто внутри комментариев Doxygen, и Ñлужат они Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñей на Ñпециальных Ñтраницах в документации, позволÑющих легко найти ÑоответÑтвующее меÑто.

Диалоговые окна: дизайн и поведение

Создание диалоговых окон

ЕÑть прекраÑный документ от ребÑÑ‚ из gnome под названием Gnome HIG. ÐаÑчёт дизайна диалоговых окон и наÑчёт того, как они должны ÑÐµÐ±Ñ Ð²ÐµÑти, предложений неÑколько.

Дизайн диалоговых окон — Ñто, в общем-то, дело вкуÑа:

  • выравнивание Ñлементов. См. Window Layout
  • правое выравнивание кнопок диалога
  • некоторое раÑÑтоÑние вокруг диалога (но какое?)
  • некоторое раÑÑтоÑние между Ñлементами (по вертикали и по горизонтали)
  • группы Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡Ð°Ñ‚ÐµÐ»Ñ Ð² рамках или Ñо Ñдвигом?
  • метки рамок или жирные заголовки?

Модальные и немодальные диалоговые окна

Модальное окно диалога требуетÑÑ Ð²Ð¾ вÑех тех ÑлучаÑÑ…, когда данные Ð´Ð»Ñ Ð¾ÐºÐ½Ð° обеÑпечиваютÑÑ Ð¾Ñновным приложением.

Пример:
  Окно диалога вызываетÑÑ Ñо ÑпиÑком выбора и должно работать только
  Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ñтого ÑпиÑка.

Модальное окно подходит также тогда, когда диалог вызываетÑÑ Ð¾Ñ‡ÐµÐ½ÑŒ редко. Диалоговое окно Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° могло бы быть немодальным, так как Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ не требуетÑÑ Ð²Ð²Ð¾Ð´ никаких данных из приложениÑ.

Модальное окно не подходит, еÑли пользователь много взаимодейÑтвует Ñ Ñтим окном. Хороший пример — выбор компонентов.

Где размещать диалоговое окно

Диалоговое окно можно помеÑтить в различные меÑта Ñкрана. СпиÑок возможных меÑÑ‚ можно найти в GtkReference

Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð¸ помещаютÑÑ Ð¸Ð»Ð¸ в позиции мыши (GTK_WIN_POS_MOUSE) или ни в какой предуÑтановленной позиции (GTK_WIN_POS_NONE). Ð’ Gnome HID по Ñтой теме ничего не Ñказано.

ÐаÑтройкой по умолчанию Ð´Ð»Ñ GtkWindow ÑвлÑетÑÑ GTK_WIN_POS_NONE, Ñм. GtkWindow. ÐаÑтройкой по умолчанию Ð´Ð»Ñ GtkDialog ÑвлÑетÑÑ GTK_WIN_POS_CENTER_ON_PARENT ( taken from the GtkDialog source).

Помещение диалоговых окон перед их родительÑкими окнами

БольшинÑтво диалоговых окон размещаетÑÑ Ð¿ÐµÑ€ÐµÐ´ их родительÑкими окнами Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ÑвойÑтва transient_for (Ñм. GtkReference). Это ÑвойÑтво должно быть уÑтановлено Ð´Ð»Ñ Ð²Ñех модальных диалоговых окон.

Ð”Ð»Ñ Ð½ÐµÐ¼Ð¾Ð´Ð°Ð»ÑŒÐ½Ñ‹Ñ… диалоговых окон уÑтановка ÑвойÑтва transient_for не очевидна. Ð’ то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº, например, в gschem диалоговое окно координат должно находитьÑÑ Ð½Ð°Ð´ родительÑким окном, окно журнала вешать перед ним нужды нет.

Примечание: СущеÑтвует более Ñтарый механизм, удерживающий Ñти окна перед gschem. ЕÑли Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ raise-dialog-boxes-on-expose уÑтанавливаетÑÑ Ð² enabled в одном из файлов наÑтроек gschem, она может вызвать проблемы Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼Ð¸ оконными менеджерами. ЕÑли диалоговые окна мерцают при 100%-ной загрузке CPU, запретите Ñту наÑтройку.

; raise-dialog-boxes-on-expose string
;
; Должны ли диалоговые окна подниматьÑÑ Ð²ÑÑкий раз, когда поÑвитÑÑ
; Ñобытие expose
; По умолчанию включено (enabled)
;
;(raise-dialog-boxes-on-expose "enabled")
(raise-dialog-boxes-on-expose "disabled")

ПорÑдок кнопок в диалоговых окнах

ПорÑдок кнопок внизу диалогового окна завиÑит от иÑпользуемой операционной ÑиÑтемы. GTK обрабатывает Ñто автоматичеÑки, но требует, чтобы разработчики уÑтановили альтернативный порÑдок кнопок. Более подробно об Ñтом напиÑано в документации по GTK здеÑÑŒ.

Ðльтернативный порÑдок кнопок задаётÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ одного вызова GTK-функции:

/* ÐаÑтройка альтернативного порÑдка кнопок (ok, no, cancel, help) Ð´Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… ÑиÑтем */
gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog),
			                GTK_RESPONSE_OK,
					GTK_RESPONSE_NO,
					GTK_RESPONSE_CANCEL,
					GTK_RESPONSE_HELP,
					-1);

Это должно быть Ñделано перед запуÑком каждого нового Ñоздаваемого диалогового окна.

Дизайн текущих диалогов

  • Вокруг вÑего окна еÑть некоторое проÑтранÑтво (DIALOG_BORDER_SPACING).
  • Ðекоторый Ñдвиг Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ‚ÐµÐ¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкой группы (DIALOG_INDENTATION) под её жирным заголовком.
  • Вертикальное и горизонтальное разделение производитÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ DIALOG_H_SPACING и DIALOG_V_SPACING.

Шаблон иÑходного кода Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñтых диалоговых окон

Этот шаблон не предназначен Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñции, но отÑюда легко Ñкопировать нужный вам блок кода.

void dialog (TOPLEVEL *w_current)
{
  GtkWidget *vbox, *label, *alignment, *table;
  GtkWidget *dialog;
 
  /* Создавать диалоговое окно только тогда, когда его ещё нет. Обычно
     Ñто указатель на виджет в Ñтруктуре w_current:
     dialog = w_current->tewindow */
  if (!dialog) {
    dialog = gtk_dialog_new_with_buttons(_("Dialog title"),
					 /* родительÑкое окно или NULL */
					 GTK_WINDOW(w_current->main_window),
					 /* ÑвойÑтва диалога */
					 GTK_DIALOG_MODAL, /* 0 Ð´Ð»Ñ Ð½ÐµÐ¼Ð¾Ð´Ð°Ð»ÑŒÐ½Ñ‹Ñ… диалоговых окон */
					 /* кнопки окна и Ñигналы ответа */
					 GTK_STOCK_CANCEL,
					 GTK_RESPONSE_REJECT,
					 GTK_STOCK_OK,
					 GTK_RESPONSE_ACCEPT,
					 NULL);
 
    /* ÐаÑтройка альтернативного порÑдка кнопок (ok, no, cancel, help) Ð´Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… ÑиÑтем */
    gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog),
	  				    GTK_RESPONSE_OK,
					    GTK_RESPONSE_NO,
					    GTK_RESPONSE_CANCEL,
					    GTK_RESPONSE_HELP,
					    -1);
 
    /* УÑтановить Ñигнал ответа по умолчанию. Он обычно вызываетÑÑ
       по нажатию "Return" */
    gtk_dialog_set_default_response(GTK_DIALOG(dialog),
				    GTK_RESPONSE_ACCEPT);
 
    /* Задать функцию Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ ответов кнопок и Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ð³Ð¾ окна,
       Ð´Ð»Ñ Ð½ÐµÐ¼Ð¾Ð´Ð°Ð»ÑŒÐ½Ñ‹Ñ… окон можно также иÑпользовать dialog_run().*/
    gtk_signal_connect(GTK_OBJECT(dialog), "response",
		       GTK_SIGNAL_FUNC(dialog_response), w_current);
 
    /* Где размещать диалоговое окно: GTK_WIN_POS_MOUSE или GTK_WIN_POS_NONE */
    gtk_window_position(GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE);
 
    /* Задать раÑÑтоÑние от границы окна и раÑÑтоÑние между Ñлементами по вертикали */
    vbox = GTK_DIALOG(dialog)->vbox;
    gtk_container_set_border_width(GTK_CONTAINER(dialog),DIALOG_BORDER_SPACING);
    gtk_box_set_spacing(GTK_BOX(vbox), DIALOG_V_SPACING);
 
    /* Создать метку (Ñо Ñпецразметкой) и упаковать её в диалоговое окно */
    label = gtk_label_new(_("<b>Section label</b>"));
    gtk_label_set_use_markup(GTK_LABEL(label), TRUE);
    gtk_misc_set_alignment(GTK_MISC(label),0,0);
    gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
 
    /* Создать контейнер Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ Ñ DIALOG_INDENTATION Ñлева */
    alignment = gtk_alignment_new(0,0,1,1);
    gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0,
			      DIALOG_INDENTATION, 0);
    gtk_box_pack_start(GTK_BOX(vbox), alignment, FALSE, FALSE, 0);
 
    /* Таблица может Ñодержать неÑколько запиÑей. Она ÑохранÑетÑÑ Ð² контейнере выравниваниÑ.
       Примечание: раÑÑтоÑÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ Ñчейками по вертикали и горизонтали */
    table = gtk_table_new (3, 2, FALSE);
    gtk_table_set_row_spacings(GTK_TABLE(table), DIALOG_V_SPACING);
    gtk_table_set_col_spacings(GTK_TABLE(table), DIALOG_H_SPACING);
    gtk_container_add(GTK_CONTAINER(alignment), table);
 
    /* ПроÑÑ‚Ð°Ñ Ñ‚ÐµÐºÑÑ‚Ð¾Ð²Ð°Ñ Ð¼ÐµÑ‚ÐºÐ° в одной Ñчейке таблицы Ñ Ð»ÐµÐ²Ñ‹Ð¼ выравниванием.
       Примечание: GTK_FILL в третьей Ñтроке обÑзательно */
    label = gtk_label_new(_("Text:"));
    gtk_misc_set_alignment(GTK_MISC(label),0,0);
    gtk_table_attach(GTK_TABLE(table), label, 0,1,0,1, GTK_FILL,0,0,0);
 
    /* ПроÑтое поле ввода текÑта завершает Ñ€Ñд опций */
    textentry = gtk_entry_new_with_max_length (10);
    gtk_table_attach_defaults(GTK_TABLE(table), textentry, 1,2,0,1);
    gtk_entry_set_activates_default(GTK_ENTRY(textentry), TRUE);
 
    /* ..... ещё Ñтроки таблицы Ñ Ð¾Ð¿Ñ†Ð¸Ñми или новые разделы */
 
    /* Создать ÑÑылки на вÑе виджеты, которые потребуютÑÑ Ð² дальнейшем */
    GLADE_HOOKUP_OBJECT(dialog, sizeentry,"textentry");
 
    /* Показывать вÑе Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ€ÐµÐºÑƒÑ€Ñивно */
    gtk_widget_show_all(dialog);
  }
 
  else {
    /* Окно уже здеÑÑŒ. Показать его пользователю.
       Это необходимо только Ð´Ð»Ñ Ð½ÐµÐ¼Ð¾Ð´Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ диалогового окна */
    gtk_window_present(GTK_WINDOW(dialog));
  }
 
  /* Ð’Ñегда задавать в диалоговом окне текущие значениÑ
     ЕÑли помеÑтить Ñту чаÑть в конец функции диалогового окна, Ñто
     позволит легко Ñоздавать диалоги, которые можно будет
     вызывать, даже еÑли они уже открыты */
  textentry = g_object_get_data(G_OBJECT(dialog), "textentry");
  gtk_entry_set_text(GTK_ENTRY(textentry), string);
  /* Выделение облаÑти текÑта, которую пользовать обычно любит заменÑть */
  gtk_entry_select_region(GTK_ENTRY(textentry), 0, strlen(string));
}

Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¾Ñ‚Ð²ÐµÑ‚Ð° Ð´Ð»Ñ Ñ‚Ð°ÐºÐ¾Ð³Ð¾ диалогового окна может выглÑдеть так:

void dialog_response(GtkWidget *widget, gint response, TOPLEVEL *w_current)
{
  switch (response) {
  case GTK_RESPONSE_ACCEPT:
    /* Применить уÑтановки диалогового окна:
       проÑто вÑтавьте Ñвой код здеÑÑŒ, еÑли он короткий;
       или вызовите внешнюю функцию применениÑ, еÑли требуемый код длинный */
    break;
  case GTK_RESPONSE_REJECT:
  case GTK_RESPONSE_DELETE_EVENT:
    /* Ð”Ð»Ñ Ð¼Ð¾Ð´Ð°Ð»ÑŒÐ½Ñ‹Ñ… окон проÑто ничего не делаем,
       Ð´Ð»Ñ Ð½ÐµÐ¼Ð¾Ð´Ð°Ð»ÑŒÐ½Ñ‹Ñ… окон, уничтожаем диалог и прибираемÑÑ */
    break;
  default:
    /* Ловим ошибочные Ñигналы (Ð¿Ð°Ñ€Ð°Ð½Ð¾Ð¸Ð´Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ° ошибок ;-)) */
    printf("dialog_response(): strange signal %d\n", response);
  }
 
  /* Ð”Ð»Ñ Ð½ÐµÐ¼Ð¾Ð´Ð°Ð»ÑŒÐ½Ñ‹Ñ… окон проÑто ничего не делаем,
     Ð´Ð»Ñ Ð¼Ð¾Ð´Ð°Ð»ÑŒÐ½Ñ‹Ñ… окон вÑегда уничтожаем диалог и прибираемÑÑ */
}

Текущие проблемы Ñ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð¾Ð²Ñ‹Ð¼Ð¸ окнами в gschem

  • у каждого диалогового окна Ñвой ÑобÑтвенный дизайн
  • размещение окон: в позиции мыши или в непредопределённой позиции?
  • диалоговые окна не запоминают Ñвоего поÑледнего размера, Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸ Ñодержимого
  • отÑутÑтвуют «горÑчие клавиши»

ЗдеÑÑŒ ÑпиÑок вещей, которые могли бы быть улучшены:

Диалоговое окно печати
  • Изменить дизайн?
Сохранение изображений
  • Ð’ окне выбора файла отÑутÑтвует Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° по умолчанию, еÑли файл не ÑущеÑтвует
  • Клавиша Return не работает в поле запиÑи имени файла
Выполнить Ñкрипт
Правка текÑта
  • отÑутÑтвует неÑколько Ñочетаний клавиш
  • добавить теги *unmodified*, еÑли еÑть неÑколько выделенных объектов
  • может быть добавить неÑколько цветных pixbuf Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° цвета
  • может быть заменить выравнивание текÑта девÑтью Ñелективными кнопками, переключать кнопки Ñ Ð¸ÐºÐ¾Ð½ÐºÐ°Ð¼Ð¸ или …
Правка цвета
  • может быть добавить неÑколько цветных pixbuf Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° цвета
СвойÑтва линии
  • отÑутÑтвуют «горÑчие клавиши»
  • иконки Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð¾Ð² линии
Тип заполнениÑ
  • отÑутÑтвуют «горÑчие клавиши»
  • иконки Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð¾Ð² заполнениÑ
Смещение Ñимвола
Менеджер Ñтраниц
  • неправильный порÑдок кнопок? ЗавиÑит от того, Ñчитаете ли вы кнопку Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ñновной дейÑтвующей кнопкой или проÑто дополнительной кнопкой
  • может быть клавиша «Return» должна вызывать обновление
Выбор компонентов
  • Ñтранный виджет редактированиÑ, когда производитÑÑ Ð½Ð°Ð±Ð¾Ñ€ текÑта при выделенном дереве (Ñтот виджет — помощник в поиÑке, запретить его?!)
Редактор атрибута
  • некоторые проблемы при выделении неÑкольких Ñлементов и вызове функции Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ (ee):
    • еÑли первый объект ÑвлÑетÑÑ Ñ‚ÐµÐºÑтом, то открываетÑÑ Ñто диалоговое окно (но Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¼ параметром ÑпиÑка)
    • еÑли первый объект ÑвлÑетÑÑ ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑным (complex), то вызываетÑÑ ÐŸÑ€Ð°Ð²ÐºÐ° атрибутов
Правка атрибутов
Ввод текÑта
Параметры дуги
  • Добавить в диалоговое окно диаметр, но выбирать поле ввода начального угла (increment = grid)
  • пуÑть «ee» вызывает диалог, еÑли выделена только одна дуга
  • может быть добавить метку раздела
Ð’Ñтавка изображениÑ
Замена изображениÑ
  • новое изображение иÑпользует отношение Ñторон Ñтарого
  • диалоговое окно имеет много общего Ñ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð¾Ð²Ñ‹Ð¼ окном вÑтавки изображениÑ. Они могли бы ÑовмеÑтно иÑпользовать общий код
Ðайти текÑÑ‚...
  • манипулирует указателем мыши (может быть виновником ÑвлÑетÑÑ ÐºÐ¾Ð´ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼Ð°Ñштаба). ПроÑто нажать «Return» чтобы вызвать FindNext (найти Ñледующий)
  • еÑли вы выбираете поиÑк по иерархии и найденный текÑÑ‚ находитÑÑ Ð½Ð° другой Ñхеме, то Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° в заголовке окна не обновлÑетÑÑ
  • может быть добавить опцию: «Выделить вÑе ÑоответÑтвующие выражению текÑтовые объекты», запретить иерархию Ð´Ð»Ñ Ñтого ÑлучаÑ!
  • FIXME gschem виÑнет, еÑли Ñто диалоговое окно иÑпользуетÑÑ Ñ Ð¸ÐµÑ€Ð°Ñ€Ñ…Ð¸Ñ‡ÐµÑкой Ñхемой, в которой еÑть цикличеÑкие завиÑимоÑти (например, Ð°Ð²Ñ‚Ð¾Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ‚ÐµÑтовой Ñхемы)
  • добавить опцию «поиÑк только в видимом текÑте»
  • может быть Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка текÑта вмеÑто чаÑти Ñтроки иÑпользовать регулÑрные выражениÑ
Скрыть текÑÑ‚...
  • иÑпользовать регулÑрные Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð²Ð¼ÐµÑто начала Ñтроки
Показать текÑÑ‚...
  • иÑпользовать регулÑрные Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð²Ð¼ÐµÑто начала Ñтроки
  • может быть объединить Ñто окно Ñ Ð¾ÐºÐ½Ð¾Ð¼ «Скрыть текÑт…»
ÐвтонумерациÑ...
  • может быть запретить опцию пропуÑка, еÑли облаÑтью перенумерации ÑвлÑетÑÑ Â«Ð’Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ñ‹Ðµ объекты». Другие варианты пропуÑка (Â«Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ñтраница» и «ВÑÑ Ð¸ÐµÑ€Ð°Ñ€Ñ…Ð¸Ñ») чеÑÑлово глупые.
Размер текÑта
Шаг Ñетки привÑзки...
Окно координат...
  • может быть перенеÑти координаты вÑей рабочей облаÑти в панель ÑоÑтоÑÐ½Ð¸Ñ Ð¾Ñновного окна?
Окно О программе
ГорÑчие клавиши
1) ЗдеÑÑŒ и далее в коде вÑÑ‘ конечно же должно быть по-английÑки. — Прим. перев.
lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-extensions.html0000644000175000017500000001725713634703632020413 00000000000000

Extending gschem

Since the gschem configuration files are Scheme scripts, they provide a way to load additional capabilities into gschem by defining new functions that manipulate objects and pages.

gschem (and other gEDA/gaf tools such as gnetlist) use Guile Scheme to provide Scheme scripting capabilities, and all of the features of Guile are available to use. The Guile Reference Manual is available as an Info manual (info guile on most systems), or on the Guile website.

A collection of modules is provided for accessing and modifying gEDA objects and pages, called the gEDA Scheme API. The gEDA Scheme Reference Manual is also available as an Info manual (info geda-scheme).

Adding an action

Actions are thunks, i.e. Scheme procedures that take no arguments. For gschem to be able to find them, they must be defined in the top-level module, so you must do one of the following:

  • define the procedure directly in one of your configuration files;
  • define the procedure in a Scheme file loaded (using load) from one of your configuration files;
  • or export the procedure in a Guile module which you load (with use-modules) from your configuration files.

You can then bind the procedure to a keystroke as normal with global-set-key.

Hooking into built-in actions

gschem allows you to register functions, called hooks, to be executed when a user executes a built-in function. These are provided by the (gschem hook) Guile module. For more information, see the Hooks page in the gEDA Scheme Reference Manual.

Procedures for extension writers

In addition to the gEDA Scheme API functions, gschem provides some utility procedures for extension writers.

The functions described in this section are not guaranteed to remain stable from one release of gEDA/gaf to another. For longer-term stability, use only the gEDA Scheme API.

Function Description
gschem-print Export PostScript (see Printing) to the output filename specified with the -o command-line option, or the default PostScript filename if no option was given.
gschem-postscript FILENAME Export PostScript to FILENAME.
gschem-image FILENAME Export an image (see Exporting images) to the output filename specified with the -o command-line option, or to FILENAME if no option was given.
gschem-exit Exit gschem immediately. Warning: if the user has unsaved changes, he will not be given the opportunity to save them.
gschem-log MSG Write MSG to the gschem log.
gschem-msg MSG Display a message dialog to the user with the text MSG.
gschem-confirm MSG Display a confirmation dialog to the user, with “Yes†and “No†buttons and the text MSG. Return #t if the user selects “Yesâ€, and #f otherwise.
gschem-filesel MSG TEMPL FLAGS Display a file selector dialog, with MSG in the title and the default filename TEMPL. The FLAGS control the file selector behavior, and should be a list of strings. The following strings can be provided in the FLAGS: “may_exist†if the file selected is permitted to already exist; “must_exist†if the file selected must already exist; “must_not_exist†if the file selected must not already exist; “save†to show a “Save file…†dialog; “open†to show an “Open file…†dialog.
lepton-eda-1.9.10/docs/wiki/geda-sn_readme.html0000644000175000017500000001263313634703632016203 00000000000000

Switcap netlister README

-----------------------------------------------------------------
I.   What is this?
-----------------------------------------------------------------

This archive contains a set of symbols and a netlister backend for the
gEDA to drive SWITCAP simulations.  gEDA is the GNU EDA project and
includes a schematic capture tool and a highly flexible netlister.
The SWITCAP program is a switched capacitor circuit simulator.

-----------------------------------------------------------------
II.  Overview
-----------------------------------------------------------------

The basic steps involved with using gEDA as the frontend for SWITCAP
simulations are:

- configure the gEDA symbol search path
- set the gEDA netlister backend search path
- create schematics of the circuit
- create an analysis file
- extract the netlist
- run the SWITCAP simulation


-----------------------------------------------------------------
III.  Initial Setup
-----------------------------------------------------------------
  1)  Set your symbol search path for gschem and gnetlist by adding
      the following line to the 'gschemrc' and 'gnetlistrc' files in
      your project directory.  

        (component-library "/path/to/sym/switcap")

      If those files do not exist, then create them.  You will need to
      replace /path/to/sym/switcap with the directory name where you
      have installed the .sym files.

  2)  Set the search path for scheme files for gnetlist by adding the
      following line to your 'gnetlistrc' file.

        (scheme-directory "/path/to/scheme")

      You will need to replace /path/to/scheme with the path to where
      you have installed the gnet-switcap.scm file.

  3)  

-----------------------------------------------------------------
IV.  Creating Schematics
-----------------------------------------------------------------

--------------------
A.  Required Symbols
--------------------

This section assumes you are familiar with using gschem to create and
edit schematics.  SWITCAP netlisting is only supported for the
components contained in the SWITCAP symbol library as well as the
ground symbol found in the 'power' library which comes with gEDA.  All
allowed SWITCAP elements except for subcircuits are supported.  You
_must_ include the following elements on your schematic:

- one instance of the switcap-timing symbol.  This symbol will set the
  master clock period for your simulations.

- one or more instances of the switcap-clock symbol.  This symbol
  defines a clock with a particular phase and period.  The reference
  designator of the clock symbol is used by the switches to set what
  phase they switch on.

- one or more instances of the switcap-analysis symbol.  This symbol
  defines an analysis by specifying a file to include in the SWITCAP
  netlist.

--------------------
B.  Optional Symbols
--------------------

You can also optionally add the following SWITCAP special symbols to
your schematic:

- zero or one instance of the switcap-title symbol.  This will add a
  TITLE: line to the SWITCAP netlist and will appear in the output
  file.

- zero or one instance of the switcap-options symbol.  By editing the
  OPTIONS attribute on this symbol you can set the various options
  which can be passed to SWITCAP.

--------------------
C.  Net Names
--------------------

When creating schematics to drive SWITCAP, you should name all nets
that you wish to plot.  To avoid possible conflicts with unnamed nets,
you should avoid using purely numerical names for nets because
all unnamed nets will be assigned (somewhat randomly) numbers.
SWITCAP limits the length of node names to 7 characters.

--------------------
D.  Switches
--------------------

When placing switches on your schematic, you will need to define
which clock they are controlled with.  This is done by setting
the clock attribute on the switch to the reference designator 
of the clock which should control it.

-----------------------------------------------------------------
V.  Extracting the SWITCAP Netlist
-----------------------------------------------------------------

To extract the SWITCAP netlist, run

  gnetlist -g switcap -o test.scn file1.sch [file2.sch ...]

For the example file contained in this archive, you can run:

  gnetlist -g switcap -o example.scn ckt.sch clocks.sch analysis.sch

The netlist will be left in example.scn.

-----------------------------------------------------------------
VI.  Running SWITCAP
-----------------------------------------------------------------

I typically use something like:

  printf "example.scn\nexample.out" | sw

so I can use command history to rerun SWITCAP without having to
manually type the file names each time.

Refer to the SWITCAP manual for more details.

lepton-eda-1.9.10/docs/wiki/geda-pcb_tips.ru.html0000644000175000017500000053210513634703632016477 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English, Français.

ВопроÑÑ‹ по поÑадочным меÑтам

У Ð¼ÐµÐ½Ñ Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¿Ð¾ поводу поÑадочных меÑÑ‚

Смотрите Ñтраницу ПоÑадочные меÑта в pcb.

О разработке топологии печатных плат и траÑÑировке

  • ÐаÑтоÑÑ‰Ð°Ñ Ñтраница Ñодержит информацию о разводке печатных плат в gEDA/pcb.
  • См. также глоÑÑарий Ñ Ð¾Ð¿Ð¸Ñанием терминов gEDA.

Другие FAQ по pcb

Где почитать об оÑновах работы в pcb?

РуководÑтво по pcb Ñодержит краткое опиÑание пользовательÑкого интерфейÑа в разделе "Ð”Ð»Ñ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÑŽÑ‰Ð¸Ñ…".

ЕÑть ли ÑпоÑоб Ñохранить файл в формате Ð´Ð»Ñ Ñтарой верÑии?

ПоÑле Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ñ‹Ñ… возможноÑтей в формат файла Ñтарые верÑии программы могут подавитьÑÑ Ñтими перлами в куÑках топологии. Ð”Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾Ñ‚Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ñ‚Ð°ÐºÐ¾Ð³Ð¾ неÑчаÑÑ‚ÑŒÑ pcb-файлы Ñодержат запиÑи о минимально допуÑтимой верÑии программы. Старые верÑии pcb отказываютÑÑ Ð·Ð°Ð³Ñ€ÑƒÐ¶Ð°Ñ‚ÑŒ файлы топологии, Ñохранённые более новыми. Ð’ качеÑтве примера можно назвать добавление в 2010 г. вырезов в полигоны. Чтобы открыть файлы топологии, в которых они иÑпользуютÑÑ, вам понадобитÑÑ Ð²ÐµÑ€ÑÐ¸Ñ pcb, ÑÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¸Ð· иÑходников позднее Ð¸ÑŽÐ½Ñ 2010 г.

К Ñожалению, Ð½ÐµÐ»ÑŒÐ·Ñ Ñохранить топологию таким образом, чтобы Ñтарые верÑии pcb Ñмогли её понÑть. Ðо еÑли не иÑпользовать вырезы в полигонах, можно проÑто вручную иÑправить верÑию файла в заголовке на 20070407 и открыть полученный файл в Ñтарой верÑии pcb.

Я нашёл ошибку! Что мне делать?

  1. Прочитайте Ñначала Ñтраницу о Ñообщении ошибок в pcb.
  2. Проверьте, что нужно Ñделать, чтобы воÑпроизвеÑти Ñту ошибку.
  3. СпроÑите в ÑпиÑке раÑÑылки geda-user, еÑть ли ÑпоÑоб её обойти или не победили ли её уже в поÑледней верÑии pcb. Учтите, что прежде чем пиÑать в Ñтот ÑпиÑок раÑÑылки, на него нужно подпиÑатьÑÑ.
  4. Проверьте, не отмечена ли уже Ñта проблема в ÑиÑтеме отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº pcb. ЕÑли нет, заполните отчёт об ошибке. ОбÑзательно предÑтавьте вÑÑŽ информацию, необходимую Ð´Ð»Ñ Ð²Ð¾ÑÐ¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¸, и укажите верÑию пакета pcb, её Ñодержащую.
  5. Ðаконец, как и Ð´Ð»Ñ Ð²Ñех проектов Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом, вы можете напрÑчь Ñвои программиÑÑ‚Ñкие муÑкулы и попробовать иÑправить ошибку ÑамоÑтоÑтельно. ПожалуйÑта, предÑтавьте заплату Ñ Ð½ÑƒÐ¶Ð½Ñ‹Ð¼Ð¸ вам изменениÑми в ÑиÑтему отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº. Заплата будет охотно принÑта Ð´Ð»Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ñледующей верÑии pcb.

Как наÑтроить иÑпользование нормативов производÑтва (то еÑть Ñпецификации диаметров Ñвёрл, ширины/проÑвета Ð´Ð»Ñ Ð´Ð¾Ñ€Ð¾Ð¶ÐµÐº)?

Эта тема раÑкрываетÑÑ Ð² руководÑтве.

Ðеочевидные аÑпекты графичеÑкого интерфейÑа

ÐœÐµÐ½Ñ Ð´Ð¾Ñтало автопанорамирование. Что мне делать?

ВозможноÑть Ð°Ð²Ñ‚Ð¾Ð¿Ð°Ð½Ð¾Ñ€Ð°Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð° в ÑентÑбре 2011 г. ПоÑтому вам может помочь уÑтановка более Ñвежей верÑии.

ЕÑли вы иÑпользуете более Ñтарую верÑию pcb, можно Ñделать Ñледующее:

  • Узнать, включено ли автопанорамирование, можно, поÑмотрев, еÑть ли небольшие квадратики на концах перекреÑÑ‚Ð¸Ñ ÐºÑƒÑ€Ñора.
  • Ðвтопанорамирование при перемещении можно переключить щелчком правой кнопки мыши.
  • СкороÑть Ð°Ð²Ñ‚Ð¾Ð¿Ð°Ð½Ð¾Ñ€Ð°Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ наÑтроить в $HOME/.pcb/preferences.

Клавиша [Delete] иногда не хочет удалÑть

ВероÑтно, вы пытаетеÑÑŒ удалить выделенный объект. Клавиша Delete в pcb дейÑтвует не на выделение, а на объект, находÑщийÑÑ Ð¿Ð¾Ð´ курÑором мыши. Следовательно, еÑли объект выделен, а мышь находитÑÑ Ð² каком-то другом меÑте, ничего удалено не будет. Вывод: нужно проÑто указать мышью на объект и нажать клавишу Delete. ВыделÑть объект не надо.

Тем не менее текущее выделение можно удалить клавишей Backspace.

Я пытаюÑÑŒ перемеÑтить объект, но pcb не даёт мне Ñто Ñделать!

Скорее вÑего объект заблокирован. Заблокированные объекты не подÑвечиваютÑÑ. Чтобы увидеть, что Ñто на Ñамом деле так, надо выбрать Выделить вÑе Ñоединённые объекты из меню Выделение. Ð”Ð»Ñ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… поÑадочных меÑÑ‚ над точкой их привÑзки в виде ромбика отображаетÑÑ Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ°Ñ Ð±ÑƒÐºÐ²Ð° «L». Ð”Ð»Ñ Ñ€Ð°Ð·Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²ÐºÐ¸ нужного объекта воÑпользуйтеÑÑŒ инÑтрументом LOCK. Учтите, что ÑоÑтоÑние блокировки объекта переключаетÑÑ Ð¿Ñ€Ð¸ каждом щелчке по нему Ñтим инÑтрументом. ПоÑле Ñтого Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° открываетÑÑ Ð¾ÐºÐ½Ð¾ отчёта, в котором Ñто ÑоÑтоÑние отображаетÑÑ Ð² поÑледней Ñтроке.

ЕÑли вы хотите удалить вÑе блокировки, обратите внимание на возможноÑть открыть Ñвой файл *.pcb в любимом текÑтовом редакторе и удалить в нём вÑе Ñтроки lock.

Другой причиной Ð´Ð»Ñ Ñ‡Ð¸Ñловых объектов может быть уÑтановка Только Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð² меню ÐаÑтройки. Когда выбрана Ñ‚Ð°ÐºÐ°Ñ Ð½Ð°Ñтройка, инÑтрумент Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ дейÑтвовать иÑключительно на текÑÑ‚. Это полезно при плотной компоновке. ЕÑть также Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð½Ð°Ñтройка Заблокировать названиÑ.

Размещение компонентов

Как повернуть выделение (то еÑть более одного Ñлемента)?

  1. Выберите Ñлементы Ð´Ð»Ñ Ð¿Ð¾Ð²Ð¾Ñ€Ð¾Ñ‚Ð°
  2. Буфер → Вырезать выделенное в буфер
  3. Буфер → Повернуть буфер на +90° (или -90°)
  4. Щёлкните где-нибудь на плате и выделение Ñнова будет вÑтавлено.

Внимание: при иÑпользовании квадратных контактных площадок полигоны могут не очищатьÑÑ Ð½Ð°Ð´Ð»ÐµÐ¶Ð°Ñ‰Ð¸Ð¼ образом. Однако Ñ Ð¿Ñ€Ñмоугольными площадками вÑÑ‘ работает нормально. Это извеÑÑ‚Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð°, причина которой кроетÑÑ Ð² ÑложноÑти Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ñ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ð¸ квадратной площадки.

Как повернуть объекты на произвольный угол?

  1. Вырежьте объект в буфер обмена.
  2. Ðаберите :FreeRotateBuffer(45). При нажатии клавиши : откроетÑÑ Ð¾ÐºÐ½Ð¾ командной Ñтроки. ВмеÑто «45» введите нужный угол поворота.
  3. Ð’Ñтавьте объект назад на Ñвою плату.

Примечание: по внутренним причинам FreeRotateBuffer не работает Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ квадратами. Обойти Ñто ограничение можно ÑоÑтавлением квадрата из двух или более полигонов.

Как перемеÑтить объекты на произвольное раÑÑтоÑние?

  1. Ðаведите указатель мыши на объект Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ.
  2. Ðаберите :MoveObject(x,y,unit). При нажатии : откроетÑÑ Ð¾ÐºÐ½Ð¾ командной Ñтроки. ВмеÑто «x» и «y» введите нужные координаты, а вмеÑто «unit» — «mm» или «mil».
  3. Ðажмите Enter.

ЕÑли обе координаты заданы Ñ Ð¿Ñ€ÐµÑ„Ð¸ÐºÑом «+» или «-», объект будет перемещён на заданные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð½Ð¾Ñительно текущего положениÑ. Ð’ противном Ñлучае заданные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ новыми абÑолютными координатами объекта.

Как перемеÑтить объекты в абÑолютно заданные координаты?

ИÑпользуйте команду MoveObject() как указано выше.

Как изменить размер графичеÑкого объекта (например, текÑта, линий шелкографии и др.)?

  • Чтобы увеличить размер объекта, наведите на него курÑор мыши и нажмите S.
  • Чтобы уменьшить размер объекта, наведите на него курÑор мыши и нажмите Shift+S.

ÐŸÐµÑ€ÐµÐ¹Ð´Ñ Ð² Файл → ÐаÑтройки… → ПриращениÑ, можно изменить размер приращений. (Примечание: в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ñта наÑтройка Ñломана.)

Как размеÑтить компоненты на обеих Ñторонах печатной платы?

ЕÑть два варианта:

  • Ðажатие клавиши Tab приводит к Ñмене активной Ñтороны, которой может быть либо Ñторона компонентов (component), либо Ñторона пайки (solder). При размещении компоненты уÑтанавливаютÑÑ Ð½Ð° активную Ñторону.
  • Можно помеÑтить компонент на ту Ñторону платы, которую вы видите, а затем (при наведённом на него курÑоре мыши) нажать клавишу B (что означает перемеÑтить компонент на обратную Ñторону — «Back side»), и компонент будет перемещён на другую Ñторону.

Ðе получаетÑÑ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰Ð°Ñ‚ÑŒ компоненты на другую Ñторону платы!

Мышь дейÑтвует только на те компоненты, что раÑположены на активной Ñтороне платы. Это нужно Ð´Ð»Ñ ÑƒÑÑ‚Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñ‡Ð½Ð¾Ñти в том Ñлучае, когда компоненты раÑположены на обеих Ñторонах, верхней и нижней. По умолчанию активна верхнÑÑ Ñторона, а нижнÑÑ ÑчитаетÑÑ Â«Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð¹ Ñтороной», компоненты на ней недоÑтупны Ð´Ð»Ñ Ð¼Ñ‹ÑˆÐ¸. Ð”Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð°Ð¼Ð¸ обратной Ñтороны можно поменÑть роли Ñторон. Это делаетÑÑ Ð½Ð°Ð¶Ð°Ñ‚Ð¸ÐµÐ¼ Tab, Shift+Tab, Ctrl+Tab или Ctrl+Shift+Tab. Кроме Ñмены активной Ñтороны Ñти ÑÐ¾Ñ‡ÐµÑ‚Ð°Ð½Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ñˆ позволÑÑŽÑ‚ по-разному переворачивать плату. Ð’ чаÑтноÑти:

  • Tab: менÑет верхнюю и нижнюю Ñтороны меÑтами и зеркально отражает отноÑительно горизонтальной оÑи. Это вÑÑ‘ равно что перевернуть наÑтоÑщую плату Ñверху вниз.
  • Shift+Tab: менÑет верхнюю и нижнюю Ñтороны меÑтами и зеркально отражает отноÑительно вертикальной оÑи. Это подобно переворачиванию наÑтоÑщей платы Ñлева направо, как Ñтраницы в книге.
  • Ctrl+Tab: менÑет верхнюю и нижнюю Ñтороны меÑтами и зеркально отражает отноÑительно обеих оÑей. То еÑть приводит к инверÑии. С наÑтоÑщей платой такого не Ñделаешь никак…
  • Ctrl+Shift+Tab: никакого отражениÑ, только Ñмена Ñторон. Это похоже на проÑвечивание рентгеновыми лучами.

Как узнать, на какой Ñтороне раÑположен компонент?

ЕÑли в данный момент компонент находитÑÑ Ð½Ð° обратной Ñтороне платы, ÑˆÐµÐ»ÐºÐ¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ будет отображатьÑÑ Ñерым цветом. ЕÑли вы не уверены, отключите показ обратной Ñтороны кнопкой Â«Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ Ñторона», раÑположенной в нижней чаÑти набора кнопок Ñлоёв. При Ñтом должна переÑтать отображатьÑÑ ÑˆÐµÐ»ÐºÐ¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ð²Ñех находÑщихÑÑ Ð½Ð° обратной Ñтороне компонентов.

Как начертить шелкографию на обратной Ñтороне платы?

Ð¥Ð¾Ñ‚Ñ Ð´Ð»Ñ ÑÐ»Ð¾Ñ ÑˆÐµÐ»ÐºÐ¾Ð³Ñ€Ð°Ñ„Ð¸Ð¸ в окне pcb еÑть только одна кнопка, ÑˆÐµÐ»ÐºÐ¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки раÑполагаетÑÑ Ð½Ð° обеих Ñторонах. Ð’ обычном Ñлучае Ñта кнопка отноÑитÑÑ Ðº шелкографии на Ñтороне компонентов платы. Чтобы помеÑтить текÑÑ‚ или линии шелкографии на Ñторону пайки, плату нужно перевернуть нажатием Tab (или Shift+Tab, еÑли вам больше нравитÑÑ Ð¿ÐµÑ€ÐµÐ²Ð¾Ñ€Ð°Ñ‡Ð¸Ð²Ð°Ñ‚ÑŒ Ñлева-направо). Это вÑÑ‘ равно что перевернуть плату обратной Ñтороной вверх. Слой пайки окажетÑÑ Ð½Ð°Ð²ÐµÑ€Ñ…Ñƒ, а Ñлой компонентов — внизу. Объекты ÑÐ»Ð¾Ñ ÑˆÐµÐ»ÐºÐ¾Ð³Ñ€Ð°Ñ„Ð¸Ð¸ на Ñтороне компонентов Ñтанут Ñерыми. Когда вы чертите в Ñлое шелкографии, линии вÑегда помещаютÑÑ Ð½Ð° текущий Ñлой шелкографии, то еÑть тот, что находитÑÑ Ñверху, в данном Ñлучае Ñто Ñлой на Ñтороне пайки. Точно так же ведётÑÑ Ñ€Ð°Ð±Ð¾Ñ‚Ð° и Ñо Ñлоем шелкографии на Ñтороне компонентов. Чтобы вернуть обычный вид, переверните плату ещё раз.

Почему текÑÑ‚, который Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑŽ на Ñторону пайки, не переворачиваетÑÑ?

ДобавлÑйте его, перевернув плату (нажатием Tab). ПроÑто выбрать Ñторону пайки недоÑтаточно. Ðовый текÑÑ‚ вÑегда читаетÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾ Ñ Ñ‚Ð¾Ð¹ Ñтороны, на которую вы Ñмотрите при его вводе.

Можно ли задать произвольный размер Ñетки?

Да. Можно иÑпользовать команду setvalue(grid,value,unit). Чтобы Ñто Ñделать:

  1. Ðаберите :SetValue(grid,=x,unit). При нажатии : откроетÑÑ Ð¾ÐºÐ½Ð¾ командной Ñтроки. ВмеÑто «x» введите нужный размер Ñетки, а вмеÑто «unit» — «mm» или «mil».
  2. Ðажмите Enter.

Как наÑтроить начало координат в pcb?

ÐбÑолютное начало координат вÑегда находитÑÑ Ð² верхнем левом углу рабочей облаÑти. Его Ð½ÐµÐ»ÑŒÐ·Ñ Ð·Ð°Ð´Ð°Ñ‚ÑŒ в другом меÑте. Ðо можно задавать координаты объектов и отноÑительно точки на текущей Ñетке. Ð’ GTK2-верÑии pcb координаты отображаютÑÑ Ð² верхнем правом углу оÑновного окна. ÐŸÑ€Ð°Ð²Ð°Ñ Ð¿Ð°Ñ€Ð° показывает абÑолютные координаты, а Ð»ÐµÐ²Ð°Ñ â€” отноÑительные, по отношению к произвольно уÑтановленной метке. Ðажатием клавиш Ctrl+M Ñта метка уÑтанавливаетÑÑ Ð² текущую координату. Ð’Ñ‹ можете, например, уÑтановить Ñту метку на какую-либо точку Ñетки или на определённый вывод компонента.

Как измерить раÑÑтоÑÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ объектами и их размеры?

С помощью Ctrl+M задайте точку отÑчёта, и в правом верхнем углу окна pcb вы увидите положение ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð¼Ñ‹ÑˆÐ¸ отноÑительно данной точки. Ð”Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… объектов, таких как переходы и дорожки, полезную информацию можно найти в окне отчёта об объекте. Чтобы открыть его, надо навеÑти указатель мыши на нужный объект и нажать Ctrl+R.

Как Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ñ… Ñоединений Ñкрыть линии ÑвÑзи?

Ð’ окне ÑпиÑка Ñоединений дважды щёлкните по определённому названию линии ÑвÑзи, затем нажмите O в окне платы. Линии ÑвÑзи Ð´Ð»Ñ Ñтого ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ Ñкрыты. Ð’ окне СпиÑок Ñоединений Ñ€Ñдом Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ данной линии ÑвÑзи поÑвитÑÑ Ð·Ð²Ñ‘Ð·Ð´Ð¾Ñ‡ÐºÐ° (*). Чтобы получить обратное, проделайте то же Ñамое.

ТраÑÑировка

Как провеÑти Ñоединение Ñо Ñтороны пайки на Ñторону компонентов и обратно?

При вычерчивании дорожек инÑтрументом LINE нажатием цифр на клавиатуре можно переключить Ñлои. При Ñтом в конечной точке поÑледнего законченного Ñегмента автоматичеÑки будет помещён переход.

Как изменить Ñтиль траÑÑировки?

Ð”Ð»Ñ Ñ‚Ñ€Ð°ÑÑировки еÑть наборы предопределённых размеров. ÐÐ°Ð·Ð²Ð°Ð½Ð¸Ñ Ñтих наборов Ñамоочевидны («Ñигналы» [Signal], «питание» [Power], «толÑтый» [Fat] и «тонкий» [Skinny]). Чтобы наÑтроить размеры текущего набора под ÑебÑ, нажмите кнопку Стили траÑÑировки. ÐаÑтроить Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñтих наборов параметров и их Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию можно в файле конфигурации (~/.pcb/settings Ð´Ð»Ñ GTK-HID или ~/.Xdefaults Ð´Ð»Ñ Lesstif-HID). Вот пример такой наÑтройки:

route-styles = Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600

ОбÑзательно удалите любые другие Ñтроки route-style в ~/.pcb/preferences. Иначе Ð´Ð°Ð½Ð½Ð°Ñ Ñтрока наÑтроек будет проигнорирована.

ИнÑтрумент Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð»Ð¸Ð½Ð¸Ð¹ LINE может работать Ñ Ð¸Ð·Ð»Ð¾Ð¼Ð°Ð¼Ð¸ дорожек в неÑкольких режимах. Текущий режим работы отображаетÑÑ Ð²Ð½Ð¸Ð·Ñƒ Ñтраницы в Ñтроке ÑоÑтоÑниÑ:

  1. линии под 45°, затем вертикальные/горизонтальные (Ñтрока ÑоÑтоÑниÑ: «\_»)
  2. вертикальные/горизонтальные линии, затем под 45° (Ñтрока ÑоÑтоÑниÑ: «_/»)
  3. линии только вертикальные, горизонтальные или под 45° (Ñтрока ÑоÑтоÑниÑ: «45»)
  4. линии под произвольным углом (Ñтрока ÑоÑтоÑниÑ: «all»)

СпоÑоб доÑтупа к Ñтим режимам в разных верÑиÑÑ… графичеÑкого интерфейÑа различаетÑÑ. Ð’ текущем Ñрезе GTK (v20060288) по умолчанию уÑтановлен режим «_/», но клавишей Shift можно временно переключатьÑÑ Ð½Ð° «\_». Клавишей / можно переключитьÑÑ Ð½Ð° режим 45°. Ð”Ð»Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ñ… углов нажмите клавишу . или выберите в меню наÑтроек Линии любого направлениÑ.

ВопроÑÑ‹ траÑÑировки

Я запуталÑÑ! Как вернуть вÑÑ‘ назад?

УниверÑÐ°Ð»ÑŒÐ½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÐ° отката изменений U работает даже в процеÑÑе Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð´Ð¾Ñ€Ð¾Ð¶ÐµÐº. При её нажатии поÑледний Ñегмент будет удалён, но инÑтрумент LINE оÑтанетÑÑ Ð²Ñ‹Ð±Ñ€Ð°Ð½. Так что можно Ñразу же продолжить разводку и найти лучший маршрут.

Как перемеÑтить набор дорожек на другой Ñлой?

  1. Выделите дорожки. Легче вÑего Ñто Ñделать, отключив вÑÑ‘, кроме нужного ÑÐ»Ð¾Ñ (то еÑть Ñлои шелкографии, выводов, другие Ñлои…)
  2. Теперь Ñделайте новый Ñлой текущим. Да, Ñтот Ñлой может Ñтать видимым. Ðичего Ñтрашного, ведь вы уже выбрали нужные дорожки.
  3. Ðажмите Shift+M и вÑе выделенные дорожки будут перемещены в текущий Ñлой.

Как Ñделать переходы открытыми, то еÑть не покрытыми паÑльной маÑкой?

По умолчанию переходы в pcb покрываютÑÑ Ð¿Ð°Ñльной маÑкой. Сделать переходы открытыми можно, уÑтановив Ð´Ð»Ñ Ð½Ð¸Ñ… величину проÑвета в паÑльной маÑке в подходÑщее значение. Это можно Ñделать Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ объекта в отдельноÑти или Ð´Ð»Ñ Ð²Ñех выделенных объектов Ñразу.

Ð”Ð»Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ñ… переходов:

  1. Включите Ñлой паÑльной маÑки. Это приведёт к тому, что клавиша K будет отноÑитьÑÑ Ðº проÑвету в паÑльной маÑке, вмеÑто зазора между контактной площадкой перехода и полигоном.
  2. Ðаведите мышь на переход (в новых верÑиÑÑ… pcb вид курÑора мыши при Ñтом изменитÑÑ).
  3. Ðажмите неÑколько раз K, пока проÑвет в паÑльной маÑке не превыÑит диаметр площадки перехода. При каждом нажатии клавиши проÑвет увеличиваетÑÑ Ð½Ð° 2 мила. Первое нажатие приведёт к тому, что площадка перехода Ñтанет видна через паÑльную маÑку. ДейÑтвительный размер проÑвета при Ñтом будет равен только 2 милам. Ðажатием Shift+K проÑвет можно уменьшать.

Ð”Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¿ переходов:

  1. Выделите вÑе переходы, которые нужно очиÑтить от паÑльной маÑки. Чтобы выделить только переходы, Ð´Ð»Ñ ÑƒÐ´Ð¾Ð±Ñтва можно отключить вÑе прочие Ñлои.
  2. Включите Ñлой паÑльной маÑки.
  3. ÐеÑколько раз нажмите клавиши Ctrl+K. Ðажатие Shift+Ctrl+K приведёт к уменьшению проÑвета Ð´Ð»Ñ Ð²Ñех выделенных объектов.

Командный Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð°Ñ‘Ñ‚ больше ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð½Ð°Ð´ дейÑтвительным зазором (или проÑветом в паÑльной маÑке, еÑли она включена). Ðажмите :, чтобы открыть окно командной Ñтроки, и наберите:

ChangeClearSize(SelectedVias, <delta>)

ЗдеÑÑŒ <delta> — размер в Ñотых долÑÑ… мила. То еÑть, например, 3000 ÑоответÑтвует 30 милам. При проÑтом задании целых значений <delta>, зазор будет уÑтановлен в указанное значение. ЕÑли же перед значением указан знак, «-» или «+», величина зазора будет ÑоответÑтвенно уменьшена или увеличена. Эта же команда иÑпользуетÑÑ Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² (при задании SelectedPins), контактных площадок (SelectedPads), линий (SelectedLines), дуг (SelectedArcs) и даже проÑто объектов (SelectedObjects).

Как изменить проÑвет в паÑльной маÑке вокруг отверÑтиÑ/контактной площадки?

По умолчанию размер проÑвета Ð´Ð»Ñ Ð¾Ñ‚Ð²ÐµÑ€Ñтий и контактных площадок задаётÑÑ Ð² ÑоответÑтвующем файле поÑадочного меÑта. Иногда Ñтот размер может не подходить Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð°. ПроÑвет Ð´Ð»Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ñ… отверÑтий и контактных площадок можно изменÑть «на лету», точно так же, как и Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð¾Ð². Более подробно Ñто опиÑано в разделе выше. ЕÑли проÑвет Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ð¾Ð¹ площадки не ÑоответÑтвует требованиÑм Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ñ Ð²Ð°ÑˆÐ¸Ñ… плат, раÑÑмотрите возможноÑть ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… копий файлов поÑадочных меÑÑ‚ и ÑоответÑтвующего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñветов в них Ñамих.

Как изменить размер моих дорожек?

ЕÑть неÑколько ÑпоÑобов изменить размер уже проведённых дорожек:

  1. Ðажать S Ð´Ð»Ñ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ, или Shift+S Ð´Ð»Ñ ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° дорожки под курÑором мыши.
  2. Выбрать Выделение → Размер выделенных объектов → Линии -10 милов. Размер Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ наÑтроить в Файл → ÐаÑтройки… → Размеры. Это повлиÑет только на дорожки, так что выделение может Ñодержать компоненты, текÑÑ‚, переходы и тому подобное.
  3. Выделить дорожки, которые нужно изменить, и набрать :ChangeSize(SelectedLines,+4,mils). Ðажатие : вызовет окно командной Ñтроки, а ChangeSize() — Ñто команда вызова ранее опиÑанного дейÑтвиÑ. Замените +4 нужным размером ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ñ€Ð¾Ð¶ÐµÐº. Ð”Ð»Ñ ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ Ð´Ð¾Ñ€Ð¾Ð¶ÐµÐº задайте знак минуÑ. ЕÑли знак задан не будет, размер дорожек будет уÑтановлен в указанное значение.

Как Ñделать переход Ð´Ð»Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð´Ð¾Ñ€Ð¾Ð¶ÐºÐ¸ Ñ Ð·ÐµÐ¼Ð»Ñ‘Ð¹ в другом Ñлое?

  1. Сделайте активным Ñлой земли.
  2. Выберите инÑтрумент Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð¾Ð² VIA.
  3. Добавьте в нужном меÑте переход (щелчком левой кнопкой мыши).
  4. Теперь выберите инÑтрумент Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚ÐµÑ€Ð¼Ð¾Ð±Ð°Ñ€ÑŒÐµÑ€Ð¾Ð² THRM.
  5. Щёлкните левой кнопкой по только что добавленному переходу.
  6. Теперь активизируйте нужный вам Ñлой.
  7. Выберите инÑтрумент Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð»Ð¸Ð½Ð¸Ð¹ LINE.
  8. Проведите дорожку от или к переходу на активном Ñлое обычным ÑпоÑобом.

Как проще вÑего Ñделать «термопереход»?

Термопереход — Ñто не переход Ñ Ñ‚ÐµÑ€Ð¼Ð¾Ð±Ð°Ñ€ÑŒÐµÑ€Ð¾Ð¼. Вернее, Ñто переход без термобарьера, ÑоединÑющий полигоны на обеих Ñторонах платы. Такие переходы полноÑтью заполнÑÑŽÑ‚ÑÑ Ð¿Ñ€Ð¸Ð¿Ð¾ÐµÐ¼ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ð±Ð»Ð°Ñти Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹ теплоёмкоÑтью, иÑпользуемой Ð´Ð»Ñ Ñ‚ÐµÐ¿Ð»Ð¾Ð¾Ñ‚Ð²Ð¾Ð´Ð°. Больше информации вы найдёте в Freescale App-Note AN4005.

Вот некоторые предложениÑ:

  • Ðачертите прÑмоугольник, охватывающий нужные переходы. Затем Ð½Ð°Ð²ÐµÐ´Ñ Ð½Ð° него курÑор мыши нажмите S. Тогда термобарьеры и зазоры вокруг переходов будут залиты. ЕÑли же вы впоÑледÑтвии хотите отпаивать деталь Ñзади, убедитеÑÑŒ, что площадка на противоположной Ñтороне не покрыта резиÑтом паÑльной маÑки.
  • ПроÑто добавьте Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð° обычный термобарьер, а затем, Ñ‰Ñ‘Ð»ÐºÐ°Ñ Ð¿Ð¾ нему при нажатой клавише Shift выберите вид Ñ Ð¿Ð¾Ð»Ð½Ñ‹Ð¼ заполнением.

Я хочу начертить дорожку между Ð´Ð²ÑƒÐ¼Ñ Ñегментами одного и того же ÑоединениÑ, но pcb мне не даёт! Почему?

Ðаверно вы чертите дорожки в то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº включен режим автоматичеÑкого ÑÐ¾Ð±Ð»ÑŽÐ´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ñ… норм. Вот неÑколько Ñоветов о том, как Ñоединить два Ñегмента:

  • Ð’ режиме автоматичеÑкого ÑÐ¾Ð±Ð»ÑŽÐ´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ñ… норм Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð³Ð¾, где может проходить дорожка, иÑпользуютÑÑ Ð»Ð¸Ð½Ð¸Ð¸ ÑвÑзи. ПоÑтому Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñоединений в Ñтом режиме, линии ÑвÑзи уже должны быть начерчены. С другой Ñтороны вам не будет разрешено ÑоединÑть (или подходить) к любому проводнику, ещё не ÑвÑзанному Ñ Ñоединением из ÑпиÑка Ñоединений. (ЕÑли вам надоело видеть линии ÑвÑзи, можете отключить их Ñлой, но они вÑÑ‘ же уже должны ÑущеÑтвовать.)
  • Также линии ÑвÑзи при разводке надо регулÑрно обновлÑть. ÐŸÐ¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð¾Ñ‚Ñ€Ð¸Ñовка/Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð²Ñ‹Ð·Ñ‹Ð²Ð°ÐµÑ‚ÑÑ Ð½Ð°Ð¶Ð°Ñ‚Ð¸ÐµÐ¼ клавиши O. УдоÑтоверьтеÑÑŒ, что Ð»Ð¸Ð½Ð¸Ñ ÑвÑзи видимо ÑоединÑет два проводника, которые нужно Ñоединить.
  • Возможно также, что вы обнаружите такую Ñитуацию при вычерчивании дорожек между выводами разъёма. Ð’ Ñтом Ñлучае, возможно, ширина вашей дорожки не позволÑет обеÑпечить Ñ‚Ñ€ÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ðº размеру зазора Ð´Ð»Ñ Ð¾Ð±Ð»Ð°Ñти вывода. Попробуйте уменьшить зазор Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° или уменьшите ширину дорожки.
  • Иногда Ñ‚Ð°ÐºÐ°Ñ Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²ÐºÐ° траÑÑировки может ÑвлÑтьÑÑ ÑледÑтвием ошибки в вашем ÑпиÑке Ñоединений. Ðе иÑпользуйте в конце позиционных обозначений Ñтрочные буквы — они зарезервированы Ð´Ð»Ñ Ñекций многоÑекционных компонентов, как правило Ð´Ð»Ñ Ð½ÐµÑкольких Ñлементов логики в одном корпуÑе. Позиционное обозначение должно заканчиватьÑÑ Ð¿Ñ€Ð¾Ð¿Ð¸Ñной буквой или цифрой, Ñтрочные буквы проÑто игнорируютÑÑ.

pcb не даёт мне приÑоединить дорожку к ни к чему не приÑоединённому проводнику!

Это извеÑтный недоÑтаток режима автоматичеÑкого ÑÐ¾Ð±Ð»ÑŽÐ´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ñ… норм. Ð’ Ñтом режиме инÑтрумент LINE разрешает приÑоединÑть дорожки только к тем проводникам, которые отноÑÑÑ‚ÑÑ Ðº тому же Ñоединению (из ÑпиÑка Ñоединений), что и то меÑто, откуда дорожка начата.

ЕÑть по крайней мере два ÑпоÑоба приÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ðº ни к чему не приÑоединённому проводнику. Очевидно, можно проÑто временно отключить ÐвтоматичеÑкое Ñоблюдение норм Ð´Ð»Ñ Ð·Ð°Ð·Ð¾Ñ€Ð¾Ð² в меню наÑтроек. Ð’ другом ÑпоÑобе иÑпользуетÑÑ Ñ‚Ð¾Ñ‚ факт, что режим автоматичеÑкого обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ñ… норм доверÑет флагу found:

  1. Войдите в режим линии LINE (F2).
  2. Ðаведите курÑор мыши на неприÑоединённый проводник.
  3. Ðажмите F, чтобы пометить его как найденный («found»).
  4. Ðачните линию Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ меÑта. Оба проводника должны быть теперь помечены цветом как найденные («found») и должны ÑоединÑтьÑÑ Ð´Ñ€ÑƒÐ³ Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¼.

Я хочу начертить два перехода очень близко друг к другу, но pcb мне не даёт!

К Ñожалению, Ñтарые верÑии pcb не только не дают вам размеÑтить перекрывающиеÑÑ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñ‹, но и отбраÑывают их при загрузке топологии. Ð’ декабре 2010 года Ñто Ñлишком оÑторожное поведение было иÑправлено. ЕÑли вам на Ñамом деле нужны перекрывающиеÑÑ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñ‹, вам Ñледует уÑтановить более Ñвежую верÑию pcb.

ВерÑÐ¸Ñ Ð¾Ñ‚ 2011 года вÑÑ‘ ещё не разрешает вам размещать переходы наÑтолько близко друг к другу, что их отверÑÑ‚Ð¸Ñ Ð¿ÐµÑ€ÐµÐºÑ€Ñ‹Ð²Ð°Ð»Ð¸ÑÑŒ бы. Тем не менее она не выразит недовольÑтво, еÑли вы ухитритеÑÑŒ обойти Ñто ограничение. Ðапример, еÑли вы помеÑтите Ñ€Ñдом крохотные переходы, а потом увеличите их размеры.

КажетÑÑ, pcb портит Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð¸Ñ… компонентов и жалуетÑÑ, что не может найти Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² подходÑщих Ñоединений! Что делать?

Скорее вÑего вы назвали их так, что pcb думает, что они ÑвлÑÑŽÑ‚ÑÑ Ð¾Ð´Ð½Ð¸Ð¼ прибором. Буквы в нижнем региÑтре в конце позиционного Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÑŽÑ‚ÑÑ. ПоÑтому, например, оба компонента U2foo и U2bar pcb воÑпринимает как U2. При Ñоздании линий ÑвÑзи pcb будет иÑкать ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ U2, которые, конечно, отÑутÑтвуют. Буквы в нижнем региÑтре предназначены Ð´Ð»Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ñекций многоÑекционных компонентов, например, Ñимволов операционных уÑилителей, которые идут по четыре штуки в одном корпуÑе.
Вывод: никогда не иÑпользуйте в конце позиционного Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð±ÑƒÐºÐ²Ñ‹ в нижнем региÑтре, за иÑключением Ñлучаев, когда вы точно знаете, что делаете.

Как наÑтроить цвет и толщину линий ÑвÑзи?

Цвет линий ÑвÑзи можно наÑтроить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Файл → ÐаÑтройки… → Цвета → ОÑновные цвета.

ÐаÑтроить толщину линий ÑвÑзи из графичеÑкого интерфейÑа в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð½ÐµÐ»ÑŒÐ·Ñ, но можно вручную отредактировать файл $HOME/.pcb/preferences. Завершите вÑе процеÑÑÑ‹ pcb (закройте вÑе окна) и поищите Ñтроку, начинающуюÑÑ Ñ rat-thickness.

Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ 0..19 задают фикÑированную толщину в пикÑелах Ñкрана. Любое большее значение ÑчитаетÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼ в единицах Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ pcb (то еÑть 100 ÑоответÑтвует 1 милу). Ð’ поÑледнем Ñлучае при изменении маÑштаба в pcb будут ÑоответÑтвующим образом маÑштабироватьÑÑ Ð¸ линии ÑвÑзи.

Где Ñта поÑледнÑÑ Ð¾ÑтавшаÑÑÑ Ð»Ð¸Ð½Ð¸Ñ ÑвÑзи?

Иногда оÑтавшиеÑÑ Ð»Ð¸Ð½Ð¸Ð¸ ÑвÑзи трудно увидеть, потому что Ñто могут быть линии нулевой длины. Такой Ñлучай может возникнуть, когда почему-то отÑутÑтвует переход. Чтобы они попалиÑÑŒ вам на глаза, нужно задать доÑтаточно большую толщину Ð´Ð»Ñ Ð½Ð¸Ñ…, например 3000 милов. Толщина линий ÑвÑзи задаётÑÑ Ð² $HOME/.pcb/preferences.

Кроме дорожек и поÑадочных меÑÑ‚

Как Ñделать копию риÑунка, напечатанной топологии или какой-нибудь печатной платы?

ПоÑмотрите Ñтраницу http://www.delorie.com/pcb/bg-image.html на веб-Ñайте DJ Delorie о HID программы pcb.

Это замечательный ÑпоÑоб Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ Ñделанного вручную риÑунка или другой печатной платы, когда, Ñкажем, вы Ñделали её какой-то проприетарной программой в неÑвободном формате, Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ хотели бы теперь «ÑнÑть». Кроме того, фоновое изображение можно иÑпользовать как инÑтрумент Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ или модернизации.

ЕÑли не хотите, чтобы размер рабочей облаÑти pcb был ограничен площадью Ñтой платы, то еÑть, еÑли нужно добавочное проÑтранÑтво вокруг платы, добавьте его в gimp. Мне нравитÑÑ Ð¾ÐºÐ°Ð¹Ð¼Ð»Ñть плату полÑми в 1 дюйм. При уÑтановке размеров платы в pcb нужно учитывать Ñто добавочное проÑтранÑтво. [Ctrl-m] поможет вам проверить маÑштаб. Заодно, до загрузки Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð² pcb, в gimp или другой подобной программе можно иÑправить недоÑтатки Ñвоего риÑунка или иÑкажениÑ, получившиеÑÑ Ð² результате ÑканированиÑ.

Ðе могу Ñкопировать контактные площадки в топологию. Что за ерунда?

ВопроÑ: Я хочу Ñкопировать чаÑть ÑущеÑтвующей топологии в другое меÑто.

Я могу выделить ÑущеÑтвующую облаÑть. Ð’ÑÑ‘, вроде, нормально.

Буфер → Копировать выделенное в буфер, вроде выполнÑетÑÑ ÑƒÑпешно. (Ðе ругаетÑÑ.)

Потом Ñ Ð²ÑтавлÑÑŽ Ñкопированную облаÑть… и, вÑÑ‘ что получаетÑÑ, Ñто пара дорожек и неÑколько переходов. Контактные площадки, над которыми Ñ Ñ‚Ð°Ðº долго корпел, не копируютÑÑ. Что за ерунда!?!?!?

Ответ: ЕÑли Ñлой шелкографии отключен, Ð½ÐµÐ»ÑŒÐ·Ñ Ñкопировать Ñлементы через буфер обмена. Странно, но вот так оно работает. ПоÑтому, прежде чем пытатьÑÑ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ что-то в топологию, включите Ñлой шелкографии.

Как добавлÑть Ñплошные металлизированные облаÑти?

ИÑпользуйте прÑмоугольники и полигоны. Они вÑегда разрезаютÑÑ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð°Ð¼Ð¸, контактными площадками и выводами, Ñ Ð¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ вокруг них зазора. ОчищаютÑÑ Ð¾Ð½Ð¸ и дорожками, еÑли Ð´Ð»Ñ Ð´Ð¾Ñ€Ð¾Ð¶ÐµÐº уÑтановлен флаг очиÑтки полигонов (в меню ÐаÑтройки → ОчиÑтка полигонов новыми линиÑми и дугами). ÐÐ°Ñ‡Ð¸Ð½Ð°Ñ Ñ pcb верÑии 20070208 результирующий полигон будет предÑтавлÑть Ñобой одну Ñплошную облаÑть. Изолированные куÑки удалÑÑŽÑ‚ÑÑ.

Как полигону назначить Ñоединение?

Полигонам ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½Ðµ «назначаютÑÑ», они к ним приÑоединÑÑŽÑ‚ÑÑ. Ð’ pcb «ноÑителÑми» имён Ñоединений ÑвлÑÑŽÑ‚ÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ контактные площадки. Это значит, что Ð´Ð»Ñ Ð¿Ñ€Ð¸ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ð¾Ð¹ площадки к полигону нужно предуÑмотреть какой-нибудь проводник. Тогда Ñоединение Ñтой контактной площадки будет автоматичеÑки отноÑитьÑÑ Ð¸ к полигону.

Как к полигону приÑоединить дорожки, контактные площадки или переходы?

ЕÑть разные ÑпоÑобы правильного Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ñ… типов объектов к полигону:

  • Дорожки: уÑтановите Ð´Ð»Ñ Ð´Ð¾Ñ€Ð¾Ð¶ÐºÐ¸ флаг join. Ð”Ð»Ñ Ñтого нужно навеÑти Ñтрелку мыши на Ñту дорожку и нажать клавишу J. Или же можно выделить нужные линии и выполнить команду SetFlag(selected,join). Ð”Ð»Ñ Ð¿Ñ€Ð¸ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ñ‹Ñ… линий можно отключить ОчиÑтка полигонов новыми линиÑми и дугами в меню ÐаÑтройки. Полигон Ñразу же ÑольётÑÑ Ñ Ð´Ð¾Ñ€Ð¾Ð¶ÐºÐ¾Ð¹.
  • Контактные площадки: в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñти приÑоединить контактную площадку непоÑредÑтвенно к полигону нет. ПридётÑÑ Ð½Ð°Ñ‡ÐµÑ€Ñ‚Ð¸Ñ‚ÑŒ от контактной площадки к полигону дорожку без флага join. (См. выше.)
  • Выводы и переходы: выберите инÑтрумент Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚ÐµÑ€Ð¼Ð¾Ð±Ð°Ñ€ÑŒÐµÑ€Ð¾Ð² (THRM). Выберите Ñлой, на котором находитÑÑ Ð¿Ð¾Ð»Ð¸Ð³Ð¾Ð½. Щелчками мыши по переходу при нажатой клавише [Shift] можно выбрать один из доÑтупных Ñтилей ÑоединениÑ.
  • Полигоны: проÑто Ñделайте так, чтобы они геометричеÑки перекрывалиÑÑŒ.

Полигоны закорачивают мои дорожки! Что мне делать?

При проведении дорожек вы не уÑтановили ОчиÑтка полигонов новыми линиÑми и дугами в меню ÐаÑтройки. Чтобы переключить флаг приÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ join Ð´Ð»Ñ Ð²Ñех выделенных на данный момент дорожек, в окне команд наберите changejoin(selected). Это дейÑтвие привÑзано к клавишам Shift+J. ЕÑли вмеÑто Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ„Ð»Ð°Ð³Ð° приÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ join его нужно уÑтановить или ÑнÑть, можно иÑпользовать команды SetFlag(selected, join) и ClrFlag(selected, join). Более подробное опиÑание указанных команд можно поÑмотреть в опиÑании SetFlag в РуководÑтве по pcb.

Как изменить зазор в полигоне?

Ð’ pcb зазор не ÑвлÑетÑÑ ÑвойÑтвом ÑобÑтвенно полигонов. Это ÑвойÑтво имеют дорожки, контактные площадки и выводы. То еÑть зазор нужно наÑтраивать Ð´Ð»Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ñ… объектов.

УбедитеÑÑŒ, что Ñлой паÑльной маÑки не активен. Иначе нижеÑледующие дейÑÑ‚Ð²Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ применÑтьÑÑ Ðº паÑльной маÑке вмеÑто полигонов. Ð”Ð»Ñ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð·Ð°Ð·Ð¾Ñ€Ð° Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°, находÑщегоÑÑ Ð¿Ð¾Ð´ курÑором, нажмите K. Ctrl+K делает то же Ñамое Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ñ‹Ñ… объектов. Ðажатие Shift вмеÑте Ñ Ð¾Ð´Ð½Ð¾Ð¹ из Ñтих комбинаций приведёт к уменьшению зазора. Чтобы изменить дорожку целиком, нажмите F Ð´Ð»Ñ Ð½Ð°Ñ…Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð²Ñех Ñегментов, приÑоединённых к объекту под курÑором, и выполните дейÑтвие Select(connection).

Размер ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ наÑтроить в диалоговом окне Файл → ÐаÑтройки… → ПриращениÑ. (Примечание: в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ñта наÑтройка игнорируетÑÑ.)

Указанный ÑпоÑоб дейÑтвует каждый раз на один объект. Чтобы менÑть зазоры Ð´Ð»Ñ Ð²Ñех выделенных объектов, воÑпользуйтеÑÑŒ дейÑтвием ChangeClearSize(Selected,<amount>,<unit>). Параметр величины <amount> должен быть чиÑлом. Знак перед ним указывает на увеличение или уменьшение. ЕÑли перед чиÑлом Ñтоит знак =, зазор уÑтанавливаетÑÑ Ñ‚Ð¾Ñ‡Ð½Ð¾ в указанное значение. Параметр <unit> может быть указан как mil (милы) или mm (миллиметры). ЕÑли он не указан, то по умолчанию в качеÑтве единицы Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ Ð¸ÑпользуетÑÑ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÑÑ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ð°, Ñ€Ð°Ð²Ð½Ð°Ñ 0,01 мил.

Кроме того, имеетÑÑ ÑÐ¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ, дейÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ на те объекты, зазор которых меньше заданного минимума: MinClearGap(Selected,<amount>,<unit>).

Как при редактировании топологии Ñкрыть полигоны?

ПомеÑтите полигоны (и прÑмоугольники) на отдельный Ñлой. Ð’ диалоговом окне ÐаÑтройки… обеÑпечьте, чтобы Ñтот Ñлой не был в той же группе, что и дорожки. Запретите Ñлой, щёлкнув по кнопке ÑоответÑтвующего ÑÐ»Ð¾Ñ Ð² оÑновном окне. ПоÑле Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ подключите Ñлой полигонов к Ñлою дорожек в диалоговом окне ÐаÑтройки…. ПридётÑÑ Ñохранить и перезагрузить топологию, чтобы вызвать повторный обÑчёт полигонов, чтобы они адаптировалиÑÑŒ к изменениÑм. Того же Ñамого можно доÑтичь перезапуÑком программы.

Из-за полигонов тормозит графичеÑкий интерфейÑ. Что Ñ Ñтим делать?

ЧаÑти полигона, не подключенные ни к какому Ñоединению, автоматичеÑки игнорируютÑÑ. Таким образом Ñффективно удалÑÑŽÑ‚ÑÑ Ð¸Ð·Ð¾Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ðµ учаÑтки металлизации. Ð¥Ð¾Ñ‚Ñ Ñто и желательно Ð´Ð»Ñ Ð½Ð°ÑтоÑщих плат, но требует Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð´Ð¾Ð²Ð¾Ð»ÑŒÐ½Ð¾ проÑтранных алгоритмов раÑчёта. ПоÑтому Ñто необÑзательно ошибка, но Ñкорее цена, которую мы платим за мощную возможноÑть. ЕÑть вÑÑ‘ же пара ÑпоÑобов улучшить Ñитуацию:

  • Временно Ñкройте полигоны. (См. выше.)
  • Выберите Контуры полигонов из меню ÐаÑтройки Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ внешних контуров полигонов и запрета ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¾Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… учаÑтков металлизации. Ð’ поÑледних верÑиÑÑ… pcb, то еÑть Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ ÑентÑÐ±Ñ€Ñ 2007 года, можно выбирать, нужно ли удалÑть изолированные учаÑтки новых полигонов.
  • УбедитеÑÑŒ, что у Ð²Ð°Ñ Ð½ÐµÑ‚ лишних полигонов, перекрывающих неÑколько раз одну и ту же облаÑть. Такие полигоны не отображаютÑÑ, так как ÑкрываютÑÑ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸, но требуют дополнительных вычиÑлений. Лучше вÑего проверить топологию на наличие лишних полигонов в текÑтовом редакторе.

ПоÑле того как Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ð» Ñлои земли, pcb Ñлишком долго грузитÑÑ. Что делать?

ОбÑчёт полигонов — потенциально Ð´Ð¾Ñ€Ð¾Ð³Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ Ñ‚Ð¾Ñ‡ÐºÐ¸ Ð·Ñ€ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð»ÐµÐ½Ð¸Ñ Ñ€ÐµÑурÑов процеÑÑора. ЕÑли ваша Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð³Ð¸Ñ Ð½Ðµ очень Ñложна, то Ñкорее вÑего у Ð²Ð°Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¾ чрезмерно много полигонов. Чтобы найти и удалить ненужные, поÑмотрите иÑходный текÑÑ‚ файла Ñвоей топологии. ЕÑли Ñто не тот Ñлучай, Ð´Ð»Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ñитуации можно принÑть меры, указанные выше.

Как редактировать полигоны?

ЕÑть четыре оÑновных ÑпоÑоба Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»Ð¸Ð³Ð¾Ð½Ð¾Ð². Вершины углов полигона можно двигать и удалÑть, а также вÑтавлÑть Ð´Ð²ÑƒÐ¼Ñ ÑпоÑобами. Полигоны одинаково легко редактировать в режиме “контуров†(ÐаÑтройки → Контуры полигонов) и в нормальном режиме. ПеремеÑтить вершину можно проÑто ÑнÑв выделение Ñ Ð¿Ð¾Ð»Ð¸Ð³Ð¾Ð½Ð° и щёлкнув и потащив её в новое меÑто. Ð”Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð²ÐµÑ€ÑˆÐ¸Ð½Ñ‹ угла полигона наведите перекреÑтие курÑора на Ñту точку и нажмите клавишу Delete. Ð”Ð»Ñ Ð²Ñтавки вершины можно иÑпользовать инÑтрумент вÑтавки точек INS (включаетÑÑ Ñ‚Ð°ÐºÐ¶Ðµ нажатием клавиши Ins). Сначала щёлкните по той Ñтороне, которую нужно разделить новой точкой. Щёлкните и потащите новую точку. Другой вариант Ñтого ÑпоÑоба: 1) щёлкните, чтобы выбрать Ñторону; 2) щёлкните, чтобы помеÑтить новую вершину.

(Примечание: вÑтавка вершин полигона работает, как правило, ТОЛЬКО при разрешении «линий в любых направлениÑх» (ÐаÑтройка → Линии в любом направлении). Причина кроетÑÑ Ð² том, что в pcb еÑть Ð¼Ð¾Ñ‰Ð½Ð°Ñ ÑиÑтема Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð»Ð¸Ð½Ð¸Ð¹ углами 45/90 градуÑов. ЕÑли попробовать вÑтавить новую вершину Ð´Ð»Ñ Ð¿Ð¾Ð»Ð¸Ð³Ð¾Ð½Ð°, Ñтороны которого не раÑположены точно под 45 или 90 градуÑов, pcb запретит Ñто дейÑтвие!)

Как приÑоединить переходы к полигону Ð´Ð»Ñ Ñ‚ÐµÐ¿Ð»Ð¾Ð¾Ñ‚Ð²Ð¾Ð´Ð° или полного ÑкранированиÑ?

ЧаÑто бывает полезно, чтобы Ð´Ð»Ñ Ñ‚ÐµÐ¿Ð»Ð¾Ð¾Ñ‚Ð´Ð°Ñ‡Ð¸ переходы целиком ÑоединÑлиÑÑŒ Ñ Ð¿Ð¾Ð»Ð¸Ð³Ð¾Ð½Ð¾Ð¼ (облаÑтью металлизации), и Ð¾Ñ‡ÐµÐ²Ð¸Ð´Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð° в том, что в pcb Ð´Ð»Ñ Ñ†ÐµÐ»Ð¾Ð³Ð¾ полигона определён только один флаг «очиÑтки выводами/переходами» (переключаемый клавишей S). Ðам же нужно Ñоединить Ñ Ð¿Ð¾Ð»Ð¸Ð³Ð¾Ð½Ð¾Ð¼ только некоторые из выводов/переходов, причём Ñоединить их лучше, чем Ñто позволÑет нам инÑтрумент Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚ÐµÑ€Ð¼Ð¾Ð±Ð°Ñ€ÑŒÐµÑ€Ð¾Ð². ЕÑть неÑколько вариантов, как Ñто Ñделать.

Один ÑпоÑоб, Ñделать объект, почти такой же как и термобарьер в том отношении, что он раÑполагаетÑÑ Ð¼ÐµÐ¶Ð´Ñƒ переходом и полигоном. Разница в том, что фактичеÑки нужно Ñделать кольцо, полноÑтью заполнÑющее проÑтранÑтво между отверÑтием и полигоном (который, поÑкольку Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ включено иÑпользование зазоров, не ÑоединÑетÑÑ Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð¼). Это кольцо делаетÑÑ Ð¸Ð· четырёх Ñегментов дуг. Эти четыре объекта можно Ñкопировать в буфер и Ñоздать таким образом «инÑтрумент Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚ÐµÑ€Ð¼Ð¾Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð° Ñ Ð½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ зазором». ÐедоÑтаток такого приёма в том, что когда нужно будет изменить размер перехода, придётÑÑ Ñ‚Ð°ÐºÐ¶Ðµ менÑть и размер Ñлементов заполнениÑ.

Приём Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´ÑƒÐ³Ð°Ð¼Ð¸ можно иÑпользовать также в меÑтах плотной компоновки, Ð¿Ð¾Ð¼ÐµÑ‰Ð°Ñ Ð´Ð»Ñ ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð°, Ñкажем, две из четырёх дуг.

Другой приём — Ñделать линию нулевой длины. Возьмите одиночный Ñегмент линии и ÑовмеÑтите его конечную точку Ñ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾Ð¹. Теперь у Ð²Ð°Ñ ÐµÑть Â«Ñ‚Ð¾Ñ‡ÐµÑ‡Ð½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ» (круг) Ñ Ð´Ð¸Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼, равным толщине линии. ЕÑли надо, перемеÑтите её на другой Ñлой (нажатием клавиши M). Ð”Ð»Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð° Ñ Ð¿Ð¾Ð»Ð¸Ð³Ð¾Ð½Ð¾Ð¼ раÑположите Ñтот объект по его центру.

Опытные пользователи могут захотеть иметь небольшую библиотеку таких неÑтандартных объектов, Ñохранив их как Ñлементы. Удобно также Ñкопировать такие объекты в один из буферов pcb, так что они вÑегда будут под рукой.

Можно также поверх того полигона, к которому вы хотите приÑоединить Ñвои переходы, добавить другой полигон. Тогда вам надо ÑнÑть флаг «очиÑтки выводами/полигонами») и переходы будут приÑоединены к раÑположенному Ñнизу полигону большего размера.

Можно ли убрать маÑку Ñ Ð¿Ð¾Ð»Ð¸Ð³Ð¾Ð½Ð¾Ð²? (Можно ли Ñделать полигон учаÑтком открытой меди, то еÑть без паÑльной маÑки?)

Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ ÑпоÑоба непоÑредÑтвенной очиÑтки паÑльной маÑки полигонами нет. Обычный обходной манёвр — работать Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ñ‹Ð¼Ð¸ площадками.

  1. Ðачертите дорожку в Ñередине облаÑти, над которой не должно быть маÑки. ÐšÐ°Ð¶Ð´Ð°Ñ Ð´Ð¾Ñ€Ð¾Ð¶ÐºÐ° Ñтанет контактной площадкой.
  2. Выберите Ñти дорожки.
  3. Ð’ меню Выделение выберите Преобразовать выделенное в Ñлементы.
  4. Ðктивизируйте Ñлой паÑльной маÑки. ПаÑÐ»ÑŒÐ½Ð°Ñ Ð¼Ð°Ñка не должна покрывать дорожки.
  5. Увеличьте зазор контактных площадок так, чтобы он ÑоответÑтвовал открытому учаÑтку меди нужного размера. Ð”Ð»Ñ Ñтого Ð½Ð°Ð²Ð¾Ð´Ñ ÐºÑƒÑ€Ñор мыши на площадки нажимайте K.
  6. Дополнительно можно нажимать Q, уÑÑ‚Ð°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°Ñ Ñ‚Ð°ÐºÐ¸Ð¼ образом Ð´Ð»Ñ Ð¿Ð»Ð¾Ñ‰Ð°Ð´Ð¾Ðº флаг квадратной формы square.

Ð¥Ð¾Ñ‚Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° площадок ограничена величиной 250 милов, зазор может быть любым.

Как увеличить размер вÑех выводов?

Это дейÑтвие выполнÑетÑÑ Ð² два приёма. Сначала надо выделить объекты Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸. Затем выполнить Ð´Ð»Ñ Ð½Ð¸Ñ… функцию:

  1. Выделите вÑе компоненты. Можно отключить вÑе Ñлои, кроме шелкографии, чтобы инÑтрумент Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ SEL не дейÑтвовал на дорожки.
  2. В меню выберите Выделение → Размер выделенных объектов → Выводы +10 милов

Ð”Ð»Ñ ÑƒÐ´Ð¾Ð±Ñтва Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð¸Ñ Ð´ÐµÐ¹Ñтвий можно оторвать подменю, щёлкнув на пунктирной линии, и оно оÑтанетÑÑ Ð½Ð° Ñкране.

Или же задайте дейÑтвие ChangeSize из окна команды:

  • Ðажмите :, чтобы открыть окно командной Ñтроки.
  • Ð’ Ñтроке команды наберите:
    ChangeSize(SelectedPins, SIZE)

ПодÑтавьте вмеÑто SIZE нужный размер в Ñотых долÑÑ… мила. 1 мм = 3937. ЕÑли перед SIZE Ñтоит знак «-», размер уменьшаетÑÑ. ЕÑли «+», увеличиваетÑÑ. ЕÑли знака нет, чиÑло интерпретируетÑÑ ÐºÐ°Ðº абÑолютное значение. СинтакÑÐ¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ ChangeSize приводитÑÑ Ð² РуководÑтве по pcb.

Как добавить отверÑÑ‚Ð¸Ñ Ð´Ð»Ñ ÐºÑ€ÐµÐ¿ÐµÐ¶Ð°?

Ð’Ñтавьте поÑадочное меÑто Ð´Ð»Ñ ÐºÑ€ÐµÐ¿Ñ‘Ð¶Ð½Ð¾Ð³Ð¾ отверÑÑ‚Ð¸Ñ Ð¸Ð»Ð¸ переход.

ЕÑли контактные площадки вокруг крепёжного отверÑÑ‚Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ иметь ÑлектричеÑкое Ñоединение, Ñто Ñоединение нужно отразить в принципиальной Ñхеме. Добавьте в Ñхему Ñимвол крепёжного отверÑÑ‚Ð¸Ñ Ð¸ задайте ему ÑоответÑтвующий атрибут поÑадочного меÑта footprint.

Я предпочитаю Ñоздавать поÑадочные меÑта Ð´Ð»Ñ Ñ€Ð°Ð·Ð½Ñ‹Ñ… видов деталей Ð´Ð»Ñ ÐºÑ€ÐµÐ¿ÐµÐ¶Ð°. У Ð¼ÐµÐ½Ñ ÐµÑть множеÑтво шелкографичеÑких изображений разнообразных комбинаций деталей (гайки, гайки Ñ ÑˆÐ°Ð¹Ð±Ð°Ð¼Ð¸ и Ñ‚. д.). Такие Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñодержат удобные точки привÑзки Ð´Ð»Ñ Ð¸Ñ… Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ разработке платы.

Примеры поÑадочных меÑÑ‚ можно поÑмотреть на Ñтранице http://www.luciani.org/geda/pcb/pcb-footprint-list.html#Hardware.

Почему Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° можно Ñделать термобарьер, а Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ð¾Ð¹ площадки нельзÑ?

Причина в том, что интервал между выводами обычно доÑтаточен Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы облаÑти металлизации вокруг них не разрывалиÑÑŒ ни Ñ ÐºÐ°ÐºÐ¾Ð¹ Ñтороны, а контактные площадки обычно раÑположены так плотно, что Ð´Ð»Ñ Ð½Ð¸Ñ… Ñто уÑловие не выполнÑетÑÑ. Из-за Ñтого необходимо вручную чертить «перемычки» термобарьера Ð´Ð»Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ñ‹Ñ… площадок Ñо Ñлоем земли. Ðе забудьте изменить наÑтройки так, чтобы новые линии при их вычерчивании ÑоединÑлиÑÑŒ Ñ Ð¾Ð±Ð»Ð°ÑÑ‚Ñми металлизации. ЕÑли нужно Ñделать неÑколько таких термобарьеров, потратьте немного времени, Ñоздайте один из них в нужном вам виде, а затем полученные перемычки можно Ñкопировать в буфер и вÑтавлÑть в нужных меÑтах.

Можно ли в pcb делать одноÑторонние платы?

Когда речь идёт об одноÑторонней плате, Ñто вÑего лишь Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸. Ð’ pcb нет такого понÑÑ‚Ð¸Ñ ÐºÐ°Ðº одноÑтороннÑÑ Ð¿Ð»Ð°Ñ‚Ð°, бывает лишь двухÑтороннÑÑ, на одной из Ñторон которой ничего нет.

Разрабатывайте плату как двухÑтороннюю, но Ñ Ð´Ð¾Ñ€Ð¾Ð¶ÐºÐ°Ð¼Ð¸ только на Ñтороне пайки. ЕÑли вы пользуетеÑÑŒ автотраÑÑировщиком, отключите вÑе Ñлои, кроме нижнего. Это заÑтавит автотраÑÑировщик работать только Ñ Ñтим Ñлоем. ЕÑли вам нужны проволочные перемычки, то чтобы подÑказать pcb, что ÑущеÑтвуют дейÑтвительные ÑоединениÑ, еÑть два варианта. Ðа верхнем Ñлое можно начертить дорожки, как Ñто делаетÑÑ Ð´Ð»Ñ Ð´Ð²ÑƒÑ…Ñторонней платы. Или же можно Ñоздать Ñимвол «джампера» в Ñхеме и помеÑтить его в тех меÑтах, где нужна перемычка. Скорее вÑего Ñто Ñ‚Ñжелее, но зато, еÑли надо, таким образом вы Ñможете чётко уÑтанавливать размеры перемычек.

Ð’ одноÑторонних платах нет металлизированных отверÑтий, поÑтому диаметр площадок выводов должен быть больше, обычно в два-три раза больше размера отверÑтиÑ. Контактные площадки некоторых поÑадочных меÑÑ‚ в Ñтандартной библиотеке Ñлишком малы, и Ñто будет Ñлабым меÑтом при разработке одноÑторонней платы. Скопируйте их в локальную библиотеку и подкорректируйте, задав нужные вам размеры.

При ÑкÑпорте в Gerber-файлы удалите Gerber-файл Ð´Ð»Ñ Ñтороны компонентов и переименуйте файл Ð´Ð»Ñ Ð¼ÐµÑ‚Ð°Ð»Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… отверÑтий так, чтобы он отноÑилÑÑ Ðº неметаллизированным1). Ура! ОдноÑтороннÑÑ Ð¿Ð»Ð°Ñ‚Ð° готова!

Где можно найти Ñкрипты Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ pcb-файлов?

Одной из замечательных оÑобенноÑтей pcb ÑвлÑетÑÑ Ð¸Ñпользование довольно понÑтного текÑтового формата файла. ПоÑтому многие разработчики Ð´Ð»Ñ Ñ€Ð°Ð·Ð½Ñ‹Ñ… видов обработки Ñвоих плат иÑпользуют Ñкрипты (обычно на Perl). Эти Ñкрипты можно иÑпользовать как еÑть или модифицировать Ð´Ð»Ñ Ñвоих целей. Вот неÑколько ÑÑылок на реÑурÑÑ‹ Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñ‹Ð¼Ð¸ Ñкриптами:

  1. Много Ñкриптов предоÑтавил на Ñвоём Ñайте John Luciani. Ð’ его коллекцию входÑÑ‚ как Ñкрипты Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñадочных меÑÑ‚, так и …
  2. Ðа Ñайте David Rowe еÑть Ñкрипты Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñлементов, а также Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð· pcb-файлов их Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ разницы.
  3. Stuart Brorson напиÑал проÑтой Ñкрипт, Ñоздающий поÑадочные меÑта Ð´Ð»Ñ Ð´Ð²ÑƒÑ…Ð²Ñ‹Ð²Ð¾Ð´Ð½Ñ‹Ñ… паÑÑивных компонентов Ð´Ð»Ñ Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ð¾Ñтного монтажа. tar-архив, Ñжатый gzip, находитÑÑ Ð·Ð´ÐµÑÑŒ .
  4. Ðа веб-Ñайте gedasymbols.org Ñобрана ÐºÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ð¿Ð¾Ñадочных меÑÑ‚, Ñимволов, Ñкриптов и другие материалы многих ÑодейÑтвующих проекту gEDA пользователей. Этот веб-Ñайт организован в виде Ñтраниц отдельных пользователей, так что еÑли вы потратите некоторое времÑ, чтобы полиÑтать его, то может быть найдёте как раз то, что иÑкали!

Как импортировать векторные изображениÑ, Ñделанные в других программах?

СущеÑтвует ÑтороннÑÑ ÑƒÑ‚Ð¸Ð»Ð¸Ñ‚Ð° Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом pstoedit, ÐºÐ¾Ð½Ð²ÐµÑ€Ñ‚Ð¸Ñ€ÑƒÑŽÑ‰Ð°Ñ Ð´Ð°Ð½Ð½Ñ‹Ðµ в формате Postscript в формат pcb. Она входит во многие оÑновные диÑтрибутивы Linux. Ð’Ñ‹ можете Ñоздать логотип или оригинальную топологию в Ñвоей любимой программе работы Ñ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð½Ð¾Ð¹ графикой. ЕÑли можете, произведите ÑкÑпорт в формат EPS и убедитеÑÑŒ, что ваш логотип подогнан под размеры ограничительной рамки («bounding box») (проверьте Ñто, открыв его в программе проÑмотра Postscript, например в ggv). ЕÑли ÑкÑпорт в EPS недоÑтупен, можно произвеÑти ÑкÑпорт в Postscript Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ печати в файл. Ð’ Ñтом Ñлучае ограничительную рамку можно добавить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ps2epsi. ЗапуÑтите pstoedit Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ -f pcb, чтобы произвеÑти корректный pcb-файл, графика в котором предÑтавлена в виде дорожек в Ñлое 1. Загрузите полученный файл в pcb. Графика будет размещена где-то в левом нижнем углу облаÑти проÑмотра. Может быть, чтобы её увидеть, понадобитÑÑ ÑƒÐ¼ÐµÐ½ÑŒÑˆÐ¸Ñ‚ÑŒ маÑштаб.

Импорт внешней векторной графики может быть полезен в том Ñлучае, когда нужна неÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð° платы. Скопировать форму в Ñвой проект можно Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ буфера обмена.

ЕÑть ли ÑпоÑоб импортировать чертёж в формате DXF из приложений СÐПР Ð´Ð»Ñ Ð¼ÐµÑ…Ð°Ð½Ð¸ÐºÐ¸?

Фильтра Ð´Ð»Ñ Ð½ÐµÐ¿Ð¾ÑредÑтвенной загрузки DXF в pcb нет. Ðо программа Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом qcad может открывать файлы DXF и ÑкÑпортировать их в Postscript. Полученный Postscript-файл можно преобразовать в формат программы pcb утилитой pstoedit (Ñм. выше).

Как легче вÑего Ñделать необычное поÑадочное меÑто?

Иногда Ð´Ð»Ñ Ð¿Ð¾Ñадочных меÑÑ‚ требуютÑÑ Ñ‚Ð°ÐºÐ¸Ðµ формы, которые трудно начертить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ограниченных графичеÑких ÑредÑтв pcb. Легче начать чертить их в программе Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð½Ð¾Ð¹ графикой inkscape, а потом Ñконвертировать в формат pcb. Ð’ inkscape:

  • Ðачертите Ñвою необычную форму Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ линий. Линии не обÑзательно должны быть прÑмыми.
  • Сохраните в формате EPS (отключите «Добавить ограничительную рамку Ð´Ð»Ñ Ñтраницы»).

Сконвертируйте в формат pcb:

pstoedit -f pcb > footprint.pcb

Ð’ pcb Ñделайте Ñледующее:

  • Файл → Загрузить топологию в буфер обмена
  • Отредактируйте по вкуÑу (только линии, никаких прÑмоугольников).
  • Выберите группу линий.
  • Скопируйте в буфер ([Ctrl-c]).
  • Буфер → Преобразовать буфер в Ñлемент
  • Буфер → Сохранить Ñлементы из буфера в файл

Ð’ текÑтовом редакторе:

  • Добавьте одинаковый номер вывода Ð´Ð»Ñ Ð²Ñех линий Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ поиÑка и замены.
  • Сохраните как *.fp туда, где pcb ищет Ñвои библиотеки поÑадочных меÑÑ‚.

Как задать название топологии?

Ðазвание текущей платы можно задать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ меню Правка → Изменить название → топологии. ЗдеÑÑŒ задаётÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð³Ð¸Ð¸. Этот атрибут иÑпользуетÑÑ Ð´Ð»Ñ Ð´ÐµÐ¹Ñтвий, ÑвÑзанных Ñ ÑкÑпортом, и не переÑекаетÑÑ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ файла.

ЕÑть ли ÑпоÑоб Ñделать неÑколько ÑкземплÑров чаÑти Ñхемы?

Ð’ графичеÑком интерфейÑе нет возможноÑти автоматичеÑки делать похожие чаÑти Ñхем. Группы дорожек и переходов можно копировать, но поÑадочные меÑта придётÑÑ Ñ€Ð°Ð·Ð¼ÐµÑ‰Ð°Ñ‚ÑŒ вручную. При размещении отключите ÐвтоматичеÑкое Ñоблюдение норм Ð´Ð»Ñ Ð·Ð°Ð·Ð¾Ñ€Ð¾Ð² в меню ÐаÑтройки. Иначе pcb не позволит вам Ñоединить поÑадочные меÑта Ñо Ñкопированными дорожками и переходами.

John Luciani напиÑал пару Ñкриптов на Perl, которые легче ÑправлÑÑŽÑ‚ÑÑ Ñ Ñ‚Ð°ÐºÐ¾Ð¹ Ñитуацией. Скрипт sch-matrix помещает на лиÑÑ‚ неÑколько копий базового блока. Он как надо изменÑет номера и позиции Ñимволов. Скрипт Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ pcb-matrix раÑполагает неÑколько копий ÑкземплÑра топологии в виде матрицы. Ð’ результате получаетÑÑ Ð¿Ð°Ñ€Ð° ÑоответÑтвующих друг другу Ñхем — Ð¿Ñ€Ð¸Ð½Ñ†Ð¸Ð¿Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ð¸ топологичеÑкаÑ, — на которых размещено неÑколько одинаковых чаÑтей Ñхемы. ПодробноÑти можно поÑмотреть на его Ñайте, оттуда же можно Ñти Ñкрипты и Ñкачать.

Эта пара Ñкриптов напиÑана неÑколько лет назад и иÑпользуетÑÑ Ñ€ÐµÐ´ÐºÐ¾. Так что может быть Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñо Ñвежими верÑиÑми pcb их надо модифицировать. ПриветÑтвуетÑÑ Ð»ÑŽÐ±Ð°Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒ, как отчёты об ошибках, так и заплаты.

Можно ли уÑтановить фоном раÑтровое изображение?

Ð”Ð»Ñ ÑƒÑтановки раÑтровой графики фоном рабочей облаÑти ÑущеÑтвует Ñпециальный ключ командной Ñтроки. Изображение может быть в формате JPG, PNG или PPM. Чтобы изображение не Ñильно портило отображение текущих цветов топологии, уменьшите его контраÑÑ‚ в gimp или другом графичеÑком редакторе. Затем запуÑтите pcb Ñледующим образом:

$ pcb --bg-image background.png layout.pcb

Изображение будет раÑÑ‚Ñнуто по размеру рабочей облаÑти. Снимок Ñкрана Ñ Ð²Ð¸Ð´Ð¾Ð¼ Ñтраницы pcb Ñ Ñ„Ð¾Ð½Ð¾Ð²Ñ‹Ð¼ изображением можно увидеть на Ñтранице HOWTO от DJ Delorie.

ÐвтотраÑÑировщик

Как большую чаÑть Ñоединений развеÑти автотраÑÑировщиком?

  1. Отключите видимоÑть тех Ñлоёв, которые не должны разводитьÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки.
  2. Отключите видимоÑть переходов, еÑли не хотите, чтобы добавлÑлиÑÑŒ новые переходы.
  3. Ð”Ð»Ñ Ñлоёв питаниÑ/земли, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… вы хотите иÑпользовать автотраÑÑировку, иÑпользуйте только прÑмоугольники. (То еÑть не иÑпользуйте инÑтрумент вÑтавки полигонов POLY, иÑпользуйте инÑтрумент вÑтавки прÑмоугольников RECT!)
  4. Подключите каждый Ñлой питаниÑ/земли, который должен иÑпользовать автотраÑÑировщик, Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ одной дорожкой к тому Ñоединению (из ÑпиÑка Ñоединений), к которому он должен отноÑитьÑÑ.
  5. Ðа каждом Ñлое автотраÑÑировки очертите непрерывными линиÑми иÑключаемые облаÑти.
  6. Задайте в ÑпиÑке Ñоединений Ñтили траÑÑировки, чтобы каждое Ñоединение разводилоÑÑŒ в заданном Ñтиле2).
  7. Ð”Ð»Ñ Ñоединений, Ñтиль траÑÑировки которых не определён в ÑпиÑке Ñоединений, задайте текущий Ñтиль, воÑпользовавшиÑÑŒ кнопкой внизу рабочего окна.
  8. Запретите те ÑоединениÑ, которые не должны разводитьÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки. Признак запрета «*» добавлÑетÑÑ/удалÑетÑÑ Ð´Ð²Ð¾Ð¹Ð½Ñ‹Ð¼ щелчком по ним в окне ÑпиÑка Ñоединений.
  9. Обновите линии ÑвÑзи (нажатием клавиши O).
  10. Выберите в меню наÑтроек Показывать попытки автотраÑÑировщика, еÑли хотите наблюдать процеÑÑ Ñ€Ð°Ð·Ð²Ð¾Ð´ÐºÐ¸.
  11. Ð’ меню Ñоединений выберите ÐвтотраÑÑировка вÑех Ñоединений.

Примечание о запрете Ñоединений: еÑли вы хотите развеÑти некоторые ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¾ позже ÑамоÑтоÑтельно, не иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ñлои металлизации, обычно лучше Ñначала попробовать развеÑти их автотраÑÑировщиком, а затем уже вручную удалить. ЕÑли вы планируете вручную задавать Ñлои питаниÑ/земли, раÑÑмотрите возможноÑть ÑоÑтавить их из одного или более проÑтых прÑмоугольников и попробовать развеÑти вÑÑ‘ автотраÑÑировщиком.

ЕÑли вы на Ñамом деле хотите по уши влезть в траÑÑировщик, так как делаете оÑобый проект, например, Ñодержащий только компоненты Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð½Ð¾Ð³Ð¾ монтажа, можете поковырÑтьÑÑ Ñ Ð¼ÐµÑ‚Ñ€Ð¸ÐºÐ°Ð¼Ð¸ ÑтоимоÑти направлений Ð´Ð»Ñ Ñлоёв, Ð´Ð»Ñ Ñтого откройте иÑходный файл autoroute.c и измените метрики ÑтоимоÑти направлений в Ñтроках 929-940, а затем попробуйте ещё раз. Ещё больше завÑзнуть Ñ Ð¼ÐµÑ‚Ñ€Ð¸ÐºÐ°Ð¼Ð¸ ÑтоимоÑти можно в Ñтроках 4540-4569, но Ñто врÑд ли Ñ…Ð¾Ñ€Ð¾ÑˆÐ°Ñ Ð¸Ð´ÐµÑ, еÑли только вы не хотите проÑто поÑкÑпериментировать.

Как заÑтавить автотраÑÑировщик размещать дорожки только на определённом Ñлое?

ПроÑто отключите Ñлои, на которых дорожки вам не нужны (обычно зелёный и Ñиний), щелчком мыши по названию ÑлоÑ. Затем запуÑтите автотраÑÑировку.

Как автотраÑÑировщику запретить обрабатывать некоторые ÑоединениÑ?

Откройте окно ÑпиÑка Ñоединений. Ð’ нём еÑть возможноÑть Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñоединений из обрабатываемого Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ Ð»Ð¸Ð½Ð¸Ð¹ ÑвÑзи. ЕÑли вы иÑпользуете GTK-HID, дважды щёлкните по Ñоединению, которое нужно запретить. УбедитеÑÑŒ, что разрешены только нужные вам ÑоединениÑ. Оптимизируйте линии ÑвÑзи нажатием O. Выберите ÐвтотраÑÑировка вÑех Ñоединений.

Как заÑтавить автотраÑÑировщик разводить дорожки только внутри контуров моей платы?

ОблаÑть работы автотраÑÑировщика можно ограничить, начертив медный полигон, ÑоответÑтвующий границам платы, и помеÑтив его в каждый Ñлой, в котором планируетÑÑ Ð°Ð²Ñ‚Ð¾Ñ‚Ñ€Ð°ÑÑировка. Кроме того, Ñту хитроÑть можно иÑпользовать Ð´Ð»Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ñ‚Ñ€Ð°ÑÑировки небольшими облаÑÑ‚Ñми. ЕÑли же у Ð²Ð°Ñ ÐºÐ°ÐºÐ¾Ðµ-то Ñоединение где-то Ñлучайно коÑнулоÑÑŒ Ñтого полигона, вÑе его дорожки, конечно, будут закорочены на Ñтот полигон.

Как развеÑти Ñлои Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¸ земли автотраÑÑировщиком?

Подключите полигон, который должен Ñтать Ñлоем питаниÑ, к Ñоединению, и автотраÑÑировщик при разводке будет его учитывать. Кое-где Ð´Ð»Ñ Ñ€Ð°Ð·Ð²Ð¾Ð´ÐºÐ¸ Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¸ обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð²Ð¾Ð´ÐºÐ¸ внутри контуров платы может быть Ð´Ð»Ñ Ð¿Ð¾Ð»Ð¸Ð³Ð¾Ð½Ð° придётÑÑ Ð½Ð°Ñтроить неÑколько «хитрых» зазоров.

Можно ли заранее определить оÑобый Ñтиль автотраÑÑировки Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… Ñоединений?

Да, каждому Ñоединению можно назначить Ñвой Ñтиль траÑÑировки. Это обычно делаетÑÑ Ð² файле ÑпиÑка Ñоединений. Формат таков:

netname [название_ÑтилÑ] название_Ñлемента1-номер_вывода1 название_Ñлемента2-номер_вывода2 ...

Квадратными Ñкобками отмечен необÑзательный Ñлемент.

Можно вручную отредактировать Ñвой ÑпиÑок Ñоединений и добавить Ñтили Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑоединениÑ. ÐвтотраÑÑировщик будет учитывать Ñтиль каждого ÑоединениÑ, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ñƒ проводников, характериÑтики переходов и зазоры.

Разводка, ÑÐ´ÐµÐ»Ð°Ð½Ð½Ð°Ñ Ð°Ð²Ñ‚Ð¾Ñ‚Ñ€Ð°ÑÑировщиком, нерациональна!

Это технологичеÑкое ограничение Ñовременного автотраÑÑировщика. Он беÑÑеточный, и иÑпользует только прÑмоугольники.

Разводка, ÑÐ´ÐµÐ»Ð°Ð½Ð½Ð°Ñ Ð°Ð²Ñ‚Ð¾Ñ‚Ñ€Ð°ÑÑировщиком, ужаÑна!

Ð’Ñ‹ пробовали запуÑкать различные инÑтрументы оптимизации из меню Ð¡Ð¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ â†’ Оптимизировать дорожки?

Gerber-файлы, печать и другие вопроÑÑ‹ ввода-вывода

Возможно ли получить вывод, не иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑкий интерфейÑ?

Да, Ð´Ð»Ñ pcb можно задать ÑкÑпорт из командной Ñтроки. Ð’Ñе параметры, задаваемые в диалоговом окне печати, можно иÑпользовать и из командной Ñтроки. ÐеÑколько проÑтых примеров:

Gerber-файлы:

pcb -x gerber --gerberfile BOARD BOARD.pcb

Encapsulated Postscript:

pcb -x eps --eps-file BOARD.eps

Печать в многоÑтраничный Postscript-файл:

pcb -x ps --psfile BOARD.ps BOARD.pcb

Формат PNG:

pcb -x png --dpi 300 --only-visible --outfile BOARD.png BOARD.pcb

Разные функции вывода принимают разные ключи. ПодробноÑти можно узнать, поÑмотрев вывод команды pcb --help.

Как напечатать только определённые Ñлои?

Из графичеÑкого интерфейÑа:

  • деактивизируйте вÑе Ñлои, которые не нужно печатать;
  • выберите Файл → ЭкÑпорт топологии… → eps;
  • включите as-shown.

Из командной Ñтроки:

pcb -x eps \
  --layer-stack "outline,top,silk" \
  --as-shown \
  --eps-file "foobar.eps" BOARD.pcb

Строка layer-stack (Ñтек Ñлоёв) может Ñодержать ÑпиÑок разделённых запÑтыми Ñлоёв, иÑпользуемых в графичеÑком интерфейÑе. Ðужно задать ключ --as-shown. Ð’ противном Ñлучае будет иÑпользоватьÑÑ Ñ„Ð°Ð¹Ð» Ñтека Ñлоёв по умолчанию. Кроме того, еÑть неÑколько идентификаторов, которые фактичеÑки ÑлоÑми не ÑвлÑÑŽÑ‚ÑÑ, например pins (выводы) или invisible (невидимые объекты). ЕÑли в Ñтроке layer-stack вы зададите неизвеÑтный идентификатор ÑлоÑ, программа pcb выдаÑÑ‚ перечень извеÑтных ей названий Ñлоёв.

Как напечатать нижнюю Ñторону платы?

Из командной Ñтроки: к Ñтроке layer-stack команды печати добавить “solderside†(Ñторона пайки). Пример:

  pcb -x eps --layer-stack "silk,solderside" \
     --as-shown \
     --eps-file "/tmp/foobar.eps" BOARD.pcb

Как наÑтроить контуры платы, чтобы пойти Ñ Ð¼Ð¾Ð¸Ð¼Ð¸ Gerber-файлами к производителю плат?

pcb интерпретирует линии в Ñлое outline как контуры печатной платы. ЕÑли такого ÑÐ»Ð¾Ñ Ð½ÐµÑ‚, можно либо переименовать Ñлой (Правка → Изменить название → текущего ÑлоÑ), либо Ñоздать новый Ñлой (Файл → ÐаÑтройки → Слои → Добавить) и ÑоответÑтвующим образом его переименовать. Учтите, что название ÑÐ»Ð¾Ñ Ñ€ÐµÐ³Ð¸ÑтрозавиÑимо.

Можно начертить контур платы в pcb. ПроÑто вычерчиваете желаемый контур Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ инÑтрумента LINE, можно также иÑпользовать ARC. БольшинÑтво производителей плат обрежет платы по центру линий. Таким образом можно Ñоздавать платы любой формы. Дуги, полигоны и текÑÑ‚ в Ñлое контуров платы outline также войдут в Gerber-файл.

Можно также отредактировать .pcb-файл Ñвоей топологии вручную. Обычно Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ð¾Ð² платы Ñ Ð¸Ñпользую воÑьмой Ñлой:

Layer(8 "outline")
(
	Line[x1 y1 x2 y2 1000 2000 0x00000000]
	Line[x2 y2 x3 y3 1000 2000 0x00000000]
	Line[x3 y3 x4 y4 1000 2000 0x00000000]
	Line[x4 y4 x1 y1 1000 2000 0x00000000]
	Line[<Ð´Ð»Ñ Ð½ÐµÐ¿Ñ€Ñмоугольных плат здеÑÑŒ будет задано больше точек> 1000 2000 0x00000000]
)

pcb произведёт Gerber-файл $NAME.outline.gbr, Ñодержащий иÑключительно только объекты ÑÐ»Ð¾Ñ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ð¾Ð² платы outline.

Как обеÑпечить, чтобы отверÑÑ‚Ð¸Ñ Ð² проекте были только определённых размеров?

Ðекоторые производители приводÑÑ‚ ÑпиÑки Ñтандартных размеров Ñвёрл и взимают дополнительную плату, еÑли в проекте ÑодержатÑÑ Ð´Ñ€ÑƒÐ³Ð¸Ðµ размеры. Такой ÑпиÑок можно помеÑтить в «файл реÑурÑов производителÑ». Там же можно определить иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸ указать, должен ли выбиратьÑÑ Ð±Ð»Ð¸Ð¶Ð°Ð¹ÑˆÐ¸Ð¹ диаметр или значение должно округлÑтьÑÑ Ð´Ð¾ Ñледующего в ÑпиÑке. СинтакÑÐ¸Ñ Ñ‚Ð°ÐºÐ¸Ñ… файлов приведён в разделе Vendor-drill-mapping руководÑтва по pcb.

Загрузите Ñтот файл в pcb Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Загрузить файл реÑурÑов Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ñ Ð¸Ð· оÑновного меню. Или можно воÑпользоватьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ :LoadVendor(drillfile). ВмеÑто drillfile задайте Ð¸Ð¼Ñ Ñвоего файла.

При загрузке pcb заменит размеры отверÑтий, чтобы Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð³Ð¸Ñ ÑоответÑтвовала данному ÑпиÑку. ЕÑли нужно заново ÑоглаÑовать отверÑÑ‚Ð¸Ñ Ñ ÑƒÐ¶Ðµ загруженным файлом реÑурÑов, можно выбрать СоглаÑовать Ñо Ñвёрлами Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ñ Ð¸Ð· меню СоединениÑ.

Сколько контактных площадок в моей топологии?

Ðекоторые производители плат Ð´Ð»Ñ Ñ€Ð°Ñчёта ÑтоимоÑти запрашивают количеÑтво контактных площадок SMD-компонентов. Определить их количеÑтво в топологии можно Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gerbv.

  1. Произведите ÑкÑпорт топологии в Gerber-файлы
  2. Откройте файл $NAME.frontpaste.gbr в gerbv.
  3. Из меню Analyze откройте окно Gerber codes report.
  4. Вкладка Aperture usage покажет количеÑтво контактных площадок.

Я закончил разработку топологии Ñвоей платы. Как мне проверить Ñвой проект?

  • ЗапуÑтите проверку ÑоответÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ð¼ нормам или через командный Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ («DRC()»), или из меню (Ð¡Ð¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ â†’ Проверка проектных норм). Ðормы можно наÑтроить в разделе Размеры диалогового окна ÐаÑтройки…. Результаты проверки отображаютÑÑ Ð² окне журнала.

Кроме запуÑка команды проверки ÑоответÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ð¼ нормам, очень важно проверить Ñвои Gerber-файлы. Ð’ gEDA Suite Ñту задачу выполнÑет программа gerbv. Вот кое-что из того, что Ñледует проверить:

  • Проверьте, что ширина каждой из дорожек ÑоответÑтвует заданной. УдоÑтоверьтеÑÑŒ также, что ширина дорожек и размеры изолÑционных промежутков между металлизированными облаÑÑ‚Ñми выше минимума, уÑтановленного вашим производителем печатных плат.
  • Проверьте, что размер каждого из отверÑтий ÑоответÑтвует заданному значению.
  • Проверьте, что металличеÑкие поÑÑки отверÑтий/переходов доÑтаточно велики. Размер поÑÑков определÑетÑÑ Ð¼ÐµÐ¶Ð´Ñƒ краем отверÑÑ‚Ð¸Ñ Ð¸ внешним диаметром металлизации. Он должен быть доÑтаточно большим, чтобы удовлетворÑть неточноÑÑ‚Ñм Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñверла, ÑÐ¾Ð²Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ñлоёв и другим погрешноÑÑ‚Ñм производÑтва. Ð¢Ð°ÐºÐ°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° предоÑтавлÑтьÑÑ Ñ„Ð¸Ñ€Ð¼Ð¾Ð¹-производителем; обычно производители уÑтанавливают минимальный размер поÑÑка (гарантийный поÑÑок) в документации по нормативам производÑтва.
  • Проверьте, что «антиплощадки» (зазоры вокруг отверÑтий/переходов) имеют доÑтаточный размер. Ð¢Ð°ÐºÐ°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° предоÑтавлÑтьÑÑ Ñ„Ð¸Ñ€Ð¼Ð¾Ð¹-производителем; попроÑите её предоÑтавить документацию по нормативам производÑтва.
  • УбедитеÑÑŒ, что ни паÑÐ»ÑŒÐ½Ð°Ñ Ð¼Ð°Ñка, ни Ñлой шелкографии не перекрывают контактные площадки и Ñквозные отверÑтиÑ.
  • Ð”Ð»Ñ Ñлоёв Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¸ земли проверьте, что Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ один переход приÑоединён к каждому из них (да, Ñ Ð²Ð¸Ð´ÐµÐ» плату, на которой Ñлой земли был «плавающим», никуда не подключенным; кÑтати, плата была Ñделана не в pcb).
  • Ð”Ð»Ñ Ñлоёв Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¸ земли проверьте, что Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ неÑколько переходов не приÑоединены к ним.
  • Визуально проверьте нормальноÑть разводки Ñлоёв. Ðе имею в виду ничего оÑобенного, проÑто проверьте, что они выглÑдÑÑ‚ примерно так, как по вашему мнению и должны были выглÑдеть.
  • Подпишите её и поÑтавьте дату. По крайней мере, добавьте Ð´Ð»Ñ Ð½ÐµÑ‘ номер верÑии, чтобы, еÑли вам будет нужно её проверить, вы Ñмогли бы отличить хорошее от плохого.
  • ЯвлÑÑŽÑ‚ÑÑ Ð»Ð¸ Ñлои негативными/позитивными, какими они и должны быть? Учтите, что некоторые фирмы-производители разрешают иÑпользовать только позитивные Ñлои. pcb Ð´Ð»Ñ Ð²Ð½ÐµÑˆÐ½Ð¸Ñ… Ñлоёв питаниÑ/земли без дорожек автоматичеÑки Ñоздаёт негативные Gerber-файлы. ЕÑли нужно, чтобы вÑе Ñлои питаниÑ/земли выводилиÑÑŒ как позитивные, где-нибудь в неиÑпользуемой чаÑти ÑÐ»Ð¾Ñ Ð½Ð°Ñ‡ÐµÑ€Ñ‚Ð¸Ñ‚Ðµ одну дорожку. Это заÑтавит pcb ÑкÑпортировать данный Ñлой как позитивный.

ЭкÑпорт в другие форматы: раÑтровые и PS-файлы

Что Ñто за xy-max в диалоговом окне ÑкÑпорта PNG?

Это значение ограничивает размер Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð² пикÑелах при Ñохранении Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ Ñторон. Ðапример, при уÑтановке его в 400, плата размером 6000×8000 будет преобразована в изображение размером 300×400, но плата размером 6000×4500 будет преобразована в изображение размером 400×300.

ÐаÑтройка под ÑебÑ

Мне не нравитÑÑ Ñтот неÑовременный чёрный фон. Можно ли Ñделать рабочую облаÑть Ñветлой?

Ð’ GTK-HID можно вызвать диалоговое окно наÑтроек из меню Файл. Во вкладке Цвета можно легко наÑтроить любые цвета Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ удобного Ñтандартного интерфейÑа выбора цветов GTK. При закрытии Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñ†Ð²ÐµÑ‚Ð° ÑохранÑÑŽÑ‚ÑÑ Ð² $HOME/.pcb/preferences. Ð’ Lesstif-HID диалогового окна наÑтроек нет. Цвета можно наÑтроить в $HOME/.pcb/settings.

Как Ð´Ð»Ñ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ð³Ð¾ окна ÑкÑпорта в Postscript наÑтроить Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию?

Можно задавать ключи диалогового окна печати в Postscript как параметры командной Ñтроки при вызове pcb. Чтобы узнать доÑтупные ключи, наберите pcb --help. Эти ключи можно задать и в файле $HOME/.pcb/settings. Файл, в котором наÑтраиваетÑÑ Ð¿ÐµÑ‡Ð°Ñ‚ÑŒ на A4 без маркеров Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¸ задаётÑÑ Ð¼Ð½Ð¾Ð³Ð¾Ñтраничный вывод, будет Ñодержать:

media = A4
align-marks = 0
multi-file = 1

Как наÑтроить поведение мыши?

Поведение мыши Ð½ÐµÐ»ÑŒÐ·Ñ Ð½Ð°Ñтроить из графичеÑкого интерфейÑа. Ðо его можно приÑпоÑобить под Ñвои нужды без перекомпилÑции. Вот что надо Ñделать:

  1. найти на Ñвоей машине файл gpcb-menu.res. Ð”Ð»Ñ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñа Lesstif еÑть подобный файл, называющийÑÑ pcb-menu.res;
  2. Ñкопировать его в $HOME/.pcb;
  3. отредактировать по желанию и Ñохранить;
  4. при запуÑке pcb Ñчитает Ñту локальную копию. При Ñтом какие бы то ни было наÑтройки, Ñчитанные из ÑиÑтемного gpcb-menu.res, будут замещены.

Как временно изменить привÑзки клавиш?

Ð’ GTK-верÑии pcb еÑть изÑщный ÑпоÑоб Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð²Ñзок клавиш «на лету»:

  • перейдите в меню и наведите мышь на тот Ñлемент, что надо наÑтроить. Ðе щёлкайте никакими кнопками мыши;
  • нажмите клавиши, которые вы хотели бы назначить Ñтому Ñлементу меню;
  • привÑзка немедленно начнёт дейÑтвовать. Конфликты Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ привÑзками решаютÑÑ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸ÐµÐ¼ привÑзки конфликтующего определениÑ.

Ð¢Ð°ÐºÐ°Ñ Ð½Ð°Ñтройка ÑброÑитÑÑ Ð¿Ñ€Ð¸ Ñледующем запуÑке pcb.

Как изменить привÑзки клавиш наÑовÑем?

ЕÑли вы иÑпользуете Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ GTK, то иÑпользуемые по умолчанию привÑзки клавиш определÑÑŽÑ‚ÑÑ Ð² файлах gpcb-menu.res. При запуÑке pcb Ñчитывает конфигурацию из ÑиÑтемного пути доÑтупа, например /usr/local/share или /usr/share/. Чтобы Ñделать Ñвои Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð²Ñзок клавиш поÑтоÑнными, можно Ñкопировать ÑиÑтемный файл в $HOME/.pcb/gpcb-menu.res и отредактировать его по Ñвоему вкуÑу. ÐаÑтройки из Ñтого файла будут переопределÑть ÑиÑтемные.

Ð”Ð»Ñ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñа Lesstif вмеÑто gpcb-menu.res иÑпользуютÑÑ Ñ„Ð°Ð¹Ð»Ñ‹ pcb-menu.res.

Можно ли наÑтроить меню?

Ð”Ð»Ñ GTK-интерфейÑа меню определÑетÑÑ Ð² gpcb-menu.res. Ð’Ñ‹ можете положить локализованную копию в $HOME/.pcb/. Ð—Ð°Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð¾ наÑтройке привÑзки клавиш и Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¼Ñ‹ÑˆÐ¸ Ñмотрите выше.

Ð’Ñ‹ не ответили на мой вопроÑ. Где ещё можно получить информацию по pcb?

БыÑтрый ответ на Ñвой Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¼Ð¾Ð¶Ð½Ð¾ получить в ÑпиÑке раÑÑылки geda-user. ЕÑли вы не нашли ответа на Ñвой Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¾ pcb на Ñтой Ñтранице или в другой документации, пишите в ÑпиÑок раÑÑылки! Учтите, что прежде чем пиÑать в Ñтот ÑпиÑок раÑÑылки, на него нужно подпиÑатьÑÑ. СпиÑки раÑÑылки gEDA и их архивы можно найти на Ñтранице http://wiki.geda-project.org/geda:mailinglists.ru.

1) Ðапример, mv myfile.plated-drill.cnc myfile.unplated-drill.cnc. ÐÐ°Ð·Ð²Ð°Ð½Ð¸Ñ Ð½ÑƒÐ¶Ð½Ð¾ ÑоглаÑовать Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÐµÐ¼ плат. — Прим. перев.
2) Ð’ наÑтоÑщее времÑ, наÑколько мне извеÑтно, Ñто можно Ñделать, только отредактировав ÑпиÑок Ñоединений вручную. — Прим. перев.
lepton-eda-1.9.10/docs/wiki/geda-pcb-quick_reference.html0000644000175000017500000011644113634703632020144 00000000000000

Translations of this page are also available in the following languages: Français, РуÑÑкий.

PCB: Quick Reference

Additional information

More information on PCB you can find in the PCB Command reference (refcard.pdf) containing description of all PCB shortcuts and in the PCB Manual (pcb.pdf or pcb.html) residing in the doc/ directory of your PCB installation (its path may vary on various systems).

Default Key Mapping

All Keystrokes

Key Mnemonic Description
Esc select enter select mode (same as Space, or F11)
Esc end of action terminate the current action, e.g. stop drawing tracks
Insert insert point enter insert point mode. Click and drag on track to insert a point
Return click same as a click on the left mouse button
Space select enter select mode (same as Esc, or F11)
Tab flip up/down view: vertical flip
Shift+Tab flip left/right view: horizontal flip
Ctrl+Shift+Tab far side view: exchange the roles of front side and far side
Del delete delete object under the mouse cursor
Shift+Del del-sel delete objects in selection
Backspace del-sel delete objects in selection
Shift+Backspace del-copper deletes connected copper under the cursor. Rats are considered a connection.
| thin-draw toggles thin draw mode
A set same read the parameters to use for new objects from the object below the cursor.
Alt+A select-all select all objects on active layers. Deactivated layers are ignored.
Shift+Alt+A unselect clear selection
B to other side flip object to the other side of the board
C center view: center display at cursor position
Ctrl+C copy to buffer copy selection to buffer and unselect
D display name display pin or pad name
Shift+D pinout dialog open pinout window for element under mouse cursor
E eliminate rats delete all rats
Shift+E eliminate some rats delete selected rats
F find highlight connections to object under mouse cursor. This includes rats and objects on invisible layers
Ctrl+F add to found add connections to object under mouse cursor to the set of found objects
Shift+F un-find un-highlight found connections
G incr grid mil increment grid by configured imperial increment
Shift+G decr grid mil decrement grid by configured imperial increment
Ctrl+G incr grid mm increment grid by configured metric increment
Ctrl+Shift+G decr grid mm decrement grid by configured metric increment
H hide toggle the visibility of the refdes or value attached to the component under the cursor
Shift+H hide sel toggle the visibility of the refdes or value attached to selected components
Ctrl+H holeplate toggle plating of a via. Used to produce non metalized mounting holes
J lineclear toggle the polygon clear flag of the line under the cursor
Shift+J lineclear sel toggle the polygon clear flag of selected lines
K klear increment clearance (soldermask to copper edge)
Shift+K klear (-) decrement clearance (soldermask to copper edge (NOTE: can go negative!))
Ctrl+K klear sel increment clearance of selected objects (soldermask to copper edge)
Shift+Ctrl+K klear sel (-) decrement clearance of selected objects (soldermask to copper edge)
L increase line increment width of the line tool, adds to the settings of the current line style
Shift+L decrease line reduce the current linewidth
M move to layer move the object under the cursor to the current layer
Shift+M move selection to layer move selected objects to the current working layer (see pcb tip)
Ctrl+M move origin set the origin to the current position of the mouse pointer
N name show object refdes / pin number at mouse pointer
Shift+N next Select the shortest unselected rat on the board
O optimize rats optimize and redraw all rats
Shift+O optimize some rats optimize and redraw selected nets only
Ctrl+O octagon toggle the octagon flag of the object under the cursor
Shift+P polygon close connect the first point of a polygon with the last
Q square toggle toggle square/round corners on pads
Shift+R redo redo what was undone with undo
Ctrl+R report show object report
S size increment size of the object under the cursor
Shift+S size (-) decrement size of the object under the cursor
Alt+S sizehole increase the hole of the object under the cursor
Alt+Shift+S sizehole (-) decrease the hole of the object under the cursor
Ctrl+S sizehole increase the hole of the object under the cursor
Ctrl+Shift+S sizehole (-) decrease the hole size
T text tool size increase the size of new text by 10 mil
Shift+T text tool size (-) decrease the size of new text by 10 mil
V view extents global view of working area
Shift+V via tool dia increase the diameter of new vias by 5 mil
Ctrl+V paste buffer paste from buffer
Ctrl+Shift+V via tool dia (-) decrease the diameter of new vias by 5 mil
Alt+V via tool drill increase the drill diameter of new vias by 5 mil
Shift+Alt+V via tool drill (-) decrease the drill diameter of new vias by 5 mil
Ctrl+X cut to buffer cut selection to buffer
Z zoom view: zoom in
Shift+Z un-zoom view: zoom out
F1 via enter via tool
F2 line enter line tool
F3 arc enter arc tool
F4 text enter text tool
F5 rectangle enter rectangle tool
F6 polygon enter polygon tool
F7 buffer enter buffer mode
F8 delete enter remove mode
F9 rotate enter rotate mode
F10 file menu file menu
F11 select enter select mode (same as Space, or Esc)
F12 lock enter lock mode

Viewport Keystrokes

Key Mnemonic Description
V view extents global view of working area
C center centers view on cursor
Z zoom zoom in
Shift+Z un-zoom zoom out
| thin-draw toggles thin draw mode
Tab flip up/down vertical flip
Shift+Tab flip left/right horizontal flip
Ctrl+Shift+Tab far side exchange the roles of front and far side

Layers

Key Mnemonic Description
1 to 9 - select layers 1 to 9
0 - select layer 10*
Alt+1 to Alt+9 - select layers 11 to 19*
Alt+0 - select layer 20*
Ctrl+1 to Ctrl+9 - toggle visibility of layers 1 to 9*
Ctrl+0 - toggle visibility of layer 10*
Ctrl+Alt+1 to Ctrl+Alt+9 - toggle visibility of 11 to 19*
Ctrl+Alt+0 - toggle visibility of 20*

* These accels are available in PCB, GTK GUI in versions after August 2011

Footprint Quick Reference

The Master document for footprint creation is the PCB Manual. There is also Stuart Brorson’s Footprint Creation for the Open-Source Layout Program PCB.

General syntax

A pcb footprint file may contain any of the following commands:

  • Element [element_flags, description, pcb_name, value, mark_x, mark_y, text_x, text_y, text_direction, text_scale, text_flags]
  • Pad [x1 y1 x2 y2 thickness clearance mask name pad_number flags]
  • Pin [x y thickness clearance mask drillholedia name number flags]
  • ElementArc [x y r1 r2 startangle sweepangle thickness]
  • ElementLine [x1 y1 x2 y2 thickness] –> thickness != 1000 = 10 mils almost for all footprints
  • Comment lines start with the ‘#’-sign

PCB Units

PCB handles metric and imperial units in the following way:

  • The base Imperial unit is the “centimilâ€, or 1/100 of a thousandth, or 1/100,000 inch, or 0.00001 inch.
  • Allowable imperial value range: “0.04†(0.0000004 inches) to approx. “78740000†(about 78-3/4â€)
  • The base Metric unit is 1nm (one nanometer). PCB parses in metric if the number has a “mm†behind it.
  • Allowable metric value range: “0.000001mm†to “2000mmâ€
  • NOTES:
    • use “mm†after number to specify metric
    • imperial and metric may be mixed within a footprint (!)

Elements

Element [element_flags, description, pcb_name, value, mark_x, mark_y, text_x, text_y, text_direction, text_scale, text_flags]

Allowed value (unit = 1e-5 inches) Allowed Value (mm) explanation comment
element_flags unsigned hex value
description string text description of footprint user-defined
pcb_name string generic refdes (R?, U? etc.) user-defined
value string component value (layout specific) user-defined (blank)
mark_x “1†to ~ “78740000†“0.000001mm†to “2000mm†(x,y) loc. of center mark
mark_y “1†to ~ “78740000†“0.000001mm†to “2000mmâ€
text_x “1†to ~ “78740000†“0.000001mm†to “2000mm†(x,y) loc. of REFDES
text_y “1†to ~ “78740000†“0.000001mm†to “2000mmâ€
text_direction decimal integer 0=horiz; 1=ccw90; 2=180; 3=cw90
text_scale decimal integer usu. set to 100
text_flags unsigned hex

Pads

Pad[x1 y1 x2 y2 thickness clearance mask name pad_number flags]

Item Allowed Value Explanation Comment
x1 1/100th mil x (1st point)
y1 1/100th mil y (1st point)
x2 1/100th mil x (2nd point)
y2 1/100th mils y (2nd point)
thickness 1/100 mils width of metal surrounding line segment see Brorson .pdf
clearance 1/100 mils distance to any other copper on any layer actually 1/2 of this number is used!
mask 1/100th mils width of mask relief actual width of the mask centered on pad copper
name string name of pad (arb. string) e.g. "pad_1" or "positive" or any other string
pad_number string pad # used for nets. it MUST be consistent with the definitions on the netlist.
flags hex or string examples:

Pins

Pin[x y thickness clearance mask drillholedia name number flags]

Item Allowed Value Explanation Comment
x 1/100th mils pin x coord.
y 1/100th mils pin y coord.
thickness 1/100th mils copper diameter
clearance 1/100th mils 2*(cu to cu clearance) if you want a 10 mil clearance, put 2000 (20 mils) here
mask 1/100th mils diameter of mask aperture actual dia. of hole in mask
drillholedia 1/100th mils dia. of hole
name string arb. pin name
number decimal integer pin number used by nets/rats
flags hex xxx

Examples

  • Pad[-24606 14760 -19538 14760 1181 2000 3181 "" "16" "square"]
  • Pad[-14760 19538 -14760 24606 1181 2000 3181 "" "17" "square,edge2"]
  • Pin[0 0 12000 2000 12500 6400 "" "1" 0×00000001]
  • ElementArc [0 0 6800 6800 0 360 1000]
  • ElementLine [-26696 -26696 26696 -26696 1000]
  • # notes within PCB Footprints go after the pound sign

PCB Command Line Action Reference (abridged)

:FreeRotateBuffer(degrees)Rotate buffer arbitrarily
:MoveObject(x,y,unit) Move Absolute (x,y,mil) or Relative(+x,-y,mil)
:ChangeClearSize(Selected,<amount>,<unit>) Clearance Size
:ChangeSize(SelectedPins, SIZE) Pin Size
:ChangeSize(SelectedLines,+N,mils) Line Size
:MinClearGap(Selected,<amount>,<unit>) Clearance Gap

PCB Physical Layer Reference

  • outline layer reference
  • physical layer how-to (outline, direct (x,y) footprint placement, part insertion)
lepton-eda-1.9.10/docs/wiki/Makefile.am0000644000175000017500000000320413634703632014510 00000000000000wikidir = $(docdir)/wiki # # NOTE: While constructing the list of files to install, # we search for symbolic links (-type l) as well as # regular files (-type f). This is done to facilitate # out-of-source builds using a tree of symbolic links, # created, for example, with lndir(1). # # Copy wiki into distribution dist-hook: @for dir in $$(cd $(srcdir) && find . -type d -print | sed -e's:^\./::' ); do \ $(MKDIR_P) $(distdir)/$$dir; \ list=`(cd $(srcdir)/$$dir && find . -maxdepth 1 \( -type f -o -type l \) \! -name 'Makefile*' \! -name '.gitignore' -print | sed -e 's:^\./::')`; \ for file in $$list; do \ cp -p $(srcdir)/$$dir/$$file $(distdir)/$$dir || exit $$?; \ done; \ done # Install wiki install-data-local: @for dir in $$(cd $(srcdir) && find . -type d -print | sed -e's:^\./::' ); do \ d="$(DESTDIR)$(wikidir)/$$dir"; \ $(MKDIR_P) $$d; \ list=`(cd $(srcdir)/$$dir && find . -maxdepth 1 \( -type f -o -type l \) \! -name 'Makefile*' \! -name '.gitignore' -print | sed -e 's:^\./::')`; \ if test -n "$$list"; then \ echo " ( cd $(srcdir)/$$dir && $(INSTALL_DATA)" $$list "'$$d' )"; \ (cd $(srcdir)/$$dir && $(INSTALL_DATA) $$list "$$d") || exit $$?; \ fi; \ done # Uninstall wiki uninstall-local: @for dir in $$(cd $(srcdir) && find . -type d -print | sed -e's:^\./::' ); do \ d="$(DESTDIR)$(wikidir)/$$dir"; \ list=`(cd $(srcdir)/$$dir && find . -maxdepth 1 \( -type f -o -type l \) \! -name 'Makefile*' \! -name '.gitignore' -print | sed -e 's:^\./::')`; \ if test -n "$$list"; then \ echo " ( cd '$$d' && rm -f" $$list ")"; \ (cd "$$d" && rm -f $$list) || exit $$?; \ fi; \ done lepton-eda-1.9.10/docs/wiki/geda-spice_improvements.html0000644000175000017500000000163313634703632020157 00000000000000

Spice simulation improvements in gschem

This page has moved to the more neutral topic circuit_simulation_improvements

lepton-eda-1.9.10/docs/wiki/geda-usage.ru.html0000644000175000017500000010137413634703632016000 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English, Français.

Каков наилучший ÑпоÑоб научитьÑÑ Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ в gEDA?

Первое, что нужно Ñделать, Ñто прочитать и понÑть превоÑходный учебник gschem -> gsch2pcb -> pcb от Bill Wilson и/или Введение в pcb от DJ Delorie. Это база Ð´Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° работы.

Ðепременно поÑмотрите также и другую документацию gEDA, доÑтупную на Ñтом веб-Ñайте.

Ðо вÑÑ‘ же лучший ÑпоÑоб изучить ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ gEDA Suite — загрузить его и попробовать Ñамому! ЕÑли вы будете держать под рукой учебник от Bill Wilson, Ð¿Ñ€Ð¾Ð±ÑƒÑ Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°Ð¼Ð¸, то очень быÑтро Ñтанете ÑкÑпертом!

Как выглÑдит маршрут Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² gEDA?

Вот Ð½ÐµÐ±Ð¾Ð»ÑŒÑˆÐ°Ñ Ð´Ð¸Ð°Ð³Ñ€Ð°Ð¼Ð¼Ð° разработки проÑтой печатной платы Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gEDA Suite:

Вкратце маршрут Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ñтой печатной платы таков:

  1. Создаёте Ñвою принципиальную Ñхему в gschem.
  2. ПроверÑете её Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ драйвера проверки ÑоответÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ð¼ нормам. ÐаучитьÑÑ Ñтому можно здеÑÑŒ.
  3. Задаёте позиционные Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñвоих компонентов Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ grenum или refdes_renum или проÑто добавлÑете их вручную в gschem.
  4. УÑтанавливаете Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² прочие атрибуты в gattrib (такие как, например, footprint Ð´Ð»Ñ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñадочных меÑÑ‚) или проÑто добавлÑете их в gschem вручную.
  5. С помощью gsch2pcb Ñоздаёте файл заготовки топологии печатной платы и ÑпиÑок Ñоединений.
  6. Ð’ pcb производите компоновку и траÑÑировку платы.
  7. Производите в pcb ÑкÑпорт Gerber-файлов из меню Файл → ЭкÑпорт топологии… [File → Export layout…] (выбираете тип файла «gerber»).

ЕÑли в процеÑÑе работы над топологией вы что-то менÑете или добавлÑете в Ñвоей принципиальной Ñхеме, или изменÑете там атрибуты, обновить плату можно Ñледующим образом:

  1. Редактируете Ñвою Ñхему и (или) атрибуты (в gschem или в gattrib).
  2. ПроверÑете её Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ драйвера проверки ÑоответÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ð¼ нормам. ÐаучитьÑÑ Ñтому можно здеÑÑŒ.
  3. С помощью gsch2pcb транÑлируете Ñвои Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² файл топологии.
  4. ОбновлÑете Ñвои компоненты в pcb, Ð²Ñ‹Ð±Ð¸Ñ€Ð°Ñ Ð¿ÑƒÐ½ÐºÑ‚ меню Файл → Загрузить топологию в буфер обмена [File → Load layout data to paste-buffer], и затем щёлкаете на облаÑти чертежа, чтобы размеÑтить компоненты.
  5. ОбновлÑете Ñвой ÑпиÑок Ñоединений в pcb, Ð²Ñ‹Ð±Ð¸Ñ€Ð°Ñ Ð¿ÑƒÐ½ÐºÑ‚ меню Файл → Загрузить ÑпиÑок Ñоединений [File → Load netlist file].

Обычно пользователи вызывают отдельные программы из командной Ñтроки. Менеджер проектов (geda) ÑущеÑтвует, но нуждаетÑÑ Ð² улучшении.

ЕÑть ли Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ñƒ программ gEDA?

Самое главное, что надо иметь в виду при разговоре об ограничениÑÑ… gEDA: gEDA — Ñто проект разработки программного обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом. Ð’ нём еÑть некоторые ограничениÑ, но Ñти Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð½Ðµ иÑкуÑÑтвенные, не Ñпециальные и не уÑтановленные торговцами. То еÑть, gEDA — Ñто программное обеÑпечение ни Ñ Ð½Ð°Ð´Ð¾ÐµÐ´Ð»Ð¸Ð²Ñ‹Ð¼Ð¸ требованиÑми региÑтрации, ни Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñми функциональных возможноÑтей, ни демонÑтрационное, ни Â«Ñ€ÐµÐ´Ð°ÐºÑ†Ð¸Ñ Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñми Ð´Ð»Ñ Ñтудентов». Ð’Ñе ограничениÑ, имеющиеÑÑ Ð² ÑиÑтеме gEDA, обуÑловлены только тем, что программиÑты пока не реализовали какие-то отдельные возможноÑти. Так как иÑходные текÑты открыты Ð´Ð»Ñ Ð²Ñех, и их можно поÑмотреть и изменить, мы рады каждому, кто Ñможет воплотить новую возможноÑть или уÑтранить ограничение и предложит проекту Ñвои заплаты. ЕÑли вы — программиÑÑ‚, и в ваших интереÑах помочь проекту gEDA, обдумайте возможноÑть взÑтьÑÑ Ð·Ð° уÑтранение одного из ограничений, указанных ниже! Ð’Ñ‹ найдёте много друзей и покажете ÑÐµÐ±Ñ Ð¼Ð¸Ñ€Ñƒ!

  • Поддержка иерархичеÑких шин: поддержки иерархичеÑких шин вÑÑ‘ ещё нет.
  • Ðтрибуты net и pin в gattrib: добавление атрибутов траÑÑировки Ð´Ð»Ñ Ñоединений и выводов в gattrib оÑтаётÑÑ Â«Ñ‚ÐµÐ¼, что надо ещё Ñделать». (Ðтрибуты net полезны Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¾Ð² быÑтродейÑтвующих уÑтройÑтв. ЧаÑто важно, например, чтобы вÑе дорожки в шине имели одинаковую ÑлектричеÑкую длину. К Ñожалению, не ÑÑно, Ñможет ли pcb поддерживать такие атрибуты траÑÑировки Ñразу.)
  • Обратное аннотирование изменений из pcb в gschem. Поддержка переÑтановки выводов и модификации файла разработки в pcb Ñ Ð¿Ð¾Ñледующим обратным аннотированием изменений в gschem оÑтаётÑÑ Â«Ñ‚ÐµÐ¼, что надо Ñделать».
  • Менеджер проектов geda уÑтарел и нуждаетÑÑ Ð² обновлении.
  • КоличеÑтво Ñлоёв в pcb: в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтво Ñлоёв в pcb ограничено шеÑтнадцатью Ð¿Ð»ÑŽÑ Ð´Ð²Ð° ÑÐ»Ð¾Ñ ÑˆÐµÐ»ÐºÐ¾Ð³Ñ€Ð°Ñ„Ð¸Ð¸ по умолчанию. Этого более чем доÑтаточно Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¾Ð² небольшого и Ñреднего размера. ЕÑли нужно, количеÑтво Ñлоёв может быть увеличено произвольно во Ð²Ñ€ÐµÐ¼Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñции.

Какие локальные файлы конфигурации иÑпользуютÑÑ Ð² проекте?

Ð”Ð»Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾Ð³Ð¾ проекта разработки печатной платы в локальном каталоге Ñтого проекта должны быть Ñледующие файлы конфигурации:

  • gafrc: Ñодержит наÑтройки программ gEDA/gaf (Ñ‚. е. gschem, gattrib, gnetlist и Ñ‚. д.). Также он должен Ñодержать указание на локальный каталог ваших Ñимволов (еÑли таковой имеетÑÑ).
  • attribs: еÑли Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ Ñлементов проекта вы иÑпользуете gnetlist -g bom2, то в данном файле указываютÑÑ Ñ‚Ðµ атрибуты, что должны ÑодержатьÑÑ Ð² Ñтом перечне.
  • projectrc: при переходе к разработке топологии печатной платы удобным ÑпоÑобом ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿ÑƒÑ‚ÐµÐ¹ доÑтупа к локальным каталогам, Ñодержащим файлы поÑадочных меÑÑ‚, и другой конфигурационной информации Ð´Ð»Ñ gsch2pcb будет команда gsch2pcb projectrc. Обратите внимание, что Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ файла можно выбрать любое имÑ; мне нравитÑÑ projectrc, потому что Ñто Ð¸Ð¼Ñ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚ его функцию.

Более подробное опиÑание каждого из конфигурационных файлов приведено в документации Ð´Ð»Ñ ÑоответÑтвующих программ.

Как называютÑÑ Ð¸ где находÑÑ‚ÑÑ rc-файлы, иÑпользуемые приложениÑми gEDA/gaf?

Ð”Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ñ€Ð°Ð·Ð½Ñ‹Ñ… параметров конфигурации в различных приложениÑÑ… gEDA/gaf (gschem, gattrib, gnetlist и других) иÑпользуетÑÑ Ð½ÐµÑколько rc-файлов. Эти файлы читаютÑÑ ÐºÐ°Ð¶Ð´Ñ‹Ð¼ из Ñтих приложений при их запуÑке. Концептуально поиÑк rc-файлов приложениÑми gEDA/gaf производитÑÑ Ð² трёх меÑтах:

  • Ð’ каталоге уÑтановки ÑиÑтемы: ${prefix}/share/gEDA/. ЗдеÑÑŒ находÑÑ‚ÑÑ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ðµ rc-файлы, то еÑть общие Ð´Ð»Ñ Ð²Ñей ÑиÑтемы и вÑех пользователей. Чтобы приложение gEDA работало правильно, Ñти файлы должны быть найдены и загружены без ошибок. ${prefix} предÑтавлÑет Ñобой путь доÑтупа к каталогу уÑтановки gEDA/gaf.
  • Ð’ домашнем каталоге пользователÑ: $HOME/.gEDA/. ÐаÑтройки rc-файлов, находÑщихÑÑ Ð² Ñтом каталоге, дейÑтвуют на вÑе проекты пользователÑ. Иметь Ñти файлы необÑзательно. Создавать их проÑтым копированием ÑиÑтемных файлов (например, system-gschemrc или какого-то другого файла) не Ñледует, надлежащим образом Ñто работать не будет. Правильнее будет указать в них только те наÑтройки, которые вам хотелоÑÑŒ бы изменить.
  • Ð’ локальном каталоге проекта. ЗдеÑÑŒ находÑÑ‚ÑÑ rc-файлы, отноÑÑщиеÑÑ Ðº локальному проекту (находÑщемуÑÑ Ð² Ñтом же каталоге). Ð’ Ñтих файлах определÑÑŽÑ‚ÑÑ Ð¾Ñобые наÑтройки, такие как пути доÑтупа к локальным библиотекам Ñимволов или иÑходных данных. Иметь Ñти файлы тоже необÑзательно. Создавать их проÑтым копированием ÑиÑтемных файлов (например, system-gschemrc или какого-то другого файла) не Ñледует, надлежащим образом Ñто работать не будет.

СиÑтема rc-файлов Ñо временем претерпела изменениÑ. Сначала Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ gEDA/gaf иÑпользовалиÑÑŒ Ñвои ÑобÑтвенные rc-файлы (например, gschemrc Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹ gschem, gnetlistrc — Ð´Ð»Ñ gnetlist и Ñ‚. д.). Однако Ñ Ñ€Ð¾Ñтом количеÑтва приложений gEDA/gaf Ñтало выÑÑнÑтьÑÑ, что отдельные rc-файлы Ñодержат много лишней информации и что вÑе Ñти разные rc-файлы Ñбивают новых пользователей Ñ Ñ‚Ð¾Ð»ÐºÑƒ. ПоÑтому отдельные rc-файлы были объединены в один, названный gafrc. Однако, ввиду того что Ð´Ð»Ñ gschem необходимы разнообразные Ñпециальные наÑтройки, мы решили нарÑду Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ gafrc оÑтавить дополнительно ÑиÑтемный файл gschemrc. Ртакже Ñ Ñ†ÐµÐ»ÑŒÑŽ обратной ÑовмеÑтимоÑти вÑÑ‘ ещё поддерживаетÑÑ ÑÑ‚Ð°Ñ€Ð°Ñ ÑиÑтема rc-файлов в ÑиÑтемном каталоге. ПоÑтому Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ rc-файлов выглÑдит примерно так:

  • Ð’ каталоге уÑтановки ÑиÑтемы:
    • system-gafrc – Ñодержит большинÑтво глобальных наÑтроек gaf
    • system-gattribrc
    • system-gnetlistrc
    • system-gschemrc – Ñодержит множеÑтво gschem-Ñпецифичных наÑтроек
    • system-gschlasrc
    • system-gsymcheckrc
  • Ð’ пользовательÑком каталоге ${HOME}:
    • .gEDA/gafrc
  • Ð’ каталоге локального проекта:
    • gafrc – должен Ñодержать локальные Ð¿ÐµÑ€ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½Ð°Ñтроек, как например ÑÑылки на локально иÑпользуемые Ñимволы.

Также в system-gschemrc производитÑÑ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° определений цветов gschem-darkbg или gschem-lightbg.

Ðаконец, обратите внимание, что Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ gEDA/gaf при запуÑке будут иÑкать до шеÑти файлов конфигурации:

  1. system-gafrc
  2. system-gschemrc (или какой-то другой файл)
  3. ${HOME}/.gEDA/gafrc
  4. ${HOME}/.gEDA/gschemrc (или какой-то другой файл)
  5. ./gafrc
  6. ./gschemrc (или какой-то другой файл)

ЕÑли вы видите предупреждение, что ваше приложение не может найти какой-либо из Ñтих файлов, не волнуйтеÑÑŒ. БольшинÑтво из них необÑзательны. Ðеобходимы только ÑиÑтемные rc-файлы.

Как наÑчёт менеджера проектов?

Ð’ отдельных компонентах gEDA Suite нет концепции Ñквозного проектированиÑ. Точнее, ÐºÐ°Ð¶Ð´Ð°Ñ Ð¸Ð· программ работает Ñо Ñвоими ÑобÑтвенными файлами (например, gschem → .sch, pcb → .pcb). Ðо ÑущеÑтвует менеджер проектов под названием geda, который можно запуÑтить из командной Ñтроки. Он призван помочь вам обращатьÑÑ Ñо Ñвоим проектом как Ñ ÐµÐ´Ð¸Ð½Ñ‹Ð¼ целым от иÑходной идеи и далее при ÑхемотехничеÑком проектировании, добавлении атрибутов, разработке топологии, Ñоздании Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ Ñлементов и Ñ‚. д.

К Ñожалению, разработка geda не ведётÑÑ Ð½Ð°Ñ€Ð°Ð²Ð½Ðµ Ñ Ð¾Ñтальными программами в gEDA/gaf. Ð’ чаÑтноÑти, в geda не иÑпользуютÑÑ Ð¿Ð¾Ñледние ÑредÑтва или методы Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ñ… задач проектированиÑ. ПоÑтому мы рекомендуем пользователÑм запуÑкать отдельные программы (например, gschem, gattrib, gnetlist, gsch2pcb и Ñ‚. д.) проÑто из командной Ñтроки. Между тем, еÑли вы — программиÑÑ‚, и ищете, за какой небольшой проект бы взÑтьÑÑ, отделка geda могла бы Ñтать неплохим введением в gEDA Suite, и при Ñтом вы нашли бы много друзей!

Можем ли мы заменить иÑпользуемый в gEDA формат файлов на XML?

Дебаты об иÑпользовании XML в качеÑтве формата файлов в раÑÑылке geda-user возникают периодичеÑки, каждые 2-3 года. Я думаю, Ñто показывает, наÑколько быÑтро мы терÑем Ñвою общеÑтвенную памÑть из-за мешанины в ÑпиÑке раÑÑылки.

Ð’Ñ€Ñд ли проект gEDA когда-нибудь перейдёт на формат XML Ð´Ð»Ñ Ñхем и Ñимволов, так что привыкайте к Ñтому. ÐеÑколько доводов против XML:

  1. Ð’ gEDA/gaf уже еÑть неизменный, хорошо документированный текÑтовый формат. Ðа 2007 год ему уже больше 8 лет. Он хорош в иÑпользовании и как Ñледует протеÑтирован.
  2. Ð”Ð»Ñ Ñвоего формата файлов у Ð½Ð°Ñ ÑƒÐ¶Ðµ еÑть парÑер. Он лёгок и вполне отлажен.
  3. ЕÑть множеÑтво давно развиваемых проектов, в которых Ñтот формат уже иÑпользуетÑÑ. Ð’Ñе начнут вопить, еÑли мы переключимÑÑ Ð½Ð° новый формат, так как имеющиеÑÑ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ñ‹ Ñразу уÑтареют. Рподдерживать два формата файлов — Ñтарый и новый — веÑьма накладно.
  4. XML — Ñто обобщённый формат. ПоÑтому XML-файлы имеют ÑклонноÑть жиреть, как Ñвиньи. Формат файла gEDA и лёгок, и хорошо адаптирован Ð´Ð»Ñ Ñвоей цели — предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑкой информации, отноÑÑщейÑÑ Ðº принципиальным Ñхемам Ð´Ð»Ñ Ñлектроники.
  5. Одно из Ñкобы преимущеÑтв XML в том, что Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ еÑть много парÑеров Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ кодом, что позволÑет очень проÑто интегрировать его в libgeda. Это в теории, а на практике работа парÑера ÑоÑтоит в анализе и обработке входных данных и затем в преобразовании их в Ñтруктуры данных, пригодные Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² оÑтальном коде gschem. Открытый парÑер делает около трети нужной работы, то еÑть производит чтение и анализ файлов и Ñоздаёт Ñвоего рода иерархичеÑкое дерево. Ð’ оÑтальную чаÑть работы входит перевод данных из Ñтого дерева в Ñтруктуры данных libgeda. Это очень большой объём работы. ПоÑтому такое Ñкобы преимущеÑтво Ñвободно доÑтупных XML-парÑеров — химера. Да, XML может быть интереÑен Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð¹, напиÑанной Ñ Ð½ÑƒÐ»Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹, но не Ð´Ð»Ñ Ñ‚Ð°ÐºÐ¾Ð³Ð¾ давно ÑущеÑтвующего проекта, как gEDA.
  6. Ð’Ñ€ÐµÐ¼Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ° gEDA лучше иÑпользовать Ð´Ð»Ñ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ новой функциональноÑти, например, обратного аннотированиÑ. Трата времени на замену нашего формата файла на XML — Ñто шаг в Ñторону, который не принеÑёт больше пользы конечным пользователÑм, но отнимет ценное Ð²Ñ€ÐµÐ¼Ñ Ñƒ разработчика.
  7. Другое преимущеÑтво XML в том, что Ñтот формат более-менее удобочитаем. Я ÑоглаÑен, что Ñто веÑкий довод. Современный наш формат неудобочитаем Ð´Ð»Ñ Ñ‚ÐµÑ…, кто никогда не читает документацию. Однако, наш формат — текÑтовый, и он полноÑтью документирован, так что о ÑущеÑтвенном поводе Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ â€” возможноÑти пиÑать Ñкрипты Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² — уже позаботилиÑÑŒ. К тому же, еÑли человек найдёт Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ документацию о формате, он определённо в нём разберётÑÑ. УдобочитаемоÑть Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ, — не знающего формат файла, — Ñто то, что называетÑÑ Â«Ð½ÐµÐ¿Ð»Ð¾Ñ…Ð¾ бы иметь», что в ÑпиÑке моих приоритетов Ñтоит ÑовÑем не выÑоко.
lepton-eda-1.9.10/docs/wiki/geda-gnetlist_scheme_primitives.html0000644000175000017500000003500513634703632021674 00000000000000

gnetlist Scheme primitives

Originally written by John Doty

Procedure gnetlist:get-packages level
Yields a list of refdes values for the set of schematics. Duplicated values are only listed once. The string level must be present, but is unused.
Usage: (gnelist:get-packages "")
Procedure gnetlist:get-non-unique-packages level
The same as gnetlist:get-packages, but duplicated values are listed as many times as they appear.
Usage: (gnetlist:get-non-unique-packages "")
Procedure gnetlist:get-pins refdes
Yields a list of pin numbers for the specified refdes value, which must be a string.
Usage: (gnetlist:get-pins "R1")
Procedure gnetlist:get-all-nets level
Yields a list of net names of nets connected to pins of all components for the set of schematics. Duplicated values are listed as many times as they appear once per pin. The string level must be present, but is unused.
Usage: (gnetlist:get-all-nets "")
Procedure gnetlist:get-all-unique-nets level
The same as gnetlist:get-all-nets, but duplicated values are only listed once.
Usage: (gnetlist:get-all-unique-nets "")
Procedure gnetlist:get-all-connections net
Yields a list of all connections to the named net, which must be a string. Each element of the list is itself a two element list of the form (refdes pinnumber).
Usage: (gnetlist:get-all-connections "3")
Procedure gnetlist:get-nets refdes pin
Yields a list of the form (netname connection1 connection2 …) where the netname is a name of the net connected to the pin of the component with the given refdes, and each connection is itself a two element list of the form (refdes pinnumber) representing the pin with the pinnumber of the component with the refdes. All arguments must be strings.
Usage: (gnetlist:get-nets "R1" "1")
BUG: This function does not reliably list all of the connections, if a net= connection is specified. All existing back ends that use this (excluding the cascade back end) use only the netname.
Procedure gnetlist:get-pins-nets refdes
Yields a list of (pinnumber . netname) pairs detailing all pin connections for the given refdes.
Usage: (gnetlist:get-pins-nets "R1")
Procedure gnetlist:get-all-package-attributes refdes attribute
Yields the list of values of the first found named attribute attached to all symbol instances with the given refdes. If an instance has no such attribute, #f is added to the list. All arguments must be strings.
Usage: (gnetlist:get-all-package-attributes "D1" "slot")
Procedure gnetlist:get-package-attribute refdes attribute
Yields the value of the named attribute attached to a symbol instance with the given refdes. Yields "unknown" if the attribute is absent. It only yields one value, regardless of how many matching attributes exist in the set of schematics. All arguments must be strings.
Usage: (gnetlist:get-package-attribute "R1" "device")
BUG: If there is more than one instance only the first instance encountered is inspected, so it may yield "unknown", even if a matching attribute is present.
Procedure gnetlist:get-toplevel-attribute attribute
Yields the value of the named attribute, which must be a string, at top level, that is, an attribute present in one of the schematics unattached to any object. Yields "not found" if no matching attribute is present.
Usage: (gnetlist:get-toplevel-attribute "schematic-name")
Procedure gnetlist:get-renamed-nets level
When gnetlist expands a hierarchical subcircuit, it first assigns every net within the subcircuit a unique name based on the refdes of the subcircuit instance and, if present, the netname within the subcircuit. If a net is attached to the higher level circuit, gnetlist then changes the name of the subcircuit net to the name of the higher level net to which it is attached. gnetlist:get-renamed-nets returns a list of lists of pairs of names. The first name in a pair is the initial unique netname within the subcircuit, the second is the higher level netname it has acquired. The string level argument must be present, but is unused.
Usage: (gnetlist:get-renamed-nets "")
Procedure gnetlist:get-attribute-by-pinseq refdes pinseq attribute
Yields the value of the named attribute attached to the pin with the named pinseq attribute to the package with the named refdes attribute. All arguments must be strings.
Usage: (gnetlist:get-attribute-by-pinseq "R1" "1" "pinlabel")
Procedure gnetlist:get-attribute-by-pinnumber refdes pinnumber attribute
Yields the value of the named attribute attached to the pin with the named pinnumber attribute to the package with the named refdes attribute. All arguments must be strings.
Usage: (gnetlist:get-attribute-by-pinnumber "R1" "1" "pinlabel")
Procedure gnetlist:vams-get-package-attributes refdes
Yields a list of the names of attributes attached to the package with the named refdes, which must be a string.
Usage: (gnetlist:vams-get-package-attributes "R1")
BUG: If there is more than one instance only the first instance encountered is inspected.
Procedure gnetlist:get-slots refdes
Yields a list of integers representing all slot attributes associated with a given refdes, which must be a string. Duplicated values are listed as many times as they appear.
Usage: (gnetlist:get-slots "D3")
Procedure gnetlist:get-unique-slots refdes
The same as gnetlist:get-slots, but duplicated values are listed only once.
Usage: (gnetlist:get-unique-slots "D3")
Procedure gnetlist:graphical-objs-in-net-with-attrib-get-attrib netname attribute-string attribute-name
This searches for a graphical symbol attached to a net with the given netname. The symbol must have attribute-string (of the form name=value) attached. It yields the value of the specified attribute named attribute-name. All arguments must be strings.
Usage: (gnetlist:graphical-objs-in-net-with-attrib-get-attrib "undriven_net" "device=DRC_Directive" "value")
Procedure gnetlist:get-backend-arguments
Yields a list of arguments passed to the gnetlist backend via the -O command-line option.
Usage: (gnetlist:get-backend-arguments)
Procedure gnetlist:get-calling-flags
Yields a list of lists of command line flags and values. Each flag must be known to the gnetlist front end. For example, the -O nomunge_mode option will yield ("nomunge_mode" #t).
Usage: (gnetlist:get-calling-flags)
NOTE: This function is deprecated and should not be used in new code. New code should use gnetlist:get-backend-arguments directly.
Procedure gnetlist:get-input-files
Yields a list of the files named on the command line.
Usage: (gnetlist:get-input-files)
Procedure gnetlist:get-command-line
Yields the command line used to invoke the program.
Usage: (gnetlist:get-command-line)
BUG: As of gnetlist version 1.9.1 it is broken and outputs command line arguments passed to guile instead of those of gnetlist.
Yields a number corresponding to the verbosity mode specified on the command-line: 1 for verbose mode, -1 for quiet mode, and 0 otherwise.
Usage: (gnetlist:get-verbosity)
Procedure gnetlist-version
Yields #t if the version numbers of the gnetlist rc files and that of gEDA/gaf do not differ, otherwise yields #f and outputs warning.
Usage: (gnetlist-version)

See the hierarchy page for information about gnetlist rc settings.

lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-implicit_pins.html0000644000175000017500000000367213634703632021436 00000000000000

Implicit pins

As an alternative to using visible pins drawn in a symbol, gnetlist supports defining connections between named nets and pins using the â€net=†attribute. This is commonly used with slotted components, to avoid either having to add power pins to each slot or having to place an separate “power connections†component into the schematic.

For more information on using the â€net=†attribute, see the net= attribute HOWTO.

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-grids.ru.html0000644000175000017500000001336313634703632017743 00000000000000

Сетки

Ð”Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² Ñхемы или Ñимвола в gschem иÑпользуетÑÑ Ñетка. Ð’ любое Ð²Ñ€ÐµÐ¼Ñ Ð°ÐºÑ‚Ð¸Ð²Ð½Ñ‹ две Ñетки: Ñетка привÑзки и Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶Ð°ÐµÐ¼Ð°Ñ Ñетка. Текущие наÑтройки Ñеток отображаютÑÑ Ð² Ñтроке ÑоÑтоÑÐ½Ð¸Ñ gschem в виде «Сетка(100,100)» [«Grid(100,100)»], где первое чиÑло отноÑитÑÑ Ðº Ñетке привÑзки, а второе — к отображаемой Ñетке.

Сетка привÑзки

Сетка привÑзки иÑпользуетÑÑ Ð´Ð»Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¹ редактированиÑ, она позволÑет позиционировать объекты таким образом, чтобы обеÑпечить их беÑпроблемное подключение друг к другу. Размер Ñетки можно увеличить или уменьшить, выбрав в меню ÑоответÑтвенно ÐаÑтройки→Увеличить шаг Ñетки [Options→Scale up grid spacing] или ÐаÑтройки→Уменьшить шаг Ñетки [Options→Scale down grid spacing]. С помощью ÐаÑтройки→Шаг Ñетки привÑзки… [Options→Snap grid spacing…] можно задать нужное неÑтандартное значение шага.

Текущий режим привÑзки можно переключать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ÐаÑтройки→Переключить привÑзку [Options→Toggle Snap On/Off]. ИмеетÑÑ Ñ‚Ñ€Ð¸ режима привÑзки:

  1. Ð’ обычном режиме Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð²Ñех объектов производÑÑ‚ÑÑ Ð½Ð° раÑÑтоÑние, кратное шагу Ñетки привÑзки, но объекты, по Ñетке не выровненные, принудительно выÑтавлÑтьÑÑ Ð¿Ð¾ ней не будут.
  2. Ð’ режиме перепривÑзки в Ñтроке ÑоÑтоÑÐ½Ð¸Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶Ð°ÐµÑ‚ÑÑ Â«Ð ÐµÐ¶Ð¸Ð¼ перепривÑзки» [«Resnap Active»]. Ð’ Ñтом режиме те объекты, что не выровнены по Ñетке, будут Ñнова принудительно по ней выÑтавлÑтьÑÑ. Этот режим может быть полезен в том Ñлучае, когда у Ð²Ð°Ñ ÐµÑть объект, выровненный по Ñетке другого размера, нежели тот, что иÑпользуетÑÑ Ð² данный момент.
  3. Ð’ режиме работы без привÑзки в Ñтроке ÑоÑтоÑÐ½Ð¸Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶Ð°ÐµÑ‚ÑÑ Â«ÐŸÑ€Ð¸Ð²Ñзка отключена» [«Snap Off»]. Ð’ Ñтом режиме объекты вообще не прилипают к Ñетке.

Будьте оÑторожны при работе Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ð¾Ð¹ Ñеткой: к выводам, ÑоединениÑм и компонентам, немного Ñмещённым отноÑительно Ñетки, порой бывает Ñовершенно невозможно что-либо подключить.

ÐžÑ‚Ð¾Ð±Ñ€Ð°Ð¶Ð°ÐµÐ¼Ð°Ñ Ñетка

ÐžÑ‚Ð¾Ð±Ñ€Ð°Ð¶Ð°ÐµÐ¼Ð°Ñ Ñетка имеет минимальный приемлемый Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð² текущем маÑштабе размер, кратный шагу Ñетки привÑзки. Вид Ñетки переключаетÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ÐаÑтройки→Стиль Ñетки [Options→Cycle grid styles].

lepton-eda-1.9.10/docs/wiki/geda-installation.fr.html0000644000175000017500000004254113634703632017356 00000000000000

Autres langues: English РуÑÑкий

Aide à l'installation

Cette section fournit quelques informations utiles aux personnes qui veulent installer gEDA sur leur ordinateur.

Comment installer la Suite gEDA?

La manière la plus facile d'installer la Suite gEDA est de graver le CDROM et de l'utiliser. Les instructions sont dans le README disponible sur la page des téléchargements. Notez que l'installateur du CD ROM suppose que vous êtes sur le bureau Gnome! La même chose est vraie pour les outils gEDA: Ils utilisent le jeu de widgets GTK qui soutend Gnome. Si vous êtes sous KDE, vous avez au moins besoin des bibliothèques Gnome d'installées sur votre machine avant de tenter de lancer l'installateur.

Le CD de la Suite gEDA contient les tarballs de plus d'une douzaine d'applications populaires de gEDA. Il incorpore aussi un «·magicien·» graphique qui contrôle la configuration de votre système, vous pose quelques questions et surveille la compilation et l'installation des différentes applications gEDA. Le magicien d'installation automatise le processus normal “./configure && make && make install†utilisé pour construire les logiciels GNU depuis les sources. C'est la raison pour laquelle il est plus ou moins indépendant de la plate-forme (tant que vous faites tourner Linux).

Dans l'éventualité où le magicien d'installation ne peut pas installer la Suite gEDA automatiquement, vous pouvez encore extraire les tarballs de source du CD et de les construire manuellement. Les instructions sont disponibles sur la page de téléchargement, de même que le fichier INSTALL sur le CD.

De la même manière, des personnes ont créé des RPM RedHat, des Debs Debian et des paquets Mac OSX Fink si vous préférez les installer de cette manière. Ces distributions binaires sont disponibles sur la page de téléchargement. Finalement, les tarballs de sources pour tous les programmes sont aussi disponiblessur la page de téléchargements.

Au fait, c'est toujours une bonne idée d'installer gEDA dans son propre répertoire. De cette manière, lorsque vous voulez mettre à jour le paquet, vous avez juste besoin d'effacer le répertoire et ré-installer. (Ce conseil est vrai pour toute grande suite d'applications d'unix.) Vous en avez plus ci-dessous.

Finalement, si ces instructions ne sont pas suffisantes, David Hart a placé un guide for configuring and installing gEDA utile et détaillé (pour Fedora Core 4 mais qui aidera probablement aussi avec les autres distros), de même qu'un tutoriel gEDA pour les nouveaux utilisateurs.

Comment désinstaller la Suite gEDA?

Au moment de l'écriture de cet article, il n'existe pas de méthode pour désinstaller la Suite gEDA. Contrairement à certain systèmes d'exploitation commerciaux, Linux (et unix) n'ont pas été conçus dans l'idée de faciliter la gestion des paquets facilement et nous souffrons de cet héritage.

C'est la raison pour laquelle nous recommandons d'installer la Suite gEDA dans son propre répertoire. Par exemple, l'installateur CD placera les exécutables de la Suite dans ${HOME}/geda-install par défaut. Alors, si vous avez besoin de désinstaller la Suite gEDA, vous pouvez juste effacer le répertoire complet.

!!(D'autres méthodes avancées pour installer/désinstaller les paquets sur Linux/unix existe aussi. Quelqu'un pourrait-il écrire quelque chose sur le sujet?)!!

Pourquoi voudrais-je désinstaller la Suite gEDA?

Différentes applications appartenant à gEDA/gaf utilisent la même bibliothèque partagée, libgeda.so. Les éléments dans la bibliothèque changent d'une version gEDA à l'autre. C'est la raison pour laquelle les applications ne peuvent pas être liées à libgeda.so si leur code de version est différent.

Si vous avez besoin de mettre à jour une application de gEDA/gaf, vous devrez d'abord désinstaller votre ancienne version puis intaller un tout nouveau jeu d'applications, incluant la bibliothèque et tous les composants de gEDA/gaf.

Alternativement, vous pouvez installer le nouveau gEDA/gaf dans un nouveau répertoire et éditer alors vos variables d'environnement ${PATH}, ${PKG_CONFIG_PATH} puis ${LD_LIBRARY_PATH} pour enlever l'ancien répertoire et pointer vers le nouveau. Assurez-vous de le faire avant de tenter une nouvelle installation de gEDA/gaf.

Aaaaargh! J'ai mis un CD dans le lecteur, je l'ai monté mais rien ne se produit!

D'une manière surprenante, il y a encore des personnes qui copient simplement le fichier installateur .iso en utilisant «·cp·» vers un CD vierge et tentent ensuite de l'utiliser tel quel. Cela ne marche pas. Vous avez besoin de «·graver·» un CD avec un .iso d'une manière qui écrit le système de fichier complet directement sur le CDROM. La commande linux/unix pour ce faire est habituellement «·cdrecord·» ou, peut être, une interface graphique dérivée de cet utilitaire. Il ne suffit pas de juste «·cp·» le fichier .iso sur le CD vierge!

De nombreuses distributions Linux récentes ne lanceront pas automatiquement les exécutables sur un média installé. C'est une précaution de sécurité. Pour passer outre, vous avez besoin de monter un CD qui donne les permissions de lancer un exécutable. Par exemple, avec Gentoo et Debian, vous devez monter le CD ROM de cette manière:

mount -o exec -t iso9660 /dev/cdrom /mnt/cdrom

Le drapeau précis ou le point de montage adéquat de votre distribution peut être un peu différent·; lisez le manuel pour mount («·man mount·») si vous avez des questions sur la manière de le faire.

Après avoir monté le CD avec des permissions d'exécution, vous pouvez alors lancer l'installateur depuis la ligne de commande comme ceci·:

/mnt/cdrom/installer

À ce point, l'interface graphique du magicien d'installation devrait apparaître et vous pouvez entrer dans l'installation. Si vous ne pouvez pas installer, veuillez tenter un «·ls·» sur le CD pour vérifier s'il est lisible. C'est à dire en faitant:

ls -l /mnt/cdrom/

Et assurez-vous d'avoir une liste de répertoires plutôt d'un message d'erreur (ou rien du tout).

Aidez-moi! Je tente une installation en utilisant le CD ROM mais le magicien d'installation m'indique une erreur!

D'abord, gardez en mémoire que l'installateur du CD ROM ne fonctionne qu'avec Linux. L'installateur du CD ROM ne fonctionnera pas sur Sun, BSD ou Mac OSX et il ne fonctionnera certainement pas avec Windows.

Comme règle général, si vous avez des problèmes en installant gEDA depuis le CD, vous avez ici des éléments que vous pouvez tenter:

  1. Si vous lancez l'installateur avec le drapeau –log, il placera un fichier appelé Install.log dans votre répertoire local (depuis où vous avez lancé votre installateur). Ce fichier est un journal de toutes les commandes émises et toutes les réponses générées pendant le processus d'installation. Il vous permet de sauvegarder les données affichées dans la fenêtre journal lors de l'installation. Lancer l'installateur avec –log est une bonne idée si vous avez des problèmes·; vous pouvez envoyer votre fichier Install.log à un expert qui pourra diagnostiquer votre problème. Vous en saurez plus après.
  2. Après avoir eu un problème, la première chose à faire est de regarder le wiki de gEDA. Il est plus que probable que quelqu'un a déjà eu votre problème et l'a rapporté et qu'une solution a été trouvée et postée. Des distributions Linux différentes ont eu des problèmes différents dans le passé. En focntion de votre distribution, consultez les sections d'aide ci-dessous.
  3. Si aucune mention de votre problème spécifique n'a été posté sur le Wiki, tentez une recherche sur Google. LEs trucs et astuces de GEDA sont dans différents endroits sur la toile et Google peut les trouver pour vous. De même, la liste des geda-user est indexée continuellement par Google. Comme les gens postent fréquement des bogues et des correctifs, Google vous aidera à trouver ces rapports.
  4. Ensuite, tentez de poster une question sur la liste des geda-user. Notez que vous devez d'abord vous enregistrer. D'autre peuvent avoir déjà développé une solution à votre problème. Quelques uns des experts hantent cette liste et peut offrir quelques sugestions d'aide.

Waaaaa! L'installation s'est terminée mais j'ai un segfault (ou autre problème) lorsque je lance gschem (ou gattrib ou gnetlist, ou. . . )!

Après que vous ayiez installé la Suite gEDA depuis le CD ROM, assurez-vous d'avoir fait ce qui suit:

  1. Mettez votre ${PATH} pour qu'il pointe vers l'endroit où vos nouveau exécutables gEDA sont placés (par exemple, /home/your-name/geda-install/bin). Assurez-vous que vous enlevez les pointeurs vers la anciennes versions de gEDA, s'ils existent. Vous ne devez pas seulement mettre le ${PATH} dans votre shell courant mais vous devriez alors mettre à jour vos scripts de config (i.e. .bashrc ou .cshrc)
  2. Tapez «·rehash·» pour mettre à jour votre chemin de recherche des exécutables.
  3. Changez votre ${LD_LIBRARY_PATH} pour qu'il pointe sur l'endroitoù sont vos nouveaux exécutables gEDA (par exemple, /home/your-name/geda-install/lib). Assurez-vous d'enlever les pointeurs des anciennes versions de gEDA, si elles existent. Vous ne devez pas seulement mettre le ${LD_LIBRARY_PATH} dans votre shell courant mais vous devriez alors mettre à jour vos scripts de config (i.e. .bashrc ou .cshrc)
  4. LAncez «·su -c ldconfig·» pour indiquer au noyau où trouver votre nouvelle libgeda.so.

Fedora Core 4 install notes

Fedora Core 3 install notes

Fedora Core 2 install notes

Fedora Core 1 install notes

Suse 9.3 install notes

Suse 10.0 install notes

Suse 10.1 install notes

Notes d'installation Debian

Windows install notes

lepton-eda-1.9.10/docs/wiki/geda-ngspice_mp.html0000644000175000017500000003476713634703632016406 00000000000000

ngspice man-page

SPICE(1)							      SPICE(1)



NAME
       spice - circuit simulator

SYNOPSIS
       spice [ -n ] [ -t term ] [ -r rawfile] [ -b ] [ -i ] [ input file ... ]

DESCRIPTION
       This manual page describes the commands available for  interactive  use
       of SPICE3. For details of circuit descriptions and the process of simu-
       lating a circuit, see the SPICE3 User’s Manual.	The commands available
       are a superset of those available for nutmeg - only the additional com-
       mands available in SPICE3 are described here.  You should  be  familiar
       with the manual page for nutmeg(1) before reading this manual page.

       Arguments are:

       -n (or --no-spiceinit)
	      Don’t try to source the file ".spiceinit" upon startup. Normally
	      SPICE3 tries to find the file in the current directory,  and  if
	      it is not found then in the user’s home directory.

       -q (or --completion)
	      Enable command completion.

       -t term (or --term=term)
	      The program is being run on a terminal with mfb name term.

       -b (or --batch)
	      Run  in  batch  mode. SPICE3 will read the standard input or the
	      specified input file and do the simulation.  Note	 that  if  the
	      standard	input  is not a terminal, SPICE3 will default to batch
	      mode, unless the -i flag is given.

       -s (or --server)
	      Run in server mode. This is like batch mode, except that a  tem-
	      porary  rawfile is used and then written to the standard output,
	      preceded by a line with a single "@", after  the	simulation  is
	      done. This mode is used by the spice daemon.

       -i (or --interactive)
	      Run in interactive mode. This is useful if the standard input is
	      not a terminal but interactive mode is desired. Command  comple-
	      tion  is	not available unless the standard input is a terminal,
	      however.

       -r rawfile (or --rawfile=file)
	      Use rawfile as the default file into which the  results  of  the
	      simulation are saved.

       -c circuitfile (or --circuitfile=circuitfile)
	      Use circuitfile as the default input deck.

       -h (or --help)
	      Display  a  verbose  help on the arguments available to the pro-
	      gram.

       -v (or --version)
	      Display a version number and copyright information of  the  pro-
	      gram.

       Further	arguments  are	taken to be SPICE3 input decks, which are read
       and saved. (If batch mode is requested then they are run	 immediately.)

       SPICE3  will  accept  any  SPICE2  input decks, and output ascii plots,
       fourier analyses, and node printouts as specified in .plot, .four,  and
       .print cards.  If a out parameter is given on a .width card, the effect
       is the same as set width = ....	Since SPICE3 ascii plots  do  not  use
       multiple ranges, however, if vectors together on a .plot card have dif-
       ferent ranges they will not provide as much information as  they	 would
       in  SPICE2. The output of SPICE3 is also much less verbose than SPICE2,
       in that the only data printed is that requested by the above cards.

       Vector names are the same as in nutmeg, with this addition: a name such
       as  @name[param], where name is either the name of a device instance or
       model, denotes the value of the param parameter of the device or model.
       See  the SPICE3 User’s Manual for details of what parameters are avail-
       able. The value is a vector of length 1.	 This function is also	avail-
       able  with the show command, and is available with variables for conve-
       nience for command scripts.

       SPICE3 commands are as follows (these are only those commands not  also
       available  in  nutmeg  -	 consult  the nutmeg manual page for more com-
       mands):

       setcirc [circuit name]
	      Change the current circuit. The current circuit is the one  that
	      is  used	for  the  simulation commands below. When a circuit is
	      loaded with the source command (see below) it becomes  the  cur-
	      rent circuit.

       op [.op card args]
	      Do an operating point analysis.

       tran [.tran card args]
	      Do a transient analysis.

       ac [.ac card args]
	      Do an ac analysis.

       dc [.dc card args]
	      Do a dc transfer curve analysis.

       listing [logical] [physical] [deck] [expand]
	      Print  a listing of the current circuit. If the logical argument
	      is given, the listing is with all continuation  lines  collapsed
	      into  one	 line, and if the physical argument is given the lines
	      are printed out as they were found in the file. The  default  is
	      logical.	A  deck	 listing  is  just  like the physical listing,
	      except without the line numbers it recreates the input file ver-
	      batim  (except  that  it	does  not preserve case).  If the word
	      expand is present, the circuit will be printed with all  subcir-
	      cuits expanded.

       edit [file]
	      Print the current SPICE3 deck into a file, call up the editor on
	      that file and allow the user to modify it, and then read it back
	      in,  replacing  the  origonal deck. If a filename is given, then
	      edit that file and load it, making the circuit the current  one.

       resume Resume a simulation after a stop.

       show   Show a device parameter.

       alter  Alter a device parameter.

       state  Print  the state of the circuit.	(This command is largely unim-
	      plemented.)

       save [all] [output ...]	or .save [all] [output ...]
	      Save a set of outputs, discarding the rest. If a node  has  been
	      mentioned	 in a save command, it will appear in the working plot
	      after a run has completed, or in the rawfile if spice is run  in
	      batch  mode.  If a node is traced or plotted (see below) it will
	      also be saved. For backward compatibility, if there are no  save
	      commands given, all outputs are saved.

       stop [ after n] [ when something cond something ] ...
	      Set a breakpoint. The argument after n means stop after n itera-
	      tion number n, and the argument when  something  cond  something
	      means  stop  when	 the  first something is in the given relation
	      with the second something, the possible relations being eq or  =
	      (equal  to), ne or <> (not equal to), gt or > (greater than), lt
	      or < (less than), ge or >= (greater than or equal to), and le or
	      <=  (less than or equal to).  IO redirection is disabled for the
	      stop command, since the relational operations conflict  with  it
	      (it  doesn’t  produce  any output anyway).  The somethings above
	      may be node names in the running circuit, or  real  values.   If
	      more than one condition is given, e.g.  stop after 4 when v(1) >
	      4 when v(2) < 2, the conjunction of the conditions is implied.

       trace [ node ...]
	      Trace nodes. Every iteration the value of the node is printed to
	      the standard output.

       iplot [ node ...]
	      Incrementally plot the values of the nodes while SPICE3 runs.

       step [number]
	      Iterate number times, or once, and then stop.

       status Display all of the traces and breakpoints currently in effect.

       delete [debug number ...]
	      Delete  the  specified breakpoints and traces. The debug numbers
	      are those shown by the status command. (Unless you do  status  >
	      file, in which case the debug numbers aren’t printed.)

       reset  Throw  out  any  intermediate  data in the circuit (e.g, after a
	      breakpoint  or  after  one  or  more  analyses  have  been  done
	      already), and re-parse the deck. The circuit can then be re-run.
	      (Note: this command used to be end in SPICE 3a5 and earlier ver-
	      sions  -- end is now used for control structures.)  The run com-
	      mand will take care  of  this  automatically,  so	 this  command
	      should not be necessary...

       run [rawfile]
	      Run the simulation as specified in the input file. If there were
	      any of the control cards .ac, .op, .tran, or .dc, they are  exe-
	      cuted. The output is put in rawfile if it was given, in addition
	      to being available interactively.

       source file
	      Read the SPICE3 input file file. Nutmeg and SPICE3 commands  may
	      be  included in the file, and must be enclosed between the lines
	      .control and .endc.  These  commands  are	 executed  immediately
	      after  the  circuit  is loaded, so a control line of ac ... will
	      work the same as the corresponding .ac card.  The first line  in
	      any  input  file	is  considered a title line and not parsed but
	      kept as the name of the circuit. The exception to this  rule  is
	      the  file	 .spiceinit.  Thus, a SPICE3 command script must begin
	      with a blank line and then with a .control line.	Also, any line
	      beginning	 with  the characters *# is considered a control line.
	      This makes it possible to imbed commands in SPICE3  input	 files
	      that  will  be  ignored  by earlier versions of SPICE.  Note: in
	      spice3a7 and before, the	.control  and  .endc  lines  were  not
	      needed, and any line beginning with the name of a front-end com-
	      mand would be executed.

       linearize vec ...
	      Create a new plot with all of the vectors in the	current	 plot,
	      or only those mentioned if arguments are given.  The new vectors
	      will be interpolated onto a linear time scale, which  is	deter-
	      mined by the values of tstep, tstart, and tstop in the currently
	      active transient	analysis.   The	 currently  loaded  deck  must
	      include a transient analysis (a tran command may be run interac-
	      tively before the last reset, alternately), and the current plot
	      must  be	from  this transient analysis.	This command is needed
	      because SPICE3 doesn’t output the results from a transient anal-
	      ysis in the same manner that SPICE2 did.

       There  are  several set variables that SPICE3 uses but nutmeg does not.
       They are:

		       editor
		       The editor to use for the edit command.

		       modelcard
		       The name of the model card (normally .model).

		       noaskquit
		       Do not check to make sure that there  are  no  circuits
		       suspended  and  no plots unsaved.  Normally SPICE3 will
		       warn the user when he tries to  quit  if	 this  is  the
		       case.

		       nobjthack
		       Assume that BJT’s have 4 nodes.

		       noparse
		       Don’t  attempt  to  parse  decks	 when they are read in
		       (useful for debugging). Of course, they cannot  be  run
		       if they are not parsed.

		       nosubckt
		       Don’t expand subcircuits.

		       renumber
		       Renumber input lines when a deck has .include’s.

		       subend
		       The card to end subcircuits (normally .ends).

		       subinvoke
		       The prefix to invoke subcircuits (normally x).

		       substart
		       The card to begin subcircuits (normally .subckt).

       There  are  a number of rusage parameters available, in addition to the
       ones available in nutmeg:



       If there are subcircuits in the input file, SPICE3 expands instances of
       them.   A  subcircuit  is  delimited by the cards .subckt and .ends, or
       whatever the value of the variables substart  and  subend  is,  respec-
       tively.	An  instance of a subcircuit is created by specifying a device
       with type ’x’ - the device line is written

	      xname node1 node2 ... subcktname

       where the nodes are the node names that replace the  formal  parameters
       on  the	.subckt	 line.	All  nodes  that are not formal parameters are
       prepended with the name given to the instance and a  ’:’,  as  are  the
       names  of  the  devices	in the subcircuit. If there are several nested
       subcircuits, node and device names look like  subckt1:subckt2:...:name.
       If  the	variable  subinvoke is set, then it is used as the prefix that
       specifies instances of subcircuits, instead of ’x’.

VMS NOTES
       The standard suffix for rawspice files in VMS is ".raw".

       You may have to redefine the value EDITOR if you wish to use  the  edit
       command, since the default for VMS is "vi".

SEE ALSO
       nutmeg(1),  sconvert(1),	 spice(1),  mfb(3), writedata(3) SPICE3 User’s
       Guide

AUTHORS
       SPICE3:	Tom Quarles (quarles@cad.berkeley.edu)
       nutmeg / User interface: Wayne Christopher (faustus@cad.berkeley.edu)

BUGS
       SPICE3 will recognise all the notations used in SPICE2 .plot cards, and
       will translate vp(1) into ph(v(1)), and so forth. However, if there are
       spaces in these names it won’t work. Hence v(1, 2) and (-.5, .5) aren’t
       recognised.

       BJT’s  can  have	 either 3 or 4 nodes, which makes it difficult for the
       subcircuit expansion routines to decide what to rename. If  the	fourth
       parameter  has  been  declared as a model name, then it is assumed that
       there are 3 nodes, otherwise it is considered a node. To	 disable  this
       kludge, you can set the variable "nobjthack", which will force BJT’s to
       have 4 nodes (for the purposes of subcircuit expansion, at least).

       The @name[param] notation might not work with trace, iplot, etc.	  yet.

       The  first  line	 of  a	command	 file (except for the .spiceinit file)
       should be a comment.  Otherwise	SPICE  may  create  an	empty  circuit
       structure.

CAVEATS
       SPICE3 files specified on the command line are read in before the .spi-
       ceinit file is read. Thus if you define aliases there that you call  in
       a  SPICE3  source  file	mentioned  on  the command line, they won’t be
       recognised.




4th Berkeley Distribution	 20 March 1986			      SPICE(1)
lepton-eda-1.9.10/docs/wiki/geda-sdb_howto.html0000644000175000017500000000132313634703632016230 00000000000000

SPICE on gEDA HOWTO is obsolete. The more recent version of this document is Circuit Simulation using gEDA and SPICE - HOWTO.

lepton-eda-1.9.10/docs/wiki/geda-gaf_utility.html0000644000175000017500000011317413634703632016570 00000000000000

Translations: РуÑÑкий

gaf - gEDA/gaf Command-Line Utility

gaf provides a number of small command-line utilities for working with schematic and symbol files, and is designed to be used for batch processing of designs created using the schematic editor gschem. It currently has three built-in commands:

  • gaf export is used to create SVG, PDF, PNG, PS and EPS files from schematic and symbol files, for printing or embedding in other documents.
  • gaf config allows reading and writing settings in gEDA project, user and system configuration stores.
  • gaf shell provides a Scheme REPL for command-line batch processing of schematic data.

See the gaf(1) manual page for more information on the utility options.

gaf export

The detailed description of the gaf export command can be found in the gaf(1) manual page.

gaf config

This section describes how to set up gschem and gnetlist using the gaf config command.

See the gaf(1) manual page for more information on the utility options.

Configuration files

Configuration settings used to configure these programs are written to gEDA config files. These files are:

  • geda-system.conf for system-wide settings. The system-wide config file is sequentially searched in three places:
    • in ${XDG_CONFIG_DIRS}/gEDA, see the XDG Base Directory Specification for more information on that environment variable,
    • if no system configuration was found there, in the traditional location of gEDA rc-files, i.e. in the ${PREFIX}/share/gEDA directory, where ${PREFIX} is a compiled default, usually /usr or /usr/local (but Debian based distributions use the /etc/gEDA directory instead),
    • and finally, if no configuration file was found yet, in an XDG default directory or, if it is not defined, in the /etc/xdg/gEDA directory.
  • $HOME/.gEDA/geda-user.conf for user settings.
  • path/to/a/project/geda.conf for your local project settings.

Note that you can edit these files manually using your favorite text editor.

The config file format is described in this freedesktop.org standard.

All the config files consist of sections, called groups, containing key-value pairs.

Key values in the gEDA config files may be single numbers or lists. Note that unlike the gaf export command, where several list separators can be used, the only separator between list values in the config files is semicolon ';'. Another difference is that, when using the gaf config command, you always have to specify all parameters of the used list. Thus, for example, the next command will not work properly:

gaf config --project export size 1000

The right command will look like this:

gaf config --project export size "1000;1000"

All sizes should be given in Adobe points (72 points = 1 inch). Suffixes such as “ptâ€, “mm†and others, which can be used with the gaf export command, do not work in the config files.

Next sections describe all existing groups.

export group

Table 1. export group parameters

Key Format Default
align string “auto†or list of two integers in the form HALIGN;VALIGN auto
dpi integer 96
font string Arial
layout predefined string: “portraitâ€, “landscapeâ€, or “auto†auto
margins list of four integers in the form TOP;LEFT;BOTTOM;RIGHT 18;18;18;18
monochrome boolean true
paper predefined paper size string locale dependent
size string “auto†or list of two integers in the form HEIGHT;WIDTH auto

align

Set how the drawing is aligned within the page. HALIGN controls the horizontal alignment, and VALIGN the vertical. Each alignment value should be in the range 0.0 to 1.0. The “auto†alignment is equivalent to a value of 0.5:0.5, i.e. centered.

For gaf export command, you can use your locale's separator if you use it without quotes. In such a case your shell will interpret the numbers for you. You cannot do this for gaf config since the align key is a string. You must use a dot as the separator for floating point numbers when you write that string in a config file. See examples below.

dpi

Set the number of pixels per inch used when generating PNG output.

font

Set the font to be used for drawing text.

See the section Fonts below for more information on fonts selection.

layout

When using a paper size, set the orientation of the output. If “auto†layout is used, the orientation that best fits the drawing will be used.

margins

Set the widths of the margins to be used.

Margins can actually be wider than the values set in a config file since these values only specify the minimal distances from the sheet edges, and the sizes of the chosen paper may not meet the sizes of the printed schematic with the margins. If not specified, default margin size is 18pt for all margins.

Note: setting less than four numbers for the margin key or using of any unit suffixes will not work.

monochrome

Toggle monochrome or color output.

paper

Size the output for a particular paper size.

Legal paper sizes are described in the PWG 5101.1-2002 Standard (iso_a4, iso_a3, na_letter, na_legal, etc). The default paper size depends on the current locale. For instance, it is A4 when ru_RU.UTF-8 is used whereas it is letter for the en_US.UTF-8 locale.

size

Size the output with specific dimensions. If the size is “autoâ€, select the size that best fits the drawing.

The paper size set by the size key overrides that one set by the paper key. Note: setting only one number for the size key or using of any unit suffixes will not work.

gnetlist group

Table 2. gnetlist group parameters

Key Format Default
default-bus-name string unnamed_bus
default-net-name string unnamed_net
net-naming-priority predefined string: “net-attribute†or “netname-attribute†net-attribute
traverse-hierarchy boolean true

default-bus-name

Define the default bus name for the buses unnamed in the schematic.

Buses are still not used by any gnetlist backend, so this parameter is not useful yet.

default-net-name

Define the default net name for the nets unnamed in the schematic.

It is used to create netnames of the form “unnamed_netN†where N is a number.

net-naming-priority

Specify which attribute, net or netname, has priority if a net is found with two names. Any netname conflict will be resolved using the chosen attribute.

This option is used when both net and netname attributes are defined for some nets in your schematic and you want to specify which one should define the net names that gnetlist will use for netlisting. See the net= attribute mini-HOWTO and Master attributes list for more information on these attributes.

traverse-hierarchy

Decides if the hierarchy is traversed or not. If this is disabled then gnetlist will not go down searching for any underlying sources.

gschem group

Table 3. gschem group parameters

Key Format Default
default-filename string untitled

default-filename

Define the default file name for any new schematic files created in gschem.

It is used to create filenames of the form “untitled_N.sch†where N is a number.

gschem.library group

Table 4. gschem.library group parameters

Key Format Default
component-attributes comma separated list of attribute names *
sort boolean false

component-attributes

Holds a list of attribute names that are displayed in the component select dialog.

Symbol attributes in the dialog are sorted in the same order as they appear in the list. If the first list element is an asterisk “*â€, all attributes will be displayed in the alphabetical order. An empty list will disable the attribute view in the dialog.

sort

Sort the component library.

If the value of this attribute is true, the component libraries are sorted alphabetically. Otherwise they are sorted in the order opposite to what they were added in.

gschem.printing group

Table 5. gschem.printing group parameters

Key Format Default
layout predefined string: “portraitâ€, “landscapeâ€, or “auto†auto
monochrome boolean false
paper predefined paper size string locale dependent

layout

When using a paper size, set the orientation of the output. If “auto†layout is used, the orientation that best fits the drawing will be used.

gschem page orientation is intended to output pages to a printer rather than to PDF, so the value “auto†means that if you output pages to PDF you will get rotated landscape instead of ordinary. To get readable PDF with pages in landscape use instead the gaf export command, and set to “auto†the layout key in the export group.

Note: as of now, printing using the script print.scm doesn't use the layout key setting.

paper

Size the output for a particular paper size.

The default paper value depends on the current locale. See the notes on the paper size above in the description of the paper key for the export group.

monochrome

Toggle monochrome or color output.

It is intended that unlike the monochrome value in the export group, the key value in this group is false.

gschem.dialog-geometry.* groups

These groups include:

  • gschem.dialog-geometry.arc-angle
  • gschem.dialog-geometry.autonumber
  • gschem.dialog-geometry.color-edit
  • gschem.dialog-geometry.compselect
  • gschem.dialog-geometry.coord
  • gschem.dialog-geometry.fill-type
  • gschem.dialog-geometry.find-text
  • gschem.dialog-geometry.hide-text
  • gschem.dialog-geometry.hotkeys
  • gschem.dialog-geometry.line-type
  • gschem.dialog-geometry.log
  • gschem.dialog-geometry.multiattrib
  • gschem.dialog-geometry.pin-type-edit
  • gschem.dialog-geometry.show-text
  • gschem.dialog-geometry.singleattrib
  • gschem.dialog-geometry.slot-edit
  • gschem.dialog-geometry.snap-size
  • gschem.dialog-geometry.text-edit
  • gschem.dialog-geometry.text-entry
  • gschem.dialog-geometry.text-size
  • gschem.dialog-geometry.translate

There are two special groups having additional settings:

  • gschem.dialog-geometry.compselect
  • gschem.dialog-geometry.multiattrib

Table 5. gschem.dialog-geometry.* groups parameters

All dialogs
Key Format Default
x integer -
y integer -
width integer -
height integer -
gschem.dialog-geometry.compselect
Key Format Default
hpaned integer -
vpaned integer -
source-tab 0 or 1 1
gschem.dialog-geometry.multiattrib
Key Format Default
show_inherited boolean true

Note: all these values are automatically stored in the user configuration files. You can change them manually, but the values will be overwritten next time the dialog in question changes its size or other value mentioned in the table. If you edit the values when gschem is running they will be silently overwritten after it closes.

x

X position of the dialog window.

y

Y position of the dialog window.

width

Width of the dialog window.

height

Height of the dialog window.

hpaned

Width of the horizontal pane where components are selected in the component select dialog.

vpaned

Height of the vertical pane containing component preview in the component select dialog.

source-tab

This value determines which tab will be opened when you bring up the component selection dialog. 0 means that the “In use†tab will be chosen, 1 means that the “Libraries†tab will be chosen.

show_inherited

Visibility setting for inherited attributes in the multiattrib dialog.

gaf shell

gaf shell provides a Scheme Read-Eval-Print Loop (REPL) for automating processing of schematic and symbol files. It is designed to be used with the gEDA Scheme API. See the gaf(1) manual page for more information on the utility options, and info geda-scheme on which gEDA Scheme procedures you can use.

Fonts

On Linux, font configuring is handled by Fontconfig, and modern systems (particularly pango and cairo) rely on its library in looking up any font specified. You can provide the gaf command with a pattern containing the font name wanted and, optionally, with some settings for that font. Fontconfig performs matching of the pattern against all the fonts available in your system. The closest matching font is selected. This ensures that a font will always be returned, but doesn't ensure that it is anything like the requested pattern.

If you want to find out which fonts are available in your system, you can use the fc-list(1) utility from the fontconfig package. To check whether fontconfig could find an appropriate font by the specified pattern (or to see which font will correspond to your pattern), use the fc-match(1) utility.

See the fontconfig documentation for more information on how to specify the font name you want to use.

In some circumstances, the font system can even embed more than one font into your document. This occurs, for instance, if the most appropriate font chosen by fontconfig doesn't contain some glyphs for one of the languages used in the document. In this case it will add some other font that does have the glyphs required.

The next table lists possible settings (acquired from the Pango documentation) which you can use in your font name patterns. See also the Examples section below.

Table 6. Possible font settings

Setting Value
Style Normal
Oblique
Italic
Weight Thin
Ultralight
Light
Book
Normal
Medium
Semibold
Bold
Ultrabold
Heavy
Ultraheavy
Variant Normal
SmallCaps
Stretch UltraCondensed
ExtraCondensed
Condensed
SemiCondensed
Normal
SemiExpanded
Expanded
ExtraExpanded
UltraExpanded

Examples

Set up exporting

Use the “landscape†layout by default for a local project:

gaf config --project export layout landscape

Use the “letter†paper size by default for all your printouts:

gaf config --user export paper na_letter

Set paper size to the definite value of 1×2 inch for a local project:

gaf config --project export size "72;144"

Set margins as a half of inch for left and right sides and as a quarter of inch for top and bottom for a local project:

gaf config --project export margins "18;36;18;36"

This command will align your project's schematics to the right.

gaf config --project export align "1.0;0.5"

This command is wrong, it doesn't work for you even if your locale uses comma as a separator for floating point numbers:

gaf config --project export align "1,0;0,0"

This command, though, works in this case (e.g., in the ru_RU.UTF-8 locale):

gaf export -a 0,0:1.0 -o file.pdf file.sch

Note, that I use gaf export here, not gaf config.

To print all your schematics in color (note: “False†or “FALSE†will not work):

gaf config --project export monochrome false

Set up a custom user font:

gaf config --user export font "OpenGost Type B TT Italic"

Choose another font for a local project:

gaf config --project export font "Arial Bold"

Set up netlisting

Use more short net and bus names in all netlists created by the user:

gaf config --user gnetlist default-net-name net
gaf config --user gnetlist default-bus-name bus

Ensure that a local project will use hierarchical net names despite of settings in geda-user.conf:

gaf config --project gnetlist traverse-hierarchy true

Rename nets connecting to gnd-1.sym (and other symbols having the net attribute) if they have the netname attribute:

gaf config --project gnetlist net-naming-priority netname-attribute

Set up gschem

Use shorter names for new files:

gaf config --user gschem default-filename empty

Set up gschem library view

This command explicitly tells that you want to always show all attributes:

gaf config --project gschem.library component-attributes "*"

Please be careful when using this command in the command line. If you forget the quotes, your shell will substitute the first file name in the working directory file list for the attribute name. This is most likely not what you want.

Display only attributes that are in the filter list:

gaf config --project gschem.library component-attributes "refdes;device;description"

Don't show any attributes in the component select dialog:

gaf config --project gschem.library component-attributes ""

The same as before. However, this command will not work because the specified string separates values with commas instead semicolons, so the whole string will be considered one attribute name:

gaf config --project gschem.library component-attributes "refdes,device,description"

Sort the component library in gschem alphabetically:

gaf config --user gschem.library sort true

Set up gschem printing

Choose landscape as the default orientation for a local project when printing from within gschem:

gaf config --project gschem.printing layout landscape

Use the A5 paper size when printing from within gschem:

gaf config --project gschem.printing paper iso_a5

Always use B&W printing output from within gschem:

gaf config --user gschem.printing monochrome true

Set up gschem dialogs

Don't show any inherited attributes in the multiattrib dialog:

gaf config --user gschem.dialog-geometry.multiattrib show_inherited false

Note that you cannot use the --project (-p) key in the command above. This command works only in the user context and has no sense for local projects.

Using gaf shell

Find out the path to the gEDA user configuration directory, type:

gaf shell -c "(display (user-config-dir))"

The same for the system configuration directories:

gaf shell -c "(display (sys-config-dirs))"
lepton-eda-1.9.10/docs/wiki/geda-data_structure_design_discussion.html0000644000175000017500000002630113634703632023070 00000000000000

Data structure design discussion

Concept diagram

(Inspired by gnetman, by Bill Cox)

Concepts behind the structures

Design

This is might not exist as a “fileâ€, as such, but exists as a data structure entity to be the owner of the circuits required in a particular design. The “root circuit†is the uppermost level of hierarchy.

Circuit

A circuit entity is the key concept in this model. It defines an electrical block by a its external connections (MPorts). A schematic is one way of representing a circuit, hence a circuit object may own or more page of schematics.

We may also define a symbolic (graphic) representation of a circuit - this is like a schematic page, however its representation should fit within a single sheet. The minimum a symbolic representation must contain is the pins which connect it to higher levels of circuit hierarchy.

MPort

If it is to be useful as a re-usable block, a sub-circuit must expose electrical connectivity for a parent circuit to connect with. Each such connection is represented by an Mport (Master port). This term (re-used from gnetman) represents the fact that once a circuit is instantiated, we need to differentiate between the connections of each specific instance. This is done with instance specific Port structures. The ports point back at the Mports (master ports) of the circuit representation.

Instance

A circuit represents a re-usable electrical entity which we may replicate at various points in our design hierarchy. This is done by instantiating the sub-circuit in a higher level of hierarchy. Each instance is associated with an Instance structure, which is a placeholder for instance specific attributes such as the sub-circuit's hierarchical refdes.

Attrib

An Attrib defines meta-data attached which might be attached to a circuit, a circuit's Mport, a specific circuit instance, or a Net.

In a break from gEDA's current attrib model, it makes sense to associate the meta-data directly with the particular entity it pertains to, rather than the graphic representation. This is because some forms of sub-circuit entity may be defined without a schematic, and could still require this meta-data. It will be possible to reference any attrib within the realm of a circuit for display on its schematic page(s) where that is desired.

Netlist

A Netlist defines the electrical connectivity of a circuit. It owns a number of Nets, which individually represent a single connection between Mports belonging to this circuit, and ports of instantiated sub-circuits.

Initially, it is likely there will only be one netlist for a circuit - the one constructed from processing the electrically relevant objects on page(s) of the circuit's schematic.

Future developments may see multiple netlists for a circuit, possibly some generated / written in an HDL language, and critically, re-exported from a layout package (e.g. PCB). It will be possible to identify and flag up differences in connectivity throughout a design flow, be that from HDL to schematic, or schematic to layout.

This has real applications in back-annotation and in design verification.

Net

A net associates with structures forming a given electrical connection within this circuit.

As we also have a graphical representation of the wires (ConnSegments) which make up this connection, each Net can be associated with multiple ConnSegments. The association to Pins representing Mports of this circuit and to the Pins of any instantiated sub-circuits is made via a net's association to the appropriate Mport and port structures.

Page

A page is a canvas for placing graphical objects representing a circuit. A page can be used to draw an electrically meaningful schematic, or it can be used to draw a symbolic representation of the circuit entity.

Whilst most objects on a page are graphic primitives, there are some which have a relation to the circuit's electrical specification.

  • ConnSegments (or nets) represent connected electrical signals within the circuit represented.
    • A connectivity representation (netlist) can be built by considering the end-point positioning of these objects.
    • ConnSegment is intended to be a generalisation of nets and buses for the purpose of this diagram.
  • Pins represent a connection outside this circuit.
    • When constructing a netlist, coincidence of a ConnSegment end on these implies an electrical connection to that external port.
    • Each pin (or group of pins?) represent an external electrical connection with this circuit.
    • There is a necessary link between a pin and the circuit's Mport which it represents.
  • complex objects represent instantiating a sub-circuit, and will be linked to a specific instance structure.
    • Graphically, this means a symbolic representation of the instantiated circuit will be placed on the page.
    • Nets ending co-incident with the pins of that embedded symbol represent electrical connectivity with the instantiated sub-circuit entity.

Brainstorms

(from conversation on MSN/IRC on 10th April 2007 – Peter Brett / Peter Clifton)

  • In order to do back annotation, need to be able to change the board part references for anywhere in the schematic. It then makes sense to dissociate the concepts of InstanceID and Board Reference, and use an override table that can override an attribute at any given path within the current circuit based on a path composed of InstanceIDs. InstanceIDs would be special-cased throughout libgeda as a means for uniquely identifying circuits and instances. An entry in the override table might have the form â€/id1/id2/id3:refdes:U3â€
  • It might be useful to allow nets to have attributes, for instance to specify minimum copper width and spacing for a net, independently from the attributes of net segments.
  • The schematic editor needs to have sidebars for browsing hierarchy and inspecting attributes. This needs to include a way of seeing where the attributes have been inherited from.
  • We need to do lazy netlisting, on a circuit-by-circuit basis – the netlists should only be combined into a flat netlist when required by a tool (and even then, most tools can potentially make good use of hierarchy information).
  • In order to make finding objects by hierarchical path fast (e.g. to implement override tables discussed above) there needs to be a fast way of generating unique identifiers for objects (e.g. 32-bit ints) that can then be used as keys in hashtables.
lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-selecting.ru.html0000644000175000017500000001475413634703632020615 00000000000000

Выделение объектов

Многие дейÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð°Ð²ÐºÐ¸ в gschem воздейÑтвуют на выделенные объекты. При отображении такие объекты подÑвечиваютÑÑ Ð¾Ñобым цветом.

Ð’ режиме «Выделение» [«Select Mode»] — режиме работы gschem, уÑтанавливаемом по умолчанию, — Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² иÑпользуетÑÑ Ð»ÐµÐ²Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÐ° мыши. ЕÑли по какому-либо объекту щёлкнуть левой кнопкой, он будет выделен, а выделение Ñо вÑего прочего ÑниметÑÑ. ЕÑли щёлкнуть по фону рабочей облаÑти, выделение ÑниметÑÑ Ñо вÑех объектов. ЕÑли щёлкнуть и потащить мышь, ÑƒÐ´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ Ð»ÐµÐ²ÑƒÑŽ кнопку нажатой, поÑвитÑÑ Ð¿Ñ€ÑÐ¼Ð¾ÑƒÐ³Ð¾Ð»ÑŒÐ½Ð°Ñ Ñ€Ð°Ð¼ÐºÐ°, и когда кнопка будет отпущена, вÑÑ‘ полноÑтью находÑщееÑÑ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ Ñтой рамки будет выделено (Ñто называетÑÑ Â«Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸ÐµÐ¼ рамкой»). Это дейÑтвие можно изменить, еÑли удерживать нажатой клавишу Shift, — в Ñтом Ñлучае объекты будут добавлены к текущему выделению, а не выделены вмеÑто прежних.

Кроме того, можно ÑƒÐ´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ Ctrl щёлкнуть по уже выделенному объекту — в Ñтом Ñлучае выделение Ñ Ð½ÐµÐ³Ð¾ будет ÑнÑто, в то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº прочие ранее выделенные объекты так и оÑтанутÑÑ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ñ‹Ð¼Ð¸.

Ð’Ñе объекты Ñхемы или Ñимвола можно выделить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Правка→Выделить вÑÑ‘ [Edit→Select All], а полноÑтью ÑнÑть выделение Ñо вÑех объектов — Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Правка→СнÑть выделение [Edit→Deselect].

Ð’ режим «Выделение» вÑегда можно вернутьÑÑ Ð¸Ð· любого другого режима редактированиÑ, нажав S или выбрав в меню Правка→Выделение [Edit→Select Mode].

Выделение Ñоединений

Ð”Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð²Ñего ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ†ÐµÐ»Ð¸ÐºÐ¾Ð¼ нужно Ñначала выделить один из его Ñегментов, щёлкнув по нему левой кнопкой мыши, а затем добавить к выделению вÑе оÑтальные Ñоединённые Ñ Ð½Ð¸Ð¼ Ñегменты повторным щелчком по нему той же кнопкой.

Выделение атрибутов компонентов

ЕÑли щёлкнуть левой кнопкой мыши по компоненту, он будет выделен вмеÑте Ñо вÑеми прикреплёнными к нему атрибутами.

Заблокированные объекты

Ðекоторые объекты можно «заблокировать». Заблокированные объекты отображаютÑÑ Ð¼ÐµÐ½ÐµÐµ Ñрким цветом и не могут быть выделены никак иначе, как только рамкой. Ðапример, вÑегда блокируетÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÐµÐ¼Ð°Ñ Ð¿Ð¾ умолчанию рамка оÑновной надпиÑи.

Чтобы заблокировать объект, выделите его и выберите Правка→Блокировка [Edit→Lock]. Чтобы разблокировать — выделите его рамкой (то еÑть, нажав и ÑƒÐ´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ Ð»ÐµÐ²ÑƒÑŽ кнопку мыши, обведите объект рамкой) и выберите Правка→Разблокировка [Edit→Unlock].

lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-input_output_files.html0000644000175000017500000000713413634703632022531 00000000000000

Input and output files

gnetlist takes one or more schematic files as input, and outputs the result of processing them to generate a netlist.

Schematic files can be viewed and edited using the gEDA schematic capture application. For more information, see the gEDA gschem User Guide.

Schematic files

Schematic files contain components, which may represent subcircuits to be included in the design, or or discrete parts or devices to be used. Components have pins associated with them, which represent either a physical pin on an electronic component, or a logical connection to a subcircuit schematic. Components are connected up by joining their pins with nets or buses. All of these elements can have attributes associated with them, which control how they are interpreted by gnetlist.

You can list any number of schematic files as input. They will be merged together to form a single netlist. This allows you to split your circuit into several schematic diagrams, which can be useful if you have a very large and complicated design. List the schematic files on the command line, e.g.:

gnetlist power-supply.sch motor-drive.sch

If you have a schematic which has a filename beginning with a hyphen (â€-â€), you should add the special option -- after any options and before your list of input files. This will make sure that none of your filenames get misinterpreted as options. For example:

gnetlist -- -tricky-name.sch

Output filename

By default, gnetlist writes the netlist it generates to a file called “output.netâ€. You can use the -o option to specify a different filename. For example, to output to a file called “stepper.bomâ€:

gnetlist -o stepper.bom
lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-command_line.ru.html0000644000175000017500000001464613634703632021265 00000000000000

Ðргументы командной Ñтроки

При запуÑке gschem может иÑпользоватьÑÑ Ð½ÐµÑколько необÑзательных аргументов командной Ñтроки. Их перечень можно узнать, запуÑтив gschem -h. Перечень вÑех ключей командной Ñтроки программы можно поÑмотреть в её Ñправочной Ñтранице (man gschem).

Вывод Ñообщений и диагноÑтика

-q, --quiet Без вывода информации. Отключение вÑех предупреждений/замечаний/Ñообщений.
-v, --verbose Подробный вывод. Вывод дополнительной диагноÑтичеÑкой информации.
-h, --help Вывод Ñправки.
-V, --version Вывод информации о верÑии.

ИÑпользование раÑширений на Scheme

-L КÐТÐЛОГ Добавление КÐТÐЛОГа к началу ÑпиÑка каталогов, в которых производитÑÑ Ð¿Ð¾Ð¸Ñк файлов Scheme.
-s ФÐЙЛ Задание Ñкрипта на Scheme, который должен быть выполнен при запуÑке.
-c ВЫРÐЖЕÐИЕ Задание Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð½Ð° Scheme, которое должно быть вычиÑлено при запуÑке.

Прочее

-r, --config-file=ФÐЙЛ Задание дополнительного файла наÑтройки, который должен быть Ñчитан поÑле обработки вÑех прочих файлов наÑтроек.
-o, --output=ФÐЙЛ Задание имени файла Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° в формате PostScript. Этот аргумент полезен при запуÑке gschem из Ñкрипта оболочки Ñ Ð·Ð°Ð´Ð°Ð½Ð¸ÐµÐ¼ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñкрипта на Scheme. Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° может быть изменено в диалоговом окне печати.
-p ÐвтоматичеÑкое размещение окна. Может быть полезно, еÑли нужно запуÑтить gschem из командной Ñтроки и вывеÑти результаты в файл.
-- Считать вÑе оÑтальные аргументы именами файлов Ñхем и Ñимволов. Это может иÑпользоватьÑÑ, когда нужно задать Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° Ñхемы или Ñимвола, начинающееÑÑ Ñ Â«-».
lepton-eda-1.9.10/docs/wiki/geda-wcalc_stdio_mp.html0000644000175000017500000000475013634703632017236 00000000000000

stdio Wcalc man-page

STDIO-WCALC(1)							STDIO-WCALC(1)



NAME
       stdio-wcalc - Transmission line analysis/synthesis calculator.


SYNOPSIS
       stdio-wcalc [ -v|--verbose ] [ file ...	]
       stdio-wcalc [ -h|--help ]
       stdio-wcalc [ -V|--version ]


DESCRIPTION
       The  stdio-wcalc program is a simple standard input/output interface to
       libwcalc which is the numerical engine  for  the	 wcalc	program.   The
       input  is read from the standard input on a line at a time basis.  Each
       line consists of a command followed by the numerical arguments.

       The analysis and synthesis functions supported by stdio-wcalc  are  the
       same  as	 those	in  the scilab, octave, and matlab frontends to wcalc.
       Please refer to the man pages listed at the end of this	man  page  for
       details	on  each  of  the  supported  functions.   The	syntax used by
       stdio-wcalc is slightly different than  scilab/octave/matlab.   Instead
       of  [a,b,c] = somefn(x,y,z) as you would use in scilab, octave, or mat-
       lab, you simply enter somefn x y z as the input line to stdio-wcalc and
       the standard output will be a b c

       In  addition  to the analysis and synthesis functions, stdio-wcalc sup-
       ports the "version" command which returns the current  version  of  the
       program.


SEE ALSO
       wcalc(1), air_coil_calc(n), air_coil_syn(n), coax_calc(n), coax_syn(n),
       coupled_microstrip_calc(n),		    coupled_microstrip_syn(n),
       ic_microstrip_calc(n),	  ic_microstrip_syn(n),	   microstrip_calc(n),
       microstrip_syn(n), stripline_calc(n), stripline_syn(n)


AUTHORS
       Wcalc was written by Dan McMahill <mcmahill@alum.mit.edu>


BUGS
       Please  report  any  on	the  Wcalc  Sourceforge	 project  website   at
       http://wcalc.sf.net






								STDIO-WCALC(1)
lepton-eda-1.9.10/docs/wiki/geda-icarus_mp.html0000644000175000017500000003614313634703632016232 00000000000000

Icarus Verilog compiler man-page

iverilog(1)		 $Date: 2005/06/28 04:25:55 $		   iverilog(1)



NAME
       iverilog - Icarus Verilog compiler


SYNOPSIS
       iverilog	 [-ESVv]  [-Bpath] [-ccmdfile] [-g1|-g2|-g2x] [-Dmacro[=defn]]
       [-pflag=value] [-Iincludedir] [-mmodule] [-Mfile]  [-Nfile]  [-ooutput-
       filename]  [-stopmodule]	 [-ttype]  [-Tmin/typ/max]  [-Wclass] [-ypath]
       sourcefile


DESCRIPTION
       iverilog is a compiler that translates Verilog source  code  into  exe-
       cutable	programs  for simulation, or other netlist formats for further
       processing. The currently supported targets are vvp for simulation, and
       xnf and fpga for synthesis. Other target types are added as code gener-
       ators are implemented.


OPTIONS
       iverilog accepts the following options:

       -Bbase  The iverilog program uses external programs  and	 configuration
	       files  to  preprocess and compile the Verilog source. Normally,
	       the path used to locate these tools is built into the  iverilog
	       program.	 However,  the	-B  switch allows the user to select a
	       different set of programs. The path given  is  used  to	locate
	       ivlpp, ivl, code generators and the VPI modules.

       -cfile  This  flag specifies an input file that contains a list of Ver-
	       ilog source files. This is similar to the command file of other
	       Verilog simulators, in that it is a file that contains the file
	       names instead of taking them on the command line.  See  Command
	       Files below.

       -Dmacro Defines macro macro with the string ‘1’ as its definition. This
	       form is normally only used to trigger ifdef conditionals in the
	       Verilog source.

       -Dmacro=defn
	       Defines macro macro as defn.

       -E      Preprocess  the Verilog source, but do not compile it. The out-
	       put file is the Verilog input, but  with	 file  inclusions  and
	       macro  references  expanded  and	 removed.  This is useful, for
	       example, to preprocess Verilog source for use by other  compil-
	       ers.

       -g1|-g2|-g2x
	       Select  the  Verilog language generation to support in the com-
	       piler. This selects between IEEE1364-1995(1), IEEE1364-2001(2),
	       or   Verilog   with  extension(2x).  Normally,  Icarus  Verilog
	       defaults to the latest known generation of the  language.  This
	       flag is most useful to restrict the language to a set supported
	       by tools of specific generations, for compatibility with	 other
	       tools.

       -Iincludedir
	       Append directory includedir to list of directories searched for
	       Verilog include files. The -I switch may be used many times  to
	       specify	several	 directories  to  search,  the directories are
	       searched in the order they appear on the command line.

       -Mpath  Write into the file specified by path a list of files that con-
	       tribute	to  the compilation of the design. This includes files
	       that are included by include  directives	 and  files  that  are
	       automatically loaded by library support. The output is one file
	       name per line, with no leading or trailing space.

       -mmodule
	       Add this module to the list of VPI modules to be loaded by  the
	       simulation.  Many  modules  can	be  specified, and all will be
	       loaded, in the order specified. The system module  is  implicit
	       and always included.

       -Npath  This  is used for debugging the compiler proper. Dump the final
	       netlist form of the design to the specified file. It  otherwise
	       does  not  affect  operation  of the compiler. The dump happens
	       after the design is elaborated and optimized.

       -o filename
	       Place output in the file filename. If no output	file  name  is
	       specified, iverilog uses the default name a.out.

       -pflag=value
	       Assign  a value to a target specific flag. The -p switch may be
	       used as often as necessary to specify all  the  desired	flags.
	       The  flags that are used depend on the target that is selected,
	       and are described in target specific documentation. Flags  that
	       are not used are ignored.

       -S      Synthesize.  Normally,  if  the	target	can  accept behavioral
	       descriptions the compiler will leave  processes	in  behavioral
	       form.  The  -S  switch causes the compiler to perform synthesis
	       even if it is not necessary for the target. If the target  type
	       is  a  netlist  format, the -S switch is unnecessary and has no
	       effect.

       -s topmodule
	       Specify the top level module to elaborate. Icarus Verilog  will
	       by  default  choose  modules  that  are not instantiated in any
	       other modules, but sometimes that is not sufficient, or instan-
	       tiates too many modules. If the user specifies one or more root
	       modules with -s flags, then they will be used as	 root  modules
	       instead.

       -Tmin|typ|max
	       Use   this  switch  to  select  min,  typ  or  max  times  from
	       min:typ:max expressions. Normally, the compiler will simply use
	       the  typ value from these expressions (with a warning) but this
	       switch will tell the compiler explicitly which  value  to  use.
	       This  will  suppress  the warning that the compiler is making a
	       choice.

       -ttarget
	       Use this switch to specify the target output  format.  See  the
	       TARGETS section below for a list of valid output formats.

       -v      Turn  on	 verbose  messages.  This will print the command lines
	       that are executed to perform the actual compilation, along with
	       version information from the various components, as well as the
	       version of the product as a whole.  You will  notice  that  the
	       command	lines include a reference to a key temporary file that
	       passes information to the compiler proper.  To keep  that  file
	       from  being  deleted  at the end of the process, provide a file
	       name of your own in the environment variable  IVERILOG_ICONFIG.

       -V      Print the version of the compiler, and exit.

       -Wclass Turn  on	 different  classes of warnings. See the WARNING TYPES
	       section below for descriptions of the different warning groups.
	       If  multiple -W switches are used, the warning set is the union
	       of all the requested classes.

       -ylibdir
	       Append the directory to the library module  search  path.  When
	       the  compiler  finds  an	 undefined  module,  it looks in these
	       directories for files with the right name.


MODULE LIBRARIES
       The Icarus Verilog compiler supports module  libraries  as  directories
       that  contain  Verilog  source files.  During elaboration, the compiler
       notices the instantiation of undefined module types. If the user speci-
       fies library search directories, the compiler will search the directory
       for files with the name of the missing module type. If it finds such  a
       file,  it loads it as a Verilog source file, they tries again to elabo-
       rate the module.

       Library module files should contain only a single module, but  this  is
       not  a  requirement. Library modules may reference other modules in the
       library or in the main design.


TARGETS
       The Icarus Verilog compiler supports a variety of targets, for  differ-
       ent purposes, and the -t switch is used to select the desired target.


       null    The  null  target  causes no code to be generated. It is useful
	       for checking the syntax of the Verilog source.

       vvp     This is the default. The vvp target generates code for the  vvp
	       runtime.	 The  output  is a complete program that simulates the
	       design but must be run by the vvp command.

       xnf     This is the Xilinx Netlist Format used by many tools for	 plac-
	       ing devices in FPGAs or other programmable devices. This target
	       is obsolete, use the fpga target instead.

       fpga    This is a synthesis target that	supports  a  variety  of  fpga
	       devices,	 mostly by EDIF format output. The Icarus Verilog fpga
	       code generator can generate complete  designs  or  EDIF	macros
	       that  can  in  turn  be	imported  into larger designs by other
	       tools. The fpga target implies the synthesis -S flag.


WARNING TYPES
       These are the types of warnings that can be selected by the -W  switch.
       All the warning types (other then all) can also be prefixed with no- to
       turn off that warning. This is most useful after a  -Wall  argument  to
       suppress isolated warning types.


       all     This enables all supported warning categories.


       implicit
	       This  enables  warnings	for creation of implicit declarations.
	       For example, if a scalar wire X is used but not declared in the
	       Verilog source, this will print a warning at its first use.


       portbind
	       This  enables  warnings for ports of module instantiations that
	       are not connected but probably should be. Dangling input ports,
	       for example, will generate a warning.


       timescale
	       This  enables  warnings	for  inconsistent use of the timescale
	       directive. It detects if some modules have no timescale, or  if
	       modules inherit timescale from another file. Both probably mean
	       that timescales are inconsistent, and simulation timing can  be
	       confusing and dependent on compilation order.


SYSTEM FUNCTION TABLE FILES
       If the source file name as a .sft suffix, then it is taken to be a sys-
       tem function table file. A  System  function  table  file  is  used  to
       describe to the compiler the return types for system functions. This is
       necessary because the compiler  needs  this  information	 to  elaborate
       expressions  that  contain  these  system functions, but cannot run the
       sizetf functions since it has no run-time.

       The format of the table is ASCII, one function per  line.  Empty	 lines
       are  ignored,  and  lines that start with the ’#’ character are comment
       lines. Each non-comment line starts with the function  name,  then  the
       vpi type (i.e. vpiSysFuncReal). The following types are supported:


       vpiSysFuncReal
	       The function returns a real/realtime value.


       vpiSysFuncInt
	       The function returns an integer.


       vpiSysFuncSized <wid> <signed|unsigned>
	       The  function  returns  a  vector  with the given width, and is
	       signed or unsigned according to the flag.


COMMAND FILES
       The command file allows the user to place source file names and certain
       command	line  switches	into  a text file instead of on a long command
       line. Command files can include C or C++ style comments, as well	 as  #
       comments, if the # starts the line.


       file name
	       A  simple  file	name or file path is taken to be the name of a
	       Verilog source file. The path starts with the first  non-white-
	       space character. Variables are substitued in file names.


       -y libdir
	       A  -y  token  prefixes a library directory in the command file,
	       exactly like it does on the command line. The parameter to  the
	       -y flag may be on the same line or the next non-comment line.

	       Variables in the libdir are substituted.


       +incdir+includedir
	       The +incdir+ token in command files gives directories to search
	       for include files in much the same way that -I  flags  work  on
	       the  command  line. The difference is that multiple +includedir
	       directories are valid parameters to a  single  +incdir+	token,
	       although you may also have multiple +incdir+ lines.

	       Variables in the includedir are substituted.


       +libext+ext
	       The +libext token in command files fives file extensions to try
	       when looking for a library file. This is useful in  conjunction
	       with  -y flags to list suffixes to try in each directory before
	       moving on to the next library directory.


       +libdir+dir
	       This is another way to specify library directories. See the  -y
	       flag.


       +libdir-nocase+dir
	       This  is	 like the +libdir statement, but file names inside the
	       directories declared here are  case  insensitive.  The  missing
	       module  name  in a lookup need not match the file name case, as
	       long as the letters are correct.	 For  example,	"foo"  matches
	       "Foo.v" but not "bar.v".


       +define+NAME=value
	       The  +define+ token is the same as the -D option on the command
	       line. The value part of the token is optional.


       +toupper-filename
	       This token causes file names after this in the command file  to
	       be  translated to uppercase. This helps with situations where a
	       directory has passed through a DOS machine, and in the  process
	       the file names become munged.


       +tolower-filename
	       This  is similar to the +toupper-filename hack described above.


VARIABLES IN COMMAND FILES
       In certain cases, iverilog supports variables in command	 files.	 These
       are  strings of the form "$(varname)", where varname is the name of the
       environment variable to read. The entire string is  replaced  with  the
       contents	 of  that  variable. Variables are only substitued in contexts
       that explicitly support them, including file and directory strings.

       Variable values come from the operating	system	environment,  and  not
       from preprocessor defines elsewhere in the file or the command line.


EXAMPLES
       These  examples	assume	that  you  have	 a  Verilog source file called
       hello.v in the current directory

       To compile hello.v to an executable file called a.out:

	    iverilog hello.v

       To compile hello.v to an executable file called hello:

	    iverilog -o hello hello.v

       To compile and run explicitly using the vvp runtime:

	    iverilog -ohello.vvp -tvvp hello.v

       To compile hello.v to a file in XNF-format called hello.xnf

	    iverilog -txnf -ohello.xnf hello.v



AUTHOR
       Steve Williams (steve@icarus.com)


SEE ALSO
       vvp(1), <http://www.icarus.com/eda/verilog/>


COPYRIGHT
       Copyright ©  2002 Stephen Williams

       This document can be freely redistributed according to the terms of the
       GNU General Public License version 2.0



Version			 $Date: 2005/06/28 04:25:55 $		   iverilog(1)
lepton-eda-1.9.10/docs/wiki/geda-wcalc_mp.html0000644000175000017500000000346113634703632016032 00000000000000

Wcalc man-page

WCALC(1)							      WCALC(1)



NAME
       wcalc - Transmission line analysis/synthesis calculator.


SYNOPSIS
       wcalc


DESCRIPTION
       The wcalc program is a tool for the analysis and synthesis of transmis-
       sion line structures and related components.  Wcalc provides the	 abil-
       ity  to	analyze	 the  electrical  parameters of a particular structure
       based on the physical dimensions and material parameters.  The  synthe-
       sis portion calculates the required physical parameters to meet desired
       electrical specifications.  Wcalc includes several models and places an
       emphasis on accuracy.


ENVIRONMENT
       WCALC_DATADIR
	      If  set, wcalc searches in $WCALC_DATADIR for the EPS files used
	      when printing out	 models.   The	default	 value	is  the	 $pre-
	      fix/share/wcalc directory, where prefix is the installation pre-
	      fix.


SEE ALSO
       stdio-wcalc(1)


AUTHORS
       Wcalc was written by Dan McMahill <mcmahill@alum.mit.edu>


BUGS
       None known.  Please report any on the Wcalc Sourceforge Project page at
       http://www.sourceforge.net/projects/wcalc






								      WCALC(1)
lepton-eda-1.9.10/docs/wiki/geda-faq-attribs.ru.html0000644000175000017500000001303613634703632017106 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English, Français.

Управление атрибутами

Помогите! Ð’ моём проекте Ñотни компонентов и ужаÑно трудно добавлÑть каждый из атрибутов в gschem!

Ðаш ответ — утилита gattrib в gEDA/gaf. gattrib — Ñто редактор атрибутов Ð´Ð»Ñ gEDA. Эта программа читает ваш(и) .sch-файл(Ñ‹) и Ñоздаёт Ñлектронную таблицу, показывающую вÑе компоненты, ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸ выводы в Ñтроках таблицы, а ÑоответÑтвующие им атрибуты — в Ñтолбцах. gattrib позволÑет добавлÑть, изменÑть или удалÑть атрибуты вне gschem, а затем ÑохранÑть .sch-файлы обратно. Вот Ñкриншот:

faq_attrib.jpg

Обратите внимание, что gattrib — Ñто ÑегоднÑшний ответ Проекта gEDA на Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¾ Ñ‚Ñжёлых Ñимволах. Это значит, что вмеÑто Ð¿Ñ€Ð¸ÐºÑ€ÐµÐ¿Ð»ÐµÐ½Ð¸Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из атрибутов (Ñодержащих имена файлов SPICE-моделей, Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñадочных меÑÑ‚, уÑтановленные производителÑми номера компонентов и прочее), рекомендуетÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»Ñть Ñту информацию в Ñхему Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gattrib, где она видна и легко обрабатываетÑÑ.

Перед иÑпользованием gattrib надо обÑзательно выйти из gschem. Обе программы — gattrib и gschem — ÑохранÑÑŽÑ‚ вашу работу в одном и том же файле, поÑтому Ð´Ð»Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°Ð½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚Ð¾Ð² необходимо, чтобы работала только одна из них. Ð’ gEDA/gaf (пока) нет механизма файлов блокировки, поÑтому за избежание конфликтов отвечаете вы Ñами.

Как узнать, какое название поÑадочного меÑта иÑпользовать в атрибуте footprint Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ топологии печатной платы в pcb?

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-autonumbering.html0000644000175000017500000001041313634703632021056 00000000000000

Autonumbering

It is often useful to automatically number attributes (for example, to set â€pinseq=†attributes in bulk when editing a symbol, or to set components' â€refdes=†attributes for a large capacitor bank). The autonumbering facility in gschem can be accessed with Attributes→Autonumber Text.

The “Autonumber text†window has two sections:

  • The “Scope†section, at the top, is used to specify which attributes should be autonumbered.
  • The “Options†section below controls how the numbering is carried out.

Choosing attributes to number

In the “Search for†field, you should enter the attribute pattern to search for. You can enter wildcards here: â€*†matches any number of characters, and â€?†matches any single character. For example, if you enter â€refdes=X*â€, it will match components named â€X1â€, â€X40â€, â€X302â€, etc.

The “Autonumber text in†menu controls where autonumbering looks for attributes to modify. If “Selected objects†is chosen, only the objects that are currently selected will be changed; with “Current pageâ€, the whole page will be autonumbered. If “Whole hierarchy†is chosen, all open pages will be renumbered.

If some numbers are already in use, autonumbering will skip them. You can control where autonumbering looks for numbers to skip using the “Skip numbers found in†menu, which has the same options as the “Autonumber text in†menu described above.

If “Overwrite existing numbers†is enabled, all attributes found that match the pattern given in the “Search for†field will be renumbered; otherwise, only those that aren't already numbered will be changed.

Controlling number assignment

The “Starting number†sets the first number that autonumbering will try to assign. For example, to renumber a page with component numbers U100, R101, etc., set the “Starting number†to 100. The “Sort order†controls what order autonumbering assigns numbers.

If the “Remove numbers†option is enabled, then attributes have their numbers reset to â€?†(for example, â€R10†becomes â€R?â€).

lepton-eda-1.9.10/docs/wiki/geda-bom_readme.html0000644000175000017500000000333213634703632016334 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

Bill of Material netlister README

README for
BOM - Bill Of Materials generater for gnetlist.

--------------------------------------------------------------------------

I (Matt) put together a quick bill of materials generator for gnetlist.
It takes a configuration file which tells it what attributes you want
netlisted (i.e. vendor, part number).

This is a sample config file:

device
label
name

Just call it with
        gnetlist  -g bom -o test.bom test.sch

The config file must be called "attribs" and be in the pwd, because
there is no way to pass arguments to the netlister (at least that I
could find).

Eventually I'd like to integrate this with some sort of a database for
production purposes.  Let me know if you are interested in helping or
have any ideas.

Matt
matt@ettus.com
lepton-eda-1.9.10/docs/wiki/geda-design_flow_and_hierarchy_roadmap.html0000644000175000017500000003234213634703632023130 00000000000000

Required for production circuits

  • hierarchy in schematic and netlist and pcb – modules that can be reused, arrayed.

The classic example of this is a stereo amplifier. You enter the schematic of an amplifier channel and a second one showing controls and power. You enter a symbol for the unit that points to three schematic pages.

  Page 1 is the control/power , Page 2 is the amplifier with macro substitutions of right and U100 for all nets and Refdes, Page 3 is the amplifier with macro substitutions of left and U200 for all nets and Refdes.
  
  
  Extra credit if the number of channels is controlled by an attribute set when you instantiate the unit symbol. This is comparable to the verilog generate command.

intermediate translation file format VHDL? EDIF?

Schematic, Layout, logic sim, analog sim, etc

In an *AMS language, nets have types. It's not just “wireâ€. The schematic needs to be extended so that pins on symbols can have types. It is not prohibited to mix types. Verilog has something called a “connectmodule†to define how to resolve mixed types. gschem attributes need to have types. [Al Davis]

I certainly agree that the (gnetlist-ed.) Verilog output is not 'lossless' – it's only an interchange format for the interconnect…[Mike Jarabek]

He's not actually proposing to use VHDL (as modeling language-ed.) but to steal some syntax from VHDL and interpret it as he sees fit for the task. In particular, he's only interested in the entity-architecture separation[Steve Williams]

More useful, (than creating intermediate file formats-ed.) is to refactor libgeda and define an API which can be exposed via C, scheme, DBus, and other scripting languages directly modifying the underlying design. [Peter Clifton]

Any extraction should preserve hierarchy, in hopes that the target tool also benefits from it. Translation must be 100%, lossless, from netlist to PCB refdes, and from PCB refdes used to create a module or back annotate a schematic. [Al Davis] [paraphrased heavily by JGriessen – correct?]

The file format should be designed as a language meaningful and expressive of IC, programmable logic, and printed circuits. File formats that are data structure dumps cause big problems. We need an interchange file format..[Al Davis]

If EDIF has layout objects or schematic objects built-in, that is actually a weakness. Just like SPICE having resistors and transistors built-in has become a weakness.[Al Davis]

EDIF's not mainstream. VHDL and Verilog are mainstream. That is one reason for my preference. It's not all technical[Al Davis]

PCB behavior with a hierarchic netlist Right click on a symbol, select “go insideâ€, and another drawing opens up showing what's inside. gschem also should act this way. [Al Davis] Display in place what's inside, turn on/off the visibility or “editability†of any subcells. [Igor] Ability to visually toggle [Dan McMahill] “blocks†should be translucent. (To show in place)ed. even when you're not editing it. [DJ Delorie] Yep. [John Griessen] Dive into a block so you can edit it. When done, close and updated in place. [DJ Delorie]

how to handle re-use blocks? [Stuart Brorson] That is, if I have a sub-schematic which I instantiate four times, how should it be refdesed in the netlist?

Hierarchical Buses

IPC Improvements

(InterProcess Communication -ed.) between gschem and PCB using DBus will benefit from netlisting changes (certainly cross probing and back annotation).[Peter Clifton]

Peter Brett and I put together a graphical frontend to gsch2pcb which uses gsch2pcb's output to feed changes into a live PCB layout. [Peter Clifton]

For cross-probing / interactive simulation / back annotation, we require libgeda to give gschem, gattrib etc.. the circuit representation underlying your schematic drawing.[Peter Clifton]

Robust Function

libgeda could/should evolve - as a backend to different tools. Since the PCB file-format is PCB's, and may change, it is wiser to use a defined API to PCB to make PCB write the file. This entails adding to PCB's action interface as necessary, and making gsch2pcb output a script of actions rather than a “PCB†file. [Peter Clifton]

I'm hoping to separate much of the GUI structure and cram that back in the applications it belongs in, re-structuring libgeda to be design data-oriented.[Peter Clifton]

function library with bindings to users language of choice a proper, “official†Perl-callable library to parse a layout file, a footprint file, or a schematic file, and load the data into an in-memory data structure. Such a library to read and write these file formats would dramatically reduce the activation energy hump to write a rich set of tools for all of us. [CP Tarun]

It would not fall out of sync with the changing file-formats, because you wouldn't write yet another implementation of the parser, data-structures etc, nor would you copy-paste code. You would have one library which is used by all tools (probably in C as this is what the suite mostly uses), then you would provide language bindings so people can write the useful utilities they want. If this means having to split code out of existing tools and into a library, that is the way forward in terms of code reuse. [Peter Clifton]

I completely agree. [Dan McMahill]

Also consider libgpmi which currently supports 8 languages, will support guile [Igor]

Other Improvements

It is very useful I think to let DRC run to completion and have a DRC layer (or perhaps 1 DRC layer per copper layer as you suggest) that identifies exactly the offending feature.[Dan McMahill]

layout and save a hierarchy module [Steve Meier]

have a block (in PCB)ed. that is a modular entity. Normally, you can't do anything but move it around as a whole. A special action “opens†this block (and hides everything else) so you can edit it. When you're done, it's closed again - and any copies of the block are automatically updated in place. [DJ Delorie]

be able in the netlist to tell pcb which slots are swapable, which i/o pins are swapable and which pin pairs can function as differential pairs (these last two have to be able to be limited to specific banks) such that pcb could correctly change the net list itself. Then I would like PCB to be able to tell me what pins and in what order the pins were swapped so that this could be imported back into the original design.[Steve Meier]

gschem attribute editable as symbols placed, (such as description of the layout footprint attribute) [CP Tarun]

recesses in boards, (holes in PCB layers)[Steve Meier] Required for straight leads out side of packages and flex circuits.

Yeah, you'd need the “layer types†patch to really manage that, as you'd be able to tag multiple pcb layers as “outline†layers[DJ Delorie]

PCB should be able to do hidden vias, buried vias and micro vias. [Steve Meier]

Answered by non-copper layers, multi-pin projects in SoC list [DJ Delorie]

Use padstack to build elements with copper and non-copper layers independent.[Levente]

a PCB interface for presenting dynamic dialog boxes for importers [Igor] I think this is part of having easy scripting of user's choice, so an important design flow consideration[John Griessen]

Too Detailed

change only the top of hierarchy string of a layout module to netlist correctly.[Steve Meier]

Separate the hierarchy from the rest of the refdes. [Steve Meier]

PCB doesn't care what the refdes is, a heirarchical one is just as valid [DJ Delorie]

In gschem, visually browse the symbol library.[CP Tarun]

Can be putoff and done as a GUI plugin script – a detail of easy scripting wants [JGriessen]

In gschem, more control over printed or exporting, as in CAM files a la Eagle.[CP Tarun]

Can be putoff and done as a GUI plugin script – a detail of easy scripting wants [JGriessen]

Implementation

What kind of data structures are desirable? How would they look? [Stuart Brorson] Once a datastructure is decided upon, then what does the file format look like? Preserving the current close mapping of files to data structures is a desirable goal. The data structures defining hierarchy dictate what the file format should look like. [Stuart Brorson]

Right now, the main data structure for a schematic is a linear linked list of graphical objects (for each schematic page). Some list items point to others (i.e. to support component attributes). How would that change to support hierarchy? [Stuart Brorson]

PCB has a second format it uses called a “resource fileâ€. It's a semi-lisp-ish format that allows for arbitrarily nested data. It could be used to hold pretty much anything, but it isn't “designed for the dataâ€.[DJ Delorie]

How should gschem behave once hierarchy is architected in? Right now you attach a source= attribute to a symbol. Then you do “schematic down†on that symbol to dive into the sub-schematic. Is that OK? Or what's a better scheme?

Some work has already been done using gnetman by Bill Cox, but it has never been part of the distribution gnetlist. Dan McMahill wrote: “a reason to use the gnetman database as opposed to one designed by one of us†is that without availing Bill Cox's substantial tested work, we may “find that the underlying database structure and methods for accessing it still aren't complete enough, fast enough, or scalable enough.â€

Some work has already been done by Steve Meier to enable practical work on FPGAs.

Some design work has been done by Peter Brett and Peter Clifton, producing a concept diagram of a sub-circuit oriented data-structure based on gnetman's structure diagram for netlisting. See data structure design discussion

lepton-eda-1.9.10/docs/wiki/geda-screenshots.html0000644000175000017500000000464313634703632016610 00000000000000 lepton-eda-1.9.10/docs/wiki/libgeda3.html0000644000175000017500000002077713634703632015032 00000000000000

gEDA Library v3 Specification

Rationale

The current version (2.x) of the libgeda shared library has a number of defects:

  • Poor separation between public interface and internals, which leads to…
  • Frequent changes to the API
  • API contains large amounts of code specific to application internals

This page is an attempt to itemise in detail what is required of libgeda, and what the interface to it should look like. This will enable:

  • More rigorous testing of library functions
  • Creation of language bindings for libgeda
  • Easier development of other applications for manipulating schematics

Requirements

Core

  1. Define data structures for representing schematics
  2. Provide methods for creating and manipulating schematics
  3. Provide methods for reading and storing schematics into files and data streams
  4. Provide access to detailed data on errors and exceptions
  5. Provide a simple interface for configuring libgeda's behaviour

Secondary

  1. Make no assumptions about applications which will use the library
  2. Make no assumptions about the compiler or architecture on which the library is being used
  3. Fully reentrant for thread safety
  4. Minimise number of dependency libraries
  5. Detect and gracefully handle multiple instances accessing the same schematic file

Coordinate System

Because libgeda should “make no assumptions about applications which will use the library,†libgeda should use only “world†coordinates throughout (the same coordinate system as used in the files). See the file format specification.

Configuration

Currently, libgeda relies on an embedded Scheme interpreter (Guile) for configuring settings such as library search paths. This has a number of pros and cons:

Pros:

  • All applications which access libgeda can automatically use the same settings
  • Arbitrary Scheme code can be used in the configuration process

Cons:

  • Large & complex dependency
  • Doesn't integrate nicely into applications which use e.g. the GNOME or KDE configuration mechanisms
  • Substantially complicates the creation of graphical user interfaces for configuring library settings
  • Problems with Guile backward-compatibility in the past

It might, therefore, make more sense to provide a complete API for configuring libgeda, and rely on the application to handle the storage and loading of the configuration.

Dependencies

glib

glib provides a very large number of useful features that would make writing and maintaining libgeda easier. These include:

  • Portable definitions of basic types (although intptr.h does this too, and would probably be preferable)
  • Doubly- and singly-linked lists, and many other data structures
  • Plugin loading, memory allocation, threading, IO abstraction, …

Not having to reinvent the wheel – and letting a much larger project be responsible for optimising and maintaining these features – would make the libgeda code smaller and easier to understand and maintain. libgeda already uses glib to a certain extent, but using it more extensively in future versions of libgeda does not immediately seem to be a bad idea.

gobject

gobject is an object-oriented programming system in C. It is used extensively in the GTK+ user interface toolkit. In addition to class-like structures, it provides a signalling system that allows objects to emit, listen for and respond to events. It is designed to be compatible with the object systems of other languages, and this is one of the chief reasons that so many bindings of GTK+ are available (Python, Perl, .NET, Java, C++, etc).

gobject is often considered to be heavyweight, requiring lots of boilerplate code in order to use it effectively. Its use in libgeda has historically been opposed, though its use in future versions may ease creation of bindings for libgeda in more directly object-oriented languages such as Python, Java or C++.

GObject is currently used in libgeda for the GedaList class which wrapps a GList, and provides a notification signal when API is used to modify the list.

References

lepton-eda-1.9.10/docs/wiki/geda-pcb_mp.html0000644000175000017500000000242513634703632015504 00000000000000

PCB man-page

PCB(1)									PCB(1)



NAME
       pcb - Printed circuit board layout tool


SYNOPSIS
       pcb [options] [pcb file]


DESCRIPTION
       The  pcb	 program  is  a tool for the layout of printed circuit boards.
       The complete manual for pcb is provided in a GNU texinfo format as well
       as HTML and PDF.	 The texinfo version of the manual is typically viewed
       with the info program or alternatively with emacs or a  graphical  info
       viewer	  such	  as	tkinfo	  /usr/local/share/pcb/pcb.html	   and
       /usr/local/share/pcb/pcb.pdf.  The prefix "/usr/local" may vary at your
       site.







									PCB(1)
lepton-eda-1.9.10/docs/wiki/geda-spice_polys.ru.html0000644000175000017500000001625213634703632017225 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

КонÑтрукции SPICE POLY

Это наброÑок того, что Ñ ÑƒÐ·Ð½Ð°Ð» о POLY. Я не уверен, что вÑÑ‘ абÑолютно точно, поÑтому не ÑтеÑнÑйтеÑÑŒ и иÑправлÑйте.

Различные верÑии SPICE иÑпользуют разные методы Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½ÐµÐ»Ð¸Ð½ÐµÐ¹Ð½Ñ‹Ñ… завиÑимых иÑточников, например ASRC, Bxxxx, Exxxx, Gxxxx, Fxxxx, Hxxxx и Ñ‚. д.

Ðекоторые, например NGspice, иÑпользуют произвольные Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ Ð±Ð»Ð¾ÐºÐ°Ð¼Ð¸ уÑловий, другие, например GNUcap, иÑпользуют полиномы и аппрокÑимацию кривых. Функции POLY, видимо, ÑвлÑÑŽÑ‚ÑÑ Ð·Ð´ÐµÑÑŒ наименьшим общим знаменателем, однако в SPICE3 они не поддерживаютÑÑ. Полиномы были первым ÑредÑтвом, иÑпользуемым Ð´Ð»Ñ Ð°Ð¿Ð¿Ñ€Ð¾ÐºÑимации нелинейных завиÑимоÑтей, потому что Ñти функции работают хорошо, и SPICE может легко найти производную в какой-либо точке, иÑпользуемой в чиÑловых методах решениÑ. ÐžÑ‚Ñ€Ð¸Ñ†Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ñторона здеÑÑŒ — необходимоÑть кое-какой дополнительной работы в других программах Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ñффициентов Ñвоего полиномиального выражениÑ.

Вот неÑколько общих проблем Ñ Ð¿Ð¾Ð»Ð¸Ð½Ð¾Ð¼Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ аппрокÑимациÑми:

  1. Они быÑтро ÑтановÑÑ‚ÑÑ Ð±ÐµÑполезными вне ограниченной облаÑти. ДейÑтвительно, поÑкольку модели BSIM иÑпользуют полиномиальные Ð¿Ñ€Ð¸Ð±Ð»Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð² некоторых раÑчётах, они Ñклонны к нефизичеÑкому поведению в рабочих точках вне облаÑти их аппрокÑимации.
  2. Чтобы получить приличную аппрокÑимацию функции, форма которой «не очень похожа на полином», в полиноме должно быть много членов.

Другой метод – иÑпользование произвольных выражений Ñ Ñ‡ÐµÐ¼-то вроде функциональноÑти if-then-else или куÑочно-линейных функций. Их проще формулировать, но в Ñтом Ñлучае ÑущеÑтвует риÑк потери непрерывноÑти, что может вызвать Ñерьёзные проблемы Ñо ÑходимоÑтью. Однако они гораздо более удобны Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы наÑпех что-нибудь Ñкомпоновать.

Большие уÑÐ¸Ð»Ð¸Ñ Ð¿Ð¾Ñ‚Ñ€Ð°Ñ‡ÐµÐ½Ñ‹ на получение лучшего из обеих Ñфер. Функции куÑочно-линейной аппрокÑимации PWL (piecewise linear functions) чаÑто иÑпользуют маленькие кривые Ð´Ð»Ñ ÑÐ³Ð»Ð°Ð¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð¾Ð² от одной производной к Ñледующей. И выражениÑ, в которых иÑпользуютÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ if-then-else, ÑтроÑÑ‚ÑÑ Ñ‚Ð°ÐºÐ¸Ð¼ образом, чтобы получалиÑÑŒ плавные переходы между разными значениÑми. Вообще, в библиотеках полиномиальные аппрокÑимации иÑпользуютÑÑ Ñ‚Ð°Ð¼, где Ñто можно Ñделать, и ограничиваютÑÑ Ñ‚ÐµÐ¼Ð¸ облаÑÑ‚Ñми, где они полезны. Примерами Ñтого в Gnucap ÑвлÑÑŽÑ‚ÑÑ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ñ‹ fit и table.

Однако, еÑли вы хотите попробовать Ñвои модели в других верÑиÑÑ… SPICE, вам, вероÑтно, придётÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾ потрудитьÑÑ, чтобы опиÑать их поведение в Ñлементах оператора POLY, который, к Ñожалению, (на момент данного напиÑаниÑ) недоÑтаточно хорошо документирован ни в Ngspice, ни в Gnucap. Приведу здеÑÑŒ одно меÑто, где еÑть документациÑ:

http://newton.ex.ac.uk/teaching/CDHW/Electronics2/userguide/secC.html

Я думаю, Ð´Ð»Ñ Ð°Ð¿Ð¿Ñ€Ð¾ÐºÑимации кривых можно иÑпользовать такие программы, как Gnuplot, Grace или Simfit.

Учтите, чтобы конÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ POLY поддерживалаÑÑŒ в программе Ngspice, при её Ñборке нужно уÑтановить некоторые ключи. Смотрите http://www.brorson.com/gEDA/SPICE/x496.html.

— Clif Eugene 2010/11/23 01:31

lepton-eda-1.9.10/docs/wiki/geda-gsch2pcb_readme.html0000644000175000017500000001372713634703632017263 00000000000000

gsch2pcb (gschem to PCB) README

gsch2pcb
--------
gsch2pcb is a program that interfaces a set of schematics generated with
with the gEDA gschem to PCB layout files.

gsch2pcb is conceptually similar to the gschem2pcb shell script, but
additionally handles multiple schematics, handles file element footprints,
and removes pc board elements corresponding to components deleted from the
schematics.  It also forward annotates component value changes.

Using gsch2pcb allows you to drive all design changes from the gschem
schematics without the headache of manually keeping PCB elements and
element values in sync.

It requires that the gnet-gsch2pcb.scm file be install into the gEDA
scheme directory.  On Debian this is /usr/share/gEDA/scheme, but see
the INSTALL file.

Typical usage
-------------
1) Create your custom PCB elements and save each one into its own file.
   Some compatibility tips if you will be inserting elements into a
   layout manually as well as with gsch2pcb:
     *  Make the initial "Description" field of these elements the same
        as the file name because gsch2pcb depends on this name (which is
        the gschem footprint
        value) to know when footprints/elements are changed.
     *  Make the initial layout-name field (displayed when the "name on PCB"
        menu entry is selected) empty (ie "") so that gsch2pcb
        will not delete your element when you want it to be in the layout
        even though it is not in the schematic.  You can later edit the
        layout-name to be some refdes value, but I'm not sure it makes sense
        to name a PCB element that is not referenced in the schematic.

   Note: since once a layout element is named PCB won't let you reset it
   to an empty name, a sort of kludge is that setting the first character
   of the layout-name to a non-alphanumeric will protect the element from
   being deleted by gsch2pcb.

   These file elements should be placed in a directory heirarchy that
   gsch2pcb will search.  The default directories /usr/local/pcb_lib and
   ./packages are searched in addition to any directories you specify with
   --elements-dir dirname arguments to gsch2pcb.

2) Create your schematic with gschem.  Make sure each component has a
   unique refdes attribute and a footprint attribute that matches either
   a PCB m4 element or one of your custom file element names.  Beware of
   file element names that collide with PCB m4 macro names (or specify the
   use-files option).
   Make a project file if you wish.

3) Run "gsch2pcb foo.sch" or "gsch2pcb myproject" if you've created the
   myproject file.  If you didn't specify an output name, this will generate
   a foo.pcb and a foo.net file.
   If you get errors about footprints not found, you need to create PCB
   elements for them and repeat this step until you get no errors.
   Or, just run gsch2pcb again and it will shift unfound elements to
   foo.new.pcb and you can proceed using PCB on foo.pcb if you wish to
   fix the errors from inside of PCB.

4) Run "pcb foo.pcb".  All the elements will be stacked on top of each other,
   so move them to desired locations.  Load the netlist file foo.net and
   proceed with using PCB.  

5) Modify foo.sch and again run "gsch2pcb foo.sch".
   * If components were added, PCB elements for them will be placed in the
     file foo.new.pcb.  If components were deleted, the elements for them
     will be removed from foo.pcb and the original foo.pcb will be renamed
     to a foo.pcb.bak sequence.
   * If elements can't be found for new schematic footprints, then the
     unfound elements will be indicated with PKG_ lines in foo.new.pcb
     unless you run "gsch2pcb --remove-unfound foo.sch" which will omit
     the PKG_ lines so you can go ahead and load foo.new.pcb into PCB.
   * Note that If you have added elements to the .pcb layout which
     will not exist on the schematics (mounting holes, etc), make sure
      there is no "name on PCB" (the gschem refdes) for them or else gsch2pcb
     will delete them when they don't match a schematic refdes and footprint.
     You could use the --preserve option to prevent deleting any elements at
     all, but this is really not the best way to use gsch2pcb.

6) Run "pcb foo.pcb" and clean up any dangling traces left over from removed
   elements.  Load any new elements in foo.new.pcb with the "Load layout
   data to paste-buffer" function.  Load the new netlist foo.net.


Caveats
-------
* gsch2pcb uses a gnetlist backend gnet-gsch2pcb.scm, so be sure when you
  install gsch2pcb that the gnet-gsch2pcb.scm file gets installed into the
  right place.  Look at the INSTALL file in the tarball.

* WARNING:  if you wish to start processing with gsch2pcb any existing PCB
  files that have m4 elements and were originally generated with gschem2pcb,
  then be sure to run first with at least gsch2pcb 0.4:

     gsch2pcb --fix-elements

  on the PCB file schematics or else gsch2pcb will want to delete the
  m4 elements.

* footprint information is saved into PCB element's Description fields,
  so it's probably not a good idea to change element Description values
  in your layout while using gsch2pcb unless it is a protected element
  that has an empty layout-name.



Bill Wilson    billw@wt.net
lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-introduction.html0000644000175000017500000001033513634703632020723 00000000000000

Introduction

gschem is a schematic capture application, and is part of the gEDA (GPL Electronic Design Automation) toolset. It is used to draw electronic schematics, which describe the logical structure of an circuit. Schematics are made up of symbols, which represent the various components in the circuit, and are obtained either from a standard library or created by the user. The connections between components are represented by nets (wires). Schematics may be printed to a PostScript file for printing or further conversion to other output formats. Output to various image formats is also supported.

gschem can also be used for editing symbols for use in schematics, and for drawing block diagrams of electronics designs.

Reading this guide

Several typographical conventions are used in this guide to describe things you might see in gschem or actions you might take.

  • When key terms or concepts are introduced, an italic typeface is used. For example, “gschem's accepts a number of command-line arguments.â€
  • Keyboard keys or combinations of keys are shown like this: Enter. When two or more keys are to be pressed together, a â€+†character is used. For example, “To exit gschem, press Alt+Q.â€
  • Menu items in the various gschem menus are written using a bold typeface, and when a sequence of menu items are to be selected in order, a “→†character is used. For example: “To show the list of keybindings, select Help→Hotkeys.â€

Getting additional help

If you have a question about using gschem, you may wish to send a message to one of the gEDA mailing lists. Alternatively, you can ask your question on the geda Launchpad page, and one of the developers will try to answer it for you.

If you think you have found a bug in gschem, please file a bug report in the Launchpad bug tracker. Please add the tag “gschemâ€. It will help the developers to fix your problem quickly if you can describe in detail how to reproduce the bug.

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-introduction.ru.html0000644000175000017500000001526513634703632021357 00000000000000

Введение

gschem — Ñто программа Ð´Ð»Ñ ÑхемотехничеÑкого проектированиÑ, входÑÑ‰Ð°Ñ Ð² набор утилит gEDA (GPL Electronic Design Automation). Она иÑпользуетÑÑ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸Ð½Ñ†Ð¸Ð¿Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ñхем Ñлектронных уÑтройÑтв, опиÑывающих логичеÑкую Ñтруктуру их ÑлектричеÑких цепей. Схемы ÑоÑтавлÑÑŽÑ‚ÑÑ Ð¸Ð· Ñимволов, ÑвлÑющихÑÑ Ð¿Ñ€ÐµÐ´Ñтавлением различных компонентов уÑтройÑтва. Они либо берутÑÑ Ð¸Ð· Ñтандартной библиотеки, либо ÑоздаютÑÑ Ñамим пользователем. ЭлектричеÑкие ÑвÑзи между компонентами предÑтавлÑÑŽÑ‚ÑÑ ÑоединениÑми (проводниками). Схему можно вывеÑти в PostScript-файл Ð´Ð»Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð¸ или Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² другой выходной формат. ПоддерживаетÑÑ Ð¸ вывод изображений в неÑкольких форматах.

Помимо ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñхем, gschem может иÑпользоватьÑÑ Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñимволов, иÑпользуемых в Ñхемах, а также Ð´Ð»Ñ Ñ‡ÐµÑ€Ñ‡ÐµÐ½Ð¸Ñ Ñтруктурных и функциональных Ñхем Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¾Ð² Ñлектронных уÑтройÑтв.

Общие замечаниÑ

Ð’ Ñтом руководÑтве Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð², которые можно увидеть в программе gschem, и дейÑтвий, которые можно в ней предпринÑть, иÑпользуетÑÑ Ð½ÐµÑколько Ñоглашений по оформлению.

  • При введении новых ключевых терминов и понÑтий иÑпользуетÑÑ ÐºÑƒÑ€Ñив. Ðапример: «gschem принимает неÑколько аргументов командной Ñтроки.»
  • Клавиши клавиатуры и их ÑÐ¾Ñ‡ÐµÑ‚Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶Ð°ÑŽÑ‚ÑÑ Ñ‚Ð°Ðº: Enter. Ð”Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¾Ð´Ð½Ð¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ Ð´Ð²ÑƒÑ… или более клавиш иÑпользуетÑÑ Ð·Ð½Ð°Ðº «+». Ðапример: Â«Ð”Ð»Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð° из gschem нажмите Alt+Q.»
  • Пункты различных меню gschem обозначаютÑÑ Ð¶Ð¸Ñ€Ð½Ñ‹Ð¼ шрифтом, а Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð¿Ð¾Ñ€Ñдка выбора пунктов меню иÑпользуетÑÑ Ñимвол «→». Ðапример: Â«Ð”Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÑпиÑка привÑзок клавиш выберите Help→Hotkeys.»

Получение дополнительной помощи

ЕÑли у Ð²Ð°Ñ ÐµÑть какой-то Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¿Ð¾ иÑпользованию gschem, можете задать его в одном из ÑпиÑков раÑÑылки gEDA. Кроме того, Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¼Ð¾Ð¶Ð½Ð¾ задать на Ñтранице geda в Launchpad, и кто-нибудь из разработчиков попытаетÑÑ Ð½Ð° него ответить.

ЕÑли вы думаете, что нашли ошибку в gschem, заполните, пожалуйÑта, отчёт об ошибке в СиÑтеме отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº Launchpad и добавьте Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ тег «gschem». ЕÑли вы Ñможете подробно напиÑать, как воÑпроизвеÑти найденную ошибку, разработчикам будет легче быÑтро решить вашу проблему.

lepton-eda-1.9.10/docs/wiki/geda-gsch2pcb_tutorial.ru.html0000644000175000017500000034772413634703632020325 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

gschem -> gsch2pcb -> pcb

Это учебник по иÑпользованию gsch2pcb как интерфейÑа между gschem и pcb. Мы предполагаем, что пакеты gEDA, pcb и gsch2pcb у Ð²Ð°Ñ ÑƒÐ¶Ðµ уÑтановлены и готовы к работе. ÐÐ°Ñ‡Ð¸Ð½Ð°Ñ Ñ gEDA 20030901, программа gsch2pcb находитÑÑ Ð² одном пакете Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ программами gEDA и не нуждаетÑÑ Ð² отдельной уÑтановке. ÐаÑтоÑщий учебник функционален и нацелен на получение как можно более быÑтрых результатов. Ð¥Ð¾Ñ‚Ñ Ð¾Ð½ и не ÑвлÑетÑÑ Ð¿Ð¾Ð»Ð½Ñ‹Ð¼ Ñправочным руководÑтвом по gschem или pcb, но на примере проÑтого проекта показывает вÑе шаги, которые вы могли бы предпринÑть.

Цель учебника — научитьÑÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÑŒÑÑ gsch2pcb как моÑтом между gschem и pcb, Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾ чтобы вÑе Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñлементов на принципиальной Ñхеме в gschem приводили бы к ÑоответÑтвующим автоматичеÑким изменениÑм в топологичеÑкой Ñхеме в pcb, то еÑть чтобы Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð³Ð¸Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ð¾Ð¹ платы вÑегда ÑоответÑтвовала принципиальным Ñхемам. Обратное аннотирование изменений из pcb в gschem в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾.

ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ наÑтоÑщего документа находитÑÑ Ð² замечаниÑÑ… по выпуÑку.

ТерминологиÑ

Ð’ gschem в принципиальную Ñхему добавлÑÑŽÑ‚ Ñимволы, изображающие Ñлектронные компоненты. Символ — Ñто группа из выводов, атрибутов и линий, предÑтавлÑÑŽÑ‰Ð°Ñ Ð½ÐµÐ±Ð¾Ð»ÑŒÑˆÐ¾Ðµ графичеÑкое изображение Ñлектронного компонента в ÑлектричеÑкой Ñхеме. Выводы разных Ñимволов ÑоединÑÑŽÑ‚ друг Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¼, Ð²Ñ‹Ñ‡ÐµÑ€Ñ‡Ð¸Ð²Ð°Ñ Ð¼ÐµÐ¶Ð´Ñƒ ними ÑоединениÑ. Ðтрибуты — Ñто именованные переменные, прикреплÑемые к Ñимволам и предназначенные Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¹ информации. ЕÑть три атрибута, непоÑредÑтвенно отноÑÑщихÑÑ Ðº переводу принципиальной Ñхемы в топологичеÑкую, и они должны быть заданы. Каждый добавлÑемый в Ñхему Ñимвол должен иметь атрибуты footprint, value, и refdes.

Значение атрибута footprint (поÑадочное меÑто) в принципиальной Ñхеме определÑет Ð´Ð»Ñ Ñимвола название pcb-Ñлемента, которым данный ÑкземплÑÑ€ Ñимвола должен быть предÑтавлен в топологии платы. pcb-Ñлемент — Ñто группа из выводов, контактных площадок и контуров шелкографии, ÑоответÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ðµ Ñлектронного компонента. ЕÑть два типа pcb-Ñлементов и Ñто, наверно, Ñбивает Ñ Ñ‚Ð¾Ð»ÐºÑƒ новичков в pcb. ЕÑть иÑходные pcb-Ñлементы, генерируемые макроÑами m4, и, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð²ÐµÑ€Ñии pcb 1.7, еÑть ещё и файловые Ñлементы типа newlib. Файловый Ñлемент — Ñто один фикÑированный Ñлемент в одном файле. Ð’ одном же файле m4-Ñлементов макроопределений Ñлементов может быть много. Чтобы получать программируемые Ñлементы Ñ Ñ€Ð°Ð·Ð½Ñ‹Ð¼ количеÑтвом выводов или изменÑемыми размерами, Ð´Ð»Ñ Ð¼Ð°ÐºÑ€Ð¾Ñов могут задаватьÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ‹. Ð’ наÑтоÑщем руководÑтве будет раÑкрыто иÑпользование Ñтих двух типов Ñлементов и далее Ñ Ñ‚Ð°Ðº и буду называть их m4-Ñлементами и файловыми Ñлементами.

При работе в pcb, еÑли в меню Вид → Отображаемое название Ñлемента выбрать ОпиÑание, то как название Ñлемента будет отображатьÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ атрибута gschem footprint. Дело в том, что запиÑÑŒ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ конкретного pcb-Ñлемента в файле топологии Ñодержит поле ОпиÑание (Description), которое должно ÑоответÑтвовать поÑадочному меÑту (footprint), и Ñто ÑоответÑтвие отÑлеживаетÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹ gsch2pcb.

Значение атрибута gschem refdes — Ñто позиционное обозначение в Ñхеме, такое как Q1, U1, R1 и Ñ‚. д. ЕÑли в pcb в меню Вид → Отображаемое название Ñлемента выбрать Позиционное обозначение, то как название Ñлемента будет отображатьÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ атрибута refdes.

Значение атрибута gschem value — Ñто значение (тип или значение физичеÑкой величины) конкретного компонента, такое как, например, BC546, 7400, 1K и Ñ‚. д. ЕÑли в pcb в меню Вид → Отображаемое название Ñлемента выбрать Значение, то как название Ñлемента будет отображатьÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ атрибута value.

ÐаÑтройка

При организации проектов разработки нужно учитывать Ñтруктуру каталогов. Пакеты gEDA и pcb по умолчанию предоÑтавлÑÑŽÑ‚ вам наборы Ñимволов gschem и pcb-Ñлементов, но можно Ñоздать и Ñвои ÑобÑтвенные библиотеки.

  • Где-нибудь, может быть в Ñвоём домашнем каталоге, Ñоздайте Ñтруктуру каталогов Ð´Ð»Ñ Ñвоих проектов. Ð”Ð»Ñ Ñвоих каталогов вы можете придумать имена Ñами, в данном же учебнике Ñ Ð±ÑƒÐ´Ñƒ ÑÑылатьÑÑ Ð½Ð° Ñтруктуру каталогов, иÑпользуемую мной:
    gaf/
    gaf/gschem-sym/                    Сюда Ñ ÐºÐ»Ð°Ð´Ñƒ Ñвои Ñимволы gschem.
    gaf/gschem-sym/transistors/        Можете организовать подкаталоги Ð´Ð»Ñ Ñвоих Ñимволов.
    gaf/pcb-elements/                  Сюда Ñ ÐºÐ»Ð°Ð´Ñƒ Ñвои Ñлементы pcb.
                                       Их также можно организовать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ подкаталогов.
    gaf/myproject1/                    И, наконец, отдельные каталоги Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾
    gaf/myproject2/                    проекта.
    ...

    При такой организации любые ваши Ñимволы gschem и pcb-Ñлементы могут быть общими Ð´Ð»Ñ Ð²Ñех ваших проектов и Ñто доÑтаточно хорошо Ð´Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° работы. Однако, Ñ ÑƒÐ¿Ð¾Ð¼Ñну и другие возможноÑти, которые будут опиÑаны ниже: у Ð²Ð°Ñ Ð¼Ð¾Ð³ÑƒÑ‚ быть подкаталоги файловых Ñлементов или файлы m4-Ñлементов pcb Ð´Ð»Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ñ‹Ñ… проектов; кроме того, админиÑтраторы СÐПР могут наÑтроить Ð´Ð»Ñ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ локальные каталоги файловых Ñлементов, и файлы m4-Ñлементов.

  • ÐаÑтройка gEDA: программы gschem, gnetlist и может быть другие, иÑпользуемые вами, как например gattrib, должны иметь возможноÑть найти любые Ñоздаваемые вами Ñимволы, поÑтому Ñтим программам нужно Ñказать, где лежат каталоги ваших Ñимволов Ð´Ð»Ñ gschem, добавив Ñтроки component-library в файл gafrc — либо в файл, общий Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¾Ð² пользователÑ, ${HOME}/.gEDA/gafrc, либо в файл gafrc в каталоге конкретного проекта. ЕÑть ещё ÑиÑтемный файл ${GEDADATA}/system-gafrc, который могут наÑтроить админиÑтраторы. Чтобы данные файлы можно было найти, должны быть ÑоответÑтвенно уÑтановлены переменные Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ HOME и GEDADATA. Ð”Ð»Ñ Ð¾Ð¿Ð¸Ñанной нами выше Ñтруктуры каталогов в ${HOME}/.gEDA/gafrc можно добавить Ñледующие Ñтроки (а также Ñтроки и Ð´Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… подкаталогов, которые вы бы хотели Ñоздать в gschem-sym):
    (component-library "${HOME}/gaf/gschem-sym")
    (component-library "${HOME}/gaf/gschem-sym/transistors")

    Или же файлы gafrc можно добавить в каталоги каждого из проектов (в такие как myproject1 и myproject2, указанные выше) и пропиÑать в них:

    (component-library "../gschem-sym")
    (component-library "../gschem-sym/transistors")

    Более Ñовременные верÑии gEDA (Ñ 1.7.2) позволÑÑŽÑ‚ указать только одну команду Ð´Ð»Ñ Ð´Ð¾ÑÑ‚Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñтого:

    (component-library-search "../gschem-sym") 

    ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñ€ÐµÐºÑƒÑ€Ñивно проÑканирует вÑе подкаталоги Ð´Ð»Ñ Ñимвольных библиотек. Дальнейшие подробноÑти наÑтройки программ gEDA Ñм. в РуководÑтве Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ gEDA gschem.

  • ЕÑли хочетÑÑ Ð±Ð¾Ð»ÐµÐµ детальной наÑтройки gschem и gnetlist, можно переопределить и другие начальные уÑтановки, заданные в глобальных rc-файлах. Ð’ Debian, чтобы узнать, что можно наÑтроить, поÑмотрите rc-файлы в /etc/gEDA/. Мне, например, нравитÑÑ Ñветлый фон в gschem, поÑтому Ñ Ð¿Ñ€Ð¾Ð¿Ð¸Ñываю в Ñвой ~/.gEDA/gschemrc Ñтроку:
    (load (build-path geda-rc-path "gschem-colormap-lightbg")) ; light background
  • ÐаÑтройка pcb: обычно пакет pcb наÑтроен так, что pcb автоматичеÑки Ñмотрит в подкаталог packages в рабочем каталоге. ПоÑтому, Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾ чтобы Ñта программа находила вÑе Ñлементы, лежащие у Ð¼ÐµÐ½Ñ Ð² каталоге gaf/pcb-elements, в каждом из каталогов Ñвоих проектов Ñ Ð´ÐµÐ»Ð°ÑŽ на него ÑÑылку. Заметьте, что на Ñамом деле Ñта ÑÑылка при иÑпользовании gsch2pcb не обÑзательна, потому что, как будет показано ниже, альтернативно каталог pcb-elements можно пропиÑать в файле проекта. Ðо еÑли вы хотите такую ÑÑылку Ñделать, перейдите в каталог gaf/myproject1 и введите команду:
    ln -s ../pcb-elements packages
  • ÐаÑтройка gsch2pcb: Ð’ каждом из каталогов Ñвоих проектов Ñоздайте Ð´Ð»Ñ gsch2pcb файл проекта, который можно называть как угодно, лишь бы Ð¸Ð¼Ñ Ð½Ðµ оканчивалоÑÑŒ на .sch. Файл проекта мы Ñоздадим в примере ниже.

Вот и вÑе наÑтройки, которые нужны поÑле иÑходной уÑтановки пакетов gschem, gsch2pcb и pcb.

ПроÑтой пример

Давайте наÑтолько быÑтро, наÑколько Ñто возможно, разработаем проÑтой проект, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð¿Ñ€Ð¸Ð½Ñ†Ð¸Ð¿Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð¹ Ñхемы и Ð·Ð°ÐºÐ°Ð½Ñ‡Ð¸Ð²Ð°Ñ Ñозданием топологии печатной платы, и затем его можно будет иÑпользовать как оÑнову Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ Ñерьёзных вещей. Я Ñразу немного уÑложню Ñтот проект, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð² нём две принципиальных Ñхемы.

Предположим, вы уже наÑтроили Ñтруктуру каталогов, как опиÑано выше. Теперь перейдите в каталог gaf/myproject1 и Ñоздайте файл project, Ñодержащий Ñледующее:

schematics one.sch two.sch
output-name board

Создание Ñхемы one.sch

ЕÑли вы в gschem впервые, попробуйте Ñделать проÑтую разминку в gschem.

one.sch ЗапуÑтите gschem one.sch и Ñоздайте Ñту Ñхему (на Ñамом деле второй операционный уÑилитель здеÑÑŒ лишний, но ведь Ñто проÑто учебник):

  • Откройте диалоговое окно выбора компонентов (нажмите клавишу I)
  • УбедитеÑÑŒ, что в выпадающем меню внизу диалогового окна уÑтановлено Поведение по умолчанию – ÑÑылка на компонент.
  • Добавьте компоненты:
    • Из библиотеки Basic devices три Ñимвола resistor-1.sym и два dual-opamp-1.sym.
    • Из библиотеки Input/Output один output-2.sym.
    • Из библиотеки Power rails один gnd-1.sym, два vcc-1.sym и два vee-1.sym
  • РазмеÑтите компоненты Ñредней кнопкой мыши и поверните некоторые из них, выделив и нажав клавиши ER, чтобы вÑÑ‘ выглÑдело краÑиво. Поверните нижний операционный уÑилитель и зеркально отразите его, нажав EI.
  • С помощью клавиши N и мыши начертите ÑоединениÑ.

Ð‘Ð¾Ð»ÑŒÑˆÐ°Ñ Ñ€Ð°Ð¼ÐºÐ° оÑновной надпиÑи также ÑвлÑетÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð¼. Ð”Ð»Ñ ÑƒÐ´Ð¾Ð±Ñтва она заблокирована, чтобы предотвратить поÑтоÑнный захват её мышью. Чтобы разблокировать рамку, выделите её перемещением мыши, ÑƒÐ´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ Ð»ÐµÐ²ÑƒÑŽ кнопку нажатой, а затем нажмите E - Shift+L. Ð’ библиотеке Titleblocks можно найти рамки оÑновной надпиÑи различных размеров. Запомните, чтобы заблокировать новую рамку, её нужно выделить и нажать EL.

Редактирование атрибутов компонентов в Ñхеме

one.sch Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из компонентов нужно Ñделать Ñледующее: выделить его и вызвать окно атрибутов нажатием клавиш EE. Ðтрибут refdes здеÑÑŒ менÑть не надо, а Ñделайте вот что:

  • Ð”Ð»Ñ Ñ€ÐµÐ·Ð¸Ñторов и операционных уÑилителей добавьте видимые атрибуты value и уÑтановите Ð´Ð»Ñ Ð½Ð¸Ñ… подходÑщие Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ (10K, TL072). РаÑÑтавьте их Ñредней кнопкой мыши покраÑивее. ЕÑли трудно их выбрать, увеличьте маÑштаб и опÑть дейÑтвуйте Ñредней кнопкой.
  • Ð”Ð»Ñ Ñ€ÐµÐ·Ð¸Ñторов добавьте атрибуты footprint и уÑтановите их Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² R025 — Ñто m4-Ñлемент в pcb Ð´Ð»Ñ 0,25-ваттных резиÑторов. Сделайте Ñти атрибуты невидимыми.
  • Ð”Ð»Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ñ… уÑилителей измените уже ÑущеÑтвующие атрибуты footprint на DIL 8 300. Да, пробелы здеÑÑŒ нужны, так как DIL ÑвлÑетÑÑ m4-Ñлементом, принимающим два аргумента. Мы говорим ему Ñделать двухÑторонний ÐºÐ¾Ñ€Ð¿ÑƒÑ DIL Ñ 8 выводами шириной 300 милов. Измените атрибут slot второго операционного уÑÐ¸Ð»Ð¸Ñ‚ÐµÐ»Ñ Ð½Ð° 2. Ðомера его выводов Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ð¾Ð²/выходов должны изменитьÑÑ Ñ (1,2,3) на (5,6,7).
  • Ð”Ð»Ñ Ñимвола выходного порта уÑтановите атрибут net в vmixer:1 и Ñделайте его видимым. Ðтрибут value Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ уÑтановите в Vmixer.

Может быть вам показалоÑÑŒ, что вот так редактировать Ñхемы Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð¼ количеÑтвом компонентов, не имеющих приемлемых иÑходных значений атрибутов, очень Ñ‚Ñжело. Ðо еÑть пара ÑпоÑобов облегчить Ñтот труд, по крайней мере в отношении поÑадочных меÑÑ‚. Можно Ñоздать Ñвою библиотеку Ñимволов Ñ Ñ‚Ð°ÐºÐ¸Ð¼Ð¸ иÑходными значениÑми атрибутов footprint (и даже value), которые подходÑÑ‚ Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð½Ñтва ваших задач. Или при добавлении первого компонента Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ Ñразу надо задавать подходÑщий корпуÑ, а затем копировать его (выделить компонент и нажать EC), а не добавлÑть оÑтальные компоненты из библиотеки.

Так или иначе, пока мы закончили Ñо Ñхемой one.sch, так что Ñохраните её, выбрав в меню Файл → Сохранить Ñтраницу, и выйдите из gschem.

Создание Ñхемы two.sch

Это будет на Ñамом деле проÑто и глупо, так как здеÑÑŒ она нужна только Ð´Ð»Ñ Ð´ÐµÐ¼Ð¾Ð½Ñтрации возможноÑти работы Ñ Ð½ÐµÑколькими Ñхемами. two.sch ЗапуÑтите gschem two.sch:

  • Добавьте компонент title-B.sym таким же образом, как добавлÑли в one.sch.
  • Добавьте компоненты:
    • Из библиотеки Input/Output один input-2.sym.
    • Из библиотеки Basic Devices один resistor-1.sym.
    • Из библиотеки Transistors один 2N3904-1.sym.
    • Из библиотеки Power rails один gnd-1.sym, один vcc-1.sym и один vee-1.sym.
    • Из библиотеки Connectors один BNC-1.sym.
  • РазмеÑтите компоненты и начертите ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÐºÐ°Ðº и прежде.
  • Отредактируйте атрибуты компонентов:
    • Входной порт: измените атрибут net так, чтобы он был невидимым и имел значение vmixer:1, так что Ñто Ñоединение будет подключено к vmixer в one.sch. УÑтановите атрибут value в Vmixer.
    • РезиÑтор: уÑтановите Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ невидимый атрибут footprint в R025 и видимый атрибут value в 10K.
    • ТранзиÑтор: добавьте атрибут value Ñо значением 2N3904 и невидимый атрибут footprint Ñо значением TO92.
    • BNC-коннектор: добавьте невидимый атрибут footprint CONNECTOR 2 1, что определÑет m4-Ñлемент, принимающий аргументы, и мы говорим ему Ñделать Ñоединитель Ñ Ð´Ð²ÑƒÐ¼Ñ Ñ€Ñдами и одним Ñтолбцом. Ð¥Ð¾Ñ‚Ñ Ð² принципиальной Ñхеме у Ð½Ð°Ñ BNC-коннектор, но на Ñамом деле пуÑть он будет Ñмонтирован на панели, а на плате будет фронтальный Ñоединитель, Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ мы и кинем на него провода.

К Ñожалению, неотъемлемой чаÑтью добавленного нами Ñимвола 2N3904 ÑвлÑетÑÑ Ð²Ð¸Ð´Ð¸Ð¼Ñ‹Ð¹ текÑÑ‚ «2N3904». ПоÑтому, когда мы добавлÑем атрибут value (нужный нам Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы на топологичеÑкой Ñхеме отображалиÑÑŒ ÑоответÑтвующие значениÑ), на нашей принципиальной Ñхеме видны два обозначениÑ, еÑли не Ñделать атрибут value невидимым. Это нехорошо и в данном примере нам придётÑÑ ÑмиритьÑÑ Ñ Ñтим, но учтите, что в большинÑтве Ñлучаев намертво прибивать информацию к Ñимволам — не очень Ñ…Ð¾Ñ€Ð¾ÑˆÐ°Ñ Ð¸Ð´ÐµÑ. Кроме того, атрибут device по умолчанию ошибочен и должен иметь значение NPN_TRANSISTOR, но Ñто не влиÑет на наше изложение. Это так, Ð´Ð»Ñ ÑведениÑ, что ÑÐµÐ¹Ñ‡Ð°Ñ Ð² gschem еÑть Ñимволы, переноÑÑщие из Ñтарых верÑий gschem в новые уÑтаревшие методы работы Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¼Ð¸. ЕÑли вам придётÑÑ Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ñ‚ÑŒ Ñ Ñтими Ñхемами в SPICE, Ñимволы должны иметь правильные атрибуты device.

Теперь мы закончили Ñ Ð¿Ñ€Ð¸Ð½Ñ†Ð¸Ð¿Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ Ñхемами, лишь не определили атрибуты refdes, и можем воÑпользоватьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ refdes_renum, чтобы Ñделать Ñто Ð´Ð»Ñ Ð¾Ð±ÐµÐ¸Ñ… Ñхем Ñразу. Итак, Ñохраните two.sch, выйдите из gschem и запуÑтите:

refdes_renum --pgskip one.sch two.sch

Откройте Ñхемы в gschem Ñнова и поÑмотрите, какие Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ‚ÐµÐ¿ÐµÑ€ÑŒ заданы атрибутам refdes компонентов. Ключ --pgskip уÑтанавливает начало нумерации в 101 Ð´Ð»Ñ one.sch и в 201 Ð´Ð»Ñ two.sch. Вам Ñледует знать однако, что запуÑк refdes_renum на Ñамом деле полезен только Ð´Ð»Ñ Ð¿ÐµÑ€Ð²Ð¾Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾Ð¹ нумерации. ЕÑли позже вы Ñтанете менÑть Ñвои Ñхемы, добавлÑть или удалÑть компоненты, никто не даÑÑ‚ гарантии, что при повторном запуÑке refdes_renum компоненты ÑохранÑÑ‚ ÑущеÑтвующие Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ refdes. ЕÑли тем временем вы Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gsch2pcb уже Ñоздали печатную плату, Ñта путаница Ñ Ð½Ð¾Ð¼ÐµÑ€Ð°Ð¼Ð¸ позиционных обозначений приведёт к неÑоответÑтвию ваших принципиальных Ñхем топологии печатной платы. ПоÑтому поÑле того как вы один раз запуÑтите refdes_renum и начнёте заниматьÑÑ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¾Ð¹ топологии печатной платы, Ð´Ð»Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑти (уникальные) атрибуты refdes Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из добавлÑемых компонентов лучше задавать вручную. Также учтите, что refdes_renum может пронумеровать ваши резиÑторы не так, как получилоÑÑŒ здеÑÑŒ в моём примере, Ñто завиÑит от порÑдка их добавлениÑ. Имейте Ñто в виду, ÑÑ€Ð°Ð²Ð½Ð¸Ð²Ð°Ñ Ñвою окончательную топологию Ñ Ñ‚Ð¾Ð¹, которую увидите на приведённых ниже риÑунках.

Создание pcb-файлов из принципиальных Ñхем

Прежде чем мы Ñможем продолжить, в one.sch нужно кое-что иÑправить. ЗапуÑтите gschem one.sch и обратите внимание, что программа refdes_renum уÑтановила Ð´Ð»Ñ Ð½Ð°ÑˆÐ¸Ñ… операционных уÑилителей Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ refdes в U101 и U102, не подумав, да и откуда она знает, что на Ñамом деле мы хотим иÑпользовать два операционных уÑÐ¸Ð»Ð¸Ñ‚ÐµÐ»Ñ Ð² одном корпуÑе TL072. Ð”Ð»Ñ Ñ‚Ð¾Ð³Ð¾-то мы и редактировали атрибут slot второго операционного уÑилителÑ. Ðам нужно вернутьÑÑ Ð¸ иÑправить атрибут refdes второго уÑÐ¸Ð»Ð¸Ñ‚ÐµÐ»Ñ Ð½Ð° U101, чтобы у обоих уÑилителей он был одинаков и на нашей печатной плате был только один ÐºÐ¾Ñ€Ð¿ÑƒÑ TL072.

Теперь, когда файл project Ð´Ð»Ñ gsch2pcb уже наÑтроен, вÑÑ‘ что нам надо Ñделать Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¸Ñходного набора pcb-файлов, Ñто запуÑтить gsch2pcb:

~/gaf/myproject1$ gsch2pcb project
0 file elements and 7 m4 elements added to board.pcb.

Сообщение глаÑит: «0 файловых Ñлементов и 7 m4-Ñлементов добавлено к board.pcb». Так как в файле проекта output-name уÑтановлено в board, то Ñоздаваемые pcb-файлы называютÑÑ board.pcb и board.net.

Внимание: более Ñовременный Ñовет — Ñначала Ñоздать пуÑтую плату в pcb, а затем при каждом запуÑке gsch2pcb в топологии будут производитьÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ, как опиÑано ниже (в разделе Изменение Ñхем). СмыÑл в том, что в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ ÑƒÑтановки по умолчанию Ð´Ð»Ñ gsch2pcb Ñовершенно отличаютÑÑ Ð¾Ñ‚ таковых Ð´Ð»Ñ pcb, и по общему мнению Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð½Ñтва Ñлучаев ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸Ñ pcb лучше. Ðо еÑть одно «но»: еÑли вы Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ pcb2panel компонуете из неÑкольких топологичеÑких Ñхем одну на одной плате, то еÑли платы ÑоздавалиÑÑŒ Ñ Ð²Ð¸Ð½ÐµÐ³Ñ€ÐµÑ‚Ð¾Ð¼ из умолчаний gsch2pcb и (Ñовременной) программы pcb без Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтека Ñлоёв, которое может требовать дополнительной работы, вы получите непригодные результаты. (mjm, Aug 2008)

ЕÑли gsch2pcb говорит вам что-то вроде: 2 unknown elements added to board.pcb. (2 неизвеÑтных Ñлемента добавлено к board.pcb), запуÑтите программу Ñ Ñ„Ð»Ð°Ð³Ð¾Ð¼ -v: gsch2pcb -v project и вывод gsch2pcb подÑкажет вам, какие компоненты в Ñхеме не имеют извеÑтного footprint. Либо вы забыли добавить данный атрибут, либо его значение неправильно, либо pcb-Ñлемент Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ отÑутÑтвует в уÑтановленных библиотеках. Ðо еÑли gsch2pcb вообще не может найти ни одного Ñлемента и вÑе 7 неизвеÑтны, то, вероÑтно, gsch2pcb не может найти каталог уÑтановки ваших m4-Ñлементов Ð´Ð»Ñ pcb. Ð’ таком Ñлучае поÑмотрите первую чаÑть раздела ÐеÑтандартные m4-Ñлементы.

Разработка топологии в pcb-файлах

УÑтановка умолчаний

pcb, шаг 1ЗапуÑтите pcb board.pcb. Ð’Ñ‹ увидите большую кучу pcb-Ñлементов, заданных в атрибутах footprint компонентов Ñхемы. Это нормально, позже мы приведём вÑÑ‘ Ñто в порÑдок.

Когда вы открываете pcb-файл в pcb первый раз, нужно наÑтроить разные иÑходные значениÑ. Обычно Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐµÐ¹ чаÑти работы по разводке Ñ Ñначала уÑтанавливаю шаг Ñетки в 25 милов из меню Вид → Шаг Ñетки → 25 милов, а затем, еÑли где-нибудь понадобитÑÑ Ð±Ð¾Ð»ÐµÐµ Ð¿Ð»Ð¾Ñ‚Ð½Ð°Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ°, изменÑÑŽ его на меньшие значениÑ. Обратите внимание, что еÑли единицами Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ Ñделать миллиметры Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Вид → Единицы Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ Ñетки → мм, то вмеÑто милов в меню Вид → Шаг Ñетки будет Ñ€Ñд вариантов размеров в миллиметрах. Между миллиметрами и милами можно переключатьÑÑ Ð² любое времÑ.

Ещё нужно задать ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð² линий и отверÑтий в ÑтилÑÑ… разводки Сигналы, Питание, ТолÑтый и Тонкий. Чтобы задать Ñти размеры, надо проÑто выбрать один из Ñтих Ñтилей в нижнем левом углу окна pcb и нажать кнопку Стиль траÑÑировки. Размер Ñвоей платы можно уÑтановить ÑейчаÑ, а можно отложить на потом, занÑвшиÑÑŒ работой над топологией. Чтобы изменить размер платы, откройте окно Файл → ÐаÑтройки… и выберите Ñтраницу Размеры. Ð’ Ñтом окне можно поменÑть и другие значениÑ, например, Ð¿Ñ€Ð¸Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ на ÑоответÑтвие проектным нормам. Чтобы узнать, что Ñто такое, вам Ñледует проÑмотреть документацию по pcb. И может быть вам покажетÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾Ð¹ уÑтановка Вид → Отображать Ñетку.

РаÑпределение компонентов

Шаг 2 Берите Ñлементы Ñредней кнопкой мыши и раÑÑтавлÑйте по одному, пока их вÑе не разнеÑёте.

Можно и Ñамой программе pcb позволить разнеÑти Ñлементы Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Выделение → РаÑпределить вÑе Ñлементы, а потом уже вручную подкорректировать их положение.

Загрузка ÑпиÑка Ñоединений

Шаг 3

  • Откройте Файл → Загрузить ÑпиÑок Ñоединений и выберите board.net
  • ЗапуÑтите Ð¡Ð¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ â†’ Оптимизировать линии ÑвÑзи. Теперь выводы и контактные площадки компонентов должны ÑоединÑтьÑÑ Ð¿Ñ€Ñмыми линиÑми — линиÑми ÑвÑзи — в ÑоответÑтвии Ñо Ñхемой.

Ð”Ð»Ñ ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ Ð±ÐµÑпорÑдка pcb пытаетÑÑ Ð½Ð°Ñ‡ÐµÑ€Ñ‚Ð¸Ñ‚ÑŒ линии ÑвÑзи Ð´Ð»Ñ Ñложных Ñоединений так, чтобы их ÑÑƒÐ¼Ð¼Ð°Ñ€Ð½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° была наименьшей. Попробуйте перетащить Ñлемент на другую Ñторону рабочей облаÑти. Линии ÑвÑзи будут Ñледовать за ним как резиновые, но их концы не будут перепрыгивать на другие узлы, Ñ…Ð¾Ñ‚Ñ Ð¿Ñ€Ð¸ Ñтом Ð¾Ð±Ñ‰Ð°Ñ Ð´Ð»Ð¸Ð½Ð° и могла бы Ñтать меньше. Перепрыгнуть линии ÑвÑзи, Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Â«Ð»ÑƒÑ‡ÑˆÐµÐ¹Â» геометрии, заÑтавит дейÑтвие Оптимизировать линии ÑвÑзи. Ð’ любое Ð²Ñ€ÐµÐ¼Ñ ÐµÐ³Ð¾ легко запуÑтить, нажав клавишу O.

Компоновка

Шаг 4Теперь линии ÑвÑзи нужно заменить дорожками, которые можно будет протравить на медной поверхноÑти платы. Обычно поÑле РаÑпределить вÑе Ñлементы линии ÑвÑзи раÑположены беÑпорÑдочно и чаÑто переÑекаютÑÑ. Попробуйте раÑпутать как можно больше Ñтих линий перемещением и поворотом компонентов. Ключ к хорошо разведённой печатной плате — правильное размещение компонентов. Ð¥Ð¾Ñ‚Ñ pcb и пытаетÑÑ Ð¿Ñ€Ð¸Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ линии ÑвÑзи в порÑдок, будет хорошо, еÑли вы привыкнете при размещении компонентов Ð²Ñ€ÐµÐ¼Ñ Ð¾Ñ‚ времени их оптимизировать, Ð½Ð°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÑƒ O.

Выберите инÑтрумент ROT (F9), позволÑющий Ñредней кнопкой мыши перемещать Ñлементы, а левой — поворачивать. Правой кнопкой при увеличенном маÑштабе можно Ñмещать облаÑть проÑмотра в пределах рабочей облаÑти окна. Попробуйте увеличить и уменьшить маÑштаб колёÑиком мыши или клавишами Z и Shift+Z. Ðаведите курÑор мыши на вывод и нажмите клавишу F, чтобы подÑветить объекты, каÑающиеÑÑ Ñтого вывода и получше раÑÑмотреть дорожки. Попробуйте убрать подÑветку, нажав Shift+F. Ð’ любое Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ отменить, нажав U.

Обратите внимание: вмеÑто того, чтобы вручную размещать компоненты (или разноÑить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ команд Выделение → РаÑпределить …), как опиÑано выше, можно иÑпользовать возможноÑть Ð°Ð²Ñ‚Ð¾Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² pcb. Ð”Ð»Ñ Ñтого нужно загрузить ÑпиÑок Ñоединений, выбрать компоненты Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкого Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ (еÑли Ñто первый запуÑк pcb, проÑто Выделение → Выделить вÑе видимые объекты), затем выбрать Выделение → Ðвторазмещение выделенных Ñлементов. ПоÑле Ñтого можно Ñнова подкорректировать Ñозданную программой раÑÑтановку вручную. Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° раÑÑтавить Ñлементы более разумно, чем Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ñ€Ð°ÑпределениÑ, но когда Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð³Ð¸Ñ Ñ€Ð°Ð·Ñ€Ð°ÑтаетÑÑ, она работает намного медленнее.

Замещение линий ÑвÑзи дорожками

Шаг 5 Теперь можно начать траÑÑировку — разводку дорожек между выводами, Ñоединёнными линиÑми ÑвÑзи. Ðа левой панели инÑтрументов pcb выберите инÑтрумент LINE, выберите Ñлой, на котором хотите чертить (solder – Ñлой пайки, component – Ñлой компонентов, и Ñ‚. д.), и начните чертить линии, Ð²Ñ‹Ð±Ð¸Ñ€Ð°Ñ ÐºÐ¾Ð½ÐµÑ‡Ð½Ñ‹Ðµ точки левой кнопкой мыши. Отметим ещё раз, клавиша F поможет вам найти дорожки, которые нужно Ñоединить. ЕÑли вы хотите оÑтановить текущую дорожку, чтобы начать чертить новую где-то в другом меÑте, закончите её щелчком Ñредней кнопки мыши. Можно поигратьÑÑ Ð·Ð´ÐµÑÑŒ и Ñ Ð°Ð²Ñ‚Ð¾Ñ‚Ñ€Ð°ÑÑировкой.

Очень полезное дейÑтвие инÑтрумента SEL — выделение неÑкольких объектов Ñ Ð¿Ð¾Ñледующим вырезанием или копированием их в буфер обмена из меню Правка → Вырезать выделение в буфер (или Правка → Копировать выделение в буфер). Содержимое буфера можно Ñ‚Ð¾Ñ‚Ñ‡Ð°Ñ Ð¶Ðµ вÑтавить или отменить текущую вÑтавку выбором другого инÑтрумента. Содержимое буфера можно вÑтавить потом в любое Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð· меню Буфер → Ð’Ñтавить из буфера. Таким образом можно перемещать облаÑти топологии или переходить в другое меÑто и повторÑть общие шаблоны дорожек. Чтобы выбрать неÑколько объектов инÑтрументом SEL, надо нажав кнопку мыши выделить нужную облаÑть, потом нажав Shift и Ñ‰Ñ‘Ð»ÐºÐ°Ñ Ð¼Ñ‹ÑˆÑŒÑŽ можно добавлÑть объекты к уже выделенным.

Когда разводка дорожек закончена (еÑли при очередной оптимизации линий ÑвÑзи вÑе дорожки разведены, pcb Ð²Ð°Ñ Ð¿Ð¾Ð·Ð´Ñ€Ð°Ð²Ð¸Ñ‚ Ñ Ñтим), плата может выглÑдеть примерно так, как показано здеÑÑŒ. Ð”Ð»Ñ Ñ‚Ð°ÐºÐ¾Ð³Ð¾ вида Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð» Вид → Отображаемое название Ñлемента → Значение).

Вам, вероÑтно, хочетÑÑ Ð¸Ð¼ÐµÑ‚ÑŒ больше информации по иÑпользованию pcb и в tar-архиве иÑходных текÑтов pcb еÑть комплект документации в формате HTML. Я не знаю, на что здеÑÑŒ ÑоÑлатьÑÑ, но Ñо Ñтраницы Разработка pcb можно Ñкачать поÑледний tar-архив. Файлы документации могут быть уÑтановлены где-то и в вашей ÑиÑтеме. Ð’ Debian они уÑтанавливаютÑÑ Ð¸Ð· пакета в /usr/share/doc/pcb/html/. Ð’ pcb еÑть ещё и ÑƒÐ´Ð¾Ð±Ð½Ð°Ñ Â«Ð°ÐºÑ‚Ð¸Ð²Ð½Ð°Ñ» документациÑ, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ которой можно познакомитьÑÑ Ñ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸ÐµÐ¼ клавиш или вводимыми Ñ ÐºÐ»Ð°Ð²Ð¸Ð°Ñ‚ÑƒÑ€Ñ‹ командами. Откройте меню Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ â†’ Ðазначение клавиш и вы, вероÑтно, обнаружите, что проÑто Ñ‡Ð¸Ñ‚Ð°Ñ Ð¾Ð± имеющихÑÑ Ð¿Ñ€Ð¸Ð²Ñзках клавиш можно научитьÑÑ Ð¼Ð½Ð¾Ð³Ð¾Ð¼Ñƒ из того, что можно делать в pcb. ЕÑли в окне Файл → ÐаÑтройки… вы выбрали ИÑпользовать отдельное окно Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð° команд, то затем, когда откроете окно команд через Окно → Ввод команды (или клавишей :), вы увидите Ñтрелку и надпиÑÑŒ Справка по командам. Щёлкните на Ñтрелку и откроетÑÑ Ñправка по некоторым командам, которые здеÑÑŒ можно набрать и Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… могут отÑутÑтвовать пункты меню или привÑзки клавиш.

Скажем, например, вы задали на Ñтранице ÐаÑтройки… → ÐŸÑ€Ð¸Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€ приращений равный 5 милов. С такой наÑтройкой можно выбрать неÑколько линий и затем увеличить их ширину на 5 милов из меню Выделение → Изменить размер выделенных объектов → Линии +5 милов. Ðо предположим, Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ñ‹ хочетÑÑ Ð¼ÐµÐ½Ñть произвольно, а каждый раз ÐаÑтройки… менÑть неудобно. Тогда можно выбрать неÑколько линий, открыть окно команды (нажатием :) и ввеÑти команду:

changesize(selectedlines, +3, mils)

и выбранные линии увеличатÑÑ Ð½Ð° 3 мила. Эта команда теперь в ÑпиÑке иÑтории, её можно вызвать повторно и быÑтро отредактировать в окне команды, подÑтавив нужные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð².

ПоÑмотрим на другую Ñторону платы

Ð”Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… разработок важно раÑполагать компоненты на обеих Ñторонах платы, Ñ…Ð¾Ñ‚Ñ Ð² предшеÑтвующем примере Ñто нам и не нужно. Ð’ таких ÑлучаÑÑ… клавишей Tab плату можно перевернуть Ñверху вниз и поÑмотреть на неё Ñзади, в то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº клавишей B выделенный компонент можно перемеÑтить на противоположную Ñторону платы. Ð”Ð»Ñ Ð´Ð²ÑƒÑ…Ñторонних плат также важно учитывать, на какой Ñтороне находитÑÑ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ñ‹Ð¹ Ñлой дорожек. Это можно поÑмотреть и наÑтроить в диалоговом окне Файл → ÐаÑтройки… → Слои → Группы. Слои Ñтороны component будут находитьÑÑ Ð½Ð°Ð²ÐµÑ€Ñ…Ñƒ платы, Ñлои Ñтороны solder — внизу. Ð’ Ñтом окне нужно обеÑпечить, чтобы вÑе Ñлои, которые будут производитьÑÑ Ð·Ð° один шаг (Ñ‚. е. протравливатьÑÑ Ñ„Ð¾Ñ‚Ð¾Ð»Ð¸Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑким методом), были Ñгруппированы вмеÑте.

Изменение Ñхем

ПроцеÑÑ Ð¿ÐµÑ€ÐµÐ½Ð¾Ñа изменений принципиальной Ñхемы в топологию pcb Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gsch2pcb очень проÑÑ‚. ПоÑле того как Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gsch2pcb Ñоздан иÑходный файл board.pcb, вÑÑкий раз, когда в Ñхемы вноÑÑÑ‚ÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² gschem, нужно запуÑкать gsch2pcb project. Затем надо будет запуÑтить pcb board.pcb и выполнить необходимые шаги в завиÑимоÑти от дейÑтвий программы gsch2pcb. Каждый раз при запуÑке gsch2pcb проиÑходит Ñледующее:

  • gsch2pcb вÑегда Ñоздаёт новый ÑпиÑок Ñоединений board.net. ЕÑли ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»Ð¸ÑÑŒ, загрузите Ñтот файл поÑле запуÑка pcb.
  • ЕÑли вы добавили в Ñхему компоненты (Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¼Ð¸ footprint), gsch2pcb ÑоздаÑÑ‚ файл board.new.pcb, Ñодержащий вÑе новые pcb-Ñлементы, ÑоответÑтвующие Ñтим атрибутам. Затем запуÑтите pcb board.pcb и загрузите board.new.pcb Ñ Ð½Ð¾Ð²Ñ‹Ð¼Ð¸ Ñлементами в ÑущеÑтвующую топологию Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Файл → Загрузить топологию в буфер обмена. РазмеÑтите новые Ñлементы, загрузите новый ÑпиÑок Ñоединений и проведите новые дорожки.
  • ЕÑли вы удалили компоненты из Ñхемы, gsch2pcb удалит ÑоответÑтвующие pcb-Ñлементы из board.pcb. Вам нужно только запуÑтить pcb board.pcb и убрать виÑÑщие дорожки, оÑтавшиеÑÑ Ð¾Ñ‚ удалённых Ñлементов.
  • ЕÑли вы изменили атрибут footprint ÑущеÑтвующего компонента, gsch2pcb удалит ÑоответÑтвующий ему Ñтарый Ñлемент из board.pcb и добавит новый Ñлемент к board.new.pcb.
  • ЕÑли вы изменили атрибуты value компонентов Ñхемы, изменённые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ внеÑены непоÑредÑтвенно в файл board.pcb.

Итак, при иÑпользовании gsch2pcb вÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ pcb-Ñлементов приводÑÑ‚ÑÑ Ð² дейÑтвие изменениÑми в принципиальных Ñхемах и Ñлементы Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² никогда не нужно добавлÑть или удалÑть вручную.

Однако pcb-Ñлементы, не ÑвлÑющиеÑÑ Ñ‡Ð°Ñтью Ñхем, такие как отверÑÑ‚Ð¸Ñ Ð´Ð»Ñ ÐºÑ€ÐµÐ¿ÐµÐ¶Ð° печатной платы, вÑÑ‘ же придётÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»Ñть вручную. При Ñтом надо обеÑпечить, чтобы таким, добавленным вручную, pcb-Ñлементам никогда не задавалоÑÑŒ Ðазвание на плате, так как оно зарезервировано Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ атрибутов refdes компонентов принципиальной Ñхемы и gsch2pcb захочет удалить Ñлементы Ñ Ð½ÐµÐ¿ÑƒÑтым Ðазванием на плате, не ÑоответÑтвующие ни одному из значений refdes компонентов Ñхемы.

До Ñих пор Ð´Ð»Ñ Ð½Ð°ÑˆÐµÐ¹ платы мы иÑпользовали только m4-Ñлементы, теперь давайте изменим Ñхему и попробуем работать Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ñ‹Ð¼Ð¸ Ñлементами. Ðо Ñначала хорошо бы познакомитьÑÑ Ñ Ñлементами, предлагаемыми в pcb по умолчанию. Ð’ завиÑимоÑти от меÑта уÑтановки вашей pcb у Ð²Ð°Ñ Ð±ÑƒÐ´ÐµÑ‚ каталог /usr/local/share/pcb/newlib, /usr/share/pcb/newlib или возможно какой-то ещё (Ñто завиÑит от префикÑа, указанного при уÑтановке pcb). Ð’ верÑиÑÑ… pcb до 20031113 вмеÑто библиотеки newlib иÑпользовалаÑÑŒ pcb_lib, путь доÑтупа к которой /usr/local/pcb_lib или /usr/lib/pcb_lib. Когда вы найдёте у ÑÐµÐ±Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ newlib, взглÑните на имена файлов в его подкаталогах. Каждое из Ñтих имён может иÑпользоватьÑÑ ÐºÐ°Ðº значение атрибута footprint Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² в принципиальной Ñхеме. Ðапример, имеетÑÑ Ñ„Ð°Ð¹Ð» xxx/newlib/2_pin_thru-hole_packages/0.125W_Carbon_Resistor, так что еÑли бы мы на Ñвоей плате захотели иÑпользовать 0,125-ваттные резиÑторы, атрибут footprint резиÑтора можно было бы уÑтановить в 0.125W_Carbon_Resistor вмеÑто R025. Попробуйте изменить, Ñкажем, резиÑтор R101 в one.sch, задав Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ 0.125W_Carbon_Resistor, а затем запуÑтите gsch2pcb project. ЕÑли gsch2pcb не находит такого Ñлемента, значит в Ñвой файл project вам нужно добавить путь доÑтупа к каталогу newlib примерно такой Ñтрокой:

elements-dir /usr/lib/newlib

ЕÑли gsch2pcb найдёт его, вы получите:

~/gaf/myproject1$ gsch2pcb project
board.pcb is backed up as board.pcb.bak1.
1 elements deleted from board.pcb.
1 file elements and 0 m4 elements added to board.new.pcb.

Теперь нужно запуÑтить pcb board.pcb. Ð’Ñ‹ увидите, что Ñлемент Ð´Ð»Ñ Ñ€ÐµÐ·Ð¸Ñтора R101 пропал1) и при загрузке board.new.pcb из меню Файл → Загрузить топологию в буфер обмена поÑвитÑÑ Ð½Ð¾Ð²Ñ‹Ð¹ Ñлемент.

ÐеÑтандартные Ñимволы Ð´Ð»Ñ gschem

Обычным ÑпоÑобом ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñвоих неÑтандартных Ñимволов ÑвлÑетÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ ÑущеÑтвующих. Что мне не нравитÑÑ Ð² иÑпользуемом нами dual-opamp-1.sym, так Ñто то, что выводы Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÑÑŽÑ‚ÑÑ Ð½Ð° каждом Ñимволе. Ð¥Ð¾Ñ‚Ñ ÐºÐ¾Ð¼Ñƒ-то может Ñто и нравитÑÑ, мне кажетÑÑ, что при Ñтом Ñтраница, Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ñ… уÑилителей, выглÑдит Ñлегка хаотично. Это предоÑтавлÑет нам неплохую возможноÑть изучить атрибуты net в данном руководÑтве. К Ñимволам в gschem можно прикреплÑть атрибуты net, которые привÑзывают выводы к конкретным ÑоединениÑм. ВмеÑто Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² 8 каждого операционного уÑÐ¸Ð»Ð¸Ñ‚ÐµÐ»Ñ Ðº Vcc, а выводов 4 к Vee в Ñхеме, можно Ñделать так, что Ñто будет производитьÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки, и Ñти выводы из Ñхемы убрать. Ð”Ð»Ñ Ñтого проÑто Ñкопируйте файл иÑходного Ñимвола в каталог Ñвоих Ñимволов Ð´Ð»Ñ gschem, задав ему новое имÑ, и отредактируйте его. Выполните шаги, опиÑанные ниже. (Каталог уÑтановки Ñимволов gEDA может быть у Ð²Ð°Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼, например, /usr/local/share/gEDA/sym/):

УÑтановка видимоÑти атрибутов

Шаг 1

cd /usr/share/gEDA/sym/analog/
cp dual-opamp-1.sym ~/gaf/gschem-sym/opamp-dual.sym
cd ~/gaf/gschem-sym
gschem opamp-dual.sym
  • Ðажмите клавиши EN, чтобы атрибуты было видно.
  • Ðажмите клавиши VE, чтобы увидеть вÑÑŽ Ñхему целиком.
  • Выделите вывод 8 щелчком левой кнопки мыши по нему.
Удаление видимых выводов питаниÑ

Шаг 2

  • Удалите вывод 8 нажатием клавиши Delete.
  • Подобным образом выделите и удалите вывод 4.
  • Дважды щелкните по Ñтрокам slotdef, чтобы выбрать и изменить их. Удалите из них выводы 4 и 8.
Добавление глобальных Ñоединений в чиÑловом виде

Шаг 3Из меню Добавить → Ðтрибут…:

  • Добавьте атрибут net Ñо значением Vcc:8. Выберите Показать Ð¸Ð¼Ñ Ð¸ значение и Ñделайте его невидимым.
  • Добавьте атрибут net Ñо значением Vee:4. УÑтановите Показать Ð¸Ð¼Ñ Ð¸ значение и Ñделайте его невидимым.
  • Ðтрибут device уÑтановите проÑто в OPAMP.

УпорÑдочьте новые атрибуты, как показано на риÑунке.

ЕÑли хотите, можете изменить значение атрибута footprint, которое будет уÑтанавливатьÑÑ Ð¿Ð¾ умолчанию. При редактировании Ñимволов очень важно поÑле внеÑÐµÐ½Ð¸Ñ Ð²Ñех изменений выполнÑть Правка → Смещение Ñимвола…, уÑÑ‚Ð°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°Ñ Ñмещение в ноль перед Ñохранением. Сделайте Ñто и Ñохраните Ñимвол из меню Файл → Сохранить. Я уÑтановил значение атрибута footprint по умолчанию в DIP8, так как Ñто мой ÑобÑтвенный Ñлемент.

ЗапуÑк gschem Ñ Ð½Ð¾Ð²Ñ‹Ð¼ Ñимволом

one.sch ЗапуÑтите gschem one.sch. Выделите и удалите клавишей Delete оба операционных уÑилителÑ. Удалите также подключенные к ним Ñимволы Vcc и Vee. Откройте окно Добавить → Компонент… и из библиотеки gschem-sym, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñ‚ÐµÐ¿ÐµÑ€ÑŒ должна Ñодержать ваш новый Ñимвол, выберите и помеÑтите на Ñхему два Ñимвола opamp-dual.sym. ПеремеÑтите их в подходÑщее меÑто на Ñхеме и не забудьте зеркально отразить и повернуть нижний операционный уÑилитель как и прежде. Измените атрибуты каждого из операционных уÑилителей, задав им те же значениÑ, которые они имели раньше, Ñ‚. е. уÑтановите footprint в DIL 8 300, добавьте атрибут value Ñо значением TL072 и уÑтановите refdes Ð´Ð»Ñ Ð¾Ð±Ð¾Ð¸Ñ… уÑилителей в U101. УÑтановите slot Ð´Ð»Ñ Ð²Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ операционного уÑÐ¸Ð»Ð¸Ñ‚ÐµÐ»Ñ Ð² 2. ЕÑли не уÑтановить Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð² в те, что были раньше, gsch2pcb подумает, что Ñто другой компонент и удалит ÑущеÑтвующий ÐºÐ¾Ñ€Ð¿ÑƒÑ DIL Ñ Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑкой Ñхемы. ЕÑли вÑÑ‘ Ñделано верно, запуÑк gsch2pcb должен показать:

~/gaf/myproject1$ gsch2pcb project
Found a cpinlist head with a netname! [Vcc]
Found a cpinlist head with a netname! [Vee]
Found a cpinlist head with a netname! [Vcc]
Found a cpinlist head with a netname! [Vee]
Found a cpinlist head with a netname! [Vcc]
Found a cpinlist head with a netname! [Vee]
Found a cpinlist head with a netname! [Vcc]
Found a cpinlist head with a netname! [Vee]
No elements to add so not creating board.new.pcb

откуда видно, что программа gEDA gnetlist кажетÑÑ Ð½ÐµÐ¼Ð½Ð¾Ð¶ÐºÐ¾ «разволновалаÑь», обнаружив добавленные нами только что новые атрибуты Vcc и Vee2), и Ñоздала новый ÑпиÑок Ñоединений. Теперь, Ñ Ð´ÑƒÐ¼Ð°ÑŽ, Ñхема выглÑдит опрÑтнее. И еÑли вы запуÑтите pcb board.pcb, загрузите новый ÑпиÑок Ñоединений, а затем оптимизируете линии ÑвÑзи, программа pcb должна будет Ñообщить вам, что плата готова, а Ñто значит, что Ñоединение выводов Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ñ… уÑилителей через атрибут net Ñработало.

Подробное опиÑание ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñимволов вы можете найти в РуководÑтве по Ñозданию Ñимволов на Ñтранице Документации gEDA.

ÐеÑтандартные файловые Ñлементы

Свои оригинальные файловые Ñлементы можно Ñоздавать либо в процеÑÑе работы в pcb над какой-то топологичеÑкой Ñхемой, либо проÑто запуÑÐºÐ°Ñ pcb Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñлемента. Ð”Ð»Ñ Ð´ÐµÐ¼Ð¾Ð½Ñтрации Ñделаем неÑтандартный Ñлемент Ð´Ð»Ñ Ð´Ð¸Ð¾Ð´Ð° 1N4004. pcb предоÑтавлÑет в наше раÑпорÑжение акÑиальные корпуÑа, но мы хотим быть уверены, что Ð´Ð»Ñ ÑÐ²ÐµÑ€Ð»ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð²ÐµÑ€Ñтий под Ñлегка утолщённые выводы Ñтого 1-амперного диода будет иÑпользоватьÑÑ Ð¿Ð¾Ð´Ñ…Ð¾Ð´Ñщий размер Ñверла. Ð”Ð»Ñ Ð½Ð¸Ñ… нужно Ñверло диаметром примерно 42 мила (#58).

ЗапуÑтите pcb и первое, что надо Ñделать, Ñто выбрать Ñтиль разводки Сигналы и изменить Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ размеры (нажмите кнопку Стиль траÑÑировки). УÑтановите ОтверÑтие перехода в 42, а Размер перехода в 70 или, еÑли хотите, больше. Выберите Вид → Шаг Ñетки → 25 милов и Вид → Отображать Ñетку. ÐеÑколько увеличьте маÑштаб, а затем начертите Ñлемент: Шаг 1

  • Выберите инÑтрумент VIA и помеÑтите два перехода на 400 милов друг от друга.
  • Ðаведите курÑор мыши на левый переход, нажмите клавишу N и задайте переходу название 1. Задайте правому переходу название 2.
  • Вывод 1 будет катодом и Ñто должно ÑоответÑтвовать номерам выводов в вашем Ñимволе диода Ð´Ð»Ñ gschem.

Шаг 2

  • Выберите Ñлой Ð¨ÐµÐ»ÐºÐ¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ð¸ инÑтрумент LINE.
  • Ðачертите контур компонента как показано, Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð¾Ð¹ линии и шагом Ñетки, уÑтановленными в 10 милов.
  • УÑтановив ширину линии в 20 милов, начертите Ñ‚Ñ€ÐµÐ¼Ñ Ð»Ð¸Ð½Ð¸Ñми маркировку катода Ñ Ð»ÐµÐ²Ð¾Ð¹ Ñтороны.
  • Ðе перекрывайте площадки пайки линиÑми ÑÐ»Ð¾Ñ ÑˆÐµÐ»ÐºÐ¾Ð³Ñ€Ð°Ñ„Ð¸Ð¸.

Выделите переходы и только что начерченный контур Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ инÑтрумента SEL и закончите Ñоздание Ñлемента:

  • Буфер → Вырезать выделение в буфер, подведите курÑор мыши к центру левого перехода и щёлкните.
  • Буфер → Преобразовать буфер в Ñлемент
  • Буфер → Сохранить Ñлементы из буфера в файл, укажите ~/gaf/pcb-elements и Ñохраните Ñлемент как D400-1A, так как Ñто ÐºÐ¾Ñ€Ð¿ÑƒÑ Ð´Ð»Ñ 1-амперного диода Ñ Ñ€Ð°ÑÑтоÑнием между выводами 400 милов. Можете задать ему любое опиÑательное название по вкуÑу.

Примечание: еÑли при Ñохранении Ñлемента указать название уже ÑущеÑтвующего m4-Ñлемента, и еÑли не задать программе gsch2pcb ключ --use-files (или -f), то она предпочтёт иÑпользовать m4-Ñлемент. ЕÑли вы хотите, чтобы предпочтение вÑегда отдавалоÑÑŒ файловым Ñлементам, use-files можно помеÑтить в файл проекта. ÐÐ°Ð·Ð²Ð°Ð½Ð¸Ñ m4-Ñлементов, кажетÑÑ, задаютÑÑ Ð² верхнем региÑтре, так что можно было бы избежать данных проблем, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð´Ð»Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ð¹ Ñвоих файловых Ñлементов нижний региÑтр. Также мне извеÑтен лишь один единÑтвенный ÑпоÑоб Ñделать изображение вывода 1 квадратным – вручную отредактировать файл D400-1A и изменить флаг квадратноÑти в Ñтроке Ð´Ð»Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ вывода (Pin ... "1" ...). Ðапример, измените Ñтроку:

Pin(0 0 70 20 70 42 "" "1" 0x00000001)

на

Pin(0 0 70 20 70 42 "" "1" 0x00000101)

Теперь D400-1A можно иÑпользовать в атрибуте footprint Ñимвола gschem и gsch2pcb найдёт его при уÑловии, что вы Ñделали ÑÑылку packages, опиÑанную в разделе ÐаÑтройка. ЕÑли вы не Ñделали такую ÑÑылку, программе gsch2pcb вÑÑ‘ же можно Ñообщить Ð¸Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° Ñлементов Ñледующей Ñтрокой в файле проекта:

elements-dir ~/gaf/pcb-elements

Быть может вы уже и заметили, но вÑÑ‘ же Ñкажу вам, что кое-что в моём примере myproject1 неправильно. Во-первых, линии ÑÐ»Ð¾Ñ ÑˆÐµÐ»ÐºÐ¾Ð³Ñ€Ð°Ñ„Ð¸Ð¸ в некоторых Ñлементах перекрывают площадки пайки, а во-вторых, транзиÑтор раÑположен задом наперёд на топологичеÑкой Ñхеме! Ð’ других ÑлучаÑÑ… у Ð²Ð°Ñ Ð½Ðµ должно было бы быть подобных проблем при работе в gschem и pcb, но иногда Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² транзиÑтора может Ñбить Ñ Ñ‚Ð¾Ð»ÐºÑƒ. ЕÑли в Ñвоих разработках вы будете иÑпользовать транзиÑторы, поÑмотрите опиÑание моего подхода, как обеÑпечить, чтобы Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² Ñимвола транзиÑтора Ð´Ð»Ñ gschem была Ñкоординирована Ñ Ð½Ð¾Ð¼ÐµÑ€Ð°Ð¼Ð¸ выводов pcb-Ñлемента: РуководÑтво по транзиÑтору.

Из руководÑтва по транзиÑтору можно увидеть, что проблема здеÑÑŒ в том, что Ñлемент TO92 иÑпользует менее раÑпроÑтранённую конфигурацию нумерации выводов (3,2,1), в то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº 2N3904-1.sym похож на Ñимвол npn-ebc, выводы которого нумеруютÑÑ Ð² поÑледовательноÑти (1,2,3). Ð’ gschem номера выводов 2N3904 можно увидеть, нажав клавиши EN (и не ÑмущайтеÑÑŒ атрибутом pinseq, который почти закрывает pinnumber). Рв pcb номера выводов TO92 можно увидеть Ð½Ð°Ð²ÐµÐ´Ñ ÐºÑƒÑ€Ñор мыши на Ñлемент и нажав клавишу D. Чтобы убедитьÑÑ, что видны номера выводов, а не их названиÑ, выберите Вид → Отображать на цоколёвке номера.

У Ð¼ÐµÐ½Ñ ÐµÑть библиотеки Ñ Ñимволами транзиÑторов и Ñлементами, которые могут показатьÑÑ Ð²Ð°Ð¼ полезными, так что Ñначала Ð´Ð»Ñ ÑƒÐ´Ð¾Ð±Ñтва можете наполнить Ñвои библиотеки файлами из моих библиотек Ð´Ð»Ñ gschem/PCB. Разархивируйте их в ~/gaf, чтобы получить копию наÑтройки нашего примера, и там вы также найдёте файл ~/gaf/pcb-elements.Readme, документирующий pcb-Ñлементы. Примечание: на момент 1.10.2004 г. Ñ Ð¿Ð¾Ð¿Ñ€Ð°Ð²Ð¸Ð» pcb-Ñлементы tar-архива, чтобы они не перекрывали площадки пайки линиÑми ÑÐ»Ð¾Ñ ÑˆÐµÐ»ÐºÐ¾Ð³Ñ€Ð°Ñ„Ð¸Ð¸. ЕÑли вы разархивируете их куда-то ещё, нужно будет обеÑпечить, чтобы программы gschem и gsch2pcb могли их найти, пропиÑав Ð´Ð»Ñ gschem Ñтроки component-library в gafrc, а Ð´Ð»Ñ gsch2pcb Ñтроки elements-dir в файл проекта.

ЕÑли вы уÑтановите Ñти библиотеки, то можете иÑправить Q201 в two.sch, заменив его поÑадочное меÑто на TO-92, предÑтавлÑющее Ñобой мой неÑтандартный Ñлемент Ñ Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸ÐµÐ¹ выводов (1,2,3). Затем запуÑтите gsch2pcb project, а затем pcb board.pcb, и загрузите новый Ñлемент Ð´Ð»Ñ Ñ‚Ñ€Ð°Ð½Ð·Ð¸Ñтора. Ðа Ñледующем риÑунке Ñхемы two.sch атрибут footprint Ñделан видимым, чтобы подчеркнуть вышеÑказанное, а также показан новый Ñимвол Ð´Ð»Ñ 2N3904, Ñозданный из моего npn-ebc.sym, как опиÑано в моём руководÑтве по транзиÑтору. ЕÑли Ñравнить внешний вид контура Ñтого транзиÑтора на обновлённой топологии board.pcb Ñ Ñ‚ÐµÐ¼, что было в иÑходном варианте, можно увидеть, что Ð¾Ñ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ñ‚ÐµÐ¿ÐµÑ€ÑŒ правильна и что линии ÑÐ»Ð¾Ñ ÑˆÐµÐ»ÐºÐ¾Ð³Ñ€Ð°Ñ„Ð¸Ð¸ не перекрывают площадок пайки. Также, Ð´Ð»Ñ Ð¸Ð»Ð»ÑŽÑтрации другого ÑтилÑ, получающегоÑÑ Ð¿Ñ€Ð¸ иÑпользовании неÑтандартных Ñлементов, Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð» атрибуты footprint Ð´Ð»Ñ Ñ€ÐµÐ·Ð¸Ñторов R102 и R103 в one.sch на мои ÑобÑтвенные 0,125-ваттный Ñлемент R0w8 и 0,25-ваттный R0w4. Можно увидеть также Ñтиль R101 поÑле замены его поÑадочного меÑта на 0.125W_Carbon_Resistor, как было предложено выше. Когда вы оцените Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð¸Ñ Ð² ÑтилÑÑ…, Ñ Ð¾Ñ‚Ð¼ÐµÑ‡Ñƒ, что в Ñвоих Ñлементах Ñ Ñ…Ð¾Ñ‚ÐµÐ» макÑимизировать проÑтранÑтво, чтобы показывать текÑты значений и позиционных обозначений (тело 0,125-ваттного Ñлемента могло бы быть и чуть побольше), и немного увеличить диаметр площадок Ð´Ð»Ñ Ð¿Ð°Ð¹ÐºÐ¸, чтобы он был менее критичен Ð´Ð»Ñ Ð¸Ñпользуемой техники производÑтва плат. К тому же, Ð´Ð»Ñ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð»Ð¾Ñ‚Ð½Ð¾Ñти Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² раÑÑтоÑние между выводами моего резиÑтора R0w4 Ñделано неÑколько меньшим, чем в R025.

two.sch pcb

ÐеÑтандартные m4-Ñлементы

Сначала немного Ñлов о том, как разыÑкать m4-Ñлементы, имеющиеÑÑ Ð² поÑтавке pcb. Полагаю, в проекте pcb еÑть какаÑ-нибудь готовÑщаÑÑÑ Ðº выпуÑку документациÑ, но в данный момент Ñ Ð½Ðµ знаю ничего, на что бы указать вам, и тут Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¾Ñто ÑориентироватьÑÑ Ð¿Ð¾ именам файлов, как Ñто можно было Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ñ‹Ñ… Ñлементов. И ещё, ведь многие из Ñтих Ñлементов требуют ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð², и вам нужно определить, каких. Так что пока вÑÑ‘, что Ñ Ð¼Ð¾Ð³Ñƒ Ñказать вам, Ñто то, что легче вÑего выÑÑнить, что еÑть в наличии, прочитав файлы m4-Ñлементов, а Ð´Ð»Ñ Ñтого нужно знать меÑто их уÑтановки Ð´Ð»Ñ pcb. Ð”Ð»Ñ Ð²ÐµÑ€Ñии pcb 20031113 каталогом уÑтановки наиболее вероÑтно будет /usr/share/pcb/m4 или /usr/local/share/pcb/m4, в то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº в более ранних верÑиÑÑ… pcb таковым мог быть /usr/X11R6/lib/X11/pcb/m4 (чтобы увидеть, какой из Ñтих каталогов иÑпользуетÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹ gsch2pcb, запуÑтите gsch2pcb --help или gsch2pcb -v project). Ðо еÑли у Ð²Ð°Ñ Ð²ÑÑ‘ уÑтановлено где-то в другом меÑте, нужно выÑÑнить где. КÑтати, еÑли каталог m4 ÑвлÑетÑÑ Ð´Ñ€ÑƒÐ³Ð¸Ð¼, нежели вышеуказанные три, тогда gsch2pcb не найдёт ваши m4-Ñлементы в вышеприведённых примерах, и вам нужно будет добавить правильное Ð¸Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° m4 в Ñвой файл project Ñтрокой вида:

m4-pcbdir /путь/к/pcb/m4

ПроÑто прочитайте .inc-файлы в каталоге уÑтановки m4. Ðапример, в файле misc.inc вы найдёте иÑпользовавшийÑÑ Ð½Ð°Ð¼Ð¸ Ñлемент R025, и его опиÑание начинаетÑÑ Ñ‚Ð°Ðº:

# -------------------------------------------------------------------
# the definition of a resistor (0.25W) package
# $1: canonical name
# $2: name on PCB
# $3: value
define(`PKG_R025',
`Element(0x00 "$1" "$2" "$3" 120 30 0 100 0x00)
(
...

ОтÑюда можно узнать, что здеÑÑŒ определён Ð¼Ð°ÐºÑ€Ð¾Ñ m4 PKG_ Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ R025, принимающий 3 аргумента. Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð¼Ð°ÐºÑ€Ð¾ÑÑ‹ вÑех m4-Ñлементов pcb принимают по меньшей мере три аргумента и программа gsch2pcb автоматичеÑки берёт их из иÑпользуемых в gschem атрибутов: КаноничеÑкое название (canonical name) берётÑÑ Ð¸Ð· footprint, название на плате (name on PCB) — из refdes, а Значение (value) — из value. КаноничеÑкое название, иÑпользуемое в данных m4-файлах, Ñто проÑто Ñтарый ÑпоÑоб Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ðº иÑпользуемому в Ñовременной pcb полю ОпиÑание (description), как упомÑнуто выше в разделе ТерминологиÑ. Так как Ñти аргументы уÑтанавливаютÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки, никаких дополнительных аргументов Ð´Ð»Ñ R025, когда вы задаёте его как footprint в gschem, указывать не нужно. Ðо теперь взглÑните на определение Ñледующего m4-Ñлемента в misc.inc:

# -------------------------------------------------------------------
# the definition of a SIL package without a common pin
# $1: canonical name
# $2: name on PCB
# $3: value
# $4: number of pins
define(`PKG_SIL',
`define(`MAXY', `eval(`$4' * 100 -50)')
Element(0x00 "$1" "$2" "$3" 160 10 3 100 0x00)
(
...

ОтÑюда вы можете определить, что еÑть ÐºÐ¾Ñ€Ð¿ÑƒÑ SIL, который можно задавать как footprint. Его Ð¼Ð°ÐºÑ€Ð¾Ñ Ð¿Ñ€Ð¸Ð½Ð¸Ð¼Ð°ÐµÑ‚ 4 аргумента, но только первые три из них обрабатываютÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки, так что при его иÑпользовании нужно задать ещё один. Ðа Ð²Ð°Ñ ÑниÑходит озарение, и вы ÑÑно понимаете, что Ñто ÐºÐ¾Ñ€Ð¿ÑƒÑ Â«Single In Line» («одноÑторонний»)! Так что может показатьÑÑ, что вмеÑто иÑпользуемого в нашем примере выше Ñлемента CONNECTOR 2 1, определÑющего 1 Ñтолбец, нужно было бы иÑпользовать SIL 2. Ðо Ñто ошибка! Потому что, прочитав тело макроÑа, можно увидеть, что еÑли аргумент равен 2, второй цикл for не Ñможет его обработать. ФактичеÑки, он может работать только Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð² равных или больших 4. ЕÑли же вы вÑÑ‘ же запуÑтите gsch2pcb, и будет казатьÑÑ, что программа заÑтрÑла в беÑконечном цикле, причиной, Ñкорее вÑего, ÑвлÑетÑÑ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð° Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ð¼Ð¸ макроÑа m4. ПроÑмотрев misc.inc, вы в итоге определите, какие Ñлементы из него можно иÑпользовать:

ÐšÐ¾Ñ€Ð¿ÑƒÑ      Ðргументы, которые нужно задать
SD           1      количеÑтво выводов корпуÑа ZIP
MULTIWATT15  0
R025         0
SIL          1      количеÑтво выводов (мы знаем теперь, что должно быть >= 4)
CSIL         1      количеÑтво выводов
QFP132       0
LED          1      диаметр Ñветодиода (LED)
DIODE_LAY    1      раÑÑтоÑние между выводами
AXIAL_LAY    1      раÑÑтоÑние между выводами
CRYSTAL      1      ширина корпуÑа
OSC          0
ISA8         0
OVEN_OSC     0
RADIAL_CAN   1
SMD_BASE     2      длина и ширина уÑтройÑтва Ð´Ð»Ñ Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ð¾Ñтного монтажа (SMD)
SMD_CHIP     1      длина корпуÑа

Ðу и так далее Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ… файлов .inc…

ДейÑтвительноÑть такова, что наÑтройка m4 ÑвлÑетÑÑ Ð¼ÐµÐ½ÐµÐµ дружеÑтвенной Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹ (Ð½ÐµÐ»ÑŒÐ·Ñ Ñоздавать Ñлементы графичеÑким ÑпоÑобом) и более Ñложной, чем проÑтой подход, иÑпользуемый Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ñ‹Ñ… Ñлементов (нужно понимать макроÑÑ‹ m4). ПоÑтому Ñ Ñоветую вам выполнÑть Ñвои ÑобÑтвенные Ñлементы главным образом в виде файловых Ñлементов. С другой Ñтороны определение отдельных Ñлементов Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ принимающих аргументы макроÑов даёт вам программируемые Ñлементы, что может быть очень полезно при разработке поÑадочных меÑÑ‚ Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð¼ количеÑтвом выводов. Это оÑобенно хорошо Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¿ÑƒÑов микроÑхем Ñ Ð¸Ð·Ð¼ÐµÐ½Ñемыми шириной и количеÑтвом выводов. ПоÑтому Ð´Ð»Ñ Ñ…Ð¾Ñ€Ð¾ÑˆÐµÐ³Ð¾ примера иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½ÐµÑтандартного m4-Ñлемента можно предложить Ñкопировать ÑущеÑтвующее макроопределение корпуÑов микроÑхем (Ð¼Ð°ÐºÑ€Ð¾Ñ DIL) в m4-файл, который gsch2pcb Ñможет найти, и изменить его по Ñвоему вкуÑу. МеÑтоположение результирующего m4-файла может быть одним из Ñледующих:

  • pcb.inc в нашем каталоге myproject1, и Ñделанный нами Ñлемент будет локальным Ð´Ð»Ñ Ñтого проекта.
  • ~/.pcb/pcb.inc, и Ñлемент Ñтанет извеÑтен вÑем нашим проектам.
  • /путь/к/любому/файлу, еÑли Ñтот путь извеÑтен gsch2pcb, Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ в файл проекта добавлÑетÑÑ Ñтрока вида:
    m4-file /путь/к/любому/файлу

    Ð’ завиÑимоÑти от того, хотите ли вы, чтобы Ñтот файл был извеÑтен только Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ проекта, Ð´Ð»Ñ Ð²Ñех ваших проектов, или Ð´Ð»Ñ Ð²Ñех проектов вÑех пользователей, Ñту Ñтроку можно добавить в один из Ñледующих файлов:

    ~/gaf/myproject1/project
    ~/.gsch2pcb
    /usr/local/etc/gsch2pcb
    /etc/gsch2pcb

Ð’ наÑтоÑщем руководÑтве Ñ Ð±ÑƒÐ´Ñƒ иÑпользовать первый ÑпоÑоб (pcb.inc), поÑтому Ñкопируйте ÑущеÑтвующий файл макроÑа:

cd /usr/local/share/pcb/m4 (or /usr/share/pcb/m4 or /usr/X11R6/lib/X11/pcb/m4)
cp dil.inc ~/gaf/myproject1/pcb.inc
cd ~/gaf/myproject1

Теперь отредактируйте полученный файл pcb.inc, только что Ñкопированный вами, и удалите из него вÑÑ‘, кроме макроÑа PKG_DIL. Измените название корпуÑа на что-то вроде PKG_DILFAT, потому что целью наших изменений будет увеличение выводов. Ðа Ñамом деле название можно было бы и не трогать и новое определение иÑпользовалоÑÑŒ бы вмеÑто Ñтарого, но пока продолжим Ñ Ð½Ð¾Ð²Ñ‹Ð¼ названием. Измените диаметр выводов в Ñтроках PIN Ñ 60 на 70. ПоÑле Ñтого целиком Ñодержимое файла pcb.inc должно выглÑдеть так:

# -------------------------------------------------------------------
# the definition of a dual-inline package N and similar types
# $1: canonical name
# $2: name on PCB
# $3: value
# $4: number of pins
# $5: package size (300, 600, 900 + 100 for socket space)
#
define(`PKG_DILFAT',
`define(`MAXY', `eval(`$4' / 2 * 100)')
define(`MAXX', `eval(`$5' + 100)')
define(`CENTERX', `eval(MAXX / 2)')
Element(0x00 "$1" "$2" "$3" eval(CENTERX + 20) 100 3 100 0x00)
(
forloop(`i', 1, eval($4 / 2),
`PIN(50, eval(i * 100 -50), 70, 28, i)
')
forloop(`i', 1, eval($4 / 2),
`PIN(eval(MAXX -50), eval(MAXY - i * 100 +50), 70, 28, eval(i + $4/2))
')
ElementLine(0 0 0 MAXY 10)
ElementLine(0 MAXY MAXX MAXY 10)
ElementLine(MAXX MAXY MAXX 0 10)
ElementLine(0 0 eval(CENTERX - 50) 0 10)
ElementLine(eval(CENTERX + 50) 0 MAXX 0 10)
ElementArc(CENTERX 0 50 50 0 180 10)
Mark(50 50)
)')

ЗапуÑтите gschem one.sch и уÑтановите атрибут footprint операционного уÑÐ¸Ð»Ð¸Ñ‚ÐµÐ»Ñ Ð² DILFAT 8 300. Затем запуÑтите gsch2pcb project и gsch2pcb удалит Ñлемент DIL из board.pcb, добавьте в board.new.pcb новый Ñлемент DILFAT из Ñвоего m4-файла pcb.inc. ЗапуÑтите pcb board.pcb и загрузите board.new.pcb в Ñвою топологию. ПоÑтавьте новый Ñлемент Ñ Ð±Ð¾Ð»ÐµÐµ толÑтыми выводами на то меÑто, что оÑвободилоÑÑŒ при удалении Ñтарого.

МногопользовательÑÐºÐ°Ñ Ð½Ð°Ñтройка

Вышеприведённые примеры ориентированы на отдельного пользователÑ, чьи проекты и личные библиотеки Ñимволов Ð´Ð»Ñ gschem и Ñлементов Ð´Ð»Ñ pcb находÑÑ‚ÑÑ Ð² его домашнем каталоге. ЗдеÑÑŒ же приводитÑÑ ÑпоÑоб многопользовательÑкой наÑтройки Ð´Ð»Ñ ÑовмеÑтного иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€ÐµÑурÑов:

  • ПомеÑтите ÑобÑтвенные файловые Ñлементы pcb Ð´Ð»Ñ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ пользованиÑ, например, в /usr/local/share/pcb/pcb-elements. Сделайте так, чтобы программа gsch2pcb иÑкала Ñлементы в Ñтом каталоге Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ пользователÑ, добавив вот такую Ñтроку в /etc/gsch2pcb или /usr/local/etc/gsch2pcb:
    elements-dir /usr/local/share/pcb/pcb-elements

    ЕÑли еÑть какие-то неÑтандартные файлы m4-Ñлементов Ð´Ð»Ñ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ пользованиÑ, например, /usr/local/share/pcb/pcb.inc, добавьте ещё одну Ñтроку в /etc/gsch2pcb или /usr/local/etc/gsch2pcb:

    m4-file /usr/local/share/pcb/pcb.inc
  • ЕÑли pcb по умолчанию уÑтанавливает файлы m4 не в /usr/local/share/pcb/m4, /usr/share/pcb/m4, или /usr/X11R6/lib/X11/pcb/m4, Ñделайте меÑто уÑтановки извеÑтным Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ gsch2pcb, добавив в /etc/gsch2pcb или /usr/local/etc/gsch2pcb Ñтроку:
    m4-pcbdir /путь/к/pcb/m4

    ЕÑли вмеÑто m4 иÑпользуетÑÑ gm4, то в файл gsch2pcb добавьте Ñледующее:

    m4-command gm4
  • ЕÑли в каком-нибудь каталоге еÑть неÑтандартные Ñимволы gschem Ð´Ð»Ñ Ð¾Ð±Ñ‰ÐµÐ³Ð¾ пользованиÑ, нужно изменить ÑиÑтемный файл system-gafrc, добавив Ñтроки component-library Ð´Ð»Ñ Ð½Ð¸Ñ….

ПоÑле Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²Ñ‹ÑˆÐµÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ñ… дейÑтвий пользователи получат доÑтуп к общим библиотекам и им оÑтанетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ добавлÑть в файлы Ñвоих проектов project Ñтроки schematics и output-name. Ðо к тому же им ничто не мешает иÑпользовать и Ñвои ÑобÑтвенные, ÑпецифичеÑкие Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸/или проекта, дополнительные библиотеки Ñимволов и Ñлементов.

Создание печатных плат

Учебник должен Ñодержать и опиÑание процеÑÑа производÑтва печатных плат.

ФотолитографиÑ

ИÑпользуйте меню Файл → ЭкÑпорт топологии → ps Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Postscript-файла, пригодного Ð´Ð»Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð¸ на прозрачной плёнке. Обратите внимание на наличие переключателей 'mirror' (зеркально) и 'ps-invert' (инверÑÐ¸Ñ ps), которые могут вам понадобитьÑÑ Ð² завиÑимоÑти от вашего ÑпоÑоба производÑтва.

Откройте ps-файл и напечатайте только те Ñтраницы, что необходимы вам Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ñтва. Ð’ нём много Ñтраниц, и многие могут быть вам не нужны.

ЕÑли окажетÑÑ, что площадки и дорожки у Ð²Ð°Ñ Ð½Ðµ печатаютÑÑ Ð½Ð° одной Ñтранице или размещены не на той Ñтороне, нужно поÑмотреть наÑтройки во вкладке Файл → ÐаÑтройки… → Слои, надлежащим образом Ñгруппировать Ñлои и помеÑтить их на нужную Ñторону.

ПроизводÑтво на Ñтанке

LPKF (и может быть другие компании) имеют плоттеры Ð´Ð»Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ñ‹Ñ… плат, понимающие Gerber-файлы. Их можно произвеÑти, выбрав Файл → ЭкÑпорт топологии → gerber, что приведёт к Ñозданию множеÑтва файлов. Эти файлы можно проÑматривать в gerbv и ÑохранÑть оттуда их графичеÑкое предÑтавление. ЕÑли вы удовлетворены полученными Gerber-файлами, проÑто отдайте их кому-нибудь, у кого в раÑпорÑжении еÑть такое оборудование, и ждите, пока платы будут готовы!

1) Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ð·Ð½Ð°Ñ‡Ð°ÑŽÑ‚: «board.pcb Ñохранён как board.pcb.bak1. 1 Ñлемент удалён из board.pcb. Добавлено 1 файловых Ñлементов и 0 m4-Ñлементов в board.pcb». — Прим. перев.
2) Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð³Ð»Ð°ÑÑÑ‚: «Ðайден заголовок cpinlist Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ […]!» и «Ðет Ñлементов Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ, так что не Ñоздаю board.new.pcb». — Прим. перев.
lepton-eda-1.9.10/docs/wiki/geda-data_plotting_improvements.ru.html0000644000175000017500000002531613634703632022336 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

ПоÑтроение графиков данных моделированиÑ

ОбоÑнование

Ð’ Ñтой Ñтатье обÑуждаютÑÑ Ð²Ð°Ñ€Ð¸Ð°Ð½Ñ‚Ñ‹ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾ÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð² данных. СущеÑтвуют различные программы, и ÐºÐ°Ð¶Ð´Ð°Ñ Ð¸Ð¼ÐµÐµÑ‚ Ñвои «за» и «против».

  • gtkwave: прекраÑÐ½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° проÑмотра данных цифрового моделированиÑ
  • gwave: программа проÑмотра аналоговых Ñигналов
  • KJWaves: оболочка Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ Ð¾ÐºÐ½Ð¾Ð¼ поÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð²
  • вÑтроенные функции Ð²Ñ‹Ñ‡ÐµÑ€Ñ‡Ð¸Ð²Ð°Ð½Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð² в ngspice
  • gnuplot / octave / scipy / … или подобные программы как Ñкриптовые Ñзыки поÑÑ‚-обработки
  • …

Ð’ ÑпиÑках раÑÑылки были разные Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¾ том, какие возможноÑти могла бы иметь программа вывода графиков:

  • поÑÑ‚-обработка: интегрирование, Ñложение, дифференцирование, БПФ, …
  • проÑмотр, иÑÑледованиÑ: курÑоры, много окон, …
  • импорт данных, формат файла: данные Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ (gnucap, spice, …) hdf5 , измеренные данные Ñ Ð¾Ñциллографов, анализаторов Ñпектра, …
  • ÑкÑпорт данных, формат файла: hdf5, Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ (png, ps, …), ASCII
  • низкоуровневые ÑредÑтва коммуникации: dbus, …
  • Ñзык раÑширений / напиÑÐ°Ð½Ð¸Ñ Ñкриптов

План 1: раÑширить возможноÑти gtkwaves

  • напиÑать неÑколько функций импорта аналоговых данных

План 2: улучшить gwave

gwave требует Ñтарой верÑии guile-gtk Ð´Ð»Ñ GTK1.2.

  • перенеÑти gwave на guile-gtk2.0 Ð´Ð»Ñ GTK2.x
  • удалить завиÑимоÑть от guile-gtk. Может быть Ñоздать приложение на чиÑтом gtk2 Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ libglade?

ÐŸÐµÑ€ÐµÐ´ÐµÐ»Ð°Ð½Ð½Ð°Ñ gwave:

План 3: поиÑкать ÑущеÑтвующие программы обработки данных

ЕÑть ли какие-нибудь программы Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¸ поÑÑ‚-обработки данных моделированиÑ? ЕÑли да, как их приÑпоÑобить Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ в качеÑтве программ проÑмотра временных диаграмм Ñигналов Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ (gnucap, ngspice)?

План 4: новое приложение Ð´Ð»Ñ Ð¿Ð¾ÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð²

ÐеÑколько неÑÑных заметок о возможноÑÑ‚ÑÑ… напиÑÐ°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð¾ÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð². Ð’ наÑтоÑщий момент в качеÑтве Ñзыка Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² них предполагаетÑÑ python.

  • графичеÑкий Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¼Ð¾Ð¶Ð½Ð¾ Ñоздать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ libglade
  • форматом Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… мог бы быть hdf5 , может быть вмеÑте Ñ pytables
  • движком поÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð² может быть matplotlib (туда входит ÑкÑпорт PNG и PS)
  • поÑÑ‚-обработку можно было бы делать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ scipy
  • Ñзыком Ð´Ð»Ñ Ñкриптов ÑвлÑетÑÑ python. ПоÑтому легко может быть напиÑан фильтр импорта в hdf5. Можно даже иÑпользовать интегрированную оболочку python. Видел такое на MayaVi 2

ÐедоÑтаток: Ð’ такой конфигурации требуетÑÑ Ð¾Ð³Ñ€Ð¾Ð¼Ð½Ñ‹Ð¹ рюкзак дополнительных пакетов.

Обновление

ЕÑть неÑколько программ, иÑпользующих такой набор инÑтрументов как python, numpy, matplotlib:

lepton-eda-1.9.10/docs/wiki/geda-fbabgapp.html0000644000175000017500000002240013634703632016001 00000000000000

Forward/Backward Annotation Between gEDA/gaf and PADS PowerPCB

by: Dan McMahill

This document is released under GFDL

March 6th, 2003

Forward Annotation of gEDA Schematic Changes to PADS PowerPCB Layout

Overview

Forward annotation is the process of updating a layout to reflect changes made in the schematic. This process is used when, for example, a new component is added to a schematic and needs to be included in the layout. This section describes how to forward annotate changes in a gEDA schematic to a PADS PowerPCB layout.
PADS implements forward annotation through the use of an ECO (Engineering Change Order) file. The ECO file describes the differences between a current design and the desired design. PADS generates the ECO file by performing a netlist comparison between a new netlist file and the netlist contained in the current layout.

Detailed Forward Annotation Procedure

This procedure assumes you have a board layout open in PADS and that you have made your schematic changes in gschem. For the purposes of illustration, assume your schematic is split into two pages in the files pg1.sch and pg2.sch.

  • Create an updated PADS netlist by running:
    gnetlist -g pads -o mynet.asc pg1.sch pg2.sch
    This will create the netlist file mynet.asc.
  • Make a backup copy of your PADS layout in case things fail in a destructive way.
  • From within PADS, choose the “Tools → Compare Netlist†menu item and choose the following options in the form:
original design to compareuse current PCB design
new design with changesmynet.asc
√generate differences report
√generate eco file
comparison options
√compare only ECO registered parts
attribute comparison level
√ignore all attributes

Click the OK button to create the ECO file.

  • Examine the ECO file to make sure it looks ok (the ECO file is a text file which can be viewed with any text editor).
  • From within PADS, choose the “File → Import…†menu item. Locate and choose the ECO file created previously.

Back Annotation of PADS PowerPCB Layout Changes to gEDA Schematic

Backannotation is the process of updating schematics to reflect changes made in the layout. This process is used, for example, when the reference designators have been renumbered on the layout, when pins have been swapped (e.g., on an AND gate), or slots have been swapped (e.g., on a multi-gate package). This section describes how to backannotate changes in a PADS PowerPCB layout to a gEDA schematic. The PADS PowerPCB tool supports three types of schematic backannotation:

  1. Reference designator changes. This is often times used at the end of a layout to give components which are geographically close a set of reference designators which are numerically close.
  2. Slot swapping. This is commonly found in digital designs where there may be multiple identical gates in a single package. For example, you may wish to swap which slot is used in a hex inverter.
  3. Pin swapping. During layout, the designer may wish to swap equivalent pins on a chip. For example, the two inputs on a NAND gate.

Currently only reference designator changes are automatically processed by the PADS to gschem backannotation tool. The slot and pin swapping changes are provided in a report which the schematic designer must use to manually correct the schematic.

Detailed Backannotation Procedure

This procedure assumes you have a board layout open in PADS. For the purposes of illustration, assume your schematic is split into two pages in the files pg1.sch and pg2.sch.

  • Create an up to date PADS netlist by running:
    gnetlist -g pads -o mynet.asc pg1.sch pg2.sch
    This will create the netlist file mynet.asc.
  • From within PADS, choose the “Tools → Compare Netlist†menu item and choose the following options in the form:
original design to comparemynet.asc
new design with changesuse current PCB design
√generate differences report
√generate eco file
comparison options
√compare only ECO registered parts
attribute comparison level
√ignore all attributes

Click the OK button to create the ECO file.

  • Examine the ECO file to make sure it looks ok (the ECO file is a text file which can be viewed with any text editor).
  • Make a backup copy of your gEDA schematic files in case things fail in a destructive way.
  • Run:
    pads_backannotate file.eco pg1.sch pg2.sch | tee backanno.log
    where file.eco is the name of the ECO file created previously and pg1.sch and pg2.sch are all of your schematic pages. This will apply the reference designator change portion of the ECO file and also generate a list of pin and slot swapping which must be performed by hand. The file backanno.log will contain a log of the session that can be refered to when performing the pin and slot swapping.
lepton-eda-1.9.10/docs/wiki/gsoc2010_projects.html0000644000175000017500000000642713634703632016523 00000000000000

gEDA GSoC 2010 Project Ideas

This page contains various ideas for projects, organized by the tool. You can use these as fodder for creating your application to Google. Also, if you have your own idea, feel free to share it with the gEDA developers – they might like it more than any project on this list!

General, "glue" and related gaf projects

Projects that make the tools work together are on this webpage

Gschem schematic capture tool

Project ideas for Gschem are on this webpage

PCB Layout Editor

Project ideas for PCB are on this webpage

Gnucap circuit simulation/analysis program

Project ideas for Gnucap are on this webpage

Gerbv Gerber viewer

Project ideas for gerbv are on this webpage

Gwave analog waveform viewer

Project ideas for gwave are on this webpage

lepton-eda-1.9.10/docs/wiki/geda-pcb-quick_reference.fr.html0000644000175000017500000006124213634703632020550 00000000000000

Autres langues: English РуÑÑкий

PCB: Référence Rapide

Disposition des Touches

Table des Touches PCB

TOUCHE MNEMONIQUE DESCRIPTION
esc panner enter panning mode
insert insert point enter insert point mode. Click and drag on track to insert a point
space select entrez en mode select
tab flip view view: flip board
shift-del del-cu deletes electrically connected copper (including power and signal planes)
\ thin-draw toggles thin draw mode
shift-alt-a unselect clear selection
b to other side flip object to the other side of the board
shift-b flip view view: flip board
c center view: center display at cursor position
ctrl-c copy to buffer copie la sélection vers le tampon et désélectionne
d display name affiche le nom de la broche ou pastille
shift-d pinout dialog open pinout window for element under mouse cursor
e eliminate rats efface tous les rats
shift-e eliminate some rats efface tous les rats sélectionnés
f find highlight connections to object under mouse cursor
shift-f un-find un-highlight found connections
g increase grid increment grid by configured grid increment
shift-g decrease grid decrement grid by configured grid increment
h hide toggle the visiblity of the refdes or value attached to the current component
ctrl-h holeplate toggle plating of a via. Used to produce non metalized mounting holes
k klearance increment clearance (soldermask to copper edge)
shift-k klear (-) decrement clearance (soldermask to copper edge (NOTE: can go negative!))
l increase line increment width of the line tool, adds to the settings of the current line style
shift-l decrease line reduce the current linewidth
m move to layer move the object under the cursor to the current layer
shift-m move selection to layer move selected objects to the current working layer (see pcb tip)
ctrl-m move origin set the origin to the current position of the mouse pointer
n name show object refdes / pin number at mouse pointer
shift-n next Select the shortest unselected rat on the board
o optimize rats optimize and redraw all rats
shift-o optimize some rats optimize and redraw selected nets only
shift-p polygon close connect the first point of a polygon with the last
q square toggle toggle square/round corners on pads
ctrl-r report show object report
s size augmente la taille
shift-s size (-) diminue la taille
alt-s sizehole augmente la taille du trou
alt-shift-s sizehole (-) diminue la taille du trou
ctrl-s sizehole augmente la taille du trou
ctrl-shift-s sizehole (-) diminue la taille du trou
v view extents vue globale de la zone de travail
z zoom voir: agrandir
shift-z un-zoom voir: réduire
F1 via entrer l'outil de via
F2 line entrer l'outil de ligne
F3 arc entrer l'outil d'arc
F4 text entrer l'outil de texte
F5 rectangle entrer l'outil de rectangle
F6 polygon entrer l'outil de polygone
F7 buffer entrer l'outil de mode tampon
F8 delete entrer l'outil de mode supression
F9 rotate entrer l'outil de mode de rotation
F10 file menu menu fichier
F11 select entrer dans le mode sélection (comme [space])
F12 lock entrer dans le mode lock

Touches de Visualisation

TOUCHE MNEMONIC DESCRIPTION
esc panner
v view extents vue globale de la zone de travail
c center centre la vue sur le curseur
z zoom agrandissement
shift-z un-zoom
\ thin-draw on/off toggles thin draw mode
tab flip view retournement carte
shift-b flip view retournement carte

Référence d'Empreintes

Le document maître pour la création d'empreintes est le PCB Manual. Il y a aussi le Footprint Creation for the Open-Source Layout Program PCB de Stuart Brorson.

Syntaxe Générale

Un fichier d'empreinte pcb peut contenir une des commandes suivantes:

  • Element [element_flags, description, pcb-name, value, mark_x, mark_y, text_x, text_y, text_direction, text_scale, text_flags]
  • Pad [x1 y1 x2 y2 thickness clearance mask name pad_number flags]
  • Pin [x y thickness clearance mask drillholedia name number flags]
  • ElementArc [x y r1 r2 startangle sweepangle thickness]
  • ElementLine [x1 y1 x2 y2 thickness] –> thickness != 1000 = 10 mils almost for all footprints
  • Les lignes de commentaires débutent avec le signe ‘#’

Éléments

Element [element_flags, description, pcb-name, value, mark_x, mark_y, text_x, text_y, text_direction, text_scale, text_flags]

item allowed value explanation comment
element_flags unsigned hex value
description string text descriptif de l'empreinte écrit par l'auteur de l'empreinte
pcb name string refdes utilisé pour ce pcb particulier xxx
value string valeur du composant sur ce pcb particulier xxx
mark_x 1/100th mils
mark_y 1/100th mils
text_x 1/100th mils
text_y 1/100th mils
text direction decimal integer 0=horiz; 1=ccw90; 2=180; 3=cw90
text_scale decimal integer usu. set 100
text_flags unsigned hex

Pastilles

Pad[x1 y1 x2 y2 thickness clearance mask name pad_number flags]

Item Allowed Value Explanation Comment
x1 1/100th mils x(1st point)
y1 1/100th mils y(1st point)
x2 1/100th mils x(2nd point)
y2 1/100th mils y(2nd point)
thickness 1/100 mils épaisseur de métal entourant le segment de ligne voir le .pdf de Brorson
clearance 1/100 mils distance vis à vis des autres zones de cuivre sur toutes les couches actually 1/2 of this number is used!
mask 1/100th mils width of mask relief actual width of the mask centered on pad copper
name string name of pad (arb. string) e.g. “pad_1†or “positive†or any other string
pad_number string pad # used for nets. it MUST be consistent with the definitions on the netlist.
flags hex value xxx

Broches

Pin[x y thickness clearance mask drillholedia name number flags]

Item Allowed Value Explanation Comment
x 1/100th mils pin x coord.
y 1/100th mils pin y coord.
thickness 1/100th mils copper diameter
clearance 1/100th mils 2*(cu to cu clearance) if you want a 10 mil clearance, put 2000 (20 mils) here
mask 1/100th mils diameter of mask aperture actual dia. of hole in mask
drillholedia 1/100th mils dia. of hole
name string arb. pin name
number decimal integer pin number used by nets/rats
flags hex xxx

Exemples

  • Pad[-24606 14760 -19538 14760 1181 2000 3181 “†“16†“squareâ€]
  • Pad[-14760 19538 -14760 24606 1181 2000 3181 “†“17†“square,edge2â€]
  • Pin[0 0 12000 2000 12500 6400 “†“1†0×00000001]
  • ElementArc [0 0 6800 6800 0 360 1000]
  • ElementLine [-26696 -26696 26696 -26696 1000]
  • # notes within PCB Footprints go after the pound sign
lepton-eda-1.9.10/docs/wiki/gsoc2007.html0000644000175000017500000002313313634703632014611 00000000000000

Announcement of participation in Google's Summer of Code

Good news! The gEDA Project has been accepted as a mentoring organization by Google's Summer of Code program! The alphabetized list of all projects participating in Google's SoC is presented here:

gEDA is listed as “The gEDA Projectâ€. We are very pleased to be recognized as a participant in the Summer of Code project!

Now is the time for interested students to get their applications ready. Note that if you want to participate in the SoC, you must apply to Google, not to the gEDA Project. However, prior to making an application to Google, I suggest you contact one of us (Dan, Stuart) who can informally review your project proposal, and suggest a mentor for your project. The mentor will be one of the well-known developers who have worked on the gEDA Project for a while. The list of available mentors is shown at the bottom of this page. Your mentor will be your boss: he will help guide you through the code, refine your project requirements, answer questions, monitor your progress, and rate your performance at the middle and at the end of the project.

After that, you must apply directly to Google through this web page:

Good luck with your application, and we look forward to working with you!

Google application information.

The gEDA Project invites students to work with us under the auspices of Google's Summer of Code program! We are a group of professional hardware and software engineers with an interest in developing CAD tools for electronic design under Linux (and other unix flavors). The project is over eight years old, and has matured to the point where our design tools are suitable for use by students, professionals, educators, hobbyists, consultants, and anybody who needs a set of quality EDA tools for Linux. Becoming involved in the gEDA Project is a great way to learn about both software engineering and electronics!

Details for student applications to Google can be found in the Google SOC Student FAQ. Students may find the list of gEDA Google SOC project suggestions useful. Note that students apply to Google for project approval, not to the gEDA Project! However, we encourage you to contact us early if you are interested in working on a gEDA Summer of Code project, since we can then hash out the details of your project and help you with your application. To contact us, please post a message on the geda-dev e-mail list. or contact one of the mentors directly.

Project timeline and commitment level

A Google Summer of Code project should be considered a full time job and will require that level of time commitment. In addition, there must be some working code committed in time for the midterm evaluation for a good review. Project Details

When submitting an application or project proposal, please include the following details about the project:

  • Summary of the project including the end goal. This should be a couple of paragraphs – enough to fully explain what you have in mind. Writing a couple of use-cases will help if you are creating a new program (as opposed to upgrading an existing one).
  • Detail the scope of the project. What do you intend on delivering and what do you not intend on delivering. In best case, this will be a list of features/behaviors your program will possess.
  • Provide a timetable for the project, including milestones (i.e. what features will be working by when).
  • Is this a rewrite/upgrade of existing software or is it a “from scratch†project.
  • Who is the mentor for your project? Ideally, your mentor will be one of the current gEDA developers, or will be a professor or professional EE familiar with the gEDA project. If you don't know who should mentor your project, then we can help choose somebody for you based upon the project you have chosen.

Project Integration

It is important for us to understand how your project will fit into the rest of gEDA. To help us understand this, also include the following information:

  • Which components of gEDA will be affected and require code changes? Examples are “only PCB†or “libgeda, gnetlist, gschem, and PCBâ€.
  • Are any new dependencies required over the existing ones? If so, what are they? Are the new dependencies widely ported? (Note that certain gEDA developers frown on new dependencies, so be prepared to thoughtfully defend your choice.)
  • Will these changes force a change in any existing work flows that users may currently be employing?
  • Will your project enable a new work flow or a new feature which has hitherto been lacking in the gEDA Suite?

Student Information

Tell us a little about yourself in your application.

  • What programming experience do you have? Please list languages you have used, classwork you have completed, and projects you have completed.
  • What experience do you have with source control systems like CVS and subversion?
  • What experience do you have with software development in a collaborative environment? In particular, if you have worked on open-source projects before, please list some projects to which you have contributed patches.
  • What experience do you have with electronics CAD tools in general, and gEDA in particular?
  • What electronics experience do you have? Please list designs you have completed, courses you have taken, and any electronics-oriented work experience you may have.
  • Are you familiar with the existing codebase for any of the gEDA tools? If so, which one?
  • Do you have a personal web page or a blog which you would like to share with the gEDA developers?
  • Anything else which may be relevant to this project?

Suggested Projects

The list of suggested projects is available here

Mentors

Here is a list of mentors for the gEDA Project's GSoC. Please feel free to contact us with any questions you may have.

  • Dan McMahill (danATmcmahill.net)- Primary GSoC admin, PCB developer, gEDA/gaf developer
  • Stuart Brorson (sdbATcloud9.net) - Backup GSoC admin, gEDA/gaf developer
  • DJ Delorie (djATdelorie.com) - PCB developer
  • Steve Williams (steveATicarus.com) - Icarus Verilog developer
  • Ales Hvezda (ahvezdaATseul.org) - gEDA/gaf developer
lepton-eda-1.9.10/docs/wiki/geda-format_translation.html0000644000175000017500000003017613634703632020156 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

File format translation

We need a universal translator system that can translate in all directions between gEDA tools, possible future gEDA tools, and outside tools that are likely to be used with gEDA tools.

Scope

Of course, everything to everything is not reasonable. So, set a limit of gEDA tools, possible future gEDA tools, and outside tools that are likely to be used with gEDA tools. Of course, tool formats where translation doesn't make sense don't need to be supported.

The idea is to have an intermediate format. First translate to the intermediate format, then translate out. The intermediate format should be sufficiently expressive that there can be a lossless round trip from any gEDA tool format to the intermediate format and back.

Lossless means that the resultant file is equivalent in how it works. It is not necessary to preserve formatting and other things that don't matter.

All of the formats needing translation presently consist of lists of objects, with some kind of encapsulation. Each object has connections and attributes.

This suggests the possible of a standard netlist format as the intermediate format.

Further discussion related only to formats that fit this model.

If possible, the format chosen should have a history of use for at least part of this, and have a published specification that is externally controlled and freely available.

There needs to be a way to merge changes from any target/source without messing up other parts.

Tool types needing support

  • schematic
  • layout
  • simulation

gEDA tools

Lossless round trip is required, so archival storage can use the intermediate format.

  • gschem
  • pcb
  • gnucap
  • Icarus Verilog

Other free tools that should be well supported

These tools are free, too. The standard needs to support them on an equal basis with gEDA.

  • NGspice
  • Qucs
  • Kicad
  • Magic
  • Electric
  • Xcircuit
  • Fritzing

Non-free import and export

Support for these will allow gEDA tools to play nice with the commercial world. Basic functionality is needed, but it doesn't need to be lossless. Lossless should be possible, but it is not a high priority to actually implement it.

  • Eagle
  • Orcad
  • LTspice
  • Pads

gEDA missing functionality

Hopefully having a translator system will provide a seed so these can be done.

  • Back annotation from layout or simulation to schematic
  • Static timing analysis
  • Post-layout signal integrity simulation.
  • Layout - schematic comparison
  • Use of the same schematic for the whole project.

Explicitly not supported

  • Plotting
  • Commands
  • Behavioral modeling

Concepts

All of these consist of lists of objects, with connections and attributes.

It is tradition that a netlist is used for interchange, but the traditional approach only goes one way, because information is lost in the translation.

The format must convey the meaning, not necessarily in the same way as the tool's native format or internal storage.

It is not necessary to translate parts that are usually in libraries, and are tool specific, such as models, symbols, or footprints.

All contenders for possible formats must support a loss round-trip to any other.

Some possible formats

Spice

A popular netlist format. It has a history of use for interchange, but not yet for physical placement. Problems: irregular syntax, not sufficiently expressive. These problems have been a major hassle for years for developers. It is well accepted, but not by people who know it well.

Verilog

The structural subset is a good netlist format. It is regular, sufficiently expressive, and has a published standard. It has a history of use for interchange, but not yet for physical placement.

VHDL

The structural subset is a good netlist format. It is regular, sufficiently expressive, and has a published standard. It has a history of use for interchange, but not yet for physical placement.

Spectre

The structural subset is a good netlist format. It is regular, sufficiently expressive, but belongs to one company (Cadence), so rule it out. It has a history of use for simulation only.

XML

XML is not really a format but a syntax. A good format can easily be made based on XML, but has no history of use in a similar context. The syntax is well documented but there is no outside documentation of application in any related use.

Representation of physical placement

This part is the only part where there is not a strong history of use for VHDL and Verilog.

Ideas:

  • Nets are also objects with connections and attributes. Nets have meaning in all contexts.
  • A place on a schematic can be considered to be an object, with connections and attributes.
  • Pads, connectors, thermals, vias .. are also objects, with connections and attributes.
  • Use `define (assuming Verilog format) to set aside sections that have meaning in one context but not another.
  • This is a high level description. Take a high level view across all. It's not lines, boxes, and circles.
  • If you must, lines, boxes, and circles can be objects too, but not translatable because they have no meaning in other contexts.
  • Attributes that have no meaning are silently ignored. Attributes that have meaning in one context but not in another context are ignored where they have no meaning.

Applications

Choosing the Verilog format as one possibility.

The unit of encapsulation is the “moduleâ€:

module my-module(connections);
// contents
endmodule

Each object in the list has a consistent syntax:

type #(attributes) name (connections);

Example:

resistor #(.r(1k)) r123 (a, b);
resistor #(.r(1k)) r234 (.p(b), .n(c));

“r†is the name of an attribute. “1k†is the value (a string).

In the first example, connections are determined by order. In the second, they are mapped by name. Node “b†connects to pin “p†and node “c†connects to pin “nâ€.

A “net†is also an object.

In the above example, both connect to node b directly. In a schematic representation the connection would not be direct, but through a “netâ€

resistor #(.r(1k)) r123 (.p(a1), .n(b1));
resistor #(.r(1k)) r125 (.p(b2), .n(c2));
net b (.1(b1), .2(b2));

The name of the net is “bâ€. It has no attributes.

For schematic, you can now place the nodes:

place #(.x(1222), .y(3438)) place11333 (b1);
place #(.x(4334), .y(8433)) place34894 (b2);
place #(.x(9393), .y(4232)) place49334 (a1);
place #(.x(2932), .y(2384)) place34983 (c2);

Portions that apply in only certain contexts can be selectively included with 'ifdef:

module my_circuit;
  `ifdef SCHEMATIC
    place ...
    place ...
  `endif
   res ...
   res ...
   net ...
endmodule

Complex nets can be encapsulated:

module net23842 (1,2,3);
  net n23482 (1,2);
  net n84333 (2,3);
  `ifdef SCHEMATIC
    place ...
    place ...
    place ...
  `endif
endmodule
module net9393 (1,2);
  net #(.color(blue), .thickness(thin)) n38423 (1,2);
endmodule
lepton-eda-1.9.10/docs/wiki/gsoc2008.html0000644000175000017500000001031613634703632014611 00000000000000

Google Summer of Code 2008

The gEDA Project has been accepted into the Google's Summer of Code 2008 program! The gEDA project is excited to have this opportunity again (second year for gEDA in GSoc!) and thanks Google for investing in and organizing the GSoC program. This wiki page will develop as we plan our GSoC 2008 activities.

Suggested Projects

You are welcome to either suggest a new project idea, or select one from our list of suggested projects.

What we ask from Students

2008 is the second year in which the gEDA Project has participated in Google's Summer of Code program. Through our experience, we have learned a couple of things about running a successful program. Here are the things we ask of our students to help make the GSoC experience a success for everybody. (sponsored gEDA projects in 2007)

Mentors and Administrators

Here is a list of mentors and administrators for the gEDA Project's GSoC in 2008. Please feel free to contact any of us with any questions you may have.

Mentors
  • DJ Delorie (dj (AT) delorie (DOT) com) - PCB
  • Al Davis (ad151 (AT) freeelectron (DOT) net) - gnucap
  • Peter Brett (peter (AT) peter-b (DOT) co (DOT) uk) - gEDA/gaf
  • Peter Clifton (pcjc2 (AT) cam (DOT) ac (DOT) uk) - gEDA/gaf
  • Werner Hoch (werner (DOT) ho (AT) gmx (DOT) de) - gEDA/gaf and circuit simulation tools
  • Stuart Brorson (sdb (AT) cloud9 (DOT) net) - gerbv
  • John Luciani (jluciani (AT) gmail (DOT) com) - gEDA test suite and PCB footprint calculator
  • Steve Tell (tell (AT) telltronics (DOT) org) - gwave
  • Steve Williams (steve (AT) icarus (DOT) com) - Icarus Verilog
  • Cary R. (cygcary (AT) yahoo (DOT) com) - Icarus Verilog
Administrators
  • Stuart Brorson (sdb (AT) cloud9 (DOT) net) - Primary GSoC admin
  • Ales Hvezda (ahvezda (AT) moria (DOT) seul (DOT) org) - Back-up GSoC admin
lepton-eda-1.9.10/docs/wiki/geda-installed_plugins.html0000644000175000017500000000645513634703632017773 00000000000000

Installed plugins

The following plugins have been installed, to give the gEDA Project Wiki additional functionality.

Built-in dokuwiki syntax facilities are described here.

keyboard

Examples:

Syntax View
<key>C-A-Del</key> ⇒ Ctrl+Alt+Del
<key>Ctrl</key> ⇒ Ctrl
<key>C-S-Right</key> ⇒ Ctrl+Shift+
<key>Enter</key> ⇒ Enter

See the plugin keyboard page for more information.

note

The following code

<note>
This is a simple note.
</note>

<note tip>
This is a tip.
</note>

<note important>
This is an important note!
</note>

<note warning>
This is a warning!!!
</note>

translates to these nice notes:

This is a simple note.

This is a tip.

This is an important note!

This is a warning!!!

See the plugin note page for more information.

lepton-eda-1.9.10/docs/wiki/geda-tragesym_readme.ru.html0000644000175000017500000000512413634703632020040 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

README по генератору Ñимволов tragesym

tragesym - Ñто маленький Ñкрипт на python, Ñоздающий Ñимволы gEDA из Ñтруктурированных текÑтовых файлов.

Чтобы Ñоздать Ñимвол, надо Ñначала отредактировать файл-иÑточник. Можно
иÑпользовать файл template.src, находÑщийÑÑ Ð² каталоге
/examples/tragesym/. Ð’ том же каталоге еÑть неÑколько примеров.

Чтобы узнать возможные Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñадочных меÑÑ‚ (footprint), глÑньте в
каталог ~geda программы pcb.

ИÑпользование:
  tragesym <sourcefile> <symbolfile>

ПоÑле Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°-иÑточника в файл Ñимвола, вам нужно переÑтавить
некоторые выводы в gschem, ÑмеÑтить Ñимвол в начало координат и Ñохранить
его в подходÑщий каталог Ñимволов. При Ñтом Ñначала Ñделайте атрибуты
видимыми (Правка->Показать невидимый текÑÑ‚), а перед Ñохранением опÑть их
Ñкройте.

tragesym требует пакета python (должен работать Ñ Ð²ÐµÑ€Ñией больше 1.5).

Комментарии и вопроÑÑ‹ приветÑтвуютÑÑ.  ПоÑылайте их автору: Werner Hoch
(werner.ho@gmx.de)  
lepton-eda-1.9.10/docs/wiki/geda-gerbv_pnp_readme.html0000644000175000017500000001366613634703632017554 00000000000000

Searching for Parts and marking them on screen (in gerbv)

Searching for Parts and marking them on screen (in gerbv)

THIS FUNCTIONALITY IS ONLY AVAILABLE WHEN COMPILING GERBV AGAINST GTK2!

Please direct any comments, suggestions etc. to Juergen <juergenhaas@gmx.net>
=============================================================================
***  Support for Pick and Place files:                                   ***
***  csv-style files with/without quotes                                 ***    
***  the following delimiters are supported ';' ':' '|' ','              ***
----------------------------------------------------------------------------


----------------------------------------------------------------------------
A pick and place file has 11 columns (the first two lines a file in gerbv/examplei
are shown here) and looks like this:

Designator:Footprint:Mid X:Mid Y:Ref X:Ref Y:Pad X:Pad Y:Layer:Rotation:Comment

R29:0805_REFL:25.4mm:72.644mm:25.4mm:72.644mm:25.4mm:71.6788mm:T:90.00:1K/1%
----------------------------------------------------------------------------

Some instructions for the first time user:

after loading a PNP file a new dialog will come up offering various option of
selecting and graphically marking electronic parts.

Three modes of selecting items do exist:
1)enter any search phrase and hit enter 
     (See also paragraph "SCROLLING" further down)
        -Generally under linux regexp expressions are used such as ".*" i.e. '*'
        -All matches will be marked in the list AND on the screen
        -if you press ESC or press <ENTER> on an empty line it will deselect all
         items
        -if you had a selection already and you would like to add single items
         one by one, just hold down CTRL key while you left-click on the desired
         fields

2)just simply use left click combined with Shift and/or CTRL for manual
  mouse driven selections
  Pressing right button of mouse will not only select but also draw item on 
  selected layer

3)if you have pressed <ENTER> on an empty phrase you first of all will deselect 
  anything which was selected  and you can then enter the so-called "assembly 
  mode" by left clicking on an item and afterwards pressing space as often as 
  desired, while the select parts dialog is active. The selection will move 
  down the list one by one displaying the selected part in the window 
  automatically (with the corresponding layer being active).
  
 Alternatively 1: 
 If you had more than one item selected and you did not clear the selections list
 by <ENTER> on an empty phrase, only the first item will be taken into account
 and all others will be deselected.

 Alternatively 2:
 You can of course also select an item by clicking on it, pressing space will 
 then proceed as described

 This mode also features arrows Up/Down selection, where arrow Up will reverse 
 the action of arrow Down/Spacebar. Furthermore, holding SHIFT while pressing 
 arrow Up/Down will increase the selection in either direction 
-------------------------
More Features:  

4)Inversion of selection:
  pressing this button at any given time inverts the selection concerning the 
  whole list and upon clicking Mark button this new selection will be drawn 
  onto screen.
 
  
5)Top/bottom selection
  General:  press mark to mark selections on screen, after choosing to select 
                   top or bottom parts.

    a)in existing selection will only remove non wanted items 
          (e.g. all bottom parts if you press "top  parts") from selection
   
    b)if there is no selection, all top or all bottoms parts are selected


6)Choose available layers for marking selected parts from drop-down list
  HINT: if pick and place file is loaded last, already occupied layers 
        will not be in the drop-down list

-------------------------------------------------------------------
Hint 1:
right click functionality to know Part description.
After you have graphically marked a number of parts (say all resistors) you can
right click onto a part which is selected in the scroll-down list of available
parts in the search dialog.
Its designator, comment and footprint are then shown in the statusbar and in the log window.
This comes in handy if there are many parts you want to look at, but e.g. you already
know a fault has occurred only on one side of the board.

-------------------------------------------------------------------
Hint 2:
SCROLLING (in the dialog window)
 Scrolling generally only occurs, if search for comments is not activated AND 
 also whenever enter is hit the list will bescrolled to the first hit, 
 regardless of the search mode.
 The use of BackSpace is supported.
 If you decide to select an entry from the list of completions offered, then the
 scrolling will only occur once you press enter.

Example:
 imagine you are looking for an element labelled EU3:
 If you hit the first key (E) to enter a search phrase in the entry field, the 
 list will be scrolled to the first element matching this key (E), also entering
 a subsequent key (U) will then further refine that and scroll to the first 
 element with EU etc.
====================================================================
lepton-eda-1.9.10/docs/wiki/geda-installation.ru.html0000644000175000017500000003367513634703632017405 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English, Français.

Справка по уÑтановке

Ð’ Ñтом разделе предÑтавлена Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð´Ð»Ñ Ñ‚ÐµÑ…, кто хочет уÑтановить программы gEDA на Ñвой компьютер.

Информацию более общего плана Ñм. на Ñтранице загрузки.

ДиÑтрибутивы Debian

Репозиторий диÑтрибутива Debian Ñодержит двоичные пакеты оÑновных программных ÑредÑтв gEDA/gaf, включающие gschem, pcb, gnucap и gerbv. Из-за Ñпецифики Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ðµ программные ÑредÑтва, такие как, например, ngspice, не могут входить в диÑтрибутив Debian (либо могут находитьÑÑ Ð»Ð¸ÑˆÑŒ в разделе неÑвободных пакетов «non-free»). Однако gEDA Suite прекраÑно будет работать в Debian, еÑли вы заранее уÑтановите на Ñвоей машине некоторые пакеты Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð² (dev-пакеты) и Ñоберёте ngspice ÑамоÑтоÑтельно или уÑтановите Ñту программу откуда-то ещё. ПодробноÑти Ñм. в замечаниÑÑ… по уÑтановке в Debian.

ДиÑтрибутивы Fedora и RedHat

Ð”Ð»Ñ Ð´Ð¸Ñтрибутивов RedHat можно загрузить двоичные пакеты rpm, которые подготовил Wojciech Kazubski.

С верÑии Fedora Core 5 Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ Ñ‡Ð°Ñть gEDA доÑтупна на Ñтранице Fedora Core Extra.

ПодробноÑти Ñм. в замечаниÑÑ… по уÑтановке rpm Ð´Ð»Ñ Fedora.

ДиÑтрибутивы SuSE и OpenSuSE

Ð”Ð»Ñ Ð´Ð¸Ñтрибутивов SuSE и OpenSuSE еÑть rpm-пакеты отдельных отноÑÑщихÑÑ Ðº gEDA программ. Их подготовил Werner Hoch Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ OpenSuSE Build Service.

rpm-пакеты можно уÑтановить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ YaST, yum или многих других программ уÑтановки. Пакеты находÑÑ‚ÑÑ Ð² yum-репозитории на Ñтранице OpenSuSE или зеркала OpenSuSE.

ПодробноÑти Ñм. в замечаниÑÑ… по уÑтановке rpm Ð´Ð»Ñ SuSE.

ДиÑтрибутивы Ubuntu

ДиÑтрибутивы Mac OSX

Ð”Ð»Ñ Ð´Ð¸Ñтрибутивов Mac OSX можно загрузить поÑледние двоичные пакеты Ð´Ð»Ñ Fink, которые подготовил Charles Lepple. См. также Ð·Ð°Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð¿Ð¾ иÑпользованию gEDA на платформе Mac.

Windows

gEDA — Ñто набор программ Ð´Ð»Ñ GNU/Linux или Unix. Ð”Ð»Ñ Windows поддерживаемой верÑии нет. Ðо так как многие программы оÑнованы на кроÑÑплатформенных библиотеках GTK+, верÑию Ð´Ð»Ñ Windows можно Ñобрать. ПоÑтому, еÑли вам нужна верÑÐ¸Ñ Ð´Ð»Ñ Windows, Ñкачивайте иÑходники и пробуйте Ñобрать её ÑамоÑтоÑтельно.

ЭкÑпериментальные выпуÑки gEDA Ð´Ð»Ñ Microsoft Windowsâ„¢. Ð’ÑÑ‘ ещё в Ñтадии разработки.

Функции перехвата MinGW вÑтроены во многие Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ gEDA. ПоÑтому умелые люди уже Ñмогли Ñобрать, уÑтановить и запуÑтить многие программы в ÑиÑтемах Windows. Кроме того, программы запуÑкаютÑÑ Ð² Windows в окружении Cygwin. Однако иÑполнÑемые файлы в двоичном виде Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐµÐ¹ чаÑти gEDA Suite в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¾Ð¼ gEDA не раÑпроÑтранÑÑŽÑ‚ÑÑ. ЕÑли вы — разработчик, и хотели бы оÑущеÑтвлÑть поÑтоÑнную поддержку верÑий Ð´Ð»Ñ Windows, ÑвÑжитеÑÑŒ, пожалуйÑта, Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¾Ð¼ через ÑпиÑок раÑÑылки geda-user.

ПодробноÑти о Ñборке gEDA Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Cygwin Ñм. на Ñтранице по Cygwin в Ñтой wiki.

Вот работающий рецепт уÑтановки geda на Windows XP, опробованный 3/9/2012:

  1. Скачайте архив Ñреза диÑтрибутива Ð´Ð»Ñ Windows build-20120307.zip Ñ Ñайта http://www.delorie.com/pcb/geda-windows/ в новую папку gEDA на диÑке C:/.
  2. Разархивируйте файлы в Ñтот же каталог (C:/gEDA).
  3. ЗапуÑтите файл geda-runtime.exe Ð´Ð»Ñ ÑƒÑтановки runtime.
  4. ЗапуÑтите файл pcb-20110918.exe Ð´Ð»Ñ ÑƒÑтановки pcb.
  5. УÑтановите переменные Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð² Control panel → System → вкладка Advanced
    1. Щёлкните по «Environment Variables» (внизу)
    2. Создайте Ñледующие «User Variables» (Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ‰Ñ‘Ð»ÐºÐ½Ð¸Ñ‚Ðµ «New»):
      1. Name: PATH Value: \gEDA\bin
      2. Name: GUILE_LOAD_PATH Value: \gEDA\share\guile\1.8
      3. Name: GEDADATA Value: \gEDA\share\gEDA
  6. Скопируйте файл loaders.cache из C:/Program Files/gEDA/bin и вÑтавьте его в ÑущеÑтвующую папку C:/gEDA/lib/gdk-pixbuf-2.0/2.10.0
  7. Теперь программа gschem должна работать как положено. Ð”Ð»Ñ ÐµÑ‘ запуÑка перейдите в папку C:/gEDA/bin/ и дважды щёлкните по файлу gschem.exe
  8. Создайте подпапку C:/gEDA/Schematics и ÑохранÑйте вÑе Ñоздаваемые вами в gschem файлы в Ñтой папке (или в её подпапках).
lepton-eda-1.9.10/docs/wiki/geda-mailinglists.html0000644000175000017500000002406313634703632016745 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

gEDA Mailing Lists

Available Mailing Lists

List Name Description Posting address Access Archives
geda-help New user help geda-help@delorie.com subscribe Archive
geda-user User discussions and announcements geda-user@delorie.com subscribe Archive
geda-commits Commit notifications geda-commits@delorie.com subscribe not archived
geda-web-commits Website change notifications geda-web-commits@delorie.com subscribe not archived

Information on the gEDA developer mailing list is on the gEDA developer page.

Notes

Be sure to read all the notes before subscribing

  • Subscribing to a gEDA mailing list or communicating via any channels associated with the gEDA project means that you have read and accepted to follow the gEDA Project Code of Conduct. Thank you for your cooperation.
  • You can only post using a subscribed e-mail address. If you do not subscribe and attempt to post to one of the above lists, your post will never make it to the lists.
  • If you are having posting problems, make sure the address that you send e-mail to is the same address you subscribed with.
  • Use the posting address to send email to the list.
  • To unsubscribe follow the links on the bottom of each message from the list. Do NOT send unsubscription requests to the mailing list.
  • Advertisement of non-free commercial EDA is NOT welcome on any of the mailing lists.
  • Do NOT send spam to or harvest e-mail address from any page on this site.
  • Plain text only please! Do NOT send messages to any gEDA list in HTML.
  • Small binary attachments are okay as long as they are relevant to gEDA.

Bug notifications

The geda-bug list is no longer active. If you would like to receive notifications when bugs are posted and modified, visit the gEDA Launchpad bugs page, log in (yes, you'll need a Launchpad account) and click on “Subscribe to bug mailâ€.

Read via gmane

The gEDA mailing lists are no longer mirrored via gmane.

Search the mailing lists

There is no local search tool for the archive of the mailing lists. However, you can use an external search engine to retrieve topics that have been dealt with before. Since the many geda terms like “schematic†and “pcb†are not very specific a general web search may be swamped by false hits. Two options to look in the archives only:

  1. Use the gmane search page (march 2005 to september 2011)
  2. Restrict a google search to www.seul.org: google advanced search

Obsolete mailing lists

List Name Description Archives
geda-announce Old Announcement list web Monthly
geda-user Old User list Monthly Monthly
geda-dev Old Developer list Monthly Monthly
geda-cvs Repository commits Monthly Monthly
geda-bug Bugs/Patches Monthly Monthly
lepton-eda-1.9.10/docs/wiki/geda-ngsconvert_mp.html0000644000175000017500000001106313634703632017126 00000000000000

ngsconvert man-page

SCONVERT(1)							   SCONVERT(1)



NAME
       sconvert - convert spice formats

SYNOPSIS
       sconvert fromtype fromfile totype tofile
       sconvert fromtype totype
       sconvert

DESCRIPTION
       Sconvert	 translates  spice  output  files among three formats: the old
       binary format, a new binary format, and a new ascii format.   The  for-
       mats  are  specified  by the fromtype and totype arguments: ‘o’ for the
       old format, ‘b’ for the new binary format, and ‘a’ for  the  new	 ascii
       format.	Fromtype specifies the format to be read, and totype specifies
       the format to be written.  If fromfile and tofile are given, then  they
       are  used  as the input and output, otherwise standard input and output
       are used.  (Note that this second option is only available on UNIX sys-
       tems  - on VMS and other systems you must supply the filenames.)	 If no
       arguments are given, the parameters are prompted for.

       Binary format is the preferred format for general use,  as  it  is  the
       most  economical	 in  terms  of space and speed of access, and ascii is
       provided to make it easy to modify data files and transfer them between
       machines with different floating-point formats.	The old format is pro-
       vided only for backward compatibility. The three formats	 are  as  fol-
       lows:

       Old:

		What	      Size in Bytes

	    title		     80
	    date		8
	    time		8
	    numoutputs		     2
	    the integer 4	     2
	    variable names --
		 char[numoutputs][8] numoutputs * 8
	    types of output		  numoutputs * 2
	    node index		     numoutputs * 2
	    plot title		     numoutputs * 24
	    the actual data		  numpoints * numoutputs * 8

       Ascii:

	    Title: Title Card String
	    Date: Date
	    [ Plotname: Plot Name
	      Flags: complex or real
	      No. Variables: numoutputs
	      No. Points: numpoints
	      Command: nutmeg command
	      Variables:   0 varname1 typename1
		      1 varname2 typename2
		      etc...
	      Values:
		0     n	   n	n    n	  ...
		1     n	   n	n    n	  ...
		And so forth...
	    ] repeated one or more times


       If one of the flags is complex, the points look like r,i where r and i
       are floating point (in %e format). Otherwise they are in %e format.
       Only one of real and complex should appear.

       The lines are guaranteed to be less than 80 columns wide (unless the
       plot title or variable names are very long), so this format is safe
       to mail between systems like CMS.

       Any number of Command: lines may appear between the No. Points:
       and the Variables: lines, and whenever the plot is loaded into
       nutmeg they will be executed.

       Binary:

	    Title Card		  (a NULL terminated string)
	    Date, Time		  (a NULL terminated string)
	    [
	      Plot title	  (a NULL terminated string)
	      Number of variables   (an int)
	      Number of data points (an int)
	      flags	     (a short)
	      variable header struct (repeated numoutputs times)
		 variable name	  (a NULL terminated string)
		 variable type	  (an int)
	      set of outputs	  (repeated numpoints times)
	    ] repeated one or more times.


       A set of outputs is a vector of doubles of length numoutputs, or
       a vector of real-imaginary pairs of doubles if the data is complex.

SEE ALSO
       nutmeg(1), spice(1), writedata(3)

AUTHOR
       Wayne Christopher (faustus@cad.berkeley.edu)

BUGS
       If  variable  names  and	 the  title and plotname strings have trailing
       blanks in them they will be stripped off when the file is read,	if  it
       is in ascii format.

       If  a plot title begins with "Title:" nutmeg will be fooled into think-
       ing that this is an ascii format file.  Sconvert	 always	 requires  the
       type to be specified, however.




4th Berkeley Distribution	 20 March 1986			   SCONVERT(1)
lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-command_line.html0000644000175000017500000001205213634703632021210 00000000000000

Command-line arguments

gnetlist accepts several optional arguments on the command-line. You can get a list of them by running gnetlist -h. gnetlist also has a manpage (man gnetlist) which lists all of the command line options that it accepts.

Message output and diagnostics

-q Quiet mode. Turn off all warnings/notes/messages.
-v, --verbose Verbose mode. Output extra diagnostic information.
-h, --help Print a help message.
-V, --version Print gnetlist version information.
--list-backends Print a list of installed netlist backends.

Netlist processing

-o FILE Write the generated netlist to FILE.
-g BACKEND Specify which backend to use to generate netlist data.
-O STRING Pass an option STRING to the netlist backend.
-i Enter the interactive mode Scheme REPL instead of running a backend.
-- Treat all remaining arguments as schematic or symbol filenames. Use this if you have a schematic filename which begins with â€-â€.

Scheme extensibility

-L DIRECTORY Prepend DIRECTORY to the list of directories to be searched for Scheme files.
-c EXPR Specify a Scheme expression to be evaluated at startup.
-l FILE Specify a Scheme script to be executed before loading a backend.
-m FILE Specify a Scheme script to be executed after loading a backend.
lepton-eda-1.9.10/docs/wiki/geda-suse_9.3.html0000644000175000017500000000377213634703632015622 00000000000000

Installer 2005080X on Suse 9.3 install notes

Prerequisites:

When installing SuSE using YaST, click on the “change†button when YaST shows you your configuration. Select “software†→ “detailsâ€. Then add the following packages to your installation list:

  • C/C++ tools
  • Kernal development
  • Gnome development
  • KDE development
  • TCL/Tk development

Then change the filter to search for and install the following packages:

  • Gtk-devel
  • Termcap
  • Ncurses-devel
  • wxGTK-devel

Once these packages are installed, the installer should run to completion.

FIXME: More SuSE info to come. . . . .

lepton-eda-1.9.10/docs/wiki/geda-wip-clipboard.html0000644000175000017500000001534713634703632017007 00000000000000

Clipboard Support

Targetted for release in gEDA 1.8.0.

Introduction

Currently, if you 'copy' in gschem and 'paste' in another program (or a different instance of gschem), nothing useful happens. We should ideally try and use the system clipboard to enable transparent copying and pasting of schematic data between multiple gschem windows as well as other programs.

It would be nice to be able to:

  1. Copy in gschem, paste in text editor. Should it paste schematic file source code equivalent to copied elements?
  2. Copy in gschem, paste in another instance of gschem. How should it handle differences in component library settings between programs?
  3. Copy in gschem, paste in <program that understands images>. Should paste an image representation of the copied elements.

Consider the use case of “I want this circuit in my OpenOffice presentation, let's try the obvious thing to get it there.â€

The X clipboard

The X window system uses the arcane “selection†protocol for copy/paste between X client applications. By taking charge of a “selectionâ€, an application is able to advertise a number of different datatypes, from which another application can request the most appropriate. Two selections are usually available:

  1. The PRIMARY selection is customarily used to hold the last piece of text the user selected, and many programs paste its contents on middle-click.
  2. The CLIPBOARD selection is customarily used with an application's “Copyâ€, “Cut†and “Paste†actions.

Many desktop environments (including GNOME and KDE) run a “clipboard daemonâ€, which copies the CLIPBOARD contents and makes it available even if the original application quits.

Due to the primarily non-textual nature of schematic or symbol data, gschem should use the CLIPBOARD on copy/paste, and ignore the SELECTION.

The Windows clipboard

Research needed.

GTK clipboard API

The Gimp Toolkit used by gschem's GUI provides APIs for manipulating the X selection (see the GTK manual). Since gschem already links against GTK, and the GTK clipboard API is considerably simpler than using low-level X library calls (as well as being more portable), gschem should make use of it.

Buffers in gschem

gschem currently uses “buffers†to store cut or copied objects for pasting. A buffer is simply a GList of OBJECTs.

When a set of selected items is “copiedâ€:

  1. Any existing items in the buffer are freed (the GList and OBJECTS destroyed).
  2. The selection is recursively copied to the buffer.

When a set of selected items is “cutâ€:

  1. The copying procedure is followed.
  2. All of the selected objects are deleted.

When a set of selected items is “pastedâ€:

  1. All the items in the buffer are copied into the schematic or symbol's GList, with an appropriate translation applied.

Clipboard data types

Schematic/symbol data

Implemented in 1.5.2+.

On “copy to clipboardâ€, gschem copies the selected objects to GSCHEM_TOPLEVEL→clipboard_buffer, gets control of the CLIPBOARD selection, and advertises application/x-geda-schematic data. On receiving a request, gschem uses o_save_buffer() to convert the selected objects to gEDA's on-disk schematic format for transmission.

On “paste from clipboardâ€, gschem looks to see if the current owner of the CLIPBOARD selection is advertising application/x-geda-schematic data. If so, gschem requests the data, and uses o_read_buffer() to convert it to an object list, which it then enters the paste mode for.

To simplify the implementation, the first schematic data buffer is currently used as an intermediate store for clipboard data.

For the time being, it is assumed destination gschem instance has its library set up correctly – i.e. no changes made to the embedding status of the data being sent before serialisation.

lepton-eda-1.9.10/docs/wiki/geda-experiences.html0000644000175000017500000001465713634703632016570 00000000000000

This page should include user experiences with the gEDA suite.

Paul Csanyi's experiences

Hello!

My name is Paul Csanyi. I am a technics teacher in an elementary school.

I use mainly Debian GNU/Linux operating system. I have installed the gEDA suite on my system.

I am a newbe to the electronics and to the gEDA tools, but the electronics is so interesting theme to me so I decide to study gEDA tools and use it for making some simple projects. With these simple projects I intend to teach my pupils to fundamentals of electronics.

I tried first the gEDA GUI, but then I red that it is better to use gEDA from the command line, so I did so.

I have tried several times gEDA tools to make some simple projects. Up to the present I learn how to use gschem tool very easily. I made schematics easily.

But then I need a symbol that I can't find in gschem library, so I decide to make it. I follow the tutorial http://wiki.geda-project.org/geda:tragesym_tutorial and ask some questions on the mailing list geda-user (The list is not active anymore - check archives and current lists).

Here in this Wiki I want to share some of mine experiences with the gEDA suite. I want to share some addons to the tragesym tutorial.

If these thoughts are specific for the Debian system, like the place of the tragesym_template.gz file, then I shall write a note of this.

I made a symbol for the 36-pin Centronics connector.

From the “Tragesym tutorialâ€:

Step1: Open a tragesym template file

  • open xterm window: eg.: urxvt
  • cp /usr/share/doc/geda-doc/wiki/_media/tragesym_template.gz ~/gEDA/gaf/

Note: This is Debian specific.

  • cd gEDA/gaf/
  • gzip -d tragesym_template.gz
  • Open in OpenOffice the tragesym_template file. I get OpenOffice Calc with opened file. “Set the type, style and position column to the most common value.†I have saved this tragesym_template file for the future use.

Step2: Download the part data sheet and find the pin list

Step3: Copy the pin list into an editor and prepare it

  • I have tried Midnight Commander as editor, but XEmacs is much better for this. I make Tabs between columns. From XEmacs I copy the lines into OpenOffice Calc.

Step4: Insert all missing data into the spreadsheet

  • In OpenOffice Calc I inserted all missing data. The label of the Pin 36 is 'IN SEL' and have a negation overbar, so I write in the approppriate column: \_IN\ SEL\_ Note that here is a space between 'IN' and 'SEL'. Maybe it is trivial, but if one have a space in the label this works.

Step5: Export the spreadsheet into a tab seperated text file

  • In OpenOffice I did File / Save As / Filename: tragesym_template-for_36-pin_centronics_connector / Filetype: Structural text (CSV) (.csv) / Filter setup: on / Save / Text boundary: empty

Step6: execute tragesym and create the symbol

  • tragesym tragesym_template-for_36-pin_centronics_connector 36-pin-centronics.sch

Step7: check the result with gschem and do some artwork

  • “Now we have a complete symbol.â€
  • “You can copy the symbol to your local symbol library e.g. /usr/local/share/gEDA/sym/local/ and use it.â€

cp 36-pin_centronics.sch /home/username/gEDA/gaf/gschem-sym/connectors/36-pin_centronics.sym

This symbol can be viewed here:
http://www.mediamax.com/paul_csanyi/Hosted/gschem_schems/36-pin-centronics.sym (dead link)

In this symbol I put the footprint: “SUBD_FEMALE_LAY 25†but this is not the approppriate footprint for the 36-pin Centronics connector. I tried to find footprint for the 36-pin Centronics connector here: http://www.gedasymbols.org/, but with no success.

I think I gone to make one 36-pin Centronics footprint soon, using “PCB Footprint Guide†here:
http://wiki.geda-project.org/geda:pcb_footprints. :-)

lepton-eda-1.9.10/docs/wiki/geda-faq.html0000644000175000017500000007012413634703632015014 00000000000000

Translations of this page are also available in the following languages: Français, РуÑÑкий.

gEDA FAQ

What is the gEDA project?

The gEDA project has produced and continues working on a full GPL'd suite and toolkit of Electronic Design Automation tools. These tools are used for electrical circuit design, schematic capture, simulation, prototyping, and production. Currently, the gEDA project offers a mature suite of free software applications for electronics design, including schematic capture, attribute management, bill of materials (BOM) generation, netlisting into over 20 netlist formats, analog and digital simulation, and printed circuit board (PCB) layout.

The gEDA project was launched by Ales Hvezda in Spring 1998 in order to advance the state of free hardware and open source hardware. Over the past ten years, the gEDA software and the community have grown considerably. A few people are contributing to the original tools, while others are doing their own development on their own tools. “gEDA†does not refer solely to the original tools anymore (those tools now stand on their own), but instead to all the projects which are free and are somehow associated with this webpage or the gEDA mailing lists. By associating with gEDA, free software authors do not give up any control over their tools, but they gain a community which cares about quality and free (as in freedom) EDA tools.

gEDA can be pronounced “gee-daahhh†(rhymes with cheetah) or “g-dahhh (short g).

What is gEDA/gaf and how does it relate to gEDA?

gaf stands for “gschem and friendsâ€. It is a subset of the entire tool suite grouped together under the gEDA name. gEDA/gaf is a collection of tools which currently includes:

  • gschem: A schematic capture program
  • gnetlist: A netlist generation program
  • gsymcheck: A syntax checker for schematic symbols
  • gattrib: A spreadsheet programm that manipulates the properties of symbols of a schematic
  • libgeda: Libraries for gschem gnetlist and gsymcheck
  • gsch2pcb: A tool to forward annotation from your schematic to layout using PCB
  • some minor utilities

The gEDA/gaf tools share a common file format (.sch) and also share a common link library (libgeda.so). The gEDA/gaf source distribution can be found on this website (http://www.geda-project.org).

Even though gaf is very much a part of gEDA, the gEDA name does not necessarily only apply to gaf – tools gathered under the “gEDA†moniker include many other programs. Indeed, gEDA refers to any GPL'd EDA tool which decides to associate itself with the gEDA website/mailing list. Important examples of gEDA tools include the layout program PCB, the Verilog compiler Icarus Verilog, the analog circuit simulator gnucap, and the open-source SPICE simulator ngspice. Many other gEDA programs also exist.

For historical reasons, on freshmeat gaf is known as the package “gEDAâ€.

What is the gEDA suite?

The gEDA suite is the collection of all the various tools that are part of, associated with, or just plain work with the gEDA project’s software. Currently the gEDA suite includes:

  • Tools for schematic capture and netlisting:
  • Tools for digital and analog simulation:
    • spice – netlister for SPICE simulation
    • ngspice – SPICE simulation
    • gnucap – modern “post-spice†(and SPICE) analog and mixed signal circuit simulator
    • Icarus Verilog – Verilog simulator
    • covered – Verilog Code Coverage Analyzer
    • gspiceui – GUI front end for ngspice/gnucap
  • Tools for pcb layout and manufacturing:
    • pcb – PCB layout
    • gerbv – Gerber viewer
    • wcalc – Transmission line and electromagnetic structure analysis
    • mcalc – Microstrip Analysis/Synthesis Calculator
  • Libraries of symbols and footprints for all the above:

Why? What makes gEDA so different from other EDA tools?

Tools in the gEDA suite and associated tools have the following characteristics:

  • Free in the monetary sense (no cost).
  • All the file formats and source code are available via the GPL license. This license grants specific rights to the authors and users of GPL'd software.
  • Independence from any one vendor. All gEDA tools come with full source. You may freely redistribute, change, improve and port the tools. You may also distribute your changes, if you follow the terms of the GPL.
  • No mechanism is used to restrict the use of the tools (like making use of hard disk serial numbers or ethernet addresses to force the software to only run on one machine).
  • No arbitrary, marketeering-driven limitations. Free versions of commercial tools usually include capricious limitations (i.e. limited design size, inability to print, inability to export netlists, etc.) which cripple the program, and force the serious user to buy the real tool. In contrast, the gEDA tools are fully-featured, and do not arbitrarily impose limits on design as a way of extracting money from you.
  • Legacy design protection. Since the software will always be available, and can always be updated to work with updated operating systems or libraries, gEDA tool design files will always be viewable and editable.
  • Open design flow. This means that the tools talk to each other via known and documented means (files / APIs). It is easy to replace a tool or augment the tools with something else if you so desire. The gEDA suite is an EDA toolkit. The individual pieces are loosely coupled and allow for end users to customize or replaces parts of the design flow.
  • Stability - Bugs which cause crashes are investigated immediately and fixed as soon as possible.
  • Minimize bloat and unnecessary features.
  • Run on as many platforms as possible. For gEDA/gaf: GNU/Linux, various other Unix systems.
  • Developed in an open (no secrets) fashion.
  • Strive to be documented.

gEDA may not have all the latest cutting edge features found in other packages and may be viewed sometimes as being on the trailing edge of EDA technology, but the tools are becoming useful to a lot of people for the above mentioned reasons.

Why does the gEDA Suite seem like a collection of random programs, and not a single integrated application?

The gEDA suite is indeed a confederacy of somewhat independent programs. This happened for reasons of history: Ales Hvezda started the gEDA project more or less on his own. The original vision was to produce an end-to-end software suite for creating PC boards so that robotics hobbiests could design their own boards. However, as the gEDA project progressed the large magnitude of this task became clear – and coding many of the proposed apps had not even begun!

Meanwhile, other software developers – with their own independently written applications – found the gEDA project vision compelling. The authors of those applications joined Ales and contributed their programs to the gEDA project. Amongst the contributed projects was “pcbâ€, a ten year old (at that time) PCB layout program. With the contribution of “pcbâ€, gEDA’s originally planned layout tool “gpcb†was scuttled. At the same time, other developers contributed analog and digital simulators, waveform viewers, and so on.

In this way the gEDA suite came together. It is not shared code, or a common user interface which distinguishes the gEDA suite. Rather, the shared vision of an open-source EDA environment is the thread which holds the project together. Today, the gEDA Suite is a collection of many different programs contributed by many different authors. The apps strive to work together, and usually succeed. But the separate beginnings of each program in the suite are still observable. Nonetheless, with a little work the various components of the suite are interoperable, and many people have completed quite complex board designs using the gEDA suite.

In the end, the best way to think about the gEDA suite is as an EDA toolkit. This toolkit approach gives the end user considerable control. End users can modify or completely replaces parts of the design flow to suit their own requirements.

So which is better, a suite (i.e. confederacy) of programs or an integrated application?

This is ultimately a matter of religion. I’ll summarize some of the pros and cons (as I see them) of each approach here.

Suite (confederacy) pros:

  • You can use “best of breed†applications for each part of the design flow. That is, you can use the standard gEDA flow gschem → gsch2pcb → pcb to create a PC Board. However, if you think that the open-source application “pcb†stinks, you can use the flow gschem → gnetlist → Protel (for example). Recall that gnetlist can output more than twenty different netlist formats! Moreover, if you don’t like one component of the flow, you can write another tool to replace it. Now at this time it is true that only a single application generally exists to perform a particular task. However, this situation will likely change with time – witness the forking of the “pcb†project, the contributed netlister gnetman, as well as the HEC project. As a general rule, the suite approach offers the greatest freedom to the user.
  • The design flow has a lot of natural breakpoints. These occur where one design tool completes its job and writes out a file (i.e. gschem writes out a .sch file, or gnetlist writes out a SPICE netlist). At this point, you can easily break into the flow and write scripts which process and/or munge the design data. For big, advanced designs, this is a real advantage to the “design suite†approach. This advantage may appeal only to the “power userâ€, but note its importance: professional-grade EDA suites (Synopsys, Xilinx) also work the same way.
  • Usage of an applications suite can be automated using a Makefile, or even a Perl script. ASIC designers do this all the time with their design and synthesis tools. Some gEDA users have stated on the e-mail list that they do this too, and point to it as an important feature of the gEDA suite.

Suite (confederacy) cons:

  • More confusing to new users, since they don’t know the flow right off the bat. That is, they actually need to RTFM to know what tool to run next. Good documentation helps (that’s why you’re reading this), but documentation is always second choice behind developing an intuitive application interface.
  • Different programs have different UI conventions. That is, menu organization, keyboard and mouse bindings are inconsistent. This can be uncomfortable even to those who are familiar with the programs.
  • Since no assumptions are made about the design flow, schematic symbols are necessarily light. This forces the user to spend more time attaching e.g. footprint attributes to his design. Moreover, the user must spend more time actually researching which footprints to use.
  • Some developers are more energetic than others, or have more free time. Therefore, some programs in a suite will be more developed (and less buggy) than others. Unfortunately, a single buggy program in a suite can unfairly taint a new user’s perception of the entire suite.

Monolithic application pros:

  • A single, unified design environment is easier for new users to grasp.
  • It is easier to harmonize UI conventions.
  • Schematic capture symbols can be heavy, so less work is required in attaching attributes to each symbol in a schematic.

Monolithic application cons:

  • Not infinitely scalable. One developer can’t do everything, no matter how smart. Therefore, a monolithic app will never approach the size or power of a suite developed by a confederacy of programmers.
  • Lack of choice. If the developer doesn’t like your way of doing things, you have no choice. Even if you submit patches to enable your way of performing a task, there is a chance the main developer will ignore or reject your patches. This is probably not an issue for newbies, but for “power users†it represents a problem.
  • Risk. If the developer quits, the code becomes abandoned, and the users suffer. This effectively happened to the program XTrkCAD, a CAD program for designing model railroads. The author of this program quit developing it, but thankfully placed his stuff on Sourceforge so that the program wouldn’t simply disappear. Unfortunately, without the original developer’s involvement, the code languished. Patches contributed to the project went to /dev/null. Eventually, a coalition of concerned user/developers created a fork of the code to enable further development. However, work on the forked code has been piecemeal and sporadic. (Hopefully, this will change someday.) Meanwhile, for the ordinary user, the fact that the original developer quit represents a catastrophe.

Tool XXX is missing critical feature YYY! What can I do?

Newbies sometimes show up on the gEDA mailing lists and flame the project for missing features, perceived bugs, and supppoesd UI quirks. The gEDA developers are very interested in receiving constructive feedback and criticism, so we do welcome feature requests and bug reports. But please keep in mind that the developers are full-time professional EEs or software engineers, and work on gEDA as an unpaid, fun hobby. Unconstructive or ill-informed flames are not the way to get new features implemented.

If you need a new feature implemented in one of the gEDA tools, here are your options:

  • Write it yourself. The code is open and available for everybody to see, understand, and modify. If you have implemented a new feature, please submit your patches to the project; chances are good that they will be incorporated into the main development branch.
  • Ask politely on the gEDA e-mail lists. If your feature request is simple, or of interest to one of the developers, it's possible that somebody will implement your feature. If it's more complicated, it's likely that the feature is already under discussion amongst the developers, but nobody has enough spare time to implement it. (You can also submit feature requests via the Launchpad bug tracker.) Please don't rant or flame on the e-mail lists, since you will likely be flamed right back and you won't get your feature either. Why waste your time?
  • If the above possibilities don't work for you, hire an open-source developer to write the feature for you! It's amazing how often this possibility is ignored. People willing to pay $25,000 – $100,000 for commercial EDA tools will balk at paying a teen-age programming whiz $10/hr to re-create the same features in the gEDA Suite. Why? If you're an educator, consider hiring some students for a UROP project to work on gEDA. If you run a business, hire a teenager or somebody fresh out of school! And if you want seasoned help, you can (soon) turn to some of the main gEDA developers who do consulting.

What license does gEDA use?

All of the tools and associated files in gEDA will be released under the GNU General Public License version 2 (GPL), from the Free Software Foundation.

From the license:

“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.â€

This cannot be stressed enough: gEDA is GPLed software. Therefore nothing proprietary can be distributed with gEDA like part libraries from proprietary EDA products. Conversion programs for proprietary libraries will be available, but any converted files which are part of a proprietary product must never find their way into gEDA. Contributed files must be GPLable (or be placed under another free license). Please keep this in mind if you wish to contribute something.

Even though the focus of gEDA is GPLed software, other software licenses are more than welcome to be mixed with the existing software, as long as they are compatible with the GPL.

For more information about the license used by gEDA, please read the licensing page.

Where can I get more information about and download gEDA?

The official website is gEDA Project.

There are several mailing lists. Please look at the mailing lists page for how to subscribe and post.

You can download all the software from the download page.

You can find the latest set of documentation on the top-level documentation page.

Okay, how do I start using gEDA?

The most important thing to do is to read and understand one or both of the tutorials available online:

Also be sure to check out the other gEDA documentation. An installation guide is contained in this Wiki, as is some general information about how to use the tools. Spend some time browsing, download the gEDA Suite, and try it out for yourself!

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-running_gschem.html0000644000175000017500000000510113634703632021203 00000000000000

Running gschem

Are you looking for help with installing gEDA?

gschem can be launched directly from your system applications menu: look for “gEDA Schematic Editorâ€, which can be found in the “Engineering†or “Electronics†submenus on most Linux systems. It can also be run by opening a schematic file (ending in .sch) from a file browser window.

Alternatively, you can run gschem from the command line using the gschem command. You can run it without any arguments just to open a new, untitled schematic:

gschem

or you can specify the names of some schematic or symbol files to open:

gschem mydesign.sch symbols/resistor-1.sym

If any of the schematic or symbol files you specify don't already exist, gschem will create a new, empty file with that name.

gschem accepts several optional arguments that can be specified on the command line to alter its behaviour. They are also detailed in the gschem manpage (which you can view by running man gschem).

lepton-eda-1.9.10/docs/wiki/geda-faq-pcb.ru.html0000644000175000017500000002446513634703632016212 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

ЧаÑто задаваемые вопроÑÑ‹ по pcb

Что такое pcb?

pcb — Ñто программа, позволÑÑŽÑ‰Ð°Ñ Ð²Ð°Ð¼ чертить («разводить») дорожки (проводники) Ð´Ð»Ñ Ñвоих печатных плат («Printed Circuit Board» — «PCB»).

Как уÑтановить pcb?

Как узнать больше о pcb?

Сколько Ñлоёв поддерживаетÑÑ Ð² pcb?

«Из коробки» pcb поддерживает 16 проводÑщих Ñлоёв. Ðо некоторые пользователи напиÑали заплаты, чтобы поддерживалоÑÑŒ больше.

Правда ли, что в pcb нет возможноÑти Ñделать «механичеÑкий Ñлой» Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ„Ð¸Ð·Ð¸Ñ‡ÐµÑких контуров платы и её размеров?

Ðет. Линии на Ñлое Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ outline интерпретируютÑÑ ÐºÐ°Ðº физичеÑкие границы платы. Также Ñмотрите вот Ñто замечание в более обÑтоÑтельных Ñоветах по pcb.

Как Ñпроектировать печатную плату?

Это выходит далеко за рамки наÑтоÑщего документа. ÐеÑколько Ñоветов можно найти здеÑÑŒ:

Да, но как Ñпроектировать печатную плату Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ pcb?

Ð’ общем, начинаете Ñо Ñхемы, запуÑкаете gsch2pcb, чтобы Ñоздать ÑпиÑок Ñоединений. Смотрите FAQ по gsch2pcb. Затем можете пробежатьÑÑ Ð¿Ð¾ учебнику От gschem - к pcb.

Затем… Эй, вы Ñлышали о РуководÑтве Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ pcb, Советах по pcb и о Краткой Ñправке по pcb?

Как наÑчёт поÑадочных меÑÑ‚ компонентов?

Смотрите ПоÑадочные меÑта в pcb.

Кроме того, много неофициальных файлов поÑадочных меÑÑ‚ Ð´Ð»Ñ gEDA имеетÑÑ Ð½Ð° Ñайте Open Circuits http://opencircuits.com/PCB_Footprints.

Я затратил кучу времени, чтобы найти информацию по программе pcb из-за её двуÑмыÑленного имени. Почему бы вам её не переименовать?

Эта программа — довольно Ñтарый проект, корни которого уходÑÑ‚ в Ñру домашних компьютеров Atari. Она вÑегда называлаÑÑŒ «pcb». Современные разработчики ниÑколько не намерены прерывать Ñту традицию.

ЕÑть ли ÑвÑзь между gEDA pcb и opencircuitdesign PCB?

gEDA pcb и opencircuitdesign pcb?

Одно и то же, разные поколениÑ…

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-components.ru.html0000644000175000017500000003522413634703632021020 00000000000000

Компоненты

Компонентом в Ñхеме называетÑÑ ÑкземплÑÑ€ Ñимвола из библиотеки Ñимволов. Компонент Ñлужит Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ð¾Ð¹ подÑхемы, либо ÑобÑтвенно Ñлектронного компонента или уÑтройÑтва, которое должно иÑпользоватьÑÑ Ð² разрабатываемой Ñхеме.

Ð”Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð° на Ñтраницу Ñхемы нажмите I или выберите в меню Добавить→Компонент… [Add→Component…], в результате чего откроетÑÑ Ð¾ÐºÐ½Ð¾ «Выбор компонента» [«Select Component…»]. Окно Ñодержит три оÑновных облаÑти:

  • Ð’ левой чаÑти окна находитÑÑ Ð¾Ð±Ð»Ð°Ñть ÑпиÑка библиотек — облаÑть, где можно выбрать Ñимвол, который нужно добавить на Ñтраницу.
  • Ð’ правой чаÑти окна находитÑÑ Ð¾Ð±Ð»Ð°Ñть предпроÑмотра — здеÑÑŒ можно увидеть изображение выбранного Ñимвола и его атрибуты.
  • Внизу окна раÑположено меню режима вÑтавки, предназначенное Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° ÑпоÑоба вÑтавки компонента.

Компоненты должны добавлÑтьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в Ñхемы, в Ñимволы их добавлÑть не Ñледует.

Выбор уже иÑпользуемого компонента

ПереключившиÑÑŒ в облаÑти выбора компонентов на вкладку ИÑпользуемые [In Use], можно увидеть ÑпиÑок уже иÑпользуемых в Ñхеме Ñимволов. Ð”Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° Ñимвола из Ñтого ÑпиÑка щёлкните по нему левой кнопкой мыши.

ЕÑли Ñтот ÑпиÑок нужно обновить, щёлкните по кнопке Обновить [Refresh], раÑположенной под ÑпиÑком компонентов.

Выбор компонента из библиотеки Ñимволов

Информацию о наÑтройке того, какие библиотеки Ñимволов должны отображатьÑÑ Ð² диалоговом окне выбора компонентов, Ñм. в разделе ÐаÑтройка gschem.

Чтобы выбрать Ñимвол из библиотеки Ñимволов, щёлкните по вкладке Библиотечные [Libraries] в верхней чаÑти облаÑти выбора компонентов. При Ñтом отобразитÑÑ ÑпиÑок имеющихÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐº. Чтобы увидеть Ñимволы какой-либо библиотеки, дважды щёлкните по её названию или по Ñтрелке Ñлева от неё. Ð”Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° Ñимвола из ÑпиÑка щёлкните по нему левой кнопкой мыши.

Кроме того, можно воÑпользоватьÑÑ Ð¿Ð¾Ð¸Ñком нужного Ñимвола Ñреди вÑех доÑтупных, набрав чаÑть его Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð² поле ввода Фильтр: [Filter], которое находитÑÑ Ð¿Ð¾Ð´ ÑпиÑком библиотек.

Иногда ÑпиÑок библиотек и Ñимволов может быть необходимо обновить (например, еÑли вы изменили библиотеку Ñимволов, в то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº программа gschem была запущена). Ð”Ð»Ñ Ñтого щёлкните по кнопке Обновить, находÑщейÑÑ Ñправа под ÑпиÑком Ñимволов.

Добавление компонента в Ñхему

Когда компонент выбран, Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ на Ñтраницу нужно щёлкнуть в облаÑти Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñхемы оÑновного окна программы левой кнопкой мыши. Далее можно либо продолжить вÑтавлÑть копии компонентов левой кнопкой, либо щёлкнуть правой Ð´Ð»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð²Ñтавки.

Окно «Выбор компонента» в процеÑÑе Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² можно Ñкрыть, Ð´Ð»Ñ Ñтого нужно щёлкнуть по кнопке OK. Тогда при завершении Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‰ÐµÐ»Ñ‡ÐºÐ¾Ð¼ правой кнопки вновь будет открыто Ñто окно.

Режимы вÑтавки Ñимволов и внедрение

Ð’ gschem Ñимвол в Ñхему можно вÑтавить Ñ‚Ñ€ÐµÐ¼Ñ ÑпоÑобами:

  1. Как компонент, ÑвлÑющийÑÑ ÑÑылкой на библиотечный Ñимвол (Ð’Ñтавить как ÑÑылку (по умолчанию) [Default behavior - reference component]). Этот вариант уÑтановлен по умолчанию, что обеÑпечивает обновление вÑех ÑкземплÑров Ñимвола в Ñхеме в Ñлучае Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñтого Ñимвола в библиотеке.
  2. Как компонент, данные Ñимвола Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ копируютÑÑ Ð½ÐµÐ¿Ð¾ÑредÑтвенно в Ñхему (Внедрить в Ñхему [Embed component in schematic]). Внедрение Ñимвола в Ñхему облегчает его ÑовмеÑтное иÑпользование Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ пользователÑми без необходимоÑти наÑтройки иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ñ… библиотек Ñимволов.
  3. Как отдельные объекты, получаемые в результате Ñ€Ð°Ð·Ð±Ð¸ÐµÐ½Ð¸Ñ Ñимвола на чаÑти (Ð’Ñтавить как отдельные объекты [Include component as individual objects]).

Компонент, ÑвлÑющийÑÑ ÑÑылкой, можно внедрить, выделив его и выбрав в меню Правка→Внедрить компонент/изображение [Edit→Embed Component/Picture]. Преобразовать внедрённый компонент обратно в ÑÑылочный можно Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Правка→ИÑключить компонент/изображение [Edit→Unembed Component/Picture].

ЕÑли внедрённый компонент не ÑоответÑтвует в полной мере какому-то Ñимволу в имеющихÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ°Ñ…, выбор Правка→ИÑключить компонент/изображение не приведёт к его изменению.

ЕÑли поÑле Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° иÑходного Ñимвола в библиотеке внедрённый компонент хочетÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ, иÑпользуйте Правка→Обновить компонент [Edit→Update Component].

Редактирование Ñимволов

Чтобы изменить файл Ñимвола какого-либо компонента, выделите его и выберите пункт меню ИерархиÑ→Войти в Ñимвол [Hierarchy→Down Symbol]. Страница Ñтого Ñимвола будет открыта и отобразитÑÑ Ð² gschem, и её можно будет отредактировать. Ð”Ð»Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾ в Ñхему поÑле Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñохраните файл и иÑпользуйте ИерархиÑ→Ðаверх [Hierarchy→Up]. Может быть, Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾ чтобы Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ñ€Ð°Ð·Ð¸Ð»Ð¸ÑÑŒ в изображении Ñхемы, вам придётÑÑ Ð²Ð¾ÑпользоватьÑÑ Ð¿ÑƒÐ½ÐºÑ‚Ð¾Ð¼ меню Правка→Обновить компонент.

ОтÑутÑтвующие Ñимволы

ЕÑли в процеÑÑе загрузки Ñхемы некоторые из иÑпользуемых в ней Ñимволов в имеющихÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ°Ñ… найти не получаетÑÑ, вмеÑто них будут отображатьÑÑ Ð·Ð½Ð°ÐºÐ¸ предупреждениÑ.

ПроÑмотр документации по компоненту

При разработке Ñимвола Ð´Ð»Ñ ÐºÐ°ÐºÐ¾Ð³Ð¾-нибудь компонента, добавьте ÑÑылку на документацию на Ñтот компонент Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ атрибута documentation. См. также раздел Ðтрибуты.

Ð’ Ñимволе компонента может быть ÑÑылка на Ñпецификацию или какую-то другую отноÑÑщуюÑÑ Ðº нему документацию. ПоÑмотреть Ñту документацию можно выделив компонент и выбрав в меню Ð¡Ð¿Ñ€Ð°Ð²ÐºÐ°â†’Ð”Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð½Ð° компонент [Help→Component Documentation].

lepton-eda-1.9.10/docs/wiki/pcb-projects.ru.html0000644000175000017500000002633013634703632016367 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

Редактор топологии печатной платы

ВозможноÑть «раздвижки»

ВозможноÑть «раздвижки» («plow» feature) — когда при проведении линии Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ инÑтрумента LINE она раздвигает ÑущеÑтвующие дорожки в Ñтороны, ÑтараÑÑÑŒ Ñохранить, где Ñто возможно, ÑоответÑтвие нормам проектированиÑ.

СложноÑть = 4-5

Ðлгоритм быÑтрого Ð¾ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ñ‡ÐµÐº привÑзки

Реализовать алгоритм быÑтрого Ð¾ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ñ‡ÐµÐº привÑзки и разрешить тот Ñлучай, когда вÑтавка точки приводит к ÑамопереÑечению.

Ð’ pcb Ð´Ð»Ñ Ð²Ñех объектов иÑпользуетÑÑ Ñ†ÐµÐ»Ð¾Ñ‡Ð¸ÑÐ»ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¾Ñ€Ð´Ð¸Ð½Ð°Ñ‚Ð½Ð°Ñ ÑиÑтема. Ð’ коде обрезки полигонов раÑÑчитываютÑÑ Ð²Ñе точки переÑечений между Ð´Ð²ÑƒÐ¼Ñ Ð½ÐµÑамопереÑекающимиÑÑ ÐºÐ¾Ð½Ñ‚ÑƒÑ€Ð°Ð¼Ð¸ (помимо прочего, что там делаетÑÑ), но координаты Ñтих точек переÑÐµÑ‡ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð¶Ðµ должны быть целыми чиÑлами.

Ðлгоритм быÑтрого Ð¾ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ñ‡ÐµÐº привÑзки замещает два Ñегмента, переÑекающихÑÑ Ð½Ðµ в точках их концов, Ñ‡ÐµÑ‚Ñ‹Ñ€ÑŒÐ¼Ñ Ñегментами Ñ ÐºÐ¾Ð¾Ñ€Ð´Ð¸Ð½Ð°Ñ‚Ð°Ð¼Ð¸, ÑвлÑющимиÑÑ Ñ†ÐµÐ»Ñ‹Ð¼Ð¸ чиÑлами и близкими к иÑходной точке переÑÐµÑ‡ÐµÐ½Ð¸Ñ (координаты которой не целые чиÑла). Так как Ñ‚Ð°ÐºÐ°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¾ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð¸Ñ Ð² точке переÑÐµÑ‡ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚ изменить наклон каждого из четырёх Ñегментов в Ñравнении Ñ Ð¸Ñходными двумÑ, она вызывает возможноÑть Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ñ‹Ñ… переÑечений между Ñегментами, замещающими прежние, и другими Ñегментами контура, не ÑущеÑтвовавших Ð´Ð»Ñ Ð¿ÐµÑ€Ð²Ð¾Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ñегментов. Ðлгоритм Ð¾ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ñ‡ÐµÐº привÑзки должен произвеÑти такой набор Ñегментов, вÑе переÑÐµÑ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… находÑÑ‚ÑÑ Ð² конечных точках Ñегментов Ñ Ñ†ÐµÐ»Ñ‹Ð¼Ð¸ координатами. Ð’ ÑущеÑтвующем коде pcb Ñто уже делаетÑÑ, но там иÑпользуетÑÑ Ð°Ð»Ð³Ð¾Ñ€Ð¸Ñ‚Ð¼, в теории более медленный по Ñравнению Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ извеÑтными, такими как:

“Improved output-sensitive snap rounding,†John Hershberger, Proceedings of the 22nd annual symposium on Computational geomerty, 2006, pp 357-366. http://doi.acm.org/10.1145/1137856.1137909

Ðлгоритмы, напиÑанные такими авторами, как de Berg, Goodrich, Halperin, Hobby возможно также были бы лучше, чем реализованные в наÑтоÑщее времÑ.

Кроме того, ÑущеÑтвуют редкие, но реальные Ñитуации ухудшениÑ, когда результаты Ð¾ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ñ‡ÐµÐº привÑзки в одном (или обоих) контурах имеют ÑамопереÑечениÑ, которых не было ранее. Эти ÑамопереÑÐµÑ‡ÐµÐ½Ð¸Ñ Ñ„Ð°Ñ‚Ð°Ð»ÑŒÐ½Ñ‹ Ð´Ð»Ñ Ð½Ð°ÑˆÐµÐ³Ð¾ кода обрезки полигонов. Мы не знаем, решают ли Ñту проблему алгоритмы Ð¾ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ñ‡ÐµÐº привÑзки, приведённые в Ñтой литературе, или нет, но еÑли нет, нам нужно разработать иной алгоритм, который её решит, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ли умного выбора Ñоздаваемых точек округлениÑ, или на Ñтапе поÑÑ‚-обработки, на котором ÑамопереÑÐµÑ‡ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ удалÑтьÑÑ Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ñ‹Ð¼ иÑкажением геометрии оригинальных контуров.

СложноÑть = 4-5

ИнÑтрумент Ñ‡ÐµÑ€Ñ‡ÐµÐ½Ð¸Ñ Ñ Ð°Ð²Ñ‚Ð¾Ñ‚Ñ€Ð°ÑÑировкой

По ÑущеÑтву Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñтого инÑтрумента вы могли бы щёлкнуть в начальной точке, перемеÑтить перекреÑтие курÑора в какую-то другую (обычно промежуточную) точку, возможно на другом Ñлое, и инÑтрумент автотраÑÑировки показал бы предполагаемый маршрут до Ñтой точки (ÑÐ¾Ð±Ð»ÑŽÐ´Ð°Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ðµ нормы и Ñ‚Ñ€ÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ ÑтилÑ). ЕÑли вам не нравитÑÑ Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð½Ð°Ñ Ð´Ð¾Ñ€Ð¾Ð¶ÐºÐ°, вы могли бы нажать какую-нибудь клавишу, чтобы поÑмотреть более дорогой вариант, или какую-то другую клавишу, чтобы откатитьÑÑ Ðº менее дорогому варианту. Предполагаемый маршрут мог бы динамичеÑки изменÑтьÑÑ Ð¿Ñ€Ð¸ перемещении перекреÑÑ‚Ð¸Ñ ÐºÑƒÑ€Ñора Ð´Ð»Ñ Ð´Ð¾ÑÑ‚Ð¸Ð¶ÐµÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ им точки. ЕÑли бы было невозможно найти путь, дорожка бы пропадала. Щелчок мышью приводил бы к добавлению предложенной дорожки и к переходу инÑтрумента в новую начальную точку (таким же образом, как Ñто делаетÑÑ ÑÐµÐ¹Ñ‡Ð°Ñ Ð´Ð»Ñ Ð¸Ð½Ñтрумента LINE).

СложноÑть = 5

КалькулÑтор поÑадочных меÑÑ‚ IPC

Создать калькулÑтор поÑадочных меÑÑ‚, который принимал бы правила IPC и производил поÑадочное меÑто Ð´Ð»Ñ pcb. Предпочтительно напиÑать его таким образом, чтобы Ñдро программы не завиÑело от графичеÑкого интерфейÑа, Ñ Ñ‚ÐµÐ¼ чтобы программу можно было иÑпользовать в Ñкриптах Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ñ… ÑемейÑтв поÑадочных меÑÑ‚ или привÑзать её к выбранному графичеÑкому интерфейÑу (lesstif, gtk, может даже cgi). Может быть потребуетÑÑ ÐºÑƒÐ¿Ð¸Ñ‚ÑŒ IPC-7351 (приблизительно в $100 СШÐ) и проверить, что кому-нибудь разрешаетÑÑ Ð¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÑти такой калькулÑтор.

СложноÑть = 2

ЭкÑпорт IPC-356

IPC-D-356 — ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ формата ÑпиÑка Ñоединений, иÑпользуемого Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ñтвенной проверки печатных плат. Она определÑет информацию и о ÑоединениÑÑ…, и о положении контактных площадок, облегчаÑ, таким образом, иÑпользование автоматичеÑкого теÑÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñле производÑтва печатной платы. Ð’ данном проекте вам надо реализовать программу ÑкÑпорта, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð±Ñ‹ пиÑала IPC-D-356-ÑовмеÑтимый файл из pcb. Ð¡Ð¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ IPC-D-356 доÑтупна по адреÑу: http://www.solidigm.com/downloads/ipc356.pdf.

СложноÑть = 3

Перечень поÑледних загруженных файлов

Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð² меню Файл программы pcb не отображаетÑÑ Ð¿ÐµÑ€ÐµÑ‡ÐµÐ½ÑŒ поÑледних загруженных файлов. Было бы здорово, еÑли бы pcb отÑлеживала неÑколько поÑледних загруженных пользователем файлов. Это ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть в других программах.

СложноÑть = 1

lepton-eda-1.9.10/docs/wiki/geda-spice_polys.html0000644000175000017500000001120213634703632016566 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий

Spice POLY Constructs

This is a draft of what I've learned about POLYs. I'm not sure it's completely accurate, so anyone should feel free to make corrections.

Different versions of spice use different methods of modeling non-linear dependent sources, Eg. ASRC, Bxxxx, Exxxx, Gxxxx, Fxxxx, Hxxxx, etc…

Some like NGspice use arbitrary expressions with conditionals, others like GNUcap use polynomials and curve fitting. The POLY function seems to be the least common denominator of these, though Spice3 doesn't support them. Polynomials were the first tool used to approximate non-linear relationships because they are well behaved functions, and spice can easily find the derivative at a point which is used in the numerical solutions. The down side is you have to do some extra work with other tools to get the coefficients for your polynomial description.

Some common problems with polynomial approximations are:

  1. They rapidly become useless outside a limited domain. BSIM models are indeed prone to unphysical behavior at operating points outside the domain of their approximations because they use polynomial adjustments for some computations.
  2. It takes a lot of terms to do a decent approximation of a function whose shape isn't very “polynomial likeâ€.

The other method is to use an arbitrary expression with something like if-then-else functionality or the piece wise linear functions. They are simpler to formulate but incur the risk of discontinuities which can cause serious convergence problems. However they are much more convenient for hacking something together.

A lot of effort has gone into having the best of both worlds. The PWL functions often use small curves to smooth the transition from one derivative to the next. and the expressions using the if-then-else functions are forced to make gradual transitions between different values. In general the libraries use polynomial approximations where they can and constrain them to areas where they are useful. Examples of this in Gnucap are the fit and table statements.

However, if you want to try out your models in other spice versions you'll probably want to do the extra work to describe their behavior in terms of the POLY statement which unfortunately (as of this writing) is not documented very well in Ngspice or Gnucap. Here is one place it is:

http://newton.ex.ac.uk/teaching/CDHW/Electronics2/userguide/secC.html

To do the curve fitting I suppose you could use tools like Gnuplot, Grace, or Simfit.

Note that for Ngspice to support POLYs you need to set that compile time option see: http://www.brorson.com/gEDA/SPICE/x496.html

— Clif Eugene 2010/11/23 01:31

lepton-eda-1.9.10/docs/wiki/geda-debian.ru.html0000644000175000017500000000510013634703632016104 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English, Français.

Программа уÑтановки 20070221 Ð´Ð»Ñ Debian/testing

iso-образ Ñодержит бинарные пакеты Ð´Ð»Ñ Ð²Ñех утилит разработки Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом, необходимых Ð´Ð»Ñ Ñборки gEDA Suite. Тем не менее рекомендуетÑÑ Ð¾ÑтановитьÑÑ Ð½Ð° верÑиÑÑ… ÑобÑтвенных пакетов Debian, чтобы избежать неÑовмеÑтимоÑти пакетов. Ð’ апреле 2007 года Ð´Ð»Ñ ÑƒÑтановки iso-образа 20070221 gEDA/gaf на ÑвежеуÑтановленной ÑиÑтеме Debian/Lenny были необходимы Ñледующие пакеты:

  • pkg-config
  • libreadline5-dev
  • libgd2
  • libgd2-dev
  • guile1.6-dev
  • libwxgtk2.6-dev
  • libgtk2.0-dev
  • flex
  • bison
  • g++

Менеджер пакетов Debian при разрешении завиÑимоÑтей может значительно увеличить данный ÑпиÑок.

lepton-eda-1.9.10/docs/wiki/geda-syntax_features.html0000644000175000017500000001160413634703632017467 00000000000000

Syntax features

The new gEDA Project Wiki pages are hosted using Dokuwiki version 09 March 2006. This wiki-engine has several enhancements:

  • Bug fixes.
  • A new toolbar in the editor.
  • Syntax enhancements.
  • Updates to the Search feature. You can now search for exact phrases by enclosing them with double quotes, and use “*†wildcard searches.
  • Google sitemap support. Your edited content will be indexed by Google much faster.
  • You can upload and embed other files into the pages using the MediaPopup feature on the toolbar in the editor (including image files, flash files, PDF files, etc.). Please note that image/media files can not be removed once uploaded by an author.
  • Footnotes.
  • Larger global cache, allowing for larger documents (currently set to 20 MB).
  • You can subscribe to e-mail pagechange notification, on a wiki-page by wiki-page basis. If you are interested in monitoring the changes made by others to a spicific page, simply press the “Subscribe Changes†button at the bottom of the wiki-page. To unsubscribe from a wiki-page, simply press the “Unsubscribe Changes†button.
  • URLs are now “prettyâ€.
  • Breadcrumbs (i.e., the line at the top of the browser's window that starts with “Trace:â€. This is a “where are you†indicator.
  • Wiki-pages can be exported to different formats (e.g., plain-text, simple XHTML (the page without navigational elements), rendered XHTML (no head or body tags), HTTP).
  • The <code></code> tag supports syntax highlighting for numerous programming languages.
  • A playground for authors to “play†with new features, before implimenting on the wiki's pages.
  • Control of Dokuwiki's caching operations. This is important to wiki-page authors, as sometimes a page gets cached by Dokuwiki on the server, and needs to be purged. Remember, what the author sees may not be what others see.
    This is different than your browser's cache, which may occassionally need to be flushed. For example, when the PHP global memory limit is exceeded, that wiki-page can't be displayed, even if the PHP global memory limit is changed on the server. You would need to flush your browser's cache to load and view the wiki-page.
  • XMLRPC access to edit pages with tools like vim with DokuVimKi plugin.
lepton-eda-1.9.10/docs/wiki/geda-tragesym_tutorial.ru.html0000644000175000017500000005400713634703632020452 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English, Français.

БыÑтрое и лёгкое Ñоздание Ñимволов gschem Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ tragesym и программы работы Ñ Ñлектронными таблицами

Создание Ñимволов Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð½Ñ†Ð¸Ð¿Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ñхем отнимает очень много времени, чревато ошибками и вообще неимоверно мучительно. К ÑчаÑтью, gschem иÑпользует открытый текÑтовый формат файлов, легко поддающийÑÑ Ñкриптовой обработке. Ð’ Ñтом кратком руководÑтве приводитÑÑ Ð¾Ð¿Ð¸Ñание того, как Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñкрипта tragesym очень быÑтро Ñоздать Ñимвол (может быть гораздо быÑтрее, чем в любом из коммерчеÑких пакетов).

Ðеобходимые шаги

  • Шаг 1: Открывание файла шаблона tragesym
  • Шаг 2: Загрузка Ñпецификации уÑтройÑтва и поиÑк цоколёвки Ñ Ð¿ÐµÑ€ÐµÑ‡Ð½ÐµÐ¼ выводов
  • Шаг 3: Копирование Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² в редактор и его обработка
  • Шаг 4: Добавление недоÑтающих данных в Ñлектронную таблицу
  • Шаг 5: ЭкÑпорт Ñлектронной таблицы в отдельный текÑтовый файл
  • Шаг 6: ЗапуÑк tragesym Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñимвола
  • Шаг 7: Проверка результата в gschem и Ð½ÐµÐ±Ð¾Ð»ÑŒÑˆÐ°Ñ Ð´Ð¾Ð²Ð¾Ð´ÐºÐ°

Шаг 1: Открывание файла шаблона tragesym

Ð’ tragesym входÑÑ‚ два файла-шаблона. Один — в текÑтовом варианте, второй — в виде Ñлектронной таблицы OpenOffice. Также их можно найти в пакете gEDA-утилит (utils/examples/tragesym/template.src и utils/examples/tragesym/template.ods). ЕÑли вы предпочитаете другую программу работы Ñ Ñлектронными таблицами, например gnumerik или kspread, то проÑто Ñоздайте Ñвой ÑобÑтвенный шаблон из текÑтового шаблона. ЕдинÑтвенное различие между текÑтовым шаблоном и шаблоном в виде Ñлектронной таблицы — ÑинтакÑÐ¸Ñ Ð¿Ð°Ñ€ «ключ-значение» в разделах [options] и [geda_attr]. Ð’ текÑтовом файле они разделены знаком равенÑтва (ключ=значение), в Ñлектронной таблице значение находитÑÑ Ð²Ð¾ втором Ñтолбце (что даёт разделитель в виде знака табулÑции при ÑкÑпорте).

Шаг 2: Загрузка Ñпецификации уÑтройÑтва и поиÑк цоколёвки Ñ Ð¿ÐµÑ€ÐµÑ‡Ð½ÐµÐ¼ выводов

Ð’ данном примере мы Ñоздадим Ñимвол Ð´Ð»Ñ Philips Semiconductor PCA9555 16-bit IIC IO port. ОпиÑание продукта и ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð´Ð¾Ñтупны на Ñайте Philips: http://www-us.semiconductors.philips.com/cgi-bin/pldb/pip/pca9555.html. Загрузите Ñпецификацию и откройте её в программе проÑмотра PDF, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñет копировать текÑÑ‚ из pdf-файла, такой как kpdf или acroread. ПролиÑтайте Ñтраницы, пока не найдёте цоколёвку уÑтройÑтва:

kpdf_pinconfiguration.png acroread_selectiontable.png

Перечень выводов в Ñпецификации может находитьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ на изображении конфигурации выводов («Pin configuration» на первом риÑунке). ЕÑли же имеетÑÑ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° (второй риÑунок из другой Ñпецификации), иÑпользуйте её.

Шаг 3: Копирование Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² в редактор и его обработка

Выделите перечень выводов и Ñкопируйте его в текÑтовый редактор. Этот промежуточный шаг необходим, поÑкольку вашей программе работы Ñ Ñлектронными таблицами может понадобитьÑÑ Ñпециальный разделитель полей, такой как, например, запÑÑ‚Ð°Ñ Ð¸Ð»Ð¸ знак табулÑции.

Примечание: поведение программ kpdf и acroread при выделении различаетÑÑ. Программа kpdf, кажетÑÑ, Ñоздаёт копию, более похожую на графичеÑкое предÑтавление, в то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº acroread производит вывод, более ориентированный на «поÑледовательноÑть внутри файла». ЕÑли вам нужно Ñоздать много Ñимволов, попробуйте обе программы и Ñравните результаты.

xemacs_rawselection.png xemacs_modifiedselection.png ooo_selection.png

ПредÑтавленные выше риÑунки иллюÑтрируют шаги:

  • вÑтавка Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ð· программы проÑмотра PDF в текÑтовый редактор;
  • изменение Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² на радоÑть программе работы Ñ Ñлектронными таблицами:
    • вырезание ÑпиÑка выводов Ñ 24 по 13 Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ прÑмоугольного выделениÑ;
    • вÑтавка прÑмоугольного Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñле вывода 12;
    • Ñортировка Ñтрок (xemacs Ñто умеет ;-) )
    • удаление или иÑправление Ñтрок Ñ Ð½Ð¾Ð¼ÐµÑ€Ð°Ð¼Ð¸ 2,3,… Их чаÑти оказалиÑÑŒ в разных Ñтроках. Ðомера выводов можно легко воÑÑоздать позже;
    • замещение пробелов Ñимволами табулÑции (нет оÑобой нужды, еÑли иÑпользуетÑÑ OpenOffice);
  • копирование отредактированных данных куда-то в конец шаблона Ñлектронной таблицы.

Шаг 4: Добавление недоÑтающих данных в Ñлектронную таблицу

Теперь перемеÑтите метки выводов в Ñтолбец меток (label) и номера выводов в Ñтолбец номеров выводов (pinnr). Ð”Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð² выводов можно также иÑпользовать возможноÑть Ð°Ð²Ñ‚Ð¾Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñвоей программы работы Ñ Ñлектронными таблицами.

ooo_rearanged.png

УÑтановите в Ñтолбцах тип (type), Ñтиль (style) и Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ (posit.) наиболее общие значениÑ. Снова можно иÑпользовать возможноÑть автозаполнениÑ.

Теперь вам нужно изменить некоторые значениÑ. ВзглÑните на таблицу опиÑÐ°Ð½Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² в Ñпецификации:

kpdf_pindescription.png

Ð’ ÑоответÑтвии Ñ Ñтой таблицей изменÑем Ñледующее (Ñм. результат ниже):

  • вывод 1 — выход, мы хотим иметь признаки Ð¾Ñ‚Ñ€Ð¸Ñ†Ð°Ð½Ð¸Ñ â€” кружок у вывода и черту над его меткой;
  • A1 – A3 — входы, изменÑем тип и перемещаем их на левую Ñторону;
  • уÑтанавливаем выводу SCL тип “in†(вход) и перемещаем SCL и SDA также влево;
  • изменÑем тип выводов Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ VSS и VDD и добавлÑем имена Ñоединений. Мы иÑпользуем более привычные GND и Vcc.

Примечание: еÑли одна из меток ваших выводов имеет внутри обратную коÑую черту “\â€, её необходимо заменить управлÑющей поÑледовательноÑтью “\\â€.

ooo_changedpins.png

Прежде чем продолжить, задайте надлежащие Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¼ (geda_attr) и ключам (options).

ooo_attributes.png

Шаг 5: ЭкÑпорт Ñлектронной таблицы в отдельный текÑтовый файл

Можно либо иÑпользовать функцию ÑкÑпорта Ñвоей программы работы Ñ Ñлектронными таблицами, либо проÑто выделить таблицу и Ñкопировать Ñодержимое в Ñвой любимый текÑтовый редактор и Ñохранить файл.

Шаг 6: ЗапуÑк tragesym Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñимвола

ЗапуÑтите tragesym в оболочке1):

werner@werner-amd64:~/Desktop/tragesym_tutorial> tragesym pca555.src

pca555.sch

ЕÑли tragesym выдаёт ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ð± ошибках, поправьте Ñлектронную таблицу и Ñнова выполните ÑкÑпорт, либо проÑто отредактируйте файл, полученный в результате ÑкÑпорта ранее.

Шаг 7: Проверка результата в gschem и Ð½ÐµÐ±Ð¾Ð»ÑŒÑˆÐ°Ñ Ð´Ð¾Ð²Ð¾Ð´ÐºÐ°

Теперь откройте Ñозданный Ñимвол в gschem и проверьте результат

werner@werner-amd64:~/Desktop/tragesym_tutorial> gschem pca555.sch

Разрешив Ñкрытый текÑÑ‚ (нажав «en» или выбрав из меню Правка→Показать/Ñкрыть невидимый текÑÑ‚), можно увидеть Ñгенерированный Ñимвол полноÑтью. ВовÑе не обÑзательно что-либо менÑть, но Ð½ÐµÐ±Ð¾Ð»ÑŒÑˆÐ°Ñ Ð¿ÐµÑ€ÐµÑтановка выводов может немного улучшить вид Ñимвола.

gschem_showhidden.png gschem_finished.png

Теперь Ñимвол готов. Его можно Ñкопировать в Ñвою локальную библиотеку Ñимволов, например /usr/local/share/gEDA/sym/local/, и иÑпользовать в проектах.

Заключение

Ð’ проÑтом примере, приведённом выше, иÑпользуетÑÑ Ð½Ðµ очень много выводов, данный же метод окупаетÑÑ Ñ Ð»Ð¸Ñ…Ð²Ð¾Ð¹, когда выводов очень много (как, например, в bga-272, tfqp-100, и Ñ‚. д.).

БлагодарноÑти

Большое ÑпаÑибо <Russ.Dill(AT)asu.edu>, который напиÑал первую верÑию наÑтоÑщего руководÑтва. Эту верÑию можно найти на Ñтранице http://www-mdp.eng.cam.ac.uk/web/CD/engapps/geda/geda-doc/tutorials/tragesym/tragesym.html.

1) Ðвтор иÑпользует Ð´Ð»Ñ Ñимвола раÑширение .sch, на Ñамом деле принÑто иÑпользовать .sym. — Прим. перев.
lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-introduction.ru.html0000644000175000017500000001255213634703632021736 00000000000000

Введение

gnetlist — Ñто программа Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑков Ñоединений, входÑÑ‰Ð°Ñ Ð² набор утилит gEDA (GPL Electronic Design Automation). Она иÑпользуетÑÑ Ð´Ð»Ñ Ð¸Ð·Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ о Ñлектронных компонентах и ÑоединениÑÑ… между ними из принципиальных Ñхем опиÑывающих логичеÑкую Ñтруктуру ÑлектричеÑких Ñхем. gnetlist умеет выводить целый Ñ€Ñд форматов ÑпиÑков Ñоединений, которые далее могут автоматичеÑки обрабатыватьÑÑ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ утилитами, такими как программы Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð³Ð¸Ð¸ печатных плат или программы моделированиÑ.

Общие замечаниÑ

Ð’ Ñтом руководÑтве Ð´Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ñ… Ñлементов иÑпользуетÑÑ Ð½ÐµÑколько Ñоглашений по оформлению.

  • При введении новых ключевых терминов и понÑтий иÑпользуетÑÑ ÐºÑƒÑ€Ñив. Ðапример: «gnetlist принимает неÑколько аргументов командной Ñтроки.»
  • ТекÑÑ‚, который набираетÑÑ Ð² текÑтовом редакторе или в командной Ñтроке обозначаетÑÑ Ð¼Ð¾Ð½Ð¾ÑˆÐ¸Ñ€Ð¸Ð½Ð½Ñ‹Ð¼ шрифтом. Ðапример: «Ключ gnetlist --list-backends предназначен Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ ÑƒÑтановленных драйверов ÑпиÑков Ñоединений.»

Получение дополнительной помощи

ЕÑли у Ð²Ð°Ñ ÐµÑть какой-то Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¿Ð¾ иÑпользованию gnetlist, можете задать его в одном из ÑпиÑков раÑÑылки gEDA. Кроме того, Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¼Ð¾Ð¶Ð½Ð¾ задать на Ñтранице geda в Launchpad, и кто-нибудь из разработчиков попытаетÑÑ Ð½Ð° него ответить.

ЕÑли вы думаете, что нашли ошибку в gnetlist, заполните, пожалуйÑта, отчёт об ошибке в СиÑтеме отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº Launchpad и добавьте Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ тег «gnetlist». ЕÑли вы Ñможете подробно напиÑать, как воÑпроизвеÑти найденную ошибку, разработчикам будет легче быÑтро решить вашу проблему.

lepton-eda-1.9.10/docs/wiki/geda-gedasuite_installation.html0000644000175000017500000000117213634703632020775 00000000000000

This page has moved here.

lepton-eda-1.9.10/docs/wiki/geda-olib_readme.html0000644000175000017500000001261513634703632016510 00000000000000

olib (OrCAD (TM) converter) README

###############################################################
README and release notes for olib2geda - 1 settembre 2002
OrCAD (TM) lib ASCII dump to gEDA .sym converter
###############################################################


What it olib2geda?
It's a simple automated converter from OrCAD v4 (in SDT version 1.10) parts
library (in ASCII dump format, through "decomp" utility) to gEDA component 
definition in .sym format file.
It allow an initial dumb conversion file to file, with one lib converted in 
multiple .sym file, one per component in library.
The converted component file needs little editing to become usable, but in some
case needs no editing at all.


What olib do.
* Convert box shaped component in OrCAD (TM) lib in .sym file in gEDA format
* Place pin, pin name, pin type, pin number
* Place logic bubble when needed (DOT attribute in OrCAD (TM), for logic nega-
    tion)
* Place clock arrow when needed (CLK attribute)
* Place reference, from REFERENCE statement in OrCAD (TM)
* Place Part name as label and device name as attribute
* Parse and draw non-box component, with LINE, ARC, CIRCLE and TEXT
* Add power pin as invisible net=name:pin attribute when detected (in OrCAD (TM)
    invisible pin has tipically T0 and B0 coords)
* Through command line switch, hides pin name in VECTOR drawed symbols, allowing
    better appearance
* Write both new (20020825) and old (20020209) file format for .sym files 
    through a switch on the command line


What olib do not.
* Do not parse and store alternate component drawing (statement CONVERT in 
    OrCAD (TM))
* Do not handle drawing part using VECTOR list from another part (statement
    VECTOR 'partname' in OrCAD (TM))
* Do not handle FILL statement in VECTOR statement (incompatible with gEDA, but
    for what i know is used only for "better" part drawing)
* Do not handle multiple part in one package (slots in gEDA)


Bugs.
More and more. But for the use that I do bugs aren't so critical.
If you find a bug or want improvements to the program, feel free to contact me
at the e-mail address at the end of this text.


How to obtain last version.
Open the URL:
http://digilander.libero.it/tailchaser
in section "Linux" you can see the main page of olib.


Compile and install. 
[[ Ales here, I have incorperated olib into the ./configure build mechanism,
   so these instructions only apply if you build from Mario's distribution ]]

To compile program go in directory 'src' of the unpacked tarball, and type
'make'. This produces the binary executable, named 'olib'.
Compilation process uses the flex scanner generator to generate the file
'olib.c' from the 'olib.lex', and link the library math to the code. The binary
included in the distribution is compiled on a P266-MMX with RedHat 7.2, with gcc
version 2.96 and flex 2.5.4, but the program don't require any special feature
or critical function, as far as I know. At the end of compilation phase, you can
see two warnings:
* warning, -s option given but default rule can be matched
* warning: `yyunput' defined but not used
this is normal, don't affect program functionality, and you can safely ignore
it.
Installation is not needed for normal operations, but if you want you can copy
only the executable (olib) on a directory in the PATH.


Use of olib.
To convert library, first convert it to ASCII dump with 'decomp' utility
included in the OrCAD (TM) distribution. After that invoke the lib converter:
olib path/to/file/file_ascii prefix where 'prefix' is used to generate file name
of every symbol, like: 
prefix-partname-1.sym 
During the process, you can see a lot of ugly text scrolling in the terminal,
that show the progress of the conversion. If you want to read this text, you can
redirect the stderr output to a file: 
olib path/to/file/file_ascii prefix 2> logfile.txt
where '2>' instruct the shell to redirect stderr output to logfile.txt. 
The converter write one file per part, in the current directory. At the end of
the execution you can see a lot of file in the directory, extracted from OrCAD
library.
In the (not so improbable) case of incomplete conversion of a part (i.e. because
of unsupported VECTOR 'partname' statement), the file of the incomplete part
will be named 'prefix-partname-1.sym.part', stand for partial conversion.
If the conversion process stops with the message: "flex scanner jammed", the
converter has encountered an unknown statement, an incompatible version of
library, or a bug. If you can, please report the complete log and the library
dump, to allow corrections or improvements.


Mario Pascucci
<m.pas@libero.it>
lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-netlist_backends.html0000644000175000017500000001044213634703632022100 00000000000000

Netlist backends

Normally, gnetlist generates a netlist in two steps.

  1. The gnetlist frontend uses the human-readable schematic files to construct an intermediate form of the design.
  2. A netlist backend is used to extract information from the intermediate form and write it out to disk.

Most backends are used to write out electrical connectivity information in a machine-readable format for use by other tools. For example, the “liquidpcb†backend is used to generate a netlist to use when designing a circuit board with LiquidPCB, and the “spice-sdb†backend is often used to create netlists for use with the SPICE simulator.

Backends may have other uses, however. For example, the “bom2†backend is used for generating a list of components used (a “Bill of Materialsâ€), and the “drc2†backend carries out “design rule checking†(i.e. checking a design for commonly-made errors and potential problems).

A summary of all the netlist backends distributed with gnetlist is provided in the gnetlist manpage (which you can view by running man gnetlist).

If none of the distributed backends do what you need, you can write and install your own! For more information, see the Scripting a gnetlist backend in Scheme tutorial.

Specifying a backend

Use the -g option to indicate which backend you would like gnetlist to run. For example, to run the “bom2†backend:

gnetlist -g bom2

Listing backends

To view a list of installed backends, use the --list-backends command-line option:

gnetlist --list-backends

This will print a list of all the backends that gnetlist can find.

Interactive mode

An alternative to running a backend is to use interactive mode. When the -i option is used, gnetlist creates the intermediate form from the schematic files, and then enters a Scheme REPL (Read-Eval-Print Loop). This allows you to run Scheme commands and inspect the output, which can be useful for troubleshooting and to enable some advanced netlist processing techniques.

lepton-eda-1.9.10/docs/wiki/start_es.html0000644000175000017500000000517013634703632015172 00000000000000 lepton-eda-1.9.10/docs/wiki/best_practices.html0000644000175000017500000001057713634703632016347 00000000000000

Google Summer of Code Best Practices

2010 is the third year in which the gEDA Project has participated in Google's Summer of Code program. Through our experience, we have learned a couple of things about running a successful program. Here are the things we ask of our students to help make the GSoC experience a success for everybody.

  • Please get involved with the gEDA Project before the summer begins. We are more interested in having new developers join (and stay with) our community than we are in simply giving away easy summer jobs. Therefore, get involved now! Join our mailing lists, check the code out of git, and fiddle around with it. We will rate your application more highly if you are already a participant, and not just a new face when GSoC application time rolls around.
  • Participating in Google Summer of Code is meant to be a full time job. We expect that you will work on your project 8 hours/day from Monday to Friday. Summer of Code is not meant to be a side job. Please do not try to work on both Summer of Code and a different job during the summer – you will tire yourself out, your work quality will suffer, and you won't enjoy the experience at all.
  • Students and mentors should use the geda-developer mailing list for (almost) all communication about their GSoC project. There are several reasons for this:
    • Oftentimes, a different developer on the list can answer a question before the mentor even realizes that he's been asked.
    • It increases the sense of community for both the GSoC student, and the rest of the gEDA developers. And the gEDA Project is a community of developers, so community building is a benefit to all.
    • It provides transparency into what's going on with the project.
  • Students and mentors should also hold a weekly progress review. This review session can take place on IRC, Skype, telephone, or whatever medium is amenable to both. The reason is to make sure that the student is making progress, and isn't falling behind.
  • Students should make at least one code check-in per week. Again, this helps ensure that the student is making progress, and isn't flailing around with a problem he or she can't solve.
  • It would be useful if the mentor could post a summary of the weekly progress review somewhere, either on a project blog, a wiki, or just to geda-dev. This summary doesn't need to be more than a couple of sentences, but it helps give everybody a sense of what is going on.
  • The gEDA Project holds occasional code sprints, typically on a Saturday. GSoC students should show up and participate at these code sprints, either in person (where possible) or via IRC.

Remember – the point behind working on the gEDA Project under the GSoC program is to join a community of developers, hack code, have fun, and make some money while doing it! Following the above practices will help make sure that you become part of the community, which is good for everybody!

lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-slotting.ru.html0000644000175000017500000001304313634703632021054 00000000000000

Секции компонентов и их иÑпользование

Ð’ некоторых интегральных микроÑхемах в одном корпуÑе находитÑÑ Ð¿Ð¾ неÑколько идентичных взаимозаменÑемых уÑтройÑтв. Хорошим примером может поÑлужить клаÑÑичеÑÐºÐ°Ñ ÑÐµÑ€Ð¸Ñ Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑких Ñлементов «4000». Ðапример, в каждом корпуÑе 4001 находитÑÑ Ð¿Ð¾ 4 логичеÑких Ñлемента 2-ИЛИ-ÐЕ. Ð’ gschem и gnetlist работа Ñ Ð½Ð¸Ð¼Ð¸ поддерживаетÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ логичеÑких Ñекций.

Ð’ качеÑтве примера того, как иÑпользуютÑÑ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ñекций и неÑвные выводы, можете взглÑнуть на Ñимвол «4001-1.sym» в разделе библиотеки Ñимволов «4000-series logic».

Подробную информацию об атрибутах, иÑпользуемых Ð´Ð»Ñ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñекций, можно найти в Перечне оÑновных атрибутов.

Ð”Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¸ логичеÑких Ñекций в gnetlist иÑпользуетÑÑ Ð½ÐµÑколько атрибутов Ñимволов. Ð”Ð»Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð¹ интерпретации многоÑекционного компонента программой gnetlist он должен иметь вÑе указанные ниже атрибуты.

  1. Каждый вывод должен иметь атрибуты «pinseq=» и «pinnumber=».
  2. Ðтрибут «numslots=» показывает, Ñколько Ñекций в компоненте.
  3. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ Ñекции должно быть по одному атрибуту «slotdef=». Этот атрибут Ñодержит информацию о номерах выводов и о том, какие выводы к какой Ñекции отноÑÑÑ‚ÑÑ.
  4. Ðтрибут «slot=», прикреплÑемый к каждому компоненту в Ñхеме, указывает конкретный номер той Ñекции, которую он предÑтавлÑет.

При обработке компонента, предÑтавлÑющего Ñекцию многоÑекционного прибора, gnetlist Ñначала Ñмотрит на то, какой атрибут «slotdef=» ÑоответÑтвует значению его атрибута «slot=». Значение Ñтого атрибута «slotdef=» иÑпользуетÑÑ Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ð¸ выводов ÑоответÑтвующей Ñекции. Затем gnetlist объединÑет Ñтот компонент в одно целое Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ компонентами Ñ Ñ‚Ð°ÐºÐ¸Ð¼ же позиционным обозначением (определÑемым атрибутом «refdes=»).

Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð² gnetlist не поддерживаетÑÑ Ñквозное назначение Ñекций в иерархичеÑких Ñхемах. Секции одного прибора не могут быть раÑпределены между различными подÑхемами.

lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-slotting.html0000644000175000017500000000700013634703632020423 00000000000000

Slots and slotting

Some integrated circuits provide several identical and interchangeable devices in a single package. The classic “4000†series of logic devices is a good example of this; for example, each 4001 package contains four 2-input NOR gates. gschem and gnetlist provide support for working with these by using slots.

Check the “4001-1.sym†symbol in the “4000-series logic†symbol library for an example of how to use slotting and implicit pins.

Detailed information on slotting attributes can be found in the Master Attributes List.

gnetlist uses several symbol attributes to enable slotting. All must be present for gnetlist to process a slotted component correctly.

  1. Every pin must have a â€pinseq=†attribute and a â€pinnumber=†attribute.
  2. The â€numslots=†attribute indicates how many slots a component has.
  3. There must be one â€slotdef=†attribute for each slot. This contains information about the pin numbers of the pins associated with each slot.
  4. A â€slot=†attribute attached to each component in the schematic indicates which particular slot to use.

When processing a slotted component, gnetlist first looks for a â€slotdef=†attribute matching the value of the â€slot=†attribute. It uses the value of the â€slotdef=†attribute to renumber the pins for the correct slot. It then merges the component with other components with the same “refdesâ€.

gnetlist does not currently support slotting across hierarchy. The slots in a package cannot be split between different subcircuits.

lepton-eda-1.9.10/docs/wiki/gtkwave-projects.html0000644000175000017500000000354313634703632016647 00000000000000

GTKWave projects

  • System Verilog and/or VHDL support for RTLBrowse. Currently it's only plain-vanilla verilog from the 1995 spec.
  • More “interesting†integrations with other tools. The new Tcl interface adds a bunch of possibilities. I know one guy is using it to allow remote control from emacs through a bridge server.
  • Improved analog support. This would also mean being able to read various spice rawfiles, etc.
  • An open source equivalent to FSDB in terms of speed, file size, and capabilities of the different types of data it can store. This wouldn't necessarily be a gtkwave-only project given that I'd expect a reader/writer API that for example, icarus/ghdl and gtkwave can interface to. This is the most challenging of the bunch and would require not only coding, but lots of experimentation + throwing away code + restarting over when it's realized a better way can be used to do something.
lepton-eda-1.9.10/docs/wiki/geda-verilog_netlister_readme.html0000644000175000017500000004115113634703632021320 00000000000000

Verilog netlister README

Verilog netlister readme.

THIS IS FREE SOFTWARE, see the included file COPYING for more info.

Latest README:

	This is the fifth release of the Verilog netlister for gEDA.

	New in this release:

	1) Escaped Verilog identifiers.

	To facilitate board level simulations, the Verilog netlister now
outputs `escaped' Verilog identifiers for any net, port or instance name
that does not appear to be a valid Verilog identifier.  In this way, 
chips with numbered pins can be netlisted and models constructed to run
digital simulations of complete circuits.


		Mike Jarabek


----- OLDER README.verilog's -----

	This is the fourth release of the Verilog netlister for gEDA.

	New in this release:

	1) Multiple width wires.

How to use: (mostly taken from a previous readme... )

       Here's how to proceed to make a schematic that can be netlisted
to verilog.

	   1) Create your modules by the standard method, keep in mind
              that you must supply a `pin#' attribute for each port
              you want to create in the generated verilog.  gmk_sym is
              useful for this.

	   2) Place each of your newly created modules on the
              schematic.  You may also place primitives from the
              `verilog' symbol library.  Be sure to give a _unique_
              `uref' to every symbol you place on the schematic,
              unless two symbols are actually different parts of the
              same module, and the pins listed on each symbol do not
              have any names in common.  Otherwise they will not get
              netlisted.

	   3) Connect nets between the modules you want.  Remember, if
              you want legible Verilog later, don't forget to name all
              your nets by attaching `label' attributes to them.  For
              Multiple bit wires just use standard Verilog notation.
              The netlister will figure out which bit ordering you
              want.  Be sure to have at least one net labeled with the
              complete range expression, otherwise the netlister will
              guess at whether you wanted net[15:0] or net[0:15] in
              your declarations.  Any inconsistent ranges will be
              reported as a warning.  Strings that appear to be
              invalid Verilog identifiers will be printed with a
              warning, but otherwise ignored. (If you get a warning
              for a valid Verilog identifier, please post a bug
              report!)

	   4) Insert IPAD's, OPAD's, and IOPAD's for all the nets you
              want to be visible in the module declaration statement.
              It is especially important to make sure that the nets
              you hook up to the pads are named, as the net names
              could change from run to run, that's a bad thing. (I/O
              pads would be a good place to put the aformentionned
              full range expressions.  Range expressions on I/O pads
              are ignored when outputting the module declaration, but
              they are used in figuring out the final bit ranges.)
              Every pad must have a unique uref, otherwise the
              netlister will get confused.

 	   5) Add an unattached attribute `module_name=Your_Module'
	      somewhere on the schematic, near the title block is
	      good.  This will name the generated Verilog module
	      `Your_Module'.
		
	   6) Save your design.

	   7) Run the schematic through the netlister:

		  gnetlist -g verilog -o output.v schematic.sch

           7a) Check the output for correctness, _especially_ if you got
               any warnings. (There should be no warnings.)

	   8) Feed the netlist to your favorite simulator/synthesis tool.

	
					Mike Jarabek


        This is the third release of the Verilog netlister for geda.

        Fixed in this release:

        1) Netlister no longer barfs if there are no
           Input/Output/InOut ports on the module.

        2) Module instantiation code much improved/cleaned up, mostly
           due to g_netlist.c patch.

        New in this release:

        1) A whole wack-load of symbols, I created a C program that
           generates n-input versions of and, nand, or, nor, xor, and
           xnor symbols

        2) Modules instantiated with positional port connections.
           Just add the attribute `VERILOG_PORTS=POSITIONAL' to your

          symbol file as an unattached attribute, or attach it to the
           symbol on the schematic.

        3) Added bufif?, notif?, not and buf symbols.
        
        4) Added example of positional port module instantiation to
           the example schematic
        
        5) Added 7447 example schematic

        Coming:

        1) Module instantiation parameters. (probably by an attribute)

	
        Included in this tar-ball are three patch files against the
        19990705 version of gEDA.  Apply g_netlist.c.diff and
        g_register.c.diff to the files in gnetlist/src/ and
        gnetlist.scm.diff to gnetlist.scm in the gnetlist/scheme
        directory. You may have to regenerate prototype.h, or manually
        patch it. Replace the symbols in the sym/verilog directory
        with the symbols in this distribution. (I have modified all of
        the symbols to use the new unattached attribute convention for
        device et al.) (if you have applied the patch I sent to the
        mailing list that fixes netlisting a module with no ports, you
        may have trouble applying the gnetlist.scm.diff patch.) Don't
        forget to do a `make all install' after applying the patches.

	Once again, to netlist the example schematics to verilog type:
        (Assuming gnetlist has been patched and is properly installed.)

        gnetlist -g verilog -o test.v examples/sch/test.sch

        or

        gnetlist -g verilog -o 7447.v examples/sch/7447.sch


(This README was from 19990629)
Verilog netlister readme.

THIS IS FREE SOFTWARE, see the included file COPYING for more info.

	This is the second release of the Verilog netlister for geda.

	Fixed in this release:

	1) The last comma in the argument list to instantiations and
           module definitions is now suppressed

	2) Better handling of `special' components has been added

	New in this release:

	1) Continuous assignments to 1'b0 and 1'b1 can now be
           generated by connecting the `high' or `low' symbol to a
           net.

				Mike Jarabek
				mjarabek@playground.net



--


	This the verilog netlister for gEDA.  Included in the tarball
are several diff files against the 19990327 gEDA distribution.  All of
the patches apply to the gnetlist subirectory.  You should be able to
apply them with `patch -p1'.

      The netlister has its limitations:  (most of these will
eventually get fixed, I hope..)

	   1) Components connected by reference, (i.e. by having named
              net stubs attached to pins, but not conected by a
              continuous line) create duplicate entries in the wire
              declaration section of the verilog code.

	   2) Multiple width wires don't work.  (Busses will help
              this)

	   3) There is no way to force a signal to 1,0,z,x (yet).

	   4) Some scheme code needs to be improved. (Mainly the
              classification code, it inserts `()' elements into the
              output lists. (I should know how to fix this in a day or
              two.. too bad I never got a scheme course before..))

	   5) I don't know if this will work on multiple page schematics.

	   6) The top level module is outputted with the same name
              every time, I don't currently think there is a way to
              get at the name of the top level schematic.


      The netlister does some neat things:
      

	   1) It outputs a verilog module with proper port
              declarations, outputs are declared as outputs, inputs
              are declared as inputs, and bidirectional signals are
              declared as inouts.

	   2) All nets that are found on the design are declared as
              wires. (This is to allow for net attributes later to
              declare wand's and such)

	   3) Any components placed on the schematic that are given
              uref attributes create a verilog instantiation for the
              name of the module as stored in the `device' attribute,
              the instatiated name is given as the `uref' attribute.

	   4) All connections into and out of instantiated modules are
              made by name, and not by order, because I can't be sure
              that the order will be right coming off the schematic.
              (anyway, that's better for the long run.)
              
	   5) A comment is inserted at the top of the module to say
              that the file was automatically generated.



       Here's how to proceed to make a schematic that can be netlisted
to verilog.

	   1) Create your modules by the standard method, keep in mind
              that you must supply a `pin#' attribute for each port
              you want to create in the generated verilog.  gmk_sym is
              useful for this (with the patch to allow ascii pin names).

	   2) Place each of your newly created modules on the
              schematic

	   3) Connect nets between the modules you want.  Remember, if
              you want legible verilog later, don't forget to name all
              your nets by attaching `label' attributes to them.

	   4) Insert IPAD's, OPAD's, and IOPAD's for all the nets you
              want to be visible in the module declaration statement.
              It is especially important to make sure that the nets
              you hook up to the pads are named, as the net names
              could change from run to run, that's a bad thing.

	   5) Save your design.

	   6) Run the schematic through the netlister:

		  gnetlist -g verilog -o output.v schematic.sch

           6a) Edit the output file to have the right module name, and
               to remove any duplicate wires.


    There is an example schematic in the schematic directory, and a
    copy of the verilog netlist generated.

The mechanics:

    The I/O ports for the module are detected by enumerating all of
    the nets attached to any symbol bearing the device name of `IPAD',
    `OPAD', or `IOPAD'.  If you name one of your blocks with that
    name, don't be surprised if you find `extra' ports in the module
    declaration.

    The wires are declared by walking through the list of nets
    returned by the function that I patched into gnetlist.  This is
    the source of the duplicate wire declarations.  This should
    probably get fixed when `net_is_duplicate' gets set for
    connections made by reference.

    Module instantiations are created by enumerating the pins found on
    a symbol and connecting the nets found to the pins.  If your block
    has spelling errors, then the module instantiation won't work.
    You will have to manually trace back to find the error.

    
				Mike Jarabek



------------ Below is the previous version README -------------------

Verilog netlister readme.

THIS IS FREE SOFTWARE, see the included file COPYING for more info.


	This the verilog netlister for gEDA.  Included in the tarball
are several diff files against the 19990327 gEDA distribution.  All of
the patches apply to the gnetlist subirectory.  You should be able to
apply them with `patch -p1'.

[ editor's note, if you are reading this file in a gEDA dist, then all
  the required patching and integration is already done ]

      The netlister has its limitations:  (most of these will
eventually get fixed, I hope..)

	   1) Components connected by reference, (i.e. by having named
              net stubs attached to pins, but not conected by a
              continuous line) create duplicate entries in the wire
              declaration section of the verilog code.

	   2) Multiple width wires don't work.  (Busses will help
              this)

	   3) There is no way to force a signal to 1,0,z,x (yet).

	   4) Some scheme code needs to be improved. (Mainly the
              classification code, it inserts `()' elements into the
              output lists. (I should know how to fix this in a day or
              two.. too bad I never got a scheme course before..))

	   5) I don't know if this will work on multiple page schematics.

	   6) The top level module is outputted with the same name
              every time, I don't currently think there is a way to
              get at the name of the top level schematic.


      The netlister does some neat things:
      

	   1) It outputs a verilog module with proper port
              declarations, outputs are declared as outputs, inputs
              are declared as inputs, and bidirectional signals are
              declared as inouts.

	   2) All nets that are found on the design are declared as
              wires. (This is to allow for net attributes later to
              declare wand's and such)

	   3) Any components placed on the schematic that are given
              uref attributes create a verilog instantiation for the
              name of the module as stored in the `device' attribute,
              the instatiated name is given as the `uref' attribute.

	   4) All connections into and out of instantiated modules are
              made by name, and not by order, because I can't be sure
              that the order will be right coming off the schematic.
              (anyway, that's better for the long run.)
              
	   5) A comment is inserted at the top of the module to say
              that the file was automatically generated.



       Here's how to proceed to make a schematic that can be netlisted
to verilog.

	   1) Create your modules by the standard method, keep in mind
              that you must supply a `pin#' attribute for each port
              you want to create in the generated verilog.  gmk_sym is
              useful for this (with the patch to allow ascii pin names).

	   2) Place each of your newly created modules on the
              schematic

	   3) Connect nets between the modules you want.  Remember, if
              you want legible verilog later, don't forget to name all
              your nets by attaching `label' attributes to them.

	   4) Insert IPAD's, OPAD's, and IOPAD's for all the nets you
              want to be visible in the module declaration statement.
              It is especially important to make sure that the nets
              you hook up to the pads are named, as the net names
              could change from run to run, that's a bad thing.

	   5) Save your design.

	   6) Run the schematic through the netlister:

		  gnetlist -g verilog -o output.v schematic.sch

           6a) Edit the output file to have the right module name, and
               to remove any duplicate wires.


    There is an example schematic in the schematic directory, and a
    copy of the verilog netlist generated.

The mechanics:

    The I/O ports for the module are detected by enumerating all of
    the nets attached to any symbol bearing the device name of `IPAD',
    `OPAD', or `IOPAD'.  If you name one of your blocks with that
    name, don't be surprised if you find `extra' ports in the module
    declaration.

    The wires are declared by walking through the list of nets
    returned by the function that I patched into gnetlist.  This is
    the source of the duplicate wire declarations.  This should
    probably get fixed when `net_is_duplicate' gets set for
    connections made by reference.

    Module instantiations are created by enumerating the pins found on
    a symbol and connecting the nets found to the pins.  If your block
    has spelling errors, then the module instantiation won't work.
    You will have to manually trace back to find the error.

    
				Mike Jarabek
lepton-eda-1.9.10/docs/wiki/geda-glossary.html0000644000175000017500000003025213634703632016106 00000000000000

Translations of this page are also available in the following languages: Français, РуÑÑкий.

Glossary of gEDA (and EDA) terms

The design of electronics involves a host of specific terms. Some words have a meaning that only vaguely resembles the use in everyday life. This glossary aims to be a dictionary of terms specific to the gEDA suite, as well as to the larger world of CAD for electronics. Unfortunately, there is no universal naming scheme for concepts in the area of electronic design. The glossary will give hints on how things are called in other design suites.

(Wiki-authors: Please insert new terms according to the alphabet)

  • action: In pcb, an action is an internal command. Actions can be triggered via the GUI or via the command line interface. A sequence of assembled in a file can be executed on start-up of the application.
  • annular ring: The annular ring, sometimes also called annulus, is a diameter of copper that needs to be placed arround metalized holes like pads and vias. The minimum size of the annular ring is specified by the pcb-fab. A common requirements is 16 mil larger than the hole.
  • dead copper: A part of the copper layer which is not connected to any net defined in the netlist. By definition, this may be any object pcb defines. However, the term commonly refers to unconnected snippets of a polygon which is divided by a track.
  • design flow: The order or stages through which you take your design as you progress from initial concept, through schematic capture, attribute attachment, netlisting, and layout. The gEDA Suite uses entirely separate programs for different stages of the flow; each tool in the suite reads the output file produced by the previous tool, and writes a file to be read by the next tool in the flow. The gEDA design flow for designing a PCB is illustrated here. Note that the design flow for different tasks might look different. For example, if your goal is to simulate your circuit, you will use a different flow than that shown in the link above.
  • flag: Objects can contain a number of flags. These indicate specific properties of the object. Examples are the square flag for angular pads, or the onsolder flag for objects on the other side of the board.
  • footprint: The pattern of metal and silkscreen which defines where you place a component on a PCB. Footprints are the placed by the user onto the PC board during the “placement†phase of PCB layout (using e.g. the open-source tool PCB). A footprint is also sometimes called called a “decal†(PADS), or a “land-patternâ€.
  • gedasymbols.org: A website dedicated to present symbols, footprints, scripts, plug-ins and other stuff users contributed to the geda project. Contributions can be accessed by mouse click. The whole site can be downloaded via concurrent versions system (CVS). This also the way users maintain their page on the site. See, http://gedasymbols.org.
  • gerbers: A set of files sent to a fab representing the geometry of tracks, silk, solder mask and the outline of the board. Because each layer is represented by a separate file, it is customary to bundle them in a zip file. The offical name of the file format is “Gerber RS274Xâ€. See this web page for a cursory description of the format and this PDF for a comprehensive specification.
  • GTK-HID: The GTK version of the pcb user interface. “HID†is an acronym for “human interface deviceâ€. As the name sugests, GTK-HID uses the GTK+ widgetset and tries to comply with GTK usability standards.This is the default GUI of pcb. Menu and keyboard configuration is read from gpcb-menu.res. (See Lesstif-HID for an alternative)
  • Lesstif-HID: The Lesstif version of the pcb user interface. It uses the Lesstif widgetset, which is the open source version of Motif. Menu and keyboard configuration read from pcb-menu.res try to comply with Lesstif usability standards. If you want to give this interface a try, you have to give the option --with-gui=lesstif at compile time.
  • net: A net is the representation of a wire, or electrical connection in your schematic diagram. It is basically a line connecting two symbol pins. The term “net†is also sometimes used loosely to talk about an electrical connection (via a wire or PCB trace) in a real circuit. Some schematic capture tools call a net a “wireâ€.
  • netlist: A netlist is an text file representation of your circuit which emphasizes the connections between the different circuit elements, perhaps independently of the physical packages constituting the actual components in the circuit.
  • pad: A pad is the patch of copper to which a SMD-component is to be soldered. Although pads are usually square, they can also be rounded.
  • pin: A pin is a hole in the printed circuit that allows to connect a wired component. In many cases the hole is clad with copper by the pcb-fab. Also called a “thru-holeâ€.
  • pcb: In the context of gEDA this acronym has two distict meanings:
    1. An abbreviation of “printed circuit boardâ€. This is the actual hardware that is used to connect electronic components. It is also sometimes called a “printed wiring board†(PWB), although this usage may be dying out.
    2. A powerful, open-source tool used to design the layout of a printed circuit board. The output of the gaf tools can be used as an input to pcb.(home page of pcb)
  • rats nest: The lines drawn on the pcb working area that hint which pads still need to be connected with tracks. Unlike the actual tracks the rats nest are straight lines. If multiple pads are involved in a net, pcb tries to draw rats nests with the shortest possible length.
  • refdes: Short for reference designator. The unique designator (or name) of a component. The gEDA tools rely on the refdefs to organize the components internally. Therefore, for successful creation of a printed circuit board every component has to be linked with a refdes. Usually, the refdes consists of a few upper case letters and a digit. Examples: R1, R2, U115, CONN3. (Protel: “Designatorâ€)
  • silkscreen: This is the layer that defines the text and graphics printed on the pcb board. It usually contains the name of the board, outlines of the components and possibly their values or refdes. The origin of the name is the silk traditionally used during the print process.
  • slot: Some components contain multiple, identical devices inside a single package. The IOs for each component are mapped to different pin sets on the package. A classic example is the TTL 7400 quad nand gate. Gschem (like other schematic capture packages) handles this type of component by allowing you to draw four separate nand gate symbols, and then selecting which slot each symbol should have by attaching a slot attribute to the symbol. In the example of the 7400 quad nand, you would select slot=1 for the first appearance of the symbol, slot=2 for the second appearance, and so on. Note that in gschem you need to attach power nets to a slotted component only once. (Other schematic capture programs like Orcad require you to attach common nets – like power nets – on each instantiation of the slotted symbol.)
  • solder layer: This is the side of the board where traditional, thru hole components are soldered. (Protel: “Bottom Layerâ€)
  • symbol: A symbol is the representation of a particular component in your schematic diagram. The classic examples are squiggley lines for resistors (in US usage anyway), or a triangle for an op-amp. Using a schematic capture program (e.g. gschem) you place symbols on your board, and then wire them up to create a representation of your circuit.
  • component layer: This is the side of the board where traditional, thru hole components sit, Usually the top side of the board. (Protel: “Top Layerâ€)
  • thermal, short for thermal relief pad: A thermal is a way to connect a via with a copper plane through narrow bridges. The aim is to connect electrically, but provide enough thermal resistance to allow for convenient soldering. There is a special mode in pcb to convert the annular ring of vias into thermals. (However, vias never need thermals, since they are never soldered – only thru-holes need vias).
  • via: A via is a metalized hole that is meant to electrically connect different layers of the pcb. Usually, vias are as small as possible to save valuable real estate on the pcb. A via is made the same way as a thru-hole, but since no pin will be pushed through, it's OK for the metal to completely fill the hole (“filledâ€) and for the solder mask to completely cover the hole (“tentedâ€).
lepton-eda-1.9.10/docs/wiki/geda-gparts_cc.html0000644000175000017500000005327513634703632016222 00000000000000

gEDA » Development » Parts Manager » Component Classification

Component Classification

Part Categories

Part categories break down classes of parts hierarchically. The category hierarchy exists separately than the part hierarchy. The category hierarchy only provides the user with a system to locate parts quickly. A child in the category hierarchy does not need to inherit the attributes of a parent.

The parts manager uses categories to keep the lists of parts manageable. If the list of parts in a particular category grows large, the category can be subdivided into sub-categories.

It may be difficult to change the categories, using a GUI, because of the part table abstraction through database views and stored procedures. It may be better to distribute the parts manager with a default configuration that works for most.

Help is needed with the taxonomy of parts. Please send feedback to the geda-dev or geda-user mailing lists.

The default hierarchy of parts follow:

  • Discretes
    • Diodes
      • Small-signal
      • TVS
      • Zeners
  • Passives
    • Capacitors
    • Inductors
    • Resistors

Part Hierarchy

The part hierarchy allows the database to attach additional attributes to a class of parts. These attributes provide a faster means to locate and select parts, especially commodity parts. The database only provides these additional attributes when configured to use hierarchical part tables.

These additional attributes, stored in numeric format, allow SQL to select parts. For example, to locate diodes with reverse voltage greater than 60 volts, use the following SQL statement.

SELECT * FROM DiodeV
    WHERE VR > 60;

The intent of the part hierarchy does not include exhaustively classifying all electronic parts or fully parameterizing any class of electronic part. The part hierarchy simply intends to allow the user to quickly locate a part, such as a 4.75 kΩ 1% 0603.

TODO: Develop guidelines for subclassing part.

Proposed guidelines for including attributes:

  • Include attributes that are encoded in the manufacturer part number.
  • Exclude attributes that are inconsistently characterized between manufacturers.
  • Exclude attributes that must be either read from graphs, or calculated.

These attributes may not work for everyone, so the database allows the user to customize these part tables.

BJTs

Bipolar Junction Transistors (BJTs) extend part with one additional table of attributes.

Table name: BJT

View name: BJTV

Field Type Units Description
PartID Foreign key to Part
PackageID Foreign key to Package
Polarity Either NPN or PNP
MaxCollectorCurrent Physical AMPS Maximum collector current (Absolute maximum rating)
MaxCollectorEmitterVoltage Physical VOLTS Maximum collector-emitter voltage (Absolute maximum rating)
TransitionFrequency Physical HERTZ
PowerDissipation Physical WATTS Power dissipation (Pd) not including any derating

The same table contains small-signal and power BJTs. These transistors can be placed into separate views using the following criteria.

Category Criteria View Name
Small-signal BJT PowerDissipation < 1.0 TBD
Power BJT PowerDissipation >= 1.0 TBD

Capacitors

Capacitors extend part with one additional table of attributes.

Field Type Units Description
PartID Foreign key to Part
PackageID Foreign key to Package
Capacitance Physical FARADS Capacitance

When instantiating a component or creating a heavy symbol, the following database columns map to the following attributes.

Column Attribute Notes
Device.DeviceName DEVICE
Capacitor.Capacitance VALUE

Inductors

Inductors extend part with one additional table of attributes.

Field Type Units Description
PartID Foreign key to Part
PackageID Foreign key to Package
Inductance Physical HENRYS Inductance

When instantiating a component or creating a heavy symbol, the following database columns map to the following attributes.

Column Attribute Notes
Device.DeviceName DEVICE
Inductor.Inductance VALUE

MOSFETs

MOSFETs extend part with one additional table of attributes.

Field Type Units Description
PartID Foreign key to Part
PackageID Foreign key to Package
Polarity Either N or P
MaxDrainSourceVoltage Physical VOLTS Maximum drain-source voltage (Absolute maximum rating)
MaxDrainCurrent Physical AMPS Maximum continuous drain current (Absolute maximum rating)
TypGateThresholdVoltage Physical VOLTS Typical gate threshold voltage
PowerDissipation Physical WATTS Power dissipation (Pd) not including any derating

Rectifier, Small-signal and Switching Diodes

Rectifier, small-signal and switching diodes extend part with one additional table of attributes. Most diodes can be placed into this table.

Table name: Diode

View name: DiodeV

Field Type Units Description
PartID Foreign key to Part
PackageID Foreign key to Package
MaxReverseVoltage Physical VOLTS Maximum reverse voltage (Absolute maximum rating)
MaxForwardCurrent Physical AMPS Maximum forward current (Absolute maximum rating)
TypForwardVoltage Physical VOLTS Typical forward voltage
AveForwardCurrent Physical AMPS Average forward current

The same table contains rectifier, small-signal and switching diodes. These diodes can be placed into separate views using the following criteria.

Category Criteria View Name
Small-signal and switching diodes AveForwardCurrent < 0.5 TBD
Rectifier diodes AveForwardCurrent >= 0.5 TBD

Resistors

Resistors extend part with one additional table of attributes.

Field Type Units Description
PartID Foreign key to Part
PackageID Foreign key to Package
Resistance Physical OHMS Resistance
Tolerance Physical PERCENT Tolerance

When instantiating a component or creating a heavy symbol, the following database columns map to the following attributes.

Column Attribute Notes
Device.DeviceName DEVICE
Resistor.Resistance VALUE

TVS Diodes

TVS diodes extend part with one additional table of attributes.

Field Type Units Description
PartID Foreign key to Part
PackageID Foreign key to Package
WorkingVoltage Physical VOLTS Working voltage
BreakdownVoltage Physical VOLTS Breakdown voltage

Zener Diodes

Zener diodes extend part with one additional table of attributes.

Table name: ZenerDiode

View name: ZenerDiodeV

Field Type Units Description
PartID Foreign key to Part
PackageID Foreign key to Package
TypZenerVoltage Physical VOLTS Zener voltage
PowerDissipation Physical WATTS Power dissipation (Pd) not including any derating
lepton-eda-1.9.10/docs/wiki/geda-file_format_spec.html0000644000175000017500000021035513634703632017550 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

gEDA/gaf File Format Document

by: Ales V. Hvezda, ahvezda@geda.seul.org

This document is released under GFDL

December 31st, 2003

Overview

This file is the official documentation for the file formats in gEDA/gaf (gschem And Friends). The primary file format used in gEDA/gaf is the schematic/symbol format. Files which end with .sch or .sym are schematics or symbol files. Until there is another file type in gEDA/gaf, then this document will only cover the symbol/schematic file format.
This file format document is current as of gEDA/gaf version 20040111. This document covers file format version 1 and 2.
Note, this file format and any other file formats associated with gEDA are placed under the General Public License (GPL) version 2.0. The gEDA/gaf symbol and schematic file format is Copyright (C) 1998-2004 Ales Hvezda.

Coordinate Space

All coordinates are in mils (1/1000 of an inch). This is an arbitrary decision. Remember in there is no concept of physical lengths/dimensions in schematics and symbols (for schematic capture only).

  • Origin is in lower left hand corner.
  • The size of the coordinate space is unlimited, but it is recommended that all objects stay within (120.0, 90.0) (x, y inches).
  • It is generally advisable to have positive x and y coordinates, however, negative coordinates work too, but not recommended.

The following figure shows how the coordinate space is setup:

:geda:coordinatespace.jpg

X axis increases going to the right. Y axis increase going up. Coordinate system is landscape and corresponds to a sheet of paper turned on its side.

Filenames

Symbols end in .sym. The only symbol filename convention that is used in gEDA/gaf is that if there are multiple instances of a symbol with the same name (like a 7400), then a -1, -2, -3, … -N suffix is added to the end of the filename. Example: 7400-1.sym, 7400-2.sym, 7400-3.sym…
Schematics end in .sch. There used to be a schematic filename convention (adding a -1 .. -N to the end of the basename), but this convention is now obsolete. Schematic filenames can be anything that makes sense to the creator.

Object types

A schematic/symbol file for gEDA/gaf consists of:

  • A version (v) as the first item in the file. This is required.
  • Any number of objects and the correct data. Objects are specified by an “object typeâ€
  • Most objects are a single line, however text objects are two lines long.
  • No blank lines at the end of the file (these are ignored by the tools)
  • For all enumerated types in the gEDA/gaf file formats, the field takes on the numeric value.

The “object type†id is a single letter and this id must start in the first column. The object type id is case sensitive.
The schematic and symbol files share the same file layout. A symbol is nothing more than a collection of primitive objects (lines, boxes, circles, arcs, text, and pins). A schematic is a collection of symbols (components), nets, and buses.
The following sections describe the specifics of each recognized object type. Each section has the name of the object, which file type (sch/sym) the object can appear in, the format of the data, a description of each individual field, details and caveats of the fields, and finally an example with description.
For information on the color index (which is used in practically all objects), see the Color section.

version

Valid in: Schematic and Symbol files
type version fileformat_version

Pos.FieldType/unitDescription
# typecharv
1 versionintversion of gEDA/gaf that wrote this file
2 fileformat_versionintgEDA/gaf file format version number
  • The type is a lower case “v†(as in Victor).
  • This object must be in every file used or created by the gEDA/gaf tools.
  • The format of the first version field is YYYYMMDD.
  • The version number is not an arbitrary timestamp. Do not make up a version number and expect the tools to behave properly.
  • The “version of gEDA/gaf that wrote this file†was used in all versions of gEDA/gaf up to 20030921 as the file formats version. This field should no longer be used to determine the file format. It is used for information purposes only now.
  • Starting at and after gEDA/gaf version 20031004, the fileformat version field is used to determine the file format version. All file format code should key off of this field.
  • fileformat version increases when the file format changes.
  • The starting point for fileformat version was 1. The current fileformat is 2.
  • fileformat version is just an integer with no minor number.
  • Development versions include: 19990601, 19990610, 19990705, 19990829, 19990919, 19991011, 20000220, 20000704, 20001006, 20001217, 20010304, 20010708, 20010722, 20020209, 20020414, 20020527, 20020825, 20021103, 20030223, 20030525, 20030901, 20040111, 20040710, 20041228, 20050313, 20050820, 20060123, 20060824, 20060906, 20061020, 20070216, 20070705, 20070708, 20070818, 20071229, 20080110, 20080127, 20080706, 20081220, 20081221, 20090328, 20090829, 20090830, 20110116, 20110619, 20111231
  • Stable versions include: 20070526, 20070626, 20070902, 20071231, 20080127, 20080929, 20081220, 20081231, 20091004, 20100214, 20110115
  • CVS or test versions (should not be used): 20030921, 20031004, 20031019, 20031231, 20050814
  • Keep in mind that each of the above listed versions might have had file format variations. This document only covers the last version's file format.

Example:

v 20040111 1

line

Valid in: Schematic and Symbol files
type x1 y1 x2 y2 color width capstyle dashstyle dashlength dashspace

Pos.FieldType/unitDescription
# typecharL
1 x1int/milsFirst X coordinate
2 y1int/milsFirst Y coordinate
3 x2int/milsSecond X coordinate
4 y2int/milsSecond Y coordinate
5 colorintColor index
6 widthint/milsWidth of line
7 capstyleintLine cap style
8 dashstyleintType of dash style
9 dashlengthint/milsLength of dash
10 dashspaceint/milsSpace inbetween dashes
  • The capstyle is an enumerated type:
    • END NONE = 0
    • END SQUARE = 1
    • END ROUND = 2
  • The dashstyle is an enumerated type:
    • TYPE SOLID = 0
    • TYPE DOTTED = 1
    • TYPE DASHED = 2
    • TYPE CENTER = 3
    • TYPE PHANTOM = 4
  • The dashlength parameter is not used for TYPE SOLID and TYPE DOTTED. This parameter should take on a value of -1 in these cases.
  • The dashspace parameter is not used for TYPE SOLID. This parameter should take on a value of -1 in these case.

Example:

L 23000 69000 28000 69000 3 40 0 1 -1 75

A line segment from (23000, 69000) to (28000, 69000) with color index 3, 40 mils thick, no cap, dotted line style, and with a spacing of 75 mils in between each dot.

picture

Valid in: Schematic and Symbol files
type x1 y1 width height angle mirrored embedded
filename
[encoded picture data
encoded picture end]

Pos.FieldType/unitDescription
# typecharG
1 xint/milsLower left X coordinate
2 yint/milsLower left Y coordinate
3 widthint/milsWidth of the picture
4 heightint/milsHeight of the picture
5 angleint/degreesAngle of the picture
6 mirroredcharMirrored or normal picture
7 embeddedcharEmbedded or link to the picture file
8 filenamestringpath and filename of a not embedded picture
9 encoded picture datastringSerialized picture encoded using base64
10 encoded picture endstringA line containing only a dot character
  • This object is a picture object. The first line contains all the picture parameters, and the second line is the path and filename of the picture. The filename is not used if the picture is embedded.
  • The angle of the picture can only take on one of the following values: 0, 90, 180, 270.
  • The mirrored field is an enumerated type:
    • NOT MIRRORED = 0
    • MIRRORED = 1
  • The embedded field is an enumerated type:
    • NOT EMBEDDED = 0
    • EMBEDDED = 1 (not yet supported)
  • The encoded picture and encoded picture end fields are only in the file if the picture is embedded in the schematic:
    • encoded picture data: This is a multiple line field. The picture is serialized and then encoded using base64. This way the encoded data uses only printable characters. This field is the result of these two operations.
    • encoded picture end : A line containing only a single dot '.' character marks the end of the encoded picture data.

Example 1:

G 16900 35800 1400 2175 0 0 0
../bitmaps/logo.jpg

A picture object with the lower left corner at (16900, 35800). The width of the image is 1400 mils, and its height is 2175 mils. The picture rotation is 0 degrees and the picture is not mirrored, neither embedded.
The picture path and filename is showed in the second line.

Example 2:

G 16900 35800 1400 2175 0 0 1
../bitmaps/logo.jpg
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
.

A picture object with the lower left corner at (16900, 35800). The width of the image is 1400 mils, and its height is 2175 mils.
The picture rotation is 0 degrees, it is not mirrored, and it is embedded.
The picture path and filename is showed in the second line. Since this is an embedded picture, the filename and path are not used.
The encoded picture data is only an example (it is not real data). The last line containing a single dot '.' character marks the end of the encoded picture data.

box

Valid in: Schematic and Symbol files
type x y width height color width capstyle dashstyle dashlength dashspace filltype fillwidth angle1 pitch1 angle2 pitch2

Pos.FieldType/unitDescription
# typecharB
1 xint/milsLower left hand X coordinate
2 yint/milsLower left hand Y coordinate
3 widthint/milsWidth of the box (x direction)
4 heightint/milsHeight of the box (y direction)
5 colorintColor index
6 widthint/milsWidth of lines
7 capstyleint/milsLine cap style
8 dashstyleintType of dash style
9 dashlengthint/milsLength of dash
10 dashspaceint/milsSpace inbetween dashes
11 filltypeintType of fill
12 fillwidthint/milsWidth of the fill lines
13 angle1int/degreesFirst angle of fill
14 pitch1int/milsFirst pitch/spacing of fill
15 angle2int/degreesSecond angle of fill
16 pitch2int/milsSecond pitch/spacing of fill
  • The capstyle is an enumerated type:
    • END NONE = 0
    • END SQUARE = 1
    • END ROUND = 2
  • The dashstyle is an enumerated type:
    • TYPE SOLID = 0
    • TYPE DOTTED = 1
    • TYPE DASHED = 2
    • TYPE CENTER = 3
    • TYPE PHANTOM = 4
  • The dashlength parameter is not used for TYPE SOLID and TYPE DOTTED. This parameter should take on a value of -1 in these cases.
  • The dashspace parameter is not used for TYPE SOLID. This parameter should take on a value of -1 in these case.
  • The filltype parameter is an enumerated type:
    • FILLING HOLLOW = 0
    • FILLING FILL = 1
    • FILLING MESH = 2
    • FILLING HATCH = 3
    • FILLING VOID = 4 unused
  • If the filltype is 0 (FILLING HOLLOW), then all the fill parameters should take on a value of -1.
  • The fill type FILLING FILL is a solid color fill.
  • The two pairs of pitch and spacing control the fill or hatch if the fill type is FILLING MESH.
  • Only the first pair of pitch and spacing are used if the fill type is FILLING HATCH.

Example:

B 33000 67300 2000 2000 3 60 0 2 75 50 0 -1 -1 -1 -1 -1

A box with the lower left hand corner at (33000, 67300) and a width and height of (2000, 2000), color index 3, line width of 60 mils, no cap, dashed line type, dash length of 75 mils, dash spacing of 50 mils, no fill, rest parameters unset.

circle

Valid in: Schematic and Symbol files
type x y radius color width capstyle dashstyle dashlength dashspace filltype fillwidth angle1 pitch1 angle2 pitch2

Pos.FieldType/unitDescription
# typecharV
1 xint/milsCenter X coordinate
2 yint/milsCenter Y coordinate
3 radiusint/milsRadius of the circle
4 colorintColor index
5 widthint/milsWidth of circle line
6 capstyleint/mils0 unused
7 dashstyleintType of dash style
8 dashlengthint/milsLength of dash
9 dashspaceint/milsSpace inbetween dashes
10 filltypeintType of fill
11 fillwidthint/milsWidth of the fill lines
12 angle1int/degreesFirst angle of fill
13 pitch1int/milsFirst pitch/spacing of fill
14 angle2int/degreesSecond angle of fill
15 pitch2int/milsSecond pitch/spacing of fill
  • The dashstyle is an enumerated type:
    • TYPE SOLID = 0
    • TYPE DOTTED = 1
    • TYPE DASHED = 2
    • TYPE CENTER = 3
    • TYPE PHANTOM = 4
  • The dashlength parameter is not used for TYPE SOLID and TYPE DOTTED. This parameter should take on a value of -1 in these cases.
  • The dashspace parameter is not used for TYPE SOLID. This parameter should take on a value of -1 in these case.
  • The filltype parameter is an enumerated type:
    • FILLING HOLLOW = 0
    • FILLING FILL = 1
    • FILLING MESH = 2
    • FILLING HATCH = 3
    • FILLING VOID = 4 unused
  • If the filltype is 0 (FILLING HOLLOW), then all the fill parameters should take on a value of -1.
  • The fill type FILLING FILL is a solid color fill.
  • The two pairs of pitch and spacing control the fill or hatch if the fill type is FILLING MESH.
  • Only the first pair of pitch and spacing are used if the fill type is FILLING HATCH.

Example:

V 38000 67000 900 3 0 0 2 75 50 2 10 20 30 90 50

A circle with the center at (38000, 67000) and a radius of 900 mils, color index 3, line width of 0 mils (smallest size), no cap, dashed line type, dash length of 75 mils, dash spacing of 50 mils, mesh fill, 10 mils thick mesh lines, first mesh line: 20 degrees, with a spacing of 30 mils, second mesh line: 90 degrees, with a spacing of 50 mils.

arc

Valid in: Schematic and Symbol files
type x y radius startangle sweepangle color width capstyle dashstyle dashlength dashspace

Pos.FieldType/unitDescription
# typecharA
1 xint/milsCenter X coordinate
2 yint/milsCenter Y coordinate
3 radiusint/milsRadius of the arc
4 startangleint/degreesStarting angle of the arc
5 sweepangleint/degreesAmount the arc sweeps
6 colorintColor index
7 widthint/milsWidth of circle line
8 capstyleintCap style
9 dashstyleintType of dash style
10 dashlengthint/milsLength of dash
11 dashspaceint/milsSpace inbetween dashes
  • The startangle can be negative, but not recommended.
  • The sweepangle can be negative, but not recommended.
  • The capstyle is an enumerated type:
    • END NONE = 0
    • END SQUARE = 1
    • END ROUND = 2
  • The dashstyle is an enumerated type:
    • TYPE SOLID = 0
    • TYPE DOTTED = 1
    • TYPE DASHED = 2
    • TYPE CENTER = 3
    • TYPE PHANTOM = 4
  • The dashlength parameter is not used for TYPE SOLID and TYPE DOTTED. This parameter should take on a value of -1 in these cases.
  • The dashspace parameter is not used for TYPE SOLID. This parameter should take on a value of -1 in these case.

Example:

A 30600 75000 2000 0 45 3 0 0 3 75 50

An arc with the center at (30600, 75000) and a radius of 2000 mils, a starting angle of 0, sweeping 45 degrees, color index 3, line width of 0 mils (smallest size), no cap, center line type, dash length of 75 mils, dash spacing of 50 mils.

text and attributes

Depending on context, text objects can play different roles. Outside any environment, they represent informative lines of text. When enclosed by curly braces, they are interpreted as attributes. See the attributes section.

Valid in: Schematic and Symbol files
type x y color size visibility show_name_value angle alignment num_lines
string line 1
string line 2
string line 3
…
string line N

Pos.FieldType/unitDescription
# typecharT
1 xint/milsFirst X coordinate
2 yint/milsFirst Y coordinate
3 colorintColor index
4 sizeint/pointsSize of text
5 visibilityintVisibility of text
6 show_name_valueintAttribute visibility control
7 angleint/degreesAngle of the text
8 alignmentintAlignment/origin of the text
9 num_linesintNumber of lines of text (1 based)
10 string line 1 … NstringThe text strings, on a separate line
  • This object is a multi line object. The first line contains all the text parameters and the subsequent lines are the text strings.
  • There must be exactly num lines of text following the T … string.
  • The maximum length of any single text string is 1024, however there is no limit to the number of text string lines.
  • The minimum size is 2 points (1/72 of an inch).
  • There is no maximum size.
  • The coordinate pair is the origin of the text item.
  • The visibility field is an enumerated type:
    • INVISIBLE = 0
    • VISIBLE = 1
  • The show_name_value is an enumerated type:
    • SHOW NAME VALUE = 0 (show both name and value of an attribute)
    • SHOW VALUE = 1 (show only the value of an attribute)
    • SHOW NAME = 2 (show only the name of an attribute)
  • The show_name_value field is only valid if the string is an attribute (string has to be in the form: name=value to be considered an attribute).
  • The angle of the text can only take on one of the following values: 0, 90, 180, 270. A value of 270 will always generate upright text.
  • The alignment/origin field controls the relative location of the origin.
  • The alignment field can take a value from 0 to 8.
    The following diagram shows what the values for the alignment field mean:

fileformat_textgraphic.jpg

  • The num_lines field always starts at 1.
    The num_lines field was added starting with file format version 1. Past versions (0 or earlier) only supported single line text objects.
  • The text strings of the string line(s) can have overbars if the text is embedded in two overbar markers “\_â€. A single backslash needs to be written as “\\â€.

Example 1:

T 16900 35800 3 10 1 0 0 0 1
Text string!

A text object with the origin at (16900, 35800), color index 3, 10 points in size, visible, attribute flags not valid (not an attribute), origin at lower left, not rotated, string: Text string!

Example 2:

T 16900 35800 3 10 1 0 0 0 5
Text string line 1
Text string line 2
Text string line 3
Text string line 4
Text string line 5

This is a similar text object as the above example, however here there are five lines of text.

Example 3:

T 10000 20000 3 10 1 1 8 90 1
pinlabel=R/\_W\_

A text object with the origin at (10000, 20000), color index 3, 10 points in size, visible, only the value of the attribute is visible, text origin at upper right, the text is rotated by 90 degree, the string: “R/W†has an overbar over the “Wâ€.

net

Valid in: Schematic files ONLY
type x1 y1 x2 y2 color

Pos.FieldType/unitDescription
# typecharN
1 x1int/milsFirst X coordinate
2 y1int/milsFirst Y coordinate
3 x2int/milsSecond X coordinate
4 y2int/milsSecond Y coordinate
5 colorintColor index
  • Nets can only appear in schematic files.
  • You cannot have a zero length net (the tools will throw them away).

Example:

N 12700 29400 32900 29400 4

A net segment from (12700, 29400) to (32900, 29400) with color index 4.

bus

Valid in: Schematic files ONLY
type x1 y1 x2 y2 color ripperdir

Pos.FieldType/unitDescription
# typecharU
1 x1int/milsFirst X coordinate
2 y1int/milsFirst Y coordinate
3 x2int/milsSecond X coordinate
4 y2int/milsSecond Y coordinate
5 colorintColor index
6 ripperdirintDirection of bus rippers
  • The ripperdir field for an brand new bus is 0.
  • The ripperdir field takes on a value of 1 or -1 when a net is connected to the bus for the first time. This value indicates the direction of the ripper symbol. The ripper direction is set to the same value for the entire life of the bus object.
  • Buses can only appear in schematic files.
  • You cannot have a zero length bus (the tools will throw them away).

Example:

U 27300 37400 27300 35300 3 0

A bus segment from (27300, 37400) to (27300, 35300) with color index 3 and no nets have been connected to this bus segment.

pin

Valid in: Symbol files ONLY
type x1 y1 x2 y2 color pintype whichend

Pos.FieldType/unitDescription
# typecharP
1 x1int/milsFirst X coordinate
2 y1int/milsFirst Y coordinate
3 x2int/milsSecond X coordinate
4 y2int/milsSecond Y coordinate
5 colorintColor index
6 pintypeintType of pin
7 whichendintSpecifies the active end
  • The pintype is an enumerated type:
    • NORMAL PIN = 0
    • BUS PIN = 1 unused
  • The whichend specifies which end point of the pin is the active connection port. Only this end point can have other pins or nets connected to it.
  • To make the first end point active, whichend should be 0, else to specify the other end, whichend should be 1.
  • Pins can only appear in symbol files.
  • Zero length pins are allowed

Example:

P 0 200 200 200 1 0 0

A pin from (0, 200) to (200, 200) with color index 1, a regular pin, and the first point being the active connection end.

component

Valid in: Schematic files ONLY
type x y selectable angle mirror basename

Pos.FieldType/unitDescription
# typecharC
1 xint/milsOrigin X coordinate
2 yint/milsOrigin Y coordinate
3 selectableintSelectable flag
4 angleint/degreesAngle of the component
5 mirrorintMirror around Y axis
6 basenamestringThe filename of the component
  • The selectable field is either 1 for selectable or 0 if not selectable.
  • The angle field can only take on the following values: 0, 90, 180, 270.
  • The angle field can only be positive.
  • The mirror flag is 0 if the component is not mirrored (around the Y axis).
  • The mirror flag is 1 if the component is mirrored (around the Y axis).
  • The just basename is the filename of the component. This filename is not the full path.

Example:

C 18600 19900 1 0 0 7400-1.sym

A component who's origin is at (18600,19900), is selectable, not rotated, not mirrored, and the basename of the component is 7400-1.sym.

path

Valid in: Schematic and Symbol files
Valid since: Fileformat version 2 (release 1.5.1)
type color width capstyle dashstyle dashlength dashspace filltype fillwidth angle1 pitch1 angle2 pitch2 numlines
path data line 1
path data line 2
path data line 3
…
path data line N

Pos.FieldType/unitDescription
# typecharH
1 colorintColor index
2 widthint/milsWidth of line
3 capstyleintLine cap style
4 dashstyleintType of dash style
5 dashlengthint/milsLength of dash
6 dashspaceint/milsSpace inbetween dashes
7 filltypeintType of fill
8 fillwidthint/milsWidth of the fill lines
9 angle1int/degreesFirst angle of fill
10 pitch1int/milsFirst pitch/spacing of fill
11 angle2int/degreesSecond angle of fill
12 pitch2int/milsSecond pitch/spacing of fill
13 num_linesintNumber of lines of path data (1 based)
14 path data line 1 … Npath dataThe path data, on separate lines
  • The capstyle is an enumerated type:
    • END NONE = 0
    • END SQUARE = 1
    • END ROUND = 2
  • The dashstyle is an enumerated type:
    • TYPE SOLID = 0
    • TYPE DOTTED = 1
    • TYPE DASHED = 2
    • TYPE CENTER = 3
    • TYPE PHANTOM = 4
  • The dashlength parameter is not used for TYPE SOLID and TYPE DOTTED. This parameter should take on a value of -1 in these cases.
  • The dashspace parameter is not used for TYPE SOLID. This parameter should take on a value of -1 in these case.
  • The filltype parameter is an enumerated type:
    • FILLING HOLLOW = 0
    • FILLING FILL = 1
    • FILLING MESH = 2
    • FILLING HATCH = 3
    • FILLING VOID = 4 unused
  • If the filltype is 0 (FILLING HOLLOW), then all the fill parameters should take on a value of -1.
  • The fill type FILLING FILL is a solid color fill.
  • The two pairs of pitch and spacing control the fill or hatch if the fill type is FILLING MESH.
  • Only the first pair of pitch and spacing are used if the fill type is FILLING HATCH.
  • The format of path data is deliberately similar to that of paths in the W3C SVG standard.
  • The subset of the SVG path syntax emitted by gEDA is documented below in section Path Data.
  • As an implementation detail; libgeda takes code from librsvg, an SVG parsing library. As a result, the majority of SVG path syntax is read correctly, however this is always normalised to absolute move, line, Bézier curve and close-path commands internally (and is saved as such).
  • Coordinates along the path are specified in the standard gschem coordinate space.

Example:

H 3 10 0 0 -1 -1 0 -1 -1 -1 -1 -1 5
M 410,240
L 501,200
L 455,295
L 435,265
z

A path starting at (410,240) with lines drawn from there, and joining points (501,200), (455,295), (435,265), closing back to its origin. It has color index 3, is 10 mils thick, no cap, solid style. There are 5 lines of path data.

font

Valid in: Special font files ONLY
type character width flag

Pos.FieldType/unitDescription
# typecharF
1 charactercharThe character being defined
2 widthint/milsWidth of the character (mils)
3 flagintSpecial space flag
  • This is a special tag and should ONLY show up in font definition files.
  • If the font character being defined is the space character (32) then flag should be 1, otherwise 0.

Example:

F 11 1

The above font definition is for the space character.

Colors

In the gEDA/gaf schematic and symbol file format colors are specified via an integer index. The relationship between integer and color is based on object type. Each object type typically has one or more colors. Here is a table of color index to object type:

IndexObject type
0BACKGROUND_COLOR
1PIN_COLOR
2NET_ENDPOINT_COLOR
3GRAPHIC_COLOR
4NET_COLOR
5ATTRIBUTE_COLOR
6LOGIC_BUBBLE_COLOR
7DOTS_GRID_COLOR
8DETACHED_ATTRIBUTE_COLOR
9TEXT_COLOR
10BUS_COLOR
11SELECT_COLOR
12BOUNDINGBOX_COLOR
13ZOOM_BOX_COLOR
14STROKE_COLOR
15LOCK_COLOR
16OUTPUT_BACKGROUND_COLOR
17FREESTYLE1_COLOR
18FREESTYLE2_COLOR
19FREESTYLE3_COLOR
20FREESTYLE4_COLOR
21JUNCTION_COLOR
22MESH_GRID_MAJOR_COLOR
23MESH_GRID_MINOR_COLOR

The actual color associated with the color index is defined on a per tool bases. Objects are typically assigned their corresponding color index, but it is permissible (sometimes) to assign other color index values to different object types.

Attributes

Attributes are enclosed in braces {} and can only be text. Attributes are text items which take on the form name=value. If it doesn't have name=value, it's not an attribute. Attributes are attached to the previous object. Here's an example:

P 988 500 1300 500 1
{
T 1000 570 5 8 1 1 0
pinseq=3
T 1000 550 5 8 1 1 0
pinnumber=3
}

The object is a pin which has an attribute pinnumber=3 and pinseq=3 (name=value). You can have multiple text objects (both the T … and text string are required) in between the braces {}. As of 20021103, you can only attached text items as attributes. Attaching other object types as attributes is unsupported.
You can also have “toplevel†attributes. These attributes are not attached to any object, but instead are just text objects that take on the form name=value.
These attributes are useful when you need to convey some info about a schematic page or symbol and need the netlister to have access to this info.

Embedded Components

Embedded components are components which have all of their definition stored within the schematic file. When a users place a component onto a schematic page, they have the option of making the component embedded. Other than storing all the symbol information inside of the schematic, an embedded component is just any other component. Embedded components are defined as:

C 18600 21500 1 0 0 EMBEDDED555-1.sym
[
...
... Embedded primitive objects
...
]

In the example above, 555-1.sym is the component. The EMBEDDED tag and the [ ] are the distinguishing characteristics of embedded components. componentname.sym must exist in one of the specified component-libraries if you want to unembed the component.

Path data

The gEDA/gaf path data format has been deliberately specified to match a subset of that in the W3C SVG standard..

  • As an implementation detail; libgeda takes code from librsvg, an SVG parsing library. As a result, the majority of SVG path syntax is read correctly, however this is always normalised to absolute move, line, Bézier curve and close-path commands internally (and is saved as such).
  • Coordinates along the path are specified in the standard gschem coordinate space.
  • Those path commands which gEDA emits, and will guarantee to parse, are listed in the table below:
    (Text taken from the above SVG specification).
  • In the table below, the following notation is used:
    • (): grouping of parameters
    • +: 1 or more of the given parameter(s) is required
CommandNameParametersDescription
M (absolute)moveto(x,y)+Start a new sub-path at the given (x,y) coordinate. M (uppercase) indicates that absolute coordinates will follow; m (lowercase) indicates that relative coordinates will follow. If a relative moveto (m) appears as the first element of the path, then it is treated as a pair of absolute coordinates. If a moveto is followed by multiple pairs of coordinates, the subsequent pairs are treated as implicit lineto commands.
L (absolute)lineto(x,y)+Draw a line from the current point to the given (x,y) coordinate which becomes the new current point. L (uppercase) indicates that absolute coordinates will follow; l (lowercase) indicates that relative coordinates will follow. A number of coordinates pairs may be specified to draw a polyline. At the end of the command, the new current point is set to the final set of coordinates provided.
C (absolute)curveto(x1,y1 x2,y2 x,y)+Draws a cubic Bézier curve from the current point to (x,y) using (x1,y1) as the control point at the beginning of the curve and (x2,y2) as the control point at the end of the curve. C (uppercase) indicates that absolute coordinates will follow; c (lowercase) indicates that relative coordinates will follow. Multiple sets of coordinates may be specified to draw a polybézier. At the end of the command, the new current point becomes the final (x,y) coordinate pair used in the polybézier.
Z or zclosepath(none)Close the current subpath by drawing a straight line from the current point to current subpath's initial point.
  • gEDA's output currently emits only the absolute coordinate versions of the above commands.
  • gEDA's output currently emits the commands, M, L, C before every set of coordinates, even where they could be omitted according to the SVG specification.
  • gEDA's output places commas between x,y coordinates. These may be replaced with whitespace according to the SVG specification.
  • gEDA's does not currently support more than one sub-path.
  • gEDA currently emits one path data line per command + coordinate set.

As example, lets draw the outline of an AND gate. The path data is:

M 100,100 L 500,100 C 700,100 800,275 800,400
C 800,525 700,700 500,700 L 100,700 z

And a complete schematic:

v 20080706 1
H 3 0 0 0 -1 -1 0 2 20 100 -1 -1 6
M 100,100
L 500,100
C 700,100 800,275 800,400
C 800,525 700,700 500,700
L 100,700
z

The resulting path (with control points drawn on to illustrate their positions) is shown here:

Document Revision History

November 30th, 2002Created fleformats.tex from fleformats.html.
December 1st, 2002Continued work on this document.
October 4th, 2003Added new file format version flag info.
October 19th, 2003Added num lines text field.
November 2nd, 2008Added path object, bumping file format version to 2
May 26th, 2011Added a column for the position of parameters in the tables
lepton-eda-1.9.10/docs/wiki/geda-howto_report_bugs.ru.html0000644000175000017500000001010513634703632020436 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

Как Ñообщать об ошибках

Я нашёл ошибку! Что мне делать?

  1. Проверьте, можете ли вы повторно воÑпроизвеÑти Ñту ошибку.
  2. СпроÑите в ÑпиÑке раÑÑылки geda-user, еÑть ли ÑпоÑоб её обойти или не победили ли её уже в поÑледней верÑии gEDA/gaf. Учтите, что прежде чем пиÑать в Ñтот ÑпиÑок раÑÑылки, на него нужно подпиÑатьÑÑ.
  3. Проверьте, не отмечена ли уже Ñта проблема в ÑиÑтеме отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº компонента проекта (Ñм. ниже). ЕÑли нет, заполните отчёт об ошибке. ОбÑзательно предÑтавьте вÑÑŽ информацию, необходимую Ð´Ð»Ñ Ð²Ð¾ÑÐ¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¸, и укажите верÑию пакета gEDA/gaf, её Ñодержащую.
  4. Ðаконец, как и Ð´Ð»Ñ Ð²Ñех проектов Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом, вы можете напрÑчь Ñвои программиÑÑ‚Ñкие муÑкулы и попробовать иÑправить ошибку ÑамоÑтоÑтельно. ПожалуйÑта, предÑтавьте заплату Ñ Ð½ÑƒÐ¶Ð½Ñ‹Ð¼Ð¸ вам изменениÑми в ÑиÑтему отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº gEDA/gaf. Заплата будет охотно принÑта Ð´Ð»Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ñледующей верÑии gEDA/gaf.

СиÑтемы отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-stroke.ru.html0000644000175000017500000001331513634703632020137 00000000000000

Поддержка жеÑтов мышью

Ðекоторые дейÑÑ‚Ð²Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ вызвать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ жеÑтов мышью. ЖеÑты мышью выполнÑÑŽÑ‚ÑÑ Ð¿Ñ€Ð¸ перемещении мыши Ñ Ð½Ð°Ð¶Ð°Ñ‚Ð¾Ð¹ Ñредней кнопкой. Обычно жеÑты не включены, и чтобы включить их, в файл наÑтроек gschem нужно добавить Ñтроку:

(middle-button "stroke")

По умолчанию доÑтупны Ñледующие жеÑты:

  • ЖеÑÑ‚ в форме буквы «Z» запуÑкает выделение рамкой облаÑти, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° быть увеличена до размеров текущей видимой облаÑти окна, как при выборе Вид→ОблаÑть маÑÑˆÑ‚Ð°Ð±Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ [View→Zoom Box] (Ñм. раздел Вид и отображение Ñхем).
  • ЖеÑÑ‚ в виде линии Ñнизу вверх иÑпользуетÑÑ Ð´Ð»Ñ ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ Ð¼Ð°Ñштаба.
  • ЖеÑÑ‚ в виде линии Ñверху вниз иÑпользуетÑÑ Ð´Ð»Ñ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¼Ð°Ñштаба.
  • ЖеÑÑ‚ в форме буквы «S» приводит к возврату в режим Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ (Ñм. раздел Выделение объектов).
  • ЖеÑÑ‚ в форме буквы «C» включает режим ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ñ‹Ñ… объектов, как при выборе Правка→Копирование [Edit→Copy Mode] (Ñм. раздел Перемещение и копирование).
  • ЖеÑÑ‚ в форме буквы «M» включает режим Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð², как при выборе Правка→Перемещение [Edit→Move Mode] (Ñм. раздел Перемещение и копирование).
  • ЖеÑÑ‚ в форме буквы «E» вызывает редактирование выделенных объектов, как при выборе Правка→Правка… [Edit→Edit…].
  • ЖеÑÑ‚ в форме буквы «D» приводит к удалению выделенных объектов, как при выборе Правка→Удалить [Edit→Delete].
  • ЖеÑÑ‚ в форме буквы «L» включает режим Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð»Ð¸Ð½Ð¸Ð¹.
  • ЖеÑÑ‚ в форме буквы «N» включает режим Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñоединений.

Примеры того, как можно изменить имеющиеÑÑ Ð¸Ð»Ð¸ добавить новые жеÑты, можно поÑмотреть в ÑиÑтемном файле наÑтроек gschem.

lepton-eda-1.9.10/docs/wiki/geda-tragesym_tutorial.fr.html0000644000175000017500000003700513634703632020432 00000000000000

Autres langues: English РуÑÑкий

Créer des symboles gschem rapidement et facilement en utilisant tragesym et un tableur

La création de symboles pour le dessin de schémas peut prendre beaucoup de temps, générer beaucoup d'erreurs et de frustrations. Heureusement, gschem utilise un format de fichier texte ouvert qui est très facile à utiliser avec des scripts. Ce tutoriel succint décrit comment utiliser tragesym, un outil extérieur, pour créer des symboles très rapidement (probablement plus rapidement qu'avec tout paquet commercial).

Étapes nécessaires

  • Étape 1: Ouvrir un fichier de formulaire tragesym
  • Étape 2: Télécharger le fichier technique du composant et trouver la liste des broches
  • Étape 3: Copier la liste des broches dans un éditeur et la préparer
  • Étape 4: Insérer toutes les données manquantes dans la feuille de calcul
  • Étape 5: Exporter la feuille de calcul dans un fichier texte avec séparation par tabulation
  • Étape 6: Lancer tragesym et créer le symbole
  • Étape 7: Contrôler le résultat avec gschem et peaufiner le symbole

Étape 1: Ouvrir un fichier de formulaire tragesym

tragesym est fourni avec deux fichiers de formulaires. L'un est en texte ASCII, le second est une feuille de calcul OpenOffice. Vous pouvez aussi les obtenir depuis le paquet d'utilitaires gEDA (utils/examples/tragesym/template.src et utils/examples/tragesym/template.ods). Si vous préférez un tableur différent, comme gnumeric ou kspread, créez simplement votre propre fichier formulaire texte à partir de celui qui est fourni. La seule différence entre les formulaires texte et calcul est la syntaxe des valeurs dans les sections [options] et [geda_attr]. Le fichier texte les sépare avec un signe (clé=valeur), la feuille de calcul obtient la valeur dans la seconde colonne (qui devient une tabulation après avoir été exportée).

Étape 2: Télécharger le fichier technique du composant et trouver la liste des broches

Pour cet exemple, nous allons créer un symbole avec les ports IO du PCA9555 16-bit IIC IO de Philips Semiconductor. La description du produit et la fiche technique sont disponibles sur Philips : [http://www-us.semiconductors.philips.com/cgi-bin/pldb/pip/pca9555.html]. Téléchargez la fiche technique et ouvrez-la avec un visualiseur pdf qui permet la copie du texte à l'extérieur du PDF, tel que xpdf (téléchargeable sur [http://www.foolabs.com/xpdf/home.html]). Passez les pages jusqu'à ce que vous ayez trouvé le brochage ou le composant·:

Dans la feuille de calcul, la liste des broches peut être seulement présente dans le dessin du boîtier. S'il existe une belle table, comme dans la second image, d'un autre fichie technique, utilisez-la.

Étape 3: Copier la liste des broches dans un éditeur et la préparer

Sélectionnez la liste des broches et copiez-la dans un éditeur de texte. C'est une étape intermédiaire nécessaire car votre tableur a besoin de champs séparateurs spéciaux, comme les virgules ou les tabulations. Vous pouvez avoir à enlever les séparateurs en double ou de les remplacer avec des tabulations.

Note: Le comportement lors de la sélection de kpdf est différent de celui de acroread. kpdf semble vous donner une copie qui ressemble plus à une présentation graphique, alors que acroread fournit une sortie qui est plus «·orientée fichier·». Si vous devez créer beaucoup de symboles, testez les deux et comparez les résultats (NdT: xpdf semble fonctionner très bien au 04/12/2006 et reste très léger).

L'image ci-dessus illustre les étapes·:

  • insérez la sélection depuis votre visualiseur pdf vers un éditeur de texte
  • modifiez la liste des broches pour rendre votre tableur heureux
    • coupez la liste de 24 à 13 avec la sélection rectangulaire
    • insérez la sélection rectangulaire sous les broches 1 à 12
    • triez les lignes (xemacs peut le faire ;-))
    • enlevez ou réparez les lignes avec les numéros 2,3,… Ils ne sont pas sur la même ligne. Vous pouvez facilement recréer les numéros de broche plus tard
    • remplacez les espaces avec des tabulations (pas réellement nécessaire en utilisant OpenOffice)
  • copiez les données modifiées dans le formulaire feuille de calcul quelque part en dessous

Étape 4: Insérer toutes les données manquantes dans la feuille de calcul

Déplacez maintenant les étiquettes et les numéros de broches dans leurs colonnes respectives. Vous pouvez aussi utiliser la fonctionnalité d'autoremplissage de votre tableur pour créer les numéros de broche.

Remplissez les colonens de type, de style et de position aux valeurs les plus habituelles. Vous pouvez à nouveau utiliser la fonctionnalité d'autoremplissage Maintenant vous allez changer quelques unes de ces valeurs. Jetez un coup d'oeil sur le tableau descriptif de la fiche technique:

Selon ce tableau, nous changeons les éléments suivants (voir le résultat ci-dessus):

  • La broche 1 est une sortie, nous voudrions avoir un rond d'inversion (NdT: trad à revoir) et une barre de négation
  • A1 à A3 sont des entrées, nous changeons le type et les déplaçons sur le côté gauche
  • mettez le type de SCL en entrée et déplacez aussi SCL et SDA sur le côté gauche
  • changez le type des broches d'alimentations VSS et VDD et ajoutez des noms de net. Nous utilisons les habituels GND et Vcc.

Note: Si une de vos étiquettes contient un backslash «·\·», vous devez le remplacer par sa séquence d'échapement «·\\·».

Avant de configurer les attributs et les options aux valeurs appropriées.

Étape 5: Exporter la feuille de calcul dans un fichier texte avec séparation par tabulation

Vous pouvez soit utiliser le fonction export de votre tableur pour créer un fichier texte délimité par des tabulations ou simplement sélectionner le tableau et copier son contenu dans votre éditeur de texte et sauvegarder le fichier.

Étape 6: Lancer tragesym et créer le symbole

Utilisez un shell et exécutez tragesym:

werner@werner-amd64:~/Desktop/tragesym_tutorial> tragesym pca555.src pca555.sch

Si tragesym indique qu'il y a une erreur, faites quelques changements dans la feuille de calcul et exportez à nouveau le fichier ou éditez simplement le fichier exporté.

Étape 7: Contrôler le résultat avec gschem et peaufiner le symbole

Ouvrez maintenant le symbole généré avec et contrôlez le résultat

werner@werner-amd64:~/Desktop/tragesym_tutorial> gschem pca555.sch

En validant le texte caché («·en·», Edit→Show/Hide Inv Text), vous pouvez voir le symbole généré en entier. Il n'est pas réellement nécessaire de changer quoi que ce soit mais cela peut améliorer l'aspect du symbole si vous réarrangez un peu les broches.

Nous avons maintenant un symbole complet. Vous pouvez le copier dans votre bibliothèque locale de symboles, e.g. /usr/local/share/gEDA/sym/local/ et l'utiliser.

Conclusion

C'était un exemple simple avec peu de broches mais cela est d'autant plus rentable lorsque vous en avez beaucoup (ie, bga-272, tfqp-100, etc.).

Crédits

De grands remerciements à <Russ.Dill(AT)asu.edu>, qui a écrti la première version de ce tutoriel. Vous pouvez trouver ce tutoriel sur http://www.geda.seul.org/docs/current/tutorials/tragesym/tragesym.html (version anglaise)

NdT·: si vous voulez la version française: http://www.iznogood-factory.org/pub/gEDA/symboles.html

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-graphics.ru.html0000644000175000017500000003043113634703632020426 00000000000000

ГрафичеÑкие примитивы

Ð’ gschem иÑпользуетÑÑ Ñ€Ñд чиÑто графичеÑких Ñлементов. Они, например, могут иÑпользоватьÑÑ Ð´Ð»Ñ Ñ‡ÐµÑ€Ñ‡ÐµÐ½Ð¸Ñ Ñимволов, блок-Ñхем или заметок на полÑÑ… Ñхем, Ð´Ð»Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑкого Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ñ… функциональных чаÑтей большого проекта. Программой gnetlist они игнорируютÑÑ.

ЕÑли графичеÑкий Ñлемент выделен, Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ отображаетÑÑ Ð¾Ð´Ð½Ð° или неÑколько ручек управлениÑ, ÑоответÑтвующих положению контрольных точек объекта. Их можно иÑпользовать Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñлемента, Ð´Ð»Ñ Ñтого нужно щёлкнуть по ручке левой кнопкой мыши и, ÑƒÐ´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑƒ нажатой, перемеÑтить её в другое меÑто.

ЕÑли графичеÑкий Ñлемент ÑоздаётÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ привÑзки клавиш, меÑто раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€Ð²Ð¾Ð¹ контрольной точки определÑетÑÑ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ позицией курÑора мыши.

Линии

ПроÑтые прÑмые линии можно добавить на Ñтраницу Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Добавить→Линию [Add→Line].

ПрÑмоугольники

ПрÑмоугольники добавлÑÑŽÑ‚ÑÑ Ð½Ð° Ñтраницу Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Добавить→ПрÑмоугольник [Add→Box]. Ð”Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ñ€Ñмоугольника надо указать две его вершины, раÑположенные друг напротив друга по диагонали.

Дуги

Дуги добавлÑÑŽÑ‚ÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Добавить→Дугу [Add→Arc]. Щелчком левой кнопки мыши выбираетÑÑ Ñ‚Ð¾Ñ‡ÐºÐ° центра дуги, при Ñтом откроетÑÑ Ð¾ÐºÐ½Ð¾ «Параметры дуги» [«Arc Params»]. Ð’ нём можно задать радиуÑ, начальный угол и угол разворота дуги. Ð”Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð´ÑƒÐ³Ð¸ нужно щёлкнуть OK.

Ð”Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´ÑƒÐ³ иÑпользуетÑÑ Ñ‚Ñ€Ð¸ контрольных точки. Ð”Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð´Ð¸ÑƒÑа дуги иÑпользуетÑÑ Ñ€ÑƒÑ‡ÐºÐ°, раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð½Ð°Ñ Ð² центре. Две другие, внешние ручки предназначены Ð´Ð»Ñ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²ÐºÐ¸ начального угла дуги и угла её разворота. Чтобы открыть окно «Параметры дуги» ещё раз Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð³Ð¾ редактированиÑ, дугу нужно выделить и в меню выбрать Правка→Правка… [Edit→Edit…].

ОкружноÑти

ОкружноÑти на Ñтраницу можно добавить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Добавить→ОкружноÑть [Add→Circle]. Первым щелчком левой кнопки мыши выбираетÑÑ Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ центра окружноÑти, а вторым задаётÑÑ ÐµÑ‘ радиуÑ. Ð”Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¾ÐºÑ€ÑƒÐ¶Ð½Ð¾Ñти иÑпользуетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ одна ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ°, Ð¿Ñ€ÐµÐ´Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ð°Ñ Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐµÑ‘ радиуÑа.

ТекÑтовые объекты

Добавить текÑÑ‚ на Ñтраницу можно Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Add→Text [Add→Text]. При Ñтом открываетÑÑ Ð´Ð¸Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ðµ окно «Ввод текÑта» [«Text Entry…»], где можно ввеÑти неÑколько Ñтрок текÑта. Ð”Ð»Ñ Ð²Ñтавки текÑта надо щёлкнуть кнопку Применить [Apply], а затем щёлкнуть левой кнопкой в облаÑти проÑмотра Ñхемы Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‚ÐµÐºÑтового объекта на Ñтраницу.

С помощью управлÑющей поÑледовательноÑти «\_», ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñама по Ñебе на Ñтранице отображатьÑÑ Ð½Ðµ будет, можно добавить горизонтальную черту над текÑтом. Ðапример, буква «B» в текÑте «CS/\_B\_» будет отображатьÑÑ Ñ Ð³Ð¾Ñ€Ð¸Ð·Ð¾Ð½Ñ‚Ð°Ð»ÑŒÐ½Ð¾Ð¹ чертой над нею. ЕÑли текÑтовый объект имеет вид «<имÑ>=<значение>», то он ÑвлÑетÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼.

Чтобы изменить текÑÑ‚, его нужно выделить и в меню выбрать Правка→Правка текÑта… [Edit→Edit Text…], в результате чего откроетÑÑ Ð¾ÐºÐ½Ð¾ Правка ÑвойÑтв текÑта [Edit Text Properties]. Ð’ Ñтом окне можно отредактировать как Ñам текÑÑ‚, так и его цветовой индекÑ, размер шрифта и выравнивание.

ÐаÑтройки Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÑÑŽÑ‚ положение точки привÑзки текÑтового объекта отноÑительно Ñамого текÑта. Чтобы увидеть, где находитÑÑ Ñ‚Ð¾Ñ‡ÐºÐ° привÑзки текÑтового объекта, его нужно выделить и увеличить маÑштаб отображениÑ. Тогда можно увидеть маленький маркер «X», отмечающий точку привÑзки.

ИзображениÑ

Объект изображение Ñлужит Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð½Ð° Ñтраницах Ñхем и Ñимволов изображений из внешних файлов. Изображение добавлÑетÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Добавить→Изображение [Add→Picture]. При Ñтом открываетÑÑ Ð¾ÐºÐ½Ð¾ выбора файла, где нужно выбрать добавлÑемый файл. ЕÑли выбранный файл не может быть загружен в gschem, поÑвитÑÑ Ñообщение об ошибке.

Когда файл Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½, Ñначала нужно щёлкнуть левой кнопкой в меÑте его размещениÑ, а затем щёлкнуть ещё раз, чтобы выбрать его размер.

Ð”Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° изображениÑ, его надо выделить и потÑнуть одну из его ручек. Отношение Ñторон Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ Ñтом автоматичеÑки будет поддерживатьÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¼. Ð”Ð»Ñ Ð·Ð°Ð¼ÐµÐ½Ñ‹ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð½ÑƒÐ¶Ð½Ð¾ выбрать Правка→Правка… [Edit→Edit], что приведёт к открыванию окна выбора файла, в котором можно выбрать нужный файл изображениÑ.

Как и компоненты, Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÐºÐ°Ðº объекты могут быть либо ÑÑылками на файлы изображений, либо файл Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚ быть целиком Ñкопирован («внедрён») в файл Ñхемы или Ñимвола. По умолчанию объект изображение ÑÑылаетÑÑ Ð½Ð° файл изображениÑ. Изображение можно внедрить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Правка→Внедрить компонент/изображение [Edit→Embed Component/Picture], или произвеÑти обратное дейÑтвие Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Правка→ИÑключить компонент/изображение [Edit→Unembed Component/Picture].

ЕÑли внедрённое изображение не ÑоответÑтвует в полной мере имеющемуÑÑ Ñ„Ð°Ð¹Ð»Ñƒ изображениÑ, выбор Правка→ИÑключить компонент/изображение не приведёт к его изменению.

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug.ru.html0000644000175000017500000001501013634703632016624 00000000000000

Это руководÑтво доÑтупно также на Ñледующих Ñзыках: English

РуководÑтво Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ gEDA gschem

The text of and illustrations in this document are licensed under a Creative Commons Attribution–Share Alike 3.0 Unported license (“CC-BY-SAâ€). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . The original authors of this document designate the gEDA Project as the “Attribution Party†for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.

Содержание

ПриложениÑ

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-selecting.html0000644000175000017500000000741313634703632020162 00000000000000

Selecting objects

Many editing actions in gschem operate on whichever objects are currently selected. Selected objects are shown in a highlighted colour.

In “Select Modeâ€, the default gschem editing mode, the left mouse button is used to select things. If you click on something with the left mouse button, it will be selected, and everything else will be deselected. If you click on the background, the selection will be cleared. If you click and drag with the left mouse button, a box will appear, and when you release the button, everything that is completely inside the box will be selected (“box selectionâ€). These actions can be altered by holding down Shift, in which case the objects will be added to the current selection, instead of replacing it.

You can also hold Ctrl while clicking on an object that is already selected, in which case it will be deselected but the selection will not be cleared.

You can select all of the objects in the schematic or symbol using Edit→Select All, and completely clear the current selection using Edit→Deselect.

You can always get back to “Select Mode†from any other editing mode by pressing Shift or using Edit→Select Mode.

Selecting nets

To select the whole of a net, left-click on a net segment to select it, and then left-click on it again to select all connected net segments.

Selecting component attributes

If you left-click on a component, it will be selected along with all of its attached attributes.

Locked objects

Some objects can be “lockedâ€. Locked objects are displayed in a subdued colour, and cannot be selected other than by using a box selection. For example, the titleblock added by default to new pages is locked.

To lock an object, select it and use Edit→Lock. To unlock it, select it (by dragging a box around it with the left mouse button), and use Edit→Unlock.

lepton-eda-1.9.10/docs/wiki/geda-data_plotting_improvements.html0000644000175000017500000001712713634703632021712 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

Simulation Data Plotting

Rationale

This article discusses on how data plotting can be improved. There are various programs out there, each has it's own pros and cons:

  • gtkwave: a great viewer for digital simulation data
  • gwave: analog waveform viewer
  • KJWaves: simulation frontend with plotting window
  • buildin plotting functions in ngspice
  • gnuplot / octave / scipy / … or similar programs as postprocessing script languages
  • …

There have been various suggestions on the mailing lists about the feature a plotting program could have:

  • postprocessing: integrate, add, diff, fft, …
  • view, examine: cursors, multiple windows, …
  • data import, file format: circuit simulation data (gnucap, spice, …) hdf5 , measured data from oscilloscopes, spectrum analysers, …
  • data export, file format: hdf5, pictures (png, ps, …), ascii
  • communication backends: dbus, …
  • extension/scripting language

Draft1: Extend gtkwaves

  • write some import functions for analog data

Draft2: improve gwave

gwave requires an old guile-gtk for GTK1.2.

  • port gwave to guile-gtk2.0 for GTK2.x
  • remove the guile-gtk requirement. Maybe create a native gtk2 application with libglade?

A rewrite of gwave:

Draft3: Search for existing data exploring programs

Are there any programs out there that can show and postprocess simulation data? If yes, how can they be extended to work as a waveform viewer for the simulators (gnucap, ngspice)?

Draft4: A new plotting application

Some vague notes on how a new plotting application could be written. This notes currently relate on python as programming language.

  • the GUI could be created with libglade
  • the data storage format could be hdf5 , maybe together with pytables
  • the plotting engine could be matplotlib (png, ps export included)
  • postprocessing could be done with scipy
  • the scripting language is python. Thus import filter to hdf5 can easily be written. Even an integrated python shell would be possible. Seen on MayaVi 2

Disadvantage: This configuration has a huge rucksack of additional required packages.

Update

There are now some programs out there, that use the python, numpy, matplotlib tool chain:

lepton-eda-1.9.10/docs/wiki/geda-pcb_footprint_naming_conventions.ru.html0000644000175000017500000005745713634703632023536 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

Ð¡Ð¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾ именованию поÑадочных меÑÑ‚

Ð’ данном разделе приводитÑÑ Ð¾Ð¿Ð¸Ñание Ñоглашений по именованию поÑадочных меÑÑ‚ в pcb (и gEDA/gaf).
Цель наÑтоÑщего документа — определение Ñтандарта одинакового Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð° различных Ñтапах работы в СÐПР, чтобы уÑÐ¸Ð»Ð¸Ñ gEDA/gaf по ÑотрудничеÑтву не были напраÑными.

ЗамечаниÑ

  • За иÑключением оÑобо отмеченных Ñлучаев Ð´Ð»Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ð¹ выводов будут иÑпользоватьÑÑ Ñ‡Ð¸Ñла, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ 1.
  • n указывает количеÑтво выводов.
  • m указывает шаг выводов в милах.
  • x указывает размер корпуÑа по оÑи X (не ÑÑ‡Ð¸Ñ‚Ð°Ñ Ð²Ñ‹Ð²Ð¾Ð´Ñ‹). Ð’ чаÑтноÑти Ñто иÑпользуетÑÑ Ð´Ð»Ñ ÑемейÑтва корпуÑов QFP.
  • SMT означает поверхноÑтный монтаж (surface mount), прочие компоненты имеют выводной монтаж (through-hole).

КорпуÑа интегральных Ñхем

  • КорпуÑа Ñ Ð´Ð²ÑƒÑ…Ñ€Ñдным раÑположением выводов Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтвом выводов до 22, шагом 100 милов и междурÑдным интервалом 300 милов называютÑÑ DIPn (Dual In-line Package).
  • КорпуÑа Ñ Ð´Ð²ÑƒÑ…Ñ€Ñдным раÑположением выводов Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтвом выводов от 24 и более, шагом 100 милов и междурÑдным интервалом 300 милов называютÑÑ DIPnN.
  • КорпуÑа Ñ Ð´Ð²ÑƒÑ…Ñ€Ñдным раÑположением выводов Ñ ÑˆÐ°Ð³Ð¾Ð¼ 100 милов и междурÑдным интервалом 400 милов называютÑÑ DIPnH.
  • КорпуÑа Ñ Ð´Ð²ÑƒÑ…Ñ€Ñдным раÑположением выводов Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтвом выводов от 24 и более, шагом 100 милов и междурÑдным интервалом 600 милов называютÑÑ DIPn.
  • Уменьшенные корпуÑа Ñ Ð´Ð²ÑƒÑ…Ñ€Ñдным раÑположением выводов Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтвом выводов до 24, шагом 70 милов и междурÑдным интервалом 300 милов называютÑÑ SDIPn (Shrink DIP).
  • Уменьшенные корпуÑа Ñ Ð´Ð²ÑƒÑ…Ñ€Ñдным раÑположением выводов Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтвом выводов более 24, шагом 70 милов и междурÑдным интервалом 400 милов называютÑÑ SDIPn.
  • КорпуÑа Ñ Ð¾Ð´Ð½Ð¾Ñ€Ñдным раÑположением выводов Ñ ÑˆÐ°Ð³Ð¾Ð¼ 100 милов называютÑÑ SIPnN (Single In-line Package). См. также JUMPER ниже.
  • КорпуÑа Ñ Ñ€Ð°Ñположением выводов в шахматном порÑдке называютÑÑ ZIPn (Zig-zag In-line Package).
  • ПлаÑтиковые, Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð½Ñ‹Ð¼ монтажом панели Ð´Ð»Ñ Ð±ÐµÐ·Ð²Ñ‹Ð²Ð¾Ð´Ð½Ñ‹Ñ… микроÑхем называютÑÑ PLCCnX (Plastic Leadless Chip Carrier).

SMT-корпуÑа интегральных Ñхем

  • Малогабаритные SMT-корпуÑа Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтвом выводов до 16, шагом 50 милов и общей шириной 150 милов называютÑÑ SOn (Small Outline).
  • Малогабаритные SMT-корпуÑа Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтвом выводов более 16, шагом 50 милов и общей шириной 150 милов называютÑÑ SOnN.
  • Малогабаритные SMT-корпуÑа Ñ ÑˆÐ°Ð³Ð¾Ð¼ выводов 50 милов и общей шириной 200 милов называютÑÑ SOnM.
  • Малогабаритные SMT-корпуÑа Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтвом выводов до 20, шагом 50 милов и общей шириной 300 милов называютÑÑ SOnW.
  • Малогабаритные SMT-корпуÑа Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтвом выводов более 20, шагом 50 милов и общей шириной 300 милов называютÑÑ SOn.
  • Малогабаритные SMT-корпуÑа Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтвом выводов от 44 и более, шагом 50 милов и общей шириной 525 милов называютÑÑ SOn.
  • МетричеÑкие уменьшенные малогабаритные SMT-корпуÑа Ñ ÑˆÐ°Ð³Ð¾Ð¼ выводов 0,65 мм и общей шириной 323 мила называютÑÑ MSSOPn (Metric Shrink Small Outline Package). ПРИМЕЧÐÐИЕ: должно быть утверждено.
  • МетричеÑкие уменьшенные малогабаритные SMT-корпуÑа Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтвом выводов до 44, шагом 0,65 мм и общей шириной 420 милов называютÑÑ MSSOPnW.
  • МетричеÑкие уменьшенные малогабаритные SMT-корпуÑа Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтвом выводов более 44, шагом 0,65 мм и общей шириной 545 милов называютÑÑ MSSOPnW.
  • Уменьшенные малогабаритные SMT-корпуÑа Ñ ÑˆÐ°Ð³Ð¾Ð¼ выводов 25 милов и общей шириной 420 милов называютÑÑ SSOPnW (Shrink Small Outline Package).
  • Малогабаритные SMT-корпуÑа размером в монету 25 центов (quarter) Ñ ÑˆÐ°Ð³Ð¾Ð¼ выводов 25 милов и общей шириной 244 милов называютÑÑ SSOPn1) (Shrink small outline package).
  • Тонкопрофильные малогабаритные SMT-корпуÑа Ñ ÑˆÐ°Ð³Ð¾Ð¼ выводов 21,65 милов и общей шириной 535 милов называютÑÑ TSOPn (Thin Small Outline Package).
  • Тонкопрофильные малогабаритные SMT-корпуÑа Ñ ÑˆÐ°Ð³Ð¾Ð¼ выводов 20 милов и общей шириной 795 милов называютÑÑ TSOPnA.
  • Тонкопрофильные малогабаритные SMT-корпуÑа Ñ ÑˆÐ°Ð³Ð¾Ð¼ выводов 20 милов и общей шириной 559 милов называютÑÑ TSOPnB.
  • Тонкопрофильные уменьшенные малогабаритные SMT-корпуÑа Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтвом выводов до 28, шагом 26 милов и общей шириной 260 милов называютÑÑ TSSOPn (Thin Shrink Small Outline Package).
  • Тонкопрофильные уменьшенные малогабаритные SMT-корпуÑа Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтвом выводов более 28, шагом 20 милов и общей шириной 319 милов называютÑÑ TSSOPn.
  • SMT-корпуÑа Ultra Super Mini Ñ ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтвом выводов до 16 и шагом 0,5 мм называютÑÑ USn.
  • ПлаÑтиковые, Ñ SMT-монтажом панели Ð´Ð»Ñ Ð±ÐµÐ·Ð²Ñ‹Ð²Ð¾Ð´Ð½Ñ‹Ñ… микроÑхем называютÑÑ PLCCn (Plastic Leadless Chip Carrier).
  • Квадратные четырёхÑторонние SMT-корпуÑа называютÑÑ QFPn x (Quad Flat Package).
  • ПрÑмоугольные четырёхÑторонние SMT-корпуÑа называютÑÑ QFPn R.
  • Квадратные четырёхÑторонние SMT-корпуÑа низкого ÑÐµÑ‡ÐµÐ½Ð¸Ñ Ð½Ð°Ð·Ñ‹Ð²Ð°ÑŽÑ‚ÑÑ LQFPn x (Low-profile Quad Flat Package).
  • Квадратные тонкопрофильные четырёхÑторонние SMT-корпуÑа называютÑÑ TQFPn x (Thin Quad Flat Package).
  • Квадратные четырёхÑторонние безвыводные SMT-корпуÑа без открытой подложки (контакта Ñ Ð½Ð¸Ð¶Ð½ÐµÐ¹ Ñтороны) называютÑÑ QFNn x (Quad Flat-pack No-leads). КоличеÑтво выводов равно n, размер корпуÑа равен x мм.
  • Квадратные четырёхÑторонние безвыводные SMT-корпуÑа Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¾Ð¹ подложкой (контактом Ñ Ð½Ð¸Ð¶Ð½ÐµÐ¹ Ñтороны) называютÑÑ QFNn x EP (Quad Flat-pack No-leads with Exposed Paddle). КоличеÑтво выводов равно n, размер корпуÑа равен x мм.
  • Тонкопрофильные квадратные четырёхÑторонние безвыводные SMT-корпуÑа без открытой подложки (контакта Ñ Ð½Ð¸Ð¶Ð½ÐµÐ¹ Ñтороны) называютÑÑ TQFNn x (Thin-profile Quad Flat-pack No-lead). КоличеÑтво выводов равно n, размер корпуÑа равен x мм.
  • Тонкопрофильные квадратные четырёхÑторонние безвыводные SMT-корпуÑа Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¾Ð¹ подложкой (контактом Ñ Ð½Ð¸Ð¶Ð½ÐµÐ¹ Ñтороны) называютÑÑ TQFNn x EP (Thin-profile Quad Flat-pack No-lead with Exposed Paddle). КоличеÑтво выводов равно n, размер корпуÑа равен x мм.
  • Кварцевые резонаторы в Ñтиле компонентов Ñ Ð´Ð²ÑƒÑ…Ñ€Ñдным раÑположением выводов: OSC8 и OSC14.
  • 5-выводные SMT-корпуÑа SOT: SOT25 и SOT325.
  • 6-выводные SMT-корпуÑа SOT: SOT26 и SOT326.

ОÑновные полупроводниковые компоненты

  • ÐкÑиальные диоды называютÑÑ ALFm. Вывод 1 — катод.
  • Стандартные Ñветоизлучающие диоды Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð½Ñ‹Ð¼ монтажом называютÑÑ LED3 и LED5 (Light Emitting Diode) Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð², ÑоответÑтвенно, 3 и 5 мм. Вывод 1 — плюÑовой. ПРИМЕЧÐÐИЕ: возможно Ñто должно быть изменено Ð´Ð»Ñ ÑоответÑÑ‚Ð²Ð¸Ñ ÑоглашениÑм по диодам.
  • TO-транзиÑторы: TO5, TO92, TO126, TO220 и Ñ‚. д. Могут применÑтьÑÑ ÑуффикÑÑ‹, например TO126W Ð´Ð»Ñ ÑˆÐ¸Ñ€Ð¾ÐºÐ¸Ñ…, TO126S Ð´Ð»Ñ Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð¾ уÑтанавливаемых, TO126SW Ð´Ð»Ñ Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð¾ уÑтанавливаемых, широких.

ОÑновные полупроводниковые SMT-компоненты

  • Ð”Ð»Ñ SMT-корпуÑов SOD-диодов иÑпользуютÑÑ Ñтандартные названиÑ, например SOD80, SOD87, SOD106A, SOD110. ЕÑть также SOD123, SOD323 Ñ ÑƒÐ·ÐºÐ¸Ð¼Ð¸ контактными площадками.
  • Ð”Ð»Ñ SMT-корпуÑов SOT-транзиÑторов иÑпользуютÑÑ Ñтандартные названиÑ, например SOT23, SOT323. ЕÑть также SC90.
  • SMT-корпуÑа SOT-транзиÑторов Ñ Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸ÐµÐ¹ как у диодов (вывод 1 — катод, вывод 2 — анод): SOT23D, SOT323D.
  • 4-выводные SMT-корпуÑа SOT называютÑÑ SOT89, SOT143, SOT223.

ПаÑÑивные компоненты

  • ÐкÑиальные неполÑрные компоненты (обычно резиÑторы, конденÑаторы) называютÑÑ ACYm.
  • ÐеполÑрные круглые компоненты Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°Ð¼Ð¸ Ñнизу (радиальные) (обычно конденÑаторы) называютÑÑ RCYm.
  • ÐеполÑрные прÑмоугольные компоненты Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°Ð¼Ð¸ Ñнизу (обычно конденÑаторы) называютÑÑ BREm.
  • Стандартным кварцевым резонатором ÑвлÑетÑÑ HC49, или при необходимоÑти другое HC-обозначение.
  • ОднорÑдные джамперы Ñ ÑˆÐ°Ð³Ð¾Ð¼ выводов 100 милов называютÑÑ JUMPERn. ОÑновное отличие по Ñравнению Ñ ÐºÐ¾Ñ€Ð¿ÑƒÑами Ñ Ð¾Ð´Ð½Ð¾Ñ€Ñдным раÑположением выводов — размер отверÑтиÑ.
  • ДвухрÑдные фронтальные Ñоединители Ñ ÑˆÐ°Ð³Ð¾Ð¼ выводов 100 милов Ñ Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸ÐµÐ¹ выводов как у DIP-корпуÑов называютÑÑ HEADERn 1. Обратите внимание, что n ÑвлÑетÑÑ Ñ‡Ñ‘Ñ‚Ð½Ñ‹Ð¼ чиÑлом.
  • ДвухрÑдные фронтальные Ñоединители Ñ ÑˆÐ°Ð³Ð¾Ð¼ выводов 100 милов Ñ Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸ÐµÐ¹ выводов как у плоÑкого ÐºÐ°Ð±ÐµÐ»Ñ Ð½Ð°Ð·Ñ‹Ð²Ð°ÑŽÑ‚ÑÑ HEADERn 2. Обратите внимание, что n ÑвлÑетÑÑ Ñ‡Ñ‘Ñ‚Ð½Ñ‹Ð¼ чиÑлом.
  • Угловые полноразмерные фронтальные Ñоединители Ñ Ð·Ð°Ñ‰Ñ‘Ð»ÐºÐ°Ð¼Ð¸ называютÑÑ DIN41651 n.
  • Вертикальные полноразмерные фронтальные Ñоединители Ñ Ð·Ð°Ñ‰Ñ‘Ð»ÐºÐ°Ð¼Ð¸ называютÑÑ DIN41651 nS.
  • DSUB-разъёмы типа «мама» (Female) называютÑÑ DBnF.
  • DSUB-разъёмы типа «папа» (Male) называютÑÑ DBnM.
  • Междуплатные DIN-разъёмы типа «мама» называютÑÑ DIN41612CnF. Ð¡ÑƒÑ„Ñ„Ð¸ÐºÑ S добавлÑетÑÑ Ð´Ð»Ñ Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ….
  • Междуплатные DIN-разъёмы типа «папа» называютÑÑ DIN41612CnM. Ð¡ÑƒÑ„Ñ„Ð¸ÐºÑ S добавлÑетÑÑ Ð´Ð»Ñ Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ….
  • Модульные RJ-разъёмы AMP Ñ Ñкраном называютÑÑ RJ11, RJ12 и RJ45.

ПаÑÑивные SMT-компоненты

  • Стандартные SMT-резиÑторы, дроÑÑели, конденÑаторы: 0201, 0402, 0603, 0805, 1206, 1210, 1806, 1812, 1825, 2020, 2706.
  • Танталовые SMT-конденÑаторы: EIA3216, EIA3528, EIA6032 и EIA7343. Вывод 1 ÑвлÑетÑÑ Ð¿Ð»ÑŽÑовым.
  • ЭлектролитичеÑкие SMT-конденÑаторы обозначаютÑÑ Ð´Ð¸Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ корпуÑа в 0,1 мм: SME33, SME43, SME53, SME66, SME84, SME104.
1) Ðа Ñамом деле в pcb еÑть также поÑадочные меÑта QSOP — Quarter-size Small Outline Package, маловыводные верÑии которых почти Ñовпадают по размеру Ñ ÑоответÑтвующими SSOP. — Прим. перев.
lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug.html0000644000175000017500000000704213634703632016570 00000000000000

Translations of this guide are also available in the following languages: РуÑÑкий

gEDA gnetlist User Guide

The text of and illustrations in this document are licensed under a Creative Commons Attribution–Share Alike 3.0 Unported license (“CC-BY-SAâ€). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . The original authors of this document designate the gEDA Project as the “Attribution Party†for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.

Contents

lepton-eda-1.9.10/docs/wiki/pcb-roadmap.html0000644000175000017500000002373213634703632015537 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий

PCB Roadmap

This is a guide to the future direction of the PCB layout editor.

General Guidelines for Releases

In general, there are three types of changes that go into PCB - bug fixes, new features, and incompatible changes. A bug fix is when PCB doesn't do what it's supposed to do - this includes documentation bugs as well as code problems. A new feature is something that adds functionality to PCB but doesn't change any existing functionality. An incompatible change is anything that causes (intentional) compatibility issues with older versions of PCB, and usually means a large design change. Note that a new feature that adds a backwards-incompatible change to the file format when it's used is not in this category.

The current plans are as follows:

  • Bug fix releases every two months or so until we clear the backlog.
  • Start on a PCB 4.0 release that folds in some large design changes we've been talking about for years.

At the moment, bugfix releases will be of the form pcb-YYYYMMDD. Once 4.0 is released, the major.minor.bugfix numbers will correspond to the three categories listed above: bugfixes cause a *.*.N release, new features cause a *.N release, major changes cause a N.0 release. The YYYYMMDD release numbers will then be used for regular non-release snapshots.

The remainder of this page will list the various changes that are planned (or at least hoped for) for upcoming and future releases.

Bugs, patches, and feature requests should be added to the Launchpad trackers. The default status undecided. Requests with that priority will be considered “unreviewedâ€.

Next Bug Release

This is a list of fixes that must be fixed before the next bug release, in addition to any “next bug release†artifacts in the bug tracker.

Future Bug Releases

This is a list of fixes that should be fixed eventually.

Next Feature Release

This is a list of new features that will be added before the next feature release (or, perhaps the next bug release, if time permits).

  • Make the code C++ compatible.
  • Allow via annulii to overlap each other.
  • More route styles.
  • Nanometer resolution - this is the “metric units†change we've talked about many times.
  • Real layer types. Silks, keepouts, mask docs at least. Maybe anti-draw or paste.

Future Feature Releases

Other features that should be added eventually.

Next Incompatible Release

This is a list of major changes that we think are desirable to include in PCB, and wish to put effort into.

Future Incompatible Releases

This is a list of other major changes that we think are desirable to include in PCB, but so far have not committed any effort to.

Wish List

This section lists possible projects for future releases, which either haven't been agreed on, or haven't been scheduled. If you'd like to work on one of these, go ahead :-)

  • New Layers proposal is here.
  • Other GUI cleanups. Gtk upgraded to “best practicesâ€. Importer config.
  • import/wizard plugins (as well as exports)
  • DRC cleanups/rewrite
  • CAM engine? (i.e. ability to say “draw outline on top soldermask†via script/config)
  • New file format we've been discussing.
  • Variable-angle arcs. 90 degrees is extremely limiting.
  • Filled circles, sans kludge. Currently, to get a filled circle you create a zero-length trace of the right width.
  • Unification of shortcuts in gschem and PCB, or at least an easy option for PCB to mimic gschem's shortcuts.
  • Better support for free-rotated components: assert that pads at funky angles are rendered correctly, fix autorouter for components at weird angles (the latest git version has a tendency to either ignore the route command or to segfault, depending on the specifics), add rotation to the Ctrl+R report, etcetera.
  • Ability to copy a footprint's name from the library dialogue (so it can be pasted into gschem's attribute list).
  • Ability to edit netlist in-situ (possibly by drawing on the rat lines layer) - e.g, when you want to add a heatsink soldered to ground, it will always show up as shorted until the netlist is edited to incorporate it.
  • Trace impedance calculator, with automatic adjustment capability (fill in thickness, stray capacitance and desired impedance, and the width is adjusted to satisfy the conditions).
  • Integrated footprint lookup and fetch from gedasymbols.org.
  • Hierarchical pcb model - subcells, footprints-as-pcb, etc.
  • A shape I've often wanted on a pad is circle with the sides cut off. This is slightly different than an oval. Something like Inkscape's boolean operations would be excellent.
  • How about text at not-90 degree angles? Or support for rotated square pads (I know, the file format doesn't support those two.)
  • Editing on the grid has got to go! Counting grid points is the worst possible way to enter positional information into a computer.
  • Make every field in object reports editable.
  • Allow direct entry of offsets and absolute positions when editing.
  • Add “offset†and “trim†feature à la 2D CAD programs.
  • Add “point to tangent†and “tangent to tangent†line drawing feature à la 2D CAD programs.
  • Automatic least version required file saving. Set the file format version based on features used, not the version of PCB This will become valuable as we add features like blind vias, custom pad stacks etc….
lepton-eda-1.9.10/docs/wiki/wiki-syntax.html0000644000175000017500000013260313634703632015637 00000000000000

Formatting Syntax

DokuWiki supports some simple markup language, which tries to make the datafiles to be as readable as possible. This page contains all possible syntax you may use when editing the pages. Simply have a look at the source of this page by pressing the Edit this page button at the top or bottom of the page. If you want to try something, just use the playground page. The simpler markup is easily accessible via quickbuttons, too.

Basic Text Formatting

DokuWiki supports bold, italic, underlined and monospaced texts. Of course you can combine all these.

DokuWiki supports **bold**, //italic//, __underlined__ and ''monospaced'' texts.
Of course you can **__//''combine''//__** all these.

You can use subscript and superscript, too.

You can use <sub>subscript</sub> and <sup>superscript</sup>, too.

You can mark something as deleted as well.

You can mark something as <del>deleted</del> as well.

Paragraphs are created from blank lines. If you want to force a newline without a paragraph, you can use two backslashes followed by a whitespace or the end of line.

This is some text with some linebreaks
Note that the two backslashes are only recognized at the end of a line
or followed by
a whitespace \\this happens without it.

This is some text with some linebreaks\\ Note that the
two backslashes are only recognized at the end of a line\\
or followed by\\ a whitespace \\this happens without it.

You should use forced newlines only if really needed.

Links

DokuWiki supports multiple ways of creating links.

External

External links are recognized automagically: http://www.google.com or simply www.google.com - You can set the link text as well: This Link points to google. Email addresses like this one: andi@splitbrain.org are recognized, too.

DokuWiki supports multiple ways of creating links. External links are recognized
automagically: http://www.google.com or simply www.google.com - You can set
link text as well: [[http://www.google.com|This Link points to google]]. Email
addresses like this one: <andi@splitbrain.org> are recognized, too.

Internal

Internal links are created by using square brackets. You can either just give a pagename or use an additional link text.

Internal links are created by using square brackets. You can either just give
a [[pagename]] or use an additional [[pagename|link text]].

Wiki pagenames are converted to lowercase automatically, special characters are not allowed.

You can use namespaces by using a colon in the pagename.

You can use [[some:namespaces]] by using a colon in the pagename.

For details about namespaces see namespaces.

Linking to a specific section is possible, too. Just add the section name behind a hash character as known from HTML. This links to this Section.

This links to [[syntax#internal|this Section]].

Notes:

  • Links to existing pages are shown in a different style from nonexisting ones.
  • DokuWiki does not use CamelCase to automatically create links by default, but this behavior can be enabled in the config file. Hint: If DokuWiki is a link, then it's enabled.
  • When a section's heading is changed, its bookmark changes, too. So don't rely on section linking too much.

Interwiki

DokuWiki supports Interwiki links. These are quick links to other Wikis. For example this is a link to Wikipedia's page about Wikis: Wiki.

DokuWiki supports [[doku>Interwiki]] links. These are quick links to other Wikis.
For example this is a link to Wikipedia's page about Wikis: [[wp>Wiki]].

Windows Shares

Windows shares like this are recognized, too. Please note that these only make sense in a homogeneous user group like a corporate Intranet.

Windows Shares like [[\\server\share|this]] are recognized, too.

Notes:

  • For security reasons direct browsing of windows shares only works in Microsoft Internet Explorer per default (and only in the “local zoneâ€).
  • For Mozilla and Firefox it can be enabled through different workaround mentioned in the Mozilla Knowledge Base. However, there will still be a JavaScript warning about trying to open a Windows Share. To remove this warning (for all users), put the following line in conf/local.protected.php:
$lang['js']['nosmblinks'] = '';

Image Links

You can also use an image to link to another internal or external page by combining the syntax for links and images (see below) like this:

[[http://www.php.net|{{wiki:dokuwiki-128.png}}]]

Please note: The image formatting is the only formatting syntax accepted in link names.

The whole image and link syntax is supported (including image resizing, internal and external images and URLs and interwiki links).

Footnotes

You can add footnotes 1) by using double parentheses.

You can add footnotes ((This is a footnote)) by using double parentheses.

Sectioning

You can use up to five different levels of headlines to structure your content. If you have more than three headlines, a table of contents is generated automatically – this can be disabled by including the string ~~NOTOC~~ in the document.

Headline Level 3

Headline Level 4

Headline Level 5
==== Headline Level 3 ====
=== Headline Level 4 ===
== Headline Level 5 ==

By using four or more dashes, you can make a horizontal line:


Images and Other Files

You can include external and internal images with curly brackets. Optionally you can specify the size of them.

Real size:

Resize to given width:

Resize to given width and height2):

Resized external image:

Real size:                        {{wiki:dokuwiki-128.png}}
Resize to given width:            {{wiki:dokuwiki-128.png?50}}
Resize to given width and height: {{wiki:dokuwiki-128.png?200x50}}
Resized external image:           {{http://de3.php.net/images/php.gif?200x50}}

By using left or right whitespaces you can choose the alignment.

{{ wiki:dokuwiki-128.png}}
{{wiki:dokuwiki-128.png }}
{{ wiki:dokuwiki-128.png }}

Of course, you can add a title (displayed as a tooltip by most browsers), too.

This is the caption

{{ wiki:dokuwiki-128.png |This is the caption}}

If you specify a filename (external or internal) that is not an image (gif, jpeg, png), then it will be displayed as a link instead.

For linking an image to another page see Image Links above.

Lists

Dokuwiki supports ordered and unordered lists. To create a list item, indent your text by two spaces and use a * for unordered lists or a - for ordered ones.

  • This is a list
  • The second item
    • You may have different levels
  • Another item
  1. The same list but ordered
  2. Another item
    1. Just use indention for deeper levels
  3. That's it
  * This is a list
  * The second item
    * You may have different levels
  * Another item

  - The same list but ordered
  - Another item
    - Just use indention for deeper levels
  - That's it

Also take a look at the FAQ on list items.

Text Conversions

DokuWiki can convert certain pre-defined characters or strings into images or other text or HTML.

The text to image conversion is mainly done for smileys. And the text to HTML conversion is used for typography replacements, but can be configured to use other HTML as well.

Text to Image Conversions

DokuWiki converts commonly used emoticons to their graphical equivalents. Those Smileys and other images can be configured and extended. Here is an overview of Smileys included in DokuWiki:

  • 8-) 8-)
  • 8-O 8-O
  • :-( :-(
  • :-) :-)
  • =) =)
  • :-/ :-/
  • :-\ :-\
  • :-? :-?
  • :-D :-D
  • :-P :-P
  • :-O :-O
  • :-X :-X
  • :-| :-|
  • ;-) ;-)
  • ^_^ ^_^
  • :?: :?:
  • :!: :!:
  • LOL LOL
  • FIXME FIXME
  • DELETEME DELETEME

Text to HTML Conversions

Typography: DokuWiki can convert simple text characters to their typographically correct entities. Here is an example of recognized characters.

→ ↠↔ ⇒ ⇠⇔ » « – — 640×480 © â„¢ ® “He thought 'It's a man's world'…â€

-> <- <-> => <= <=> >> << -- --- 640x480 (c) (tm) (r)
"He thought 'It's a man's world'..."

The same can be done to produce any kind of HTML, it just needs to be added to the pattern file.

There are three exceptions which do not come from that pattern file: multiplication entity (640×480), 'single' and “double quotesâ€. They can be turned off through a config option.

Quoting

Some times you want to mark some text to show it's a reply or comment. You can use the following syntax:

I think we should do it

> No we shouldn't

>> Well, I say we should

> Really?

>> Yes!

>>> Then lets do it!

I think we should do it

No we shouldn't
Well, I say we should
Really?
Yes!
Then lets do it!

Tables

DokuWiki supports a simple syntax to create tables.

Heading 1 Heading 2 Heading 3
Row 1 Col 1 Row 1 Col 2 Row 1 Col 3
Row 2 Col 1 some colspan (note the double pipe)
Row 3 Col 1 Row 3 Col 2 Row 3 Col 3

Table rows have to start and end with a | for normal rows or a ^ for headers.

^ Heading 1      ^ Heading 2       ^ Heading 3          ^
| Row 1 Col 1    | Row 1 Col 2     | Row 1 Col 3        |
| Row 2 Col 1    | some colspan (note the double pipe) ||
| Row 3 Col 1    | Row 3 Col 2     | Row 3 Col 3        |

To connect cells horizontally, just make the next cell completely empty as shown above. Be sure to have always the same amount of cell separators!

Vertical tableheaders are possible, too.

Heading 1 Heading 2
Heading 3 Row 1 Col 2 Row 1 Col 3
Heading 4 no colspan this time
Heading 5 Row 2 Col 2 Row 2 Col 3

As you can see, it's the cell separator before a cell which decides about the formatting:

|              ^ Heading 1            ^ Heading 2          ^
^ Heading 3    | Row 1 Col 2          | Row 1 Col 3        |
^ Heading 4    | no colspan this time |                    |
^ Heading 5    | Row 2 Col 2          | Row 2 Col 3        |

You can have rowspans (vertically connected cells) by adding ::: into the cells below the one to which they should connect.

Heading 1 Heading 2 Heading 3
Row 1 Col 1 this cell spans vertically Row 1 Col 3
Row 2 Col 1 Row 2 Col 3
Row 3 Col 1 Row 2 Col 3

Apart from the rowspan syntax those cells should not contain anything else.

^ Heading 1      ^ Heading 2                  ^ Heading 3          ^
| Row 1 Col 1    | this cell spans vertically | Row 1 Col 3        |
| Row 2 Col 1    | :::                        | Row 2 Col 3        |
| Row 3 Col 1    | :::                        | Row 2 Col 3        |

You can align the table contents, too. Just add at least two whitespaces at the opposite end of your text: Add two spaces on the left to align right, two spaces on the right to align left and two spaces at least at both ends for centered text.

Table with alignment
right center left
left right center
xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx

This is how it looks in the source:

^           Table with alignment           ^^^
|         right|    center    |left          |
|left          |         right|    center    |
| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |

Note: Vertical alignment is not supported.

No Formatting

If you need to display text exactly like it is typed (without any formatting), enclose the area either with <nowiki> tags or even simpler, with double percent signs %%.

This is some text which contains addresses like this: http://www.splitbrain.org and **formatting**, but nothing is done with it. The same is true for //__this__ text// with a smiley ;-).

<nowiki>
This is some text which contains addresses like this: http://www.splitbrain.org and **formatting**, but nothing is done with it.
</nowiki>
The same is true for %%//__this__ text// with a smiley ;-)%%.

Code Blocks

You can include code blocks into your documents by either indenting them by at least two spaces (like used for the previous examples) or by using the tags <code> or <file>.

This is text is indented by two spaces.
This is preformatted code all spaces are preserved: like              <-this
This is pretty much the same, but you could use it to show that you quoted a file.

Those blocks were created by this source:

  This is text is indented by two spaces.
<code>
This is preformatted code all spaces are preserved: like              <-this
</code>
<file>
This is pretty much the same, but you could use it to show that you quoted a file.
</file>

Syntax Highlighting

DokuWiki can highlight sourcecode, which makes it easier to read. It uses the GeSHi Generic Syntax Highlighter – so any language supported by GeSHi is supported. The syntax is the same like in the code and file blocks in the previous section, but this time the name of the used language is inserted inside the tag. Eg. <code java> or <file java>.

/**
 * The HelloWorldApp class implements an application that
 * simply displays "Hello World!" to the standard output.
 */
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); //Display the string.
    }
}

The following language strings are currently recognized: 4cs, abap, actionscript-french, actionscript, actionscript3, ada, apache, applescript, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, ecmascript, eiffel, email, erlang, fo, fortran, freebasic, fsharp, gambas, genero, genie, gdb, glsl, gml, gnuplot, groovy, gettext, gwbasic, haskell, hicest, hq9plus, html, icon, idl, ini, inno, intercal, io, j, java5, java, javascript, jquery, kixtart, klonec, klonecpp, latex, lisp, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, modula2, modula3, mmix, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, ocaml-brief, ocaml, oobas, oracle8, oracle11, oxygene, oz, pascal, pcre, perl, perl6, per, pf, php-brief, php, pike, pic16, pixelbender, plsql, postgresql, povray, powerbuilder, powershell, progress, prolog, properties, providex, purebasic, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, vala, vbnet, vb, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, winbatch, whois, xbasic, xml, xorg_conf, xpp, z80

Downloadable Code Blocks

When you use the <code> or <file> syntax as above, you might want to make the shown code available for download as well. You can to this by specifying a file name after language code like this:

<file php myexample.php>
<?php echo "hello world!"; ?>
</file>
myexample.php
<?php echo "hello world!"; ?>

If you don't want any highlighting but want a downloadable file, specify a dash (-) as the language code: <code - myfile.foo>.

Embedding HTML and PHP

You can embed raw HTML or PHP code into your documents by using the <html> or <php> tags. (Use uppercase tags if you need to enclose block level elements.)

HTML example:

<html>
This is some <span style="color:red;font-size:150%;">inline HTML</span>
</html>
<HTML>
<p style="border:2px dashed red;">And this is some block HTML</p>
</HTML>

This is some inline HTML

And this is some block HTML

PHP example:

<php>
echo 'A logo generated by PHP:';
echo '<img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP Logo !" />';
echo '(generated inline HTML)';
</php>
<PHP>
echo '<table class="inline"><tr><td>The same, but inside a block level element:</td>';
echo '<td><img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP Logo !" /></td>';
echo '</tr></table>';
</PHP>

echo 'A logo generated by PHP:'; echo '<img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP Logo !" />'; echo '(inline HTML)';

echo '<table class="inline"><tr><td>The same, but inside a block level element:</td>';
echo '<td><img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP Logo !" /></td>';
echo '</tr></table>';

Please Note: HTML and PHP embedding is disabled by default in the configuration. If disabled, the code is displayed instead of executed.

RSS/ATOM Feed Aggregation

DokuWiki can integrate data from external XML feeds. For parsing the XML feeds, SimplePie is used. All formats understood by SimplePie can be used in DokuWiki as well. You can influence the rendering by multiple additional space separated parameters:

Parameter Description
any number will be used as maximum number items to show, defaults to 8
reverse display the last items in the feed first
author show item authors names
date show item dates
description show the item description. If HTML is disabled all tags will be stripped
n[dhm] refresh period, where d=days, h=hours, m=minutes. (e.g. 12h = 12 hours).

The refresh period defaults to 4 hours. Any value below 10 minutes will be treated as 10 minutes. DokuWiki will generally try to supply a cached version of a page, obviously this is inappropriate when the page contains dynamic external content. The parameter tells DokuWiki to re-render the page if it is more than refresh period since the page was last rendered.

Example:

{{rss>http://slashdot.org/index.rss 5 author date 1h }}

Control Macros

Some syntax influences how DokuWiki renders a page without creating any output it self. The following control macros are availble:

Macro Description
~~NOTOC~~ If this macro is found on the page, no table of contents will be created
~~NOCACHE~~ DokuWiki caches all output by default. Sometimes this might not be wanted (eg. when the <php> syntax above is used), adding this macro will force DokuWiki to rerender a page on every call

Syntax Plugins

DokuWiki's syntax can be extended by Plugins. How the installed plugins are used is described on their appropriate description pages. The following syntax plugins are available in this particular DokuWiki installation:

1) This is a footnote
2) when the aspect ratio of the given width and height doesn't match that of the image, it will be cropped to the new ratio before resizing
lepton-eda-1.9.10/docs/wiki/geda-faq-gschem.ru.html0000644000175000017500000026724113634703632016715 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English, Français.

Общее

Я нашёл ошибку! Что мне делать?

  1. Проверьте, можете ли вы повторно воÑпроизвеÑти Ñту ошибку.
  2. СпроÑите в ÑпиÑке раÑÑылки geda-user, еÑть ли ÑпоÑоб её обойти или не победили ли её уже в поÑледней верÑии gEDA/gaf. Учтите, что прежде чем пиÑать в Ñтот ÑпиÑок раÑÑылки, на него нужно подпиÑатьÑÑ.
  3. Проверьте, не отмечена ли уже Ñта проблема в ÑиÑтеме отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº gEDA/gaf. ЕÑли нет, заполните отчёт об ошибке. ОбÑзательно предÑтавьте вÑÑŽ информацию, необходимую Ð´Ð»Ñ Ð²Ð¾ÑÐ¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¸, и укажите верÑию пакета gEDA/gaf, её Ñодержащую.
  4. Ðаконец, как и Ð´Ð»Ñ Ð²Ñех проектов Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом, вы можете напрÑчь Ñвои программиÑÑ‚Ñкие муÑкулы и попробовать иÑправить ошибку ÑамоÑтоÑтельно. ПожалуйÑта, предÑтавьте заплату Ñ Ð½ÑƒÐ¶Ð½Ñ‹Ð¼Ð¸ вам изменениÑми в ÑиÑтему отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº gEDA/gaf. Заплата будет охотно принÑта Ð´Ð»Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ñледующей верÑии gEDA/gaf.

ИÑпользование gschem

Ð’ диалоговом окне выбора Ñимволов нет Ñимволов!

Диалоговое окно выбора Ñимволов предÑтавлÑет ÑпиÑок названий разделов библиотеки. Щёлкните Ñлева от Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ направленному вправо треугольнику. СпиÑок развернётÑÑ. Прокрутите его вниз до Ñимвола, который нужно добавить в Ñхему.

Как перемеÑтить компонент?

  1. Выделите компонент, щёлкнув по нему левой кнопкой мыши. Компонент будет подÑвечен.
  2. ПеремеÑтите его (нажав левую кнопку мыши) в нужное меÑто.

Как перемещать компоненты, не таÑÐºÐ°Ñ ÐºÐ¾Ð½Ñ†Ð¾Ð² подключенных Ñоединений?

Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ‚Ð°ÐºÐ¾Ð³Ð¾ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð½Ð°Ð¶Ð¼Ð¸Ñ‚Ðµ [o][r]. То еÑть Ñначала клавишу [o], затем [r]. Выполнение команды Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ñ€Ð°Ð·Ð¸Ñ‚ÑÑ Ð² окне ÑоÑтоÑниÑ. Эта команда доÑтупна также из меню ÐаÑтройки [Options].

Как изменить размер текÑта в Ñимволе?

  1. Выделите Ñимвол.
  2. Щёлкните правой кнопкой → Войти в Ñимвол [Down symbol] (или из меню Ð˜ÐµÑ€Ð°Ñ€Ñ…Ð¸Ñ â†’ Войти в Ñимвол [Hierarchy → Down symbol]). Это приведёт Ð²Ð°Ñ Ð² редактор Ñимволов.
  3. Выделите номер вывода, который нужно изменить.
  4. Выберите пункт меню Правка → Правка текÑта… [Edit → Edit text…] (или наберите Ñ ÐºÐ»Ð°Ð²Ð¸Ð°Ñ‚ÑƒÑ€Ñ‹ [e][x]).
  5. Измените во вÑплывающем окне размер шрифта.
  6. Повторите Ñто Ð´Ð»Ñ Ð²Ñех текÑтовых Ñлементов, которые нужно изменить.
  7. Файл → Сохранить [File → Save].
  8. Щёлкните правой кнопкой → Ðаверх [Up] (или Ð˜ÐµÑ€Ð°Ñ€Ñ…Ð¸Ñ â†’ Ðаверх [Hierarchy → Up]). Теперь вы Ñнова в редакторе Ñхем.
  9. Пока Ñимвол ещё выделен, щёлкните Правка → Обновить компонент [Edit → Update component] (или воÑпользуйтеÑÑŒ горÑчими клавишами [e][p]). ЕÑли Ñто не работает, проÑто удалите Ñимвол и Ñнова вÑтавьте его.

Эту же процедуру можно иÑпользовать и более широко и редактировать в Ñимволе что-угодно. (При Ñтом, конечно, вмеÑто Правка текÑта… [Edit text…] нужно выбрать другую желаемую функцию.)

Можно ли в gschem задать черту над текÑтом?

Да, линию над текÑтом задать можно. ÐžÐ±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ°Ñ Ñ‡ÐµÑ€Ñ‚Ð° и знак Ð¿Ð¾Ð´Ñ‡Ñ‘Ñ€ÐºÐ¸Ð²Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ð¼ÐµÑ‡Ð°ÑŽÑ‚ начало текÑта, над которым должна быть линиÑ. Ð’Ñ‚Ð¾Ñ€Ð°Ñ ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñ Ñтих Ñимволов вновь включит обычный текÑÑ‚. Пример: дважды щёлкните по атрибуту и наберите «\_Ñто\_».

Учтите, при транÑлÑции в pcb линии над текÑтом в топологии не будет. ÐžÐ±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ°Ñ Ñ‡ÐµÑ€Ñ‚Ð° игнорируетÑÑ, поÑтому по краÑм текÑта, над которым должна была бы быть линиÑ, оÑтанутÑÑ Ð·Ð½Ð°ÐºÐ¸ подчёркиваниÑ.

Как разблокировать заблокированный компонент?

Когда компонент заблокирован, Ñредней кнопкой мыши выделить его нельзÑ, но можно выделить рамкой. Ð”Ð»Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð° рамкой нужно, нажав и ÑƒÐ´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ Ð»ÐµÐ²ÑƒÑŽ кнопку мыши, перемеÑтить мышь, определив таким образом прÑмоугольную облаÑть, Ñодержащую нужный компонент. Затем, чтобы разблокировать компонент, выполнить команду Правка → Разблокировка [Edit → Unlock].

Как Ñделать так, чтобы позиционные Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ вычерчивании Ñхемы нумеровалиÑÑŒ автоматичеÑки?

Измените файл system-gschemrc или добавьте Ñледующее в файл gschemrc (либо в ~/.gEDA/gschemrc, либо в gschemrc в локальном каталоге, из которого вы запуÑкаете gschem):

(load (string-append geda-data-path "/scheme/auto-uref.scm")) ; загрузить Ñкрипт автонумерации
(add-hook! add-component-hook auto-uref)       ; Ð°Ð²Ñ‚Ð¾Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¸ добавлении компонента
(add-hook! copy-component-hook auto-uref)      ; Ð°Ð²Ñ‚Ð¾Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¸ копировании компонента

Что такое шина и как её иÑпользовать?

«Шина» — Ñто вÑего лишь декорациÑ. Генератор ÑпиÑка Ñоединений её игнорирует. ФактичеÑÐºÐ°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð° по Ñоединению точек между Ñобой возложена на атрибут netname= — Ñто то, что gnetlist читает и преобразует в ÑпиÑок Ñоединений. Ðевозможно приÑоединить диÑкретную линию или «бит» к шине, потому что, ещё раз, Ñто проÑто графичеÑкий Ñлемент.

Ðекоторым пользователÑм кажетÑÑ ÑƒÐ´Ð¾Ð±Ð½Ð¾Ð¹ Ñ‚Ð°ÐºÐ°Ñ Ð¾Ñ€Ð³Ð°Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñоединений, когда в их имена входит название шины. Ðапример, к каждому Ñимволу Ð¾Ñ‚Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ñ‚ шины («busripper») можно добавить атрибут вида net=busA:1, что облегчит Ñортировку Ñоединений.

Каково назначение кнопок мыши в gschem?

Стандартные наÑтройки таковы:

  • Ð›ÐµÐ²Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÐ° мыши иÑпользуетÑÑ Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° и черчениÑ.
  • СреднÑÑ ÐºÐ½Ð¾Ð¿ÐºÐ° мыши — или Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° (щёлкните по объекту и, ÑƒÐ´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑƒ, перемещайте мышь), или Ð´Ð»Ñ ÐµÐ³Ð¾ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ (нажав и ÑƒÐ´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸ÑˆÑƒ [Alt], щёлкните по объекту и, ÑƒÐ´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑƒ, перемещайте мышь).
  • ÐŸÑ€Ð°Ð²Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÐ° мыши — Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚ÐµÐºÑтного меню.

ПривÑзку Ñредней кнопки можно изменить, добавив в файл gschemrc одну из Ñледующих Ñтрок:

(middle-button "action")   ;привÑзка по умолчанию, перемещение или копирование объекта

или:

(middle-button "stroke")   ;иÑпользование жеÑтов (Ð´Ð»Ñ Ñтого нужно, чтобы была уÑтановлена библиотека libstroke)

или:

(middle-button "repeat")   ;повтор поÑледней выполненной команды

ПривÑзку правой кнопки можно изменить, добавив в файл gschemrc одну из Ñледующих Ñтрок:

(third-button "popup")     ;привÑзка по умолчанию -- вызов контекÑтного меню

или:

(third-button "mousepan")  ;панорамирование в окне Ñхемы

Более подробную информацию об Ñтих наÑтройках Ñмотрите в файле ${install_prefix}/share/gEDA/system-gschemrc.

Можно ли в gschem делать иерархичеÑкие проекты Ñ Ð»Ð¸Ñтами подÑхем?

Да. ЛиÑты подÑхем в оÑновной Ñхеме предÑтавлÑÑŽÑ‚ÑÑ Ñпециальными Ñимволами. Ð’ разделе документации gschem можно найти пример иерархичеÑкого проекта (geda-doc/examples/gTAG/gTAG.sch). Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð½ÐµÑ‚ ÑпоÑоба Ñоздать Ñимвол подÑхемы из ÑущеÑтвующей Ñхемы автоматичеÑки. Его придётÑÑ Ñ‡ÐµÑ€Ñ‚Ð¸Ñ‚ÑŒ вручную. Мы были бы очень признательны за любые заплаты или Ñторонние Ñкрипты, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ которых можно было бы Ñто Ñделать.

Ðтрибут source=, прикреплённый к Ñимволу подÑхемы, задаÑÑ‚ путь доÑтупа к файлу Ñтой подÑхемы. Выводы Ñимвола ÑоответÑтвуют портам — переходам из оÑновной Ñхемы в подÑхему. Эти переходы должны ÑоответÑтвовать позиционным обозначениÑм Ñимволов портов в подÑхеме. Символами портов в текущей библиотеке gEDA ÑвлÑÑŽÑ‚ÑÑ in-1.sym и out-1.sym. Ð”Ð»Ñ Ð½Ð°Ð²Ð¸Ð³Ð°Ñ†Ð¸Ð¸ в иерархии лиÑтов подÑхем иÑпользуйте меню иерархии. Также Ð´Ð»Ñ Ñтого можно иÑпользовать менеджер Ñтраниц.

Ð”Ð»Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ÐµÑ€Ð°Ñ€Ñ…Ð¸Ð¸ в ÑпиÑок Ñоединений проÑто запуÑтите gsch2pcb Ð´Ð»Ñ Ð¾Ñновной Ñхемы. По умолчанию имена Ñоединений и позиционные Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² ÑвлÑÑŽÑ‚ÑÑ Ñтрого локальными Ð´Ð»Ñ Ð¿Ð¾Ð´Ñхемы. При добавлении в ÑпиÑок Ñоединений они получают Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð² виде позиционного Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñимвола подÑхемы. Можно иÑпользовать даже неÑколько ÑкземплÑров Ñимвола подÑхемы, не опаÑаÑÑÑŒ коротких замыканий. Будут ли изменÑтьÑÑ Ð¸Ð¼ÐµÐ½Ð° Ñоединений или позиционные обозначениÑ, и оÑтаватьÑÑ Ñ‚Ð°ÐºÐ¸Ð¼ образом локальными Ð´Ð»Ñ Ð¿Ð¾Ð´Ñхемы, или не будут, можно наÑтроить в файле конфигурации gnetlistrc. Скопируйте ÑоответÑтвующие Ñтроки из system-gnetlistrc в gnetlistrc в текущем рабочем каталоге или в $HOME/.gEDA/gnetlistrc. Удобной наÑтройкой может быть такаÑ, когда ÑоединениÑ, предÑтавлÑемые Ñимволами питаниÑ, ÑтановÑÑ‚ÑÑ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¼Ð¸, в то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº обычные ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¾ÑтаютÑÑ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ Ð´Ð»Ñ Ð¿Ð¾Ð´Ñхемы. Этого можно добитьÑÑ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸ÐµÐ¼ hierarchy-netattrib-mangle.

Можно ли в gschem Ñделать иерархию, в которой Ñимвол в оÑновной Ñхеме изображает многоÑтраничную Ñхему?

Да. ПроÑто прикрепите к Ñимволу атрибут source= неÑколько раз Ñ Ñ€Ð°Ð·Ð½Ñ‹Ð¼Ð¸ значениÑми. Войдите через Ñтот Ñимвол в Ñхему, затем Ñтраницы данного ÑƒÑ€Ð¾Ð²Ð½Ñ Ð¼Ð¾Ð¶Ð½Ð¾ лиÑтать клавишами [Page Up] / [Page Down].

Можно ли наÑтроить иерархию в неÑкольких каталогах?

Да. Ð”Ð»Ñ Ñтого нужно, чтобы в декларациÑÑ… (source-library "...") и (component-library "...") в gafrc были перечиÑлены вÑе нужные каталоги.

Как объÑвить Ñоединение глобальным?

Ð’ отношении текущего лиÑта вÑе имена Ñоединений глобальны. ЯвлÑÑŽÑ‚ÑÑ Ð»Ð¸ имена Ñоединений глобальными в иерархичеÑком Ñтеке Ñхем или нет, завиÑит от наÑтроек в gnetlistrc. Этот файл может находитьÑÑ Ð² $HOME/.gEDA или в локальном каталоге вмеÑте Ñо Ñхемами. Ð£Ð¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸Ñ ÑƒÑтановлены в system-gschemrc. ЕÑли хочетÑÑ Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ поведениÑ, Ñкопируйте ÑоответÑтвующие Ñтроки в локальный gnetlistrc.

СпоÑоба Ñделать определённые имена Ñоединений глобальными нет. Однако имена Ð´Ð»Ñ Ñоединений можно разделить на те, что задаютÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ атрибута netname, и те, что определÑÑŽÑ‚ÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ net. Второй атрибут предназначен Ð´Ð»Ñ Ð½Ð°Ñтройки Ñоединений Ñимволов питаниÑ. При его иÑпользовании ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ðº Ñимволам подÑхем подводить не нужно.

Можно ли определить оÑобые наÑтройки и библиотеки Ð´Ð»Ñ Ð¿Ð¾Ð´Ñхем?

Когда Ñхема открываетÑÑ, libgeda менÑет каталог. Так что при обработке Ñхемы она должна загрузить любой gafrc, и в подкаталогах тоже.

ЕÑть ли Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¸ÐµÑ€Ð°Ñ€Ñ…Ð¸Ñ‡ÐµÑких проектов?

Ð¥Ð¾Ñ‚Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° подÑхем охватывает многие аÑпекты иерархичеÑких проектов, неÑколько ограничений ÑущеÑтвует:

  • Шины к подÑхемам приÑоединÑть нельзÑ.
  • Ð’ графичеÑком интерфейÑе нет ÑпоÑоба Ñоздать начальную подÑхему. Отдельные Ñимволы Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ подÑхемы придётÑÑ Ñоздавать вручную.

Ðе ÑтеÑнÑйтеÑÑŒ иÑправить Ñти вопроÑÑ‹. Помощь приветÑтвуетÑÑ.

Символы gschem

Где найти Ñимволы кроме тех, что еÑть в Ñтандартной библиотеке?

ЕÑть веб-Ñайт gedasymbols.org, предназначенный Ð´Ð»Ñ Ñ€ÐµÑурÑов, которыми пользователи ÑодейÑтвуют проекту gEDA. ЕÑть поиÑк по Ñайту, предпроÑмотр Ñимволов и их можно загрузить по отдельноÑти. ЕÑли ÑоответÑтвующим образом Ñконфигурировать Ñвой файл gafrc, то Ñти Ñимволы можно размеÑтить прÑмо Ñ€Ñдом Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ñхем Ñвоего проекта. Может быть вам Ñледует Ñоздать локальную библиотеку Ñимволов, чтобы вÑе проекты имели доÑтуп к новым Ñимволам. Смотрите подробноÑти ниже.

Можно загрузить даже вÑÑ‘ Ñодержимое, добавленное пользователÑми gedasymbols. Смотрите инÑтрукции о том, как получить доÑтуп к gedasymbols Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ CVS.

Что за Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð½Ð°Ñчёт Ñ‚Ñжёлых Ñимволов против лёгких?

Эта Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ Ð²Ñ‹Ñ€Ð¾Ñла из диÑкуÑÑии, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñ‡Ð°Ñто возникает в ÑпиÑках раÑÑылки geda-user и geda-dev. Лёгкий Ñимвол — Ñто Ñимвол, Ñодержащий очень мало вÑтроенных атрибутов. При Ñтом почти вÑе атрибуты пользователю придётÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»Ñть на Ñтапе Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñхемы (например, в gschem или в gattrib). ТÑжёлый Ñимвол — Ñто такой, многие атрибуты которого (такие как поÑадочные меÑта компонентов, Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ SPICE-моделей и пр.) уже вÑтроены в файл Ñимвола. ПоÑтому на Ñтапе Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñхемы атрибуты к Ñ‚Ñжёлому Ñимволу прикреплÑть практичеÑки не требуетÑÑ â€” проÑто вÑтавлÑете его и вÑÑ‘ готово.

Дебаты между Ñторонниками Ñ‚Ñжёлых и лёгких Ñимволов очень детальны и запутаны. Ð’ целом, Ñторонники Ñ‚Ñжёлых Ñимволов думают, что они позволÑÑŽÑ‚ доÑтичь большей интеграции между gschem и pcb, так как важные атрибуты топологии (такие как название поÑадочного меÑта) уже вÑтроены в Ñимвол. СчитаетÑÑ, что Ñто хорошо Ð´Ð»Ñ Ð½Ð¾Ð²Ñ‹Ñ… пользователей (нубов), которые проÑто хотÑÑ‚ Ñпроектировать проÑтую плату, и их не волнует миллион вариантов, ÑущеÑтвующих даже Ð´Ð»Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾Ð³Ð¾ резиÑтора (например, различные корпуÑа, ТКС, точноÑть, ÑоÑтав материала и Ñ‚. д.). Сторонники лёгких Ñимволов предпочитают работать Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¼Ð¸ при редактировании Ñхемы, потому что думают, что Ñто более гибко. Они Ñразу указывают, что еÑли пытатьÑÑ Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡Ð¸Ñ‚ÑŒ вÑе Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ разными вариациÑми компонентов, библиотека Ñ‚Ñжёлых Ñимволов быÑтро разраÑтётÑÑ Ð² тыÑÑчи компонентов Ñ Ð°Ð±Ñурдно длинными названиÑми. Они также отмечают, что предпочтительным инÑтрументом Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ атрибутов при редактировании Ñхем (то еÑть Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² .sch) ÑвлÑетÑÑ ÑƒÑ‚Ð¸Ð»Ð¸Ñ‚Ð° gattrib.

Ð’ gEDA/gaf по умолчанию иÑпользуютÑÑ Ð»Ñ‘Ð³ÐºÐ¸Ðµ Ñимволы, Ñ…Ð¾Ñ‚Ñ Ñ‚Ð°ÐºÑƒÑŽ конфигурацию можно изменить и иÑпользовать Ñ‚Ñжёлые. Более подробно об Ñтом можно узнать из Ñледующих диÑкуÑÑий в ÑпиÑке раÑÑылки geda-user:

http://archives.seul.org/geda/user/Jun-2005/msg00001.html

http://archives.seul.org/geda/dev/Oct-2005/msg00043.html

http://archives.seul.org/geda/user/Dec-2007/msg00146.html

Я загрузил Ñимвол из библиотеки. Почему он не выравниваетÑÑ Ð¿Ð¾ Ñетке?

ПодавлÑющее большинÑтво Ñимволов в библиотеке Ñоздано Ñ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸ÐµÐ¼ по Ñетке в 100 единиц. УбедитеÑÑŒ, что Ñетка наÑтроена на 100 единиц. Чтобы проверить или изменить Ñто значение, выберите Шаг Ñетки привÑзки… [Snap Grid Spacing…] в меню наÑтроек.

Символы добавлены в библиотеку такими же пользователÑми, как и вы. Ðекоторые люди иÑпользуют другие наÑтройки Ñетки, нежели оÑтальные (например, 50 единиц вмеÑто 100). ЕÑли вы обнаружили Ñимвол, который, кажетÑÑ, не выравниваетÑÑ Ð¿Ð¾ Ñетке, попробуйте уменьшить размер Ñетки и перемеÑтить Ñимвол так, чтобы концы его выводов «Ñидели» на Ñетке. Потом вернитеÑÑŒ к наÑтройкам Ñетки, подходÑщим Ð´Ð»Ñ Ð²Ð°Ñ. Кроме того, вы можете поÑлать иÑправленный Ñимвол в ÑпиÑок раÑÑылки geda-user.

Символы, находÑщиеÑÑ Ð½Ð° Ñайте gedasymbols.org, ещё более подогнаны под конкретные Ñ‚Ñ€ÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ñ… авторов. Да, Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ gEDA Ñтрого рекомендует иÑпользовать размер Ñетки 100 единиц. Ðо каждый любит делать вÑÑ‘ по-Ñвоему и абÑолютного диктатора, который мог бы навÑзать правила Ð´Ð»Ñ Ð²Ð½Ð¾Ñимых в проект Ñимволов, нет. ПоÑтому вам проÑто надо знать об Ñтой возможноÑти.

ЕÑть ли Ñвный Ñимвол «no connect», который Ñ Ð¼Ð¾Ð³/должен бы вÑтавить в Ñхему, чтобы программа gnetlist не думала, что Ñ Ð·Ð°Ð±Ñ‹Ð» добавить какое-то Ñоединение?

Ответ: misc → nc-left, nc-right, nc-top, nc-bottom.

Будьте оÑторожны: Ð¿Ð¾Ð´Ñ‡Ð°Ñ Ð¿Ñ€Ð¸ Ñтом может быть Ñоздано Ñоединение Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ no_connect (или NC??), что может заÑтавить gnetlist Ñоединить Ñти неподключенные выводы между Ñобой, чего вы, Ñкорее вÑего, не хотели бы.

ЕÑли вы хотите, чтобы Ñимвол был чиÑто графичеÑким (не имел ÑлектричеÑких Ñоединений), добавьте атрибут graphical=1. Такие Ñимволы полноÑтью игнорируютÑÑ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ ÑпиÑка Ñоединений.

Как вынеÑти в Ñхему невидимый атрибут Ñимвола?

Ðевидимые атрибуты, за некоторыми иÑключениÑми, из Ñимволов в Ñхему не выноÑÑÑ‚ÑÑ. Чтобы они выноÑилиÑÑŒ, нужно Ñделать Ñледующее. Поищите Ñледующие ключевые Ñлова в файле system-gafrc:

(attribute-promotion "enabled");
(promote-invisible "disabled") ; <= Вот Ñто
(keep-invisible "enabled")

Добавьте в Ñвой gafrc:

(promote-invisible "enabled")

и вÑе атрибуты будут выноÑитьÑÑ. Ключевое Ñлово keep-invisible Ñлужит Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы те атрибуты, что были Ñкрытыми в файле Ñимвола, оÑтавалиÑÑŒ Ñкрытыми и в Ñхеме.

Как мне быть Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°Ð¼Ð¸ Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ñвоих Ñимволов: делать ли их видимыми (Ñвными) или невидимыми (неÑвными)?

Ð’ прошлом в Ñхемах цифровой логики выводы Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ ÑкрывалиÑÑŒ и ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¾ÑущеÑтвлÑлиÑÑŒ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ атрибутов внутри Ñимвола. Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð±Ñ‰ÐµÐµ мнение на Ñтот Ñчёт изменилоÑÑŒ, и такой подход ÑчитаетÑÑ Ð¿Ð»Ð¾Ñ…Ð¸Ð¼ (Ñ…Ð¾Ñ‚Ñ Ð¿Ð¾Ñ€Ð¾Ð¹ вÑÑ‘ ещё вÑпыхивают религиозные войны по Ñтому вопроÑу).

Ð”Ð»Ñ Ñтарых логичеÑких Ñхем, имеющих повÑюду пÑтивольтовую ТТЛ-логику, наличие Ñкрытых выводов может быть и нормально. ЕÑли у Ð²Ð°Ñ Ð½Ð° плате еÑть только +5 Ð’, то Ñкрытие выводов Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚ неÑколько упроÑтить Ñхему. Однако ÑÐµÐ³Ð¾Ð´Ð½Ñ Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¸Ðµ проектировщики делают такие Ñхемы; пÑтивольтовые ТТЛ (и пÑтивольтовые КМОП) быÑтро ÑтановÑÑ‚ÑÑ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸ÐµÐ¹ древноÑти.

Скрывать выводы Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ñ‹Ñ… микроÑхем было неприемлемо вÑегда. Во-первых, аналоговые микроÑхемы чаÑто имеют неÑколько Ñоединений Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ (VCC, VEE), которые требуетÑÑ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ Ñвно. Во-вторых, Ñ…Ð¾Ñ€Ð¾ÑˆÐ°Ñ Ð¿Ñ€Ð°ÐºÑ‚Ð¸ÐºÐ° Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð´Ñ€Ð°Ð·ÑƒÐ¼ÐµÐ²Ð°ÐµÑ‚ уÑтановку развÑзывающих конденÑаторов на вÑех выводах Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð±ÐµÐ· иÑключениÑ. К тому же иногда поÑледовательно Ñ Ð¿Ð¸Ñ‚Ð°Ð½Ð¸ÐµÐ¼ уÑтанавливают катушку индуктивноÑти. Так как вÑÑ‘ Ñто должно быть начерчено в Ñхеме, то лучше вÑего Ð´Ð»Ñ Ð¸Ñ… Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸Ñпользовать Ñвный вывод питаниÑ. ПоÑтому никогда не Ñледует иÑпользовать Ñкрытые выводы Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ñимволов аналоговых компонентов.

Ð’ новых Ñхемах логики Ð´Ð»Ñ Ñ€Ð°Ð·Ð½Ñ‹Ñ… чаÑтей микроÑхемы чаÑто иÑпользуетÑÑ Ð½ÐµÑколько иÑточников Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ (OVDD, DVDD и Ñ‚. д.). Обычным также ÑвлÑетÑÑ Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ðµ неÑкольких типов логики на одной плате (5 Ð’, 3.3 Ð’ и Ñ‚. д.). ПоÑтому лучше вÑего размещать и подключать выводы Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ñ‚Ð°ÐºÐ¸Ñ… Ñимволов Ñвным образом. Скрытые выводы Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð² Ñтом Ñлучае будут причиной многих бед, так как, например, питание 3,3 Ð’ можно веÑьма проÑто ошибочно подключить к пÑтивольтовому прибору.

ÐŸÐµÑ€ÐµÑ„Ñ€Ð°Ð·Ð¸Ñ€ÑƒÑ ÐенÑи Рейган: проÑто Ñкажи «нет» Ñкрытым выводам питаниÑ.

К вышеÑказанному добавим, что тем не менее веÑьма удобным может быть отделение выводов Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¾Ñ‚ функциональных чаÑтей Ñимвола. Чтобы добитьÑÑ Ñтого, надо будет определить отдельный Ñимвол Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¸ задать ему то же Ñамое позиционное обозначение, что и Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ð¹ чаÑти. При запуÑке gsch2pcb Ñти двойнÑшки будут надлежащим образом раÑÑматриватьÑÑ ÐºÐ°Ðº один компонент. Так как ни gschem, ни gsch2pcb не могут точно знать, вполне ли укомплектован компонент в Ñхеме обоими Ñозданными Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ Ñимволами, то Ñто Ñледует проверÑть ÑамоÑтоÑтельно. При таком подходе вÑе цепи Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ вычерчиватьÑÑ Ð² одном углу Ñхемы отдельно от Ñигнальных цепей. Ð”Ð»Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ñ‹Ñ… Ñхем Ñто в Ñ€Ñде Ñлучаев очень удобно.

Можно ли иÑпользовать выводы нулевой длины?

Ð”Ð»Ñ Ð¾Ð±Ð¾Ð¸Ñ… концов вывода можно задать одинаковые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¾Ñ€Ð´Ð¸Ð½Ð°Ñ‚. При Ñтом будет выводитьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ краÑный маркер вывода без продолжениÑ. Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð² gschem графичеÑки такой вывод начертить нельзÑ. Ðо файл Ñимвола можно открыть в текÑтовом редакторе и добавить вот такую Ñтроку:

P 100 100 100 100 1 0 0

ПолучитÑÑ Ð²Ñ‹Ð²Ð¾Ð´ нулевой длины в нижнем левом углу рабочей облаÑти. Его можно перемещать, прикреплÑть к нему атрибуты, копировать его как и любой другой вывод. ЕÑли Ñоединение к нему не подключено, он выглÑдит как маленький краÑный флаг, в противном Ñлучае — пропадает. gnetlist без проблем обрабатывает его как и вÑе прочие выводы.

ЕÑть ли ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¸Ð»Ð¸ руководÑтво по Ñозданию Ñимволов gschem? ЕÑли еÑть, то где?

ЕÑть ли помощник по Ñозданию Ñимволов в gschem?

Помощника, вÑтроенного в графичеÑкий Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ gschem, нет. Ðо еÑть Ñкрипты Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкого ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñимволов по заданным в файле конфигурации параметрам. Один из Ñтих Ñкриптов — tragesym. Он входит в Ñтандартный набор программ gEDA. ÐаучитьÑÑ Ð¸Ð¼ пользоватьÑÑ Ð²Ð°Ð¼ поможет краткое руководÑтво.

Один из оÑновных разработчиков проекта напиÑал Ñвой ÑобÑтвенный Ñкрипт Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñимволов: djboxsym.

Кроме того, ÑущеÑтвует утилита (ibs2symdef.py), позволÑÑŽÑ‰Ð°Ñ Ñоздавать файлы опиÑаний Ñимволов (symdef) Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ djboxsym из IBIS-моделей. Она раÑпроÑтранÑетÑÑ Ð² рамках проекта PyBIS: PyBIS wiki.

ПоÑмотрите Ñтраницу geda:gschem symbol generators на предмет других доÑтупных генераторов.

Где можно найти информацию о формате файлов gschem?

Ð’ отличие от многих СÐПР Ñлектроники, разработчики gschem Ñтрого придерживаютÑÑ ÑƒÐ´Ð¾Ð±Ð¾Ñ‡Ð¸Ñ‚Ð°ÐµÐ¼Ð¾Ð³Ð¾ текÑтового формата. Он иÑпользуетÑÑ Ð¿Ñ€ÐµÐ´Ð½Ð°Ð¼ÐµÑ€ÐµÐ½Ð½Ð¾, Ð´Ð»Ñ Ð¾Ð±Ð»ÐµÐ³Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ñкриптов. К тому же он позволÑет быÑтро править файлы в текÑтовом редакторе. ОпиÑание формата файлов gschem находитÑÑ Ð·Ð´ÐµÑÑŒ.

Почему Ñимволы такие большие?

Ð’ gschem нет ничего, что определÑло бы абÑолютный размер объектов. ЕдинÑтвенной ÑвÑзью Ñ Ñ€ÐµÐ°Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ единицами Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ ÑвлÑÑŽÑ‚ÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð·Ð½Ñ‹Ñ… рамок оÑновных надпиÑей. По какой-то давно забытой причине в рамках оÑновных надпиÑей Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñми title-A4.sym или title-B.sym помещаютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ отноÑительно проÑтые Ñхемы из Ñимволов Ñтандартной библиотеки. ЕÑли Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ Ñложных Ñхем вам нужно больше меÑта, проÑто выберите Ñимвол рамки подходÑщего размера.

gschem маÑштабирует вывод печати таким образом, что вÑÑ‘ Ñодержимое раÑÑ‚ÑгиваетÑÑ Ð½Ð° выбранный формат лиÑта. Этот формат абÑолютно незавиÑим от иÑпользуемого в Ñхеме Ñимвола рамки оÑновной надпиÑи. ПоÑтому нет нужды маÑштабировать Ñами Ñимволы, чтобы они помеÑтилиÑÑŒ на конкретном формате. Многие при печати на A4 предпочитают иÑпользовать title-A2.sym или title-A3.sym. Кто-то иÑпользует Ñимволы оÑновной надпиÑи вообще без рамок и затем чертит прÑмоугольник подходÑщего размера (Ñм., например, title-block.sym от Kai-Martin Knaak).

Ðо в некоторых ÑлучаÑÑ… вÑÑ‘ же хочетÑÑ Ð½Ð° Ñамом деле изменить размер Ñимволов. Ð”Ð»Ñ Ñтого еÑть неÑколько ÑпоÑобов:

  • DJ Delorie напиÑал Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° Ñкрипт на Perl под названием scale-schematic, находÑщийÑÑ Ð½Ð° его Ñтранице на Ñайте gedasymbols.org.
  • Можно Ñделать и Ñвою ÑобÑтвенную библиотеку Ñимволов. Это не так уж и Ñтрашно, так как многие приходÑÑ‚ к иÑпользованию в любом Ñлучае иÑключительно ÑобÑтвенных Ñимволов.

Конфигурирование/наÑтройка gschem

Вариантов наÑтройки gschem гораздо больше, чем может быть здеÑÑŒ раÑÑмотрено. ПоÑтому, чтобы узнать, что можно изменить ещё, взглÑните на system-gschemrc.

Как Ñконфигурировать локальный файл gafrc, чтобы можно было найти каталог Ñвоих Ñимволов?

  1. Создайте каталог проекта, например ${HOME}/myproj.
  2. ПомеÑтите нужные вам Ñимволы в ${HOME}/myproj/symbols.
  3. Ð’ ${HOME}/myproj Ñоздайте файл gafrc.
  4. Добавьте в gafrc Ñтроку:
     (component-library "./symbols")
  5. ЗапуÑтите gschem из каталога проекта. То еÑть Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка gschem наберите Ñледующее:
    cd ${HOME}/myproj
    gschem myschematic.sch

Главное, что Ñледует помнить:

  • Код Guile, обрабатывающий rc-файлы не понимает или не интерпретирует метаÑимволы и шаблоны оболочки, такие как «~» или «${HOME}». Он не Ñчитает, что «.» — Ñто текущий каталог, и не понимает абÑолютных путей доÑтупа к файлам. ЕÑли вы хотите Ñделать что-то мудрёное, то Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ о каталогах можно попробовать иÑпользовать функции Scheme.
  • УбедитеÑÑŒ, что gafrc находитÑÑ Ð² главном каталоге проекта.
  • ЗапуÑкайте вÑе программы gEDA из главного каталога Ñвоего проекта.
  • ЗапуÑкайте программы из командной Ñтроки в оболочке терминала — не иÑпользуйте никаких краÑивых, блеÑÑ‚Ñщих иконок Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка gschem (еÑли они у Ð²Ð°Ñ ÐµÑть), так как вы не узнаете, в каком каталоге gschem запуÑкаетÑÑ, а gschem может не найти gafrc.
  • Самое главное здеÑÑŒ: запуÑкать gschem из того же каталога, где лежит и gafrc.

Как задать корневой каталог Ñвоей библиотеки?

СущеÑтвует два подхода. ЕÑли вам нужно, чтобы ÐºÐ°Ð¶Ð´Ð°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ° имела уникальное имÑ, абÑолютно каждый из каталогов Ñвоих локальных библиотек нужно отдельно пропиÑывать в файле gafrc. Ðо общую чаÑть полного пути вовÑе не обÑзательно повторÑть Ñнова и Ñнова. С помощью функции build-path путь можно формировать «на лету»:

(define gedasymbols "/путь/к/локальной/библиотеке")
(component-library (build-path gedasymbols "analog"))
(component-library (build-path gedasymbols "block"))
(component-library (build-path gedasymbols "connector"))

ЕÑли вы не хотите перечиÑлÑть отдельные подкаталоги, можно задать только Ð¸Ð¼Ñ ÐºÐ¾Ñ€Ð½ÐµÐ²Ð¾Ð³Ð¾ каталога библиотеки:

(component-library-search "/каталог/Ñ/моими_библиотеками_Ñимволов/" "library:")

Можно ли в задании пути доÑтупа к библиотеке иÑпользовать переменные окружениÑ?

К переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ ENV внутри предложений Scheme в gafrc можно обратитьÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ getenv "ENV":

; Определение пути доÑтупа к локальному репозиторию Ñимволов:
(define symbolspath (build-path (getenv "HOME") "geda" "symbols"))
; Подключение Ñ ÐµÐ³Ð¾ помощью конкретной библиотеки:
(component-library (build-path symbolspath "analog"))

Ðльтернативный ÑинтакÑÐ¸Ñ â€” ${ENV}:

(component-library "${HOME}/geda/symbols/analog")

Как Ñделать так, чтобы название библиотеки отличалоÑÑŒ от имени её каталога?

Добавьте третий аргумент в предложение component-library в gafrc, то еÑть:

(component-library "/home/comp/sch_symbols/AutoGen/Panasonic/0603/1P" "Panasonic 0603 1P")

Можно ли в библиотеке хранить чаÑто необходимые чаÑти Ñхем?

Да, Ð±Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€Ñ Ñ‚Ð¾Ð¼Ñƒ, что Ñимволы могут Ñодержать вложенные Ñимволы и ÑоединениÑ.

  1. Скопируйте чаÑть Ñхемы на новый лиÑÑ‚ (так как рамка оÑновной надпиÑи вам не понадобитÑÑ, разблокируйте её и удалите).
  2. Позиционные Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ заканчиватьÑÑ Ð½Ð° «?», чтобы потом их можно было пронумеровать автоматичеÑки.
  3. ПеремеÑтите Ñту чаÑть Ñхемы в нижний левый угол доÑтупного Ð´Ð»Ñ Ñ‡ÐµÑ€Ñ‚ÐµÐ¶Ð° проÑтранÑтва (можно Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Правка → Смещение Ñимвола… [Edit → Symbol Translate…]).
  4. Сохраните полученную Ñхему как Ñимвол (Ñ Ñ€Ð°Ñширением .sym) в Ñвою локальную библиотеку.
  5. Ð’ рабочей Ñхеме откройте окно выбора компонентов и перед вÑтавкой Ñтого ÑоÑтавного Ñимвола Ñнизу в выпадающем ÑпиÑке выберите Ð’Ñтавить как отдельные объекты [Include component as individual objects]. Содержимое Ñимвола будет полноÑтью вÑтавлено на лиÑÑ‚. Ðе забудьте потом Ñнова уÑтановить режим по умолчанию Ð´Ð»Ñ Ð²Ñтавки обычных Ñимволов.

Библиотека завалена Ñимволами Ñтандартной библиотеки. Можно ли ограничитьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñвоими локальными библиотеками?

Добавьте в gafrc Ñледующие Ñтроки, заменив каталоги на Ñвои:

; очиÑтить переменную, Ñодержащую пути к библиотекам,
; и добавить в неё локальные каталоги:
(reset-component-library)
(component-library "/foo/localgedalib1")
(component-library "/bar/foo/localgedalib2")

Можно либо добавить каталоги Ð´Ð»Ñ Ð²Ñех локальных библиотек отдельно, или добавить целое дерево пути Ñ Ð¿Ð¾Ð´ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°Ð¼Ð¸. См. выше о том, как Ñто Ñделать. ВеÑьма неплохо помеÑтить Ñтот gafrc в каталог Ñвоего проекта. Таким образом при запуÑке gschem из какого-то другого каталога Ñимволы Ñтандартной библиотеки вÑÑ‘ равно будут поÑвлÑтьÑÑ. Также Ñто даёт возможноÑть наÑтройки библиотек Ñпециальных Ñимволов Ð´Ð»Ñ Ð¾Ñобых проектов.

Что надо Ñделать, чтобы по умолчанию уÑтанавливалÑÑ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ размер текÑта?

Добавьте в Ñвой gschemrc

(text-size 10)

ВмеÑто “10†подÑтавьте нужный размер.

Скажите, пожалуйÑта, можно ли наÑтроить Ñветлый цвет фона?

Ð’ файл gschemrc, находÑщийÑÑ Ð² том меÑте, где gschem при запуÑке ищет Ñвои наÑтройки, добавьте такую Ñтроку:

(load (build-path geda-rc-path "gschem-colormap-lightbg"))

Как подÑтроить цвета в gschem?

Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑкого интерфейÑа Ð´Ð»Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¾Ð¹ корректировки цветов в gschem нет. Ðо их можно поправить в rc-файле.

  1. Скопируйте файл gschem-colormap-lightbg или gschem-colormap-darkbg в $HOME/.gEDA/mycolors.
  2. Отредактируйте по вкуÑу цвета в .gEDA/mycolors.
  3. Добавьте в gschemrc Ñтроку:
(load (build-path (getenv "HOME") ".gEDA" "mycolors"))

Каждый раз при запуÑке gschem поÑвлÑетÑÑ Ð¾ÐºÐ½Ð¾ журнала. Можно ли его отключить?

Ð’ файле system-gschemrc вы найдёте Ñледующий раздел:

; log-window string
;
; Controls if the log message window is mapped when gschem is started up
; Possible options:
;       startup - opened up when gschem starts
;       later   - NOT opened up when gschem starts
;                 (can be opened by Options/Show Log Window)
;
(log-window "startup")
;(log-window "later")

Закомментируйте Ñтроку startup (Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñимвола «;») и раÑкомментируйте Ñтроку later, или добавьте в Ñвой gschemrc Ñледующую Ñтроку:

(log-window "later")

ЕÑли вы хотите, чтобы вмеÑто окна журнала ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¸Ð»Ð¸ÑÑŒ на Ñтандартный вывод (stdout), добавьте в Ñвой gschemrc такую Ñтроку:

(logging-destination "tty")

ЕÑть ли ÑпоÑоб запретить журналирование в $HOME/.gEDA/logs/?

Добавьте в Ñвой gschemrc Ñтроку:

(logging "disabled")

Можно ли Ñделать так, чтобы Ð´Ð»Ñ Ð½Ð¾Ð²Ñ‹Ñ… Ñхем уÑтанавливалаÑÑŒ Ð¼Ð¾Ñ ÑобÑÑ‚Ð²ÐµÐ½Ð½Ð°Ñ Ñ€Ð°Ð¼ÐºÐ° оÑновной надпиÑи?

Добавьте Ñледующую Ñтроку в Ñвой gschemrc:

(define default-titleblock "title-A3.sym")

Замените title-A3.sym именем файла Ñимвола предпочитаемой рамки.

Печать/вывод

Как напечатать Ñхемы из командной Ñтроки?

Файл в формате PostScript или PDF Ð´Ð»Ñ Ñвоей Ñхемы можно получить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ команды gaf export.

PDF-файл из файла Ñхемы ÑоздаётÑÑ Ñледующей командой (замените в ней MY_SCH именем файла Ñвоей Ñхемы):

gaf export -o MY_SCH.pdf MY_SCH.sch

Приведённый ниже bash-Ñкрипт, который Ñ Ð½Ð°Ð·Ð²Ð°Ð» gschem-print, ÑоздаÑÑ‚ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из заданных в командной Ñтроке файлов Ñхем Postscript-файл, а затем раÑпечатает его на иÑпользуемом по умолчанию принтере:

#!/bin/bash

# 'gaf export' options
# -oPS_FILENAME output to Postscript file PS_FILENAME

for name in $*
do
    base="${name%.*}"
    gaf export --output=$base.ps -- $base.sch
    lpr -P$PRINTER $base.ps
done

Размер бумаги можно наÑтроить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ключа -p. Ð”Ð»Ñ ÑƒÑтановки размера бумаги в A4 иÑпользуетÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° вида:

gaf export --paper=iso_a4 -o MY_SCH.pdf MY_SCH.sch

Чтобы задать “US Letter†как предпочтительный размер бумаги Ð´Ð»Ñ Ð²Ñех открываемых Ñхем, выполните:

gaf config --user export paper na_letter

Как вывеÑти PDF/PNG в цвете?

Отредактируйте файл system-gschemrc или добавьте в gschemrc одну из Ñледующих Ñтрок (то еÑть в ~/.gEDA/gschemrc или в gschemrc в том каталоге, из которого вы запуÑкаете gschem).

(print-color "enabled")      ; Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° цветных PDF
(image-color "enabled")      ; Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° цветных PNG (включено по умолчанию)

Как вывеÑти чёрно-белые Postscript/PNG?

Ð”Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° чёрно-белого Postscript добавьте в gschemrc Ñледующее:

(output-color "disabled")     ; монохромный Postscript (включено по умолчанию)

Ð”Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° чёрно-белых PNG добавьте в gschemrc Ñледующее:

(image-color "disabled")      ; монохромные PNG

Как Ñделать PDF?

Выберите в меню Файл→Сохранить изображение… [File→Write image…]. ОткроетÑÑ Ð¾ÐºÐ½Ð¾ запиÑи изображениÑ. Там можно выбрать ÑкÑпорт в PDF.

Или проÑто запуÑтите:

gaf export --output=foo.pdf bar.sch

Как вÑтавить Ñхемы в LaTeX-документ?

При обычном иÑпользовании команды latex вам понадобитÑÑ Ñ„Ð°Ð¹Ð» в формате EPS (Encapsulated PostScript). Ð”Ð»Ñ pdflatex вам будет нужен файл в формате PDF. Ð”Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑоответÑтвующего файла нужно выполнить:

gaf export --size=auto --output=foo.eps foo.sch

или:

gaf export --size=auto --output=foo.pdf foo.sch

Ð’ преамбулу Ñвоего LaTeX-документа нужно добавить \usepackage{graphicx}. Ð’Ñтавка Ñхемы в документ оÑущеÑтвлÑетÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ \includegraphics.

ПроÑтой пример:

\documentclass{article}
\usepackage{graphicx}
\begin{document}
  \begin{figure}
  \includegraphics[width=100mm]{foo}
  \end{figure}
\end{document}

Как разбить лиÑÑ‚ Ñхемы в формате Postscript на неÑколько Ñтраниц?

Сама программа gschem такой функциональноÑти не предоÑтавлÑет, но еÑть программа poster, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ ÐºÐ°Ðº раз Ñто и делает. Её можно загрузить отÑюда (GNU) или отÑюда (KDE Print).

Проблемы уÑтановки/работы gschem

ПоÑле уÑтановки gschem не работает!? Что может быть не так?

ЕÑли вы запуÑкаете gschem и получаете окно без панели меню, без цветов, и при нажатии клавиши программа завершаетÑÑ Ñо Ñледующим Ñообщением:

ERROR: Unbound variable: current-keymap

или поÑвлÑетÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ° такого вида:

Gtk-CRITICAL : file gtkpixmap.c: line 97 (gtk_pixmap_new): assertion `val != NULL' failed.
Gtk-CRITICAL : file gtkpixmap.c: line 97 (gtk_pixmap_new): assertion `val != NULL' failed.
Tried to get an invalid color: 0
Tried to get an invalid color: 7
Tried to get an invalid color: 0
Tried to get an invalid color: 7

то gschem не находит какого-то rc-файла. ЕÑть два необходимых rc-файла. Первый — Ñто system-gschemrc, второй — system-gafrc.

  • rc-файл system-gschemrc должен уÑтанавливатьÑÑ Ð¿Ñ€Ð¸ уÑтановке gschem и обычно находитÑÑ Ð² ${prefix}/share/gEDA/system-gschemrc. ${prefix} — Ñто каталог уÑтановки gEDA (обычно /usr, /usr/local или $HOME/geda). Этот файл может быть также уÑтановлен в /etc/gEDA (так делаетÑÑ Ð² пакетах .deb).
  • rc-файл system-gafrc должен уÑтанавливатьÑÑ Ð¿Ñ€Ð¸ уÑтановке общей библиотеки gEDA/gaf libgeda. Он находитÑÑ Ð² ${prefix}/share/gEDA/system-gafrc. Этот файл может уÑтанавливатьÑÑ Ñ‚Ð°ÐºÐ¶Ðµ в /etc/gEDA (так делаетÑÑ Ð² пакетах .deb). ÐепоÑредÑтвенно программой gschem Ñтот файл не загружаетÑÑ.

УдоÑтоверьтеÑÑŒ, что Ñти файлы уÑтановлены. Файл gschem.log (Ñоздаваемый при каждом запуÑке gschem) Ñодержит полезную отладочную информацию, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° помочь вам определить, что идёт не так. Проверьте Ñтот файл на предмет того, где gschem ищет Ñвои rc-файлы.

Кроме того, в некоторых более Ñтарых верÑиÑÑ… gEDA/gaf было неÑколько ошибок, возникавших при уÑтановке rc-файлов в другие меÑта (другие, нежели ${prefix}/share/gEDA), так что произведите обновление до более Ñвежей верÑии.

«Добавить Компонент» не предлагает Ñимволов! Что Ñ Ñтим делать?

УбедитеÑÑŒ, что по крайней мере в одном из файлов конфигурации у Ð²Ð°Ñ ÑƒÐºÐ°Ð·Ð°Ð½ дейÑтвительный путь доÑтупа к библиотеке Ñимволов. При запуÑке gschem проверÑет Ñледующие файлы конфигурации (в ÑиÑтеме Debian):

  1. ÑиÑтемный файл gafrc диÑтрибутива: /etc/gEDA/system-gafrc (будет перезапиÑан при обновлении)
  2. локальный ÑиÑтемный файл gafrc: /usr/share/gEDA/gafrc.d/gafrc (Ð´Ð»Ñ Ð²ÐµÑ€Ñий gEDA поÑле лета 2009 г.)
  3. пользовательÑкий файл gafrc: ~/.gEDA/gafrc
  4. локальный файл gafrc: $PWD/gafrc
  5. ÑиÑтемный файл gschemrc: /etc/gEDA/system-gschemrc
  6. пользовательÑкий файл gschemrc: ~/.gEDA/gschemrc
  7. локальный файл gschemrc: $PWD/gschemrc

Ð’Ñе Ñти файлы конфигурации могут добавлÑть или не добавлÑть пути к ÑпиÑку поиÑка библиотек. ЕÑли конфигурационный файл Ñодержит команду:

(reset-component-library)

пути поиÑка библиотек будут очищены. ПорÑдок, Ñамо Ñобой, важен, так как Ñта команда удалит вÑе пути, заданные до её вызова.

Я иÑпользую gschem/gaf через SSH-Ñоединение и получаю ошибку:'Xlib: extension "RENDER" missing on display "localhost:10.0".'

ЕÑли вы зайдёте на удалённую машину, Ñделав:

$ ssh -X имÑ_пользователÑ@удалённаÑ_машина

и поÑле Ñтого получите указанное Ñообщение от Xlib RENDER, то попробуйте иÑпользовать:

$ ssh -Y имÑ_пользователÑ@удалённаÑ_машина

ПоÑледнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° разрешает надёжный X11-форвардинг.

lepton-eda-1.9.10/docs/wiki/geda-master_attributes_list.html0000644000175000017500000007425613634703632021053 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

gEDA/gaf Master Attribute Document

by: Ales Hvezda, ahvezda@geda.seul.org

This document is released under GFDL

July 10th, 2007

Overview

This document describes all the attributes used in in gEDA/gaf (GPL'd Electronic Design Automation / Gschem And Friends). This document is broken down into several section: this overview, symbol only attributes, schematic only attributes, attributes which can appear in both symbols and schematics, and attributes which are obsolete or deprecated.
In this document, attribute names are in bold and examples are in the typewriter font.

What are Attributes?

Attributes in the gEDA/gaf system are nothing more than text items which take on the form: name=value. Name can be anything just as long as it doesn't contain a equals sign. Value can also be anything just as long as it is something (vs nothing). name= (without a value part) is not a valid attribute. Also, there cannot be any spaces immediately before or after the equals sign.
Attributes can be attached to some part of the symbol. If the attribute conveys information specific to an object, then the attribute should be attached directly to the object, otherwise the attribute should be free standing or floating. Free standing attributes just exist in the symbol file as text items which take on the form name=value.

Symbol only Attributes

device

device= is the device name of the symbol
device= should be placed somewhere in the symbol and made invisible. This is a free standing or floating attribute. If the object is a graphic then device= should be set to none (device=none) and attach a graphical= attribute. Do not confuse this attribute with just having a text label which the device name. Do not put spaces into the device name; there are some programs which dislike spaces in the device specifier. Generally the device name is in all caps.
Examples:
device=7400
device=CONNECTOR_10
device=NPN_TRANSISTOR

graphical

Symbols which have no electrical or circuit significance need a graphical=1 attribute. Symbols like titleboxes are purely graphical symbols. Any symbol which has graphical=1 is ignored by gnetlist.
graphical=1 should exist somewhere in the symbol and made invisible. This is a free standing or floating attribute. Don't forget to set device=none.
Example:
graphical=1

description

The description attribute provides a simple one line description of what the symbol is supposed to represent.
Example:
description=4 NAND gates with 2 inputs

author

The author attribute identifies the name of the author of this symbol and their e-mail address. This attribute is optional, but it is nice to know who created which symbols. It also serves the purpose of known who to contact if there are questions about the intent(s) of the symbol. This attribute is free form and it can also include people's names who modified the symbol as well as multiple e-mail addresses. It is probably also a good idea to obfuscate the e-mail address so it is not harvested for spam purposes.
Example:
author=Ales Hvezda ahvezdaATgeda.seul.org

comment

The comment attribute can contain anything. This attribute can convey any additional information which might not fit into any other attribute. There can be multiple instances of this attribute.
Example:
comment=This is a comment inside a symbol

pinseq

This attribute is used to give each pin an unique number or sequence. All pins must have a pinseq=# attribute attached to the pin object. This attribute should be hidden. This attribute is used extensively by gschem and gnetlist.
In some backends (especially the SPICE backend), gnetlist will output pins in the order of increasing pin sequence. The sequence numbers start at 1 and should increase without skipping any numbers. This attribute is not the pin number (i.e. device pin numbers, like GND is 7 on TTL). For pin numbers see the pinnumber attribute.
Examples:
pinseq=1
pinseq=2
pinseq=3

This attribute replaces the obsolete pin#=# attribute.

pinnumber

This attribute is the pin number (i.e. like GND is 7 on 74 TTL). All pins must have a pinnumber=# attribute attached to the pin object.
You can have numbers or letters for the value. This attribute should be visible with the value only visible. You also need a pinseq attribute.
Examples:
pinnumber=1
pinnumber=13
pinnumber=A0

This attribute replaces the obsolete pin#=# attribute.

pintype

Each pin must have a pintype=value attribute attached to it and should be make hidden. Table 1 shows valid values for this attribute.
This attribute is not used extensively in the symbol library, but it will be used for DRC and netlisting. Use “Passive†if no other type matches.
Examples:
pintype=clk
pintype=in
pintype=pas

inInput
outOutput
ioInput/Output
ocOpen collector
oeOpen emitter
pasPassive
tpTotem pole
triTristate (high impedance)
clkClock
pwrPower/Ground
Table 1: pintype values

pinlabel

This attribute labels a pin object. This attribute is primarily used by gnetlist to support hierarchical designs.
This attribute must be attached to the pin and be left visible. Please make this attribute green (instead of the default attribute yellow).
Examples:
pinlabel=A0
pinlabel=DATA1
pinlabel=CLK

numslots

If a component has multiple slots in a physical package (such as a 7400 (NAND) which has 4 NANDs per package) then you need a numslots=# attribute. The # is the number of slots that are in a physical device. numslots=# should exist somewhere in the symbol and be made invisible. This is a free standing or floating attribute. If the symbol does not need slotting, then put numslots=0 into the symbol file.
Example:
numslots=4

slotdef

If a component has multiple slots in a physical package then you must attach a slotdef=slotnumber:#,#,#… for every device inside the physical package.
The slotnumber corresponds to the slot number. The colon after the slot number is required. For example, if a device has 4 slots then there would be slotdef=1:…, slotdef=2:…, slotdef=3:…, and slotdef=4:… attributes somewhere in the symbol and be made invisible. This is a free standing or floating attribute.
The #'s have a one-to-one correspondence to the pinseq attributes and specify which pinnumber=# is used during display (gschem) or netlisting (gnetlist).
It is recommended that all symbols which have slots have a slot=1 attribute attached in the same fashion as the device= attribute.
See 7400-1.sym as a concrete example.
Examples:
slotdef=1:1,2,3
slotdef=2:4,5,6
slotdef=3:7,8,9

This attribute replaces the obsolete slot#=# attribute.

footprint

footprint=package_name should exist somewhere in the symbol and be made invisible. This attribute is used by gnetlist and primarily for the PCB package.
Attach this attribute just like the device= attribute. This is a free standing or floating attribute.
package_name is the pcb footprint or package type like DIP14 or DIP40. Although this attribute in principle is pcb package dependent, gEDA/gaf conventions exist to make this attribute as portable as possible, allowing for easy collaboration and sharing between users. See the Footprint naming conventions.
If the symbol does not have a footprint, then the value of footprint= should be set to none. If the footprint must be overridden in a schematic, then the value of footprint= should be set to none. If the footprint is not known, then the value of footprint= should be set to unknown.

documentation

documentation=documentation_locator may exist somewhere in the symbol and be made invisible. This attribute is used by gschemdoc to find relevant documentation for the symbol, or rather, the device or component associated with the symbol.
Attach this attribute just like the device= attribute. This is a freestanding or floating attribute.
documentation_locator is either the base filename of the documentation, or it is the complete Internet URL (Uniform Resource Locator). If it is the filename, an attempt will be made to search for it in the local gEDA share directory named documentation.
Filename example:
documentation=sn74ls00.pdf
URL example:
documentation=http://www-s.ti.com/sc/ds/sn74ls00.pdf

Schematic only Attributes

netname

This attribute should be attached to a net object to give it a name. Multiple net names for connected net segments is discouraged. All nets which have the same value are considered electrically connected. This attribute is not valid inside symbols (as you cannot have nets inside of symbols).
Examples:
netname=DATA0_H
netname=CLK_L

source

The source= attribute is used to specify that a symbol has underlying schematics. This attribute is attached directly to a component.
This attribute should only be attached to instantiated components in schematics. Attach the attribute to a component and specify the filename (not the path) of the underlying schematic (like block.sch) for the value. The specified schematic must be in a source-library path. This attribute can be attached multiple times with different values which basically means that there are multiple underlying schematics.
Examples:
source=underlying.sch
source=memory.sch

Symbol and Schematic Attributes

refdes

This attribute is used to specify the reference designator to a particular instantiated component. It must be on ALL components which have some sort of electrical significance. This attribute can also be on the inside of a symbol (it will be promoted, i.e. attached to the outside of the symbol, if it is visible) to provide a default refdes value (such as U?). Usually this attribute is composed by a prefix ('U' for example) and a number (different for each component).
Examples:
refdes=U1
refdes=R10
refdes=CONN1

refdes naming restrictions

Gschem will accept any string as a value for the refdes. However, some back-ends to gnetlist impose restrictions on the allowed syntax.

Specifically, gsch2pcb requires:

  • No spaces
  • No hyphens. This might upset the M4 macro language potentially used to generate footprints. “_†is ok.
  • Any lower case suffix is ignored. This is so you can, place four discrete NAND gates on the schematic called U1a, U1b, U1c and U1d. They will netlist into a single footprint named U1.
  • Non-ASCII characters like like üöäß will not print in pcb

refdes naming conventions

There is a convention of the reference designator used for each kind of component. Here are some of them (substitute a cardinal value for <n>):

Prefix Component type
R<n> Resistor
RN<n> Resistor Network
FB<n> Ferrite Bead
L<n> Inductor
C<n> Capacitor
B<n> Battery
F<n> Fuse
J<n> Connector
P<n> Connector (usually plugs that mate with J<n>)
K<n> Relay
S<n> Switch
T<n> Transformer
TP<n> Testpoint
M<n> Motor
D<n> Diode
Q<n> Transistor
U<n> IC
X<n> Crystal

slot

This attribute is used to specify a slot for a slotted component. It should be attached to an instantiated component. This attribute can also be on the inside of a symbol (it will be promoted, i.e. attached to the outside of the symbol, if it is visible) to provide a default slot.

net

The net= attribute is used to create power/ground and arbitrary nets. Please see the net= attribute mini-HOWTO for more info. When this attribute is inside a symbol, it is used to create nets. When this attribute is attached to an instantiated component (in a schematic), then the net= can also be used to create new nets and can used to override existing nets.

value

Used mainly in the spice backend netlister to specify the value of the various elements. No translation is done on this, and it is placed as is into the netlist.
Examples:
value=1K
value=10V

symversion

The symversion= attribute is used to version the contents of symbols. Because symbols are, by default, referenced from the schematic and not embedded within it, problems can occur in a schematic using a particular symbol if that symbol file is modified. For instance, if pins are moved in the symbol, the schematic net lines will no longer connect to the correct pins. The symversion= attribute allows tracking such breaking changes to symbols and notifying the user of potential problems when a schematic is loaded.

This attribute is optional, but if present it must take the following form:
major.minor

where major and minor are integers. The major number is incremented when a change is made to a symbol that might break an existing schematic using the prior version of symbol when the new version is introduced. The minor number is only incremented when a minor change is made (a change that cannot break an existing schematic, such as cosmetic changes while retaining structure such as location of the pins).

If this attribute is inside a symbol and that symbol is placed onto a schematic, the symversion= attribute will be automatically “promotedâ€, causing a copy of the symversion=M.N attribute to be stored on the symbol instance in the schematic itself. When a symbol is loaded from disk, the value of the symversion= inside the symbol file (if any) and the symversion value attached to the symbol instance on the schematic are compared. If the values differ, then libgeda will output a warning message (for minor version changes) or an error message (for major version changes).

This attribute should normally be made invisible when placed inside a symbol file. This attribute is always promoted when it is found inside a symbol during component placement. Users should not attach this attribute manually to instantiated symbols in a schematic.
Examples:
symversion=1.1
symversion=2.0

dist-license

The dist-license attribute is used to specify the redistribution license for the symbol or schematic. It should be the name of a known license. Some examples values are: GPL, GPL version 2 only, GPL version 3 only, public domain, Apache version 2, Modified BSD, X11, etc.

For a list of licenses see: FSF License List and OSI License List

use-license

The use-license attribute is used to specify the license for how the symbol or schematic can be used by other people in their own circuits or boards. Some example values are: unlimited, personal use only, not for sale, etc.

FIXME put a better list of examples here.

Obsolete Attributes

uref

The uref= attribute is obsolete and cannot not be used. It was used to provide the same information as refdes.

name

The name= attribute should not be attached or appear in any symbol. It is considered ambiguous. name= was never used by gEDA/gaf.

label

The label= attribute is obsolete and cannot be used. It was used to give nets names/labels and to label pins. The replacement attributes for this are netname and pinlabel respectively.

pin#

The pin#=# attribute is obsolete and cannot be used. It was used to provide sequence and number information to pins. The replacement attributes for this are pinseq and pinnumber.

slot#

The slot#=# attribute is obsolete and cannot be used. It was used to provide slotting information to components. The replacement attribute for this is slotdef.

type

The type= attribute is obsolete and cannot be used. It was used to provide type information on pins. The replacement attribute for this is pintype.

email

The information in this attribute has been merged with author.

Document Revision History

July 14th, 2002Created attributes.tex from attributes.txt.
July 14th, 2002Updated doc to be in sync with post-20020527.
August 25th, 2002Added obsolete type= attribute.
September 14, 2002Added description= attribute. Minor fixes
October 7, 2002Added doc= attribute; Egil Kvaleberg.
February 11, 2003Added reference to footprint conventions.
February 23, 2003Added author=, email=, and comment= attributes.
July 6th, 2004Added symversion= attribute.
July 10th, 2007Added dist-license= and use-license= attributes.
lepton-eda-1.9.10/docs/wiki/geda-suse_10.0.html0000644000175000017500000000502713634703632015662 00000000000000

Suse 10.0 install notes

Prerequisites:

First off, I suggest you use the installer with date code 20051203 (or later). The 2005080X installer may not work with SuSE-10.0 without major upfront preparation.

Secondly, if you are installing gEDA onto a pre-existing SuSE system, make sure your system runs the Gnome desktop, or at least has the Gnome libraries installed. If you have a KDE desktop system, unpredictable things may happen with the installer.

The remainder of these instructions describe how to build your SuSE system so that you may install gEDA. If you already have gEDA built (and it's a Gnome desktop), you can use YaST to install any of the below-mentioned packages you might be missing from your original install.

When installing SuSE-10.0 using YaST, click on the “change†button when YaST shows you your configuration. Select “software†→ “detailsâ€. Then add the following packages to your installation list:

  • C/C++ tools
  • Kernal development
  • Gnome development
  • KDE development
  • TCL/Tk development

Then change the filter to search for and install the following packages:

  • Gtk-devel
  • Termcap
  • Ncurses-devel
  • wxGTK-devel

Once these packages are installed, the installer should run to completion.

lepton-eda-1.9.10/docs/wiki/geda-pcb_funding_sow-gui_ideas.html0000644000175000017500000000303313634703632021335 00000000000000

PCB SoW: GUI Enhancement: Ideas, commentary, and examples from users

Anyone with any ideas or commentary about how this task should be completed may add them here. Ideas about the details behind the implementation, too. Please refrain from deleting or significantly changing the meaning of someone else's entry.

Currently, we either enable or disable categories of objects (like vias). Perhaps an intermediate setting that either outlines it or draws is translucently, so that things below it can be selected while still being able to see and interact with the above things? Example: with rubberband set, you'd still want to be able to snap to the line endings beneath it, yet move the via along with the lines.

When you hover over a track, the netname should be displayed in the status line.

lepton-eda-1.9.10/docs/wiki/geda-documentation.ru.html0000644000175000017500000007322613634703632017551 00000000000000

gEDA » ДокументациÑ

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

Ð”Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ gEDA Tool Suite

ЗдеÑÑŒ указаны ÑÑылки на официальную документацию проекта. Документы в форматах LaTeX и HTML были преобразованы в Ñтраницы Wiki Ð´Ð»Ñ Ð¾Ð±Ð»ÐµÐ³Ñ‡ÐµÐ½Ð¸Ñ Ð¸Ñ… поддержки gEDA-ÑообщеÑтвом.

Учебники

ОбÑуждениÑ

Различные обÑÑƒÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¸ презентации проекта gEDA, предоÑтавлÑющие хороший общий обзор проекта Ð´Ð»Ñ Ð¸Ð½Ñ‚ÐµÑ€ÐµÑующихÑÑ.

Ð’Ñ‹Ñтупление о gEDA, которое DJ Delorie Ñделал на Renesas DevCon 2010 (Ñлайды Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ находÑÑ‚ÑÑ Ð·Ð´ÐµÑÑŒ в разделе “Presentations and Other Infoâ€)

Видео Ñ Ignite 5, где выÑтупил Stuart Brorson на тему «Проектирование аппаратных ÑредÑтв и проект gEDA»

Общее

ЗдеÑÑŒ предÑтавлен набор неофициальных FAQ, HOWTO и Ñоветов/хитроÑтей, призванных помочь вам оÑвоить практичеÑкие детали иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ gEDA Suite. ЕÑли возникла какаÑ-нибудь проблема, пролиÑтайте Ñначала Ñти Ñтраницы.

  • ГлоÑÑарий: Ñловарь терминов, характерных Ð´Ð»Ñ gEDA Suite.
  • ИÑпользование: вопроÑÑ‹ о том, как проектировать Ñлектронные Ñхемы Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ программного комплекÑа gEDA — информациÑ, Ð¾Ð±Ñ‰Ð°Ñ Ð´Ð»Ñ Ð½ÐµÑкольких или вÑех программных ÑредÑтв gEDA Suite.
  • FAQ по gschem: вопроÑÑ‹ по уÑтановке, наÑтройке и иÑпользованию gschem. Также вопроÑÑ‹ по Ñозданию и иÑпользованию Ñимволов gschem.
  • FAQ по атрибутам: управление атрибутами.
  • FAQ по gnetlist: вопроÑÑ‹ по уÑтановке, наÑтройке и иÑпользованию gnetlist (перечни Ñлементов [BOM], проверка ÑоответÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ð¼ нормам [DRC] и прочее).
  • FAQ по моделированию: вопроÑÑ‹ по ÑхемотехничеÑкому моделированию Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ программных ÑредÑтв gEDA.
  • FAQ по gsch2pcb: как из принципиальной Ñхемы получить топологию печатной платы.
  • pcb - краткое руководÑтво: Ñтраница краткого руководÑтва по pcb.
  • ПоÑадочные меÑта pcb: как Ñоздавать, иÑпользовать и предоÑтавлÑть в общее пользование файлы поÑадочных меÑÑ‚.
  • Советы по pcb: Ñоветы и хитроÑти Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹ pcb.
  • Скрипты Guile: функции и переменные Guile, предоÑтавлÑемые программными ÑредÑтвами gEDA.

gschem - разработка принципиальных Ñхем

gnetlist - генератор ÑпиÑка Ñоединений

gsymcheck - программа проверки Ñимволов

utils - утилиты gEDA

Примеры

Детали форматов атрибутов/файлов

SPICE

ngspice

gnucap

gSpiceUI

pcb

gerbv

Icarus Verilog

Wcalc

mcalc

  • Microstrip Analysis/Synthesis Calculator (КалькулÑтор Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð°/Ñинтеза микрополоÑковых линий) — поÑледнÑÑ Ð²ÐµÑ€ÑÐ¸Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ð¸ Ñ SourceForge

covered

ГрафичеÑкое предÑтавление и проÑмотр данных

  • GTKWave — программа проÑмотра Ñигналов, Ð¿Ð¾Ð½Ð¸Ð¼Ð°ÑŽÑ‰Ð°Ñ Ñ„Ð°Ð¹Ð»Ñ‹ LXT, LXT2, VZT, FST и GHW, а также Ñтандартные файлы Verilog VCD/EVCD.
  • gwave — программа проÑмотра аналоговых Ñигналов
  • gaw — программа проÑмотра аналоговых Ñигналов, Ð¿ÐµÑ€ÐµÑ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ gwave.
  • KJWaves – проÑмотр, изменение и моделирование файлов SPICE CIRCUIT
lepton-eda-1.9.10/docs/wiki/geda-pcb_footprint_naming_conventions.html0000644000175000017500000002734213634703632023077 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

Footprint naming conventions

This section describes the conventions for naming of footprints used in PCB (and gEDA/gaf).
The purpose of the naming convention is to establish a standard to maintain the same naming convention through the different phases of the CAD chain. This helps in ensuring that the collaborative effort of gEDA/gaf is not lost.

Notes

  • Unless otherwise noted, numerical pin names will be used, starting from 1.
  • n is for the pin count.
  • m is for the pin spacing in mils.
  • x is for the x dimension of the package (excluding pins). In particular this is used for the QFP package family.
  • SMT means surface mount, other components are through-hole.

Integrated circuit packages

  • Dual in line packages with up to 22 100 mil spaced pins and 300 mil row spacing are called DIPn.
  • Dual in line packages with 24 or more 100 mil spaced pins and 300 mil row spacing are called DIPnN.
  • Dual in line packages with 100 mil spaced pins and 400 mil row spacing are called DIPnH.
  • Dual in line packages with 24 or more 100 mil spaced pins and 600 mil row spacing are called DIPn.
  • Shrink dual in line packages with up to 24 70 mil spaced pins and 300 mil row spacing are called SDIPn.
  • Shrink dual in line packages with more than 24 70 mil spaced pins and 400 mil row spacing are called SDIPn.
  • Single in line packages with 100 mil spaced pins are called SIPnN. See also JUMPER, below.
  • Zig-zag in-line package are called ZIPn.
  • Plastic leadless chip carrier with pin socket are called PLCCnX.

Integrated circuit SMT packages

  • Small outline SMT packages with up to 16 50 mil spaced pins and 150 mil total width are called SOn.
  • Small outline SMT packages with more than 16 50 mil spaced pins and 150 mil total width are called SOnN.
  • Small outline SMT packages with 50 mil spaced pins and 200 mil total width are called SOnM.
  • Small outline SMT packages with up to 20 50 mil spaced pins and 300 mil total width are called SOnW.
  • Small outline SMT packages with more than 20 50 mil spaced pins and 300 mil total width are called SOn.
  • Small outline SMT packages with 44 or more 50 mil spaced pins and 525 mil total width are called SOn.
  • Metric shrink small outline SMT packages with 0.65 mm spaced pins and 323 mil total width are called MSSOPn. NOTE: To be confirmed.
  • Metric shrink small outline SMT packages with up to 44 0.65 mm spaced pins and 420 mil total width are called MSSOPnW.
  • Metric shrink small outline SMT packages with over 44 0.65 mm spaced pins and 545 mil total width are called MSSOPnW.
  • Shrink small outline SMT packages with 25 mil spaced pins and 420 mil total width are called SSOPnW.
  • Quarter size small outline SMT packages with 25 mil spaced pins and 244 mil total width are called SSOPn.
  • Thin small outline SMT packages with 21.65 mil spaced pins and 535 mil total width are called TSOPn.
  • Thin small outline SMT packages with 20 mil spaced pins and 795 mil total width are called TSOPnA.
  • Thin small outline SMT packages with 20 mil spaced pins and 559 mil total width are called TSOPnB.
  • Thin shrink small outline SMT packages with up to 28 26 mil spaced pins and 260 mil total width are called TSSOPn.
  • Thin shrink small outline SMT packages with over 28 20 mil spaced pins and 319 mil total width are called TSSOPn.
  • Ultra Super Mini SMT packages with up to 16 0.5 mm spaced pins are called USn.
  • Plastic leadless chip carrier SMT are called PLCCn.
  • Square quad-side at pack SMT are called QFPn x.
  • Rectangular quad-side at pack SMT are called QFPn R.
  • Square low profile quad-side at pack SMT are called LQFPn x.
  • Square thin quad-side at pack SMT are called TQFPn x.
  • Square Quad-side at no-lead SMT without exposed paddle (back side contact) are called QFNn x. Pin count is n and package size is x mm.
  • Square Quad-side at no-lead SMT with exposed paddle (back side contact) are called QFNn x EP. Pin count is n and package size is x mm.
  • Thin profile square Quad-side at no-lead SMT without exposed paddle (back side contact) are called TQFNn x. Pin count is n and package size is x mm.
  • Thin profile square Quad-side at no-lead SMT with exposed paddle (back side contact) are called TQFNn x EP. Pin count is n and package size is x mm.
  • Dual in line style crystal oscillators are OSC8 and OSC14.
  • 5 pin SOT SMT packages are SOT25 and SOT325.
  • 6 pin SOT SMT packages are SOT26 and SOT326.

Basic semiconductors

  • Axial diodes are called ALFm. Pin 1 is the cathode.
  • Conventional through hole LED is LED3 and LED5 for 3 and 5 mm respectively. Pin 1 is plus. NOTE: Should probably be changed to be in line with diode convention.
  • TO transistors are TO5, TO92, TO126, TO220 etc. Suxes may apply, e.g. TO126W is for wide, TO126S is for standing, TO126SW is for standing, wide.

Basic SMT semiconductors

  • SOD diode SMT packages use their standard package name, e.g. SOD80, SOD87, SOD106A, SOD110. There are also SOD123, SOD323 with narrow pads.
  • SOT transistor SMT packages use their standard package name, e.g. SOT23, SOT323. There is also an SC90.
  • SOT transistor SMT packages with numbering as for diodes (pin 1 is cathode, pin 2 anode) are SOT23D, SOT323D.
  • 4 pin SOT SMT packages are SOT89, SOT143, SOT223.

Passive components

  • Axial non-polar components (typically resistor, capacitor) are called ACYm.
  • Bottom lead (radial) non-polar circular component (typically capacitor) is RCYm.
  • Bottom lead non-polar rectangular component (typically capacitor) is BREm.
  • A standard crystal is HC49, or other HC designations as required.
  • Single row 100 mil pin spacing jumpers are JUMPERn. The main difference compared to single in line package is the hole size.
  • Dual row 100 mil spacing headers with DIP pin numbering are HEADERn 1. Note that n is an even number.
  • Dual row 100 mil spacing headers with ribbon cable numbering are HEADERn 2. Note that n is an even number.
  • Angled full header connectors with latches are DIN41651 n.
  • Standing full header connectors with latches are DIN41651 nS.
  • DSUB connectors female are DBnF.
  • DSUB connectors male are DBnM.
  • Female DIN card-to-card connectors are DIN41612CnF. Add S suffix for standing.
  • Male DIN card-to-card connectors are DIN41612CnM. Add S suffix for standing.
  • AMP modular RJ connectors with screen are RJ11, RJ12 and RJ45.

Passive SMT components

  • Standard SMT resistors, inductors, capacitors etc are 0201, 0402, 0603, 0805, 1206, 1210, 1806, 1812, 1825, 2020, 2706.
  • Tantalum SMT capacitors are EIA3216, EIA3528, EIA6032, and EIA7343. Pin 1 is plus.
  • SMT electrolytics are designated by can diameter in 1/10 mm: SME33, SME43, SME53, SME66, SME84, SME104.
lepton-eda-1.9.10/docs/wiki/geda-gsch2pcb_tutorial.html0000644000175000017500000020560713634703632017671 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

gschem -> gsch2pcb -> PCB

This is a tutorial on the process of using gsch2pcb as an interface between gschem and PCB. It assumes the gEDA, PCB and gsch2pcb packages are already installed and ready to use. Starting with gEDA 20030901, gsch2pcb is packaged with gEDA and doesn't need to be separately installed. This tutorial is functional and intended to generate results as quickly as possible. It is not a complete reference on gschem or PCB, but it does show with a simple example design all the steps one might need to take.

The goal is to use gsch2pcb as the bridge between gschem and PCB so that the schematics can always be in sync with the PCB layout because all element additions or deletions in the layout will automatically be driven by changes in the schematics. Back annotation from PCB to gschem is currently not possible.

See the release notes for the history of this tutorial.

Terminology

With gschem, you add symbols representing electronic components to a schematic. A symbol is a group of pins, attributes, and lines showing an iconic representation of an electronic component. Pins in symbols are connected to other pins by drawing a net connection between them. Attributes are just named tags attached to symbols to convey some bit of information. For using the schematic with PCB, there are three of these attributes which are relevant and must be specified. Each added symbol should have a footprint, value, and refdes attribute.

The schematic footprint attribute value of a symbol is the name of the PCB element to be placed on the layout for that instance of the symbol. A PCB element is a group of pins, pads, and silk layer outlines physically corresponding to electronic components. It is probably a source of confusion for newcomers to PCB that elements are of two different types. There are the original m4 macro generated PCB elements and since PCB version 1.7 there are also the newlib style file elements. A file element is a single fixed element in a single file. However, many m4 macro element definitions may exist in a single m4 element file. The macros can be given arguments to provide programmable elements of variable number of pins or spacings. Using these two types will be covered in this tutorial and I will be referring to these distinct element types as m4 elements and file elements. When you run PCB, the gschem footprint attribute value will appear as the displayed element name when you select Description from the Screen→Displayed Element Name menu because gsch2pcb uses this field to keep track of which footprint corresponds to a particular PCB element.

The gschem refdes attribute value is the reference designator on the schematic such as Q1, U1, R1, etc. When you run PCB, this refdes will appear as the displayed element name when you select Reference Designator from the Screen→Displayed Element Name menu.

The gschem value attribute value is the particular component value such as BC546, 7400, 1K, etc. When you run PCB, this value will appear as the displayed element name when you select Value from the Screen→Displayed Element Name menu.

Setup

You should have a directory structure in mind for organizing your design projects. The install of gEDA and PCB gives you a set of default gschem symbols and default PCB elements, but you can also provide for creating your own custom libraries of gschem symbols and PCB elements.

  • Somewhere, probably under your home directory, create a directory structure for your projects. Use directory names you like, but this tutorial will reference the directory name structure I use:
    gaf/
    gaf/gschem-sym/                    Where I put the custom gschem symbols I create.
    gaf/gschem-sym/transistors/        You can organize your custom symbols into subdirectories.
    gaf/pcb-elements/                  Where I put the custom PCB file elements I create.
    These can also be organized into subdirectories.
    gaf/myproject1/                    And finally, separate directories for each
    gaf/myproject2/                        design project.
    ...

    With this organization, any custom gschem symbols and PCB elements you make can be common to all of your projects and this is good enough to get you started. However, I'll mention other possibilities which will be revealed below: There can be project specific PCB file element subdirectories or m4 element files. Or, CAD administrators can set up site wide custom PCB file element directories and m4 element files.

  • gEDA setup: the gschem, gnetlist, and other programs you may use such as gattrib, etc, all need to be able to find any custom symbols you will make, so you need to make your custom gschem symbol directories known to these programs in a gEDA gafrc file by adding component-library lines to either a user ${HOME}/.gEDA/gafrc file or a project specific gafrc file in the project directory. There is also a system wide ${GEDADATA}/system-gafrc file administrators can set up. The HOME and GEDADATA environment variables must be respectively set for those gafrc files to be found. For our directory structure setup above, we could add these lines to ${HOME}/.gEDA/gafrc (plus lines for each additional gschem-sym subdirectory you want):
    (component-library "${HOME}/gaf/gschem-sym")
    (component-library "${HOME}/gaf/gschem-sym/transistors")

    or, in each project directory (like myproject1 and myproject2) there could be a gafrc file with the lines:

    (component-library "../gschem-sym")
    (component-library "../gschem-sym/transistors")

    More modern versions of gEDA (since 1.7.2) let you specify only one command to achieve this:

    (component-library-search "../gschem-sym") 

    which will recursively scan all subdirectories for symbol libraries. See the gEDA gschem User Guide for further information on how to setup gEDA programs.

  • If you want a more detailed customization of gschem and gnetlist, you can override other initializations that are setup in the global rc files. In Debian, look at rc files in /etc/gEDA/ for settings you can make. For example, I like the light gschem background, so I also put in my ~/.gEDA/gschemrc the line:
    (load (build-path geda-rc-path "gschem-colormap-lightbg")) ; light background
  • PCB setup: A PCB distribution usually is set up so that PCB will automatically look in a packages subdirectory of the working directory. So, to make PCB find all the custom elements I put in gaf/pcb-elements I make a link in each of my project directories. Note that this link is actually not required when using gsch2pcb because, as described below, you may alternatively specify the pcb-elements directory in a project file. But if you do want to make the link, in directory gaf/myproject1 enter the command:
    ln -s ../pcb-elements packages
  • gsch2pcb setup: In each of your project directories, create a gsch2pcb project file which can be named anything that does not end in .sch. A project file will be created in the example below.

This is all the setup you need beyond the initial install of the gschem, gsch2pcb, and PCB packages.

Simple Example

Let's generate a trivial design from schematics to PCB layout almost as quickly as possible and then we can use it as a base for doing some more advanced stuff. I'll complicate it just a bit by making it a two schematic design.

Assuming you setup the directory structure described above, go to the gaf/myproject1 directory and create a file named project with this content:

schematics one.sch two.sch
output-name board

Create schematic: one.sch

If you are using gschem for the first time, try stepping through this simple gschem warmup.

one.sch Run gschem one.sch and create this schematic (the second opamp is redundant, but this is just a tutorial):

  • Open the select components dialog (type I)
  • Make sure, the drop down menu at the bottom of the dialog is set to “Default behavior - reference componentâ€.
  • Add the components:
    • From the Basic devices library three resistor-1.sym and two dual-opamp-1.sym.
    • From the Input/output library one output-2.sym.
    • From the Power rails library one gnd-1.sym, two vcc-1.sym and two vee-1.sym
  • Move components with the middle mouse button and rotate selected components by hitting keys ER until everything is placed nicely. Rotate the bottom opamp and mirror it with the EI keys.
  • Use the N key and the mouse to draw net connections.

The large frame of the titleblock is a component too. It has been locked for convenience to prevent the mouse from catching it all the time. To unlock it, select it by dragging with left mouse button held down and press E - Shift+L. You can find title blocks with different sizes in the Titleblocks library. Remember, to lock the new title block with EL while the title block is selected.

Edit the attributes of the components on the schematic

one.sch For each component, select it and bring up its attributes window by hitting keys EE. Do not edit the refdes attribute here, but do make these edits:

  • For resistors and the opamps, add visible value attributes and assign appropriate values to them (10K, TL072). Move these newly visible attributes to nice locations with the middle mouse button. Zoom in and repeat clicking the middle mouse button if it is difficult to select them.
  • For the resistors, add a footprint attribute and give it the value R025 which is the PCB m4 element for a 1/4 watt resistor. Make this attribute invisible.
  • For the opamps, edit the already existing footprint attribute to be DIL 8 300. Yes, include those spaces because DIL is a m4 element that takes two args. We're telling it to make a dual in line package with 8 pins in a 300 mil package. Edit the slot attribute of the second opamp to be 2. Its I/O pin numbers should change from (1,2,3) to (5,6,7).
  • For the output module port, edit its net attribute to be vmixer:1 and make it invisible. Edit its value attribute to be Vmixer.

It may have occurred to you that this editing will be painful for a schematic with a large number of components that don't have reasonable initial attribute values. At least for the footprints, there are a couple of things that could help. You can create your own library symbols having an initial footprint (and even value) attribute default that covers most of your uses. Or, when you add your first component, edit it to have a good footprint default and then copy it (select it and hit the EC keys) for all remaining components instead of adding them from the library.

Anyway, we're done for now with one.sch, so save it with the menu File→Save Page and quit gschem.

Create schematic: two.sch

This will be really trivial and stupid since we're doing it only to demonstrate multiple schematic capability. two.sch Run gschem two.sch:

  • Add component title-B.sym as you did in one.sch.
  • Add components:
    • From the Input/Output library one input-2.sym.
    • From the Basic Devices library one resistor-1.sym.
    • From the Transistors library one 2N3904-1.sym.
    • From the Power rails library one gnd-1.sym, one vcc-1.sym and one vee-1.sym.
    • From the Connectors library one BNC-1.sym.
  • Move components and draw nets as before.
  • Edit component attributes:
    • Input module port: edit net attribute to be invisible and have value vmixer:1 so this net will be connected to the vmixer in one.sch. Make the value attribute be Vmixer.
    • Resistor: give it invisible footprint attribute R025 and a visible value attribute 10K.
    • Transistor: add value attribute 2N3904 and invisible footprint attribute TO92.
    • BNC connector: add invisible footprint attribute CONNECTOR 2 1. which is a m4 element that takes arguments and we're telling it to make a connector with 2 rows and 1 column. We put a BNC connector on the schematic, but I'm pretending we'll just jumper wires from this pc board header to a panel mounted connector.

Unfortunately, the 2N3904 symbol we added has the text “2N3904†as an integral part of its symbol. So when we add the value attribute (which we want so the PCB layout will show appropriate values), there are two “2N3904†designations visible on our schematic unless we would make the value attribute invisible. This is not good and for this example we have to live with it, but note that in most cases it's not a good idea to hardwire information into symbols like this. Also the default device attribute is wrong and should be NPN_TRANSISTOR but it won't affect this tutorial. This is just to inform you that currently there are some symbols in gschem that carry over outdated attribute usage from older versions of gschem. If you get into running spice on schematics, then your symbols will need to have proper device attributes.

Now we are done with the schematics except for assigning refdes attributes and we can use the command refdes_renum to do this for both schematics at once. So, save two.sch, quit gschem and run:

$ refdes_renum --pgskip one.sch two.sch

Run gschem on the schematics again to see how the components have been given a refdes attribute. The –pgksip option makes numbering begin at 101 for one.sch and at 201 for two.sch. But you should know that running refdes_renum is really only useful for an initial numbering. If you later edit your schematics and add or delete components, there is no guarantee when rerunning refdes_renum that components will keep an existing refdes value. If in the meantime you've generated a pc board using gsch2pcb, this reference designator number mixup will put your schematics out of sync with your PCB layout. So, after you initially run refdes_renum and start a PCB layout, to be safe you will need to manually add (unique) refdes attributes for any schematic components you might add. Also note that refdes_renum may number your resistors differently than it did for my examples here depending on the order in which resistors were added. Keep that in mind when comparing your eventual PCB layout to what you see in the images below.

Generate PCB Files from Schematics

We have to fix one thing in one.sch before we can proceed. Run gschem one.sch and notice that refdes_renum has given our opamps refdes values of U101 and U102 and did not know we really want to be using two opamps out of a single TL072 package. That's why we edited the slot attribute of the second opamp. We have to go back and fix this by editing the refdes attribute of the second opamp to be U101 so both opamps will have the same refdes and there will be only one TL072 package on our pc board.

Now, since we have already set up a gsch2pcb project file, all we need to do to create an initial set of PCB files is to run gsch2pcb:

~/gaf/myproject1$ gsch2pcb project
0 file elements and 7 m4 elements added to board.pcb.

Since the project file specified board as the output-name, the PCB files created are named board.pcb and board.net.

NB: more recent advice is to create an empty board using pcb first; then every use of gsch2pcb will generate changes to that layout as described below (Modifying Schematics). The reason for this is that gsch2pcb's default settings are quite different than pcb's these days, and the consensus is that pcb's defaults are better for most uses. One caveat with this is that if you use pcb2panel to combine multiple layouts into a single panelized layout, you will get unusable results if the boards were created with a mix of gsch2pcb and [recent] pcb defaults without editing the layer stacks, which may require further work. (mjm, Aug 2008)

If you get output from gsch2pcb like: 2 unknown elements added to board.pcb., then run with the -v flag: gsch2pcb -v project and the gsch2pcb output will tell you which schematic components don't have a known footprint. Either you forgot to add the attribute, the attribute value is wrong, or the PCB element for it is missing from your installation. But if gsch2pcb can't find any elements and all 7 are unknown, then probably gsch2pcb can't find your PCB m4 install directory. In this case, look at the first part of the Custom M4 Elements section.

Layout PCB Files

Set the defaults

pcb, step 1Run pcb board.pcb. You'll see grouped into a big pile the PCB elements for all the schematic component footprints. This is ok, we will clean up this mess later.

When you run PCB on a .pcb file for the first time, you should set up various initial values. I usually set a 25 mil grid spacing with Screen→Grid Setting→25 mil for the bulk of my layout work and then change grid spacing to smaller values as needed for tight layout situations. Note that if you have enabled millimeter units with Screen→Enable millimeter grid units you will see a set of millimeter size options to select from instead of mils in the Screen→Grid Setting menu. You may change between millimeter and mil grid units at any time when doing a layout.

You should also set the default line and via sizes you want for the Signal, Power, Fat, and Skinny drawing route styles. Simply select one of these four route styles at the lower left of the PCB window and then press the Route Style button to edit the sizes. You can set your board size now or wait until later while working on the layout. To change the board size, bring up the File→Preferences window and select the Sizes page. Other design rule checking and increment sizes can also be edited in the Preferences window. You should review PCB documentation for definitions of these items. And you may find it useful to select Screen→Enable visible grid.

Disperse the Components

step 2 Use the middle mouse button to grab and move elements one at a time until you have separated all the elements.

Or, you can let PCB spread out the elements with Select→Disperse all elements before you fine tune the positions with the middle mouse button.

Load the Netlist

Step 3

  • Go to File→load netlist file and select board.net
  • Do Connects→optimize rats-nest. Now, the pins and pads of components should be connected with straight lines according to the schematic. These are “ratsâ€.

To minimize confusion, PCB tries to draw the rats of complex connections such that the sum of all rats is as short as possible. Try to drag an element to the other side of the working area. The rats will follow like a rubber band, but the end of the rats will not jump to a different node, although the resulting length might be shorter. The action optimize rats-nest rats will make the rats jump to this “better†geometry. This action can be applied conveniently anytime with a stroke of the key O.

Place the Components

Step 4You will have to replace the rats with traces that can be etched in copper. After “Disperse all elements†the rats are usually in a random mess with lots of crossings. You should move and rotate the components around and try to disentangle the rats as much as possible. The key to a well routed pcb is proper placement of the components. Although PCB tries to clean up the rats lines while you move the components around, it is good practice to occasionally initiate rats optimization with the O key.

Select the ROT tool (F9) to move elements with the middle mouse button and rotate them with the left mouse button. The right mouse button will move the viewport to the canvas when zoomed in. Zoom in and out with the mouse wheel or alternatively with Z and Shift+Z. Hit the F key while the mouse hovers over a pin to highlight the particular that touches this pin to help visualize the routes. Use Shift+F to unhighlight. You can undo changes anytime with the U key.

Note: you can use the PCB auto placement feature instead of manually placing (or dispersing with the Select→Disperse … commands) the components as described above. To do this, you would load the netlist, select the components you want to be autoplaced (if this is the first PCB run, just Select→Select all objects) then do Select→Auto place selected elements. Then you can again manually tune the PCB generated placements. The auto place function should place elements more intelligently than the disperse function, but it is also much slower as layouts get larger.

Replace rats nests with routes

Step 5 At this point you can start routing traces between pins connected by rats nest lines. On the left PCB toolbar, select the LINE tool, select the layer you want to draw on (solder, component, etc), and start drawing lines by selecting endpoints with the left mouse button. Again, it can help to use the F key to highlight routes that need to be connected. If you want to stop the current trace so you can start drawing a new trace somewhere else, finish the current trace with a middle mouse click. Or you can play with auto routing here.

A very useful operation with the SEL tool is to select multiple objects and then cut or copy them to a buffer with the menu Buffer→Cut selection to buffer (or copy). You can immediately paste the buffer contents or abort the current paste by selecting another tool. The buffer contents can be pasted any time later with Buffer→Paste buffer to layout. With this you can move layout areas around or step and repeat common trace patterns. To select multiple objects with the SEL tool, click and drag to select rectangular regions, and Shift-click to toggle additional selections to the currently selected set.

When you've finished routing the traces (PCB will congratulate you if all traces are routed when you optimize the rats nest) the board can look something like this. For this view I've selected Screen→Displayed element name→Value.

You will want more information on using PCB and there is a set of html docs in the PCB source tarball. I don't know of a link to put here, but you can get the latest tarball from the PCB development site. Or the docs may be installed somewhere on your system. The Debian package has them installed in /usr/share/doc/pcb/html/. PCB also has some convenient “live†documentation that can help you become familiar with keyboard shortcuts or keyboard commands. Bring up the keyboard shortcuts window with the menu Window→Key Reference and you'll probably find just reading through the shortcuts available will teach you a lot about what you can do with PCB. If you have selected in the File→Preferences window the Use separate window for command entry option, then when you bring up the Command window with Window→Command Entry (or the : key), you will see a Command Reference expander arrow. Click on the arrow and a command reference will be shown which lists some commands you can type in that may not be available from the menus or a keyboard shortcut.

For example, say you have in the Preferences→Increments page configured a size increment of 5 mils. With this you can select some lines and then increase their width by 5 mils by selecting from the menu Select→Change size of selected objects→Increment lines by 5 mils. However, suppose you want to be changing widths by random values and it's inconvenient to be changing the Preferences each time. For this, you can select some lines, bring up the command window (hit :) and type in the command:

changesize(selectedlines, +3, mils)

and the selected lines will increase by 3 mils. This command is now in a history list which you can recall and quickly edit in the command window to change sizes by other values.

Looking at the other side of the board

In some layouts it is important to put components on either side of the board, although not for the preceding example. In such a case the Tab key can be used to flip the board over and view it from the back while the B key can be used to put a selected component on the other side of the board. On dual sided boards it is also important to note what side a particular layer of traces is on. This can be seen, and set, in the File→Preferences→Layers→Groups dialog. Layers on the 'component' side will be on the top of the board and layers on the 'solder' side will be on the bottom. In this dialog you should make sure that all layers which are to be fabricated in the same step (i.e. etched with photo-lithography) are grouped together.

Modifying Schematics

The process of transferring schematic modifications to your PCB layout is made very simple by using gsch2pcb. After the first board.pcb was created when you initially ran gsch2pcb, each time you run gschem on your schematics and make changes, run gsch2pcb project. Then run pcb board.pcb and do whatever is necessary based on the work gsch2pcb has done. Each time gsch2pcb is run, this will happen:

  • gsch2pcb always generates a new board.net. If the net was changed, load the new netlist file when you run pcb.
  • If you added components (with a footprint attribute) to a schematic gsch2pcb will generate a board.new.pcb containing all the new PCB elements corresponding to the footprints. You then run pcb board.pcb and load the board.new.pcb with new elements into the existing layout with File→load layout data to paste-buffer. Place the new elements, load the new netlist, and route new traces.
  • If you deleted components from a schematic, gsch2pcb will delete the corresponding PCB elements from board.pcb. You only need to run pcb board.pcb and clean up dangling traces from around the deleted elements.
  • If you change an existing component's footprint, gsch2pcb will delete the corresponding old element from board.pcb and add the new element to board.new.pcb.
  • If you changed schematic component value attributes, the value changes will be forward annotated to board.pcb in place.

So by using gsch2pcb, all PCB element changes are driven by the schematics and you should never need to manually add or delete elements for schematic components.

However, you will need to manually add PCB elements that are not part of the schematics such as pc board mounting holes. For these manually added PCB elements, make sure you never give them a name on PCB name because that is reserved for schematic component refdes attributes and gsch2pcb will want to delete elements which have a non-empty name on PCB and don't match any schematic component refdes.

Now, so far we've only used m4 elements in our layout so let's modify a schematic to use a file element. But first, it would help to know about the default elements PCB provides. Depending on the location of your PCB install there will be a directory /usr/local/share/pcb/newlib, /usr/share/pcb/newlib, or possibly something else (depending on the prefix specified when PCB was installed). PCB versions before 20031113 used pcb_lib instead of newlib in the locations /usr/local/pcb_lib, or /usr/lib/pcb_lib. Once you find your newlib directory, look at the file names in each subdirectory. Each file name is a name which may be used as a footprint attribute for a schematic component. For example, there is the file xxx/newlib/2_pin_thru-hole_packages/0.125W_Carbon_Resistor so if we wanted 1/8 watt resistors on our layout, we could use 0.125W_Carbon_Resistor as the resistor footprint attribute instead of R025. Try changing, say resistor R101 to use 0.125W_Carbon_Resistor in one.sch and then run gsch2pcb project. If gsch2pcb does not find this element, then you need to add your newlib directory to your project file with a line like:

elements-dir /usr/lib/newlib

If gsch2pcb does find it, you will get:

~/gaf/myproject1$ gsch2pcb project
board.pcb is backed up as board.pcb.bak1.
1 elements deleted from board.pcb.
1 file elements and 0 m4 elements added to board.new.pcb.

Now you need to run pcb board.pcb. You will see that the element for resistor R101 is gone and that you will get the new element by loading board.new.pcb with File→load layout data to paste-buffer.

Custom gschem Symbols

A common way to generate a custom symbol is to start with an existing symbol and modify it. One thing I don't like about the dual-opamp-1.sym we used is that the power pins are repeated on each symbol. While some will prefer this, I think it makes a page full of opamps look a little cluttered and it presents a good opportunity to learn about net attributes in this tutorial. It's possible with gschem for symbols to have net attributes which can assign pins to a particular net. Instead of hooking up each opamp pin 8 to Vcc and pin 4 to Vee on the schematic, we can have that happen automatically and eliminate the pins on the schematic. To do this, just copy the original symbol to our custom gschem symbol directory, giving it a new name, and edit it. Do the steps described below. (Your gEDA symbol install directory may be something different like /usr/local/share/gEDA/sym/):

Make Attributes Visible

Step 1

cd /usr/share/gEDA/sym/analog/
cp dual-opamp-1.sym ~/gaf/gschem-sym/opamp-dual.sym
cd ~/gaf/gschem-sym
gschem opamp-dual.sym
  • Hit keys EN to make attributes visible.
  • Hit keys VE to view extents.
  • Left mouse click on pin 8 to select it.
Remove the Visible Supply Pins

Step 2

  • Hit Delete key to delete pin 8.
  • Similarly select and delete pin 4.
  • Double click to select and edit the slotdef lines. Edit them by removing the pins 4 and 8.
Add global Nets to in Numbers

Step 3From the menu Add→Attribute

  • Add a net attribute with value Vcc:8 Select Show Name & Value and make it invisible.
  • Add a net attribute with value Vee:4 Make it Show Name & Value and invisible.
  • Make the device attribute be just OPAMP.

Clean up by moving these new attributes as shown.

Change the footprint default if you wish. When all the edits are done, it's very important when editing symbols to do a Edit→Symbol Translate to zero before saving. Do that and then save the symbol with File→Save Page I made the footprint default be DIP8 because I have that as a custom element.

Run gschem with the New Symbol

one.sch Run gschem one.sch. Select and delete with the Delete key both opamps. Also delete the Vcc and Vee symbols that were connected to them. Bring up the Add Components window and from the gschem-sym library which should now have your new custom symbol, place two of the opamp-dual.sym Move them to the right place on the schematic and don't forget to mirror and rotate the bottom opamp as before. Edit the attributes of each opamp giving them the same attributes they had, that is make the footprint be DIL 8 300, add a value attribute of TL072, and make the refdes of both opamps be U101. Make the slot of the second opamp be 2. If you don't make the attributes the same as they were before, gsch2pcb will think it is a different component and delete the existing DIL package from the layout. If you did everything right, running gsch2pcb should give:

~/gaf/myproject1$ gsch2pcb project
Found a cpinlist head with a netname! [Vcc]
Found a cpinlist head with a netname! [Vee]
Found a cpinlist head with a netname! [Vcc]
Found a cpinlist head with a netname! [Vee]
Found a cpinlist head with a netname! [Vcc]
Found a cpinlist head with a netname! [Vee]
Found a cpinlist head with a netname! [Vcc]
Found a cpinlist head with a netname! [Vee]
No elements to add so not creating board.new.pcb

Where the gEDA gnetlist program seems a bit “excited†about finding the new Vcc and Vee net attributes we just added, and a new netlist was generated. Now I think the schematic looks cleaner. And if you run pcb board.pcb and load the new netlist and then optimize the rats nest, PCB should tell you the board is complete which means connecting the opamp power pins via the net attribute has worked.

For complete details on making symbols, read through the Symbol Creation Document on the gEDA Documentation page.

Custom file elements

You can create custom file elements in the middle of running PCB on any layout or you can run PCB just for making the element. As a demonstration, lets make a custom element for a 1N4004 diode. There are axial packages provided by PCB, but we want to be sure the drill size will be right for this 1 amp diode with slightly fatter leads. It needs about a 42 mil (#58) drill.

Run pcb and the first thing to do is select the Signal routing style and edit its sizes (press the Route Style button) Set the Via hole size to 42 and the via size to 70 or larger as you like. Select Screen→Grid setting→25 mil and Screen→Enable visible grid. Zoom in a couple of steps, then make the element: Step 1

  • Select the VIA tool and place two vias 400 mils apart.
  • With the mouse on the left via, hit the N key and give the via the name 1. Give the right via the name 2
  • Pin 1 will be the cathode and this must agree with the pin numbers in your diode gschem symbol.

Step 2

  • Select the Silk layer and the LINE tool.
  • Draw the component outline as shown with line width set to 10 mils and the grid setting set to 10 mils.
  • Draw the left fat cathode indicator with three lines after setting the line width to 20 mils.
  • Don't let silk layer lines overlap solder pads.

Select the vias and the outline just drawn using the SEL tool and finish making the element:

  • Buffer→Cut selection to buffer and move the cursor to the center of the left via and click.
  • Buffer→Convert buffer to element
  • Buffer→Save buffer elements to file and navigate to ~/gaf/pcb-elements and save the element as D400-1A since it's a package for a 1A diode with 400 mil spaced pins. Or give it any descriptive name you like.

Note: if you save the element with a name which is the same as a m4 element, gsch2pcb will preferentially use the m4 element unless you give gsch2pcb the --use-files (or -f) option. You may put use-files in a project file if you want to always give priority to using file elements. The m4 element names appear to use upper case, so you could also avoid the problem by using lower case in your file element names. Also, the only way I know to make the pin 1 of the symbol square is to edit the D400-1A file manually and change the square flag in the Pin “1†line. For example, change the line:

Pin(0 0 70 20 70 42 "" "1" 0x00000001)

to:

Pin(0 0 70 20 70 42 "" "1" 0x00000101)

You can now use D400-1A in a gschem schematic symbol footprint attribute and gsch2pcb will find it provided you have made the packages link described in the Setup section. If you have not made that link, you can still tell gsch2pcb about the elements directory with a line in a project file:

elements-dir ~/gaf/pcb-elements

Possibly you've noticed, but there are some things not right about the myproject1 example. For one thing, silk layer lines are overlapping solder pads on some of the elements, and for another, the transistor is backwards on the layout! You otherwise shouldn't have a problem like this when working with gschem and PCB, but transistor pin numbering can be confusing. If you will be using transistors in your designs, here's a description of my approach to making sure my gschem transistor symbol pin numbering is coordinated with PCB element pin numbers: transistor guide.

From the transistor guide, you can see that the problem here is that the TO92 element has its pins numbered in the less common (3,2,1) configuration while the 2N3904-1.sym is like a npn-ebc symbol which needs a (1,2,3) numbering. You can see the 2N3904 pin numbers in gschem by hitting the EN keys (and don't be confused by the pinseq attribute that nearly covers up the pinnumber). And in PCB, you can see the TO92 pin numbers by hitting the D key with the mouse over the element. To be sure you are seeing pin numbers and not pin names, select Screen→pinout shows number.

I have libraries with transistor symbols and elements that you might find useful, so as a convenience you can get your custom libraries initially populated by installing my gschem/PCB libraries. Untar them under ~/gaf to mirror the setup of our example and there will also be a ~/gaf/pcb-elements.Readme which documents the PCB elements. Note: as of 1/10/2004 I've corrected the tarball pcb elements to not overlap solder pads with silk layer lines. If you untar them somewhere else, you will need to make sure that gschem knows about them with gafrc component-library lines and that gsch2pcb can find them with elements-dir lines in a project file.

If you install them, you can fix Q201 in two.sch by changing its footprint to TO-92 which is my custom element with (1,2,3) pin numbering. Then run gsch2pcb project and then pcb board.pcb and load the new element for the transistor. In the next images, two.sch is showing the footprint attribute visible to emphasize it, and it also shows a new symbol for the 2N3904 which I created from my custom npn-ebc.sym as described in my transistor guide. In the updated board.pcb layout, if you compare the outline appearance of the transistor to the original layout you see that the orientation is now correct and that silk layer lines don't overlap the solder pads. I also changed the footprint attribute for resistors R102 and R103 in one.sch to my custom 1/8 watt R0w8 and 1/4 watt R0w4 elements to illustrate the differences in style you can have with custom elements. You can also see the R101 style after its footprint was changed to 0.125W_Carbon_Resistor as suggested above. As you evaluate the differences in these styles, I'll mention that for my custom elements I wanted to maximize room to display value and refdes text (the 0.125W… element body could be a little larger) and I wanted the solder pad diameter a little larger so it will be more forgiving of board fabrication technique. Also, the resistor pin spacing for my R0w4 is slightly less than in R025 to improve component density.

two.sch pcb

Custom m4 elements

First, some words about how to find out about the default m4 elements available in PCB. I think there is some documentation forthcoming in the PCB project, but at this point I don't know of anything to refer you to and you can't just look at filenames as you can for the file elements. Not only that, but many of these elements require arguments and you need to determine what they are. So for now all I can say is that the best way to find out what's available is to read the m4 element files and for this you need to know where the PCB m4 files install location is. As of PCB 20031113 this install directory will most likely be /usr/share/pcb/m4 or /usr/local/share/pcb/m4, while on earlier PCB versions it could be /usr/X11R6/lib/X11/pcb/m4 (run gsch2pcb --help or gsch2pcb -v project to see which of these directories gsch2pcb is using). But if your install is somewhere else you will have to track it down. By the way, if the m4 directory is somewhere different from the above three, then gsch2pcb won't be finding your m4 elements in the above examples and you will need to add the correct m4 directory to your project file with a line like:

m4-pcbdir /path/to/pcb/m4

Just read the .inc files in the m4 install directory. For example, in the misc.inc file you will find the R025 element we've used and it starts out with:

# -------------------------------------------------------------------
# the definition of a resistor (0.25W) package
# $1: canonical name
# $2: name on PCB
# $3: value
define(`PKG_R025',
`Element(0x00 "$1" "$2" "$3" 120 30 0 100 0x00)
(
...

The information you can extract from this is that a m4 PKG_ macro named R025 is being defined and it takes 3 arguments. Now, all PCB m4 element macros take at least three arguments and these are automatically filled in by gsch2pcb with the gschem attributes footprint for canonical name, refdes for name on PCB, and value for value. The “canonical name†used in these m4 files is just an older way of referring to the current PCB usage of description as mentioned above in the Terminology section. Since these args are automatically filled in, you don't need to specify any additional args to R025 when you use it as a gschem footprint. But now look at the very next m4 element define in misc.inc:

# -------------------------------------------------------------------
# the definition of a SIL package without a common pin
# $1: canonical name
# $2: name on PCB
# $3: value
# $4: number of pins
define(`PKG_SIL',
`define(`MAXY', `eval(`$4' * 100 -50)')
Element(0x00 "$1" "$2" "$3" 160 10 3 100 0x00)
(
...

From this you can determine there is a SIL package you can use as a footprint. It has 4 arguments, but only the first three are handled automatically so there is one argument you must give when using it. You get a flash of insight and realize this is a “Single In Line†package! So, instead of the CONNECTOR 2 1 element specifying 1 column we used in our example above, you might think we could have used SIL 2. But you would be wrong! Because if you read the macro body you will see that if the argument is 2 the second forloop can't handle it. In fact, it will only work for arguments >= 4. If you ever run gsch2pcb and it appears stuck in an infinite loop, a m4 macro argument problem is likely the cause. As you look through misc.inc here's a summary of what you will find as possible elements you can use:

Package      Args you need to supply
SD           1      number of pins of a ZIP package
MULTIWATT15  0
R025         0
SIL          1      number of pins (we know now must be >= 4)
CSIL         1      number of pins
QFP132       0
LED          1      diameter of LED
DIODE_LAY    1      pin separation
AXIAL_LAY    1      pin separation
CRYSTAL      1      package width
OSC          0
ISA8         0
OVEN_OSC     0
RADIAL_CAN   1
SMD_BASE     2      length and width of surface mount device
SMD_CHIP     1      package length

And so on for the other .inc files…

The reality is that the m4 setup is less user friendly (you can't create the elements graphically) and more complicated (you need to understand m4 macros) than the simple file element approach. So for most of your custom elements I suggest you are better off staying with file elements. However, with the m4 macro method a single element definition that takes arguments gives you a programmable element which can be very useful for large pin count packages. It is particularly nice for IC packages with variable widths and number of pins, so a good example of using a custom m4 element would be to copy and modify to our taste the existing m4 macro for IC packages (the DIL macro) into a m4 file gsch2pcb will search. The destination m4 file can be any of these:

  • pcb.inc in our myproject1 directory and the custom element will be local to this project.
  • ~/.pcb/pcb.inc and the element will be known to all of our projects.
  • /path/to/anyfile if this path is made known to gsch2pcb by adding a line to a project file like:
    m4-file /path/to/anyfile

    Depending on whether you want the file known only to this project, to all of your projects, or to all projects of all users, this line may be added to any of the project files:

    ~/gaf/myproject1/project
    ~/.gsch2pcb
    /usr/local/etc/gsch2pcb
    /etc/gsch2pcb

For this tutorial, I'll use the first pcb.inc way, so copy over the existing macro file:

cd /usr/local/share/pcb/m4  (or /usr/share/pcb/m4 or /usr/X11R6/lib/X11/pcb/m4)
cp dil.inc ~/gaf/myproject1/pcb.inc
cd ~/gaf/myproject1

Now, edit the pcb.inc file you just copied and cut everything out except for the PKG_DIL macro. Change the name of the package to something like PKG_DILFAT because the change we'll make will be to make larger diameter pins. Actually, we could leave the name alone and our new definition would override the old one, but for now let's go with the new name. Change the pin diameter from 60 to 70 on the PIN lines. When done, this should be the entire contents of the new pcb.inc file:

# -------------------------------------------------------------------
# the definition of a dual-inline package N and similar types
# $1: canonical name
# $2: name on PCB
# $3: value
# $4: number of pins
# $5: package size (300, 600, 900 + 100 for socket space)
#
define(`PKG_DILFAT',
`define(`MAXY', `eval(`$4' / 2 * 100)')
define(`MAXX', `eval(`$5' + 100)')
define(`CENTERX', `eval(MAXX / 2)')
Element(0x00 "$1" "$2" "$3" eval(CENTERX + 20) 100 3 100 0x00)
(
forloop(`i', 1, eval($4 / 2),
`PIN(50, eval(i * 100 -50), 70, 28, i)
')
forloop(`i', 1, eval($4 / 2),
`PIN(eval(MAXX -50), eval(MAXY - i * 100 +50), 70, 28, eval(i + $4/2))
')
ElementLine(0 0 0 MAXY 10)
ElementLine(0 MAXY MAXX MAXY 10)
ElementLine(MAXX MAXY MAXX 0 10)
ElementLine(0 0 eval(CENTERX - 50) 0 10)
ElementLine(eval(CENTERX + 50) 0 MAXX 0 10)
ElementArc(CENTERX 0 50 50 0 180 10)
Mark(50 50)
)')

Run gschem one.sch and edit the footprint attribute of the opamps to be DILFAT 8 300. Then run gsch2pcb project and gsch2pcb will remove the DIL element from board.pcb and add into board.new.pcb a new DILFAT element from your custom m4 file pcb.inc. Run pcb board.pcb and load the board.new.pcb into your layout. Move the new element with its fatter pins to the location left vacant by the removal of the old element.

Multi-user Setup

The above examples are oriented towards a single user with projects and custom gschem and PCB libraries under his home directory. Here's a way to set up for multiple users who need to share resources:

  • Put site wide custom PCB file elements under, for example, /usr/local/share/pcb/pcb-elements. Make this directory searched by gsch2pcb for all users by putting a line into /etc/gsch2pcb or /usr/local/etc/gsch2pcb:
    elements-dir /usr/local/share/pcb/pcb-elements

    If there are any site wide custom PCB m4 element files, for example, /usr/local/share/pcb/pcb.inc, add another line into /etc/gsch2pcb or /usr/local/etc/gsch2pcb:

    m4-file /usr/local/share/pcb/pcb.inc
  • If the default PCB m4 install is not /usr/local/share/pcb/m4, /usr/share/pcb/m4, or /usr/X11R6/lib/X11/pcb/m4, then make the install location known to all users of gsch2pcb by putting into /etc/gsch2pcb or /usr/local/etc/gsch2pcb the line:
    m4-pcbdir /path/to/pcb/m4

    If the m4 program is gm4 instead of m4, add to the gsch2pcb file:

    m4-command gm4
  • If there are site wide custom gschem symbols under some directory, you will have to edit the system-gafrc file and add component-library lines for them.

With the above, users will have access to site wide libraries and only need to put in a design project file lines for schematics and output-name. But they also are free to have their own additional user and/or project specific symbol and element libraries.

PC Board Fabrication

The tutorial should cover pcb fabrication too.

Photo-lithography

Use File→Export layout→ps to make a postscript file suitable for printing on a transparency. Note the presence of the 'mirror' and 'ps-invert' options which you may need depending on your process.

Open the ps file and print only the pages that you will actually need for fabrication. There are a large number of pages here, many of which you may not need.

If you find that your pads and traces don't print on the same page, or are placed on the wrong side you need to check the settings under File→Preferences→Layers to group the layers appropriately and place them on the correct side.

Machining

LPKF (and probably other companies) have a pcb plotting machines that accept gerber files. These files can be produced by choosing File→Export Layout→gerber which produces a large number of files. The files can be viewed using gerbv and the visualization saved. Once you are satisfied with the output gerber files just hand them off to whomever controls the pcb plotting machine and wait for the boards to be completed!

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-autonumbering.ru.html0000644000175000017500000001602313634703632021506 00000000000000

ÐвтонумерациÑ

ЧаÑто бывает удобно нумеровать атрибуты автоматичеÑки (например, чтобы при редактировании Ñимвола Ñразу задать атрибуты «pinseq=» Ð´Ð»Ñ Ð²Ñех выводов или, Ñкажем, определить Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð² «refdes=» Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹ группы конденÑаторов). ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ð¸ в gschem вызываетÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ðтрибуты→ÐвтонумерациÑ… [Attributes→Autonumber Text…].

Окно «ÐвтонумерациÑ» [«Autonumber text»] ÑоÑтоит из двух чаÑтей:

  • Ð’ разделе «ОграничениÑ» [«Scope»] определÑетÑÑ, какие атрибуты должны быть автоматичеÑки пронумерованы.
  • Ð’ разделе «ÐаÑтройки» [«Options»] задаётÑÑ, как Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ производитьÑÑ.

Выбор атрибутов Ð´Ð»Ñ Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ð¸

Ð’ поле «Выражение» [«Search for»] нужно ввеÑти шаблон иÑкомых атрибутов. ЗдеÑÑŒ можно вводить метаÑимволы: «*» ÑоответÑтвует любому количеÑтву Ñимволов, а «?» – любому одиночному Ñимволу. Ðапример, еÑли ввеÑти выражение «refdes=X*», оно будет ÑоответÑтвовать компонентам Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñми «X1», «X40», «X302» и Ñ‚. д.

Ð’ меню «ОблаÑть автонумерации:» [«Autonumber text in:»] задаётÑÑ Ð¾Ð±Ð»Ð°Ñть, где Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ð¸ будет иÑкать атрибуты, которые Ñледует изменить. ЕÑли выбрать «Выделенные объекты» [«Selected objects»], то будут изменены только те объекты, что в данный момент выделены. ЕÑли выбран пункт Â«Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ñтраница» [«Current page»], будут автоматичеÑки пронумерованы объекты вÑей Ñтраницы. ЕÑли выбрана «ВÑÑ Ð¸ÐµÑ€Ð°Ñ€Ñ…Ð¸Ñ» [«Whole hierarchy»], Ð¿ÐµÑ€ÐµÐ½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ производитьÑÑ Ð²Ð¾ вÑех открытых Ñтраницах.

ЕÑли некоторые из номеров уже иÑпользуютÑÑ, Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ð¸ их пропуÑтит. Определить ту облаÑть, где Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ð¸ ищет номера, которые нужно пропуÑтить, можно Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ меню «ПропуÑк номеров, уже имеющихÑÑ Ð² облаÑти:» [«Skip numbers found in:»], в котором можно выбрать те же Ñамые пункты, что опиÑаны выше Ð´Ð»Ñ Ð¼ÐµÐ½ÑŽ «ОблаÑть автонумерации».

ЕÑли уÑтановлен флажок «ПерезапиÑывать уже имеющиеÑÑ Ð½Ð¾Ð¼ÐµÑ€Ð°Â» [«Overwrite existing numbers»], будут перенумерованы вÑе найденные атрибуты, ÑоответÑтвующие шаблону, заданному в поле «Выражение:». Ð’ противном Ñлучае будут изменены только те, что ещё не были пронумерованы.

Управление назначением атрибутов

Ð’ поле «Ðачальный номер:» [«Starting number:»] задаётÑÑ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ñ‹Ð¹ номер, который попытаетÑÑ Ð½Ð°Ð·Ð½Ð°Ñ‡Ð¸Ñ‚ÑŒ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ð¸. Ðапример, чтобы перенумеровать компоненты на Ñтранице и назначить им номера U100, R101 и Ñ‚. д., задайте начальный номер равный 100. Ð’ ÑпиÑке «ПорÑдок нумерации» [«Sort order»] задаётÑÑ Ð¿Ð¾Ñ€Ñдок, в котором должны назначатьÑÑ Ð½Ð¾Ð¼ÐµÑ€Ð° при автонумерации.

ЕÑли уÑтановлен флажок «Удалить вÑе номера» [«Remove numbers»], то номера атрибутов ÑбраÑываютÑÑ Ð² «?» (например, «R10» превращаетÑÑ Ð² «R?»).

lepton-eda-1.9.10/docs/wiki/geda-gsymcheck_mp.ru.html0000644000175000017500000000705313634703632017344 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

gsymcheck man-page

gsymcheck(1)			   20031231			  gsymcheck(1)



ÐÐЗВÐÐИЕ
       gsymcheck - программа проверки Ñимволов gEDA/gaf

СИÐТÐКСИС
       gnetlist [-h] [-v] [-q] symbol1 [... symbolN]

ОПИСÐÐИЕ
       gsymcheck - Ñто программа проверки Ñимволов Ð´Ð»Ñ gEDA. Сюда нужно
       добавить перечень выполнÑемых Ð´Ð»Ñ Ñимволов проверок.


ПÐРÐМЕТРЫ
       gsymcheck принимает Ñледующие ключи:

       -q      Безмолвный режим. Ð’ Ñтом режиме отключаютÑÑ Ð²Ñе
               предупреждениÑ/ замечаниÑ/ÑообщениÑ. (необÑзательный)

       -v      Подробный режим 1. Ð’ Ñтом режиме выводÑÑ‚ÑÑ Ð²Ñе ошибки.
               (необÑзательный)

       -vv     Подробный режим 2.	Ð’ Ñтом режиме выводÑÑ‚ÑÑ Ð²Ñе ошибки и
               предупреждениÑ. (необÑзательный)

       -vvv    Подробный режим 3.	Ð’ Ñтом режиме выводÑÑ‚ÑÑ Ð²Ñе ошибки,
               Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¸ информационные ÑообщениÑ. (необÑзательный)

       -h      Сводка по иÑпользованию / Ñправка по gsymcheck

       symbol1 [... symbolN]
               Должен быть указан по крайней мере один файл Ñимвола. ЕÑли
               указано неÑколько Ñимволов, они поÑледовательно читаютÑÑ Ð¸
               проверÑÑŽÑ‚ÑÑ.  Важно, чтобы файлы Ñимволов задавалиÑÑŒ поÑле
               Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð²Ñех ключей (то еÑть в конце командной Ñтроки).


ПРИМЕРЫ
       Сюда нужно добавить примеры.


ПЕРЕМЕÐÐЫЕ ОКРУЖЕÐИЯ
       Переменные Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð½Ðµ оцениваютÑÑ.


ÐВТОР
       Ales Hvezda и многие другие


СМОТРИТЕ ТÐКЖЕ
       gschem(1), gnetlist(1)

ÐВТОРСКИЕ ПРÐÐ’Ð
       Copyright ©  1999-2004 Ales Hvezda

       ÐаÑтоÑщий документ можно Ñвободно раÑпроÑтранÑть в ÑоответÑтвии Ñ
       уÑловиÑми лицензии GNU General Public License верÑии 2.0

ПЕРЕВОД
       Владимир Жбанов, 2011 г.




ВерÑиÑ			      31 Ð´ÐµÐºÐ°Ð±Ñ€Ñ 2003 г.		  gsymcheck(1)
lepton-eda-1.9.10/docs/wiki/geda-faq-gnetlist.html0000644000175000017500000003607013634703632016645 00000000000000

Translations of this page are also available in the following languages: Français, РуÑÑкий.

Gnetlist

Bill of Materials (BOM) Generation

There are five different backends for gnetlist which enable you to export a BOM. Call them with -g and be sure to give the output file name with the -o option:

   gnetlist -g partslist3 -o output.bom schematic.sch

gnetlist descends into sub sheets and list the contents of these schematics along with the parts from the top document.

The backends bom and bom2 require read access to a local file called attribs. This file should contain the name of the attributes to be listed each in a seperate line. E.g:

value
footprint
description

Each of the backends lists and sorts the parts in different ways in an ascii file. Choose the one you like best:

bom

The bom backend needs to read an attribs file (see above). The list produced by â€-g bom†will contain as many lines as there are components. Columns are seperated by tab characters. Lines are not sorted.

bom2

The bom2 backend also needs to read an attribs file. With â€-g bom2†the refdeses of all components with the same value will be collected into a single line. Columns are seperated by colons. Different items in the same column are seperated by a komma character.

partslist1

A list produced by the partlist1 backend gives a line for each and every component. Lines are sorted alphabetically by refdes. Columns are “refdesâ€, “deviceâ€, “valueâ€, “footprint†and “quantityâ€. Since every line contains just one part, the quantity is always “1â€.

partslist2

This backend produces output similar to partslist1. Lines are sorted by the value of the device attribute.

partslist3

The backend partslist3 assembles all parts with the same value in a single line, very much like bom2. Lines are sorted by the value of the device attribute. The fourth column reports the number of parts in a line. Columns are seperated by the tab character, items by space.

Design Rule Check (DRC)

How do I check my schematics?

You can check your schematics using the drc2 gnetlist’s backend. It will check your schematics for some common errors, like duplicate references, unconnected pins, unused slots and more.

Run the drc2 backend with the following command:

gnetlist -g drc2 -o MyDesign.drc MyDesign.sch

With this command, the DRC output is written into the file “MyDesign.drcâ€. You can then view this file with a text editor and see the DRC warnings and errors.

How do I see the DRC output in the screen, without writing to a file?

Run the drc2 backend with the following command:

gnetlist -g drc2 -o - MyDesign.sch

This way, you will see the DRC output directly in your screen.

I want to disable some of the schematic DRC checks. How can I do it?

The drc2 backend is highly configurable. You have to put some special commands into a file and use the “-l†option of gnetlist with it.

The most common commands are:

  • (define dont-check-non-numbered-parts 1) ;; Disable the non-numbered parts check
  • (define dont-check-duplicated-references 1) ;; Disable the duplicate references check
  • (define dont-check-one-connection-nets 1) ;; Disable the check for nets with only one connection.
  • (define dont-check-pintypes-of-nets 1) ;; Disable the pintype check
  • (define dont-check-not-driven-nets 1) ;; Disable the driven net check
  • (define dont-check-unconnected-pins 1) ;; Disable the unconnected pins check
  • (define dont-check-duplicated-slots 1) ;; Disable the duplicated slots check
  • (define dont-check-unused-slots 1) ;; Disable the unused slots check
  • (define dont-check-slots 1) ;; Disable slot number check
  • (define action-unused-slots #\w) ;; Output an unused slots as a warning
  • (define action-unused-slots #\e) ;; Output an unused slots as an error
  • (define action-unused-slots #\c) ;; An unused slot is OK.
  • (define case_insensitive 1) ;; Do all checks case insensitive

There are some other advanced commands, to modify the DRC matrix and the pintype which can drive a net. See the backend file “gnet-drc2.scm†with a text editor. At the beginning there is the available documentation.

Copy the above lines you want into a file (for example “drc_rules.txtâ€), one per line, and run the drc checker:

gnetlist -g drc2 -l drc_rules.txt -o MyDesign.drc MyDesign.sch

With this command, the DRC output is written into the file “MyDesign.drcâ€. You can then view this file with a text editor and see the DRC warnings and errors.

Can I include the DRC checking into a Makefile and stop when errors or warnings are found?

Yes. The drc2 backend will return an error if there are errors or warnings, so you can add the following to your Makefile:

$(objects).drc : $(objects).sch
          gnetlist -g drc2 $(objects).sch -o $(objects).drc

If you are going to simulate your design, then you can add the following to your Makefile:

$(objects).cir : $(objects).sch $(objects).drc
          grep -v ERROR $(objects).drc >/dev/null 2>&1
          gnetlist -g spice-sdb $(objects).sch  -o $(objects).cir

If not, please use the above example and adapt it to your own workflow.

There are some warnings in my design I'm aware of. Can I ignore the warnings in the return value?

Use the “-O ignore-warnings-in-return-value†option:

gnetlist -g drc2 -o - MyDesign.sch -O ignore-warnings-in-return-value

Do this with caution! You will be missing all the warnings!

Gnetlist build/run-time problems

I get a "parenthesis mismatch" error when running gnetlist. What's up?

Starting with Fedorea Core 6 and SuSE 10.2, many users have reported an error which looks like this:

$gnetlist -g spice-sdb -o TwoStageAmp.cir TwoStageAmp.sch
Command line passed = gnetlist -g spice-sdb -o TwoStageAmp.cir TwoStageAmp.sch
gEDA/gnetlist version 20061020
gEDA/gnetlist comes with ABSOLUTELY NO WARRANTY; see COPYING for more details.
This is free software, and you are welcome to redistribute it under certain
conditions; please see the COPYING file for more details.

Remember to check that your schematic has no errors using the drc2 backend.
You can do it running 'gnetlist -g drc2 your_schematic.sch -o drc_output.txt'
and seeing the contents of the file drc_output.txt.

Loading schematic [/home/nano/TwoStageAmp/TwoStageAmp.sch]
Probably parenthesis mismatch in /usr/share/gEDA/scheme/gnet-spice-sdb.scm
Most recently read form: (#@begin #<unspecified>)
ERROR: Unbound variable: spice-sdb

Several gnetlist backends evince this problem, including spice-sdb and drc2.

This is a bug in guile-1.8.X. The gEDA developers are working on a fix. Meanwhile, try to backrev your version of guile to 1.6.7, which is known to work flawlessly with gEDA.

The gnetlist bom backend does not work. What is wrong?

If when running gnetlist like this:

gnetlist -g bom filename.sch

and gnetlist outputs an error message like:

Loading schematic [filename.sch]
ERROR: In procedure open-file:
ERROR: No such file or directory: “attribsâ€

then you need to create a file called “attribs†in the current directory which contains the attributes which you want inside the bom file. An example of this file would be:

device
value

For information about BOM generation see above.

Some gnetlist backends overflow the stack. How do I solve this?

If you get an error message like:

ERROR: Stack overflow

when running certain larger sized schematics through some of the backends, then add the following to a ~/.gEDA/gnetlistrc or a local gnetlistrc (in the current working directory):

(debug-options (list 'stack 200000))
(eval-options (list 'stack 200000))

If this does not work, then edit the appropriate backend (usually named: gnet-backend_name.scm) and put the above lines at the top of this file. The gnetlist backends can be found in ${prefix}/share/gEDA/scheme. Also send an e-mail to geda-user reminding the developers to fix this. Remember, you must subscribe to geda-user before you can post to the list.

gnetlist has created a netlist with duplicate pins!?

There has been at least one report of the following message coming from PCB after loading up a netlist created by gnetlist:

28: Error! Element R117 pin 2 appears multiple times in the netlist file.
29: Error! Element C167 pin 2 appears multiple times in the netlist file.

What has happened is gnetlist (really libgeda) created two nets instead of one. This happens when you draw two nets that cross each other and a pin connecting to the intersection of the two crossing nets. Note the cross nets are not connected together. A schematic which demonstrates this looks like this:

The developers are debating whether or not this is a bug in gnetlist, but for now make sure your net connections, especially those that involve pins connecting to the middle of other nets, are explicitly drawn. Here is how the above connection should be drawn to netlist properly:

lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-command_line.ru.html0000644000175000017500000001541213634703632021640 00000000000000

Ðргументы командной Ñтроки

При запуÑке gnetlist может иÑпользоватьÑÑ Ð½ÐµÑколько необÑзательных аргументов командной Ñтроки. Их перечень можно узнать, запуÑтив gnetlist -h. Перечень вÑех ключей командной Ñтроки программы можно поÑмотреть в её Ñправочной Ñтранице (man gnetlist).

Вывод Ñообщений и диагноÑтика

-q Без вывода информации. Отключение вÑех предупреждений/замечаний/Ñообщений.
-v, --verbose Подробный вывод. Вывод дополнительной диагноÑтичеÑкой информации.
-h, --help Вывод Ñправки.
-V, --version Вывод информации о верÑии gnetlist.
--list-backends Вывод информации об уÑтановленных драйверах ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑков Ñоединений.

Обработка ÑпиÑка Ñоединений

-o FILE ЗапиÑать Ñгенерированный ÑпиÑок Ñоединений в FILE.
-g BACKEND Указать, какой драйвер иÑпользовать Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ данных ÑпиÑка Ñоединений.
-O STRING Передать опцию STRING драйверу ÑпиÑка Ñоединений.
-i Войти в интерактивный режим Scheme REPL вмеÑто запуÑка драйвера.
-- РаÑÑматривать вÑе оÑтавшиеÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ‹ как имена файлов Ñхем или Ñимволов. ИÑпользуйте Ñто, еÑли у Ð²Ð°Ñ ÐµÑть имена файлов Ñхем, начинающиеÑÑ Ñ Â«-».

ИÑпользование раÑширений на Scheme

-L КÐТÐЛОГ Добавление КÐТÐЛОГа к началу ÑпиÑка каталогов, в которых производитÑÑ Ð¿Ð¾Ð¸Ñк файлов Scheme.
-c ВЫРÐЖЕÐИЕ Задание Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð½Ð° Scheme, которое должно быть вычиÑлено при запуÑке.
-l ФÐЙЛ Задание Ñкрипта на Scheme, который должен быть выполнен перед загрузкой драйвера.
-m ФÐЙЛ Задание Ñкрипта на Scheme, который должен быть выполнен поÑле загрузки драйвера.
lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-grids.html0000644000175000017500000000675513634703632017325 00000000000000

Grids

Objects in a gschem schematic or symbol are placed using a grid. There are two grids active at any time: the snap grid, and the display grid. The current grid settings are shown in the gschem status bar as “Grid(100,100)â€, where the first number describes the snap grid and the second the display grid.

Snap grid

The snap grid is used by editing operations to help you position objects so that they connect up properly. The size of grid can be increased with Options→Scale up grid spacing, and decreased with Options→Scale down grid spacing. It can be set to a particular value with Options→Snap grid spacing….

The current snapping mode can be cycled with Options→Toggle Snap On/Off. There are three snapping modes available:

  1. In normal mode, movements are by multiples of the snap grid size, but objects that are not aligned with the grid will not be forced back into line with it.
  2. In resnap mode, “Resnap Active†is shown in the status bar. In this mode, objects that are not aligned with the grid will be forced back onto it. This can be useful if you have an object that's aligned to a different size grid to the one you are using.
  3. In snap off mode, “Snap Off†is shown in the status bar. In this mode, objects are not snapped to the grid at all.

You must be careful when editing with snap disabled: slightly off-grid pins, nets and components can be very difficult to connect up correctly.

Display grid

The display grid is shown at the smallest multiple of the snap grid size that makes sense to display at the current zoom level. You can cycle the style of grid displayed using Options→Cycle grid styles.

lepton-eda-1.9.10/docs/wiki/geda-wcalc_readme.html0000644000175000017500000000316513634703632016654 00000000000000

Wcalc README

$Id: README,v 1.2 2005/10/24 21:12:42 dan Exp $

Wcalc is a tool for the analysis and synthesis of transmission line structures and 
related components.  Wcalc provides the ability to analyze the electrical parameters
of a particular structure based on the physical dimensions and material parameters.
The synthesis portion calculates the required physical parameters to meet desired
electrical specifications.  Wcalc includes several models and places an emphasis on
accuracy.  Several frontends provide the user with several options for its use.

Models include:

 - single layer solenoid inductor
 - single microstrip and stripline
 - coupled microstrip
 - metal-insulator-semiconductor microstrip
 - coaxial cable

Frontends include:

 - gtk gui
 - web (cgi)
 - scilab
 - octave
 - matlab
 - stdio

See the file INSTALL for building and installation instructions.

Please report all bugs at the wcalc sourceforge project page
at http://wcalc.sf.net

See the file COPYING for copying conditions.
lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-moving_copying.ru.html0000644000175000017500000002326413634703632021663 00000000000000

Перемещение и копирование

Перемещение объектов

Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° ÑущеÑтвует три ÑпоÑоба:

  1. Щёлкнуть по нему левой кнопкой мыши и потащить. ЕÑли он выделен, Ñ Ð½Ð¸Ð¼ будут перемещатьÑÑ Ð¸ вÑе оÑтальные выделенные объекты.
  2. Выделить один или неÑколько объектов и нажать M Ð´Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° перемещениÑ, а затем щёлкнуть левой кнопкой мыши Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¸Ñ… в новой позиции.
  3. Выделить один или неÑколько объектов и иÑпользовать Правка→Перемещение [Edit→Move Mode]. Щёлкнуть один раз, чтобы начать перемещение, и ещё раз, чтобы его завершить.

Ð’Ñе ÑоединениÑ, подключенные к перемещаемому объекту, будут раÑÑ‚ÑгиватьÑÑ (как «резиновые») Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÑвÑзей между объектами. Такое поведение можно включать и отключать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ÐаÑтройки→Резиновое Ñоединение вкл/откл [Options→Toggle net rubberband].

ЕÑли при перемещении удерживать нажатой клавишу Ctrl, направление Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ ограничено — Ñмещать объекты можно будет только по горизонтали или по вертикали отноÑительно их иÑходного положениÑ.

Поворот и зеркальное отражение объектов

Объекты или их группы можно также поворачивать и отражать отноÑительно вертикальной оÑи.

Ð”Ð»Ñ Ð¿Ð¾Ð²Ð¾Ñ€Ð¾Ñ‚Ð° выделенных объектов на 90° против чаÑовой Ñтрелки отноÑительно текущего Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÐºÑƒÑ€Ñора мыши нажмите ER. Ð’ процеÑÑе Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° на Ñтранице (например, при его перемещении), повернуть его можно также щелчком Ñредней кнопки мыши.

Чтобы отразить выделенные объекты Ñлева направо отноÑительно Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÐºÑƒÑ€Ñора мыши, нажмите EI.

Копирование объектов в пределах Ñтраницы

БыÑтро Ñкопировать выделенные объекты можно, нажав EC, а затем щёлкнув левой кнопкой Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸. Щелчком правой кнопки мыши начатое копирование можно отменить. БыÑтро Ñкопировать объекты можно и выбрав в меню Правка→Копирование [Edit→Copy mode], в Ñтом Ñлучае Ð´Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½ÑƒÐ¶Ð½Ð¾ будет щёлкнуть левой кнопкой мыши, а затем щёлкнуть той же кнопкой ещё раз Ð´Ð»Ñ ÐµÐ³Ð¾ завершениÑ.

ЕÑли нужно Ñделать более одной копии, можно иÑпользовать Правка→Многократное копирование [Edit→Multiple Copy Mode], или нажать EY. Это почти ничем не отличаетÑÑ Ð¾Ñ‚ обычного быÑтрого копированиÑ, разница только в том, что, Ñ‰Ñ‘Ð»ÐºÐ°Ñ Ð½ÐµÑколько раз левой кнопкой мыши, можно Ñделать неÑколько копий выделенных объектов, а завершаетÑÑ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ щелчком правой кнопки.

ЕÑли при быÑтром копировании удерживать нажатой клавишу Ctrl, копии будут выравниватьÑÑ Ð¿Ð¾ иÑходным объектам по горизонтали или по вертикали.

Копирование и вÑтавка Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ буфера обмена

Выделенные объекты можно Ñкопировать в ÑиÑтемный буфер обмена, а позже их оттуда вÑтавлÑть. Чтобы Ñкопировать выделенные объекты в буфер, в меню выберите Правка→Копировать [Edit→Copy] или, чтобы помеÑтить их в буфер обмена, удалив Ñо Ñтраницы, — Правка→Вырезать [Edit→Cut].

ЕÑли в ÑиÑтемном буфере находÑÑ‚ÑÑ Ð´Ð°Ð½Ð½Ñ‹Ðµ Ñхемы или Ñимвола gEDA, их можно добавить на Ñтраницу Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Правка→ВÑтавить [Edit→Paste]. Отменить операцию в процеÑÑе Ð¿Ð¾Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… из буфера можно щелчком правой кнопки.

ИÑпользование буферов

Ð’ gschem поддерживаетÑÑ Ð½ÐµÑколько буферов, работа Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼Ð¸ ведётÑÑ Ð¿Ð¾Ñ‡Ñ‚Ð¸ также, как и Ñ ÑиÑтемным буфером обмена, но Ñ Ð¾Ð´Ð½Ð¸Ð¼ иÑключением — Ð´Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… приложений данные из них недоÑтупны. ДейÑтвиÑ, отноÑÑщиеÑÑ Ðº работе Ñ Ñтими буферами, можно найти в меню Буфер [Buffer].

ИÑпользовать буферы может быть удобно в тех ÑлучаÑÑ…, когда хочетÑÑ Ð¸Ð¼ÐµÑ‚ÑŒ под рукой не один объект или группу объектов, а неÑколько, и вÑтавлÑть их не вÑе Ñразу, а по отдельноÑти.

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-command_line.html0000644000175000017500000001123613634703632020630 00000000000000

Command-line arguments

gschem accepts several optional arguments on the command-line. You can get a list of them by running gschem -h. gschem also has a manpage (man gschem) which lists all of the command line options that it accepts.

Message output and diagnostics

-q, --quiet Quiet mode. Turn off all warnings/notes/messages.
-v, --verbose Verbose mode. Output extra diagnostic information.
-h, --help Print a help message.
-V, --version Print gschem version information.

Scheme extensibility

-L DIRECTORY Prepend DIRECTORY to the list of directories to be searched for Scheme files.
-s FILE Specify a Scheme script to be executed at startup.
-c EXPR Specify a Scheme expression to be evaluated at startup.

Other

-r, --config-file=FILE Specify an additional configuration file to be read after all other configuration files have been processed.
-o, --output=FILE Specify a filename for generating PostScript output. This command line argument is useful when running gschem from a shell script and with a Scheme script. The filename can be changed through the print dialog box.
-p Automatically place the window. This may be useful if running gschem from the command line and generating output.
-- Treat all remaining arguments as schematic or symbol filenames. Use this if you have a schematic or symbol filename which begins with â€-â€.
lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-printing.ru.html0000644000175000017500000000446013634703632020463 00000000000000

Печать

Схему в gschem можно напечатать, открыв Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Файл→Печать… [File→Print…] окно печати.

Там можно выбрать принтер Ð´Ð»Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð¸ и различные наÑтройки Ñтого принтера (из тех, что он поддерживает). ВмеÑто вывода на принтер можно выбрать «Печатать в файл» [«Print to File»] и вывеÑти Ñхему в файл в формате PDF, PostScript или SVG, который позже можно раÑпечатать.

Чтобы увидеть, как будет выглÑдеть раÑÐ¿ÐµÑ‡Ð°Ñ‚Ð°Ð½Ð½Ð°Ñ Ñхема, нажмите кнопку «Предварительный проÑмотр» [«Print Preview»].

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-main_window.ru.html0000644000175000017500000000641213634703632021143 00000000000000

ОÑновное окно

Эта Ñтраница Ñодержит изображениÑ, которые нуждаютÑÑ Ð² обновлении Ð´Ð»Ñ ÑоответÑÑ‚Ð²Ð¸Ñ Ð¿Ð¾Ñледней верÑии gschem.

При запуÑке gschem открываетÑÑ Ð¾Ñновное окно программы.

Screenshot of gschem main window

Окно Ñодержит четыре оÑновных Ñлемента. При раÑÑмотрении Ñверху вниз Ñто будут:

  1. Панель меню, предоÑтавлÑÑŽÑ‰Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть доÑтупа ко вÑем вÑтроенным дейÑтвиÑм по работе Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ и редактированию.
  2. Панель инÑтрументов, предоÑтавлÑÑŽÑ‰Ð°Ñ Ð±Ñ‹Ñтрый доÑтуп к наиболее чаÑто требуемым функциÑм.
  3. ОблаÑть Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñхемы (Ñ€Ð°Ð±Ð¾Ñ‡Ð°Ñ Ð¾Ð±Ð»Ð°Ñть).
  4. Строка ÑоÑтоÑниÑ. Слева направо в ней отображаютÑÑ: текущие привÑзки Ð´Ð»Ñ Ð»ÐµÐ²Ð¾Ð¹, Ñредней и правой кнопок мыши; наÑтройки Ñетки; Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ Ð¿Ð¾ÑледовательноÑть нажатий клавиш (первоначально ничего нет); и текущий режим редактированиÑ.
lepton-eda-1.9.10/docs/wiki/geda-suse_rpm_installation.ru.html0000644000175000017500000003045713634703632021315 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

УÑтановка rpm-пакетов gEDA в SuSE

ДоÑтупные rpm-пакеты

  • geda (1.6.1)
  • gerbv (2.3.0)
  • pcb (20091103)
  • ng-spice-rework (20)
  • gnucap (0.35)
  • gspiceui (0.9.98)
  • gwave (20090213)
  • gtkwave (3.3.3)
  • dinotrace (9.4a)
  • verilog (0.9.1)
  • wcalc (1.1)
  • xgsch2pcb (0.1.3)
  • electronics-menu (1.0)

УÑтановка пакетов из Службы Сборки SuSE

  1. ЗапуÑтите Yast и перейдите к Изменить иÑточник уÑтановки
  2. Добавьте HTTP-иÑточник Ñо Ñледующими ÑвойÑтвами
    • Servername: software.opensuse.org
    • Directory: /download/repositories/science/openSUSE_11.0/ (Выберите каталог Ð´Ð»Ñ Ñвоего диÑтрибутива)
  3. ЗапуÑтите в Yast УÑтановить программу, перейдите к ПоиÑку и поищите gEDA. Будут отображены вÑе пакеты.
  4. УÑтановите пакеты как обычно.

ПодробноÑти Ñм. в общих замечаниÑÑ… по уÑтановке на Ñтранице Службы Сборки OpenSuSE.

Можно также Ñначала пролиÑтать репозитории: репозиторий openSUSE_11.0, репозиторий openSUSE_11.1, репозиторий openSUSE_11.2.

Ð—Ð°Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ñ… диÑтрибутивов

Ð’ каждой из верÑий диÑтрибутива еÑть Ñвои проблемы. См. нижеÑледующие замечаниÑ.

openSUSE 11.0

  • …

openSUSE 11.1

  • Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð½ÐµÑ‚ меню Ñлектроники, вÑе программы отображаютÑÑ Ð² меню Обучение → Ðаука [Education → Science]
  • …

openSUSE 11.2

  • Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð½ÐµÑ‚ меню Ñлектроники, вÑе программы отображаютÑÑ Ð² меню Обучение → Ðаука [Education → Science]
  • …

Ð˜Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ñ Ñ€Ð°Ð±Ð¾Ñ‡Ð¸Ð¼ Ñтолом

Это Ñводка того, как gEDA и другие отноÑÑщиеÑÑ Ðº Ñлектронике пакеты интегрируютÑÑ Ð² окружение рабочего Ñтола openSUSE.

Меню Ñлектроники

ДиÑтрибутив openSUSE, к Ñожалению, не предоÑтавлÑет Ñпециального Ñлемента меню по Ñлектронике Ð´Ð»Ñ Ð½Ð°Ð±Ð¾Ñ€Ð° прекраÑных программ gEDA. Элемент меню Ð´Ð»Ñ Ñлектроники Ñделал Peter Clifton. Он находитÑÑ Ð² rpm-пакете electronics-menu. Пакет Ñодержит Ñлемент меню и неÑколько иконок Ð´Ð»Ñ Ð½ÐµÐ³Ð¾. ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ Ð¼ÐµÐ½ÑŽ в openSUSE называетÑÑ Edutainment → Electronics.

ЕÑли Ñтот пакет уÑтановлен, то меню будет выглÑдеть примерно как вот Ñто в KDE (Ñкомбинированное вручную в gimp):

Ð—Ð°Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð¾ spec-файле rpm-пакета

Ð’ openSUSE поÑле каждой уÑтановки rpm-пакетов Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ YaST вызываетÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° SuSEconfig. ПоÑтому интегрировать вÑе конфигурационные вызовы в разделы rpm post и postun необÑзательно .

ТребуютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ spec-файлов, отноÑÑщиеÑÑ Ðº Shared MIME Info. Это опиÑываетÑÑ Ð² Ñтатье по openSUSE СоглашениÑ_по_пакетам_SUSE/ОÑобые_Пакеты.

PreReq:       shared-mime-info
[...]
%post
if test -f %{_bindir}/update-mime-database ; then
    %{_bindir}/update-mime-database %{_datadir}/mime >/dev/null
fi
%postun
if test -f %{_bindir}/update-mime-database ; then
    %{_bindir}/update-mime-database %{_datadir}/mime >/dev/null
fi

Ð”Ð»Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð¹ уÑтановки mimelnks в окружении KDE требуетÑÑ ÐµÑ‰Ñ‘ одно дополнение. KDE не интереÑуетÑÑ mimelnks, уÑтановленными в /usr/share/mimelnk/, поÑтому их надо Ñкопировать в каталог KDE /opt/kde3/mimelnk/. Это производитÑÑ Ð² spec-файле rpm-пакета внутри раздела %install.

%install
%makeinstall
kdemimedir=$(kde-config --install mime)
if test %{_datadir} != $kdemimedir ; then
    mkdir -p $RPM_BUILD_ROOT$kdemimedir
    mv $RPM_BUILD_ROOT%{_datadir}/mimelnk/* $RPM_BUILD_ROOT$kdemimedir
    rmdir $RPM_BUILD_ROOT%{_datadir}/mimelnk
fi

Ð ÑƒÑ‡Ð½Ð°Ñ ÑƒÑтановка rpm-пакетов

Тем, кто не иÑпользует Ð´Ð»Ñ ÑƒÑтановки YaST, нужно вручную выполнить команду SuSEconfig поÑле уÑтановки или ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð»ÑŽÐ±Ð¾Ð³Ð¾ rpm-пакета. Можно запуÑтить либо команду верхнего ÑƒÑ€Ð¾Ð²Ð½Ñ SuSEconfig:

/sbin/SuSEconfig

либо только необходимые утилиты конфигурации более низкого ÑƒÑ€Ð¾Ð²Ð½Ñ (их две):

/sbin/conf.d/SuSEconfig.desktop-file-utils

ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð²Ñ‹Ð·Ñ‹Ð²Ð°ÐµÑ‚

/usr/bin/update-desktop-database

и

/sbin/conf.d/SuSEconfig.gtk2

ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð²Ñ‹Ð·Ñ‹Ð²Ð°ÐµÑ‚

/usr/bin/gtk-update-icon-cache --quiet --ignore-theme-index --remove-empty-cache "$SUBDIR"
lepton-eda-1.9.10/docs/wiki/geda-fedora_rpm_installation.html0000644000175000017500000001500513634703632021141 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

Installing gEDA rpm packages on Fedora

gEDA/gaf applications are available in the default Fedora repositories. The Fedora packages are maintained by Chitlesh Goorah.

Installing from Fedora repositories

It is recommended to install gEDA/gaf releases on Fedora using yum or pirut. Pirut (listed in the menu as “Add/Remove Softwareâ€) is a graphical interface for yum.

yum install geda\* pcb gerbv

Note: you have to be root (su -) to install packages.

Each gEDA/gaf release takes one to two days to be packaged up and synchronised with the Fedora mirrors. If a release seems to be missing, you could file a bug report (Request for Enhancement, RFE) on Fedora's bugzilla asking them to update gEDA/gaf for you.

You can follow:

Compile it yourself

If you want to get their hands dirty by building gEDA/gaf on Fedora, you will need to install the dependencies listed in the gEDA/gaf README file. They can be installed with yum:

yum install libstroke-devel groff autoconf gtk2-devel gd-devel gettext-devel guile-devel

Rebuild your own RPMs

The Fedora Project provides simple tools for anyone to rebuild RPMs from SRPMs. An SRPM contains the upstream sources, the spec file and the patches required (if any).

To be able to build RPMs, you will need a build platform, which does NOT require root access. rpmdevtools provides the requires tools to do so.

yum install rpmdevtools

Build Platform

The build platform should be built under a NON-root account.

fedora-buildrpmtree

You will see a rpmbuild folder in your $HOME directory. This directory will be your build platform.

How to get SRPMs

Fedora provides SRPM of every package it has. You can download those SRPMs using the yumdownloader tool from the yum-utils package.

yum install yum-utils

if you don't have yum-utils installed already.

Download the geda-gaf SRPM (under a NON-root account) using:

yumdownloader --source geda-gaf

Once the download is complete the package can be found under the current directory under the filename geda-gaf-%{version}-%{dist}.src.rpm, where %{version} is the current version of gEDA/gaf packaged by Fedora, and %{dist} is the current Fedora version. For example, the gEDA/gaf SRPM for Fedora 14 is called geda-gaf-1.6.1-1.fc14.src.rpm.

The spec file, upstream sources and distribution patches can be extracted from the SRPM using:

rpm -ivh geda-gaf-%{version}-%{dist}.src.rpm

(I remind you that this should never be executed as root!)

You will see

  • spec files will be installed in rpmbuild/SPECS
  • sources, patches and desktop files will be installed in rpmbuild/SOURCES

Building new RPMS from new sources

First:

  1. Download your new sources, as described in the previous section.
  2. Edit the rpmbuild/SPECS/%{name}.spec
    1. Edit version tag
    2. Edit release tag
  3. Make any other changes you require

Once the previous steps have been completed, you can compile the new RPMs.

cd $HOME/rpmbuild/SPECS/
rpmbuild -ba %{name}.spec

The successfully built RPMS will be found in $HOME/rpmbuild/RPMS/, and the corresponding SRPM in $HOME/rpmbuild/SRPMS.

lepton-eda-1.9.10/docs/wiki/geda-start.ru.html0000644000175000017500000000201013634703632016014 00000000000000 lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-editing_actions.ru.html0000644000175000017500000001630413634703632021774 00000000000000

ДейÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð°Ð²ÐºÐ¸

Ð”Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñхем и Ñимволов в оÑновном окне gschem иÑпользуютÑÑ Ð´ÐµÐ¹ÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð°Ð²ÐºÐ¸. Вызвать дейÑтвие правки можно одним из четырёх ÑпоÑобов: Ñ ÐºÐ»Ð°Ð²Ð¸Ð°Ñ‚ÑƒÑ€Ñ‹, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¾Ð´Ð½Ð¾ или неÑколько нажатий клавиш; из оÑновного меню; Ñ Ð¿Ð°Ð½ÐµÐ»Ð¸ инÑтрументов; из контекÑтного меню.

Многие дейÑÑ‚Ð²Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð°ÑŽÑ‚ Ñ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼ выделением. См. раздел Выделение объектов.

ЕÑли результат дейÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð°Ð²ÐºÐ¸ вам не нравитÑÑ, его можно отменить нажатием Ctrl+Z или Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Правка→Отменить [Edit→Undo]. Чтобы вернуть результаты отменённого дейÑтвиÑ, нажмите Ctrl+Y или выберите в меню Правка→Повторить [Edit→Redo].

ПривÑзки клавиш

Каждому дейÑтвию ÑоответÑтвует Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ Ð¿Ñ€Ð¸Ð²Ñзка клавиш (keybinding). ПривÑзка определÑетÑÑ Ð¿Ð¾ÑледовательноÑтью нажатий Ñочетаний клавиш. Ðапример, вызов документации gEDA оÑущеÑтвлÑетÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ привÑзки HM: нужно нажать Ñначала клавишу H, а затем M.

Иногда в привÑзки входÑÑ‚ клавиши-модификаторы. Ðапример, чтобы начать добавление «шин» в Ñхему, иÑпользуетÑÑ Ð¿Ñ€Ð¸Ð²Ñзка Shift+B: нужно нажать клавишу B, ÑƒÐ´ÐµÑ€Ð¶Ð¸Ð²Ð°Ñ Ð½Ð°Ð¶Ð°Ñ‚Ð¾Ð¹ одну из клавиш Shift на клавиатуре.

ЕÑли нажать Ñочетание клавиш, оно кратковременно отразитÑÑ Ð² Ñтроке ÑоÑтоÑÐ½Ð¸Ñ Ð¸ пропадёт, еÑли только оно не ÑвлÑетÑÑ Ð½Ð°Ñ‡Ð°Ð»Ð¾Ð¼ многоклавишной привÑзки, в Ñтом Ñлучае Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ñˆ будут отображатьÑÑ Ð² Ñтроке ÑоÑтоÑÐ½Ð¸Ñ Ð´Ð¾ Ð½Ð°Ð¶Ð°Ñ‚Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ клавиши. Ðапример, еÑли нажать H, в Ñтроке ÑоÑтоÑÐ½Ð¸Ñ Ð¿Ð¾ÑвитÑÑ Ð±ÑƒÐºÐ²Ð° «H». ЕÑли затем нажать M, чтобы открыть руководÑтво, в Ñтроке ÑоÑтоÑÐ½Ð¸Ñ ÐºÑ€Ð°Ñ‚ÐºÐ¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ отобразитÑÑ Â«H M», а затем Ñти буквы пропадут.

Ð’ окне «ГорÑчие клавиши» [«Hotkeys»] (доÑтупном из меню Справка→ГорÑчие клавиши [Help→Hotkeys…]) отображаютÑÑ Ð²Ñе текущие привÑзки клавиш и ÑвÑзанные Ñ Ð½Ð¸Ð¼Ð¸ дейÑтвиÑ. ПривÑзки клавиш легко изменить в файлах наÑтроек. Более подробную информацию об Ñтом Ñм. в разделе ÐаÑтройка gschem.

ОÑновное меню и панель инÑтрументов

Чтобы вызвать дейÑтвие из оÑновного меню или Ñ Ð¿Ð°Ð½ÐµÐ»Ð¸ инÑтрументов, нужно проÑто щёлкнуть по ÑоответÑтвующему Ñлементу левой кнопкой мыши. Обратите внимание, еÑли навеÑти курÑор мыши на одну из кнопок панели инÑтрументов, поÑвитÑÑ Ð¿Ð¾Ð´Ñказка по ÑоответÑтвующему инÑтрументу, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ð±Ð¾Ð»ÐµÐµ подробную информацию о дейÑтвии.

Ð’ каждом пункте оÑновного меню показана ÑÐºÐ²Ð¸Ð²Ð°Ð»ÐµÐ½Ñ‚Ð½Ð°Ñ ÐµÐ¼Ñƒ привÑзка клавиш. Это позволÑет изучать клавиши Ð´Ð»Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð° определённых дейÑтвий, не Ð¿Ñ€Ð¸Ð±ÐµÐ³Ð°Ñ ÐºÐ°Ð¶Ð´Ñ‹Ð¹ раз к окну «ГорÑчие клавиши».

КонтекÑтные меню

ЕÑли щёлкнуть в облаÑти Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñхемы оÑновного окна правой кнопкой мыши, поÑвитÑÑ ÐºÐ¾Ð½Ñ‚ÐµÐºÑтное меню. Данное меню Ñодержит неÑколько общеупотребительных дейÑтвий правки.

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-viewing_schematics.html0000644000175000017500000000722113634703632022055 00000000000000

Viewing schematics

When loaded, schematic and symbol pages are shown in the central schematic view area of the gschem main window.

Changing the view

There are several ways to change the view:

  • To pan the view, click and drag with the middle mouse button anywhere on the schematic, or use the cursor keys (⇦⇧⇨⇩). You can also press X to center the view on the mouse pointer.
  • To zoom in, press Z or scroll the mouse wheel upwards.
  • To zoom out, press Shift+Z or scroll the mouse wheel downwards.
  • To focus on a particular part of the design, press W to start drawing a box containing a region of interest. Then left-click with the mouse to expand that area to fill the view.

Zooming operations will always zoom towards or away from the current location of the mouse pointer.

You can also select View→Zoom Extents to set the view to show everything currently on the page, or View→Zoom Full to display the entire workspace.

Color maps

Colors of objects in a schematic or symbol are set using a limited color palette, with the various colors having particular meanings. For example, nets (which have electrical meaning) are drawn in a different color from lines (which are simply graphical). A color map is used to choose which color to draw a particular object in.

There are several color maps provided with gschem, and you can switch between them from the View menu. It is also possible to change the default color map or create your own. For more information, see Configuring gschem.

lepton-eda-1.9.10/docs/wiki/gschem-projects.html0000644000175000017500000002172713634703632016451 00000000000000

Gschem schematic capture tool

Libgeda API formalization

In this project, you would expand libgeda (if needed) to provide a complete enough guile interface to be able to do more complex database manipulations. One use would be to have a back annotation tool that used libgeda instead of relying on perl. The problem with perl is that you've involved Yet Another Gschem Parser. This actually may be combined with the previous project about rewriting the gnetlist internals.

Difficulty = 3

Show hidden attributes for selected components

In gschem, please add a why to show hidden text for just one symbol only. Currently [en] will show all the hidden text for all symbols and that makes a real visual mess. Implement this by just showing the hidden text for the currently selected symbols.

Difficulty = 1

Constant sized handles/grips

In gschem, the size of the handles for lines, nets, and objects scale with increasing zoom. Thus for small lines the handles overlap, and if I zoom in closely, it becomes very hard to pick the right object to manipulate. Please let the size of the handles be constant, regardless of the zoom factor. This is virtually how all vector graphics applications work.

Difficulty = 1

Automatically fill in global attributes in gschem

In gschem, implement a mechanism that would (when turned enabled) automatically fill in proper global attributes for the design. These attributes could be the date of the last modification, name of the project, author, number of sheets, etc…

Difficulty = 1 to 2

Improve error messages in gschem

Improve error messages in gschem when a rc file doesn't load correctly. Currently the error messages are cryptic and not useful at all. There are several other places in gschem where the error messages could be vastly improved.

Difficulty = 1

Global search and replace

Add a dialog box that lets you do a global search and replace. Currently you can do a find for a specific attribute, but several users have asked if gschem could also provide a way of doing a replace operation as well.

Difficulty = 1 to 2

Improved and formalized mechanism for forward/backward annotation

Add hooks into gschem needed to fully support things like backannotation of simulation results and click-to-plot results. Specifically, this would enable you to draw a schematic in gschem, then simulate it in ngspice without leaving gschem. The simulation plots would then appear in a graphical pop-up window.

Difficulty = 3

Visual feedback for attached attributes

In gschem, add some sort of visual feedback to tell the user which attribute is attached to which component. This would be useful since sometimes you move attributes/components around and things get a little bit separated distance wise.

Difficulty = 1 to 2

Schematic and symbol modes

Add schematic and symbol modes to gschem. Right now users can do invalid things like add a net or bus inside a symbol and gschem allows this quite happily. If there was a symbol mode that disallowed certain actions, then users will not be able to hurt themselves so easily when creating symbols. Like wise a schematic mode wouldn't allow certain operations (such as adding a pin).

Difficulty = 2 to 3

Movable symbol origin

Add the ability to move the origin of a symbol in gschem. Right now the origin is always at 0,0 and users have to translate the symbol to the origin. It would be nice if the origin was movable so that you wouldn't have to translate the symbol manually anymore. This would also allow the user to pick the insert point of the symbol when adding components to a schematic.

Difficulty = 2 to 3

Modify instantiated symbols in a schematic

Add the ability to move pins/attributes/whatever on instantiated components in a schematic. This one is quite tricky, but it would allow for various things that people have been requesting (this might be a good foundation for a greatly improved back annotation mechanism from PCB).

Difficulty = 3 to 4

Finer grid when moving attributes

In gschem, add a finer grid when moving attributes or text around.

Difficulty = 2

Add more toolbar buttons

Adding some more useful buttons to the gschem toolbar. Typical functionalities that gschem does not have on the toolbar:

  • Up/down schematic/symbol
  • Add various graphical objects (maybe make these only appear in symbol editing mode)
  • Edit component attributes
  • Copy/paste/delete
  • Page forward/back
  • Component mirror/rotate
  • Zoom in/out

It would be really nice if the toolbar buttons were configurable either on the fly or through an rc file.

Difficulty = 2 to 3

An Interactive Sub Sheet Generator

In gschem hierarchical design is accomplished by symbols in the top sheet that represent sub sheets. Currently these sub sheet symbols and the sub sheet itself have to be created manually. The purpose of this project is to design and implement an interactive generator of such symbols and sub sheets. It should work both strategies of hierachical design, bottom-up and top-down. Top-down refers to the case where the parent sheet is designed first and diverts into sub sheets. With bottom-up the sub sheets are designed first. The generator should accept user input on the number and the name of input and output signals. The generator may present a list of named net on the current sheet and let the user pick those that should link to the sub sheet. Power nets to be available on the sub sheet may be specified too. In case of a top-down approach the generator should additionally create a draft of the sub sheet with symbols for the in and out signals placed at some default position. The generator should integrate into the main GUI of gschem.

Some work has already been done to deal with the bottom-up case. See the bash script geda_sch2sym in the bug tracker. This may be used as a starting point. However, a restart from scratch would be welcome too.

Difficulty = 2

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-hierarchy.ru.html0000644000175000017500000001022413634703632020602 00000000000000

ИерархичеÑкие Ñхемы

Когда в проекте должно иÑпользоватьÑÑ Ð½ÐµÑколько одинаковых подÑхем, иногда может быть удобно начертить подÑхему отдельно, а затем проÑто неÑколько раз добавить её в проект. Таким образом ÑоздаётÑÑ Ð¸ÐµÑ€Ð°Ñ€Ñ…Ð¸Ñ‡ÐµÑÐºÐ°Ñ Ñтруктура Ñхем проекта.

ПоиÑк имеющихÑÑ Ð¿Ð¾Ð´Ñхем производитÑÑ Ð² библиотеке иÑходных данных. Символы «in-1» и «out-1» применÑÑŽÑ‚ÑÑ Ð² подÑхемах Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ñ‚Ð¾Ð³Ð¾, какие ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñледует Ñделать доÑтупными Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð· внешней Ñхемы, то еÑть той, в которую Ñти подÑхемы входÑÑ‚. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ подÑхемы должен быть Ñимвол, в котором в атрибутах «source=» указаны Ñтраницы Ñхем внутренних цепей подÑхемы.

ПодробноÑти о том, как наÑтроить пути поиÑка подÑхем Ð´Ð»Ñ gschem, Ñм. в разделе ÐаÑтройка gschem.

Чтобы добавить подÑхему в Ñхему, нужно, как и обычно, проÑто вÑтавить предÑтавлÑющий её Ñимвол в Ñхему как компонент. Ð’ подÑхемы, в Ñвою очередь, могут входить и другие подÑхемы!

Чтобы увидеть Ñхему внутренних цепей компонента подÑхемы, выделите его и в меню выберите ИерархиÑ→Войти в подÑхему [Hierarchy→Down Schematic]. Чтобы вернутьÑÑ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾ в иÑходную Ñхему поÑле Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð´Ñхемы, выберите ИерархиÑ→Ðаверх [Hierarchy→Up].

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-config.html0000644000175000017500000002055713634703632017456 00000000000000

Configuring gschem

gschem loads a series of configuration files at start-up, if they exist:

  1. The suite's system configuration file, called $PREFIX/share/gEDA/system-gafrc
  2. The suite's user configuration file, called $HOME/.gEDA/gafrc
  3. A gafrc in the current working directory.
  4. gschem's system configuration file, called $PREFIX/share/gEDA/system-gschemrc
  5. gschem's user configuration file, called $HOME/.gEDA/gschemrc
  6. A gschemrc in the current working directory.

$PREFIX denotes the base installation directory for gschem (/usr on most systems), and $HOME denotes your home directory.

These files are scripts written in Scheme, and they are executed using a Scheme interpreter. This means that you can use the configuration files as a way of customising and extending gschem (see also Extending gschem).

There are a very large number of options that affect the way gschem works, and only the most commonly-used are listed here. For a full list, see the system-gschemrc installed with gEDA.

Setting colors

gschem uses three different color maps. These are:

  1. Display color map — this is the normal color map used for displaying schematics in gschem.
  2. Display outline color map — this color map is used for objects that are being modified (e.g. during movement or during placement of objects pasted from the clipboard).
  3. Print color map — used during export to PostScript.

gschem is distributed with some full color maps, which are supplied as Scheme scripts. They can be loaded with load; for example, to load the default dark background color map, add the following to a configuration file:

(load (build-path geda-rc-path "gschem-colormap-darkbg"))

You can also set individual colors using the display-color-map, display-outline-color-map and print-color-map functions. For example, to set the display color for nets to a light blue, you could add the following to a configuration file:

(display-color-map '((net "#00ffff")))

Color settings should be placed in a gschem configuration file.

Key bindings

A gschem editing action can be bound to a keystroke or a sequence of keystrokes (a key sequence). The global-set-key function is used to modify keybindings.

Each keystroke is defined using a string consisting of a non-modifier key name, prefixed by zero or more modifiers surrounded by angle brackets (â€<†and â€>â€). The supported modifiers are <Control>, <Shift>, <Alt>, <Super>, <Hyper> and <Meta> (these are not available on all keyboards).

Although key bindings will be displayed in gschem using internationalised key names, you must use the English names in the configuration files.

A key sequence is a string containing two or more keystrokes separated by spaces.

Some examples:

  • To bind the “New Window†command to a typed F followed by an N:
    (global-set-key "F N" 'file-new-window)
  • To run the “Deselect All†command when the Ctrl and Shift keys are held down and an A is typed:
    (global-set-key "<Control><Shift>A" 'edit-deselect)
  • To display the “Snap Size†dialog box when O is typed, followed by S typed with the Shift key held down:
    (global-set-key "O <Shift>S" 'options-snapsize)

Key settings should be placed in a gschem configuration file.

Symbol and source libraries

The component-library function is used to add symbol libraries to the "Select Component..." window. A symbol library is a directory that contains symbol (â€.symâ€) files. To add a directory as a symbol library, add the following to your configuration file:

(component-library "/path/to/mysymbols")

You can optionally set a different name for the library as an additional argument to component-library:

(component-library "/path/to/mysymbols" "My Symbols")

To add all subdirectories of a particular directory as symbol libraries, use component-library-search:

(component-library-search "/path/to/mysymbollibs/")

This will (recursively) look for directories that contain symbols below the specified path, and add them to the “Select Component…†window.

To add a directory to be searched for subcircuit schematics, use the source-library function. This is similar to the component-library function, except that it does not accept an optional name argument.

Library settings should be placed in a gEDA/gaf suite configuration file, so that the symbol libraries are available to other gEDA tools (especially gnetlist).

lepton-eda-1.9.10/docs/wiki/geda-tragesym_tutorial.html0000644000175000017500000003267213634703632020031 00000000000000

Translations of this page are also available in the following languages: Français, РуÑÑкий.

Creating gschem symbols quickly and easily using tragesym and a spreadsheet program

Creating symbols for schematic capture can be very time consuming, error prone, and an all around pain. Luckily, gschem uses an open, text based file format that is very easy to use with scripting. This short tutorial describes how to use the tragesym script, to create symbols very quickly (probably more quickly than with any commercial package).

Required Steps

  • Step1: Open a tragesym template file
  • Step2: Download the part data sheet and find the pin list
  • Step3: Copy the pin list into an editor and prepare it
  • Step4: Insert all missing data into the spreadsheet
  • Step5: Export the spreadsheet into a tab separated text file
  • Step6: execute tragesym and create the symbol
  • Step7: check the result with gschem and do some artwork

Step1: Open a tragesym template file

tragesym comes with two template files. One is ASCII text, the second is a OpenOffice spreadsheet file. You can obtain them from the gEDA utility package, too (utils/examples/tragesym/template.src and utils/examples/tragesym/template.ods). If you prefer a different spreadsheet program, like gnumeric or kspread, just create your own template out of the textual template file. The only difference between the textual template and the spreadsheet template is the syntax of the key value pairs in the [options] and [geda_attr] sections. The textfile splits them with an equal sign (key=value), the spreadsheet has the value in the second column (which becomes a tab after being exported).

Step2: Download the part data sheet and find the pin list

For this example, we will create a symbol from the Philips Semiconductor PCA9555 16-bit IIC IO port. The description of product and datasheet is available at Philips: http://www-us.semiconductors.philips.com/cgi-bin/pldb/pip/pca9555.html. Download the datasheet and open it with a pdf viewer that allows copying text out of the pdf file, such as kpdf or acroread. Flip through the pages until you find the pinout for the device:

Inside the datasheet the pin list may only be in the drawing of the pin configuration. If there’s a nice table, like in the second picture from a different datasheet, use this one.

Step3: Copy the pin list into an editor and prepare it

Select the pin list and copy it into a text editor. This intermediate step is required as your spreadsheet program may need a special field separator, like comma or tab. You may have to remove duplicate separators or replace it with tabs.

Note: The selection behaviour of kpdf is different from the acroread viewer. The kpdf viewer seems to give you a copy that looks more like the graphical representation, while the acroread viewer produces an output that is more “file order†oriented. If you have to create a lot of symbols, try both and compare the results.

The pictures above illustrate the steps:

  • insert the selection from your pdf viewer into a text editor
  • modify the pinlist to make your spreadsheet program happy
    • cut out pinlist 24 to 13 with a rectangular selection
    • insert the rectangular selection below the pins 1 to 12
    • sort the lines (xemacs can do that ;-))
    • remove or repair the lines with the numbers 2,3,… They are not in the same line. You can easily recreate the pin numbers later
    • replace the spaces with tabs (not really need when using OpenOffice)
  • copy the modified data into the spreadsheet template somewhere beside

Step4: Insert all missing data into the spreadsheet

Now, move the labels into the label column and the pin numbers into the pin number column. You can use the autofill feature of your spreadsheet program to create the pin numbers, too.

Set the type, style and position column to the most common value. You can use the autofill feature again.

Now you want to change some of the values. Take a look at the pin description table in the datasheet:

Regarding to that table we change the following things (see result below):

  • Pin 1 is an output, we like to have a negation bubble and a negation overbar
  • A1 to A3 are inputs, we change the type and move them to the left side
  • set the SCL type to input and move SCL and SDA to the left side, too
  • change the type of the power pins VSS and VDD and add net names. We use the more usual GND and Vcc.

Note: If one of your pin labels has a backslash “\†inside, you have to replace it with it's escape sequence “\\â€.

Before going on set the attributes and the options to appropriate values.

Step5: Export the spreadsheet into a tab separated text file

You can either use the export function of your spreadsheet program to create a tab separated textfile or just select the table and copy the content into your text editor and save the file.

Step6: execute tragesym and create the symbol

Use a shell and execute tragesym:

werner@werner-amd64:~/Desktop/tragesym_tutorial> tragesym pca555.src pca555.sch

If tragesym says that there's an error, just make some changes in the spreadsheet and export the file again, or just edit the exported file.

Step7: check the result with gschem and do some artwork

Now open the generated symbol with gschem and check the result

werner@werner-amd64:~/Desktop/tragesym_tutorial> gschem pca555.sch

Enabling the hidden text (“enâ€, Edit→Show/Hide Inv Text), you can see the whole generated symbol. It's not really necessary to change anything, but it might improve the look of the symbol if you rearrange the pins a little bit.

Now we have a complete symbol. You can copy the symbol to your local symbol library e.g. /usr/local/share/gEDA/sym/local/ and use it.

Conclusion

This was a simple example with a small pincount, but this method really pays off when you have high pin counts (ie, bga-272, tfqp-100, etc).

Credits

Many thanks to <Russ.Dill(AT)asu.edu>, who wrote the first version of this tutorial. You can find that tutorial at http://www-mdp.eng.cam.ac.uk/web/CD/engapps/geda/geda-doc/tutorials/tragesym/tragesym.html

lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-running_gnetlist.html0000644000175000017500000000531213634703632022155 00000000000000

Running gnetlist

Are you looking for help with installing gEDA?

gnetlist has a command-line interface, and can be run using the gnetlist command in a terminal window. For example, a normal command to run gnetlist on a design in order to generate a list of components used might look like this:

gnetlist -g bom2 -o stepper.bom power-supply.sch motor-drive.sch

To run gnetlist, you will usually need to specify a list of schematic files to process; choose a netlist backend to use to generate the output; and provide the name of the output file in which to save the netlist.

gnetlist accepts a variety of optional arguments that can be used to alter its behaviour. They are also explained in the gnetlist manpage (which you can view by running man gnetlist).

lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-input_output_files.ru.html0000644000175000017500000001300113634703632023144 00000000000000

Входные и выходные файлы

gnetlist берёт один или неÑколько входных файлов Ñхем и выводит результат их обработки в виде ÑпиÑка Ñоединений.

Файлы Ñхем можно поÑмотреть и отредактировать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ редактора принципиальных Ñхем. ПодробноÑти об Ñтом Ñм. в РуководÑтве Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ gEDA gschem.

Файлы Ñхем

Ð’ файлы Ñхем добавлÑÑŽÑ‚ÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ñ‹, и каждый из них может быть либо предÑтавлением подÑхемы, которую нужно включить в проект, либо отдельного прибора или уÑтройÑтва, которое должно в нём иÑпользоватьÑÑ. У компонентов еÑть выводы, ÑвлÑющиеÑÑ Ð¿Ñ€ÐµÐ´Ñтавлением либо физичеÑких выводов Ñлектронных приборов, либо логичеÑких ÑвÑзей Ñ ÑлектричеÑкими ÑоединениÑми подÑхемы. Подключение компонентов в Ñхеме оÑущеÑтвлÑетÑÑ Ñ‡ÐµÑ€ÐµÐ· Ñоединение их выводов поÑредÑтвом Ñоединений или шин. Ð’Ñе указанные Ñлементы могут иметь отноÑÑщиеÑÑ Ðº ним атрибуты, определÑющие ÑпоÑоб их интерпретации программой gnetlist.

Входных файлов Ñхем можно задавать Ñколько угодно. Ð’Ñе они будут раÑÑматриватьÑÑ ÐºÐ°Ðº одно целое Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑпиÑка Ñоединений. Это даёт вам возможноÑть разделить Ñвою Ñхему на неÑколько лиÑтов, каждый из которых будет в отдельном файле, что может быть удобно Ð´Ð»Ñ Ð¾Ñ‡ÐµÐ½ÑŒ большого и Ñложного проекта. Ð’Ñе файлы Ñхем проекта перечиÑлÑÑŽÑ‚ÑÑ Ð² командной Ñтроке, например:

gnetlist power-supply.sch motor-drive.sch

ЕÑли у Ð²Ð°Ñ ÐµÑть Ñхема, Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° которой начинаетÑÑ Ñ Ð´ÐµÑ„Ð¸Ñа («-»), то поÑле любых других ключей, но перед перечнем входных файлов, необходимо добавить Ñпециальный ключ --. Это будет гарантией того, что ни одно из имён указанных вами файлов не будет неправильно интерпретировано и понÑто как ключ. Ðапример:

gnetlist -- -tricky-name.sch

Ð˜Ð¼Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла

По умолчанию gnetlist выводит Ñозданный ÑпиÑок Ñоединений в файл под именем «output.net». Ð”Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ имени файла можно иÑпользовать ключ -o. Ðапример, чтобы результат был выведен в файл «stepper.bom», нужно задать:

gnetlist -o stepper.bom
lepton-eda-1.9.10/docs/wiki/geda-icarus_anc.html0000644000175000017500000000720713634703632016356 00000000000000

Icarus Attribute Naming Conventions

ATTRIBUTE NAMING CONVENTIONS

Attributes that are specific to Icarus Verilog, and are intended to be
of use to programmers, start with the prefix "ivl_".

Attributes with the "_ivl_" prefix are set aside for internal
use. They may be generated internally by the compiler. They need not
be documented here.

ATTRIBUTES TO CONTROL SYNTHESIS

The following is a summary of Verilog attributes that Icarus Verilog
understands within Verilog source files to control synthesis
behavior. This section documents generic synthesis attributes. For
target specific attributes, see target specific documentation.

These attributes only effect the behavior of the synthesizer. For
example, the ivl_combinational will not generate an error message
if the Verilog is being compiled for simulation. (It may generate a
warning.)


* Attributes for "always" and "initial" statements

(* ivl_combinational *)

    This attribute tells the compiler that the statement models
    combinational logic. If the compiler finds that it cannot make
    combinational logic out of a marked always statement, it will
    report an error.

    This attribute can be used to prevent accidentally inferring
    latches or flip-flops where the user intended combinational
    logic.

(* ivl_synthesis_on *)

    This attribute tells the compiler that the marked always statement
    is synthesizable. The compiler will attempt to synthesize the
    code in the marked "always" statement. If it cannot in any way
    synthesize it, then it will report an error.

(* ivl_synthesis_off *)

    If this value is attached to an "always" statement, then the
    compiler will *not* synthesize the "always" statement. This can be
    used, for example, to mark embedded test bench code.


* Attributes for modules

(* ivl_synthesis_cell *)

    If this value is attached to a module during synthesis, that
    module will be considered a target architecture primitive, and
    its interior will not be synthesized further.  The module can
    therefore hold a model for simulation purposes.


* Attributes for signals (wire/reg/integer/tri/etc.)

(* PAD = "<pad assignment list>" *)

    If this attribute is attached to a signal that happens to be a
    root module port, then targets that support it will use the string
    value as a list of pin assignments for the port/signal. The format
    is a comma separated list of location tokens, with the format of
    the token itself defined by the back-end tools in use.

* Other Attributes

[ none defined yet ]


MISC

(* _ivl_schedule_push *)

    If this attribute is attached to a thread object (always or
    initial statement) then the vvp code generator will generate code
    that causes the scheduler to push this thread at compile time. The
    compiler may internally add this attribute to always statements if
    it detects that it is combinational. This helps resolve time-0
    races.
lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug.ru.html0000644000175000017500000001035313634703632017214 00000000000000

Это руководÑтво доÑтупно также на Ñледующих Ñзыках: English

РуководÑтво Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ gEDA gnetlist

The text of and illustrations in this document are licensed under a Creative Commons Attribution–Share Alike 3.0 Unported license (“CC-BY-SAâ€). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . The original authors of this document designate the gEDA Project as the “Attribution Party†for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.

Содержание

ПриложениÑ

lepton-eda-1.9.10/docs/wiki/geda-transistor_guide.html0000644000175000017500000003156413634703632017637 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

gschem Symbol and PCB Element Transistor Guide

The issue is how to manage a library of gschem transistor symbols and a library of PCB transistor elements such that we can be confident of correct pin number correspondence between the libraries. We need to understand how to handle the many permutations of emitter, base, and collector (e,b,c) pinouts and the variations of package number of pins and pin numbering. This doc shows the approach I've taken in my custom gschem symbols and PCB elements.

gschem symbols

There are a couple of ways to consider:

  1. Have a base set of gschem transistor symbols such as npn.sym, pnp.sym, fet.sym, etc. which have a fixed and arbitrarily assigned pin number for the emitter, base, and, collector. To accommodate the different permutations of (e,b,c) to pin numbers that exist for transistor packages, you would have to have a set of PCB elements for each transistor package like TO-92-123, TO-92-132, TO-92-213, TO-92-231, TO-92-312, TO-92-321, and similarly for TO-220, TO-5, etc. The problem with this is that manufacturers do specify pin numbers for their packages and we would be making many elements with pin numbers not corresponding to real packages. Remember, a PCB element on a PCB layout is supposed to correspond to a physical electronic component.
  2. Have a base set of gschem transistor symbols which spans the possible (e,b,c) permutations which can exist for any given transistor package. The set of gschem symbols for npn transistors would be npn-ebc.sym, npn-ecb.sym, npn-bec.sym, npn-bce.sym, npn-ceb.sym, and npn-cbe.sym. There would be similar sets for pnp transistors and FETs (fet-sdg.sym, fet-sgd.sym, …). Then there would be PCB elements only for actual physical transistor packages.

It makes sense to me to say the second approach is obviously better. Setting up the gschem symbols is simple enough, just create the six symbols for each transistor type with the pin numbers of the emitter, base, and collector corresponding to the sequence indicated in the name. For example, the symbol npn-ebc.sym would have an emitter pinnumber attribute of 1, a base pinnumber attribute of 2 and a collector pinnumber attribute of 3. Now you only need to make PCB elements with correctly numbered pins for transistor packages as you need them and you need to have a systematic approach for naming these elements.

PCB Elements

A point to keep in mind when looking at transistor package pin configurations and numbers is that a TO (Transistor Outline) designation is really only just that - a designation of a particular shaped and sized outline. It actually is not a specification of the pins coming out of that package. Manufacturers may have have a TO package designation qualified by their internal “case style†or “package number†code. This qualification determines the definition of the number of pins, the arrangement of the pins, and the pin numbering.

However, most TO packages do conform to a standard pin numbering convention and have a predominant number of pins and pin placement configuration. So it makes sense to have PCB elements with a particular TO name which can be used for a majority of cases. Then when a non conforming case is encountered, we can make a new TO element for it.

Here's a description of what seems to be the most common transistor outline configurations:

  • Power Transistors - Plastic: Look at the package front (where the lettering is) with the pins pointing down. The pins are numbered left to right (1,2,3). This is very common, so it makes sense to create initial sets of three pin PCB elements with this number order using base names such as TO-126, TO-220, TO-264, etc. For variations such as a five pin TO-220 package for a LM383, you could make a PCB element with its name qualified such as TO-220-5, or maybe TO-220-T05B if you wanted to qualify it with the National Semiconductor T05B package designation for their 5 pin TO-220 package.
  • Power Transistors - Metal: This would be the TO-3 package which can have from 2 to many pins. There is no index tab on the package so you need to look at a diagram of the pin out to see the pin numbering. The common 2 pin package could be named TO-3, and N pin packages with N > 2 could be named TO-3-N.
  • Small Signal Transistors - Metal: Look at the transistor bottom with the pins pointing at you. The pins are numbered clockwise from the index tab (1,2,3,…) Metal can packages such as TO-18, TO-39, or TO-72 will frequently have 3 or 4 pins, while the TO-5 may have 3, 4, 5, 6, 8, or 10 pins. Because of the variable pin numbers, you could, for example, name the PCB elements TO-18-3 and TO-18-4, or you could use TO-18 and TO-18-4 assuming that a three pin can is more common and thus earns the base TO-18 element name.
  • Small Signal Transistors - Plastic: Look at the transistor package flat side (where the lettering is) with the pins pointing down. Almost all packages where the three pins are in a straight line will have the left to right pin number ordering of (1,2,3) and these can be the base TO-92 PCB element. There are a very small number of cases where the pins will be in a straight line and numbered left to right (3,2,1). You could have a distinct PCB element for these, but you could also decide to ignore the manufacturer's pin numbering and pretend it's the more common (1,2,3). However, if the package has the middle pin offset so the pins are in a triangular arrangement, the pin number ordering will frequently be (3,2,1) and this will possibly require a custom PCB element. But see my comments about my TO-92o element below.
  • Surface Mount Transistors: The SOT (Small Outline Transistor) packages are much more standard than the TO packages and the pins are consistently numbered counterclockwise from the top left as are IC packages. But for a transistor that has a TO and a SOT version, you can't simply change the footprint attribute on the schematic because the package pin numbers don't map the same to the emitter, base, and collector. You need a separate gschem symbol for them. For example: 2N3904.sym for the TO and MMBT3904.sym for the SOT.

General Procedure

The process of using a transistor for the first time in a gschem to PCB design takes these steps (2N3904 used as an example):

  1. Most transistor spec sheets can be found in pdf format on the web, so get one and determine the case style and pin name and number ordering. For the 2N3904 the case style is TO-92, the pin number order left to right is (1,2,3), and the pin name order left to right is (e,b,c).
  2. If we have a PCB element in our library for that case style with the correct pin number order, use it. If not, make a new PCB element. For the 2N3904, I have a TO-92 element in my custom library that has the pin number order of (1,2,3), so I can use it.
  3. Copy the gschem transistor symbol corresponding to the pin name order to a new transistor symbol name. For the 2N3904 example, the pin name order is (e,b,c) so copy the base symbol npn-ebc.sym into 2N3904.sym.
  4. Edit the new symbol and change the value attribute to the transistor name and the footprint attribute to the right PCB element. For our example, this would be 2N3904 and TO-92.

Special Cases

  1. I have in my library a TO-92o PCB element which has the middle pin offset so the pins are in a triangular arrangement. This element has the left to right pin number order of (1,2,3) and can be used in place of the TO-92 for layout considerations. You only have to slightly bend the middle pin of the transistor when installing it.
  2. The BC546 transistor spec sheet shows its pin number order to be (1,2,3) in a straight line and the pin name order to be (c,b,e). But I've seen this transistor shipped from the factory with the middle pin prebent into the offset configuration. For this transistor, you would create the gschem symbol from npn-cbe.sym as expected but use the PCB element TO-92o.
  3. The BF240 transistor spec sheet shows its pin number order to be left to right (3,2,1) in a straight line and the pin name order would be left to right (c,e,b). If you made a new PCB element with pins numbered (3,2,1), then you would have to create the gschem BF240.sym from npn-bec.sym because pin 1 on the PCB element has to correspond to pin 1 on the gschem symbol. But it would be easier to just ignore this uncommon pin numbering and assume the transistor pins are actually numbered the standard left to right (1,2,3). Then you could use the existing TO-92 PCB element and create the gschem symbol using npn-ceb.sym. Some transistor spec sheets give the pin name order and do not give a pin number order, and for these you just make the same assumption that the pins are numbered left to right (1,2,3).
  4. In the second case above, the transistor had an offset pin 2 when the spec sheet showed the pins in a straight line, and the pin numbers on the spec sheet were ordered left to right (1,2,3). But many transistors have the offset pin 2 indicated on the the spec sheet and the pin numbers are ordered left to right (3,2,1). You could use an element such as my TO-92o by ignoring the spec sheet ordering as I suggested in case 3. But this configuration is much more common than the BF240 example so you might want to have a distinct PCB element for it with pins numbered to match the spec sheet.

tutorial by Bill Wilson (billw–at–gkrellm.net)

lepton-eda-1.9.10/docs/wiki/geda-icarus.html0000644000175000017500000000730213634703632015531 00000000000000 lepton-eda-1.9.10/docs/wiki/geda-gaf.html0000644000175000017500000003256413634703632015010 00000000000000

gEDA/gaf

Here is a list of programs, libraries and other things that are part of gEDA/gaf (gschem and friends).

Schematic capture

gschem(1) is the schematic capture program/tool which is part of gEDA. Its sole purpose is to facilitate the graphical input of components/circuits. See the gschem User Guide for more information on the program.

Netlisting

gnetlist(1) is a netlist generation program. It takes as input gEDA/gaf .sch (schematic) files and the required .sym (symbol) files and converts them into netlists. See the gnetlist User Guide for more information on the program.

Attribute editing

gattrib(1) is gEDA's attribute editor. It reads a set of gschem .sch files (schematic files), and creates a spreadsheet showing all components in rows, with the associated component attributes listed in the columns.

See also the Master Attributes List document for more information on attributes used in gEDA/gaf.

Utilities

There are many utilities included as part of gEDA/gaf. See their manual pages and READMEs in the source distribution for more information on them:

  • gaf(1) is a multipurpose command line utility implementing setting up the above programs, exporting schematics and symbols into various formats, and shell for command line processing of their data. See also this page on the utility.

Utilities for schematics

  • refdes_renum(1) is a utility for renumbering reference designators in gschem schematic files.
  • grenum(1) is an advanced refdes renumber utility.
  • garchive(1) is a utility written in Python used to create and extract gEDA design archives. In archive mode it creates a project archive from a bunch of project files, and in extract mode it extracts the files from the archive and places them in the local directory.
  • gschlas(1) is a utility which can embed the in-use schematic symbols and pictures into a schematic or set of schematics to put them, for instance, on a website or in an email without the recipient needing to download lots of custom symbols for the design. It can also unembed symbol references from a schematic.

Utilities for symbols

  • gsymcheck(1) is the symbol checker for the gEDA/gaf system. Give it a symbol file and it will go through and verify that the symbol will work in gschem and friends.
  • gsymfix(1) is the utility to automatically fix common cut-and-paste issues with gEDA symbols and fix up the symbols so that they will pass gsymcheck with no errors or warnings.
  • gmk_sym(1) is a program to create rectangular symbols for gschem from a file composed of comma separated lines.
  • tragesym(1) is a small python script that creates gschem symbols out of structured textfiles. The aim of this script is to make it easier (and faster) to create symbols for gschem. See the tragesym tutorial and README in the distribution.

Tools to facilitate netlisting

  • gsch2pcb(1) is a frontend to gnetlist(1) which aids in creating and updating pcb(1) printed circuit board layouts based on a set of electronic schematics created with gschem(1). See also Bill Wilson's gsch2pcb tutorial. Modern pcb also has an import function which uses import from gnetlist directly.
  • gnet_hier_verilog.sh(1) is a simple shell script which gathers hierarchical information from a list of unique symbols/schematics originating from the top level schematic and produces a hierarchical Verilog netlist in a single file.

Utilities for printing and graphical output

  • schdiff(1) is a graphical diff tool for gschem(1) schematics. It uses ImageMagick(1) and is most useful when combined with a revision control system (such as Git, Mercurial, and Subversion) so it can compare two revisions of the same file, review changes, etc.
  • gpstoimage is a shell script that creates GIFs from PS files created by gschem using gs and ppmtogif. It has no documentation and is obsoleted by new gaf(1) and gschem(1) printing capabilities.

Format conversion tools

  • convert_sym(1) converts a Viewlogic symbol/schematic to gEDA gschem format; there is also convert_sym.awk with almost the same functionality.
  • smash_megafile(1) is a utility that takes a Viewlogic megafile and extracts its contents into a directory, where each element of the library will be represented with one file.
  • olib(1) is a simple automated converter from OrCAD v4 ASCII parts library to gEDA symbols.
  • Sarlacc is an OrCAD to gEDA format converter. It consists of sarlacc_schem(1) and sarlacc_sym(1). The first utility written in C converts OrCAD schematic files (in 16-bit format) to gEDA format. The second is a Perl script which converts OrCAD text libraries to gEDA components.

Tools for interaction with other programs

  • gxyrs(1) is a program written in Perl to batch process XYRS files. XYRS files are usually generated by PCB design programs, and are used by board assemblers.
  • sw2asc(1) is a utility which converts a SWITCAP2 output file into ASCII data files that other tools can read. See the gEDA/gaf Switcap Symbols and Netlister for more information on the program.
  • pads_backannotate(1) is a Perl program which backannotates changes from Pads PowerPCB board layouts to gschem(1) schematics. See the Forward/Backward Annotation Between gEDA and Pads PowerPCB document for more information.
  • pcb_backannotate(1) is a program written in Perl which reads an engineering change order (ECO) files generated by the PCB program and backannotates the requested changes to a gschem(1) schematics. See the PCB manual for a complete description of the ECO file format.

Update utilities

These are utilities for schematics and symbols for support of old schematic file formats:

  • gschupdate and gsymupdate are programs written in Perl which update attributes in schematics and symbols of version 20020527 or earlier to use them in modern gschem; they are documented briefly in the source code.

Symbols

Symbols (on a schematic) are an abstract representation of the physical components used in electronic circuits. Initial gEDA installation provides you with default symbols contributed by many users. See also the gEDA/gaf Symbol Creation document on how to create your own symbols and http://gedasymbols.org to find already available symbols shared by other gEDA users.

Libraries

  • libgeda is a main gEDA library of functions for manipulating gEDA schematics and symbols which is used by many of the above mentioned programs and utilities. See the gEDA Scheme Reference Manual (info geda-scheme) for more information on the library.
  • libgedacairo is a library which provides a renderer for schematics and symbols based on the Cairo vector graphics library and the Pango font library. Data for rendering is loaded using libgeda. See the libgedacairo/README in the gEDA/gaf distribution for more information.

Examples and other documentation

gEDA/gaf contains some examples and other documentation which can be found in the documentation installation directory of your distribution.

lepton-eda-1.9.10/docs/wiki/gsoc2007_projects.html0000644000175000017500000007515513634703632016535 00000000000000

gEDA GSoC Project Ideas

This page contains various ideas for projects. You can use these as fodder for creating your application to Google. Also, if you have your own idea, feel free to share it with the gEDA developers – they might like it more than any project on this list!

Note that some of these projects are too small by themselves to be stand-alone projects. The Summer of Code program is a 3 month program, and you're supposed to treat your project as a full-time job. Applicants should keep that in mind and possibly combine ideas from different projects if one suggested project is too small. To help you, I have graded each project on a scale of 1 to 5, where 1 = too small for a full summer, 3 = roughly enough for a full summer, and 5 = way too large for a full summer. Of course, what takes one programmer one week might take another six months, so any judgement is subjective. However, you can use these ratings to help you figure out which project is the right one for you.

The vast majority of gEDA Suite programs are written in either C or C++. However, a whole range of scripting languages are used including scheme (guile), perl, python, bourne shell, tcl/tk, and others. GUI toolkit use is also fairly broad including GTK+ (this is the primary toolkit of most of the programs), Lesstif, WxWidgets, and others. We are pretty much open to using most languages or GUI toolkits for new programs, however some of the projects listed below will require knowledge of a specific language and/or GUI toolkit (as they are well established programs).

Please visit the gEDA Project's main GSoC page for more info (including contact information).

Project manager

gEDA needs a new, top-level project manager. Using this tool, A user would type “geda†at the command line (or push a button on his desktop manager), and this program would start a GUI which would provide easy, user-friendly access to all design tools. The project manager would implement (at least) the following functionalities:

  • Menu items or buttons to run various gEDA programs like gschem, gattrib, gsch2pcb, PCB, gerbv, ngspice, Gnucap, etc.
  • Manage resource files (i.e. the project manager allows you to edit and write gafrc, gsch2pcb project file, spinit, etc.
  • Enable creation of project archives – i.e. using garchive, but using an intelligent method to gather & archive the symbols & footprints used in the project.
  • Perhaps implement some type of lockfiles, or at least some enforcement of the design flow (good for newbies).

Since the project manager is the first program seen by many new users, this program needs a high degree of polish, and should enforce good design practice without getting in the user's way too much.

Difficulty = 4

Improve handling of non-copper layers in pcb

PCB's support for non-copper layers needs improvement. In this project, you would add support for more easily-editable non-copper layers. These non-copper layers would be used for things like keepout regions, assembly drawing, and an actual board outline layer that is not just a copper layer. For more thoughts on the issue of layers in PCB, please see database.txt and keepouts.txt

Difficulty = 2

Gerber to PCB converter

In this project, the student would create a program which reads a Gerber file, and creates an output file which is a metal layer or footprint editable by PCB. This might be a Perl or Python script. Such a program is very desirable since it gives users the ability to edit legacy designs – i.e. those for which they only have Gerbers.

Difficulty = 3

Usability improvements for ngspice/Gnucap

Ngspice and Gnucap are the gEDA Project's analog circuit simulators. They are both command-line tools, meaning that you type commands into a shell-like program at a prompt. However, some popular commercial simulators support easy simulation and analysis directly from within a schematic capture GUI. This method of working is particularly well suited to newbies.

A new user would like to do the following things inside gschem:

  • Specify what kinds of simulations should be run
  • Specify which voltages and currents should be plotted
  • Start the simulation

The simulation runs and the postprocessing may be in an extra program that is triggered by IPC. More thoughts about the project have been entered by Werner Hoch on the gEDA Wiki.

This project involves tightening the link between gschem and the back-end simulation programs. This might be done using some type of IPC, such as DBUS. Indeed, a preliminary DBUS implementation for gschem ↔ PCB already exists; the student might leverage the DBUS work for this project.

Difficulty = 3

Parts manager

In this project, you would create a parts manager that takes a graphical symbol and a physical footprint, and marries the two to produce a heavy part. In addition, this tool should be able to support multiple backend flows. By this I mean that the parts manager should be able to also indicate how the symbol should be netlisted for spice, gnucap, or other backends. If possible it would be nice to integrate this into gschem in a way that allowed symbols to be placed and the footprint attribute to come up with a list of choices.

Another possible direction for improved parts management is to create a program like gattrib (or perhaps just re-use gattrib) which reads a bunch of .sch files, and also interfaces to an SQL database holding all info about parts (including spice models, footprints, .pdf datasheets, etc) . The program would then allow users to perform database searches for footprints and other attributes stored as columns in the database.

Difficulty = 4

Gnetlist/gnetman support for hierarchy

The goal of this project is to create a scalable, professional-grade netlister. The project might involve re-writing gnetlist to enable hierarchical designs, or might involve upgrading “gnetman†to incorporate scripted back-ends. The upgrade would be done with an eye towards scalability. Ideally, highly capable and efficient internal data structures and methods for accessing the netlist database should be used. Then a scheme/guile API provided for an external script engine. (It may be beneficial to use swig to allow easy interfacing to multiple scripting languages.) The idea is to produce a netlister capable of handling large, hierarchical designs while still allowing users to write their own netlisters for their favorite netlist format (as gnetlist does now).

Gnetman is probably the logical starting point since the database was designed by someone with a lot of experience in EDA, and it uses datadraw which is a proven high power CASE tool. However, the student may take whatever approach he wishes, but should provide a strong argument that his approach makes sense before starting coding. In any event, It will be important to provide a compatibility API for the existing backends while providing a more high power and flexible API for new backends and improvements of the old ones.

Difficulty = 3

Libgeda API formalization

In this project, you would expand libgeda (if needed) to provide a complete enough guile interface to be able to do more complex database manipulations. One use would be to have a back annotation tool that used libgeda instead of relying on perl. The problem with perl is that you've involved Yet Another Gschem Parser. This actually may be combined with the previous project about rewriting the gnetlist internals.

Difficulty = 3

Recently loaded file list for gschem and/or pcb

Presently gschem and pcb do not present a list of recently loaded files in the file menu. It would be nice if gschem and/or pcb kept track of the last few files a user loaded. This is a common feature found in other programs.

Difficulty = 1

Remember dialog size and positions

gschem and pcb dialogs should remember their size and position. Currently they do not remember anything about their position and size and several users have complained since they have to reposition and/or resize the dialog boxes every time they are opened..

Difficulty = 1

Show hidden attributes for selected components

In gschem, please add a why to show hidden text for just one symbol only. Currently [en] will show all the hidden text for all symbols and that makes a real visual mess. Implement this by just showing the hidden text for the currently selected symbols.

Difficulty = 1

Constant sized handles/grips

In gschem, the size of the handles for lines, nets, and objects scale with increasing zoom. Thus for small lines the handles overlap, and if I zoom in closely, it becomes very hard to pick the right object to manipulate. Please let the size of the handles be constant, regardless of the zoom factor. This is virtually how all vector graphics applications work.

Difficulty = 1

Automatically fill in global attributes in gschem

In gschem, implement a mechanism that would (when turned enabled) automatically fill in proper global attributes for the design. These attributes could be the date of the last modification, name of the project, author, number of sheets, etc…

Difficulty = 1 to 2

Visual feedback when pressing keyboard accelerators

In gschem, please give some feedback when a user presses one of the keyboard accelerator keys. Currently gschem allows for multiple key presses to represent a single command. Sometimes it is hard to remember which one you have pressed. Maybe a little area in the status bar can output this information.

Difficulty = 1

Improve error messages in gschem

Improve error messages in gschem when a rc file doesn't load correctly. Currently the error messages are cryptic and not useful at all. There are several other places in gschem where the error messages could be vastly improved.

Difficulty = 1

Global search and replace

Add a dialog box that lets you do a global search and replace. Currently you can do a find for a specific attribute, but several users have asked if gschem could also provide a way of doing a replace operation as well.

Difficulty = 1 to 2

Visual feedback for attached attributes

In gschem, add some sort of visual feedback to tell the user which attribute is attached to which component. This would be useful since sometimes you move attributes/components around and things get a little bit separated distance wise.

Difficulty = 1 to 2

Schematic and symbol modes

Add schematic and symbol modes to gschem. Right now users can do invalid things like add a net or bus inside a symbol and gschem allows this quite happily. If there was a symbol mode that disallowed certain actions, then users will not be able to hurt themselves so easily when creating symbols. Like wise a schematic mode wouldn't allow certain operations (such as adding a pin).

Difficulty = 2 to 3

Movable symbol origin

Add the ability to move the origin of a symbol in gschem. Right now the origin is always at 0,0 and users have to translate the symbol to the origin. It would be nice if the origin was movable so that you wouldn't have to translate the symbol manually anymore. This would also allow the user to pick the insert point of the symbol when adding components to a schematic.

Difficulty = 2 to 3

Modify instantiated symbols in a schematic

Add the ability to move pins/attributes/whatever on instantiated components in a schematic. This one is quite tricky, but it would allow for various things that people have been requesting (this might be a good foundation for a greatly improved back annotation mechanism from PCB).

Difficulty = 3 to 4

Finer grid when moving attributes

In gschem, add a finer grid when moving attributes or text around.

Difficulty = 2

Frequently used symbols sidebar

Add a frequently used symbols sidebar to gschem that is dynamically loaded and/or can be preloaded from an rc file. Several people have asked for this since using the component selection dialog box can be time consuming for recently used/needed components. This is a GUI heavy project idea.

Difficulty = 3

Add more toolbar buttons

Adding some more useful buttons to the gschem toolbar. Typical functionalities that gschem does not have on the toolbar:

  • Up/down schematic/symbol
  • Add various graphical objects (maybe make these only appear in symbol editing mode)
  • Edit component attributes
  • Copy/paste/delete
  • Page forward/back
  • Component mirror/rotate
  • Zoom in/out

It would be really nice if the toolbar buttons were configurable either on the fly or through an rc file.

Difficulty = 2 to 3

Filled polygon object

Adding a filled polygon graphical object type to the gschem symbol file format and, of course, gschem would be a nice project. This would be useful for filled arrows (transistors) and a filled triangle for diodes.

Difficulty = 2 to 3

Fix gEDA/gaf bugs and/or implement feature requests

There are several bugs listed at the gEDA/gaf bug tracker and feature request at the gEDA/gaf feature request tracker that could potentially make good student projects. Some of the bugs/feature requests are quite feasible to finish in one summer, while others are way beyond what is possible to finish in one summer. However some of the bugs/feature requests are trivial to implement, so several might need to be combined together to fill up the entire summer.

There are other bug/feature request trackers for the other gEDA affiliated programs (such as PCB or Icarus Verilog) that contain possible project ideas as well. Selecting bugs or features requests to work on from any of the trackers needs to be approved and agreed upon by the appropriate mentor(s) to make sure it is appropriate, feasible, or even fixable.

Difficulty = various

Make gsch2pcb use same search paths as PCB

Gsch2pcb is a key program in the gEDA Suite. It made it relatively easy to take a schematic drawn using gschem and prepare it for layout using PCB. It has played an important role in popularizing gEDA for PCB design amongst students and hobbyists. However, it has a flaw: It uses footprint search paths which can be different from those in PCB. Users are sometimes perplexed that they can see footprints in PCB, but gsch2pcb claims it can't find them. Or gsch2pcb gives them footprints different from the ones they expect to see based upon a footprint search using PCB. In addition, gsch2pcb needs to be able to parse the PCB .pcb files directly. This means many file format changes trigger a required update to gsch2pcb.

It would be more preferable for gsch2pcb to be able to query PCB through a well defined and stable API to find out the information it needs. In addition, rather than trying to duplicate PCB's mechanism for creating a new board and locating footprints, gsch2pcb should simply instruct PCB to peform these operations. The goal is to provide a stable interface between the tools and impose appropriate abstraction barriers in between.

Difficulty = 2

Verilog/VHDL code generator[s] for Icarus Verilog

A Verilog code generator targets to emit simplified Verilog code. This has use as a Verilog “reducer†(or obfuscator) to translate verilog to more simplified forms. It can also be used to support other Verilog run time engines.

A variant of this is to generate VHDL, and thus get a VHDL translation from the Verilog input.

This task remains pretty clear of the core Icarus Verilog compiler and just works with loadable code generators. SDF Parser/Annotator for Icarus Verilog

SDF parser to parse SDF files generated by typical SDF sources such as Xilinx ISE. It should be possible to invoke this from an $sdf_annotate system task and match paths with the specify paths actually available (via vpi) in the design.

The specify paths are now available in the vvp run time, some work is needed to offer up the VPI objects that an SDF annotator needs.

This task can mostly be done in C and loaded as a VPI module. There is some work needed in the vvp run time engine to make the paths available to VPI modules, though. Macros with Arguments

The Icarus Verilog preprocessor currently does not support macros with arguments. A good task would be to add support for arguments. This task would work entirely within the ivlpp program that does the preprocessing for the ivl core. It is written in C and bison and would be a good task for someone not an expert in Verilog or EE in general. Upgrading/resurrecting the analog waveform viewer “gwaveâ€

In this project, you would work on improving and modernizing the analog waveform viewer “gwaveâ€. Several improvements are desirable, including (but not limited to):

  • Remove requirement for guile-gtk (which is basically dead I as far as I can tell).
  • Adding support for hdf5 (as a way to help move towards a better than ascii format that is non proprietary).
  • Add a waveform calculator that lets you do things like add waveforms, do fft's, etc.
  • Provide a way for the tool to be easily extensible by the user. Some examples are custom grid lines (smith, nichols, polar, etc), custom cursor functions (smith, nichols, etc), and complex measurement and waveform processing functions.
  • Support for digital as well as analog signals. For example you may have a digital bus present in a mixed signal circuit and would like to plot the value on the bus as simply a digital transition diagram with annotated bus values, or you may wish to plot the bus value as a quantized value.

Note that the gEDA Project needs a gwave mentor.

Difficulty = 3

Create comprehensive test suite for entire gEDA Suite

This project encompasses the functionality of the entire gEDA PCB design flow. You would develop a test framework for as much of these tools as possible. This likely means creating a large regression test suite. Some examples are sets of layouts (using PCB) that just barely pass and just barely fail each of the different DRC checks, generate BOM's, x-y files, generate gerbers and maybe use gerbv to do a graphical xor against a “golden†file. For gnetlist, reference netlists that have been placed into some canonical form should be generated from gschem schematics (.sch files).

This project should be fun for a hardware hacker, since it would involve creating all kinds of strange circuit designs, and you would learn the detailed ins-and-outs of all tools in the gEDA Suite!

Difficulty = 3

Revive TCLSpice, add return code to analysis

TCLSpice is a version of ngspice (the classic analog simulation program) in which the SPICE commands and cards have been exported to TCL. The idea is that you can then write a scripted SPICE analysis using TCL, a feature which is extremely valuable for performing circuit optimizations, repeated circuit simulations for Monte Carlo or corner-case evaluation, and so on.

A problem with TCLSpice is that the internal data structures do not provide return codes when called, so it is impossible to see if an analysis has run successfully or now. In this project, the student would fix tclspice so that every analysis would provide a return code reporting success or failure.

Difficulty = 4

PCB DRC interface improvements

Improve the DRC interface for PCB. Perhaps have a DRC layer that gets generated when you run DRC. Then you could have an interface that lets you step through them and see on that layer, exactly what failed. Maybe this could be combined with making the DRC checks more unit testable.

Difficulty = 2

Add enhancements to gerbv.

Gerbv is gEDA's Gerber viewer. It is a good tool for inspecting Gerbers. Adding a different pop-up box displaying the properties of objects you click on (i.e. round pad diameters, track widths, etc.) would be invaluable.

Difficulty = ?

PCB Autorouter

PCB currently incorporates a simple autorouter. However, a topological autorouter would represent a significant improvement over the existing autorouter. In this ambitious project, the student would create a topological autorouter for PCB.

Difficulty = 5

Improved and formalized mechanism for forward/backward annotation

Add hooks into gschem needed to fully support things like backannotation of simulation results and click-to-plot results. Specifically, this would enable you to draw a schematic in gschem, then simulate it in ngspice without leaving gschem. The simulation plots would then appear in a graphical pop-up window.

Difficulty = 3

IPC Footprint Calculator

Build a footprint calculator that can take the IPC rules and produce a pcb footprint. Preferably write this in a way where the core program is independent of a gui so that you can script it for generating entire large families of footprints or hook it up to a GUI of choice (lesstif, gtk, maybe even cgi). Would require the purchase of IPC-7351 (approximately U.S.A. $100)and verifying that one is allowed to produce such a calculator.

Difficulty = 2

lepton-eda-1.9.10/docs/wiki/geda-style_guide.html0000644000175000017500000002762613634703632016573 00000000000000

Style Guide

This is definitely a work in progress.

All documentation is eventually going to be made available as both HTML and PDF.
The problem is to convert the gEDA wiki's Dokuwiki-pages (i.e., XHTML) into a format that can be converted into PDF.
The ideal path would be to use the pavuk application to mine the gEDA wiki, converting the XHTML wiki-pages into HTML pages, and then use the HTMLDOC application to convert the HTML pages to PDF.

Downloading/Installing pavuk

pavuk is a function-testing, performance-measuring, site-mirroring, web spider that is widely portable and capable of using scenarios to process a wide range of web transactions, including ssl and forms.
pavuk is hosted on SourceForge at http://sourceforge.net/projects/pavuk. Simply check if your distribution already includes the latest version of pavuk (pavuk-0.9.34 used for the current wiki), and download/install if necessary.
pavuk comes as an RPM, a tar-ball, and a compressed tar-ball. Don't install from the RPM, as this uses dated library dependencies and may not build on newer distributions.
pavuk has both a command-line interface and a GUI interface.

Downloading/Installing HTMLDOC

HTMLDOC converts HTML files and web pages into indexed HTML, PostScript, and PDF files suitable for on-line viewing and printing.
HTMLDOC is hosted at http://www.easysw.com/htmldoc/, and may be downloaded/installed under the open-source license for non-commercial applications. Simply check if you distribution already includes HTMLDOC version htmldoc-1.8-27 or later, and install as appropriate. Note that RPM distributions are available, so that your normal package install/update utilities may already contain HTMLDOC (e.g., htmldoc-1.8.27 is in Fedora Core 4 extras repository and may be installed using yum).
HTMLDOC version htmldoc-1.8.26 is broken, it will not generate appropriate PDF documents.
Note one limitation of HTMLDOC. It is based on HTML 3.o, not HTML 4.01. Many HTML 4.01 tags are not recognized by HTMLDOC.
HTMLDOC is both a GUI application and a command-line application. Use it as you feel most comfortable.

For both existing and new documents

The following are meant to stimulate discussion on document style:

  1. Consider that the document may be exported for inclusion in tool manuals as XHTML and/or PDF. Examples:
    • http://www.geda-project.org/wiki/?do=export_raw will generate the gEDA Project Wiki's start page as plain text.
    • http://www.geda-project.org/wiki/?do=export_xhtml will generate the gEDA Project Wiki's start page as valid XHTML. Simply use your browser to “Save Page As…â€, and name the file {filename}.html. Note that the URLs in this file are NOT relative to this file, but are as they would be found on the gEDA Project Wiki.
    • http://www.geda-project.org/wiki/?do=export_xhtmlbody will generate the gEDA Project Wiki's start page as valid rendered XHTML. Simply use your browser to “Save Page As…â€, and name the file {filename}.html. Note that the URLs in this file are NOT relative to this file, but are as they would be found on the gEDA Project Wiki.
    • The following sequence of commands will retreive a gEDA Project Wiki page (for a list of the gEDA Project Wiki's pages, use the Index button at the bottom of the page) from the “geda†namespace (when new wiki-pages are created, we explicitly create them in the “geda†namespace) and convert that page into a PDF document:
      % wget --convert-links -O {page-name}.wget %%"http://www.geda-project.org/wiki/geda:{page-name}?do=export_html"%%
      % sed -e 's/\&amp;/\&/g' {page-name}.wget > {page-name}.sed
      % iconv -f utf-8 -t iso-8859-1 {page-name}.sed > {page-name}.iconv
      % htmldoc {page-name}.iconv -t pdf14 --webpage --no-title --linkstyle underline --size letter --left 1.00in \\
        --right 0.50in --top 0.50in --bottom 0.50in --header .t. --footer . --nup 1 --tocheader .t. --tocfooter ..i \\
        --portrait --color --no-pscommands --no-xrxcomments --compression=1 --jpeg=0 --fontsize 11.0 --fontspacing 1.2 \\
        --headingfont Helvetica --bodyfont Times --headfootsize 11.0 --headfootfont Helvetica --charset iso-8859-1 \\
        --links --no-embedfonts --pagemode document --pagelayout single --firstpage p1 --pageeffect none \\
        --pageduration 10 --effectduration 1.0 --no-encryption --permissions all --owner-password ""
        --user-password "" --browserwidth 680 -f {page-name}.pdf


      where {page-name} is the wiki's page name as seen in the upper-left corner of the wiki.

For example, you would replace {page-name} above with the following for the related wiki-page:

A sample script [FIXME] to convert a single wiki-page into a PDF document.
A sample script [FIXME] to convert multiple wiki-pages into a single PDF document.

An example of the current (as of 08 May 2006) version of the Wiki, converted to PDF[FIXME: broken link].

For new documents:

The following are meant to stimulate discussion on document style:

  1. You must “own†all content in the document. If you do not “own†the content, you must get explicit permission from the “owner†to copy the content to the gEDA Project Wiki (see below). Documents on the gEDA Project Wiki should be stand-alone, in the event the source document web-site disappears.
  2. All document contents are to be hosted on the gEDA Project Wiki. Images and other media files are to be uploaded to the wiki, and linked to. Do NOT link to external sites unless absolutely necessary.
  3. All documents are to be maintained in the “geda†namespace. If your document would take advantage of a separate namespace, ask Ales if “geda:sub-namespace†is acceptable. This would be appropriate for very large documents with multiple chapters and lots of images. Such a namespace structure would allow the document to be “broken†into chapters for easier navigation by the user (see Index [FIXME: broken link] for more details).

For existing documents:

The following are meant to stimulate discussion on document style:

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug.html0000644000175000017500000001311713634703632016205 00000000000000

Translations of this guide are also available in the following languages: РуÑÑкий

gEDA gschem User Guide

The text of and illustrations in this document are licensed under a Creative Commons Attribution–Share Alike 3.0 Unported license (“CC-BY-SAâ€). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . The original authors of this document designate the gEDA Project as the “Attribution Party†for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.

Contents

lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-schematic_pages.html0000644000175000017500000001077213634703632021326 00000000000000

Schematic and symbol pages

You can have one or more schematic or symbol pages open at a time in gschem. Each page is associated with a file on disk. Schematic pages are stored in .sch files, and symbol pages in .sym files.

Opening pages and creating new pages

If you ran gschem without selecting a schematic or symbol to open (see Running gschem), gschem will open displaying a new schematic page, containing a “B†paper title block. Further new pages can be created with File→New or Page→New.

To open a page from disk, select File→Open. This will display a file selection window, where you can choose which file to open. You can change whether you want to show schematic files, symbol files, or both using the menu at the bottom-right of the file selector.

Navigating between pages

To go to the next open page, select Page→Next or press Page Down. To go to the previous open page, select Page→Previous or press Page Up.

Saving pages

To save your changes to a schematic or symbol to disk, select File→Save. If you have been working on a new page and you haven't saved it before, gschem will display a file selection window and prompt you to choose where to save it.

If you have been working on an existing schematic or page, but you want to save it to a different file, select File→Save As.

Closing and reverting pages

To close the current page, select Page→Close. If you have made changes to the page since you last saved it, gschem will ask you if you wish to save them before closing the page. If you close all the schematics or symbols that you have open, gschem will automatically create a new schematic page in the same way as File→New does.

If you have made changes to the page, but you wish to go back to the version that is saved on disk, select File→Revert or Page→Revert. gschem will prompt you to confirm that you wish to discard your changes.

If you exit gschem with some unsaved pages open, a window will be shown with a list of unsaved pages. You can then select which pages you want to save, or return to editing.

lepton-eda-1.9.10/docs/wiki/geda-debian.html0000644000175000017500000000414213634703632015464 00000000000000

Translations of this page are also available in the following languages: Français, РуÑÑкий.

Installer 20070221 on Debian/testing

The iso image contains binary packages to all the open source development utilities needed to build the geda suite. Nevertheless, it is advisable to stick with the native debian versions to avoid an inconsistent mix of packages. In april 2007 an install of the geda/gaf iso image 20070221 the following additional packages were necessary on a fresh debian/lenny box:

  • pkg-config
  • libreadline5-dev
  • libgd2
  • libgd2-dev
  • guile1.6-dev
  • libwxgtk2.6-dev
  • libgtk2.0-dev
  • flex
  • bison
  • g++

The debian package manager will expand this list significantly as required by the debian database of dependencies.

lepton-eda-1.9.10/docs/wiki/geda-bug_triage_guide.html0000644000175000017500000001422113634703632017526 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

gEDA/gaf and PCB Bug/Feature Request Triage Guide

gEDA/gaf uses Launchpad for bug and feature request tracking - the gEDA landing page is here.

Newly filed bugs and feature requests must be triaged periodically by the developers and others close to the project, in order to progress them smoothly through development and avoid them getting stuck.

Anyone who wants to help triage bugs for the community, please apply to join the geda-bugs team for gEDA/gaf and/or PCB.

Triaging bugs

  1. Choose a bug from
  2. Grab “git HEAD†of whichever package the bug is in (if you don't have it already) and try to confirm whether the bug is still present or not. (http://git.geda-project.org)
  3. If the bug is still present, move the status from “New†to “Confirmedâ€
    • If and only if there is a good testcase uploaded that reproduces the bug (or you have created and uploaded one as part of triage), you can move the status to “Triagedâ€
    • Note: it is not good form to mark your own bug “Confirmedâ€.
  4. If the bug is absent, make a comment and set the status to one of
    • “Invalidâ€, if you are confident that the bug is bogus or misfiled.
      • If the bug is tagged with “sf-patches†shouldn't be closed “Invalidâ€. If the patch cannot or will not be accepted, mark it as “WontFixâ€.
    • “Fix Committedâ€, if you believe a fix has been committed in git since the last release;
    • “Fix Releasedâ€, if you believe a fix has been committed that has been in a released version;
    • “Incompleteâ€, if you ask the reporter a question which needs to be answered to properly assess the bug.
  5. If the bug affects you personally, hit the link under the title of the bug that lets you state that.
  6. If you want to be emailed when the bug is modified, click “Subscribe†on the right hand toolbar.

Triaging Feature Requests

  1. Choose a feature request from
  2. If it's not already set, set the Importance to “Wishlistâ€
  3. If you agree with the feature request, select the “Bug affects me†option. This will allow us to track the popularity of a request.
  4. A developer who is sufficiently familiar with the design issues will move the Status from “New†to either “Confirmedâ€, “WontFix†or “Opinionâ€.
lepton-eda-1.9.10/docs/wiki/geda-faq-gnetlist.ru.html0000644000175000017500000006245113634703632017274 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English, Français.

gnetlist

Создание Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ Ñлементов (BOM)

Ð”Ð»Ñ gnetlist еÑть пÑть разных драйверов ÑкÑпорта Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ Ñлементов. Они вызываютÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ключа -g, при Ñтом ключом -o необходимо задать Ð¸Ð¼Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла:

gnetlist -g partslist3 -o output.bom schematic.sch

gnetlist ÑпуÑкаетÑÑ Ð² лиÑты подÑхем и перечиÑлÑет их Ñодержимое вмеÑте Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð°Ð¼Ð¸ из оÑновного документа.

Ð”Ð»Ñ Ð´Ñ€Ð°Ð¹Ð²ÐµÑ€Ð¾Ð² bom и bom2 должен быть доÑтупен на чтение локальный файл attribs. Ð’ Ñтом файле в виде отдельных Ñтрок должны ÑодержатьÑÑ Ð¸Ð¼ÐµÐ½Ð° атрибутов, которые должны быть приведены в перечне. Ðапример:

value
footprint
description

Драйверы по-разному перечиÑлÑÑŽÑ‚ и Ñортируют компоненты в текÑтовом файле. Выберите тот, который вам больше нравитÑÑ:

bom

Драйверу bom нужен файл attribs (Ñм. выше). Ð’ перечне, произведённом Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ -g bom, будет ÑодержатьÑÑ Ñтолько Ñтрок, Ñколько имеетÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð². Столбцы разделÑÑŽÑ‚ÑÑ Ð·Ð½Ð°ÐºÐ°Ð¼Ð¸ табулÑции. Строки не ÑортируютÑÑ.

bom2

Драйверу bom2 также нужен файл attribs. С помощью -g bom2 одинаковые позиционные Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² будут Ñобраны в одну Ñтроку. Столбцы разделÑÑŽÑ‚ÑÑ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñми. ÐеÑколько Ñлементов в одном и том же Ñтолбце разделÑÑŽÑ‚ÑÑ Ð·Ð°Ð¿Ñтыми.

partslist1

Перечень, производимый драйвером partlist1, Ñодержит Ñтроки Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ компонента. Строки ÑортируютÑÑ Ð² алфавитном порÑдке по позиционному обозначению (refdes). ИÑпользуютÑÑ Ñтолбцы refdes, device, value, footprint и quantity. Так как ÐºÐ°Ð¶Ð´Ð°Ñ Ñтрока Ñодержит только один компонент, количеÑтво (quantity) вÑегда равно 1.

partslist2

Данный драйвер производит вывод, подобный выводу partslist1. Строки ÑортируютÑÑ Ð¿Ð¾ значению атрибута device.

partslist3

Драйвер partslist3 Ñобирает вÑе компоненты Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼ значением в одну Ñтроку, очень похоже на bom2. Строки ÑортируютÑÑ Ð¿Ð¾ атрибутам value и device. Четвёртый Ñтолбец Ñообщает количеÑтво компонентов в Ñтроке. Столбцы разделÑÑŽÑ‚ÑÑ Ð·Ð½Ð°ÐºÐ°Ð¼Ð¸ табулÑции, Ñлементы — пробелами.

Проверка ÑоответÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ð¼ нормам (DRC)

Как мне проверить Ñвои Ñхемы?

Можно проверÑть Ñхемы Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ драйвера drc2 Ð´Ð»Ñ gnetlist. Он проверит Ñхемы на предмет Ñамых общих ошибок, таких как одинаковые обозначениÑ, неподключенные выводы, неиÑпользуемые Ñекции многоÑекционных компонентов и прочее.

ЗапуÑтите драйвер drc2 Ñледующей командой:

gnetlist -g drc2 -o MyDesign.drc MyDesign.sch

Вывод DRC (проверки на ÑоответÑтвие проектным нормам) запиÑываетÑÑ Ñтой командой в файл MyDesign.drc. Этот файл можно затем открыть в текÑтовом редакторе и поÑмотреть Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¸ ошибки DRC.

Как увидеть вывод DRC на Ñкране, без запиÑи в файл?

ЗапуÑтите драйвер drc2 Ñледующей командой:

gnetlist -g drc2 -o - MyDesign.sch

Ð’Ñ‹ увидите вывод DRC непоÑредÑтвенно на Ñкране.

Я хочу запретить некоторые из проверок DRC Ð´Ð»Ñ Ñхем. Как Ñто Ñделать?

Драйвер drc2 очень гибко наÑтраиваетÑÑ. Вам нужно запиÑать в файл неÑколько Ñпециальных команд и вызвать gnetlist Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ -l, задав поÑле него Ð¸Ð¼Ñ Ñтого файла.

Ðаиболее общие команды:

  • (define dont-check-non-numbered-parts 1) ;; Запретить проверку на ненумерованные компоненты
  • (define dont-check-duplicated-references 1) ;; Запретить проверку на одинаковые обозначениÑ
  • (define dont-check-one-connection-nets 1) ;; Запретить проверку на ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ Ð¾Ð´Ð½Ð¸Ð¼ единÑтвенным подключением
  • (define dont-check-pintypes-of-nets 1) ;; Запретить проверку типа выводов
  • (define dont-check-not-driven-nets 1) ;; Запретить проверку на ÑоединениÑ, не имеющие питающих подключений1)
  • (define dont-check-unconnected-pins 1) ;; Запретить проверку на неподключенные выводы
  • (define dont-check-duplicated-slots 1) ;; Запретить проверку на дублирование Ñекций многоÑекционных компонентов
  • (define dont-check-unused-slots 1) ;; Запретить проверку на неиÑпользуемые Ñекции многоÑекционных компонентов
  • (define dont-check-slots 1) ;; Запретить проверку на количеÑтво Ñекций многоÑекционных компонентов
  • (define action-unused-slots #\w) ;; ВывеÑти Ñообщение о неиÑпользуемых ÑекциÑÑ… многоÑекционных компонентов как предупреждение
  • (define action-unused-slots #\e) ;; ВывеÑти Ñообщение о неиÑпользуемых ÑекциÑÑ… многоÑекционных компонентов как ошибку
  • (define action-unused-slots #\c) ;; Считать нормой наличие неиÑпользуемых Ñекций многоÑекционных компонентов
  • (define case_insensitive 1) ;; Ð’Ñе проверки производить без учёта региÑтра Ñимволов

ЕÑть и неÑколько других продвинутых команд Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼Ð°Ñ‚Ñ€Ð¸Ñ†Ñ‹ DRC и типов выводов, которые можно Ñчитать питающими подключениÑми. ПоÑмотрите файл драйвера gnet-drc2.scm в текÑтовом редакторе. Там, в начале, еÑть документациÑ.

Скопируйте нужное вам из вышеуказанных Ñтрок в файл (например, drc_rules.txt), причём ÐºÐ°Ð¶Ð´Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° должна запиÑыватьÑÑ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ð¾Ð¹ Ñтрокой, и запуÑтите проверку:

gnetlist -g drc2 -l drc_rules.txt -o MyDesign.drc MyDesign.sch

Вывод DRC (проверки на ÑоответÑтвие проектным нормам) запиÑываетÑÑ Ñтой командой в файл MyDesign.drc. Этот файл можно затем открыть в текÑтовом редакторе и поÑмотреть Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¸ ошибки DRC.

Можно ли включить проверку ÑоответÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ð¼ нормам в Makefile и при нахождении ошибок или предупреждений оÑтанавливать обработку?

Да. Драйвер drc2 возвратит код ошибки, еÑли еÑть ошибки или предупреждениÑ, поÑтому можно добавить в Ñвой Makefile Ñледующее:

$(objects).drc : $(objects).sch
          gnetlist -g drc2 $(objects).sch -o $(objects).drc

ЕÑли вы ÑобираетеÑÑŒ моделировать работу Ñвоей Ñхемы, в Makefile можно добавить Ñледующее:

$(objects).cir : $(objects).sch $(objects).drc
          grep -v ERROR $(objects).drc >/dev/null 2>&1
          gnetlist -g spice-sdb $(objects).sch  -o $(objects).cir

ЕÑли нет, возьмите вышеуказанный пример и адаптируйте его Ð´Ð»Ñ Ð¸Ñпользуемого вами рабочего процеÑÑа.

Ðекоторые предупреждениÑ, выдаваемые Ð´Ð»Ñ Ð¼Ð¾ÐµÐ³Ð¾ проекта, мне уже извеÑтны. Можно ли Ñделать так, чтобы они не учитывалиÑÑŒ в возвращаемом значении?

ИÑпользуйте ключ -O ignore-warnings-in-return-value:

gnetlist -g drc2 -o - MyDesign.sch -O ignore-warnings-in-return-value

Будьте оÑторожны Ñ Ñтим! Ð’Ñ‹ вообще никаких предупреждений не увидите!

Проблемы Ñборки и работы gnetlist

При работе gnetlist Ñ Ð¿Ð¾Ð»ÑƒÑ‡Ð°ÑŽ ошибку "parenthesis mismatch" (неÑоответÑтвие Ñкобок). Что проиÑходит?

ÐÐ°Ñ‡Ð¸Ð½Ð°Ñ Ñ Fedora Core 6 и SuSE 10.2, многие пользователи Ñообщали об ошибке, выглÑдÑщей подобным образом:

$gnetlist -g spice-sdb -o TwoStageAmp.cir TwoStageAmp.sch
Command line passed = gnetlist -g spice-sdb -o TwoStageAmp.cir TwoStageAmp.sch
gEDA/gnetlist version 20061020
gEDA/gnetlist comes with ABSOLUTELY NO WARRANTY; see COPYING for more details.
This is free software, and you are welcome to redistribute it under certain
conditions; please see the COPYING file for more details.

Remember to check that your schematic has no errors using the drc2 backend.
You can do it running 'gnetlist -g drc2 your_schematic.sch -o
drc_output.txt' and seeing the contents of the file drc_output.txt.

Loading schematic [/home/nano/TwoStageAmp/TwoStageAmp.sch]
Probably parenthesis mismatch in /usr/share/gEDA/scheme/gnet-spice-sdb.scm
Most recently read form: (#@begin #<unspecified>)
ERROR: Unbound variable: spice-sdb

Эта проблема обнаруживаетÑÑ Ð´Ð»Ñ Ð½ÐµÑкольких драйверов gnetlist, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ spice-sdb и drc2.

Это Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° в guile-1.8.X. Разработчики gEDA работают над иÑправлением. Пока попробуйте откатить guile к верÑии 1.6.7, котораÑ, как извеÑтно, работает Ñ gEDA безупречно.

Драйвер gnetlist bom не работает. В чём дело?

ЕÑли при запуÑке gnetlist Ñледующим образом

gnetlist -g bom filename.sch

выводитÑÑ Ñообщение об ошибке

Loading schematic [filename.sch]
ERROR: In procedure open-file:
ERROR: No such file or directory: "attribs"

то вам нужно Ñоздать файл attribs в текущем каталоге, Ñодержащий атрибуты, которые вы хотите увидеть в bom-файле. Вот пример такого файла:

device
value

Информацию по Ñозданию BOM Ñмотрите выше.

Ðекоторые драйверы gnetlist приводÑÑ‚ к переполнению Ñтека. Как Ñто иÑправить?

ЕÑли при обработке определённой Ñхемы большого размера некоторыми драйверами вы получаете такое Ñообщение об ошибке

ERROR: Stack overflow

добавьте Ñледующее в файл ~/.gEDA/gnetlistrc или локальный gnetlistrc (в текущем рабочем каталоге):

(debug-options (list 'stack 200000))
(eval-options (list 'stack 200000))

ЕÑли так не заработает, отредактируйте ÑоответÑтвующий драйвер (обычно Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ gnet-имÑ_драйвера.scm) и добавьте вышеуказанные Ñтроки в начало данного файла. Драйверы gnetlist можно найти в каталоге ${prefix}/share/gEDA/scheme. Также отправьте Ñлектронное пиÑьмо в раÑÑылку geda-user, чтобы напомнить разработчикам иÑправить Ñто. Запомните, прежде чем пиÑать в geda-user, вам нужно подпиÑатьÑÑ Ð½Ð° Ñтот ÑпиÑок раÑÑылки.

gnetlist Ñоздал ÑпиÑок Ñоединений Ñ Ð´ÑƒÐ±Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ выводами!?

Было по крайней мере одно Ñообщение о Ñледующей ошибке, выдаваемой pcb поÑле загрузки ÑпиÑка Ñоединений, Ñозданного Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gnetlist:

28: Error! Element R117 pin 2 appears multiple times in the netlist file.
29: Error! Element C167 pin 2 appears multiple times in the netlist file.

Что здеÑÑŒ произошло? gnetlist (а в Ñамом деле libgeda) Ñоздал два ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð²Ð¼ÐµÑто одного. Это проиÑходит, когда вывод приÑоединÑетÑÑ Ð² точке переÑÐµÑ‡ÐµÐ½Ð¸Ñ Ð´Ð²ÑƒÑ… Ñоединений. Заметьте, что переÑекающиеÑÑ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½Ðµ подключены друг к другу. Это демонÑтрирует ÑÐ»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ñхема:

Пока разработчики ÑпорÑÑ‚, Ñчитать ли Ñто ошибкой gnetlist или нет, вам Ñледует обеÑпечить, чтобы ÑоединениÑ, оÑобенно там, где выводы подключаютÑÑ Ð¸ к другим ÑоединениÑм, были начерчены Ñвно. Как вышеуказанные ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ вычерчиватьÑÑ, чтобы ÑпиÑок Ñоединений ÑоздавалÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾, показано на Ñтом риÑунке:

1) Питающими подключениÑми могут быть выводы питаниÑ, выходы и Ñ‚. п. При данной проверке, например, недопуÑтимыми окажутÑÑ ÑоединениÑ, подключенные только ко входным выводам. — Прим. перев.
lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-moving_copying.html0000644000175000017500000001253213634703632021232 00000000000000

Moving and copying

Moving objects

There are three main ways to move an object:

  1. Left-click on an object and drag it. If it is selected, everything else that is currently selected will be moved with it.
  2. Select one or more objects and press M to begin moving, and then left-click to place them in their new position.
  3. Select one or more objects, and then use Edit→Move Mode. Left click once to begin moving the objects, and again to finish.

Any nets connected to objects that you are moving will stretch (or “rubberbandâ€) so that they stay connected. You can turn this behaviour on and off using Options→Toggle net rubberband.

If you hold Ctrl while moving, the movement will be constrained to be only horizontal or vertical.

Rotating and mirroring objects

You can also rotate and mirror objects or groups of objects.

To rotate the selection 90° anticlockwise around the current position of the mouse pointer, press ER. If you are in the process of placing an object on the page (for example, while moving it), you can also rotate by middle-clicking.

To flip the selection left-to-right around the mouse pointer, press EI.

Copying objects on the page

When you have objects selected, you can make a quick copy by pressing EC, and then left-clicking to place the copied objects. You can right-click while placing to cancel the copy. You can also make a quick copy by selecting Edit→Copy mode from the menu, in which case you must then left-click to begin copying and again to finish.

If you need to make more than one copy, you can use Edit→Multiple Copy Mode, or press EY. This is like a normal quick copy, except you can left-click multiple times to make several copies of the selection, and right-click to finish copying.

If you hold Ctrl while making quick copies, the copy will be constrained to be in line with the original either horizontally or vertically.

Copying and pasting the clipboard

You can copy and paste selected objects using the system clipboard. To copy the selection to the system clipboard, select Edit→Copy, or to remove it from the page and put it in the clipboard, Edit→Cut.

If the clipboard contains gEDA schematic or symbol data, you can place it on the page with Edit→Paste. While placing the clipboard data, you can right-click to cancel.

Using buffers

gschem supports several buffers, which work just like the system clipboard, except they are not accessible to other applications. You can access them through the Buffer menu.

Buffers can be useful when you have a set of objects that you wish to paste multiple times during an editing session, but not all at once.

lepton-eda-1.9.10/docs/wiki/geda-icarus_vvp_simulation.html0000644000175000017500000012021613634703632020670 00000000000000

VVP Simulation Engine

/*
 * Copyright (c) 2001 Stephen Williams (steve@icarus.com)
 *
 *  $Id: README.txt,v 1.74 2005/11/25 17:55:26 steve Exp $
 */

VVP SIMULATION ENGINE

The VVP simulator takes as input source code not unlike assembly
language for a conventional processor. It is intended to be machine
generated code emitted by other tools, including the Icarus Verilog
compiler, so the syntax, though readable, is not necessarily
convenient for humans.


GENERAL FORMAT

The source file is a collection of statements. Each statement may have
a label, an opcode, and operands that depend on the opcode. For some
opcodes, the label is optional (or meaningless) and for others it is
required.

Every statement is terminated by a semicolon. The semicolon is also
the start of a comment line, so you can put comment text after the
semicolon that terminates a statement. Like so:

	Label .functor and, 0x5a, x, y  ; This is a comment.

The semicolon is required, whether the comment is there or not.

Statements may span multiple lines, as long as there is no text (other
then the first character of a label) in the first column of the
continuation line.

HEADER SYNTAX

Before any other non-commentary code starts, the source may contain
some header statements. These are used for passing parameters or
global details from the compiler to the vvp run-time. In all cases,
the header statement starts with a left-justified keyword.

* :module "name" ;

This header statement names a vpi module that vvp should load before
the rest of the program is compiled. The compiler looks in the
standard VPI_MODULE_PATH for files named "name.vpi", and tries to
dynamic load them.

* :vpi_time_precision [+|-]<value>;

This header statement specifies the time precision of a single tick of
the simulation clock. This is mostly used for display (and VPI)
purposes, because the engine itself does not care about units. The
compiler scales time values ahead of time.

The value is the size of a simulation tick in seconds, and is
expressed as a power of 10. For example, +0 is 1 second, and -9 is 1
nanosecond. If the record is left out, then the precision is taken to
be +0.

LABELS AND SYMBOLS

Labels and symbols consist of the characters:

	a-z
	A-Z
	0-9
	.$_<>

Labels and symbols may not start with a digit or a '.', so that they
are easily distinguished from keywords and numbers. A Label is a
symbol that starts a statement. If a label is present in a statement,
it must start in the first text column. This is how the lexical
analyzer distinguishes a label from a symbol. If a symbol is present
in a statement, it is in the operand. Opcodes of statements must be a
keyword.

Symbols are references to labels. It is not necessary for a label to
be declared before its use in a symbol, but it must be declared
eventually. When symbols refer to functors, the symbol represents the
vvp_ipoint_t pointer to the output. (Inputs cannot, and need not, be
references symbolically.)

If the functor is part of a vector, then the symbol is the
vvp_ipoint_t for the first functor. The [] operator can then be used
to reference a functor other then the first in the vector.

There are some special symbols that in certain contexts have special
meanings. As inputs to functors, the symbols "C<0>", "C<1>", "C<x>"
and "C<z>" represent a constant driver of the given value.


SCOPE STATEMENTS:


PARAMETER STATEMENTS:

Parameters are named constants within a scope. These parameters have a
type and value, and also a label so that they can be referenced as VPI
objects.

The syntax of a parameter is:

	<label> .param <name>, <type>, <value>;

The <name> is a string that names the parameter. The name is placed in
the current scope as a vpiParameter object. The <type> is one of the
following:

	real          -- The parameter has a real value
	string        -- The parameter has a string value
	[<msb>,<lsb>,<s>]
		      -- The parameter is a vector, with specified
		         indices. The <s> is s or u for signed or
			 unsigned.

The value, then, is appropriate for the data type. For example:

	P_123 .param "hello", string, "Hello, World.";


FUNCTOR STATEMENTS:

A functor statement is a statement that uses the ``.functor''
opcode. Functors are the basic structural units of a simulation, and
include a type (in the form of a truth table) and up to four inputs. A
label is required for functors.

The general syntax of a functor is:

	<label> .functor <type> [ (<delay>) ], symbol_list ;

The symbol list is 4 names of labels of other functors. These connect
inputs of the functor of the statement to the output of other
functors. If the input is unconnected, use a C<?> symbol instead. The
type selects the truth lookup table to use for the functor
implementation. Most of the core gate types have built in tables.

The initial values of all the inputs and the output is x. Any other
value is passed around as run-time behavior. If the inputs have C<?>
symbols, then the inputs are initialized to the specified bit value,
and if this causes the output to be something other then x, a
propagation event is created to be executed at the start of run time.

The strengths of inputs are ignored by functors, and the output has
fixed drive0 and drive1 strengths. So strength information is
typically lost as it passes through functors.

Almost all of the structural aspects of a simulation can be
represented by functors, which perform the very basic task of
combining up to four inputs down to one output.

- MUXZ

     Q | A  B  S  n/a
     --+-------------
     A | *  *  0
     B | *  *  1


DFF STATEMENTS:

The Verilog language itself does not have a DFF primitive, but post
synthesis readily creates DFF devices that are best simulated with a
common device. Thus, there is the DFF statement to create DFF devices:

        <label> .dff <d>, <clk>, <ce>, <async-input>;

The generated functor is generally synchronous on the <clk> rising
edge of <clk>, with the <ce> enable active high. The <clk> and <ce>
are single bit vectors (or scalars) on ports 1 and 2. Port-0 is any
type of datum at all. The device will transfer the input to the output
when it is loaded by a clock. The <async-input> is a special
asynchronous input that is immediately stored and transferred to the
output when data arrives here. This is useful for implementing
asynchronous set/clear functions.

UDP STATEMENTS:

A UDP statement either defines a User Defined Primitive, or
instantiates a previously defined UDP by creating a UDP functor.  A
UDP functor has as many inputs as the UDP definition requires.

UDPs come in sequential and combinatorial flavors.  Sequential UDPs
carry an output state and can respond to edges at the inputs.  The
output of combinatorial UDPs is a function of its current inputs
only.

The function of a UDP is defined via a table.  The rows of the table
are strings which describe input states or edges, and the new output
state.	Combinatorial UDPs require one character for each input, and
one character at the end for the output state.	Sequential UDPs need
an additional char for the current state, which is the first char of
the row.

Any input transition or the new state must match at most one row (or
all matches must provide the same output state).  If no row matches,
the output becomes 1'bx.

The output state can be specified as "0", "1", or "x".	Sequential
UDPs may also have "-": no change.

An input or current output state can be

	"1": 1
	"0": 0
	"x": x
	"b": 1, 0
	"h": 1, x
	"l": 0, x
	"?": 1, 0, x

For Sequential UDPs, at most one input state specification may be
replaced by an edge specification.  Valid edges are:

	"*": (??)	"_": (?0)	"+": (?1)	"%": (?x)
	"P": (0?)			"r": (01)	"Q": (0x)
	"N": (1?)	"f": (10)			"M": (1x)
	"B": (x?)	"F": (x0)	"R": (x1)

	"n": (1?) | (?0)
	"p": (0?) | (?1)

A combinatorial UDP is defined like this:

	<type> .udp/comb "<name>", <number>, "<row0>", "<row1>", ... ;

<type> is a label that identifies the UDP.  <number> is the number of
inputs.	 "<name>" is there for public identification.  Sequential UDPs
need an additional initialization value:

	<type> .udp/sequ "<name>", <number>, <init>, "<row0>", "<row1>", ... ;

<init> is the initial value for all instances of the UDP.  We do not
provide initial values for individual instances.  <init> must be a
number 0, 1, or 2 (for 1'bx).

A UDP functor instance is created so:

	<label> .udp  <type>, <symbol_list> ;

Where <label> identifies the functor, <type> is the label of a UDP
defined earlier, and <symbol_list> is a list of symbols, one for each
input of the UDP.


VARIABLE STATEMENTS:

A variable is a bit vector that can be written by behavioral code (so
has no structural input) and propagates its output to a functor. The
general syntax of a variable is:

	<label> .var   "name", <msb>, <lsb>;
	<label> .var/s "name", <msb>, <lsb>;
	<label> .var/real "name", <msb>, <lsb>;

The "name" is the declared base name of the original variable, for the
sake of VPI code that might access it. The variable is placed in the
current scope. The variable also has a width, defined by the indices
for the most significant and lest significant bits. If the indices are
equal (normally 0) the vector has width of one. If the width is greater
then one, a contiguous array of functors is created and the value of
the label is the address of the least significant bit.

A variable does not take inputs, since its value is set behaviorally
by assignment events. It does have output, though, and its output is
propagated into the net of functors in the usual way.

A variable gets its value by assignments from procedural code: %set
and %assign. These instructions write values to the port-0 input. From
there, the value is held.

Behavioral code can also invoke %cassign/v statements that work like
%set/v, but instead write to port-1 of the variable node. Writes to
port-1 of a variable activate continuous assign mode, where the values
written to port-0 are ignored. The continuous assign mode remains
active until a long(1) is written to port-3 (a command port).

Behavioral code may also invoke %force/v statements that write to port-2
to invoke force mode. This overrides continuous assign mode until a
long(2) is written to port-3 to disable force mode.

NET STATEMENTS:

A net is similar to a variable, except that a thread cannot write to
it (unless it uses a force) and it is given a different VPI type
code. The syntax of a .net statement is also similar to but not
exactly the same as the .var statement:

	<label> .net      "name", <msb>, <lsb>, <symbol>;
	<label> .net/s    "name", <msb>, <lsb>, <symbol>;
	<label> .net8     "name", <msb>, <lsb>, <symbol>;
	<label> .net8/s   "name", <msb>, <lsb>, <symbol>;
	<label> .net/real "name", <msb>, <lsb>, <symbol>;
	<label> .alias    "name", <msb>, <lsb>, <symbol>;


Like a .var statement, the .net statement creates a VPI object with
the basename and dimensions given as parameters. The symbol is a
functor that feeds into the vector of the net, and the vpiHandle
holds references to that functor.

The input of a .net is replicated to its output. In this sense, it
acts like a diode. The purpose of this node is to hold various VPI
and event trappings. The .net and .net8 nodes are vector types. They
both may represent wires, but the .net8 nodes preserve strength values
that arrive through them, while .net nodes reduce strength values to
4-value logic. The .net8 nodes should only be used when strength
information really is possible.

The <label> is required and is used to locate the net object that is
represents. This label does not map to a functor, so only references
that know they want to access .nets are able to locate the symbol. In
particular, this includes behavioral %load and %wait instructions. The
references to net and reg objects are done through the .net label
instead of a general functor symbol. The instruction stores the
functor pointer, though.

The .alias statements do not create new nodes, but instead create net
names that are aliases of an existing node. This handles special cases
where a net has different names, possibly in different scopes.

MEMORY STATEMENTS:

Memories are arrays of words, each word a vvp_vector4_t vector of the
same width. The memory is canonically addressed as a 1-dimensional
array of words, although indices are stored with the memory for
calculating a canonical address from a multi-dimensional address.

Three types of memory statement perform (1) creation of a memory, (2)
connecting a read port to an existing memory, and (3) initializing the
memory's contents.

       <label> .mem "name", <msb>,<lsb>, <last>,<first> ... ;

The pair of numbers <msb>,<lsb> defines the word width.  The pair
<last>,<first> defines the address range.  Multiple address ranges are
allowed for multidimensional indexing. This statement creates the
memory array and makes it available to procedural code.

Procedural access to the memory references the memory as single array
of words, with the base address==0, and the last address the size (in
words) of the memory -1. It is up to the compiler to convert Verilog
index sets to a canonical address. The multi-dimensional index set is
available for VPI use.

Structural read access is implemented in terms of address and data
ports.  The addresses applied to the address port are expected to be
in canonical form.

A read port is a functor that takes a single input, the read address,
and outputs the word value at the given (canonical) address.

	<label> .mem/port <memid>, <address> ;

<label> identifies the vector of output functors, to allow connections
to the data output.  <memid> is the label of the memory.

Any address input change, or any change in the addressed memory
contents, is immediately propagated to the port output.

A write port is a superset of a read port.  It is a 4-input functor
that accepts the word address, an event input, a write enable input,
and the data input.

	<label> .mem/port <memid>, <address>, <event>, <we>, <data> ;

<event> is an event functor that triggers a write, if the <we> input
is true.  <data> is the input that connect to the data input
port.  For asynchronous transparent write operation, connect
<event> to C4<z>, the RAM will transparently follow any changes on
address and data lines, while <we> is true.

There is no Verilog construct that calls for a structural write port
to a memory, but synthesis may ask for lpm_ram_d[pq] objects.

To initialize a memory, use:

   .mem/init <memid> <start>, val , val ... ;

<memid> is the label of the memory, and the <start> is the start
address (canonical) of the first word to be initialized. The start
address allows multiple statements be used to initialize words of a
memory.

The values are one per word.

Procedural access to the memory employs an index register to address a
bit location in the memory, via the commands:

	%load/m   <bit>, <memid> ;
	%set/m    <memid>, <bit> ;
	%assign/m <memid>, <delay>, <bit> ;

The memory bit is addressed by index register 3.  The value of
register 3 is the index in the memory's bit space, where each data
word occupies a multiple of four bits.


EVENT STATEMENTS

Threads need to interact with the functors of a netlist synchronously,
as well as asynchronously. There are cases where the web of functors
needs to wake up a waiting thread. The web of functors signals threads
through .event objects, that are declared like so:

	<label> .event <type>, <symbols_list>;
	<label> .event "name";


This event statement declares an object that a %wait instruction
can take as an operand. When a thread executes a %wait, it puts
itself in the notification list of the event and suspends. The
<symbols_list> is a set of inputs that can trigger the event.

The <type> describes the conditions needed to trigger the event. It
may be posedge, negedge or edge. If the type is instead a "name"
string, then this is a named event which receives events by the %set
instruction instead of from the output of a functor.

If the event has inputs (a requirement unless it is a named event)
then it has up to 4 symbols that address functors. The event then
detects the appropriate edge on any of the inputs and signals when the
event is true. Normally (in Verilog) a posedge or negedge event only
watches a single bit, so the generated code would only include a
single symbol for the addressed bit. However, if there are several
events of the same edge in an event OR expression, the compiler may
combine up to 4 into a single event.

If many more events need to be combined together (for example due to
an event or expression in the Verilog) then this form can be used:

	<label> .event/or <symbols_list>;

In this case, the symbols list all the events that are to be combined
to trigger this event. Only one of the input events needs to trigger
to make this one go.


RESOLVER STATEMENTS:

Resolver statements are strength-aware functors with 4 inputs, but
their job typically is to calculate a resolved output using strength
resolution. The type of the functor is used to select a specific
resolution function.

	<label> .resolv tri,  <symbols_list>;
	<label> .resolv tri0, <symbols_list>;
	<label> .resolv tri1, <symbols_list>;

The output from the resolver is vvp_vector8_t value. That is, the
result is a vector with strength included.


PART SELECT STATEMENTS:

Part select statements are functors with three inputs. They take in at
port-0 a vector, and output a selected (likely smaller) part of that
vector. The other inputs specify what those parts are, as a canonical
bit number, and a width. Normally, those bits are constant values.

	<label> .part <symbol>, <base>, <wid>;
	<label> .part/pv <symbol>, <base>, <wid>, <vector_wid>;
	<label> .part/v <symbol>, <symbol>, <wid>;

The input is typically a .reg or .net, but can be any vector node in
the netlist.

The .part/pv variation is the inverse of the .part version, in that
the output is actually written to a *part* of the output. The node
uses special part-select-write functions to propagate a part of a
network. The <vector_wid> is the total width of the destination net
that part is written to. Destination nodes use this value to check
further output widths.

The .part/v variation takes a vector (or long) input on port-1 as the
base of the part select. Thus, the part select can move around.

PART CONCATENATION STATEMENTS:

The opposite of the part select statement is the part concatenation
statement. The .concat statement is a functor node that takes at input
vector values and produces a single vector output that is the
concatenation of all the inputs.

        <label> .concat [W X Y Z], <symbols_list> ;

The "[" and "]" tokens surround a set of 4 numbers that are the
expected widths of all the inputs. These widths are needed to figure
the positions of the input vectors in the generated output, and are
listed in order LSB to MSB. The inputs themselves are also listed LSB
to MSB, with the LSB vector input coming through port-0 of the real
functor.

The initial output value is (W+X+Y+Z) bits of 'bx. As input values are
propagated, the bits are placed in the correct place in the output
vector value, and a new output value is propagated.


REPEAT VECTOR STATEMENTS:

The repeat vector statement is similar to the concatenation statement,
expect that the input is repeated a constant number of times. The
format of the repeat vector statement is:

        <label> .repeat <wid>, <rept count>, <symbol> ;

In this statement, the <wid> is a decimal number that is the width of
the *output* vector. The <rept count> is the number of time the input
vector value is repeated to make the output width. The input width is
implicit from these numbers. The <symbol> is then the input source.

REDUCTION LOGIC

The reduction logic statements take in a single vector, and propagate
a single bit.

        <label> .reduce/and  <symbol> ;
        <label> .reduce/or   <symbol> ;
        <label> .reduce/xor  <symbol> ;
        <label> .reduce/nand <symbol> ;
        <label> .reduce/nor  <symbol> ;
        <label> .reduce/xnor <symbol> ;

the device has a single input, which is a vector of any width. The
device performs the logic on all the bits of the vector (a la Verilog)
and produces and propagates a single bit width vector.

EXPANSION LOGIC

Sign extension nodes are the opposite of reduction logic, in that they
take a narrow vector, or single bit, and pad it out to a wider
vector.

        <label> .expand/s <wid>, <symbol> ;

The .expand/s node takes an input symbol and sign-extends it to the
given width.

FORCE STATEMENTS (old method - remove me):

A force statement creates functors that represent a Verilog force
statement.

	<label>	.force <signal>, <symbol_list>;

The symbol <signal> represents the signal which is to be forced.  The
<symbol_list> specifies the bits of the expression that is to be
forced on the <signal>.  The <label> identifies the force functors.
There will be as many force functors as there are symbols in the
<symbol_list>.

To activate and deactivate a force on a single bit, use:

	%force	<label>, <width>;
	%release <signal>;

<label>/<width> is the label/width of a vector of force functors.
<signal> is the label of the functor that drives the signal that is
being forced.

FORCE STATEMENTS (new method - implement me):

A %force instruction, as described in the .var section, forces a
constant value onto a .var or .net, and the matching %release releases
that value. However, there are times when the value of a functor
(i.e. another .net) needs to be forced onto a .var or .net. For this
task, the %force/link instruction exists:

	%force/link <dst>, <src> ;
	%release/link <dst> ;

This causes the output of the node <src> to be linked to the force
input of the <dst> .var/.net node. When linked, the output functor
will automatically drive values to the force port of the destination
node. The matching %release/link instruction removes the link (a
%release is still needed) to the destination. The %release/link
releases the last %force/link, no matter where the link is from. A new
%force/link will remove a previous link.

The instructions:

	%cassign/link <dst>, <src> ;
	%deassign/link <dst> ;

are the same concept, but for the continuous assign port.

STRUCTURAL ARITHMETIC STATEMENTS:

The various Verilog arithmetic operators (+-*/%) are available to
structural contexts as two-input functors that take in vectors. All of
these operators take two inputs and generate a fixed width output. The
input vectors will be padded if needed to get the desired output width.

	<label> .arith/sub  <wid>, <A>, <B>;
	<label> .arith/sum  <wid>, <A>, <B>;
	<label> .arith/mult <wid>, <A>, <B>;
	<label> .arith/div  <wid>, <A>, <B>;
	<label> .arith/mod  <wid>, <A>, <B>;

In all cases, there are no width limits, so long as the width is
fixed.

NOTE: The .arith/mult inputs are not necessarily the width of the
output. I have not decided how to handle this.

These devices support .s and .r suffixes. The .s means the node is a
signed vector device, the .r a real valued device.

STRUCTURAL COMPARE STATEMENTS:

The arithmetic statements handle various arithmetic operators that
have wide outputs, but the comparators have single bit output, so they
are implemented a bit differently. The syntax, however, is very
similar:

	<label> .cmp/eeq <wid>, <A>, <B>;
	<label> .cmp/nee <wid>, <A>, <B>;
	<label> .cmp/eq  <wid>, <A>, <B>;
	<label> .cmp/ne  <wid>, <A>, <B>;
	<label> .cmp/ge  <wid>, <A>, <B>;
	<label> .cmp/gt  <wid>, <A>, <B>;
	<label> .cmp/ge.s <wid>, <A>, <B>;
	<label> .cmp/gt.s <wid>, <A>, <B>;

Whereas the arithmetic statements generate an output the width of
<wid>, the comparisons produce a single bit vector result. The plain
versions do unsigned comparison, but the ".s" versions to signed
comparisons. (Equality doesn't need to care about sign.)


STRUCTURAL SHIFTER STATEMENTS:

Variable shifts in structural context are implemented with .shift
statements:

	<label> .shift/l <wid>, <data symbol>, <shift symbol>;
	<label> .shift/r <wid>, <data symbol>, <shift symbol>;

The shifter has a width that defines the vector width of the output, a
<data symbol> that is the input data to be shifted and a <shift-symbol>
that is the amount to shift. The vectors that come from port 0 are the
data to be shifted and must have exactly the width of the output. The
input to port 1 is the amount to shift.


STRUCTURAL FUNCTION CALLS:

The .ufunc statement defines a call to a user defined function.

	<label> .ufunc <flabel>, <wid>, <isymbols> ( <psymbols> ) <rsymbol> ;

The <flabel> is the code label for the first instruction of the
function implementation. This is code that the simulator will branch
to.

The <wid> is the width of the output vector in bits.

The <isymbols> is a list of net symbols for each of the inputs to the
function. These are points in the net, and the ufunc device watches
these nets for input changes.

The <psymbols> list is exactly the same size as the <isymbols>
list. The <psymbols> are variables that represent the input ports for
the function. The ufunc performs an assignment to these variables
before calling the function.

Finally, the <rsymbol> is the variable within the function where the
result will be found when the function code ends. This value is picked
up and propagated to the output of the functor.

THREAD STATEMENTS:

Thread statements create the initial threads for a simulation. These
represent the initial and always blocks, and possibly other causes to
create threads at startup.

	.thread <symbol> [, <flag>]

This statement creates a thread with a starting address at the
instruction given by <symbol>. When the simulation starts, a thread is
created for the .thread statement, and it starts at the <symbol>
addressed instruction.

The <flag> modifies the creation/execution behavior of the
thread. Supported flags are:

	$push -- Cause the thread to be pushed in the scheduler. This
		 only effects startup (time 0) by arranging for pushed
		 threads to be started before non-pushed threads. This
		 is useful for resolving time-0 races.

* Threads in general

Thread statements create the initial threads of a design. These
include the ``initial'' and ``always'' statements of the original
Verilog, and possibly some other synthetic threads for various
purposes. It is also possible to create transient threads from
behavioral code. These are needed to support such constructs as
fork/join, named blocks and task activation.

A transient thread is created with a %fork instruction. When a
transient thread is created this way, the operand to the %fork gives
the starting address, and the new thread is said to be a child of the
forking thread. The children of a thread are pushed onto a stack of
children. A thread can have only one direct child.

A transient thread is reaped with a %join instruction. %join waits for
the top thread in the stack of children to complete, then
continues. It is an error to %join when there are no children.

As you can see, the transient thread in VVP is a cross between a
conventional thread and a function call. In fact, there is no %call
instruction in vvp, the job is accomplished with %fork/%join in the
caller and %end in the callee. The %fork, then is simply a
generalization of a function call, where the caller does not
necessarily wait for the callee.

For all the behavior of threads and thread parentage to work
correctly, all %fork statements must have a corresponding %join in the
parent, and %end in the child. Without this proper matching, the
hierarchical relationships can get confused. The behavior of erroneous
code is undefined.

* Thread Context

The context of a thread is all the local data that only that thread
can address. The local data is broken into two addresses spaces: bit
memory and word memory.

The bit memory is a region of 4-value bits (0,1,x,z) that can be
addressed in strips of arbitrary length. For example, an 8-bit value
can be in locations 8 through and including 15. The bits at address 0,
1, 2 and 3 are special constant values. Reads from those locations
make vectors of 0, 1, x or z values, so these can be used to
manufacture complex values elsewhere.

The word memory is a region of tagged words. The value in each word
may be native long or real. These words have a distinct address space
from the bits.

* Threads and scopes

The Verilog ``disable'' statement deserves some special mention
because of how it interacts with threads. In particular, threads
throughout the design can affect (end) other threads in the design
using the disable statement.

In Verilog, the operand to the disable statement is the name of a
scope. The behavior of the disable is to cause all threads executing
in the scope to end. Termination of a thread includes all the children
of the thread. In vvp, all threads are in a scope, so this is how the
disable gains access to the desired thread.

It is obvious how initial/always thread join a scope. They become part
of the scope simply by being declared after a .scope declaration. (See
vvp.txt for .scope declarations.) The .thread statement placed in the
assembly source after a .scope statement causes the thread to join the
named scope.

Transient threads join a scope that is the operand to the %fork
instruction. The scope is referenced by name, and the thread created
by the fork atomically joins that scope. Once the transient thread
joins the scope, it stays there until it ends. Threads never change
scopes, not even transient threads.

TRUTH TABLES

The logic that a functor represents is expressed as a truth table. The
functor has four inputs and one output. Each input and output has one
of four possible values (0, 1, x and z) so two bits are needed to
represent them. So the input of the functor is 8 bits, and the output
2 bits. A complete lookup table for generating the 2-bit output from
an 8-bit input is 512 bits. That can be packed into 64 bytes. This is
small enough that the table should take less space then the code to
implement the logic.

To implement the truth table, we need to assign 2-bit encodings for
the 4-value signals. I choose, pseudo-randomly, the following
encoding:

	1'b0  : 00
	1'b1  : 01
	1'bx  : 10
	1'bz  : 11

The table is an array of 64 bytes, each byte holding 4 2-bit
outputs. Construct a 6-bit byte address with inputs 1, 2 and 3 like
so:
	 332211

The input 0 2-bits can then be used to select which of the 4 2-bit
pairs in the 8-bit byte are the output:

	MSB -> zzxx1100 <- LSB

A complete truth table, then is described as 64 8-bit bytes.

The vvp engine includes truth tables for the primitive gate types, so
none needs to be given by the programmer. It is sufficient to name the
type to get that truth table.


EXECUTABLE INSTRUCTIONS

Threads run executable code, much like a processor executes machine
code. VVP has a variety of opcodes for executable instructions. All of
those instructions start with '%' and go into a single address
space. Labels attached to executable instructions get assigned the
address of the instruction, and can be the target of %jmp instructions
and starting points for threads.

The opcodes.txt file has a more detailed description of all the
various instructions.


THE RELATIONSHIP BETWEEN FUNCTORS, THREADS AND EVENTS

Given the above summary of the major components of vvp, some
description of their relationship is warranted. Functors provide a
structural description of the design (so far as it can be described
structurally) and these functors run independently of the threads. In
particular, when an input to a functor is set, it calculates a new
output value; and if that output is different from the existing
output, a propagation event is created. Functor output is calculated
by truth table lookup, without the aid of threads.

Propagation events are one of three kinds of events in vvp. They are
scheduled to execute at some time, and they simply point to the functor
that is to have its output propagated. When the event expires, the
output of the referenced functor is propagated to all the inputs that
it is connected to, and those functors in turn create new events if
needed.

Assignment events (the second of three types of events) are created
by non-blocking assignments in behavioral code. When the ``<='' is
executed (a %assign in vvp) an assign event is created, which includes
the vvp_ipoint_t pointer to the functor input to receive the value,
as well as the value. These are distinct from propagation events because:

	a) There is no functor that has as its output the value to be
	   assigned (this is how values get into the functor net in
	   the first place), and

	b) This allows for behavioral code to create waveforms of
	   arbitrary length that feed into a variable. Verilog allows
	   this of non-blocking assignments, but not of gate outputs.

The last type of event is the thread schedule event. This event simply
points to a thread to be executed. Threads are made up of a virtual
processor with a program counter and some private storage. Threads
can execute %assign instructions to create assignment events, and can
execute %set instructions to do blocking assignments. Threads can also
use %load to read the output of functors.

The core event scheduler takes these three kinds of events and calls
the right kind of code to cause things to happen in the design. If the
event is a propagate or assignment event, the network of functors is
tickled; if the event is a thread schedule, then a thread is run. The
implementation of the event queue is not important, but currently is
implemented as a ``skip list''. That is, it is a sorted singly linked
list with skip pointers that skip over delta-time events.

The functor net and the threads are distinct. They communicate through
thread instructions %set, %assign, %waitfor and %load. So far as a thread
is concerned, the functor net is a blob of structure that it pokes and
prods via certain functor access instructions.


VVP COMPILATION AND EXECUTION

The vvp program operates in a few steps:

	1) Initialization
		Data structures are cleared to empty, and tables are
		readied for compilation.

	2) Compilation
		The input file is read and compiled. Symbol tables are
		build up as needed, objects are allocated and linked
		together.

	3) Cleanup
		Symbol tables and other resources used only for
		compilation are released to reduce the memory
		footprint.

	4) Simulation
		Event simulation is run.


The initialization step is performed by the compile_init() function in
compile.cc. This function in turn calls all the *_init() functions in
other parts of the source that need initialization for compile. All
the various sub-init functions are called <foo>_init().

Compilation is controlled by the parser, it parse.y. As the parser
reads and parses input, the compilation proceeds in the rules by
calling various compile_* functions. All these functions live in the
compile.cc file. Compilation calls other sections of the code as
needed.

When the parser completes compilation, compile_cleanup() is called to
finish the compilation process. Unresolved references are completed,
then all the symbol tables and other compile-time-only resources are
released. Once compile_cleanup() returns, there is no more use for the
parser for the function in compile.cc.

After cleanup, the simulation is started. This is done by executing
the schedule_simulate() function. This does any final setup and starts
the simulation running and the event queue running.


HOW TO GET FROM THERE TO HERE

The vvp simulation engine is designed to be able to take as input a
compiled form of Verilog. That implies that there is a compiler that
compiles Verilog into a form that the vvp engine can read.


* Boolean logic gates

Gates like AND, OR and NAND are implemented simply and obviously by
functor statements. Any logic up to 4 inputs can be implemented with a
single functor. For example:

	and gate (out, i1, i2, i3);

becomes:

	gate	.functor and, i1, i2, i3;

Notice the first parameter of the .functor is the type. The type
includes a truth table that describes the output with a given
input. If the gate is wider then four inputs, then cascade
functors. For example:

	and gate (out, i1, i2, i3, i4, i5, i6, i7, i8);

becomes:

	gate.0	.functor and, i1, i2, i3, i4;
	gate.1	.functor and, i5, i6, i7, i8;
	gate	.functor and, gate.0, gate.1;


* reg and other variables

Reg and integer are cases of what Verilog calls ``variables.''
Variables are, simply put, things that behavioral code can assign
to. These are not the same as ``nets,'' which include wires and the
like.

Each bit of a variable is created by a ``.var'' statement. For example:

	reg a;

becomes:

	a	.var "a", 0, 0;


* named events

Events in general are implemented as functors, but named events in
particular have no inputs and only the event output. The way to
generate code for these is like so:

	a  .event "name";

This creates a functor and makes it into a mode-2 functor. Then the
trigger statement, "-> a", cause a ``%set a, 0;'' statement be
generated. This is sufficient to trigger the event.

/*
 * Copyright (c) 2001 Stephen Williams (steve@icarus.com)
 *
 *    This source code is free software; you can redistribute it
 *    and/or modify it in source code form 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 */
lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-hierarchy.html0000644000175000017500000000540413634703632020161 00000000000000

Hierarchy

When a design has several repeating subcircuits, it can sometimes be useful to draw a schematic for the subcircuit, and then include that subcircuit multiple times in the design. This creates a hierarchy of circuits.

Subcircuit schematics are searched for in a source library, and use the “in-1†and “out-1†symbols to indicate which nets to make available as connections for the schematics that include them. Each subcircuit has a symbol, which uses â€source=†attributes to specify the subcircuit's schematic pages.

See Configuring gschem for details of how to control where gschem looks for subcircuit schematics.

To add a subcircuit to a schematic, simply place the symbol representing it as a component in the schematic as usual. Subcircuits can in turn contain other subcircuits!

To view the underlying schematic for a subcircuit component, select it and use Hierarchy→Down Schematic. Once finished editing the subcircuit's schematic, use Hierarchy→Up to return to the original schematic.

lepton-eda-1.9.10/docs/wiki/geda-gparts_ii.html0000644000175000017500000003577313634703632016241 00000000000000

gEDA » Development » Parts Manager » Installation Instructions

Part Manager Installation

The parts manager is in development. All required functionality is not implemented.

Requirements

Building and using the part manager requires the following packages:

PackageName Description Use
autoconf automatic configure script builder Required
automake A tool for generating GNU Standards-compliant Makefiles Required
gcc The GNU C compiler Required
geda GPL EDA – Electronics design software (metapackage) Required
git-core fast, scalable, distributed revision control system Required
guile-1.8 The GNU extension language and Scheme interpreter Required
guile-1.8-dev Development files for Guile 1.8 Required
libgtk2.0-dev Development files for the GTK+ library Required
libtool Generic library support script Required
pkg-config Manage compile and link flags for libraries Required
xsltproc XSLT command line processor Required

Additionally, GParts requires a database for the back-end. Currently, GParts can use either MySQL, PostgreSQL, or SQLite.

MySQL

In order to use MySQL, the packages listed below must be installed. The mysql-server package may not be required if configured to use a remote server.

PackageName Description Use
libmysqlclient-dev MySQL database development files Required
mysql-client MySQL database client Required
mysql-server MySQL database server Required

PostgreSQL

In order to use PostgreSQL, the following packages must be installed: (TODO: PostgreSQL not supported yet.)

PackageName Description Use
libpq-dev Header files for PostgreSQL library Required
postgresql Object-relational SQL database Required

SQLite

In order to use SQLite, the following packages must be installed:

PackageName Description Use
libsqlite3-0 SQLite 3 shared library Required
libsqlite3-0-dbg SQLite 3 debugging symbols Optional
libsqlite3-dev SQLite 3 development files Required
sqlite3 A command line interface for SQLite 3 Required
sqlite3-doc SQLite 3 documentation Optional

Of course, installing all packages before building allows the application to use either database for the back-end.

Building GParts from Source

If needed, obtain the source from the source repository.

$ git clone git://git.geda-project.org/gparts
Initialized empty Git repository in /home/username/Projects/gparts/.git/
remote: Counting objects: 930, done.
remote: Compressing objects: 100% (712/712), done.
remote: Total 930 (delta 735), reused 269 (delta 207)
Receiving objects: 100% (930/930), 745.34 KiB | 283 KiB/s, done.
Resolving deltas: 100% (735/735), done.
$ cd gparts
$

In the top directory of the source package, execute the following commands. Support for PostgreSQL is incomplete, so use the configure option.

$ ./autogen.sh
$ ./configure --without-postgresql
$ make

The install requires root privileges.

$ sudo make install

Finally, test the executable.

$ gparts

To ensure dynamically loaded modules for database support work, select Database→Connect… from the part manager menu. The combo box Database Type should so options for the various databases supported.

If no database modules appear in the combo box, it is likely the parts manager could not find the rc files. The parts manager needs to know the location of system-gafrc file. The parts manager will search for this file, but sometimes cannot locate it. Providing the following environment variable provides better results. For distributions using Debian packages, the system-gafrc file can be located with dpkg.

$ dpkg -S system-gafrc
libgeda-common: /etc/gEDA/system-gafrc
$ GEDADATARC=/etc/gEDA
$ export GEDADATARC

Additionally, the parts manager needs to know the location of the symbol library and scheme files.

$ dpkg -S gschem.scm
geda-gschem: /usr/share/gEDA/scheme/gschem.scm
$ GEDADATADIR=/usr/share/gEDA
$ export GEDADATADIR

Database Creation

MySQL

Install MySQL.

  • Tested under 5.0.51a-3ubuntu5.1.

To create the database, enter MySQL command line mode as root and enter the SQL commands below. Placing the password in the command line could leave the password in the command line history. Using only the -p option will cause mysql to prompt for the password and avoid this situation. A different database name, other than gparts, can be specified by the user. Using different names, the user can create multiple GPart databases. Additionally, user accounts may need to be created.

$ mysql -u root -p
mysql> create database GParts;
mysql> use GParts;
mysql> grant all privileges on *.* to 'user'@'localhost' identified by 'password';

After creating the database, the base tables and part-specific tables must be created. All the SQL commands to perform these operations are included in the distributed files. Enter the following commands at the MySQL command line.

mysql> source sql/mysql/create-basic.sql
mysql> source sql/mysql/create-categories.sql
mysql> source sql/mysql/create-discretes.sql
mysql> source sql/mysql/create-passives.sql

Begin loading the database, starting with package data. The package data must be loaded before any parts.

mysql> source data/packages.sql

The package includes a tool to parse the symbol libraries and generate an SQL file for import into the database. Run the tool at the shell prompt, then import the file from an MySQL prompt. The tool requires the root gEDA directory as the only parameter. Your gEDA root directory may be different than below. The symbol data must be loaded before any parts.

$ tools/symbols.py /usr/share/gEDA >tmp/symbols.sql
mysql> source tmp/symbols.sql

The package includes a script to generate some sample part data. Similar to the symbol tool, run the script at the shell prompt, then import the data at the MySQL prompt.

$ data/parts-bourns.py >tmp/parts-bourns.sql
mysql> source tmp/parts-bourns.sql

PostgreSQL

TODO: Finish implementation

SQLite

The source package contains a sample database in the location below. This database can be opened from directly within the parts manager.

  • gparts/sql/sqlite/sample.db

If required, use the following command line to create a new database or recreate the sample database. In this example, the present working directory must be gparts/sql/sqlite.

$ sqlite3 sample.db
SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>

After creating the database, read base and part specific tables into the database.

sqlite> .read create-basic.sql
sqlite> .read create-categories.sql
sqlite> .read create-discretes.sql
sqlite> .read create-passives.sql

Read sample symbols into the database.

sqlite> .read symbols.sql

Exit the command line interface.

sqlite> .exit

Read sample companies and packages into the database. The source distribution stores packages in XML. The distribution contains an XSLT stylesheet to convert XML into SQL for importing into SQLite. Use the following command line to perform this operation.

$ xsltproc convert.xml ../../data/companies.xml | sqlite3 sample.db
$ xsltproc convert.xml ../../data/packages.xml | sqlite3 sample.db

Read sample parts into the database.

$ ../../data/parts-bourns.py >../../tmp/parts-bourns.xml
$ xsltproc convert.xml ../../tmp/parts-bourns.xml | sqlite3 sample.db

For other sample parts, the data is not generated with a script.

$ xsltproc convert.xml ../../tmp/rhom-discretes.xml | sqlite3 sample.db
lepton-eda-1.9.10/docs/wiki/geda-gsymcheck_mp.html0000644000175000017500000000463513634703632016722 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

gsymcheck man-page

gsymcheck(1)			   20031231			  gsymcheck(1)



NAME
       gsymcheck - gEDA/gaf Symbol Checker

SYNOPSIS
       gnetlist [-h] [-v] [-q] symbol1 [... symbolN]

DESCRIPTION
       gsymcheck  is  a	 symbol	 checker for gEDA.  Eventually there will be a
       list of checks performed on the symbols listed here.


OPTIONS
       gsymcheck accepts the following options:

       -q      Quiet mode on.  This mode  turns	 off  all  warnings/notes/mes-
	       sages. (optional)

       -v      Verbose	mode  1.   This	 mode  will  show  all	error messages
	       (optional)

       -vv     Verbose mode 2.	This mode will show all error and warning mes-
	       sages (optional)

       -vvv    Verbose	mode  2.   This mode will show all error, warning, and
	       info messages (optional)

       -h      Usage summary / gsymcheck help

       symbol1 [... symbolN]
	       At least one symbol file must be specified.  If	multiple  sym-
	       bols  are  specified  then  they	 are  sequentially read in and
	       checked.	 It is important that the schematic(s) follow all  the
	       options (ie last).


EXAMPLES
       Examples to be listed here eventually


ENVIRONMENT
       No environment variables are used.


AUTHOR
       Ales Hvezda and many others


SEE ALSO
       gschem(1), gnetlist(1)

COPYRIGHT
       Copyright ©  1999-2004 Ales Hvezda

       This document can be freely redistributed according to the terms of the
       GNU General Public License version 2.0




Version			      December 31st, 2003		  gsymcheck(1)
lepton-eda-1.9.10/docs/wiki/geda-pcb_funding_sow.html0000644000175000017500000013225313634703632017415 00000000000000

Statement of work: Improving PCB's usability within the gEDA Suite framework

Background and motivation

The open-source layout tool PCB has been a member of the gEDA Project for many years. It is an essential part of the end-to-end design flow offered by the gEDA tool set. That is, although gschem/gnetlist can (in principle) support many back-end PCB layout tools, the most advanced forward annotation tools have been developed for PCB, and the vast majority (if not all) of the gEDA Project's user base uses PCB as their layout tool. PCB is a core part of the gEDA Project's software offerings.

For a variety of reasons, many electronics designers find PCB's user interface difficult to master. Many tasks are best performed using PCB's internal command line (instead of menus or buttons), dropping to the unix shell, or even hand-editing design files using scripts or emacs. Some specific shortcomings of PCB have been widely noted on the geda-* e-mail lists, along with reasonable solutions. A list of the biggest issues includes:

  • Forward annotation: Difficulty forward annotating designs from gschem/gnetlist. A separate command-line tool is used to carry the design from gschem to PCB. This tool can produce design files out of synch with PCB. Also, many electronics designers are unfamiliar with using the unix command line.
  • GUI: PCB's GUI shows its age. It has the following infelicitous properties:
    • It uses a mixture of noun/verb and verb/noun actions. (Modern GUI programs are noun/verb only.)
    • Incomplete menu/button coverage of possible editing actions. For example, arbitrary rotation and component refdes renumbering are available only through the pop-up command entry window.
    • There is a lack of GUI controls for exact, CAD-like editing. Examples for these desirable actions: Give the position of an object by typing its coordinates. Rotate an object by a given angle. Move objects by an exact amount. Do a multi copy of objects.
    • Unlike many other graphical GUIs a dialog to edit properties of an object is missing in pcb. Properties to be edited might be layer, thickness, connected flag, polygon clearance, the net it belongs to, position, orientation, etc.
    • Underlying the user interface, there is strong belief amongst PCB's developers that the supporting datastructures and methods are inadequate, and require upgrade as part of any GUI upgrade.
  • Footprint creation/editing: Creating/editing footprints using PCB is difficult. Most power users have created perl scripts to automate this process, but new users tend to be flummoxed by this approach.
  • Layers and design objects: Although PCB can handle any arbitrary number of metal layers, it does not fully support other design layers as independent objects. For example, it lacks full support for common layout layers like: keepout, DRC, outline, etc. Also, the concept of padstacks is missing from PCB. Finally, PCB does not provide the full DRC functionality expected of a modern layout program.
  • DRC: The existing mechanism to find DRCs is clumsy. Also, a separate DRC layer which may be turned on or off (typical of modern layout programs) is missing.

We envision that addressing the above problems will provide a significant, powerful benefit to PCB's usability within the larger framework of the gEDA toolkit. Addressing the usability issues will bring the following specific benefits to the gEDA Project:

  • Adoption: Making PCB easier to use will lead to greater uptake of the entire gEDA electronic design toolkit by practicing engineers, including those working in commercial organizations.
  • Contribution: More users implies more contributors. In the context of the gEDA Project, this means not only software developers, but also people who will contribute schematic symbols, PCB footprints, utility scripts, and other collateral necessary to a thriving design environment. (A strong focal point for contributors is – and will remain – the www.gedasymbols.org website.)
  • Support: Engineers using the gEDA tools in a company context might be positioned to help organize funding for ongoing development of the gEDA Suite, thereby closing the circle from developers to users back to developers. This would go a long way towards raising the gEDA Project above its current “advanced hobby hacker†status, a beneficial result for the entire gEDA ecosystem.

Therefore, the purpose of this document is to specify modifications to PCB which we hope will bring about a renaissance in the gEDA Project itself by making the critical tool PCB more accessible to the ordinary electronics engineer.

Statement of work

This section provides descriptions of what work is desired in each area of PCB's functionality. This is not a full specification; it is assumed that the person chosen to perform this work is familiar enough with the concepts associated with PCB design and the internals of PCB that this statement of work provides sufficient guidance about what to do.


General guidelines

GTK HID

PCB supports several HIDs. The HID is the interface layer which the user interacts with. The two major HIDs provided for interactive use are based upon 1) the GTK GUI widget set, and 2) The X/Motif GUI widget set. The work called out for this project shall be targeted at the GTK HID. The reason for this is simple: The rest of gEDA uses GTK. A primary goal the renovation work in PCB is to more tightly bind PCB into the entire gEDA workflow. More to the point: the gEDA tool chain should present a more uniform interface to the user. Users expect to see the same “look and feel†in all the tools they use. However, any changes made as part of this work shall not break any feature present in any other HID, including the Motif HID.

Code clarity

Many other changes are desirable in PCB. However, they are outside the scope of this work. The idea behind the changes specified here is that they create a launching point for other developers to come in afterward and continue improving PCB. Therefore, the developer must strive to make his code clear and well commented. Do not use hard to understand code tricks, obfuscating macros, or other devices which will hamper any follow-on work by other developers.

Doxygen

The developer should place Doxygen comments into the header of any new function he writes. Fully doxygenating PCB is outside the scope of this project, but the developer should at least use doxygen for the changes he makes.

Platforms

The upgrades to PCB must work on the usual platforms supported by the gEDA Project. Specifically:

  • Linux, BSD, Sun.
  • GTK version 2.18 or later

Hooks for support on Windows systems are outside the scope of this project. However, any Windows features present currently in PCB should not break as a result of these changes.

Backwards compatibility

Any changes made to PCB should not break the ability of PCB to import existing .pcb files. It is allowed to break import of .new.pcb files (i.e. the output of gsch2pcb).


Forward annotation upgrade

Feature description

The goal of forward annotation is to read the design information output from e.g. a netlister, and use it to import all information required into PCB, ready for use in creating or modifying a layout. Reading the following information is a required part of creating a PCB layout:

  • Footprints with associated refdeses and their associated layers (if assigned).
  • Graphical elements (pads, tracks, polygons, holes, etc) (usually imported from a previous design iteration).
  • Electronic connectivity (netlist).
  • Any global design information such as routing constraints. (Currently unsupported by PCB).

The scheme currently used by PCB is to read a file – already in PCB format – containing the actual footprints embedded within it. The netlist is read in using a separate step.

The new scheme would read a file containing a list of actions. Each line in the file would correspond to a separate action. The file would be generated by a forward annotation tool (e.g. gsch2pcb). The actions would correspond to the atomic actions performed by PCB itself when it finds a footprint by searching its footprint library.

For example, one line in the forward annotation file might say “(load-element-data SOT-23 U6)â€. This would make PCB look for an SOT-23 package in its footprint library (using PCB's $FOOTPRINT_PATH), place it in a waiting position on the PCB, and give it the refdes “U6â€. Another action might say “(add-line <layer> <X1> <Y1> <X2> <Y2> <width> <flags>)â€, which would add a straight line segment onto layer <layer> from position (X1, Y1) to position (X2, Y2) having width <width> and flags <flags>. (The flags would specify things like whether the line ends are round or square, along with the other properties of a line.)

Besides importing footprint and graphical information, the new PCB forward annotation facility should import the netlist at the same time as the rest of the layout information. (This is currently a separate step, which is inconsistent with the goal of ease-of-use.)

Note that the above descriptions of the actions are meant to provide examples of how PCB should be modified. The details of each action are to be determined by the developer and the architecture of PCB itself.

Use cases

Once the forward annotation changes are complete, the following use cases should apply:

New PCB

  1. The user creates his design using gschem.
  2. He creates a forward annotation file by running the .sch files through gsch2pcb, which creates a single .pfa (PCB forward annotation) file.
  3. The user starts PCB.
  4. He clicks “File → new PCBâ€. A window pops up, providing a place to enter the new board's layer count and size. The window may also provide a way to specify common board templates (PC-104, 3U Eurocard, etc.)
  5. The new board is shown in PCB's main window as a white area on a darker background (as currently implemented).
  6. The user clicks “File → Import forward annotation fileâ€.
  7. A file selection window pops up. The user clicks on his .pfa file and clicks OK.
  8. PCB reads each action in the forward annotation file, and does the corresponding thing.
  9. The PCB netlist is also imported during this activity. No separate netlist readin step is required.
  10. At the end of the file's read-in, the footprints should be present on the board (*not* in the paste buffer), ready to be disbursed and placed.

Existing PCB

  1. The user has a pre-existing .pcb file for the design under consideration. He makes changes to his design using e.g. gschem or gattrib.
  2. The creates a forward annotation file by running the .sch files through gsch2pcb, which creates a single .pfa (PCB forward annotation) file.
  3. The user starts PCB (or re-activates an existing PCB session running in its window).
  4. The user clicks “File → Import forward annotation fileâ€.
  5. A file selection window pops up. The user clicks on his .pfa file and clicks OK.
  6. PCB reads each action in the forward annotation file, and does the corresponding thing. Using the refdes, the importer looks to see if the component in the forward annotation file is already placed in PCB, and if so, it ignores the action.
  7. The netlist is also read in and updated at this stage. No separate netlist readin step is required.
  8. Once this action is complete, the user is ready to continue editing his board.

Other Ideas

  • Besides a menu option, there should be a toolbar button to sync changes
  • Alternately, a thread running a file change monitor can spot the new annotation file when it appears
  • Finally, the project manager (gsch2pcb / xgsch2pcb / geda_manager) can invoke readin of a forward annotation file via IPC

Work required

Some of the support for forward annotation already exists. Specifically, many actions are already supported. Therefore, this project involves:

  1. Creating the missing actions required for full forward annotation.
  2. Creating a method for reading in an action script.
  3. Integrating the new script-based forward annotation into PCB's GUI.
  4. Testing and bug cleanup.

GUI modernization

Ideas, commentary, and examples from users

The basic goal is to make the upgraded PCB behave exactly as an inexperienced user might expect, based upon his familiarity with modern GUI-based tools like OpenOffice. This means:

  • PCB should support all the “normal†keystrokes which have become defacto standards for GUI programs. Examples include <ctrl>-c for copy, <ctrl>-x for delete, etc. PCB may continue to support the old key strokes to maintain backward compatibility for those who are already experienced with the program, but in the event that one of PCB's current keystrokes conflicts with the “defacto standardâ€, the defacto standard shall be implemented.
  • PCB should support all actions using “noun/verb†syntax. Details of this upgrade are presented in the “actions†section below.
  • PCB should support normal selection modes (i.e. ways to select an object for editing or modification). Details of this upgrade are presented in the “selection methods†section below.
  • PCB's internals should be upgraded to easily support enhanced menus and button bars. This means upgraded callbacks and possibly also a resource file which specifies things like menu layout, menu options available, and keybindings.

If the descriptions in this specification are ambiguous or unclear, use the behaviors implemented in gschem as the preferred example.

Actions

The following actions should be modified to support a “noun/verb†actions, if they do not support it already. Where possible, support for the current “verb/noun†actions should not be dropped to maintain compatibility for users who have learned the old actions. However, if there is a conflict between the new noun/verb and the old verb/noun actions, the new noun/verb actions take presidence.

  • select/delete Using any of: menu item, <ctrl>-x. Delete should move the deleted object(s) from the layout into the copy buffer, so the user may place them elsewhere with a subsequent action. (NOTE: The copy buffer should probably be implemented separately from the existing “element bufferâ€.)
  • select/remove Using any of menu item, <del>, character d. Remove should permanently remove the selected item.
  • select/move Using: left mouse button down and drag. Also: Select, then use arrow keys to move the selected objects some small quantum of motion (perhaps the grid spacing) in the direction specified by the arrow.
  • select/copy Using any of: menu item, copy button, character c. <ctrl>-c. This should copy the selected items into the copy buffer so the user may place them elsewhere in a subsequent action. (NOTE: The copy buffer should probably be implemented separately from the existing “element bufferâ€.)
  • paste Using any of: menu item, paste button, <ctrl>-v. This will bring the contents of the copy buffer into action at the cursor. When the user clicks on the design, then the elements will be placed on the layout where the user clicks. Refer to the behavior of gschem to see exactly how this should work.
  • select/move selection to current layer Using menu item,
  • select/move object to opposite layer Using menu item, <shift>-c.
  • select/report object properties Using menu item or <ctrl>-r.
  • select/edit object properties Using menu item or double click on single object. This is a new action.
    If the selected object is a graphical primitive (line, arc, etc), PCB will open up a window displaying the object properties in an editable window, allowing for the user to modify the object's properties. For example double clicking on a Cu track should open up the edit window, showing the track's width, current layer, end type (round vs. square), and its beginning and end coordinates.
    If the selected object is a footprint, PCB will open up a window allowing the user to select a different footprint name. Some type of footprint browsing window with previewing should be presented to the user for this. The footprints should be found by looking through PCB's footprint search path. Recommendation: steal the symbol browser window from gschem for this task. (Question: how to back annotate this info into the .sch files?)
    If the selected object is text, then PCB should open up the text edit dialog box, allow the user to edit his text, click OK, and the text on the layout should be updated.
  • Select/rotate Using menu item or <ctrl>-r. This is a new window (the action already exists). This will open a window asking the user to type in a rotation angle. The user will type in the angle (in degrees), click OK, and the selected item will be rotated. Ideally, the rotation would apply globally to a selected set of items; it is up to the developer to determine if this is feasible. If not, then rotate should apply to only one item.

Selection modes

The following selection modes must be supported:

  • mouse click on single object.
  • <ctrl>-click on multiple objects. (Example: <ctrl>-click this 1, <ctrl>-click this 2, <ctrl>-click this 3, etc.)
  • Click and drag to select objects within a rectangular area.
  • <esc> clears all selections
  • <ctrl>-a selects all objects in the design.
  • <ctrl>-A selects all connected objects. (Question: What is this selection mode useful for?)

Work required

This project involves:

  1. Refactoring and upgrade of program internals to support noun/verb actions.
  2. Create new windows (e.g. object editor, move, rotate, etc.).
  3. Refactoring and upgrade of program internals to support selection modes.
  4. Implementation of GUI resource file which is read in upon program start to configure user interface.
  5. GUI upgrade. Specifically, hook up the callbacks to the menu items and buttons defined in the GUI resource file.
  6. Testing and bug cleanup.

Footprint editor implementation

Incorporating a good footprint editor into PCB is a common request from users. It is important for PCB to clearly distinguish between editing a footprint and editing an entire PCB design. Here are two possible methods to accomplish this:

  1. Although it is not optimal, the symbol editing mode present in gschem provides a reference for how this might be implemented. Specifically, editing a footprint may be implemented as a “modeâ€, in which the user drills down into the footprint, and is placed into a special mode of the standard PCB editing window which is reserved for editing footprints.
  2. Another way to implement a footprint editor is to have a pop-up window with its own drawing pane along with editing widgets specialized for creating and modifying footprints.

Optionally, features involving editing footprints via the buffer will be removed. Alternately, retain the option allowing the user to draw in the main window, select, then invoke some menu option to convert the selection to a footprint. This option may exist alongside the new footprint editor.

Invocation

There are two ways to invoke the footprint editor:

  1. Create a new footprint. In this case the user will have no object selected on the PCB drawing window. He will then choose an option from the menu, like “tools → down footprintâ€. This will place the user into the footprint editor, and the drawing area will be empty
  2. Edit an existing footprint. In this case, the user will select a footprint present on the board by clicking on it. Then he will select an option from the menu, like “tools → down footprintâ€. This will place the user into the footprint editor, and the drawing area will hold a copy of the selected footprint, ready for editing.

As a third possibility, the user should be able to do “tools → create new footprintâ€, go into the editor, and then do “file → open†and select a footprint from the library to edit.

As a fourth possibility, allow a mode similar to gschem, where a library browser is used to select and place primitive objects. That would save the user from needing to know where the library files are hidden.

Editing

The footprint editor should be a graphical drawing environment similar to that presented by PCB for layout editing.

  • Buttons and menus. The footprint editor should have all the same menus and buttons as are available from the PCB editor. Those menu items and buttons which are not useful for footprint editing should be greyed out.
  • Look and feel. Once the user is placed in the footprint editor, the PCB window should change in some way to reflect that the user is in a different mode. For example, the title bar must say “footprint modeâ€. Also, the drawing field background color might be changed a little bit to emphasize the change in mode.

The design choice of which environment is better is left to the developer to decide based upon factors including input from the community, ease of implementation, etc.

Saving

Once the user has edited his footprint, he will want to save it out. This is a problematic action, since it's not a good idea to allow the user to overwrite a footprint living in the footprint libraries. Moreover, the user may not have write access to the library directories.

Therefore, when the user is done editing his footprint, there should be only one save action available under the file menu: “file → save footprint asâ€. This will call up the file save dialog, which will default to sticking the footprint in the current working directory (or the last directory he saved a footprint into during this session). The user will then be required to browse to his preferred save directory, and save the footprint there.

Leaving

Once the footprint editing session is done, the user may leave the editor and return to his main PCB editing session. This may be accomplished using a menu item like “tools → up to layoutâ€. If any unsaved changes remain in the footprint, then the user should be prompted to either save or discard his changes before leaving the footprint editor.

Updating a footprint placed on the board

After editing a footprint and saving it out, the user will often want to update a footprint already present on the PCB. Here is the preferred method (use case) to do this:

  1. User selects footprint to update.
  2. From menu, user selects “tools → update footprintâ€. A keystroke to start this action may also be provided.
  3. A pop-up window opens, giving the user the footprint browser (as described above). The window will have has default footprint the name of the currently selected footprint.
  4. The user will either accept the default footprint presented, or he may search for a different footprint. When he is done, he will click OK.
  5. PCB will load the specified footprint from its library. Note: For this to work after editing a footprint, the user must place his local directory first on the footprint search path.
  6. PCB will then replace the old footprint on the board with the one pulled from the library. The old footprint (currently written into the .pcb file) will go away, and the new one will take its place.

Work required

This project involves:

  1. Create internal structures and methods needed to support a separate footprint editor.
  2. Create footprint editing window (if the separate window approach is adopted).
  3. Integrate access to footprint editor into main PCB GUI.
  4. Testing and bug cleanup.

Upgrade of layer and design objects

Feature Description

Currently, PCB's internal data structures only “know†about metal and silk layers. Other layers commonly used in PCB design are either missing (e.g. DRC layer, outline layer), or are simply derived from the metal layer (solder mask). This task involves implementing full support for layers of arbitrary type and layer count. Also, support for other design objects is part of this upgrade. Specific features required are:

  • Upgrade of existing datastructures to support layers of arbitrary type including: DRC, mechanical outline, annotation, solder mask, paste mask, plated through-hole, unplated through-hole, metal, silk. The upgrade must also provide support for an arbitrary number of layers. Also, allowing for per-layer clearance settings is an important feature for inclusion here.
  • Implement window widget allowing for easy selection/configuration of layer stack-up. Parameters to configure include: layer count, layer type, layer polarity, layer visibility, layer color. The window will also allow the user to re-order the layers (from front to back), and to add or subtract an arbitrary number of layers. The layer window presented in “gerbv†is a reasonable example of what this window should support.
  • Implement a new datastructure representing a pad stack.
  • Implement a window widget allowing for easy editing of the pad stack's properties, including: metal annulus outer diameter (per layer), solder mask diameter (per layer), paste mask diameter (per layer), clearance width (per layer), hole diameter.
  • Consider how the data-structures could allow support for blind or burried vias in the future.

Work required

This project involves:

  1. Upgrade internal structures and methods to enable full layer support.
  2. Create layer configuration window.
  3. Create internal datastructures and methods to support padstacks.
  4. Create padstack configuration window.
  5. Testing and bug cleanup.

Design Rule Checking Upgrade

Feature Description

The goal of design rule checking (DRC) is to insure that a printed circuit board layout conforms to a set of design rules. Design rules will consist of specifications like minimum copper line width, minimum copper spacing, etc. Generating a manufacturable PCB layout without DRC is tedious at best

The current PCB DRC steps through design rule violations one by one using a dialog box that reports the error, the coordinate position of the error and places the cursor at the error. Bouncing back and forth between the layout and the dialog box is time consuming. Knowing all of the errors prior to starting error correction is usually more productive.

A preferred method of reporting DRC violations would be to graphically indicate all errors on the layout. With this method all errors are quickly visible. DJ has suggested a layer for displaying DRC errors. The user should be able to turn the layer visibility on and off.

A useful option for DRC would be to have it run periodically. A proactive DRC should help novices avoid creating multiple similar errors. Threaded operation, or a DRC which works in packets of time where the mainloop hits idle would be possibilities here. Both have their merits and draw-backs. If the operation is slow, we'll need some way to queue the work such that updates to the board in the mean time queue updates for new DRC checking.

Similarly, we'd need to ensure that removing or changing objects on the board doesn't crash the DRC code - if it is running in a thread.

Use Cases

Manual DRC

  1. The user runs DRC using either a hot-key or menu item. An unobtrusive DRC status indicator is displayed. Perhaps the phrase “DRC Check†in yellow text in the top bar.
  2. DRC violation marks are displayed on the DRC layer or on the PCB the layout.
  3. An unobtrusive DRC status indicator is displayed. Perhaps the phrases “DRC PASS†in green text and “DRC FAIL†in red text in the top bar.
  4. If there are DRC failures the user can step to the next error manually or by using a hot-key. After changes are made the DRC can be run manually to verify the fix.

Automatic DRC

  1. Using a menu item the user can set the appropriate time interval for running DRC. A default value is used if a new value is not set.
  2. The user enables automatic DRC mode.
  3. After the DRC idle period has elapsed DRC runs. An unobtrusive DRC status indicator is displayed. Perhaps the phrase “DRC Check†in yellow text in the top bar.
  4. DRC violation marks are displayed on the DRC layer or on the PCB layout.
  5. An unobtrusive DRC status indicator is displayed. Perhaps the phrase “DRC PASS†in green text and “DRC FAIL†in red text in the top bar.
  6. If there are DRC failures the user can step to the next error manually or by using a hot-key. After changes are made the DRC can be run manually to verify the fix.

Work required

This project involves:

  1. Implementation of DRC layer (part of work called out in “DRC Upgrade†section).
  2. Upgrade existing DRC checker with new DRC layer.
  3. Update GUI to use upgraded DRC checker.
  4. Testing and bug cleanup.

Project milestones, duration, and budget estimates

Although they are intertwined, the major focus areas are scoped independently here. Ordinarily, a project manager would put a Gantt chart here, but that level of detail is probably too fine for the purposes of an open source project. Therefore, I simply call out an estimated time required for each subtask. The project duration times are SWAGs based upon my limited experience in estimating software projects. They are based upon 8 hour work days (i.e. this work is performed as a full-time job) at a nominal billing rate of $50/hour. It is up to the developer to validate these estimations and negotiate his own billing rate before he agrees to perform this work.

Forward annotation upgrade

  1. Determine which actions remain to be scripted so that forward annotation of any board is possible using an action list. (2 days).
  2. Define syntax for remaining actions, and document full syntax (2 days). This document will be used to update gsch2pcb (outside the scope of this project).
  3. Write sample action scripts for testing purposes (1 day).
  4. Creating the missing actions required for full forward annotation (3 days).
  5. Creating a method for reading in an action script (2 days)
  6. Integrating the new script-based forward annotation into PCB's GUI (1 day)
  7. Testing and bug cleanup (5 days).

Total duration: 16 days = 128 hours. Cost: $6400

GUI modernization

  1. Refactoring and upgrade of program internals to support noun/verb actions (5 days)
  2. Create new windows (e.g. object editor, move, rotate, etc.) (5 days).
  3. Refactoring and upgrade of program internals to support selection modes (5 days).
  4. Implementation of GUI resource file which is read in upon program start to configure user interface (3 days).
  5. GUI upgrade. Specifically, hook up the callbacks to the menu items and buttons defined in the GUI resource file (3 days).
  6. Testing and bug cleanup (5 days).

Total duration: 26 days = 208 hours Cost: $10400

Footprint editor implementation

  1. Create internal structures and methods needed to support a separate footprint editor (4 days).
  2. Create footprint editing window (if the separate window approach is adopted) (3 days).
  3. Integrate access to footprint editor into main PCB GUI (2 days).
  4. Testing and bug cleanup (5 days).

Total duration: 14 days = 112 hours. Cost: $5600

Layer/design object upgrade

  1. Upgrade internal structures and methods to enable full layer support (5 days).
  2. Create layer configuration window (3 days).
  3. Create internal datastructures and methods to support padstacks (4 days).
  4. Create padstack configuration window (3 days).
  5. Testing and bug cleanup (5 days).

Total duration: 20 days = 160 hours. Cost: $8000

Design Rule Checking Upgrade

  1. Implementation of DRC layer (part of work called out in “DRC Upgrade†section) (0 days, assuming layer upgrade is complete).
  2. Upgrade existing DRC checker with new DRC layer (3 days).
  3. Update GUI to use upgraded DRC checker (2 days).
  4. Testing and bug cleanup (5 days).

Total duration: 10 days = 80 hours. Cost: $4000

lepton-eda-1.9.10/docs/wiki/geda-icarus_quick_start.html0000644000175000017500000001331013634703632020136 00000000000000

gEDA » Documentation » Icarus Verilog » Getting Started

Getting Started with Icarus Verilog

Icarus Verilog is a Verilog compiler. It is suitable for use as a simulator, and, to some degree, synthesizer. Icarus Verilog runs under Linux and a variety of UNIX systems, as well as Windows as a command line tool, so the instructions are generally applicable to all environments. Note that this is only a quick start. For more detailed documentation, see the manual page for the iverilog command.

Hello, World!

The first thing you want to do as a user is learn how to compile and execute even the most trivial design. For the purposes of simulation, we use as our example the most trivial simulation:

"hello.vl"
module main;
 
initial
  begin
    $display("Hello, World");
    $finish ;
  end
 
endmodule

Download this program, or copy it from the Icarus Verilog examples directory. Next, compile it with a command like this:

% iverilog -o hello hello.vl

The results of this compile are placed into the file hello, as the -o flag tells the compiler where to place the compiled result. Next, execute the compiled program like so:

% vvp hello
Hello, World

And there it is, the program has been executed. So what happened? The first step, the iverilog command, read and interpreted the source file, then generated a compiled result. The compiled form may be selected by command line switches, but the default form is the VVP format, which is actually run by the vvp command.

The iverilog and vvp commands are the only commands that users use to invoke Icarus Verilog. What the compiler actually does is controlled by command line switches. In our little example, we asked the compiler to compile the source program to the default vvp form, which is in turn executed by the vvp program.

Windows Install

The easiest way to install under Windows is to get a precompiled installer for the version you wish to install. Icarus Verilog is distributed for Windows users as a self-installing .exe. Just execute the installer and follow the instructions. During the install, take note of the directory where the program is installed: for example, C:\iverilog is a good place to install.

Once the binary is installed, you need to add the bin directory to your execution path. The executables you need are in C:\iverilog\bin, where the C:\iverilog part is actually the root of where you installed the package. The programs are in the bin subdirectory. Put this directory in your PATH environment variable, and the above commands become accessible to you at the command line prompt, or even in batch files.

Linux Install

Under Linux, the install is even easier. For RedHat and Mandrake based systems, there is the appropriate RPM file. Just install the package with the rpm -U <file> command. Debian users should get Icarus Verilog packages from the main Debian software site.

Install From Source

In this case, see The Icarus Verilog Compilation System and other documentation that comes with the source.

lepton-eda-1.9.10/docs/wiki/geda-ubuntu.html0000644000175000017500000000321713634703632015566 00000000000000

Ubuntu Install Notes

Basic Stable Installation: Use apt-get or synaptic to install a stable version from Debian repositories. (easy). Alternately download a binary .deb from Debian (thanks to Hamish) and you can just sudo dpkg -i <pcb-version.deb>.

Build Installation: Ubuntu doesn't include everything you need to compile software yourself. You'll want to install the 'build-essential' package using apt-get or synaptic to get the basic toolchain working on your machine. (Things like GCC are not inc. in Ubuntu). For a testing maturity level for PCB or geda, build-essential should be all you need.

Be careful as synaptic can do extreme damage to your system. Do be fooled into replacing libc6 because synaptic will want to remove all applications that depend on it – meaning your entire system.

CVS Installation: For the CVS version of PCB under Edgy, your ./configure step will require running with switch –enable-maintainer-mode. (more notes needed)

lepton-eda-1.9.10/docs/wiki/geda-circuit_simulation_improvements.ru.html0000644000175000017500000004772213634703632023420 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

УÑовершенÑтвование Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ ÑлектричеÑких Ñхем в gschem

ОбоÑнование

Ðачинающим не так-то проÑто иÑпользовать gschem как оболочку Ð´Ð»Ñ ÑхемотехничеÑкого Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ (Ð´Ð»Ñ ngspice или gnucap). Вот что новому пользователю хотелоÑÑŒ бы делать в gschem:

  • определÑть, какие виды анализа нужно запуÑкать;
  • определÑть, графики каких напрÑжений и токов нужно выводить;
  • ÑобÑтвенно запуÑкать моделирование.

ЗапуÑк Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ поÑтобработка могут быть во внешней программе, вызываемой поÑредÑтвом IPC.

СущеÑтвует неÑколько графичеÑких оболочек, но они не решают вÑех вышеуказанных проблем:

Ð’Ñе оболочки имеют одну проблему — в них Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÑŒ Ñоединение, данные которого хотелоÑÑŒ бы увидеть. Ðужно знать Ð¸Ð¼Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑƒÐ·Ð»Ð°.

ÐаброÑок проекта

ДопуÑтим, нам хотелоÑÑŒ бы ÑовÑем немного изменить gschem и libgeda, чтобы иметь возможноÑть, по крайней мере, уÑтановить неÑколько измерительных приборов и запуÑтить моделирование.

Измерительные приборы

ИзмерителÑми тока могут быть обычные иÑточники поÑтоÑнного напрÑÐ¶ÐµÐ½Ð¸Ñ 0 Ð’. Легче вÑего в качеÑтве такого прибора иÑпользовать Ñимвол Ñ Ð´Ð²ÑƒÐ¼Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°Ð¼Ð¸, подобный обычному амперметру. ЕÑли нам захотелоÑÑŒ бы подключить измеритель тока к выводу, то нужно, чтобы генератор ÑпиÑка Ñоединений раÑпознал его и замеÑтил нашим «амперметром». ЕÑли в качеÑтве амперметра иÑпользовать иÑточник напрÑжениÑ, генератору не нужно будет знать имён Ñоединений внутри Ñхемы. Ð’Ñе иÑточники напрÑÐ¶ÐµÐ½Ð¸Ñ 0 Ð’ Ñо Ñпециальным именем уÑтройÑтва ÑвлÑлиÑÑŒ бы измерителÑми тока.

ИзмерителÑми напрÑÐ¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ быть иÑточники тока 0 Ð. Второй вывод иÑточника тока приÑоединÑетÑÑ Ðº GND атрибутом net. ПоÑтому Ñнова генератору ÑпиÑка Ñоединений не нужно будет знать имён Ñоединений, так как он Ñможет иÑпользовать Ñоединение, подключенное к Ñтому Ñпециальному иÑточнику тока. Подобно вышеопиÑанному иÑточнику напрÑÐ¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ бы быть Ñпециальный (графичеÑкий) Ñимвол, который раÑпознавалÑÑ Ð±Ñ‹ генератором ÑпиÑка Ñоединений.

ИÑточники тока и напрÑжениÑ

Определить параметры иÑточников не так проÑто. Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð½Ð¸ хранÑÑ‚ÑÑ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ атрибутов value Ñимвола, например value=pulse 0 1 10n 10n 100n 1u 2u. Эти наÑтройки должны ÑоответÑтвовать атрибутам SPICE pulse(V1 V2 TD TR TF PW PER).

Было бы здорово иметь диалоговое окно, предлагающее пользователÑм имена атрибутов, а не только Ñтроку значениÑ.

ÐаÑтройкой иÑточников напрÑÐ¶ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ тока могла бы заниматьÑÑ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸Ñ†Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð² (EE), ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð²Ñ‹Ð·Ñ‹Ð²Ð°Ð»Ð° бы Ð´Ð»Ñ Ñтих иÑточников Ñпециальные диалоговые окна их ÑвойÑтв. Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ñта команда вызывает диалоговое окно Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ñех атрибутов Ñимвола.

Моделирование

Как ÑохранÑть параметры Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ gschem.

Ð”Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² одного Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ иÑпользовать Ñимвол Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ уÑтройÑтва SIMULATION. Ð’Ñе параметры, определÑющие один вид Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑохранÑÑŽÑ‚ÑÑ ÐºÐ°Ðº атрибуты, прикреплённые к данному объекту:

  • вид анализа (dc, ac, tran,…);
  • параметры программы моделированиÑ;
  • программа моделированиÑ? (можем ли мы запуÑкать моделирование Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð¹ и той же Ñхемы в двух программах Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñразу?);
  • параметры Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ (глобальные параметры, температура, …).
v 20061020 1
C 41500 49200 1 0 0 spice-directive-1.sym
{
device=spice_simulation_block
refdes=A1
simulation_name=random name
simulation_active=1
simulation_type=DC 0V 1V 0.1V
parametric_simulation1=V1 lin 0 5 0.1
parametric_simulation2=R1.value lin 10k 100k 10k
option_TNOM=100 Deg
option_ABSTOL=1e-3
global_param1=???
global_param2=???
}

Таких объектов Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² одной Ñхеме могло бы быть много.

Ð”Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ñ… библиотек можно иÑпользовать либо директиву Ð²Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ (include), либо Ñимвол LIBRARY, Ñодержащий вÑе библиотеки в одном из двух видов:

  • как многоÑтрочный атрибут;
  • как неÑколько атрибутов библиотек, прикреплённых к Ñимволу LIBRARY.

Между глобальными, пользовательÑкими и локальными библиотеками должно быть различие. Глобальные и пользовательÑкие библиотеки могут определÑтьÑÑ Ð² gafrc или в новом конфигурационном файле spicerc.

Создание диалогового окна Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ gschem

ДопуÑтим, вÑÑ‘ что нам нужно, чтобы добавить поддержку Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² gschem, Ñто одно диалоговое окно.

  • Ð’ нём должен ÑодержатьÑÑ ÑпиÑок моделирований (в виде ÑпиÑка из их названий Ñ ÐºÐ½Ð¾Ð¿ÐºÐ°Ð¼Ð¸ разрешениÑ/запрета).
  • Ð’ нём должны быть иконки Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑ€Ð¸Ñ‚ÐµÐ»ÐµÐ¹.
  • Оно могло бы Ñодержать кнопки Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð½Ñтва общих Ñимволов: резиÑтора, конденÑатора, катушки индуктивноÑти, диода, … [R,C,L,D,M,E,F,G,H..]
  • Оно могло бы Ñодержать неÑколько диалоговых Ñлементов Ð´Ð»Ñ Ð½Ð°Ñтройки SPICE.
  • Оно могло бы Ñодержать кнопки Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ закрытиÑ.
  • ÐеÑколько добавочных кнопок, таких как, например: копировать моделирование, удалить моделирование, общие параметры…

При Ñоздании такого диалогового окна вÑе объекты Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑобираютÑÑ Ð² перечень видов Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ (в виде ÑпиÑка Ñ ÐºÐ½Ð¾Ð¿ÐºÐ°Ð¼Ð¸ разрешениÑ/запрета).

При изменении наÑтроек менÑÑŽÑ‚ÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ñ‹ ÑоответÑтвующего объекта моделированиÑ.

Диалоговое окно параметров

Какие параметры нужны Ð´Ð»Ñ Ñтого диалогового окна? И почему?

РаÑÑтавленные нами измерители можно иÑпользовать, чтобы Ñообщать программе Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾ том, какие нам хотелоÑÑŒ бы ÑохранÑть переменные, или программе поÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¾Ð² о том, какие хотелоÑÑŒ бы увидеть графики. Это вещи Ñовершенно различные, и нам нужна возможноÑть выбирать Ñледующее:

  • выводить на графиках вÑе маркеры и ÑохранÑть только напрÑÐ¶ÐµÐ½Ð¸Ñ ÑоответÑтвующих узлов;
  • выводить на графиках вÑе маркеры, но ÑохранÑть вÑе напрÑÐ¶ÐµÐ½Ð¸Ñ Ð¸ токи (Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ иÑточников напрÑжениÑ);
  • ÑохранÑть напрÑÐ¶ÐµÐ½Ð¸Ñ ÑƒÐ·Ð»Ð¾Ð² только Ð´Ð»Ñ Ñхемы текущего ÑƒÑ€Ð¾Ð²Ð½Ñ Ð¸Ð»Ð¸ также и Ð´Ð»Ñ Ð¿Ð¾Ð´Ñхем.

ЗапуÑк моделированиÑ

Кнопка Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² диалоговом окне должна вызывать Ñледующие дейÑтвиÑ:

  • Ñохранение Ñхемы (Ñпрашивать Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð»Ð¸ иÑпользовать временный файл?);
  • Ñоздание ÑпиÑка Ñоединений Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gnetlist;
  • Ñоздание файлов Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ включение туда ÑпиÑка Ñоединений (можно ли Ñто Ñделать тоже Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gnetlist?);
  • выполнение Ñкрипта запуÑка Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ (guile, sh, …).

Этот Ñкрипт мог бы вызывать даже диÑпетчер, который бы занималÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑтвом крупномаÑштабных моделирований.

Приложение

Символ Ð¸Ð·Ð¼ÐµÑ€Ð¸Ñ‚ÐµÐ»Ñ Ð½Ð°Ð¿Ñ€ÑÐ¶ÐµÐ½Ð¸Ñ (ÑÑкиз)

voltage_probe.sym
v 20061020 1
P 0 0 200 200 1 0 0
{
T 100 0 5 10 0 1 0 0 1
pintype=pas
T 0 100 5 10 0 1 0 0 1
pinseq=1
T 0 100 5 10 0 1 0 0 1
pinnumber=1
T 0 100 5 10 0 1 0 0 1
pinlabel=1
}
V 300 300 150 3 10 0 0 -1 -1 0 -1 -1 -1 -1 -1
L 300 200 240 360 3 10 0 0 -1 -1
L 300 200 360 360 3 10 0 0 -1 -1
T 0 500 9 10 0 0 0 0 1
device=VOLTAGE_PROBE
T 200 50 9 6 1 1 0 0 1
refdes=I_VP?
T 0 700 9 10 0 0 0 0 1
net=GND:2
T 0 900 9 10 0 0 0 0 1
value=DC 0A

Символ Ð¸Ð·Ð¼ÐµÑ€Ð¸Ñ‚ÐµÐ»Ñ Ñ‚Ð¾ÐºÐ° (ÑÑкиз)

current_probe.sym
v 20061020 1
P 0 200 150 200 1 0 0
{
T -150 50 5 10 0 1 0 0 1
pintype=pas
T 50 250 5 10 0 1 0 0 1
pinseq=1
T 50 250 5 10 0 1 0 0 1
pinnumber=1
T 50 250 5 10 0 1 0 0 1
pinlabel=1
}
V 300 200 150 3 10 0 0 -1 -1 0 -1 -1 -1 -1 -1
L 300 300 380 140 3 10 0 0 -1 -1
L 300 300 220 140 3 10 0 0 -1 -1
T 0 500 9 10 0 0 0 0 1
device=CURRENT_PROBE
T 200 370 9 6 1 1 0 0 1
refdes=V_IP?
P 600 200 450 200 1 0 0
{
T 500 50 5 10 0 1 0 0 1
pintype=pas
T 500 250 5 10 0 1 0 0 1
pinseq=2
T 500 250 5 10 0 1 0 0 1
pinnumber=2
T 500 250 5 10 0 1 0 0 1
pinlabel=2
}
L 240 180 360 180 3 10 0 0 -1 -1
T 0 700 9 10 0 0 0 0 1
value=DC 0V

Ещё один Ñимвол Ð¸Ð·Ð¼ÐµÑ€Ð¸Ñ‚ÐµÐ»Ñ Ñ‚Ð¾ÐºÐ° (ÑÑкиз), который иÑпользует Kurt Peters

ammeter.sym
v 20061020 1
T 700 650 8 10 1 1 0 0 1
refdes=VAM?
T 700 850 5 10 1 1 0 0 1
device=Ammeter
T 700 1050 5 10 0 0 0 0 1
footprint=none
T 700 1250 5 10 0 0 0 0 1
numslots=0
T 700 1450 5 10 0 0 0 0 1
description=ammeter for spice
P 300 1200 300 900 1 0 0
{
T 350 1000 5 8 1 1 0 0 1
pinnumber=1
T 350 1000 5 8 0 1 0 2 1
pinseq=1
T 400 850 9 8 1 1 0 5 1
pinlabel=+
T 300 700 5 8 0 1 0 5 1
pintype=pwr
}
P 300 0 300 300 1 0 0
{
T 350 100 5 8 1 1 0 0 1
pinnumber=2
T 350 100 5 8 0 1 0 2 1
pinseq=2
T 300 500 5 8 0 1 0 3 1
pintype=pwr
T 300 300 5 10 1 1 0 0 1
pinlabel=-
}
L 300 400 400 500 3 0 0 0 -1 -1
L 200 500 300 400 3 0 0 0 -1 -1
T 700 450 5 10 0 1 0 0 1
value=DC 0V
L 300 400 300 800 3 0 0 0 -1 -1
L 100 800 500 400 3 0 0 0 -1 -1
B 0 300 600 600 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
L 200 800 100 800 3 0 0 0 -1 -1
L 100 700 100 800 3 0 0 0 -1 -1
lepton-eda-1.9.10/docs/wiki/geda-gsch2pcb_tutorial_releasenotes.html0000644000175000017500000000677513634703632022447 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

Release Notes for gsch2pcb Tutorial

These are the release notes to the gsch2pcb tutorial.

  • Starting with the PCB-20050609 snapshot, PCB has a new Gtk user interface which replaces the old Xaw interface and this tutorial will describe using the Gtk interface. If you are still using the Xaw PCB, you can search the older version of this tutorial in your distribution, which is very likely also not up to date with info on the gEDA gafrc files.
  • If you have a gschem version less than 20030525 these tutorial examples may not work as expected.
  • If you have gEDA version 20030901 installed such that you are using its included gsch2pcb 0.9 and you are getting an error:
    ERROR: Unbound variable: open-output-pipe

    then the problem is syntax in gnet-gsch2pcb.scm that worked in guile 1.4 but does not work in guile 1.6. You'll need to upgrade to using at least gsch2pcb 1.0.1 to solve this problem.

  • As of about 1/9/2004 CVS PCB versions changed to using a hi resolution output file format which will require using at least gsch2pcb-1.4.
  • Mini Changelog
    • 5/16/2007 Imported into wiki. We'll see if it's worth keeping this Changelog up to date after this.
    • 6/23/2005 Added gafrc file info to setup section. Updated the tutorial to use the Gtk PCB.
    • 1/10/2004 Corrected my sloppy PCB file elements which had silkscreen lines overlapping solder pads.
    • 12/23/2003 Added comments about new CVS PCB versions which have the m4 and newlib directories default installed under /usr/share or /usr/local/share.

Source of the original document

The tutorial was originally prepared by Bill Wilson (billw–at–gkrellm.net).

lepton-eda-1.9.10/docs/wiki/geda-add_a_ground_plane_to_your_layout.html0000644000175000017500000000672313634703632023213 00000000000000

How to do no-fuss auto-routing with ground planes that works well:

  • Group bottom, ground, and bottom layer together.
  • Group top, power, and power layer together.
  • Lay out your circuit, yadda yadda.
  • Run ground traces on the ground layer and power traces on the power layer:
  • Do these steps for both top/power and bottom/ground:
    • Turn off all layers but the top layer.
    • Use Ctrl-F on any power connection.
    • Use Select/Select all found.
    • Use Connects/Auto-route selected rats.
    • Auto-optimize and miter.
    • Turn on the top and bottom layers.
  • Route everything else using Connects/Auto-route all rats.
  • Auto-optimize and miter.
  • The Message Log will report that your layout is complete.
  • Select the top and draw a rectangle.
  • Select the bottom and draw a rectangle.
  • This fills-in the ground plane, but you're not done, because you still have the traces.
  • Do these steps for both ground and power:
    • Use Ctrl-F on any ground connection (best where the power comes in).
    • While you're there, select the Via tool and drop a via on that connection.
    • Use Select/Select all found
    • Use Select/Rip up selected auto-routed tracks.
    • Use Connects/Optimize rats nest again.
  • Use Connects/Auto-route all rats.
  • The Message Log will report that your layout is complete.

There's a bunch of steps, but it will work a champ every time, because first routing power and ground ensures that when you flood it with power and ground planes, you'll have full connectivity. The only drawback is that you can get unnecessarily long traces and jumps to the other plane involving extra vias. On a 27 part board, I only spotted two jumps and one derp trace.

All of this is necessary because the auto-router doesn't know that the ground plane will magically disappear when you lay a trace across it.

lepton-eda-1.9.10/docs/wiki/gsoc2010.html0000644000175000017500000001165113634703632014605 00000000000000

Google Summer of Code 2010

The gEDA Project is going to apply for the Google's Summer of Code 2010 program! Therefore, this page is a work in progress, and will be publically announced if and when the gEDA Project does get accepted into GSoC 2010.

The gEDA project is excited to have this opportunity again and thanks Google for investing in and organizing the GSoC program. This wiki page will develop as we plan our GSoC 2010 activities.

Suggested Projects

You are welcome to either suggest a new project idea, or select one from our list of suggested projects.

What we ask from Students

2010 is the third year in which the gEDA Project has participated in Google's Summer of Code program. Through our experience, we have learned a couple of things about running a successful program. Most importantly, keep in mind that Google Summer of Code is meant to be a full time summer job. We don't want applicants who work a different job during the day and then try to work on GSoC at night. It's not fair to us since you won't be productive, it's not fair to Google since they're paying you for full-time work, and it's not good for you since you'll soon exhaust yourself and won't enjoy the GSoC experience!

Here are the things we ask of our students to help make the GSoC experience a success for everybody.

Archived project info

Mentors and Administrators

Here is a list of mentors and administrators for the gEDA Project's GSoC in 2010. Please feel free to contact any of us with any questions you may have.

Mentors
  • Peter Brett (peter (AT) peter-b (DOT) co (DOT) uk) - gEDA/gaf
  • Harry Eaton (bumpelo (AT) gmail (DOT) com) - PCB
  • DJ Delorie (dj (AT) delorie (DOT) com) - PCB
  • Julian Lamb (thepurlieu (AT) gmail (DOT) com) - gerbv
  • Al Davis (ad252 (AT) freeelectron (DOT) net) - gnucap
  • Steve Tell (tell (AT) telltronics (DOT) org) - gwave
Administrators
  • Stuart Brorson (sdb (AT) cloud9 (DOT) net) - Primary GSoC admin
  • Ales Hvezda (ahvezda (AT) moria (DOT) seul (DOT) org) - Back-up GSoC admin
lepton-eda-1.9.10/docs/wiki/geda-gnetlist_scheme_tutorial.html0000644000175000017500000004220513634703632021344 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

Scripting a gnetlist backend in Scheme

by John Doty

(this was originally posted to the gEDA-user mailing list in July 2009)

Don't Panic!

If you've never written a program in Lisp, it looks daunting. But it's a lot easier than it looks. Wrap a little bit of “syntactic sugar†around Lisp, and it becomes Logo, which elementary school children can learn.

And, just to make it clear what some of the funny words mean, Lisp is a computer language, Scheme is a dialect of Lisp, and Guile is an implementation of Scheme. Guile is used for “scripting†gEDA. In particular, the gnetlist front end, written in C, extracts topology and attribute information from schematics, and then presents that data to “back end†Guile scripts for processing and output.

This tutorial is specifically about programming gnetlist back ends in Scheme. If you don't already know Scheme, you should probably look at other material too, such as:

http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html

Or look up “Scheme tutorial†with your favorite engine: there are many.

The reference document at:

http://www.gnu.org/software/guile/manual/html_node/index.html

may also be useful.

OK, let's get started. Here's a particularly simple back end:

;; gnetlist development playground
 
(use-modules (ice-9 readline))
(activate-readline)
 
(define (devel output-filename)
	(scm-style-repl)
)

To use this, put it in a file called gnet-devel.scm. Copy this file to wherever gnetlist Scheme files are kept on your system. On the machine I'm using today, the command is:

$ sudo cp gnet-devel.scm /sw/share/gEDA/scheme/

The â€/sw/†will be â€/usr/†for most Linux package installations, maybe â€/usr/local†or â€~/mygeda/†for a tarball installation. You'll have to figure that out. If the target location is writable by you without superuser privileges, you won't need the “sudoâ€.

Now, translating â€/sw/†as needed, type:

$ gnetlist -g devel /sw/share/gEDA/examples/lightning_detector/lightning.sch

You should see the usual gnetlist boiler plate, followed by:

guile>

Try:

guile> packages

You should see:

("Q3" "R5" "Q2" "R4" "Q1" "C6" "R3" "L2" "A1" "bat(+3v)" "lamp(1)" "R2" "C5" "L1" "R1" "C4" "lamp(2)" "C3" "C2" "C1" "D1" "bat(0v)" "R7" "Q4" "R6")

“packages†is a handy variable, containing a list of all unique “refdes=†attribute values. By typing it, you fed it to the “REPLâ€, the Read, Evaluate, Print Loop. So, the REPL read it, evaluated it (getting a list), and printed it.

Now try:

guile> (length packages)
25

What happened here? Here, the REPL evaluated the list

(length packages)

In most programming languages, you'd write this expression in more traditional functional notation as “length( packages )â€. “length†is a function, which tells you the length of a list.

Use the same notation to do arithmetic. For example, calculate “2+3†as:

guile> (+ 2 3)
5

Note that the procedure â€+†can be used to add any number of quantities, including none at all:

guile> (+)
0
guile> (+ 1 2 3)
6

We'll make use of this later on.

The readline stuff in our gnet-devel.scm back end allows you to use the cursor keys on your keyboard to move around through the history and edit input. Very handy when interacting. Try it.

Another useful variable gnetlist defines is “all-unique-nets†(type it). Just as â€(length packages)†tells you how many packages you have, â€(length all-unique-nets)†will tell you how many nets you have.

Then there's all-pins:

guile> all-pins
(("1" "2" "3") ("2" "3" "1") ("2" "1") ("1" "2") ("1" "2") ("1" "2") ("1" "2") ("1" "2") ("1" "2") ("2" "1") ("2" "1") ("2" "1") ("1" "2") ("2" "1") ("1") ("1") ("2" "1") ("2" "3" "1") ("2" "3" "1") ("1") ("2" "1") ("2" "3" "1") ("1" "2") ("1") ("1"))

Note that this is a little more complicated than the previous examples: it's a list of lists, not just a list of strings. Each of the lists corresponds to the pins on one package. One thing we might want to extract from this is a count of the number of pins. We can't just take the length of all-pins to get this: that gives us the number of lists it contains, which is the number of packages:

guile> (length all-pins)
25

To get the pin count, first get the individual pin counts for each package:

guile> (map length all-pins)
(3 3 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 3 3 1 2 3 2 1 1)

This is one of the easy ways to do a “loop†in Scheme; (map p x) yields a list of the results of calling procedure p individually for each element of x. Then we can add them up with a slightly different kind of “loopâ€:

guile> (apply + (map length all-pins))
50

(apply p x) calls procedure p once, with all of the elements of x as arguments. So the expression above winds up evaluating:

(+ 3 3 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 3 3 1 2 3 2 1 1)

Thus far we've been using predefined variables and procedures. We'll want to be able to define our own. It's easy:

guile> (define the-answer 42)
guile> the-answer
42

This defines a variable, the-answer, and gives it the value 42.

We can also define procedures:

guile> (define add1 (lambda (x) (+ x 1)))
guile> (add1 100)
101

When you see “lambda†think “procedureâ€. The first thing (the technical term is “formâ€) following “lambda†is a list of the arguments of the procedure, in this case â€(x)â€. When the the procedure is called, Guile evaluates the remaining forms, in this case just one, â€(+ x 1)â€, with actual arguments substituted. The result of the procedure is the result of evaluating the last form. So, â€(add1 100)†becomes â€(+ 100 1)â€, which evaluates to 101.

Now we can put our statistics collection together into a back end. First, define a procedure to write a line of output:

(define format-line
     (lambda (name value)
         (display name)
         (display value)
         (newline)
     )
)

We're using two new builtin procedures here, “display†and “newlineâ€, which should be self-explanatory. Now:

(define display-stats
     (lambda ()                  ; no arguments
         (format-line "pins:     " (apply + (map length all-pins)))
         (format-line "packages: " (length packages))
         (format-line "nets:     " (length all-unique-nets))
     )
)
guile> (display-stats)
pins:     50
packages: 25
nets:     13

To finish off a back end, we need a “main programâ€. By convention, that has the name of the back end. It has the responsibility of opening the output file, too. So, for a “stats†back end for collecting the stats, the entire file looks like:

;; gnetlist back end for extracting design statistics
;;
;; Legal boilerplate here as needed
 
(define stats
     (lambda (filename)
         (set-current-output-port (open-output-file filename))
	(display-stats)
     )
)
 
;; Collect and output the statistics
 
(define display-stats
     (lambda ()                  ; no arguments
         (format-line "pins:     " (apply + (map length all-pins)))
         (format-line "packages: " (length packages))
         (format-line "nets:     " (length all-unique-nets))
     )
)
 
;; Simple output format
 
(define format-line
     (lambda (name value)
         (display name)
         (display value)
         (newline)
     )
)

Put this in a file named gnet-stats.scm, copy it to where it belongs with something like

$ sudo cp gnet-stats.scm /sw/share/gEDA/scheme/

and then “gnetlist -g stats†followed by the usual other arguments and schematic pathnames will put your design's statistics in the output file (default output.net).

Pretty easy, huh? Useful, too. Lately I've been designing systems that consist of stacks of boards: statistics like these are helpful in figuring out which subsystems I should combine on each board.

lepton-eda-1.9.10/docs/wiki/gwave-projects.html0000644000175000017500000001445413634703632016313 00000000000000

Gwave -- analog waveform viewer

Gwave is an analog waveform viewer which is used to view the output files produced by ngspice or gnucap. Here are some feature suggestions. You might choose a large handful of features to implement as your GSoC project.

gEDA integration

This project involves improving the integration of gwave into the interprocess-communication to and from the other tools, especialy gschem and gnucap. While gwave has an X11-based remote mechanism, Dbus is now the standard, and should probably be used instead.

Developing unit tests for GTK+-2.0

Gwave has been ported to Gtk2. As part of this effort, developing a battery of unit tests for gwave would be useful. The idea is to create a variety of different input files which exercise gwave's ability to import and display waveforms. An important feature for testing will be to compare the displayed waveform against a “golden†waveform to verify rendering correctness.

User Interface
  • Replace the existing variable-list with a tree-style variable-selector. allow multiple ways of organizing the tree: file/sweep/variable vs. file/variable/sweep, extract circuit heirarchy from variable names, etc. Perhaps a two-pane tree browser, with the internal nodes of the tree in one pane, and the leaf nodes (variables that can be displayed) in another.
  • Add icons to the toolbar elements
  • Enhance use of Gtk2.0 file chooser: wildcards for selecting particular types of files,
  • Accept drag-and-drop from a file manager to add files, run scripts
  • Allow drag-and-drop from one wavepanel to another to move wave
  • Remember/restore the position of the windows, both most-recent-session, and also save it in the scripts.
  • Add keybinding mechanism
  • An undo stack for operations that change the view
  • Add a guile console window, where expressions can be typed to query/manipulate/debug gwave objects and variable data.
Data visualization and analysis
  • Draw a real graticule in wave panels, including a grid of faint/dotted lines and numeric scales
  • Add ability to customize measurements
  • Add additional drawing styles: dotted/dashed lines, symbols showing actual datapoints,
  • Add user-configurable colors
  • waveform calculations (Requires some of the infrastructure work below)
    • display-functions of a single wavevar and scalars
    • display-functions of wavevars sharing the same independent var
    • more general stuff that computes a new wavevar
  • Additional types of wavepanels for different types of viewing/analsis. (best done after refactoring the wavepanel UI elements into a class heirarchy of proper Gtk widgets)
Datafile/Variable Infrastructure
  • Readers for additional file-formats: wdf, sst2, psf have been mentioned
  • Convert from ad-hoc data structures to a glib/GObject class heirarchy
  • Ability to add a variable to a file after it is read in, to support computing a new variable as a function of existing ones
  • Deferred read: initialy read only the independent variable from a datafile, then read the others when they are first displayed.
  • Add a new class of variable, which is a function of other variables and constants to computed on the fly as it is displayed
  • New class of variable for digital data; reader and display capability for verilog vcd
  • Ability to create new datafile-like constructs programaticly, to hold the result of computations involving variables in two or more exisiting files.
  • Handle creation of the independent-variable intelligently.
Other infrastructure
  • convert other data structure from ad-hoc structures wrapped as custom SMOBs to GObject wrapped with guile-gobject.
  • Convert the wavepanel drawing-area code into a new Gtk widget type
lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-colors_styles.ru.html0000644000175000017500000001776613634703632021552 00000000000000

Цвета и Ñтили

Видом графичеÑких Ñлементов в Ñхемах и Ñимволах можно управлÑть неÑколькими ÑпоÑобами.

Цвета объектов

Ð”Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ†Ð²ÐµÑ‚Ð¾Ð² объектов в Ñхемах и Ñимволах иÑпользуетÑÑ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð½Ð°Ñ Ð¿Ð°Ð»Ð¸Ñ‚Ñ€Ð°, каждый цвет которой имеет оÑобое значение. Чтобы изменить цвет Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°, выделите его и в меню выберите Правка→Цвет… [Edit→Color…]. ОткроетÑÑ Ð¾ÐºÐ½Ð¾ «Правка цвета» [«Color Edit»], где в выпадающем меню, в котором показаны вÑе иÑпользуемые цвета и их названиÑ, можно будет выбрать нужный цвет.

Ðе забудьте, что у других пользователей Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ¸ может иÑпользоватьÑÑ Ñ†Ð²ÐµÑ‚Ð¾Ð²Ð°Ñ Ñхема, отличающаÑÑÑ Ð¾Ñ‚ вашей, поÑтому ваши Ñхемы и Ñимволы у них могут выглÑдеть не так, как у ваÑ. См. также Вид и отображение Ñхем.

СвойÑтва линии

Ð”Ð»Ñ Ñ‚Ð°ÐºÐ¸Ñ… объектов, как линии, дуги, прÑмоугольники, окружноÑти и многоугольники, можно наÑтроить толщину и тип линий. Выделите объекты, которые надо изменить, и откройте окно «СвойÑтва линии» [«Edit Line Width & Type»], выбрав в меню Правка→СвойÑтва линии… [Edit→Line Width & Type…]. ПоддерживаетÑÑ Ð½ÐµÑколько типов линий:

  • «ÑплошнаÑ» [«Solid»] — Ð½ÐµÐ¿Ñ€ÐµÑ€Ñ‹Ð²Ð½Ð°Ñ ÑÐ¿Ð»Ð¾ÑˆÐ½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ (иÑпользуетÑÑ Ð¿Ð¾ умолчанию);
  • «пунктирнаÑ» [«Dotted»] — Ñ‚Ð°ÐºÐ°Ñ Ð»Ð¸Ð½Ð¸Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶Ð°ÐµÑ‚ÑÑ Ð² виде поÑледовательноÑти точек, диаметр которых определÑетÑÑ Ñ‚Ð¾Ð»Ñ‰Ð¸Ð½Ð¾Ð¹ линии, а раÑÑтоÑние между ними задаётÑÑ Ð² поле «Интервал:» [«Dash Space»];
  • «штриховаÑ» [«Dashed»] — Ñта Ð»Ð¸Ð½Ð¸Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶Ð°ÐµÑ‚ÑÑ Ð² виде поÑледовательноÑти штрихов, длина которых наÑтраиваетÑÑ Ð² поле «Длина штриха:» [«Dash Length»], а раÑÑтоÑние между ними — в поле «Интервал:»;
  • «штрих-пунктирнаÑ» [«Center»] — Ñто линиÑ, ÑоÑтоÑÑ‰Ð°Ñ Ð¸Ð· поÑледовательноÑти штрихов (длина которых задаётÑÑ Ð² поле «Длина штриха:») и точек, раÑÑтоÑние между ними задаётÑÑ Ð² поле «Интервал:».
  • «двойной штрих-пунктир» [«Phantom»] — то же Ñамое что и «штрих-пунктирнаÑ» линиÑ, но между каждой парой штрихов ÑтавитÑÑ Ð¿Ð¾ две точки (то еÑть «штрих-точка-точка-штрих» вмеÑто «штрих-точка-штрих»).

Шаблоны Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñ„Ð¸Ð³ÑƒÑ€

Ð”Ð»Ñ Ð¿Ñ€Ñмоугольников, окружноÑтей и многоугольников (контуров) можно иÑпользовать разные Ñтили заполнениÑ. Ð”Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½ÑƒÐ¶Ð½Ð¾ открыть окно «Изменение заполнениÑ» [«Edit Fill Type»], выбрав в меню Правка→Заполнение… [Edit→Fill Type…]. Ð’ раÑпорÑжении имеютÑÑ Ñледующие шаблоны:

  • «без заполнениÑ» [«Hollow»] — фигура выводитÑÑ Ð±ÐµÐ· Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ (иÑпользуетÑÑ Ð¿Ð¾ умолчанию);
  • «ÑÐ¿Ð»Ð¾ÑˆÐ½Ð°Ñ Ð·Ð°Ð»Ð¸Ð²ÐºÐ°Â» [«Filled»] — фигура заливаетÑÑ Ð¿Ð¾Ð»Ð½Ð¾Ñтью одним цветом;
  • «в линейку» [«Hatch»] — фигура заштриховываетÑÑ Ð¾Ð´Ð¸Ð½Ð°Ñ€Ð½Ð¾Ð¹ штриховкой, в данном Ñлучае необходимо указать угол наклона линий штриховки («Угол 1» [«Angle 1»]) и раÑÑтоÑние между ними («Шаг 1» [«Pitch 1»]);
  • «в клетку» [«Mesh»] — фигура заполнÑетÑÑ Ð¿ÐµÑ€ÐµÐºÑ€Ñ‘Ñтной штриховкой, то еÑть Ð´Ð²ÑƒÐ¼Ñ Ð¿Ñ€Ð¾Ñтыми штриховками в разных направлениÑÑ…; как и Ð´Ð»Ñ ÑˆÑ‚Ñ€Ð¸Ñ…Ð¾Ð²ÐºÐ¸ «в линейку», Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ из них Ñледует указать угол и раÑÑтоÑние.

При задании штриховки «в линейку» или «в клетку» в поле «Толщина линии:» [«Line Width»] нужно также задать толщину линий штриховки.

lepton-eda-1.9.10/docs/wiki/geda-transistor_guide.ru.html0000644000175000017500000005437013634703632020264 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

РуководÑтво по транзиÑтору - Ñимволу gschem и pcb-Ñлементу

Ð’Ð¾Ð¿Ñ€Ð¾Ñ ÑоÑтоит в том, как при работе Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¾Ð¹ Ñимволов транзиÑторов Ð´Ð»Ñ gschem и библиотекой Ñлементов транзиÑторов Ð´Ð»Ñ pcb ухитритьÑÑ Ñделать так, чтобы мы могли быть уверены в правильноÑти ÑоответÑÑ‚Ð²Ð¸Ñ Ð´Ñ€ÑƒÐ³ другу номеров выводов в Ñтих библиотеках. Ðам нужно уÑловитьÑÑ, как обращатьÑÑ Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ переÑтановками выводов Ñмиттера, базы и коллектора (e,b,c) и разными вариантами количеÑтва и нумерации выводов корпуÑов. Ð’ наÑтоÑщем документе предÑтавлен подход, иÑпользуемый мной Ð´Ð»Ñ Ð¼Ð¾Ð¸Ñ… ÑобÑтвенных Ñимволов gschem и Ñлементов pcb.

Символы gschem

ЕÑть пара доÑтойных Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ñ€ÐµÑˆÐµÐ½Ð¸Ð¹:

  1. Иметь базовый набор Ñимволов транзиÑторов Ð´Ð»Ñ gschem, таких как npn.sym, pnp.sym, fet.sym и Ñ‚. д., имеющих фикÑированные и назначенные произвольно номера выводов Ð´Ð»Ñ Ñмиттера, базы и коллектора. Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ñ… вариантов ÑоответÑÑ‚Ð²Ð¸Ñ (e,b,c) номерам выводов Ð´Ð»Ñ Ñ€Ð°Ð·Ð½Ñ‹Ñ… корпуÑов транзиÑторов, нужно бы иметь набор pcb-Ñлементов Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из корпуÑов, например, TO-92-123, TO-92-132, TO-92-213, TO-92-231, TO-92-312, TO-92-321, и таким же образом Ð´Ð»Ñ TO-220, TO-5 и других. Проблема здеÑÑŒ в том, что номера выводов определÑÑŽÑ‚ÑÑ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ñми и нам пришлоÑÑŒ бы Ñделать множеÑтво Ñлементов Ñ Ñ‚Ð°ÐºÐ¾Ð¹ нумерацией, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð½Ð° Ñамом деле ни Ð´Ð»Ñ ÐºÐ°ÐºÐ¸Ñ… приборов не иÑпользуетÑÑ. Помните, что pcb-Ñлементы на топологичеÑкой Ñхеме в pcb должны ÑоответÑтвовать физичеÑким Ñлектронным компонентам.
  2. Иметь базовый набор Ñимволов транзиÑторов Ð´Ð»Ñ gschem, охватывающий вÑе возможные варианты переÑтановок (e,b,c), которые могут ÑущеÑтвовать Ð´Ð»Ñ Ð»ÑŽÐ±Ð¾Ð³Ð¾ из данных корпуÑов транзиÑторов. Ðабор Ñимволов npn-транзиÑторов Ð´Ð»Ñ gschem мог бы Ñодержать npn-ebc.sym, npn-ecb.sym, npn-bec.sym, npn-bce.sym, npn-ceb.sym и npn-cbe.sym. Подобные наборы могли бы ÑущеÑтвовать и Ð´Ð»Ñ pnp-транзиÑторов, и Ð´Ð»Ñ Ð¿Ð¾Ð»ÐµÐ²Ñ‹Ñ… (fet-sdg.sym, fet-sgd.sym, …). Ð’ Ñтом Ñлучае можно иметь pcb-Ñлементы только Ð´Ð»Ñ Ð´ÐµÐ¹Ñтвительно ÑущеÑтвующих корпуÑов транзиÑторов.

Следует отметить, что второй подход очевидно лучше. ÐаÑтройка Ñимволов gschem доÑтаточно проÑта, надо проÑто Ñоздать шеÑть Ñимволов Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ типа транзиÑтора, в которых номера выводов Ñмиттера, базы и коллектора ÑоответÑтвуют их поÑледовательноÑти в названии Ñимвола. Ðапример, Ð´Ð»Ñ Ñимвола npn-ebc.sym атрибут pinnumber Ñмиттера имел бы значение 1, pinnumber базы — 2, а pinnumber коллектора — 3. Теперь нужно только Ñоздать Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¿ÑƒÑов транзиÑторов pcb-Ñлементы Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾ пронумерованными выводами, когда они вам понадобÑÑ‚ÑÑ, и нужна методика Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтих Ñлементов.

pcb-Ñлементы

Что Ñледует иметь в виду при раÑÑмотрении номеров и конфигурации выводов корпуÑа транзиÑтора, так Ñто то, что обозначение TO («Transistor Outline» — ÑÑкиз транзиÑтора) — Ñто на Ñамом деле как раз и еÑть проÑто обозначение ÑÑкиза корпуÑа оÑобой формы и размеров. Это отнюдь не ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² Ð´Ð»Ñ Ñтого корпуÑа. Производители могут Ñпецифицировать Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ñ€Ð¿ÑƒÑов TO Ñвоими внутренними кодами «типоразмеров» или «номеров корпуÑов». Ð’ таких ÑпецификациÑÑ… уÑтанавливаетÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ количеÑтва выводов, их раÑположение и нумерациÑ.

Тем не менее Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ Ñ‡Ð°Ñть корпуÑов TO ÑоответÑтвует Ñтандартному Ñоглашению по нумерации выводов и имеет общепринÑтое количеÑтво и раÑположение выводов. ПоÑтому еÑть ÑмыÑл иметь у ÑÐµÐ±Ñ pcb-Ñлементы Ð´Ð»Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ñ‹Ñ… названий TO, которые могут иÑпользоватьÑÑ Ð² большинÑтве Ñлучаев. РеÑли вдруг вÑтретитÑÑ Ð¸Ñключение из правила, то Ð´Ð»Ñ Ñ‚Ð°ÐºÐ¾Ð³Ð¾ ÑÐ»ÑƒÑ‡Ð°Ñ Ð¼Ð¾Ð¶Ð½Ð¾ Ñделать и новый pcb-Ñлемент.

ЗдеÑÑŒ приводитÑÑ Ð¾Ð¿Ð¸Ñание тех конфигураций корпуÑов транзиÑторов, что предÑтавлÑÑŽÑ‚ÑÑ Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ общими:

  • Силовые транзиÑторы в плаÑтмаÑÑовом корпуÑе: ПоÑмотрите на лицевую Ñторону корпуÑа (где находитÑÑ Ð½Ð°Ð´Ð¿Ð¸ÑÑŒ), при Ñтом выводы должны быть Ñнизу. Выводы нумеруютÑÑ Ñлева направо (1,2,3). Это наиболее общий ÑпоÑоб нумерации, поÑтому еÑть ÑмыÑл Ñделать иÑходные наборы трёхвыводных pcb-Ñлементов Ñ Ñ‚Ð°ÐºÐ¸Ð¼ порÑдком выводов Ñ Ð±Ð°Ð·Ð¾Ð²Ñ‹Ð¼Ð¸ названиÑми, такими как TO-126, TO-220, TO-264 и Ñ‚. д. Ð”Ð»Ñ Ñ‚Ð°ÐºÐ¸Ñ… вариантов, как пÑтивыводной ÐºÐ¾Ñ€Ð¿ÑƒÑ TO-220 Ð´Ð»Ñ LM383, можно Ñделать pcb-Ñлемент, назвав его, например, TO-220-5, или может быть TO-220-T05B, еÑли вам хочетÑÑ Ð½Ð°Ð·Ð²Ð°Ñ‚ÑŒ его в ÑоответÑтвии Ñ Ð¿Ñ€Ð¸Ð½Ñтым фирмой National Semiconductor обозначением корпуÑа T05B Ð´Ð»Ñ Ð¸Ñ… пÑтивыводных корпуÑов TO-220.
  • Силовые транзиÑторы в металличеÑком корпуÑе: Ñто может быть ÐºÐ¾Ñ€Ð¿ÑƒÑ TO-3, который может иметь 2 и более выводов. Ðа корпуÑе нет индекÑного ключа, поÑтому, чтобы узнать нумерацию выводов, нужно поÑмотреть чертёж корпуÑа. Общий двухвыводной ÐºÐ¾Ñ€Ð¿ÑƒÑ Ð¼Ð¾Ð¶Ð½Ð¾ назвать TO-3, а N-выводные корпуÑа Ñ N > 2 можно называть TO-3-N.
  • МалоÑигнальные транзиÑторы в металличеÑком корпуÑе: ПоÑмотрите на транзиÑтор Ñнизу, чтобы выводы глÑдели на ваÑ. Выводы нумеруютÑÑ Ð¿Ð¾ чаÑовой Ñтрелке Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ð¾Ñ‚ ключа в порÑдке (1,2,3,…). МеталличеÑкие корпуÑа, такие как TO-18, TO-39 или TO-72 чаÑто имеют 3 или 4 вывода, в то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº TO-5 может иметь 3, 4, 5, 6, 8 или 10 выводов. Из-за переменного количеÑтва выводов можно, например, называть pcb-Ñлементы как TO-18-3 и TO-18-4 или иÑпользовать TO-18 и TO-18-4, полагаÑ, что трёхвыводные корпуÑа более широко раÑпроÑтранены и потому должны обозначатьÑÑ Ð¿Ñ€Ð¾Ñто как TO-18.
  • МалоÑигнальные транзиÑторы в плаÑтмаÑÑовом корпуÑе: ПоÑмотрите на плоÑкую Ñторону корпуÑа транзиÑтора (где находитÑÑ Ð½Ð°Ð´Ð¿Ð¸ÑÑŒ), при Ñтом выводы должны быть Ñнизу. Почти Ð´Ð»Ñ Ð²Ñех трёхвыводных корпуÑов Ñ Ð»Ð¸Ð½ÐµÐ¹Ð½Ð¾ раÑположенными выводами выводы нумеруютÑÑ Ñлева направо в порÑдке (1,2,3) и такие корпуÑа могут быть предÑтавлены базовым pcb-Ñлементом TO-92. Ð’ очень редких ÑлучаÑÑ… выводы Ñ Ð¿Ñ€Ñмолинейным раÑположением нумеруютÑÑ Ñлева направо в порÑдке (3,2,1). Ð”Ð»Ñ Ð½Ð¸Ñ… можно Ñделать Ñпециальный pcb-Ñлемент, но тогда нужно также принÑть решение игнорировать нумерацию выводов Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ñ Ð¸ делать вид, что иÑпользуетÑÑ Ð±Ð¾Ð»ÐµÐµ Ð¾Ð±Ñ‰Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ (1,2,3). Однако, еÑли Ñредний вывод Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¿ÑƒÑа Ñмещён отноÑительно оÑтальных, так что выводы раÑположены треугольником, выводы чаÑто нумеруютÑÑ Ð² порÑдке (3,2,1) и Ð´Ð»Ñ Ñтого, возможно, потребуетÑÑ Ð½ÐµÑтандартный pcb-Ñлемент. Ðо Ñмотрите ниже мои комментарии наÑчёт Ñлемента TO-92o.
  • ТранзиÑторы в корпуÑе Ð´Ð»Ñ Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ð¾Ñтного монтажа: КорпуÑа SOT (Small Outline Transistor) гораздо более ÑоответÑтвуют Ñтандартам, чем корпуÑа TO и выводы поÑледовательно нумеруютÑÑ Ð¿Ñ€Ð¾Ñ‚Ð¸Ð² чаÑовой Ñтрелки Ñ Ð»ÐµÐ²Ð¾Ð³Ð¾ верхнего угла как и Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¿ÑƒÑов интегральных Ñхем. Ðо Ð´Ð»Ñ Ñ‚Ñ€Ð°Ð½Ð·Ð¸Ñтора, имеющего верÑии корпуÑов и TO, и SOT, Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¾Ñто изменить атрибут footprint в Ñхеме, так как номера выводов корпуÑа Ð´Ð»Ñ Ñмиттера, базы и коллектора в Ñтих верÑиÑÑ… не ÑоответÑтвуют друг другу. Ð”Ð»Ñ Ð½Ð¸Ñ… нужен отдельный Ñимвол gschem. Ðапример, 2N3904.sym Ð´Ð»Ñ TO и MMBT3904.sym Ð´Ð»Ñ SOT.

ÐžÐ±Ñ‰Ð°Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð¸ÐºÐ°

Первоначальный процеÑÑ Ð¿Ð¾Ð´Ð³Ð¾Ñ‚Ð¾Ð²ÐºÐ¸ транзиÑтора Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð° от Ñхемы в gschem к pcb включает Ñледующие шаги (как пример иÑпользуетÑÑ 2N3904):

  1. БольшинÑтво Ñпецификаций транзиÑторов можно найти на веб-Ñтраницах Ñети интернет в формате PDF, так что найдите нужную и определите типоразмер корпуÑа, Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¸ порÑдок нумерации выводов. Ð”Ð»Ñ 2N3904 типоразмером корпуÑа ÑвлÑетÑÑ TO-92, выводы нумеруютÑÑ Ñлева направо в порÑдке (1,2,3) и называютÑÑ ÑоответÑтвенно (e,b,c).
  2. ЕÑли в нашей библиотеке еÑть pcb-Ñлемент Ñ Ñ‚Ð°ÐºÐ¸Ð¼ типоразмером и подходÑщей нумерацией выводов, надо иÑпользовать его. ЕÑли нет, Ñделать новый pcb-Ñлемент. Ð”Ð»Ñ 2N3904 в моей библиотеке неÑтандартных Ñлементов еÑть Ñлемент TO-92 Ñ Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸ÐµÐ¹ выводов (1,2,3), так что Ñ Ð¼Ð¾Ð³Ñƒ иÑпользовать его.
  3. Скопируйте Ñимвол транзиÑтора gschem, ÑоответÑтвующий порÑдку названий выводов, в файл Ñ Ð½Ð¾Ð²Ñ‹Ð¼ именем. Ðапример, Ð´Ð»Ñ 2N3904 выводы называютÑÑ Ð² порÑдке (e,b,c), поÑтому Ñкопируйте оÑновной Ñимвол npn-ebc.sym в 2N3904.sym.
  4. Отредактируйте новый Ñимвол и атрибуту value как значение задайте название транзиÑтора, а атрибуту footprint — подходÑщий pcb-Ñлемент. Ð”Ð»Ñ Ð½Ð°ÑˆÐµÐ³Ð¾ примера Ñто могут быть 2N3904 и TO-92.

ОÑобые Ñлучаи

  1. Ð’ моей библиотеке еÑть pcb-Ñлемент TO-92o, Ñредний вывод которого Ñмещён, так что выводы раÑположены треугольником. Выводы Ñтого Ñлемента раÑполагаютÑÑ Ð² порÑдке (1,2,3) Ñлева направо и его по ÑоображениÑм траÑÑировки можно иÑпользовать вмеÑто TO-92. Только при уÑтановке транзиÑтора вам придётÑÑ Ñ‡ÑƒÑ‚ÑŒ-чуть отогнуть его Ñредний вывод.
  2. Ð’ Ñпецификации транзиÑтора BC546 выводы Ñлева направо называютÑÑ (c,b,e), нумеруютÑÑ Ð² порÑдке (1,2,3) и раÑполагаютÑÑ Ð¿Ð¾ прÑмой линии. Ðо Ñ Ð²Ð¸Ð´ÐµÐ» Ñтот транзиÑтор, поÑтавлÑемый Ñ Ð·Ð°Ð²Ð¾Ð´Ð° Ñ Ð·Ð°Ñ€Ð°Ð½ÐµÐµ отогнутым Ñредним выводом как в конфигурации Ñо Ñмещенным Ñредним выводом. Ð”Ð»Ñ Ñтого транзиÑтора, как и предполагалоÑÑŒ, нужно Ñоздать Ñимвол gschem из npn-cbe.sym, но иÑпользовать Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ pcb-Ñлемент TO-92o.
  3. Ð’ Ñпецификации транзиÑтора BF240 выводы Ñлева направо называютÑÑ (c,e,b), нумеруютÑÑ Ð² порÑдке (3,2,1) и раÑполагаютÑÑ Ð¿Ð¾ прÑмой линии. ЕÑли вы Ñделали новый pcb-Ñлемент Ñ Ð¿Ð¾Ñ€Ñдком выводов (3,2,1), то вам нужно Ñделать Ñимвол gschem BF240.sym из npn-bec.sym, так как вывод 1 pcb-Ñлемента должен ÑоответÑтвовать выводу 1 Ñимвола gschem. Ðо проще было бы проÑто проигнорировать Ñту неÑтандартную нумерацию выводов и Ñчитать, что выводы транзиÑтора на Ñамом деле нумеруютÑÑ Ñтандартным образом Ñлева направо в порÑдке (1,2,3). Тогда можно иÑпользовать ÑущеÑтвующий pcb-Ñлемент TO-92 и Ñоздать Ñимвол gschem из npn-ceb.sym. Ð’ некоторых ÑпецификациÑÑ… транзиÑторов задаётÑÑ Ð¿Ð¾Ñ€Ñдок названий выводов, но не задаётÑÑ Ð¿Ð¾Ñ€Ñдок их нумерации, и Ð´Ð»Ñ Ð½Ð¸Ñ… вам нужно проÑто принимать такое же допущение, что выводы Ñлева направо нумеруютÑÑ Ð² порÑдке (1,2,3).
  4. Во втором из указанных выше Ñлучаев вывод 2 транзиÑтора Ñмещён, в то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº в Ñпецификации указано линейное раÑположение выводов и Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ Ñлева направо в порÑдке (1,2,3). Ðо Ð´Ð»Ñ Ð¼Ð½Ð¾Ð³Ð¸Ñ… транзиÑторов в Ñпецификации вывод 2 указываетÑÑ ÐºÐ°Ðº Ñмещённый, а выводы нумеруютÑÑ Ñлева направо в порÑдке (3,2,1). Ð’Ñ‹ можете иÑпользовать такой Ñлемент, как мой TO-92o, и игнорировать указанный в Ñпецификации порÑдок выводов, как Ñ Ð¿Ñ€ÐµÐ´Ð»Ð°Ð³Ð°Ð» в третьем Ñлучае. Ðо Ð´Ð°Ð½Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð½Ð°Ð¼Ð½Ð¾Ð³Ð¾ более раÑпроÑтранена, чем Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ð° Ñ BF240, так что может быть лучше Ð´Ð»Ñ Ñ‚Ð°ÐºÐ¸Ñ… транзиÑторов иметь Ñпециальный pcb-Ñлемент, в котором выводы нумеруютÑÑ Ð² ÑоответÑтвии Ñо Ñпецификацией.

Ðвтор: Bill Wilson (billw–at–gkrellm.net)

lepton-eda-1.9.10/docs/wiki/start.html0000644000175000017500000001735113634703632014507 00000000000000

gEDA Project Wiki

What is gEDA?

Translations: Français, Español, РуÑÑкий

The gEDA project is developing a full GPL'd suite and toolkit of Electronic Design Automation tools. These tools are used for electrical circuit design, schematic capture, simulation, prototyping, and production. Currently, the gEDA project offers a mature suite of free software applications for electronics design, including schematic capture, attribute management, bill of materials (BOM) generation, netlisting into over 20 netlist formats, analog and digital simulation, and printed circuit board (PCB) layout.

The tools involved in the suite enable you to professional-quality design of low- to mid-level complexity. Using the gEDA tools, you can create PCB of up to 8 layers (soon more) with an unlimited number of components and nets. The tools are suitable for use by students, educators, hobbyists, consultants, small businesses, and even in large corporations where an engineer might need to crank out a quick PC board (e.g. for a test stand) in a hurry.

Please see the people page for a list of all active and inactive gEDA developers.

gschem (click for full size) pcb (click for full size) gerbv (click for full size)

Frequently asked questions

Community

Users may discuss development, help, installation, and working tips through the mailinglists.

How to report bugs

There is also a gEDA IRC channel at irc.oftc.net/6667 on the #geda channel. This is the official IRC channel for all things gEDA. Sometimes this channel is full of activity and sometimes it is quite silent. Please be patient when asking questions in the IRC channel.

There is also a low-traffic IRC channel on irc.freenode.net called ##pcb. This channel is dedicated to pcb design and prototyping, gEDA pcb included.

How to get started editing the documentation on the wiki

lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-implicit_pins.ru.html0000644000175000017500000000477513634703632022070 00000000000000

ÐеÑвные выводы

Ð’ качеÑтве альтернативы вычерчиванию Ñвных выводов Ñимволов gnetlist поддерживает определение Ñоединений между именованными ÑоединениÑми и выводами Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ атрибута «net=». Это широко иÑпользуетÑÑ Ð´Ð»Ñ Ð¼Ð½Ð¾Ð³Ð¾Ñекционных компонентов во избежание необходимоÑти добавлÑть к каждой Ñекции выводы Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ чертить и добавлÑть в Ñхему отдельный компонент Â«Ð´Ð»Ñ Ñоединений питаниÑ».

ПодробноÑти об иÑпользовании атрибута «net=» Ñм. в Мини-HOWTO по атрибуту net=.

lepton-eda-1.9.10/docs/wiki/geda-gparts_ug.html0000644000175000017500000001156413634703632016243 00000000000000

gEDA » Development » Parts Manager » User Guide

Part Manager User Guide

Bulk Import

Currently, the part manager only provides a command line interface for bulk import of data. XSLT converts XML data into SQL using a stylesheet. Then, the SQL can be read by a command line interface for the database. The following diagram shows the dataflow for a bulk import:

Bulk Import Dataflow

The import can be accomplished with the following command line when in the gparts/sql/sqlite directory:

$ xsltproc convert.xml ../../data/companies.xml | sqlite3 sample.db

See the XML files in the gparts/data directory for examples. Any combination of company, package, and part elements can be used within the data element.

Use the following as an example for specifying a company.

    <company>
        <company-name>Altera</company-name>
        <website>http://www.altera.com</website>
    </company>

Use the following as an example for specifying a package.

    <package>
        <package-name>0201(0603)</package-name>
        <technology>SMT</technology>
    </package>

Use the following as an example for specifying a resistor. The resistor, as any part, can have multiple document elements associated with it. The category specifies the type of document, such as datasheet, user manual, errata, etc…

    <resistor>
        <company-name>Bourns</company-name>
        <part-number>CR0603-FX-10R0ELF</part-number>
        <package-name>0603(1608)</package-name>
        <device-name>resistor</device-name>
        <resistance>10.000000</resistance>
        <tolerance>0.010000</tolerance>
        <document category="Datasheet">http://www.bourns.com/data/global/pdfs/CHPREZTR.pdf</document>
    </resistor>

Part Attributes

The part manager places database fields into component attributes using macros. The macros use the form $(column_name). Unfortunately, this mechanism requires modification of symbols in the library for use with the part manager. The part manager performs the operation in the following steps:

  1. loads the symbol drawing
  2. instantiates a component from the symbol drawing
  3. places inherited attributes in the component
  4. performs macro expansion on inherited attributes

Currently, macros can only be used in attributes that get promoted. The logic for attribute promotion must match between gschem and the part manager.

The following gschem file snippet shows the macro used place the field from the database column 'Resistance' into the 'VALUE' attribute.

T 195 200 8 10 1 1 0 0 1 
VALUE=$(Resistance)
lepton-eda-1.9.10/docs/wiki/wiki-dokuwiki.html0000644000175000017500000002302313634703632016132 00000000000000

DokuWiki

DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at creating documentation of any kind. It is targeted at developer teams, workgroups and small companies. It has a simple but powerful syntax which makes sure the datafiles remain readable outside the Wiki and eases the creation of structured texts. All data is stored in plain text files – no database is required.

Read the DokuWiki Manual to unleash the full power of DokuWiki.

Download

DokuWiki is available at http://www.splitbrain.org/go/dokuwiki

Read More

Copyright

2004-2010 © Andreas Gohr andi@splitbrain.org1) and the DokuWiki Community

The DokuWiki engine is licensed under GNU General Public License Version 2. If you use DokuWiki in your company, consider donating a few bucks ;-).

Not sure what this means? See the FAQ on the Licenses.

1) Please do not contact me for help and support – use the mailinglist or forum instead
lepton-eda-1.9.10/docs/wiki/geda-fc3.html0000644000175000017500000000307013634703632014714 00000000000000

Installer 2005080X on Fedora Core 3 install notes

Prerequisites:

When you install FC3, make sure you install the “workstation†version, and not the “desktop†version. (You are presented with this choice when you first install the distribution off of the distribution media.) The “workstation†version includes important header files and other tools which are necessary to build many components of the gEDA Suite using the installer.

Problems:

No problems are known, and none have been reported.

lepton-eda-1.9.10/docs/wiki/geda-glossary.ru.html0000644000175000017500000057532113634703632016546 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English, Français.

ГлоÑÑарий gEDA и СÐПР Ñлектроники

Проектирование Ñлектроники предполагает иÑпользование множеÑтва оÑобых терминов. Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… Ñлов имеют веÑьма отдалённое ÑходÑтво Ñ Ð¸Ñ… назначением в повÑедневной жизни. ЗдеÑÑŒ вы найдёте разъÑÑнение некоторых терминов, характерных как Ð´Ð»Ñ gEDA Suite, так и Ð´Ð»Ñ ÑˆÐ¸Ñ€Ð¾ÐºÐ¾Ð³Ð¾ Ñпектра СÐПР Ñлектроники. К Ñожалению, универÑальной Ñхемы Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð½Ñтий, отноÑÑщихÑÑ Ðº облаÑти Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñлектроники, нет. ПоÑтому здеÑÑŒ приводÑÑ‚ÑÑ Ð¸ названиÑ, применÑемые в других подобных ÑредÑтвах проектированиÑ.

Внизу Ñтраницы вы найдёте Ñловарь Ñ Ð¿ÐµÑ€ÐµÐ²Ð¾Ð´Ð°Ð¼Ð¸ некоторых английÑких терминов, отноÑÑщихÑÑ Ðº Ñлектронике и СÐПР.

ÐвтотраÑÑировщик

Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкой траÑÑировки печатных плат в pcb.

Код функции находитÑÑ Ð² файле autorouter.c в иÑходных текÑтах pcb. Функцию можно вызвать из меню или из окна командной Ñтроки. Ðеобходимым уÑловием ÑвлÑетÑÑ Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ðµ линий ÑвÑзи. ÐвтотраÑÑировщик может работать как Ñо вÑеми, так и только Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ñ‹Ð¼Ð¸ линиÑми ÑвÑзи.

ÐкÑиальный компонент

Компонент в цилиндричеÑком корпуÑе Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°Ð¼Ð¸ Ñ Ñ‚Ð¾Ñ€Ñ†Ð¾Ð² корпуÑа, Ñимметричный отноÑительно Ñвоей оÑи.

Примерами акÑиальных компонентов ÑвлÑÑŽÑ‚ÑÑ Ñ€ÐµÐ·Ð¸Ñторы, диоды, конденÑаторы.

ÐÐºÑ‚Ð¸Ð²Ð½Ð°Ñ Ñторона платы

Внешний Ñлой печатной платы в pcb, на который помещаютÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ñ‹, текÑÑ‚ и другие объекты.

По умолчанию активной ÑвлÑетÑÑ Ñторона ÑÐ»Ð¾Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² (component), в то Ð²Ñ€ÐµÐ¼Ñ ÐºÐ°Ðº Ñторона ÑÐ»Ð¾Ñ Ð¿Ð°Ð¹ÐºÐ¸ (solder) ÑвлÑетÑÑ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð¹. Ð’ процеÑÑе работы роли Ñторон можно изменить нажатием [Tab]. ИÑпользование различных комбинаций модификаторов ([Shift], [Ctrl]) менÑет ÑпоÑоб разворота платы. Более подробную информацию об Ñтом можно найти в РуководÑтве по pcb и Советах по pcb.

Ðнализ Ñхемы

Определение Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ñ‹Ñ… параметров и характериÑтик радиоÑлектронной Ñхемы в завиÑимоÑти от Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐµÑ‘ входных и внутренних параметров.

Ðнтиплощадка

Ð’Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð° в виде выреза в облаÑÑ‚ÑÑ… металлизации (инверÑÐ¸Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ð¾Ð¹ площадки), определÑÑŽÑ‰Ð°Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€ зазора между контактными площадками перехода и облаÑÑ‚Ñми металлизации в Ñтеке Ñлоёв.

Ðпертура

Диаметр и форма отверÑÑ‚Ð¸Ñ Ð´Ð¸Ð°Ñ„Ñ€Ð°Ð³Ð¼Ñ‹ фотоплоттера, иÑпользуемого Ð´Ð»Ñ Ð·Ð°Ñветки фотошаблона при формировании риÑунка ÑлоÑ.

Каждый фотоплоттер имеет Ñвой набор апертур определённых форм, каждой из которых приÑвоен уникальный номер. Ширина линий, форма и размеры контактных площадок и переходов в проекте должны выбиратьÑÑ Ñ ÑƒÑ‡Ñ‘Ñ‚Ð¾Ð¼ апертур фотоплоттера, на котором будет выполнÑтьÑÑ Ñ„Ð¾Ñ‚Ð¾ÑˆÐ°Ð±Ð»Ð¾Ð½. СпиÑок апертур иÑпользуетÑÑ Ð² определении форм и размеров в запиÑÑÑ… Gerber-файлов в формате RS274X.

Ðтрибут

Ð˜Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ð°Ñ Ð² принципиальной Ñхеме или Ñимволе Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð¸Ñ… ÑвойÑтв и ÑвойÑтв объектов в них.

Ðтрибут может быть прикреплённым к объекту или Ñимволу или Ñвободным (неприкреплённым). Ðекоторые атрибуты могут определÑтьÑÑ Ð² Ñимволе и выноÑитьÑÑ Ð² Ñхему при его иÑпользовании. Таким образом Ð´Ð»Ñ Ñ‚Ð°ÐºÐ¾Ð³Ð¾ рода атрибутов определÑетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ по умолчанию и поÑвлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñть изменить его в процеÑÑе ÑхемотехничеÑкого проектированиÑ.

ОпиÑание атрибутов, иÑпользуемых в gEDA/gaf, приведено в Перечне оÑновных атрибутов gEDA/gaf.

Библиотека иÑходных данных

ИÑходными данными в gEDA/gaf называютÑÑ Ñхемы, код на Ñзыке опиÑÐ°Ð½Ð¸Ñ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚ÑƒÑ€Ñ‹ (HDL) или модели, Ñодержащие реализацию, опиÑание или документацию Ð´Ð»Ñ ÐºÐ°ÐºÐ¾Ð¹-то чаÑти проекта. СоответÑтвенно, библиотека иÑходных данных предÑтавлÑет Ñобой библиотеку Ñхем, подÑхем, моделей Verilog и SPICE и Ñ‚. д.

ÐаÑтройка путей к библиотекам иÑходных данных раÑÑматриваетÑÑ Ð² РуководÑтве Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ gschem.

Временной анализ

Вид анализа Ñхемы, при котором производитÑÑ Ñ€Ð°Ñчёт переходных и уÑтановившихÑÑ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ… процеÑÑов на длительных интервалах времени при воздейÑтвии Ñигналов определённой формы.

Вывод

Элемент конÑтрукции корпуÑа прибора, иÑпользуемый Ð´Ð»Ñ Ð¼Ð¾Ð½Ñ‚Ð°Ð¶Ð° компонента на печатную плату и Ð¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑлектричеÑкой ÑвÑзи его внутренних ÑлектричеÑких цепей Ñ Ð²Ð½ÐµÑˆÐ½Ð¸Ð¼Ð¸.

Ð’ pcb под выводами (pin) обычно имеютÑÑ Ð² виду Ñквозные отверÑÑ‚Ð¸Ñ Ð² печатной плате на изображениÑÑ… поÑадочных меÑÑ‚ компонентов, иÑпользуемые Ð´Ð»Ñ Ð¼Ð¾Ð½Ñ‚Ð°Ð¶Ð° выводов компонентов, монтируемых в отверÑтиÑ. Ð’ Ñ€Ñде Ñлучаев употреблÑетÑÑ ÑобÑтвенно термин Ñквозное отверÑтие (through-hole, ам. thru-hole). Чаще вÑего Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² иÑпользуютÑÑ Ð¼ÐµÑ‚Ð°Ð»Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ðµ отверÑтиÑ.

Ð”Ð»Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ ÑобÑтвенно физичеÑкого вывода компонента в англоÑзычной литературе иÑпользуетÑÑ Ñ‚Ð°ÐºÐ¶Ðµ термин lead.

ГальваничеÑÐºÐ°Ñ Ð¼ÐµÑ‚Ð°Ð»Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ

ГальваничеÑкое покрытие металлом объектов в Ñреде Ñлектролита под дейÑтвием поÑтоÑнного тока, в чаÑтноÑти Ñквозных отверÑтий Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð¾Ð² и выводов.

Генератор ÑпиÑка Ñоединений

Программа ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑков Ñоединений Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð½Ñ†Ð¸Ð¿Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ñхем.

Ð’ gEDA в качеÑтве генератора ÑпиÑка Ñоединений иÑпользуетÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° gnetlist, Ð¸Ð¼ÐµÑŽÑ‰Ð°Ñ Ð½Ð°Ð±Ð¾Ñ€ подключаемых драйверов Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¼Ð½Ð¾Ð¶ÐµÑтва различных форматов ÑпиÑков Ñоединений. Генератор ÑпиÑка Ñоединений, иÑпользуемый Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÑ‡Ð½ÐµÐ¹ Ñлементов, иногда называют генератором Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ Ñлементов.

Глухой переход

Переход, имеющий выход только на одну из Ñторон печатной платы.

ДейÑтвие

Ð’ pcb и gschem дейÑтвие (action) — Ñто внутреннÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°.

Ð’ графичеÑком интерфейÑе программ дейÑÑ‚Ð²Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ вызыватьÑÑ Ð»Ð¸Ð±Ð¾ из меню, либо при нажатии ÑоответÑтвующего ÑÐ¾Ñ‡ÐµÑ‚Ð°Ð½Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ñˆ. ПоÑледовательноÑть дейÑтвий можно запиÑать в файл и вызывать их при запуÑке приложениÑ. Кроме того, в pcb нажатие [:] вызывает окно командной Ñтроки, в котором можно непоÑредÑтвенно набрать команду дейÑтвиÑ. ОпиÑание возможных дейÑтвий и ÑоответÑтвующих им привÑзок клавиш Ð´Ð»Ñ pcb приведено в РуководÑтве по pcb, а Ð´Ð»Ñ gschem — в РуководÑтве Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ gEDA gschem.

Дорожка

Печатный проводник, обеÑпечивающий ÑлектричеÑкое Ñоединение между выводами компонентов печатной платы.

Зазор

ИзолÑционный промежуток между Ñлементами печатного риÑунка (линиÑми, дугами, контактными площадками) или Ñтими Ñлементами и окружающими их облаÑÑ‚Ñми металлизации.

Величина минимально допуÑтимого зазора нормируетÑÑ Ñтандартами и производителÑми печатных плат.

Изолированный учаÑток металлизации

УчаÑток проводÑщего ÑÐ»Ð¾Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ð¾Ð¹ платы, не ÑвÑзанный ни Ñ Ð¾Ð´Ð½Ð¸Ð¼ из Ñлементов ÑпиÑка Ñоединений.

По определению Ñто может быть любой объект проводÑщего ÑÐ»Ð¾Ñ pcb. Однако обычно термин отноÑитÑÑ Ðº изолированным чаÑÑ‚Ñм полигонов, разделённых дорожками.

Ð˜Ð½Ñ‚ÐµÐ³Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ñхема

Ð˜Ð½Ñ‚ÐµÐ³Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ (микро)Ñхема (ИС, ИМС), чип, микрочип — микроÑлектронное уÑтройÑтво — ÑÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ Ñхема произвольной ÑложноÑти, Ð¸Ð·Ð³Ð¾Ñ‚Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð½Ð° полупроводниковом криÑталле (или плёнке) и Ð¿Ð¾Ð¼ÐµÑ‰Ñ‘Ð½Ð½Ð°Ñ Ð² неразборный корпуÑ.

Компонент

ÐÐµÐ´ÐµÐ»Ð¸Ð¼Ð°Ñ ÑоÑÑ‚Ð°Ð²Ð½Ð°Ñ Ñ‡Ð°Ñть ÑлектричеÑкой или радиоÑлектронной Ñхемы, Ð¸Ð¼ÐµÑŽÑ‰Ð°Ñ ÑамоÑтоÑтельное функциональное назначение, как например микроÑхема, транзиÑтор, резиÑтор, конденÑатор, разъем и Ñ‚. д.

По ÑпоÑобу монтажа различают компоненты Ð´Ð»Ñ Ð¼Ð¾Ð½Ñ‚Ð°Ð¶Ð° в отверÑÑ‚Ð¸Ñ Ð¸ компоненты Ð´Ð»Ñ Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ð¾Ñтного монтажа.

Компоненты Ð´Ð»Ñ Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ð¾Ñтного монтажа называют также планарными компонентами, чип-компонентами, SMC-, SMD- и SMT-компонентами. Компоненты Ð´Ð»Ñ Ð¼Ð¾Ð½Ñ‚Ð°Ð¶Ð° в отверÑтиÑ, называют также выводными или навеÑными компонентами и компонентами Ñо штыревыми выводами.

При опиÑании формата файлов Ñимволов и Ñхем, Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼ работает программа gschem, компонентами называют ÑкземплÑры помещённых в Ñхему Ñимволов, то еÑть объект компонент определÑет название и меÑтоположение Ñимвола в Ñхеме.

Компоновка

ПроцеÑÑ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñадочных меÑÑ‚ компонентов на печатной плате.

Целью компоновки ÑвлÑетÑÑ Ð½Ð°Ñ…Ð¾Ð¶Ð´ÐµÐ½Ð¸Ðµ оптимального Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð². Задача Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ ÑводитÑÑ Ðº перебору различных вариантов Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¸ выбору варианта, макÑимально удовлетворÑющего критериÑм оптимальноÑти и дополнительным требованиÑм, предъÑвлÑемым к проектируемой плате. Ð’ результате компоновки определÑетÑÑ Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ контактных площадок поÑадочных меÑÑ‚ компонентов Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ‚Ñ€Ð°ÑÑировки.

ОÑновные Ñ‚Ñ€ÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ðº компоновке:

  • обеÑпечить минимальную длину Ñоединений;
  • обеÑпечить оптимальную плотноÑть раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð²;
  • иÑключить заметные паразитные ÑлектричеÑкие взаимоÑвÑзи, влиÑющие на техничеÑкие характериÑтики изделиÑ.

Размещение поÑадочных меÑÑ‚ компонентов в pcb может производитьÑÑ Ð²Ñ€ÑƒÑ‡Ð½ÑƒÑŽ или автоматичеÑки — функцией авторазмещениÑ. Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¿Ñ‹Ñ‚Ð°ÐµÑ‚ÑÑ Ñ€Ð°Ð·Ð¼ÐµÑтить компоненты так, чтобы минимизировать Ñуммарную длину линий ÑвÑзи.

ÐšÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ð°Ñ Ð¿Ð»Ð¾Ñ‰Ð°Ð´ÐºÐ°

ЧаÑть проводÑщего риÑунка печатной платы, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ð°Ñ Ð´Ð»Ñ ÑлектричеÑкого подÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ (пайки) выводов компонентов.

Ð’ контекÑте pcb термин ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ð°Ñ Ð¿Ð»Ð¾Ñ‰Ð°Ð´ÐºÐ° (pad), как правило, иÑпользуетÑÑ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² Ð´Ð»Ñ Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ð¾Ñтного монтажа. Обычно Ð´Ð»Ñ Ð½Ð¸Ñ… иÑпользуютÑÑ ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚Ð½Ñ‹Ðµ или прÑмоугольные контактные площадки, но еÑть возможноÑть Ñделать и Ñкруглённые. Контактные площадки Ñ Ð¾Ñ‚Ð²ÐµÑ€ÑтиÑми в изображениÑÑ… поÑадочных меÑÑ‚ обычно называют проÑто выводами (pin), поÑкольку они Ñлужат Ð´Ð»Ñ ÑƒÑтановки выводов компонентов, монтируемых в отверÑтиÑ. При Ñтом Ð´Ð»Ñ Ð²Ñех выводов, за иÑключением первого, обычно иÑпользуютÑÑ ÐºÑ€ÑƒÐ³Ð»Ñ‹Ðµ площадки. Ð”Ð»Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ вывода, как правило, иÑпользуетÑÑ ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚Ð½Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð° контактной площадки, ÑÐ»ÑƒÐ¶Ð°Ñ‰Ð°Ñ Ð´Ð»Ñ Ð¾Ñ€Ð¸ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ð¸ компонента на плате.

Контрольный вывод

Вывод прибора, предназначенный Ð´Ð»Ñ Ñ‚ÐµÑÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐµÐ³Ð¾ работы в процеÑÑе производÑтва, наÑтройки или ремонта.

Ð’ Ñ€Ñде Ñлучаев в ÑпецификациÑÑ… выводы Ð´Ð»Ñ Ñ‚ÐµÑÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ Ð´ÐµÐ¼Ð¿Ñ„Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ð¼ÐµÑ‡Ð°ÑŽÑ‚ÑÑ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»Ñми проÑто как неподключаемые (no-connect, nc). ПоÑкольку в рабочем режиме на указанных таким образом выводах может быть какой-то потенциал, подключать к чему-либо в Ñхеме их не рекомендуетÑÑ.

ÐšÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ°

ÐšÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ð°Ñ Ð¿Ð»Ð¾Ñ‰Ð°Ð´ÐºÐ°, Ð¿Ñ€ÐµÐ´Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ð°Ñ Ñ‚ÐµÑÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ñ‹Ñ… плат в процеÑÑе производÑтва, наÑтройки или ремонта.

Линии ÑвÑзи

ПрÑмые линии, отриÑовываемые в рабочей облаÑти pcb, указывающие на оÑнове ÑпиÑка Ñоединений, какие контактные площадки должны быть ÑлектричеÑки ÑвÑзаны и ещё не Ñоединены дорожками.

Ð’ отличие от ÑобÑтвенно дорожек, линии ÑвÑзи — прÑмые. ЕÑли Ñоединение включает неÑколько контактных площадок, pcb пытаетÑÑ Ð½Ð°Ñ‡ÐµÑ€Ñ‚Ð¸Ñ‚ÑŒ линии ÑвÑзи наименьшей длины.

Ð’ оригинальном английÑком варианте документации линии ÑвÑзи называютÑÑ rats nest (вÑе линии ÑвÑзи) или rats (отдельные линии), что доÑловно переводитÑÑ ÑоответÑтвенно как “крыÑиное гнездо†и “крыÑÑ‹â€.

Маршрут проектированиÑ

ПорÑдок Ñтапов разработки проекта от иÑходной концепции до доÑÑ‚Ð¸Ð¶ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½ÐµÑ‡Ð½Ð¾Ð³Ð¾ результата, удовлетворÑющего поÑтавленной цели, который может включать ÑхемотехничеÑкое проектирование, добавление атрибутов, Ñоздание ÑпиÑков Ñоединений, моделирование и проектирование топологичеÑкой Ñхемы.

КоличеÑтво и поÑледовательноÑть Ñтапов определÑетÑÑ Ð¿Ð¾Ñтавленной целью. Целью разработки может быть, например, моделирование процеÑÑов в ÑлектричеÑкой Ñхеме, разработка топологии печатной платы, подготовка бумажной документации и Ñ‚. д. Ð”Ð»Ñ Ñ€Ð°Ð·Ð½Ñ‹Ñ… Ñтапов Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² gEDA Suite иÑпользуютÑÑ Ð½ÐµÑколько Ñовершенно разных программ, как правило поÑледовательно друг за другом, и выходные данные (файлы) одних программ gEDA ÑвлÑÑŽÑ‚ÑÑ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ð¼Ð¸ Ð´Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ…. ПроцеÑÑ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸, как правило, цикличен и включает поÑтоÑнный переÑмотр и переработку данных до доÑÑ‚Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÐ¼Ð¾Ð³Ð¾ результата. Маршрут Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² gEDA иллюÑтрируетÑÑ Ð·Ð´ÐµÑÑŒ и здеÑÑŒ.

МногоÑÐ»Ð¾Ð¹Ð½Ð°Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ð°Ñ Ð¿Ð»Ð°Ñ‚Ð°

ÐŸÐµÑ‡Ð°Ñ‚Ð½Ð°Ñ Ð¿Ð»Ð°Ñ‚Ð°, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ñ‚Ñ€Ð¸ или более проводÑщих ÑлоÑ.

МногоÑекционный компонент

Компонент, Ñодержащий в одном физичеÑком корпуÑе неÑколько Ñекций, то еÑть идентичных Ñхем (логичеÑких Ñлементов, операционных уÑилителей и Ñ‚. д.), имеющих общее питание.

Ðекоторые компоненты Ñодержат неÑколько одинаковых уÑтройÑтв внутри одного корпуÑа. Входы/выходы Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ Ñекции ÑоответÑтвуют разным наборам выводов корпуÑа. КлаÑÑичеÑким примером ÑвлÑетÑÑ Ñлемент 4-И-ÐЕ TTL 7400 (отечеÑтвенный аналог — микроÑхемы ЛÐ3 Ñерии К155 и других ТТЛ-Ñерий). gschem (как и другие пакеты Ð´Ð»Ñ ÑхемотехничеÑкого проектированиÑ) обрабатывает компоненты такого типа, позволÑÑ Ð½Ð°Ñ‡ÐµÑ€Ñ‚Ð¸Ñ‚ÑŒ четыре отдельных Ñимвола И-ÐЕ, а затем выбрать, к какой Ñекции должен отноÑитьÑÑ ÐºÐ°Ð¶Ð´Ñ‹Ð¹ из них, прикреплением к Ñтому Ñимволу атрибута slot. Ðапример, Ð´Ð»Ñ 4-И-ÐЕ компонента 7400, Ð´Ð»Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ ÑкземплÑра Ñимвола можно выбрать slot=1, Ð´Ð»Ñ Ð²Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ — slot=2, и Ñ‚. д. Обратите внимание, что в gschem питающие ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¼Ð½Ð¾Ð³Ð¾Ñекционного компонента нужно подключить только один раз. (Другие программы ввода принципиальных Ñхем, как, например, Orcad, требуют подключать общие цепи, — например, питающие, — к каждому ÑкземплÑру Ñимвола многоÑекционного компонента.)

Модель

ОпиÑание характериÑтик компонента или уÑтройÑтва, отражающее Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÐ¼Ð¾Ð¹ Ñтепенью точноÑти его ÑоÑтоÑние или поведение.

ЭлектричеÑÐºÐ°Ñ Ð¼Ð¾Ð´ÐµÐ»ÑŒ Ñхемы определÑетÑÑ ÑиÑтемой уравнений, ÑвÑзывающих напрÑÐ¶ÐµÐ½Ð¸Ñ Ð¸ токи в ÑлектричеÑкой Ñхеме. Эта ÑиÑтема уравнений ÑоÑтавлÑетÑÑ Ð½Ð° оÑнове моделей компонентов Ñхемы и уравнений ÑлектричеÑкого равновеÑиÑ, определÑемых законами Кирхгофа.

Модели компонентов Ð´Ð»Ñ ÑхемотехничеÑкого Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑодержатÑÑ Ð² библиотеках моделей программ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ ÑтавÑÑ‚ÑÑ Ð² ÑоответÑтвие Ñимволам при разработке принципиальных Ñхем в gschem. Модели компонентов могут предлагатьÑÑ Ñ‚Ð°ÐºÐ¶Ðµ в виде файлов на веб-Ñтраницах поÑтавщиков компонентов.

Монтаж в отверÑтиÑ

Вид монтажа компонентов, при котором их выводы вÑтавлÑÑŽÑ‚ÑÑ Ð² металлизированные отверÑÑ‚Ð¸Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ð¾Ð¹ платы и припаиваютÑÑ Ðº ним.

Ð’ обиходе называетÑÑ Ñ‚Ð°ÐºÐ¶Ðµ выводным, DIP-, штыревым, штырьковым или навеÑным монтажом. Ðа Ñамом деле термин “навеÑной монтаж†применÑетÑÑ Ð² Ñтом Ñлучае некорректно, так как Ñто другой метод, который применÑлÑÑ ÐµÑ‰Ñ‘ до поÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ñ‹Ñ… плат, и подразумевал непоÑредÑтвенное Ñоединение выводов компонентов, Ñмонтированных на диÑлектричеÑком оÑновании, между Ñобой.

Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ Ð¼Ð¾Ð½Ñ‚Ð°Ð¶Ð° отÑтупает на второй план ввиду Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ прогреÑÑивной технологии поверхноÑтного монтажа, но в Ñ€Ñде Ñлучаев имеет преимущеÑтва. Ð’ оÑновном монтаж в отверÑÑ‚Ð¸Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÑетÑÑ Ð´Ð»Ñ Ð¼Ð¾Ð½Ñ‚Ð°Ð¶Ð° компонентов в DIP-корпуÑах, ÑлектролитичеÑких конденÑаторов, Ñиловых компонентов, реле, разъемов, переменных резиÑторов, панелей Ð´Ð»Ñ Ð¸Ð½Ñ‚ÐµÐ³Ñ€Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ñхем и Ñ‚. д.

Ðазначение логичеÑких Ñекций

Программный механизм, реализованный в gschem, позволÑющий Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñложного многоÑекционного компонента в принципиальной Ñхеме иÑпользовать неÑколько компонентов, ÑвлÑющихÑÑ ÑкземплÑрами одного и тот же Ñимвола, каждый из которых может предÑтавлÑть любую из его логичеÑких Ñекций. Помимо Ð¾Ð±Ð»ÐµÐ³Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñ‹Ñ‡ÐµÑ€Ñ‡Ð¸Ð²Ð°Ð½Ð¸Ñ Ñимволов, Ñтот механизм может также иÑпользоватьÑÑ Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑтановки Ñекций многоÑекционных компонентов.

Ðегативный Ñлой

Слой печатной платы, изображение которого при ÑкÑпорте в Gerber-файлы выводитÑÑ Ð½ÐµÐ³Ð°Ñ‚Ð¸Ð²Ð½Ð¾.

Ð’ отличие от обычного (позитивного) ÑÐ»Ð¾Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ примитива на негативный Ñлой приводит к получению его инверÑного изображениÑ, то еÑть к Ñозданию вырезов в облаÑти металлизации. Ð’ pcb негативное изображение иÑпользуетÑÑ Ð´Ð»Ñ Ñлоёв Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¸ земли. Слой выводитÑÑ ÐºÐ°Ðº негативный, еÑли на Ñлое имеетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ один полигон и отÑутÑтвуют линии, дуги, текÑÑ‚ и контактные площадки, за иÑключением контактных площадок переходов и выводов Ñо Ñквозными отверÑтиÑми. Ð’ Ñтом Ñлучае полигон ÑчитаетÑÑ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑŽÑ‰Ð¸Ð¼ вÑÑ‘ проÑтранÑтво и выводÑÑ‚ÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ термобарьеры и зазоры выводов и переходов. Причиной иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚Ð°ÐºÐ¸Ñ… Ñлоёв ÑвлÑетÑÑ Ñ‚Ð¾, что некоторые производители плат не могут обрабатывать Ñложные Ñлои земли или требуют за них дополнительную плату.

ÐžÐ±Ñ€Ð°Ñ‚Ð½Ð°Ñ Ñторона платы

Внешний Ñлой печатной платы в pcb на Ñтороне, противоположной активной.

ÐžÐ¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñхемы

ПроцеÑÑ Ð¿Ð¾Ð¸Ñка ÑкÑтремума целевой функции радиоÑлектронной Ñхемы путём целенаправленного Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐµÑ‘ внутренних параметров или Ñтруктуры.

При разработке ASIC Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡Ð°ÐµÑ‚ набор шагов, незавиÑÑщий от целевой технологии. Ðапример:

  • иÑключение беÑполезных цепей;
  • ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ñ€ÐµÐ´ÑƒÐºÑ†Ð¸Ñ (упрощение Ñхемы);
  • преобразование конÑтант.

ОтверÑтиÑ

ОтверÑÑ‚Ð¸Ñ Ð² печатной плате Ñлужат Ð´Ð»Ñ Ð¼Ð¾Ð½Ñ‚Ð°Ð¶Ð° компонентов (монтажные отверÑтиÑ), крепежа Ñамой платы (крепёжные отверÑтиÑ) или ÑлектричеÑкой ÑвÑзи между ÑлоÑми платы (переходы).

Ð”Ð»Ñ Ð¼Ð¾Ð½Ñ‚Ð°Ð¶Ð° и переходов, как правило, иÑпользуютÑÑ Ð¼ÐµÑ‚Ð°Ð»Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ðµ отверÑтиÑ, которые ÑтановÑÑ‚ÑÑ Ð¿Ñ€Ð¾Ð²Ð¾Ð´Ñщими либо в результате гальваничеÑкой металлизации, либо при вÑтавке арматуры (трубки или заклёпки). ОтверÑÑ‚Ð¸Ñ Ð´Ð»Ñ ÐºÑ€ÐµÐ¿ÐµÐ¶Ð° чаще вÑего неметаллизированные.

ПаÑÐ»ÑŒÐ½Ð°Ñ Ð¼Ð°Ñка

ТермоÑтойкое ÑлектроизолÑционное покрытие из полимерного материала (резиÑта), обычно зелёного цвета, наноÑимое избирательно Ð´Ð»Ñ Ð·Ð°Ñ‰Ð¸Ñ‚Ñ‹ отдельных учаÑтков печатного риÑунка печатной платы в процеÑÑе пайки от Ð¿Ð¾Ð¿Ð°Ð´Ð°Ð½Ð¸Ñ Ñ„Ð»ÑŽÑов, припоев и Ñ‚. д., а также от перегрева, и предотвращающее перемыкание проводников припоем, то еÑть возможные короткие замыканиÑ.

Одновременно паÑÐ»ÑŒÐ½Ð°Ñ Ð¼Ð°Ñка Ñлужит трафаретом Ð´Ð»Ñ Ð½Ð°Ð½ÐµÑÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð¿Ð¾Ñ Ð½Ð° открытые учаÑтки — контактные площадки. Ð’ процеÑÑе ÑкÑплуатации паÑÐ»ÑŒÐ½Ð°Ñ Ð¼Ð°Ñка Ñлужит поÑтоÑнным защитным покрытием Ð´Ð»Ñ Ð¼ÐµÑ‚Ð°Ð»Ð»Ð¸Ñ‡ÐµÑких дорожек печатной платы и поÑтому называетÑÑ Ñ‚Ð°ÐºÐ¶Ðµ защитной маÑкой или паÑльной защитной маÑкой.

ПаÑÐ»ÑŒÐ½Ð°Ñ Ð¼Ð°Ñка Ñоздана в первую очередь Ð´Ð»Ñ Ð¾Ð±Ð»ÐµÐ³Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð°Ð¹ÐºÐ¸ волной, иÑпользуемой в маÑÑовом производÑтве.

Ð’ pcb Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ€Ð¸Ñунка топологии паÑльной маÑки Ñлужит Ñлой паÑльной маÑки (solder mask). Обычно он отключен, но его можно включить ÑоответÑтвующей кнопкой в наборе кнопок Ñлоёв. ОблаÑти ÑÐ»Ð¾Ñ Ð¼Ð°Ñки, залитые цветом, показывают наличие резиÑта, проÑветы в заливке — его отÑутÑтвие.

ПаÑÐ»ÑŒÐ½Ð°Ñ Ð¿Ð°Ñта

СмеÑÑŒ порошкообразного Ð¿Ñ€Ð¸Ð¿Ð¾Ñ Ñ Ð¾Ñ€Ð³Ð°Ð½Ð¸Ñ‡ÐµÑкими наполнителÑми, включающими флюÑ, применÑÐµÐ¼Ð°Ñ Ð¿Ñ€Ð¸ поверхноÑтном монтаже. (Иногда называетÑÑ Ð¿Ñ€Ð¸Ð¿Ð¾Ð¹Ð½Ð¾Ð¹ паÑтой.)

Служит Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑа пайки припоем, подготовки поверхноÑтей и фикÑÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² до пайки за Ñчет клеÑщих ÑвойÑтв.

Ð”Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾Ñ‚Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð¿Ñ€Ð¾Ð²Ð¾Ð´Ð½Ð¸ÐºÐ¾Ð² паÑльной паÑтой в pcb Ñлужит флаг nopaste.

ПереÑтановка выводов компонента

ОперациÑ, Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ð¼Ð°Ñ Ð¿Ñ€Ð¸ Ñмене типа корпуÑа компонента на имеющий другой порÑдок выводов или Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° оптимального Ð´Ð»Ñ Ñ‚Ñ€Ð°ÑÑировки раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² при переÑтановке Ñекций многоÑекционного компонента.

ПереÑтановка Ñекций многоÑекционного компонента

ОперациÑ, целью которой ÑвлÑетÑÑ Ð²Ñ‹Ð±Ð¾Ñ€ оптимального Ð´Ð»Ñ Ñ‚Ñ€Ð°ÑÑировки раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñекций и, ÑоответÑтвенно, выводов многоÑекционных компонентов.

Переход

Металлизированное отверÑтие, предназначенное Ð´Ð»Ñ ÑлектричеÑкого ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð²Ð¾Ð´Ð½Ð¸ÐºÐ¾Ð² в разных ÑлоÑÑ… печатной платы.

Обычно размер переходов ÑтараютÑÑ Ð´ÐµÐ»Ð°Ñ‚ÑŒ как можно меньше, чтобы Ñохранить ценное недвижимое имущеÑтво на плате. Переход выполнÑетÑÑ Ñ‚Ð°Ðº же, как и Ñквозное отверÑтие Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°, но так как никакие выводы туда не вÑтавлÑÑŽÑ‚ÑÑ, нормально, что отверÑтие может быть полноÑтью заполнено металлом или полноÑтью закрыто паÑльной маÑкой (тентировано).

Переходы могут быть обычными, то еÑть проходить через вÑе Ñлои, а также глухими или Ñкрытыми.

Переход ÑоÑтоит из:

  1. цилиндра — проводÑщей трубки, заполнÑющей отверÑтие;
  2. контактных площадок, ÑоединÑющих обе Ñтороны цилиндра Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð¼ компонента, дорожкой или облаÑтью металлизации;
  3. антиплощадки — изолÑционного промежутка между цилиндром и Ñлоем металла.

Перечень Ñлементов

Перечень компонентов печатной платы Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ их позиционного обозначениÑ, наименованиÑ, величины, точноÑти, опиÑÐ°Ð½Ð¸Ñ Ð¸ других техничеÑких данных, необходимых Ð´Ð»Ñ Ð¸Ð·Ð³Ð¾Ñ‚Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ð¾Ð¹ платы.

Ð’ gEDA перечни Ñлементов ÑоздаютÑÑ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ ÑпиÑка Ñоединений gnetlist. Подробнее об Ñтом можно узнать здеÑÑŒ.

ÐŸÐµÑ‡Ð°Ñ‚Ð½Ð°Ñ Ð¿Ð»Ð°Ñ‚Ð°

ТехничеÑкое изделие в виде плаÑтины из изолирующего материала (оÑнованиÑ), на поверхноÑти которого нанеÑены один или более проводÑщих риÑунков (Ñлоёв), предназначенное Ð´Ð»Ñ Ð¿Ñ€Ð¸ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñлектронных и ÑлектротехничеÑких компонентов.

ÐŸÐµÑ‡Ð°Ñ‚Ð½Ð°Ñ Ð¿Ð»Ð°Ñ‚Ð° может быть одноÑторонней, двуÑторонней или многоÑлойной. Ð’ качеÑтве изолирующего материала чаще вÑего применÑетÑÑ ÑтеклотекÑтолит FR-4. ОÑнование печатных плат обычно твёрдое, но ÑущеÑтвуют также гибкие печатные платы и гибкие печатные кабели, выполненные на гибком оÑновании. Гибкий печатный кабель предназначен только Ð´Ð»Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… печатных плат. Каждый проводÑщий риÑунок (Ñлой) ÑоÑтоит из печатных проводников, контактных площадок, Ñкранов, металлизированных отверÑтий, теплоотводÑщих и других печатных компонентов.

Ð’ англоÑзычной литературе Ð´Ð»Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ñ‹Ñ… плат, как правило, иÑпользуетÑÑ Ñокращение PCB (“Printed Circuit Boardâ€). Иногда их называют также PWB (“Printed Wiring Boardâ€), однако такое название может выйти из употреблениÑ.

Ð’ gEDA Suite Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ топологии печатных плат иÑпользуетÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° pcb.

ПоверхноÑтный монтаж

Ð¢ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ Ð¼Ð¾Ð½Ñ‚Ð°Ð¶Ð° компонентов на печатную плату, в которой выводы припаиваютÑÑ Ðº контактным площадкам на Ñтороне монтажа компонентов без иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñквозных отверÑтий.

Технологию поверхноÑтного монтажа печатных плат также называют ТМП (технологией монтажа на поверхноÑть), SMT и SMD-технологией. ОÑновное её отличие от технологии монтажа в отверÑÑ‚Ð¸Ñ ÑоÑтоит в том, что компоненты монтируютÑÑ Ð½Ð° поверхноÑти печатной платы, что уменьшает количеÑтво операций и увеличивает ÑкороÑть и качеÑтво производÑтва плат.

ПодÑхема

ЧаÑть ÑлектричеÑкой или радиоÑлектронной Ñхемы, ÑоÑтоÑÑ‰Ð°Ñ Ð¸Ð· целого чиÑла компонентов.

ПодÑхема Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€ÐµÐ´ÑтавлÑет Ñобой файл ÑпиÑка Ñоединений SPICE .subckt (.ckt), Ñодержащий Ñквивалентную Ñхему уÑтройÑтва или интегральной Ñхемы в виде набора более проÑтых моделей.

ПодÑхема Ð´Ð»Ñ ÑхемотехничеÑкого Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€ÐµÐ´ÑтавлÑет Ñобой чаÑть принципиальной Ñхемы, выделенную в отдельный файл и предÑтавлÑемую в gschem отдельным Ñимволом.

Позиционное обозначение

Уникальное обозначение (или название) компонента.

Программы gEDA полагаютÑÑ Ð½Ð° позиционные Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² отношении внутренней организации компонентов. ПоÑтому Ð´Ð»Ñ ÑƒÑпешного ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ð¾Ð¹ платы позиционное обозначение должно быть приÑвоено каждому компоненту. Обычно позиционное обозначение ÑоÑтоит из неÑкольких букв и цифр в верхнем региÑтре. Ðапример: R1, R2, U115, CONN3. (Ð’ Protel называетÑÑ: “Designator†— обозначение.)

См. также Reference designator в википедии.

Полигон

ГрафичеÑкий объект в pcb, предÑтавлÑющий Ñобой облаÑть металлизации печатной платы в виде многоугольника и задаваемый набором координат его вершин.

Полигоны иÑпользуютÑÑ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñлоёв Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¸ земли, Ñкранов и других конÑтрукторÑких целей. Ð’ поÑледних верÑиÑÑ… pcb полигоны могут Ñодержать вырезы. При проведении через полигоны дорожек, зазоры между ними и полигонами ÑоздаютÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки.

Порт

Вывод в определении компонента в ÑпиÑке Ñоединений, иÑпользуемый Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð²Ð½ÐµÑˆÐ½Ð¸Ñ… Ñоединений и имеющий уникальное название и характериÑтику (например, “паÑÑивныйâ€, “входâ€, “выходâ€, “двунаправленный†и Ñ‚. д.).

По аналогии Ñ Ñзыками опиÑÐ°Ð½Ð¸Ñ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚ÑƒÑ€Ñ‹, в которых применÑетÑÑ Ñтот термин, он иногда иÑпользуетÑÑ Ð¸ при ÑхемотехничеÑком проектировании, где под портом имеетÑÑ Ð² виду Ñпециальный объект (Ñимвол), Ñлужащий Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñегментов одной цепи на разных Ñхемах.

ПоÑадочное меÑто

Шаблон, ÑоÑтоÑщий из риÑунка проводников и шелкографии, определÑющий вид и меÑтоположение компонента на печатной плате.

ПоÑадочные меÑта помещаютÑÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¼ на печатную плату на Ñтапе компоновки при проектировании топологии (например, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ программы Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом pcb). Ð’ gEDA Ð´Ð»Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñадочного меÑта, как правило, иÑпользуетÑÑ Ñ‚ÐµÑ€Ð¼Ð¸Ð½ footprint. Ð’ других программах также применÑÑŽÑ‚ÑÑ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ñ‹ decal — “прототип†(PADS), land-pattern — “поÑадочное меÑтоâ€, “отпечатокâ€, “оттиÑкâ€, или pattern — “шаблонâ€, “трафаретâ€.

ПоÑÑок контактной площадки

МеталличеÑкий ободок контактной площадки или перехода вокруг отверÑÑ‚Ð¸Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ð¾Ð¹ платы.

Гарантийный поÑÑок контактной площадки — минимально допуÑÑ‚Ð¸Ð¼Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° контактной площадки вокруг отверÑÑ‚Ð¸Ñ â€” определÑетÑÑ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÐµÐ¼ печатных плат. Общее требование — уÑтанавливать диаметр контактной площадки на 16 милов больше отверÑтиÑ.

ÐŸÑ€Ð¸Ð½Ñ†Ð¸Ð¿Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ñхема

Схема, определÑÑŽÑ‰Ð°Ñ Ð¿Ð¾Ð»Ð½Ñ‹Ð¹ ÑоÑтав Ñлементов уÑтройÑтва в уÑловных обозначениÑÑ… и ÑвÑзей между ними и, как правило, Ð´Ð°ÑŽÑ‰Ð°Ñ Ð´ÐµÑ‚Ð°Ð»ÑŒÐ½Ð¾Ðµ предÑтавление о принципах его работы.

Ðа принципиальной Ñхеме изображают вÑе ÑлектричеÑкие Ñлементы, необходимые Ð´Ð»Ñ Ð¾ÑущеÑÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ñ… ÑлектричеÑких процеÑÑов в уÑтройÑтве, вÑе ÑлектричеÑкие ÑвÑзи между ними, а также ÑлектричеÑкие Ñлементы (Ñоединители, зажимы и Ñ‚. п.), которыми заканчиваютÑÑ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ðµ и выходные цепи.

Ð’ СÐПР Ñлектроники ввод принципиальных Ñхем оÑущеÑтвлÑетÑÑ Ð² Ñпециализированной чертёжной программе — редакторе Ñхем. Ð’ gEDA Ð´Ð»Ñ Ñтого Ñлужит программа gschem.

Проверка ÑоответÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ð¼ нормам

Проверка принципиальной или топологичеÑкой Ñхемы на наличие ошибок и нарушений проектных норм.

Принципиальные Ñхемы проверÑÑŽÑ‚ÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹ gnetlist Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ драйвера drc2. Схемы проверÑÑŽÑ‚ÑÑ Ð½Ð° предмет Ñамых общих ошибок, таких как одинаковые обозначениÑ, неподключенные выводы, неиÑпользуемые Ñекции многоÑекционных компонентов и пр. Подробнее об Ñтом можно узнать в FAQ по gnetlist.

Ð¢Ð¾Ð¿Ð¾Ð»Ð¾Ð³Ð¸Ñ Ð¿Ð»Ð°Ñ‚Ñ‹ проверÑетÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ функции pcb, вызываемой на поÑледнем Ñтапе Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð³Ð¸Ð¸ платы, и обеÑпечивающей Ñоблюдение проектных норм Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ñ‚Ñ€ÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ð¹ производÑтва. Ð’ pcb Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ ÑоответÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ð¼ нормам Ñлужит дейÑтвие DRC(). СущеÑтвует также режим автоматичеÑкого ÑÐ¾Ð±Ð»ÑŽÐ´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ñ… норм в процеÑÑе траÑÑировки. Подробнее об Ñтой функции и контролируемых параметрах можно узнать в РуководÑтве по pcb.

Проводник

Дорожка или облаÑть металлизации печатной платы, ÑÐ»ÑƒÐ¶Ð°Ñ‰Ð°Ñ Ð´Ð»Ñ ÑлектричеÑкого ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² компонентов.

Программа моделированиÑ

Программа Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¾Ð³Ð¾ (логичеÑкого, функционального) или ÑхемотехничеÑкого моделированиÑ.

О программах ÑхемотехничеÑкого моделированиÑ, доÑтупных в gEDA, можно узнать здеÑÑŒ.

Проектирование топологии

Заключительный Ñтап в общем процеÑÑе Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ð¾Ð¹ платы, целью которого ÑвлÑетÑÑ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ риÑунков её проводÑщих и непроводÑщих Ñлоёв.

Это наиболее Ñложный и трудоёмкий процеÑÑ, в течение которого решаютÑÑ Ñледующие взаимоÑвÑзанные задачи:

  • размещение компонентов в ÑиÑтеме координат платы Ñ ÑƒÑ‡Ñ‘Ñ‚Ð¾Ð¼ ÑхемотехничеÑких, технологичеÑких и конÑтруктивных ограничений (компоновка);
  • проведение межÑлементных Ñоединений (траÑÑировка);
  • формирование данных Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ñтва (Gerber-файлов).

Компоновка и траÑÑировка ÑвлÑÑŽÑ‚ÑÑ Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ трудоёмкими и времÑзатратными и неразрывно взаимоÑвÑзанными процеÑÑами, так как в процеÑÑе траÑÑировки чаÑто изменÑетÑÑ Ð¸ компоновка платы. Общими критериÑми их оптимальноÑти ÑвлÑÑŽÑ‚ÑÑ:

  • Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑÑƒÐ¼Ð¼Ð°Ñ€Ð½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° внутриÑхемных Ñоединений
  • минимальное чиÑло переÑечений внутриÑхемных Ñоединений
  • проÑÑ‚Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð²Ð½ÑƒÑ‚Ñ€Ð¸Ñхемных Ñоединений
  • минимальные иÑÐºÐ°Ð¶ÐµÐ½Ð¸Ñ Ñигналов;
  • наилучшие уÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ñ‚Ð²Ð¾Ð´Ð° теплоты.

ИÑходными данными Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ топологии ÑвлÑÑŽÑ‚ÑÑ:

Проектные нормы

Параметры, определÑющие технологичеÑкие данные, Ñ‚Ñ€ÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ топологии печатных плат, определÑемые Ñтандартами и производителÑми плат.

ОÑновными ограничениÑми ÑвлÑÑŽÑ‚ÑÑ:

  • минимально допуÑÑ‚Ð¸Ð¼Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° печатных проводников;
  • минимально допуÑтимые размеры контактных площадок;
  • минимальные раÑÑтоÑÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ контактными площадками и (или) проводниками;
  • минимальные раÑÑтоÑÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ краÑми платы и отверÑтиÑми;
  • минимальные раÑÑтоÑÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ краÑми платы и печатными проводниками;
  • минимальное перекрытие проводÑщего ÑÐ»Ð¾Ñ Ñ€ÐµÐ·Ð¸Ñтивным (защитным).

Другие данные, которые могут быть важны Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ñтва или ÑкÑплуатации плат или требоватьÑÑ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÐµÐ¼, включают порÑдок раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñлоёв, габаритные размеры печатной платы, допуÑк на раÑположение отверÑтий, Ñопротивление Ñоединений и изолÑции, цвет и материал защитной маÑки и Ñ‚. д.

Ð’ pcb Ñоблюдение данных требований и ограничений обеÑпечиваетÑÑ Ñпециальной функцией проверки ÑоответÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ð¼ нормам.

ПроÑвет в паÑльной маÑке

Вырез в паÑльной маÑке, необходимый Ð´Ð»Ñ Ð½Ð°Ð½ÐµÑÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð¿Ð¾Ñ Ð½Ð° контактные площадки.

Радиальный компонент

Компонент в круглом корпуÑе Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°Ð¼Ð¸ Ñнизу, раÑполагаемый при монтаже вертикально над поверхноÑтью платы. Типичный пример — ÑлектролитичеÑкий конденÑатор.

РаÑчёт ÑтатичеÑкого режима

Вид анализа Ñхемы, при котором производитÑÑ Ñ€Ð°Ñчёт её ÑтатичеÑкого режима по поÑтоÑнному току.

Режим автоматичеÑкого ÑÐ¾Ð±Ð»ÑŽÐ´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ñ… норм

Режим pcb, в котором при ручной траÑÑировке учитываютÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ðµ нормами Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¸ программа позволÑет или не позволÑет проведение траÑÑ Ð² определённых меÑтах, а также ÑоблюдаютÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ðµ минимальные зазоры.

СÐПР

СиÑтема автоматизированного Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ â€” ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ñ‹Ñ… ÑредÑтв автоматизации Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ каких-либо изделий.

Ð’ англоÑзычной литературе Ð´Ð»Ñ Ð²Ñех видов СÐПР иÑпользуетÑÑ Ð°Ð±Ð±Ñ€ÐµÐ²Ð¸Ð°Ñ‚ÑƒÑ€Ð° CAD (Computer Aided Dispatch/Drafting/Design).

СÐПР Ñлектроники

СÐПР, Ð¿Ñ€ÐµÐ´Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ð°Ñ Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñлектронных уÑтройÑтв.

Ð’ англоÑзычной литературе, в отличие от прочих СÐПР, имеет аббревиатуру EDA (Electronic Design Automation) — Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñлектронных Ñхем.

Задачи СÐПР Ñлектроники:

При производÑтве печатных плат, например, результатом ÑвлÑетÑÑ Ð½Ð°Ð±Ð¾Ñ€ Gerber-файлов Ñ Ð¾Ð¿Ð¸Ñанием топологии печатной платы.

Многие СÐПР Ñлектроники выполнены в виде интегрированных приложений (программных пакетов) Ñ Ñ†ÐµÐ½Ñ‚Ñ€Ð°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼ управлением, имеющих общий графичеÑкий Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¸ набор библиотек. Ð”Ñ€ÑƒÐ³Ð°Ñ Ñ€Ð°Ð·Ð½Ð¾Ð²Ð¸Ð´Ð½Ð¾Ñть СÐПР, к которой отноÑитÑÑ gEDA, — ÑиÑтемы, поÑтроенные по иерархичеÑкому принципу, то еÑть в виде набора Ñпециализированных программ Ð´Ð»Ñ Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ñ‹Ñ… задач. При решении разных задач такой подход обладает большей гибкоÑтью и универÑальноÑтью.

Ð¡ÐµÐºÑ†Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð°

Одна из незавиÑимых функциональных чаÑтей многоÑекционного компонента, предÑтавлÑÑŽÑ‰Ð°Ñ Ñобой один из неÑкольких автономно функционирующих, но имеющих общее питание Ñквивалентных Ñлементов в одном корпуÑе уÑтройÑтва, который при определенных уÑловиÑÑ… может быть заменён другим Ð´Ð»Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ð¸ траÑÑировки печатной платы.

Символ

ПредÑтавление конкретного компонента в принципиальной Ñхеме.

Символ — доÑловный перевод термина symbol. Ð’ gEDA данный термин ÑоответÑтвует принÑтому в отечеÑтвенной техничеÑкой литературе понÑтию “уÑловное графичеÑкое обозначение†(УГО), но трактуетÑÑ Ð±Ð¾Ð»ÐµÐµ широко, поÑкольку помимо графичеÑкого предÑтавлениÑ, Ñозданного из набора объектов, таких как линии, дуги, прÑмоугольники, текÑÑ‚ и Ñ‚. д., Ñимвол Ñодержит дополнительную информацию в атрибутах. КлаÑÑичеÑкими примерами ÑвлÑÑŽÑ‚ÑÑ Ñимвол резиÑтора в виде прÑмоугольника 10×4 мм (в СШРв виде зигзагообразных линий) или уÑтаревшее обозначение операционного уÑÐ¸Ð»Ð¸Ñ‚ÐµÐ»Ñ Ð² виде треугольника. Ð’ программе-редакторе Ñхем (например, gschem) при Ñоздании принципиальной Ñхемы Ñимволы размещаютÑÑ Ð½Ð° чертеже, а затем между ними вычерчиваютÑÑ ÑоединениÑ.

Синтез Ñхемы

Определение конфигурации принципиальной Ñхемы и параметров Ñлементов радиоÑлектронной Ñхемы.

Скрытый переход

Переход между Ð´Ð²ÑƒÐ¼Ñ Ð¸Ð»Ð¸ более внутренними ÑлоÑми печатной платы без выхода на внешние Ñтороны, то еÑть невидимый ни Ñ Ð¾Ð´Ð½Ð¾Ð¹ из Ñторон платы.

Слой

СовокупноÑть объектов, формирующих риÑунок печатной платы, имеющих общее функциональное назначение, раÑположенных в одной плоÑкоÑти и отображаемых в pcb одинаковым цветом.

ФизичеÑкие проводÑщие и непроводÑщие Ñлои печатной платы, как правило, формируютÑÑ Ð¸Ð· группы Ñлоёв pcb (например, из ÑÐ»Ð¾Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ñ‹Ñ… площадок и одного или неÑкольких Ñлоёв печатных проводников). ПоÑлойные топологичеÑкие чертежи ÑвлÑÑŽÑ‚ÑÑ Ð¸Ñходным документом Ð´Ð»Ñ Ð¸Ð·Ð³Ð¾Ñ‚Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ„Ð¾Ñ‚Ð¾ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð² и маÑок при производÑтве печатных плат.

Видимые Ñлои в pcb ÑвлÑÑŽÑ‚ÑÑ Ð°ÐºÑ‚Ð¸Ð²Ð½Ñ‹Ð¼Ð¸, Ñкрытые — неактивными. ÐктивноÑть ÑÐ»Ð¾Ñ Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡Ð°ÐµÑ‚ÑÑ ÐºÐ½Ð¾Ð¿ÐºÐ°Ð¼Ð¸ в наборе кнопок Ñлоёв. ÐвтотраÑÑировщик работает только Ñ Ð°ÐºÑ‚Ð¸Ð²Ð½Ñ‹Ð¼Ð¸ ÑлоÑми. При ручной траÑÑировке дорожки проводÑÑ‚ÑÑ Ð½Ð° текущем Ñлое, то еÑть Ñлое, выбранном переключателем, находÑщимÑÑ Ñлева от набора кнопок Ñлоёв.

Слой земли

ОтноÑительно Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ Ð¾Ð±Ð»Ð°Ñть металлизации печатной платы, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ð°Ñ ÐºÐ°Ðº ÑлектричеÑÐºÐ°Ñ Ð·ÐµÐ¼Ð»Ñ Ð¸Ð»Ð¸ Ñкран, как правило выполнÑÐµÐ¼Ð°Ñ Ð² отдельном Ñлое.

Слой земли обеÑпечивает общий опорный нулевой потенциал (потенциал земли) Ð´Ð»Ñ Ð²Ñех компонентов платы, Ñкранирование (уменьшение помех), позволÑет отводить тепло и уменьшает паразитную индуктивноÑть (однако, увеличивает паразитную ёмкоÑть).

ПреимущеÑтва иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÐ»Ð¾Ñ Ð·ÐµÐ¼Ð»Ð¸
Ðаличие ÑÐ»Ð¾Ñ Ð·ÐµÐ¼Ð»Ð¸ облегчает проектирование Ñхем, позволÑÑ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ñ‰Ð¸ÐºÑƒ подключать компоненты к земле без необходимоÑти разводки множеÑтва дорожек. ЕÑли к какому-либо компоненту нужно подключить землю, подключение производитÑÑ Ñ‡ÐµÑ€ÐµÐ· переход непоÑредÑтвенно Ñ Ð·ÐµÐ¼Ð»Ñного ÑÐ»Ð¾Ñ Ð² нужный Ñлой.

Ð’ идеале, отдельный Ñлой печатной платы должен быть Ñлоем земли. Обычно он размещаетÑÑ Ñ€Ñдом Ñ Ñлоем питаниÑ, вмеÑте Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼ образует две большие обкладки конденÑатора, Ñлужащего дополнительным фильтром Ð´Ð»Ñ Ð¸Ñточника питаниÑ.

Ð’ некоторых ÑлучаÑÑ… Ñлой земли разделÑетÑÑ Ð½Ð° учаÑтки, которые ÑоединÑÑŽÑ‚ÑÑ Ñ‚Ð¾Ð½ÐºÐ¾Ð¹ дорожкой. Это позволÑет разделить аналоговую и цифровую чаÑти платы или входы и выходы уÑилителей. Ð¢Ð¾Ð½ÐºÐ°Ñ Ð´Ð¾Ñ€Ð¾Ð¶ÐºÐ° имеет доÑтаточно низкий импеданÑ, чтобы потенциал обеих чаÑтей был почти одинаков, но в то же Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€ÐµÐ´Ð¾Ñ‚Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ влиÑние токов земли одной чаÑти на другую. Так как Ñлой земли обычно имеет большую площадь и поперечное Ñечение, его Ñопротивление ÑохранÑетÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ñ‹Ð¼. Ðа низких чаÑтотах, ток протекает по пути наименьшего ÑопротивлениÑ, но на выÑоких чаÑтотах ток течёт по пути наименьшего импеданÑа.

ПредоÑторожноÑти при иÑпользовании ÑÐ»Ð¾Ñ Ð·ÐµÐ¼Ð»Ð¸
Ðаилучшие результаты получаютÑÑ, еÑли целоÑтноÑть вÑего ÑÐ»Ð¾Ñ Ð·ÐµÐ¼Ð»Ð¸ не нарушена. Ðе рекомендуетÑÑ ÑƒÐ´Ð°Ð»Ñть чаÑть ÑÐ»Ð¾Ñ Ð·ÐµÐ¼Ð»Ð¸, чтобы проводить по нему Ñигналы. Слой земли уменьшает индуктивноÑть дорожек, уÑтранÑÑ Ð¼Ð°Ð³Ð½Ð¸Ñ‚Ð½Ð¾Ðµ поле между проводником и Ñлоем земли. ЕÑли учаÑток ÑÐ»Ð¾Ñ Ð·ÐµÐ¼Ð»Ð¸ под дорожкой удален, под ней поÑвлÑÑŽÑ‚ÑÑ Ð½ÐµÐ¶ÐµÐ»Ð°Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ðµ паразитные индуктивноÑти.

Слой компонентов

Слой внешней Ñтороны платы, где раÑполагаютÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ðµ компоненты, то еÑть компоненты, монтируемые в отверÑтиÑÑ…, обычно Ñто верхнÑÑ Ñторона платы. (Protel: “Top Layer†— “верхний Ñлойâ€.)

Слой пайки

Слой внешней Ñтороны платы, Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¹ припаиваютÑÑ Ð²Ñ‹Ð²Ð¾Ð´Ñ‹ обычных компонентов, то еÑть компонентов, монтируемых в отверÑтиÑÑ…. (Protel: “Bottom Layer†— “нижний Ñлойâ€.)

Слой питаниÑ

Слой Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð² печатных платах ÑвлÑетÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸ÐµÐ¼ ÑÐ»Ð¾Ñ Ð·ÐµÐ¼Ð»Ð¸ и ведёт ÑÐµÐ±Ñ ÐºÐ°Ðº Ð·ÐµÐ¼Ð»Ñ Ð´Ð»Ñ Ñигналов переменного тока, в то же Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡Ð¸Ð²Ð°Ñ Ð¿Ð¸Ñ‚Ð°Ð½Ð¸ÐµÐ¼ поÑтоÑнного тока компоненты платы.

Там, где Ñто возможно, желательно Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑÐ»Ð¾Ñ Ð·ÐµÐ¼Ð»Ð¸ иметь Ñлой Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ (вмеÑте они предÑтавлÑÑŽÑ‚ Ñобой пару питающих Ñлоёв), так как Ñто уменьшает Ð¸Ð¼Ð¿ÐµÐ´Ð°Ð½Ñ Ð¸Ñточника Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² платы.

Слой шелкографии

Слой маркировки краÑкой, определÑющий вид и раÑположение текÑтовых и графичеÑких объектов, наноÑимых на печатную плату методом шелкографии.

Обычно данный Ñлой Ñодержит название платы, контуры компонентов и их номиналы или позиционные обозначениÑ.

Соединение

ЭлектричеÑÐºÐ°Ñ ÑвÑзь между Ð´Ð²ÑƒÐ¼Ñ Ð¸Ð»Ð¸ более точками в принципиальной Ñхеме Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð² них одинакового потенциала.

Ð’ gschem в принципиальной Ñхеме Ñоединение (net) предÑтавлÑетÑÑ Ð² виде линий, ÑоÑтоÑщих из прÑмых учаÑтков (Ñегментов), ÑоединÑющих выводы Ñимволов. Ð’ некоторых других программах Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñхем ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½Ð°Ð·Ñ‹Ð²Ð°ÑŽÑ‚ÑÑ Ð¿Ñ€Ð¾Ð²Ð¾Ð´Ð½Ð¸ÐºÐ°Ð¼Ð¸ (wire).

Термин Ñоединение чаÑто иÑпользуетÑÑ Ð±Ð¾Ð»ÐµÐµ широко, например Ð´Ð»Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑлектричеÑкой ÑвÑзи в реальной Ñхеме (через провод или дорожку печатной платы).

Ð’ ÑпиÑке Ñоединений каждое Ñоединение предÑтавлÑетÑÑ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ð¼ Ñлементом (узлом). Каждое Ñоединение имеет уникальное Ð¸Ð¼Ñ Ð¸ в нём опиÑываетÑÑ Ð½Ð°Ð±Ð¾Ñ€ выводов компонентов Ñхемы, которые должны быть ÑлектричеÑки ÑвÑзаны. При проектировании топологии печатной платы в pcb Ñлемент ÑпиÑка Ñоединений определÑет, таким образом, проведение линий ÑвÑзи и, ÑоответÑтвенно, дорожек платы между выводами Ñтого набора.

Соединитель непоÑредÑтвенного ÑочленениÑ

Ð Ð¾Ð·ÐµÑ‚Ð¾Ñ‡Ð½Ð°Ñ Ñ‡Ð°Ñть ÑлектричеÑкого ÑоединителÑ, в контактные гнёзда которой вÑтавлÑÑŽÑ‚ÑÑ ÐºÐ¾Ð½Ñ†ÐµÐ²Ñ‹Ðµ контакты печатной платы или жилы плоÑкого кабелÑ, Ð¾Ð±Ñ€Ð°Ð·ÑƒÑ Ñ€Ð°Ð·ÑŠÑ‘Ð¼Ð½Ð¾Ðµ контактное Ñоединение. Ð’ контекÑте pcb Ñтим термином может называтьÑÑ Ð¸ Ð¾Ñ‚Ð²ÐµÑ‚Ð½Ð°Ñ Ñ‡Ð°Ñть, то еÑть ÑобÑтвенно разъём в виде концевых печатных контактов (называемый также “ножевым разъёмом†печатной платы).

СпиÑок Ñоединений

ТекÑтовый файл, Ñодержащий информацию о ÑоединениÑÑ… Ñхемы, а именно Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑкземплÑров компонентов, ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸ иногда некоторые атрибуты.

Языки опиÑÐ°Ð½Ð¸Ñ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚ÑƒÑ€Ñ‹ тоже можно раÑÑматривать как ÑпиÑки Ñоединений, Ñ…Ð¾Ñ‚Ñ Ð¾Ð½Ð¸ предоÑтавлÑÑŽÑ‚ более детальное опиÑание Ñхем.

Ð’ большинÑтве Ñлучаев ÑпиÑки Ñоединений или Ñодержат, или ÑÑылаютÑÑ Ð½Ð° опиÑание иÑпользуемых компонентов или уÑтройÑтв. Каждый ÑкземплÑÑ€ компонента в ÑпиÑке Ñоединений имеет “оригинал†или “определение†компонента. Ð’ Ñтих определениÑÑ… обычно опиÑываютÑÑ Ð¿Ð¾Ñ€Ñ‚Ñ‹ и некоторые из оÑновных ÑвойÑтв компонента. Каждый ÑкземплÑÑ€ компонента должен иметь уникальное название. Ð’ оÑтальном они могут быть идентичными. СоединениÑм в проекте могут быть приÑвоены атрибуты в завиÑимоÑти от конкретного Ñзыка, на котором напиÑан ÑпиÑок Ñоединений, и возможноÑтей Ñтого Ñзыка.

За оÑнову в ÑпиÑках Ñоединений могут быть взÑты Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ ÑкземплÑров компонентов либо ÑобÑтвенно ÑоединениÑ.

Ð’ первом Ñлучае обычно приводитÑÑ ÑпиÑок ÑкземплÑров компонентов проекта и отноÑÑщийÑÑ Ðº каждому ÑкземплÑру упорÑдоченный ÑпиÑок имён Ñоединений или пар, ÑоÑтоÑщих из Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñ€Ñ‚Ð° и имени подключаемого к нему ÑоединениÑ. Ð’ таких ÑпиÑках Ñоединений атрибуты ÑоединениÑм не приÑваиваютÑÑ. Примером формата ÑпиÑка Ñоединений на оÑнове названий ÑкземплÑров компонентов ÑвлÑетÑÑ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ SPICE.

Во втором Ñлучае обычно приводÑÑ‚ÑÑ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð²Ñех ÑкземплÑров компонентов и их атрибутов, а затем опиÑание каждого ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ портов ÑкземплÑров, к которым они подключаютÑÑ. Ð’ таком ÑпиÑке Ñоединений ÑоединениÑм можно назначать атрибуты. Примером формата ÑпиÑка Ñоединений на оÑнове Ñоединений ÑвлÑетÑÑ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ EDIF.

Ð”Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑков Ñоединений Ñлужит ÑÐ¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° — генератор ÑпиÑка Ñоединений.

Стиль траÑÑировки

Именованный набор параметров объектов, иÑпользуемый Ð´Ð»Ñ Ñ€ÑƒÑ‡Ð½Ð¾Ð¹ или автоматичеÑкой траÑÑировки в pcb. Эти параметры включают:

Ð’ pcb Ñтиль траÑÑировки можно выбрать, нажав кнопку Стиль траÑÑировки в левом нижнем углу окна программы. Ð’ файле конфигурации pcb можно изменить иÑпользуемые по умолчанию параметры имеющихÑÑ Ñтилей или Ñоздать новые.

СхемотехничеÑкое моделирование

Моделирование ÑлектричеÑких процеÑÑов в Ñлектронном уÑтройÑтве, предÑтавленном в виде принципиальной ÑлектричеÑкой Ñхемы, Ñ Ñ†ÐµÐ»ÑŒÑŽ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ñ‹ и параметров Ñигналов тока и напрÑÐ¶ÐµÐ½Ð¸Ñ Ð² разных точках Ñхемы.

Ð’ отличие от информационного (функционального, логичеÑкого и других видов), ÑхемотехничеÑкое моделирование учитывает физичеÑкие процеÑÑÑ‹ в ÑлектричеÑкой Ñхеме (на оÑнове законов Кирхгофа), и потому оно Ñ Ð¾Ð´Ð½Ð¾Ð¹ Ñтороны гораздо Ñложнее и требует больше времени Ð´Ð»Ñ Ñ€Ð°Ñчётов, а Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ Ñтороны, ÑвлÑетÑÑ Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ точным и Ñффективным методом иÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ñхемы. Это разновидноÑть имитационного моделированиÑ, то еÑть метода компьютерного иÑÑледованиÑ, в котором Ñ€ÐµÐ°Ð»ÑŒÐ½Ð°Ñ Ñхема заменÑетÑÑ ÑлектричеÑкой моделью, воÑÑоздаётÑÑ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¿Ð¾ÑледовательноÑть Ñобытий в модели, тождеÑÑ‚Ð²ÐµÐ½Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð¸ÑходÑщей в реальном уÑтройÑтве, и проводитÑÑ Ð°Ð½Ð°Ð»Ð¸Ð· Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ о реакции Ñхемы на предполагаемые воздейÑтвиÑ.

Типовыми задачами Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвлÑÑŽÑ‚ÑÑ Ñ€Ð°Ñчёт ÑтатичеÑкого режима, переходных процеÑÑов, чаÑтотных характериÑтик Ñхем. Ðа оÑнове Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ñтих задач можно далее вычиÑлить параметры Ñигналов (фронт, длительноÑть, задержку и др.), раÑÑчитать Ñпектр выходного Ñигнала, чувÑтвительноÑть Ñхемы к изменению параметров ее Ñлементов, решить задачи ÑтатиÑтичеÑкого анализа Ñхемы и оптимизации ее параметров. МакÑимальную точноÑть и доÑтоверноÑть в решении указанных задач дают программы, работа которых оÑнована на ÑемейÑтве алгоритмов SPICE.

СхемотехничеÑкое проектирование

Проектирование принципиальных Ñхем радиоÑлектронной аппаратуры.

Целью ÑхемотехничеÑкого Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвлÑетÑÑ Ñинтез ÑлектричеÑкой Ñхемы уÑтройÑтва, определение входных и выходных Ñигналов, режимов питаниÑ, формирование Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² Ñхемы, раÑчёт их параметров и характериÑтик. При Ñтом также решаютÑÑ Ð·Ð°Ð´Ð°Ñ‡Ð¸ анализа и оптимизации Ñхемы.

Термобарьер

СпоÑоб ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ð¾Ð¹ площадки Ñ Ð¾Ð±Ð»Ð°Ñтью металлизации поÑредÑтвом узких перемычек (“Ñпицâ€).

Термобарьер предназначен Ð´Ð»Ñ ÑлектричеÑкого ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ð¾Ð¹ площадки Ñ Ð¼Ð°ÑÑивной облаÑтью металлизации и обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ Ñтом доÑтаточного теплового ÑÐ¾Ð¿Ñ€Ð¾Ñ‚Ð¸Ð²Ð»ÐµÐ½Ð¸Ñ (ÑÐ½Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñ‚ÐµÐ¿Ð»Ð¾Ð¾Ñ‚Ð²Ð¾Ð´Ð°) Ð´Ð»Ñ Ð¾Ð±Ð»ÐµÐ³Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð°Ð¹ÐºÐ¸. Термобарьеры иÑпользуютÑÑ Ð² оÑновном Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ñ‹Ñ… площадок Ñо Ñквозными отверÑтиÑми под выводы. Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð¾Ð² термобарьеры иÑпользуютÑÑ Ñ€ÐµÐ´ÐºÐ¾, так как обычно к ним ничего не припаиваетÑÑ.

Термопереход

Переход, предназначенный Ð´Ð»Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð²Ð¾Ð´Ð° тепла от Ñиловых компонентов поÑредÑтвом ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½ÐµÑкольких облаÑтей металлизации в разных ÑлоÑÑ… печатной платы.

Ð’ отличие от термоплощадок, контактные площадки термопереходов ÑоединÑÑŽÑ‚ÑÑ Ñ Ð¾Ð±Ð»Ð°Ñтью металлизации по вÑей окружноÑти, то еÑть термобарьеры и зазоры не иÑпользуютÑÑ. Это ÑпоÑобÑтвует Ñозданию облаÑтей Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹ теплоёмкоÑтью, иÑпользуемых Ð´Ð»Ñ Ñ‚ÐµÐ¿Ð»Ð¾Ð¾Ñ‚Ð²Ð¾Ð´Ð°. Обычно облаÑти металлизации ÑоединÑÑŽÑ‚ÑÑ Ð½ÐµÑколькими (деÑÑтью и более) термопереходами.

Термоплощадка

ÐšÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ð°Ñ Ð¿Ð»Ð¾Ñ‰Ð°Ð´ÐºÐ° Ñ Ñ‚ÐµÑ€Ð¼Ð¾Ð±Ð°Ñ€ÑŒÐµÑ€Ð¾Ð¼.

Ð’ pcb еÑть Ñпециальный режим Ð´Ð»Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ÑÑков отверÑтий в термоплощадки.

ТопологиÑ

Чертёж одного или неÑкольких Ñлоёв печатной платы, определÑющий раÑположение и размеры входÑщих в них Ñлементов.

Также называетÑÑ Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑкой Ñхемой.

ТраÑÑа

Маршрут печатного проводника, обеÑпечивающего ÑлектричеÑкое Ñоединение между выводами компонентов печатной платы или ÑобÑтвенно Ñтот проводник.

ТраÑÑировка

Проведение межÑлементных Ñоединений и формирование чертежей проводÑщего риÑунка Ñлоёв печатной платы по заданной Ñхеме Ñоединений (ÑпиÑку Ñоединений) Ñ ÑƒÑ‡ÐµÑ‚Ð¾Ð¼ заранее заданных ограничений. ОÑновными ÑвлÑÑŽÑ‚ÑÑ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð° ширину проводников и минимальные раÑÑтоÑÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ ними.

Ввиду огромного количеÑтва ÑпоÑобов реализации Ñоединений Ñта задача ÑвлÑетÑÑ Ð¾Ð´Ð½Ð¾Ð¹ из наиболее трудоёмких при проектировании топологии печатной платы.

Цели траÑÑировки:

  • обеÑпечение ÑоответÑÑ‚Ð²Ð¸Ñ Ñоединений ÑлектричеÑкой Ñхеме;
  • Ð¼Ð¸Ð½Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¾Ð±Ñ‰ÐµÐ¹ длины Ñоединений;
  • Ð¼Ð¸Ð½Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ‡Ð¸Ñла переÑÐµÑ‡ÐµÐ½Ð¸Ñ Ñ‚Ñ€Ð°ÑÑ Ð½Ð° плате;
  • равномерное раÑпределение Ñоединений по площади платы.

Удовлетворение вÑем перечиÑленным уÑловиÑм при решении практичеÑких задач траÑÑировки невозможно, поÑкольку Ð¼Ð¸Ð½Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð´Ð»Ð¸Ð½Ñ‹ Ñоединений и чиÑла переÑечений при одновременной равномерноÑти их раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½Ð°Ñ…Ð¾Ð´ÑÑ‚ÑÑ Ð² противоречии.

ИÑходными данными Ð´Ð»Ñ Ñ‚Ñ€Ð°ÑÑировки ÑвлÑÑŽÑ‚ÑÑ Ñ€Ð°Ñположение контактных площадок компонентов, полученное на фазе компоновки платы, и ÑпиÑок Ñоединений.

ТраÑÑировка может оÑущеÑтвлÑтьÑÑ Ð²Ñ€ÑƒÑ‡Ð½ÑƒÑŽ, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ инÑÑ‚Ñ€ÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ñ pcb, автоматичеÑки, или комбинированным ÑпоÑобом.

При ручной траÑÑировке может иÑпользоватьÑÑ Ñ€ÐµÐ¶Ð¸Ð¼ автоматичеÑкого ÑÐ¾Ð±Ð»ÑŽÐ´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ñ… норм.

При автоматичеÑкой траÑÑировке иÑпользуетÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкой траÑÑировки pcb, Ð½Ð°Ð·Ñ‹Ð²Ð°ÐµÐ¼Ð°Ñ Ð¿Ñ€Ð¾Ñто автотраÑÑировщиком.

Флаг

Ð’ pcb Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… объектов могут задаватьÑÑ Ñ„Ð»Ð°Ð³Ð¸. Это битовые полÑ, которыми задаютÑÑ Ð¾Ñобые ÑвойÑтва объектов. Примерами ÑвлÑÑŽÑ‚ÑÑ Ñ„Ð»Ð°Ð³ квадратных контактных площадок square и флаг Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² на обратной Ñтороне платы onsolder. Подробное опиÑание вÑех флагов можно найти в РуководÑтве по pcb.

Фотоплоттер

УÑтройÑтво, производÑщее фотошаблоны Ð´Ð»Ñ Ð¸Ð·Ð³Ð¾Ñ‚Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñлоёв печатных плат на оÑнове Gerber-файлов.

Фотошаблон

Фотоплёнка или ÑтеклÑÐ½Ð½Ð°Ñ Ð¿Ð»Ð°Ñтина Ñ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸ÐµÐ¼ проводÑщего риÑунка ÑÐ»Ð¾Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ð¾Ð¹ платы или паÑльной маÑки, выполненным в позитивном или негативном виде в завиÑимоÑти от применÑемого технологичеÑкого процеÑÑа Ð¸Ð·Ð³Ð¾Ñ‚Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñтой печатной платы, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ð°Ñ Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтого риÑунка Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñвета.

Цоколёвка

Схема раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð¾Ð² корпуÑа компонента.

ЧаÑтотный анализ

Вид анализа, при котором производитÑÑ Ñ€Ð°Ñчёт чаÑтотных характериÑтик линеаризованной цепи в рабочей точке.

ШелкографиÑ

Метод трафаретной печати, широко иÑпользуемый в производÑтве печатных плат, название которого проиÑходит от того, что шёлк традиционно иÑпользовалÑÑ Ð² процеÑÑе печати.

Шина

Обозначение ÑлиÑÐ½Ð¸Ñ Ð½ÐµÑкольких ÑлектричеÑки не ÑвÑзанных линий ÑвÑзи (Ñоединений) на принципиальной Ñхеме в одну линию групповой ÑвÑзи.

Подробнее об иÑпользовании шин в gschem можно почитать здеÑÑŒ.

Язык опиÑÐ°Ð½Ð¸Ñ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚ÑƒÑ€Ñ‹

Формат предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑƒÑтройÑтв в виде набора ÑинтакÑичеÑких и ÑемантичеÑких правил, предназначенный Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑкой организации ÑиÑтемы в виде Ñлементов и ÑвÑзей между ними Ñ Ñ†ÐµÐ»ÑŒÑŽ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð¹ функции Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ñ…Ð¾Ð´Ð½Ñ‹Ñ… Ñигналов в выходные.

Языки опиÑÐ°Ð½Ð¸Ñ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚ÑƒÑ€Ñ‹ (например, Verilog и VHDL) иÑпользуютÑÑ Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÐ³Ñ€Ð°Ð»ÑŒÐ½Ñ‹Ñ… Ñхем и Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ñ… работы.

ASCII

ASCII (American Standard Code for Information Interchange) — американÑкий Ñтандартный код обмена информацией. Ð’ иÑходном виде ASCII предÑтавлÑет Ñобой 7-битную кодировку Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ†Ð¸Ñ„Ñ€ и букв латинÑкого и национального алфавитов, знаков Ð¿Ñ€ÐµÐ¿Ð¸Ð½Ð°Ð½Ð¸Ñ Ð¸ управлÑющих Ñимволов. Ð’ контекÑте gEDA чаÑто употреблÑетÑÑ Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð½Ð° проÑтое текÑтовое Ñодержимое файла, Ñ…Ð¾Ñ‚Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð½Ñтво программных ÑредÑтв работают Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ в кодировке UTF-8, ÑвлÑющейÑÑ Ñ€Ð°Ñширением ASCII.

ASIC

Ð¡Ð¿ÐµÑ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¸Ð½Ñ‚ÐµÐ³Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ñхема, ÑÐ¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ñ… функций Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ обработки Ñигналов и Ñ€Ð°Ð·Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°ÐµÐ¼Ð°Ñ Ð´Ð»Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ð¾Ð¹ аппаратуры. При разработке ASIC Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ñ… функциональноÑти иÑпользуют Ñзыки опиÑÐ°Ð½Ð¸Ñ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚ÑƒÑ€Ñ‹.

FR-4

Марка негорючего ÑтеклотекÑтолита, наиболее широко иÑпользуемого Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ñтва печатных плат в качеÑтве базового изолирующего материала (оÑнованиÑ).

gedasymbols.org

http://gedasymbols.org — веб-Ñтраница, где находÑÑ‚ÑÑ Ñимволы Ð´Ð»Ñ gschem, файлы поÑадочных меÑÑ‚, Ñкрипты, плагины и прочее, чем пользователи ÑодейÑтвуют проекту gEDA. Страницы пользователей доÑтупны по щелчку мыши. ВеÑÑŒ Ñайт целиком можно загрузить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ÑиÑтемы параллельных верÑий CVS. С помощью Ñтой программы пользователи также поддерживают Ñвои Ñтраницы на Ñайте.

Gerber-файлы

Комплект файлов данных, иÑпользуемых фотоплоттером Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð¾Ñ‚Ð¾ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð² при производÑтве печатных плат, Ñодержащих опиÑание их топологии — геометрию дорожек, шелкографию, паÑльную маÑку и контуры платы.

Так как каждый Ñлой предÑтавлен отдельным файлом, их обычно объединÑÑŽÑ‚ в zip-архив. Ðазвание Ñти файлы получили в чеÑть компании Gerber Scientific Co., разработавшей первый векторный фотоплоттер. Официальное название формата такого файла — “Gerber RS274Xâ€. ОбратитеÑÑŒ к Ñтой веб-Ñтранице, где приведено краткое опиÑание формата, и к Ñтому PDF-документу, Ñодержащему иÑчерпывающую Ñпецификацию.

Обычно под Gerber-файлами имеютÑÑ Ð² виду не только файлы в Gerber-формате, но и в Excellon-формате. Gerber-формат применÑетÑÑ Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ñ€Ð¸Ñунка Ñлоев печатной платы в векторном виде Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ апертур. Excellon-формат применÑетÑÑ Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ ÐºÐ¾Ð¾Ñ€Ð´Ð¸Ð½Ð°Ñ‚ отверÑтий и формы фрезерных пазов Ð´Ð»Ñ Ñверлильно-фрезерных Ñтанков.

GTK-HID

GTK-HID — GTK-верÑÐ¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑкого интерфейÑа pcb. См. HID. Ðазвание подÑказывает, что GTK-HID иÑпользует набор виджетов GTK+ и ÑтараетÑÑ ÑоответÑтвовать Ñтандартам пользовательÑкого интерфейÑа GTK. Это графичеÑкий Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ pcb по умолчанию. ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¼ÐµÐ½ÑŽ и клавиатуры читаетÑÑ Ð¸Ð· gpcb-menu.res. (Ðльтернативой ÑвлÑетÑÑ Lesstif-HID.)

HID

HID (Human Interface Device) — доÑловно “уÑтройÑтво взаимодейÑÑ‚Ð²Ð¸Ñ Ñ Ñ‡ÐµÐ»Ð¾Ð²ÐµÐºÐ¾Ð¼â€. Ð’ контекÑте pcb HID предÑтавлÑет Ñобой интерфейÑную проÑлойку, Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¹ взаимодейÑтвует пользователь. Ð˜Ð´ÐµÑ ÑоÑтоит в том, чтобы разбить иÑходные текÑты программы pcb на “Ñдроâ€, работающее Ñо Ñтруктурами данных Ñамой платы, и интерфейÑÑ‹ (HID), Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑкие, печать и код ÑкÑпорта. Таким образом Ñдро не должно ничего знать о графичеÑком интерфейÑе. При Ñтом преÑледуютÑÑ Ð´Ð²Ðµ оÑновные цели: поддержка разных графичеÑких интерфейÑов на оÑнове одних иÑходных текÑтов и облегчение разработки функциональноÑти как Ñдра, так и интерфейÑов. Ð”Ð»Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¾Ð³Ð¾ иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² pcb предназначены два графичеÑких интерфейÑа: 1) на оÑнове виджетов GTK; 2) на оÑнове виджетов Lesstif.

Lesstif-HID

Lesstif-HID — Lesstif-верÑÐ¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑкого интерфейÑа pcb. См. HID. ИÑпользует набор виджетов библиотеки Lesstif, ÑвлÑющейÑÑ Ð²ÐµÑ€Ñией Motif Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом. ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¼ÐµÐ½ÑŽ и клавиатуры, читаемые из pcb-menu.res, ÑтараютÑÑ ÑоответÑтвовать Ñтандартам пользовательÑкого интерфейÑа Lesstif. ЕÑли хотите попробовать Ñтот интерфейÑ, нужно Ñкомпилировать pcb Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ --with-gui=lesstif. (Ðльтернативой ÑвлÑетÑÑ GTK-HID.)

pcb

Ð’ контекÑте gEDA Ñтот акроним имеет два различных значениÑ:

  1. Сокращение Ð´Ð»Ñ â€œprinted circuit board†(PCB, Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ð°Ñ Ð¿Ð»Ð°Ñ‚Ð°).
  2. Мощное программное ÑредÑтво Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом, иÑпользуемое Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ топологии печатных плат. Вывод программ gaf может иÑпользоватьÑÑ ÐºÐ°Ðº ввод Ð´Ð»Ñ pcb. (ДомашнÑÑ Ñтраница pcb.)

SPICE

СемейÑтво алгоритмов анализа и Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñлектронных Ñхем.

SPICE (Simulation Program with Integrated Circuit Emphasis) — доÑловно раÑшифровываетÑÑ ÐºÐ°Ðº “программа Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ Ð°ÐºÑ†ÐµÐ½Ñ‚Ð¾Ð¼ на интегрированные Ñхемыâ€.

Данные алгоритмы обеÑпечивают ÑоÑтавление ÑиÑтемы дифференциальных и алгебраичеÑких линейных и нелинейных уравнений Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€ÑƒÐµÐ¼Ð¾Ð¹ Ñхемы и решение их чиÑленными методами. СиÑтемы Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð° оÑнове SPICE иÑпользуютÑÑ Ð² оÑновном Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ñ‹Ñ… и аналого-цифровых Ñхем и интегральных микроÑхем.

Словарь английÑких терминов

AC analysis чаÑтотный анализ
action дейÑтвие, функциÑ
active side Ð°ÐºÑ‚Ð¸Ð²Ð½Ð°Ñ Ñторона платы
actual clearance дейÑтвительный зазор
annular ring, annulus поÑÑок контактной площадки
antipad антиплощадка
aperture апертура
Application-Specific Integrated Circuit Ð¸Ð½Ñ‚ÐµÐ³Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ñхема Ñпециализированного применениÑ
ASIC Ñм. Application-Specific Integrated Circuit
attribute атрибут
attribute name Ð¸Ð¼Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°
autorouter ÐвтотраÑÑировщик, программа или Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкой траÑÑировки
axial component акÑиальный компонент
back annotation обратное аннотирование (изменений данных)
backend драйвер, (низкоуровневый, внутренний) модуль
Bill Of Material перечень Ñлементов; ÑпецификациÑ
blind via глухой межÑлойный переход
board плата
BOM Ñм. Bill Of Material
BOM netlister генератор Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ Ñлементов
boundary 1) граница;
2) граничное значение
buried via Ñкрытый межÑлойный переход
bus шина, Ð»Ð¸Ð½Ð¸Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð¾Ð²Ð¾Ð¹ ÑвÑзи
CAD СÐПР
canvas Ñ€Ð°Ð±Ð¾Ñ‡Ð°Ñ Ð¾Ð±Ð»Ð°Ñть (окна программы)
card карта (одно из раÑпроÑтранённых названий печатных плат)
case style типоразмер корпуÑа
characteristic impedance 1) характериÑтичеÑкое Ñопротивление (напр. фильтра);
2) волновое Ñопротивление (линии передачи)
circuit 1) (ÑлектричеÑÐºÐ°Ñ Ð¸Ð»Ð¸ радиоÑлектроннаÑ) Ñхема;
2) цепь, контур
circuit analysis анализ Ñхемы
circuit design проектирование (проект, разработка) ÑлектричеÑкой или радиоÑлектронной Ñхемы
circuit optimization Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ€Ð°Ð´Ð¸Ð¾Ñлектронной Ñхемы
circuit simulation ÑхемотехничеÑкое моделирование
circuitry 1) Ñхемы;
2) компоновка Ñхем(Ñ‹); Ñхемотехника; Ñхемное решение
clearance 1) зазор; изолÑционный промежуток; проÑвет;
2) очиÑтка; уÑтранение препÑÑ‚Ñтвий;
3) уÑтановка в иÑходное ÑоÑтоÑние; ÑÐ±Ñ€Ð¾Ñ (триггера)
clearance gap зазор; изолÑционный промежуток; проÑвет
component компонент
component layer Ñлой, Ñторона компонентов
component placement размещение компонентов, компоновка
connection Ñоединение, ÑвÑзь; процеÑÑ ÑоединениÑ
copper layer проводÑщий Ñлой
DC analysis раÑчёт ÑтатичеÑкого режима
dead copper изолированный учаÑток металлизации
design flow маршрут проектированиÑ; процеÑÑ, Ð¾Ñ€Ð³Ð°Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑа разработки; поÑледовательноÑть (Ñтапов) проектированиÑ
Design Rule Checker Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ ÑоответÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ð¼ нормам
Design Rule Checking проверка ÑоответÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð½Ñ‹Ð¼ нормам
device прибор, уÑтройÑтво
dialog, dialog box диалоговое окно (программы)
DRC Ñм. Design Rule Checking, Design Rule Checker
EDA СÐПР Ñлектроники
edge connector Ñоединитель (розетка) непоÑредÑтвенного ÑочленениÑ; ножевой разъём
electromagnetic interference ÑÐ»ÐµÐºÑ‚Ñ€Ð¾Ð¼Ð°Ð³Ð½Ð¸Ñ‚Ð½Ð°Ñ Ð¿Ð¾Ð¼ÐµÑ…Ð°
electroplating гальваничеÑÐºÐ°Ñ Ð¼ÐµÑ‚Ð°Ð»Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ
EMI Ñм. electromagnetic interference
etching травление
far side Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ Ñторона платы
feedback Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÑвÑзь
finger 1) концевой печатный контакт;
2) перемычка термобарьера (“Ñпицаâ€)
flag флаг
footprint поÑадочное меÑто
forward annotation прÑмое аннотирование (изменений данных)
gerbers Gerber-файлы
grid ÐºÐ¾Ð¾Ñ€Ð´Ð¸Ð½Ð°Ñ‚Ð½Ð°Ñ Ñетка
grid spacing шаг координатной Ñетки
ground plane (layer) Ñлой земли (печатной платы)
GTK-HID GTK-верÑÐ¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑкого интерфейÑа pcb
Hardware Description Language Ñзык опиÑÐ°Ð½Ð¸Ñ Ð°Ð¿Ð¿Ð°Ñ€Ð°Ñ‚ÑƒÑ€Ñ‹
HDL Ñм. Hardware Description Language
header фронтальный Ñоединитель
heat sink теплоотвод; радиатор
IC Ñм. integrated circuit
inch дюйм (25,4 мм)
integrated circuit Ð¸Ð½Ñ‚ÐµÐ³Ñ€Ð°Ð»ÑŒÐ½Ð°Ñ Ñхема, микроÑхема
jumper перемычка, джампер
junction точка ÑоединениÑ
land pattern поÑадочное меÑто
layer Ñлой (печатной платы)
lay out планировать, проектировать; размечать
layout 1) топологиÑ, топологичеÑÐºÐ°Ñ Ñхема, топологичеÑÐºÐ°Ñ Ñтруктура, чертёж печатной платы;
2) проектирование (разработка) топологии;
3) размещение, компоновка;
4) разводка, траÑÑировка (печатной платы);
5) формат (файла)
lead вывод
Least Significant Bit младший значащий разрÑд (МЗР)
Lesstif-HID Lesstif-верÑÐ¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑкого интерфейÑа pcb
logic gate логичеÑкий Ñлемент
LSB Ñм. Least Significant Bit
manual routing Ñ€ÑƒÑ‡Ð½Ð°Ñ Ñ‚Ñ€Ð°ÑÑировка
microvia микропереход
mil мил, одна тыÑÑÑ‡Ð½Ð°Ñ Ð´ÑŽÐ¹Ð¼Ð° (0,0254 мм)
Most Significant Bit Ñтарший значащий разрÑд (СЗР)
mounting hole крепёжное отверÑтие
MSB Ñм. Most Significant Bit
multi-layer PCB многоÑÐ»Ð¾Ð¹Ð½Ð°Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ð°Ñ Ð¿Ð»Ð°Ñ‚Ð°
negative layer негативный Ñлой
net Ñоединение
netlist ÑпиÑок Ñоединений
netlister генератор ÑпиÑка Ñоединений
netlisting Ñоздание ÑпиÑка Ñоединений
outline контур (печатной платы)
package 1) ÐºÐ¾Ñ€Ð¿ÑƒÑ (компонента);
2) пакет (программ)
package type типоразмер корпуÑа
pad ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ð°Ñ Ð¿Ð»Ð¾Ñ‰Ð°Ð´ÐºÐ°
part прибор, деталь, компонент
pcb программа pcb
PCB Ñм. printed circuit board
pcb layout 1) Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð³Ð¸Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ð¾Ð¹ платы;
2) проектирование топологии печатной платы;
3) траÑÑировка печатной платы
performance 1) техничеÑкие характериÑтики;
2) производительноÑть
pin вывод (компонента)
pin list перечень выводов
pinout цоколёвка
pin swapping переÑтановка выводов компонента
plane Ñлой металлизации, облаÑть металлизации во внутреннем Ñлое
plated hole металлизированное отверÑтие
plated through hole Ñквозное металлизированное отверÑтие
port порт; вход, выход
positive layer позитивный Ñлой
power plane Ñлой питаниÑ
printed circuit board Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ð°Ñ Ð¿Ð»Ð°Ñ‚Ð°
printed wiring board Ð¿ÐµÑ‡Ð°Ñ‚Ð½Ð°Ñ Ð¿Ð»Ð°Ñ‚Ð°
promoted вынеÑенный (атрибут)
promotion Ð²Ñ‹Ð½Ð¾Ñ (атрибута)
prototyping прототипирование, Ñоздание опытного образца; макетирование
PWB Ñм. printed wiring board
radial component радиальный компонент
Radio Frequency выÑÐ¾ÐºÐ°Ñ Ñ‡Ð°Ñтота (ВЧ), радиочаÑтота (РЧ)
rat Ð»Ð¸Ð½Ð¸Ñ ÑвÑзи
rats nest линии ÑвÑзи
refdes Ñокращение Ð´Ð»Ñ reference designator
reference designator позиционное обозначение
reference voltage опорное напрÑжение
resist резиÑÑ‚, маÑкировочное покрытие
RF Ñм. Radio Frequency
RF amplifier уÑилитель выÑокой чаÑтоты (УВЧ)
RF circuit выÑокочаÑÑ‚Ð¾Ñ‚Ð½Ð°Ñ Ñхема
route 1) траÑÑа, дорожка; маршрут;
2) разводить, траÑÑировать; проводить
routing траÑÑировка, разводка
routing layer траÑÑируемый Ñлой
schematic capture ÑхемотехничеÑкое проектирование, ввод (разработка) принципиальной Ñхемы
schematic, schematic diagram Ð¿Ñ€Ð¸Ð½Ñ†Ð¸Ð¿Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ñхема
short circuit короткое замыкание
silkscreen шелкографиÑ
silkscreen layer Ñлой шелкографии
simulating моделирование
simulation моделирование
simulator программа моделированиÑ
slot (логичеÑкаÑ) ÑÐµÐºÑ†Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð°
slot swapping переÑтановка Ñекций многоÑекционного компонента
slotted component многоÑекционный компонент
slotting назначение логичеÑких Ñекций
SMC Ñм. Surface Mount Component
SMD Ñм. Surface Mount Device
SMT Ñм. Surface Mount Technology
solder 1) припой;
2) паÑть, припаивать
solder layer Ñлой, Ñторона пайки
solder mask, solder resist паÑÐ»ÑŒÐ½Ð°Ñ Ð¼Ð°Ñка
solder paste паÑÐ»ÑŒÐ½Ð°Ñ Ð¿Ð°Ñта
source library библиотека иÑходных данных
speed performance быÑтродейÑтвие (Ñхемы)
SPICE engine SPICE-процеÑÑор, набор подпрограмм SPICE
SPICE model SPICE-модель, модель Ð´Ð»Ñ SPICE-моделированиÑ
SPICE simulation SPICE-моделирование
subcircuit подÑхема; чаÑть Ñхемы
Surface Mount Component компонент Ð´Ð»Ñ Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ð¾Ñтного монтажа
Surface Mount Device уÑтройÑтво (компонент) Ð´Ð»Ñ Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ð¾Ñтного монтажа
Surface Mount Technology Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ð¾Ñтного монтажа
symbol Ñимвол
tented via тентированный переход (закрытый паÑльной маÑкой)
test point ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ°
thermal Ñм. thermal relief pad
thermal relief термобарьер
thermal relief pad термоплощадка
thermal via термопереход
through hole Ñквозное отверÑтие
through hole component компонент Ð´Ð»Ñ Ð¼Ð¾Ð½Ñ‚Ð°Ð¶Ð° в отверÑтиÑ
trace 1) траÑÑа, дорожка;
2) чертить, проводить;
3) отÑлеживать, проÑлеживать
track 1) дорожка;
2) отÑлеживать
transient analysis временной анализ
vacuum tube ÑÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ Ð»Ð°Ð¼Ð¿Ð°
vendor поÑтавщик, производитель (плат, компонентов)
vertex вершина угла (полигона)
via межÑлойный переход, переходное отверÑтие
viewport облаÑть проÑмотра, Ð²Ð¸Ð´Ð¸Ð¼Ð°Ñ Ð¾Ð±Ð»Ð°Ñть (окна программы)
window окно (программы)
wire 1) провод, проводник; проволока;
2) ÑоединÑть проводами, коммутировать
workflow рабочий процеÑÑ, Ð¾Ñ€Ð³Ð°Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‡ÐµÐ³Ð¾ процеÑÑа; ход, течение разработки
lepton-eda-1.9.10/docs/wiki/geda-fc4.html0000644000175000017500000001374513634703632014727 00000000000000

Installer 20060825 on Fedora Core 4 install notes

The latest CD installer will work fine on Fedora Core 4. All gEDA Suite programs now compile happily with gcc-4.X. When you build your FC4 system, make sure you select “devlopement worstation†as your system type, and include as many -devel packages into the build as you can. The following packages are particularly important:

  • gtk-devel
  • gnome-devel
  • guile-devel
  • tcl-devel
  • tk-devel

If you are missing most of these -devel packages, the installer will do the right thing, but it's better to pre-install them so the installer doesn't have to become root to do it.

Installer 2005080X on Fedora Core 4 install notes

Prerequisites:

When you install FC4, make sure you install the “workstation†version, and not the “desktop†version. (You are presented with this choice when you first install the distribution off of the distribution media.) The “workstation†version includes important header files and other tools which are necessary to build many components of the gEDA Suite using the installer.

Also, the following additional RPMs are required:

  • guile-1.6.7-devel
  • gettext-XX-devel.
  • compat-gcc-3.2.3-47.fc4.i386.rpm
  • compat-gcc-32-c++-3.2.3-47.fc4.i386.rpm
  • compat-libstdc++-33-0:3.2.3-47.fc4.i386.rpm (installed automatically when g++ is installed by rpm)

These RPMs are not automatically installed by RedHat’s installer; you need to install them manually. The devel packages live on the 4th FC4 disk. The gcc compatability compiler lives on the 3rd FC4 disk. Install all these packages before trying to build the gEDA Suite.

Before installing the gEDA Suite on an FC4 system, you should set the CC environment variable to point to gcc32. This is explained further in the “Problems†section below.

Problems:

The 200508XX installer will fail on FC4 systems. There seem to be several independent problems:

  1. The installer doesn’t find guile, even though it comes pre-installed on the platform.
    The problem here is that the installer tries to find guile by issuing the “guile-config†command. This command lives in the guile-devel RPM which is not installed by default (see above). To fix the problem, install the guile-devel RPM which lives on the FC4 install CD no. 4.
  2. The installer doesn’t find gettext, even though it comes pre-installed on the platform. Gettext is used by gschem, so this error is raised during the configure stage for gschem.
    Again, the gettext header files live in the gettext-devel RPM which is not installed by default (see above). To fix this problem, install the gettext-devel RPM which lives on the FC4 install CD no. 4.
  3. Many different applications (e.g. GTKWave, GSpiceUI, Icarus Verilog) fail during compilation. The error message typically says something about a problem involving a “typeâ€.

This problem obtains because FC4 incorporates the new gcc-4.0 compiler. Gcc-4.0 incorporates much stricter type checking than the older gcc versions. This has caused many open-source applications to fail to compile.

Fortunately, RedHat still provides the older version of gcc on the FC4 disks. This version of gcc is called “gcc32â€. It is not installed as part of the normal installation, so you must install it yourself. The RPM lives on the FC4 install media, disk 3, and is called “compat-gcc-32-3.2.3-47.fc4.i386.rpmâ€. Allow rpm to install any dependencies it finds.

A similar situation holds for the C++ compiler g++. You need to install the older version too; get it on the FC4 disk 4. It is called “compat-gcc-32-c++-3.2.3-47.fc4.i386.rpmâ€. Also install any dependencies found by rpm when you install these pacakges.

Once they are installed, set the gcc environment variables as follows:

for bash:

export CC=gcc32
export CXX=g++32

for csh:

setenv CC gcc32
setenv CXX g++32

and then run the installer. Make sure you run the installer from the same window as where you set the CC environment variable!

lepton-eda-1.9.10/docs/wiki/geda-faq-attribs.html0000644000175000017500000000643413634703632016465 00000000000000

Translations of this page are also available in the following languages: Français, РуÑÑкий.

Attribute management

Help! My design has hundreds of components, and it's a pain to use gschem to attach all my attributes!

The answer here is the gEDA/gaf utility “gattribâ€. Gattrib is an attribute editor for gEDA. It reads your .sch file(s) and creates a spreadsheet showing all components, nets, and pins in rows, with the associated attributes listed in the columns. Gattrib allows you to add, modify, or delete attributes outside of gschem, and then save the .sch files back out. Here’s a screenshot:

faq_attrib.jpg

Note that gattrib is the gEDA Project’s current answer to the question of heavy symbols. That is, rather than putting all attributes (such as SPICE model files, footprint names, manufacturer part nos and the like), you are encouraged to put this information into your schematic using gattrib, where it is visible and easily manipulable with gattrib.

When using gattrib, make sure you exit gschem first. Gattrib and gschem both save your work into the same file, so you should have only one program running at a time to avoid conflicts. There is no lockfile mechanism in gEDA/gaf (yet), so it’s your responsibility to avoid conflicts.

How do I know what footprint name to use for layout using PCB?

lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-config.html0000644000175000017500000001457713634703632020046 00000000000000

Configuring gnetlist

gnetlist loads a series of configuration files at start-up, if they exist:

  1. The suite's system configuration file, called $PREFIX/share/gEDA/system-gafrc
  2. The suite's user configuration file, called $HOME/.gEDA/gafrc
  3. A gafrc file in the current working directory.
  4. gnetlist's system configuration file, called $PREFIX/share/gEDA/system-gnetlistrc
  5. gnetlist's user configuration file, called $HOME/.gEDA/gnetlistrc
  6. A gnetlistrc file in the current working directory.

$PREFIX denotes the base installation directory for gnetlist (/usr on most systems), and $HOME denotes your home directory.

These files are scripts written in Scheme, and they are executed using a Scheme interpreter. This means that you can use the configuration files as a way of customising and extending gnetlist.

There are a very large number of options that affect the way gnetlist works, and only the most commonly-used are listed here. For a full list, see the system-gnetlistrc file installed with gEDA.

Symbol and source libraries

When using gnetlist, it is very important that your symbol and source libraries are set up correctly. You will almost always want to put these settings in a suite configuration file (one of the â€gafrc†files) so that the same libraries are used by gschem and gnetlist. For an explanation of how to set up symbol and source libraries, see the gEDA gschem User Guide.

Hierarchy processing options

When working with hierarchy, gnetlist renames nets and components based on where in the hierarchy they occur. You can configure how this “mangling†is carried out, and disable it if necessary.

By default, gnetlist appends names at each level of hierarchy together, using â€/†as the separator (so the component “U1†in the subcircuit “A3†becomes “A3/U1â€). For component names (“refdesâ€), the hierarchy-uref-order and hierarchy-uref-separator functions can be used to change this. For example, to change the “refdes†mangling to prepend names at each level with the separator â€:â€, you could use:

(hierarchy-uref-order "prepend")
(hierarchy-uref-separator ":")

Now “U1†in the subcircuit “A3†would be renamed to “U1:A3†by gnetlist.

The hierarchy-uref-mangle function can be used to turn off “refdes†mangling entirely:

(hierarchy-uref-mangle "disabled")

This is very rarely a useful thing to do.

Similar settings exist for net names set using the â€netname=†attribute, and net names set using implicit pins and the â€net=†attribute.

  • The hierarchy-netname-order, hierarchy-netname-separator and hierarchy-netname-mangle functions control â€netname=†mangling.
  • The hierarchy-netattrib-order, hierarchy-netattrib-separator and hierarchy-netattrib-mangle functions control â€net=†mangling.

It is sometimes useful to turn off hierarchy processing entirely. You can do this with the hierarchy-traversal option:

(hierarchy-traversal "disabled")

Automatic net naming

You can control how gnetlist automatically names nets that are not named in the schematic files using the unnamed-netname function. gnetlist will add a unique number to the end of the string you provide. For example:

(unnamed-netname "unnamed_net")

This would make gnetlist automatically give unnamed nets names of the form “unnamed_net12345â€.

lepton-eda-1.9.10/docs/wiki/geda-faq-simulation.ru.html0000644000175000017500000005542113634703632017626 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English, Français.

Моделирование

Я хочу Ñмоделировать работу Ñвоей аналоговой Ñхемы. Какие еÑть варианты?

Среди каноничеÑких программ gEDA Suite еÑть две программы аналогового моделированиÑ: ngspice и gnucap. (Чуть) более подробно:

  • ngspice — Ñто переноÑ/доработка клаÑÑичеÑкой программы SPICE 3f5 Ð´Ð»Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ñ‹ GNU/Linux. Она полнофункциональна, включает раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ XSpice (такие как конÑтрукции SPICE 2 POLY) и фреймворк CIDER.
  • gnucap — Ñто новаÑ, напиÑÐ°Ð½Ð½Ð°Ñ Ñ Ð½ÑƒÐ»Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° ÑхемотехничеÑкого моделированиÑ. Она предоÑтавлÑет возможноÑть Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ°Ðº Ñобытийного, так и Ñквозного моделированиÑ. Это — плод труда Al Davis. ЕÑли вы хотите загрузить её, убедитеÑÑŒ, что Ñкачиваете поÑледнюю верÑию, которую можно найти по ÑÑылке «development releases» (рабочие выпуÑки) на Ñайте gnucap.

Обе программы имеют только Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ Ñтроки, то еÑть взаимодейÑтвие Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð¾Ð¹ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾ÑущеÑтвлÑетÑÑ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ команд в командной Ñтроке. Это значит также, что вам нужно изучить ÑпецифичеÑкий Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹ набор команд.

ЕÑли вы предпочитаете графичеÑкий интерфейÑ, новое приложение gEDA gspiceui предоÑтавлÑет хорошую графичеÑкую оболочку Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ñтими программами моделированиÑ. Однако gspiceui не предоÑтавлÑет полного цикла вида «от-Ñхемы-до-вывода-моделированиÑ» подобно LTSpice или PSpice. Точнее, она проÑто предоÑтавлÑет графичеÑкое меню, помогающее управлÑть командами, нужными Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ngspice / gnucap.

Как наÑчёт tclspice? Что Ñто? Стоит ли Ñто иÑпользовать?

Проект tclspice был ответвлением оÑновного маршрута разработки ngspice. Он был начат в 2002 году. Ð’ принципе, tclspice должен был бы ÑкÑпортировать набор команд SPICE в API TCL, позволÑÑ Ð²Ð°Ð¼ вÑтроить SPICE-анализ в TCL-программу. Это определённо очень Ð¿Ñ€Ð¸Ð²Ð»ÐµÐºÐ°Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ñ†ÐµÐ»ÑŒ, так как TCL — Ñто мощный Ñкриптовый Ñзык, намного более мощный, чем Ñкриптовые конÑтрукции имеющиеÑÑ Ð² Ñамом SPICE. При иÑпользовании TCL, как можно Ñебе предÑтавить, возможно напиÑание Ñложных оптимизаторов Ñхем, добавление в моделирование поведенчеÑких Ñлементов и, наконец, получение ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð°Ð´ графичеÑким выводом SPICE.

Как оказалоÑÑŒ, Ñта цель была доÑтигнута чаÑтично — Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ tclspice в Ñамом деле можно Ñделать что-то вроде Ñтого:

#! tclsh
package require spice
spice::codemodel /usr/local/src/tclspice-0.2.12/src/xspice/icm/spice2poly.cm

spice::source netlistname.cir
spice::tran 0.1ns 40ns
spice::run
spice::plot Vout
puts "Ð’ÑÑ‘ готово!"

К Ñожалению, в tclspice отÑутÑтвуют некоторые важные возможноÑти, как например выдача кода возврата, который Ñообщит, работает ли в данный момент моделирование или оно завершилоÑÑŒ ошибкой. КажетÑÑ Ð¸ графичеÑÐºÐ°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ñть тоже никогда не работала (по крайней мере Ð´Ð»Ñ Ð¼ÐµÐ½Ñ…, и разработчики ÑоглаÑны, что графика отвратительна). ТранÑлÑÑ†Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ… TCL в векторы SPICE и наоборот тоже, кажетÑÑ, никогда не работала, опÑть, по крайней мере Ð´Ð»Ñ Ð¼ÐµÐ½Ñ. Ðаконец, в ngspice (по крайней мере) множеÑтво утечек памÑти, что затруднÑет выполнение длительного моделированиÑ. ПоÑтому tclspice не ÑоответÑтвует данным изначально обещаниÑм: быть удобным Ñкриптовым ÑредÑтвом Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ SPICE-моделированиÑ.

ДейÑÑ‚Ð²Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° проекта tclspice оÑтановилаÑÑŒ в 2004 году. Возможно когда-нибудь кто-нибудь Ñнова возьмётÑÑ Ð·Ð° него. Тем временем оÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð²ÐµÑ‚ÐºÐ° разработки ngspice приобрела возможноÑти tclspice, еÑли они вам нужны (Ð´Ð»Ñ Ð½Ð¸Ñ… требуютÑÑ Ð¾Ñобые ключи в конфигурации), и код там более Ñвежий.

Где взÑть модели?

СущеÑтвует очень мало моделей Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом, предоÑтавленных в общее пользование ÑнтузиаÑтами. Вот почему в пакетах gnucap и ngspice нет больших библиотек моделей. ЕÑли вы ÑваÑли Ñвою ÑобÑтвенную, и вам хотелоÑÑŒ бы внеÑти Ñвой вклад в проект, Ñто может быть отличной возможноÑтью (намёк, намёк…).

Ð¥Ð¾Ñ‚Ñ Ð¼Ð½Ð¾Ð³Ð¸Ðµ производители и предоÑтавлÑÑŽÑ‚ беÑплатно SPICE-модели, они ÑохранÑÑŽÑ‚ проприетарную лицензию. Это значит, что данные модели не могут раÑпроÑтранÑтьÑÑ Ð²Ð¼ÐµÑте Ñ gEDA Suite. К тому же, в различных реализациÑÑ… SPICE Ð¼Ð½ÐµÐ½Ð¸Ñ Ð½Ð°Ñчёт правильного ÑинтакÑиÑа неÑколько различаютÑÑ. Как ÑледÑтвие, некоторые модели, поÑтавлÑемые производителÑми, необходимо корректировать Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñо ÑпецифичеÑкой реализацией.

spicelib предоÑтавлÑет ÑредÑтво Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹, Ñкорректированных Ð´Ð»Ñ gnucap и ngspice. Это набор Ñкриптов, который доÑтавит модели поÑтавщиков непоÑредÑтвенно из иÑходного меÑтоположениÑ, что решает проблему их раÑпроÑтранениÑ. Затем подправит их Ð´Ð»Ñ ÑовмеÑтимоÑти Ñ gnucap и ngspice. spicelib можно загрузить Ñо Ñтраницы http://www.h-renrew.de/h/spicelib/doc/index.html.

Ðет ли какой-нибудь краÑивой графичеÑкой оболочки (редактора Ñхем), в которой Ñ Ð¼Ð¾Ð³ бы проÑто добавлÑть компоненты и нажимать кнопку "моделирование"?

Ðет. Лучшее, что можно Ñделать — иÑпользовать gspiceui.

Как подготовить Ñвою Ñхему Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¾Ð³Ð¾ моделированиÑ?

ÐžÐ±Ñ‹Ñ‡Ð½Ð°Ñ Ð¿Ð¾ÑледовательноÑть разработки — gschem → gnetlist -g spice-sdb → [ngspice | gnucap]. Чтобы задать необходимые атрибуты Ð´Ð»Ñ SPICE / gnucap, их нужно прикрепить к компонентам в Ñвоей Ñхеме. Можно также добавить атрибуты Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gattrib.

Ð’ÑÑ‘ Ñто очень подробно опиÑано в HOWTO по ÑхемотехничеÑкому моделированию Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gEDA и SPICE.

Ðекоторые SPICE-реÑурÑÑ‹ помогут вам понÑть, как иÑпользовать spice-sdb.

Какой драйвер Ð´Ð»Ñ gnetlist иÑпользовать Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑка Ñоединений SPICE? Их неÑколько...

ИÑпользуйте драйвер spice-sdb. Он наиболее продвинутый и очень богат возможноÑÑ‚Ñми. Другие оÑталиÑÑŒ только по иÑторичеÑким причинам. Обратите внимание, что spice-sdb ÑвлÑетÑÑ Ñ€Ð°Ñширением одного из других драйверов SPICE, так что, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ ÐµÐ³Ð¾, вы ничего не потерÑете.

Рчто еÑли Ñ Ñ…Ð¾Ñ‡Ñƒ иÑпользовать gnucap, можно ли мне иÑпользовать spice-sdb Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑка Ñоединений Ð´Ð»Ñ Ð½ÐµÐ³Ð¾?

Да. Также можно начертить Ñвою Ñхему Ñ Ð¸Ñпользованием директив gnucap, находÑщихÑÑ Ð² библиотеке Ñимволов в каталоге spice.

Лучше проÑто начертить Ñхему, без директив, и запуÑтить Ñту программу Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¾.

Почему бы мне не иÑпользовать Ñвою Ñхему Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚Ð°ÐºÐ¶Ðµ и Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ топологии?

Ðовички обычно хотÑÑ‚ Ñделать одну принципиальную Ñхему и Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ/проверки работоÑпоÑобноÑти проекта, и Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ топологии. Ðа первый взглÑд Ñто кажетÑÑ Ð·Ð°Ð¼Ð°Ð½Ñ‡Ð¸Ð²Ñ‹Ð¼, так как проект топологии уже будет протеÑтирован и проверен на работоÑпоÑобноÑть до его отправки на производÑтво на FR-4. Однако дьÑвол кроетÑÑ Ð² деталÑÑ…. ИÑпользовать одну и ту же Ñхему Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ разработки топологии обычно не получаетÑÑ Ð¿Ð¾ Ñледующим причинам:

  • Компоненты Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ разработки топологии обычно Ñовершенно различны. Ðапример, Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‡Ð°Ñто требуетÑÑ, чтобы в Ñхеме ÑодержалоÑÑŒ много уÑтройÑтв, отноÑÑщихÑÑ Ðº SPICE, таких как иÑточники напрÑжениÑ, завиÑимые иÑточники, директивы SPICE и так далее. С другой Ñтороны, Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ топологии нужны компоненты, не иÑпользуемые в SPICE, такие как Ñоединители, логичеÑкие уÑтройÑтва, и даже такие уÑтройÑтва, как регулÑторы напрÑжениÑ, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… может и не быть модели SPICE, но они будут заÑорÑть ÑпиÑок Ñоединений SPICE, возможно Ð²Ñ‹Ð·Ñ‹Ð²Ð°Ñ Ð½ÐµÐ´Ð¾Ð²Ð¾Ð»ÑŒÑтво генератора ÑпиÑка Ñоединений и программы моделированиÑ.
  • Ð”Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… наÑтоÑщих Ñлектронных компонентов нет моделей SPICE, вÑтроенных в программы. ЕÑть множеÑтво компонентов, не имеющих моделей Ð´Ð»Ñ SPICE, например, потенциометры, транÑформаторы, термиÑторы, фильтры Ñлектромагнитных помех, логичеÑкие Ñлементы, кварцевые резонаторы, Ñлектронные лампы и так далее. ПоÑтому, еÑли в вашем проекте иÑпользуютÑÑ ÐºÐ°ÐºÐ¸Ðµ-либо из Ñтих компонентов, вам придётÑÑ Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð¼Ð¸Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ Ñти уÑтройÑтва, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ñквивалентные Ñхемы. Это Ñильно оÑложнÑет иÑпользование Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ топологии той Ñхемы, что Ñоздана Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ.
  • Обычно на Ñамом деле нужно Ñмоделировать поведение только какой-то чаÑти разработки. Ðапример, вы можете захотеть Ñмоделировать поведение фильтра или кварцевого резонатора, но вам не нужно (или вы не можете) моделировать работу иÑточника питаниÑ, логики или других чаÑтей Ñвоего проекта. ЕÑли вы упорно будете наÑтаивать на Ñоздании SPICE-моделей Ð´Ð»Ñ Ñтих отдельных чаÑтей Ñхемы, то может быть вам придётÑÑ Ð¿Ñ€Ð¾Ð¹Ñ‚Ð¸ множеÑтво трудных иÑпытаний, — и Ñделать много ненужной Ñ‚Ñжёлой работы, — чтобы найти или Ñоздать SPICE-модели Ð´Ð»Ñ Ñ‡Ð°Ñтей Ñвоей разработки, которые не так уж и важны.

ПоÑтому Ñ (SDB) обычно рекомендую не Ñлишком Ñильно пытатьÑÑ Ð¸Ñпользовать одну и ту же Ñхему и Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ, и Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ топологии. ЕÑли можно Ñто Ñделать — здорово! Ðо обычно — нельзÑ.

Лично Ñ ÑклонÑÑŽÑÑŒ к тому, чтобы Ñоздавать SPICE-модели только Ð´Ð»Ñ ÐºÑ€Ð¸Ñ‚Ð¸Ñ‡ÐµÑких аналоговых чаÑтей Ñвоих проектов. ПоÑтому проект побольше может Ñодержать пару Ñхем Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¾Ð²Ñ‹Ñ… чаÑтей Ñхемы Ñ Ñ†ÐµÐ»ÑŒÑŽ проверки их работоÑпоÑобноÑти. Кроме Ñхем Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ, у Ð¼ÐµÐ½Ñ Ð±ÑƒÐ´ÐµÑ‚ и оÑÐ½Ð¾Ð²Ð½Ð°Ñ Ñхема, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ð°Ñ Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ топологии.

lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-introduction.html0000644000175000017500000000714213634703632021310 00000000000000

Introduction

gnetlist is a netlisting tool, and is part of the gEDA (GPL Electronic Design Automation) toolset. It is used to extract information about electronic components and the connections between them from schematic diagrams, which describe the logical structure of an circuit. gnetlist outputs the netlist in a variety of formats that can be automatically processed by other tools, such as printed circuit board (PCB) layout tools or circuit simulators.

Reading this guide

Several typographical conventions are used in this guide to indicate different concepts.

  • When key terms or concepts are introduced, an italic typeface is used. For example, “gnetlist accepts a number of command-line arguments.â€
  • Text you might type in a text editor or at a command line is indicated using a fixed space typeface. For example, “The --list-backends option to gnetlist prints a list of installed netlist backends.â€

Getting additional help

If you have a question about using gnetlist, you may wish to send a message to one of the gEDA mailing lists. Alternatively, you can ask your question on the geda Launchpad page, and one of the developers will try to answer it for you.

If you think you have found a bug in gnetlist, please file a bug report in the Launchpad bug tracker. Please add the tag “gnetlistâ€. It will help the developers to fix your problem quickly if you can describe in detail how to reproduce the bug.

lepton-eda-1.9.10/docs/wiki/geda-faq-simulation.fr.html0000644000175000017500000003124713634703632017607 00000000000000

Autres langues: English РуÑÑкий

Simulation

Je veux simuler mon circuit analogique. Quelles sont mes options?

Parmi les applications de la Suite gEDA, il y a deux simulateurs de circuits analogiques: ngspice et gnucap. Plus (un peu) en détail:

  • Ngspice est un portage/nettoyage du SPICE 3f5 classique sur la plate-forme GNU/Linux. Il est pleinement fonctionnel, inclut des extensions XSpice (tels que des constructions SPICE 2 POLY) et une structure CIDER.
  • Gnucap est un nouveau simulateur de circuit écrit depuis zéro. Il offre la possibilité d'effectuer des simulations basées sur les événements – de même qu'en temps –. C'est le travail de Al Davis, Professor of Electrical Engineering à l'Université Kettering. Si vous voulez le télécharger, assurez-vous de prendre la dernière version, disponible avec les liens des «·developement releases·» sur le site gnucap.

Les deux sont des programmes CLI (command line interface·; «·interface à ligne de commande·»), signifiant que vous intérragissez avec le simulateur en saisissant les commandes sur la ligne de commande. Cela signifie aussi que vous avez besoin d'apprendre le jeu de commandes spécifique au simulateur.

Si vous préférez une interface graphique, la nouvelle application GSpiceUI de gEDA fournit une jolie interface utilisateur graphique pour piloter les programmes de simulation. Néanmoins, GSpiceUI n'est pas un simulateur sortie-schema-vers-simulation complet comme LTSpice ou PSpice. Il fournit, à la place, un menu d'interface graphique qui vous vous aide à porter des commandes dont vous avez besoin pour effectuer vos simulations ngspice/gnucap.

Qu'en est-il de tclspice? Qu'est ce que c'est? Dois-je l'utiliser?

Tclspice est un fork du développement de ngspice. Il a débuté en 2002. En principe, tclspice exportera le jeu de commande SPICE vers un API TCL, vous permettant d'embarquer des analyses SPICE en un programme TCL. Cette vision est certainement très attirante car TCL est un langage à scripts très puissant – bien plus puissant que les constructions de scripts disponibles dans SPICE lui-même. En utilisant TCL, il est possible d'imaginer l'écriture d'optimisateurs de circuits complexes, ajoutant des éléments de comportement à la simulation et finalement en gagnant le contrôle de la sortie graphique de SPICE.

Au fur et à mesure, le but a été partiellement atteint – avec tclspice, vous pouvez donc faire quelque chose comme ceci:

#! tclsh
package require spice
spice::codemodel /usr/local/src/tclspice-0.2.12/src/xspice/icm/spice2poly.cm

spice::source netlistname.cir
spice::tran 0.1ns 40ns
spice::run
spice::plot Vout
puts "All done now!"

Malheureusement, tclspice manque de fonctionnalités importantes, comme vous fournir un code de retour qui vous indique à quel stade réel est votre simulation ou si elle est en erreur. Aussi, les fonctionnalités graphiques semblent de jamais fonctionner (au moins pour moi … et les développeurs admettent que la partie graphique a des problèmes). Convertir des variables TCL vers et depuis des vecteurs SPICE semble ne jamais fonctionner – encore une fois, au moins pour moi. Finalement, ngspice (au moins) beaucoup de fuites de mémoire, rendant les simulations longues difficiles. C'est la raison pour laquelle, tclspice n'a pas encore réalisé les promesses qui ont été originellement été faites: une manière pratique, par scripts pour piloter les simulations SPICE.

Les développements sur tclspice ont effectivement cessé en 2004. Peu être qu'un jour, quelqu'un le redémarrera. Pendant ce temps, la branche de développement ngspice a récupéré quelques fonctionnalités tclspice si vous les voulez (elles nécessitent des options de configuration séparées) et le code est plus récent.

N'existe-t-il une belle interface graphique (capture de schéma) de telle manière que je n'ai juste qu'à placer des composants et presser un bouton «·simulation·»?

Non. Le miux que vous puissiez faire est d'utiliser GSpiceUI.

Comment puis-je créer mes schémas pour faciliter les simulations analogiques?

Le chemin habituel pour la conception est «·gschem·» → «·gnetlist -g spice-sdb·» → [«·ngspice·» | «·gnucap·»]. Vous avez besoin d'attacher des attributs aux composants dans votre schéma pour fournir les attributs nécessaires à SPICE/Gnucap. Vous pouvez aussi attacher des attributs en utilisant gattrib.

Le Circuit Simulation using gEDA and SPICE - HOWTO décrit tout ceci en détail.

Quelques ressources SPICE vous aideront pour comprendre comment utiliser spice-sdb.

Quelles sont les commandes gnetlist pour SPICE sont à utiliser ici? Il y en a beaucoup. . . .

Utilisez spice-sdb. Il est le plus riche en fonctionnalités. Les autres ne sont présent que pour des raisons historiques. Notez que spice-sdb est une extension d'une des autres commandes SPICE, vous ne perdez rien en utilisant spice-sdb.

Comment faire si on veut utiliser gnucap, puis-je utiliser spice-sdb pour créer mes netlists gnucap?

Oui. Vous pouvez aussi dessiner votre schéma en utilisant les directives gnucap disponibles dans le répertoire de symbole «·spice·».

Pourquoi ne puis-je réutiliser mon schéma de simulation pour le placement sur carte?

Les nouveau veulent habituellement créer un schéma unique pour la simulation/validation et le placement sur carte. Cette vision semble tout d'abord attirante car votre carte aura d'abord été testée et validée avant de la créer en FR-4. Néanmoins, le diable est dans les détails·; utiliser un seul schéma pour la simulation et le placement ne fonctionne habituellement pas pour els raisons suivantes:

  • Les composants nécessaires pour la simulation et le placement sont normalement très différents. par exemple, la simulation nécessite souvent un schéma comportant un lot d'éléments liés à SPICE comme mes sources de tension, les sources dépendantes, les directives SPICE et ainsi de suite. D'un autre côté, le placement nécessite des composant impossible à modéliser comme des connecteurs, des composants logiques et même des éléments comme des régulateurs de tension qui peuvent ne pas avoir de modèles SPICE de disponibles mais qui vont poluer votre netlist SPICE, rendant le netlister et le simulateur malheureux.
  • Quelques composants électroniques réels n'ont pas de modèles SPICE. Il existe beaucoup de composants qui n'en possèdent pas comme les potentiomètres, les transformateurs, les thermistances, les filtres EMI, les portes logiques, les quartz, les tubes à vide et ainsi de suite. C'est la raison pour laquelle si votre schéma utilise un de ces composants, vous devez avoir un élément utilisant un circuit équivalent pour faire la simulation. Cela rend très difficile la réutilisation du schéma de simulation pour le placement.
  • Habituellement, vous avez seulement besoin de simuler un sous-ensemble de votre schéma. Par exemple, vous pouvez vouloir simuler le comportement d'un filtre ou d'un circuit oscillant mais sans vous préoccuper de (ou vous ne pouvez pas simuler) votre alimentation, la partie logique ou tout autre partie de votre schéma. Si vous insister pour créer un modèle SPICE pour ces sous-sections de circuit, vous pourriez avoir beaucoup de problèmes – et faire beaucoup de travail inutile – de manière à trouver ou créer des modèles SPICE pour des zones de votre circuit qui ne sont pas importantes.

C'est la raison pour laquelle, je (SDB) recommande normalement de ne pas trop tenter d'utiliser le même schéma pour la simulation et pour le placement. Si vous pouvez le faire, c'est bien! Mais, habituellement, vous ne le pouvez pas.

Personellement, je ne crée des modèles SPICE que pour les sections analogiques critiques de mon circuit. Un projet plus grand devrait donc avoir plusieurs schémas de simulation validant les sous-circuits analogiques. En plus des schémas de simulation, j'ai un schéma principal qui est utilisé pour le placement.

lepton-eda-1.9.10/docs/wiki/geda-pcb_footprints.ru.html0000644000175000017500000015477213634703632017741 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

РуководÑтво по поÑадочным меÑтам Ð´Ð»Ñ pcb

ОÑновы

  • ЕÑть два типа файлов поÑадочных меÑÑ‚: M4 и newlib.
  • Ðаилучшими ÑредÑтвами Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñадочных меÑÑ‚ ÑвлÑÑŽÑ‚ÑÑ pcb (WYSIWYG), текÑтовый редактор (быÑтрое, точное), Ñкрипты (мощное).
  • Черчение поÑадочных меÑÑ‚ в pcb опиÑано в разделе о Ñоздании библиотеки в руководÑтве по pcb, Ñмотрите чаÑть «Creating Newlib Footprints» («Создание поÑадочных меÑÑ‚ Newlib») в подразделе «New Style Libraries» («Библиотеки нового типа»).
  • Создание поÑадочных меÑÑ‚ в текÑтовом виде приведено в руководÑтве Footprint Creation for the Open-Source Layout Program "PCB", которое напиÑал и поддерживает Stuart Brorson.
  • Создание поÑадочных меÑÑ‚ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñкриптов раÑÑматриваетÑÑ Ð½Ð° Ñтранице Генераторы поÑадочных меÑÑ‚.
  • Другие вещи, которые могут вам пригодитьÑÑ: калькулÑтор, бумага+карандаш, Ñпецификации, штангенциркуль, ÑÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð°.

Рекомендации производителей по Ñозданию поÑадочных меÑÑ‚

Обмен поÑадочными меÑтами Ð´Ð»Ñ pcb

  • МеÑто Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑких Ñимволов и файлов поÑадочных меÑÑ‚: gedasymbols.org

ЧаÑто задаваемые вопроÑÑ‹ по поÑадочным меÑтам Ð´Ð»Ñ pcb

Как pcb работает Ñ Ð¿Ð¾Ñадочными меÑтами?

pcb поддерживает два абÑолютно разных формата библиотек поÑадочных меÑÑ‚:

  1. Первый из них называют oldlib, pcblib или библиотека M4. Ð’ Ñтой ÑиÑтеме Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñадочных меÑÑ‚ “на лету†иÑпользуетÑÑ Ð¼Ð°ÐºÑ€Ð¾Ñзык M4. Библиотека M4 довольно велика. Она имеет мощную возможноÑть быÑтрого Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ†ÐµÐ»Ñ‹Ñ… ÑемейÑтв поÑадочных меÑÑ‚ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ÑоответÑтвующего базового макроÑа. Ð’ pcblib имеютÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð½ÐµÑкольких ÑемейÑтв корпуÑов. ÐÐ°Ñ‡Ð¸Ð½Ð°Ñ Ñо Ñреза pcb-20070208 вÑÑ Ñта библиотека доÑтупна в формате newlib (Ñм. Ñледующий параграф) под названием pcblib-newlib.
  2. Ð’Ñ‚Ð¾Ñ€Ð°Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ° поÑадочных меÑÑ‚ Ð´Ð»Ñ pcb называетÑÑ newlib. ПоÑадочные меÑта newlib определÑÑŽÑ‚ÑÑ Ð² текÑтовых файлах, в которых пропиÑываетÑÑ Ð²Ñ‹Ð·Ð¾Ð² каждого графичеÑкого примитива в отдельноÑти, из которых и ÑоÑтавлÑетÑÑ Ð¿Ð¾Ñадочное меÑто. ПоÑадочные меÑта newlib могут ÑоздаватьÑÑ Ð¸Ð»Ð¸ графичеÑки в pcb, или другими методами, производÑщими текÑтовые файлы (в текÑтовом редакторе, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñкриптов на awk/perl/ruby и Ñ‚. д.). ОÑобенно мощным ÑвлÑетÑÑ Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ Ñкриптов или Ñзыков программированиÑ, так как Ñ Ð¸Ñ… помощью можно Ñоздавать поÑадочные меÑта Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ñ… корпуÑов или Ð´Ð»Ñ Ñ†ÐµÐ»Ñ‹Ñ… ÑемейÑтв компонентов.

ПоÑтому, при разработке топологичеÑкой Ñхемы платы вы можете либо иÑпользовать поÑадочные меÑта, поÑтавлÑемые в комплекте Ñ pcb, либо найти их в Ñети интернет, либо Ñоздать Ñвои ÑобÑтвенные и помеÑтить в предназначенный Ð´Ð»Ñ Ð½Ð¸Ñ… каталог. Ð’ РуководÑтве Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ pcb еÑть Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¸ ÑÐ¾Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð¿Ð¾ формату файлов Ñлементов. Ðа Ñайте gedasymbols.org имеетÑÑ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ðµ количеÑтво поÑадочных меÑÑ‚, предоÑтавленных пользователÑми. ÐеÑколько неполное, но полезное руководÑтво доÑтупно на веб-Ñтранице http://www.brorson.com/gEDA/ (ищите по ключевому Ñлову «newlib»).

Где найти готовые поÑадочные меÑта Ð´Ð»Ñ pcb?

  • Поищите на Ñвоём жёÑтком диÑке каталоги newlib и pcblib-newlib. Ð’ них находÑÑ‚ÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸, иÑпользуемые в pcb по умолчанию.
  • Ðаилучшее меÑто, где ещё можно найти поÑадочные меÑта, — Ñто Веб-Ñайт Ñимволов gEDA. ЕÑли у Ð²Ð°Ñ ÐµÑть Ñвои поÑадочные меÑта, вы можете помочь проекту и предоÑтавить их в общее пользование.
  • Ðа веб-Ñайте у John Luciani еÑть большое количеÑтво поÑадочных меÑÑ‚ и инÑтрументариÑ.
  • ПрекраÑный Ñкрипт Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñадочных меÑÑ‚ предложил на Ñвоём веб-Ñайте Darrell Harmon.
  • Ðаконец, вы можете ÑпроÑить в ÑпиÑке раÑÑылки geda-user, и может быть кто-нибудь ÑжалитÑÑ Ð½Ð°Ð´ вами и пошлёт вам поÑадочное меÑто.

Я хочу развеÑти плату в pcb. Как узнать, какое значение задать атрибуту footprint?

Этот Ð²Ð¾Ð¿Ñ€Ð¾Ñ ÑвлÑетÑÑ Ð¾Ð±Ñ‰Ð¸Ð¼ Ð´Ð»Ñ Ð½Ð¾Ð²Ñ‹Ñ… пользователей gEDA. Ð’ Ñамом деле Ð²Ð¾Ð¿Ñ€Ð¾Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰Ð¸ новичкам в определении названий нужных им поÑадочных меÑÑ‚ компонентов лежит в оÑнове продолжающихÑÑ Ð´ÐµÐ±Ð°Ñ‚Ð¾Ð² о лёгких Ñимволах против Ñ‚Ñжёлых. Ð’ текущей верÑии gEDA/gaf, Ñодержащей лёгкие Ñимволы, вам надо прикреплÑть атрибуты footprint на Ñтапе Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñхем (то еÑть в gschem или gattrib). Какое название иÑпользовать Ð´Ð»Ñ Ð¿Ð¾Ñадочного меÑта, завиÑит от того, какой вы пользуетеÑÑŒ библиотекой — newlib или M4 (pcblib).

newlib

Ð’ библиотеке newlib каждое поÑадочное меÑто лежит в отдельном файле и Ð¸Ð¼Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ файла ÑвлÑетÑÑ ÐµÐ³Ð¾ названием.

Определить Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð½ÑƒÐ¶Ð½Ñ‹Ñ… поÑадочных меÑÑ‚ в newlib можно разными ÑпоÑобами:

  • Можно пролиÑтать имеющиеÑÑ Ð¿Ð¾Ñадочные меÑта корпуÑов в окне библиотеки поÑадочных меÑÑ‚ pcb (доÑтупном из меню Окно → Библиотека). Щёлкните по группе newlib и выберите вложенный раздел, чтобы поÑмотреть в нём Ñлементы. ÐÐ°Ð·Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ñ€Ð¿ÑƒÑов поÑвÑÑ‚ÑÑ Ð² окне Elements Ñправа от Ð¿ÐµÑ€ÐµÑ‡Ð½Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐº1). Значение атрибута footprint в gschem или gattrib должно в точноÑти ÑоответÑтвовать указанному в перечне названию.
  • ПоÑтавлÑемые Ñ pcb поÑадочные меÑта newlib ÑохранÑÑŽÑ‚ÑÑ Ð² подкаталогах каталога ${PREFIX}/share/pcb/newlib. (${PREFIX} — Ñто каталог уÑтановки, задаваемый при конфигурировании/Ñборке pcb.) Ð’ качеÑтве Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° footprint нужно задать Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° нужного вам поÑадочного меÑта.
    ПоÑадочное меÑто 0805 (Ð´Ð»Ñ Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ð¾Ñтно монтируемых резиÑторов или конденÑаторов) находитÑÑ Ð² файле, путь доÑтупа к которому
    /usr/local/geda/share/pcb/newlib/generic_SMD_packages/0805_reflow_solder.
    ПоÑтому, чтобы задать Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð° Ñтот корпуÑ, Ñ ÑƒÑтанавливаю в gschem или gattrib значение атрибута footprint Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ равным 0805_reflow_solder.
    Учтите, что еÑли нужный вам Ñлемент newlib находитÑÑ Ð² неÑтандартном каталоге, вам нужно указать путь доÑтупа к Ñтому каталогу Ð´Ð»Ñ gsch2pcb либо в Ñвоём файле проекта (еÑли вы иÑпользуете таковой), либо Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ключа --elements-dir (из командной Ñтроки).
  • И наконец, так как Ð´Ð»Ñ Ð»ÑŽÐ±Ð¾Ð³Ð¾ нового проекта обычно приходитÑÑ Ñ‡ÐµÑ€Ñ‚Ð¸Ñ‚ÑŒ по крайней мере пару новых поÑадочных меÑÑ‚, Ñкорее вÑего Ð´Ð»Ñ Ð½Ð¸Ñ… вам понадобитÑÑ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ каталог. Как уже Ñказано выше, Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñадочных меÑÑ‚ корпуÑов будут определÑтьÑÑ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ Ñтих ÑвежеиÑпечённых файлов. И ещё раз: не забудьте добавить в Ñвой файл проекта Ñтроку, указывающую программе gsch2pcb, где иÑкать ваши локальные корпуÑа. Или же gsch2pcb можно запуÑкать Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ --elements-dir, Ð·Ð°Ð´Ð°Ð²Ð°Ñ Ð² качеÑтве параметра локальный каталог Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ поÑадочных меÑÑ‚.

Библиотека M4

Ð’ библиотеке M4 поÑадочные меÑта ÑохранÑÑŽÑ‚ÑÑ Ð² виде макроÑов M4; обычно в каждом файле определÑетÑÑ Ð½ÐµÑколько (много) поÑадочных меÑÑ‚. Различные поÑадочные меÑта в одном и том же файле — Ñто, как правило, вариации одного и того же шаблона (например, DIP-8, DIP-14, DIP-16 и Ñ‚. д.). Легче вÑего найти подходÑщее значение Ð´Ð»Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° footprint, пролиÑтав библиотеку pcblib в окне библиотек pcb. Этот атрибут отображаетÑÑ Ð² опиÑании Ñлемента в квадратных Ñкобках. Кроме того, ÑпиÑок поÑадочных меÑÑ‚ из pcblib можно найти на веб-Ñтранице Ñимволов gEDA.

Следующим библиотекам M4 уделÑлоÑÑŒ больше Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð¸ в них вноÑилоÑÑŒ больше улучшений, нежели в прочие:

  • ~amp, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ñоединители Amp;
  • ~amphenol, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ñоединители Amphenol;
  • ~geda, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾ разнообразных приборов Ð´Ð»Ñ Ð±Ð°Ð·Ð¾Ð²Ñ‹Ñ… проектов в gEDA (резиÑторы, конденÑаторы и пр.);
  • ~bourns, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ñ‚Ð°ÐºÐ¸Ðµ изделиÑ, как подÑтроечные резиÑторы от Bourns;
  • ~cts, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ñ‚Ð°ÐºÐ¸Ðµ изделиÑ, как наборы резиÑторов от CTS;
  • ~johnstech, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ Ñ€Ð°Ð·ÑŠÑ‘Ð¼Ñ‹ Johnstech;
  • ~minicircuits, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ ÑпецифичеÑкие корпуÑа Minicircuits;
  • ~panasonic, ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ñ‰Ð°Ñ ÑпецифичеÑкие корпуÑа Panasonic.

И в заключение добавим, что и Ð´Ð»Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ newlib, и Ð´Ð»Ñ M4, чрезвычайно важно проверÑть, что Ð´Ð»Ñ Ð¸Ñпользуемого вами Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñадочного меÑта при помещении Ñлемента в pcb будет вÑтавлено именно то поÑадочное меÑто, которое вам нужно. ПоÑтому очень важно внимательно проверить поÑадочное меÑто перед его иÑпользованием. Проверить поÑадочное меÑто можно щёлкнув по нему в окне библиотеки поÑадочных меÑÑ‚ и помеÑтив его на пуÑтое меÑто в рабочей облаÑти pcb. Внимательно раÑÑмотрите поÑадочное меÑто и убедитеÑÑŒ в правильноÑти количеÑтва выводов/контактных площадок, размеров и прочего.

ЕÑли вы Ñоздаёте Gerber-файлы, то прежде чем отправлÑть Ñвою разработку на производÑтво, вам также Ñледует проверить в них каждое из поÑадочных меÑÑ‚ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gerbv (или другой подобной программы).

Как быть Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ поÑадочными меÑтами Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ типа прибора?

Ðапример, операционный уÑилитель может быть в корпуÑе DIP8 или SO8. РезиÑтор может быть одним из 0603, 0805, 1208 или Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð½Ð¾Ð³Ð¾ монтажа. Как узнать, какие иÑпользовать корпуÑа и поÑадочные меÑта, и как дальше работать Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¼Ð¸ вариантами?

Прежде вÑего, какое поÑадочное меÑто вам нужно, решать вам, а не вашей программе СÐПР. Ð’Ñ‹ ответÑтвенны за выбор предпочтительных типов корпуÑов или поÑадочных меÑÑ‚ и за прикрепление ÑоответÑтвующих атрибутов footprint к компонентам в Ñхеме. И когда вы выбрали подходÑщий вам ÐºÐ¾Ñ€Ð¿ÑƒÑ (и поÑадочное меÑто Ð´Ð»Ñ Ð½ÐµÐ³Ð¾), то вам надо или найти ÑоответÑтвующее поÑадочное меÑто, или начертить Ñвоё и Ñохранить его в локальном каталоге.

Что каÑаетÑÑ Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐµÐ¹ работы Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¼Ð¸ поÑадочными меÑтами (и Ñ Ð´ÐµÐ¹Ñтвительно большим количеÑтвом атрибутов компонентов, которые вам, вероÑтно, придётÑÑ Ð¸Ñпользовать): пользуйтеÑÑŒ программой gattrib. Это как раз то, Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ она и нужна.

Как начертить новое поÑадочное меÑто?

Ð’Ñе делают Ñто по-разному. Кто-то чертит поÑадочные меÑта целиком в pcb. Кто-то Ñначала делает в pcb заготовку и затем доводит её вручную (например, в emacs). Кто-то пишет Ñкрипты на Perl или Python Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ поÑадочных меÑÑ‚.

  • ВоÑпользуйтеÑÑŒ текÑтовым редактором. ПодробноÑти Ñмотрите в руководÑтве по Ñозданию поÑадочных меÑÑ‚ от Stuart Brorson.
  • Ðачертите компонент в pcb и Ñохраните его как поÑадочное меÑто. Смотрите HOWTO от Karel Kulhavy.
  • Или воÑпользуйтеÑÑŒ Ñкриптом на Python от Darrel Harmon Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð¾Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð² Ñ Ð´Ð²ÑƒÐ¼Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°Ð¼Ð¸, SOxx, tabbed и QFP.
  • Или воÑпользуйтеÑÑŒ Ñкриптом на Perl от Stuart Brorson Ð´Ð»Ñ Ð´Ð²ÑƒÑ…Ð²Ñ‹Ð²Ð¾Ð´Ð½Ñ‹Ñ… компонентов Ð´Ð»Ñ Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ð¾Ñтного монтажа.
  • Или воÑпользуйтеÑÑŒ Ñкриптом на Perl от John Luciani, который можно приÑпоÑобить Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¿ÑƒÑов DIL, различных SOxx, QFP или даже Ð´Ð»Ñ ÐºÑ€ÑƒÐ³Ð¾Ð²Ð¾Ð³Ð¾ раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ñ‹Ñ… площадок.
  • Или иÑпользуйте веб-приложение dilpad от DJ Delorie Ð´Ð»Ñ Ð¿Ð¾Ñадочных меÑÑ‚ вида SOxx.

Как мне изменить/отредактировать имеющееÑÑ Ð¿Ð¾Ñадочное меÑто?

Можно преобразовать поÑадочное меÑто в обычную топологию, отредактировать её чаÑти и обратно преобразовать в поÑадочное меÑто. Ð’ Ñледующем перечне жирным наклонным шрифтом выделены дейÑÑ‚Ð²Ð¸Ñ Ð¸Ð· меню Буфер (еÑли не указан иной пункт меню).

  1. Выделите Ñлемент.
  2. Правка → Копировать выделенное в буфер (Ctrl+C).
  3. Разбить Ñлементы в буфере на чаÑти. Выводы Ñтанут переходами, а контактные площадки — дорожками. К Ñожалению, чаÑть информации при Ñтом потерÑетÑÑ. Рименно, флаги уÑтановки прÑмоугольной формы выводов и контактных площадок. Эту информацию позже придётÑÑ Ð²Ð¾ÑÑоздать.
  4. Ð’Ñтавить из буфера
  5. Произведите нужные изменениÑ. Учтите, что можно работать только Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð°Ð¼Ð¸, дорожками и прÑмоугольниками. Ðе должно быть никакого текÑта, никаких дуг2), никаких полигонов.
  6. Выделите вÑе объекты, ÑвлÑющиеÑÑ Ñ‡Ð°ÑÑ‚Ñми поÑадочного меÑта.
  7. Правка → Копировать выделенное в буфер (Ctrl+C). Положение перекреÑÑ‚Ð¸Ñ ÐºÑƒÑ€Ñора будет определÑть точку привÑзки результирующего поÑадочного меÑта. Эта точка будет отмечена маленьким ромбиком.
  8. Преобразовать буфер в Ñлемент. Переходы будут преобразованы в выводы. Дорожки и прÑмоугольники Ñтанут контактными площадками Ð´Ð»Ñ Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ð¾Ñтного монтажа.
  9. Ð’Ñтавить из буфера.
  10. ÐÐ°Ð²Ð¾Ð´Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ мыши на контактные площадки, которые Ñтали Ñкруглёнными при выполнении шага 4, нажимайте Q, чтобы Ñнова Ñделать их прÑмоугольными.
  11. ПройдитеÑÑŒ по вÑем контактным площадкам и, Ð½Ð°Ð¶Ð¸Ð¼Ð°Ñ N, задайте Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ название.
  12. ПеремеÑтив указатель мыши в то меÑто, где нет ни площадок, ни выводов, задайте Ñлементу название.
  13. ПеремеÑтите название в то меÑто, в котором, по вашему мнению, должно отображатьÑÑ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ð¾Ðµ обозначение или значение компонента (тип или номинал).
  14. Выделите вÑÑ‘ и Ñкопируйте в буфер (Правка → Копировать выделенное в буфер или Ctrl+C).
  15. Сохранить Ñлементы из буфера в файл.

Или же можно отредактировать иÑходный код поÑадочного меÑта в Ñвоём любимом текÑтовом редакторе.

Как перемеÑтить ромбик поÑадочного меÑта?

Точка привÑзки поÑадочного меÑта отмечаетÑÑ Ð¼Ð°Ð»ÐµÐ½ÑŒÐºÐ¸Ð¼ ромбиком. Чтобы перемеÑтить её в другое меÑто по отношению к изображению поÑадочного меÑта, нужно изменить координаты вÑех объектов. Это можно Ñделать вручную в текÑтовом редакторе. ЕÑли же вы хотите Ñделать Ñто из графичеÑкого интерфейÑа pcb, нужно разбить поÑадочное меÑто на чаÑти, а затем Ñобрать его Ñнова. Подробный перечень шагов указан выше. Обратите внимание, что положение ромбика определÑетÑÑ Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸ÐµÐ¼ перекреÑÑ‚Ð¸Ñ ÐºÑƒÑ€Ñора при копировании в буфер.

Да, Ñто утомительно. Ðо проблема в том, что в pcb нет оÑобого режима Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñадочных меÑÑ‚. Приглашаем Ð²Ð°Ñ Ð½Ð°Ð¿Ð¸Ñать таковой.

pcb не ÑохранÑет Ñлой шелкографии, когда Ñ Ð¿Ñ‹Ñ‚Ð°ÑŽÑÑŒ начертить поÑадочное меÑто

Ð’ Ñлое шелкографии поÑадочных меÑÑ‚ могут быть только линии и дуги. Ð’Ñе прочие объекты, такие как полигоны, прÑмоугольники и текÑÑ‚, при преобразовании Ñодержимого буфера в Ñлемент (Преобразовать буфер в Ñлемент) молча игнорируютÑÑ. ЕÑли вам нужен текÑÑ‚ в изображении поÑадочного меÑта, придётÑÑ Ð±ÑƒÐºÐ²Ð°Ð»ÑŒÐ½Ð¾ начертить каждую букву Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ инÑтрумента LINE.

Как правильно Ñделать двухÑтороннее поÑадочное меÑто?

Ð”Ð»Ñ Ð¿Ð¾Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ñ‹Ñ… площадок на противоположную Ñторону платы можно иÑпользовать флаг onsolder. Ð”Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð²ÑƒÑ…Ñтороннего ÑÐ¾ÐµÐ´Ð¸Ð½Ð¸Ñ‚ÐµÐ»Ñ Ð²Ð°Ð¼ понадобитÑÑ Ñ‡Ñ‚Ð¾-то вроде Ñтого:

Pad[-40000 -7000 -40000 7000 2700 2400 3000 "B1" "B1" "square"]
Pad[-40000 -7000 -40000 3000 2700 2400 3000 "A1" "A1" "square,onsolder"]

ЕÑли вы начертите поÑадочное меÑто в pcb и выберете Преобразовать буфер в Ñлемент, линии на втором Ñлое Ñтанут контактными площадками Ñ Ñ„Ð»Ð°Ð³Ð¾Ð¼ onsolder. Да, имеетÑÑ Ð² виду именно второй Ñлой, незавиÑимо от того, как он называетÑÑ.

Как добитьÑÑ Ñ‚Ð¾Ð³Ð¾, чтобы некоторые контактные площадки были без паÑльной паÑты?

Иногда открытые учаÑтки проводников не должны покрыватьÑÑ Ð¿Ð°Ñльной паÑтой. ОбщеизвеÑтным примером ÑвлÑÑŽÑ‚ÑÑ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ñ‹Ðµ площадки ÑÐ¾ÐµÐ´Ð¸Ð½Ð¸Ñ‚ÐµÐ»Ñ Ð½ÐµÐ¿Ð¾ÑредÑтвенного ÑÐ¾Ñ‡Ð»ÐµÐ½ÐµÐ½Ð¸Ñ (концевые контакты печатной платы). Этого можно добитьÑÑ ÑƒÑтановкой флага nopaste. Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð· графичеÑкого интерфейÑа pcb Ñтот флаг уÑтановить невозможно. Его можно добавить Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ñ‹Ñ… площадок поÑадочного меÑта в текÑтовом редакторе.

Как добавить библиотеку поÑадочных меÑÑ‚ Ð´Ð»Ñ pcb?

Библиотеки поÑадочных меÑÑ‚ можно добавить из графичеÑкого интерфейÑа:
Файл → ÐаÑтройки… → Библиотека → КÐТÐЛОГ_ПОСÐДОЧÐЫХ_МЕСТ
Или можно отредактировать файл $HOME/.pcb/preferences. УбедитеÑÑŒ, что не запущен ни один процеÑÑ pcb. Поищите Ñтроку, начинающуюÑÑ Ñ library-newlib. Ðе забудьте подключить новый каталог в файле gsch2pcbrc или в локальном gafrc (имеетÑÑ Ð² виду при иÑпользовании gsch2pcb).

Как обновить поÑадочное меÑто в моей топологии?

ÐвтоматичеÑкого ÑпоÑоба замеÑтить вÑе ÑкземплÑры поÑадочного меÑта новой верÑией пока нет. Ðо еÑть Ñпециальный режим вÑтавки из буфера, который поможет уменьшить количеÑтво щелчков мышью при ручной замене.
Откройте диалоговое окно Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Окно → Библиотека и выберите новое поÑадочное меÑто. Рабочим инÑтрументом Ñтанет инÑтрумент вÑтавки из буфера BUF и в буфер будет загружено новое поÑадочное меÑто. ЕÑли надо, поверните его Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Буфер → Повернуть буфер. РаÑположите новое поÑадочное меÑто над Ñтарым и, нажав [Shift], щёлкните левой кнопкой мыши, чтобы замеÑтить Ñтарое поÑадочное меÑто новым. Следите, чтобы не перевернуть его на 180 градуÑов, проверьте подключение линий ÑвÑзи нажатием O и, еÑли вдруг оказалоÑÑŒ, что поÑадочное меÑто раÑположено задом наперёд, отмените операцию.

pcb не находит моих поÑадочных меÑÑ‚. Почему?

Путь доÑтупа к поÑадочным меÑтам, который иÑпользует программа pcb, определÑетÑÑ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ Pcb.elementPath в файле реÑурÑов app-defaults, называющемÑÑ PCB3). Путь к Ñтому файлу задаётÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ XAPPLRESDIR, обычно задаваемой из Ñкрипта-обёртки pcb.

Вот Ñ Ð½Ð°Ð±Ñ€Ð°Ð» Ñебе поÑадочных меÑÑ‚. Куда их теперь Ñкладывать?

Я предпочитаю «готовые Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ñтва» поÑадочные меÑта Ñкладывать в один каталог, раÑположенный отдельно от каталога уÑтановки pcb. Когда выходит Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ pcb, Ñ Ð½Ðµ менÑÑŽ файлы проектов или библиотеки. ЕÑли в библиотеке pcb еÑть поÑадочные меÑта в формате newlib, которые Ñ Ñ…Ð¾Ñ‡Ñƒ иÑпользовать, Ñ ÐºÐ¾Ð¿Ð¸Ñ€ÑƒÑŽ их в Ñтот каталог поÑадочных меÑÑ‚, «готовых Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ñтва».

ВмеÑто того, чтобы менÑть файлы конфигурации, чтобы gsch2pcb находил поÑадочные меÑта, Ñ Ñоздаю Ñкрипт-обёртку sch2pcb, Ñодержащий путь доÑтупа к поÑадочным меÑтам. Ð’Ñе пользователи иÑпользуют такой же Ñкрипт и имеют доÑтуп к тем же Ñамым поÑадочным меÑтам Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ñтва.

Чтобы иÑпользовать Ñкрипт sch2pcb, вмеÑто FOOTPRINT_DIR задайте Ñвой каталог поÑадочных меÑÑ‚. Вот его Ñодержимое:

#!/bin/bash
gsch2pcb --elements-dir FOOTPRINT_DIR $@

Или верÑÐ¸Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ пользователÑ:

#!/bin/bash
#Этот Ñкрипт напиÑал John Luciani
gsch2pcb --elements-dir /home/user/pcb/footprints/user --use-files $@

Или можно иÑпользовать файл проекта, из которого gsch2pcb читает Ñвои параметры. Ðапример, файл myproject может выглÑдеть так:

schematics myschematic.sch myschematic2.sch
elements-dir /myfootprintdir
output-name mypcb
skip-m4

Ð’ файле примера задаётÑÑ Ð¿Ð¾Ð¸Ñк поÑадочных меÑÑ‚, иÑпользуемых в myschematic.sch и myschematic2.sch, в каталоге myfootprintdir, пропуÑк поÑадочных меÑÑ‚ типа M4 и Ñоздание mypcb.pcb. Затем при запуÑке gsch2pcb в качеÑтве аргумента нужно задать Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° проекта:

gsch2pcb myproject

Можно ли задать двум контактным площадкам или двум выводам одинаковые номера?

«Да, без вопроÑов. Как раз так — перекрытием двух и более штук — и ÑоздаютÑÑ Ð¾Ð²Ð°Ð»ÑŒÐ½Ñ‹Ðµ Ð¾Ð±Ñ€Ð°Ð¼Ð»ÐµÐ½Ð¸Ñ Ð²Ð¾ÐºÑ€ÑƒÐ³ выводов или контактные площадки чудной формы (например, ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚Ð½Ð°Ñ Ñ Ð¾Ð´Ð½Ð¾Ð¹ Ñтороны и ÐºÑ€ÑƒÐ³Ð»Ð°Ñ Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹).»

Как Ñделать овальную контактную площадку вокруг вывода поÑадочного меÑта?

ПроÑто добавить контактную площадку Ñверху вывода и задать им обоим одинаковый номер вывода. ЕÑли паÑÐ»ÑŒÐ½Ð°Ñ Ð¼Ð°Ñка не каÑаетÑÑ Ð½Ð¸ одного из Ñтих выводов и они перекрываютÑÑ, они должны выглÑдеть как один вывод на плате.

Как Ñделать двухÑтороннюю контактную площадку?

«Звучит Ñтранно, но Ñто может быть необходимо Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… Ñоединителей непоÑредÑтвенного ÑочленениÑ. … Ðо как Ñто Ñделать???»

Это можно Ñделать, добавив две контактных площадки в одном и том же меÑте, Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼ номером вывода, но вторую Ñ Ñ„Ð»Ð°Ð³Ð¾Ð¼ “onsolderâ€, как в Ñледующем фрагменте:

Pad[ 10mm -3mm  10mm 3mm  2.0mm 0.5mm 0.2mm "1" "1" "square" ]
Pad[ 10mm -3mm  10mm 3mm  2.0mm 0.5mm 0.2mm "1" "1" "square,onsolder" ]

Соединители непоÑредÑтвенного ÑочленениÑ

Сделайте двухÑтороннюю контактную площадку, как указано выше. ЕÑли вам нужно, чтобы форма контактной площадки была ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚Ð½Ð°Ñ Ð½Ð° конце и Ð¿Ð¾Ð»ÑƒÐºÑ€ÑƒÐ³Ð»Ð°Ñ Ñо Ñтороны платы, добавьте по две перекрывающиеÑÑ ÐºÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ñ‹Ðµ площадки на каждой Ñтороне, как в Ñледующем фрагменте:

Pad[  0   -3mm   0   3mm  2.0mm 0.5mm 0.2mm "1" "1" "square" ]
Pad[  0   -3mm   0   5mm  2.0mm 0.5mm 0.2mm "1" "1" "" ]
Pad[  0   -3mm   0   3mm  2.0mm 0.5mm 0.2mm "1" "1" "square,onsolder" ]
Pad[  0   -3mm   0   5mm  2.0mm 0.5mm 0.2mm "1" "1" "onsolder" ]
1) Ð’ более новых верÑиÑÑ… pcb вложенные разделы раÑкрываютÑÑ, там же отображаютÑÑ Ñлементы, а Ñправа находитÑÑ Ð¾ÐºÐ½Ð¾ предпроÑмотра поÑадочных меÑÑ‚. — Прим. перев.
2) Ð’ Ñлое шелкографии дуги иÑпользовать можно. — Прим. перев.
3) Речь здеÑÑŒ идёт о реÑурÑах pcb Ñ Xaw-интерфейÑом, который заменён на GTK-Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð² 2005-ом году, поÑтому Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ Ñвежих верÑий данный ответ неактуален. — Прим. перев.
lepton-eda-1.9.10/docs/wiki/geda-example_hsm.html0000644000175000017500000001233713634703632016551 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

Hierarchical SPICE model

Example of a hierarchical analog RF SPICE model in the:
${prefix}/share/doc/geda-gaf/examples/RF_Amp
directory, where ${prefix} is the installation prefix for gEDA on your system (usually /usr or /usr/local).

This README created 3.31.2003

---------------------  Contents of directories  -----------------------

This directory holds the schematics and associated materials for a
SPICE model of Agilent's MSA-2643 bipolar amp.  The model was obtained
from Agilent's datasheet 5980-2396E.  The directory structure is as
follows:

RF_Amp (base directory)

MSA-2643.sch -- schematic of stuff inside device package (as shown in
p. 7 of datasheet.  Note that I have not included the transmission
lines in this schematic because no value of Z was included in the data
sheet.   (Yes, it's probably 50 ohms, but including them was a
sideshow compared to my main intent: build a hierarchical model of an
RF circuit.)
MSA-2643.cir -- netlisted circuit ready for SPICE simulation.

Q1.sch -- schematic model of Q1 MSA-26 transistor shown on p. 8 of datasheet.
Q1.cir -- netlisted circuit holding .SUBCKT model of Q1.

Q2.sch -- schematic model of Q2 MSA-26 transistor shown on p. 8 of datasheet.
Q2.cir -- netlisted circuit holding .SUBCKT model of Q2.

README -- this file.

Simulation.cmd -- a file holding SPICE analysis commands which is read
at simulation time by the SPICE simulator.

5980-2396E.pdf -- Agilent datasheet about the MSA-2643.


./model/

BJTM1_Q1.mod -- text-based SPICE model of BJT1 used in Q1 .SUBCKT
DiodeM1_Q1.mod -- text-based SPICE model of diode M1 used in Q1 .SUBCKT
DiodeM2_Q1.mod -- SPICE model of diode M2 used in Q1 .SUBCKT
DiodeM3_Q1.mod -- SPICE model of diode M3 used in Q1 .SUBCKT
(similar files for Q2 models. . . .)
These models were obtained from parameters give in p. 8 of the datasheet.

./sym/

BJT_Model.sym
spice-subcircuit-IO-1.sym
spice-subcircuit-LL-1.sym
Q_Model.sym -- symbol pointing to lower level models placed on upper
level schematic.

------------  Usage of hierarchical spice models ---------------------
This project exemplifies construction of a hierarchical SPICE
simulation using gEDA.  The project is built in the following way:

1.  Use a text editor to create .mod files containing SPICE models of
the transistors and diodes on p. 8 of the datasheet.

2.  Create Q1 and Q2 transistor model schematics using gschem.  Place
the .SUBCKT SPICE block on the schematic to alert the netlister that
the schematic is a lower level .SUBCKT for incorporation into other
schematics.  Place spice-IO pads on the schematic to instantiate the
IOs.  Make sure to number the spice-IO pads in the same order as you
wish them to appear in the .SUBCKT line in the .cir.

3.  Generate the .SUBCKT netlist by saying:

gnetlist -g spice-sdb -o Q1.cir Q1.sch
gnetlist -g spice-sdb -o Q2.cir Q2.sch

4.  Create a symbol for Q1.cir and Q2.cir which will be dropped onto
the higher lever schematic.  Name the symbol Q_Model.sym.  Set the
symbol "DEVICE" attribute = NPN_TRANSISTOR_subcircuit.  This causes
the netlister to use "write-default-component" to write out the SPICE
line for the component.  Make sure that the "REFDES" attribute is X?
and not Q? -- this enables the .SUBCKT file to be attached to the
device.

5.  Create the higher layer schematic MSA-2643.sch.  Place
two copies of Q_Model.sym onto the schematic, corresponding to Q1 and
Q2.  Make Q1 point to its model by setting the following attributes:

model-name: Q1_MSA26F
file: Q1.cir

Do the same for Q2.

6.  Create the rest of the higher layer schematic the usual way.  Make
sure to place a spice-include block on the schematic and point it to
"Simulation.cmd".  Place any analysis commands (e.g. .DC, .AC, .TRAN,
etc.) into the file "Simulation.cmd".

7.  Netlist the higher layer design:

gnetlist -g spice-sdb -o MSA-2643.cir MSA-2643.sch

8.  The circuit may be simulated by any desired SPICE simulation
and analysis package, e.g. LTSpice.

--------------------  Contact  ----------------------------
Documentation and other materials relevant to SPICE simulation under
gEDA lives at http://www.brorson.com/gEDA/SPICE

For inquiries or bug reports, please contact me:

Stuart Brorson
mailto:sdb@cloud9.net
lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-basic_netlisting.ru.html0000644000175000017500000002260713634703632022540 00000000000000

Создание проÑтых ÑпиÑков Ñоединений

Ð”Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ñтых ÑпиÑков Ñоединений (например, Ð´Ð»Ñ Ñравнительно проÑтых плат или неÑложных вариантов моделированиÑ) к иÑпользуемым Ñхемам и Ñимволам предъÑвлÑетÑÑ Ð½ÐµÑколько проÑтых требований. Эти Ñ‚Ñ€ÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð°ÐºÐ»Ð°Ð´Ñ‹Ð²Ð°ÑŽÑ‚ÑÑ Ð²ÐµÑ€Ñ…Ð½ÐµÑƒÑ€Ð¾Ð²Ð½ÐµÐ²Ð¾Ð¹ оболочкой gnetlist и применÑÑŽÑ‚ÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо от того, какой низкоуровневый драйвер иÑпользуетÑÑ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑка Ñоединений. Ð”Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… драйверов могут быть дополнительные требованиÑ, не отражённые на Ñтой Ñтранице.

Многие из Ñтих требований отноÑÑÑ‚ÑÑ Ðº корректному иÑпользованию атрибутов. Полный перечень Ñтандартных атрибутов Ñ Ð¾Ð¿Ð¸Ñанием их Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð²ÐµÐ´Ñ‘Ð½ в Перечне оÑновных атрибутов.

Схемы

Ð’ Ñхемах должны быть только ÑоединениÑ, шины, компоненты и графичеÑкие Ñлементы. Компонент в Ñхеме предÑтавлÑет Ñобой ÑкземплÑÑ€ Ñимвола из библиотеки Ñимволов.

К каждому компоненту, который вы хотели бы видеть в результирующем ÑпиÑке Ñоединений, должен быть прикреплён атрибут «refdes=». Это должна быть Ñтрока из букв и цифр, начинающаÑÑÑ Ñ Ð±ÑƒÐºÐ²Ñ‹. «refdes» иÑпользуетÑÑ Ð´Ð»Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ компонента в перечне Ñлементов, на топологии печатной платы и в выводе программы моделированиÑ.

ЕÑли два компонента в одной и той же Ñхеме имеют одинаковый атрибут «refdes», то gnetlist объединит их (то еÑть будет раÑÑматривать их как один и тот же компонент). Это поведение даёт возможноÑть Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñекций. Оно также позволÑет вам разнеÑти Ñложные компоненты Ñ Ð¾Ñ‡ÐµÐ½ÑŒ большим количеÑтвом выводов на неÑколько Ñтраниц поÑредÑтвом иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð·Ð½Ñ‹Ñ… Ñимволов Ð´Ð»Ñ Ñ€Ð°Ð·Ð½Ñ‹Ñ… чаÑтей компонента.

Ð¡Ð¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ именовать, прикреплÑÑ Ðº их Ñегментам атрибуты «netname=». Ð’Ñе Ñегменты Ñоединений, прикреплённые к Ñегменту Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼ атрибутом будут иметь Ñто же имÑ. ЕÑли два ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð² одной и той же Ñхеме имеют одинаковое значение атрибута «netname», то gnetlist будет раÑÑматривать их как Ñоединённые между Ñобой. ЕÑли два Ñоединённых между Ñобой ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÑŽÑ‚ различные атрибуты «netname», то gnetlist объединит между Ñобой вÑе ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ ÐºÐ°Ð¶Ð´Ñ‹Ð¼ из Ñтих имён. ЕÑли какое-нибудь Ñоединение не имеет атрибута «netname», gnetlist Ñгенерирует Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ Ð¸Ð¼Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки.

gnetlist в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÐµÑ‚ шины и их выводы. Ð’ Ñхемах их вÑÑ‘ же иÑпользовать можно, но Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑпиÑков Ñоединений они иÑпользоватьÑÑ Ð½Ðµ будут.

Символы

Ð’ Ñоздании Ñимволов, правильно работающих Ñ gnetlist, вам поможет РуководÑтво по Ñозданию Ñимволов.

Ð’ Ñимволах должны быть только выводы, атрибуты и графичеÑкие Ñлементы. Ð’ каждом Ñимволе должен быть неприкреплённый атрибут «device=».

К каждому из выводов должны быть прикреплены атрибуты «pinnumber=» и «pinlabel=». Обычно Ñледует также прикрепить «pintype=» и «pinseq=».

Иногда может быть нужно, чтобы gnetlist полноÑтью игнорировал ваш Ñимвол. Ðапример, в некоторых ÑлучаÑÑ… Ñимволы можно иÑпользовать не Ð´Ð»Ñ ÑлектричеÑких целей, а, Ñкажем, Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ€Ð°Ð¼Ð¾Ðº оÑновной надпиÑи, комментариев или примечаний. Ð’ Ñтом Ñлучае можно иÑпользовать атрибут «graphical=1».

ИÑпользование таких возможноÑтей gnetlist, как поддержка иерархичеÑких Ñхем или Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñекций, накладывает дополнительные требованиÑ.

Ð’Ñ‹Ð½Ð¾Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð²

gnetlist поддерживает Ð²Ñ‹Ð½Ð¾Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð². При поиÑке конкретного атрибута компонента программа будет Ñначала проверÑть атрибуты, прикреплённые к нему в Ñхеме, а затем проверÑть неприкреплённые атрибуты в Ñимволе, ÑкземплÑром которого Ñтот компонент ÑвлÑетÑÑ. Это позволÑет вам при разработке Ñимвола задать Ð´Ð»Ñ Ñ‡Ð°Ñто иÑпользуемых атрибутов Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию, и в то же Ð²Ñ€ÐµÐ¼Ñ Ð²Ñегда иметь возможноÑть переопределить их при подготовке Ñхемы.

lepton-eda-1.9.10/docs/wiki/geda-faq-gsch2pcb.ru.html0000644000175000017500000002151713634703632017134 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English, Français.

gsch2pcb

Обзор

gsch2pcb — Ñто оболочка Ð´Ð»Ñ gnetlist, Ð¿Ñ€ÐµÐ´Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ð°Ñ Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ð·Ð°Ñ†Ð¸Ð¸ процеÑÑа переноÑа разработки из gschem в pcb. Он извлекает из Ñхемы (или из набора Ñхем) информацию о поÑадочных меÑтах компонентов (атрибуты footprint) и о значениÑÑ… Ñлементов (атрибуты value) и пропуÑкает их через генератор ÑпиÑка Ñоединений. Ð’ результате получаетÑÑ Ð½Ð°Ð±Ð¾Ñ€ файлов, в которых ÑодержатÑÑ Ð¾Ñновные данные Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ печатной платы в pcb: поÑадочные меÑта компонентов, ÑпиÑок Ñоединений, определÑющий вÑе ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ компонентами, физичеÑкие размеры платы и Ð»ÑŽÐ±Ð°Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð°Ñ Ð² Ñхемах физичеÑÐºÐ°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ, как например, графичеÑкие объекты (контуры платы, к примеру).

Программа gsch2pcb входит в gEDA/gaf. По умолчанию она уÑтанавливаетÑÑ Ð²Ð¼ÐµÑте Ñ gEDA/gaf. Из командной Ñтроки она запуÑкаетÑÑ Ñ‚Ð°Ðº: ./gsch2pcb.

РеÑурÑÑ‹ по gsch2pcb

  • Знаменитый учебник по gsch2pcb, который напиÑал Bill Wilson.
  • Скрипт-обёртка Ð´Ð»Ñ gsch2pcb под названием sch2pcb.

Откуда можно загрузить gsch2pcb?

Программа gsch2pcb — Ñто утилита gEDA/gaf. Обычно она уÑтанавливаетÑÑ Ð¿Ð¾ умолчанию (вмеÑте Ñо вÑеми оÑтальными программами) при уÑтановке ÑиÑтемы gEDA/gaf. ЕÑли по какой-либо причине на вашей машине она не уÑтановлена, то можно либо целиком загрузить tar-архив gEDA/gaf Ñо Ñтраницы:

либо вытÑнуть её прÑмо из git по адреÑу:

gsch2pcb не может найти некоторые из моих поÑадочных меÑÑ‚ или выдаёт ошибку. Как продиагноÑтировать мою проблему?

Попробуйте запуÑк gsch2pcb в режиме удвоенных подробноÑтей: gsch2pcb -v -v. Это вызовет фонтан Ñообщений о том, где программа пытаетÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ файлы поÑадочных меÑÑ‚. Ртакже будет Ñказано, где она нашла те поÑадочные меÑта, которые иÑпользует.

Ðабор Ñлоёв, иÑпользуемый по умолчанию в gsch2pcb, мне не нравитÑÑ. Как его изменить?

Отредактируйте $INSTALLDIR/share/gEDA/scheme/gnet-gsch2pcb.scm так, чтобы там были отражены ваши Ð¿Ñ€ÐµÐ´Ð¿Ð¾Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð½Ð° Ñтот Ñчёт. Ð’ чаÑтноÑти можно изменить Ñтроку, определÑющую группы Ñлоёв:

    (display "Groups(\"1,2,3,s:4,5,6,c:7:8\")\n" port) 

и ÑобÑтвенно Ñтек Ñлоёв:

(lambda (port)
    (display "Layer(1 \"bottom\")\n(\n)\n" port)
    (display "Layer(2 \"bott.-poly.\")\n(\n)\n" port)
 ...
    (display "Layer(8 \"lineout\")\n(\n)" port)
    (display "Layer(9 \"ignored\")\n(\n)\n" port)
    (display "Layer(10 \"ignored\")\n(\n)" port)
    (newline port)))

Учтите, поÑледним двум ÑлоÑм будут ÑоответÑтвовать Ñлои шелкографии Ð´Ð»Ñ Ð¾Ð±ÐµÐ¸Ñ… Ñторон платы. ПоÑтому вам придётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ на два ÑÐ»Ð¾Ñ Ð±Ð¾Ð»ÑŒÑˆÐµ, чем нужно Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ топологии проводников.

lepton-eda-1.9.10/docs/wiki/gsoc2009_projects.html0000644000175000017500000000757513634703632016540 00000000000000

gEDA GSoC 2009 Project Ideas

This page contains various ideas for projects, organized by the tool. You can use these as fodder for creating your application to Google. Also, if you have your own idea, feel free to share it with the gEDA developers – they might like it more than any project on this list!

General, "glue" and related gaf projects

Projects that make the tools work together are on this webpage

Gnucap circuit simulation/analysis program

Project ideas for Gnucap are on this webpage

Gwave analog waveform viewer

Project ideas for gwave are on this webpage

PCB Layout Editor

Project ideas for PCB are on this webpage

Gschem schematic capture tool

Project ideas for Gschem are on this webpage

Icarus Verilog

Project ideas for Icarus Verilog are on this webpage

GTKWave

Project ideas for Icarus Verilog are on this webpage

Gerbv

Project ideas for gerbv are on this webpage

lepton-eda-1.9.10/docs/wiki/geda-hierarchy.html0000644000175000017500000001603313634703632016222 00000000000000

(This page is still incomplete.)

Hierarchical schematics

Depending on what you want to achieve, there are several options how to use hierarchy. If you are unsure, ask yourself if you want to include a subcircuit multiple times in your design, or want to represent a subsheet as a symbol in another sheet. If you answer either with yes, go with full mangling. If not, you probably don't need hierarchy at all and can just use multiple schematic files.

The schematic hierarchy isn't limited to one level—subcircuits can in turn contain other subcircuits.

Multiple schematic files

If you just want to split your schematic to multiple pages, you don't need to use hierarchy at all. Just list the individual schematic files when invoking gnetlist:

$ gnetlist -g geda page-one.sch page-two.sch

If you are using the same netname= attribute on different pages, the nets will automatically be connected.

Hierarchy as a convenience method

Alternatively, you can create a top schematic which contains symbols for each subsheet and tell gnetlist to go look for the corresponding schematic files. You do so by adding a source= attribute to the symbol and adding the directory which contains the subsheets to the source library. Usually this will be the same directory as the schematic containing the subsheet symbol, so add the following line to gnetlistrc (either your global one in ~/.gEDA/, or a project-specific one in the same directory):

(source-library ".")

You also need to tell gnetlist to disable component and net name mangling or you will end up with component names like U?/R1, and your nets will not connect. To do so, add the following lines to gnetlistrc:

(hierarchy-netattrib-mangle "disabled")
(hierarchy-netname-mangle "disabled")
(hierarchy-uref-mangle "disabled")

Now when invoking gnetlist, just specify the main schematic file:

$ gnetlist -g geda main.sch

This will only work if the configuration setting gnetlist.traverse-hierarchy is set to true. This is the default but may have been overridden by your distribution or local administrator.

gnetlist will complain if the subsheet symbols don't contain a refdes= attribute, but with mangling disabled, it won't use it in any way.

In gschem, you can navigate the schematic hierarchy using the commands from the “Hierarchy†menu. To view the underlying schematic for a subcircuit component, select it and use Hierarchy→Down Schematic. Once finished editing, use Hierarchy→Up to return to the original schematic. (This works only if you accessed the subcircuit's schematic in that way.) Analogously, you can edit the subcircuit symbol itself using Hierarchy→Down Symbol.

Input/output pins

As an alternative to using the same net name, you can add pins to a subsheet symbol to route nets to and from that schematic. For each pin on the symbol, you need to add a corresponding footprint-less I/O symbol to the subsheet whose refdes= matches the pinlabel= of the pin. (You can normally use the in-1.sym and out-1.sym symbols from the generic “Input/Output†symbol library for this.)

If you get an error about a “Missing I/O symbolâ€, make sure you set a refdes= for the subsheet symbols.

Make sure not to add more than one I/O symbol for each pin as this will silently produce an incorrect netlist.

Hierarchy as a grouping/instantiation mechanism

If you want to include a subcircuit multiple times in your schematic, you need a way to tell the components of one instantiation from those of another one (given that your subcircuit contains any components). This is where uref mangling comes in. You enable it by specifying

(hierarchy-uref-mangle "enabled")

in gnetlistrc. Now, gnetlist constructs the name of an instantiated component by appending it to the subsheet symbol's refdes= attribute, separated by a slash. You can configure this in gnetlistrc. For example, to list the component refdes= first and use a colon as a separator, use

(hierarchy-uref-order "prepend")
(hierarchy-uref-separator ":")

Named nets from one instantiation will connect to the same net of another one. If you are using net names in the subcircuit, you will probably want to use separate net namespaces to avoid that.

Separating net=/netname= namespaces

…

lepton-eda-1.9.10/docs/wiki/geda-faq-gsch2pcb.fr.html0000644000175000017500000000730313634703632017112 00000000000000

Autres langues: English РуÑÑкий

gsch2pcb

Où est le tutoriel gsch2pcb?

Actuellement, la meilleure information à ce propos est dans le tutorial de Bill Wilson.
!!Cette page grossira plus tard pour contenir les réponses aux FAQ postées sur la liste des geda-user.!!

C'est un script de gestion pour gsch2pcb appelé sch2pcb. Vous pouvez y trouver des informations dans la section pcb_tips.fr de ce wiki.

Où puis-je télécharger gsch2pcb?

gsch2pcb est une part de gEDA/gaf, dans les utils. Il est normalement installé par défaut (parmi les autres) si vous installez gEDA/gaf complètement. Si vous ne l'avez pas installé sur votre machine vous pouvez soit télécharger le tarball utils depuis:

ou le prendre directement depuis le CVS sur:

gsch2pcb ne peut pas trouver quelques uns de mes empreintes ou génère une erreur. Comment puis-je diagnostiquer mon problème?

Tentez de lancer gsch2pcb en mode bavard double: “gsch2pcb -v -vâ€. Cela produira beaucoup de choses vous indiquant où gsch2pcb cherche lorsqu'il tente de trouver les empreintes. Il vous indiquera aussi où il trouve les empreintes en cours d'utilisation.

lepton-eda-1.9.10/docs/wiki/geda-na_howto.html0000644000175000017500000002646613634703632016075 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

net= attribute mini-HOWTO

by: Ales Hvezda

This document is released under GFDL

October 2nd, 2003

The information in this document is current as of 19991011.

What is the net= attribute used for?

The net= attribute is used to specify power, ground, and/or arbitrary nets in the gEDA system.
The net= attribute is used instead some of the other systems of specifying power/ground (such as having power/ground pins on symbols or power boxes). Some devices have lots of power/ground pins and having all of these pins on the symbol would increase its size and make it unmanageable. The net= attribute is the power/ground specification of choice in the gEDA system because of its simplicity and versatility. Now having said all this, you can have power/ground pins on a symbol, but gnetlist will probably not recognize these nets connected to these pins as separate power/ground nets. Please keep this in mind as you draw symbols.

What is the format of the net= attribute?

Attributes in gEDA are simple text items which are in the form name=value. All proper attributes follow this form. Attribute names are always lower case, but the value can be upper or lower case. gnetlist and friends are case sensitive. Typically net/signal names by default are upper case.
Attribute can be attached to an object or in certain cases (like the net= attribute) can be free floating (not attached to anything). The free floating attributes are also called toplevel attributes.
The net= attribute is a text item which takes on the following form:

net=signalname:pinname,pinname,pinname,...

where:

net= The attribute name (always the same, lowercase)
signalname The signal or net being defines (like +5V, GND, etc…)
pinname The pin name (or number) which is assigned to this signal/net (or pin names/numbers)

The signalname cannot contain the â€:†character (since it is a delimiter). The pinname is the pin name (A1, P2, D1, etc…) or pin number (1, 2, 5, 13, etc…). The pinname cannot contain the â€,†character (since it is also a delimiter). pinnames are typically the same sort of numbers/names like the pin#=# attribute (if you are familiar with that attribute).
You can only have ONE signalname per net= attribute, but you can have as many pinnames/numbers as you want.

How do you actually use the net= attribute?

You can place the net= attribute in several places. Here's the list so far:

  • Inside a symbol either as an attached attribute or an unattached attribute (toplevel attribute). Example which creates power/gnd nets: net=GND:7 or net=+5V:14
  • Outside a symbol (which is instantiated on a schematic) attached as an attribute to override an existing net= created net/signal. Suppose a symbol has a net=GND:7 inside it already; attaching this to the symbol: net=AGND:7 overrides the GND net (on pin 7) calling it AGND and connects/associates it to pin 7.
  • Outside or inside a symbol to connect a net to a visible pin automatically. This is still untested and still might have some undesirable (negative) side effects. Use with caution.
  • Attached to one of those special power/gnd symbol (like vcc/gnd/vdd) and you can change what that symbol represents. You could change the ground symbol to create a net called DIGITAL GND without editing the symbol (net=DIGITAL_GND:1).
    In the current symbol (19991011) library there are symbols named vdd-1.sym, vcc-1.sym, vee-1.sym, etc… which do not have a net= attribute inside, so you must attach the net= attribute yourself (in the schematic).
    There also symbols named 5V-minus-1.sym, 12V-plus-1.sym, 9V-plus-1.sym, etc… which have the appropriate net= attribute in them already (can be overridden though). You can use these symbol as examples of how to use the net= attribute.

You can have as many net= attributes as you want. Just remember that net= attributes attached to the outside of a symbol override any equivalent internal (inside the symbol) net= attributes. If you run into a case where this doesn't work, please report a bug.

Caveats / Bugs

The net= attribute/mechanism is fairly new, so there are bound to be bugs (many bugs). Here are some of the identified issues:

  • As of 19991011 almost all of the symbols in the standard library do not have the net= attribute or any other power/ground specifiers. Hopefully this will be updated sometime (any volunteers?).
  • Attach a special power symbol (vcc/gnd) to a already named net will alias (rename) that net to the signalname specified in the net= attribute (in/attached to the vcc/gnd symbol). You can override this (so the reverse is true) by playing with the “net-naming-priorityâ€. Be careful with this. There might be other “aliasing†issues which have not been identified yet.
  • Creating a net= attribute which associates a signal name with a pin which is already visible on the symbol, is probably a bad idea. This does work, but all the ramifications have not been explored yet.
  • It is probably a bad idea to have the same net= attribute attached several times. Ales has not formalized what happens in this case. Just remember that the net= attribute on the outside of a symbol should override the internal one.

Example

Here's a schematic which uses standard symbols (note: the 7400 does not have the net= attribute inside yet). This schematic consists of a 7400 with the net= attributes attached for power and ground, One of the input pins grounded using a gnd symbol and the other at a logic one using the vcc symbol (with an attached net= attribute). One of the input net is named, but as you will see, the netname is replaced by the net= signal name (see above for more info on this). The output is pulled up with a pull up resistor which has power specified using the +5V symbol.

net.jpg
v 19991011
C 38700 58100 1 0 0 7400-1.sym
{
T 39000 59000 5 10 1 1 0
uref=U100
T 38900 59500 5 10 1 1 0
net=GND:7
T 38900 59300 5 10 1 1 0
net=+5V:14
}
N 38700 58800 37400 58800 4
{
T 37600 58900 5 10 1 1 0
netname=NETLABEL
}
N 37400 58800 37400 59200 4
N 38700 58400 37400 58400 4
N 37400 58000 37400 58400 4
C 37300 57700 1 0 0 gnd-1.sym
C 37200 59200 1 0 0 vcc-1.sym
{
T 36800 59200 5 10 1 1 0
net=+5V:1
}
N 40000 58600 41600 58600 4
{
T 41200 58700 5 10 1 1 0
netname=OUTPUT
}
C 40700 58800 1 90 0 resistor-1.sym
{
T 40800 59200 5 10 1 1 0
uref=R1
}
N 40600 58800 40600 58600 4
N 40600 59900 40600 59700 4
C 40400 59900 1 0 0 5V-plus-1.sym

gnetlist (using the geda netlist format) run using this sample schematic outputs this:

START header

gEDA's netlist format
Created specifically for testing of gnetlist

END header

START components

R1 device=RESISTOR
U100 device=7400

END components

START renamed-nets

NETLABEL -> +5V

END renamed-nets

START nets

+5V : R1 2, U100 14, U100 1
GND : U100 7, U100 2
OUTPUT : R1 1, U100 3

END nets

Notice how NETLABEL was renamed (aliased to the +5V net).

Final notes

If you found a bug, please let us know.

lepton-eda-1.9.10/docs/wiki/geda-license.html0000644000175000017500000001343613634703632015672 00000000000000

gEDA Licensing

All software components of gEDA/gaf are released under the GNU General Public License (GPL) version 2 or later. However, some confusion exists about the schematic symbols. What license do they use? Will GPL symbols “infect†your design, thereby requiring you to release your design to the public? If you modify the symbols, must you release the modified versions under the GPL?

The goal of the gEDA Project is to provide an open-source EDA Suite which may be used for non-commercial as well as commercial projects. Our tools are aimed for use by students, hobbyists, educators, consultants, and – yes – corporate engineers. We are not interested in exerting any control over your designs, or forcing you to reveal proprietary information contained in your designs.

Symbols are similar to the font files used in document processing software – they are graphical objects used to express your ideas. We want you to retain control of your own ideas (your design), while the gEDA Project retains a say in how you redistribute the symbols themselves.

There are three ways a symbol might be distributed:

  1. As part of a symbol library, or individually as a .sym file (i.e. as a symbol itself).
  2. Embedded in a .sch file (i.e. part of the soft, or editable copy of a design).
  3. The resulting graphical expression on a schematic diagram (i.e. as part of the hard, or non-editable copy of a design).

There is a distinction between cases 1 and (2, 3). In case 1, the object of interest is the symbol library (or individual symbol) itself. In case (2, 3), the object of interest is the design. Some label case 1 “distributionâ€, and case (2, 3) “use†of the symbol.

Our goals for the symbols are:

  • We wish to distribute the symbols under a licencing scheme which encourages that you give back to the community if you redistribute the the symbols themselves – whether modified or unmodified. This is case 1 distribution. The GPL ensures this.
  • We wish to specifically prohibit anybody from building gEDA's symbols into their *software* products, and then place restrictions on how the resulting product may be used. If you bundle gEDA symbols– whether modified or unmodified – into your software and then distribute it, then you must allow for the software's (and symbols') continued redistribution under the GPL. Again, this is case 1 distribution; the GPL ensures this.
  • However, we do not wish to “infect†your *electronic* design, or force you to release your proprietary design information if you use or embed gEDA symbols in your design. This is case (2, 3) use.

The Free Software Foundation has recognized a possible conflict of the base GPL with the use of fonts – and, by analogy, symbols used in case (2, 3). Their solution is to use an exemption clause in the GPL which you explicitly insert for fonts. Read about it here:

http://www.fsf.org/licensing/licenses/gpl-faq.html#FontException

Therefore, using this as a template, all symbols released with gEDA/gaf are covered under the GPL with the following exception clause:

As a special exception, if you create a design which uses this symbol,
and embed this symbol or unaltered portions of this symbol into the
design, this symbol does not by itself cause the resulting design to
be covered by the GNU General Public License. This exception does not
however invalidate any other reasons why the design itself might be
covered by the GNU General Public License. If you modify this
symbol, you may extend this exception to your version of the
symbol, but you are not obligated to do so. If you do not
wish to do so, delete this exception statement from your version.

The idea is that case 1 redistribution is covered under the GPL, but distribution of your design (case (2, 3) is exempt from the GPL. This is the scheme which the gEDA Project wishes to use for symbol distribution and use.

lepton-eda-1.9.10/docs/wiki/geda-icarus_extensions.html0000644000175000017500000000743113634703632020013 00000000000000

Icarus Verilog Extensions

Icarus Verilog Extensions

Icarus Verilog supports certain extensions to the baseline IEEE1364
standard. Some of these are picked from extended variants of the
language, such as SystemVerilog, and some are expressions of internal
behavior of Icarus Verilog, made available as a tool debugging aid.

* Builtin System Functions

** Extended Verilog Data Types

This feature is turned off if the generation flag "-g" is set to other
then the default "2x".  For example, "iverilog -g2x" enables extended
data types, and "iverilog -g2" disables them.

Icarus Verilog adds support for extended data types. This extended
type syntax is based on a proposal by Cadence Design Systems,
originally as an update to the IEEE1364. That original proposal has
apparently been absorbed by the IEEE1800 SystemVerilog
standard. Icarus Verilog currently only takes the new primitive types
from the proposal.

Extended data types separates the concept of net/variable from the
data type. Both nets and variables can declared with any data
type. The primitive types available are:

    logic  - The familiar 0, 1, x and z, optionally with strength.
    bool   - Limited to only 0 and 1
    real   - 64bit real values

Nets with logic type may have multiple drivers with strength, and the
value is resolved the usual way. Only logic values may be driven to
logic nets, so bool values driven onto logic nets are implicitly
converted to logic.

Nets with any other type may not have multiple drivers. The compiler
should detect the multiple drivers and report an error.

- Declarations

The declaration of a net is extended to include the type of the wire,
with the syntax:

    wire <type> <wire-assignment-list>... ;

The <type>, if omitted, is taken to be logic. The "wire" can be any of
the net keywords. Wires can be logic, bool, real, or vectors of logic
or bool. Some valid examples:

    wire real foo = 1.0;
    tri logic bus[31:0];
    wire bool addr[23:0];
    ... and so on.

The declarations of variables is similar. The "reg" keyword is used to
specify that this is a variable. Variables can have the same data
types as nets.

- Ports

Module and task ports in standard verilog are restricted to logic
types. This extension removes that restriction, allowing any type to
pass through the port consistent with the continuous assignment
connectivity that is implied by the type.

- Expressions

Expressions in the face of real values is covered by the baseline
Verilog standard.

The bool type supports the same operators as the logic type, with the
obvious differences imposed by the limited domain.

Comparison operators (not case compare) return logic if either of
their operands is logic. If both are bool or real (including mix of
bool and real) then the result is bool. This is because comparison of
bools and reals always return exactly true or false.

Case comparison returns bool. This differs from baseline Verilog,
which strictly speaking returns a logic, but only 0 or 1 values.

All the arithmetic operators return bool if both of their operands are
bool or real. Otherwise, they return logic.
lepton-eda-1.9.10/docs/wiki/geda-faq-gschem.fr.html0000644000175000017500000010636713634703632016677 00000000000000

Autres langues: English РуÑÑкий

Usage de Gschem

Comment je déplace un composant?

Ce n'est plus un problème·; déplacer un composant peut être réalisé en utilisant le bouton gauche de la souris – la méthode haituelle des utilisateurs de Windows. Pour les versions égales ou plus récentes que 20060824, faites ceci:

  1. Sélectionnez le composant en cliquant dessus avec le bouton gauche de la souris. Le composant sera mis en valeur.
  2. Tirez le composant (en utilisant le bouton gauche de la souris) pour le placer où vous le voulez.

C'est probablement ce que vous avez l'habitude de faire.

Pour les personnes avec d'anciennes versions de gschem, vous avez ici trois voies pour déplacer facilement les composants avec gschem:

Un:

  1. Attrapez le composants avec le bouton de souris du milieu. Le composant suivra le curseur où vous l'emmenez.
  2. Pour placer le composant, relachez le bouton du milieu de la souris. Le composant restera où vous l'avez placé.

Deux:

  1. Sélectionnez le composant en cliquant dessus avec le bouton gauche de la souris. Le composant sera mis en valeur.
  2. Appuyez sur la touche « M » du clavier. Le composant suivra le curseur où vous l'emmenez.
  3. Pour placer le composant, cliquez le bouton gauche de la souris. Le composant restera où vous l'avez placé.

Trois:

  1. Pour placer le composant, cliquez sur le bouton gauche de souris. Le composant restera là où vous l'avez placé.

Comment je change la taille du texte sur un symbole?

  1. Sélectionnez le symbole.
  2. Clic droit → down symbol (ou faites Hierarchy → down symbol). Ceci vous mène à l'éditeur de symbole.
  3. Sélectionnez le pinnumber que vous voulez changer.
  4. Faites Edit → Edit Text (ou tapez le raccourci clavier « ex »).
  5. Changez la taille de police dans la boîte déroulante.
  6. Recommencez pour tous les éléments de textes désirés.
  7. Fichier → sauvegarde
  8. Clic droit → up (ou Hierarchy → Up). Vous êtes maintenant retourné à l'éditeur de schéma.
  9. Avez le symbole encore sélectionné, faites Edit → Update component (ou utilisez le raccourci clavier « ep »). Si cela ne fonctionne pas, effacez simplement le symbole et rechargez-le.

Plus généralement, vous pouvez utiliser cette procédure pour éditer n'importe quoi sur un symbole. (Substituez « Edit Text » pour votre édition souhaitée, bien sûr.)

Comment dévérouiller un composant

Lorsqu'un composant est véroullé, il est insélectionnable en utilisant le bouton milieu de la souris mais il est néanmoins sélectionnable en utilisant une sélection de fenêtre. Pour une sélection de fenêtre sur un composant, cliquez et maintenez avec le bouton gauche de souris et tirez pour créer une région rectangulaire contenant le composant devant être dévérouillé. Exécutez la commande Edit → unLock pour dévérouiller le composant.

Comment refdes peut-il être automatiquement numéroté lorsque je dessine un schéma?

Éditez le fichier system-gschemrc ou placez ce qui suit dans le fichier gschemrc (soit ~/.gEDA/gschemrc ou un fichier gschemrc dans le répertoire local d'où vous invoquez gschem):

;(load (string-append gedadata "/scheme/auto-uref.scm")) ; load the autonumbering script ; ancienne syntaxe
(load-from-path "auto-uref.scm")               ; nouvelle syntaxe
(add-hook! add-component-hook auto-uref)       ; autonumber when adding a component
(add-hook! copy-component-hook auto-uref)      ; autonumber when copying a component

Veuillez substituer $YOUR_INSTALL_PATH par le chemin d'installation de geda.

Qu'est-ce qu'un bus et comment l'utiliser?

Un bus est purement décoratif. Le netlister l'ignore. L'attribut netname= ne fonctionne pas pour connecter les points ensemble – c'est ce que gnetlist lit et transforme dans votre netlist. Il n'est pas possible de connecter une ligne discrète ou « accrochée à un bus » car, encore une fois, le bus est plus une entité graphique.

Quelques utilisateurs ont trouvé utile d'organiser leurs réseaux en incorporant un nom de bus dans le nom de net. Par exemple, « net=busA:1 » peut être ajouté à chaque busripper pour aider le tri des nets.

Que sont les Liaisons de Touches dans gschem?

Quelles sont les liaisons avec la souris dans gschem?

Par défaut, vous avez:

  • Le bouton gauche de souris est utilisé pour prendre et dessiner
  • Le bouton milieu de souris est soit pour déplacer un objet (maintenez le bouton milieu sur un objet et déplacez la souris), soit pour copier un objet (la touche ALT maintenue lors d'une pression sur le bouton milieu sur un objet et déplacez la souris).
  • Le bouton droit de souris est un menu déroulant.

Vous pouvez changer le bouton milieu en ajoutant ce qui suit à un fichier gschemrc:

(middle-button "action")   ;default binding, move or copy an object

ou:

(middle-button "stroke")   ;draw mouse gestures/strokes (must install libstroke to enable

ou:

(middle-button "repeat")   ;repeat the last command executed

Vous pouvez changer le bouton droit en ajoutant ce qui suit dans un fichier gschemrc:

(third-button "popup")     ;default binding, show a popup menu

ou:

(third-button "mousepan")  ;use the mouse to pan around the schematic

Pour plus informations sur ces options, veuillez aller voir le fichier ${install_prefix}/share/gEDA/system-gschemrc.

Symboles gschem

Quel est l'objet de cette polémique entre les symboles lourds et légers?

Cette nomenclature est apparue d'une discussion qui apparaît fréquement sur les listes de diffusion geda-user et geda-dev. Un symbole léger contient peu d'attributs intégrés dans le symbole lui-même. Il nécessite que l'utilisateur attache presque tous les attributs au niveau du schéma (i.e. en utilisant soit gschem, soit gattrib). Un symbole lourd contient plusieurs attributs (tels qu'une empreinte de boîtier, des noms de modèle SPICE, etc.) intégrés dans le fichier symbole lui-même. Un symbole lourd nécessite donc des attachements d'attributs très légers au niveau du schéma – vous n'avez qu'à le placer et c'est fait.

Le débat entre les adversaires des symboles lourds et légers est très détaillé et pointu. En caricaturant, les avocats des symboles lourds croient que cela fournit une meilleure intégration entre gschem et PCB avec l'importance des attrituts de placement (tels que footprint name) déjà créés dans le symbole. Ceci est considéré comme une bonne chose pour les nouveaux utilisateurs (noobs) qui veulent simplement concevoir une simple carte et n'apprécient pas ou n'ont que faire des zillions de variations qu'une simple résistance peut avoir (i.e. empreintes différentes, TCR, précision, composition physique, etc). Les avocats des symboles légers préfère traiter les attributs au niveau du schéma car ils pensent que c'est plus flexible. Ils font rapidement remarquer que une bibliothèque de symboles lourds s'accroîtra rapidement en des milliers de morceaux avec des noms grotesquement longs en tentant de distinguer entre les différentes variations d'un composant. Ils soulignent aussi que l'utilitaire « gattrib » est l'outil préféré pour traiter les attributs au niveau du schéma (i.e. dans le fichier .sch).

GEDA/gaf, configuré par défaut, utilise des symboles légers, bien qu'il puisse être configuré pour utiliser des symboles lourds. Pour plus d'informations, vous pouvez lire ces dicussions sur la liste de diffusion geda-user:

http://archives.seul.org/geda/user/Jun-2005/msg00001.html http://archives.seul.org/geda/dev/Oct-2005/msg00043.html

J'utilise un symbole extérieur à la bibliothèque. Comment se fait-il qu'il ne soit pas aligné sur la grille?

Les symboles dans la bibliothèque, comme ceux disponibles sur le site web gedasymbols sont fournis par des utilisateurs comme vous. Quelques personnes utilisent des initialisations de grille différentes des autres (i.e. 50mil vs. 100mil). Si vous découvrez un symbole qui semble être hors de la grille, tentez de réduire votre espacement de grille, déplacez le symbole de telle manière qu'il s'adapte à « votre » propre grille, puis revenez à votre grille initiale.

Oui, les docs gEDA suggèrent que vous utilisiez un espacement de grille de 100mil. Mais tout le monde aime faire les choses à sa propre manière et il n'existe pas de diktat pour pour imposer les règles sur les symboles rendus disponibles. Vous devez donc être au courant de cette possibilité.

Existe-t-il un symbole explicitement « non connecté » que je pourrais/devrais placer dans le schéma pour empêcher gnetlist de penser que j'ai oublié une connexion?

Réponse: misc → nc-left, nc-right, nc-top, nc-bottom.

Attention: occassionnellement, cela peut créer une liaison appelée « no_connect » (ou « NC?? ») qui peut mener à des broches connectées ensembles dans gnetlist – ce que vous _ne souhaitez probablement pas_.

Si vous voulez un symbole graphiquement complet (sans connexions électriques), ajoutez un attribut “graphical=1â€. Le netlister ignorera entièrement ces symboles.

Comment placer un un attribut de symbole invisible dans un schéma?

La plupart des symboles d'un symbole ne sont pas placés sur le schéma à moins qu'ils ne soient visibles. Pour afficher les attributs de symboles invisibles, cherchez les mots clés suivants dans le fichier system-gschemrc:

(attribute-promotion “enabledâ€);
(promote-invisible “disabledâ€) ; ⇠This one
(keep-invisible “enabledâ€)

Ajoutez à votre fichier gschemrc:

(promote-invisible “enabledâ€)

et vous verrez tous les attributs. Le mot « keep-invisible » gardera caché ceux des attributs qui sont cachés dans le fichier symbole.

Que dois-je faire à propos des broches d'alimentation sur mon symbole: Les rendre visible (explicites) ou invisibles (implicites)?

Dans le passé, les circuits numériques cachaient souvent leurs broches d'alimentation et en utilisant un attribut à l'intérieur du symbole. La pensée moderne est que c'est une mauvaise pratique bien que les guerres de religions font encore occasionnellement rage à propos de ce sujet).

Cela reste marginalement vrai pour les vieux circuits logiques d'avoir toutes des broches d'alimentation et de GND, en 5V TTL, cachées. Si vous n'avez que du +5V sur votre carte, cacher alors les broches d'alimentation +5V peut simplifier quelque peu votre schéma. Néanmoins, peut de concepteur dessinent de tels circuits de nos jours; 5V TTL (et 5V CMOS) sont devenues rapidement des technologies antiques.

Il a toujours été inacceptable de cacher les broches d'alimentation sur les circuits analogiques. D'abord, l'analogique a souvent de multiples connexions d'alimentation (VCC, VEE) qui ont explicitement besoin d'être dessinées. Ensuite, une bonne pratique de conception est de placer des capacités de découplage sur chaquet et toutes les broches d'alimentations. Quelques uns placent aussi une inductance en série avec l'alimentation. Comme ils doivent être insérés dans le schéma, cela est réalisé plus facilement en les attachant explicitement à une broche d'alimentation. C'est la raison pour laquelle on ne dedrait jamais utiliser des broches d'alimentaion cachées pour les symboles analogiques.

Les nouveaux circuits logiques utilisent souvent de multiples alimentations pour différentes sections logiques (OVDD, DVDD, etc). Il est aussi habituel d'avoir plusieurs familles logiques sur une seule carte (5V, 3.3V, etc.). C'est la raison pour laquelle est est mieux de placer et de câbler explicitement les broches d'alimentation sur le symbole. Les broches d'alimentation cachées sont un réservoir de désastre car vous pouvez facilement mal connecter un composant 5V sur un réseau 3.3V, par exemple.

Pour paraphraser Nancy Reagan: Dites simplement «·non·» aux broches d'alimentation.

Ceci étant dit, il peut encore être utile de détacher les broches d'alimentation de la partie fonctionnelle du du symbole. Pour ce faire, définissez un symbole d'alimentation séparé et donnez-lui le même refdes comme une partie fonctionnelle. Lancer gsch2pcb traitera la séparation correctement comme un seul composant. Comme ni gschem, ni gsch2pcb ne savent explicitement que le composant n'est complet qu'avec les deux symboles définis, vous aurez donc à le contrôler vous-même. Avec cette méthode, vous pouvez dessiner toutes les alimentation dans un coin du schéma où elles n'interfèrent pas avec les nets de signaux. Dans plusieurs cas, c'est plus avantageux avec les circuits analogiques.

Existe-t-il une spécification ou un manuel pour créer les symboles gschem? Où est-il?

Configuration/personnalisation de gschem

gschem est configurable de plusieurs manières qui peuvent être décrites ici. Jetez un oeil sur «·system-gschemrc·» pour des suggestions sur ce qui peut être fait d'autre.

Comment changer la taille par défaut d'un texte flottant?

Placez

(text-size 10)

dans votre gschemrc et replacez «·10·» avec votre taille favorite.

Comment je peux avoir une couleur fond différente?

Éditez le fichier system-gschemrc et au début du fichier, vous trouvezrez des lignes comme:

;
; Start of color section
;
; Load up a color scheme has a light (almost white) background
; Comment out the first line and comment in the second line for a
; dark (black) background.  The dark background is the original look.
;
(load (string-append gedadatarc "/gschem-darkbg")) ; dark background
;(load (string-append gedadatarc "/gschem-lightbg")) ; light background

Commentez la ligne darkbg (avec un ;) et décommentez la ligne lightbg. Cela vous donnera une couleur de fond blanche au lieu de noir. Il ajuste aussi toutes les autres couleurs pour être compatibles avec un fond lumineux.

Si vous voulez plus de contrôle sur les couleurs, veuillez éditer ${prefix}/share/gEDA/gschem-darkbg ou ${prefix}/share/gEDA/gschem-lightbg ou créez votre propre fichier et chargez-le dans le fichier system-gschemrc.

Un fond noir est préféré par plusieurs utilisateurs.

Avec les versions récentes de gscgem, vous pouvez aussi placer ceci dans gschemrc:

(load-from-path "../gschem-lightbg")

Impression/Sortie

Comment imprimer les schémas depuis le ligne de commande?

Notez que le script gschem-print.scm s'appelle désormais print.scm .
Dans Gentoo en particulier, il est placé en /usr/share/gEDA/scheme/print.scm .

Lancez le script gschem-print.scm créera le fichier Postscript qui est spécifié par la ligne de commande.

La ligne de commande ci-dessous crée un fichier Postscript depuis le fichier schéma (replacez MY_SCH avec le nom de votre schéma et GEDA_SCHEME_DIR avec le nom de votre répertoire où les fichiers schémas gEDA sont installés):

gschem -p -oMY_SCH.ps -sGEDA_SCHEME_DIR/gschem-print.scm MY_SCH.sch

Le script BASH ci-dessous, que j'ai nommé gschem-print, crée un fichier Postscript pour chaque fichier schéma spécifié sur la ligne de commande et place chaque fichier généré sur l'imprimante par défaut:

#!/bin/bash

# gschem options
# -oPS_FILENAME output to Postscript file PS_FILENAME
# -sSCRIPT_FILENAME run script SCRIPT_FILENAME
# -p autoplace windows

for name in $*
do
base=â€${name%.*}â€
gschem -p -o$base.ps -sGEDA_SCHEME_DIR/gschem-print.scm $base.sch
lpr -P$PRINTER $base.ps
done

Comment je peux sortie le postscript/PNG en couleurs?

Éditez le fichier system-gschemrc ou placez ce qui suit dans un fichier gschemrc (soit ~/.gEDA/gschemrc ou un fichier gschemrc dans le répertoire local depuis où vous invoquez gschem):

(output-color "enabled")      ; for color postscript output
(image-color "enabled")       ; for color PNG output (enabled by default)

Pour contrôler la couleur de fond du fichier PS, changez la ligne suivante soit avec gschem-darkbg (pour la couleur de fond par défaut en noir) ou gschem-lightbg (pour une couleur de fond alternative):

(output-color-background 16 "black" "null" "0 0 0" 0 0 0)

Les “0 0 0†sont les composantes RGB (entre 0..1) pour la couleur de fond de la sortie du PS.

Pour contrôler le fond de la sortie PNG, changez la ligne suivante soit en gschem-darkbg (pour la couleur de fond par défaut en noir) ou gschem-lightbg (pour une couleur de fond alternative):

(background-color 0 "grey94" "null" "1 1 1" 255 255 255)

Les 255 255 255 sont les composantes RGB pour la couleur de fond de l'image PNG.

Comment je peux avoir une sortie postscript/PNG en noir et blanc?

Pour les sorties PS en noir et blanc, placez ce qui suit dans un fichier gschemrc:

(output-color "disabled")      ; for monochrome postscript output

Pour les images PNG en noir et blanc, placez ce qui suit dans un fichier gschemrc:

(image-color "disabled")       ; for monochromoe PNG output

Comment j'insère des schémas dans mon document LaTex?

  1. Sortez le schéma dans un fichier. Cela sera un postscript générique (*.ps).
  2. Convertissez le fichier postscript en epsi avec l'outil ps2epsi. C'est un script de la suite ghostscript.
  3. Incluez usepackage{graphicx} dans le préambulz de votre document latex. Utilisez la commande includegraphics pour placer votre schéma.

Un exemple simple:

\documentclass{article}
\usepackage{graphicx}
\begin{document}
  \begin{image}
  \includegraphics[width=100mm]{ModulPID.epsi}
  \end{image}
\end{document}

Comment je scinde un fichier postscript en plusieurs pages?

gschem ne fournit pas cette fonctionnalité en interne; il existe néanmoins un programme appelé «·poster·» qui le réalise exactement. Il peut être téléchargé depuis soit ici (GNU), soit ici (KDE Print).

Problèmes d'installation/d'exécution de gschem

gschem segfaults lorsque j'efface des composants sur FC5 (et sur d'autres distributions Linux)! Existe-t-il une amélioration?

Ce bogue semble être apparu pour les utilisateurs de la Fedora Core 5 (et d'autres distributions linux qui utilisent glib 2.10.x). Le bogue a été réglé par les développeurs et il apparaîtra dans la prochaine version de gEDA/gaf.

A moyen terme, vous pouvez contourner ce bogue en plaçant la variable d'environnement G_SLICE à «·always-malloc·». Spécifiquement, avant de lancer gschem, faites ceci:

bash:

export G_SLICE=always-malloc

csh:

setenv G_SLICE always-malloc

Après l'installation, gschem ne fonctionne pas!? Que ce qui a pu aller mal?

Si vous lancez gschem et que vous avez une fenêtre sans barre de menu, sans couleurs et le programme s'arrête lorsque vous appuyez sur une touche avec le message suivant:

ERROR: Unbound variable: current-keymap

Ou vous avez une erreur tel que ceci:

Gtk-CRITICAL : file gtkpixmap.c: line 97 (gtk_pixmap_new): assertion `val != NULL’ failed.
Gtk-CRITICAL : file gtkpixmap.c: line 97 (gtk_pixmap_new): assertion `val != NULL’ failed.
Tried to get an invalid color: 0
Tried to get an invalid color: 7
Tried to get an invalid color: 0
Tried to get an invalid color: 7

alors gschem ne trouve pas de fichier rc. Il y a deux ficheirs rc nécessaires. Le premier est system-gschemrc et le second system-commonrc.

  • Le fichier rc system-gschemrc doit être installé lorsque vous installez gschem et réside typiquement dans ${prefix}/share/gEDA/system-gschemrc. ${prefix} est l'endroit où vous avez installé gschem (habituellement /usr ou /usr/local ou $HOME/geda). Ce fichier peut aussi être installé dans /etc/gEDA (c'est le cas des paquets .debs).
  • Le fichier rc system-commonrc devrait être installé lorsque vous installez la bibliothèque de symboles pour gEDA/gaf. Il réside dans ${prefix}/share/gEDA/system-commonrc. Ce fichier peut aussi être installé dans /etc/gEDA (c'est le cas des paquets .debs). Ce fichier n'est pas chargé directement par gschem. Il est chargé par un “(load …)†dans le ficheir rc system-gschemrc.

Assurez-vous que ces fichiers soient installés. Le fichier gschem.log (qui est créé à chaque fois que vous lancez gschem) contient des informations de déboguage intéressantes qui doivent aider dans la recherche de ce qui ne va pas. Contrôlez ce fichier pour voir où gschem cherche les fichiers rc.

Aussi, quelques anciennes versions de gEDA/gaf ont quelques bogues lorsque les fichiers rc files sont installés dans d'autres endroits (autres que ${prefix}/share/gEDA), veuillez donc le mettre à jour vers une version plus récente.

"Ajouter des Composants" ne proposent aucun symboles! Que puis-je y faire?

Assurez-vous qu'au moins un de vos fichiers de config contient un chemin valide vers une bibliothèque de symbole. Au démarrage, gschem contrôle les fichiers de de config suivants (sur un système Debian):

  1. fichier gafrc système: /etc/gEDA/system-gafrc
  2. fichier gafrc utilisateur: ~/.gEDA/gafrc
  3. fichier gafrc local: $PWD/gafrc
  4. fichier gschemrc système: /etc/gEDA/system-gschemrc
  5. fichier gschemrc utilisateur: ~/.gEDA/gschemrc
  6. fichier gschemrc local: $PWD/gschemrc]

Tous ces fichies de config peuvent ou non ajouter des chemins à la liste de recherche des bibliothèques. Si un fichier de config contient la commande

(reset-component-library)

Le chemin de recherche des bibliothèques sera vidé. L'ordre est évidemment important, comme cette commande effacera tout chemin précédemment ajoûté.

lepton-eda-1.9.10/docs/wiki/geda-xml_file_formats.html0000644000175000017500000001474413634703632017605 00000000000000

XML File Formats

This page is a starting point for discussions on using XML for commonality between gEDA applications.

One major goal of this effort is to provide advanced file format features while still maintaining backward compatibility with the existing file formats (and be able to bring an old design forward with ease if you wish).

Another main goal is to start addressing the Symbol Library Hacker task discussed at todos.

Yes, this effort is self concious because of can_we_change_geda_to_use_an_xml_file_format The concerns expressed there will hopefully be addressed as part of this effort to minimize the impact to existing file formats, and not tie up core developer time on this work. Specifically issues 2,3,4 and 5 are valid concerns, but they can be overcome with good design and a little bit of coding, especially if this is treated as a wrapper or evolution rather than a totally new file format.

While the initial version of the schema has both a large and small format for gschem files, it is assumed that the smaller will progress further to reduce the amount of “file bloat†associated with putting the files in this format.

While there are plenty of arguments for and against XML, it does provide one key feature that can be difficult to implement in a custom file format, and that is unification of the different data types each gEDA program expects with minimal impact to the existing programs. What this schema currently does is separately define gschem file formats and PCB file formats. The part schema then allows for both of these to be combined into a “part†file without change thus allowing for “heavy†parts containing both symbols and PCB elements. It will also allow for a project to be stored in a single archive file if the user so chooses. It thus provides a kind of wrapper functionality that maintains internal structure formats.

It also introduces file format validation making sure that the file is well-formed and also, using Schematron, makes sure that constraints on data in the file are checked. This can be a real plus for managing parts like on gedasymbols.org when files can be “easily†validated for format and content on upload with some perl code.

An initial git repository is at http://github.com/oblivian/geda-xml/tree/master

Right now it provides schema for gschem symbol and schematic files, and a PCB file format (adapted from parse.y). The part/part.xsd schema is for combining the individual schemas into a part format capable of both regular and heavy parts.

convert-symbol.pl (when it is done) will write a gschem symbol to the XML format. It also performs validation against the XML Schema itself and Schematron rules also stored in the schema files.

The XML Schema for gschem files provides for a “lightweight†file format that should allow for an overlay on the normal file reading routines in libgeda without modification.

So a line in gschem is represented as

<gs:l p=“200 800 200 200 3 0 0 0 -1 -1†/>

instead of

L 200 800 200 200 3 0 0 0 -1 -1

But the validation is handled by the XML parser rather than writing extra validation code.

The XML Schema makes sure the symbols are well-formed, and the Schematron makes sure the data is valid in the “p†attributes.

Work completed:

  • XML Schema for gschem, PCB and .xpart file format.

Work that needs to be done to get this effort really started:

  • Finish convert-symbol.pl.
  • Write XSLT to convert “xpart†file back to .sym/.fp format.

IP-Xact

IP-Xact (IEEE-1685] is an industry standard xml schema for packaging and distributing IP and could be adopted by gEDA for internal use as well. Its main advantage is that it uses a component name that is guaranteed to be unique and will never have name collisions with any other IP-Xact components in the world. Each component has a four field identifier called the VLNV ( Vendor name, Library name, Component name and Version) Vendors use a URL that they own for their vendor name and no other IP-Xact file in the world will use that same name.

The vendor name can also be the URL where the IP repository is available for download. Instantiating a VLNV with github.com, github username and user repo name not only identifies the repository but can automatically download it if it is not already in you local design environment.

IP-Xact allows for the creation of a geda namespace and the addition of any geda specific extensions through the use of <spirit:vendorExtensions>

lepton-eda-1.9.10/docs/wiki/geda-version_control_migration.html0000644000175000017500000001232413634703632021541 00000000000000

Version Control Migration

Status Quo

Currently, gEDA uses CVS. CVS is the “original†version control system used for collaborating on open source projects.

Unfortunately, CVS has a number of problems:

  1. CVS does not support the concept of patch sets. That is, it's very difficult to work out what changes went into CVS together without using dodgy tools like cvsps.
  2. Merging with CVS is painful, especially when there is keyword expansion brokenness such as the Log keyword.
  3. CVS doesn't support renames preserving history.
  4. The overhead involved in creating and managing a branch in CVS is such that people tend to do one of the following:
    1. Don't bother
    2. Use another VCS locally, then export patches, then commit patches to CVS. This is a big hassle for everyone.
    3. Do II. and use a branch in CVS, which is even more hassle, but means people can see the changes in advance.
  5. You can't do anything in CVS (view logs, view “blame†for a line of code, create diffs to previous versions) without being online & connecting to the repository.

What We Need

gEDA has a development process that involves a number of people working independently on separate changes. Some of these are a single changeset hacked together in a few minutes, some involve several major changes and are developed over a matter of months. Often, in order to track down a tricky bug, it is necessary for a developer to try and work out what a fellow developer did several months ago.

The following features would be deemed desirable in a version control system:

  1. Free as in beer as well as free as in speech.
  2. Actively developed/maintained.
  3. Atomic commits (a.k.a. changesets).
  4. All users have their own copy of the history.
  5. Users can make local branches/commits without being logged onto a remote server (“distributed†repository model).
  6. Merge & rename tracking.
  7. Easy to transition to from CVS.

Using the comparison matrix at Wikipedia, it looks like only Mercurial and git have the features we require.

A number of factors militate in favour of using git:

  • Existing experience within the the gEDA development community.
  • More extensively used by major projects (Linux kernel, X.org X server, OLPC, WINE).
lepton-eda-1.9.10/docs/wiki/geda-devel-tips.html0000644000175000017500000011545013634703632016323 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

gEDA Developer Tips, tricks and hints

Data Structure of a Schematic

Internally, a schematic in gaf is implemented by number of doubly linked lists. The central type linked in the lists is OBJECT. It can represent a symbol, a line of text, a drawing primitive, a net, or an attribute.

An overview of the data structure of a schematic can be retrieved here. The sketch was drawn in 2005 by Stuart Brorson.

Doxygen Comments and Styles

Doxygen is a tool which extracts API documentation from comments in the source code. Markup can be placed in the comments, which is then extracted and rendered to HTML or LaTeX by Doxygen. This allows e.g. one function to link to another related function, and permits arguments and return values to have documentation associated with them.

Some sections of the gaf source have already been doxyfied. Currently, this includes libgeda, gschem, gnetlist, gsymcheck and gattrib. The Makefile in the docs dir of these tools contains a target “doxygenâ€. Alternatively, you can browse the output of doxygen online on this site, made available by Bert Timmerman.

If you want to see Doxygen's ideas on how to format documentation see the Doxygen website. The individual commands are documented here. There is also a very handy Doxygen quick reference card.

The following sections provide an introduction on how gschem and libgeda are customarily documented. Note that the QT style of /*! comment goes here */ for a Doxygen-enabled comment is preferred.

Documenting Files

When starting a new file, you obviously need to have the normal GNU license text. After the GNU License you should include a file comment describing what the file is for and any other descriptions that apply to the whole file.

  /*! \file <filename.ext>
      \brief Put a brief summary of what this file is for...
      \par Description
      A lengthier description of what the file is for (this is optional).
   */

Documenting Variables/Defines/Typedefs

Global variables in a file can be documented using the \var command or by just writing a comment with a \brief command right before the definition.

  /*! \brief fill style of objects like cirle, rect, path */
  typedef enum {FILLING_HOLLOW, FILLING_FILL, FILLING_MESH, FILLING_HATCH, FILLING_VOID} OBJECT_FILLING;

Documenting Functions

Functions can be documented in the same way as Variables, etc… Just use a comment block above the function it is documenting and use a \brief command to start it.

Usually an additional Function Description paragraph is used for the lengthy description of the function's purpose. Also \param commands are used with the [in] or [out] attributes to document if the parameter will be modified by the function.

  /*! \brief "Save" a file into a string buffer
   *  \par Function Description
   *  This function saves a whole schematic into a buffer in libgeda
   *  format. The buffer should be freed when no longer needed.
   *
   *  \param [in] toplevel    The current TOPLEVEL.
   *  \param [in] object_list The head of a GList of OBJECTs to save.
   *  \return a buffer containing schematic data or NULL on failure.
   */

Structure Documentation

Structures are documented the same as in the previous sections. Note that comments on the structure members can be documented inline or using the same \brief syntax as variables. Inline documentation requires the special comment starting with /*!< at the end of the line it applies to.

  /*! \brief Structure for connections between OBJECTs
   *
   * The st_conn structure contains a single connection
   * to another object.
   * The connection system in s_conn.c uses this struct
   */
  struct st_conn {
    OBJECT *other_object; /*!< The "other" object connected to this one */
    /*! \brief type of connection. Always in reference to how the "other"
        object is connected to the current one */
    int type;
    int x; /*!< x coord of the connection position */
    int y; /*!< y coord of the connection position */
    int whichone; /*!< which endpoint of the current object caused this connection */
    int other_whichone; /*!< which endpoint of the "other" object caused this connection */
  };

Bug/Todo Commands

\bug and \todo are useful for notating where there are defects or missing features in the code. These commands can be used anywhere within the Doxygen comments, and generate entries on special pages in the documentation so that they can easily be referred to.

Dialogs: Design and Behaviour

Dialog Design

There's a nice document from the gnome guys called Gnome HIG. There are several suggestions on how to design dialogs and how they should behave.

The dialog design is mostly a matter of taste:

  • alignment of elements. See Window Layout
  • right alignment of dialog buttons
  • some spacing around the dialog (but how much?)
  • some spacing between the elements (vertical and horizontal)
  • option groups with frames or indentation?
  • frame labels or bold headlines?

Modal or Nonmodal dialogs

A modal dialog is required whenever the main application provides data for the dialog.

Example:
  The dialog is called with a selection list and the dialog only should operate on this selection.

A modal dialog is OK too, if the dialog is only called very seldom. The file open dialog could be nonmodal because it does not require any input from the application.

A modal dialog is not OK if there is a lot of user interaction with the dialog. The component selection is a good example.

Where to place the dialog

A dialog can be put on different places in on the screen. A list of possible places can be found in the GtkReference

The current dialogs are placed either on the mouse position (GTK_WIN_POS_MOUSE) or at no preset position (GTK_WIN_POS_NONE). The Gnome HID does not say anything about that topic.

The default setting is GTK_WIN_POS_NONE for GtkWindow see GtkWindow. The default for GtkDialog is GTK_WIN_POS_CENTER_ON_PARENT ( taken from the GtkDialog source).

Placing dialogs in front of their parent window

Most of the dialogs are placed in front of their parent window using the transient_for property (see. GtkReference). This property should be set for all modal dialogs.

For nonmodal dialogs the setting of transient_for property is not obvious. While in gschem for example the coord dialog should stay above the parent window, the log window does not need to stay in front of it.

Note: There is an older mechanism that keeps the the dialogs in front of gschem. If the raise-dialog-boxes-on-expose variable is set to enable in one of gschem's configuration files, it may cause problems with some window managers. If dialogs are flickering at 100% CPU load, then disable that setting.

; raise-dialog-boxes-on-expose string
;
; Controls if dialog boxes are raised whenever an expose event happens
; Default is enabled
;
;(raise-dialog-boxes-on-expose "enabled")
(raise-dialog-boxes-on-expose "disabled")

Button order in dialogs

Button order at the bottom of the dialog depends on which operating system the user is using. GTK handles this automatically, but requires the developers set the alternative button order. For more information, check the GTK documentation here.

The alternative button order is set with just one call to a GTK function:

/* Set the alternative button order (ok, no, cancel, help) for other systems */
gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog),
			                GTK_RESPONSE_OK,
					GTK_RESPONSE_NO,
					GTK_RESPONSE_CANCEL,
					GTK_RESPONSE_HELP,
					-1);

This should be done for every new dialog created, before running it.

Dialog design of the current dialogs

  • There is some space around the whole dialog (DIALOG_BORDER_SPACING).
  • Some indentation to show the topic group (DIALOG_INDENTATION) below it's bold headline.
  • The vertikal and the horizontal separation is done with DIALOG_H_SPACING and DIALOG_V_SPACING.

Source template for simple dialogs

This template is not intented to compile, but you can easily copy the code block that you need.

void dialog (TOPLEVEL *w_current)
{
  GtkWidget *vbox, *label, *alignment, *table;
  GtkWidget *dialog;
 
  /* only create the dialog if it is not there yet. This usually is a
     widget pointer in the w_current structure:
     dialog = w_current->tewindow */
  if (!dialog) {
    dialog = gtk_dialog_new_with_buttons(_("Dialog title"),
					 /* the parent window or NULL */
					 GTK_WINDOW(w_current->main_window),
					 /* dialog properties */
					 GTK_DIALOG_MODAL, /* 0 for nonmodal dialogs */
					 /* dialog buttons and response signals */
					 GTK_STOCK_CANCEL,
					 GTK_RESPONSE_REJECT,
					 GTK_STOCK_OK,
					 GTK_RESPONSE_ACCEPT,
					 NULL);
 
    /* Set the alternative button order (ok, no, cancel, help) for other systems */
    gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog),
	  				    GTK_RESPONSE_OK,
					    GTK_RESPONSE_NO,
					    GTK_RESPONSE_CANCEL,
					    GTK_RESPONSE_HELP,
					    -1);
 
    /* set default response signal. This is usually triggered by the
       "Return" key */
    gtk_dialog_set_default_response(GTK_DIALOG(dialog),
				    GTK_RESPONSE_ACCEPT);
 
    /* set the function for handling the button responses and dialog close
       for nonmodal dialogs you can use dialog_run() too.*/
    gtk_signal_connect(GTK_OBJECT(dialog), "response",
		       GTK_SIGNAL_FUNC(dialog_response), w_current);
 
    /* where to place the dialog: GTK_WIN_POS_MOUSE or GTK_WIN_POS_NONE */
    gtk_window_position(GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE);
 
    /* set the border spacing and the vbox spacing of the dialog */
    vbox = GTK_DIALOG(dialog)->vbox;
    gtk_container_set_border_width(GTK_CONTAINER(dialog),DIALOG_BORDER_SPACING);
    gtk_box_set_spacing(GTK_BOX(vbox), DIALOG_V_SPACING);
 
    /* create a label (with markup) and pack it into the dialog box */
    label = gtk_label_new(_("<b>Section label</b>"));
    gtk_label_set_use_markup(GTK_LABEL(label), TRUE);
    gtk_misc_set_alignment(GTK_MISC(label),0,0);
    gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
 
    /* create a alignment container with the DIALOG_INDENTATION on the left */
    alignment = gtk_alignment_new(0,0,1,1);
    gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0,
			      DIALOG_INDENTATION, 0);
    gtk_box_pack_start(GTK_BOX(vbox), alignment, FALSE, FALSE, 0);
 
    /* a table can store several entries. It is stored in the aligment container.
       Note: the vertical and horizontal cell spacings */
    table = gtk_table_new (3, 2, FALSE);
    gtk_table_set_row_spacings(GTK_TABLE(table), DIALOG_V_SPACING);
    gtk_table_set_col_spacings(GTK_TABLE(table), DIALOG_H_SPACING);
    gtk_container_add(GTK_CONTAINER(alignment), table);
 
    /* a simple text label in one table cell with left alignment.
       Note: the GTK_FILL in the third line is required */
    label = gtk_label_new(_("Text:"));
    gtk_misc_set_alignment(GTK_MISC(label),0,0);
    gtk_table_attach(GTK_TABLE(table), label, 0,1,0,1, GTK_FILL,0,0,0);
 
    /* a simple text entry completes the option row */
    textentry = gtk_entry_new_with_max_length (10);
    gtk_table_attach_defaults(GTK_TABLE(table), textentry, 1,2,0,1);
    gtk_entry_set_activates_default(GTK_ENTRY(textentry), TRUE);
 
    /* ..... more table rows with options, or new sections */
 
    /* create references to all widgets that you need later */
    GLADE_HOOKUP_OBJECT(dialog, sizeentry,"textentry");
 
    /* show all widgets recursivly */
    gtk_widget_show_all(dialog);
  }
 
  else {
    /* Dialog is already there. Present it to the user.
       This is only required if you have a nonmodal dialog */
    gtk_window_present(GTK_WINDOW(dialog));
  }
 
  /* always set the current values to the dialog
     If you're placing that part at the end of the dialog function you can
     easily create dialogs that can be called, even if they are already open */
  textentry = g_object_get_data(G_OBJECT(dialog), "textentry");
  gtk_entry_set_text(GTK_ENTRY(textentry), string);
  /* select the text region that the user usually likes to overwrite */
  gtk_entry_select_region(GTK_ENTRY(textentry), 0, strlen(string));
}

The response function for such a dialog may look like this:

void dialog_response(GtkWidget *widget, gint response, TOPLEVEL *w_current)
{
  switch (response) {
  case GTK_RESPONSE_ACCEPT:
    /* apply the dialog settings:
       just insert your code here if it is short
       call an extra apply function if the required code is long */
    break;
  case GTK_RESPONSE_REJECT:
  case GTK_RESPONSE_DELETE_EVENT:
    /* for modal dialogs just do nothing,
       for nonmodal dialogs, destroy the dialog and clean up */
    break;
  default:
    /* catch wrong signals signals (paranoid error checking ;-)) */
    printf("dialog_response(): strange signal %d\n", response);
  }
 
  /* for nonmodal dialogs just do nothing,
     for modal dialogs, always destroy the dialog and clean up */
}

Current Dialog Issues in Gschem

  • every dialog has it's own design
  • dialog placement: mouse position or no predefined position?
  • dialogs do not remember their last size, position and contents.
  • missing keyboard shortcuts

Here's a list of things that could be improved:

Print Dialog
  • change design?
Write Image
  • In the fileselect dialog the default filename is missing if the file does not exist
  • Return key does not work in the filename entry
Execute Script
Edit Text
  • some missing keyboard shortcuts
  • add *unmodified* tags if there are multiple selections
  • maybe add some color pixbufs for the color
  • maybe replace the text alignment with nine ratio buttons, toggle buttons with icons or …
Color Dialog
  • maybe add some color pixbufs for the color
Line Width and Type
  • keyboard shortcuts missing
  • icons for the line type
Fill Type
  • keyboard shortcuts missing
  • icons in the fill type
Translate Symbol
Page Manager
  • wrong button order? Depends on whether you think the refresh button is the main action button or just an extra button.
  • Maybe the “Return†key should trigger Refresh
Component Selector
  • strange edit widget when typing and the tree is selected (It's a search helper widget, disable it?!)
Single Attribut Editor
  • when multiple elements are selected and you call edit (ee) there are a few problems:
    • if the first object is text, then this dialog is opened (but with the wrong list parameter
    • if the first object is complex then the multiple attribute editor is called
Multi Attribute Editor
Add Text
Arc Params
  • add the diameter to the dialog, but select the start angle entry (increment = grid)
  • let “ee†call that dialog if only a single arc is selected
  • maybe add a section label
Insert Picture
Picture Replace
  • the new picture uses the aspect ratio of the old picture
  • the dialog has lots in common with the Insert Picture dialog. They could use some code together
Find Text
  • manipulates the mouse pointer (maybe the zooming code is the culprit). Just press “Return†to trigger a FindNext
  • if you select hierarchy and the found text is in a different schematic, then the filename in the title is not updated
  • maybe add an option: “Select all matching text objectsâ€, disable hierarchy for that feature!
  • FIXME gschem hangs if you use that dialog with hierarchical schematics that have dependancy loops (e.g. the autonumber test schematics)
  • add an option “search for visible text onlyâ€
  • maybe use regular expressions instead of the substring for the searchtext
Hide Text
  • use regular expressions instead of starting substring
Show Text
  • use regular expressions instead of starting substring
  • Maybe merge that dialog together with the “Hide Text†dialog
Autonumber Text
  • Maybe disable the skip option if the renumber scope is “selectionâ€. The other skip options (Page and Hierarchy) are really stupid.
Text Size
Snap Grid Spacing
Coord Dialog
  • maybe move the world coordinates to the main window status bar
About Dialog
Hotkeys
lepton-eda-1.9.10/docs/wiki/geda-faq-gsch2pcb.html0000644000175000017500000001276713634703632016516 00000000000000

Translations of this page are also available in the following languages: Français, РуÑÑкий.

gsch2pcb

Overview

gsch2pcb is a frontend to gnetlist that will automate the process of moving a design from gschem to PCB. It takes the footprint and part value information from your schematic (or set of schematics) and runs them thru the netlister. The end result is a set of files that, in PCB, are the basics of your design: the part footprints, the netlist that shows all of the connections from one part to another, the physical circuit board and whatever other physical information you included in your schematic as graphical objects (like board outlines).

gsch2pcb is included in gEDA/gaf. It is installed by default with gEDA/gaf. Run it from the command line with ./gsch2pcb.

gsch2pcb Resources

Where can I download gsch2pcb?

gsch2pcb is part of gEDA/gaf, in the utils. It is normally installed by default (along with everything else) if you install the entirety of gEDA/gaf. If you don't have it installed on your machine for some reason you can either download the whole gEDA/gaf tarball from:

or grab it directly from git at:

gsch2pcb can't find some of my footprints, or errors out. What can I do to diagnose my problem?

Try running gsch2pcb in double verbose mode: “gsch2pcb -v -vâ€. This will produce lots of spew telling you where gsch2pcb is looking while it tries to find footprints. It will also tell you where it does find the footprints it uses.

I don't like the default layer stack of gsch2pcb. How can I change this?

Edit $INSTALLDIR/share/gEDA/scheme/gnet-gsch2pcb.scm to reflect your preferred layer stack. In particular you may have to modify the line that defines the layer groups:

    (display "Groups(\"1,2,3,s:4,5,6,c:7:8\")\n" port) 

and the layer stack itself:

(lambda (port)
    (display "Layer(1 \"bottom\")\n(\n)\n" port)
    (display "Layer(2 \"bott.-poly.\")\n(\n)\n" port)
 ...
    (display "Layer(8 \"lineout\")\n(\n)" port)
    (display "Layer(9 \"ignored\")\n(\n)\n" port)
    (display "Layer(10 \"ignored\")\n(\n)" port)
    (newline port)))

Note, the last two layers will map to silk on both sides of the board. So you will have to define two more layers than you want for your copper layout.

lepton-eda-1.9.10/docs/wiki/geda-icarus_vpi_mp.html0000644000175000017500000001114113634703632017077 00000000000000

Compile front end for VPI modules man-page

iverilog-vpi(1)		 $Date: 2004/10/04 01:10:53 $	       iverilog-vpi(1)



NAME
       iverilog-vpi - Compile front end for VPI modules


SYNOPSIS
       iverilog-vpi [--name=name] sourcefile...


DESCRIPTION
       iverilog-vpi  is	 a tool to simplify the compilation of VPI modules for
       use with Icarus Verilog. It takes on the command line a list  of	 C  or
       C++  source files, and generates as output a linked VPI module. See the
       vvp(1) man page for a description of how the linked module is loaded by
       a simulation.

       The  output  is	named after the first source file. For example, if the
       first source file is named foo.c, the output becomes foo.vpi.


OPTIONS
       iverilog-vpi accepts the following options:

       -llibrary
	       Include the named library in the link of the VPI	 module.  This
	       allows VPI modules to further reference external libraries.


       --name=name
	       Normally,  the  output VPI module will be named after the first
	       source file passed to the command.  This	 flag  sets  the  name
	       (without the .vpi suffix) of the output vpi module.


       --install-dir
	       This flag causes the program to print the install directory for
	       VPI modules, then exit. It is a convenience  for	 makefiles  or
	       automated plug-in installers.


PC-ONLY OPTIONS
       The  PC	port of iverilog-vpi includes two special flags needed to sup-
       port the more intractable development environment. These flags help the
       program locate parts that it needs.


       -mingw=path
	       Tell the program the root of the Mingw compiler tool suite. The
	       vvp runtime is compiled with this compiler,  and	 this  is  the
	       compiler	 that  iverilog-vpi  expects  to  use  to compile your
	       source code. This is normally not needed, and if you do use it,
	       it  is only needed once. The compiler will save the path in the
	       registry for use later.


       -ivl=path
	       Set for the use during compilation the root if the Icarus  Ver-
	       ilog install. This is the place where you installed Icarus Ver-
	       ilog when you ran the installer. This flag is also only	needed
	       once, and the path is stored in the registry for future use.


UNIX-ONLY OPTIONS
       The UNIX version of iverilog-vpi includes additional flags to let Make-
       file gurus peek at the  configuration  of  the  iverilog	 installation.
       This  way,  Makefiles  can  be  written	that handle complex VPI builds
       natively, and without hard-coding values that depend on the system  and
       installation.   If  used	 at  all,  these options must be used one at a
       time, and without any other options or directives.


       --cflags
	       Print the compiler flags (CFLAGS or CXXFLAGS) needed to compile
	       source code destined for a VPI module.


       --ldflags
	       Print the linker flags (LDFLAGS) needed to link a VPI module.


       --ldlibs
	       Print the libraries (LDLIBS) needed to link a VPI module.


       -m32    On  64bit systems that support it (and support vvp32) this flag
	       requests a 32bit	 vpi  binary  instead  of  the	default	 64bit
	       binary.


       Example GNU makefile that takes advantage of these flags:

	   CFLAGS = -Wall -O $(CFLAGS_$@)
	   VPI_CFLAGS := $(shell iverilog-vpi --cflags)
	   CFLAGS_messagev.o = $(VPI_CFLAGS)
	   CFLAGS_fifo.o = $(VPI_CFLAGS)
	   messagev.o fifo.o: transport.h
	   messagev.vpi: messagev.o fifo.o
		iverilog-vpi $^


AUTHOR
       Steve Williams (steve@icarus.com)


SEE ALSO
       iverilog(1),	   vvp(1),	 <http://www.icarus.com/eda/verilog/>,
       <http://www.mingw.org>,


COPYRIGHT
       Copyright ©  2002 Stephen Williams

       This document can be freely redistributed according to the terms of the
       GNU General Public License version 2.0



Version			 $Date: 2004/10/04 01:10:53 $	       iverilog-vpi(1)
lepton-eda-1.9.10/docs/wiki/geda-ssan.html0000644000175000017500000004564613634703632015224 00000000000000

gEDA/gaf Switcap Symbols and Netlister

by: Dan McMahill

This document is released under GFDL

April 13th, 2003

Overview

This document describes the symbol library and gnetlist backend which supports driving SWITCAP simulations from the gEDA/gaf system. SWITCAP is a switched capacitor circuit simulator available from Columbia University. It is used in many classroom and research environments. One drawback to SWITCAP is the lack of a freely available schematic capture frontend. The gEDA/gaf SWITCAP symbol library and gnetlist backend tries to fill that gap.
The basic steps involved with using gEDA as the frontend for SWITCAP simulations are:

  1. Create schematics of the circuit.
  2. Create an analysis file.
  3. Extract the netlist.
  4. Run the SWITCAP simulation.
  5. Run sw2asc to extract the results.
  6. View the results with gwave.

Requirements

You will need the following programs to be installed:

  1. A recent version of gEDA/gaf. To see if your version is recent enough, see if the directory $prefix/share/gEDA/sym/switcap exists. $prefix is the installation prefix for gEDA on your system.
  2. SWITCAP. The executable is usually called sw. If you do not have SWITCAP available on your system, you will need to contact Columbia University to obtain a copy. The gEDA/gaf SWITCAP support was tested with SWITCAP Version A.5R Release 21-Sep-87.
  3. Although it is optional, you may wish to install a tool which can be used for plotting the output data. SWITCAP produces both ASCII data listings as well as ugly ASCII plots (note the release date of the version of SWITCAP used). Suitable tools are:
    1. Gwave. Gwave is an analog waveform viewer. It is fairly basic, but easy to use, includes cursors, and has zoom/pan features. See http://www.geda-project.org
    2. Scilab. Similar to matlab. Powerful, but no cursors or panning. See http://www-rocq.inria.fr/scilab
    3. Octave. Similar to matlab. See http://www.octave.org

Creating Schematics

Required Symbols

This section assumes you are familiar with using gschem to create and edit schematics. SWITCAP netlisting is only supported for the components contained in the SWITCAP symbol library as well as the ground symbol found in the 'power' library which comes with gEDA. All allowed SWITCAP elements except for subcircuits are supported. You must include the following elements on your schematic:

  1. One instance of the switcap-timing symbol. This symbol will set the master clock period for your simulations.
  2. One or more instances of the switcap-clock symbol. This symbol defines a clock with a particular phase and period. The reference designator of the clock symbol is used by the switches to set what phase they switch on.
  3. One or more instances of the switcap-analysis symbol. This symbol defines an analysis by specifying a file to include in the SWITCAP netlist. By including multiple instances of this symbol, multiple analysis files may be included.

Optional Symbols

You can also optionally add the following SWITCAP special symbols to your schematic:

  1. Zero or one instance of the switcap-title symbol. This will add a TITLE: line to the SWITCAP netlist and will appear in the output file.
  2. Zero or one instance of the switcap-options symbol. By editing the OPTIONS attribute on this symbol you can set the various options which can be passed to SWITCAP.

Net Names

When creating schematics to drive SWITCAP, you should name all nets that you wish to plot. To avoid possible conflicts with unnamed nets, you should avoid using purely numerical names for nets because all unnamed nets will be assigned (somewhat randomly) numbers without checking for possible conflicts with explicitly named nets. SWITCAP limits the length of node names to 7 characters.

Switches

When placing switches on your schematic, you will need to define which clock they are controlled with. This is done by setting the clock attribute on the switch to the reference designator of the clock which should control it.

Extracting the SWITCAP Netlist

To extract the SWITCAP netlist, run:

gnetlist -g switcap -o test.scn file1.sch [file2.sch ...]

For the example file contained in this archive, you can run:

gnetlist -g switcap -o example.scn ckt.sch clocks.sch analysis.sch

The netlist will be left in example.scn.

Running SWITCAP

I typically use something like:

printf "example.scn\nexample.out\n" | sw

so I can use command history to rerun SWITCAP without having to manually type the file names each time.
Refer to the SWITCAP manual for more details.

Appendix A -- Symbols in the Library

Capacitors (switcap-capacitor)

Ideal capacitor. Attributes:

  • C=capacitance. Required. Specifies filename to be included.
  • refdes=reference designator. Required. Must start with “C†and be unique.

Switches (switcap-switch)

Ideal switch. Attributes:

  • clock=Controlling clock. Required. Specifies which clock controls this switch.
  • refdes=reference designator. Required. Must start with “S†and be unique.

Independent Voltage Sources (switcap-vsrc)

Attributes:

  • refdes=reference designator. Required. Must start with “V†and be unique.

Dependent Voltage Sources (switcap-vcvs)

Attributes:

  • gain=gain. Required. Specifies the gain of the controlled source.
  • refdes=reference designator. Required. Must start with “E†and be unique.

Clock Specification (switcap-clock)

Attributes:

  • PSTART=starting clock phase. Required. Specifies on what phase of the master clock this clock turns on.
  • PSTOP=ending clock phase. Required. Specifies on what phase of the master clock this clock turns off.
  • PERIOD=clock period. Required. Specifies the period of the clock in terms of master clock cycles.
  • refdes=reference designator. Required. The switches that are controlled by this clock will refer to it by the reference designator. As such, avoid running any reference designator renumbering tools.

Master Timing Specification (switcap-timing)

Attributes:

  • PERIOD=clock period. Required. Specifies the period of the master clock in seconds.

Only a single instance of this symbol is allowed.

Analysis File Include (switcap-analysis)

This symbol will cause a specified file containing SWITCAP analysis commands to be included in the output netlist. Attributes:

  • file=filename. Required. Specifies filename to be included.

Simulation Title Specification (switcap-title)

Attributes:

  • TITLE=switcap title. Required. Specifies the TITLE line for the SWITCAP netlist.

Only a single instance of this symbol is allowed.

Simulation Options Specification (switcap-options)

Attributes:

  • OPTIONS=switcap options. Required. Specifies the OPTIONS line for the SWITCAP netlist. See the SWITCAP manual for allowed values.

Only a single instance of this symbol is allowed.

Example

This appendix provides a simple example of the entire process of generating a schematic, producing a SWITCAP netlist, running a simulation, and plotting the results.

switcap_figure1.jpg
switcap_figure2.jpg
switcap_figure3.jpg
switcap_figure4.jpg

Figure 5/6: Simulation Results - Transient MISSING

Example Schematics

Figure 1 shows the schematic of a simple switched capacitor circuit. Note that some switches, S1 and S3 for example, are controlled by CLK1 while others, S2 and S4 for example, are controlled by the complement of CLK1 (#CLK1).
Figure 2 shows the definition of a clock and the master clock. Here we define a master clock period (mcp) of 1.0 μs in the timing block. In the clock definition symbol, we define a clock called CLK1 that has a period equal to 1 master clock period (mcp). The phase of CLK1 turning on switches is 0 and the phase of CLK1 turning off switches is 3/8 mcp. Additional clock phases can be defined by creating more instances of the clock definition symbol.
Figure 3 shows an instantiation of the title block symbol which will cause “my title†to be used in the TITLE line in the SWITCAP netlist. Figure 3 also shows an instantiation of an analysis block which directs the netlister to include the contents of the file test.ana in the output netlist. Figure 4 shows the contents of the test.ana file.

Netlist the Design

To netlist the design, run:

gnetlist -g switcap -o example.scn ckt.sch clocks.sch analysis.sch

Run the Simulation

Run the simulation with:

printf "example.scn\nexample.out\n" | sw

Process the Results

Convert the SWITCAP output file to something gwave can read by running:

sw2asc example.out

Plot the Results

Start up the gwave program and load the first sinusoidal steady state result by running:

gwave example.out.SSS.1.asc

Drag the two waveforms onto the two waveform panels and change the x-axis to a log scale. Figure 5 shows the output. Start up the gwave program and load the transient result by running:

gwave example.out.TRAN.1.asc

Document Revision History

April 13th, 2003 Created switcap.tex
lepton-eda-1.9.10/docs/wiki/geda-csygas.html0000644000175000017500000032605413634703632015544 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

Circuit Simulation using gEDA and SPICE - HOWTO

Stuart Brorson
Electroniscript, inc.
sdb@electroniscript.com

5th January 2006

abstract
Linux will become an increasingly popular engineering platform in the future. Professional-quality CAD applications for circuit design are becoming available from programmers within the free-software community. For electronics, the gEDA suite is the preferred tool set for circuit design. Analog circuit simulation using SPICE is also now available on Linux. This HOWTO describes the design flow employed to perform SPICE simulations using gEDA tools on Linux.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 2 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You may obtain a copy of the GNU Free Documentation License from the Free Software Foundation by visiting their Web site (http://www.fsf.org/) by writing to: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 1).

Introduction

Modern engineering is a computer-intensive discipline. Like professionals in other engineering disciplines, electrical engineers and electronics designers are heavy users of all kinds of CAD software, including software for circuit design and simulation, as well as PCB and chip production. Electrical engineers have a special name for the CAD software they use: EDA, which stands for “Electronic Design Automationâ€. Under this rubric fall many different kinds of CAD software. For example, during the front-end stages of a design, an electrical engineer will use a program called a “schematic capture†package to enter his design into the computer. A schematic capture program is basically a specialized drawing program incorporating symbols used in creating a circuit design. After drawing his schematic, the electrical engineer may choose to simulate the behavior of his circuit in order to verify that his design will work as desired. The most popular program for this purpose is SPICE (Simulation Program with Integrated Circuit Emphasis), which was developed at Berkeley starting in the 1970s, and is widely available in multiple forms today. SPICE is now considered a fundamental engineering tool, and is an essential part of the repertoire of most practicing engineers.

The gEDA project is an open-source effort to create a GPL'ed EDA suite running on Linux. GEDA has developed to the point where the power and quality of the tools is quite high; using the gEDA suite, you can now create complex SPICE netlists (files) incorporating vendor model files. You can then use various simulators running on Linux to perform SPICE simulations of your netlists. The purpose of this document is to explain how to use the gEDA tools (typically running on GNU/Linux) to perform SPICE simulations. In particular, this HOWTO documents the usage of spice-sdb, which is an advanced backend for the gEDA netlister (gnetlist) used to create SPICE netlists. spice-sdb is bundled with the gEDA tool suite; if you have installed gEDA, you are ready to create SPICE netlists. This HOWTO also provides advice about using ngspice/tclspice and/or LTSpice to simulate a circuit netlisted with spice-sdb.

Target audience for this HOWTO

This HOWTO is not a tutorial about circuit design or SPICE simulation. Rather, it is designed to help the practicing engineer begin using gEDA to perform SPICE simulations on the Linux platform. Therefore, I assume that you are already familiar with electronic design, the mechanics of schematic capture using EDA tools, and SPICE simulation in general. I also assume that you are reasonably familiar with the GNU/Linux operating system and its development environment. Finally, I assume that you have already installed gEDA, and know how to use it. If you need to come up to speed on any of these subjects, further information is available at the following websites:

Acknowledgements

This document does not live in isolation. Several active members of the free EDA community were instrumental in helping me to create this HOWTO. First and foremost, Paolo Nenzi, the author of ngspice, took my original HOWTO and turned it into a LyX document which I could then make a DocBook. Thanks, Paolo, for helping with this HOWTO, and more importantly, thanks for all the great work on ngspice! Also at the top of the list stands Ales Hvezda, who is the driving force behind the gEDA project. Without Ales, none of this would have been possible; his contribution of gschem is invaluable. Thanks, Ales, for creating gEDA and distributing it worldwide under the GPL – you've started a revolution! Stefan Jones deserves a deep thank-you for his work on tclspice, and his gracious support and integration efforts when I submitted patches to the tclspice project. I should also thank W. Kazubski and S. Gieltjes – they wrote the original SPICE netlisters upon which I based gnet-spice-sdb.scm. I also want to thank Ken Healy for contributing the netlist sorting patch, and Peter Kaiser for pushing me to include some features useful for chip simulation. Peter also deserves thanks for writing some of the device-oriented sections of this document. Finally, I should acknowledge the contributions and suggestions I receive from readers of the geda-user e-mail list. The beauty of free software is that it encourages collaboration, which means that the end product is greater than what one individual could achieve alone.

The big picture: the design flow in gEDA

In EDA, the concept of “design flow†is important. GEDA is a suite of tools used to do electronic design – it is not a single application. “Design flow†refers to the order in which you use the tools to achieve your goal. Depending upon whether you are doing analog or digital design, designing boards or chips, the type of files required by the manufacturer of your boards, and a number of other factors, you will use different tools from the gEDA suite to achieve your goal.

A flow diagram of the gEDA design flow is shown in the figure below. The diagram shows a simple flow suitable for designing, simulating, and laying out PC boards. As can be seen, the simulation activity (blue blocks) is a loop. That is, you create your design and simulate it repeatedly until it behaves according to your desired specifications. The design flow used in gEDA. Shown under “simulation†are several different types of simulator available. In this HOWTO, we are interested only in the SPICE variants (e.g. ngspice, tclspice).

Overview of SPICE usage with gEDA

Conceptually, SPICE simulation in gEDA proceeds via the following steps:

  1. Creation and gathering of schematic symbols and SPICE model files. Often, the SPICE model files are obtained from your component vendor. You can generally find most models by checking the component vendor's website.
  2. Schematic capture using symbols and SPICE models created in step 1.
  3. Netlist generation from the schematic created in step 2.
  4. SPICE simulation of the circuit described by the netlist created in step 3.

These steps are illustrated by the blue boxes in the flow diagram above.

To create a SPICE netlist, the netlister (gnetlist) iterates through the entire schematic and looks at several parts of each component's symbol in order to create a blob of SPICE code. In general, each component can generate one or more lines of SPICE code. Component information needed by the netlister is held in two places:

  1. The symbol itself, in the device attribute, which is attached when the symbol is created, and is typically accessed through the symbol editor.
  2. In attributes manually attached to the component during schematic capture using gschem.

Since there are two places the netlister looks for information, you must make sure that the required information is available in both places.

Detailed design/simulation flow summary

The detailed steps required to design and simulate a circuit using gEDA look like this:

  1. Schematic symbol creation with correct device attribute. (Usually, the symbols have already been created with the correct device attribute, but if you are having problems, it doesn't hurt to check them.)
  2. Schematic capture using gschem.
  3. Assignment of SPICE attributes (value, model, file, type, etc.) to components using gschem or gattrib.
  4. Assignment of refdes using e.g. refdes_renum.
  5. Creation of netlist using: gnetlist -g spice-sdb
  6. Check netlist for correctness (manually open and inspect netlist).
  7. Run spice using a simulator such as LTSpice, ngspice, or tclspice.
  8. Plot/analyze results (often plotting/analysis tools are incorporated in the simulator).
  9. If you are not happy with your circuit's performance as revealed by simulation, go back to step 2, fix it using gschem and iterate.

The purpose of this HOWTO is to provide the detailed understanding necessary to successfully navigate this process.

Preliminary work: preparing your symbols and SPICE files

When you create schematic symbols for inclusion into your schematic, you must make sure that certain built-in attributes are correctly configured. The steps outlined below are done by editing the symbol itself using the symbol editor in gschem, or by editing the symbol file itself using a text editor.

Configuring your symbols

Identifying the component to the netlister

The SPICE netlister can recognize any particular symbol in two ways:

  1. The symbol's device attribute, and
  2. The symbol's refdes.

Both of these attributes are attached to the symbol when the symbol is created.

Each symbol has a device attribute attached to it. The device attribute is the first thing the netlister examines when processing the symbol. There are a number of devices which are native to the netlister, meaning that the netlister knows exactly how to deal with these types of devices. Native device types include RESISTOR, CAPACITOR, NPN_TRANSISTOR, etc. The entire list of native devices is present in Appendix A -- Native components and their attributes.

The device attribute is hidden during normal use of gschem. Most often, the symbol's creator has already given the symbol the correct device attribute. However, because the device attribute is hidden from the ordinary user, it can sometimes cause problems with SPICE netlist creation when it is set to an unexpected value. To view the device attribute, go into the symbol editor (select the symbol to edit, and do Hierarchy → down symbol), and turn on invisible attributes (Edit → show/hide inv text). If the device attribute is incorrect, you may change it by editing the symbol itself using a text editor.

If a symbol is not native (i.e. the netlister doesn't recognize it as a built-in type), the netlister relies upon the first letter of the refdes to determine how to process the symbol. The refdes prefix is also built into the symbol when it is created. Example refdes prefixes are R for resistors, C for capacitors, Q for transistors, etc. refdes prefixes correct for SPICE are listed in Appendix A -- Native components and their attributes. Note that relying upon the refdes to identify the component for SPICE is not foolproof – for example, the netlister cannot distinguish between NPN and PNP transistors based upon the refdes. Therefore, it is always best to use a native device in your symbols.

Setting the pin order

The netlister emits component pins in the order set by the pinseq attribute. Note that this is not the same as the physical pin location. To set the pinseq attribute, first determine the pin ordering you want. SPICE uses a specific pin order for many components, including diodes and transistors. For example, a bipolar transistor's pins listed in CBE order. Another example: if your symbol is meant to represent an IC modeled with a vendor's .subckt, the order of the connections to the subcircuit is set by the .subckt line in the file.

Once you know the order in which to emit the pins, simply set the pinseq attribute with the correct order for the part. This will ensure that the part's pins are emitted in the correct order.

Configuring your SPICE files

Files holding complicated SPICE models or other SPICE code may be incorporated into the final SPICE netlist by including appropriate symbols into the schematic. SPICE model files are usually obtained from component vendors. Dealing with these files is straightforward. However, some issues should be kept in mind when preparing models for use during schematic capture:

  • It is usually prudent to place these files into a dedicated directory distinct from the symbol directories.
  • Make sure that the SPICE files pin assignments correctly correspond to the pins as defined in the component's symbol! This is hard to over-emphasize. The order in which pins are listed in a .subckt file do not necessarily correspond to the physical pin ordering of the part. As described above, pins are emitted from the netlister in the order given by the pinseq attribute.
  • Make sure that the last character in a SPICE model file is a carriage return. If no carriage return exists, then the next component listed in the netlist may be placed on the same line as the last line of the SPICE model file.

Creating your circuit: schematic capture

Schematic capture is the process by which one uses a special-purpose drawing program to draw a schematic diagram of the circuit under design. In the gEDA environment, the schematic capture program is called gschem. I assume you already know how to use gschem. If not, consult the documentation available at the gEDA website: http://www.geda-project.org/. For the purposes of creating SPICE netlists, you must use gschem to attach attributes to components, and possibly also incorporate other SPICE directives into your netlist. After you are done with schematic capture, you create the SPICE netlist by running gEDA's netlister gnetlist on your design.

Gschem attributes for spice netlisting

There are several ways that spice attributes may be associated with a component using gschem. The way you choose to do this depends upon many factors, including the type of component, and the size and format of the SPICE model.

Component attributes and meanings

The following attributes are meaningful for SPICE netlisting, and may be attached from within gschem:

  • refdes: The reference designator of the component. Valid values depend upon the component type and are given in Appendix A.
  • value: For passives, this is the component value. For actives, this is the type (model no.) of the component (e.g. 2N3904, uA741). When a model for an active is instantiated separately from the component itself, the value attribute holds the name of the spice model.
  • model: This holds a one line spice model for the component.
  • file: This holds the name of a file. Typically, this is a file holding e.g. a SPICE .MODEL, .SUBCKT, or other SPICE code.
  • model-name: This holds the name of the spice model referred to in a .MODEL or .SUBCKT statement. model-name is mainly used to identify the spice model name in the symbol spice-model-1.sym. Active components should call out this name in the device attribute to associate the component with its particular spice model or subcircuit.
  • type: This specifies the type of component and is used by spice when interpreting the model parameters. Valid values depend upon the device being modeled.

refdes conventions

As a prerequisite to handling SPICE-related attributes, the SPICE netlister requires that all components must have a refdes attached to them. The refdes may be attached either by hand (which is laborious), or using the program refdes_renum included in the gEDA distribution.

Note that the first letter of the refdes must correspond to the appropriate letter for spice simulation. The refdes convention is given in Appendix A.

Passives

Basic passives

The most basic components which one encounters in SPICE are passive components like resistors and capacitors which have numeric values, but no other modeling attributes. In this case the following attributes must be filled in:

  • refdes: The correct refdes for the component.
  • value: For passives, this is the numeric value of the component (e.g. 100pF). For actives, this attribute may be filled in, but if no model attribute is available elsewhere in the schematic, the value is not used (in SPICE netlisting, anyway).

If only a refdes and value attribute are encountered, the netlister will write a single line into the output file.

Example resistor:
  • refdes = R2
  • value = 220

SPICE line generated: R2 0 4 220
(note that “0†and “4†correspond to the net nodes connected to the component, and are generated automatically by gnetlist.)

Example capacitor:
  • refdes = C22
  • value = 1UF

SPICE line generated: C22 4 23 1UF

Passives with additional attributes

Oftentimes, passive components have additional attributes attached to them for spice simulation. Examples of such attributes are temperature coefficients (for resistors) and initial conditions (for reactive components). These additional attributes may be incorporated into the SPICE file by simply attaching them to the component's model attribute. Specifically, the required attributes are:

  • refdes: Correct component refdes.
  • value: Numerical component value, as always.
  • model: One line string holding additional parameters, formatted as a valid SPICE string.

This string is placed after the component value in the line generated by gnetlist. Therefore, it is important to format the string placed in the model line to be valid SPICE code. Otherwise, you will risk causing the SPICE simulator to barf.

Example resistor:
  • refdes = R5
  • value = 1MEG
  • model = TC=0.001,0.015

SPICE line generated: R5 0 2 1MEG TC=0.001,0.015

Passives for semiconductor design

The values for resistors and capacitors are often given as dimensions in an ASIC design. SPICE takes from the technology library the typical value per square and calculates the actual value in Ohm or Farad by itself. Therefor the following attributes are required:

  • refdes: The correct refdes for the component.
  • model-name: corresponds to the model in the technology library.
  • w, l: dimensions of the device.

The technology library must be included with an .include line in the SPICE input file.

Example semiconductor resistor:
  • refdes = R6
  • model-name = rpoly
  • w = 3u
  • l = 100u

SPICE line generated: R6 0 5 rpoly w=3u l=100u

Example semiconductor resistor model:
  • model rpoly R rsh=300

This should be part of the technology library from your ASIC vendor.

Transistors and diodes

Transistors and diodes are generally accompanied by a device-specific model. Each model attempts to capture the detailed nonlinear dynamics of its particular device; otherwise, SPICE simulation is pointless. The SPICE model may be either a short, one-line string of parameters, or a multi-line set of SPICE parameters. A typical one-line parameter string is a short list of parameters describing a small-signal diode. Typical multi-line models come from component vendors, who often provide models for their components in a text file. Since there are two broad formats of SPICE information, there are two approaches to incorporating these parameters into the schematic:

One line string of SPICE parameters

To incorporate a one line string of SPICE parameters into the netlist, the following attributes must be attached to the component:

  • refdes: Correct component refdes.
  • value: The model number or part number of the component.
  • model-name: The name you wish to give the SPICE model. This is usually the model number or part number of the component. If you have already attached a value attribute to the component, this parameter is optional.
  • model: One line string holding additional parameters. Do not place the model parameters in parentheses – gnetlist will do this for you.
Example diode:
  • refdes = D5
  • model-name = 1N1004
  • model = IS=0.5UA RS=6 BV=5.20

SPICE lines generated: D5 2 6 1N1004 MODEL 1N1004 D (IS=0.5UA RS=6 BV=5.20)

SPICE model file

To incorporate a file-full of SPICE parameters into the netlist, the following attributes must be attached to the component:

  • refdes: Correct component refdes.
  • value: The model number or part number of the component.
  • model-name: The name you wish to give the SPICE model. This is usually the model number or part number of the component. If you have already attached a value attribute to the component, this parameter is optional.
  • file: The file name of the SPICE model which you wish to incorporate into the netlist. This file name may specify either a relative or an absolute path, but it is probably better to use an absolute path to avoid problems if you ever move your schematic directory.

Note that you need to make sure that the model name held in your SPICE model file is the same as the value or model-name attributes you attached to the component. It is also a good idea to verify that the pin assignments in the model file correspond to the pin assignments made by the component symbol.

Actives -- integrated circuits

Integrated circuits are incorporated into the netlist similarly to transistors and diodes. As such, you may incorporate the spice information either as a one-line parameter string, or as a model file.

One line string of SPICE parameters

To incorporate a one line string of SPICE parameters into the netlist, the following attributes must be attached to the component:

  • refdes: Correct component refdes.
  • value: The model number or part number of the component.
  • model-name: the name you wish to give the SPICE model. This is usually the model number or part number of the component. If you have already attached a value attribute to the component, this parameter is optional.
  • model: One line string holding additional parameters. Do not place the model parameters in parentheses – gnetlist will do this for you.

SPICE .MODEL or .SUBCKT file

To incorporate a file-full of SPICE parameters into the netlist, the following attributes must be attached to the component:

  • refdes: Correct component refdes. Note that if the file holds a .MODEL, the refdes should start with U; if the file holds a .SUBCKT, the refdes should start with X. The netlister checks for the file type and tries to “do the right thingâ€, but problems can arise if you don't follow this rule.
  • value: The model number or part number of the component.
  • model-name: The name you wish to give the SPICE model. This is usually the model number or part number of the component. If you have already attached a value attribute to the component, this parameter is optional.
  • file: The name of the file holding the SPICE .MODEL or .SUBCKT which you wish to incorporate into the netlist. This file name may specify either a relative or an absolute path, but it is probably better to use an absolute path to avoid problems if you ever move your schematic directory.

Note that you need to make sure that the model name held in your SPICE model file is the same as the value or model-name attributes you attached to the component. It is also a good idea to verify that the pin assignments in the model file correspond to the pin assignments made by the component symbol.

Independent sources

There are two independent sources: voltage sources and current sources. For incorporation into a SPICE netlist, they both work the same way. To incorporate an independent source into your SPICE netlist, do the following:

  1. Place the independent source on your schematic. (Do Add → Component → spice → <independent source name>.sym)
  2. Double click on the block and add/edit the following attributes:
    • refdes: V? or I?
    • value: A one line string in SPICE format describing the source.

Dependent sources

There are four dependent sources:

  • current controlled voltage source
  • current controlled current source
  • voltage controlled voltage source
  • voltage controlled current source

For incorporation into a SPICE netlist, they all work the same way. To incorporate a dependent source into your SPICE netlist, do the following:

  1. Place the dependent source on your schematic. (Do Add → Component → spice → <dependent source name>.sym). Appropriate symbol names are abbreviations of the source type (i.e. ccvs-1.sym, cccs-1.sym, vcvs-1.sym, and vccs-1.sym)
  2. Double click on the block and add/edit the following attributes:
    • refdes: H?, F?, E?, or G?. Correct refdes prefixes for each source are listed in Appendix A -- Native components and their attributes.
    • value: A one line string in SPICE format describing the source. Typically the value attribute represents the gain of the source given in appropriate measuring units.

Nullor

A nullor is an ideal element composed of a nullator and a norator. It has zero input resistance and infinite output resistance, as well as infinite current, voltage, transconductance and transimpedance gain and transmission parameters equal to zero. It is a universal active element, that is, ideally it can be used for implementation of any linear and nonlinear functions, if a suitable set of linear and nonlinear passive elements is available. In particular the nullor, resistors and capacitors form a complete set for linear circuits.

Depending on connections of the nullor terminals, the nullor can be used to analyze and synthesize real circuits, which is achieved by replacing of real opamps, current conveyors, amplifying triodes (vacuum tubes and transistors) with the nullor and a small set of passives reflecting their parameters. Nullor based ideal transistors have been successfully used in ac modeling for synthesis of various composite transistor configurations and composite transistors. Nullor based operational amplifier circuits have been used for filter implementations. There are also methods using the nullor for verification, automatic fault diagnosis, automatic biasing analog circuits and so on.

Nullor in SPICE

In the general-purpose circuit simulators which have no nullor model, the nullor element can be modeled using a dependent source with a large gain, for example 109. The controlled source can be of type VCVS, VCCS, CCVS, or CCCS; the choice depends on the sensitivity issue and what output you want to have. An infinite-gain controlled source of any of the four types of dependent sources is exactly equivalent to a nullor.

A three terminal nullor allows ac modeling of ideal transistors and other triodes. An ideal operational amplifier is realized by a voltage controlled voltage source having an infinite (actually, large enough) gain. Current conveyor (CCII) is equivalent to the already mentioned three terminal nullor.

Usually the nullor is used for simulation in AC small-signal analysis (in the frequency domain). When a negative feedback is used, the nullor can be used as an ideal opamp even in transient simulation (see the example below).

Nullor in gEDA

ngspice and gnucap have no special models for the nullor. Therefore to represent the nullor, the spice-sdb backend uses VCVS with a high gain.

To incorporate a nullor into your SPICE netlist, do the following:

  1. Place the nullor on your schematic. (Do Add → Component → spice → nullor-1.sym).
  2. Double click on the block and add/edit the following attributes:
    • refdes: N?
    • value: the voltage gain of the nullor, typically 1000Meg (not needed since geda-gaf 1.9.2)
Example: nullor
  • refdes=N1
  • value=1000Meg

SPICE lines generated:

E_N1 1 2 3 4 1000Meg
IMeasure_N1 3 4 dc 0
IOut_N1 1 2 dc 0

This code contains:

  • The controlled voltage source E_N1.
  • The voltage measuring current source IMeasure_N1.
  • The output current source IOut_N1.

So the nullor in gnet-spice-sdb is just a voltage controlled voltage source with two zero current sources connected to its input and output in order to prevent fails of the simulator program when the nullor input or output has no connections to anything.

Please note: after some experiments I (vzh) have found that the presence or absence of those current sources doesn't affect simulation and doesn't solve the mentioned issue in modern versions of ngspice. ngspice still outputs an error in the case where either the nullor input or its output is floating, that is, not somehow connected to the ground. To avoid such an error you can connect one of those nullor terminals to the ground using a high ohm resistor. gnucap always works well; however, in such a case the nodes not connected to the ground will have an arbitrary varying large voltage, so you have to measure not the potential on the separate nullor terminals but the voltage just across the input or the output.

If you want to make your own nullor component (with another type of sensitivity), you can use the controlled source symbol you want (one of vcvs-1.sym, vccs-1.sym, cccs-1.sym, ccvs-1.sym) and just change its value attribute to a large value, say 1000Meg.

Example schematic - summing amplifier

In this example, the nullor is used as a model of an ideal opamp.

Schematic file for gschem: summing.sch

Command file for simulation in gnucap and/or ngspice:

summing.cmd
.print tran v(nodes)
.tran .0001 1 0 >summing.dat

Note the >summing.dat thing in the command file. It is ignored by ngspice while gnucap uses it to output data to the specified file in the batch mode (using shell redirection would output gnucap prompt together with data, which is not what we want).

Command line to make netlist (note the sort_mode flag, we need it to make gnucap work right):

gnetlist -g spice-sdb -O sort_mode -o summing.net summing.sch

Command line to simulate using ngspice:

ngspice -b -r summing.dat summing.net

Command line to simulate using gnucap:

gnucap -b summing.net

Command line to see the output waveforms:

gwave summing.dat

SPICE components

Spice model block

In certain situations, you may wish to embed a spice model block directly into your schematic. This is done when you have several devices with a value attribute calling out for a spice model. Depending upon whether the spice block is one line or multi-line, you may embed the code in one of two ways:

One line SPICE model:
  1. Place a spice model block on your schematic. (Do Add → Component → spice → spice-model-1.sym)
  2. Double click on the block and add/edit the following attributes:
    • refdes: A?
    • model-name: model name (i.e. the model name used in the components being modeled)
    • type: One of the valid spice component types defined in the spice spec.
    • model: The corresponding one-line spice model
Multi-line SPICE model:
  1. Place a spice model block on your schematic. (Do Add → Component → spice → spice-model-1.sym)
  2. Double click on the block and add/edit the following attributes:
    • refdes: A?
    • model-name: model name
    • file: Name of file holding SPICE model code (i.e. .MODEL or .SUBCKT).

Include block

The include block places a .INCLUDE directive into your netlist.

  1. Place a spice model block on your schematic. (Do Add → Component → spice → spice-include-1.sym)
  2. Double click on the block and add/edit the following attributes:
    • refdes: A?
    • file: Name of file to include.

SPICE directive block

Placing a SPICE directive block into your schematic creates an arbitrary block of SPICE code in the netlist. The directive may be either statements held in a file, or a one-line string held in the value attribute. The netlister will simply dump the contents of the string or the file into your netlist verbatim. Examples of situations where this is useful include:

  • .TEMP statement
  • .IC statement
  • Other SPICE statements for which gschem has no symbol.

To place a SPICE directive on your schematic, do:

  1. Place a SPICE directive block on your schematic. (Do Add → Component → spice → spice-directive-1.sym)
  2. Double click on the block and add/edit the following attributes:
    • refdes: A?
    • file: Name of file to include.

Handling hierarchical models

In SPICE modeling, there are often situations where you wish to create a schematic representation of some particular component as a .SUBCKT, and then embed that component's model in a higher level schematic. A common example might be as follows: You are doing a microwave simulation, and want to use a capacitor model which includes parasitic inductances and resistances, as well as the capacitance. Capacitor manufacturers often supply a printed schematic showing a circuit topology incorporating parasitics, and specify values for the parasitics. You would like to draw the capacitor model using gschem, netlist it to create a .SUBCKT, and then use the .SUBCKT to model capacitors in a higher level schematic.

Since this kind of task is very common in SPICE simulation, gnet-spice-sdb now supports it (starting with rev 20030331). To create a lower level .SUBCKT and use it in a higher level schematic, do the following:

  1. Draw the schematic of the lower level component (e.g. the capacitor + parasitics) using gschem.
  2. On the lower level schematic, place a spice-subcircuit-LL block (spice-subcircuit-LL-1.sym). This alerts the netlister that the schematic is a Lower Level .SUBCKT. Attach the following attributes to the symbol:
    • model-name = cap_with_parasitics
      (Of course, “cap_with_parasitics†is the example we use here. Use your own model name in your schematic.) Upon netlisting, this schematic symbol will cause the netlist to insert â€.SUBCKT cap_with_parasitics†into the first line of the netlist file.
  3. On the lower level schematic, attach a spice-subcircuit-IO symbol (spice-subcircuit-IO-1.sym) to each IO net (i.e. connection to the upper level). Number the refdeses of the IO symbols in the same order as you would like the IO nets to be listed in the .SUBCKT line in the output file. (i.e. P1 = first, P2 = second, etc.)
  4. When you are done with the lower level schematic, netlist it in the usual way. For example, if your schematic is called cap_with_parasitics.sch, netlist it by saying:
    gnetlist -g spice-sdb -o cap_with_parasitics.cir cap_with_parasitics.sch

    This will dump the SPICE netlist into the file called “cap_with_parasitics.cirâ€. Visually inspect the .cir file to make sure that netlisting worked correctly.

  5. Next, create a symbol for the upper level schematic which will point to the .SUBCKT. Note that the symbol must have a refdes starting with the letter “Xâ€. To ensure that this happens, do the following:
    • Use gschem to draw the symbol. I usually draw a box around a model symbol to distinguish it from a normal component. Make any other annotations desired.
    • In the symbol, make sure that the pins are ordered identically to the order in which you have placed the pins in the .SUBCKT. This is done by editing the symbol with a text editor and setting the pinseq attribute. The netlister will output the pins in the order determined by the pinseq attribute.
    • Using a text editor, give the symbol a device attribute like “capacitor-modelâ€. Do not assign the symbol one of the native device types listed in the appendix! The goal is to create a symbol whose refdes starts with “Xâ€, and if the device is a recognized type, this will not happen.
    • Using a text editor, give the symbol the refdes attribute “X?â€
  6. Create the upper level schematic. Place your newly created symbol on the schematic as many times as required and wire up the schematic in the usual way.
  7. To point your symbol to the lower level .SUBCKT, double click on the symbol and set the following attributes:
    • file = cap_with_parasitics.cir
    • model-name = cap_with_parasitics
      as well as any other attributes required (e.g. refdes).
  8. Now netlist your upper level schematic the usual way. The contents of each .SUBCKT file is dumped into the main netlist. Inspect your netlist visually using a text editor to ensure that it is correct. It is a good idea to pay particular attention to the following:
    • Verify that the ordering of the nets connecting the upper level netlist to the lower level .SUBCKT is correct.
    • Make sure that the upper level model-name and the lower level model name (on the .SUBCKT declaration line) are the same.

Once the netlist is created, you may simulate your design using any SPICE simulator desired. Some simulators running on Linux are covered below.

SPICE netlist generation

Using gnetlist

Once the schematic is captured, a SPICE netlist can be generated running gEDA's command-line program gnetlist on the schematic files. gnetlist is architected in two sections: a front-end processor written in C which reads in the .sch file and creates from it an internal, generic representation of your design, and a back-end netlister written in SCHEME. Using this architecture, gnetlist is highly customizable; different SCHEME backends are used to write out different netlist formats. The beauty of this scheme (pun intended) is that gEDA users can easily write their own netlisters to suit their own applications. The back-end Scheme file which implements advanced SPICE netlisting is called gnet-spice-sdb.scm, and it lives in the ${PREFIX}/geda/share/gEDA/scheme directory.

gnetlist with spice-sdb is invoked from the command line in the following way: gnetlist [OPTIONS] -g spice-sdb filename1 … filenameN. Among other options described in the gnetlist User Guide, gnetlist supports using of backend specific options. A backend specific option can be enabled using the -O OPTION switch. The following specific options are available with spice-sdb:

  • include_mode: put .INCLUDE <filename> in output file instead of model file's contents
  • embedd_mode: force embedding of .include file contents
  • nomunge_mode: do not automatically correct component refdes
  • sort_mode: sort output netlist

Creating the netlist using gnetlist and spice-sdb

Creating a netlist from a schematic is easy. To generate a SPICE netlist, just do the following:

  • Save your schematic to <filename.sch>
  • Create the SPICE netlist by doing “gnetlist -g spice-sdb <filename.sch>â€. The output is a netlist held in the file output.net. Alternatively, if you wish to give your output file a different name, set the output name using the -o switch. For example:
    gnetlist -g spice-sdb -o amplifier.cir amplifier.sch

    takes the design schematic called “amplifier.sch†and outputs a SPICE netlist named “amplifier.cirâ€.

  • Inspect your SPICE netlist using a text editor. Verify that there are no missing attributes or other netlist problems.

Common netlisting problems

The following list attempts to catalog common problems with the netlist and the associated fixes:

  • ERROR_INVALID_PIN:
    This can happen if the symbol's pinseq attributes don't start at 1, or have gaps in the numbering. This must be fixed by editing the symbol itself in a text editor.
  • ERROR: In procedure caddr:
    This error is quite common. It usually occurs when you forget to add a mandatory attribute. To rectify the problem, try running gnetlist in verbose mode (gnetlist -v -g spice-sdb <filename.sch>). The netlister will stop processing and bomb out at the part with the missing attribute. Having therefore identified the offending part, you can re-open the schematic in gschem and fix the attributes.

Finally, remember that it is important to manually inspect your SPICE netlist prior to using it in simulation. Please keep in mind that the netlister is still “beta†quality, and some problems may still exist in netlist generation.

SPICE simulation

There are several options for doing SPICE simulations under GNU/Linux; I will highlight three:

  • LTSpice, which is a freeware SPICE simulator originally released by Linear Technologies as a component selection/design tool running under Windows. Because its SPICE engine is very fast and powerful, it has become a popular SPICE simulator amongst hobbyists and design engineers who prefer to use free tools. Originally written for Windows, LTSpice has been tweaked to run under GNU/Linux using wine; I recommend using it if you need a robust, professional-quality SPICE simulator.
  • Ngspice, which is the “official†SPICE simulator of the gEDA suite. Ngspice is a revival of the SPICE 3 code for Linux. It provides a simulation engine, a command-line driven front-end, and the capability to plot simulation results graphically under the X Windows System. Ngspice is Linux-native and open-source. It is the SPICE of choice for those who want to do SPICE simulations easily on Linux, or want to hack and improve SPICE's internals.
  • Tclspice, is a fork off the ngspice development path. Tclspice is a superset of ngspice which (in theory) exports the SPICE command set to a TCL API, allowing you to embed SPICE analyses into a TCL program. This is useful for automating a design optimization, amongst other things. Tclspice is the simulator to use if you are interested in advanced, scripted design.

There is also a GPL'ed simulator called gnucap, which is based upon (or is the descendant of) Al's Circuit Simulator (ACS). I haven't used it very much; information about gnucap is therefore TBD.

LTSpice

LTSpice was written by Mike Englehardt and others at Linear Technologies, and is given away by LinearTech as a design aid for engineers wishing to simulate the performance of LinearTech's switch mode power supply controllers. The package incorporates a schematic capture front end, fast and powerful SPICE engine, and the capability for plotting the results of many different types of SPICE analysis. Personally, I think the schematic capture front-end is hard to use and clunky; gschem knocks its socks off for ease of use and features. However, the SPICE engine and analysis stuff in LTSpice is simply great.

LTSpice was originally developed to run under Windows, but Mike has tweaked it so that it runs fairly well on GNU/Linux under wine. (Only the help menu system is broken – the rest of the package runs well). Another good feature of LTSpice is that it is well supported – Mike reads the newsgroup sci.electronics.cad regularly and is generally happy to help people who experience problems with it. Therefore, despite its Windoze heritage, I recommend LTSpice as a powerful, professional-quality simulation and analysis back end for gEDA.

Installation and configuration of LTSpice

To install and configure LTSpice, do the following:

  1. Download and install wine. I have had success using Wine-20030219. Later versions probably also work.
  2. Download LTSpice. It is available under http://www.linear.com/software under the name SwitcherCAD-III.
  3. Run the LTSpice installer under wine.

Running LTSpice with gEDA designs

LTSpice can read a file holding a gEDA SPICE netlist. I have had success doing LTSpice simulations in the following way:

  1. First of all, make sure that you are logged in as a normal user – Wine doesn't like to run when invoked by root.
  2. Create a file in your project directory called “Simulation.cmdâ€. In this file place your spice analysis commands (e.g. .OP, .AC, .DC, etc.)
  3. Place a SPICE include block into your schematic. For the file attribute, type in “Simulation.cmdâ€.
  4. Netlist your design.
  5. Create a link from your netlist output.net and a netlist in the directory in which SwCADIII lives. Make the netlist suffix .cir. For example:
    ln -s ${DESIGN_HOME}/output.net ${WINE_HOME}/.wine/fake_windows/Program Files/LTC/SwCADIII/MyDesign.cir
  6. Run LTSpice: cd into the directory where SwCADIII lives and say
    wine scad3.exe
  7. From the SwCADIII GUI, do: File → Open → (files of type netlist [.cir]), and select your file.
  8. Run the simulator by clicking on the run button, or doing: Simulate → Run.
  9. Select the variables to graph, and then click OK. SwCADIII does the rest of the work.

Naturally, it is very important to play around with LTSpice to understand how to use it effectively, but the above description should suffice to get you started.

Ngspice

Ngspice was started at the University of Rome “La Sapienza†by Paolo Nenzi as an attempt to create a GPL'ed version of the standard Berkeley SPICE version 3 by re-writing the entire SPICE package. Plans were also laid to create better, more robust computational algorithms for the simulation engine. More information is available at the ngspice website: http://ngspice.sourceforge.net/. In light of his lofty plans, what Paolo did, however, was a little different: He took the SPICE 3 code which had been floating around the internet for many years, refactored it, and hacked the build system so that it would compile using the normal GNU make procedure. This was a major achievement for which Paolo deserves great praise. Unfortunately, from the look of the webpage, development on ngspice seems to have ceased at the end of 2001. Indeed, development did slow down considerably after 2001, but recently Paolo has been working on ngspice again. He released the latest version, ngspice-rework-15, in February 2004. This version is available only on the Sourceforge download page; Paolo hasn't updated the rest of the project's website.

Installation and configuration of ngspice

I generally find it best to download, configure, and compile the source of ngspice instead of trying to install a binary package. That's the approach I outline here.

Downloading the source code

Get the latest distribution from: http://sourceforge.net/projects/ngspice. Make sure that you get the latest version for best performance and the most features. As of May 2004, the latest release is ngspice-rework-15. Install the source in the place you typically put your sources. I like to keep my gEDA sources in a separate directory, for example /usr/local/geda/sources/ngspice. You might adopt a similar system.

Extracting the source code

The source code you downloaded is distributed in a “tarballâ€, a compressed archive. You have to extract archived files by doing:

user@host:~$ cd <directory where you want to extract the source>
user@host:~sources$ tar -xvzf </path/to/package.tar.gz>
user@host:~sources$ cd <extracted dir>

At this point you are in the top level directory of ngspice. Read the usual files, like README, and INSTALL, to learn about the simulator and the installation process. Reading NOTES file is also a good idea; it holds information valuable if you want to hack or debug features present in ngspice.

Configuration and compilation of ngspice.

Ngspice uses the typical “configure && make && make install†sequence used by other GNU software. There are numerous configure time options available for ngspice. A complete listing with attendant documentation is TBD; the best way to see them all is to look at configure.ac itself. Many of the configure time options pertain to debugging the simulator, or are to enable experimental analyses. For newbies, three configure time options are worth mentioning:

  • --enable-xspice: This flag compiles in support for XSpice extensions. These extensions allow you to define devices whose behavior is given by arbitrary “code modelsâ€. Arguably, the most important code model is spice2poly, which is a model which translates SPICE2 style POLY constructs into an XSpice model usable by SPICE 3.
  • --with-readline: This flag compiles GNU readline support into ngspice, which means that you can use emacs-style key commands, as well as the arrow keys to move around in the command line interface (CLI). Without this feature, the command line interface can be hostile, meaning that if you make a mistake in typing a long command, you have no choice but to type it all over again. Paolo discourages use of the readline feature because it mixes GPL code (readline) with BSD code (ngspice), but he left the option open to other to decide for themselves how pure they wanted to be.
  • --prefix: This flag point to the base directory where you want your binaries to be installed.

Before you run configure, you should check the options you want to include, a brief description is given in appendix TBD. Once ready type:

user@host:~sources/<tld>$ ./configure --enable-xspice --with-readline  --prefix=/usr/local/geda <other configure options>

Of course, “--prefix=†should point to the place where you put your gEDA stuff. After issuing the command, your simulator is configured and ready to be compiled. Compilation is straightforward:

user@host:~sources/<tld>$ make && make install

As always, you will probably need to be root in order to install the packages in a public directory, in such case you should do:

user@host:~sources/<tld>$ make
user@host:~sources/<tld>$ su -c make install

Testing the installation

At this point, you should be able to use ngspice. You can test your installation by trying one of the test circuits held in the tests directory. I recommend running the TransImpedanceAmp test, since it tests the SPICE2 POLY functionality.

Using ngspice

Running ngspice is very simple. Just issue the command:

user@host:~$ ngspice filename.net

at the unix command prompt, and ngspice will load the SPICE netlist called filename.net into its workspace, and leave you at an ngspice command prompt. You can run the simulator by saying “runâ€. Your results will be stored in SPICE vectors for later printing or plotting. The command set available to you is documented at: http://newton.ex.ac.uk/teaching/CDHW/Electronics2/userguide/sec5.html#5.

To make use of the SPICE2 POLY codemodel, you need to load it into ngspice before you load your netlist. (If you load it after loading your netlist, POLYs in your netlist are not translated, and therefore won't be simulated correctly.) To load the codemodel, just say:

codemodel /usr/local/geda/lib/spice/spice2poly.cm

(or wherever you put your codemodels) at the ngspice prompt. Note that you must provide the absolute path to the location of the codemodel; ngspice isn't smart enough to look for it in any default locations. (Also note that you should specify the location where spice2poly.cm lives on your machine; the path above is for mine.)

A better way to read in the spice2poly codemodel is to include it in the ngspice initialization file, spinit. The initialization file lives in the directory /usr/local/geda/share/ng-spice-rework/scripts (or where ever you placed your gEDA installation). Other ngspice customizations may also be placed into the spinit file.

Tclspice

While the main branch of ngspice development hibernated in 2002, some friendly people at MultiGig Ltd. (http://www.multigig.com/) were busy developing a branch of ngspice which they called tclspice. Tclspice is a superset of ngspice in which much of the SPICE command set is exported as an API to TCL. The purpose of this is to facilitate scripting of SPICE analyses. This is a very powerful tool: With tclspice you can write a TCL script which runs a loop, tweaks component values, runs an analysis, and then evaluates the circuit performance with the tweaked components before looping again. Obviously, this ability can be used to perform automated, multi-dimensional circuit optimization. When complete, tclspice might possibly become a “killer-app†for open-source EDA.

Downloading, installing, and building tclspice

Tclspice's project homepage is at: http://tclspice.sourceforge.net/. The tclspice source lives at http://sourceforge.net/projects/tclspice. Download and installation of tclspice follow the same steps as those detailed for ngspice above. Since tclspice is a superset of ngspice, you can install ngspice alone from the tclspice sources if desired. To build the entire package requires a couple of extra steps. Here, I present a series of steps which will build both ngspice (the stand-alone, CLI driven program) and the TCL API from the tclspice source.

Before building tclspice, you need to have the following packages already installed:

  • TclX (tclx8.3.5 works for me.)
  • tclreadline (tclreadline-2.1.0 works for me.)
  • BLT for TCL (blt2.4z works for me.)
  • TCL/Tk (8.4.3. works for me)

If you don't have these packages already on your Linux box, you need to get and build them. Note that building TclX requires having the sources for TCL and Tk, so you will also need to get those sources if you don't have them installed already. I am running successfully with TCL/Tk 8.4.3, although 8.3.X versions are also supposed to work. Also, if you want to run spice in the background you need to recompile TCL and Tk to enable thread support if they haven't got it enabled already (redhat packages haven't).

Assuming you have downloaded and installed the additional packages mentioned above, the following steps will build both ngspice and the TCL API on your machine:

user@host:~sources/<tld>$ ./configure --enable-xspice --with-readline  --prefix=/usr/local/geda
user@host:~sources/<tld>$ make && make install (this makes and installs regular old ngspice)
user@host:~sources/<tld>$ ./configure --enable-xspice --prefix=/usr/local/geda --enable-tcl --enable-experimental --disable-shared
user@host:~sources/<tld>$ make tcl && make install-tcl

As always, you will probably need to be root in order to install the packages in a public directory, in such case you should do:

user@host:~sources/<tld>$ su -c make install
user@host:~sources/<tld>$ su -c make install-tcl

to install your packages. Now you will be ready to write TCL scripts which incorporate SPICE commands. Information about using tclspice is given below. Finally, if you are interested in hacking tclspice (or even if you are not), it's a good idea to read the NOTES file living in the top source directory for a couple of useful pointers.

Use of tclspice

Tclspice is designed to export SPICE commands to TCL programs. To use tclspice, you just need to say “package require spice†at the beginning of your TCL program. Thereafter, to invoke a SPICE command, you just call it in the spice namespace. For example, the following TCL program will read in a SPICE netlist, command a transient analysis, run the simulation, and then plot the voltage observed over time on net Vout:

#! tclsh
package require spice
spice::codemodel /usr/local/src/tclspice-0.2.12/src/xspice/icm/spice2poly.cm
spice::source netlistname.cir
spice::tran 0.1ns 40ns
spice::run
spice::plot Vout
puts "All done now!"

Note that since tclspice doesn't read the ngspice initialization file spinit, you will need to put any initialization commands directly into the TCL program. For example, in the above example we read the spice2poly codemodel directly into the workspace. Many other commands are also available; the entire tclspice commandset is documented at: http://tclspice.sourceforge.net/docs/tclspice_com.html.

Tclspice problems

A major problem with tclspice (which was inherited from ngspice) is that it leaks memory. Therefore, the time over which you may run a simulation is limited. This means that if you want to do an optimization by looping through a circuit many, many times, you may run out of memory before your program has completed its optimization. This is a known issue with tclspice, and efforts are underway to plug the leaks.

Meanwhile, there are some workarounds which can be used on moderate-sized designs to facilitate long optimization runs. One method I have employed is to have the optimizer write its current state into a file after every circuit analysis, and read its starting state from the same file. The optimizer also stores the current list of best components in another file, and reads this file at the start of every run. Then, I have a TCL program called TaskMgr.tcl which runs in a loop; at each iteration of the loop it forks a child process to run the optimizer. Meanwhile, the parent process waits for 5 minutes (a heuristically determined time), and then issues a “KILL†signal to the child before looping and starting the optimizer again. This way, the optimizer never runs long enough to consume all the memory in my machine. The TaskMgr.tcl program is shown here:

#! tclsh
package require Tclx
while {1} {
  set PID [fork]
  if {$PID} {
    # Parent
    after 300000
    puts "About to kill child PID = $PID . . . ."
    kill $PID
    wait $PID
  } else {
    # Child
    source Optimize.tcl
    # If we ever get through this, we can print out the following:
    error "We are done now!!!!!!"
  }
}

Note that TaskMgr.tcl needs the TclX package you already installed to run tclspice. Also, you may want to change the wait time to a different value depending upon the memory and speed of your machine. Finally, the parent has to wait on $PID because that causes the child process's corpse to be taken off the Linux kernel's task list when it dies. Otherwise, you will end up with a lot of zombie processes lurking around your machine as the optimizer runs – a long optimization could turn your system into “the night of the living deadâ€!

This method of waiting a specific amount of time for the child process is preferable if a single analysis run takes a relatively short time compared to the time required to eat all memory in the machine. If the analysis time is comparable to the time taken to eat all memory in the machine, a better approach is to have the parent keep track of the analysis state, kick off a single analysis run, and then have the run terminate after every iteration. Whether this is preferable depends upon the size and complexity of your design; you may want to experiment with your analysis to see just how long it takes and how much memory it consumes. I have found that a design comprised of six op amps (with corresponding vendor models) and 50 or so passives will run in under 10 seconds on a PIII 333MHz with 128MB RAM. Therefore, your design must be very big before a single analysis will eat a significant amount of RAM.

Appendix A -- Native components and their attributes

Presented in table 1 are the devices and associated attributes used with spice-sdb. Bold faced attributes are required, normal typeface attributes are optional. Note that the device attribute is invisible, and is normally attached to the symbol when it is created. The other attributes are attached to the symbol during schematic capture using gschem.

When dealing with simple actives (diodes, transistors) having SPICE models held in files, you only need to set the model-name and file attributes; you don't need to set the model attribute. However, if your simple active has a one-line SPICE model which you wish to enter directly into the schematic, then set the model and model-name attributes; you don't need to set the file attribute.

Table 1: Attributes required for SPICE netlisting

device refdes value model file model-name type Comment
RESISTOR R? (4) (2) - Name of model - (11)
CAPACITOR C? (4) (3) - Name of model - (11)
POLARIZED_CAPACITOR C? (4) (3) - Name of model - (11)
INDUCTOR L? (4) (3) - Name of model - (11)
SPICE-ccvs H? (5) - - - - Current controlled voltage source
SPICE-cccs F? (5) - - - - Current controlled current source
SPICE-vcvs E? (5) - - - - Voltage controlled voltage source
SPICE-vccs G? (5) - - - - Voltage controlled current source
SPICE-nullor N? (15) - - - -
DIODE D? Part number One line SPICE model Model file name Name of model - (12)
PMOS_TRANSISTOR M? Part number One line SPICE model Model file name Name of model - (12)
NMOS_TRANSISTOR M? Part number One line SPICE model Model file name Name of model - (12)
PNP_TRANSISTOR Q? Part number One line SPICE model Model file name Name of model - (12)
NPN_TRANSISTOR Q? Part number One line SPICE model Model file name Name of model - (12)
PFET_TRANSISTOR J? Part number One line SPICE model Model file name Name of model - (12)
NFET_TRANSISTOR J? Part number One line SPICE model Model file name Name of model - (12)
MESFET_TRANSISTOR B? Part number One line SPICE model Model file name Name of model - (12)
IC U? Part number - .model file name Name of model - For IC with .model file
IC X? Part number - .subckt file name Name of .subckt - For IC with .subckt file
model A? - One line SPICE model .model file name (9) (10) (12)
include A? - - .include file name - - (13)
options A? (8) - - - - (14)
directive A? (1) - - - - (12)
VOLTAGE_SOURCE V? (6) - - - - Independent voltage source
CURRENT_SOURCE I? (7) - - - - Independent current source

(1) One line string holding SPICE statements for inclusion in netlist
(2) One line of SPICE model parameters (e.g. TC, etc.)
(3) One line of SPICE model parameters (e.g. IC, POLY, etc.)
(4) Component numeric value
(5) String describing source behavior
(6) One line string holding voltage source behavior
(7) One line string holding current source behavior
(8) line of options to include
(9) Name of model pointed to by other components
(10) Corresponding SPICE model type (valid types given below)
(11) Model parameters are placed inside parentheses after component value
(12) For modeling, one must include either model or file
(13) Places .INCLUDE directive in SPICE netlist
(14) Places .OPTIONS directive in SPICE netlist
(15) A large enough gain value, e.g. 1000Meg; it is not required in the recent geda-gaf versions (since 1.9.2)

“Native to the netlister†means that there is a corresponding blob of scheme code which knows exactly how to handle these components and is guaranteed (almost) to generate correct spice code. Symbols having “device†attributes not on the above list are handled using the scheme function “spice-sdb:write-default-componentâ€, which looks at the refdes of the component to make a decision about how to treat the component. In general, this function will “do the right thing†when generating spice code, but it is not guaranteed. In particular, this function cannot distinguish between N and P type transistors, and will generate an <unknown> type for the .MODEL string in the netlist. This will probably cause your SPICE simulator to barf. Therefore, it is best to make sure that all devices used have the proper “device†attribute.

Appendix B -- Valid "type" values

The “type†attribute is a flag signaling the spice engine the component type, and prepares it to accept model parameters specific to that component type. The following values are valid SPICE “typeâ€s:

Table 2: Valid “type†attributes for components

Component “type†Comment
RESISTOR RES
CAPACITOR CAP
POLARIZED_CAPACITOR CAP
INDUCTOR IND
DIODE D
PMOS_TRANSISTOR PMOS
NMOS_TRANSISTOR NMOS
PNP_TRANSISTOR PNP
NPN_TRANSISTOR NPN
PFET_TRANSISTOR PJF
NFET_TRANSISTOR NJF
MESFET_TRANSISTOR -
1) This HOWTO is released under the GNU Free Documentation License thanks to the generosity of Electroniscript, inc. The most recent copy can always be found at http://www.brorson.com/gEDA/HOWTO/
lepton-eda-1.9.10/docs/wiki/geda-gschem_ug-extensions.ru.html0000644000175000017500000002700213634703632021025 00000000000000

РаÑширение функциональноÑти gschem

Так как файлы наÑтроек gschem предÑтавлÑÑŽÑ‚ Ñобой Ñкрипты на Ñзыке Scheme, в них заложена возможноÑть раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ñти gschem Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ñ‹Ñ… функций обработки объектов и Ñтраниц.

Ð’ gschem (и других утилитах gEDA/gaf, таких как, например, gnetlist) Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñти напиÑÐ°Ð½Ð¸Ñ Ñкриптов на Scheme иÑпользуетÑÑ Guile Scheme, и в раÑпорÑжении разработчика оказываютÑÑ Ð²Ñе возможноÑти Ñзыка Guile. Справочное руководÑтво по Guile [Guile Reference Manual] можно найти либо в формате Info (info guile на большинÑтве ÑиÑтем), либо в формате HTML на веб-Ñтранице Guile.

Ð”Ð»Ñ Ð´Ð¾Ñтупа к объектам и Ñтраницам gEDA и Ð´Ð»Ñ Ð¸Ñ… Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐµÑ‚ÑÑ Ð½Ð°Ð±Ð¾Ñ€ модулей, называемый gEDA Scheme API. ЕÑть и Справочное руководÑтво по Scheme в gEDA [gEDA Scheme Reference Manual] в формате Info (info geda-scheme).

Добавление дейÑтвиÑ

ДейÑÑ‚Ð²Ð¸Ñ â€” Ñто отложенные вычиÑÐ»ÐµÐ½Ð¸Ñ [thunks], то еÑть процедуры Scheme, не принимающие аргументов. Чтобы программа gschem могла их найти, они должны быть определены в верхнеуровневом модуле, поÑтому Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´ÐµÐ¹ÑÑ‚Ð²Ð¸Ñ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð¾ предпринÑть один из Ñледующих шагов:

  • определить процедуру непоÑредÑтвенно в одном из Ñвоих файлов наÑтроек;
  • определить процедуру в Scheme-файле, загружаемом (Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ load) из одного из файлов наÑтроек;
  • или ÑкÑпортировать процедуру в модуле Guile, который загружаетÑÑ (Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ use-modules) из файлов наÑтроек.

Затем как обычно — Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ global-set-key — процедуру можно будет привÑзать к Ñочетанию клавиш.

Перехват вÑтроенных дейÑтвий

gschem позволÑет региÑтрировать функции, называемые функциÑми перехвата [hooks], которые должны выполнÑтьÑÑ Ð¿Ñ€Ð¸ выполнении пользователем вÑтроенной функции. ВозможноÑть работы Ñ Ð½Ð¸Ð¼Ð¸ предоÑтавлÑетÑÑ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¼ Guile (gschem hook). Более подробную информацию об Ñтом Ñм. в разделе Hooks в gEDA Scheme Reference Manual.

Процедуры Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð² раÑширений

Ð’ дополнение к функциÑм gEDA Scheme API, в gschem Ð´Ð»Ñ ÑƒÐ´Ð¾Ð±Ñтва разработчиков раÑширений предуÑмотрено неÑколько вÑпомогательных процедур.

Ðет гарантии, что функции, приведённые в Ñтом разделе, не будут менÑтьÑÑ Ð² поÑледующих верÑиÑÑ… gEDA/gaf. Ð”Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ ÑтабильноÑти в долгоÑрочной перÑпективе иÑпользуйте только gEDA Scheme API.

Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ ÐžÐ¿Ð¸Ñание
gschem-print ЭкÑпорт в выходной файл в формате PostScript (Ñм. раздел Печать), Ð¸Ð¼Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ либо задаётÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ключа командной Ñтроки -o, либо, еÑли данный ключ не задан, уÑтанавливаетÑÑ Ð² значение по умолчанию, определённое в Ñамой функции.
gschem-postscript ИМЯ_ФÐЙЛРЭкÑпорт PostScript в файл ИМЯ_ФÐЙЛÐ.
gschem-image ИМЯ_ФÐЙЛРЭкÑпорт Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ (Ñм. раздел ЭкÑпорт изображений) в выходной файл, указанный Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ ключа -o, или, еÑли данный ключ не задан, в файл ИМЯ_ФÐЙЛÐ.
gschem-exit Ðемедленный выход из gschem. Внимание: еÑли у Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð±Ñ‹Ð»Ð¸ неÑохранённые Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² Ñхемах, возможноÑти их Ñохранить у него уже не будет.
gschem-log СООБЩЕÐИЕ ЗапиÑать СООБЩЕÐИЕ в журнал gschem.
gschem-msg СООБЩЕÐИЕ Открыть информационное диалоговое окно Ñ Ñ‚ÐµÐºÑтом СООБЩЕÐИЕ.
gschem-confirm СООБЩЕÐИЕ Открыть диалоговое окно Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ñ ÐºÐ½Ð¾Ð¿ÐºÐ°Ð¼Ð¸ «Да» [«Yes»] и «Ðет» [«No»] и текÑтом СООБЩЕÐИЕ. Возвратить #t, еÑли пользователь выберет «Да», или #f в противном Ñлучае.
gschem-filesel СООБЩЕÐИЕ ШÐБЛОРФЛÐГИ Открыть диалоговое окно выбора файла Ñ Ñ‚ÐµÐºÑтом СООБЩЕÐИЕ в заголовке и уÑтановленным по умолчанию именем файла ШÐБЛОÐ. ФЛÐГИ управлÑÑŽÑ‚ поведением диалогового окна выбора файла, и должны быть ÑпиÑком Ñтрок. Ð’ ÑпиÑке ФЛÐГИ можно задавать Ñледующие Ñтроки: "may_exist", еÑли допуÑкаетÑÑ, что выбранный файл уже ÑущеÑтвует; "must_exist", еÑли выбранный файл уже должен ÑущеÑтвовать; "must_not_exist", еÑли выбранный файл ещё не должен ÑущеÑтвовать; "save" Ð´Ð»Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð° диалогового окна ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°; "open" Ð´Ð»Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð° диалогового окна Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°.
lepton-eda-1.9.10/docs/wiki/geda-faq-attribs.fr.html0000644000175000017500000003051113634703632017064 00000000000000

Autres langues: English РуÑÑкий

Génération de BOM (Bill Of Materials)

J'ai créé un nouveau dessin. Comment je crée une BOM?

Il existe plusieurs manières d'exporter une BOM depuis votre dessin car il existe des extensions de gEDA. En fait, il existe 5 ou 6 interfaces différentes à gnetlist qui vous permet d'exporter une BOM. C'est la raison pour laquelle, il est facile pour le débutant d'être perturbé sur l'approche à utiliser. Une raison, bonne simple et raisonnablemant complète est celle-ci:

  • Créer un fichier appelé «·attribs·» dans votre répertoire de projet. Dans ce fichier, placez chaque attribut dont vous voulez exporter les valeurs sur une ligne séparée. Vous avez un exemple ici:<xterm>value

Mfr Mfr_PN Vendor Vendor_PN</xterm>

  • Netlistez votre schéma en utilisant la commande suivante:

    gnetlist -v -g bom2 -o MyDesign.bom MyDesign.sch

    Notez que le drapeau -v fournira une sortie bavarde, vous indiquant ce qui entre dans gnetlist lors de son lancement. Cela peut être utile si vous avez besoin de diagnostiquer un problème avec le netlisting.
  • Avec cette commande, gnetlist sauvegardera une BOM dans le ficheir «·MyDesign.bom·». Les éléments de la BOM seront séparés en utilisant un caractère «·:·» (deux points). Vous pouvez alors lire ce fichier avec un tableur. Assurez-vous d'importer la BOM comme un fichier .csv et spécifiez le caractère «·:·» comme séparateur.

Plusieurs autres méthodes pour créer des BOM existent. Peut-être que d'autres geda-users posteront leur méthode favorite ici?!?!?

DRC

Comment je contrôle mes schémas?

Vous pouvez contrôler votre schéma en utilisant le programme de gnetlist drc2. Il vérifiera votre schéma pour les erreurs les plus habituelles, comme la duplication des références, les broches non connectées, les slots inutilisés et bien plus.

Lancez le programme drc2 avec la commande suivante:

gnetlist -g drc2 -o MyDesign.drc MyDesign.sch

Avec cette commande, la sortie DRC est écrite dans le ficheir «·MyDesign.drc·». Vous pouvez alors voir ce fichier avec un éditeur de texte et visualiser les avertissements et erreurs de DRC.

Comment je peux voir la sortie de DRC à l'écran, sans l'écrire dans un fichier?

Lancez drc2 avec la commande suivante:

gnetlist -g drc2 -o - MyDesign.sch

De cette manière, vous verrez la sortie DRC directement sur votre écran.

Je veux désactiver quelque uns des contrôles de DRC du schéma. Comment faire?

drc2 est hautement configurable. Vous devez placer quelques commandes spéciales dans un fichier et utiliser l'option «·-l·» de gnetlist.

Les commandes les plus habituelles sont:

  • (define dont-check-non-numbered-parts 1) ;; Disable the non-numbered parts check
  • (define dont-check-duplicated-references 1) ;; Disable the duplicate references check
  • (define dont-check-one-connection-nets 1) ;; Disable the check for nets with only one connection.
  • (define dont-check-pintypes-of-nets 1) ;; Disable the pintype check
  • (define dont-check-not-driven-nets 1) ;; Disable the driven net check
  • (define dont-check-unconnected-pins 1) ;; Disable the unconnected pins check
  • (define dont-check-duplicated-slots 1) ;; Disable the duplicated slots check
  • (define dont-check-unused-slots 1) ;; Disable the unused slots check
  • (define dont-check-slots 1) ;; Disable slot number check
  • (define action-unused-slots #\w) ;; Output an unused slots as a warning
  • (define action-unused-slots #\e) ;; Output an unused slots as an error
  • (define action-unused-slots #\c) ;; An unused slot is OK.
  • (define case_insensitive 1) ;; Do all checks case insensitive

Il y a d'autres commandes avancées pour modifier la matrice DRC et le type de broche qui peut piloter un net. Voyez le fichier «·gnet-drc2.scm·» avec un éditeur de texte. Au début, vous y avez la documentation de disponible.

Copiez les lignes ci-dessus que vous voulez dans un fichier (par exemple «·drc_rules.txt·»), une par ligne etlancez le contrôleur de drc:

gnetlist -g drc2 -l drc_rules.txt -o MyDesign.drc MyDesign.sch

Avec cette commande, la sortie de DRC est écrite dans un ficheir «·MyDesign.drc·». Vous pouvez alors visualiser ce fichier avec un éditeur de texte et voir les avertissements et les erreurs de DRC.

Puis-je inclure le contrôle de DRC dans un Makefile et stopper lorsque des erreurs ou des avertissements sont trouvés?

Oui. drc2 renverra une erreur s'il y a des erreurs ou des avertissements, donc vous pouvez ajouter ce qui suit dans votre Makefile:

$(objects).drc : $(objects).sch
          gnetlist -g drc2 $(objects).sch -o $(objects).drc

Si vous devez simuler votre dessin, vous pouvez alors ajouter ce qui suit à votre Makefile:

$(objects).cir : $(objects).sch $(objects).drc
          grep -v ERROR $(objects).drc >/dev/null 2>&1
          gnetlist -g spice-sdb $(objects).sch  -o $(objects).cir

Sinon, utilisez l'exemple ci-dessus et adaptez-le à votre propre workflow.

Il y a quelques avertissements sur mon schéma que je connais. Puis-je les ignorer dans la return value?

Utilisez l'option «·-O ignore-warnings-in-return-value·»:

gnetlist -g drc2 -o - MyDesign.sch -O ignore-warnings-in-return-value

Faites attention! Vous allez rater tous les avertissements·!

Gestion d'attribut

Au secours! Mon schéma a des centaines de composants et c'est pénible d'utiliser gschem pour attacher tous mes attributs!

Ici, la réponse est l'utilitaire de gEDA/gaf, «·gattrib·». Gattrib est un éditeur d'attribut pour gEDA. Il lit votre(s) fichier(s) .sch et crée une feuille de calcul montrant tous les composants, nets et broches en ligne, avec les attributs associés listés dans les colonnes. Gattrib vous permet d'ajouter, modifier ou effacer les attributs depuis l'extérieur de gschem puis de sauvegarder les fichiers .sch. Vous avez une capture d'écran:

faq_attrib.jpg

Notez que gattrib est la réponse actuelle du Projet gEDA à la question des symboles lourds. Ceci étant, au lieu de mettre tous les attributs (tels que les fichiers de modèle SPICE, les noms d'empreintes, les numéros d'éléments des fabricants et le reste), vous êtes encouragés à mettre cette information dans votre schéma en utilisant gattrib, où il est visible et facilement manipulable avec gattrib.

Lors de l'utilisation de gattrib, assurez-vous de d'abord quitter gschem. Gattrib et gschem sauvegardent tous les deux le travail dans le même fichier, donc vous ne devez avoir qu'un programme fonctionnant au même moment pour éviter les conflits. Il n'y a pas (encore) de mécanisme de vérouillage dans gEDA/gaf, cela reste donc de votre responsabilité.

Comment savoir que nom d'empreinte utiliser pour le placement avec PCB?

lepton-eda-1.9.10/docs/wiki/geda-format_translation.ru.html0000644000175000017500000005034013634703632020576 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

Преобразование разных форматов файлов друг в друга

Ðам нужна универÑÐ°Ð»ÑŒÐ½Ð°Ñ ÑиÑтема Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð¾Ð² Ð´Ð»Ñ Ñ‚Ñ€Ð°Ð½ÑлÑции изменений между вÑеми Ñовременными и возможно будущими ÑредÑтвами gEDA, а также Ñторонними программами, которые, вероÑтно, могут иÑпользоватьÑÑ Ð²Ð¼ÐµÑте Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°Ð¼Ð¸ gEDA.

ОграничениÑ

Поддерживать вÑе возможные преобразованиÑ, безуÑловно, ÑмыÑла нет. ПоÑтому ограничимÑÑ Ñовременными и возможно будущими ÑоÑтавлÑющими gEDA и Ñторонними программами, которые, вероÑтно, могут иÑпользоватьÑÑ Ð²Ð¼ÐµÑте Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°Ð¼Ð¸ gEDA. РазумеетÑÑ, Ð´Ð»Ñ Ñ€Ñда программ преобразование форматов не имеет ÑмыÑла и поддерживатьÑÑ Ð½Ðµ должно.

Ð˜Ð´ÐµÑ ÑоÑтоит в иÑпользовании промежуточного формата. Сначала транÑлировать в него, затем — из него. Промежуточный формат должен быть доÑтаточно выразительным, чтобы его можно было без потерь транÑлировать в формат любой программы gEDA и обратно.

«Без потерь» значит, что файл, полученный в результате транÑлÑции должен работать так же, как и иÑходный. Ðе обÑзательно ÑохранÑть форматирование и прочие незначительные вещи.

Ð’Ñе форматы Ð´Ð»Ñ Ñ‚Ñ€Ð°Ð½ÑлÑции в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ ÑоÑтоÑÑ‚ из ÑпиÑков объектов Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ рода Ñтруктурированием. Каждый из объектов имеет Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸ атрибуты.

Это наводит на мыÑль об иÑпользовании в качеÑтве промежуточного одного из возможных Ñтандартных форматов ÑпиÑков Ñоединений.

Ðиже раÑÑматриваютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ те форматы, что ÑоответÑтвуют указанной модели.

ЕÑли возможно, хорошо бы, чтобы выбранный формат уже применÑлÑÑ ÐºÐ¾Ð³Ð´Ð°-либо по крайней мере Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… из указанных целей, а также имел Ñтороннюю, опубликованную и Ñвободно доÑтупную Ñпецификацию.

Должны быть ÑпоÑобы Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ из любого иÑточника/Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð±ÐµÐ· ÑÐ¼ÐµÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ñ… чаÑтей.

ИнÑтрументарий, требующий поддержки

  • принципиальные Ñхемы
  • топологичеÑкие Ñхемы
  • моделирование

Программы gEDA

Ð”Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð¾Ð² файлов данных программ нужно преобразование без потерь, поÑтому может потребоватьÑÑ Ð¿Ñ€Ð¾Ð¼ÐµÐ¶ÑƒÑ‚Ð¾Ñ‡Ð½Ñ‹Ð¹ формат Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ….

  • gschem
  • pcb
  • gnucap
  • Icarus Verilog

Другие Ñвободные программы, которые должны полноÑтью поддерживатьÑÑ

Эти программы тоже Ñвободные. Ðужен Ñтандарт Ð´Ð»Ñ Ð¸Ñ… поддержки на равных правах Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°Ð¼Ð¸ gEDA.

  • NGspice
  • Qucs
  • Kicad
  • Magic
  • Electric
  • Xcircuit
  • Fritzing

Импорт и ÑкÑпорт неÑвободных форматов

Поддержка форматов данных программ позволит программам gEDA наилучшим образом взаимодейÑтвовать Ñ ÐºÐ¾Ð¼Ð¼ÐµÑ€Ñ‡ÐµÑкими ÑредÑтвами. Ðужна Ð±Ð°Ð·Ð¾Ð²Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ñть, но преобразование не обÑзательно должно быть без потерь. Преобразование без потерь должно быть возможным, но не ÑвлÑетÑÑ Ð³Ð»Ð°Ð²Ð½Ñ‹Ð¼ приоритетом Ð´Ð»Ñ Ñ„Ð°ÐºÑ‚Ð¸Ñ‡ÐµÑкой реализации ÑредÑтв транÑлÑции.

  • Eagle
  • Orcad
  • LTspice
  • Pads

ОтÑутÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ñть gEDA

ÐадеемÑÑ, при наличии ÑиÑтемы Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð¾Ð² у Ð½Ð°Ñ Ð¿Ð¾ÑвитÑÑ Ð±Ð°Ð·Ð° Ð´Ð»Ñ Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ñледующих вопроÑов:

  • Обратное аннотирование изменений, Ñделанных в топологичеÑких Ñхемах и файлах моделированиÑ, в принципиальные Ñхемы.
  • Ðнализ ÑтатичеÑких временных диаграмм.
  • Моделирование целоÑтноÑти Ñигналов поÑле Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð³Ð¸Ð¸ платы.
  • Сравнение топологичеÑкой и принципиальной Ñхем.
  • ИÑпользование одной и той же Ñхемы Ð´Ð»Ñ Ð²Ñего проекта целиком.

Явно не поддерживаютÑÑ

  • ПоÑтроение графиков
  • Команды
  • ПоведенчеÑкое моделирование

Общее предÑтавление

Ð’Ñе форматы ÑоÑтоÑÑ‚ из ÑпиÑков объектов Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñми и атрибутами.

Традиционно Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° данными иÑпользовалиÑÑŒ ÑпиÑки Ñоединений, но традиционный подход подразумевает одноÑтороннее преобразование, поÑкольку при Ñтом терÑетÑÑ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ.

Формат должен передавать ÑущноÑть Ñодержимого не обÑзательно таким же образом, как родной формат программы или её внутреннее предÑтавление.

Ðе обÑзательно транÑлировать те чаÑти, что обычно уже имеютÑÑ Ð² библиотеках или Ñпецифичны Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ программы, такие как модели, Ñимволы или поÑадочные меÑта.

Каждый из претендентов на роль возможного формата должен поддерживать преобразование в любой другой и обратно без потерь.

Возможные форматы

SPICE

ПопулÑрный формат ÑпиÑка Ñоединений. ИÑпользовалÑÑ Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° данными, но пока не применÑлÑÑ Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ñ„Ð¸Ð·Ð¸Ñ‡ÐµÑкого раÑположениÑ. Проблемы: неправильный ÑинтакÑиÑ, недоÑтаточно выразителен. Эти проблемы годами не давали Ð¿Ð¾ÐºÐ¾Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ°Ð¼. Формат нравитÑÑ Ð¿Ð¾Ñ‡Ñ‚Ð¸ вÑем, за иÑключением тех, кто хорошо его знает.

Verilog

Структурное подмножеÑтво предÑтавлÑет Ñобой хороший формат ÑпиÑка Ñоединений. Он правилен, доÑтаточно выразителен и Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ опубликован Ñтандарт. ИÑпользовалÑÑ Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° данными, но пока не применÑлÑÑ Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ñ„Ð¸Ð·Ð¸Ñ‡ÐµÑкого раÑположениÑ.

VHDL

Структурное подмножеÑтво предÑтавлÑет Ñобой хороший формат ÑпиÑка Ñоединений. Он правилен, доÑтаточно выразителен и Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ опубликован Ñтандарт. ИÑпользовалÑÑ Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° данными, но пока не применÑлÑÑ Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ñ„Ð¸Ð·Ð¸Ñ‡ÐµÑкого раÑположениÑ.

Spectre

Структурное подмножеÑтво предÑтавлÑет Ñобой хороший формат ÑпиÑка Ñоединений. Он правилен, доÑтаточно выразителен, но принадлежит одной компании (Cadence), поÑтому его иÑключаем. ИÑпользовалÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ.

XML

XML — Ñто на Ñамом деле не формат, а ÑинтакÑиÑ. Ðа оÑнове XML можно Ñделать хороший формат, но примеров такого в подобном контекÑте пока не наблюдалоÑÑŒ. СинтакÑÐ¸Ñ Ñ…Ð¾Ñ€Ð¾ÑˆÐ¾ документирован, но никакой Ñторонней документации по его применению Ð´Ð»Ñ Ð¿Ð¾Ñ…Ð¾Ð¶Ð¸Ñ… целей нет.

ПредÑтавление физичеÑкого раÑположениÑ

Это единÑтвенный вид применениÑ, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ ни Verilog, ни VHDL Ñерьёзно не иÑпользовалиÑÑŒ.

Идеи:

  • Ð¡Ð¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð¶Ðµ ÑвлÑÑŽÑ‚ÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°Ð¼Ð¸ Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñми и атрибутами. Ð¡Ð¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÑŽÑ‚ значение в любом контекÑте.
  • Положение в Ñхеме может раÑÑматриватьÑÑ ÐºÐ°Ðº объект Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñми и атрибутами (place).
  • Контактные площадки, Ñоединители, термоплощадки, переходы, … — вÑÑ‘ Ñто тоже объекты Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñми и атрибутами.
  • Чтобы отделить разделы, имеющие значение только в определённом контекÑте, можно иÑпользовать директиву 'define (Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° Verilog).
  • Формат должен быть опиÑанием выÑокого уровнÑ. Такое предÑтавление должно быть повÑюду. То еÑть речь не должна идти о линиÑÑ…, прÑмоугольниках и окружноÑÑ‚ÑÑ….
  • ЕÑли нужно, линии, прÑмоугольники и окружноÑти тоже могут быть объектами, но не транÑлируемыми, так как они не имеют Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² других ÑитуациÑÑ….
  • Ðтрибуты, не имеющие значениÑ, молча игнорируютÑÑ. Имеющие значение в одном контекÑте, но не имеющие в другом, игнорируютÑÑ Ñ‚Ð°Ð¼, где не имеют ÑмыÑла.

ПриложениÑ

Как один из возможных вариантов раÑÑмотрим формат Verilog.

СамоÑтоÑтельной единицей будет модуль (module):

module my-module(connections);
// contents
endmodule

Каждый объект в ÑпиÑке имеет ÑовмеÑтимый ÑинтакÑиÑ:

type #(attributes) name (connections);

Пример:

resistor #(.r(1k)) r123 (a, b);
resistor #(.r(1k)) r234 (.p(b), .n(c));

«r» предÑтавлÑет Ñобой Ð¸Ð¼Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°. «1k» — Ñто значение (Ñтрока).

Ð’ первом примере ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÑÑŽÑ‚ÑÑ Ð¿Ð¾ порÑдку. Во втором их ÑоответÑтвие выводам определÑетÑÑ Ð¿Ð¾ÑредÑтвом имён. Узел «b» подключен к выводу «p», а узел «c» — к выводу «n».

Соединение («net») тоже ÑвлÑетÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð¼.

Ð’ вышеприведённом примере оба резиÑтора непоÑредÑтвенно подключены к узлу «b». Подключение в принципиальной Ñхеме непоÑредÑтвенно не задаётÑÑ, Ð´Ð»Ñ Ñтого иÑпользуетÑÑ Ñоединение («net»):

resistor #(.r(1k)) r123 (.p(a1), .n(b1));
resistor #(.r(1k)) r125 (.p(b2), .n(c2));
net b (.1(b1), .2(b2));

Ð˜Ð¼Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ â€” «b». Ðтрибутов Ñоединение не имеет.

Теперь Ð´Ð»Ñ Ñхемы нужно добавить узлы:

place #(.x(1222), .y(3438)) place11333 (b1);
place #(.x(4334), .y(8433)) place34894 (b2);
place #(.x(9393), .y(4232)) place49334 (a1);
place #(.x(2932), .y(2384)) place34983 (c2);

ЧаÑти, применÑемые только в определённом контекÑте, могут включатьÑÑ Ñелективно поÑредÑтвом 'ifdef:

module my_circuit;
  'ifdef SCHEMATIC
    place ...
    place ...
  'endif
   res ...
   res ...
   net ...
endmodule

Сложные ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ группироватьÑÑ Ð² ÑамоÑтоÑтельные Ñлементы:

module net23842 (1,2,3);
  net n23482 (1,2);
  net n84333 (2,3);
  'ifdef SCHEMATIC
    place ...
    place ...
    place ...
  'endif
endmodule
module net9393 (1,2);
  net #(.color(blue), .thickness(thin)) n38423 (1,2);
endmodule
lepton-eda-1.9.10/docs/wiki/geda-mcalc_readme.ru.html0000644000175000017500000000426313634703632017267 00000000000000

Эта Ñтраница доÑтупна также на Ñледующих Ñзыках: English

mcalc README

$Id: README,v 1.1 2001/08/16 11:19:01 dan Exp $

ЧТО ЭТО?
------------

mcalc - Ñто калькулÑтор Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð°/Ñинтеза микрополоÑковых линий,
напиÑанный на JavaScript. Он проÑтой и довольно точный. ТочноÑть раÑчёта
волнового ÑÐ¾Ð¿Ñ€Ð¾Ñ‚Ð¸Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾ где-то в пределах процента, что значительно
превоÑходит упрощённые формулировки, которые можно найти во многих
учебниках.


КÐК ЕГО УСТÐÐОВИТЬ?
--------------------

Чтобы уÑтановить Ñтот пакет, проÑто Ñкопируйте вÑе файлы архива в каталог
уÑтановки.

Чтобы иÑпользовать пакет, в браузере Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ JavaScript надо проÑто
открыть файл 'index.html'.


МОЖÐО ЛИ ЕГО КОПИРОВÐТЬ?
--------------
ÐаÑчёт авторÑких прав обратитеÑÑŒ к файлу 'copying.html'.


ЕСТЬ ЛИ ФÐЙЛ ИСТОРИИ?
------------------------
ÐаÑчёт иÑтории верÑии обратитеÑÑŒ к файлу 'verinfo.html'.
lepton-eda-1.9.10/docs/wiki/geda-grcsan.html0000644000175000017500000002570013634703632015522 00000000000000

gEDA/gaf RF Cascade Symbols and Netlister

by: Dan McMahill

This document is released under GFDL

December 3rd, 2003

Overview

This document describes the symbol library and gnetlist backend which support driving RF Cascade (http://rfcascade.sourceforge.net) simulations from the gEDA/gaf system. Cascade is a noise figure and distortion analysis tool geared towards radio receiver design.
The basic steps involved with using gEDA as the frontend for Cascade simulations are:

  1. Create schematics of the circuit.
  2. Extract the netlist.
  3. Run Cascade.

Requirements

You will need the following programs to be installed:

  • A recent version of gEDA/gaf. To see if your version is recent enough, see if the directory $prefix/share/gEDA/sym/cascade exists. $prefix is the installation prefix for gEDA on your system.
  • RF Cascade. The executable is usually called cascade. If you do not have Cascade available on your system, you will need to get a copy from http://rfcascade.sourceforge.net.

Creating Schematics

When creating a block diagram in the gschem schematic editor, use only the symbols from the cascade library. Every block diagram must have a \cascadesource†element. In addition, the block diagram must be a simple cascade. No parallel paths or branches are allowed.
All instances must have a unique reference designator. For a receiver block diagram, this is often times best achieved by manually entering them. The only restriction on reference designator names is that they contain no spaces. A descriptive name such as \RF Filter†or \First Mixer†is useful as it will show up in the cascade output report.

Extracting the Cascade Input File

To extract the Cascade input file, run:

gnetlist -g cascade -o test.cas file1.sch [file2.sch ...]

For the example file contained in this archive, you can run:

gnetlist -g cascade -o example.cas example.sch

The netlist will be left in example.cas.

Running Cascade

Cascade is exceptionally simple to run. Just run:

cascade example.cas > example.out

to run the analysis on the system contained in the file example.cas and write the results to the file example.out. Refer to the Cascade documentation for complete details.

Appendix A -- Symbols in the Library

Please note that all instances must have the refdes= attribute set.

Sources (cascade-source)

Source. Attributes:

  • C=Carrier level in dBm. Optional.
  • CN0=Carrier to Noise Spectral Density Ratio in dBm/Hz. Optional.
  • CN=Carrier to Noise Ratio in dB. Optional.
  • BW=Signal Bandwidth in Hz. Optional, but requred if CN= is used.

Defaults (cascade-default)

This symbol sets the default impedance levels as well as the correlation coeffcient used for third order distortion calculations. There are two versions of this symbol. One is used to set the defaults at the beginnng of the definition. The other can be placed in series with the cascade to change the defaults part way through. This is useful if you wish to change impedance levels in the middle of the receiver chain. Attributes:

  • RIN=Default block input resistance in Ohms. Optional.
  • ROUT=Default block output resistance in Ohms. Optional.
  • RHO=Default third order distortion correlation coeffcient. Optional.

Elements

Cascade characterizes each block in a system by its gain and optionally noise figure and third order intercept point. As such, there is no distinction between various elements such as amplifiers, filters, and mixers. The gEDA/gaf RF Cascade symbol library contains different symbols for clarity in the diagram only. The currently available element symbols are: Attributes:

cascade-ampAmplifier
cascade-filterFilter
cascade-mixerMixer
cascade-transformerTransformer
Table 1: Element Types
  • Gain is specified by one of the following:
    • G=Power gain in dB.
    • GP=Power gain in dB.
    • GV=Voltage gain in dB.
  • NF=Noise Figure in dB. Optional.
  • IIP3=Input Third Order Intercept Point in dBm. Optional.
  • RIN=Block input resistance in Ohms. Optional.
  • ROUT=Block output resistance in Ohms. Optional.
  • RHO=Third order distortion correlation coeffcient. Optional.

Example

This appendix provides a simple example of the entire process of generating a schematic, producing a Cascade input file, running an analysis and looking at the result.

Example Schematics

Figure 1 shows the schematic of a simple receiver signal chain.
Figure 2 shows the contents of the example.cas file.

rf_cascade_figure1.jpg
rf_cascade_figure2.jpg

Netlist the Design

To netlist the design, run:

gnetlist -g cascade example.cas example.sch

Run the Analysis

Run the analysis with:

cascade example.cas

Document Revision History

December 3rd, 2003Created cascade.tex
lepton-eda-1.9.10/docs/wiki/geda-gnetlist_ug-hierarchy.ru.html0000644000175000017500000001437613634703632021201 00000000000000

ИерархичеÑкие Ñхемы

Ð’ gnetlist еÑть поддержка иерархичеÑких Ñхем. ИерархичеÑкими называютÑÑ ÑлектричеÑкие Ñхемы, куда в качеÑтве подÑхем включаютÑÑ Ð´Ñ€ÑƒÐ³Ð¸Ðµ Ñхемы. Это может быть веÑьма удобно Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¾Ð², где одна и та же Ñхема иÑпользуетÑÑ Ð¼Ð½Ð¾Ð³Ð¾ÐºÑ€Ð°Ñ‚Ð½Ð¾, или Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ ÐºÐ°ÐºÐ¾Ð¹-то Ñхемой в неÑкольких разных проектах. Ð’ подÑхемы в Ñвою очередь могут входить другие подÑхемы!

Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ подÑхемы нужен отдельный Ñимвол, к которому она будет привÑзана и который будет её предÑтавлением в Ñхеме. Ðтрибут «device=» Ð´Ð»Ñ Ñимвола подÑхемы игнорируетÑÑ. Ð”Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ файла ÑлектричеÑкой Ñхемы Ñамой подÑхемы должен иÑпользоватьÑÑ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚ «source=».

Символы подÑхем загружаютÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼ ÑпоÑобом из библиотеки Ñимволов. ЭлектричеÑкие же Ñхемы подÑхем берутÑÑ Ð¸Ð· библиотек иÑходных данных.

Подробное опиÑание того, как указать gnetlist, где иÑкать файлы Ñхем Ð´Ð»Ñ Ð¿Ð¾Ð´Ñхем, Ñм. в разделе ÐаÑтройка gnetlist.

Порты

Порты предÑтавлÑÑŽÑ‚ Ñобой выводы Ñимвола, через которые можно подключитьÑÑ Ðº ÑлектричеÑкой Ñхеме ÑвÑзанной Ñ Ð½Ð¸Ð¼ подÑхемы из той Ñхемы проекта, где Ñтот Ñимвол иÑпользуетÑÑ. Каждому порту Ñледует задать Ð¸Ð¼Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ атрибута «pinlabel=». Точкой Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñ€Ñ‚Ð° к ÑоединениÑм внутри подÑхемы gnetlist будет Ñчитать первый вывод компонента подÑхемы, атрибут «refdes=» которого Ñовпадает Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ порта. Обычно Ð´Ð»Ñ Ñтих целей иÑпользуют Ñимволы «in-1.sym» и «out-1.sym» из раздела «Input/Output» библиотеки Ñимволов.

Переименование компонентов и Ñоединений

К каждому из Ñимволов подÑхем, находÑщихÑÑ Ð² Ñхеме, должен быть прикреплён атрибут «refdes=». Он будет определÑть Ð¸Ð¼Ñ ÑкземплÑра подÑхемы. При обработке иерархичеÑкой Ñхемы ÑƒÐ½Ð¸ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ð¾Ð² и Ñоединений внутри каждого ÑкземплÑра подÑхемы доÑтигаетÑÑ Ð² gnetlist путём их Ð¿ÐµÑ€ÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚Ð°ÐºÐ¸Ð¼ образом, что их новые имена Ñодержат в качеÑтве префикÑа Ð¸Ð¼Ñ Ñ‚Ð¾Ð³Ð¾ ÑкземплÑра, к которому они отноÑÑÑ‚ÑÑ.

Ð”Ð»Ñ Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ð° раÑÑмотрим подÑхему, Ñодержащую компонент Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ «refdes=U1» и Ñоединение Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ «netname=FEEDBACK». Предположим теперь, что Ñимвол подÑхемы вÑтавлен в Ñхему и к нему прикреплён атрибут «refdes=A1». При обработке Ñхемы gnetlist переименует компонент в «A1/U1», а Ñоединение — в «A1/FEEDBACK».

lepton-eda-1.9.10/docs/wiki/geda-devmacosx.html0000644000175000017500000002205113634703632016232 00000000000000

Translations of this page are also available in the following languages: РуÑÑкий.

See also: Building the pcb package on OS X by Jon Schneider

gEDA On The Mac

There are a number of options with running gEDA on the mac. You can install via the fink or macports package management or build from the source or some combination of the two. Both fink and macports will install software in a directory off the root or “sandbox†(fink /sw and macports /opt) so they don't co-mingle software with your native mac software. You can read more about the pros and cons of each online.

I have both fink and macports package managers installed and have been using macports lately. I added some code to my .bash_profile that lets me choose what package manager I want to use on shell startup by setting my path variable. I've pasted it below.

Personally, I use macports to install dependencies and build and install geda from the source. This makes it easy for me to grab the latest code from the git repository.

PS3="Which port?:"
echo "Choose from the list below."
select NAME in macports fink mac
do
	break
done
echo "Setting path to prefer $NAME."
case $NAME in
macports) export PATH=/opt/local/bin:${PATH} PS1="opt-\A-[\w]\$" ;;
fink) test -r /sw/bin/init.sh && . /sw/bin/init.sh PS1="sw-\A-[\w\\$" ;;
*) PS1="osx-\A-[\w]\$" ;;
esac

echo "Path set to " $PATH

gEDA via Fink

You can link to instructions on installing gEDA via fink from the gEDA download page or go directly to http://www.ghz.cc/charles/fink/. Using fink, gEDA can be installed from binaries or compiled from a recent development snapshot, if the fink unstable branch is enabled. (Please see the Fink documentation on how to enable the unstable branch.)

Once Fink is installed, gEDA (and other programs) can be installed from the command line or through a graphical tool called fink commander. From the command line, the principal gEDA suite programs can be installed with the command:

fink install geda-bundle

gEDA via macports

I am in the process of putting together a macports release of gEDA. You can download macports from http://www.macports.org/. I use macports with the GUI Porticus. You can download that from here http://porticus.alittledrop.com/.

Until the macports release is ready, you can use Porticus (or macports command line) to install these dependent projects, then download and compile the source from the gEDA download page.

  • gettext
  • guile
  • gtk2
  • groff

I've also installed python25 and python_select. python_select let's you choose what version of python your mac will run as the default python.

As described here: Building gEDA/gaf, to run the software, you need to set an environment variable to allow Guile to load its shared libraries:

$ export LTDL_LIBRARY_PATH=/opt/local/lib

Building The Project

Once you have the dependencies installed (either via fink or macports) just follow the instructions in the developer section for building and installing. I had no issues (there was an issue with strnlen function being used in gschem, which isn't part of the standard gcc libraries, but once that was fixed I was able to build and run with no problems). I have also setup an XCode project to debug gEDA code in. I will post that up to the site as soon as it's ready.

Working With Python

Currently I am working with myEclipse and the PyDev python plugin. You can download Eclipse http://www.eclipse.org/ or myEclipse http://www.eclipse.org/ which is Eclipse bundled with plugins and currently costs $31.75 per year for a subscription. You can download PyDev here http://pydev.sourceforge.net/. It seems to have an annoying popup unless you buy a license, but other than that it seems to work well in Eclipse for working with python code.

Current Mac Issues

  • gEDA Manager does not currently run because it needs pyinotify which is based on Linux kernel infrastructure. If anyone knows a way to get gEDA Manager running on mac that is appreciated. Otherwise I plan on looking at a cross platform way to modify gEDA Manager.

gEDA via VirtualBox

An alternative method to run gEDA programs on the Mac is to install them under Linux in an virtualization environment. VirtualBox is a professional-grade x86 virtualization program that is available under the GPL. After installing this program, you can download and install a linux distribution within that environment. This method has the advantage of using precompiled linux-oriented binaries, and installatoin - even accounting for for downloading and installing the guest OS - can be very fast compared to compiling and building the gEDA suite in Fink.

The gEDA suite programs have been tested and appear to work properly under Ubuntu running within VirtualBox on the Mac. After downloading and installing VirtualBox, download Ubuntu and launch its installer, following the VirtualBox instructions. Once Ubuntu is installed, you can install gEDA following (simplified, standard) procedures for installing gEDA under linux. From the command line,

sudo apt-get install geda

This installs gschem , gnetlist, & gattrib. Then, to install additional applications:

sudo apt-get install geda-utils
sudo apt-get install pcb-gtk
sudo apt-get install gerbv
sudo apt-get install geda-xgsch2pcb
lepton-eda-1.9.10/docs/Makefile.am0000644000175000017500000000047213634703632013551 00000000000000SUBDIRS = toplevel wiki scheme-api EXTRA_DIST = ChangeLog-1.0 ChangeLog if HAVE_GIT_REPO ChangeLog: $(top_builddir)/stamp-git ( \ cd $(srcdir) && \ $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- . || \ echo "WARNING: ChangeLog information not available from git" >&2 ; \ ) > $@ endif HAVE_GIT_REPO lepton-eda-1.9.10/docs/ChangeLog-1.00000644000175000017500000004074713634703632013574 000000000000002007-05-25 Ales Hvezda * scripts/postproc.sh, removedups.sh: Fixed/improved the wiki scripts to work with the new wiki software. Wrote a script to remove duplicate images from the repository. * wiki/*: Updated the wiki from the website * scripts/wikifetch.sh: Updated script to exclude an export directory that caused an infinite download * _media/Makefile.am lib/Makefile.am lib/exe/Makefile.am lib/images/fileicons/Makefile.am lib/images/interwiki/Makefile.am lib/plugins/Makefile.am lib/plugins/definitionlist/Makefile.am lib/plugins/note/Makefile.am lib/tpl/Makefile.am lib/tpl/default/Makefile.am: Fixed up Makefiles to pick up any missed files. * gsch2pcb_tutorial/* configure.ac Makefile.am: Removed gsch2pcb tutorial from CVS and install now that it is in the wiki. * configure.ac: Updated version to 20070526 in prep for the next release. 2007-02-12 Ales Hvezda * wiki/: Updated wiki snapshot from the live gEDA wiki. Phase I (only changed content; new content coming in next phase). * wiki/: Added new content. Phase II (only new content; all makefiles still need to be updated; next phase). * scripts/copywip.sh: Added some incomplete logic to copy new content from wip to wiki (only works on level 1 and level 2 directories) * wiki/: Updated Makefile.am files with new content. 2007-02-10 Ales Hvezda * configure.ac: Bumped package version to 20070216. 2006-10-29 Ales Hvezda * fileformats, gnetlist, gschem, hooks, keymapping, netattrib, pads_backannotate, spice-sdb, switcap, symbols, templates, tragesym_tutorial: Removed all obsolete documentation from CVS. The wiki and the wiki snapshot is now the official documentation. * attributes, cascade: Removed more obsolete documentation from CVS. 2006-10-20 Ales Hvezda * configure.ac: Bumped package version to 20061020. * wiki/*: Updated tarball copy of the wiki from the geda.seul.org wiki. Lots of various updates (many thanks to various people) and now the tragesym tutorial (Thanks Werner) is now part of the official documentation. * scripts/copywip.sh, wikicommit.sh: Added a new script that makes it easier to update changed files when updating the wiki documentation. Tweak to wikicommit.sh to make it easier to verify that it is doing the right thing. * wiki/*/Makefile.am: Fixed up various Makefiles that didn't quite get created correctly because I didn't run the script in the right directory and the script has some hardcoded directories that were incorrect. Need to fix that at some point. 2006-09-24 Ales Hvezda * AUTHORS: Updated file pointing people at gschem's AUTHOR file as the complete list of authors. Merged all listed files in this file into gschem's file. 2006-09-06 Ales Hvezda * configure.ac: Updated program version to 20060906. * wiki/: Updated to the latest version from the gEDA wiki * wiki/Makefile.am: Updated to include new content 2006-08-24 Ales Hvezda * scripts/populatemkfiles.sh: Added script to automatically go through a directory tree and create Makefile.am files. * wiki/*/Makefile.am: Added Makefile.am's to all wiki subdirs in order to make distcheck work correctly. 2006-08-22 Ales Hvezda * configure.ac: Removed the various doc program checks, since we are no longer building the latex docs (the wiki snapshot is the official documentation now). 2006-08-21 Ales Hvezda * README: Updated the README a little to be ready for the next release. * configure.ac, Makefile.am, wiki/Makefile.am: Checked in first snapshot of the wiki documentation. 2006-08-19 Ales Hvezda * configure.ac: Bumped version number to 20060821 in prep for the next gEDA/gaf release. 2006-08-14 Ales Hvezda * scripts/*, configure.ac, Makefile.am: Added scripts that will be used in getting and cleaning up the the wiki documentation. wikifetch.sh was written by David Hart. Thanks! 2006-06-05 Werner Hoch * tragesym_tutorial/*: updated the complete tragesym tutorial 2006-03-02 Ales Hvezda * gschem/gschem.tex: Oops, fixed my overzealous use of search and replace. 2006-02-27 Carlos Nieves Onega * gschem/gschem.tex: Added documentation for the new overbar feature. 2006-02-25 Carlos Nieves Onega * hooks/hooks_and_scheme.txt: Added documentation for some new hooks, and the new add-attribute-to-object function. 2006-01-16 Ales Hvezda * configure.ac: Bumped package version to 20060123 * README: Updated for the new year and release. 2005-11-06 Ales Hvezda * gsch2pcb_tutorial/transistor-guide.html: Fixed link typo. 2005-11-05 Ales Hvezda * attributes/attributes.tex: Clarified that pinseq= is used in some gnetlist backends to output the pins in increasing pin sequence. 2005-09-30 Carlos Nieves Onega * fileformats/fileformats.tex: Added file format information for embedded pictures. 2005-08-20 Ales Hvezda * gsch2pcb_tutorial/*: Updated to Bill Wilson's latest version. 2005-08-19 Ales Hvezda * configure.ac: Bumped the package version to 20050820 which will be a real snapshot. * fileformats/fileformats.tex: Added 20050820 as a real release version number. 2005-08-14 Ales Hvezda * configure.ac: Updated package version to 20050814. This is a temporary version and not a real release number. * fileformats/fileformats.tex: Added 20050814 as a test version which should not be used. 2005-03-15 Ales Hvezda * configure.ac: The changes to configure.ac added on 3/12/05 have been removed. In the distributed tarballs, it is okay to not have latex installed since the docs are pre-generated. 2005-03-14 Ales Hvezda * gschem/gschem.tex: Removed obsolete install tests 2005-03-12 Ales Hvezda * configure.ac: Changed script so that configure stops when one of require programs is not found. 2005-03-08 Ales Hvezda * configure.ac: Bumped version to 20050313 * gsch2pcb_tutorial/*: Updated tutorial to Bill Wilson's latest version. * fileformats/fileformats.tex: Added 20050313 as a valid version number * gsch2pcb_tutorial/tutorial.html: Oops forgot a minor update to get background image right. 2005-02-19 Carlos Nieves Onega * fileformats/fileformats.tex: Added picture field description. 2004-12-28 Ales Hvezda * toplevel/gedadocs.html.in: Added README.sysc to html manual page * toplevel/gedadocs.html.in: Added README.eagle to html manual page * fileformats/fileformats.tex: Added new valid version string * toplevel/toplevel.html.in: Background color tweak 2004-12-27 Ales Hvezda * configure.ac: Updated version to 20041228 2004-07-06 Ales Hvezda * attributes/attributes.tex: Added details on the symversion= attribute * symbols/symbols.tex: Added info on the symversion= attribute and some more hints/details on proper pin usage. 2004-07-03 Ales Hvezda * configure.ac: Updated version to 20040710 2004-01-17 Ales Hvezda * config.h.in: Remove machine generated file. 2004-01-11 Ales Hvezda * fileformats/fileformats.tex: More really minor version field updates * configure.ac: Updated version to 20040111 * symbols/symbols.tex: Applied a patch by Dan McMahill (added some more footprints). Thanks Dan. * symbols/symbols.tex: Added a couple missing \'s to above patch * netattrib/netattrib.txt: Removed obsolete file from CVS. 2004-01-10 Ales Hvezda * fileformats/fileformats.tex: Fixed valid/test versions 2004-01-06 Ales Hvezda * toplevel/toplevel.html.in: Changed all readme to readmes * Makefile.am, configure.ac, tragesym_tutoral/*, toplevel/toplevel.html.in: Add tragesym tutorial by Russ Dill. All tutorials get installed into GEDADOCDIR/tutorials/name. * Makefile.am, configure.ac, gsch2pcb_tutoral/*, toplevel/toplevel.html.in: Add gsch2pcb tutorial by Bill Wilson. Minor cleanup (offline link fixups) to the various html files. * attributes/attributes.tex: Added some text about setting the footprint to none and unknown. 2004-01-04 Ales Hvezda * fileformats/fileformats.tex: Added newest valid version. * fileformats/fileformats.tex: Added some text that states that the file format is copyright and under the GPL version 2.0. 2004-01-03 Ales Hvezda * cascade/cascade.tex and friends: Added RF Cascade symbols and backend documentation by Dan McMahill. 2004-01-01 Ales Hvezda * attributes/Makefile.am, fileformats/Makefile.am, gnetlist/Makefile.am, gschem/Makefile.am, pads_backannotate/Makefile.am, spice-sdb/Makefile.am, switcap/Makefile.am, symbols/Makefile.am: Misc cleanup for consistency sake. * netattrib/Makefile.am netattrib.tex: Added texified netattrib mini-HOWTO. This work was done by Dan McMahill. Thanks. * toplevel/gedadocs.html: Greatly expanded the toplevel documentation index to include all the newly installed docs and readmes. * toplevel/Makefile.am, gedadocs.html.in: Created an .in file which is preprocessed by the configure mechanism to create the toplevel .html file. This was done so that the version string can be inserted into the html file. 2003-12-31 Ales Hvezda * spice-sdb/*.html: Added a few missing "'s in key places and removed all absolute a href (replaced with local references) * configure.ac: Bumped version to 20031231 2003-12-29 Ales Hvezda * README: Updated license text to cover everything 2003-11-09 Ales Hvezda * install-sh missing mkinstalldirs: Removed these files from the CVS repository. * autogen.sh: Added new script to recreate all the necessary auto* files. * Makefile.am: Remove install-sh missing mkinstalldirs when doing maintainer-clean 2003-11-08 Ales Hvezda * symbols/symbols.tex: Added an item to the symbol creation steps. 2003-10-19 Ales Hvezda * fileformats/fileformats.tex: Added num_lines field for text items. 2003-10-18 Ales Hvezda * configure.ac: Updated version to something more recent, but this version is not an official release. 2003-10-05 Ales Hvezda * fileformats/fileformats.tex: Split valid vs test version numbers 2003-10-04 Ales Hvezda * configure.ac: Updated version to something more recent, but this version is not an official release. * fileformats/fileformats.tex: Updated doc to talk about the new fileformat version number. 2003-09-27 Ales Hvezda * gnetlist/gnetlist.tex, gschem/gschem.tex: Added conversion of .txt files to .tex by Dan McMahill. Thanks. These files still need to be revised, as they are quite dated. You must have hyperref.sty installed to build the documentation now. * gschem/gschem.txt, gnetlist/gnetlist.txt: Removed obsolete files. * */*.tex: Added the use of hyperref.sty to all .tex files, so that pdf files get hyperlinks. Very handy. * symbols/symbols.tex: Applied Dan McMahill's QFP and QFN patch JitterBug #75 can now be closed. 2003-09-20 Ales Hvezda * auto* files: Updated to autoconf 2.57 and automake 1.7.6 2003-08-31 Ales Hvezda * pads_backannotate: Added Dan's documentation for the backannotation script (by Dan McMahill). * switcap/Makefile.am: Added missing *.ps to distribution * spice-sdb: Updated to Stuart's latest doc (split into multiple html files). Thanks Stuart! * fileformats/fileformats.tex: Added valid version to version list * */Makefile.am: Added a few - to some rm commands which are allowed to fail. 2003-08-30 Ales Hvezda * attributes/attributes.tex: Merged author= and email= together. Suggestion by Werner Hoch. 2003-08-24 Ales Hvezda * configure.ac: Improved the configuration summary message. 2003-07-20 Ales Hvezda * configure.ac: Renamed from configure.in * configure.ac: Minor tweeks to get this file up to snuff. * *.in, *.h, etc: Removed a bunch of old unneeded auto* files. 2003-05-25 Ales Hvezda * docs/symbols/symbols.tex: Added blurb about pin order (LSB to MSB) * configure.in: Applied Wojciech Kazubski's --with-docdir patch 2003-05-22 Ales Hvezda * configure.in: Updated version 2003-04-27 Ales Hvezda * configure.in, Makefile.am, switcap/: Integrated Dan McMahill's switcap backend (the docs). switcap is a new directory * fileformats/fileformats.tex: Updated valid versions * switcap/switcap.tex: Fixed a figure reference typo. * toplevel/gedadocs.html: Added links to the switcap backend docs * Makefile.am, configure.in, spice-sdb/, toplevel/gedadocs.html: Integrated Stuart Brorson's advanced spice netlister (the docs) * switcap/Makefile.am, symbols/Makefile.am, attributes/Makefile.am, fileformats/Makefile.am: Added a "-" to some rm commands so that they would not fail (ignore errors) 2003-02-24 Ales Hvezda * fileformats/Makefile.am: Oops forgot to add eps and sch files to the EXTRA_DIST variable. 2003-02-23 Ales Hvezda * configure.in: Added shell code to expand prefix and set the GEDADOCDIR to the right install directory for documentation * */Makefile.am: Changed all Makefiles to install into GEDADOCDIR * attributes/attributes.tex: Added author=, email=, and comment= attribute descriptions. 2003-02-19 Ales Hvezda * configure.in: Bumped version to 20030223 2003-02-11 Egil Kvaleberg * symbols/symbols.tex: Footprint naming conventions. * atttribute/attribute.tex: Ref. to Footprint naming conventions. 2003-01-11 Ales Hvezda * Makefile.am: Fixed the distclean-local target. 2002-12-01 Ales Hvezda * fileformats/fileformats.tex: Finished up first draft of latex version of this document. 2002-11-30 Ales Hvezda * aclocal.m4: Removed file from cvs. * fileformats/fileformats.html: Applied doc patch from Egil (was associated with the unapplied bus ripper support patch) * fileformats/Makefile.am: Updated Makefile to be the latex source -> everything else type. * fileformats/fileformats.tex: Started converting html into tex. Updating documentation as I go. Not complete yet. 2002-11-23 Ales Hvezda * symbols/Makefile.am, attributes/Makefile.am: Changed the mkdir to an install and looped over and install all the htmls files. Also added the uninstall hook. 2002-11-03 Ales Hvezda * configure.in: Updated version to 20021103 (an official version) * configure.in: Changed some of the AC_MSG_ERROR lines to just echos, this will allow me to distribute prebuilt docs and still use the configure mechanism * symbols/Makefile.am, attributes/Makefile.am: Attempted to get the dist target to include all the built documentation. 2002-10-31 Ales Hvezda * configure.in, Makefile.am: Updates to get things working a little more smoothly * symbols/symbols.tex, 7400a.eps, 7400b.eps: Fixed example to actually be a correct symbol (first version had a duplicate net= pin value for both power and gnd). Pointed out by Werner Hoch * symbols/Makefile.am, attributes.am: Further refined clean rules * Makefile and friends: Added a bunch of subdirs with other docs * gschem/ and gnetlist/: Added directory and appropriate txt files * toplevel/ and toplevel/gedadocs.html: Created directory to hold the toplevel index html file. gedadocs.html is an index of all documentation provided with gEDA/gaf 2002-10-30 Ales Hvezda * configure.in and friends: Started using automake and autoconf for the docs directory lepton-eda-1.9.10/docs/ChangeLog0000644000175000017500000015137413634704605013300 00000000000000commit 682673732155740689fc3919007cbbacbca363ba Author: dmn Date: Mon Mar 2 09:41:12 2020 +0300 scheme-api: Return values for several functions. Document return values for functions: - config-save! - config-remove-key! - config-remove-group! - set-config! commit ad2c3ba77cf9dff0b71e7f41418df050395c5a0e Author: Vladimir Zhbanov Date: Sat Feb 29 19:06:08 2020 +0300 docs: Amend info on getting of additional information in the manual. commit 516c99e0b1026aeed5b4b3a035bbe424ed809caa Author: Vladimir Zhbanov Date: Sat Feb 29 19:05:30 2020 +0300 docs: Use new configuration names ('lepton*.conf') in the manual. commit 98c3e8b720e23fb8bcca3d095465b592cf7a0362 Author: Vladimir Zhbanov Date: Sat Feb 29 19:04:35 2020 +0300 docs: Replace gEDA with Lepton (EDA) where appropriate in the manual. commit 3f477af90d3483c1c2205cc0c464ae539a92fde0 Author: Vladimir Zhbanov Date: Sat Feb 29 19:03:05 2020 +0300 docs: Add section 'About Lepton EDA', reduce 'About gEDA'. commit f9990a58a39761778066bb828ed0c4d91b3d5c89 Author: Vladimir Zhbanov Date: Sat Feb 29 18:34:43 2020 +0300 docs: Replace 'geda.conf' with 'lepton.conf' in the manual. commit f6d35084fdec9a972503e3ab8d836d1d99b7305d Author: Vladimir Zhbanov Date: Wed Feb 19 15:13:35 2020 +0300 build: Get rid of removing Makefile.in's with 'make maintainer-clean'. Some people may contradict that the files clutter the git repository. But then, (a) they all are written to the .gitignore files and so usually invisible for VCS, and (b) 'git clean' may do the job better (please see description of the options '-x' or '-X'). commit e3c4b229190b916bfa1e57bcd135034986c2f81b Author: Vladimir Zhbanov Date: Sat Feb 15 04:24:37 2020 +0300 build: Clean up Makefile.am's in the repository. - Get rid of most '*CLEANFILES' targets. - Clean up whitespaces in all Makefile.am files. - Avoid getting rid of ChangeLog files with 'maintainer-clean' as they are all built automatically and added to .gitignore. commit fd33d62bde123a96bf6cbf4ce376925c571aca1a Author: Vladimir Zhbanov Date: Sat Feb 15 07:48:57 2020 +0300 rename: m4 variable GEDARCDIR to LEPTONRCDIR. commit f239146375ff07d3f6249df719f2c069a950c7b7 Author: Vladimir Zhbanov Date: Sat Feb 15 07:45:51 2020 +0300 rename: m4 variable GEDADATADIR to LEPTONDATADIR. commit 69f8bdcd376d33d2e410f7cbacb953a2ccf64786 Author: Vladimir Zhbanov Date: Sat Feb 15 07:27:58 2020 +0300 docs: Fix paths.txt. - The specification now contains up-to-date variable names. - Project name has been fixed in several places. commit 88c02d02bcc81be090ec9b6e610ddd6fb385d3a8 Author: Vladimir Zhbanov Date: Sun Feb 2 12:24:02 2020 +0300 docs: Fix Lepton Scheme API documentation. commit 4208135498a5376d17b1ab3aa99ce6ba41a803b5 Author: dmn Date: Fri Feb 14 16:46:37 2020 +0300 scheme-api: Update config-load!() documentation. commit aab8e1654336b5718fa24cac4818783e149e615e Author: dmn Date: Fri Feb 14 13:08:28 2020 +0300 scheme-api: Document component-filename(). commit 0e051ac7e190d1ac8b6f8d8b0819fbaa19f06f3c Author: dmn Date: Fri Feb 14 12:59:45 2020 +0300 scheme-api: Document object embedding functions. - object-embedded? - set-object-embedded! commit 7c7b971b721743a8c5f4449c95a49c33a972f08f Author: Vladimir Zhbanov Date: Tue Jan 28 12:35:35 2020 +0300 rename: (gschem window) to (schematic window). commit 06824aec9aa7b11586b0bd50c72f86b5e3ff6607 Author: Vladimir Zhbanov Date: Tue Jan 28 12:17:05 2020 +0300 rename: (gschem util) to (schematic util). commit 159fd67f1d06fef818ffd6abd8fc81d8b027cb1a Author: Vladimir Zhbanov Date: Tue Jan 28 11:55:10 2020 +0300 rename: (gschem selection) to (schematic selection). commit fc29177bee4d29c93f0abe23878f21f8156423e3 Author: Vladimir Zhbanov Date: Tue Jan 28 11:01:55 2020 +0300 rename: (gschem keymap) to (schematic keymap). commit 3c8ee61288825510f05705c7298884e936f774ac Author: Vladimir Zhbanov Date: Tue Jan 28 10:22:13 2020 +0300 rename: (gschem hook) to (schematic hook). commit 412a3cd59290ccc34ecd67c711c310d720942d15 Author: Vladimir Zhbanov Date: Mon Jan 27 19:35:52 2020 +0300 rename: (gschem attrib) to (schematic attrib). commit dd3af1c14e3f103153720fbaafdde5d875d07699 Author: Vladimir Zhbanov Date: Mon Jan 27 19:05:14 2020 +0300 rename: (gschem action) to (schematic action). commit 5574e9a8795c5d57bdee937df5bf1e52d9f57510 Author: Vladimir Zhbanov Date: Sun Jan 26 19:16:04 2020 +0300 rename: (geda log) to (lepton log). commit 0320d5ceb60f272ba41f7586123a0e62dd428d08 Author: Vladimir Zhbanov Date: Sun Jan 26 10:35:26 2020 +0300 rename: (geda os) to (lepton os). commit 1f6a356e75d953cf527a0602ade95521d2d7522c Author: Vladimir Zhbanov Date: Sat Jan 25 22:44:13 2020 +0300 rename: (geda config) to (lepton config). commit 20457c58a5b8cee577540833a2dc5ddcd6cd05cb Author: Vladimir Zhbanov Date: Sat Jan 25 21:22:36 2020 +0300 rename: (geda attrib) to (lepton attrib). commit 75cb00ec6dc0d9703778e1785e3cb881a230f7dd Author: Vladimir Zhbanov Date: Sat Jan 25 14:37:05 2020 +0300 rename: (geda object) to (lepton object). commit a32fa7fdc7db90b96a5a40f213f5a459714d3fa6 Author: Vladimir Zhbanov Date: Thu Aug 29 19:10:23 2019 +0300 netlist: Rename a function. 'filename->page()' has been renamed to 'file->page()' in order to match its imaginable mate 'page->file()' which is not introduced yet. Calling the latter 'page->filename()' would make a confusion since it should not produce just a file name but a file. commit c12abd766d73c4901f1a903942eec95fefaf4ce9 Author: Vladimir Zhbanov Date: Fri Aug 30 09:12:06 2019 +0300 liblepton: Replace the module (geda page) with (lepton page). commit 96cc874c775e15e86936a460537ad44f69225c39 Author: dmn Date: Wed Oct 9 20:50:28 2019 +0300 docs: Fix parallel make (-j) on FreeBSD. Building of the Scheme API HTML documentation on FreeBSD with parallel make jobs (make -jN) fails. Fix this by reducing the number of -local make targets that may be processed in parallel. commit 0af38d390a81932662031257237317f662f78013 Author: Vladimir Zhbanov Date: Sat Sep 28 00:46:38 2019 +0300 docs: Update copyrights. commit fb5812606b5562e325aa7580e78d539f321b3a31 Author: Vladimir Zhbanov Date: Thu Apr 4 00:03:15 2019 +0300 liblepton: Fix Scheme API for arcs. Since its creation, the function arc-end-angle() gave improper results because it was a sibling of a C function returning the sweep angle of an arc. The function name and help documentation have been fixed and now reflect the change. For backwards compatibility, same named function returning the proper value has been added. commit 8b4acddeaf7109e3f6b910a2a7e6656fe433b91e Author: dmn Date: Tue May 21 18:14:26 2019 +0300 scheme-api: Build and install HTML pages. commit f1d1b12a3dcd29e4a4c770c4da7c5c16f8a085a3 Author: Vladimir Zhbanov Date: Tue Feb 19 16:10:41 2019 +0300 liblepton: Rename (geda library) to (lepton library). All functions and variables of the latter module are re-exported in the former one for backward compatibility. However, if a user exports the module (geda library), a log warning will be issued. commit 381c17be949077ce8301427eaa5079bab646e003 Author: dmn Date: Mon Apr 8 15:55:41 2019 +0300 docs/scheme-api: Add CSS file for HTML output. Add Cascading Style Sheets (CSS) file, use it in generated HTML Scheme API reference pages. Now it sets only background color (to be slightly darker - to reduce eye fatigue). commit 968cce279d7e3daa25fe1a4d34e4e11e4e4f6ba9 Author: Vladimir Zhbanov Date: Tue Feb 12 16:51:30 2019 +0300 docs: Add documentation for "filename->page" procedure. commit 84f8a2514733511da2bfae34e3a51561c8fa1d81 Author: dmn Date: Wed Mar 6 21:45:54 2019 +0300 docs/wiki: Makefile note on out-of-source build. commit 24d68da6c12410bddd55ab2a02dd86f8a43f6e88 Author: dmn Date: Thu Feb 21 23:19:17 2019 +0300 docs/wiki: Allow out-of-source build and install. Lepton EDA can be built out-of-source without problems, but 'make install' does not install files from the docs/wiki/ subdir, because it's assumed that it contains regular files (-type f switch for the 'find' command). When building out of the source tree, they most likely will be symbolic links. commit 1964c89f0b2f35e224079600f6f2c370f3e3000b Author: Vladimir Zhbanov Date: Thu Feb 28 08:30:06 2019 +0300 build: Remove "gedadocs.html" from MAINTAINERCLEANFILES. It is already mentioned in DISTCLEANFILES so there is no point to mention it there. commit d050b660f99e952019fa86250691016ebfe7dad5 Author: dmn Date: Thu Jan 17 12:43:36 2019 +0300 scheme-api: Fix function name. context-parent() => config-parent(). commit 4708547d9dd0f2ec45027cfcb84fce11119b3aa2 Author: dmn Date: Wed Jan 16 05:26:26 2019 +0300 scheme-api: Update docs for renamed functions. These functions were renamed: object-locked? => object-selectable? set-object-locked! => set-object-selectable! commit db5001e9b1d6420a8909e7643be9246021016704 Author: dmn Date: Tue Dec 25 15:54:35 2018 +0300 scheme-api: Document new Scheme API functions. Document new liblepton functions added to the (geda object) module: - object-locked? - set-object-locked! commit 5b220e4fc449fa46a0ce08559c174b34d4674828 Author: dmn Date: Wed Dec 19 17:21:32 2018 +0300 scheme-api: Document config-remove-group! function. commit e6295519ed22d559f30682e8431546228045b12a Author: dmn Date: Thu Dec 20 17:19:02 2018 +0300 scheme-api: Document open-page-hook. commit 157af3b1296328d787cc8638fe8f54e77f928b83 Author: dmn Date: Fri Dec 7 18:20:58 2018 +0300 scheme-api: Document config-remove-key! function. commit 1fab92e113506f84e1f4d9c7a4f5e45c0cdaba57 Author: dmn Date: Sun Dec 2 21:58:15 2018 +0300 scheme-api: Amend (gschem util) documentation. commit e7d4f950405bd1a2a0e2a6c9e0f5f35333413e7a Author: Vladimir Zhbanov Date: Thu Nov 1 10:34:24 2018 +0300 Merge NEWS and NEWS-1.9.4. There is no point to have them separated. commit ce223d936b7076b7d755cafc0f04a963442e5570 Author: Vladimir Zhbanov Date: Thu Nov 1 10:29:41 2018 +0300 docs: Add a note about the fork. commit 65ed52908915069b5367dc68830579b683fc9e1d Author: dmn Date: Mon Aug 27 18:32:40 2018 +0300 Fix a typo in the Scheme API texinfo manual. commit 69649dcaecd8c24a987d2edca46c6842ae5d07af Author: Vladimir Zhbanov Date: Mon Aug 20 21:49:24 2018 +0300 Update NEWS with info on changes since 1.9.4. commit 454c564755aa73bb21bdbf81492129420bee2677 Author: Vladimir Zhbanov Date: Sun Aug 12 10:41:58 2018 +0300 Split up 1.9.4 and 1.9.3 NEWS. Move 1.9.3 part into docs/. commit a2d49a816ca527839f0cd312d38ce16b1e15da9b Author: dmn Date: Fri Jun 8 01:22:58 2018 +0300 liblepton: Document configuration API changes. commit 34bf5ef3347efe8872f6c0b2f6203da1e18668a8 Author: Vladimir Zhbanov Date: Sun Jun 3 10:52:38 2018 +0300 docs: Fix a function name. commit 1d17d83086cfd4fd030fdf43ddd34760cdf30546 Author: dmn Date: Sun May 27 16:23:51 2018 +0300 docs/scheme-api: Update .gitignore file. commit 64e20559d66ffb4a79cce784a3ae0ff7ef3a61ff Author: dmn Date: Sat May 26 14:54:13 2018 +0300 rename: Scheme API texinfo file. commit 5865abc9bd31b0dc44c6fd22818b3f175467a983 Author: dmn Date: Sat May 13 20:21:41 2017 +0300 gschem: Documentation fixes. commit 5424da7adbbb94f5dd961160db042efc60e9e6c0 Author: dmn Date: Sat May 13 03:35:50 2017 +0300 Add note about calling log! function with 'error level to scheme api docs. commit 58e95b2b3a7b8278819d5e28b716ce83af28c83d Author: Vladimir Zhbanov Date: Fri Apr 7 09:08:32 2017 +0300 rename: Rename gschem in scheme API doc. commit 5a7f9d74ffde3a3482e8ed2ab5998612cecb8698 Author: Vladimir Zhbanov Date: Mon Mar 27 16:23:52 2017 +0300 docs: Fix a typo. commit a2849167383ebd75451610e8cbbb18c56c5d9c40 Author: Vladimir Zhbanov Date: Mon Mar 27 16:23:26 2017 +0300 docs: Add documentation for switch-action-mode-hook(). commit cb9c4a1de1b4768443144b9f73ed3a6e9e566091 Author: Peter TB Brett Date: Sun Feb 26 09:35:20 2017 +0000 Update release notes for v1.9.3 - Bring release notes up-to-date with all changes since v1.9.2 - Move pre-v1.9.2 notes to `docs/NEWS-1.9.2.`, replace `NEWS` with `NEWS.md` and make the release notes properly-formatted Markdown. commit 138c0906b8c17e2fdcde672bcb84a8a5a0a4b0c7 Author: Vladimir Zhbanov Date: Wed Feb 15 16:23:12 2017 +0300 Rename libgeda to liblepton. commit 92b534e2b1756c561ca1c85a8fa6836a3eff5cf2 Author: Vladimir Zhbanov Date: Wed Feb 15 12:22:49 2017 +0300 Get rid of links to the gEDA launchpad bug tracker. commit aefbbc6c8e0bad5b3f2da9907ff6c4ea84e820b4 Author: Vladimir Zhbanov Date: Mon Oct 3 14:46:18 2016 +0300 libgeda: Rewrite source-lib code in Scheme. commit 7f1667f1b2e9141a6d48ec87f4559e7d44499537 Author: Peter TB Brett Date: Tue Feb 2 23:08:21 2016 +0000 scheme-api: Add %log! function. This new function allows Scheme code to send log messages through the same GLib message logging API used by the parts of gschem that are implemented in C. commit dd1b9bddc2909141e1a1484288a3c0abb0ec2aa5 Author: Peter TB Brett Date: Sun Jan 24 10:26:43 2016 +0000 docs: Update some metadata for specifications Update the contents and current status of the configuration API and paths API documents. commit a6026cb26708227e1e0b37591a8053ca5938bc53 Author: Peter TB Brett Date: Sat Jan 23 21:09:11 2016 +0000 build: Generate an empty ChangeLog when git history unavailable When no git history is available -- for example, when the git repository was cloned using the `--depth` option to limit the amount of git history downloaded -- the changelog-generation rule can fail because the changelog's base git commit (i.e. the 1.0 release tag) isn't available in the repository. This patch makes generation of `ChangeLog` succeed in that situation, by creating an empty log and printing a warning to stderr. It allows `make dist` and `make distcheck` to pass on shallow clones. commit 1721fe819e883b85d559ddb639a01d438a2708a6 Author: Peter TB Brett Date: Sun Jan 17 16:23:38 2016 +0000 libgeda: Auto-detect install directory for relocatable builds. When using `--enable-relocatable`, automatically try and detect the installation prefix and add its gEDA data directory to both the data search path and the configuration search path. The objective here is to avoid having to set environment variables in order to allow gEDA to find its data and configuration. This uses magical values from GLib via `g_get_system_data_dirs()` for Windows, and `/proc/self/exe` (if present) on other platforms. commit 98608ee657d1f1e3f91b05a882c24d36a1f9e844 Author: Peter TB Brett Date: Sat Jan 16 22:21:30 2016 +0000 libgeda: Port EdaConfig API to use new paths API. commit 3e4d0a21ae0fa1ed99c27273b37e697e262c78e5 Author: Peter TB Brett Date: Sun Jan 17 01:03:13 2016 +0000 Add gEDA paths specification. Add a document to the specs directory that explains the changes to data and config path handling to support relocatability and running on Windows without setting environment variables. commit 382d01ff21b192023fbc28e7d509b21e3a6e3e09 Author: Vladimir Zhbanov Date: Fri Jul 22 15:46:49 2016 +0300 docs: Fixed description of picture-info. commit bf25009f4c918e99329c894d3f0abe2ab26310df Author: Vladimir Zhbanov Date: Fri Jul 22 13:03:35 2016 +0300 docs: Fix a typo. commit 2cfa186bde319325eacf03c496b80df9dcc097e7 Author: Vladimir Zhbanov Date: Mon Oct 12 11:49:47 2015 +0300 libgeda: Replaced separator* procedures with stock guile variants. commit 63ffbfe8e52a4422733e346e5f543c5b7f8d2d8f Author: Vladimir Zhbanov Date: Mon Sep 28 23:27:56 2015 +0300 Update wiki pages. commit a0e12c3ea81617ddbcb3749a4617d7a528b1104f Author: dmn Date: Mon Jul 27 23:39:14 2015 +0300 Fix build and install with non-GNU make. Reviewed-by: Vladimir Zhbanov commit 2101e1236c11d72f075e4b941742b91edcbf6ad1 Author: Vladimir Zhbanov Date: Fri Jul 17 16:41:42 2015 +0300 geda-scheme.info: Added info on copy-objects-hook. commit b95c4b605342b1f67a57b01bd6f93bee1c211270 Author: Vladimir Zhbanov Date: Fri Jul 17 15:28:02 2015 +0300 geda-scheme.info: Fixed a copy-paste mistake. commit 3a22b411e067aa74672efd23a813f6627970ce9e Author: Vladimir Zhbanov Date: Fri Aug 8 11:08:14 2014 +0400 libgeda: new function to transform components Unlike the 'set-component!' function, 'set-component-with-transform' applies all the specified transformations to a component and immediately updates it. commit 49217f4a1754ba6f1df8490823174b20dc4f74b9 Author: Vladimir Zhbanov Date: Fri Aug 8 09:04:33 2014 +0400 Revert "libgeda: support of rotation and mirroring in '%set-complex!'" This reverts commit 4b96fc7edd81168dba652d24a84de5afdf51b7a2 since it breaks the stable gEDA API. commit 4b96fc7edd81168dba652d24a84de5afdf51b7a2 Author: Vladimir Zhbanov Date: Fri Jun 27 15:25:22 2014 +0400 libgeda: support of rotation and mirroring in '%set-complex!' Make the '%set-complex!' procedure take into account angle and mirroring of a new inserted from library component and modify its primitives accordingly, so they are properly displayed in gschem after 'page-append!' and return correct coordinates while they are requested by gaf shell. commit eb0993b707a1868649923d027191f1eea72f5e94 Author: Peter TB Brett Date: Sun Mar 16 20:51:25 2014 +0000 docs: Remove some unused & duplicate files from wiki export. Closes-bug: lp-1081306 commit 1f61259ca5ecb1ea07b08eeedd1331b8d516ce9c Author: Vladimir Zhbanov Date: Sun Mar 9 16:26:56 2014 +0400 Several fixes for geda-scheme.info - Fixed some typos - Added description of the make-path function commit 0dff1c1867ca83fd9f2b904e8205a9151ec9e7b1 Merge: 9fb251362 4b5b48b32 Author: Peter TB Brett Date: Sat Mar 8 22:08:02 2014 +0000 Merge branch 'wiki-import'. commit 4b5b48b320c10840e43deb7b8a9fce951262931e Author: Peter TB Brett Date: Sat Mar 8 16:53:10 2014 -0500 Automatic wiki import (Sat Mar 8 21:51:23 UTC 2014) commit 55f875b134285aba81db0e0c339e9c97ae26886b Author: Peter TB Brett Date: Sat Mar 1 08:28:05 2014 +0000 scheme-api: Correct documentation of object-fill and set-object-fill! The object-fill and set-object-fill! use parameters with fill pitches ordered before angles. However, the documentation specified angles before pitches. Reported-by: Vladimir Zhbanov Closes-bug: lp-1286117 commit 840b69010618be9919a79eaa24ea698870b89951 Author: Vladimir Zhbanov Date: Wed Feb 5 11:37:36 2014 +0400 Updated the gEDA site addresses in several places commit d21c4dc0b2703e8025af9b935c843988b569053b Author: Peter TB Brett Date: Sun Sep 29 09:36:03 2013 +0100 scheme-api: Add version information to documentation. Add info on which versions of gEDA introduced various new functions, variables etc. to the Scheme API. Since the next stable version to be released will probably be 1.10, use that for now. commit 50785b760de910ce2189db968113680a11866167 Author: Peter TB Brett Date: Sat Sep 14 20:17:43 2013 +0100 gschem: Add bind-keys-hook. Add a hook that is run whenever a key sequence is rebound. commit 3f2a8a582d6cc197094b5d9ca906679817738fd0 Author: Peter TB Brett Date: Sat Sep 14 12:07:07 2013 +0100 gschem: Add action-property-hook. Add a new hook that's called when any action's properties change. commit c1945240f152c7779c456cd37975d6ea947c29e1 Author: Peter TB Brett Date: Sun Sep 15 11:57:20 2013 +0100 gschem: First-class actions. commit 94fd117138beb009820b0792c9d0201a8aefbc28 Author: Patrick Bernaud Date: Tue Sep 10 23:22:59 2013 +0100 scheme-api: Correct typo in docs. Closes-bug: lp-1198663 commit da7a2e02fec4b87e2b8e8ad4dce49b7cc2646e59 Author: Peter TB Brett Date: Sun Sep 1 22:19:00 2013 +0100 gschem: Make sure actions are always evaluated in the same way. This patch makes all gschem actions be evaluated by a new `eval-action' procedure in the (gschem action) Scheme module. commit ff21393a9c8cb200e508908a0975e72c7535e5de Author: Bert Timmerman Date: Sat Dec 15 13:59:52 2012 +0100 scheme-api: correction of a typo. Signed-off-by: Bert Timmerman commit adfcde051935230593135375da750d1a0cce9691 Author: Peter TB Brett Date: Sat Dec 8 09:12:54 2012 +0000 libgeda: Use GFile to load/save configuration. commit d8ff759cef0083b5d53972753b5c10ee81b81cbb Merge: aa42e0c30 2db0d6a9a Author: Peter TB Brett Date: Mon Dec 3 17:27:34 2012 +0000 Merge branch 'wiki-import' into 'master'. commit 2db0d6a9a894f75f26ec9f7be504f3417d972281 Author: Peter TB Brett Date: Mon Dec 3 12:22:50 2012 -0500 Automatic wiki import (Mon Dec 3 17:22:50 UTC 2012) commit df7ab6dd8fbdb98f48cc48233224c7073080c063 Author: Peter TB Brett Date: Mon Nov 26 16:07:01 2012 +0000 libgedaguile: Update geda-scheme.info copyright info. commit b39ed004b51d0fca6e3af3c20a35bb652e45104d Author: Peter TB Brett Date: Mon Nov 26 14:26:06 2012 +0000 libgedaguile: Document (geda config) module. commit f41b4d164422f6d60ec6646709ed66cbb8794a95 Author: Peter TB Brett Date: Fri Nov 23 22:13:55 2012 +0000 libgeda: Config API improvements. Suggested by istankovic: - Clarified that the contexts returned by the configuration context accessor functions (e.g. eda_config_get_system_context()) shouldn't be disposed of with g_object_unref(), since they are owned by the library. - Made it clearer when `length' arguments are mandatory. - Changed the `length' arguments to eda_config_get_groups() and eda_config_get_keys() to gsize pointers instead of gint pointers, and don't attempt to dereference the `length' argument if it's NULL. - Correctly initialised and reset `parent_handler_id' field. - Cleaned up unused variable in eda_config_get_user_context. - Corrected some doc comment errors. - Update propagate_key_file_error() to cope better with bad destination error pointers. commit 9799998924f49ad1e52fcbda4aea19bf7ec0c419 Author: Peter TB Brett Date: Fri Nov 23 22:13:54 2012 +0000 Configuration system API specification. Initial specification for new configuration API that supports per-page values and provides parsed rather than evaluated configuration files. commit ab37d4abc3e64078aeb2b6e5bda69f7afefc31bd Merge: 22b71fb85 3d3d9b7b7 Author: Peter TB Brett Date: Sun Nov 18 17:14:21 2012 +0000 Merge branch 'wiki-import' into stable-1.8. commit 3d3d9b7b71e05e0d1fbeef81bf95a75a05f6d3df Author: Peter TB Brett Date: Sun Nov 18 10:46:11 2012 -0500 Automatic wiki import (Sun Nov 18 15:46:11 UTC 2012) commit 9b3d4d13339ee0f20ddb6d19bf294e3a2e97aabd Merge: 928786d23 846f4cfa3 Author: Peter TB Brett Date: Sat Nov 17 20:35:18 2012 +0000 Merge branch 'wiki-import' into stable-1.8 Conflicts: configure.ac docs/Makefile.am commit 846f4cfa3a6c75e7e443a95a1f0e969f0334d313 Author: Peter TB Brett Date: Sat Nov 17 15:16:46 2012 -0500 Automatic wiki import (Sat Nov 17 20:16:46 UTC 2012) commit e5f92e7eb4800a2e00a3d1bfd7f5c2922ce9976a Author: Peter TB Brett Date: Sat Nov 17 19:01:43 2012 +0000 docs: Remove wiki-related scripts that are no longer needed. commit 7036a55451875d323e833a85c32133e1a63333fa Author: Peter TB Brett Date: Sat Nov 17 18:48:11 2012 +0000 Drastically simplify wiki Makefiles. Removes the need to explicitly list all wiki files in the Makefiles and keep those lists up-to-date when the wiki changes. commit 5d69c79dbc7be5516cd87d47765a63bdb2dcdd33 Author: Eivind Kvedalen Date: Tue Jan 3 00:24:54 2012 +0100 Renamed exception invalid-string to string-format in documentation. commit 09bd3be24aff7139ca4c8d3dc99f520c873a8b2d Author: Eivind Kvedalen Date: Wed Sep 7 20:31:00 2011 +0200 Fixed missing end of function. commit d1305adf92982b3a159707c940bafb8c293223fe Author: Eivind Kvedalen Date: Tue Jun 28 21:43:13 2011 +0200 Partial fix for bug #700448. NULL is returned from o_*_read and o_read_buffer functions if parsing of the input buffer fails. An error object is returned in these cases, describing in detail what error occured. gnetlist is updated to exit with status code 2 if the input file can't be read. gschem is updated to report errors when using o_read_buffer. TODO: * Prone to segfaults on bad input files (separate patch) commit 5751075dd5f5e0429cae9859cab3d6873b21c772 Author: Peter TB Brett Date: Sat Dec 31 23:51:30 2011 +0000 Revert disabling of geda-scheme.info file. This reverts commit c2e926e58e63 and a2465ee90bac, because `make distcheck' works just fine. commit a2465ee90baccab631911049d39257309e3b419b Author: Ales Hvezda Date: Sat Dec 31 17:13:36 2011 -0500 Temporarily removed the processing/shipping of the scheme-api doc. For some unknown reason, make distcheck did not like the scheme-api texi document. Need to investigate and then revert this commit. commit 6fac0c0f99b51a845f8ab7be2c358f703a54d61f Author: Peter TB Brett Date: Wed Dec 21 15:14:03 2011 +0000 scheme-api: Add 'snap-point' function to (gschem window) module. The snap-point function returns the closest on-grid position to a given point. Suggested by Luigi Palese. Affects-bug: lp-905294 commit 4a1b54fdf119538e90f5b0dbc73a5a9d8ddc56da Author: Luigi S. Palese Date: Tue Dec 13 11:20:34 2011 +0100 scheme-api: Added expand-env-variables function to the os module. Reviewed-by: Peter TB Brett commit 0e506ebd5d5cc87a7f373b83b24f2ad3c90fd18b Author: Peter TB Brett Date: Mon Dec 12 14:13:22 2011 +0000 Remove per-tool INSTALL files. Only one top-level INSTALL file is needed, and that is provided by automake. commit 6c0f45f324813ee0c1565f50c0a6e0a7debee9d8 Author: Peter TB Brett Date: Mon Dec 12 13:55:18 2011 +0000 docs: Correct documentation for (user-data-dir). commit 326a4eca0d36eed80a33b201bcbed4942046f61c Author: Peter TB Brett Date: Fri Dec 9 21:09:45 2011 +0000 scheme-api: Create and manipulate picture objects. Closes-bug: lp-898379 commit ae070b080856b6eef1059ee50dede82cc4f0afe8 Author: Peter TB Brett Date: Thu Dec 8 17:23:10 2011 +0000 scheme-api: Add (geda os) module. Add the (geda os) module, which provides operating system information and services, including: - host operating system classification - gEDA standard paths - directory and search path separators commit 30fa50eb42e33e4c8ff616eef7c4ba10eb65d228 Author: Peter TB Brett Date: Thu Dec 8 18:04:31 2011 +0000 scheme-api: Add show-uri and show-file functions to (gschem util). commit 1ceef2c85bdbc454205d7330c86498381f167cc0 Author: Peter TB Brett Date: Sun Dec 4 22:22:53 2011 +0000 scheme-api: Add path manipulation functions. Closes-bug: lp-898377 commit 54bb85c55e147a0222a41f415e3200194d3e70ac Author: Peter TB Brett Date: Wed Nov 30 18:43:57 2011 +0000 gschem: Recursive keymaps. Adds the bind-keys! and lookup-keys functions, which are used to work with key sequences and sub-keymaps. commit d29eb4d67b08065be7e7961725d9b40a234ef1f7 Author: Peter TB Brett Date: Wed Nov 30 18:44:06 2011 +0000 gschem: Basic keymaps. Adds a basic keymap type. A keymap maps key combinations to "bindable objects", which at the moment are expected (but not required) to be thunks or other keymaps. commit 675c01fe262c1bbc912a43a74c3c96ca78dc88e2 Author: Peter TB Brett Date: Wed Nov 30 19:24:06 2011 +0000 gschem: Key sequences. Adds some Scheme API functions for working with key sequences. A key sequence is a vector of key combinations. commit 5a3917a2fe89a1b3e43d0fe9f7ee6a466f65e57c Author: Peter TB Brett Date: Tue Nov 29 16:33:28 2011 +0000 gschem: Key combinations as first-class objects. Adds a new Scheme type to gschem that represents a key combination (e.g. Ctrl+Shift+A). The interface for working with them simply wraps the GTK+ accelerator handling API, which means it's easy to convert the key combination smobs either into a precise representation for storing or into a properly-translated "pretty" representation for display. commit 8f90f5022d2f0c0d24dd4cc7b377116308a9181d Author: Peter TB Brett Date: Mon Jun 27 20:40:23 2011 +0100 Add some files to .gitignore. commit 242562c9b0513f451c9ec2b25b1d8df4c71d01e6 Author: Peter TB Brett Date: Mon Jun 27 08:19:48 2011 +0100 scheme-api: Add info directory macros. commit 31fcff837375b3db8649f1f1854dd0daa98e901a Author: Peter TB Brett Date: Thu Jun 16 21:45:27 2011 +0100 scheme-api: Converting pages to/from strings. commit 71621e0f9d6ed201ac3968823b0b6b852fe3f070 Author: Peter TB Brett Date: Sat Jun 25 11:57:55 2011 +0100 scheme-api: Add mirror-objects! function. commit 01e9ab2b42bff0de6386706ba3eb11e7a7c6f5e9 Author: Peter TB Brett Date: Sat Jun 25 11:19:20 2011 +0100 scheme-api: Add rotate-objects! function. commit 208984c6815066a90c7d1d3583f271524344797e Author: Peter TB Brett Date: Sat Jun 25 10:14:03 2011 +0100 scheme-api: Add translate-objects! function. commit 9ac7ddffcdd09ae0bbf9c62af0457ff957510081 Author: Peter TB Brett Date: Fri Jun 24 22:37:41 2011 +0100 scheme-api: Minor documentation fix-ups. Corrected encoding, made CC licence URL a proper link, and corrected case. commit 2fa4f5712cf6decb4bf3b90002634ba607b1aec4 Author: Peter TB Brett Date: Fri Jun 24 20:24:57 2011 +0100 scheme-api: gschem API documentation (misc). commit 4f6d3a0fd5810d8fabd93a1629495f5c916ae4d3 Author: Peter TB Brett Date: Fri Jun 24 20:04:21 2011 +0100 scheme-api: gschem API documentation (hooks). commit e53af99b5b907819da60a2f6d7666038d351ddd6 Author: Peter TB Brett Date: Fri Jun 24 19:54:29 2011 +0100 scheme-api: gschem API documentation (selections). commit 01e10f7f71a380e2c6aa192d4da6bf8204cbfe2f Author: Peter TB Brett Date: Fri Jun 24 19:49:59 2011 +0100 scheme-api: gschem API documentation (windows and views). commit 7c88e88e38bcd20f6ad3e46604f2b117b6fef0a6 Author: Peter TB Brett Date: Fri Jun 24 14:00:10 2011 +0100 scheme-api: Core API documentation (attributes). commit dd5b9c7c08307104ce360661f6e696ce87c77389 Author: Peter TB Brett Date: Fri Jun 24 08:08:44 2011 +0100 scheme-api: Core API documentation (component objects). commit 224e3edec54febcf055810e6d4220369e50f1ade Author: Peter TB Brett Date: Thu Jun 23 22:02:55 2011 +0100 scheme-api: Core API documentation (text objects). commit 1e9d73ec74c6abd2ddfcf18cccadc9c0c44ff7ff Author: Peter TB Brett Date: Thu Jun 23 21:07:17 2011 +0100 scheme-api: Core API documentation (picture and path objects). commit 832af3a116fd37db9c8a647918179522ee0a10ab Author: Peter TB Brett Date: Thu Jun 23 20:46:57 2011 +0100 scheme-api: Core API documentation (arc objects). commit be7d5d316bbf944f9e0a618ddff795a073de9183 Author: Peter TB Brett Date: Thu Jun 23 19:47:20 2011 +0100 scheme-api: Core API documentation (circle objects). commit e7ed5291067d56419efe3764190d22fa7714937e Author: Peter TB Brett Date: Thu Jun 23 18:44:07 2011 +0100 scheme-api: Core API documentation (box objects). commit b1ca0b60c9218db51132272ffdf0c1815d29b80f Author: Peter TB Brett Date: Thu Jun 23 18:11:21 2011 +0100 scheme-api: Core API documentation (pin objects). commit 623b9fe2ad30c517053b2c8b40723435903e2474 Author: Peter TB Brett Date: Thu Jun 23 16:59:03 2011 +0100 scheme-api: Core API documentation (net and bus objects). commit 37338045adf382ecef00d5ee5f337c4da250b996 Author: Peter TB Brett Date: Thu Jun 23 13:07:59 2011 +0100 scheme-api: Core API documentation (line objects). commit fd1e63aefad0097b1f99cf6cdb31998efec5c407 Author: Peter TB Brett Date: Thu Jun 23 16:33:15 2011 +0100 scheme-api: Core API documentation (general objects). commit bcd036f9432335473d5ad64e18d83df669947eb3 Author: Peter TB Brett Date: Tue Jun 21 21:19:45 2011 +0100 scheme-api: Core API documentation (pages). commit 4a3a197ab3519928c1fdb2b31a0cbc272ba75f12 Author: Peter TB Brett Date: Sun Jun 19 22:04:48 2011 +0100 scheme-api: Add documentation skeleton. commit 5497774003ce85443f774937b8f10df319b2a168 Author: Ales Hvezda Date: Sun Jan 16 00:58:07 2011 -0500 Updated docs from the gEDA wiki commit 1e93f7bea2cbe0fa8887337c261093b55c31dd6d Author: Peter TB Brett Date: Mon Jan 3 23:07:25 2011 +0000 Revert "Remove some CVS keywords." This reverts commit f5ada1de1372bd3772b4f4bd33afa59803c1dade, which was pushed to the repository in error. commit f5ada1de1372bd3772b4f4bd33afa59803c1dade Author: Peter TB Brett Date: Tue Dec 21 12:37:10 2010 +0000 Remove some CVS keywords. commit d34cd2260f47ce12fcd31441a66087462673e43e Author: Ales Hvezda Date: Sun Feb 14 18:30:45 2010 -0500 Removed a bunch of obsolete wiki snapshot creation/cleanup scripts (cherry picked from commit 0a2711ce62dd3f19ae81ecdfd893231de390da9a) (from stable-1.6) commit 88391eddcb73dd9fe9e61aeab61843f568b33918 Author: Ales Hvezda Date: Sun Feb 14 18:26:23 2010 -0500 Updated the wiki snapshot from the official wiki (cherry picked from commit 1b200e957de912ec369124a2efebe16ec4e6b531) (from stable-1.6) commit f556ef7d48cbda4a068db2916ea6e6abad2eb693 Author: Ales Hvezda Date: Sun Feb 14 18:00:02 2010 -0500 Tweaked scripts with updated paths Eventually these scripts should be fixed or rewritten so that they do not have any hardcoded paths. (cherry picked from commit 19e4de650dad95977bc07bae4f897ab6b9d7b110) (from stable-1.6) commit b7ca06041ea464b0d064bfa965843d2907a83571 Author: Ales Hvezda Date: Sun Oct 4 19:39:14 2009 -0400 Updated the wiki docs from the online version (in prep for the next release) (Un)fortunately, the previous mechanism for updating the wiki offline docs from the online version is completely broken now (due to a segfault in an external tool), so a new mechanism was used to download the files. The good news is that the number of files and directories that need to be downloaded has been reduced considerably. This is the first cut of the wiki sync. commit 98fc06c271432b9f59ca49865b8ca9dbe844b9de Author: Ales Hvezda Date: Sat Aug 8 00:44:40 2009 -0400 More Makefile.am cleanup Details on this commit: * Removed even more trace of the old prototype mechanism from the Makefiles. * Removed the cleanup of configure scripts which are no longer there (or for that matter were never in the same directory as some of these Makefiles). * Removal of some files from the *CLEANFILES rules which never existed. * Line length tweaks and fixes commit a4a8c19bb3389548d641a0874a77c77f623ad7a5 Author: Ales Hvezda Date: Fri Aug 7 23:02:01 2009 -0400 Makefile.am cleanup (removal of ChangeLog and Makefile.in files) Details on this commit: * Now that we are no longer storing machine generated ChangeLogs inside the git repository, make maintainer-clean should remove the machine generated ChangeLogs. This way nobody accidently edits the ChangeLog. Only 7 ChangeLogs are left after a make maintainer-clean (intl, po, and one toplevel ChangeLog). * Some directories were missing the removal of Makefile.in when make maintainer-clean is run. Only 3 Makefile.in files remain now after make maintainer-clean (only in the intl directories). * Removed $Id$ tags from some of the Makefiles since we are no longer using CVS. * Removed some unnecessary ChangeLogs from ever being created (from example/gTAG gschem/scripts, and symbol/font). Note 1: There are still some machine generated files still hanging around, but I'm going to leave those alone for now as the .gitignore mechanism properly masks those. Note 2: Made sure that all files that are to be removed in the *CLEANFILES lists comes before the #*# otherwise they will be ignored. commit fc2b205314545d92ea2a7e8f40a7a4c7d5af893d Author: Peter TB Brett Date: Thu Aug 6 17:15:29 2009 +0100 Don't store git-generated ChangeLog files in repository. Don't store ChangeLog files in the git repository and have to remember to update them each time a release is made. Instead, get `make dist' to create the ChangeLogs for you if a git repository is detected. Note: make distcheck does not pass in this commit. commit 77d96e9154d9cfc81b25353ef99b8f8f42999bfb Author: Peter TB Brett Date: Thu Aug 6 14:35:12 2009 +0100 Add top-level NEWS file. This contains important user-visible changes. It should be kept up-to-date, in order to make writing release notes easier. commit 09fcc6d689defb8f43bfc27aac87ee4ac34ce66a Author: Peter TB Brett Date: Thu Aug 6 12:33:07 2009 +0100 Update top-level README file. Well, actually rewrite it entirely. Note: make distcheck does not pass in this commit. commit 433c672579aabb282999377139c9242b319ba044 Author: Peter TB Brett Date: Thu Aug 6 12:38:31 2009 +0100 Only need a single `AUTHORS' file. Move the gschem one to the toplevel (adding several missing names on the way), and remove most of the others. The `AUTHORS' files in the `symbols' and `utils' directories are retained, because they contain some useful information. Note: make distcheck does not pass in this commit. commit ed7134fd403b9f1dc0a75d50e4e7bcfb2fd95cb8 Author: Peter TB Brett Date: Thu Aug 6 11:19:57 2009 +0100 Only need one copy of GPLv2. Also, update to latest version of GPLv2 (from http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt). This corrects the FSF contact address, along with some minor formatting modernisations. Note: make distcheck does not pass in this commit. commit 095c1c7dc49321f094bb6aa8c91630673fb826f9 Author: Peter TB Brett Date: Thu Aug 6 09:01:46 2009 +0100 Add docs to unified build system. Note: make distcheck does not pass in this commit. commit e55e9e247eb33c4a5be56687b4610c6649ef74d7 Author: Peter TB Brett Date: Tue Aug 4 22:06:16 2009 +0100 Remove existing build infrastructure. This simply strips out all configure, m4 and autogen scripts from the whole repository, including the toplevel Makefile. This commit does not compile (what a surprise)! commit fd9b5bd2f1e99f006bbad9db6d64c29547a5f70c Author: Peter TB Brett Date: Thu Aug 6 09:19:02 2009 +0100 docs: `datawiki' substitution is never used. So remove it from the configure script. commit 67aeb9b999d29080118a7af899ad1de362ccd2b8 Author: Peter Clifton Date: Mon Jun 8 23:31:22 2009 +0100 Fix autogen.sh scripts to look for AC_CONFIG_HEADER to run autoheader Since commit #9a7c363c572d32a30fa1522cd7d14b21c2958ca8, the configure scripts in gEDA use AC_CONFIG_HEADER, not AM_CONFIG_HEADER Fixes build problems noted by various users. Identified by Dan McMahill. commit ab590ab70cddfe6a0954d56a31c0ebd1f0bc7691 Author: Ales Hvezda Date: Sat Mar 28 15:55:19 2009 -0400 Updated ChangeLogs one more time for 1.5.2 commit 546d4dbe0124d3f9421116b9e5a8889cccf97b84 Author: Ales Hvezda Date: Sat Mar 28 15:22:19 2009 -0400 Updated all ChangeLogs Updated the ChangeLogs by running: ./update-changelogs.sh 1.0-20070526..master in the toplevel directory commit 859abe69912ba99ca27bb58c378284e9eec56259 Author: Ales Hvezda Date: Sat Mar 28 15:13:59 2009 -0400 Updated all versions to 1.5.2 20090328 36:0:0 Updated by running: ./update-versions.sh 1.5.2 20090328 36:0:0 commit 3c49636e1a9e9e703fab4c6aafc69affb4fd2bab Author: Ales Hvezda Date: Sun Dec 21 16:23:26 2008 -0500 Updated ChangeLogs one more time. commit 2f3e07a1fa7fd92ab163d2cd966efd98ab306512 Author: Ales Hvezda Date: Sun Dec 21 14:40:21 2008 -0500 Updated ChangeLogs again in prep for the 1.5.1 release commit 76d02f7f935d930d8093bd49b7eb0836d3b1aa6e Author: Ales Hvezda Date: Sun Dec 21 14:06:17 2008 -0500 Updated all ChangeLogs in prep for the 1.5.1 release. The update was done by running: ./update-changelogs.sh 1.0-20070526..master commit 680e08085d44c9876bdadef0ca7ef25b474c2006 Author: Ales Hvezda Date: Sun Dec 21 13:39:29 2008 -0500 Updated all versions to 1.5.1 20081221 35:0:0 Updated by running: ./update-versions.sh 1.5.1 20081221 35:0:0 commit 6329c5a7bdae9573f01f92403e4645e79e66aab5 Author: Peter TB Brett Date: Sat Dec 20 14:41:05 2008 +0000 Update copyright header dates to 2008. (And I'll have to do this all again in a few days time). commit 8479d01b6a4a819ae105659a9b9f1e6ab2d85136 Author: Ales Hvezda Date: Sun Jul 6 22:03:02 2008 -0400 Updated all ChangeLogs by running ./update-changelogs.sh 1.0-20070526..master commit 9bf9ef2ca4d2c9741143154c7cfff479dab56bfd Author: Ales Hvezda Date: Sun Jul 6 21:59:10 2008 -0400 Updated the shipped documentation from the online wiki commit 7ae9572f269c8b973bb4a38014e28dbc10cdcb32 Author: Ales Hvezda Date: Sun Jul 6 08:38:24 2008 -0400 Bumped versions to 1.5.0/20080706/34:0:0 for the next development release commit ea474aab8bbe161614ace477fc8c2a08d5c42aa7 Author: Ales Hvezda Date: Sun Jul 6 08:36:07 2008 -0400 Added sleep to throttle the fetching of the wiki commit af0d9f2e8825f7d23c691deec0e70f1eaaac0e38 Author: Ales Hvezda Date: Wed Mar 5 05:27:41 2008 -0500 Updated version to 1.5.0 to mark the start of the next development cycle commit b202ee510fb90cedd038ce5ec41cc6de453dbeea Author: Ales Hvezda Date: Sun Jan 27 11:47:13 2008 -0500 Updated ChangeLogs for the 1.4.0 release commit 3d43c5d642ebe12a69380e8accf5533d338ee5e5 Author: Ales Hvezda Date: Sat Jan 26 20:07:45 2008 -0500 Bumped versions to 1.4.0/20080127/33:0:0 for the next stable release commit 566ba9120149cc955b551455b3feb2ab8fc30287 Author: Ales Hvezda Date: Sat Jan 26 19:25:49 2008 -0500 Updated documentation from the official wiki website commit 7fd6928538ef4ab0de657cd52113290be956b090 Author: Ales Hvezda Date: Sat Jan 26 19:16:45 2008 -0500 Revised script again to remove .gitignore files from distribution Makefile.am commit a3cace0a210e44cdfd943aad96f3dd39c9176909 Author: Ales Hvezda Date: Sat Jan 26 18:48:01 2008 -0500 Fixed up .gitignore files to have the leading . There is a bug in populatemkfiles.sh which removes the leading . (period). This patch adds that period back. commit d2047bc2a06e6534ff32464d36f8a95aec11b9d7 Author: Ales Hvezda Date: Fri Jan 11 01:11:12 2008 -0500 Updated all ChangeLogs for this release (1.3.1) commit b2380c0f70344117be7045a5fc1483698fdf4358 Author: Ales Hvezda Date: Sat Jan 5 20:57:51 2008 -0500 Bumped versions to 1.3.1/20080110/32:0:0 for the next development snapshot Note, libgeda's so did not change at this time. commit 2f7e3ae60480743a8268d392272d05bd77dd75c8 Author: Ales Hvezda Date: Mon Dec 31 20:43:08 2007 -0500 Updated all ChangeLogs for the past development release (1.3.0) This step was supposed to happen before the 1.3.0 tarballs were released. These changes will be picked up in a subsequent release. commit d237ea60a5221ea8dad20765e07d62c8c5596515 Author: Ales Hvezda Date: Sat Dec 29 11:32:06 2007 -0500 Updated documentation (wiki) snapshot from master wiki on the geda website commit ba474af87840a0d49e04a00de96b7df2944c09bd Author: Ales Hvezda Date: Sat Dec 29 09:57:43 2007 -0500 Bumped versions to 1.3.0/20071229/32:0:0 for the next development snapshot commit 3b040cf8d60a8fbe45f6e7c5f3d71a3dea119357 Author: Peter Clifton Date: Wed Dec 19 17:48:57 2007 +0000 Add intltoolize to the build infrastructure Provide intltoolize infrastructure for translating .desktop and MIME XML files. Run gettextize after intltoolize if required, so that the infrastructure for providing libintl on a non GNU system still works. commit 086908ed44c9abc6d5907888695933b59ead4684 Author: Ales Hvezda Date: Sun Sep 2 22:48:59 2007 -0400 Last minute updates to the READMEs for all projects Cherry picked from stable-1.2 branch, since these changes apply to master too. (cherry picked from commit 88fcb8d1bcdaa1436572d6a0ebe86f4df242a8d6) commit 6056ef48272778419d39e0233f395bfd60019ab9 Author: Ales Hvezda Date: Sun Aug 19 22:40:19 2007 -0400 Update ChangeLogs using: ./update-changelogs.sh 1.0-20070526..master commit 92b3b65d0cec286b0ce59fc43cc07dcb60c39fa1 Author: Ales Hvezda Date: Sat Aug 18 16:14:30 2007 -0400 Bumped versions to 1.1.2/20070818/30:2:0 for the next development snapshot commit dd18ffcfdb7d6d0b45d64c8ed453d691d5f3575c Author: Ales Hvezda Date: Sat Aug 18 15:46:17 2007 -0400 Another attempt to commit wiki snapshot updates commit e7388fcf022cbb88f48bd5c400765c62c49ef700 Author: Ales Hvezda Date: Sat Aug 18 15:36:44 2007 -0400 Updated wiki snapshot from the live wiki commit e978b9098c7567ad3b9c834a5e4914de3bc039ec Author: Ales Hvezda Date: Sun Jul 8 18:18:39 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit d7e8f5abc35644e90bfabf84396023cab09f2968 Author: Ales Hvezda Date: Sun Jul 8 16:18:57 2007 -0400 Updated configure.ac[.in] and Makefile versions in prep for a release. The update was done by running ./update-versions.sh 1.1.1 20070708 30:1 at the toplevel. libgeda's shared library version is now 30:1:0 commit 3f3505662fe4bb8c585aea0ea965296bd923956c Author: Carlos Nieves Onega Date: Sun Jul 8 21:16:17 2007 +0200 Added *~ to .gitignore files. commit ee1821ad48f0553d9287be6be9ca7fd3e5c965e9 Author: Ales Hvezda Date: Thu Jul 5 09:11:20 2007 -0400 Added new script to EXTRA_DIST commit dd995d808b9f4440db48d2daa2473a9d9cfd88ef Author: Ales Hvezda Date: Thu Jul 5 01:36:31 2007 -0400 Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master commit 24bc0f38e5eedc7f67c33f52c7395236d62d24de Author: Ales Hvezda Date: Thu Jul 5 01:27:02 2007 -0400 Downloaded and integrated latest wiki documentation from the geda website. Also updated some of the wiki scripts a little. Fetching and integrating the latest wiki version isn't fully automated yet, but getting there. commit 099c49e5689afda4b8a5221dde73f9fdf1972ce7 Author: Ales Hvezda Date: Thu Jul 5 00:11:45 2007 -0400 Updated all version strings to 1.1.0 and 20070705 commit dc7b8c53f4bc94626634887e46167a367a91f707 Author: Ales Hvezda Date: Wed Jul 4 23:32:15 2007 -0400 Changed gEDA/gaf's version mechanism to use new dotted X.Y.Z convention Added DOTTED_VERSION and DATE_VERSION variables to all configure.ac[.in] files. Changed all version related output to be DOTTED_VERSION.DATE_VERSION. Updated the configure.ac[.in] files to have consistent top sections. Updated code and various scheme files to use the new DOTTED_VERSION and DATE_VERSION variables available via config.h. Stopped using PREPEND_VERSION_STRING as the mechanism for doing the dotted versions (not intended for that use). Updated update-versions.sh script to set the version in all the configure.ac[.in] files and the toplevel Makefile. Went through all the g_rc.c files and make the handling of rc file mismatch handling consistent. commit edff766e8b15c311505810241528026f722e30b6 Author: Peter TB Brett Date: Sat Jun 23 18:19:11 2007 +0100 Make sure various files are installed. Several new files were not being distributed. This patch addresses the problem by adding files to EXTRA_DIST in automake input files. commit e57c37a66edc1c4d4e4d7160001749df51b96c4b Author: Peter Clifton Date: Sat Jun 23 18:17:29 2007 +0100 Move all .cvsignore files to .gitignore files commit 065595ccd8b5e77616c29a37742357cfab0ae7f7 Author: Peter TB Brett Date: Sat Jun 23 16:11:44 2007 +0100 Changes to ChangeLog usage. With actual changes this time. Old-style changelogs as of gaf 1.0 (release of 26th June 2007) are moved to ChangeLog-1.0; new (blank) ChangeLogs replace them. A script has been added to the gaf top level to allow maintainers to update all the ChangeLog files immediately prior to making out a release. lepton-eda-1.9.10/docs/toplevel/0000755000175000017500000000000013634704606013426 500000000000000lepton-eda-1.9.10/docs/toplevel/Makefile.in0000644000175000017500000004431613634703705015422 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = docs/toplevel ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/geda-assert.m4 \ $(top_srcdir)/m4/geda-awk.m4 $(top_srcdir)/m4/geda-cairo.m4 \ $(top_srcdir)/m4/geda-contrib.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-liblepton.m4 \ $(top_srcdir)/m4/geda-libleptonrenderer.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lepton-data-dirs.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pcb-data-dirs.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = gedadocs.html CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(docsdir)" DATA = $(docs_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/gedadocs.html.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITMAP_DIRECTORY = @BITMAP_DIRECTORY@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CAIRO_PDF_CFLAGS = @CAIRO_PDF_CFLAGS@ CAIRO_PDF_LIBS = @CAIRO_PDF_LIBS@ CAIRO_PNG_CFLAGS = @CAIRO_PNG_CFLAGS@ CAIRO_PNG_LIBS = @CAIRO_PNG_LIBS@ CAIRO_PS_CFLAGS = @CAIRO_PS_CFLAGS@ CAIRO_PS_LIBS = @CAIRO_PS_LIBS@ CAIRO_SVG_CFLAGS = @CAIRO_SVG_CFLAGS@ CAIRO_SVG_LIBS = @CAIRO_SVG_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOT = @DOT@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LIBS = @GDK_LIBS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GETTEXT = @GETTEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIT = @GIT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILD = @GUILD@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_EFFECTIVE_VERSION = @GUILE_EFFECTIVE_VERSION@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_LTLIBS = @GUILE_LTLIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEPTONDATADIR = @LEPTONDATADIR@ LEPTON_SCM_PRECOMPILE_DIR = @LEPTON_SCM_PRECOMPILE_DIR@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBLEPTONRENDERER_SHLIB_VERSION = @LIBLEPTONRENDERER_SHLIB_VERSION@ LIBLEPTON_GETTEXT_DOMAIN = @LIBLEPTON_GETTEXT_DOMAIN@ LIBLEPTON_SHLIB_VERSION = @LIBLEPTON_SHLIB_VERSION@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGOCAIRO_CFLAGS = @PANGOCAIRO_CFLAGS@ PANGOCAIRO_LIBS = @PANGOCAIRO_LIBS@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ docsdir = $(docdir) docs_DATA = gedadocs.html EXTRA_DIST = gedadocs.html.in DISTCLEANFILES = gedadocs.html all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/toplevel/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign docs/toplevel/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): gedadocs.html: $(top_builddir)/config.status $(srcdir)/gedadocs.html.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-docsDATA: $(docs_DATA) @$(NORMAL_INSTALL) @list='$(docs_DATA)'; test -n "$(docsdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(docsdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(docsdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docsdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docsdir)" || exit $$?; \ done uninstall-docsDATA: @$(NORMAL_UNINSTALL) @list='$(docs_DATA)'; test -n "$(docsdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docsdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(docsdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-docsDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-docsDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-docsDATA install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-docsDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: lepton-eda-1.9.10/docs/toplevel/gedadocs.html.in0000644000175000017500000000066413634703632016416 00000000000000 gEDA Documentation

gEDA documention

version @VERSION@


Available Documentation:

  • gEDA wiki snapshop @VERSION@ : HTML

lepton-attrib

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
AUTHORS
COPYRIGHT
SEE ALSO

NAME

lepton-attrib - Lepton EDA Schematic Attribute Editor

SYNOPSIS

lepton-attrib [OPTION ...] [FILE ...]

DESCRIPTION

lepton-attrib is a spreadsheet-like tool for bulk editing of attributes in Lepton EDA schematics, usually created in lepton-schematic(1).

If no FILEs to open are specified on the command line, lepton-attrib will display a file selector dialog on startup.

OPTIONS

-q, --quiet

Quiet mode. Turn off all warnings/notes/messages.

-v, --verbose

Verbose mode. Output all diagnostic information.

-h, --help

Print a help message.

-V, --version

Print version information.

AUTHORS

See the ’AUTHORS’ file included with this program.

COPYRIGHT

Copyright © 1998-2017 by Ales Hvezda and the respective original authors.
Copyright © 2017-2020 Lepton Developers.
License GPLv2+: GNU GPL version 2 or later. Please see the ’COPYING’
file included with this program for full details.

This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

lepton-schematic(1)


lepton-eda-1.9.10/attrib/docs/lepton-attrib.dox0000644000175000017500000014400313634703632016301 00000000000000# Doxyfile 1.4.6 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = lepton-attrib # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, # Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, # Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, # Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, # Swedish, and Ukrainian. OUTPUT_LANGUAGE = English # This tag can be used to specify the encoding used in the generated output. # The encoding is not always determined by the language that is chosen, # but also whether or not the output is meant for Windows or non-Windows users. # In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES # forces the Windows encoding (this is the default for the Windows binary), # whereas setting the tag to NO uses a Unix-style encoding (the default for # all platforms other than Windows). USE_WINDOWS_ENCODING = YES # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = NO # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = YES # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like the Qt-style comments (thus requiring an # explicit @brief command for a brief description. JAVADOC_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the DETAILS_AT_TOP tag is set to YES then Doxygen # will output the detailed description near the top, like JavaDoc. # If set to NO, the detailed description appears after the member # documentation. DETAILS_AT_TOP = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 4 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = YES # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for Java. # For instance, namespaces will be presented as packages, qualified scopes # will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to # include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = YES # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = YES # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = NO # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from the # version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = ../src ../include ../docs/attrib-main.txt # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py FILE_PATTERNS = *.c *.h # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = YES # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = ../docs # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = ../docs # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES (the default) # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = NO # If the REFERENCES_RELATION tag is set to YES (the default) # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = NO # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = YES # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compressed HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be # generated containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. GENERATE_TREEVIEW = YES # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = /usr/include # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = YES # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = YES # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = YES # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will # generate a call dependency graph for every global function or class method. # Note that enabling this option will significantly increase the time of a run. # So in most cases it will be better to enable call graphs for selected # functions only using the \callgraph command. CALL_GRAPH = YES # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_WIDTH = 1024 # The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_HEIGHT = 1024 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that a graph may be further truncated if the graph's # image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH # and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), # the graph is not depth-constrained. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, which results in a white background. # Warning: Depending on the platform used, enabling this option may lead to # badly anti-aliased labels on the edges of a graph (i.e. they become hard to # read). DOT_TRANSPARENT = YES # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = YES lepton-eda-1.9.10/attrib/docs/Makefile.in0000644000175000017500000005274013634703703015053 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = attrib/docs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/geda-assert.m4 \ $(top_srcdir)/m4/geda-awk.m4 $(top_srcdir)/m4/geda-cairo.m4 \ $(top_srcdir)/m4/geda-contrib.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-liblepton.m4 \ $(top_srcdir)/m4/geda-libleptonrenderer.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lepton-data-dirs.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pcb-data-dirs.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(dist_docsman_DATA) \ $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } man1dir = $(mandir)/man1 am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docsmandir)" NROFF = nroff MANS = $(dist_man_MANS) DATA = $(dist_docsman_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITMAP_DIRECTORY = @BITMAP_DIRECTORY@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CAIRO_PDF_CFLAGS = @CAIRO_PDF_CFLAGS@ CAIRO_PDF_LIBS = @CAIRO_PDF_LIBS@ CAIRO_PNG_CFLAGS = @CAIRO_PNG_CFLAGS@ CAIRO_PNG_LIBS = @CAIRO_PNG_LIBS@ CAIRO_PS_CFLAGS = @CAIRO_PS_CFLAGS@ CAIRO_PS_LIBS = @CAIRO_PS_LIBS@ CAIRO_SVG_CFLAGS = @CAIRO_SVG_CFLAGS@ CAIRO_SVG_LIBS = @CAIRO_SVG_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOT = @DOT@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LIBS = @GDK_LIBS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GETTEXT = @GETTEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIT = @GIT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILD = @GUILD@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_EFFECTIVE_VERSION = @GUILE_EFFECTIVE_VERSION@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_LTLIBS = @GUILE_LTLIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEPTONDATADIR = @LEPTONDATADIR@ LEPTON_SCM_PRECOMPILE_DIR = @LEPTON_SCM_PRECOMPILE_DIR@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBLEPTONRENDERER_SHLIB_VERSION = @LIBLEPTONRENDERER_SHLIB_VERSION@ LIBLEPTON_GETTEXT_DOMAIN = @LIBLEPTON_GETTEXT_DOMAIN@ LIBLEPTON_SHLIB_VERSION = @LIBLEPTON_SHLIB_VERSION@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGOCAIRO_CFLAGS = @PANGOCAIRO_CFLAGS@ PANGOCAIRO_LIBS = @PANGOCAIRO_LIBS@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = lepton-attrib.dox what-is-lepton-attrib.html what-is-geda.html \ attrib-main.txt logo.png lepton-attrib.1.in dist_man_MANS = lepton-attrib.1 # Rules for converting man->html html_man_files = lepton-attrib.html SUFFIXES = .1.in .1 .html docsmandir = $(docdir)/man dist_docsman_DATA = $(html_man_files) CLEANFILES = $(dist_man_MANS) $(html_man_files) all: all-am .SUFFIXES: .SUFFIXES: .1.in .1 .html $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign attrib/docs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign attrib/docs/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-man1: $(dist_man_MANS) @$(NORMAL_INSTALL) @list1=''; \ list2='$(dist_man_MANS)'; \ test -n "$(man1dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.1[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ done; } uninstall-man1: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.1[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) install-dist_docsmanDATA: $(dist_docsman_DATA) @$(NORMAL_INSTALL) @list='$(dist_docsman_DATA)'; test -n "$(docsmandir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(docsmandir)'"; \ $(MKDIR_P) "$(DESTDIR)$(docsmandir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docsmandir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docsmandir)" || exit $$?; \ done uninstall-dist_docsmanDATA: @$(NORMAL_UNINSTALL) @list='$(dist_docsman_DATA)'; test -n "$(docsmandir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docsmandir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(MANS) $(DATA) installdirs: for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docsmandir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-local dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dist_docsmanDATA install-man install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-man1 install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic \ maintainer-clean-local mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-dist_docsmanDATA uninstall-man uninstall-man: uninstall-man1 .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distclean-local distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dist_docsmanDATA install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-man1 install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ maintainer-clean-local mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-dist_docsmanDATA uninstall-man \ uninstall-man1 .PRECIOUS: Makefile all: @echo 'Type: make doxygen to create doxygen documentation for lepton-attrib' doxygen: lepton-attrib.dox @echo 'Creating doxygen documentation for lepton-attrib...' @ENABLE_DOXYGEN_TRUE@ $(DOXYGEN) lepton-attrib.dox @ENABLE_DOXYGEN_FALSE@ @echo 'configure was not run with the --enable-doxygen switch.' @ENABLE_DOXYGEN_FALSE@ @echo 'The documentation cannot be built from the sources.' .1.in.1: d=`$(GUILE) -c '(setlocale LC_ALL "C") \ (display (strftime "%B %-d, %Y" \ (car (strptime "%Y%m%d" (cadr (program-arguments))))))' $(DATE_VERSION)` ; \ v="$(DOTTED_VERSION).$(DATE_VERSION)" ; \ y=`echo $(DATE_VERSION)| sed -e"s/\(....\).*/\1/"`; \ sed -e"s:[@]DATE@:$$d:" -e"s:[@]VERSION@:$$v:" -e"s:[@]YEAR@:$$y:" < $< > $@ @ENABLE_GROFF_HTML_TRUE@.1.html: @ENABLE_GROFF_HTML_TRUE@ rm -rf $@.tmp && \ @ENABLE_GROFF_HTML_TRUE@ LC_NUMERIC=C $(GROFF) -man -T html $< >$@.tmp && \ @ENABLE_GROFF_HTML_TRUE@ mv -f $@.tmp $@ @ENABLE_GROFF_HTML_FALSE@.1.html: @ENABLE_GROFF_HTML_FALSE@ @echo "No working groff available: cannot create $@" @ENABLE_GROFF_HTML_FALSE@ @! : distclean-local: -rm -rf html latex maintainer-clean-local: -rm -rf html latex # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: lepton-eda-1.9.10/attrib/docs/lepton-attrib.10000644000175000017500000000236713634704513015654 00000000000000.TH lepton-attrib 1 "March 19, 2020" "Lepton EDA" 1.9.10.20200319 .SH NAME lepton-attrib - Lepton EDA Schematic Attribute Editor .SH SYNOPSIS .B lepton-attrib [\fIOPTION\fR ...] [\fIFILE\fR ...] .SH DESCRIPTION .PP \fBlepton-attrib\fR is a spreadsheet-like tool for bulk editing of attributes in Lepton EDA schematics, usually created in \fBlepton-schematic\fR(1). .PP If no \fIFILE\fRs to open are specified on the command line, \fBlepton-attrib\fR will display a file selector dialog on startup. .SH OPTIONS .TP 8 \fB-q\fR, \fB--quiet\fR Quiet mode. Turn off all warnings/notes/messages. .TP 8 \fB-v\fR, \fB--verbose\fR Verbose mode. Output all diagnostic information. .TP 8 \fB-h\fR, \fB--help\fR Print a help message. .TP 8 \fB-V\fR, \fB--version\fR Print version information. .SH AUTHORS See the `AUTHORS' file included with this program. .SH COPYRIGHT .nf Copyright \(co 1998-2017 by Ales Hvezda and the respective original authors. Copyright \(co 2017-2020 Lepton Developers. License GPLv2+: GNU GPL version 2 or later. Please see the `COPYING' file included with this program for full details. .PP This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH SEE ALSO \fBlepton-schematic\fR(1) lepton-eda-1.9.10/attrib/docs/attrib-main.txt0000644000175000017500000000046113634703632015750 00000000000000/*! \mainpage lepton-attrib - The Lepton Electronic Design Automation attributes editor for the schematic capture tool. \image html logo.png \section geda-intro gEDA Introduction \htmlinclude what-is-geda.html \section gattrib-intro gAttrib Introduction \htmlinclude what-is-lepton-attrib.html */ lepton-eda-1.9.10/attrib/docs/what-is-lepton-attrib.html0000644000175000017500000001034713634703632020030 00000000000000 What is lepton-attrib?

lepton-attrib is the attribute editor for lepton-schematic, the schematic capture program/tool which is part of Lepton EDA. lepton-attrib's sole purpose is to facilitate the editing of attributes of components.

sdb_notes SDB's original comment in gattrib.c

In the spirit of open source/free software, major sections of gattrib's code were borrowed from other sources, and hacked together by SDB in Dec. 2003.
Particularly rich sources for code were gEDA/gnetlist, and the gtkextra program testgtksheet.c.

Thanks to their authors for providing the foundation upon which this is built.
Of course, I *did* write major portions of the code too . . . . .
Some documentation about the internal operation of this program can be found in the "NOTES" file in the gattrib top-level directory.
-- SDB December 2003 --

Architecture

Extracted from SDB's mailing list posting: http://osdir.com/ml/cad.geda.devel/2007-06/msg00282.html - believed to still be relevant.

lepton-attrib has three major components:

  • It manipulates objects held in the TOPLEVEL data structure.
    It does this by importing structs and functions from liblepton.
  • lepton-attrib defines its own layer of structs, notably SHEET_DATA, which holds a table of attrib name=value pairs, and also holds a couple of linked lists corresponding to all component's refdeses, and to all attribute names found in the design.
    This stuff is native to lepton-attrib.
  • lepton-attrib uses a spreadsheet widget called GtkSheet.
    This stuff came from the GtkExtra project, which at one time offered a bunch of interesting widgets for graphing and visualization.
    I think they're still around; you can do a Google search for them.
    I stole the two .h files defining the spreadsheet widgets, and also stole code from the program itself to implement the run-time functions which deal with the spreadsheet.

When run, lepton-attrib does this:

  • It uses liblepton functions to read in your design, and fill up the TOPLEVEL struct.
  • It then loops over everything in TOPLEVEL and fills out the refdes list and the attribute name list. It sticks these into a STRING_LIST which is associated with the SHEET_DATA struct.
  • Then, knowing all the refdeses and all the attribute names, it creates a TABLE data struct (a member of SHEET_DATA), and loops over each cell in the TABLE.
    For each cell, it queries TOPLEVEL for the corresponding name=value pair, and sticks the value in the TABLE.
  • When done with that, it then creates a GtkSheet and populates it by looping over TABLE.
  • Then it turns over control to the user, who can manipulate the GtkSheet.
    As the user adds and deletes values from the GtkSheet, the values are stored locally there.
    The GtkSheet is the master repository of all attributes at that point; the other data structures are not updated.
Saving out a design is similar, except the process runs in reverse:
  • The program loops over all cells in GtkSheet, and sticks the values found into SHEET_DATA.
    Handling issues like added/deleted columns happens first at the GtkSheet, and then to SHEET_DATA and TOPLEVEL.
    I've kind of forgotten how I implemented these feaures, however. :-S
  • Then, the program loops over the cells in SHEET_DATA, and updates the attributes in TOPLEVEL using functions from liblepton, as well as by reaching directly into the TOPLEVEL data structure (a software engineering no-no).
    If a previously existing attrib has been removed, then it is removed from TOPLEVEL.
    If a new attrib has been attached to a component, then it is added to TOPLEVEL.
  • Then the design is saved out using the save function from liblepton.

Therefore, think of SHEET_DATA and the other lepton-attrib data structures as a thin layer between GtkSheet and TOPLEVEL.
The lepton-attrib data structures are used basically for convenience while trying to build or update either of the two other, more important data structures.

lepton-eda-1.9.10/attrib/docs/Makefile.am0000644000175000017500000000251313634703632015034 00000000000000EXTRA_DIST = lepton-attrib.dox what-is-lepton-attrib.html what-is-geda.html \ attrib-main.txt logo.png lepton-attrib.1.in all: @echo 'Type: make doxygen to create doxygen documentation for lepton-attrib' doxygen: lepton-attrib.dox @echo 'Creating doxygen documentation for lepton-attrib...' if ENABLE_DOXYGEN $(DOXYGEN) lepton-attrib.dox else @echo 'configure was not run with the --enable-doxygen switch.' @echo 'The documentation cannot be built from the sources.' endif dist_man_MANS = lepton-attrib.1 .1.in.1: d=`$(GUILE) -c '(setlocale LC_ALL "C") \ (display (strftime "%B %-d, %Y" \ (car (strptime "%Y%m%d" (cadr (program-arguments))))))' $(DATE_VERSION)` ; \ v="$(DOTTED_VERSION).$(DATE_VERSION)" ; \ y=`echo $(DATE_VERSION)| sed -e"s/\(....\).*/\1/"`; \ sed -e"s:[@]DATE@:$$d:" -e"s:[@]VERSION@:$$v:" -e"s:[@]YEAR@:$$y:" < $< > $@ # Rules for converting man->html html_man_files = lepton-attrib.html SUFFIXES = .1.in .1 .html docsmandir=$(docdir)/man dist_docsman_DATA=$(html_man_files) if ENABLE_GROFF_HTML .1.html: rm -rf $@.tmp && \ LC_NUMERIC=C $(GROFF) -man -T html $< >$@.tmp && \ mv -f $@.tmp $@ else .1.html: @echo "No working groff available: cannot create $@" @! : endif CLEANFILES = $(dist_man_MANS) $(html_man_files) distclean-local: -rm -rf html latex maintainer-clean-local: -rm -rf html latex lepton-eda-1.9.10/attrib/docs/lepton-attrib.1.in0000644000175000017500000000235313634703632016255 00000000000000.TH lepton-attrib 1 "@DATE@" "Lepton EDA" @VERSION@ .SH NAME lepton-attrib - Lepton EDA Schematic Attribute Editor .SH SYNOPSIS .B lepton-attrib [\fIOPTION\fR ...] [\fIFILE\fR ...] .SH DESCRIPTION .PP \fBlepton-attrib\fR is a spreadsheet-like tool for bulk editing of attributes in Lepton EDA schematics, usually created in \fBlepton-schematic\fR(1). .PP If no \fIFILE\fRs to open are specified on the command line, \fBlepton-attrib\fR will display a file selector dialog on startup. .SH OPTIONS .TP 8 \fB-q\fR, \fB--quiet\fR Quiet mode. Turn off all warnings/notes/messages. .TP 8 \fB-v\fR, \fB--verbose\fR Verbose mode. Output all diagnostic information. .TP 8 \fB-h\fR, \fB--help\fR Print a help message. .TP 8 \fB-V\fR, \fB--version\fR Print version information. .SH AUTHORS See the `AUTHORS' file included with this program. .SH COPYRIGHT .nf Copyright \(co 1998-2017 by Ales Hvezda and the respective original authors. Copyright \(co 2017-@YEAR@ Lepton Developers. License GPLv2+: GNU GPL version 2 or later. Please see the `COPYING' file included with this program for full details. .PP This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH SEE ALSO \fBlepton-schematic\fR(1) lepton-eda-1.9.10/attrib/docs/logo.png0000644000175000017500000003677613634703632014470 00000000000000‰PNG  IHDRÕm‰SbKGDÿÿÿ ½§“ pHYs  ÒÝ~ütIMEÔ&.híï IDATxœí}Œ^Õ}ç¿ç{ÆöÓ0IìˆÉ®‘&­uÐu"œÅÝu$™]†ÅVØÂ.Q!G *h=Ζ.YÑnðŠDñnˆbZ£b#™«u‹Ùoã–ik§¸ŠÛL¶ãÖ263fžñ³œçø9Ïózï¹÷žsŸßGºzî=÷œß9Ï};ßû;/ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ˆ@©•]€Iþ÷4ÇB•¦›+A§i“í*ü‡\ˆ½"ÌRþo¥ ò&ëuj›Þ%ŸØïÐ=˜Uûby˜ÇRN";óq»êº¨—]€ˆöE¸ ! ß•–«=òÈD¹$+ ÓvlÄ\~UÙ]žI”e‰‚˜*^ÖËm[{i,]žÇÓ§m _åÏÃC:±{8e•·ÊBÂÔ,’ ‹ù¿n"¡‰¶Ç£òb#–ž(jÂ/,j-<\ŒŸL/®û>úqøÄUôÕôà#/W²ä—·`(û:ñ‰må³ qmÊ)û?éÄJ(‚J ËR¦´iu×£«MqxQØ×HÄ›Ö+%2bxÐ%ÅELPô´–:Ú₇‹éT,Rä£ K¦±Á¶ÒOãɳ‚ÏêµÈZ6™€Ë;OSœïUÙÊ®ìÒâ"Hò¨@M6]ò1ÅÍÛ{‘§à0Ùö)lIšüÒ–“§»hˆ'Š .0D¡!Û®!?0NqÁ…D½µô¶Â{…ý¢ðÓ'íñu™`y;tqlyKÒxPÄ4®éeñ\SVad ÷ímIsl|•¡[¼¾*ZWGÚ !«-1à"(lÅ…‹qÍßUpÈÊ’&.?[gÊWUù»Š>11ü"˜§‚ÿò¥`m‘Á½•!?Ì’âbQëw1˜¨X,,½èÜ›‘| ÖUЪJÎ¥¹Åæÿè*dqŸMå/Ʊ©mÄ€­8H#r’éLù&u‘‘Ö”öøø äûÓUÅã»Y%må– wñޤ+¦ŠÒ¶¢wÙ§ÚVýšlêÄ„)/]\‘‹Š86çÇæ˜Ê%;º¼U‚Côpˆâ‚ Š[¿|}^Ø®„È} oÅÅb}úÁDEk› îÕàé¸Ð̸ªÒ4‰ ݰ«=—·|×´€›pq$¶^YÂÇÖ“Ö[bc?&2EFÚ·<׸.o‹®y¥yk–UTy½i›¼Y¼:Ñâ"vlÒŠût^Så­«ô]ŒˆjéEM~|¿*†°¿¶¸˜0ÛZ.´â}(¤«ó¢¡ Œ:û\ô -.–¡-0–µ–Å–¢íÉài€¶7#Irˆ«î PWdºÊ(¹OV]3MzO·/iË¥Ì6žit¸­Wɵ¹&ksˆ«ÇtŽŠ$MCÚ´6•¢«WÂåÍU•F•m…—G›7{Y<Q¤{ƒ7¹ým…ÉK úÏ*›&ÙL,ªrÉâËÊ¡K/ûŸÀBÃË-z/Äæ –€ÕUÐù,â^zâ7JB.2¸pX&.–Xà²Öz?˜ÀX‚N‘Á=@û$ŠBÁTQÉšTdûUqtömß’eÍ ®¬éÿÈl©Ê£ú6ölË)KkkÃÆ®©|¦xº8YmøL—.o²yÙ´ÍWç5°ñlØVB.ë²üm=&›IÛ¶oüºŠÔ”VŒo*«NˆØ„Ù¦µ-‹É®ìÈDžèÁH .,æÁÄÇfÀ¼KœC».EÕœ-! Œd%Ƚ½`â¢L\\&0ZK?Ø ã"CU"«üeCÕ§!Y&Wa‘´!³o*‹­7À$ŠLidqlíØäëbÏÅŽ® ²4i„€k¸í~×xe’ET¸¦µy¸ÚTüºp—ô6×7]zW1£Ú/ó¨ÒØTâ2›.E—·NÀ¨Ê“L+‹«jÆH “ ™½¤‹B8÷^̉‹ `ã<Úx܆ŸÛÖ{„)0€ÎQ |ÄÈb0ñÀ›E.pÚ"c):ûbpaÂ+›¤ P‰$ÂM‚ÀV¤˜šV\ò±ñ¦¤‰kÚ¶­ð]ì»æ¡ËË%×0—8Y„BÞ"ƒÛOûf”&]Q"‹—UL¸Æ5‰ ›üM°]Q¡Kk.oÿ¦ôºt:qg&¡¢ÊÇEP%=º_W O6Ì¡í¹àö‹Âþdó¿W£m& U`íᦼƒ'÷`,¼‰„/¼o†8ªDÉ>ÉmÝ›¸Éc‘\7y'löë*Pͬ^ 6ñMy¹Ø1í³)«Í>×|\ Q€¤im¦ilä)F²Ø²µaãõÐí³ÍÛ¦’O¢êb# LñL•¿L4èò“•Uv|’ž™—Bæõm^ìp‘Á›GúÐé¹E“lÚÏãÞ,„¯D¹Ðà£GxÏ¥h{2¸ƒ÷Ãàseè†Î{!ûu‰çÛ`SÉ»Væi¼¦pQžÏý¶•³k%^”×!T\€¾½ YãØ —ý®"DnSV[¯…n;±õr¤‰›5ŽÏ_]þ2qtvðäÍ|´È Ú÷3ïkq¡µð—c.0zZv¢ô^á ~Ä~âܼ£ç2´…÷`pÁ…‰(2àð+–ÅÅ[E0¸ÆÍbG—.ž¥Òöá‰pÉÏ6Ž4EÚ‹™¬o`YÒûð”ØÄÉ"$|Åu'º¼Ò [ñcòHؤ·õ¸øÉíd™ƒ‹ŒÑù‰ Þ/c¬Þ:V·‰s9Eÿ U`ˆp/F çÂàÞŒ~a[œCœæ™#­PőųµaŠ«Kc²Fdõ,˜â¸ÜL¡‰è9Á¸yŸ¼<"iâ§!º}yÛr¸xGÄ0[¡cc?‹0ÉêõÐ 'U<Ñ‹Á;yŠ“?¢Öv þòœ|1ŽžÐ†Lpoöàâb±fÝL*ï…ªµ ÷Ùüà"2La®qmöûyÄ+ÊN,ù†ˆë±Hë©°ÍG´ïR¶fŠøYöÛÄu+.Ù>á’Ö’eÝäEIãÝPíS‰•ä7GDÆ"!LVgñúM˜ ª¢!4,üÜ:ß®–^tž$UóˆK†kåï",lã¨Â|†—'Ïô¡äAØãë|¨*΢Î7ÏǦ&±!+³Lð¨Ä“É‹d+`dÛª²¥Ývõh¨öÙŠ [O Î*n/Jls‡×SÉºŠ¯êïhE9’$D!ÂO˜ØëVì—!Š qIz/Da‘Ws‡m|S—t¶û|Æ M8Ä$b*«Š´^†"IãÑða/iÓö~sm~Ñ=‡’¶LbÆ”N•§ª¢7ÅÓUþª´É}ÉÊ]öLâA® ÉUQ9B:ÄÆ·eÂ"™ÆV\˜ÜUi=><¦}¶qÊ>íø"´òrBÝ 4ÄxY„†ë¶ Ý›}²‚7 ;ª0'CW'M&•#6! ɰd|Högñ*¤­Ü]*°¬â"TB+{hå!Ü)[pør_û¬\]óMc'Kþ¶´¸P{%TÛÉu—¾(Iï„ÌžlŸî?ˆuUWx0*«œ\ßä]OzˆI^e ñ¿¦¥Jÿ…hCçUNÇ%7ÖG|¤ÉÓ‡¸Ò×kŒÃæ"ÎêAH? ®åŒ¹y"¤)¤²þ)úüúÌ/Ôk3„r…R1‡X—ILM$¢²éê*DÊîwáCX„Øï"”›+”rÅ ë?K~¶Í%EöÇÅóу‡eí‘DÖ樂…XÓhYšd¼d3½é9”¬Û¢&t†k]Œ¼ñá5ñÙvC©ÔC)Q±ž_/¶ñC8Ni›¬³4qÙ<ÒU„.082ïB‘nÉ*\LUøièÖÿMtR±*eÛ›zm<Ò•ïðƒÀ°m:ðÕwÁÕkâJÍ#ä½BˆpˆñzÈó >OBó’”!L²z–B;§ÎÄ 0Ò¶ŸAÕ&ÔÊ¥h²ßÿ-¯Š5«—úÂtˆÁ‹‘gÞ¶ÄW?Œ¼”ëþh!Q~Ûl¨Í#1CÇ„ÐA^ =¡xBÉC•gqÒU^ô˜†©ù7wXWè«Vaéè(02ô÷³o¿ œ8=ŠOå)‹˜/ü˜ËNG ‘~@Ê#YŽï´Eœ¢Î¹*Ÿ®{6Å&0\ñ~BÇÆ°ô‘G€ë®SÇ™œDÿ÷¾<ù$pö,fM6›M,¶É{f† ˜—^¾õ-`j s›—Îm­†yûžèº›ˆˆ–˜*5[;UNy·4dz*Ƕ0B« j`Ôôè° Àe†|ÀǬh­À­ýý–´ÒÕÑùźdÈ¥íÁA,ûþ÷›o¶ÿ3““À–-À‘#˜•ؾdßV`ˆLO÷Þ ìÝ‹†lFkÿ‹Ð®g"@ÆÇËÍ¿õâqÑoýz,Z¿Þ_¾§O§N'OÇŽPW˜6©,N2ÌhdKo¿]É›oàœÆ¶)Ϧåºýd˜ì—/[Ë<€€Ì8àçÞðNkù'§¼×ZεâζÒ6[¿QÚ9À0€¶ÀXܲa#0L‡j°r%–½ök€FØ»ؽ8z8s3è_½š YÜéià‹_ÆÅÿí;v¨Î/ÿ2°a00Ð.Ǿ:´ðÂË 0H\•¦Yò;èÕW'OšÆø8mßžO¦§C‡€_dϲéi©7Ôt¤l†1ì©§°ôÔ™LL×\£ºuÛx6bBæ*0fÁÆû­å]g@£lÆÇ[ËG\ æÁð!0¤†¾>,;|¸Ý$rò$pë­ÀÄ>P¥Dÿž=ÀÆlûÔ)`t8sfÈX 0j5|¨)††Ð»opà l»uó‘ÀïZ&…F'gÏ;w^ò¬ˆB#ÃV`@³^ÇÒ©)`hHŸÉ5×˜ÖØ-Z`Èö7A£Eb`|¼-.&'Ï^/.Öïâæ›™wV¬yÄ)[eeyæ æÆÆØÀ„Ë訷¾4±VÒ±–› Jgpؾxë-`l ½Eæ½q£Y\ÀæÍÞ²,zd‹K~•{ŽUM`ØœXë1å+WbÙƒ¶¶l¦¦.‰ m ÌÞ{o;ðž{€¾>,IQŽœ9ƒ¹ÚÛº§RÖÍQ¹›’ Ê`xxáàñÇ/‰ _óç(íèú^ˆlÝšº<ºtiæÉý˜¤Ì#Hª&0¼òÀí!¨Ï> 9bLL`vb‚­ >;l?Þ^ög— ˆîæk_öìAo½ž¯7c`K7m²‹»j°n–'‚}N[P™J=$ª>LU‡ñ‚ÝrßúVºLn¿X¹’­‹¢ #µåÉ[̓Mïó'Æ2RcWSÞ=42Ûß±·êWu)¯•+Q¿ê*Ö¤ºa°iSûåIÆÖ­¬Iøá‡y¤º¹iS»Ãº ·Ý>œ&''|Kíúa­1{0r­\V­Â2>jäÔ)àðáÞ «üÇìÁƒ¸pð .LMIG’$±²»n]{ýôi›¹B=AÌÔGŽ ±k[¶ ñ‰O>Ê:xªøÚ×€;ïtBoËwÊÔ‡oÙÔëp$DÙÄ,0’¨Ú¹R¹ËFGÛ¼™#%®íoF¶nE}íÚö¶GÏHL¨!ò ïëªÈëV™×Ù³h<ö×\Æ«ªøæ7áag‘aüCCèß°aax£Áæ÷™NŽë,ï³™Ù¦i²Ú‹žX†éÀ§é¬£åª«Úëo¿m›*ß dt½?ŽÞÝ»Ûa'OzqVîÂ&ÂÌä$_ø› CÆà ðøã^²êxÆlÞ Ô% ô¯¾ LNâüK/É´:{z-KŽiºžª ïéáÚë?û™9~³‰þf}’e _ÆÇ;F‘¨ìôª–·ÞbnK~cNO³>­ùD‚xKªXžD÷Ãõå­Œ·ß®ödlÝ ŒŽúm*QyöYö«<›7}}Í$Y_.Ótu® Â‰E`èèJ·Ô¡ClNŽ#Gâ›|… ºœàž9wÝ¥î“a˜ÇÇéÿŒŒ ŸO(2= ìÛÇì½úª¼™d`¸é&«rwŒ²›†*"ñzq½÷^{}Å m^ôS|'fãÓ–Mg¦¦€#G€‰‰®•» ‰ ©Êëÿ19‰¹ñqô>ùäÂ}ccÀП9si¦áÔ¨&ÍzñE`v–u¦ŸÅù—^Â2Y“ÈÖ­—„HØ?Yœ,×Oežq1 qšïü_drraU3I?DøÄ 08EtÀ¹Ä‰8ò$[`“Ó¤ANên¯Ð»ýÿGÍÈðòjIš¥ô÷Û¶ý×l’¨‚é¶ë­{öÈw®] ôõeëìy÷Ýòð½{F£s®¡V3‰”{îÉR ù$±– /|PÄ$0 GìÉ|ß}él¨ÜÑM¬[ÇÄEZ‘0< üàÌÖ8UdÇcŽ¿\‰ô÷×_Ÿ-•ä™gäáÉfÎúõÀÐÐ¥Ñ$eŽd«¼HÈB· íűs'03ÃÖÇÆ€M›°Ô”FddK<~°Û¡9RV¯^yÅmZh¬YŦO‘#Gäá×^›Þæ† è“}7騱Ž/Tsj›ÕSÖ§^·úªíDXy>[ºú¹»ÀÈõäMMá¼Ø©i÷n`õjhfðo³r%úöï—O&“#®Çƒú_¹20ÀÚÒUââäI6eõg? |âì-ùSŸbÓB·Üæ Ï=—¹B¯|r)ß›oÊÃ׬IoS5I–Ê{Îïß/ß§˜K#¤i t¶ºâù»ÀðÍ‚“þè£m5?8Èn¼@½®ëÖ¡ï?`mÎÓÓúùþ ¢Ê<þ¸ük¿»·>õ)à±ÇØ=65Ìβ${÷2‘±fÍ©ú¯»®˜²w3²&€=ÓÒÐׇ>•ÇO®¥Bµÿ†€ááh¾M¢¬PÙy1ª"0r;>¸õÖö¨’à©§€ÿøæ7Ñ¿y3ú7l@ÿ¦MèÛ¶ }¯½ÆÄŪUì#i_ü¢úã=EÑl¢G±,J.»wyMD£u###ò¾K{û|ì±…Š$'N° åÞx#Ÿ2rÄaú"üËЮÜt“Ü‹uð 09‰]ÚC‡ÔC•=Mî_ϨJ=ëB¬LlȪøœâMMáƒÏ}‡o =ÄܵôGÀþýl8ÿÏ¡C¬CÚáøàI`TêÂ#ª8­½Èø¸z*hÓÓÌ›‘÷|²¡¯­¥ækÙ°¡´ûØé™§òºöõ¥ËóŽ;äLÞ @ßL’£ÀˆeVР‰m¢­Òú LOãƒ{ïvîÄÒd“ uÆ™™aŠü{ßöíkšýÐ!ÖΨú*«iöÎ4¤µ™ñ˱~ù_¨áÞ² Ñâ€wœðc`€,³Pá28(øŸ8|ãîö¦¦ØPßýnö²F“:MNb@o2\ÖÜebp}7. Ÿ™±šÏ>+š:: ¬^ãÇñs÷’y›Àज™‰ ÌÜÛªô†‡Û“ÆðÙ Ì&ó?qZÃU¥e²˜½Ó†Ûãã˜wM“6¯Üx§õ{€9àÒ‘-’ËüXð)W¸À¯øS`Bãûþº„òÊÍ7³›IÆÇÍÍ"*vïfÓî§©ä*N"…36&¿^z ˜žÖ7px3Iò¥`Ím>šªhy7[Û•öŽÄ*0Ê¢ãb˜œÄÌääÂpÂ\Pü^©¥Ps€»ü_ð÷~ €bˆ_7!›iQø˜U* æ 4|x‹(i¥ªjưiá´šI–ɼ›7>ª¬Ðƒ_U'Ö>>(zøYh"$´ò,$ô¾à>®ðSoø?>]b¹@6!Öl”HÈ–ž(–áaôÉfA>s†õ[3ÐñP ’‘`íÚÂF“ä5 6ô§]*ȃA„˲² àÀ_ø—`^ßðW¾àË€—°ˆX¹R>øáÃÙmÿð‡¬í^ærÏJ}¡’¨††ÆÐÐÂþç‚jhjkŽ«æŽ®™dëVõä`£ó¤¨âW–* Œ¢F–EqUÙHÁþ9€­`}3np#€÷Ë,T±¬^-ÿË¿Ìn›Ï“‘ÇwIÆÇQºÆÕ>8(Ÿq’ÙF$i4pnÿ~,—5“Œ_ý*.k4Œ=}6¥Pó‹* ŽT(Œ—è{1¾ Àïø.@„HÌSB? æÕ8à=kÀFžtª¹Zý•2SÁÏ·UQYç£êHëâÁX½KdBpf†}„n»M~ä0=mt]¯cÉØ˜|߳ϲQ@Y¹ñÆöwŸDn¹ÀeÓÓÝ4n+\ºF`¼ üüe¶ÊßÀ»Î]5ùHüÈù ß›füÛ¨dS‰j”ǪU~æÍ±AøCö\€}ØÑ†å"pf¸ÿ~`z³{lš°n–ÿà #÷÷³YdÓ ƒ ”¨ë©nžÉ“ Êá7[¿_/µ¹¡ŽªšÃ…z]=ÂÈÎæÍ¨¯Y³0¼Ñ^|ÑΆjôÈ—ÄEfÆ9ÕuæØ¹´Èy’¢ i Q>]wÑu=3¶}¿äÊ’Ë’ÇŽÉ?h&›>Ü•ÑQõ("¨?ñ„|ßþý—¾°j²±ä–[äûžy&Ké¢êkqÓMÀд_Ytí3žA”Áÿû˜Û/» þ™Ž]¾q#Ð×—ÍöÍ7gK0¥WBO=¥ž`ËvõM›äÓ¸OO¯¾š¾l2TÍ õzi×Iéç04H`t't#”Í€q wrìÈ&<`S:§¥^/ot‚@%ï'ž@]ul÷î&&쾨sçj³³~šG8GŽàœªÃhb:ñJž³¨‚Àˆá≡ŒDÑ<v®-» þÙ»WþÈ#L(¤áÎ;©ÿ…oQî9Ô·m“~ØÎÖÐ˾œ ä×éRuÝp0<T3IWRAqòc§üZÙñÏÄ„¼™dÍàk_s·74üÖoe/ÁèëCýÁQ?vLýÅSøò—“'í¼[·ÊÅãä$ûj//]*èÿQ $0¢Lö¸«ìBäÃcÉÃÇÇÝþ¬C OMÏÊ•èY»=÷܃úž=¨Ÿ> <ù¤þ˜>ù$ðôÓvâ¶l‘‡ïÛ4~›G8˜V5“МÖõTA`gšúÞIDATÐLkD¼<`•M²oŸ|æÇzسǮ¹ddxí5õÔÕ>i6­—ZÖåÎ;Ó¿Áoß4›X$YzTË?üðæ›Àw¿Ë< ¦‘8{÷_ýª}™FF°XuŽ|I²{·<|t¡f’2©‚À ˆxá_§¼ªÔRäÆý÷³ –’Ôë¬Éãí·™ÐX»¶=9ÓªU¬3èž=lÈëu×µÓ:ÅæS òãß¶lÁ\£aï½Py¤NœŽÍÇ{ÁÑ5“¨æä Š¡ ƒ:PV•óe Þiý~²ÔRäÆÄkÇW±jo¾ œ>Í<?þ1ð Ûô æ†WÍJdcr¸õVàá‡!™ÅDjôH3jž8iÕGØÒ~ÑõcÀ•£À•Ÿ†F¡k€¡ÀGÓ—²;©‚ÀˆjâQñAÙ(kÊ.@~ìÚ<ô|ò-[ ö6zø°|¿)È»•³gÙ<×\ìÛç..FG±xdD¾oÏe2¯Ï=•FGÝ›IžðØgƒÞ›áÿ[Ê×­À(„žŠ¿Ü¹“Ͱ¨šÞYÇÙ³¬ÉDç 'ܘžf³sÞuðÉOããhœ=ë..àî»åáG'NàB–rÚ¢ûNŠª|:z$aâ]WTácg]wÒˆjñÔ¹§ðÀ9özè!à;ß.ò¸çtÞš6qíµ?ÅoüÆ×ñàƒÏapðœÑÂ7â+_ù}üèGŸ¸dsùòöÍû6ï¾û/Ø|Kü'رã?[•>O&&n°©†Î/úu4÷¾þú÷±cÇŸxËóôé!œ:µ'O^cÇn@£±@Ï6e]pÇÿvì8ÕZ¯÷àG?ú~eI¶RÛñw|ýë¿‹+®8‰³g;?Ù;5µÀö+É£ –`€[;¨¢q'´þ 50ñX»óú,p9X?ûµ–`íaW¶ö]`)€Å­eQËN m/Mò+ªÉÿnÚÎ#ÌfŸýYãûJë–Ï8€íæXMßðïË.Hq °i¥ÇÆØGІ‡YØ©S¬¹ãða6:àøñ…i®½¶3ìùç ›÷ ¯zƇ]¶ùèâ™lH¿€ê)L·­Z·Ýw)ü€$Gݶ$Çi‰­dzvQXæ\h-çüÀYïÙ< à X¯¬³­ý³­e®e/C#c9TÁƒ‘MT¿j#BáGe X¦§Y»yšN€²¹ŽË^&‚àÈnÇÿ—Þ\×:?H`t'$žB#ÃÓ«›X¹R.0T£" ãÀ;ãlUçù Àˆƒnì?_,»9óñÖoÅ*ȱ±…6››î½7›Ýo”‡Ë&ô"º–* ¨ÿ "læË.@Îürë÷'¥–Â;ò©šçwäý*l¹ï¾…aÀÔTz›„WЬ£®|»n¦JeLXÏ%)wø[’Ù.cæÍ7å᪠™lظX¿~ax“9—ˆñùéZæ2þcŒÇÕH7 "& VY·øý² áŸ'äý"¶mÖ­s·72<ýôÂð™™ü¿uA *) |R%‘õdÓÅbGqÇ©‰j{0>v*>Ö;;w. «×?üCàÁÍ:ãlÝʆ­Ê:wîÜIÍ#-èùEG•FHÐÍîƒyT»ÆÎø»² ’O? ¼ñÆÂðþ~ö)ð·ßfß!ٰ̓Áb^ŽGaqöìiMäØ1öé÷¡ûºzø˜„PPÅNž²ITºmF5h º·õå¾ `¼äräÌ–-ÀŸþi§€à¬ZÅDÄ#¸Û=uŠ}˜k6×ïtFQWyÈ} |NFy0Üõµ\Ù¨²÷â·[¿ÿ­ÔRäÎÔð«¿êw"¬'XgÏ'üÙ$ºÕ³Ò·'Ãv¦ÒJ›Àðy‚B:Ù!•Å;}})VuŒa؆Ê‘qò$pýõÀc±N™iá_ý%q9±<ïÒ”ÓUÀÄr,R›ÀjÃ3Ú}€e>Kßë{ñ»e¤8fgGe_î|øaö=ff€ƒû﮾šõ¹(©Y¤kïßé¦c^ÉÿZ•>Æ“spÙ½`MßËÁ:eìd‹î“ŽÔ£LV°*±À€Me¤Μ¾ñ ¶ kÖ°¾+V°ÎŸðÞ{íž;V™~1cec™xËmEU†Œqð9ÉY†¿&2"Á·ØÉb¯áUµ[ï3ö€y0^.¹,pö,~zøpÙ%‰ž*w­"]s«,0:ýÑã×Ü·¼è²ÄMÀ€«ñ‹¿¸¯¾šO.µZ Í+šx¯àKøR>™ÉÇü9€?ðŸJ. ]SÙx&äãrÙ %Vá|û¥¡SþoÖ²t!4ðéO_×úþûï{±~ùå—ãüùó˜¸r‹¿õb³T®pÀYtmÓHäT¡Â(â?„pœB(ƒŽÐËç•X† åÉ땆¾ àådŒ¤ëß´­ ³Mk³Ï6Žk³E–fŽÚóÏÏ?ŸÁ‚‰Pû"g¼}a> ö¥Ô¬AWŒ!ˆˆIÛi¿«„ƒ-UJ¾ ào ˜n…ýI:SñVv±1mŽ4·Ø à‡6ðãà!ˆn$mjÅß‹uÀxxÿõNaPKüNœÄ&\ò/ï߃µbÅF?€'ü:€ÿ @ò‰q"ò|Èû°r%d;ÙTÈÿÈ@Œ£‰öYT»bL¿ aÿ·eÚCÃ.+ÀÚá¾àñÖö]¨ì‡Ìˆ®£hG~ªf<ç2êjñ£À‘¢*?S>áWÂ.ôH; h‘\6¿Å·[ÛÿÀõ· BÁ¥’‹±BÌ»Ì1“ ˆI`ÐŒ™D8êjÿÀ½V·Â~lê;eŠð =KºßisiªÌuƒÀh*ÖóÌÏW%N…˜ùþ¿>°ù#,ñöƒ};äªÖï öÿ€ßð €¹ÂKGÄKÕú_Y–þ·o*õßb*Ê<Uapìk9_+± ËÁú‚¼6eÊdkyÀ‘ËEñ‘÷H¬u‚ïiv½×=fø{ PŠ…ññlŸÛzòIàìY\ó[¿KÖ¯7§}ï=ö=†×_¦§³½¯\‰žû„Ñ SSÀ®]˜GÈbišØ&Ýfy‰*Q•‡¾þ±vnÌ« :»ô9wØ ï ìíDmßž-ýîÝì› "ë×»Ù™ž½ããÀÉ“h¢KÃÝwwæÙh gróö%!•«H2P…ŠÖWycûßFèsíÐßÜqðÖ[ÀØX:Q¸ysçv½Ür‹Ò•rSTîF$‚"†ë+†2AÖ™7»¾#Ob¾ÚÖ2]Lµ>–É2›\Nž„öcÓ;vµ>–¹Z s½½À5×=ÄšI``xî9`Ó&7‘1:ŠžÑQ¶Þü·ßîb… ¢tª0G׋À0á£MÌgž™i4071¹;1·f °w/ ¯×Y³ËÊ•Z‘ÑQ¶­[ÛëO=L·¦à^»AO2~$ÄXf"|ª4§BQý/òœö:&iWLÿíBU†ŠOæ‚2ÏÎbîöÛC‡Øöà [Q`ìÚ¼ôR{;Ùt’’3AÄ Ýof\‘ÏŽ¬$4ZT]`èÈ£ShnM£¹ûïo7qÜq08hn*Y·=ÃÃl}b8~óÜtŠ銛”(Œ*y/ʤŒ‘EÛn9‡^ˆY`t݉>qs²õþ~àæ›Íiî¾»½þÌ3ì÷ÕWÛÍ$kÖ°>èÂãI¦îçÐÅH¨ùF,£h÷UÚ3ÓÙ´,l&ñÔÙ3ÖѽÄä½(²y$o|zŠò4ØäéÚdTéçVì#m/ä¨ûaØ06Æ:‚À‹/ÓÓ §›I6oêõ¨½Aø£*ý/ò²j~AQ…o‘ØÒDÆdíØá_ì/‘iyëuôòõ†æ«$b¿Š={äqx3ÉÀó†¬_ðQ*È|œ#Í›ˆ*z/ªR¡å}ÜLö³4}èò¬Êù±"6¡r-éN¨K…£?>ŽóŠý¶a™ásZÀä¤<ÎÊ•¨‹_kýìgë¯G,î™3L`À=÷x]õ WàûÄÞÿ¢¬yP*{-Æ&0òÀ«ɛիÛë­o”,(Ïm·±)Å9Že®i&&€}û0«ÚãÀø8–$Ãëu6bdݺÎ;ßx¸ë.©©¦è½Ø¿˜57p¾÷=Ö°ù0††ÐsæÌÂɹ"2Š~pW²¢©ïFžvózi õe8biúaˆqj’uUœKlßn[¼6Ï<³pšn‘õëÙb¢Ñví¶mfgz/êuônÙÒ™¯åÎÇ1?9‰žáa&n¶nvîÔ§±$„a£!”¨>1 ¿,«Ó{Þy—Õÿ¦.ª¼PkI',¸‹àìYàèQà±Ç€5k€/} s2q0‘²b[Ÿœ²÷^pD!$Š•ŠÜù%r§ÎyÙ#.bm …Ë–™ÐÞêjzÀ<+½ú,p€¸ÀǬhmÀ €ý­ø½­ô=-{â"æã²® Ë2«§êØ»†§‰—æ¼g½VB¹ÖB)‘/17äYyfñ.Øöc°Í#ËvÚ¸¦…ºýª}MÉúÅÖúE ó.˜pÀÏœð.€wü€3­°÷œðA+M£eËù¥±lbõ`¤ÁÕ}•÷*¯‘+•VÄ ãS}ºå—ݹÓGÞyØN+Ð|uµµí#  ]`ˆŠ0MÚ¼ÓäQé‡z³W©—tHe!ü‘åy‘5ßmù$«÷ÂÕ~™Íàiâ¥é ˜%ï(]`¨(«M– §Hbî VUú/Dyç3–|C»Þ}u¦ôo{¡÷B‰I`øt{e±íWûÅZùC+‘ŽªœÇ˜¼/Yú^ø$çç×µ^*ëå¸b¦šœ“ᢰ.sò°šä‰u$â@².ÆÃlâ¨Âdå°‰/ ·MïjG•.MZé}Zy3e?˜Ël)ºß…mž¶ %Ϧ‘fâ×frÝæÿŠvÄE–GúºKÜ=1y0Dt¥¯ ´ÈþE*ü"óŽ :áÓÍç¨h÷¼ï> ¦t.•¹«í¬ñĸÔLbI¬CEÑî±¼ÒÙØá¢-êV$!–‰Ð¿MI™Þ‹²ó í~·(ExHl÷«¼•%ô&’äÁ¿ˆöøb$Ömì$›GTÍ$¶eKëR—¥Íb/M~Eåm"Ä&Šä5J¹º…PºUhñ>Ï ]Ó…m\Y›¦S¾è¢øHó@HÛïB•ŸÎ;cò܈qtñl=@¶ä):²ÚÌ›h“ç1Ï[HØÆM#(ò²0›J]7¸HÚ7åí",T¶eâBV_]”,M´½õö¢'tÁ8÷T$ÅDíÉÌ áb¥È+ñ¤gŠ0]•GA–Fç½Ðy)dž•7ÁÖ“‘ge+ûO:tbÎÛ¦ ,„(Rˆ°<.i} ß^ W/C–´®žÝ>“gÂW·OæE¥…×UÄ2ŸØn¶~ź-™”„(0¸BÜ:OÌ\k} OoZi¶Ö/ a¢Ðô¢C¶í?K\¾Ep¤‰oŠcÓä’LjSNV{2Êz“ˆUØ”ýæ•6ÿ<………/oƒk|‘aSÁËÂl½6á.i’e°ñ`¨òJ vQç/¿¼~šC»Þçi“eîKª@xC¬|Ä“:/,s>ûŒí‡Âzm!q±µ]Cû³í€Y`˜Ä€Jd&Û¶vUa¶qM•š‹í4ù›ÒÛ>¨míºV*EVú®^!_ù…ˆÏ·~ßi]+qÓ>ö² B2ÜW&té\*~S|`°ùM†™D ¼îâ"âCa™S,óèìò½i$4!ƒŸ$îFâ'hLXÌèE[H\°¸—‡ÕÐÙiTÕd¢Ú§ªØ]‰«gÄ&,ûÓ†¬é³îÏjÛ5ž¯ti Á“‘ç®Hƒmš"¼¾Âm*uS˜­Â&­@ÑUä&Û.@0¥I6O$= ²_ѶØdízk¶µðúk^ Q`DO¨Cv’D¯ÅLkùmq´ÅÅÚEhWöIO†Î#áÒW#7­÷ÃÖâ"rTûtå°Ùv‰ë*F²ˆŒ´v]⤉›–D† _À"<E§Mæš&K.vmˆIlØTè¶ö|ÿòu›ø6ëbóˆØcmAñ°\hýr÷xÌ£³ŒQªÀÚ'Žw~™C[ýÍ8` Ú`g ˜è¨£íÁõÁ‰ ¯†,¾I”¸zFl„‹lÝÆ¶ízÒ¦ms‡«·ÃÖ;‘ÆK‘§×ÄWBÇ÷Ã.K¥nÚŸ¥ÒWí·õ,èâ™Êlc˶▥±ñ6¸ÄÉâ•ųíT)ÆÕp@b¿Êf2LVFYœ&:_Eq¬þâ"ƒ{6x3‰ØÙÓ4TЄ,0ø\\rÆy´„ØìÑhí0Ó¶)žkšä~`a“NrÝVœØx\=6Þݾ4"ÅÆF2nžÏŽ+im¹¤Ëû­È—§À¦œ¾DƒK™]ċɾMe®Ûgã]ä£doàª|M•¸m|ÕܺÊ_÷_t^]¾¶"ÃVÜ$›4¸'ƒ/¼3ç´›õϘn-çÑn2G“$óŽP†8ŸWu´ÝIb³ZáKôƒ5‘ˆ$)0øÃXÕ'’uUn#d”3Ù“ÅKÚ1•Yf?¹Og[×F¸Øۊڥܪ´ª0±àR‰gñ˜ø°ïB°4"ÃFdµëâm°Ù6UÌ&i†­§Â¦l.ÁE<ÈìÛTꦼ“ëóŠp 0íWy=Lö“‚ˆ×]â(’9´›÷¹Èømqñ!Ú£MDÑå LÑ{€ò“Å;kò&’äh‘˜¸˜Ð&.·lðÿ'Š‘¤À ÙvR $íÉÂU^1]e¡'&oˆ.­ÎN2ŽÊ¾Kœ4^ζ€Ð•Ó”ÆW1`*O¸ŠŒ,"!K¶¿MÜd¸j¿j.“Á&­*I|ˆö]<ªr™<ª¼uñš‰xªülEIxÈ:FšÄQ²l:1¢"ªÿ)vÖ§T˜EÛ‹Á›HηÂÄ!¬Ñ7a >io"+í&Úc>ë{±L\ô í½äÿS¬ÜU¦ªr±yã7½é«¼6oÝ.^UE¥7¦JÝFàèÊ K#‹cSÙÚ ‹4‚Aw-d¡ 1‘WáÅ+bzkM›ˆiÂ#“w"‰j”€® &c²—¬]íëâËÒ›<(*áa6²ô¦²¸Äã$=&OÐ|¿ØŸ‚ ˆY´ë-.6xó cº†¢ TÁU_˜¸¨tN²_F˜°X VqòžÉJT\½â¾´žÓ[µ®ÖU€6ͪ8¶Mªxi¼²üÓ6˜ŽÎŽ«È°)¸ÏUôd‰ã3ˆï˜êaœµ6“ ›YmË­‹gª ÅòdcªÔuåÔSÚd~¶¢ÐÔ¯ é‘…Û ïNlØŠF'DœÏBœ ’σ1+¬‹M$üFI¨ƒÃE.@xDZéDœ£†…B‚# ·­ÐlÞìuéeû\újØØ4y ÒÆÕ•ÁŦ [Q"ËÓ$¨\òwÍÛe™¢BEÓ›àim¹¤I#~\„Œˆ¬â±‰çR›¸¶/ˆ*ž,_›¸<Ž‹—HeÛvÛÆ‹I™l†h7éÅûcÌ%ÖÅý@äâß5ËË׃öÌœõÄÒ›Øßƒ¶xÐUx*—wZwxš ‘ãZ©ÊÒ§­\]½:;¦´.‚Ç%½¯ëØÅŽ«(ëfLîr_¶mÂÓæáCÙzQҔǥ YŽM‘ÆÓ‰¿º8ª0[!–õz“y=lÊ­kRš~‰õ¹D÷xDOèŒ&؃š·kñ‡vr~w.,xsH°©M•H–7fÛüuÛ¶é|ÅMÆ/êMܵÙ(røND·z‘mÐY‡fñ¨øBUAçueb÷htíÿbKZì5Ùº˜ø?p¦Ú®±<üDO†(&Ø–y.T¨šH²`ê‹Q¶Í>ËžUDäMùeñ…BžT(äé5(š§™Nã…°±åˆÏ2©únˆáD\qÖÎʈ ¼‡™QdØlÛÚ³ ·Å×Ûµ ¾Ï_^M#±SåÿVUB«d9¶M%±`+΀jýooÖ° tŽ4©”¸â|pŠe–Íoa‹­)“<ÎOÖf¯‚ˆèç=ªÐsÅvT‰MZ‘ʉ ‘Ø+‹,åA`v„ ÄŠn‚ ]G½ªT6@µþ ‘ “0ìÚk¥x*ò옗vˆ&ADUðÙ÷"dºV@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAÌÿfïÇÔfIEND®B`‚lepton-eda-1.9.10/attrib/docs/what-is-geda.html0000644000175000017500000000155413634703632016144 00000000000000 What is gEDA?

The gEDA project is working on producing a full GPL'd suite of Electronic Design Automation tools. These tools are used for electrical circuit design, schematic capture, simulation, prototyping, and production. Currently, the gEDA project offers a mature suite of free software applications for electronics design, including schematic capture, attribute management, bill of materials (BOM) generation, netlisting into over 20 netlist formats, analog and digital simulation, and printed circuit board (PCB) layout.

The gEDA project was started because of the lack of free EDA tools for UNIX. The tools are being developed mainly on GNU/Linux machines, but considerable effort is being made to make sure that gEDA runs on other UNIX variants. For a complete list of freely available tools please be sure to visit Open Collector. lepton-eda-1.9.10/attrib/Makefile.in0000644000175000017500000005461513634703703014126 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = attrib ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/geda-assert.m4 \ $(top_srcdir)/m4/geda-awk.m4 $(top_srcdir)/m4/geda-cairo.m4 \ $(top_srcdir)/m4/geda-contrib.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-liblepton.m4 \ $(top_srcdir)/m4/geda-libleptonrenderer.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lepton-data-dirs.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pcb-data-dirs.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir distdir-am am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in ChangeLog README DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITMAP_DIRECTORY = @BITMAP_DIRECTORY@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CAIRO_PDF_CFLAGS = @CAIRO_PDF_CFLAGS@ CAIRO_PDF_LIBS = @CAIRO_PDF_LIBS@ CAIRO_PNG_CFLAGS = @CAIRO_PNG_CFLAGS@ CAIRO_PNG_LIBS = @CAIRO_PNG_LIBS@ CAIRO_PS_CFLAGS = @CAIRO_PS_CFLAGS@ CAIRO_PS_LIBS = @CAIRO_PS_LIBS@ CAIRO_SVG_CFLAGS = @CAIRO_SVG_CFLAGS@ CAIRO_SVG_LIBS = @CAIRO_SVG_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOT = @DOT@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LIBS = @GDK_LIBS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GETTEXT = @GETTEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIT = @GIT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILD = @GUILD@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_EFFECTIVE_VERSION = @GUILE_EFFECTIVE_VERSION@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_LTLIBS = @GUILE_LTLIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEPTONDATADIR = @LEPTONDATADIR@ LEPTON_SCM_PRECOMPILE_DIR = @LEPTON_SCM_PRECOMPILE_DIR@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBLEPTONRENDERER_SHLIB_VERSION = @LIBLEPTONRENDERER_SHLIB_VERSION@ LIBLEPTON_GETTEXT_DOMAIN = @LIBLEPTON_GETTEXT_DOMAIN@ LIBLEPTON_SHLIB_VERSION = @LIBLEPTON_SHLIB_VERSION@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGOCAIRO_CFLAGS = @PANGOCAIRO_CFLAGS@ PANGOCAIRO_LIBS = @PANGOCAIRO_LIBS@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = po src include design docs data EXTRA_DIST = NOTES README ChangeLog ChangeLog-1.0 ToDos all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign attrib/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign attrib/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am .PRECIOUS: Makefile @HAVE_GIT_REPO_TRUE@ChangeLog: $(top_builddir)/stamp-git @HAVE_GIT_REPO_TRUE@ ( \ @HAVE_GIT_REPO_TRUE@ cd $(srcdir) && \ @HAVE_GIT_REPO_TRUE@ $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- . || \ @HAVE_GIT_REPO_TRUE@ echo "WARNING: ChangeLog information not available from git" >&2 ; \ @HAVE_GIT_REPO_TRUE@ ) > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: lepton-eda-1.9.10/attrib/data/0000755000175000017500000000000013634704562013043 500000000000000lepton-eda-1.9.10/attrib/data/Makefile.in0000644000175000017500000004645213634703703015037 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = attrib/data ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/geda-assert.m4 \ $(top_srcdir)/m4/geda-awk.m4 $(top_srcdir)/m4/geda-cairo.m4 \ $(top_srcdir)/m4/geda-contrib.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-liblepton.m4 \ $(top_srcdir)/m4/geda-libleptonrenderer.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lepton-data-dirs.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pcb-data-dirs.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(desktopdir)" DATA = $(desktop_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in README DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITMAP_DIRECTORY = @BITMAP_DIRECTORY@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CAIRO_PDF_CFLAGS = @CAIRO_PDF_CFLAGS@ CAIRO_PDF_LIBS = @CAIRO_PDF_LIBS@ CAIRO_PNG_CFLAGS = @CAIRO_PNG_CFLAGS@ CAIRO_PNG_LIBS = @CAIRO_PNG_LIBS@ CAIRO_PS_CFLAGS = @CAIRO_PS_CFLAGS@ CAIRO_PS_LIBS = @CAIRO_PS_LIBS@ CAIRO_SVG_CFLAGS = @CAIRO_SVG_CFLAGS@ CAIRO_SVG_LIBS = @CAIRO_SVG_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOT = @DOT@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LIBS = @GDK_LIBS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GETTEXT = @GETTEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIT = @GIT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILD = @GUILD@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_EFFECTIVE_VERSION = @GUILE_EFFECTIVE_VERSION@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_LTLIBS = @GUILE_LTLIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEPTONDATADIR = @LEPTONDATADIR@ LEPTON_SCM_PRECOMPILE_DIR = @LEPTON_SCM_PRECOMPILE_DIR@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBLEPTONRENDERER_SHLIB_VERSION = @LIBLEPTONRENDERER_SHLIB_VERSION@ LIBLEPTON_GETTEXT_DOMAIN = @LIBLEPTON_GETTEXT_DOMAIN@ LIBLEPTON_SHLIB_VERSION = @LIBLEPTON_SHLIB_VERSION@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGOCAIRO_CFLAGS = @PANGOCAIRO_CFLAGS@ PANGOCAIRO_LIBS = @PANGOCAIRO_LIBS@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ theme = hicolor xdgdatadir = $(XDGDATADIR) themedir = $(xdgdatadir)/icons/$(theme) app_icon = lepton-attrib app_icon_files = \ $(app_icon:%=%-48.png) \ $(app_icon:%=%.svg) # $(app_icon:%=%-16.png) # $(app_icon:%=%-22.png) # $(app_icon:%=%-24.png) # $(app_icon:%=%-32.png) # theme_icons = \ $(app_icon_files:%=apps,%) desktopdir = $(xdgdatadir)/applications desktop_in_files = lepton-attrib.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) DOMAIN = lepton-attrib install_icon_exec = \ $(ICON_THEME_INSTALLER) \ -t $(theme) \ -s $(srcdir) \ -d "x$(DESTDIR)" \ -b $(themedir) \ -m "$(mkinstalldirs)" \ -x "$(INSTALL_DATA)" CLEANFILES = $(desktop_DATA) EXTRA_DIST = $(app_icon_files) \ $(desktop_in_files) $(desktop_DATA) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign attrib/data/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign attrib/data/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-desktopDATA: $(desktop_DATA) @$(NORMAL_INSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(desktopdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(desktopdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(desktopdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(desktopdir)" || exit $$?; \ done uninstall-desktopDATA: @$(NORMAL_UNINSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(desktopdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(desktopdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-data-local install-desktopDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-desktopDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook .MAKE: install-am install-data-am install-strip uninstall-am .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-data-hook install-data-local install-desktopDATA \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am uninstall-desktopDATA \ uninstall-hook .PRECIOUS: Makefile @DESKTOP_I18N_LANGS_RULE@ @DESKTOP_I18N_DESKTOP_RULE@ install-data-local: $(install_icon_exec) -i $(theme_icons) install-data-hook: @ENABLE_UPDATE_XDG_DATABASE_TRUE@ $(UPDATE_DESKTOP_DATABASE) "$(DESTDIR)$(desktopdir)" uninstall-hook: @ENABLE_UPDATE_XDG_DATABASE_TRUE@ $(UPDATE_DESKTOP_DATABASE) "$(DESTDIR)$(desktopdir)" $(install_icon_exec) -u $(theme_icons) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: lepton-eda-1.9.10/attrib/data/lepton-attrib.desktop0000644000175000017500000000050213634704514017134 00000000000000[Desktop Entry] Version=1.0 GenericName=lepton-attrib Name=Lepton EDA Attribute Editor Comment=Manipulate component attributes with lepton-attrib Type=Application Exec=lepton-attrib %F Icon=lepton-attrib #MimeType=application/x-lepton-schematic;application/x-lepton-symbol; Categories=Development;Electronics;Engineering; lepton-eda-1.9.10/attrib/data/lepton-attrib.desktop.in0000644000175000017500000000050413634703632017543 00000000000000[Desktop Entry] Version=1.0 GenericName=lepton-attrib _Name=Lepton EDA Attribute Editor _Comment=Manipulate component attributes with lepton-attrib Type=Application Exec=lepton-attrib %F Icon=lepton-attrib #MimeType=application/x-lepton-schematic;application/x-lepton-symbol; Categories=Development;Electronics;Engineering; lepton-eda-1.9.10/attrib/data/Makefile.am0000644000175000017500000000214313634703632015014 00000000000000theme=hicolor xdgdatadir=$(XDGDATADIR) themedir=$(xdgdatadir)/icons/$(theme) app_icon = lepton-attrib app_icon_files = \ $(app_icon:%=%-48.png) \ $(app_icon:%=%.svg) # $(app_icon:%=%-16.png) # $(app_icon:%=%-22.png) # $(app_icon:%=%-24.png) # $(app_icon:%=%-32.png) # theme_icons = \ $(app_icon_files:%=apps,%) desktopdir=$(xdgdatadir)/applications desktop_in_files = lepton-attrib.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) DOMAIN=lepton-attrib @DESKTOP_I18N_LANGS_RULE@ @DESKTOP_I18N_DESKTOP_RULE@ install_icon_exec = \ $(ICON_THEME_INSTALLER) \ -t $(theme) \ -s $(srcdir) \ -d "x$(DESTDIR)" \ -b $(themedir) \ -m "$(mkinstalldirs)" \ -x "$(INSTALL_DATA)" install-data-local: $(install_icon_exec) -i $(theme_icons) install-data-hook: if ENABLE_UPDATE_XDG_DATABASE $(UPDATE_DESKTOP_DATABASE) "$(DESTDIR)$(desktopdir)" endif uninstall-hook: if ENABLE_UPDATE_XDG_DATABASE $(UPDATE_DESKTOP_DATABASE) "$(DESTDIR)$(desktopdir)" endif $(install_icon_exec) -u $(theme_icons) CLEANFILES = $(desktop_DATA) EXTRA_DIST = $(app_icon_files) \ $(desktop_in_files) $(desktop_DATA) lepton-eda-1.9.10/attrib/data/lepton-attrib.svg0000644000175000017500000006066513634703632016302 00000000000000 image/svg+xml Lapo Calamandrei Text editor lepton-eda-1.9.10/attrib/data/README0000644000175000017500000000075113634703632013643 00000000000000 gEDA GPL Electronic Design Automation ------------------------------------------------------------------------------ README for icon data This file describes where the various icons came from and their license. These application icons were created by Peter Clifton, based upon the Gnome "text-editor" icon created by Lapo Calamandrei. The gEDA specific additions are from the mime-type icons by Tomaz Solc. These icons are licensed under the GPL2 license. gattrib.svg gattrib-48.png lepton-eda-1.9.10/attrib/data/lepton-attrib-48.png0000644000175000017500000000366013634703632016510 00000000000000‰PNG  IHDR00Wù‡sBIT|dˆ pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î<-IDAThí™KÜXÇ×r¹Þ]Õ™t løH±Bé<†ÉSBf€ b•íl@Q(ŸFì¬AQº#¾k–#!¡èîê®G§Ëå²} —Ëå*»ÒéHiEÊ‘ªÊ¾÷íó¿÷Ï9v)ám6ã¬x]{Gà¬í³¶wÎÚÞ8k{ë X«:Ÿóñ>‰/4jÍB§†/@kM£Ñºý6°÷ÊŒP·«•Š Ãë^Ïô¥³?ÌmÏâã½tc'Ÿ9Ï3âéˆZ­Ž6t»¸ŠÐqÊ.‘ŽVÏ5¥^/`)¯@µVU¢ÃÓtÔ¶-K<þœýý}\×åæÍ[†šµ×ª5>ùøÇsòhÍY´ÁQ,­f½E™e #"Ôªu3 £Ó-²S6‚`ÂåË—3}‰T677gmÃüÉxzœè?eIÆ&dóÌŸø„QD¥R1#}J ‰°n—J*вRJåÎì¼Ã¯+!Ñ®ëZU¸â(dlËÎHb ݺuÃP(•Êc{{‡ýý4p¸®Ë½ŸÜÇ0 úíFqtì{à–]L˼p:Š Û¶9ö^d¤L¥¢ 2«1öc ]¹²Ébåqt<˜Žõ;åO<§LÉqQçOE ŠôºmÙè¥(¤˜Ÿõ|[%³“™ˆÆq*ˆŽÖWáVˆÚ–ea}úzýXõZ›·nó2ˆ½%òH÷]L$eÓð·§Oéõ{³öz­Î½ŸÞŸÃ(lÛ"ÒrºL†“†iZx¾Çõ¿7çL*•þ°¿ÐîMÛ{,Ú"æ£-aúÃÃF)…eYAÐ:ßê†i µF –e¢^Ò_Œ-ÍZk Ã$‚úª«äºöðáC§Z¯ˆà”œLTq]—Û·ï`šÆL*IØì Q Öšiä[ ©‡ýÚ­âè˜`”Rh­Ë?6=z¤OL@D:ÍfsEÚûãiTdÖü‰G&KžnèDp@ÑjŒýÑ”l¡ÿxã%Û‰³q­îîî6e]RPN‡FØn´š:ò"OQ4Êfà´_è3?¦Ùj†QT\Nä®@¨ÎZsM´e§ÌÎÎ{{©„îܹƒa˜loo³··K½Vçg÷~A<óðìÙ3öövg׫T\~ùó_a½.µs9wŽ÷ÀÁt®E„VcMD¤ |~bHØn6›F…Œý1››WrÖÕ«W¦-ŠÞào&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = attrib/design ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/geda-assert.m4 \ $(top_srcdir)/m4/geda-awk.m4 $(top_srcdir)/m4/geda-cairo.m4 \ $(top_srcdir)/m4/geda-contrib.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-liblepton.m4 \ $(top_srcdir)/m4/geda-libleptonrenderer.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lepton-data-dirs.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pcb-data-dirs.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITMAP_DIRECTORY = @BITMAP_DIRECTORY@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CAIRO_PDF_CFLAGS = @CAIRO_PDF_CFLAGS@ CAIRO_PDF_LIBS = @CAIRO_PDF_LIBS@ CAIRO_PNG_CFLAGS = @CAIRO_PNG_CFLAGS@ CAIRO_PNG_LIBS = @CAIRO_PNG_LIBS@ CAIRO_PS_CFLAGS = @CAIRO_PS_CFLAGS@ CAIRO_PS_LIBS = @CAIRO_PS_LIBS@ CAIRO_SVG_CFLAGS = @CAIRO_SVG_CFLAGS@ CAIRO_SVG_LIBS = @CAIRO_SVG_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOT = @DOT@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LIBS = @GDK_LIBS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GETTEXT = @GETTEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIT = @GIT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILD = @GUILD@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_EFFECTIVE_VERSION = @GUILE_EFFECTIVE_VERSION@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_LTLIBS = @GUILE_LTLIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEPTONDATADIR = @LEPTONDATADIR@ LEPTON_SCM_PRECOMPILE_DIR = @LEPTON_SCM_PRECOMPILE_DIR@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBLEPTONRENDERER_SHLIB_VERSION = @LIBLEPTONRENDERER_SHLIB_VERSION@ LIBLEPTON_GETTEXT_DOMAIN = @LIBLEPTON_GETTEXT_DOMAIN@ LIBLEPTON_SHLIB_VERSION = @LIBLEPTON_SHLIB_VERSION@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGOCAIRO_CFLAGS = @PANGOCAIRO_CFLAGS@ PANGOCAIRO_LIBS = @PANGOCAIRO_LIBS@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = ProgramArchitecture.gnumeric gEDA_Structures_updated.png all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign attrib/design/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign attrib/design/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: lepton-eda-1.9.10/attrib/design/Makefile.am0000644000175000017500000000010613634703632015351 00000000000000EXTRA_DIST = ProgramArchitecture.gnumeric gEDA_Structures_updated.png lepton-eda-1.9.10/attrib/design/gEDA_Structures_updated.png0000644000175000017500000002455513634703632020552 00000000000000‰PNG  IHDRøŒhÁãÆPLTEÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ»Ýÿÿ--ÿDDÿ[[ÿqqÿˆˆÿŸŸÿµµÿÌÌÿ3&M3f@€M™Y³fÌsæ€ÿŽÿ:ÿ«WÿºuÿÈ’ÿׯÿæÌÿ33MMff€€™™³³ÌÌææÿÿÿÿÿ:ÿÿWÿÿuÿÿ’ÿÿ¯ÿÿÌÿ3M&f3€@™M³YÌfæsÿ€ÿŽÿ:ÿW«ÿuºÿ’Èÿ¯×ÿÌæ© àbKGDˆH pHYsÃÃÇo¨d IDATxÚ퉖ã¨D9ñÿ=gº,­h¸ñºæ¹\²N¸"AœC!„ÐÔR#y„Z‚?ÕÇ"„!À|„ð|ÀGh4ðãìÿÆÚýˆû2ø. ð§Åÿ#ÜÿSxê÷Ûï@}Ä4à#düÞ øËï1ªÿ7ÿ¿ ¤ÿ’äðê|ýÿÈ…§Ür.ˆšE' 9N|„:kñÝy‹þïDøuÕÇÆð|Öîÿú¥Yü"ê|„ìƒ_ô€P÷àûæýÍ6€PàÓâ#ø€à>B€ø>à#ø!ÀG>BðB€|„à#„!ø>à#ø€à>B€ø>à#ø€à>B€ø>BðB€|„à#„!ø!ÀG>B€ø>à#ø€Ðpà7‘Gˆt!ø!ÀG>BðB€|„à#„>Ÿ³B〿̴[~Üßsÿþªß¿?€Ð@àÿðÿýø¶]ñÿ|„Æÿ7¹Þ·ê+ðõû?â…Ðð©~Èí}âOÀ§Å_6BÓ€ïûÆž¤¡iÀG>BðB€|„à#„!ø!ÀGÕ„ž/|„Ð<ä„!4ùD!ÀG>BhDò‰B€B¡Ž;ò-D䛆_CÚìÆ§…š7ÕÇþgŸÛ‰Ín|>à>à>à>àÏ ¾ððý†»|ÀüyÀw~çMÀ|À¯eyÙ÷ryXü Åø¿¸g¿zø‚ߺšŒNC5/ÚöºÊÆ·Ú>¡e¿í Á¯þ§à7¯&c„Ó`ÍS¥/¨~Óð¿ßj5é$œÆrÍå,ù7ÐF¤Ê}ù{6 ^ü×6V“^Âi´É‰N’¢Å/þÒ³iþDE6V“^Âiü(\•FmÐj’wÕð»çsÑmW“Váìü>ÖT‹ß2ºç³›\Îü®úø†‰êÄf>ð›ÇA÷|vbðŸðù¹ÌÜ|À|À|À|À|À|À§æ>à>5ðð>à>à>à>à>à>à>à>à>à>à>à>á|ªsàÿ­‘ä’_ðtðÃ*i倸€ï´¬ƒø€øó¤ú!ã|ÀüIZüø€?%øå@%ü'Ÿ›þNl~ào–nüñÈ&àwþÞší€ß þÙ|ûࣦg½þl:Ó>ŸTŸTŸTŸšwù±€ß:þÙü~ÀŸ\\Îûôsð ?àSŸð>ÕððŸH>à>‘|À|"ø€ø€ø€?øsMU%üâßËŒfQi›B€|„à#„!ÀG>BðBsƒÏ9¡áÀ×γ|„Æÿ·Êixv:pÑ*¨D ¡À×oOËe7Û¨Å_6µžjsk„úá×oDv¤½|^Ö5ÿkæÃÂ} ßüèAÖK|øæî¹¯ã=xÉëoŸóÒ—±þ¾d?¯ o –« i…ÈÉËÊðqª¯ô+>¡ê#dq`î£÷€l„&B€š!M|d³rKutïÚ–v^¤ÝZ¯ýƒÞ$œÔ”¾§ðÑÈš²{üÜ)à/ÁwEÁ'ÕG£g³aŸ¬ä SNÂsŸ+„§—ãÂÓn™±²=Ø­'°Çïé6³Ë2LÅ_W3c¡ÝT_ ¦›nçþK¦¤¹å×ÝwuŸðÂÔö“^C øhÄV?Fg™­êoÙp´&1ÌoUÔËÿº=عdVì×LýžN=µëŸ³û2ÞÇOÊÓFÝ5Áqs­Õ£Ýæþü8e¸c*ùdÀGè4ÕæUkêït9íãÇ÷Å(>¥ø7[ßB³¾7+}Ç\S©¥ïî²ys€{4rÊ`õÝš|÷ýÿÚ à#4ãY îšðøÍØøÃ=BÓøÑÌ>B€šê FºxàsŸ„³¶OÙJ Tøx|šôI8+5çÔ|Rì€O À'Å>—OR}|Rì€O À'6gHõŸ;}üõ!›µYŸÀDd;ñYÛf/>)vcàŸ¬$g©¢öᳺÍ^|Rì¶úø~…1m­‹l>ëÛìÅ'Ånü°À¨L×ã>ëÛìÅ'Ån+ÕÖU§~Û>ëÛìÅ'Ån­¯eïå–58luöúðYÝf/>)ö¶>¿yiƒ€Ï¾}N[}|"‹Ol>‘Å'áìÙgÅ›t’íD[DVO«x‰êÑï'xÔð©e_YÉPÚkèg;þKËÚùe³É÷š€/àkutØMÙø+ŸÑPµ9ð7§§xLRýãç—õ<&ÝzGoÿ(Ú34z]ðÏ|FV£?ÿ?ÝŠðùðî±M?à!¯ò5à­ÏÕ>5º*vopﯥËV8m‚ïS&¹Õ‰}Ù=\ñ¹Ô‡×¥[ÿا‹6PUرô·ýpeð/l*Lôˆ·H­þ Ÿ›9)5Á?õ¹çÃ'ÅnºïÞÎÁ®9zâðÙ­OÂi |9ÀÇ'6ñÉ|Rì€O À'ÅNª?P Hw+ O…•C´ÚÍP®ÈyQ÷l&+¶¸ƒCø,_ì.Z)èùHàÛÿäK¬×Y?%¿FÇ­%žo©’gsí§jM­ï³F±7["Lv0ÒpàËÅë«Å-·’*¹³÷Ò ü< k@®M·öSüÚ>K»_‘£ øª={o–>¾¢uàÒe׎ÙmÑ/~è“C©h Ȳ¹ñSüº>K{Xôî{Oùžÿ øù«óœoY/¶y£Ø£“šj‡³òü×ÀË`_Ü"¬ºžŸú¬lóÍ ä Ù|'>+Ïí?Õ–Á¾*ç+}8cú¡ÏÚ6ŸßUÒ4œù@õá³öü×úøÉ2Øflöë³·¡S6¹Žo5²Æï"¬_C:ñ ø€Ÿs¶«©îd‰·>×ïRÊ|'>Ûì¥zñ©À÷;t¹°‡£ªÝúüȧo×¹úq®Ä.+ø|Vì½TO“à[ëìÝUÈñ£üŒûtaª‰âý§ôý(P'>ŸÚì¥zþ—§Ôp|Ø’P•FPùŒ[Ò0‡(žD¤&[’µ÷ù¬Ø{©žôñKu¢üÞœSý¸oóäwQ\mà®}ÒÇü¬È¶¶‰OÂÙ£Oâ0ç³P¦Ò‰O.ç>5`BŸ„“TŸø„ð¯Þj€NŸÑöo§7Ôö©‹¥äG€ß8ÕŸ|Yðy4.§ ¶s“#’Úû<ÏÒú<µkðéã?:>šZæoÅöמ$«-¿Ä "ݶz¾ÀEtÓ~°–jX9Q¸ªî✒…ÃÌøLþE/ÝÏðŸïW‹1…äG¤Ë-†ßãê(W|Å 1¹õ²ë5¤\t Âú+•ÿ™Ï0½/-…x½ À§_ü8§ŒÛö°\“_ªáÓ·“~žŒÿ?­ /í§$…Á¿ëó ü½TðÿËTß×Àý8Õ[\å̪s‚ÚÞ´¯tÕ¿µ“üõ’W×=üŠ>£îVt/S¼´GZ€OªÿudÕm h2 þkŸš(À7Ù"sÍŠÕ€sõÛû|R}jÀ„> 'à?ë“^½‰>þ†ÔT€ê;Õ7þrQxE“ã]¯t•˜ª¾Oj*àÓÇÏÊ_Òé¬V?+ÇESFüõ¤e§§èJ^#ŸÔTÀü| ®])9.§_JÓP¢ù;M|RSßœO«©¾sG[%à/{7*nÝ“.â &m|RSß‚O£}üÜÕ‹´ÓÍŽ&·Æ÷—¤mÿ7à+ÝDÎl ÈîÛ›ùì ü+ç©@Hnú´_ìû$œôñï-M|;÷Òç>×€.|ÎéÁgõ}ζc¤ú䦤úó¦úÆûø¿èvÙ^j@ƒ{„ðm'&ø$œ÷ñŸû„àSðI±>5ŸØœÁ'©>>)vÀ§à›3¤ú€OŠ>>5ŸØ|"‹OlÒÇ'²ø$œ€OdñI8Iõ‰,> 'àSðI8Iõ©ø$œ€O À'ál˜ê>>)vúøÔ|bð‰,>±IŸÈâ“p>‘Å'á$Õ/YQŸp–¿‘î‚oΧÃ'áìÀg«sÒeÀ–ù-0—ݯ"œ¿“¡/ŠOD‰Æ¦o9ïâÝ0NJ7É í#üøD5‹±ðw·ž÷)àãõž¸-©þoCë(ÕO¼G©ýªkP€ºï±é¨W¿EÙ{Eí 3¾‡MŸîÜ'qh–hûŒì¥ýÞ”6ï|ÈüFÝ€oq~ýÝŠ¥ø"Äêgíµ¡ÏgÕD€íšzß딜 ðÿ¼(t‡W$ä[üh¤Â ø|À7ßÔŽØhñ=ø ¸›?»?øÈVSïÜÑ ój´_µ­.ÜûK!ÕwÚIõkû¼ÕÙú¤BÒø7lêOü«“¯ØÐg~¤£x¢QÀ?o_$×ø›æ²•Ï[ýÀ‡v;Mýù÷ Åÿ°?ø€o¥©?mîZŸ¨ïs@Îø‘ªRðßDSÕÜ>->ê+ÕϽT$€Â'&¿Wî‘…O4©èά>Qÿÿ½©`Yà#Ëàßž*€Â'ê»ÿ`Ö· Ÿ¨ïü^^PøDŸµºËÖáÖöÓëW„;<X¿ƒòß<ß ¢·?>òá›»ç¾ò>VÑÂï¾}ÞKï¼DÛOû0p!8ßV†·ËU†´Bä¿äeeè3縓!Ð’Òâ£1:(|¢ÙÀ1öP€:_…O4ø÷ïÚ(ÀG½ƒu_þézõø¨GðÏ›ûx)™ƒÝr ðQwà+ãÄðÛMwÓL€|Ôø—½û¥ÅwÚ_¯ u~Æ\ Í=©>à£À±q@>ê|}]QåÌUß®}"d üÕ>Oò]‚ènÛ@©/Ÿ€úÿïÂeP&ª¯úò øÈzª¿­¨P¿=ã,ܢؓό´Ÿ3²~”8+¢Êøv}nËÅ`¯¾®[(‹à›õ¹ñf±W‚ßÙªoŸ&{%hjðwzu€oΧ;LõMõJÐìເÂ'´#À|„ŸU¿Ë& Ÿðs)­ÛMã\~¨É¨ øÆZ·Éü>|ÀGhxðeËŒÏ) ¾Ÿ³"à_Ú© þµø]‚ö5þ•Úà_úA€ÿñ1ÉPógÎ;5û·ÿ¨ ø¹´­êc"<ð?=fÙX˽#_Õ>üîÁŸ×O.øTxøÓPAð‹lêò4c~LØA€ÿé1Å6uyà#ø€PÇàKËqí.6YÙϹÀG€ÿøËÂ1»WÃëƒjðà ¾´{»i+ðì>üïRýb›Hõí>ü¯Z|S~Ô4>€†?ûNÖÉü>üëÕNæðѨàß[¨z2?€Ÿuõ‘êãðÑ,àÿÁf|;~ ¾˜«ð>à>|À|ø€øððà>à#À|ÀG€ø€l_Zw¿×d~¨Éèû¦‚j…ЄàC>B3‚ùÍ>ä#4#øÐŒàC>B£PëRä#4!øÐ@ä—è „†òš|ÈGhðo¾‚ !4ù€Ð|à;ÀGð!À|„à#d³ /»¤ à#4p‹ ø>à#ø!ÀG>B¨øÃòÿþûûñ#õË ½¡±ÀWúÏ?òÀëaÀG¨;ð£ÿ꯵_ƒE0à#Ô9øú_Këÿ—èÓâ#46øZ2~R}„†îãë×ȯ(ÿw`p¡1Á/ö>€à#„!ø¡à ð¢Å¿9.à#dü¿ËvNñ–¿Kyykj>B‚ÿ›ª»S}·ÌÐMS}e-ª øõØâßFðêüõ³Ñ‚Ù€Ð$à÷>€à#„!ø!ÀG>Bè3ðÙ-!ôu†ø>BðB€|„à#„!ø!ÀG>Bè ©€Ð„gÀGh,À³öÔ|„kÙsöÔ|„&Y[ð.Õw—{j>Bƒµø9|„OööÔ|„È !À|„ð|„!’×ñ–G~¦ÞÞ…gÜå]>ØyéÙ‘¯ß<×`|à½OûÄàùK_ÇúëÀ}ë ~ë{rü’Ü#‡iÁõÝ[!„¡éq´¢X: Rè3üM „„F_Î%7„{øÚ5Ø?¾ !4^ß_ø¯}J¡AÁï¦/ƒ}ü:'гm¶G-àð…ϯ{h? Gë¡é*ôzX¢:zJQoN§¡›ÕD—zð¶YÑÖÎktÞ‘ÕÓð§?øsžØ•Un>§û¡ ~ò-Nþ%?_‚¿{”¶_Ô=øŠO {¼Tð XEKî£xL$Zü(š.=.“F™DzLü7¹Í¡ñk2-M;¸>e…·ÔÖ›s‰·ð 3F7  X‡ROÑaé›ýÜÄKE¦S/£­=ðãP­F«v¾ú›ü±Sý%»Ûþs;ÏèðŸboýs;¯^$·ÿÀÞ6Ž.ìèèËî}é [ný’ÐÝ‹¶6yR?áâ”»ãèêãív þ¼'†ÏJC·úu¯z…K"IC´}³[àŸ®uc¨¸…Þ94ú{à¯þöûuóÕœt üµ)šŸmmF ’oŸ‰Ž¾úŽ£ë7:Ö%݇ÓîDÓøfîã§Ú] z\áw:W¤ÅwéTÔûÕYsØâ»ôoÑû¤cjºþ6oHZèÌmËjåNù_ýîǾïÅ øN›êÇmȪ‘V¸«ë¸Ýb¶43iwÞ)ª¶{ÍŒ‹o‰Kûø.é'+ôӞůï½s¨s.™¤•t µÉ¢W»U2£Õ¹ò¸u£âí $Ý‹öê+.J2zqõÕ£óÅÝ7—ºß¿ð¶_~îvëõ¸Ü¦-Ñ›ñüã ÆÃ;v z ~:’iûÊåXÜoÚ©4÷Vixßâ#„ºŸ¤ ¡ÙN1€Ð”à;ÀG¨ûTð¢ø>ß¡©N1ªªœTÔs~ì¢ÐúßXZ [vÌù±gˆBë2A|À|À|Àü‘·HõðððgHõðŸ>þÆA¼¶a¼®Â§W,òÁ·bÇœŸª&ƒ•¨ËB³ þñP_zÌߌs~ª˜ V¢. Íl߯)¦mp€oÇŽ9?U ìøv<™+4óà+]?½5øíí˜óSµÀžßÞ“¹B3›êG«ˆÊR‹ßÜŽ9?U L+Q—…f¸ï+]hg}õz}|+vÌù©Z`2X‰º,4³©~cüp9ï[ð)4À|À§Ð,8|Àü Á¯ç[%Áß®Ñÿb2Æ'uh3^6Kiþþ÷ÑNfªþwQú´Ð’§âš$ÀÏxÕÎo* þÙ­ëв›rSðµ*xX[-Á¥¯ m"]îWG¿JõÃ.—a/²Í®ÞÑ0éoŒÔ¿8~wX¢·FõìøýÍN?êÛ:tê' ÉʼnïCðÏùAìõ–¯÷âõ`T??J*$= QØWÎM~´ËehGd½fØ/l÷-6*7¦ìÚñOëõ®Kwfžøqé¾°•À?u$¿s¼;õÍöþÁ”Ý;Q*ØÒùdß)Rýh—ËpVN’éøñ™Q.9³÷»ï€dÇ%»®¿ÚnøV:ö³­ÒuÀ?qä/]ïÌ­‘ ‚_>J_ÚNˆVë›hpOж·LÉiµKSýxWð(Õ׃{Çv™\»õ«LwñÄÏj_i¹§žôQECUцó@Ów•è³(}WhÛõ‰p­Á=ý°.¯ ©bYô{9O¶ ­@¦úøßöëÔ‘KÂÂïðiñŸBëºø€ø‚¯ nî îÙ°cÎOÕ“ÁJÔe¡Oõ-ïŒïÌï ‚ïlïÿjÅÓ›šƒoÇŽ9?U ìæBf<™+4³©¾ü&9à[±cÎOÕ“ÁJÔe¡îãëá ÊB©¾;æüT-0¬D]šÙ.@¥o§úFê!?U L+Q—…f¶ßØD#?\Îû¸Å§ÐðŸBë ø€ø€ø€ø¤úVÀO·A ¯9_ \Úúñwz–ºïñjm²µ£dwoÀë#ð?RB{¢¶Ð*ÿní¤³ÿÇtD—Þà]ªÝó£ àßp.eß¾ªý`'âQ*Qh/BÔýZÚ™éÔ|¹xa½xÿ¥…³¬ÉQü;~ôt])Ý+°LGÑ㻫‚év%*¥…ö"DýƒD´2k;ðµ^Ëo» bÜâ?™›y«åúQ´,aYð3¹ÙJ¥Á/¥…ö"D½OàqÚ]Ü®øÚÉÒ–å<׫ÿÅÛ nÀ/˜5ÞñSülG5Sý Q*QhõS}3ƒ{aÉêZ&ü†Ú¹¹+ÚØx5&´~ÚOË,:¸—ïçY¾xpï†#?båÜ^l³B”ŠÚóõ?ª_aZóŠpig•åm¯«~Lönëlêç ÀŠ;zr?¾Oæ Íl¿ÎšðµÝHÉ7äïöv*öÎ"°›¤Ÿ««àèþM:6<™+4Ãà7ø°x}ã&~¶v¶)x:ôÄž©~odzæÞ~ ²Î 샯æàÛX=¥R%›ü7<”Ê͸ag/Q:b üƒÔ‡>ôñ‹GIü ‘ùTÿzÓÌË1Cgø[ðÓ½yLe ñ(y÷Ýûñ£½Ë’÷f;Ÿçà׉ҽûñ‹‡¨sð³6ÆtnýçÛ&2d³»(¿SgA‹Y[EÛU¥<+Þ'KŸŒÖ榃rõ¢tgÕØ !ê~æ^ÞÆ˜~–\ßθŒ¢=¹£¶ìáÔà‡c§âæ5ê¦ÿÀѺÅ/%寍Nˆºß-÷jc̘ÍpÜX}ü½¾‡ÿÆKCV-Õ?èTj_ QS«©þ£ÈS…()7FuB4ØàžÊ|¿cð›ÄQÎr×ã|¢C‹Jsਡ'{1êü£ö¸|LµøÎÞU† CËkב“Ñ­}xJgÏpàÛl<˜ÀÓgŒ¿ðÍÖ!Àü.Rý Á·›T5­ÌdÙDîÅH€øÝŒ9DYÒBð |S×`×1ª¢Þgî¾?Êžá$—^¿Ó-Ã’*ñ‚SO”gÈ\ê…ˆ>>à—oñÃAaU)…%¥¢ë§JµøÖRýty­ !|À¯ÙÇ÷•‹æT-“*¯E6T¿Nˆèã~Qð×íÞIwo¿˜—v ¾µ mbT%D€øu²¯;»a¨R¥îµÐÚµø¤ú€_ |Wû¶Ü MÓߤøã_¯rPh¤ú€_|Ýz‰ ·K6WO¹eîñ"Ó€ÛDXÐGw‹ ðo¼§´C€Ÿõ.ª þÔx²rr€{ͽtŠKNó÷Å¿øݧúù!RÑB£¿¾dù¦Ëàü/,O‘ì7%øÅCøÏRýñ[¨C;^Áÿ¤û46øÉüuPç©þYþÙümçÃ|ªŸÎEÑÎvqÏ碒ê_‡ðË›¸XÐÊøé"£†[|+é áßhÊ<]ª¹’]óTÕùà:~Ïà;À·~´z­ÅuõÕAüÀw“ïœÅÿÌà>}üoL˜ÿ*ÓhºÊ®¹N»ŽÚ®²ÛÃ,0À÷¥e|[{zí,¯ml†Ó®£ÖËkÛŸFßb–f¸Å77ÃiבðmÏ|›Ý3Ë©¾37Ãiã¨yªo+F¤úÝ€odÏúIDATÖùhÛâ3tôáM[|k1üžÀ·ä§¯Ë ûgÝT"R}À¿ø,™›á”3ÈÙhDð ð%kÛ÷æ92¹®>©>à÷”êÛkͬµø6gÑÇ|úøôñðø±W©o2Fôñ¿\Y0W¿Ï>uð§ŸTŸ:ø€øÔ!À'Õ'Õ§>à>uðIõððéã>à>à>àÓÇ'Õ|À|À|ÀŸ;Õ¯ª Ÿ¶ì˜ócÏ…Ö%øhxŠ uä߯Ißœ¡Uõ¶`ÊNŒðê!À|À'·è&ž2¾ÌU:Ù¿ƒQ9À·¾0´Û¦à‹ã8àË$øjðùÚÔè֞ΠM€ÿeC/í¬xø¤úDPVÀ—Á_Ëî•qo¾¡'>à—Ìb‹Nß:Ø‹Z{ºªÔªŒ}þÎ>õ==‰QûIw|û ýE[(¶Š>Ø­ܲßÖ¾‰í}hî‚TÂTW1Çsü³,¶\).›S-µxÙ^¾¥3Y©|ˆ~‡-þQ[£Å÷•:òøcĈSŒ]ð¯²X•<á(¤®Iëd5­ ~ï1ü~ã) 5Kõ;8þãðûà>-þÔ1âø€ø€ø€Oððð©C€øÎðà~/1ªðå'5ÿÍqZna¸xà.->->|À|ø€øððuð>à>|À|ø€øð!À|„ð|ÀGh½“¬9Q:²#ÀG€øݬD¤92`È^”d1Fhð£ý\~;ï4¿¡!{Q’Å¡À—‹÷ØSû¿¥!{Q’Å¡þÈ?«Ò¿=\5¯¡§ö¦,Æu¾;Lb£¹ÔÆ‘Cö¢$‹1B½‘¿S¥÷ÔÐÚ“Sc„ðu >†rÀ'F¨û³†ú3øè¼•(¬F† R'ÔZó†ï/ë_Kf ¡¯ï…ð~KðÕQÔ|N €?ø~‹ìƒâU>~§àÿ6sTà{U£ÏEŸŒõ~7⫌?ð° ~Øñõñ»•‰’²½~*}#Ô#øËÖÆZîêø¬è•‘Lð ½§~ÕúþÛ.7¼”Š’²½~*}#ø'àï&“uÀ¿ˆ€)ð+×Ûørvè|¹¨&ù¹ ¿M& x8îa¬³âå^UeTóRQ:“Í‚ZŸÉzÍ^?"'h¨ðå‹Ò7!…³½d²€‡SðW·¯ê²Éôíl¡(]ƒ/•U6øÚd(`€ßÅmŠj î•õp~xoùÿe$¶…¢”¾Âò9Ÿ¹þzíë ¡úø-ÞÕŒ}ü±Ù3Õ—Å)Ô2HÙsëÛÞƒæm€øOÁ—JŸê/UX&ƒ´›ê×-üÝÛy2‚†ÿ"…¬ ~OAúué 9ÉJ¿`Îmøkq“ü¾S}À|””}™u¤”‘BðP "QR£âüÙÁ/·ÝŠÚx(~±(©QqþäàÜnEm<”¿\”Ô¨¸ðKm·¢6 ƒÿq”Ô¨¸ŸT¿Ôv+jã¡dªÿ}”Ô¨¸vðËUµñPrô[M‚T"T€ø€øhVððyððà#À|ÀG€ø€ð¾õ IËuzÏ|øƒ¿,p³ºFøðÇ_*ºë=à~µ÷ßIb7ÕÁ|Ô?øÛ$ð³?ðQßàÇI,àûf^C}/øgI,à/Ø>·Å¯á¡7ðs—|Ôøg•ð,møÈ>øç•ðIõÑxà_¶V€š~ÀGc€ŸlUma}æê>"Õ|ÀGê4à>šüªðà>à#À|À|À|ø€øððшà—V#éˆê?B!„BèËžç3Ï'¸ÐpIEND®B`‚lepton-eda-1.9.10/attrib/design/ProgramArchitecture.gnumeric0000644000175000017500000001402213634703632021024 00000000000000‹í]isÛ¶ÓßOêEÿŽ'µEê°6níÜÏäð$N3ÓN‡‰Ä†$4$eYýôÏ.À[¢,аb¥H§‰ØÅîo‹ƒÀ¯¿Ýz.¹aAèpÿiË8j·~;ÿá×±<ùƒ¯οÈá‡O éikEÓ'ÇÇóùühìsñ`|<ög œáñÍIëüBDé‹( œÁ,b!&•eZœêS'ÔþpØüÉ“pÂçÖ„οܨk…À»î€¿§%òUD‹);ïÊ—âwþå ugìüúãç2ƒ|–\¯`k VA€‘3ÜF}1L²":ïŸÇRR˜ÂãÓÌóh°ÈµãMļå&ÐéÔÁF€Î nŸC¨ßŸ'@L9K^äØËȬ£:‹|w 86!&Ÿrm–2˜0½‡êßø6»Í1•¾8E…è^ýXYÙ«UÙß:ƒ1³iEöRRJUT‚)áqúøŠuGÁ‚|qìhŽ¡m˜-òš9ãIô´ÕkwZÇÅv„e†Ès'œºtñ’ÞÌ¥áÓÖˆº!ƒJ›ýÉ^Hx8v!áw_3j³ ú‘ÏK©1•³Èu|T¢`Éñó§…7ànxÉ\>_ýê£l‘xUPójù¿/£á½VÏ{òuüTÊ\ŸwOÓø˜Ïñ'çÞ9x^ñGæIen¤zÒ¤+@[ôÆ|…}$/SºÁØñÃ,5±n>%WŠ‚¬ÌÓ£N‹\lôÙw@ C¯u¼T`À£ˆ{õʸlÕ+ ê™$¤eŒî‘yg™XìÆe•)½ÀùX“ðO[íB9ÁÝ]Æùê·ì†ù–3²¸ï.¬0Z¸,¬ÎìqŸ'˜lu;  “Êב­%°)£‘…è‰óTeº¯ÊÃPÙy`Ehž-,ÓÊùŸÄµK};Ò)K²g¯Š…¤k o MÞ9¶í?QoúË_×—·HlîK|½”¸(½¢cFdù«‹W/ÖT0þ‚ó‹¸Û”O?äaTe®Òc —ª‰Ù2“0¢A® ÛoɧèÒð‰ù¶xcvÎăxaöz­%ô‹Éë ×C°Èÿ#þi´È—€N¯Ùm$>‹ŸŸ& TDÁá'8uL{ÿµÈ%~}Úz ž¤Qëdœñ ÍúR´þiëóY@݇©&üˆHk„æ\r×–Ä! t†âçgà#@.ž>ƒþÊ®ý³ñSÎ_3÷†a8&® #dqYÂ^îý5 ]äR(4ãxeKé'ã2U¹aõꈻ«ÚçsŸºwåûÈn~¾3o(¬PîeÙSæ»”{$ŸdH6ÚcE8ÖÈU…\è„®‘A·chèjü |ZÀñéj¬q¬qüÀqÜ­òÇÝ=‰$~×1Ä ²8B«Éá«¶ý^¯£ÇrߡެÈ~b»Û®ÆvWc[û;Úk¯ì©‘»`|vÚn?yö þz ¿ÔÂØø>aün» ¸m \[|so½ wÜÓ°Öþø!/xäÜñ™öÆ:ÞÏ ¢àÛÚÿê°â»XŒî­vÎÔÚ;?pï|fælöª6é©7 ç=[×k¯^Ö{À>ùwíÿÛÞ¸¾=àÓ Þ÷»•…q–›rë¶Ït@¡Á¼O…z«#Šž)4€÷!¤È¸£ç)4Œ÷u÷›Y±ùÍèêˆBO#ï“{6+aÝÕ°Öz€Ü¯õõ;zYƒy§0ºí³ª9 g ç} 2ò»ë ýáˆÆòþ~Ú1WïæÔPÖPÞ»ÉýŠÉ} d½3ùaoêìWlêÔÐý–ÐݬŒž›Ûl‹gõO ñïâß1¨s'¸œèðY‡Ïû»5ãtåÖŒ‡Žäß5†õîŒU!†^2ÑHÞcoÜ_½Q®¯]±“÷ÎU'a´ïÓ/ëŸÚ#ßÛ–¹vÕ–9½÷Sï˜ÛÛÅìvÕŽ9jíž÷ê<Ï^•Ö›óµƒÞãÝF½*­q­]ô>mШØk¤÷æëý|†Y±=C#WG{»vm®Þ¡1­£Š=Z)1W/”tõB‰Æï>¬Y›«Ð^X£ø›£8÷",\Ÿ És6¢37úäüË®ðnßîi«Ȇ°’÷«³Ô¤|]™¸#óκNÖÖe´3\mÀXo}e½Zœ™ë+;Q(2³­3Ó܈³µUt6ûÚ*R;1Í£ÞvUôj)¿¿•F-¯GR§¯–]£±¾º©Ê;fcüt»Ijm©æºÛâ§[%bã.û’~Ý`ñŠqæ²!^<’g³ äœÁoÅOòÃø³²“LKåº ßÒŸå–rgž•ÊèØú0ø’ËWŸ?c®ûŒ{„ˆäbM0¬iQ^OœŒÆBB]—xÌãÁ‚Ð0äC‡FÌ&s'š× £Ç„ú6Á«æIÀ¢YM§äýç·oÉ”;>Þ÷q|M†P Ž TÜ\‚L!P|‰(S>ŒF!Ãh•ˆÿ’ä ¬]/¦Ð3u:¤cñ÷r·¦9϶ ‚pïÖš;¾Íçµmˉ˜>þ°¹CŸ ]FƒðY$x†X–Œ£¯á„±(ßÎÁÌqí8Ð*žMAy¢‘³ @†¿PÓˆDtà²r»ŸáÞë{o·P£w ÿ7V&òùêóÀ×l4zLÙíÈB:°I6g¡ÿ?Ÿ 'ÐêE&Qäˆk¨¢˜H¬|N’^µ°—äp²9”‰b÷µá'6ag„’¡ð¿ÏÉ”ŽA! `À¨ R{ 2QÞ,âŒ.‡Q}DJM¹4Îv׊˜÷Á¾CÇø94¼Û˜ÁHŠŽ4ò9®+hX±I@¾·à9‚Ǻ`GÚÌlj —’åE0EõÃg;ñ Ÿ^¿xqm=¿¸¾Ì³!H– 0ÆÆ;²Äg²€¬Uíþn±Š«‹W/ÇBÙ/ˆy<?)jóßD£ð9ÄlU\¡5 8J•8 )}!´—ŽÐÏ1 æ‚"!±° ?.©kgf?wì1€K6´1e€°Þ0é±ñE¼æslc,$P “z,ü %‹üãœIáN ñ èw¦…¼XV˜UgC× ™9áï¡DCébŽ„ƒÀ~ppýáêí‹?^¼…lïyÄdFTÒøù§qô ò/1 Ã¯D؈7 Qy"ŸËùè~š³äq;ßÌè z>"\±dVô›mÂÑÖçN¸Ô;¼ÜUO]:Œ;áŸÉYf.ÁìÇæ'û1éüQÜRÖ\Æuõ b¤K@]…$´D1ëPF Ô‡úlçÆ±gÔ•5JáP`!—åð|wŽ:'‡¤I ÜÀ¼$ ÔŸlä„c%’sy99€Ë€ZX6í ¥PR„DèCD(,‡ˆ^%–ÝÁýªô|²™ÕîO Jø„ÌÿåEÄ Œ,¨” I"ð2!¶¢ÅåÐq‚•qiJR9Be)a«.—9 l¨ÏI(§QHɇ“çKž_Ä;òð?ó‡,¡+ztœ.ÿïųë´Uöñf{WÚ± Š/¤j ö÷DÌécQae%_ì$ì.8ÂV%X¤ý €€(ÀI%@ììb¿t ú ´L†düíQ¹;‰ H¬Ÿ¸ÌG“åÑŒ±;ŽBѧžYöêge¦†¢Ó=±RHƒ.8$ª  Øëh ý]µc…sù_HÆN0šLqDàe]vÃ\ràAOƒiPù bù‰zÓ_À'οñoðÇ‘¨Æ¥°z$û/^ŒåÐmêü\›ÏQüŸ+¸)Á¢—¸¤p*Âa1’Îe)ÞØ –†S»è„“%!÷„Ê ÛÄñ@<ŠN»}>z²PN–è?G<’E'¨Ó9ÌN.R‡¢o-{ÔÝ…nØß¡uÍ|0`˜a\‹LŸ²SK(a6ÂÃ,VÈ Z$”—cœîŽf@²iŽ0r.¶/™ò(´Ñ£_¡-!Œ³dDžƒÐÕ$x,²æGm¢F)„$¼ÏñäP$«ž£5J÷:3› 8à˜"Q‰˜?²E¯ŽÉanì˜2½ÔïÂßA¤@Æ4‚øn€ÌâHWz•t,"‚c/±ØÚrê¯4Ç—r½jÖ$_å%_ƒüAÝ“$úíåUègr6ëü•ËàK¥æ’¥!ùª´°ˆT* µ §ø9Ì´=}³6ýŸÜè—8|’WÑ×/bhŠH€= Ÿãu{–:µYÊù•CiŠ%oÏA‚ccÞsÿç±Dtk?¸¾¸|û‚ʶ?Úžt¯6éO×ß¼e½}ó麹¸ÍÍÉJé1o6·½Íéf'æapl§ÈÓæ6¸99ÂÍíÌÜFÛäУ`ð îMå@¾™Í%BèÔÂÍ€ß6A§‘|p8 $Ð­Í V8Rlnð›“N`lqˆ‘Ns»ënmw0ÈÁ1Ž›Ûœ$jÕæhë6B› ®T®[ p0fn¸z$Å6®æºîmLÔçpþµ¹®7§™tâÂ¡Š‘SsÍöjÚ58 1š+¸WS3Alc¢"R ›«·_[½ØY(Òn¿¦vÁrj7ñÜ'Ûzn:P.mÎÀø»¹²OjbìX›.Œx0 Æ©€ß5WþIMåÇÝÆ –i€Óm f2ÄΜ¿Ú«@Áæœd¤›Cá´Ð溸îV„oœÐ8®-š7ù¬ån [Ä7ïN^}2 ØÈ¹mŽòds“¼Í1]ƒn2ÃB5“.µšœM{*˜î¨%ëfho«ÆfkÖ ½yß}5¸ÎŒü¡‚©ŽtÓyÆaÀhÄ)ÀõæÔÓejÜA§Öý­&}6?PÐWÛ„‰ †õ5è6liНÍÃ’t-ì;fŒKU ì¤Â’]›ª0¶9íãC\E­—;A‘Ãc@«ÍR?8þô19ËÅ–X†'\0NPA2z¶ ¿½úüfÌÊc‡ø ã‹øA|7¯˜7Éî™&¦Ó©Oe±4ý*qt(vÊ[|ð ¿uZs1fцˆR±JQ/v|!§~T@æì›Y½YŸ…´[•º…“š  {¶ tÓióû@n½ÑJ‚[+0훳iÃÈbÉÿ)À¯¹ù2kqÇ Š€°ñå¯'¬|µ·Ám~þ [“©t ­`V¾i´¹ïOR7_vŽw˜X¸¨‡Æ6a#Šu (@£QKñÙ:Á½ Ð¨å™”¢psÒ!‡—#!p0·…. Èí• ð`ÖÂCº°p/p0·è¨Vw å„À˜[&‰?ॳµûà®:¼t¾AOÞ«O<¯ƒ\_ª@ ÅUe£š‡ã팠[ÃÄÇÉÎ,a *¤¼ÝÖ„›¦=u*ˆ^YÜšo‰ ÷íàË#e¤¿%ä>©?Âðmv›Æï8b~Ô|&¹³yoù,þbPÁ$¹d1£˽ûv×M¸¼Ž£@7ýºÁ-ž±€P>©?#¬ŒöimД´™‘®¤õ´}trØ7Í©d)¥ã鸋Ÿ¤^Ó\½ ÿ34]> .ðñ*à—y1°ñáé ÷L>8OšÃé¼8!}&Ï u‡Ï\ …FÔ Y‹¼vlö' x!áUàØ…àè5£6 ©ÀX)5¦òaá™Â@% fxÀ…|þ´ðÜ /ñ£ÌÕ¯Äù¼ñ«‚|ÞƒÓ8+¿?~9ôc7+RóÙÞÑ[`õ¼'_ÇO¥ Àõ¹ÙOsàc>ÇŸœ{çÆQ[ü‘¹DR™›ð¸aµáñ…x(óòÑÓòÌÂp Hxh¾²2O:¨d6’'½âa¢À@žŒ\«Œ‹ç$×*ˆs’k™$¤eŒ.yG™çÑÆe•)*º2q~‰èDV-9¹+à _ý–Ý0ßrF÷Ý…Š˜«3{ÜçÃI€g0Tæ± :©|9ÑZÐë2á&ß$OU¡ûª<ò@êÀÂó6¬øÓ­Ò!Õq><Â\âÚ¥¾é”%Ù³WÅBÒ5<¤¿ÈçØ6ž-Nÿøëúâòoð¯ÒÜ—øz)qQ.z…GUÈòxæÏš ¦À_p~Ñ•<ʧ‚®2×_—ØÞü^]³×¯¸ô®Û>»óz0#;BÞÌ!ßÖGÈ×)mÙA¯ ­9¬š}}ÙFê7Gj¿pëb†Ô“ ©CûTÔvÌÉJ§ª¡ª¡úкJ«âÕ~¯×Ñ«FìC¬yšáµ­«†êÃ…ª±©¨¨ ¨íŠ ýý@ÕÐPý>æ«Ì•Ó[íV5VV¨z²2€ä-¡ª'W5TïgÊÊX½  }ªêó©«]ªö¨¨ß¨§µ0¦Ò‘ªë>_oš¦Ê»âUÜÇžÝß>UyW¼ÑUyWü‰Ò»âϺá®ø.f67»+þ¤WYÓÚ[¢“ò¸µEùžÂ¶œT\x¾M]gé}Þ­Úe´7bfmÆF²Y[…Ùœ‹Ns.º cô›óS(믵7; ‘b֓ζ÷¬· ÷¬otÍz!ò?[ùozɺêË–ò÷à:ò®!¼ë† âøøÝ^Ý÷£¸§ w Çw‘ÊûxùHÜ©Iæg8!o  Œ‘""¾&3¼¯íGü³Ë lxü±ÄÑp—××pKŠêÖÐÐ6!nnA¼1ÑÎD#æ›SîÖ¦6'ÚÛ¢¹ž6¢Ù®}#Ì wl’à9¹U¿c½|wÝUFæÙjñ'k‡ÙGk NÛœá„|f Ô¶ïdU\)gɳ;ÄvzLâQx ÞÊòŠ7Ã?fOž˜/¾ŒÁuÉo@ “éa>yX…<;);J}&/ñ8zÛG»¼ò(“—°¥øäHyv}±Ê‚qS!¾K†84÷D­©Híò’¥¤-±A‹Ã‚-Ù®ƒøSËfß÷¶5¹ò±Êøôâ-4à͇÷Üðsávíë{.®¯?¾¹DðÄ"d4N’ôøþ÷0 Oµ¬ÅR Ý÷æ VÀx½EdŸ°Æo&ñåmaster_comp_list_head * Component attributes found in the design. sheet_head->master_comp_attrib_list_head * Netnames found in the design. sheet_head->master_net_list_head (TBD) * Net attributes found in the design. sheet_head->master_net_attrib_list_head (TBD) * Component pins found in the design sheet_head->master_pin_list_head * Component pins attributes found in the design sheet_head->master_pin_attrib_list_head Each master list is stored using a STRING_DATA struct. Attach pointers to these master lists inside SHEET_DATA. This stage of processing also counts up the number of each item. These lists are used to index the table entries, and form the row and column labels on the gtk_sheet. 4. Create TABLE, which is the data structure holding the info to be displayed in the gtk_sheet cells. TABLE is basically a 2D array of structs. Tables are built for the following types of objects: * Component refdeses & attached attributes. sheet_head->component_table * Netnames and attached attributes. (TBD) sheet_head->net_table * Component pins and attached attributes. After creation, attach TABLE inside SHEET_DATA. The fcns which add components and nets to the internal data structs are called s_*_set_*" Items in the table are referenced using a construct like: sheet_head->component_table)[i][j].attrib_value 5. Then build gtk_sheet using fcns available in x_gtksheet. They take the data from SHEET_DATA and stick them into the gtk_sheet widget for display on the spreadsheet. 6. Run gtk_main. Wait for user clicks & invoke appropriate callbacks. Callback fcns are specified in include/menu.h 7. The save callback is x_fileselect_*. Upon a save/saveas event invoked from the menu, take all data out of gtk_sheet and stick it into SHEET_DATA using various fcns named "s_*_update_*". Then take data out of SHEET_DATA and stick it into (TOPLEVEL *pr_current). Then use standard gEDA fcns to save out the data in .sch format. ----------------------------------------------------------------------- gattrib data structures: TOPLEVEL: Toplevel holds page info, and is a linked list with one entry per page/window. Defined in libgeda/include/struct.h, fcns to manipulate TOPLEVEL data live in libgeda/src/s_project.c SHEET_DATA: Holds data taken from TOPLEVEL in form relevant for display in spreadsheet. Definition: struct st_sheet_data { STRING_LIST *master_comp_list_head; /* Sorted list of all components used in design */ int comp_count; /* number of components in design */ STRING_LIST *master_comp_attrib_list_head; /* Sorted list of all component attribs used in design */ int comp_attrib_count; /* number of component attribs in design */ STRING_LIST *master_net_list_head; /* Sorted list of all nets used in design */ int net_count; /* number of nets in design */ STRING_LIST *master_net_attrib_list_head; /* Sorted list of all net attribss used in design */ int net_attrib_count; /* number of net attribss in design */ STRING_LIST *master_pin_list_head; /* Sorted list of all pins used in design */ int pin_count; /* number of pins in design */ STRING_LIST *master_pin_attrib_list_head; /* Sorted list of all pin attribss used in design */ int pin_attrib_count; /* number of pin attribss in design */ TABLE **component_table; /* points to 2d array of component attribs */ TABLE **net_table; /* points to 2d array of net attribs */ TABLE **pin_table; /* points to 2d array of pin attribs */ }; TABLE: Is 2D array of structs. Each struct member holds info about one particular attrib. STRING_LIST: A linked list of strings. Used to create the component and net master lists. GtkWidget **sheets: These are the spreadsheet widgets themselves. There are three of them: 1. Comp attribs 2. Net attribs (currently TBD) 3. Pin attribs (i.e. pinseq and so on). --------------------------------------------------------------------------------- ******** How data gets from TOPLEVEL into GtkSheet ******** --------------------------------------------------------------------------------- Here's what happens when the program starts, or file->open is invoked from the menu and the data is read in. (I handle data structure initialization elsewhere.) Keep in mind that gattrib's data structures (in particular, SHEET_DATA) are a thin layer between GtkSheet and TOPLEVEL. When you read in a design, libgeda functions are used to fill out the TOPLEVEL data structure. The the purpose of gattrib is to take all the stuff out of TOPLEVEL run it throught SHEET_DATA, and finally stick it into GtkSheet for user manipulation. 1. Loop on each page. For each page in the design, do this: * Read in the page using s_toplevel_read_page. * Invoke s_sheet_data_add_master_*_list items and s_sheet_data_add_master_*_attrib_list items. This fills out the lists in SHEET__DATA. 2. Sort the master lists. 3. Create the tables: sheet_head->*_table = s_table_new(. . . .) 4. Loop on pages again. Fill out the tables using s_table_add_toplevel_*_items_to_*_table(. . . .) 5. Transfer data from tables to gtksheet using x_window_add_items. This fcn does the following: * Create a new gtksheet having the current dimensions. * Call x_gktsheet_add_row_labels(*_count, master_*_list_head) * Call x_gktsheet_add_col_labels(*_attrib_count, master_*_attrib_list_head) * loop on i, j -- call x_gtksheet_add_entry(i, j, attrib_value), taking the values out of sheet_heat->*_table. * Call gtk_widget_show(window) to show new window. --------------------------------------------------------------------------------- ******** How data gets from GtkSheet into TOPLEVEL upon saving a sheet ******** --------------------------------------------------------------------------------- Here's what happens when file->save is invoked from the menu. Please keep in mind that gattrib is a thin layer between GtkSheet and TOPLEVEL. When you save out a design, the purpose of gattrib is to take all the stuff out of GtkSheet and put it temporarily into sheet_data->*_table. From there, it can then stick it into TOPLEVEL. Thereafter, libgeda fcns are used to save it. 1. Selecting "save" from the menubar invokes the callback s_toplevel_menubar_file_save. (callbacks are defined in includes/x_menu.h) This calls s_toplevel_gtksheet_to_toplevel. 2. s_toplevel_gtksheet_to_toplevel calls s_sheet_data_gtksheet_to_sheetdata. Then it loops on all pages and calls s_toplevel_sheetdata_to_toplevel. (Described starting in item 6 below.) 3. s_sheet_data_gtksheet_to_sheetdata calls s_table_gtksheet_to_all_tables. 4. s_table_gtksheet_to_all_tables calls s_table_gtksheet_to_table individually for each sheet (comps, nets, pins) 5. s_table_gtksheet_to_table loops over all cells in the the gtksheet and loads all the stuff it finds back into sheet_data->*_table. 6. Back in s_toplevel_gtksheet_to_toplevel. Now that the tables are loaded, we loop on all pages and call s_toplevel_sheetdata_to_toplevel with a pointer to the first obj on the page as the calling arg. 7. Inside s_toplevel_sheetdata_to_toplevel, we loop on all objs in the page, find the corresponding entry in sheet_data->*_table, and then copy all attribs out of sheet_data->*_table and back into the object's attrib list. 8. Finally, the libgeda fcn s_page_save_all is called. This saves out all pages in the design. ----------------------------------------------------------------------- Data structures used in gEDA. These notes attempt to document the data structures used in gEDA. I present them here because they may not be familiar to those interested in hacking gattrib. I also want to record these findings somewhere because it took me some time to figure this out. TOPLEVEL: The basic data structure in gschem. Basically holds info about the entire design. PAGE: Self explanatory. The entire design is held as a doubly linked list of PAGEs under TOPLEVEL. OBJECT: A graphical object on the gschem page. Can be a net segment, a component, a bit of text, a component's pin, or whatever. Each page holds a doubly linked list of OBJECTs present on that page. NETLIST: Important in gnetlist. This is a doubly linked list of component objects and pins. ----------------------------------------------------------------------------- Represenatation of components, component attributes, & pins in gattrib & gEDA. From the top down to a particular graphical object on a schematic page: (TOPLEVEL *pr_current)->(PAGE page_current)->(OBJECT o_current) That is, all objects in the design are graphical objects, and are held in a linked list. Note that an object is any graphical object, such as text, a component, an attribute, a line, a net, etc. Stuff attached below the OBJECT level determine what kind of object the graphic is, its visibility, its name, etc. etc. etc. ---- Components with attributes ---- Starting from a component, an attribute is represented like this: (OBJECT *component)->(ATTRIB *attribs)->(OBJECT *attrib_graphic)->(TEXT *text)->(char *string) // name=value string ->(int x, y) // which coords? ->(int screen_x) // ??? etc . . . ->(int type) // types defined in o_types.h ->(int sid) // unique identifier ->(char *name) // something like text.3732 Note that ATTRIB is a linked list of (pointers to) attributes. (OBJECT *component) points to the ATTRIB list, and "attrib_graphic" points to the attrib OBJECT itself (which is a graphical element like everything else). ---- Attributes ---- Since each attribute is itself a graphical object present in the design, an attribute graphic is represented like this: (OBJECT *attribute)->(TEXT *text)->(char *string) // name=value string ->(int x, y) // which coords? ->(int screen_x) // ??? etc . . . ->(int type) // for attribute, type is text // #define OBJ_TEXT 'T' ->(int sid) ->(char *name) ->(ATTRIB *attached_to) // points back to (OBJECT *component) ->(int attribute) // = 1 for attribute, = 0 otherwise. ->(int show_name_value) // #define SHOW_NAME_VALUE 0 // #define SHOW_VALUE 1 // #define SHOW_NAME 2 ->(int visibility) // #define INVISIBLE 0 // #define VISIBLE 1 Attrib_graphic is stored internally as a "name=value" string, and is disassembled by various fcns when needed. ---- Pins ---- As for pins, they are attached to components in the following way. Starting from the component: (OBJECT *component)->(COMPONENT *component)->(OBJECT *prim_objs)->(int type) // #define OBJ_PIN 'P' ->(ATTRIB *attribs) // pin attrib list. ->(int sid) // unique identifier ->(char *name) // something like pin.3372 Pins also are held in the NETLIST data structure, which is a separate data structure. NETLIST is more important in gnetlist than in gschem. A pin is held in the following way: (NETLIST *node)->(OBJECT *object_ptr) ->(CPINLIST *cpins)->(char *pin_number) ->(char *net_name) ->(char *pin_label) ---- Example ---- Component objects (COMPONENT) have lots of other other fields in teh struct. Here's an example taken from a real design: (OBJECT *component)->name = complex.188 // unique ID of component ->attribs->object->name = complex.188 // first "attribs" points back to component ->attribs->next->object->name = text.272 // attrib text ->attribs->next->object->text->string = refdes=C1 // actual attrib ->component->prim_objs->name = complex-head.189 // head of prim_objs list ->component->prim_objs->next->name = pin.190 // actual object Each list attached to a component has a head, followed by the actual list items. ----------------------------------------------------------------------- From include/struct.h: /* ----------- SDB note about philosophy behind globals -------------- * * I made the "TOPLEVEL project" and all the GTK window stuff into * global variables. I know that this is supposedly bad programming form. * However, here are some observations: * -- I wanted to use gEDA's TOPLEVEL structure as much as possible, at * least to hold info about the design's netlist & components. * The TOPLEVEL strucuture is architected to hold info about gschem's * window also. HOwever, gschem's windows are architected differently * than mine in gattrib. This is because my windowing system does * completely different things, and also uses the GtkSheet widget, which * is architected completely differently from TOPLEVEL. * -- Since I couldn't easily or naturally cram my windowing scheme into * TOPLEVEL (or so I think), I decided to use a separate set of windows * from those defined under TOPLEVEL for my application. * -- The problem arises when using callbacks. Callbacks from GTK allow * only one argument to be passed. Given the way I set up the menu bar, * I didn't have easy acces to the information inside both the GtkSHeet * objects *and* the TOPLEVEL stuff while only having one callback * argument. This makes it hard to have access to e.g. a GtkSheet window * and a list of files (in TOPLEVEL) simultaneously. * -- Therefore, I decided to make both the window stuff and TOPLEVEL * globals. * -- Similarly, because I couldn't cram the SHEET_DATA struct into any * hook in TOPLEVEL, I just made it a global also. * -- Finally, in my defense, in gschem and gnetlist, (TOPLEVEL *w_current * or pr_current) is passed to almost every function. Since it * is just a pointer to a huge struct of stuff, manipulating * the stuff in the struct has a global * effect. That is, manipulating w_current (or pr_current) has side * effects, so it is basically a global anyway. The real problem with * globals occurs when you have a global variable caled "i" or "temp" * which conflicts with a global in a module written by somebody else. * Since pr_current is a very uncommon name, this should not be a * problem here. Therefore, I decided * to make life easy for myself dealing with callbacks by making both * the windows and TOPLEVEL global variables. * If there is a better way to solve this problem, I'd like to hear it. * ------------------------------------------------------------------ */ ----------------------------------------------------------------------- To be done: 1. Before building spreadsheet, create and sort component and net master lists. They are used to index components in the TABLE, and also label the gtk_sheet rows and cols. 2. How to handle attribute visibility? Maybe right-click on cell & set vis. Default = invisible and "both name and value". 3. Need fcns to allow for adding and deleting of entire attrib columns. Don't need to allow for adding/deleting components -- users should use gschem to add/delete components because gattrib can't do anything about the graphical position data required for this. ----------------------------------------------------------------------- Here's what the filename prefix letters mean: a_ : Action (this was a really poor choice, and will be removed) g_ : Guile related functions i_ : Interface related functions o_ : graphic Object related functions x_ : X related functions f_ : File related functions m_ : Math related functions s_ : data Structure related functions I've tried to keep the function names in the files correct, but sometimes I failed. (look at libgeda/a_basic.c for an example of a file which has a bunch of functions which shouldn't be in there) -Ales ----------------------------------------------------------------------- lepton-eda-1.9.10/attrib/Makefile.am0000644000175000017500000000052413634703632014104 00000000000000SUBDIRS = po src include design docs data EXTRA_DIST = NOTES README ChangeLog ChangeLog-1.0 ToDos if HAVE_GIT_REPO ChangeLog: $(top_builddir)/stamp-git ( \ cd $(srcdir) && \ $(GIT) log --pretty=medium $(CHANGELOG_BASE).. -- . || \ echo "WARNING: ChangeLog information not available from git" >&2 ; \ ) > $@ endif HAVE_GIT_REPO lepton-eda-1.9.10/attrib/ChangeLog-1.00000644000175000017500000004270013634703632014120 000000000000002007-05-25 Ales Hvezda * configure.ac: Updated version to 20070526 in prep for the next release. 2007-04-28 Ales Hvezda * include/gettext.h, include/globals.h, include/Makefile.am, src/x_dialog.c, src/x_fileselect.c: Removed gettext.h header file and the few _( ) pairs to get rid of some warnings. gattrib is not i18n and should not be using gettext.h for now. * src/s_toplevel.c: Removed some unused variable compiler warnings. 2007-04-21 Peter Clifton * src/x_dialog.c: Check return value of gdk_keyval_name() is non NULL before attempting to match against it. Fixes bug #1692634. 2007-4-21 Stuart Brorson * src/x_window.c: Modify gattrib so it checks for design changes before quitting if user hits delete button on window. Closes bug 1704938 from Peter Brett. 2007-04-21 Carlos Nieves Onega * src/x_fileselect.c: - Set the alternative button order for gtk dialogs (now with correct responses). - Reverted the changes below. gtk_dialog_set_alternative_button_order should have the same responses as the dialogs. - Set the alternative button order for gtk dialogs. This would allow to display the correct button order whatever system is running this app. Fix for bug #1553483. 2007-04-17 21:16 Dan McMahill * src/gattrib.c: remove /* within comment 2007-04-17 Peter Clifton Merge changes from noscreen branch 2007-04-12 Peter Clifton * src/o_attrib.c: Replace incorrect use of world_get_complex_bounds() with world_get_object_list_bounds(). 2007-04-17 Peter Clifton * src/gtkitementry_2_2.c: Fixed code left accidentally when removing an obsolete #if 0'd out section. 2007-4-15 Stuart Brorson * src/*.c: Added DOxygen style comment pragma to many (but not all) .c files. DOxygenating gattrib is an ongoing project. 2007-04-15 Ales Hvezda * src/s_string_list.c: Added missing test to prevent a seg fault when loading up a schematic with missing attributes. 2007-4-15 Stuart Brorson * Makefile.am, configure.ac, docs/*: Created new docs directory, and set up framework to create doxygen generated docs. 2007-4-3 Stuart Brorson * src/s_sheet_data.c, src/s_table.c, src/s_toplevel.c: Temp fix for bug 1692431 -- don't put net= attribute into component attrib table. 2007-2-11 Stuart Brorson * src/s_toplevel.c: Fixed bug I introduced at code sprint. 2007-02-10 Ales Hvezda * src/listsort.c, src/s_string_list.c: Applied patch by DJ: [ 1637387 ] Enhance sort functions. Thanks. * gattrib/src/globals.c, gattrib/src/i_basic.c, gattrib/src/s_toplevel.c, gattrib/src/s_visibility.c, gattrib/src/x_gtksheet.c, gattrib/src/x_window.c: Fixed a few compiler warnings. Removed quit_func since it is completely unused. * configure.ac: Bumped package version to 20070216. 2006-12-23 Carlos Nieves Onega * src/s_object.c (s_object_attrib_add_attrib_in_object): Make o_selection_add call match the new selection interface. The first argument should be a pointer to the selection list. Thanks to Dan McMahill for reporting this. 2006-11-21 Ales Hvezda * configure.ac: Fixed libgeda detection/find error message when the wrong libgeda version is found. (Bug reported by Karel Kulhavy; thanks) 2006-10-29 Ales Hvezda * src/s_object.c: Fixed compile error on glist_dev branch 2006-10-20 Ales Hvezda * configure.ac: Bumped package version to 20061020. 2006-09-30 Stuart Brorson * src/s_toplevel.c: Set CHANGED flag when deleting attrib column so user is prompted when quitting before saving. 2006-09-27 Carlos Nieves Onega * configure.ac : Applied patch #1564796 by Cesar Strauss, enabling Cygwin's compilation. Thanks. 2006-09-23 Patrick Bernaud * src/gattrib.c, src/s_toplevel.c: Adapted for new file selection dialog. * src/x_fileselect.c: Rewrite of the file selection dialog with a GtkFileChooser as in gschem. 2006-09-15 Stuart Brorson * include/prototype.h, src/g_register.c, src/gattrib.c, src/x_dialog.c, src/x_gtksheet.c, src/x_window.c: Made gattrib throw up GUI window warning user of no components or attributes per request of Peter Clifton. Then program exits with non-zero return code. 2006-09-06 Ales Hvezda * configure.ac: Updated program version to 20060906. * src/g_rc.c, src/gattrib.c src/x_dialog.c: Added CUSTOM_VERSION to all printfs/output/dialog boxes where VERSION is used so that it is easier to create custom version of gEDA/gaf. 2006-08-31 Ales Hvezda * configure.ac: Updated gtk+ tests to look for 2.4.x or greater. 2006-08-21 SDB * include/prototype.h, src/s_table.c, src/s_toplevel.c: Fixed bug in which adding a new attrib column would munge the visibility of existing attributes. 2006-08-21 Ales Hvezda * README: Updated the README a little to be ready for the next release. 2006-08-19 Ales Hvezda * configure.ac: Bumped version number to 20060821 in prep for the next gEDA/gaf release. 2006-08-12 SDB * include/prototype.h, src/s_misc.c, src/s_sheet_data.c, src/s_table.c, src/s_toplevel.c: Applied patch from Jeff Mallatt which implements ability to handle attrib strings with multiple = signs. 2006-08-12 SDB * configure.ac, src/parsecmd.c: Implemented getopt_long for systems which have it. 2006-08-12 SDB * include/prototype.h, include/x_menu.h, src/s_visibility.c, src/x_fileselect.c, src/x_gtksheet.c, src/x_window.c: Made cell text different colors depending upon attribute visibility. 2006-08-06 Ales Hvezda * src/*.c: Applied Patch#1533798: Remove pre-GTK2 code from geda by Peter Brett. 2006-07-31 SDB * src/gtksheet_2_2.c: fixed bug in gtk_sheet_make_backing_pixmap. 2006-07-25 Stuart Brorson * src/f_export.c, src/x_dialog.c and others: Implemented ability to export CSV file of component sheet. * ToDos, README: Updated expository material to reflect current state of project. 2006-07-15 Ales Hvezda * src/gtksheet_2_2.c: Changed a g_free on a gdk_pixmap to g_object_unref to fix a valgrind error and the following output when exiting gattrib: free(): invalid pointer 0x812a108! * src/gattrib.c, src/gtksheet_2_2.c, src/s_object.c, src/s_rename.c, src/s_sheet_data.c, src/s_string_list.c, src/s_table.c, src/s_toplevel.c, src/x_dialog.c, src/x_fileselect.c, src/x_gtksheet.c, src/x_window.c: Changed all malloc/free calls to g_malloc/g_free to be consistent with libgeda 2006-06-03 Stuart Brorson * src/gtksheet_2_2.c: Finally fixed annoying bug in which gattrib soaked up 70% of processor time. Problem had to do with infinite loop of expose_events generated upon call to gdk_window_show(sheet->row_title_window) and gdk_window_show(sheet->row_title_window) in gtk_sheet_expose. I removed calls to fix bug. 2006-03-12 Ales Hvezda * lib/system-gattribrc.in: Removed load for the system-gafrc file, since it is loaded by libgeda first. 2006-01-16 Ales Hvezda * configure.ac: Bumped package version to 20060123 * README: Updated for the new year and release. 2005-11-27 Carlos Nieves Onega * src/globals.c: Added setting of load_newer_backup_func to NULL. It is needed now libgeda checks for autosave backup files when opening a schematic. 2005-09-27 18:45 Dan McMahill * src/: gtkitementry_2_2.c, gtksheet_2_2.c: remove various compiler warnings 2005-08-19 Ales Hvezda * configure.ac: Bumped the package version to 20050820 which will be a real snapshot. 2005-08-14 Ales Hvezda * configure.ac: Updated package version to 20050814. This is a temporary version and not a real release number. 2005-07-13 Stuart Brorson * src/s_visibility.c, s_table.c, s_object.c, s_toplevel.c amongst others. Made changes to enable setting attribute visibility from within gattrib. 2005-06-17 Ales Hvezda * src/i_vars.c: Fixed some more variables which were shadowing the real variables in libgeda/noweb/i_vars.c. 2005-04-10 Carlos Nieves Onega * src/gtkitementry_1_2.c, src/gtkitementry_2_2.c, src/gtksheet_1_2.c src/gtksheet_2_2.c: Fixed segmentation fault because lacking of "default_border" and "default_ouside_border" properties. 2005-04-03 Ales Hvezda * src/gattrib.c: Moved a variable decl to the top of the function to make gcc 2.96 happy. 2005-03-13 Ales Hvezda * configure.ac: Removed all tests for gtk+ 1.2.x and fixed error message if gtk+ 2.2.x is not found. 2005-03-11 12:30 Stuart Brorson * src/gtksheet*.c: Incorporated definitions of default_border* as suggested by Carlos. A couple other possible bugfixes also. 2005-03-08 Ales Hvezda * configure.ac: Bumped version to 20050313 2005-03-06 Ales Hvezda * src/gattrib.c: Fixed code to allow user to specify absolute filenames on the command line again. 2005-03-06 Stuart Brorson * src/s_table.c, src/x_dialog.c: Fix some uninitialized variables found by Dan McMahill & -wall gcc warning. 2005-02-21 05:29 Dan McMahill * configure.ac, include/prototype.h, include/struct.h, include/x_menu.h, src/Makefile.am, src/gattrib.c, src/listsort.c, src/s_sheet_data.c, src/s_table.c, src/s_toplevel.c, src/x_dialog.c, src/x_fileselect.c, src/x_gtksheet.c: Fix many instances of non-void functions not having return values. Most of these were simply changed to void functions since nothing seemed to be expecting a return value. While here, garbage collect several unused variables to make the compiler warnings easier to dig through. Also if we're using gcc, then turn on -Wall. 2005-02-21 03:58 Dan McMahill * autogen.sh: avoid using the '-path' primary to find(1) as it's an extension to posix.2 and is not supported on some operating systems such as solaris. Now we can autogen.sh on solaris 9. 2005-02-20 Patrick Bernaud * src/gattrib.c (gattrib_main): Adapted for new logging system. 2005-02-19 Carlos Nieves Onega * src/globals.c: Added definition of picture_draw_func after adding picture support to libgeda. 2005-02-15 18:32 Stuart Brorson * src/x_dialog.c: Modified GTK buttons slightly so the captions fit the button, and the button usage matches the text. 2005-02-14 22:31 Dan McMahill * src/: gtkextra-marshal.c, gtkitementry_1_2.c, listsort.c: add some missing config.h inclusions 2005-02-14 22:27 Dan McMahill * src/x_dialog.c: - move the config.h inclusion higher up so the protected inclusion of string.h doesn't fail. - fix a format string/# of arguments mismatch in a warning string. 2005-02-13 11:30 Stuart Brorson * src/s_table.c: Fixed syntax bug (doubled ;;) in s_table_add_toplevel_pin_items_to_pin_table. 2005-02-13 01:40 Dan McMahill * src/s_string_list.c: fix 2 places where a pointer to an int was being cast to an int and used as an int when we really wanted to dereference the pointer instead. 2005-02-12 Stuart Brorson * src/gattrib.c, src/i_vars.c, src/s_toplevel.c, src/x_dialog.c, * src/x_fileselect.c: Fixed program to compile and run after Patrick's refactoring of libgeda. Also made fileselect dialog stay on top of main window when gattrib is invoked with no args on cmd line. 2005-02-12 Carlos Nieves Onega * src/x_dialog.c, src/x_fileselect.c: Beautify buttons (use GTK stock). 2005-02-08 12:33 Dan McMahill * include/prototype.h, src/g_rc.c, src/g_register.c, src/gattrib.c: get rid of deprecated guile gh_* functions and replace them with the currently (guile-1.6) supported interface. 2005-02-04 Patrick Bernaud * src/gattrib.c, src/s_attrib.c, src/s_object.c: * src/s_sheet_data.c, src/s_string_list.c, src/s_table.c: * src/s_toplevel.c, src/x_dialog.c, src/x_fileselect.c: * src/x_gtksheet.c, src/x_window.c: Replaced u_basic_strdup() and u_basic_strdup_multiple() by GLib functions. * src/gattrib.c, src/x_fileselect.c: Made it use GLib's G_DIR_SEPARATOR* instead of libgeda's *_SEPARATER_*. 2005-01-27 Stuart Brorson * src/gattrib.c: Changes made to enable correct opening of schematics in foreign directories. Changes detailed in libgeda ChangeLog. 2005-01-22 (Later in same day) Stuart Brorson * x_dialog.c, s_toplevel.c: Rewrote missing symbol dialog box so that only one box is thrown up in event of missing symbols. 2005-01-22 (Later in same day) Stuart Brorson * include/prototype.h, src/(s_attrib.c, s_sheet_data.c, s_table.c, s_toplevel.c, x_dialog.c): New feature -- gattrib now handles slotted components correctly. 2005-01-22 Stuart Brorson * src/s_toplevel.c, src/s_attrib.c, src/s_sheet_data, Makefile.am: Fixed bug where pre-existing attribs were deleted instead of being replaced. Added new fcn in s_attrib.c as part of this bugfix. * include/prototype.h, include/struct.h, include/x_menu.h, src/gattrib.c, src/gtkitementry_2_2.c,src/gtksheet_2_2.c, src/x_dialog.c: New feature -- check for unsaved chages before leaving program. * configure.ac: Added --enable-debug as configure option. 2005-01-21 Stuart Brorson * src/s_toplevel.c, src/x_dialog.c: Fix bug where only one page of design was searched for missing attribs. Also updated missing_sym dialog box. 2005-01-19 Stuart Brorson * src/(s_object.c, gattrib.c, s_toplevel.c,x_fileselect.c, x_dialog.c): Incorporated pop-up window which notifies user if a component is found with no sym file. 2004-12-28 Stuart Brorson * lib/system-gattribrc.in: Changed to refer to system-gafrc. 2004-12-28 Ales Hvezda * configure.ac: Changed the call to AM_INIT_AUTOMAKE to take the GEDA_VERSION so that packages get created with the right version number * src/s_toplevel.c, x_dialog.c: Added a few #ifdef HAS_GTK22 tests to get gattrib to build using gtk12. The addition tests in x_dialog.c are probably okay, but the test in s_toplevel.c needs to be fixed properly. * Makefile.am: Added missing file to EXTRA_DIST variable 2004-12-27 Ales Hvezda * configure.ac: Updated version to 20041228 2004-07-27 Stuart Brorson * Ported code to GTK+-2.X. Re-wrote Makefile.am & configure.ac. Split gtksheet.c into two versions, one for GTK-1.2 and one for GTK-2.X. (Both copied from gtkextra.sf.net.) * Many fixes related to moving to GTK-2.X * Incorporated Ales' fix for "for" loop which had i=i++ construct. 2004-07-13 Stuart Brorson * Eliminated spurious GTK warnings by testing for NULL in arguments before calling functions in gtksheet.c. * Removed several extraneous files originally bundled with GtkSheet. 2004-06-25 Ales Hvezda (Noted by SDB) * Modified gattrib to work with soon-to-be-released libgeda 20040710. 2004-03-13 Stuart Brorson * Implemented alphabetic sort of master_comp_list. * Placed references to g_rc_reset_component_library and other Guile fcns into g_register to enable Sri's RC customized files. 2004-03-11 Stuart Brorson * Fixed bug in which a loop was terminating early, causing large portions of some designs to be not processed. * Added code to catch a cond where a design with no components (i.e. no refdeses) or no modifiable attributes (i.e. no attribs other than refdes) would cause a segfault. Now program just exits with an error message. 2004-03-06 Stuart Brorson * Fixed bug in which graphical objects were not discarded during the "add master list" loop. This generated a spurious warning message. * Fixed configure.ac to fix the GTK-1.2 vs. GTK-2.X problem originally identified by Dan, and seen again by Sribalan Santhanam in rel 20040304. Hopefully I fixed the bug this time! 2004-03-04 Stuart Brorson * Fixed some compilation issues related to GTK-1.2 vs. GTK-2.X. Dan McMahill discovered the problem, and also provided the patches fixing it. Thanks, Dan! * "make install" now correctly installs system-gattribrc into the place where the gEDA RC files live. I had forgotten to include this into the last release, and you had to do it by hand. 2004-02-21 Stuart Brorson * Initial release. 2003-12-05 Stuart Brorson * Started hacking. lepton-eda-1.9.10/attrib/README0000644000175000017500000001210013634703632012721 00000000000000****************************************************************** ************* DANGER!! Read the entirety of this ************** ************ README before you try runing gattrib! ************* ****************************************************************** INTRODUCTION Gattrib is gEDA's attribute editor. It reads a set of gschem .sch files (schematic files), and creates a spreadsheet showing all components in rows, with the associated component attributes listed in the columns. It allows the user to add, modify, or delete component attributes outside of gschem, and then save the .sch files back out. When it is completed, it will allow the user to edit attributes attached to components, nets, and pins. (Currently, only component attribute editing is implemented; pin and net attributes are displayed only.) Gattrib is useful in situations where you need to view, add, modify, or delete a number of attributes all at once. It saves you the pain of clicking on each component and repeatedly using gschem's attribute editor to modify component attributes. For example, if you create a large design with generic components, and then later want to attach "footprint" attributes to your components, it is a real hassle to do so using gschem. In this situation, you can run gattrib on your design files to attach the "footprint" attributes all at once using an easy-to-use spreadsheet. WARNING NOTE: Gattrib has been tested on many designs, but is not guaranteed to work. It may even trash your design! Therefore, always keep a back-up copy of your design files. Note that this is good advice when using any software on critical files. ------------------------------------------------------------------ USAGE You can invoke gattrib on your design from the command line in the following way: gattrib my_design_*.sch (This assumes you have a multi-page design with file names "my_design_1.sch", "my_design_2.sch", etc.) Gattrib will then read in your design, and present you with a spreadsheet showing all components and associated attributes. You can also just run gattrib, and specify the input files using the file->open dialog box. To edit your attributes, just edit the cells in the spreadsheet. To save your design, just select "save" from the command menu. Note that no checks are currently done when you select save. Be careful! You can also save out a csv (comma separated values) file, which can later be imported into e.g. oocalc. This is useful for BOM management. To quit, just select "quit" from the command menu. Note that currently no checks thet you have saved your design are done when you quit. If you want to add an entirely new attribute to your design (i.e. one which doesn't exist on any component), you can do this through "edit -> add new attribute column". You can also delete an entire attribut column. You can set the visibility of any particular attribute, or an entire column of attributes through the "visibility" menu. Just select the attribute or column first, then do "visibility -> ". ------------------------------------------------------------------ FEATURES The following features are currently implemented: * .sch file read in from command line. * .sch file read in from menu. * .sch file save out from menu. * CSV (comma separated value) file save out from menu. * Component attribute editing (of course). * Net attribute viewing. * Pin attribute viewing. * Add/delete attribute columns. * Changing visibility of attributes. * Quit from menu. The following features are currently unimplemented, but will be incorporated at some future date: * Throw up "Are you sure" dialog boxes upon selecting "save" from menu. (Is this really necessary?) * Editing of net attributes (important for setting routing attributes). * Search/replace of individual attributes. * Search for component refdeses & netnames. * Indicate component visibility by changing the color of the attribute in each cell. Example: Invisible = light grey. Name only = red. Value only = normal black. Name & value = bold face. Note that if you select unimplemented features from the menu, you will get a warning window. ------------------------------------------------------------------ INSTALLATION To install gattrib, place the tarball in the directory where your gEDA sources live. Then do: tar -zxvf geda-gattrib-20040806.tar.gz cd geda-gattrib-20040806 ./configure --prefix=/path/to/your/geda/stuff make make install Note that you may need to set some environment variables first. Also remember to use a date code (20040806) corresponding to the current gattrib distribution . If your compilation barfs, try setting these (for csh): setenv LD_LIBRARY_PATH /usr/local/geda/lib:$LD_LIBRARY_PATH setenv PATH /usr/local/geda/bin:$PATH setenv PKG_CONFIG_PATH /usr/local/geda/lib/pkgconfig:$PKG_CONFIG_PATH ------------------------------------------------------------------ CREDITS/CONTACT: Gattrib was cobbled together by Stuart Brorson starting in December 2003 from parts culled from GtkSheet (GTK+Extra) and gEDA. Please mail bug reports to: sdb@cloud9.net lepton-eda-1.9.10/attrib/ChangeLog0000644000175000017500000003413413634704556013634 00000000000000commit 92a81cbdbbada5dff6f6539c88dc44653bea9d19 Author: Vladimir Zhbanov Date: Thu Mar 19 12:50:21 2020 +0300 Update PO and POT files. Update version in POT files and update PO files with modified copyright lines. commit 6894173fd292814ef9998734d1330142dc5ae557 Author: Vladimir Zhbanov Date: Thu Mar 19 11:09:35 2020 +0300 attrib: Update copyright message. commit f8a7294da2de3d924681adb2730d5f2b6d23a13d Author: Vladimir Zhbanov Date: Tue Mar 10 16:54:07 2020 +0300 attrib: Update copyrights. commit a23814559aeb1e673aff183b0253560eeca49b54 Author: Vladimir Zhbanov Date: Sat Mar 7 14:08:48 2020 +0300 attrib: Update PO files. commit 06880e435a6a10c9f13cd8ae5c4fe83741045296 Author: Vladimir Zhbanov Date: Sat Mar 7 14:33:19 2020 +0300 attrib: Don't mention obsolete 'gattribrc' in a message. commit a599ffc1914753402bb8065a4146e21cfc8ec39c Author: Vladimir Zhbanov Date: Thu Mar 5 02:38:07 2020 +0300 attrib: Unify some translations. This is not really needed. The messages have been modified to have "%1$s" instead of "%s" just in the case they can have another argument in future and for uniformity. commit a0f1ed525d527d6dcd893ac235e44627722bea55 Author: Vladimir Zhbanov Date: Thu Mar 5 02:24:43 2020 +0300 attrib: Don't translate messages with variables only. commit aff170af1128e96b2a79bf4cd4bde6daf34e0ea3 Author: Vladimir Zhbanov Date: Thu Mar 5 01:22:34 2020 +0300 attrib: Improve messages for translation. - Use only fprintf() to output them. - Split up messages (and shorten lines): separately output function names and real information, and translate only the latter to prevent putting the former in PO files. commit fc065d4aa6629df9a269eaaec4307066a30e6ebe Author: Vladimir Zhbanov Date: Thu Mar 5 01:09:04 2020 +0300 attrib: Unify and simplify messages in verbose mode. commit b70927bca088ada1eeb702817bb0365de72c5e36 Author: Vladimir Zhbanov Date: Thu Mar 5 00:58:50 2020 +0300 attrib: Unify output of debug messages. Use shorter lines, same indentation, separate function names and real messages. Use printf() to output them anywhere. commit 7fd73438b03842915898e325dab380803460ea3a Author: Vladimir Zhbanov Date: Thu Mar 5 01:06:02 2020 +0300 attrib: Get rid of debug message about leaving a function. commit 10afbf6ba28defb3faea8699f402f3afd0e3f0b6 Author: Vladimir Zhbanov Date: Wed Mar 4 16:35:33 2020 +0300 attrib: Unify debug messages about entering into functions. commit 71d90f0b0860e4125ae75bc48d3cbc4420fc7e30 Author: Vladimir Zhbanov Date: Sat Feb 29 20:37:54 2020 +0300 attrib: Avoid reporting of wrong function name in a message. commit 7a0f1ad18c56e513193fccca0aaae7cd7283c719 Author: dmn Date: Sat Feb 22 11:03:31 2020 +0300 Do not mention obsolete env vars in man pages. GEDADATA and GEDADATARC environment variables are no longer used. Remove them from the ENVIRONMENT sections of man pages. commit 7f3b73bddd7230831153311ed76837cf448e5051 Author: dmn Date: Sat Feb 22 10:52:33 2020 +0300 build: Remove --enable-compat-symlinks option. commit f6d35084fdec9a972503e3ab8d836d1d99b7305d Author: Vladimir Zhbanov Date: Wed Feb 19 15:13:35 2020 +0300 build: Get rid of removing Makefile.in's with 'make maintainer-clean'. Some people may contradict that the files clutter the git repository. But then, (a) they all are written to the .gitignore files and so usually invisible for VCS, and (b) 'git clean' may do the job better (please see description of the options '-x' or '-X'). commit e3c4b229190b916bfa1e57bcd135034986c2f81b Author: Vladimir Zhbanov Date: Sat Feb 15 04:24:37 2020 +0300 build: Clean up Makefile.am's in the repository. - Get rid of most '*CLEANFILES' targets. - Clean up whitespaces in all Makefile.am files. - Avoid getting rid of ChangeLog files with 'maintainer-clean' as they are all built automatically and added to .gitignore. commit 211c5b5a9c0448c962e6be54d78ffc5cb47c1af7 Author: Vladimir Zhbanov Date: Sun Feb 2 12:11:25 2020 +0300 attrib: Get rid of the word 'complex' in various comments. commit 118d5b68773f575fc5c279b0edf7db0ec0431509 Author: Vladimir Zhbanov Date: Sun Feb 2 01:58:18 2020 +0300 rename: the field 'complex_basename' of the 'st_object' struct to 'component_basename'. commit f028caf732de2302e3e7edd56e15318a68426eb7 Author: Vladimir Zhbanov Date: Sat Feb 1 23:15:24 2020 +0300 Avoid using of the word 'complex' in several messages of the tools. Instead, the word 'component' is used. commit 02d541a7f72521593091ef29f9faa8029f4216a5 Author: Vladimir Zhbanov Date: Sat Feb 1 20:16:22 2020 +0300 rename: the field 'complex' of the 'st_object' struct to 'component'. commit 5503cc8efa9e9f28151b0f7248e13e1f6d44d3ac Author: Vladimir Zhbanov Date: Sat Feb 1 18:09:38 2020 +0300 rename: the type 'COMPLEX' to 'COMPONENT'. commit b75d0aa309f3e27ad6c2775303fb94b73e8b87a2 Author: Vladimir Zhbanov Date: Fri Jan 31 11:57:25 2020 +0300 rename: the type OBJ_COMPLEX to OBJ_COMPONENT. commit 54482ee42689b78f61eb9704bef605cdb6e89ea4 Author: Vladimir Zhbanov Date: Sun Jan 26 19:40:26 2020 +0300 rename: libgeda_init() to liblepton_init(). commit 1fe794b01d2d668e9d636319d11370505e822701 Author: dmn Date: Tue Oct 29 12:06:37 2019 +0300 attrib: Add --version command line option. commit 2b023a3fe811d5b1fce40ea0b4cb6d869f551448 Author: dmn Date: Tue Oct 29 11:38:21 2019 +0300 attrib: Use config.h macros in --help output. commit 425de4e1b3c3cab5f0d97b586013f673818316a8 Author: dmn Date: Sun Oct 6 00:14:13 2019 +0300 Delete stale empty directories. commit e52d626777b90f96c1b6d9c05589e4e4513383df Author: Vladimir Zhbanov Date: Thu Oct 3 23:37:21 2019 +0300 Update PO files. commit 618bf342cd9aee8ae8aa6dbeb54ce8f434c505ec Author: Vladimir Zhbanov Date: Sat Sep 28 10:36:37 2019 +0300 Update PO translation files. commit 619912c47cfe3da3809c7d2b9652991c6fa3da17 Author: Vladimir Zhbanov Date: Sat Sep 28 01:02:14 2019 +0300 Update copyrights in all '*.pot' files. commit 343a7347e925cbb2f6c6182c7830fafabfb3d2da Author: Vladimir Zhbanov Date: Sat Sep 28 01:01:10 2019 +0300 Update COPYRIGHT_HOLDER in all `Makevars' files. commit c63ac098093ab48da4f9d739f28d216f5f08593d Author: Vladimir Zhbanov Date: Sat Sep 28 00:44:27 2019 +0300 attrib: Update copyrights and leptonize boilerplates. commit dbedefdab5b719ffd94454c942af8db357915348 Author: dmn Date: Sun Jun 2 16:38:11 2019 +0300 attrib: Update --help output. commit 43d346c79f5de7456b4437680ed66c3821c48331 Author: dmn Date: Tue May 14 19:41:49 2019 +0300 attrib: Get rid of gattrib-menus.xml file. Move menu description XML code to x_window.c: define it as static string and pass it to gtk_ui_manager_add_ui_from_string(). commit d13a1ebcaea4f810a52b78e2aaebf4b8edab338e Author: dmn Date: Thu Feb 21 20:01:38 2019 +0300 attrib: Use precompiled Scheme files. commit 81b39af900a4241e752e459660e177c4a734bc04 Author: dmn Date: Fri May 10 09:02:48 2019 +0300 attrib: Prevent unwanted updates of PO files. 1) add lepton-attrib.pot to source control 2) modify Makevars: - MSGMERGE_OPTIONS = --no-location (eliminates comments with line numbers in *.po) - PO_DEPENDS_ON_POT = no (do not modify PO files if it's not necessary) 3) make -C attrib/po/ update-po commit 708e50e5457263cb260f99344fadb1d1e206215f Author: dmn Date: Wed May 1 11:03:54 2019 +0300 attrib: Remember main window's size and position. Save window's geometry to the CACHE configuration context, "attrib.window-geometry" group. commit 72375d44e0f0b8cadae03953fac5e7e0681d6b87 Author: Vladimir Zhbanov Date: Tue Mar 12 09:50:22 2019 +0300 attrib: Don't parse 'gattribrc' any more. There is (and were) no valuable functions available to call in it. commit 49af87d378925bd4ea2cae9c923324ff418a55e1 Author: Vladimir Zhbanov Date: Tue Mar 12 09:44:26 2019 +0300 attrib: Get rid of useless g_quit() and g_register_funcs(). commit c206c23e6724c60c291da1e8874bdd24b90bc3d8 Author: Vladimir Zhbanov Date: Tue Mar 12 09:12:51 2019 +0300 attrib: Get rid of useless attrib-version(). commit 547dc07118ac75181e3c55b98aa04bb167af4f60 Author: Vladimir Zhbanov Date: Mon Mar 25 10:15:49 2019 +0300 desktop: Add main category into desktop files. According to https://specifications.freedesktop.org/menu-spec/latest/apa.html, previously there was no valid main category in the desktop files. Issue description in #360: "The problem is that without a main category, it is not possible to know for sure if a freedesktop compliant menu will show these 2 applications." This has been fixed by adding "Development" as main category for Lepton. Two additional categories have been rearranged in order "Electronics" to have priority over "Engineering". commit b50f3315aef11837116a7f3e1aa82f01e1c15a31 Author: Vladimir Zhbanov Date: Thu Feb 28 15:15:21 2019 +0300 build: Improve build directory cleaning by 'make clean'. According to automake manual (https://www.gnu.org/software/automake/manual/html_node/Clean.html), all files built by 'make' (but not 'configure') should be cleaned by 'make clean' (listed in the "CLEANFILES" variable), all the rest that were made by 'configure' should be deleted by 'make distclean'. Appropriate variables in makefiles have been adjusted to make 'make' do better cleaning job. commit 38a0b8ffcd0fa99438280f51ca2967477613e8cb Author: Vladimir Zhbanov Date: Thu Jan 3 15:57:46 2019 +0300 liblepton: Get rid of unused variables. commit ec038866281e77f81c862e7a7cf4fc74d767bd5d Author: Vladimir Zhbanov Date: Sat Jan 12 11:29:37 2019 +0300 Fix warnings due to uninitialised "Last-Translator" field in po-files. commit 0d9b2a889d7e833f2cfe8c31f44b1ad95c570730 Author: dmn Date: Sat Jan 12 00:14:33 2019 +0300 Update translation files. Run 'make update-po' in: - attrib/po/ - liblepton/po/ - liblepton/po/ commit 340c3da1cfbd1dba127bde33f9d89cb96d4f8da5 Author: Vladimir Zhbanov Date: Tue Dec 25 11:59:25 2018 +0300 docs: Don't generate latex files by 'make doxygen' by default. It was reported that several Ubuntu versions do not do TRT when building latex documentation. commit 018e5c0c6cd6c3559db88b59e4740d6e31dc2aef Author: dmn Date: Fri Dec 21 14:05:12 2018 +0300 attrib: Fix compiler warnings. commit 7f4bdd91eaf3c14462f3609df078c32a879509f6 Author: Vladimir Zhbanov Date: Tue Dec 11 21:36:21 2018 +0300 Update copyrights in modified files. commit 456df126b403ff1c4502eb1d5806d58db7265a7f Author: Riccardo Lucchese Date: Tue Oct 14 22:17:13 2014 +0200 Remove deprecated use of GTK_WIDGET_MAPPED() Verbatim from Gtk+ 2 Reference Manual: "GTK_WIDGET_MAPPED has been deprecated since version 2.20 and should not be used in newly-written code. Use gtk_widget_get_mapped() instead." Reviewed-by: Vladimir Zhbanov commit a5edf6bce85bc53a53fceead16406a6f25f7ad47 Author: Riccardo Lucchese Date: Tue Oct 14 22:17:07 2014 +0200 Remove deprecated use of GTK_WIDGET_REALIZED() Verbatim from Gtk+ 2 Reference Manual: "GTK_WIDGET_REALIZED has been deprecated since version 2.20 and should not be used in newly-written code. Use gtk_widget_get_realized() instead." Reviewed-by: Vladimir Zhbanov commit 2c7b81e6e8d19abfc874ad49d5df7e40c7f886aa Author: Riccardo Lucchese Date: Tue Oct 14 22:17:02 2014 +0200 Remove deprecated use of GTK_WIDGET_SET_FLAGS() Verbatim from Gtk+ 2 Reference Manual: "GTK_WIDGET_SET_FLAGS has been deprecated since version 2.22 and should not be used in newly-written code. Use the proper function instead." Reviewed-by: Vladimir Zhbanov commit 04e8e2ccadcb515cbd9355f6ba662df8fcbc3f17 Author: Vladimir Zhbanov Date: Sat Aug 29 12:24:43 2015 +0300 Replaced deprecated gtk_signal_disconnect_by_data() with g_signal_handlers_disconnect_matched(). commit e3c5104010ec37969acb1fefa6fa2bb35efca4d9 Author: Vladimir Zhbanov Date: Sun Aug 12 13:40:53 2018 +0300 Update po-files. commit 521a754685c0e037d4388eb4b3a1b0292ad070df Author: Vladimir Zhbanov Date: Sun Aug 12 12:11:08 2018 +0300 docs: Automatically insert last year in lepton-attrib(1) Copyright line. commit 2103ad0a4fdeac5ec12d570550fb0d72d4c686fa Author: Vladimir Zhbanov Date: Sun Aug 12 12:07:44 2018 +0300 docs: Fix GEDADATA default value in several man pages. commit 43aaea7801bb40333817ced110c0d75585fd897c Author: dmn Date: Thu Jun 7 15:10:30 2018 +0300 Update translation files. commit b7509ba1b8b13cb9a4d3537ca599b8b646e6da35 Author: Vladimir Zhbanov Date: Wed May 30 23:11:36 2018 +0300 rename: New name for toplevel gattrib directory. lepton-eda-1.9.10/attrib/include/0000755000175000017500000000000013634704561013554 500000000000000lepton-eda-1.9.10/attrib/include/globals.h0000644000175000017500000001214213634703632015266 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! * \file * \brief Global variable declarations * * \section sdb_note SDB note about philosophy behind globals * * I made the "TOPLEVEL project" and all the GTK window stuff into * global variables. I know that this is supposedly bad programming form. * However, here are some observations: * - I wanted to use gEDA's TOPLEVEL structure as much as possible, at * least to hold info about the design's netlist & components. * The TOPLEVEL strucuture is architected to hold info about gschem's * window also. HOwever, gschem's windows are architected differently * than mine in gattrib. This is because my windowing system does * completely different things, and also uses the GtkSheet widget, which * is architected completely differently from TOPLEVEL. * - Since I couldn't easily or naturally cram my windowing scheme into * TOPLEVEL (or so I think), I decided to use a separate set of windows * from those defined under TOPLEVEL for my application. * - The problem arises when using callbacks. Callbacks from GTK allow * only one argument to be passed. Given the way I set up the menu bar, * I didn't have easy acces to the information inside both the GtkSHeet * objects *and* the TOPLEVEL stuff while only having one callback * argument. This makes it hard to have access to e.g. a GtkSheet window * and a list of files (in TOPLEVEL) simultaneously. * - Therefore, I decided to make both the window stuff and TOPLEVEL * globals. * - Similarly, because I couldn't cram the SHEET_DATA struct into any * hook in TOPLEVEL, I just made it a global also. * - Finally, in my defense, in gschem and gnetlist, (TOPLEVEL *w_current * or pr_current) is passed to almost every function. Since it * is just a pointer to a huge struct of stuff, manipulating * the stuff in the struct has a global * effect. That is, manipulating w_current (or pr_current) has side * effects, so it is basically a global anyway. The real problem with * globals occurs when you have a global variable caled "i" or "temp" * which conflicts with a global in a module written by somebody else. * Since pr_current is a very uncommon name, this should not be a * problem here. Therefore, I decided * to make life easy for myself dealing with callbacks by making both * the windows and TOPLEVEL global variables. * * If there is a better way to solve this problem, I'd like to hear it. * */ /* ------------------------------------------------------------------ */ #ifndef __GLOBALS__ #define __GLOBALS__ /* i18n */ #include "gettext.h" #ifdef ENABLE_NLS # ifdef gettext_noop # define N_(String) gettext_noop (String) # else # define N_(String) (String) # endif #else # define N_(String) (String) #endif /*------------------------------------------------------------------*/ /*! * The main data structure from gEDA. I made it a * global since it was treated that way anyway. It is defined in * structs.h */ /*------------------------------------------------------------------*/ extern TOPLEVEL *pr_current; /*------------------------------------------------------------------*/ /*! * My own data structure which I made * a global because it was easier to deal with when handing * callbacks. It is defined in structs.h */ /*------------------------------------------------------------------*/ extern SHEET_DATA *sheet_head; /*------------------------------------------------------------------ * GTKsheet includes: stuff for dealing with windows. *------------------------------------------------------------------*/ #define DEFAULT_PRECISION 2 #define DEFAULT_SPACE 8 #define NUM_SHEETS 3 /* Components, Nets, and Pins */ extern GtkWidget *window; /* Main window */ extern GtkWidget *notebook; extern GtkSheet **sheets; /* These are the spreadsheet widgets themselves */ extern GtkWidget *entry; extern GtkWidget *label; /* command line switch settings */ extern int verbose_mode; extern int quiet_mode; /* Used to identify colors */ #define BLACK 0 #define WHITE 1 #define RED 2 #define GREEN 3 #define BLUE 4 #define YELLOW 5 #define CYAN 6 #define GREY 7 #endif lepton-eda-1.9.10/attrib/include/Makefile.in0000644000175000017500000004370113634703703015543 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = attrib/include ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/geda-assert.m4 \ $(top_srcdir)/m4/geda-awk.m4 $(top_srcdir)/m4/geda-cairo.m4 \ $(top_srcdir)/m4/geda-contrib.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-liblepton.m4 \ $(top_srcdir)/m4/geda-libleptonrenderer.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lepton-data-dirs.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pcb-data-dirs.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac HEADERS = $(noinst_HEADERS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITMAP_DIRECTORY = @BITMAP_DIRECTORY@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CAIRO_PDF_CFLAGS = @CAIRO_PDF_CFLAGS@ CAIRO_PDF_LIBS = @CAIRO_PDF_LIBS@ CAIRO_PNG_CFLAGS = @CAIRO_PNG_CFLAGS@ CAIRO_PNG_LIBS = @CAIRO_PNG_LIBS@ CAIRO_PS_CFLAGS = @CAIRO_PS_CFLAGS@ CAIRO_PS_LIBS = @CAIRO_PS_LIBS@ CAIRO_SVG_CFLAGS = @CAIRO_SVG_CFLAGS@ CAIRO_SVG_LIBS = @CAIRO_SVG_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOT = @DOT@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LIBS = @GDK_LIBS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GETTEXT = @GETTEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIT = @GIT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILD = @GUILD@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_EFFECTIVE_VERSION = @GUILE_EFFECTIVE_VERSION@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_LTLIBS = @GUILE_LTLIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEPTONDATADIR = @LEPTONDATADIR@ LEPTON_SCM_PRECOMPILE_DIR = @LEPTON_SCM_PRECOMPILE_DIR@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBLEPTONRENDERER_SHLIB_VERSION = @LIBLEPTONRENDERER_SHLIB_VERSION@ LIBLEPTON_GETTEXT_DOMAIN = @LIBLEPTON_GETTEXT_DOMAIN@ LIBLEPTON_SHLIB_VERSION = @LIBLEPTON_SHLIB_VERSION@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGOCAIRO_CFLAGS = @PANGOCAIRO_CFLAGS@ PANGOCAIRO_LIBS = @PANGOCAIRO_LIBS@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_HEADERS = \ globals.h \ prototype.h \ x_states.h \ gtksheet_2_2.h \ i_vars.h \ struct.h \ gtkextra-marshal.h \ gettext.h all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign attrib/include/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign attrib/include/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(HEADERS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libtool cscopelist-am ctags ctags-am distclean \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: lepton-eda-1.9.10/attrib/include/struct.h0000644000175000017500000001521613634703632015174 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /* ----------------------------------------------------------------- */ /*! \file * \brief Definitions of structures used in gattrib * * This file holds definitions of the structures used in gattrib. */ /* ----------------------------------------------------------------- */ #ifndef SHEET_DATA_STRUCT #define SHEET_DATA_STRUCT #include #include #include #include #include /* ------- Includes needed to make the GTK stuff work ------ */ #include "gtksheet_2_2.h" /* ======== Data structures used in processing below here ========== */ /* ----------------------------------------------------------------- * * The sheet data hierarchy built by the prog should look like this: * SHEET_DATA->(STRING_LIST *master_XXX_list) // list of comps/nets/pins (row labels) * ->(STRING_LIST *master_XXX_attrib_list) // list of attached names (column labels) * ->(TABLE *XXX_table) // table of attrib values (table entries) * ----------------------------------------------------------------- */ typedef struct st_sheet_data SHEET_DATA; typedef struct st_table TABLE; typedef struct st_string_list STRING_LIST; typedef struct st_pin_list PIN_LIST; typedef struct st_main_window MAIN_WINDOW; /* -------------------------------------------------------------------- */ /*! \brief Sheet data structure * * st_sheet_data defines SHEET_DATA, and holds master lists holding * sorted lists of comp/netlist names. Also holds pointers to the heads * of the attribute-holding component and net structures. */ /* -------------------------------------------------------------------- */ struct st_sheet_data { STRING_LIST *master_comp_list_head; /*!< Sorted list of all component refdeses used in design */ STRING_LIST *master_comp_attrib_list_head; /*!< Sorted list of all component attribs used in design */ int comp_count; /*!< This cannnot change -- user must edit design using gschem */ int comp_attrib_count; /*!< This can change in this prog if the user adds attribs */ STRING_LIST *master_net_list_head; /*!< Sorted list of all net names used in design */ STRING_LIST *master_net_attrib_list_head; /*!< Sorted list of all net attribs used in design */ int net_count; /*!< This cannnot change -- user must edit design using gschem */ int net_attrib_count; /*!< This can change in this prog if the user adds attribs */ STRING_LIST *master_pin_list_head; /*!< Sorted list of all refdes:pin items used in design. */ STRING_LIST *master_pin_attrib_list_head; /*!< Sorted list of all pin attribs used in design */ int pin_count; /*!< This cannnot change -- user must edit design using gschem */ int pin_attrib_count; /*!< This can change in this prog if the user adds attribs */ TABLE **component_table; /*!< points to 2d array of component attribs */ TABLE **net_table; /*!< points to 2d array of net attribs */ TABLE **pin_table; /*!< points to 2d array of pin attribs */ int CHANGED; /*!< for "file not saved" warning upon exit */ }; /* -------------------------------------------------------------------- */ /* \brief Table cell struct * * st_table defined what is held in a spreadsheet cell for both * comp and net spreadsheets. Holds pointer to individual comp/net name, and * pointer to attrib list. Ideally, the name pointer points to the * refdes/netname string held in the TOPLEVEL data structure, so that * when SHEET_DATA is manipulated, so is TOPLEVEL. */ /* -------------------------------------------------------------------- */ struct st_table { int row; /*!< location on spreadsheet */ int col; /*!< location on spreadsheet */ gchar *row_name; /*!< comp, net, or refdes:pin name */ gchar *col_name; /*!< attrib name */ gchar *attrib_value; /*!< attrib value */ gint visibility; gint show_name_value; }; /* -------------------------------------------------------------------- */ /*! \brief A list of strings. * * STRING_LIST is a doubly-linked list of strings. This struct is * used for several different jobs, including serving as base class * for master lists. * * \todo Consider replacing with a GList-based implementation */ /* -------------------------------------------------------------------- */ struct st_string_list { gchar *data; /*!< points to zero-terminated string */ int pos; /*!< position on spreadsheet */ int length; /*!< number of items in list */ STRING_LIST *prev; /*!< pointer to previous item in linked list */ STRING_LIST *next; /*!< pointer to next item in linked list */ }; /* -------------------------------------------------------------------- */ /*! \brief A list of pins * * PIN_LIST is a special struct used for keeping track of pins. Since * the master_pin_list must keep track of both refdes and pin, we need a * special struct for pins. Later processing will for a STRING_LIST * of refdes:pinnumber pairs for insertion in the spreadsheet. * * \todo Is this still in use? Consider replacing with a GList-based * implementation. */ /* -------------------------------------------------------------------- */ struct st_pin_list { gchar *refdes; /*!< holds refdes string */ gint pinnumber; gchar *pinlabel; /*!< holds pin label string */ int pos; /*!< pos on spreadsheet */ int length; /*!< number of items in list */ PIN_LIST *prev; PIN_LIST *next; }; #endif // #ifndef SHEET_DATA_STRUCT lepton-eda-1.9.10/attrib/include/gtkextra-marshal.h0000644000175000017500000002555413634703632017134 00000000000000 #ifndef __gtkextra_MARSHAL_H__ #define __gtkextra_MARSHAL_H__ #include G_BEGIN_DECLS /* BOOL:INT,INT,POINTER,POINTER (gtkextra-marshal.list:1) */ extern void gtkextra_BOOLEAN__INT_INT_POINTER_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__INT_INT_POINTER_POINTER gtkextra_BOOLEAN__INT_INT_POINTER_POINTER /* BOOL:BOXED,POINTER (gtkextra-marshal.list:2) */ extern void gtkextra_BOOLEAN__BOXED_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__BOXED_POINTER gtkextra_BOOLEAN__BOXED_POINTER /* BOOL:BOXED,STRING (gtkextra-marshal.list:3) */ extern void gtkextra_BOOLEAN__BOXED_STRING (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__BOXED_STRING gtkextra_BOOLEAN__BOXED_STRING /* BOOL:BOXED,BOXED (gtkextra-marshal.list:4) */ extern void gtkextra_BOOLEAN__BOXED_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__BOXED_BOXED gtkextra_BOOLEAN__BOXED_BOXED /* BOOL:BOXED,DOUBLE,DOUBLE (gtkextra-marshal.list:5) */ extern void gtkextra_BOOLEAN__BOXED_DOUBLE_DOUBLE (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__BOXED_DOUBLE_DOUBLE gtkextra_BOOLEAN__BOXED_DOUBLE_DOUBLE /* BOOL:POINTER,POINTER (gtkextra-marshal.list:6) */ extern void gtkextra_BOOLEAN__POINTER_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__POINTER_POINTER gtkextra_BOOLEAN__POINTER_POINTER /* BOOL:POINTER,BOXED (gtkextra-marshal.list:7) */ extern void gtkextra_BOOLEAN__POINTER_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__POINTER_BOXED gtkextra_BOOLEAN__POINTER_BOXED /* BOOL:POINTER,STRING (gtkextra-marshal.list:8) */ extern void gtkextra_BOOLEAN__POINTER_STRING (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__POINTER_STRING gtkextra_BOOLEAN__POINTER_STRING /* BOOL:POINTER (gtkextra-marshal.list:9) */ extern void gtkextra_BOOLEAN__POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__POINTER gtkextra_BOOLEAN__POINTER /* BOOL:BOXED (gtkextra-marshal.list:10) */ extern void gtkextra_BOOLEAN__BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__BOXED gtkextra_BOOLEAN__BOXED /* BOOL:INT,INT (gtkextra-marshal.list:11) */ extern void gtkextra_BOOLEAN__INT_INT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); #define gtkextra_BOOL__INT_INT gtkextra_BOOLEAN__INT_INT /* VOID:INT (gtkextra-marshal.list:12) */ #define gtkextra_VOID__INT g_cclosure_marshal_VOID__INT /* VOID:INT,STRING (gtkextra-marshal.list:13) */ extern void gtkextra_VOID__INT_STRING (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:BOXED (gtkextra-marshal.list:14) */ #define gtkextra_VOID__BOXED g_cclosure_marshal_VOID__BOXED /* VOID:VOID (gtkextra-marshal.list:15) */ #define gtkextra_VOID__VOID g_cclosure_marshal_VOID__VOID /* VOID:BOOL (gtkextra-marshal.list:16) */ #define gtkextra_VOID__BOOLEAN g_cclosure_marshal_VOID__BOOLEAN #define gtkextra_VOID__BOOL gtkextra_VOID__BOOLEAN /* VOID:POINTER (gtkextra-marshal.list:17) */ #define gtkextra_VOID__POINTER g_cclosure_marshal_VOID__POINTER /* VOID:INT,INT (gtkextra-marshal.list:18) */ extern void gtkextra_VOID__INT_INT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:INT,POINTER (gtkextra-marshal.list:19) */ extern void gtkextra_VOID__INT_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:INT,BOXED (gtkextra-marshal.list:20) */ extern void gtkextra_VOID__INT_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:POINTER,POINTER (gtkextra-marshal.list:21) */ extern void gtkextra_VOID__POINTER_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:BOXED,POINTER (gtkextra-marshal.list:22) */ extern void gtkextra_VOID__BOXED_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:BOXED,BOXED (gtkextra-marshal.list:23) */ extern void gtkextra_VOID__BOXED_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:OBJECT,OBJECT (gtkextra-marshal.list:24) */ extern void gtkextra_VOID__OBJECT_OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:DOUBLE,DOUBLE,DOUBLE,DOUBLE (gtkextra-marshal.list:25) */ extern void gtkextra_VOID__DOUBLE_DOUBLE_DOUBLE_DOUBLE (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); G_END_DECLS #endif /* __gtkextra_MARSHAL_H__ */ lepton-eda-1.9.10/attrib/include/prototype.h0000644000175000017500000001723113634703632015714 00000000000000/*! \file * This file holds all function prototypes for the entire gattrib * project. It should be #include'ed after struct.h. */ /* ---------------- gattrib.c ---------------- */ gboolean gattrib_really_quit(void); gint gattrib_quit(gint return_code); /* -------------- parsecmd.c ----------------- */ void usage(char *cmd); /* output usage string */ int parse_commandline(int argc, char *argv[]); /* run through cmd line options and set mode switches. */ /* -------------- listsort.c ----------------- */ int cmp(STRING_LIST *a, STRING_LIST *b); STRING_LIST *listsort(STRING_LIST *list, int is_circular, int is_double); /* ------------- f_export.c ------------- */ void f_export_components(gchar *filename); /* ------------- s_attrib.c ------------- */ int s_attrib_name_in_list(STRING_LIST *name_value_list, char *name); char *s_attrib_get_refdes(OBJECT *object); /* ------------- s_sheet_data.c ------------- */ SHEET_DATA *s_sheet_data_new(); void s_sheet_data_add_master_comp_list_items(const GList *obj_list); void s_sheet_data_add_master_comp_attrib_list_items(const GList *obj_list); void s_sheet_data_add_master_net_list_items(const GList *obj_list); void s_sheet_data_add_master_net_attrib_list_items(const GList *obj_list); void s_sheet_data_add_master_pin_list_items(const GList *obj_list); void s_sheet_data_add_master_pin_attrib_list_items(const GList *obj_list); void s_sheet_data_gtksheet_to_sheetdata(); /* ------------- s_string_list.c ------------- */ STRING_LIST *s_string_list_new(); STRING_LIST *s_string_list_duplicate_string_list(STRING_LIST *old_string_list); void s_string_list_add_item(STRING_LIST *list, int *count, char *item); void s_string_list_delete_item(STRING_LIST **list, int *count, char *item); int s_string_list_in_list(STRING_LIST *list, char *item); gint s_string_list_find_in_list (STRING_LIST *list, char *item); gchar *s_string_list_get_data_at_index(STRING_LIST *list, gint index); void s_string_list_sort_master_comp_list(); void s_string_list_sort_master_comp_attrib_list(); void s_string_list_sort_master_net_list(); void s_string_list_sort_master_net_attrib_list(); void s_string_list_sort_master_pin_list(); void s_string_list_sort_master_pin_attrib_list(); /* ------------- s_table.c ------------- */ TABLE **s_table_new(int rows, int cols); TABLE **s_table_resize(TABLE **table, int rows, int old_cols, int new_cols); void s_table_destroy(TABLE **table, int row_count, int col_count); int s_table_get_index(STRING_LIST *list, char *string); STRING_LIST *s_table_create_attrib_pair(gchar *row_name, TABLE **table, STRING_LIST *row_list, int num_attribs); void s_table_add_toplevel_comp_items_to_comp_table(const GList *obj_list); void s_table_add_toplevel_net_items_to_net_table(const GList *obj_list); void s_table_add_toplevel_pin_items_to_pin_table(const GList *obj_list); void s_table_gtksheet_to_all_tables(); void s_table_gtksheet_to_table(GtkSheet *local_gtk_sheet, STRING_LIST *master_row_list, STRING_LIST *master_col_list, TABLE **local_table, int num_rows, int num_cols); /* ------------- s_toplevel.c ------------- */ int s_toplevel_read_page(TOPLEVEL *toplevel, char *filename); void s_toplevel_verify_design(TOPLEVEL *toplevel); void s_toplevel_gtksheet_to_toplevel(TOPLEVEL *toplevel); void s_toplevel_add_new_attrib(gchar *new_attrib_name); void s_toplevel_delete_attrib_col(); void s_toplevel_sheetdata_to_toplevel(TOPLEVEL *toplevel, PAGE *page); STRING_LIST *s_toplevel_get_component_attribs_in_sheet(char *refdes); void s_toplevel_update_component_attribs_in_toplevel( TOPLEVEL *toplevel, OBJECT *o_current, STRING_LIST *new_comp_attrib_list); STRING_LIST *s_toplevel_get_net_attribs_in_sheet(char *netname); void s_toplevel_update_net_attribs_in_toplevel(OBJECT *o_current, STRING_LIST *new_net_attrib_list); STRING_LIST *s_toplevel_get_pin_attribs_in_sheet(char *refdes, OBJECT *pin); void s_toplevel_update_pin_attribs_in_toplevel(TOPLEVEL *toplevel, char *refdes, OBJECT *pin, STRING_LIST *new_pin_attrib_list); /* ------------- s_object.c ------------- */ void s_object_add_comp_attrib_to_object (TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name, char *new_attrib_value, gint visibility, gint show_name_value); void s_object_add_net_attrib_to_object (TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name, char *new_attrib_value); void s_object_add_pin_attrib_to_object (TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name, char *new_attrib_value); void s_object_replace_attrib_in_object (TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name, char *new_attrib_value, gint visibility, gint show_name_value); void s_object_remove_attrib_in_object (TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name); OBJECT *s_object_attrib_add_attrib_in_object (TOPLEVEL *toplevel, char *text_string, gint visibility, gint show_name_value, OBJECT * object); void s_object_delete_text_object_in_object(TOPLEVEL *toplevel, OBJECT *test_object); int s_object_has_sym_file(OBJECT *object); /* ------------- s_misc.c ------------- */ void verbose_print (const char *string); void verbose_done(void); void verbose_reset_index(void); char *s_misc_remaining_string(char *string, char delimiter, int count); /* ------------- s_visibility.c ------------- */ void s_visibility_set_invisible(); void s_visibility_set_name_only(); void s_visibility_set_value_only(); void s_visibility_set_name_and_value(); void s_visibility_set_cell(gint cur_page, gint row, gint col, gint visibility, gint show_name_value); /* ------------- i_vars.c ------------- */ void i_vars_set(TOPLEVEL *toplevel); void i_window_vars_set(TOPLEVEL *toplevel); /* ------------- x_dialog.c ------------- */ void x_dialog_newattrib(); void x_dialog_delattrib(); void x_dialog_missing_sym(); void x_dialog_unsaved_data(); void x_dialog_unimplemented_feature(); void x_dialog_fatal_error(const gchar *string, gint return_code); void x_dialog_about_dialog(); void x_dialog_export_file(); /* ------------- x_gtksheet.c ------------- */ void x_gtksheet_init(); void x_gtksheet_add_row_labels(GtkSheet *sheet, int count, STRING_LIST *list_head); void x_gtksheet_add_col_labels(GtkSheet *sheet, int count, STRING_LIST *list_head); void x_gtksheet_add_cell_item(GtkSheet *sheet, gint i, gint j, char *text, gint visibility, gint show_name_value); void x_gtksheet_set_cell_text_color(GtkSheet *sheet, gint row, gint col, gint color_name); int x_gtksheet_get_min_col(GtkSheet *sheet); int x_gtksheet_get_max_col(GtkSheet *sheet); /* ------------- x_fileselect.c ------------- */ GSList *x_fileselect_open (void); void x_fileselect_save (void); gboolean x_fileselect_load_files (GSList *filenames); /* ------------- x_window.c ------------- */ void x_window_init(); void x_window_add_items(); lepton-eda-1.9.10/attrib/include/Makefile.am0000644000175000017500000000021013634703632015517 00000000000000noinst_HEADERS = \ globals.h \ prototype.h \ x_states.h \ gtksheet_2_2.h \ i_vars.h \ struct.h \ gtkextra-marshal.h \ gettext.h lepton-eda-1.9.10/attrib/include/gtksheet_2_2.h0000644000175000017500000005510413634703632016130 00000000000000/* GtkSheet widget for Gtk+. * Copyright (C) 1999-2001 Adrian E. Feiguin * * Based on GtkClist widget by Jay Painter, but major changes. * Memory allocation routines inspired on SC (Spreadsheet Calculator) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library 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 * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifndef __GTK_SHEET_H__ #define __GTK_SHEET_H__ G_BEGIN_DECLS typedef enum { GTK_SHEET_FOREGROUND, GTK_SHEET_BACKGROUND, GTK_SHEET_FONT, GTK_SHEET_JUSTIFICATION, GTK_SHEET_BORDER, GTK_SHEET_BORDER_COLOR, GTK_SHEET_IS_EDITABLE, GTK_SHEET_IS_VISIBLE } GtkSheetAttrType; /* sheet->state */ enum { GTK_SHEET_NORMAL, GTK_SHEET_ROW_SELECTED, GTK_SHEET_COLUMN_SELECTED, GTK_SHEET_RANGE_SELECTED }; enum { GTK_SHEET_LEFT_BORDER = 1 << 0, GTK_SHEET_RIGHT_BORDER = 1 << 1, GTK_SHEET_TOP_BORDER = 1 << 2, GTK_SHEET_BOTTOM_BORDER = 1 << 3 }; #define GTK_TYPE_SHEET_RANGE (gtk_sheet_range_get_type ()) #define GTK_TYPE_SHEET (gtk_sheet_get_type ()) #define GTK_SHEET(obj) GTK_CHECK_CAST (obj, gtk_sheet_get_type (), GtkSheet) #define GTK_SHEET_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_sheet_get_type (), GtkSheetClass) #define GTK_IS_SHEET(obj) GTK_CHECK_TYPE (obj, gtk_sheet_get_type ()) /* Public flags, for compatibility */ #define GTK_SHEET_IS_LOCKED(sheet) gtk_sheet_locked(sheet) #define GTK_SHEET_ROW_FROZEN(sheet) !gtk_sheet_rows_resizable(sheet) #define GTK_SHEET_COLUMN_FROZEN(sheet) !gtk_sheet_columns_resizable(sheet) #define GTK_SHEET_AUTORESIZE(sheet) gtk_sheet_autoresize(sheet) #define GTK_SHEET_CLIP_TEXT(sheet) gtk_sheet_clip_text(sheet) #define GTK_SHEET_ROW_TITLES_VISIBLE(sheet) gtk_sheet_row_titles_visible(sheet) #define GTK_SHEET_COL_TITLES_VISIBLE(sheet) gtk_sheet_column_titles_visible(sheet) #define GTK_SHEET_AUTO_SCROLL(sheet) gtk_sheet_autoscroll(sheet) #define GTK_SHEET_JUSTIFY_ENTRY(sheet) gtk_sheet_justify_entry(sheet) typedef struct _GtkSheet GtkSheet; typedef struct _GtkSheetClass GtkSheetClass; typedef struct _GtkSheetChild GtkSheetChild; typedef struct _GtkSheetRow GtkSheetRow; typedef struct _GtkSheetColumn GtkSheetColumn; typedef struct _GtkSheetCell GtkSheetCell; typedef struct _GtkSheetRange GtkSheetRange; typedef struct _GtkSheetButton GtkSheetButton; typedef struct _GtkSheetCellAttr GtkSheetCellAttr; typedef struct _GtkSheetCellBorder GtkSheetCellBorder; struct _GtkSheetChild { GtkWidget *widget; gint x,y ; gboolean attached_to_cell; gboolean floating; gint row, col; guint16 xpadding; guint16 ypadding; gboolean xexpand; gboolean yexpand; gboolean xshrink; gboolean yshrink; gboolean xfill; gboolean yfill; }; struct _GtkSheetButton { GtkStateType state; gchar *label; gboolean label_visible; GtkSheetChild *child; GtkJustification justification; }; struct _GtkSheetCellBorder { gint8 mask; guint width; GdkLineStyle line_style; GdkCapStyle cap_style; GdkJoinStyle join_style; GdkColor color; }; struct _GtkSheetCellAttr { GtkJustification justification; GdkFont *font; PangoFontDescription *font_desc; GdkColor foreground; GdkColor background; GtkSheetCellBorder border; gboolean is_editable; gboolean is_visible; }; struct _GtkSheetCell { GdkRectangle area; gint row; gint col; GtkSheetCellAttr *attributes; gchar *text; gpointer link; }; struct _GtkSheetRange { gint row0,col0; /* upper-left cell */ gint rowi,coli; /* lower-right cell */ }; struct _GtkSheetRow { gchar *name; gint height; gint top_ypixel; guint16 requisition; GtkSheetButton button; gboolean is_sensitive; gboolean is_visible; }; struct _GtkSheetColumn { gchar *name; gint width; gint left_xpixel; guint16 requisition; GtkSheetButton button; gint left_text_column; /* min left column displaying text on this column */ gint right_text_column; /* max right column displaying text on this column */ GtkJustification justification; gboolean is_sensitive; gboolean is_visible; }; struct _GtkSheet{ GtkContainer container; guint16 flags; GtkSelectionMode selection_mode; gboolean autoresize; gboolean autoscroll; gboolean clip_text; gboolean justify_entry; gboolean locked; guint freeze_count; /* Background colors */ GdkColor bg_color; GdkColor grid_color; gboolean show_grid; /* sheet children */ GList *children; /* allocation rectangle after the container_border_width and the width of the shadow border */ GdkRectangle internal_allocation; gchar *name; GtkSheetRow *row; GtkSheetColumn *column; gboolean rows_resizable; gboolean columns_resizable; /* max number of diplayed cells */ gint maxrow; gint maxcol; /* Displayed range */ GtkSheetRange view; /* sheet data: dynamically allocated array of cell pointers */ GtkSheetCell ***data; /* max number of allocated cells */ gint maxallocrow; gint maxalloccol; /* active cell */ GtkSheetCell active_cell; GtkWidget *sheet_entry; GtkType entry_type; /* expanding selection */ GtkSheetCell selection_cell; /* timer for automatic scroll during selection */ gint32 timer; /* timer for flashing clipped range */ gint32 clip_timer; gint interval; /* global selection button */ GtkWidget *button; /* sheet state */ gint state; /* selected range */ GtkSheetRange range; /*the scrolling window and it's height and width to * make things a little speedier */ GdkWindow *sheet_window; guint sheet_window_width; guint sheet_window_height; /* sheet backing pixmap */ GdkWindow *pixmap; /* offsets for scrolling */ gint hoffset; gint voffset; gfloat old_hadjustment; gfloat old_vadjustment; /* border shadow style */ GtkShadowType shadow_type; /* Column Titles */ GdkRectangle column_title_area; GdkWindow *column_title_window; gboolean column_titles_visible; /* Row Titles */ GdkRectangle row_title_area; GdkWindow *row_title_window; gboolean row_titles_visible; /*scrollbars*/ GtkAdjustment *hadjustment; GtkAdjustment *vadjustment; /* xor GC for the verticle drag line */ GdkGC *xor_gc; /* gc for drawing unselected cells */ GdkGC *fg_gc; GdkGC *bg_gc; /* cursor used to indicate dragging */ GdkCursor *cursor_drag; /* the current x-pixel location of the xor-drag vline */ gint x_drag; /* the current y-pixel location of the xor-drag hline */ gint y_drag; /* current cell being dragged */ GtkSheetCell drag_cell; /* current range being dragged */ GtkSheetRange drag_range; /* clipped range */ GtkSheetRange clip_range; }; struct _GtkSheetClass { GtkContainerClass parent_class; void (*set_scroll_adjustments) (GtkSheet *sheet, GtkAdjustment *hadjustment, GtkAdjustment *vadjustment); void (*select_row) (GtkSheet *sheet, gint row); void (*select_column) (GtkSheet *sheet, gint column); void (*select_range) (GtkSheet *sheet, GtkSheetRange *range); void (*clip_range) (GtkSheet *sheet, GtkSheetRange *clip_range); void (*resize_range) (GtkSheet *sheet, GtkSheetRange *old_range, GtkSheetRange *new_range); void (*move_range) (GtkSheet *sheet, GtkSheetRange *old_range, GtkSheetRange *new_range); gboolean (*traverse) (GtkSheet *sheet, gint row, gint column, gint *new_row, gint *new_column); gboolean (*deactivate) (GtkSheet *sheet, gint row, gint column); gboolean (*activate) (GtkSheet *sheet, gint row, gint column); void (*set_cell) (GtkSheet *sheet, gint row, gint column); void (*clear_cell) (GtkSheet *sheet, gint row, gint column); void (*changed) (GtkSheet *sheet, gint row, gint column); void (*new_column_width) (GtkSheet *sheet, gint col, guint width); void (*new_row_height) (GtkSheet *sheet, gint row, guint height); }; GType gtk_sheet_get_type (void); GtkType gtk_sheet_range_get_type (void); /* create a new sheet */ GtkWidget * gtk_sheet_new (guint rows, guint columns, const gchar *title); void gtk_sheet_construct (GtkSheet *sheet, guint rows, guint columns, const gchar *title); /* create a new browser sheet. It cells can not be edited */ GtkWidget * gtk_sheet_new_browser (guint rows, guint columns, const gchar *title); void gtk_sheet_construct_browser (GtkSheet *sheet, guint rows, guint columns, const gchar *title); /* create a new sheet with custom entry */ GtkWidget * gtk_sheet_new_with_custom_entry (guint rows, guint columns, const gchar *title, GtkType entry_type); void gtk_sheet_construct_with_custom_entry (GtkSheet *sheet, guint rows, guint columns, const gchar *title, GtkType entry_type); /* change scroll adjustments */ void gtk_sheet_set_hadjustment (GtkSheet *sheet, GtkAdjustment *adjustment); void gtk_sheet_set_vadjustment (GtkSheet *sheet, GtkAdjustment *adjustment); /* Change entry */ void gtk_sheet_change_entry (GtkSheet *sheet, GtkType entry_type); /* Returns sheet's entry widget */ GtkWidget * gtk_sheet_get_entry (GtkSheet *sheet); GtkWidget * gtk_sheet_get_entry_widget (GtkSheet *sheet); /* Returns sheet->state * Added by Steven Rostedt */ gint gtk_sheet_get_state (GtkSheet *sheet); /* Returns sheet's ranges * Added by Murray Cumming */ guint gtk_sheet_get_columns_count (GtkSheet *sheet); guint gtk_sheet_get_rows_count (GtkSheet *sheet); void gtk_sheet_get_visible_range (GtkSheet *sheet, GtkSheetRange *range); void gtk_sheet_set_selection_mode (GtkSheet *sheet, gint mode); void gtk_sheet_set_autoresize (GtkSheet *sheet, gboolean autoresize); gboolean gtk_sheet_autoresize (GtkSheet *sheet); void gtk_sheet_set_autoscroll (GtkSheet *sheet, gboolean autoscroll); gboolean gtk_sheet_autoscroll (GtkSheet *sheet); void gtk_sheet_set_clip_text (GtkSheet *sheet, gboolean clip_text); gboolean gtk_sheet_clip_text (GtkSheet *sheet); void gtk_sheet_set_justify_entry (GtkSheet *sheet, gboolean justify); gboolean gtk_sheet_justify_entry (GtkSheet *sheet); void gtk_sheet_set_locked (GtkSheet *sheet, gboolean lock); gboolean gtk_sheet_locked (GtkSheet *sheet); /* set sheet title */ void gtk_sheet_set_title (GtkSheet *sheet, const gchar *title); /* freeze all visual updates of the sheet. * Then thaw the sheet after you have made a number of changes. * The updates will occure in a more efficent way than if * you made them on a unfrozen sheet */ void gtk_sheet_freeze (GtkSheet *sheet); void gtk_sheet_thaw (GtkSheet *sheet); /* Background colors */ void gtk_sheet_set_background (GtkSheet *sheet, GdkColor *bg_color); void gtk_sheet_set_grid (GtkSheet *sheet, GdkColor *grid_color); void gtk_sheet_show_grid (GtkSheet *sheet, gboolean show); gboolean gtk_sheet_grid_visible (GtkSheet *sheet); /* set/get column title */ void gtk_sheet_set_column_title (GtkSheet * sheet, gint column, const gchar * title); const gchar * gtk_sheet_get_column_title (GtkSheet * sheet, gint column); /* set/get row title */ void gtk_sheet_set_row_title (GtkSheet * sheet, gint row, const gchar * title); const gchar * gtk_sheet_get_row_title (GtkSheet * sheet, gint row); /* set/get button label */ void gtk_sheet_row_button_add_label (GtkSheet *sheet, gint row, const gchar *label); void gtk_sheet_column_button_add_label (GtkSheet *sheet, gint column, const gchar *label); const gchar * gtk_sheet_row_button_get_label (GtkSheet *sheet, gint row); const gchar * gtk_sheet_column_button_get_label (GtkSheet *sheet, gint column); void gtk_sheet_row_button_justify (GtkSheet *sheet, gint row, GtkJustification justification); void gtk_sheet_column_button_justify (GtkSheet *sheet, gint column, GtkJustification justification); /* scroll the viewing area of the sheet to the given column * and row; row_align and col_align are between 0-1 representing the * location the row should appear on the screnn, 0.0 being top or left, * 1.0 being bottom or right; if row or column is negative then there * is no change */ void gtk_sheet_moveto (GtkSheet * sheet, gint row, gint column, gfloat row_align, gfloat col_align); /* resize column/row titles window */ void gtk_sheet_set_row_titles_width(GtkSheet *sheet, guint width); void gtk_sheet_set_column_titles_height(GtkSheet *sheet, guint height); /* show/hide column/row titles window */ void gtk_sheet_show_column_titles (GtkSheet *sheet); void gtk_sheet_show_row_titles (GtkSheet *sheet); void gtk_sheet_hide_column_titles (GtkSheet *sheet); void gtk_sheet_hide_row_titles (GtkSheet *sheet); gboolean gtk_sheet_column_titles_visible (GtkSheet *sheet); gboolean gtk_sheet_row_titles_visible (GtkSheet *sheet); /* set column button sensitivity. If sensitivity is TRUE it can be toggled, * otherwise it acts as a title */ void gtk_sheet_column_set_sensitivity (GtkSheet *sheet, gint column, gboolean sensitive); /* set sensitivity for all column buttons */ void gtk_sheet_columns_set_sensitivity (GtkSheet *sheet, gboolean sensitive); void gtk_sheet_columns_set_resizable (GtkSheet *sheet, gboolean resizable); gboolean gtk_sheet_columns_resizable (GtkSheet *sheet); /* set row button sensitivity. If sensitivity is TRUE can be toggled, * otherwise it acts as a title */ void gtk_sheet_row_set_sensitivity (GtkSheet *sheet, gint row, gboolean sensitive); /* set sensitivity for all row buttons */ void gtk_sheet_rows_set_sensitivity (GtkSheet *sheet, gboolean sensitive); void gtk_sheet_rows_set_resizable (GtkSheet *sheet, gboolean resizable); gboolean gtk_sheet_rows_resizable (GtkSheet *sheet); /* set column visibility. The default value is TRUE. If FALSE, the * column is hidden */ void gtk_sheet_column_set_visibility (GtkSheet *sheet, gint column, gboolean visible); void gtk_sheet_column_label_set_visibility (GtkSheet *sheet, gint column, gboolean visible); void gtk_sheet_columns_labels_set_visibility (GtkSheet *sheet, gboolean visible); /* set row visibility. The default value is TRUE. If FALSE, the * row is hidden */ void gtk_sheet_row_set_visibility (GtkSheet *sheet, gint row, gboolean visible); void gtk_sheet_row_label_set_visibility (GtkSheet *sheet, gint row, gboolean visible); void gtk_sheet_rows_labels_set_visibility (GtkSheet *sheet, gboolean visible); /* select the row. The range is then highlighted, and the bounds are stored * in sheet->range */ void gtk_sheet_select_row (GtkSheet * sheet, gint row); /* select the column. The range is then highlighted, and the bounds are stored * in sheet->range */ void gtk_sheet_select_column (GtkSheet * sheet, gint column); /* save selected range to "clipboard" */ void gtk_sheet_clip_range (GtkSheet *sheet, const GtkSheetRange *range); /* free clipboard */ void gtk_sheet_unclip_range (GtkSheet *sheet); gboolean gtk_sheet_in_clip (GtkSheet *sheet); /* get scrollbars adjustment */ GtkAdjustment * gtk_sheet_get_vadjustment (GtkSheet * sheet); GtkAdjustment * gtk_sheet_get_hadjustment (GtkSheet * sheet); /* highlight the selected range and store bounds in sheet->range */ void gtk_sheet_select_range (GtkSheet *sheet, const GtkSheetRange *range); /* obvious */ void gtk_sheet_unselect_range (GtkSheet *sheet); /* set active cell where the entry will be displayed * returns FALSE if current cell can't be deactivated or * requested cell can't be activated */ gboolean gtk_sheet_set_active_cell (GtkSheet *sheet, gint row, gint column); void gtk_sheet_get_active_cell (GtkSheet *sheet, gint *row, gint *column); /* set cell contents and allocate memory if needed */ void gtk_sheet_set_cell (GtkSheet *sheet, gint row, gint col, GtkJustification justification, const gchar *text); void gtk_sheet_set_cell_text (GtkSheet *sheet, gint row, gint col, const gchar *text); /* get cell contents */ gchar * gtk_sheet_cell_get_text (GtkSheet *sheet, gint row, gint col); /* clear cell contents */ void gtk_sheet_cell_clear (GtkSheet *sheet, gint row, gint col); /* clear cell contents and remove links */ void gtk_sheet_cell_delete (GtkSheet *sheet, gint row, gint col); /* clear range contents. If range==NULL the whole sheet will be cleared */ void gtk_sheet_range_clear (GtkSheet *sheet, const GtkSheetRange *range); /* clear range contents and remove links */ void gtk_sheet_range_delete (GtkSheet *sheet, const GtkSheetRange *range); /* get cell state: GTK_STATE_NORMAL, GTK_STATE_SELECTED */ GtkStateType gtk_sheet_cell_get_state (GtkSheet *sheet, gint row, gint col); /* Handles cell links */ void gtk_sheet_link_cell (GtkSheet *sheet, gint row, gint col, gpointer link); gpointer gtk_sheet_get_link (GtkSheet *sheet, gint row, gint col); void gtk_sheet_remove_link (GtkSheet *sheet, gint row, gint col); /* get row and column correspondig to the given position in the screen */ gboolean gtk_sheet_get_pixel_info (GtkSheet * sheet, gint x, gint y, gint * row, gint * column); /* get area of a given cell */ gboolean gtk_sheet_get_cell_area (GtkSheet *sheet, gint row, gint column, GdkRectangle *area); /* set column width */ void gtk_sheet_set_column_width (GtkSheet * sheet, gint column, guint width); /* set row height */ void gtk_sheet_set_row_height (GtkSheet * sheet, gint row, guint height); /* append ncols columns to the end of the sheet */ void gtk_sheet_add_column (GtkSheet *sheet, guint ncols); /* append nrows row to the end of the sheet */ void gtk_sheet_add_row (GtkSheet *sheet, guint nrows); /* insert nrows rows before the given row and pull right */ void gtk_sheet_insert_rows (GtkSheet *sheet, guint row, guint nrows); /* insert ncols columns before the given col and pull down */ void gtk_sheet_insert_columns (GtkSheet *sheet, guint col, guint ncols); /* delete nrows rows starting in row */ void gtk_sheet_delete_rows (GtkSheet *sheet, guint row, guint nrows); /* delete ncols columns starting in col */ void gtk_sheet_delete_columns (GtkSheet *sheet, guint col, guint ncols); /* set abckground color of the given range */ void gtk_sheet_range_set_background (GtkSheet *sheet, const GtkSheetRange *range, const GdkColor *color); /* set foreground color (text color) of the given range */ void gtk_sheet_range_set_foreground (GtkSheet *sheet, const GtkSheetRange *range, const GdkColor *color); /* set text justification (GTK_JUSTIFY_LEFT, RIGHT, CENTER) of the given range. * The default value is GTK_JUSTIFY_LEFT. If autoformat is on, the * default justification for numbers is GTK_JUSTIFY_RIGHT */ void gtk_sheet_range_set_justification (GtkSheet *sheet, const GtkSheetRange *range, GtkJustification justification); void gtk_sheet_column_set_justification (GtkSheet *sheet, gint column, GtkJustification justification); /* set if cell contents can be edited or not in the given range: * accepted values are TRUE or FALSE. */ void gtk_sheet_range_set_editable (GtkSheet *sheet, const GtkSheetRange *range, gint editable); /* set if cell contents are visible or not in the given range: * accepted values are TRUE or FALSE.*/ void gtk_sheet_range_set_visible (GtkSheet *sheet, const GtkSheetRange *range, gboolean visible); /* set cell border style in the given range. * mask values are CELL_LEFT_BORDER, CELL_RIGHT_BORDER, CELL_TOP_BORDER, * CELL_BOTTOM_BORDER * width is the width of the border line in pixels * line_style is the line_style for the border line */ void gtk_sheet_range_set_border (GtkSheet *sheet, const GtkSheetRange *range, gint mask, guint width, gint line_style); /* set border color for the given range */ void gtk_sheet_range_set_border_color (GtkSheet *sheet, const GtkSheetRange *range, const GdkColor *color); /* set font for the given range */ void gtk_sheet_range_set_font (GtkSheet *sheet, const GtkSheetRange *range, PangoFontDescription *font); /* get cell attributes of the given cell */ /* TRUE means that the cell is currently allocated */ gboolean gtk_sheet_get_attributes (GtkSheet *sheet, gint row, gint col, GtkSheetCellAttr *attributes); GtkSheetChild * gtk_sheet_put (GtkSheet *sheet, GtkWidget *widget, gint x, gint y); void gtk_sheet_attach_floating (GtkSheet *sheet, GtkWidget *widget, gint row, gint col); void gtk_sheet_attach_default (GtkSheet *sheet, GtkWidget *widget, gint row, gint col); void gtk_sheet_attach (GtkSheet *sheet, GtkWidget *widget, gint row, gint col, gint xoptions, gint yoptions, gint xpadding, gint ypadding); void gtk_sheet_move_child (GtkSheet *sheet, GtkWidget *widget, gint x, gint y); GtkSheetChild * gtk_sheet_get_child_at (GtkSheet *sheet, gint row, gint col); void gtk_sheet_button_attach (GtkSheet *sheet, GtkWidget *widget, gint row, gint col); G_END_DECLS #endif /* __GTK_SHEET_H__ */ lepton-eda-1.9.10/attrib/include/gettext.h0000644000175000017500000000601613634703632015332 00000000000000/* Convenience header for conditional use of GNU . Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _LIBGETTEXT_H #define _LIBGETTEXT_H 1 /* NLS can be disabled through the configure --disable-nls option. */ #if ENABLE_NLS /* Get declarations of GNU message catalog functions. */ # include #else /* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which chokes if dcgettext is defined as a macro. So include it now, to make later inclusions of a NOP. We don't include as well because people using "gettext.h" will not include , and also including would fail on SunOS 4, whereas is OK. */ #if defined(__sun) # include #endif /* Disabled NLS. The casts to 'const char *' serve the purpose of producing warnings for invalid uses of the value returned from these functions. On pre-ANSI systems without 'const', the config.h file is supposed to contain "#define const". */ # define gettext(Msgid) ((const char *) (Msgid)) # define dgettext(Domainname, Msgid) ((const char *) (Msgid)) # define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid)) # define ngettext(Msgid1, Msgid2, N) \ ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) # define dngettext(Domainname, Msgid1, Msgid2, N) \ ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) # define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) # define textdomain(Domainname) ((const char *) (Domainname)) # define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname)) # define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset)) #endif /* A pseudo function call that serves as a marker for the automated extraction of messages, but does not call gettext(). The run-time translation is done at a different place in the code. The argument, String, should be a literal string. Concatenated strings and other string expressions won't work. The macro's expansion is not parenthesized, so that it is suitable as initializer for static 'char[]' or 'const char[]' variables. */ #define gettext_noop(String) String #define _(String) gettext(String) #endif /* _LIBGETTEXT_H */ lepton-eda-1.9.10/attrib/include/i_vars.h0000644000175000017500000000204313634703632015125 00000000000000/* Lepton EDA attribute editor * Copyright (C) 1998-2010 Ales Hvezda * Copyright (C) 1998-2012 gEDA Contributors * Copyright (C) 2018-2019 Lepton EDA Contributors * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! * \file * \brief Default variable value declarations. * Default variable value declarations. */ extern int default_text_size; extern int default_text_caps; lepton-eda-1.9.10/attrib/include/x_states.h0000644000175000017500000000274113634703632015501 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 1998-2010 Ales Hvezda * * 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 library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef X_STATES_H #define X_STATES_H #undef NONE /* NOTE: when adding states, also update i_status_string() function */ enum x_states { NONE, SELECT, DRAWLINE, DRAWBOX, MOVE, COPY, DRAWCIRCLE, ZOOM, PAN, DRAWNET, NETCONT, TEXTENTRY, DRAWPIN, DRAWARC, STARTDRAWNET, DRAWCOMP, SBOX, STARTPAN, STARTSELECT, STARTCOPY, STARTMOVE, ENDCOPY, ENDMOVE, ENDLINE, ENDBOX, ENDCIRCLE, ENDARC, ENDPIN, ENDCOMP, DRAWATTRIB, ENDATTRIB, DRAWTEXT, ENDTEXT, ENDROTATEP, ENDMIRROR, ZOOMBOXSTART, ZOOMBOXEND, STARTROUTENET, ENDROUTENET, MOUSEPAN, DRAWBUS, BUSCONT, STARTDRAWBUS, STARTPASTE, ENDPASTE, GRIPS}; #endif lepton-eda-1.9.10/attrib/src/0000755000175000017500000000000013634704561012720 500000000000000lepton-eda-1.9.10/attrib/src/s_sheet_data.c0000644000175000017500000004041213634703632015426 00000000000000/* Lepton EDA attribute editor * Copyright (C) 2003-2010 Stuart D. Brorson. * Copyright (C) 2003-2013 gEDA Contributors * Copyright (C) 2017-2020 Lepton EDA Contributors * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*--------------------------------------------------------------*/ /*! * \file * * \brief Functions involved in manipulating an entire * SHEET_DATA structure. * * This file holds functions involved in manipulating an entire * SHEET_DATA structure. The SHEET_DATA structure is the intermediate * structure between TOPLEVEL (gEDA's native format) and the graphical * gtksheet widget (from gtkextra), which is the spreadsheet widget * displaying the attribs. */ #include #include #ifdef HAVE_STRING_H #include #endif #include /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #include "../include/gettext.h" /*------------------------------------------------------------------*/ /*! * \brief Create a SHEET_DATA struct. * * Creates an initialised but empty SHEET_DATA struct. * \returns a pointer to a SHEET_DATA struct. */ SHEET_DATA *s_sheet_data_new() { SHEET_DATA *new_sheet; new_sheet = (SHEET_DATA *) g_malloc(sizeof(SHEET_DATA)); /* We will malloc and fill out the comp table later. */ new_sheet->component_table = NULL; /* We will malloc and fill out the net table later. */ new_sheet->net_table = NULL; /* We will malloc and fill out the pin table later. */ new_sheet->pin_table = NULL; /* Now we create the first cell in each master list. */ new_sheet->master_comp_list_head = (STRING_LIST *) s_string_list_new(); new_sheet->master_comp_attrib_list_head = (STRING_LIST *) s_string_list_new(); new_sheet->comp_count = 0; new_sheet->comp_attrib_count = 0; new_sheet->master_net_list_head = (STRING_LIST *) s_string_list_new(); new_sheet->master_net_attrib_list_head = (STRING_LIST *) s_string_list_new(); new_sheet->net_count = 0; new_sheet->net_attrib_count = 0; new_sheet->master_pin_list_head = (STRING_LIST *) s_string_list_new(); new_sheet->master_pin_attrib_list_head = (STRING_LIST *) s_string_list_new(); new_sheet->pin_count = 0; new_sheet->pin_attrib_count = 0; new_sheet->CHANGED = FALSE; return (new_sheet); } /*------------------------------------------------------------------*/ /*! \brief Add components to master list * * Add to the master list of components refdeses by running through * the components and recording the comp refdeses it discovers. Then * it sorts them into alphabetical order. Data struct being searched * is: OBJECT->attribs(->next. . .)->object->text->string * \param obj_list pointer to the component list to be added. */ void s_sheet_data_add_master_comp_list_items (const GList *obj_list) { char *temp_uref; const GList *iter; #ifdef DEBUG printf ("==== Enter s_sheet_data_add_master_comp_list_items()\n"); #endif if (verbose_mode) { printf (_("Start master component list creation.\n")); } /* ----- Iterate through all objects found on page looking for components ----- */ for (iter = obj_list; iter != NULL; iter = g_list_next (iter)) { OBJECT *o_current = (OBJECT*) iter->data; #ifdef DEBUG printf ("s_sheet_data_add_master_comp_list_items: "); printf ("Examining o_current->name = %s\n", o_current->name); #endif /*----- only process if this is a component with attributes ----*/ if (o_current->type == OBJ_COMPONENT && o_current->attribs != NULL) { #if DEBUG printf ("s_sheet_data_add_master_comp_list_items: "); printf ("Found component on page: component_basename = %s\n", o_current->component_basename); #endif verbose_print(" C"); temp_uref = s_attrib_get_refdes(o_current); /* Now that we have refdes, store refdes and attach attrib list to component */ if (temp_uref) { #if DEBUG printf ("s_sheet_data_add_master_comp_list_items: "); printf ("About to add to master list refdes = %s\n", temp_uref); #endif s_string_list_add_item(sheet_head->master_comp_list_head, &(sheet_head->comp_count), temp_uref); g_free(temp_uref); } } /* if (o_current->type == OBJ_COMPONENT . . . . .) */ } return; } /*------------------------------------------------------------------*/ /*! \brief Add attributes to master list * * Add to the master list of comp attributes by running * through each component on the page and recording all attribs * it discovers. Then it sorts them into an order used for the * horiz listing of the attribs on the spreadsheet. * Data struct being searched is: * sheet_head->component_list_head->attrib->name; * \param obj_list pointer to list of attributes being added */ void s_sheet_data_add_master_comp_attrib_list_items (const GList *obj_list) { char *attrib_text; char *attrib_name; const GList *o_iter; GList *a_iter; OBJECT *a_current; #ifdef DEBUG fflush(stderr); fflush(stdout); printf ("==== Enter s_sheet_data_add_master_comp_attrib_list_items()\n"); #endif if (verbose_mode) { printf (_("Start master component attrib list creation.\n")); } /* ----- Iterate through all objects found on page looking for components (OBJ_COMPONENT) ----- */ for (o_iter = obj_list; o_iter != NULL; o_iter = g_list_next (o_iter)) { OBJECT *o_current = (OBJECT*) o_iter->data; #ifdef DEBUG printf ("s_sheet_data_add_master_comp_attrib_list_items: "); printf ("Examining o_current->name = %s\n", o_current->name); #endif /*----- only process if this is a component with attributes ----*/ if (o_current->type == OBJ_COMPONENT && o_current->attribs != NULL) { verbose_print(" C"); /*------ Iterate through all attribs found on component -----*/ a_iter = o_current->attribs; /* This has a side effect. Why? */ while (a_iter != NULL) { a_current = (OBJECT*) a_iter->data; if (a_current->type == OBJ_TEXT && a_current->text != NULL) { /* found an attribute */ attrib_text = g_strdup(geda_text_object_get_string (a_current)); attrib_name = u_basic_breakup_string(attrib_text, '=', 0); /* Don't include "refdes" or "slot" because they form the row name */ /* Also don't include "net" per bug found by Steve W. -- 4.3.2007, SDB */ if ( (strcmp(attrib_name, "refdes") != 0) && (strcmp(attrib_name, "net") != 0) && (strcmp(attrib_name, "slot") != 0) ) { #if DEBUG printf ("... from this component, " "about to add to master comp attrib list attrib=%s\n", attrib_name); #endif s_string_list_add_item(sheet_head->master_comp_attrib_list_head, &(sheet_head->comp_attrib_count), attrib_name); } /* if (strcmp(attrib_name, "refdes") != 0) */ g_free(attrib_name); g_free(attrib_text); } a_iter = g_list_next (a_iter); } /* while */ } /* if (o_current->type == OBJ_COMPONENT) */ } /* ----- Now sort component list into alphabetical order ----- */ return; } /*------------------------------------------------------------------*/ /*! \brief Add net names to master list. * * Build the master list of net names by running * through the individual cells and recording the net refdeses * it discovers. * It's currently empty, waiting for implementation of net * attributes. */ void s_sheet_data_add_master_net_list_items (const GList *obj_start) { return; } /*------------------------------------------------------------------*/ /*! \brief Add net attributes to master list. * * Build the master list of net attribs. * It's currently empty, waiting for implementation of net * attributes. */ void s_sheet_data_add_master_net_attrib_list_items (const GList *obj_start) { return; } /*------------------------------------------------------------------*/ /*! \brief Add pin names to master list. * * Build the master * list of pin names. It writes the * label refdes:pinnumber into the global master pin list. * Algorithm: * -# Loop on o_current looking for OBJ_COMPONENT * -# When we find a component, save the refdes. * -# Dive down to o_lower_current = o_current->component->prim_objs * -# Loop on o_lower_current looking for OBJ_PIN * -# When we find a pin, find the pinnumber by calling * o_attrib_search_object_attribs_by_name(o_lower_current, "pinnumber", 0) * -# Create the pin list label as "refdes=XXX", and stick it into * the master pin list. * Since this function operates on the global sheet_data->master_pin_list, * it doesn't return a value. * \param obj_list pointer to list of pin names to be added. */ void s_sheet_data_add_master_pin_list_items (const GList *obj_list) { char *temp_uref; char *temp_pinnumber; char *row_label; const GList *o_iter; GList *o_lower_iter; #ifdef DEBUG fflush(stderr); fflush(stdout); printf ("==== Enter s_sheet_data_add_master_pin_list_items()\n"); #endif if (verbose_mode) { printf (_("Start master pin list creation.\n")); } /* ----- Iterate through all objects found on page looking for components ----- */ for (o_iter = obj_list; o_iter != NULL; o_iter = g_list_next (o_iter)) { OBJECT *o_current = (OBJECT*) o_iter->data; #ifdef DEBUG printf ("s_sheet_data_add_master_pin_list_items: "); printf ("Examining o_current->name = %s\n", o_current->name); #endif if (o_current->type == OBJ_COMPONENT) { temp_uref = s_attrib_get_refdes (o_current); if (temp_uref != NULL) { /* make sure object component has a refdes */ /* ----- Now iterate through lower level objects looking for pins. ----- */ for (o_lower_iter = o_current->component->prim_objs; o_lower_iter != NULL; o_lower_iter = g_list_next (o_lower_iter)) { OBJECT *o_lower_current = (OBJECT*) o_lower_iter->data; #if DEBUG printf ("s_sheet_data_add_master_pin_list_items: "); printf ("Examining object name %s\n", o_lower_current->name); #endif if (o_lower_current->type == OBJ_PIN) { temp_pinnumber = o_attrib_search_object_attribs_by_name (o_lower_current, "pinnumber", 0); if (temp_pinnumber != NULL) { row_label = g_strconcat (temp_uref, ":", temp_pinnumber, NULL); #if DEBUG printf ("s_sheet_data_add_master_pin_list_items: "); printf ("About to add to master pin list row_label = %s\n", row_label); #endif s_string_list_add_item (sheet_head->master_pin_list_head, &(sheet_head->pin_count), row_label); } else { /* didn't find pinnumber. Report error to log. */ fprintf (stderr, "s_sheet_data_add_master_pin_list_items: "); fprintf (stderr, _("Found component pin with no pinnumber: refdes = %1$s\n"), temp_uref); } g_free (temp_pinnumber); } } } else { /* didn't find refdes. Report error to log. */ #ifdef DEBUG printf ("s_sheet_data_add_master_pin_list_items: "); printf ("Found component with no refdes: component_basename = %s\n", o_current->component_basename); #endif } g_free (temp_uref); } /* if (o_current->type == OBJ_COMPONENT) */ } return; } /*------------------------------------------------------------------*/ /*! \brief Add pin attributes to master list. * * Build the master * list of pin attributes. It writes * each attrib name into the master pin attrib list. * Algorithm: * -# Loop on o_current looking for OBJ_COMPONENT * -# When we find a component, save the refdes. * -# Dive down to o_lower_current = o_current->component->prim_objs * -# Loop on o_lower_current looking for OBJ_PIN * -# When we find a pin, get pin_attribs = o_lower_current->attribs * -# Loop on attribs looking for non-NULL text. * -# When we find a non-NULL text attrib, extract the attrib name * and stick it in the master pin attrib list. * \param obj_list pointer to list of pin attributes to be added. */ void s_sheet_data_add_master_pin_attrib_list_items (const GList *obj_list) { char *temp_uref; char *attrib_text; char *attrib_name; char *attrib_value; const GList *o_iter; GList *o_lower_iter, *a_iter; OBJECT *pin_attrib; #ifdef DEBUG fflush(stderr); fflush(stdout); printf ("==== Enter s_sheet_data_add_master_pin_attrib_list_items()\n"); #endif if (verbose_mode) { printf (_("Start master pin attrib list creation.\n")); } /* ----- Iterate through all objects found on page looking for components ----- */ for (o_iter = obj_list; o_iter != NULL; o_iter = g_list_next (o_iter)) { OBJECT *o_current = (OBJECT*) o_iter->data; #ifdef DEBUG printf ("s_sheet_data_add_master_pin_attrib_list_items: "); printf ("Examining o_current->name = %s\n", o_current->name); #endif if (o_current->type == OBJ_COMPONENT) { temp_uref = s_attrib_get_refdes(o_current); if (temp_uref != NULL) { /* make sure object component has a refdes */ /* ----- Now iterate through lower level objects looking for pins. ----- */ for (o_lower_iter = o_current->component->prim_objs; o_lower_iter != NULL; o_lower_iter = g_list_next (o_lower_iter)) { OBJECT *o_lower_current = (OBJECT*) o_lower_iter->data; #if DEBUG printf ("s_sheet_data_add_master_pin_attrib_list_items: "); printf ("Examining component refdes = %s\n", temp_uref); #endif if (o_lower_current->type == OBJ_PIN) { /* ----- Found a pin. Now get attrib head and loop on attribs. ----- */ a_iter = o_lower_current->attribs; while (a_iter != NULL) { pin_attrib = (OBJECT*) a_iter->data; if (pin_attrib->type == OBJ_TEXT && pin_attrib->text != NULL) { /* found an attribute */ attrib_text = g_strdup(geda_text_object_get_string (pin_attrib)); attrib_name = u_basic_breakup_string(attrib_text, '=', 0); attrib_value = s_misc_remaining_string(attrib_text, '=', 1); if ( (strcmp(attrib_name, "pinnumber") != 0) && (attrib_value != NULL) ) { /* Don't include "pinnumber" because it is already in other master list. * Also guard against pathalogical symbols which have non-attrib text inside pins. */ #if DEBUG printf ("s_sheet_data_add_master_pin_attrib_list_items: "); printf ("Found pin attrib = %s\n", attrib_name); printf ("Add it to master_pin_attrib_list.\n"); #endif s_string_list_add_item(sheet_head->master_pin_attrib_list_head, &(sheet_head->pin_attrib_count), attrib_name); } /* if (strcmp(attrib_name, "pinnumber") != 0) */ g_free(attrib_value); g_free(attrib_name); g_free(attrib_text); } a_iter = g_list_next (a_iter); } /* while (pin_attrib != NULL) */ } } g_free(temp_uref); } /* if (temp_uref != NULL ) */ } /* if (o_current->type == OBJ_COMPONENT) */ } return; } /*------------------------------------------------------------------*/ /*! * \brief Extract data from gtksheet * * This fcn extracts the attribs from the gtksheet widget * cells, and places them back into SHEET_DATA. This is the * first step in saving out a project. Right now I just invoke * s_table_gtksheet_to_table. Do I need to do anything else here? */ void s_sheet_data_gtksheet_to_sheetdata() { s_table_gtksheet_to_all_tables(); /* do I need to do anything else here? */ return; } lepton-eda-1.9.10/attrib/src/gtkextra-marshal.c0000644000175000017500000010030113634703632016253 00000000000000#ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include "gtkextra-marshal.h" #ifdef G_ENABLE_DEBUG #define g_marshal_value_peek_boolean(v) g_value_get_boolean (v) #define g_marshal_value_peek_char(v) g_value_get_char (v) #define g_marshal_value_peek_uchar(v) g_value_get_uchar (v) #define g_marshal_value_peek_int(v) g_value_get_int (v) #define g_marshal_value_peek_uint(v) g_value_get_uint (v) #define g_marshal_value_peek_long(v) g_value_get_long (v) #define g_marshal_value_peek_ulong(v) g_value_get_ulong (v) #define g_marshal_value_peek_int64(v) g_value_get_int64 (v) #define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v) #define g_marshal_value_peek_enum(v) g_value_get_enum (v) #define g_marshal_value_peek_flags(v) g_value_get_flags (v) #define g_marshal_value_peek_float(v) g_value_get_float (v) #define g_marshal_value_peek_double(v) g_value_get_double (v) #define g_marshal_value_peek_string(v) (char*) g_value_get_string (v) #define g_marshal_value_peek_param(v) g_value_get_param (v) #define g_marshal_value_peek_boxed(v) g_value_get_boxed (v) #define g_marshal_value_peek_pointer(v) g_value_get_pointer (v) #define g_marshal_value_peek_object(v) g_value_get_object (v) #else /* !G_ENABLE_DEBUG */ /* WARNING: This code accesses GValues directly, which is UNSUPPORTED API. * Do not access GValues directly in your code. Instead, use the * g_value_get_*() functions */ #define g_marshal_value_peek_boolean(v) (v)->data[0].v_int #define g_marshal_value_peek_char(v) (v)->data[0].v_int #define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint #define g_marshal_value_peek_int(v) (v)->data[0].v_int #define g_marshal_value_peek_uint(v) (v)->data[0].v_uint #define g_marshal_value_peek_long(v) (v)->data[0].v_long #define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong #define g_marshal_value_peek_int64(v) (v)->data[0].v_int64 #define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64 #define g_marshal_value_peek_enum(v) (v)->data[0].v_int #define g_marshal_value_peek_flags(v) (v)->data[0].v_uint #define g_marshal_value_peek_float(v) (v)->data[0].v_float #define g_marshal_value_peek_double(v) (v)->data[0].v_double #define g_marshal_value_peek_string(v) (v)->data[0].v_pointer #define g_marshal_value_peek_param(v) (v)->data[0].v_pointer #define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer #define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer #define g_marshal_value_peek_object(v) (v)->data[0].v_pointer #endif /* !G_ENABLE_DEBUG */ /* BOOL:INT,INT,POINTER,POINTER (gtkextra-marshal.list:1) */ void gtkextra_BOOLEAN__INT_INT_POINTER_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__INT_INT_POINTER_POINTER) (gpointer data1, gint arg_1, gint arg_2, gpointer arg_3, gpointer arg_4, gpointer data2); register GMarshalFunc_BOOLEAN__INT_INT_POINTER_POINTER callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 5); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__INT_INT_POINTER_POINTER) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_int (param_values + 1), g_marshal_value_peek_int (param_values + 2), g_marshal_value_peek_pointer (param_values + 3), g_marshal_value_peek_pointer (param_values + 4), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:BOXED,POINTER (gtkextra-marshal.list:2) */ void gtkextra_BOOLEAN__BOXED_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__BOXED_POINTER) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_BOOLEAN__BOXED_POINTER callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__BOXED_POINTER) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_boxed (param_values + 1), g_marshal_value_peek_pointer (param_values + 2), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:BOXED,STRING (gtkextra-marshal.list:3) */ void gtkextra_BOOLEAN__BOXED_STRING (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__BOXED_STRING) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_BOOLEAN__BOXED_STRING callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__BOXED_STRING) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_boxed (param_values + 1), g_marshal_value_peek_string (param_values + 2), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:BOXED,BOXED (gtkextra-marshal.list:4) */ void gtkextra_BOOLEAN__BOXED_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__BOXED_BOXED) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_BOOLEAN__BOXED_BOXED callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__BOXED_BOXED) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_boxed (param_values + 1), g_marshal_value_peek_boxed (param_values + 2), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:BOXED,DOUBLE,DOUBLE (gtkextra-marshal.list:5) */ void gtkextra_BOOLEAN__BOXED_DOUBLE_DOUBLE (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__BOXED_DOUBLE_DOUBLE) (gpointer data1, gpointer arg_1, gdouble arg_2, gdouble arg_3, gpointer data2); register GMarshalFunc_BOOLEAN__BOXED_DOUBLE_DOUBLE callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 4); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__BOXED_DOUBLE_DOUBLE) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_boxed (param_values + 1), g_marshal_value_peek_double (param_values + 2), g_marshal_value_peek_double (param_values + 3), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:POINTER,POINTER (gtkextra-marshal.list:6) */ void gtkextra_BOOLEAN__POINTER_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__POINTER_POINTER) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_BOOLEAN__POINTER_POINTER callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__POINTER_POINTER) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_pointer (param_values + 1), g_marshal_value_peek_pointer (param_values + 2), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:POINTER,BOXED (gtkextra-marshal.list:7) */ void gtkextra_BOOLEAN__POINTER_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__POINTER_BOXED) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_BOOLEAN__POINTER_BOXED callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__POINTER_BOXED) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_pointer (param_values + 1), g_marshal_value_peek_boxed (param_values + 2), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:POINTER,STRING (gtkextra-marshal.list:8) */ void gtkextra_BOOLEAN__POINTER_STRING (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__POINTER_STRING) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_BOOLEAN__POINTER_STRING callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__POINTER_STRING) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_pointer (param_values + 1), g_marshal_value_peek_string (param_values + 2), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:POINTER (gtkextra-marshal.list:9) */ void gtkextra_BOOLEAN__POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__POINTER) (gpointer data1, gpointer arg_1, gpointer data2); register GMarshalFunc_BOOLEAN__POINTER callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 2); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__POINTER) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_pointer (param_values + 1), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:BOXED (gtkextra-marshal.list:10) */ void gtkextra_BOOLEAN__BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__BOXED) (gpointer data1, gpointer arg_1, gpointer data2); register GMarshalFunc_BOOLEAN__BOXED callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 2); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__BOXED) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_boxed (param_values + 1), data2); g_value_set_boolean (return_value, v_return); } /* BOOL:INT,INT (gtkextra-marshal.list:11) */ void gtkextra_BOOLEAN__INT_INT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__INT_INT) (gpointer data1, gint arg_1, gint arg_2, gpointer data2); register GMarshalFunc_BOOLEAN__INT_INT callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__INT_INT) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_int (param_values + 1), g_marshal_value_peek_int (param_values + 2), data2); g_value_set_boolean (return_value, v_return); } /* VOID:INT (gtkextra-marshal.list:12) */ /* VOID:INT,STRING (gtkextra-marshal.list:13) */ void gtkextra_VOID__INT_STRING (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__INT_STRING) (gpointer data1, gint arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_VOID__INT_STRING callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__INT_STRING) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_int (param_values + 1), g_marshal_value_peek_string (param_values + 2), data2); } /* VOID:BOXED (gtkextra-marshal.list:14) */ /* VOID:VOID (gtkextra-marshal.list:15) */ /* VOID:BOOL (gtkextra-marshal.list:16) */ /* VOID:POINTER (gtkextra-marshal.list:17) */ /* VOID:INT,INT (gtkextra-marshal.list:18) */ void gtkextra_VOID__INT_INT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__INT_INT) (gpointer data1, gint arg_1, gint arg_2, gpointer data2); register GMarshalFunc_VOID__INT_INT callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__INT_INT) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_int (param_values + 1), g_marshal_value_peek_int (param_values + 2), data2); } /* VOID:INT,POINTER (gtkextra-marshal.list:19) */ void gtkextra_VOID__INT_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__INT_POINTER) (gpointer data1, gint arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_VOID__INT_POINTER callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__INT_POINTER) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_int (param_values + 1), g_marshal_value_peek_pointer (param_values + 2), data2); } /* VOID:INT,BOXED (gtkextra-marshal.list:20) */ void gtkextra_VOID__INT_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__INT_BOXED) (gpointer data1, gint arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_VOID__INT_BOXED callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__INT_BOXED) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_int (param_values + 1), g_marshal_value_peek_boxed (param_values + 2), data2); } /* VOID:POINTER,POINTER (gtkextra-marshal.list:21) */ void gtkextra_VOID__POINTER_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__POINTER_POINTER) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_VOID__POINTER_POINTER callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__POINTER_POINTER) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_pointer (param_values + 1), g_marshal_value_peek_pointer (param_values + 2), data2); } /* VOID:BOXED,POINTER (gtkextra-marshal.list:22) */ void gtkextra_VOID__BOXED_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__BOXED_POINTER) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_VOID__BOXED_POINTER callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__BOXED_POINTER) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_boxed (param_values + 1), g_marshal_value_peek_pointer (param_values + 2), data2); } /* VOID:BOXED,BOXED (gtkextra-marshal.list:23) */ void gtkextra_VOID__BOXED_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__BOXED_BOXED) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_VOID__BOXED_BOXED callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__BOXED_BOXED) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_boxed (param_values + 1), g_marshal_value_peek_boxed (param_values + 2), data2); } /* VOID:OBJECT,OBJECT (gtkextra-marshal.list:24) */ void gtkextra_VOID__OBJECT_OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_VOID__OBJECT_OBJECT callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_object (param_values + 1), g_marshal_value_peek_object (param_values + 2), data2); } /* VOID:DOUBLE,DOUBLE,DOUBLE,DOUBLE (gtkextra-marshal.list:25) */ void gtkextra_VOID__DOUBLE_DOUBLE_DOUBLE_DOUBLE (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__DOUBLE_DOUBLE_DOUBLE_DOUBLE) (gpointer data1, gdouble arg_1, gdouble arg_2, gdouble arg_3, gdouble arg_4, gpointer data2); register GMarshalFunc_VOID__DOUBLE_DOUBLE_DOUBLE_DOUBLE callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 5); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__DOUBLE_DOUBLE_DOUBLE_DOUBLE) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_double (param_values + 1), g_marshal_value_peek_double (param_values + 2), g_marshal_value_peek_double (param_values + 3), g_marshal_value_peek_double (param_values + 4), data2); } lepton-eda-1.9.10/attrib/src/s_visibility.c0000644000175000017500000002473113634703632015522 00000000000000/* Lepton EDA attribute editor * Copyright (C) 2003-2010 Stuart D. Brorson. * Copyright (C) 2003-2013 gEDA Contributors * Copyright (C) 2017-2020 Lepton EDA Contributors * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*------------------------------------------------------------------*/ /*! \file * \brief Functions to manipulate attribute visibility * * This file holds widgets and functions used in conjunction * with setting attribute visibility. * \todo There seems to be a lot of duplicated code in this file - * a good candidate for refactoring. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif /*------------------------------------------------------------------ * Includes required to run graphical widgets. *------------------------------------------------------------------*/ #include #include #include #include #include #include #include #include #ifdef HAVE_SYS_PARAM_H #include #endif #include #ifdef HAVE_UNISTD_H #include #endif #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" /* ----- s_visibility stuff begins here ----- */ /* ---------------------------------------------------------------------- */ /* \brief Set the selected cells to INVISIBLE * * * This sets the selected cells to INVISIBLE. * This function is called from the menu, it assumes you have * selected a range of cells which are carried in the global * variable "sheet". */ void s_visibility_set_invisible() { gint i, j; gint row_start, row_end, col_start, col_end; GtkSheet *sheet; gint cur_page; cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); sheet = sheets[cur_page]; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); switch (sheet->state) { case GTK_SHEET_RANGE_SELECTED: case GTK_SHEET_COLUMN_SELECTED: case GTK_SHEET_ROW_SELECTED: #ifdef DEBUG printf ("s_visibility_set_invisible: "); printf ("Range/col/row selected.\n"); #endif row_start = sheet->range.row0; row_end = sheet->range.rowi; col_start = sheet->range.col0; col_end = sheet->range.coli; for (i=row_start; i<=row_end; i++) { for (j=col_start; j<=col_end; j++) { /* first set cell in SHEET_DATA to invisible */ s_visibility_set_cell(cur_page, i, j, INVISIBLE, LEAVE_NAME_VALUE_ALONE); /* Now set cell in gtksheet to desired color */ /* Color names are defined * in liblepton/include/colors.h */ x_gtksheet_set_cell_text_color(sheet, i, j, GREY); } } /* Now return sheet to normal -- unselect range */ gtk_sheet_unselect_range (sheet); break; case GTK_SHEET_NORMAL: #ifdef DEBUG printf ("s_visibility_set_invisible: "); printf ("Normal selection.\n"); #endif s_visibility_set_cell(cur_page, sheet->active_cell.row, sheet->active_cell.col, INVISIBLE, LEAVE_NAME_VALUE_ALONE); x_gtksheet_set_cell_text_color(sheet, sheet->active_cell.row, sheet->active_cell.col, GREY); break; } } /* ---------------------------------------------------------------------- */ /*! \brief Set the visibility of the selected cells to NAME_ONLY. * * This sets the selected cells to NAME_ONLY. * This function is invoked from the menu, it assumes you have * selected a range of cells which are carried in the global * variable "sheet". */ void s_visibility_set_name_only() { gint i, j; gint row_start, row_end, col_start, col_end; GtkSheet *sheet; gint cur_page; cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); sheet = sheets[cur_page]; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); switch (sheet->state) { case GTK_SHEET_RANGE_SELECTED: case GTK_SHEET_COLUMN_SELECTED: case GTK_SHEET_ROW_SELECTED: #ifdef DEBUG printf ("s_visibility_set_name_only: "); printf ("Range/col/row selected.\n"); #endif row_start = sheet->range.row0; row_end = sheet->range.rowi; col_start = sheet->range.col0; col_end = sheet->range.coli; for (i=row_start; i<=row_end; i++) { for (j=col_start; j<=col_end; j++) { s_visibility_set_cell(cur_page, i, j, VISIBLE, SHOW_NAME); /* Color names are defined * in liblepton/include/colors.h */ x_gtksheet_set_cell_text_color(sheet, i, j, RED); } } /* Now return sheet to normal -- unselect range */ gtk_sheet_unselect_range (sheet); break; case GTK_SHEET_NORMAL: s_visibility_set_cell(cur_page, sheet->active_cell.row, sheet->active_cell.col, VISIBLE, SHOW_NAME); x_gtksheet_set_cell_text_color(sheet, sheet->active_cell.row, sheet->active_cell.col, RED); break; } } /* ---------------------------------------------------------------------- */ /* \brief Set the selected cells' visibility to VALUE_ONLY * * s_visibility_set_value_only -- This sets the selected cells to VALUE_ONLY. * This fcn is invoked from the menu, it assumes you have * selected a range of cells which are carried in the global * variable "sheet". */ void s_visibility_set_value_only() { gint i, j; gint row_start, row_end, col_start, col_end; GtkSheet *sheet; gint cur_page; cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); sheet = sheets[cur_page]; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); switch (sheet->state) { case GTK_SHEET_RANGE_SELECTED: case GTK_SHEET_COLUMN_SELECTED: case GTK_SHEET_ROW_SELECTED: #ifdef DEBUG printf ("s_visibility_set_value_only: "); printf ("Range/col/row selected.\n"); #endif row_start = sheet->range.row0; row_end = sheet->range.rowi; col_start = sheet->range.col0; col_end = sheet->range.coli; for (i=row_start; i<=row_end; i++) { for (j=col_start; j<=col_end; j++) { s_visibility_set_cell(cur_page, i, j, VISIBLE, SHOW_VALUE); /* Color names are defined * in liblepton/include/colors.h */ x_gtksheet_set_cell_text_color(sheet, i, j, BLACK); } } /* Now return sheet to normal -- unselect range */ gtk_sheet_unselect_range (sheet); break; case GTK_SHEET_NORMAL: #ifdef DEBUG printf ("s_visibility_set_value_only: "); printf ("Sheet normal selected.\n"); #endif s_visibility_set_cell(cur_page, sheet->active_cell.row, sheet->active_cell.col, VISIBLE, SHOW_VALUE); x_gtksheet_set_cell_text_color(sheet, sheet->active_cell.row, sheet->active_cell.col, BLACK); break; } } /* ---------------------------------------------------------------------- */ /* \brief Set the visibility of the selected cells to NAME_AND_VALUE * * This sets the selected cells * to NAME_AND_VALUE * This fcn is invoked from the menu, it assumes you have * selected a range of cells which are carried in the global * variable "sheet". * */ void s_visibility_set_name_and_value() { gint i, j; gint row_start, row_end, col_start, col_end; GtkSheet *sheet; gint cur_page; cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); sheet = sheets[cur_page]; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); switch (sheet->state) { case GTK_SHEET_RANGE_SELECTED: case GTK_SHEET_COLUMN_SELECTED: case GTK_SHEET_ROW_SELECTED: row_start = sheet->range.row0; row_end = sheet->range.rowi; col_start = sheet->range.col0; col_end = sheet->range.coli; for (i=row_start; i<=row_end; i++) { for (j=col_start; j<=col_end; j++) { s_visibility_set_cell(cur_page, i, j, VISIBLE, SHOW_NAME_VALUE); /* Color names are defined * in liblepton/include/colors.h */ x_gtksheet_set_cell_text_color(sheet, i, j, BLUE); } } /* Now return sheet to normal -- unselect range */ gtk_sheet_unselect_range (sheet); break; case GTK_SHEET_NORMAL: s_visibility_set_cell(cur_page, sheet->active_cell.row, sheet->active_cell.col, VISIBLE, SHOW_NAME_VALUE); x_gtksheet_set_cell_text_color(sheet, sheet->active_cell.row, sheet->active_cell.col, BLUE); break; } } /* ================== Private functions =================== */ /* ---------------------------------------------------------------------- */ /* \brief set the visibility of an individual cell * * Set the visibility of an individual cell * to "state". The cell is identified by (row, col) * \param cur_page index of spreadsheet tab * \param row Row index of target cell * \param col Column index of target cell * \param visibility Visibility value to set cell to * \param show_name_value Name, Value visibility flag */ void s_visibility_set_cell(gint cur_page, gint row, gint col, gint visibility, gint show_name_value) { TABLE **local_table = NULL; #ifdef DEBUG printf ("s_visibility_set_cell: "); printf ("Setting row = %d, col = %d.\n", row, col); #endif switch (cur_page) { case 0: local_table = sheet_head->component_table; break; case 1: local_table = sheet_head->net_table; break; case 2: local_table = sheet_head->pin_table; break; } /* Question: how to sanity check (row, col) selection? */ local_table[row][col].visibility = visibility; sheet_head->CHANGED = 1; /* cell has been updated. */ if (show_name_value != LEAVE_NAME_VALUE_ALONE) { local_table[row][col].show_name_value = show_name_value; sheet_head->CHANGED = 1; /* cell has been updated. */ } } lepton-eda-1.9.10/attrib/src/Makefile.in0000644000175000017500000021603613634703704014713 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = lepton-attrib$(EXEEXT) subdir = attrib/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/geda-assert.m4 \ $(top_srcdir)/m4/geda-awk.m4 $(top_srcdir)/m4/geda-cairo.m4 \ $(top_srcdir)/m4/geda-contrib.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-liblepton.m4 \ $(top_srcdir)/m4/geda-libleptonrenderer.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lepton-data-dirs.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pcb-data-dirs.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am_lepton_attrib_OBJECTS = lepton_attrib-gtksheet_2_2.$(OBJEXT) \ lepton_attrib-gtkextra-marshal.$(OBJEXT) \ lepton_attrib-globals.$(OBJEXT) \ lepton_attrib-listsort.$(OBJEXT) \ lepton_attrib-parsecmd.$(OBJEXT) \ lepton_attrib-f_export.$(OBJEXT) \ lepton_attrib-i_vars.$(OBJEXT) lepton_attrib-i_basic.$(OBJEXT) \ lepton_attrib-x_window.$(OBJEXT) \ lepton_attrib-x_gtksheet.$(OBJEXT) \ lepton_attrib-x_dialog.$(OBJEXT) \ lepton_attrib-x_fileselect.$(OBJEXT) \ lepton_attrib-s_misc.$(OBJEXT) \ lepton_attrib-s_string_list.$(OBJEXT) \ lepton_attrib-s_sheet_data.$(OBJEXT) \ lepton_attrib-s_table.$(OBJEXT) \ lepton_attrib-s_object.$(OBJEXT) \ lepton_attrib-s_attrib.$(OBJEXT) \ lepton_attrib-s_toplevel.$(OBJEXT) \ lepton_attrib-s_visibility.$(OBJEXT) \ lepton_attrib-lepton-attrib.$(OBJEXT) lepton_attrib_OBJECTS = $(am_lepton_attrib_OBJECTS) lepton_attrib_DEPENDENCIES = \ $(top_builddir)/liblepton/src/liblepton.la AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = lepton_attrib_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(lepton_attrib_CFLAGS) \ $(CFLAGS) $(lepton_attrib_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-tools/depcomp am__maybe_remake_depfiles = depfiles am__depfiles_remade = ./$(DEPDIR)/lepton_attrib-f_export.Po \ ./$(DEPDIR)/lepton_attrib-globals.Po \ ./$(DEPDIR)/lepton_attrib-gtkextra-marshal.Po \ ./$(DEPDIR)/lepton_attrib-gtksheet_2_2.Po \ ./$(DEPDIR)/lepton_attrib-i_basic.Po \ ./$(DEPDIR)/lepton_attrib-i_vars.Po \ ./$(DEPDIR)/lepton_attrib-lepton-attrib.Po \ ./$(DEPDIR)/lepton_attrib-listsort.Po \ ./$(DEPDIR)/lepton_attrib-parsecmd.Po \ ./$(DEPDIR)/lepton_attrib-s_attrib.Po \ ./$(DEPDIR)/lepton_attrib-s_misc.Po \ ./$(DEPDIR)/lepton_attrib-s_object.Po \ ./$(DEPDIR)/lepton_attrib-s_sheet_data.Po \ ./$(DEPDIR)/lepton_attrib-s_string_list.Po \ ./$(DEPDIR)/lepton_attrib-s_table.Po \ ./$(DEPDIR)/lepton_attrib-s_toplevel.Po \ ./$(DEPDIR)/lepton_attrib-s_visibility.Po \ ./$(DEPDIR)/lepton_attrib-x_dialog.Po \ ./$(DEPDIR)/lepton_attrib-x_fileselect.Po \ ./$(DEPDIR)/lepton_attrib-x_gtksheet.Po \ ./$(DEPDIR)/lepton_attrib-x_window.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(lepton_attrib_SOURCES) DIST_SOURCES = $(lepton_attrib_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in \ $(top_srcdir)/build-tools/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITMAP_DIRECTORY = @BITMAP_DIRECTORY@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CAIRO_PDF_CFLAGS = @CAIRO_PDF_CFLAGS@ CAIRO_PDF_LIBS = @CAIRO_PDF_LIBS@ CAIRO_PNG_CFLAGS = @CAIRO_PNG_CFLAGS@ CAIRO_PNG_LIBS = @CAIRO_PNG_LIBS@ CAIRO_PS_CFLAGS = @CAIRO_PS_CFLAGS@ CAIRO_PS_LIBS = @CAIRO_PS_LIBS@ CAIRO_SVG_CFLAGS = @CAIRO_SVG_CFLAGS@ CAIRO_SVG_LIBS = @CAIRO_SVG_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATE_VERSION = @DATE_VERSION@ DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOT = @DOT@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LIBS = @GDK_LIBS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GETTEXT = @GETTEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIT = @GIT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILD = @GUILD@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_EFFECTIVE_VERSION = @GUILE_EFFECTIVE_VERSION@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_LTLIBS = @GUILE_LTLIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEPTONDATADIR = @LEPTONDATADIR@ LEPTON_SCM_PRECOMPILE_DIR = @LEPTON_SCM_PRECOMPILE_DIR@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBLEPTONRENDERER_SHLIB_VERSION = @LIBLEPTONRENDERER_SHLIB_VERSION@ LIBLEPTON_GETTEXT_DOMAIN = @LIBLEPTON_GETTEXT_DOMAIN@ LIBLEPTON_SHLIB_VERSION = @LIBLEPTON_SHLIB_VERSION@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGOCAIRO_CFLAGS = @PANGOCAIRO_CFLAGS@ PANGOCAIRO_LIBS = @PANGOCAIRO_LIBS@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @datadir@/locale localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lepton_attrib_SOURCES = \ gtksheet_2_2.c \ gtkextra-marshal.c \ globals.c \ listsort.c \ parsecmd.c \ f_export.c \ i_vars.c \ i_basic.c \ x_window.c \ x_gtksheet.c \ x_dialog.c \ x_fileselect.c \ s_misc.c \ s_string_list.c \ s_sheet_data.c \ s_table.c \ s_object.c \ s_attrib.c \ s_toplevel.c \ s_visibility.c \ lepton-attrib.c lepton_attrib_CPPFLAGS = -I$(top_srcdir)/liblepton/include \ -I$(srcdir)/../include -I$(top_srcdir) -I$(includedir) lepton_attrib_CFLAGS = $(GCC_CFLAGS) $(GLIB_CFLAGS) \ $(MINGW_CFLAGS) \ $(GTK_CFLAGS) $(GTHREAD_CFLAGS) $(GUILE_CFLAGS) lepton_attrib_LDFLAGS = $(GLIB_LIBS) $(GTK_LIBS) $(GTHREAD_LIBS) \ $(GUILE_LIBS) $(MINGW_GUI_LDFLAGS) lepton_attrib_LDADD = $(top_builddir)/liblepton/src/liblepton.la all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign attrib/src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign attrib/src/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ || test -f $$p1 \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list lepton-attrib$(EXEEXT): $(lepton_attrib_OBJECTS) $(lepton_attrib_DEPENDENCIES) $(EXTRA_lepton_attrib_DEPENDENCIES) @rm -f lepton-attrib$(EXEEXT) $(AM_V_CCLD)$(lepton_attrib_LINK) $(lepton_attrib_OBJECTS) $(lepton_attrib_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-f_export.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-globals.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-gtkextra-marshal.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-gtksheet_2_2.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-i_basic.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-i_vars.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-lepton-attrib.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-listsort.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-parsecmd.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-s_attrib.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-s_misc.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-s_object.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-s_sheet_data.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-s_string_list.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-s_table.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-s_toplevel.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-s_visibility.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-x_dialog.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-x_fileselect.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-x_gtksheet.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lepton_attrib-x_window.Po@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @echo '# dummy' >$@-t && $(am__mv) $@-t $@ am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< lepton_attrib-gtksheet_2_2.o: gtksheet_2_2.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-gtksheet_2_2.o -MD -MP -MF $(DEPDIR)/lepton_attrib-gtksheet_2_2.Tpo -c -o lepton_attrib-gtksheet_2_2.o `test -f 'gtksheet_2_2.c' || echo '$(srcdir)/'`gtksheet_2_2.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-gtksheet_2_2.Tpo $(DEPDIR)/lepton_attrib-gtksheet_2_2.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gtksheet_2_2.c' object='lepton_attrib-gtksheet_2_2.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-gtksheet_2_2.o `test -f 'gtksheet_2_2.c' || echo '$(srcdir)/'`gtksheet_2_2.c lepton_attrib-gtksheet_2_2.obj: gtksheet_2_2.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-gtksheet_2_2.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-gtksheet_2_2.Tpo -c -o lepton_attrib-gtksheet_2_2.obj `if test -f 'gtksheet_2_2.c'; then $(CYGPATH_W) 'gtksheet_2_2.c'; else $(CYGPATH_W) '$(srcdir)/gtksheet_2_2.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-gtksheet_2_2.Tpo $(DEPDIR)/lepton_attrib-gtksheet_2_2.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gtksheet_2_2.c' object='lepton_attrib-gtksheet_2_2.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-gtksheet_2_2.obj `if test -f 'gtksheet_2_2.c'; then $(CYGPATH_W) 'gtksheet_2_2.c'; else $(CYGPATH_W) '$(srcdir)/gtksheet_2_2.c'; fi` lepton_attrib-gtkextra-marshal.o: gtkextra-marshal.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-gtkextra-marshal.o -MD -MP -MF $(DEPDIR)/lepton_attrib-gtkextra-marshal.Tpo -c -o lepton_attrib-gtkextra-marshal.o `test -f 'gtkextra-marshal.c' || echo '$(srcdir)/'`gtkextra-marshal.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-gtkextra-marshal.Tpo $(DEPDIR)/lepton_attrib-gtkextra-marshal.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gtkextra-marshal.c' object='lepton_attrib-gtkextra-marshal.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-gtkextra-marshal.o `test -f 'gtkextra-marshal.c' || echo '$(srcdir)/'`gtkextra-marshal.c lepton_attrib-gtkextra-marshal.obj: gtkextra-marshal.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-gtkextra-marshal.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-gtkextra-marshal.Tpo -c -o lepton_attrib-gtkextra-marshal.obj `if test -f 'gtkextra-marshal.c'; then $(CYGPATH_W) 'gtkextra-marshal.c'; else $(CYGPATH_W) '$(srcdir)/gtkextra-marshal.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-gtkextra-marshal.Tpo $(DEPDIR)/lepton_attrib-gtkextra-marshal.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gtkextra-marshal.c' object='lepton_attrib-gtkextra-marshal.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-gtkextra-marshal.obj `if test -f 'gtkextra-marshal.c'; then $(CYGPATH_W) 'gtkextra-marshal.c'; else $(CYGPATH_W) '$(srcdir)/gtkextra-marshal.c'; fi` lepton_attrib-globals.o: globals.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-globals.o -MD -MP -MF $(DEPDIR)/lepton_attrib-globals.Tpo -c -o lepton_attrib-globals.o `test -f 'globals.c' || echo '$(srcdir)/'`globals.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-globals.Tpo $(DEPDIR)/lepton_attrib-globals.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='globals.c' object='lepton_attrib-globals.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-globals.o `test -f 'globals.c' || echo '$(srcdir)/'`globals.c lepton_attrib-globals.obj: globals.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-globals.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-globals.Tpo -c -o lepton_attrib-globals.obj `if test -f 'globals.c'; then $(CYGPATH_W) 'globals.c'; else $(CYGPATH_W) '$(srcdir)/globals.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-globals.Tpo $(DEPDIR)/lepton_attrib-globals.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='globals.c' object='lepton_attrib-globals.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-globals.obj `if test -f 'globals.c'; then $(CYGPATH_W) 'globals.c'; else $(CYGPATH_W) '$(srcdir)/globals.c'; fi` lepton_attrib-listsort.o: listsort.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-listsort.o -MD -MP -MF $(DEPDIR)/lepton_attrib-listsort.Tpo -c -o lepton_attrib-listsort.o `test -f 'listsort.c' || echo '$(srcdir)/'`listsort.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-listsort.Tpo $(DEPDIR)/lepton_attrib-listsort.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='listsort.c' object='lepton_attrib-listsort.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-listsort.o `test -f 'listsort.c' || echo '$(srcdir)/'`listsort.c lepton_attrib-listsort.obj: listsort.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-listsort.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-listsort.Tpo -c -o lepton_attrib-listsort.obj `if test -f 'listsort.c'; then $(CYGPATH_W) 'listsort.c'; else $(CYGPATH_W) '$(srcdir)/listsort.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-listsort.Tpo $(DEPDIR)/lepton_attrib-listsort.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='listsort.c' object='lepton_attrib-listsort.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-listsort.obj `if test -f 'listsort.c'; then $(CYGPATH_W) 'listsort.c'; else $(CYGPATH_W) '$(srcdir)/listsort.c'; fi` lepton_attrib-parsecmd.o: parsecmd.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-parsecmd.o -MD -MP -MF $(DEPDIR)/lepton_attrib-parsecmd.Tpo -c -o lepton_attrib-parsecmd.o `test -f 'parsecmd.c' || echo '$(srcdir)/'`parsecmd.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-parsecmd.Tpo $(DEPDIR)/lepton_attrib-parsecmd.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parsecmd.c' object='lepton_attrib-parsecmd.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-parsecmd.o `test -f 'parsecmd.c' || echo '$(srcdir)/'`parsecmd.c lepton_attrib-parsecmd.obj: parsecmd.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-parsecmd.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-parsecmd.Tpo -c -o lepton_attrib-parsecmd.obj `if test -f 'parsecmd.c'; then $(CYGPATH_W) 'parsecmd.c'; else $(CYGPATH_W) '$(srcdir)/parsecmd.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-parsecmd.Tpo $(DEPDIR)/lepton_attrib-parsecmd.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parsecmd.c' object='lepton_attrib-parsecmd.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-parsecmd.obj `if test -f 'parsecmd.c'; then $(CYGPATH_W) 'parsecmd.c'; else $(CYGPATH_W) '$(srcdir)/parsecmd.c'; fi` lepton_attrib-f_export.o: f_export.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-f_export.o -MD -MP -MF $(DEPDIR)/lepton_attrib-f_export.Tpo -c -o lepton_attrib-f_export.o `test -f 'f_export.c' || echo '$(srcdir)/'`f_export.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-f_export.Tpo $(DEPDIR)/lepton_attrib-f_export.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='f_export.c' object='lepton_attrib-f_export.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-f_export.o `test -f 'f_export.c' || echo '$(srcdir)/'`f_export.c lepton_attrib-f_export.obj: f_export.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-f_export.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-f_export.Tpo -c -o lepton_attrib-f_export.obj `if test -f 'f_export.c'; then $(CYGPATH_W) 'f_export.c'; else $(CYGPATH_W) '$(srcdir)/f_export.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-f_export.Tpo $(DEPDIR)/lepton_attrib-f_export.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='f_export.c' object='lepton_attrib-f_export.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-f_export.obj `if test -f 'f_export.c'; then $(CYGPATH_W) 'f_export.c'; else $(CYGPATH_W) '$(srcdir)/f_export.c'; fi` lepton_attrib-i_vars.o: i_vars.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-i_vars.o -MD -MP -MF $(DEPDIR)/lepton_attrib-i_vars.Tpo -c -o lepton_attrib-i_vars.o `test -f 'i_vars.c' || echo '$(srcdir)/'`i_vars.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-i_vars.Tpo $(DEPDIR)/lepton_attrib-i_vars.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_vars.c' object='lepton_attrib-i_vars.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-i_vars.o `test -f 'i_vars.c' || echo '$(srcdir)/'`i_vars.c lepton_attrib-i_vars.obj: i_vars.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-i_vars.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-i_vars.Tpo -c -o lepton_attrib-i_vars.obj `if test -f 'i_vars.c'; then $(CYGPATH_W) 'i_vars.c'; else $(CYGPATH_W) '$(srcdir)/i_vars.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-i_vars.Tpo $(DEPDIR)/lepton_attrib-i_vars.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_vars.c' object='lepton_attrib-i_vars.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-i_vars.obj `if test -f 'i_vars.c'; then $(CYGPATH_W) 'i_vars.c'; else $(CYGPATH_W) '$(srcdir)/i_vars.c'; fi` lepton_attrib-i_basic.o: i_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-i_basic.o -MD -MP -MF $(DEPDIR)/lepton_attrib-i_basic.Tpo -c -o lepton_attrib-i_basic.o `test -f 'i_basic.c' || echo '$(srcdir)/'`i_basic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-i_basic.Tpo $(DEPDIR)/lepton_attrib-i_basic.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_basic.c' object='lepton_attrib-i_basic.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-i_basic.o `test -f 'i_basic.c' || echo '$(srcdir)/'`i_basic.c lepton_attrib-i_basic.obj: i_basic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-i_basic.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-i_basic.Tpo -c -o lepton_attrib-i_basic.obj `if test -f 'i_basic.c'; then $(CYGPATH_W) 'i_basic.c'; else $(CYGPATH_W) '$(srcdir)/i_basic.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-i_basic.Tpo $(DEPDIR)/lepton_attrib-i_basic.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='i_basic.c' object='lepton_attrib-i_basic.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-i_basic.obj `if test -f 'i_basic.c'; then $(CYGPATH_W) 'i_basic.c'; else $(CYGPATH_W) '$(srcdir)/i_basic.c'; fi` lepton_attrib-x_window.o: x_window.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-x_window.o -MD -MP -MF $(DEPDIR)/lepton_attrib-x_window.Tpo -c -o lepton_attrib-x_window.o `test -f 'x_window.c' || echo '$(srcdir)/'`x_window.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-x_window.Tpo $(DEPDIR)/lepton_attrib-x_window.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_window.c' object='lepton_attrib-x_window.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-x_window.o `test -f 'x_window.c' || echo '$(srcdir)/'`x_window.c lepton_attrib-x_window.obj: x_window.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-x_window.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-x_window.Tpo -c -o lepton_attrib-x_window.obj `if test -f 'x_window.c'; then $(CYGPATH_W) 'x_window.c'; else $(CYGPATH_W) '$(srcdir)/x_window.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-x_window.Tpo $(DEPDIR)/lepton_attrib-x_window.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_window.c' object='lepton_attrib-x_window.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-x_window.obj `if test -f 'x_window.c'; then $(CYGPATH_W) 'x_window.c'; else $(CYGPATH_W) '$(srcdir)/x_window.c'; fi` lepton_attrib-x_gtksheet.o: x_gtksheet.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-x_gtksheet.o -MD -MP -MF $(DEPDIR)/lepton_attrib-x_gtksheet.Tpo -c -o lepton_attrib-x_gtksheet.o `test -f 'x_gtksheet.c' || echo '$(srcdir)/'`x_gtksheet.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-x_gtksheet.Tpo $(DEPDIR)/lepton_attrib-x_gtksheet.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_gtksheet.c' object='lepton_attrib-x_gtksheet.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-x_gtksheet.o `test -f 'x_gtksheet.c' || echo '$(srcdir)/'`x_gtksheet.c lepton_attrib-x_gtksheet.obj: x_gtksheet.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-x_gtksheet.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-x_gtksheet.Tpo -c -o lepton_attrib-x_gtksheet.obj `if test -f 'x_gtksheet.c'; then $(CYGPATH_W) 'x_gtksheet.c'; else $(CYGPATH_W) '$(srcdir)/x_gtksheet.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-x_gtksheet.Tpo $(DEPDIR)/lepton_attrib-x_gtksheet.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_gtksheet.c' object='lepton_attrib-x_gtksheet.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-x_gtksheet.obj `if test -f 'x_gtksheet.c'; then $(CYGPATH_W) 'x_gtksheet.c'; else $(CYGPATH_W) '$(srcdir)/x_gtksheet.c'; fi` lepton_attrib-x_dialog.o: x_dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-x_dialog.o -MD -MP -MF $(DEPDIR)/lepton_attrib-x_dialog.Tpo -c -o lepton_attrib-x_dialog.o `test -f 'x_dialog.c' || echo '$(srcdir)/'`x_dialog.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-x_dialog.Tpo $(DEPDIR)/lepton_attrib-x_dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_dialog.c' object='lepton_attrib-x_dialog.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-x_dialog.o `test -f 'x_dialog.c' || echo '$(srcdir)/'`x_dialog.c lepton_attrib-x_dialog.obj: x_dialog.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-x_dialog.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-x_dialog.Tpo -c -o lepton_attrib-x_dialog.obj `if test -f 'x_dialog.c'; then $(CYGPATH_W) 'x_dialog.c'; else $(CYGPATH_W) '$(srcdir)/x_dialog.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-x_dialog.Tpo $(DEPDIR)/lepton_attrib-x_dialog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_dialog.c' object='lepton_attrib-x_dialog.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-x_dialog.obj `if test -f 'x_dialog.c'; then $(CYGPATH_W) 'x_dialog.c'; else $(CYGPATH_W) '$(srcdir)/x_dialog.c'; fi` lepton_attrib-x_fileselect.o: x_fileselect.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-x_fileselect.o -MD -MP -MF $(DEPDIR)/lepton_attrib-x_fileselect.Tpo -c -o lepton_attrib-x_fileselect.o `test -f 'x_fileselect.c' || echo '$(srcdir)/'`x_fileselect.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-x_fileselect.Tpo $(DEPDIR)/lepton_attrib-x_fileselect.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_fileselect.c' object='lepton_attrib-x_fileselect.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-x_fileselect.o `test -f 'x_fileselect.c' || echo '$(srcdir)/'`x_fileselect.c lepton_attrib-x_fileselect.obj: x_fileselect.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-x_fileselect.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-x_fileselect.Tpo -c -o lepton_attrib-x_fileselect.obj `if test -f 'x_fileselect.c'; then $(CYGPATH_W) 'x_fileselect.c'; else $(CYGPATH_W) '$(srcdir)/x_fileselect.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-x_fileselect.Tpo $(DEPDIR)/lepton_attrib-x_fileselect.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x_fileselect.c' object='lepton_attrib-x_fileselect.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-x_fileselect.obj `if test -f 'x_fileselect.c'; then $(CYGPATH_W) 'x_fileselect.c'; else $(CYGPATH_W) '$(srcdir)/x_fileselect.c'; fi` lepton_attrib-s_misc.o: s_misc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-s_misc.o -MD -MP -MF $(DEPDIR)/lepton_attrib-s_misc.Tpo -c -o lepton_attrib-s_misc.o `test -f 's_misc.c' || echo '$(srcdir)/'`s_misc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-s_misc.Tpo $(DEPDIR)/lepton_attrib-s_misc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_misc.c' object='lepton_attrib-s_misc.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-s_misc.o `test -f 's_misc.c' || echo '$(srcdir)/'`s_misc.c lepton_attrib-s_misc.obj: s_misc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-s_misc.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-s_misc.Tpo -c -o lepton_attrib-s_misc.obj `if test -f 's_misc.c'; then $(CYGPATH_W) 's_misc.c'; else $(CYGPATH_W) '$(srcdir)/s_misc.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-s_misc.Tpo $(DEPDIR)/lepton_attrib-s_misc.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_misc.c' object='lepton_attrib-s_misc.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-s_misc.obj `if test -f 's_misc.c'; then $(CYGPATH_W) 's_misc.c'; else $(CYGPATH_W) '$(srcdir)/s_misc.c'; fi` lepton_attrib-s_string_list.o: s_string_list.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-s_string_list.o -MD -MP -MF $(DEPDIR)/lepton_attrib-s_string_list.Tpo -c -o lepton_attrib-s_string_list.o `test -f 's_string_list.c' || echo '$(srcdir)/'`s_string_list.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-s_string_list.Tpo $(DEPDIR)/lepton_attrib-s_string_list.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_string_list.c' object='lepton_attrib-s_string_list.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-s_string_list.o `test -f 's_string_list.c' || echo '$(srcdir)/'`s_string_list.c lepton_attrib-s_string_list.obj: s_string_list.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-s_string_list.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-s_string_list.Tpo -c -o lepton_attrib-s_string_list.obj `if test -f 's_string_list.c'; then $(CYGPATH_W) 's_string_list.c'; else $(CYGPATH_W) '$(srcdir)/s_string_list.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-s_string_list.Tpo $(DEPDIR)/lepton_attrib-s_string_list.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_string_list.c' object='lepton_attrib-s_string_list.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-s_string_list.obj `if test -f 's_string_list.c'; then $(CYGPATH_W) 's_string_list.c'; else $(CYGPATH_W) '$(srcdir)/s_string_list.c'; fi` lepton_attrib-s_sheet_data.o: s_sheet_data.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-s_sheet_data.o -MD -MP -MF $(DEPDIR)/lepton_attrib-s_sheet_data.Tpo -c -o lepton_attrib-s_sheet_data.o `test -f 's_sheet_data.c' || echo '$(srcdir)/'`s_sheet_data.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-s_sheet_data.Tpo $(DEPDIR)/lepton_attrib-s_sheet_data.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_sheet_data.c' object='lepton_attrib-s_sheet_data.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-s_sheet_data.o `test -f 's_sheet_data.c' || echo '$(srcdir)/'`s_sheet_data.c lepton_attrib-s_sheet_data.obj: s_sheet_data.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-s_sheet_data.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-s_sheet_data.Tpo -c -o lepton_attrib-s_sheet_data.obj `if test -f 's_sheet_data.c'; then $(CYGPATH_W) 's_sheet_data.c'; else $(CYGPATH_W) '$(srcdir)/s_sheet_data.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-s_sheet_data.Tpo $(DEPDIR)/lepton_attrib-s_sheet_data.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_sheet_data.c' object='lepton_attrib-s_sheet_data.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-s_sheet_data.obj `if test -f 's_sheet_data.c'; then $(CYGPATH_W) 's_sheet_data.c'; else $(CYGPATH_W) '$(srcdir)/s_sheet_data.c'; fi` lepton_attrib-s_table.o: s_table.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-s_table.o -MD -MP -MF $(DEPDIR)/lepton_attrib-s_table.Tpo -c -o lepton_attrib-s_table.o `test -f 's_table.c' || echo '$(srcdir)/'`s_table.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-s_table.Tpo $(DEPDIR)/lepton_attrib-s_table.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_table.c' object='lepton_attrib-s_table.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-s_table.o `test -f 's_table.c' || echo '$(srcdir)/'`s_table.c lepton_attrib-s_table.obj: s_table.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-s_table.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-s_table.Tpo -c -o lepton_attrib-s_table.obj `if test -f 's_table.c'; then $(CYGPATH_W) 's_table.c'; else $(CYGPATH_W) '$(srcdir)/s_table.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-s_table.Tpo $(DEPDIR)/lepton_attrib-s_table.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_table.c' object='lepton_attrib-s_table.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-s_table.obj `if test -f 's_table.c'; then $(CYGPATH_W) 's_table.c'; else $(CYGPATH_W) '$(srcdir)/s_table.c'; fi` lepton_attrib-s_object.o: s_object.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-s_object.o -MD -MP -MF $(DEPDIR)/lepton_attrib-s_object.Tpo -c -o lepton_attrib-s_object.o `test -f 's_object.c' || echo '$(srcdir)/'`s_object.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-s_object.Tpo $(DEPDIR)/lepton_attrib-s_object.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_object.c' object='lepton_attrib-s_object.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-s_object.o `test -f 's_object.c' || echo '$(srcdir)/'`s_object.c lepton_attrib-s_object.obj: s_object.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-s_object.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-s_object.Tpo -c -o lepton_attrib-s_object.obj `if test -f 's_object.c'; then $(CYGPATH_W) 's_object.c'; else $(CYGPATH_W) '$(srcdir)/s_object.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-s_object.Tpo $(DEPDIR)/lepton_attrib-s_object.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_object.c' object='lepton_attrib-s_object.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-s_object.obj `if test -f 's_object.c'; then $(CYGPATH_W) 's_object.c'; else $(CYGPATH_W) '$(srcdir)/s_object.c'; fi` lepton_attrib-s_attrib.o: s_attrib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-s_attrib.o -MD -MP -MF $(DEPDIR)/lepton_attrib-s_attrib.Tpo -c -o lepton_attrib-s_attrib.o `test -f 's_attrib.c' || echo '$(srcdir)/'`s_attrib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-s_attrib.Tpo $(DEPDIR)/lepton_attrib-s_attrib.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_attrib.c' object='lepton_attrib-s_attrib.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-s_attrib.o `test -f 's_attrib.c' || echo '$(srcdir)/'`s_attrib.c lepton_attrib-s_attrib.obj: s_attrib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-s_attrib.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-s_attrib.Tpo -c -o lepton_attrib-s_attrib.obj `if test -f 's_attrib.c'; then $(CYGPATH_W) 's_attrib.c'; else $(CYGPATH_W) '$(srcdir)/s_attrib.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-s_attrib.Tpo $(DEPDIR)/lepton_attrib-s_attrib.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_attrib.c' object='lepton_attrib-s_attrib.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-s_attrib.obj `if test -f 's_attrib.c'; then $(CYGPATH_W) 's_attrib.c'; else $(CYGPATH_W) '$(srcdir)/s_attrib.c'; fi` lepton_attrib-s_toplevel.o: s_toplevel.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-s_toplevel.o -MD -MP -MF $(DEPDIR)/lepton_attrib-s_toplevel.Tpo -c -o lepton_attrib-s_toplevel.o `test -f 's_toplevel.c' || echo '$(srcdir)/'`s_toplevel.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-s_toplevel.Tpo $(DEPDIR)/lepton_attrib-s_toplevel.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_toplevel.c' object='lepton_attrib-s_toplevel.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-s_toplevel.o `test -f 's_toplevel.c' || echo '$(srcdir)/'`s_toplevel.c lepton_attrib-s_toplevel.obj: s_toplevel.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-s_toplevel.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-s_toplevel.Tpo -c -o lepton_attrib-s_toplevel.obj `if test -f 's_toplevel.c'; then $(CYGPATH_W) 's_toplevel.c'; else $(CYGPATH_W) '$(srcdir)/s_toplevel.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-s_toplevel.Tpo $(DEPDIR)/lepton_attrib-s_toplevel.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_toplevel.c' object='lepton_attrib-s_toplevel.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-s_toplevel.obj `if test -f 's_toplevel.c'; then $(CYGPATH_W) 's_toplevel.c'; else $(CYGPATH_W) '$(srcdir)/s_toplevel.c'; fi` lepton_attrib-s_visibility.o: s_visibility.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-s_visibility.o -MD -MP -MF $(DEPDIR)/lepton_attrib-s_visibility.Tpo -c -o lepton_attrib-s_visibility.o `test -f 's_visibility.c' || echo '$(srcdir)/'`s_visibility.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-s_visibility.Tpo $(DEPDIR)/lepton_attrib-s_visibility.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_visibility.c' object='lepton_attrib-s_visibility.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-s_visibility.o `test -f 's_visibility.c' || echo '$(srcdir)/'`s_visibility.c lepton_attrib-s_visibility.obj: s_visibility.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-s_visibility.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-s_visibility.Tpo -c -o lepton_attrib-s_visibility.obj `if test -f 's_visibility.c'; then $(CYGPATH_W) 's_visibility.c'; else $(CYGPATH_W) '$(srcdir)/s_visibility.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-s_visibility.Tpo $(DEPDIR)/lepton_attrib-s_visibility.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='s_visibility.c' object='lepton_attrib-s_visibility.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-s_visibility.obj `if test -f 's_visibility.c'; then $(CYGPATH_W) 's_visibility.c'; else $(CYGPATH_W) '$(srcdir)/s_visibility.c'; fi` lepton_attrib-lepton-attrib.o: lepton-attrib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-lepton-attrib.o -MD -MP -MF $(DEPDIR)/lepton_attrib-lepton-attrib.Tpo -c -o lepton_attrib-lepton-attrib.o `test -f 'lepton-attrib.c' || echo '$(srcdir)/'`lepton-attrib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-lepton-attrib.Tpo $(DEPDIR)/lepton_attrib-lepton-attrib.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lepton-attrib.c' object='lepton_attrib-lepton-attrib.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-lepton-attrib.o `test -f 'lepton-attrib.c' || echo '$(srcdir)/'`lepton-attrib.c lepton_attrib-lepton-attrib.obj: lepton-attrib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -MT lepton_attrib-lepton-attrib.obj -MD -MP -MF $(DEPDIR)/lepton_attrib-lepton-attrib.Tpo -c -o lepton_attrib-lepton-attrib.obj `if test -f 'lepton-attrib.c'; then $(CYGPATH_W) 'lepton-attrib.c'; else $(CYGPATH_W) '$(srcdir)/lepton-attrib.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lepton_attrib-lepton-attrib.Tpo $(DEPDIR)/lepton_attrib-lepton-attrib.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lepton-attrib.c' object='lepton_attrib-lepton-attrib.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lepton_attrib_CPPFLAGS) $(CPPFLAGS) $(lepton_attrib_CFLAGS) $(CFLAGS) -c -o lepton_attrib-lepton-attrib.obj `if test -f 'lepton-attrib.c'; then $(CYGPATH_W) 'lepton-attrib.c'; else $(CYGPATH_W) '$(srcdir)/lepton-attrib.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f ./$(DEPDIR)/lepton_attrib-f_export.Po -rm -f ./$(DEPDIR)/lepton_attrib-globals.Po -rm -f ./$(DEPDIR)/lepton_attrib-gtkextra-marshal.Po -rm -f ./$(DEPDIR)/lepton_attrib-gtksheet_2_2.Po -rm -f ./$(DEPDIR)/lepton_attrib-i_basic.Po -rm -f ./$(DEPDIR)/lepton_attrib-i_vars.Po -rm -f ./$(DEPDIR)/lepton_attrib-lepton-attrib.Po -rm -f ./$(DEPDIR)/lepton_attrib-listsort.Po -rm -f ./$(DEPDIR)/lepton_attrib-parsecmd.Po -rm -f ./$(DEPDIR)/lepton_attrib-s_attrib.Po -rm -f ./$(DEPDIR)/lepton_attrib-s_misc.Po -rm -f ./$(DEPDIR)/lepton_attrib-s_object.Po -rm -f ./$(DEPDIR)/lepton_attrib-s_sheet_data.Po -rm -f ./$(DEPDIR)/lepton_attrib-s_string_list.Po -rm -f ./$(DEPDIR)/lepton_attrib-s_table.Po -rm -f ./$(DEPDIR)/lepton_attrib-s_toplevel.Po -rm -f ./$(DEPDIR)/lepton_attrib-s_visibility.Po -rm -f ./$(DEPDIR)/lepton_attrib-x_dialog.Po -rm -f ./$(DEPDIR)/lepton_attrib-x_fileselect.Po -rm -f ./$(DEPDIR)/lepton_attrib-x_gtksheet.Po -rm -f ./$(DEPDIR)/lepton_attrib-x_window.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f ./$(DEPDIR)/lepton_attrib-f_export.Po -rm -f ./$(DEPDIR)/lepton_attrib-globals.Po -rm -f ./$(DEPDIR)/lepton_attrib-gtkextra-marshal.Po -rm -f ./$(DEPDIR)/lepton_attrib-gtksheet_2_2.Po -rm -f ./$(DEPDIR)/lepton_attrib-i_basic.Po -rm -f ./$(DEPDIR)/lepton_attrib-i_vars.Po -rm -f ./$(DEPDIR)/lepton_attrib-lepton-attrib.Po -rm -f ./$(DEPDIR)/lepton_attrib-listsort.Po -rm -f ./$(DEPDIR)/lepton_attrib-parsecmd.Po -rm -f ./$(DEPDIR)/lepton_attrib-s_attrib.Po -rm -f ./$(DEPDIR)/lepton_attrib-s_misc.Po -rm -f ./$(DEPDIR)/lepton_attrib-s_object.Po -rm -f ./$(DEPDIR)/lepton_attrib-s_sheet_data.Po -rm -f ./$(DEPDIR)/lepton_attrib-s_string_list.Po -rm -f ./$(DEPDIR)/lepton_attrib-s_table.Po -rm -f ./$(DEPDIR)/lepton_attrib-s_toplevel.Po -rm -f ./$(DEPDIR)/lepton_attrib-s_visibility.Po -rm -f ./$(DEPDIR)/lepton_attrib-x_dialog.Po -rm -f ./$(DEPDIR)/lepton_attrib-x_fileselect.Po -rm -f ./$(DEPDIR)/lepton_attrib-x_gtksheet.Po -rm -f ./$(DEPDIR)/lepton_attrib-x_window.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \ ctags ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-binPROGRAMS \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-binPROGRAMS .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: lepton-eda-1.9.10/attrib/src/i_basic.c0000644000175000017500000000311113634703632014367 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib - gEDA gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 1998-2010 Ales V. Hvezda * Copyright (C) 2003-2010 Stuart D. Brorson. * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file * * \todo Unused function in here, i_update_status(). File is a candidate * for removal? */ #include #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes. Note that include order is important. *------------------------------------------------------------------*/ #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" /* --- This is necessary for i_basic.c --- */ #include "../include/x_states.h" lepton-eda-1.9.10/attrib/src/listsort.c0000644000175000017500000001522613634703632014673 00000000000000 /*----------------------------------------------------------------*/ /*! \file * Linked list sorting code taken from * http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html * and hacked to serve in gattrib by SDB. * */ /* * Demonstration code for sorting a linked list. * * The algorithm used is Mergesort, because that works really well * on linked lists, without requiring the O(N) extra space it needs * when you do it on arrays. * * This code can handle singly and doubly linked lists, and * circular and linear lists too. For any serious application, * you'll probably want to remove the conditionals on `is_circular' * and `is_double' to adapt the code to your own purpose. * */ /* * This file is copyright 2001 Simon Tatham. * * 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 SIMON TATHAM 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. */ /* --- We don't need these 'cause they are already defined elsewhere --- * #define FALSE 0 * #define TRUE 1 */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" /*----------------------------------------------------------------*/ /*! \brief Compare values of string data * * Comparison function -- compare values of string data. * \param al pointer to first STRING_LIST item to be compared * \param bl pointer to second STRING_LIST item to be compared * \returns +ve if al > bl, -ve if al < bl, 0 if al = bl */ /*----------------------------------------------------------------*/ int cmp(STRING_LIST *al, STRING_LIST *bl) { char *a = al->data; char *b = bl->data; if (al->pos != bl->pos) return al->pos - bl->pos; while (*a && *b) { if (isdigit ((int) *a) && isdigit ((int) *b)) { int ia = atoi (a); int ib = atoi (b); if (ia != ib) return ia - ib; while (isdigit ((int) *a)) a++; while (isdigit ((int) *b)) b++; } else if (tolower ((int) *a) != tolower ((int) *b)) return tolower ((int) *a) - tolower ((int) *b); a++; b++; } if (*a) return 1; if (*b) return -1; return 0; } /*----------------------------------------------------------------*/ /*! \brief Sort the linked list * * This is the actual sort function. Notice that it returns the new * head of the list. (It has to, because the head will not * generally be the same element after the sort.) So unlike sorting * an array, where you can do * * - sort(myarray); * * you now have to do * * - list = listsort(mylist); * * \param list The linked STRING_LIST to be sorted * \param is_circular TRUE if this is a circularly linked list * \param is_double TRUE if this is a doubly-linked list * \returns a pointer to the new head of the list */ /*----------------------------------------------------------------*/ STRING_LIST *listsort(STRING_LIST *list, int is_circular, int is_double) { STRING_LIST *p, *q, *e, *tail, *oldhead; int insize, nmerges, psize, qsize, i; /* * Silly special case: if `list' was passed in as NULL, return * NULL immediately. */ if (!list) return NULL; insize = 1; while (1) { p = list; oldhead = list; /* only used for circular linkage */ list = NULL; tail = NULL; nmerges = 0; /* count number of merges we do in this pass */ while (p) { nmerges++; /* there exists a merge to be done */ /* step `insize' places along from p */ q = p; psize = 0; for (i = 0; i < insize; i++) { psize++; if (is_circular) q = (q->next == oldhead ? NULL : q->next); else q = q->next; if (!q) break; } /* if q hasn't fallen off end, we have two lists to merge */ qsize = insize; /* now we have two lists; merge them */ while (psize > 0 || (qsize > 0 && q)) { /* decide whether next element of merge comes from p or q */ if (psize == 0) { /* p is empty; e must come from q. */ e = q; q = q->next; qsize--; if (is_circular && q == oldhead) q = NULL; } else if (qsize == 0 || !q) { /* q is empty; e must come from p. */ e = p; p = p->next; psize--; if (is_circular && p == oldhead) p = NULL; } else if (cmp(p,q) <= 0) { /* First element of p is lower (or same); * e must come from p. */ e = p; p = p->next; psize--; if (is_circular && p == oldhead) p = NULL; } else { /* First element of q is lower; e must come from q. */ e = q; q = q->next; qsize--; if (is_circular && q == oldhead) q = NULL; } /* add the next element to the merged list */ if (tail) { tail->next = e; } else { list = e; } if (is_double) { /* Maintain reverse pointers in a doubly linked list. */ e->prev = tail; } tail = e; } /* now p has stepped `insize' places along, and q has too */ p = q; } if (is_circular) { tail->next = list; if (is_double) list->prev = tail; } else tail->next = NULL; /* If we have done only one merge, we're finished. */ if (nmerges <= 1) /* allow for nmerges==0, the empty list case */ return list; /* Otherwise repeat, merging lists twice the size */ insize *= 2; } } lepton-eda-1.9.10/attrib/src/parsecmd.c0000644000175000017500000001253513634703632014606 00000000000000/* Lepton EDA attribute editor * Copyright (C) 2003-2010 Stuart D. Brorson. * Copyright (C) 1999-2013 gEDA Contributors * Copyright (C) 2017-2020 Lepton EDA Contributors * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! * \file * \brief Functions to parse the command line. * * Functions to parse the command line and to provide usage * information. */ #include #include #include #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #ifdef HAVE_GETOPT_H #include #endif /* Checking for getopt */ #if !defined(HAVE_GETOPT_LONG) || !defined(HAVE_GETOPT_H) /*! \brief Command line option string for getopt. * * Command line option string for getopt. Defines "q" for quiet, * "v" for verbose and "h" for help. */ #define OPTIONS "qvhV" extern char *optarg; extern int optind; #endif /* Checking for getopt_long */ /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #include "../include/gettext.h" /*! * \brief Print usage message and exit. * * \param cmd First element of argv (name of program as run). */ void usage(char *cmd) { printf(_("Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n"), cmd, PACKAGE_BUGREPORT, PACKAGE_URL); exit(0); } /*! \brief Print version info and exit. */ static void version() { char* msg = version_message(); printf ("%s\n", msg); free (msg); exit (0); } /*! * \brief Parse command line switches. * * \param argc Number of command line arguments * \param argv Command line arguments (array of strings) * \returns I don't know what - looks uninitialised in some circumstances // :-) * */ int parse_commandline(int argc, char *argv[]) { int ch; #if defined(HAVE_GETOPT_LONG) && defined(HAVE_GETOPT_H) /* Use getopt_long if it is available */ int option_index = 0; static struct option long_options[] = { {"help", 0, 0, 'h'}, {"quiet", 0, 0, 'q'}, {"verbose", 0, 0, 'v'}, {"version", 0, 0, 'V'}, {0, 0, 0, 0} }; while (1) { ch = getopt_long(argc, argv, "hqvV", long_options, &option_index); if (ch == -1) break; #else /* Otherwise just use regular getopt */ while ((ch = getopt(argc, argv, OPTIONS)) != -1) { #endif switch (ch) { case 'v': verbose_mode = TRUE; break; case 'q': quiet_mode = TRUE; break; case 'h': usage(argv[0]); break; case 'V': version(); break; case '?': fprintf (stderr, _("\nRun `lepton-attrib --help' for more information.\n")); exit (1); default: usage(argv[0]); break; } } if (quiet_mode) { verbose_mode = FALSE; } return (optind); } lepton-eda-1.9.10/attrib/src/lepton-attrib.c0000644000175000017500000001747713634703632015606 00000000000000/* Lepton EDA attribute editor * Copyright (C) 2003-2010 Stuart D. Brorson. * Copyright (C) 2005-2016 gEDA Contributors * Copyright (C) 2017-2020 Lepton EDA Contributors * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! * \file lepton-attrib.c */ #include #include #include #ifdef HAVE_UNISTD_H #include #endif /*------------------------------------------------------------------*/ /* Includes originally from testgtksheet -- stuff needed to deal with * spreadsheet widget. *------------------------------------------------------------------*/ #include #include #include #include #include #include #include #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------*/ /* Gattrib specific includes -- stuff dealing with gattrib data structs. *------------------------------------------------------------------*/ #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" TOPLEVEL *pr_current; SHEET_DATA *sheet_head; GtkWidget *window; GtkWidget *notebook; GtkSheet **sheets; GtkWidget *entry; GtkWidget *label; /*------------------------------------------------------------------*/ /*! \brief GTK callback to quit the program. * * This is called when the user quits the program using the UI. The * callback is attached to the GTK window_delete event in * x_window_init() and attached to the File->Quit menu item in * x_window_create_menu(). On execution, the function checks for * unsaved changes before calling gattrib_quit() to quit the program. * * \return value 0 to the shell to denote a successful quit. */ gboolean gattrib_really_quit(void) { /* Save main window's geometry: */ gint x = 0; gint y = 0; gtk_window_get_position (GTK_WINDOW (window), &x, &y); gint width = 0; gint height = 0; gtk_window_get_size (GTK_WINDOW (window), &width, &height); EdaConfig* cfg = eda_config_get_cache_context(); eda_config_set_int (cfg, "attrib.window-geometry", "x", x); eda_config_set_int (cfg, "attrib.window-geometry", "y", y); eda_config_set_int (cfg, "attrib.window-geometry", "width", width); eda_config_set_int (cfg, "attrib.window-geometry", "height", height); eda_config_save (cfg, NULL); if (sheet_head->CHANGED == TRUE) { x_dialog_unsaved_data(); } else { gattrib_quit(0); } return TRUE; } /*------------------------------------------------------------------*/ /*! \brief Quit the program. * * Unconditionally quit gattrib. Flushes caches and I/O channels, * calls the GTK function to quit the application then calls exit() * with the appropriate return code. * * \param return_code Value to pass to the exit() system call. */ gint gattrib_quit(gint return_code) { /* s_clib_cache_free(); */ s_clib_free(); #ifdef DEBUG fflush(stderr); fflush(stdout); printf ("gattrib_quit: "); printf ("Calling gtk_main_quit().\n"); #endif gtk_main_quit(); exit(return_code); } /*------------------------------------------------------------------*/ /*! \brief The "real" main for gattrib. * * This is the main program body for gattrib. A pointer to this * function is passed to scm_boot_guile() at startup. * * This function: * - initialises threading, if the underlying GTK library is threaded. * However, gattrib itself isn't threaded. * - initialises libgeda; * - parses the command line; * - starts logging; * - parses the RC files; * - initialises the GTK UI; * - populates the spreadsheet data structure; * - calls gtk_main() to start the event loop. * * \param closure * \param argc Number of command line arguments * \param argv Command line arguments */ void gattrib_main(void *closure, int argc, char *argv[]) { /* TOPLEVEL *pr_current is a global */ /* SHEET_DATA *sheet_head is a global */ /* GtkWidget *main_window is a global */ int argv_index; #ifdef HAVE_GTHREAD /* Gattrib isn't threaded, but some of GTK's file chooser * backends uses threading so we need to call g_thread_init(). * GLib requires threading be initialised before any other GLib * functions are called. Do it now if its not already setup. */ if (!g_thread_supported ()) g_thread_init (NULL); #endif /* Initialize gEDA stuff */ liblepton_init(); /* Note that argv_index holds index to first non-flag command line option * (that is, to the first file name) */ argv_index = parse_commandline(argc, argv); /* ---------- create log file right away ---------- */ /* ---------- even if logging is enabled ---------- */ s_log_init ("attrib"); s_log_message (_("Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s"), PREPEND_VERSION_STRING, PACKAGE_DOTTED_VERSION, PACKAGE_DATE_VERSION, PACKAGE_GIT_COMMIT); /* ---------- Start creation of new project: (TOPLEVEL *pr_current) ---------- */ pr_current = s_toplevel_new(); /* ----- Read in RC files. ----- */ g_rc_parse (pr_current, argv[0], NULL, NULL); i_vars_set(pr_current); gtk_init(&argc, &argv); x_window_init(); /* ---------- Initialize SHEET_DATA data structure ---------- */ sheet_head = s_sheet_data_new(); /* sheet_head was declared in globals.h */ GSList *file_list = NULL; if (argv_index >= argc) { /* No files specified on the command line, pop up the File open dialog. */ file_list = x_fileselect_open(); if(file_list == NULL) exit(0); } else { /* Construct the list of filenames from the command line. * argv_index holds the position of the first filename */ while (argv_index < argc) { gchar *filename = f_normalize_filename(argv[argv_index], NULL); if (filename != NULL) { file_list = g_slist_append(file_list, filename); } else { fprintf(stderr, _("Couldn't find file [%1$s]\n"), argv[argv_index]); exit(1); } argv_index++; } } /* Load the files */ if(x_fileselect_load_files(file_list) == FALSE) { /* just exit the program */ exit(1); } g_slist_foreach(file_list, (GFunc)g_free, NULL); g_slist_free(file_list); gtk_main(); exit(0); } /*------------------------------------------------------------------*/ /*! \brief Entry point to gattrib * * This is just a wrapper which * invokes the guile stuff, and points to the real main program, * gattrib_main(). Note that I still need some vestigial * guile stuff in order to read the rc files. * * \param argc Number of command line arguments * \param argv Command line arguments */ int main(int argc, char *argv[]) { #if ENABLE_NLS setlocale(LC_ALL, ""); setlocale(LC_NUMERIC, "C"); bindtextdomain("lepton-attrib", LOCALEDIR); textdomain("lepton-attrib"); bind_textdomain_codeset("lepton-attrib", "UTF-8"); #endif set_guile_compiled_path(); /* Initialize the Guile Scheme interpreter. This function does not * return but calls exit(0) on completion. */ scm_boot_guile( argc, argv, gattrib_main, NULL); exit(0); /* This is not real exit point. Real exit is in gattrib_quit. */ } lepton-eda-1.9.10/attrib/src/x_window.c0000644000175000017500000004023513634703632014644 00000000000000/* Lepton EDA attribute editor * Copyright (C) 2003-2010 Stuart D. Brorson. * Copyright (C) 2016 Peter Brett * Copyright (C) 2003-2016 gEDA Contributors * Copyright (C) 2017-2019 Lepton EDA Contributors * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*------------------------------------------------------------------*/ /*! \file * \brief Functions for the toplevel window * * This file holds functions used to handle the toplevel window and * various widgets held by that window. Widges used to handle * (GtkSheet *sheet) itself are held in a different file. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif /*------------------------------------------------------------------ * Includes required to run graphical widgets. *------------------------------------------------------------------*/ #include #include #include #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #include "../include/gettext.h" /*------------------------------------------------------------------ * Gattrib specific defines *------------------------------------------------------------------*/ #define GATTRIB_THEME_ICON_NAME "lepton-attrib" static void x_window_create_menu(GtkWindow *window, GtkWidget **menubar); static void x_window_set_default_icon( void ); /*! \brief Initialises the toplevel gtksheet * * This function initializes the toplevel gtksheet stuff. * * It basically just initializes the following widgets: * GTK_WINDOW *window * GTK_CONTAINER *main_vbox * GTK_MENU * * Note that it doesn't display the spreadsheet itself. This is done * in x_sheet_build_sheet. I suppose I could postpone all initialization * until x_sheet_build_sheet, but I figured that I could at least do * some initialization here. In particular, the stuff to put up the * menus is long & it is worthwhile to separate it from other code. * Maybe I'll refactor this later. */ void x_window_init() { GtkWidget *menu_bar; GtkWidget *main_vbox; /* Set default icon */ x_window_set_default_icon(); /* window is a global declared in globals.h. */ window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title( GTK_WINDOW(window), _("lepton-attrib - Lepton EDA attribute editor")); g_signal_connect(window, "delete_event", G_CALLBACK (gattrib_really_quit), 0); /* ----- Now create main_vbox. This is a container which organizes child ----- */ /* ----- widgets into a vertical column. ----- */ main_vbox = gtk_vbox_new(FALSE,1); gtk_container_set_border_width(GTK_CONTAINER(main_vbox), 1); gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(main_vbox) ); /* ----- Now create menu bar ----- */ x_window_create_menu(GTK_WINDOW(window), &menu_bar); gtk_box_pack_start(GTK_BOX (main_vbox), menu_bar, FALSE, TRUE, 0); /* ----- Now init notebook widget ----- */ notebook = gtk_notebook_new(); gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook), GTK_POS_BOTTOM); gtk_box_pack_start(GTK_BOX(main_vbox), notebook, TRUE, TRUE, 0); /* ----- Now malloc -- but don't fill out -- space for sheets ----- */ /* This basically sets up the overhead for the sheets, as I understand * it. The memory for the actual sheet cells is allocated later, * when gtk_sheet_new is invoked, I think. */ sheets = g_new0 (GtkSheet*, NUM_SHEETS); /* Restore main window's geometry: */ EdaConfig* cfg = eda_config_get_cache_context(); gint x = eda_config_get_int (cfg, "attrib.window-geometry", "x", NULL); gint y = eda_config_get_int (cfg, "attrib.window-geometry", "y", NULL); gtk_window_move (GTK_WINDOW (window), x, y); gint width = eda_config_get_int (cfg, "attrib.window-geometry", "width", NULL); gint height = eda_config_get_int (cfg, "attrib.window-geometry", "height", NULL); if (width > 0 && height > 0) { gtk_window_resize (GTK_WINDOW (window), width, height); } } /* x_window_init() */ /*------------------------------------------------------------------ * \brief File Open menu * * File open menu. Currently unimplemented. * \todo this should really be done in two stages: * -# close the current project and reinitialize structures * -# load the new project */ #ifdef UNIMPLEMENTED_FEATURES static void menu_file_open() { x_dialog_unimplemented_feature(); #if 0 GSList *file_list; file_list = x_fileselect_open(); /* Load the files, don't check if it went OK */ x_fileselect_load_files(file_list); g_slist_foreach(file_list, (GFunc)g_free, NULL); g_slist_free(file_list); #endif } #endif /*! * \brief File->Save menu item * * Implement the File->Save menu */ static void menu_file_save() { s_toplevel_gtksheet_to_toplevel(pr_current); /* Dumps sheet data into TOPLEVEL */ s_page_save_all(pr_current); /* saves all pages in design */ sheet_head->CHANGED = FALSE; } /*! * \brief File->Export CSV menu item * * Implement the File->Export CSV menu item */ static void menu_file_export_csv() { gint cur_page; /* first verify that we are on the correct page (components) */ cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); /* Check that we are on components page. */ if (cur_page == 0) { x_dialog_export_file(); } else { x_dialog_unimplemented_feature(); /* We only support export of components now */ } } /*! * \brief Edit->New attrib menu item * * Implement the New attrib menu item */ static void menu_edit_newattrib() { gint cur_page; /* first verify that we are on the correct page (components) */ cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); /* Check that we are on components page. */ if (cur_page == 0) { x_dialog_newattrib(); /* This creates dialog box */ } } /*! * \brief Edit->Delete Attribute menu item * * Implements the Delete Attribute menu item */ static void menu_edit_delattrib() { x_dialog_delattrib(); } /*! * The main menu description */ static const gchar menu[] = "" "

" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""; /*! * The Gtk action table */ static const GtkActionEntry actions[] = { /* name, stock-id, label, accelerator, tooltip, callback function */ /* File menu */ { "file", NULL, "_File"}, /* { "file-open", GTK_STOCK_OPEN, "Open", "O", "", menu_file_open}, */ { "file-save", GTK_STOCK_SAVE, "Save", "S", "", menu_file_save}, { "file-export-csv", NULL, "Export CSV", "", "", menu_file_export_csv}, /* { "file-print", GTK_STOCK_PRINT, "Print", "P", "", x_dialog_unimplemented_feature}, */ { "file-quit", GTK_STOCK_QUIT, "Quit", "Q", "", G_CALLBACK(gattrib_really_quit)}, /* Edit menu */ { "edit", NULL, "_Edit"}, { "edit-add-attrib", NULL, "Add new attrib column", "", "", menu_edit_newattrib}, { "edit-delete-attrib", NULL, "Delete attrib column", "", "", menu_edit_delattrib}, /* { "edit-find-attrib", GTK_STOCK_FIND, "Find attrib value", "F", "", x_dialog_unimplemented_feature}, */ /* { "edit-search-replace-attrib-value", NULL, "Search and replace attrib value", "", "", x_dialog_unimplemented_feature}, */ /* { "edit-search-for-refdes", NULL, "Search for refdes", "", "", x_dialog_unimplemented_feature}, */ /* Visibility menu */ { "visibility", NULL, "_Visibility"}, { "visibility-invisible", NULL, "Set selected invisible", "", "", s_visibility_set_invisible}, { "visibility-name-only", NULL, "Set selected name visible only", "", "", s_visibility_set_name_only}, { "visibility-value-only", NULL, "Set selected value visible only", "", "", s_visibility_set_value_only}, { "visibility-name-value", NULL, "Set selected name and value visible", "", "", s_visibility_set_name_and_value}, /* Help menu */ { "help", NULL, "_Help"}, { "help-about", GTK_STOCK_ABOUT, "About", "", "", x_dialog_about_dialog}, }; /*! \brief Create and attach the menu bar * * Create the menu bar and attach it to the main window. * * First, the GtkActionGroup object is created and filled with * entries of type GtkActionEntry (each entry specifies a single * action, such as opening a file). Then the GtkUIManager object * is created and used to load the menu description. * Finally, the GtkAccelGroup is added to the * main window to enable keyboard accelerators and a pointer * to the menu bar is retrieved from the GtkUIManager object. * \param window Window to add the menubar to * \param [out] menubar Created menubar */ static void x_window_create_menu(GtkWindow *window, GtkWidget **menubar) { GtkUIManager *ui; GtkActionGroup *action_group; GError *error = NULL; /* Create and fill the action group object */ action_group = gtk_action_group_new(""); gtk_action_group_add_actions(action_group, actions, G_N_ELEMENTS(actions), NULL); /* Create the UI manager object */ ui = gtk_ui_manager_new(); gtk_ui_manager_insert_action_group(ui, action_group, 0); gtk_ui_manager_add_ui_from_string (ui, menu, -1, &error); if(error != NULL) { /* An error occured, terminate */ fprintf(stderr, _("Error loading menu: %1$s\n"), error->message); exit(1); } gtk_window_add_accel_group (window, gtk_ui_manager_get_accel_group(ui)); *menubar = gtk_ui_manager_get_widget(ui, "/ui/menubar/"); } /*! \brief Add all items to the top level window * * This function updates the top level window * after a new page is read in. * * It does the following: * * -# Create a new gtksheet having the current dimensions. * -# Call x_gktsheet_add_row_labels(comp_count, master_*_list_head) * -# Call x_gktsheet_add_col_labels(comp_attrib_count, master_*_attrib_list_head) * -# Call x_gktsheet_add_row_labels(net_count, master_*_list_head) * -# Call x_gktsheet_add_col_labels(net_attrib_count, master_*_attrib_list_head) * -# loop on i, j -- call x_gtksheet_add_entry(i, j, attrib_value) * -# Call gtk_widget_show(window) to show new window. */ void x_window_add_items() { gint i, j; gint num_rows, num_cols; gchar *text; const gchar *error_string; gint visibility, show_name_value; /* Do these sanity check to prevent later segfaults */ if (sheet_head->comp_count == 0) { error_string = _("No components found in entire design!\nDo you have refdeses on your components?"); x_dialog_fatal_error(error_string, 1); } if (sheet_head->comp_attrib_count == 0) { error_string = _("No configurable component attributes found in entire design!\nPlease attach at least some attributes before running lepton-attrib."); x_dialog_fatal_error(error_string, 2); } if (sheet_head->pin_count == 0) { error_string = _("No pins found on any components!\nPlease check your design."); x_dialog_fatal_error(error_string, 3); } /* initialize the gtksheet. */ x_gtksheet_init(); /* this creates a new gtksheet having dimensions specified * in sheet_head->comp_count, etc. . . */ if (sheet_head->comp_count > 0 ) { x_gtksheet_add_row_labels(GTK_SHEET(sheets[0]), sheet_head->comp_count, sheet_head->master_comp_list_head); x_gtksheet_add_col_labels(GTK_SHEET(sheets[0]), sheet_head->comp_attrib_count, sheet_head->master_comp_attrib_list_head); } #ifdef UNIMPLEMENTED_FEATURES /* This is not ready. I need to implement net attributes */ if (sheet_head->net_count > 0 ) { x_gtksheet_add_row_labels(GTK_SHEET(sheets[1]), sheet_head->net_count, sheet_head->master_net_list_head); x_gtksheet_add_col_labels(GTK_SHEET(sheets[1]), sheet_head->net_attrib_count, sheet_head->master_net_attrib_list_head); } else { x_gtksheet_add_row_labels(GTK_SHEET(sheets[1]), 1, NULL); x_gtksheet_add_col_labels(GTK_SHEET(sheets[1]), 1, NULL); } #endif #ifdef UNIMPLEMENTED_FEATURES if (sheet_head->pin_count > 0 ) { x_gtksheet_add_row_labels(GTK_SHEET(sheets[2]), sheet_head->pin_count, sheet_head->master_pin_list_head); x_gtksheet_add_col_labels(GTK_SHEET(sheets[2]), sheet_head->pin_attrib_count, sheet_head->master_pin_attrib_list_head); } #endif /* ------ Comp sheet: put values in the individual cells ------- */ num_rows = sheet_head->comp_count; num_cols = sheet_head->comp_attrib_count; for (i = 0; i < num_rows; i++) { for (j = 0; j < num_cols; j++) { if ( (sheet_head->component_table)[i][j].attrib_value ) { /* NULL = no entry */ text = (gchar *) g_strdup( (sheet_head->component_table)[i][j].attrib_value ); visibility = (sheet_head->component_table)[i][j].visibility; show_name_value = (sheet_head->component_table)[i][j].show_name_value; x_gtksheet_add_cell_item( GTK_SHEET(sheets[0]), i, j, (gchar *) text, visibility, show_name_value ); g_free(text); } } } #ifdef UNIMPLEMENTED_FEATURES /* ------ Net sheet: put values in the individual cells ------- */ num_rows = sheet_head->net_count; num_cols = sheet_head->net_attrib_count; for (i = 0; i < num_rows; i++) { for (j = 0; j < num_cols; j++) { if ( (sheet_head->net_table)[i][j].attrib_value ) { /* NULL = no entry */ text = (gchar *) g_strdup( (sheet_head->net_table)[i][j].attrib_value ); visibility = (sheet_head->net_table)[i][j].visibility; show_name_value = (sheet_head->component_table)[i][j].show_name_value; x_gtksheet_add_cell_item( GTK_SHEET(sheets[1]), i, j, (gchar *) text, visibility, show_name_value ); g_free(text); } } } #endif #ifdef UNIMPLEMENTED_FEATURES /* ------ Pin sheet: put pin attribs in the individual cells ------- */ num_rows = sheet_head->pin_count; num_cols = sheet_head->pin_attrib_count; for (i = 0; i < num_rows; i++) { for (j = 0; j < num_cols; j++) { if ( (sheet_head->pin_table)[i][j].attrib_value ) { /* NULL = no entry */ text = (gchar *) g_strdup( (sheet_head->pin_table)[i][j].attrib_value ); /* pins have no visibility attributes, must therefore provide default. */ x_gtksheet_add_cell_item( GTK_SHEET(sheets[2]), i, j, (gchar *) text, VISIBLE, SHOW_VALUE ); g_free(text); } } } #endif gtk_widget_show_all( GTK_WIDGET(window) ); } /*! \brief Set application icon * * Setup default icon for GTK windows * * Sets the default window icon by name, to be found in the current icon * theme. The name used is #defined above as GATTRIB_THEME_ICON_NAME. */ static void x_window_set_default_icon( void ) { gtk_window_set_default_icon_name( GATTRIB_THEME_ICON_NAME ); } lepton-eda-1.9.10/attrib/src/x_dialog.c0000644000175000017500000002767613634703632014612 00000000000000/* Lepton EDA attribute editor * Copyright (C) 2003-2010 Stuart D. Brorson. * Copyright (C) 2003-2014 gEDA Contributors * Copyright (C) 2017-2020 Lepton EDA Contributors * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*------------------------------------------------------------------*/ /*! \file * \brief Functions used to display dialog boxes. * * Functions used to display dialog boxes. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include /*------------------------------------------------------------------ * Includes required to run graphical widgets. *------------------------------------------------------------------*/ #include #include #include #include #include #include #include #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #include "../include/gettext.h" /*! \brief Add new attribute dialog. * * This asks for the name of the attrib column to insert * and then inserts the column. */ void x_dialog_newattrib() { GtkWidget *dialog; GtkWidget *label; GtkWidget *attrib_entry; gchar *entry_text; /* Create the dialog */ dialog = gtk_dialog_new_with_buttons(_("Add new attribute"), NULL, GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_OK, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL); gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK); /* Create a text label for the dialog window */ label = gtk_label_new (_("Enter new attribute name")); gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), label, FALSE, FALSE, 0); /* Create the "attrib" text entry area */ attrib_entry = gtk_entry_new (); gtk_entry_set_max_length (GTK_ENTRY (attrib_entry), 1024); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), attrib_entry, TRUE, TRUE, 5); gtk_widget_set_size_request (dialog, 260, 140); gtk_widget_show_all(dialog); switch(gtk_dialog_run(GTK_DIALOG(dialog))) { case GTK_RESPONSE_OK: entry_text = g_strdup( gtk_entry_get_text(GTK_ENTRY(attrib_entry)) ); /* Perhaps do some other checks . . . . */ if (entry_text != NULL) { s_toplevel_add_new_attrib(entry_text); g_free(entry_text); } break; case GTK_RESPONSE_CANCEL: default: /* do nothing */ break; } gtk_widget_destroy(dialog); } /*! \brief Delete Attribute dialog * * This function throws up the "Delete foo, are you sure?" dialog * box. It offers two buttons: "yes" and "cancel". */ void x_dialog_delattrib() { GtkWidget *dialog; gint mincol, maxcol; GtkSheet *sheet; gint cur_page; /* First verify that exactly one column is selected. */ cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); sheet = GTK_SHEET(sheets[cur_page]); if (sheet == NULL) { return; } mincol = x_gtksheet_get_min_col(sheet); maxcol = x_gtksheet_get_max_col(sheet); if ( (mincol != maxcol) || (mincol == -1) || (maxcol == -1) ) { /* Improper selection -- maybe throw up error box? */ return; } /* Create the dialog */ dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _("Are you sure you want to delete this attribute?")); gtk_window_set_title(GTK_WINDOW(dialog), _("Delete attribute")); switch(gtk_dialog_run(GTK_DIALOG(dialog))) { case GTK_RESPONSE_YES: /* call the fcn to actually delete the attrib column. */ s_toplevel_delete_attrib_col(); /* this fcn figures out * which col to delete. */ break; default: break; } gtk_widget_destroy(dialog); } /*! \brief Missing Symbol dialog * * This is the "missing symbol file found on object" dialog. * * It offers the user the chance to close the project without * saving because he read a schematic with a missing symbol file. */ void x_dialog_missing_sym() { GtkWidget *dialog; const char *string = _("One or more components have been found with missing symbol files!\n\nThis probably happened because lepton-attrib couldn't find your component libraries, perhaps because your gafrc files are misconfigured.\n\nChoose \"Quit\" to leave lepton-attrib and fix the problem, or\n\"Forward\" to continue working with lepton-attrib.\n"); /* Create the dialog */ dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, "%s", string); gtk_dialog_add_buttons(GTK_DIALOG(dialog), GTK_STOCK_QUIT, GTK_RESPONSE_REJECT, GTK_STOCK_GO_FORWARD, GTK_RESPONSE_ACCEPT, NULL); gtk_window_set_title(GTK_WINDOW(dialog), _("Missing symbol file found for component!")); gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_REJECT); switch(gtk_dialog_run(GTK_DIALOG(dialog))) { case GTK_RESPONSE_ACCEPT: /* Continue with the execution */ break; default: /* Terminate */ exit(0); break; } gtk_widget_destroy(dialog); } /*! \brief Unsaved data dialog * * This is the "Unsaved data -- are you sure you want to quit?" dialog * box which is thrown up before the user quits. */ void x_dialog_unsaved_data() { GtkWidget *dialog; gchar *str; const gchar* tmp1 = _("Save the changes before closing?"); str = g_strconcat (N_(""), tmp1, N_(""), NULL); const gchar* tmp2 = _("If you don't save, all your changes will be permanently lost."); str = g_strconcat (str, "\n\n", tmp2, NULL); dialog = gtk_message_dialog_new (GTK_WINDOW (window), (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT), GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, NULL); gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG (dialog), str); gtk_dialog_add_buttons (GTK_DIALOG (dialog), _("Close without saving"), GTK_RESPONSE_NO, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_YES, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog), GTK_RESPONSE_YES, GTK_RESPONSE_NO, GTK_RESPONSE_CANCEL, -1); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_YES); switch (gtk_dialog_run (GTK_DIALOG (dialog))) { case GTK_RESPONSE_NO: { gattrib_quit(0); break; } case GTK_RESPONSE_YES: { s_toplevel_gtksheet_to_toplevel(pr_current); /* Dumps sheet data into TOPLEVEL */ s_page_save_all(pr_current); /* saves all pages in design */ sheet_head->CHANGED = FALSE; gattrib_quit(0); break; } case GTK_RESPONSE_CANCEL: default: { break; } } gtk_widget_destroy (dialog); return; } /*! \brief Unimplemented feature dialog * * This function informs the user that he has chosen an unimplemented * feature. It presents only an "OK" button to leave. */ void x_dialog_unimplemented_feature() { GtkWidget *dialog; const char *string = _("Sorry -- you have chosen a feature which has not been\nimplemented yet.\n\nlepton-attrib is an open-source program which\nI work on as a hobby. It is still a work in progress.\nIf you wish to contribute (perhaps by implementing this\nfeature), please do so! Please send patches to lepton-attrib\nto Stuart Brorson: sdb@cloud9.net.\n\nOtherwise, just hang tight -- I'll implement this feature soon!\n"); /* Create the dialog */ dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s", string); gtk_window_set_title(GTK_WINDOW(dialog), _("Unimplemented feature!")); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); } /*! \brief Fatal error dialog * * This function displays a dialog with the error string and * terminates the program. * * \param [in] string the error string * \param [in] return_code the exit code * \todo Is the GPOINTER_TO_INT() call needed in exit()? */ void x_dialog_fatal_error(const gchar *string, gint return_code) { GtkWidget *dialog; fprintf(stderr, "%s\n", string); /* Create the dialog */ dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s", string); gtk_window_set_title(GTK_WINDOW(dialog), _("Fatal error")); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); exit(GPOINTER_TO_INT(return_code)); } /*! \brief About gattrib dialog * * This dosplays the about dialog. */ void x_dialog_about_dialog() { GtkWidget *dialog; const char *string = _("Lepton Electronic Design Automation\n\nlepton-attrib - Lepton EDA attribute editor\n\nlepton-attrib version: %1$s%2$s.%3$s\n\nlepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\nwith generous helpings of code from gschem, gnetlist, \nand gtkextra, as well as support from the gEDA community."); /* Create the dialog */ dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, string, PREPEND_VERSION_STRING, PACKAGE_DOTTED_VERSION, PACKAGE_DATE_VERSION); gtk_window_set_title(GTK_WINDOW(dialog), _("About...")); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); } /*! \brief Export file dialog * * This asks for the filename for the CSV export file and then * does the exporting. */ void x_dialog_export_file() { gchar *filename; GtkWidget *dialog; dialog = gtk_file_chooser_dialog_new(_("Export CSV"), NULL, GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); switch(gtk_dialog_run(GTK_DIALOG(dialog))) { case GTK_RESPONSE_ACCEPT: filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)); if(filename != NULL) { f_export_components(filename); g_free(filename); } break; default: break; } gtk_widget_destroy(dialog); } lepton-eda-1.9.10/attrib/src/s_attrib.c0000644000175000017500000001075413634703632014620 00000000000000/* Lepton EDA attribute editor * Copyright (C) 2003-2010 Stuart D. Brorson. * Copyright (C) 2003-2013 gEDA Contributors * Copyright (C) 2017-2020 Lepton EDA Contributors * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! * \file * \brief Functions to operate on attributes in STRING_LISTs * * Various functions to operate on attribute name=value pairs in supplied * STRING_LIST structs. */ #include #include #include #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #include "../include/gettext.h" /*------------------------------------------------------------------*/ /*! \brief Detect "name" in STRING_LIST * * This function is passed a STRING_LIST of name=value pairs, and a * name. * \param name_value_list pointer to STRING_LIST to search * \param name name string to search for * \returns 1 (TRUE) if the name is in the STRING_LIST, otherwise * it returns 0 (FALSE). */ int s_attrib_name_in_list(STRING_LIST *name_value_list, char *name) { STRING_LIST *local_list_item; char *local_name; for (local_list_item = name_value_list; local_list_item != NULL; local_list_item = local_list_item->next) { if (local_list_item->data == NULL) continue; local_name = u_basic_breakup_string(local_list_item->data, '=', 0); if (strcmp(local_name, name) == 0) { g_free (local_name); return TRUE; } g_free (local_name); } return FALSE; } /*------------------------------------------------------------------*/ /*! \brief Locate the refdes associated with an object. * * This fcn takes an object, finds its refdes and returns it. * \param object Pointer to the object to search for. * \return For normal components, it returns a pointer to a * string containing the refdes. If the component is slotted, * it returns a refdes of the form * refdes.slot. If no refdes is found, it returns NULL. */ char *s_attrib_get_refdes(OBJECT *object) { char *temp_uref; char *numslots_value; char *slot_value; OBJECT *slot_text_object; /*------ Try to get the refdes -----*/ temp_uref = o_attrib_search_object_attribs_by_name (object, "refdes", 0); if (!temp_uref) { temp_uref = o_attrib_search_object_attribs_by_name (object, "uref", 0); // deprecated if (temp_uref) { fprintf (stderr, _("WARNING: ")); fprintf (stderr, _("Found uref=%1$s, uref= is deprecated, please use refdes=\n"), temp_uref); } else { /* didn't find refdes. Report error to log. */ #ifdef DEBUG printf ("s_attrib_get_refdes: "); printf ("Found non-graphical component with no refdes: component_basename = %s\n", object->component_basename); #endif return NULL; } } #ifdef DEBUG printf ("s_attrib_get_refdes: "); printf ("Found component with refdes %s.\n", temp_uref); #endif /*------- Now append .slot to refdes if part is slotted -------- */ /* Find out if this is a multislotted component */ numslots_value = o_attrib_search_object_attribs_by_name (object, "numslots", 0); if (numslots_value != NULL) { /* this is a slotted component; append slot number to refdes. */ slot_value = s_slot_search_slot (object, &slot_text_object); #if DEBUG printf (" Found slotted component with slot = %s\n", slot_value); #endif temp_uref = g_strconcat(temp_uref, ".", slot_value, NULL); } #ifdef DEBUG printf (" Return refdes %s.\n", temp_uref); #endif return temp_uref; } lepton-eda-1.9.10/attrib/src/Makefile.am0000644000175000017500000000171713634703632014700 00000000000000## This Makefile.am created for gattrib by SDB 12.13.2003 bin_PROGRAMS = lepton-attrib ## don't forget all *.h files */ lepton_attrib_SOURCES = \ gtksheet_2_2.c \ gtkextra-marshal.c \ globals.c \ listsort.c \ parsecmd.c \ f_export.c \ i_vars.c \ i_basic.c \ x_window.c \ x_gtksheet.c \ x_dialog.c \ x_fileselect.c \ s_misc.c \ s_string_list.c \ s_sheet_data.c \ s_table.c \ s_object.c \ s_attrib.c \ s_toplevel.c \ s_visibility.c \ lepton-attrib.c lepton_attrib_CPPFLAGS = -I$(top_srcdir)/liblepton/include \ -I$(srcdir)/../include -I$(top_srcdir) -I$(includedir) lepton_attrib_CFLAGS = $(GCC_CFLAGS) $(GLIB_CFLAGS) \ $(MINGW_CFLAGS) \ $(GTK_CFLAGS) $(GTHREAD_CFLAGS) $(GUILE_CFLAGS) lepton_attrib_LDFLAGS = $(GLIB_LIBS) $(GTK_LIBS) $(GTHREAD_LIBS) \ $(GUILE_LIBS) $(MINGW_GUI_LDFLAGS) lepton_attrib_LDADD = $(top_builddir)/liblepton/src/liblepton.la localedir = @datadir@/locale DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ lepton-eda-1.9.10/attrib/src/i_vars.c0000644000175000017500000000344313634703632014271 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file * \brief Functions for variable setting. * * Functions for variable setting. */ #include #include #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes. Note that include order is important. *------------------------------------------------------------------*/ #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #include "../include/i_vars.h" /*------------------------------------------------------------------*/ /*! \brief Initialise variables in the TOPLEVEL * * Initialize the variables in toplevel. * \param toplevel pointer to the TOPLEVEL to set paper size in. */ void i_vars_set (TOPLEVEL *toplevel) { i_vars_libgeda_set (toplevel); } lepton-eda-1.9.10/attrib/src/s_misc.c0000644000175000017500000000672613634703632014272 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file * \brief Miscellaneous STRING_LIST functions */ #include #include #include #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #include "../include/gettext.h" /*------------------------------------------------------------------ * The below fcns identical to those defined in * geda-gnetlist/src/s_misc.c *------------------------------------------------------------------*/ /*! * Running count of number of characters printed on current line. */ static int char_index = 0; /*! \brief Print message in verbose mode * * Print the supplied message in verbose mode. Line wrap if necessary. * * Identical to that defined in gnetlist/src/s_misc.c * \param string String to be printed */ void verbose_print (const char *string) { if (verbose_mode) { printf("%s", string); char_index++; if ((char_index + 1) >= 78) { printf("\n"); char_index = 0; } } } /*! \brief Print "DONE" message in verbose mode * * Prints the "DONE" message in verbose mode, wrapping before printing * if near the end of line. * * Identical to function defined in gnetlist/src/s_misc.c */ void verbose_done(void) { if (verbose_mode) { if (char_index >= 70) { printf(_("\nDONE\n")); } else { printf(_(" DONE\n")); } char_index = 0; } } /*! \brief Reset the running character count * * Reset the current characted count. * * Identical to function defined in gnetlist/src/s_misc.c */ void verbose_reset_index(void) { char_index = 0; } /*------------------------------------------------------------------ * Gattrib specific utilities *------------------------------------------------------------------*/ char *s_misc_remaining_string(gchar *string, gchar delimiter, gint count) { gint i; gchar *remaining; gchar *return_value; /* find count'th delimiter */ remaining = string; for (i = 0; i < count; i++) { remaining = strchr(remaining, delimiter); if (!remaining) { return (NULL); } remaining++; } /* skip whitespace */ while (*remaining == ' ') { remaining++; } if (!(*remaining)) { return (NULL); } /* copy remainder into allocated return string */ return_value = g_strdup(remaining); /* return string */ return (return_value); } lepton-eda-1.9.10/attrib/src/x_gtksheet.c0000644000175000017500000003003213634703632015145 00000000000000/* Lepton EDA attribute editor * Copyright (C) 2003-2010 Stuart D. Brorson. * Copyright (C) 2003-2015 gEDA Contributors * Copyright (C) 2017-2019 Lepton EDA Contributors * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*------------------------------------------------------------------*/ /*! \file * \brief Functions to interface to the spreadsheet widget. * * This file holds functions used to handle the spreadsheet widget. * Much of this was hacked from testgtksheet.c starting in Jan 2004 * by SDB. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif /*------------------------------------------------------------------ * Includes required to run graphical widgets. *------------------------------------------------------------------*/ #include #include #include #include #include #include #include #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #include "../include/gettext.h" static void show_entry(GtkWidget *widget, gpointer data); /*! \brief Create the GtkSheet * * Creates and initializes the GtkSheet widget, which is the * spreadsheet widget used for displaying the data. */ void x_gtksheet_init() { gint i; const gchar *folder[]= {_("Components"), _("Nets"), _("Pins")}; GtkWidget **scrolled_windows = NULL; /* --- Create three new sheets. were malloc'ed in x_window_init --- */ /* ----- Components ----- */ if ((sheet_head->comp_count > 0) && (sheet_head->comp_attrib_count >0)) { sheets[0] = (GtkSheet *) gtk_sheet_new((guint) sheet_head->comp_count, (guint) sheet_head->comp_attrib_count, _("Components")); } else { x_dialog_fatal_error(_("No components found in design. Please check your schematic and try again!\n"), 1); } #ifdef UNIMPLEMENTED_FEATURES /* ----- Nets ----- */ if ((sheet_head->net_count > 0) && (sheet_head->net_attrib_count >0)) { sheets[1] = (GtkSheet *) gtk_sheet_new(sheet_head->net_count, sheet_head->net_attrib_count, _("Nets")); gtk_sheet_set_locked(GTK_SHEET(sheets[1]), TRUE); /* disallow editing of attribs for now */ } else { sheets[1] = (GtkSheet *) gtk_sheet_new(1, 1, _("Nets")); gtk_sheet_row_button_add_label(sheets[1], 0, _("TBD")); gtk_sheet_row_button_justify(sheets[1], 0, GTK_JUSTIFY_LEFT); gtk_sheet_column_button_add_label(sheets[1], 0, _("TBD")); gtk_sheet_column_button_justify(sheets[1], 0, GTK_JUSTIFY_LEFT); gtk_sheet_set_locked(GTK_SHEET(sheets[1]), TRUE); /* disallow editing of attribs for now */ } #endif #ifdef UNIMPLEMENTED_FEATURES /* ----- Pins ----- */ if ((sheet_head->pin_count > 0) && (sheet_head->pin_attrib_count >0)) { sheets[2] = (GtkSheet *) gtk_sheet_new(sheet_head->pin_count, sheet_head->pin_attrib_count, _("Pins")); gtk_sheet_set_locked(GTK_SHEET(sheets[2]), TRUE); /* disallow editing of attribs for now */ } else { sheets[2] = (GtkSheet *) gtk_sheet_new(1, 1, _("Pins")); gtk_sheet_set_locked(GTK_SHEET(sheets[2]), TRUE); /* disallow editing of attribs for now */ } #endif /* --- Finally stick labels on the notebooks holding the two sheets. --- */ for(i=0; istyle->private_font ) char_width = gdk_char_width (GTK_WIDGET(sheet)->style->private_font, (gchar)'X'); else char_width = 12; string_list_item = list_head; for (j = 0; j < count; j++) { text = (gchar *) g_strdup(string_list_item->data); new_width = char_width * strlen(text); if (new_width > width) width = new_width; gtk_sheet_row_button_add_label(sheet, j, text); gtk_sheet_row_button_justify(sheet, j, GTK_JUSTIFY_LEFT); g_free(text); string_list_item = string_list_item->next; } gtk_sheet_set_row_titles_width(sheet, width+8); } /*------------------------------------------------------------------*/ /*! \brief Add column labels to GtkSheet * * Add column labels to GtkSheet. * \param sheet GtkSheet to add columns to * \param count * \param list_head pointer to top of STRING_LIST */ void x_gtksheet_add_col_labels(GtkSheet *sheet, int count, STRING_LIST *list_head) { STRING_LIST *string_list_item; gchar *text; int j; /* Leave if no items to add are available */ if ((count == 0) || (list_head == NULL)) return; string_list_item = list_head; for (j = 0; j < count; j++) { text = (gchar *) g_strdup(string_list_item->data); gtk_sheet_column_button_add_label(sheet, j, text); gtk_sheet_column_button_justify(sheet, j, GTK_JUSTIFY_LEFT); /* need to resize the column width here . . . */ g_free(text); string_list_item = string_list_item->next; } } /*------------------------------------------------------------------*/ /*! \brief Add a cell item to the GtkSheet * * Add a cell item to the GtkSheet * \param sheet GtkSheet to add the cell item to * \param i * \param j * \param text * \param visibility * \param show_name_value */ void x_gtksheet_add_cell_item(GtkSheet *sheet,gint i, gint j, gchar *text, gint visibility, gint show_name_value) { /* Should I do some sanity checking here? */ gtk_sheet_set_cell(sheet, i, j, GTK_JUSTIFY_LEFT, text); if (visibility == INVISIBLE) { x_gtksheet_set_cell_text_color(sheet, i, j, GREY); } else { switch(show_name_value) { case(SHOW_NAME_VALUE): x_gtksheet_set_cell_text_color(sheet, i, j, BLUE); break; case(SHOW_NAME): x_gtksheet_set_cell_text_color(sheet, i, j, RED); break; case(SHOW_VALUE): x_gtksheet_set_cell_text_color(sheet, i, j, BLACK); break; } } /* if (visibility == INVISIBLE) */ /* Need to find a way to ensure that the text in a cell is clipped. * Otherwise, long attribs overwrite adjacent cells. */ } /*! \brief Get the first column selected in the GtkSheet * * Get the first column selected in the GtkSheet * Returns the index of the first column selected, or -1 if * no column is selected. * \param sheet GtkSheet to query * \returns index of the first column selected, or -1 if * no column is selected. */ int x_gtksheet_get_min_col(GtkSheet *sheet) { if (sheet->state == GTK_SHEET_COLUMN_SELECTED) { return sheet->range.col0; } else { return -1; } } /*! \brief Get the last column selected in the GtkSheet * * Get the last column selected in the GtkSheet * \param GtkSheet to query * \returns the index of the last column selected, or -1 if * no column is selected. */ int x_gtksheet_get_max_col(GtkSheet *sheet) { if (sheet->state == GTK_SHEET_COLUMN_SELECTED) { return sheet->range.coli; } else { return -1; } } /*! \brief Set the text color of a cell * * Sets the color of a cell identified by row, col. * \param sheet GtkSheet to operate on * \param row Row of cell to set * \param col Column of cell to set * \param color_name Color to set text to */ void x_gtksheet_set_cell_text_color(GtkSheet *sheet, gint row, gint col, gint color_name) { GtkSheetRange *range; GdkColormap *cmap; GdkColor *color; /* First get the system color map and allocate the color */ cmap = gdk_colormap_get_system (); color = g_new (GdkColor, 1); switch(color_name) { case RED: color->red = 0xffff; color->green = 0x0; color->blue = 0x0; break; case BLUE: color->red = 0x0; color->green = 0x0; color->blue = 0xffff; break; case BLACK: color->red = 0x0; color->green = 0x0; color->blue = 0x0; break; case GREY: color->red = 0x9999; color->green = 0x9999; color->blue = 0x9999; break; } if (!gdk_colormap_alloc_color (cmap, color, FALSE, FALSE)) { g_error (_("couldn't allocate color")); return; } /* g_free(cmap); */ /* XXXXX Attempt to set cell color */ range = g_new (GtkSheetRange, 1); range->row0 = row; range->rowi = row; range->col0 = col; range->coli = col; /* Now set color */ gtk_sheet_range_set_foreground(sheet, range, color); g_free(color); g_free(range); } /*! \brief Show text entry box * * Displays a text entry box at the top of the working area. * It is removed since it is not needed now, but may come in * handy later. Therefore I keep the code around. * \param widget * \param data */ static void show_entry(GtkWidget *widget, gpointer data) { gchar *text; GtkSheet *sheet; GtkWidget *sheet_entry = NULL; gint cur_page; if(!GTK_WIDGET_HAS_FOCUS(widget)) { return; } cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); sheet = GTK_SHEET(sheets[cur_page]); if (sheet != NULL) { sheet_entry = gtk_sheet_get_entry( GTK_SHEET(sheet) ); } /* Here's another place where we mix entry and sheet_entry */ if (entry != NULL) { text = (gchar *) gtk_entry_get_text (GTK_ENTRY(sheet_entry)); if( text != NULL ) { gtk_entry_set_text(GTK_ENTRY(entry), text); } else { gtk_entry_set_text(GTK_ENTRY(entry), (const gchar *) ""); /* gtk_entry_set_text(GTK_ENTRY(entry), NULL); */ } } } lepton-eda-1.9.10/attrib/src/f_export.c0000644000175000017500000001366013634703632014636 00000000000000/* Lepton EDA attribute editor * Copyright (C) 2003-2010 Stuart D. Brorson. * Copyright (C) 2003-2013 gEDA Contributors * Copyright (C) 2017-2020 Lepton EDA Contributors * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file * \brief Import/export functions * * This file holds fcns used for import/export of attribute sheets. * At the moment, this is only component sheets. */ #include #include #ifdef HAVE_STRING_H #include #endif #include /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #include "../include/gettext.h" /* =================== Public Functions ====================== */ /* ------------------------------------------------------------- */ /* \brief Export components to CSV * * This function is invoked when the user selects file -> * export from the pull-down menu. It writes out a CSV file * of the design for external processing. * * \param filename The name of the file to export to */ void f_export_components(gchar *filename) { gint cur_page; gint num_rows; gint num_cols; gint i,j; gchar *text; FILE *fp; /* ----- Check that we have a component ----- */ cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); if (cur_page != 0) { /* We only export the component table */ /* XXXXX Maybe throw up error message in window instead? */ x_dialog_unimplemented_feature(); return; } /* ----- First try to open file for writing ----- */ #ifdef DEBUG printf ("f_export_components: "); printf ("Trying to open %s.\n", filename); #endif fp = fopen(filename, "wb"); if (fp == NULL) { s_log_message(_("Could not open [%1$s]"), filename); /* XXXXX Throw up error message in window */ return; } /* ----- Now write out data ----- */ num_rows = sheet_head->comp_count; num_cols = sheet_head->comp_attrib_count; /* First export top row -- attribute names */ /* Print out "refdes" since that's always the first column */ fprintf(fp, "refdes, "); /* Print out optional attrib names */ for (j = 0; j < num_cols-1; j++) { text = g_strdup( s_string_list_get_data_at_index( sheet_head->master_comp_attrib_list_head, j) ); fprintf(fp, "%s, ", text); g_free(text); } /* Print out last attrib name with no comma and with \n. */ text = g_strdup( s_string_list_get_data_at_index( sheet_head->master_comp_attrib_list_head, j) ); fprintf(fp, "%s\n", text); g_free(text); /* Now export the contents of the sheet */ for (i = 0; i < num_rows; i++) { /* First output the component refdes */ text = g_strdup( s_string_list_get_data_at_index( sheet_head->master_comp_list_head, i) ); #ifdef DEBUG printf ("f_export_components: "); printf ("Getting refdes: row number = %d, output component refdes = %s.\n", i, text); #endif fprintf(fp, "%s, ",text); g_free(text); /* Now export the attrib values for first n-1 cols */ for (j = 0; j < num_cols-1; j++) { if ( (sheet_head->component_table)[i][j].attrib_value ) { /* found a string */ /* make a copy of the text, escaping any special chars, like " */ text = (gchar *) g_strescape( (sheet_head->component_table)[i][j].attrib_value, "" ); #ifdef DEBUG printf ("f_export_components: "); printf ("Output attribute %s.\n", text); #endif /* if there's a comma anywhere in the field, wrap the field in " */ gboolean havecomma = ( g_strstr_len(text, -1, ",") != NULL ); if(havecomma) fprintf(fp, "\""); fprintf(fp, "%s", text); if(havecomma) fprintf(fp, "\""); fprintf(fp, ", "); g_free(text); } else { /* no attrib string */ #ifdef DEBUG printf ("f_export_components: "); printf ("Output blank attrib space.\n"); #endif fprintf(fp, ", "); } } /* end of for over cols */ /* Now export attrib value for last col (with no "," and with "\n" */ if ( (sheet_head->component_table)[i][j].attrib_value ) { /* found a string */ /* make a copy of the text, escaping any special chars, like " */ text = (gchar *) g_strescape( (sheet_head->component_table)[i][j].attrib_value, "" ); #ifdef DEBUG printf ("f_export_components: "); printf ("Output final attribute %s.\n", text); #endif /* if there's a comma anywhere in the field, wrap the field in " */ gboolean havecomma = ( g_strstr_len(text, -1, ",") != NULL ); if(havecomma) fprintf(fp, "\""); fprintf(fp, "%s", text); if(havecomma) fprintf(fp, "\""); fprintf(fp, "\n"); g_free(text); } else { /* no attrib string */ #ifdef DEBUG printf ("f_export_components: "); printf ("Output blank at end of line.\n"); #endif fprintf(fp, "\n"); } #ifdef DEBUG printf ("f_export_components: "); printf ("Go to next row.\n"); #endif } /* close of for over rows */ fclose(fp); return; } lepton-eda-1.9.10/attrib/src/s_toplevel.c0000644000175000017500000011173613634703632015167 00000000000000/* Lepton EDA attribute editor * Copyright (C) 2003-2010 Stuart D. Brorson. * Copyright (C) 2003-2014 gEDA Contributors * Copyright (C) 2017-2020 Lepton EDA Contributors * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*------------------------------------------------------------------*/ /*! \file * \brief Functions to manipulate the TOPLEVEL struct. * * This file holds functions involved in manipulating the TOPLEVEL data * structure. TOPLEVEL is the data structure inherited from gEDA's * other programs, and holds all info about a project in a form * native to gEDA. */ #include #include #ifdef HAVE_STRING_H #include #endif #include /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #include "../include/gettext.h" /* =================== Public Functions ====================== */ /*! \brief Read a schematic page * * Reads in a schematic page & calls f_open, which fills out the * toplevel structure. * * \param toplevel TOPLEVEL structure * \param filename file to be opened * \returns 1 on success, 0 on failure */ int s_toplevel_read_page(TOPLEVEL *toplevel, char *filename) { int file_return_code; GError *err = NULL; /* Set the new filename */ s_page_set_filename (toplevel->page_current, filename); /* read in and fill out toplevel using f_open and its callees */ file_return_code = f_open (toplevel, toplevel->page_current, filename, &err); /* If an error occurred, print message */ if (err != NULL) { g_warning ("%s", err->message); g_error_free (err); } return file_return_code; } /*! \brief Verify the entire design * * This function loops through all components in the * design looking for components which are placeholders. * * Placeholders are inserted into the object list when * no symbol file is found. If this function finds a * placeholder, it warns the user. * * \param toplevel pointer to the toplevel object to be verified */ void s_toplevel_verify_design (TOPLEVEL *toplevel) { GList *p_iter; const GList *o_iter; int missing_sym_flag = 0; for (p_iter = geda_list_get_glist (toplevel->pages); p_iter != NULL; p_iter = g_list_next (p_iter)) { PAGE *p_current = (PAGE*) p_iter->data; for (o_iter = s_page_objects (p_current); o_iter != NULL; o_iter = g_list_next (o_iter)) { OBJECT *o_current = (OBJECT*) o_iter->data; /* --- look for object, and verify that it has a symbol file attached. ---- */ if (o_current->type == OBJ_PLACEHOLDER) { missing_sym_flag = 1; /* flag to signal that problem exists. */ } } } if (missing_sym_flag) { x_dialog_missing_sym(); /* dialog gives user option to quit */ } } /*------------------------------------------------------------------*/ /*! \brief Copy data from gtksheet into TOPLEVEL struct * * Called when the user invokes "save". It first * places all data from gtksheet into SHEET_DATA. Then it * loops through all pages & calls s_toplevel_sheetdata_to_toplevel() * to place all * stuff in SHEET_DATA into the libgeda TOPLEVEL structure. */ void s_toplevel_gtksheet_to_toplevel(TOPLEVEL *toplevel) { GList *iter; PAGE *p_current; #if DEBUG printf ("==== Enter s_toplevel_gtksheet_to_toplevel()\n"); #endif s_sheet_data_gtksheet_to_sheetdata(); /* read data from gtksheet into SHEET_DATA */ #if DEBUG printf ("s_toplevel_gtksheet_to_toplevel: "); printf ("Done writing stuff from gtksheet into SHEET_DATA.\n"); #endif /* must iterate over all pages in design */ for ( iter = geda_list_get_glist( toplevel->pages ); iter != NULL; iter = g_list_next( iter ) ) { p_current = (PAGE *)iter->data; s_toplevel_set_page_current (toplevel, p_current); /* only traverse pages which are toplevel */ if (p_current->page_control == 0) { s_toplevel_sheetdata_to_toplevel (toplevel, p_current); /* adds all objects from page */ } } #if DEBUG printf ("s_toplevel_gtksheet_to_toplevel: "); printf ("Done writing SHEEET_DATA text back into pr_currnet.\n"); #endif return; } /*------------------------------------------------------------------*/ /*! \brief Add a new attribute to the top level * * This function gets called when the user has entered a new attrib name, * and clicked the OK button. It does this: * -# It figures out which attrib/sheet is being added to * -# It destroys the old table in preparation for the new attrib. * -# It adds the new attrib to the master lists. * -# It creates a new table with the new attrib. * -# It then adds the appropriate col to the gtksheet. * \param new_attrib_name attribute to be added */ void s_toplevel_add_new_attrib(gchar *new_attrib_name) { gint cur_page; /* current page in notbook */ gint old_comp_attrib_count; gint new_index; if (strcmp(new_attrib_name, N_("_cancel")) == 0) { return; /* user pressed cancel or closed window with no value in entry */ } /* Next must figure out which sheet the attrib belongs to. */ cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); #ifdef DEBUG printf ("s_toplevel_add_new_attrib: "); printf ("Adding new attrib to page %d.\n", cur_page); #endif switch (cur_page) { case 0: /* component attribute */ /* Eventually, I want to just resize the table to accomodate the * new attrib. However, that is difficult. Therefore, I will just * destroy the old table and recreate it for now. */ /* s_table_destroy(sheet_head->component_table, sheet_head->comp_count, sheet_head->comp_attrib_count); */ old_comp_attrib_count = sheet_head->comp_attrib_count; #ifdef DEBUG printf ("s_toplevel_add_new_attrib: "); printf ("Before adding new comp attrib: comp_attrib_count = %d\n", old_comp_attrib_count); #endif s_string_list_add_item(sheet_head->master_comp_attrib_list_head, &(sheet_head->comp_attrib_count), new_attrib_name); s_string_list_sort_master_comp_attrib_list(); /* Now, determine what index the new attrib ended up at * This is necessary to tell gtk_sheet_insert_columns * where the data should be shifted */ new_index = s_string_list_find_in_list(sheet_head->master_comp_attrib_list_head, (char*)new_attrib_name); #ifdef DEBUG printf ("s_toplevel_add_new_attrib: "); printf ("Updated comp_attrib string list: new comp_attrib_count = %d\n", sheet_head->comp_attrib_count); #endif /* Now create new table */ /* sheet_head->component_table = s_table_new(sheet_head->comp_count, sheet_head->comp_attrib_count); */ /* resize table to accomodate new attrib col */ sheet_head->component_table = s_table_resize(sheet_head->component_table, sheet_head->comp_count, old_comp_attrib_count, sheet_head->comp_attrib_count); #ifdef DEBUG printf ("s_toplevel_add_new_attrib: "); printf ("Resized component table.\n"); #endif /* Fill out new sheet with new stuff from gtksheet */ gtk_sheet_insert_columns(GTK_SHEET(sheets[0]), new_index, 1); x_gtksheet_add_col_labels(GTK_SHEET(sheets[0]), sheet_head->comp_attrib_count, sheet_head->master_comp_attrib_list_head); #ifdef DEBUG printf ("s_toplevel_add_new_attrib: "); printf ("Updated gtksheet.\n"); #endif break; case 1: /* net attribute */ /* insert into net attribute list */ break; case 2: /* pin attribute */ /* insert into pin attribute list */ break; } /* switch */ return; } /*------------------------------------------------------------------*/ /*! \brief Delete an attribute column * * This function gets called when the user has selected a single attrib * column, selected the edit->delete attrib item from the pull-down * menu, and then said "yes" to the confirm dialog. */ void s_toplevel_delete_attrib_col() { gint cur_page; /* current page in notbook */ gint mincol, maxcol; GtkSheet *sheet; gchar *attrib_name; /* Repeat previous checks */ cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook)); sheet = GTK_SHEET(sheets[cur_page]); if (sheet == NULL) { return; } mincol = x_gtksheet_get_min_col(sheet); maxcol = x_gtksheet_get_max_col(sheet); if ( (mincol != maxcol) || (mincol == -1) || (maxcol == -1) ) { return; } #ifdef DEBUG printf ("s_toplevel_delete_attrib_col: "); printf ("Checks were OK, now do real work\n"); #endif /* Rebuild the gattrib-specific data structures */ switch (cur_page) { case 0: /* component attribute */ /* Eventually, I want to just resize the table after deleting the * attrib. However, that is difficult. Therefore, I will just * destroy the old table and recreate it for now. */ s_table_destroy(sheet_head->component_table, sheet_head->comp_count, sheet_head->comp_attrib_count); /* Get name (label) of the col to delete from the gtk sheet */ attrib_name = g_strdup( gtk_sheet_column_button_get_label(sheet, mincol) ); if (attrib_name != NULL) { #ifdef DEBUG printf ("s_toplevel_delete_attrib_col: "); printf ("Attrib to delete = %s\n", attrib_name); #endif } else { fprintf (stderr, "s_toplevel_delete_attrib_col: "); fprintf (stderr, _("Can't get attrib name\n")); return; } #ifdef DEBUG printf ("s_toplevel_delete_attrib_col: "); printf ("Before deleting comp attrib: comp_attrib_count = %d\n", sheet_head->comp_attrib_count); #endif s_string_list_delete_item(&(sheet_head->master_comp_attrib_list_head), &(sheet_head->comp_attrib_count), attrib_name); s_string_list_sort_master_comp_attrib_list(); /* this renumbers list also */ g_free(attrib_name); #ifdef DEBUG printf ("s_toplevel_delete_attrib_col: "); printf ("Just updated comp_attrib string list: new comp_attrib_count = %d\n", sheet_head->comp_attrib_count); #endif /* Now create new table with new attrib count*/ sheet_head->component_table = s_table_new(sheet_head->comp_count, sheet_head->comp_attrib_count); #ifdef DEBUG printf ("s_toplevel_delete_attrib_col: "); printf ("Updated SHEET_DATA info.\n"); #endif break; case 1: /* net attribute */ /* insert into net attribute list */ break; case 2: /* pin attribute */ /* insert into pin attribute list */ break; } /* switch */ /* Delete col on gtksheet */ #ifdef DEBUG printf ("s_toplevel_delete_attrib_col: "); printf ("About to delete col in gtksheet.\n"); #endif gtk_sheet_delete_columns (sheet, mincol, 1); #ifdef DEBUG printf ("s_toplevel_delete_attrib_col: "); printf ("Done deleting col in gtksheet.\n"); #endif sheet_head->CHANGED = TRUE; /* Set changed flag so user is prompted when exiting */ return; } /* ======================= Private functions ====================== */ /*------------------------------------------------------------------*/ /*! \brief Copy SHEET_DATA content to TOP_LEVEL * * This function * loops through all objects on (PAGE page)->(OBJECT *start_obj). * It takes the updated SHEET_DATA->TABLE data and then updates the * objects with the new attribs & attrib values. * For each component, it updates the attached * attrib values using the updated values held in the SHEET_DATA->TABLE * structure. It does so in three steps: * -# First find and update component attribs. * -# Then find and update net attribs. * -# Finally find and update pin attribs. * \param toplevel TOPLEVEL structure * \param page schematic page to copy */ void s_toplevel_sheetdata_to_toplevel (TOPLEVEL *toplevel, PAGE *page) { GList *copy_list; GList *o_iter, *prim_iter; char *temp_uref; STRING_LIST *new_comp_attrib_pair_list; STRING_LIST *new_pin_attrib_list; /* ----- First deal with all components on the page. ----- */ #ifdef DEBUG printf ("s_toplevel_sheetdata_to_toplevel: "); printf ("Handling components\n"); #endif /* Work from a copy list, as objects can be deleted * from the list during iteration over the list. */ /* NB: g_list_copy doesn't declare its input const, so we cast */ copy_list = g_list_copy ((GList *)s_page_objects (page)); /* Iterate backwards since attributes are attached after their * parent objects in the list. Attributes can get deleted during * the iteration. */ for (o_iter = g_list_last (copy_list); o_iter != NULL; o_iter = g_list_previous (o_iter)) { OBJECT *o_current = (OBJECT*) o_iter->data; /* ------- Object is a component. Handle component attributes. ------- */ if (o_current->type == OBJ_COMPONENT) { /* Note that OBJ_COMPONENT = component + attribs */ #if 0 if (o_attrib_search_object_attribs_by_name (o_current, "graphical", 0)) { break; /* Ignore graphical components */ } #endif temp_uref = s_attrib_get_refdes(o_current); if (temp_uref != NULL) { /* Must create a name=value pair list for each particular component * which we can pass to function updating o_current. This function * places all attribs * found in the row into new_comp_attrib_pair_list. */ new_comp_attrib_pair_list = s_table_create_attrib_pair(temp_uref, sheet_head->component_table, sheet_head->master_comp_list_head, sheet_head->comp_attrib_count); /* Now update attribs in toplevel using this list. */ s_toplevel_update_component_attribs_in_toplevel(toplevel, o_current, new_comp_attrib_pair_list); g_free(temp_uref); } else { #ifdef DEBUG printf ("s_toplevel_sheetdata_to_toplevel: "); printf ("Found component with no refdes. name = %s\n", o_current->name); #endif } } /* if (o_current->type == OBJ_COMPONENT) */ } g_list_free (copy_list); #if 0 /* ----- Next deal with all nets on the page. ----- */ /* This is TBD */ #endif /* ----- Finally deal with all pins on the page. ----- */ /* ----- Next deal with all nets on the page. ----- */ #ifdef DEBUG printf ("s_toplevel_sheetdata_to_toplevel: "); printf ("Handling pins\n"); #endif /* Work from a copy list in case objects are * deleted from the list during its iteration. */ /* NB: g_list_copy doesn't declare its input const, so we cast */ copy_list = g_list_copy ((GList *)s_page_objects (page)); for (o_iter = g_list_last (copy_list); o_iter != NULL; o_iter = g_list_previous (o_iter)) { OBJECT *o_current = (OBJECT*) o_iter->data; /* ------- Object is a component. Handle pins by looking ------ */ /* ------- for all pins attached to a component. ------ */ if (o_current->type == OBJ_COMPONENT) { /* Upon finding a component, here's what to do: * 0. Get refdes of component. * 1. Loop over prim_objects, looking for pins. * 2. When a pin is found, create refdes:pinnumber pair * used in searching TABLE. * 3. Search TABLE using refdes:pinnumber as key, and get list of * attribs corresponding to this refdes:pinnumber * 4. Stick the attribs into the TOPLEVEL data structure. */ temp_uref = s_attrib_get_refdes(o_current); if ( (temp_uref != NULL) && (o_current->component->prim_objs) ) { /* make sure object component has a refdes */ for (prim_iter = o_current->component->prim_objs; prim_iter != NULL; prim_iter = g_list_next (prim_iter)) { OBJECT *comp_prim_obj = (OBJECT*) prim_iter->data; if (comp_prim_obj->type == OBJ_PIN) { new_pin_attrib_list = s_toplevel_get_pin_attribs_in_sheet (temp_uref, comp_prim_obj); s_toplevel_update_pin_attribs_in_toplevel (toplevel, temp_uref, comp_prim_obj, new_pin_attrib_list); } } } /* if(temp_uref */ g_free(temp_uref); } } g_list_free (copy_list); return; } /*------------------------------------------------------------------*/ /*! \brief Get the component attributes from the top level * * This function returns a list of attributes attached to obj_name = comp * refdes or netlist. * \param refdes component refdes to return values from * \returns a STRING_LIST where the data field holds a name=value string. */ STRING_LIST *s_toplevel_get_component_attribs_in_sheet(char *refdes) { STRING_LIST *new_attrib_list; STRING_LIST *local_attrib_list; int i; int row = -1; int count = 0; char *name_value_pair; char *new_attrib_value; char *new_attrib_name; #if DEBUG printf ("==== Enter s_toplevel_get_component_attribs_in_sheet()\n"); #endif /* First find pos of this refdes in the master list */ row = s_table_get_index(sheet_head->master_comp_list_head, refdes); /* Sanity check */ if (row == -1) { /* we didn't find the item in the list */ fprintf (stderr, "s_toplevel_get_component_attribs_in_sheet: "); fprintf (stderr, _("We didn't find the refdes in the master list.\n")); return NULL; } /* Now get all attribs associated with this refdes (in TABLE, indexed * by position), and insert them into new_attrib_list. */ new_attrib_list = s_string_list_new(); /* init new_attrib_list */ i = 0; local_attrib_list = sheet_head->master_comp_attrib_list_head; while (local_attrib_list != NULL) { /* iterate over all possible attribs */ new_attrib_name = g_strdup(local_attrib_list->data); /* take attrib name from column headings */ if ( ((sheet_head->component_table)[row][i]).attrib_value ) { new_attrib_value = g_strdup( ((sheet_head->component_table)[row][i]).attrib_value ); name_value_pair = g_strconcat(new_attrib_name, "=", new_attrib_value, NULL); g_free(new_attrib_value); } else { name_value_pair = g_strconcat(new_attrib_name, "=", NULL); /* empty attrib */ } s_string_list_add_item(new_attrib_list, &count, name_value_pair); /* add name=value to new list */ g_free(new_attrib_name); g_free(name_value_pair); /* Sanity check */ if (count != i+1) { /* for some reason, we have lost a name_value_pair somewhere . . . */ fprintf (stderr, "s_toplevel_get_component_attribs_in_sheet: "); fprintf (stderr, "count != i.\n"); exit(-1); } /* iterate */ i++; local_attrib_list = local_attrib_list->next; } /* while (local_attrib_list != NULL) */ return new_attrib_list; } /*------------------------------------------------------------------*/ /*! \brief Update component attributes in TOP_LEVEL * * For each attrib string attached to the component, update it using the value * held in new_comp_attrib_list. Algorithm: * -# Form list of all component attribs held on both the component * (o_current), as well as in the attrib list (SHEET_DATA). * -# Loop over name=value pairs held in complete_comp_attrib_list. * -# For each name=value pair, look for corresponding attrib on o_current. * -# For each name=value pair, look for the corresponding attrib in * new_comp_attrib_list. * -# If the attrib exists on o_current and in new_comp_attrib_list, write the * new value (from new_comp_attrib_list) into o_current. * -# If the attrib exists on o_current, but is null in name=value pair, * delete the attrib from o_current. * -# If the attribs doesn't exist on o_current, but is non-null in * the name=value pair, create an attrib object and add it to the part * on o_current. * \param toplevel TOPLEVEL structure * \param o_current Component to be updated. * \param new_comp_attrib_list list of name=value attribute pairs * from SHEET_DATA. */ void s_toplevel_update_component_attribs_in_toplevel ( TOPLEVEL *toplevel, OBJECT *o_current, STRING_LIST *new_comp_attrib_list) { STRING_LIST *local_list; STRING_LIST *complete_comp_attrib_list; char *old_name_value_pair; char *new_attrib_name; char *new_attrib_value; char *old_attrib_name; char *old_attrib_value; gchar *refdes; GList *a_iter; OBJECT *a_current; int count = 0; /* This is to fake out a function called later */ gint row, col; gint visibility = 0; gint show_name_value = 0; #if DEBUG printf ("==== Enter s_toplevel_update_component_attribs_in_toplevel()\n"); #endif /* * To remove dead attribs from o_current, we need to form a complete list of unique * attribs by taking the union of the new attribs from the SHEET_DATA, and * the old attribs living on o_current. That's what we're doing here. * Later, we can delete those attribs in o_current which don't apear in * new_comp_attrib_list. */ /* First duplicate new_comp_attrib_list */ complete_comp_attrib_list = s_string_list_duplicate_string_list(new_comp_attrib_list); /* Now create a complete list of unique attribute names. This will be used in * the loop below when updating attributes. */ a_iter = o_current->attribs; while (a_iter != NULL) { a_current = (OBJECT*) a_iter->data; if (a_current->type == OBJ_TEXT && a_current->text != NULL) { /* found a name=value attribute pair. */ /* may need to check more thoroughly here. . . . */ old_name_value_pair = g_strdup(geda_text_object_get_string (a_current)); /* Else clause is suggestion from Ales */ #if 1 old_attrib_name = u_basic_breakup_string(old_name_value_pair, '=', 0); if ( (strcmp(old_attrib_name, "refdes") != 0) && (strcmp(old_attrib_name, "net") != 0) && (strcmp(old_attrib_name, "slot") != 0) && (s_attrib_name_in_list(new_comp_attrib_list, old_attrib_name) == FALSE) ) { s_string_list_add_item(complete_comp_attrib_list, &count, old_name_value_pair); } #else /* might now compile now, but this #if'd out branch isn't being built */ gint status; status = o_attrib_get_name_value (a_current, &old_attrib_name, &old_attrib_value); if (status == 0) { /* Don't put "refdes" or "slot" into list. Don't put old name=value pair into list if a new * one is already in there. */ if ( (strcmp(old_attrib_name, "refdes") != 0) && (strcmp(old_attrib_name, "net") != 0) && (strcmp(old_attrib_name, "slot") != 0) && (s_attrib_name_in_list(new_comp_attrib_list, old_attrib_name) == FALSE) ) { s_string_list_add_item(complete_comp_attrib_list, &count, old_name_value_pair); } g_free (old_attrib_name); g_free (old_attrib_value); } #endif g_free(old_name_value_pair); g_free(old_attrib_name); } a_iter = g_list_next (a_iter); } /* while (a_current != NULL) */ /* *Now the main business of this function: updating the attribs attached to this o_current. * Loop on name=value pairs held in complete_comp_attrib_list , and then use this to get the * name=value pairs out of new_comp_attrib_list and from o_current. */ /* First handle a special case: the component has no attribs (beside refdes). */ if (complete_comp_attrib_list->data == NULL) return; /* Now the normal case. . . . */ local_list = complete_comp_attrib_list; while (local_list != NULL) { #if DEBUG printf ("s_toplevel_update_component_attribs_in_toplevel: "); printf ("Handling entry in complete list %s.\n", local_list->data); #endif /* Now get the old attrib name & value from complete_comp_attrib_list * and value from o_current */ old_attrib_name = u_basic_breakup_string(local_list->data, '=', 0); old_attrib_value = o_attrib_search_attached_attribs_by_name (o_current, old_attrib_name, 0); #if DEBUG printf ("s_toplevel_update_component_attribs_in_toplevel: "); printf ("Old name = \"%s\".\n", old_attrib_name); printf ("s_toplevel_update_component_attribs_in_toplevel: "); printf ("Old value = \"%s\".\n", old_attrib_value); #endif /* Next try to get this attrib from new_comp_attrib_list */ new_attrib_name = u_basic_breakup_string(local_list->data, '=', 0); if (s_string_list_in_list(new_comp_attrib_list, local_list->data)) { new_attrib_value = s_misc_remaining_string(local_list->data, '=', 1); } else { new_attrib_value = NULL; } #if DEBUG printf ("s_toplevel_update_component_attribs_in_toplevel: "); printf ("New name = \"%s\".\n", new_attrib_name); printf ("s_toplevel_update_component_attribs_in_toplevel: "); printf ("New value = \"%s\".\n", new_attrib_value); #endif /* Now get row and col where this new attrib lives. Then get * visibility of the new attrib stored in the component table */ /* We'll need this later */ refdes = g_strdup(s_attrib_get_refdes(o_current)); row = s_table_get_index(sheet_head->master_comp_list_head, refdes); col = s_table_get_index(sheet_head->master_comp_attrib_list_head, new_attrib_name); /* if attribute has been deleted from the sheet, here is where we detect that */ if ( (row == -1) || (col == -1) ) { new_attrib_value = NULL; /* attrib will be deleted below */ } else { /* we need a better place to get this info since the TABLE can be out of date */ visibility = sheet_head->component_table[row][col].visibility; show_name_value = sheet_head->component_table[row][col].show_name_value; } g_free(refdes); /* ------- Four cases to consider: Case 1 ----- */ if ( (old_attrib_value != NULL) && (new_attrib_value != NULL) && (strlen(new_attrib_value) != 0) ) { /* simply write new attrib into place of old one. */ #if DEBUG printf ("s_toplevel_update_component_attribs_in_toplevel: "); printf ("About to replace old attrib with name= %s, value= %s\n", new_attrib_name, new_attrib_value); printf (" visibility = %d, show_name_value = %d.\n", visibility, show_name_value); #endif s_object_replace_attrib_in_object(toplevel, o_current, new_attrib_name, new_attrib_value, visibility, show_name_value); } /* ------- Four cases to consider: Case 2 ----- */ else if ( (old_attrib_value != NULL) && (new_attrib_value == NULL) ) { /* remove attrib from component*/ #if DEBUG printf ("s_toplevel_update_component_attribs_in_toplevel: "); printf ("About to remove old attrib with name= %s, value= %s\n", old_attrib_name, old_attrib_value); #endif s_object_remove_attrib_in_object (toplevel, o_current, old_attrib_name); } /* ------- Four cases to consider: Case 3 ----- */ else if ( (old_attrib_value == NULL) && (new_attrib_value != NULL) ) { /* add new attrib to component. */ #if DEBUG printf ("s_toplevel_update_component_attribs_in_toplevel: "); printf ("About to add new attrib with name= %s, value= %s\n", new_attrib_name, new_attrib_value); #endif s_object_add_comp_attrib_to_object (toplevel, o_current, new_attrib_name, new_attrib_value, visibility, show_name_value); /* ------- Four cases to consider: Case 4 ----- */ } else { /* Do nothing. */ #if DEBUG printf ("s_toplevel_update_component_attribs_in_toplevel: "); printf ("Nothing needs to be done.\n"); #endif } /* Toggle attribute visibility and name/value setting */ /* free everything and iterate */ g_free(new_attrib_name); g_free(new_attrib_value); g_free(old_attrib_name); g_free(old_attrib_value); local_list = local_list->next; } /* while (local_list != NULL) */ return; } /*------------------------------------------------------------------*/ /*! * \todo Function doesn't do anything - candidate for removal? */ STRING_LIST *s_toplevel_get_net_attribs_in_sheet(char *netname) { /* must be filled in */ return NULL; } /*------------------------------------------------------------------*/ /*! * \todo Function doesn't do anything - candidate for removal? */ void s_toplevel_update_net_attribs_in_toplevel(OBJECT *o_current, STRING_LIST *new_net_attrib_list) { /* must be filled in */ return; } /*------------------------------------------------------------------*/ /*! \brief Get pin attributes * * This function takes a pointer to the OBJECT pin, and returns a list * of attribs found attached to the pin. The returned list is a * STRING_LIST where the ->data holds a name=value string. * The algorithm is as follows: * -# Form refdes:pinnumber label for this pin. * -# Get row number of this refdes:pinnumber * -# Create a list of name=value pairs from entries in the pin_table * on this row. * -# Return list of name=value pairs found. * * \param refdes Ref des string * \param pin Pin object * \returns name=value pair as a STRING_LIST */ STRING_LIST *s_toplevel_get_pin_attribs_in_sheet(char *refdes, OBJECT *pin) { STRING_LIST *new_attrib_list; STRING_LIST *local_attrib_list; int i; int row = -1; int count = 0; char *pinnumber; char *row_label; char *name_value_pair; char *new_attrib_value; char *new_attrib_name; #if DEBUG printf ("==== Enter s_toplevel_get_pin_attribs_in_sheet()\n"); #endif /* First find pos of this pin in the master pin list */ /* first convert refdes, pin to refdes:pinno text string. Then call table_get_index. */ pinnumber = o_attrib_search_object_attribs_by_name (pin, "pinnumber", 0); if ( (refdes != NULL) && (pinnumber != NULL) ) { row_label = g_strconcat(refdes, ":", pinnumber, NULL); } else { fprintf (stderr, "s_toplevel_get_pin_attribs_in_sheet: "); fprintf (stderr, _("Either refdes or pinnumber of object missing.\n")); return NULL; } row = s_table_get_index(sheet_head->master_pin_list_head, row_label); /* Sanity check */ if (row == -1) { /* we didn't find the item in the list */ fprintf (stderr, "s_toplevel_get_pin_attribs_in_sheet: "); fprintf (stderr, _("We didn't find the refdes:pin in the master list.\n")); return NULL; } /* Now get all attribs associated with this refdes (in TABLE, indexed * by position), and insert them into new_attrib_list. */ new_attrib_list = s_string_list_new(); /* init new_attrib_list */ i = 0; local_attrib_list = sheet_head->master_pin_attrib_list_head; while (local_attrib_list != NULL) { /* iterate over all possible attribs */ new_attrib_name = g_strdup(local_attrib_list->data); /* take attrib name from column headings */ if ( ((sheet_head->pin_table)[row][i]).attrib_value ) { new_attrib_value = g_strdup( ((sheet_head->pin_table)[row][i]).attrib_value ); name_value_pair = g_strconcat(new_attrib_name, "=", new_attrib_value, NULL); g_free(new_attrib_value); } else { name_value_pair = g_strconcat(new_attrib_name, "=", NULL); /* empty attrib */ } s_string_list_add_item(new_attrib_list, &count, name_value_pair); /* add name=value to new list */ g_free(new_attrib_name); g_free(name_value_pair); /* Sanity check */ if (count != i+1) { /* for some reason, we have lost a name_value_pair somewhere . . . */ fprintf (stderr, "s_toplevel_get_pin_attribs_in_sheet: "); fprintf (stderr, "count != i.\n"); exit(-1); } /* iterate */ i++; local_attrib_list = local_attrib_list->next; } /* while (local_attrib_list != NULL) */ return new_attrib_list; } /*------------------------------------------------------------------*/ /*! \brief Update pin attributes in toplevel * * For each attrib string attached to the pin, update it using the value * held in new_pin_attrib_list. Algorithm: * -# Loop over name=value pairs held in new_pin_attrib_list. * -# For each name=value pair, look for corresponding attrib on pin. * -# If the attrib exists on pin and in name=value pair, write the * new value in. * -# If the attrib exists on pin, but is null in name=value pair, * delete the attrib. * -# If the attribs doesn't exist on pin, but is non-null in * the name=value pair, create an attrib object and add it to the pin. * \param toplevel TOPLEVEL structure * \param refdes Unused - needs refactored out * \param [in,out] o_pin pin to update * \param [in] new_pin_attrib_list New pin attribute list to apply */ void s_toplevel_update_pin_attribs_in_toplevel (TOPLEVEL *toplevel, char *refdes, OBJECT *o_pin, STRING_LIST *new_pin_attrib_list) { STRING_LIST *local_list; char *new_name_value_pair; char *new_attrib_name; char *new_attrib_value; char *old_attrib_value; #if DEBUG printf ("==== Enter s_toplevel_update_pin_attribs_in_toplevel()\n"); #endif /* loop on name=value pairs held in new_pin_attrib_list */ local_list = new_pin_attrib_list; while (local_list != NULL) { new_name_value_pair = g_strdup(local_list->data); #if DEBUG printf ("s_toplevel_update_pin_attribs_in_toplevel: "); printf ("Handling entry in master list %s.\n", new_name_value_pair); #endif new_attrib_name = u_basic_breakup_string(new_name_value_pair, '=', 0); new_attrib_value = u_basic_breakup_string(new_name_value_pair, '=', 1); if (strlen(new_attrib_value) == 0) { g_free(new_attrib_value); new_attrib_value = NULL; /* s_misc_remaining_string doesn't return NULL for empty substring. */ } old_attrib_value = o_attrib_search_attached_attribs_by_name (o_pin, new_attrib_name, 0); /* ------- Four cases to consider: Case 1: old and new attribs exist ----- */ if ( (old_attrib_value != NULL) && (new_attrib_value != NULL) && (strlen(new_attrib_value) != 0) ) { /* simply write new attrib into place of old one. */ #if DEBUG printf ("s_toplevel_update_pin_attribs_in_toplevel: "); printf ("About to replace old attrib with new one: name= %s, value= %s\n", new_attrib_name, new_attrib_value); #endif s_object_replace_attrib_in_object(toplevel, o_pin, new_attrib_name, new_attrib_value, LEAVE_VISIBILITY_ALONE, LEAVE_NAME_VALUE_ALONE); } /* ------- Four cases to consider: Case 2: old attrib exists, new one doesn't ----- */ else if ( (old_attrib_value != NULL) && (new_attrib_value == NULL) ) { /* remove attrib from pin */ #if DEBUG printf ("s_toplevel_update_pin_attribs_in_toplevel: "); printf ("About to remove old attrib with name= %s, value= %s\n", new_attrib_name, old_attrib_value); #endif s_object_remove_attrib_in_object (toplevel, o_pin, new_attrib_name); } /* ------- Four cases to consider: Case 3: No old attrib, new one exists. ----- */ else if ( (old_attrib_value == NULL) && (new_attrib_value != NULL) ) { /* add new attrib to pin. */ #if DEBUG printf ("s_toplevel_update_pin_attribs_in_toplevel: "); printf ("About to add new attrib with name= %s, value= %s\n", new_attrib_name, new_attrib_value); #endif s_object_add_pin_attrib_to_object (toplevel, o_pin, new_attrib_name, new_attrib_value); /* ------- Four cases to consider: Case 4 ----- */ } else { /* Do nothing. */ #if DEBUG printf ("s_toplevel_update_pin_attribs_in_toplevel: "); printf ("Nothing needs to be done.\n"); #endif } /* free everything and iterate */ g_free(new_name_value_pair); g_free(new_attrib_name); g_free(new_attrib_value); g_free(old_attrib_value); local_list = local_list->next; } /* while (local_list != NULL) */ return; } lepton-eda-1.9.10/attrib/src/globals.c0000644000175000017500000000301313634703632014422 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*! \file * \brief Global declarations * * Global declarations */ #include #include /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" /* command line arguments */ int verbose_mode=FALSE; //!< Reflects the value of the command line flag int quiet_mode=FALSE; //!< Reflects the value of the command line flag lepton-eda-1.9.10/attrib/src/s_object.c0000644000175000017500000003435313634703632014602 00000000000000/* Lepton EDA attribute editor * Copyright (C) 2003-2010 Stuart D. Brorson. * Copyright (C) 2003-2016 gEDA Contributors * Copyright (C) 2017-2020 Lepton EDA Contributors * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*------------------------------------------------------------------*/ /*! \file * \brief Functions for manipulating OBJECTs. * * This file holds functions involved in manipulating the OBJECT data * structure. OBJECT is defined in libgeda. An OBJECT is a graphical * primitive normally used in gschem. Example OBJECTs: some text, * a component, a pin, a line, etc. * * The functions herein are functions which I wrote as wrappers to the * fcns in libgeda. */ #include #include #ifdef HAVE_STRING_H #include #endif #include /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #include "../include/gettext.h" /*------------------------------------------------------------------ * Gattrib specific defines *------------------------------------------------------------------*/ #define DEFAULT_TEXT_SIZE 10 /* =================== Public Functions ====================== */ /*------------------------------------------------------------------*/ /*! \brief Add an attribute to an OBJECT * * This fcn adds a new attrib to o_current, when o_current is a * component. It does it in the following * way: * -# It creates an object -- "attrib_graphic" -- and fills it in. * -# It gets the position info from o_current's refdes attrib and * calls o_text_new() to add position info and name=value string * to attrib_graphic. * -# It calls o_attrib_add() to wrap attrib_graphic with (attribute OBJECT ) * \param toplevel TOPLEVEL structure * \param o_current pointer to object to add attribute to * \param new_attrib_name name of the attribute to add * \param new_attrib_value value of the attribute to add * \param visibility Is the attribute visible? * \param show_name_value Control visibility of name and value. */ void s_object_add_comp_attrib_to_object (TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name, char *new_attrib_value, gint visibility, gint show_name_value) { char *name_value_pair; /* One last sanity check, then add attrib */ if (strlen(new_attrib_value) != 0) { name_value_pair = g_strconcat(new_attrib_name, "=", new_attrib_value, NULL); s_object_attrib_add_attrib_in_object (toplevel, name_value_pair, visibility, show_name_value, o_current); } return; } /*------------------------------------------------------------------*/ /*! * \todo This needs to be filled in. */ void s_object_add_net_attrib_to_object (TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name, char *new_attrib_value) { /* TBD */ } /*------------------------------------------------------------------*/ /*! \brief Add a new attribute to an pin OBJECT * * Add a new attribute to o_current, when o_current is a * pin. It does it in the following * way: * -# It creates an object -- "attrib_graphic" -- and fills it in. * -# It gets the position info from o_current's refdes attrib and * calls o_text_new() to add position info and name=value string * to attrib_graphic. * -# It calls o_attrib_add() to wrap attrib_graphic with (attribute OBJECT ) * \param toplevel TOPLEVEL structure * \param o_current Pointer to pin object * \param new_attrib_name Name of attribute to add * \param new_attrib_value Value of attribute to add * \todo Do I really need separate fcns for comps, nets, and * pins??? */ void s_object_add_pin_attrib_to_object (TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name, char *new_attrib_value) { char *name_value_pair; /* One last sanity check */ if (strlen(new_attrib_value) != 0) { name_value_pair = g_strconcat(new_attrib_name, "=", new_attrib_value, NULL); s_object_attrib_add_attrib_in_object (toplevel, name_value_pair, INVISIBLE, SHOW_NAME_VALUE, o_current); } return; } /*------------------------------------------------------------------*/ /*! \brief Replace attribute value in object * * Find the instance of attrib_name on o_current, and * replace its value with the new_attrib_value. * \param toplevel TOPLEVEL object * \param o_current object to operate on * \param new_attrib_name name of attribute to replace * \param new_attrib_value value to set attribute to * \param visibility set visibility of attribute * \param show_name_value set visibility of attribute name and value */ void s_object_replace_attrib_in_object(TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name, char *new_attrib_value, gint visibility, gint show_name_value) { GList *a_iter; OBJECT *a_current; char *old_attrib_text; char *old_attrib_name; char *new_attrib_text; a_iter = o_current->attribs; while (a_iter != NULL) { a_current = (OBJECT*) a_iter->data; if (a_current->type == OBJ_TEXT && a_current->text != NULL) { /* found an attribute */ /* may need to check more thoroughly here. . . . */ old_attrib_text = g_strdup(geda_text_object_get_string (a_current)); old_attrib_name = u_basic_breakup_string(old_attrib_text, '=', 0); if (strcmp(old_attrib_name, new_attrib_name) == 0) { /* create attrib=value text string & stuff it back into toplevel */ new_attrib_text = g_strconcat(new_attrib_name, "=", new_attrib_value, NULL); o_text_set_string (toplevel, a_current, new_attrib_text); if (visibility != LEAVE_VISIBILITY_ALONE) o_set_visibility (toplevel, a_current, visibility); if (show_name_value != LEAVE_NAME_VALUE_ALONE) a_current->show_name_value = show_name_value; g_free(new_attrib_text); g_free(old_attrib_text); g_free(old_attrib_name); return; /* we are done -- leave. */ } else { g_free(old_attrib_text); g_free(old_attrib_name); } /* if (strcmp . . . . */ } /* if (a_current . . . . */ a_iter = g_list_next (a_iter); } /* while */ /* if we get here, it's because we have failed to find the attrib on the component. * This is an error condition. */ fprintf (stderr, "s_object_replace_attrib_in_object: "); fprintf (stderr, _("Failed to find the attrib %1$s on the component.\n"), new_attrib_name); exit(-1); } /*------------------------------------------------------------------*/ /*! * \brief Remove attribute from object * * Remove an attribute from an object. * \param toplevel TOPLEVEL structure * \param o_current Object to remove attribute from * \param new_attrib_name Name of attribute to remove */ void s_object_remove_attrib_in_object (TOPLEVEL *toplevel, OBJECT *o_current, char *new_attrib_name) { GList *a_iter; OBJECT *a_current; OBJECT *attribute_object; char *old_attrib_text; char *old_attrib_name; a_iter = o_current->attribs; while (a_iter != NULL) { a_current = (OBJECT*) a_iter->data; if (a_current->type == OBJ_TEXT && a_current->text != NULL) { /* found an attribute */ /* may need to check more thoroughly here. . . . */ old_attrib_text = g_strdup(geda_text_object_get_string (a_current)); old_attrib_name = u_basic_breakup_string(old_attrib_text, '=', 0); if (strcmp(old_attrib_name, new_attrib_name) == 0) { /* We've found the attrib. Delete it and then return. */ #ifdef DEBUG printf ("s_object_remove_attrib_in_object: "); printf ("Removing attrib with name = %1$s\n", old_attrib_name); #endif attribute_object = a_current; s_object_delete_text_object_in_object (toplevel, attribute_object); g_free(old_attrib_text); g_free(old_attrib_name); return; /* we are done -- leave. */ } g_free(old_attrib_text); g_free(old_attrib_name); } a_iter = g_list_next (a_iter); } /* if we get here, it's because we have failed to find the attrib on the component. * This is an error condition. */ fprintf (stderr, "s_object_remove_attrib_in_object: "); fprintf (stderr, _("Failed to find the attrib %1$s on the component.\n"), new_attrib_name); exit(-1); } /*------------------------------------------------------------------*/ /*! \brief Attach attribute to object. * * Attach the name=value pair to the OBJECT "object". This function * was stolen from gschem/src/o_attrib.c:o_attrib_add_attrib and * hacked for gattrib. * \param toplevel TOPLEVEL to operate on * \param text_string * \param visibility * \param show_name_value * \param object * \returns pointer to the object * \todo Does it need to return OBJECT? */ OBJECT * s_object_attrib_add_attrib_in_object (TOPLEVEL *toplevel, char *text_string, int visibility, int show_name_value, OBJECT * object) { int world_x = -1, world_y = -1; int color; int left, right, top, bottom; OBJECT *o_current; OBJECT *new_obj; o_current = object; /* creating a toplevel or unattached attribute */ if (o_current) { /* get coordinates of where to place the text object */ switch (o_current->type) { case (OBJ_COMPONENT): world_x = o_current->component->x; world_y = o_current->component->y; color = ATTRIBUTE_COLOR; break; case (OBJ_NET): world_x = o_current->component->x; world_y = o_current->component->y; color = ATTRIBUTE_COLOR; break; default: fprintf (stderr, "s_object_attrib_add_attrib_in_object: "); fprintf (stderr, _("Trying to add attrib to non-component or non-net!\n")); exit(-1); } } else { /* This must be a floating attrib, but what is that !?!?!?!?! */ world_get_object_glist_bounds (toplevel, s_page_objects (toplevel->page_current), &left, &top, &right, &bottom); /* this really is the lower left hand corner */ world_x = left; world_y = top; /* printf("%d %d\n", world_x, world_y); */ color = DETACHED_ATTRIBUTE_COLOR; } /* first create text item */ #if DEBUG printf ("s_object_attrib_add_attrib_in_object: "); printf ("About to attach new text attrib with properties:\n"); printf (" color = %d\n", color); printf (" text_string = %s\n", text_string); printf (" visibility = %d\n", visibility); printf (" show_name_value = %d\n", show_name_value); #endif new_obj = geda_text_object_new (toplevel, color, world_x, world_y, LOWER_LEFT, 0, /* zero is angle */ text_string, DEFAULT_TEXT_SIZE, visibility, show_name_value); s_page_append (toplevel, toplevel->page_current, new_obj); /* now toplevel->page_current->object_tail contains new text item */ /* now attach the attribute to the object (if o_current is not NULL) */ /* remember that o_current contains the object to get the attribute */ if (o_current) { o_attrib_attach (toplevel, new_obj, o_current, FALSE); } o_selection_add (toplevel, toplevel->page_current->selection_list, new_obj); toplevel->page_current->CHANGED = 1; return new_obj; } /*------------------------------------------------------------------*/ /*! \brief Delete text object * * Delete the text object pointed to by text_object. This function * was shamelessly stolen from gschem/src/o_delete.c and hacked * for gattrib by SDB. * \param toplevel TOPLEVEL to be operated on * \param test_object text object to be deleted */ void s_object_delete_text_object_in_object (TOPLEVEL *toplevel, OBJECT * text_object) { s_page_remove (toplevel, toplevel->page_current, text_object); s_delete_object (toplevel, text_object); toplevel->page_current->CHANGED = 1; } /*------------------------------------------------------------------*/ /*! \brief Ensure object has a symbol file * * This verifies that the object has a non-null symbol file. * * \returns 0 = valid symbol file, 1 = no symbol file found. */ int s_object_has_sym_file(OBJECT *object) { char *filename; filename = object->component_basename; if (filename != NULL) { #ifdef DEBUG printf ("s_object_has_sym_file: "); printf ("Object has sym file = %s.\n", filename); #endif return 0; } else { #ifdef DEBUG printf ("s_object_has_sym_file: "); printf ("Found object with no attached symbol file.\n"); #endif return 1; } } lepton-eda-1.9.10/attrib/src/gtksheet_2_2.c0000644000175000017500000077505113634703632015301 00000000000000/* Lepton EDA attribute editor * GtkSheet widget for Gtk+. * Copyright (C) 1999-2001 Adrian E. Feiguin * Copyright (C) 2004-2015 gEDA Contributors * Copyright (C) 2017-2020 Lepton EDA Contributors * * Based on GtkClist widget by Jay Painter, but major changes. * Memory allocation routines inspired on SC (Spreadsheet Calculator) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library 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 * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include #include #include #include #include #include #include "gtksheet_2_2.h" #include "gtkextra-marshal.h" /*------------------------------------------------------------------ * Gattrib specific includes -- stuff dealing with gattrib data structs. * Included here in order to grab sheet_head->CHANGED, which is set * when the user puts a new value in a cell. *------------------------------------------------------------------*/ #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #include "../include/gettext.h" /* sheet flags */ enum { GTK_SHEET_IS_LOCKED = 1 << 0, GTK_SHEET_IS_FROZEN = 1 << 1, GTK_SHEET_IN_XDRAG = 1 << 2, GTK_SHEET_IN_YDRAG = 1 << 3, GTK_SHEET_IN_DRAG = 1 << 4, GTK_SHEET_IN_SELECTION = 1 << 5, GTK_SHEET_IN_RESIZE = 1 << 6, GTK_SHEET_IN_CLIP = 1 << 7, GTK_SHEET_REDRAW_PENDING = 1 << 8, }; G_DEFINE_TYPE (GtkSheet, gtk_sheet, GTK_TYPE_CONTAINER) #define GTK_SHEET_FLAGS(sheet) (GTK_SHEET (sheet)->flags) #define GTK_SHEET_SET_FLAGS(sheet,flag) (GTK_SHEET_FLAGS (sheet) |= (flag)) #define GTK_SHEET_UNSET_FLAGS(sheet,flag) (GTK_SHEET_FLAGS (sheet) &= ~(flag)) #define GTK_SHEET_IS_FROZEN(sheet) (GTK_SHEET_FLAGS (sheet) & GTK_SHEET_IS_FROZEN) #define GTK_SHEET_IN_XDRAG(sheet) (GTK_SHEET_FLAGS (sheet) & GTK_SHEET_IN_XDRAG) #define GTK_SHEET_IN_YDRAG(sheet) (GTK_SHEET_FLAGS (sheet) & GTK_SHEET_IN_YDRAG) #define GTK_SHEET_IN_DRAG(sheet) (GTK_SHEET_FLAGS (sheet) & GTK_SHEET_IN_DRAG) #define GTK_SHEET_IN_SELECTION(sheet) (GTK_SHEET_FLAGS (sheet) & GTK_SHEET_IN_SELECTION) #define GTK_SHEET_IN_RESIZE(sheet) (GTK_SHEET_FLAGS (sheet) & GTK_SHEET_IN_RESIZE) #define GTK_SHEET_IN_CLIP(sheet) (GTK_SHEET_FLAGS (sheet) & GTK_SHEET_IN_CLIP) #define GTK_SHEET_REDRAW_PENDING(sheet) (GTK_SHEET_FLAGS (sheet) & GTK_SHEET_REDRAW_PENDING) #define CELL_SPACING 1 #define DRAG_WIDTH 6 #define TIMEOUT_SCROLL 20 #define TIMEOUT_FLASH 200 #define TIME_INTERVAL 8 #define COLUMN_MIN_WIDTH 10 #define MINROWS 1 #define MINCOLS 1 #define MAXLENGTH 30 #define CELLOFFSET 4 #define DEFAULT_COLUMN_WIDTH 80 static inline guint DEFAULT_ROW_HEIGHT(GtkWidget *widget) { if(!widget->style->font_desc) return 24; else { PangoContext *context = gtk_widget_get_pango_context(widget); PangoFontMetrics *metrics = pango_context_get_metrics(context, widget->style->font_desc, pango_context_get_language(context)); guint val = pango_font_metrics_get_descent(metrics) + pango_font_metrics_get_ascent(metrics); pango_font_metrics_unref(metrics); return PANGO_PIXELS(val)+2*CELLOFFSET; } } /* DEFAULT_FONT_ASCENT() function is currently unused. * Comment it out to suppress compiler warnings. static inline guint DEFAULT_FONT_ASCENT(GtkWidget *widget) { if(!widget->style->font_desc) return 12; else { PangoContext *context = gtk_widget_get_pango_context(widget); PangoFontMetrics *metrics = pango_context_get_metrics(context, widget->style->font_desc, pango_context_get_language(context)); guint val = pango_font_metrics_get_ascent(metrics); pango_font_metrics_unref(metrics); return PANGO_PIXELS(val); } } */ static inline guint STRING_WIDTH(GtkWidget *widget, PangoFontDescription *font, const gchar *text) { PangoRectangle rect; PangoLayout *layout; layout = gtk_widget_create_pango_layout (widget, text); pango_layout_set_font_description (layout, font); pango_layout_get_extents (layout, NULL, &rect); g_object_unref(G_OBJECT(layout)); return PANGO_PIXELS(rect.width); } static inline guint DEFAULT_FONT_DESCENT(GtkWidget *widget) { if(!widget->style->font_desc) return 12; else { PangoContext *context = gtk_widget_get_pango_context(widget); PangoFontMetrics *metrics = pango_context_get_metrics(context, widget->style->font_desc, pango_context_get_language(context)); guint val = pango_font_metrics_get_descent(metrics); pango_font_metrics_unref(metrics); return PANGO_PIXELS(val); } } /*! \brief gives the top pixel of the given row in context of * the sheet's voffset * */ static inline gint ROW_TOP_YPIXEL(GtkSheet *sheet, gint nrow) { return (sheet->voffset + sheet->row[nrow].top_ypixel); } /*! \brief returns the row index from a y pixel location in the * context of the sheet's voffset * */ static inline gint ROW_FROM_YPIXEL(GtkSheet *sheet, gint y) { gint i, cy; cy = sheet->voffset; if(sheet->column_titles_visible) cy += sheet->column_title_area.height; if(y < cy) return 0; for (i = 0; i <= sheet->maxrow; i++) { if (y >= cy && y <= (cy + sheet->row[i].height) && sheet->row[i].is_visible) return i; if(sheet->row[i].is_visible) cy += sheet->row[i].height; } /* no match */ return sheet->maxrow; } /*! \brief gives the left pixel of the given column in context of * the sheet's hoffset * */ static inline gint COLUMN_LEFT_XPIXEL(GtkSheet *sheet, gint ncol) { return (sheet->hoffset + sheet->column[ncol].left_xpixel); } /*! \brief returns the column index from a x pixel location in the * context of the sheet's hoffset * */ static inline gint COLUMN_FROM_XPIXEL (GtkSheet * sheet, gint x) { gint i, cx; cx = sheet->hoffset; if(sheet->row_titles_visible) cx += sheet->row_title_area.width; if(x < cx) return 0; for (i = 0; i <= sheet->maxcol; i++) { if (x >= cx && x <= (cx + sheet->column[i].width) && sheet->column[i].is_visible) return i; if(sheet->column[i].is_visible) cx += sheet->column[i].width; } /* no match */ return sheet->maxcol; } /*! \brief returns the total height of the sheet * */ static inline gint SHEET_HEIGHT(GtkSheet *sheet) { gint i,cx; cx = 0; if(sheet->column_titles_visible) cx += sheet->column_title_area.height; for (i=0;i<=sheet->maxrow; i++) if(sheet->row[i].is_visible) cx += sheet->row[i].height; return cx; } /*! \brief returns the total width of the sheet * */ static inline gint SHEET_WIDTH(GtkSheet *sheet) { gint i,cx; cx = 0; if(sheet->row_titles_visible) cx += sheet->row_title_area.width; for (i=0;i<=sheet->maxcol; i++) if(sheet->column[i].is_visible) cx += sheet->column[i].width; return cx; } #define MIN_VISIBLE_ROW(sheet) sheet->view.row0 #define MAX_VISIBLE_ROW(sheet) sheet->view.rowi #define MIN_VISIBLE_COLUMN(sheet) sheet->view.col0 #define MAX_VISIBLE_COLUMN(sheet) sheet->view.coli static inline gint POSSIBLE_XDRAG(GtkSheet *sheet, gint x, gint *drag_column) { gint column, xdrag; column=COLUMN_FROM_XPIXEL(sheet, x); *drag_column=column; xdrag=COLUMN_LEFT_XPIXEL(sheet,column)+CELL_SPACING; if(x <= xdrag+DRAG_WIDTH/2 && column != 0){ while(!sheet->column[column-1].is_visible && column>0) column--; *drag_column=column-1; return sheet->column[column-1].is_sensitive; } xdrag+=sheet->column[column].width; if(x >= xdrag-DRAG_WIDTH/2 && x <= xdrag+DRAG_WIDTH/2) return sheet->column[column].is_sensitive; return FALSE; } static inline gint POSSIBLE_YDRAG(GtkSheet *sheet, gint y, gint *drag_row) { gint row, ydrag; row=ROW_FROM_YPIXEL(sheet, y); *drag_row=row; ydrag=ROW_TOP_YPIXEL(sheet,row)+CELL_SPACING; if(y <= ydrag+DRAG_WIDTH/2 && row != 0){ while(!sheet->row[row-1].is_visible && row>0) row--; *drag_row=row-1; return sheet->row[row-1].is_sensitive; } ydrag+=sheet->row[row].height; if(y >= ydrag-DRAG_WIDTH/2 && y <= ydrag+DRAG_WIDTH/2) return sheet->row[row].is_sensitive; return FALSE; } static inline gint POSSIBLE_DRAG(GtkSheet *sheet, gint x, gint y, gint *drag_row, gint *drag_column) { gint ydrag, xdrag; *drag_column=COLUMN_FROM_XPIXEL(sheet,x); *drag_row=ROW_FROM_YPIXEL(sheet,y); if(x>=COLUMN_LEFT_XPIXEL(sheet,sheet->range.col0)-DRAG_WIDTH/2 && x<=COLUMN_LEFT_XPIXEL(sheet,sheet->range.coli)+ sheet->column[sheet->range.coli].width+DRAG_WIDTH/2){ ydrag=ROW_TOP_YPIXEL(sheet,sheet->range.row0); if(y>=ydrag-DRAG_WIDTH/2 && y<=ydrag+DRAG_WIDTH/2){ *drag_row=sheet->range.row0; return TRUE; } ydrag=ROW_TOP_YPIXEL(sheet,sheet->range.rowi)+ sheet->row[sheet->range.rowi].height; if(y>=ydrag-DRAG_WIDTH/2 && y<=ydrag+DRAG_WIDTH/2){ *drag_row=sheet->range.rowi; return TRUE; } } if(y>=ROW_TOP_YPIXEL(sheet,sheet->range.row0)-DRAG_WIDTH/2 && y<=ROW_TOP_YPIXEL(sheet,sheet->range.rowi)+ sheet->row[sheet->range.rowi].height+DRAG_WIDTH/2){ xdrag=COLUMN_LEFT_XPIXEL(sheet,sheet->range.col0); if(x>=xdrag-DRAG_WIDTH/2 && x<=xdrag+DRAG_WIDTH/2){ *drag_column=sheet->range.col0; return TRUE; } xdrag=COLUMN_LEFT_XPIXEL(sheet,sheet->range.coli)+ sheet->column[sheet->range.coli].width; if(x>=xdrag-DRAG_WIDTH/2 && x<=xdrag+DRAG_WIDTH/2){ *drag_column=sheet->range.coli; return TRUE; } } return FALSE; } static inline gint POSSIBLE_RESIZE(GtkSheet *sheet, gint x, gint y, gint *drag_row, gint *drag_column) { gint xdrag, ydrag; xdrag=COLUMN_LEFT_XPIXEL(sheet,sheet->range.coli)+ sheet->column[sheet->range.coli].width; ydrag=ROW_TOP_YPIXEL(sheet,sheet->range.rowi)+ sheet->row[sheet->range.rowi].height; if(sheet->state == GTK_SHEET_COLUMN_SELECTED) ydrag = ROW_TOP_YPIXEL(sheet, sheet->view.row0); if(sheet->state == GTK_SHEET_ROW_SELECTED) xdrag = COLUMN_LEFT_XPIXEL(sheet, sheet->view.col0); *drag_column=COLUMN_FROM_XPIXEL(sheet,x); *drag_row=ROW_FROM_YPIXEL(sheet,y); if(x>=xdrag-DRAG_WIDTH/2 && x<=xdrag+DRAG_WIDTH/2 && y>=ydrag-DRAG_WIDTH/2 && y<=ydrag+DRAG_WIDTH/2) return TRUE; return FALSE; } static void gtk_sheet_class_init (GtkSheetClass * klass); static void gtk_sheet_destroy (GtkObject * object); static void gtk_sheet_finalize (GObject * object); static void gtk_sheet_style_set (GtkWidget *widget, GtkStyle *previous_style); static void gtk_sheet_realize (GtkWidget * widget); static void gtk_sheet_unrealize (GtkWidget * widget); static void gtk_sheet_map (GtkWidget * widget); static void gtk_sheet_unmap (GtkWidget * widget); static gint gtk_sheet_expose (GtkWidget * widget, GdkEventExpose * event); static void gtk_sheet_forall (GtkContainer *container, gboolean include_internals, GtkCallback callback, gpointer callback_data); static void gtk_sheet_set_scroll_adjustments (GtkSheet *sheet, GtkAdjustment *hadjustment, GtkAdjustment *vadjustment); static gint gtk_sheet_button_press (GtkWidget * widget, GdkEventButton * event); static gint gtk_sheet_button_release (GtkWidget * widget, GdkEventButton * event); static gint gtk_sheet_motion (GtkWidget * widget, GdkEventMotion * event); #if 0 static gint gtk_sheet_entry_key_press (GtkWidget *widget, GdkEventKey *key); #endif static gint gtk_sheet_key_press (GtkWidget *widget, GdkEventKey *key); static void gtk_sheet_size_request (GtkWidget * widget, GtkRequisition * requisition); static void gtk_sheet_size_allocate (GtkWidget * widget, GtkAllocation * allocation); /* Sheet queries */ static gint gtk_sheet_range_isvisible (GtkSheet * sheet, GtkSheetRange range); static gint gtk_sheet_cell_isvisible (GtkSheet * sheet, gint row, gint column); /* Clipped Range */ static gint gtk_sheet_scroll (gpointer data); static gint gtk_sheet_flash (gpointer data); /* Drawing Routines */ /* draw cell background and frame */ static void gtk_sheet_cell_draw_default (GtkSheet *sheet, gint row, gint column); /* draw cell border */ static void gtk_sheet_cell_draw_border (GtkSheet *sheet, gint row, gint column, gint mask); /* draw cell contents */ static void gtk_sheet_cell_draw_label (GtkSheet *sheet, gint row, gint column); /* draw visible part of range. If range==NULL then draw the whole screen */ static void gtk_sheet_range_draw (GtkSheet *sheet, const GtkSheetRange *range); /* highlight the visible part of the selected range */ static void gtk_sheet_range_draw_selection (GtkSheet *sheet, GtkSheetRange range); /* Selection */ static gint gtk_sheet_move_query (GtkSheet *sheet, gint row, gint column); static void gtk_sheet_real_select_range (GtkSheet * sheet, GtkSheetRange * range); static void gtk_sheet_real_unselect_range (GtkSheet * sheet, const GtkSheetRange * range); static void gtk_sheet_extend_selection (GtkSheet *sheet, gint row, gint column); static void gtk_sheet_new_selection (GtkSheet *sheet, GtkSheetRange *range); static void gtk_sheet_draw_border (GtkSheet *sheet, GtkSheetRange range); static void gtk_sheet_draw_corners (GtkSheet *sheet, GtkSheetRange range); /* Active Cell handling */ static void gtk_sheet_entry_changed (GtkWidget *widget, gpointer data); static gboolean gtk_sheet_deactivate_cell (GtkSheet *sheet); static void gtk_sheet_hide_active_cell (GtkSheet *sheet); static gboolean gtk_sheet_activate_cell (GtkSheet *sheet, gint row, gint col); static void gtk_sheet_draw_active_cell (GtkSheet *sheet); static void gtk_sheet_show_active_cell (GtkSheet *sheet); static void gtk_sheet_click_cell (GtkSheet *sheet, gint row, gint column, gboolean *veto); /* Backing Pixmap */ static void gtk_sheet_make_backing_pixmap (GtkSheet *sheet, guint width, guint height); static void gtk_sheet_draw_backing_pixmap (GtkSheet *sheet, GtkSheetRange range); /* Scrollbars */ static void adjust_scrollbars (GtkSheet * sheet); static void vadjustment_changed (GtkAdjustment * adjustment, gpointer data); static void hadjustment_changed (GtkAdjustment * adjustment, gpointer data); static void vadjustment_value_changed (GtkAdjustment * adjustment, gpointer data); static void hadjustment_value_changed (GtkAdjustment * adjustment, gpointer data); static void draw_xor_vline (GtkSheet * sheet); static void draw_xor_hline (GtkSheet * sheet); static void draw_xor_rectangle (GtkSheet *sheet, GtkSheetRange range); static void gtk_sheet_draw_flashing_range (GtkSheet *sheet, GtkSheetRange range); static guint new_column_width (GtkSheet * sheet, gint column, gint * x); static guint new_row_height (GtkSheet * sheet, gint row, gint * y); /* Sheet Button */ static void create_global_button (GtkSheet *sheet); static void global_button_clicked (GtkWidget *widget, gpointer data); /* Sheet Entry */ static void create_sheet_entry (GtkSheet *sheet); static void gtk_sheet_size_allocate_entry (GtkSheet *sheet); /* Sheet button gadgets */ static void size_allocate_column_title_buttons (GtkSheet * sheet); static void size_allocate_row_title_buttons (GtkSheet * sheet); static void gtk_sheet_recalc_top_ypixels (GtkSheet *sheet, gint row); static void gtk_sheet_recalc_left_xpixels (GtkSheet *sheet, gint column); static void row_button_set (GtkSheet *sheet, gint row); static void column_button_set (GtkSheet *sheet, gint column); static void row_button_release (GtkSheet *sheet, gint row); static void column_button_release (GtkSheet *sheet, gint column); static void gtk_sheet_button_draw (GtkSheet *sheet, gint row, gint column); static void size_allocate_global_button (GtkSheet *sheet); static void gtk_sheet_button_size_request (GtkSheet *sheet, GtkSheetButton *button, GtkRequisition *requisition); /* Attributes routines */ static void gtk_sheet_set_cell_attributes (GtkSheet *sheet, gint row, gint col, GtkSheetCellAttr attributes); static void init_attributes (GtkSheet *sheet, gint col, GtkSheetCellAttr *attributes); /* Memory allocation routines */ static void gtk_sheet_real_range_clear (GtkSheet *sheet, const GtkSheetRange *range, gboolean remove); static void gtk_sheet_real_cell_clear (GtkSheet *sheet, gint row, gint column, gboolean remove); static GtkSheetCell * gtk_sheet_cell_new (void); static gint AddRow (GtkSheet *sheet, gint nrows); static gint AddColumn (GtkSheet *sheet, gint ncols); static gint InsertRow (GtkSheet *sheet, gint row, gint nrows); static gint InsertColumn (GtkSheet *sheet, gint col, gint ncols); static gint DeleteRow (GtkSheet *sheet, gint row, gint nrows); static gint DeleteColumn (GtkSheet *sheet, gint col, gint ncols); static gint GrowSheet (GtkSheet *sheet, gint newrows, gint newcols); static gint CheckBounds (GtkSheet *sheet, gint row, gint col); /* Container Functions */ static void gtk_sheet_remove (GtkContainer *container, GtkWidget *widget); static void gtk_sheet_realize_child (GtkSheet *sheet, GtkSheetChild *child); static void gtk_sheet_position_child (GtkSheet *sheet, GtkSheetChild *child); static void gtk_sheet_position_children (GtkSheet *sheet); static void gtk_sheet_child_show (GtkSheetChild *child); static void gtk_sheet_child_hide (GtkSheetChild *child); static void gtk_sheet_column_size_request (GtkSheet *sheet, gint col, guint *requisition); static void gtk_sheet_row_size_request (GtkSheet *sheet, gint row, guint *requisition); /* Signals */ /* \brief Imported from gtkextra.c by SDB 7.22.2004 * */ void _gtkextra_signal_emit(GtkObject *object, guint signal_id, ...) { gboolean *result; GValue ret = { 0, }; GValue instance_and_params [10] = { {0, }, }; va_list var_args; GSignalQuery query; gchar *error; int i; va_start (var_args, signal_id); g_value_init(instance_and_params + 0, G_OBJECT_TYPE(object)); g_value_set_instance (instance_and_params + 0, G_OBJECT(object)); g_signal_query(signal_id, &query); for (i = 0; i < (gint) query.n_params; i++) { gboolean static_scope = query.param_types[i]&~G_SIGNAL_TYPE_STATIC_SCOPE; g_value_init(instance_and_params + i + 1, query.param_types[i]); G_VALUE_COLLECT (instance_and_params + i + 1, var_args, static_scope ? G_VALUE_NOCOPY_CONTENTS : 0, &error); if (error) { g_warning ("%s: %s", G_STRLOC, error); g_free (error); while (i-- > 0) g_value_unset (instance_and_params + i); va_end (var_args); return; } } g_value_init(&ret, query.return_type); result = va_arg(var_args,gboolean *); g_value_set_boolean(&ret, *result); g_signal_emitv(instance_and_params, signal_id, 0, &ret); *result = g_value_get_boolean(&ret); g_value_unset (&ret); for (i = 0; i < (gint) query.n_params; i++) g_value_unset (instance_and_params + 1 + i); g_value_unset (instance_and_params + 0); va_end (var_args); } enum { SELECT_ROW, SELECT_COLUMN, SELECT_RANGE, CLIP_RANGE, RESIZE_RANGE, MOVE_RANGE, TRAVERSE, DEACTIVATE, ACTIVATE, SET_CELL, CLEAR_CELL, CHANGED, NEW_COL_WIDTH, NEW_ROW_HEIGHT, LAST_SIGNAL }; static guint sheet_signals[LAST_SIGNAL] = {0}; static GtkSheetRange* gtk_sheet_range_copy (const GtkSheetRange *range) { GtkSheetRange *new_range; g_return_val_if_fail (range != NULL, NULL); new_range = g_new (GtkSheetRange, 1); *new_range = *range; return new_range; } static void gtk_sheet_range_free (GtkSheetRange *range) { g_return_if_fail (range != NULL); g_free (range); } GType gtk_sheet_range_get_type (void) { static GType sheet_range_type; if(!sheet_range_type) { sheet_range_type = g_boxed_type_register_static("GtkSheetRange", (GBoxedCopyFunc)gtk_sheet_range_copy, (GBoxedFreeFunc)gtk_sheet_range_free); } return sheet_range_type; } static void gtk_sheet_class_init (GtkSheetClass * klass) { GtkObjectClass *object_class; GtkWidgetClass *widget_class; GtkContainerClass *container_class; GObjectClass *gobject_class = G_OBJECT_CLASS (klass); object_class = (GtkObjectClass *) klass; widget_class = (GtkWidgetClass *) klass; container_class = (GtkContainerClass *) klass; sheet_signals[SELECT_ROW] = g_signal_new ("select_row", /* signal_name */ G_OBJECT_CLASS_TYPE (klass), /* itype */ G_SIGNAL_RUN_LAST, /* signal_flags */ G_STRUCT_OFFSET (GtkSheetClass, /* class_offset */ select_row), NULL, /* accumulator */ NULL, /* accu_data */ gtkextra_VOID__INT, /* c_marshaller */ G_TYPE_NONE, /* return_type */ 1, /* n_params */ G_TYPE_INT); /* param types */ sheet_signals[SELECT_COLUMN] = g_signal_new ("select_column", /* signal_name */ G_OBJECT_CLASS_TYPE (klass), /* itype */ G_SIGNAL_RUN_LAST, /* signal_flags */ G_STRUCT_OFFSET (GtkSheetClass, /* class_offset */ select_column), NULL, /* accumulator */ NULL, /* accu_data */ gtkextra_VOID__INT, /* c_marshaller */ G_TYPE_NONE, /* return_type */ 1, /* n_params */ G_TYPE_INT); /* param types */ sheet_signals[SELECT_RANGE] = g_signal_new ("select_range", /* signal_name */ G_OBJECT_CLASS_TYPE (klass), /* itype */ G_SIGNAL_RUN_LAST, /* signal_flags */ G_STRUCT_OFFSET (GtkSheetClass, /* class_offset */ select_range), NULL, /* accumulator */ NULL, /* accu_data */ gtkextra_VOID__BOXED, /* c_marshaller */ G_TYPE_NONE, /* return_type */ 1, /* n_params */ GTK_TYPE_SHEET_RANGE); /* param types */ sheet_signals[CLIP_RANGE] = g_signal_new ("clip_range", /* signal_name */ G_OBJECT_CLASS_TYPE (klass), /* itype */ G_SIGNAL_RUN_LAST, /* signal_flags */ G_STRUCT_OFFSET (GtkSheetClass, /* class_offset */ clip_range), NULL, /* accumulator */ NULL, /* accu_data */ gtkextra_VOID__BOXED, /* c_marshaller */ G_TYPE_NONE, /* return_type */ 1, /* n_params */ GTK_TYPE_SHEET_RANGE); /* param types */ sheet_signals[RESIZE_RANGE] = g_signal_new ("resize_range", /* signal_name */ G_OBJECT_CLASS_TYPE (klass), /* itype */ G_SIGNAL_RUN_LAST, /* signal_flags */ G_STRUCT_OFFSET (GtkSheetClass, /* class_offset */ resize_range), NULL, /* accumulator */ NULL, /* accu_data */ gtkextra_VOID__BOXED_BOXED, /* c_marshaller */ G_TYPE_NONE, /* return_type */ 2, /* n_params */ GTK_TYPE_SHEET_RANGE, /* param types */ GTK_TYPE_SHEET_RANGE); sheet_signals[MOVE_RANGE] = g_signal_new ("move_range", /* signal_name */ G_OBJECT_CLASS_TYPE (klass), /* itype */ G_SIGNAL_RUN_LAST, /* signal_flags */ G_STRUCT_OFFSET (GtkSheetClass, /* class_offset */ move_range), NULL, /* accumulator */ NULL, /* accu_data */ gtkextra_VOID__BOXED_BOXED, /* c_marshaller */ G_TYPE_NONE, /* return_type */ 2, /* n_params */ GTK_TYPE_SHEET_RANGE, /* param types */ GTK_TYPE_SHEET_RANGE); sheet_signals[TRAVERSE] = g_signal_new ("traverse", /* signal_name */ G_OBJECT_CLASS_TYPE (klass), /* itype */ G_SIGNAL_RUN_LAST, /* signal_flags */ G_STRUCT_OFFSET (GtkSheetClass, /* class_offset */ traverse), NULL, /* accumulator */ NULL, /* accu_data */ gtkextra_BOOLEAN__INT_INT_POINTER_POINTER, /* c_marshaller */ G_TYPE_BOOLEAN, /* return_type */ 4, /* n_params */ G_TYPE_INT, G_TYPE_INT, /* param types */ G_TYPE_POINTER, G_TYPE_POINTER); sheet_signals[DEACTIVATE] = g_signal_new ("deactivate", /* signal_name */ G_OBJECT_CLASS_TYPE (klass), /* itype */ G_SIGNAL_RUN_LAST, /* signal_flags */ G_STRUCT_OFFSET (GtkSheetClass, /* class_offset */ deactivate), NULL, /* accumulator */ NULL, /* accu_data */ gtkextra_BOOLEAN__INT_INT, /* c_marshaller */ G_TYPE_BOOLEAN, /* return_type */ 2, /* n_params */ G_TYPE_INT, G_TYPE_INT); /* param types */ sheet_signals[ACTIVATE] = g_signal_new ("activate", /* signal_name */ G_OBJECT_CLASS_TYPE (klass), /* itype */ G_SIGNAL_RUN_LAST, /* signal_flags */ G_STRUCT_OFFSET (GtkSheetClass, /* class_offset */ activate), NULL, /* accumulator */ NULL, /* accu_data */ gtkextra_BOOLEAN__INT_INT, /* c_marshaller */ G_TYPE_BOOLEAN, /* return_type */ 2, /* n_params */ G_TYPE_INT, G_TYPE_INT); /* param types */ sheet_signals[SET_CELL] = g_signal_new ("set_cell", /* signal_name */ G_OBJECT_CLASS_TYPE (klass), /* itype */ G_SIGNAL_RUN_LAST, /* signal_flags */ G_STRUCT_OFFSET (GtkSheetClass, /* class_offset */ set_cell), NULL, /* accumulator */ NULL, /* accu_data */ gtkextra_VOID__INT_INT, /* c_marshaller */ G_TYPE_NONE, /* return_type */ 2, /* n_params */ G_TYPE_INT, G_TYPE_INT); /* param types */ sheet_signals[CLEAR_CELL] = g_signal_new ("clear_cell", /* signal_name */ G_OBJECT_CLASS_TYPE (klass), /* itype */ G_SIGNAL_RUN_LAST, /* signal_flags */ G_STRUCT_OFFSET (GtkSheetClass, /* class_offset */ clear_cell), NULL, /* accumulator */ NULL, /* accu_data */ gtkextra_VOID__INT_INT, /* c_marshaller */ G_TYPE_NONE, /* return_type */ 2, /* n_params */ G_TYPE_INT, G_TYPE_INT); /* param types */ sheet_signals[CHANGED] = g_signal_new ("changed", /* signal_name */ G_OBJECT_CLASS_TYPE (klass), /* itype */ G_SIGNAL_RUN_LAST, /* signal_flags */ G_STRUCT_OFFSET (GtkSheetClass, /* class_offset */ changed), NULL, /* accumulator */ NULL, /* accu_data */ gtkextra_VOID__INT_INT, /* c_marshaller */ G_TYPE_NONE, /* return_type */ 2, /* n_params */ G_TYPE_INT, G_TYPE_INT); /* param types */ sheet_signals[NEW_COL_WIDTH] = g_signal_new ("new_column_width", /* signal_name */ G_OBJECT_CLASS_TYPE (klass), /* itype */ G_SIGNAL_RUN_LAST, /* signal_flags */ G_STRUCT_OFFSET (GtkSheetClass, /* class_offset */ changed), NULL, /* accumulator */ NULL, /* accu_data */ gtkextra_VOID__INT_INT, /* c_marshaller */ G_TYPE_NONE, /* return_type */ 2, /* n_params */ G_TYPE_INT, G_TYPE_INT); /* param types */ sheet_signals[NEW_ROW_HEIGHT] = g_signal_new ("new_row_height", /* signal_name */ G_OBJECT_CLASS_TYPE (klass), /* itype */ G_SIGNAL_RUN_LAST, /* signal_flags */ G_STRUCT_OFFSET (GtkSheetClass, /* class_offset */ changed), NULL, /* accumulator */ NULL, /* accu_data */ gtkextra_VOID__INT_INT, /* c_marshaller */ G_TYPE_NONE, /* return_type */ 2, /* n_params */ G_TYPE_INT, G_TYPE_INT); /* param types */ widget_class->set_scroll_adjustments_signal = g_signal_new ("set_scroll_adjustments", /* signal_name */ G_OBJECT_CLASS_TYPE (klass), /* itype */ G_SIGNAL_RUN_LAST, /* signal_flags */ G_STRUCT_OFFSET (GtkSheetClass, /* class_offset */ set_scroll_adjustments), NULL, /* accumulator */ NULL, /* accu_data */ gtkextra_VOID__OBJECT_OBJECT, /* c_marshaller */ G_TYPE_NONE, /* return_type */ 2, /* n_params */ GTK_TYPE_ADJUSTMENT, /* param types */ GTK_TYPE_ADJUSTMENT); container_class->add = NULL; container_class->remove = gtk_sheet_remove; container_class->forall = gtk_sheet_forall; object_class->destroy = gtk_sheet_destroy; gobject_class->finalize = gtk_sheet_finalize; widget_class->realize = gtk_sheet_realize; widget_class->unrealize = gtk_sheet_unrealize; widget_class->map = gtk_sheet_map; widget_class->unmap = gtk_sheet_unmap; widget_class->style_set = gtk_sheet_style_set; widget_class->button_press_event = gtk_sheet_button_press; widget_class->button_release_event = gtk_sheet_button_release; widget_class->motion_notify_event = gtk_sheet_motion; widget_class->key_press_event = gtk_sheet_key_press; widget_class->expose_event = gtk_sheet_expose; widget_class->size_request = gtk_sheet_size_request; widget_class->size_allocate = gtk_sheet_size_allocate; widget_class->focus_in_event = NULL; widget_class->focus_out_event = NULL; klass->set_scroll_adjustments = gtk_sheet_set_scroll_adjustments; klass->select_row = NULL; klass->select_column = NULL; klass->select_range = NULL; klass->clip_range = NULL; klass->resize_range = NULL; klass->move_range = NULL; klass->traverse = NULL; klass->deactivate = NULL; klass->activate = NULL; klass->set_cell = NULL; klass->clear_cell = NULL; klass->changed = NULL; gtk_widget_class_install_style_property (widget_class, g_param_spec_boxed ("default-border", NULL, /* P_("Default Spacing"),*/ NULL, /* P_("Extra space to add for CAN_DEFAULT buttons"), */ GTK_TYPE_BORDER, G_PARAM_READABLE)); gtk_widget_class_install_style_property (widget_class, g_param_spec_boxed ("default-outside-border", NULL, /* P_("Default Outside Spacing"), */ NULL, /* P_("Extra space to add for CAN_DEFAULT buttons that is always drawn outside the border"), */ GTK_TYPE_BORDER, G_PARAM_READABLE)); } static void gtk_sheet_init (GtkSheet *sheet) { sheet->children = NULL; sheet->flags = 0; sheet->selection_mode = GTK_SELECTION_BROWSE; sheet->freeze_count = 0; sheet->state = GTK_SHEET_NORMAL; GTK_WIDGET_UNSET_FLAGS (sheet, GTK_NO_WINDOW); gtk_widget_set_can_focus (GTK_WIDGET (sheet), TRUE); sheet->maxrow = 0; sheet->maxcol = 0; sheet->view.row0 = 0; sheet->view.col0 = 0; sheet->view.rowi = 0; sheet->view.coli = 0; sheet->maxallocrow = 0; sheet->maxalloccol = 0; sheet->column_title_window=NULL; sheet->column_title_area.x=0; sheet->column_title_area.y=0; sheet->column_title_area.width=0; sheet->column_title_area.height=DEFAULT_ROW_HEIGHT(GTK_WIDGET(sheet)); sheet->row_title_window=NULL; sheet->row_title_area.x=0; sheet->row_title_area.y=0; sheet->row_title_area.width=DEFAULT_COLUMN_WIDTH; sheet->row_title_area.height=0; sheet->active_cell.row=0; sheet->active_cell.col=0; sheet->selection_cell.row=0; sheet->selection_cell.col=0; sheet->sheet_entry=NULL; sheet->pixmap=NULL; sheet->range.row0=0; sheet->range.rowi=0; sheet->range.col0=0; sheet->range.coli=0; sheet->state=GTK_SHEET_NORMAL; sheet->sheet_window = NULL; sheet->sheet_window_width = 0; sheet->sheet_window_height = 0; sheet->sheet_entry = NULL; sheet->button = NULL; sheet->hoffset = 0; sheet->voffset = 0; sheet->hadjustment = NULL; sheet->vadjustment = NULL; sheet->cursor_drag = gdk_cursor_new(GDK_PLUS); sheet->xor_gc = NULL; sheet->fg_gc = NULL; sheet->bg_gc = NULL; sheet->x_drag = 0; sheet->y_drag = 0; gdk_color_white(gdk_colormap_get_system(), &sheet->bg_color); gdk_color_parse("gray", &sheet->grid_color); gdk_color_alloc(gdk_colormap_get_system(), &sheet->grid_color); sheet->show_grid = TRUE; } GtkWidget * gtk_sheet_new (guint rows, guint columns, const gchar *title) { GtkWidget *widget; /* sanity check */ g_return_val_if_fail (columns >= MINCOLS, NULL); g_return_val_if_fail (rows >= MINROWS, NULL); widget = GTK_WIDGET (gtk_type_new (gtk_sheet_get_type ())); gtk_sheet_construct(GTK_SHEET(widget), rows, columns, title); return widget; } void gtk_sheet_construct (GtkSheet *sheet, guint rows, guint columns, const gchar *title) { sheet->row=(GtkSheetRow *)g_malloc(sizeof(GtkSheetRow)); sheet->column=(GtkSheetColumn *)g_malloc(sizeof(GtkSheetColumn)); sheet->data=(GtkSheetCell ***)g_malloc(sizeof(GtkSheetCell **)); sheet->data[0] = (GtkSheetCell **)g_malloc(sizeof(GtkSheetCell *)+sizeof(gdouble)); sheet->data[0][0] = NULL; sheet->columns_resizable = TRUE; sheet->rows_resizable = TRUE; sheet->row_titles_visible = TRUE; sheet->column_titles_visible = TRUE; sheet->autoscroll = TRUE; sheet->justify_entry = TRUE; sheet->locked = FALSE; /* set number of rows and columns */ GrowSheet(sheet, MINROWS, MINCOLS); /* Init row an column zero */ AddRow(sheet,-1); AddColumn(sheet,-1); /* Add rows and columns */ AddRow(sheet,rows-1); AddColumn(sheet,columns-1); /* create sheet entry */ sheet->entry_type = 0; create_sheet_entry (sheet); /* create global selection button */ create_global_button(sheet); if(title) sheet->name = g_strdup(title); } GtkWidget * gtk_sheet_new_browser(guint rows, guint columns, const gchar *title) { GtkWidget *widget; widget = GTK_WIDGET (gtk_type_new (gtk_sheet_get_type ())); gtk_sheet_construct_browser(GTK_SHEET(widget), rows, columns, title); return widget; } void gtk_sheet_construct_browser(GtkSheet *sheet, guint rows, guint columns, const gchar *title) { gtk_sheet_construct(sheet, rows, columns, title); gtk_sheet_set_locked(sheet, TRUE); sheet->autoresize = TRUE; } GtkWidget * gtk_sheet_new_with_custom_entry (guint rows, guint columns, const gchar *title, GtkType entry_type) { GtkWidget *widget; widget = GTK_WIDGET (gtk_type_new (gtk_sheet_get_type ())); gtk_sheet_construct_with_custom_entry(GTK_SHEET(widget), rows, columns, title, entry_type); return widget; } void gtk_sheet_construct_with_custom_entry (GtkSheet *sheet, guint rows, guint columns, const gchar *title, GtkType entry_type) { gtk_sheet_construct(sheet, rows, columns, title); sheet->entry_type = entry_type; create_sheet_entry(sheet); } void gtk_sheet_change_entry(GtkSheet *sheet, GtkType entry_type) { gint state; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); state = sheet->state; if(sheet->state == GTK_SHEET_NORMAL) gtk_sheet_hide_active_cell(sheet); sheet->entry_type = entry_type; create_sheet_entry(sheet); if(state == GTK_SHEET_NORMAL) { gtk_sheet_show_active_cell(sheet); g_signal_connect (gtk_sheet_get_entry (sheet), "changed", G_CALLBACK (gtk_sheet_entry_changed), sheet); } } void gtk_sheet_show_grid(GtkSheet *sheet, gboolean show) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(show == sheet->show_grid) return; sheet->show_grid = show; if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, NULL); } gboolean gtk_sheet_grid_visible(GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, 0); g_return_val_if_fail (GTK_IS_SHEET (sheet), 0); return sheet->show_grid; } void gtk_sheet_set_background(GtkSheet *sheet, GdkColor *color) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!color) gdk_color_white(gdk_colormap_get_system(), &sheet->bg_color); else sheet->bg_color = *color; if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, NULL); } void gtk_sheet_set_grid(GtkSheet *sheet, GdkColor *color) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!color) gdk_color_black(gdk_colormap_get_system(), &sheet->grid_color); else sheet->grid_color = *color; if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, NULL); } guint gtk_sheet_get_columns_count(GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, 0); g_return_val_if_fail (GTK_IS_SHEET (sheet), 0); return sheet->maxcol + 1; } guint gtk_sheet_get_rows_count(GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, 0); g_return_val_if_fail (GTK_IS_SHEET (sheet), 0); return sheet->maxrow + 1; } gint gtk_sheet_get_state(GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, 0); g_return_val_if_fail (GTK_IS_SHEET (sheet), 0); return (sheet->state); } void gtk_sheet_set_selection_mode(GtkSheet *sheet, gint mode) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (gtk_widget_get_realized (GTK_WIDGET (sheet))) { gtk_sheet_real_unselect_range(sheet, NULL); } sheet->selection_mode = (GtkSelectionMode) mode; } void gtk_sheet_set_autoresize (GtkSheet *sheet, gboolean autoresize) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); sheet->autoresize = autoresize; } gboolean gtk_sheet_autoresize (GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return sheet->autoresize; } void gtk_sheet_set_autoscroll (GtkSheet *sheet, gboolean autoscroll) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); sheet->autoscroll = autoscroll; } gboolean gtk_sheet_autoscroll (GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return sheet->autoscroll; } void gtk_sheet_set_clip_text (GtkSheet *sheet, gboolean clip_text) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); sheet->clip_text = clip_text; } gboolean gtk_sheet_clip_text (GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return sheet->clip_text; } void gtk_sheet_set_justify_entry (GtkSheet *sheet, gboolean justify) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); sheet->justify_entry = justify; } gboolean gtk_sheet_justify_entry (GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return sheet->justify_entry; } void gtk_sheet_set_locked (GtkSheet *sheet, gboolean locked) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); sheet->locked = locked; } gboolean gtk_sheet_locked (GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return sheet->locked; } /* This routine has problems with gtk+-1.2 related with the * label/button drawing - I think it's a bug in gtk+-1.2 */ void gtk_sheet_set_title(GtkSheet *sheet, const gchar *title) { g_return_if_fail (sheet != NULL); g_return_if_fail (title != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (sheet->name) g_free (sheet->name); sheet->name = g_strdup (title); if (!gtk_widget_get_realized (GTK_WIDGET (sheet)) || !title) { return; } if(GTK_BIN(sheet->button)->child) label = GTK_BIN(sheet->button)->child; size_allocate_global_button(sheet); } void gtk_sheet_freeze (GtkSheet *sheet) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); sheet->freeze_count++; GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IS_FROZEN); } void gtk_sheet_thaw(GtkSheet *sheet) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(sheet->freeze_count == 0) return; sheet->freeze_count--; if(sheet->freeze_count > 0) return; adjust_scrollbars(sheet); GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IS_FROZEN); sheet->old_vadjustment = -1.; sheet->old_hadjustment = -1.; if (sheet->hadjustment) { g_signal_emit_by_name (sheet->hadjustment, "value_changed"); } if (sheet->vadjustment) { g_signal_emit_by_name (sheet->vadjustment, "value_changed"); } if(sheet->state == GTK_STATE_NORMAL) if (sheet->sheet_entry && gtk_widget_get_mapped (sheet->sheet_entry)) { gtk_sheet_activate_cell(sheet, sheet->active_cell.row, sheet->active_cell.col); } } void gtk_sheet_set_row_titles_width(GtkSheet *sheet, guint width) { if(width < COLUMN_MIN_WIDTH) return; sheet->row_title_area.width = width; sheet->view.col0=COLUMN_FROM_XPIXEL(sheet, sheet->row_title_area.width+1); sheet->view.coli=COLUMN_FROM_XPIXEL(sheet, sheet->sheet_window_width); gtk_sheet_recalc_top_ypixels(sheet, 0); gtk_sheet_recalc_left_xpixels(sheet, 0); adjust_scrollbars(sheet); sheet->old_hadjustment = -1.; if (sheet->hadjustment) { g_signal_emit_by_name (sheet->hadjustment, "value_changed"); } size_allocate_global_button(sheet); } void gtk_sheet_set_column_titles_height(GtkSheet *sheet, guint height) { if(height < DEFAULT_ROW_HEIGHT(GTK_WIDGET(sheet))) return; sheet->column_title_area.height = height; sheet->view.row0=ROW_FROM_YPIXEL(sheet, sheet->column_title_area.height+1); sheet->view.rowi=ROW_FROM_YPIXEL(sheet, sheet->sheet_window_height-1); gtk_sheet_recalc_top_ypixels(sheet, 0); gtk_sheet_recalc_left_xpixels(sheet, 0); adjust_scrollbars(sheet); sheet->old_vadjustment = -1.; if (sheet->vadjustment) { g_signal_emit_by_name (sheet->vadjustment, "value_changed"); } size_allocate_global_button(sheet); } void gtk_sheet_show_column_titles(GtkSheet *sheet) { gint col; if(sheet->column_titles_visible) return; sheet->column_titles_visible = TRUE; gtk_sheet_recalc_top_ypixels(sheet, 0); gtk_sheet_recalc_left_xpixels(sheet, 0); if (gtk_widget_get_realized (GTK_WIDGET (sheet))) { gdk_window_show(sheet->column_title_window); gdk_window_move_resize (sheet->column_title_window, sheet->column_title_area.x, sheet->column_title_area.y, sheet->column_title_area.width, sheet->column_title_area.height); for(col = MIN_VISIBLE_COLUMN(sheet); col <= MAX_VISIBLE_COLUMN(sheet); col++){ GtkSheetChild *child; child = sheet->column[col].button.child; if(child){ gtk_sheet_child_show(child); } } adjust_scrollbars(sheet); } sheet->old_vadjustment = -1.; if (sheet->vadjustment) { g_signal_emit_by_name (sheet->vadjustment, "value_changed"); } size_allocate_global_button(sheet); } void gtk_sheet_show_row_titles(GtkSheet *sheet) { gint row; if(sheet->row_titles_visible) return; sheet->row_titles_visible = TRUE; gtk_sheet_recalc_top_ypixels(sheet, 0); gtk_sheet_recalc_left_xpixels(sheet, 0); if (gtk_widget_get_realized (GTK_WIDGET (sheet))) { gdk_window_show(sheet->row_title_window); gdk_window_move_resize (sheet->row_title_window, sheet->row_title_area.x, sheet->row_title_area.y, sheet->row_title_area.width, sheet->row_title_area.height); for(row = MIN_VISIBLE_ROW(sheet); row <= MAX_VISIBLE_ROW(sheet); row++){ GtkSheetChild *child; child = sheet->row[row].button.child; if(child){ gtk_sheet_child_show(child); } } adjust_scrollbars(sheet); } sheet->old_hadjustment = -1.; if (sheet->hadjustment) { g_signal_emit_by_name (sheet->hadjustment, "value_changed"); } size_allocate_global_button(sheet); } void gtk_sheet_hide_column_titles(GtkSheet *sheet) { gint col; if(!sheet->column_titles_visible) return; sheet->column_titles_visible = FALSE; gtk_sheet_recalc_top_ypixels(sheet, 0); gtk_sheet_recalc_left_xpixels(sheet, 0); if (gtk_widget_get_realized (GTK_WIDGET (sheet))) { if(sheet->column_title_window) gdk_window_hide(sheet->column_title_window); if (gtk_widget_get_visible (sheet->button)) { gtk_widget_hide(sheet->button); } for(col = MIN_VISIBLE_COLUMN(sheet); col <= MAX_VISIBLE_COLUMN(sheet); col++){ GtkSheetChild *child; child = sheet->column[col].button.child; if(child){ gtk_sheet_child_hide(child); } } adjust_scrollbars(sheet); } sheet->old_vadjustment = -1.; if (sheet->vadjustment) { g_signal_emit_by_name (sheet->vadjustment, "value_changed"); } } void gtk_sheet_hide_row_titles(GtkSheet *sheet) { gint row; if(!sheet->row_titles_visible) return; sheet->row_titles_visible = FALSE; gtk_sheet_recalc_top_ypixels(sheet, 0); gtk_sheet_recalc_left_xpixels(sheet, 0); if (gtk_widget_get_realized (GTK_WIDGET (sheet))) { if(sheet->row_title_window) gdk_window_hide(sheet->row_title_window); if (gtk_widget_get_visible (sheet->button)) { gtk_widget_hide(sheet->button); } for(row = MIN_VISIBLE_ROW(sheet); row <= MAX_VISIBLE_ROW(sheet); row++){ GtkSheetChild *child; child = sheet->row[row].button.child; if(child){ gtk_sheet_child_hide(child); } } adjust_scrollbars(sheet); } sheet->old_hadjustment = -1.; if (sheet->hadjustment) { g_signal_emit_by_name (sheet->hadjustment, "value_changed"); } } gboolean gtk_sheet_column_titles_visible(GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return sheet->column_titles_visible; } gboolean gtk_sheet_row_titles_visible(GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return sheet->row_titles_visible; } void gtk_sheet_set_column_title (GtkSheet * sheet, gint column, const gchar * title) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (sheet->column[column].name) g_free (sheet->column[column].name); sheet->column[column].name = g_strdup(title); } void gtk_sheet_set_row_title (GtkSheet * sheet, gint row, const gchar * title) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (sheet->row[row].name) g_free (sheet->row[row].name); sheet->row[row].name = g_strdup (title); } const gchar * gtk_sheet_get_row_title (GtkSheet * sheet, gint row) { g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); return(sheet->row[row].name); } const gchar * gtk_sheet_get_column_title (GtkSheet * sheet, gint column) { g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); return(sheet->column[column].name); } void gtk_sheet_row_button_add_label(GtkSheet *sheet, gint row, const gchar *label) { GtkSheetButton *button; GtkRequisition req; gboolean aux; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(row < 0 || row > sheet->maxrow) return; button = &sheet->row[row].button; if (button->label) g_free (button->label); button->label = g_strdup (label); aux = gtk_sheet_autoresize(sheet); gtk_sheet_set_autoresize(sheet, TRUE); gtk_sheet_button_size_request(sheet, button, &req); gtk_sheet_set_autoresize(sheet, aux); if(req.height > sheet->row[row].height) gtk_sheet_set_row_height(sheet, row, req.height); if(req.width > sheet->row_title_area.width){ gtk_sheet_set_row_titles_width(sheet, req.width); } if(!GTK_SHEET_IS_FROZEN(sheet)){ gtk_sheet_button_draw(sheet, row, -1); g_signal_emit (sheet, sheet_signals[CHANGED], 0, row, -1); } } const gchar * gtk_sheet_row_button_get_label(GtkSheet *sheet, gint row) { g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); if(row < 0 || row > sheet->maxrow) return NULL; return (sheet->row[row].button.label); } void gtk_sheet_row_label_set_visibility(GtkSheet *sheet, gint row, gboolean visible) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(row < 0 || row > sheet->maxrow) return; sheet->row[row].button.label_visible = visible; if(!GTK_SHEET_IS_FROZEN(sheet)){ gtk_sheet_button_draw(sheet, row, -1); g_signal_emit (sheet, sheet_signals[CHANGED], 0, row, -1); } } void gtk_sheet_rows_labels_set_visibility(GtkSheet *sheet, gboolean visible) { gint i; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); for(i = 0; i <= sheet->maxrow; i++) gtk_sheet_row_label_set_visibility(sheet, i, visible); } void gtk_sheet_column_button_add_label(GtkSheet *sheet, gint column, const gchar *label) { GtkSheetButton *button; GtkRequisition req; gboolean aux; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(column < 0 || column >sheet->maxcol) return; button = &sheet->column[column].button; if (button->label) g_free (button->label); button->label = g_strdup (label); aux = gtk_sheet_autoresize(sheet); gtk_sheet_set_autoresize(sheet, TRUE); gtk_sheet_button_size_request(sheet, button, &req); gtk_sheet_set_autoresize(sheet, aux); if(req.width > sheet->column[column].width) gtk_sheet_set_column_width(sheet, column, req.width); if(req.height > sheet->column_title_area.height) gtk_sheet_set_column_titles_height(sheet, req.height); if(!GTK_SHEET_IS_FROZEN(sheet)){ gtk_sheet_button_draw(sheet, -1, column); g_signal_emit (sheet, sheet_signals[CHANGED], 0, -1, column); } } const gchar * gtk_sheet_column_button_get_label(GtkSheet *sheet, gint column) { g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); if(column < 0 || column >sheet->maxcol) return NULL; return(sheet->column[column].button.label); } void gtk_sheet_column_label_set_visibility(GtkSheet *sheet, gint col, gboolean visible) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(col < 0 || col > sheet->maxcol) return; sheet->column[col].button.label_visible = visible; if(!GTK_SHEET_IS_FROZEN(sheet)){ gtk_sheet_button_draw(sheet, -1, col); g_signal_emit (sheet, sheet_signals[CHANGED], 0, -1, col); } } void gtk_sheet_columns_labels_set_visibility(GtkSheet *sheet, gboolean visible) { gint i; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); for(i = 0; i <= sheet->maxcol; i++) gtk_sheet_column_label_set_visibility(sheet, i, visible); } void gtk_sheet_row_button_justify(GtkSheet *sheet, gint row, GtkJustification justification) { GtkSheetButton *button; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(row < 0 || row > sheet->maxrow) return; button = &sheet->row[row].button; button->justification = justification; if(!GTK_SHEET_IS_FROZEN(sheet)){ gtk_sheet_button_draw(sheet, row, -1); g_signal_emit (sheet, sheet_signals[CHANGED], 0, row, -1); } } void gtk_sheet_column_button_justify(GtkSheet *sheet, gint column, GtkJustification justification) { GtkSheetButton *button; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(column < 0 || column > sheet->maxcol) return; button = &sheet->column[column].button; button->justification = justification; if(!GTK_SHEET_IS_FROZEN(sheet)){ gtk_sheet_button_draw(sheet, -1, column); g_signal_emit (sheet, sheet_signals[CHANGED], 0, -1, column); } } void gtk_sheet_moveto (GtkSheet * sheet, gint row, gint column, gfloat row_align, gfloat col_align) { gint x, y; guint width, height; gint adjust; gint min_row, min_col; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); g_return_if_fail (sheet->hadjustment != NULL); g_return_if_fail (sheet->vadjustment != NULL); if (row < 0 || row > sheet->maxrow) return; if (column < 0 || column > sheet->maxcol) return; height = sheet->sheet_window_height; width = sheet->sheet_window_width; /* adjust vertical scrollbar */ if (row >= 0 && row_align >=0.) { y = ROW_TOP_YPIXEL(sheet, row) - sheet->voffset - row_align*height- (1.-row_align)*sheet->row[row].height; /* This forces the sheet to scroll when you don't see the entire cell */ min_row = row; adjust = 0; if(row_align == 1.){ while(min_row >= 0 && min_row > MIN_VISIBLE_ROW(sheet)){ if(sheet->row[min_row].is_visible) adjust += sheet->row[min_row].height; if (adjust >= (gint) height) { break; } min_row--; } min_row = MAX(min_row, 0); y = ROW_TOP_YPIXEL(sheet, min_row) - sheet->voffset + sheet->row[min_row].height - 1; } if (y < 0) sheet->vadjustment->value = 0.0; else sheet->vadjustment->value = y; sheet->old_vadjustment = -1.; g_signal_emit_by_name (sheet->vadjustment, "value_changed"); } /* adjust horizontal scrollbar */ if (column >= 0 && col_align >= 0.) { x = COLUMN_LEFT_XPIXEL (sheet, column) - sheet->hoffset - col_align*width - (1.-col_align)*sheet->column[column].width; /* This forces the sheet to scroll when you don't see the entire cell */ min_col = column; adjust = 0; if(col_align == 1.){ while(min_col >= 0 && min_col > MIN_VISIBLE_COLUMN(sheet)){ if(sheet->column[min_col].is_visible) adjust += sheet->column[min_col].width; if (adjust >= (gint) width) { break; } min_col--; } min_col = MAX(min_col, 0); x = COLUMN_LEFT_XPIXEL(sheet, min_col) - sheet->hoffset + sheet->column[min_col].width - 1; } if (x < 0) sheet->hadjustment->value = 0.0; else sheet->hadjustment->value = x; sheet->old_vadjustment = -1.; g_signal_emit_by_name (sheet->hadjustment, "value_changed"); } } void gtk_sheet_column_set_sensitivity(GtkSheet *sheet, gint column, gboolean sensitive) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(column < 0 || column > sheet->maxcol) return; sheet->column[column].is_sensitive=sensitive; if(!sensitive) sheet->column[column].button.state=GTK_STATE_INSENSITIVE; else sheet->column[column].button.state=GTK_STATE_NORMAL; if (gtk_widget_get_realized (GTK_WIDGET (sheet)) && !GTK_SHEET_IS_FROZEN (sheet)) { gtk_sheet_button_draw(sheet, -1, column); } } void gtk_sheet_columns_set_sensitivity(GtkSheet *sheet, gboolean sensitive) { gint i; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); for(i=0; i<=sheet->maxcol; i++) gtk_sheet_column_set_sensitivity(sheet, i, sensitive); } void gtk_sheet_columns_set_resizable (GtkSheet *sheet, gboolean resizable) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); sheet->columns_resizable = resizable; } gboolean gtk_sheet_columns_resizable (GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return sheet->columns_resizable; } void gtk_sheet_row_set_sensitivity(GtkSheet *sheet, gint row, gboolean sensitive) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(row < 0 || row > sheet->maxrow) return; sheet->row[row].is_sensitive=sensitive; if(!sensitive) sheet->row[row].button.state=GTK_STATE_INSENSITIVE; else sheet->row[row].button.state=GTK_STATE_NORMAL; if (gtk_widget_get_realized (GTK_WIDGET (sheet)) && !GTK_SHEET_IS_FROZEN (sheet)) { gtk_sheet_button_draw(sheet, row, -1); } } void gtk_sheet_rows_set_sensitivity(GtkSheet *sheet, gboolean sensitive) { gint i; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); for(i=0; i<=sheet->maxrow; i++) gtk_sheet_row_set_sensitivity(sheet, i, sensitive); } void gtk_sheet_rows_set_resizable (GtkSheet *sheet, gboolean resizable) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); sheet->rows_resizable = resizable; } gboolean gtk_sheet_rows_resizable (GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return sheet->rows_resizable; } void gtk_sheet_column_set_visibility(GtkSheet *sheet, gint column, gboolean visible) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(column < 0 || column > sheet->maxcol) return; if(sheet->column[column].is_visible == visible) return; sheet->column[column].is_visible = visible; gtk_sheet_recalc_left_xpixels(sheet, column); if(!GTK_SHEET_IS_FROZEN(sheet) && gtk_sheet_cell_isvisible(sheet, MIN_VISIBLE_ROW(sheet), column)){ gtk_sheet_range_draw(sheet, NULL); size_allocate_column_title_buttons(sheet); } } void gtk_sheet_row_set_visibility(GtkSheet *sheet, gint row, gboolean visible) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(row < 0 || row > sheet->maxrow) return; if(sheet->row[row].is_visible == visible) return; sheet->row[row].is_visible = visible; gtk_sheet_recalc_top_ypixels(sheet, row); if(!GTK_SHEET_IS_FROZEN(sheet) && gtk_sheet_cell_isvisible(sheet, row, MIN_VISIBLE_COLUMN(sheet))){ gtk_sheet_range_draw(sheet, NULL); size_allocate_row_title_buttons(sheet); } } void gtk_sheet_select_row (GtkSheet * sheet, gint row) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (row < 0 || row > sheet->maxrow) return; if(sheet->state != GTK_SHEET_NORMAL) gtk_sheet_real_unselect_range(sheet, NULL); else { gboolean veto = TRUE; veto = gtk_sheet_deactivate_cell(sheet); if(!veto) return; } sheet->state=GTK_SHEET_ROW_SELECTED; sheet->range.row0=row; sheet->range.col0=0; sheet->range.rowi=row; sheet->range.coli=sheet->maxcol; sheet->active_cell.row=row; sheet->active_cell.col=0; g_signal_emit (sheet, sheet_signals[SELECT_ROW], 0, row); gtk_sheet_real_select_range(sheet, NULL); } void gtk_sheet_select_column (GtkSheet * sheet, gint column) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (column < 0 || column > sheet->maxcol) return; if(sheet->state != GTK_SHEET_NORMAL) gtk_sheet_real_unselect_range(sheet, NULL); else { gboolean veto = TRUE; veto = gtk_sheet_deactivate_cell(sheet); if(!veto) return; } sheet->state=GTK_SHEET_COLUMN_SELECTED; sheet->range.row0=0; sheet->range.col0=column; sheet->range.rowi=sheet->maxrow; sheet->range.coli=column; sheet->active_cell.row=0; sheet->active_cell.col=column; g_signal_emit (sheet, sheet_signals[SELECT_COLUMN], 0, column); gtk_sheet_real_select_range(sheet, NULL); } void gtk_sheet_clip_range (GtkSheet *sheet, const GtkSheetRange *range) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(GTK_SHEET_IN_CLIP(sheet)) return; GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IN_CLIP); if(range == NULL) sheet->clip_range = sheet->range; else sheet->clip_range=*range; sheet->interval=0; sheet->clip_timer = g_timeout_add (TIMEOUT_FLASH, (GSourceFunc) gtk_sheet_flash, sheet); g_signal_emit (sheet, sheet_signals[CLIP_RANGE], 0, &sheet->clip_range); } void gtk_sheet_unclip_range(GtkSheet *sheet) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!GTK_SHEET_IN_CLIP(sheet)) return; GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IN_CLIP); g_source_remove (sheet->clip_timer); gtk_sheet_range_draw(sheet, &sheet->clip_range); if(gtk_sheet_range_isvisible(sheet, sheet->range)) gtk_sheet_range_draw(sheet, &sheet->range); } gboolean gtk_sheet_in_clip (GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); return GTK_SHEET_IN_CLIP(sheet); } static gint gtk_sheet_flash(gpointer data) { GtkSheet *sheet; gint x,y,width,height; GdkRectangle clip_area; sheet=GTK_SHEET(data); if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) return TRUE; if (!gtk_widget_is_drawable (GTK_WIDGET (sheet))) return TRUE; if(!gtk_sheet_range_isvisible(sheet, sheet->clip_range)) return TRUE; if(GTK_SHEET_IN_XDRAG(sheet)) return TRUE; if(GTK_SHEET_IN_YDRAG(sheet)) return TRUE; GDK_THREADS_ENTER(); x=COLUMN_LEFT_XPIXEL(sheet,sheet->clip_range.col0)+1; y=ROW_TOP_YPIXEL(sheet,sheet->clip_range.row0)+1; width=COLUMN_LEFT_XPIXEL(sheet,sheet->clip_range.coli)-x+ sheet->column[sheet->clip_range.coli].width-1; height=ROW_TOP_YPIXEL(sheet,sheet->clip_range.rowi)-y+ sheet->row[sheet->clip_range.rowi].height-1; clip_area.x=COLUMN_LEFT_XPIXEL(sheet, MIN_VISIBLE_COLUMN(sheet)); clip_area.y=ROW_TOP_YPIXEL(sheet, MIN_VISIBLE_ROW(sheet)); clip_area.width=sheet->sheet_window_width; clip_area.height=sheet->sheet_window_height; if(x<0) { width=width+x+1; x=-1; } if(width>clip_area.width) width=clip_area.width+10; if(y<0) { height=height+y+1; y=-1; } if(height>clip_area.height) height=clip_area.height+10; gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x, y, x, y, 1, height); gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x, y, x, y, width, 1); gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x, y+height, x, y+height, width, 1); gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x+width, y, x+width, y, 1, height); sheet->interval=sheet->interval+1; if(sheet->interval==TIME_INTERVAL) sheet->interval=0; gdk_gc_set_dashes(sheet->xor_gc, sheet->interval, (gint8*)"\4\4", 2); gtk_sheet_draw_flashing_range(sheet,sheet->clip_range); gdk_gc_set_dashes(sheet->xor_gc, 0, (gint8*)"\4\4", 2); GDK_THREADS_LEAVE(); return TRUE; } static void gtk_sheet_draw_flashing_range(GtkSheet *sheet, GtkSheetRange range) { GdkRectangle clip_area; gint x,y,width,height; if(!gtk_sheet_range_isvisible(sheet, sheet->clip_range)) return; clip_area.x=COLUMN_LEFT_XPIXEL(sheet, MIN_VISIBLE_COLUMN(sheet)); clip_area.y=ROW_TOP_YPIXEL(sheet, MIN_VISIBLE_ROW(sheet)); clip_area.width=sheet->sheet_window_width; clip_area.height=sheet->sheet_window_height; gdk_gc_set_clip_rectangle(sheet->xor_gc, &clip_area); x=COLUMN_LEFT_XPIXEL(sheet,sheet->clip_range.col0)+1; y=ROW_TOP_YPIXEL(sheet,sheet->clip_range.row0)+1; width=COLUMN_LEFT_XPIXEL(sheet,sheet->clip_range.coli)-x+ sheet->column[sheet->clip_range.coli].width-1; height=ROW_TOP_YPIXEL(sheet,sheet->clip_range.rowi)-y+ sheet->row[sheet->clip_range.rowi].height-1; if(x<0) { width=width+x+1; x=-1; } if(width>clip_area.width) width=clip_area.width+10; if(y<0) { height=height+y+1; y=-1; } if(height>clip_area.height) height=clip_area.height+10; gdk_gc_set_line_attributes (sheet->xor_gc, 1, (GdkLineStyle) 1, (GdkCapStyle) 0, (GdkJoinStyle) 0); gdk_draw_rectangle(sheet->sheet_window, sheet->xor_gc, FALSE, x, y, width, height); gdk_gc_set_line_attributes (sheet->xor_gc, 1, (GdkLineStyle) 0, (GdkCapStyle) 0, (GdkJoinStyle) 0); gdk_gc_set_clip_rectangle(sheet->xor_gc, NULL); } static gint gtk_sheet_range_isvisible (GtkSheet * sheet, GtkSheetRange range) { g_return_val_if_fail (sheet != NULL, FALSE); if (range.row0 < 0 || range.row0 > sheet->maxrow) return FALSE; if (range.rowi < 0 || range.rowi > sheet->maxrow) return FALSE; if (range.col0 < 0 || range.col0 > sheet->maxcol) return FALSE; if (range.coli < 0 || range.coli > sheet->maxcol) return FALSE; if (range.rowi < MIN_VISIBLE_ROW (sheet)) return FALSE; if (range.row0 > MAX_VISIBLE_ROW (sheet)) return FALSE; if (range.coli < MIN_VISIBLE_COLUMN (sheet)) return FALSE; if (range.col0 > MAX_VISIBLE_COLUMN (sheet)) return FALSE; return TRUE; } static gint gtk_sheet_cell_isvisible (GtkSheet * sheet, gint row, gint column) { GtkSheetRange range; range.row0 = row; range.col0 = column; range.rowi = row; range.coli = column; return gtk_sheet_range_isvisible(sheet, range); } void gtk_sheet_get_visible_range(GtkSheet *sheet, GtkSheetRange *range) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)) ; g_return_if_fail (range != NULL); range->row0 = MIN_VISIBLE_ROW(sheet); range->col0 = MIN_VISIBLE_COLUMN(sheet); range->rowi = MAX_VISIBLE_ROW(sheet); range->coli = MAX_VISIBLE_COLUMN(sheet); } GtkAdjustment * gtk_sheet_get_vadjustment (GtkSheet * sheet) { g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); return sheet->vadjustment; } GtkAdjustment * gtk_sheet_get_hadjustment (GtkSheet * sheet) { g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); return sheet->hadjustment; } void gtk_sheet_set_vadjustment (GtkSheet *sheet, GtkAdjustment *adjustment) { GtkAdjustment *old_adjustment; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (adjustment) g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); if (sheet->vadjustment == adjustment) return; old_adjustment = sheet->vadjustment; if (sheet->vadjustment) { g_signal_handlers_disconnect_matched (sheet->vadjustment, /* instance */ G_SIGNAL_MATCH_DATA, /* mask */ 0, /* signal_id */ 0, /* detail */ NULL, /* closure */ NULL, /* func */ sheet); /* data */ g_object_unref (sheet->vadjustment); } sheet->vadjustment = adjustment; if (sheet->vadjustment) { g_object_ref (sheet->vadjustment); g_object_ref_sink (sheet->vadjustment); g_signal_connect (sheet->vadjustment, "changed", G_CALLBACK (vadjustment_changed), sheet); g_signal_connect (sheet->vadjustment, "value_changed", G_CALLBACK (vadjustment_value_changed), sheet); } if (!sheet->vadjustment || !old_adjustment) { gtk_widget_queue_resize (GTK_WIDGET (sheet)); return; } sheet->old_vadjustment = sheet->vadjustment->value; } void gtk_sheet_set_hadjustment (GtkSheet *sheet, GtkAdjustment *adjustment) { GtkAdjustment *old_adjustment; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (adjustment) g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); if (sheet->hadjustment == adjustment) return; old_adjustment = sheet->hadjustment; if (sheet->hadjustment) { g_signal_handlers_disconnect_matched (sheet->hadjustment, /* instance */ G_SIGNAL_MATCH_DATA, /* mask */ 0, /* signal_id */ 0, /* detail */ NULL, /* closure */ NULL, /* func */ sheet); /* data */ g_object_unref (sheet->hadjustment); } sheet->hadjustment = adjustment; if (sheet->hadjustment) { g_object_ref (sheet->hadjustment); g_object_ref_sink (sheet->hadjustment); g_signal_connect (sheet->hadjustment, "changed", G_CALLBACK (hadjustment_changed), sheet); g_signal_connect (sheet->hadjustment, "value_changed", G_CALLBACK (hadjustment_value_changed), sheet); } if (!sheet->hadjustment || !old_adjustment) { gtk_widget_queue_resize (GTK_WIDGET (sheet)); return; } sheet->old_hadjustment = sheet->hadjustment->value; } static void gtk_sheet_set_scroll_adjustments (GtkSheet *sheet, GtkAdjustment *hadjustment, GtkAdjustment *vadjustment) { if(sheet->hadjustment != hadjustment) gtk_sheet_set_hadjustment (sheet, hadjustment); if(sheet->vadjustment != vadjustment) gtk_sheet_set_vadjustment (sheet, vadjustment); } static void gtk_sheet_finalize (GObject * object) { GtkSheet *sheet; g_return_if_fail (object != NULL); g_return_if_fail (GTK_IS_SHEET (object)); sheet = GTK_SHEET (object); /* get rid of all the cells */ gtk_sheet_range_clear (sheet, NULL); gtk_sheet_range_delete(sheet, NULL); gtk_sheet_delete_rows (sheet, 0, sheet->maxrow + 1); gtk_sheet_delete_columns (sheet, 0, sheet->maxcol + 1); DeleteRow (sheet, 0, sheet->maxrow + 1); DeleteColumn (sheet, 0, sheet->maxcol + 1); g_free(sheet->row); sheet->row = NULL; g_free(sheet->column); sheet->column = NULL; g_free(sheet->data); sheet->data = NULL; if(sheet->name){ g_free(sheet->name); sheet->name = NULL; } if (G_OBJECT_CLASS (gtk_sheet_parent_class)->finalize) (*G_OBJECT_CLASS (gtk_sheet_parent_class)->finalize) (object); } static void gtk_sheet_destroy (GtkObject * object) { GtkSheet *sheet; GList *children; g_return_if_fail (object != NULL); g_return_if_fail (GTK_IS_SHEET (object)); sheet = GTK_SHEET (object); /* destroy the entry */ if(sheet->sheet_entry && GTK_IS_WIDGET(sheet->sheet_entry)){ gtk_widget_destroy (sheet->sheet_entry); sheet->sheet_entry = NULL; } /* destroy the global selection button */ if(sheet->button && GTK_IS_WIDGET(sheet->button)){ gtk_widget_destroy (sheet->button); sheet->button = NULL; } if(sheet->timer){ g_source_remove (sheet->timer); sheet->timer = 0; } if(sheet->clip_timer){ g_source_remove (sheet->clip_timer); sheet->clip_timer = 0; } /* unref adjustments */ if (sheet->hadjustment) { g_signal_handlers_disconnect_matched (sheet->hadjustment, /* instance */ G_SIGNAL_MATCH_DATA, /* mask */ 0, /* signal_id */ 0, /* detail */ NULL, /* closure */ NULL, /* func */ sheet); /* data */ g_object_unref (sheet->hadjustment); sheet->hadjustment = NULL; } if (sheet->vadjustment) { g_signal_handlers_disconnect_matched (sheet->vadjustment, /* instance */ G_SIGNAL_MATCH_DATA, /* mask */ 0, /* signal_id */ 0, /* detail */ NULL, /* closure */ NULL, /* func */ sheet); /* data */ g_object_unref (sheet->vadjustment); sheet->vadjustment = NULL; } children = sheet->children; while(children){ GtkSheetChild *child = (GtkSheetChild *)children->data; if(child && child->widget) gtk_sheet_remove(GTK_CONTAINER(sheet), child->widget); children = sheet->children; } sheet->children = NULL; if (GTK_OBJECT_CLASS (gtk_sheet_parent_class)->destroy) (*GTK_OBJECT_CLASS (gtk_sheet_parent_class)->destroy) (object); } static void gtk_sheet_style_set (GtkWidget *widget, GtkStyle *previous_style) { g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_SHEET (widget)); if (GTK_WIDGET_CLASS (gtk_sheet_parent_class)->style_set) (*GTK_WIDGET_CLASS (gtk_sheet_parent_class)->style_set) (widget, previous_style); if (gtk_widget_get_realized (widget)) { gtk_style_set_background (widget->style, widget->window, (GtkStateType) widget->state); } } static void gtk_sheet_realize (GtkWidget * widget) { GtkSheet *sheet; GdkWindowAttr attributes; gint attributes_mask; GdkGCValues values, auxvalues; GdkColormap *colormap; gchar *name; GtkSheetChild *child; GList *children; g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_SHEET (widget)); sheet = GTK_SHEET (widget); gtk_widget_set_realized (widget, TRUE); attributes.window_type = GDK_WINDOW_CHILD; attributes.x = widget->allocation.x; attributes.y = widget->allocation.y; attributes.width = widget->allocation.width; attributes.height = widget->allocation.height; attributes.wclass = GDK_INPUT_OUTPUT; attributes.visual = gtk_widget_get_visual (widget); attributes.colormap = gtk_widget_get_colormap (widget); attributes.event_mask = gtk_widget_get_events (widget); attributes.event_mask |= (GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK); attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP | GDK_WA_CURSOR; attributes.cursor = gdk_cursor_new(GDK_TOP_LEFT_ARROW); /* main window */ widget->window = gdk_window_new (gtk_widget_get_parent_window (widget), &attributes, attributes_mask); gdk_window_set_user_data (widget->window, sheet); widget->style = gtk_style_attach (widget->style, widget->window); gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL); attributes.x = 0; if(sheet->row_titles_visible) attributes.x = sheet->row_title_area.width; attributes.y = 0; attributes.width = sheet->column_title_area.width; attributes.height = sheet->column_title_area.height; /* column-title window */ sheet->column_title_window = gdk_window_new (widget->window, &attributes, attributes_mask); gdk_window_set_user_data (sheet->column_title_window, sheet); gtk_style_set_background (widget->style, sheet->column_title_window, GTK_STATE_NORMAL); attributes.x = 0; attributes.y = 0; if(sheet->column_titles_visible) attributes.y = sheet->column_title_area.height; attributes.width = sheet->row_title_area.width; attributes.height = sheet->row_title_area.height; /* row-title window */ sheet->row_title_window = gdk_window_new (widget->window, &attributes, attributes_mask); gdk_window_set_user_data (sheet->row_title_window, sheet); gtk_style_set_background (widget->style, sheet->row_title_window, GTK_STATE_NORMAL); /* sheet-window */ attributes.cursor = gdk_cursor_new(GDK_PLUS); attributes.x = 0; attributes.y = 0; attributes.width = sheet->sheet_window_width, attributes.height = sheet->sheet_window_height; sheet->sheet_window = gdk_window_new (widget->window, &attributes, attributes_mask); gdk_window_set_user_data (sheet->sheet_window, sheet); gdk_window_set_background (sheet->sheet_window, &widget->style->white); gdk_window_show (sheet->sheet_window); /* backing_pixmap */ gtk_sheet_make_backing_pixmap(sheet, 0, 0); /* GCs */ if (sheet->fg_gc) { g_object_unref (sheet->fg_gc); } if (sheet->bg_gc) { g_object_unref (sheet->bg_gc); } sheet->fg_gc = gdk_gc_new (widget->window); sheet->bg_gc = gdk_gc_new (widget->window); colormap = gtk_widget_get_colormap(widget); gdk_color_white(colormap, &widget->style->white); gdk_color_black(colormap, &widget->style->black); gdk_gc_get_values(sheet->fg_gc, &auxvalues); values.foreground = widget->style->white; values.function = GDK_INVERT; values.subwindow_mode = GDK_INCLUDE_INFERIORS; if(sheet->xor_gc) { g_object_unref (sheet->xor_gc); } sheet->xor_gc = gdk_gc_new_with_values (widget->window, &values, (GdkGCValuesMask) (GDK_GC_FOREGROUND | GDK_GC_FUNCTION | GDK_GC_SUBWINDOW)); if(sheet->sheet_entry->parent){ g_object_ref(sheet->sheet_entry); gtk_widget_unparent(sheet->sheet_entry); } gtk_widget_set_parent_window (sheet->sheet_entry, sheet->sheet_window); gtk_widget_set_parent(sheet->sheet_entry, GTK_WIDGET(sheet)); if(sheet->button && sheet->button->parent){ g_object_ref(sheet->button); gtk_widget_unparent(sheet->button); } gtk_widget_set_parent_window(sheet->button, sheet->sheet_window); gtk_widget_set_parent(sheet->button, GTK_WIDGET(sheet)); /* gtk_sheet_activate_cell(sheet, sheet->active_cell.row, sheet->active_cell.col); */ if(!sheet->cursor_drag) sheet->cursor_drag = gdk_cursor_new(GDK_PLUS); if(sheet->column_titles_visible) gdk_window_show(sheet->column_title_window); if(sheet->row_titles_visible) gdk_window_show(sheet->row_title_window); size_allocate_row_title_buttons(sheet); size_allocate_column_title_buttons(sheet); name = g_strdup(sheet->name); gtk_sheet_set_title(sheet, name); g_free(name); children = sheet->children; while(children) { child = (GtkSheetChild*) children->data; children = g_list_next(children); gtk_sheet_realize_child(sheet, child); } } static void create_global_button(GtkSheet *sheet) { sheet->button = gtk_button_new_with_label(" "); g_signal_connect (sheet->button, "pressed", G_CALLBACK (global_button_clicked), sheet); } static void size_allocate_global_button(GtkSheet *sheet) { GtkAllocation allocation; if(!sheet->column_titles_visible) return; if(!sheet->row_titles_visible) return; gtk_widget_size_request(sheet->button, NULL); allocation.x=0; allocation.y=0; allocation.width=sheet->row_title_area.width; allocation.height=sheet->column_title_area.height; gtk_widget_size_allocate(sheet->button, &allocation); gtk_widget_show(sheet->button); } static void global_button_clicked(GtkWidget *widget, gpointer data) { gboolean veto; gtk_sheet_click_cell(GTK_SHEET(data), -1, -1, &veto); gtk_widget_grab_focus(GTK_WIDGET(data)); } static void gtk_sheet_unrealize (GtkWidget * widget) { GtkSheet *sheet; g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_SHEET (widget)); sheet = GTK_SHEET (widget); gdk_cursor_destroy (sheet->cursor_drag); gdk_gc_destroy (sheet->xor_gc); gdk_gc_destroy (sheet->fg_gc); gdk_gc_destroy (sheet->bg_gc); gdk_window_destroy (sheet->sheet_window); gdk_window_destroy (sheet->column_title_window); gdk_window_destroy (sheet->row_title_window); if (sheet->pixmap){ g_object_unref (sheet->pixmap); sheet->pixmap = NULL; } sheet->column_title_window=NULL; sheet->sheet_window = NULL; sheet->cursor_drag = NULL; sheet->xor_gc = NULL; sheet->fg_gc = NULL; sheet->bg_gc = NULL; if (GTK_WIDGET_CLASS (gtk_sheet_parent_class)->unrealize) (* GTK_WIDGET_CLASS (gtk_sheet_parent_class)->unrealize) (widget); } static void gtk_sheet_map (GtkWidget * widget) { GtkSheet *sheet; GtkSheetChild *child; GList *children; g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_SHEET (widget)); sheet = GTK_SHEET (widget); if (!gtk_widget_get_mapped (widget)) { gtk_widget_set_mapped (widget, TRUE); if(!sheet->cursor_drag) sheet->cursor_drag=gdk_cursor_new(GDK_PLUS); gdk_window_show (widget->window); gdk_window_show (sheet->sheet_window); if(sheet->column_titles_visible){ gdk_window_show (sheet->column_title_window); } if(sheet->row_titles_visible){ gdk_window_show (sheet->row_title_window); } if (!gtk_widget_get_mapped (sheet->sheet_entry)) { gtk_widget_show (sheet->sheet_entry); gtk_widget_map (sheet->sheet_entry); } if (gtk_widget_get_visible (sheet->button) && !gtk_widget_get_mapped (sheet->button)) { gtk_widget_show(sheet->button); gtk_widget_map (sheet->button); } if(GTK_BIN(sheet->button)->child) if (gtk_widget_get_visible (GTK_BIN (sheet->button)->child) && !gtk_widget_get_mapped (GTK_BIN (sheet->button)->child)) { gtk_widget_map (GTK_BIN(sheet->button)->child); } gtk_sheet_range_draw(sheet, NULL); gtk_sheet_activate_cell(sheet, sheet->active_cell.row, sheet->active_cell.col); children = sheet->children; while (children) { child = (GtkSheetChild*) children->data; children = g_list_next(children); if (gtk_widget_get_visible (child->widget) && !gtk_widget_get_mapped (child->widget)) { gtk_widget_map (child->widget); gtk_sheet_position_child(sheet, child); } } } } static void gtk_sheet_unmap (GtkWidget * widget) { GtkSheet *sheet; GtkSheetChild *child; GList *children; g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_SHEET (widget)); sheet = GTK_SHEET (widget); if (gtk_widget_get_mapped (widget)) { GTK_WIDGET_UNSET_FLAGS (widget, GTK_MAPPED); gdk_window_hide (sheet->sheet_window); if(sheet->column_titles_visible) gdk_window_hide (sheet->column_title_window); if(sheet->row_titles_visible) gdk_window_hide (sheet->row_title_window); gdk_window_hide (widget->window); if (gtk_widget_get_mapped (sheet->sheet_entry)) gtk_widget_unmap (sheet->sheet_entry); if (gtk_widget_get_mapped (sheet->button)) gtk_widget_unmap (sheet->button); children = sheet->children; while (children) { child = (GtkSheetChild*) children->data; children = g_list_next(children); if (gtk_widget_get_visible (child->widget) && gtk_widget_get_mapped (child->widget)) { gtk_widget_unmap (child->widget); } } } } static void gtk_sheet_cell_draw_default (GtkSheet *sheet, gint row, gint col) { GdkGC *bg_gc; GtkSheetCellAttr attributes; GdkRectangle area; g_return_if_fail (sheet != NULL); /* bail now if we arn't drawable yet */ if (!gtk_widget_is_drawable (GTK_WIDGET (sheet))) return; if (row < 0 || row > sheet->maxrow) return; if (col < 0 || col > sheet->maxcol) return; if (!sheet->column[col].is_visible) return; if (!sheet->row[row].is_visible) return; gtk_sheet_get_attributes(sheet, row, col, &attributes); /* select GC for background rectangle */ gdk_gc_set_foreground (sheet->fg_gc, &attributes.foreground); gdk_gc_set_foreground (sheet->bg_gc, &attributes.background); bg_gc = sheet->bg_gc; area.x=COLUMN_LEFT_XPIXEL(sheet,col); area.y=ROW_TOP_YPIXEL(sheet,row); area.width=sheet->column[col].width; area.height=sheet->row[row].height; gdk_draw_rectangle (sheet->pixmap, bg_gc, TRUE, area.x, area.y, area.width, area.height); gdk_gc_set_line_attributes (sheet->fg_gc, 1, (GdkLineStyle) 0, (GdkCapStyle) 0, (GdkJoinStyle) 0); if(sheet->show_grid){ gdk_gc_set_foreground (sheet->bg_gc, &sheet->grid_color); gdk_draw_rectangle (sheet->pixmap, sheet->bg_gc, FALSE, area.x, area.y, area.width, area.height); } } static void gtk_sheet_cell_draw_border (GtkSheet *sheet, gint row, gint col, gint mask) { GtkSheetCellAttr attributes; GdkRectangle area; guint width; g_return_if_fail (sheet != NULL); /* bail now if we arn't drawable yet */ if (!gtk_widget_is_drawable (GTK_WIDGET (sheet))) return; if (row < 0 || row > sheet->maxrow) return; if (col < 0 || col > sheet->maxcol) return; if (!sheet->column[col].is_visible) return; if (!sheet->row[row].is_visible) return; gtk_sheet_get_attributes(sheet, row, col, &attributes); /* select GC for background rectangle */ gdk_gc_set_foreground (sheet->fg_gc, &attributes.border.color); gdk_gc_set_foreground (sheet->bg_gc, &attributes.background); area.x=COLUMN_LEFT_XPIXEL(sheet,col); area.y=ROW_TOP_YPIXEL(sheet,row); area.width=sheet->column[col].width; area.height=sheet->row[row].height; width = attributes.border.width; gdk_gc_set_line_attributes(sheet->fg_gc, attributes.border.width, attributes.border.line_style, attributes.border.cap_style, attributes.border.join_style); if(width>0){ if(attributes.border.mask & GTK_SHEET_LEFT_BORDER & mask) gdk_draw_line(sheet->pixmap, sheet->fg_gc, area.x, area.y-width/2, area.x, area.y+area.height+width/2+1); if(attributes.border.mask & GTK_SHEET_RIGHT_BORDER & mask) gdk_draw_line(sheet->pixmap, sheet->fg_gc, area.x+area.width, area.y-width/2, area.x+area.width, area.y+area.height+width/2+1); if(attributes.border.mask & GTK_SHEET_TOP_BORDER & mask) gdk_draw_line(sheet->pixmap, sheet->fg_gc, area.x-width/2,area.y, area.x+area.width+width/2+1, area.y); if(attributes.border.mask & GTK_SHEET_BOTTOM_BORDER & mask) gdk_draw_line(sheet->pixmap, sheet->fg_gc, area.x-width/2, area.y+area.height, area.x+area.width+width/2+1, area.y+area.height); } } static void gtk_sheet_cell_draw_label (GtkSheet *sheet, gint row, gint col) { GdkRectangle area, clip_area; gint i; gint text_width, y; gint xoffset=0; gint size, sizel, sizer; GdkGC *fg_gc; GtkSheetCellAttr attributes; PangoLayout *layout; PangoRectangle rect; PangoRectangle logical_rect; PangoLayoutLine *line; PangoFontMetrics *metrics; PangoContext *context = gtk_widget_get_pango_context(GTK_WIDGET(sheet)); gint y_pos; char *label; g_return_if_fail (sheet != NULL); /* bail now if we aren't drawable yet */ if (!gtk_widget_is_drawable (GTK_WIDGET (sheet))) return; if (row > sheet->maxallocrow) return; if (col > sheet->maxalloccol) return; if (!sheet->data[row]) return; if (!sheet->data[row][col]) return; if (!sheet->data[row][col]->text || strlen(sheet->data[row][col]->text)==0) return; if (row < 0 || row > sheet->maxrow) return; if (col < 0 || col > sheet->maxcol) return; if (!sheet->column[col].is_visible) return; if (!sheet->row[row].is_visible) return; label = sheet->data[row][col]->text; gtk_sheet_get_attributes(sheet, row, col, &attributes); /* select GC for background rectangle */ gdk_gc_set_foreground (sheet->fg_gc, &attributes.foreground); gdk_gc_set_foreground (sheet->bg_gc, &attributes.background); fg_gc = sheet->fg_gc; area.x=COLUMN_LEFT_XPIXEL(sheet,col); area.y=ROW_TOP_YPIXEL(sheet,row); area.width=sheet->column[col].width; area.height=sheet->row[row].height; clip_area = area; layout = gtk_widget_create_pango_layout (GTK_WIDGET(sheet), label); pango_layout_set_font_description (layout, attributes.font_desc); pango_layout_get_pixel_extents (layout, NULL, &rect); line = (PangoLayoutLine*) pango_layout_get_lines (layout)->data; pango_layout_line_get_extents (line, NULL, &logical_rect); metrics = pango_context_get_metrics(context, attributes.font_desc, pango_context_get_language(context)); pango_font_metrics_unref(metrics); /* Align primarily for locale's ascent/descent */ logical_rect.height /= PANGO_SCALE; logical_rect.y /= PANGO_SCALE; y_pos = area.height - logical_rect.height; if (logical_rect.height > area.height) y_pos = (logical_rect.height - area.height - 2*CELLOFFSET) / 2; else if (y_pos < 0) y_pos = 0; else if (y_pos + logical_rect.height > area.height) y_pos = area.height - logical_rect.height; text_width = rect.width; y = area.y + y_pos - CELLOFFSET; switch(attributes.justification){ case GTK_JUSTIFY_RIGHT: size=area.width; area.x+=area.width; if(!gtk_sheet_clip_text(sheet)){ for(i=col-1; i>=MIN_VISIBLE_COLUMN(sheet); i--){ if(gtk_sheet_cell_get_text(sheet, row, i)) break; if(size>=text_width+CELLOFFSET) break; size+=sheet->column[i].width; sheet->column[i].right_text_column = MAX(col, sheet->column[i].right_text_column); } area.width=size; } area.x-=size; xoffset+=area.width-text_width - 2 * CELLOFFSET - attributes.border.width/2; break; case GTK_JUSTIFY_CENTER: sizel=area.width/2; sizer=area.width/2; area.x+=area.width/2; if(!gtk_sheet_clip_text(sheet)){ for(i=col+1; i<=MAX_VISIBLE_COLUMN(sheet); i++){ if(gtk_sheet_cell_get_text(sheet, row, i)) break; if(sizer>=text_width/2) break; sizer+=sheet->column[i].width; sheet->column[i].left_text_column = MIN(col, sheet->column[i].left_text_column); } for(i=col-1; i>=MIN_VISIBLE_COLUMN(sheet); i--){ if(gtk_sheet_cell_get_text(sheet, row, i)) break; if(sizel>=text_width/2) break; sizel+=sheet->column[i].width; sheet->column[i].right_text_column = MAX(col, sheet->column[i].right_text_column); } size=MIN(sizel, sizer); } area.x-=sizel; xoffset+= sizel - text_width/2 - CELLOFFSET; area.width=sizel+sizer; break; case GTK_JUSTIFY_LEFT: default: size=area.width; if(!gtk_sheet_clip_text(sheet)){ for(i=col+1; i<=MAX_VISIBLE_COLUMN(sheet); i++){ if(gtk_sheet_cell_get_text(sheet, row, i)) break; if(size>=text_width+CELLOFFSET) break; size+=sheet->column[i].width; sheet->column[i].left_text_column = MIN(col, sheet->column[i].left_text_column); } area.width=size; } xoffset += attributes.border.width/2; break; } if(!gtk_sheet_clip_text(sheet)) clip_area = area; gdk_gc_set_clip_rectangle(fg_gc, &clip_area); gdk_draw_layout (sheet->pixmap, fg_gc, area.x + xoffset + CELLOFFSET, y, layout); gdk_gc_set_clip_rectangle(fg_gc, NULL); g_object_unref(G_OBJECT(layout)); gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, area.x, area.y, area.x, area.y, area.width, area.height); } static void gtk_sheet_range_draw(GtkSheet *sheet, const GtkSheetRange *range) { gint i,j; GtkSheetRange drawing_range; GdkRectangle area; g_return_if_fail(sheet != NULL); g_return_if_fail(GTK_SHEET(sheet)); if (!gtk_widget_is_drawable (GTK_WIDGET (sheet))) return; if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) return; if (!gtk_widget_get_mapped (GTK_WIDGET (sheet))) return; if(range == NULL) { drawing_range.row0=MIN_VISIBLE_ROW(sheet); drawing_range.col0=MIN_VISIBLE_COLUMN(sheet); drawing_range.rowi=MAX_VISIBLE_ROW(sheet); drawing_range.coli=MAX_VISIBLE_COLUMN(sheet); /* gdk_draw_rectangle (sheet->pixmap, GTK_WIDGET(sheet)->style->white_gc, TRUE, 0,0, sheet->sheet_window_width,sheet->sheet_window_height); */ } else { drawing_range.row0=MAX(range->row0, MIN_VISIBLE_ROW(sheet)); drawing_range.col0=MAX(range->col0, MIN_VISIBLE_COLUMN(sheet)); drawing_range.rowi=MIN(range->rowi, MAX_VISIBLE_ROW(sheet)); drawing_range.coli=MIN(range->coli, MAX_VISIBLE_COLUMN(sheet)); } if(drawing_range.coli == sheet->maxcol){ area.x=COLUMN_LEFT_XPIXEL(sheet,sheet->maxcol)+ sheet->column[sheet->maxcol].width+1; area.y=0; gdk_gc_set_foreground(sheet->fg_gc, &sheet->bg_color); gdk_draw_rectangle (sheet->pixmap, sheet->fg_gc, TRUE, area.x,area.y, sheet->sheet_window_width - area.x, sheet->sheet_window_height); gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, area.x, area.y, area.x, area.y, sheet->sheet_window_width - area.x, sheet->sheet_window_height); } if(drawing_range.rowi == sheet->maxrow){ area.x=0; area.y=ROW_TOP_YPIXEL(sheet,sheet->maxrow)+sheet->row[sheet->maxrow].height+1; gdk_gc_set_foreground(sheet->fg_gc, &sheet->bg_color); gdk_draw_rectangle (sheet->pixmap, sheet->fg_gc, TRUE, area.x,area.y, sheet->sheet_window_width, sheet->sheet_window_height - area.y); gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, area.x, area.y, area.x, area.y, sheet->sheet_window_width, sheet->sheet_window_height - area.y); } for(i=drawing_range.row0; i<=drawing_range.rowi; i++) for(j=drawing_range.col0; j<=drawing_range.coli; j++){ gtk_sheet_cell_draw_default(sheet, i, j); } for(i=drawing_range.row0; i<=drawing_range.rowi; i++) for(j=drawing_range.col0; j<=drawing_range.coli; j++){ gtk_sheet_cell_draw_border(sheet, i-1, j, GTK_SHEET_BOTTOM_BORDER); gtk_sheet_cell_draw_border(sheet, i+1, j, GTK_SHEET_TOP_BORDER); gtk_sheet_cell_draw_border(sheet, i, j-1, GTK_SHEET_RIGHT_BORDER); gtk_sheet_cell_draw_border(sheet, i, j+1, GTK_SHEET_LEFT_BORDER); gtk_sheet_cell_draw_border(sheet, i, j, 15); } for(i=drawing_range.row0; i<=drawing_range.rowi; i++) for(j=drawing_range.col0; j<=drawing_range.coli; j++) if(i<=sheet->maxallocrow && j<=sheet->maxalloccol && sheet->data[i] && sheet->data[i][j]) gtk_sheet_cell_draw_label (sheet, i, j); for(i=drawing_range.row0; i<=drawing_range.rowi; i++) for(j=sheet->column[drawing_range.col0].left_text_column; jmaxallocrow && j<=sheet->maxalloccol && sheet->data[i] && sheet->data[i][j]) gtk_sheet_cell_draw_label (sheet, i, j); for(i=drawing_range.row0; i<=drawing_range.rowi; i++) for(j=drawing_range.coli+1; j<=sheet->column[drawing_range.coli].right_text_column; j++) if(i<=sheet->maxallocrow && j<=sheet->maxalloccol && sheet->data[i] && sheet->data[i][j]) gtk_sheet_cell_draw_label (sheet, i, j); gtk_sheet_draw_backing_pixmap(sheet, drawing_range); if(sheet->state != GTK_SHEET_NORMAL && gtk_sheet_range_isvisible(sheet, sheet->range)) gtk_sheet_range_draw_selection(sheet, drawing_range); if(sheet->state == GTK_STATE_NORMAL && sheet->active_cell.row >= drawing_range.row0 && sheet->active_cell.row <= drawing_range.rowi && sheet->active_cell.col >= drawing_range.col0 && sheet->active_cell.col <= drawing_range.coli) gtk_sheet_show_active_cell(sheet); } static void gtk_sheet_range_draw_selection(GtkSheet *sheet, GtkSheetRange range) { GdkRectangle area; gint i,j; if(range.col0 > sheet->range.coli || range.coli < sheet->range.col0 || range.row0 > sheet->range.rowi || range.rowi < sheet->range.row0) return; if(!gtk_sheet_range_isvisible(sheet, range)) return; if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) return; range.col0=MAX(sheet->range.col0, range.col0); range.coli=MIN(sheet->range.coli, range.coli); range.row0=MAX(sheet->range.row0, range.row0); range.rowi=MIN(sheet->range.rowi, range.rowi); range.col0=MAX(range.col0, MIN_VISIBLE_COLUMN(sheet)); range.coli=MIN(range.coli, MAX_VISIBLE_COLUMN(sheet)); range.row0=MAX(range.row0, MIN_VISIBLE_ROW(sheet)); range.rowi=MIN(range.rowi, MAX_VISIBLE_ROW(sheet)); for(i=range.row0; i<=range.rowi; i++){ for(j=range.col0; j<=range.coli; j++){ if(gtk_sheet_cell_get_state(sheet, i, j)==GTK_STATE_SELECTED && sheet->column[j].is_visible && sheet->row[i].is_visible){ row_button_set(sheet, i); column_button_set(sheet, j); area.x=COLUMN_LEFT_XPIXEL(sheet,j); area.y=ROW_TOP_YPIXEL(sheet,i); area.width=sheet->column[j].width; area.height=sheet->row[i].height; if(i==sheet->range.row0){ area.y=area.y+2; area.height=area.height-2; } if(i==sheet->range.rowi) area.height=area.height-3; if(j==sheet->range.col0){ area.x=area.x+2; area.width=area.width-2; } if(j==sheet->range.coli) area.width=area.width-3; if(i!=sheet->active_cell.row || j!=sheet->active_cell.col){ gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, area.x+1,area.y+1, area.width,area.height); } } } } gtk_sheet_draw_border(sheet, sheet->range); } static void gtk_sheet_draw_backing_pixmap(GtkSheet *sheet, GtkSheetRange range) { gint x,y,width,height; if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) return; x=COLUMN_LEFT_XPIXEL(sheet,range.col0); y=ROW_TOP_YPIXEL(sheet, range.row0); width=COLUMN_LEFT_XPIXEL(sheet, range.coli)-x+sheet->column[range.coli].width; height=ROW_TOP_YPIXEL(sheet, range.rowi)-y+sheet->row[range.rowi].height; if(range.row0==sheet->range.row0){ y=y-5; height=height+5; } if(range.rowi==sheet->range.rowi) height=height+5; if(range.col0==sheet->range.col0){ x=x-5; width=width+5; } if(range.coli==sheet->range.coli) width=width+5; width = MIN (width, (gint) (sheet->sheet_window_width - x)); height = MIN (height, (gint) (sheet->sheet_window_height - y)); x--; y--; width+=2; height+=2; x = (sheet->row_titles_visible) ? MAX(x, sheet->row_title_area.width) : MAX(x, 0); y = (sheet->column_titles_visible) ? MAX(y, sheet->column_title_area.height) : MAX(y, 0); if(range.coli==sheet->maxcol) width=sheet->sheet_window_width-x; if(range.rowi==sheet->maxrow) height=sheet->sheet_window_height-y; gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x, y, x, y, width+1, height+1); } static GtkSheetCell * gtk_sheet_cell_new() { GtkSheetCell *cell; cell = g_new(GtkSheetCell, 1); cell->text = NULL; cell->link = NULL; cell->attributes = NULL; return cell; } void gtk_sheet_set_cell_text(GtkSheet *sheet, gint row, gint col, const gchar *text) { GtkSheetCellAttr attributes; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (col > sheet->maxcol || row > sheet->maxrow) return; if (col < 0 || row < 0) return; gtk_sheet_get_attributes(sheet, row, col, &attributes); gtk_sheet_set_cell(sheet, row, col, attributes.justification, text); } void gtk_sheet_set_cell(GtkSheet *sheet, gint row, gint col, GtkJustification justification, const gchar *text) { GtkSheetCell **cell; GtkSheetRange range; gint text_width; GtkSheetCellAttr attributes; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (col > sheet->maxcol || row > sheet->maxrow) return; if (col < 0 || row < 0) return; CheckBounds(sheet, row, col); cell=&sheet->data[row][col]; if(*cell==NULL) (*cell) = gtk_sheet_cell_new(); gtk_sheet_get_attributes(sheet, row, col, &attributes); (*cell)->row = row; (*cell)->col = col; attributes.justification = justification; gtk_sheet_set_cell_attributes(sheet, row, col, attributes); if((*cell)->text){ g_free((*cell)->text); (*cell)->text = NULL; } if(text) (*cell)->text=g_strdup(text); if(attributes.is_visible){ text_width = 0; if((*cell)->text && strlen((*cell)->text) > 0) { text_width = STRING_WIDTH(GTK_WIDGET(sheet), attributes.font_desc, (*cell)->text); } range.row0 = row; range.rowi = row; range.col0 = sheet->view.col0; range.coli = sheet->view.coli; if(gtk_sheet_autoresize(sheet) && (text_width > (gint) (sheet->column[col].width - 2 * CELLOFFSET - attributes.border.width))) { gtk_sheet_set_column_width(sheet, col, text_width+2*CELLOFFSET+attributes.border.width); GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_REDRAW_PENDING); } else if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, &range); } g_signal_emit (sheet, sheet_signals[CHANGED], 0, row, col); } void gtk_sheet_cell_clear (GtkSheet *sheet, gint row, gint column) { GtkSheetRange range; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (column > sheet->maxcol || row > sheet->maxrow) return; if (column > sheet->maxalloccol || row > sheet->maxallocrow) return; if (column < 0 || row < 0) return; range.row0 = row; range.rowi = row; range.col0 = sheet->view.col0; range.coli = sheet->view.coli; gtk_sheet_real_cell_clear(sheet, row, column, FALSE); if(!GTK_SHEET_IS_FROZEN(sheet)){ gtk_sheet_range_draw(sheet, &range); } } void gtk_sheet_cell_delete (GtkSheet *sheet, gint row, gint column) { GtkSheetRange range; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (column > sheet->maxcol || row > sheet->maxrow) return; if (column > sheet->maxalloccol || row > sheet->maxallocrow) return; if (column < 0 || row < 0) return; range.row0 = row; range.rowi = row; range.col0 = sheet->view.col0; range.coli = sheet->view.coli; gtk_sheet_real_cell_clear(sheet, row, column, TRUE); if(!GTK_SHEET_IS_FROZEN(sheet)){ gtk_sheet_range_draw(sheet, &range); } } static void gtk_sheet_real_cell_clear (GtkSheet *sheet, gint row, gint column, gboolean remove) { gchar *text; if(row > sheet->maxallocrow || column > sheet->maxalloccol) return; if(!sheet->data[row]) return; if(!sheet->data[row][column]) return; text = gtk_sheet_cell_get_text(sheet, row, column); if(text){ g_free(sheet->data[row][column]->text); sheet->data[row][column]->text = NULL; if(GTK_IS_OBJECT(sheet) && G_OBJECT(sheet)->ref_count > 0) g_signal_emit (sheet, sheet_signals[CLEAR_CELL], 0, row, column); sheet_head->CHANGED = 1; } if (remove) { if(sheet->data[row][column]->attributes){ g_free(sheet->data[row][column]->attributes); sheet->data[row][column]->attributes = NULL; } sheet->data[row][column]->link = NULL; if(sheet->data[row][column]) g_free(sheet->data[row][column]); sheet->data[row][column] = NULL; } } void gtk_sheet_range_clear (GtkSheet *sheet, const GtkSheetRange *range) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); gtk_sheet_real_range_clear(sheet, range, FALSE); } void gtk_sheet_range_delete (GtkSheet *sheet, const GtkSheetRange *range) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); gtk_sheet_real_range_clear(sheet, range, TRUE); } static void gtk_sheet_real_range_clear (GtkSheet *sheet, const GtkSheetRange *range, gboolean remove) { gint i, j; GtkSheetRange clear; if(!range){ clear.row0=0; clear.rowi=sheet->maxallocrow; clear.col0=0; clear.coli=sheet->maxalloccol; }else clear=*range; clear.row0=MAX(clear.row0, 0); clear.col0=MAX(clear.col0, 0); clear.rowi=MIN(clear.rowi, sheet->maxallocrow); clear.coli=MIN(clear.coli, sheet->maxalloccol); for(i=clear.row0; i<=clear.rowi; i++) for(j=clear.col0; j<=clear.coli; j++){ gtk_sheet_real_cell_clear(sheet, i, j, remove); } gtk_sheet_range_draw(sheet, NULL); } gchar * gtk_sheet_cell_get_text (GtkSheet *sheet, gint row, gint col) { g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); if(col > sheet->maxcol || row > sheet->maxrow) return NULL; if(col < 0 || row < 0) return NULL; if(row > sheet->maxallocrow || col > sheet->maxalloccol) return NULL; if(!sheet->data[row]) return NULL; if(!sheet->data[row][col]) return NULL; if(!sheet->data[row][col]->text) return NULL; if(strlen(sheet->data[row][col]->text) == 0) return NULL; return (sheet->data[row][col]->text); } void gtk_sheet_link_cell(GtkSheet *sheet, gint row, gint col, gpointer link) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(col > sheet->maxcol || row > sheet->maxrow) return; if(col < 0 || row < 0) return; if(row > sheet->maxallocrow || col > sheet->maxalloccol || !sheet->data[row] || !sheet->data[row][col]) gtk_sheet_set_cell_text(sheet, row, col, ""); sheet->data[row][col]->link = link; } gpointer gtk_sheet_get_link(GtkSheet *sheet, gint row, gint col) { g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); if(col > sheet->maxcol || row > sheet->maxrow) return NULL; if(col < 0 || row < 0) return NULL; if (row > sheet->maxallocrow || col > sheet->maxalloccol) return NULL; if (!sheet->data[row]) return NULL; /* Added by Chris Howell */ if (!sheet->data[row][col]) return NULL; /* Added by Bob Lissner */ return(sheet->data[row][col]->link); } void gtk_sheet_remove_link(GtkSheet *sheet, gint row, gint col) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(col > sheet->maxcol || row > sheet->maxrow) return; if(col < 0 || row < 0) return; /* Fixed by Andreas Voegele */ if(row < sheet->maxallocrow && col < sheet->maxalloccol && sheet->data[row] && sheet->data[row][col] && sheet->data[row][col]->link) sheet->data[row][col]->link = NULL; } GtkStateType gtk_sheet_cell_get_state (GtkSheet *sheet, gint row, gint col) { gint state; GtkSheetRange *range; g_return_val_if_fail (sheet != NULL, (GtkStateType) 0); g_return_val_if_fail (GTK_IS_SHEET (sheet), (GtkStateType) 0); if(col > sheet->maxcol || row > sheet->maxrow) return (GtkStateType) 0; if(col < 0 || row < 0) return (GtkStateType) 0; state = sheet->state; range = &sheet->range; switch (state){ case GTK_SHEET_NORMAL: return GTK_STATE_NORMAL; break; case GTK_SHEET_ROW_SELECTED: if(row>=range->row0 && row<=range->rowi) return GTK_STATE_SELECTED; break; case GTK_SHEET_COLUMN_SELECTED: if(col>=range->col0 && col<=range->coli) return GTK_STATE_SELECTED; break; case GTK_SHEET_RANGE_SELECTED: if(row >= range->row0 && row <= range->rowi && \ col >= range->col0 && col <= range->coli) return GTK_STATE_SELECTED; break; } return GTK_STATE_NORMAL; } gboolean gtk_sheet_get_pixel_info (GtkSheet * sheet, gint x, gint y, gint * row, gint * column) { gint trow, tcol; g_return_val_if_fail (sheet != NULL, 0); g_return_val_if_fail (GTK_IS_SHEET (sheet), 0); /* bounds checking, return false if the user clicked * on a blank area */ trow = ROW_FROM_YPIXEL (sheet, y); if (trow > sheet->maxrow) return FALSE; *row = trow; tcol = COLUMN_FROM_XPIXEL (sheet, x); if (tcol > sheet->maxcol) return FALSE; *column = tcol; return TRUE; } gboolean gtk_sheet_get_cell_area (GtkSheet * sheet, gint row, gint column, GdkRectangle *area) { g_return_val_if_fail (sheet != NULL, 0); g_return_val_if_fail (GTK_IS_SHEET (sheet), 0); if(row > sheet->maxrow || column > sheet->maxcol) return FALSE; area->x = (column == -1) ? 0 : (COLUMN_LEFT_XPIXEL(sheet, column) - (sheet->row_titles_visible ? sheet->row_title_area.width : 0)); area->y = (row == -1) ? 0 : (ROW_TOP_YPIXEL(sheet, row) - (sheet->column_titles_visible ? sheet->column_title_area.height : 0)); area->width= (column == -1) ? sheet->row_title_area.width : sheet->column[column].width; area->height= (row == -1) ? sheet->column_title_area.height : sheet->row[row].height; /* if(row < 0 || column < 0) return FALSE; area->x = COLUMN_LEFT_XPIXEL(sheet, column); area->y = ROW_TOP_YPIXEL(sheet, row); if(sheet->row_titles_visible) area->x -= sheet->row_title_area.width; if(sheet->column_titles_visible) area->y -= sheet->column_title_area.height; area->width=sheet->column[column].width; area->height=sheet->row[row].height; */ return TRUE; } gboolean gtk_sheet_set_active_cell (GtkSheet *sheet, gint row, gint column) { g_return_val_if_fail (sheet != NULL, 0); g_return_val_if_fail (GTK_IS_SHEET (sheet), 0); if(row < 0 || column < 0) return FALSE; if(row > sheet->maxrow || column > sheet->maxcol) return FALSE; if (gtk_widget_get_realized (GTK_WIDGET (sheet))) { if(!gtk_sheet_deactivate_cell(sheet)) return FALSE; } sheet->active_cell.row=row; sheet->active_cell.col=column; if(!gtk_sheet_activate_cell(sheet, row, column)) return FALSE; return TRUE; } void gtk_sheet_get_active_cell (GtkSheet *sheet, gint *row, gint *column) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); *row = sheet->active_cell.row; *column = sheet->active_cell.col; } static void gtk_sheet_entry_changed(GtkWidget *widget, gpointer data) { GtkSheet *sheet; gint row,col; const char *text; GtkJustification justification; GtkSheetCellAttr attributes; g_return_if_fail (data != NULL); g_return_if_fail (GTK_IS_SHEET (data)); sheet=GTK_SHEET(data); if (!gtk_widget_get_visible (widget)) return; if(sheet->state != GTK_STATE_NORMAL) return; row=sheet->active_cell.row; col=sheet->active_cell.col; if(row<0 || col<0) return; sheet->active_cell.row=-1; sheet->active_cell.col=-1; text=gtk_entry_get_text(GTK_ENTRY(gtk_sheet_get_entry(sheet))); GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IS_FROZEN); if(text && strlen(text)!=0){ gtk_sheet_get_attributes(sheet, row, col, &attributes); justification=attributes.justification; gtk_sheet_set_cell(sheet, row, col, justification, text); } else { /* Added by Matias Mutchinick */ gtk_sheet_cell_clear(sheet, row, col); } sheet_head->CHANGED = 1; if(sheet->freeze_count == 0) GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IS_FROZEN); sheet->active_cell.row=row;; sheet->active_cell.col=col; } static gboolean gtk_sheet_deactivate_cell(GtkSheet *sheet) { gboolean veto = TRUE; g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) return FALSE; if(sheet->state != GTK_SHEET_NORMAL) return FALSE; _gtkextra_signal_emit(GTK_OBJECT(sheet),sheet_signals[DEACTIVATE], sheet->active_cell.row, sheet->active_cell.col, &veto); if(!veto) return FALSE; g_signal_handlers_disconnect_by_func (gtk_sheet_get_entry (sheet), (gpointer) gtk_sheet_entry_changed, sheet); gtk_sheet_hide_active_cell(sheet); sheet->active_cell.row=-1; sheet->active_cell.col=-1; if(GTK_SHEET_REDRAW_PENDING(sheet)){ GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_REDRAW_PENDING); gtk_sheet_range_draw(sheet, NULL); } return TRUE; } static void gtk_sheet_hide_active_cell(GtkSheet *sheet) { const char *text; gint row,col; GtkJustification justification; GtkSheetCellAttr attributes; if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) return; row=sheet->active_cell.row; col=sheet->active_cell.col; if(row < 0 || col < 0) return; if(sheet->freeze_count == 0) GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IS_FROZEN); text=gtk_entry_get_text(GTK_ENTRY(gtk_sheet_get_entry(sheet))); gtk_sheet_get_attributes(sheet, row, col, &attributes); justification=attributes.justification; if(text && strlen(text)!=0){ gtk_sheet_set_cell(sheet, row, col, justification, text); g_signal_emit (sheet, sheet_signals[SET_CELL], 0, row, col); } else { gtk_sheet_cell_clear(sheet, row, col); } row=sheet->active_cell.row; col=sheet->active_cell.col; column_button_release(sheet, col); row_button_release(sheet, row); gtk_widget_unmap(sheet->sheet_entry); if(row != -1 && col != -1) gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, COLUMN_LEFT_XPIXEL(sheet,col)-1, ROW_TOP_YPIXEL(sheet,row)-1, COLUMN_LEFT_XPIXEL(sheet,col)-1, ROW_TOP_YPIXEL(sheet,row)-1, sheet->column[col].width+4, sheet->row[row].height+4); GTK_WIDGET_UNSET_FLAGS(sheet->sheet_entry, GTK_HAS_FOCUS); gtk_widget_grab_focus(GTK_WIDGET(sheet)); GTK_WIDGET_UNSET_FLAGS(GTK_WIDGET(sheet->sheet_entry), GTK_VISIBLE); } static gboolean gtk_sheet_activate_cell(GtkSheet *sheet, gint row, gint col) { gboolean veto = TRUE; g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); if(row < 0 || col < 0) return FALSE; if(row > sheet->maxrow || col > sheet->maxcol) return FALSE; /* _gtkextra_signal_emit(GTK_OBJECT(sheet),sheet_signals[ACTIVATE], row, col, &veto); if(!GTK_WIDGET_REALIZED(GTK_WIDGET(sheet))) return veto; */ if(!veto) return FALSE; if(sheet->state != GTK_SHEET_NORMAL){ sheet->state=GTK_SHEET_NORMAL; gtk_sheet_real_unselect_range(sheet, NULL); } sheet->range.row0=row; sheet->range.col0=col; sheet->range.rowi=row; sheet->range.coli=col; sheet->active_cell.row=row; sheet->active_cell.col=col; sheet->selection_cell.row=row; sheet->selection_cell.col=col; row_button_set(sheet, row); column_button_set(sheet, col); GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IN_SELECTION); gtk_sheet_show_active_cell(sheet); g_signal_connect (gtk_sheet_get_entry (sheet), "changed", G_CALLBACK (gtk_sheet_entry_changed), sheet); _gtkextra_signal_emit(GTK_OBJECT(sheet),sheet_signals[ACTIVATE], row, col, &veto); return TRUE; } static void gtk_sheet_show_active_cell(GtkSheet *sheet) { GtkSheetCell *cell; GtkEntry *sheet_entry; GtkSheetCellAttr attributes; gchar *text = NULL; gint row, col; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); row = sheet->active_cell.row; col = sheet->active_cell.col; /* Don't show the active cell, if there is no active cell: */ if(!(row >= 0 && col >= 0)) /* e.g row or coll == -1. */ return; if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) return; if(sheet->state != GTK_SHEET_NORMAL) return; if(GTK_SHEET_IN_SELECTION(sheet)) return; gtk_widget_set_visible (GTK_WIDGET (sheet->sheet_entry), TRUE); sheet_entry = GTK_ENTRY(gtk_sheet_get_entry(sheet)); gtk_sheet_get_attributes(sheet, row, col, &attributes); if(row <= sheet->maxallocrow && col <= sheet->maxalloccol) { if(sheet->data[row]) { if(sheet->data[row][col]) { cell = sheet->data[row][col]; if(cell->text) text = g_strdup(cell->text); } } } if(!text) text = g_strdup(""); gtk_entry_set_visibility(GTK_ENTRY(sheet_entry), attributes.is_visible); if(gtk_sheet_locked(sheet) || !attributes.is_editable){ gtk_editable_set_editable (GTK_EDITABLE (sheet_entry), FALSE); }else{ gtk_editable_set_editable (GTK_EDITABLE (sheet_entry), TRUE); } gtk_entry_set_text(GTK_ENTRY(sheet_entry), text); gtk_sheet_size_allocate_entry(sheet); gtk_widget_map(sheet->sheet_entry); gtk_sheet_draw_active_cell(sheet); gtk_widget_grab_focus(GTK_WIDGET(sheet_entry)); GTK_WIDGET_UNSET_FLAGS(GTK_WIDGET(sheet), GTK_HAS_FOCUS); g_free(text); } static void gtk_sheet_draw_active_cell(GtkSheet *sheet) { gint row, col; if (!gtk_widget_is_drawable (GTK_WIDGET (sheet))) return; if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) return; row = sheet->active_cell.row; col = sheet->active_cell.col; if(row<0 || col<0) return; if(!gtk_sheet_cell_isvisible(sheet, row, col)) return; row_button_set(sheet, row); column_button_set(sheet, col); gtk_sheet_draw_backing_pixmap(sheet, sheet->range); gtk_sheet_draw_border(sheet, sheet->range); } static void gtk_sheet_make_backing_pixmap (GtkSheet *sheet, guint width, guint height) { gint pixmap_width, pixmap_height; if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) return; if(width == 0 && height == 0){ width=sheet->sheet_window_width+80; height=sheet->sheet_window_height+80; } if (!sheet->pixmap) { /* allocate */ sheet->pixmap = gdk_pixmap_new (sheet->sheet_window, width, height, -1); if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, NULL); } else { /* reallocate if sizes don't match */ gdk_pixmap_get_size (sheet->pixmap, &pixmap_width, &pixmap_height); if ((pixmap_width != (gint) width) || (pixmap_height != (gint) height)) { g_object_unref (sheet->pixmap); sheet->pixmap = gdk_pixmap_new (sheet->sheet_window, width, height, -1); if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, NULL); } } } static void gtk_sheet_new_selection(GtkSheet *sheet, GtkSheetRange *range) { gint i,j, mask1, mask2; gint state, selected; gint x,y,width,height; GtkSheetRange new_range, aux_range; g_return_if_fail (sheet != NULL); if(range==NULL) range=&sheet->range; new_range=*range; range->row0=MIN(range->row0, sheet->range.row0); range->rowi=MAX(range->rowi, sheet->range.rowi); range->col0=MIN(range->col0, sheet->range.col0); range->coli=MAX(range->coli, sheet->range.coli); range->row0=MAX(range->row0, MIN_VISIBLE_ROW(sheet)); range->rowi=MIN(range->rowi, MAX_VISIBLE_ROW(sheet)); range->col0=MAX(range->col0, MIN_VISIBLE_COLUMN(sheet)); range->coli=MIN(range->coli, MAX_VISIBLE_COLUMN(sheet)); aux_range.row0=MAX(new_range.row0, MIN_VISIBLE_ROW(sheet)); aux_range.rowi=MIN(new_range.rowi, MAX_VISIBLE_ROW(sheet)); aux_range.col0=MAX(new_range.col0, MIN_VISIBLE_COLUMN(sheet)); aux_range.coli=MIN(new_range.coli, MAX_VISIBLE_COLUMN(sheet)); for(i=range->row0; i<=range->rowi; i++){ for(j=range->col0; j<=range->coli; j++){ state=gtk_sheet_cell_get_state(sheet, i, j); selected=(i<=new_range.rowi && i>=new_range.row0 && j<=new_range.coli && j>=new_range.col0) ? TRUE : FALSE; if(state==GTK_STATE_SELECTED && selected && sheet->column[j].is_visible && sheet->row[i].is_visible && (i==sheet->range.row0 || i==sheet->range.rowi || j==sheet->range.col0 || j==sheet->range.coli || i==new_range.row0 || i==new_range.rowi || j==new_range.col0 || j==new_range.coli)){ mask1 = i==sheet->range.row0 ? 1 : 0; mask1 = i==sheet->range.rowi ? mask1+2 : mask1; mask1 = j==sheet->range.col0 ? mask1+4 : mask1; mask1 = j==sheet->range.coli ? mask1+8 : mask1; mask2 = i==new_range.row0 ? 1 : 0; mask2 = i==new_range.rowi ? mask2+2 : mask2; mask2 = j==new_range.col0 ? mask2+4 : mask2; mask2 = j==new_range.coli ? mask2+8 : mask2; if(mask1 != mask2){ x=COLUMN_LEFT_XPIXEL(sheet,j); y=ROW_TOP_YPIXEL(sheet, i); width=COLUMN_LEFT_XPIXEL(sheet, j)-x+sheet->column[j].width; height=ROW_TOP_YPIXEL(sheet, i)-y+sheet->row[i].height; if(i==sheet->range.row0){ y=y-3; height=height+3; } if(i==sheet->range.rowi) height=height+3; if(j==sheet->range.col0){ x=x-3; width=width+3; } if(j==sheet->range.coli) width=width+3; gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x+1, y+1, x+1, y+1, width, height); if(i != sheet->active_cell.row || j != sheet->active_cell.col){ x=COLUMN_LEFT_XPIXEL(sheet,j); y=ROW_TOP_YPIXEL(sheet, i); width=COLUMN_LEFT_XPIXEL(sheet, j)-x+sheet->column[j].width; height=ROW_TOP_YPIXEL(sheet, i)-y+sheet->row[i].height; if(i==new_range.row0){ y=y+2; height=height-2; } if(i==new_range.rowi) height=height-3; if(j==new_range.col0){ x=x+2; width=width-2; } if(j==new_range.coli) width=width-3; gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x+1,y+1, width,height); } } } } } for(i=range->row0; i<=range->rowi; i++){ for(j=range->col0; j<=range->coli; j++){ state=gtk_sheet_cell_get_state(sheet, i, j); selected=(i<=new_range.rowi && i>=new_range.row0 && j<=new_range.coli && j>=new_range.col0) ? TRUE : FALSE; if(state==GTK_STATE_SELECTED && !selected && sheet->column[j].is_visible && sheet->row[i].is_visible){ x=COLUMN_LEFT_XPIXEL(sheet,j); y=ROW_TOP_YPIXEL(sheet, i); width=COLUMN_LEFT_XPIXEL(sheet, j)-x+sheet->column[j].width; height=ROW_TOP_YPIXEL(sheet, i)-y+sheet->row[i].height; if(i==sheet->range.row0){ y=y-3; height=height+3; } if(i==sheet->range.rowi) height=height+3; if(j==sheet->range.col0){ x=x-3; width=width+3; } if(j==sheet->range.coli) width=width+3; gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x+1, y+1, x+1, y+1, width, height); } } } for(i=range->row0; i<=range->rowi; i++){ for(j=range->col0; j<=range->coli; j++){ state=gtk_sheet_cell_get_state(sheet, i, j); selected=(i<=new_range.rowi && i>=new_range.row0 && j<=new_range.coli && j>=new_range.col0) ? TRUE : FALSE; if(state!=GTK_STATE_SELECTED && selected && sheet->column[j].is_visible && sheet->row[i].is_visible && (i != sheet->active_cell.row || j != sheet->active_cell.col)){ x=COLUMN_LEFT_XPIXEL(sheet,j); y=ROW_TOP_YPIXEL(sheet, i); width=COLUMN_LEFT_XPIXEL(sheet, j)-x+sheet->column[j].width; height=ROW_TOP_YPIXEL(sheet, i)-y+sheet->row[i].height; if(i==new_range.row0){ y=y+2; height=height-2; } if(i==new_range.rowi) height=height-3; if(j==new_range.col0){ x=x+2; width=width-2; } if(j==new_range.coli) width=width-3; gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x+1,y+1, width,height); } } } for(i=aux_range.row0; i<=aux_range.rowi; i++){ for(j=aux_range.col0; j<=aux_range.coli; j++){ if(sheet->column[j].is_visible && sheet->row[i].is_visible){ state=gtk_sheet_cell_get_state(sheet, i, j); mask1 = i==sheet->range.row0 ? 1 : 0; mask1 = i==sheet->range.rowi ? mask1+2 : mask1; mask1 = j==sheet->range.col0 ? mask1+4 : mask1; mask1 = j==sheet->range.coli ? mask1+8 : mask1; mask2 = i==new_range.row0 ? 1 : 0; mask2 = i==new_range.rowi ? mask2+2 : mask2; mask2 = j==new_range.col0 ? mask2+4 : mask2; mask2 = j==new_range.coli ? mask2+8 : mask2; if(mask2!=mask1 || (mask2==mask1 && state!=GTK_STATE_SELECTED)){ x=COLUMN_LEFT_XPIXEL(sheet,j); y=ROW_TOP_YPIXEL(sheet, i); width=sheet->column[j].width; height=sheet->row[i].height; if(mask2 & 1) gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x+1,y-1, width,3); if(mask2 & 2) gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x+1,y+height-1, width,3); if(mask2 & 4) gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x-1,y+1, 3,height); if(mask2 & 8) gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x+width-1,y+1, 3,height); } } } } *range=new_range; gtk_sheet_draw_corners(sheet, new_range); } static void gtk_sheet_draw_border (GtkSheet *sheet, GtkSheetRange new_range) { GdkRectangle area; gint i; gint x,y,width,height; x=COLUMN_LEFT_XPIXEL(sheet,new_range.col0); y=ROW_TOP_YPIXEL(sheet,new_range.row0); width=COLUMN_LEFT_XPIXEL(sheet,new_range.coli)-x+ sheet->column[new_range.coli].width; height=ROW_TOP_YPIXEL(sheet,new_range.rowi)-y+ sheet->row[new_range.rowi].height; area.x=COLUMN_LEFT_XPIXEL(sheet, MIN_VISIBLE_COLUMN(sheet)); area.y=ROW_TOP_YPIXEL(sheet, MIN_VISIBLE_ROW(sheet)); area.width=sheet->sheet_window_width; area.height=sheet->sheet_window_height; if(x<0) { width=width+x; x=0; } if(width>area.width) width=area.width+10; if(y<0) { height=height+y; y=0; } if(height>area.height) height=area.height+10; gdk_gc_set_clip_rectangle(sheet->xor_gc, &area); for(i=-1; i<=1; ++i) gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, FALSE, x+i,y+i, width-2*i,height-2*i); gdk_gc_set_clip_rectangle(sheet->xor_gc, NULL); gtk_sheet_draw_corners(sheet, new_range); } static void gtk_sheet_draw_corners(GtkSheet *sheet, GtkSheetRange range) { gint x,y; guint width = 1; if(gtk_sheet_cell_isvisible(sheet, range.row0, range.col0)){ x=COLUMN_LEFT_XPIXEL(sheet,range.col0); y=ROW_TOP_YPIXEL(sheet,range.row0); gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x-1, y-1, x-1, y-1, 3, 3); gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x-1,y-1, 3,3); } if(gtk_sheet_cell_isvisible(sheet, range.row0, range.coli) || sheet->state == GTK_SHEET_COLUMN_SELECTED){ x=COLUMN_LEFT_XPIXEL(sheet,range.coli)+ sheet->column[range.coli].width; y=ROW_TOP_YPIXEL(sheet,range.row0); width = 1; if(sheet->state == GTK_SHEET_COLUMN_SELECTED) { y = ROW_TOP_YPIXEL(sheet, sheet->view.row0)+3; width = 3; } gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x-width, y-width, x-width, y-width, 2*width+1, 2*width+1); gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x-width+width/2,y-width+width/2, 2+width,2+width); } if(gtk_sheet_cell_isvisible(sheet, range.rowi, range.col0) || sheet->state == GTK_SHEET_ROW_SELECTED){ x=COLUMN_LEFT_XPIXEL(sheet,range.col0); y=ROW_TOP_YPIXEL(sheet,range.rowi)+ sheet->row[range.rowi].height; width = 1; if(sheet->state == GTK_SHEET_ROW_SELECTED) { x = COLUMN_LEFT_XPIXEL(sheet, sheet->view.col0)+3; width = 3; } gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x-width, y-width, x-width, y-width, 2*width+1, 2*width+1); gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x-width+width/2,y-width+width/2, 2+width,2+width); } if(gtk_sheet_cell_isvisible(sheet, range.rowi, range.coli)){ x=COLUMN_LEFT_XPIXEL(sheet,range.coli)+ sheet->column[range.coli].width; y=ROW_TOP_YPIXEL(sheet,range.rowi)+ sheet->row[range.rowi].height; width = 1; if(sheet->state == GTK_SHEET_RANGE_SELECTED) width = 3; if(sheet->state == GTK_SHEET_NORMAL) width = 3; gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, x-width, y-width, x-width, y-width, 2*width+1, 2*width+1); gdk_draw_rectangle (sheet->sheet_window, sheet->xor_gc, TRUE, x-width+width/2,y-width+width/2, 2+width,2+width); } } static void gtk_sheet_real_select_range (GtkSheet * sheet, GtkSheetRange * range) { gint i; gint state; g_return_if_fail (sheet != NULL); if(range==NULL) range=&sheet->range; if(range->row0 < 0 || range->rowi < 0) return; if(range->col0 < 0 || range->coli < 0) return; state=sheet->state; if(state==GTK_SHEET_COLUMN_SELECTED || state==GTK_SHEET_RANGE_SELECTED){ for(i=sheet->range.col0; i< range->col0; i++) column_button_release(sheet, i); for(i=range->coli+1; i<= sheet->range.coli; i++) column_button_release(sheet, i); for(i=range->col0; i<=range->coli; i++){ column_button_set(sheet, i); } } if(state==GTK_SHEET_ROW_SELECTED || state==GTK_SHEET_RANGE_SELECTED){ for(i=sheet->range.row0; i< range->row0; i++) row_button_release(sheet, i); for(i=range->rowi+1; i<= sheet->range.rowi; i++) row_button_release(sheet, i); for(i=range->row0; i<=range->rowi; i++){ row_button_set(sheet, i); } } if(range->coli != sheet->range.coli || range->col0 != sheet->range.col0 || range->rowi != sheet->range.rowi || range->row0 != sheet->range.row0) { gtk_sheet_new_selection(sheet, range); sheet->range.col0=range->col0; sheet->range.coli=range->coli; sheet->range.row0=range->row0; sheet->range.rowi=range->rowi; } else { gtk_sheet_draw_backing_pixmap(sheet, sheet->range); gtk_sheet_range_draw_selection(sheet, sheet->range); } g_signal_emit (sheet, sheet_signals[SELECT_RANGE], 0, range); } void gtk_sheet_select_range(GtkSheet * sheet, const GtkSheetRange *range) { g_return_if_fail (sheet != NULL); if(range==NULL) range=&sheet->range; if(range->row0 < 0 || range->rowi < 0) return; if(range->col0 < 0 || range->coli < 0) return; if(sheet->state != GTK_SHEET_NORMAL) gtk_sheet_real_unselect_range(sheet, NULL); else { gboolean veto = TRUE; veto = gtk_sheet_deactivate_cell(sheet); if(!veto) return; } sheet->range.row0=range->row0; sheet->range.rowi=range->rowi; sheet->range.col0=range->col0; sheet->range.coli=range->coli; sheet->active_cell.row=range->row0; sheet->active_cell.col=range->col0; sheet->selection_cell.row=range->rowi; sheet->selection_cell.col=range->coli; sheet->state = GTK_SHEET_RANGE_SELECTED; gtk_sheet_real_select_range(sheet, NULL); } void gtk_sheet_unselect_range (GtkSheet * sheet) { gtk_sheet_real_unselect_range(sheet, NULL); sheet->state = GTK_STATE_NORMAL; gtk_sheet_activate_cell(sheet, sheet->active_cell.row, sheet->active_cell.col); } static void gtk_sheet_real_unselect_range (GtkSheet * sheet, const GtkSheetRange *range) { gint i; g_return_if_fail (sheet != NULL); g_return_if_fail (gtk_widget_get_realized (GTK_WIDGET (sheet))); if(range==NULL){ range=&sheet->range; } if(range->row0 < 0 || range->rowi < 0) return; if(range->col0 < 0 || range->coli < 0) return; if (gtk_sheet_range_isvisible (sheet, *range)){ gtk_sheet_draw_backing_pixmap(sheet, *range); } for(i=range->col0; i<=range->coli; i++){ column_button_release(sheet, i); } for(i=range->row0; i<=range->rowi; i++){ row_button_release(sheet, i); } } static gint gtk_sheet_expose (GtkWidget * widget, GdkEventExpose * event) { GtkSheet *sheet; GtkSheetRange range; #ifdef DEBUG printf ("==== Enter gtk_sheet_expose()\n"); printf ("Must have received expose_event\n"); #endif g_return_val_if_fail (widget != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); sheet = GTK_SHEET (widget); if (gtk_widget_is_drawable (widget)) { range.row0=ROW_FROM_YPIXEL(sheet,event->area.y); range.col0=COLUMN_FROM_XPIXEL(sheet,event->area.x); range.rowi=ROW_FROM_YPIXEL(sheet,event->area.y+event->area.height); range.coli=COLUMN_FROM_XPIXEL(sheet,event->area.x+event->area.width); /* exposure events on the sheet */ if( (event->window == sheet->row_title_window) && sheet->row_titles_visible){ size_allocate_row_title_buttons(sheet); } if( (event->window == sheet->column_title_window) && sheet->column_titles_visible){ size_allocate_column_title_buttons(sheet); } if (event->window == sheet->sheet_window){ gtk_sheet_draw_backing_pixmap(sheet, range); if(sheet->state != GTK_SHEET_NORMAL){ if(gtk_sheet_range_isvisible(sheet, sheet->range)) gtk_sheet_draw_backing_pixmap(sheet, sheet->range); if(GTK_SHEET_IN_RESIZE(sheet) || GTK_SHEET_IN_DRAG(sheet)) gtk_sheet_draw_backing_pixmap(sheet, sheet->drag_range); if(gtk_sheet_range_isvisible(sheet, sheet->range)) gtk_sheet_range_draw_selection(sheet, sheet->range); if(GTK_SHEET_IN_RESIZE(sheet) || GTK_SHEET_IN_DRAG(sheet)) draw_xor_rectangle(sheet, sheet->drag_range); } if((!GTK_SHEET_IN_XDRAG(sheet)) && (!GTK_SHEET_IN_YDRAG(sheet))){ if(sheet->state == GTK_SHEET_NORMAL){ gtk_sheet_draw_active_cell(sheet); if(!GTK_SHEET_IN_SELECTION(sheet)) gtk_widget_queue_draw(sheet->sheet_entry); } } } } if(sheet->state != GTK_SHEET_NORMAL && GTK_SHEET_IN_SELECTION(sheet)) gtk_widget_grab_focus(GTK_WIDGET(sheet)); (* GTK_WIDGET_CLASS (gtk_sheet_parent_class)->expose_event) (widget, event); return FALSE; } static gint gtk_sheet_button_press (GtkWidget * widget, GdkEventButton * event) { GtkSheet *sheet; GdkModifierType mods; gint x, y, row, column; gboolean veto; g_return_val_if_fail (widget != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); if(event->type != GDK_BUTTON_PRESS) return TRUE; gdk_window_get_pointer(widget->window, NULL, NULL, &mods); if(!(mods & GDK_BUTTON1_MASK)) return TRUE; sheet = GTK_SHEET (widget); /* press on resize windows */ if (event->window == sheet->column_title_window && gtk_sheet_columns_resizable(sheet)) { gtk_widget_get_pointer (widget, &sheet->x_drag, NULL); if(POSSIBLE_XDRAG(sheet, sheet->x_drag, &sheet->drag_cell.col)){ guint req; gtk_sheet_column_size_request(sheet, sheet->drag_cell.col, &req); GTK_SHEET_SET_FLAGS (sheet, GTK_SHEET_IN_XDRAG); gdk_pointer_grab (sheet->column_title_window, FALSE, (GdkEventMask) (GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_RELEASE_MASK), NULL, NULL, event->time); draw_xor_vline (sheet); return TRUE; } } if (event->window == sheet->row_title_window && gtk_sheet_rows_resizable(sheet)) { gtk_widget_get_pointer (widget, NULL, &sheet->y_drag); if(POSSIBLE_YDRAG(sheet, sheet->y_drag, &sheet->drag_cell.row)){ guint req; gtk_sheet_row_size_request(sheet, sheet->drag_cell.row, &req); GTK_SHEET_SET_FLAGS (sheet, GTK_SHEET_IN_YDRAG); gdk_pointer_grab (sheet->row_title_window, FALSE, (GdkEventMask) (GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_RELEASE_MASK), NULL, NULL, event->time); draw_xor_hline (sheet); return TRUE; } } /* selections on the sheet */ if(event->window == sheet->sheet_window){ gtk_widget_get_pointer (widget, &x, &y); gtk_sheet_get_pixel_info (sheet, x, y, &row, &column); gdk_pointer_grab (sheet->sheet_window, FALSE, (GdkEventMask) (GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_RELEASE_MASK), NULL, NULL, event->time); gtk_grab_add(GTK_WIDGET(sheet)); sheet->timer = g_timeout_add (TIMEOUT_SCROLL, (GSourceFunc) gtk_sheet_scroll, sheet); GTK_WIDGET_UNSET_FLAGS(sheet->sheet_entry, GTK_HAS_FOCUS); gtk_widget_grab_focus(GTK_WIDGET(sheet)); if(sheet->selection_mode != GTK_SELECTION_SINGLE && sheet->cursor_drag->type==GDK_SIZING && !GTK_SHEET_IN_SELECTION(sheet) && !GTK_SHEET_IN_RESIZE(sheet)){ if(sheet->state==GTK_STATE_NORMAL) { row=sheet->active_cell.row; column=sheet->active_cell.col; if(!gtk_sheet_deactivate_cell(sheet)) return FALSE; sheet->active_cell.row=row; sheet->active_cell.col=column; sheet->drag_range=sheet->range; sheet->state=GTK_SHEET_RANGE_SELECTED; gtk_sheet_select_range(sheet, &sheet->drag_range); } sheet->x_drag=x; sheet->y_drag=y; if(row > sheet->range.rowi) row--; if(column > sheet->range.coli) column--; sheet->drag_cell.row = row; sheet->drag_cell.col = column; sheet->drag_range=sheet->range; draw_xor_rectangle(sheet, sheet->drag_range); GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IN_RESIZE); } else if(sheet->cursor_drag->type==GDK_TOP_LEFT_ARROW && !GTK_SHEET_IN_SELECTION(sheet) && !GTK_SHEET_IN_DRAG(sheet)) { if(sheet->state==GTK_STATE_NORMAL) { row=sheet->active_cell.row; column=sheet->active_cell.col; if(!gtk_sheet_deactivate_cell(sheet)) return FALSE; sheet->active_cell.row=row; sheet->active_cell.col=column; sheet->drag_range=sheet->range; sheet->state=GTK_SHEET_RANGE_SELECTED; gtk_sheet_select_range(sheet, &sheet->drag_range); } sheet->x_drag=x; sheet->y_drag=y; if(row < sheet->range.row0) row++; if(row > sheet->range.rowi) row--; if(column < sheet->range.col0) column++; if(column > sheet->range.coli) column--; sheet->drag_cell.row=row; sheet->drag_cell.col=column; sheet->drag_range=sheet->range; draw_xor_rectangle(sheet, sheet->drag_range); GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IN_DRAG); } else { gtk_sheet_click_cell(sheet, row, column, &veto); if(veto) GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IN_SELECTION); } } if(event->window == sheet->column_title_window){ gtk_widget_get_pointer (widget, &x, &y); column = COLUMN_FROM_XPIXEL(sheet, x); if(sheet->column[column].is_sensitive){; gtk_sheet_click_cell(sheet, -1, column, &veto); gtk_grab_add(GTK_WIDGET(sheet)); sheet->timer = g_timeout_add (TIMEOUT_SCROLL, (GSourceFunc) gtk_sheet_scroll, sheet); GTK_WIDGET_UNSET_FLAGS(sheet->sheet_entry, GTK_HAS_FOCUS); gtk_widget_grab_focus(GTK_WIDGET(sheet)); GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IN_SELECTION); } } if(event->window == sheet->row_title_window){ gtk_widget_get_pointer (widget, &x, &y); row = ROW_FROM_YPIXEL(sheet, y); if(sheet->row[row].is_sensitive){ gtk_sheet_click_cell(sheet, row, -1, &veto); gtk_grab_add(GTK_WIDGET(sheet)); sheet->timer = g_timeout_add (TIMEOUT_SCROLL, (GSourceFunc) gtk_sheet_scroll, sheet); GTK_WIDGET_UNSET_FLAGS(sheet->sheet_entry, GTK_HAS_FOCUS); gtk_widget_grab_focus(GTK_WIDGET(sheet)); GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IN_SELECTION); } } return TRUE; } static gint gtk_sheet_scroll(gpointer data) { GtkSheet *sheet; gint x,y,row,column; gint move; sheet=GTK_SHEET(data); GDK_THREADS_ENTER(); gtk_widget_get_pointer (GTK_WIDGET(sheet), &x, &y); gtk_sheet_get_pixel_info (sheet, x, y, &row, &column); move=TRUE; if(GTK_SHEET_IN_SELECTION(sheet)) gtk_sheet_extend_selection(sheet, row, column); if(GTK_SHEET_IN_DRAG(sheet) || GTK_SHEET_IN_RESIZE(sheet)){ move=gtk_sheet_move_query(sheet, row, column); if(move) draw_xor_rectangle(sheet, sheet->drag_range); } GDK_THREADS_LEAVE(); return TRUE; } static void gtk_sheet_click_cell(GtkSheet *sheet, gint row, gint column, gboolean *veto) { *veto = TRUE; if(row > sheet->maxrow || column > sheet->maxcol){ *veto = FALSE; return; } if(column >= 0 && row >= 0) if(!sheet->column[column].is_visible || !sheet->row[row].is_visible) { *veto = FALSE; return; } _gtkextra_signal_emit(GTK_OBJECT(sheet), sheet_signals[TRAVERSE], sheet->active_cell.row, sheet->active_cell.col, &row, &column, veto); if(!*veto){ if(sheet->state == GTK_STATE_NORMAL) return; row = sheet->active_cell.row; column = sheet->active_cell.col; gtk_sheet_activate_cell(sheet, row, column); return; } if(row == -1 && column >= 0){ if(gtk_sheet_autoscroll(sheet)) gtk_sheet_move_query(sheet, row, column); gtk_sheet_select_column(sheet, column); return; } if(column == -1 && row >= 0){ if(gtk_sheet_autoscroll(sheet)) gtk_sheet_move_query(sheet, row, column); gtk_sheet_select_row(sheet, row); return; } if(row==-1 && column ==-1){ sheet->range.row0=0; sheet->range.col0=0; sheet->range.rowi=sheet->maxrow; sheet->range.coli=sheet->maxcol; sheet->active_cell.row=0; sheet->active_cell.col=0; gtk_sheet_select_range(sheet, NULL); return; } if(row!=-1 && column !=-1){ if(sheet->state != GTK_SHEET_NORMAL){ sheet->state = GTK_SHEET_NORMAL; gtk_sheet_real_unselect_range(sheet, NULL); } else { if(!gtk_sheet_deactivate_cell(sheet)){ *veto = FALSE; return; } } if(gtk_sheet_autoscroll(sheet)) gtk_sheet_move_query(sheet, row, column); sheet->active_cell.row=row; sheet->active_cell.col=column; sheet->selection_cell.row=row; sheet->selection_cell.col=column; sheet->range.row0=row; sheet->range.col0=column; sheet->range.rowi=row; sheet->range.coli=column; sheet->state=GTK_SHEET_NORMAL; GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IN_SELECTION); gtk_sheet_draw_active_cell(sheet); return; } gtk_sheet_activate_cell(sheet, sheet->active_cell.row, sheet->active_cell.col); } static gint gtk_sheet_button_release (GtkWidget * widget, GdkEventButton * event) { GtkSheet *sheet; gint x,y; sheet=GTK_SHEET(widget); /* release on resize windows */ if (GTK_SHEET_IN_XDRAG (sheet)){ GTK_SHEET_UNSET_FLAGS (sheet, GTK_SHEET_IN_XDRAG); GTK_SHEET_UNSET_FLAGS (sheet, GTK_SHEET_IN_SELECTION); gtk_widget_get_pointer (widget, &x, NULL); gdk_pointer_ungrab (event->time); draw_xor_vline (sheet); gtk_sheet_set_column_width (sheet, sheet->drag_cell.col, new_column_width (sheet, sheet->drag_cell.col, &x)); sheet->old_hadjustment = -1.; g_signal_emit_by_name (sheet->hadjustment, "value_changed"); return TRUE; } if (GTK_SHEET_IN_YDRAG (sheet)){ GTK_SHEET_UNSET_FLAGS (sheet, GTK_SHEET_IN_YDRAG); GTK_SHEET_UNSET_FLAGS (sheet, GTK_SHEET_IN_SELECTION); gtk_widget_get_pointer (widget, NULL, &y); gdk_pointer_ungrab (event->time); draw_xor_hline (sheet); gtk_sheet_set_row_height (sheet, sheet->drag_cell.row, new_row_height (sheet, sheet->drag_cell.row, &y)); sheet->old_vadjustment = -1.; g_signal_emit_by_name (sheet->vadjustment, "value_changed"); return TRUE; } if (GTK_SHEET_IN_DRAG(sheet)){ GtkSheetRange old_range; draw_xor_rectangle(sheet, sheet->drag_range); GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IN_DRAG); gdk_pointer_ungrab (event->time); gtk_sheet_real_unselect_range(sheet, NULL); sheet->active_cell.row = sheet->active_cell.row + (sheet->drag_range.row0 - sheet->range.row0); sheet->active_cell.col = sheet->active_cell.col + (sheet->drag_range.col0 - sheet->range.col0); sheet->selection_cell.row = sheet->selection_cell.row + (sheet->drag_range.row0 - sheet->range.row0); sheet->selection_cell.col = sheet->selection_cell.col + (sheet->drag_range.col0 - sheet->range.col0); old_range=sheet->range; sheet->range=sheet->drag_range; sheet->drag_range=old_range; g_signal_emit (sheet, sheet_signals[MOVE_RANGE], 0, &sheet->drag_range, &sheet->range); gtk_sheet_select_range(sheet, &sheet->range); } if (GTK_SHEET_IN_RESIZE(sheet)){ GtkSheetRange old_range; draw_xor_rectangle(sheet, sheet->drag_range); GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IN_RESIZE); gdk_pointer_ungrab (event->time); gtk_sheet_real_unselect_range(sheet, NULL); sheet->active_cell.row = sheet->active_cell.row + (sheet->drag_range.row0 - sheet->range.row0); sheet->active_cell.col = sheet->active_cell.col + (sheet->drag_range.col0 - sheet->range.col0); if(sheet->drag_range.row0 < sheet->range.row0) sheet->selection_cell.row = sheet->drag_range.row0; if(sheet->drag_range.rowi >= sheet->range.rowi) sheet->selection_cell.row = sheet->drag_range.rowi; if(sheet->drag_range.col0 < sheet->range.col0) sheet->selection_cell.col = sheet->drag_range.col0; if(sheet->drag_range.coli >= sheet->range.coli) sheet->selection_cell.col = sheet->drag_range.coli; old_range = sheet->range; sheet->range = sheet->drag_range; sheet->drag_range = old_range; if(sheet->state==GTK_STATE_NORMAL) sheet->state=GTK_SHEET_RANGE_SELECTED; g_signal_emit (sheet, sheet_signals[RESIZE_RANGE], 0, &sheet->drag_range, &sheet->range); gtk_sheet_select_range(sheet, &sheet->range); } if(sheet->state == GTK_SHEET_NORMAL && GTK_SHEET_IN_SELECTION(sheet)){ GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IN_SELECTION); gdk_pointer_ungrab (event->time); gtk_sheet_activate_cell(sheet, sheet->active_cell.row, sheet->active_cell.col); } /* \note In original code this "if" expression looks like: * * if(GTK_SHEET_IN_SELECTION) * * and generates a compiler warning. "GTK_SHEET_IN_SELECTION" name * is used as both macro name and a name of enum member (a bad idea). * In this context using of enum value instead of a macro is most * probably an error (maybe just a typo): */ if(GTK_SHEET_IN_SELECTION(sheet)) gdk_pointer_ungrab (event->time); if(sheet->timer) g_source_remove (sheet->timer); gtk_grab_remove(GTK_WIDGET(sheet)); GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IN_SELECTION); return TRUE; } static gint gtk_sheet_motion (GtkWidget * widget, GdkEventMotion * event) { GtkSheet *sheet; GdkModifierType mods; GdkCursorType new_cursor; gint x, y, row, column; g_return_val_if_fail (widget != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); sheet = GTK_SHEET (widget); /* selections on the sheet */ x = event->x; y = event->y; if(event->window == sheet->column_title_window && gtk_sheet_columns_resizable(sheet)){ gtk_widget_get_pointer(widget, &x, &y); if(!GTK_SHEET_IN_SELECTION(sheet) && POSSIBLE_XDRAG(sheet, x, &column)){ new_cursor=GDK_SB_H_DOUBLE_ARROW; if(new_cursor != sheet->cursor_drag->type){ gdk_cursor_destroy(sheet->cursor_drag); sheet->cursor_drag=gdk_cursor_new(GDK_SB_H_DOUBLE_ARROW); gdk_window_set_cursor(sheet->column_title_window,sheet->cursor_drag); } }else{ new_cursor=GDK_TOP_LEFT_ARROW; if(!GTK_SHEET_IN_XDRAG(sheet) && new_cursor != sheet->cursor_drag->type){ gdk_cursor_destroy(sheet->cursor_drag); sheet->cursor_drag=gdk_cursor_new(GDK_TOP_LEFT_ARROW); gdk_window_set_cursor(sheet->column_title_window,sheet->cursor_drag); } } } if(event->window == sheet->row_title_window && gtk_sheet_rows_resizable(sheet)){ gtk_widget_get_pointer(widget, &x, &y); if(!GTK_SHEET_IN_SELECTION(sheet) && POSSIBLE_YDRAG(sheet,y, &column)){ new_cursor=GDK_SB_V_DOUBLE_ARROW; if(new_cursor != sheet->cursor_drag->type){ gdk_cursor_destroy(sheet->cursor_drag); sheet->cursor_drag=gdk_cursor_new(GDK_SB_V_DOUBLE_ARROW); gdk_window_set_cursor(sheet->row_title_window,sheet->cursor_drag); } }else{ new_cursor=GDK_TOP_LEFT_ARROW; if(!GTK_SHEET_IN_YDRAG(sheet) && new_cursor != sheet->cursor_drag->type){ gdk_cursor_destroy(sheet->cursor_drag); sheet->cursor_drag=gdk_cursor_new(GDK_TOP_LEFT_ARROW); gdk_window_set_cursor(sheet->row_title_window,sheet->cursor_drag); } } } new_cursor=GDK_PLUS; if(!POSSIBLE_DRAG(sheet,x,y,&row,&column) && !GTK_SHEET_IN_DRAG(sheet) && !POSSIBLE_RESIZE(sheet,x,y,&row,&column) && !GTK_SHEET_IN_RESIZE(sheet) && event->window == sheet->sheet_window && new_cursor != sheet->cursor_drag->type){ gdk_cursor_destroy(sheet->cursor_drag); sheet->cursor_drag=gdk_cursor_new(GDK_PLUS); gdk_window_set_cursor(sheet->sheet_window,sheet->cursor_drag); } new_cursor=GDK_TOP_LEFT_ARROW; if(!(POSSIBLE_RESIZE(sheet,x,y,&row,&column) || GTK_SHEET_IN_RESIZE(sheet)) && (POSSIBLE_DRAG(sheet, x,y,&row,&column) || GTK_SHEET_IN_DRAG(sheet)) && event->window == sheet->sheet_window && new_cursor != sheet->cursor_drag->type){ gdk_cursor_destroy(sheet->cursor_drag); sheet->cursor_drag=gdk_cursor_new(GDK_TOP_LEFT_ARROW); gdk_window_set_cursor(sheet->sheet_window,sheet->cursor_drag); } new_cursor=GDK_SIZING; if(!GTK_SHEET_IN_DRAG(sheet) && (POSSIBLE_RESIZE(sheet,x,y,&row,&column) || GTK_SHEET_IN_RESIZE(sheet)) && event->window == sheet->sheet_window && new_cursor != sheet->cursor_drag->type){ gdk_cursor_destroy(sheet->cursor_drag); sheet->cursor_drag=gdk_cursor_new(GDK_SIZING); gdk_window_set_cursor(sheet->sheet_window,sheet->cursor_drag); } gdk_window_get_pointer (widget->window, &x, &y, &mods); if(!(mods & GDK_BUTTON1_MASK)) return FALSE; if (GTK_SHEET_IN_XDRAG (sheet)){ if (event->is_hint || event->window != widget->window) gtk_widget_get_pointer (widget, &x, NULL); else x = event->x; new_column_width (sheet, sheet->drag_cell.col, &x); if (x != sheet->x_drag) { draw_xor_vline (sheet); sheet->x_drag = x; draw_xor_vline (sheet); } return TRUE; } if (GTK_SHEET_IN_YDRAG (sheet)){ if (event->is_hint || event->window != widget->window) gtk_widget_get_pointer (widget, NULL, &y); else y = event->y; new_row_height (sheet, sheet->drag_cell.row, &y); if (y != sheet->y_drag) { draw_xor_hline (sheet); sheet->y_drag = y; draw_xor_hline (sheet); } return TRUE; } if (GTK_SHEET_IN_DRAG(sheet)){ GtkSheetRange aux; column=COLUMN_FROM_XPIXEL(sheet,x)-sheet->drag_cell.col; row=ROW_FROM_YPIXEL(sheet,y)-sheet->drag_cell.row; if(sheet->state==GTK_SHEET_COLUMN_SELECTED) row=0; if(sheet->state==GTK_SHEET_ROW_SELECTED) column=0; sheet->x_drag=x; sheet->y_drag=y; aux=sheet->range; if(aux.row0+row >= 0 && aux.rowi+row <= sheet->maxrow && aux.col0+column >= 0 && aux.coli+column <= sheet->maxcol){ aux=sheet->drag_range; sheet->drag_range.row0=sheet->range.row0+row; sheet->drag_range.col0=sheet->range.col0+column; sheet->drag_range.rowi=sheet->range.rowi+row; sheet->drag_range.coli=sheet->range.coli+column; if(aux.row0 != sheet->drag_range.row0 || aux.col0 != sheet->drag_range.col0){ draw_xor_rectangle (sheet, aux); draw_xor_rectangle (sheet, sheet->drag_range); } } return TRUE; } if (GTK_SHEET_IN_RESIZE(sheet)){ GtkSheetRange aux; gint v_h; v_h=1; if(abs(x-COLUMN_LEFT_XPIXEL(sheet,sheet->drag_cell.col)) > abs(y-ROW_TOP_YPIXEL(sheet,sheet->drag_cell.row))) v_h=2; column=COLUMN_FROM_XPIXEL(sheet,x)-sheet->drag_cell.col; row=ROW_FROM_YPIXEL(sheet,y)-sheet->drag_cell.row; if(sheet->state==GTK_SHEET_COLUMN_SELECTED) row=0; if(sheet->state==GTK_SHEET_ROW_SELECTED) column=0; sheet->x_drag=x; sheet->y_drag=y; aux=sheet->range; if(row < sheet->range.row0 - sheet->range.rowi - 1) row=row+(sheet->range.rowi-sheet->range.row0 + 1); else if(row<0) row=0; if(column < sheet->range.col0 - sheet->range.coli - 1) column=column+(sheet->range.coli-sheet->range.col0 + 1); else if(column<0) column=0; if(v_h==1) column=0; else row=0; if(aux.row0+row >= 0 && aux.rowi+row <= sheet->maxrow && aux.col0+column >= 0 && aux.coli+column <= sheet->maxcol){ aux=sheet->drag_range; sheet->drag_range=sheet->range; if(row<0) sheet->drag_range.row0=sheet->range.row0+row; if(row>0) sheet->drag_range.rowi=sheet->range.rowi+row; if(column<0) sheet->drag_range.col0=sheet->range.col0+column; if(column>0) sheet->drag_range.coli=sheet->range.coli+column; if(aux.row0 != sheet->drag_range.row0 || aux.rowi != sheet->drag_range.rowi || aux.col0 != sheet->drag_range.col0 || aux.coli != sheet->drag_range.coli){ draw_xor_rectangle (sheet, aux); draw_xor_rectangle (sheet, sheet->drag_range); } } return TRUE; } gtk_sheet_get_pixel_info (sheet, x, y, &row, &column); if(sheet->state==GTK_SHEET_NORMAL && row==sheet->active_cell.row && column==sheet->active_cell.col) return TRUE; if(GTK_SHEET_IN_SELECTION(sheet) && mods&GDK_BUTTON1_MASK) gtk_sheet_extend_selection(sheet, row, column); return TRUE; } static gint gtk_sheet_move_query(GtkSheet *sheet, gint row, gint column) { gint row_move, column_move; gfloat row_align, col_align; guint height, width; gint new_row = row; gint new_col = column; row_move=FALSE; column_move=FALSE; row_align=-1.; col_align=-1.; height = sheet->sheet_window_height; width = sheet->sheet_window_width; if(row>=MAX_VISIBLE_ROW(sheet) && sheet->state!=GTK_SHEET_COLUMN_SELECTED) { row_align = 1.; new_row = MIN(sheet->maxrow, row + 1); row_move = TRUE; if(MAX_VISIBLE_ROW(sheet) == sheet->maxrow && ROW_TOP_YPIXEL(sheet, sheet->maxrow) + sheet->row[sheet->maxrow].height < (gint) height) { row_move = FALSE; row_align = -1.; } } if(rowstate!=GTK_SHEET_COLUMN_SELECTED) { row_align= 0.; row_move = TRUE; } if(column>=MAX_VISIBLE_COLUMN(sheet) && sheet->state!=GTK_SHEET_ROW_SELECTED) { col_align = 1.; new_col = MIN(sheet->maxcol, column + 1); column_move = TRUE; if(MAX_VISIBLE_COLUMN(sheet) == sheet->maxcol && COLUMN_LEFT_XPIXEL(sheet, sheet->maxcol) + sheet->column[sheet->maxcol].width < (gint) width) { column_move = FALSE; col_align = -1.; } } if(columnstate!=GTK_SHEET_ROW_SELECTED) { col_align = 0.; column_move = TRUE; } if(row_move || column_move){ gtk_sheet_moveto(sheet, new_row, new_col, row_align, col_align); } return(row_move || column_move); } static void gtk_sheet_extend_selection(GtkSheet *sheet, gint row, gint column) { GtkSheetRange range; gint state; gint r,c; if(row == sheet->selection_cell.row && column == sheet->selection_cell.col) return; if(sheet->selection_mode == GTK_SELECTION_SINGLE) return; gtk_sheet_move_query(sheet, row, column); gtk_widget_grab_focus(GTK_WIDGET(sheet)); if(GTK_SHEET_IN_DRAG(sheet)) return; state=sheet->state; switch(sheet->state){ case GTK_SHEET_ROW_SELECTED: column = sheet->maxcol; break; case GTK_SHEET_COLUMN_SELECTED: row = sheet->maxrow; break; case GTK_SHEET_NORMAL: sheet->state=GTK_SHEET_RANGE_SELECTED; r=sheet->active_cell.row; c=sheet->active_cell.col; sheet->range.col0=c; sheet->range.row0=r; sheet->range.coli=c; sheet->range.rowi=r; gdk_draw_pixmap(sheet->sheet_window, GTK_WIDGET(sheet)->style->fg_gc[GTK_STATE_NORMAL], sheet->pixmap, COLUMN_LEFT_XPIXEL(sheet,c)-1, ROW_TOP_YPIXEL(sheet,r)-1, COLUMN_LEFT_XPIXEL(sheet,c)-1, ROW_TOP_YPIXEL(sheet,r)-1, sheet->column[c].width+4, sheet->row[r].height+4); gtk_sheet_range_draw_selection(sheet, sheet->range); case GTK_SHEET_RANGE_SELECTED: sheet->state=GTK_SHEET_RANGE_SELECTED; } sheet->selection_cell.row = row; sheet->selection_cell.col = column; range.col0=MIN(column,sheet->active_cell.col); range.coli=MAX(column,sheet->active_cell.col); range.row0=MIN(row,sheet->active_cell.row); range.rowi=MAX(row,sheet->active_cell.row); if(range.row0 != sheet->range.row0 || range.rowi != sheet->range.rowi || range.col0 != sheet->range.col0 || range.coli != sheet->range.coli || state==GTK_SHEET_NORMAL) gtk_sheet_real_select_range(sheet, &range); } static gint gtk_sheet_key_press(GtkWidget *widget, GdkEventKey *key) { GtkSheet *sheet; gint row, col; gint state; gboolean extend_selection = FALSE; #if 0 gboolean force_move = FALSE; #endif gboolean in_selection = FALSE; gboolean veto = TRUE; gint scroll = 1; sheet = GTK_SHEET(widget); #ifdef DEBUG printf ("==== Enter gtk_sheet_key_press()\n"); #endif if(key->state & GDK_CONTROL_MASK || key->keyval==GDK_Control_L || key->keyval==GDK_Control_R) return FALSE; /* { if(key->keyval=='c' || key->keyval == 'C' && sheet->state != GTK_STATE_NORMAL) gtk_sheet_clip_range(sheet, sheet->range); if(key->keyval=='x' || key->keyval == 'X') gtk_sheet_unclip_range(sheet); return FALSE; } */ /* extend_selection is set when shift, ctrl, etc is pressed & held down */ extend_selection = (key->state & GDK_SHIFT_MASK) || key->keyval==GDK_Shift_L || key->keyval==GDK_Shift_R; #ifdef DEBUG printf ("extend_selection = %d\n", extend_selection); #endif state=sheet->state; in_selection = GTK_SHEET_IN_SELECTION(sheet); GTK_SHEET_UNSET_FLAGS(sheet, GTK_SHEET_IN_SELECTION); #ifdef DEBUG printf ("Enter the switch statement.\n"); #endif switch(key->keyval){ case GDK_Return: case GDK_KP_Enter: if (sheet->state == GTK_SHEET_NORMAL && !GTK_SHEET_IN_SELECTION (sheet)) { g_signal_stop_emission_by_name (gtk_sheet_get_entry (sheet), "key_press_event"); } row = sheet->active_cell.row; col = sheet->active_cell.col; if(sheet->state == GTK_SHEET_COLUMN_SELECTED) row = MIN_VISIBLE_ROW(sheet)-1; if(sheet->state == GTK_SHEET_ROW_SELECTED) col = MIN_VISIBLE_COLUMN(sheet); if(row < sheet->maxrow){ row = row + scroll; while(!sheet->row[row].is_visible && rowmaxrow) row++; } gtk_sheet_click_cell(sheet, row, col, &veto); extend_selection = FALSE; break; case GDK_ISO_Left_Tab: case GDK_Left: /* Left arrow */ #ifdef DEBUG printf ("gtk_sheet_key_press: "); printf ("Received GDK_Left.\n"); #endif row = sheet->active_cell.row; col = sheet->active_cell.col; if(sheet->state == GTK_SHEET_ROW_SELECTED) col = MIN_VISIBLE_COLUMN(sheet)-1; if(sheet->state == GTK_SHEET_COLUMN_SELECTED) row = MIN_VISIBLE_ROW(sheet); if(col > 0){ col = col - scroll; while(!sheet->column[col].is_visible && col>0) col--; col=MAX(0, col); } gtk_sheet_click_cell(sheet, row, col, &veto); extend_selection = FALSE; break; case GDK_Tab: case GDK_Right: /* Right arrow */ #ifdef DEBUG printf ("gtk_sheet_key_press: "); printf ("Received GDK_Right.\n"); #endif row = sheet->active_cell.row; col = sheet->active_cell.col; if(sheet->state == GTK_SHEET_ROW_SELECTED) col = MIN_VISIBLE_COLUMN(sheet)-1; if(sheet->state == GTK_SHEET_COLUMN_SELECTED) row = MIN_VISIBLE_ROW(sheet); if(col < sheet->maxcol){ col = col + scroll; while(!sheet->column[col].is_visible && colmaxcol) col++; } gtk_sheet_click_cell(sheet, row, col, &veto); extend_selection = FALSE; break; /* case GDK_BackSpace: if(sheet->active_cell.row >= 0 && sheet->active_cell.col >= 0){ if(sheet->active_cell.col > 0){ col = sheet->active_cell.col - scroll; row = sheet->active_cell.row; while(!sheet->column[col].is_visible && col > 0) col--; } } gtk_sheet_click_cell(sheet, row, col, &veto); extend_selection = FALSE; break; */ case GDK_Page_Up: scroll=MAX_VISIBLE_ROW(sheet)-MIN_VISIBLE_ROW(sheet)+1; case GDK_Up: /* arrow key up */ if(extend_selection){ if(state==GTK_STATE_NORMAL){ row=sheet->active_cell.row; col=sheet->active_cell.col; gtk_sheet_click_cell(sheet, row, col, &veto); if(!veto) break; } if(sheet->selection_cell.row > 0){ row = sheet->selection_cell.row - scroll; while(!sheet->row[row].is_visible && row > 0) row--; row = MAX(0, row); gtk_sheet_extend_selection(sheet, row, sheet->selection_cell.col); } return TRUE; } col = sheet->active_cell.col; row = sheet->active_cell.row; if(state==GTK_SHEET_COLUMN_SELECTED) row = MIN_VISIBLE_ROW(sheet); if(state==GTK_SHEET_ROW_SELECTED) col = MIN_VISIBLE_COLUMN(sheet); row = row - scroll; while(!sheet->row[row].is_visible && row > 0) row--; row = MAX(0,row); gtk_sheet_click_cell(sheet, row, col, &veto); extend_selection = FALSE; break; case GDK_Page_Down: scroll=MAX_VISIBLE_ROW(sheet)-MIN_VISIBLE_ROW(sheet)+1; case GDK_Down: /* arrow key down */ if(extend_selection){ if(state==GTK_STATE_NORMAL){ row=sheet->active_cell.row; col=sheet->active_cell.col; gtk_sheet_click_cell(sheet, row, col, &veto); if(!veto) break; } if(sheet->selection_cell.row < sheet->maxrow){ row = sheet->selection_cell.row + scroll; while(!sheet->row[row].is_visible && row < sheet->maxrow) row++; row = MIN(sheet->maxrow, row); gtk_sheet_extend_selection(sheet, row, sheet->selection_cell.col); } return TRUE; } col = sheet->active_cell.col; row = sheet->active_cell.row; if(sheet->active_cell.row < sheet->maxrow){ if(state==GTK_SHEET_COLUMN_SELECTED) row = MIN_VISIBLE_ROW(sheet)-1; if(state==GTK_SHEET_ROW_SELECTED) col = MIN_VISIBLE_COLUMN(sheet); row = row + scroll; while(!sheet->row[row].is_visible && row < sheet->maxrow) row++; row = MIN(sheet->maxrow, row); } gtk_sheet_click_cell(sheet, row, col, &veto); extend_selection = FALSE; break; #if 0 case GDK_Right: if(extend_selection){ if(state==GTK_STATE_NORMAL){ row=sheet->active_cell.row; col=sheet->active_cell.col; gtk_sheet_click_cell(sheet, row, col, &veto); if(!veto) break; } if(sheet->selection_cell.col < sheet->maxcol){ col = sheet->selection_cell.col + 1; while(!sheet->column[col].is_visible && col < sheet->maxcol) col++; gtk_sheet_extend_selection(sheet, sheet->selection_cell.row, col); } return TRUE; } col = sheet->active_cell.col; row = sheet->active_cell.row; if(sheet->active_cell.col < sheet->maxcol){ col ++; if(state==GTK_SHEET_ROW_SELECTED) col = MIN_VISIBLE_COLUMN(sheet)-1; if(state==GTK_SHEET_COLUMN_SELECTED) row = MIN_VISIBLE_ROW(sheet); while(!sheet->column[col].is_visible && col < sheet->maxcol) col++; if(strlen(gtk_entry_get_text(GTK_ENTRY(gtk_sheet_get_entry(sheet)))) == 0 || force_move) { gtk_sheet_click_cell(sheet, row, col, &veto); } else return FALSE; } extend_selection = FALSE; break; case GDK_Left: if(extend_selection){ if(state==GTK_STATE_NORMAL){ row=sheet->active_cell.row; col=sheet->active_cell.col; gtk_sheet_click_cell(sheet, row, col, &veto); if(!veto) break; } if(sheet->selection_cell.col > 0){ col = sheet->selection_cell.col - 1; while(!sheet->column[col].is_visible && col > 0) col--; gtk_sheet_extend_selection(sheet, sheet->selection_cell.row, col); } return TRUE; } col = sheet->active_cell.col - 1; row = sheet->active_cell.row; if(state==GTK_SHEET_ROW_SELECTED) col = MIN_VISIBLE_COLUMN(sheet)-1; if(state==GTK_SHEET_COLUMN_SELECTED) row = MIN_VISIBLE_ROW(sheet); while(!sheet->column[col].is_visible && col > 0) col--; col = MAX(0, col); if(strlen(gtk_entry_get_text(GTK_ENTRY(gtk_sheet_get_entry(sheet)))) == 0 || force_move){ gtk_sheet_click_cell(sheet, row, col, &veto); } else return FALSE; extend_selection = FALSE; break; #endif case GDK_Home: row=0; while(!sheet->row[row].is_visible && row < sheet->maxrow) row++; gtk_sheet_click_cell(sheet, row, sheet->active_cell.col, &veto); extend_selection = FALSE; break; case GDK_End: row=sheet->maxrow; while(!sheet->row[row].is_visible && row > 0) row--; gtk_sheet_click_cell(sheet, row, sheet->active_cell.col, &veto); extend_selection = FALSE; break; default: #ifdef DEBUG printf ("gtk_sheet_key_press: "); printf ("After switch, found default case.\n"); printf (" User probably typed letter key or DEL.\n"); #endif if(in_selection) { GTK_SHEET_SET_FLAGS(sheet, GTK_SHEET_IN_SELECTION); if(extend_selection) return TRUE; } if(state == GTK_SHEET_ROW_SELECTED) sheet->active_cell.col=MIN_VISIBLE_COLUMN(sheet); if(state == GTK_SHEET_COLUMN_SELECTED) sheet->active_cell.row=MIN_VISIBLE_ROW(sheet); return FALSE; } /* switch */ if(extend_selection) return TRUE; gtk_sheet_activate_cell(sheet, sheet->active_cell.row, sheet->active_cell.col); return TRUE; } static void gtk_sheet_size_request (GtkWidget * widget, GtkRequisition * requisition) { GtkSheet *sheet; GList *children; GtkSheetChild *child; GtkRequisition child_requisition; g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_SHEET (widget)); g_return_if_fail (requisition != NULL); sheet = GTK_SHEET (widget); requisition->width = 3*DEFAULT_COLUMN_WIDTH; requisition->height = 3*DEFAULT_ROW_HEIGHT(widget); /* compute the size of the column title area */ if(sheet->column_titles_visible) requisition->height += sheet->column_title_area.height; /* compute the size of the row title area */ if(sheet->row_titles_visible) requisition->width += sheet->row_title_area.width; sheet->view.row0=ROW_FROM_YPIXEL(sheet, sheet->column_title_area.height+1); sheet->view.rowi=ROW_FROM_YPIXEL(sheet, sheet->sheet_window_height-1); sheet->view.col0=COLUMN_FROM_XPIXEL(sheet, sheet->row_title_area.width+1); sheet->view.coli=COLUMN_FROM_XPIXEL(sheet, sheet->sheet_window_width); if(!sheet->column_titles_visible) sheet->view.row0=ROW_FROM_YPIXEL(sheet, 1); if(!sheet->row_titles_visible) sheet->view.col0=COLUMN_FROM_XPIXEL(sheet, 1); children = sheet->children; while (children) { child = (GtkSheetChild*) children->data; children = g_list_next(children); gtk_widget_size_request(child->widget, &child_requisition); } } static void gtk_sheet_size_allocate (GtkWidget * widget, GtkAllocation * allocation) { GtkSheet *sheet; GtkAllocation sheet_allocation; gint border_width; g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_SHEET (widget)); g_return_if_fail (allocation != NULL); sheet = GTK_SHEET (widget); widget->allocation = *allocation; border_width = GTK_CONTAINER(widget)->border_width; if (gtk_widget_get_realized (widget)) { gdk_window_move_resize (widget->window, allocation->x + border_width, allocation->y + border_width, allocation->width - 2*border_width, allocation->height - 2*border_width); } /* use internal allocation structure for all the math * because it's easier than always subtracting the container * border width */ sheet->internal_allocation.x = 0; sheet->internal_allocation.y = 0; sheet->internal_allocation.width = allocation->width - 2*border_width; sheet->internal_allocation.height = allocation->height - 2*border_width; sheet_allocation.x = 0; sheet_allocation.y = 0; sheet_allocation.width = allocation->width - 2*border_width; sheet_allocation.height = allocation->height - 2*border_width; sheet->sheet_window_width = sheet_allocation.width; sheet->sheet_window_height = sheet_allocation.height; if (gtk_widget_get_realized (widget)) { gdk_window_move_resize (sheet->sheet_window, sheet_allocation.x, sheet_allocation.y, sheet_allocation.width, sheet_allocation.height); } /* position the window which holds the column title buttons */ sheet->column_title_area.x = 0; sheet->column_title_area.y = 0; if(sheet->row_titles_visible) sheet->column_title_area.x = sheet->row_title_area.width; sheet->column_title_area.width = sheet_allocation.width - sheet->column_title_area.x; if (gtk_widget_get_realized (widget) && sheet->column_titles_visible) { gdk_window_move_resize (sheet->column_title_window, sheet->column_title_area.x, sheet->column_title_area.y, sheet->column_title_area.width, sheet->column_title_area.height); } sheet->sheet_window_width = sheet_allocation.width; sheet->sheet_window_height = sheet_allocation.height; /* column button allocation */ size_allocate_column_title_buttons (sheet); /* position the window which holds the row title buttons */ sheet->row_title_area.x = 0; sheet->row_title_area.y = 0; if(sheet->column_titles_visible) sheet->row_title_area.y = sheet->column_title_area.height; sheet->row_title_area.height = sheet_allocation.height - sheet->row_title_area.y; if (gtk_widget_get_realized (widget) && sheet->row_titles_visible) { gdk_window_move_resize (sheet->row_title_window, sheet->row_title_area.x, sheet->row_title_area.y, sheet->row_title_area.width, sheet->row_title_area.height); } /* row button allocation */ size_allocate_row_title_buttons (sheet); sheet->view.row0=ROW_FROM_YPIXEL(sheet, sheet->column_title_area.height+1); sheet->view.rowi=ROW_FROM_YPIXEL(sheet, sheet->sheet_window_height-1); sheet->view.col0=COLUMN_FROM_XPIXEL(sheet, sheet->row_title_area.width+1); sheet->view.coli=COLUMN_FROM_XPIXEL(sheet, sheet->sheet_window_width); if(!sheet->column_titles_visible) sheet->view.row0=ROW_FROM_YPIXEL(sheet, 1); if(!sheet->row_titles_visible) sheet->view.col0=COLUMN_FROM_XPIXEL(sheet, 1); size_allocate_column_title_buttons(sheet); size_allocate_row_title_buttons(sheet); /* re-scale backing pixmap */ gtk_sheet_make_backing_pixmap(sheet, 0, 0); gtk_sheet_position_children(sheet); /* set the scrollbars adjustments */ adjust_scrollbars (sheet); } static void size_allocate_column_title_buttons (GtkSheet * sheet) { gint i; gint x,width; if (!sheet->column_titles_visible) return; if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) { return; } width = sheet->sheet_window_width; x = 0; if(sheet->row_titles_visible) { width -= sheet->row_title_area.width; x = sheet->row_title_area.width; } if(sheet->column_title_area.width != width || sheet->column_title_area.x != x) { sheet->column_title_area.width = width; sheet->column_title_area.x = x; gdk_window_move_resize (sheet->column_title_window, sheet->column_title_area.x, sheet->column_title_area.y, sheet->column_title_area.width, sheet->column_title_area.height); } if(MAX_VISIBLE_COLUMN(sheet) == sheet->maxcol) gdk_window_clear_area (sheet->column_title_window, 0,0, sheet->column_title_area.width, sheet->column_title_area.height); if (!gtk_widget_is_drawable (GTK_WIDGET (sheet))) return; for (i = MIN_VISIBLE_COLUMN(sheet); i <= MAX_VISIBLE_COLUMN(sheet); i++) gtk_sheet_button_draw(sheet,-1,i); } static void size_allocate_row_title_buttons (GtkSheet * sheet) { gint i; gint y, height; if (!sheet->row_titles_visible) return; if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) { return; } height = sheet->sheet_window_height; y = 0; if(sheet->column_titles_visible) { height -= sheet->column_title_area.height; y = sheet->column_title_area.height; } if(sheet->row_title_area.height != height || sheet->row_title_area.y != y){ sheet->row_title_area.y = y; sheet->row_title_area.height = height; gdk_window_move_resize (sheet->row_title_window, sheet->row_title_area.x, sheet->row_title_area.y, sheet->row_title_area.width, sheet->row_title_area.height); } if(MAX_VISIBLE_ROW(sheet) == sheet->maxrow) gdk_window_clear_area (sheet->row_title_window, 0,0, sheet->row_title_area.width, sheet->row_title_area.height); if (!gtk_widget_is_drawable (GTK_WIDGET (sheet))) return; for(i = MIN_VISIBLE_ROW(sheet); i <= MAX_VISIBLE_ROW(sheet); i++) gtk_sheet_button_draw(sheet,i,-1); } static void gtk_sheet_recalc_top_ypixels(GtkSheet *sheet, gint row) { gint i, cy; cy = sheet->column_title_area.height; if(!sheet->column_titles_visible) cy = 0; for(i=0; i<=sheet->maxrow; i++){ sheet->row[i].top_ypixel=cy; if(sheet->row[i].is_visible) cy+=sheet->row[i].height; } } static void gtk_sheet_recalc_left_xpixels(GtkSheet *sheet, gint column) { gint i, cx; cx = sheet->row_title_area.width; if(!sheet->row_titles_visible) cx = 0; for(i=0; i<=sheet->maxcol; i++){ sheet->column[i].left_xpixel=cx; if(sheet->column[i].is_visible) cx+=sheet->column[i].width; } } static void gtk_sheet_size_allocate_entry(GtkSheet *sheet) { GtkAllocation shentry_allocation; GtkSheetCellAttr attributes; GtkEntry *sheet_entry; GtkStyle *style = NULL, *previous_style = NULL; gint size, max_size, text_size, column_width; const gchar *text; if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) return; if (!gtk_widget_get_mapped (GTK_WIDGET (sheet))) return; sheet_entry = GTK_ENTRY(gtk_sheet_get_entry(sheet)); gtk_sheet_get_attributes(sheet, sheet->active_cell.row, sheet->active_cell.col, &attributes); if (gtk_widget_get_realized (sheet->sheet_entry)) { if(!GTK_WIDGET(sheet_entry)->style) gtk_widget_ensure_style(GTK_WIDGET(sheet_entry)); previous_style = GTK_WIDGET(sheet_entry)->style; style = gtk_style_copy(previous_style); style->bg[GTK_STATE_NORMAL] = attributes.background; style->fg[GTK_STATE_NORMAL] = attributes.foreground; style->text[GTK_STATE_NORMAL] = attributes.foreground; style->bg[GTK_STATE_ACTIVE] = attributes.background; style->fg[GTK_STATE_ACTIVE] = attributes.foreground; style->text[GTK_STATE_ACTIVE] = attributes.foreground; pango_font_description_free(style->font_desc); style->font_desc = pango_font_description_copy(attributes.font_desc); GTK_WIDGET(sheet_entry)->style = style; gtk_widget_size_request(sheet->sheet_entry, NULL); GTK_WIDGET(sheet_entry)->style = previous_style; if(style != previous_style){ style->bg[GTK_STATE_NORMAL] = previous_style->bg[GTK_STATE_NORMAL]; style->fg[GTK_STATE_NORMAL] = previous_style->fg[GTK_STATE_NORMAL]; style->bg[GTK_STATE_ACTIVE] = previous_style->bg[GTK_STATE_ACTIVE]; style->fg[GTK_STATE_ACTIVE] = previous_style->fg[GTK_STATE_ACTIVE]; gtk_widget_set_style(GTK_WIDGET(sheet_entry), style); } } max_size = 0; text_size = 0; text = gtk_entry_get_text(GTK_ENTRY(sheet_entry)); if(text && strlen(text) > 0){ text_size = STRING_WIDTH(GTK_WIDGET(sheet), attributes.font_desc, text); } column_width=sheet->column[sheet->active_cell.col].width; size=MIN(text_size, max_size); size=MAX(size,column_width-2*CELLOFFSET); shentry_allocation.x = COLUMN_LEFT_XPIXEL(sheet,sheet->active_cell.col); shentry_allocation.y = ROW_TOP_YPIXEL(sheet,sheet->active_cell.row); shentry_allocation.width = column_width; shentry_allocation.height = sheet->row[sheet->active_cell.row].height; shentry_allocation.x += 2; shentry_allocation.y += 2; shentry_allocation.width -= MIN(shentry_allocation.width, 3); shentry_allocation.height -= MIN(shentry_allocation.height, 3); gtk_widget_size_allocate(sheet->sheet_entry, &shentry_allocation); if (previous_style == style) { g_object_unref (previous_style); } } static void create_sheet_entry(GtkSheet *sheet) { GtkWidget *parent; GtkWidget *entry; gint found_entry = FALSE; if(sheet->sheet_entry){ /* avoids warnings */ g_object_ref(sheet->sheet_entry); gtk_widget_unparent(sheet->sheet_entry); gtk_widget_destroy(sheet->sheet_entry); } if(sheet->entry_type){ if (!g_type_is_a (sheet->entry_type, GTK_TYPE_ENTRY)) { parent = GTK_WIDGET(gtk_type_new(sheet->entry_type)); sheet->sheet_entry = parent; entry = gtk_sheet_get_entry (sheet); if(GTK_IS_ENTRY(entry)) found_entry = TRUE; } else { parent = GTK_WIDGET(gtk_type_new(sheet->entry_type)); entry = parent; found_entry = TRUE; } if(!found_entry){ g_warning (_("Entry type must be GtkEntry subclass, using default")); entry = gtk_entry_new (); sheet->sheet_entry = entry; } else { sheet->sheet_entry = parent; } } else { entry = gtk_entry_new (); sheet->sheet_entry = entry; } gtk_widget_size_request(sheet->sheet_entry, NULL); if (gtk_widget_get_realized (GTK_WIDGET (sheet))) { gtk_widget_set_parent_window (sheet->sheet_entry, sheet->sheet_window); gtk_widget_set_parent(sheet->sheet_entry, GTK_WIDGET(sheet)); gtk_widget_realize(sheet->sheet_entry); } g_signal_connect_swapped (entry, "key_press_event", G_CALLBACK (gtk_sheet_key_press), sheet); gtk_widget_show (sheet->sheet_entry); } GtkWidget * gtk_sheet_get_entry(GtkSheet *sheet) { GtkWidget *parent; GtkWidget *entry = NULL; GtkTableChild *table_child; GtkBoxChild *box_child; GList *children = NULL; g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); g_return_val_if_fail (sheet->sheet_entry != NULL, NULL); if(GTK_IS_ENTRY(sheet->sheet_entry)) return (sheet->sheet_entry); parent = GTK_WIDGET(sheet->sheet_entry); if(GTK_IS_TABLE(parent)) children = GTK_TABLE(parent)->children; if(GTK_IS_BOX(parent)) children = GTK_BOX(parent)->children; if(!children) return NULL; while(children){ if(GTK_IS_TABLE(parent)) { table_child = (GtkTableChild*) children->data; entry = table_child->widget; } if(GTK_IS_BOX(parent)){ box_child = (GtkBoxChild*) children->data; entry = box_child->widget; } if(GTK_IS_ENTRY(entry)) break; children = g_list_next(children); } if(!GTK_IS_ENTRY(entry)) return NULL; return (entry); } GtkWidget * gtk_sheet_get_entry_widget(GtkSheet *sheet) { g_return_val_if_fail (sheet != NULL, NULL); g_return_val_if_fail (GTK_IS_SHEET (sheet), NULL); g_return_val_if_fail (sheet->sheet_entry != NULL, NULL); return (sheet->sheet_entry); } /* BUTTONS */ static void row_button_set (GtkSheet *sheet, gint row) { if(sheet->row[row].button.state == GTK_STATE_ACTIVE) return; sheet->row[row].button.state = GTK_STATE_ACTIVE; gtk_sheet_button_draw(sheet, row, -1); } static void column_button_set (GtkSheet *sheet, gint column) { if(sheet->column[column].button.state == GTK_STATE_ACTIVE) return; sheet->column[column].button.state = GTK_STATE_ACTIVE; gtk_sheet_button_draw(sheet, -1, column); } static void row_button_release (GtkSheet *sheet, gint row) { if(sheet->row[row].button.state == GTK_STATE_NORMAL) return; sheet->row[row].button.state = GTK_STATE_NORMAL; gtk_sheet_button_draw(sheet, row, -1); } static void column_button_release (GtkSheet *sheet, gint column) { if(sheet->column[column].button.state == GTK_STATE_NORMAL) return; sheet->column[column].button.state = GTK_STATE_NORMAL; gtk_sheet_button_draw(sheet, -1, column); } static void gtk_sheet_button_draw (GtkSheet *sheet, gint row, gint column) { GdkWindow *window = NULL; GtkShadowType shadow_type; guint width = 0, height = 0; gint x = 0, y = 0; gint index = 0; gint text_width = 0, text_height = 0; GtkSheetButton *button = NULL; GtkSheetChild *child = NULL; GdkRectangle allocation; gboolean is_sensitive = FALSE; gint state = 0; gint len = 0; gchar *line = 0; gchar *words = 0; gchar label[10]; if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) return; if(row >= 0 && !sheet->row[row].is_visible) return; if(column >= 0 && !sheet->column[column].is_visible) return; if(row >= 0 && !sheet->row_titles_visible) return; if(column >= 0 && !sheet->column_titles_visible) return; if(column>=0 && column =0 && column >MAX_VISIBLE_COLUMN(sheet)) return; if(row>=0 && row =0 && row >MAX_VISIBLE_ROW(sheet)) return; if( (row == -1) && (column == -1) ) return; if(row==-1){ window=sheet->column_title_window; button=&sheet->column[column].button; index=column; x = COLUMN_LEFT_XPIXEL(sheet, column)+CELL_SPACING; if(sheet->row_titles_visible) x -= sheet->row_title_area.width; y = 0; width = sheet->column[column].width; height = sheet->column_title_area.height; is_sensitive=sheet->column[column].is_sensitive; } else if(column==-1){ window=sheet->row_title_window; button=&sheet->row[row].button; index=row; x = 0; y = ROW_TOP_YPIXEL(sheet, row)+CELL_SPACING; if(sheet->column_titles_visible) y-=sheet->column_title_area.height; width = sheet->row_title_area.width; height = sheet->row[row].height; is_sensitive=sheet->row[row].is_sensitive; } allocation.x = x; allocation.y = y; allocation.width = width; allocation.height = height; gdk_window_clear_area (window, x, y, width, height); gtk_paint_box (sheet->button->style, window, GTK_STATE_NORMAL, GTK_SHADOW_OUT, &allocation, GTK_WIDGET(sheet), "buttondefault", x, y, width, height); state = button->state; if(!is_sensitive) state=GTK_STATE_INSENSITIVE; if (state == GTK_STATE_ACTIVE) shadow_type = GTK_SHADOW_IN; else shadow_type = GTK_SHADOW_OUT; if(state != GTK_STATE_NORMAL && state != GTK_STATE_INSENSITIVE) gtk_paint_box (sheet->button->style, window, button->state, shadow_type, &allocation, GTK_WIDGET(sheet), "button", x, y, width, height); if(button->label_visible){ text_height=DEFAULT_ROW_HEIGHT(GTK_WIDGET(sheet))-2*CELLOFFSET; gdk_gc_set_clip_rectangle(GTK_WIDGET(sheet)->style->fg_gc[button->state], &allocation); gdk_gc_set_clip_rectangle(GTK_WIDGET(sheet)->style->white_gc, &allocation); y += DEFAULT_ROW_HEIGHT(GTK_WIDGET(sheet))/2 + sheet->button->style->ythickness + DEFAULT_FONT_DESCENT(GTK_WIDGET(sheet)); if(button->label && strlen(button->label)>0){ words=button->label; line = g_new(gchar, 1); line[0]='\0'; while(words && *words != '\0'){ if(*words != '\n'){ len=strlen(line); line = (gchar*) g_realloc (line, len+2); line[len]=*words; line[len+1]='\0'; } if(*words == '\n' || *(words+1) == '\0'){ text_width = STRING_WIDTH(GTK_WIDGET(sheet), GTK_WIDGET(sheet)->style->font_desc, line); switch(button->justification){ case GTK_JUSTIFY_LEFT: gtk_paint_string (GTK_WIDGET(sheet)->style, window, (GtkStateType) state, &allocation, GTK_WIDGET(sheet), "label", x + CELLOFFSET, y, line); break; case GTK_JUSTIFY_RIGHT: gtk_paint_string (GTK_WIDGET(sheet)->style, window, (GtkStateType) state, &allocation, GTK_WIDGET(sheet), "label", x + width - text_width - CELLOFFSET, y, line); break; case GTK_JUSTIFY_CENTER: default: gtk_paint_string (GTK_WIDGET(sheet)->style, window, (GtkStateType) state, &allocation, GTK_WIDGET(sheet), "label", x + (width - text_width) /2, y, line); } y += text_height + 2; g_free(line); line = g_new(gchar, 1); line[0]='\0'; } words++; } g_free(line); }else{ sprintf(label,"%d",index); text_width = STRING_WIDTH(GTK_WIDGET(sheet), GTK_WIDGET(sheet)->style->font_desc, label); switch(button->justification){ case GTK_JUSTIFY_LEFT: gtk_paint_string (GTK_WIDGET(sheet)->style, window, (GtkStateType) state, &allocation, GTK_WIDGET(sheet), "label", x + CELLOFFSET, y, label); break; case GTK_JUSTIFY_RIGHT: gtk_paint_string (GTK_WIDGET(sheet)->style, window, (GtkStateType) state, &allocation, GTK_WIDGET(sheet), "label", x + width - text_width - CELLOFFSET, y, label); break; case GTK_JUSTIFY_CENTER: default: gtk_paint_string (GTK_WIDGET(sheet)->style, window, (GtkStateType) state, &allocation, GTK_WIDGET(sheet), "label", x + (width - text_width) /2, y, label); } } gdk_gc_set_clip_rectangle(GTK_WIDGET(sheet)->style->fg_gc[button->state], NULL); gdk_gc_set_clip_rectangle(GTK_WIDGET(sheet)->style->white_gc, NULL); } if((child = button->child) && (child->widget)){ child->x = allocation.x; child->y = allocation.y; child->x += (width - child->widget->requisition.width) / 2; child->y += (height - child->widget->requisition.height) / 2; allocation.x = child->x; allocation.y = child->y; allocation.width = child->widget->requisition.width; allocation.height = child->widget->requisition.height; x = child->x; y = child->y; gtk_widget_set_state(child->widget, button->state); if (gtk_widget_get_realized (GTK_WIDGET (sheet)) && gtk_widget_get_mapped (child->widget)) { gtk_widget_size_allocate(child->widget, &allocation); gtk_widget_queue_draw(child->widget); } } } /* SCROLLBARS * * functions: * adjust_scrollbars * vadjustment_changed * hadjustment_changed * vadjustment_value_changed * hadjustment_value_changed */ static void adjust_scrollbars (GtkSheet * sheet) { if(sheet->vadjustment){ sheet->vadjustment->page_size = sheet->sheet_window_height; sheet->vadjustment->page_increment = sheet->sheet_window_height / 2; sheet->vadjustment->step_increment = DEFAULT_ROW_HEIGHT(GTK_WIDGET(sheet)); sheet->vadjustment->lower = 0; sheet->vadjustment->upper = SHEET_HEIGHT (sheet) + 80; g_signal_emit_by_name (sheet->vadjustment, "changed"); } if(sheet->hadjustment){ sheet->hadjustment->page_size = sheet->sheet_window_width; sheet->hadjustment->page_increment = sheet->sheet_window_width / 2; sheet->hadjustment->step_increment = DEFAULT_COLUMN_WIDTH; sheet->hadjustment->lower = 0; sheet->hadjustment->upper = SHEET_WIDTH (sheet)+ 80; g_signal_emit_by_name (sheet->hadjustment, "changed"); } /* if(GTK_WIDGET_REALIZED(sheet)) { if(sheet->row_titles_visible){ size_allocate_row_title_buttons(sheet); gdk_window_show(sheet->row_title_window); } if(sheet->column_titles_visible){ size_allocate_column_title_buttons(sheet); gdk_window_show(sheet->column_title_window); } gtk_sheet_range_draw(sheet, NULL); } */ } static void vadjustment_changed (GtkAdjustment * adjustment, gpointer data) { g_return_if_fail (adjustment != NULL); g_return_if_fail (data != NULL); } static void hadjustment_changed (GtkAdjustment * adjustment, gpointer data) { g_return_if_fail (adjustment != NULL); g_return_if_fail (data != NULL); } static void vadjustment_value_changed (GtkAdjustment * adjustment, gpointer data) { GtkSheet *sheet; gint value; gint i; gint row, new_row; gint y=0; g_return_if_fail (adjustment != NULL); g_return_if_fail (data != NULL); g_return_if_fail (GTK_IS_SHEET (data)); sheet = GTK_SHEET (data); if(GTK_SHEET_IS_FROZEN(sheet)) return; row=ROW_FROM_YPIXEL(sheet,sheet->column_title_area.height + CELL_SPACING); if(!sheet->column_titles_visible) row=ROW_FROM_YPIXEL(sheet,CELL_SPACING); for(i=0; i<= sheet->maxrow; i++){ if(sheet->row[i].is_visible) y+=sheet->row[i].height; if(y > adjustment->value) break; } y-=sheet->row[i].height; new_row=i; if (adjustment->value > sheet->old_vadjustment && sheet->old_vadjustment > 0. && sheet->row[i].height > sheet->vadjustment->step_increment){ /* This avoids embarrassing twitching */ if(row == new_row && row != sheet->maxrow && adjustment->value - sheet->old_vadjustment >= sheet->vadjustment->step_increment && new_row + 1 != MIN_VISIBLE_ROW(sheet)){ new_row+=1; y=y+sheet->row[row].height; } } /* Negative old_adjustment enforces the redraw, otherwise avoid spureous redraw */ if(sheet->old_vadjustment >= 0. && row == new_row){ sheet->old_vadjustment = sheet->vadjustment->value; return; } sheet->old_vadjustment = sheet->vadjustment->value; adjustment->value=y; if(new_row == 0){ sheet->vadjustment->step_increment= sheet->row[0].height; }else{ sheet->vadjustment->step_increment= MIN(sheet->row[new_row].height, sheet->row[new_row-1].height); } sheet->vadjustment->value=adjustment->value; value = adjustment->value; sheet->voffset = -value; sheet->view.row0=ROW_FROM_YPIXEL(sheet, sheet->column_title_area.height+1); sheet->view.rowi=ROW_FROM_YPIXEL(sheet, sheet->sheet_window_height-1); if(!sheet->column_titles_visible) sheet->view.row0=ROW_FROM_YPIXEL(sheet, 1); if (gtk_widget_get_realized (sheet->sheet_entry) && sheet->state == GTK_SHEET_NORMAL && sheet->active_cell.row >= 0 && sheet->active_cell.col >= 0 && !gtk_sheet_cell_isvisible(sheet, sheet->active_cell.row, sheet->active_cell.col)) { const gchar *text; text = gtk_entry_get_text(GTK_ENTRY(gtk_sheet_get_entry(sheet))); if(!text || strlen(text)==0) gtk_sheet_cell_clear(sheet, sheet->active_cell.row, sheet->active_cell.col); gtk_widget_unmap(sheet->sheet_entry); } gtk_sheet_position_children(sheet); gtk_sheet_range_draw(sheet, NULL); size_allocate_row_title_buttons(sheet); size_allocate_global_button(sheet); } static void hadjustment_value_changed (GtkAdjustment * adjustment, gpointer data) { GtkSheet *sheet; gint i, value; gint column, new_column; gint x=0; g_return_if_fail (adjustment != NULL); g_return_if_fail (data != NULL); g_return_if_fail (GTK_IS_SHEET (data)); sheet = GTK_SHEET (data); if(GTK_SHEET_IS_FROZEN(sheet)) return; column=COLUMN_FROM_XPIXEL(sheet,sheet->row_title_area.width + CELL_SPACING); if(!sheet->row_titles_visible) column=COLUMN_FROM_XPIXEL(sheet, CELL_SPACING); for(i=0; i<= sheet->maxcol; i++){ if(sheet->column[i].is_visible) x+=sheet->column[i].width; if(x > adjustment->value) break; } x-=sheet->column[i].width; new_column=i; if (adjustment->value > sheet->old_hadjustment && sheet->old_hadjustment > 0 && sheet->column[i].width > sheet->hadjustment->step_increment){ /* This avoids embarrassing twitching */ if(column == new_column && column != sheet->maxcol && adjustment->value - sheet->old_hadjustment >= sheet->hadjustment->step_increment && new_column + 1 != MIN_VISIBLE_COLUMN(sheet)){ new_column+=1; x=x+sheet->column[column].width; } } /* Negative old_adjustment enforces the redraw, otherwise avoid spureous redraw */ if(sheet->old_hadjustment >= 0. && new_column == column){ sheet->old_hadjustment = sheet->hadjustment->value; return; } sheet->old_hadjustment = sheet->hadjustment->value; adjustment->value=x; if(new_column == 0){ sheet->hadjustment->step_increment= sheet->column[0].width; }else{ sheet->hadjustment->step_increment= MIN(sheet->column[new_column].width, sheet->column[new_column-1].width); } sheet->hadjustment->value=adjustment->value; value = adjustment->value; sheet->hoffset = -value; sheet->view.col0=COLUMN_FROM_XPIXEL(sheet, sheet->row_title_area.width+1); sheet->view.coli=COLUMN_FROM_XPIXEL(sheet, sheet->sheet_window_width); if(!sheet->row_titles_visible) sheet->view.col0=COLUMN_FROM_XPIXEL(sheet, 1); if (gtk_widget_get_realized (sheet->sheet_entry) && sheet->state == GTK_SHEET_NORMAL && sheet->active_cell.row >= 0 && sheet->active_cell.col >= 0 && !gtk_sheet_cell_isvisible(sheet, sheet->active_cell.row, sheet->active_cell.col)) { const gchar *text; text = gtk_entry_get_text(GTK_ENTRY(gtk_sheet_get_entry(sheet))); if(!text || strlen(text)==0) gtk_sheet_cell_clear(sheet, sheet->active_cell.row, sheet->active_cell.col); gtk_widget_unmap(sheet->sheet_entry); } gtk_sheet_position_children(sheet); gtk_sheet_range_draw(sheet, NULL); size_allocate_column_title_buttons(sheet); } /* COLUMN RESIZING */ static void draw_xor_vline (GtkSheet * sheet) { GtkWidget *widget; g_return_if_fail (sheet != NULL); widget = GTK_WIDGET (sheet); gdk_draw_line (widget->window, sheet->xor_gc, sheet->x_drag, sheet->column_title_area.height, sheet->x_drag, sheet->sheet_window_height + 1); } /* ROW RESIZING */ static void draw_xor_hline (GtkSheet * sheet) { GtkWidget *widget; g_return_if_fail (sheet != NULL); widget = GTK_WIDGET (sheet); gdk_draw_line (widget->window, sheet->xor_gc, sheet->row_title_area.width, sheet->y_drag, sheet->sheet_window_width + 1, sheet->y_drag); } /* SELECTED RANGE */ static void draw_xor_rectangle(GtkSheet *sheet, GtkSheetRange range) { gint i; GdkRectangle clip_area, area; GdkGCValues values; area.x=COLUMN_LEFT_XPIXEL(sheet, range.col0); area.y=ROW_TOP_YPIXEL(sheet, range.row0); area.width=COLUMN_LEFT_XPIXEL(sheet, range.coli)-area.x+ sheet->column[range.coli].width; area.height=ROW_TOP_YPIXEL(sheet, range.rowi)-area.y+ sheet->row[range.rowi].height; clip_area.x=sheet->row_title_area.width; clip_area.y=sheet->column_title_area.height; clip_area.width=sheet->sheet_window_width; clip_area.height=sheet->sheet_window_height; if(!sheet->row_titles_visible) clip_area.x = 0; if(!sheet->column_titles_visible) clip_area.y = 0; if(area.x<0) { area.width=area.width+area.x; area.x=0; } if(area.width>clip_area.width) area.width=clip_area.width+10; if(area.y<0) { area.height=area.height+area.y; area.y=0; } if(area.height>clip_area.height) area.height=clip_area.height+10; clip_area.x--; clip_area.y--; clip_area.width+=3; clip_area.height+=3; gdk_gc_get_values(sheet->xor_gc, &values); gdk_gc_set_clip_rectangle(sheet->xor_gc, &clip_area); for(i=-1;i<=1;i++) gdk_draw_rectangle(sheet->sheet_window, sheet->xor_gc, FALSE, area.x+i, area.y+i, area.width-2*i, area.height-2*i); gdk_gc_set_clip_rectangle(sheet->xor_gc, NULL); gdk_gc_set_foreground(sheet->xor_gc, &values.foreground); } /* this function returns the new width of the column being resized given * the column and x position of the cursor; the x cursor position is passed * in as a pointer and automaticaly corrected if it's beyond min/max limits */ static guint new_column_width (GtkSheet * sheet, gint column, gint * x) { gint cx, width; GtkRequisition requisition; cx = *x; requisition.width = sheet->column[column].requisition; /* you can't shrink a column to less than its minimum width */ if (cx < COLUMN_LEFT_XPIXEL (sheet, column) + requisition.width) { *x = cx = COLUMN_LEFT_XPIXEL (sheet, column) + requisition.width; } /* don't grow past the end of the window */ /* if (cx > sheet->sheet_window_width) { *x = cx = sheet->sheet_window_width; } */ /* calculate new column width making sure it doesn't end up * less than the minimum width */ width = cx - COLUMN_LEFT_XPIXEL (sheet, column); if (width < requisition.width) width = requisition.width; sheet->column[column].width = width; gtk_sheet_recalc_left_xpixels(sheet, column+1); sheet->view.coli=COLUMN_FROM_XPIXEL(sheet, sheet->sheet_window_width); size_allocate_column_title_buttons (sheet); return width; } /* this function returns the new height of the row being resized given * the row and y position of the cursor; the y cursor position is passed * in as a pointer and automaticaly corrected if it's beyond min/max limits */ static guint new_row_height (GtkSheet * sheet, gint row, gint * y) { GtkRequisition requisition; gint cy, height; cy = *y; requisition.height = sheet->row[row].requisition; /* you can't shrink a row to less than its minimum height */ if (cy < ROW_TOP_YPIXEL (sheet, row) + requisition.height) { *y = cy = ROW_TOP_YPIXEL (sheet, row) + requisition.height; } /* don't grow past the end of the window */ /* if (cy > sheet->sheet_window_height) { *y = cy = sheet->sheet_window_height; } */ /* calculate new row height making sure it doesn't end up * less than the minimum height */ height = (cy - ROW_TOP_YPIXEL (sheet, row)); if (height < requisition.height) height = requisition.height; sheet->row[row].height = height; gtk_sheet_recalc_top_ypixels(sheet, row); sheet->view.rowi=ROW_FROM_YPIXEL(sheet, sheet->sheet_window_height-1); size_allocate_row_title_buttons (sheet); return height; } void gtk_sheet_set_column_width (GtkSheet * sheet, gint column, guint width) { guint min_width; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (column < 0 || column > sheet->maxcol) return; gtk_sheet_column_size_request(sheet, column, &min_width); if(width < min_width) return; sheet->column[column].width = width; gtk_sheet_recalc_left_xpixels(sheet, column+1); if (gtk_widget_get_realized (GTK_WIDGET (sheet)) && !GTK_SHEET_IS_FROZEN (sheet)) { size_allocate_column_title_buttons (sheet); adjust_scrollbars (sheet); gtk_sheet_size_allocate_entry(sheet); gtk_sheet_range_draw (sheet, NULL); } else g_signal_emit (sheet, sheet_signals[CHANGED], 0, -1, column); g_signal_emit (sheet, sheet_signals[NEW_COL_WIDTH], 0, column, width); } void gtk_sheet_set_row_height (GtkSheet * sheet, gint row, guint height) { guint min_height; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (row < 0 || row > sheet->maxrow) return; gtk_sheet_row_size_request(sheet, row, &min_height); if(height < min_height) return; sheet->row[row].height = height; gtk_sheet_recalc_top_ypixels(sheet, row+1); if (gtk_widget_get_realized (GTK_WIDGET(sheet)) && !GTK_SHEET_IS_FROZEN (sheet)) { size_allocate_row_title_buttons (sheet); adjust_scrollbars (sheet); gtk_sheet_size_allocate_entry(sheet); gtk_sheet_range_draw (sheet, NULL); } g_signal_emit (sheet, sheet_signals[CHANGED], 0, row, -1); g_signal_emit (sheet, sheet_signals[NEW_ROW_HEIGHT], 0, row, height); } void gtk_sheet_add_column(GtkSheet *sheet, guint ncols) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); AddColumn(sheet, ncols); if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) { return; } adjust_scrollbars(sheet); if(sheet->state==GTK_SHEET_ROW_SELECTED) sheet->range.coli+=ncols; sheet->old_hadjustment = -1.; if (!GTK_SHEET_IS_FROZEN (sheet) && sheet->hadjustment) { g_signal_emit_by_name (sheet->hadjustment, "value_changed"); } } void gtk_sheet_add_row(GtkSheet *sheet, guint nrows) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); AddRow(sheet, nrows); if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) { return; } if(sheet->state==GTK_SHEET_COLUMN_SELECTED) sheet->range.rowi+=nrows; adjust_scrollbars(sheet); sheet->old_vadjustment = -1.; if (!GTK_SHEET_IS_FROZEN (sheet) && sheet->vadjustment) { g_signal_emit_by_name (sheet->vadjustment, "value_changed"); } } void gtk_sheet_insert_rows(GtkSheet *sheet, guint row, guint nrows) { GList *children; GtkSheetChild *child; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (gtk_widget_get_realized (GTK_WIDGET (sheet))) { gtk_sheet_real_unselect_range(sheet, NULL); } InsertRow(sheet, row, nrows); children = sheet->children; while(children) { child = (GtkSheetChild *)children->data; if (child->attached_to_cell && (child->row >= (gint) row)) { child->row += nrows; } children = g_list_next(children); } if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) { return; } if(sheet->state==GTK_SHEET_COLUMN_SELECTED) sheet->range.rowi+=nrows; adjust_scrollbars(sheet); sheet->old_vadjustment = -1.; if (!GTK_SHEET_IS_FROZEN (sheet) && sheet->vadjustment) { g_signal_emit_by_name (sheet->vadjustment, "value_changed"); } } void gtk_sheet_insert_columns(GtkSheet *sheet, guint col, guint ncols) { GList *children; GtkSheetChild *child; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if (gtk_widget_get_realized (GTK_WIDGET (sheet))) { gtk_sheet_real_unselect_range(sheet, NULL); } InsertColumn(sheet, col, ncols); children = sheet->children; while(children) { child = (GtkSheetChild *)children->data; if (child->attached_to_cell && (child->col >= (gint) col)) { child->col += ncols; } children = g_list_next(children); } if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) { return; } if(sheet->state==GTK_SHEET_ROW_SELECTED) sheet->range.coli+=ncols; adjust_scrollbars(sheet); sheet->old_hadjustment = -1.; if (!GTK_SHEET_IS_FROZEN (sheet) && sheet->hadjustment) { g_signal_emit_by_name (sheet->hadjustment, "value_changed"); } } void gtk_sheet_delete_rows(GtkSheet *sheet, guint row, guint nrows) { GList *children; GtkSheetChild *child; gint irow, icol; gboolean veto; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); nrows = MIN(nrows, sheet->maxrow-row+1); if (gtk_widget_get_realized (GTK_WIDGET (sheet))) { gtk_sheet_real_unselect_range(sheet, NULL); } DeleteRow(sheet, row, nrows); children = sheet->children; while(children) { child = (GtkSheetChild *)children->data; if (child->attached_to_cell && (child->row >= (gint) row) && (child->row < (gint) (row + nrows))) { gtk_container_remove(GTK_CONTAINER(sheet), child->widget); children = sheet->children; } else children = g_list_next(children); } children = sheet->children; while(children) { child = (GtkSheetChild *)children->data; if (child->attached_to_cell && (child->row > (gint) row)) { child->row -= nrows; } children = g_list_next(children); } if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) { return; } irow = sheet->active_cell.row; icol = sheet->active_cell.col; sheet->active_cell.row = -1; sheet->active_cell.col = -1; /* if(sheet->state == GTK_SHEET_ROW_SELECTED) */ irow = MIN(irow, sheet->maxrow); irow = MAX(irow, 0); gtk_sheet_click_cell(sheet, irow, icol, &veto); gtk_sheet_activate_cell(sheet, sheet->active_cell.row, sheet->active_cell.col); adjust_scrollbars(sheet); sheet->old_vadjustment = -1.; if (!GTK_SHEET_IS_FROZEN (sheet) && sheet->vadjustment) { g_signal_emit_by_name (sheet->vadjustment, "value_changed"); } } void gtk_sheet_delete_columns(GtkSheet *sheet, guint col, guint ncols) { GList *children; GtkSheetChild *child; gint irow, icol; gboolean veto; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); ncols = MIN(ncols, sheet->maxcol-col+1); if (gtk_widget_get_realized (GTK_WIDGET (sheet))) { gtk_sheet_real_unselect_range(sheet, NULL); } DeleteColumn(sheet, col, ncols); children = sheet->children; while(children) { child = (GtkSheetChild *)children->data; if (child->attached_to_cell && (child->col >= (gint) col) && (child->col < (gint) (col + ncols))) { gtk_container_remove(GTK_CONTAINER(sheet), child->widget); children = sheet->children; } else children = g_list_next(children); } children = sheet->children; while(children) { child = (GtkSheetChild *)children->data; if (child->attached_to_cell && child->col > (gint) col) child->col -= ncols; children = g_list_next(children); } if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) { return; } irow = sheet->active_cell.row; icol = sheet->active_cell.col; sheet->active_cell.row = -1; sheet->active_cell.col = -1; /* if(sheet->state == GTK_SHEET_COLUMN_SELECTED) */ icol = MIN(icol, sheet->maxcol); icol = MAX(icol, 0); gtk_sheet_click_cell(sheet, irow, icol, &veto); gtk_sheet_activate_cell(sheet, sheet->active_cell.row, sheet->active_cell.col); adjust_scrollbars(sheet); sheet->old_hadjustment = -1.; if (!GTK_SHEET_IS_FROZEN (sheet) && sheet->hadjustment) { g_signal_emit_by_name (sheet->hadjustment, "value_changed"); } } void gtk_sheet_range_set_background(GtkSheet *sheet, const GtkSheetRange *urange, const GdkColor *color) { gint i, j; GtkSheetCellAttr attributes; GtkSheetRange range; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!urange) range = sheet->range; else range = *urange; for (i=range.row0; i<=range.rowi; i++) for (j=range.col0; j<=range.coli; j++){ gtk_sheet_get_attributes(sheet, i, j, &attributes); if(color != NULL) attributes.background = *color; else attributes.background = sheet->bg_color; gtk_sheet_set_cell_attributes(sheet, i, j, attributes); } range.row0--; range.col0--; range.rowi++; range.coli++; if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, &range); } void gtk_sheet_range_set_foreground(GtkSheet *sheet, const GtkSheetRange *urange, const GdkColor *color) { gint i, j; GtkSheetCellAttr attributes; GtkSheetRange range; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!urange) range = sheet->range; else range = *urange; for (i=range.row0; i<=range.rowi; i++) for (j=range.col0; j<=range.coli; j++){ gtk_sheet_get_attributes(sheet, i, j, &attributes); if(color != NULL) attributes.foreground = *color; else gdk_color_black(gdk_colormap_get_system(), &attributes.foreground); gtk_sheet_set_cell_attributes(sheet, i, j, attributes); } if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, &range); } void gtk_sheet_range_set_justification(GtkSheet *sheet, const GtkSheetRange *urange, GtkJustification just) { gint i, j; GtkSheetCellAttr attributes; GtkSheetRange range; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!urange) range = sheet->range; else range = *urange; for (i=range.row0; i<=range.rowi; i++) for (j=range.col0; j<=range.coli; j++){ gtk_sheet_get_attributes(sheet, i, j, &attributes); attributes.justification = just; gtk_sheet_set_cell_attributes(sheet, i, j, attributes); } range.col0 = sheet->view.col0; range.coli = sheet->view.coli; if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, &range); } void gtk_sheet_column_set_justification(GtkSheet *sheet, gint col, GtkJustification justification) { g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(col > sheet->maxcol) return; sheet->column[col].justification = justification; if (gtk_widget_get_realized (GTK_WIDGET (sheet)) && !GTK_SHEET_IS_FROZEN (sheet) && col >= MIN_VISIBLE_COLUMN(sheet) && col <= MAX_VISIBLE_COLUMN(sheet)) gtk_sheet_range_draw(sheet, NULL); } void gtk_sheet_range_set_editable(GtkSheet *sheet, const GtkSheetRange *urange, gboolean editable) { gint i, j; GtkSheetCellAttr attributes; GtkSheetRange range; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!urange) range = sheet->range; else range = *urange; for (i=range.row0; i<=range.rowi; i++) for (j=range.col0; j<=range.coli; j++){ gtk_sheet_get_attributes(sheet, i, j, &attributes); attributes.is_editable = editable; gtk_sheet_set_cell_attributes(sheet, i, j, attributes); } if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, &range); } void gtk_sheet_range_set_visible(GtkSheet *sheet, const GtkSheetRange *urange, gboolean visible) { gint i, j; GtkSheetCellAttr attributes; GtkSheetRange range; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!urange) range = sheet->range; else range = *urange; for (i=range.row0; i<=range.rowi; i++) for (j=range.col0; j<=range.coli; j++){ gtk_sheet_get_attributes(sheet, i, j, &attributes); attributes.is_visible=visible; gtk_sheet_set_cell_attributes(sheet, i, j, attributes); } if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, &range); } void gtk_sheet_range_set_border(GtkSheet *sheet, const GtkSheetRange *urange, gint mask, guint width, gint line_style) { gint i, j; GtkSheetCellAttr attributes; GtkSheetRange range; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!urange) range = sheet->range; else range = *urange; for (i=range.row0; i<=range.rowi; i++) for (j=range.col0; j<=range.coli; j++){ gtk_sheet_get_attributes(sheet, i, j, &attributes); attributes.border.mask = mask; attributes.border.width = width; attributes.border.line_style = (GdkLineStyle) line_style; attributes.border.cap_style=GDK_CAP_NOT_LAST; attributes.border.join_style=GDK_JOIN_MITER; gtk_sheet_set_cell_attributes(sheet, i, j, attributes); } range.row0--; range.col0--; range.rowi++; range.coli++; if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, &range); } void gtk_sheet_range_set_border_color(GtkSheet *sheet, const GtkSheetRange *urange, const GdkColor *color) { gint i, j; GtkSheetCellAttr attributes; GtkSheetRange range; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!urange) range = sheet->range; else range = *urange; for (i=range.row0; i<=range.rowi; i++) for (j=range.col0; j<=range.coli; j++){ gtk_sheet_get_attributes(sheet, i, j, &attributes); attributes.border.color = *color; gtk_sheet_set_cell_attributes(sheet, i, j, attributes); } if(!GTK_SHEET_IS_FROZEN(sheet)) gtk_sheet_range_draw(sheet, &range); } void gtk_sheet_range_set_font(GtkSheet *sheet, const GtkSheetRange *urange, PangoFontDescription *font) { gint i, j; gint font_height; GtkSheetCellAttr attributes; GtkSheetRange range; PangoContext *context; PangoFontMetrics *metrics; g_return_if_fail (sheet != NULL); g_return_if_fail (GTK_IS_SHEET (sheet)); if(!urange) range = sheet->range; else range = *urange; gtk_sheet_freeze(sheet); context = gtk_widget_get_pango_context(GTK_WIDGET(sheet)); metrics = pango_context_get_metrics(context, font, pango_context_get_language(context)); font_height = pango_font_metrics_get_descent(metrics) + pango_font_metrics_get_ascent(metrics); font_height = PANGO_PIXELS(font_height) + 2*CELLOFFSET; for (i=range.row0; i<=range.rowi; i++) for (j=range.col0; j<=range.coli; j++){ gtk_sheet_get_attributes(sheet, i, j, &attributes); attributes.font_desc = font; if(font_height > sheet->row[i].height){ sheet->row[i].height = font_height; gtk_sheet_recalc_top_ypixels(sheet, i); } gtk_sheet_set_cell_attributes(sheet, i, j, attributes); } gtk_sheet_thaw(sheet); pango_font_metrics_unref(metrics); } static void gtk_sheet_set_cell_attributes(GtkSheet *sheet, gint row, gint col, GtkSheetCellAttr attributes) { GtkSheetCell **cell; if(row > sheet->maxrow || col >sheet->maxcol) return; CheckBounds(sheet, row, col); cell = &sheet->data[row][col]; if(*cell==NULL){ (*cell) = gtk_sheet_cell_new(); (*cell)->row = row; (*cell)->col = col; } if((*cell)->attributes == NULL) (*cell)->attributes = g_new(GtkSheetCellAttr, 1); *((*cell)->attributes) = attributes; } gboolean gtk_sheet_get_attributes(GtkSheet *sheet, gint row, gint col, GtkSheetCellAttr *attributes) { GtkSheetCell **cell = NULL; g_return_val_if_fail (sheet != NULL, FALSE); g_return_val_if_fail (GTK_IS_SHEET (sheet), FALSE); if(row < 0 || col < 0) return FALSE; if(row > sheet->maxallocrow || col > sheet->maxalloccol){ init_attributes(sheet, col, attributes); return FALSE; } if(row <= sheet->maxallocrow && col <= sheet->maxalloccol){ if(sheet->data[row] && sheet->data[row][col]) cell = &sheet->data[row][col]; if(cell == NULL || *cell == NULL){ init_attributes(sheet, col, attributes); return FALSE; } else if((*cell)->attributes == NULL){ init_attributes(sheet, col, attributes); return FALSE; }else{ *attributes = *(sheet->data[row][col]->attributes); if(sheet->column[col].justification != GTK_JUSTIFY_FILL) attributes->justification = sheet->column[col].justification; } } return TRUE; } static void init_attributes(GtkSheet *sheet, gint col, GtkSheetCellAttr *attributes) { /* DEFAULT VALUES */ attributes->foreground = GTK_WIDGET(sheet)->style->black; attributes->background = sheet->bg_color; if (!gtk_widget_get_realized (GTK_WIDGET (sheet))) { GdkColormap *colormap; colormap=gdk_colormap_get_system(); gdk_color_black(colormap, &attributes->foreground); attributes->background = sheet->bg_color; } attributes->justification = sheet->column[col].justification; attributes->border.width = 0; attributes->border.line_style = GDK_LINE_SOLID; attributes->border.cap_style = GDK_CAP_NOT_LAST; attributes->border.join_style = GDK_JOIN_MITER; attributes->border.mask = 0; attributes->border.color = GTK_WIDGET(sheet)->style->black; attributes->is_editable = TRUE; attributes->is_visible = TRUE; attributes->font = GTK_WIDGET(sheet)->style->private_font; attributes->font_desc = GTK_WIDGET(sheet)->style->font_desc; } /********************************************************************** * Memory allocation routines: * AddRow & AddColumn allocate memory for GtkSheetColumn & GtkSheetRow structs. * InsertRow * InsertColumn * DeleteRow * DeleteColumn * GrowSheet allocates memory for the sheet cells contents using an array of * pointers. Alternative to this could be a linked list or a hash table. * CheckBounds checks whether the given cell is currently allocated or not. * If not, it calls to GrowSheet. **********************************************************************/ static gint AddColumn(GtkSheet *tbl, gint ncols) { gint i; if(ncols == -1 && tbl->maxcol == 0) { ncols = 1; } else { tbl->maxcol += ncols; tbl->column = (GtkSheetColumn *)g_realloc(tbl->column,(tbl->maxcol+1)* sizeof(GtkSheetColumn)); } for(i=tbl->maxcol-ncols+1; i<= tbl->maxcol; i++){ tbl->column[i].width=DEFAULT_COLUMN_WIDTH; tbl->column[i].button.label=NULL; tbl->column[i].button.child=NULL; tbl->column[i].button.state=GTK_STATE_NORMAL; tbl->column[i].button.justification=GTK_JUSTIFY_CENTER; tbl->column[i].button.label_visible = TRUE; tbl->column[i].name=NULL; tbl->column[i].is_visible=TRUE; tbl->column[i].is_sensitive=TRUE; tbl->column[i].left_text_column=i; tbl->column[i].right_text_column=i; tbl->column[i].justification=GTK_JUSTIFY_FILL; tbl->column[i].requisition=DEFAULT_COLUMN_WIDTH; if(i>0) { tbl->column[i].left_text_column=tbl->column[i-1].left_text_column; tbl->column[i].left_xpixel=tbl->column[i-1].left_xpixel + tbl->column[i-1].width; } else { tbl->column[i].left_xpixel=tbl->row_title_area.width; if(!tbl->row_titles_visible) tbl->column[i].left_xpixel=0; } } return TRUE; } static gint AddRow(GtkSheet *tbl, gint nrows) { gint i; if(nrows == -1 && tbl->maxrow == 0) { nrows = 1; } else { tbl->maxrow += nrows; tbl->row = (GtkSheetRow *)g_realloc(tbl->row,(tbl->maxrow+1)* sizeof(GtkSheetRow)); } for(i=tbl->maxrow-nrows+1; i<= tbl->maxrow; i++){ tbl->row[i].requisition=tbl->row[i].height=DEFAULT_ROW_HEIGHT(GTK_WIDGET(tbl)); tbl->row[i].button.label=NULL; tbl->row[i].button.child=NULL; tbl->row[i].button.state=GTK_STATE_NORMAL; tbl->row[i].button.justification=GTK_JUSTIFY_CENTER; tbl->row[i].button.label_visible = TRUE; tbl->row[i].name=NULL; tbl->row[i].is_visible=TRUE; tbl->row[i].is_sensitive=TRUE; if(i>0) tbl->row[i].top_ypixel=tbl->row[i-1].top_ypixel+tbl->row[i-1].height; else { tbl->row[i].top_ypixel=tbl->column_title_area.height; if(!tbl->column_titles_visible) tbl->row[i].top_ypixel=0; } } return TRUE; } static gint InsertRow(GtkSheet *tbl, gint row, gint nrows) { GtkSheetCell **pp; gint i,j; GtkSheetCell **auxdata; GtkSheetRow auxrow; AddRow(tbl,nrows); for(i=tbl->maxrow; i>=row+nrows; i--){ auxrow = tbl->row[i]; tbl->row[i]=tbl->row[i-nrows]; tbl->row[i].is_visible=tbl->row[i-nrows].is_visible; tbl->row[i].is_sensitive=tbl->row[i-nrows].is_sensitive; if(auxrow.is_visible) tbl->row[i].top_ypixel+=nrows*DEFAULT_ROW_HEIGHT(GTK_WIDGET(tbl)); tbl->row[i-nrows]=auxrow; } if(row <= tbl->maxallocrow){ GrowSheet(tbl,nrows,0); for(i=tbl->maxallocrow; i>=row+nrows; i--){ auxdata = tbl->data[i]; tbl->data[i]=tbl->data[i-nrows]; pp= tbl->data[i]; for(j=0; j<=tbl->maxalloccol; j++,pp++){ if(*pp!=(GtkSheetCell *)NULL) (*pp)->row=i; } tbl->data[i-nrows]=auxdata; } } gtk_sheet_recalc_top_ypixels(tbl, 0); return TRUE; } static gint InsertColumn(GtkSheet *tbl, gint col, gint ncols) { gint i,j; GtkSheetColumn auxcol; AddColumn(tbl,ncols); for(i=tbl->maxcol; i>=col+ncols; i--){ auxcol = tbl->column[i]; tbl->column[i]=tbl->column[i-ncols]; tbl->column[i].is_visible=tbl->column[i-ncols].is_visible; tbl->column[i].is_sensitive=tbl->column[i-ncols].is_sensitive; tbl->column[i].left_text_column=tbl->column[i-ncols].left_text_column; tbl->column[i].right_text_column=tbl->column[i-ncols].right_text_column; tbl->column[i].justification=tbl->column[i-ncols].justification; if(auxcol.is_visible) tbl->column[i].left_xpixel+=ncols*DEFAULT_COLUMN_WIDTH; tbl->column[i-ncols]=auxcol; } if(col <= tbl->maxalloccol){ GrowSheet(tbl,0,ncols); for(i=0; i<=tbl->maxallocrow; i++){ for(j=tbl->maxalloccol; j>=col+ncols; j--){ gtk_sheet_real_cell_clear(tbl, i, j, TRUE); tbl->data[i][j]=tbl->data[i][j-ncols]; if(tbl->data[i][j]) tbl->data[i][j]->col=j; tbl->data[i][j-ncols]=NULL; } } } gtk_sheet_recalc_left_xpixels(tbl, 0); return TRUE; } static gint DeleteRow(GtkSheet *tbl, gint row, gint nrows) { GtkSheetCell **auxdata = NULL; gint i,j; if(nrows <= 0 || row > tbl->maxrow) return TRUE; nrows=MIN(nrows,tbl->maxrow-row+1); for(i=row; irow[i].name){ g_free(tbl->row[i].name); tbl->row[i].name = NULL; } if(tbl->row[i].button.label){ g_free(tbl->row[i].button.label); tbl->row[i].button.label = NULL; } } for(i=row; i<=tbl->maxrow-nrows; i++){ if(i+nrows <= tbl->maxrow){ tbl->row[i]=tbl->row[i+nrows]; } } if(row <= tbl->maxallocrow){ for(i=row; i<=tbl->maxrow-nrows; i++){ if(i<=tbl->maxallocrow){ auxdata=tbl->data[i]; for(j=0; j<=tbl->maxalloccol; j++){ gtk_sheet_real_cell_clear(tbl, i, j, TRUE); } } if(i+nrows<=tbl->maxallocrow){ tbl->data[i]=tbl->data[i+nrows]; tbl->data[i+nrows]=auxdata; for(j=0; j<=tbl->maxalloccol; j++){ if(tbl->data[i][j]) tbl->data[i][j]->row=i; } } } for(i=tbl->maxrow-nrows+1; i<=tbl->maxallocrow; i++){ if(i > 0 && tbl->data[i]){ g_free(tbl->data[i]); tbl->data[i] = NULL; } } tbl->maxallocrow-=MIN(nrows,tbl->maxallocrow-row+1); tbl->maxallocrow = MIN(tbl->maxallocrow, tbl->maxrow); } tbl->maxrow-=nrows; gtk_sheet_recalc_top_ypixels(tbl, 0); return TRUE; } static gint DeleteColumn(GtkSheet *tbl, gint column, gint ncols) { gint i,j; ncols = MIN(ncols,tbl->maxcol-column+1); if(ncols <= 0 || column > tbl->maxcol) return TRUE; for(i=column; icolumn[i].name){ g_free(tbl->column[i].name); tbl->column[i].name = NULL; } if(tbl->column[i].button.label){ g_free(tbl->column[i].button.label); tbl->column[i].button.label = NULL; } } for(i=column; i<=tbl->maxcol-ncols; i++){ if(i+ncols <= tbl->maxcol){ tbl->column[i]=tbl->column[i+ncols]; } } if(column <= tbl->maxalloccol){ for(i=column; i<=tbl->maxcol-ncols; i++){ if(i<=tbl->maxalloccol){ for(j=0; j<=tbl->maxallocrow; j++){ gtk_sheet_real_cell_clear(tbl, j, i, TRUE); if(i+ncols <= tbl->maxalloccol){ tbl->data[j][i] = tbl->data[j][i+ncols]; tbl->data[j][i+ncols] = NULL; if(tbl->data[j][i]) tbl->data[j][i]->col=i; } } } } tbl->maxalloccol-=MIN(ncols,tbl->maxalloccol-column+1); tbl->maxalloccol = MIN(tbl->maxalloccol, tbl->maxcol); } tbl->maxcol-=ncols; gtk_sheet_recalc_left_xpixels(tbl, 0); return TRUE; } static gint GrowSheet(GtkSheet *tbl, gint newrows, gint newcols) { gint i,j; gint inirow, inicol; inirow = tbl->maxallocrow + 1; inicol = tbl->maxalloccol + 1; tbl->maxalloccol = tbl->maxalloccol + newcols; tbl->maxallocrow = tbl->maxallocrow + newrows; if(newrows>0){ tbl->data = (GtkSheetCell***) g_realloc(tbl->data,(tbl->maxallocrow+1)*sizeof(GtkSheetCell **)+sizeof(double)); for(i=inirow; i <= tbl->maxallocrow; i++){ tbl->data[i] = (GtkSheetCell **) \ g_malloc((tbl->maxcol+1)*sizeof(GtkSheetCell *)+sizeof(double)); for(j=0; jdata[i][j] = NULL; } } } if(newcols>0){ for(i=0; i <= tbl->maxallocrow; i++) { tbl->data[i] = (GtkSheetCell **) \ g_realloc(tbl->data[i],(tbl->maxalloccol+1)*sizeof(GtkSheetCell *)+sizeof(double)); for(j=inicol; j <= tbl->maxalloccol; j++) { tbl->data[i][j] = NULL; } } } return(0); } static gint CheckBounds(GtkSheet *tbl, gint row, gint col) { gint newrows=0,newcols=0; if(col>tbl->maxalloccol) newcols=col-tbl->maxalloccol; if(row>tbl->maxallocrow) newrows=row-tbl->maxallocrow; if(newrows>0 || newcols>0) GrowSheet(tbl, newrows, newcols); return(0); } /******************************************************************** * Container Functions: * gtk_sheet_add * gtk_sheet_put * gtk_sheet_attach * gtk_sheet_remove * gtk_sheet_move_child * gtk_sheet_position_child * gtk_sheet_position_children * gtk_sheet_realize_child * gtk_sheet_get_child_at ********************************************************************/ GtkSheetChild * gtk_sheet_put(GtkSheet *sheet, GtkWidget *child, gint x, gint y) { GtkRequisition child_requisition; GtkSheetChild *child_info; g_return_val_if_fail(sheet != NULL, NULL); g_return_val_if_fail(GTK_IS_SHEET(sheet), NULL); g_return_val_if_fail(child != NULL, NULL); g_return_val_if_fail(child->parent == NULL, NULL); child_info = g_new (GtkSheetChild, 1); child_info->widget = child; child_info->x = x; child_info->y = y; child_info->attached_to_cell = FALSE; child_info->floating = TRUE; child_info->xpadding = child_info->ypadding = 0; child_info->xexpand = child_info->yexpand = FALSE; child_info->xshrink = child_info->yshrink = FALSE; child_info->xfill = child_info->yfill = FALSE; sheet->children = g_list_append(sheet->children, child_info); gtk_widget_set_parent (child, GTK_WIDGET(sheet)); gtk_widget_size_request(child, &child_requisition); if (gtk_widget_get_visible (GTK_WIDGET (sheet))) { if (gtk_widget_get_realized (GTK_WIDGET (sheet)) && (!gtk_widget_get_realized (child) || !gtk_widget_get_has_window (child))) { gtk_sheet_realize_child(sheet, child_info); } if (gtk_widget_get_mapped (GTK_WIDGET (sheet)) && !gtk_widget_get_mapped (child)) { gtk_widget_map(child); } } gtk_sheet_position_child(sheet, child_info); /* This will avoid drawing on the titles */ if (gtk_widget_get_realized (GTK_WIDGET (sheet))) { if(sheet->row_titles_visible) gdk_window_show(sheet->row_title_window); if(sheet->column_titles_visible) gdk_window_show(sheet->column_title_window); } return (child_info); } void gtk_sheet_attach_floating (GtkSheet *sheet, GtkWidget *widget, gint row, gint col) { GdkRectangle area; GtkSheetChild *child; if(row < 0 || col < 0){ gtk_sheet_button_attach(sheet, widget, row, col); return; } gtk_sheet_get_cell_area(sheet, row, col, &area); child = gtk_sheet_put(sheet, widget, area.x, area.y); child->attached_to_cell = TRUE; child->row = row; child->col = col; } void gtk_sheet_attach_default (GtkSheet *sheet, GtkWidget *widget, gint row, gint col) { if(row < 0 || col < 0){ gtk_sheet_button_attach(sheet, widget, row, col); return; } gtk_sheet_attach(sheet, widget, row, col, GTK_EXPAND|GTK_FILL, GTK_EXPAND|GTK_FILL, 0, 0); } void gtk_sheet_attach (GtkSheet *sheet, GtkWidget *widget, gint row, gint col, gint xoptions, gint yoptions, gint xpadding, gint ypadding) { GdkRectangle area; GtkSheetChild *child = NULL; if(row < 0 || col < 0){ gtk_sheet_button_attach(sheet, widget, row, col); return; } child = g_new0(GtkSheetChild, 1); child->attached_to_cell = TRUE; child->floating = FALSE; child->widget = widget; child->row = row; child->col = col; child->xpadding = xpadding; child->ypadding = ypadding; child->xexpand = (xoptions & GTK_EXPAND) != 0; child->yexpand = (yoptions & GTK_EXPAND) != 0; child->xshrink = (xoptions & GTK_SHRINK) != 0; child->yshrink = (yoptions & GTK_SHRINK) != 0; child->xfill = (xoptions & GTK_FILL) != 0; child->yfill = (yoptions & GTK_FILL) != 0; sheet->children = g_list_append(sheet->children, child); gtk_sheet_get_cell_area(sheet, row, col, &area); child->x = area.x + child->xpadding; child->y = area.y + child->ypadding; if (gtk_widget_get_visible (GTK_WIDGET (sheet))) { if (gtk_widget_get_realized (GTK_WIDGET (sheet)) && (!gtk_widget_get_realized (widget) || !gtk_widget_get_has_window (widget))) { gtk_sheet_realize_child(sheet, child); } if (gtk_widget_get_mapped (GTK_WIDGET (sheet)) && !gtk_widget_get_mapped (widget)) { gtk_widget_map(widget); } } gtk_sheet_position_child(sheet, child); /* This will avoid drawing on the titles */ if (gtk_widget_get_realized (GTK_WIDGET (sheet))) { if(GTK_SHEET_ROW_TITLES_VISIBLE(sheet)) gdk_window_show(sheet->row_title_window); if(GTK_SHEET_COL_TITLES_VISIBLE(sheet)) gdk_window_show(sheet->column_title_window); } } void gtk_sheet_button_attach (GtkSheet *sheet, GtkWidget *widget, gint row, gint col) { GtkSheetButton *button; GtkSheetChild *child; GtkRequisition button_requisition; if(row >= 0 && col >= 0) return; if(row < 0 && col < 0) return; child = g_new (GtkSheetChild, 1); child->widget = widget; child->x = 0; child->y = 0; child->attached_to_cell = TRUE; child->floating = FALSE; child->row = row; child->col = col; child->xpadding = child->ypadding = 0; child->xshrink = child->yshrink = FALSE; child->xfill = child->yfill = FALSE; if(row == -1){ button = &sheet->column[col].button; button->child = child; } else { button = &sheet->row[row].button; button->child = child; } sheet->children = g_list_append(sheet->children, child); gtk_sheet_button_size_request(sheet, button, &button_requisition); if(row == -1){ if(button_requisition.height > sheet->column_title_area.height) sheet->column_title_area.height = button_requisition.height; if(button_requisition.width > sheet->column[col].width) sheet->column[col].width = button_requisition.width; } if(col == -1){ if(button_requisition.width > sheet->row_title_area.width) sheet->row_title_area.width = button_requisition.width; if(button_requisition.height > sheet->row[row].height) sheet->row[row].height = button_requisition.height; } if (gtk_widget_get_visible (GTK_WIDGET (sheet))) { if (gtk_widget_get_realized (GTK_WIDGET (sheet)) && (!gtk_widget_get_realized (widget) || !gtk_widget_get_has_window (widget))) { gtk_sheet_realize_child(sheet, child); } if (gtk_widget_get_mapped (GTK_WIDGET (sheet)) && !gtk_widget_get_mapped (widget)) { gtk_widget_map(widget); } } if(row == -1) size_allocate_column_title_buttons(sheet); if(col == -1) size_allocate_row_title_buttons(sheet); } static void label_size_request(GtkSheet *sheet, gchar *label, GtkRequisition *req) { gchar *words; gchar word[1000]; gint n = 0; gint row_height = DEFAULT_ROW_HEIGHT(GTK_WIDGET(sheet)) - 2*CELLOFFSET + 2; req->height = 0; req->width = 0; words=label; while(words && *words != '\0'){ if(*words == '\n' || *(words+1) == '\0'){ req->height += row_height; word[n] = '\0'; req->width = MAX (req->width, (gint) STRING_WIDTH (GTK_WIDGET (sheet), GTK_WIDGET (sheet)->style->font_desc, word)); n = 0; } else { word[n++] = *words; } words++; } if(n > 0) req->height -= 2; } static void gtk_sheet_button_size_request (GtkSheet *sheet, GtkSheetButton *button, GtkRequisition *button_requisition) { GtkRequisition requisition; GtkRequisition label_requisition; if(gtk_sheet_autoresize(sheet) && button->label && strlen(button->label) > 0){ label_size_request(sheet, button->label, &label_requisition); label_requisition.width += 2*CELLOFFSET; label_requisition.height += 2*CELLOFFSET; } else { label_requisition.height = DEFAULT_ROW_HEIGHT(GTK_WIDGET(sheet)); label_requisition.width = COLUMN_MIN_WIDTH; } if(button->child) { gtk_widget_size_request(button->child->widget, &requisition); requisition.width += 2*button->child->xpadding; requisition.height += 2*button->child->ypadding; requisition.width += 2*sheet->button->style->xthickness; requisition.height += 2*sheet->button->style->ythickness; } else { requisition.height = DEFAULT_ROW_HEIGHT(GTK_WIDGET(sheet)); requisition.width = COLUMN_MIN_WIDTH; } *button_requisition = requisition; button_requisition->width = MAX(requisition.width, label_requisition.width); button_requisition->height = MAX(requisition.height, label_requisition.height); } static void gtk_sheet_row_size_request (GtkSheet *sheet, gint row, guint *requisition) { GtkRequisition button_requisition; GList *children; gtk_sheet_button_size_request(sheet, &sheet->row[row].button, &button_requisition); *requisition = button_requisition.height; children = sheet->children; while(children){ GtkSheetChild *child = (GtkSheetChild *)children->data; GtkRequisition child_requisition; if(child->attached_to_cell && child->row == row && child->col != -1 && !child->floating && !child->yshrink){ gtk_widget_get_child_requisition(child->widget, &child_requisition); if (child_requisition.height + 2 * child->ypadding > (gint) (*requisition)) *requisition = child_requisition.height + 2 * child->ypadding; } children = g_list_next(children); } sheet->row[row].requisition = *requisition; } static void gtk_sheet_column_size_request (GtkSheet *sheet, gint col, guint *requisition) { GtkRequisition button_requisition; GList *children; gtk_sheet_button_size_request(sheet, &sheet->column[col].button, &button_requisition); *requisition = button_requisition.width; children = sheet->children; while(children){ GtkSheetChild *child = (GtkSheetChild *)children->data; GtkRequisition child_requisition; if(child->attached_to_cell && child->col == col && child->row != -1 && !child->floating && !child->xshrink){ gtk_widget_get_child_requisition(child->widget, &child_requisition); if (child_requisition.width + 2 * child->xpadding > (gint) (*requisition)) *requisition = child_requisition.width + 2 * child->xpadding; } children = g_list_next(children); } sheet->column[col].requisition = *requisition; } void gtk_sheet_move_child(GtkSheet *sheet, GtkWidget *widget, gint x, gint y) { GtkSheetChild *child; GList *children; g_return_if_fail(sheet != NULL); g_return_if_fail(GTK_IS_SHEET(sheet)); children = sheet->children; while(children) { child = (GtkSheetChild*) children->data; if(child->widget == widget){ child->x = x; child->y = y; child->row = ROW_FROM_YPIXEL(sheet, y); child->col = COLUMN_FROM_XPIXEL(sheet, x); gtk_sheet_position_child(sheet, child); return; } children = g_list_next(children); } g_warning(_("Widget must be a GtkSheet child")); } static void gtk_sheet_position_child(GtkSheet *sheet, GtkSheetChild *child) { GtkRequisition child_requisition; GtkAllocation child_allocation; gint xoffset = 0; gint yoffset = 0; GdkRectangle area; gtk_widget_get_child_requisition(child->widget, &child_requisition); if(sheet->column_titles_visible) yoffset = sheet->column_title_area.height; if(sheet->row_titles_visible) xoffset = sheet->row_title_area.width; if(child->attached_to_cell){ /* child->x = COLUMN_LEFT_XPIXEL(sheet, child->col); child->y = ROW_TOP_YPIXEL(sheet, child->row); if(sheet->row_titles_visible) child->x-=sheet->row_title_area.width; if(sheet->column_titles_visible) child->y-=sheet->column_title_area.height; width = sheet->column[child->col].width; height = sheet->row[child->row].height; */ gtk_sheet_get_cell_area(sheet, child->row, child->col, &area); child->x = area.x + child->xpadding; child->y = area.y + child->ypadding; if(!child->floating){ if(child_requisition.width + 2*child->xpadding <= sheet->column[child->col].width){ if(child->xfill){ child_requisition.width = child_allocation.width = sheet->column[child->col].width - 2*child->xpadding; } else { if(child->xexpand){ child->x = area.x + sheet->column[child->col].width / 2 - child_requisition.width / 2; } child_allocation.width = child_requisition.width; } } else { if(!child->xshrink){ gtk_sheet_set_column_width(sheet, child->col, child_requisition.width + 2 * child->xpadding); } child_allocation.width = sheet->column[child->col].width - 2*child->xpadding; } if(child_requisition.height + 2*child->ypadding <= sheet->row[child->row].height){ if(child->yfill){ child_requisition.height = child_allocation.height = sheet->row[child->row].height - 2*child->ypadding; } else { if(child->yexpand){ child->y = area.y + sheet->row[child->row].height / 2 - child_requisition.height / 2; } child_allocation.height = child_requisition.height; } } else { if(!child->yshrink){ gtk_sheet_set_row_height(sheet, child->row, child_requisition.height + 2 * child->ypadding); } child_allocation.height = sheet->row[child->row].height - 2*child->ypadding; } } else { child_allocation.width = child_requisition.width; child_allocation.height = child_requisition.height; } } else { child_allocation.x = child->x + sheet->hoffset + xoffset; child_allocation.x = child->x + xoffset; child_allocation.y = child->y + sheet->voffset + yoffset; child_allocation.y = child->y + yoffset; child_allocation.width = child_requisition.width; child_allocation.height = child_requisition.height; } gtk_widget_size_allocate(child->widget, &child_allocation); gtk_widget_queue_draw(child->widget); } static void gtk_sheet_forall (GtkContainer *container, gboolean include_internals, GtkCallback callback, gpointer callback_data) { GtkSheet *sheet; GtkSheetChild *child; GList *children; g_return_if_fail (GTK_IS_SHEET (container)); g_return_if_fail (callback != NULL); sheet = GTK_SHEET (container); children = sheet->children; while (children) { child = (GtkSheetChild*) children->data; children = g_list_next(children); (* callback) (child->widget, callback_data); } if(sheet->button) (* callback) (sheet->button, callback_data); if(sheet->sheet_entry) (* callback) (sheet->sheet_entry, callback_data); } static void gtk_sheet_position_children(GtkSheet *sheet) { GList *children; GtkSheetChild *child; children = sheet->children; while(children) { child = (GtkSheetChild *)children->data; if(child->col !=-1 && child->row != -1) gtk_sheet_position_child(sheet, child); if(child->row == -1){ if(child->col < MIN_VISIBLE_COLUMN(sheet) || child->col > MAX_VISIBLE_COLUMN(sheet)) gtk_sheet_child_hide(child); else gtk_sheet_child_show(child); } if(child->col == -1){ if(child->row < MIN_VISIBLE_ROW(sheet) || child->row > MAX_VISIBLE_ROW(sheet)) gtk_sheet_child_hide(child); else gtk_sheet_child_show(child); } children = g_list_next(children); } } static void gtk_sheet_remove (GtkContainer *container, GtkWidget *widget) { GtkSheet *sheet; GList *children; GtkSheetChild *child = 0; g_return_if_fail(container != NULL); g_return_if_fail(GTK_IS_SHEET(container)); sheet = GTK_SHEET(container); children = sheet->children; while(children) { child = (GtkSheetChild *)children->data; if(child->widget == widget) break; children = g_list_next(children); } if (children) { if(child->row == -1) sheet->row[child->col].button.child = NULL; if(child->col == -1) sheet->column[child->row].button.child = NULL; gtk_widget_unparent (widget); child->widget = NULL; sheet->children = g_list_remove_link (sheet->children, children); g_list_free_1 (children); g_free(child); } } static void gtk_sheet_realize_child(GtkSheet *sheet, GtkSheetChild *child) { GtkWidget *widget; widget = GTK_WIDGET(sheet); if (gtk_widget_get_realized (widget)) { if(child->row == -1) gtk_widget_set_parent_window(child->widget, sheet->column_title_window); else if(child->col == -1) gtk_widget_set_parent_window(child->widget, sheet->row_title_window); else gtk_widget_set_parent_window(child->widget, sheet->sheet_window); } gtk_widget_set_parent(child->widget, widget); } GtkSheetChild * gtk_sheet_get_child_at(GtkSheet *sheet, gint row, gint col) { GList *children; GtkSheetChild *child = 0; g_return_val_if_fail(sheet != NULL, NULL); g_return_val_if_fail(GTK_IS_SHEET(sheet), NULL); children = sheet->children; while(children) { child = (GtkSheetChild *)children->data; if(child->attached_to_cell) if(child->row == row && child->col == col) break; children = g_list_next(children); } if(children) return child; return NULL; } static void gtk_sheet_child_hide(GtkSheetChild *child) { g_return_if_fail(child != NULL); gtk_widget_hide(child->widget); } static void gtk_sheet_child_show(GtkSheetChild *child) { g_return_if_fail(child != NULL); gtk_widget_show(child->widget); } lepton-eda-1.9.10/attrib/src/s_string_list.c0000644000175000017500000004373213634703632015676 00000000000000/* Lepton EDA attribute editor * Copyright (C) 2003-2010 Stuart D. Brorson. * Copyright (C) 2003-2013 gEDA Contributors * Copyright (C) 2017-2020 Lepton EDA Contributors * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*------------------------------------------------------------------*/ /*! \file * \brief Functions involved in manipulating the STRING_LIST * structure. * * This file holds functions involved in manipulating the STRING_LIST * structure. STRING_LIST is basically a linked list of strings * (text). * * \todo This could be implemented using an underlying GList * structure. The count parameter could also be eliminated - * either store it in the struct or preferably, calculate it * when needed - I don't think the speed penalty of traversing * the list is significant at all. GDE */ #include #include #ifdef HAVE_STRING_H #include #endif #include /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #include "../include/gettext.h" /*------------------------------------------------------------------*/ /*! \brief Return a pointer to a new STRING_LIST * * Returns a pointer to a new STRING_LIST struct. This list is empty. * \returns pointer to the new STRING_LIST struct. */ STRING_LIST *s_string_list_new() { STRING_LIST *local_string_list; local_string_list = (STRING_LIST*) g_malloc (sizeof (STRING_LIST)); local_string_list->data = NULL; local_string_list->next = NULL; local_string_list->prev = NULL; local_string_list->pos = -1; /* can look for this later . . . */ return local_string_list; } /*------------------------------------------------------------------*/ /*! \brief Duplicate a STRING_LIST * * Given a STRING_LIST, duplicate it and returns a pointer * to the new, duplicate list. * \param old_string_list pointer to the STRING_LIST to be duplicated * \returns a pointer to the duplicate STRING_LIST */ STRING_LIST *s_string_list_duplicate_string_list(STRING_LIST *old_string_list) { STRING_LIST *new_string_list; STRING_LIST *local_string_list; char *data; gint count; new_string_list = s_string_list_new(); if (old_string_list->data == NULL) /* This is an empty string list */ return new_string_list; local_string_list = old_string_list; while (local_string_list != NULL) { data = g_strdup(local_string_list->data); s_string_list_add_item(new_string_list, &count, data); g_free(data); local_string_list = local_string_list->next; } return new_string_list; } /*------------------------------------------------------------------*/ /*! \brief Add an item to a STRING_LIST * * Inserts the item into a STRING_LIST. * It first passes through the * list to make sure that there are no duplications. * \param list pointer to STRING_LIST to be added to. * \param count FIXME Don't know what this does - input or output? both? * \param item pointer to string to be added */ void s_string_list_add_item(STRING_LIST *list, int *count, char *item) { gchar *trial_item = NULL; STRING_LIST *prev; STRING_LIST *local_list; if (list == NULL) { fprintf (stderr, "s_string_list_add_item: "); fprintf (stderr, _("Tried to add to a NULL list.\n")); return; } /* First check to see if list is empty. Handle insertion of first item into empty list separately. (Is this necessary?) */ if (list->data == NULL) { #ifdef DEBUG printf ("s_string_list_add_item: "); printf ("About to place first item in list.\n"); #endif list->data = (gchar *) g_strdup(item); list->next = NULL; list->prev = NULL; /* this may have already been initialized. . . . */ list->pos = *count; /* This enumerates the pos on the list. Value is reset later by sorting. */ (*count)++; /* increment count to 1 */ return; } /* Otherwise, loop through list looking for duplicates */ prev = list; while (list != NULL) { trial_item = (gchar *) g_strdup(list->data); if (strcmp(trial_item, item) == 0) { /* Found item already in list. Just return. */ g_free(trial_item); return; } g_free(trial_item); prev = list; list = list->next; } /* If we are here, it's 'cause we didn't find the item pre-existing in the list. */ /* In this case, we insert it. */ local_list = (STRING_LIST *) g_malloc(sizeof(STRING_LIST)); /* allocate space for this list entry */ local_list->data = (gchar *) g_strdup(item); /* copy data into list */ local_list->next = NULL; local_list->prev = prev; /* point this item to last entry in old list */ prev->next = local_list; /* make last item in old list point to this one. */ local_list->pos = *count; /* This enumerates the pos on the list. Value is reset later by sorting. */ (*count)++; /* increment count */ /* list = local_list; */ return; } /*------------------------------------------------------------------*/ /*! \brief Delete an item from a STRING_LIST * * Deletes an item in a STRING_LIST. * \param list pointer to STRING_LIST * \param count pointer to count of items in list * \param item item to remove from list */ void s_string_list_delete_item(STRING_LIST **list, int *count, gchar *item) { gchar *trial_item = NULL; STRING_LIST *list_item; STRING_LIST *next_item = NULL; STRING_LIST *prev_item = NULL; /* First check to see if list is empty. If empty, spew error and return */ if ( (*list)->data == NULL) { fprintf (stderr, "s_string_list_delete_item: "); fprintf (stderr, _("Tried to remove item from empty list.\n")); return; } #ifdef DEBUG printf ("s_string_list_delete_item: "); printf ("About to delete item %s from list.\n", item); #endif /* Now loop through list looking for item */ list_item = (*list); while (list_item != NULL) { trial_item = (gchar *) g_strdup(list_item->data); #ifdef DEBUG printf ("s_string_list_delete_item: "); printf ("Matching item against trial item = %s from list.\n", trial_item); #endif if (strcmp(trial_item, item) == 0) { /* found item, now delete it. */ #ifdef DEBUG printf ("s_string_list_delete_item: "); printf ("Match found.\n"); #endif prev_item = list_item->prev; next_item = list_item->next; /* Check position in list */ if (next_item == NULL && prev_item == NULL) { /* pathological case of one item list. */ (*list) = NULL; } else if (next_item == NULL && prev_item != NULL) { /* at list's end */ prev_item->next = NULL; } else if (next_item != NULL && prev_item == NULL) { /* at list's beginning */ next_item->prev = NULL; (*list) = next_item; /* also need to fix pointer to list head */ /* g_free(list); */ } else { /* normal case of element in middle of list */ prev_item->next = next_item; next_item->prev = prev_item; } #ifdef DEBUG printf ("s_string_list_delete_item: "); printf ("Free list_item.\n"); #endif g_free(list_item); /* free current list item */ (*count)--; /* decrement count */ /* Do we need to re-number the list? */ #ifdef DEBUG printf ("s_string_list_delete_item: "); printf ("Free trial_item.\n"); #endif g_free(trial_item); /* free trial item before returning */ #ifdef DEBUG printf ("s_string_list_delete_item: "); printf ("Return.\n"); #endif return; } g_free(trial_item); list_item = list_item->next; } /* If we are here, it's 'cause we didn't find the item. * Spew error and return. */ fprintf (stderr, "s_string_list_delete_item:"); fprintf (stderr, _("Couldn't delete item %1$s\n"), item); return; } /*------------------------------------------------------------------*/ /*! \brief Detect item in list * * Look for item in the list. * * \param list pointer to the STRING_LIST struct * \param item string to search for * \returns 0 if absent, 1 if present */ int s_string_list_in_list(STRING_LIST *list, char *item) { gchar *trial_item = NULL; /* First check to see if list is empty. If empty, return * 0 automatically. (I probably don't need to handle this * separately.) */ if (list->data == NULL) { return 0; } /* Otherwise, loop through list looking for duplicates */ while (list != NULL) { trial_item = (gchar *) g_strdup(list->data); if (strcmp(trial_item, item) == 0) { /* Found item already in list. return 1. */ g_free(trial_item); return 1; } g_free(trial_item); list = list->next; } /* If we are here, it's 'cause we didn't find the item * pre-existing in the list. In this case, return 0 */ return 0; } /*------------------------------------------------------------------*/ /*! \brief Detect item in list * * Look for item in the list, and return the index (-1 if absent). * Intended to be a more useful variant of s_string_list_in_list. * * \param list pointer to the STRING_LIST struct * \param item string to search for * \returns -1 if absent, index number if present */ gint s_string_list_find_in_list(STRING_LIST *list, char *item) { gint index = 0; gchar *trial_item = NULL; /* First check to see if list is empty. If empty, return -1. */ if (list->data == NULL) { return -1; } /* Otherwise, loop through list looking for the item */ while (list != NULL) { trial_item = (gchar *) g_strdup(list->data); if (strcmp(trial_item, item) == 0) { /* Found item in list; return index. */ g_free(trial_item); return index; } g_free(trial_item); list = list->next; index++; } /* If we are here, it's 'cause we didn't find the item * pre-existing in the list. In this case, return -1 */ return -1; } /*------------------------------------------------------------------*/ /*! \brief Get an item from a STRING_LIST by index * * Returns the index'th item in the string list. * \param list pointer to STRING_LIST to get from * \param index index of item to return * \returns NULL if there is a problem otherwise a pointer to * the string. */ gchar *s_string_list_get_data_at_index(STRING_LIST *list, gint index) { gint i; STRING_LIST *local_item; /* First check to see if list is empty. If empty, return * NULL automatically. */ if (list->data == NULL) { return NULL; } local_item = list; for (i = 0 ; i < index ; i++) { if (local_item == NULL) { return NULL; } else { local_item = local_item->next; } } return local_item->data; } /*------------------------------------------------------------------*/ /*! \brief Sort the master component list * * Takes the master comp list * sheet_head->master_comp_list_head * and sorts it in this order: * * Right now it does nothing other than fill in the "position" * and "length" variables. */ void s_string_list_sort_master_comp_list() { int i = 0; STRING_LIST *local_list, *p; /* Here's where we do the sort. The sort is done using a fcn found on the web. */ local_list = sheet_head->master_comp_list_head; for (p=local_list; p; p=p->next) p->pos = 0; local_list = listsort(local_list, 0, 1); /* Do this after sorting is done. This resets the order of the individual items * in the list. */ while (local_list != NULL) { /* make sure item is not null */ local_list->pos = i; if (local_list->next != NULL) { i++; local_list = local_list->next; } else { break; /* leave loop *before* iterating to NULL EOL marker */ } } /* Now go to first item in local list and reassign list head to new first element */ while (local_list->prev != NULL) { local_list = local_list->prev; } sheet_head->master_comp_list_head = local_list; return; } /* This list overrides the alphanumeric sort. Attribs not found in this list are sorted as if they had a value of DEFAULT_ATTRIB_POS within this list, but alphanumerically relative to each other. */ static struct { const char *attrib; int pos; } certain_attribs[] = { {"device", 1}, {"footprint", 2}, {"value", 3}, {"symversion", 200} }; #define NUM_CERTAINS (sizeof(certain_attribs)/sizeof(certain_attribs[0])) #define DEFAULT_ATTRIB_POS 100 /*------------------------------------------------------------------*/ /*! \brief Sort the master component attribute list * * Take the master comp attrib list * sheet_head->master_comp_attrib_list_head * and sort it in this order: * * Right now it does nothing other than fill in the "position" * and "length" variables. */ void s_string_list_sort_master_comp_attrib_list() { int i = 0; STRING_LIST *local_list, *p; /* Here's where we do the sort */ local_list = sheet_head->master_comp_attrib_list_head; /* * Note that this sort is TBD -- it is more than just an alphabetic sort 'cause we want * certain attribs to go first. */ for (p=local_list; p; p=p->next) { int i; p->pos = DEFAULT_ATTRIB_POS; for (i=0; i < (gint) NUM_CERTAINS; i++) { if (p->data != NULL && (strcmp (certain_attribs[i].attrib, p->data) == 0)) { p->pos = certain_attribs[i].pos; break; } } } local_list = listsort(local_list, 0, 1); sheet_head->master_comp_attrib_list_head = local_list; /* Do this after sorting is done. This resets the order of the individual items * in the list. */ while (local_list != NULL) { local_list->pos = i; i++; local_list = local_list->next; } return; } /*------------------------------------------------------------------*/ /*! \brief Sort the master netlist * * This fcn takes the master net list * sheet_head->master_net_list_head * and sorts it in this order: * */ void s_string_list_sort_master_net_list() { int i = 0; STRING_LIST *local_list; /* Do this after sorting is done. This resets the order of the individual items * in the list. */ local_list = sheet_head->master_net_list_head; while (local_list != NULL) { local_list->pos = i; i++; local_list = local_list->next; } return; } /*------------------------------------------------------------------*/ /*! \brief Sort the master net attribute list * * Take the master net attribute list * sheet_head->master_net_attrib_list_head * and sort it in this order: * value, footprint, model-name, file, * */ /*------------------------------------------------------------------*/ void s_string_list_sort_master_net_attrib_list() { int i = 0; STRING_LIST *local_list; /* Do this after sorting is done. This resets the order of the individual items * in the list. */ local_list = sheet_head->master_net_attrib_list_head; while (local_list != NULL) { local_list->pos = i; i++; local_list = local_list->next; } return; } /*------------------------------------------------------------------*/ /*! \brief Sort the master pin list * * Take the master pin list * sheet_head->master_pin_list_head * and sorts it in this order: * * Right now it does nothing other than fill in the "position" * and "length" variables. */ /*------------------------------------------------------------------*/ void s_string_list_sort_master_pin_list() { int i = 0; STRING_LIST *local_list, *p; /* Here's where we do the sort. The sort is done using a fcn found on the web. */ local_list = sheet_head->master_pin_list_head; for (p=local_list; p; p=p->next) p->pos = 0; local_list = listsort(local_list, 0, 1); /* Do this after sorting is done. This resets the order of the individual items * in the list. */ while (local_list != NULL) { /* make sure item is not null */ local_list->pos = i; if (local_list->next != NULL) { i++; local_list = local_list->next; } else { break; /* leave loop *before* iterating to NULL EOL marker */ } } /* Now go to first item in local list and reassign list head to new first element */ while (local_list->prev != NULL) { local_list = local_list->prev; } sheet_head->master_pin_list_head = local_list; return; } /*------------------------------------------------------------------*/ /*! \brief Sort the master pin attribute list * * Takes the master pin attrib list * sheet_head->master_pin_attrib_list_head * and sorts it in this order: * * Right now it does nothing other than fill in the "position" * and "length" variables. */ /*------------------------------------------------------------------*/ void s_string_list_sort_master_pin_attrib_list() { int i = 0; STRING_LIST *local_list; /* Here's where we do the sort */ /* * Note that this sort is TBD -- it is more than just an alphabetic sort 'cause we want * certain attribs to go first. */ /* Do this after sorting is done. This resets the order of the individual items * in the list. */ local_list = sheet_head->master_pin_attrib_list_head; while (local_list != NULL) { local_list->pos = i; i++; local_list = local_list->next; } return; } lepton-eda-1.9.10/attrib/src/x_fileselect.c0000644000175000017500000002620213634703632015452 00000000000000/* gEDA - GPL Electronic Design Automation * gattrib -- gEDA component and net attribute manipulation using spreadsheet. * Copyright (C) 2003-2010 Stuart D. Brorson. * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*------------------------------------------------------------------*/ /*! \file * \brief Functions to display file open/save dialog box. * * This file holds fcns used to display the file open/save dialog box. * It was cloned from x_fileselect.c in gschem/src, and then hacked * by SDB for use in gattrib. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif /*------------------------------------------------------------------ * Includes required to run graphical widgets. *------------------------------------------------------------------*/ #include #include #include #include #include #include #include #include #ifdef HAVE_SYS_PARAM_H #include #endif #include #ifdef HAVE_UNISTD_H #include #endif #ifdef HAVE_STRING_H #include #endif /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #include "../include/gettext.h" /* ----- x_fileselect stuff begins here ----- */ /*------------------------------------------------------------------*/ /*! \brief Set up file filter for the file chooser * * This fcn creates and sets the file filter for the filechooser. * \param filechooser GtkFileChooser to set up */ static void x_fileselect_setup_filechooser_filters (GtkFileChooser *filechooser) { GtkFileFilter *filter; /* file filter for schematic files (*.sch) */ filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("Schematics")); gtk_file_filter_add_pattern (filter, "*.sch"); gtk_file_chooser_add_filter (filechooser, filter); /* file filter for symbol files (*.sym) */ filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("Symbols")); gtk_file_filter_add_pattern (filter, "*.sym"); gtk_file_chooser_add_filter (filechooser, filter); /* file filter for both symbol and schematic files (*.sym+*.sch) */ filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("Schematics and symbols")); gtk_file_filter_add_pattern (filter, "*.sym"); gtk_file_filter_add_pattern (filter, "*.sch"); gtk_file_chooser_add_filter (filechooser, filter); /* file filter that match any file */ filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("All files")); gtk_file_filter_add_pattern (filter, "*"); gtk_file_chooser_add_filter (filechooser, filter); } /*! \brief Open all files specified in the list. * * Open all files specified in the list. The caller is responsible for * freeing the strings and the list itself. * * The function updates the user interface. At the end of the function, * the toplevel's current page is set to the page of the last loaded page. * * \param [in] filenames list of files to be opened * \returns FALSE if any of the files could not be opened, TRUE otherwise */ gboolean x_fileselect_load_files (GSList *filenames) { GList *iter; PAGE *p_local; GSList *filename; /* iterate over selected files */ for (filename = filenames; filename != NULL; filename = g_slist_next (filename)) { gchar *string = (gchar*)filename->data; if (!quiet_mode) { s_log_message(_("Loading file [%1$s]"), string); } s_page_goto (pr_current, s_page_new (pr_current, string)); if(s_toplevel_read_page(pr_current, string) == 0) { fprintf(stderr, _("Couldn't load schematic [%1$s]\n"), string); return FALSE; } /* Now add all items found to the master lists */ s_sheet_data_add_master_comp_list_items (s_page_objects (pr_current->page_current)); s_sheet_data_add_master_comp_attrib_list_items (s_page_objects (pr_current->page_current)); #if 0 /* Note that this must be changed. We need to input the entire project * before doing anything with the nets because we need to first * determine where they are all connected! */ s_sheet_data_add_master_net_list_items (pr_current->page_current->object_list); s_sheet_data_add_master_net_attrib_list_items (pr_current->page_current->object_list); #endif s_sheet_data_add_master_pin_list_items (s_page_objects (pr_current->page_current)); s_sheet_data_add_master_pin_attrib_list_items (s_page_objects (pr_current->page_current)); } /* end of loop over files */ /* ---------- Sort the master lists ---------- */ s_string_list_sort_master_comp_list(); s_string_list_sort_master_comp_attrib_list(); #if 0 /* Note that this must be changed. We need to input the entire project * before doing anything with the nets because we need to first * determine where they are all connected! */ s_string_list_sort_master_net_list(); s_string_list_sort_master_net_attrib_list(); #endif s_string_list_sort_master_pin_list(); s_string_list_sort_master_pin_attrib_list(); /* ---------- Create and load the tables ---------- */ sheet_head->component_table = s_table_new(sheet_head->comp_count, sheet_head->comp_attrib_count); sheet_head->net_table = s_table_new(sheet_head->net_count, sheet_head->net_attrib_count); sheet_head->pin_table = s_table_new(sheet_head->pin_count, sheet_head->pin_attrib_count); /* must iterate over all pages in design */ for ( iter = geda_list_get_glist( pr_current->pages ); iter != NULL; iter = g_list_next( iter ) ) { p_local = (PAGE *)iter->data; /* only traverse pages which are toplevel */ if (p_local->page_control == 0) { /* adds all components from page to comp_table */ s_table_add_toplevel_comp_items_to_comp_table (s_page_objects (p_local)); #if 0 /* Note that this must be changed. We need to input the entire project * before doing anything with the nets because we need to first * determine where they are all connected! */ /* adds all nets from page to net_table */ s_table_add_toplevel_net_items_to_net_table(p_local->object_head); #endif /* adds all pins from page to pin_table */ s_table_add_toplevel_pin_items_to_pin_table (s_page_objects (p_local)); } } /* for loop over pages */ /* -------------- update windows --------------- */ x_window_add_items(); /* This updates the top level stuff, * and then calls another fcn to update * the GtkSheet itself. */ /* ---------- Now verify correctness of entire design. ---------- */ s_toplevel_verify_design(pr_current); /* pr_current is a global */ return TRUE; } /*! \brief Open file dialog * * This function opens a file chooser dialog and waits for the user * to select at least one file to load as toplevel's new pages. * * \returns list of files to be opened, or NULL if the user cancelled * the dialog */ GSList * x_fileselect_open (void) { GtkWidget *dialog; GSList *filenames = NULL; dialog = gtk_file_chooser_dialog_new (_("Open..."), GTK_WINDOW(window), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_CANCEL, -1); g_object_set (dialog, /* GtkFileChooser */ "select-multiple", TRUE, NULL); /* add file filters to dialog */ x_fileselect_setup_filechooser_filters (GTK_FILE_CHOOSER (dialog)); gtk_widget_show (dialog); if(gtk_dialog_run (GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) filenames = gtk_file_chooser_get_filenames (GTK_FILE_CHOOSER (dialog)); gtk_widget_destroy (dialog); return filenames; } /*------------------------------------------------------------------*/ /*! \brief File save dialog * * This function opens a file chooser dialog and wait for the user to * select a file where the toplevel's current page will be * saved. * * If the user cancels the operation (with the cancel button), the * page is not saved. * * The function updates the user interface. */ void x_fileselect_save (void) { GtkWidget *dialog; dialog = gtk_file_chooser_dialog_new (_("Save as..."), GTK_WINDOW(window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); /* Set the alternative button order (ok, cancel, help) for other systems */ gtk_dialog_set_alternative_button_order(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT, GTK_RESPONSE_CANCEL, -1); g_object_set (dialog, /* GtkFileChooser */ "select-multiple", FALSE, /* only in GTK 2.8 */ /* "do-overwrite-confirmation", TRUE, */ NULL); /* add file filters to dialog */ x_fileselect_setup_filechooser_filters (GTK_FILE_CHOOSER (dialog)); gtk_widget_show (dialog); if (gtk_dialog_run ((GtkDialog*)dialog) == GTK_RESPONSE_ACCEPT) { gchar *filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog)); /* try saving current page of toplevel to file filename */ if (filename != NULL && f_save (pr_current, pr_current->page_current, filename, NULL)) { s_log_message (_("Saved As [%1$s]"), filename); /* replace page filename with new one */ s_page_set_filename (pr_current->page_current, filename); /* reset the changed flag of current page*/ pr_current->page_current->CHANGED = 0; } else { /* report error in log and status bar */ s_log_message (_("Could NOT save [%1$s]"), s_page_get_filename (pr_current->page_current)); } g_free (filename); } gtk_widget_destroy (dialog); } lepton-eda-1.9.10/attrib/src/s_table.c0000644000175000017500000006342713634703632014427 00000000000000/* Lepton EDA attribute editor * Copyright (C) 2003-2010 Stuart D. Brorson. * Copyright (C) 2003-2013 gEDA Contributors * Copyright (C) 2017-2020 Lepton EDA Contributors * * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /*------------------------------------------------------------------*/ /*! \file * \brief Functions to manipulate the TABLE structure * * This file holds functions involved in manipulating the TABLE structure, * which is subsidiary to SHEET_DATA. TABLE is a 2 dimensional array * of structs; each struct corresponds to the data about an element * in a single cell of the spreadsheet. * \todo TABLE should also store its dimensions in its own data * structure to save carrying the dimensions around separately. */ #include #include #ifdef HAVE_STRING_H #include #endif #include /*------------------------------------------------------------------ * Gattrib specific includes *------------------------------------------------------------------*/ #include #include "../include/struct.h" /* typdef and struct declarations */ #include "../include/prototype.h" /* function prototypes */ #include "../include/globals.h" #include "../include/gettext.h" /* =================== Public Functions ====================== */ /*------------------------------------------------------------------*/ /*! \brief Create a new table * * This is the table creator. It returns a pointer to * an initialized TABLE struct. As calling args, it needs * the number of rows and cols to allocate. The table is a * dynamically allocated 2D array of structs. To access data in * a cell in the table, you reference (for example): * ((sheet_data->comp_table)[i][j]).attrib_value * (Parens used only for clarity. It works without parens.) * \param rows Number of rows required in the new table * \param cols Number of columns required in the new table * \returns a pointer to an initialized TABLE struct. */ TABLE **s_table_new(int rows, int cols) { TABLE **new_table; int i, j; /* Here I am trying to create a 2 dimensional array of structs */ new_table = (TABLE **) g_malloc(rows*sizeof(TABLE *)); for (i = 0; i < rows; i++) { new_table[i] = (TABLE *) g_malloc(cols * sizeof(TABLE)); /* Note that I should put some checks in here to verify that * malloc worked correctly. */ } /* Now pre-load the table with NULLs */ for (i = 0; i < rows; i++) { for (j = 0; j < cols; j++) { (new_table[i][j]).attrib_value = NULL; (new_table[i][j]).row_name = NULL; (new_table[i][j]).col_name = NULL; (new_table[i][j]).row = i; (new_table[i][j]).col = j; (new_table[i][j]).visibility = VISIBLE; (new_table[i][j]).show_name_value = SHOW_VALUE; } } return (new_table); } /*------------------------------------------------------------------*/ /*! \brief Resize a TABLE * * This function recreates the table with * a new size. It can only increase * the number of cols. You can't increase the number of rows since * gattrib doesn't allow you to input new components. Decreasing the * number of cols is also TBD. * \param table Table to resize * \param rows Number of rows in the table * \param old_cols Number of columns previously in the table * \param new_cols Number of columns required in the table * \returns a pointer to the resized table * \todo The row and column information could be stored in the * TABLE struct. */ TABLE **s_table_resize(TABLE **table, int rows, int old_cols, int new_cols) { int i, j; /* Here I am trying to resize the 2 dimensional array of structs */ for (i = 0; i < rows; i++) { table[i] = (TABLE *) realloc(table[i], new_cols*sizeof(TABLE) ); if (table[i] == NULL) exit(-1); /* die if failed to realloc new memory */ } /* Now pre-load new cols with NULLs */ for (i = 0; i < rows; i++) { for (j = old_cols; j < new_cols; j++) { (table[i][j]).attrib_value = NULL; (table[i][j]).row_name = NULL; (table[i][j]).col_name = NULL; (table[i][j]).row = i; (table[i][j]).col = j; (table[i][j]).visibility = VISIBLE; (table[i][j]).show_name_value = SHOW_VALUE; } } return table; } /*------------------------------------------------------------------*/ /*! \brief Destroy a table * * This function destroys the old table. * Use it after reading in a new * page to get rid of the old table before building a new one. * \param table Table to destroy * \param row_count Number of rows in table * \param col_count Number of columns in table */ void s_table_destroy(TABLE **table, int row_count, int col_count) { int i, j; if (table == NULL) return; for (i = 0; i < row_count; i++) { for (j = 0; j < col_count; j++) { g_free( (table[i][j]).attrib_value ); g_free( (table[i][j]).row_name ); g_free( (table[i][j]).col_name ); } } for (i = 0; i < row_count; i++) { g_free( table[i] ); } g_free(table); table = NULL; return; } /*------------------------------------------------------------------*/ /*! \brief Get a string index number * * This function returns the index number * when given a STRING_LIST and a * string to match. It finds the index * number by iterating through the master list. * \param local_list * \param local_string * \returns the index of the string */ int s_table_get_index(STRING_LIST *local_list, char *local_string) { int count = 0; STRING_LIST *list_element; #ifdef DEBUG printf ("s_table_get_index: "); printf ("Examining %s to see if it is in the list.\n", local_string); #endif list_element = local_list; while (list_element != NULL) { if (strcmp(list_element->data, local_string) == 0) { return count; } count++; list_element = list_element->next; } return(-1); /* return code when string is not in master_list */ } /*------------------------------------------------------------------*/ /*! \brief Create attribute pair * * This function takes a table, a row list, and a row name, * and returns a list holding * name=value pairs for all attribs pertainent to that particular * row. * If the row holds no attribs, it just returns NULL. * * \param row_name Name of the row to search for * \param table Table to be searched * \param row_list list of rows * \param num_attribs * \returns STRING_LIST of name=value pairs */ STRING_LIST *s_table_create_attrib_pair(gchar *row_name, TABLE **table, STRING_LIST *row_list, int num_attribs) { STRING_LIST *attrib_pair_list; char *attrib_name, *attrib_value, *name_value_pair; int row, col; int count = 0; attrib_pair_list = s_string_list_new(); row = s_table_get_index(row_list, row_name); /* Sanity check */ if (row == -1) { /* we didn't find the item in the list */ fprintf (stderr, "s_table_create_attrib_pair: "); fprintf (stderr, _("We didn't find the row name in the row list!\n")); return attrib_pair_list; } for (col = 0; col < num_attribs; col++) { /* pull attrib from table. If non-null, add it to attrib_pair_list */ if ( (table[row][col]).attrib_value != NULL) { attrib_name = (table[row][col]).col_name; attrib_value = (table[row][col]).attrib_value; name_value_pair = g_strconcat(attrib_name, "=", attrib_value, NULL); s_string_list_add_item(attrib_pair_list, &count, name_value_pair); g_free(name_value_pair); } } return attrib_pair_list; } /*------------------------------------------------------------------*/ /*! \brief Add components to the component table * * This fcn iterates over adds all * objects found on this page looking * for components. When it finds a component, it finds all component * attribs and sticks them in the TABLE. * \param obj_list pointer to GList containing objects on this page */ void s_table_add_toplevel_comp_items_to_comp_table (const GList *obj_list) { gchar *temp_uref; int row, col; gchar *attrib_text; gchar *attrib_name; gchar *attrib_value; const GList *o_iter; GList *a_iter; OBJECT *a_current; gint old_visibility, old_show_name_value; if (verbose_mode) { printf (_("Start internal component TABLE creation\n")); } #ifdef DEBUG fflush(stderr); fflush(stdout); printf ("==== Enter s_table_add_toplevel_comp_items_to_comp_table()\n"); #endif /* ----- Iterate through all objects found on page ----- */ for (o_iter = obj_list; o_iter != NULL; o_iter = g_list_next (o_iter)) { OBJECT *o_current = (OBJECT*) o_iter->data; #ifdef DEBUG printf ("s_table_add_toplevel_comp_items_to_comp_table: "); printf ("Examining o_current->name = %s\n", o_current->name); #endif /* ----- Now process objects found on page ----- */ if (o_current->type == OBJ_COMPONENT && o_current->attribs != NULL) { /* ---- Don't process part if it lacks a refdes ----- */ temp_uref = g_strdup(s_attrib_get_refdes(o_current)); if (temp_uref) { #if DEBUG printf ("s_table_add_toplevel_comp_items_to_comp_table: "); printf ("Found component on page. Refdes = %s\n", temp_uref); #endif verbose_print(" C"); /* Having found a component, we loop over all attribs in this * component, and stick them * into cells in the table. */ a_iter = o_current->attribs; while (a_iter != NULL) { a_current = (OBJECT*) a_iter->data; if (a_current->type == OBJ_TEXT && a_current->text != NULL) { /* found an attribute */ /* may need to check more thoroughly here. . . . */ attrib_text = g_strdup(geda_text_object_get_string (a_current)); attrib_name = u_basic_breakup_string(attrib_text, '=', 0); attrib_value = s_misc_remaining_string(attrib_text, '=', 1); old_visibility = o_is_visible (pr_current, a_current) ? VISIBLE : INVISIBLE; old_show_name_value = a_current->show_name_value; /* Don't include "refdes" or "slot" because they form the row name. */ /* Also don't include "net" per bug found by Steve W. 4.3.2007 -- SDB */ if ( (strcmp(attrib_name, "refdes") != 0) && (strcmp(attrib_name, "net") != 0) && (strcmp(attrib_name, "slot") != 0) ) { /* Get row and col where to put this attrib */ row = s_table_get_index(sheet_head->master_comp_list_head, temp_uref); col = s_table_get_index(sheet_head->master_comp_attrib_list_head, attrib_name); /* Sanity check */ if (row == -1 || col == -1) { /* we didn't find the item in the table */ fprintf (stderr, "s_table_add_toplevel_comp_items_to_comp_table: "); fprintf (stderr, _("We didn't find either row or col in the lists!\n")); } else { #if DEBUG printf ("s_table_add_toplevel_comp_items_to_comp_table: "); printf ("About to add row %d, col %d, attrib_value = %s\n", row, col, attrib_value); printf (" Current address of attrib_value cell is [%p]\n", &((sheet_head->component_table)[row][col]).attrib_value); #endif /* Is there a compelling reason for me to put this into a separate fcn? */ ((sheet_head->component_table)[row][col]).row = row; ((sheet_head->component_table)[row][col]).col = col; ((sheet_head->component_table)[row][col]).row_name = g_strdup(temp_uref); ((sheet_head->component_table)[row][col]).col_name = g_strdup(attrib_name); ((sheet_head->component_table)[row][col]).attrib_value = g_strdup(attrib_value); ((sheet_head->component_table)[row][col]).visibility = old_visibility; ((sheet_head->component_table)[row][col]).show_name_value = old_show_name_value; } } g_free(attrib_name); g_free(attrib_text); g_free(attrib_value); } a_iter = g_list_next (a_iter); } /* while (a_current != NULL) */ g_free(temp_uref); } /* if (temp_uref) */ } /* if (o_current->type == OBJ_COMPONENT) */ } verbose_done(); } #if 0 /*------------------------------------------------------------------*/ /*! \brief Add nets to net table * * This function iterates over adds all * items found on this page looking * for nets and adds them individually to the net table. Looping over * objects occurs here. * * \param start_obj Pointer to first object * * \todo Why do the calling semantics of this function disagree with * s_table_add_toplevel_pin_items_to_pin_table()? That function * takes a GList, this one takes a pointer to OBJECT. */ void s_table_add_toplevel_net_items_to_net_table(OBJECT *start_obj) { OBJECT *o_current; char *temp_netname; int row, col; char *attrib_text; char *attrib_name; char *attrib_value; ATTRIB *a_current; /* ----- Iterate through all objects found on page ----- */ o_current = start_obj; while (o_current != NULL) { /* ----- Now process objects found on page ----- */ if (o_current->type == OBJ_NET) { #if DEBUG fflush(stderr); fflush(stdout); printf ("s_table_add_toplevel_net_items_to_net_table: "); printf ("Found net on page.\n"); #endif verbose_print(" N"); /* Having found a net, we stick it into the table. */ a_current = o_current->attribs; while (a_current != NULL) { if (a_current->object->type == OBJ_TEXT && a_current->object->text != NULL) { /* found an attribute */ /* may need to check more thoroughly here. . . . */ attrib_text = g_strdup(a_current->object->text->string); attrib_name = u_basic_breakup_string(attrib_text, '=', 0); attrib_value = s_misc_remaining_string(attrib_text, '=', 1); if (strcmp(attrib_name, "netname") != 0) { /* Don't include "netname" */ /* Get row and col where to put this attrib */ row = s_table_get_index(sheet_head->master_net_list_head, temp_netname); col = s_table_get_index(sheet_head->master_net_attrib_list_head, attrib_name); #if DEBUG fflush(stderr); fflush(stdout); printf ("s_table_add_toplevel_net_items_to_net_table: "); printf ("About to add row %d, col %d, attrib_value = %s\n", row, col, attrib_value); printf (" Current address of attrib_value cell is [%p]\n", &((sheet_head->net_table)[row][col]).attrib_value); #endif /* Is there a compelling reason for me to put this into a separate fcn? */ ((sheet_head->net_table)[row][col]).row = row; ((sheet_head->net_table)[row][col]).col = col; ((sheet_head->net_table)[row][col]).row_name = g_strdup(temp_netname); ((sheet_head->net_table)[row][col]).col_name = g_strdup(attrib_name); ((sheet_head->net_table)[row][col]).attrib_value = g_strdup(attrib_value); } g_free(attrib_name); g_free(attrib_text); g_free(attrib_value); } a_current = a_current->next; } /* while (a_current != NULL) */ g_free(temp_netname); } /*--- if (o_current->type == OBJ_NET) ---*/ o_current = o_current->next; /* iterate to next object on page */ } /* while o_current != NULL */ verbose_done(); #if DEBUG fflush(stderr); fflush(stdout); printf ("s_table_add_toplevel_net_items_to_net_table: "); printf ("Return.\n"); #endif } #endif /*------------------------------------------------------------------*/ /*! \brief Add pins to pin table. * * This function iterates over adds all items found on this page * looking for pins. WHen it finds a pin, it gathers all * pin attribs and sticks them into the pin table. * \param obj_list List of objects on page */ void s_table_add_toplevel_pin_items_to_pin_table (const GList *obj_list) { gchar *temp_uref; gchar *pinnumber; gchar *row_label; int row, col; gchar *attrib_text; gchar *attrib_name; gchar *attrib_value; const GList *o_iter; GList *a_iter; GList *o_lower_iter; OBJECT *pin_attrib; if (verbose_mode) { printf (_("Start internal pin TABLE creation\n")); } #ifdef DEBUG printf ("==== Enter s_table_add_toplevel_pin_items_to_pin_table()\n"); #endif /* ----- Iterate through all objects found on page ----- */ for (o_iter = obj_list; o_iter != NULL; o_iter = g_list_next (o_iter)) { OBJECT *o_current = (OBJECT*) o_iter->data; #ifdef DEBUG printf ("s_table_add_toplevel_pin_items_to_pin_table: "); printf ("Examining o_current->name = %s\n", o_current->name); #endif /* ----- Now process objects found on page ----- */ if (o_current->type == OBJ_COMPONENT && o_current->attribs != NULL) { /* ---- Don't process part if it lacks a refdes ----- */ temp_uref = s_attrib_get_refdes(o_current); if (temp_uref) { /* ----- Now iterate through lower level objects looking for pins. ----- */ for (o_lower_iter = o_current->component->prim_objs; o_lower_iter != NULL; o_lower_iter = g_list_next (o_lower_iter)) { OBJECT *o_lower_current = (OBJECT*) o_lower_iter->data; if (o_lower_current->type == OBJ_PIN) { /* ----- Found a pin. First get its pinnumber. then get attrib head and loop on attribs. ----- */ pinnumber = o_attrib_search_object_attribs_by_name (o_lower_current, "pinnumber", 0); row_label = g_strconcat(temp_uref, ":", pinnumber, NULL); #if DEBUG printf ("s_table_add_toplevel_pin_items_to_pin_table: "); printf ("Examining pin %s\n", row_label); #endif a_iter = o_lower_current->attribs; while (a_iter != NULL) { pin_attrib = (OBJECT*) a_iter->data; if (pin_attrib->type == OBJ_TEXT && pin_attrib->text != NULL) { /* found an attribute */ attrib_text = g_strdup(geda_text_object_get_string (pin_attrib)); attrib_name = u_basic_breakup_string(attrib_text, '=', 0); attrib_value = s_misc_remaining_string(attrib_text, '=', 1); if ( (strcmp(attrib_name, "pinnumber") != 0) && (attrib_value != 0) ) { /* Don't include "pinnumber" because it is already in other master list. * Also must ensure that value is non-null; certain symbols are not well formed. */ /* Get row and col where to put this attrib */ row = s_table_get_index(sheet_head->master_pin_list_head, row_label); col = s_table_get_index(sheet_head->master_pin_attrib_list_head, attrib_name); /* Sanity check */ if (row == -1 || col == -1) { /* we didn't find the item in the table */ fprintf (stderr, "s_table_add_toplevel_pin_items_to_pin_table: "); fprintf (stderr, _("We didn't find either row or col in the lists!\n")); } else { #if DEBUG printf ("s_table_add_toplevel_pin_items_to_pin_table: "); printf ("About to add row %d, col %d, attrib_value = %s\n", row, col, attrib_value); printf (" Current address of attrib_value cell is [%p]\n", &((sheet_head->component_table)[row][col]).attrib_value); #endif /* Is there a compelling reason for me to put this into a separate fcn? */ ((sheet_head->pin_table)[row][col]).row = row; ((sheet_head->pin_table)[row][col]).col = col; ((sheet_head->pin_table)[row][col]).row_name = g_strdup(row_label); ((sheet_head->pin_table)[row][col]).col_name = g_strdup(attrib_name); ((sheet_head->pin_table)[row][col]).attrib_value = g_strdup(attrib_value); } } g_free(attrib_name); g_free(attrib_text); g_free(attrib_value); } a_iter = g_list_next (a_iter); } /* while (pin_attrib != NULL) */ g_free(pinnumber); g_free(row_label); } } } g_free(temp_uref); } } verbose_done(); } /*------------------------------------------------------------------*/ /*! \brief Push spreadsheet data to TABLEs. * * This function traverses the spreadsheet, * extracts the attribs from * the cells, and places them back into TABLE. This is the * first step in saving out a project. */ void s_table_gtksheet_to_all_tables() { int num_rows; int num_cols; STRING_LIST *master_row_list; STRING_LIST *master_col_list; TABLE **local_table; GtkSheet *local_gtk_sheet; /* First handle component sheet */ num_rows = sheet_head->comp_count; num_cols = sheet_head->comp_attrib_count; local_gtk_sheet = sheets[0]; master_row_list = sheet_head->master_comp_list_head; master_col_list = sheet_head->master_comp_attrib_list_head; local_table = sheet_head->component_table; /* now fill out new table */ #ifdef DEBUG printf ("s_table_gtksheet_to_all_tables: "); printf ("Now about to fill out new component table.\n"); #endif s_table_gtksheet_to_table(local_gtk_sheet, master_row_list, master_col_list, local_table, num_rows, num_cols); #if 0 /* Next handle net sheet */ num_rows = sheet_head->net_count; num_cols = sheet_head->net_attrib_count; local_gtk_sheet = sheets[1]; master_row_list = sheet_head->master_net_list_head; master_col_list = sheet_head->master_net_attrib_list_head; local_table = sheet_head->net_table; s_table_gtksheet_to_table(local_gtk_sheet, master_row_list, master_col_list, local_table, num_rows, num_cols); #endif #ifdef UNIMPLEMENTED_FEATURES /* Finally, handle component pin sheet */ num_rows = sheet_head->pin_count; num_cols = sheet_head->pin_attrib_count; local_gtk_sheet = sheets[2]; master_row_list = sheet_head->master_pin_list_head; master_col_list = sheet_head->master_pin_attrib_list_head; /* local_table = s_table_new(num_rows, num_cols); */ local_table = sheet_head->pin_table; s_table_gtksheet_to_table(local_gtk_sheet, master_row_list, master_col_list, local_table, num_rows, num_cols); #endif return; } /* =================== Private Functions ====================== */ /*------------------------------------------------------------------*/ /*! \brief Extract attributes from gtksheet into TABLE * * This function does the actual heavy lifting of looping * through the spreadsheet, extracting the attribs from * the cells, and placing them back into TABLE. This is the * first step in saving out a project. * * \param local_gtk_sheet GtkSheet to save * \param master_row_list STRING_LIST of rows * \param master_col_list STRING_LIST of columns * \param local_table TABLE structure to fill * \param num_rows Number of rows in table * \param num_cols Number of columns in table */ void s_table_gtksheet_to_table(GtkSheet *local_gtk_sheet, STRING_LIST *master_row_list, STRING_LIST *master_col_list, TABLE **local_table, int num_rows, int num_cols) { int row, col; STRING_LIST *row_list_item; gchar *row_title; STRING_LIST *col_list_item; gchar *col_title; gchar *attrib_value; #ifdef DEBUG printf ("==== Enter s_table_gtksheet_to_table()\n"); #endif row_list_item = master_row_list; for (row = 0; row < num_rows; row++) { row_title = (gchar *) g_strdup(row_list_item->data); col_list_item = master_col_list; for (col = 0; col < num_cols; col++) { col_title = (gchar *) g_strdup(col_list_item->data); /* get value of attrib in cell */ attrib_value = (gchar *) gtk_sheet_cell_get_text(GTK_SHEET(local_gtk_sheet), row, col); #if 0 if (strlen(attrib_value) == 0) { /* g_free(attrib_value); */ /* sometimes we have spurious, zero length strings creep */ attrib_value = NULL; /* into the GtkSheet */ } #endif #ifdef DEBUG printf ("s_table_gtksheet_to_table: "); printf ("Found attrib_value = %s in cell row=%d, col=%d\n", attrib_value, row, col); #endif /* first handle attrib value in cell */ #ifdef DEBUG printf (" Updating attrib_value %s\n", attrib_value); #endif g_free( local_table[row][col].attrib_value ); if (attrib_value != NULL) { local_table[row][col].attrib_value = (gchar *) g_strdup(attrib_value); } else { local_table[row][col].attrib_value = NULL; } /* next handle name of row (also held in TABLE cell) */ #ifdef DEBUG printf (" Updating row_name %s\n", row_title); #endif g_free( local_table[row][col].row_name ); if (row_title != NULL) { local_table[row][col].row_name = (gchar *) g_strdup(row_title); } else { local_table[row][col].row_name = NULL; } /* finally handle name of col */ #ifdef DEBUG printf (" Updating col_name %s\n", col_title); #endif g_free( local_table[row][col].col_name ); if (col_title != NULL) { local_table[row][col].col_name = (gchar *) g_strdup(col_title); } else { local_table[row][col].col_name = NULL; } /* get next col list item and then iterate. */ col_list_item = col_list_item->next; } row_list_item = row_list_item->next; } return; } lepton-eda-1.9.10/aclocal.m40000644000175000017500000015740413634703673012442 00000000000000# generated automatically by aclocal 1.16.1 -*- Autoconf -*- # Copyright (C) 1996-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, [m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- dnl serial 11 (pkg-config-0.29) dnl dnl Copyright © 2004 Scott James Remnant . dnl Copyright © 2012-2015 Dan Nicholson dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, but dnl WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU dnl General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA dnl 02111-1307, USA. dnl dnl As a special exception to the GNU General Public License, if you dnl distribute this file as part of a program that contains a dnl configuration script generated by Autoconf, you may include it under dnl the same distribution terms that you use for the rest of that dnl program. dnl PKG_PREREQ(MIN-VERSION) dnl ----------------------- dnl Since: 0.29 dnl dnl Verify that the version of the pkg-config macros are at least dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's dnl installed version of pkg-config, this checks the developer's version dnl of pkg.m4 when generating configure. dnl dnl To ensure that this macro is defined, also add: dnl m4_ifndef([PKG_PREREQ], dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])]) dnl dnl See the "Since" comment for each macro you use to see what version dnl of the macros you require. m4_defun([PKG_PREREQ], [m4_define([PKG_MACROS_VERSION], [0.29]) m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) ])dnl PKG_PREREQ dnl PKG_PROG_PKG_CONFIG([MIN-VERSION]) dnl ---------------------------------- dnl Since: 0.16 dnl dnl Search for the pkg-config tool and set the PKG_CONFIG variable to dnl first found in the path. Checks that the version of pkg-config found dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is dnl used since that's the first version where most current features of dnl pkg-config existed. AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])dnl PKG_PROG_PKG_CONFIG dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) dnl ------------------------------------------------------------------- dnl Since: 0.18 dnl dnl Check to see whether a particular set of modules exists. Similar to dnl PKG_CHECK_MODULES(), but does not set variables or print errors. dnl dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) dnl only at the first occurence in configure.ac, so if the first place dnl it's called might be skipped (such as if it is within an "if", you dnl have to call PKG_CHECK_EXISTS manually AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) dnl --------------------------------------------- dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting dnl pkg_failed based on the result. m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" elif test -n "$PKG_CONFIG"; then PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes]) else pkg_failed=untried fi[]dnl ])dnl _PKG_CONFIG dnl _PKG_SHORT_ERRORS_SUPPORTED dnl --------------------------- dnl Internal check to see if pkg-config supports short errors. AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])dnl _PKG_SHORT_ERRORS_SUPPORTED dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], dnl [ACTION-IF-NOT-FOUND]) dnl -------------------------------------------------------------- dnl Since: 0.4.0 dnl dnl Note that if there is a possibility the first call to dnl PKG_CHECK_MODULES might not happen, you should be sure to include an dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])[]dnl ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) $3 fi[]dnl ])dnl PKG_CHECK_MODULES dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], dnl [ACTION-IF-NOT-FOUND]) dnl --------------------------------------------------------------------- dnl Since: 0.29 dnl dnl Checks for existence of MODULES and gathers its build flags with dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags dnl and VARIABLE-PREFIX_LIBS from --libs. dnl dnl Note that if there is a possibility the first call to dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to dnl include an explicit call to PKG_PROG_PKG_CONFIG in your dnl configure.ac. AC_DEFUN([PKG_CHECK_MODULES_STATIC], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl _save_PKG_CONFIG=$PKG_CONFIG PKG_CONFIG="$PKG_CONFIG --static" PKG_CHECK_MODULES($@) PKG_CONFIG=$_save_PKG_CONFIG[]dnl ])dnl PKG_CHECK_MODULES_STATIC dnl PKG_INSTALLDIR([DIRECTORY]) dnl ------------------------- dnl Since: 0.27 dnl dnl Substitutes the variable pkgconfigdir as the location where a module dnl should install pkg-config .pc files. By default the directory is dnl $libdir/pkgconfig, but the default can be changed by passing dnl DIRECTORY. The user can override through the --with-pkgconfigdir dnl parameter. AC_DEFUN([PKG_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) m4_pushdef([pkg_description], [pkg-config installation directory @<:@]pkg_default[@:>@]) AC_ARG_WITH([pkgconfigdir], [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, [with_pkgconfigdir=]pkg_default) AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) ])dnl PKG_INSTALLDIR dnl PKG_NOARCH_INSTALLDIR([DIRECTORY]) dnl -------------------------------- dnl Since: 0.27 dnl dnl Substitutes the variable noarch_pkgconfigdir as the location where a dnl module should install arch-independent pkg-config .pc files. By dnl default the directory is $datadir/pkgconfig, but the default can be dnl changed by passing DIRECTORY. The user can override through the dnl --with-noarch-pkgconfigdir parameter. AC_DEFUN([PKG_NOARCH_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) m4_pushdef([pkg_description], [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) AC_ARG_WITH([noarch-pkgconfigdir], [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, [with_noarch_pkgconfigdir=]pkg_default) AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) ])dnl PKG_NOARCH_INSTALLDIR dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) dnl ------------------------------------------- dnl Since: 0.28 dnl dnl Retrieves the value of the pkg-config variable for the given module. AC_DEFUN([PKG_CHECK_VAR], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl _PKG_CONFIG([$1], [variable="][$3]["], [$2]) AS_VAR_COPY([$1], [pkg_cv_][$1]) AS_VAR_IF([$1], [""], [$5], [$4])dnl ])dnl PKG_CHECK_VAR # Copyright (C) 2002-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.16.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.16.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # Copyright (C) 2011-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_AR([ACT-IF-FAIL]) # ------------------------- # Try to determine the archiver interface, and trigger the ar-lib wrapper # if it is needed. If the detection of archiver interface fails, run # ACT-IF-FAIL (default is to abort configure with a proper error message). AC_DEFUN([AM_PROG_AR], [AC_BEFORE([$0], [LT_INIT])dnl AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([ar-lib])dnl AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false]) : ${AR=ar} AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface], [AC_LANG_PUSH([C]) am_cv_ar_interface=ar AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])], [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([am_ar_try]) if test "$ac_status" -eq 0; then am_cv_ar_interface=ar else am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([am_ar_try]) if test "$ac_status" -eq 0; then am_cv_ar_interface=lib else am_cv_ar_interface=unknown fi fi rm -f conftest.lib libconftest.a ]) AC_LANG_POP([C])]) case $am_cv_ar_interface in ar) ;; lib) # Microsoft lib, so override with the ar-lib wrapper script. # FIXME: It is wrong to rewrite AR. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__AR in this case, # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something # similar. AR="$am_aux_dir/ar-lib $AR" ;; unknown) m4_default([$1], [AC_MSG_ERROR([could not determine $AR interface])]) ;; esac AC_SUBST([AR])dnl ]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to # '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], [$1], [CXX], [depcc="$CXX" am_compiler_list=], [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], [$1], [UPC], [depcc="$UPC" am_compiler_list=], [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl AS_HELP_STRING( [--enable-dependency-tracking], [do not reject slow dependency extractors]) AS_HELP_STRING( [--disable-dependency-tracking], [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. # TODO: see whether this extra hack can be removed once we start # requiring Autoconf 2.70 or later. AS_CASE([$CONFIG_FILES], [*\'*], [eval set x "$CONFIG_FILES"], [*], [set x $CONFIG_FILES]) shift # Used to flag and report bootstrapping failures. am_rc=0 for am_mf do # Strip MF so we end up with the name of the file. am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile which includes # dependency-tracking related rules and includes. # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ || continue am_dirpart=`AS_DIRNAME(["$am_mf"])` am_filepart=`AS_BASENAME(["$am_mf"])` AM_RUN_LOG([cd "$am_dirpart" \ && sed -e '/# am--include-marker/d' "$am_filepart" \ | $MAKE -f - am--depfiles]) || am_rc=$? done if test $am_rc -ne 0; then AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments for automatic dependency tracking. Try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking).]) fi AS_UNSET([am_dirpart]) AS_UNSET([am_filepart]) AS_UNSET([am_mf]) AS_UNSET([am_rc]) rm -f conftest-deps.mk } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking is enabled. # This creates each '.Po' and '.Plo' makefile fragment that we'll need in # order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC]) [_AM_PROG_CC_C_O ]) # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [AC_DIAGNOSE([obsolete], [$0: two- and three-arguments forms are deprecated.]) m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) AM_MISSING_PROG([AUTOCONF], [autoconf]) AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) AM_MISSING_PROG([AUTOHEADER], [autoheader]) AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES([CC])], [m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES([CXX])], [m4_define([AC_PROG_CXX], m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES([OBJC])], [m4_define([AC_PROG_OBJC], m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [_AM_DEPENDENCIES([OBJCXX])], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) fi fi dnl The trailing newline in this macro's definition is deliberate, for dnl backward compatibility and to allow trailing 'dnl'-style comments dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST([install_sh])]) # Copyright (C) 2003-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Copyright (C) 1998-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_LEX # ----------- # Autoconf leaves LEX=: if lex or flex can't be found. Change that to a # "missing" invocation, for better error output. AC_DEFUN([AM_PROG_LEX], [AC_PREREQ([2.50])dnl AC_REQUIRE([AM_MISSING_HAS_RUN])dnl AC_REQUIRE([AC_PROG_LEX])dnl if test "$LEX" = :; then LEX=${am_missing_run}flex fi]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MAKE_INCLUDE() # ----------------- # Check whether make has an 'include' directive that can support all # the idioms we need for our automatic dependency tracking code. AC_DEFUN([AM_MAKE_INCLUDE], [AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) cat > confinc.mk << 'END' am__doit: @echo this is the am__doit target >confinc.out .PHONY: am__doit END am__include="#" am__quote= # BSD make does it like this. echo '.include "confinc.mk" # ignored' > confmf.BSD # Other make implementations (GNU, Solaris 10, AIX) do it like this. echo 'include confinc.mk # ignored' > confmf.GNU _am_result=no for s in GNU BSD; do AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) AS_CASE([$?:`cat confinc.out 2>/dev/null`], ['0:this is the am__doit target'], [AS_CASE([$s], [BSD], [am__include='.include' am__quote='"'], [am__include='include' am__quote=''])]) if test "$am__include" != "#"; then _am_result="yes ($s style)" break fi done rm -f confinc.* confmf.* AC_MSG_RESULT([${_am_result}]) AC_SUBST([am__include])]) AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it is modern enough. # If it is, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= AC_MSG_WARN(['missing' script is too old or missing]) fi ]) # Copyright (C) 2003-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for 'mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl FIXME we are no longer going to remove this! adjust warning dnl FIXME message accordingly. AC_DIAGNOSE([obsolete], [$0: this macro is deprecated, and will soon be removed. You should use the Autoconf-provided 'AC][_PROG_MKDIR_P' macro instead, and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.]) dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_CC_C_O # --------------- # Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC # to automatically call this. AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl AC_LANG_PUSH([C])dnl AC_CACHE_CHECK( [whether $CC understands -c and -o together], [am_cv_prog_cc_c_o], [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i]) if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) # Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi if test "$[2]" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT([yes]) # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi AC_CONFIG_COMMANDS_PRE( [AC_MSG_CHECKING([that generated files are newer than configure]) if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi AC_MSG_RESULT([done])]) rm -f conftest.file ]) # Copyright (C) 2009-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT # ("yes" being less verbose, "no" or empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl AS_HELP_STRING( [--enable-silent-rules], [less verbose build output (undo: "make V=1")]) AS_HELP_STRING( [--disable-silent-rules], [verbose build output (undo: "make V=0")])dnl ]) case $enable_silent_rules in @%:@ ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac dnl dnl A few 'make' implementations (e.g., NonStop OS and NextStep) dnl do not support nested variable expansions. dnl See automake bug#9928 and bug#10237. am_make=${MAKE-make} AC_CACHE_CHECK([whether $am_make supports nested variables], [am_cv_make_support_nested_variables], [if AS_ECHO([['TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi]) if test $am_cv_make_support_nested_variables = yes; then dnl Using '$V' instead of '$(V)' breaks IRIX make. AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AC_SUBST([AM_V])dnl AM_SUBST_NOTMAKE([AM_V])dnl AC_SUBST([AM_DEFAULT_V])dnl AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) # Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar # AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar], [# The POSIX 1988 'ustar' format is defined with fixed-size fields. # There is notably a 21 bits limit for the UID and the GID. In fact, # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 # and bug#13588). am_max_uid=2097151 # 2^21 - 1 am_max_gid=$am_max_uid # The $UID and $GID variables are not portable, so we need to resort # to the POSIX-mandated id(1) utility. Errors in the 'id' calls # below are definitely unexpected, so allow the users to see them # (that is, avoid stderr redirection). am_uid=`id -u || echo unknown` am_gid=`id -g || echo unknown` AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) if test $am_uid -le $am_max_uid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) if test $am_gid -le $am_max_gid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi], [pax], [], [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Go ahead even if we have the value already cached. We do so because we # need to set the values for the 'am__tar' and 'am__untar' variables. _am_tools=${am_cv_prog_tar_$1-$_am_tools} for _am_tool in $_am_tools; do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works. rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/geda-assert.m4]) m4_include([m4/geda-awk.m4]) m4_include([m4/geda-cairo.m4]) m4_include([m4/geda-contrib.m4]) m4_include([m4/geda-desktop-i18n.m4]) m4_include([m4/geda-desktop.m4]) m4_include([m4/geda-doxygen.m4]) m4_include([m4/geda-gattrib.m4]) m4_include([m4/geda-gcc-flags.m4]) m4_include([m4/geda-git-version.m4]) m4_include([m4/geda-git.m4]) m4_include([m4/geda-groff.m4]) m4_include([m4/geda-guile.m4]) m4_include([m4/geda-host.m4]) m4_include([m4/geda-liblepton.m4]) m4_include([m4/geda-libleptonrenderer.m4]) m4_include([m4/geda-stroke.m4]) m4_include([m4/geda-uri-viewer.m4]) m4_include([m4/geda-windows.m4]) m4_include([m4/gettext.m4]) m4_include([m4/guile.m4]) m4_include([m4/iconv.m4]) m4_include([m4/intlmacosx.m4]) m4_include([m4/lepton-data-dirs.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) m4_include([m4/lib-prefix.m4]) m4_include([m4/libtool.m4]) m4_include([m4/ltoptions.m4]) m4_include([m4/ltsugar.m4]) m4_include([m4/ltversion.m4]) m4_include([m4/lt~obsolete.m4]) m4_include([m4/nls.m4]) m4_include([m4/pcb-data-dirs.m4]) m4_include([m4/po.m4]) m4_include([m4/progtest.m4]) lepton-eda-1.9.10/netlist/0000755000175000017500000000000013634704572012330 500000000000000lepton-eda-1.9.10/netlist/po/0000755000175000017500000000000013634704565012750 500000000000000lepton-eda-1.9.10/netlist/po/ru.gmo0000644000175000017500000000124113634704515014013 00000000000000Þ•4L`a:{M¶6e;Can't open directory ~S. You gave neither backend to execute nor interactive mode! Project-Id-Version: geda gnetlist Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2014-05-20 08:55+0400 Last-Translator: Vladimir Zhbanov Language-Team: gEDA Developers Language: ru MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ðе удалоÑÑŒ открыть каталог ~S. Ðе задан ни драйвер Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹, ни интерактивный режим! lepton-eda-1.9.10/netlist/po/lepton-netlist.pot0000644000175000017500000001215513634703632016373 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Lepton Developers # This file is distributed under the same license as the lepton-eda package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: lepton-eda 1.9.10\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\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" #: netlist/scheme/netlist.scm:106 msgid "" "Copyright (C) 1998-2016 gEDA developers\n" "Copyright (C) 2017-2020 Lepton EDA Contributors\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the Lepton EDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" #: netlist/scheme/netlist.scm:183 #, scheme-format msgid "" "Possible attribute conflict for refdes: ~A\n" "name: ~A\n" "values: ~A\n" msgstr "" #: netlist/scheme/netlist.scm:249 #, scheme-format msgid "Refdes ~a: Bad slot number: ~a.\n" msgstr "" #: netlist/scheme/netlist.scm:292 msgid "Couldn't wrap string at requested position\n" msgstr "" #: netlist/scheme/netlist.scm:593 #, scheme-format msgid "" "There is a net name collision!\n" "The net called \"~A\" will be remapped\n" "to \"~A\" which is already used\n" "by the net called \"~A\".\n" "This may be caused by netname attributes colliding with other netnames\n" "due to truncation of the name, case insensitivity, or\n" "other limitations imposed by this netlist format.\n" msgstr "" #: netlist/scheme/netlist.scm:630 #, scheme-format msgid "" "There is a refdes name collision!\n" "The refdes \"~A\" will be mapped\n" "to \"~A\" which is already used\n" "by \"~A\".\n" "This may be caused by refdes attributes colliding with others\n" "due to truncation of the refdes, case insensitivity, or\n" "other limitations imposed by this netlist format.\n" msgstr "" #: netlist/scheme/netlist.scm:823 #, scheme-format msgid "Can't open directory ~S.\n" msgstr "" #: netlist/scheme/netlist.scm:834 #, scheme-format msgid "" "Usage: ~A [OPTION ...] [-g BACKEND] [--] FILE ...\n" "\n" "Generate a netlist from one or more Lepton EDA schematic FILEs.\n" "\n" "General options:\n" " -q Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -o FILE Filename for netlist data output.\n" " -L DIR Add DIR to Scheme search path.\n" " -g BACKEND Specify netlist backend to use.\n" " -f FILE Specify path to netlist backend file to use.\n" " -O STRING Pass an option string to backend.\n" " -l FILE Load Scheme file before loading backend.\n" " -m FILE Load Scheme file after loading backend.\n" " -c EXPR Evaluate Scheme expression at startup.\n" " -i Enter interactive Scheme REPL after loading.\n" " -b, --list-backends Print a list of available netlist backends.\n" " -h, --help Help; this message.\n" " -V, --version Show version information.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "Lepton EDA homepage: \n" msgstr "" #: netlist/scheme/netlist.scm:873 #, scheme-format msgid "" "\n" "Just got an error '~A':\n" " ~A\n" "\n" msgstr "" #: netlist/scheme/netlist.scm:914 msgid "You gave neither backend to execute nor interactive mode!\n" msgstr "" #: netlist/scheme/netlist.scm:918 #, scheme-format msgid "" "No schematic files specified for processing.\n" "~\n" " Run `~A --help' for more information.\n" msgstr "" #: netlist/scheme/netlist.scm:924 #, scheme-format msgid "" "Could not find backend `~A' in load path.\n" "~\n" " Run `~A --list-backends' for a full list of " "available backends.\n" msgstr "" #: netlist/scheme/netlist.scm:930 #, scheme-format msgid "" "Can't load backend file ~S.\n" "~\n" " Backend files are expected to have names like " "\"gnet-NAME.scm\"\n" "~\n" " and contain entry point function NAME (where NAME " "is the backend's name).\n" msgstr "" #: netlist/scheme/netlist.scm:937 #, scheme-format msgid "Netlist mode requested by backend is not supported: ~A\n" msgstr "" #: netlist/scheme/netlist.scm:997 msgid "Failed to evaluate Scheme expression at startup.\n" msgstr "" #: netlist/scheme/netlist.scm:1031 msgid "Failed to load Scheme file before loading backend.\n" msgstr "" #: netlist/scheme/netlist.scm:1060 msgid "Failed to load backend file.\n" msgstr "" #: netlist/scheme/netlist.scm:1073 msgid "Failed to load Scheme file after loading backend.\n" msgstr "" #: netlist/scheme/netlist/net.scm:76 #, scheme-format msgid "Invalid attribute (missing ':'): net=~A" msgstr "" #: netlist/scheme/netlist/net.scm:132 #, scheme-format msgid "Attached net ~A:~A overrides inherited net ~A:~A" msgstr "" lepton-eda-1.9.10/netlist/po/ru.po0000644000175000017500000003527213634703632013661 00000000000000# Russian translation for gEDA gnetlist # Copyright (c) 2014 gEDA Developers # Copyright (c) Vladimir Zhbanov , 2014. # # This file is distributed under the same license as the gEDA gnetlist package. # # Переводчикам: Ñм. Ð¿Ñ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð² liblepton/po/ru.po msgid "" msgstr "" "Project-Id-Version: geda gnetlist\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2014-05-20 08:55+0400\n" "Last-Translator: Vladimir Zhbanov \n" "Language-Team: gEDA Developers\n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #, fuzzy msgid "" "Copyright (C) 1998-2016 gEDA developers\n" "Copyright (C) 2017-2020 Lepton EDA Contributors\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the Lepton EDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" "gEDA %s (g%.7s)\n" "Это Ñвободное программное обеÑпечение, и его можно раÑпроÑтранÑть при\n" "определённых уÑловиÑÑ…. ПодробноÑти Ñм. в файле COPYING\n" "в диÑтрибутиве gEDA.\n" "Ðет ÐИКÐКИХ ГÐРÐÐТИЙ в рамках, допуÑтимых имеющимÑÑ\n" "законодательÑтвом.\n" #, scheme-format msgid "" "Possible attribute conflict for refdes: ~A\n" "name: ~A\n" "values: ~A\n" msgstr "" #, scheme-format msgid "Refdes ~a: Bad slot number: ~a.\n" msgstr "" msgid "Couldn't wrap string at requested position\n" msgstr "" #, scheme-format msgid "" "There is a net name collision!\n" "The net called \"~A\" will be remapped\n" "to \"~A\" which is already used\n" "by the net called \"~A\".\n" "This may be caused by netname attributes colliding with other netnames\n" "due to truncation of the name, case insensitivity, or\n" "other limitations imposed by this netlist format.\n" msgstr "" #, scheme-format msgid "" "There is a refdes name collision!\n" "The refdes \"~A\" will be mapped\n" "to \"~A\" which is already used\n" "by \"~A\".\n" "This may be caused by refdes attributes colliding with others\n" "due to truncation of the refdes, case insensitivity, or\n" "other limitations imposed by this netlist format.\n" msgstr "" #, scheme-format msgid "Can't open directory ~S.\n" msgstr "Ðе удалоÑÑŒ открыть каталог ~S.\n" #, fuzzy, scheme-format msgid "" "Usage: ~A [OPTION ...] [-g BACKEND] [--] FILE ...\n" "\n" "Generate a netlist from one or more Lepton EDA schematic FILEs.\n" "\n" "General options:\n" " -q Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -o FILE Filename for netlist data output.\n" " -L DIR Add DIR to Scheme search path.\n" " -g BACKEND Specify netlist backend to use.\n" " -f FILE Specify path to netlist backend file to use.\n" " -O STRING Pass an option string to backend.\n" " -l FILE Load Scheme file before loading backend.\n" " -m FILE Load Scheme file after loading backend.\n" " -c EXPR Evaluate Scheme expression at startup.\n" " -i Enter interactive Scheme REPL after loading.\n" " -b, --list-backends Print a list of available netlist backends.\n" " -h, --help Help; this message.\n" " -V, --version Show version information.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "Lepton EDA homepage: \n" msgstr "" "ИÑпользование: %s [КЛЮЧ ...] [-g ДРÐЙВЕР] [--] ФÐЙЛ ...\n" "\n" "Создание ÑпиÑка Ñоединений из одного или неÑкольких ФÐЙЛов Ñхем gEDA.\n" "\n" "Общие ключи:\n" " -q Без вывода информации.\n" " -v, --verbose Подробный вывод.\n" " -o ФÐЙЛ ВывеÑти ÑпиÑок Ñоединений в ФÐЙЛ.\n" " -L КÐТÐЛОГ Добавить КÐТÐЛОГ к пути поиÑка файлов Scheme.\n" " -g ДРÐЙВЕР Задать драйвер ÑпиÑка Ñоединений.\n" " -O СТРОКРЗадать Ñтроку опций Ð´Ð»Ñ Ð´Ñ€Ð°Ð¹Ð²ÐµÑ€Ð°.\n" " -l ФÐЙЛ Загрузить ФÐЙЛ Scheme до загрузки драйвера.\n" " -m ФÐЙЛ Загрузить ФÐЙЛ Scheme поÑле загрузки драйвера.\n" " -c ВЫРÐЖЕÐИЕ Выполнить выражение Scheme при запуÑке.\n" " -i ПоÑле загрузки войти в интерактивный цикл Scheme (REPL).\n" " --list-backends ВывеÑти ÑпиÑок доÑтупных драйверов ÑпиÑков Ñоединений.\n" " -h, --help Ð”Ð°Ð½Ð½Ð°Ñ Ñправка.\n" " -V, --version Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ верÑии.\n" " -- Считать вÑе поÑледующие аргументы именами файлов.\n" "\n" "Отчёты об ошибках отправлÑйте по адреÑу \n" "ДомашнÑÑ Ñтраница gEDA/gaf: \n" #, fuzzy, scheme-format msgid "" "\n" "Just got an error '~A':\n" " ~A\n" "\n" msgstr "" "\n" "Обнаружена ошибка; Ð¸Ð¼Ñ Ñ‚ÐµÐ³Ð°\n" " " msgid "You gave neither backend to execute nor interactive mode!\n" msgstr "Ðе задан ни драйвер Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹, ни интерактивный режим!\n" #, fuzzy, scheme-format msgid "" "No schematic files specified for processing.\n" "~\n" " Run `~A --help' for more information.\n" msgstr "" "Ðе заданы файлы Ñхем Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸.\n" "\n" "ПодробноÑти Ñм. в выводе команды «~A --help».\n" #, fuzzy, scheme-format msgid "" "Could not find backend `~A' in load path.\n" "~\n" " Run `~A --list-backends' for a full list of " "available backends.\n" msgstr "" "Ðе удалоÑÑŒ найти драйвер «~A» в пути загрузки.\n" "\n" "СпиÑок вÑех доÑтупных драйверов можно узнать по команде «~A --list-" "backends».\n" #, scheme-format msgid "" "Can't load backend file ~S.\n" "~\n" " Backend files are expected to have names like " "\"gnet-NAME.scm\"\n" "~\n" " and contain entry point function NAME (where NAME " "is the backend's name).\n" msgstr "" #, scheme-format msgid "Netlist mode requested by backend is not supported: ~A\n" msgstr "" msgid "Failed to evaluate Scheme expression at startup.\n" msgstr "" msgid "Failed to load Scheme file before loading backend.\n" msgstr "" msgid "Failed to load backend file.\n" msgstr "" msgid "Failed to load Scheme file after loading backend.\n" msgstr "" #, scheme-format msgid "Invalid attribute (missing ':'): net=~A" msgstr "" #, scheme-format msgid "Attached net ~A:~A overrides inherited net ~A:~A" msgstr "" #, fuzzy #~ msgid "Found duplicate net name, renaming ~A to ~A" #~ msgstr "" #~ "Обнаружено ещё одно Ð¸Ð¼Ñ Ð´Ð»Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Â«%s», переименование в «%s»\n" #, fuzzy #~ msgid "" #~ "WARNING: Trying to rename something twice:\n" #~ "\t~A and ~A\n" #~ "are both a src and dest name\n" #~ "This warning is okay if you have multiple levels of hierarchy!\n" #~ msgstr "" #~ "ПРЕДУПРЕЖДЕÐИЕ: Попытка двойного переименованиÑ:\n" #~ "\t%s и %s\n" #~ "оба ÑвлÑÑŽÑ‚ÑÑ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ иÑточника и назначениÑ\n" #~ msgid "Loading schematic ~S\n" #~ msgstr "Загрузка Ñхемы ~S\n" #, fuzzy #~ msgid "" #~ "gEDA/gnetlist version ~A~A.~A\n" #~ "gEDA/gnetlist comes with ABSOLUTELY NO WARRANTY; see COPYING for more " #~ "details.\n" #~ "This is free software, and you are welcome to redistribute it under " #~ "certain\n" #~ "conditions; please see the COPYING file for more details.\n" #~ msgstr "" #~ "gEDA/gnetlist верÑии %s%s.%s\n" #~ "gEDA/gnetlist поÑтавлÑетÑÑ Ð‘Ð•Ð— КÐКИХ БЫ ТО ÐИ БЫЛО ГÐРÐÐТИЙ; подробноÑти " #~ "Ñм. в файле COPYING.\n" #~ "Это Ñвободное программное обеÑпечение, и его можно раÑпроÑтранÑть при " #~ "определённых\n" #~ "уÑловиÑÑ…. ПодробноÑти Ñм. в файле COPYING.\n" #~ "\n" #~ msgid "" #~ "List of available backends: \n" #~ "\n" #~ msgstr "" #~ "СпиÑок доÑтупных драйверов: \n" #~ "\n" #~ msgid "" #~ "This is the MINGW32 port.\n" #~ "\n" #~ msgstr "" #~ "Это верÑÐ¸Ñ Ð´Ð»Ñ MINGW32.\n" #~ "\n" #~ msgid "" #~ "ERROR: -%c option requires an argument.\n" #~ "\n" #~ msgstr "" #~ "ОШИБКÐ: Ð´Ð»Ñ Ð¾Ð¿Ñ†Ð¸Ð¸ -%c необходим аргумент.\n" #~ "\n" #~ msgid "" #~ "ERROR: Unknown option -%c.\n" #~ "\n" #~ msgstr "" #~ "ОШИБКÐ: ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ -%c.\n" #~ "\n" #~ msgid "" #~ "ERROR: Unknown option character `\\x%x'.\n" #~ "\n" #~ msgstr "" #~ "ОШИБКÐ: ÐеизвеÑтный Ñимвол опции «\\x%x».\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Run `%s --help' for more information.\n" #~ msgstr "" #~ "\n" #~ "ПодробноÑти Ñм. в выводе команды «%s --help».\n" #, fuzzy #~ msgid "Going to traverse source [%1$s]" #~ msgstr "Переход к обработке иÑточника данных «%s»\n" #, fuzzy #~ msgid "Failed to load subcircuit '%1$s': %2$s\n" #~ msgstr "Ðе удалоÑÑŒ загрузить подÑхему «%s»: %s\n" #, fuzzy #~ msgid "ERROR: Failed to load subcircuit '%1$s': %2$s\n" #~ msgstr "ОШИБКÐ: Ðе удалоÑÑŒ загрузить подÑхему «%s»: %s\n" #, fuzzy #~ msgid "" #~ "Found a pin [%1$s] on component [%2$s] which does not have a label!\n" #~ msgstr "Ðайден вывод «%s» компонента «%s» без атрибута «pinlabel»!\n" #, fuzzy #~ msgid "" #~ "Missing I/O symbol with refdes [%1$s] inside schematic for symbol [%2$s]\n" #~ msgstr "" #~ "ОтÑутÑтвует Ñимвол ввода-вывода Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ñ‹Ð¼ обозначением «%s» в Ñхеме " #~ "Ð´Ð»Ñ Ñимвола «%s»\n" #~ msgid "" #~ "\n" #~ "DONE\n" #~ msgstr "" #~ "\n" #~ "ЗÐВЕРШЕÐО\n" #~ msgid " DONE\n" #~ msgstr " ЗÐВЕРШЕÐО\n" #, fuzzy #~ msgid "ERROR: `%1$s' is reserved for internal use." #~ msgstr "ОШИБКÐ: Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Â«%s» зарезервирован Ð´Ð»Ñ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐ³Ð¾ иÑпользованиÑ." #~ msgid "Found malformed net attribute\n" #~ msgstr "Обнаружен атрибут ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð² недопуÑтимом формате\n" #, fuzzy #~ msgid "Found a cpinlist head with a netname! [%1$s]\n" #~ msgstr "" #~ "Ðайдено начало ÑпиÑка выводов компонента Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ ÑоединениÑ! «%s»\n" #, fuzzy #~ msgid "" #~ "Got an invalid net= attrib [net=%1$s]\n" #~ "Missing : in net= attrib\n" #~ msgstr "" #~ "ÐедопуÑтимый атрибут «net» («net=%s»)\n" #~ "Ð’ атрибуте «net» отÑутÑтвует Ñимвол «:»\n" #~ msgid "Missing Attributes (refdes and pin number)\n" #~ msgstr "ОтÑутÑтвуют атрибуты «refdes» и «pinnumber»\n" #, fuzzy #~ msgid "s_net_name: incorrect connectivity type %1$i\n" #~ msgstr "s_net_name: неверный тип ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Â«%i»\n" #~ msgid "Increase number of unnamed nets (s_net.c)\n" #~ msgstr "Увеличьте количеÑтво безымÑнных Ñоединений (в s_net.c)\n" #, fuzzy #~ msgid "" #~ "WARNING: Found a placeholder/missing component, are you missing a symbol " #~ "file? [%1$s]\n" #~ msgstr "" #~ "ПРЕДУПРЕЖДЕÐИЕ: Ðайден временный/отÑутÑтвующий компонент, может быть нет " #~ "файла Ñимвола Ð´Ð»Ñ Â«%s»?\n" #~ msgid "" #~ "Could not find refdes on component and could not find any special " #~ "attributes!\n" #~ msgstr "" #~ "Ðе удалоÑÑŒ обнаружить ни позиционное обозначение компонента, ни каких-" #~ "либо Ñпециальных атрибутов!\n" #~ msgid "Non-connectable object being queried for connection type\n" #~ msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ñ‚Ð¸Ð¿Ð° ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð½ÐµÐ¿Ñ€Ð¸ÑоединÑемого объекта.\n" #, fuzzy #~ msgid "" #~ "WARNING: Found label=%1$s. label= is deprecated, please use netname=\n" #~ msgstr "" #~ "ПРЕДУПРЕЖДЕÐИЕ: Ðайден атрибут «label=%s». ИÑпользовать «label» не " #~ "рекомендуетÑÑ, вмеÑто него Ñледует иÑпользовать «netname».\n" #~ msgid "Found a possible net/pin infinite connection\n" #~ msgstr "" #~ "Обнаружено возможно беÑконечное чиÑло подключений Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð°/ÑоединениÑ\n" #, fuzzy #~ msgid "uref= is deprecated, please use refdes=~A" #~ msgstr "" #~ "ПРЕДУПРЕЖДЕÐИЕ: Ðайден атрибут «label=%s». ИÑпользовать «label» не " #~ "рекомендуетÑÑ, вмеÑто него Ñледует иÑпользовать «netname».\n" #~ msgid "ERROR: Overwriting a valid rename list.\n" #~ msgstr "ОШИБКÐ: ПерезапиÑÑŒ дейÑтвующего ÑпиÑка переименований.\n" #~ msgid "This warning is okay if you have multiple levels of hierarchy!\n" #~ msgstr "" #~ "Это предупреждение неÑущеÑтвенно, еÑли имеетÑÑ Ð½ÐµÑколько уровней " #~ "иерархии!\n" #~ msgid "ERROR: Failed to load '%s': %s\n" #~ msgstr "ОШИБКÐ: Ðе удалоÑÑŒ загрузить «%s»: %s\n" #~ msgid "" #~ "You are running gEDA/gaf version [%s%s.%s],\n" #~ "but you have a version [%s] gnetlistrc file:\n" #~ "[%s]\n" #~ "Please be sure that you have the latest rc file.\n" #~ msgstr "" #~ "Ð’Ñ‹ работаете Ñ gEDA/gaf верÑии %s%s.%s,\n" #~ "но верÑÐ¸Ñ Ñ„Ð°Ð¹Ð»Ð° gnetlistrc «%s»:\n" #~ "%s\n" #~ "УдоÑтоверьтеÑÑŒ, что у Ð²Ð°Ñ Ð¿Ð¾ÑледнÑÑ Ð²ÐµÑ€ÑÐ¸Ñ Ñ„Ð°Ð¹Ð»Ð° наÑтроек.\n" #~ msgid "Invalid refdes ('%s') and pin ('%s') passed to get-nets\n" #~ msgstr "" #~ "get-nets: недопуÑтимое позиционное обозначение («%s») и вывод («%s»)\n" lepton-eda-1.9.10/netlist/po/en@quot.header0000644000175000017500000000226313634703644015455 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # lepton-eda-1.9.10/netlist/po/boldquot.sed0000644000175000017500000000033113634703643015207 00000000000000s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g s/“/“/g s/â€/â€/g s/‘/‘/g s/’/’/g lepton-eda-1.9.10/netlist/po/Makefile.in.in0000644000175000017500000003744213634703642015347 00000000000000# Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # # Origin: gettext-0.18 GETTEXT_MACRO_VERSION = 0.18 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = @localedir@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ GMSGFMT_ = @GMSGFMT@ GMSGFMT_no = @GMSGFMT@ GMSGFMT_yes = @GMSGFMT_015@ GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) MSGFMT_ = @MSGFMT@ MSGFMT_no = @MSGFMT@ MSGFMT_yes = @MSGFMT_015@ MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) XGETTEXT_ = @XGETTEXT@ XGETTEXT_no = @XGETTEXT@ XGETTEXT_yes = @XGETTEXT_015@ XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: check-macro-version all-@USE_NLS@ all-yes: stamp-po all-no: # Ensure that the gettext macros and this Makefile.in.in are in sync. check-macro-version: @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ exit 1; \ } # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. # In this case, stamp-po is a nop (i.e. a phony target). # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, # "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent # invocations of "make" will do nothing. This timestamp would not be necessary # if updating the $(CATALOGS) would always touch them; however, the rule for # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ echo "touch stamp-po" && \ echo timestamp > stamp-poT && \ mv stamp-poT stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ package_gnu='GNU '; \ else \ package_gnu=''; \ fi; \ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ *) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --package-name="$${package_gnu}@PACKAGE@" \ --package-version='@VERSION@' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ esac test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. # Only "make $(DOMAIN).pot-update" or "make dist" will force an update. $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) \ && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ *) \ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ esac; \ }; \ else \ $(MAKE) $${lang}.po-create; \ fi install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ for file in Makevars; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f stamp-poT rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ for i in 0 1 2 3 4 5 6 7 8 9; do \ if test -f $(srcdir)/ChangeLog.$$i; then \ dists="$$dists ChangeLog.$$i"; \ fi; \ done; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir) || exit 1; \ else \ cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for creating PO files. .nop.po-create: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ exit 1 # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ *) \ $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ esac; \ }; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: # Recreate Makefile by invoking config.status. Explicitly invoke the shell, # because execution permission bits may not work on the current file system. # Use @SHELL@, which is the shell determined by autoconf for the use by its # scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient. Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && @SHELL@ ./config.status $(subdir)/$@.in po-directories force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: lepton-eda-1.9.10/netlist/po/quot.sed0000644000175000017500000000023113634703644014346 00000000000000s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g lepton-eda-1.9.10/netlist/po/nl.po0000644000175000017500000002743713634703632013650 00000000000000# Dutch translation for the gEDA gnetlist package. # Copyright (C) 2012 gEDA Developers # This file is distributed under the same license as the gEDA gschem package. # Bert Timmerman , 2012. # msgid "" msgstr "" "Project-Id-Version: geda-gnetlist\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2014-08-31 20:38+0100\n" "Last-Translator: Bert Timmerman \n" "Language-Team: gEDA Developers\n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Dutch\n" "X-Poedit-Country: NETHERLANDS\n" #, fuzzy msgid "" "Copyright (C) 1998-2016 gEDA developers\n" "Copyright (C) 2017-2020 Lepton EDA Contributors\n" "This is free software, and you are welcome to redistribute it under\n" "certain conditions. For details, see the file `COPYING', which is\n" "included in the Lepton EDA distribution.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" "gEDA %s (g%.7s)\n" "Copyright (C) 1998-2012 gEDA developers\n" "Dit is vrije software, en u bent welkom om deze te herdistribueren onder\n" "bepaalde condities. Voor details, zie het bestand `COPYING', welke is\n" "bijgesloten in de gEDA distributie.\n" "Er is GEEN GARANTIE, voor zover toegestaan door de wet.\n" #, scheme-format msgid "" "Possible attribute conflict for refdes: ~A\n" "name: ~A\n" "values: ~A\n" msgstr "" #, scheme-format msgid "Refdes ~a: Bad slot number: ~a.\n" msgstr "" msgid "Couldn't wrap string at requested position\n" msgstr "" #, scheme-format msgid "" "There is a net name collision!\n" "The net called \"~A\" will be remapped\n" "to \"~A\" which is already used\n" "by the net called \"~A\".\n" "This may be caused by netname attributes colliding with other netnames\n" "due to truncation of the name, case insensitivity, or\n" "other limitations imposed by this netlist format.\n" msgstr "" #, scheme-format msgid "" "There is a refdes name collision!\n" "The refdes \"~A\" will be mapped\n" "to \"~A\" which is already used\n" "by \"~A\".\n" "This may be caused by refdes attributes colliding with others\n" "due to truncation of the refdes, case insensitivity, or\n" "other limitations imposed by this netlist format.\n" msgstr "" #, scheme-format msgid "Can't open directory ~S.\n" msgstr "Kan bestandenmap ~S niet openen\n" #, fuzzy, scheme-format msgid "" "Usage: ~A [OPTION ...] [-g BACKEND] [--] FILE ...\n" "\n" "Generate a netlist from one or more Lepton EDA schematic FILEs.\n" "\n" "General options:\n" " -q Quiet mode.\n" " -v, --verbose Verbose mode.\n" " -o FILE Filename for netlist data output.\n" " -L DIR Add DIR to Scheme search path.\n" " -g BACKEND Specify netlist backend to use.\n" " -f FILE Specify path to netlist backend file to use.\n" " -O STRING Pass an option string to backend.\n" " -l FILE Load Scheme file before loading backend.\n" " -m FILE Load Scheme file after loading backend.\n" " -c EXPR Evaluate Scheme expression at startup.\n" " -i Enter interactive Scheme REPL after loading.\n" " -b, --list-backends Print a list of available netlist backends.\n" " -h, --help Help; this message.\n" " -V, --version Show version information.\n" " -- Treat all remaining arguments as filenames.\n" "\n" "Report bugs at \n" "Lepton EDA homepage: \n" msgstr "" "Gebruik: %s [OPTIE ...] [-g BACKEND] [--] BESTAND ...\n" "\n" "Genereer een netlijst van een of meer gEDA schema BESTANDen.\n" "\n" "Algemene opties:\n" " -q Stille modus.\n" " -v, --verbose Woordenrijke modus.\n" " -o BESTAND Bestandnaam voor netlijst gegevensuitvoer.\n" " -L MAP Voeg MAP toe aan Scheme zoekpad.\n" " -g BACKEND Specificeer het te gebruiken netlijst backend.\n" " -O STRENG Geef een optie streng aan de backend.\n" " -l BESTAND Laad Scheme bestand voor het laden van de backend.\n" " -m BESTAND Laad Scheme bestand na het laden van de backend.\n" " -c EXPR Evalueer de Scheme expressie tijdens opstarten.\n" " -i Ga in interactieve Scheme REPL na het laden.\n" " --list-backends Druk een lijst met beschikbare netlijst backends.\n" " -h, --help Help; dit bericht.\n" " -V, --version Toon versie informatie.\n" " -- Behandel alle overblijvende argumenten als bestandsnamen.\n" "\n" "Rapporteer gebreken op \n" "gEDA/gaf huispagina: \n" #, fuzzy, scheme-format msgid "" "\n" "Just got an error '~A':\n" " ~A\n" "\n" msgstr "" "\n" "Kreeg net een fout; tag is\n" " " msgid "You gave neither backend to execute nor interactive mode!\n" msgstr "U gaf geen backend om uit voeren noch interactieve modus!\n" #, fuzzy, scheme-format msgid "" "No schematic files specified for processing.\n" "~\n" " Run `~A --help' for more information.\n" msgstr "" "Geen schema bestanden gespecificeerd voor verwerking.\n" "\n" "Doe `~A --help' voor meer informatie.\n" #, fuzzy, scheme-format msgid "" "Could not find backend `~A' in load path.\n" "~\n" " Run `~A --list-backends' for a full list of " "available backends.\n" msgstr "" "Kan backend `~A' niet vinden in het laadpad.\n" "\n" "Doe `~A --list-backends' voor een volledige lijst van beschikbare backends.\n" #, scheme-format msgid "" "Can't load backend file ~S.\n" "~\n" " Backend files are expected to have names like " "\"gnet-NAME.scm\"\n" "~\n" " and contain entry point function NAME (where NAME " "is the backend's name).\n" msgstr "" #, scheme-format msgid "Netlist mode requested by backend is not supported: ~A\n" msgstr "" msgid "Failed to evaluate Scheme expression at startup.\n" msgstr "" msgid "Failed to load Scheme file before loading backend.\n" msgstr "" msgid "Failed to load backend file.\n" msgstr "" msgid "Failed to load Scheme file after loading backend.\n" msgstr "" #, scheme-format msgid "Invalid attribute (missing ':'): net=~A" msgstr "" #, scheme-format msgid "Attached net ~A:~A overrides inherited net ~A:~A" msgstr "" #, fuzzy #~ msgid "Found duplicate net name, renaming ~A to ~A" #~ msgstr "Vond een duplicaat net naam, hernoem [%s] naar [%s]\n" #, fuzzy #~ msgid "" #~ "WARNING: Trying to rename something twice:\n" #~ "\t~A and ~A\n" #~ "are both a src and dest name\n" #~ "This warning is okay if you have multiple levels of hierarchy!\n" #~ msgstr "" #~ "WAARSCHUWING: Probeer iets dubbel te hernoemen:\n" #~ "\t%s en %s\n" #~ "zijn beide een bron- en bestemmingnaam\n" #~ msgid "Loading schematic ~S\n" #~ msgstr "Laden van schema ~S\n" #, fuzzy #~ msgid "" #~ "gEDA/gnetlist version ~A~A.~A\n" #~ "gEDA/gnetlist comes with ABSOLUTELY NO WARRANTY; see COPYING for more " #~ "details.\n" #~ "This is free software, and you are welcome to redistribute it under " #~ "certain\n" #~ "conditions; please see the COPYING file for more details.\n" #~ msgstr "" #~ "gEDA/gnetlist versie %s%s.%s\n" #~ "gEDA/gnetlist komt met ABSOLUUT GEEN GARANTIE; zie ook COPYING voor meer " #~ "details.\n" #~ "Dit is vrije software, en U bent welkom om dit te verspreiden onder " #~ "bepaalde \n" #~ "condities; zie alstublieft het COPYING bestand voor meer details.\n" #~ "\n" #~ msgid "" #~ "List of available backends: \n" #~ "\n" #~ msgstr "" #~ "Lijst van beschikbare backends:\n" #~ "\n" #~ msgid "" #~ "This is the MINGW32 port.\n" #~ "\n" #~ msgstr "" #~ "Dit is de MINGW32 versie.\n" #~ "\n" #~ msgid "" #~ "ERROR: -%c option requires an argument.\n" #~ "\n" #~ msgstr "" #~ "FOUT: -%c optie vereist een argument.\n" #~ "\n" #~ msgid "" #~ "ERROR: Unknown option -%c.\n" #~ "\n" #~ msgstr "" #~ "FOUT: Onbekende optie -%c.\n" #~ "\n" #~ msgid "" #~ "ERROR: Unknown option character `\\x%x'.\n" #~ "\n" #~ msgstr "" #~ "FOUT: Onbekend optie karakter `\\x%x'.\n" #~ "\n" #~ msgid "" #~ "\n" #~ "Run `%s --help' for more information.\n" #~ msgstr "" #~ "\n" #~ "Doe `%s --help' voor meer informatie.\n" #, fuzzy #~ msgid "Going to traverse source [%1$s]" #~ msgstr "Ga de bron doorkruisen [%s]\n" #, fuzzy #~ msgid "Failed to load subcircuit '%1$s': %2$s\n" #~ msgstr "Faalde bij het laden van subcircuit '%s': %s\n" #, fuzzy #~ msgid "ERROR: Failed to load subcircuit '%1$s': %2$s\n" #~ msgstr "FOUT: Faalde om subcircuit '%s': %s te laden\n" #, fuzzy #~ msgid "" #~ "Found a pin [%1$s] on component [%2$s] which does not have a label!\n" #~ msgstr "Vond een pen [%s] op component [%s] welke geen label heeft!\n" #, fuzzy #~ msgid "" #~ "Missing I/O symbol with refdes [%1$s] inside schematic for symbol [%2$s]\n" #~ msgstr "" #~ "Ontbrekend I/O symbool met refdes [%s] in een schema voor symbool [%s]\n" #~ msgid "" #~ "\n" #~ "DONE\n" #~ msgstr "" #~ "\n" #~ "GEDAAN\n" #~ msgid " DONE\n" #~ msgstr " GEDAAN\n" #, fuzzy #~ msgid "ERROR: `%1$s' is reserved for internal use." #~ msgstr "FOUT: `%s' is gereserveerd voor intern gebruik." #~ msgid "Found malformed net attribute\n" #~ msgstr "Vond een misvormd net attribuut\n" #, fuzzy #~ msgid "Found a cpinlist head with a netname! [%1$s]\n" #~ msgstr "Vond een cpinlist kop met een netnaam! [%s]\n" #, fuzzy #~ msgid "" #~ "Got an invalid net= attrib [net=%1$s]\n" #~ "Missing : in net= attrib\n" #~ msgstr "" #~ "Kreeg een ongeldig= attrib [net=%s]\n" #~ "Ontbrekend : in net= attrib\n" #~ msgid "Missing Attributes (refdes and pin number)\n" #~ msgstr "Ontbrekende Attributen (refdes en pennummer)\n" #, fuzzy #~ msgid "s_net_name: incorrect connectivity type %1$i\n" #~ msgstr "s_net_name: incorrect verbinding type %i\n" #~ msgid "Increase number of unnamed nets (s_net.c)\n" #~ msgstr "Verhoog aantal naamloze netten (s_net.c)\n" #, fuzzy #~ msgid "" #~ "WARNING: Found a placeholder/missing component, are you missing a symbol " #~ "file? [%1$s]\n" #~ msgstr "" #~ "WAARSCHUWING: Vond een plaatshouder/ontbrekend component, mist U een " #~ "symbool bestand? [%s]\n" #~ msgid "" #~ "Could not find refdes on component and could not find any special " #~ "attributes!\n" #~ msgstr "" #~ "Kon geen refdes vinden op component en kon geen speciaal attributen " #~ "vinden!\n" #~ msgid "Non-connectable object being queried for connection type\n" #~ msgstr "Niet-verbindbaar object naar verbindingtype gevraagd\n" #, fuzzy #~ msgid "" #~ "WARNING: Found label=%1$s. label= is deprecated, please use netname=\n" #~ msgstr "" #~ "WAARSCHUWING: vond label=%s. label= is vervallen, gebruik alstublieft " #~ "netname=\n" #~ msgid "Found a possible net/pin infinite connection\n" #~ msgstr "Vond een mogelijk oneindige net/pen verbinding\n" #, fuzzy #~ msgid "uref= is deprecated, please use refdes=~A" #~ msgstr "" #~ "WAARSCHUWING: vond label=%s. label= is vervallen, gebruik alstublieft " #~ "netname=\n" #~ msgid "ERROR: Overwriting a valid rename list.\n" #~ msgstr "FOUT: Overschrijf een geldige hernoem-lijst.\n" #~ msgid "This warning is okay if you have multiple levels of hierarchy!\n" #~ msgstr "" #~ "Deze waarschuwing is in orde als je meervoudige niveaus van hiërarchie " #~ "hebt!\n" #~ msgid "ERROR: Failed to load '%s': %s\n" #~ msgstr "FOUT: Faalde bij het laden van '%s': %s\n" #~ msgid "" #~ "You are running gEDA/gaf version [%s%s.%s],\n" #~ "but you have a version [%s] gnetlistrc file:\n" #~ "[%s]\n" #~ "Please be sure that you have the latest rc file.\n" #~ msgstr "" #~ "U heeft gEDA/gaf versie [%s%s.%s],\n" #~ "maar U heeft een versie [%s] gnetlistrc bestand:\n" #~ "[%s]\n" #~ "Wees alstublieft zeker dat U het laatste rc bestand heeft.\n" #~ msgid "Invalid refdes ('%s') and pin ('%s') passed to get-nets\n" #~ msgstr "Ongeldige refdes ('%s') en pen ('%s') overgedragen aan get-nets\n" lepton-eda-1.9.10/netlist/po/remove-potcdate.sin0000644000175000017500000000066013634703644016500 00000000000000# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } lepton-eda-1.9.10/netlist/po/LINGUAS0000644000175000017500000000004413634703632013705 00000000000000# Set of available languages nl ru lepton-eda-1.9.10/netlist/po/POTFILES.in0000644000175000017500000000017513634703632014442 00000000000000# List of translatable files netlist/scheme/netlist.scm netlist/scheme/netlist/hierarchy.scm netlist/scheme/netlist/net.scm lepton-eda-1.9.10/netlist/po/stamp-po0000644000175000017500000000001213634704515014337 00000000000000timestamp lepton-eda-1.9.10/netlist/po/insert-header.sin0000644000175000017500000000124013634703644016127 00000000000000# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } lepton-eda-1.9.10/netlist/po/Makevars0000644000175000017500000000357213634703632014365 00000000000000# Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = lepton-netlist # These two variables depend on the location of this directory. subdir = netlist/po top_builddir = ../.. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ MSGMERGE_OPTIONS = --no-location PO_DEPENDS_ON_POT = no # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = Lepton Developers # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = https://github.com/lepton-eda/lepton-eda/issues # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = lepton-eda-1.9.10/netlist/po/Rules-quot0000644000175000017500000000340013634703643014664 00000000000000# Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-create: $(MAKE) en@quot.po-update en@boldquot.po-create: $(MAKE) en@boldquot.po-update en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header lepton-eda-1.9.10/netlist/po/en@boldquot.header0000644000175000017500000000247113634703643016316 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # lepton-eda-1.9.10/netlist/po/nl.gmo0000644000175000017500000000123313634704515013777 00000000000000Þ•4L`a:{ˆ¶ ?:`Can't open directory ~S. You gave neither backend to execute nor interactive mode! Project-Id-Version: geda-gnetlist Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2014-08-31 20:38+0100 Last-Translator: Bert Timmerman Language-Team: gEDA Developers Language: nl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Poedit-Language: Dutch X-Poedit-Country: NETHERLANDS Kan bestandenmap ~S niet openen U gaf geen backend om uit voeren noch interactieve modus! lepton-eda-1.9.10/netlist/docs/0000755000175000017500000000000013634704572013260 500000000000000lepton-eda-1.9.10/netlist/docs/README.pcb0000644000175000017500000001122213634703632014615 00000000000000------------------------------------------------------------------ JM Routoure. routoure@greyc.ismra.fr 17/01/2000 I would like to thank Stefan Petersen for debuging the scheme program. ------------------------------------------------------------------- This document describes how to install (section I) and use (section II) the gschem2pcb package. Section III describes some of the footprints available in pcb The purpose of this package is to interface gschem with pcb. It uses a scheme program and a script. Section I : Installation. 1. Untar the gschem2pcb.tar. You must obtain 3 files gschem2pcb.sh, GNET-PCBboard.scm and the README file. 2. Move gschem2pcb.sh in a directory which is in your PATH (/usr/local/bin for instance ). Be sure that gschem2pcb.sh can be executed (chmod 755 gschem2pcb.sh) 3. Move GNET-PCBboard.scm in the share directory of your gEDA distribution. Normally, it should be /usr/local/share/gEDA/scheme. 4. Modify the common.m4 file of the pcb program (should be found in /usr/X11R6/lib/X11/pcb/m4/) like this : the include keywords at the end of the file must be replace by include(/usr/X11R6/lib/X11/pcb/m4/connector.inc) include(/usr/X11R6/lib/X11/pcb/m4/dil.inc) include(/usr/X11R6/lib/X11/pcb/m4/misc.inc) include(/usr/X11R6/lib/X11/pcb/m4/plcc.inc) include(/usr/X11R6/lib/X11/pcb/m4/to.inc) include(/usr/X11R6/lib/X11/pcb/m4/qfp.inc) 5. Edit the ~/.gEDA/gschemrc file and be sure that the following line exists : (attribute-name "footprint") 6. Be sure that grep, sed and gawk are installed. That's all.. Section II : using gschem2pcb. 1. With gschem, create a schematic. All the device you want to have in pcb must have a Uref attribute. The footprint that you want to use in pcb are indicated by the footprint attribute (see section III for the description of the footprint in pcb) Be careful that the attributes Uref, name, value and device must not contain space char. -------------------------------------------------------- 2. Save your work (ultralownoise.sch for instance -ambitious design!) and type in a shell gschem2pcb.sh ultralownoise.sch. note : the gschem file must end by .sch Error messages will appear if some space characters are found in the attributes Uref, name, value and device and if the name of the footprint was not found. Warning, pcb files are created even if errors occur! - if ultralownoise.pcb does not exist, it will be created. A netlist file ultralownoise.net will also be created. In pcb, load the pcb (load layout). All the footprints will appears at the top-left corner of the windows. Load the netlist (load netlist file) and type the key "w". Place the footprints and type "o" to optimize the rastnet. See the pcb documentation for details. - if ultralownoise.pcb exists, a ultralownoise.new.pcb file should be created. It should contain only the new device that have been added in the schematic since the last save of the ultralownoise.pcb file. Use "load layout data to paste buffer" to include the new footprints in the pcb file. The nestlist file is also updated so read it again. Section III. Description of the name of the footprint in pcb. pcb uses macro to define the footprints. For DIL packages, for instance, 2 arguments are used to indicate the number of pins and the width in mil of the footprint. In gschem the footprint attribute of a 300 mil width and 8 pins DIL is: DIL 8 300. Warning, for that attribute, you have to included the space char! In the following. I describe the footprint attribute that are to be used in gschem for the footprint avalaible in pcb. N stands for the number of pins, W the width in mil, L the length in mil and D the diameter in mil CONNECTOR ROWS COLS # single connector DIN41_651LAY N # DIN 41.651 laying DIN41_651STAND N # DIN 41.651 standing SUBD_LAY_BASE N # SUB-D connector laying SUBD_MALE_LAY_BASE N # SUB-D connector male laying SUBD_FEMALE_LAY_BASE N # SUB-D connector female laying DIL N W # dual-inline standard D N # dual inline with W=244 DW N # dual inline with W=419 SD N # SD (ZIP) MULTIWATT15 # 15 pins multiwatt footprint R025 # standard 1/4W resistor !now attributes SIL N # SIL CSIL # SIL package with a common pin QFP132 # QFP132 flat pack LED D # standing LED DIODE_LAY L # laying diode AXIAL_LAY L # standard axial footprint CRYSTAL W # crystal package OSC # a can oscillator ISA8 # 8 bit ISA Slot card OVEN_OSC # ovenized-oscillator package RADIAL_CAN W # a radial capcitor package PLCC N # pllc PLCC N add # pllc with additionnal border add QFP N add # qfp with additionnal border add No additional parameters for the to footprints TO3_90 TO3_45 TO5 TO92 TO126 TO126LAY-WIDE TO126STAND-WIDE TO220 TO220LAY-WIDE TO220STAND TO220STAND-WIDE lepton-eda-1.9.10/netlist/docs/README.bom0000644000175000017500000000137113634703632014632 00000000000000 README for BOM - Bill Of Materials generater for gnetlist. -------------------------------------------------------------------------- I (Matt) put together a quick bill of materials generator for gnetlist. It takes a configuration file which tells it what attributes you want netlisted (i.e. vendor, part number). This is a sample config file: device label name Just call it with gnetlist -g bom -o test.bom test.sch The config file must be called "attribs" and be in the pwd, because there is no way to pass arguments to the netlister (at least that I could find). Eventually I'd like to integrate this with some sort of a database for production purposes. Let me know if you are interested in helping or have any ideas. Matt matt@ettus.com lepton-eda-1.9.10/netlist/docs/Makefile.in0000644000175000017500000007046213634703710015247 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = netlist/docs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/geda-assert.m4 \ $(top_srcdir)/m4/geda-awk.m4 $(top_srcdir)/m4/geda-cairo.m4 \ $(top_srcdir)/m4/geda-contrib.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-liblepton.m4 \ $(top_srcdir)/m4/geda-libleptonrenderer.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lepton-data-dirs.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pcb-data-dirs.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(dist_docsreadme_DATA) \ $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } man1dir = $(mandir)/man1 am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docsreadmedir)" \ "$(DESTDIR)$(docsmandir)" NROFF = nroff MANS = $(dist_man_MANS) DATA = $(dist_docsreadme_DATA) $(docsman_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir distdir-am am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITMAP_DIRECTORY = @BITMAP_DIRECTORY@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CAIRO_PDF_CFLAGS = @CAIRO_PDF_CFLAGS@ CAIRO_PDF_LIBS = @CAIRO_PDF_LIBS@ CAIRO_PNG_CFLAGS = @CAIRO_PNG_CFLAGS@ CAIRO_PNG_LIBS = @CAIRO_PNG_LIBS@ CAIRO_PS_CFLAGS = @CAIRO_PS_CFLAGS@ CAIRO_PS_LIBS = @CAIRO_PS_LIBS@ CAIRO_SVG_CFLAGS = @CAIRO_SVG_CFLAGS@ CAIRO_SVG_LIBS = @CAIRO_SVG_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOT = @DOT@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LIBS = @GDK_LIBS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GETTEXT = @GETTEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIT = @GIT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILD = @GUILD@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_EFFECTIVE_VERSION = @GUILE_EFFECTIVE_VERSION@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_LTLIBS = @GUILE_LTLIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEPTONDATADIR = @LEPTONDATADIR@ LEPTON_SCM_PRECOMPILE_DIR = @LEPTON_SCM_PRECOMPILE_DIR@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBLEPTONRENDERER_SHLIB_VERSION = @LIBLEPTONRENDERER_SHLIB_VERSION@ LIBLEPTON_GETTEXT_DOMAIN = @LIBLEPTON_GETTEXT_DOMAIN@ LIBLEPTON_SHLIB_VERSION = @LIBLEPTON_SHLIB_VERSION@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGOCAIRO_CFLAGS = @PANGOCAIRO_CFLAGS@ PANGOCAIRO_LIBS = @PANGOCAIRO_LIBS@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = vams EXTRA_DIST = $(html_man_files) lepton-netlist.1.in mk_verilog_syms.1.in docsreadmedir = $(docdir)/readmes dist_docsreadme_DATA = \ README.bom README.pcb README.switcap README.verilog \ README.vhdl README.sysc README.eagle dist_man_MANS = lepton-netlist.1 noinst_MANS = mk_verilog_syms.1 # Rules for converting man->html html_man_files = $(dist_man_MANS:%.1=%.html) SUFFIXES = .1.in .1 .html docsmandir = $(docdir)/man docsman_DATA = $(html_man_files) CLEANFILES = $(dist_man_MANS) $(html_man_files) all: all-recursive .SUFFIXES: .SUFFIXES: .1.in .1 .html $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign netlist/docs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign netlist/docs/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-man1: $(dist_man_MANS) @$(NORMAL_INSTALL) @list1=''; \ list2='$(dist_man_MANS)'; \ test -n "$(man1dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.1[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ done; } uninstall-man1: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.1[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) install-dist_docsreadmeDATA: $(dist_docsreadme_DATA) @$(NORMAL_INSTALL) @list='$(dist_docsreadme_DATA)'; test -n "$(docsreadmedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(docsreadmedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(docsreadmedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docsreadmedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docsreadmedir)" || exit $$?; \ done uninstall-dist_docsreadmeDATA: @$(NORMAL_UNINSTALL) @list='$(dist_docsreadme_DATA)'; test -n "$(docsreadmedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docsreadmedir)'; $(am__uninstall_files_from_dir) install-docsmanDATA: $(docsman_DATA) @$(NORMAL_INSTALL) @list='$(docsman_DATA)'; test -n "$(docsmandir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(docsmandir)'"; \ $(MKDIR_P) "$(DESTDIR)$(docsmandir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docsmandir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docsmandir)" || exit $$?; \ done uninstall-docsmanDATA: @$(NORMAL_UNINSTALL) @list='$(docsman_DATA)'; test -n "$(docsmandir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docsmandir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(MANS) $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docsreadmedir)" "$(DESTDIR)$(docsmandir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dist_docsreadmeDATA install-docsmanDATA \ install-man install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-man1 install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-dist_docsreadmeDATA uninstall-docsmanDATA \ uninstall-man uninstall-man: uninstall-man1 .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-dist_docsreadmeDATA install-docsmanDATA install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-man1 install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-dist_docsreadmeDATA \ uninstall-docsmanDATA uninstall-man uninstall-man1 .PRECIOUS: Makefile .1.in.1: d=`$(GUILE) -c '(setlocale LC_ALL "C") \ (display (strftime "%B %-d, %Y" \ (car (strptime "%Y%m%d" (cadr (program-arguments))))))' $(DATE_VERSION)` ; \ v="$(DOTTED_VERSION).$(DATE_VERSION)" ; \ y=`echo $(DATE_VERSION)| sed -e"s/\(....\).*/\1/"`; \ sed -e"s:[@]DATE@:$$d:" -e"s:[@]VERSION@:$$v:" -e"s:[@]YEAR@:$$y:" < $< > $@ @ENABLE_GROFF_HTML_TRUE@.1.html: @ENABLE_GROFF_HTML_TRUE@ rm -rf $@.tmp && \ @ENABLE_GROFF_HTML_TRUE@ LC_NUMERIC=C $(GROFF) -man -T html $< >$@.tmp && \ @ENABLE_GROFF_HTML_TRUE@ mv -f $@.tmp $@ @ENABLE_GROFF_HTML_FALSE@.1.html: @ENABLE_GROFF_HTML_FALSE@ @echo "No working groff available: cannot create $@" @ENABLE_GROFF_HTML_FALSE@ @! : # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: lepton-eda-1.9.10/netlist/docs/README.sysc0000644000175000017500000000420013634703632015030 00000000000000TITLE: Gnetlist SystemC Backend OBJECTIVE: Transform a geda schematic into a transaction based structural systemc module. LIMITATIONS: 1.- Only transaction based wires are considered (wire_name). 2.- Unnamed wires are eliminated. 3.- In/out ports have to be inserted manually in the sysc code. 4.- Duplicated include headers are not eliminated by the backend. 5.- The maximum number of object constructor parameters is 31 (attr1->attr31). LINKS: GPL Electronic Design Automation (geda-gnetlist): http://www.geda-project.org/ SystemC: http://www.systemc.org ACK: Based on gnet-verilog.scm by Mike Jarabek. EXAMPLE: Schematic: src1 alg1 snk1 ______________ _______________ _______________ | source | a | algorithm | b | sink | | OUT|__ _________ __|IN OUT|__ _____ __|IN | | | | | | | | infile.data| | | | outfile.data| |____________| |_____________| |_____________| Attributes: Schematic: module_name=test_sch2sysc Wires: netname=a netname=b Symbols: refdes=src1 attr1=infile.data refdes=alg1 refdes=snk1 attr1=outfile.data refdes=pina refdes=pinb SystemC: #include "systemc.h" #include "sink.h" #include "source.h" #include "algorithm.h" SC_MODULE (test_sch2sysc) { /* Port directions begin here */ /* Wires from the design */ sc_signal b; sc_signal a; /* Package instantiations */ sink snk1; source src1; algorithm alg1; SC_CTOR(test_sch2sysc): snk1("snk1","outfile.data"), src1("src1","infile.data"), alg1("alg1") { snk1.IN(b); src1.OUT(a); alg1.IN(a); alg1.OUT(b); } }; lepton-eda-1.9.10/netlist/docs/lepton-netlist.10000644000175000017500000001514313634704515016244 00000000000000.TH lepton-netlist 1 "March 19, 2020" "Lepton EDA" 1.9.10.20200319 .SH NAME lepton-netlist - Lepton EDA Netlist Extraction and Generation .SH SYNOPSIS .B lepton-netlist [\fIOPTION\fR ...] [\fB-g\fR \fIBACKEND\fR | \fB-f\fR \fIFILE\fR] [\fI--\fR] \fIFILE\fR ... .SH DESCRIPTION .PP \fBlepton-netlist\fR is a netlist extraction and generation tool, and is part of the Lepton EDA (Electronic Design Automation) toolset. It takes one or more electronic schematics as input, and outputs a netlist. A netlist is a machine-interpretable description of the way that components in an electronic circuit are connected together, and is commonly used as the input to a PCB layout program such as \fBpcb\fR(1) or to a simulator such as \fBgnucap\fR(1). A normal \fBlepton-netlist\fR run is carried out in two steps. First, the \fBlepton-netlist\fR frontend loads the specified human-readable schematic \fIFILE\fRs, and compiles them to an in-memory netlist description. Next, a `backend' is used to export the connection and component data to one of many supported netlist formats. \fBlepton-netlist\fR is extensible, using the Scheme programming language. .SH GENERAL OPTIONS .TP 8 \fB-q\fR Quiet mode. Turns off all warnings/notes/messages. .TP 8 \fB-v\fR, \fB--verbose\fR Verbose mode. Output all diagnostic information. .TP 8 \fB-L\fR \fIDIRECTORY\fR Prepend \fIDIRECTORY\fR to the list of directories to be searched for Scheme files. .TP 8 \fB-g\fR \fIBACKEND\fR Specify the netlist backend to be used. .TP 8 \fB-f\fR \fIFILE\fR Load and use netlist backend from \fIFILE\fR. \fIFILE\fR is expected to have name like "gnet-NAME.scm" and contain entry point function NAME (where NAME is the backend's name). .TP 8 \fB-O\fR \fISTRING\fR Pass an option string to the backend. .TP 8 \fB-b\fR, \fB--list-backends\fR Print a list of available netlist backends. .TP 8 \fB-o\fR \fIFILE\fR Specify the filename for the generated netlist. By default, output is directed to `output.net'. If `-' is given instead of a filename, the output is directed to the standard output. .TP 8 \fB-l\fR \fIFILE\fR Specify a Scheme file to be loaded before the backend is loaded or executed. This option can be specified multiple times. .TP 8 \fB-m\fR \fIFILE\fR Specify a Scheme file to be loaded between loading the backend and executing it. This option can be specified multiple times. .TP 8 \fB-c\fR \fIEXPR\fR Specify a Scheme expression to be executed during \fBlepton-netlist\fR startup. This option can be specified multiple times. .TP 8 \fB-i\fR After the schematic files have been loaded and compiled, and after all Scheme files have been loaded, but before running the backend, enter a Scheme read-eval-print loop. .TP 8 \fB-h\fR, \fB--help\fR Print a help message. .TP 8 \fB-V\fR, \fB--version\fR Print \fBlepton-netlist\fR version information. .TP 8 \fB--\fR Treat all remaining arguments as schematic filenames. Use this if you have a schematic filename which begins with `-'. .SH BACKENDS .PP Currently, \fBlepton-netlist\fR includes the following backends: .TP 8 \fBallegro\fR Allegro netlist format. .TP 8 \fBbae\fR Bartels Autoengineer netlist format. .TP 8 \fBbom\fR, \fBbom2\fR Bill of materials generation. .TP 8 \fBcalay\fR Calay netlist format. .TP 8 \fBcascade\fR RF Cascade netlist format .TP 8 \fBdrc\fR, \fBdrc2\fR Design rule checkers (\fBdrc2\fR is recommended). .TP 8 \fBeagle\fR Eagle netlist format. .TP 8 \fBewnet\fR Netlist format for National Instruments ULTIboard layout tool. .TP 8 \fBfuturenet2\fR Futurenet2 netlist format. .TP 8 \fBgeda\fR Native gEDA netlist format (mainly used for testing and diagnostics). .TP 8 \fBgossip\fR Gossip netlist format. .TP 8 \fBgsch2pcb\fR Backend used for \fBpcb\fR(1) file layout generation by \fBgsch2pcb\fR(1). It is not recommended to use this backend directly. .TP 8 \fBliquidpcb\fR LiquidPCB netlist format. .TP 8 \fBmathematica\fR Netlister for analytical circuit solving using Mathematica. .TP 8 \fBmaxascii\fR MAXASCII netlist format. .TP 8 \fBosmond\fR Osmond netlist format. .TP 8 \fBpads\fR PADS netlist format. .TP 8 \fBpartslist1\fR, \fBpartslist2\fR, \fBpartslist3\fR Bill of materials generation backends (alternatives to \fBbom\fR and \fBbom2\fR). .TP 8 \fBPCB\fR \fBpcb\fR(1) netlist format. .TP 8 \fBpcbpins\fR Generates a \fBpcb\fR(1) action file for forward annotating pin/pad names from schematic to layout. .TP 8 \fBprotelII\fR Protel II netlist format. .TP 8 \fBredac\fR RACAL-REDAC netlist format. .TP 8 \fBspice\fR, \fBspice-sdb\fR SPICE-compatible netlist format (\fBspice-sdb\fR is recommended). Suitable for use with \fBgnucap\fR(1). .TP 8 \fBswitcap\fR SWITCAP switched capacitor simulator netlist format. .TP 8 \fBsystemc\fR Structural SystemC code generation. .TP 8 \fBtango\fR Tango netlist format. .TP 8 \fBtEDAx\fR Trivial EDA eXchange (tEDAx) format. .TP 8 \fBvams\fR VHDL-AMS code generation. .TP 8 \fBverilog\fR Verilog code generation. .TP 8 \fBvhdl\fR VHDL code generation. .TP 8 \fBvipec\fR ViPEC Network Analyser netlist format. .SH EXAMPLES .PP These examples assume that you have a `stack_1.sch' in the current directory. .PP \fBlepton-netlist\fR requires that at least one schematic to be specified on the command line: .nf ./lepton-netlist stack_1.sch .ad b .PP This is not very useful since it does not direct \fBlepton-netlist\fR to do anything. .PP Specify a backend name with `\-g' to get \fBlepton-netlist\fR to output a netlist: .nf ./lepton-netlist \-g geda stack_1.sch .ad b .PP The netlist output will be written to a file called `output.net' in the current working directory. .PP You can specify the output filename by using the `\-o' option: .nf ./lepton-netlist \-g geda stack_1.sch \-o /tmp/stack.netlist .ad b .PP Output will now be directed to `/tmp/stack.netlist'. .PP You could run (for example) the `spice-sdb' backend against the schematic if you specified `\-g spice-sdb', or you could generate a bill of materials for the schematic using `\-g partslist1'. .PP To obtain a Scheme prompt to run Scheme expressions directly, you can use the `\-i' option. .nf ./lepton-netlist \-i stack_1.sch .ad b .PP \fBlepton-netlist\fR will load `stack_1.sh', and then enter an interactive Scheme read-eval-print loop. .SH AUTHORS See the `AUTHORS' file included with this program. .SH COPYRIGHT .nf Copyright \(co 2012-2017 gEDA Contributors. Copyright \(co 2017-2020 Lepton Developers. License GPLv2+: GNU GPL version 2 or later. Please see the `COPYING' file included with this program for full details. .PP This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH SEE ALSO \fBlepton-schematic\fR(1), \fBlepton-symcheck\fR(1), \fBpcb\fR(1), \fBgnucap\fR(1) lepton-eda-1.9.10/netlist/docs/Makefile.am0000644000175000017500000000204713634703632015233 00000000000000SUBDIRS = vams EXTRA_DIST = $(html_man_files) lepton-netlist.1.in mk_verilog_syms.1.in docsreadmedir = $(docdir)/readmes dist_docsreadme_DATA = \ README.bom README.pcb README.switcap README.verilog \ README.vhdl README.sysc README.eagle dist_man_MANS = lepton-netlist.1 noinst_MANS = mk_verilog_syms.1 .1.in.1: d=`$(GUILE) -c '(setlocale LC_ALL "C") \ (display (strftime "%B %-d, %Y" \ (car (strptime "%Y%m%d" (cadr (program-arguments))))))' $(DATE_VERSION)` ; \ v="$(DOTTED_VERSION).$(DATE_VERSION)" ; \ y=`echo $(DATE_VERSION)| sed -e"s/\(....\).*/\1/"`; \ sed -e"s:[@]DATE@:$$d:" -e"s:[@]VERSION@:$$v:" -e"s:[@]YEAR@:$$y:" < $< > $@ # Rules for converting man->html html_man_files = $(dist_man_MANS:%.1=%.html) SUFFIXES = .1.in .1 .html docsmandir=$(docdir)/man docsman_DATA=$(html_man_files) if ENABLE_GROFF_HTML .1.html: rm -rf $@.tmp && \ LC_NUMERIC=C $(GROFF) -man -T html $< >$@.tmp && \ mv -f $@.tmp $@ else .1.html: @echo "No working groff available: cannot create $@" @! : endif CLEANFILES = $(dist_man_MANS) $(html_man_files) lepton-eda-1.9.10/netlist/docs/README.eagle0000644000175000017500000000164613634703632015137 00000000000000Basic information about the Eagle PCB backend and sch2eaglepos.sh gnet-eagle.scm The script uses the component's package, footprint, value, and (if no value) device attributes, as well as the netlist, to generate an Eagle script that will add and connect all components. It also introduces a "lib" attribute, which specifies the Eagle library where the footprint can be found...if a "lib" attribute is not set for a component, then the library defaults to "smd-ipc" (the default Eagle surface mount library). sch2eaglepos.sh I am also including a simple shell script that I wrote which has saved me hours by extracting the relative locations of the parts from a gschem schematic, and generating an Eagle script to place the components in the same relative locations on the layout. By default all packages are piled on top of each other, and with a large design it takes a long time to sort out which cap bypasses which IC, etc. lepton-eda-1.9.10/netlist/docs/README.vhdl0000644000175000017500000000112613634703632015010 00000000000000 The VHDL backend Written by Magnus Danielson and improved by Thomas Heidel A few things you have to care about: 1. In order to generate valid component declarations, you have to add an additional attribute to each pin. "type=IN" or "type=OUT" or "type=INOUT" 2. The "device" attribute must be unique to a symbol! The verilog symbols of the same type for example, have all the same device attribute and will therefore not work. 3. Make sure your component-library picks up the vhdl symbols instead of the verilog symbols Library paths that show up last are searched first! lepton-eda-1.9.10/netlist/docs/lepton-netlist.html0000644000175000017500000004007413634704515017051 00000000000000 lepton-netlist

lepton-netlist

NAME
SYNOPSIS
DESCRIPTION
GENERAL OPTIONS
BACKENDS
EXAMPLES
AUTHORS
COPYRIGHT
SEE ALSO

NAME

lepton-netlist - Lepton EDA Netlist Extraction and Generation

SYNOPSIS

lepton-netlist [OPTION ...] [-g BACKEND | -f FILE] [--] FILE ...

DESCRIPTION

lepton-netlist is a netlist extraction and generation tool, and is part of the Lepton EDA (Electronic Design Automation) toolset. It takes one or more electronic schematics as input, and outputs a netlist. A netlist is a machine-interpretable description of the way that components in an electronic circuit are connected together, and is commonly used as the input to a PCB layout program such as pcb(1) or to a simulator such as gnucap(1).

A normal lepton-netlist run is carried out in two steps. First, the lepton-netlist frontend loads the specified human-readable schematic FILEs, and compiles them to an in-memory netlist description. Next, a ’backend’ is used to export the connection and component data to one of many supported netlist formats.

lepton-netlist is extensible, using the Scheme programming language.

GENERAL OPTIONS

-q

Quiet mode. Turns off all warnings/notes/messages.

-v, --verbose

Verbose mode. Output all diagnostic information.

-L DIRECTORY

Prepend DIRECTORY to the list of directories to be searched for Scheme files.

-g BACKEND

Specify the netlist backend to be used.

-f FILE

Load and use netlist backend from FILE. FILE is expected to have name like "gnet-NAME.scm" and contain entry point function NAME (where NAME is the backend’s name).

-O STRING

Pass an option string to the backend.

-b, --list-backends

Print a list of available netlist backends.

-o FILE

Specify the filename for the generated netlist. By default, output is directed to ’output.net’. If ’-’ is given instead of a filename, the output is directed to the standard output.

-l FILE

Specify a Scheme file to be loaded before the backend is loaded or executed. This option can be specified multiple times.

-m FILE

Specify a Scheme file to be loaded between loading the backend and executing it. This option can be specified multiple times.

-c EXPR

Specify a Scheme expression to be executed during lepton-netlist startup. This option can be specified multiple times.

-i

After the schematic files have been loaded and compiled, and after all Scheme files have been loaded, but before running the backend, enter a Scheme read-eval-print loop.

-h, --help

Print a help message.

-V, --version

Print lepton-netlist version information.

--

Treat all remaining arguments as schematic filenames. Use this if you have a schematic filename which begins with ’-’.

BACKENDS

Currently, lepton-netlist includes the following backends:

allegro

Allegro netlist format.

bae

Bartels Autoengineer netlist format.

bom, bom2

Bill of materials generation.

calay

Calay netlist format.

cascade

RF Cascade netlist format

drc, drc2

Design rule checkers (drc2 is recommended).

eagle

Eagle netlist format.

ewnet

Netlist format for National Instruments ULTIboard layout tool.

futurenet2

Futurenet2 netlist format.

geda

Native gEDA netlist format (mainly used for testing and diagnostics).

gossip

Gossip netlist format.

gsch2pcb

Backend used for pcb(1) file layout generation by gsch2pcb(1). It is not recommended to use this backend directly.

liquidpcb

LiquidPCB netlist format.

mathematica

Netlister for analytical circuit solving using Mathematica.

maxascii

MAXASCII netlist format.

osmond

Osmond netlist format.

pads

PADS netlist format.

partslist1, partslist2, partslist3

Bill of materials generation backends (alternatives to bom and bom2).

PCB

pcb(1) netlist format.

pcbpins

Generates a pcb(1) action file for forward annotating pin/pad names from schematic to layout.

protelII

Protel II netlist format.

redac

RACAL-REDAC netlist format.

spice, spice-sdb

SPICE-compatible netlist format (spice-sdb is recommended). Suitable for use with gnucap(1).

switcap

SWITCAP switched capacitor simulator netlist format.

systemc

Structural SystemC code generation.

tango

Tango netlist format.

tEDAx

Trivial EDA eXchange (tEDAx) format.

vams

VHDL-AMS code generation.

verilog

Verilog code generation.

vhdl

VHDL code generation.

vipec

ViPEC Network Analyser netlist format.

EXAMPLES

These examples assume that you have a ’stack_1.sch’ in the current directory.

lepton-netlist requires that at least one schematic to be specified on the command line:

./lepton-netlist stack_1.sch

This is not very useful since it does not direct lepton-netlist to do
anything.

Specify a backend name with ’-g’ to get lepton-netlist to output a
netlist:

./lepton-netlist -g geda stack_1.sch

The netlist output will be written to a file called ’output.net’
in the current working directory.

You can specify the output filename by using the ’-o’ option:

./lepton-netlist -g geda stack_1.sch -o /tmp/stack.netlist

Output will now be directed to ’/tmp/stack.netlist’.

You could run (for example) the ’spice-sdb’ backend against the
schematic if you specified ’-g spice-sdb’, or you could generate a
bill of materials for the schematic using ’-g partslist1’.

To obtain a Scheme prompt to run Scheme expressions directly, you can
use the ’-i’ option.

./lepton-netlist -i stack_1.sch

lepton-netlist will load ’stack_1.sh’, and then enter an interactive
Scheme read-eval-print loop.

AUTHORS

See the ’AUTHORS’ file included with this program.

COPYRIGHT

Copyright © 2012-2017 gEDA Contributors.
Copyright © 2017-2020 Lepton Developers.
License GPLv2+: GNU GPL version 2 or later. Please see the ’COPYING’
file included with this program for full details.

This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

lepton-schematic(1), lepton-symcheck(1), pcb(1), gnucap(1)


lepton-eda-1.9.10/netlist/docs/README.verilog0000644000175000017500000003700513634703632015527 00000000000000Verilog netlister readme. THIS IS FREE SOFTWARE, see the included file COPYING for more info. Latest README: This is the fifth release of the Verilog netlister for gEDA. New in this release: 1) Escaped Verilog identifiers. To facilitate board level simulations, the Verilog netlister now outputs `escaped' Verilog identifiers for any net, port or instance name that does not appear to be a valid Verilog identifier. In this way, chips with numbered pins can be netlisted and models constructed to run digital simulations of complete circuits. Mike Jarabek ----- OLDER README.verilog's ----- This is the fourth release of the Verilog netlister for gEDA. New in this release: 1) Multiple width wires. How to use: (mostly taken from a previous readme... ) Here's how to proceed to make a schematic that can be netlisted to verilog. 1) Create your modules by the standard method, keep in mind that you must supply a `pin#' attribute for each port you want to create in the generated verilog. gmk_sym is useful for this. 2) Place each of your newly created modules on the schematic. You may also place primitives from the `verilog' symbol library. Be sure to give a _unique_ `uref' to every symbol you place on the schematic, unless two symbols are actually different parts of the same module, and the pins listed on each symbol do not have any names in common. Otherwise they will not get netlisted. 3) Connect nets between the modules you want. Remember, if you want legible Verilog later, don't forget to name all your nets by attaching `label' attributes to them. For Multiple bit wires just use standard Verilog notation. The netlister will figure out which bit ordering you want. Be sure to have at least one net labeled with the complete range expression, otherwise the netlister will guess at whether you wanted net[15:0] or net[0:15] in your declarations. Any inconsistent ranges will be reported as a warning. Strings that appear to be invalid Verilog identifiers will be printed with a warning, but otherwise ignored. (If you get a warning for a valid Verilog identifier, please post a bug report!) 4) Insert IPAD's, OPAD's, and IOPAD's for all the nets you want to be visible in the module declaration statement. It is especially important to make sure that the nets you hook up to the pads are named, as the net names could change from run to run, that's a bad thing. (I/O pads would be a good place to put the aformentionned full range expressions. Range expressions on I/O pads are ignored when outputting the module declaration, but they are used in figuring out the final bit ranges.) Every pad must have a unique uref, otherwise the netlister will get confused. 5) Add an unattached attribute `module_name=Your_Module' somewhere on the schematic, near the title block is good. This will name the generated Verilog module `Your_Module'. 6) Save your design. 7) Run the schematic through the netlister: gnetlist -g verilog -o output.v schematic.sch 7a) Check the output for correctness, _especially_ if you got any warnings. (There should be no warnings.) 8) Feed the netlist to your favorite simulator/synthesis tool. Mike Jarabek This is the third release of the Verilog netlister for geda. Fixed in this release: 1) Netlister no longer barfs if there are no Input/Output/InOut ports on the module. 2) Module instantiation code much improved/cleaned up, mostly due to g_netlist.c patch. New in this release: 1) A whole wack-load of symbols, I created a C program that generates n-input versions of and, nand, or, nor, xor, and xnor symbols 2) Modules instantiated with positional port connections. Just add the attribute `VERILOG_PORTS=POSITIONAL' to your symbol file as an unattached attribute, or attach it to the symbol on the schematic. 3) Added bufif?, notif?, not and buf symbols. 4) Added example of positional port module instantiation to the example schematic 5) Added 7447 example schematic Coming: 1) Module instantiation parameters. (probably by an attribute) Included in this tar-ball are three patch files against the 19990705 version of gEDA. Apply g_netlist.c.diff and g_register.c.diff to the files in gnetlist/src/ and gnetlist.scm.diff to gnetlist.scm in the gnetlist/scheme directory. You may have to regenerate prototype.h, or manually patch it. Replace the symbols in the sym/verilog directory with the symbols in this distribution. (I have modified all of the symbols to use the new unattached attribute convention for device et al.) (if you have applied the patch I sent to the mailing list that fixes netlisting a module with no ports, you may have trouble applying the gnetlist.scm.diff patch.) Don't forget to do a `make all install' after applying the patches. Once again, to netlist the example schematics to verilog type: (Assuming gnetlist has been patched and is properly installed.) gnetlist -g verilog -o test.v examples/sch/test.sch or gnetlist -g verilog -o 7447.v examples/sch/7447.sch (This README was from 19990629) Verilog netlister readme. THIS IS FREE SOFTWARE, see the included file COPYING for more info. This is the second release of the Verilog netlister for geda. Fixed in this release: 1) The last comma in the argument list to instantiations and module definitions is now suppressed 2) Better handling of `special' components has been added New in this release: 1) Continuous assignments to 1'b0 and 1'b1 can now be generated by connecting the `high' or `low' symbol to a net. Mike Jarabek mjarabek@playground.net -- This the verilog netlister for gEDA. Included in the tarball are several diff files against the 19990327 gEDA distribution. All of the patches apply to the gnetlist subirectory. You should be able to apply them with `patch -p1'. The netlister has its limitations: (most of these will eventually get fixed, I hope..) 1) Components connected by reference, (i.e. by having named net stubs attached to pins, but not conected by a continuous line) create duplicate entries in the wire declaration section of the verilog code. 2) Multiple width wires don't work. (Busses will help this) 3) There is no way to force a signal to 1,0,z,x (yet). 4) Some scheme code needs to be improved. (Mainly the classification code, it inserts `()' elements into the output lists. (I should know how to fix this in a day or two.. too bad I never got a scheme course before..)) 5) I don't know if this will work on multiple page schematics. 6) The top level module is outputted with the same name every time, I don't currently think there is a way to get at the name of the top level schematic. The netlister does some neat things: 1) It outputs a verilog module with proper port declarations, outputs are declared as outputs, inputs are declared as inputs, and bidirectional signals are declared as inouts. 2) All nets that are found on the design are declared as wires. (This is to allow for net attributes later to declare wand's and such) 3) Any components placed on the schematic that are given uref attributes create a verilog instantiation for the name of the module as stored in the `device' attribute, the instatiated name is given as the `uref' attribute. 4) All connections into and out of instantiated modules are made by name, and not by order, because I can't be sure that the order will be right coming off the schematic. (anyway, that's better for the long run.) 5) A comment is inserted at the top of the module to say that the file was automatically generated. Here's how to proceed to make a schematic that can be netlisted to verilog. 1) Create your modules by the standard method, keep in mind that you must supply a `pin#' attribute for each port you want to create in the generated verilog. gmk_sym is useful for this (with the patch to allow ascii pin names). 2) Place each of your newly created modules on the schematic 3) Connect nets between the modules you want. Remember, if you want legible verilog later, don't forget to name all your nets by attaching `label' attributes to them. 4) Insert IPAD's, OPAD's, and IOPAD's for all the nets you want to be visible in the module declaration statement. It is especially important to make sure that the nets you hook up to the pads are named, as the net names could change from run to run, that's a bad thing. 5) Save your design. 6) Run the schematic through the netlister: gnetlist -g verilog -o output.v schematic.sch 6a) Edit the output file to have the right module name, and to remove any duplicate wires. There is an example schematic in the schematic directory, and a copy of the verilog netlist generated. The mechanics: The I/O ports for the module are detected by enumerating all of the nets attached to any symbol bearing the device name of `IPAD', `OPAD', or `IOPAD'. If you name one of your blocks with that name, don't be surprised if you find `extra' ports in the module declaration. The wires are declared by walking through the list of nets returned by the function that I patched into gnetlist. This is the source of the duplicate wire declarations. This should probably get fixed when `net_is_duplicate' gets set for connections made by reference. Module instantiations are created by enumerating the pins found on a symbol and connecting the nets found to the pins. If your block has spelling errors, then the module instantiation won't work. You will have to manually trace back to find the error. Mike Jarabek ------------ Below is the previous version README ------------------- Verilog netlister readme. THIS IS FREE SOFTWARE, see the included file COPYING for more info. This the verilog netlister for gEDA. Included in the tarball are several diff files against the 19990327 gEDA distribution. All of the patches apply to the gnetlist subirectory. You should be able to apply them with `patch -p1'. [ editor's note, if you are reading this file in a gEDA dist, then all the required patching and integration is already done ] The netlister has its limitations: (most of these will eventually get fixed, I hope..) 1) Components connected by reference, (i.e. by having named net stubs attached to pins, but not conected by a continuous line) create duplicate entries in the wire declaration section of the verilog code. 2) Multiple width wires don't work. (Busses will help this) 3) There is no way to force a signal to 1,0,z,x (yet). 4) Some scheme code needs to be improved. (Mainly the classification code, it inserts `()' elements into the output lists. (I should know how to fix this in a day or two.. too bad I never got a scheme course before..)) 5) I don't know if this will work on multiple page schematics. 6) The top level module is outputted with the same name every time, I don't currently think there is a way to get at the name of the top level schematic. The netlister does some neat things: 1) It outputs a verilog module with proper port declarations, outputs are declared as outputs, inputs are declared as inputs, and bidirectional signals are declared as inouts. 2) All nets that are found on the design are declared as wires. (This is to allow for net attributes later to declare wand's and such) 3) Any components placed on the schematic that are given uref attributes create a verilog instantiation for the name of the module as stored in the `device' attribute, the instatiated name is given as the `uref' attribute. 4) All connections into and out of instantiated modules are made by name, and not by order, because I can't be sure that the order will be right coming off the schematic. (anyway, that's better for the long run.) 5) A comment is inserted at the top of the module to say that the file was automatically generated. Here's how to proceed to make a schematic that can be netlisted to verilog. 1) Create your modules by the standard method, keep in mind that you must supply a `pin#' attribute for each port you want to create in the generated verilog. gmk_sym is useful for this (with the patch to allow ascii pin names). 2) Place each of your newly created modules on the schematic 3) Connect nets between the modules you want. Remember, if you want legible verilog later, don't forget to name all your nets by attaching `label' attributes to them. 4) Insert IPAD's, OPAD's, and IOPAD's for all the nets you want to be visible in the module declaration statement. It is especially important to make sure that the nets you hook up to the pads are named, as the net names could change from run to run, that's a bad thing. 5) Save your design. 6) Run the schematic through the netlister: gnetlist -g verilog -o output.v schematic.sch 6a) Edit the output file to have the right module name, and to remove any duplicate wires. There is an example schematic in the schematic directory, and a copy of the verilog netlist generated. The mechanics: The I/O ports for the module are detected by enumerating all of the nets attached to any symbol bearing the device name of `IPAD', `OPAD', or `IOPAD'. If you name one of your blocks with that name, don't be surprised if you find `extra' ports in the module declaration. The wires are declared by walking through the list of nets returned by the function that I patched into gnetlist. This is the source of the duplicate wire declarations. This should probably get fixed when `net_is_duplicate' gets set for connections made by reference. Module instantiations are created by enumerating the pins found on a symbol and connecting the nets found to the pins. If your block has spelling errors, then the module instantiation won't work. You will have to manually trace back to find the error. Mike Jarabek lepton-eda-1.9.10/netlist/docs/mk_verilog_syms.1.in0000644000175000017500000000143113634703632017073 00000000000000.TH mk_verilog_syms 1 "@DATE@" "Lepton EDA" @VERSION@ .SH NAME mk_verilog_syms \- Create gate symbols for the gEDA Verilog netlister .SH SYNOPSIS .B mk_verilog_syms .SH DESCRIPTION .B mk_verilog_syms creates a set of n-input gate symbols for the gEDA Verilog netlister. It creates the following symbols: .IP \(bu and[2-9] .IP \(bu nand[2-9] .IP \(bu nor[2-9] .IP \(bu or[2-9] .IP \(bu xor[2-9] .IP \(bu xnor[2-9] .SH AUTHOR Mike Jarabek .SH SEE ALSO .BR gschem (1), .BR gnetlist (1) .SH COPYRIGHT .nf Copyright \(co 1999-2017 gEDA Contributors. License GPLv2+: GNU GPL version 2 or later. Please see the `COPYING' file included with this program for full details. .PP This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. lepton-eda-1.9.10/netlist/docs/README.switcap0000644000175000017500000001123413634703632015526 00000000000000----------------------------------------------------------------- I. What is this? ----------------------------------------------------------------- This archive contains a set of symbols and a netlister backend for the gEDA to drive SWITCAP simulations. gEDA is the GNU EDA project and includes a schematic capture tool and a highly flexible netlister. The SWITCAP program is a switched capacitor circuit simulator. ----------------------------------------------------------------- II. Overview ----------------------------------------------------------------- The basic steps involved with using gEDA as the frontend for SWITCAP simulations are: - configure the gEDA symbol search path - set the gEDA netlister backend search path - create schematics of the circuit - create an analysis file - extract the netlist - run the SWITCAP simulation ----------------------------------------------------------------- III. Initial Setup ----------------------------------------------------------------- 1) Set your symbol search path for gschem and gnetlist by adding the following line to the 'gschemrc' and 'gnetlistrc' files in your project directory. (component-library "/path/to/sym/switcap") If those files do not exist, then create them. You will need to replace /path/to/sym/switcap with the directory name where you have installed the .sym files. 2) Set the search path for scheme files for gnetlist by adding the following line to your 'gnetlistrc' file. (scheme-directory "/path/to/scheme") You will need to replace /path/to/scheme with the path to where you have installed the gnet-switcap.scm file. 3) ----------------------------------------------------------------- IV. Creating Schematics ----------------------------------------------------------------- -------------------- A. Required Symbols -------------------- This section assumes you are familiar with using gschem to create and edit schematics. SWITCAP netlisting is only supported for the components contained in the SWITCAP symbol library as well as the ground symbol found in the 'power' library which comes with gEDA. All allowed SWITCAP elements except for subcircuits are supported. You _must_ include the following elements on your schematic: - one instance of the switcap-timing symbol. This symbol will set the master clock period for your simulations. - one or more instances of the switcap-clock symbol. This symbol defines a clock with a particular phase and period. The reference designator of the clock symbol is used by the switches to set what phase they switch on. - one or more instances of the switcap-analysis symbol. This symbol defines an analysis by specifying a file to include in the SWITCAP netlist. -------------------- B. Optional Symbols -------------------- You can also optionally add the following SWITCAP special symbols to your schematic: - zero or one instance of the switcap-title symbol. This will add a TITLE: line to the SWITCAP netlist and will appear in the output file. - zero or one instance of the switcap-options symbol. By editing the OPTIONS attribute on this symbol you can set the various options which can be passed to SWITCAP. -------------------- C. Net Names -------------------- When creating schematics to drive SWITCAP, you should name all nets that you wish to plot. To avoid possible conflicts with unnamed nets, you should avoid using purely numerical names for nets because all unnamed nets will be assigned (somewhat randomly) numbers. SWITCAP limits the length of node names to 7 characters. -------------------- D. Switches -------------------- When placing switches on your schematic, you will need to define which clock they are controlled with. This is done by setting the clock attribute on the switch to the reference designator of the clock which should control it. ----------------------------------------------------------------- V. Extracting the SWITCAP Netlist ----------------------------------------------------------------- To extract the SWITCAP netlist, run gnetlist -g switcap -o test.scn file1.sch [file2.sch ...] For the example file contained in this archive, you can run: gnetlist -g switcap -o example.scn ckt.sch clocks.sch analysis.sch The netlist will be left in example.scn. ----------------------------------------------------------------- VI. Running SWITCAP ----------------------------------------------------------------- I typically use something like: printf "example.scn\nexample.out" | sw so I can use command history to rerun SWITCAP without having to manually type the file names each time. Refer to the SWITCAP manual for more details. lepton-eda-1.9.10/netlist/docs/vams/0000755000175000017500000000000013634704573014227 500000000000000lepton-eda-1.9.10/netlist/docs/vams/content.txt0000644000175000017500000000122413634703632016354 00000000000000VHDL-AMS support for gEDA gnetlist tool 1. functionality 1. ARCHITECTURE generation 2. ENTITY generation 3. automatisate gnetlist calls 2. implementation 1. the vams mode of gEDA gnetlist 1. scheme 1. settings and new definition 2. gnet-vams.scm 1. routines main structure ??? 3. helpfully setting in gEDA gschem environment 2. new c-code 1. routines 2. code-adaptation 2. automatic generating gnetlist calls in gEDA gschem 1. generated gEDA gnetlist calls 2. scheme 1. generate_netlist.scm 2. settings 3. new c-code 1. routines 2. code-adaptation lepton-eda-1.9.10/netlist/docs/vams/Makefile.in0000644000175000017500000004430013634703710016205 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = netlist/docs/vams ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/geda-assert.m4 \ $(top_srcdir)/m4/geda-awk.m4 $(top_srcdir)/m4/geda-cairo.m4 \ $(top_srcdir)/m4/geda-contrib.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-liblepton.m4 \ $(top_srcdir)/m4/geda-libleptonrenderer.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lepton-data-dirs.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pcb-data-dirs.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(docsreadmedir)" DATA = $(docsreadme_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITMAP_DIRECTORY = @BITMAP_DIRECTORY@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CAIRO_PDF_CFLAGS = @CAIRO_PDF_CFLAGS@ CAIRO_PDF_LIBS = @CAIRO_PDF_LIBS@ CAIRO_PNG_CFLAGS = @CAIRO_PNG_CFLAGS@ CAIRO_PNG_LIBS = @CAIRO_PNG_LIBS@ CAIRO_PS_CFLAGS = @CAIRO_PS_CFLAGS@ CAIRO_PS_LIBS = @CAIRO_PS_LIBS@ CAIRO_SVG_CFLAGS = @CAIRO_SVG_CFLAGS@ CAIRO_SVG_LIBS = @CAIRO_SVG_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOT = @DOT@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LIBS = @GDK_LIBS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GETTEXT = @GETTEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIT = @GIT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILD = @GUILD@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_EFFECTIVE_VERSION = @GUILE_EFFECTIVE_VERSION@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_LTLIBS = @GUILE_LTLIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEPTONDATADIR = @LEPTONDATADIR@ LEPTON_SCM_PRECOMPILE_DIR = @LEPTON_SCM_PRECOMPILE_DIR@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBLEPTONRENDERER_SHLIB_VERSION = @LIBLEPTONRENDERER_SHLIB_VERSION@ LIBLEPTON_GETTEXT_DOMAIN = @LIBLEPTON_GETTEXT_DOMAIN@ LIBLEPTON_SHLIB_VERSION = @LIBLEPTON_SHLIB_VERSION@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGOCAIRO_CFLAGS = @PANGOCAIRO_CFLAGS@ PANGOCAIRO_LIBS = @PANGOCAIRO_LIBS@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = content.txt syntax_architecture.txt syntax_entity.txt \ vams_mode.txt docsreadmedir = $(docdir)/readmes docsreadme_DATA = vams_mode.txt syntax_architecture.txt syntax_entity.txt all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign netlist/docs/vams/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign netlist/docs/vams/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-docsreadmeDATA: $(docsreadme_DATA) @$(NORMAL_INSTALL) @list='$(docsreadme_DATA)'; test -n "$(docsreadmedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(docsreadmedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(docsreadmedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docsreadmedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docsreadmedir)" || exit $$?; \ done uninstall-docsreadmeDATA: @$(NORMAL_UNINSTALL) @list='$(docsreadme_DATA)'; test -n "$(docsreadmedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docsreadmedir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(docsreadmedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-docsreadmeDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-docsreadmeDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-docsreadmeDATA install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-docsreadmeDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: lepton-eda-1.9.10/netlist/docs/vams/Makefile.am0000644000175000017500000000030613634703632016175 00000000000000EXTRA_DIST = content.txt syntax_architecture.txt syntax_entity.txt \ vams_mode.txt docsreadmedir = $(docdir)/readmes docsreadme_DATA = vams_mode.txt syntax_architecture.txt syntax_entity.txt lepton-eda-1.9.10/netlist/docs/vams/syntax_architecture.txt0000644000175000017500000000057513634703632021002 00000000000000ARCHITECTURE OF IS { : subnet-kind;} BEGIN {


lepton-eda-1.9.10/docs/toplevel/Makefile.am0000644000175000017500000000015513634703632015401 00000000000000docsdir = $(docdir) docs_DATA = gedadocs.html EXTRA_DIST = gedadocs.html.in DISTCLEANFILES = gedadocs.html lepton-eda-1.9.10/docs/scheme-api/0000755000175000017500000000000013634704610013602 500000000000000lepton-eda-1.9.10/docs/scheme-api/Makefile.in0000644000175000017500000007143513634703705015605 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = docs/scheme-api ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/geda-assert.m4 \ $(top_srcdir)/m4/geda-awk.m4 $(top_srcdir)/m4/geda-cairo.m4 \ $(top_srcdir)/m4/geda-contrib.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-liblepton.m4 \ $(top_srcdir)/m4/geda-libleptonrenderer.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lepton-data-dirs.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pcb-data-dirs.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/version.texi \ $(srcdir)/stamp-vti $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = AM_V_DVIPS = $(am__v_DVIPS_@AM_V@) am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@) am__v_DVIPS_0 = @echo " DVIPS " $@; am__v_DVIPS_1 = AM_V_MAKEINFO = $(am__v_MAKEINFO_@AM_V@) am__v_MAKEINFO_ = $(am__v_MAKEINFO_@AM_DEFAULT_V@) am__v_MAKEINFO_0 = @echo " MAKEINFO" $@; am__v_MAKEINFO_1 = AM_V_INFOHTML = $(am__v_INFOHTML_@AM_V@) am__v_INFOHTML_ = $(am__v_INFOHTML_@AM_DEFAULT_V@) am__v_INFOHTML_0 = @echo " INFOHTML" $@; am__v_INFOHTML_1 = AM_V_TEXI2DVI = $(am__v_TEXI2DVI_@AM_V@) am__v_TEXI2DVI_ = $(am__v_TEXI2DVI_@AM_DEFAULT_V@) am__v_TEXI2DVI_0 = @echo " TEXI2DVI" $@; am__v_TEXI2DVI_1 = AM_V_TEXI2PDF = $(am__v_TEXI2PDF_@AM_V@) am__v_TEXI2PDF_ = $(am__v_TEXI2PDF_@AM_DEFAULT_V@) am__v_TEXI2PDF_0 = @echo " TEXI2PDF" $@; am__v_TEXI2PDF_1 = AM_V_texinfo = $(am__v_texinfo_@AM_V@) am__v_texinfo_ = $(am__v_texinfo_@AM_DEFAULT_V@) am__v_texinfo_0 = -q am__v_texinfo_1 = AM_V_texidevnull = $(am__v_texidevnull_@AM_V@) am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@) am__v_texidevnull_0 = > /dev/null am__v_texidevnull_1 = INFO_DEPS = $(srcdir)/lepton-scheme.info TEXINFO_TEX = $(top_srcdir)/build-tools/texinfo.tex am__TEXINFO_TEX_DIR = $(top_srcdir)/build-tools DVIS = lepton-scheme.dvi PDFS = lepton-scheme.pdf PSS = lepton-scheme.ps HTMLS = lepton-scheme.html TEXINFOS = lepton-scheme.texi TEXI2DVI = texi2dvi TEXI2PDF = $(TEXI2DVI) --pdf --batch MAKEINFOHTML = $(MAKEINFO) --html DVIPS = dvips am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__installdirs = "$(DESTDIR)$(infodir)" am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in \ $(top_srcdir)/build-tools/mdate-sh \ $(top_srcdir)/build-tools/texinfo.tex DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITMAP_DIRECTORY = @BITMAP_DIRECTORY@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CAIRO_PDF_CFLAGS = @CAIRO_PDF_CFLAGS@ CAIRO_PDF_LIBS = @CAIRO_PDF_LIBS@ CAIRO_PNG_CFLAGS = @CAIRO_PNG_CFLAGS@ CAIRO_PNG_LIBS = @CAIRO_PNG_LIBS@ CAIRO_PS_CFLAGS = @CAIRO_PS_CFLAGS@ CAIRO_PS_LIBS = @CAIRO_PS_LIBS@ CAIRO_SVG_CFLAGS = @CAIRO_SVG_CFLAGS@ CAIRO_SVG_LIBS = @CAIRO_SVG_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOT = @DOT@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LIBS = @GDK_LIBS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GETTEXT = @GETTEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIT = @GIT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILD = @GUILD@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_EFFECTIVE_VERSION = @GUILE_EFFECTIVE_VERSION@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_LTLIBS = @GUILE_LTLIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEPTONDATADIR = @LEPTONDATADIR@ LEPTON_SCM_PRECOMPILE_DIR = @LEPTON_SCM_PRECOMPILE_DIR@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBLEPTONRENDERER_SHLIB_VERSION = @LIBLEPTONRENDERER_SHLIB_VERSION@ LIBLEPTON_GETTEXT_DOMAIN = @LIBLEPTON_GETTEXT_DOMAIN@ LIBLEPTON_SHLIB_VERSION = @LIBLEPTON_SHLIB_VERSION@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGOCAIRO_CFLAGS = @PANGOCAIRO_CFLAGS@ PANGOCAIRO_LIBS = @PANGOCAIRO_LIBS@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ info_TEXINFOS = lepton-scheme.texi AM_MAKEINFOHTMLFLAGS = --css-ref=lepton-scheme.css EXTRA_DIST = lepton-scheme.css all: all-am .SUFFIXES: .SUFFIXES: .dvi .html .info .pdf .ps .texi $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/scheme-api/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign docs/scheme-api/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs .texi.info: $(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \ am__cwd=`pwd` && $(am__cd) $(srcdir) && \ rm -rf $$backupdir && mkdir $$backupdir && \ if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ done; \ else :; fi && \ cd "$$am__cwd"; \ if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ -o $@ $<; \ then \ rc=0; \ $(am__cd) $(srcdir); \ else \ rc=$$?; \ $(am__cd) $(srcdir) && \ $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ fi; \ rm -rf $$backupdir; exit $$rc .texi.dvi: $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ $(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \ $< .texi.pdf: $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ $(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \ $< .texi.html: $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp) $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ -o $(@:.html=.htp) $<; \ then \ rm -rf $@ && mv $(@:.html=.htp) $@; \ else \ rm -rf $(@:.html=.htp); exit 1; \ fi $(srcdir)/lepton-scheme.info: lepton-scheme.texi $(srcdir)/version.texi lepton-scheme.dvi: lepton-scheme.texi $(srcdir)/version.texi lepton-scheme.pdf: lepton-scheme.texi $(srcdir)/version.texi lepton-scheme.html: lepton-scheme.texi $(srcdir)/version.texi $(srcdir)/version.texi: $(srcdir)/stamp-vti $(srcdir)/stamp-vti: lepton-scheme.texi $(top_srcdir)/configure @(dir=.; test -f ./lepton-scheme.texi || dir=$(srcdir); \ set `$(SHELL) $(top_srcdir)/build-tools/mdate-sh $$dir/lepton-scheme.texi`; \ echo "@set UPDATED $$1 $$2 $$3"; \ echo "@set UPDATED-MONTH $$2 $$3"; \ echo "@set EDITION $(VERSION)"; \ echo "@set VERSION $(VERSION)") > vti.tmp$$$$ && \ (cmp -s vti.tmp$$$$ $(srcdir)/version.texi \ || (echo "Updating $(srcdir)/version.texi" && \ cp vti.tmp$$$$ $(srcdir)/version.texi.tmp$$$$ && \ mv $(srcdir)/version.texi.tmp$$$$ $(srcdir)/version.texi)) && \ rm -f vti.tmp$$$$ $(srcdir)/version.texi.$$$$ @cp $(srcdir)/version.texi $@ mostlyclean-vti: -rm -f vti.tmp* $(srcdir)/version.texi.tmp* maintainer-clean-vti: -rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi .dvi.ps: $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ $(DVIPS) $(AM_V_texinfo) -o $@ $< uninstall-dvi-am: @$(NORMAL_UNINSTALL) @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \ rm -f "$(DESTDIR)$(dvidir)/$$f"; \ done uninstall-html-am: @$(NORMAL_UNINSTALL) @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \ rm -rf "$(DESTDIR)$(htmldir)/$$f"; \ done uninstall-info-am: @$(PRE_UNINSTALL) @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \ list='$(INFO_DEPS)'; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \ if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \ done; \ else :; fi @$(NORMAL_UNINSTALL) @list='$(INFO_DEPS)'; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \ echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \ rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ else :; fi); \ done uninstall-pdf-am: @$(NORMAL_UNINSTALL) @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \ rm -f "$(DESTDIR)$(pdfdir)/$$f"; \ done uninstall-ps-am: @$(NORMAL_UNINSTALL) @list='$(PSS)'; test -n "$(psdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \ rm -f "$(DESTDIR)$(psdir)/$$f"; \ done dist-info: $(INFO_DEPS) @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ list='$(INFO_DEPS)'; \ for base in $$list; do \ case $$base in \ $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ esac; \ if test -f $$base; then d=.; else d=$(srcdir); fi; \ base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \ for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \ if test -f $$file; then \ relfile=`expr "$$file" : "$$d/\(.*\)"`; \ test -f "$(distdir)/$$relfile" || \ cp -p $$file "$(distdir)/$$relfile"; \ else :; fi; \ done; \ done mostlyclean-aminfo: -rm -rf lepton-scheme.t2d lepton-scheme.t2p clean-aminfo: -test -z "lepton-scheme.dvi lepton-scheme.pdf lepton-scheme.ps \ lepton-scheme.html" \ || rm -rf lepton-scheme.dvi lepton-scheme.pdf lepton-scheme.ps \ lepton-scheme.html maintainer-clean-aminfo: @list='$(INFO_DEPS)'; for i in $$list; do \ i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \ echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \ rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \ done tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-info check-am: all-am check: check-am all-am: Makefile $(INFO_DEPS) installdirs: for dir in "$(DESTDIR)$(infodir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-aminfo clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: $(DVIS) html: html-am html-am: $(HTMLS) info: info-am info-am: $(INFO_DEPS) install-data-am: install-data-local install-info-am install-dvi: install-dvi-am install-dvi-am: $(DVIS) @$(NORMAL_INSTALL) @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(dvidir)'"; \ $(MKDIR_P) "$(DESTDIR)$(dvidir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \ done install-exec-am: install-html: install-html-am install-html-am: $(HTMLS) @$(NORMAL_INSTALL) @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \ $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \ $(am__strip_dir) \ d2=$$d$$p; \ if test -d "$$d2"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \ $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \ echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \ $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \ else \ list2="$$list2 $$d2"; \ fi; \ done; \ test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \ done; } install-info: install-info-am install-info-am: $(INFO_DEPS) @$(NORMAL_INSTALL) @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(infodir)'"; \ $(MKDIR_P) "$(DESTDIR)$(infodir)" || exit 1; \ fi; \ for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ esac; \ if test -f $$file; then d=.; else d=$(srcdir); fi; \ file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \ for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \ $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \ if test -f $$ifile; then \ echo "$$ifile"; \ else : ; fi; \ done; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done @$(POST_INSTALL) @if $(am__can_run_installinfo); then \ list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\ install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\ done; \ else : ; fi install-man: install-pdf: install-pdf-am install-pdf-am: $(PDFS) @$(NORMAL_INSTALL) @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(pdfdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pdfdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done install-ps: install-ps-am install-ps-am: $(PSS) @$(NORMAL_INSTALL) @list='$(PSS)'; test -n "$(psdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(psdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(psdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-aminfo \ maintainer-clean-generic maintainer-clean-vti mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-aminfo mostlyclean-generic \ mostlyclean-libtool mostlyclean-vti pdf: pdf-am pdf-am: $(PDFS) ps: ps-am ps-am: $(PSS) uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \ uninstall-pdf-am uninstall-ps-am .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-aminfo clean-generic \ clean-libtool cscopelist-am ctags-am dist-info distclean \ distclean-generic distclean-libtool distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-data-local install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-aminfo maintainer-clean-generic \ maintainer-clean-vti mostlyclean mostlyclean-aminfo \ mostlyclean-generic mostlyclean-libtool mostlyclean-vti pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-dvi-am uninstall-html-am uninstall-info-am \ uninstall-pdf-am uninstall-ps-am .PRECIOUS: Makefile all: all-am html $(MKDIR_P) $(builddir)/lepton-scheme.html/ cp -fv $(srcdir)/lepton-scheme.css $(builddir)/lepton-scheme.html/ install-data-local: install-html # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: lepton-eda-1.9.10/docs/scheme-api/lepton-scheme.texi0000644000175000017500000025251513634703632017175 00000000000000\input texinfo @c -*-texinfo-*- @setfilename lepton-scheme.info @include version.texi @documentencoding utf-8 @dircategory The Algorithmic Language Scheme @direntry * Lepton EDA Scheme: (lepton-scheme). Lepton EDA extensibility with Guile Scheme. @end direntry @settitle Lepton EDA Scheme Reference Manual @value{VERSION} @copying This manual is for Lepton EDA, version @value{VERSION}. Copyright @copyright{} 2011-2013 Peter TB Brett Copyright @copyright{} 2011-2017 gEDA developers Copyright @copyright{} 2017-2020 Lepton developers The text of and illustrations in this document are licensed under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at @uref{http://creativecommons.org/licenses/by-sa/3.0/}. The original authors of this document designate the Lepton EDA Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. @end copying @titlepage @title Lepton EDA Scheme Reference Manual @author Peter TB Brett @page @vskip 0pt plus 1filll @insertcopying @end titlepage @contents @ifnottex @node Top @top Lepton EDA Scheme Reference Manual @insertcopying @end ifnottex @menu * Introduction:: * Schematic Document Model:: * Core API Reference:: * lepton-schematic API Reference:: * lepton-netlist API Reference:: * Concept Index:: * Function Index:: * Variable Index:: @end menu @node Introduction @unnumbered Introduction @section About Lepton EDA Lepton EDA is a suite of free software tools for designing electronics. It provides schematic capture, netlisting into over 30 netlist formats, and many other features. It was forked from the @url{http://wiki.geda-project.org/geda:gaf, gEDA/gaf suite} (part of gEDA, please see below) by most of its main developers in late 2016. @section About gEDA @dfn{gEDA}, or @emph{GPL Electronic Design Automation}, is a suite of free software tools for designing electronics. The gEDA project has produced and continues working on a full GPL'd suite and toolkit of Electronic Design Automation (EDA) tools. These tools are used for electrical circuit design, schematic capture, simulation, prototyping, and production. The gEDA project was started because of the lack of free EDA tools for POSIX systems with the primary purpose of advancing the state of free hardware or open source hardware. The suite is mainly being developed on the GNU/Linux platform with some development effort going into making sure the tools run on other platforms as well. @section About the Lepton EDA Scheme API The @dfn{Lepton EDA Scheme API}, documented in this manual, is a set of Scheme functions which can be used to enhance Lepton applications by adding new functionality or modify existing behaviour. Lepton EDA (formerly gEDA) has always used a Scheme interpreter for interpreting configuration files, managing keybindings in lepton-schemactic (formerly gschem), and implementing netlist exporter backends in gnetlist. However, for a long time the utility of embedding a Scheme interpreter was diminished by the lack of a low-level API for inspecting and modifying schematic documents. The Scheme types and functions documented here were added to gEDA and later to Lepton to address that need. Lepton uses the @emph{Guile} Scheme implementation (otherwise known as the @emph{GNU Ubiquitous Intelligent Language for Extensions}) as its embedded Scheme. For more information about Guile, please visit @uref{http://www.gnu.org/s/guile/}. @section Getting Additional Help @cindex Reporting bugs If you think you have found a bug, please file a bug report: @uref{https://github.com/lepton-eda/lepton-eda/issues}. Please add the tag @samp{scheme-api}. It will help us to fix your bug quickly if you can describe in detail how to reproduce the bug. If you have a question about using Lepton EDA, or about extending Lepton using Scheme, you may wish to send a message to one of the gEDA mailing lists (@samp{geda-user} or @samp{geda-help}) which can be accessed from the main gEDA website: @uref{http://www.geda-project.org/}. Currently, Lepton doesn't have an own mailing list. You may also find additional information in the @url{https://github.com/lepton-eda/lepton-eda/wiki, Lepton EDA wiki}. @section We Need Feedback! If you find a typographical error in this manual, or if you have thought of a way to make this manual better, we would love to hear from you! Please submit a bug report: @uref{https://github.com/lepton-eda/lepton-eda/issues}, with the tag @samp{scheme-api}. @node Schematic Document Model @chapter The Schematic Document Model When using Lepton EDA to design an electronic circuit, users use the schematic editor, lepton-schematic, to choose and place @emph{schematic symbols} on a @emph{schematic page}, and connect the @emph{pins} of the symbols together by drawing @emph{nets}. The user may add various @emph{attributes} to symbols, nets or pins to modify how the circuit diagrams should be interpreted. The resulting schematics are then processed with the gnetlist tool to generate a @emph{netlist}. This chapter describes the different data types used by the Scheme API to represent Lepton EDA documents (both schematics and symbols), and how they relate to each other. @menu * Pages:: * Objects:: * Component objects:: * Attributes:: * Coordinate system:: @end menu @node Pages @section Pages @cindex Pages @cindex Schematics @cindex Symbols Schematics and symbols are presented as different types of document to the user, with different file extensions, icons and mime-types. However, when they are loaded into a Lepton application such as lepton-schematic for editing, they are internally represented in exactly the same way, by the @code{page} type. The @code{page} is the top-level Lepton document data type. Internally, the main difference between a @code{page} for a schematic and a @code{page} for a symbol is the types of schematic element they are permitted to contain (@pxref{Objects}). For example, a symbol is not permitted to contain nets, buses, or instances of other symbols, and a schematic is not permitted to contain pins. @strong{Note}: Although the restrictions on what types of primitive element schematics and symbols may contain are not enforced by the API, designs which violate these restrictions may cause the netlister not to work as expected. Each @code{page} is associated with a filename, although the filename is not required by the API either to be valid or to be associated with a accessible file in the filesystem. Pages are not garbage-collected; once you create a @code{page}, you are responsible for making sure that it is disposed of when it is no longer required. @node Objects @section Objects @cindex Objects @cindex Schematic elements Each @code{page} contains some number of @dfn{schematic elements}, represented by the @code{object} type. There are several sub-types of @code{object}, including: @itemize @bullet @item graphical lines, circles, arcs, rectangles and paths; @item nets and net pins; @item buses and bus pins; @item pictures; @item text; @item and symbol instances, known as 'components'. @end itemize Each @code{object} can be part of at most a single @code{page} -- they cannot be shared between pages. @code{object}s are automatically garbage collected. Most of different @code{object} sub-types are quite straightforward to understand. The main exceptions are components, and the text @code{object}-based attribute mechanism, which are described in the following sections. @node Component objects @section Component objects @cindex Component @cindex Component library @cindex Embedded component When a symbol is instantiated in a schematic (e.g. by the user selecting it from the lepton-schematic component library and placing it on the page), a compound @code{object} known as a @dfn{component} is created. Like a @code{page}, a component contains some number of @code{object} elements. When a component is created from a symbol, the contents of the symbol's @code{page} are copied into the component. In order to allow the component to appear in the correct place on the schematic page, at the correct orientation, etc., a transformation is applied to every @code{object} in the component. Normally, when the schematic @code{page} is closed, the parameters of the transformation are stored in the schematic file along with the basename of the original symbol, but the @code{object} contents of the component are discarded. When the schematic is subsequently re-opened, the original symbol is retrieved from the component library, and used to recreate the component. However, a component may optionally be @emph{embedded}. In this case, its contents @emph{are} stored in the schematic file. @strong{Note}: A component cannot contain another component -- only other types of @code{object}. @node Attributes @section Attributes @cindex Attribute @cindex Attribute format A Lepton user is able to annotate schematic elements with additional data, such as footprints for components or net names for nets. This is carried out using @dfn{attributes}. An attribute is text @code{object} which contains a text string in the form @samp{@var{name}=@var{value}}. Currently, the restrictions on attribute format that are enforced by the API are: @itemize @bullet @item Attribute @var{name}s: @enumerate @item must contain at least one character; @item must not contain a @samp{=} character (Unicode @code{U+003D}); @item must not end with a space (@samp{ }, Unicode @code{U+0020}). @end enumerate @item Attribute @var{value}s: @enumerate @item must contain at least one character; @item must not begin with a space (@samp{ }, Unicode @code{U+0020}). @end enumerate @end itemize @strong{Note}: Due to assumptions made by some Lepton and gEDA tools, it is @emph{strongly recommended} that you use attribute @var{name}s which contain only lower-case Latin characters, decimal digits, full stops @samp{.} (@code{U+002E}), and hyphens @samp{-} (@code{U+002D}). There are two types of attribute: @cindex Attached attribute @emph{Attached attributes} are attribute text @code{object}s that are linked to another @code{object}. To attach an attribute to another schematic element, both @code{object}s must be part of the same component or part of the same @code{object}. For example, a @samp{netname=@var{name}} attribute attached to a net @code{object} can be used to give that net a specific name in netlist output, such as @samp{VCC} or @samp{GND}. @cindex Floating attribute @emph{Floating attributes} are attribute text @code{object}s that are not linked to another @code{object}. These attributes affect the schematic or symbol that they're part of as a whole. For example, a floating @samp{documentation=@var{url}} attribute in a symbol tells lepton-schematic's @strong{Help → Component Documentation} command how to find the component's data sheet. @node Coordinate system @section Coordinate system Lepton documents use a @dfn{coordinate system} (internally referred to as `world' coordinates) with coordinates increasing upwards and to the right (i.e. a conventional right-handed Cartesian coordinate system). Although all coordinates may be positive or negative, lepton-schematic only displays objects with positive coordinates (i.e. in the upper right quadrant of the coordinate system). It is therefore recommended to use only positive coordinates. In the Scheme API, the coordinate of a point is expressed in the format: @example (x . y) @end example and a set of @dfn{bounds} (i.e. a rectangular area in the document plane) is expressed in the format: @example ((left . top) . (right . bottom)) @end example where @code{left} is the smaller x coordinate, @code{right} is the larger x coordinate, and @code{bottom} and @code{top} are respectively the smaller and larger y coordinates. @node Core API Reference @chapter Core API Reference The Scheme modules and functions described in this chapter are primitive operations for working with schematics and symbols, and are available to be used in all Lepton applications. @menu * Core page functions:: * Core object functions:: * Core attribute functions:: * Core source library functions:: * Configuration functions:: * Logging functions:: * System information:: @end menu @node Core page functions @section Core page functions To use the functions described in this section, you will need to load the @code{(lepton page)} module. @xref{Pages}. @defun page? obj Returns @samp{#t} if and only if @var{obj} is a @code{page}. @end defun @defun active-pages Returns a list of all open @code{page}s. @end defun @subsection Page creation, disposal and filenames Every @code{page} is associated with a @emph{filename}. The filename does not necessarily have to be a file which exists and/or is accessible in the filesystem. @defun make-page filename Creates and returns a new, empty @code{page}, with the given string @var{filename}. @end defun @defun close-page! page Destroys @var{page}. The returned value is undefined. @strong{Warning}: This function closes and destroys @var{page} immediately, regardless of whether the page has been modified since loading or saving, and without asking the user. @end defun @defun page-filename page Returns the filename associated with @var{page} as a string. @end defun @defun set-page-filename! page filename Sets the filename of @var{page} to @var{filename}. Returns @var{page}. @end defun @subsection Conversion between files and pages Pages can be converted to and from files in the gEDA schematic file format. @defun file->page filename [new-page?] Return a @code{page} for @var{filename} which must be a string. If such a page has been already opened, that page is returned, otherwise a new page is created. If @var{new-page?} is not @samp{#f}, new page creation is forced. Returns the resulting @code{page}. @end defun @subsection Page serialisation Pages can be converted to and from strings in the gEDA schematic file format. @defun string->page filename string Parses @var{string}, which should be in the gEDA file format, to create a new @code{page}. The initial filename for the new @code{page} is @var{filename}. If the string is not in gEDA format, raises an @code{string-format} error. @end defun @defun page->string page Returns a string representation of @var{page} in the gEDA file format. @end defun @subsection Page contents A schematic or symbol @code{page} is composed of a set of @code{object}s which determine both its graphical appearance and its electrical meaning. @defun page-contents page Returns a list of the @code{object}s which make up @var{page}. The list can be freely modified without changing the contents of @var{page}. @end defun @defun page-append! page objects... Appends zero or more @var{objects} to the contents of @var{page} in the order given. Returns @var{page}. If any of the @var{objects} is already part of a @code{page} other than @var{page}, or is part of a component @code{object}, raises an @code{object-state} error. Any of the @var{objects} that are already in the @var{page} are ignored. @end defun @defun page-remove! page objects... Removes zero or more @var{objects} from the contents of @var{page}. Returns @var{page}. Any @var{objects} that are not part of a @code{page} or component @code{object} are ignored. An @samp{object-state} error will be thrown if any of the @var{objects} satisfies any of the following conditions: @itemize @item part of a @code{page} other than @var{page}; @item part of component @code{object}; @item has attached attributes (@pxref{Attributes}); @item is attached as an attribute. @end itemize @end defun @defun object-page object Returns the @code{page} which contains @var{object} (either directly or indirectly), or @samp{#f} if @var{object} is not part of a @code{page}. @strong{Note}: If the @var{object} argument to @code{object-page} is part of a component @code{object} which is itself part of a @code{page}, that @code{page} will be returned. @end defun @subsection Page dirty flags A @code{page} has a @emph{dirty flag} that is used to indicate to applications that the @code{page} has been modified since it was last loaded or saved. @defun page-dirty? page Returns @samp{#t} if the @var{page}'s page has been marked as dirty; otherwise, returns @samp{#f}. @end defun @defun set-page-dirty! page [state] Sets the dirty flag for @var{page}. If @var{state} is @samp{#f}, clears the dirty flag; otherwise, or if @var{state} is omitted, marks the page as dirty. Returns @var{page}. @end defun @node Core object functions @section Core object functions To use the functions described in this section, you will need to load the @code{(lepton object)} module. @menu * General object functions:: * Lines:: * Nets and buses:: * Pins:: * Boxes:: * Circles:: * Arcs:: * Paths:: * Pictures:: * Text:: * Components:: @end menu @node General object functions @subsection General object functions @defun object? obj Returns @samp{#t} if and only if @var{obj} is an @code{object}. @end defun @defun copy-object object Returns a deep copy of @var{object}. The new @code{object} returned has no attached attributes, and is not part of a @code{page} or part of a component @code{object}. @end defun @defun object-component object Returns the component @code{object} that contains @var{object}, or @samp{#f} if @var{object} is not part of a component. @end defun @defun object-connections object Returns a list of other @code{object}s that are @emph{directly} connected to @var{object}. If @code{object} is not included in a @code{page}, raises an @samp{object-state} error. The connections reported are independent of inclusion in components. For example, consider a page containing a net and a component, and the component contains a single pin. If the connectable end of the pin intersects the net, then @code{(object-connections )} will return a list containing the pin @code{object}, and @emph{not} the component. @end defun @defun object-selectable? object Returns true (@samp{#t}) if @var{object} is selectable (i.e. not locked). @end defun @defun set-object-selectable! object state Sets the selectable flag for @var{object}. If @var{state} is @samp{#f}, clears the selectable flag; if @var{state} is @samp{#t}, sets it. Returns @var{object}. @end defun @defun object-embedded? object Returns true (@samp{#t}) if @var{object} is embedded, false (@samp{#f}) otherwise. @end defun @defun set-object-embedded! object state Embed (if @var{state} is @samp{#t}) or unembed (if @var{state} is @samp{#t}) @var{object}. Returns @var{object}. @end defun @menu * Object sub-types:: * Object transformations:: * Object bounds:: * Object color:: * Object fill and stroke:: @end menu @node Object sub-types @subsubsection Object sub-types Schematic element @code{object}s come in several subtypes. @defun object-type object Returns the sub-type of @var{object} as a symbol. The subtype will be one of the following symbols: @itemize @item @samp{arc} @item @samp{box} @item @samp{bus} @item @samp{circle} @item @samp{complex} (indicates a component @code{object}) @item @samp{line} @item @samp{net} @item @samp{path} @item @samp{picture} @item @samp{pin} @item @samp{text} @end itemize @end defun @strong{Note}: The word @samp{complex} is only used in Scheme API to define component type for historical reasons, since before it was used in the gEDA C source code. As Guile Scheme supports complex numbers, and the procedures related to working with complex numbers use the word @samp{complex} to describe them, any other code of both Lepton C and Scheme API uses the word @samp{component} instead to avoid ambiguity. @defun object-type? object type Returns @samp{#t} if and only if @var{object} is an @code{object} and that its subtype is @var{type}, which should be a symbol. @end defun @node Object transformations @subsubsection Object transformations Objects can be translated, rotated, or mirrored about a point. @defun translate-objects! vector [objects...] Translate @var{objects} by @var{vector}, a world coordinate distance in the form @samp{(x . y)}. Returns a list of the modified @var{objects}. @end defun @defun rotate-objects! center angle [objects...] Translate @var{objects} anti-clockwise by @var{angle} about @var{center}, a world coordinate position in the form @samp{(x . y)}. @var{angle} must be an integer multiple of 90 degrees. Returns a list of the modified @var{objects}. @end defun @defun mirror-objects! x-offset [objects...] Mirror @var{objects} in the line @samp{x = @var{x-offset}}. Returns a list of the modified @var{objects}. @end defun @node Object bounds @subsubsection Object bounds The bounds of an object is the smallest bounding rectangle of the object, expressed in document coordinates (@pxref{Coordinate system}). @defun object-bounds objects... Returns the world coordinate bounding box containing all of the @var{objects} passed as arguments, or @samp{#f} if none of the @var{objects} have bounds (for example, this can occur if no @var{objects} are specified, or if they are all empty component @code{object}s). @strong{Note}: @code{object-bounds} always returns the actual bounds of the @var{objects}, not the visible bounds. This means that the bounds of invisible text is always included. @end defun @defun fold-bounds bounds... Calculates the union of several sets of @var{bounds} (as returned by @code{object-bounds}). If any of the @var{bounds} are @samp{#f}, they are skipped; if all of the @var{bounds} are @samp{#f}, @samp{#f} is returned. @end defun @node Object color @subsubsection Object color Object colors in Lepton documents are specified as indices into a color map. This allows users to specify the color map that suits them when viewing schematics and symbols. @defun object-color object Returns the integer color map index of the color used to draw @var{object}. @end defun @defun set-object-color! object color Sets the integer color map index for @var{object} to @var{color}. Returns @var{object}. @end defun @node Object fill and stroke @subsubsection Object fill and stroke Graphical object subtypes -- lines, boxes, circles, arcs and paths -- are drawn with a stroke pattern that can be configured in detail. @defun object-stroke object Returns the stroke settings of the @var{object}, which must be a line, box, circle, arc or path @code{object}. The return value is a list of parameters: @enumerate @item stroke width, as an integer number of world units @item cap style, one of the symbols @code{none}, @code{square} or @code{round}. @item dash style, one of the symbols @code{solid}, @code{dotted}, @code{dashed}, @code{center} or @code{phantom}. @item up to two dash parameters, depending on the dash style: @itemize @item for solid lines, no parameters; @item for dotted lines, dot spacing; @item for other styles, dot/dash spacing and dash length. @end itemize @end enumerate @end defun @defun set-object-stroke! object width cap dash [dash-space [dash-length]] Set the stroke settings of the @var{object}, which must be a line, box, circle, arc or path @code{object}. The arguments are the same as the contents of the list returned by @code{object-stroke}. Returns @var{object}. @end defun @defun object-stroke-width object Returns the integer stroke width of @var{object}, which must be a line, box, circle, arc or path @code{object}. @end defun @defun object-stroke-cap object Returns the stroke cap style of @var{object}, which must be a line, box, circle, arc or path @code{object}. The returned value is one of the symbols @code{none}, @code{square} or @code{round}. @end defun @defun object-stroke-dash object Returns the dash style of @var{object}, which must be a line, box, circle, arc or path @code{object}. The return value is a list of between one and three parameters: @enumerate @item dash style, one of the symbols @code{solid}, @code{dotted}, @code{dashed}, @code{center} or @code{phantom}. @item for styles other than @code{solid}, dot/dash spacing; @item for @code{dashed}, @code{center} and @code{phantom}, dash length. @end enumerate @end defun Some types of @code{object} -- boxes, circles and paths -- can have their interiors filled with a variety of patterns. @defun object-fill object Returns the fill settings of @var{object}, which must be a box, circle or path @code{object}. The return value is a list of one to six parameters: @enumerate @item fill style, one of the symbols @code{hollow}, @code{solid}, @code{mesh} or @code{hatch}; @item up to five fill parameters, depending on fill style: @enumerate @item none for @code{hollow} or @code{solid} fills; @item line width, line spacing and line angle (in degrees) for @code{hatch} fills; @item line width, first spacing and angle, and second spacing and angle for @code{mesh} fills. @end enumerate @end enumerate @end defun @defun set-object-fill! object fill-type . fill-args Sets the fill settings of @var{object}, which must be a box, circle or path @code{object}. The arguments are the same as the contents of the list returned by @code{object-fill}. Returns @var{object}. @end defun @node Lines @subsection Lines Line @code{object}s are straight graphical line segments with no electrical meaning. A line's geometrical parameters are a start point and end point, and it supports different colors and stroke styles. Many of the functions for manipulating lines are also used to manipulate line-like objects such as nets, buses or pins. @defun line? object Returns @samp{#t} if and only if @var{object} is a line @code{object}. @end defun @defun make-line start end [color] Creates and returns a new line @code{object}. @var{start} is the position of the start of the new line in the form @code{(x . y)} and @var{end} is the position of end of the line. If @var{color} is specified, it should be the integer color map index of the color with which to draw the line. If @var{color} is not specified, the default line color is used. @end defun @defun set-line! line start end [color] Sets the parameters of @var{line} (which may be a line, net, bus or pin @code{object}). The arguments are the same as to @code{make-line}. Returns @var{line}. @end defun @defun line-info line Returns the parameters of @var{line} (which may be a line, net, bus or pin @code{object}). The return value is a list in the form: @example ((start-x . start-y) (end-x . end-y) color) @end example @strong{Note}: For pin @code{object}s, first coordinate is the connectable point on the pin. @end defun @defun line-start line Returns the position @samp{(x . y)} of the start of @var{line} (which may be a line, net, bus or pin @code{object}). For pin @code{objects}, this is the position of the connectable point on the pin. @end defun @defun line-end line Returns the position @samp{(x . y)} of the end of @var{line} (which may be a line, net, bus or pin @code{object}). @end defun @node Nets and buses @subsection Nets and buses Net and bus @code{object}s are straight line segments which represent electrical connectivity. Nets represent single wires, and buses multi-wire connections of arbitrary composition. All of the functions that work on line @code{object}s also work with nets and buses (@pxref{Lines}). Note that @code{line?} will return @code{#f} if called with a net or bus argument. @defun net? object Returns @samp{#t} if and only if @var{object} is a net. @end defun @defun make-net start end [color] Creates and returns a new net @code{object}. @var{start} is the position of the start of the new net in the form @code{(x . y)} and @var{end} is the position of end of the net. If @var{color} is specified, it should be the integer color map index of the color with which to draw the net. If @var{color} is not specified, the default net color is used. @end defun @defun bus? object Returns @samp{#t} if and only if @var{object} is a bus. @end defun @defun make-bus start end [color] Creates and returns a new bus @code{object}. Arguments are as for @code{make-net}. @end defun @node Pins @subsection Pins Pin @code{objects} are straight line segments which represent connectable points in symbols or subcircuits, such as the pins of a semiconductor package. Only one end of a pin can be connected to nets, buses or other pins; the rest of a pin is purely graphical. Pins come in two varieties: @dfn{net pins} and @dfn{bus pins}, which are used for connections to nets and buses respectively (@pxref{Nets and buses}). All of the functions that work on line @code{object}s also work with pins (@pxref{Lines}). Note that @code{line?} will return @code{#f} if called with a pin argument. @defun pin? object Returns @samp{#t} if and only if @var{object} is a pin @code{object}. @end defun @defun net-pin? object Returns @samp{#t} if and only if @var{object} is a net pin. @end defun @defun make-net-pin start end [color] Creates and returns a new net pin @code{object}. @var{start} is the position of the start of the new pin (the connectable end) in the form @code{(x . y)} and @var{end} is the position of end of the pin. If @var{color} is specified, it should be the integer color map index of the color with which to draw the pin. If @var{color} is not specified, the default pin color is used. @end defun @defun bus-pin? object Returns @samp{#t} if and only if @var{object} is a bus pin. @end defun @defun make-bus-pin start end [color] Creates and returns a new bus pin @code{object}. Arguments are as for @code{make-net-pin}. @end defun @node Boxes @subsection Boxes Boxes are rectangles specified by the coordinates of their top left and bottom right corners. They are purely graphical, and have no electrical meaning. They can be drawn in different colors, and with various stroke and fill settings. @xref{Object color}. @xref{Object fill and stroke}. @defun box? object Returns @samp{#t} if and only if @var{object} is a box @code{object}. @end defun @defun make-box top-left bottom-right [color] Creates and returns a new box @code{object}. @var{top-left} is the position of the top left of the new box in the form @code{(x . y)}, and @var{bottom-right} is the position of the bottom right of the box. If @var{color} is specified, it should be the integer color map index of the color with which to draw the box. If @var{color} is not specified, the default box color is used. @end defun @defun set-box! box top-left bottom-right [color] Sets the parameters of @var{box}. The arguments are the same as to @code{make-box}. Returns @var{box}. @end defun @defun box-info box Returns the parameters of @var{box}. The return value is a list in the form: @example ((top-left-x . top-left-y) (bottom-right-x . bottom-right-y) color) @end example @end defun @defun box-top-left box Returns the position of the top left corner of @var{box} in the form @code{(x . y)}. @end defun @defun box-bottom-right box Returns the position of the bottom right corner of @var{box} in the form @code{(x . y)}. @end defun @node Circles @subsection Circles Circle @code{objects} are specified by center position and radius, and are purely graphical with no electrical meaning. They can be drawn in different colors, and with various stroke and fill settings. @xref{Object color}. @xref{Object fill and stroke}. @defun circle? object Returns @samp{#t} if and only if @var{object} is a circle @code{object}. @end defun @defun make-circle center radius [color] Creates and returns a new circle @code{object}. @var{center} is the position of the center of the new circle in the form @code{(x . y)}, and @var{radius} is the integer radius of the circle. If @var{color} is specified, it should be the integer color map index of the color with which to draw the circle. If @var{color} is not specified, the default circle color is used. @end defun @defun set-circle! circle center radius [color] Sets the parameters of @var{circle}. The arguments are the same as to @code{make-circle}. Returns @var{circle}. @end defun @defun circle-info circle Returns the parameters of @var{circle} as a list of the form: @example ((center-x . center-y) radius color) @end example @end defun @defun circle-center circle Returns the position of the center of @var{circle} as in the form @code{(x . y)}. @end defun @defun circle-radius circle Returns the radius of @var{circle} as an integer. @end defun @node Arcs @subsection Arcs Arc @code{objects} are specified by center position, radius, and start and end angles. They are purely graphical with no electrical meaning. They can be drawn in different colors, and with various stroke settings. @defun arc? object Returns @samp{#t} if and only if @var{object} is an arc @code{object}. @end defun @defun make-arc center radius start-angle sweep-angle [color] Creates and returns a new arc @code{object}. @var{center} is the position of the center of the new arc in the form @code{(x . y)}, and @var{radius} is the integer radius of the arc. @var{start-angle} and @var{sweep-angle} are the angles at which to start and end the arc, in degrees. If @var{color} is specified, it should be the integer color map index of the color with which to draw the arc. If @var{color} is not specified, the default arc color is used. @end defun @defun set-arc! arc center radius start-angle sweep-angle [color] Sets the parameters of @var{arc}. The arguments are the same as to @code{make-arc}. Returns @var{arc}. @end defun @defun arc-info arc Returns the parameters of @var{arc} as a list of the form: @example ((center-x . center-y) radius start-angle sweep-angle color) @end example @end defun @defun arc-center arc Returns the position of the center of @var{arc} in the form @code{(x . y)}. @end defun @defun arc-radius arc Returns the radius of @var{arc} as an integer. @end defun @defun arc-start-angle arc Returns the start angle of @var{arc} as an integer number of degrees. @end defun @defun arc-sweep-angle arc Returns the end angle of @var{arc} as an integer number of degrees. @end defun @node Paths @subsection Paths Paths are arbitrary shapes comprised of straight lines and Bézier curves. Each path contains a sequence of @emph{path elements}, each of which requires zero or more absolute position parameters. The element types supported by Lepton are: @itemize @item @samp{moveto} elements represent a step (without drawing) to another point in the schematic, and begin a new subpath. @samp{moveto} elements need a single position parameter, which is the position of the endpoint of the move. @item @samp{lineto} elements draw a straight line from the current point to the point specified by a single position parameter. @item @samp{curveto} elements draw a Bézier curve from the current point. The curve requires three position parameters: the position of the first control point; the position of the second control point; and the endpoint of the curve. @item @samp{closepath} elements close the current subpath by drawing a straight line from the current point to the subpath's initial point. They take no parameters. @end itemize @defun path? object Returns @samp{#t} if and only if @var{object} is a path @code{object}. @end defun @defun make-path [color] Creates and returns a new path @code{object}. If @var{color} is specified, it should be the integer color map index of the color with which to draw the path. If @var{color} is not specified, the default path color is used. @end defun @defun path-length path Returns the number of path elements in @var{path}. @end defun @defun path-ref path K Returns the @var{K}th element in @var{path}. The return value is a list. The first item in the list is a symbol indicating the type of element, and any additional items are the position parameters of the element. For example, a call to @code{path-ref} might return: @example (curveto (800 . 525) (700 . 700) (500 . 700)) @end example If @var{K} is not a valid offset into @var{path}, raises an @samp{out-of-range} error. @end defun @defun path-remove! path K Removes the @var{K}th element in @var{path}, returning @var{path}. If @var{K} is not a valid offset, raises an @samp{out-of-range} error. @end defun @defun path-insert! path K type [positions...] Inserts a new element into @var{path} at index @var{K}. @var{type} is a symbol indicating the type of element to insert, using the parameters @var{positions}. If @var{K} is less than zero or greater than the number of elements @var{path} already contains, the new element is appended to the path. For example, to append a straight line section to the current path: @example (path-insert! path -1 'lineto '(500 . 100)) @end example @end defun @node Pictures @subsection Pictures A picture object displays an image in the schematic, and is a purely graphical element. Pictures may be in any format supported by the user's GdkPixbuf installation (but note that images that can't be loaded for some reason are preserved). The @var{top-left}, @var{bottom-right}, @var{angle} and @var{mirror} properties of a picture object indicate the transformation that was applied to the original image. The transformation is applied as follows: @enumerate @item If @var{mirror} is true, the picture is reflected about its vertical centerline. @item The picture is rotated by @var{angle} anticlockwise about its center (@var{angle} may only be an integer multiple of 90 degrees). @item The picture is scaled and translated to fit within the rectangle defined by the points @var{top-left} and @var{bottom-right}. @end enumerate @defun picture? object Returns @samp{#t} if and only if @var{object} is a picture @code{object}. @end defun @defun make-picture/vector vector filename top-left bottom-right angle mirror Creates and returns a new picture object for @var{filename}, by reading image data from @var{vector} (which should be in a standard image file format). If @var{vector} could not be loaded, an error is raised. @var{top-left}, @var{bottom-right}, @var{angle} and @var{mirror} specify the picture transformation. The points @var{top-left} and @var{bottom-right} should be specified in the form @samp{(x . y)}. @end defun @defun set-picture! picture top-left bottom-right angle mirror Sets the picture transformation for @var{picture}. @end defun @defun picture-info picture Returns the parameters of @var{picture} as a list in the form: @example (filename (top-left-x . top-left-y) (bottom-right-x . bottom-right-y) angle mirror) @end example @end defun @defun picture-filename picture Returns the filename associated with @var{picture} as a string. @end defun @defun picture-top-left picture Returns the position of the top left corner of @samp{picture} in the form @samp{(x . y)}. @end defun @defun picture-bottom-right picture Returns the position of the bottom right corner of @samp{picture} in the form @samp{(x . y)}. @end defun @defun picture-angle picture Returns the angle to rotate @samp{picture} by, as an integer number of degrees. @end defun @defun picture-mirror? picture Returns true if @samp{picture} is mirrored. @end defun @node Text @subsection Text Text fulfils two roles, as straightforward labels and notes on schematics and symbols, and as attached or floating attributes (@pxref{Attributes}). A text @code{object} can be aligned in different ways relative to its anchor position, and can be displayed in different font sizes. Any text can be set to be visible or invisible on printed output (and lepton-schematic provides ways to preview invisible text). When a text @code{object} is an attribute (i.e. its string is in a @samp{@var{name}=@var{value}} format) then the visibility settings are more fine-grained: the text can be set to display just the attribute name, just the attribute value, or both. @xref{Attributes}. @defun text? object Returns @samp{#t} if and only if @var{object} is a text @code{object}. @end defun @defun make-text anchor align angle string size visible show [color] Creates and returns a new text @code{object}. @var{anchor} is the position of the anchor of the new text in the form @code{(x . y)}, and @var{align} is a symbol determining how the text should be aligned relative to the anchor. @var{align} must be one of the following symbols: @itemize @item @samp{lower-left} @item @samp{middle-left} @item @samp{upper-left} @item @samp{lower-center} @item @samp{middle-center} @item @samp{upper-center} @item @samp{lower-right} @item @samp{middle-right} @item @samp{upper-right} @end itemize For example, if @var{align} is @samp{upper-center}, the anchor will be located at the top center of the rendered text block. @var{angle} should be an integer multiple of 90 degrees, determining the angle which the text should be displayed at. @var{string} is the string contents for the @code{text} object, and must not contain any null characters (@samp{#\0} in Scheme, Unicode @samp{U+0000}). @var{size} is the font size to use. If @var{visible} is @samp{#f}, the text will be invisible; otherwise, it will be visible. When the @var{string} is in an attribute format (@pxref{Attributes}), the @var{show} argument determines which parts of the @var{string} will be displayed. It must be one of the following symbols: @itemize @item @samp{name} @item @samp{value} @item @samp{both} @end itemize If @var{color} is specified, it should be the integer color map index of the color with which to draw the text. If @var{color} is not specified, the default text color is used. @end defun @defun set-text! text anchor align angle string size visible show [color] Sets the parameters of @var{text}. The arguments are the same as to @code{make-text}. Returns @var{text}. @end defun @defun text-info text Returns the parameters of @var{text} as a list in the form: @example ((anchor-x . anchor-y) align angle string size visible show color) @end example See @code{make-text} for a description of all of these parameters. @end defun @defun text-anchor text Returns the position of the anchor of @var{text} in the form @code{(x . y)}. @end defun @defun text-align text Returns the alignment of @var{text} as one of the following symbols: @itemize @item @samp{lower-left} @item @samp{middle-left} @item @samp{upper-left} @item @samp{lower-center} @item @samp{middle-center} @item @samp{upper-center} @item @samp{lower-right} @item @samp{middle-right} @item @samp{upper-right} @end itemize @end defun @defun text-angle text Returns the angle that @var{text} is displayed at as an integer multiple of 90 degrees. @end defun @defun text-string text Returns the string content of @var{text}. @end defun @defun set-text-string! text str Set the string content of @var{text} to @var{str}. @var{str} must not contain any null characters (@samp{#\0} in Scheme, Unicode @samp{U+0000}). @end defun @defun text-size text Return the font size of @var{text} as an integer. @end defun @defun text-visible? text Returns @samp{#t} if and only if @var{text} is set to be visible. @end defun @defun set-text-visibility! text visible? If @var{visible?} is @samp{#f}, sets @var{text} to be invisible; otherwise, sets it to be visible. @end defun @defun text-attribute-mode text Returns a symbol indicating which parts of @var{text} will be displayed when @var{text} is a valid attribute. The returned value will be one of the following symbols: @itemize @item @samp{name} @item @samp{value} @item @samp{both} @end itemize @end defun @node Components @subsection Components Component @code{object}s represent instances of symbols. They contain other @code{object}s copied from the original symbol when it is instantiated into a schematic. A component's @var{basename} is a string used to identify which symbol it originated from. When instantiating a symbol on initial placement in a schematic, or when recreating a component while loading a schematic, the @var{basename} is used to find the underlying symbol file in the component library. @xref{Component objects}. The @var{position}, @var{angle} and @var{mirror} flag of a component indicates the transformation that was applied to the contents of the original symbol. The transformation is applied in the following order: @enumerate @item If @var{mirror} is true, the symbol is reflected in the line x = 0. @item The symbol is rotated anti-clockwise by @var{angle} degrees about the point (0,0) (@var{angle} may only be an integer multiple of 90 degrees). @item Finally, the symbol is translated by @var{position}. @end enumerate The component's contents (as returned by @code{component-contents}) have the transformation already applied to them. Updating the translation information using e.g. @code{set-component!} will not alter them -- that must be done separately (e.g. by reloading the symbol). @defun component? object Returns @samp{#t} if and only if @var{object} is a component @code{object}. @end defun @defun make-component basename position angle mirror locked Creates and returns a new, empty component @code{object} with the given @var{basename}. @var{position}, @var{angle} and @var{mirror} specify the symbol transformation. If @var{locked} is true, the component will be protected against accidental selection by the user (this is used in lepton-schematic e.g. for titleblocks). No attempt is made to load a symbol matching @var{basename} from component libraries, and the returned component is flagged as embedded. @end defun @defun make-component/library basename position angle mirror locked Searches the component libraries for a symbol matching @var{basename}, and if found, instantiates the symbol and returns the resulting component (which is not flagged as embedded). Arguments are as for @code{make-component}. If no match for @var{basename} is found, @samp{#f} is returned. @end defun @defun set-component! component position angle mirror locked Sets the parameters of @var{component}. Arguments are the same as to @code{make-component}. Returns @var{component}. @strong{Note}: Remember that modifying the transformation parameters of a component does not update the component's contents. @end defun @defun set-component-with-transform! component position angle mirror locked Sets the parameters of @var{component}. Arguments are the same as to @code{make-component}. Returns @var{component}. @strong{Note}: All transformations are applied immediately. @end defun @defun component-info component Returns the parameters of @var{component} as a list of the form: @example (basename (x . y) angle mirror locked) @end example @end defun @defun component-basename component Returns the basename of @var{component}. @end defun @defun component-filename component If a component object @var{component} has a symbol file associated with it, returns its full path, otherwise returns false (@samp{#f}). @end defun @defun component-position component Returns the position to which the original symbol was translated when creating @var{component}. @end defun @defun component-angle component Returns the angle by which the original symbol was rotated when creating @var{component}, as an integer number of degrees. @end defun @defun component-mirror? component Returns true if the original symbol was mirrored when creating @var{component}. @end defun @defun component-locked? component Returns true if @var{component} is non-selectable. @end defun @defun component-contents component Returns the contents of @var{components} as a list of objects. @end defun @defun component-append! component objects... Appends @var{objects} (which must not be component @code{object}s) to the contents of @var{component}. Any @var{objects} which are already included in @var{component} are ignored. If any @var{objects} are already part of a @code{page} or of another component @code{object}, an @samp{object-state} error is raised. Returns @var{component}. @end defun @defun component-remove! component objects... Removes @var{objects} from the contents of @var{component}. Any @var{objects} which are not part of a component or of a page are ignored. Returns @var{component}. An @samp{object-state} error will be raised if any @var{objects} satisfy any of the following conditions: @itemize @item are part of a @code{page}; @item are part of a component @code{object} other than @var{component}; @item have attached attributes @item are attached as an attribute. @end itemize @end defun @node Core attribute functions @section Core attribute functions To use the functions described in this section, you will need to load the @code{(lepton attrib)} module. Attributes are text @code{object}s with a particular format of string. They can be floating, or they can be attached to another @code{object}. @defun attribute? object Returns true if and only if @var{object} is an attribute (i.e. a text @code{object} and in attribute format). @end defun @subsection Attribute names and values @defun parse-attrib text Splits the string from @var{text} (a text @code{object}) into name and value, if it is in attribute format. If it is not in attribute format, raises an @samp{attribute-format} error. The return value is in the form @samp{(@var{name} . @var{value})}. @end defun @defun attrib-name attrib Returns the name part of @var{attrib}, as a string. @end defun @defun attrib-value attrib Returns the value part of @var{attrib}, as a string. @end defun @defun set-attrib-value! attrib value Sets the value part of @var{attrib} to @var{value}. @end defun @subsection Attribute attachment @defun attrib-attachment attrib If @var{attrib} is attached to another @code{object}, returns that object. Otherwise, returns @samp{#f}. @end defun @defun object-attribs object Returns a list of all attributes attached to @var{object}. @end defun @defun attach-attribs! object [attribs...] Attach @var{attribs} to @var{object}. All the @var{attribs} must be text @code{object}s. The following conditions must be satisfied, or an @samp{object-state} error will be raised: @itemize @item Neither @var{object} nor any of the @var{attribs} may be already attached as an attribute; @item Both @var{object} and all @var{attribs} must be part of the same @code{page} and/or component @code{object}; @end itemize Any @var{attribs} that are already attached to @var{object} are ignored. Returns @var{object}. @strong{Note}: For historical reasons, @code{attach-attribs!} does not require that all @var{attribs} satisfy @code{attribute?}. Nevertheless, avoid attaching non-attribute text objects as attributes. @end defun @defun detach-attribs! object [attribs...] Detach @var{attribs} from @var{object}. Any @var{attribs} that are not attached as attributes are ignored. If any @var{attribs} are attached to @code{object}s other than @var{object}, an @samp{object-state} error is raised. @end defun @subsection Inherited and promoted attributes @dfn{Inherited attributes} are unattached attributes inside a component @code{object}. @defun inherited-attribs object Returns the inherited attributes of @var{object}, if @var{object} is a component. If @var{object} is not a component, returns the empty list. @end defun @defun attrib-inherited? attrib Returns @samp{#t} if @var{attrib} is an inherited attribute. @end defun @dfn{promotable attributes} are inherited attributes that are both visible and have names that are in the list of promotable attributes set with the @code{always-promote-attributes} rc file parameter. @defun promotable-attribs component Returns a list of promotable attributes of @var{component}. @end defun @defun promote-attribs! component Promote all promotable attributes from @var{component} into the @code{page} that contains @var{component}. If @var{component} is not in a page, an @samp{object-state} error is raised. All promotable attributes are copied, and made invisible. The copies are added to the @code{page}, and attached as attributes of @var{component}. The promoted attributes are returned. If @var{component} is not in fact a component @code{object}, does nothing and returns the empty list. @end defun @node Core source library functions @section Core source library functions To use the functions described in this section, you will need to load the @code{(lepton library)} module. @defvar %default-source-library Default source library used in the tools. @end defvar @defun source-library-contents library Returns the contents of source @var{library}. @end defun @defun set-source-library-contents! library contents Sets the contents of given source @var{library} into @var{contents}. The value of @var{contents} must be a list of paths where source files are stored or @code{'()}. @end defun @node Configuration functions @section Configuration functions @cindex Configuration To use the functions described in this section, you will need to load the @code{(lepton config)} module. This section describes some functions for accessing, monitoring and modifying the configuration of Lepton libraries and applications. @menu * Configuration contexts:: * Configuration parameters:: * Configuration events:: * Configuration errors:: @end menu @node Configuration contexts @subsection Configuration contexts @cindex Configuration context A configuration parameter is always evaluated within a @dfn{configuration context}. Each context is associated with a configuration file (although the file does not necessarily need to exist). Each configuration context may have a @dfn{parent context}. If, when looking up a parameter, it has no value set in the selected context, the parent context is checked, and so on. Three special contexts are always automatically defined: the @dfn{default context}, the @dfn{system context} and the @dfn{user context}. The user context is the default parent context for all other configuration contexts, including newly-created ones. @subsubsection Obtaining a context @cindex System configuration context @cindex User configuration context @cindex Default configuration contex @defun path-config-context path Normally, you shouldn't create a configuration context directly; you should obtain the configuration context associated with a @var{path}. @code{path-config-context} looks for a configuration file named @file{lepton.conf}. If @var{path} is not a directory, it is truncated, and then a file named @file{lepton.conf} is looked for in that directory. If none is found, the parent directory is checked, and so on until a configuration file is found or the filesystem root is reached. If no configuration file was found, the returned context will be associated with a @file{lepton.conf} in the same directory as @var{path}. @strong{Warning}: Do not assume that the configuration file associated with the context returned by @code{path-config-context} is located in the directory specified by @var{path}. @end defun @defun default-config-context The default context is not associated with any physical path or on-disk configuration file, and has no parent context. It contains the default configuration used when no configuration file can be loaded. @strong{Note}: Normally, the default context should be populated with built-in default configuration settings on start-up, before loading any further configuration files. This approach is strongly recommended, because it means that configuration parameters can then be safely read without having to use @code{config-has-group?} and @code{config-has-key?} to check if they are set (@pxref{Configuration parameters, , Configuration groups and keys}). Since 1.10. @end defun @defun system-config-context The system context is used for system-wide configuration. Its parent context is the default context. It is located by searching @code{sys-config-dirs} for a @file{$@{prefix@}/share/lepton-eda/lepton-system.conf} file. Since 1.10. @end defun @defun user-config-context The user context is used for user-specific configuration, and is loaded from @file{lepton-user.conf} in @code{user-config-dir}. Its parent context is the system context. Since 1.10. @end defun @subsubsection Loading and saving configuration files @cindex Loading configuration @cindex Saving configuration Other than the default context, all configuration contexts are associated with an on-disk configuration file. @defun config-filename cfg Return the filename of the configuration file associated with the context @var{cfg}. For some contexts (including the default context), this will return @samp{#f}. Since 1.10. @end defun @defun config-load! cfg [force-load] Attempt to load configuration parameters for the context @var{cfg} from its associated file. If @var{force-load} keyword argument is true (@samp{#t}), configuration will be reloaded even if it has already been loaded. By default, @var{force-load} is set to false (@samp{#f}). @end defun @defun config-loaded? cfg Determine whether the context @var{cfg} has been successfully loaded from file. Since 1.10. @end defun @defun config-save! cfg Attempt to save configuration parameters for the context @var{cfg} to its associated file. Returns @var{cfg}. If configuration cannot be saved, raises an error. Since 1.10. @end defun @defun config-changed? cfg Determine whether the context @var{cfg} has been altered since it was last synchronised with the on-disk version by loading or saving it. Since 1.10. @end defun @subsubsection Context parents @cindex Context parent @cindex Parent configuration context A configuration context may have a @dfn{parent context}, from which it inherits configuration values. Configuration inheritance loops are not permitted. @xref{Configuration parameters, , Configuration inheritance}. @defun config-parent cfg Return the parent context of the context @var{cfg}, if it has one. Otherwise, return @samp{#f}. Since 1.10. @end defun @defun set-config-parent! cfg parent Sets @var{parent} as the parent context of @var{cfg}. If @var{parent} is @samp{#f}, sets @var{cfg} as having no parent context. @strong{Note}: Normally, application code should avoid using this function; keeping to the default configuration inheritance structure is recommended in order to ensure consistent behaviour of all liblepton applications. Since 1.10. @end defun @subsubsection Context trust @cindex Context trust @cindex Trusted configuration context @cindex Configuration trust Some configuration parameters are dangerous; in particular, parameters that may lead to arbitrary code execution need to be handled carefully. Such settings might include: @itemize @item Preferred PDF reader @item Preferred web browser @item Search path for Scheme plugins @end itemize Configuration contexts can be flagged as being @dfn{trusted}. This allows code that needs to access such dangerous parameters to determine whether the value has been obtained from a safe source. By default, the default context, system context and user context are trusted, and all other contexts untrusted. @defun config-trusted? cfg Test whether @var{cfg} is a trusted configuration context. Since 1.10. @end defun @defun set-config-trusted! cfg trusted? Set whether the configuration context @var{cfg} should be trusted as a source for dangerous configuration parameters. @strong{Warning}: You should not set a configuration context as trusted unless you are certain that it originated from a safe source (e.g. by interacting with the user to verify it). Since 1.10. @end defun @defun config-trusted-context cfg If @var{cfg} is trusted, returns @var{cfg}; otherwise, returns the first parent context of @var{cfg} that is a trusted context. If no trusted context can be found, returns @samp{#f}. Since 1.10. @end defun @node Configuration parameters @subsection Configuration parameters @cindex Configuration parameter @cindex Configuration key @cindex Configuration group @cindex Configuration value A Lepton @dfn{configuration parameter} consists of three components: @table @dfn @item Group A string which identifies the general category in which the parameter lies (e.g. which application and/or plugin). @item Name A string which specifically identifies the parameter within the group. @item Value The value of the parameter. This is stored as a string, but can be converted to a number of possible scalar and list types. @end table Groups, names and values are all case-sensitive. @subsubsection Configuration groups and keys @defun config-groups cfg Returns a list of all groups available in @var{cfg} and its parent contexts. Since 1.10. @end defun @defun config-has-group? cfg group Determines whether @var{cfg} or its parent contexts contain the specified @var{group} Since 1.10. @end defun @defun config-keys cfg group Returns a list of all keys available in the specified @var{group} in @var{cfg} and its parent contexts. Since 1.10. @end defun @defun config-has-key? cfg group key Determines whether @var{cfg} or its parent contexts contains @var{key} in the specified @var{group}. Since 1.10. @end defun @defun config-remove-key! cfg group key Removes the configuration parameter identified by the given @var{group} and @var{key} in the configuration context @var{cfg}. Returns @samp{#t} on success, @samp{#f} otherwise. @end defun @defun config-remove-group! cfg group Removes the configuration group identified by @var{group} and all its parameters in the configuration context @var{cfg}. Returns @samp{#t} on success, @samp{#f} otherwise. @end defun @subsubsection Configuration inheritance If a configuration context does not directly specify a value for a configuration parameter, it inherits the value from its parent context. @xref{Configuration contexts, , Context parents}. @defun config-inherited? cfg group key Returns @samp{#f} if value of the configuration parameter with the given @var{group} and @var{key} is specified in the context @var{cfg}, and @samp{#t} if it is inherited from a parent context of @var{cfg}. Since 1.10. @end defun @defun config-source cfg group key Returns the configuration context (either @var{cfg} or one of its parent contexts) in which the configuration parameter with the given @var{group} and @var{key} has its value defined. Since 1.10. @end defun @subsubsection Configuration values @cindex Getting configuration parameters @cindex Setting configuration parameters Each value is stored as a UTF-8 string in the configuration file. However, this string can be parsed a several different types. All of the following types are supported: @itemize @item Strings @item Booleans @item Exact integers @item Inexact real numbers @end itemize In addition, lists of all the above are supported. @defun config-string cfg group key Retrieve configuration value as a string. Since 1.10. @end defun @defun config-boolean cfg group key Retrieve configuration value as a boolean. Since 1.10. @end defun @defun config-int cfg group key Retrieve configuration value as an exact integer. Since 1.10. @end defun @defun config-real cfg group key Retrieve configuration value as an inexact real number. Since 1.10. @end defun @defun config-string-list cfg group key Retrieve configuration value as a list of strings. Since 1.10. @end defun @defun config-boolean-list cfg group key Retrieve configuration value as a list of booleans. Since 1.10. @end defun @defun config-int-list cfg group key Retrieve configuration value as a list of exact integers. Since 1.10. @end defun @defun config-real-list cfg group key Retrieve configuration value as a list of inexact real numbers. Since 1.10. @end defun @defun set-config! cfg group key value Set the configuration parameter identified by the given @var{group} and @var{key} in the configuration context @var{cfg}. The type of value to set is inferred from @var{value}. Returns @var{cfg}. Since 1.10. @end defun @node Configuration events @subsection Configuration events @cindex Configuration events @cindex Configuration notifications When the value of a configuration parameter is altered, either directly or by loading a configuration file, a @dfn{configuration event} is generated. Handlers can be registered to be notified when a configuration event occurs. A configuration event is associated with the group and key that had its value modified. If a configuration event is emitted by a configuration context, it propagates to all configuration contexts which inherit that group and key from it. A configuration event handler must be a closure that accepts three arguments: @example handler cfg group key @end example @var{cfg} is always the configuration context that received the event, and the @var{group} and @var{key} identify the configuration parameter that changed. When a configuration group is deleted, @var{group} argument is set to the name of the deleted group and @var{key} argument is set to an empty string. @defun add-config-event! cfg handler Registers @var{handler} to be called when configuration changes in the context @var{cfg}. Since 1.10. @end defun @defun remove-config-event! cfg handler Stops @var{handler} from being called when configuration changes in the context @var{cfg}. Since 1.10. @end defun @node Configuration errors @subsection Configuration errors @cindex Configuration errors All errors in functions in the @code{(lepton config)} are reported using one of two keys: @enumerate @item File errors (e.g. ``Access denied'' or ``File not found'' are indicated with the @code{system-error} key. @item All other errors are indicated using the @code{config-error} key. @end enumerate When a @code{config-error} is signalled, @code{data} part of the error arguments is a list containing one of the following symbols: @table @code @item unknown-encoding The text being parsed was in an unknown encoding. @item parse The configuration data wass ill-formed. @item key-not-found A requested configuration key was not found. @item group-not-found A requested configuration group was not found. @item invalid-value A configuration value could not be parsed into the requested format. @end table @node Logging functions @section Logging functions To use the functions described in this section, you will need to load the @code{(lepton log)} module. @defun log! level message [format-args...] Emit a log message with the specified @var{level}. The @var{message} is interpreted as a format string, with @var{format-args} as its parameters. The @var{level} should be one of the symbols @code{error}, @code{critical}, @code{warning}, @code{message}, @code{info} or @code{debug}. Note: if @var{level} is set to @code{error}, main program will terminate. Generally, if the @var{level} is not @code{debug}, then the message should be localised. @end defun @node System information @section System information To use the functions described in this section, you will need to load the @code{(lepton os)} module. This section describes some functions and variables that are useful for Scheme code that needs to behave differently depending on which operating system Lepton is running on. @defvar separator-char The directory separator character that should be used on the host platform. The @code{separator-char} function is deprecated and must not be used in the newly written code. It will be removed after version 1.10. There is no replacement for it. @end defvar @defvar separator A string containing @code{separator-char}. The @code{separator} function is deprecated and must not be used in the newly written code. It will be removed after version 1.10. Use the guile function @code{file-name-separator-string} instead. @end defvar @defvar path-separator-char The character used for separating the elements in @samp{PATH}-like environment variables on the host platform. @end defvar @defvar path-separator A string containing @code{path-separator-char}. @end defvar @defun platform Returns a list of symbols describing the host platform. The returned symbols may include: @itemize @item @samp{carbon} @item @samp{cygwin} @item @samp{linux} @item @samp{win32} @item @samp{win32-native} @end itemize @end defun @defun platform? type Returns @samp{#t} if the platform description list returned by @code{platform} contains the symbol @var{type}, and @samp{#f} otherwise. @end defun @defun sys-data-dirs Returns an ordered list of directories in which to access system-wide Lepton data. @end defun @defun sys-config-dirs Returns an ordered list of directories in which to access system-wide Lepton configuration information. @end defun @defun user-data-dir Returns the directory in which to store user-specific Lepton data. @end defun @defun user-config-dir Returns the directory in which to store user-specific Lepton configuration information. @end defun @defun expand-env-variables str Recursively expands @var{str} until no more environment variables can be expanded, and return the expanded string. Environment variables are in the form @samp{$@{VAR@}}. @example (expand-env-variables "$@{HOME@}/path/to/dir") @end example @end defun @node lepton-schematic API Reference @chapter lepton-schematic API Reference The Scheme modules and functions described in this chapter are available in the Lepton schematic editor application lepton-schematic. They are more focused on enabling and responding to user editing operations. @menu * Windows and views:: * Key mapping:: * Selections:: * Hooks:: * Actions:: * Miscellanous lepton-schematic functions:: @end menu @node Windows and views @section Windows and views To use the functions described in this section, you will need to load the @code{(schematic window)} module. @defun active-page Returns the @code{page} currently being displayed for editing. @end defun @defun set-active-page! page Sets the current @code{page} to @var{page}. @end defun @defun pointer-position Returns the current mouse pointer position in world coordinates in the form @samp{(x . y)}. If the pointer is outside the display area, returns @samp{#f}. @end defun @defun snap-point point Snaps the given @var{point} to the current snap grid, i.e. returns the closest grid location to @var{point}. Expects a point in the form @samp{(x . y)}, and returns a point in the same format. @end defun @node Key mapping @section Key mapping To use the functions described in this section, you will need to load the @code{(schematic keymap)} module. @subsection Key combinations lepton-schematic treats key combinations as first-class objects. A key combination consists of a non-modifier key press with some number of modifiers applied. For example, the key combination @kbd{Ctrl+Shift+A} (which calls @strong{Edit→Deselect} by default) is typed by holding the @key{Ctrl} and @key{Shift} keys down, and then pressing @key{A}. @defun key? obj Returns @samp{#t} if and only if @var{obj} is a key combination. @end defun @defun string->key str Parses @var{str} to create a new key combination. The expected format looks like @samp{a} or @samp{F1}. Key names are parsed using @code{gdk_keyval_from_name()}, and modifiers may appear in any order. If @var{str} has invalid syntax or does not represent a valid key combination, raises a @samp{key-format} error. @end defun @defun key->string key Converts @var{key} to a string, using a format suitable for passing to @code{string->key}. @end defun @defun key->display-string key Converts @var{key} to a string, using a format suitable for display. This should be used when the key combination needs to be displayed to the user e.g. in the lepton-schematic menus or status area. The returned string is translated according to the user's current locale. @example (key->display-string (string->key ``bracketright'')) => ``Ctrl+]'' @end example @end defun @subsection Key sequences Most lepton-schematic functionality is bound not to single key combinations but to sequences of them. For example, @strong{File→New} is bound to @kbd{F N} by default (i.e. press @key{F} followed by @key{N}). Key sequences are simply vectors of key bindings. For example: @example (string->keys ``F N'') => #(# #) @end example In this case, @key{F} is a @dfn{prefix key}, because pressing it does not cause an action to be carried out directly, but just changes the effect of pressing subsequent keys. @defun keys? obj Returns @samp{#t} if and only if @var{obj} is a valid key sequence. @end defun @defun string->keys str Parses @var{str} into a key sequence. The expected format is a sequence of key combination specifications (as could be passed to @code{string->key}) separated by spaces. @end defun @defun keys->string keys Converts the key sequence @var{keys} to a string, using a format suitable for passing to @code{string->keys}. @end defun @defun keys->display-string keys Converts the key sequence @var{keys} to a string, using a format suitable for display. @end defun @subsection Keymaps A @dfn{keymap} maps key combinations to values (usually actions) or to other keymaps. @xref{Actions}. @defun keymap? obj Returns @samp{#t} if and only if @var{obj} is a keymap. @end defun @defun make-keymap Creates and returns a new, empty keymap. @end defun @defun keymap-bind-key! keymap key [bindable] Binds @var{key} to @var{bindable} in @var{keymap}. If @var{bindable} is @samp{#f} or not specified, removes the binding for @var{key}. @var{bindable} should be a thunk or a keymap. @end defun @defun keymap-lookup-key keymap key Looks up the binding for @var{key} in @var{keymap}. If @var{key} is not bound, returns @samp{#f}. @end defun @defun keymap-lookup-binding keymap bindable Carries out a reverse lookup in @var{keymap} to find the key bound to @var{bindable}. If @var{bindable} is not bound in @var{keymap}, returns @samp{#f}. @end defun @defun keymap-for-each proc keymap Applies @var{proc} to each binding in @var{keymap}. @var{proc} should take two arguments: the bound key, and its binding. @end defun Actions are bound to key sequences by binding the first key combination to a keymap, then in the resulting keymap binding the second key combination, etc. This results in a directed graph of keymaps. For example, to bind the key sequence @kbd{F N}, a keymap is created containing a binding for @key{N} to the desired action, and then in the main keymap the prefix key @key{F} is bound to the new keymap. Three helper functions are provided for working with key sequence bindings. @defun bind-keys! keymap keys [bindable] Bind @var{keys} to @var{bindable}. Keys may be a key sequence vector, a single key combination, or a string representing a key sequence or key combination. If @var{bindable} is @samp{#f} or not specified, removes the binding for @var{keys}. @var{bindable} should be a thunk or a keymap. If @var{keys} contains invalid prefix keys (e.g. because one of the prefix keys is already bound to something other than a keymap), raises an error. Missing prefix keymaps are created as required. @end defun @defun lookup-keys keymap keys Looks up the binding for @var{keys} in @var{keymap}. @var{keys} is interpreted the same as for @code{bind-keys!}. If @var{keys} is not bound, returns @samp{#f}. @end defun @defun lookup-binding keymap bindable Recursively searches @var{keymap} for the key sequence bound to @var{bindable}, which should be a thunk or a keymap. If @var{bindable} is not bound, returns @samp{#f}. @end defun @node Selections @section Selections To use the functions described in this section, you will need to load the @code{(schematic selection)} module. Each @code{page} in lepton-schematic has a @dfn{selection} associated with it, which is some subset of the @code{page}s contents. Most actions in lepton-schematic operate on the currently selected objects. @defun page-selection page Returns the current selection for @var{page}, as a list of @code{object}s. @end defun @defun object-selected? object Returns @samp{#t} if @var{object} is in its containing page's selection. Otherwise, returns @samp{#f}. If @var{object} is not in a @code{page}, raises an @samp{object-state} error. @strong{Note}: @var{object} must be @emph{directly} included in a @code{page}, not via inclusion in a component @code{object}. @end defun @defun select-object! object Adds @var{object} to the selection of its containing @code{page}. If @var{object} is not directly included in a @code{page}, raises an @samp{object-state} error. If @var{object} is already selected, does nothing. Returns @var{object}. @strong{Note}: This function does not call @code{select-objects-hook}. @end defun @defun deselect-object! object Removes @var{object} from the selection of its containing @code{page}. If @var{object} is not directly included in a @code{page}, raises an @samp{object-state} error. If @var{object} is not selected, does nothing. Returns @var{object}. @strong{Note}: This function does not call @code{deselect-objects-hook}. @end defun @node Hooks @section Hooks To use the hooks described in this section, you will need to load the @code{(schematic hook)} module. lepton-schematic defines a number of hooks that allow functions to be automatically run whenever a number of built-in actions are invoked by the user. Most Scheme functions do not call these hooks. If it makes sense for your code to invoke a standard hook, you should normally do so explicitly. @strong{Warning}: Functions added to these standard hooks should not normally modify their arguments. For more information on hooks in Guile, @pxref{Hooks, , Hooks, guile, Guile Reference Manual}. @defvar add-objects-hook Called after objects are added to the page, at their initial creation. The argument is a list of the objects being added. @end defvar @defvar copy-objects-hook Called after objects are copied, either via @strong{Edit → Copy Mode} or similar, or to buffers, or to the clipboard. Argument is a list of the objects that were copied. @end defvar @defvar remove-objects-hook Called after objects are removed from the page. Argument is a list of the objects being removed. @end defvar @defvar move-objects-hook Called after objects are moved. Argument is a list of the objects that were moved. @end defvar @defvar mirror-objects-hook Called after objects are mirrored. Argument is a list of the objects that were mirrored. @end defvar @defvar rotate-objects-hook Called after objects are rotated. Argument is a list of the objects that were rotated. @end defvar @defvar paste-objects-hook Called after objects are pasted to the page, either via @strong{Edit → Copy Mode} or similar, or via buffers, or via the clipboard. Argument is a list of the objects that were pasted. @end defvar @defvar attach-attribs-hook Called after attributes are attached to something. The argument is a list of the attributes that were attached. @end defvar @defvar detach-attribs-hook Called after attributes are detached from something. The argument is a list of the attributes that were detached. @end defvar @defvar select-objects-hook Called after objects are added to the selection. The argument is a list of objects that were selected. @end defvar @defvar deselect-objects-hook Called after objects are removed from the selection. The argument is a list of objects that were deselected. @end defvar @defvar new-page-hook Called when a new page is created. The argument is the new page. @end defvar @defvar open-page-hook Called when an existing page is loaded. The argument is the loaded page. @end defvar @defvar action-property-hook Called when an action property is set. The arguments are the action, the property key and the property value. @xref{Actions}. Since 1.10. @end defvar @defvar bind-keys-hook Called when a key binding is set or modified. The arguments are the keymap, the key sequence and the binding's target. @strong{Note}: @code{bind-keys-hook} may be run multiple times for a single key binding event if the target keymap is bound within a superior keymap. Since 1.10. @end defvar @defvar switch-action-mode-hook Called when GUI switches to a new action mode. The argument is the new mode. The action mode may be one of the following symbols: @itemize @item @samp{select-mode} @item @samp{grips-mode} @item @samp{arc-mode} @item @samp{box-mode} @item @samp{bus-mode} @item @samp{circle-mode} @item @samp{line-mode} @item @samp{net-mode} @item @samp{path-mode} @item @samp{picture-mode} @item @samp{pin-mode} @item @samp{component-mode} @item @samp{copy-mode} @item @samp{multiple-copy-mode} @item @samp{move-mode} @item @samp{paste-mode} @item @samp{text-mode} @item @samp{box-select-mode} @item @samp{zoom-box-mode} @item @samp{pan-mode} @item @samp{mirror-mode} @item @samp{rotate-mode} @end itemize @example (add-hook! switch-action-mode-hook (lambda (mode) (display mode) (newline))) @end example Since 1.10. @end defvar @node Actions @section Actions @cindex Actions To use the functions described in this section, you will need to load the @code{(schematic action)} module. @subsection Action objects @cindex Action objects @cindex Action properties Usually, it is sufficient to use normal Scheme functions when extending lepton-schematic. However, when integrating an extension function with the lepton-schematic GUI (e.g. via keybindings), it is often useful to couple a Scheme function with metadata such as the label and icon to show in menus, etc. You can do this by creating a lepton-schematic action. Actions can be called just like a normal Scheme function, but get executed via the lepton-schematic action dispatcher @code{eval-action!} rather than being invoked directly. Normally, actions have names begining with an @samp{&} symbol. @defmac define-action (name [keyword value ...]) body Create a new action, bound to the given @var{name} in the current module. The @var{body} is a sequence of Scheme expressions which are evaluated in order when the action is invoked. Any number of initial properties can be specified for the action by providing pairs of @var{keyword}s and @var{value}s. @example (define-action (&report-bug #:label ``Report Bug'' #:icon ``web-browser'') (show-uri ``https://github.com/lepton-eda/lepton-eda/issues/new'')) @end example Since 1.10. @end defmac @defun make-action thunk [keyword value ...] Create and return a new action wrapping @var{thunk}. Optionally, specify @var{keyword}-@var{value} pairs to set initial properties for the action. Since 1.10. @end defun @defun action? obj Returns @samp{#t} iff @var{obj} is a lepton-schematic action, and @samp{#f} otherwise. Since 1.10. @end defun Action properties are name-value pairs that are attached to an action. @defun action-property action key Return the value of one of @var{action}'s properties. @var{key} is a symbol naming the property to retrieve. Since 1.10. @end defun @defun set-action-property! action key value Set the value of one of @var{action}'s properties. @var{key} is a symbol naming the property to set, and @var{value} is the new value. Since 1.10. @end defun @subsection Evaluating actions @cindex Evaluating actions @cindex Action evaluation All of lepton-schematic's built-in actions are callable just like normal Scheme functions. However, it's sometimes useful to explicitly evaluate an action in the same way that the lepton-schematic GUI (menus, toolbars or keybindings) would do so. @defun eval-action! action Invoke @var{action}, returning @samp{#t} on success and raising an error on failure. There are a number of possible types for @var{action} that @code{eval-action!} will accept: @itemize @item A thunk. @item A lepton-schematic action. @item A symbol naming an action or a thunk in the current module. @end itemize The special symbol @samp{repeat-last-command} is interpreted as a request to repeat the last action evaluated via @code{eval-action!}. @strong{Note}: If you have an action object @code{&action}, then the following two calls are equivalent and interchangeable: @example (eval-action! &action) (&action) @end example Since 1.10. @end defun @subsection Action positions @cindex Action positions Often in lepton-schematic actions it may be useful not to use the actual current mouse pointer position but to use the mouse pointer position that was current when the action was invoked. @defun eval-action-at-point! action [point] Evaluate @var{action} at a particular point on the schematic plane. If @var{point} is omitted, the action is evaluated at the current mouse pointer position. Since 1.10. @end defun @defun action-position Return the current action pointer position, as set when the action was invoked (via @code{eval-action-at-point!}). This only makes sense to call from inside an action. Since 1.10. @end defun @strong{Note}: The pointer position can only be considered reliable when the user was actually clicking on or pointing at the schematic view area to invoke the action, rather than on a menu or toolbar button. At the moment this means that an action position is only set when a command is invoked by hotkey. @node Miscellanous lepton-schematic functions @section Miscellaneous lepton-schematic functions @subsection lepton-schematic Attribute Helpers To use the functions described in this section, you will need to load the @code{(schematic attrib)} module. @defun add-attrib! target name value visible show Create a new attribute, either attached to a @var{target} @code{object} in the current @code{page}, or floating in the current @code{page} if @var{target} is @samp{#f}. The @var{name} and @var{value} for the attribute must be strings, and if visible is @samp{#f}, the attribute will be invisible. The @var{show} argument controls which parts of the attribute will be visible, and must be one of the following symbols: @itemize @item @samp{name} @item @samp{value} @item @samp{both} @end itemize This function exists to provide a way for actions defined in Scheme to use the same attribute placement heuristics as lepton-schematic's built-in @strong{Add Attribute} action. @xref{Text}, @ref{Attributes} and @ref{Windows and views}. @end defun @subsection Miscellaneous utility functions To use the functions described in this section, you will need to load the @code{(schematic util)} module. @defun show-uri uri Open @var{uri} in the registered default application associated for that type of file or protocol. URI should be fully-qualified URI; which URIs can be handled by @code{show-uri} will depend on the system configuration. Raises @code{misc-error} on failure. @end defun @defun show-file filename Displays a file in the registered default application for files of that type. @var{filename} should be the absolute path and filename of a local file. Convenience function which calls @code{(show-uri "file://@var{filename}")} @end defun @node lepton-netlist API Reference @chapter lepton-netlist API Reference The Scheme modules and functions described in this chapter are available in the Lepton netlister application lepton-netlist. @node Concept Index @unnumbered Concept Index @printindex cp @node Function Index @unnumbered Function Index @printindex fn @node Variable Index @unnumbered Variable Index @printindex vr @bye lepton-eda-1.9.10/docs/scheme-api/lepton-scheme.css0000644000175000017500000000004613634703632017002 00000000000000body { background-color: #f0f0f0 } lepton-eda-1.9.10/docs/scheme-api/Makefile.am0000644000175000017500000000043313634703632015561 00000000000000info_TEXINFOS = lepton-scheme.texi AM_MAKEINFOHTMLFLAGS = --css-ref=lepton-scheme.css EXTRA_DIST = lepton-scheme.css all: all-am html $(MKDIR_P) $(builddir)/lepton-scheme.html/ cp -fv $(srcdir)/lepton-scheme.css $(builddir)/lepton-scheme.html/ install-data-local: install-html lepton-eda-1.9.10/docs/scheme-api/stamp-vti0000644000175000017500000000014113634704525015372 00000000000000@set UPDATED 19 March 2020 @set UPDATED-MONTH March 2020 @set EDITION 1.9.10 @set VERSION 1.9.10 lepton-eda-1.9.10/docs/scheme-api/lepton-scheme.info0000644000175000017500000034766313634704531017167 00000000000000This is lepton-scheme.info, produced by makeinfo version 6.5 from lepton-scheme.texi. This manual is for Lepton EDA, version 1.9.10. Copyright © 2011-2013 Peter TB Brett Copyright © 2011-2017 gEDA developers Copyright © 2017-2020 Lepton developers The text of and illustrations in this document are licensed under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at . The original authors of this document designate the Lepton EDA Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. INFO-DIR-SECTION The Algorithmic Language Scheme START-INFO-DIR-ENTRY * Lepton EDA Scheme: (lepton-scheme). Lepton EDA extensibility with Guile Scheme. END-INFO-DIR-ENTRY  File: lepton-scheme.info, Node: Top, Next: Introduction, Up: (dir) Lepton EDA Scheme Reference Manual ********************************** This manual is for Lepton EDA, version 1.9.10. Copyright © 2011-2013 Peter TB Brett Copyright © 2011-2017 gEDA developers Copyright © 2017-2020 Lepton developers The text of and illustrations in this document are licensed under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at . The original authors of this document designate the Lepton EDA Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. * Menu: * Introduction:: * Schematic Document Model:: * Core API Reference:: * lepton-schematic API Reference:: * lepton-netlist API Reference:: * Concept Index:: * Function Index:: * Variable Index::  File: lepton-scheme.info, Node: Introduction, Next: Schematic Document Model, Prev: Top, Up: Top Introduction ************ About Lepton EDA ================ Lepton EDA is a suite of free software tools for designing electronics. It provides schematic capture, netlisting into over 30 netlist formats, and many other features. It was forked from the gEDA/gaf suite (http://wiki.geda-project.org/geda:gaf) (part of gEDA, please see below) by most of its main developers in late 2016. About gEDA ========== “gEDAâ€, or _GPL Electronic Design Automation_, is a suite of free software tools for designing electronics. The gEDA project has produced and continues working on a full GPL’d suite and toolkit of Electronic Design Automation (EDA) tools. These tools are used for electrical circuit design, schematic capture, simulation, prototyping, and production. The gEDA project was started because of the lack of free EDA tools for POSIX systems with the primary purpose of advancing the state of free hardware or open source hardware. The suite is mainly being developed on the GNU/Linux platform with some development effort going into making sure the tools run on other platforms as well. About the Lepton EDA Scheme API =============================== The “Lepton EDA Scheme APIâ€, documented in this manual, is a set of Scheme functions which can be used to enhance Lepton applications by adding new functionality or modify existing behaviour. Lepton EDA (formerly gEDA) has always used a Scheme interpreter for interpreting configuration files, managing keybindings in lepton-schemactic (formerly gschem), and implementing netlist exporter backends in gnetlist. However, for a long time the utility of embedding a Scheme interpreter was diminished by the lack of a low-level API for inspecting and modifying schematic documents. The Scheme types and functions documented here were added to gEDA and later to Lepton to address that need. Lepton uses the _Guile_ Scheme implementation (otherwise known as the _GNU Ubiquitous Intelligent Language for Extensions_) as its embedded Scheme. For more information about Guile, please visit . Getting Additional Help ======================= If you think you have found a bug, please file a bug report: . Please add the tag ‘scheme-api’. It will help us to fix your bug quickly if you can describe in detail how to reproduce the bug. If you have a question about using Lepton EDA, or about extending Lepton using Scheme, you may wish to send a message to one of the gEDA mailing lists (‘geda-user’ or ‘geda-help’) which can be accessed from the main gEDA website: . Currently, Lepton doesn’t have an own mailing list. You may also find additional information in the Lepton EDA wiki (https://github.com/lepton-eda/lepton-eda/wiki). We Need Feedback! ================= If you find a typographical error in this manual, or if you have thought of a way to make this manual better, we would love to hear from you! Please submit a bug report: , with the tag ‘scheme-api’.  File: lepton-scheme.info, Node: Schematic Document Model, Next: Core API Reference, Prev: Introduction, Up: Top 1 The Schematic Document Model ****************************** When using Lepton EDA to design an electronic circuit, users use the schematic editor, lepton-schematic, to choose and place _schematic symbols_ on a _schematic page_, and connect the _pins_ of the symbols together by drawing _nets_. The user may add various _attributes_ to symbols, nets or pins to modify how the circuit diagrams should be interpreted. The resulting schematics are then processed with the gnetlist tool to generate a _netlist_. This chapter describes the different data types used by the Scheme API to represent Lepton EDA documents (both schematics and symbols), and how they relate to each other. * Menu: * Pages:: * Objects:: * Component objects:: * Attributes:: * Coordinate system::  File: lepton-scheme.info, Node: Pages, Next: Objects, Up: Schematic Document Model 1.1 Pages ========= Schematics and symbols are presented as different types of document to the user, with different file extensions, icons and mime-types. However, when they are loaded into a Lepton application such as lepton-schematic for editing, they are internally represented in exactly the same way, by the ‘page’ type. The ‘page’ is the top-level Lepton document data type. Internally, the main difference between a ‘page’ for a schematic and a ‘page’ for a symbol is the types of schematic element they are permitted to contain (*note Objects::). For example, a symbol is not permitted to contain nets, buses, or instances of other symbols, and a schematic is not permitted to contain pins. *Note*: Although the restrictions on what types of primitive element schematics and symbols may contain are not enforced by the API, designs which violate these restrictions may cause the netlister not to work as expected. Each ‘page’ is associated with a filename, although the filename is not required by the API either to be valid or to be associated with a accessible file in the filesystem. Pages are not garbage-collected; once you create a ‘page’, you are responsible for making sure that it is disposed of when it is no longer required.  File: lepton-scheme.info, Node: Objects, Next: Component objects, Prev: Pages, Up: Schematic Document Model 1.2 Objects =========== Each ‘page’ contains some number of “schematic elementsâ€, represented by the ‘object’ type. There are several sub-types of ‘object’, including: • graphical lines, circles, arcs, rectangles and paths; • nets and net pins; • buses and bus pins; • pictures; • text; • and symbol instances, known as ’components’. Each ‘object’ can be part of at most a single ‘page’ – they cannot be shared between pages. ‘object’s are automatically garbage collected. Most of different ‘object’ sub-types are quite straightforward to understand. The main exceptions are components, and the text ‘object’-based attribute mechanism, which are described in the following sections.  File: lepton-scheme.info, Node: Component objects, Next: Attributes, Prev: Objects, Up: Schematic Document Model 1.3 Component objects ===================== When a symbol is instantiated in a schematic (e.g. by the user selecting it from the lepton-schematic component library and placing it on the page), a compound ‘object’ known as a “component†is created. Like a ‘page’, a component contains some number of ‘object’ elements. When a component is created from a symbol, the contents of the symbol’s ‘page’ are copied into the component. In order to allow the component to appear in the correct place on the schematic page, at the correct orientation, etc., a transformation is applied to every ‘object’ in the component. Normally, when the schematic ‘page’ is closed, the parameters of the transformation are stored in the schematic file along with the basename of the original symbol, but the ‘object’ contents of the component are discarded. When the schematic is subsequently re-opened, the original symbol is retrieved from the component library, and used to recreate the component. However, a component may optionally be _embedded_. In this case, its contents _are_ stored in the schematic file. *Note*: A component cannot contain another component – only other types of ‘object’.  File: lepton-scheme.info, Node: Attributes, Next: Coordinate system, Prev: Component objects, Up: Schematic Document Model 1.4 Attributes ============== A Lepton user is able to annotate schematic elements with additional data, such as footprints for components or net names for nets. This is carried out using “attributesâ€. An attribute is text ‘object’ which contains a text string in the form ‘NAME=VALUE’. Currently, the restrictions on attribute format that are enforced by the API are: • Attribute NAMEs: 1. must contain at least one character; 2. must not contain a ‘=’ character (Unicode ‘U+003D’); 3. must not end with a space (‘ ’, Unicode ‘U+0020’). • Attribute VALUEs: 1. must contain at least one character; 2. must not begin with a space (‘ ’, Unicode ‘U+0020’). *Note*: Due to assumptions made by some Lepton and gEDA tools, it is _strongly recommended_ that you use attribute NAMEs which contain only lower-case Latin characters, decimal digits, full stops ‘.’ (‘U+002E’), and hyphens ‘-’ (‘U+002D’). There are two types of attribute: _Attached attributes_ are attribute text ‘object’s that are linked to another ‘object’. To attach an attribute to another schematic element, both ‘object’s must be part of the same component or part of the same ‘object’. For example, a ‘netname=NAME’ attribute attached to a net ‘object’ can be used to give that net a specific name in netlist output, such as ‘VCC’ or ‘GND’. _Floating attributes_ are attribute text ‘object’s that are not linked to another ‘object’. These attributes affect the schematic or symbol that they’re part of as a whole. For example, a floating ‘documentation=URL’ attribute in a symbol tells lepton-schematic’s *Help → Component Documentation* command how to find the component’s data sheet.  File: lepton-scheme.info, Node: Coordinate system, Prev: Attributes, Up: Schematic Document Model 1.5 Coordinate system ===================== Lepton documents use a “coordinate system†(internally referred to as ‘world’ coordinates) with coordinates increasing upwards and to the right (i.e. a conventional right-handed Cartesian coordinate system). Although all coordinates may be positive or negative, lepton-schematic only displays objects with positive coordinates (i.e. in the upper right quadrant of the coordinate system). It is therefore recommended to use only positive coordinates. In the Scheme API, the coordinate of a point is expressed in the format: (x . y) and a set of “bounds†(i.e. a rectangular area in the document plane) is expressed in the format: ((left . top) . (right . bottom)) where ‘left’ is the smaller x coordinate, ‘right’ is the larger x coordinate, and ‘bottom’ and ‘top’ are respectively the smaller and larger y coordinates.  File: lepton-scheme.info, Node: Core API Reference, Next: lepton-schematic API Reference, Prev: Schematic Document Model, Up: Top 2 Core API Reference ******************** The Scheme modules and functions described in this chapter are primitive operations for working with schematics and symbols, and are available to be used in all Lepton applications. * Menu: * Core page functions:: * Core object functions:: * Core attribute functions:: * Core source library functions:: * Configuration functions:: * Logging functions:: * System information::  File: lepton-scheme.info, Node: Core page functions, Next: Core object functions, Up: Core API Reference 2.1 Core page functions ======================= To use the functions described in this section, you will need to load the ‘(lepton page)’ module. *Note Pages::. -- Function: page? obj Returns ‘#t’ if and only if OBJ is a ‘page’. -- Function: active-pages Returns a list of all open ‘page’s. 2.1.1 Page creation, disposal and filenames ------------------------------------------- Every ‘page’ is associated with a _filename_. The filename does not necessarily have to be a file which exists and/or is accessible in the filesystem. -- Function: make-page filename Creates and returns a new, empty ‘page’, with the given string FILENAME. -- Function: close-page! page Destroys PAGE. The returned value is undefined. *Warning*: This function closes and destroys PAGE immediately, regardless of whether the page has been modified since loading or saving, and without asking the user. -- Function: page-filename page Returns the filename associated with PAGE as a string. -- Function: set-page-filename! page filename Sets the filename of PAGE to FILENAME. Returns PAGE. 2.1.2 Conversion between files and pages ---------------------------------------- Pages can be converted to and from files in the gEDA schematic file format. -- Function: file->page filename [new-page?] Return a ‘page’ for FILENAME which must be a string. If such a page has been already opened, that page is returned, otherwise a new page is created. If NEW-PAGE? is not ‘#f’, new page creation is forced. Returns the resulting ‘page’. 2.1.3 Page serialisation ------------------------ Pages can be converted to and from strings in the gEDA schematic file format. -- Function: string->page filename string Parses STRING, which should be in the gEDA file format, to create a new ‘page’. The initial filename for the new ‘page’ is FILENAME. If the string is not in gEDA format, raises an ‘string-format’ error. -- Function: page->string page Returns a string representation of PAGE in the gEDA file format. 2.1.4 Page contents ------------------- A schematic or symbol ‘page’ is composed of a set of ‘object’s which determine both its graphical appearance and its electrical meaning. -- Function: page-contents page Returns a list of the ‘object’s which make up PAGE. The list can be freely modified without changing the contents of PAGE. -- Function: page-append! page objects... Appends zero or more OBJECTS to the contents of PAGE in the order given. Returns PAGE. If any of the OBJECTS is already part of a ‘page’ other than PAGE, or is part of a component ‘object’, raises an ‘object-state’ error. Any of the OBJECTS that are already in the PAGE are ignored. -- Function: page-remove! page objects... Removes zero or more OBJECTS from the contents of PAGE. Returns PAGE. Any OBJECTS that are not part of a ‘page’ or component ‘object’ are ignored. An ‘object-state’ error will be thrown if any of the OBJECTS satisfies any of the following conditions: • part of a ‘page’ other than PAGE; • part of component ‘object’; • has attached attributes (*note Attributes::); • is attached as an attribute. -- Function: object-page object Returns the ‘page’ which contains OBJECT (either directly or indirectly), or ‘#f’ if OBJECT is not part of a ‘page’. *Note*: If the OBJECT argument to ‘object-page’ is part of a component ‘object’ which is itself part of a ‘page’, that ‘page’ will be returned. 2.1.5 Page dirty flags ---------------------- A ‘page’ has a _dirty flag_ that is used to indicate to applications that the ‘page’ has been modified since it was last loaded or saved. -- Function: page-dirty? page Returns ‘#t’ if the PAGE’s page has been marked as dirty; otherwise, returns ‘#f’. -- Function: set-page-dirty! page [state] Sets the dirty flag for PAGE. If STATE is ‘#f’, clears the dirty flag; otherwise, or if STATE is omitted, marks the page as dirty. Returns PAGE.  File: lepton-scheme.info, Node: Core object functions, Next: Core attribute functions, Prev: Core page functions, Up: Core API Reference 2.2 Core object functions ========================= To use the functions described in this section, you will need to load the ‘(lepton object)’ module. * Menu: * General object functions:: * Lines:: * Nets and buses:: * Pins:: * Boxes:: * Circles:: * Arcs:: * Paths:: * Pictures:: * Text:: * Components::  File: lepton-scheme.info, Node: General object functions, Next: Lines, Up: Core object functions 2.2.1 General object functions ------------------------------ -- Function: object? obj Returns ‘#t’ if and only if OBJ is an ‘object’. -- Function: copy-object object Returns a deep copy of OBJECT. The new ‘object’ returned has no attached attributes, and is not part of a ‘page’ or part of a component ‘object’. -- Function: object-component object Returns the component ‘object’ that contains OBJECT, or ‘#f’ if OBJECT is not part of a component. -- Function: object-connections object Returns a list of other ‘object’s that are _directly_ connected to OBJECT. If ‘object’ is not included in a ‘page’, raises an ‘object-state’ error. The connections reported are independent of inclusion in components. For example, consider a page containing a net and a component, and the component contains a single pin. If the connectable end of the pin intersects the net, then ‘(object-connections )’ will return a list containing the pin ‘object’, and _not_ the component. -- Function: object-selectable? object Returns true (‘#t’) if OBJECT is selectable (i.e. not locked). -- Function: set-object-selectable! object state Sets the selectable flag for OBJECT. If STATE is ‘#f’, clears the selectable flag; if STATE is ‘#t’, sets it. Returns OBJECT. -- Function: object-embedded? object Returns true (‘#t’) if OBJECT is embedded, false (‘#f’) otherwise. -- Function: set-object-embedded! object state Embed (if STATE is ‘#t’) or unembed (if STATE is ‘#t’) OBJECT. Returns OBJECT. * Menu: * Object sub-types:: * Object transformations:: * Object bounds:: * Object color:: * Object fill and stroke::  File: lepton-scheme.info, Node: Object sub-types, Next: Object transformations, Up: General object functions 2.2.1.1 Object sub-types ........................ Schematic element ‘object’s come in several subtypes. -- Function: object-type object Returns the sub-type of OBJECT as a symbol. The subtype will be one of the following symbols: • ‘arc’ • ‘box’ • ‘bus’ • ‘circle’ • ‘complex’ (indicates a component ‘object’) • ‘line’ • ‘net’ • ‘path’ • ‘picture’ • ‘pin’ • ‘text’ *Note*: The word ‘complex’ is only used in Scheme API to define component type for historical reasons, since before it was used in the gEDA C source code. As Guile Scheme supports complex numbers, and the procedures related to working with complex numbers use the word ‘complex’ to describe them, any other code of both Lepton C and Scheme API uses the word ‘component’ instead to avoid ambiguity. -- Function: object-type? object type Returns ‘#t’ if and only if OBJECT is an ‘object’ and that its subtype is TYPE, which should be a symbol.  File: lepton-scheme.info, Node: Object transformations, Next: Object bounds, Prev: Object sub-types, Up: General object functions 2.2.1.2 Object transformations .............................. Objects can be translated, rotated, or mirrored about a point. -- Function: translate-objects! vector [objects...] Translate OBJECTS by VECTOR, a world coordinate distance in the form ‘(x . y)’. Returns a list of the modified OBJECTS. -- Function: rotate-objects! center angle [objects...] Translate OBJECTS anti-clockwise by ANGLE about CENTER, a world coordinate position in the form ‘(x . y)’. ANGLE must be an integer multiple of 90 degrees. Returns a list of the modified OBJECTS. -- Function: mirror-objects! x-offset [objects...] Mirror OBJECTS in the line ‘x = X-OFFSET’. Returns a list of the modified OBJECTS.  File: lepton-scheme.info, Node: Object bounds, Next: Object color, Prev: Object transformations, Up: General object functions 2.2.1.3 Object bounds ..................... The bounds of an object is the smallest bounding rectangle of the object, expressed in document coordinates (*note Coordinate system::). -- Function: object-bounds objects... Returns the world coordinate bounding box containing all of the OBJECTS passed as arguments, or ‘#f’ if none of the OBJECTS have bounds (for example, this can occur if no OBJECTS are specified, or if they are all empty component ‘object’s). *Note*: ‘object-bounds’ always returns the actual bounds of the OBJECTS, not the visible bounds. This means that the bounds of invisible text is always included. -- Function: fold-bounds bounds... Calculates the union of several sets of BOUNDS (as returned by ‘object-bounds’). If any of the BOUNDS are ‘#f’, they are skipped; if all of the BOUNDS are ‘#f’, ‘#f’ is returned.  File: lepton-scheme.info, Node: Object color, Next: Object fill and stroke, Prev: Object bounds, Up: General object functions 2.2.1.4 Object color .................... Object colors in Lepton documents are specified as indices into a color map. This allows users to specify the color map that suits them when viewing schematics and symbols. -- Function: object-color object Returns the integer color map index of the color used to draw OBJECT. -- Function: set-object-color! object color Sets the integer color map index for OBJECT to COLOR. Returns OBJECT.  File: lepton-scheme.info, Node: Object fill and stroke, Prev: Object color, Up: General object functions 2.2.1.5 Object fill and stroke .............................. Graphical object subtypes – lines, boxes, circles, arcs and paths – are drawn with a stroke pattern that can be configured in detail. -- Function: object-stroke object Returns the stroke settings of the OBJECT, which must be a line, box, circle, arc or path ‘object’. The return value is a list of parameters: 1. stroke width, as an integer number of world units 2. cap style, one of the symbols ‘none’, ‘square’ or ‘round’. 3. dash style, one of the symbols ‘solid’, ‘dotted’, ‘dashed’, ‘center’ or ‘phantom’. 4. up to two dash parameters, depending on the dash style: • for solid lines, no parameters; • for dotted lines, dot spacing; • for other styles, dot/dash spacing and dash length. -- Function: set-object-stroke! object width cap dash [dash-space [dash-length]] Set the stroke settings of the OBJECT, which must be a line, box, circle, arc or path ‘object’. The arguments are the same as the contents of the list returned by ‘object-stroke’. Returns OBJECT. -- Function: object-stroke-width object Returns the integer stroke width of OBJECT, which must be a line, box, circle, arc or path ‘object’. -- Function: object-stroke-cap object Returns the stroke cap style of OBJECT, which must be a line, box, circle, arc or path ‘object’. The returned value is one of the symbols ‘none’, ‘square’ or ‘round’. -- Function: object-stroke-dash object Returns the dash style of OBJECT, which must be a line, box, circle, arc or path ‘object’. The return value is a list of between one and three parameters: 1. dash style, one of the symbols ‘solid’, ‘dotted’, ‘dashed’, ‘center’ or ‘phantom’. 2. for styles other than ‘solid’, dot/dash spacing; 3. for ‘dashed’, ‘center’ and ‘phantom’, dash length. Some types of ‘object’ – boxes, circles and paths – can have their interiors filled with a variety of patterns. -- Function: object-fill object Returns the fill settings of OBJECT, which must be a box, circle or path ‘object’. The return value is a list of one to six parameters: 1. fill style, one of the symbols ‘hollow’, ‘solid’, ‘mesh’ or ‘hatch’; 2. up to five fill parameters, depending on fill style: 1. none for ‘hollow’ or ‘solid’ fills; 2. line width, line spacing and line angle (in degrees) for ‘hatch’ fills; 3. line width, first spacing and angle, and second spacing and angle for ‘mesh’ fills. -- Function: set-object-fill! object fill-type . fill-args Sets the fill settings of OBJECT, which must be a box, circle or path ‘object’. The arguments are the same as the contents of the list returned by ‘object-fill’. Returns OBJECT.  File: lepton-scheme.info, Node: Lines, Next: Nets and buses, Prev: General object functions, Up: Core object functions 2.2.2 Lines ----------- Line ‘object’s are straight graphical line segments with no electrical meaning. A line’s geometrical parameters are a start point and end point, and it supports different colors and stroke styles. Many of the functions for manipulating lines are also used to manipulate line-like objects such as nets, buses or pins. -- Function: line? object Returns ‘#t’ if and only if OBJECT is a line ‘object’. -- Function: make-line start end [color] Creates and returns a new line ‘object’. START is the position of the start of the new line in the form ‘(x . y)’ and END is the position of end of the line. If COLOR is specified, it should be the integer color map index of the color with which to draw the line. If COLOR is not specified, the default line color is used. -- Function: set-line! line start end [color] Sets the parameters of LINE (which may be a line, net, bus or pin ‘object’). The arguments are the same as to ‘make-line’. Returns LINE. -- Function: line-info line Returns the parameters of LINE (which may be a line, net, bus or pin ‘object’). The return value is a list in the form: ((start-x . start-y) (end-x . end-y) color) *Note*: For pin ‘object’s, first coordinate is the connectable point on the pin. -- Function: line-start line Returns the position ‘(x . y)’ of the start of LINE (which may be a line, net, bus or pin ‘object’). For pin ‘objects’, this is the position of the connectable point on the pin. -- Function: line-end line Returns the position ‘(x . y)’ of the end of LINE (which may be a line, net, bus or pin ‘object’).  File: lepton-scheme.info, Node: Nets and buses, Next: Pins, Prev: Lines, Up: Core object functions 2.2.3 Nets and buses -------------------- Net and bus ‘object’s are straight line segments which represent electrical connectivity. Nets represent single wires, and buses multi-wire connections of arbitrary composition. All of the functions that work on line ‘object’s also work with nets and buses (*note Lines::). Note that ‘line?’ will return ‘#f’ if called with a net or bus argument. -- Function: net? object Returns ‘#t’ if and only if OBJECT is a net. -- Function: make-net start end [color] Creates and returns a new net ‘object’. START is the position of the start of the new net in the form ‘(x . y)’ and END is the position of end of the net. If COLOR is specified, it should be the integer color map index of the color with which to draw the net. If COLOR is not specified, the default net color is used. -- Function: bus? object Returns ‘#t’ if and only if OBJECT is a bus. -- Function: make-bus start end [color] Creates and returns a new bus ‘object’. Arguments are as for ‘make-net’.  File: lepton-scheme.info, Node: Pins, Next: Boxes, Prev: Nets and buses, Up: Core object functions 2.2.4 Pins ---------- Pin ‘objects’ are straight line segments which represent connectable points in symbols or subcircuits, such as the pins of a semiconductor package. Only one end of a pin can be connected to nets, buses or other pins; the rest of a pin is purely graphical. Pins come in two varieties: “net pins†and “bus pinsâ€, which are used for connections to nets and buses respectively (*note Nets and buses::). All of the functions that work on line ‘object’s also work with pins (*note Lines::). Note that ‘line?’ will return ‘#f’ if called with a pin argument. -- Function: pin? object Returns ‘#t’ if and only if OBJECT is a pin ‘object’. -- Function: net-pin? object Returns ‘#t’ if and only if OBJECT is a net pin. -- Function: make-net-pin start end [color] Creates and returns a new net pin ‘object’. START is the position of the start of the new pin (the connectable end) in the form ‘(x . y)’ and END is the position of end of the pin. If COLOR is specified, it should be the integer color map index of the color with which to draw the pin. If COLOR is not specified, the default pin color is used. -- Function: bus-pin? object Returns ‘#t’ if and only if OBJECT is a bus pin. -- Function: make-bus-pin start end [color] Creates and returns a new bus pin ‘object’. Arguments are as for ‘make-net-pin’.  File: lepton-scheme.info, Node: Boxes, Next: Circles, Prev: Pins, Up: Core object functions 2.2.5 Boxes ----------- Boxes are rectangles specified by the coordinates of their top left and bottom right corners. They are purely graphical, and have no electrical meaning. They can be drawn in different colors, and with various stroke and fill settings. *Note Object color::. *Note Object fill and stroke::. -- Function: box? object Returns ‘#t’ if and only if OBJECT is a box ‘object’. -- Function: make-box top-left bottom-right [color] Creates and returns a new box ‘object’. TOP-LEFT is the position of the top left of the new box in the form ‘(x . y)’, and BOTTOM-RIGHT is the position of the bottom right of the box. If COLOR is specified, it should be the integer color map index of the color with which to draw the box. If COLOR is not specified, the default box color is used. -- Function: set-box! box top-left bottom-right [color] Sets the parameters of BOX. The arguments are the same as to ‘make-box’. Returns BOX. -- Function: box-info box Returns the parameters of BOX. The return value is a list in the form: ((top-left-x . top-left-y) (bottom-right-x . bottom-right-y) color) -- Function: box-top-left box Returns the position of the top left corner of BOX in the form ‘(x . y)’. -- Function: box-bottom-right box Returns the position of the bottom right corner of BOX in the form ‘(x . y)’.  File: lepton-scheme.info, Node: Circles, Next: Arcs, Prev: Boxes, Up: Core object functions 2.2.6 Circles ------------- Circle ‘objects’ are specified by center position and radius, and are purely graphical with no electrical meaning. They can be drawn in different colors, and with various stroke and fill settings. *Note Object color::. *Note Object fill and stroke::. -- Function: circle? object Returns ‘#t’ if and only if OBJECT is a circle ‘object’. -- Function: make-circle center radius [color] Creates and returns a new circle ‘object’. CENTER is the position of the center of the new circle in the form ‘(x . y)’, and RADIUS is the integer radius of the circle. If COLOR is specified, it should be the integer color map index of the color with which to draw the circle. If COLOR is not specified, the default circle color is used. -- Function: set-circle! circle center radius [color] Sets the parameters of CIRCLE. The arguments are the same as to ‘make-circle’. Returns CIRCLE. -- Function: circle-info circle Returns the parameters of CIRCLE as a list of the form: ((center-x . center-y) radius color) -- Function: circle-center circle Returns the position of the center of CIRCLE as in the form ‘(x . y)’. -- Function: circle-radius circle Returns the radius of CIRCLE as an integer.  File: lepton-scheme.info, Node: Arcs, Next: Paths, Prev: Circles, Up: Core object functions 2.2.7 Arcs ---------- Arc ‘objects’ are specified by center position, radius, and start and end angles. They are purely graphical with no electrical meaning. They can be drawn in different colors, and with various stroke settings. -- Function: arc? object Returns ‘#t’ if and only if OBJECT is an arc ‘object’. -- Function: make-arc center radius start-angle sweep-angle [color] Creates and returns a new arc ‘object’. CENTER is the position of the center of the new arc in the form ‘(x . y)’, and RADIUS is the integer radius of the arc. START-ANGLE and SWEEP-ANGLE are the angles at which to start and end the arc, in degrees. If COLOR is specified, it should be the integer color map index of the color with which to draw the arc. If COLOR is not specified, the default arc color is used. -- Function: set-arc! arc center radius start-angle sweep-angle [color] Sets the parameters of ARC. The arguments are the same as to ‘make-arc’. Returns ARC. -- Function: arc-info arc Returns the parameters of ARC as a list of the form: ((center-x . center-y) radius start-angle sweep-angle color) -- Function: arc-center arc Returns the position of the center of ARC in the form ‘(x . y)’. -- Function: arc-radius arc Returns the radius of ARC as an integer. -- Function: arc-start-angle arc Returns the start angle of ARC as an integer number of degrees. -- Function: arc-sweep-angle arc Returns the end angle of ARC as an integer number of degrees.  File: lepton-scheme.info, Node: Paths, Next: Pictures, Prev: Arcs, Up: Core object functions 2.2.8 Paths ----------- Paths are arbitrary shapes comprised of straight lines and Bézier curves. Each path contains a sequence of _path elements_, each of which requires zero or more absolute position parameters. The element types supported by Lepton are: • ‘moveto’ elements represent a step (without drawing) to another point in the schematic, and begin a new subpath. ‘moveto’ elements need a single position parameter, which is the position of the endpoint of the move. • ‘lineto’ elements draw a straight line from the current point to the point specified by a single position parameter. • ‘curveto’ elements draw a Bézier curve from the current point. The curve requires three position parameters: the position of the first control point; the position of the second control point; and the endpoint of the curve. • ‘closepath’ elements close the current subpath by drawing a straight line from the current point to the subpath’s initial point. They take no parameters. -- Function: path? object Returns ‘#t’ if and only if OBJECT is a path ‘object’. -- Function: make-path [color] Creates and returns a new path ‘object’. If COLOR is specified, it should be the integer color map index of the color with which to draw the path. If COLOR is not specified, the default path color is used. -- Function: path-length path Returns the number of path elements in PATH. -- Function: path-ref path K Returns the Kth element in PATH. The return value is a list. The first item in the list is a symbol indicating the type of element, and any additional items are the position parameters of the element. For example, a call to ‘path-ref’ might return: (curveto (800 . 525) (700 . 700) (500 . 700)) If K is not a valid offset into PATH, raises an ‘out-of-range’ error. -- Function: path-remove! path K Removes the Kth element in PATH, returning PATH. If K is not a valid offset, raises an ‘out-of-range’ error. -- Function: path-insert! path K type [positions...] Inserts a new element into PATH at index K. TYPE is a symbol indicating the type of element to insert, using the parameters POSITIONS. If K is less than zero or greater than the number of elements PATH already contains, the new element is appended to the path. For example, to append a straight line section to the current path: (path-insert! path -1 'lineto '(500 . 100))  File: lepton-scheme.info, Node: Pictures, Next: Text, Prev: Paths, Up: Core object functions 2.2.9 Pictures -------------- A picture object displays an image in the schematic, and is a purely graphical element. Pictures may be in any format supported by the user’s GdkPixbuf installation (but note that images that can’t be loaded for some reason are preserved). The TOP-LEFT, BOTTOM-RIGHT, ANGLE and MIRROR properties of a picture object indicate the transformation that was applied to the original image. The transformation is applied as follows: 1. If MIRROR is true, the picture is reflected about its vertical centerline. 2. The picture is rotated by ANGLE anticlockwise about its center (ANGLE may only be an integer multiple of 90 degrees). 3. The picture is scaled and translated to fit within the rectangle defined by the points TOP-LEFT and BOTTOM-RIGHT. -- Function: picture? object Returns ‘#t’ if and only if OBJECT is a picture ‘object’. -- Function: make-picture/vector vector filename top-left bottom-right angle mirror Creates and returns a new picture object for FILENAME, by reading image data from VECTOR (which should be in a standard image file format). If VECTOR could not be loaded, an error is raised. TOP-LEFT, BOTTOM-RIGHT, ANGLE and MIRROR specify the picture transformation. The points TOP-LEFT and BOTTOM-RIGHT should be specified in the form ‘(x . y)’. -- Function: set-picture! picture top-left bottom-right angle mirror Sets the picture transformation for PICTURE. -- Function: picture-info picture Returns the parameters of PICTURE as a list in the form: (filename (top-left-x . top-left-y) (bottom-right-x . bottom-right-y) angle mirror) -- Function: picture-filename picture Returns the filename associated with PICTURE as a string. -- Function: picture-top-left picture Returns the position of the top left corner of ‘picture’ in the form ‘(x . y)’. -- Function: picture-bottom-right picture Returns the position of the bottom right corner of ‘picture’ in the form ‘(x . y)’. -- Function: picture-angle picture Returns the angle to rotate ‘picture’ by, as an integer number of degrees. -- Function: picture-mirror? picture Returns true if ‘picture’ is mirrored.  File: lepton-scheme.info, Node: Text, Next: Components, Prev: Pictures, Up: Core object functions 2.2.10 Text ----------- Text fulfils two roles, as straightforward labels and notes on schematics and symbols, and as attached or floating attributes (*note Attributes::). A text ‘object’ can be aligned in different ways relative to its anchor position, and can be displayed in different font sizes. Any text can be set to be visible or invisible on printed output (and lepton-schematic provides ways to preview invisible text). When a text ‘object’ is an attribute (i.e. its string is in a ‘NAME=VALUE’ format) then the visibility settings are more fine-grained: the text can be set to display just the attribute name, just the attribute value, or both. *Note Attributes::. -- Function: text? object Returns ‘#t’ if and only if OBJECT is a text ‘object’. -- Function: make-text anchor align angle string size visible show [color] Creates and returns a new text ‘object’. ANCHOR is the position of the anchor of the new text in the form ‘(x . y)’, and ALIGN is a symbol determining how the text should be aligned relative to the anchor. ALIGN must be one of the following symbols: • ‘lower-left’ • ‘middle-left’ • ‘upper-left’ • ‘lower-center’ • ‘middle-center’ • ‘upper-center’ • ‘lower-right’ • ‘middle-right’ • ‘upper-right’ For example, if ALIGN is ‘upper-center’, the anchor will be located at the top center of the rendered text block. ANGLE should be an integer multiple of 90 degrees, determining the angle which the text should be displayed at. STRING is the string contents for the ‘text’ object, and must not contain any null characters (‘#\0’ in Scheme, Unicode ‘U+0000’). SIZE is the font size to use. If VISIBLE is ‘#f’, the text will be invisible; otherwise, it will be visible. When the STRING is in an attribute format (*note Attributes::), the SHOW argument determines which parts of the STRING will be displayed. It must be one of the following symbols: • ‘name’ • ‘value’ • ‘both’ If COLOR is specified, it should be the integer color map index of the color with which to draw the text. If COLOR is not specified, the default text color is used. -- Function: set-text! text anchor align angle string size visible show [color] Sets the parameters of TEXT. The arguments are the same as to ‘make-text’. Returns TEXT. -- Function: text-info text Returns the parameters of TEXT as a list in the form: ((anchor-x . anchor-y) align angle string size visible show color) See ‘make-text’ for a description of all of these parameters. -- Function: text-anchor text Returns the position of the anchor of TEXT in the form ‘(x . y)’. -- Function: text-align text Returns the alignment of TEXT as one of the following symbols: • ‘lower-left’ • ‘middle-left’ • ‘upper-left’ • ‘lower-center’ • ‘middle-center’ • ‘upper-center’ • ‘lower-right’ • ‘middle-right’ • ‘upper-right’ -- Function: text-angle text Returns the angle that TEXT is displayed at as an integer multiple of 90 degrees. -- Function: text-string text Returns the string content of TEXT. -- Function: set-text-string! text str Set the string content of TEXT to STR. STR must not contain any null characters (‘#\0’ in Scheme, Unicode ‘U+0000’). -- Function: text-size text Return the font size of TEXT as an integer. -- Function: text-visible? text Returns ‘#t’ if and only if TEXT is set to be visible. -- Function: set-text-visibility! text visible? If VISIBLE? is ‘#f’, sets TEXT to be invisible; otherwise, sets it to be visible. -- Function: text-attribute-mode text Returns a symbol indicating which parts of TEXT will be displayed when TEXT is a valid attribute. The returned value will be one of the following symbols: • ‘name’ • ‘value’ • ‘both’  File: lepton-scheme.info, Node: Components, Prev: Text, Up: Core object functions 2.2.11 Components ----------------- Component ‘object’s represent instances of symbols. They contain other ‘object’s copied from the original symbol when it is instantiated into a schematic. A component’s BASENAME is a string used to identify which symbol it originated from. When instantiating a symbol on initial placement in a schematic, or when recreating a component while loading a schematic, the BASENAME is used to find the underlying symbol file in the component library. *Note Component objects::. The POSITION, ANGLE and MIRROR flag of a component indicates the transformation that was applied to the contents of the original symbol. The transformation is applied in the following order: 1. If MIRROR is true, the symbol is reflected in the line x = 0. 2. The symbol is rotated anti-clockwise by ANGLE degrees about the point (0,0) (ANGLE may only be an integer multiple of 90 degrees). 3. Finally, the symbol is translated by POSITION. The component’s contents (as returned by ‘component-contents’) have the transformation already applied to them. Updating the translation information using e.g. ‘set-component!’ will not alter them – that must be done separately (e.g. by reloading the symbol). -- Function: component? object Returns ‘#t’ if and only if OBJECT is a component ‘object’. -- Function: make-component basename position angle mirror locked Creates and returns a new, empty component ‘object’ with the given BASENAME. POSITION, ANGLE and MIRROR specify the symbol transformation. If LOCKED is true, the component will be protected against accidental selection by the user (this is used in lepton-schematic e.g. for titleblocks). No attempt is made to load a symbol matching BASENAME from component libraries, and the returned component is flagged as embedded. -- Function: make-component/library basename position angle mirror locked Searches the component libraries for a symbol matching BASENAME, and if found, instantiates the symbol and returns the resulting component (which is not flagged as embedded). Arguments are as for ‘make-component’. If no match for BASENAME is found, ‘#f’ is returned. -- Function: set-component! component position angle mirror locked Sets the parameters of COMPONENT. Arguments are the same as to ‘make-component’. Returns COMPONENT. *Note*: Remember that modifying the transformation parameters of a component does not update the component’s contents. -- Function: set-component-with-transform! component position angle mirror locked Sets the parameters of COMPONENT. Arguments are the same as to ‘make-component’. Returns COMPONENT. *Note*: All transformations are applied immediately. -- Function: component-info component Returns the parameters of COMPONENT as a list of the form: (basename (x . y) angle mirror locked) -- Function: component-basename component Returns the basename of COMPONENT. -- Function: component-filename component If a component object COMPONENT has a symbol file associated with it, returns its full path, otherwise returns false (‘#f’). -- Function: component-position component Returns the position to which the original symbol was translated when creating COMPONENT. -- Function: component-angle component Returns the angle by which the original symbol was rotated when creating COMPONENT, as an integer number of degrees. -- Function: component-mirror? component Returns true if the original symbol was mirrored when creating COMPONENT. -- Function: component-locked? component Returns true if COMPONENT is non-selectable. -- Function: component-contents component Returns the contents of COMPONENTS as a list of objects. -- Function: component-append! component objects... Appends OBJECTS (which must not be component ‘object’s) to the contents of COMPONENT. Any OBJECTS which are already included in COMPONENT are ignored. If any OBJECTS are already part of a ‘page’ or of another component ‘object’, an ‘object-state’ error is raised. Returns COMPONENT. -- Function: component-remove! component objects... Removes OBJECTS from the contents of COMPONENT. Any OBJECTS which are not part of a component or of a page are ignored. Returns COMPONENT. An ‘object-state’ error will be raised if any OBJECTS satisfy any of the following conditions: • are part of a ‘page’; • are part of a component ‘object’ other than COMPONENT; • have attached attributes • are attached as an attribute.  File: lepton-scheme.info, Node: Core attribute functions, Next: Core source library functions, Prev: Core object functions, Up: Core API Reference 2.3 Core attribute functions ============================ To use the functions described in this section, you will need to load the ‘(lepton attrib)’ module. Attributes are text ‘object’s with a particular format of string. They can be floating, or they can be attached to another ‘object’. -- Function: attribute? object Returns true if and only if OBJECT is an attribute (i.e. a text ‘object’ and in attribute format). 2.3.1 Attribute names and values -------------------------------- -- Function: parse-attrib text Splits the string from TEXT (a text ‘object’) into name and value, if it is in attribute format. If it is not in attribute format, raises an ‘attribute-format’ error. The return value is in the form ‘(NAME . VALUE)’. -- Function: attrib-name attrib Returns the name part of ATTRIB, as a string. -- Function: attrib-value attrib Returns the value part of ATTRIB, as a string. -- Function: set-attrib-value! attrib value Sets the value part of ATTRIB to VALUE. 2.3.2 Attribute attachment -------------------------- -- Function: attrib-attachment attrib If ATTRIB is attached to another ‘object’, returns that object. Otherwise, returns ‘#f’. -- Function: object-attribs object Returns a list of all attributes attached to OBJECT. -- Function: attach-attribs! object [attribs...] Attach ATTRIBS to OBJECT. All the ATTRIBS must be text ‘object’s. The following conditions must be satisfied, or an ‘object-state’ error will be raised: • Neither OBJECT nor any of the ATTRIBS may be already attached as an attribute; • Both OBJECT and all ATTRIBS must be part of the same ‘page’ and/or component ‘object’; Any ATTRIBS that are already attached to OBJECT are ignored. Returns OBJECT. *Note*: For historical reasons, ‘attach-attribs!’ does not require that all ATTRIBS satisfy ‘attribute?’. Nevertheless, avoid attaching non-attribute text objects as attributes. -- Function: detach-attribs! object [attribs...] Detach ATTRIBS from OBJECT. Any ATTRIBS that are not attached as attributes are ignored. If any ATTRIBS are attached to ‘object’s other than OBJECT, an ‘object-state’ error is raised. 2.3.3 Inherited and promoted attributes --------------------------------------- “Inherited attributes†are unattached attributes inside a component ‘object’. -- Function: inherited-attribs object Returns the inherited attributes of OBJECT, if OBJECT is a component. If OBJECT is not a component, returns the empty list. -- Function: attrib-inherited? attrib Returns ‘#t’ if ATTRIB is an inherited attribute. “promotable attributes†are inherited attributes that are both visible and have names that are in the list of promotable attributes set with the ‘always-promote-attributes’ rc file parameter. -- Function: promotable-attribs component Returns a list of promotable attributes of COMPONENT. -- Function: promote-attribs! component Promote all promotable attributes from COMPONENT into the ‘page’ that contains COMPONENT. If COMPONENT is not in a page, an ‘object-state’ error is raised. All promotable attributes are copied, and made invisible. The copies are added to the ‘page’, and attached as attributes of COMPONENT. The promoted attributes are returned. If COMPONENT is not in fact a component ‘object’, does nothing and returns the empty list.  File: lepton-scheme.info, Node: Core source library functions, Next: Configuration functions, Prev: Core attribute functions, Up: Core API Reference 2.4 Core source library functions ================================= To use the functions described in this section, you will need to load the ‘(lepton library)’ module. -- Variable: %default-source-library Default source library used in the tools. -- Function: source-library-contents library Returns the contents of source LIBRARY. -- Function: set-source-library-contents! library contents Sets the contents of given source LIBRARY into CONTENTS. The value of CONTENTS must be a list of paths where source files are stored or ‘'()’.  File: lepton-scheme.info, Node: Configuration functions, Next: Logging functions, Prev: Core source library functions, Up: Core API Reference 2.5 Configuration functions =========================== To use the functions described in this section, you will need to load the ‘(lepton config)’ module. This section describes some functions for accessing, monitoring and modifying the configuration of Lepton libraries and applications. * Menu: * Configuration contexts:: * Configuration parameters:: * Configuration events:: * Configuration errors::  File: lepton-scheme.info, Node: Configuration contexts, Next: Configuration parameters, Up: Configuration functions 2.5.1 Configuration contexts ---------------------------- A configuration parameter is always evaluated within a “configuration contextâ€. Each context is associated with a configuration file (although the file does not necessarily need to exist). Each configuration context may have a “parent contextâ€. If, when looking up a parameter, it has no value set in the selected context, the parent context is checked, and so on. Three special contexts are always automatically defined: the “default contextâ€, the “system context†and the “user contextâ€. The user context is the default parent context for all other configuration contexts, including newly-created ones. 2.5.1.1 Obtaining a context ........................... -- Function: path-config-context path Normally, you shouldn’t create a configuration context directly; you should obtain the configuration context associated with a PATH. ‘path-config-context’ looks for a configuration file named ‘lepton.conf’. If PATH is not a directory, it is truncated, and then a file named ‘lepton.conf’ is looked for in that directory. If none is found, the parent directory is checked, and so on until a configuration file is found or the filesystem root is reached. If no configuration file was found, the returned context will be associated with a ‘lepton.conf’ in the same directory as PATH. *Warning*: Do not assume that the configuration file associated with the context returned by ‘path-config-context’ is located in the directory specified by PATH. -- Function: default-config-context The default context is not associated with any physical path or on-disk configuration file, and has no parent context. It contains the default configuration used when no configuration file can be loaded. *Note*: Normally, the default context should be populated with built-in default configuration settings on start-up, before loading any further configuration files. This approach is strongly recommended, because it means that configuration parameters can then be safely read without having to use ‘config-has-group?’ and ‘config-has-key?’ to check if they are set (*note Configuration groups and keys: Configuration parameters.). Since 1.10. -- Function: system-config-context The system context is used for system-wide configuration. Its parent context is the default context. It is located by searching ‘sys-config-dirs’ for a ‘${prefix}/share/lepton-eda/lepton-system.conf’ file. Since 1.10. -- Function: user-config-context The user context is used for user-specific configuration, and is loaded from ‘lepton-user.conf’ in ‘user-config-dir’. Its parent context is the system context. Since 1.10. 2.5.1.2 Loading and saving configuration files .............................................. Other than the default context, all configuration contexts are associated with an on-disk configuration file. -- Function: config-filename cfg Return the filename of the configuration file associated with the context CFG. For some contexts (including the default context), this will return ‘#f’. Since 1.10. -- Function: config-load! cfg [force-load] Attempt to load configuration parameters for the context CFG from its associated file. If FORCE-LOAD keyword argument is true (‘#t’), configuration will be reloaded even if it has already been loaded. By default, FORCE-LOAD is set to false (‘#f’). -- Function: config-loaded? cfg Determine whether the context CFG has been successfully loaded from file. Since 1.10. -- Function: config-save! cfg Attempt to save configuration parameters for the context CFG to its associated file. Returns CFG. If configuration cannot be saved, raises an error. Since 1.10. -- Function: config-changed? cfg Determine whether the context CFG has been altered since it was last synchronised with the on-disk version by loading or saving it. Since 1.10. 2.5.1.3 Context parents ....................... A configuration context may have a “parent contextâ€, from which it inherits configuration values. Configuration inheritance loops are not permitted. *Note Configuration inheritance: Configuration parameters. -- Function: config-parent cfg Return the parent context of the context CFG, if it has one. Otherwise, return ‘#f’. Since 1.10. -- Function: set-config-parent! cfg parent Sets PARENT as the parent context of CFG. If PARENT is ‘#f’, sets CFG as having no parent context. *Note*: Normally, application code should avoid using this function; keeping to the default configuration inheritance structure is recommended in order to ensure consistent behaviour of all liblepton applications. Since 1.10. 2.5.1.4 Context trust ..................... Some configuration parameters are dangerous; in particular, parameters that may lead to arbitrary code execution need to be handled carefully. Such settings might include: • Preferred PDF reader • Preferred web browser • Search path for Scheme plugins Configuration contexts can be flagged as being “trustedâ€. This allows code that needs to access such dangerous parameters to determine whether the value has been obtained from a safe source. By default, the default context, system context and user context are trusted, and all other contexts untrusted. -- Function: config-trusted? cfg Test whether CFG is a trusted configuration context. Since 1.10. -- Function: set-config-trusted! cfg trusted? Set whether the configuration context CFG should be trusted as a source for dangerous configuration parameters. *Warning*: You should not set a configuration context as trusted unless you are certain that it originated from a safe source (e.g. by interacting with the user to verify it). Since 1.10. -- Function: config-trusted-context cfg If CFG is trusted, returns CFG; otherwise, returns the first parent context of CFG that is a trusted context. If no trusted context can be found, returns ‘#f’. Since 1.10.  File: lepton-scheme.info, Node: Configuration parameters, Next: Configuration events, Prev: Configuration contexts, Up: Configuration functions 2.5.2 Configuration parameters ------------------------------ A Lepton “configuration parameter†consists of three components: “Group†A string which identifies the general category in which the parameter lies (e.g. which application and/or plugin). “Name†A string which specifically identifies the parameter within the group. “Value†The value of the parameter. This is stored as a string, but can be converted to a number of possible scalar and list types. Groups, names and values are all case-sensitive. 2.5.2.1 Configuration groups and keys ..................................... -- Function: config-groups cfg Returns a list of all groups available in CFG and its parent contexts. Since 1.10. -- Function: config-has-group? cfg group Determines whether CFG or its parent contexts contain the specified GROUP Since 1.10. -- Function: config-keys cfg group Returns a list of all keys available in the specified GROUP in CFG and its parent contexts. Since 1.10. -- Function: config-has-key? cfg group key Determines whether CFG or its parent contexts contains KEY in the specified GROUP. Since 1.10. -- Function: config-remove-key! cfg group key Removes the configuration parameter identified by the given GROUP and KEY in the configuration context CFG. Returns ‘#t’ on success, ‘#f’ otherwise. -- Function: config-remove-group! cfg group Removes the configuration group identified by GROUP and all its parameters in the configuration context CFG. Returns ‘#t’ on success, ‘#f’ otherwise. 2.5.2.2 Configuration inheritance ................................. If a configuration context does not directly specify a value for a configuration parameter, it inherits the value from its parent context. *Note Context parents: Configuration contexts. -- Function: config-inherited? cfg group key Returns ‘#f’ if value of the configuration parameter with the given GROUP and KEY is specified in the context CFG, and ‘#t’ if it is inherited from a parent context of CFG. Since 1.10. -- Function: config-source cfg group key Returns the configuration context (either CFG or one of its parent contexts) in which the configuration parameter with the given GROUP and KEY has its value defined. Since 1.10. 2.5.2.3 Configuration values ............................ Each value is stored as a UTF-8 string in the configuration file. However, this string can be parsed a several different types. All of the following types are supported: • Strings • Booleans • Exact integers • Inexact real numbers In addition, lists of all the above are supported. -- Function: config-string cfg group key Retrieve configuration value as a string. Since 1.10. -- Function: config-boolean cfg group key Retrieve configuration value as a boolean. Since 1.10. -- Function: config-int cfg group key Retrieve configuration value as an exact integer. Since 1.10. -- Function: config-real cfg group key Retrieve configuration value as an inexact real number. Since 1.10. -- Function: config-string-list cfg group key Retrieve configuration value as a list of strings. Since 1.10. -- Function: config-boolean-list cfg group key Retrieve configuration value as a list of booleans. Since 1.10. -- Function: config-int-list cfg group key Retrieve configuration value as a list of exact integers. Since 1.10. -- Function: config-real-list cfg group key Retrieve configuration value as a list of inexact real numbers. Since 1.10. -- Function: set-config! cfg group key value Set the configuration parameter identified by the given GROUP and KEY in the configuration context CFG. The type of value to set is inferred from VALUE. Returns CFG. Since 1.10.  File: lepton-scheme.info, Node: Configuration events, Next: Configuration errors, Prev: Configuration parameters, Up: Configuration functions 2.5.3 Configuration events -------------------------- When the value of a configuration parameter is altered, either directly or by loading a configuration file, a “configuration event†is generated. Handlers can be registered to be notified when a configuration event occurs. A configuration event is associated with the group and key that had its value modified. If a configuration event is emitted by a configuration context, it propagates to all configuration contexts which inherit that group and key from it. A configuration event handler must be a closure that accepts three arguments: handler cfg group key CFG is always the configuration context that received the event, and the GROUP and KEY identify the configuration parameter that changed. When a configuration group is deleted, GROUP argument is set to the name of the deleted group and KEY argument is set to an empty string. -- Function: add-config-event! cfg handler Registers HANDLER to be called when configuration changes in the context CFG. Since 1.10. -- Function: remove-config-event! cfg handler Stops HANDLER from being called when configuration changes in the context CFG. Since 1.10.  File: lepton-scheme.info, Node: Configuration errors, Prev: Configuration events, Up: Configuration functions 2.5.4 Configuration errors -------------------------- All errors in functions in the ‘(lepton config)’ are reported using one of two keys: 1. File errors (e.g. “Access denied†or “File not found†are indicated with the ‘system-error’ key. 2. All other errors are indicated using the ‘config-error’ key. When a ‘config-error’ is signalled, ‘data’ part of the error arguments is a list containing one of the following symbols: ‘unknown-encoding’ The text being parsed was in an unknown encoding. ‘parse’ The configuration data wass ill-formed. ‘key-not-found’ A requested configuration key was not found. ‘group-not-found’ A requested configuration group was not found. ‘invalid-value’ A configuration value could not be parsed into the requested format.  File: lepton-scheme.info, Node: Logging functions, Next: System information, Prev: Configuration functions, Up: Core API Reference 2.6 Logging functions ===================== To use the functions described in this section, you will need to load the ‘(lepton log)’ module. -- Function: log! level message [format-args...] Emit a log message with the specified LEVEL. The MESSAGE is interpreted as a format string, with FORMAT-ARGS as its parameters. The LEVEL should be one of the symbols ‘error’, ‘critical’, ‘warning’, ‘message’, ‘info’ or ‘debug’. Note: if LEVEL is set to ‘error’, main program will terminate. Generally, if the LEVEL is not ‘debug’, then the message should be localised.  File: lepton-scheme.info, Node: System information, Prev: Logging functions, Up: Core API Reference 2.7 System information ====================== To use the functions described in this section, you will need to load the ‘(lepton os)’ module. This section describes some functions and variables that are useful for Scheme code that needs to behave differently depending on which operating system Lepton is running on. -- Variable: separator-char The directory separator character that should be used on the host platform. The ‘separator-char’ function is deprecated and must not be used in the newly written code. It will be removed after version 1.10. There is no replacement for it. -- Variable: separator A string containing ‘separator-char’. The ‘separator’ function is deprecated and must not be used in the newly written code. It will be removed after version 1.10. Use the guile function ‘file-name-separator-string’ instead. -- Variable: path-separator-char The character used for separating the elements in ‘PATH’-like environment variables on the host platform. -- Variable: path-separator A string containing ‘path-separator-char’. -- Function: platform Returns a list of symbols describing the host platform. The returned symbols may include: • ‘carbon’ • ‘cygwin’ • ‘linux’ • ‘win32’ • ‘win32-native’ -- Function: platform? type Returns ‘#t’ if the platform description list returned by ‘platform’ contains the symbol TYPE, and ‘#f’ otherwise. -- Function: sys-data-dirs Returns an ordered list of directories in which to access system-wide Lepton data. -- Function: sys-config-dirs Returns an ordered list of directories in which to access system-wide Lepton configuration information. -- Function: user-data-dir Returns the directory in which to store user-specific Lepton data. -- Function: user-config-dir Returns the directory in which to store user-specific Lepton configuration information. -- Function: expand-env-variables str Recursively expands STR until no more environment variables can be expanded, and return the expanded string. Environment variables are in the form ‘${VAR}’. (expand-env-variables "${HOME}/path/to/dir")  File: lepton-scheme.info, Node: lepton-schematic API Reference, Next: lepton-netlist API Reference, Prev: Core API Reference, Up: Top 3 lepton-schematic API Reference ******************************** The Scheme modules and functions described in this chapter are available in the Lepton schematic editor application lepton-schematic. They are more focused on enabling and responding to user editing operations. * Menu: * Windows and views:: * Key mapping:: * Selections:: * Hooks:: * Actions:: * Miscellanous lepton-schematic functions::  File: lepton-scheme.info, Node: Windows and views, Next: Key mapping, Up: lepton-schematic API Reference 3.1 Windows and views ===================== To use the functions described in this section, you will need to load the ‘(schematic window)’ module. -- Function: active-page Returns the ‘page’ currently being displayed for editing. -- Function: set-active-page! page Sets the current ‘page’ to PAGE. -- Function: pointer-position Returns the current mouse pointer position in world coordinates in the form ‘(x . y)’. If the pointer is outside the display area, returns ‘#f’. -- Function: snap-point point Snaps the given POINT to the current snap grid, i.e. returns the closest grid location to POINT. Expects a point in the form ‘(x . y)’, and returns a point in the same format.  File: lepton-scheme.info, Node: Key mapping, Next: Selections, Prev: Windows and views, Up: lepton-schematic API Reference 3.2 Key mapping =============== To use the functions described in this section, you will need to load the ‘(schematic keymap)’ module. 3.2.1 Key combinations ---------------------- lepton-schematic treats key combinations as first-class objects. A key combination consists of a non-modifier key press with some number of modifiers applied. For example, the key combination ‘Ctrl+Shift+A’ (which calls *Edit→Deselect* by default) is typed by holding the and keys down, and then pressing . -- Function: key? obj Returns ‘#t’ if and only if OBJ is a key combination. -- Function: string->key str Parses STR to create a new key combination. The expected format looks like ‘a’ or ‘F1’. Key names are parsed using ‘gdk_keyval_from_name()’, and modifiers may appear in any order. If STR has invalid syntax or does not represent a valid key combination, raises a ‘key-format’ error. -- Function: key->string key Converts KEY to a string, using a format suitable for passing to ‘string->key’. -- Function: key->display-string key Converts KEY to a string, using a format suitable for display. This should be used when the key combination needs to be displayed to the user e.g. in the lepton-schematic menus or status area. The returned string is translated according to the user’s current locale. (key->display-string (string->key ``bracketright'')) => ``Ctrl+]'' 3.2.2 Key sequences ------------------- Most lepton-schematic functionality is bound not to single key combinations but to sequences of them. For example, *File→New* is bound to ‘F N’ by default (i.e. press followed by ). Key sequences are simply vectors of key bindings. For example: (string->keys ``F N'') => #(# #) In this case, is a “prefix keyâ€, because pressing it does not cause an action to be carried out directly, but just changes the effect of pressing subsequent keys. -- Function: keys? obj Returns ‘#t’ if and only if OBJ is a valid key sequence. -- Function: string->keys str Parses STR into a key sequence. The expected format is a sequence of key combination specifications (as could be passed to ‘string->key’) separated by spaces. -- Function: keys->string keys Converts the key sequence KEYS to a string, using a format suitable for passing to ‘string->keys’. -- Function: keys->display-string keys Converts the key sequence KEYS to a string, using a format suitable for display. 3.2.3 Keymaps ------------- A “keymap†maps key combinations to values (usually actions) or to other keymaps. *Note Actions::. -- Function: keymap? obj Returns ‘#t’ if and only if OBJ is a keymap. -- Function: make-keymap Creates and returns a new, empty keymap. -- Function: keymap-bind-key! keymap key [bindable] Binds KEY to BINDABLE in KEYMAP. If BINDABLE is ‘#f’ or not specified, removes the binding for KEY. BINDABLE should be a thunk or a keymap. -- Function: keymap-lookup-key keymap key Looks up the binding for KEY in KEYMAP. If KEY is not bound, returns ‘#f’. -- Function: keymap-lookup-binding keymap bindable Carries out a reverse lookup in KEYMAP to find the key bound to BINDABLE. If BINDABLE is not bound in KEYMAP, returns ‘#f’. -- Function: keymap-for-each proc keymap Applies PROC to each binding in KEYMAP. PROC should take two arguments: the bound key, and its binding. Actions are bound to key sequences by binding the first key combination to a keymap, then in the resulting keymap binding the second key combination, etc. This results in a directed graph of keymaps. For example, to bind the key sequence ‘F N’, a keymap is created containing a binding for to the desired action, and then in the main keymap the prefix key is bound to the new keymap. Three helper functions are provided for working with key sequence bindings. -- Function: bind-keys! keymap keys [bindable] Bind KEYS to BINDABLE. Keys may be a key sequence vector, a single key combination, or a string representing a key sequence or key combination. If BINDABLE is ‘#f’ or not specified, removes the binding for KEYS. BINDABLE should be a thunk or a keymap. If KEYS contains invalid prefix keys (e.g. because one of the prefix keys is already bound to something other than a keymap), raises an error. Missing prefix keymaps are created as required. -- Function: lookup-keys keymap keys Looks up the binding for KEYS in KEYMAP. KEYS is interpreted the same as for ‘bind-keys!’. If KEYS is not bound, returns ‘#f’. -- Function: lookup-binding keymap bindable Recursively searches KEYMAP for the key sequence bound to BINDABLE, which should be a thunk or a keymap. If BINDABLE is not bound, returns ‘#f’.  File: lepton-scheme.info, Node: Selections, Next: Hooks, Prev: Key mapping, Up: lepton-schematic API Reference 3.3 Selections ============== To use the functions described in this section, you will need to load the ‘(schematic selection)’ module. Each ‘page’ in lepton-schematic has a “selection†associated with it, which is some subset of the ‘page’s contents. Most actions in lepton-schematic operate on the currently selected objects. -- Function: page-selection page Returns the current selection for PAGE, as a list of ‘object’s. -- Function: object-selected? object Returns ‘#t’ if OBJECT is in its containing page’s selection. Otherwise, returns ‘#f’. If OBJECT is not in a ‘page’, raises an ‘object-state’ error. *Note*: OBJECT must be _directly_ included in a ‘page’, not via inclusion in a component ‘object’. -- Function: select-object! object Adds OBJECT to the selection of its containing ‘page’. If OBJECT is not directly included in a ‘page’, raises an ‘object-state’ error. If OBJECT is already selected, does nothing. Returns OBJECT. *Note*: This function does not call ‘select-objects-hook’. -- Function: deselect-object! object Removes OBJECT from the selection of its containing ‘page’. If OBJECT is not directly included in a ‘page’, raises an ‘object-state’ error. If OBJECT is not selected, does nothing. Returns OBJECT. *Note*: This function does not call ‘deselect-objects-hook’.  File: lepton-scheme.info, Node: Hooks, Next: Actions, Prev: Selections, Up: lepton-schematic API Reference 3.4 Hooks ========= To use the hooks described in this section, you will need to load the ‘(schematic hook)’ module. lepton-schematic defines a number of hooks that allow functions to be automatically run whenever a number of built-in actions are invoked by the user. Most Scheme functions do not call these hooks. If it makes sense for your code to invoke a standard hook, you should normally do so explicitly. *Warning*: Functions added to these standard hooks should not normally modify their arguments. For more information on hooks in Guile, *note Hooks: (guile)Hooks. -- Variable: add-objects-hook Called after objects are added to the page, at their initial creation. The argument is a list of the objects being added. -- Variable: copy-objects-hook Called after objects are copied, either via *Edit → Copy Mode* or similar, or to buffers, or to the clipboard. Argument is a list of the objects that were copied. -- Variable: remove-objects-hook Called after objects are removed from the page. Argument is a list of the objects being removed. -- Variable: move-objects-hook Called after objects are moved. Argument is a list of the objects that were moved. -- Variable: mirror-objects-hook Called after objects are mirrored. Argument is a list of the objects that were mirrored. -- Variable: rotate-objects-hook Called after objects are rotated. Argument is a list of the objects that were rotated. -- Variable: paste-objects-hook Called after objects are pasted to the page, either via *Edit → Copy Mode* or similar, or via buffers, or via the clipboard. Argument is a list of the objects that were pasted. -- Variable: attach-attribs-hook Called after attributes are attached to something. The argument is a list of the attributes that were attached. -- Variable: detach-attribs-hook Called after attributes are detached from something. The argument is a list of the attributes that were detached. -- Variable: select-objects-hook Called after objects are added to the selection. The argument is a list of objects that were selected. -- Variable: deselect-objects-hook Called after objects are removed from the selection. The argument is a list of objects that were deselected. -- Variable: new-page-hook Called when a new page is created. The argument is the new page. -- Variable: open-page-hook Called when an existing page is loaded. The argument is the loaded page. -- Variable: action-property-hook Called when an action property is set. The arguments are the action, the property key and the property value. *Note Actions::. Since 1.10. -- Variable: bind-keys-hook Called when a key binding is set or modified. The arguments are the keymap, the key sequence and the binding’s target. *Note*: ‘bind-keys-hook’ may be run multiple times for a single key binding event if the target keymap is bound within a superior keymap. Since 1.10. -- Variable: switch-action-mode-hook Called when GUI switches to a new action mode. The argument is the new mode. The action mode may be one of the following symbols: • ‘select-mode’ • ‘grips-mode’ • ‘arc-mode’ • ‘box-mode’ • ‘bus-mode’ • ‘circle-mode’ • ‘line-mode’ • ‘net-mode’ • ‘path-mode’ • ‘picture-mode’ • ‘pin-mode’ • ‘component-mode’ • ‘copy-mode’ • ‘multiple-copy-mode’ • ‘move-mode’ • ‘paste-mode’ • ‘text-mode’ • ‘box-select-mode’ • ‘zoom-box-mode’ • ‘pan-mode’ • ‘mirror-mode’ • ‘rotate-mode’ (add-hook! switch-action-mode-hook (lambda (mode) (display mode) (newline))) Since 1.10.  File: lepton-scheme.info, Node: Actions, Next: Miscellanous lepton-schematic functions, Prev: Hooks, Up: lepton-schematic API Reference 3.5 Actions =========== To use the functions described in this section, you will need to load the ‘(schematic action)’ module. 3.5.1 Action objects -------------------- Usually, it is sufficient to use normal Scheme functions when extending lepton-schematic. However, when integrating an extension function with the lepton-schematic GUI (e.g. via keybindings), it is often useful to couple a Scheme function with metadata such as the label and icon to show in menus, etc. You can do this by creating a lepton-schematic action. Actions can be called just like a normal Scheme function, but get executed via the lepton-schematic action dispatcher ‘eval-action!’ rather than being invoked directly. Normally, actions have names begining with an ‘&’ symbol. -- Macro: define-action (name [keyword value ...]) body Create a new action, bound to the given NAME in the current module. The BODY is a sequence of Scheme expressions which are evaluated in order when the action is invoked. Any number of initial properties can be specified for the action by providing pairs of KEYWORDs and VALUEs. (define-action (&report-bug #:label ``Report Bug'' #:icon ``web-browser'') (show-uri ``https://github.com/lepton-eda/lepton-eda/issues/new'')) Since 1.10. -- Function: make-action thunk [keyword value ...] Create and return a new action wrapping THUNK. Optionally, specify KEYWORD-VALUE pairs to set initial properties for the action. Since 1.10. -- Function: action? obj Returns ‘#t’ iff OBJ is a lepton-schematic action, and ‘#f’ otherwise. Since 1.10. Action properties are name-value pairs that are attached to an action. -- Function: action-property action key Return the value of one of ACTION’s properties. KEY is a symbol naming the property to retrieve. Since 1.10. -- Function: set-action-property! action key value Set the value of one of ACTION’s properties. KEY is a symbol naming the property to set, and VALUE is the new value. Since 1.10. 3.5.2 Evaluating actions ------------------------ All of lepton-schematic’s built-in actions are callable just like normal Scheme functions. However, it’s sometimes useful to explicitly evaluate an action in the same way that the lepton-schematic GUI (menus, toolbars or keybindings) would do so. -- Function: eval-action! action Invoke ACTION, returning ‘#t’ on success and raising an error on failure. There are a number of possible types for ACTION that ‘eval-action!’ will accept: • A thunk. • A lepton-schematic action. • A symbol naming an action or a thunk in the current module. The special symbol ‘repeat-last-command’ is interpreted as a request to repeat the last action evaluated via ‘eval-action!’. *Note*: If you have an action object ‘&action’, then the following two calls are equivalent and interchangeable: (eval-action! &action) (&action) Since 1.10. 3.5.3 Action positions ---------------------- Often in lepton-schematic actions it may be useful not to use the actual current mouse pointer position but to use the mouse pointer position that was current when the action was invoked. -- Function: eval-action-at-point! action [point] Evaluate ACTION at a particular point on the schematic plane. If POINT is omitted, the action is evaluated at the current mouse pointer position. Since 1.10. -- Function: action-position Return the current action pointer position, as set when the action was invoked (via ‘eval-action-at-point!’). This only makes sense to call from inside an action. Since 1.10. *Note*: The pointer position can only be considered reliable when the user was actually clicking on or pointing at the schematic view area to invoke the action, rather than on a menu or toolbar button. At the moment this means that an action position is only set when a command is invoked by hotkey.  File: lepton-scheme.info, Node: Miscellanous lepton-schematic functions, Prev: Actions, Up: lepton-schematic API Reference 3.6 Miscellaneous lepton-schematic functions ============================================ 3.6.1 lepton-schematic Attribute Helpers ---------------------------------------- To use the functions described in this section, you will need to load the ‘(schematic attrib)’ module. -- Function: add-attrib! target name value visible show Create a new attribute, either attached to a TARGET ‘object’ in the current ‘page’, or floating in the current ‘page’ if TARGET is ‘#f’. The NAME and VALUE for the attribute must be strings, and if visible is ‘#f’, the attribute will be invisible. The SHOW argument controls which parts of the attribute will be visible, and must be one of the following symbols: • ‘name’ • ‘value’ • ‘both’ This function exists to provide a way for actions defined in Scheme to use the same attribute placement heuristics as lepton-schematic’s built-in *Add Attribute* action. *Note Text::, *note Attributes:: and *note Windows and views::. 3.6.2 Miscellaneous utility functions ------------------------------------- To use the functions described in this section, you will need to load the ‘(schematic util)’ module. -- Function: show-uri uri Open URI in the registered default application associated for that type of file or protocol. URI should be fully-qualified URI; which URIs can be handled by ‘show-uri’ will depend on the system configuration. Raises ‘misc-error’ on failure. -- Function: show-file filename Displays a file in the registered default application for files of that type. FILENAME should be the absolute path and filename of a local file. Convenience function which calls ‘(show-uri "file://FILENAME")’  File: lepton-scheme.info, Node: lepton-netlist API Reference, Next: Concept Index, Prev: lepton-schematic API Reference, Up: Top 4 lepton-netlist API Reference ****************************** The Scheme modules and functions described in this chapter are available in the Lepton netlister application lepton-netlist.  File: lepton-scheme.info, Node: Concept Index, Next: Function Index, Prev: lepton-netlist API Reference, Up: Top Concept Index ************* [index] * Menu: * Action evaluation: Actions. (line 66) * Action objects: Actions. (line 12) * Action positions: Actions. (line 94) * Action properties: Actions. (line 12) * Actions: Actions. (line 6) * Attached attribute: Attributes. (line 32) * Attribute: Attributes. (line 6) * Attribute format: Attributes. (line 6) * Component: Component objects. (line 6) * Component library: Component objects. (line 6) * Configuration: Configuration functions. (line 6) * Configuration context: Configuration contexts. (line 6) * Configuration errors: Configuration errors. (line 6) * Configuration events: Configuration events. (line 6) * Configuration group: Configuration parameters. (line 6) * Configuration key: Configuration parameters. (line 6) * Configuration notifications: Configuration events. (line 6) * Configuration parameter: Configuration parameters. (line 6) * Configuration trust: Configuration contexts. (line 136) * Configuration value: Configuration parameters. (line 6) * Context parent: Configuration contexts. (line 110) * Context trust: Configuration contexts. (line 136) * Default configuration contex: Configuration contexts. (line 22) * Embedded component: Component objects. (line 6) * Evaluating actions: Actions. (line 66) * Floating attribute: Attributes. (line 39) * Getting configuration parameters: Configuration parameters. (line 82) * Loading configuration: Configuration contexts. (line 72) * Objects: Objects. (line 6) * Pages: Pages. (line 6) * Parent configuration context: Configuration contexts. (line 110) * Reporting bugs: Introduction. (line 55) * Saving configuration: Configuration contexts. (line 72) * Schematic elements: Objects. (line 6) * Schematics: Pages. (line 6) * Setting configuration parameters: Configuration parameters. (line 82) * Symbols: Pages. (line 6) * System configuration context: Configuration contexts. (line 22) * Trusted configuration context: Configuration contexts. (line 136) * User configuration context: Configuration contexts. (line 22)  File: lepton-scheme.info, Node: Function Index, Next: Variable Index, Prev: Concept Index, Up: Top Function Index ************** [index] * Menu: * action-position: Actions. (line 105) * action-property: Actions. (line 51) * action?: Actions. (line 42) * active-page: Windows and views. (line 9) * active-pages: Core page functions. (line 14) * add-attrib!: Miscellanous lepton-schematic functions. (line 12) * add-config-event!: Configuration events. (line 26) * arc-center: Arcs. (line 31) * arc-info: Arcs. (line 26) * arc-radius: Arcs. (line 34) * arc-start-angle: Arcs. (line 37) * arc-sweep-angle: Arcs. (line 40) * arc?: Arcs. (line 10) * attach-attribs!: Core attribute functions. (line 44) * attrib-attachment: Core attribute functions. (line 37) * attrib-inherited?: Core attribute functions. (line 76) * attrib-name: Core attribute functions. (line 25) * attrib-value: Core attribute functions. (line 28) * attribute?: Core attribute functions. (line 12) * bind-keys!: Key mapping. (line 113) * box-bottom-right: Boxes. (line 38) * box-info: Boxes. (line 28) * box-top-left: Boxes. (line 34) * box?: Boxes. (line 13) * bus-pin?: Pins. (line 32) * bus?: Nets and buses. (line 24) * circle-center: Circles. (line 32) * circle-info: Circles. (line 27) * circle-radius: Circles. (line 36) * circle?: Circles. (line 12) * close-page!: Core page functions. (line 28) * component-angle: Components. (line 85) * component-append!: Components. (line 99) * component-basename: Components. (line 74) * component-contents: Components. (line 96) * component-filename: Components. (line 77) * component-info: Components. (line 69) * component-locked?: Components. (line 93) * component-mirror?: Components. (line 89) * component-position: Components. (line 81) * component-remove!: Components. (line 106) * component?: Components. (line 32) * config-boolean: Configuration parameters. (line 98) * config-boolean-list: Configuration parameters. (line 118) * config-changed?: Configuration contexts. (line 101) * config-filename: Configuration contexts. (line 75) * config-groups: Configuration parameters. (line 23) * config-has-group?: Configuration parameters. (line 29) * config-has-key?: Configuration parameters. (line 41) * config-inherited?: Configuration parameters. (line 65) * config-int: Configuration parameters. (line 103) * config-int-list: Configuration parameters. (line 122) * config-keys: Configuration parameters. (line 35) * config-load!: Configuration contexts. (line 82) * config-loaded?: Configuration contexts. (line 88) * config-parent: Configuration contexts. (line 116) * config-real: Configuration parameters. (line 108) * config-real-list: Configuration parameters. (line 127) * config-remove-group!: Configuration parameters. (line 52) * config-remove-key!: Configuration parameters. (line 47) * config-save!: Configuration contexts. (line 94) * config-source: Configuration parameters. (line 72) * config-string: Configuration parameters. (line 93) * config-string-list: Configuration parameters. (line 113) * config-trusted-context: Configuration contexts. (line 166) * config-trusted?: Configuration contexts. (line 151) * copy-object: General object functions. (line 9) * default-config-context: Configuration contexts. (line 38) * define-action: Actions. (line 24) * deselect-object!: Selections. (line 32) * detach-attribs!: Core attribute functions. (line 61) * eval-action!: Actions. (line 71) * eval-action-at-point!: Actions. (line 98) * expand-env-variables: System information. (line 64) * file->page: Core page functions. (line 47) * fold-bounds: Object bounds. (line 19) * inherited-attribs: Core attribute functions. (line 72) * key->display-string: Key mapping. (line 32) * key->string: Key mapping. (line 28) * key?: Key mapping. (line 18) * keymap-bind-key!: Key mapping. (line 85) * keymap-for-each: Key mapping. (line 98) * keymap-lookup-binding: Key mapping. (line 94) * keymap-lookup-key: Key mapping. (line 90) * keymap?: Key mapping. (line 79) * keys->display-string: Key mapping. (line 69) * keys->string: Key mapping. (line 65) * keys?: Key mapping. (line 57) * line-end: Lines. (line 42) * line-info: Lines. (line 28) * line-start: Lines. (line 37) * line?: Lines. (line 13) * log!: Logging functions. (line 9) * lookup-binding: Key mapping. (line 127) * lookup-keys: Key mapping. (line 123) * make-action: Actions. (line 36) * make-arc: Arcs. (line 13) * make-box: Boxes. (line 16) * make-bus: Nets and buses. (line 27) * make-bus-pin: Pins. (line 35) * make-circle: Circles. (line 15) * make-component: Components. (line 35) * make-component/library: Components. (line 46) * make-keymap: Key mapping. (line 82) * make-line: Lines. (line 16) * make-net: Nets and buses. (line 17) * make-net-pin: Pins. (line 24) * make-page: Core page functions. (line 24) * make-path: Paths. (line 28) * make-picture/vector: Pictures. (line 24) * make-text: Text. (line 23) * mirror-objects!: Object transformations. (line 18) * net-pin?: Pins. (line 21) * net?: Nets and buses. (line 14) * object-attribs: Core attribute functions. (line 41) * object-bounds: Object bounds. (line 9) * object-color: Object color. (line 10) * object-component: General object functions. (line 14) * object-connections: General object functions. (line 18) * object-embedded?: General object functions. (line 36) * object-fill: Object fill and stroke. (line 51) * object-page: Core page functions. (line 102) * object-selectable?: General object functions. (line 29) * object-selected?: Selections. (line 16) * object-stroke: Object fill and stroke. (line 9) * object-stroke-cap: Object fill and stroke. (line 33) * object-stroke-dash: Object fill and stroke. (line 38) * object-stroke-width: Object fill and stroke. (line 29) * object-type: Object sub-types. (line 8) * object-type?: Object sub-types. (line 31) * object?: General object functions. (line 6) * page->string: Core page functions. (line 66) * page-append!: Core page functions. (line 79) * page-contents: Core page functions. (line 75) * page-dirty?: Core page functions. (line 116) * page-filename: Core page functions. (line 35) * page-remove!: Core page functions. (line 87) * page-selection: Selections. (line 13) * page?: Core page functions. (line 11) * parse-attrib: Core attribute functions. (line 19) * path-config-context: Configuration contexts. (line 22) * path-insert!: Paths. (line 52) * path-length: Paths. (line 34) * path-ref: Paths. (line 37) * path-remove!: Paths. (line 48) * path?: Paths. (line 25) * picture-angle: Pictures. (line 54) * picture-bottom-right: Pictures. (line 50) * picture-filename: Pictures. (line 43) * picture-info: Pictures. (line 38) * picture-mirror?: Pictures. (line 58) * picture-top-left: Pictures. (line 46) * picture?: Pictures. (line 21) * pin?: Pins. (line 18) * platform: System information. (line 35) * platform?: System information. (line 45) * pointer-position: Windows and views. (line 15) * promotable-attribs: Core attribute functions. (line 83) * promote-attribs!: Core attribute functions. (line 86) * remove-config-event!: Configuration events. (line 32) * rotate-objects!: Object transformations. (line 12) * select-object!: Selections. (line 24) * set-action-property!: Actions. (line 57) * set-active-page!: Windows and views. (line 12) * set-arc!: Arcs. (line 22) * set-attrib-value!: Core attribute functions. (line 31) * set-box!: Boxes. (line 24) * set-circle!: Circles. (line 23) * set-component!: Components. (line 55) * set-component-with-transform!: Components. (line 62) * set-config!: Configuration parameters. (line 132) * set-config-parent!: Configuration contexts. (line 122) * set-config-trusted!: Configuration contexts. (line 156) * set-line!: Lines. (line 23) * set-object-color!: Object color. (line 14) * set-object-embedded!: General object functions. (line 39) * set-object-fill!: Object fill and stroke. (line 65) * set-object-selectable!: General object functions. (line 32) * set-object-stroke!: Object fill and stroke. (line 23) * set-page-dirty!: Core page functions. (line 120) * set-page-filename!: Core page functions. (line 38) * set-picture!: Pictures. (line 35) * set-source-library-contents!: Core source library functions. (line 15) * set-text!: Text. (line 62) * set-text-string!: Text. (line 97) * set-text-visibility!: Text. (line 107) * show-file: Miscellanous lepton-schematic functions. (line 42) * show-uri: Miscellanous lepton-schematic functions. (line 36) * snap-point: Windows and views. (line 20) * source-library-contents: Core source library functions. (line 12) * string->key: Key mapping. (line 21) * string->keys: Key mapping. (line 60) * string->page: Core page functions. (line 59) * sys-config-dirs: System information. (line 53) * sys-data-dirs: System information. (line 49) * system-config-context: Configuration contexts. (line 54) * text-align: Text. (line 77) * text-anchor: Text. (line 74) * text-angle: Text. (line 90) * text-attribute-mode: Text. (line 111) * text-info: Text. (line 67) * text-size: Text. (line 101) * text-string: Text. (line 94) * text-visible?: Text. (line 104) * text?: Text. (line 20) * translate-objects!: Object transformations. (line 8) * user-config-context: Configuration contexts. (line 62) * user-config-dir: System information. (line 60) * user-data-dir: System information. (line 57)  File: lepton-scheme.info, Node: Variable Index, Prev: Function Index, Up: Top Variable Index ************** [index] * Menu: * %default-source-library: Core source library functions. (line 9) * action-property-hook: Hooks. (line 75) * add-objects-hook: Hooks. (line 22) * attach-attribs-hook: Hooks. (line 52) * bind-keys-hook: Hooks. (line 81) * copy-objects-hook: Hooks. (line 26) * deselect-objects-hook: Hooks. (line 64) * detach-attribs-hook: Hooks. (line 56) * mirror-objects-hook: Hooks. (line 39) * move-objects-hook: Hooks. (line 35) * new-page-hook: Hooks. (line 68) * open-page-hook: Hooks. (line 71) * paste-objects-hook: Hooks. (line 47) * path-separator: System information. (line 32) * path-separator-char: System information. (line 28) * remove-objects-hook: Hooks. (line 31) * rotate-objects-hook: Hooks. (line 43) * select-objects-hook: Hooks. (line 60) * separator: System information. (line 21) * separator-char: System information. (line 13) * switch-action-mode-hook: Hooks. (line 91)  Tag Table: Node: Top933 Node: Introduction1956 Node: Schematic Document Model5191 Node: Pages6089 Node: Objects7466 Node: Component objects8355 Node: Attributes9717 Node: Coordinate system11677 Node: Core API Reference12705 Node: Core page functions13264 Node: Core object functions17674 Node: General object functions18131 Node: Object sub-types20036 Node: Object transformations21273 Node: Object bounds22156 Node: Object color23212 Node: Object fill and stroke23805 Node: Lines27029 Node: Nets and buses28916 Node: Pins30127 Node: Boxes31691 Node: Circles33245 Node: Arcs34679 Node: Paths36362 Node: Pictures39057 Node: Text41461 Node: Components45877 Node: Core attribute functions50794 Node: Core source library functions54585 Node: Configuration functions55318 Node: Configuration contexts55883 Node: Configuration parameters62401 Node: Configuration events66558 Node: Configuration errors67930 Node: Logging functions68895 Node: System information69672 Node: lepton-schematic API Reference72119 Node: Windows and views72669 Node: Key mapping73536 Node: Selections78750 Node: Hooks80345 Node: Actions84531 Node: Miscellanous lepton-schematic functions88789 Node: lepton-netlist API Reference90753 Node: Concept Index91078 Node: Function Index95541 Node: Variable Index115579  End Tag Table  Local Variables: coding: utf-8 End: lepton-eda-1.9.10/docs/scheme-api/version.texi0000644000175000017500000000014113634704525016103 00000000000000@set UPDATED 19 March 2020 @set UPDATED-MONTH March 2020 @set EDITION 1.9.10 @set VERSION 1.9.10 lepton-eda-1.9.10/CODE_OF_CONDUCT.md0000644000175000017500000001076313634703632013370 00000000000000# Lepton Code of Conduct ## Conduct * We are committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience or other personal characteristics[1](#footnote1). * Please be kind and courteous. There's no need to be mean or rude. * Respect that people have differences of opinion and that every design or implementation choice carries a trade-off and numerous costs. There is seldom a right answer. * Please keep unstructured critique to a minimum. If you have solid ideas you want to experiment with, make a fork and see how it works. * We will exclude you from interaction if you insult, demean or harass anyone. That is not welcome behaviour. We interpret the term "harassment" as included in the definition in the [Citizen Code of Conduct](http://citizencodeofconduct.org/); if you have any lack of clarity about what might be included in that concept, please read their definition. In particular, we don't tolerate behaviour that excludes people in socially marginalized groups. * Private harrassment is also unacceptable. No matter who you are, if you feel you have been or are being harassed or made uncomfortable by a community member, please contact on of the organisation owners (@vzh or @peter-b) immediately. Whether you're a regular contributor or a newcomer, we care about making this community a safe place for you and we've got your back. * Likewise any spamming, trolling, flaming, baiting or other attention-stealing behaviour is not welcome. 1 For example, personal characteristics might include sex & sexual orientation or gender, gender identity & expression, disability, personal appearance, body size, race, ethnicity, age, religion or nationality. ## Moderation These are the policies for upholding our community's standards of conduct. 1. Remarks that violate the Lepton standards of conduct, including hateful, hurtful, oppressive or exclusionary remarks, are not allowed. (Cursing is allowed, but never targetting another person, and never in a hateful manner.) 2. Remarks that moderators find inappropriate, whether listed in the code of conduct or not, are also not allowed. 3. Moderators will first respond to such remarks with a warning. 4. If the warning is unheeded, the user will be "kicked", i.e. kicked out of the communication channel to cool off. 5. If the user comes back and continues to make trouble, they will be banned, i.e. excluded indefinitely. 6. Moderators may choose at their discretion to un-ban the user if it was a first offense and they offer the offended party a genuine apology. 7. If a moderator bans someone and you think it was unjustified, please take it up with that moderator, or with a different moderator, **in private**. Complains about bans in-channel are not allowed. 8. Moderators are held to a higher standard than other community members. If a moderator creates an inappropriate situation, they should expect less leeway than others. ## Principles In the Lepton community, we strive to go the extra step to look out for each other. Don't just aim to be technically unimpeachable, try to be your best self. In particular, avoid flirting with offensive or sensitive issues, particularly if they're off-topic; this all too often leads to unnecessary fights, hurt feelings and damaged trust; worse, it can drive people away from the community entirely. And if someone takes issue with something you said or did, resist the urge to be defensive. Just stop doing what it was they complained about and apologize. Even if you feel you were misinterpreted or unfairly accused, there was probably something you could have communicated better; remember that it's your responsibility to make your fellow Lepton users and contributors comfortable. Everyone wants to get along, and we are all here first and foremost because we want to design, use and talk about cool technology. You will find that people will be eager to assume good intent and forgive as long as you earn their trust. The enforcement policies above apply to all official Lepton venues, including: * the [Lepton-EDA](https://gitter.im/Lepton-EDA) Gitter community * the [lepton-eda](https://github.com/lepton-eda) GitHub organisation *Adapted from the [Node.js Policy on Trolling](http://blog.izs.me/post/30036893703/policy-on-trolling) and the [Contributor Code of Conduct 1.3.0](http://contributor-covenant.org/version/1/3/0/) via the [Rust Code of Conduct](https://www.rust-lang.org/en-US/conduct.html).*lepton-eda-1.9.10/AUTHORS0000644000175000017500000000407513634703632011640 00000000000000Lepton EDA ========== Lepton EDA and gEDA/gaf AUTHORS and contributors Many thanks to the following individuals for their contributions: Antonio A Todo Bom Carl Allendorph Sergey Alyoshin Andrew Bardsley Richard Barlow Nick Bastin Martin Benes Patrick Bernaud Erick Britis Ortiz Stephan Boettcher Stuart Brorson Eric Busta Jared Casper Jason Childs Marco Ciampa Peter Clifton Merlyn Cousins (@drforbin) Clif Cox Magnus Danielson Thomas Dean DJ Delorie Bryce Denney John Doty Robert Drehmel Andrew Dyer Gareth Edwards Ahmed El-Mahmoudy Chris Ellec Matt Ettus Rolf Fiedler Robert Fitzsimons Sergey Fukanchik Bdale Garbee Braddock Gaskill Bas Gieltjes Mario Giovinazzo (@mario-giovinazzo) John Griessen Karl Hammar Geoff Harland Thomas Heidel Edward Hennessy Uwe Hermann Kazu Hirata Werner Hoch Ales Hvezda Alex Jakimenko Mike Jarabek Bernd Jendrissek Wojciech Kazubski Kai-Martin Knaak Dima Kogan Onno Kortmann Krzysztof Kosciuszkiewicz Reinhard Kotucha Levente Kovacs Eike Krumbacher Egil Kvaleberg Eivind Kvedalen Dave Lawrence Martin Lehmann Michael Linnemann Arnim Littek Riccardo Lucchese Roland Lutz Ye Ma Joe Mac Jeff Mallatt Dan McMahill Jeff McNeal Piotr Miarecki Eugene Mikhantiev Hamish Moffatt Kipton Moravec Eduard Moser Thien-Thi Nguyen Carlos Nieves Onega Jerry O'Keefe Alexandre P. Nunes Gabriel Paubert Antony Pavlov Simon Peacock Stefan Petersen Michele Petrecca Maciej Pijanka Alex Precosky Mark Rages Alex Ray Christian Riggenbach Manu Rouat JM Routoure Felix Ruoff Luigi S. Palese Nathan Schulte Bruno Schwander Andy Shevchenko Anatole Sokolov Tomaz Solc Alan Somers Ivan Stankovic Sergey Stepanov Borge Strand Cesar Strauss Nuno Sucena James Swonger Miyamoto Takanori Peter TB Brett Stephen Tell Bert Timmerman Ron Van Dam Marius Vollmer Hannu Vuolasaho Rich Walker Dan White John White Roger Williams Bill Wilson Vladimir Zhbanov dmn (@graahnul-grom) For specific contributions, please check out `git log' history. Also thanks go to all the people on the geda-* mailing list! Many of the subscribers provided good suggestions (as well as patches) that are greatly appreciated. lepton-eda-1.9.10/configure.ac0000644000175000017500000002355013634703632013055 00000000000000dnl -*-Autoconf-*- dnl Process this file with autoconf to generate configure. dnl dnl The AX_* macros are defined in files in the top-level m4 dnl directory. ##################################################################### # Set up configuration system ##################################################################### AC_INIT([Lepton EDA], [1.9.10], [https://github.com/lepton-eda/lepton-eda/issues], [lepton-eda], [https://github.com/lepton-eda/lepton-eda]) AC_PREREQ([2.60]) AC_CONFIG_SRCDIR([liblepton/src/liblepton.c]) AC_CONFIG_AUX_DIR([build-tools]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADER([config.h]) AM_INIT_AUTOMAKE([parallel-tests color-tests foreign]) AM_SILENT_RULES([yes]) AC_GNU_SOURCE # FIXME for some reason this is needed? ##################################################################### # Do version number magic ##################################################################### AX_GIT_VERSION([20200319]) # This is used for keeping the ChangeLog files up-to-date AC_SUBST([CHANGELOG_BASE], [1.0-20070526]) ##################################################################### # Windows/MinGW/Cygwin support ##################################################################### AX_WINDOWS_FLAGS ##################################################################### # Check for compiling & linking tools ##################################################################### AC_PROG_CC AC_PROG_CXX AC_PROG_CPP m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) dnl Workaround for Automake 1.11 AC_LIBTOOL_WIN32_DLL AC_DISABLE_STATIC AC_PROG_LIBTOOL AM_PROG_CC_C_O AX_GCC_FLAGS([-Wall -Werror=uninitialized -std=c99]) AC_PROG_MKDIR_P AM_PROG_LEX AX_PROG_AWK AX_PROG_GROFF AC_PATH_PROGS([M4], [gm4 m4], [m4]) ##################################################################### # Internationalisation ##################################################################### AM_NLS AM_GNU_GETTEXT([external]) AM_GNU_GETTEXT_VERSION([0.18]) AX_DESKTOP_I18N ##################################################################### # Check for libraries that use pkg-config ##################################################################### PKG_PROG_PKG_CONFIG AX_CHECK_GUILE([2.0.0]) PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.38.0], , AC_MSG_ERROR([GLib 2.38.0 or later is required.])) AC_DEFINE([G_DISABLE_DEPRECATED], [1], [Disable deprecated GLib features]) PKG_CHECK_MODULES(GIO, [gio-2.0 >= 2.38.0], , AC_MSG_ERROR([GIO 2.38.0 or later is required.])) PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.24.0], , AC_MSG_ERROR([GTK+ 2.24.0 or later is required.])) PKG_CHECK_MODULES(GDK, [gdk-2.0 >= 2.24.0], , AC_MSG_ERROR([GDK 2.24.0 or later is required.])) PKG_CHECK_MODULES(GDK_PIXBUF, [gdk-pixbuf-2.0 >= 2.21.0], , AC_MSG_ERROR([GDK_PIXBUF 2.21.0 or later is required.])) AX_CHECK_CAIRO PKG_CHECK_MODULES(PANGOCAIRO, [pangocairo >= 0.26], , AC_MSG_ERROR([PANGOCAIRO 0.26 or later is required.])) PKG_CHECK_MODULES(PANGO, [pango >= 1.23.0], , AC_MSG_ERROR([PANGO 1.23.0 or later is required.])) ##################################################################### # Header files & particular functions ##################################################################### AC_HEADER_SYS_WAIT # FIXME these checks are obsolete, because every plausible platform # provides what they check for. AC_HEADER_STDC # FIXME these checks may be pointless for one of three reasons: every # even vaguely sane libc implementation provides them; we don't use # any of their functions in favour of GLib alternatives; or we don't # provide an alternative, so the build will fail anyway. AC_CHECK_HEADERS([math.h stdlib.h string.h unistd.h]) # FIXME since we don't have a sensible alternative, if these headers # are missing we should fail. Also need to remove HAVE_ERRNO_H tests # in the C source code, since if we *don't* have it the build will # fail anyway. AC_CHECK_HEADERS([errno.h fcntl.h]) # FIXME On a system without locale.h, the user may have just disabled NLS # to be able to build. But are there known systems with working NLS but # without a locale.h? We do need to include locale.h on some systems # to be able to build schematic/src/lepton-schematic.c AC_CHECK_HEADERS([locale.h]) # Check for lrint in math library. AC_CHECK_LIB([m], [lrint], AC_DEFINE([HAVE_LRINT], 1, [If your math library has lrint in it, define this])) AC_CHECK_LIB([m], [atan2]) AC_CHECK_FUNCS([chown getlogin]) # Check if the getopt header is present AC_CHECK_HEADERS([getopt.h]) # Check for getopt_long # On FreeBSD the 'gnugetopt' library is needed. AC_SEARCH_LIBS([getopt_long], [gnugetopt], AC_DEFINE([HAVE_GETOPT_LONG], 1, [Define to 1 if you have the `getopt_long' function.])) # Check for misc features of awk AX_AWK_FEATURES ##################################################################### # Optional things ##################################################################### # Assertions AX_OPTION_ASSERT # Viewing documentation AX_OPTION_URI_VIEWER # API documentation AX_OPTION_DOXYGEN # XDG desktop files AX_OPTION_XDG_DATA # XDG database updates AX_OPTION_XDG_DB # libstroke support AX_OPTION_STROKE # attrib AX_OPTION_ATTRIB # contributed software AX_OPTION_CONTRIB ##################################################################### # Tool-specific setup ##################################################################### # Where should data files be installed/searched for? AX_DATA_DIRS # Where should PCB footprints be searched for? AX_PCB_DIRS # Set up liblepton with the correct ld version number AX_LIBLEPTON([5:0:0]) # Set up libleptonrenderer with the correct ld version number AX_LIBLEPTONRENDERER([2:0:0]) ##################################################################### # Generate output ##################################################################### AC_CONFIG_FILES([Makefile liblepton/Makefile liblepton/liblepton.pc liblepton/po/Makefile.in liblepton/data/Makefile liblepton/docs/Makefile liblepton/docs/images/Makefile liblepton/include/Makefile liblepton/lib/Makefile liblepton/scheme/Makefile liblepton/src/Makefile liblepton/tests/Makefile libleptonrenderer/Makefile libleptonrenderer/libleptonrenderer.pc cli/Makefile cli/po/Makefile.in schematic/Makefile schematic/po/Makefile.in schematic/docs/Makefile schematic/include/Makefile schematic/src/Makefile schematic/examples/Makefile schematic/lib/Makefile schematic/data/Makefile schematic/bitmap/Makefile schematic/tests/Makefile schematic/scheme/Makefile attrib/Makefile attrib/po/Makefile.in attrib/design/Makefile attrib/docs/Makefile attrib/include/Makefile attrib/src/Makefile attrib/data/Makefile symcheck/docs/Makefile symcheck/po/Makefile.in symcheck/tests/Makefile symcheck/Makefile symcheck/scheme/Makefile netlist/Makefile netlist/po/Makefile.in netlist/scheme/Makefile netlist/examples/Makefile netlist/tests/Makefile netlist/docs/Makefile netlist/docs/vams/Makefile netlist/examples/vams/Makefile netlist/examples/vams/vhdl/Makefile netlist/examples/vams/vhdl/basic-vhdl/Makefile netlist/examples/vams/vhdl/new-vhdl/Makefile netlist/examples/switcap/Makefile netlist/examples/verilog/Makefile netlist/examples/verilog/T_FF_example/Makefile netlist/examples/verilog/T_FF_example/verilog_modules/Makefile netlist/examples/analog/Makefile netlist/examples/analog/varactor_osc/Makefile netlist/examples/analog/bandpass/Makefile netlist/examples/analog/voltage_doubler/Makefile utils/Makefile utils/docs/Makefile utils/examples/Makefile utils/examples/gmk_sym/Makefile utils/examples/gsch2pcb/Makefile utils/examples/tragesym/Makefile utils/scripts/Makefile utils/src/Makefile utils/tests/Makefile utils/tests/refdes_renum/Makefile utils/tests/refdes_renum/inputs/Makefile utils/tests/refdes_renum/outputs/Makefile symbols/Makefile symbols/documentation/Makefile symbols/gnetman/Makefile symbols/verilog/Makefile symbols/vhdl/Makefile docs/Makefile docs/scheme-api/Makefile docs/toplevel/Makefile docs/toplevel/gedadocs.html docs/wiki/Makefile examples/Makefile examples/RF_Amp/Makefile examples/TwoStageAmp/Makefile examples/gTAG/Makefile examples/lightning_detector/Makefile contrib/Makefile contrib/smash_megafile/Makefile contrib/olib/Makefile contrib/gmk_sym/Makefile contrib/sarlacc_schem/Makefile contrib/scripts/Makefile contrib/scripts/bom_xref.sh contrib/scripts/sw2asc ]) AC_OUTPUT lepton-eda-1.9.10/Makefile.in0000644000175000017500000010256613634703703012640 00000000000000# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/geda-assert.m4 \ $(top_srcdir)/m4/geda-awk.m4 $(top_srcdir)/m4/geda-cairo.m4 \ $(top_srcdir)/m4/geda-contrib.m4 \ $(top_srcdir)/m4/geda-desktop-i18n.m4 \ $(top_srcdir)/m4/geda-desktop.m4 \ $(top_srcdir)/m4/geda-doxygen.m4 \ $(top_srcdir)/m4/geda-gattrib.m4 \ $(top_srcdir)/m4/geda-gcc-flags.m4 \ $(top_srcdir)/m4/geda-git-version.m4 \ $(top_srcdir)/m4/geda-git.m4 $(top_srcdir)/m4/geda-groff.m4 \ $(top_srcdir)/m4/geda-guile.m4 $(top_srcdir)/m4/geda-host.m4 \ $(top_srcdir)/m4/geda-liblepton.m4 \ $(top_srcdir)/m4/geda-libleptonrenderer.m4 \ $(top_srcdir)/m4/geda-stroke.m4 \ $(top_srcdir)/m4/geda-uri-viewer.m4 \ $(top_srcdir)/m4/geda-windows.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/guile.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intlmacosx.m4 \ $(top_srcdir)/m4/lepton-data-dirs.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pcb-data-dirs.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ $(am__configure_deps) $(am__DIST_COMMON) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ cscope distdir distdir-am dist dist-all distcheck am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ $(LISP)config.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = liblepton libleptonrenderer cli schematic attrib \ symcheck netlist utils symbols docs examples contrib am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(top_srcdir)/build-tools/ar-lib \ $(top_srcdir)/build-tools/compile \ $(top_srcdir)/build-tools/config.guess \ $(top_srcdir)/build-tools/config.rpath \ $(top_srcdir)/build-tools/config.sub \ $(top_srcdir)/build-tools/desktop-i18n \ $(top_srcdir)/build-tools/icon-theme-installer \ $(top_srcdir)/build-tools/install-sh \ $(top_srcdir)/build-tools/ltmain.sh \ $(top_srcdir)/build-tools/missing ABOUT-NLS AUTHORS COPYING \ build-tools/ar-lib build-tools/compile \ build-tools/config.guess build-tools/config.rpath \ build-tools/config.sub build-tools/install-sh \ build-tools/ltmain.sh build-tools/missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best DIST_TARGETS = dist-gzip distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BITMAP_DIRECTORY = @BITMAP_DIRECTORY@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CAIRO_PDF_CFLAGS = @CAIRO_PDF_CFLAGS@ CAIRO_PDF_LIBS = @CAIRO_PDF_LIBS@ CAIRO_PNG_CFLAGS = @CAIRO_PNG_CFLAGS@ CAIRO_PNG_LIBS = @CAIRO_PNG_LIBS@ CAIRO_PS_CFLAGS = @CAIRO_PS_CFLAGS@ CAIRO_PS_LIBS = @CAIRO_PS_LIBS@ CAIRO_SVG_CFLAGS = @CAIRO_SVG_CFLAGS@ CAIRO_SVG_LIBS = @CAIRO_SVG_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHANGELOG_BASE = @CHANGELOG_BASE@ CONVERT = @CONVERT@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATE_VERSION = @DATE_VERSION@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DESKTOP_I18N = @DESKTOP_I18N@ DESKTOP_I18N_CREATE = @DESKTOP_I18N_CREATE@ DESKTOP_I18N_LOCALE_DIR = @DESKTOP_I18N_LOCALE_DIR@ DESKTOP_I18N_SCRIPT = @DESKTOP_I18N_SCRIPT@ DLLTOOL = @DLLTOOL@ DOT = @DOT@ DOTTED_VERSION = @DOTTED_VERSION@ DOXYGEN = @DOXYGEN@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCC_CFLAGS = @GCC_CFLAGS@ GDK_CFLAGS = @GDK_CFLAGS@ GDK_LIBS = @GDK_LIBS@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GETTEXT = @GETTEXT@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIT = @GIT@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ GROFF = @GROFF@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GUILD = @GUILD@ GUILE = @GUILE@ GUILE_CFLAGS = @GUILE_CFLAGS@ GUILE_CONFIG = @GUILE_CONFIG@ GUILE_EFFECTIVE_VERSION = @GUILE_EFFECTIVE_VERSION@ GUILE_LDFLAGS = @GUILE_LDFLAGS@ GUILE_LIBS = @GUILE_LIBS@ GUILE_LTLIBS = @GUILE_LTLIBS@ GUILE_PKG_NAME = @GUILE_PKG_NAME@ GUILE_SNARF = @GUILE_SNARF@ GUILE_TOOLS = @GUILE_TOOLS@ HAVE_GIT_REPO = @HAVE_GIT_REPO@ ICON_THEME_INSTALLER = @ICON_THEME_INSTALLER@ INKSCAPE = @INKSCAPE@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LEPTONDATADIR = @LEPTONDATADIR@ LEPTON_SCM_PRECOMPILE_DIR = @LEPTON_SCM_PRECOMPILE_DIR@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBLEPTONRENDERER_SHLIB_VERSION = @LIBLEPTONRENDERER_SHLIB_VERSION@ LIBLEPTON_GETTEXT_DOMAIN = @LIBLEPTON_GETTEXT_DOMAIN@ LIBLEPTON_SHLIB_VERSION = @LIBLEPTON_SHLIB_VERSION@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBSTROKE_CPPFLAGS = @LIBSTROKE_CPPFLAGS@ LIBSTROKE_LDFLAGS = @LIBSTROKE_LDFLAGS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ M4 = @M4@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MINGW_CFLAGS = @MINGW_CFLAGS@ MINGW_GUI_LDFLAGS = @MINGW_GUI_LDFLAGS@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PANGOCAIRO_CFLAGS = @PANGOCAIRO_CFLAGS@ PANGOCAIRO_LIBS = @PANGOCAIRO_LIBS@ PANGO_CFLAGS = @PANGO_CFLAGS@ PANGO_LIBS = @PANGO_LIBS@ PATH_SEPARATOR = @PATH_SEPARATOR@ PCBDATADIR = @PCBDATADIR@ PCBLIBPATH = @PCBLIBPATH@ PCBM4DIR = @PCBM4DIR@ PDFLATEX = @PDFLATEX@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATE_DESKTOP_DATABASE = @UPDATE_DESKTOP_DATABASE@ UPDATE_MIME_DATABASE = @UPDATE_MIME_DATABASE@ URI_VIEWER = @URI_VIEWER@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WINDOWS_LIBTOOL_FLAGS = @WINDOWS_LIBTOOL_FLAGS@ XDGDATADIR = @XDGDATADIR@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @ENABLE_ATTRIB_TRUE@ATTRIB_DIR = attrib @ENABLE_CONTRIB_TRUE@CONTRIB_DIR = contrib SUBDIRS = liblepton libleptonrenderer cli schematic ${ATTRIB_DIR} \ symcheck netlist utils symbols docs examples ${CONTRIB_DIR} ACLOCAL_AMFLAGS = -I m4 # We need to ensure that `make distcheck' *doesn't* find a git # repository! # # We also should be able to successfully build & install without # groff. false = /bin/sh -c '! :' DISTCHECK_CONFIGURE_FLAGS = \ GIT="$(false)" \ GROFF="$(false)" \ --disable-update-xdg-database BUILT_SOURCES = version.h EXTRA_DIST = autogen.sh version.h version.h.in CODE_OF_CONDUCT.md \ CONTRIBUTING.md COPYING COPYING.LGPL NEWS.md README.md CLEANFILES = stamp-git all: $(BUILT_SOURCES) config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): config.h: stamp-h1 @test -f $@ || rm -f stamp-h1 @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool config.lt # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscope: cscope.files test ! -s cscope.files \ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) clean-cscope: -rm -f cscope.files cscope.files: clean-cscope cscopelist cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am distdir-am: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) dist-tarZ: distdir @echo WARNING: "Support for distribution archives compressed with" \ "legacy program 'compress' is deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__post_remove_distdir) dist dist-all: $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build/sub \ && ../../configure \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-recursive all-am: Makefile config.h installdirs: installdirs-recursive installdirs-am: install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr \ distclean-libtool distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-data-local install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-local .MAKE: $(am__recursive_targets) all check install install-am \ install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--refresh check check-am clean clean-cscope clean-generic \ clean-libtool cscope cscopelist-am ctags ctags-am dist \ dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ dist-xz dist-zip distcheck distclean distclean-generic \ distclean-hdr distclean-libtool distclean-tags distcleancheck \ distdir distuninstallcheck dvi dvi-am html html-am info \ info-am install install-am install-data install-data-am \ install-data-local install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-local .PRECIOUS: Makefile # Generate version.h. This works by looking at any git repository that # is present in the source directory (detected at configure time). If # there is a git repository, the HEAD commitid is checked every time # the package is built to see if it has changed. If so, version.h is # regenerated. If there isn't a git repository, version.h is just # assumed to be present (since the generated version.h is distributed # in the source tarball). @HAVE_GIT_REPO_TRUE@version.h: stamp-git $(top_builddir)/configure $(srcdir)/version.h.in @HAVE_GIT_REPO_TRUE@ @if test ! -f version.h; then \ @HAVE_GIT_REPO_TRUE@ rm -f stamp-git; \ @HAVE_GIT_REPO_TRUE@ $(MAKE) $(AM_MAKEFLAGS) stamp-git; \ @HAVE_GIT_REPO_TRUE@ else :; fi @HAVE_GIT_REPO_TRUE@ @date_ver=$(DATE_VERSION); dotted_ver=$(DOTTED_VERSION); \ @HAVE_GIT_REPO_TRUE@ git_commit=`cd $(srcdir) && $(GIT) rev-parse HEAD`; \ @HAVE_GIT_REPO_TRUE@ sed -e"s:^.*\(PACKAGE_DATE_VERSION\).*$$:#define \1 \"$$date_ver\":" \ @HAVE_GIT_REPO_TRUE@ -e"s:^.*\(PACKAGE_DOTTED_VERSION\).*$$:#define \1 \"$$dotted_ver\":" \ @HAVE_GIT_REPO_TRUE@ -e"s:^.*\(PACKAGE_GIT_COMMIT\).*$$:#define \1 \"$$git_commit\":" \ @HAVE_GIT_REPO_TRUE@ < $(srcdir)/version.h.in > version.h.new; \ @HAVE_GIT_REPO_TRUE@ if diff version.h version.h.new > /dev/null 2>&1; then \ @HAVE_GIT_REPO_TRUE@ echo "version.h is unchanged"; \ @HAVE_GIT_REPO_TRUE@ rm -f version.h.new; \ @HAVE_GIT_REPO_TRUE@ else \ @HAVE_GIT_REPO_TRUE@ echo "Recreating version.h"; \ @HAVE_GIT_REPO_TRUE@ mv version.h.new version.h; \ @HAVE_GIT_REPO_TRUE@ fi @HAVE_GIT_REPO_TRUE@stamp-git: @HAVE_GIT_REPO_TRUE@ @last_version=`if test -f stamp-git; then cat stamp-git; else :; fi`; \ @HAVE_GIT_REPO_TRUE@ now_version=`cd $(srcdir) && $(GIT) rev-parse HEAD`; \ @HAVE_GIT_REPO_TRUE@ if test "X$$now_version" != "X$$last_version"; then \ @HAVE_GIT_REPO_TRUE@ echo $$now_version > stamp-git; \ @HAVE_GIT_REPO_TRUE@ echo "Now at git commit $$now_version..."; \ @HAVE_GIT_REPO_TRUE@ fi @HAVE_GIT_REPO_TRUE@.PHONY: stamp-git doxygen: @ENABLE_DOXYGEN_TRUE@ @for subdir in attrib/docs schematic/docs \ @ENABLE_DOXYGEN_TRUE@ liblepton/docs utils/docs ; do \ @ENABLE_DOXYGEN_TRUE@ (cd $$subdir; $(MAKE) doxygen) || exit 1; \ @ENABLE_DOXYGEN_TRUE@ done @ENABLE_DOXYGEN_FALSE@ @echo 'configure was not run with the --enable-doxygen switch.' @ENABLE_DOXYGEN_FALSE@ @echo 'The documentation cannot be built from the sources.' precompile: @LEPTON_SCM_PRECOMPILE=1 \ LEPTON_SCM_PRECOMPILE_SCRIPT=$(datadir)/lepton-eda/scheme/schematic/precompile.scm \ LEPTON_SCM_PRECOMPILE_SCM_DIR=$(datadir)/lepton-eda/scheme \ LEPTON_SCM_PRECOMPILE_OUT_DIR=$(datadir)/lepton-eda/ccache \ LEPTON_SCM_PRECOMPILE_RECURSIVE=1 \ LEPTON_SCM_PRECOMPILE_FNAME_EXT=.scm \ $(bindir)/lepton-schematic install-data-local: $(MKDIR_P) $(DESTDIR)$(docdir) cp -v $(srcdir)/README.md $(DESTDIR)$(docdir) cp -v $(srcdir)/NEWS.md $(DESTDIR)$(docdir) uninstall-local: rm -vfr $(DESTDIR)$(includedir)/liblepton rm -vfr $(DESTDIR)$(includedir)/libleptonrenderer rm -vfr $(DESTDIR)$(pkgdatadir) rm -vfr $(DESTDIR)$(docdir) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: lepton-eda-1.9.10/config.h.in0000644000175000017500000001237213634703700012606 00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* directory with bitmaps */ #undef BITMAP_DIRECTORY /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS /* Define to 1 if GLib assertions should be disabled. */ #undef G_DISABLE_ASSERT /* Disable deprecated GLib features */ #undef G_DISABLE_DEPRECATED /* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT /* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE /* Define to 1 if you have the `chown' function. */ #undef HAVE_CHOWN /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the header file. */ #undef HAVE_ERRNO_H /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H /* Define to 1 if you have the `getlogin' function. */ #undef HAVE_GETLOGIN /* Define to 1 if you have the header file. */ #undef HAVE_GETOPT_H /* Define to 1 if you have the `getopt_long' function. */ #undef HAVE_GETOPT_LONG /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define if you have the iconv() function and it works. */ #undef HAVE_ICONV /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the `m' library (-lm). */ #undef HAVE_LIBM /* Define to 1 if libstroke is available */ #undef HAVE_LIBSTROKE /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H /* If your math library has lrint in it, define this */ #undef HAVE_LRINT /* Define to 1 if you have the header file. */ #undef HAVE_MATH_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if scm_display_error expects a frame as first argument. */ #undef HAVE_SCM_DISPLAY_ERROR_FRAME /* Define to 1 if scm_display_error accepts a stack as first argument. */ #undef HAVE_SCM_DISPLAY_ERROR_STACK /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have that is POSIX.1 compatible. */ #undef HAVE_SYS_WAIT_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to Lepton EDA shared data directory. Only liblepton should use this - apps should use eda_get_system_data_dirs() */ #undef LEPTONDATADIR /* precompiled scm files dir */ #undef LEPTON_SCM_PRECOMPILE_DIR /* "Name of liblepton's gettext domain." */ #undef LIBLEPTON_GETTEXT_DOMAIN /* Define to the sub-directory where libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Define to 1 if assertions should be disabled. */ #undef NDEBUG /* Define to 1 if on Mac OS X Carbon. */ #undef OS_CARBON /* Define to 1 if on Cygwin. */ #undef OS_CYGWIN /* Define to 1 if on Linux. */ #undef OS_LINUX /* Define to 1 if on Windows. */ #undef OS_WIN32 /* Define to 1 if on native Windows. */ #undef OS_WIN32_NATIVE /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Command to launch default application for a URI. */ #undef SHOW_URI_COMMAND /* Define to 1 if GIO should be used to launch a default application for a URI. */ #undef SHOW_URI_GIO /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # undef __EXTENSIONS__ #endif /* Version number of package */ #undef VERSION /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a `char[]'. */ #undef YYTEXT_POINTER /* Define to 1 if on MINIX. */ #undef _MINIX /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ #undef _POSIX_1_SOURCE /* Define to 1 if you need to in order for `stat' and other things to work. */ #undef _POSIX_SOURCE lepton-eda-1.9.10/m4/0000755000175000017500000000000013634704535011165 500000000000000lepton-eda-1.9.10/m4/pcb-data-dirs.m40000644000175000017500000000501613634703632013760 00000000000000# pcb-data-dirs.m4 -*-Autoconf-*- # serial 2 dnl PCB prefix and m4 library directory (needed by gnetlist) dnl Copyright (C) 2009 Peter Brett dnl Copyright (C) 2011 Peter Clifton dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # Check where to look for PCB footprints. # FIXME All of this should be done at runtime. AC_DEFUN([AX_PCB_DIRS], [ AC_PREREQ([2.60])dnl # Check what prefix to use for PCB footprint libraries AC_MSG_CHECKING([where to look for PCB footprints]) PCBDATADIR="${datarootdir}/pcb" AC_ARG_WITH([pcb-datadir], AS_HELP_STRING([--with-pcb-datadir=DIR], [search for PCB libraries in DIR [[DATAROOTDIR/pcb]]]), [ if (test "X$with_pcb_datadir" != "Xno" && test "X$with_pcb_datadir" != "Xyes"); then PCBDATADIR="$with_pcb_datadir" fi ], []) AC_MSG_RESULT([$PCBDATADIR]) AC_SUBST([PCBDATADIR]) # m4 libraries AC_MSG_CHECKING([where to look for PCB m4 footprints]) PCBM4DIR="${PCBDATADIR}/m4" AC_ARG_WITH([pcb-m4dir], AS_HELP_STRING([--with-pcb-m4dir=DIR], [search for PCB m4 libraries in DIR [[PCBDATADIR/m4]]]), [ if (test "X$with_pcb_m4dir" != "Xno" && test "X$with_pcb_m4dir" != "Xyes"); then PCBM4DIR="$with_pcb_m4dir" fi ], []) AC_MSG_RESULT([$PCBM4DIR]) AC_SUBST([PCBM4DIR]) # newlib search path AC_MSG_CHECKING([search path for PCB newlib footprints]) PCBLIBPATH="${PCBDATADIR}/pcblib-newlib:$PCBDATADIR/newlib" AC_ARG_WITH([pcb-lib-path], AS_HELP_STRING([--with-pcb-lib-path=PATH], [search path for PCB newlib footprint libraries]), [ if (test "X$with_pcb_lib_path" != "Xno" && test "X$with_pcb_lib_path" != "Xyes"); then PCBLIBPATH="$with_pcb_lib_path" fi ], []) AC_MSG_RESULT([$PCBLIBPATH]) AC_SUBST([PCBLIBPATH]) ])dnl AX_PCB_DIRS lepton-eda-1.9.10/m4/geda-libleptonrenderer.m40000644000175000017500000000227613634703632015770 00000000000000# geda-libleptonrenderer.m4 -*-Autoconf-*- # serial 1 dnl libleptonrenderer-specific setup dnl Copyright (C) 2010 Peter Brett dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # Work out the gettext domain that libgeda should use AC_DEFUN([AX_LIBLEPTONRENDERER], [ AC_PREREQ([2.60])dnl # First argument is the shared library version to use. AC_MSG_CHECKING([libleptonrenderer shared library version]) AC_MSG_RESULT($1) AC_SUBST([LIBLEPTONRENDERER_SHLIB_VERSION], $1) ]) lepton-eda-1.9.10/m4/nls.m40000644000175000017500000000231513634703642012142 00000000000000# nls.m4 serial 5 (gettext-0.18) dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ([2.50]) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE([nls], [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT([$USE_NLS]) AC_SUBST([USE_NLS]) ]) lepton-eda-1.9.10/m4/iconv.m40000644000175000017500000001522613634703641012470 00000000000000# iconv.m4 serial 9 (gettext-0.18) dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_LIB_LINKFLAGS_BODY([iconv]) ]) AC_DEFUN([AM_ICONV_LINK], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl those with the standalone portable GNU libiconv installed). AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], [am_cv_func_iconv=yes]) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], [am_cv_lib_iconv=yes] [am_cv_func_iconv=yes]) LIBS="$am_save_LIBS" fi ]) if test "$am_cv_func_iconv" = yes; then AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ dnl This tests against bugs in AIX 5.1, HP-UX 11.11, Solaris 10. am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi AC_TRY_RUN([ #include #include int main () { /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } /* Test against Solaris 10 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); if (cd_ascii_to_88591 != (iconv_t)(-1)) { static const char input[] = "\263"; char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_ascii_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; return 0; }], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], [case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac]) LIBS="$am_save_LIBS" ]) case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then AC_DEFINE([HAVE_ICONV], [1], [Define if you have the iconv() function and it works.]) fi if test "$am_cv_lib_iconv" = yes; then AC_MSG_CHECKING([how to link with libiconv]) AC_MSG_RESULT([$LIBICONV]) else dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV dnl either. CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi AC_SUBST([LIBICONV]) AC_SUBST([LTLIBICONV]) ]) AC_DEFUN([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL([am_cv_proto_iconv], [ AC_TRY_COMPILE([ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif ], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"]) am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([ $am_cv_proto_iconv]) AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], [Define as const if the declaration of iconv() needs const.]) fi ]) lepton-eda-1.9.10/m4/geda-assert.m40000644000175000017500000000274713634703632013555 00000000000000# geda-assert.m4 -*-Autoconf-*- # serial 1.0 dnl Optionally disable assertions dnl Copyright (C) 2009 Peter Brett dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # Check if assertions should be disabled. AC_DEFUN([AX_OPTION_ASSERT], [ AC_PREREQ([2.60])dnl AC_PROVIDE([AC_HEADER_ASSERT])dnl AC_MSG_CHECKING([whether to enable assertions]) AC_ARG_ENABLE([assert], [AS_HELP_STRING([--disable-assert], [turn off assertions])], [], [enable_assert="yes"]) if test "X$enable_assert" = "Xyes"; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) AC_DEFINE([NDEBUG], 1, [Define to 1 if assertions should be disabled.]) AC_DEFINE([G_DISABLE_ASSERT], 1, [Define to 1 if GLib assertions should be disabled.]) fi ])dnl AX_OPTION_ASSERT lepton-eda-1.9.10/m4/geda-git.m40000644000175000017500000000311413634703632013024 00000000000000# geda-git.m4 -*-Autoconf-*- # serial 2 dnl Generic checks relating to git tools & repositories dnl Copyright (C) 2009-2011 Peter Brett dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # Check if git is available, and which git to use. AC_DEFUN([AX_PROG_GIT], [ AC_PREREQ([2.60])dnl AC_ARG_VAR([GIT], [Path to git executable]) AC_CHECK_PROG([GIT], [git], [git], [no]) ])dnl AX_PROG_GIT # Check if the source directory is a git repository AC_DEFUN([AX_GIT_REPO], [ AC_PREREQ([2.60])dnl AC_REQUIRE([AX_PROG_GIT])dnl HAVE_GIT_REPO=no if test "X$GIT" != "Xno"; then AC_MSG_CHECKING([if the source directory is a git repository]) if (cd $srcdir && $GIT rev-parse --git-dir > /dev/null 2>&1); then AC_MSG_RESULT([yes]) HAVE_GIT_REPO=yes else AC_MSG_RESULT([no]) fi fi AC_SUBST([HAVE_GIT_REPO]) ])dnl AX_GIT_REPO lepton-eda-1.9.10/m4/geda-desktop.m40000644000175000017500000000667713634703632013733 00000000000000# geda-desktop.m4 -*-Autoconf-*- # serial 1.0 dnl MIME & desktop icon directories, and MIME database update options dnl Copyright (C) 2009 Peter Brett dnl Copyright (C) 2020 Lepton EDA Contributors dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # Check where XDG data should be installed AC_DEFUN([AX_OPTION_XDG_DATA], [ AC_PREREQ([2.60])dnl dnl Complain if icon-theme-installer is missing AC_REQUIRE_AUX_FILE([icon-theme-installer]) ICON_THEME_INSTALLER="\${SHELL} $am_aux_dir/icon-theme-installer" AC_SUBST([ICON_THEME_INSTALLER]) AC_MSG_CHECKING([where to install XDG desktop files]) AC_ARG_WITH([xdgdatadir], AS_HELP_STRING([--with-xdgdatadir[[[=DIR]]]], [install XDG desktop files in DIR [[DIR=DATAROOTDIR]]])) if (test "X$with_xdgdatadir" = "X$yes") || (test "X$with_xdgdatadir" = "X"); then with_xdgdatadir="$datarootdir" fi AC_MSG_RESULT([$with_xdgdatadir]) AC_SUBST([XDGDATADIR], [$with_xdgdatadir]) ])dnl AX_OPTION_XDG_DATA # Check if the MIME database should be updated, and if so, find the # update-mime-database program. AC_DEFUN([AX_OPTION_XDG_DB], [ AC_PREREQ([2.60])dnl AC_ARG_VAR([UPDATE_MIME_DATABASE], [Path to update-mime-database executable]) AC_ARG_VAR([UPDATE_DESKTOP_DATABASE], [Path to update-desktop-database executable]) # Check if the user enabled updating of the MIME database AC_MSG_CHECKING([whether 'make install' should update XDG databases]) AC_ARG_ENABLE([update-xdg-database], [AS_HELP_STRING([--disable-update-xdg-database], [do not update XDG database after installation])], [], [enable_update_xdg_database=yes]) # If user didn't disable XDG database update, look for tools if test "X$enable_update_xdg_database" = "Xyes"; then AC_MSG_RESULT([yes]) # Check for update-mime-database AC_CHECK_PROG([UPDATE_MIME_DATABASE], [update-mime-database], [update-mime-database], [no]) if test "X$UPDATE_MIME_DATABASE" = "Xno"; then AC_MSG_ERROR([The update-mime-database tool could not be found. Ensure it is installed and in your path, or configure with --disable-update-xdg-database.]) fi # Check for update-desktop-database AC_CHECK_PROG([UPDATE_DESKTOP_DATABASE], [update-desktop-database], [update-desktop-database], [no]) if test "X$UPDATE_DESKTOP_DATABASE" = "Xno"; then AC_MSG_ERROR([The update-desktop-database tool could not be found. Ensure it is installed and in your path, or configure with --disable-update-xdg-database.]) fi else AC_MSG_RESULT([no]) fi AM_CONDITIONAL([ENABLE_UPDATE_XDG_DATABASE], test "X$enable_update_xdg_database" = "Xyes") AC_SUBST([UPDATE_MIME_DATABASE]) AC_SUBST([UPDATE_DESKTOP_DATABASE]) ])dnl AX_OPTION_XDG_DB lepton-eda-1.9.10/m4/geda-awk.m40000644000175000017500000000530113634703632013023 00000000000000# geda-awk.m4 -*-Autoconf-*- # serial 1 dnl Improved checks for awk executable path and features dnl Copyright (C) 2008 Dan McMahill dnl Copyright (C) 2009 Peter Brett dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA AC_DEFUN([AX_PROG_AWK], [ AC_PREREQ([2.60])dnl AC_PROVIDE([AC_PROG_AWK])dnl AC_ARG_VAR([AWK], [Path to awk executable]) AC_PATH_PROGS([AWK], [mawk gawk nawk awk], [no]) if test "X$AWK" = "Xno"; then AC_MSG_ERROR([The awk tool could not be found. Ensure it is installed and in your path.]) fi ])dnl AX_PROG_AWK dnl AX_AWK_IFELSE (PROGRAM, INPUT, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) AC_DEFUN([AX_AWK_IFELSE], [ AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_AWK])dnl cat > conftest.awk < conftest.txt </dev/null; exit) 2>&AC_FD_CC; then ifelse([$3], , :, [rm -fr conftest*; $3]) else echo "configure:__oline__: $AWK -f conftest.awk conftest.txt" >&AC_FD_CC echo "configure:__oline__: failed program was:" >&AC_FD_CC cat conftest.awk >&AC_FD_CC echo "configure:__oline__: failed input file was:" >&AC_FD_CC cat conftest.txt >&AC_FD_CC ifelse([$4], , , [rm -fr conftest*; $4]) fi ])dnl AX_AWK_IFELSE dnl Check for some miscellaneous Awk features used by gEDA. AC_DEFUN([AX_AWK_FEATURES], [ AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_AWK])dnl AC_MSG_CHECKING([whether $AWK has gsub]) AX_AWK_IFELSE([{gsub(/foo/,"bar");}], [foo bar], [AWK_GSUB="yes"],[AWK_GSUB="no"]) AC_MSG_RESULT([$AWK_GSUB]) AC_MSG_CHECKING([whether $AWK has toupper]) AX_AWK_IFELSE([{print toupper("test")}], [foo bar], [AWK_TOUPPER=yes],[AWK_TOUPPER=no]) AC_MSG_RESULT([$AWK_TOUPPER]) if (test "X$AWK_GSUB" = "Xno" || test "X$AWK_TOUPPER" = "Xno"); then AC_MSG_ERROR([Your awk ($AWK) is missing the `gsub' and/or `toupper' functions. Consider installing gawk.]) fi ])dnl AX_AWK_FEATURES lepton-eda-1.9.10/m4/geda-cairo.m40000644000175000017500000000340613634703632013342 00000000000000# geda-cairo.m4 -*-Autoconf-*- # serial 1 dnl Check for CAIRO dnl Copyright (C) 2012 Peter Brett dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA AC_DEFUN([AX_CHECK_CAIRO], [ AC_PREREQ([2.60])dnl # In Cairo >= 1.10, need to check for Cairo PDF/SVG/PS/PNG support # separately. PKG_CHECK_MODULES([CAIRO], [cairo >= 1.10], [CAIRO=yes], [CAIRO=no]) if test "$CAIRO" = "yes"; then PKG_CHECK_MODULES([CAIRO_PNG], [cairo-png >= 1.10], , AC_MSG_ERROR([Cairo PNG support 1.10.0 or later is required.])) PKG_CHECK_MODULES([CAIRO_PDF], [cairo-pdf >= 1.10], , AC_MSG_ERROR([Cairo PDF support 1.10.0 or later is required.])) PKG_CHECK_MODULES([CAIRO_PS], [cairo-ps >= 1.10], , AC_MSG_ERROR([Cairo PostScript support 1.10.0 or later is required.])) PKG_CHECK_MODULES([CAIRO_SVG], [cairo-svg >= 1.10], , AC_MSG_ERROR([Cairo SVG support 1.10.0 or later is required.])) else PKG_CHECK_MODULES([CAIRO], [cairo >= 1.8], [], AC_MSG_ERROR([Cairo 1.8.0 or later is required.])) fi ])dnl AX_CHECK_CAIRO lepton-eda-1.9.10/m4/guile.m40000644000175000017500000003636513634703632012466 00000000000000## Autoconf macros for working with Guile. ## ## Copyright (C) 1998,2001, 2006, 2010, 2012, 2013, 2014 Free Software Foundation, Inc. ## ## This library is free software; you can redistribute it and/or ## modify it under the terms of the GNU Lesser General Public License ## as published by the Free Software Foundation; either version 3 of ## the License, or (at your option) any later version. ## ## This library 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 ## Lesser General Public License for more details. ## ## You should have received a copy of the GNU Lesser General Public ## License along with this library; if not, write to the Free Software ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA ## 02110-1301 USA # serial 10 ## Index ## ----- ## ## GUILE_PKG -- find Guile development files ## GUILE_PROGS -- set paths to Guile interpreter, config and tool programs ## GUILE_FLAGS -- set flags for compiling and linking with Guile ## GUILE_SITE_DIR -- find path to Guile "site" directories ## GUILE_CHECK -- evaluate Guile Scheme code and capture the return value ## GUILE_MODULE_CHECK -- check feature of a Guile Scheme module ## GUILE_MODULE_AVAILABLE -- check availability of a Guile Scheme module ## GUILE_MODULE_REQUIRED -- fail if a Guile Scheme module is unavailable ## GUILE_MODULE_EXPORTS -- check if a module exports a variable ## GUILE_MODULE_REQUIRED_EXPORT -- fail if a module doesn't export a variable ## Code ## ---- ## NOTE: Comments preceding an AC_DEFUN (starting from "Usage:") are massaged ## into doc/ref/autoconf-macros.texi (see Makefile.am in that directory). # GUILE_PKG -- find Guile development files # # Usage: GUILE_PKG([VERSIONS]) # # This macro runs the @code{pkg-config} tool to find development files # for an available version of Guile. # # By default, this macro will search for the latest stable version of # Guile (e.g. 2.2), falling back to the previous stable version # (e.g. 2.0) if it is available. If no guile-@var{VERSION}.pc file is # found, an error is signalled. The found version is stored in # @var{GUILE_EFFECTIVE_VERSION}. # # If @code{GUILE_PROGS} was already invoked, this macro ensures that the # development files have the same effective version as the Guile # program. # # @var{GUILE_EFFECTIVE_VERSION} is marked for substitution, as by # @code{AC_SUBST}. # AC_DEFUN([GUILE_PKG], [PKG_PROG_PKG_CONFIG _guile_versions_to_search="m4_default([$1], [2.2 2.0 1.8])" if test -n "$GUILE_EFFECTIVE_VERSION"; then _guile_tmp="" for v in $_guile_versions_to_search; do if test "$v" = "$GUILE_EFFECTIVE_VERSION"; then _guile_tmp=$v fi done if test -z "$_guile_tmp"; then AC_MSG_FAILURE([searching for guile development files for versions $_guile_versions_to_search, but previously found $GUILE version $GUILE_EFFECTIVE_VERSION]) fi _guile_versions_to_search=$GUILE_EFFECTIVE_VERSION fi GUILE_EFFECTIVE_VERSION="" _guile_errors="" for v in $_guile_versions_to_search; do if test -z "$GUILE_EFFECTIVE_VERSION"; then AC_MSG_NOTICE([checking for guile $v]) PKG_CHECK_EXISTS([guile-$v], [GUILE_EFFECTIVE_VERSION=$v], []) fi done if test -z "$GUILE_EFFECTIVE_VERSION"; then AC_MSG_ERROR([ No Guile development packages were found. Please verify that you have Guile installed. If you installed Guile from a binary distribution, please verify that you have also installed the development packages. If you installed it yourself, you might need to adjust your PKG_CONFIG_PATH; see the pkg-config man page for more. ]) fi AC_MSG_NOTICE([found guile $GUILE_EFFECTIVE_VERSION]) AC_SUBST([GUILE_EFFECTIVE_VERSION]) ]) # GUILE_FLAGS -- set flags for compiling and linking with Guile # # Usage: GUILE_FLAGS # # This macro runs the @code{pkg-config} tool to find out how to compile # and link programs against Guile. It sets four variables: # @var{GUILE_CFLAGS}, @var{GUILE_LDFLAGS}, @var{GUILE_LIBS}, and # @var{GUILE_LTLIBS}. # # @var{GUILE_CFLAGS}: flags to pass to a C or C++ compiler to build code that # uses Guile header files. This is almost always just one or more @code{-I} # flags. # # @var{GUILE_LDFLAGS}: flags to pass to the compiler to link a program # against Guile. This includes @code{-lguile-@var{VERSION}} for the # Guile library itself, and may also include one or more @code{-L} flag # to tell the compiler where to find the libraries. But it does not # include flags that influence the program's runtime search path for # libraries, and will therefore lead to a program that fails to start, # unless all necessary libraries are installed in a standard location # such as @file{/usr/lib}. # # @var{GUILE_LIBS} and @var{GUILE_LTLIBS}: flags to pass to the compiler or to # libtool, respectively, to link a program against Guile. It includes flags # that augment the program's runtime search path for libraries, so that shared # libraries will be found at the location where they were during linking, even # in non-standard locations. @var{GUILE_LIBS} is to be used when linking the # program directly with the compiler, whereas @var{GUILE_LTLIBS} is to be used # when linking the program is done through libtool. # # The variables are marked for substitution, as by @code{AC_SUBST}. # AC_DEFUN([GUILE_FLAGS], [AC_REQUIRE([GUILE_PKG]) PKG_CHECK_MODULES(GUILE, [guile-$GUILE_EFFECTIVE_VERSION]) dnl GUILE_CFLAGS and GUILE_LIBS are already defined and AC_SUBST'd by dnl PKG_CHECK_MODULES. But GUILE_LIBS to pkg-config is GUILE_LDFLAGS dnl to us. GUILE_LDFLAGS=$GUILE_LIBS dnl Determine the platform dependent parameters needed to use rpath. dnl AC_LIB_LINKFLAGS_FROM_LIBS is defined in gnulib/m4/lib-link.m4 and needs dnl the file gnulib/build-aux/config.rpath. AC_LIB_LINKFLAGS_FROM_LIBS([GUILE_LIBS], [$GUILE_LDFLAGS], []) GUILE_LIBS="$GUILE_LDFLAGS $GUILE_LIBS" AC_LIB_LINKFLAGS_FROM_LIBS([GUILE_LTLIBS], [$GUILE_LDFLAGS], [yes]) GUILE_LTLIBS="$GUILE_LDFLAGS $GUILE_LTLIBS" AC_SUBST([GUILE_EFFECTIVE_VERSION]) AC_SUBST([GUILE_CFLAGS]) AC_SUBST([GUILE_LDFLAGS]) AC_SUBST([GUILE_LIBS]) AC_SUBST([GUILE_LTLIBS]) ]) # GUILE_SITE_DIR -- find path to Guile site directories # # Usage: GUILE_SITE_DIR # # This looks for Guile's "site" directories. The variable @var{GUILE_SITE} will # be set to Guile's "site" directory for Scheme source files (usually something # like PREFIX/share/guile/site). @var{GUILE_SITE_CCACHE} will be set to the # directory for compiled Scheme files also known as @code{.go} files # (usually something like # PREFIX/lib/guile/@var{GUILE_EFFECTIVE_VERSION}/site-ccache). # @var{GUILE_EXTENSION} will be set to the directory for compiled C extensions # (usually something like # PREFIX/lib/guile/@var{GUILE_EFFECTIVE_VERSION}/extensions). The latter two # are set to blank if the particular version of Guile does not support # them. Note that this macro will run the macros @code{GUILE_PKG} and # @code{GUILE_PROGS} if they have not already been run. # # The variables are marked for substitution, as by @code{AC_SUBST}. # AC_DEFUN([GUILE_SITE_DIR], [AC_REQUIRE([GUILE_PKG]) AC_REQUIRE([GUILE_PROGS]) AC_MSG_CHECKING(for Guile site directory) GUILE_SITE=`$PKG_CONFIG --print-errors --variable=sitedir guile-$GUILE_EFFECTIVE_VERSION` AC_MSG_RESULT($GUILE_SITE) if test "$GUILE_SITE" = ""; then AC_MSG_FAILURE(sitedir not found) fi AC_SUBST(GUILE_SITE) AC_MSG_CHECKING([for Guile site-ccache directory using pkgconfig]) GUILE_SITE_CCACHE=`$PKG_CONFIG --variable=siteccachedir guile-$GUILE_EFFECTIVE_VERSION` if test "$GUILE_SITE_CCACHE" = ""; then AC_MSG_RESULT(no) AC_MSG_CHECKING([for Guile site-ccache directory using interpreter]) GUILE_SITE_CCACHE=`$GUILE -c "(display (if (defined? '%site-ccache-dir) (%site-ccache-dir) \"\"))"` if test $? != "0" -o "$GUILE_SITE_CCACHE" = ""; then AC_MSG_RESULT(no) GUILE_SITE_CCACHE="" AC_MSG_WARN([siteccachedir not found]) fi fi AC_MSG_RESULT($GUILE_SITE_CCACHE) AC_SUBST([GUILE_SITE_CCACHE]) AC_MSG_CHECKING(for Guile extensions directory) GUILE_EXTENSION=`$PKG_CONFIG --print-errors --variable=extensiondir guile-$GUILE_EFFECTIVE_VERSION` AC_MSG_RESULT($GUILE_EXTENSION) if test "$GUILE_EXTENSION" = ""; then GUILE_EXTENSION="" AC_MSG_WARN(extensiondir not found) fi AC_SUBST(GUILE_EXTENSION) ]) # GUILE_PROGS -- set paths to Guile interpreter, config and tool programs # # Usage: GUILE_PROGS([VERSION]) # # This macro looks for programs @code{guile} and @code{guild}, setting # variables @var{GUILE} and @var{GUILD} to their paths, respectively. # The macro will attempt to find @code{guile} with the suffix of # @code{-X.Y}, followed by looking for it with the suffix @code{X.Y}, and # then fall back to looking for @code{guile} with no suffix. If # @code{guile} is still not found, signal an error. The suffix, if any, # that was required to find @code{guile} will be used for @code{guild} # as well. # # By default, this macro will search for the latest stable version of # Guile (e.g. 2.2). x.y or x.y.z versions can be specified. If an older # version is found, the macro will signal an error. # # The effective version of the found @code{guile} is set to # @var{GUILE_EFFECTIVE_VERSION}. This macro ensures that the effective # version is compatible with the result of a previous invocation of # @code{GUILE_FLAGS}, if any. # # As a legacy interface, it also looks for @code{guile-config} and # @code{guile-tools}, setting @var{GUILE_CONFIG} and @var{GUILE_TOOLS}. # # The variables are marked for substitution, as by @code{AC_SUBST}. # AC_DEFUN([GUILE_PROGS], [_guile_required_version="m4_default([$1], [$GUILE_EFFECTIVE_VERSION])" if test -z "$_guile_required_version"; then _guile_required_version=2.2 fi _guile_candidates=guile _tmp= for v in `echo "$_guile_required_version" | tr . ' '`; do if test -n "$_tmp"; then _tmp=$_tmp.; fi _tmp=$_tmp$v _guile_candidates="guile-$_tmp guile$_tmp $_guile_candidates" done AC_PATH_PROGS(GUILE,[$_guile_candidates]) if test -z "$GUILE"; then AC_MSG_ERROR([guile required but not found]) fi _guile_suffix=`echo "$GUILE" | sed -e 's,^.*/guile\(.*\)$,\1,'` _guile_effective_version=`$GUILE -c "(display (effective-version))"` if test -z "$GUILE_EFFECTIVE_VERSION"; then GUILE_EFFECTIVE_VERSION=$_guile_effective_version elif test "$GUILE_EFFECTIVE_VERSION" != "$_guile_effective_version"; then AC_MSG_ERROR([found development files for Guile $GUILE_EFFECTIVE_VERSION, but $GUILE has effective version $_guile_effective_version]) fi _guile_major_version=`$GUILE -c "(display (major-version))"` _guile_minor_version=`$GUILE -c "(display (minor-version))"` _guile_micro_version=`$GUILE -c "(display (micro-version))"` _guile_prog_version="$_guile_major_version.$_guile_minor_version.$_guile_micro_version" AC_MSG_CHECKING([for Guile version >= $_guile_required_version]) _major_version=`echo $_guile_required_version | cut -d . -f 1` _minor_version=`echo $_guile_required_version | cut -d . -f 2` _micro_version=`echo $_guile_required_version | cut -d . -f 3` if test "$_guile_major_version" -gt "$_major_version"; then true elif test "$_guile_major_version" -eq "$_major_version"; then if test "$_guile_minor_version" -gt "$_minor_version"; then true elif test "$_guile_minor_version" -eq "$_minor_version"; then if test -n "$_micro_version"; then if test "$_guile_micro_version" -lt "$_micro_version"; then AC_MSG_ERROR([Guile $_guile_required_version required, but $_guile_prog_version found]) fi fi elif test "$GUILE_EFFECTIVE_VERSION" = "$_major_version.$_minor_version" -a -z "$_micro_version"; then # Allow prereleases that have the right effective version. true else as_fn_error $? "Guile $_guile_required_version required, but $_guile_prog_version found" "$LINENO" 5 fi elif test "$GUILE_EFFECTIVE_VERSION" = "$_major_version.$_minor_version" -a -z "$_micro_version"; then # Allow prereleases that have the right effective version. true else AC_MSG_ERROR([Guile $_guile_required_version required, but $_guile_prog_version found]) fi AC_MSG_RESULT([$_guile_prog_version]) AC_PATH_PROG(GUILD,[guild$_guile_suffix]) AC_SUBST(GUILD) AC_PATH_PROG(GUILE_CONFIG,[guile-config$_guile_suffix]) AC_SUBST(GUILE_CONFIG) if test -n "$GUILD"; then GUILE_TOOLS=$GUILD else AC_PATH_PROG(GUILE_TOOLS,[guile-tools$_guile_suffix]) fi AC_SUBST(GUILE_TOOLS) ]) # GUILE_CHECK -- evaluate Guile Scheme code and capture the return value # # Usage: GUILE_CHECK_RETVAL(var,check) # # @var{var} is a shell variable name to be set to the return value. # @var{check} is a Guile Scheme expression, evaluated with "$GUILE -c", and # returning either 0 or non-#f to indicate the check passed. # Non-0 number or #f indicates failure. # Avoid using the character "#" since that confuses autoconf. # AC_DEFUN([GUILE_CHECK], [AC_REQUIRE([GUILE_PROGS]) $GUILE -c "$2" > /dev/null 2>&1 $1=$? ]) # GUILE_MODULE_CHECK -- check feature of a Guile Scheme module # # Usage: GUILE_MODULE_CHECK(var,module,featuretest,description) # # @var{var} is a shell variable name to be set to "yes" or "no". # @var{module} is a list of symbols, like: (ice-9 common-list). # @var{featuretest} is an expression acceptable to GUILE_CHECK, q.v. # @var{description} is a present-tense verb phrase (passed to AC_MSG_CHECKING). # AC_DEFUN([GUILE_MODULE_CHECK], [AC_MSG_CHECKING([if $2 $4]) GUILE_CHECK($1,(use-modules $2) (exit ((lambda () $3)))) if test "$$1" = "0" ; then $1=yes ; else $1=no ; fi AC_MSG_RESULT($$1) ]) # GUILE_MODULE_AVAILABLE -- check availability of a Guile Scheme module # # Usage: GUILE_MODULE_AVAILABLE(var,module) # # @var{var} is a shell variable name to be set to "yes" or "no". # @var{module} is a list of symbols, like: (ice-9 common-list). # AC_DEFUN([GUILE_MODULE_AVAILABLE], [GUILE_MODULE_CHECK($1,$2,0,is available) ]) # GUILE_MODULE_REQUIRED -- fail if a Guile Scheme module is unavailable # # Usage: GUILE_MODULE_REQUIRED(symlist) # # @var{symlist} is a list of symbols, WITHOUT surrounding parens, # like: ice-9 common-list. # AC_DEFUN([GUILE_MODULE_REQUIRED], [GUILE_MODULE_AVAILABLE(ac_guile_module_required, ($1)) if test "$ac_guile_module_required" = "no" ; then AC_MSG_ERROR([required guile module not found: ($1)]) fi ]) # GUILE_MODULE_EXPORTS -- check if a module exports a variable # # Usage: GUILE_MODULE_EXPORTS(var,module,modvar) # # @var{var} is a shell variable to be set to "yes" or "no". # @var{module} is a list of symbols, like: (ice-9 common-list). # @var{modvar} is the Guile Scheme variable to check. # AC_DEFUN([GUILE_MODULE_EXPORTS], [GUILE_MODULE_CHECK($1,$2,$3,exports `$3') ]) # GUILE_MODULE_REQUIRED_EXPORT -- fail if a module doesn't export a variable # # Usage: GUILE_MODULE_REQUIRED_EXPORT(module,modvar) # # @var{module} is a list of symbols, like: (ice-9 common-list). # @var{modvar} is the Guile Scheme variable to check. # AC_DEFUN([GUILE_MODULE_REQUIRED_EXPORT], [GUILE_MODULE_EXPORTS(guile_module_required_export,$1,$2) if test "$guile_module_required_export" = "no" ; then AC_MSG_ERROR([module $1 does not export $2; required]) fi ]) ## guile.m4 ends here lepton-eda-1.9.10/m4/ltversion.m40000644000175000017500000000127313634703662013377 00000000000000# ltversion.m4 -- version numbers -*- Autoconf -*- # # Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # @configure_input@ # serial 4179 ltversion.m4 # This file is part of GNU Libtool m4_define([LT_PACKAGE_VERSION], [2.4.6]) m4_define([LT_PACKAGE_REVISION], [2.4.6]) AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.6' macro_revision='2.4.6' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) lepton-eda-1.9.10/m4/geda-liblepton.m40000644000175000017500000000304213634703632014231 00000000000000# geda-liblepton.m4 -*-Autoconf-*- # serial 1.0 dnl liblepton-specific setup dnl Copyright (C) 2009 Peter Brett dnl Copyright (C) 2019 Lepton EDA Contributors dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # Work out the gettext domain that liblepton should use AC_DEFUN([AX_LIBLEPTON], [ AC_PREREQ([2.60])dnl # First argument is the shared library version to use. AC_MSG_CHECKING([liblepton shared library version]) AC_MSG_RESULT($1) AC_SUBST([LIBLEPTON_SHLIB_VERSION], $1) # Work out the gettext domain to use AC_MSG_CHECKING([liblepton gettext domain]) LIBLEPTON_GETTEXT_DOMAIN="liblepton" AC_MSG_RESULT([$LIBLEPTON_GETTEXT_DOMAIN]) AC_SUBST([LIBLEPTON_GETTEXT_DOMAIN]) AC_DEFINE_UNQUOTED([LIBLEPTON_GETTEXT_DOMAIN], ["$LIBLEPTON_GETTEXT_DOMAIN"], "Name of liblepton's gettext domain.") ]) lepton-eda-1.9.10/m4/libtool.m40000644000175000017500000112640013634703661013016 00000000000000# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. m4_define([_LT_COPYING], [dnl # Copyright (C) 2014 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool 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 of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program or library that is built # using GNU Libtool, you may include this file under the same # distribution terms that you use for the rest of that program. # # GNU Libtool 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 . ]) # serial 58 LT_INIT # LT_PREREQ(VERSION) # ------------------ # Complain and exit if this libtool version is less that VERSION. m4_defun([LT_PREREQ], [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, [m4_default([$3], [m4_fatal([Libtool version $1 or higher is required], 63)])], [$2])]) # _LT_CHECK_BUILDDIR # ------------------ # Complain if the absolute build directory name contains unusual characters m4_defun([_LT_CHECK_BUILDDIR], [case `pwd` in *\ * | *\ *) AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; esac ]) # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], [AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LTDL_INIT])dnl m4_require([_LT_CHECK_BUILDDIR])dnl dnl Autoconf doesn't catch unexpanded LT_ macros by default: m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 dnl unless we require an AC_DEFUNed macro: AC_REQUIRE([LTOPTIONS_VERSION])dnl AC_REQUIRE([LTSUGAR_VERSION])dnl AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([LTOBSOLETE_VERSION])dnl m4_require([_LT_PROG_LTMAIN])dnl _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed LIBTOOL_DEPS=$ltmain # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl _LT_SETUP # Only expand once: m4_define([LT_INIT]) ])# LT_INIT # Old names: AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PROG_LIBTOOL], []) dnl AC_DEFUN([AM_PROG_LIBTOOL], []) # _LT_PREPARE_CC_BASENAME # ----------------------- m4_defun([_LT_PREPARE_CC_BASENAME], [ # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. func_cc_basename () { for cc_temp in @S|@*""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` } ])# _LT_PREPARE_CC_BASENAME # _LT_CC_BASENAME(CC) # ------------------- # It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, # but that macro is also expanded into generated libtool script, which # arranges for $SED and $ECHO to be set by different means. m4_defun([_LT_CC_BASENAME], [m4_require([_LT_PREPARE_CC_BASENAME])dnl AC_REQUIRE([_LT_DECL_SED])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl func_cc_basename $1 cc_basename=$func_cc_basename_result ]) # _LT_FILEUTILS_DEFAULTS # ---------------------- # It is okay to use these file commands and assume they have been set # sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. m4_defun([_LT_FILEUTILS_DEFAULTS], [: ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} ])# _LT_FILEUTILS_DEFAULTS # _LT_SETUP # --------- m4_defun([_LT_SETUP], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl dnl _LT_DECL([], [build_alias], [0], [The build system])dnl _LT_DECL([], [build], [0])dnl _LT_DECL([], [build_os], [0])dnl dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl dnl AC_REQUIRE([AC_PROG_LN_S])dnl test -z "$LN_S" && LN_S="ln -s" _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl dnl AC_REQUIRE([LT_CMD_MAX_LEN])dnl _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl m4_require([_LT_CMD_RELOAD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_WITH_SYSROOT])dnl m4_require([_LT_CMD_TRUNCATE])dnl _LT_CONFIG_LIBTOOL_INIT([ # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi ]) if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi _LT_CHECK_OBJDIR m4_require([_LT_TAG_COMPILER])dnl case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a '.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld old_CC=$CC old_CFLAGS=$CFLAGS # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then _LT_PATH_MAGIC fi ;; esac # Use C for the default configuration in the libtool script LT_SUPPORTED_TAG([CC]) _LT_LANG_C_CONFIG _LT_LANG_DEFAULT_CONFIG _LT_CONFIG_COMMANDS ])# _LT_SETUP # _LT_PREPARE_SED_QUOTE_VARS # -------------------------- # Define a few sed substitution that help us do robust quoting. m4_defun([_LT_PREPARE_SED_QUOTE_VARS], [# Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([["`\\]]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ]) # _LT_PROG_LTMAIN # --------------- # Note that this code is called both from 'configure', and 'config.status' # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, # 'config.status' has no value for ac_aux_dir unless we are using Automake, # so we pass a copy along to make sure it has a sensible value anyway. m4_defun([_LT_PROG_LTMAIN], [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) ltmain=$ac_aux_dir/ltmain.sh ])# _LT_PROG_LTMAIN ## ------------------------------------- ## ## Accumulate code for creating libtool. ## ## ------------------------------------- ## # So that we can recreate a full libtool script including additional # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS # in macros and then make a single call at the end using the 'libtool' # label. # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) # ---------------------------------------- # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL_INIT], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_INIT], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_INIT]) # _LT_CONFIG_LIBTOOL([COMMANDS]) # ------------------------------ # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) # ----------------------------------------------------- m4_defun([_LT_CONFIG_SAVE_COMMANDS], [_LT_CONFIG_LIBTOOL([$1]) _LT_CONFIG_LIBTOOL_INIT([$2]) ]) # _LT_FORMAT_COMMENT([COMMENT]) # ----------------------------- # Add leading comment marks to the start of each line, and a trailing # full-stop to the whole comment if one is not present already. m4_define([_LT_FORMAT_COMMENT], [m4_ifval([$1], [ m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) )]) ## ------------------------ ## ## FIXME: Eliminate VARNAME ## ## ------------------------ ## # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) # ------------------------------------------------------------------- # CONFIGNAME is the name given to the value in the libtool script. # VARNAME is the (base) name used in the configure script. # VALUE may be 0, 1 or 2 for a computed quote escaped value based on # VARNAME. Any other value will be used directly. m4_define([_LT_DECL], [lt_if_append_uniq([lt_decl_varnames], [$2], [, ], [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], [m4_ifval([$1], [$1], [$2])]) lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) m4_ifval([$4], [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) lt_dict_add_subkey([lt_decl_dict], [$2], [tagged?], [m4_ifval([$5], [yes], [no])])]) ]) # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) # -------------------------------------------------------- m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_tag_varnames], [_lt_decl_filter([tagged?], [yes], $@)]) # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) # --------------------------------------------------------- m4_define([_lt_decl_filter], [m4_case([$#], [0], [m4_fatal([$0: too few arguments: $#])], [1], [m4_fatal([$0: too few arguments: $#: $1])], [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], [lt_dict_filter([lt_decl_dict], $@)])[]dnl ]) # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) # -------------------------------------------------- m4_define([lt_decl_quote_varnames], [_lt_decl_filter([value], [1], $@)]) # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_dquote_varnames], [_lt_decl_filter([value], [2], $@)]) # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_varnames_tagged], [m4_assert([$# <= 2])dnl _$0(m4_quote(m4_default([$1], [[, ]])), m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) m4_define([_lt_decl_varnames_tagged], [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) # lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_all_varnames], [_$0(m4_quote(m4_default([$1], [[, ]])), m4_if([$2], [], m4_quote(lt_decl_varnames), m4_quote(m4_shift($@))))[]dnl ]) m4_define([_lt_decl_all_varnames], [lt_join($@, lt_decl_varnames_tagged([$1], lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl ]) # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ # Quote a variable value, and forward it to 'config.status' so that its # declaration there will have the same value as in 'configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) # _LT_CONFIG_STATUS_DECLARATIONS # ------------------------------ # We delimit libtool config variables with single quotes, so when # we write them to config.status, we have to be sure to quote all # embedded single quotes properly. In configure, this macro expands # each variable declared with _LT_DECL (and _LT_TAGDECL) into: # # ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAGS # ---------------- # Output comment and list of tags supported by the script m4_defun([_LT_LIBTOOL_TAGS], [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl available_tags='_LT_TAGS'dnl ]) # _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) # ----------------------------------- # Extract the dictionary values for VARNAME (optionally with TAG) and # expand to a commented shell variable setting: # # # Some comment about what VAR is for. # visible_name=$lt_internal_name m4_define([_LT_LIBTOOL_DECLARE], [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [description])))[]dnl m4_pushdef([_libtool_name], m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), [0], [_libtool_name=[$]$1], [1], [_libtool_name=$lt_[]$1], [2], [_libtool_name=$lt_[]$1], [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl ]) # _LT_LIBTOOL_CONFIG_VARS # ----------------------- # Produce commented declarations of non-tagged libtool config variables # suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' # script. Tagged libtool config variables (even for the LIBTOOL CONFIG # section) are produced by _LT_LIBTOOL_TAG_VARS. m4_defun([_LT_LIBTOOL_CONFIG_VARS], [m4_foreach([_lt_var], m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAG_VARS(TAG) # ------------------------- m4_define([_LT_LIBTOOL_TAG_VARS], [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) # _LT_TAGVAR(VARNAME, [TAGNAME]) # ------------------------------ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) # _LT_CONFIG_COMMANDS # ------------------- # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of # variables for single and double quote escaping we saved from calls # to _LT_DECL, we can put quote escaped variables declarations # into 'config.status', and then the shell code to quote escape them in # for loops in 'config.status'. Finally, any additional code accumulated # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. m4_defun([_LT_CONFIG_COMMANDS], [AC_PROVIDE_IFELSE([LT_OUTPUT], dnl If the libtool generation code has been placed in $CONFIG_LT, dnl instead of duplicating it all over again into config.status, dnl then we will have config.status run $CONFIG_LT later, so it dnl needs to know what name is stored there: [AC_CONFIG_COMMANDS([libtool], [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], dnl If the libtool generation code is destined for config.status, dnl expand the accumulated commands and init code now: [AC_CONFIG_COMMANDS([libtool], [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) ])#_LT_CONFIG_COMMANDS # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], [ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' _LT_CONFIG_STATUS_DECLARATIONS LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$[]1 _LTECHO_EOF' } # Quote evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_quote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_dquote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done _LT_OUTPUT_LIBTOOL_INIT ]) # _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) # ------------------------------------ # Generate a child script FILE with all initialization necessary to # reuse the environment learned by the parent script, and make the # file executable. If COMMENT is supplied, it is inserted after the # '#!' sequence but before initialization text begins. After this # macro, additional text can be appended to FILE to form the body of # the child script. The macro ends with non-zero status if the # file could not be fully written (such as if the disk is full). m4_ifdef([AS_INIT_GENERATED], [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], [m4_defun([_LT_GENERATED_FILE_INIT], [m4_require([AS_PREPARE])]dnl [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl [lt_write_fail=0 cat >$1 <<_ASEOF || lt_write_fail=1 #! $SHELL # Generated by $as_me. $2 SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$1 <<\_ASEOF || lt_write_fail=1 AS_SHELL_SANITIZE _AS_PREPARE exec AS_MESSAGE_FD>&1 _ASEOF test 0 = "$lt_write_fail" && chmod +x $1[]dnl m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT # LT_OUTPUT # --------- # This macro allows early generation of the libtool script (before # AC_OUTPUT is called), incase it is used in configure for compilation # tests. AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} AC_MSG_NOTICE([creating $CONFIG_LT]) _LT_GENERATED_FILE_INIT(["$CONFIG_LT"], [# Run this file to recreate a libtool stub with the current configuration.]) cat >>"$CONFIG_LT" <<\_LTEOF lt_cl_silent=false exec AS_MESSAGE_LOG_FD>>config.log { echo AS_BOX([Running $as_me.]) } >&AS_MESSAGE_LOG_FD lt_cl_help="\ '$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. Usage: $[0] [[OPTIONS]] -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files Report bugs to ." lt_cl_version="\ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. Copyright (C) 2011 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." while test 0 != $[#] do case $[1] in --version | --v* | -V ) echo "$lt_cl_version"; exit 0 ;; --help | --h* | -h ) echo "$lt_cl_help"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --quiet | --q* | --silent | --s* | -q ) lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] Try '$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] Try '$[0] --help' for more information.]) ;; esac shift done if $lt_cl_silent; then exec AS_MESSAGE_FD>/dev/null fi _LTEOF cat >>"$CONFIG_LT" <<_LTEOF _LT_OUTPUT_LIBTOOL_COMMANDS_INIT _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AC_MSG_NOTICE([creating $ofile]) _LT_OUTPUT_LIBTOOL_COMMANDS AS_EXIT(0) _LTEOF chmod +x "$CONFIG_LT" # configure is writing to config.log, but config.lt does its own redirection, # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. lt_cl_success=: test yes = "$silent" && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec AS_MESSAGE_LOG_FD>>config.log $lt_cl_success || AS_EXIT(1) ])# LT_OUTPUT # _LT_CONFIG(TAG) # --------------- # If TAG is the built-in tag, create an initial libtool script with a # default configuration from the untagged config vars. Otherwise add code # to config.status for appending the configuration named by TAG from the # matching tagged config vars. m4_defun([_LT_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_CONFIG_SAVE_COMMANDS([ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl m4_if(_LT_TAG, [C], [ # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi cfgfile=${ofile}T trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. # Written by Gordon Matzigkeit, 1996 _LT_COPYING _LT_LIBTOOL_TAGS # Configured defaults for sys_lib_dlsearch_path munging. : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS # ### END LIBTOOL CONFIG _LT_EOF cat <<'_LT_EOF' >> "$cfgfile" # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE _LT_PREPARE_MUNGE_PATH_LIST _LT_PREPARE_CC_BASENAME # ### END FUNCTIONS SHARED WITH CONFIGURE _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac _LT_PROG_LTMAIN # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ], [cat <<_LT_EOF >> "$ofile" dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded dnl in a comment (ie after a #). # ### BEGIN LIBTOOL TAG CONFIG: $1 _LT_LIBTOOL_TAG_VARS(_LT_TAG) # ### END LIBTOOL TAG CONFIG: $1 _LT_EOF ])dnl /m4_if ], [m4_if([$1], [], [ PACKAGE='$PACKAGE' VERSION='$VERSION' RM='$RM' ofile='$ofile'], []) ])dnl /_LT_CONFIG_SAVE_COMMANDS ])# _LT_CONFIG # LT_SUPPORTED_TAG(TAG) # --------------------- # Trace this macro to discover what tags are supported by the libtool # --tag option, using: # autoconf --trace 'LT_SUPPORTED_TAG:$1' AC_DEFUN([LT_SUPPORTED_TAG], []) # C support is built-in for now m4_define([_LT_LANG_C_enabled], []) m4_define([_LT_TAGS], []) # LT_LANG(LANG) # ------------- # Enable libtool support for the given language if not already enabled. AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], [Go], [_LT_LANG(GO)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], [Windows Resource], [_LT_LANG(RC)], [m4_ifdef([_LT_LANG_]$1[_CONFIG], [_LT_LANG($1)], [m4_fatal([$0: unsupported language: "$1"])])])dnl ])# LT_LANG # _LT_LANG(LANGNAME) # ------------------ m4_defun([_LT_LANG], [m4_ifdef([_LT_LANG_]$1[_enabled], [], [LT_SUPPORTED_TAG([$1])dnl m4_append([_LT_TAGS], [$1 ])dnl m4_define([_LT_LANG_]$1[_enabled], [])dnl _LT_LANG_$1_CONFIG($1)])dnl ])# _LT_LANG m4_ifndef([AC_PROG_GO], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_GO. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_GO], [AC_LANG_PUSH(Go)dnl AC_ARG_VAR([GOC], [Go compiler command])dnl AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl _AC_ARG_VAR_LDFLAGS()dnl AC_CHECK_TOOL(GOC, gccgo) if test -z "$GOC"; then if test -n "$ac_tool_prefix"; then AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) fi fi if test -z "$GOC"; then AC_CHECK_PROG(GOC, gccgo, gccgo, false) fi ])#m4_defun ])#m4_ifndef # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], [AC_PROVIDE_IFELSE([AC_PROG_CXX], [LT_LANG(CXX)], [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) AC_PROVIDE_IFELSE([AC_PROG_F77], [LT_LANG(F77)], [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) AC_PROVIDE_IFELSE([AC_PROG_FC], [LT_LANG(FC)], [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal dnl pulling things in needlessly. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([LT_PROG_GCJ], [LT_LANG(GCJ)], [m4_ifdef([AC_PROG_GCJ], [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([A][M_PROG_GCJ], [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) AC_PROVIDE_IFELSE([AC_PROG_GO], [LT_LANG(GO)], [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) ])# _LT_LANG_DEFAULT_CONFIG # Obsolete macros: AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_CXX], []) dnl AC_DEFUN([AC_LIBTOOL_F77], []) dnl AC_DEFUN([AC_LIBTOOL_FC], []) dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) dnl AC_DEFUN([AC_LIBTOOL_RC], []) # _LT_TAG_COMPILER # ---------------- m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_TAG_COMPILER # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. m4_defun([_LT_COMPILER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. m4_defun([_LT_LINKER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ])# _LT_LINKER_BOILERPLATE # _LT_REQUIRED_DARWIN_CHECKS # ------------------------- m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ case $host_os in rhapsody* | darwin*) AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) AC_CHECK_TOOL([LIPO], [lipo], [:]) AC_CHECK_TOOL([OTOOL], [otool], [:]) AC_CHECK_TOOL([OTOOL64], [otool64], [:]) _LT_DECL([], [DSYMUTIL], [1], [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) _LT_DECL([], [NMEDIT], [1], [Tool to change global to local symbols on Mac OS X]) _LT_DECL([], [LIPO], [1], [Tool to manipulate fat objects and archives on Mac OS X]) _LT_DECL([], [OTOOL], [1], [ldd/readelf like tool for Mach-O binaries on Mac OS X]) _LT_DECL([], [OTOOL64], [1], [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no if test -z "$LT_MULTI_MODULE"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test 0 = "$_lt_result"; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -rf libconftest.dylib* rm -f conftest.* fi]) AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) LDFLAGS=$save_LDFLAGS ]) AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], [lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then lt_cv_ld_force_load=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM ]) case $host_os in rhapsody* | darwin1.[[012]]) _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 10.[[012]][[,.]]*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test yes = "$lt_cv_apple_cc_single_mod"; then _lt_dar_single_mod='$single_module' fi if test yes = "$lt_cv_ld_exported_symbols_list"; then _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' fi if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ]) # _LT_DARWIN_LINKER_FEATURES([TAG]) # --------------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ m4_require([_LT_REQUIRED_DARWIN_CHECKS]) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported if test yes = "$lt_cv_ld_force_load"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) else _LT_TAGVAR(whole_archive_flag_spec, $1)='' fi _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined case $cc_basename in ifort*|nagfor*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test yes = "$_lt_dar_can_shared"; then output_verbose_link_cmd=func_echo_all _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" m4_if([$1], [CXX], [ if test yes != "$lt_cv_apple_cc_single_mod"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" fi ],[]) else _LT_TAGVAR(ld_shlibs, $1)=no fi ]) # _LT_SYS_MODULE_PATH_AIX([TAGNAME]) # ---------------------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. # Store the results from the different compilers for each TAGNAME. # Allow to override them for all tags through lt_cv_aix_libpath. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ lt_aix_libpath_sed='[ /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }]' _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi],[]) if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib fi ]) aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) fi ])# _LT_SYS_MODULE_PATH_AIX # _LT_SHELL_INIT(ARG) # ------------------- m4_define([_LT_SHELL_INIT], [m4_divert_text([M4SH-INIT], [$1 ])])# _LT_SHELL_INIT # _LT_PROG_ECHO_BACKSLASH # ----------------------- # Find how we can fake an echo command that does not interpret backslash. # In particular, with Autoconf 2.60 or later we add some code to the start # of the generated configure script that will find a shell with a builtin # printf (that we can use as an echo command). m4_defun([_LT_PROG_ECHO_BACKSLASH], [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO AC_MSG_CHECKING([how to print strings]) # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $[]1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } case $ECHO in printf*) AC_MSG_RESULT([printf]) ;; print*) AC_MSG_RESULT([print -r]) ;; *) AC_MSG_RESULT([cat]) ;; esac m4_ifdef([_AS_DETECT_SUGGESTED], [_AS_DETECT_SUGGESTED([ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test "X`printf %s $ECHO`" = "X$ECHO" \ || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) ])# _LT_PROG_ECHO_BACKSLASH # _LT_WITH_SYSROOT # ---------------- AC_DEFUN([_LT_WITH_SYSROOT], [AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], [Search for dependent libraries within DIR (or the compiler's sysroot if not specified).])], [], [with_sysroot=no]) dnl lt_sysroot will always be passed unquoted. We quote it here dnl in case the user passed a directory name. lt_sysroot= case $with_sysroot in #( yes) if test yes = "$GCC"; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) AC_MSG_RESULT([$with_sysroot]) AC_MSG_ERROR([The sysroot must be an absolute path.]) ;; esac AC_MSG_RESULT([${lt_sysroot:-no}]) _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl [dependent libraries, and where our libraries should be installed.])]) # _LT_ENABLE_LOCK # --------------- m4_defun([_LT_ENABLE_LOCK], [AC_ARG_ENABLE([libtool-lock], [AS_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test no = "$enable_libtool_lock" || enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out what ABI is being produced by ac_compile, and set mode # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; *ELF-64*) HPUX_IA64_MODE=64 ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test yes = "$lt_cv_prog_gnu_ld"; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; mips64*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then emul=elf case `/usr/bin/file conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; *64-bit*) emul="${emul}64" ;; esac case `/usr/bin/file conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; *LSB*) emul="${emul}ltsmip" ;; esac case `/usr/bin/file conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; esac LD="${LD-ld} -m $emul" fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. Note that the listed cases only cover the # situations where additional linker options are needed (such as when # doing 32-bit compilation for a host where ld defaults to 64-bit, or # vice versa); the common cases where no linker options are needed do # not appear in the list. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) case `/usr/bin/file conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; *) LD="${LD-ld} -m elf_i386" ;; esac ;; powerpc64le-*linux*) LD="${LD-ld} -m elf32lppclinux" ;; powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; powerpcle-*linux*) LD="${LD-ld} -m elf64lppc" ;; powerpc-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test yes != "$lt_cv_cc_needs_belf"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS=$SAVE_CFLAGS fi ;; *-*solaris*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*|x86_64-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD=${LD-ld}_sol2 fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks=$enable_libtool_lock ])# _LT_ENABLE_LOCK # _LT_PROG_AR # ----------- m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} : ${AR_FLAGS=cru} _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], [lt_cv_ar_at_file=no AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([lt_ar_try]) if test 0 -eq "$ac_status"; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a AC_TRY_EVAL([lt_ar_try]) if test 0 -ne "$ac_status"; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a ]) ]) if test no = "$lt_cv_ar_at_file"; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi _LT_DECL([], [archiver_list_spec], [1], [How to feed a file listing to the archiver]) ])# _LT_PROG_AR # _LT_CMD_OLD_ARCHIVE # ------------------- m4_defun([_LT_CMD_OLD_ARCHIVE], [_LT_PROG_AR AC_CHECK_TOOL(STRIP, strip, :) test -z "$STRIP" && STRIP=: _LT_DECL([], [STRIP], [1], [A symbol stripping program]) AC_CHECK_TOOL(RANLIB, ranlib, :) test -z "$RANLIB" && RANLIB=: _LT_DECL([], [RANLIB], [1], [Commands used to install an old-style archive]) # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in bitrig* | openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac _LT_DECL([], [old_postinstall_cmds], [2]) _LT_DECL([], [old_postuninstall_cmds], [2]) _LT_TAGDECL([], [old_archive_cmds], [2], [Commands used to build an old-style archive]) _LT_DECL([], [lock_old_archive_extraction], [0], [Whether to use a lock for old archive extraction]) ])# _LT_CMD_OLD_ARCHIVE # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi $RM conftest* ]) if test yes = "[$]$2"; then m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) fi ])# _LT_COMPILER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------- # Check whether the given linker option works AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi else $2=yes fi fi $RM -r conftest* LDFLAGS=$save_LDFLAGS ]) if test yes = "[$]$2"; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) fi ])# _LT_LINKER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) # LT_CMD_MAX_LEN #--------------- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl # find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring=ABCD case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len" && \ test undefined != "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test X`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test 17 != "$i" # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ]) if test -n "$lt_cv_sys_max_cmd_len"; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi max_cmd_len=$lt_cv_sys_max_cmd_len _LT_DECL([], [max_cmd_len], [0], [What is the maximum length of a command?]) ])# LT_CMD_MAX_LEN # Old name: AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) # _LT_HEADER_DLFCN # ---------------- m4_defun([_LT_HEADER_DLFCN], [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl ])# _LT_HEADER_DLFCN # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ---------------------------------------------------------------- m4_defun([_LT_TRY_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test yes = "$cross_compiling"; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF [#line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; }] _LT_EOF if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_TRY_DLOPEN_SELF # LT_SYS_DLOPEN_SELF # ------------------ AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test yes != "$enable_dlopen"; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen=load_add_on lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen=LoadLibrary lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen=dlopen lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ lt_cv_dlopen=dyld lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; tpf*) # Don't try to run any link tests for TPF. We know it's impossible # because TPF is a cross-compiler, and we know how we open DSOs. lt_cv_dlopen=dlopen lt_cv_dlopen_libs= lt_cv_dlopen_self=no ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen=shl_load], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen=dlopen], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) ]) ]) ]) ]) ]) ;; esac if test no = "$lt_cv_dlopen"; then enable_dlopen=no else enable_dlopen=yes fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS=$CPPFLAGS test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS=$LDFLAGS wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS=$LIBS LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test yes = "$lt_cv_dlopen_self"; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS=$save_CPPFLAGS LDFLAGS=$save_LDFLAGS LIBS=$save_LIBS ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi _LT_DECL([dlopen_support], [enable_dlopen], [0], [Whether dlopen is supported]) _LT_DECL([dlopen_self], [enable_dlopen_self], [0], [Whether dlopen of programs is supported]) _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], [Whether dlopen of statically linked programs is supported]) ])# LT_SYS_DLOPEN_SELF # Old name: AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) # _LT_COMPILER_C_O([TAGNAME]) # --------------------------- # Check to see if options -c and -o are simultaneously supported by compiler. # This macro does not hard code the compiler like AC_PROG_CC_C_O. m4_defun([_LT_COMPILER_C_O], [m4_require([_LT_DECL_SED])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ]) _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], [Does compiler simultaneously support -c and -o options?]) ])# _LT_COMPILER_C_O # _LT_COMPILER_FILE_LOCKS([TAGNAME]) # ---------------------------------- # Check to see if we can do hard links to lock some files if needed m4_defun([_LT_COMPILER_FILE_LOCKS], [m4_require([_LT_ENABLE_LOCK])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_COMPILER_C_O([$1]) hard_links=nottested if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test no = "$hard_links"; then AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) ])# _LT_COMPILER_FILE_LOCKS # _LT_CHECK_OBJDIR # ---------------- m4_defun([_LT_CHECK_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir _LT_DECL([], [objdir], [0], [The name of the directory that contains temporary libtool files])dnl m4_pattern_allow([LT_OBJDIR])dnl AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", [Define to the sub-directory where libtool stores uninstalled libraries.]) ])# _LT_CHECK_OBJDIR # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) # -------------------------------------- # Check hardcoding attributes. m4_defun([_LT_LINKER_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_TAGVAR(hardcode_action, $1)= if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || test -n "$_LT_TAGVAR(runpath_var, $1)" || test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then # We can hardcode non-existent directories. if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then # Linking always hardcodes the temporary library directory. _LT_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) if test relink = "$_LT_TAGVAR(hardcode_action, $1)" || test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then # Fast installation is not supported enable_fast_install=no elif test yes = "$shlibpath_overrides_runpath" || test no = "$enable_shared"; then # Fast installation is not necessary enable_fast_install=needless fi _LT_TAGDECL([], [hardcode_action], [0], [How to hardcode a shared library path into an executable]) ])# _LT_LINKER_HARDCODE_LIBPATH # _LT_CMD_STRIPLIB # ---------------- m4_defun([_LT_CMD_STRIPLIB], [m4_require([_LT_DECL_EGREP]) striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP"; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) ])# _LT_CMD_STRIPLIB # _LT_PREPARE_MUNGE_PATH_LIST # --------------------------- # Make sure func_munge_path_list() is defined correctly. m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], [[# func_munge_path_list VARIABLE PATH # ----------------------------------- # VARIABLE is name of variable containing _space_ separated list of # directories to be munged by the contents of PATH, which is string # having a format: # "DIR[:DIR]:" # string "DIR[ DIR]" will be prepended to VARIABLE # ":DIR[:DIR]" # string "DIR[ DIR]" will be appended to VARIABLE # "DIRP[:DIRP]::[DIRA:]DIRA" # string "DIRP[ DIRP]" will be prepended to VARIABLE and string # "DIRA[ DIRA]" will be appended to VARIABLE # "DIR[:DIR]" # VARIABLE will be replaced by "DIR[ DIR]" func_munge_path_list () { case x@S|@2 in x) ;; *:) eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" ;; x:*) eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" ;; *::*) eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" ;; *) eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" ;; esac } ]])# _LT_PREPARE_PATH_LIST # _LT_SYS_DYNAMIC_LINKER([TAG]) # ----------------------------- # PORTME Fill in your ld.so characteristics m4_defun([_LT_SYS_DYNAMIC_LINKER], [AC_REQUIRE([AC_CANONICAL_HOST])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ if test yes = "$GCC"; then case $host_os in darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; *) lt_awk_arg='/^libraries:/' ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; *) lt_sed_strip_eq='s|=/|/|g' ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary... lt_tmp_lt_search_path_spec= lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` # ...but if some path component already ends with the multilib dir we assume # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). case "$lt_multi_os_dir; $lt_search_path_spec " in "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) lt_multi_os_dir= ;; esac for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" elif test -n "$lt_multi_os_dir"; then test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS = " "; FS = "/|\n";} { lt_foo = ""; lt_count = 0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo = "/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=.so postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown AC_ARG_VAR([LT_SYS_LIBRARY_PATH], [User-defined run-time library search path.]) case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='$libname$release$shared_ext$major' ;; aix[[4-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test ia64 = "$host_cpu"; then # AIX 5 supports IA64 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line '#! .'. This would cause the generated library to # depend on '.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # Using Import Files as archive members, it is possible to support # filename-based versioning of shared library archives on AIX. While # this would work for both with and without runtime linking, it will # prevent static linking of such archives. So we do filename-based # shared library versioning with .so extension only, which is used # when both runtime linking and shared linking is enabled. # Unfortunately, runtime linking may impact performance, so we do # not want this to be the default eventually. Also, we use the # versioned .so libs for executables only if there is the -brtl # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. # To allow for filename-based versioning support, we need to create # libNAME.so.V as an archive file, containing: # *) an Import File, referring to the versioned filename of the # archive as well as the shared archive member, telling the # bitwidth (32 or 64) of that shared object, and providing the # list of exported symbols of that shared object, eventually # decorated with the 'weak' keyword # *) the shared object with the F_LOADONLY flag set, to really avoid # it being seen by the linker. # At run time we better use the real file rather than another symlink, # but for link time we create the symlink libNAME.so -> libNAME.so.V case $with_aix_soname,$aix_use_runtimelinking in # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. aix,yes) # traditional libtool dynamic_linker='AIX unversionable lib.so' # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; aix,no) # traditional AIX only dynamic_linker='AIX lib.a[(]lib.so.V[)]' # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' ;; svr4,*) # full svr4 only dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,yes) # both, prefer svr4 dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # unpreferred sharedlib libNAME.a needs extra handling postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,no) # both, prefer aix dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' ;; esac shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[[45]]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec=$LIB if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[23]].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=no sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' if test 32 = "$HPUX_IA64_MODE"; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" sys_lib_dlsearch_path_spec=/usr/lib/hpux32 else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" sys_lib_dlsearch_path_spec=/usr/lib/hpux64 fi ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[[3-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test yes = "$lt_cv_prog_gnu_ld"; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; linux*android*) version_type=none # Android doesn't support versioned libraries. need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext' soname_spec='$libname$release$shared_ext' finish_cmds= shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes dynamic_linker='Android linker' # Don't embed -rpath directories since the linker doesn't support them. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], [lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], [lt_cv_shlibpath_overrides_runpath=yes])]) LDFLAGS=$save_LDFLAGS libdir=$save_libdir ]) shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Ideally, we could use ldconfig to report *all* directores which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, # even though it is searched at run-time. Try to do the best guess by # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd* | bitrig*) version_type=sunos sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then need_version=no else need_version=yes fi library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; os2*) libname_spec='$name' version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no # OS/2 can only load a DLL with a base name of 8 characters or less. soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; v=$($ECHO $release$versuffix | tr -d .-); n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); $ECHO $n$v`$shared_ext' library_names_spec='${libname}_dll.$libext' dynamic_linker='OS/2 ld.exe' shlibpath_var=BEGINLIBPATH sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test yes = "$with_gnu_ld"; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec; then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' soname_spec='$libname$shared_ext.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=sco need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test yes = "$with_gnu_ld"; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test yes = "$GCC"; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec fi if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec fi # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and restored at link time]) _LT_DECL([], [need_lib_prefix], [0], [Do we need the "lib" prefix for modules?]) _LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) _LT_DECL([], [version_type], [0], [Library versioning type]) _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) _LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) _LT_DECL([], [shlibpath_overrides_runpath], [0], [Is shlibpath searched before the hard-coded library search path?]) _LT_DECL([], [libname_spec], [1], [Format of library name prefix]) _LT_DECL([], [library_names_spec], [1], [[List of archive names. First name is the real one, the rest are links. The last name is the one that the linker finds with -lNAME]]) _LT_DECL([], [soname_spec], [1], [[The coded name of the library, if different from the real name]]) _LT_DECL([], [install_override_mode], [1], [Permission mode override for installation of shared libraries]) _LT_DECL([], [postinstall_cmds], [2], [Command to use after installation of a shared archive]) _LT_DECL([], [postuninstall_cmds], [2], [Command to use after uninstallation of a shared archive]) _LT_DECL([], [finish_cmds], [2], [Commands used to finish a libtool library installation in a directory]) _LT_DECL([], [finish_eval], [1], [[As "finish_cmds", except a single script fragment to be evaled but not shown]]) _LT_DECL([], [hardcode_into_libs], [0], [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) _LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], [Detected run-time system search path for libraries]) _LT_DECL([], [configure_time_lt_sys_library_path], [2], [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) ])# _LT_SYS_DYNAMIC_LINKER # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- # find a file program that can recognize shared library AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD=$MAGIC_CMD lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$1"; then lt_cv_path_MAGIC_CMD=$ac_dir/"$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS=$lt_save_ifs MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac]) MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi _LT_DECL([], [MAGIC_CMD], [0], [Used to examine libraries when file_magic_cmd begins with "file"])dnl ])# _LT_PATH_TOOL_PREFIX # Old name: AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) # _LT_PATH_MAGIC # -------------- # find a file program that can recognize a shared library m4_defun([_LT_PATH_MAGIC], [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# _LT_PATH_MAGIC # LT_PATH_LD # ---------- # find the pathname to the GNU or non-GNU linker AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PROG_ECHO_BACKSLASH])dnl AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test no = "$withval" || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD=$ac_prog ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test yes = "$with_gnu_ld"; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD=$ac_dir/$ac_prog # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 conftest.i cat conftest.i conftest.i >conftest2.i : ${lt_DD:=$DD} AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], [if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: fi]) rm -f conftest.i conftest2.i conftest.out]) ])# _LT_PATH_DD # _LT_CMD_TRUNCATE # ---------------- # find command to truncate a binary pipe m4_defun([_LT_CMD_TRUNCATE], [m4_require([_LT_PATH_DD]) AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], [printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i lt_cv_truncate_bin= if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" fi rm -f conftest.i conftest2.i conftest.out test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) _LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], [Command to truncate a binary pipe]) ])# _LT_CMD_TRUNCATE # _LT_CHECK_MAGIC_METHOD # ---------------------- # how to check for library dependencies # -- PORTME fill in with the dynamic library characteristics m4_defun([_LT_CHECK_MAGIC_METHOD], [m4_require([_LT_DECL_EGREP]) m4_require([_LT_DECL_OBJDUMP]) AC_CACHE_CHECK([how to recognize dependent libraries], lt_cv_deplibs_check_method, [lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # 'unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # that responds to the $file_magic_cmd with a given extended regex. # If you have 'file' or equivalent on your system and you're not sure # whether 'pass_all' will *always* work, you probably want this one. case $host_os in aix[[4-9]]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[[45]]*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd* | bitrig*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; os2*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown _LT_DECL([], [deplibs_check_method], [1], [Method to check whether dependent libraries are shared objects]) _LT_DECL([], [file_magic_cmd], [1], [Command to use when deplibs_check_method = "file_magic"]) _LT_DECL([], [file_magic_glob], [1], [How to find potential files when deplibs_check_method = "file_magic"]) _LT_DECL([], [want_nocaseglob], [1], [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) ])# _LT_CHECK_MAGIC_METHOD # LT_PATH_NM # ---------- # find the pathname to a BSD- or MS-compatible name lister AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM=$NM else lt_nm_to_check=${ac_tool_prefix}nm if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. tmp_nm=$ac_dir/$lt_tmp_nm if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then # Check to see if the nm accepts a BSD-compat flag. # Adding the 'sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty case $build_os in mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS=$lt_save_ifs done : ${lt_cv_path_NM=no} fi]) if test no != "$lt_cv_path_NM"; then NM=$lt_cv_path_NM else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; *) DUMPBIN=: ;; esac fi AC_SUBST([DUMPBIN]) if test : != "$DUMPBIN"; then NM=$DUMPBIN fi fi test -z "$NM" && NM=nm AC_SUBST([NM]) _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], [lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) cat conftest.out >&AS_MESSAGE_LOG_FD if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest*]) ])# LT_PATH_NM # Old names: AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_PROG_NM], []) dnl AC_DEFUN([AC_PROG_NM], []) # _LT_CHECK_SHAREDLIB_FROM_LINKLIB # -------------------------------- # how to determine the name of the shared library # associated with a specific link library. # -- PORTME fill in with the dynamic library characteristics m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], [m4_require([_LT_DECL_EGREP]) m4_require([_LT_DECL_OBJDUMP]) m4_require([_LT_DECL_DLLTOOL]) AC_CACHE_CHECK([how to associate runtime and link libraries], lt_cv_sharedlib_from_linklib_cmd, [lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh; # decide which one to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd=$ECHO ;; esac ]) sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO _LT_DECL([], [sharedlib_from_linklib_cmd], [1], [Command to associate shared and link libraries]) ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB # _LT_PATH_MANIFEST_TOOL # ---------------------- # locate the manifest tool m4_defun([_LT_PATH_MANIFEST_TOOL], [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], [lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&AS_MESSAGE_LOG_FD if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest*]) if test yes != "$lt_cv_path_mainfest_tool"; then MANIFEST_TOOL=: fi _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl ])# _LT_PATH_MANIFEST_TOOL # _LT_DLL_DEF_P([FILE]) # --------------------- # True iff FILE is a Windows DLL '.def' file. # Keep in sync with func_dll_def_p in the libtool script AC_DEFUN([_LT_DLL_DEF_P], [dnl test DEF = "`$SED -n dnl -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl -e q dnl Only consider the first "real" line $1`" dnl ])# _LT_DLL_DEF_P # LT_LIB_M # -------- # check for math library AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM=-lm) ;; esac AC_SUBST([LIBM]) ])# LT_LIB_M # Old name: AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_CHECK_LIBM], []) # _LT_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------- m4_defun([_LT_COMPILER_NO_RTTI], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test yes = "$GCC"; then case $cc_basename in nvcc*) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; *) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; esac _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], [Compiler flag to turn off builtin functions]) ])# _LT_COMPILER_NO_RTTI # _LT_CMD_GLOBAL_SYMBOLS # ---------------------- m4_defun([_LT_CMD_GLOBAL_SYMBOLS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([LT_PATH_NM])dnl AC_REQUIRE([LT_PATH_LD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_TAG_COMPILER])dnl # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[[ABCDGISTW]]' ;; hpux*) if test ia64 = "$host_cpu"; then symcode='[[ABCDEGRST]]' fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGIRSTW]]' ;; esac if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" lt_c_name_lib_hook="\ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" else # Disable hooks by default. lt_cv_sys_global_symbol_to_import= lt_cdecl_hook= lt_c_name_hook= lt_c_name_lib_hook= fi # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT@&t@_DLSYM_CONST #elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT@&t@_DLSYM_CONST #else # define LT@&t@_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT@&t@_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[[]] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS=conftstm.$ac_objext CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test yes = "$pipe_works"; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then nm_file_list_spec='@' fi _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], [Transform the output of nm in a proper C declaration]) _LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], [Transform the output of nm into a list of symbols to manually relocate]) _LT_DECL([global_symbol_to_c_name_address], [lt_cv_sys_global_symbol_to_c_name_address], [1], [Transform the output of nm in a C name address pair]) _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) _LT_DECL([nm_interface], [lt_cv_nm_interface], [1], [The name lister interface]) _LT_DECL([], [nm_file_list_spec], [1], [Specify filename containing input files for $NM]) ]) # _LT_CMD_GLOBAL_SYMBOLS # _LT_COMPILER_PIC([TAGNAME]) # --------------------------- m4_defun([_LT_COMPILER_PIC], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_wl, $1)= _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)= m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. if test yes = "$GXX"; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the '-m68020' flag to GCC prevents building anything better, # like '-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) case $host_os in os2*) _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' ;; esac ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix[[4-9]]*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; dgux*) case $cc_basename in ec++*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' if test ia64 != "$host_cpu"; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # KAI C++ Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64, which still supported -KPIC. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL 8.0, 9.0 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx*) # Digital/Compaq C++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc*) # Lucid _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test yes = "$GCC"; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the '-m68020' flag to GCC prevents building anything better, # like '-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) case $host_os in os2*) _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' ;; esac ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' case $cc_basename in nagfor*) # NAG Fortran compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) case $host_os in os2*) _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' ;; esac ;; hpux9* | hpux10* | hpux11*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64, which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # Lahey Fortran 8.1. lf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' ;; nagfor*) # NAG Fortran compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; tcc*) # Fabrice Bellard et al's Tiny C Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; *Sun\ F* | *Sun*Fortran*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; *Intel*\ [[CF]]*Compiler*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; *Portland\ Group*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; esac ;; newsos6) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; rdos*) _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; sunos4*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; unicos*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; uts4*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) case $host_os in # For platforms that do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" ;; esac AC_CACHE_CHECK([for $compiler option to produce PIC], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], [Additional compiler flags for building library objects]) _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], [How to pass a linker flag through the compiler]) # # Check to make sure the static flag actually works. # wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], [Compiler flag to prevent dynamic linking]) ])# _LT_COMPILER_PIC # _LT_LINKER_SHLIBS([TAGNAME]) # ---------------------------- # See if the linker supports building shared libraries. m4_defun([_LT_LINKER_SHLIBS], [AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) m4_if([$1], [CXX], [ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to GNU nm, but means don't demangle to AIX nm. # Without the "-l" option, or with the "-B" option, AIX nm treats # weak defined symbols like other global defined symbols, whereas # GNU nm marks them as "W". # While the 'weak' keyword is ignored in the Export File, we need # it in the Import File for the 'aix-soname' feature, so we have # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds ;; cygwin* | mingw* | cegcc*) case $cc_basename in cl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] ;; esac ;; linux* | k*bsd*-gnu | gnu*) _LT_TAGVAR(link_all_deplibs, $1)=no ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac ], [ runpath_var= _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_cmds, $1)= _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(old_archive_from_new_cmds, $1)= _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_TAGVAR(thread_safe_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ' (' and ')$', so one must not match beginning or # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', # as well as any symbol that contains 'd'. _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd* | bitrig*) with_gnu_ld=no ;; linux* | k*bsd*-gnu | gnu*) _LT_TAGVAR(link_all_deplibs, $1)=no ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test yes = "$with_gnu_ld"; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test yes = "$lt_use_gnu_ld_interface"; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='$wl' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken if test ia64 != "$host_cpu"; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file, use it as # is; otherwise, prepend EXPORTS... _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported shrext_cmds=.dll _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test linux-dietlibc = "$host_os"; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test no = "$tmp_diet" then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; nagfor*) # NAGFOR 5.3 tmp_sharedflag='-Wl,-shared' ;; xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in tcc*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; sunos4*) _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then runpath_var= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_TAGVAR(hardcode_minus_L, $1)=yes if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix[[4-9]]*) if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag= else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to GNU nm, but means don't demangle to AIX nm. # Without the "-l" option, or with the "-B" option, AIX nm treats # weak defined symbols like other global defined symbols, whereas # GNU nm marks them as "W". # While the 'weak' keyword is ignored in the Export File, we need # it in the Import File for the 'aix-soname' feature, so we have # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # have runtime linking enabled, and use it for executables. # For shared libraries, we enable/disable runtime linking # depending on the kind of the shared library created - # when "with_aix_soname,aix_use_runtimelinking" is: # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables # "aix,yes" lib.so shared, rtl:yes, for executables # lib.a static archive # "both,no" lib.so.V(shr.o) shared, rtl:yes # lib.a(lib.so.V) shared, rtl:no, for executables # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a(lib.so.V) shared, rtl:no # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a static archive case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then aix_use_runtimelinking=yes break fi done if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then # With aix-soname=svr4, we create the lib.so.V shared archives only, # so we don't have lib.a shared libs to link our executables. # We have to force runtime linking in this case. aix_use_runtimelinking=yes LDFLAGS="$LDFLAGS -Wl,-brtl" fi ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='$wl-f,' case $with_aix_soname,$aix_use_runtimelinking in aix,*) ;; # traditional, no import file svr4,* | *,yes) # use import file # The Import File defines what to hardcode. _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no ;; esac if test yes = "$GCC"; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test yes = "$aix_use_runtimelinking"; then shared_flag="$shared_flag "'$wl-G' fi # Need to ensure runtime linking is disabled for the traditional # shared library, or the linker may eventually find shared libraries # /with/ Import File - we do not want to mix them. shared_flag_aix='-shared' shared_flag_svr4='-shared $wl-G' else # not using gcc if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test yes = "$aix_use_runtimelinking"; then shared_flag='$wl-G' else shared_flag='$wl-bM:SRE' fi shared_flag_aix='$wl-bM:SRE' shared_flag_svr4='$wl-G' fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_TAGVAR(always_export_symbols, $1)=yes if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else if test ia64 = "$host_cpu"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' # -brtl affects multiple linker settings, -berok does not and is overridden later compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' if test svr4 != "$with_aix_soname"; then # This is similar to how AIX traditionally builds its shared libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' fi if test aix != "$with_aix_soname"; then _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' else # used by -dlpreopen to get the symbols _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' fi _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; bsdi[[45]]*) _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile=$lt_outputfile.exe lt_tool_outputfile=$lt_tool_outputfile.exe ;; esac~ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' ;; hpux10*) if test yes,no = "$GCC,$with_gnu_ld"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test no = "$with_gnu_ld"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes fi ;; hpux11*) if test yes,no = "$GCC,$with_gnu_ld"; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) m4_if($1, [], [ # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) _LT_LINKER_OPTION([if $CC understands -b], _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) ;; esac fi if test no = "$with_gnu_ld"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], [lt_cv_irix_exported_symbol], [save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" AC_LINK_IFELSE( [AC_LANG_SOURCE( [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], [C++], [[int foo (void) { return 0; }]], [Fortran 77], [[ subroutine foo end]], [Fortran], [[ subroutine foo end]])])], [lt_cv_irix_exported_symbol=yes], [lt_cv_irix_exported_symbol=no]) LDFLAGS=$save_LDFLAGS]) if test yes = "$lt_cv_irix_exported_symbol"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi _LT_TAGVAR(link_all_deplibs, $1)=no else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes _LT_TAGVAR(link_all_deplibs, $1)=yes ;; linux*) case $cc_basename in tcc*) # Fabrice Bellard et al's Tiny C Compiler _LT_TAGVAR(ld_shlibs, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *nto* | *qnx*) ;; openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' fi else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported shrext_cmds=.dll _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; osf3*) if test yes = "$GCC"; then _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test yes = "$GCC"; then _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test yes = "$GCC"; then wlarc='$wl' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='$wl' _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands '-z linker_flag'. GCC discards it without '$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test yes = "$GCC"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' else _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test sequent = "$host_vendor"; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(ld_shlibs, $1)=no ;; esac if test sni = "$host_vendor"; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' ;; esac fi fi ]) AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl _LT_DECL([], [extract_expsyms_cmds], [2], [The commands to extract the exported symbol list from a shared archive]) # # Do we need to explicitly link libc? # case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_TAGVAR(archive_cmds_need_lc, $1)=yes if test yes,yes = "$GCC,$enable_shared"; then case $_LT_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_CACHE_CHECK([whether -lc should be explicitly linked in], [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), [$RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) _LT_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) then lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no else lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* ]) _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) ;; esac fi ;; esac _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], [Whether or not to add -lc for building shared libraries]) _LT_TAGDECL([allow_libtool_libs_with_static_runtimes], [enable_shared_with_static_runtimes], [0], [Whether or not to disallow shared libs when runtime libs are static]) _LT_TAGDECL([], [export_dynamic_flag_spec], [1], [Compiler flag to allow reflexive dlopens]) _LT_TAGDECL([], [whole_archive_flag_spec], [1], [Compiler flag to generate shared objects directly from archives]) _LT_TAGDECL([], [compiler_needs_object], [1], [Whether the compiler copes with passing no objects directly]) _LT_TAGDECL([], [old_archive_from_new_cmds], [2], [Create an old-style archive from a shared archive]) _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], [Create a temporary old-style archive to link instead of a shared archive]) _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) _LT_TAGDECL([], [archive_expsym_cmds], [2]) _LT_TAGDECL([], [module_cmds], [2], [Commands used to build a loadable module if different from building a shared archive.]) _LT_TAGDECL([], [module_expsym_cmds], [2]) _LT_TAGDECL([], [with_gnu_ld], [1], [Whether we are building with GNU ld or not]) _LT_TAGDECL([], [allow_undefined_flag], [1], [Flag that allows shared libraries with undefined symbols to be built]) _LT_TAGDECL([], [no_undefined_flag], [1], [Flag that enforces no undefined symbols]) _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_direct_absolute], [0], [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes DIR into the resulting binary and the resulting library dependency is "absolute", i.e impossible to change by setting $shlibpath_var if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_shlibpath_var], [0], [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_automatic], [0], [Set to "yes" if building a shared library automatically hardcodes DIR into the library and all subsequent libraries and executables linked against it]) _LT_TAGDECL([], [inherit_rpath], [0], [Set to yes if linker adds runtime paths of dependent libraries to runtime path list]) _LT_TAGDECL([], [link_all_deplibs], [0], [Whether libtool must link a program against all its dependency libraries]) _LT_TAGDECL([], [always_export_symbols], [0], [Set to "yes" if exported symbols are required]) _LT_TAGDECL([], [export_symbols_cmds], [2], [The commands to list exported symbols]) _LT_TAGDECL([], [exclude_expsyms], [1], [Symbols that should not be listed in the preloaded symbols]) _LT_TAGDECL([], [include_expsyms], [1], [Symbols that must always be exported]) _LT_TAGDECL([], [prelink_cmds], [2], [Commands necessary for linking programs (against libraries) with templates]) _LT_TAGDECL([], [postlink_cmds], [2], [Commands necessary for finishing linking programs]) _LT_TAGDECL([], [file_list_spec], [1], [Specify filename containing input files]) dnl FIXME: Not yet implemented dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], dnl [Compiler flag to generate thread safe objects]) ])# _LT_LINKER_SHLIBS # _LT_LANG_C_CONFIG([TAG]) # ------------------------ # Ensure that the configuration variables for a C compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to 'libtool'. m4_defun([_LT_LANG_C_CONFIG], [m4_require([_LT_DECL_EGREP])dnl lt_save_CC=$CC AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_TAG_COMPILER # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) LT_SYS_DLOPEN_SELF _LT_CMD_STRIPLIB # Report what library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_CONFIG($1) fi AC_LANG_POP CC=$lt_save_CC ])# _LT_LANG_C_CONFIG # _LT_LANG_CXX_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to 'libtool'. m4_defun([_LT_LANG_CXX_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl if test -n "$CXX" && ( test no != "$CXX" && ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || (test g++ != "$CXX"))); then AC_PROG_CXXCPP else _lt_caught_CXX_error=yes fi AC_LANG_PUSH(C++) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test yes != "$_lt_caught_CXX_error"; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} CFLAGS=$CXXFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test yes = "$GXX"; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test yes = "$GXX"; then # Set up default GNU C++ configuration LT_PATH_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test yes = "$with_gnu_ld"; then _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='$wl' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag= else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # have runtime linking enabled, and use it for executables. # For shared libraries, we enable/disable runtime linking # depending on the kind of the shared library created - # when "with_aix_soname,aix_use_runtimelinking" is: # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables # "aix,yes" lib.so shared, rtl:yes, for executables # lib.a static archive # "both,no" lib.so.V(shr.o) shared, rtl:yes # lib.a(lib.so.V) shared, rtl:no, for executables # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a(lib.so.V) shared, rtl:no # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a static archive case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then # With aix-soname=svr4, we create the lib.so.V shared archives only, # so we don't have lib.a shared libs to link our executables. # We have to force runtime linking in this case. aix_use_runtimelinking=yes LDFLAGS="$LDFLAGS -Wl,-brtl" fi ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='$wl-f,' case $with_aix_soname,$aix_use_runtimelinking in aix,*) ;; # no import file svr4,* | *,yes) # use import file # The Import File defines what to hardcode. _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no ;; esac if test yes = "$GXX"; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi esac shared_flag='-shared' if test yes = "$aix_use_runtimelinking"; then shared_flag=$shared_flag' $wl-G' fi # Need to ensure runtime linking is disabled for the traditional # shared library, or the linker may eventually find shared libraries # /with/ Import File - we do not want to mix them. shared_flag_aix='-shared' shared_flag_svr4='-shared $wl-G' else # not using gcc if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test yes = "$aix_use_runtimelinking"; then shared_flag='$wl-G' else shared_flag='$wl-bM:SRE' fi shared_flag_aix='$wl-bM:SRE' shared_flag_svr4='$wl-G' fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. _LT_TAGVAR(always_export_symbols, $1)=yes if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. # The "-G" linker flag allows undefined symbols. _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' # Determine the default libpath from the value encoded in an empty # executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else if test ia64 = "$host_cpu"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' # -brtl affects multiple linker settings, -berok does not and is overridden later compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' if test svr4 != "$with_aix_soname"; then # This is similar to how AIX traditionally builds its shared # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' fi if test aix != "$with_aix_soname"; then _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' else # used by -dlpreopen to get the symbols _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' fi _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl*) # Native MSVC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile=$lt_outputfile.exe lt_tool_outputfile=$lt_tool_outputfile.exe ;; esac~ func_to_tool_file "$lt_outputfile"~ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file, use it as # is; otherwise, prepend EXPORTS... _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported shrext_cmds=.dll _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; hpux9*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test no = "$with_gnu_ld"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then if test no = "$with_gnu_ld"; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test yes = "$GXX"; then if test no = "$with_gnu_ld"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' ;; cxx*) # Compaq C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) _LT_TAGVAR(ld_shlibs, $1)=yes ;; openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; cxx*) case $host in osf3*) _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; esac _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes,no = "$GXX,$with_gnu_ld"; then _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' case $host in osf3*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands '-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test yes,no = "$GXX,$with_gnu_ld"; then _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ '"$_LT_TAGVAR(old_archive_cmds, $1)" _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ '"$_LT_TAGVAR(reload_cmds, $1)" ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no _LT_TAGVAR(GCC, $1)=$GXX _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test yes != "$_lt_caught_CXX_error" AC_LANG_POP ])# _LT_LANG_CXX_CONFIG # _LT_FUNC_STRIPNAME_CNF # ---------------------- # func_stripname_cnf prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # # This function is identical to the (non-XSI) version of func_stripname, # except this one can be used by m4 code that may be executed by configure, # rather than the libtool script. m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl AC_REQUIRE([_LT_DECL_SED]) AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) func_stripname_cnf () { case @S|@2 in .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; esac } # func_stripname_cnf ])# _LT_FUNC_STRIPNAME_CNF # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. m4_defun([_LT_SYS_HIDDEN_LIBDEPS], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl # Dependencies to place before and after the object being linked: _LT_TAGVAR(predep_objects, $1)= _LT_TAGVAR(postdep_objects, $1)= _LT_TAGVAR(predeps, $1)= _LT_TAGVAR(postdeps, $1)= _LT_TAGVAR(compiler_lib_search_path, $1)= dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF int a; void foo (void) { a = 0; } _LT_EOF ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer*4 a a=0 return end _LT_EOF ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer a a=0 return end _LT_EOF ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF public class foo { private int a; public void bar (void) { a = 0; } }; _LT_EOF ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF package foo func foo() { } _LT_EOF ]) _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case $prev$p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test x-L = "$p" || test x-R = "$p"; then prev=$p continue fi # Expand the sysroot to ease extracting the directories later. if test -z "$prev"; then case $p in -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac fi case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test no = "$pre_test_object_deps_done"; then case $prev in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p else _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$_LT_TAGVAR(postdeps, $1)"; then _LT_TAGVAR(postdeps, $1)=$prev$p else _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" fi fi prev= ;; *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test no = "$pre_test_object_deps_done"; then if test -z "$_LT_TAGVAR(predep_objects, $1)"; then _LT_TAGVAR(predep_objects, $1)=$p else _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then _LT_TAGVAR(postdep_objects, $1)=$p else _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling $1 test program" fi $RM -f confest.$objext CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken m4_if([$1], [CXX], [case $host_os in interix[[3-9]]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. _LT_TAGVAR(predep_objects,$1)= _LT_TAGVAR(postdep_objects,$1)= _LT_TAGVAR(postdeps,$1)= ;; esac ]) case " $_LT_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac _LT_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` fi _LT_TAGDECL([], [compiler_lib_search_dirs], [1], [The directories searched by this compiler when creating a shared library]) _LT_TAGDECL([], [predep_objects], [1], [Dependencies to place before and after the objects being linked to create a shared library]) _LT_TAGDECL([], [postdep_objects], [1]) _LT_TAGDECL([], [predeps], [1]) _LT_TAGDECL([], [postdeps], [1]) _LT_TAGDECL([], [compiler_lib_search_path], [1], [The library search path used internally by the compiler when linking a shared library]) ])# _LT_SYS_HIDDEN_LIBDEPS # _LT_LANG_F77_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_F77_CONFIG], [AC_LANG_PUSH(Fortran 77) if test -z "$F77" || test no = "$F77"; then _lt_disable_F77=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test yes != "$_lt_disable_F77"; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${F77-"f77"} CFLAGS=$FFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) GCC=$G77 if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)=$G77 _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS fi # test yes != "$_lt_disable_F77" AC_LANG_POP ])# _LT_LANG_F77_CONFIG # _LT_LANG_FC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_FC_CONFIG], [AC_LANG_PUSH(Fortran) if test -z "$FC" || test no = "$FC"; then _lt_disable_FC=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for fc test sources. ac_ext=${ac_fc_srcext-f} # Object file extension for compiled fc test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test yes != "$_lt_disable_FC"; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${FC-"f95"} CFLAGS=$FCFLAGS compiler=$CC GCC=$ac_cv_fc_compiler_gnu _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS fi # test yes != "$_lt_disable_FC" AC_LANG_POP ])# _LT_LANG_FC_CONFIG # _LT_LANG_GCJ_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Java Compiler compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_GCJ_CONFIG], [AC_REQUIRE([LT_PROG_GCJ])dnl AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GCJ-"gcj"} CFLAGS=$GCJFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)=$LD _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GCJ_CONFIG # _LT_LANG_GO_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Go compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_GO_CONFIG], [AC_REQUIRE([LT_PROG_GO])dnl AC_LANG_SAVE # Source file extension for Go test sources. ac_ext=go # Object file extension for compiled Go test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="package main; func main() { }" # Code to be used in simple link tests lt_simple_link_test_code='package main; func main() { }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GOC-"gccgo"} CFLAGS=$GOFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)=$LD _LT_CC_BASENAME([$compiler]) # Go did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GO_CONFIG # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_RC_CONFIG], [AC_REQUIRE([LT_PROG_RC])dnl AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code=$lt_simple_compile_test_code # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC= CC=${RC-"windres"} CFLAGS= compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes if test -n "$compiler"; then : _LT_CONFIG($1) fi GCC=$lt_save_GCC AC_LANG_RESTORE CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_RC_CONFIG # LT_PROG_GCJ # ----------- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) # Old name: AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_GCJ], []) # LT_PROG_GO # ---------- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) ]) # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) ]) # Old name: AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_RC], []) # _LT_DECL_EGREP # -------------- # If we don't have a new enough Autoconf to choose the best grep # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep _LT_DECL([], [GREP], [1], [A grep program that handles long lines]) _LT_DECL([], [EGREP], [1], [An ERE matcher]) _LT_DECL([], [FGREP], [1], [A literal string matcher]) dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) # _LT_DECL_OBJDUMP # -------------- # If we don't have a new enough Autoconf to choose the best objdump # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_OBJDUMP], [AC_CHECK_TOOL(OBJDUMP, objdump, false) test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) AC_SUBST([OBJDUMP]) ]) # _LT_DECL_DLLTOOL # ---------------- # Ensure DLLTOOL variable is set. m4_defun([_LT_DECL_DLLTOOL], [AC_CHECK_TOOL(DLLTOOL, dlltool, false) test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program]) AC_SUBST([DLLTOOL]) ]) # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" _LT_DECL([], [SED], [1], [A sed program that does not truncate output]) _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], [Sed that helps us avoid accidentally triggering echo(1) options like -n]) ])# _LT_DECL_SED m4_ifndef([AC_PROG_SED], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f "$lt_ac_sed" && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test 10 -lt "$lt_ac_count" && break lt_ac_count=`expr $lt_ac_count + 1` if test "$lt_ac_count" -gt "$lt_ac_max"; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ])#AC_PROG_SED ])#m4_ifndef # Old name: AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_SED], []) # _LT_CHECK_SHELL_FEATURES # ------------------------ # Find out whether the shell is Bourne or XSI compatible, # or has some other useful features. m4_defun([_LT_CHECK_SHELL_FEATURES], [if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl ])# _LT_CHECK_SHELL_FEATURES # _LT_PATH_CONVERSION_FUNCTIONS # ----------------------------- # Determine what file name conversion functions should be used by # func_to_host_file (and, implicitly, by func_to_host_path). These are needed # for certain cross-compile configurations and native mingw. m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_MSG_CHECKING([how to convert $build file names to $host format]) AC_CACHE_VAL(lt_cv_to_host_file_cmd, [case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac ]) to_host_file_cmd=$lt_cv_to_host_file_cmd AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], [0], [convert $build file names to $host format])dnl AC_MSG_CHECKING([how to convert $build file names to toolchain format]) AC_CACHE_VAL(lt_cv_to_tool_file_cmd, [#assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac ]) to_tool_file_cmd=$lt_cv_to_tool_file_cmd AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], [0], [convert $build files to toolchain format])dnl ])# _LT_PATH_CONVERSION_FUNCTIONS lepton-eda-1.9.10/m4/geda-contrib.m40000644000175000017500000000262413634703632013706 00000000000000# geda-contrib.m4 -*- Autoconf -*- # serial 1 dnl Optionally disable build and install of contributed software. dnl Copyright (C) 2017 Gareth Edwards dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # Check whether to enable building of contributed software AC_DEFUN([AX_OPTION_CONTRIB],dnl [AC_PREREQ([2.60])dnl AC_MSG_CHECKING([whether to enable build of contributed software]) AC_ARG_ENABLE([contrib], [AS_HELP_STRING([--enable-contrib], [enable building of contributed software])]) if test "X$enable_contrib" = "Xyes"; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AM_CONDITIONAL([ENABLE_CONTRIB], test "X$enable_contrib" = "Xyes") ])dnl AX_OPTION_CONTRIB lepton-eda-1.9.10/m4/geda-desktop-i18n.m40000644000175000017500000000571213634703632014475 00000000000000# geda-desktop-i18n.m4 -*-Autoconf-*- # serial 1 dnl Carry out configuration tasks needed by desktop-i18n tool dnl Copyright (C) 2009 Peter Brett dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA AC_DEFUN([AX_DESKTOP_I18N], [ AC_PREREQ([2.60])dnl AC_REQUIRE([AM_NLS])dnl AC_REQUIRE([AM_PO_SUBDIRS])dnl dnl Complain if desktop-i18n is missing AC_REQUIRE_AUX_FILE([desktop-i18n]) # We need to check that GNU gettext is available AM_PATH_PROG_WITH_TEST([GETTEXT], [gettext], [$ac_dir/$ac_word --version | grep GNU > /dev/null], :) if test "x$GETTEXT" = x; then AC_MSG_ERROR([The GNU gettext program could not be found. Please ensure that GNU gettext is correctly installed, and rerun configure.]) fi AC_SUBST([GETTEXT]) # How should desktop-i18n be run? DESKTOP_I18N_SCRIPT="$am_aux_dir/desktop-i18n" DESKTOP_I18N="\${SHELL} $DESKTOP_I18N_SCRIPT" AC_SUBST([DESKTOP_I18N_SCRIPT]) AC_SUBST([DESKTOP_I18N]) # We have a private directory to temporarily install locale data # into. DESKTOP_I18N_LOCALE_DIR='$(top_builddir)/.desktop-i18n' AC_SUBST([DESKTOP_I18N_LOCALE_DIR]) # Substitute our own evil, corrupted version of xgettext. # Mwahahahaha! XGETTEXT="$DESKTOP_I18N --extract --xgettext=$XGETTEXT --" # Define some rules for substitution into Makefiles DESKTOP_I18N_CREATE='$(DESKTOP_I18N) --create --gettext=$(GETTEXT) --domain=$(DOMAIN) \ --localedir=$(DESKTOP_I18N_LOCALE_DIR)/share/locale $(DESKTOP_I18N_LANGS)' DESKTOP_I18N_LANGS_RULE='DESKTOP_I18N_LANGS = $[$](echo "{ printf \"--lang=%s \", \$[$]1 }" \ | awk -f - $(DESKTOP_I18N_LOCALE_DIR)/$(DOMAIN).LINGUAS)' DESKTOP_I18N_DESKTOP_RULE='.SUFFIXES: .desktop.in .desktop .desktop.in.desktop: ; $(DESKTOP_I18N_CREATE) $< [$]@' DESKTOP_I18N_XML_RULE='.SUFFIXES: .xml.in .xml .xml.in.xml: ; $(DESKTOP_I18N_CREATE) $< [$]@' AC_SUBST([DESKTOP_I18N_CREATE]) _IT_SUBST([DESKTOP_I18N_LANGS_RULE]) _IT_SUBST([DESKTOP_I18N_DESKTOP_RULE]) _IT_SUBST([DESKTOP_I18N_XML_RULE]) ])dnl AX_DESKTOP_I18N # _IT_SUBST(VARIABLE) # ------------------- # Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST # Stolen from intltool.m4 (GPL v2) AC_DEFUN([_IT_SUBST], [ AC_SUBST([$1]) m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) ])dnl _IT_SUBST lepton-eda-1.9.10/m4/geda-doxygen.m40000644000175000017500000000623213634703632013722 00000000000000# geda-doxygen.m4 -*-Autoconf-*- # serial 2 dnl Optional Doxygen API documentation support dnl Copyright (C) 2009-2011 Peter Brett dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # Check if doxygen documentation is requested, and if so, find doxygen program. AC_DEFUN([AX_OPTION_DOXYGEN], [ AC_PREREQ([2.60])dnl AC_ARG_VAR([DOXYGEN], [Path to doxygen executable]) # Check if the user enabled Doxygen AC_MSG_CHECKING([whether to enable generation of Doxygen API documentation]) AC_ARG_ENABLE([doxygen], [AS_HELP_STRING([--enable-doxygen], [enable generation of Doxygen API documentation])]) # If user enabled doxygen, find the path to the doxygen # executable. Also check for other required tools. if test "X$enable_doxygen" = "Xyes"; then AC_MSG_RESULT([yes]) AC_CHECK_PROG([DOXYGEN], [doxygen], [doxygen], [no]) if test "X$DOXYGEN" = "Xno"; then AC_MSG_ERROR([API documentation generation was requested, but doxygen was not found. Ensure it is installed and in your path, or configure without --enable-doxygen.]) fi # Check for Inkscape AC_CHECK_PROG([INKSCAPE], [inkscape], [inkscape], [no]) # Check for ImageMagick AC_CHECK_PROG([CONVERT], [convert], [convert], [no]) # We need at least one way of converting SVG files to PNG files! if (test "X$INKSCAPE" = "Xno") && (test "X$CONVERT" = "Xno"); then AC_MSG_ERROR([API documentation generation was requested, but neither Inkscape nor ImageMagick were found. Ensure one of these is installed and in your path, or configure without --enable-doxygen.]) fi # Check for graphviz AC_CHECK_PROG([DOT], [dot], [dot], [no]) if test "X$DOT" = "Xno"; then AC_MSG_ERROR([API documentation generation was requested, but the program dot (part of Graphviz, see http://www.graphviz.org/) was not found. Ensure it is installed and in your path, or configure without --enable-doxygen.]) fi # We need pdflatex to create PDF format API docs. AC_CHECK_PROG([PDFLATEX], [pdflatex], [pdflatex], [no]) if test "X$PDFLATEX" = "Xno"; then AC_MSG_ERROR([API documentation generation was requested, but pdflatex was not found. Ensure it is installed and in your path, or configure without --enable-doxygen.]) fi else AC_MSG_RESULT([no]) fi AM_CONDITIONAL([ENABLE_DOXYGEN], test "X$enable_doxygen" = "Xyes") AC_SUBST([DOXYGEN]) AC_SUBST([INKSCAPE]) AC_SUBST([CONVERT]) ])dnl AX_OPTION_DOXYGEN lepton-eda-1.9.10/m4/ltoptions.m40000644000175000017500000003426213634703661013410 00000000000000# Helper functions for option handling. -*- Autoconf -*- # # Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software # Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 8 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) # ------------------------------------------ m4_define([_LT_MANGLE_OPTION], [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) # --------------------------------------- # Set option OPTION-NAME for macro MACRO-NAME, and if there is a # matching handler defined, dispatch to it. Other OPTION-NAMEs are # saved as a flag. m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), _LT_MANGLE_DEFUN([$1], [$2]), [m4_warning([Unknown $1 option '$2'])])[]dnl ]) # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) # ------------------------------------------------------------ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. m4_define([_LT_IF_OPTION], [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) # ------------------------------------------------------- # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME # are set. m4_define([_LT_UNLESS_OPTIONS], [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), [m4_define([$0_found])])])[]dnl m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 ])[]dnl ]) # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) # ---------------------------------------- # OPTION-LIST is a space-separated list of Libtool options associated # with MACRO-NAME. If any OPTION has a matching handler declared with # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about # the unknown option and exit. m4_defun([_LT_SET_OPTIONS], [# Set options m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [_LT_SET_OPTION([$1], _LT_Option)]) m4_if([$1],[LT_INIT],[ dnl dnl Simply set some default values (i.e off) if boolean options were not dnl specified: _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no ]) _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no ]) dnl dnl If no reference was made to various pairs of opposing options, then dnl we run the default mode handler for the pair. For example, if neither dnl 'shared' nor 'disable-shared' was passed, we enable building of shared dnl archives by default: _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], [_LT_ENABLE_FAST_INSTALL]) _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], [_LT_WITH_AIX_SONAME([aix])]) ]) ])# _LT_SET_OPTIONS ## --------------------------------- ## ## Macros to handle LT_INIT options. ## ## --------------------------------- ## # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) # ----------------------------------------- m4_define([_LT_MANGLE_DEFUN], [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) # ----------------------------------------------- m4_define([LT_OPTION_DEFINE], [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl ])# LT_OPTION_DEFINE # dlopen # ------ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes ]) AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'dlopen' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) # win32-dll # --------- # Declare package support for building win32 dll's. LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; esac test -z "$AS" && AS=as _LT_DECL([], [AS], [1], [Assembler program])dnl test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl ])# win32-dll AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'win32-dll' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) # _LT_ENABLE_SHARED([DEFAULT]) # ---------------------------- # implement the --enable-shared flag, and supports the 'shared' and # 'disable-shared' LT_INIT options. # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_SHARED], [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([shared], [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS=$lt_save_ifs ;; esac], [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) _LT_DECL([build_libtool_libs], [enable_shared], [0], [Whether or not to build shared libraries]) ])# _LT_ENABLE_SHARED LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) # Old names: AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ]) AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ]) AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_SHARED], []) dnl AC_DEFUN([AM_DISABLE_SHARED], []) # _LT_ENABLE_STATIC([DEFAULT]) # ---------------------------- # implement the --enable-static flag, and support the 'static' and # 'disable-static' LT_INIT options. # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_STATIC], [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([static], [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS=$lt_save_ifs ;; esac], [enable_static=]_LT_ENABLE_STATIC_DEFAULT) _LT_DECL([build_old_libs], [enable_static], [0], [Whether or not to build static libraries]) ])# _LT_ENABLE_STATIC LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) # Old names: AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ]) AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ]) AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_STATIC], []) dnl AC_DEFUN([AM_DISABLE_STATIC], []) # _LT_ENABLE_FAST_INSTALL([DEFAULT]) # ---------------------------------- # implement the --enable-fast-install flag, and support the 'fast-install' # and 'disable-fast-install' LT_INIT options. # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_FAST_INSTALL], [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([fast-install], [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS=$lt_save_ifs ;; esac], [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) _LT_DECL([fast_install], [enable_fast_install], [0], [Whether or not to optimize for fast installation])dnl ])# _LT_ENABLE_FAST_INSTALL LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) # Old names: AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'fast-install' option into LT_INIT's first parameter.]) ]) AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'disable-fast-install' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # _LT_WITH_AIX_SONAME([DEFAULT]) # ---------------------------------- # implement the --with-aix-soname flag, and support the `aix-soname=aix' # and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT # is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. m4_define([_LT_WITH_AIX_SONAME], [m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl shared_archive_member_spec= case $host,$enable_shared in power*-*-aix[[5-9]]*,yes) AC_MSG_CHECKING([which variant of shared library versioning to provide]) AC_ARG_WITH([aix-soname], [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], [case $withval in aix|svr4|both) ;; *) AC_MSG_ERROR([Unknown argument to --with-aix-soname]) ;; esac lt_cv_with_aix_soname=$with_aix_soname], [AC_CACHE_VAL([lt_cv_with_aix_soname], [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) with_aix_soname=$lt_cv_with_aix_soname]) AC_MSG_RESULT([$with_aix_soname]) if test aix != "$with_aix_soname"; then # For the AIX way of multilib, we name the shared archive member # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, # the AIX toolchain works better with OBJECT_MODE set (default 32). if test 64 = "${OBJECT_MODE-32}"; then shared_archive_member_spec=shr_64 else shared_archive_member_spec=shr fi fi ;; *) with_aix_soname=aix ;; esac _LT_DECL([], [shared_archive_member_spec], [0], [Shared archive member basename, for filename based shared library versioning on AIX])dnl ])# _LT_WITH_AIX_SONAME LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) # _LT_WITH_PIC([MODE]) # -------------------- # implement the --with-pic flag, and support the 'pic-only' and 'no-pic' # LT_INIT options. # MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for lt_pkg in $withval; do IFS=$lt_save_ifs if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS=$lt_save_ifs ;; esac], [pic_mode=m4_default([$1], [default])]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) # Old name: AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'pic-only' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) ## ----------------- ## ## LTDL_INIT Options ## ## ----------------- ## m4_define([_LTDL_MODE], []) LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], [m4_define([_LTDL_MODE], [nonrecursive])]) LT_OPTION_DEFINE([LTDL_INIT], [recursive], [m4_define([_LTDL_MODE], [recursive])]) LT_OPTION_DEFINE([LTDL_INIT], [subproject], [m4_define([_LTDL_MODE], [subproject])]) m4_define([_LTDL_TYPE], []) LT_OPTION_DEFINE([LTDL_INIT], [installable], [m4_define([_LTDL_TYPE], [installable])]) LT_OPTION_DEFINE([LTDL_INIT], [convenience], [m4_define([_LTDL_TYPE], [convenience])]) lepton-eda-1.9.10/m4/intlmacosx.m40000644000175000017500000000457513634703641013540 00000000000000# intlmacosx.m4 serial 3 (gettext-0.18) dnl Copyright (C) 2004-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Checks for special options needed on MacOS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ dnl Check for API introduced in MacOS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], [gt_cv_func_CFPreferencesCopyAppValue], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFPreferencesCopyAppValue(NULL, NULL)], [gt_cv_func_CFPreferencesCopyAppValue=yes], [gt_cv_func_CFPreferencesCopyAppValue=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi dnl Check for API introduced in MacOS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], [gt_cv_func_CFLocaleCopyCurrent=yes], [gt_cv_func_CFLocaleCopyCurrent=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi AC_SUBST([INTL_MACOSX_LIBS]) ]) lepton-eda-1.9.10/m4/lib-link.m40000644000175000017500000010020213634703642013041 00000000000000# lib-link.m4 serial 21 (gettext-0.18) dnl Copyright (C) 2001-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_PREREQ([2.54]) dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and dnl augments the CPPFLAGS variable. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) pushdef([Name],[translit([$1],[./-], [___])]) pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ac_cv_lib[]Name[]_libs="$LIB[]NAME" ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" ac_cv_lib[]Name[]_cppflags="$INC[]NAME" ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" ]) LIB[]NAME="$ac_cv_lib[]Name[]_libs" LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" INC[]NAME="$ac_cv_lib[]Name[]_cppflags" LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the dnl results of this search when this library appears as a dependency. HAVE_LIB[]NAME=yes popdef([NAME]) popdef([Name]) ]) dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message]) dnl searches for libname and the libraries corresponding to explicit and dnl implicit dependencies, together with the specified include files and dnl the ability to compile and link the specified testcode. The missing-message dnl defaults to 'no' and may contain additional hints for the user. dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) pushdef([Name],[translit([$1],[./-], [___])]) pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME dnl accordingly. AC_LIB_LINKFLAGS_BODY([$1], [$2]) dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, dnl because if the user has installed lib[]Name and not disabled its use dnl via --without-lib[]Name-prefix, he wants to use it. ac_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ ac_save_LIBS="$LIBS" dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS, dnl because these -l options might require -L options that are present in dnl LIBS. -l options benefit only from the -L options listed before it. dnl Otherwise, add it to the front of LIBS, because it may be a static dnl library that depends on another static library that is present in LIBS. dnl Static libraries benefit only from the static libraries listed after dnl it. case " $LIB[]NAME" in *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; *) LIBS="$LIB[]NAME $LIBS" ;; esac AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) LIBS="$ac_save_LIBS" ]) if test "$ac_cv_lib[]Name" = yes; then HAVE_LIB[]NAME=yes AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.]) AC_MSG_CHECKING([how to link with lib[]$1]) AC_MSG_RESULT([$LIB[]NAME]) else HAVE_LIB[]NAME=no dnl If $LIB[]NAME didn't lead to a usable library, we don't need dnl $INC[]NAME either. CPPFLAGS="$ac_save_CPPFLAGS" LIB[]NAME= LTLIB[]NAME= LIB[]NAME[]_PREFIX= fi AC_SUBST([HAVE_LIB]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) popdef([NAME]) popdef([Name]) ]) dnl Determine the platform dependent parameters needed to use rpath: dnl acl_libext, dnl acl_shlibext, dnl acl_hardcode_libdir_flag_spec, dnl acl_hardcode_libdir_separator, dnl acl_hardcode_direct, dnl acl_hardcode_minus_L. AC_DEFUN([AC_LIB_RPATH], [ dnl Tell automake >= 1.10 to complain if config.rpath is missing. m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done ]) wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" dnl Determine whether the user wants rpath handling at all. AC_ARG_ENABLE([rpath], [ --disable-rpath do not hardcode runtime library paths], :, enable_rpath=yes) ]) dnl AC_LIB_FROMPACKAGE(name, package) dnl declares that libname comes from the given package. The configure file dnl will then not have a --with-libname-prefix option but a dnl --with-package-prefix option. Several libraries can come from the same dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar dnl macro call that searches for libname. AC_DEFUN([AC_LIB_FROMPACKAGE], [ pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) define([acl_frompackage_]NAME, [$2]) popdef([NAME]) pushdef([PACK],[$2]) pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) define([acl_libsinpackage_]PACKUP, m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1]) popdef([PACKUP]) popdef([PACK]) ]) dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) dnl Autoconf >= 2.61 supports dots in --with options. pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_ARG_WITH(P_A_C_K[-prefix], [[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" if test "$acl_libdirstem2" != "$acl_libdirstem" \ && ! test -d "$withval/$acl_libdirstem"; then additional_libdir="$withval/$acl_libdirstem2" fi fi fi ]) dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= LTLIB[]NAME= INC[]NAME= LIB[]NAME[]_PREFIX= dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been dnl computed. So it has to be reset here. HAVE_LIB[]NAME= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='$1 $2' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" else dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined dnl that this library doesn't exist. So just drop it. : fi else dnl Search the library lib$name in $additional_libdir and $LDFLAGS dnl and the already constructed $LIBNAME/$LTLIBNAME. found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" dnl The same code as in the loop below: dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then dnl Found the library. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then dnl Linking with a shared library. We attempt to hardcode its dnl directory into the executable's runpath, unless it's the dnl standard /usr/lib. if test "$enable_rpath" = no \ || test "X$found_dir" = "X/usr/$acl_libdirstem" \ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl Use an explicit option to hardcode DIR into the resulting dnl binary. dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi dnl The hardcoding into $LIBNAME is system dependent. if test "$acl_hardcode_direct" = yes; then dnl Using DIR/libNAME.so during linking hardcodes DIR into the dnl resulting binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode DIR into the resulting dnl binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else dnl Rely on "-L$found_dir". dnl But don't add it if it's already contained in the LDFLAGS dnl or the already constructed $LIBNAME haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH dnl here, because this doesn't fit in flags passed to the dnl compiler. So give up. No hardcoding. This affects only dnl very old systems. dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then dnl Linking with a static library. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" else dnl We shouldn't come here, but anyway it's good to have a dnl fallback. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" fi fi dnl Assume the include files are nearby. additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` if test "$name" = '$1'; then LIB[]NAME[]_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; */$acl_libdirstem2 | */$acl_libdirstem2/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` if test "$name" = '$1'; then LIB[]NAME[]_PREFIX="$basedir" fi additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's /usr/local/include and we are using GCC on Linux, dnl 3. if it's already present in $CPPFLAGS or the already dnl constructed $INCNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INC[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $INCNAME. INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" fi fi fi fi fi dnl Look for dependencies. if test -n "$found_la"; then dnl Read the .la file. It defines the variables dnl dlname, library_names, old_library, dependency_libs, current, dnl age, revision, installed, dlopen, dlpreopen, libdir. save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" dnl We use only dependency_libs. for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LIBNAME. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LTLIBNAME. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) dnl Handle this in the next round. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) dnl Handle this in the next round. Throw away the .la's dnl directory; it is already contained in a preceding -L dnl option. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) dnl Most likely an immediate library name. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" ;; esac done fi else dnl Didn't find the library; assume it is in the system directories dnl known to the linker and runtime loader. (All the system dnl directories known to the linker should also be known to the dnl runtime loader, otherwise the system is severely misconfigured.) LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user must dnl pass all path elements in one option. We can arrange that for a dnl single library, but not when more than one $LIBNAMEs are used. alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" else dnl The -rpath options are cumulative. for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then dnl When using libtool, the option that works for both libraries and dnl executables is -R. The -R options are cumulative. for found_dir in $ltrpathdirs; do LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi popdef([P_A_C_K]) popdef([PACKLIBS]) popdef([PACKUP]) popdef([PACK]) popdef([NAME]) ]) dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, dnl unless already present in VAR. dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes dnl contains two or three consecutive elements that belong together. AC_DEFUN([AC_LIB_APPENDTOVAR], [ for element in [$2]; do haveit= for x in $[$1]; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then [$1]="${[$1]}${[$1]:+ }$element" fi done ]) dnl For those cases where a variable contains several -L and -l options dnl referring to unknown libraries and directories, this macro determines the dnl necessary additional linker options for the runtime path. dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) dnl sets LDADDVAR to linker options needed together with LIBSVALUE. dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, dnl otherwise linking without libtool is assumed. AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], [ AC_REQUIRE([AC_LIB_RPATH]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) $1= if test "$enable_rpath" != no; then if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode directories into the resulting dnl binary. rpathdirs= next= for opt in $2; do if test -n "$next"; then dir="$next" dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem" \ && test "X$dir" != "X/usr/$acl_libdirstem2"; then rpathdirs="$rpathdirs $dir" fi next= else case $opt in -L) next=yes ;; -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem" \ && test "X$dir" != "X/usr/$acl_libdirstem2"; then rpathdirs="$rpathdirs $dir" fi next= ;; *) next= ;; esac fi done if test "X$rpathdirs" != "X"; then if test -n ""$3""; then dnl libtool is used for linking. Use -R options. for dir in $rpathdirs; do $1="${$1}${$1:+ }-R$dir" done else dnl The linker is used for linking directly. if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user dnl must pass all path elements in one option. alldirs= for dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="$flag" else dnl The -rpath options are cumulative. for dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="${$1}${$1:+ }$flag" done fi fi fi fi fi AC_SUBST([$1]) ]) lepton-eda-1.9.10/m4/geda-uri-viewer.m40000644000175000017500000000475513634703632014353 00000000000000# geda-uri-viewer.m4 -*-Autoconf-*- # serial 1 dnl Checks for default URI launcher method dnl Copyright (C) 2011 Peter TB Brett dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA AC_DEFUN([AX_OPTION_URI_VIEWER], [ AC_PREREQ([2.60])dnl AC_REQUIRE([AX_HOST])dnl AC_ARG_VAR([URI_VIEWER], [Path to URI launcher executable]) AC_MSG_CHECKING([whether to use GIO to launch URIs]) AC_ARG_ENABLE([gio], [AS_HELP_STRING([--enable-gio], [use GIO to launch URIs [default=auto]])], [], [enable_gio=auto]) if test "X$enable_gio" = "Xauto" && test "X$OS_LINUX" = "Xyes"; then enable_gio=yes else enable_gio=no fi if test "X$enable_gio" = "Xyes"; then AC_DEFINE([SHOW_URI_GIO], [1], [Define to 1 if GIO should be used to launch a default application for a URI.]) fi AC_MSG_RESULT([$enable_gio]) AC_MSG_CHECKING([platform URI viewer]) if test "X$enable_gio" = "Xyes" || test "X$OS_WIN32_NATIVE" = "Xyes"; then # We use an API function, so we don't need a URI viewer application AC_MSG_RESULT([none required]) else # If the user specified a viewer command, just use that. if test "X$URI_VIEWER" = "X"; then # On Cygwin, we use cygstart, because it takes care of any required # translation between cygwin filenames and native filenames. if test "X$OS_CYGWIN" = "Xyes"; then URI_VIEWER=cygstart # On Mac OS X, we can use open(1) to launch URIs. elif test "X$OS_CARBON" = "Xyes"; then URI_VIEWER=open # Default to xdg-open(1) on other platforms. else URI_VIEWER=xdg-open fi fi AC_DEFINE_UNQUOTED([SHOW_URI_COMMAND], ["$URI_VIEWER"], [Command to launch default application for a URI.]) AC_MSG_RESULT([$URI_VIEWER]) fi ]) lepton-eda-1.9.10/m4/ltsugar.m40000644000175000017500000001044013634703662013027 00000000000000# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # # Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software # Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltsugar.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) # lt_join(SEP, ARG1, [ARG2...]) # ----------------------------- # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their # associated separator. # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier # versions in m4sugar had bugs. m4_define([lt_join], [m4_if([$#], [1], [], [$#], [2], [[$2]], [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) m4_define([_lt_join], [m4_if([$#$2], [2], [], [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) # lt_car(LIST) # lt_cdr(LIST) # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support # Autoconf-2.59, which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], [$#], 1, [], [m4_dquote(m4_shift($@))])]) m4_define([lt_unquote], $1) # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ # Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different # than defined and empty). # # This macro is needed until we can rely on Autoconf 2.62, since earlier # versions of m4sugar mistakenly expanded SEPARATOR but not STRING. m4_define([lt_append], [m4_define([$1], m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) # ---------------------------------------------------------- # Produce a SEP delimited list of all paired combinations of elements of # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list # has the form PREFIXmINFIXSUFFIXn. # Needed until we can rely on m4_combine added in Autoconf 2.62. m4_define([lt_combine], [m4_if(m4_eval([$# > 3]), [1], [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl [[m4_foreach([_Lt_prefix], [$2], [m4_foreach([_Lt_suffix], ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) # ----------------------------------------------------------------------- # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. m4_define([lt_if_append_uniq], [m4_ifdef([$1], [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], [lt_append([$1], [$2], [$3])$4], [$5])], [lt_append([$1], [$2], [$3])$4])]) # lt_dict_add(DICT, KEY, VALUE) # ----------------------------- m4_define([lt_dict_add], [m4_define([$1($2)], [$3])]) # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) # -------------------------------------------- m4_define([lt_dict_add_subkey], [m4_define([$1($2:$3)], [$4])]) # lt_dict_fetch(DICT, KEY, [SUBKEY]) # ---------------------------------- m4_define([lt_dict_fetch], [m4_ifval([$3], m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) # ----------------------------------------------------------------- m4_define([lt_if_dict_fetch], [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], [$5], [$6])]) # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) # -------------------------------------------------------------- m4_define([lt_dict_filter], [m4_if([$5], [], [], [lt_join(m4_quote(m4_default([$4], [[, ]])), lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl ]) lepton-eda-1.9.10/m4/po.m40000644000175000017500000004461613634703642011776 00000000000000# po.m4 serial 17 (gettext-0.18) dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ([2.50]) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake AC_REQUIRE([AM_NLS])dnl dnl Release version of the gettext macros. This is used to ensure that dnl the gettext macros and po/Makefile.in.in are in sync. AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. dnl Search for GNU msgfmt in the PATH. dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. dnl The second test excludes FreeBSD msgfmt. AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) dnl Test whether it is GNU msgfmt >= 0.15. changequote(,)dnl case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac changequote([,])dnl AC_SUBST([MSGFMT_015]) changequote(,)dnl case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac changequote([,])dnl AC_SUBST([GMSGFMT_015]) dnl Search for GNU xgettext 0.12 or newer in the PATH. dnl The first test excludes Solaris xgettext and early GNU xgettext versions. dnl The second test excludes FreeBSD xgettext. AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po dnl Test whether it is GNU xgettext >= 0.15. changequote(,)dnl case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac changequote([,])dnl AC_SUBST([XGETTEXT_015]) dnl Search for GNU msgmerge 0.11 or newer in the PATH. AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) dnl Installation directories. dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we dnl have to define it here, so that it can be used in po/Makefile. test -n "$localedir" || localedir='${datadir}/locale' AC_SUBST([localedir]) dnl Support for AM_XGETTEXT_OPTION. test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) AC_CONFIG_COMMANDS([po-directories], [[ for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done]], [# Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" ]) ]) dnl Postprocesses a Makefile in a directory containing PO files. AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], [ # When this code is run, in config.status, two variables have already been # set: # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, # - LINGUAS is the value of the environment variable LINGUAS at configure # time. changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Find a way to echo strings without interpreting backslash. if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then gt_echo='echo' else if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then gt_echo='printf %s\n' else echo_func () { cat < "$ac_file.tmp" if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` cat >> "$ac_file.tmp" < /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` cat >> "$ac_file.tmp" <> "$ac_file.tmp" <, 1996. AC_PREREQ([2.50]) # Search path for a program which passes the given test. dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) AC_DEFUN([AM_PATH_PROG_WITH_TEST], [ # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL([ac_cv_path_$1], [case "[$]$1" in [[\\/]]* | ?:[[\\/]]*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in ifelse([$5], , $PATH, [$5]); do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$][$1]) else AC_MSG_RESULT([no]) fi AC_SUBST([$1])dnl ]) lepton-eda-1.9.10/m4/lepton-data-dirs.m40000644000175000017500000000431113634703632014512 00000000000000# lepton-data-dirs.m4 -*-Autoconf-*- # serial 1.0 dnl Lepton EDA data and configuration directories dnl Copyright (C) 2009, 2016 Peter Brett dnl Copyright (C) 2018-2020 Lepton EDA Contributors dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # Check where Lepton data and configuration should be stored. AC_DEFUN([AX_DATA_DIRS], [ AC_PREREQ([2.60])dnl # Check where to install ordinary data files (e.g. symbols and # gnetlist backends) LEPTONDATADIR="$datarootdir/lepton-eda" # Define some preprocessor symbols with the *expanded* values: # LEPTONDATADIR_expand=`eval "echo $LEPTONDATADIR" | sed -e"s:^NONE:$ac_default_prefix:"` AC_DEFINE_UNQUOTED([LEPTONDATADIR], ["$LEPTONDATADIR_expand"], [Define to Lepton EDA shared data directory. Only liblepton should use this - apps should use eda_get_system_data_dirs()]) AC_SUBST([LEPTONDATADIR]) AC_MSG_CHECKING([where to install Lepton shared data (LEPTONDATADIR)]) AC_MSG_RESULT([$LEPTONDATADIR]) # create #define LEPTON_SCM_PRECOMPILE_DIR in config.h: # AC_DEFINE_UNQUOTED([LEPTON_SCM_PRECOMPILE_DIR], ["$LEPTONDATADIR_expand/ccache"], [precompiled scm files dir]) AC_SUBST([LEPTON_SCM_PRECOMPILE_DIR], ["$LEPTONDATADIR_expand/ccache"]) AC_DEFINE_UNQUOTED([BITMAP_DIRECTORY], ["$LEPTONDATADIR_expand/bitmap"], [directory with bitmaps]) AC_SUBST([BITMAP_DIRECTORY], ["$LEPTONDATADIR_expand/bitmap"]) ])dnl AX_DATA_DIRS lepton-eda-1.9.10/m4/lib-ld.m40000644000175000017500000000660313634703642012515 00000000000000# lib-ld.m4 serial 4 (gettext-0.18) dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Subroutines of libtool.m4, dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision dnl with libtool.m4. dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], [# I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by GCC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]* | [A-Za-z]:[\\/]*)] [re_direlt='/[^/][^/]*/\.\./'] # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL([acl_cv_path_LD], [if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$acl_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT([$LD]) else AC_MSG_RESULT([no]) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU ]) lepton-eda-1.9.10/m4/lib-prefix.m40000644000175000017500000002042213634703642013406 00000000000000# lib-prefix.m4 serial 7 (gettext-0.18) dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't dnl require excessive bracketing. ifdef([AC_HELP_STRING], [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], [AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed dnl to access previously installed libraries. The basic assumption is that dnl a user will want packages to use other packages he previously installed dnl with the same --prefix option. dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate dnl libraries, but is otherwise very convenient. AC_DEFUN([AC_LIB_PREFIX], [ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib-prefix], [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib --without-lib-prefix don't search for libraries in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) if test $use_additional = yes; then dnl Potentially add $additional_includedir to $CPPFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's already present in $CPPFLAGS, dnl 3. if it's /usr/local/include and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= for x in $CPPFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $CPPFLAGS. CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" fi fi fi fi dnl Potentially add $additional_libdir to $LDFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's already present in $LDFLAGS, dnl 3. if it's /usr/local/lib and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= for x in $LDFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LDFLAGS. LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" fi fi fi fi fi ]) dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, dnl acl_final_exec_prefix, containing the values to which $prefix and dnl $exec_prefix will expand at the end of the configure script. AC_DEFUN([AC_LIB_PREPARE_PREFIX], [ dnl Unfortunately, prefix and exec_prefix get only finally determined dnl at the end of configure. if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" ]) dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the dnl variables prefix and exec_prefix bound to the values they will have dnl at the end of the configure script. AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], [ acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" $1 exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" ]) dnl AC_LIB_PREPARE_MULTILIB creates dnl - a variable acl_libdirstem, containing the basename of the libdir, either dnl "lib" or "lib64" or "lib/64", dnl - a variable acl_libdirstem2, as a secondary possible value for dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or dnl "lib/amd64". AC_DEFUN([AC_LIB_PREPARE_MULTILIB], [ dnl There is no formal standard regarding lib and lib64. dnl On glibc systems, the current practice is that on a system supporting dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine dnl the compiler's default mode by looking at the compiler's library search dnl path. If at least one of its elements ends in /lib64 or points to a dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. dnl Otherwise we use the default, namely "lib". dnl On Solaris systems, the current practice is that on a system supporting dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. AC_REQUIRE([AC_CANONICAL_HOST]) acl_libdirstem=lib acl_libdirstem2= case "$host_os" in solaris*) dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment dnl . dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the dnl symlink is missing, so we set acl_libdirstem2 too. AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], [AC_EGREP_CPP([sixtyfour bits], [ #ifdef _LP64 sixtyfour bits #endif ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) ]) if test $gl_cv_solaris_64bit = yes; then acl_libdirstem=lib/64 case "$host_cpu" in sparc*) acl_libdirstem2=lib/sparcv9 ;; i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; esac fi ;; *) searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; */../ | */.. ) # Better ignore directories of this form. They are misleading. ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ;; esac test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" ]) lepton-eda-1.9.10/m4/geda-gattrib.m40000644000175000017500000000271013634703632013676 00000000000000# geda-gattrib.m4 -*-Autoconf-*- # serial 1.0 dnl Check for dependencies for attrib and optionally disable it. dnl Copyright (C) 2009 Dan McMahill dnl Copyright (C) 2019 Lepton EDA Contributors dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # Check if attrib should be disabled AC_DEFUN([AX_OPTION_ATTRIB], [ AC_PREREQ([2.60])dnl AC_MSG_CHECKING([whether to enable lepton-attrib]) AC_ARG_ENABLE([attrib], [AS_HELP_STRING([--disable-attrib], [turn off building and installing lepton-attrib])], [], [enable_attrib="yes"]) if test "X$enable_attrib" = "Xyes"; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AM_CONDITIONAL([ENABLE_ATTRIB], test "X$enable_attrib" = "Xyes") ])dnl AX_OPTION_ATTRIB lepton-eda-1.9.10/m4/geda-windows.m40000644000175000017500000000342213634703632013735 00000000000000# geda-windows.m4 -*-Autoconf-*- # serial 1 dnl Check Windows-specific flags dnl Copyright (C) 2009 Cesar Strauss dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # The Windows platform has a native gcc port (MinGW) and a # POSIX compliant one (Cygwin). Both need specific flags to # build correctly. # # The rules are: # # On all Windows platforms, pass -no-undefined to libtool. # This allows shared libraries (DLLs) to be built. # # On MinGW, use the -mms-bitfields compiler flag. # This increases compatibility with the MSVC compiler. # # On MinGW, pass -mwindows when linking GUI-only applications. # This avoids opening a text console when running from a shortcut. AC_DEFUN([AX_WINDOWS_FLAGS], [ AC_PREREQ([2.60])dnl AC_REQUIRE([AX_HOST])dnl if test "$PLATFORM_WIN32" = "yes"; then WINDOWS_LIBTOOL_FLAGS=-no-undefined fi if test "$PLATFORM_WIN32_NATIVE" = "yes"; then MINGW_GUI_LDFLAGS=-mwindows MINGW_CFLAGS="-mms-bitfields" fi AC_SUBST(WINDOWS_LIBTOOL_FLAGS) AC_SUBST(MINGW_GUI_LDFLAGS) AC_SUBST(MINGW_CFLAGS) ]) lepton-eda-1.9.10/m4/geda-host.m40000644000175000017500000000450513634703632013223 00000000000000# geda-host.m4 -*-Autoconf-*- # serial 1 dnl Checks for host platform and features dnl Copyright (C) 2011 Peter TB Brett dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA AC_DEFUN([AX_HOST], [ AC_PREREQ([2.60])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl # Need to distinguish between native Windows (via MinGW) and Unix # compat. layer on Windows (Cygwin). OS_WIN32_NATIVE=no OS_CYGWIN=no OS_LINUX=no case "$host" in *-*-linux*) OS_LINUX=yes AC_DEFINE([OS_LINUX], [1], [Define to 1 if on Linux.]) ;; *-*-mingw*) OS_WIN32_NATIVE=yes AC_DEFINE([OS_WIN32_NATIVE], [1], [Define to 1 if on native Windows.]) ;; *-*-cygwin*) OS_CYGWIN=yes AC_DEFINE([OS_CYGWIN], [1], [Define to 1 if on Cygwin.]) ;; *) ;; esac AC_MSG_CHECKING([for Linux host]) AC_MSG_RESULT([$OS_LINUX]) AC_MSG_CHECKING([for Windows host]) OS_WIN32=no if test "$OS_WIN32_NATIVE" = "yes" || test "$OS_CYGWIN" = "yes" ; then OS_WIN32=yes AC_DEFINE([OS_WIN32], [1], [Define to 1 if on Windows.]) fi AC_MSG_RESULT([$OS_WIN32]) AC_MSG_CHECKING([for Cygwin host]) AC_MSG_RESULT([$OS_CYGWIN]) # Carbon is the best way to check for OSX. There are some non-OSX # Darwin platforms out there! AC_MSG_CHECKING([for Mac OS X Carbon host]) OS_CARBON=no AC_TRY_CPP([ #include #include ],[ OS_CARBON=yes AC_DEFINE([OS_CARBON], [1], [Define to 1 if on Mac OS X Carbon.])]) AC_MSG_RESULT([$OS_CARBON]) ]) lepton-eda-1.9.10/m4/geda-git-version.m40000644000175000017500000000561213634703632014514 00000000000000# geda-git-version.m4 -*-Autoconf-*- # serial 3 dnl Extract gEDA version parameters from a git repository, if present. dnl Copyright (C) 2009-2011, 2016 Peter Brett dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # AX_GIT_VERSION DATE-VERSION # Check for a git repository. If present, sanity check the latest tag # name. This probably isn't strictly necessary. AC_DEFUN([AX_GIT_VERSION], [ AC_PREREQ([2.60])dnl AC_REQUIRE([AX_GIT_REPO])dnl # First split version specified with AC_INIT into dotted and date # parts changequote(,) init_sed_pattern="^\([\.0-9]*\)\.\([0-9]*\)$" changequote([,]) DOTTED_VERSION="$PACKAGE_VERSION" DATE_VERSION="$1" # If we're in a git repository, get the detailed version from git # describe. if test "X$HAVE_GIT_REPO" = "Xyes"; then AC_MSG_CHECKING([version from git repository]) GIT_VERSION=`cd $srcdir && $GIT rev-parse HEAD 2>/dev/null` AC_MSG_RESULT([$GIT_VERSION]) AC_MSG_CHECKING([descriptive git version]) GIT_DESCRIBE_VERSION=`cd $srcdir && $GIT describe 2>/dev/null` if test "$?" = "0"; then AC_MSG_RESULT([$GIT_DESCRIBE_VERSION]) else AC_MSG_RESULT([no]) fi fi # If there's an annotated tag available, test that the git version # and AC_INIT versions agree. if test "X$GIT_DESCRIBE_VERSION" != "X"; then AC_MSG_CHECKING([whether git version matches configured version]) changequote(,) git_sed_pattern="^\([^-]*\)-\([^-]*\).*" changequote([,]) GIT_DOTTED_VERSION=`echo $GIT_DESCRIBE_VERSION | sed -e"s/$git_sed_pattern/\1/"` GIT_DATE_VERSION=`echo $GIT_DESCRIBE_VERSION | sed -e"s/$git_sed_pattern/\2/"` if (test "X$GIT_DOTTED_VERSION" != "X$DOTTED_VERSION") || (test "X$GIT_DATE_VERSION" != "X$DATE_VERSION"); then AC_MSG_RESULT([no]) AC_MSG_WARN([The latest git tag name doesn't appear to match the version specified by the configure script.]) else AC_MSG_RESULT([yes]) fi fi AC_SUBST([DOTTED_VERSION]) AC_SUBST([DATE_VERSION]) # We generate some files differently if a git repo is present AM_CONDITIONAL([HAVE_GIT_REPO], test "X$HAVE_GIT_REPO" = "Xyes") ])dnl AX_GIT_VERSION lepton-eda-1.9.10/m4/geda-gcc-flags.m40000644000175000017500000000220113634703632014063 00000000000000# geda-gcc-flags.m4 -*-Autoconf-*- # serial 1.0 dnl Add GCC-specific C compiler flags dnl Copyright (C) 2009 Peter Brett dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # Adds the argument to GCC_CFLAGS if the compiler is GCC. AC_DEFUN([AX_GCC_FLAGS], [ AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_CC])dnl if test "X$GCC" = "Xyes"; then GCC_CFLAGS="$1 $GCC_CFLAGS" fi AC_SUBST([GCC_CFLAGS]) ]) lepton-eda-1.9.10/m4/lt~obsolete.m40000644000175000017500000001377413634703662013735 00000000000000# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # # Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software # Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 5 lt~obsolete.m4 # These exist entirely to fool aclocal when bootstrapping libtool. # # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN), # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us # using a macro with the same name in our local m4/libtool.m4 it'll # pull the old libtool.m4 in (it doesn't see our shiny new m4_define # and doesn't know about Autoconf macros at all.) # # So we provide this file, which has a silly filename so it's always # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until # we give up compatibility with versions before 1.7, at which point # we need to keep only those names which we still refer to. # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) lepton-eda-1.9.10/m4/geda-guile.m40000644000175000017500000000733013634703632013352 00000000000000# geda-guile.m4 -*-Autoconf-*- # serial 3 dnl Check for guile dnl Copyright (C) 2009 Dan McMahill dnl Copyright (C) 2010-2011 Peter Brett dnl Copyright (C) 2009-2016 gEDA Contributors dnl Copyright (C) 2017-2020 Lepton EDA Contributors dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA AC_DEFUN([AX_CHECK_GUILE], [ AC_PREREQ([2.60])dnl # First check for the libguile library # ------------------------------------ # Argument is the minimum guile version. For example # AX_CHECK_GUILE([1.8.0]) makes sure we have at least version 1.8.0 GUILE_MIN_VER=[$1] GUILE_MIN_MAJOR=`echo ${GUILE_MIN_VER} | sed 's;\..*;;g'` # the double brackets are to get past m4's expansion GUILE_MIN_MINOR=`echo ${GUILE_MIN_VER} | sed -e 's;[[^\.]]*\.;;' -e 's;\..*;;g'` GUILE_MIN_TEENY=`echo ${GUILE_MIN_VER} | sed -e 's;.*\.;;'` _found_pkg_config_guile=yes PKG_CHECK_MODULES(GUILE, [guile-2.2 >= $GUILE_MIN_VER], [GUILE_PKG_NAME=guile-2.2], [_found_pkg_config_guile=no]) if test "${_found_pkg_config_guile}" = "no" ; then PKG_CHECK_MODULES(GUILE, [guile-2.0 >= $GUILE_MIN_VER], [_found_pkg_config_guile=yes GUILE_PKG_NAME=guile-2.0], [_found_pkg_config_guile=no]) fi if test "${_found_pkg_config_guile}" = "no" ; then AC_MSG_ERROR([you need at least version ${GUILE_MIN_VER} of guile]) fi AC_SUBST([GUILE_PKG_NAME]) GUILE_FLAGS GUILE_PROGS GUILE_PKG([2.2 2.0]) # Check for the `guile-snarf' build tool # -------------------------------------- AC_ARG_VAR([GUILE_SNARF], [path to guile-snarf utility]) AC_CHECK_PROG([GUILE_SNARF], [guile-snarf], [guile-snarf], [no]) if test "x$GUILE_SNARF" = xno ; then AC_MSG_ERROR([The `guile-snarf' tool could not be found. Please ensure that the Guile development headers and tools are correctly installed, and rerun configure.]) fi # Check for behaviour of `scm_display_error' # ------------------------------------------ if test "X$GUILE" != "Xno"; then AC_MSG_CHECKING([whether scm_display_error accepts a stack]) if $GUILE -c \ "(exit (false-if-exception (begin (display-error (make-stack #t) (current-output-port) \"a\" \"b\" '() '()) #t)))" > /dev/null 2>&1; then AC_MSG_RESULT([yes]) AC_DEFINE([HAVE_SCM_DISPLAY_ERROR_STACK], 1, [Define to 1 if scm_display_error accepts a stack as first argument.]) else AC_MSG_RESULT([no]) fi AC_MSG_CHECKING([whether scm_display_error accepts a frame]) if $GUILE -c \ "(exit (false-if-exception (begin (display-error (stack-ref (make-stack #t) 0) (current-output-port) \"a\" \"b\" '() '()) #t)))" > /dev/null 2>&1; then AC_MSG_RESULT([yes]) AC_DEFINE([HAVE_SCM_DISPLAY_ERROR_FRAME], 1, [Define to 1 if scm_display_error expects a frame as first argument.]) else AC_MSG_RESULT([no]) fi fi ])dnl AX_CHECK_GUILE lepton-eda-1.9.10/m4/geda-stroke.m40000644000175000017500000000613613634703632013557 00000000000000# geda-stroke.m4 -*-Autoconf-*- # serial 1.0 dnl MIME & desktop icon directories, and MIME database update options dnl Copyright (C) 2009 Peter Brett dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # Check whether we should use libstroke, and if so if libraries are # available. AC_DEFUN([AX_OPTION_STROKE], [ AC_PREREQ([2.60])dnl AC_MSG_CHECKING([whether to use libstroke]) # Check what the user wants AC_ARG_WITH([libstroke], AS_HELP_STRING([--with-libstroke[[[=DIR]]]], [use libstroke (search in [[DIR]])]), [ if test "X$with_libstroke" = "Xno"; then libstroke_use=no else libstroke_use=yes if test "X$with_libstroke" != "Xyes"; then libstroke_prefix=$with_libstroke fi fi AC_MSG_RESULT([$libstroke_use]) ], [ AC_MSG_RESULT([if present]) ]) # Check if libstroke is actually available! if test "X$libstroke_use" != "Xno"; then # If a prefix to search was specified, then add the appropriate # flags. if test "X$libstroke_use" = "X"; then LIBSTROKE_LDFLAGS="-L$libstroke_prefix/lib" LIBSTROKE_CFLAGS="-I$libstroke_prefix/include" fi # Check that the library and header file are available. Save and # restore CPPFLAGS and LDFLAGS variables. save_CPPFLAGS="$CPPFLAGS" save_LDFLAS="$LDFLAGS" CPPFLAGS="$CPPFLAGS $LIBSTROKE_CFLAGS" LDFLAGS="$LDFLAGS $LIBSTROKE_LDFLAGS" HAVE_LIBSTROKE=yes AC_CHECK_LIB([stroke], [stroke_init], [], [HAVE_LIBSTROKE=no]) AC_CHECK_HEADER([stroke.h], [], [HAVE_LIBSTROKE=no CPPFLAGS="$save_CPPDFLAGS" LDFLAGS="$save_LDFLAGS" LIBSTROKE_LDFLAGS="$LIBSTROKE_LDFLAGS -lstroke"]) # If --with-libstroke was specified, then we *must* have a usable # libstroke. if test "X$libstroke_use" = "Xyes" -a "X$HAVE_LIBSTROKE" = "Xno"; then AC_MSG_ERROR([You specified that libstroke should be used, but libstroke could not be found. Ensure that all libstroke development files are installed, or configure without --with-libstroke.]) fi fi # If we don't have libstroke, clear its flags variables if test "X$HAVE_LIBSTROKE" != "Xyes"; then LIBSTROKE_LDFLAGS="" LIBSTROKE_CFLAGS="" else AC_DEFINE([HAVE_LIBSTROKE], [test "X$HAVE_LIBSTROKE" = "Xyes"], [Define to 1 if libstroke is available]) fi AC_SUBST([LIBSTROKE_CPPFLAGS]) AC_SUBST([LIBSTROKE_LDFLAGS]) ])dnl AX_OPTION_STROKE lepton-eda-1.9.10/m4/gettext.m40000644000175000017500000003513213634703641013034 00000000000000# gettext.m4 serial 63 (gettext-0.18) dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2006, 2008-2010. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The dnl default (if it is not specified or empty) is 'no-libtool'. dnl INTLSYMBOL should be 'external' for packages with no intl directory, dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library dnl $(top_builddir)/intl/libintl.a will be created. dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, dnl the value `$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled dnl and used. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 2) GNU gettext has been found in the system's C library. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 3) No internationalization, always use English msgid. dnl Catalog format: none dnl Catalog extension: none dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. dnl The use of .gmo is historical (it was needed to avoid overwriting the dnl GNU format catalogs when building on a platform with an X/Open gettext), dnl but we keep it in order not to force irrelevant filename changes on the dnl maintainers. dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT ])])])])]) ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define([gt_included_intl], ifelse([$1], [external], ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), [yes])) define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) gt_NEEDS_INIT AM_GNU_GETTEXT_NEED([$2]) AC_REQUIRE([AM_PO_SUBDIRS])dnl ifelse(gt_included_intl, yes, [ AC_REQUIRE([AM_INTL_SUBDIR])dnl ]) dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Ideally we would do this search only after the dnl if test "$USE_NLS" = "yes"; then dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT dnl the configure script would need to contain the same shell code dnl again, outside any 'if'. There are two solutions: dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not dnl documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. AC_REQUIRE([AM_NLS]) ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no ]) LIBINTL= LTLIBINTL= POSUB= dnl Add a version number to the cache macros. case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" dnl If we use NLS figure out what method if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH([included-gettext], [ --with-included-gettext use the GNU gettext library included here], nls_cv_force_use_gnu_gettext=$withval, nls_cv_force_use_gnu_gettext=no) AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then ]) dnl User does not insist on using GNU NLS library. Figure out what dnl to use. If GNU gettext is available we use this. Else we have dnl to fall back to GNU NLS library. if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], [AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings;], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], [eval "$gt_func_gnugettext_libc=yes"], [eval "$gt_func_gnugettext_libc=no"])]) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl Sometimes libintl requires libiconv, so first search for libiconv. ifelse(gt_included_intl, yes, , [ AM_ICONV_LINK ]) dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) dnl because that would add "-liconv" to LIBINTL and LTLIBINTL dnl even if libiconv doesn't exist. AC_LIB_LINKFLAGS_BODY([intl]) AC_CACHE_CHECK([for GNU gettext in libintl], [$gt_func_gnugettext_libintl], [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [eval "$gt_func_gnugettext_libintl=yes"], [eval "$gt_func_gnugettext_libintl=no"]) dnl Now see whether libintl exists and depends on libiconv. if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) fi dnl If an already present or preinstalled GNU gettext() is found, dnl use it. But if this macro is used in GNU gettext, and GNU dnl gettext is already preinstalled in libintl, we update this dnl libintl. (Cf. the install rule in intl/Makefile.in.) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else dnl Reset the values set by searching for libintl. LIBINTL= LTLIBINTL= INCINTL= fi ifelse(gt_included_intl, yes, [ if test "$gt_use_preinstalled_gnugettext" != "yes"; then dnl GNU gettext is not found in the C library. dnl Fall back on included GNU gettext library. nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi CATOBJEXT= if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions to use GNU gettext tools. CATOBJEXT=.gmo fi ]) if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Some extra flags are needed during linking. LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then AC_DEFINE([ENABLE_NLS], [1], [Define to 1 if translation of program messages to the user's native language is requested.]) else USE_NLS=no fi fi AC_MSG_CHECKING([whether to use NLS]) AC_MSG_RESULT([$USE_NLS]) if test "$USE_NLS" = "yes"; then AC_MSG_CHECKING([where the gettext function comes from]) if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi AC_MSG_RESULT([$gt_source]) fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then AC_MSG_CHECKING([how to link with libintl]) AC_MSG_RESULT([$LIBINTL]) AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) fi dnl For backward compatibility. Some packages may be using this. AC_DEFINE([HAVE_GETTEXT], [1], [Define if the GNU gettext() function is already present or preinstalled.]) AC_DEFINE([HAVE_DCGETTEXT], [1], [Define if the GNU dcgettext() function is already present or preinstalled.]) fi dnl We need to process the po/ directory. POSUB=po fi ifelse(gt_included_intl, yes, [ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL dnl to 'yes' because some of the testsuite requires it. if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi dnl Make all variables we use known to autoconf. AC_SUBST([BUILD_INCLUDED_LIBINTL]) AC_SUBST([USE_INCLUDED_LIBINTL]) AC_SUBST([CATOBJEXT]) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= nls_cv_header_libgt= dnl For backward compatibility. Some Makefiles may be using this. DATADIRNAME=share AC_SUBST([DATADIRNAME]) dnl For backward compatibility. Some Makefiles may be using this. INSTOBJEXT=.mo AC_SUBST([INSTOBJEXT]) dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat AC_SUBST([GENCAT]) dnl For backward compatibility. Some Makefiles may be using this. INTLOBJS= if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi AC_SUBST([INTLOBJS]) dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) ]) dnl For backward compatibility. Some Makefiles may be using this. INTLLIBS="$LIBINTL" AC_SUBST([INTLLIBS]) dnl Make all documented variables known to autoconf. AC_SUBST([LIBINTL]) AC_SUBST([LTLIBINTL]) AC_SUBST([POSUB]) ]) dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. m4_define([gt_NEEDS_INIT], [ m4_divert_text([DEFAULTS], [gt_needs=]) m4_define([gt_NEEDS_INIT], []) ]) dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) AC_DEFUN([AM_GNU_GETTEXT_NEED], [ m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) ]) dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) lepton-eda-1.9.10/m4/geda-groff.m40000644000175000017500000000326713634703632013355 00000000000000# geda-groff.m4 -*-Autoconf-*- # serial 1 dnl Look for GNU troff dnl Copyright (C) 2009 Peter Brett dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA AC_DEFUN([AX_PROG_GROFF], [ AC_PREREQ([2.60])dnl AC_ARG_VAR([GROFF], [Path to groff executable]) AC_CHECK_PROG([GROFF], [groff], [groff], [no]) # Some distros are annoying and package groff into a crippled # version without many of the drivers, along with a separate full # version. So explicitly check for the html driver. if test "X$GROFF" != "Xno" ; then AC_MSG_CHECKING([whether $GROFF has an html driver]) echo '.TH conftest 1 "January 1st, 1970" Version 1' > conftest.1 if LC_NUMERIC=C $GROFF -man -T html > /dev/null 2>&AS_MESSAGE_LOG_FD; then HAVE_GROFF_HTML=yes else HAVE_GROFF_HTML=no fi rm -f conftest.1 AC_MSG_RESULT([$HAVE_GROFF_HTML]) fi AM_CONDITIONAL([ENABLE_GROFF_HTML], [test "X$HAVE_GROFF_HTML" != Xno]) ])dnl AX_PROG_GROFF lepton-eda-1.9.10/version.h.in0000644000175000017500000000033213634703633013024 00000000000000/* Date part of package version string. */ /* #undef PACKAGE_DATE_VERSION */ /* Dotted part of package version string. */ /* #undef PACKAGE_DOTTED_VERSION */ /* Current git commit. */ /* #undef PACKAGE_GIT_COMMIT */ lepton-eda-1.9.10/attrib/0000755000175000017500000000000013634704562012132 500000000000000lepton-eda-1.9.10/attrib/ToDos0000644000175000017500000001003213634703632013016 00000000000000Gattrib todos. Last updated 7.26.2006 -- SDB -------------------------------------------------------------------- This is a running list of things left to be done with gattrib. Items already completed are marked with #####. * ##### Fix key_press event handling so that arrow keys work intelligently when using gtk-2.2. * Decide what to do about "pins" editing: How to save out chages? Right now "pins" are only displayed, they cannot be changed. * ##### Add "component pins" page to allow users to edit component pin attributes. This is useful to make sure that the pin attributess are correctly set for use with PCB & other layout packages. * ##### Create separate comp_attrib and net_attrib variables. * ##### Handle saving out of multi-page design so that it correctly saves individual pages back to their destination (i.e. page1.sch -> page1.sch, page2.sch -> page2.sch.) Currently smashes all pages together. * Find out why it leaves "xterm" on the command prompt when you invoke the prog with no files on the cmd line. This may be GTK bug. * Change save menus to: save project, save as, which cycles through pages and saves objects out on a page by page basis. * Incorporate a "close" item on the menu to close out the current project without quitting the whole application. * flesh out net handling functions. Need to more fully understand how nets work. Note that they must be read in differently from components -- you need to read the whole project in before handling nets because each net segment is separate, but the net itself can span many components and pages. * Add info about NETS and net attribs into NOTES. * ##### Go over OBJECT struct data in NOTES -- is (ATTRIB *attached_to) info correct? * ##### Implement sort of master lists. * Install text_entry widget below menu & above spreadsheet (like in Excel). Use this widget for text entry into cell, like in Excel. * ##### Fix problem where pages read at different times are not merged. * ##### re-write NOTES and documentation for project. * ##### Include gnumeric spreadsheet into DIST_EXTRA * make sure comments in each fcn are true * ##### Make sure all DEBUG printfs are accurate & give the correct fcn name. * Re-introduce I18N stuff where I took it out. * ##### clean out i_basic.c -- there are too many "if 0" regions in there. * ##### Change attrib update algorithm to write out both old, updated attribs as well as new ones for each component. * ##### Fix segfault when run on OpticalReceiver without valgrind or GDB. (Fix: free in wrong place was moved to correct place in gattrib.c) * Eventually re-introduce hierarchy. Important for nets. * Add in fcns dealing with nets spanning pages. * ##### Incorporate Dan's changes, including Makefile changes, warning stuff, and make sure prog doesn't segfault if no attributes are found. * ##### gattribrc should be installed in RC dir as part of "make install". * ##### Enable horizontal resizing of window. Currently can't shrink window to less than initial width. * Fix cells so that a long attrib string doesn't bleed into/overwrite adjacent cells. Maybe automatically size cell to fit text? Problem is that "file" attributes can be very long. * Per Ales, use the gtksheet stuff as a library instead of a bunch of source files. Is this necessary? No. I don't want to do this since a third- party library can change, which makes support a PITA. * User should be able to set attrib visibility. How to implement & show? * ##### Incorporate ability to add attrib columns. * Refactor code so that it makes more sense architecturally. * Fix behavior when using arrow keys to be more "MS Excel-like". Current Behavior is a PITA. * Replicate attrib visibility code from comp attributes to net and pin attributes. * Change display of attrib text in each cell depending upon attrib visibility state. Example: Invisible = light grey. Name only = red. Value only = normal. Name & value = bold face. * Make gattrib import csv. lepton-eda-1.9.10/attrib/po/0000755000175000017500000000000013634704561012547 500000000000000lepton-eda-1.9.10/attrib/po/fr.po0000644000175000017500000001605213634704441013437 00000000000000# French translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2010-02-06 22:09+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: gEDA developers \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "Éditeur d'attributs gEDA" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Manipuler les attributs des composants avec gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Manipuler les attributs des composants avec gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "Éditeur d'attributs gEDA" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/uk.po0000644000175000017500000001616313634703632013453 00000000000000# Ukrainian translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "gEDA Attribute Editor" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Керувати влаÑтивоÑÑ‚Ñми компонентів за допомогою gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Керувати влаÑтивоÑÑ‚Ñми компонентів за допомогою gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "gEDA Attribute Editor" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/pt_BR.po0000644000175000017500000001607113634703632014040 00000000000000# Brazilian Portuguese translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2010-02-06 22:10+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: gEDA developers \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "Editor de atributos gEDA" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Manipule os atributos dos componentes com o gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Manipule os atributos dos componentes com o gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "Editor de atributos gEDA" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/ru.gmo0000644000175000017500000000701613634704442013623 00000000000000Þ•!$/,èéð ÷  &/0` u€‘3ª Þ é=õ(3\KaN­:ü7? D O p{’šžµÕ¶í¤¹ ÎÙâ2û.P@*‘¼!Ñ1óŠ% ° à vã 4Z  ¤ Þ4 w ‹ ª DÇ  4 C <_ Cœ -à  !     DONE DONE
About...Add new attributeAll filesAre you sure you want to delete this attribute?Close without savingComponentsDelete attributeEnter new attribute nameEntry type must be GtkEntry subclass, using defaultExport CSVFatal errorIf you don't save, all your changes will be permanently lost.Missing symbol file found for component!NetsNo components found in design. Please check your schematic and try again! No components found in entire design! Do you have refdeses on your components?No pins found on any components! Please check your design.Open...PinsSave as...Save the changes before closing?SchematicsSchematics and symbolsSymbolsTBDUnimplemented feature!Widget must be a GtkSheet childcouldn't allocate colorProject-Id-Version: geda gattrib Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2014-03-08 20:49+0400 Last-Translator: Vladimir Zhbanov Language-Team: gEDA developers Language: ru MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) ЗÐВЕРШЕÐО ЗÐВЕРШЕÐО О программе...Добавление нового атрибутаВÑе файлыВы уверены, что хотите удалить Ñтот атрибут?Закрыть без ÑохранениÑКомпонентыУдаление атрибутаВведите новое Ð¸Ð¼Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°Ð¢Ð¸Ð¿ запиÑи должен быть подклаÑÑом GtkEntry, иÑпользуетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ по умолчаниюЭкÑпорт CSVÐ¤Ð°Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°Ð•Ñли их не Ñохранить, вÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ безвозвратно утрачены.Ðе найден Ñимвол компонента!СоединениÑÐе обнаружено компонентов в проекте. Проверьте Ñвою Ñхему и попробуйте Ñнова! Во вÑём проекте не обнаружено ни одного компонента! Ð’Ñ‹ не забыли добавить Ð´Ð»Ñ Ñвоих компонентов позиционные обозначениÑ?Ðе найдено выводов ни у одного компонента! Проверьте Ñвой проект.Открыть...ВыводыСохранить как...Сохранить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ´ закрытием?СхемыСхемы и ÑимволыСимволыне реализованоОтÑутÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ñть!Виджет должен быть дочерним Ð´Ð»Ñ GtkSheetÐе удалоÑÑŒ выделить цветlepton-eda-1.9.10/attrib/po/da.gmo0000644000175000017500000000070513634704441013556 00000000000000Þ•$,8‹9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: Launchpad Translators Language-Team: Danish Language: da MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) lepton-eda-1.9.10/attrib/po/oc.gmo0000644000175000017500000000072213634704441013572 00000000000000Þ•$,8˜9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: Launchpad Translators Language-Team: Occitan (post 1500) Language: oc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) lepton-eda-1.9.10/attrib/po/af.po0000644000175000017500000001554313634704440013421 00000000000000# Afrikaans translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: Afrikaans \n" "Language: af\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" msgid "Lepton EDA Attribute Editor" msgstr "" msgid "Manipulate component attributes with lepton-attrib" msgstr "" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, c-format msgid "Start master component attrib list creation.\n" msgstr "" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/en_GB.po0000644000175000017500000001605313634704441014003 00000000000000# English (United Kingdom) translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: English (United Kingdom) \n" "Language: en_GB\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "gEDA Attribute Editor" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Manipulate component attributes with gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Manipulate component attributes with gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "gEDA Attribute Editor" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/el.gmo0000644000175000017500000000072513634704441013574 00000000000000Þ•$,8›9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2012-09-01 18:26+0000 Last-Translator: Panos Bouklis Language-Team: Greek Language: el MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) lepton-eda-1.9.10/attrib/po/ml.gmo0000644000175000017500000000073013634704441013600 00000000000000Þ•$,8ž9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2010-02-06 22:10+0000 Last-Translator: Launchpad Translators Language-Team: gEDA developers Language: ml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) lepton-eda-1.9.10/attrib/po/ar.po0000644000175000017500000001616213634704440013433 00000000000000# Arabic translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # عبدالله شلي (Abdellah Chelli) , 2010. msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2010-02-08 18:58+0000\n" "Last-Translator: عبدالله شلي (Abdellah Chelli) \n" "Language-Team: gEDA developers \n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "محرّر السّمة ل†gEDA" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "عالج سمات المكوّن ب†gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "عالج سمات المكوّن ب†gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "محرّر السّمة ل†gEDA" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/ru.po0000644000175000017500000004537313634703632013467 00000000000000# Russian translation for gEDA gattrib # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # Copyright (c) Vladimir Zhbanov , 2011, 2014. # # This file is distributed under the same license as the gEDA gattrib package. # # Переводчикам: Ñм. Ð¿Ñ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð² liblepton/po/ru.po msgid "" msgstr "" "Project-Id-Version: geda gattrib\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2014-03-08 20:49+0400\n" "Last-Translator: Vladimir Zhbanov \n" "Language-Team: gEDA developers \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "Редактор атрибутов gEDA" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Управление атрибутами компонента Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ gattrib" #, fuzzy, c-format msgid "Could not open [%1$s]" msgstr "o_save: Ðе удалоÑÑŒ открыть «%s»\n" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, fuzzy, c-format msgid "Couldn't find file [%1$s]\n" msgstr "Ðе удалоÑÑŒ найти файл «%s»\n" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" "Тип запиÑи должен быть подклаÑÑом GtkEntry, иÑпользуетÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ по " "умолчанию" msgid "Widget must be a GtkSheet child" msgstr "Виджет должен быть дочерним Ð´Ð»Ñ GtkSheet" #, fuzzy, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" "\n" "Gattrib: редактор атрибутов проекта gEDA.\n" "ПредÑтавлÑет атрибуты Ñхемы в удобном Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ðµ Ñлектронной " "таблицы.\n" "\n" "ИÑпользование: %s [КЛЮЧИ] имÑ_файла1 ... имÑ_файлаN\n" " -q, --quiet Без вывода информации\n" " -v, --verbose Подробный вывод\n" " -h, --help Ð”Ð°Ð½Ð½Ð°Ñ Ñправка\n" "\n" " FAQ:\n" " * Что означает цвет текÑта в Ñчейках?\n" " Цвет текÑта отражает видимоÑть атрибута.\n" " Чёрный = видимый атрибут, отображаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ значение.\n" " Серый = Ðевидимый атрибут.\n" " КраÑный = Видимый атрибут, отображаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ имÑ.\n" " Синий = Видимый атрибут, отображаетÑÑ Ð¸ имÑ, и значение.\n" "\n" " * Что означает точка («.») в конце позиционных обозначений некоторых " "компонентов?\n" " Точка помещаетÑÑ Ð¿Ð¾Ñле позиционных обозначений многоÑекционных " "компонентов.\n" " ЕÑли компонент Ñодержит Ñекции, то различные Ñекции отображаютÑÑ\n" " в различных Ñтроках Ñ Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ Ñекции поÑле точки. Пример: C101.2.\n" "\n" "Copyright (C) 2003 -- 2006 Stuart D. Brorson. E-mail: sdb (AT) cloud9 (DOT) " "net.\n" "\n" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, fuzzy, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" "Ð’ÐИМÐÐИЕ: Обнаружен не рекомендуемый к иÑпользованию атрибут «uref=%s», " "иÑпользуйте вмеÑто него «refdes».\n" #, c-format msgid "" "\n" "DONE\n" msgstr "" "\n" "ЗÐВЕРШЕÐО\n" #, c-format msgid " DONE\n" msgstr " ЗÐВЕРШЕÐО\n" #, fuzzy, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" "s_object_remove_attrib_in_object: не удалоÑÑŒ найти атрибут «%s» Ð´Ð»Ñ " "компонента. Выход . . .\n" #, fuzzy, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" "s_object_attrib_add_attrib_in_object: попытка добавить атрибут к объекту, не " "ÑвлÑющимÑÑ Ð½Ð¸ ÑоÑтавным, ни Ñоединением!\n" #, fuzzy, c-format msgid "Start master component list creation.\n" msgstr "- ПриÑтупаем к Ñозданию оÑновного ÑпиÑка компонентов.\n" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "- ПриÑтупаем к Ñозданию оÑновного ÑпиÑка атрибутов компонентов.\n" #, fuzzy, c-format msgid "Start master pin list creation.\n" msgstr "- ПриÑтупаем к Ñозданию оÑновного ÑпиÑка выводов.\n" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, fuzzy, c-format msgid "Start master pin attrib list creation.\n" msgstr "- ПриÑтупаем к Ñозданию оÑновного ÑпиÑка атрибутов выводов.\n" #, fuzzy, c-format msgid "Tried to add to a NULL list.\n" msgstr "" "s_string_list_add_item: попытка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ðº ÑпиÑку Ñо значением NULL.\n" #, fuzzy, c-format msgid "Tried to remove item from empty list.\n" msgstr "" "s_string_list_delete_item: попытка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñлемента из пуÑтого ÑпиÑка\n" #, fuzzy, c-format msgid "Couldn't delete item %1$s\n" msgstr "Ðе удалоÑÑŒ найти файл «%s»\n" #, fuzzy, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" "s_table_create_attrib_pair: не удалоÑÑŒ найти Ð¸Ð¼Ñ Ñтроки в ÑпиÑке Ñтрок!\n" #, fuzzy, c-format msgid "Start internal component TABLE creation\n" msgstr "- ПриÑтупаем к Ñозданию внутренней таблицы компонентов\n" #, fuzzy, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" "s_table_add_toplevel_pin_items_to_pin_table: не удалоÑÑŒ найти либо Ñтроку, " "либо Ñтолбец в ÑоответÑтвующем ÑпиÑке!\n" #, fuzzy, c-format msgid "Start internal pin TABLE creation\n" msgstr "- ПриÑтупаем к Ñозданию внутренней таблицы выводов\n" msgid "_cancel" msgstr "" #, fuzzy, c-format msgid "Can't get attrib name\n" msgstr "Введите новое Ð¸Ð¼Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°" #, fuzzy, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" "s_toplevel_get_pin_attribs_in_sheet: не удалоÑÑŒ найти нужную Ñтроку " "«refdes»:«pinnumber» в оÑновном ÑпиÑке!\n" #, fuzzy, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" "s_toplevel_get_pin_attribs_in_sheet: отÑутÑтвует атрибут «refdes» или " "«pinnumber» у объекта!\n" #, fuzzy, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" "s_toplevel_get_pin_attribs_in_sheet: не удалоÑÑŒ найти нужную Ñтроку " "«refdes»:«pinnumber» в оÑновном ÑпиÑке!\n" msgid "Add new attribute" msgstr "Добавление нового атрибута" msgid "Enter new attribute name" msgstr "Введите новое Ð¸Ð¼Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°" msgid "Are you sure you want to delete this attribute?" msgstr "Ð’Ñ‹ уверены, что хотите удалить Ñтот атрибут?" msgid "Delete attribute" msgstr "Удаление атрибута" #, fuzzy msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" "ОтÑутÑтвуют файлы Ñимволов одного или неÑкольких компонентов!\n" "\n" "Это могло ÑлучитьÑÑ Ð¸Ð·-за того, что программе gattrib не удалоÑÑŒ найти " "библиотеки ваших компонентов, причиной чего могут быть неправильные " "наÑтройки в одном из файлов gafrc или gattribrc.\n" "\n" "Выберите «Выход» Ð´Ð»Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð° из gattrib и уÑÑ‚Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ñ‹ или \n" "«Вперёд» Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ gattrib.\n" msgid "Missing symbol file found for component!" msgstr "Ðе найден Ñимвол компонента!" msgid "Save the changes before closing?" msgstr "Сохранить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ´ закрытием?" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "ЕÑли их не Ñохранить, вÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ безвозвратно утрачены." msgid "Close without saving" msgstr "Закрыть без ÑохранениÑ" #, fuzzy msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" "Ð’Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð°Ñ Ð²Ð°Ð¼Ð¸ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ ÐµÑ‰Ñ‘ не реализована.\n" "\n" "gattrib — программа Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом, и длÑ\n" "Ð¼ÐµÐ½Ñ Ñто хобби. Работа вÑÑ‘ ещё продолжаетÑÑ.\n" "ЕÑли вы хотите помочь (может быть реализовать\n" "данную функцию), так и Ñделайте! Патчи Ð´Ð»Ñ gattrib\n" "отправлÑйте Стюарту БрорÑону (Stuart Brorson): sdb@cloud9.net.\n" "\n" "Иначе проÑто ждите — Ñ Ñкоро напишу Ñту функцию!\n" msgid "Unimplemented feature!" msgstr "ОтÑутÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾Ñть!" msgid "Fatal error" msgstr "Ð¤Ð°Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°" #, fuzzy, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" "gEDA : GPL Electronic Design Automation\n" "\n" "Это gattrib -- редактор атрибутов gEDA\n" "\n" "ВерÑÐ¸Ñ gattrib: %s%s.%s\n" "\n" "Программа напиÑана Стюартом БрорÑоном (Stuart Brorson) (sdb@cloud9.net)\n" "Ñ Ð¸Ñпользованием изрÑдных куÑков кода из gschem, gnetlist, \n" "и gtkextra, а также при поддержке ÑообщеÑтва gEDA." msgid "About..." msgstr "О программе..." msgid "Export CSV" msgstr "ЭкÑпорт CSV" msgid "Schematics" msgstr "Схемы" msgid "Symbols" msgstr "Символы" msgid "Schematics and symbols" msgstr "Схемы и Ñимволы" msgid "All files" msgstr "Ð’Ñе файлы" #, fuzzy, c-format msgid "Loading file [%1$s]" msgstr "Загрузка файла «%s»\n" #, fuzzy, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "Ðе удалоÑÑŒ загрузить Ñхему «%s»\n" msgid "Open..." msgstr "Открыть..." msgid "Save as..." msgstr "Сохранить как..." #, fuzzy, c-format msgid "Saved As [%1$s]" msgstr "Файл Ñохранён как «%s»\n" #, fuzzy, c-format msgid "Could NOT save [%1$s]" msgstr "Ðе удалоÑÑŒ Ñохранить «%s»\n" msgid "Components" msgstr "Компоненты" msgid "Nets" msgstr "СоединениÑ" msgid "Pins" msgstr "Выводы" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" "Ðе обнаружено компонентов в проекте. Проверьте Ñвою Ñхему и попробуйте " "Ñнова!\n" msgid "TBD" msgstr "не реализовано" msgid "couldn't allocate color" msgstr "Ðе удалоÑÑŒ выделить цвет" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "gattrib — редактор атрибутов gEDA" #, fuzzy, c-format msgid "Error loading menu: %1$s\n" msgstr "" "Ошибка загрузки %s:\n" "%s\n" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" "Во вÑём проекте не обнаружено ни одного компонента!\n" "Ð’Ñ‹ не забыли добавить Ð´Ð»Ñ Ñвоих компонентов позиционные обозначениÑ?" #, fuzzy msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" "Во вÑём проекте не обнаружено ни одного атрибута компонента, который можно " "отредактировать!\n" "Прикрепите Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ неÑколько атрибутов, прежде чем запуÑкать gattrib." msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" "Ðе найдено выводов ни у одного компонента!\n" "Проверьте Ñвой проект." #, fuzzy #~ msgid "" #~ "In s_object_replace_attrib_in_object, we have failed to find the attrib " #~ "%1$s on the component. Exiting . . .\n" #~ msgstr "" #~ "s_object_replace_attrib_in_object: не удалоÑÑŒ найти атрибут «%s» Ð´Ð»Ñ " #~ "компонента. Выход . . .\n" #~ msgid "" #~ "In s_sheet_data_add_master_pin_list_items, found component pin with no " #~ "pinnumber.\n" #~ msgstr "" #~ "s_sheet_data_add_master_pin_list_items: обнаружен вывод компонента без " #~ "атрибута pinnumber.\n" #~ msgid "In s_string_list_delete_item, couldn't delete item %s\n" #~ msgstr "s_string_list_delete_item: не удалоÑÑŒ удалить Ñлемент %s\n" #~ msgid "" #~ "In s_table_add_toplevel_comp_items_to_comp_table, we didn't find either " #~ "row or col in the lists!\n" #~ msgstr "" #~ "s_table_add_toplevel_comp_items_to_comp_table: не удалоÑÑŒ найти либо " #~ "Ñтроку, либо Ñтолбец в ÑоответÑтвующем ÑпиÑке!\n" #~ msgid "In s_toplevel_delete_attrib_col, can't get attrib name\n" #~ msgstr "s_toplevel_delete_attrib_col: не удалоÑÑŒ получить Ð¸Ð¼Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°\n" #~ msgid "" #~ "In s_toplevel_get_component_attribs_in_sheet, we didn't find the refdes " #~ "in the master list!\n" #~ msgstr "" #~ "s_toplevel_get_component_attribs_in_sheet: не найдено значение «refdes» в " #~ "оÑновном ÑпиÑке!\n" #~ msgid "" #~ "In s_toplevel_get_component_attribs_in_sheet, count != i! " #~ "Exiting . . . .\n" #~ msgstr "" #~ "s_toplevel_get_component_attribs_in_sheet: count != i! Выход . . .\n" #~ msgid "" #~ "In s_toplevel_get_pin_attribs_in_sheet, count != i! Exiting . . . .\n" #~ msgstr "s_toplevel_get_pin_attribs_in_sheet: count != i! Выход . . .\n" #, fuzzy #~ msgid "" #~ "gEDA/gattrib version %1$s%2$s.%3$s\n" #~ "gEDA/gattrib comes with ABSOLUTELY NO WARRANTY; see COPYING for more " #~ "details.\n" #~ "This is free software, and you are welcome to redistribute it under " #~ "certain\n" #~ "conditions; please see the COPYING file for more details.\n" #~ msgstr "" #~ "gEDA/gattrib version верÑии %s%s.%s\n" #~ "gEDA/gattrib поÑтавлÑетÑÑ Ð‘Ð•Ð— КÐКИХ БЫ ТО ÐИ БЫЛО ГÐРÐÐТИЙ; подробноÑти " #~ "Ñм. в файле COPYING.\n" #~ "Это Ñвободное программное обеÑпечение, и его можно раÑпроÑтранÑть при " #~ "определённых\n" #~ "\n" #~ msgid "Increase number of rename_pair sets in s_net.c\n" #~ msgstr "Следует увеличить количеÑтво наборов rename_pair в s_net.c\n" #~ msgid "%d) Source: _%s_" #~ msgstr "%d) ИÑточник: _%s_" #~ msgid " -> Dest: _%s_\n" #~ msgstr " -> Ðазначение: _%s_\n" #~ msgid "" #~ "WARNING: Trying to rename something twice:\n" #~ "\t%s and %s\n" #~ "are both a src and dest name\n" #~ "This warning is okay if you have multiple levels of hierarchy!\n" #~ msgstr "" #~ "ПРЕДУПРЕЖДЕÐИЕ: Попытка двойного переименованиÑ:\n" #~ "\t%s и %s\n" #~ "оба ÑвлÑÑŽÑ‚ÑÑ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ иÑточника и назначениÑ\n" #~ "Это предупреждение неÑущеÑтвенно, еÑли имеетÑÑ Ð½ÐµÑколько уровней " #~ "иерархии!\n" #~ msgid "Increase number of rename_pairs (MAX_RENAME) in s_rename.c\n" #~ msgstr "Увеличьте количеÑтво пар Ð¿ÐµÑ€ÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ (MAX_RENAME) в s_rename.c\n" lepton-eda-1.9.10/attrib/po/ml.po0000644000175000017500000001664513634703632013451 00000000000000# Malayalam translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2010-02-06 22:10+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: gEDA developers \n" "Language: ml\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "gEDA à´¯àµà´Ÿàµ† à´•à´®àµà´ªàµ‹à´£à´¨àµâ€à´Ÿàµ സവിശേഷത à´Žà´¡à´¿à´±àµà´±à´°àµâ€" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "gattrib ഉപയോഗിചàµà´šàµ à´•à´®àµà´ªàµ‹à´£à´¨àµà´Ÿà´¿à´¨àµà´±àµ† സവിശേഷതകളàµâ€ മാറàµà´±à´‚ വരàµà´¤àµà´¤àµà´•" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "gattrib ഉപയോഗിചàµà´šàµ à´•à´®àµà´ªàµ‹à´£à´¨àµà´Ÿà´¿à´¨àµà´±àµ† സവിശേഷതകളàµâ€ മാറàµà´±à´‚ വരàµà´¤àµà´¤àµà´•" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "gEDA à´¯àµà´Ÿàµ† à´•à´®àµà´ªàµ‹à´£à´¨àµâ€à´Ÿàµ സവിശേഷത à´Žà´¡à´¿à´±àµà´±à´°àµâ€" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/en@quot.header0000644000175000017500000000226313634703644015260 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # lepton-eda-1.9.10/attrib/po/fr.gmo0000644000175000017500000000073013634704441013577 00000000000000Þ•$,8ž9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2010-02-06 22:09+0000 Last-Translator: Launchpad Translators Language-Team: gEDA developers Language: fr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) lepton-eda-1.9.10/attrib/po/bg.gmo0000644000175000017500000000073013634704440013557 00000000000000Þ•$,8ž9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2010-02-06 22:09+0000 Last-Translator: Launchpad Translators Language-Team: gEDA developers Language: bg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) lepton-eda-1.9.10/attrib/po/zh_CN.po0000644000175000017500000001602313634703632014030 00000000000000# Chinese (Simplified) translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2010-02-06 22:10+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: gEDA developers \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "gEDA 属性编辑器" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "使用 gattrib æ“作组件的属性" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "使用 gattrib æ“作组件的属性" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "gEDA 属性编辑器" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/boldquot.sed0000644000175000017500000000033113634703643015012 00000000000000s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g s/“/“/g s/â€/â€/g s/‘/‘/g s/’/’/g lepton-eda-1.9.10/attrib/po/it.gmo0000644000175000017500000000073013634704441013604 00000000000000Þ•$,8ž9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2010-02-06 22:09+0000 Last-Translator: Launchpad Translators Language-Team: gEDA developers Language: it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) lepton-eda-1.9.10/attrib/po/de.gmo0000644000175000017500000000074113634704441013562 00000000000000Þ•$,8§9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2010-01-29 16:46+0000 Last-Translator: Werner Hoch Language-Team: gEDA developers Language: de MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) lepton-eda-1.9.10/attrib/po/zh_TW.po0000644000175000017500000001601213634703632014060 00000000000000# Chinese (Traditional) translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2010-02-06 22:10+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: gEDA developers \n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "gEDA 屬性編輯器" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "使用gattrib修改元件屬性" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "使用gattrib修改元件屬性" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "gEDA 屬性編輯器" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/hu.po0000644000175000017500000001610513634704441013443 00000000000000# Hungarian translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2010-02-06 22:10+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: gEDA developers \n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "gEDA attribútumszerkesztÅ‘" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Alkatrészattribútumok szerkesztése gattrib segítségével" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Alkatrészattribútumok szerkesztése gattrib segítségével" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "gEDA attribútumszerkesztÅ‘" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/Makefile.in.in0000644000175000017500000003744213634703642015152 00000000000000# Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # # Origin: gettext-0.18 GETTEXT_MACRO_VERSION = 0.18 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = @localedir@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ GMSGFMT_ = @GMSGFMT@ GMSGFMT_no = @GMSGFMT@ GMSGFMT_yes = @GMSGFMT_015@ GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) MSGFMT_ = @MSGFMT@ MSGFMT_no = @MSGFMT@ MSGFMT_yes = @MSGFMT_015@ MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) XGETTEXT_ = @XGETTEXT@ XGETTEXT_no = @XGETTEXT@ XGETTEXT_yes = @XGETTEXT_015@ XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: check-macro-version all-@USE_NLS@ all-yes: stamp-po all-no: # Ensure that the gettext macros and this Makefile.in.in are in sync. check-macro-version: @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ exit 1; \ } # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. # In this case, stamp-po is a nop (i.e. a phony target). # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, # "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent # invocations of "make" will do nothing. This timestamp would not be necessary # if updating the $(CATALOGS) would always touch them; however, the rule for # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ echo "touch stamp-po" && \ echo timestamp > stamp-poT && \ mv stamp-poT stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ package_gnu='GNU '; \ else \ package_gnu=''; \ fi; \ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ *) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --package-name="$${package_gnu}@PACKAGE@" \ --package-version='@VERSION@' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ esac test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. # Only "make $(DOMAIN).pot-update" or "make dist" will force an update. $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) \ && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ *) \ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ esac; \ }; \ else \ $(MAKE) $${lang}.po-create; \ fi install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ for file in Makevars; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f stamp-poT rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ for i in 0 1 2 3 4 5 6 7 8 9; do \ if test -f $(srcdir)/ChangeLog.$$i; then \ dists="$$dists ChangeLog.$$i"; \ fi; \ done; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir) || exit 1; \ else \ cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for creating PO files. .nop.po-create: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ exit 1 # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ *) \ $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ esac; \ }; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: # Recreate Makefile by invoking config.status. Explicitly invoke the shell, # because execution permission bits may not work on the current file system. # Use @SHELL@, which is the shell determined by autoconf for the use by its # scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient. Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && @SHELL@ ./config.status $(subdir)/$@.in po-directories force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: lepton-eda-1.9.10/attrib/po/pt.gmo0000644000175000017500000000073013634704441013613 00000000000000Þ•$,8ž9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2010-02-06 22:10+0000 Last-Translator: Launchpad Translators Language-Team: gEDA developers Language: pt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) lepton-eda-1.9.10/attrib/po/quot.sed0000644000175000017500000000023113634703644014151 00000000000000s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g lepton-eda-1.9.10/attrib/po/el.po0000644000175000017500000001624613634704441013435 00000000000000# Greek translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2012-09-01 18:26+0000\n" "Last-Translator: Panos Bouklis \n" "Language-Team: Greek \n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "ΕπεξεÏγαστής γνωÏισμάτων gEDA" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Έλεγχος των γνωÏισμάτων των στοιχείων με το gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Έλεγχος των γνωÏισμάτων των στοιχείων με το gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "ΕπεξεÏγαστής γνωÏισμάτων gEDA" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/gl.gmo0000644000175000017500000000070013634704441013567 00000000000000Þ•$,8†9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2012-03-21 00:09+0000 Last-Translator: ghas Language-Team: Galician Language: gl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) lepton-eda-1.9.10/attrib/po/bg.po0000644000175000017500000001620313634704440013415 00000000000000# Bulgarian translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2010-02-06 22:09+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: gEDA developers \n" "Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "gEDA Едитор на атрибути" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Манипулирай атрибутите на компонента Ñ gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Манипулирай атрибутите на компонента Ñ gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "gEDA Едитор на атрибути" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/pt_BR.gmo0000644000175000017500000000073313634704442014202 00000000000000Þ•$,8¡9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2010-02-06 22:10+0000 Last-Translator: Launchpad Translators Language-Team: gEDA developers Language: pt_BR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) lepton-eda-1.9.10/attrib/po/es.po0000644000175000017500000001607413634704441013443 00000000000000# Spanish/Spain translation of gattrib # Copyright (C) 2007-2008 Carlos Nieves Ónega # This file is distributed under the same license as the gattrib package. # Carlos Nieves Ónega , 2007. # # # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2010-01-29 16:49+0000\n" "Last-Translator: Carlos Nieves Ónega \n" "Language-Team: gEDA developers \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "Editor de Propiedades de gEDA" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Manejar propiedades de componentes con gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Manejar propiedades de componentes con gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "Editor de Propiedades de gEDA" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/fa.po0000644000175000017500000001600313634704441013412 00000000000000# Persian translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: Persian \n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "gEDA Attribute Editor" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Manipulate component attributes with gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Manipulate component attributes with gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "gEDA Attribute Editor" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/hu.gmo0000644000175000017500000000073013634704441013604 00000000000000Þ•$,8ž9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2010-02-06 22:10+0000 Last-Translator: Launchpad Translators Language-Team: gEDA developers Language: hu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) lepton-eda-1.9.10/attrib/po/zh_TW.gmo0000644000175000017500000000073313634704442014227 00000000000000Þ•$,8¡9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2010-02-06 22:10+0000 Last-Translator: Launchpad Translators Language-Team: gEDA developers Language: zh_TW MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) lepton-eda-1.9.10/attrib/po/fa.gmo0000644000175000017500000000070613634704441013561 00000000000000Þ•$,8Œ9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: Launchpad Translators Language-Team: Persian Language: fa MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) lepton-eda-1.9.10/attrib/po/tr.po0000644000175000017500000001604313634703632013456 00000000000000# Turkish translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2010-02-06 22:09+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: gEDA developers \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "gEDA Özellik Düzenleyicisi" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "BileÅŸen özelliklerini gattrib ile düzenle" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "BileÅŸen özelliklerini gattrib ile düzenle" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "gEDA Özellik Düzenleyicisi" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/ca.gmo0000644000175000017500000000070613634704441013556 00000000000000Þ•$,8Œ9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: Launchpad Translators Language-Team: Catalan Language: ca MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) lepton-eda-1.9.10/attrib/po/oc.po0000644000175000017500000001605113634703632013431 00000000000000# Occitan (post 1500) translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: Occitan (post 1500) \n" "Language: oc\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "Editor d'atributs gEDA" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Manipular los atributs dels components amb gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Manipular los atributs dels components amb gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "Editor d'atributs gEDA" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/sl.gmo0000644000175000017500000000074013634704442013610 00000000000000Þ•$,8¦9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2012-04-09 11:22+0000 Last-Translator: Miha GaÅ¡perÅ¡iÄ Language-Team: Slovenian Language: sl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) lepton-eda-1.9.10/attrib/po/nl.po0000644000175000017500000003645513634703632013453 00000000000000# Dutch translation for the geda-gattrib package. # Copyright (C) 2003-2008 Stuart D. Brorson and the respective original authors (which are listed on the respective files). # This file is distributed under the same license as the geda-gattrib package. # Bert Timmerman , 2007, 2008, 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2014-08-31 20:31+0100\n" "Last-Translator: Bert Timmerman \n" "Language-Team: gEDA developers \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Country: NETHERLANDS\n" "X-Poedit-Language: Dutch\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "gEDA Attribuut Editor" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Manipuleer componenten attributen met gattrib" #, fuzzy, c-format msgid "Could not open [%1$s]" msgstr "o_save: Kan [%s] niet openen\n" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, fuzzy, c-format msgid "Couldn't find file [%1$s]\n" msgstr "Kan bestand [%s] niet vinden\n" msgid "Entry type must be GtkEntry subclass, using default" msgstr "Invoer type moet een GtkEntry subklasse zijn, gebruik de standaard" msgid "Widget must be a GtkSheet child" msgstr "Widget moet een kind van GtkSheet zijn" #, fuzzy, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" "\n" "Gattrib: De gEDA project attribuut editor.\n" "Presenteert schema attributen in een eenvoudige te bewerken spreadsheet " "formaat.\n" "\n" "Gebruik: %s [OPTIES] bestandnaam1 ... bestandnaamN\n" " -q, --quiet Stille modus\n" " -v, --verbose Verbale modus aan\n" " -h, --help Dit help menu\n" "\n" " Veel gestelde vragen:\n" " * Wat betekenen de kleuren van de cellen ?\n" " De celkleuren geven de zichtbaarheid van het attribuut aan.\n" " Zwart = Zichtbaar attribuut, alleen waarde getoond.\n" " Grijs = Onzichtbaar attribuut.\n" " Rood = Zichtbaar attribuut, alleen naam getoond.\n" " Blauw = Zichtbaar attribuut, zowel naam als waarde getoond.\n" "\n" " * Wat betekend de punt (\".\") aan het einde van een component refdes ?\n" " De punt is geplaatst na de refdes van meerdelige componenten.\n" " Als slots aanwezig zijn in een component, dan verschijnen er " "verschillende slots\n" " in verschillende rijen met het slotnummer na de punt. Voorbeeld: " "C101.2.\n" "\n" "Copyright (C) 2003 -- 2006 Stuart D. Brorson. E-mail: sdb (AT) cloud9 (DOT) " "net.\n" "\n" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, fuzzy, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" "WAARSCHUWING: uref=%s gevonden, uref= is vervallen, gebruik alstublieft " "refdes=\n" #, c-format msgid "" "\n" "DONE\n" msgstr "" "\n" "GEDAAN\n" #, c-format msgid " DONE\n" msgstr " GEDAAN\n" #, fuzzy, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" "In s_object_remove_attrib_in_object, is gefaald om attrib %s in de component " "te vinden. Afsluiten . . .\n" #, fuzzy, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" "In s_object_attrib_add_attrib_in_object, geprobeerd om attrib toe te voegen " "aan een non-complex of niet-net!\n" #, fuzzy, c-format msgid "Start master component list creation.\n" msgstr "- Start het aanmaken van de hoofdcomponentenlijst.\n" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "- Start het aanmaken van de hoofdattributenlijst.\n" #, fuzzy, c-format msgid "Start master pin list creation.\n" msgstr "- Start het aanmaken van de hoofdpennenlijst.\n" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, fuzzy, c-format msgid "Start master pin attrib list creation.\n" msgstr "- Start het aanmaken van de hoofdpennenattributenlijst.\n" #, fuzzy, c-format msgid "Tried to add to a NULL list.\n" msgstr "" "In s_string_list_add_item, is geprobeerd toe te voegen aan een NULL lijst.\n" #, fuzzy, c-format msgid "Tried to remove item from empty list.\n" msgstr "" "In s_string_list_delete_item, is geprobeerd om een item te verwijderen van " "een lege lijst\n" #, fuzzy, c-format msgid "Couldn't delete item %1$s\n" msgstr "Kan bestand [%s] niet vinden\n" #, fuzzy, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" "In s_table_create_attrib_pair, is de naam van de regel niet gevonden in de " "lijst met regels!\n" #, fuzzy, c-format msgid "Start internal component TABLE creation\n" msgstr "- Start het aanmaken van de interne componenten TABEL.\n" #, fuzzy, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" "In s_table_add_toplevel_pin_items_to_pin_table, is noch regel noch kolom " "gevonden in de lijsten!\n" #, fuzzy, c-format msgid "Start internal pin TABLE creation\n" msgstr "- Start het aanmaken van de interne pennen TABEL.\n" msgid "_cancel" msgstr "_afbreken" #, fuzzy, c-format msgid "Can't get attrib name\n" msgstr "Voer nieuwe attribuutnaam toe" #, fuzzy, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" "In s_toplevel_get_pin_attribs_in_sheet, is geen refdes:pin gevonden in de " "hoofdlijst!\n" #, fuzzy, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" "In s_toplevel_get_pin_attribs_in_sheet, ofwel een refdes of een pennummer " "van het object ontbreken!\n" #, fuzzy, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" "In s_toplevel_get_pin_attribs_in_sheet, is geen refdes:pin gevonden in de " "hoofdlijst!\n" msgid "Add new attribute" msgstr "Voeg nieuwe attribuut toe" msgid "Enter new attribute name" msgstr "Voer nieuwe attribuutnaam toe" msgid "Are you sure you want to delete this attribute?" msgstr "Bent U zeker dat U deze attribuut wil verwijderen?" msgid "Delete attribute" msgstr "Verwijder attribuut" #, fuzzy msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" "Een of meer componenten gevonden met ontbrekende symbool bestanden!\n" "\n" "Dit is waarschijnlijk gebeurd omdat gattrib Uw componentenbibliotheek niet " "kon vinden, misschien omdat gafrc of gattribrc bestanden verkeerd " "geconfigureerd zijn.\n" "\n" "Kies \"Quit\" om gattrib te verlaten en het probleem op te lossen, of\n" "\"Forward\" om door te gaan met werken met gattrib.\n" msgid "Missing symbol file found for component!" msgstr "Ontbrekende symbool voor component gevonden!" msgid "Save the changes before closing?" msgstr "Sla de wijzigingen op voor het afsluiten?" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "Als je niet opslaat, zullen alle veranderingen verloren gaan." msgid "Close without saving" msgstr "Afsluiten zonder opslaan" #, fuzzy msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" "Sorry - U heeft een optie gekozen die nog niet\n" "geïmplementeerd is.\n" "\n" "Gattrib is een open-bron programma waaraan\n" "ik werk als hobby. Het is nog steeds een werk met vooruitgang.\n" "Als U wenst bij te dragen (misschien door deze optie te\n" "implementeren), doet U dat dan alstublieft! Zend verbeteringen voor gattrib\n" "naar Stuart Brorson: sdb@cloud9.net.\n" "\n" "Of anders, hou je vast -- implementeer ik deze opties snel!\n" msgid "Unimplemented feature!" msgstr "Niet geïmplementeerde functie" msgid "Fatal error" msgstr "Fatale fout" #, fuzzy, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" "gEDA : GPL Electronic Design Automation\n" "\n" "Dit is gattrib -- gEDA's attribute editor\n" "\n" "Gattrib versie: %s%s.%s\n" "\n" "Gattrib is geschreven door: Stuart Brorson (sdb@cloud9.net)\n" "met genereuze programmacodebijdragen van gschem, gnetlist, \n" "en gtkextra, en ook ondersteuning van de gEDA gemeenschap." msgid "About..." msgstr "Over..." msgid "Export CSV" msgstr "Exporteer CSV" msgid "Schematics" msgstr "Schema's" msgid "Symbols" msgstr "Symbolen" msgid "Schematics and symbols" msgstr "Schema's en symbolen" msgid "All files" msgstr "Alle bestanden" #, fuzzy, c-format msgid "Loading file [%1$s]" msgstr "Laad bestand [%s]\n" #, fuzzy, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "Kon schema [%s] niet laden\n" msgid "Open..." msgstr "Open..." msgid "Save as..." msgstr "Opslaan als..." #, fuzzy, c-format msgid "Saved As [%1$s]" msgstr "Opgeslagen Als [%s]\n" #, fuzzy, c-format msgid "Could NOT save [%1$s]" msgstr "Kan [%s] NIET opslaan\n" msgid "Components" msgstr "Componenten" msgid "Nets" msgstr "Netten" msgid "Pins" msgstr "Pennen" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" "Geen componenten gevonden in het ontwerp. Controleer alstublieft uw schema " "en probeer opnieuw!\n" msgid "TBD" msgstr "NTD" msgid "couldn't allocate color" msgstr "kan geen kleur toewijzen" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "gattrib -- gEDA attribuut editor" #, fuzzy, c-format msgid "Error loading menu: %1$s\n" msgstr "" "Fout tijdens laden %s:\n" "%s\n" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" "Geen componenten gevonden in het gehele ontwerp!\n" "Heeft U wel refdeses aan Uw componenten?" #, fuzzy msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" "Geen configureerbare component attributen gevonden in het gehele ontwerp!\n" "Bevestig alstublieft ten minste enige attributen voor gattrib te starten. " msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" "Geen pennen gevonden op geen van de componenten!\n" "Controleer alstublieft uw ontwerp." #, fuzzy #~ msgid "" #~ "In s_object_replace_attrib_in_object, we have failed to find the attrib " #~ "%1$s on the component. Exiting . . .\n" #~ msgstr "" #~ "In s_object_replace_attrib_in_object, is gefaald om attrib %s te vinden " #~ "in de component. Afsluiten . . .\n" #~ msgid "" #~ "In s_sheet_data_add_master_pin_list_items, found component pin with no " #~ "pinnumber.\n" #~ msgstr "" #~ "In s_sheet_data_add_master_pin_list_items, is een component pen zonder " #~ "pennummer gevonden.\n" #~ msgid "In s_string_list_delete_item, couldn't delete item %s\n" #~ msgstr "In s_string_list_delete_item, kan item %s niet verwijderen\n" #~ msgid "" #~ "In s_table_add_toplevel_comp_items_to_comp_table, we didn't find either " #~ "row or col in the lists!\n" #~ msgstr "" #~ "In s_table_add_toplevel_comp_items_to_comp_table, is geen regel of kolom " #~ "gevonden in de lijsten!\n" #~ msgid "In s_toplevel_delete_attrib_col, can't get attrib name\n" #~ msgstr "In s_toplevel_delete_attrib_col, kan geen attrib naam krijgen\n" #~ msgid "" #~ "In s_toplevel_get_component_attribs_in_sheet, we didn't find the refdes " #~ "in the master list!\n" #~ msgstr "" #~ "In s_toplevel_get_component_attribs_in_sheet, geen refdes gevonden in de " #~ "hoofdlijst!\n" #~ msgid "" #~ "In s_toplevel_get_component_attribs_in_sheet, count != i! " #~ "Exiting . . . .\n" #~ msgstr "" #~ "In s_toplevel_get_component_attribs_in_sheet, count != i! " #~ "Afsluiten . . . .\n" #~ msgid "" #~ "In s_toplevel_get_pin_attribs_in_sheet, count != i! Exiting . . . .\n" #~ msgstr "" #~ "In s_toplevel_get_pin_attribs_in_sheet, count != i! Afsluiten . . . .\n" #, fuzzy #~ msgid "" #~ "gEDA/gattrib version %1$s%2$s.%3$s\n" #~ "gEDA/gattrib comes with ABSOLUTELY NO WARRANTY; see COPYING for more " #~ "details.\n" #~ "This is free software, and you are welcome to redistribute it under " #~ "certain\n" #~ "conditions; please see the COPYING file for more details.\n" #~ msgstr "" #~ "gEDA/gattrib versie %s%s.%s\n" #~ "gEDA/gattrib komt met ABSOLUUT GEEN GARANTIE; zie ook COPYING voor meer " #~ "details.\n" #~ "Dit is vrije software, en U bent welkom om deze te her-distribueren onder " #~ "bepaalde\n" #~ "condities; zie alstublieft het COPYING bestand voor meer details.\n" #~ "\n" #~ msgid "Increase number of rename_pair sets in s_net.c\n" #~ msgstr "Verhoog het aantal rename_pair sets in s_net.c\n" #~ msgid "%d) Source: _%s_" #~ msgstr "%d) Bron: _%s_" #~ msgid " -> Dest: _%s_\n" #~ msgstr " -> Best: _%s_\n" #~ msgid "" #~ "WARNING: Trying to rename something twice:\n" #~ "\t%s and %s\n" #~ "are both a src and dest name\n" #~ "This warning is okay if you have multiple levels of hierarchy!\n" #~ msgstr "" #~ "WAARSCHUWING: U probeert iets twee keer te hernoemen:\n" #~ "\t%s en %s\n" #~ "zijn beide een bron en bestemming naam\n" #~ "Deze waarschuwing is in orde als U meervoudige hiërarchie niveaus heeft!\n" #~ msgid "Increase number of rename_pairs (MAX_RENAME) in s_rename.c\n" #~ msgstr "Verhoog het aantal rename_pairs (MAX_RENAME) in s_rename.c\n" #~ msgid "In gattrib_quit, calling gtk_main_quit()\n" #~ msgstr "In gattrib_quit, ga gtk_main_quit() aanroepen\n" lepton-eda-1.9.10/attrib/po/remove-potcdate.sin0000644000175000017500000000066013634703644016303 00000000000000# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } lepton-eda-1.9.10/attrib/po/sv.gmo0000644000175000017500000000070613634704442013624 00000000000000Þ•$,8Œ9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: Launchpad Translators Language-Team: Swedish Language: sv MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) lepton-eda-1.9.10/attrib/po/bs.gmo0000644000175000017500000000070613634704440013576 00000000000000Þ•$,8Œ9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: Launchpad Translators Language-Team: Bosnian Language: bs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) lepton-eda-1.9.10/attrib/po/LINGUAS0000644000175000017500000000015113634703632013507 00000000000000af ar bg bs ca da de el en_GB es fa fr gl hu it ja ml nb nl oc pl pt pt_BR ru sl sr sv tr uk zh_CN zh_TW lepton-eda-1.9.10/attrib/po/pt.po0000644000175000017500000001604413634703632013455 00000000000000# Portuguese translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2010-02-06 22:10+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: gEDA developers \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "Editor de Atributos gEDA" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Manipular atributos dos componentes com gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Manipular atributos dos componentes com gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "Editor de Atributos gEDA" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/es.gmo0000644000175000017500000000074113634704441013601 00000000000000Þ•$,8§9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2010-01-29 16:49+0000 Last-Translator: Carlos Nieves Ónega Language-Team: gEDA developers Language: es MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) lepton-eda-1.9.10/attrib/po/sl.po0000644000175000017500000001605513634703632013452 00000000000000# Slovenian translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2012-04-09 11:22+0000\n" "Last-Translator: Miha GaÅ¡perÅ¡iÄ \n" "Language-Team: Slovenian \n" "Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "gEDA urejevalnik atributov" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Upravljajte atribute sestavnih delov z gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Upravljajte atribute sestavnih delov z gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "gEDA urejevalnik atributov" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/sr.po0000644000175000017500000001617313634703632013461 00000000000000# Serbian translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: Serbian \n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "гЕДР— уређивач оÑобина" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Управљајте оÑобинама компоненти гоÑобинком" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Управљајте оÑобинама компоненти гоÑобинком" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "гЕДР— уређивач оÑобина" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/POTFILES.in0000644000175000017500000000102213634703632014235 00000000000000attrib/data/lepton-attrib.desktop.in attrib/src/f_export.c attrib/src/lepton-attrib.c attrib/src/globals.c attrib/src/gtkextra-marshal.c attrib/src/gtksheet_2_2.c attrib/src/i_basic.c attrib/src/i_vars.c attrib/src/listsort.c attrib/src/parsecmd.c attrib/src/s_attrib.c attrib/src/s_misc.c attrib/src/s_object.c attrib/src/s_sheet_data.c attrib/src/s_string_list.c attrib/src/s_table.c attrib/src/s_toplevel.c attrib/src/s_visibility.c attrib/src/x_dialog.c attrib/src/x_fileselect.c attrib/src/x_gtksheet.c attrib/src/x_window.c lepton-eda-1.9.10/attrib/po/pl.po0000644000175000017500000001603013634703632013440 00000000000000# Polish translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2010-02-06 22:09+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: gEDA developers \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "gEDA Edytor atrybutów" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Edytuj atrybuty elementów za pomocÄ… gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Edytuj atrybuty elementów za pomocÄ… gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "gEDA Edytor atrybutów" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/uk.gmo0000644000175000017500000000071013634704442013606 00000000000000Þ•$,8Ž9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: Launchpad Translators Language-Team: Ukrainian Language: uk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) lepton-eda-1.9.10/attrib/po/zh_CN.gmo0000644000175000017500000000073313634704442014175 00000000000000Þ•$,8¡9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2010-02-06 22:10+0000 Last-Translator: Launchpad Translators Language-Team: gEDA developers Language: zh_CN MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) lepton-eda-1.9.10/attrib/po/ChangeLog0000644000175000017500000000000013634703632014225 00000000000000lepton-eda-1.9.10/attrib/po/lepton-attrib.pot0000644000175000017500000002211013634703632015771 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Lepton Developers # This file is distributed under the same license as the lepton-eda package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: lepton-eda 1.9.10\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\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" #: attrib/data/lepton-attrib.desktop.in:3 msgid "Lepton EDA Attribute Editor" msgstr "" #: attrib/data/lepton-attrib.desktop.in:4 msgid "Manipulate component attributes with lepton-attrib" msgstr "" #: attrib/src/f_export.c:84 #, c-format msgid "Could not open [%1$s]" msgstr "" #: attrib/src/lepton-attrib.c:181 #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #: attrib/src/lepton-attrib.c:214 #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" #: attrib/src/gtksheet_2_2.c:6302 msgid "Entry type must be GtkEntry subclass, using default" msgstr "" #: attrib/src/gtksheet_2_2.c:8499 msgid "Widget must be a GtkSheet child" msgstr "" #: attrib/src/parsecmd.c:72 #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #: attrib/src/parsecmd.c:172 #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #: attrib/src/s_attrib.c:102 #, c-format msgid "WARNING: " msgstr "" #: attrib/src/s_attrib.c:104 #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #: attrib/src/s_misc.c:81 #, c-format msgid "" "\n" "DONE\n" msgstr "" #: attrib/src/s_misc.c:83 #, c-format msgid " DONE\n" msgstr "" #: attrib/src/s_object.c:219 attrib/src/s_object.c:280 #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #: attrib/src/s_object.c:334 #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #: attrib/src/s_sheet_data.c:117 #, c-format msgid "Start master component list creation.\n" msgstr "" #: attrib/src/s_sheet_data.c:188 #, c-format msgid "Start master component attrib list creation.\n" msgstr "" #: attrib/src/s_sheet_data.c:304 #, c-format msgid "Start master pin list creation.\n" msgstr "" #: attrib/src/s_sheet_data.c:342 #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #: attrib/src/s_sheet_data.c:399 #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #: attrib/src/s_string_list.c:125 #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #: attrib/src/s_string_list.c:192 #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #: attrib/src/s_string_list.c:263 #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #: attrib/src/s_table.c:244 #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #: attrib/src/s_table.c:287 #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #: attrib/src/s_table.c:348 attrib/src/s_table.c:565 #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #: attrib/src/s_table.c:503 #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" #: attrib/src/s_toplevel.c:188 msgid "_cancel" msgstr "" #: attrib/src/s_toplevel.c:328 #, c-format msgid "Can't get attrib name\n" msgstr "" #: attrib/src/s_toplevel.c:572 #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #: attrib/src/s_toplevel.c:911 #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #: attrib/src/s_toplevel.c:920 #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" #: attrib/src/x_dialog.c:75 msgid "Add new attribute" msgstr "" #: attrib/src/x_dialog.c:84 msgid "Enter new attribute name" msgstr "" #: attrib/src/x_dialog.c:148 msgid "Are you sure you want to delete this attribute?" msgstr "" #: attrib/src/x_dialog.c:150 msgid "Delete attribute" msgstr "" #: attrib/src/x_dialog.c:175 msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" #: attrib/src/x_dialog.c:188 msgid "Missing symbol file found for component!" msgstr "" #: attrib/src/x_dialog.c:215 msgid "Save the changes before closing?" msgstr "" #: attrib/src/x_dialog.c:216 msgid "" msgstr "" #: attrib/src/x_dialog.c:216 msgid "" msgstr "" #: attrib/src/x_dialog.c:218 msgid "If you don't save, all your changes will be permanently lost." msgstr "" #: attrib/src/x_dialog.c:228 msgid "Close without saving" msgstr "" #: attrib/src/x_dialog.c:275 msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" #: attrib/src/x_dialog.c:283 msgid "Unimplemented feature!" msgstr "" #: attrib/src/x_dialog.c:310 msgid "Fatal error" msgstr "" #: attrib/src/x_dialog.c:325 #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" #: attrib/src/x_dialog.c:336 msgid "About..." msgstr "" #: attrib/src/x_dialog.c:352 msgid "Export CSV" msgstr "" #: attrib/src/x_fileselect.c:87 msgid "Schematics" msgstr "" #: attrib/src/x_fileselect.c:92 msgid "Symbols" msgstr "" #: attrib/src/x_fileselect.c:97 msgid "Schematics and symbols" msgstr "" #: attrib/src/x_fileselect.c:103 msgid "All files" msgstr "" #: attrib/src/x_fileselect.c:134 #, c-format msgid "Loading file [%1$s]" msgstr "" #: attrib/src/x_fileselect.c:140 #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" #: attrib/src/x_fileselect.c:230 msgid "Open..." msgstr "" #: attrib/src/x_fileselect.c:275 msgid "Save as..." msgstr "" #: attrib/src/x_fileselect.c:304 #, c-format msgid "Saved As [%1$s]" msgstr "" #: attrib/src/x_fileselect.c:314 #, c-format msgid "Could NOT save [%1$s]" msgstr "" #: attrib/src/x_gtksheet.c:71 attrib/src/x_gtksheet.c:80 msgid "Components" msgstr "" #: attrib/src/x_gtksheet.c:72 attrib/src/x_gtksheet.c:89 #: attrib/src/x_gtksheet.c:92 msgid "Nets" msgstr "" #: attrib/src/x_gtksheet.c:73 attrib/src/x_gtksheet.c:105 #: attrib/src/x_gtksheet.c:108 msgid "Pins" msgstr "" #: attrib/src/x_gtksheet.c:82 msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" #: attrib/src/x_gtksheet.c:93 attrib/src/x_gtksheet.c:95 msgid "TBD" msgstr "" #: attrib/src/x_gtksheet.c:356 msgid "couldn't allocate color" msgstr "" #: attrib/src/x_window.c:95 msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "" #: attrib/src/x_window.c:339 #, c-format msgid "Error loading menu: %1$s\n" msgstr "" #: attrib/src/x_window.c:375 msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" #: attrib/src/x_window.c:380 msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" #: attrib/src/x_window.c:385 msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/stamp-po0000644000175000017500000000001213634704442014141 00000000000000timestamp lepton-eda-1.9.10/attrib/po/de.po0000644000175000017500000001600413634704441013415 00000000000000# German translation for gattrib # Copyright (C) 2007-2008 Werner Hoch # This file is distributed under the same license as the gattrib package. # # Werner Hoch , 2007. msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2010-01-29 16:46+0000\n" "Last-Translator: Werner Hoch \n" "Language-Team: gEDA developers \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "gEDA Attributeditor" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Editieren von Bauteilattributen mit gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Editieren von Bauteilattributen mit gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "gEDA Attributeditor" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/insert-header.sin0000644000175000017500000000124013634703644015732 00000000000000# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } lepton-eda-1.9.10/attrib/po/Makevars0000644000175000017500000000361213634703632014163 00000000000000# Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = lepton-attrib # These two variables depend on the location of this directory. subdir = attrib/po top_builddir = ../.. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --from-code=UTF-8 MSGMERGE_OPTIONS = --no-location PO_DEPENDS_ON_POT = no # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = Lepton Developers # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = https://github.com/lepton-eda/lepton-eda/issues # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = lepton-eda-1.9.10/attrib/po/Rules-quot0000644000175000017500000000340013634703643014467 00000000000000# Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-create: $(MAKE) en@quot.po-update en@boldquot.po-create: $(MAKE) en@boldquot.po-update en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header lepton-eda-1.9.10/attrib/po/af.gmo0000644000175000017500000000071013634704440013553 00000000000000Þ•$,8Ž9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: Launchpad Translators Language-Team: Afrikaans Language: af MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) lepton-eda-1.9.10/attrib/po/ca.po0000644000175000017500000001601313634704440013407 00000000000000# Catalan translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "Editor d'atributs gEDA" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Manipuleu atributs de components amb el gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Manipuleu atributs de components amb el gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "Editor d'atributs gEDA" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/gl.po0000644000175000017500000001601213634704441013426 00000000000000# Galician translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2012-03-21 00:09+0000\n" "Last-Translator: ghas \n" "Language-Team: Galician \n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "Editor de atributos gEDA" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Manipular atributos de compoñentes con gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Manipular atributos de compoñentes con gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "Editor de atributos gEDA" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/tr.gmo0000644000175000017500000000073013634704442013616 00000000000000Þ•$,8ž9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2010-02-06 22:09+0000 Last-Translator: Launchpad Translators Language-Team: gEDA developers Language: tr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) lepton-eda-1.9.10/attrib/po/nb.gmo0000644000175000017500000000071713634704441013574 00000000000000Þ•$,8•9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: Launchpad Translators Language-Team: Norwegian Bokmal Language: nb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) lepton-eda-1.9.10/attrib/po/en@boldquot.header0000644000175000017500000000247113634703643016121 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # lepton-eda-1.9.10/attrib/po/ja.gmo0000644000175000017500000000070713634704441013566 00000000000000Þ•$,89Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: Launchpad Translators Language-Team: Japanese Language: ja MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) lepton-eda-1.9.10/attrib/po/en_GB.gmo0000644000175000017500000000073513634704441014147 00000000000000Þ•$,8£9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: Launchpad Translators Language-Team: English (United Kingdom) Language: en_GB MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) lepton-eda-1.9.10/attrib/po/pl.gmo0000644000175000017500000000073013634704441013603 00000000000000Þ•$,8ž9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2010-02-06 22:09+0000 Last-Translator: Launchpad Translators Language-Team: gEDA developers Language: pl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) lepton-eda-1.9.10/attrib/po/nl.gmo0000644000175000017500000000561113634704441013604 00000000000000Þ•",/<øù $ 6/@p …¡3º î ù=(ClKqN½: GO T _ €‹¢ª®Ååíéïø  72Fy ’ž²BÐ  ! =- ,k ˜ _Ÿ Yÿ SY ­ µ ¼ )Ë õ þ    &? f p  "!     DONE DONE About...Add new attributeAll filesAre you sure you want to delete this attribute?Close without savingComponentsDelete attributeEnter new attribute nameEntry type must be GtkEntry subclass, using defaultExport CSVFatal errorIf you don't save, all your changes will be permanently lost.Missing symbol file found for component!NetsNo components found in design. Please check your schematic and try again! No components found in entire design! Do you have refdeses on your components?No pins found on any components! Please check your design.Open...PinsSave as...Save the changes before closing?SchematicsSchematics and symbolsSymbolsTBDUnimplemented feature!Widget must be a GtkSheet child_cancelcouldn't allocate colorProject-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2014-08-31 20:31+0100 Last-Translator: Bert Timmerman Language-Team: gEDA developers Language: nl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) X-Poedit-Country: NETHERLANDS X-Poedit-Language: Dutch GEDAAN GEDAAN Over...Voeg nieuwe attribuut toeAlle bestandenBent U zeker dat U deze attribuut wil verwijderen?Afsluiten zonder opslaanComponentenVerwijder attribuutVoer nieuwe attribuutnaam toeInvoer type moet een GtkEntry subklasse zijn, gebruik de standaardExporteer CSVFatale foutAls je niet opslaat, zullen alle veranderingen verloren gaan.Ontbrekende symbool voor component gevonden!NettenGeen componenten gevonden in het ontwerp. Controleer alstublieft uw schema en probeer opnieuw! Geen componenten gevonden in het gehele ontwerp! Heeft U wel refdeses aan Uw componenten?Geen pennen gevonden op geen van de componenten! Controleer alstublieft uw ontwerp.Open...PennenOpslaan als...Sla de wijzigingen op voor het afsluiten?Schema'sSchema's en symbolenSymbolenNTDNiet geïmplementeerde functieWidget moet een kind van GtkSheet zijn_afbrekenkan geen kleur toewijzenlepton-eda-1.9.10/attrib/po/nb.po0000644000175000017500000001572713634703632013440 00000000000000# Norwegian Bokmal translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: Norwegian Bokmal \n" "Language: nb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" msgid "Lepton EDA Attribute Editor" msgstr "" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Manipuler komponent attributter med gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Manipuler komponent attributter med gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/ar.gmo0000644000175000017500000000076413634704440013600 00000000000000Þ•$,8º9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2010-02-08 18:58+0000 Last-Translator: عبدالله شلي (Abdellah Chelli) Language-Team: gEDA developers Language: ar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2010-02-14 12:56+0000 X-Generator: Launchpad (build Unknown) lepton-eda-1.9.10/attrib/po/ja.po0000644000175000017500000001554113634703632013425 00000000000000# Japanese translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" msgid "Lepton EDA Attribute Editor" msgstr "" msgid "Manipulate component attributes with lepton-attrib" msgstr "" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, c-format msgid "Start master component attrib list creation.\n" msgstr "" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/sr.gmo0000644000175000017500000000070613634704442013620 00000000000000Þ•$,8Œ9Project-Id-Version: geda Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues PO-Revision-Date: 2012-01-27 14:17+0000 Last-Translator: Launchpad Translators Language-Team: Serbian Language: sr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Launchpad-Export-Date: 2012-11-14 16:52+0000 X-Generator: Launchpad (build 16265) lepton-eda-1.9.10/attrib/po/bs.po0000644000175000017500000001602313634704440013431 00000000000000# Bosnian translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: Bosnian \n" "Language: bs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "gEDA ureÄ‘ivaÄ atributa" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Upravljajte atributima komponenti pomoću gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Upravljajte atributima komponenti pomoću gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "gEDA ureÄ‘ivaÄ atributa" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/it.po0000644000175000017500000001603713634703632013450 00000000000000# Italian translation for geda # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2010-02-06 22:09+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: gEDA developers \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-02-14 12:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "gEDA Editor Attributi" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Manipola gli attributi dei componenti con gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Manipola gli attributi dei componenti con gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "gEDA Editor Attributi" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/da.po0000644000175000017500000001567513634704441013426 00000000000000# Danish translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: Danish \n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" msgid "Lepton EDA Attribute Editor" msgstr "" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Ændre komponent attributter med gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Ændre komponent attributter med gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/po/sv.po0000644000175000017500000001577713634703632013476 00000000000000# Swedish translation for geda # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the geda package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: geda\n" "Report-Msgid-Bugs-To: https://github.com/lepton-eda/lepton-eda/issues\n" "POT-Creation-Date: 2020-03-19 12:10+0300\n" "PO-Revision-Date: 2012-01-27 14:17+0000\n" "Last-Translator: Launchpad Translators\n" "Language-Team: Swedish \n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2012-11-14 16:52+0000\n" "X-Generator: Launchpad (build 16265)\n" #, fuzzy msgid "Lepton EDA Attribute Editor" msgstr "gEDA-attributredigerare" #, fuzzy msgid "Manipulate component attributes with lepton-attrib" msgstr "Manipulera komponentattribut med gattrib" #, c-format msgid "Could not open [%1$s]" msgstr "" #, c-format msgid "Lepton EDA/lepton-attrib version %1$s%2$s.%3$s git: %4$.7s" msgstr "" #, c-format msgid "Couldn't find file [%1$s]\n" msgstr "" msgid "Entry type must be GtkEntry subclass, using default" msgstr "" msgid "Widget must be a GtkSheet child" msgstr "" #, c-format msgid "" "Usage: %1$s [OPTIONS] filename1 ... filenameN\n" "\n" "lepton-attrib: Lepton EDA attribute editor.\n" "Presents schematic attributes in easy-to-edit spreadsheet format.\n" "\n" "Options:\n" " -q, --quiet Quiet mode\n" " -v, --verbose Verbose mode on\n" " -V, --version Show version information\n" " -h, --help This help menu\n" "\n" " FAQ:\n" " * What do the colors of the cell text mean?\n" " The cell colors indicate the visibility of the attribute.\n" " Black = Visible attribute, value displayed only.\n" " Grey = Invisible attribute.\n" " Red = Visible attribute, name displayed only.\n" " Blue = Visible attribute, both name and value displayed.\n" "\n" " * What does the period (\".\") at the end of some component refdeses " "mean?\n" " The period is placed after the refdeses of slotted components.\n" " If slots are present on the component, then the different slots appear\n" " in different rows with the slot number after the period. Example: " "C101.2.\n" "\n" "Copyright (C) 2003-2006 Stuart D. Brorson.\n" "Copyright (C) 2007-2016 gEDA Contributors.\n" "Copyright (C) 2017-2020 Lepton EDA Contributors.\n" "\n" "Report bugs at <%2$s>\n" "Lepton EDA homepage: <%3$s>\n" msgstr "" #, c-format msgid "" "\n" "Run `lepton-attrib --help' for more information.\n" msgstr "" #, c-format msgid "WARNING: " msgstr "" #, c-format msgid "Found uref=%1$s, uref= is deprecated, please use refdes=\n" msgstr "" #, c-format msgid "" "\n" "DONE\n" msgstr "" #, c-format msgid " DONE\n" msgstr "" #, c-format msgid "Failed to find the attrib %1$s on the component.\n" msgstr "" #, c-format msgid "Trying to add attrib to non-component or non-net!\n" msgstr "" #, c-format msgid "Start master component list creation.\n" msgstr "" #, fuzzy, c-format msgid "Start master component attrib list creation.\n" msgstr "Manipulera komponentattribut med gattrib" #, c-format msgid "Start master pin list creation.\n" msgstr "" #, c-format msgid "Found component pin with no pinnumber: refdes = %1$s\n" msgstr "" #, c-format msgid "Start master pin attrib list creation.\n" msgstr "" #, c-format msgid "Tried to add to a NULL list.\n" msgstr "" #, c-format msgid "Tried to remove item from empty list.\n" msgstr "" #, c-format msgid "Couldn't delete item %1$s\n" msgstr "" #, c-format msgid "We didn't find the row name in the row list!\n" msgstr "" #, c-format msgid "Start internal component TABLE creation\n" msgstr "" #, c-format msgid "We didn't find either row or col in the lists!\n" msgstr "" #, c-format msgid "Start internal pin TABLE creation\n" msgstr "" msgid "_cancel" msgstr "" #, c-format msgid "Can't get attrib name\n" msgstr "" #, c-format msgid "We didn't find the refdes in the master list.\n" msgstr "" #, c-format msgid "Either refdes or pinnumber of object missing.\n" msgstr "" #, c-format msgid "We didn't find the refdes:pin in the master list.\n" msgstr "" msgid "Add new attribute" msgstr "" msgid "Enter new attribute name" msgstr "" msgid "Are you sure you want to delete this attribute?" msgstr "" msgid "Delete attribute" msgstr "" msgid "" "One or more components have been found with missing symbol files!\n" "\n" "This probably happened because lepton-attrib couldn't find your component " "libraries, perhaps because your gafrc files are misconfigured.\n" "\n" "Choose \"Quit\" to leave lepton-attrib and fix the problem, or\n" "\"Forward\" to continue working with lepton-attrib.\n" msgstr "" msgid "Missing symbol file found for component!" msgstr "" msgid "Save the changes before closing?" msgstr "" msgid "" msgstr "" msgid "" msgstr "" msgid "If you don't save, all your changes will be permanently lost." msgstr "" msgid "Close without saving" msgstr "" msgid "" "Sorry -- you have chosen a feature which has not been\n" "implemented yet.\n" "\n" "lepton-attrib is an open-source program which\n" "I work on as a hobby. It is still a work in progress.\n" "If you wish to contribute (perhaps by implementing this\n" "feature), please do so! Please send patches to lepton-attrib\n" "to Stuart Brorson: sdb@cloud9.net.\n" "\n" "Otherwise, just hang tight -- I'll implement this feature soon!\n" msgstr "" msgid "Unimplemented feature!" msgstr "" msgid "Fatal error" msgstr "" #, c-format msgid "" "Lepton Electronic Design Automation\n" "\n" "lepton-attrib - Lepton EDA attribute editor\n" "\n" "lepton-attrib version: %1$s%2$s.%3$s\n" "\n" "lepton-attrib is written by: Stuart Brorson (sdb@cloud9.net)\n" "with generous helpings of code from gschem, gnetlist, \n" "and gtkextra, as well as support from the gEDA community." msgstr "" msgid "About..." msgstr "" msgid "Export CSV" msgstr "" msgid "Schematics" msgstr "" msgid "Symbols" msgstr "" msgid "Schematics and symbols" msgstr "" msgid "All files" msgstr "" #, c-format msgid "Loading file [%1$s]" msgstr "" #, c-format msgid "Couldn't load schematic [%1$s]\n" msgstr "" msgid "Open..." msgstr "" msgid "Save as..." msgstr "" #, c-format msgid "Saved As [%1$s]" msgstr "" #, c-format msgid "Could NOT save [%1$s]" msgstr "" msgid "Components" msgstr "" msgid "Nets" msgstr "" msgid "Pins" msgstr "" msgid "" "No components found in design. Please check your schematic and try again!\n" msgstr "" msgid "TBD" msgstr "" msgid "couldn't allocate color" msgstr "" #, fuzzy msgid "lepton-attrib - Lepton EDA attribute editor" msgstr "gEDA-attributredigerare" #, c-format msgid "Error loading menu: %1$s\n" msgstr "" msgid "" "No components found in entire design!\n" "Do you have refdeses on your components?" msgstr "" msgid "" "No configurable component attributes found in entire design!\n" "Please attach at least some attributes before running lepton-attrib." msgstr "" msgid "" "No pins found on any components!\n" "Please check your design." msgstr "" lepton-eda-1.9.10/attrib/docs/0000755000175000017500000000000013634704562013062 500000000000000lepton-eda-1.9.10/attrib/docs/lepton-attrib.html0000644000175000017500000000614213634704514016454 00000000000000 lepton-attrib

Google Summer of Code 2009

The gEDA Project has (not yet!!!) been accepted into the Google's Summer of Code 2009 program! Therefore, this page is a work in progress, and will be publically announced if and when the gEDA Project does get accepted into GSoC 2009.

The gEDA project is excited to have this opportunity again (third year for gEDA in GSoc!) and thanks Google for investing in and organizing the GSoC program. This wiki page will develop as we plan our GSoC 2009 activities.

Suggested Projects

You are welcome to either suggest a new project idea, or select one from our list of suggested projects.

What we ask from Students

2009 is the third year in which the gEDA Project has participated in Google's Summer of Code program. Through our experience, we have learned a couple of things about running a successful program. Most importantly, keep in mind that Google Summer of Code is meant to be a full time summer job. We don't want applicants who work a different job during the day and then try to work on GSoC at night. It's not fair to us since you won't be productive, it's not fair to Google since they're paying you for full-time work, and it's not good for you since you'll soon exhaust yourself and won't enjoy the GSoC experience!

Here are the things we ask of our students to help make the GSoC experience a success for everybody.

Archived project info

Mentors and Administrators

Here is a list of mentors and administrators for the gEDA Project's GSoC in 2009. Please feel free to contact any of us with any questions you may have.

Mentors
  • DJ Delorie (dj (AT) delorie (DOT) com) - PCB
  • Ben Jackson (ben (AT) ben (DOT) com - PCB
  • Al Davis (ad151 (AT) freeelectron (DOT) net) - gnucap
  • Steve Tell (tell (AT) telltronics (DOT) org) - gwave
  • Peter Brett (peter (AT) peter-b (DOT) co (DOT) uk) - gEDA/gaf
  • Peter Clifton (pcjc2 (AT) cam (DOT) ac (DOT) uk) - gEDA/gaf
  • Stuart Brorson (sdb (AT) cloud9 (DOT) net) - gerbv, gattrib
  • Julian Lamb (thepurlieu (AT) gmail (DOT) com) - gerbv
  • Steve Williams (steve (AT) icarus (DOT) com) - Icarus Verilog
  • Cary R. (cygcary (AT) yahoo (DOT) com - Icarus Verilog
  • Tony Bybell (bybell (AT) nc (DOT) rr (DOT) com - GTKWave
Administrators
  • Stuart Brorson (sdb (AT) cloud9 (DOT) net) - Primary GSoC admin
  • Ales Hvezda (ahvezda (AT) moria (DOT) seul (DOT) org) - Back-up GSoC admin